From a7c6ea1f432ec8b576d3c5b59f84e295fe73658a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jun 2024 03:32:41 +0000 Subject: [PATCH] Bump modernc.org/sqlite from 1.29.10 to 1.30.0 Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.29.10 to 1.30.0. - [Commits](https://gitlab.com/cznic/sqlite/compare/v1.29.10...v1.30.0) --- updated-dependencies: - dependency-name: modernc.org/sqlite dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 4 +- go.sum | 16 +- vendor/modernc.org/libc/AUTHORS | 1 + vendor/modernc.org/libc/CONTRIBUTORS | 1 + vendor/modernc.org/libc/builtin.go | 4 + vendor/modernc.org/libc/ccgo_linux_amd64.go | 1399 +- vendor/modernc.org/libc/ccgo_linux_loong64.go | 1403 +- vendor/modernc.org/libc/libc.go | 122 +- vendor/modernc.org/libc/libc_darwin.go | 10 +- vendor/modernc.org/libc/libc_musl.go | 85 +- vendor/modernc.org/libc/pthread_all.go | 11 + vendor/modernc.org/libc/stdatomic.go | 710 + vendor/modernc.org/sqlite/doc.go | 32 +- .../sqlite/lib/sqlite_darwin_amd64.go | 22799 ++++++++------- .../sqlite/lib/sqlite_darwin_arm64.go | 22799 ++++++++------- .../sqlite/lib/sqlite_freebsd_amd64.go | 22711 ++++++++------- .../sqlite/lib/sqlite_freebsd_arm64.go | 22711 ++++++++------- .../sqlite/lib/sqlite_linux_386.go | 22813 ++++++++------- .../sqlite/lib/sqlite_linux_amd64.go | 22714 ++++++++------- .../sqlite/lib/sqlite_linux_arm.go | 22833 +++++++++------- .../sqlite/lib/sqlite_linux_arm64.go | 22813 ++++++++------- .../sqlite/lib/sqlite_linux_loong64.go | 22714 ++++++++------- .../sqlite/lib/sqlite_linux_ppc64le.go | 22813 ++++++++------- .../sqlite/lib/sqlite_linux_riscv64.go | 22813 ++++++++------- .../sqlite/lib/sqlite_linux_s390x.go | 22813 ++++++++------- .../modernc.org/sqlite/lib/sqlite_windows.go | 22811 ++++++++------- vendor/modules.txt | 4 +- 27 files changed, 162185 insertions(+), 137774 deletions(-) create mode 100644 vendor/modernc.org/libc/stdatomic.go diff --git a/go.mod b/go.mod index 6a2f53bd0f..dc9884902a 100644 --- a/go.mod +++ b/go.mod @@ -63,7 +63,7 @@ require ( gorm.io/driver/sqlite v1.5.5 gorm.io/gorm v1.25.10 gvisor.dev/gvisor v0.0.0-20240306221502-ee1e1f6070e3 - modernc.org/sqlite v1.29.10 + modernc.org/sqlite v1.30.0 tailscale.com v1.66.4 ) @@ -188,7 +188,7 @@ require ( gopkg.in/jcmturner/rpc.v1 v1.1.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 // indirect - modernc.org/libc v1.49.3 // indirect + modernc.org/libc v1.50.9 // indirect modernc.org/mathutil v1.6.0 // indirect modernc.org/memory v1.8.0 // indirect modernc.org/strutil v1.2.0 // indirect diff --git a/go.sum b/go.sum index 96775c18ca..52925ce5c6 100644 --- a/go.sum +++ b/go.sum @@ -593,18 +593,18 @@ honnef.co/go/tools v0.4.6 h1:oFEHCKeID7to/3autwsWfnuv69j3NsfcXbvJKuIcep8= honnef.co/go/tools v0.4.6/go.mod h1:+rnGS1THNh8zMwnd2oVOTL9QF6vmfyG6ZXBULae2uc0= howett.net/plist v1.0.0 h1:7CrbWYbPPO/PyNy38b2EB/+gYbjCe2DXBxgtOOZbSQM= howett.net/plist v1.0.0/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g= -modernc.org/cc/v4 v4.20.0 h1:45Or8mQfbUqJOG9WaxvlFYOAQO0lQ5RvqBcFCXngjxk= -modernc.org/cc/v4 v4.20.0/go.mod h1:HM7VJTZbUCR3rV8EYBi9wxnJ0ZBRiGE5OeGXNA0IsLQ= -modernc.org/ccgo/v4 v4.16.0 h1:ofwORa6vx2FMm0916/CkZjpFPSR70VwTjUCe2Eg5BnA= -modernc.org/ccgo/v4 v4.16.0/go.mod h1:dkNyWIjFrVIZ68DTo36vHK+6/ShBn4ysU61So6PIqCI= +modernc.org/cc/v4 v4.21.2 h1:dycHFB/jDc3IyacKipCNSDrjIC0Lm1hyoWOZTRR20Lk= +modernc.org/cc/v4 v4.21.2/go.mod h1:HM7VJTZbUCR3rV8EYBi9wxnJ0ZBRiGE5OeGXNA0IsLQ= +modernc.org/ccgo/v4 v4.17.8 h1:yyWBf2ipA0Y9GGz/MmCmi3EFpKgeS7ICrAFes+suEbs= +modernc.org/ccgo/v4 v4.17.8/go.mod h1:buJnJ6Fn0tyAdP/dqePbrrvLyr6qslFfTbFrCuaYvtA= modernc.org/fileutil v1.3.0 h1:gQ5SIzK3H9kdfai/5x41oQiKValumqNTDXMvKo62HvE= modernc.org/fileutil v1.3.0/go.mod h1:XatxS8fZi3pS8/hKG2GH/ArUogfxjpEKs3Ku3aK4JyQ= modernc.org/gc/v2 v2.4.1 h1:9cNzOqPyMJBvrUipmynX0ZohMhcxPtMccYgGOJdOiBw= modernc.org/gc/v2 v2.4.1/go.mod h1:wzN5dK1AzVGoH6XOzc3YZ+ey/jPgYHLuVckd62P0GYU= modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 h1:5D53IMaUuA5InSeMu9eJtlQXS2NxAhyWQvkKEgXZhHI= modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6/go.mod h1:Qz0X07sNOR1jWYCrJMEnbW/X55x206Q7Vt4mz6/wHp4= -modernc.org/libc v1.49.3 h1:j2MRCRdwJI2ls/sGbeSk0t2bypOG/uvPZUsGQFDulqg= -modernc.org/libc v1.49.3/go.mod h1:yMZuGkn7pXbKfoT/M35gFJOAEdSKdxL0q64sF7KqCDo= +modernc.org/libc v1.50.9 h1:hIWf1uz55lorXQhfoEoezdUHjxzuO6ceshET/yWjSjk= +modernc.org/libc v1.50.9/go.mod h1:15P6ublJ9FJR8YQCGy8DeQ2Uwur7iW9Hserr/T3OFZE= modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4= modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo= modernc.org/memory v1.8.0 h1:IqGTL6eFMaDZZhEWwcREgeMXYwmW83LYW8cROZYkg+E= @@ -613,8 +613,8 @@ modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4= modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/sortutil v1.2.0 h1:jQiD3PfS2REGJNzNCMMaLSp/wdMNieTbKX920Cqdgqc= modernc.org/sortutil v1.2.0/go.mod h1:TKU2s7kJMf1AE84OoiGppNHJwvB753OYfNl2WRb++Ss= -modernc.org/sqlite v1.29.10 h1:3u93dz83myFnMilBGCOLbr+HjklS6+5rJLx4q86RDAg= -modernc.org/sqlite v1.29.10/go.mod h1:ItX2a1OVGgNsFh6Dv60JQvGfJfTPHPVpV6DF59akYOA= +modernc.org/sqlite v1.30.0 h1:8YhPUs/HTnlEgErn/jSYQTwHN/ex8CjHHjg+K9iG7LM= +modernc.org/sqlite v1.30.0/go.mod h1:cgkTARJ9ugeXSNaLBPK3CqbOe7Ec7ZhWPoMFGldEYEw= modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA= modernc.org/strutil v1.2.0/go.mod h1:/mdcBmfOibveCTBxUl5B5l6W+TTH1FXPLHZE6bTosX0= modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= diff --git a/vendor/modernc.org/libc/AUTHORS b/vendor/modernc.org/libc/AUTHORS index cd92166178..3de9d992d6 100644 --- a/vendor/modernc.org/libc/AUTHORS +++ b/vendor/modernc.org/libc/AUTHORS @@ -10,6 +10,7 @@ Dan Kortschak Dan Peterson +Fabrice Colliot Jan Mercl <0xjnml@gmail.com> Jason DeBettencourt Koichi Shiraishi diff --git a/vendor/modernc.org/libc/CONTRIBUTORS b/vendor/modernc.org/libc/CONTRIBUTORS index 9e66e21515..aa802b6df5 100644 --- a/vendor/modernc.org/libc/CONTRIBUTORS +++ b/vendor/modernc.org/libc/CONTRIBUTORS @@ -8,6 +8,7 @@ Dan Kortschak Dan Peterson +Fabrice Colliot Jaap Aarts Jan Mercl <0xjnml@gmail.com> Jason DeBettencourt diff --git a/vendor/modernc.org/libc/builtin.go b/vendor/modernc.org/libc/builtin.go index 1d727eb0c1..afd833afc2 100644 --- a/vendor/modernc.org/libc/builtin.go +++ b/vendor/modernc.org/libc/builtin.go @@ -32,6 +32,10 @@ func X__builtin_round(tls *TLS, x float64) (r float64) { return Xround(tls, x) } +func X__builtin_roundf(tls *TLS, x float32) (r float32) { + return Xroundf(tls, x) +} + func X__builtin_expect(t *TLS, exp, c long) long { return exp } diff --git a/vendor/modernc.org/libc/ccgo_linux_amd64.go b/vendor/modernc.org/libc/ccgo_linux_amd64.go index d01d173fe7..66c8363b94 100644 --- a/vendor/modernc.org/libc/ccgo_linux_amd64.go +++ b/vendor/modernc.org/libc/ccgo_linux_amd64.go @@ -25185,6 +25185,7 @@ func X__putenv(tls *TLS, s uintptr, l Tsize_t, r uintptr) (r1 int32) { X__env_rm_add(tls, uintptr(0), r) } return 0 + goto oom oom: ; Xfree(tls, r) @@ -27506,6 +27507,7 @@ func X__intscan(tls *TLS, f uintptr, base uint32, pok int32, lim uint64) (r uint neg = 0 } } + goto done done: ; if (*TFILE)(unsafe.Pointer(f)).Fshlim >= 0 { @@ -31680,8 +31682,8 @@ func Xbindtextdomain(tls *TLS, domainname uintptr, dirname uintptr) (r uintptr) bp := tls.Alloc(16) defer tls.Free(16) var dirlen, domlen Tsize_t - var p, q, v2 uintptr - _, _, _, _, _ = dirlen, domlen, p, q, v2 + var p2, q, v2 uintptr + _, _, _, _, _ = dirlen, domlen, p2, q, v2 if !(domainname != 0) { return uintptr(0) } @@ -31696,31 +31698,31 @@ func Xbindtextdomain(tls *TLS, domainname uintptr, dirname uintptr) (r uintptr) return uintptr(0) } ___lock(tls, uintptr(unsafe.Pointer(&_lock1))) - p = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_bindings))) + p2 = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_bindings))) for { - if !(p != 0) { + if !(p2 != 0) { break } - if !(Xstrcmp(tls, (*Tbinding)(unsafe.Pointer(p)).Fdomainname, domainname) != 0) && !(Xstrcmp(tls, (*Tbinding)(unsafe.Pointer(p)).Fdirname, dirname) != 0) { + if !(Xstrcmp(tls, (*Tbinding)(unsafe.Pointer(p2)).Fdomainname, domainname) != 0) && !(Xstrcmp(tls, (*Tbinding)(unsafe.Pointer(p2)).Fdirname, dirname) != 0) { break } goto _1 _1: ; - p = (*Tbinding)(unsafe.Pointer(p)).Fnext + p2 = (*Tbinding)(unsafe.Pointer(p2)).Fnext } - if !(p != 0) { - p = Xcalloc(tls, uint64(32)+domlen+dirlen+uint64(2), uint64(1)) - if !(p != 0) { + if !(p2 != 0) { + p2 = Xcalloc(tls, uint64(32)+domlen+dirlen+uint64(2), uint64(1)) + if !(p2 != 0) { ___unlock(tls, uintptr(unsafe.Pointer(&_lock1))) return uintptr(0) } - (*Tbinding)(unsafe.Pointer(p)).Fnext = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_bindings))) - (*Tbinding)(unsafe.Pointer(p)).Fdirlen = int32(int32(dirlen)) - (*Tbinding)(unsafe.Pointer(p)).Fdomainname = p + 32 - (*Tbinding)(unsafe.Pointer(p)).Fdirname = p + 32 + uintptr(domlen) + uintptr(1) - Xmemcpy(tls, (*Tbinding)(unsafe.Pointer(p)).Fdomainname, domainname, domlen+uint64(1)) - Xmemcpy(tls, (*Tbinding)(unsafe.Pointer(p)).Fdirname, dirname, dirlen+uint64(1)) + (*Tbinding)(unsafe.Pointer(p2)).Fnext = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_bindings))) + (*Tbinding)(unsafe.Pointer(p2)).Fdirlen = int32(int32(dirlen)) + (*Tbinding)(unsafe.Pointer(p2)).Fdomainname = p2 + 32 + (*Tbinding)(unsafe.Pointer(p2)).Fdirname = p2 + 32 + uintptr(domlen) + uintptr(1) + Xmemcpy(tls, (*Tbinding)(unsafe.Pointer(p2)).Fdomainname, domainname, domlen+uint64(1)) + Xmemcpy(tls, (*Tbinding)(unsafe.Pointer(p2)).Fdirname, dirname, dirlen+uint64(1)) v2 = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_bindings))) // __asm__( "lock ; cmpxchg %3, %1" // @@ -31741,7 +31743,7 @@ func Xbindtextdomain(tls *TLS, domainname uintptr, dirname uintptr) (r uintptr) if !(q != 0) { break } - if !(Xstrcmp(tls, (*Tbinding)(unsafe.Pointer(q)).Fdomainname, domainname) != 0) && q != p { + if !(Xstrcmp(tls, (*Tbinding)(unsafe.Pointer(q)).Fdomainname, domainname) != 0) && q != p2 { // __asm__ __volatile__( // // "mov %1, %0 ; lock ; orl $0,(%%rsp)" @@ -31754,7 +31756,7 @@ func Xbindtextdomain(tls *TLS, domainname uintptr, dirname uintptr) (r uintptr) q = (*Tbinding)(unsafe.Pointer(q)).Fnext } ___unlock(tls, uintptr(unsafe.Pointer(&_lock1))) - return (*Tbinding)(unsafe.Pointer(p)).Fdirname + return (*Tbinding)(unsafe.Pointer(p2)).Fdirname } var _catnames = [6][12]int8{ @@ -31798,13 +31800,13 @@ func Xdcngettext(tls *TLS, domainname uintptr, msgid1 uintptr, msgid2 uintptr, n bp := tls.Alloc(80) defer tls.Free(80) var alt_modlen, catlen, dirlen, domlen, l, loclen, modlen, rem, v5 Tsize_t - var catname, csp, dirname, lm, loc, locname, locp, map1, modname, name, old_cats, p, q, r, rule, trans, v10, v17, v18, v3, v8, v9 uintptr + var catname, csp, dirname, lm, loc, locname, locp, map1, modname, name, old_cats, p1, q, r, rule, trans, v10, v17, v18, v3, v8, v9 uintptr var np, plural, v21 uint64 var old_errno, v11, v12, v14, v15 int32 var v6 t__predefined_size_t var _ /* map_size at bp+0 */ Tsize_t var _ /* z at bp+8 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = alt_modlen, catlen, catname, csp, dirlen, dirname, domlen, l, lm, loc, loclen, locname, locp, map1, modlen, modname, name, np, old_cats, old_errno, p, plural, q, r, rem, rule, trans, v10, v11, v12, v14, v15, v17, v18, v21, v3, v5, v6, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = alt_modlen, catlen, catname, csp, dirlen, dirname, domlen, l, lm, loc, loclen, locname, locp, map1, modlen, modname, name, np, old_cats, old_errno, p1, plural, q, r, rem, rule, trans, v10, v11, v12, v14, v15, v17, v18, v21, v3, v5, v6, v8, v9 defer func() { Xrealloc(tls, name, 0) }() loc = (*t__pthread)(unsafe.Pointer(uintptr(___get_tp(tls)))).Flocale old_errno = *(*int32)(unsafe.Pointer(X__errno_location(tls))) @@ -31842,6 +31844,7 @@ func Xdcngettext(tls *TLS, domainname uintptr, msgid1 uintptr, msgid2 uintptr, n if !!(lm != 0) { goto _2 } + goto notrans notrans: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno @@ -31853,20 +31856,20 @@ notrans: return v3 _2: ; - p = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_cats))) + p1 = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_cats))) for { - if !(p != 0) { + if !(p1 != 0) { break } - if (*Tmsgcat)(unsafe.Pointer(p)).Fbinding == q && (*Tmsgcat)(unsafe.Pointer(p)).Flm == lm && (*Tmsgcat)(unsafe.Pointer(p)).Fcat == category { + if (*Tmsgcat)(unsafe.Pointer(p1)).Fbinding == q && (*Tmsgcat)(unsafe.Pointer(p1)).Flm == lm && (*Tmsgcat)(unsafe.Pointer(p1)).Fcat == category { break } goto _4 _4: ; - p = (*Tmsgcat)(unsafe.Pointer(p)).Fnext + p1 = (*Tmsgcat)(unsafe.Pointer(p1)).Fnext } - if !(p != 0) { + if !(p1 != 0) { dirname = (*Tbinding)(unsafe.Pointer(q)).Fdirname locname = lm + 16 catname = uintptr(unsafe.Pointer(&_catnames)) + uintptr(category)*12 @@ -31915,19 +31918,19 @@ _2: if !(map1 != 0) { goto notrans } - p = Xcalloc(tls, uint64(64), uint64(1)) - if !(p != 0) { + p1 = Xcalloc(tls, uint64(64), uint64(1)) + if !(p1 != 0) { X__munmap(tls, map1, *(*Tsize_t)(unsafe.Pointer(bp))) goto notrans } - (*Tmsgcat)(unsafe.Pointer(p)).Fcat = category - (*Tmsgcat)(unsafe.Pointer(p)).Fbinding = q - (*Tmsgcat)(unsafe.Pointer(p)).Flm = lm - (*Tmsgcat)(unsafe.Pointer(p)).Fmap1 = map1 - (*Tmsgcat)(unsafe.Pointer(p)).Fmap_size = *(*Tsize_t)(unsafe.Pointer(bp)) + (*Tmsgcat)(unsafe.Pointer(p1)).Fcat = category + (*Tmsgcat)(unsafe.Pointer(p1)).Fbinding = q + (*Tmsgcat)(unsafe.Pointer(p1)).Flm = lm + (*Tmsgcat)(unsafe.Pointer(p1)).Fmap1 = map1 + (*Tmsgcat)(unsafe.Pointer(p1)).Fmap_size = *(*Tsize_t)(unsafe.Pointer(bp)) rule = __ccgo_ts + 462 np = uint64(2) - r = X__mo_lookup(tls, (*Tmsgcat)(unsafe.Pointer(p)).Fmap1, (*Tmsgcat)(unsafe.Pointer(p)).Fmap_size, __ccgo_ts) + r = X__mo_lookup(tls, (*Tmsgcat)(unsafe.Pointer(p1)).Fmap1, (*Tmsgcat)(unsafe.Pointer(p1)).Fmap_size, __ccgo_ts) for r != 0 && Xstrncmp(tls, r, __ccgo_ts+468, uint64(13)) != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = Xstrchr(tls, r, int32('\n')) if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { @@ -31973,11 +31976,11 @@ _2: } } } - (*Tmsgcat)(unsafe.Pointer(p)).Fnplurals = int32(int32(np)) - (*Tmsgcat)(unsafe.Pointer(p)).Fplural_rule = rule + (*Tmsgcat)(unsafe.Pointer(p1)).Fnplurals = int32(int32(np)) + (*Tmsgcat)(unsafe.Pointer(p1)).Fplural_rule = rule for { old_cats = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_cats))) - (*Tmsgcat)(unsafe.Pointer(p)).Fnext = old_cats + (*Tmsgcat)(unsafe.Pointer(p1)).Fnext = old_cats goto _20 _20: ; @@ -31996,15 +31999,15 @@ _2: } } } - trans = X__mo_lookup(tls, (*Tmsgcat)(unsafe.Pointer(p)).Fmap1, (*Tmsgcat)(unsafe.Pointer(p)).Fmap_size, msgid1) + trans = X__mo_lookup(tls, (*Tmsgcat)(unsafe.Pointer(p1)).Fmap1, (*Tmsgcat)(unsafe.Pointer(p1)).Fmap_size, msgid1) if !(trans != 0) { goto notrans } /* Non-plural-processing gettext forms pass a null pointer as * msgid2 to request that dcngettext suppress plural processing. */ - if msgid2 != 0 && (*Tmsgcat)(unsafe.Pointer(p)).Fnplurals != 0 { - plural = X__pleval(tls, (*Tmsgcat)(unsafe.Pointer(p)).Fplural_rule, n) - if plural > uint64((*Tmsgcat)(unsafe.Pointer(p)).Fnplurals) { + if msgid2 != 0 && (*Tmsgcat)(unsafe.Pointer(p1)).Fnplurals != 0 { + plural = X__pleval(tls, (*Tmsgcat)(unsafe.Pointer(p1)).Fplural_rule, n) + if plural > uint64((*Tmsgcat)(unsafe.Pointer(p1)).Fnplurals) { goto notrans } for { @@ -32013,7 +32016,7 @@ _2: if !(v21 != 0) { break } - rem = (*Tmsgcat)(unsafe.Pointer(p)).Fmap_size - uint64(int64(int64(trans))-int64((*Tmsgcat)(unsafe.Pointer(p)).Fmap1)) + rem = (*Tmsgcat)(unsafe.Pointer(p1)).Fmap_size - uint64(int64(int64(trans))-int64((*Tmsgcat)(unsafe.Pointer(p1)).Fmap1)) l = Xstrnlen(tls, trans, rem) if l+uint64(1) >= rem { goto notrans @@ -99090,6 +99093,7 @@ func Xiconv(tls *TLS, cd Ticonv_t, in uintptr, inb uintptr, out uintptr, outb ui if !(c > uint32(0x7f)) { goto _52 } + goto subst subst: ; x++ @@ -99104,6 +99108,7 @@ func Xiconv(tls *TLS, cd Ticonv_t, in uintptr, inb uintptr, out uintptr, outb ui if !(c < uint32(256) && c == _legacy_map(tls, tomap, c)) { goto _53 } + goto revout revout: ; if *(*Tsize_t)(unsafe.Pointer(outb)) < uint64(1) { @@ -99367,20 +99372,24 @@ func Xiconv(tls *TLS, cd Ticonv_t, in uintptr, inb uintptr, out uintptr, outb ui } *(*Tlocale_t)(unsafe.Pointer(ploc)) = loc return x + goto ilseq ilseq: ; err = int32(EILSEQ) x = uint64(-Int32FromInt32(1)) goto end + goto toobig toobig: ; err = int32(E2BIG) x = uint64(-Int32FromInt32(1)) goto end + goto starved starved: ; err = int32(EINVAL) x = uint64(-Int32FromInt32(1)) + goto end end: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = err @@ -100231,6 +100240,7 @@ _3: if !(int32(*(*int8)(unsafe.Pointer(fmt))) != int32('%')) { goto _4 } + goto literal literal: ; v5 = s @@ -101088,6 +101098,7 @@ func X__rem_pio2(tls *TLS, x float64, y uintptr) (r1 int32) { if !(ix < uint32(0x413921fb)) { goto _1 } /* |x| ~< 2^20*(pi/2), medium size */ + goto medium medium: ; /* rint(x/(pi/2)) */ @@ -101346,6 +101357,7 @@ func X__rem_pio2_large(tls *TLS, x uintptr, y uintptr, e0 int32, nx int32, prec i++ } jz = jk + goto recompute recompute: ; /* distill q[] into iq[] reversingly */ @@ -102329,9 +102341,9 @@ func Xasinf(tls *TLS, x float32) (r float32) { // C documentation // // /* asinh(x) = sign(x)*log(|x|+sqrt(x*x+1)) ~= x - x^3/6 + o(x^5) */ -func Xasinh(tls *TLS, x float64) (r float64) { +func Xasinh(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -102351,41 +102363,41 @@ func Xasinh(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 e = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(52) & uint64(0x7ff)) s = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(63)) /* |x| */ *(*Tuint64_t)(unsafe.Pointer(bp)) &= uint64(-Int32FromInt32(1)) / Uint64FromInt32(2) - x = *(*float64)(unsafe.Pointer(bp)) + x3 = *(*float64)(unsafe.Pointer(bp)) if e >= uint32(Int32FromInt32(0x3ff)+Int32FromInt32(26)) { /* |x| >= 0x1p26 or inf or nan */ - x = Xlog(tls, x) + float64(0.6931471805599453) + x3 = Xlog(tls, x3) + float64(0.6931471805599453) } else { if e >= uint32(Int32FromInt32(0x3ff)+Int32FromInt32(1)) { /* |x| >= 2 */ - x = Xlog(tls, Float64FromInt32(2)*x+Float64FromInt32(1)/(Xsqrt(tls, x*x+Float64FromInt32(1))+x)) + x3 = Xlog(tls, Float64FromInt32(2)*x3+Float64FromInt32(1)/(Xsqrt(tls, x3*x3+Float64FromInt32(1))+x3)) } else { if e >= uint32(Int32FromInt32(0x3ff)-Int32FromInt32(26)) { /* |x| >= 0x1p-26, up to 1.6ulp error in [0.125,0.5] */ - x = Xlog1p(tls, x+x*x/(Xsqrt(tls, x*x+Float64FromInt32(1))+Float64FromInt32(1))) + x3 = Xlog1p(tls, x3+x3*x3/(Xsqrt(tls, x3*x3+Float64FromInt32(1))+Float64FromInt32(1))) } else { /* |x| < 0x1p-26, raise inexact if x != 0 */ if uint64(8) == uint64(4) { - y = float32(x + Float64FromFloat32(1.329227995784916e+36)) + y = float32(x3 + Float64FromFloat32(1.329227995784916e+36)) } else { if uint64(8) == uint64(8) { - y1 = x + Float64FromFloat32(1.329227995784916e+36) + y1 = x3 + Float64FromFloat32(1.329227995784916e+36) } else { - y2 = float64(x + Float64FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float64FromFloat32(1.329227995784916e+36)) } } } } } if s != 0 { - v1 = -x + v1 = -x3 } else { - v1 = x + v1 = x3 } return v1 } @@ -102393,9 +102405,9 @@ func Xasinh(tls *TLS, x float64) (r float64) { // C documentation // // /* asinh(x) = sign(x)*log(|x|+sqrt(x*x+1)) ~= x - x^3/6 + o(x^5) */ -func Xasinhf(tls *TLS, x float32) (r float32) { +func Xasinhf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -102416,41 +102428,41 @@ func Xasinhf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 i = *(*Tuint32_t)(unsafe.Pointer(bp)) & uint32(0x7fffffff) s = *(*Tuint32_t)(unsafe.Pointer(bp)) >> int32(31) /* |x| */ *(*Tuint32_t)(unsafe.Pointer(bp)) = i - x = *(*float32)(unsafe.Pointer(bp)) + x3 = *(*float32)(unsafe.Pointer(bp)) if i >= uint32(Int32FromInt32(0x3f800000)+Int32FromInt32(12)<= 0x1p12 or inf or nan */ - x = Xlogf(tls, x) + Float32FromFloat32(0.6931471805599453) + x3 = Xlogf(tls, x3) + Float32FromFloat32(0.6931471805599453) } else { if i >= uint32(Int32FromInt32(0x3f800000)+Int32FromInt32(1)<= 2 */ - x = Xlogf(tls, Float32FromInt32(2)*x+Float32FromInt32(1)/(Xsqrtf(tls, x*x+Float32FromInt32(1))+x)) + x3 = Xlogf(tls, Float32FromInt32(2)*x3+Float32FromInt32(1)/(Xsqrtf(tls, x3*x3+Float32FromInt32(1))+x3)) } else { if i >= uint32(Int32FromInt32(0x3f800000)-Int32FromInt32(12)<= 0x1p-12, up to 1.6ulp error in [0.125,0.5] */ - x = Xlog1pf(tls, x+x*x/(Xsqrtf(tls, x*x+Float32FromInt32(1))+Float32FromInt32(1))) + x3 = Xlog1pf(tls, x3+x3*x3/(Xsqrtf(tls, x3*x3+Float32FromInt32(1))+Float32FromInt32(1))) } else { /* |x| < 0x1p-12, raise inexact if x!=0 */ if uint64(4) == uint64(4) { - y = x + Float32FromFloat32(1.329227995784916e+36) + y = x3 + Float32FromFloat32(1.329227995784916e+36) } else { if uint64(4) == uint64(8) { - y1 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y1 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } else { - y2 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } } } } } if s != 0 { - v1 = -x + v1 = -x3 } else { - v1 = x + v1 = x3 } return v1 } @@ -102499,9 +102511,9 @@ var _aT = [11]float64{ 10: float64(0.016285820115365782), } -func Xatan(tls *TLS, x float64) (r float64) { +func Xatan(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -102517,16 +102529,16 @@ func Xatan(tls *TLS, x float64) (r float64) { F__f float64 } _, _, _, _, _, _, _, _, _, _, _, _, _ = id, ix, s1, s2, sign, w, y, y1, y2, z, v1, v3, v4 - ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(32)) + ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x3)) >> int32(32)) sign = ix >> int32(31) ix &= uint32(0x7fffffff) if ix >= uint32(0x44100000) { /* if |x| >= 2^66 */ - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 v1 = *(*uint64)(unsafe.Pointer(bp)) goto _2 _2: if BoolInt32(v1&(-Uint64FromUint64(1)>>Int32FromInt32(1)) > Uint64FromUint64(0x7ff)< %v", r) }() } bp := tls.Alloc(16) @@ -102878,16 +102890,16 @@ func Xatanf(tls *TLS, x float32) (r float32) { F__f float32 } _, _, _, _, _, _, _, _, _, _, _, _, _ = id, ix, s1, s2, sign, w, y, y1, y2, z, v1, v3, v4 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x3)) sign = ix >> int32(31) ix &= uint32(0x7fffffff) if ix >= uint32(0x4c800000) { /* if |x| >= 2**26 */ - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 v1 = *(*uint32)(unsafe.Pointer(bp)) goto _2 _2: if BoolInt32(v1&uint32(0x7fffffff) > uint32(0x7f800000)) != 0 { - return x + return x3 } z = _atanhi1[int32(3)] + Float32FromFloat32(7.52316384526264e-37) if sign != 0 { @@ -102902,48 +102914,48 @@ func Xatanf(tls *TLS, x float32) (r float32) { if ix < uint32(0x00800000) { /* raise underflow for subnormal x */ if uint64(4) == uint64(4) { - y = x * x + y = x3 * x3 } else { if uint64(4) == uint64(8) { - y1 = float64(x * x) + y1 = float64(x3 * x3) } else { - y2 = float64(x * x) + y2 = float64(x3 * x3) } } } - return x + return x3 } id = -int32(1) } else { - x = Xfabsf(tls, x) + x3 = Xfabsf(tls, x3) if ix < uint32(0x3f980000) { /* |x| < 1.1875 */ if ix < uint32(0x3f300000) { /* 7/16 <= |x| < 11/16 */ id = 0 - x = (Float32FromFloat32(2)*x - Float32FromFloat32(1)) / (Float32FromFloat32(2) + x) + x3 = (Float32FromFloat32(2)*x3 - Float32FromFloat32(1)) / (Float32FromFloat32(2) + x3) } else { /* 11/16 <= |x| < 19/16 */ id = int32(1) - x = (x - Float32FromFloat32(1)) / (x + Float32FromFloat32(1)) + x3 = (x3 - Float32FromFloat32(1)) / (x3 + Float32FromFloat32(1)) } } else { if ix < uint32(0x401c0000) { /* |x| < 2.4375 */ id = int32(2) - x = (x - Float32FromFloat32(1.5)) / (Float32FromFloat32(1) + Float32FromFloat32(1.5)*x) + x3 = (x3 - Float32FromFloat32(1.5)) / (Float32FromFloat32(1) + Float32FromFloat32(1.5)*x3) } else { /* 2.4375 <= |x| < 2**26 */ id = int32(3) - x = -Float32FromFloat32(1) / x + x3 = -Float32FromFloat32(1) / x3 } } } /* end of argument reduction */ - z = x * x + z = x3 * x3 w = z * z /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ s1 = z * (_aT1[0] + w*(_aT1[int32(2)]+w*_aT1[int32(4)])) s2 = w * (_aT1[int32(1)] + w*_aT1[int32(3)]) if id < 0 { - return x - x*(s1+s2) + return x3 - x3*(s1+s2) } - z = _atanhi1[id] - (x*(s1+s2) - _atanlo1[id] - x) + z = _atanhi1[id] - (x3*(s1+s2) - _atanlo1[id] - x3) if sign != 0 { v4 = -z } else { @@ -102955,9 +102967,9 @@ func Xatanf(tls *TLS, x float32) (r float32) { // C documentation // // /* atanh(x) = log((1+x)/(1-x))/2 = log1p(2x/(1-x))/2 ~= x + x^3/3 + o(x^5) */ -func Xatanh(tls *TLS, x float64) (r float64) { +func Xatanh(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -102978,7 +102990,7 @@ func Xatanh(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 e = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(52) & uint64(0x7ff)) s = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(63)) /* |x| */ @@ -103017,9 +103029,9 @@ func Xatanh(tls *TLS, x float64) (r float64) { // C documentation // // /* atanh(x) = log((1+x)/(1-x))/2 = log1p(2x/(1-x))/2 ~= x + x^3/3 + o(x^5) */ -func Xatanhf(tls *TLS, x float32) (r float32) { +func Xatanhf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -103040,7 +103052,7 @@ func Xatanhf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 s = *(*Tuint32_t)(unsafe.Pointer(bp)) >> int32(31) /* |x| */ *(*Tuint32_t)(unsafe.Pointer(bp)) &= uint32(0x7fffffff) @@ -103266,9 +103278,9 @@ const DBL_EPSILON5 = 2.220446049250313e-16 var _toint2 = Float64FromInt32(1) / Float64FromFloat64(2.220446049250313e-16) -func Xceil(tls *TLS, x float64) (r float64) { +func Xceil(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -103289,16 +103301,16 @@ func Xceil(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(52) & uint64(0x7ff)) - if e >= Int32FromInt32(0x3ff)+Int32FromInt32(52) || x == Float64FromInt32(0) { - return x + if e >= Int32FromInt32(0x3ff)+Int32FromInt32(52) || x3 == Float64FromInt32(0) { + return x3 } /* y = int(x) - x, where int(x) is an integer neighbor of x */ if *(*Tuint64_t)(unsafe.Pointer(bp))>>int32(63) != 0 { - y3 = x - _toint2 + _toint2 - x + y3 = x3 - _toint2 + _toint2 - x3 } else { - y3 = x + _toint2 - _toint2 - x + y3 = x3 + _toint2 - _toint2 - x3 } /* special case because of non-nearest rounding modes */ if e <= Int32FromInt32(0x3ff)-Int32FromInt32(1) { @@ -103319,16 +103331,16 @@ func Xceil(tls *TLS, x float64) (r float64) { return v1 } if y3 < Float64FromInt32(0) { - return x + y3 + Float64FromInt32(1) + return x3 + y3 + Float64FromInt32(1) } - return x + y3 + return x3 + y3 } const DBL_EPSILON6 = 0 -func Xceilf(tls *TLS, x float32) (r float32) { +func Xceilf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -103349,23 +103361,23 @@ func Xceilf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint32_t)(unsafe.Pointer(bp))>>Int32FromInt32(23)&Uint32FromInt32(0xff)) - int32(0x7f) if e >= int32(23) { - return x + return x3 } if e >= 0 { m = uint32(int32(0x007fffff) >> e) if *(*Tuint32_t)(unsafe.Pointer(bp))&m == uint32(0) { - return x + return x3 } if uint64(4) == uint64(4) { - y = x + Float32FromFloat32(1.329227995784916e+36) + y = x3 + Float32FromFloat32(1.329227995784916e+36) } else { if uint64(4) == uint64(8) { - y1 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y1 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } else { - y2 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } } if *(*Tuint32_t)(unsafe.Pointer(bp))>>int32(31) == uint32(0) { @@ -103374,12 +103386,12 @@ func Xceilf(tls *TLS, x float32) (r float32) { *(*Tuint32_t)(unsafe.Pointer(bp)) &= ^m } else { if uint64(4) == uint64(4) { - y = x + Float32FromFloat32(1.329227995784916e+36) + y = x3 + Float32FromFloat32(1.329227995784916e+36) } else { if uint64(4) == uint64(8) { - y1 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y1 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } else { - y2 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } } if *(*Tuint32_t)(unsafe.Pointer(bp))>>int32(31) != 0 { @@ -103485,9 +103497,9 @@ func Xcopysignl(tls *TLS, x float64, y float64) (r float64) { return float64(Xcopysign(tls, float64(float64(x)), float64(float64(y)))) } -func Xcos(tls *TLS, x float64) (r float64) { +func Xcos(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -103498,31 +103510,31 @@ func Xcos(tls *TLS, x float64) (r float64) { var y1, y2 float64 var _ /* y at bp+0 */ [2]float64 _, _, _, _, _ = ix, n, y, y1, y2 - ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(32)) + ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x3)) >> int32(32)) ix &= uint32(0x7fffffff) /* |x| ~< pi/4 */ if ix <= uint32(0x3fe921fb) { if ix < uint32(0x3e46a09e) { /* |x| < 2**-27 * sqrt(2) */ /* raise inexact if x!=0 */ if uint64(8) == uint64(4) { - y = float32(x + Float64FromFloat32(1.329227995784916e+36)) + y = float32(x3 + Float64FromFloat32(1.329227995784916e+36)) } else { if uint64(8) == uint64(8) { - y1 = x + Float64FromFloat32(1.329227995784916e+36) + y1 = x3 + Float64FromFloat32(1.329227995784916e+36) } else { - y2 = float64(x + Float64FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float64FromFloat32(1.329227995784916e+36)) } } return float64(1) } - return X__cos(tls, x, Float64FromInt32(0)) + return X__cos(tls, x3, Float64FromInt32(0)) } /* cos(Inf or NaN) is NaN */ if ix >= uint32(0x7ff00000) { - return x - x + return x3 - x3 } /* argument reduction */ - n = uint32(X__rem_pio2(tls, x, bp)) + n = uint32(X__rem_pio2(tls, x3, bp)) switch n & Uint32FromInt32(3) { case uint32(0): return X__cos(tls, (*(*[2]float64)(unsafe.Pointer(bp)))[0], (*(*[2]float64)(unsafe.Pointer(bp)))[int32(1)]) @@ -103547,9 +103559,9 @@ var _c2pio2 = Float64FromInt32(2) * Float64FromFloat64(1.5707963267948966) /* 0x var _c3pio2 = Float64FromInt32(3) * Float64FromFloat64(1.5707963267948966) /* 0x4012D97C, 0x7F3321D2 */ var _c4pio2 = Float64FromInt32(4) * Float64FromFloat64(1.5707963267948966) /* 0x401921FB, 0x54442D18 */ -func Xcosf(tls *TLS, x float32) (r float32) { +func Xcosf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -103560,63 +103572,63 @@ func Xcosf(tls *TLS, x float32) (r float32) { var y1, y2, v1, v2 float64 var _ /* y at bp+0 */ float64 _, _, _, _, _, _, _, _ = ix, n, sign, y, y1, y2, v1, v2 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x3)) sign = ix >> int32(31) ix &= uint32(0x7fffffff) if ix <= uint32(0x3f490fda) { /* |x| ~<= pi/4 */ if ix < uint32(0x39800000) { /* |x| < 2**-12 */ /* raise inexact if x != 0 */ if uint64(4) == uint64(4) { - y = x + Float32FromFloat32(1.329227995784916e+36) + y = x3 + Float32FromFloat32(1.329227995784916e+36) } else { if uint64(4) == uint64(8) { - y1 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y1 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } else { - y2 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } } return Float32FromFloat32(1) } - return X__cosdf(tls, float64(float64(x))) + return X__cosdf(tls, float64(float64(x3))) } if ix <= uint32(0x407b53d1) { /* |x| ~<= 5*pi/4 */ if ix > uint32(0x4016cbe3) { /* |x| ~> 3*pi/4 */ if sign != 0 { - v1 = float64(float64(x)) + _c2pio2 + v1 = float64(float64(x3)) + _c2pio2 } else { - v1 = float64(float64(x)) - _c2pio2 + v1 = float64(float64(x3)) - _c2pio2 } return -X__cosdf(tls, v1) } else { if sign != 0 { - return X__sindf(tls, float64(float64(x))+_c1pio2) + return X__sindf(tls, float64(float64(x3))+_c1pio2) } else { - return X__sindf(tls, _c1pio2-float64(float64(x))) + return X__sindf(tls, _c1pio2-float64(float64(x3))) } } } if ix <= uint32(0x40e231d5) { /* |x| ~<= 9*pi/4 */ if ix > uint32(0x40afeddf) { /* |x| ~> 7*pi/4 */ if sign != 0 { - v2 = float64(float64(x)) + _c4pio2 + v2 = float64(float64(x3)) + _c4pio2 } else { - v2 = float64(float64(x)) - _c4pio2 + v2 = float64(float64(x3)) - _c4pio2 } return X__cosdf(tls, v2) } else { if sign != 0 { - return X__sindf(tls, float64(-x)-_c3pio2) + return X__sindf(tls, float64(-x3)-_c3pio2) } else { - return X__sindf(tls, float64(float64(x))-_c3pio2) + return X__sindf(tls, float64(float64(x3))-_c3pio2) } } } /* cos(Inf or NaN) is NaN */ if ix >= uint32(0x7f800000) { - return x - x + return x3 - x3 } /* general argument reduction needed */ - n = uint32(X__rem_pio2f(tls, x, bp)) + n = uint32(X__rem_pio2f(tls, x3, bp)) switch n & Uint32FromInt32(3) { case uint32(0): return X__cosdf(tls, *(*float64)(unsafe.Pointer(bp))) @@ -103638,9 +103650,9 @@ const M_PI_24 = 0 // * = 1 + 0.5*(exp(x)-1)*(exp(x)-1)/exp(x) // * = 1 + x*x/2 + o(x^4) // */ -func Xcosh(tls *TLS, x float64) (r float64) { +func Xcosh(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -103660,44 +103672,44 @@ func Xcosh(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 /* |x| */ *(*Tuint64_t)(unsafe.Pointer(bp)) &= uint64(-Int32FromInt32(1)) / Uint64FromInt32(2) - x = *(*float64)(unsafe.Pointer(bp)) + x3 = *(*float64)(unsafe.Pointer(bp)) w = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(32)) /* |x| < log(2) */ if w < uint32(0x3fe62e42) { if w < uint32(Int32FromInt32(0x3ff00000)-Int32FromInt32(26)<log(0x1p26) then the 1/t is not needed */ return float64(0.5) * (t + Float64FromInt32(1)/t) } /* |x| > log(DBL_MAX) or nan */ /* note: the result is stored to handle overflow */ - t = X__expo2(tls, x, float64(1)) + t = X__expo2(tls, x3, float64(1)) return t } -func Xcoshf(tls *TLS, x float32) (r float32) { +func Xcoshf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -103717,35 +103729,35 @@ func Xcoshf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 /* |x| */ *(*Tuint32_t)(unsafe.Pointer(bp)) &= uint32(0x7fffffff) - x = *(*float32)(unsafe.Pointer(bp)) + x3 = *(*float32)(unsafe.Pointer(bp)) w = *(*Tuint32_t)(unsafe.Pointer(bp)) /* |x| < log(2) */ if w < uint32(0x3f317217) { if w < uint32(Int32FromInt32(0x3f800000)-Int32FromInt32(12)< log(FLT_MAX) or nan */ - t = X__expo2f(tls, x, Float32FromFloat32(1)) + t = X__expo2f(tls, x3, Float32FromFloat32(1)) return t } @@ -104220,9 +104232,9 @@ func _top12(tls *TLS, x float64) (r Tuint32_t) { return uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(52)) } -func Xexp(tls *TLS, x float64) (r1 float64) { +func Xexp(tls *TLS, x1 float64) (r1 float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x1=%v, (%v:)", tls, x1, origin(2)) defer func() { trc("-> %v", r1) }() } var abstop Tuint32_t @@ -104230,22 +104242,22 @@ func Xexp(tls *TLS, x float64) (r1 float64) { var kd, r, r2, scale, tail, tmp, z Tdouble_t var y, v1, v2, v4, v6 float64 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = abstop, idx, kd, ki, r, r2, sbits, scale, tail, tmp, top, y, z, v1, v2, v4, v5, v6 - abstop = _top12(tls, x) & uint32(0x7ff) + abstop = _top12(tls, x1) & uint32(0x7ff) if abstop-_top12(tls, float64(5.551115123125783e-17)) >= _top12(tls, float64(512))-_top12(tls, float64(5.551115123125783e-17)) { if abstop-_top12(tls, float64(5.551115123125783e-17)) >= uint32(0x80000000) { /* Avoid spurious underflow for tiny x. */ /* Note: 0 is common input. */ - return float64(1) + x + return float64(1) + x1 } if abstop >= _top12(tls, float64(1024)) { v1 = float64(-X__builtin_inff(tls)) - if *(*Tuint64_t)(unsafe.Pointer(&x)) == *(*Tuint64_t)(unsafe.Pointer(&v1)) { + if *(*Tuint64_t)(unsafe.Pointer(&x1)) == *(*Tuint64_t)(unsafe.Pointer(&v1)) { return float64(0) } if abstop >= _top12(tls, float64(X__builtin_inff(tls))) { - return float64(1) + x + return float64(1) + x1 } - if *(*Tuint64_t)(unsafe.Pointer(&x))>>int32(63) != 0 { + if *(*Tuint64_t)(unsafe.Pointer(&x1))>>int32(63) != 0 { return X__math_uflow(tls, uint32(0)) } else { return X__math_oflow(tls, uint32(0)) @@ -104256,7 +104268,7 @@ func Xexp(tls *TLS, x float64) (r1 float64) { } /* exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]. */ /* x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]. */ - z = X__exp_data.Finvln2N * x + z = X__exp_data.Finvln2N * x1 /* z - kd is in [-1, 1] in non-nearest rounding modes. */ y = z + X__exp_data.Fshift v2 = y @@ -104266,7 +104278,7 @@ _3: v4 = kd ki = *(*Tuint64_t)(unsafe.Pointer(&v4)) kd -= X__exp_data.Fshift - r = x + kd*X__exp_data.Fnegln2hiN + kd*X__exp_data.Fnegln2loN + r = x1 + kd*X__exp_data.Fnegln2hiN + kd*X__exp_data.Fnegln2loN /* 2^(k/N) ~= scale * (1 + tail). */ idx = uint64(2) * (ki % uint64(Int32FromInt32(1)<> int32(52)) } -func Xexp2(tls *TLS, x float64) (r1 float64) { +func Xexp2(tls *TLS, x1 float64) (r1 float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x1=%v, (%v:)", tls, x1, origin(2)) defer func() { trc("-> %v", r1) }() } var abstop Tuint32_t @@ -104520,39 +104532,39 @@ func Xexp2(tls *TLS, x float64) (r1 float64) { var kd, r, r2, scale, tail, tmp Tdouble_t var y, v1, v2, v3, v4, v6, v8 float64 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = abstop, idx, kd, ki, r, r2, sbits, scale, tail, tmp, top, y, v1, v2, v3, v4, v6, v7, v8 - abstop = _top121(tls, x) & uint32(0x7ff) + abstop = _top121(tls, x1) & uint32(0x7ff) if abstop-_top121(tls, float64(5.551115123125783e-17)) >= _top121(tls, float64(512))-_top121(tls, float64(5.551115123125783e-17)) { if abstop-_top121(tls, float64(5.551115123125783e-17)) >= uint32(0x80000000) { /* Avoid spurious underflow for tiny x. */ /* Note: 0 is common input. */ - return float64(1) + x + return float64(1) + x1 } if abstop >= _top121(tls, float64(1024)) { v1 = float64(-X__builtin_inff(tls)) - if *(*Tuint64_t)(unsafe.Pointer(&x)) == *(*Tuint64_t)(unsafe.Pointer(&v1)) { + if *(*Tuint64_t)(unsafe.Pointer(&x1)) == *(*Tuint64_t)(unsafe.Pointer(&v1)) { return float64(0) } if abstop >= _top121(tls, float64(X__builtin_inff(tls))) { - return float64(1) + x + return float64(1) + x1 } - if !(*(*Tuint64_t)(unsafe.Pointer(&x))>>Int32FromInt32(63) != 0) { + if !(*(*Tuint64_t)(unsafe.Pointer(&x1))>>Int32FromInt32(63) != 0) { return X__math_oflow(tls, uint32(0)) } else { v2 = -Float64FromFloat64(1075) - if *(*Tuint64_t)(unsafe.Pointer(&x)) >= *(*Tuint64_t)(unsafe.Pointer(&v2)) { + if *(*Tuint64_t)(unsafe.Pointer(&x1)) >= *(*Tuint64_t)(unsafe.Pointer(&v2)) { return X__math_uflow(tls, uint32(0)) } } } v3 = float64(928) - if uint64(2)**(*Tuint64_t)(unsafe.Pointer(&x)) > uint64(2)**(*Tuint64_t)(unsafe.Pointer(&v3)) { + if uint64(2)**(*Tuint64_t)(unsafe.Pointer(&x1)) > uint64(2)**(*Tuint64_t)(unsafe.Pointer(&v3)) { /* Large x is special cased below. */ abstop = uint32(0) } } /* exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)]. */ /* x = k/N + r, with int k and r in [-1/2N, 1/2N]. */ - y = x + X__exp_data.Fexp2_shift + y = x1 + X__exp_data.Fexp2_shift v4 = y goto _5 _5: @@ -104560,7 +104572,7 @@ _5: v6 = kd ki = *(*Tuint64_t)(unsafe.Pointer(&v6)) /* k. */ kd -= X__exp_data.Fexp2_shift /* k/N for int k. */ - r = x - kd + r = x1 - kd /* 2^(k/N) ~= scale * (1 + tail). */ idx = uint64(2) * (ki % uint64(Int32FromInt32(1)<> int32(20) } -func Xexp2f(tls *TLS, x float32) (r1 float32) { +func Xexp2f(tls *TLS, x2 float32) (r1 float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x2=%v, (%v:)", tls, x2, origin(2)) defer func() { trc("-> %v", r1) }() } var abstop Tuint32_t @@ -104616,21 +104628,21 @@ func Xexp2f(tls *TLS, x float32) (r1 float32) { var y, v1, v5 float32 var y1, v2, v4 float64 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = abstop, kd, ki, r, r2, s, t, xd, y, y1, y2, z, v1, v2, v4, v5 - xd = float64(float64(x)) - abstop = _top122(tls, x) & uint32(0x7ff) + xd = float64(float64(x2)) + abstop = _top122(tls, x2) & uint32(0x7ff) if abstop >= _top122(tls, Float32FromFloat32(128)) { /* |x| >= 128 or x is nan. */ v1 = -X__builtin_inff(tls) - if *(*Tuint32_t)(unsafe.Pointer(&x)) == *(*Tuint32_t)(unsafe.Pointer(&v1)) { + if *(*Tuint32_t)(unsafe.Pointer(&x2)) == *(*Tuint32_t)(unsafe.Pointer(&v1)) { return Float32FromFloat32(0) } if abstop >= _top122(tls, X__builtin_inff(tls)) { - return x + x + return x2 + x2 } - if x > Float32FromFloat32(0) { + if x2 > Float32FromFloat32(0) { return X__math_oflowf(tls, uint32(0)) } - if x <= -Float32FromFloat32(150) { + if x2 <= -Float32FromFloat32(150) { return X__math_uflowf(tls, uint32(0)) } } @@ -104706,9 +104718,9 @@ func _top123(tls *TLS, x float32) (r Tuint32_t) { return *(*Tuint32_t)(unsafe.Pointer(&x)) >> int32(20) } -func Xexpf(tls *TLS, x float32) (r1 float32) { +func Xexpf(tls *TLS, x2 float32) (r1 float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x2=%v, (%v:)", tls, x2, origin(2)) defer func() { trc("-> %v", r1) }() } var abstop Tuint32_t @@ -104717,21 +104729,21 @@ func Xexpf(tls *TLS, x float32) (r1 float32) { var y, v1, v5 float32 var y1, v2, v4 float64 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = abstop, kd, ki, r, r2, s, t, xd, y, y1, y2, z, v1, v2, v4, v5 - xd = float64(float64(x)) - abstop = _top123(tls, x) & uint32(0x7ff) + xd = float64(float64(x2)) + abstop = _top123(tls, x2) & uint32(0x7ff) if abstop >= _top123(tls, Float32FromFloat32(88)) { /* |x| >= 88 or x is nan. */ v1 = -X__builtin_inff(tls) - if *(*Tuint32_t)(unsafe.Pointer(&x)) == *(*Tuint32_t)(unsafe.Pointer(&v1)) { + if *(*Tuint32_t)(unsafe.Pointer(&x2)) == *(*Tuint32_t)(unsafe.Pointer(&v1)) { return Float32FromFloat32(0) } if abstop >= _top123(tls, X__builtin_inff(tls)) { - return x + x + return x2 + x2 } - if x > Float32FromFloat32(88.72283172607422) { /* x > log(0x1p128) ~= 88.72 */ + if x2 > Float32FromFloat32(88.72283172607422) { /* x > log(0x1p128) ~= 88.72 */ return X__math_oflowf(tls, uint32(0)) } - if x < -Float32FromFloat32(103.97207641601562) { /* x < log(0x1p-150) ~= -103.97 */ + if x2 < -Float32FromFloat32(103.97207641601562) { /* x < log(0x1p-150) ~= -103.97 */ return X__math_uflowf(tls, uint32(0)) } } @@ -104784,9 +104796,9 @@ var _Q3 = -Float64FromFloat64(7.93650757867488e-05) /* BF14CE19 9EAADBB7 */ var _Q4 = float64(4.008217827329362e-06) /* 3ED0CFCA 86E65239 */ var _Q5 = -Float64FromFloat64(2.0109921818362437e-07) /* BE8AFDB7 6E09C32D */ -func Xexpm1(tls *TLS, x float64) (r float64) { +func Xexpm1(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -104813,35 +104825,35 @@ func Xexpm1(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp + 8)) = x + *(*float64)(unsafe.Pointer(bp + 8)) = x3 hx = uint32(*(*Tuint64_t)(unsafe.Pointer(bp + 8)) >> int32(32) & uint64(0x7fffffff)) sign = int32(*(*Tuint64_t)(unsafe.Pointer(bp + 8)) >> int32(63)) /* filter out huge and non-finite argument */ if hx >= uint32(0x4043687A) { /* if |x|>=56*ln2 */ - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 v1 = *(*uint64)(unsafe.Pointer(bp)) goto _2 _2: if BoolInt32(v1&(-Uint64FromUint64(1)>>Int32FromInt32(1)) > Uint64FromUint64(0x7ff)< _o_threshold { - x *= float64(8.98846567431158e+307) - return x + if x3 > _o_threshold { + x3 *= float64(8.98846567431158e+307) + return x3 } } /* argument reduction */ if hx > uint32(0x3fd62e42) { /* if |x| > 0.5 ln2 */ if hx < uint32(0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ if !(sign != 0) { - hi = x - _ln2_hi + hi = x3 - _ln2_hi lo = _ln2_lo k = int32(1) } else { - hi = x + _ln2_hi + hi = x3 + _ln2_hi lo = -_ln2_lo k = -int32(1) } @@ -104851,56 +104863,56 @@ func Xexpm1(tls *TLS, x float64) (r float64) { } else { v3 = float64(0.5) } - k = int32(_invln2*x + v3) + k = int32(_invln2*x3 + v3) t = float64(float64(k)) - hi = x - t*_ln2_hi /* t*ln2_hi is exact here */ + hi = x3 - t*_ln2_hi /* t*ln2_hi is exact here */ lo = t * _ln2_lo } - x = hi - lo - c = hi - x - lo + x3 = hi - lo + c = hi - x3 - lo } else { if hx < uint32(0x3c900000) { /* |x| < 2**-54, return x */ if hx < uint32(0x00100000) { if uint64(4) == uint64(4) { - y = float32(float32(x)) + y = float32(float32(x3)) } else { if uint64(4) == uint64(8) { - y1 = float64(float32(float32(x))) + y1 = float64(float32(float32(x3))) } else { - y2 = float64(float32(float32(x))) + y2 = float64(float32(float32(x3))) } } } - return x + return x3 } else { k = 0 } } /* x is now in primary range */ - hfx = float64(0.5) * x - hxs = x * hfx + hfx = float64(0.5) * x3 + hxs = x3 * hfx r1 = float64(1) + hxs*(_Q1+hxs*(_Q2+hxs*(_Q3+hxs*(_Q4+hxs*_Q5)))) t = float64(3) - r1*hfx - e = hxs * ((r1 - t) / (Float64FromFloat64(6) - x*t)) + e = hxs * ((r1 - t) / (Float64FromFloat64(6) - x3*t)) if k == 0 { /* c is 0 */ - return x - (x*e - hxs) + return x3 - (x3*e - hxs) } - e = x*(e-c) - c + e = x3*(e-c) - c e -= hxs /* exp(x) ~ 2^k (Xreduced - e + 1) */ if k == -int32(1) { - return float64(0.5)*(x-e) - float64(0.5) + return float64(0.5)*(x3-e) - float64(0.5) } if k == int32(1) { - if x < -Float64FromFloat64(0.25) { - return -Float64FromFloat64(2) * (e - (x + Float64FromFloat64(0.5))) + if x3 < -Float64FromFloat64(0.25) { + return -Float64FromFloat64(2) * (e - (x3 + Float64FromFloat64(0.5))) } - return float64(1) + float64(2)*(x-e) + return float64(1) + float64(2)*(x3-e) } *(*Tuint64_t)(unsafe.Pointer(bp + 8)) = uint64(Int32FromInt32(0x3ff)+k) << int32(52) /* 2^k */ twopk = *(*float64)(unsafe.Pointer(bp + 8)) if k < 0 || k > int32(56) { /* suffice to return exp(x)-1 */ - y3 = x - e + float64(1) + y3 = x3 - e + float64(1) if k == int32(1024) { y3 = y3 * float64(2) * float64(8.98846567431158e+307) } else { @@ -104910,9 +104922,9 @@ func Xexpm1(tls *TLS, x float64) (r float64) { } *(*Tuint64_t)(unsafe.Pointer(bp + 8)) = uint64(Int32FromInt32(0x3ff)-k) << int32(52) /* 2^-k */ if k < int32(20) { - y3 = (x - e + (Float64FromInt32(1) - *(*float64)(unsafe.Pointer(bp + 8)))) * twopk + y3 = (x3 - e + (Float64FromInt32(1) - *(*float64)(unsafe.Pointer(bp + 8)))) * twopk } else { - y3 = (x - (e + *(*float64)(unsafe.Pointer(bp + 8))) + Float64FromInt32(1)) * twopk + y3 = (x3 - (e + *(*float64)(unsafe.Pointer(bp + 8))) + Float64FromInt32(1)) * twopk } return y3 } @@ -104928,9 +104940,9 @@ var _invln21 = float32(1.4426950216) /* 0x3fb8aa3b */ var _Q11 = float32(-Float64FromFloat64(0.033333212137)) /* -0x888868.0p-28 */ var _Q21 = float32(0.0015807170421) /* 0xcf3010.0p-33 */ -func Xexpm1f(tls *TLS, x float32) (r float32) { +func Xexpm1f(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -104952,31 +104964,31 @@ func Xexpm1f(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 hx = *(*Tuint32_t)(unsafe.Pointer(bp)) & uint32(0x7fffffff) sign = int32(*(*Tuint32_t)(unsafe.Pointer(bp)) >> int32(31)) /* filter out huge and non-finite argument */ if hx >= uint32(0x4195b844) { /* if |x|>=27*ln2 */ if hx > uint32(0x7f800000) { /* NaN */ - return x + return x3 } if sign != 0 { return float32(-Int32FromInt32(1)) } if hx > uint32(0x42b17217) { /* x > log(FLT_MAX) */ - x *= Float32FromFloat32(1.7014118346046923e+38) - return x + x3 *= Float32FromFloat32(1.7014118346046923e+38) + return x3 } } /* argument reduction */ if hx > uint32(0x3eb17218) { /* if |x| > 0.5 ln2 */ if hx < uint32(0x3F851592) { /* and |x| < 1.5 ln2 */ if !(sign != 0) { - hi = x - _ln2_hi1 + hi = x3 - _ln2_hi1 lo = _ln2_lo1 k = int32(1) } else { - hi = x + _ln2_hi1 + hi = x3 + _ln2_hi1 lo = -_ln2_lo1 k = -int32(1) } @@ -104986,56 +104998,56 @@ func Xexpm1f(tls *TLS, x float32) (r float32) { } else { v1 = Float32FromFloat32(0.5) } - k = int32(_invln21*x + v1) + k = int32(_invln21*x3 + v1) t = float32(float32(k)) - hi = x - t*_ln2_hi1 /* t*ln2_hi is exact here */ + hi = x3 - t*_ln2_hi1 /* t*ln2_hi is exact here */ lo = t * _ln2_lo1 } - x = hi - lo - c = hi - x - lo + x3 = hi - lo + c = hi - x3 - lo } else { if hx < uint32(0x33000000) { /* when |x|<2**-25, return x */ if hx < uint32(0x00800000) { if uint64(4) == uint64(4) { - y = x * x + y = x3 * x3 } else { if uint64(4) == uint64(8) { - y1 = float64(x * x) + y1 = float64(x3 * x3) } else { - y2 = float64(x * x) + y2 = float64(x3 * x3) } } } - return x + return x3 } else { k = 0 } } /* x is now in primary range */ - hfx = Float32FromFloat32(0.5) * x - hxs = x * hfx + hfx = Float32FromFloat32(0.5) * x3 + hxs = x3 * hfx r1 = Float32FromFloat32(1) + hxs*(_Q11+hxs*_Q21) t = Float32FromFloat32(3) - r1*hfx - e = hxs * ((r1 - t) / (Float32FromFloat32(6) - x*t)) + e = hxs * ((r1 - t) / (Float32FromFloat32(6) - x3*t)) if k == 0 { /* c is 0 */ - return x - (x*e - hxs) + return x3 - (x3*e - hxs) } - e = x*(e-c) - c + e = x3*(e-c) - c e -= hxs /* exp(x) ~ 2^k (Xreduced - e + 1) */ if k == -int32(1) { - return Float32FromFloat32(0.5)*(x-e) - Float32FromFloat32(0.5) + return Float32FromFloat32(0.5)*(x3-e) - Float32FromFloat32(0.5) } if k == int32(1) { - if x < -Float32FromFloat32(0.25) { - return -Float32FromFloat32(2) * (e - (x + Float32FromFloat32(0.5))) + if x3 < -Float32FromFloat32(0.25) { + return -Float32FromFloat32(2) * (e - (x3 + Float32FromFloat32(0.5))) } - return Float32FromFloat32(1) + Float32FromFloat32(2)*(x-e) + return Float32FromFloat32(1) + Float32FromFloat32(2)*(x3-e) } *(*Tuint32_t)(unsafe.Pointer(bp)) = uint32((int32(0x7f) + k) << int32(23)) /* 2^k */ twopk = *(*float32)(unsafe.Pointer(bp)) if k < 0 || k > int32(56) { /* suffice to return exp(x)-1 */ - y3 = x - e + Float32FromFloat32(1) + y3 = x3 - e + Float32FromFloat32(1) if k == int32(128) { y3 = y3 * Float32FromFloat32(2) * Float32FromFloat32(1.7014118346046923e+38) } else { @@ -105045,9 +105057,9 @@ func Xexpm1f(tls *TLS, x float32) (r float32) { } *(*Tuint32_t)(unsafe.Pointer(bp)) = uint32((int32(0x7f) - k) << int32(23)) /* 2^-k */ if k < int32(23) { - y3 = (x - e + (Float32FromInt32(1) - *(*float32)(unsafe.Pointer(bp)))) * twopk + y3 = (x3 - e + (Float32FromInt32(1) - *(*float32)(unsafe.Pointer(bp)))) * twopk } else { - y3 = (x - (e + *(*float32)(unsafe.Pointer(bp))) + Float32FromInt32(1)) * twopk + y3 = (x3 - (e + *(*float32)(unsafe.Pointer(bp))) + Float32FromInt32(1)) * twopk } return y3 } @@ -105241,9 +105253,9 @@ const DBL_EPSILON7 = 2.220446049250313e-16 var _toint3 = Float64FromInt32(1) / Float64FromFloat64(2.220446049250313e-16) -func Xfloor(tls *TLS, x float64) (r float64) { +func Xfloor(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -105264,16 +105276,16 @@ func Xfloor(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(52) & uint64(0x7ff)) - if e >= Int32FromInt32(0x3ff)+Int32FromInt32(52) || x == Float64FromInt32(0) { - return x + if e >= Int32FromInt32(0x3ff)+Int32FromInt32(52) || x3 == Float64FromInt32(0) { + return x3 } /* y = int(x) - x, where int(x) is an integer neighbor of x */ if *(*Tuint64_t)(unsafe.Pointer(bp))>>int32(63) != 0 { - y3 = x - _toint3 + _toint3 - x + y3 = x3 - _toint3 + _toint3 - x3 } else { - y3 = x + _toint3 - _toint3 - x + y3 = x3 + _toint3 - _toint3 - x3 } /* special case because of non-nearest rounding modes */ if e <= Int32FromInt32(0x3ff)-Int32FromInt32(1) { @@ -105294,16 +105306,16 @@ func Xfloor(tls *TLS, x float64) (r float64) { return float64(v1) } if y3 > Float64FromInt32(0) { - return x + y3 - Float64FromInt32(1) + return x3 + y3 - Float64FromInt32(1) } - return x + y3 + return x3 + y3 } const DBL_EPSILON8 = 0 -func Xfloorf(tls *TLS, x float32) (r float32) { +func Xfloorf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -105324,23 +105336,23 @@ func Xfloorf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint32_t)(unsafe.Pointer(bp))>>Int32FromInt32(23)&Uint32FromInt32(0xff)) - int32(0x7f) if e >= int32(23) { - return x + return x3 } if e >= 0 { m = uint32(int32(0x007fffff) >> e) if *(*Tuint32_t)(unsafe.Pointer(bp))&m == uint32(0) { - return x + return x3 } if uint64(4) == uint64(4) { - y = x + Float32FromFloat32(1.329227995784916e+36) + y = x3 + Float32FromFloat32(1.329227995784916e+36) } else { if uint64(4) == uint64(8) { - y1 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y1 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } else { - y2 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } } if *(*Tuint32_t)(unsafe.Pointer(bp))>>int32(31) != 0 { @@ -105349,12 +105361,12 @@ func Xfloorf(tls *TLS, x float32) (r float32) { *(*Tuint32_t)(unsafe.Pointer(bp)) &= ^m } else { if uint64(4) == uint64(4) { - y = x + Float32FromFloat32(1.329227995784916e+36) + y = x3 + Float32FromFloat32(1.329227995784916e+36) } else { if uint64(4) == uint64(8) { - y1 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y1 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } else { - y2 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } } if *(*Tuint32_t)(unsafe.Pointer(bp))>>int32(31) == uint32(0) { @@ -105431,9 +105443,9 @@ func _mul(tls *TLS, hi uintptr, lo uintptr, x Tuint64_t, y Tuint64_t) { *(*Tuint64_t)(unsafe.Pointer(hi)) = t3 + t2>>Int32FromInt32(32) + BoolUint64(t1 > *(*Tuint64_t)(unsafe.Pointer(lo))) } -func Xfma(tls *TLS, x float64, y float64, z float64) (r1 float64) { +func Xfma(tls *TLS, x1 float64, y float64, z float64) (r1 float64) { if __ccgo_strace { - trc("tls=%v x=%v y=%v z=%v, (%v:)", tls, x, y, z, origin(2)) + trc("tls=%v x1=%v y=%v z=%v, (%v:)", tls, x1, y, z, origin(2)) defer func() { trc("-> %v", r1) }() } bp := tls.Alloc(16) @@ -105448,15 +105460,15 @@ func Xfma(tls *TLS, x float64, y float64, z float64) (r1 float64) { var _ /* rhi at bp+0 */ Tuint64_t var _ /* rlo at bp+8 */ Tuint64_t _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, d, e, fltmin, i, nonzero, nx, ny, nz, r, samesign, sign, t, tiny, zhi, zlo, v1, v2, v4, v5 - nx = _normalize(tls, x) + nx = _normalize(tls, x1) ny = _normalize(tls, y) nz = _normalize(tls, z) if nx.Fe >= Int32FromInt32(0x7ff)-Int32FromInt32(0x3ff)-Int32FromInt32(52)-Int32FromInt32(1) || ny.Fe >= Int32FromInt32(0x7ff)-Int32FromInt32(0x3ff)-Int32FromInt32(52)-Int32FromInt32(1) { - return x*y + z + return x1*y + z } if nz.Fe >= Int32FromInt32(0x7ff)-Int32FromInt32(0x3ff)-Int32FromInt32(52)-Int32FromInt32(1) { if nz.Fe > Int32FromInt32(0x7ff)-Int32FromInt32(0x3ff)-Int32FromInt32(52)-Int32FromInt32(1) { /* z==0 */ - return x*y + z + return x1*y + z } return z } @@ -105547,7 +105559,7 @@ func Xfma(tls *TLS, x float64, y float64, z float64) (r1 float64) { } } else { /* exact +-0 */ - return x*y + z + return x1*y + z } } e -= d @@ -106444,9 +106456,9 @@ func Xhypotl(tls *TLS, x float64, y float64) (r float64) { return float64(Xhypot(tls, float64(float64(x)), float64(float64(y)))) } -func Xilogb(tls *TLS, x float64) (r int32) { +func Xilogb(tls *TLS, x3 float64) (r int32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -106467,7 +106479,7 @@ func Xilogb(tls *TLS, x float64) (r int32) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 i = *(*Tuint64_t)(unsafe.Pointer(bp)) e = int32(i >> int32(52) & uint64(0x7ff)) if !(e != 0) { @@ -106518,9 +106530,9 @@ func Xilogb(tls *TLS, x float64) (r int32) { return e - int32(0x3ff) } -func Xilogbf(tls *TLS, x float32) (r int32) { +func Xilogbf(tls *TLS, x3 float32) (r int32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -106541,7 +106553,7 @@ func Xilogbf(tls *TLS, x float32) (r int32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 i = *(*Tuint32_t)(unsafe.Pointer(bp)) e = int32(i >> int32(23) & uint32(0xff)) if !(e != 0) { @@ -109117,9 +109129,9 @@ func _top16(tls *TLS, x float64) (r Tuint32_t) { return uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(48)) } -func Xlog(tls *TLS, x float64) (r1 float64) { +func Xlog(tls *TLS, x1 float64) (r1 float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x1=%v, (%v:)", tls, x1, origin(2)) defer func() { trc("-> %v", r1) }() } var hi, invc, kd, lo, logc, r, r2, r3, rhi, rlo, w, y1, z Tdouble_t @@ -109129,8 +109141,8 @@ func Xlog(tls *TLS, x float64) (r1 float64) { var y, v1, v10, v2, v3, v4, v6, v8, v9 float64 var v5 bool _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = hi, i, invc, ix, iz, k, kd, lo, logc, r, r2, r3, rhi, rlo, tmp, top, w, y, y1, z, v1, v10, v2, v3, v4, v5, v6, v8, v9 - ix = *(*Tuint64_t)(unsafe.Pointer(&x)) - top = _top16(tls, x) + ix = *(*Tuint64_t)(unsafe.Pointer(&x1)) + top = _top16(tls, x1) v1 = Float64FromFloat64(1) - Float64FromFloat64(0.0625) v2 = Float64FromFloat64(1) + Float64FromFloat64(0.064697265625) v3 = Float64FromFloat64(1) - Float64FromFloat64(0.0625) @@ -109143,7 +109155,7 @@ func Xlog(tls *TLS, x float64) (r1 float64) { if v5 && ix == *(*Tuint64_t)(unsafe.Pointer(&v4)) { return Float64FromInt32(0) } - r = x - float64(1) + r = x1 - float64(1) r2 = r * r r3 = r * r2 y1 = r3 * (*(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 1*8)) + r**(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 2*8)) + r2**(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 3*8)) + r3*(*(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 4*8))+r**(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 5*8))+r2**(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 6*8))+r3*(*(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 7*8))+r**(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 8*8))+r2**(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 9*8))+r3**(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 10*8))))) @@ -109170,13 +109182,13 @@ func Xlog(tls *TLS, x float64) (r1 float64) { } v8 = float64(X__builtin_inff(tls)) if ix == *(*Tuint64_t)(unsafe.Pointer(&v8)) { /* log(inf) == inf. */ - return x + return x1 } if top&uint32(0x8000) != 0 || top&uint32(0x7ff0) == uint32(0x7ff0) { - return X__math_invalid(tls, x) + return X__math_invalid(tls, x1) } /* x is subnormal, normalize it. */ - v9 = x * float64(4.503599627370496e+15) + v9 = x1 * float64(4.503599627370496e+15) ix = *(*Tuint64_t)(unsafe.Pointer(&v9)) ix = Tuint64_t(uint64(ix) - Uint64FromUint64(52)< %v", r) }() } bp := tls.Alloc(16) @@ -109442,52 +109454,52 @@ func Xlog1p(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 hx = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(32)) k = int32(1) if hx < uint32(0x3fda827a) || hx>>int32(31) != 0 { /* 1+x < sqrt(2)+ */ if hx >= uint32(0xbff00000) { /* x <= -1.0 */ - if x == float64(-Int32FromInt32(1)) { - return x / float64(0) + if x3 == float64(-Int32FromInt32(1)) { + return x3 / float64(0) } /* log1p(-1) = -inf */ - return (x - x) / float64(0) /* log1p(x<-1) = NaN */ + return (x3 - x3) / float64(0) /* log1p(x<-1) = NaN */ } if hx<= uint32(0x7ff00000) { - return x + return x3 } } if k != 0 { - *(*float64)(unsafe.Pointer(bp)) = Float64FromInt32(1) + x + *(*float64)(unsafe.Pointer(bp)) = Float64FromInt32(1) + x3 hu = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(32)) hu += uint32(Int32FromInt32(0x3ff00000) - Int32FromInt32(0x3fe6a09e)) k = int32(hu>>Int32FromInt32(20)) - int32(0x3ff) /* correction term ~ log(1+x)-log(u), avoid underflow in c/u */ if k < int32(54) { if k >= int32(2) { - v1 = Float64FromInt32(1) - (*(*float64)(unsafe.Pointer(bp)) - x) + v1 = Float64FromInt32(1) - (*(*float64)(unsafe.Pointer(bp)) - x3) } else { - v1 = x - (*(*float64)(unsafe.Pointer(bp)) - Float64FromInt32(1)) + v1 = x3 - (*(*float64)(unsafe.Pointer(bp)) - Float64FromInt32(1)) } c = v1 c /= *(*float64)(unsafe.Pointer(bp)) @@ -109518,9 +109530,9 @@ var _Lg23 = float32(0.40000972151756287) /* 0.40000972152 */ var _Lg33 = float32(0.2849878668785095) /* 0.28498786688 */ var _Lg43 = float32(0.24279078841209412) /* 0.24279078841 */ -func Xlog1pf(tls *TLS, x float32) (r float32) { +func Xlog1pf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -109542,52 +109554,52 @@ func Xlog1pf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 ix = *(*Tuint32_t)(unsafe.Pointer(bp)) k = int32(1) if ix < uint32(0x3ed413d0) || ix>>int32(31) != 0 { /* 1+x < sqrt(2)+ */ if ix >= uint32(0xbf800000) { /* x <= -1.0 */ - if x == float32(-Int32FromInt32(1)) { - return x / Float32FromFloat32(0) + if x3 == float32(-Int32FromInt32(1)) { + return x3 / Float32FromFloat32(0) } /* log1p(-1)=+inf */ - return (x - x) / Float32FromFloat32(0) /* log1p(x<-1)=NaN */ + return (x3 - x3) / Float32FromFloat32(0) /* log1p(x<-1)=NaN */ } if ix<= uint32(0x7f800000) { - return x + return x3 } } if k != 0 { - *(*float32)(unsafe.Pointer(bp)) = Float32FromInt32(1) + x + *(*float32)(unsafe.Pointer(bp)) = Float32FromInt32(1) + x3 iu = *(*Tuint32_t)(unsafe.Pointer(bp)) iu += uint32(Int32FromInt32(0x3f800000) - Int32FromInt32(0x3f3504f3)) k = int32(iu>>Int32FromInt32(23)) - int32(0x7f) /* correction term ~ log(1+x)-log(u), avoid underflow in c/u */ if k < int32(25) { if k >= int32(2) { - v1 = Float32FromInt32(1) - (*(*float32)(unsafe.Pointer(bp)) - x) + v1 = Float32FromInt32(1) - (*(*float32)(unsafe.Pointer(bp)) - x3) } else { - v1 = x - (*(*float32)(unsafe.Pointer(bp)) - Float32FromInt32(1)) + v1 = x3 - (*(*float32)(unsafe.Pointer(bp)) - Float32FromInt32(1)) } c = v1 c /= *(*float32)(unsafe.Pointer(bp)) @@ -109630,9 +109642,9 @@ func _top161(tls *TLS, x float64) (r Tuint32_t) { return uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(48)) } -func Xlog2(tls *TLS, x float64) (r1 float64) { +func Xlog2(tls *TLS, x1 float64) (r1 float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x1=%v, (%v:)", tls, x1, origin(2)) defer func() { trc("-> %v", r1) }() } var hi, invc, kd, lo, logc, p, r, r2, r4, rhi, rhi1, rlo, rlo1, t1, t2, t3, y1, z Tdouble_t @@ -109642,8 +109654,8 @@ func Xlog2(tls *TLS, x float64) (r1 float64) { var y, v1, v10, v11, v13, v14, v2, v3, v4, v7, v8 float64 var v5 bool _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = hi, i, invc, ix, iz, k, kd, lo, logc, p, r, r2, r4, rhi, rhi1, rlo, rlo1, t1, t2, t3, tmp, top, y, y1, z, v1, v10, v11, v12, v13, v14, v2, v3, v4, v5, v6, v7, v8 - ix = *(*Tuint64_t)(unsafe.Pointer(&x)) - top = _top161(tls, x) + ix = *(*Tuint64_t)(unsafe.Pointer(&x1)) + top = _top161(tls, x1) v1 = Float64FromFloat64(1) - Float64FromFloat64(0.04239702224731445) v2 = Float64FromFloat64(1) + Float64FromFloat64(0.044274330139160156) v3 = Float64FromFloat64(1) - Float64FromFloat64(0.04239702224731445) @@ -109656,7 +109668,7 @@ func Xlog2(tls *TLS, x float64) (r1 float64) { if v5 && ix == *(*Tuint64_t)(unsafe.Pointer(&v4)) { return Float64FromInt32(0) } - r = x - float64(1) + r = x1 - float64(1) v7 = r v6 = uint64(uint64(*(*Tuint64_t)(unsafe.Pointer(&v7))) & (-Uint64FromUint64(1) << Int32FromInt32(32))) rhi = *(*float64)(unsafe.Pointer(&v6)) @@ -109684,13 +109696,13 @@ func Xlog2(tls *TLS, x float64) (r1 float64) { } v10 = float64(X__builtin_inff(tls)) if ix == *(*Tuint64_t)(unsafe.Pointer(&v10)) { /* log(inf) == inf. */ - return x + return x1 } if top&uint32(0x8000) != 0 || top&uint32(0x7ff0) == uint32(0x7ff0) { - return X__math_invalid(tls, x) + return X__math_invalid(tls, x1) } /* x is subnormal, normalize it. */ - v11 = x * float64(4.503599627370496e+15) + v11 = x1 * float64(4.503599627370496e+15) ix = *(*Tuint64_t)(unsafe.Pointer(&v11)) ix = Tuint64_t(uint64(ix) - Uint64FromUint64(52)< %v", r1) }() } var i, k int32 @@ -109782,7 +109794,7 @@ func Xlog2f(tls *TLS, x float32) (r1 float32) { var ix, iz, tmp, top Tuint32_t var y, v1, v2 float32 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = i, invc, ix, iz, k, logc, p, r, r2, tmp, top, y, y0, y1, z, v1, v2 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x1)) /* Fix sign of zero with downward rounding when x==1. */ if Bool(int32(WANT_ROUNDING) != 0) && ix == uint32(0x3f800000) { return Float32FromInt32(0) @@ -109793,13 +109805,13 @@ func Xlog2f(tls *TLS, x float32) (r1 float32) { return X__math_divzerof(tls, uint32(1)) } if ix == uint32(0x7f800000) { /* log2(inf) == inf. */ - return x + return x1 } if ix&uint32(0x80000000) != 0 || ix*uint32(2) >= uint32(0xff000000) { - return X__math_invalidf(tls, x) + return X__math_invalidf(tls, x1) } /* x is subnormal, normalize it. */ - v1 = x * Float32FromFloat32(8.388608e+06) + v1 = x1 * Float32FromFloat32(8.388608e+06) ix = *(*Tuint32_t)(unsafe.Pointer(&v1)) ix -= uint32(Int32FromInt32(23) << Int32FromInt32(23)) } @@ -109966,9 +109978,9 @@ ULP error: 0.818 (nearest rounding.) Relative error: 1.957 * 2^-26 (before rounding.) */ -func Xlogf(tls *TLS, x float32) (r1 float32) { +func Xlogf(tls *TLS, x1 float32) (r1 float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x1=%v, (%v:)", tls, x1, origin(2)) defer func() { trc("-> %v", r1) }() } var i, k int32 @@ -109976,7 +109988,7 @@ func Xlogf(tls *TLS, x float32) (r1 float32) { var ix, iz, tmp Tuint32_t var y, v1, v2 float32 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = i, invc, ix, iz, k, logc, r, r2, tmp, y, y0, y1, z, v1, v2 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x1)) /* Fix sign of zero with downward rounding when x==1. */ if Bool(int32(WANT_ROUNDING) != 0) && ix == uint32(0x3f800000) { return Float32FromInt32(0) @@ -109987,13 +109999,13 @@ func Xlogf(tls *TLS, x float32) (r1 float32) { return X__math_divzerof(tls, uint32(1)) } if ix == uint32(0x7f800000) { /* log(inf) == inf. */ - return x + return x1 } if ix&uint32(0x80000000) != 0 || ix*uint32(2) >= uint32(0xff000000) { - return X__math_invalidf(tls, x) + return X__math_invalidf(tls, x1) } /* x is subnormal, normalize it. */ - v1 = x * Float32FromFloat32(8.388608e+06) + v1 = x1 * Float32FromFloat32(8.388608e+06) ix = *(*Tuint32_t)(unsafe.Pointer(&v1)) ix -= uint32(Int32FromInt32(23) << Int32FromInt32(23)) } @@ -110259,9 +110271,9 @@ func Xnanl(tls *TLS, s uintptr) (r float64) { return float64(X__builtin_nanf(tls, __ccgo_ts)) } -func Xnextafter(tls *TLS, x float64, y3 float64) (r float64) { +func Xnextafter(tls *TLS, x3 float64, y3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v y3=%v, (%v:)", tls, x, y3, origin(2)) + trc("tls=%v x3=%v y3=%v, (%v:)", tls, x3, y3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(32) @@ -110292,7 +110304,7 @@ func Xnextafter(tls *TLS, x float64, y3 float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp + 8)) = x + *(*float64)(unsafe.Pointer(bp + 8)) = x3 *(*struct { Fi [0]Tuint64_t Ff float64 @@ -110301,7 +110313,7 @@ func Xnextafter(tls *TLS, x float64, y3 float64) (r float64) { Ff float64 }{} *(*float64)(unsafe.Pointer(bp + 16)) = y3 - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 v1 = *(*uint64)(unsafe.Pointer(bp)) goto _2 _2: @@ -110313,7 +110325,7 @@ _2: _4: } if v5 || BoolInt32(v3&(-Uint64FromUint64(1)>>Int32FromInt32(1)) > Uint64FromUint64(0x7ff)< %v", r) }() } bp := tls.Alloc(16) @@ -110392,7 +110404,7 @@ func Xnextafterf(tls *TLS, x float32, y3 float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp + 4)) = x + *(*float32)(unsafe.Pointer(bp + 4)) = x3 *(*struct { Fi [0]Tuint32_t Ff float32 @@ -110401,7 +110413,7 @@ func Xnextafterf(tls *TLS, x float32, y3 float32) (r float32) { Ff float32 }{} *(*float32)(unsafe.Pointer(bp + 8)) = y3 - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 v1 = *(*uint32)(unsafe.Pointer(bp)) goto _2 _2: @@ -110413,7 +110425,7 @@ _2: _4: } if v5 || BoolInt32(v3&uint32(0x7fffffff) > uint32(0x7f800000)) != 0 { - return x + y3 + return x3 + y3 } if *(*Tuint32_t)(unsafe.Pointer(bp + 4)) == *(*Tuint32_t)(unsafe.Pointer(bp + 8)) { return y3 @@ -110436,24 +110448,24 @@ _2: /* raise overflow if ux.f is infinite and x is finite */ if e == uint32(0x7f800000) { if uint64(4) == uint64(4) { - y = x + x + y = x3 + x3 } else { if uint64(4) == uint64(8) { - y1 = float64(x + x) + y1 = float64(x3 + x3) } else { - y2 = float64(x + x) + y2 = float64(x3 + x3) } } } /* raise underflow if ux.f is subnormal or zero */ if e == uint32(0) { if uint64(4) == uint64(4) { - y = x*x + *(*float32)(unsafe.Pointer(bp + 4))**(*float32)(unsafe.Pointer(bp + 4)) + y = x3*x3 + *(*float32)(unsafe.Pointer(bp + 4))**(*float32)(unsafe.Pointer(bp + 4)) } else { if uint64(4) == uint64(8) { - y1 = float64(x*x + *(*float32)(unsafe.Pointer(bp + 4))**(*float32)(unsafe.Pointer(bp + 4))) + y1 = float64(x3*x3 + *(*float32)(unsafe.Pointer(bp + 4))**(*float32)(unsafe.Pointer(bp + 4))) } else { - y2 = float64(x*x + *(*float32)(unsafe.Pointer(bp + 4))**(*float32)(unsafe.Pointer(bp + 4))) + y2 = float64(x3*x3 + *(*float32)(unsafe.Pointer(bp + 4))**(*float32)(unsafe.Pointer(bp + 4))) } } } @@ -110476,9 +110488,9 @@ func Xnexttoward(tls *TLS, x float64, y float64) (r float64) { return Xnextafter(tls, x, float64(float64(y))) } -func Xnexttowardf(tls *TLS, x float32, y3 float64) (r float32) { +func Xnexttowardf(tls *TLS, x3 float32, y3 float64) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v y3=%v, (%v:)", tls, x, y3, origin(2)) + trc("tls=%v x3=%v y3=%v, (%v:)", tls, x3, y3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(32) @@ -110509,8 +110521,8 @@ func Xnexttowardf(tls *TLS, x float32, y3 float64) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp + 16)) = x - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp + 16)) = x3 + *(*float32)(unsafe.Pointer(bp)) = x3 v1 = *(*uint32)(unsafe.Pointer(bp)) goto _2 _2: @@ -110522,12 +110534,12 @@ _2: _4: } if v5 || BoolInt32(v3&(-Uint64FromUint64(1)>>Int32FromInt32(1)) > Uint64FromUint64(0x7ff)<= _top124(tls, float64(512))-_top124(tls, float64(5.551115123125783e-17)) { if abstop-_top124(tls, float64(5.551115123125783e-17)) >= uint32(0x80000000) { /* Avoid spurious underflow for tiny x. */ /* Note: 0 is common input. */ - one = float64(1) + x + one = float64(1) + x1 if sign_bias != 0 { v1 = -one } else { @@ -110770,7 +110782,7 @@ func _exp_inline(tls *TLS, x Tdouble_t, xtail Tdouble_t, sign_bias Tuint32_t) (r } if abstop >= _top124(tls, float64(1024)) { /* Note: inf and nan are already handled. */ - v2 = x + v2 = x1 if *(*Tuint64_t)(unsafe.Pointer(&v2))>>int32(63) != 0 { return X__math_uflow(tls, sign_bias) } else { @@ -110782,7 +110794,7 @@ func _exp_inline(tls *TLS, x Tdouble_t, xtail Tdouble_t, sign_bias Tuint32_t) (r } /* exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]. */ /* x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]. */ - z = X__exp_data.Finvln2N * x + z = X__exp_data.Finvln2N * x1 /* z - kd is in [-1, 1] in non-nearest rounding modes. */ y = z + X__exp_data.Fshift v3 = y @@ -110792,7 +110804,7 @@ _4: v5 = kd ki = *(*Tuint64_t)(unsafe.Pointer(&v5)) kd -= X__exp_data.Fshift - r = x + kd*X__exp_data.Fnegln2hiN + kd*X__exp_data.Fnegln2loN + r = x1 + kd*X__exp_data.Fnegln2hiN + kd*X__exp_data.Fnegln2loN /* The code assumes 2^-200 < |xtail| < 2^-8/N. */ r += xtail /* 2^(k/N) ~= scale * (1 + tail). */ @@ -110854,9 +110866,9 @@ func _zeroinfnan(tls *TLS, i Tuint64_t) (r int32) { return BoolInt32(uint64(2)*i-uint64(1) >= uint64(2)**(*Tuint64_t)(unsafe.Pointer(&v1))-uint64(1)) } -func Xpow(tls *TLS, x float64, y1 float64) (r float64) { +func Xpow(tls *TLS, x1 float64, y1 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v y1=%v, (%v:)", tls, x, y1, origin(2)) + trc("tls=%v x1=%v y1=%v, (%v:)", tls, x1, y1, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -110870,9 +110882,9 @@ func Xpow(tls *TLS, x float64, y1 float64) (r float64) { var _ /* lo at bp+0 */ Tdouble_t _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ehi, elo, hi, ix, iy, lhi, llo, sign_bias, topx, topy, x2, y, yhi, yint, ylo, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v2, v3, v4, v5, v6, v7, v8 sign_bias = uint32(0) - ix = *(*Tuint64_t)(unsafe.Pointer(&x)) + ix = *(*Tuint64_t)(unsafe.Pointer(&x1)) iy = *(*Tuint64_t)(unsafe.Pointer(&y1)) - topx = _top124(tls, x) + topx = _top124(tls, x1) topy = _top124(tls, y1) if topx-uint32(0x001) >= uint32(Int32FromInt32(0x7ff)-Int32FromInt32(0x001)) || topy&uint32(0x7ff)-uint32(0x3be) >= uint32(Int32FromInt32(0x43e)-Int32FromInt32(0x3be)) { /* Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0 @@ -110892,7 +110904,7 @@ func Xpow(tls *TLS, x float64, y1 float64) (r float64) { v3 = float64(X__builtin_inff(tls)) } if v4 || uint64(2)*iy > uint64(2)**(*Tuint64_t)(unsafe.Pointer(&v3)) { - return x + y1 + return x1 + y1 } v5 = float64(1) if uint64(2)*ix == uint64(2)**(*Tuint64_t)(unsafe.Pointer(&v5)) { @@ -110905,7 +110917,7 @@ func Xpow(tls *TLS, x float64, y1 float64) (r float64) { return y1 * y1 } if _zeroinfnan(tls, ix) != 0 { - x2 = x * x + x2 = x1 * x1 if ix>>int32(63) != 0 && _checkint(tls, iy) == int32(1) { x2 = -x2 } @@ -110927,7 +110939,7 @@ func Xpow(tls *TLS, x float64, y1 float64) (r float64) { /* Finite x < 0. */ yint = _checkint(tls, iy) if yint == 0 { - return X__math_invalid(tls, x) + return X__math_invalid(tls, x1) } if yint == int32(1) { sign_bias = uint32(Int32FromInt32(0x800) << Int32FromInt32(EXP_TABLE_BITS)) @@ -110965,7 +110977,7 @@ func Xpow(tls *TLS, x float64, y1 float64) (r float64) { } if topx == uint32(0) { /* Normalize subnormal x so exponent becomes negative. */ - v15 = x * float64(4.503599627370496e+15) + v15 = x1 * float64(4.503599627370496e+15) ix = *(*Tuint64_t)(unsafe.Pointer(&v15)) ix &= uint64(0x7fffffffffffffff) ix = Tuint64_t(uint64(ix) - Uint64FromUint64(52)<= Uint32FromUint32(2)*Uint32FromInt32(0x7f800000)-Uint32FromInt32(1)) } -func Xpowf(tls *TLS, x float32, y1 float32) (r float32) { +func Xpowf(tls *TLS, x1 float32, y1 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v y1=%v, (%v:)", tls, x, y1, origin(2)) + trc("tls=%v x1=%v y1=%v, (%v:)", tls, x1, y1, origin(2)) defer func() { trc("-> %v", r) }() } var ix, iy, sign_bias Tuint32_t @@ -111132,7 +111144,7 @@ func Xpowf(tls *TLS, x float32, y1 float32) (r float32) { var v5, v6 float64 _, _, _, _, _, _, _, _, _, _, _, _, _ = ix, iy, logx, sign_bias, x2, y, yint, ylogx, v1, v2, v4, v5, v6 sign_bias = uint32(0) - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x1)) iy = *(*Tuint32_t)(unsafe.Pointer(&y1)) if ix-uint32(0x00800000) >= uint32(Int32FromInt32(0x7f800000)-Int32FromInt32(0x00800000)) || _zeroinfnan1(tls, iy) != 0 { /* Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan). */ @@ -111144,7 +111156,7 @@ func Xpowf(tls *TLS, x float32, y1 float32) (r float32) { return Float32FromFloat32(1) } if uint32(2)*ix > Uint32FromUint32(2)*Uint32FromInt32(0x7f800000) || uint32(2)*iy > Uint32FromUint32(2)*Uint32FromInt32(0x7f800000) { - return x + y1 + return x1 + y1 } if uint32(2)*ix == uint32(Int32FromInt32(2)*Int32FromInt32(0x3f800000)) { return Float32FromFloat32(1) @@ -111155,7 +111167,7 @@ func Xpowf(tls *TLS, x float32, y1 float32) (r float32) { return y1 * y1 } if _zeroinfnan1(tls, ix) != 0 { - x2 = x * x + x2 = x1 * x1 if ix&uint32(0x80000000) != 0 && _checkint1(tls, iy) == int32(1) { x2 = -x2 } @@ -111177,7 +111189,7 @@ func Xpowf(tls *TLS, x float32, y1 float32) (r float32) { /* Finite x < 0. */ yint = _checkint1(tls, iy) if yint == 0 { - return X__math_invalidf(tls, x) + return X__math_invalidf(tls, x1) } if yint == int32(1) { sign_bias = uint32(Int32FromInt32(1) << (Int32FromInt32(EXP2F_TABLE_BITS) + Int32FromInt32(11))) @@ -111186,7 +111198,7 @@ func Xpowf(tls *TLS, x float32, y1 float32) (r float32) { } if ix < uint32(0x00800000) { /* Normalize subnormal x so exponent becomes negative. */ - v4 = x * Float32FromFloat32(8.388608e+06) + v4 = x1 * Float32FromFloat32(8.388608e+06) ix = *(*Tuint32_t)(unsafe.Pointer(&v4)) ix &= uint32(0x7fffffff) ix -= uint32(Int32FromInt32(23) << Int32FromInt32(23)) @@ -111411,6 +111423,7 @@ func Xremquo(tls *TLS, x float64, y float64, quo uintptr) (r float64) { ex-- } } + goto end end: ; /* scale result and decide between |x| and |x|-|y| */ @@ -111581,6 +111594,7 @@ func Xremquof(tls *TLS, x float32, y float32, quo uintptr) (r float32) { ex-- } } + goto end end: ; /* scale result and decide between |x| and |x|-|y| */ @@ -111733,9 +111747,9 @@ const DBL_EPSILON11 = 2.220446049250313e-16 var _toint6 = Float64FromInt32(1) / Float64FromFloat64(2.220446049250313e-16) -func Xround(tls *TLS, x float64) (r float64) { +func Xround(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -111756,35 +111770,35 @@ func Xround(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(52) & uint64(0x7ff)) if e >= Int32FromInt32(0x3ff)+Int32FromInt32(52) { - return x + return x3 } if *(*Tuint64_t)(unsafe.Pointer(bp))>>int32(63) != 0 { - x = -x + x3 = -x3 } if e < Int32FromInt32(0x3ff)-Int32FromInt32(1) { /* raise inexact if x!=0 */ if uint64(8) == uint64(4) { - y = float32(x + _toint6) + y = float32(x3 + _toint6) } else { if uint64(8) == uint64(8) { - y1 = x + _toint6 + y1 = x3 + _toint6 } else { - y2 = float64(x + _toint6) + y2 = float64(x3 + _toint6) } } return Float64FromInt32(0) * *(*float64)(unsafe.Pointer(bp)) } - y3 = x + _toint6 - _toint6 - x + y3 = x3 + _toint6 - _toint6 - x3 if y3 > float64(0.5) { - y3 = y3 + x - Float64FromInt32(1) + y3 = y3 + x3 - Float64FromInt32(1) } else { if y3 <= -Float64FromFloat64(0.5) { - y3 = y3 + x + Float64FromInt32(1) + y3 = y3 + x3 + Float64FromInt32(1) } else { - y3 = y3 + x + y3 = y3 + x3 } } if *(*Tuint64_t)(unsafe.Pointer(bp))>>int32(63) != 0 { @@ -111798,9 +111812,9 @@ const FLT_EPSILON3 = 1.1920928955078125e-07 var _toint7 = Float32FromInt32(1) / Float32FromFloat32(1.1920928955078125e-07) -func Xroundf(tls *TLS, x float32) (r float32) { +func Xroundf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -111821,34 +111835,34 @@ func Xroundf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint32_t)(unsafe.Pointer(bp)) >> int32(23) & uint32(0xff)) if e >= Int32FromInt32(0x7f)+Int32FromInt32(23) { - return x + return x3 } if *(*Tuint32_t)(unsafe.Pointer(bp))>>int32(31) != 0 { - x = -x + x3 = -x3 } if e < Int32FromInt32(0x7f)-Int32FromInt32(1) { if uint64(4) == uint64(4) { - y = x + _toint7 + y = x3 + _toint7 } else { if uint64(4) == uint64(8) { - y1 = float64(x + _toint7) + y1 = float64(x3 + _toint7) } else { - y2 = float64(x + _toint7) + y2 = float64(x3 + _toint7) } } return Float32FromInt32(0) * *(*float32)(unsafe.Pointer(bp)) } - y3 = x + _toint7 - _toint7 - x + y3 = x3 + _toint7 - _toint7 - x3 if y3 > Float32FromFloat32(0.5) { - y3 = y3 + x - Float32FromInt32(1) + y3 = y3 + x3 - Float32FromInt32(1) } else { if y3 <= -Float32FromFloat32(0.5) { - y3 = y3 + x + Float32FromInt32(1) + y3 = y3 + x3 + Float32FromInt32(1) } else { - y3 = y3 + x + y3 = y3 + x3 } } if *(*Tuint32_t)(unsafe.Pointer(bp))>>int32(31) != 0 { @@ -112117,9 +112131,9 @@ func Xsignificandf(tls *TLS, x float32) (r float32) { return Xscalbnf(tls, x, -Xilogbf(tls, x)) } -func Xsin(tls *TLS, x float64) (r float64) { +func Xsin(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -112131,7 +112145,7 @@ func Xsin(tls *TLS, x float64) (r float64) { var _ /* y at bp+0 */ [2]float64 _, _, _, _, _, _, _, _ = ix, n, y, y1, y2, v1, v2, v3 /* High word of x. */ - ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(32)) + ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x3)) >> int32(32)) ix &= uint32(0x7fffffff) /* |x| ~< pi/4 */ if ix <= uint32(0x3fe921fb) { @@ -112139,38 +112153,38 @@ func Xsin(tls *TLS, x float64) (r float64) { /* raise inexact if x != 0 and underflow if subnormal*/ if uint64(8) == uint64(4) { if ix < uint32(0x00100000) { - v1 = x / Float64FromFloat32(1.329227995784916e+36) + v1 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v1 = x + Float64FromFloat32(1.329227995784916e+36) + v1 = x3 + Float64FromFloat32(1.329227995784916e+36) } y = float32(v1) } else { if uint64(8) == uint64(8) { if ix < uint32(0x00100000) { - v2 = x / Float64FromFloat32(1.329227995784916e+36) + v2 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v2 = x + Float64FromFloat32(1.329227995784916e+36) + v2 = x3 + Float64FromFloat32(1.329227995784916e+36) } y1 = v2 } else { if ix < uint32(0x00100000) { - v3 = x / Float64FromFloat32(1.329227995784916e+36) + v3 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v3 = x + Float64FromFloat32(1.329227995784916e+36) + v3 = x3 + Float64FromFloat32(1.329227995784916e+36) } y2 = float64(v3) } } - return x + return x3 } - return X__sin(tls, x, float64(0), 0) + return X__sin(tls, x3, float64(0), 0) } /* sin(Inf or NaN) is NaN */ if ix >= uint32(0x7ff00000) { - return x - x + return x3 - x3 } /* argument reduction needed */ - n = uint32(X__rem_pio2(tls, x, bp)) + n = uint32(X__rem_pio2(tls, x3, bp)) switch n & Uint32FromInt32(3) { case uint32(0): return X__sin(tls, (*(*[2]float64)(unsafe.Pointer(bp)))[0], (*(*[2]float64)(unsafe.Pointer(bp)))[int32(1)], int32(1)) @@ -112184,9 +112198,9 @@ func Xsin(tls *TLS, x float64) (r float64) { return r } -func Xsincos(tls *TLS, x float64, sin uintptr, cos uintptr) { +func Xsincos(tls *TLS, x3 float64, sin uintptr, cos uintptr) { if __ccgo_strace { - trc("tls=%v x=%v sin=%v cos=%v, (%v:)", tls, x, sin, cos, origin(2)) + trc("tls=%v x3=%v sin=%v cos=%v, (%v:)", tls, x3, sin, cos, origin(2)) } bp := tls.Alloc(16) defer tls.Free(16) @@ -112196,7 +112210,7 @@ func Xsincos(tls *TLS, x float64, sin uintptr, cos uintptr) { var y float32 var _ /* y at bp+0 */ [2]float64 _, _, _, _, _, _, _, _, _, _, _ = c, ix, n, s, y, y1, y2, v1, v2, v3, v4 - ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(32)) + ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x3)) >> int32(32)) ix &= uint32(0x7fffffff) /* |x| ~< pi/4 */ if ix <= uint32(0x3fe921fb) { @@ -112205,45 +112219,45 @@ func Xsincos(tls *TLS, x float64, sin uintptr, cos uintptr) { /* raise inexact if x!=0 and underflow if subnormal */ if uint64(8) == uint64(4) { if ix < uint32(0x00100000) { - v1 = x / Float64FromFloat32(1.329227995784916e+36) + v1 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v1 = x + Float64FromFloat32(1.329227995784916e+36) + v1 = x3 + Float64FromFloat32(1.329227995784916e+36) } y = float32(v1) } else { if uint64(8) == uint64(8) { if ix < uint32(0x00100000) { - v2 = x / Float64FromFloat32(1.329227995784916e+36) + v2 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v2 = x + Float64FromFloat32(1.329227995784916e+36) + v2 = x3 + Float64FromFloat32(1.329227995784916e+36) } y1 = v2 } else { if ix < uint32(0x00100000) { - v3 = x / Float64FromFloat32(1.329227995784916e+36) + v3 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v3 = x + Float64FromFloat32(1.329227995784916e+36) + v3 = x3 + Float64FromFloat32(1.329227995784916e+36) } y2 = float64(v3) } } - *(*float64)(unsafe.Pointer(sin)) = x + *(*float64)(unsafe.Pointer(sin)) = x3 *(*float64)(unsafe.Pointer(cos)) = float64(1) return } - *(*float64)(unsafe.Pointer(sin)) = X__sin(tls, x, float64(0), 0) - *(*float64)(unsafe.Pointer(cos)) = X__cos(tls, x, float64(0)) + *(*float64)(unsafe.Pointer(sin)) = X__sin(tls, x3, float64(0), 0) + *(*float64)(unsafe.Pointer(cos)) = X__cos(tls, x3, float64(0)) return } /* sincos(Inf or NaN) is NaN */ if ix >= uint32(0x7ff00000) { - v4 = x - x + v4 = x3 - x3 *(*float64)(unsafe.Pointer(cos)) = v4 *(*float64)(unsafe.Pointer(sin)) = v4 return } /* argument reduction needed */ - n = uint32(X__rem_pio2(tls, x, bp)) + n = uint32(X__rem_pio2(tls, x3, bp)) s = X__sin(tls, (*(*[2]float64)(unsafe.Pointer(bp)))[0], (*(*[2]float64)(unsafe.Pointer(bp)))[int32(1)], int32(1)) c = X__cos(tls, (*(*[2]float64)(unsafe.Pointer(bp)))[0], (*(*[2]float64)(unsafe.Pointer(bp)))[int32(1)]) switch n & Uint32FromInt32(3) { @@ -112276,9 +112290,9 @@ var _s2pio2 = Float64FromInt32(2) * Float64FromFloat64(1.5707963267948966) /* 0x var _s3pio2 = Float64FromInt32(3) * Float64FromFloat64(1.5707963267948966) /* 0x4012D97C, 0x7F3321D2 */ var _s4pio2 = Float64FromInt32(4) * Float64FromFloat64(1.5707963267948966) /* 0x401921FB, 0x54442D18 */ -func Xsincosf(tls *TLS, x float32, sin uintptr, cos uintptr) { +func Xsincosf(tls *TLS, x3 float32, sin uintptr, cos uintptr) { if __ccgo_strace { - trc("tls=%v x=%v sin=%v cos=%v, (%v:)", tls, x, sin, cos, origin(2)) + trc("tls=%v x3=%v sin=%v cos=%v, (%v:)", tls, x3, sin, cos, origin(2)) } bp := tls.Alloc(16) defer tls.Free(16) @@ -112289,7 +112303,7 @@ func Xsincosf(tls *TLS, x float32, sin uintptr, cos uintptr) { var y1, y2, v4, v5, v6, v7 float64 var _ /* y at bp+0 */ float64 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ix, n, s, sign, y, y1, y2, v1, v2, v3, v4, v5, v6, v7, v8 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x3)) sign = ix >> int32(31) ix &= uint32(0x7fffffff) /* |x| ~<= pi/4 */ @@ -112299,59 +112313,59 @@ func Xsincosf(tls *TLS, x float32, sin uintptr, cos uintptr) { /* raise inexact if x!=0 and underflow if subnormal */ if uint64(4) == uint64(4) { if ix < uint32(0x00100000) { - v1 = x / Float32FromFloat32(1.329227995784916e+36) + v1 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v1 = x + Float32FromFloat32(1.329227995784916e+36) + v1 = x3 + Float32FromFloat32(1.329227995784916e+36) } y = v1 } else { if uint64(4) == uint64(8) { if ix < uint32(0x00100000) { - v2 = x / Float32FromFloat32(1.329227995784916e+36) + v2 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v2 = x + Float32FromFloat32(1.329227995784916e+36) + v2 = x3 + Float32FromFloat32(1.329227995784916e+36) } y1 = float64(v2) } else { if ix < uint32(0x00100000) { - v3 = x / Float32FromFloat32(1.329227995784916e+36) + v3 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v3 = x + Float32FromFloat32(1.329227995784916e+36) + v3 = x3 + Float32FromFloat32(1.329227995784916e+36) } y2 = float64(v3) } } - *(*float32)(unsafe.Pointer(sin)) = x + *(*float32)(unsafe.Pointer(sin)) = x3 *(*float32)(unsafe.Pointer(cos)) = Float32FromFloat32(1) return } - *(*float32)(unsafe.Pointer(sin)) = X__sindf(tls, float64(float64(x))) - *(*float32)(unsafe.Pointer(cos)) = X__cosdf(tls, float64(float64(x))) + *(*float32)(unsafe.Pointer(sin)) = X__sindf(tls, float64(float64(x3))) + *(*float32)(unsafe.Pointer(cos)) = X__cosdf(tls, float64(float64(x3))) return } /* |x| ~<= 5*pi/4 */ if ix <= uint32(0x407b53d1) { if ix <= uint32(0x4016cbe3) { /* |x| ~<= 3pi/4 */ if sign != 0 { - *(*float32)(unsafe.Pointer(sin)) = -X__cosdf(tls, float64(float64(x))+_s1pio2) - *(*float32)(unsafe.Pointer(cos)) = X__sindf(tls, float64(float64(x))+_s1pio2) + *(*float32)(unsafe.Pointer(sin)) = -X__cosdf(tls, float64(float64(x3))+_s1pio2) + *(*float32)(unsafe.Pointer(cos)) = X__sindf(tls, float64(float64(x3))+_s1pio2) } else { - *(*float32)(unsafe.Pointer(sin)) = X__cosdf(tls, _s1pio2-float64(float64(x))) - *(*float32)(unsafe.Pointer(cos)) = X__sindf(tls, _s1pio2-float64(float64(x))) + *(*float32)(unsafe.Pointer(sin)) = X__cosdf(tls, _s1pio2-float64(float64(x3))) + *(*float32)(unsafe.Pointer(cos)) = X__sindf(tls, _s1pio2-float64(float64(x3))) } return } /* -sin(x+c) is not correct if x+c could be 0: -0 vs +0 */ if sign != 0 { - v4 = float64(float64(x)) + _s2pio2 + v4 = float64(float64(x3)) + _s2pio2 } else { - v4 = float64(float64(x)) - _s2pio2 + v4 = float64(float64(x3)) - _s2pio2 } *(*float32)(unsafe.Pointer(sin)) = -X__sindf(tls, v4) if sign != 0 { - v5 = float64(float64(x)) + _s2pio2 + v5 = float64(float64(x3)) + _s2pio2 } else { - v5 = float64(float64(x)) - _s2pio2 + v5 = float64(float64(x3)) - _s2pio2 } *(*float32)(unsafe.Pointer(cos)) = -X__cosdf(tls, v5) return @@ -112360,37 +112374,37 @@ func Xsincosf(tls *TLS, x float32, sin uintptr, cos uintptr) { if ix <= uint32(0x40e231d5) { if ix <= uint32(0x40afeddf) { /* |x| ~<= 7*pi/4 */ if sign != 0 { - *(*float32)(unsafe.Pointer(sin)) = X__cosdf(tls, float64(float64(x))+_s3pio2) - *(*float32)(unsafe.Pointer(cos)) = -X__sindf(tls, float64(float64(x))+_s3pio2) + *(*float32)(unsafe.Pointer(sin)) = X__cosdf(tls, float64(float64(x3))+_s3pio2) + *(*float32)(unsafe.Pointer(cos)) = -X__sindf(tls, float64(float64(x3))+_s3pio2) } else { - *(*float32)(unsafe.Pointer(sin)) = -X__cosdf(tls, float64(float64(x))-_s3pio2) - *(*float32)(unsafe.Pointer(cos)) = X__sindf(tls, float64(float64(x))-_s3pio2) + *(*float32)(unsafe.Pointer(sin)) = -X__cosdf(tls, float64(float64(x3))-_s3pio2) + *(*float32)(unsafe.Pointer(cos)) = X__sindf(tls, float64(float64(x3))-_s3pio2) } return } if sign != 0 { - v6 = float64(float64(x)) + _s4pio2 + v6 = float64(float64(x3)) + _s4pio2 } else { - v6 = float64(float64(x)) - _s4pio2 + v6 = float64(float64(x3)) - _s4pio2 } *(*float32)(unsafe.Pointer(sin)) = X__sindf(tls, v6) if sign != 0 { - v7 = float64(float64(x)) + _s4pio2 + v7 = float64(float64(x3)) + _s4pio2 } else { - v7 = float64(float64(x)) - _s4pio2 + v7 = float64(float64(x3)) - _s4pio2 } *(*float32)(unsafe.Pointer(cos)) = X__cosdf(tls, v7) return } /* sin(Inf or NaN) is NaN */ if ix >= uint32(0x7f800000) { - v8 = x - x + v8 = x3 - x3 *(*float32)(unsafe.Pointer(cos)) = v8 *(*float32)(unsafe.Pointer(sin)) = v8 return } /* general argument reduction needed */ - n = uint32(X__rem_pio2f(tls, x, bp)) + n = uint32(X__rem_pio2f(tls, x3, bp)) s = X__sindf(tls, *(*float64)(unsafe.Pointer(bp))) c = X__cosdf(tls, *(*float64)(unsafe.Pointer(bp))) switch n & Uint32FromInt32(3) { @@ -112438,9 +112452,9 @@ var _s2pio21 = Float64FromInt32(2) * Float64FromFloat64(1.5707963267948966) /* 0 var _s3pio21 = Float64FromInt32(3) * Float64FromFloat64(1.5707963267948966) /* 0x4012D97C, 0x7F3321D2 */ var _s4pio21 = Float64FromInt32(4) * Float64FromFloat64(1.5707963267948966) /* 0x401921FB, 0x54442D18 */ -func Xsinf(tls *TLS, x float32) (r float32) { +func Xsinf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -112451,7 +112465,7 @@ func Xsinf(tls *TLS, x float32) (r float32) { var y1, y2, v4, v5 float64 var _ /* y at bp+0 */ float64 _, _, _, _, _, _, _, _, _, _, _ = ix, n, sign, y, y1, y2, v1, v2, v3, v4, v5 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x3)) sign = int32(ix >> int32(31)) ix &= uint32(0x7fffffff) if ix <= uint32(0x3f490fda) { /* |x| ~<= pi/4 */ @@ -112459,68 +112473,68 @@ func Xsinf(tls *TLS, x float32) (r float32) { /* raise inexact if x!=0 and underflow if subnormal */ if uint64(4) == uint64(4) { if ix < uint32(0x00800000) { - v1 = x / Float32FromFloat32(1.329227995784916e+36) + v1 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v1 = x + Float32FromFloat32(1.329227995784916e+36) + v1 = x3 + Float32FromFloat32(1.329227995784916e+36) } y = v1 } else { if uint64(4) == uint64(8) { if ix < uint32(0x00800000) { - v2 = x / Float32FromFloat32(1.329227995784916e+36) + v2 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v2 = x + Float32FromFloat32(1.329227995784916e+36) + v2 = x3 + Float32FromFloat32(1.329227995784916e+36) } y1 = float64(v2) } else { if ix < uint32(0x00800000) { - v3 = x / Float32FromFloat32(1.329227995784916e+36) + v3 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v3 = x + Float32FromFloat32(1.329227995784916e+36) + v3 = x3 + Float32FromFloat32(1.329227995784916e+36) } y2 = float64(v3) } } - return x + return x3 } - return X__sindf(tls, float64(float64(x))) + return X__sindf(tls, float64(float64(x3))) } if ix <= uint32(0x407b53d1) { /* |x| ~<= 5*pi/4 */ if ix <= uint32(0x4016cbe3) { /* |x| ~<= 3pi/4 */ if sign != 0 { - return -X__cosdf(tls, float64(float64(x))+_s1pio21) + return -X__cosdf(tls, float64(float64(x3))+_s1pio21) } else { - return X__cosdf(tls, float64(float64(x))-_s1pio21) + return X__cosdf(tls, float64(float64(x3))-_s1pio21) } } if sign != 0 { - v4 = -(float64(float64(x)) + _s2pio21) + v4 = -(float64(float64(x3)) + _s2pio21) } else { - v4 = -(float64(float64(x)) - _s2pio21) + v4 = -(float64(float64(x3)) - _s2pio21) } return X__sindf(tls, v4) } if ix <= uint32(0x40e231d5) { /* |x| ~<= 9*pi/4 */ if ix <= uint32(0x40afeddf) { /* |x| ~<= 7*pi/4 */ if sign != 0 { - return X__cosdf(tls, float64(float64(x))+_s3pio21) + return X__cosdf(tls, float64(float64(x3))+_s3pio21) } else { - return -X__cosdf(tls, float64(float64(x))-_s3pio21) + return -X__cosdf(tls, float64(float64(x3))-_s3pio21) } } if sign != 0 { - v5 = float64(float64(x)) + _s4pio21 + v5 = float64(float64(x3)) + _s4pio21 } else { - v5 = float64(float64(x)) - _s4pio21 + v5 = float64(float64(x3)) - _s4pio21 } return X__sindf(tls, v5) } /* sin(Inf or NaN) is NaN */ if ix >= uint32(0x7f800000) { - return x - x + return x3 - x3 } /* general argument reduction needed */ - n = X__rem_pio2f(tls, x, bp) + n = X__rem_pio2f(tls, x3, bp) switch n & Int32FromInt32(3) { case 0: return X__sindf(tls, *(*float64)(unsafe.Pointer(bp))) @@ -112676,9 +112690,9 @@ func _mul64(tls *TLS, a Tuint64_t, b Tuint64_t) (r Tuint64_t) { return ahi*bhi + ahi*blo>>int32(32) + alo*bhi>>int32(32) } -func Xsqrt(tls *TLS, x float64) (r1 float64) { +func Xsqrt(tls *TLS, x1 float64) (r1 float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x1=%v, (%v:)", tls, x1, origin(2)) defer func() { trc("-> %v", r1) }() } var d, d0, d1, d2, i, ix, m, r, s, tiny, top, u Tuint64_t @@ -112687,21 +112701,21 @@ func Xsqrt(tls *TLS, x float64) (r1 float64) { var v2 int64 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = d, d0, d1, d2, even, i, ix, m, r, s, t, tiny, top, u, y, y1, v1, v2, v3 /* special case handling. */ - ix = *(*Tuint64_t)(unsafe.Pointer(&x)) + ix = *(*Tuint64_t)(unsafe.Pointer(&x1)) top = ix >> int32(52) if top-uint64(0x001) >= uint64(Int32FromInt32(0x7ff)-Int32FromInt32(0x001)) { /* x < 0x1p-1022 or inf or nan. */ if ix*uint64(2) == uint64(0) { - return x + return x1 } if ix == uint64(0x7ff0000000000000) { - return x + return x1 } if ix > uint64(0x7ff0000000000000) { - return X__math_invalid(tls, x) + return X__math_invalid(tls, x1) } /* x is subnormal, normalize it. */ - v1 = x * float64(4.503599627370496e+15) + v1 = x1 * float64(4.503599627370496e+15) ix = *(*Tuint64_t)(unsafe.Pointer(&v1)) top = ix >> int32(52) top -= uint64(52) @@ -112828,9 +112842,9 @@ func _mul321(tls *TLS, a Tuint32_t, b Tuint32_t) (r Tuint32_t) { /* see sqrt.c for more detailed comments. */ -func Xsqrtf(tls *TLS, x float32) (r1 float32) { +func Xsqrtf(tls *TLS, x1 float32) (r1 float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x1=%v, (%v:)", tls, x1, origin(2)) defer func() { trc("-> %v", r1) }() } var d, d0, d1, d2, even, ey, i, ix, m, m0, m1, r, s, tiny, u Tuint32_t @@ -112838,20 +112852,20 @@ func Xsqrtf(tls *TLS, x float32) (r1 float32) { var v2 uint32 var v3 int32 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = d, d0, d1, d2, even, ey, i, ix, m, m0, m1, r, s, t, tiny, u, y, y1, v1, v2, v3, v4 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x1)) if ix-uint32(0x00800000) >= uint32(Int32FromInt32(0x7f800000)-Int32FromInt32(0x00800000)) { /* x < 0x1p-126 or inf or nan. */ if ix*uint32(2) == uint32(0) { - return x + return x1 } if ix == uint32(0x7f800000) { - return x + return x1 } if ix > uint32(0x7f800000) { - return X__math_invalidf(tls, x) + return X__math_invalidf(tls, x1) } /* x is subnormal, normalize it. */ - v1 = x * Float32FromFloat32(8.388608e+06) + v1 = x1 * Float32FromFloat32(8.388608e+06) ix = *(*Tuint32_t)(unsafe.Pointer(&v1)) ix -= uint32(Int32FromInt32(23) << Int32FromInt32(23)) } @@ -112922,9 +112936,9 @@ func Xsqrtl(tls *TLS, x float64) (r float64) { return float64(Xsqrt(tls, float64(float64(x)))) } -func Xtan(tls *TLS, x float64) (r float64) { +func Xtan(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -112935,7 +112949,7 @@ func Xtan(tls *TLS, x float64) (r float64) { var y1, y2, v1, v2, v3 float64 var _ /* y at bp+0 */ [2]float64 _, _, _, _, _, _, _, _ = ix, n, y, y1, y2, v1, v2, v3 - ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(32)) + ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x3)) >> int32(32)) ix &= uint32(0x7fffffff) /* |x| ~< pi/4 */ if ix <= uint32(0x3fe921fb) { @@ -112943,38 +112957,38 @@ func Xtan(tls *TLS, x float64) (r float64) { /* raise inexact if x!=0 and underflow if subnormal */ if uint64(8) == uint64(4) { if ix < uint32(0x00100000) { - v1 = x / Float64FromFloat32(1.329227995784916e+36) + v1 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v1 = x + Float64FromFloat32(1.329227995784916e+36) + v1 = x3 + Float64FromFloat32(1.329227995784916e+36) } y = float32(v1) } else { if uint64(8) == uint64(8) { if ix < uint32(0x00100000) { - v2 = x / Float64FromFloat32(1.329227995784916e+36) + v2 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v2 = x + Float64FromFloat32(1.329227995784916e+36) + v2 = x3 + Float64FromFloat32(1.329227995784916e+36) } y1 = v2 } else { if ix < uint32(0x00100000) { - v3 = x / Float64FromFloat32(1.329227995784916e+36) + v3 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v3 = x + Float64FromFloat32(1.329227995784916e+36) + v3 = x3 + Float64FromFloat32(1.329227995784916e+36) } y2 = float64(v3) } } - return x + return x3 } - return X__tan(tls, x, float64(0), 0) + return X__tan(tls, x3, float64(0), 0) } /* tan(Inf or NaN) is NaN */ if ix >= uint32(0x7ff00000) { - return x - x + return x3 - x3 } /* argument reduction */ - n = uint32(X__rem_pio2(tls, x, bp)) + n = uint32(X__rem_pio2(tls, x3, bp)) return X__tan(tls, (*(*[2]float64)(unsafe.Pointer(bp)))[0], (*(*[2]float64)(unsafe.Pointer(bp)))[int32(1)], int32(n&uint32(1))) } @@ -112989,9 +113003,9 @@ var _t2pio2 = Float64FromInt32(2) * Float64FromFloat64(1.5707963267948966) /* 0x var _t3pio2 = Float64FromInt32(3) * Float64FromFloat64(1.5707963267948966) /* 0x4012D97C, 0x7F3321D2 */ var _t4pio2 = Float64FromInt32(4) * Float64FromFloat64(1.5707963267948966) /* 0x401921FB, 0x54442D18 */ -func Xtanf(tls *TLS, x float32) (r float32) { +func Xtanf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -113002,7 +113016,7 @@ func Xtanf(tls *TLS, x float32) (r float32) { var y1, y2, v4, v5, v6, v7 float64 var _ /* y at bp+0 */ float64 _, _, _, _, _, _, _, _, _, _, _, _, _ = ix, n, sign, y, y1, y2, v1, v2, v3, v4, v5, v6, v7 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x3)) sign = ix >> int32(31) ix &= uint32(0x7fffffff) if ix <= uint32(0x3f490fda) { /* |x| ~<= pi/4 */ @@ -113010,45 +113024,45 @@ func Xtanf(tls *TLS, x float32) (r float32) { /* raise inexact if x!=0 and underflow if subnormal */ if uint64(4) == uint64(4) { if ix < uint32(0x00800000) { - v1 = x / Float32FromFloat32(1.329227995784916e+36) + v1 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v1 = x + Float32FromFloat32(1.329227995784916e+36) + v1 = x3 + Float32FromFloat32(1.329227995784916e+36) } y = v1 } else { if uint64(4) == uint64(8) { if ix < uint32(0x00800000) { - v2 = x / Float32FromFloat32(1.329227995784916e+36) + v2 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v2 = x + Float32FromFloat32(1.329227995784916e+36) + v2 = x3 + Float32FromFloat32(1.329227995784916e+36) } y1 = float64(v2) } else { if ix < uint32(0x00800000) { - v3 = x / Float32FromFloat32(1.329227995784916e+36) + v3 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v3 = x + Float32FromFloat32(1.329227995784916e+36) + v3 = x3 + Float32FromFloat32(1.329227995784916e+36) } y2 = float64(v3) } } - return x + return x3 } - return X__tandf(tls, float64(float64(x)), 0) + return X__tandf(tls, float64(float64(x3)), 0) } if ix <= uint32(0x407b53d1) { /* |x| ~<= 5*pi/4 */ if ix <= uint32(0x4016cbe3) { /* |x| ~<= 3pi/4 */ if sign != 0 { - v4 = float64(float64(x)) + _t1pio2 + v4 = float64(float64(x3)) + _t1pio2 } else { - v4 = float64(float64(x)) - _t1pio2 + v4 = float64(float64(x3)) - _t1pio2 } return X__tandf(tls, v4, int32(1)) } else { if sign != 0 { - v5 = float64(float64(x)) + _t2pio2 + v5 = float64(float64(x3)) + _t2pio2 } else { - v5 = float64(float64(x)) - _t2pio2 + v5 = float64(float64(x3)) - _t2pio2 } return X__tandf(tls, v5, 0) } @@ -113056,26 +113070,26 @@ func Xtanf(tls *TLS, x float32) (r float32) { if ix <= uint32(0x40e231d5) { /* |x| ~<= 9*pi/4 */ if ix <= uint32(0x40afeddf) { /* |x| ~<= 7*pi/4 */ if sign != 0 { - v6 = float64(float64(x)) + _t3pio2 + v6 = float64(float64(x3)) + _t3pio2 } else { - v6 = float64(float64(x)) - _t3pio2 + v6 = float64(float64(x3)) - _t3pio2 } return X__tandf(tls, v6, int32(1)) } else { if sign != 0 { - v7 = float64(float64(x)) + _t4pio2 + v7 = float64(float64(x3)) + _t4pio2 } else { - v7 = float64(float64(x)) - _t4pio2 + v7 = float64(float64(x3)) - _t4pio2 } return X__tandf(tls, v7, 0) } } /* tan(Inf or NaN) is NaN */ if ix >= uint32(0x7f800000) { - return x - x + return x3 - x3 } /* argument reduction */ - n = uint32(X__rem_pio2f(tls, x, bp)) + n = uint32(X__rem_pio2f(tls, x3, bp)) return X__tandf(tls, *(*float64)(unsafe.Pointer(bp)), int32(n&uint32(1))) } @@ -113087,9 +113101,9 @@ const M_PI_210 = 0 // * = (exp(2*x) - 1)/(exp(2*x) - 1 + 2) // * = (1 - exp(-2*x))/(exp(-2*x) - 1 + 2) // */ -func Xtanh(tls *TLS, x float64) (r float64) { +func Xtanh(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -113111,45 +113125,45 @@ func Xtanh(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 /* x = |x| */ sign = int32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(63)) *(*Tuint64_t)(unsafe.Pointer(bp)) &= uint64(-Int32FromInt32(1)) / Uint64FromInt32(2) - x = *(*float64)(unsafe.Pointer(bp)) + x3 = *(*float64)(unsafe.Pointer(bp)) w = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(32)) if w > uint32(0x3fe193ea) { /* |x| > log(3)/2 ~= 0.5493 or nan */ if w > uint32(0x40340000) { /* |x| > 20 or nan */ /* note: this branch avoids raising overflow */ - t = Float64FromInt32(1) - Float64FromInt32(0)/x + t = Float64FromInt32(1) - Float64FromInt32(0)/x3 } else { - t = Xexpm1(tls, Float64FromInt32(2)*x) + t = Xexpm1(tls, Float64FromInt32(2)*x3) t = Float64FromInt32(1) - Float64FromInt32(2)/(t+Float64FromInt32(2)) } } else { if w > uint32(0x3fd058ae) { /* |x| > log(5/3)/2 ~= 0.2554 */ - t = Xexpm1(tls, Float64FromInt32(2)*x) + t = Xexpm1(tls, Float64FromInt32(2)*x3) t = t / (t + Float64FromInt32(2)) } else { if w >= uint32(0x00100000) { /* |x| >= 0x1p-1022, up to 2ulp error in [0.1,0.2554] */ - t = Xexpm1(tls, float64(-Int32FromInt32(2))*x) + t = Xexpm1(tls, float64(-Int32FromInt32(2))*x3) t = -t / (t + Float64FromInt32(2)) } else { /* |x| is subnormal */ /* note: the branch above would not raise underflow in [0x1p-1023,0x1p-1022) */ if uint64(4) == uint64(4) { - y = float32(float32(x)) + y = float32(float32(x3)) } else { if uint64(4) == uint64(8) { - y1 = float64(float32(float32(x))) + y1 = float64(float32(float32(x3))) } else { - y2 = float64(float32(float32(x))) + y2 = float64(float32(float32(x3))) } } - t = x + t = x3 } } } @@ -113161,9 +113175,9 @@ func Xtanh(tls *TLS, x float64) (r float64) { return v1 } -func Xtanhf(tls *TLS, x float32) (r float32) { +func Xtanhf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -113184,43 +113198,43 @@ func Xtanhf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 /* x = |x| */ sign = int32(*(*Tuint32_t)(unsafe.Pointer(bp)) >> int32(31)) *(*Tuint32_t)(unsafe.Pointer(bp)) &= uint32(0x7fffffff) - x = *(*float32)(unsafe.Pointer(bp)) + x3 = *(*float32)(unsafe.Pointer(bp)) w = *(*Tuint32_t)(unsafe.Pointer(bp)) if w > uint32(0x3f0c9f54) { /* |x| > log(3)/2 ~= 0.5493 or nan */ if w > uint32(0x41200000) { /* |x| > 10 */ - t = Float32FromInt32(1) + Float32FromInt32(0)/x + t = Float32FromInt32(1) + Float32FromInt32(0)/x3 } else { - t = Xexpm1f(tls, Float32FromInt32(2)*x) + t = Xexpm1f(tls, Float32FromInt32(2)*x3) t = Float32FromInt32(1) - Float32FromInt32(2)/(t+Float32FromInt32(2)) } } else { if w > uint32(0x3e82c578) { /* |x| > log(5/3)/2 ~= 0.2554 */ - t = Xexpm1f(tls, Float32FromInt32(2)*x) + t = Xexpm1f(tls, Float32FromInt32(2)*x3) t = t / (t + Float32FromInt32(2)) } else { if w >= uint32(0x00800000) { /* |x| >= 0x1p-126 */ - t = Xexpm1f(tls, float32(-Int32FromInt32(2))*x) + t = Xexpm1f(tls, float32(-Int32FromInt32(2))*x3) t = -t / (t + Float32FromInt32(2)) } else { /* |x| is subnormal */ if uint64(4) == uint64(4) { - y = x * x + y = x3 * x3 } else { if uint64(4) == uint64(8) { - y1 = float64(x * x) + y1 = float64(x3 * x3) } else { - y2 = float64(x * x) + y2 = float64(x3 * x3) } } - t = x + t = x3 } } } @@ -113385,9 +113399,9 @@ func _S(tls *TLS, x float64) (r float64) { return num / den } -func Xtgamma(tls *TLS, x float64) (r1 float64) { +func Xtgamma(tls *TLS, x3 float64) (r1 float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r1) }() } bp := tls.Alloc(16) @@ -113409,26 +113423,26 @@ func Xtgamma(tls *TLS, x float64) (r1 float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 ix = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(32) & uint64(0x7fffffff)) sign = int32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(63)) /* special cases */ if ix >= uint32(0x7ff00000) { /* tgamma(nan)=nan, tgamma(inf)=inf, tgamma(-inf)=nan with invalid */ - return x + float64(X__builtin_inff(tls)) + return x3 + float64(X__builtin_inff(tls)) } if ix < uint32((Int32FromInt32(0x3ff)-Int32FromInt32(54))<= 172: tgamma(x)=inf with overflow */ @@ -113436,26 +113450,26 @@ func Xtgamma(tls *TLS, x float64) (r1 float64) { if ix >= uint32(0x40670000) { /* |x| >= 184 */ if sign != 0 { if uint64(4) == uint64(4) { - y = float32(Float64FromFloat64(1.1754943508222875e-38) / x) + y = float32(Float64FromFloat64(1.1754943508222875e-38) / x3) } else { if uint64(4) == uint64(8) { - y1 = float64(float32(Float64FromFloat64(1.1754943508222875e-38) / x)) + y1 = float64(float32(Float64FromFloat64(1.1754943508222875e-38) / x3)) } else { - y2 = float64(float32(Float64FromFloat64(1.1754943508222875e-38) / x)) + y2 = float64(float32(Float64FromFloat64(1.1754943508222875e-38) / x3)) } } - if Xfloor(tls, x)*float64(0.5) == Xfloor(tls, x*float64(0.5)) { + if Xfloor(tls, x3)*float64(0.5) == Xfloor(tls, x3*float64(0.5)) { return Float64FromInt32(0) } return -Float64FromFloat64(0) } - x *= float64(8.98846567431158e+307) - return x + x3 *= float64(8.98846567431158e+307) + return x3 } if sign != 0 { - v1 = -x + v1 = -x3 } else { - v1 = x + v1 = x3 } absx = v1 /* handle the error of x + g - 0.5 */ @@ -113469,7 +113483,7 @@ func Xtgamma(tls *TLS, x float64) (r1 float64) { } z = absx - float64(0.5) r = _S(tls, absx) * Xexp(tls, -y3) - if x < Float64FromInt32(0) { + if x3 < Float64FromInt32(0) { /* reflection formula for negative x */ /* sinpi(absx) is not 0, integers are already handled */ r = -_pi4 / (_sinpi(tls, absx) * absx * r) @@ -113498,9 +113512,9 @@ func Xtgammal(tls *TLS, x float64) (r float64) { return float64(Xtgamma(tls, float64(float64(x)))) } -func Xtrunc(tls *TLS, x float64) (r float64) { +func Xtrunc(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -113521,34 +113535,34 @@ func Xtrunc(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint64_t)(unsafe.Pointer(bp))>>Int32FromInt32(52)&Uint64FromInt32(0x7ff)) - int32(0x3ff) + int32(12) if e >= Int32FromInt32(52)+Int32FromInt32(12) { - return x + return x3 } if e < int32(12) { e = int32(1) } m = uint64(-Uint64FromUint64(1) >> e) if *(*Tuint64_t)(unsafe.Pointer(bp))&m == uint64(0) { - return x + return x3 } if uint64(8) == uint64(4) { - y = float32(x + Float64FromFloat32(1.329227995784916e+36)) + y = float32(x3 + Float64FromFloat32(1.329227995784916e+36)) } else { if uint64(8) == uint64(8) { - y1 = x + Float64FromFloat32(1.329227995784916e+36) + y1 = x3 + Float64FromFloat32(1.329227995784916e+36) } else { - y2 = float64(x + Float64FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float64FromFloat32(1.329227995784916e+36)) } } *(*Tuint64_t)(unsafe.Pointer(bp)) &= ^m return *(*float64)(unsafe.Pointer(bp)) } -func Xtruncf(tls *TLS, x float32) (r float32) { +func Xtruncf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -113569,25 +113583,25 @@ func Xtruncf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint32_t)(unsafe.Pointer(bp))>>Int32FromInt32(23)&Uint32FromInt32(0xff)) - int32(0x7f) + int32(9) if e >= Int32FromInt32(23)+Int32FromInt32(9) { - return x + return x3 } if e < int32(9) { e = int32(1) } m = -Uint32FromUint32(1) >> e if *(*Tuint32_t)(unsafe.Pointer(bp))&m == uint32(0) { - return x + return x3 } if uint64(4) == uint64(4) { - y = x + Float32FromFloat32(1.329227995784916e+36) + y = x3 + Float32FromFloat32(1.329227995784916e+36) } else { if uint64(4) == uint64(8) { - y1 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y1 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } else { - y2 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } } *(*Tuint32_t)(unsafe.Pointer(bp)) &= ^m @@ -115538,6 +115552,7 @@ func Xopenpty(tls *TLS, pm uintptr, ps uintptr, name uintptr, tio uintptr, ws ui *(*int32)(unsafe.Pointer(ps)) = s _pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp + 4)), uintptr(0)) return 0 + goto fail fail: ; Xclose(tls, m) @@ -115674,6 +115689,7 @@ func Xrealpath(tls *TLS, filename uintptr, resolved uintptr) (r uintptr) { * remaining path components and consumes any slashes that follow. * If not a link, it's moved to output; if a link, contents are * pushed to the stack. */ + goto restart restart: ; _3: @@ -115758,6 +115774,7 @@ _3: if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(EINVAL) { return uintptr(0) } + goto skip_readlink skip_readlink: ; check_dir = 0 @@ -115845,6 +115862,7 @@ _1: } else { return Xstrdup(tls, bp+4097) } + goto toolong toolong: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(ENAMETOOLONG) @@ -116779,6 +116797,7 @@ func Xc16rtomb(tls *TLS, s uintptr, c16 Tchar16_t, ps uintptr) (r Tsize_t) { wc = int32(int32(c16)) } return Xwcrtomb(tls, s, wc, uintptr(0)) + goto ilseq ilseq: ; *(*uint32)(unsafe.Pointer(x)) = uint32(0) @@ -116948,6 +116967,7 @@ func Xmbrtowc(tls *TLS, wc uintptr, src uintptr, n Tsize_t, st uintptr) (r Tsize if (int32(*(*uint8)(unsafe.Pointer(s)))>>int32(3)-int32(0x10)|(int32(*(*uint8)(unsafe.Pointer(s)))>>int32(3)+int32(c)>>Int32FromInt32(26))) & ^Int32FromInt32(7) != 0 { goto ilseq } + goto loop loop: ; v4 = s @@ -116968,6 +116988,7 @@ func Xmbrtowc(tls *TLS, wc uintptr, src uintptr, n Tsize_t, st uintptr) (r Tsize } *(*uint32)(unsafe.Pointer(st)) = c return uint64(-Int32FromInt32(2)) + goto ilseq ilseq: ; *(*uint32)(unsafe.Pointer(st)) = uint32(0) @@ -117149,6 +117170,7 @@ _11: v12 = s s++ c = X__fsmu8[uint32(*(*uint8)(unsafe.Pointer(v12)))-uint32(0xc2)] + goto resume0 resume0: ; if (int32(*(*uint8)(unsafe.Pointer(s)))>>int32(3)-int32(0x10)|(int32(*(*uint8)(unsafe.Pointer(s)))>>int32(3)+int32(c)>>Int32FromInt32(26))) & ^Int32FromInt32(7) != 0 { @@ -117228,6 +117250,7 @@ _15: v26 = s s++ c = X__fsmu8[uint32(*(*uint8)(unsafe.Pointer(v26)))-uint32(0xc2)] + goto resume resume: ; if (int32(*(*uint8)(unsafe.Pointer(s)))>>int32(3)-int32(0x10)|(int32(*(*uint8)(unsafe.Pointer(s)))>>int32(3)+int32(c)>>Int32FromInt32(26))) & ^Int32FromInt32(7) != 0 { @@ -117370,6 +117393,7 @@ func Xmbtowc(tls *TLS, wc uintptr, src uintptr, n Tsize_t) (r int32) { s++ *(*Twchar_t)(unsafe.Pointer(wc)) = int32(c<= uint64(int64((*Tmsghdr)(unsafe.Pointer(bp)).Fmsg_control+uintptr((*Tmsghdr)(unsafe.Pointer(bp)).Fmsg_controllen))-int64(c)) { + if uint64((*Tcmsghdr)(unsafe.Pointer(c1)).Fcmsg_len) < uint64(16) || (uint64((*Tcmsghdr)(unsafe.Pointer(c1)).Fcmsg_len)+uint64(8)-uint64(1))&uint64(^int64(Uint64FromInt64(8)-Uint64FromInt32(1)))+uint64(16) >= uint64(int64((*Tmsghdr)(unsafe.Pointer(bp)).Fmsg_control+uintptr((*Tmsghdr)(unsafe.Pointer(bp)).Fmsg_controllen))-int64(c1)) { v4 = uintptr(0) } else { - v4 = c + uintptr((uint64((*Tcmsghdr)(unsafe.Pointer(c)).Fcmsg_len)+Uint64FromInt64(8)-Uint64FromInt32(1))&uint64(^int64(Uint64FromInt64(8)-Uint64FromInt32(1)))) + v4 = c1 + uintptr((uint64((*Tcmsghdr)(unsafe.Pointer(c1)).Fcmsg_len)+Uint64FromInt64(8)-Uint64FromInt32(1))&uint64(^int64(Uint64FromInt64(8)-Uint64FromInt32(1)))) } - c = v4 + c1 = v4 } } } @@ -125535,11 +125568,13 @@ func X__getgr_a(tls *TLS, name uintptr, gid Tgid_t, gr uintptr, buf uintptr, siz goto cleanup_f } *(*uintptr)(unsafe.Pointer(res)) = gr + goto cleanup_f cleanup_f: ; Xfclose(tls, f) goto done } + goto done done: ; _pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp)), uintptr(0)) @@ -125824,6 +125859,7 @@ func X__getgrent_a(tls *TLS, f uintptr, gr uintptr, line uintptr, size uintptr, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(mem)))) = uintptr(0) } (*Tgroup)(unsafe.Pointer(gr)).Fgr_mem = *(*uintptr)(unsafe.Pointer(mem)) + goto end end: ; _pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp + 8)), uintptr(0)) @@ -125984,6 +126020,7 @@ func Xgetgrouplist(tls *TLS, user uintptr, gid Tgid_t, groups uintptr, ngroups u } ret = int32(v14) *(*int32)(unsafe.Pointer(ngroups)) = int32(int32(n)) + goto cleanup cleanup: ; if f != 0 { @@ -126131,11 +126168,13 @@ func X__getpw_a(tls *TLS, name uintptr, uid Tuid_t, pw uintptr, buf uintptr, siz goto cleanup_f } *(*uintptr)(unsafe.Pointer(res)) = pw + goto cleanup_f cleanup_f: ; Xfclose(tls, f) goto done } + goto done done: ; _pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp + 4)), uintptr(0)) @@ -126452,6 +126491,7 @@ func X__nscd_query(tls *TLS, req Tint32_t, key uintptr, buf uintptr, len1 Tsize_ } errno_save = *(*int32)(unsafe.Pointer(X__errno_location(tls))) *(*int32)(unsafe.Pointer(swap)) = 0 + goto retry retry: ; Xmemset(tls, buf, 0, len1) @@ -126549,6 +126589,7 @@ retry: goto error } return f + goto error error: ; Xfclose(tls, f) @@ -126595,6 +126636,7 @@ func Xputgrent(tls *TLS, gr uintptr, f uintptr) (r1 int32) { } } r = Xfputc(tls, int32('\n'), f) + goto done done: ; Xfunlockfile(tls, f) @@ -127031,6 +127073,7 @@ func Xrandom(tls *TLS) (r int64) { if v3 == _n { _j = 0 } + goto end end: ; ___unlock(tls, uintptr(unsafe.Pointer(&_lock3))) @@ -127804,6 +127847,7 @@ func _pat_next(tls *TLS, pat uintptr, m Tsize_t, step uintptr, flags int32) (r i if int32(*(*int8)(unsafe.Pointer(pat))) == int32('?') { return -int32(4) } + goto escaped escaped: ; if uint32(*(*int8)(unsafe.Pointer(pat))) >= uint32(128) { @@ -129618,6 +129662,7 @@ func _parse_bracket(tls *TLS, ctx uintptr, s uintptr) (r Treg_errcode_t) { ; i++ } + goto parse_bracket_done parse_bracket_done: ; Xfree(tls, (*(*Tliterals)(unsafe.Pointer(bp))).Fa) @@ -129930,6 +129975,7 @@ _11: goto _13 _12: ; + goto parse_literal parse_literal: ; len1 = Xmbtowc(tls, bp, s, uint64(-Int32FromInt32(1))) @@ -129953,6 +129999,7 @@ parse_literal: goto _13 _13: ; + goto end end: ; if !(node != 0) { @@ -130028,6 +130075,7 @@ func _tre_parse(tls *TLS, ctx uintptr) (r Treg_errcode_t) { } s = (*Ttre_parse_ctx_t)(unsafe.Pointer(ctx)).Fs } + goto parse_iter parse_iter: ; for { @@ -132246,6 +132294,7 @@ func Xregcomp(tls *TLS, preg uintptr, regex uintptr, cflags int32) (r int32) { Xfree(tls, offs) (*Tregex_t)(unsafe.Pointer(preg)).F__opaque = tnfa return REG_OK + goto error_exit error_exit: ; /* Free everything that was allocated and return the error code. */ @@ -132828,6 +132877,7 @@ func _tre_tnfa_run_parallel(tls *TLS, tnfa uintptr, string1 uintptr, match_tags v18 = int32(REG_NOMATCH) } ret = v18 + goto error_exit error_exit: ; Xfree(tls, buf) @@ -132937,6 +132987,7 @@ func _tre_tnfa_run_backtrack(tls *TLS, tnfa uintptr, string1 uintptr, match_tags goto error_exit } } + goto retry retry: ; i = 0 @@ -133272,6 +133323,7 @@ _9: goto _17 _16: ; + goto backtrack backtrack: ; /* A matching transition was not found. Try to backtrack. */ @@ -133321,6 +133373,7 @@ _8: } ret = v20 *(*Tregoff_t)(unsafe.Pointer(match_end_ofs)) = match_eo + goto error_exit error_exit: ; X__tre_mem_destroy(tls, mem) @@ -136465,15 +136518,15 @@ _9: return c } -func Xfgetc(tls *TLS, f uintptr) (r int32) { +func Xfgetc(tls *TLS, f1 uintptr) (r int32) { if __ccgo_strace { - trc("tls=%v f=%v, (%v:)", tls, f, origin(2)) + trc("tls=%v f1=%v, (%v:)", tls, f1, origin(2)) defer func() { trc("-> %v", r) }() } var l, v2, v4 int32 var v1, v5, v6 uintptr _, _, _, _, _, _ = l, v1, v2, v4, v5, v6 - v1 = f + v1 = f1 l = AtomicLoadPInt32(v1 + 140) if l < 0 || l != 0 && l & ^Int32FromInt32(MAYBE_WAITERS) == (*t__pthread)(unsafe.Pointer(uintptr(___get_tp(tls)))).Ftid { if (*TFILE)(unsafe.Pointer(v1)).Frpos != (*TFILE)(unsafe.Pointer(v1)).Frend { @@ -136898,6 +136951,7 @@ func _mseek(tls *TLS, f uintptr, off Toff_t, whence int32) (r Toff_t) { if !(uint32(uint32(whence)) > uint32(2)) { goto _1 } + goto fail fail: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EINVAL) @@ -137132,6 +137186,7 @@ func _cookieread(tls *TLS, f uintptr, buf uintptr, len1 Tsize_t) (r Tsize_t) { *(*uintptr)(unsafe.Pointer(v3))++ *(*uint8)(unsafe.Pointer(buf + uintptr(v1))) = *(*uint8)(unsafe.Pointer(v2)) return readlen + goto bail bail: ; if ret == 0 { @@ -137321,17 +137376,17 @@ _10: return c } -func Xfputc(tls *TLS, c int32, f uintptr) (r int32) { +func Xfputc(tls *TLS, c1 int32, f1 uintptr) (r int32) { if __ccgo_strace { - trc("tls=%v c=%v f=%v, (%v:)", tls, c, f, origin(2)) + trc("tls=%v c1=%v f1=%v, (%v:)", tls, c1, f1, origin(2)) defer func() { trc("-> %v", r) }() } var l, v1, v3, v5 int32 var v2, v7, v8 uintptr var v6 uint8 _, _, _, _, _, _, _, _ = l, v1, v2, v3, v5, v6, v7, v8 - v1 = c - v2 = f + v1 = c1 + v2 = f1 l = AtomicLoadPInt32(v2 + 140) if l < 0 || l != 0 && l & ^Int32FromInt32(MAYBE_WAITERS) == (*t__pthread)(unsafe.Pointer(uintptr(___get_tp(tls)))).Ftid { if int32(uint8(v1)) != (*TFILE)(unsafe.Pointer(v2)).Flbf && (*TFILE)(unsafe.Pointer(v2)).Fwpos != (*TFILE)(unsafe.Pointer(v2)).Fwend { @@ -137648,9 +137703,11 @@ func Xfreopen(tls *TLS, filename uintptr, mode uintptr, f uintptr) (r uintptr) { ___unlockfile(tls, f) } return f + goto fail2 fail2: ; Xfclose(tls, f2) + goto fail fail: ; Xfclose(tls, f) @@ -138160,15 +138217,15 @@ _9: return c } -func Xgetc(tls *TLS, f uintptr) (r int32) { +func Xgetc(tls *TLS, f1 uintptr) (r int32) { if __ccgo_strace { - trc("tls=%v f=%v, (%v:)", tls, f, origin(2)) + trc("tls=%v f1=%v, (%v:)", tls, f1, origin(2)) defer func() { trc("-> %v", r) }() } var l, v2, v4 int32 var v1, v5, v6 uintptr _, _, _, _, _, _ = l, v1, v2, v4, v5, v6 - v1 = f + v1 = f1 l = AtomicLoadPInt32(v1 + 140) if l < 0 || l != 0 && l & ^Int32FromInt32(MAYBE_WAITERS) == (*t__pthread)(unsafe.Pointer(uintptr(___get_tp(tls)))).Ftid { if (*TFILE)(unsafe.Pointer(v1)).Frpos != (*TFILE)(unsafe.Pointer(v1)).Frend { @@ -138188,12 +138245,12 @@ _3: return v2 } -func X_IO_getc(tls *TLS, f uintptr) (r int32) { +func X_IO_getc(tls *TLS, f1 uintptr) (r int32) { if __ccgo_strace { - trc("tls=%v f=%v, (%v:)", tls, f, origin(2)) + trc("tls=%v f1=%v, (%v:)", tls, f1, origin(2)) defer func() { trc("-> %v", r) }() } - return Xgetc(tls, f) + return Xgetc(tls, f1) } func Xgetc_unlocked(tls *TLS, f uintptr) (r int32) { @@ -138614,6 +138671,7 @@ func _ms_seek(tls *TLS, f uintptr, off Toff_t, whence int32) (r Toff_t) { if !(uint32(uint32(whence)) > uint32(2)) { goto _1 } + goto fail fail: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EINVAL) @@ -138747,6 +138805,7 @@ func _wms_seek(tls *TLS, f uintptr, off Toff_t, whence int32) (r Toff_t) { if !(uint32(uint32(whence)) > uint32(2)) { goto _1 } + goto fail fail: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EINVAL) @@ -138988,17 +139047,17 @@ _10: return c } -func Xputc(tls *TLS, c int32, f uintptr) (r int32) { +func Xputc(tls *TLS, c1 int32, f1 uintptr) (r int32) { if __ccgo_strace { - trc("tls=%v c=%v f=%v, (%v:)", tls, c, f, origin(2)) + trc("tls=%v c1=%v f1=%v, (%v:)", tls, c1, f1, origin(2)) defer func() { trc("-> %v", r) }() } var l, v1, v3, v5 int32 var v2, v7, v8 uintptr var v6 uint8 _, _, _, _, _, _, _, _ = l, v1, v2, v3, v5, v6, v7, v8 - v1 = c - v2 = f + v1 = c1 + v2 = f1 l = AtomicLoadPInt32(v2 + 140) if l < 0 || l != 0 && l & ^Int32FromInt32(MAYBE_WAITERS) == (*t__pthread)(unsafe.Pointer(uintptr(___get_tp(tls)))).Ftid { if int32(uint8(v1)) != (*TFILE)(unsafe.Pointer(v2)).Flbf && (*TFILE)(unsafe.Pointer(v2)).Fwpos != (*TFILE)(unsafe.Pointer(v2)).Fwend { @@ -139020,12 +139079,12 @@ _4: return v3 } -func X_IO_putc(tls *TLS, c int32, f uintptr) (r int32) { +func X_IO_putc(tls *TLS, c1 int32, f1 uintptr) (r int32) { if __ccgo_strace { - trc("tls=%v c=%v f=%v, (%v:)", tls, c, f, origin(2)) + trc("tls=%v c1=%v f1=%v, (%v:)", tls, c1, f1, origin(2)) defer func() { trc("-> %v", r) }() } - return Xputc(tls, c, f) + return Xputc(tls, c1, f1) } func Xputc_unlocked(tls *TLS, c int32, f uintptr) (r int32) { @@ -139118,16 +139177,16 @@ _10: return c } -func Xputchar(tls *TLS, c int32) (r int32) { +func Xputchar(tls *TLS, c1 int32) (r int32) { if __ccgo_strace { - trc("tls=%v c=%v, (%v:)", tls, c, origin(2)) + trc("tls=%v c1=%v, (%v:)", tls, c1, origin(2)) defer func() { trc("-> %v", r) }() } var l, v1, v3, v5 int32 var v2, v7, v8 uintptr var v6 uint8 _, _, _, _, _, _, _, _ = l, v1, v2, v3, v5, v6, v7, v8 - v1 = c + v1 = c1 v2 = uintptr(unsafe.Pointer(&X__stdout_FILE)) l = AtomicLoadPInt32(v2 + 140) if l < 0 || l != 0 && l & ^Int32FromInt32(MAYBE_WAITERS) == (*t__pthread)(unsafe.Pointer(uintptr(___get_tp(tls)))).Ftid { @@ -140992,6 +141051,7 @@ func _printf_core(tls *TLS, f uintptr, fmt uintptr, ap uintptr, nl_arg uintptr, } p = int32(v34) goto _30 + goto narrow_c narrow_c: ; _17: @@ -141176,10 +141236,12 @@ func _printf_core(tls *TLS, f uintptr, fmt uintptr, ap uintptr, nl_arg uintptr, goto inval } return int32(1) + goto inval inval: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EINVAL) return -int32(1) + goto overflow overflow: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EOVERFLOW) @@ -141867,6 +141929,7 @@ func Xvfscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32) { _49: ; base = 0 + goto int_common int_common: ; x = X__intscan(tls, f, uint32(uint32(base)), 0, Uint64FromUint64(2)*Uint64FromInt64(0x7fffffffffffffff)+Uint64FromInt32(1)) @@ -141925,15 +141988,19 @@ func Xvfscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32) { if !(0 != 0) { goto _85 } + goto fmt_fail fmt_fail: ; + goto alloc_fail alloc_fail: ; + goto input_fail input_fail: ; if !(matches != 0) { matches-- } + goto match_fail match_fail: ; if alloc != 0 { @@ -142522,10 +142589,12 @@ func _wprintf_core(tls *TLS, f uintptr, fmt uintptr, ap uintptr, nl_arg uintptr, return -int32(1) } return int32(1) + goto inval inval: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EINVAL) return -int32(1) + goto overflow overflow: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EOVERFLOW) @@ -142718,7 +142787,7 @@ func Xvfwscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32) { v9 = f + 8 *(*uintptr)(unsafe.Pointer(v9))-- v8 = *(*uintptr)(unsafe.Pointer(v9)) - _ = uint32(*(*uint8)(unsafe.Pointer(v8))) + _ = *(*uint8)(unsafe.Pointer(v8)) } else { Xungetwc(tls, uint32(c), f) } @@ -142759,7 +142828,7 @@ func Xvfwscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32) { v19 = f + 8 *(*uintptr)(unsafe.Pointer(v19))-- v18 = *(*uintptr)(unsafe.Pointer(v19)) - _ = uint32(*(*uint8)(unsafe.Pointer(v18))) + _ = *(*uint8)(unsafe.Pointer(v18)) } else { Xungetwc(tls, uint32(c), f) } @@ -142915,7 +142984,7 @@ func Xvfwscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32) { v31 = f + 8 *(*uintptr)(unsafe.Pointer(v31))-- v30 = *(*uintptr)(unsafe.Pointer(v31)) - _ = uint32(*(*uint8)(unsafe.Pointer(v30))) + _ = *(*uint8)(unsafe.Pointer(v30)) } else { Xungetwc(tls, uint32(c), f) } @@ -143057,7 +143126,7 @@ func Xvfwscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32) { v44 = f + 8 *(*uintptr)(unsafe.Pointer(v44))-- v43 = *(*uintptr)(unsafe.Pointer(v44)) - _ = uint32(*(*uint8)(unsafe.Pointer(v43))) + _ = *(*uint8)(unsafe.Pointer(v43)) } else { Xungetwc(tls, uint32(c), f) } @@ -143141,15 +143210,19 @@ func Xvfwscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32) { if !(0 != 0) { goto _46 } + goto fmt_fail fmt_fail: ; + goto alloc_fail alloc_fail: ; + goto input_fail input_fail: ; if !(matches != 0) { matches-- } + goto match_fail match_fail: ; if alloc != 0 { @@ -144678,6 +144751,7 @@ func Xmemccpy(tls *TLS, dest uintptr, src uintptr, c int32, n Tsize_t) (r uintpt s++ d++ } + goto tail tail: ; if n != 0 { @@ -145808,6 +145882,7 @@ func X__stpncpy(tls *TLS, d uintptr, s uintptr, n Tsize_t) (r uintptr) { s++ d++ } + goto tail tail: ; Xmemset(tls, d, 0, n) @@ -146198,6 +146273,7 @@ func Xstrlcpy(tls *TLS, d uintptr, s uintptr, n Tsize_t) (r Tsize_t) { d++ } *(*int8)(unsafe.Pointer(d)) = 0 + goto finish finish: ; return uint64(int64(int64(d))-int64(int64(d0))) + Xstrlen(tls, s) @@ -148800,6 +148876,7 @@ func X__secs_to_zone(tls *TLS, t int64, local int32, isdst uintptr, offset uintp } goto dst } + goto std std: ; *(*int32)(unsafe.Pointer(isdst)) = 0 @@ -148810,6 +148887,7 @@ std: *(*uintptr)(unsafe.Pointer(zonename)) = Xtzname[0] ___unlock(tls, uintptr(unsafe.Pointer(&_lock4))) return + goto dst dst: ; *(*int32)(unsafe.Pointer(isdst)) = int32(1) @@ -149174,6 +149252,7 @@ func Xgetdate(tls *TLS, s uintptr) (r uintptr) { } else { Xgetdate_err = int32(7) } + goto out out: ; if f != 0 { @@ -149316,6 +149395,7 @@ func Xmktime(tls *TLS, tm uintptr) (r Ttime_t) { } *(*Ttm)(unsafe.Pointer(tm)) = *(*Ttm)(unsafe.Pointer(bp)) return int64(int64(t)) + goto error error: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EOVERFLOW) @@ -149595,6 +149675,7 @@ func X__strftime_fmt_1(tls *TLS, s uintptr, l uintptr, f int32, tm uintptr, loc default: return uintptr(0) } + goto number number: ; if pad != 0 { @@ -149614,16 +149695,20 @@ number: break } return s + goto nl_strcat nl_strcat: ; fmt = X__nl_langinfo_l(tls, item, loc) + goto string string: ; *(*Tsize_t)(unsafe.Pointer(l)) = Xstrlen(tls, fmt) return fmt + goto nl_strftime nl_strftime: ; fmt = X__nl_langinfo_l(tls, item, loc) + goto recu_strftime recu_strftime: ; *(*Tsize_t)(unsafe.Pointer(l)) = X__strftime_l(tls, s, uint64(100), fmt, tm, loc) @@ -150129,6 +150214,7 @@ func Xstrptime(tls *TLS, s uintptr, f uintptr, tm uintptr) (r uintptr) { _40: ; return uintptr(0) + goto numeric_range numeric_range: ; if !(BoolInt32(uint32(*(*int8)(unsafe.Pointer(s)))-Uint32FromUint8('0') < Uint32FromInt32(10)) != 0) { @@ -150156,6 +150242,7 @@ func Xstrptime(tls *TLS, s uintptr, f uintptr, tm uintptr) (r uintptr) { case int64(uint64(UintptrFromInt32(0) + 28)): } goto update + goto numeric_digits numeric_digits: ; neg = 0 @@ -150190,6 +150277,7 @@ func Xstrptime(tls *TLS, s uintptr, f uintptr, tm uintptr) (r uintptr) { } *(*int32)(unsafe.Pointer(dest)) -= adj goto update + goto symbolic_range symbolic_range: ; i = int32(2)*range1 - int32(1) @@ -150214,6 +150302,7 @@ func Xstrptime(tls *TLS, s uintptr, f uintptr, tm uintptr) (r uintptr) { return uintptr(0) } goto update + goto update update: ; //FIXME diff --git a/vendor/modernc.org/libc/ccgo_linux_loong64.go b/vendor/modernc.org/libc/ccgo_linux_loong64.go index 889330328b..4b24056148 100644 --- a/vendor/modernc.org/libc/ccgo_linux_loong64.go +++ b/vendor/modernc.org/libc/ccgo_linux_loong64.go @@ -538,7 +538,7 @@ const __UTA_FBIT__ = 64 const __UTA_IBIT__ = 64 const __UTQ_FBIT__ = 128 const __UTQ_IBIT__ = 0 -const __VERSION__ = "14.0.1 20240228 (Red Hat 14.0.1-0)" +const __VERSION__ = "14.0.1 20240411 (Red Hat 14.0.1-0)" const __WCHAR_MAX__ = 2147483647 const __WCHAR_MIN__ = -2147483648 const __WCHAR_TYPE__ = 0 @@ -25175,6 +25175,7 @@ func X__putenv(tls *TLS, s uintptr, l Tsize_t, r uintptr) (r1 int32) { X__env_rm_add(tls, uintptr(0), r) } return 0 + goto oom oom: ; Xfree(tls, r) @@ -27407,6 +27408,7 @@ func X__intscan(tls *TLS, f uintptr, base uint32, pok int32, lim uint64) (r uint neg = 0 } } + goto done done: ; if (*TFILE)(unsafe.Pointer(f)).Fshlim >= 0 { @@ -31431,11 +31433,11 @@ func Xbindtextdomain(tls *TLS, domainname uintptr, dirname uintptr) (r1 uintptr) bp := tls.Alloc(16) defer tls.Free(16) var dirlen, domlen Tsize_t - var old, p, q, v, v2, v7 uintptr + var old, p4, q, v, v2, v7 uintptr var r int64 var v3 int32 var v5 bool - _, _, _, _, _, _, _, _, _, _, _ = dirlen, domlen, old, p, q, r, v, v2, v3, v5, v7 + _, _, _, _, _, _, _, _, _, _, _ = dirlen, domlen, old, p4, q, r, v, v2, v3, v5, v7 if !(domainname != 0) { return uintptr(0) } @@ -31450,31 +31452,31 @@ func Xbindtextdomain(tls *TLS, domainname uintptr, dirname uintptr) (r1 uintptr) return uintptr(0) } ___lock(tls, uintptr(unsafe.Pointer(&_lock1))) - p = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_bindings))) + p4 = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_bindings))) for { - if !(p != 0) { + if !(p4 != 0) { break } - if !(Xstrcmp(tls, (*Tbinding)(unsafe.Pointer(p)).Fdomainname, domainname) != 0) && !(Xstrcmp(tls, (*Tbinding)(unsafe.Pointer(p)).Fdirname, dirname) != 0) { + if !(Xstrcmp(tls, (*Tbinding)(unsafe.Pointer(p4)).Fdomainname, domainname) != 0) && !(Xstrcmp(tls, (*Tbinding)(unsafe.Pointer(p4)).Fdirname, dirname) != 0) { break } goto _1 _1: ; - p = (*Tbinding)(unsafe.Pointer(p)).Fnext + p4 = (*Tbinding)(unsafe.Pointer(p4)).Fnext } - if !(p != 0) { - p = Xcalloc(tls, uint64(32)+domlen+dirlen+uint64(2), uint64(1)) - if !(p != 0) { + if !(p4 != 0) { + p4 = Xcalloc(tls, uint64(32)+domlen+dirlen+uint64(2), uint64(1)) + if !(p4 != 0) { ___unlock(tls, uintptr(unsafe.Pointer(&_lock1))) return uintptr(0) } - (*Tbinding)(unsafe.Pointer(p)).Fnext = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_bindings))) - (*Tbinding)(unsafe.Pointer(p)).Fdirlen = int32(dirlen) - (*Tbinding)(unsafe.Pointer(p)).Fdomainname = p + 32 - (*Tbinding)(unsafe.Pointer(p)).Fdirname = p + 32 + uintptr(domlen) + uintptr(1) - Xmemcpy(tls, (*Tbinding)(unsafe.Pointer(p)).Fdomainname, domainname, domlen+uint64(1)) - Xmemcpy(tls, (*Tbinding)(unsafe.Pointer(p)).Fdirname, dirname, dirlen+uint64(1)) + (*Tbinding)(unsafe.Pointer(p4)).Fnext = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_bindings))) + (*Tbinding)(unsafe.Pointer(p4)).Fdirlen = int32(dirlen) + (*Tbinding)(unsafe.Pointer(p4)).Fdomainname = p4 + 32 + (*Tbinding)(unsafe.Pointer(p4)).Fdirname = p4 + 32 + uintptr(domlen) + uintptr(1) + Xmemcpy(tls, (*Tbinding)(unsafe.Pointer(p4)).Fdomainname, domainname, domlen+uint64(1)) + Xmemcpy(tls, (*Tbinding)(unsafe.Pointer(p4)).Fdirname, dirname, dirlen+uint64(1)) v2 = uintptr(unsafe.Pointer(&_bindings)) // __asm__ __volatile__ ("dbar 0" : : : "memory"); X__assert_fail(tls, __ccgo_ts+350, __ccgo_ts+385, 49, __ccgo_ts+399) @@ -31516,7 +31518,7 @@ func Xbindtextdomain(tls *TLS, domainname uintptr, dirname uintptr) (r1 uintptr) } // __asm__ __volatile__ ("dbar 0" : : : "memory"); X__assert_fail(tls, __ccgo_ts+350, __ccgo_ts+385, 49, __ccgo_ts+399) - AtomicStorePInt32(p+12, int32(1)) + AtomicStorePInt32(p4+12, int32(1)) // __asm__ __volatile__ ("dbar 0" : : : "memory"); X__assert_fail(tls, __ccgo_ts+350, __ccgo_ts+385, 49, __ccgo_ts+399) q = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_bindings))) @@ -31524,7 +31526,7 @@ func Xbindtextdomain(tls *TLS, domainname uintptr, dirname uintptr) (r1 uintptr) if !(q != 0) { break } - if !(Xstrcmp(tls, (*Tbinding)(unsafe.Pointer(q)).Fdomainname, domainname) != 0) && q != p { + if !(Xstrcmp(tls, (*Tbinding)(unsafe.Pointer(q)).Fdomainname, domainname) != 0) && q != p4 { // __asm__ __volatile__ ("dbar 0" : : : "memory"); X__assert_fail(tls, __ccgo_ts+350, __ccgo_ts+385, 49, __ccgo_ts+399) AtomicStorePInt32(q+12, 0) @@ -31537,7 +31539,7 @@ func Xbindtextdomain(tls *TLS, domainname uintptr, dirname uintptr) (r1 uintptr) q = (*Tbinding)(unsafe.Pointer(q)).Fnext } ___unlock(tls, uintptr(unsafe.Pointer(&_lock1))) - return (*Tbinding)(unsafe.Pointer(p)).Fdirname + return (*Tbinding)(unsafe.Pointer(p4)).Fdirname } var _catnames = [6][12]int8{ @@ -31581,7 +31583,7 @@ func Xdcngettext(tls *TLS, domainname uintptr, msgid1 uintptr, msgid2 uintptr, n bp := tls.Alloc(80) defer tls.Free(80) var alt_modlen, catlen, dirlen, domlen, l, loclen, modlen, rem, v5 Tsize_t - var catname, csp, dirname, lm, loc, locname, locp, map1, modname, name, old, old_cats, p, q, r1, rule, trans, v, v10, v17, v22, v24, v3, v8, v9 uintptr + var catname, csp, dirname, lm, loc, locname, locp, map1, modname, name, old, old_cats, p3, q, r1, rule, trans, v, v10, v17, v22, v24, v3, v8, v9 uintptr var np, plural, v27 uint64 var old_errno, v11, v12, v14, v15, v18 int32 var r int64 @@ -31589,7 +31591,7 @@ func Xdcngettext(tls *TLS, domainname uintptr, msgid1 uintptr, msgid2 uintptr, n var v6 t__predefined_size_t var _ /* map_size at bp+0 */ Tsize_t var _ /* z at bp+8 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = alt_modlen, catlen, catname, csp, dirlen, dirname, domlen, l, lm, loc, loclen, locname, locp, map1, modlen, modname, name, np, old, old_cats, old_errno, p, plural, q, r, r1, rem, rule, trans, v, v10, v11, v12, v14, v15, v17, v18, v20, v22, v24, v27, v3, v5, v6, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = alt_modlen, catlen, catname, csp, dirlen, dirname, domlen, l, lm, loc, loclen, locname, locp, map1, modlen, modname, name, np, old, old_cats, old_errno, p3, plural, q, r, r1, rem, rule, trans, v, v10, v11, v12, v14, v15, v17, v18, v20, v22, v24, v27, v3, v5, v6, v8, v9 defer func() { Xrealloc(tls, name, 0) }() loc = (*t__pthread)(unsafe.Pointer(___get_tp(tls))).Flocale old_errno = *(*int32)(unsafe.Pointer(X__errno_location(tls))) @@ -31627,6 +31629,7 @@ func Xdcngettext(tls *TLS, domainname uintptr, msgid1 uintptr, msgid2 uintptr, n if !!(lm != 0) { goto _2 } + goto notrans notrans: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno @@ -31638,20 +31641,20 @@ notrans: return v3 _2: ; - p = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_cats))) + p3 = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_cats))) for { - if !(p != 0) { + if !(p3 != 0) { break } - if (*Tmsgcat)(unsafe.Pointer(p)).Fbinding == q && (*Tmsgcat)(unsafe.Pointer(p)).Flm == lm && (*Tmsgcat)(unsafe.Pointer(p)).Fcat == category { + if (*Tmsgcat)(unsafe.Pointer(p3)).Fbinding == q && (*Tmsgcat)(unsafe.Pointer(p3)).Flm == lm && (*Tmsgcat)(unsafe.Pointer(p3)).Fcat == category { break } goto _4 _4: ; - p = (*Tmsgcat)(unsafe.Pointer(p)).Fnext + p3 = (*Tmsgcat)(unsafe.Pointer(p3)).Fnext } - if !(p != 0) { + if !(p3 != 0) { dirname = (*Tbinding)(unsafe.Pointer(q)).Fdirname locname = lm + 16 catname = uintptr(unsafe.Pointer(&_catnames)) + uintptr(category)*12 @@ -31700,19 +31703,19 @@ _2: if !(map1 != 0) { goto notrans } - p = Xcalloc(tls, uint64(64), uint64(1)) - if !(p != 0) { + p3 = Xcalloc(tls, uint64(64), uint64(1)) + if !(p3 != 0) { X__munmap(tls, map1, *(*Tsize_t)(unsafe.Pointer(bp))) goto notrans } - (*Tmsgcat)(unsafe.Pointer(p)).Fcat = category - (*Tmsgcat)(unsafe.Pointer(p)).Fbinding = q - (*Tmsgcat)(unsafe.Pointer(p)).Flm = lm - (*Tmsgcat)(unsafe.Pointer(p)).Fmap1 = map1 - (*Tmsgcat)(unsafe.Pointer(p)).Fmap_size = *(*Tsize_t)(unsafe.Pointer(bp)) + (*Tmsgcat)(unsafe.Pointer(p3)).Fcat = category + (*Tmsgcat)(unsafe.Pointer(p3)).Fbinding = q + (*Tmsgcat)(unsafe.Pointer(p3)).Flm = lm + (*Tmsgcat)(unsafe.Pointer(p3)).Fmap1 = map1 + (*Tmsgcat)(unsafe.Pointer(p3)).Fmap_size = *(*Tsize_t)(unsafe.Pointer(bp)) rule = __ccgo_ts + 445 np = uint64(2) - r1 = X__mo_lookup(tls, (*Tmsgcat)(unsafe.Pointer(p)).Fmap1, (*Tmsgcat)(unsafe.Pointer(p)).Fmap_size, __ccgo_ts) + r1 = X__mo_lookup(tls, (*Tmsgcat)(unsafe.Pointer(p3)).Fmap1, (*Tmsgcat)(unsafe.Pointer(p3)).Fmap_size, __ccgo_ts) for r1 != 0 && Xstrncmp(tls, r1, __ccgo_ts+451, uint64(13)) != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = Xstrchr(tls, r1, int32('\n')) if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { @@ -31758,11 +31761,11 @@ _2: } } } - (*Tmsgcat)(unsafe.Pointer(p)).Fnplurals = int32(np) - (*Tmsgcat)(unsafe.Pointer(p)).Fplural_rule = rule + (*Tmsgcat)(unsafe.Pointer(p3)).Fnplurals = int32(np) + (*Tmsgcat)(unsafe.Pointer(p3)).Fplural_rule = rule for { old_cats = AtomicLoadPUintptr(uintptr(unsafe.Pointer(&_cats))) - (*Tmsgcat)(unsafe.Pointer(p)).Fnext = old_cats + (*Tmsgcat)(unsafe.Pointer(p3)).Fnext = old_cats goto _26 _26: ; @@ -31810,15 +31813,15 @@ _2: } } } - trans = X__mo_lookup(tls, (*Tmsgcat)(unsafe.Pointer(p)).Fmap1, (*Tmsgcat)(unsafe.Pointer(p)).Fmap_size, msgid1) + trans = X__mo_lookup(tls, (*Tmsgcat)(unsafe.Pointer(p3)).Fmap1, (*Tmsgcat)(unsafe.Pointer(p3)).Fmap_size, msgid1) if !(trans != 0) { goto notrans } /* Non-plural-processing gettext forms pass a null pointer as * msgid2 to request that dcngettext suppress plural processing. */ - if msgid2 != 0 && (*Tmsgcat)(unsafe.Pointer(p)).Fnplurals != 0 { - plural = X__pleval(tls, (*Tmsgcat)(unsafe.Pointer(p)).Fplural_rule, n) - if plural > uint64((*Tmsgcat)(unsafe.Pointer(p)).Fnplurals) { + if msgid2 != 0 && (*Tmsgcat)(unsafe.Pointer(p3)).Fnplurals != 0 { + plural = X__pleval(tls, (*Tmsgcat)(unsafe.Pointer(p3)).Fplural_rule, n) + if plural > uint64((*Tmsgcat)(unsafe.Pointer(p3)).Fnplurals) { goto notrans } for { @@ -31827,7 +31830,7 @@ _2: if !(v27 != 0) { break } - rem = (*Tmsgcat)(unsafe.Pointer(p)).Fmap_size - uint64(int64(trans)-int64((*Tmsgcat)(unsafe.Pointer(p)).Fmap1)) + rem = (*Tmsgcat)(unsafe.Pointer(p3)).Fmap_size - uint64(int64(trans)-int64((*Tmsgcat)(unsafe.Pointer(p3)).Fmap1)) l = Xstrnlen(tls, trans, rem) if l+uint64(1) >= rem { goto notrans @@ -98904,6 +98907,7 @@ func Xiconv(tls *TLS, cd Ticonv_t, in uintptr, inb uintptr, out uintptr, outb ui if !(c > uint32(0x7f)) { goto _52 } + goto subst subst: ; x++ @@ -98918,6 +98922,7 @@ func Xiconv(tls *TLS, cd Ticonv_t, in uintptr, inb uintptr, out uintptr, outb ui if !(c < uint32(256) && c == _legacy_map(tls, tomap, c)) { goto _53 } + goto revout revout: ; if *(*Tsize_t)(unsafe.Pointer(outb)) < uint64(1) { @@ -99181,20 +99186,24 @@ func Xiconv(tls *TLS, cd Ticonv_t, in uintptr, inb uintptr, out uintptr, outb ui } *(*Tlocale_t)(unsafe.Pointer(ploc)) = loc return x + goto ilseq ilseq: ; err = int32(EILSEQ) x = uint64(-Int32FromInt32(1)) goto end + goto toobig toobig: ; err = int32(E2BIG) x = uint64(-Int32FromInt32(1)) goto end + goto starved starved: ; err = int32(EINVAL) x = uint64(-Int32FromInt32(1)) + goto end end: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = err @@ -100045,6 +100054,7 @@ _3: if !(int32(*(*int8)(unsafe.Pointer(fmt))) != int32('%')) { goto _4 } + goto literal literal: ; v5 = s @@ -100902,6 +100912,7 @@ func X__rem_pio2(tls *TLS, x float64, y uintptr) (r1 int32) { if !(ix < uint32(0x413921fb)) { goto _1 } /* |x| ~< 2^20*(pi/2), medium size */ + goto medium medium: ; /* rint(x/(pi/2)) */ @@ -101160,6 +101171,7 @@ func X__rem_pio2_large(tls *TLS, x uintptr, y uintptr, e0 int32, nx int32, prec i++ } jz = jk + goto recompute recompute: ; /* distill q[] into iq[] reversingly */ @@ -102143,9 +102155,9 @@ func Xasinf(tls *TLS, x float32) (r float32) { // C documentation // // /* asinh(x) = sign(x)*log(|x|+sqrt(x*x+1)) ~= x - x^3/6 + o(x^5) */ -func Xasinh(tls *TLS, x float64) (r float64) { +func Xasinh(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -102165,41 +102177,41 @@ func Xasinh(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 e = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(52) & uint64(0x7ff)) s = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(63)) /* |x| */ *(*Tuint64_t)(unsafe.Pointer(bp)) &= uint64(-Int32FromInt32(1)) / Uint64FromInt32(2) - x = *(*float64)(unsafe.Pointer(bp)) + x3 = *(*float64)(unsafe.Pointer(bp)) if e >= uint32(Int32FromInt32(0x3ff)+Int32FromInt32(26)) { /* |x| >= 0x1p26 or inf or nan */ - x = Xlog(tls, x) + float64(0.6931471805599453) + x3 = Xlog(tls, x3) + float64(0.6931471805599453) } else { if e >= uint32(Int32FromInt32(0x3ff)+Int32FromInt32(1)) { /* |x| >= 2 */ - x = Xlog(tls, Float64FromInt32(2)*x+Float64FromInt32(1)/(Xsqrt(tls, x*x+Float64FromInt32(1))+x)) + x3 = Xlog(tls, Float64FromInt32(2)*x3+Float64FromInt32(1)/(Xsqrt(tls, x3*x3+Float64FromInt32(1))+x3)) } else { if e >= uint32(Int32FromInt32(0x3ff)-Int32FromInt32(26)) { /* |x| >= 0x1p-26, up to 1.6ulp error in [0.125,0.5] */ - x = Xlog1p(tls, x+x*x/(Xsqrt(tls, x*x+Float64FromInt32(1))+Float64FromInt32(1))) + x3 = Xlog1p(tls, x3+x3*x3/(Xsqrt(tls, x3*x3+Float64FromInt32(1))+Float64FromInt32(1))) } else { /* |x| < 0x1p-26, raise inexact if x != 0 */ if uint64(8) == uint64(4) { - y = float32(x + Float64FromFloat32(1.329227995784916e+36)) + y = float32(x3 + Float64FromFloat32(1.329227995784916e+36)) } else { if uint64(8) == uint64(8) { - y1 = x + Float64FromFloat32(1.329227995784916e+36) + y1 = x3 + Float64FromFloat32(1.329227995784916e+36) } else { - y2 = x + Float64FromFloat32(1.329227995784916e+36) + y2 = x3 + Float64FromFloat32(1.329227995784916e+36) } } } } } if s != 0 { - v1 = -x + v1 = -x3 } else { - v1 = x + v1 = x3 } return v1 } @@ -102207,9 +102219,9 @@ func Xasinh(tls *TLS, x float64) (r float64) { // C documentation // // /* asinh(x) = sign(x)*log(|x|+sqrt(x*x+1)) ~= x - x^3/6 + o(x^5) */ -func Xasinhf(tls *TLS, x float32) (r float32) { +func Xasinhf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -102230,41 +102242,41 @@ func Xasinhf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 i = *(*Tuint32_t)(unsafe.Pointer(bp)) & uint32(0x7fffffff) s = *(*Tuint32_t)(unsafe.Pointer(bp)) >> int32(31) /* |x| */ *(*Tuint32_t)(unsafe.Pointer(bp)) = i - x = *(*float32)(unsafe.Pointer(bp)) + x3 = *(*float32)(unsafe.Pointer(bp)) if i >= uint32(Int32FromInt32(0x3f800000)+Int32FromInt32(12)<= 0x1p12 or inf or nan */ - x = Xlogf(tls, x) + Float32FromFloat32(0.6931471805599453) + x3 = Xlogf(tls, x3) + Float32FromFloat32(0.6931471805599453) } else { if i >= uint32(Int32FromInt32(0x3f800000)+Int32FromInt32(1)<= 2 */ - x = Xlogf(tls, Float32FromInt32(2)*x+Float32FromInt32(1)/(Xsqrtf(tls, x*x+Float32FromInt32(1))+x)) + x3 = Xlogf(tls, Float32FromInt32(2)*x3+Float32FromInt32(1)/(Xsqrtf(tls, x3*x3+Float32FromInt32(1))+x3)) } else { if i >= uint32(Int32FromInt32(0x3f800000)-Int32FromInt32(12)<= 0x1p-12, up to 1.6ulp error in [0.125,0.5] */ - x = Xlog1pf(tls, x+x*x/(Xsqrtf(tls, x*x+Float32FromInt32(1))+Float32FromInt32(1))) + x3 = Xlog1pf(tls, x3+x3*x3/(Xsqrtf(tls, x3*x3+Float32FromInt32(1))+Float32FromInt32(1))) } else { /* |x| < 0x1p-12, raise inexact if x!=0 */ if uint64(4) == uint64(4) { - y = x + Float32FromFloat32(1.329227995784916e+36) + y = x3 + Float32FromFloat32(1.329227995784916e+36) } else { if uint64(4) == uint64(8) { - y1 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y1 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } else { - y2 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } } } } } if s != 0 { - v1 = -x + v1 = -x3 } else { - v1 = x + v1 = x3 } return v1 } @@ -102313,9 +102325,9 @@ var _aT = [11]float64{ 10: float64(0.016285820115365782), } -func Xatan(tls *TLS, x float64) (r float64) { +func Xatan(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -102331,16 +102343,16 @@ func Xatan(tls *TLS, x float64) (r float64) { F__f float64 } _, _, _, _, _, _, _, _, _, _, _, _, _ = id, ix, s1, s2, sign, w, y, y1, y2, z, v1, v3, v4 - ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(32)) + ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x3)) >> int32(32)) sign = ix >> int32(31) ix &= uint32(0x7fffffff) if ix >= uint32(0x44100000) { /* if |x| >= 2^66 */ - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 v1 = *(*uint64)(unsafe.Pointer(bp)) goto _2 _2: if BoolInt32(v1&(-Uint64FromUint64(1)>>Int32FromInt32(1)) > Uint64FromUint64(0x7ff)< %v", r) }() } bp := tls.Alloc(16) @@ -102692,16 +102704,16 @@ func Xatanf(tls *TLS, x float32) (r float32) { F__f float32 } _, _, _, _, _, _, _, _, _, _, _, _, _ = id, ix, s1, s2, sign, w, y, y1, y2, z, v1, v3, v4 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x3)) sign = ix >> int32(31) ix &= uint32(0x7fffffff) if ix >= uint32(0x4c800000) { /* if |x| >= 2**26 */ - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 v1 = *(*uint32)(unsafe.Pointer(bp)) goto _2 _2: if BoolInt32(v1&uint32(0x7fffffff) > uint32(0x7f800000)) != 0 { - return x + return x3 } z = _atanhi1[int32(3)] + Float32FromFloat32(7.52316384526264e-37) if sign != 0 { @@ -102716,48 +102728,48 @@ func Xatanf(tls *TLS, x float32) (r float32) { if ix < uint32(0x00800000) { /* raise underflow for subnormal x */ if uint64(4) == uint64(4) { - y = x * x + y = x3 * x3 } else { if uint64(4) == uint64(8) { - y1 = float64(x * x) + y1 = float64(x3 * x3) } else { - y2 = float64(x * x) + y2 = float64(x3 * x3) } } } - return x + return x3 } id = -int32(1) } else { - x = Xfabsf(tls, x) + x3 = Xfabsf(tls, x3) if ix < uint32(0x3f980000) { /* |x| < 1.1875 */ if ix < uint32(0x3f300000) { /* 7/16 <= |x| < 11/16 */ id = 0 - x = (Float32FromFloat32(2)*x - Float32FromFloat32(1)) / (Float32FromFloat32(2) + x) + x3 = (Float32FromFloat32(2)*x3 - Float32FromFloat32(1)) / (Float32FromFloat32(2) + x3) } else { /* 11/16 <= |x| < 19/16 */ id = int32(1) - x = (x - Float32FromFloat32(1)) / (x + Float32FromFloat32(1)) + x3 = (x3 - Float32FromFloat32(1)) / (x3 + Float32FromFloat32(1)) } } else { if ix < uint32(0x401c0000) { /* |x| < 2.4375 */ id = int32(2) - x = (x - Float32FromFloat32(1.5)) / (Float32FromFloat32(1) + Float32FromFloat32(1.5)*x) + x3 = (x3 - Float32FromFloat32(1.5)) / (Float32FromFloat32(1) + Float32FromFloat32(1.5)*x3) } else { /* 2.4375 <= |x| < 2**26 */ id = int32(3) - x = -Float32FromFloat32(1) / x + x3 = -Float32FromFloat32(1) / x3 } } } /* end of argument reduction */ - z = x * x + z = x3 * x3 w = z * z /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ s1 = z * (_aT1[0] + w*(_aT1[int32(2)]+w*_aT1[int32(4)])) s2 = w * (_aT1[int32(1)] + w*_aT1[int32(3)]) if id < 0 { - return x - x*(s1+s2) + return x3 - x3*(s1+s2) } - z = _atanhi1[id] - (x*(s1+s2) - _atanlo1[id] - x) + z = _atanhi1[id] - (x3*(s1+s2) - _atanlo1[id] - x3) if sign != 0 { v4 = -z } else { @@ -102769,9 +102781,9 @@ func Xatanf(tls *TLS, x float32) (r float32) { // C documentation // // /* atanh(x) = log((1+x)/(1-x))/2 = log1p(2x/(1-x))/2 ~= x + x^3/3 + o(x^5) */ -func Xatanh(tls *TLS, x float64) (r float64) { +func Xatanh(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -102792,7 +102804,7 @@ func Xatanh(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 e = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(52) & uint64(0x7ff)) s = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(63)) /* |x| */ @@ -102831,9 +102843,9 @@ func Xatanh(tls *TLS, x float64) (r float64) { // C documentation // // /* atanh(x) = log((1+x)/(1-x))/2 = log1p(2x/(1-x))/2 ~= x + x^3/3 + o(x^5) */ -func Xatanhf(tls *TLS, x float32) (r float32) { +func Xatanhf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -102854,7 +102866,7 @@ func Xatanhf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 s = *(*Tuint32_t)(unsafe.Pointer(bp)) >> int32(31) /* |x| */ *(*Tuint32_t)(unsafe.Pointer(bp)) &= uint32(0x7fffffff) @@ -103080,9 +103092,9 @@ const DBL_EPSILON5 = 2.220446049250313e-16 var _toint2 = Float64FromInt32(1) / Float64FromFloat64(2.220446049250313e-16) -func Xceil(tls *TLS, x float64) (r float64) { +func Xceil(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -103103,16 +103115,16 @@ func Xceil(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(52) & uint64(0x7ff)) - if e >= Int32FromInt32(0x3ff)+Int32FromInt32(52) || x == Float64FromInt32(0) { - return x + if e >= Int32FromInt32(0x3ff)+Int32FromInt32(52) || x3 == Float64FromInt32(0) { + return x3 } /* y = int(x) - x, where int(x) is an integer neighbor of x */ if *(*Tuint64_t)(unsafe.Pointer(bp))>>int32(63) != 0 { - y3 = x - _toint2 + _toint2 - x + y3 = x3 - _toint2 + _toint2 - x3 } else { - y3 = x + _toint2 - _toint2 - x + y3 = x3 + _toint2 - _toint2 - x3 } /* special case because of non-nearest rounding modes */ if e <= Int32FromInt32(0x3ff)-Int32FromInt32(1) { @@ -103133,16 +103145,16 @@ func Xceil(tls *TLS, x float64) (r float64) { return v1 } if y3 < Float64FromInt32(0) { - return x + y3 + Float64FromInt32(1) + return x3 + y3 + Float64FromInt32(1) } - return x + y3 + return x3 + y3 } const DBL_EPSILON6 = 0 -func Xceilf(tls *TLS, x float32) (r float32) { +func Xceilf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -103163,23 +103175,23 @@ func Xceilf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint32_t)(unsafe.Pointer(bp))>>Int32FromInt32(23)&Uint32FromInt32(0xff)) - int32(0x7f) if e >= int32(23) { - return x + return x3 } if e >= 0 { m = uint32(int32(0x007fffff) >> e) if *(*Tuint32_t)(unsafe.Pointer(bp))&m == uint32(0) { - return x + return x3 } if uint64(4) == uint64(4) { - y = x + Float32FromFloat32(1.329227995784916e+36) + y = x3 + Float32FromFloat32(1.329227995784916e+36) } else { if uint64(4) == uint64(8) { - y1 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y1 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } else { - y2 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } } if *(*Tuint32_t)(unsafe.Pointer(bp))>>int32(31) == uint32(0) { @@ -103188,12 +103200,12 @@ func Xceilf(tls *TLS, x float32) (r float32) { *(*Tuint32_t)(unsafe.Pointer(bp)) &= ^m } else { if uint64(4) == uint64(4) { - y = x + Float32FromFloat32(1.329227995784916e+36) + y = x3 + Float32FromFloat32(1.329227995784916e+36) } else { if uint64(4) == uint64(8) { - y1 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y1 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } else { - y2 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } } if *(*Tuint32_t)(unsafe.Pointer(bp))>>int32(31) != 0 { @@ -103299,9 +103311,9 @@ func Xcopysignl(tls *TLS, x float64, y float64) (r float64) { return Xcopysign(tls, x, y) } -func Xcos(tls *TLS, x float64) (r float64) { +func Xcos(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -103312,31 +103324,31 @@ func Xcos(tls *TLS, x float64) (r float64) { var y1, y2 float64 var _ /* y at bp+0 */ [2]float64 _, _, _, _, _ = ix, n, y, y1, y2 - ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(32)) + ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x3)) >> int32(32)) ix &= uint32(0x7fffffff) /* |x| ~< pi/4 */ if ix <= uint32(0x3fe921fb) { if ix < uint32(0x3e46a09e) { /* |x| < 2**-27 * sqrt(2) */ /* raise inexact if x!=0 */ if uint64(8) == uint64(4) { - y = float32(x + Float64FromFloat32(1.329227995784916e+36)) + y = float32(x3 + Float64FromFloat32(1.329227995784916e+36)) } else { if uint64(8) == uint64(8) { - y1 = x + Float64FromFloat32(1.329227995784916e+36) + y1 = x3 + Float64FromFloat32(1.329227995784916e+36) } else { - y2 = x + Float64FromFloat32(1.329227995784916e+36) + y2 = x3 + Float64FromFloat32(1.329227995784916e+36) } } return float64(1) } - return X__cos(tls, x, Float64FromInt32(0)) + return X__cos(tls, x3, Float64FromInt32(0)) } /* cos(Inf or NaN) is NaN */ if ix >= uint32(0x7ff00000) { - return x - x + return x3 - x3 } /* argument reduction */ - n = uint32(X__rem_pio2(tls, x, bp)) + n = uint32(X__rem_pio2(tls, x3, bp)) switch n & Uint32FromInt32(3) { case uint32(0): return X__cos(tls, (*(*[2]float64)(unsafe.Pointer(bp)))[0], (*(*[2]float64)(unsafe.Pointer(bp)))[int32(1)]) @@ -103361,9 +103373,9 @@ var _c2pio2 = Float64FromInt32(2) * Float64FromFloat64(1.5707963267948966) /* 0x var _c3pio2 = Float64FromInt32(3) * Float64FromFloat64(1.5707963267948966) /* 0x4012D97C, 0x7F3321D2 */ var _c4pio2 = Float64FromInt32(4) * Float64FromFloat64(1.5707963267948966) /* 0x401921FB, 0x54442D18 */ -func Xcosf(tls *TLS, x float32) (r float32) { +func Xcosf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -103374,63 +103386,63 @@ func Xcosf(tls *TLS, x float32) (r float32) { var y1, y2, v1, v2 float64 var _ /* y at bp+0 */ float64 _, _, _, _, _, _, _, _ = ix, n, sign, y, y1, y2, v1, v2 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x3)) sign = ix >> int32(31) ix &= uint32(0x7fffffff) if ix <= uint32(0x3f490fda) { /* |x| ~<= pi/4 */ if ix < uint32(0x39800000) { /* |x| < 2**-12 */ /* raise inexact if x != 0 */ if uint64(4) == uint64(4) { - y = x + Float32FromFloat32(1.329227995784916e+36) + y = x3 + Float32FromFloat32(1.329227995784916e+36) } else { if uint64(4) == uint64(8) { - y1 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y1 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } else { - y2 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } } return Float32FromFloat32(1) } - return X__cosdf(tls, float64(x)) + return X__cosdf(tls, float64(x3)) } if ix <= uint32(0x407b53d1) { /* |x| ~<= 5*pi/4 */ if ix > uint32(0x4016cbe3) { /* |x| ~> 3*pi/4 */ if sign != 0 { - v1 = float64(x) + _c2pio2 + v1 = float64(x3) + _c2pio2 } else { - v1 = float64(x) - _c2pio2 + v1 = float64(x3) - _c2pio2 } return -X__cosdf(tls, v1) } else { if sign != 0 { - return X__sindf(tls, float64(x)+_c1pio2) + return X__sindf(tls, float64(x3)+_c1pio2) } else { - return X__sindf(tls, _c1pio2-float64(x)) + return X__sindf(tls, _c1pio2-float64(x3)) } } } if ix <= uint32(0x40e231d5) { /* |x| ~<= 9*pi/4 */ if ix > uint32(0x40afeddf) { /* |x| ~> 7*pi/4 */ if sign != 0 { - v2 = float64(x) + _c4pio2 + v2 = float64(x3) + _c4pio2 } else { - v2 = float64(x) - _c4pio2 + v2 = float64(x3) - _c4pio2 } return X__cosdf(tls, v2) } else { if sign != 0 { - return X__sindf(tls, float64(-x)-_c3pio2) + return X__sindf(tls, float64(-x3)-_c3pio2) } else { - return X__sindf(tls, float64(x)-_c3pio2) + return X__sindf(tls, float64(x3)-_c3pio2) } } } /* cos(Inf or NaN) is NaN */ if ix >= uint32(0x7f800000) { - return x - x + return x3 - x3 } /* general argument reduction needed */ - n = uint32(X__rem_pio2f(tls, x, bp)) + n = uint32(X__rem_pio2f(tls, x3, bp)) switch n & Uint32FromInt32(3) { case uint32(0): return X__cosdf(tls, *(*float64)(unsafe.Pointer(bp))) @@ -103452,9 +103464,9 @@ const M_PI_24 = 0 // * = 1 + 0.5*(exp(x)-1)*(exp(x)-1)/exp(x) // * = 1 + x*x/2 + o(x^4) // */ -func Xcosh(tls *TLS, x float64) (r float64) { +func Xcosh(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -103474,44 +103486,44 @@ func Xcosh(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 /* |x| */ *(*Tuint64_t)(unsafe.Pointer(bp)) &= uint64(-Int32FromInt32(1)) / Uint64FromInt32(2) - x = *(*float64)(unsafe.Pointer(bp)) + x3 = *(*float64)(unsafe.Pointer(bp)) w = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(32)) /* |x| < log(2) */ if w < uint32(0x3fe62e42) { if w < uint32(Int32FromInt32(0x3ff00000)-Int32FromInt32(26)<log(0x1p26) then the 1/t is not needed */ return float64(0.5) * (t + Float64FromInt32(1)/t) } /* |x| > log(DBL_MAX) or nan */ /* note: the result is stored to handle overflow */ - t = X__expo2(tls, x, float64(1)) + t = X__expo2(tls, x3, float64(1)) return t } -func Xcoshf(tls *TLS, x float32) (r float32) { +func Xcoshf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -103531,35 +103543,35 @@ func Xcoshf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 /* |x| */ *(*Tuint32_t)(unsafe.Pointer(bp)) &= uint32(0x7fffffff) - x = *(*float32)(unsafe.Pointer(bp)) + x3 = *(*float32)(unsafe.Pointer(bp)) w = *(*Tuint32_t)(unsafe.Pointer(bp)) /* |x| < log(2) */ if w < uint32(0x3f317217) { if w < uint32(Int32FromInt32(0x3f800000)-Int32FromInt32(12)< log(FLT_MAX) or nan */ - t = X__expo2f(tls, x, Float32FromFloat32(1)) + t = X__expo2f(tls, x3, Float32FromFloat32(1)) return t } @@ -104034,9 +104046,9 @@ func _top12(tls *TLS, x float64) (r Tuint32_t) { return uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(52)) } -func Xexp(tls *TLS, x float64) (r1 float64) { +func Xexp(tls *TLS, x1 float64) (r1 float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x1=%v, (%v:)", tls, x1, origin(2)) defer func() { trc("-> %v", r1) }() } var abstop Tuint32_t @@ -104044,22 +104056,22 @@ func Xexp(tls *TLS, x float64) (r1 float64) { var kd, r, r2, scale, tail, tmp, z Tdouble_t var y, v1, v2, v4, v6 float64 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = abstop, idx, kd, ki, r, r2, sbits, scale, tail, tmp, top, y, z, v1, v2, v4, v5, v6 - abstop = _top12(tls, x) & uint32(0x7ff) + abstop = _top12(tls, x1) & uint32(0x7ff) if abstop-_top12(tls, float64(5.551115123125783e-17)) >= _top12(tls, float64(512))-_top12(tls, float64(5.551115123125783e-17)) { if abstop-_top12(tls, float64(5.551115123125783e-17)) >= uint32(0x80000000) { /* Avoid spurious underflow for tiny x. */ /* Note: 0 is common input. */ - return float64(1) + x + return float64(1) + x1 } if abstop >= _top12(tls, float64(1024)) { v1 = float64(-X__builtin_inff(tls)) - if *(*Tuint64_t)(unsafe.Pointer(&x)) == *(*Tuint64_t)(unsafe.Pointer(&v1)) { + if *(*Tuint64_t)(unsafe.Pointer(&x1)) == *(*Tuint64_t)(unsafe.Pointer(&v1)) { return float64(0) } if abstop >= _top12(tls, float64(X__builtin_inff(tls))) { - return float64(1) + x + return float64(1) + x1 } - if *(*Tuint64_t)(unsafe.Pointer(&x))>>int32(63) != 0 { + if *(*Tuint64_t)(unsafe.Pointer(&x1))>>int32(63) != 0 { return X__math_uflow(tls, uint32(0)) } else { return X__math_oflow(tls, uint32(0)) @@ -104070,7 +104082,7 @@ func Xexp(tls *TLS, x float64) (r1 float64) { } /* exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]. */ /* x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]. */ - z = X__exp_data.Finvln2N * x + z = X__exp_data.Finvln2N * x1 /* z - kd is in [-1, 1] in non-nearest rounding modes. */ y = z + X__exp_data.Fshift v2 = y @@ -104080,7 +104092,7 @@ _3: v4 = kd ki = *(*Tuint64_t)(unsafe.Pointer(&v4)) kd -= X__exp_data.Fshift - r = x + kd*X__exp_data.Fnegln2hiN + kd*X__exp_data.Fnegln2loN + r = x1 + kd*X__exp_data.Fnegln2hiN + kd*X__exp_data.Fnegln2loN /* 2^(k/N) ~= scale * (1 + tail). */ idx = uint64(2) * (ki % uint64(Int32FromInt32(1)<> int32(52)) } -func Xexp2(tls *TLS, x float64) (r1 float64) { +func Xexp2(tls *TLS, x1 float64) (r1 float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x1=%v, (%v:)", tls, x1, origin(2)) defer func() { trc("-> %v", r1) }() } var abstop Tuint32_t @@ -104334,39 +104346,39 @@ func Xexp2(tls *TLS, x float64) (r1 float64) { var kd, r, r2, scale, tail, tmp Tdouble_t var y, v1, v2, v3, v4, v6, v8 float64 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = abstop, idx, kd, ki, r, r2, sbits, scale, tail, tmp, top, y, v1, v2, v3, v4, v6, v7, v8 - abstop = _top121(tls, x) & uint32(0x7ff) + abstop = _top121(tls, x1) & uint32(0x7ff) if abstop-_top121(tls, float64(5.551115123125783e-17)) >= _top121(tls, float64(512))-_top121(tls, float64(5.551115123125783e-17)) { if abstop-_top121(tls, float64(5.551115123125783e-17)) >= uint32(0x80000000) { /* Avoid spurious underflow for tiny x. */ /* Note: 0 is common input. */ - return float64(1) + x + return float64(1) + x1 } if abstop >= _top121(tls, float64(1024)) { v1 = float64(-X__builtin_inff(tls)) - if *(*Tuint64_t)(unsafe.Pointer(&x)) == *(*Tuint64_t)(unsafe.Pointer(&v1)) { + if *(*Tuint64_t)(unsafe.Pointer(&x1)) == *(*Tuint64_t)(unsafe.Pointer(&v1)) { return float64(0) } if abstop >= _top121(tls, float64(X__builtin_inff(tls))) { - return float64(1) + x + return float64(1) + x1 } - if !(*(*Tuint64_t)(unsafe.Pointer(&x))>>Int32FromInt32(63) != 0) { + if !(*(*Tuint64_t)(unsafe.Pointer(&x1))>>Int32FromInt32(63) != 0) { return X__math_oflow(tls, uint32(0)) } else { v2 = -Float64FromFloat64(1075) - if *(*Tuint64_t)(unsafe.Pointer(&x)) >= *(*Tuint64_t)(unsafe.Pointer(&v2)) { + if *(*Tuint64_t)(unsafe.Pointer(&x1)) >= *(*Tuint64_t)(unsafe.Pointer(&v2)) { return X__math_uflow(tls, uint32(0)) } } } v3 = float64(928) - if uint64(2)**(*Tuint64_t)(unsafe.Pointer(&x)) > uint64(2)**(*Tuint64_t)(unsafe.Pointer(&v3)) { + if uint64(2)**(*Tuint64_t)(unsafe.Pointer(&x1)) > uint64(2)**(*Tuint64_t)(unsafe.Pointer(&v3)) { /* Large x is special cased below. */ abstop = uint32(0) } } /* exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)]. */ /* x = k/N + r, with int k and r in [-1/2N, 1/2N]. */ - y = x + X__exp_data.Fexp2_shift + y = x1 + X__exp_data.Fexp2_shift v4 = y goto _5 _5: @@ -104374,7 +104386,7 @@ _5: v6 = kd ki = *(*Tuint64_t)(unsafe.Pointer(&v6)) /* k. */ kd -= X__exp_data.Fexp2_shift /* k/N for int k. */ - r = x - kd + r = x1 - kd /* 2^(k/N) ~= scale * (1 + tail). */ idx = uint64(2) * (ki % uint64(Int32FromInt32(1)<> int32(20) } -func Xexp2f(tls *TLS, x float32) (r1 float32) { +func Xexp2f(tls *TLS, x2 float32) (r1 float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x2=%v, (%v:)", tls, x2, origin(2)) defer func() { trc("-> %v", r1) }() } var abstop Tuint32_t @@ -104430,21 +104442,21 @@ func Xexp2f(tls *TLS, x float32) (r1 float32) { var y, v1, v5 float32 var y1, v2, v4 float64 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = abstop, kd, ki, r, r2, s, t, xd, y, y1, y2, z, v1, v2, v4, v5 - xd = float64(x) - abstop = _top122(tls, x) & uint32(0x7ff) + xd = float64(x2) + abstop = _top122(tls, x2) & uint32(0x7ff) if abstop >= _top122(tls, Float32FromFloat32(128)) { /* |x| >= 128 or x is nan. */ v1 = -X__builtin_inff(tls) - if *(*Tuint32_t)(unsafe.Pointer(&x)) == *(*Tuint32_t)(unsafe.Pointer(&v1)) { + if *(*Tuint32_t)(unsafe.Pointer(&x2)) == *(*Tuint32_t)(unsafe.Pointer(&v1)) { return Float32FromFloat32(0) } if abstop >= _top122(tls, X__builtin_inff(tls)) { - return x + x + return x2 + x2 } - if x > Float32FromFloat32(0) { + if x2 > Float32FromFloat32(0) { return X__math_oflowf(tls, uint32(0)) } - if x <= -Float32FromFloat32(150) { + if x2 <= -Float32FromFloat32(150) { return X__math_uflowf(tls, uint32(0)) } } @@ -104520,9 +104532,9 @@ func _top123(tls *TLS, x float32) (r Tuint32_t) { return *(*Tuint32_t)(unsafe.Pointer(&x)) >> int32(20) } -func Xexpf(tls *TLS, x float32) (r1 float32) { +func Xexpf(tls *TLS, x2 float32) (r1 float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x2=%v, (%v:)", tls, x2, origin(2)) defer func() { trc("-> %v", r1) }() } var abstop Tuint32_t @@ -104531,21 +104543,21 @@ func Xexpf(tls *TLS, x float32) (r1 float32) { var y, v1, v5 float32 var y1, v2, v4 float64 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = abstop, kd, ki, r, r2, s, t, xd, y, y1, y2, z, v1, v2, v4, v5 - xd = float64(x) - abstop = _top123(tls, x) & uint32(0x7ff) + xd = float64(x2) + abstop = _top123(tls, x2) & uint32(0x7ff) if abstop >= _top123(tls, Float32FromFloat32(88)) { /* |x| >= 88 or x is nan. */ v1 = -X__builtin_inff(tls) - if *(*Tuint32_t)(unsafe.Pointer(&x)) == *(*Tuint32_t)(unsafe.Pointer(&v1)) { + if *(*Tuint32_t)(unsafe.Pointer(&x2)) == *(*Tuint32_t)(unsafe.Pointer(&v1)) { return Float32FromFloat32(0) } if abstop >= _top123(tls, X__builtin_inff(tls)) { - return x + x + return x2 + x2 } - if x > Float32FromFloat32(88.72283172607422) { /* x > log(0x1p128) ~= 88.72 */ + if x2 > Float32FromFloat32(88.72283172607422) { /* x > log(0x1p128) ~= 88.72 */ return X__math_oflowf(tls, uint32(0)) } - if x < -Float32FromFloat32(103.97207641601562) { /* x < log(0x1p-150) ~= -103.97 */ + if x2 < -Float32FromFloat32(103.97207641601562) { /* x < log(0x1p-150) ~= -103.97 */ return X__math_uflowf(tls, uint32(0)) } } @@ -104598,9 +104610,9 @@ var _Q3 = -Float64FromFloat64(7.93650757867488e-05) /* BF14CE19 9EAADBB7 */ var _Q4 = float64(4.008217827329362e-06) /* 3ED0CFCA 86E65239 */ var _Q5 = -Float64FromFloat64(2.0109921818362437e-07) /* BE8AFDB7 6E09C32D */ -func Xexpm1(tls *TLS, x float64) (r float64) { +func Xexpm1(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -104627,35 +104639,35 @@ func Xexpm1(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp + 8)) = x + *(*float64)(unsafe.Pointer(bp + 8)) = x3 hx = uint32(*(*Tuint64_t)(unsafe.Pointer(bp + 8)) >> int32(32) & uint64(0x7fffffff)) sign = int32(*(*Tuint64_t)(unsafe.Pointer(bp + 8)) >> int32(63)) /* filter out huge and non-finite argument */ if hx >= uint32(0x4043687A) { /* if |x|>=56*ln2 */ - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 v1 = *(*uint64)(unsafe.Pointer(bp)) goto _2 _2: if BoolInt32(v1&(-Uint64FromUint64(1)>>Int32FromInt32(1)) > Uint64FromUint64(0x7ff)< _o_threshold { - x *= float64(8.98846567431158e+307) - return x + if x3 > _o_threshold { + x3 *= float64(8.98846567431158e+307) + return x3 } } /* argument reduction */ if hx > uint32(0x3fd62e42) { /* if |x| > 0.5 ln2 */ if hx < uint32(0x3FF0A2B2) { /* and |x| < 1.5 ln2 */ if !(sign != 0) { - hi = x - _ln2_hi + hi = x3 - _ln2_hi lo = _ln2_lo k = int32(1) } else { - hi = x + _ln2_hi + hi = x3 + _ln2_hi lo = -_ln2_lo k = -int32(1) } @@ -104665,56 +104677,56 @@ func Xexpm1(tls *TLS, x float64) (r float64) { } else { v3 = float64(0.5) } - k = int32(_invln2*x + v3) + k = int32(_invln2*x3 + v3) t = float64(k) - hi = x - t*_ln2_hi /* t*ln2_hi is exact here */ + hi = x3 - t*_ln2_hi /* t*ln2_hi is exact here */ lo = t * _ln2_lo } - x = hi - lo - c = hi - x - lo + x3 = hi - lo + c = hi - x3 - lo } else { if hx < uint32(0x3c900000) { /* |x| < 2**-54, return x */ if hx < uint32(0x00100000) { if uint64(4) == uint64(4) { - y = float32(x) + y = float32(x3) } else { if uint64(4) == uint64(8) { - y1 = float64(float32(x)) + y1 = float64(float32(x3)) } else { - y2 = float64(float32(x)) + y2 = float64(float32(x3)) } } } - return x + return x3 } else { k = 0 } } /* x is now in primary range */ - hfx = float64(0.5) * x - hxs = x * hfx + hfx = float64(0.5) * x3 + hxs = x3 * hfx r1 = float64(1) + hxs*(_Q1+hxs*(_Q2+hxs*(_Q3+hxs*(_Q4+hxs*_Q5)))) t = float64(3) - r1*hfx - e = hxs * ((r1 - t) / (Float64FromFloat64(6) - x*t)) + e = hxs * ((r1 - t) / (Float64FromFloat64(6) - x3*t)) if k == 0 { /* c is 0 */ - return x - (x*e - hxs) + return x3 - (x3*e - hxs) } - e = x*(e-c) - c + e = x3*(e-c) - c e -= hxs /* exp(x) ~ 2^k (Xreduced - e + 1) */ if k == -int32(1) { - return float64(0.5)*(x-e) - float64(0.5) + return float64(0.5)*(x3-e) - float64(0.5) } if k == int32(1) { - if x < -Float64FromFloat64(0.25) { - return -Float64FromFloat64(2) * (e - (x + Float64FromFloat64(0.5))) + if x3 < -Float64FromFloat64(0.25) { + return -Float64FromFloat64(2) * (e - (x3 + Float64FromFloat64(0.5))) } - return float64(1) + float64(2)*(x-e) + return float64(1) + float64(2)*(x3-e) } *(*Tuint64_t)(unsafe.Pointer(bp + 8)) = uint64(Int32FromInt32(0x3ff)+k) << int32(52) /* 2^k */ twopk = *(*float64)(unsafe.Pointer(bp + 8)) if k < 0 || k > int32(56) { /* suffice to return exp(x)-1 */ - y3 = x - e + float64(1) + y3 = x3 - e + float64(1) if k == int32(1024) { y3 = y3 * float64(2) * float64(8.98846567431158e+307) } else { @@ -104724,9 +104736,9 @@ func Xexpm1(tls *TLS, x float64) (r float64) { } *(*Tuint64_t)(unsafe.Pointer(bp + 8)) = uint64(Int32FromInt32(0x3ff)-k) << int32(52) /* 2^-k */ if k < int32(20) { - y3 = (x - e + (Float64FromInt32(1) - *(*float64)(unsafe.Pointer(bp + 8)))) * twopk + y3 = (x3 - e + (Float64FromInt32(1) - *(*float64)(unsafe.Pointer(bp + 8)))) * twopk } else { - y3 = (x - (e + *(*float64)(unsafe.Pointer(bp + 8))) + Float64FromInt32(1)) * twopk + y3 = (x3 - (e + *(*float64)(unsafe.Pointer(bp + 8))) + Float64FromInt32(1)) * twopk } return y3 } @@ -104742,9 +104754,9 @@ var _invln21 = float32(1.4426950216) /* 0x3fb8aa3b */ var _Q11 = float32(-Float64FromFloat64(0.033333212137)) /* -0x888868.0p-28 */ var _Q21 = float32(0.0015807170421) /* 0xcf3010.0p-33 */ -func Xexpm1f(tls *TLS, x float32) (r float32) { +func Xexpm1f(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -104766,31 +104778,31 @@ func Xexpm1f(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 hx = *(*Tuint32_t)(unsafe.Pointer(bp)) & uint32(0x7fffffff) sign = int32(*(*Tuint32_t)(unsafe.Pointer(bp)) >> int32(31)) /* filter out huge and non-finite argument */ if hx >= uint32(0x4195b844) { /* if |x|>=27*ln2 */ if hx > uint32(0x7f800000) { /* NaN */ - return x + return x3 } if sign != 0 { return float32(-Int32FromInt32(1)) } if hx > uint32(0x42b17217) { /* x > log(FLT_MAX) */ - x *= Float32FromFloat32(1.7014118346046923e+38) - return x + x3 *= Float32FromFloat32(1.7014118346046923e+38) + return x3 } } /* argument reduction */ if hx > uint32(0x3eb17218) { /* if |x| > 0.5 ln2 */ if hx < uint32(0x3F851592) { /* and |x| < 1.5 ln2 */ if !(sign != 0) { - hi = x - _ln2_hi1 + hi = x3 - _ln2_hi1 lo = _ln2_lo1 k = int32(1) } else { - hi = x + _ln2_hi1 + hi = x3 + _ln2_hi1 lo = -_ln2_lo1 k = -int32(1) } @@ -104800,56 +104812,56 @@ func Xexpm1f(tls *TLS, x float32) (r float32) { } else { v1 = Float32FromFloat32(0.5) } - k = int32(_invln21*x + v1) + k = int32(_invln21*x3 + v1) t = float32(k) - hi = x - t*_ln2_hi1 /* t*ln2_hi is exact here */ + hi = x3 - t*_ln2_hi1 /* t*ln2_hi is exact here */ lo = t * _ln2_lo1 } - x = hi - lo - c = hi - x - lo + x3 = hi - lo + c = hi - x3 - lo } else { if hx < uint32(0x33000000) { /* when |x|<2**-25, return x */ if hx < uint32(0x00800000) { if uint64(4) == uint64(4) { - y = x * x + y = x3 * x3 } else { if uint64(4) == uint64(8) { - y1 = float64(x * x) + y1 = float64(x3 * x3) } else { - y2 = float64(x * x) + y2 = float64(x3 * x3) } } } - return x + return x3 } else { k = 0 } } /* x is now in primary range */ - hfx = Float32FromFloat32(0.5) * x - hxs = x * hfx + hfx = Float32FromFloat32(0.5) * x3 + hxs = x3 * hfx r1 = Float32FromFloat32(1) + hxs*(_Q11+hxs*_Q21) t = Float32FromFloat32(3) - r1*hfx - e = hxs * ((r1 - t) / (Float32FromFloat32(6) - x*t)) + e = hxs * ((r1 - t) / (Float32FromFloat32(6) - x3*t)) if k == 0 { /* c is 0 */ - return x - (x*e - hxs) + return x3 - (x3*e - hxs) } - e = x*(e-c) - c + e = x3*(e-c) - c e -= hxs /* exp(x) ~ 2^k (Xreduced - e + 1) */ if k == -int32(1) { - return Float32FromFloat32(0.5)*(x-e) - Float32FromFloat32(0.5) + return Float32FromFloat32(0.5)*(x3-e) - Float32FromFloat32(0.5) } if k == int32(1) { - if x < -Float32FromFloat32(0.25) { - return -Float32FromFloat32(2) * (e - (x + Float32FromFloat32(0.5))) + if x3 < -Float32FromFloat32(0.25) { + return -Float32FromFloat32(2) * (e - (x3 + Float32FromFloat32(0.5))) } - return Float32FromFloat32(1) + Float32FromFloat32(2)*(x-e) + return Float32FromFloat32(1) + Float32FromFloat32(2)*(x3-e) } *(*Tuint32_t)(unsafe.Pointer(bp)) = uint32((int32(0x7f) + k) << int32(23)) /* 2^k */ twopk = *(*float32)(unsafe.Pointer(bp)) if k < 0 || k > int32(56) { /* suffice to return exp(x)-1 */ - y3 = x - e + Float32FromFloat32(1) + y3 = x3 - e + Float32FromFloat32(1) if k == int32(128) { y3 = y3 * Float32FromFloat32(2) * Float32FromFloat32(1.7014118346046923e+38) } else { @@ -104859,9 +104871,9 @@ func Xexpm1f(tls *TLS, x float32) (r float32) { } *(*Tuint32_t)(unsafe.Pointer(bp)) = uint32((int32(0x7f) - k) << int32(23)) /* 2^-k */ if k < int32(23) { - y3 = (x - e + (Float32FromInt32(1) - *(*float32)(unsafe.Pointer(bp)))) * twopk + y3 = (x3 - e + (Float32FromInt32(1) - *(*float32)(unsafe.Pointer(bp)))) * twopk } else { - y3 = (x - (e + *(*float32)(unsafe.Pointer(bp))) + Float32FromInt32(1)) * twopk + y3 = (x3 - (e + *(*float32)(unsafe.Pointer(bp))) + Float32FromInt32(1)) * twopk } return y3 } @@ -105055,9 +105067,9 @@ const DBL_EPSILON7 = 2.220446049250313e-16 var _toint3 = Float64FromInt32(1) / Float64FromFloat64(2.220446049250313e-16) -func Xfloor(tls *TLS, x float64) (r float64) { +func Xfloor(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -105078,16 +105090,16 @@ func Xfloor(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(52) & uint64(0x7ff)) - if e >= Int32FromInt32(0x3ff)+Int32FromInt32(52) || x == Float64FromInt32(0) { - return x + if e >= Int32FromInt32(0x3ff)+Int32FromInt32(52) || x3 == Float64FromInt32(0) { + return x3 } /* y = int(x) - x, where int(x) is an integer neighbor of x */ if *(*Tuint64_t)(unsafe.Pointer(bp))>>int32(63) != 0 { - y3 = x - _toint3 + _toint3 - x + y3 = x3 - _toint3 + _toint3 - x3 } else { - y3 = x + _toint3 - _toint3 - x + y3 = x3 + _toint3 - _toint3 - x3 } /* special case because of non-nearest rounding modes */ if e <= Int32FromInt32(0x3ff)-Int32FromInt32(1) { @@ -105108,16 +105120,16 @@ func Xfloor(tls *TLS, x float64) (r float64) { return float64(v1) } if y3 > Float64FromInt32(0) { - return x + y3 - Float64FromInt32(1) + return x3 + y3 - Float64FromInt32(1) } - return x + y3 + return x3 + y3 } const DBL_EPSILON8 = 0 -func Xfloorf(tls *TLS, x float32) (r float32) { +func Xfloorf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -105138,23 +105150,23 @@ func Xfloorf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint32_t)(unsafe.Pointer(bp))>>Int32FromInt32(23)&Uint32FromInt32(0xff)) - int32(0x7f) if e >= int32(23) { - return x + return x3 } if e >= 0 { m = uint32(int32(0x007fffff) >> e) if *(*Tuint32_t)(unsafe.Pointer(bp))&m == uint32(0) { - return x + return x3 } if uint64(4) == uint64(4) { - y = x + Float32FromFloat32(1.329227995784916e+36) + y = x3 + Float32FromFloat32(1.329227995784916e+36) } else { if uint64(4) == uint64(8) { - y1 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y1 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } else { - y2 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } } if *(*Tuint32_t)(unsafe.Pointer(bp))>>int32(31) != 0 { @@ -105163,12 +105175,12 @@ func Xfloorf(tls *TLS, x float32) (r float32) { *(*Tuint32_t)(unsafe.Pointer(bp)) &= ^m } else { if uint64(4) == uint64(4) { - y = x + Float32FromFloat32(1.329227995784916e+36) + y = x3 + Float32FromFloat32(1.329227995784916e+36) } else { if uint64(4) == uint64(8) { - y1 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y1 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } else { - y2 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } } if *(*Tuint32_t)(unsafe.Pointer(bp))>>int32(31) == uint32(0) { @@ -105245,9 +105257,9 @@ func _mul(tls *TLS, hi uintptr, lo uintptr, x Tuint64_t, y Tuint64_t) { *(*Tuint64_t)(unsafe.Pointer(hi)) = t3 + t2>>Int32FromInt32(32) + BoolUint64(t1 > *(*Tuint64_t)(unsafe.Pointer(lo))) } -func Xfma(tls *TLS, x float64, y1 float64, z float64) (r2 float64) { +func Xfma(tls *TLS, x1 float64, y1 float64, z float64) (r2 float64) { if __ccgo_strace { - trc("tls=%v x=%v y1=%v z=%v, (%v:)", tls, x, y1, z, origin(2)) + trc("tls=%v x1=%v y1=%v z=%v, (%v:)", tls, x1, y1, z, origin(2)) defer func() { trc("-> %v", r2) }() } bp := tls.Alloc(16) @@ -105263,15 +105275,15 @@ func Xfma(tls *TLS, x float64, y1 float64, z float64) (r2 float64) { var _ /* rhi at bp+0 */ Tuint64_t var _ /* rlo at bp+8 */ Tuint64_t _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, d, e, fltmin, i, nonzero, nx, ny, nz, r, r1, samesign, sign, t, tiny, y, zhi, zlo, v1, v2, v4, v5 - nx = _normalize(tls, x) + nx = _normalize(tls, x1) ny = _normalize(tls, y1) nz = _normalize(tls, z) if nx.Fe >= Int32FromInt32(0x7ff)-Int32FromInt32(0x3ff)-Int32FromInt32(52)-Int32FromInt32(1) || ny.Fe >= Int32FromInt32(0x7ff)-Int32FromInt32(0x3ff)-Int32FromInt32(52)-Int32FromInt32(1) { - return x*y1 + z + return x1*y1 + z } if nz.Fe >= Int32FromInt32(0x7ff)-Int32FromInt32(0x3ff)-Int32FromInt32(52)-Int32FromInt32(1) { if nz.Fe > Int32FromInt32(0x7ff)-Int32FromInt32(0x3ff)-Int32FromInt32(52)-Int32FromInt32(1) { /* z==0 */ - return x*y1 + z + return x1*y1 + z } return z } @@ -105412,7 +105424,7 @@ func Xfma(tls *TLS, x float64, y1 float64, z float64) (r2 float64) { } } else { /* exact +-0 */ - return x*y1 + z + return x1*y1 + z } } e -= d @@ -106309,9 +106321,9 @@ func Xhypotl(tls *TLS, x float64, y float64) (r float64) { return Xhypot(tls, x, y) } -func Xilogb(tls *TLS, x float64) (r int32) { +func Xilogb(tls *TLS, x3 float64) (r int32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -106332,7 +106344,7 @@ func Xilogb(tls *TLS, x float64) (r int32) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 i = *(*Tuint64_t)(unsafe.Pointer(bp)) e = int32(i >> int32(52) & uint64(0x7ff)) if !(e != 0) { @@ -106383,9 +106395,9 @@ func Xilogb(tls *TLS, x float64) (r int32) { return e - int32(0x3ff) } -func Xilogbf(tls *TLS, x float32) (r int32) { +func Xilogbf(tls *TLS, x3 float32) (r int32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -106406,7 +106418,7 @@ func Xilogbf(tls *TLS, x float32) (r int32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 i = *(*Tuint32_t)(unsafe.Pointer(bp)) e = int32(i >> int32(23) & uint32(0xff)) if !(e != 0) { @@ -108999,9 +109011,9 @@ func _top16(tls *TLS, x float64) (r Tuint32_t) { return uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(48)) } -func Xlog(tls *TLS, x float64) (r1 float64) { +func Xlog(tls *TLS, x1 float64) (r1 float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x1=%v, (%v:)", tls, x1, origin(2)) defer func() { trc("-> %v", r1) }() } var hi, invc, kd, lo, logc, r, r2, r3, rhi, rlo, w, y1, z Tdouble_t @@ -109011,8 +109023,8 @@ func Xlog(tls *TLS, x float64) (r1 float64) { var y, v1, v10, v2, v3, v4, v6, v8, v9 float64 var v5 bool _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = hi, i, invc, ix, iz, k, kd, lo, logc, r, r2, r3, rhi, rlo, tmp, top, w, y, y1, z, v1, v10, v2, v3, v4, v5, v6, v8, v9 - ix = *(*Tuint64_t)(unsafe.Pointer(&x)) - top = _top16(tls, x) + ix = *(*Tuint64_t)(unsafe.Pointer(&x1)) + top = _top16(tls, x1) v1 = Float64FromFloat64(1) - Float64FromFloat64(0.0625) v2 = Float64FromFloat64(1) + Float64FromFloat64(0.064697265625) v3 = Float64FromFloat64(1) - Float64FromFloat64(0.0625) @@ -109025,7 +109037,7 @@ func Xlog(tls *TLS, x float64) (r1 float64) { if v5 && ix == *(*Tuint64_t)(unsafe.Pointer(&v4)) { return Float64FromInt32(0) } - r = x - float64(1) + r = x1 - float64(1) r2 = r * r r3 = r * r2 y1 = r3 * (*(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 1*8)) + r**(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 2*8)) + r2**(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 3*8)) + r3*(*(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 4*8))+r**(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 5*8))+r2**(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 6*8))+r3*(*(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 7*8))+r**(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 8*8))+r2**(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 9*8))+r3**(*float64)(unsafe.Pointer(uintptr(unsafe.Pointer(&X__log_data)) + 56 + 10*8))))) @@ -109052,13 +109064,13 @@ func Xlog(tls *TLS, x float64) (r1 float64) { } v8 = float64(X__builtin_inff(tls)) if ix == *(*Tuint64_t)(unsafe.Pointer(&v8)) { /* log(inf) == inf. */ - return x + return x1 } if top&uint32(0x8000) != 0 || top&uint32(0x7ff0) == uint32(0x7ff0) { - return X__math_invalid(tls, x) + return X__math_invalid(tls, x1) } /* x is subnormal, normalize it. */ - v9 = x * float64(4.503599627370496e+15) + v9 = x1 * float64(4.503599627370496e+15) ix = *(*Tuint64_t)(unsafe.Pointer(&v9)) ix = ix - Uint64FromUint64(52)< %v", r) }() } bp := tls.Alloc(16) @@ -109318,52 +109330,52 @@ func Xlog1p(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 hx = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(32)) k = int32(1) if hx < uint32(0x3fda827a) || hx>>int32(31) != 0 { /* 1+x < sqrt(2)+ */ if hx >= uint32(0xbff00000) { /* x <= -1.0 */ - if x == float64(-Int32FromInt32(1)) { - return x / float64(0) + if x3 == float64(-Int32FromInt32(1)) { + return x3 / float64(0) } /* log1p(-1) = -inf */ - return (x - x) / float64(0) /* log1p(x<-1) = NaN */ + return (x3 - x3) / float64(0) /* log1p(x<-1) = NaN */ } if hx<= uint32(0x7ff00000) { - return x + return x3 } } if k != 0 { - *(*float64)(unsafe.Pointer(bp)) = Float64FromInt32(1) + x + *(*float64)(unsafe.Pointer(bp)) = Float64FromInt32(1) + x3 hu = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(32)) hu += uint32(Int32FromInt32(0x3ff00000) - Int32FromInt32(0x3fe6a09e)) k = int32(hu>>Int32FromInt32(20)) - int32(0x3ff) /* correction term ~ log(1+x)-log(u), avoid underflow in c/u */ if k < int32(54) { if k >= int32(2) { - v1 = Float64FromInt32(1) - (*(*float64)(unsafe.Pointer(bp)) - x) + v1 = Float64FromInt32(1) - (*(*float64)(unsafe.Pointer(bp)) - x3) } else { - v1 = x - (*(*float64)(unsafe.Pointer(bp)) - Float64FromInt32(1)) + v1 = x3 - (*(*float64)(unsafe.Pointer(bp)) - Float64FromInt32(1)) } c = v1 c /= *(*float64)(unsafe.Pointer(bp)) @@ -109394,9 +109406,9 @@ var _Lg23 = float32(0.40000972151756287) /* 0.40000972152 */ var _Lg33 = float32(0.2849878668785095) /* 0.28498786688 */ var _Lg43 = float32(0.24279078841209412) /* 0.24279078841 */ -func Xlog1pf(tls *TLS, x float32) (r float32) { +func Xlog1pf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -109418,52 +109430,52 @@ func Xlog1pf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 ix = *(*Tuint32_t)(unsafe.Pointer(bp)) k = int32(1) if ix < uint32(0x3ed413d0) || ix>>int32(31) != 0 { /* 1+x < sqrt(2)+ */ if ix >= uint32(0xbf800000) { /* x <= -1.0 */ - if x == float32(-Int32FromInt32(1)) { - return x / Float32FromFloat32(0) + if x3 == float32(-Int32FromInt32(1)) { + return x3 / Float32FromFloat32(0) } /* log1p(-1)=+inf */ - return (x - x) / Float32FromFloat32(0) /* log1p(x<-1)=NaN */ + return (x3 - x3) / Float32FromFloat32(0) /* log1p(x<-1)=NaN */ } if ix<= uint32(0x7f800000) { - return x + return x3 } } if k != 0 { - *(*float32)(unsafe.Pointer(bp)) = Float32FromInt32(1) + x + *(*float32)(unsafe.Pointer(bp)) = Float32FromInt32(1) + x3 iu = *(*Tuint32_t)(unsafe.Pointer(bp)) iu += uint32(Int32FromInt32(0x3f800000) - Int32FromInt32(0x3f3504f3)) k = int32(iu>>Int32FromInt32(23)) - int32(0x7f) /* correction term ~ log(1+x)-log(u), avoid underflow in c/u */ if k < int32(25) { if k >= int32(2) { - v1 = Float32FromInt32(1) - (*(*float32)(unsafe.Pointer(bp)) - x) + v1 = Float32FromInt32(1) - (*(*float32)(unsafe.Pointer(bp)) - x3) } else { - v1 = x - (*(*float32)(unsafe.Pointer(bp)) - Float32FromInt32(1)) + v1 = x3 - (*(*float32)(unsafe.Pointer(bp)) - Float32FromInt32(1)) } c = v1 c /= *(*float32)(unsafe.Pointer(bp)) @@ -109506,9 +109518,9 @@ func _top161(tls *TLS, x float64) (r Tuint32_t) { return uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(48)) } -func Xlog2(tls *TLS, x float64) (r1 float64) { +func Xlog2(tls *TLS, x1 float64) (r1 float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x1=%v, (%v:)", tls, x1, origin(2)) defer func() { trc("-> %v", r1) }() } var hi, invc, kd, lo, logc, p, r, r2, r4, t1, t2, t3, y1, z Tdouble_t @@ -109518,8 +109530,8 @@ func Xlog2(tls *TLS, x float64) (r1 float64) { var y, v1, v10, v2, v3, v4, v6, v8, v9 float64 var v5 bool _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = hi, i, invc, ix, iz, k, kd, lo, logc, p, r, r2, r4, t1, t2, t3, tmp, top, y, y1, z, v1, v10, v2, v3, v4, v5, v6, v8, v9 - ix = *(*Tuint64_t)(unsafe.Pointer(&x)) - top = _top161(tls, x) + ix = *(*Tuint64_t)(unsafe.Pointer(&x1)) + top = _top161(tls, x1) v1 = Float64FromFloat64(1) - Float64FromFloat64(0.04239702224731445) v2 = Float64FromFloat64(1) + Float64FromFloat64(0.044274330139160156) v3 = Float64FromFloat64(1) - Float64FromFloat64(0.04239702224731445) @@ -109532,7 +109544,7 @@ func Xlog2(tls *TLS, x float64) (r1 float64) { if v5 && ix == *(*Tuint64_t)(unsafe.Pointer(&v4)) { return Float64FromInt32(0) } - r = x - float64(1) + r = x1 - float64(1) hi = r * X__log2_data.Finvln2hi lo = r*X__log2_data.Finvln2lo + X__builtin_fma(tls, r, X__log2_data.Finvln2hi, -hi) r2 = r * r /* rounding error: 0x1p-62. */ @@ -109556,13 +109568,13 @@ func Xlog2(tls *TLS, x float64) (r1 float64) { } v8 = float64(X__builtin_inff(tls)) if ix == *(*Tuint64_t)(unsafe.Pointer(&v8)) { /* log(inf) == inf. */ - return x + return x1 } if top&uint32(0x8000) != 0 || top&uint32(0x7ff0) == uint32(0x7ff0) { - return X__math_invalid(tls, x) + return X__math_invalid(tls, x1) } /* x is subnormal, normalize it. */ - v9 = x * float64(4.503599627370496e+15) + v9 = x1 * float64(4.503599627370496e+15) ix = *(*Tuint64_t)(unsafe.Pointer(&v9)) ix = ix - Uint64FromUint64(52)< %v", r1) }() } var i, k int32 @@ -109642,7 +109654,7 @@ func Xlog2f(tls *TLS, x float32) (r1 float32) { var ix, iz, tmp, top Tuint32_t var y, v1, v2 float32 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = i, invc, ix, iz, k, logc, p, r, r2, tmp, top, y, y0, y1, z, v1, v2 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x1)) /* Fix sign of zero with downward rounding when x==1. */ if Bool(int32(WANT_ROUNDING) != 0) && ix == uint32(0x3f800000) { return Float32FromInt32(0) @@ -109653,13 +109665,13 @@ func Xlog2f(tls *TLS, x float32) (r1 float32) { return X__math_divzerof(tls, uint32(1)) } if ix == uint32(0x7f800000) { /* log2(inf) == inf. */ - return x + return x1 } if ix&uint32(0x80000000) != 0 || ix*uint32(2) >= uint32(0xff000000) { - return X__math_invalidf(tls, x) + return X__math_invalidf(tls, x1) } /* x is subnormal, normalize it. */ - v1 = x * Float32FromFloat32(8.388608e+06) + v1 = x1 * Float32FromFloat32(8.388608e+06) ix = *(*Tuint32_t)(unsafe.Pointer(&v1)) ix -= uint32(Int32FromInt32(23) << Int32FromInt32(23)) } @@ -109822,9 +109834,9 @@ ULP error: 0.818 (nearest rounding.) Relative error: 1.957 * 2^-26 (before rounding.) */ -func Xlogf(tls *TLS, x float32) (r1 float32) { +func Xlogf(tls *TLS, x1 float32) (r1 float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x1=%v, (%v:)", tls, x1, origin(2)) defer func() { trc("-> %v", r1) }() } var i, k int32 @@ -109832,7 +109844,7 @@ func Xlogf(tls *TLS, x float32) (r1 float32) { var ix, iz, tmp Tuint32_t var y, v1, v2 float32 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = i, invc, ix, iz, k, logc, r, r2, tmp, y, y0, y1, z, v1, v2 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x1)) /* Fix sign of zero with downward rounding when x==1. */ if Bool(int32(WANT_ROUNDING) != 0) && ix == uint32(0x3f800000) { return Float32FromInt32(0) @@ -109843,13 +109855,13 @@ func Xlogf(tls *TLS, x float32) (r1 float32) { return X__math_divzerof(tls, uint32(1)) } if ix == uint32(0x7f800000) { /* log(inf) == inf. */ - return x + return x1 } if ix&uint32(0x80000000) != 0 || ix*uint32(2) >= uint32(0xff000000) { - return X__math_invalidf(tls, x) + return X__math_invalidf(tls, x1) } /* x is subnormal, normalize it. */ - v1 = x * Float32FromFloat32(8.388608e+06) + v1 = x1 * Float32FromFloat32(8.388608e+06) ix = *(*Tuint32_t)(unsafe.Pointer(&v1)) ix -= uint32(Int32FromInt32(23) << Int32FromInt32(23)) } @@ -110115,9 +110127,9 @@ func Xnanl(tls *TLS, s uintptr) (r float64) { return float64(X__builtin_nanf(tls, __ccgo_ts)) } -func Xnextafter(tls *TLS, x float64, y3 float64) (r float64) { +func Xnextafter(tls *TLS, x3 float64, y3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v y3=%v, (%v:)", tls, x, y3, origin(2)) + trc("tls=%v x3=%v y3=%v, (%v:)", tls, x3, y3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(32) @@ -110148,7 +110160,7 @@ func Xnextafter(tls *TLS, x float64, y3 float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp + 8)) = x + *(*float64)(unsafe.Pointer(bp + 8)) = x3 *(*struct { Fi [0]Tuint64_t Ff float64 @@ -110157,7 +110169,7 @@ func Xnextafter(tls *TLS, x float64, y3 float64) (r float64) { Ff float64 }{} *(*float64)(unsafe.Pointer(bp + 16)) = y3 - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 v1 = *(*uint64)(unsafe.Pointer(bp)) goto _2 _2: @@ -110169,7 +110181,7 @@ _2: _4: } if v5 || BoolInt32(v3&(-Uint64FromUint64(1)>>Int32FromInt32(1)) > Uint64FromUint64(0x7ff)< %v", r) }() } bp := tls.Alloc(16) @@ -110248,7 +110260,7 @@ func Xnextafterf(tls *TLS, x float32, y3 float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp + 4)) = x + *(*float32)(unsafe.Pointer(bp + 4)) = x3 *(*struct { Fi [0]Tuint32_t Ff float32 @@ -110257,7 +110269,7 @@ func Xnextafterf(tls *TLS, x float32, y3 float32) (r float32) { Ff float32 }{} *(*float32)(unsafe.Pointer(bp + 8)) = y3 - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 v1 = *(*uint32)(unsafe.Pointer(bp)) goto _2 _2: @@ -110269,7 +110281,7 @@ _2: _4: } if v5 || BoolInt32(v3&uint32(0x7fffffff) > uint32(0x7f800000)) != 0 { - return x + y3 + return x3 + y3 } if *(*Tuint32_t)(unsafe.Pointer(bp + 4)) == *(*Tuint32_t)(unsafe.Pointer(bp + 8)) { return y3 @@ -110292,24 +110304,24 @@ _2: /* raise overflow if ux.f is infinite and x is finite */ if e == uint32(0x7f800000) { if uint64(4) == uint64(4) { - y = x + x + y = x3 + x3 } else { if uint64(4) == uint64(8) { - y1 = float64(x + x) + y1 = float64(x3 + x3) } else { - y2 = float64(x + x) + y2 = float64(x3 + x3) } } } /* raise underflow if ux.f is subnormal or zero */ if e == uint32(0) { if uint64(4) == uint64(4) { - y = x*x + *(*float32)(unsafe.Pointer(bp + 4))**(*float32)(unsafe.Pointer(bp + 4)) + y = x3*x3 + *(*float32)(unsafe.Pointer(bp + 4))**(*float32)(unsafe.Pointer(bp + 4)) } else { if uint64(4) == uint64(8) { - y1 = float64(x*x + *(*float32)(unsafe.Pointer(bp + 4))**(*float32)(unsafe.Pointer(bp + 4))) + y1 = float64(x3*x3 + *(*float32)(unsafe.Pointer(bp + 4))**(*float32)(unsafe.Pointer(bp + 4))) } else { - y2 = float64(x*x + *(*float32)(unsafe.Pointer(bp + 4))**(*float32)(unsafe.Pointer(bp + 4))) + y2 = float64(x3*x3 + *(*float32)(unsafe.Pointer(bp + 4))**(*float32)(unsafe.Pointer(bp + 4))) } } } @@ -110332,9 +110344,9 @@ func Xnexttoward(tls *TLS, x float64, y float64) (r float64) { return Xnextafter(tls, x, y) } -func Xnexttowardf(tls *TLS, x float32, y3 float64) (r float32) { +func Xnexttowardf(tls *TLS, x3 float32, y3 float64) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v y3=%v, (%v:)", tls, x, y3, origin(2)) + trc("tls=%v x3=%v y3=%v, (%v:)", tls, x3, y3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(32) @@ -110365,8 +110377,8 @@ func Xnexttowardf(tls *TLS, x float32, y3 float64) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp + 16)) = x - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp + 16)) = x3 + *(*float32)(unsafe.Pointer(bp)) = x3 v1 = *(*uint32)(unsafe.Pointer(bp)) goto _2 _2: @@ -110378,12 +110390,12 @@ _2: _4: } if v5 || BoolInt32(v3&(-Uint64FromUint64(1)>>Int32FromInt32(1)) > Uint64FromUint64(0x7ff)<= _top124(tls, float64(512))-_top124(tls, float64(5.551115123125783e-17)) { if abstop-_top124(tls, float64(5.551115123125783e-17)) >= uint32(0x80000000) { /* Avoid spurious underflow for tiny x. */ /* Note: 0 is common input. */ - one = float64(1) + x + one = float64(1) + x1 if sign_bias != 0 { v1 = -one } else { @@ -110618,7 +110630,7 @@ func _exp_inline(tls *TLS, x Tdouble_t, xtail Tdouble_t, sign_bias Tuint32_t) (r } if abstop >= _top124(tls, float64(1024)) { /* Note: inf and nan are already handled. */ - v2 = x + v2 = x1 if *(*Tuint64_t)(unsafe.Pointer(&v2))>>int32(63) != 0 { return X__math_uflow(tls, sign_bias) } else { @@ -110630,7 +110642,7 @@ func _exp_inline(tls *TLS, x Tdouble_t, xtail Tdouble_t, sign_bias Tuint32_t) (r } /* exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]. */ /* x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]. */ - z = X__exp_data.Finvln2N * x + z = X__exp_data.Finvln2N * x1 /* z - kd is in [-1, 1] in non-nearest rounding modes. */ y = z + X__exp_data.Fshift v3 = y @@ -110640,7 +110652,7 @@ _4: v5 = kd ki = *(*Tuint64_t)(unsafe.Pointer(&v5)) kd -= X__exp_data.Fshift - r = x + kd*X__exp_data.Fnegln2hiN + kd*X__exp_data.Fnegln2loN + r = x1 + kd*X__exp_data.Fnegln2hiN + kd*X__exp_data.Fnegln2loN /* The code assumes 2^-200 < |xtail| < 2^-8/N. */ r += xtail /* 2^(k/N) ~= scale * (1 + tail). */ @@ -110702,9 +110714,9 @@ func _zeroinfnan(tls *TLS, i Tuint64_t) (r int32) { return BoolInt32(uint64(2)*i-uint64(1) >= uint64(2)**(*Tuint64_t)(unsafe.Pointer(&v1))-uint64(1)) } -func Xpow(tls *TLS, x float64, y1 float64) (r float64) { +func Xpow(tls *TLS, x1 float64, y1 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v y1=%v, (%v:)", tls, x, y1, origin(2)) + trc("tls=%v x1=%v y1=%v, (%v:)", tls, x1, y1, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -110718,9 +110730,9 @@ func Xpow(tls *TLS, x float64, y1 float64) (r float64) { var _ /* lo at bp+0 */ Tdouble_t _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ehi, elo, hi, ix, iy, sign_bias, topx, topy, x2, y, yint, v1, v10, v11, v12, v13, v14, v15, v2, v3, v4, v5, v6, v7, v8 sign_bias = uint32(0) - ix = *(*Tuint64_t)(unsafe.Pointer(&x)) + ix = *(*Tuint64_t)(unsafe.Pointer(&x1)) iy = *(*Tuint64_t)(unsafe.Pointer(&y1)) - topx = _top124(tls, x) + topx = _top124(tls, x1) topy = _top124(tls, y1) if topx-uint32(0x001) >= uint32(Int32FromInt32(0x7ff)-Int32FromInt32(0x001)) || topy&uint32(0x7ff)-uint32(0x3be) >= uint32(Int32FromInt32(0x43e)-Int32FromInt32(0x3be)) { /* Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0 @@ -110740,7 +110752,7 @@ func Xpow(tls *TLS, x float64, y1 float64) (r float64) { v3 = float64(X__builtin_inff(tls)) } if v4 || uint64(2)*iy > uint64(2)**(*Tuint64_t)(unsafe.Pointer(&v3)) { - return x + y1 + return x1 + y1 } v5 = float64(1) if uint64(2)*ix == uint64(2)**(*Tuint64_t)(unsafe.Pointer(&v5)) { @@ -110753,7 +110765,7 @@ func Xpow(tls *TLS, x float64, y1 float64) (r float64) { return y1 * y1 } if _zeroinfnan(tls, ix) != 0 { - x2 = x * x + x2 = x1 * x1 if ix>>int32(63) != 0 && _checkint(tls, iy) == int32(1) { x2 = -x2 } @@ -110775,7 +110787,7 @@ func Xpow(tls *TLS, x float64, y1 float64) (r float64) { /* Finite x < 0. */ yint = _checkint(tls, iy) if yint == 0 { - return X__math_invalid(tls, x) + return X__math_invalid(tls, x1) } if yint == int32(1) { sign_bias = uint32(Int32FromInt32(0x800) << Int32FromInt32(EXP_TABLE_BITS)) @@ -110813,7 +110825,7 @@ func Xpow(tls *TLS, x float64, y1 float64) (r float64) { } if topx == uint32(0) { /* Normalize subnormal x so exponent becomes negative. */ - v15 = x * float64(4.503599627370496e+15) + v15 = x1 * float64(4.503599627370496e+15) ix = *(*Tuint64_t)(unsafe.Pointer(&v15)) ix &= uint64(0x7fffffffffffffff) ix = ix - Uint64FromUint64(52)<= Uint32FromUint32(2)*Uint32FromInt32(0x7f800000)-Uint32FromInt32(1)) } -func Xpowf(tls *TLS, x float32, y1 float32) (r float32) { +func Xpowf(tls *TLS, x1 float32, y1 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v y1=%v, (%v:)", tls, x, y1, origin(2)) + trc("tls=%v x1=%v y1=%v, (%v:)", tls, x1, y1, origin(2)) defer func() { trc("-> %v", r) }() } var ix, iy, sign_bias Tuint32_t @@ -110973,7 +110985,7 @@ func Xpowf(tls *TLS, x float32, y1 float32) (r float32) { var v5, v6 float64 _, _, _, _, _, _, _, _, _, _, _, _, _ = ix, iy, logx, sign_bias, x2, y, yint, ylogx, v1, v2, v4, v5, v6 sign_bias = uint32(0) - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x1)) iy = *(*Tuint32_t)(unsafe.Pointer(&y1)) if ix-uint32(0x00800000) >= uint32(Int32FromInt32(0x7f800000)-Int32FromInt32(0x00800000)) || _zeroinfnan1(tls, iy) != 0 { /* Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan). */ @@ -110985,7 +110997,7 @@ func Xpowf(tls *TLS, x float32, y1 float32) (r float32) { return Float32FromFloat32(1) } if uint32(2)*ix > Uint32FromUint32(2)*Uint32FromInt32(0x7f800000) || uint32(2)*iy > Uint32FromUint32(2)*Uint32FromInt32(0x7f800000) { - return x + y1 + return x1 + y1 } if uint32(2)*ix == uint32(Int32FromInt32(2)*Int32FromInt32(0x3f800000)) { return Float32FromFloat32(1) @@ -110996,7 +111008,7 @@ func Xpowf(tls *TLS, x float32, y1 float32) (r float32) { return y1 * y1 } if _zeroinfnan1(tls, ix) != 0 { - x2 = x * x + x2 = x1 * x1 if ix&uint32(0x80000000) != 0 && _checkint1(tls, iy) == int32(1) { x2 = -x2 } @@ -111018,7 +111030,7 @@ func Xpowf(tls *TLS, x float32, y1 float32) (r float32) { /* Finite x < 0. */ yint = _checkint1(tls, iy) if yint == 0 { - return X__math_invalidf(tls, x) + return X__math_invalidf(tls, x1) } if yint == int32(1) { sign_bias = uint32(Int32FromInt32(1) << (Int32FromInt32(EXP2F_TABLE_BITS) + Int32FromInt32(11))) @@ -111027,7 +111039,7 @@ func Xpowf(tls *TLS, x float32, y1 float32) (r float32) { } if ix < uint32(0x00800000) { /* Normalize subnormal x so exponent becomes negative. */ - v4 = x * Float32FromFloat32(8.388608e+06) + v4 = x1 * Float32FromFloat32(8.388608e+06) ix = *(*Tuint32_t)(unsafe.Pointer(&v4)) ix &= uint32(0x7fffffff) ix -= uint32(Int32FromInt32(23) << Int32FromInt32(23)) @@ -111252,6 +111264,7 @@ func Xremquo(tls *TLS, x float64, y float64, quo uintptr) (r float64) { ex-- } } + goto end end: ; /* scale result and decide between |x| and |x|-|y| */ @@ -111422,6 +111435,7 @@ func Xremquof(tls *TLS, x float32, y float32, quo uintptr) (r float32) { ex-- } } + goto end end: ; /* scale result and decide between |x| and |x|-|y| */ @@ -111574,9 +111588,9 @@ const DBL_EPSILON11 = 2.220446049250313e-16 var _toint6 = Float64FromInt32(1) / Float64FromFloat64(2.220446049250313e-16) -func Xround(tls *TLS, x float64) (r float64) { +func Xround(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -111597,35 +111611,35 @@ func Xround(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(52) & uint64(0x7ff)) if e >= Int32FromInt32(0x3ff)+Int32FromInt32(52) { - return x + return x3 } if *(*Tuint64_t)(unsafe.Pointer(bp))>>int32(63) != 0 { - x = -x + x3 = -x3 } if e < Int32FromInt32(0x3ff)-Int32FromInt32(1) { /* raise inexact if x!=0 */ if uint64(8) == uint64(4) { - y = float32(x + _toint6) + y = float32(x3 + _toint6) } else { if uint64(8) == uint64(8) { - y1 = x + _toint6 + y1 = x3 + _toint6 } else { - y2 = x + _toint6 + y2 = x3 + _toint6 } } return Float64FromInt32(0) * *(*float64)(unsafe.Pointer(bp)) } - y3 = x + _toint6 - _toint6 - x + y3 = x3 + _toint6 - _toint6 - x3 if y3 > float64(0.5) { - y3 = y3 + x - Float64FromInt32(1) + y3 = y3 + x3 - Float64FromInt32(1) } else { if y3 <= -Float64FromFloat64(0.5) { - y3 = y3 + x + Float64FromInt32(1) + y3 = y3 + x3 + Float64FromInt32(1) } else { - y3 = y3 + x + y3 = y3 + x3 } } if *(*Tuint64_t)(unsafe.Pointer(bp))>>int32(63) != 0 { @@ -111639,9 +111653,9 @@ const FLT_EPSILON3 = 1.1920928955078125e-07 var _toint7 = Float32FromInt32(1) / Float32FromFloat32(1.1920928955078125e-07) -func Xroundf(tls *TLS, x float32) (r float32) { +func Xroundf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -111662,34 +111676,34 @@ func Xroundf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint32_t)(unsafe.Pointer(bp)) >> int32(23) & uint32(0xff)) if e >= Int32FromInt32(0x7f)+Int32FromInt32(23) { - return x + return x3 } if *(*Tuint32_t)(unsafe.Pointer(bp))>>int32(31) != 0 { - x = -x + x3 = -x3 } if e < Int32FromInt32(0x7f)-Int32FromInt32(1) { if uint64(4) == uint64(4) { - y = x + _toint7 + y = x3 + _toint7 } else { if uint64(4) == uint64(8) { - y1 = float64(x + _toint7) + y1 = float64(x3 + _toint7) } else { - y2 = float64(x + _toint7) + y2 = float64(x3 + _toint7) } } return Float32FromInt32(0) * *(*float32)(unsafe.Pointer(bp)) } - y3 = x + _toint7 - _toint7 - x + y3 = x3 + _toint7 - _toint7 - x3 if y3 > Float32FromFloat32(0.5) { - y3 = y3 + x - Float32FromInt32(1) + y3 = y3 + x3 - Float32FromInt32(1) } else { if y3 <= -Float32FromFloat32(0.5) { - y3 = y3 + x + Float32FromInt32(1) + y3 = y3 + x3 + Float32FromInt32(1) } else { - y3 = y3 + x + y3 = y3 + x3 } } if *(*Tuint32_t)(unsafe.Pointer(bp))>>int32(31) != 0 { @@ -111958,9 +111972,9 @@ func Xsignificandf(tls *TLS, x float32) (r float32) { return Xscalbnf(tls, x, -Xilogbf(tls, x)) } -func Xsin(tls *TLS, x float64) (r float64) { +func Xsin(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -111972,7 +111986,7 @@ func Xsin(tls *TLS, x float64) (r float64) { var _ /* y at bp+0 */ [2]float64 _, _, _, _, _, _, _, _ = ix, n, y, y1, y2, v1, v2, v3 /* High word of x. */ - ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(32)) + ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x3)) >> int32(32)) ix &= uint32(0x7fffffff) /* |x| ~< pi/4 */ if ix <= uint32(0x3fe921fb) { @@ -111980,38 +111994,38 @@ func Xsin(tls *TLS, x float64) (r float64) { /* raise inexact if x != 0 and underflow if subnormal*/ if uint64(8) == uint64(4) { if ix < uint32(0x00100000) { - v1 = x / Float64FromFloat32(1.329227995784916e+36) + v1 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v1 = x + Float64FromFloat32(1.329227995784916e+36) + v1 = x3 + Float64FromFloat32(1.329227995784916e+36) } y = float32(v1) } else { if uint64(8) == uint64(8) { if ix < uint32(0x00100000) { - v2 = x / Float64FromFloat32(1.329227995784916e+36) + v2 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v2 = x + Float64FromFloat32(1.329227995784916e+36) + v2 = x3 + Float64FromFloat32(1.329227995784916e+36) } y1 = v2 } else { if ix < uint32(0x00100000) { - v3 = x / Float64FromFloat32(1.329227995784916e+36) + v3 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v3 = x + Float64FromFloat32(1.329227995784916e+36) + v3 = x3 + Float64FromFloat32(1.329227995784916e+36) } y2 = v3 } } - return x + return x3 } - return X__sin(tls, x, float64(0), 0) + return X__sin(tls, x3, float64(0), 0) } /* sin(Inf or NaN) is NaN */ if ix >= uint32(0x7ff00000) { - return x - x + return x3 - x3 } /* argument reduction needed */ - n = uint32(X__rem_pio2(tls, x, bp)) + n = uint32(X__rem_pio2(tls, x3, bp)) switch n & Uint32FromInt32(3) { case uint32(0): return X__sin(tls, (*(*[2]float64)(unsafe.Pointer(bp)))[0], (*(*[2]float64)(unsafe.Pointer(bp)))[int32(1)], int32(1)) @@ -112025,9 +112039,9 @@ func Xsin(tls *TLS, x float64) (r float64) { return r } -func Xsincos(tls *TLS, x float64, sin uintptr, cos uintptr) { +func Xsincos(tls *TLS, x3 float64, sin uintptr, cos uintptr) { if __ccgo_strace { - trc("tls=%v x=%v sin=%v cos=%v, (%v:)", tls, x, sin, cos, origin(2)) + trc("tls=%v x3=%v sin=%v cos=%v, (%v:)", tls, x3, sin, cos, origin(2)) } bp := tls.Alloc(16) defer tls.Free(16) @@ -112037,7 +112051,7 @@ func Xsincos(tls *TLS, x float64, sin uintptr, cos uintptr) { var y float32 var _ /* y at bp+0 */ [2]float64 _, _, _, _, _, _, _, _, _, _, _ = c, ix, n, s, y, y1, y2, v1, v2, v3, v4 - ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(32)) + ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x3)) >> int32(32)) ix &= uint32(0x7fffffff) /* |x| ~< pi/4 */ if ix <= uint32(0x3fe921fb) { @@ -112046,45 +112060,45 @@ func Xsincos(tls *TLS, x float64, sin uintptr, cos uintptr) { /* raise inexact if x!=0 and underflow if subnormal */ if uint64(8) == uint64(4) { if ix < uint32(0x00100000) { - v1 = x / Float64FromFloat32(1.329227995784916e+36) + v1 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v1 = x + Float64FromFloat32(1.329227995784916e+36) + v1 = x3 + Float64FromFloat32(1.329227995784916e+36) } y = float32(v1) } else { if uint64(8) == uint64(8) { if ix < uint32(0x00100000) { - v2 = x / Float64FromFloat32(1.329227995784916e+36) + v2 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v2 = x + Float64FromFloat32(1.329227995784916e+36) + v2 = x3 + Float64FromFloat32(1.329227995784916e+36) } y1 = v2 } else { if ix < uint32(0x00100000) { - v3 = x / Float64FromFloat32(1.329227995784916e+36) + v3 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v3 = x + Float64FromFloat32(1.329227995784916e+36) + v3 = x3 + Float64FromFloat32(1.329227995784916e+36) } y2 = v3 } } - *(*float64)(unsafe.Pointer(sin)) = x + *(*float64)(unsafe.Pointer(sin)) = x3 *(*float64)(unsafe.Pointer(cos)) = float64(1) return } - *(*float64)(unsafe.Pointer(sin)) = X__sin(tls, x, float64(0), 0) - *(*float64)(unsafe.Pointer(cos)) = X__cos(tls, x, float64(0)) + *(*float64)(unsafe.Pointer(sin)) = X__sin(tls, x3, float64(0), 0) + *(*float64)(unsafe.Pointer(cos)) = X__cos(tls, x3, float64(0)) return } /* sincos(Inf or NaN) is NaN */ if ix >= uint32(0x7ff00000) { - v4 = x - x + v4 = x3 - x3 *(*float64)(unsafe.Pointer(cos)) = v4 *(*float64)(unsafe.Pointer(sin)) = v4 return } /* argument reduction needed */ - n = uint32(X__rem_pio2(tls, x, bp)) + n = uint32(X__rem_pio2(tls, x3, bp)) s = X__sin(tls, (*(*[2]float64)(unsafe.Pointer(bp)))[0], (*(*[2]float64)(unsafe.Pointer(bp)))[int32(1)], int32(1)) c = X__cos(tls, (*(*[2]float64)(unsafe.Pointer(bp)))[0], (*(*[2]float64)(unsafe.Pointer(bp)))[int32(1)]) switch n & Uint32FromInt32(3) { @@ -112117,9 +112131,9 @@ var _s2pio2 = Float64FromInt32(2) * Float64FromFloat64(1.5707963267948966) /* 0x var _s3pio2 = Float64FromInt32(3) * Float64FromFloat64(1.5707963267948966) /* 0x4012D97C, 0x7F3321D2 */ var _s4pio2 = Float64FromInt32(4) * Float64FromFloat64(1.5707963267948966) /* 0x401921FB, 0x54442D18 */ -func Xsincosf(tls *TLS, x float32, sin uintptr, cos uintptr) { +func Xsincosf(tls *TLS, x3 float32, sin uintptr, cos uintptr) { if __ccgo_strace { - trc("tls=%v x=%v sin=%v cos=%v, (%v:)", tls, x, sin, cos, origin(2)) + trc("tls=%v x3=%v sin=%v cos=%v, (%v:)", tls, x3, sin, cos, origin(2)) } bp := tls.Alloc(16) defer tls.Free(16) @@ -112130,7 +112144,7 @@ func Xsincosf(tls *TLS, x float32, sin uintptr, cos uintptr) { var y1, y2, v4, v5, v6, v7 float64 var _ /* y at bp+0 */ float64 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ix, n, s, sign, y, y1, y2, v1, v2, v3, v4, v5, v6, v7, v8 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x3)) sign = ix >> int32(31) ix &= uint32(0x7fffffff) /* |x| ~<= pi/4 */ @@ -112140,59 +112154,59 @@ func Xsincosf(tls *TLS, x float32, sin uintptr, cos uintptr) { /* raise inexact if x!=0 and underflow if subnormal */ if uint64(4) == uint64(4) { if ix < uint32(0x00100000) { - v1 = x / Float32FromFloat32(1.329227995784916e+36) + v1 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v1 = x + Float32FromFloat32(1.329227995784916e+36) + v1 = x3 + Float32FromFloat32(1.329227995784916e+36) } y = v1 } else { if uint64(4) == uint64(8) { if ix < uint32(0x00100000) { - v2 = x / Float32FromFloat32(1.329227995784916e+36) + v2 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v2 = x + Float32FromFloat32(1.329227995784916e+36) + v2 = x3 + Float32FromFloat32(1.329227995784916e+36) } y1 = float64(v2) } else { if ix < uint32(0x00100000) { - v3 = x / Float32FromFloat32(1.329227995784916e+36) + v3 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v3 = x + Float32FromFloat32(1.329227995784916e+36) + v3 = x3 + Float32FromFloat32(1.329227995784916e+36) } y2 = float64(v3) } } - *(*float32)(unsafe.Pointer(sin)) = x + *(*float32)(unsafe.Pointer(sin)) = x3 *(*float32)(unsafe.Pointer(cos)) = Float32FromFloat32(1) return } - *(*float32)(unsafe.Pointer(sin)) = X__sindf(tls, float64(x)) - *(*float32)(unsafe.Pointer(cos)) = X__cosdf(tls, float64(x)) + *(*float32)(unsafe.Pointer(sin)) = X__sindf(tls, float64(x3)) + *(*float32)(unsafe.Pointer(cos)) = X__cosdf(tls, float64(x3)) return } /* |x| ~<= 5*pi/4 */ if ix <= uint32(0x407b53d1) { if ix <= uint32(0x4016cbe3) { /* |x| ~<= 3pi/4 */ if sign != 0 { - *(*float32)(unsafe.Pointer(sin)) = -X__cosdf(tls, float64(x)+_s1pio2) - *(*float32)(unsafe.Pointer(cos)) = X__sindf(tls, float64(x)+_s1pio2) + *(*float32)(unsafe.Pointer(sin)) = -X__cosdf(tls, float64(x3)+_s1pio2) + *(*float32)(unsafe.Pointer(cos)) = X__sindf(tls, float64(x3)+_s1pio2) } else { - *(*float32)(unsafe.Pointer(sin)) = X__cosdf(tls, _s1pio2-float64(x)) - *(*float32)(unsafe.Pointer(cos)) = X__sindf(tls, _s1pio2-float64(x)) + *(*float32)(unsafe.Pointer(sin)) = X__cosdf(tls, _s1pio2-float64(x3)) + *(*float32)(unsafe.Pointer(cos)) = X__sindf(tls, _s1pio2-float64(x3)) } return } /* -sin(x+c) is not correct if x+c could be 0: -0 vs +0 */ if sign != 0 { - v4 = float64(x) + _s2pio2 + v4 = float64(x3) + _s2pio2 } else { - v4 = float64(x) - _s2pio2 + v4 = float64(x3) - _s2pio2 } *(*float32)(unsafe.Pointer(sin)) = -X__sindf(tls, v4) if sign != 0 { - v5 = float64(x) + _s2pio2 + v5 = float64(x3) + _s2pio2 } else { - v5 = float64(x) - _s2pio2 + v5 = float64(x3) - _s2pio2 } *(*float32)(unsafe.Pointer(cos)) = -X__cosdf(tls, v5) return @@ -112201,37 +112215,37 @@ func Xsincosf(tls *TLS, x float32, sin uintptr, cos uintptr) { if ix <= uint32(0x40e231d5) { if ix <= uint32(0x40afeddf) { /* |x| ~<= 7*pi/4 */ if sign != 0 { - *(*float32)(unsafe.Pointer(sin)) = X__cosdf(tls, float64(x)+_s3pio2) - *(*float32)(unsafe.Pointer(cos)) = -X__sindf(tls, float64(x)+_s3pio2) + *(*float32)(unsafe.Pointer(sin)) = X__cosdf(tls, float64(x3)+_s3pio2) + *(*float32)(unsafe.Pointer(cos)) = -X__sindf(tls, float64(x3)+_s3pio2) } else { - *(*float32)(unsafe.Pointer(sin)) = -X__cosdf(tls, float64(x)-_s3pio2) - *(*float32)(unsafe.Pointer(cos)) = X__sindf(tls, float64(x)-_s3pio2) + *(*float32)(unsafe.Pointer(sin)) = -X__cosdf(tls, float64(x3)-_s3pio2) + *(*float32)(unsafe.Pointer(cos)) = X__sindf(tls, float64(x3)-_s3pio2) } return } if sign != 0 { - v6 = float64(x) + _s4pio2 + v6 = float64(x3) + _s4pio2 } else { - v6 = float64(x) - _s4pio2 + v6 = float64(x3) - _s4pio2 } *(*float32)(unsafe.Pointer(sin)) = X__sindf(tls, v6) if sign != 0 { - v7 = float64(x) + _s4pio2 + v7 = float64(x3) + _s4pio2 } else { - v7 = float64(x) - _s4pio2 + v7 = float64(x3) - _s4pio2 } *(*float32)(unsafe.Pointer(cos)) = X__cosdf(tls, v7) return } /* sin(Inf or NaN) is NaN */ if ix >= uint32(0x7f800000) { - v8 = x - x + v8 = x3 - x3 *(*float32)(unsafe.Pointer(cos)) = v8 *(*float32)(unsafe.Pointer(sin)) = v8 return } /* general argument reduction needed */ - n = uint32(X__rem_pio2f(tls, x, bp)) + n = uint32(X__rem_pio2f(tls, x3, bp)) s = X__sindf(tls, *(*float64)(unsafe.Pointer(bp))) c = X__cosdf(tls, *(*float64)(unsafe.Pointer(bp))) switch n & Uint32FromInt32(3) { @@ -112279,9 +112293,9 @@ var _s2pio21 = Float64FromInt32(2) * Float64FromFloat64(1.5707963267948966) /* 0 var _s3pio21 = Float64FromInt32(3) * Float64FromFloat64(1.5707963267948966) /* 0x4012D97C, 0x7F3321D2 */ var _s4pio21 = Float64FromInt32(4) * Float64FromFloat64(1.5707963267948966) /* 0x401921FB, 0x54442D18 */ -func Xsinf(tls *TLS, x float32) (r float32) { +func Xsinf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -112292,7 +112306,7 @@ func Xsinf(tls *TLS, x float32) (r float32) { var y1, y2, v4, v5 float64 var _ /* y at bp+0 */ float64 _, _, _, _, _, _, _, _, _, _, _ = ix, n, sign, y, y1, y2, v1, v2, v3, v4, v5 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x3)) sign = int32(ix >> int32(31)) ix &= uint32(0x7fffffff) if ix <= uint32(0x3f490fda) { /* |x| ~<= pi/4 */ @@ -112300,68 +112314,68 @@ func Xsinf(tls *TLS, x float32) (r float32) { /* raise inexact if x!=0 and underflow if subnormal */ if uint64(4) == uint64(4) { if ix < uint32(0x00800000) { - v1 = x / Float32FromFloat32(1.329227995784916e+36) + v1 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v1 = x + Float32FromFloat32(1.329227995784916e+36) + v1 = x3 + Float32FromFloat32(1.329227995784916e+36) } y = v1 } else { if uint64(4) == uint64(8) { if ix < uint32(0x00800000) { - v2 = x / Float32FromFloat32(1.329227995784916e+36) + v2 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v2 = x + Float32FromFloat32(1.329227995784916e+36) + v2 = x3 + Float32FromFloat32(1.329227995784916e+36) } y1 = float64(v2) } else { if ix < uint32(0x00800000) { - v3 = x / Float32FromFloat32(1.329227995784916e+36) + v3 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v3 = x + Float32FromFloat32(1.329227995784916e+36) + v3 = x3 + Float32FromFloat32(1.329227995784916e+36) } y2 = float64(v3) } } - return x + return x3 } - return X__sindf(tls, float64(x)) + return X__sindf(tls, float64(x3)) } if ix <= uint32(0x407b53d1) { /* |x| ~<= 5*pi/4 */ if ix <= uint32(0x4016cbe3) { /* |x| ~<= 3pi/4 */ if sign != 0 { - return -X__cosdf(tls, float64(x)+_s1pio21) + return -X__cosdf(tls, float64(x3)+_s1pio21) } else { - return X__cosdf(tls, float64(x)-_s1pio21) + return X__cosdf(tls, float64(x3)-_s1pio21) } } if sign != 0 { - v4 = -(float64(x) + _s2pio21) + v4 = -(float64(x3) + _s2pio21) } else { - v4 = -(float64(x) - _s2pio21) + v4 = -(float64(x3) - _s2pio21) } return X__sindf(tls, v4) } if ix <= uint32(0x40e231d5) { /* |x| ~<= 9*pi/4 */ if ix <= uint32(0x40afeddf) { /* |x| ~<= 7*pi/4 */ if sign != 0 { - return X__cosdf(tls, float64(x)+_s3pio21) + return X__cosdf(tls, float64(x3)+_s3pio21) } else { - return -X__cosdf(tls, float64(x)-_s3pio21) + return -X__cosdf(tls, float64(x3)-_s3pio21) } } if sign != 0 { - v5 = float64(x) + _s4pio21 + v5 = float64(x3) + _s4pio21 } else { - v5 = float64(x) - _s4pio21 + v5 = float64(x3) - _s4pio21 } return X__sindf(tls, v5) } /* sin(Inf or NaN) is NaN */ if ix >= uint32(0x7f800000) { - return x - x + return x3 - x3 } /* general argument reduction needed */ - n = X__rem_pio2f(tls, x, bp) + n = X__rem_pio2f(tls, x3, bp) switch n & Int32FromInt32(3) { case 0: return X__sindf(tls, *(*float64)(unsafe.Pointer(bp))) @@ -112517,9 +112531,9 @@ func _mul64(tls *TLS, a Tuint64_t, b Tuint64_t) (r Tuint64_t) { return ahi*bhi + ahi*blo>>int32(32) + alo*bhi>>int32(32) } -func Xsqrt(tls *TLS, x float64) (r1 float64) { +func Xsqrt(tls *TLS, x1 float64) (r1 float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x1=%v, (%v:)", tls, x1, origin(2)) defer func() { trc("-> %v", r1) }() } var d, d0, d1, d2, i, ix, m, r, s, tiny, top, u Tuint64_t @@ -112528,21 +112542,21 @@ func Xsqrt(tls *TLS, x float64) (r1 float64) { var v2 int64 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = d, d0, d1, d2, even, i, ix, m, r, s, t, tiny, top, u, y, y1, v1, v2, v3 /* special case handling. */ - ix = *(*Tuint64_t)(unsafe.Pointer(&x)) + ix = *(*Tuint64_t)(unsafe.Pointer(&x1)) top = ix >> int32(52) if top-uint64(0x001) >= uint64(Int32FromInt32(0x7ff)-Int32FromInt32(0x001)) { /* x < 0x1p-1022 or inf or nan. */ if ix*uint64(2) == uint64(0) { - return x + return x1 } if ix == uint64(0x7ff0000000000000) { - return x + return x1 } if ix > uint64(0x7ff0000000000000) { - return X__math_invalid(tls, x) + return X__math_invalid(tls, x1) } /* x is subnormal, normalize it. */ - v1 = x * float64(4.503599627370496e+15) + v1 = x1 * float64(4.503599627370496e+15) ix = *(*Tuint64_t)(unsafe.Pointer(&v1)) top = ix >> int32(52) top -= uint64(52) @@ -112669,9 +112683,9 @@ func _mul321(tls *TLS, a Tuint32_t, b Tuint32_t) (r Tuint32_t) { /* see sqrt.c for more detailed comments. */ -func Xsqrtf(tls *TLS, x float32) (r1 float32) { +func Xsqrtf(tls *TLS, x1 float32) (r1 float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x1=%v, (%v:)", tls, x1, origin(2)) defer func() { trc("-> %v", r1) }() } var d, d0, d1, d2, even, ey, i, ix, m, m0, m1, r, s, tiny, u Tuint32_t @@ -112679,20 +112693,20 @@ func Xsqrtf(tls *TLS, x float32) (r1 float32) { var v2 uint32 var v3 int32 _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = d, d0, d1, d2, even, ey, i, ix, m, m0, m1, r, s, t, tiny, u, y, y1, v1, v2, v3, v4 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x1)) if ix-uint32(0x00800000) >= uint32(Int32FromInt32(0x7f800000)-Int32FromInt32(0x00800000)) { /* x < 0x1p-126 or inf or nan. */ if ix*uint32(2) == uint32(0) { - return x + return x1 } if ix == uint32(0x7f800000) { - return x + return x1 } if ix > uint32(0x7f800000) { - return X__math_invalidf(tls, x) + return X__math_invalidf(tls, x1) } /* x is subnormal, normalize it. */ - v1 = x * Float32FromFloat32(8.388608e+06) + v1 = x1 * Float32FromFloat32(8.388608e+06) ix = *(*Tuint32_t)(unsafe.Pointer(&v1)) ix -= uint32(Int32FromInt32(23) << Int32FromInt32(23)) } @@ -112763,9 +112777,9 @@ func Xsqrtl(tls *TLS, x float64) (r float64) { return Xsqrt(tls, x) } -func Xtan(tls *TLS, x float64) (r float64) { +func Xtan(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -112776,7 +112790,7 @@ func Xtan(tls *TLS, x float64) (r float64) { var y1, y2, v1, v2, v3 float64 var _ /* y at bp+0 */ [2]float64 _, _, _, _, _, _, _, _ = ix, n, y, y1, y2, v1, v2, v3 - ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x)) >> int32(32)) + ix = uint32(*(*Tuint64_t)(unsafe.Pointer(&x3)) >> int32(32)) ix &= uint32(0x7fffffff) /* |x| ~< pi/4 */ if ix <= uint32(0x3fe921fb) { @@ -112784,38 +112798,38 @@ func Xtan(tls *TLS, x float64) (r float64) { /* raise inexact if x!=0 and underflow if subnormal */ if uint64(8) == uint64(4) { if ix < uint32(0x00100000) { - v1 = x / Float64FromFloat32(1.329227995784916e+36) + v1 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v1 = x + Float64FromFloat32(1.329227995784916e+36) + v1 = x3 + Float64FromFloat32(1.329227995784916e+36) } y = float32(v1) } else { if uint64(8) == uint64(8) { if ix < uint32(0x00100000) { - v2 = x / Float64FromFloat32(1.329227995784916e+36) + v2 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v2 = x + Float64FromFloat32(1.329227995784916e+36) + v2 = x3 + Float64FromFloat32(1.329227995784916e+36) } y1 = v2 } else { if ix < uint32(0x00100000) { - v3 = x / Float64FromFloat32(1.329227995784916e+36) + v3 = x3 / Float64FromFloat32(1.329227995784916e+36) } else { - v3 = x + Float64FromFloat32(1.329227995784916e+36) + v3 = x3 + Float64FromFloat32(1.329227995784916e+36) } y2 = v3 } } - return x + return x3 } - return X__tan(tls, x, float64(0), 0) + return X__tan(tls, x3, float64(0), 0) } /* tan(Inf or NaN) is NaN */ if ix >= uint32(0x7ff00000) { - return x - x + return x3 - x3 } /* argument reduction */ - n = uint32(X__rem_pio2(tls, x, bp)) + n = uint32(X__rem_pio2(tls, x3, bp)) return X__tan(tls, (*(*[2]float64)(unsafe.Pointer(bp)))[0], (*(*[2]float64)(unsafe.Pointer(bp)))[int32(1)], int32(n&uint32(1))) } @@ -112830,9 +112844,9 @@ var _t2pio2 = Float64FromInt32(2) * Float64FromFloat64(1.5707963267948966) /* 0x var _t3pio2 = Float64FromInt32(3) * Float64FromFloat64(1.5707963267948966) /* 0x4012D97C, 0x7F3321D2 */ var _t4pio2 = Float64FromInt32(4) * Float64FromFloat64(1.5707963267948966) /* 0x401921FB, 0x54442D18 */ -func Xtanf(tls *TLS, x float32) (r float32) { +func Xtanf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -112843,7 +112857,7 @@ func Xtanf(tls *TLS, x float32) (r float32) { var y1, y2, v4, v5, v6, v7 float64 var _ /* y at bp+0 */ float64 _, _, _, _, _, _, _, _, _, _, _, _, _ = ix, n, sign, y, y1, y2, v1, v2, v3, v4, v5, v6, v7 - ix = *(*Tuint32_t)(unsafe.Pointer(&x)) + ix = *(*Tuint32_t)(unsafe.Pointer(&x3)) sign = ix >> int32(31) ix &= uint32(0x7fffffff) if ix <= uint32(0x3f490fda) { /* |x| ~<= pi/4 */ @@ -112851,45 +112865,45 @@ func Xtanf(tls *TLS, x float32) (r float32) { /* raise inexact if x!=0 and underflow if subnormal */ if uint64(4) == uint64(4) { if ix < uint32(0x00800000) { - v1 = x / Float32FromFloat32(1.329227995784916e+36) + v1 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v1 = x + Float32FromFloat32(1.329227995784916e+36) + v1 = x3 + Float32FromFloat32(1.329227995784916e+36) } y = v1 } else { if uint64(4) == uint64(8) { if ix < uint32(0x00800000) { - v2 = x / Float32FromFloat32(1.329227995784916e+36) + v2 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v2 = x + Float32FromFloat32(1.329227995784916e+36) + v2 = x3 + Float32FromFloat32(1.329227995784916e+36) } y1 = float64(v2) } else { if ix < uint32(0x00800000) { - v3 = x / Float32FromFloat32(1.329227995784916e+36) + v3 = x3 / Float32FromFloat32(1.329227995784916e+36) } else { - v3 = x + Float32FromFloat32(1.329227995784916e+36) + v3 = x3 + Float32FromFloat32(1.329227995784916e+36) } y2 = float64(v3) } } - return x + return x3 } - return X__tandf(tls, float64(x), 0) + return X__tandf(tls, float64(x3), 0) } if ix <= uint32(0x407b53d1) { /* |x| ~<= 5*pi/4 */ if ix <= uint32(0x4016cbe3) { /* |x| ~<= 3pi/4 */ if sign != 0 { - v4 = float64(x) + _t1pio2 + v4 = float64(x3) + _t1pio2 } else { - v4 = float64(x) - _t1pio2 + v4 = float64(x3) - _t1pio2 } return X__tandf(tls, v4, int32(1)) } else { if sign != 0 { - v5 = float64(x) + _t2pio2 + v5 = float64(x3) + _t2pio2 } else { - v5 = float64(x) - _t2pio2 + v5 = float64(x3) - _t2pio2 } return X__tandf(tls, v5, 0) } @@ -112897,26 +112911,26 @@ func Xtanf(tls *TLS, x float32) (r float32) { if ix <= uint32(0x40e231d5) { /* |x| ~<= 9*pi/4 */ if ix <= uint32(0x40afeddf) { /* |x| ~<= 7*pi/4 */ if sign != 0 { - v6 = float64(x) + _t3pio2 + v6 = float64(x3) + _t3pio2 } else { - v6 = float64(x) - _t3pio2 + v6 = float64(x3) - _t3pio2 } return X__tandf(tls, v6, int32(1)) } else { if sign != 0 { - v7 = float64(x) + _t4pio2 + v7 = float64(x3) + _t4pio2 } else { - v7 = float64(x) - _t4pio2 + v7 = float64(x3) - _t4pio2 } return X__tandf(tls, v7, 0) } } /* tan(Inf or NaN) is NaN */ if ix >= uint32(0x7f800000) { - return x - x + return x3 - x3 } /* argument reduction */ - n = uint32(X__rem_pio2f(tls, x, bp)) + n = uint32(X__rem_pio2f(tls, x3, bp)) return X__tandf(tls, *(*float64)(unsafe.Pointer(bp)), int32(n&uint32(1))) } @@ -112928,9 +112942,9 @@ const M_PI_210 = 0 // * = (exp(2*x) - 1)/(exp(2*x) - 1 + 2) // * = (1 - exp(-2*x))/(exp(-2*x) - 1 + 2) // */ -func Xtanh(tls *TLS, x float64) (r float64) { +func Xtanh(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -112952,45 +112966,45 @@ func Xtanh(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 /* x = |x| */ sign = int32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(63)) *(*Tuint64_t)(unsafe.Pointer(bp)) &= uint64(-Int32FromInt32(1)) / Uint64FromInt32(2) - x = *(*float64)(unsafe.Pointer(bp)) + x3 = *(*float64)(unsafe.Pointer(bp)) w = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(32)) if w > uint32(0x3fe193ea) { /* |x| > log(3)/2 ~= 0.5493 or nan */ if w > uint32(0x40340000) { /* |x| > 20 or nan */ /* note: this branch avoids raising overflow */ - t = Float64FromInt32(1) - Float64FromInt32(0)/x + t = Float64FromInt32(1) - Float64FromInt32(0)/x3 } else { - t = Xexpm1(tls, Float64FromInt32(2)*x) + t = Xexpm1(tls, Float64FromInt32(2)*x3) t = Float64FromInt32(1) - Float64FromInt32(2)/(t+Float64FromInt32(2)) } } else { if w > uint32(0x3fd058ae) { /* |x| > log(5/3)/2 ~= 0.2554 */ - t = Xexpm1(tls, Float64FromInt32(2)*x) + t = Xexpm1(tls, Float64FromInt32(2)*x3) t = t / (t + Float64FromInt32(2)) } else { if w >= uint32(0x00100000) { /* |x| >= 0x1p-1022, up to 2ulp error in [0.1,0.2554] */ - t = Xexpm1(tls, float64(-Int32FromInt32(2))*x) + t = Xexpm1(tls, float64(-Int32FromInt32(2))*x3) t = -t / (t + Float64FromInt32(2)) } else { /* |x| is subnormal */ /* note: the branch above would not raise underflow in [0x1p-1023,0x1p-1022) */ if uint64(4) == uint64(4) { - y = float32(x) + y = float32(x3) } else { if uint64(4) == uint64(8) { - y1 = float64(float32(x)) + y1 = float64(float32(x3)) } else { - y2 = float64(float32(x)) + y2 = float64(float32(x3)) } } - t = x + t = x3 } } } @@ -113002,9 +113016,9 @@ func Xtanh(tls *TLS, x float64) (r float64) { return v1 } -func Xtanhf(tls *TLS, x float32) (r float32) { +func Xtanhf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -113025,43 +113039,43 @@ func Xtanhf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 /* x = |x| */ sign = int32(*(*Tuint32_t)(unsafe.Pointer(bp)) >> int32(31)) *(*Tuint32_t)(unsafe.Pointer(bp)) &= uint32(0x7fffffff) - x = *(*float32)(unsafe.Pointer(bp)) + x3 = *(*float32)(unsafe.Pointer(bp)) w = *(*Tuint32_t)(unsafe.Pointer(bp)) if w > uint32(0x3f0c9f54) { /* |x| > log(3)/2 ~= 0.5493 or nan */ if w > uint32(0x41200000) { /* |x| > 10 */ - t = Float32FromInt32(1) + Float32FromInt32(0)/x + t = Float32FromInt32(1) + Float32FromInt32(0)/x3 } else { - t = Xexpm1f(tls, Float32FromInt32(2)*x) + t = Xexpm1f(tls, Float32FromInt32(2)*x3) t = Float32FromInt32(1) - Float32FromInt32(2)/(t+Float32FromInt32(2)) } } else { if w > uint32(0x3e82c578) { /* |x| > log(5/3)/2 ~= 0.2554 */ - t = Xexpm1f(tls, Float32FromInt32(2)*x) + t = Xexpm1f(tls, Float32FromInt32(2)*x3) t = t / (t + Float32FromInt32(2)) } else { if w >= uint32(0x00800000) { /* |x| >= 0x1p-126 */ - t = Xexpm1f(tls, float32(-Int32FromInt32(2))*x) + t = Xexpm1f(tls, float32(-Int32FromInt32(2))*x3) t = -t / (t + Float32FromInt32(2)) } else { /* |x| is subnormal */ if uint64(4) == uint64(4) { - y = x * x + y = x3 * x3 } else { if uint64(4) == uint64(8) { - y1 = float64(x * x) + y1 = float64(x3 * x3) } else { - y2 = float64(x * x) + y2 = float64(x3 * x3) } } - t = x + t = x3 } } } @@ -113226,9 +113240,9 @@ func _S(tls *TLS, x float64) (r float64) { return num / den } -func Xtgamma(tls *TLS, x float64) (r1 float64) { +func Xtgamma(tls *TLS, x3 float64) (r1 float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r1) }() } bp := tls.Alloc(16) @@ -113250,26 +113264,26 @@ func Xtgamma(tls *TLS, x float64) (r1 float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 ix = uint32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(32) & uint64(0x7fffffff)) sign = int32(*(*Tuint64_t)(unsafe.Pointer(bp)) >> int32(63)) /* special cases */ if ix >= uint32(0x7ff00000) { /* tgamma(nan)=nan, tgamma(inf)=inf, tgamma(-inf)=nan with invalid */ - return x + float64(X__builtin_inff(tls)) + return x3 + float64(X__builtin_inff(tls)) } if ix < uint32((Int32FromInt32(0x3ff)-Int32FromInt32(54))<= 172: tgamma(x)=inf with overflow */ @@ -113277,26 +113291,26 @@ func Xtgamma(tls *TLS, x float64) (r1 float64) { if ix >= uint32(0x40670000) { /* |x| >= 184 */ if sign != 0 { if uint64(4) == uint64(4) { - y = float32(Float64FromFloat64(1.1754943508222875e-38) / x) + y = float32(Float64FromFloat64(1.1754943508222875e-38) / x3) } else { if uint64(4) == uint64(8) { - y1 = float64(float32(Float64FromFloat64(1.1754943508222875e-38) / x)) + y1 = float64(float32(Float64FromFloat64(1.1754943508222875e-38) / x3)) } else { - y2 = float64(float32(Float64FromFloat64(1.1754943508222875e-38) / x)) + y2 = float64(float32(Float64FromFloat64(1.1754943508222875e-38) / x3)) } } - if Xfloor(tls, x)*float64(0.5) == Xfloor(tls, x*float64(0.5)) { + if Xfloor(tls, x3)*float64(0.5) == Xfloor(tls, x3*float64(0.5)) { return Float64FromInt32(0) } return -Float64FromFloat64(0) } - x *= float64(8.98846567431158e+307) - return x + x3 *= float64(8.98846567431158e+307) + return x3 } if sign != 0 { - v1 = -x + v1 = -x3 } else { - v1 = x + v1 = x3 } absx = v1 /* handle the error of x + g - 0.5 */ @@ -113310,7 +113324,7 @@ func Xtgamma(tls *TLS, x float64) (r1 float64) { } z = absx - float64(0.5) r = _S(tls, absx) * Xexp(tls, -y3) - if x < Float64FromInt32(0) { + if x3 < Float64FromInt32(0) { /* reflection formula for negative x */ /* sinpi(absx) is not 0, integers are already handled */ r = -_pi4 / (_sinpi(tls, absx) * absx * r) @@ -113339,9 +113353,9 @@ func Xtgammal(tls *TLS, x float64) (r float64) { return Xtgamma(tls, x) } -func Xtrunc(tls *TLS, x float64) (r float64) { +func Xtrunc(tls *TLS, x3 float64) (r float64) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -113362,34 +113376,34 @@ func Xtrunc(tls *TLS, x float64) (r float64) { Fi [0]Tuint64_t Ff float64 }{} - *(*float64)(unsafe.Pointer(bp)) = x + *(*float64)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint64_t)(unsafe.Pointer(bp))>>Int32FromInt32(52)&Uint64FromInt32(0x7ff)) - int32(0x3ff) + int32(12) if e >= Int32FromInt32(52)+Int32FromInt32(12) { - return x + return x3 } if e < int32(12) { e = int32(1) } m = -Uint64FromUint64(1) >> e if *(*Tuint64_t)(unsafe.Pointer(bp))&m == uint64(0) { - return x + return x3 } if uint64(8) == uint64(4) { - y = float32(x + Float64FromFloat32(1.329227995784916e+36)) + y = float32(x3 + Float64FromFloat32(1.329227995784916e+36)) } else { if uint64(8) == uint64(8) { - y1 = x + Float64FromFloat32(1.329227995784916e+36) + y1 = x3 + Float64FromFloat32(1.329227995784916e+36) } else { - y2 = x + Float64FromFloat32(1.329227995784916e+36) + y2 = x3 + Float64FromFloat32(1.329227995784916e+36) } } *(*Tuint64_t)(unsafe.Pointer(bp)) &= ^m return *(*float64)(unsafe.Pointer(bp)) } -func Xtruncf(tls *TLS, x float32) (r float32) { +func Xtruncf(tls *TLS, x3 float32) (r float32) { if __ccgo_strace { - trc("tls=%v x=%v, (%v:)", tls, x, origin(2)) + trc("tls=%v x3=%v, (%v:)", tls, x3, origin(2)) defer func() { trc("-> %v", r) }() } bp := tls.Alloc(16) @@ -113410,25 +113424,25 @@ func Xtruncf(tls *TLS, x float32) (r float32) { Fi [0]Tuint32_t Ff float32 }{} - *(*float32)(unsafe.Pointer(bp)) = x + *(*float32)(unsafe.Pointer(bp)) = x3 e = int32(*(*Tuint32_t)(unsafe.Pointer(bp))>>Int32FromInt32(23)&Uint32FromInt32(0xff)) - int32(0x7f) + int32(9) if e >= Int32FromInt32(23)+Int32FromInt32(9) { - return x + return x3 } if e < int32(9) { e = int32(1) } m = -Uint32FromUint32(1) >> e if *(*Tuint32_t)(unsafe.Pointer(bp))&m == uint32(0) { - return x + return x3 } if uint64(4) == uint64(4) { - y = x + Float32FromFloat32(1.329227995784916e+36) + y = x3 + Float32FromFloat32(1.329227995784916e+36) } else { if uint64(4) == uint64(8) { - y1 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y1 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } else { - y2 = float64(x + Float32FromFloat32(1.329227995784916e+36)) + y2 = float64(x3 + Float32FromFloat32(1.329227995784916e+36)) } } *(*Tuint32_t)(unsafe.Pointer(bp)) &= ^m @@ -115343,6 +115357,7 @@ func Xopenpty(tls *TLS, pm uintptr, ps uintptr, name uintptr, tio uintptr, ws ui *(*int32)(unsafe.Pointer(ps)) = s _pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp + 4)), uintptr(0)) return 0 + goto fail fail: ; Xclose(tls, m) @@ -115479,6 +115494,7 @@ func Xrealpath(tls *TLS, filename uintptr, resolved uintptr) (r uintptr) { * remaining path components and consumes any slashes that follow. * If not a link, it's moved to output; if a link, contents are * pushed to the stack. */ + goto restart restart: ; _3: @@ -115563,6 +115579,7 @@ _3: if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(EINVAL) { return uintptr(0) } + goto skip_readlink skip_readlink: ; check_dir = 0 @@ -115650,6 +115667,7 @@ _1: } else { return Xstrdup(tls, bp+4097) } + goto toolong toolong: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(ENAMETOOLONG) @@ -116533,6 +116551,7 @@ func Xc16rtomb(tls *TLS, s uintptr, c16 Tchar16_t, ps uintptr) (r Tsize_t) { wc = int32(c16) } return Xwcrtomb(tls, s, wc, uintptr(0)) + goto ilseq ilseq: ; *(*uint32)(unsafe.Pointer(x)) = uint32(0) @@ -116702,6 +116721,7 @@ func Xmbrtowc(tls *TLS, wc uintptr, src uintptr, n Tsize_t, st uintptr) (r Tsize if (int32(*(*uint8)(unsafe.Pointer(s)))>>int32(3)-int32(0x10)|(int32(*(*uint8)(unsafe.Pointer(s)))>>int32(3)+int32(c)>>Int32FromInt32(26))) & ^Int32FromInt32(7) != 0 { goto ilseq } + goto loop loop: ; v4 = s @@ -116722,6 +116742,7 @@ func Xmbrtowc(tls *TLS, wc uintptr, src uintptr, n Tsize_t, st uintptr) (r Tsize } *(*uint32)(unsafe.Pointer(st)) = c return uint64(-Int32FromInt32(2)) + goto ilseq ilseq: ; *(*uint32)(unsafe.Pointer(st)) = uint32(0) @@ -116903,6 +116924,7 @@ _11: v12 = s s++ c = X__fsmu8[uint32(*(*uint8)(unsafe.Pointer(v12)))-uint32(0xc2)] + goto resume0 resume0: ; if (int32(*(*uint8)(unsafe.Pointer(s)))>>int32(3)-int32(0x10)|(int32(*(*uint8)(unsafe.Pointer(s)))>>int32(3)+int32(c)>>Int32FromInt32(26))) & ^Int32FromInt32(7) != 0 { @@ -116982,6 +117004,7 @@ _15: v26 = s s++ c = X__fsmu8[uint32(*(*uint8)(unsafe.Pointer(v26)))-uint32(0xc2)] + goto resume resume: ; if (int32(*(*uint8)(unsafe.Pointer(s)))>>int32(3)-int32(0x10)|(int32(*(*uint8)(unsafe.Pointer(s)))>>int32(3)+int32(c)>>Int32FromInt32(26))) & ^Int32FromInt32(7) != 0 { @@ -117124,6 +117147,7 @@ func Xmbtowc(tls *TLS, wc uintptr, src uintptr, n Tsize_t) (r int32) { s++ *(*Twchar_t)(unsafe.Pointer(wc)) = int32(c<= uint64(int64((*Tmsghdr)(unsafe.Pointer(bp)).Fmsg_control+uintptr((*Tmsghdr)(unsafe.Pointer(bp)).Fmsg_controllen))-int64(c)) { + if uint64((*Tcmsghdr)(unsafe.Pointer(c1)).Fcmsg_len) < uint64(16) || (uint64((*Tcmsghdr)(unsafe.Pointer(c1)).Fcmsg_len)+uint64(8)-uint64(1))&uint64(^int64(Uint64FromInt64(8)-Uint64FromInt32(1)))+uint64(16) >= uint64(int64((*Tmsghdr)(unsafe.Pointer(bp)).Fmsg_control+uintptr((*Tmsghdr)(unsafe.Pointer(bp)).Fmsg_controllen))-int64(c1)) { v4 = uintptr(0) } else { - v4 = c + uintptr((uint64((*Tcmsghdr)(unsafe.Pointer(c)).Fcmsg_len)+Uint64FromInt64(8)-Uint64FromInt32(1))&uint64(^int64(Uint64FromInt64(8)-Uint64FromInt32(1)))) + v4 = c1 + uintptr((uint64((*Tcmsghdr)(unsafe.Pointer(c1)).Fcmsg_len)+Uint64FromInt64(8)-Uint64FromInt32(1))&uint64(^int64(Uint64FromInt64(8)-Uint64FromInt32(1)))) } - c = v4 + c1 = v4 } } } @@ -125280,11 +125313,13 @@ func X__getgr_a(tls *TLS, name uintptr, gid Tgid_t, gr uintptr, buf uintptr, siz goto cleanup_f } *(*uintptr)(unsafe.Pointer(res)) = gr + goto cleanup_f cleanup_f: ; Xfclose(tls, f) goto done } + goto done done: ; _pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp)), uintptr(0)) @@ -125569,6 +125604,7 @@ func X__getgrent_a(tls *TLS, f uintptr, gr uintptr, line uintptr, size uintptr, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(mem)))) = uintptr(0) } (*Tgroup)(unsafe.Pointer(gr)).Fgr_mem = *(*uintptr)(unsafe.Pointer(mem)) + goto end end: ; _pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp + 8)), uintptr(0)) @@ -125729,6 +125765,7 @@ func Xgetgrouplist(tls *TLS, user uintptr, gid Tgid_t, groups uintptr, ngroups u } ret = int32(v14) *(*int32)(unsafe.Pointer(ngroups)) = int32(n) + goto cleanup cleanup: ; if f != 0 { @@ -125876,11 +125913,13 @@ func X__getpw_a(tls *TLS, name uintptr, uid Tuid_t, pw uintptr, buf uintptr, siz goto cleanup_f } *(*uintptr)(unsafe.Pointer(res)) = pw + goto cleanup_f cleanup_f: ; Xfclose(tls, f) goto done } + goto done done: ; _pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp + 4)), uintptr(0)) @@ -126197,6 +126236,7 @@ func X__nscd_query(tls *TLS, req Tint32_t, key uintptr, buf uintptr, len1 Tsize_ } errno_save = *(*int32)(unsafe.Pointer(X__errno_location(tls))) *(*int32)(unsafe.Pointer(swap)) = 0 + goto retry retry: ; Xmemset(tls, buf, 0, len1) @@ -126294,6 +126334,7 @@ retry: goto error } return f + goto error error: ; Xfclose(tls, f) @@ -126340,6 +126381,7 @@ func Xputgrent(tls *TLS, gr uintptr, f uintptr) (r1 int32) { } } r = Xfputc(tls, int32('\n'), f) + goto done done: ; Xfunlockfile(tls, f) @@ -126776,6 +126818,7 @@ func Xrandom(tls *TLS) (r int64) { if v3 == _n { _j = 0 } + goto end end: ; ___unlock(tls, uintptr(unsafe.Pointer(&_lock3))) @@ -127549,6 +127592,7 @@ func _pat_next(tls *TLS, pat uintptr, m Tsize_t, step uintptr, flags int32) (r i if int32(*(*int8)(unsafe.Pointer(pat))) == int32('?') { return -int32(4) } + goto escaped escaped: ; if uint32(*(*int8)(unsafe.Pointer(pat))) >= uint32(128) { @@ -129363,6 +129407,7 @@ func _parse_bracket(tls *TLS, ctx uintptr, s uintptr) (r Treg_errcode_t) { ; i++ } + goto parse_bracket_done parse_bracket_done: ; Xfree(tls, (*(*Tliterals)(unsafe.Pointer(bp))).Fa) @@ -129675,6 +129720,7 @@ _11: goto _13 _12: ; + goto parse_literal parse_literal: ; len1 = Xmbtowc(tls, bp, s, uint64(-Int32FromInt32(1))) @@ -129698,6 +129744,7 @@ parse_literal: goto _13 _13: ; + goto end end: ; if !(node != 0) { @@ -129773,6 +129820,7 @@ func _tre_parse(tls *TLS, ctx uintptr) (r Treg_errcode_t) { } s = (*Ttre_parse_ctx_t)(unsafe.Pointer(ctx)).Fs } + goto parse_iter parse_iter: ; for { @@ -131991,6 +132039,7 @@ func Xregcomp(tls *TLS, preg uintptr, regex uintptr, cflags int32) (r int32) { Xfree(tls, offs) (*Tregex_t)(unsafe.Pointer(preg)).F__opaque = tnfa return REG_OK + goto error_exit error_exit: ; /* Free everything that was allocated and return the error code. */ @@ -132573,6 +132622,7 @@ func _tre_tnfa_run_parallel(tls *TLS, tnfa uintptr, string1 uintptr, match_tags v18 = int32(REG_NOMATCH) } ret = v18 + goto error_exit error_exit: ; Xfree(tls, buf) @@ -132682,6 +132732,7 @@ func _tre_tnfa_run_backtrack(tls *TLS, tnfa uintptr, string1 uintptr, match_tags goto error_exit } } + goto retry retry: ; i = 0 @@ -133017,6 +133068,7 @@ _9: goto _17 _16: ; + goto backtrack backtrack: ; /* A matching transition was not found. Try to backtrack. */ @@ -133066,6 +133118,7 @@ _8: } ret = v20 *(*Tregoff_t)(unsafe.Pointer(match_end_ofs)) = match_eo + goto error_exit error_exit: ; X__tre_mem_destroy(tls, mem) @@ -136248,15 +136301,15 @@ _20: return c } -func Xfgetc(tls *TLS, f uintptr) (r int32) { +func Xfgetc(tls *TLS, f1 uintptr) (r int32) { if __ccgo_strace { - trc("tls=%v f=%v, (%v:)", tls, f, origin(2)) + trc("tls=%v f1=%v, (%v:)", tls, f1, origin(2)) defer func() { trc("-> %v", r) }() } var l, v2, v4 int32 var v1, v5, v6 uintptr _, _, _, _, _, _ = l, v1, v2, v4, v5, v6 - v1 = f + v1 = f1 l = AtomicLoadPInt32(v1 + 140) if l < 0 || l != 0 && l & ^Int32FromInt32(MAYBE_WAITERS) == (*t__pthread)(unsafe.Pointer(___get_tp(tls))).Ftid { if (*TFILE)(unsafe.Pointer(v1)).Frpos != (*TFILE)(unsafe.Pointer(v1)).Frend { @@ -136681,6 +136734,7 @@ func _mseek(tls *TLS, f uintptr, off Toff_t, whence int32) (r Toff_t) { if !(uint32(whence) > uint32(2)) { goto _1 } + goto fail fail: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EINVAL) @@ -136915,6 +136969,7 @@ func _cookieread(tls *TLS, f uintptr, buf uintptr, len1 Tsize_t) (r Tsize_t) { *(*uintptr)(unsafe.Pointer(v3))++ *(*uint8)(unsafe.Pointer(buf + uintptr(v1))) = *(*uint8)(unsafe.Pointer(v2)) return readlen + goto bail bail: ; if ret == 0 { @@ -137160,17 +137215,17 @@ _21: return c } -func Xfputc(tls *TLS, c int32, f uintptr) (r int32) { +func Xfputc(tls *TLS, c1 int32, f1 uintptr) (r int32) { if __ccgo_strace { - trc("tls=%v c=%v f=%v, (%v:)", tls, c, f, origin(2)) + trc("tls=%v c1=%v f1=%v, (%v:)", tls, c1, f1, origin(2)) defer func() { trc("-> %v", r) }() } var l, v1, v3, v5 int32 var v2, v7, v8 uintptr var v6 uint8 _, _, _, _, _, _, _, _ = l, v1, v2, v3, v5, v6, v7, v8 - v1 = c - v2 = f + v1 = c1 + v2 = f1 l = AtomicLoadPInt32(v2 + 140) if l < 0 || l != 0 && l & ^Int32FromInt32(MAYBE_WAITERS) == (*t__pthread)(unsafe.Pointer(___get_tp(tls))).Ftid { if int32(uint8(v1)) != (*TFILE)(unsafe.Pointer(v2)).Flbf && (*TFILE)(unsafe.Pointer(v2)).Fwpos != (*TFILE)(unsafe.Pointer(v2)).Fwend { @@ -137487,9 +137542,11 @@ func Xfreopen(tls *TLS, filename uintptr, mode uintptr, f uintptr) (r uintptr) { ___unlockfile(tls, f) } return f + goto fail2 fail2: ; Xfclose(tls, f2) + goto fail fail: ; Xfclose(tls, f) @@ -138084,15 +138141,15 @@ _20: return c } -func Xgetc(tls *TLS, f uintptr) (r int32) { +func Xgetc(tls *TLS, f1 uintptr) (r int32) { if __ccgo_strace { - trc("tls=%v f=%v, (%v:)", tls, f, origin(2)) + trc("tls=%v f1=%v, (%v:)", tls, f1, origin(2)) defer func() { trc("-> %v", r) }() } var l, v2, v4 int32 var v1, v5, v6 uintptr _, _, _, _, _, _ = l, v1, v2, v4, v5, v6 - v1 = f + v1 = f1 l = AtomicLoadPInt32(v1 + 140) if l < 0 || l != 0 && l & ^Int32FromInt32(MAYBE_WAITERS) == (*t__pthread)(unsafe.Pointer(___get_tp(tls))).Ftid { if (*TFILE)(unsafe.Pointer(v1)).Frpos != (*TFILE)(unsafe.Pointer(v1)).Frend { @@ -138112,12 +138169,12 @@ _3: return v2 } -func X_IO_getc(tls *TLS, f uintptr) (r int32) { +func X_IO_getc(tls *TLS, f1 uintptr) (r int32) { if __ccgo_strace { - trc("tls=%v f=%v, (%v:)", tls, f, origin(2)) + trc("tls=%v f1=%v, (%v:)", tls, f1, origin(2)) defer func() { trc("-> %v", r) }() } - return Xgetc(tls, f) + return Xgetc(tls, f1) } func Xgetc_unlocked(tls *TLS, f uintptr) (r int32) { @@ -138594,6 +138651,7 @@ func _ms_seek(tls *TLS, f uintptr, off Toff_t, whence int32) (r Toff_t) { if !(uint32(whence) > uint32(2)) { goto _1 } + goto fail fail: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EINVAL) @@ -138727,6 +138785,7 @@ func _wms_seek(tls *TLS, f uintptr, off Toff_t, whence int32) (r Toff_t) { if !(uint32(whence) > uint32(2)) { goto _1 } + goto fail fail: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EINVAL) @@ -139024,17 +139083,17 @@ _21: return c } -func Xputc(tls *TLS, c int32, f uintptr) (r int32) { +func Xputc(tls *TLS, c1 int32, f1 uintptr) (r int32) { if __ccgo_strace { - trc("tls=%v c=%v f=%v, (%v:)", tls, c, f, origin(2)) + trc("tls=%v c1=%v f1=%v, (%v:)", tls, c1, f1, origin(2)) defer func() { trc("-> %v", r) }() } var l, v1, v3, v5 int32 var v2, v7, v8 uintptr var v6 uint8 _, _, _, _, _, _, _, _ = l, v1, v2, v3, v5, v6, v7, v8 - v1 = c - v2 = f + v1 = c1 + v2 = f1 l = AtomicLoadPInt32(v2 + 140) if l < 0 || l != 0 && l & ^Int32FromInt32(MAYBE_WAITERS) == (*t__pthread)(unsafe.Pointer(___get_tp(tls))).Ftid { if int32(uint8(v1)) != (*TFILE)(unsafe.Pointer(v2)).Flbf && (*TFILE)(unsafe.Pointer(v2)).Fwpos != (*TFILE)(unsafe.Pointer(v2)).Fwend { @@ -139056,12 +139115,12 @@ _4: return v3 } -func X_IO_putc(tls *TLS, c int32, f uintptr) (r int32) { +func X_IO_putc(tls *TLS, c1 int32, f1 uintptr) (r int32) { if __ccgo_strace { - trc("tls=%v c=%v f=%v, (%v:)", tls, c, f, origin(2)) + trc("tls=%v c1=%v f1=%v, (%v:)", tls, c1, f1, origin(2)) defer func() { trc("-> %v", r) }() } - return Xputc(tls, c, f) + return Xputc(tls, c1, f1) } func Xputc_unlocked(tls *TLS, c int32, f uintptr) (r int32) { @@ -139210,16 +139269,16 @@ _21: return c } -func Xputchar(tls *TLS, c int32) (r int32) { +func Xputchar(tls *TLS, c1 int32) (r int32) { if __ccgo_strace { - trc("tls=%v c=%v, (%v:)", tls, c, origin(2)) + trc("tls=%v c1=%v, (%v:)", tls, c1, origin(2)) defer func() { trc("-> %v", r) }() } var l, v1, v3, v5 int32 var v2, v7, v8 uintptr var v6 uint8 _, _, _, _, _, _, _, _ = l, v1, v2, v3, v5, v6, v7, v8 - v1 = c + v1 = c1 v2 = uintptr(unsafe.Pointer(&X__stdout_FILE)) l = AtomicLoadPInt32(v2 + 140) if l < 0 || l != 0 && l & ^Int32FromInt32(MAYBE_WAITERS) == (*t__pthread)(unsafe.Pointer(___get_tp(tls))).Ftid { @@ -141084,6 +141143,7 @@ func _printf_core(tls *TLS, f uintptr, fmt uintptr, ap uintptr, nl_arg uintptr, } p = int32(v34) goto _30 + goto narrow_c narrow_c: ; _17: @@ -141268,10 +141328,12 @@ func _printf_core(tls *TLS, f uintptr, fmt uintptr, ap uintptr, nl_arg uintptr, goto inval } return int32(1) + goto inval inval: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EINVAL) return -int32(1) + goto overflow overflow: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EOVERFLOW) @@ -141959,6 +142021,7 @@ func Xvfscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32) { _49: ; base = 0 + goto int_common int_common: ; x = X__intscan(tls, f, uint32(base), 0, Uint64FromUint64(2)*Uint64FromInt64(0x7fffffffffffffff)+Uint64FromInt32(1)) @@ -142017,15 +142080,19 @@ func Xvfscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32) { if !(0 != 0) { goto _85 } + goto fmt_fail fmt_fail: ; + goto alloc_fail alloc_fail: ; + goto input_fail input_fail: ; if !(matches != 0) { matches-- } + goto match_fail match_fail: ; if alloc != 0 { @@ -142614,10 +142681,12 @@ func _wprintf_core(tls *TLS, f uintptr, fmt uintptr, ap uintptr, nl_arg uintptr, return -int32(1) } return int32(1) + goto inval inval: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EINVAL) return -int32(1) + goto overflow overflow: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EOVERFLOW) @@ -142810,7 +142879,7 @@ func Xvfwscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32) { v9 = f + 8 *(*uintptr)(unsafe.Pointer(v9))-- v8 = *(*uintptr)(unsafe.Pointer(v9)) - _ = uint32(*(*uint8)(unsafe.Pointer(v8))) + _ = *(*uint8)(unsafe.Pointer(v8)) } else { Xungetwc(tls, uint32(c), f) } @@ -142851,7 +142920,7 @@ func Xvfwscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32) { v19 = f + 8 *(*uintptr)(unsafe.Pointer(v19))-- v18 = *(*uintptr)(unsafe.Pointer(v19)) - _ = uint32(*(*uint8)(unsafe.Pointer(v18))) + _ = *(*uint8)(unsafe.Pointer(v18)) } else { Xungetwc(tls, uint32(c), f) } @@ -143007,7 +143076,7 @@ func Xvfwscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32) { v31 = f + 8 *(*uintptr)(unsafe.Pointer(v31))-- v30 = *(*uintptr)(unsafe.Pointer(v31)) - _ = uint32(*(*uint8)(unsafe.Pointer(v30))) + _ = *(*uint8)(unsafe.Pointer(v30)) } else { Xungetwc(tls, uint32(c), f) } @@ -143149,7 +143218,7 @@ func Xvfwscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32) { v44 = f + 8 *(*uintptr)(unsafe.Pointer(v44))-- v43 = *(*uintptr)(unsafe.Pointer(v44)) - _ = uint32(*(*uint8)(unsafe.Pointer(v43))) + _ = *(*uint8)(unsafe.Pointer(v43)) } else { Xungetwc(tls, uint32(c), f) } @@ -143233,15 +143302,19 @@ func Xvfwscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32) { if !(0 != 0) { goto _46 } + goto fmt_fail fmt_fail: ; + goto alloc_fail alloc_fail: ; + goto input_fail input_fail: ; if !(matches != 0) { matches-- } + goto match_fail match_fail: ; if alloc != 0 { @@ -144779,6 +144852,7 @@ func Xmemccpy(tls *TLS, dest uintptr, src uintptr, c int32, n Tsize_t) (r uintpt s++ d++ } + goto tail tail: ; if n != 0 { @@ -145909,6 +145983,7 @@ func X__stpncpy(tls *TLS, d uintptr, s uintptr, n Tsize_t) (r uintptr) { s++ d++ } + goto tail tail: ; Xmemset(tls, d, 0, n) @@ -146299,6 +146374,7 @@ func Xstrlcpy(tls *TLS, d uintptr, s uintptr, n Tsize_t) (r Tsize_t) { d++ } *(*int8)(unsafe.Pointer(d)) = 0 + goto finish finish: ; return uint64(int64(d)-int64(d0)) + Xstrlen(tls, s) @@ -148901,6 +148977,7 @@ func X__secs_to_zone(tls *TLS, t int64, local int32, isdst uintptr, offset uintp } goto dst } + goto std std: ; *(*int32)(unsafe.Pointer(isdst)) = 0 @@ -148911,6 +148988,7 @@ std: *(*uintptr)(unsafe.Pointer(zonename)) = Xtzname[0] ___unlock(tls, uintptr(unsafe.Pointer(&_lock4))) return + goto dst dst: ; *(*int32)(unsafe.Pointer(isdst)) = int32(1) @@ -149274,6 +149352,7 @@ func Xgetdate(tls *TLS, s uintptr) (r uintptr) { } else { Xgetdate_err = int32(7) } + goto out out: ; if f != 0 { @@ -149416,6 +149495,7 @@ func Xmktime(tls *TLS, tm uintptr) (r Ttime_t) { } *(*Ttm)(unsafe.Pointer(tm)) = *(*Ttm)(unsafe.Pointer(bp)) return t + goto error error: ; *(*int32)(unsafe.Pointer(X__errno_location(tls))) = int32(EOVERFLOW) @@ -149695,6 +149775,7 @@ func X__strftime_fmt_1(tls *TLS, s uintptr, l uintptr, f int32, tm uintptr, loc default: return uintptr(0) } + goto number number: ; if pad != 0 { @@ -149714,16 +149795,20 @@ number: break } return s + goto nl_strcat nl_strcat: ; fmt = X__nl_langinfo_l(tls, item, loc) + goto string string: ; *(*Tsize_t)(unsafe.Pointer(l)) = Xstrlen(tls, fmt) return fmt + goto nl_strftime nl_strftime: ; fmt = X__nl_langinfo_l(tls, item, loc) + goto recu_strftime recu_strftime: ; *(*Tsize_t)(unsafe.Pointer(l)) = X__strftime_l(tls, s, uint64(100), fmt, tm, loc) @@ -150229,6 +150314,7 @@ func Xstrptime(tls *TLS, s uintptr, f uintptr, tm uintptr) (r uintptr) { _40: ; return uintptr(0) + goto numeric_range numeric_range: ; if !(BoolInt32(uint32(*(*int8)(unsafe.Pointer(s)))-Uint32FromUint8('0') < Uint32FromInt32(10)) != 0) { @@ -150256,6 +150342,7 @@ func Xstrptime(tls *TLS, s uintptr, f uintptr, tm uintptr) (r uintptr) { case int64(uint64(UintptrFromInt32(0) + 28)): } goto update + goto numeric_digits numeric_digits: ; neg = 0 @@ -150290,6 +150377,7 @@ func Xstrptime(tls *TLS, s uintptr, f uintptr, tm uintptr) (r uintptr) { } *(*int32)(unsafe.Pointer(dest)) -= adj goto update + goto symbolic_range symbolic_range: ; i = int32(2)*range1 - int32(1) @@ -150314,6 +150402,7 @@ func Xstrptime(tls *TLS, s uintptr, f uintptr, tm uintptr) (r uintptr) { return uintptr(0) } goto update + goto update update: ; //FIXME diff --git a/vendor/modernc.org/libc/libc.go b/vendor/modernc.org/libc/libc.go index f122eba47d..bd24976d46 100644 --- a/vendor/modernc.org/libc/libc.go +++ b/vendor/modernc.org/libc/libc.go @@ -1202,6 +1202,20 @@ func X__builtin_round(t *TLS, x float64) float64 { return math.Round(x) } +func Xroundf(t *TLS, x float32) float32 { + if __ccgo_strace { + trc("t=%v x=%v, (%v:)", t, x, origin(2)) + } + return float32(math.Round(float64(x))) +} + +func X__builtin_roundf(t *TLS, x float32) float32 { + if __ccgo_strace { + trc("t=%v x=%v, (%v:)", t, x, origin(2)) + } + return float32(math.Round(float64(x))) +} + func Xsin(t *TLS, x float64) float64 { if __ccgo_strace { trc("t=%v x=%v, (%v:)", t, x, origin(2)) @@ -1465,39 +1479,91 @@ func Xstrrchr(t *TLS, s uintptr, c int32) (r uintptr) { } // void *memset(void *s, int c, size_t n) -func Xmemset(t *TLS, s uintptr, c int32, n types.Size_t) uintptr { +func Xmemset(t *TLS, dest uintptr, c int32, n types.Size_t) uintptr { if __ccgo_strace { - trc("t=%v s=%v c=%v n=%v, (%v:)", t, s, c, n, origin(2)) + trc("t=%v s=%v c=%v n=%v, (%v:)", t, dest, c, n, origin(2)) } - if n != 0 { - c := byte(c & 0xff) + var c8 uint8 + var c32 uint32 + var c64 uint64 + var k types.Size_t + var s uintptr - // This will make sure that on platforms where they are not equally aligned we - // clear out the first few bytes until allignment - bytesBeforeAllignment := s % unsafe.Alignof(uint64(0)) - if bytesBeforeAllignment > uintptr(n) { - bytesBeforeAllignment = uintptr(n) - } - b := (*RawMem)(unsafe.Pointer(s))[:bytesBeforeAllignment:bytesBeforeAllignment] - n -= types.Size_t(bytesBeforeAllignment) - for i := range b { - b[i] = c - } - if n >= 8 { - i64 := uint64(c) + uint64(c)<<8 + uint64(c)<<16 + uint64(c)<<24 + uint64(c)<<32 + uint64(c)<<40 + uint64(c)<<48 + uint64(c)<<56 - b8 := (*RawMem64)(unsafe.Pointer(s + bytesBeforeAllignment))[: n/8 : n/8] - for i := range b8 { - b8[i] = i64 - } - } - if n%8 != 0 { - b = (*RawMem)(unsafe.Pointer(s + bytesBeforeAllignment + uintptr(n-n%8)))[: n%8 : n%8] - for i := range b { - b[i] = c - } + s = dest + /* Fill head and tail with minimal branching. Each + * conditional ensures that all the subsequently used + * offsets are well-defined and in the dest region. */ + if n == 0 { + return dest + } + c8 = uint8(c) + *(*uint8)(unsafe.Pointer(s)) = c8 + *(*uint8)(unsafe.Pointer(s + uintptr(n-1))) = c8 + if n <= types.Size_t(2) { + return dest + } + *(*uint8)(unsafe.Pointer(s + 1)) = c8 + *(*uint8)(unsafe.Pointer(s + 2)) = c8 + *(*uint8)(unsafe.Pointer(s + uintptr(n-2))) = c8 + *(*uint8)(unsafe.Pointer(s + uintptr(n-3))) = c8 + if n <= types.Size_t(6) { + return dest + } + *(*uint8)(unsafe.Pointer(s + 3)) = c8 + *(*uint8)(unsafe.Pointer(s + uintptr(n-4))) = c8 + if n <= types.Size_t(8) { + return dest + } + /* Advance pointer to align it at a 4-byte boundary, + * and truncate n to a multiple of 4. The previous code + * already took care of any head/tail that get cut off + * by the alignment. */ + k = -types.Size_t(s) & types.Size_t(3) + s += uintptr(k) + n -= k + n &= types.Size_t(-Int32FromInt32(4)) + c32 = uint32(0x01010101) * uint32(c8) + /* In preparation to copy 32 bytes at a time, aligned on + * an 8-byte bounary, fill head/tail up to 28 bytes each. + * As in the initial byte-based head/tail fill, each + * conditional below ensures that the subsequent offsets + * are valid (e.g. !(n<=24) implies n>=28). */ + *(*uint32)(unsafe.Pointer(s + uintptr(0))) = c32 + *(*uint32)(unsafe.Pointer(s + uintptr(n-4))) = c32 + if n <= types.Size_t(8) { + return dest + } + c64 = uint64(c32) | (uint64(c32) << 32) + *(*uint64)(unsafe.Pointer(s + uintptr(4))) = c64 + *(*uint64)(unsafe.Pointer(s + uintptr(n-12))) = c64 + if n <= types.Size_t(24) { + return dest + } + *(*uint64)(unsafe.Pointer(s + uintptr(12))) = c64 + *(*uint64)(unsafe.Pointer(s + uintptr(20))) = c64 + *(*uint64)(unsafe.Pointer(s + uintptr(n-28))) = c64 + *(*uint64)(unsafe.Pointer(s + uintptr(n-20))) = c64 + /* Align to a multiple of 8 so we can fill 64 bits at a time, + * and avoid writing the same bytes twice as much as is + * practical without introducing additional branching. */ + k = types.Size_t(24) + types.Size_t(s)&types.Size_t(4) + s += uintptr(k) + n -= k + /* If this loop is reached, 28 tail bytes have already been + * filled, so any remainder when n drops below 32 can be + * safely ignored. */ + for { + if !(n >= types.Size_t(32)) { + break } + *(*uint64)(unsafe.Pointer(s + uintptr(0))) = c64 + *(*uint64)(unsafe.Pointer(s + uintptr(8))) = c64 + *(*uint64)(unsafe.Pointer(s + uintptr(16))) = c64 + *(*uint64)(unsafe.Pointer(s + uintptr(24))) = c64 + n -= types.Size_t(32) + s += uintptr(32) } - return s + return dest } // void *memcpy(void *dest, const void *src, size_t n); diff --git a/vendor/modernc.org/libc/libc_darwin.go b/vendor/modernc.org/libc/libc_darwin.go index e73256a8eb..e236df56eb 100644 --- a/vendor/modernc.org/libc/libc_darwin.go +++ b/vendor/modernc.org/libc/libc_darwin.go @@ -452,9 +452,11 @@ func Xsysconf(t *TLS, name int32) long { return long(unix.Getpagesize()) case unistd.X_SC_NPROCESSORS_ONLN: return long(runtime.NumCPU()) + case unistd.X_SC_GETPW_R_SIZE_MAX: + return 128 } - panic(todo("")) + panic(todo("", name)) } // int close(int fd); @@ -2498,3 +2500,9 @@ func Xsetrlimit(t *TLS, resource int32, rlim uintptr) int32 { return 0 } + +func X__fpclassifyd(tls *TLS, x float64) (r int32) { + return X__fpclassify(tls, x) +} + +var Xin6addr_any = in6_addr{} diff --git a/vendor/modernc.org/libc/libc_musl.go b/vendor/modernc.org/libc/libc_musl.go index 57cec4e1f0..d286395162 100644 --- a/vendor/modernc.org/libc/libc_musl.go +++ b/vendor/modernc.org/libc/libc_musl.go @@ -122,7 +122,9 @@ import ( "syscall" "unsafe" + guuid "github.com/google/uuid" "golang.org/x/sys/unix" + "modernc.org/libc/uuid/uuid" "modernc.org/memory" ) @@ -276,15 +278,18 @@ type TLS struct { allocaStack []int allocas []uintptr jumpBuffers []uintptr + pendingSignals chan os.Signal pthread uintptr // *t__pthread pthreadCleanupItems []pthreadCleanupItem pthreadKeyValues map[Tpthread_key_t]uintptr + sigHandlers map[int32]uintptr sp int stack []tlsStackSlot ID int32 - ownsPthread bool + checkSignals bool + ownsPthread bool } var __ccgo_environOnce sync.Once @@ -309,6 +314,7 @@ func NewTLS() (r *TLS) { ID: id, ownsPthread: true, pthread: pthread, + sigHandlers: map[int32]uintptr{}, } } @@ -402,6 +408,29 @@ func (tls *TLS) Alloc(n0 int) (r uintptr) { func (tls *TLS) Free(n int) { //TODO shrink stacks if possible. Tcl is currently against. tls.sp-- + if !tls.checkSignals { + return + } + + select { + case sig := <-tls.pendingSignals: + signum := int32(sig.(syscall.Signal)) + h, ok := tls.sigHandlers[signum] + if !ok { + break + } + + switch h { + case SIG_DFL: + // nop + case SIG_IGN: + // nop + default: + (*(*func(*TLS, int32))(unsafe.Pointer(&struct{ uintptr }{h})))(tls, signum) + } + default: + // nop + } } func (tls *TLS) alloca(n Tsize_t) (r uintptr) { @@ -473,6 +502,10 @@ func Xexit(tls *TLS, code int32) { for _, v := range atExit { v() } + atExitHandlersMu.Lock() + for _, v := range atExitHandlers { + (*(*func(*TLS))(unsafe.Pointer(&struct{ uintptr }{v})))(tls) + } os.Exit(int(code)) } @@ -645,24 +678,33 @@ func Xfork(t *TLS) int32 { const SIG_DFL = 0 const SIG_IGN = 1 -var sigHandlers = map[int32]uintptr{} - func Xsignal(tls *TLS, signum int32, handler uintptr) (r uintptr) { - r, sigHandlers[signum] = sigHandlers[signum], handler - sigHandlers[signum] = handler + r, tls.sigHandlers[signum] = tls.sigHandlers[signum], handler switch handler { case SIG_DFL: gosignal.Reset(syscall.Signal(signum)) case SIG_IGN: gosignal.Ignore(syscall.Signal(signum)) default: - panic(todo("")) + if tls.pendingSignals == nil { + tls.pendingSignals = make(chan os.Signal, 3) + tls.checkSignals = true + } + gosignal.Notify(tls.pendingSignals, syscall.Signal(signum)) } return r } +var ( + atExitHandlersMu sync.Mutex + atExitHandlers []uintptr +) + func Xatexit(tls *TLS, func_ uintptr) (r int32) { - return -1 + atExitHandlersMu.Lock() + atExitHandlers = append(atExitHandlers, func_) + atExitHandlersMu.Unlock() + return 0 } var __sync_synchronize_dummy int32 @@ -1012,22 +1054,43 @@ func Xsysctlbyname(t *TLS, name, oldp, oldlenp, newp uintptr, newlen Tsize_t) in // void uuid_copy(uuid_t dst, uuid_t src); func Xuuid_copy(t *TLS, dst, src uintptr) { - panic(todo("")) + if __ccgo_strace { + trc("t=%v src=%v, (%v:)", t, src, origin(2)) + } + *(*uuid.Uuid_t)(unsafe.Pointer(dst)) = *(*uuid.Uuid_t)(unsafe.Pointer(src)) } // int uuid_parse( char *in, uuid_t uu); func Xuuid_parse(t *TLS, in uintptr, uu uintptr) int32 { - panic(todo("")) + if __ccgo_strace { + trc("t=%v in=%v uu=%v, (%v:)", t, in, uu, origin(2)) + } + r, err := guuid.Parse(GoString(in)) + if err != nil { + return -1 + } + + copy((*RawMem)(unsafe.Pointer(uu))[:unsafe.Sizeof(uuid.Uuid_t{})], r[:]) + return 0 } // void uuid_generate_random(uuid_t out); func Xuuid_generate_random(t *TLS, out uintptr) { - panic(todo("")) + if __ccgo_strace { + trc("t=%v out=%v, (%v:)", t, out, origin(2)) + } + x := guuid.New() + copy((*RawMem)(unsafe.Pointer(out))[:], x[:]) } // void uuid_unparse(uuid_t uu, char *out); func Xuuid_unparse(t *TLS, uu, out uintptr) { - panic(todo("")) + if __ccgo_strace { + trc("t=%v out=%v, (%v:)", t, out, origin(2)) + } + s := (*guuid.UUID)(unsafe.Pointer(uu)).String() + copy((*RawMem)(unsafe.Pointer(out))[:], s) + *(*byte)(unsafe.Pointer(out + uintptr(len(s)))) = 0 } var Xzero_struct_address Taddress diff --git a/vendor/modernc.org/libc/pthread_all.go b/vendor/modernc.org/libc/pthread_all.go index 76a941f0cb..e8c8c264e3 100644 --- a/vendor/modernc.org/libc/pthread_all.go +++ b/vendor/modernc.org/libc/pthread_all.go @@ -50,3 +50,14 @@ func Xpthread_mutex_init(t *TLS, pMutex, pAttr uintptr) int32 { mutexes[pMutex] = newMutex(typ) return 0 } + +func Xpthread_atfork(tls *TLS, prepare, parent, child uintptr) int32 { + // fork(2) not supported. + return 0 +} + +// int pthread_sigmask(int how, const sigset_t *restrict set, sigset_t *restrict old) +func Xpthread_sigmask(tls *TLS, now int32, set, old uintptr) int32 { + // ignored + return 0 +} diff --git a/vendor/modernc.org/libc/stdatomic.go b/vendor/modernc.org/libc/stdatomic.go new file mode 100644 index 0000000000..7df65312ae --- /dev/null +++ b/vendor/modernc.org/libc/stdatomic.go @@ -0,0 +1,710 @@ +// Copyright 2024 The Libc Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package libc // import "modernc.org/libc" + +import ( + "sync" + "unsafe" +) + +var ( + int8Mu sync.Mutex + int16Mu sync.Mutex + int32Mu sync.Mutex + int64Mu sync.Mutex +) + +// type __atomic_fetch_add(type *ptr, type val, int memorder) +// +// { tmp = *ptr; *ptr op= val; return tmp; } +// { tmp = *ptr; *ptr = ~(*ptr & val); return tmp; } // nand + +func X__atomic_fetch_addInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8) { + int8Mu.Lock() + + defer int8Mu.Unlock() + + r = *(*int8)(unsafe.Pointer(ptr)) + *(*int8)(unsafe.Pointer(ptr)) += val + return r +} + +func X__atomic_fetch_addUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8) { + int8Mu.Lock() + + defer int8Mu.Unlock() + + r = *(*uint8)(unsafe.Pointer(ptr)) + *(*uint8)(unsafe.Pointer(ptr)) += val + return r +} + +func X__atomic_fetch_addInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16) { + int16Mu.Lock() + + defer int16Mu.Unlock() + + r = *(*int16)(unsafe.Pointer(ptr)) + *(*int16)(unsafe.Pointer(ptr)) += val + return r +} + +func X__atomic_fetch_addUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16) { + int16Mu.Lock() + + defer int16Mu.Unlock() + + r = *(*uint16)(unsafe.Pointer(ptr)) + *(*uint16)(unsafe.Pointer(ptr)) += val + return r +} + +func X__atomic_fetch_addInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32) { + int32Mu.Lock() + + defer int32Mu.Unlock() + + r = *(*int32)(unsafe.Pointer(ptr)) + *(*int32)(unsafe.Pointer(ptr)) += val + return r +} + +func X__atomic_fetch_addUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32) { + int32Mu.Lock() + + defer int32Mu.Unlock() + + r = *(*uint32)(unsafe.Pointer(ptr)) + *(*uint32)(unsafe.Pointer(ptr)) += val + return r +} + +func X__atomic_fetch_addInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64) { + int64Mu.Lock() + + defer int64Mu.Unlock() + + r = *(*int64)(unsafe.Pointer(ptr)) + *(*int64)(unsafe.Pointer(ptr)) += val + return r +} + +func X__atomic_fetch_addUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64) { + int64Mu.Lock() + + defer int64Mu.Unlock() + + r = *(*uint64)(unsafe.Pointer(ptr)) + *(*uint64)(unsafe.Pointer(ptr)) += val + return r +} + +// ---- + +func X__atomic_fetch_andInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8) { + int8Mu.Lock() + + defer int8Mu.Unlock() + + r = *(*int8)(unsafe.Pointer(ptr)) + *(*int8)(unsafe.Pointer(ptr)) &= val + return r +} + +func X__atomic_fetch_andUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8) { + int8Mu.Lock() + + defer int8Mu.Unlock() + + r = *(*uint8)(unsafe.Pointer(ptr)) + *(*uint8)(unsafe.Pointer(ptr)) &= val + return r +} + +func X__atomic_fetch_andInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16) { + int16Mu.Lock() + + defer int16Mu.Unlock() + + r = *(*int16)(unsafe.Pointer(ptr)) + *(*int16)(unsafe.Pointer(ptr)) &= val + return r +} + +func X__atomic_fetch_andUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16) { + int16Mu.Lock() + + defer int16Mu.Unlock() + + r = *(*uint16)(unsafe.Pointer(ptr)) + *(*uint16)(unsafe.Pointer(ptr)) &= val + return r +} + +func X__atomic_fetch_andInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32) { + int32Mu.Lock() + + defer int32Mu.Unlock() + + r = *(*int32)(unsafe.Pointer(ptr)) + *(*int32)(unsafe.Pointer(ptr)) &= val + return r +} + +func X__atomic_fetch_andUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32) { + int32Mu.Lock() + + defer int32Mu.Unlock() + + r = *(*uint32)(unsafe.Pointer(ptr)) + *(*uint32)(unsafe.Pointer(ptr)) &= val + return r +} + +func X__atomic_fetch_andInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64) { + int64Mu.Lock() + + defer int64Mu.Unlock() + + r = *(*int64)(unsafe.Pointer(ptr)) + *(*int64)(unsafe.Pointer(ptr)) &= val + return r +} + +func X__atomic_fetch_andUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64) { + int64Mu.Lock() + + defer int64Mu.Unlock() + + r = *(*uint64)(unsafe.Pointer(ptr)) + *(*uint64)(unsafe.Pointer(ptr)) &= val + return r +} + +// ---- + +func X__atomic_fetch_orInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8) { + int8Mu.Lock() + + defer int8Mu.Unlock() + + r = *(*int8)(unsafe.Pointer(ptr)) + *(*int8)(unsafe.Pointer(ptr)) |= val + return r +} + +func X__atomic_fetch_orUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8) { + int8Mu.Lock() + + defer int8Mu.Unlock() + + r = *(*uint8)(unsafe.Pointer(ptr)) + *(*uint8)(unsafe.Pointer(ptr)) |= val + return r +} + +func X__atomic_fetch_orInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16) { + int16Mu.Lock() + + defer int16Mu.Unlock() + + r = *(*int16)(unsafe.Pointer(ptr)) + *(*int16)(unsafe.Pointer(ptr)) |= val + return r +} + +func X__atomic_fetch_orUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16) { + int16Mu.Lock() + + defer int16Mu.Unlock() + + r = *(*uint16)(unsafe.Pointer(ptr)) + *(*uint16)(unsafe.Pointer(ptr)) |= val + return r +} + +func X__atomic_fetch_orInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32) { + int32Mu.Lock() + + defer int32Mu.Unlock() + + r = *(*int32)(unsafe.Pointer(ptr)) + *(*int32)(unsafe.Pointer(ptr)) |= val + return r +} + +func X__atomic_fetch_orUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32) { + int32Mu.Lock() + + defer int32Mu.Unlock() + + r = *(*uint32)(unsafe.Pointer(ptr)) + *(*uint32)(unsafe.Pointer(ptr)) |= val + return r +} + +func X__atomic_fetch_orInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64) { + int64Mu.Lock() + + defer int64Mu.Unlock() + + r = *(*int64)(unsafe.Pointer(ptr)) + *(*int64)(unsafe.Pointer(ptr)) |= val + return r +} + +func X__atomic_fetch_orUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64) { + int64Mu.Lock() + + defer int64Mu.Unlock() + + r = *(*uint64)(unsafe.Pointer(ptr)) + *(*uint64)(unsafe.Pointer(ptr)) |= val + return r +} + +// ---- + +func X__atomic_fetch_subInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8) { + int8Mu.Lock() + + defer int8Mu.Unlock() + + r = *(*int8)(unsafe.Pointer(ptr)) + *(*int8)(unsafe.Pointer(ptr)) -= val + return r +} + +func X__atomic_fetch_subUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8) { + int8Mu.Lock() + + defer int8Mu.Unlock() + + r = *(*uint8)(unsafe.Pointer(ptr)) + *(*uint8)(unsafe.Pointer(ptr)) -= val + return r +} + +func X__atomic_fetch_subInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16) { + int16Mu.Lock() + + defer int16Mu.Unlock() + + r = *(*int16)(unsafe.Pointer(ptr)) + *(*int16)(unsafe.Pointer(ptr)) -= val + return r +} + +func X__atomic_fetch_subUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16) { + int16Mu.Lock() + + defer int16Mu.Unlock() + + r = *(*uint16)(unsafe.Pointer(ptr)) + *(*uint16)(unsafe.Pointer(ptr)) -= val + return r +} + +func X__atomic_fetch_subInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32) { + int32Mu.Lock() + + defer int32Mu.Unlock() + + r = *(*int32)(unsafe.Pointer(ptr)) + *(*int32)(unsafe.Pointer(ptr)) -= val + return r +} + +func X__atomic_fetch_subUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32) { + int32Mu.Lock() + + defer int32Mu.Unlock() + + r = *(*uint32)(unsafe.Pointer(ptr)) + *(*uint32)(unsafe.Pointer(ptr)) -= val + return r +} + +func X__atomic_fetch_subInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64) { + int64Mu.Lock() + + defer int64Mu.Unlock() + + r = *(*int64)(unsafe.Pointer(ptr)) + *(*int64)(unsafe.Pointer(ptr)) -= val + return r +} + +func X__atomic_fetch_subUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64) { + int64Mu.Lock() + + defer int64Mu.Unlock() + + r = *(*uint64)(unsafe.Pointer(ptr)) + *(*uint64)(unsafe.Pointer(ptr)) -= val + return r +} + +// ---- + +func X__atomic_fetch_xorInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8) { + int8Mu.Lock() + + defer int8Mu.Unlock() + + r = *(*int8)(unsafe.Pointer(ptr)) + *(*int8)(unsafe.Pointer(ptr)) ^= val + return r +} + +func X__atomic_fetch_xorUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8) { + int8Mu.Lock() + + defer int8Mu.Unlock() + + r = *(*uint8)(unsafe.Pointer(ptr)) + *(*uint8)(unsafe.Pointer(ptr)) ^= val + return r +} + +func X__atomic_fetch_xorInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16) { + int16Mu.Lock() + + defer int16Mu.Unlock() + + r = *(*int16)(unsafe.Pointer(ptr)) + *(*int16)(unsafe.Pointer(ptr)) ^= val + return r +} + +func X__atomic_fetch_xorUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16) { + int16Mu.Lock() + + defer int16Mu.Unlock() + + r = *(*uint16)(unsafe.Pointer(ptr)) + *(*uint16)(unsafe.Pointer(ptr)) ^= val + return r +} + +func X__atomic_fetch_xorInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32) { + int32Mu.Lock() + + defer int32Mu.Unlock() + + r = *(*int32)(unsafe.Pointer(ptr)) + *(*int32)(unsafe.Pointer(ptr)) ^= val + return r +} + +func X__atomic_fetch_xorUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32) { + int32Mu.Lock() + + defer int32Mu.Unlock() + + r = *(*uint32)(unsafe.Pointer(ptr)) + *(*uint32)(unsafe.Pointer(ptr)) ^= val + return r +} + +func X__atomic_fetch_xorInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64) { + int64Mu.Lock() + + defer int64Mu.Unlock() + + r = *(*int64)(unsafe.Pointer(ptr)) + *(*int64)(unsafe.Pointer(ptr)) ^= val + return r +} + +func X__atomic_fetch_xorUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64) { + int64Mu.Lock() + + defer int64Mu.Unlock() + + r = *(*uint64)(unsafe.Pointer(ptr)) + *(*uint64)(unsafe.Pointer(ptr)) ^= val + return r +} + +// ---- + +// void __atomic_exchange (type *ptr, type *val, type *ret, int memorder) + +func X__atomic_exchangeInt8(t *TLS, ptr, val, ret uintptr, _ int32) { + int8Mu.Lock() + + defer int8Mu.Unlock() + + *(*int8)(unsafe.Pointer(ret)) = *(*int8)(unsafe.Pointer(ptr)) + *(*int8)(unsafe.Pointer(ptr)) = *(*int8)(unsafe.Pointer(val)) +} + +func X__atomic_exchangeUint8(t *TLS, ptr, val, ret uintptr, _ int32) { + int8Mu.Lock() + + defer int8Mu.Unlock() + + *(*uint8)(unsafe.Pointer(ret)) = *(*uint8)(unsafe.Pointer(ptr)) + *(*uint8)(unsafe.Pointer(ptr)) = *(*uint8)(unsafe.Pointer(val)) +} + +func X__atomic_exchangeInt16(t *TLS, ptr, val, ret uintptr, _ int32) { + int16Mu.Lock() + + defer int16Mu.Unlock() + + *(*int16)(unsafe.Pointer(ret)) = *(*int16)(unsafe.Pointer(ptr)) + *(*int16)(unsafe.Pointer(ptr)) = *(*int16)(unsafe.Pointer(val)) +} + +func X__atomic_exchangeUint16(t *TLS, ptr, val, ret uintptr, _ int32) { + int16Mu.Lock() + + defer int16Mu.Unlock() + + *(*uint16)(unsafe.Pointer(ret)) = *(*uint16)(unsafe.Pointer(ptr)) + *(*uint16)(unsafe.Pointer(ptr)) = *(*uint16)(unsafe.Pointer(val)) +} + +func X__atomic_exchangeInt32(t *TLS, ptr, val, ret uintptr, _ int32) { + int32Mu.Lock() + + defer int32Mu.Unlock() + + *(*int32)(unsafe.Pointer(ret)) = *(*int32)(unsafe.Pointer(ptr)) + *(*int32)(unsafe.Pointer(ptr)) = *(*int32)(unsafe.Pointer(val)) +} + +func X__atomic_exchangeUint32(t *TLS, ptr, val, ret uintptr, _ int32) { + int32Mu.Lock() + + defer int32Mu.Unlock() + + *(*uint32)(unsafe.Pointer(ret)) = *(*uint32)(unsafe.Pointer(ptr)) + *(*uint32)(unsafe.Pointer(ptr)) = *(*uint32)(unsafe.Pointer(val)) +} + +func X__atomic_exchangeInt64(t *TLS, ptr, val, ret uintptr, _ int32) { + int64Mu.Lock() + + defer int64Mu.Unlock() + + *(*int64)(unsafe.Pointer(ret)) = *(*int64)(unsafe.Pointer(ptr)) + *(*int64)(unsafe.Pointer(ptr)) = *(*int64)(unsafe.Pointer(val)) +} + +func X__atomic_exchangeUint64(t *TLS, ptr, val, ret uintptr, _ int32) { + int64Mu.Lock() + + defer int64Mu.Unlock() + + *(*uint64)(unsafe.Pointer(ret)) = *(*uint64)(unsafe.Pointer(ptr)) + *(*uint64)(unsafe.Pointer(ptr)) = *(*uint64)(unsafe.Pointer(val)) +} + +// ---- + +// bool __atomic_compare_exchange (type *ptr, type *expected, type *desired, bool weak, int success_memorder, int failure_memorder) + +// https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html +// +// This built-in function implements an atomic compare and exchange operation. +// This compares the contents of *ptr with the contents of *expected. If equal, +// the operation is a read-modify-write operation that writes desired into +// *ptr. If they are not equal, the operation is a read and the current +// contents of *ptr are written into *expected. weak is true for weak +// compare_exchange, which may fail spuriously, and false for the strong +// variation, which never fails spuriously. Many targets only offer the strong +// variation and ignore the parameter. When in doubt, use the strong variation. +// +// If desired is written into *ptr then true is returned and memory is affected +// according to the memory order specified by success_memorder. There are no +// restrictions on what memory order can be used here. +// +// Otherwise, false is returned and memory is affected according to +// failure_memorder. This memory order cannot be __ATOMIC_RELEASE nor +// __ATOMIC_ACQ_REL. It also cannot be a stronger order than that specified by +// success_memorder. + +func X__atomic_compare_exchangeInt8(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) int32 { + int8Mu.Lock() + + defer int8Mu.Unlock() + + have := *(*int8)(unsafe.Pointer(ptr)) + if have == *(*int8)(unsafe.Pointer(expected)) { + *(*int8)(unsafe.Pointer(ptr)) = *(*int8)(unsafe.Pointer(desired)) + return 1 + } + + *(*int8)(unsafe.Pointer(expected)) = have + return 0 +} + +func X__atomic_compare_exchangeUint8(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) int32 { + return X__atomic_compare_exchangeInt8(t, ptr, expected, desired, weak, success, failure) +} + +func X__atomic_compare_exchangeInt16(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) int32 { + int16Mu.Lock() + + defer int16Mu.Unlock() + + have := *(*int16)(unsafe.Pointer(ptr)) + if have == *(*int16)(unsafe.Pointer(expected)) { + *(*int16)(unsafe.Pointer(ptr)) = *(*int16)(unsafe.Pointer(desired)) + return 1 + } + + *(*int16)(unsafe.Pointer(expected)) = have + return 0 +} + +func X__atomic_compare_exchangeUint16(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) int32 { + return X__atomic_compare_exchangeInt16(t, ptr, expected, desired, weak, success, failure) +} + +func X__atomic_compare_exchangeInt32(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) int32 { + int32Mu.Lock() + + defer int32Mu.Unlock() + + have := *(*int32)(unsafe.Pointer(ptr)) + if have == *(*int32)(unsafe.Pointer(expected)) { + *(*int32)(unsafe.Pointer(ptr)) = *(*int32)(unsafe.Pointer(desired)) + return 1 + } + + *(*int32)(unsafe.Pointer(expected)) = have + return 0 +} + +func X__atomic_compare_exchangeUint32(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) int32 { + return X__atomic_compare_exchangeInt32(t, ptr, expected, desired, weak, success, failure) +} + +func X__atomic_compare_exchangeInt64(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) int32 { + int64Mu.Lock() + + defer int64Mu.Unlock() + + have := *(*int64)(unsafe.Pointer(ptr)) + if have == *(*int64)(unsafe.Pointer(expected)) { + *(*int64)(unsafe.Pointer(ptr)) = *(*int64)(unsafe.Pointer(desired)) + return 1 + } + + *(*int64)(unsafe.Pointer(expected)) = have + return 0 +} + +func X__atomic_compare_exchangeUint64(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) int32 { + return X__atomic_compare_exchangeInt64(t, ptr, expected, desired, weak, success, failure) +} + +// ---- + +// void __atomic_load (type *ptr, type *ret, int memorder) + +func X__atomic_loadInt8(t *TLS, ptr, ret uintptr, memorder int32) { + int8Mu.Lock() + + defer int8Mu.Unlock() + + *(*int8)(unsafe.Pointer(ret)) = *(*int8)(unsafe.Pointer(ptr)) +} + +func X__atomic_loadUint8(t *TLS, ptr, ret uintptr, memorder int32) { + X__atomic_loadInt8(t, ptr, ret, memorder) +} + +func X__atomic_loadInt16(t *TLS, ptr, ret uintptr, memorder int32) { + int16Mu.Lock() + + defer int16Mu.Unlock() + + *(*int16)(unsafe.Pointer(ret)) = *(*int16)(unsafe.Pointer(ptr)) +} + +func X__atomic_loadUint16(t *TLS, ptr, ret uintptr, memorder int32) { + X__atomic_loadInt16(t, ptr, ret, memorder) +} + +func X__atomic_loadInt32(t *TLS, ptr, ret uintptr, memorder int32) { + int32Mu.Lock() + + defer int32Mu.Unlock() + + *(*int32)(unsafe.Pointer(ret)) = *(*int32)(unsafe.Pointer(ptr)) +} + +func X__atomic_loadUint32(t *TLS, ptr, ret uintptr, memorder int32) { + X__atomic_loadInt32(t, ptr, ret, memorder) +} + +func X__atomic_loadInt64(t *TLS, ptr, ret uintptr, memorder int32) { + int64Mu.Lock() + + defer int64Mu.Unlock() + + *(*int64)(unsafe.Pointer(ret)) = *(*int64)(unsafe.Pointer(ptr)) +} + +func X__atomic_loadUint64(t *TLS, ptr, ret uintptr, memorder int32) { + X__atomic_loadInt64(t, ptr, ret, memorder) +} + +// ---- + +// void __atomic_store (type *ptr, type *val, int memorder) + +func X__atomic_storeInt8(t *TLS, ptr, val uintptr, memorder int32) { + int8Mu.Lock() + + defer int8Mu.Unlock() + + *(*int8)(unsafe.Pointer(ptr)) = *(*int8)(unsafe.Pointer(val)) +} + +func X__atomic_storeUint8(t *TLS, ptr, val uintptr, memorder int32) { + X__atomic_storeInt8(t, ptr, val, memorder) +} + +func X__atomic_storeInt16(t *TLS, ptr, val uintptr, memorder int32) { + int16Mu.Lock() + + defer int16Mu.Unlock() + + *(*int16)(unsafe.Pointer(ptr)) = *(*int16)(unsafe.Pointer(val)) +} + +func X__atomic_storeUint16(t *TLS, ptr, val uintptr, memorder int32) { + X__atomic_storeInt16(t, ptr, val, memorder) +} + +func X__atomic_storeInt32(t *TLS, ptr, val uintptr, memorder int32) { + int32Mu.Lock() + + defer int32Mu.Unlock() + + *(*int32)(unsafe.Pointer(ptr)) = *(*int32)(unsafe.Pointer(val)) +} + +func X__atomic_storeUint32(t *TLS, ptr, val uintptr, memorder int32) { + X__atomic_storeInt32(t, ptr, val, memorder) +} + +func X__atomic_storeInt64(t *TLS, ptr, val uintptr, memorder int32) { + int64Mu.Lock() + + defer int64Mu.Unlock() + + *(*int64)(unsafe.Pointer(ptr)) = *(*int64)(unsafe.Pointer(val)) +} + +func X__atomic_storeUint64(t *TLS, ptr, val uintptr, memorder int32) { + X__atomic_storeInt64(t, ptr, val, memorder) +} diff --git a/vendor/modernc.org/sqlite/doc.go b/vendor/modernc.org/sqlite/doc.go index 1d86720173..a9158d7194 100644 --- a/vendor/modernc.org/sqlite/doc.go +++ b/vendor/modernc.org/sqlite/doc.go @@ -19,20 +19,20 @@ // // OS Arch SQLite version // ------------------------------ -// darwin amd64 3.45.3 -// darwin arm64 3.45.3 -// freebsd amd64 3.45.3 -// freebsd arm64 3.45.3 -// linux 386 3.45.3 -// linux amd64 3.45.3 -// linux arm 3.45.3 -// linux arm64 3.45.3 -// linux loong64 3.45.3 -// linux ppc64le 3.45.3 -// linux riscv64 3.45.3 -// linux s390x 3.45.3 -// windows amd64 3.45.3 -// windows arm64 3.45.3 +// darwin amd64 3.46.0 +// darwin arm64 3.46.0 +// freebsd amd64 3.46.0 +// freebsd arm64 3.46.0 +// linux 386 3.46.0 +// linux amd64 3.46.0 +// linux arm 3.46.0 +// linux arm64 3.46.0 +// linux loong64 3.46.0 +// linux ppc64le 3.46.0 +// linux riscv64 3.46.0 +// linux s390x 3.46.0 +// windows amd64 3.46.0 +// windows arm64 3.46.0 // // # Builders // @@ -50,6 +50,10 @@ // // # Changelog // +// 2024-06-04: v1.30.0 +// +// Upgrade to SQLite 3.46.0, release notes at https://sqlite.org/releaselog/3_46_0.html. +// // 2024-02-13: v1.29.0 // // Upgrade to SQLite 3.45.1, release notes at https://sqlite.org/releaselog/3_45_1.html. diff --git a/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go index 92e794af35..827d9b06db 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go @@ -1,4 +1,4 @@ -// Code generated for darwin/amd64 by 'generator -mlong-double-64 --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -extended-errors -o sqlite3.go sqlite3.c -I/tmp/libsqlite3/sqlite-amalgamation-3450300/ccgo -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. +// Code generated for darwin/amd64 by 'generator -mlong-double-64 --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -I /Users/jnml/src/modernc.org/builder/.exclude/modernc.org/libz/include/darwin/amd64 -I /Users/jnml/src/modernc.org/builder/.exclude/modernc.org/libtcl8.6/include/darwin/amd64 -extended-errors -o sqlite3.go sqlite3.c -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. //go:build darwin && amd64 // +build darwin,amd64 @@ -1443,6 +1443,7 @@ const OPFLG_IN1 = 2 const OPFLG_IN2 = 4 const OPFLG_IN3 = 8 const OPFLG_JUMP = 1 +const OPFLG_JUMP0 = 128 const OPFLG_NCYCLE = 64 const OPFLG_OUT2 = 16 const OPFLG_OUT3 = 32 @@ -1520,7 +1521,7 @@ const OP_IfNotOpen = 25 const OP_IfNotZero = 60 const OP_IfNullRow = 20 const OP_IfPos = 59 -const OP_IfSmaller = 33 +const OP_IfSizeBetween = 33 const OP_IncrVacuum = 62 const OP_Init = 8 const OP_InitCoroutine = 11 @@ -2019,6 +2020,7 @@ const SF_ComplexResult = 262144 const SF_Compound = 256 const SF_Converted = 65536 const SF_CopyCte = 67108864 +const SF_Correlated = 536870912 const SF_DATALESS = 1073741824 const SF_Distinct = 1 const SF_Expanded = 64 @@ -2286,6 +2288,7 @@ const SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT = -1 const SQLITE_DEFAULT_LOOKASIDE = 40 const SQLITE_DEFAULT_MEMSTATUS = 0 const SQLITE_DEFAULT_MMAP_SIZE = 0 +const SQLITE_DEFAULT_OPTIMIZE_LIMIT = 2000 const SQLITE_DEFAULT_PAGE_SIZE = 4096 const SQLITE_DEFAULT_PCACHE_INITSZ = 20 const SQLITE_DEFAULT_PROXYDIR_PERMISSIONS = 493 @@ -2303,6 +2306,7 @@ const SQLITE_DESERIALIZE_READONLY = 4 const SQLITE_DESERIALIZE_RESIZEABLE = 2 const SQLITE_DETACH = 25 const SQLITE_DETERMINISTIC = 2048 +const SQLITE_DIGIT_SEPARATOR = 95 const SQLITE_DIRECTONLY = 524288 const SQLITE_DIRECT_OVERFLOW_READ = 1 const SQLITE_DONE = 101 @@ -2727,7 +2731,7 @@ const SQLITE_SHM_SHARED = 4 const SQLITE_SHM_UNLOCK = 1 const SQLITE_SORTER_PMASZ = 250 const SQLITE_SOUNDEX = 1 -const SQLITE_SOURCE_ID = "2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355" +const SQLITE_SOURCE_ID = "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e" const SQLITE_SO_ASC = 0 const SQLITE_SO_DESC = 1 const SQLITE_SO_UNDEFINED = -1 @@ -2835,8 +2839,8 @@ const SQLITE_UTF16LE = 2 const SQLITE_UTF16NATIVE = 2 const SQLITE_UTF16_ALIGNED = 8 const SQLITE_UTF8 = 1 -const SQLITE_VERSION = "3.45.3" -const SQLITE_VERSION_NUMBER = 3045003 +const SQLITE_VERSION = "3.46.0" +const SQLITE_VERSION_NUMBER = 3046000 const SQLITE_VTABRISK_High = 2 const SQLITE_VTABRISK_Low = 0 const SQLITE_VTABRISK_Normal = 1 @@ -2989,11 +2993,11 @@ const TF_HasStat1 = 16 const TF_HasStat4 = 8192 const TF_HasStored = 64 const TF_HasVirtual = 32 +const TF_MaybeReanalyze = 256 const TF_NoVisibleRowid = 512 const TF_OOOHidden = 1024 const TF_Readonly = 1 const TF_Shadow = 4096 -const TF_StatsUsed = 256 const TF_Strict = 65536 const TF_WithoutRowid = 128 const TIME_UTC = 1 @@ -3099,7 +3103,7 @@ const TK_ID = 59 const TK_IF = 18 const TK_IF_NULL_ROW = 179 const TK_IGNORE = 63 -const TK_ILLEGAL = 184 +const TK_ILLEGAL = 185 const TK_IMMEDIATE = 8 const TK_IN = 49 const TK_INDEX = 161 @@ -3147,6 +3151,7 @@ const TK_PRAGMA = 70 const TK_PRECEDING = 88 const TK_PRIMARY = 122 const TK_PTR = 112 +const TK_QNUMBER = 183 const TK_QUERY = 3 const TK_RAISE = 71 const TK_RANGE = 89 @@ -3171,7 +3176,7 @@ const TK_SELECT_COLUMN = 178 const TK_SEMI = 1 const TK_SET = 130 const TK_SLASH = 109 -const TK_SPACE = 183 +const TK_SPACE = 184 const TK_SPAN = 181 const TK_STAR = 108 const TK_STRING = 117 @@ -3184,12 +3189,12 @@ const TK_TRANSACTION = 6 const TK_TRIGGER = 77 const TK_TRUEFALSE = 170 const TK_TRUTH = 175 -const TK_UMINUS = 173 +const TK_UMINUS = 174 const TK_UNBOUNDED = 90 const TK_UNION = 134 const TK_UNIQUE = 123 const TK_UPDATE = 129 -const TK_UPLUS = 174 +const TK_UPLUS = 173 const TK_USING = 144 const TK_VACUUM = 78 const TK_VALUES = 139 @@ -3472,31 +3477,37 @@ const XN_ROWID = -1 const XUCRED_VERSION = 0 const X_OK = 1 const X_TLOSS = 0 +const YYDYNSTACK = 1 const YYFALLBACK = 1 +const YYFREE = 0 +const YYGROWABLESTACK = 1 const YYMALLOCARGTYPE = 0 -const YYNOCODE = 319 +const YYNOCODE = 322 const YYNOERRORRECOVERY = 1 -const YYNRULE = 405 -const YYNRULE_WITH_ACTION = 340 -const YYNSTATE = 579 -const YYNTOKEN = 185 +const YYNRULE = 409 +const YYNRULE_WITH_ACTION = 344 +const YYNSTATE = 583 +const YYNTOKEN = 186 const YYPARSEFREENEVERNULL = 1 +const YYREALLOC = 0 const YYSTACKDEPTH = 100 const YYWILDCARD = 101 -const YY_ACCEPT_ACTION = 1244 -const YY_ACTTAB_COUNT = 2100 -const YY_ERROR_ACTION = 1243 -const YY_MAX_REDUCE = 1650 -const YY_MAX_SHIFT = 578 -const YY_MAX_SHIFTREDUCE = 1242 -const YY_MIN_REDUCE = 1246 -const YY_MIN_SHIFTREDUCE = 838 -const YY_NO_ACTION = 1245 -const YY_REDUCE_COUNT = 410 -const YY_REDUCE_MAX = 1753 -const YY_REDUCE_MIN = -271 -const YY_SHIFT_COUNT = 578 -const YY_SHIFT_MAX = 2088 +const YY_ACCEPT_ACTION = 1255 +const YY_ACTTAB_COUNT = 2142 +const YY_ERROR_ACTION = 1254 +const YY_MAX_DSTRCTR = 319 +const YY_MAX_REDUCE = 1665 +const YY_MAX_SHIFT = 582 +const YY_MAX_SHIFTREDUCE = 1253 +const YY_MIN_DSTRCTR = 205 +const YY_MIN_REDUCE = 1257 +const YY_MIN_SHIFTREDUCE = 845 +const YY_NO_ACTION = 1256 +const YY_REDUCE_COUNT = 411 +const YY_REDUCE_MAX = 1798 +const YY_REDUCE_MIN = -275 +const YY_SHIFT_COUNT = 582 +const YY_SHIFT_MAX = 2128 const YY_SHIFT_MIN = 0 const _ACCESS_EXTENDED_MASK = 4193792 const _APPEND_OK = 8192 @@ -4550,6 +4561,9 @@ const fdatasync = 0 const first_valueInvFunc = 0 const first_valueValueFunc = 0 const fts5GetVarint = 0 +const fts5YYDYNSTACK = 0 +const fts5YYFREE = 0 +const fts5YYGROWABLESTACK = 0 const fts5YYMALLOCARGTYPE = 0 const fts5YYNFTS5TOKEN = 16 const fts5YYNOCODE = 27 @@ -4558,13 +4572,16 @@ const fts5YYNRULE = 28 const fts5YYNRULE_WITH_ACTION = 28 const fts5YYNSTATE = 35 const fts5YYPARSEFREENOTNULL = 1 +const fts5YYREALLOC = 0 const fts5YYSTACKDEPTH = 100 const fts5YY_ACCEPT_ACTION = 81 const fts5YY_ACTTAB_COUNT = 105 const fts5YY_ERROR_ACTION = 80 +const fts5YY_MAX_DSTRCTR = 24 const fts5YY_MAX_REDUCE = 110 const fts5YY_MAX_SHIFT = 34 const fts5YY_MAX_SHIFTREDUCE = 79 +const fts5YY_MIN_DSTRCTR = 16 const fts5YY_MIN_REDUCE = 83 const fts5YY_MIN_SHIFTREDUCE = 52 const fts5YY_NO_ACTION = 82 @@ -4992,11 +5009,11 @@ type sqlite3_file1 = Tsqlite3_file1 // ** // ** xLock() upgrades the database file lock. In other words, xLock() moves the // ** database file lock in the direction NONE toward EXCLUSIVE. The argument to -// ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never +// ** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never // ** SQLITE_LOCK_NONE. If the database file lock is already at or above the // ** requested lock, then the call to xLock() is a no-op. // ** xUnlock() downgrades the database file lock to either SHARED or NONE. -// * If the lock is already at or below the requested lock state, then the call +// ** If the lock is already at or below the requested lock state, then the call // ** to xUnlock() is a no-op. // ** The xCheckReservedLock() method checks whether any database connection, // ** either in this process or in some other process, is holding a RESERVED, @@ -6776,6 +6793,7 @@ type Tsqlite3_changegroup = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -7102,8 +7120,8 @@ type Fts5PhraseIter1 = TFts5PhraseIter1 ** EXTENSION API FUNCTIONS ** ** xUserData(pFts): -** Return a copy of the context pointer the extension function was -** registered with. +** Return a copy of the pUserData pointer passed to the xCreateFunction() +** API when the extension function was registered. ** ** xColumnTotalSize(pFts, iCol, pnToken): ** If parameter iCol is less than zero, set output variable *pnToken @@ -9630,7 +9648,7 @@ type uptr = Tuptr ** 0x00000010 Display sqlite3_index_info xBestIndex calls ** 0x00000020 Range an equality scan metrics ** 0x00000040 IN operator decisions -** 0x00000080 WhereLoop cost adjustements +** 0x00000080 WhereLoop cost adjustments ** 0x00000100 ** 0x00000200 Covering index decisions ** 0x00000400 OR optimization @@ -10142,6 +10160,7 @@ type TParse = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -10361,6 +10380,7 @@ type TSrcItem = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -12637,10 +12657,12 @@ type IdList1 = TIdList1 ** ** Union member validity: ** -** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc -** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy -** u2.pIBIndex fg.isIndexedBy && !fg.isCte -** u2.pCteUse fg.isCte && !fg.isIndexedBy +** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc +** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy +** u1.nRow !fg.isTabFunc && !fg.isIndexedBy +** +** u2.pIBIndex fg.isIndexedBy && !fg.isCte +** u2.pCteUse fg.isCte && !fg.isIndexedBy */ type TSrcItem1 = struct { FpSchema uintptr @@ -12666,6 +12688,7 @@ type TSrcItem1 = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -13069,6 +13092,7 @@ type TParse1 = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -14431,12 +14455,12 @@ var _sqlite3WhereTrace = uint32(0) var _sqlite3OpcodeProperty = [190]uint8{ 4: uint8(0x10), 6: uint8(0x41), - 8: uint8(0x01), + 8: uint8(0x81), 9: uint8(0x01), 10: uint8(0x01), - 11: uint8(0x01), - 12: uint8(0x03), - 13: uint8(0x03), + 11: uint8(0x81), + 12: uint8(0x83), + 13: uint8(0x83), 14: uint8(0x01), 15: uint8(0x01), 16: uint8(0x03), @@ -14444,22 +14468,22 @@ var _sqlite3OpcodeProperty = [190]uint8{ 18: uint8(0x01), 19: uint8(0x12), 20: uint8(0x01), - 21: uint8(0x49), - 22: uint8(0x49), - 23: uint8(0x49), - 24: uint8(0x49), + 21: uint8(0xc9), + 22: uint8(0xc9), + 23: uint8(0xc9), + 24: uint8(0xc9), 25: uint8(0x01), 26: uint8(0x49), 27: uint8(0x49), 28: uint8(0x49), 29: uint8(0x49), - 30: uint8(0x49), + 30: uint8(0xc9), 31: uint8(0x49), - 32: uint8(0x41), + 32: uint8(0xc1), 33: uint8(0x01), 34: uint8(0x41), 35: uint8(0x41), - 36: uint8(0x41), + 36: uint8(0xc1), 37: uint8(0x01), 38: uint8(0x41), 39: uint8(0x41), @@ -14471,7 +14495,7 @@ var _sqlite3OpcodeProperty = [190]uint8{ 45: uint8(0x41), 46: uint8(0x23), 47: uint8(0x0b), - 48: uint8(0x01), + 48: uint8(0x81), 49: uint8(0x01), 50: uint8(0x03), 51: uint8(0x03), @@ -15326,7 +15350,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin var pMutex, v1 uintptr _, _ = pMutex, v1 if op < 0 || op >= int32(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) { - return _sqlite3MisuseError(tls, int32(23890)) + return _sqlite3MisuseError(tls, int32(23961)) } if _statMutex[op] != 0 { v1 = _sqlite3Pcache1Mutex(tls) @@ -15668,43 +15692,37 @@ const __CLOCK_THREAD_CPUTIME_ID = 16 // ** A structure for holding a single date and time. // */ type TDateTime = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - FuseSubsec int8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FvalidYMD int8 + FvalidHMS int8 + FnFloor int8 + F__ccgo44 uint8 } type DateTime = TDateTime type TDateTime1 = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - FuseSubsec int8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FvalidYMD int8 + FvalidHMS int8 + FnFloor int8 + F__ccgo44 uint8 } type DateTime1 = TDateTime1 @@ -15830,6 +15848,8 @@ func _parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { } else { if c == int32('Z') || c == int32('z') { zDate++ + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) goto zulu_time } else { return libc.BoolInt32(c != 0) @@ -15848,7 +15868,6 @@ zulu_time: for int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate)))])&int32(0x01) != 0 { zDate++ } - (*TDateTime)(unsafe.Pointer(p)).FtzSet = int8(1) return libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zDate))) != 0) } @@ -15865,11 +15884,10 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var ms, rScale float64 - var v1 int32 var _ /* h at bp+0 */ int32 var _ /* m at bp+4 */ int32 var _ /* s at bp+8 */ int32 - _, _, _ = ms, rScale, v1 + _, _ = ms, rScale ms = float64(0) if _getDigits(tls, zDate, __ccgo_ts+1164, libc.VaList(bp+24, bp, bp+4)) != int32(2) { return int32(1) @@ -15895,7 +15913,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { *(*int32)(unsafe.Pointer(bp + 8)) = 0 } (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) (*TDateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp)) (*TDateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 4)) @@ -15903,12 +15921,6 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { if _parseTimezone(tls, zDate, p) != 0 { return int32(1) } - if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { - v1 = int32(1) - } else { - v1 = 0 - } - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = int8(v1) return 0 } @@ -15919,7 +15931,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { // */ func _datetimeError(tls *libc.TLS, p uintptr) { libc.X__builtin___memset_chk(tls, p, 0, uint64(48), libc.X__builtin_object_size(tls, p, 0)) - (*TDateTime)(unsafe.Pointer(p)).FisError = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 1, 0x2) } // C documentation @@ -15945,7 +15957,7 @@ func _computeJD(tls *libc.TLS, p uintptr) { M = int32(1) D = int32(1) } - if Y < -int32(4713) || Y > int32(9999) || (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Y < -int32(4713) || Y > int32(9999) || int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { _datetimeError(tls, p) return } @@ -15961,11 +15973,41 @@ func _computeJD(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) if (*TDateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) += int64((*TDateTime)(unsafe.Pointer(p)).Fh*int32(3600000)+(*TDateTime)(unsafe.Pointer(p)).Fm*int32(60000)) + int64((*TDateTime)(unsafe.Pointer(p)).Fs*libc.Float64FromInt32(1000)+libc.Float64FromFloat64(0.5)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64((*TDateTime)(unsafe.Pointer(p)).Ftz * int32(60000)) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + } + } +} + +// C documentation +// +// /* +// ** Given the YYYY-MM-DD information current in p, determine if there +// ** is day-of-month overflow and set nFloor to the number of days that +// ** would need to be subtracted from the date in order to bring the +// ** date back to the end of the month. +// */ +func _computeFloor(tls *libc.TLS, p uintptr) { + if (*TDateTime)(unsafe.Pointer(p)).FD <= int32(28) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } else { + if int32(1)<<(*TDateTime)(unsafe.Pointer(p)).FM&int32(0x15aa) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } else { + if (*TDateTime)(unsafe.Pointer(p)).FM != int32(2) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = libc.BoolInt8((*TDateTime)(unsafe.Pointer(p)).FD == libc.Int32FromInt32(31)) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FY%int32(4) != 0 || (*TDateTime)(unsafe.Pointer(p)).FY%int32(100) == 0 && (*TDateTime)(unsafe.Pointer(p)).FY%int32(400) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = int8((*TDateTime)(unsafe.Pointer(p)).FD - int32(28)) + } else { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = int8((*TDateTime)(unsafe.Pointer(p)).FD - int32(29)) + } + } } } } @@ -16024,12 +16066,15 @@ func _parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FY = v1 (*TDateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 4)) (*TDateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 8)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + _computeFloor(tls, p) + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { _computeJD(tls, p) } return 0 } +/* Forward declaration */ + // C documentation // // /* @@ -16041,6 +16086,9 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) (*TDateTime)(unsafe.Pointer(p)).FiJD = _sqlite3StmtCurrentTime(tls, context) if (*TDateTime)(unsafe.Pointer(p)).FiJD > 0 { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + _clearYMD_HMS_TZ(tls, p) return 0 } else { return int32(1) @@ -16058,7 +16106,7 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) // */ func _setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { (*TDateTime)(unsafe.Pointer(p)).Fs = r - (*TDateTime)(unsafe.Pointer(p)).FrawS = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 0, 0x1) if r >= float64(0) && r < float64(5.3734845e+06) { (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r*libc.Float64FromFloat64(8.64e+07) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) @@ -16101,7 +16149,7 @@ func _parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) return 0 } else { if (_sqlite3StrICmp(tls, zDate, __ccgo_ts+1192) == 0 || _sqlite3StrICmp(tls, zDate, __ccgo_ts+1199) == 0) && _sqlite3NotPureFunc(tls, context) != 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) return _setDateTimeToCurrent(tls, context, p) } } @@ -16193,7 +16241,7 @@ func _computeHMS(tls *libc.TLS, p uintptr) { day_min = day_ms / int32(60000) (*TDateTime)(unsafe.Pointer(p)).Fm = day_min % int32(60) (*TDateTime)(unsafe.Pointer(p)).Fh = day_min / int32(60) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) } @@ -16215,7 +16263,7 @@ func _computeYMD_HMS(tls *libc.TLS, p uintptr) { func _clearYMD_HMS_TZ(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 } /* @@ -16316,9 +16364,9 @@ func _toLocaltime(tls *libc.TLS, p uintptr, pCtx uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = int8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 - (*TDateTime)(unsafe.Pointer(p)).FisError = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 1, 0x2) return SQLITE_OK } @@ -16366,13 +16414,13 @@ var _aXformType = [6]struct { FnName: uint8(5), FzName: [7]int8{'m', 'o', 'n', 't', 'h'}, FrLimit: float32(176546), - FrXform: float32(2.592e+06), + FrXform: float32(libc.Float64FromFloat64(30) * libc.Float64FromFloat64(86400)), }, 5: { FnName: uint8(4), FzName: [7]int8{'y', 'e', 'a', 'r'}, FrLimit: float32(14713), - FrXform: float32(3.1536e+07), + FrXform: float32(libc.Float64FromFloat64(365) * libc.Float64FromFloat64(86400)), }, } @@ -16386,15 +16434,15 @@ var _aXformType = [6]struct { func _autoAdjustDate(tls *libc.TLS, p uintptr) { var r float64 _ = r - if !((*TDateTime)(unsafe.Pointer(p)).FrawS != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + if !(int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } else { if (*TDateTime)(unsafe.Pointer(p)).Fs >= float64(int64(-libc.Int32FromInt32(21086676))*libc.Int64FromInt32(10000)) && (*TDateTime)(unsafe.Pointer(p)).Fs <= float64(libc.Int64FromInt32(25340230)*libc.Int64FromInt32(10000)+libc.Int64FromInt32(799)) { r = (*TDateTime)(unsafe.Pointer(p)).Fs*float64(1000) + float64(2.1086676e+14) _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } } @@ -16411,14 +16459,20 @@ func _autoAdjustDate(tls *libc.TLS, p uintptr) { // ** NNN.NNNN seconds // ** NNN months // ** NNN years +// ** +/-YYYY-MM-DD HH:MM:SS.SSS +// ** ceiling +// ** floor // ** start of month // ** start of year // ** start of week // ** start of day // ** weekday N // ** unixepoch +// ** auto // ** localtime // ** utc +// ** subsec +// ** subsecond // ** // ** Return 0 on success and 1 if there is any kind of error. If the error // ** is in a system call (i.e. localtime()), then an error message is written @@ -16429,12 +16483,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, bp := tls.Alloc(160) defer tls.Free(160) var Z, day Tsqlite3_int64 - var cnt, i, rc, x, y, v12, v2, v5, v7, v9 int32 - var iErr, iGuess, iOrigJD, v1 Ti64 - var rRounder, v10 float64 + var cnt, i, rc, x, y, v1, v10, v13, v3, v6, v8 int32 + var iErr, iGuess, iOrigJD, v2 Ti64 + var rRounder, v11 float64 var z0 int8 var z2 uintptr - var v3, v6 bool + var v4, v7 bool var _ /* D at bp+64 */ int32 var _ /* M at bp+60 */ int32 var _ /* Y at bp+56 */ int32 @@ -16443,7 +16497,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, var _ /* new at bp+8 */ TDateTime var _ /* r at bp+0 */ float64 var _ /* tx at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v12, v2, v3, v5, v6, v7, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v11, v13, v2, v3, v4, v6, v7, v8 rc = int32(1) switch int32(_sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z)))]) { case int32('a'): @@ -16460,6 +16514,33 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _autoAdjustDate(tls, p) rc = 0 } + case int32('c'): + /* + ** ceiling + ** + ** Resolve day-of-month overflow by rolling forward into the next + ** month. As this is the default action, this modifier is really + ** a no-op that is only included for symmetry. See "floor". + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1237) == 0 { + _computeJD(tls, p) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } + case int32('f'): + /* + ** floor + ** + ** Resolve day-of-month overflow by rolling back to the end of the + ** previous month. + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1245) == 0 { + _computeJD(tls, p) + *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64(int32((*TDateTime)(unsafe.Pointer(p)).FnFloor) * int32(86400000)) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + } case int32('j'): /* ** julianday @@ -16469,13 +16550,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** value in the allowed range of julian day numbers understood by ** SQLite (0..5373484.5) then the result will be NULL. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1237) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1251) == 0 { if idx > int32(1) { return int32(1) } /* IMP: R-31176-64601 */ - if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { rc = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } case int32('l'): @@ -16484,8 +16565,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Assuming the current time value is UTC (a.k.a. GMT), shift it to ** show local time. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1247) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - rc = _toLocaltime(tls, p, pCtx) + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1261) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x10>>4)) != 0 { + v1 = SQLITE_OK + } else { + v1 = _toLocaltime(tls, p, pCtx) + } + rc = v1 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 4, 0x10) } case int32('u'): /* @@ -16494,7 +16582,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Treat the current value of p->s as the number of ** seconds since 1970. Convert to a real julian day number. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1257) == 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1271) == 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { if idx > int32(1) { return int32(1) } /* IMP: R-49255-55373 */ @@ -16503,17 +16591,17 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(*(*float64)(unsafe.Pointer(bp)) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) rc = 0 } } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1267) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - if int32((*TDateTime)(unsafe.Pointer(p)).FtzSet) == 0 { /* Guess at the corresponding utc time */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1281) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x8>>3)) == 0 { /* Guess at the corresponding utc time */ cnt = 0 /* Guess is off by this much */ _computeJD(tls, p) - v1 = (*TDateTime)(unsafe.Pointer(p)).FiJD - iOrigJD = v1 - iGuess = v1 + v2 = (*TDateTime)(unsafe.Pointer(p)).FiJD + iOrigJD = v2 + iGuess = v2 iErr = 0 for { libc.X__builtin___memset_chk(tls, bp+8, 0, uint64(48), libc.X__builtin_object_size(tls, bp+8, 0)) @@ -16526,21 +16614,22 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, bp+8) iErr = (*(*TDateTime)(unsafe.Pointer(bp + 8))).FiJD - iOrigJD - goto _4 - _4: + goto _5 + _5: ; - if v3 = iErr != 0; v3 { - v2 = cnt + if v4 = iErr != 0; v4 { + v3 = cnt cnt++ } - if !(v3 && v2 < int32(3)) { + if !(v4 && v3 < int32(3)) { break } } libc.X__builtin___memset_chk(tls, p, 0, uint64(48), libc.X__builtin_object_size(tls, p, 0)) (*TDateTime)(unsafe.Pointer(p)).FiJD = iGuess (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FtzSet = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) } rc = SQLITE_OK } @@ -16553,13 +16642,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** weekday N where 0==Sunday, 1==Monday, and so forth. If the ** date is already on the appropriate weekday, this is a no-op. */ - if v6 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1271, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v6 { - v5 = int32(*(*float64)(unsafe.Pointer(bp))) - n = v5 + if v7 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1285, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v7 { + v6 = int32(*(*float64)(unsafe.Pointer(bp))) + n = v6 } - if v6 && float64(v5) == *(*float64)(unsafe.Pointer(bp)) { + if v7 && float64(v6) == *(*float64)(unsafe.Pointer(bp)) { _computeYMD_HMS(tls, p) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 _computeJD(tls, p) Z = ((*TDateTime)(unsafe.Pointer(p)).FiJD + int64(129600000)) / int64(86400000) % int64(7) @@ -16583,9 +16672,9 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Show subsecond precision in the output of datetime() and ** unixepoch() and strftime('%s'). */ - if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1280, int32(9)) != 0 { + if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1294, int32(9)) != 0 { if Xsqlite3_stricmp(tls, z, __ccgo_ts+1192) == 0 || Xsqlite3_stricmp(tls, z, __ccgo_ts+1199) == 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) rc = 0 } break @@ -16596,23 +16685,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z += uintptr(9) _computeYMD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) - v7 = libc.Int32FromInt32(0) - (*TDateTime)(unsafe.Pointer(p)).Fm = v7 - (*TDateTime)(unsafe.Pointer(p)).Fh = v7 + v8 = libc.Int32FromInt32(0) + (*TDateTime)(unsafe.Pointer(p)).Fm = v8 + (*TDateTime)(unsafe.Pointer(p)).Fh = v8 (*TDateTime)(unsafe.Pointer(p)).Fs = float64(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1290) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1304) == 0 { (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1296) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1310) == 0 { (*TDateTime)(unsafe.Pointer(p)).FM = int32(1) (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1301) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1315) == 0 { rc = 0 } } @@ -16654,15 +16743,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == int32('-') { - if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1305, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1319, libc.VaList(bp+136, bp+56)) == int32(1) { break } - if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1309, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1323, libc.VaList(bp+136, bp+56)) == int32(1) { break } } - goto _8 - _8: + goto _9 + _9: ; n++ } @@ -16678,11 +16767,11 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } /* Must start with +/- */ if n == int32(5) { - if _getDigits(tls, z+1, __ccgo_ts+1313, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1327, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } } else { - if _getDigits(tls, z+1, __ccgo_ts+1325, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1339, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } z++ @@ -16704,13 +16793,14 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, *(*int32)(unsafe.Pointer(p + 12)) += *(*int32)(unsafe.Pointer(bp + 60)) } if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v9 + x = v10 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) _computeJD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 @@ -16754,7 +16844,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z++ } n = _sqlite3Strlen30(tls, z) - if n > int32(10) || n < int32(3) { + if n < int32(3) || n > int32(10) { break } if int32(_sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z + uintptr(n-int32(1)))))]) == int32('s') { @@ -16762,11 +16852,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, p) if *(*float64)(unsafe.Pointer(bp)) < libc.Float64FromInt32(0) { - v10 = -libc.Float64FromFloat64(0.5) + v11 = -libc.Float64FromFloat64(0.5) } else { - v10 = +libc.Float64FromFloat64(0.5) + v11 = +libc.Float64FromFloat64(0.5) } - rRounder = v10 + rRounder = v11 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) { @@ -16778,19 +16869,21 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 12)) += int32(*(*float64)(unsafe.Pointer(bp))) if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v12 + x = v13 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) case int32(5): /* Special processing to add years */ y = int32(*(*float64)(unsafe.Pointer(bp))) _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 8)) += y + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) break @@ -16800,8 +16893,8 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, rc = 0 break } - goto _11 - _11: + goto _12 + _12: ; i++ } @@ -16860,7 +16953,7 @@ func _isDate(tls *libc.TLS, context uintptr, argc int32, argv uintptr, p uintptr i++ } _computeJD(tls, p) - if (*TDateTime)(unsafe.Pointer(p)).FisError != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x2>>1)) != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { return int32(1) } if argc == int32(1) && (*TDateTime)(unsafe.Pointer(p)).FvalidYMD != 0 && (*TDateTime)(unsafe.Pointer(p)).FD > int32(28) { @@ -16907,7 +17000,7 @@ func _unixepochFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _ /* x at bp+0 */ TDateTime if _isDate(tls, context, argc, argv, bp) == 0 { _computeJD(tls, bp) - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { Xsqlite3_result_double(tls, context, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000)) } else { Xsqlite3_result_int64(tls, context, (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/int64(1000)-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000)) @@ -16952,7 +17045,7 @@ func _datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(15)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(16)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(17)] = int8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(18)] = int8(int32('0') + s/int32(10000)%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(19)] = int8(int32('0') + s/int32(1000)%int32(10)) @@ -17000,7 +17093,7 @@ func _timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(3)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(4)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(5)] = int8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(6)] = int8(int32('0') + s/int32(10000)%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(7)] = int8(int32('0') + s/int32(1000)%int32(10)) @@ -17061,6 +17154,57 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } +// C documentation +// +// /* +// ** Compute the number of days after the most recent January 1. +// ** +// ** In other words, compute the zero-based day number for the +// ** current year: +// ** +// ** Jan01 = 0, Jan02 = 1, ..., Jan31 = 30, Feb01 = 31, ... +// ** Dec31 = 364 or 365. +// */ +func _daysAfterJan01(tls *libc.TLS, pDate uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* jan01 at bp+0 */ TDateTime + *(*TDateTime)(unsafe.Pointer(bp)) = *(*TDateTime)(unsafe.Pointer(pDate)) + (*(*TDateTime)(unsafe.Pointer(bp))).FvalidJD = 0 + (*(*TDateTime)(unsafe.Pointer(bp))).FM = int32(1) + (*(*TDateTime)(unsafe.Pointer(bp))).FD = int32(1) + _computeJD(tls, bp) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD - (*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Monday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Monday, 1=Tuesday, 2=Wednesday, ..., 6=Sunday. +// */ +func _daysAfterMonday(tls *libc.TLS, pDate uintptr) (r int32) { + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(43200000))/libc.Int64FromInt32(86400000)) % int32(7) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Sunday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Sunday, 1=Monday, 2=Tues, ..., 6=Saturday +// */ +func _daysAfterSunday(tls *libc.TLS, pDate uintptr) (r int32) { + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)) % int32(7) +} + // C documentation // // /* @@ -17068,33 +17212,48 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // ** // ** Return a string described by FORMAT. Conversions as follows: // ** -// ** %d day of month +// ** %d day of month 01-31 +// ** %e day of month 1-31 // ** %f ** fractional seconds SS.SSS +// ** %F ISO date. YYYY-MM-DD +// ** %G ISO year corresponding to %V 0000-9999. +// ** %g 2-digit ISO year corresponding to %V 00-99 // ** %H hour 00-24 -// ** %j day of year 000-366 +// ** %k hour 0-24 (leading zero converted to space) +// ** %I hour 01-12 +// ** %j day of year 001-366 // ** %J ** julian day number +// ** %l hour 1-12 (leading zero converted to space) // ** %m month 01-12 // ** %M minute 00-59 +// ** %p "am" or "pm" +// ** %P "AM" or "PM" +// ** %R time as HH:MM // ** %s seconds since 1970-01-01 // ** %S seconds 00-59 -// ** %w day of week 0-6 Sunday==0 -// ** %W week of year 00-53 +// ** %T time as HH:MM:SS +// ** %u day of week 1-7 Monday==1, Sunday==7 +// ** %w day of week 0-6 Sunday==0, Monday==1 +// ** %U week of year 00-53 (First Sunday is start of week 01) +// ** %V week of year 01-53 (First week containing Thursday is week 01) +// ** %W week of year 00-53 (First Monday is start of week 01) // ** %Y year 0000-9999 // ** %% % // */ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(208) + defer tls.Free(208) var c, cf int8 var db, zFmt, v3, v4, v5, v6, v7 uintptr - var h, nDay, wd int32 + var h int32 var i, j, v2 Tsize_t var iS Ti64 var s float64 var _ /* sRes at bp+48 */ Tsqlite3_str var _ /* x at bp+0 */ TDateTime + var _ /* y at bp+128 */ TDateTime var _ /* y at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, nDay, s, wd, zFmt, v2, v3, v4, v5, v6, v7 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, s, zFmt, v2, v3, v4, v5, v6, v7 if argc == 0 { return } @@ -17127,28 +17286,41 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { fallthrough case int32('e'): if int32(cf) == int32('d') { - v3 = __ccgo_ts + 1337 + v3 = __ccgo_ts + 1351 } else { - v3 = __ccgo_ts + 1342 + v3 = __ccgo_ts + 1356 } - Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) - case int32('f'): + Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('f'): /* Fractional seconds. (Non-standard) */ s = (*(*TDateTime)(unsafe.Pointer(bp))).Fs if s > float64(59.999) { s = float64(59.999) } - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1346, libc.VaList(bp+136, s)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1360, libc.VaList(bp+184, s)) case int32('F'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1353, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1367, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('G'): /* Fall thru */ + fallthrough + case int32('g'): + *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Move y so that it is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidYMD = 0 + _computeYMD(tls, bp+80) + if int32(cf) == int32('g') { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY%int32(100))) + } else { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1382, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY)) + } case int32('H'): fallthrough case int32('k'): if int32(cf) == int32('H') { - v4 = __ccgo_ts + 1337 + v4 = __ccgo_ts + 1351 } else { - v4 = __ccgo_ts + 1342 + v4 = __ccgo_ts + 1356 } - Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) + Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) case int32('I'): /* Fall thru */ fallthrough case int32('l'): @@ -17160,73 +17332,71 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { h = int32(12) } if int32(cf) == int32('I') { - v5 = __ccgo_ts + 1337 + v5 = __ccgo_ts + 1351 } else { - v5 = __ccgo_ts + 1342 + v5 = __ccgo_ts + 1356 } - Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+136, h)) - case int32('W'): /* Fall thru */ - fallthrough - case int32('j'): /* Number of days since 1st day of year */ - *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidJD = 0 - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FM = int32(1) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FD = int32(1) - _computeJD(tls, bp+80) - nDay = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) - if int32(cf) == int32('W') { /* 0=Monday, 1=Tuesday, ... 6=Sunday */ - wd = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000) % libc.Int64FromInt32(7)) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, (nDay+int32(7)-wd)/int32(7))) - } else { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1368, libc.VaList(bp+136, nDay+int32(1))) - } - case int32('J'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1373, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) + Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+184, h)) + case int32('j'): /* Day of year. Jan01==1, Jan02==2, and so forth */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1387, libc.VaList(bp+184, _daysAfterJan01(tls, bp)+int32(1))) + case int32('J'): /* Julian day number. (Non-standard) */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1392, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) case int32('m'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) case int32('M'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('p'): /* Fall thru */ fallthrough case int32('P'): if (*(*TDateTime)(unsafe.Pointer(bp))).Fh >= int32(12) { if int32(cf) == int32('p') { - v6 = __ccgo_ts + 1379 + v6 = __ccgo_ts + 1398 } else { - v6 = __ccgo_ts + 1382 + v6 = __ccgo_ts + 1401 } Xsqlite3_str_append(tls, bp+48, v6, int32(2)) } else { if int32(cf) == int32('p') { - v7 = __ccgo_ts + 1385 + v7 = __ccgo_ts + 1404 } else { - v7 = __ccgo_ts + 1388 + v7 = __ccgo_ts + 1407 } Xsqlite3_str_append(tls, bp+48, v7, int32(2)) } case int32('R'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1391, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1410, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('s'): - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1401, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1420, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) } else { iS = (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/libc.Int64FromInt32(1000) - libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1406, libc.VaList(bp+136, iS)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1425, libc.VaList(bp+184, iS)) } case int32('S'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) case int32('T'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1411, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) - case int32('u'): /* Fall thru */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1430, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + case int32('u'): /* Day of week. 1 to 7. Monday==1, Sunday==7 */ fallthrough - case int32('w'): - c = int8(int32(int8(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)%libc.Int64FromInt32(7))) + int32('0')) + case int32('w'): /* Day of week. 0 to 6. Sunday==0, Monday==1 */ + c = int8(int32(int8(_daysAfterSunday(tls, bp))) + int32('0')) if int32(c) == int32('0') && int32(cf) == int32('u') { c = int8('7') } Xsqlite3_str_appendchar(tls, bp+48, int32(1), c) + case int32('U'): /* Week num. 00-53. First Sun of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterSunday(tls, bp)+int32(7))/int32(7))) + case int32('V'): /* Week num. 01-53. First week with a Thur is week 01 */ + *(*TDateTime)(unsafe.Pointer(bp + 128)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Adjust y so that is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FvalidYMD = 0 + _computeYMD(tls, bp+128) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, _daysAfterJan01(tls, bp+128)/int32(7)+int32(1))) + case int32('W'): /* Week num. 00-53. First Mon of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterMonday(tls, bp)+int32(7))/int32(7))) case int32('Y'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1426, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1382, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) case int32('%'): Xsqlite3_str_appendchar(tls, bp+48, int32(1), int8('%')) default: @@ -17379,12 +17549,10 @@ func _timediffFunc(tls *libc.TLS, context uintptr, NotUsed1 int32, argv uintptr) p2 = bp *(*Tsqlite3_int64)(unsafe.Pointer(p2)) = Tsqlite3_int64(uint64(*(*Tsqlite3_int64)(unsafe.Pointer(p2))) + libc.Uint64FromInt32(1486995408)*libc.Uint64FromInt32(100000)) } - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidYMD = 0 - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidHMS = 0 - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidTZ = 0 + _clearYMD_HMS_TZ(tls, bp) _computeYMD_HMS(tls, bp) _sqlite3StrAccumInit(tls, bp+96, uintptr(0), uintptr(0), 0, int32(100)) - Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1431, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) + Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1445, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) _sqlite3ResultStrAccum(tls, context, bp+96) } @@ -17417,55 +17585,55 @@ var _aDateTimeFuncs = [10]TFuncDef{ FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1237, + FzName: __ccgo_ts + 1251, }, 1: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1257, + FzName: __ccgo_ts + 1271, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1465, + FzName: __ccgo_ts + 1479, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1470, + FzName: __ccgo_ts + 1484, }, 4: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1475, + FzName: __ccgo_ts + 1489, }, 5: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1484, + FzName: __ccgo_ts + 1498, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1493, + FzName: __ccgo_ts + 1507, }, 7: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1502, + FzName: __ccgo_ts + 1516, }, 8: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1515, + FzName: __ccgo_ts + 1529, }, 9: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1533, + FzName: __ccgo_ts + 1547, }, } @@ -18136,7 +18304,7 @@ func _sqlite3MemMalloc(tls *libc.TLS, nByte int32) (r uintptr) { *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1546, libc.VaList(bp+8, nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1560, libc.VaList(bp+8, nByte)) } return p } @@ -18198,7 +18366,7 @@ func _sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) (r uintptr) *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1584, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1598, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) } return p } @@ -19566,7 +19734,7 @@ func _sqlite3OomFault(tls *libc.TLS, db uintptr) (r uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = uint16(0) if (*Tsqlite3)(unsafe.Pointer(db)).FpParse != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1634, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) pParse = (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).FpOuterParse for { @@ -19988,7 +20156,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li v3 = int32(*(*int8)(unsafe.Pointer(v4))) c = v3 if v3 == 0 { - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1634, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1648, int32(1)) break } /* Find out what flags are present */ @@ -20403,9 +20571,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial != 0 { if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial) == int32(2) { if flag_zeropad != 0 { - v57 = __ccgo_ts + 1636 + v57 = __ccgo_ts + 1650 } else { - v57 = __ccgo_ts + 1641 + v57 = __ccgo_ts + 1655 } bufpt = v57 length = _sqlite3Strlen30(tls, bufpt) @@ -20416,7 +20584,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP = int32(1000) (*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fn = int32(1) } else { - libc.X__builtin___memcpy_chk(tls, bp, __ccgo_ts+1645, uint64(5), libc.X__builtin_object_size(tls, bp, 0)) + libc.X__builtin___memcpy_chk(tls, bp, __ccgo_ts+1659, uint64(5), libc.X__builtin_object_size(tls, bp, 0)) bufpt = bp if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fsign) == int32('-') { /* no-op */ @@ -20438,14 +20606,12 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li prefix = int8(flag_prefix) } exp = (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP - int32(1) - if int32(xtype) == int32(etGENERIC) && precision > 0 { - precision-- - } /* ** If the field type is etGENERIC, then convert to either etEXP ** or etFLOAT, as appropriate. */ if int32(xtype) == int32(etGENERIC) { + precision-- flag_rtz = libc.BoolUint8(!(flag_alternateform != 0)) if exp < -int32(4) || exp > precision { xtype = uint8(etEXP) @@ -20751,7 +20917,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li bufpt = libc.VaUintptr(&ap) } if bufpt == uintptr(0) { - bufpt = __ccgo_ts + 1650 + bufpt = __ccgo_ts + 1664 } else { if int32(xtype) == int32(etDYNSTRING) { if (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FnChar == uint32(0) && (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FmxAlloc != 0 && width == 0 && precision < 0 && int32((*Tsqlite3_str)(unsafe.Pointer(pAccum)).FaccError) == 0 { @@ -20839,9 +21005,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li isnull = libc.BoolInt32(escarg == uintptr(0)) if isnull != 0 { if int32(xtype) == int32(etSQLESCAPE2) { - v98 = __ccgo_ts + 1651 + v98 = __ccgo_ts + 1665 } else { - v98 = __ccgo_ts + 1656 + v98 = __ccgo_ts + 1670 } escarg = v98 } @@ -20959,7 +21125,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*TSrcItem)(unsafe.Pointer(pItem)).FzName != 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1663, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1677, int32(1)) } Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzName) } else { @@ -20967,10 +21133,15 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzAlias) } else { pSel = (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect + /* Because of tag-20240424-1 */ if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_NestedFrom) != 0 { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1665, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1679, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) } else { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1675, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_MultiValue) != 0 { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1689, libc.VaList(bp+128, *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pItem)).Fu1)))) + } else { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1710, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + } } } } @@ -21249,7 +21420,7 @@ func _sqlite3ResultStrAccum(tls *libc.TLS, pCtx uintptr, p uintptr) { if int32((*TStrAccum)(unsafe.Pointer(p)).FprintfFlags)&int32(SQLITE_PRINTF_MALLOCED) != 0 { Xsqlite3_result_text(tls, pCtx, (*TStrAccum)(unsafe.Pointer(p)).FzText, int32((*TStrAccum)(unsafe.Pointer(p)).FnChar), __ccgo_fp(_sqlite3OomClear)) } else { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1650, 0, libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1664, 0, libc.UintptrFromInt32(0)) Xsqlite3_str_reset(tls, p) } } @@ -23081,6 +23252,60 @@ func _sqlite3DequoteExpr(tls *libc.TLS, p uintptr) { _sqlite3Dequote(tls, *(*uintptr)(unsafe.Pointer(p + 8))) } +// C documentation +// +// /* +// ** Expression p is a QNUMBER (quoted number). Dequote the value in p->u.zToken +// ** and set the type to INTEGER or FLOAT. "Quoted" integers or floats are those +// ** that contain '_' characters that must be removed before further processing. +// */ +func _sqlite3DequoteNumber(tls *libc.TLS, pParse uintptr, p uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var bHex int32 + var pIn, pOut, v1, v3 uintptr + var _ /* iValue at bp+0 */ int32 + _, _, _, _, _ = bHex, pIn, pOut, v1, v3 + if p != 0 { + pIn = *(*uintptr)(unsafe.Pointer(p + 8)) + pOut = *(*uintptr)(unsafe.Pointer(p + 8)) + bHex = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(pIn))) == int32('0') && (int32(*(*int8)(unsafe.Pointer(pIn + 1))) == int32('x') || int32(*(*int8)(unsafe.Pointer(pIn + 1))) == int32('X'))) + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + for { + if int32(*(*int8)(unsafe.Pointer(pIn))) != int32('_') { + v3 = pOut + pOut++ + *(*int8)(unsafe.Pointer(v3)) = *(*int8)(unsafe.Pointer(pIn)) + if int32(*(*int8)(unsafe.Pointer(pIn))) == int32('e') || int32(*(*int8)(unsafe.Pointer(pIn))) == int32('E') || int32(*(*int8)(unsafe.Pointer(pIn))) == int32('.') { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_FLOAT) + } + } else { + if bHex == 0 && (!(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1)))))])&libc.Int32FromInt32(0x04) != 0) || !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + 1)))])&libc.Int32FromInt32(0x04) != 0)) || bHex == int32(1) && (!(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1)))))])&libc.Int32FromInt32(0x08) != 0) || !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + 1)))])&libc.Int32FromInt32(0x08) != 0)) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1724, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(p + 8)))) + } + } + goto _2 + _2: + ; + v1 = pIn + pIn++ + if !(*(*int8)(unsafe.Pointer(v1)) != 0) { + break + } + } + if bHex != 0 { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + } + /* tag-20240227-a: If after dequoting, the number is an integer that + ** fits in 32 bits, then it must be converted into EP_IntValue. Other + ** parts of the code expect this. See also tag-20240227-b. */ + if int32((*TExpr)(unsafe.Pointer(p)).Fop) == int32(TK_INTEGER) && _sqlite3GetInt32(tls, *(*uintptr)(unsafe.Pointer(p + 8)), bp) != 0 { + *(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(p)).Fu)) = *(*int32)(unsafe.Pointer(bp)) + *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(EP_IntValue) + } + } +} + // C documentation // // /* @@ -23631,7 +23856,7 @@ func _compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) (r int32) { _, _, _ = c, i, pow63 c = 0 /* 012345678901234567 */ - pow63 = __ccgo_ts + 1689 + pow63 = __ccgo_ts + 1749 i = 0 for { if !(c == 0 && i < int32(18)) { @@ -23858,7 +24083,7 @@ func _sqlite3DecOrHexToI64(tls *libc.TLS, z uintptr, pOut uintptr) (r int32) { } return 0 } else { - n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1708)) + n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1768)) if *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 { n++ } @@ -24016,7 +24241,7 @@ func _sqlite3FpDecode(tls *libc.TLS, p uintptr, _r float64, iRound int32, mxRoun (*TFpDecode)(unsafe.Pointer(p)).Fsign = int8('+') (*TFpDecode)(unsafe.Pointer(p)).Fn = int32(1) (*TFpDecode)(unsafe.Pointer(p)).FiDP = int32(1) - (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1724 + (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1784 return } else { (*TFpDecode)(unsafe.Pointer(p)).Fsign = int8('+') @@ -24560,7 +24785,7 @@ func _sqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) (r uintptr func _logBadConnection(tls *libc.TLS, zType uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1726, libc.VaList(bp+8, zType)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1786, libc.VaList(bp+8, zType)) } // C documentation @@ -24583,13 +24808,13 @@ func _sqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) (r int32) { var eOpenState Tu8 _ = eOpenState if db == uintptr(0) { - _logBadConnection(tls, __ccgo_ts+1651) + _logBadConnection(tls, __ccgo_ts+1665) return 0 } eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_OPEN) { if _sqlite3SafetyCheckSickOrOk(tls, db) != 0 { - _logBadConnection(tls, __ccgo_ts+1771) + _logBadConnection(tls, __ccgo_ts+1831) } return 0 } else { @@ -24603,7 +24828,7 @@ func _sqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) (r int32) { _ = eOpenState eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_SICK) && int32(eOpenState) != int32(SQLITE_STATE_OPEN) && int32(eOpenState) != int32(SQLITE_STATE_BUSY) { - _logBadConnection(tls, __ccgo_ts+1780) + _logBadConnection(tls, __ccgo_ts+1840) return 0 } else { return int32(1) @@ -25307,196 +25532,196 @@ func _sqlite3OpcodeName(tls *libc.TLS, i int32) (r uintptr) { } var _azName = [190]uintptr{ - 0: __ccgo_ts + 1788, - 1: __ccgo_ts + 1798, - 2: __ccgo_ts + 1809, - 3: __ccgo_ts + 1821, - 4: __ccgo_ts + 1832, - 5: __ccgo_ts + 1844, - 6: __ccgo_ts + 1851, - 7: __ccgo_ts + 1859, - 8: __ccgo_ts + 1867, - 9: __ccgo_ts + 1872, - 10: __ccgo_ts + 1877, - 11: __ccgo_ts + 1883, - 12: __ccgo_ts + 1897, - 13: __ccgo_ts + 1903, - 14: __ccgo_ts + 1913, - 15: __ccgo_ts + 1918, - 16: __ccgo_ts + 1923, - 17: __ccgo_ts + 1926, - 18: __ccgo_ts + 1932, - 19: __ccgo_ts + 1939, - 20: __ccgo_ts + 1943, - 21: __ccgo_ts + 1953, - 22: __ccgo_ts + 1960, - 23: __ccgo_ts + 1967, - 24: __ccgo_ts + 1974, - 25: __ccgo_ts + 1981, - 26: __ccgo_ts + 1991, - 27: __ccgo_ts + 2000, - 28: __ccgo_ts + 2011, - 29: __ccgo_ts + 2020, - 30: __ccgo_ts + 2026, - 31: __ccgo_ts + 2036, - 32: __ccgo_ts + 2046, - 33: __ccgo_ts + 2051, - 34: __ccgo_ts + 2061, - 35: __ccgo_ts + 2072, - 36: __ccgo_ts + 2077, - 37: __ccgo_ts + 2084, - 38: __ccgo_ts + 2095, - 39: __ccgo_ts + 2100, - 40: __ccgo_ts + 2105, - 41: __ccgo_ts + 2111, - 42: __ccgo_ts + 2117, - 43: __ccgo_ts + 2123, - 44: __ccgo_ts + 2126, - 45: __ccgo_ts + 2130, - 46: __ccgo_ts + 2136, - 47: __ccgo_ts + 2147, - 48: __ccgo_ts + 2158, - 49: __ccgo_ts + 2166, - 50: __ccgo_ts + 2175, - 51: __ccgo_ts + 2182, - 52: __ccgo_ts + 2190, - 53: __ccgo_ts + 2193, - 54: __ccgo_ts + 2196, - 55: __ccgo_ts + 2199, - 56: __ccgo_ts + 2202, - 57: __ccgo_ts + 2205, - 58: __ccgo_ts + 2208, - 59: __ccgo_ts + 2215, - 60: __ccgo_ts + 2221, - 61: __ccgo_ts + 2231, - 62: __ccgo_ts + 2244, - 63: __ccgo_ts + 2255, - 64: __ccgo_ts + 2261, - 65: __ccgo_ts + 2268, - 66: __ccgo_ts + 2277, - 67: __ccgo_ts + 2286, - 68: __ccgo_ts + 2293, - 69: __ccgo_ts + 2306, - 70: __ccgo_ts + 2317, - 71: __ccgo_ts + 2322, - 72: __ccgo_ts + 2330, - 73: __ccgo_ts + 2336, - 74: __ccgo_ts + 2343, - 75: __ccgo_ts + 2355, - 76: __ccgo_ts + 2360, - 77: __ccgo_ts + 2369, - 78: __ccgo_ts + 2374, - 79: __ccgo_ts + 2383, - 80: __ccgo_ts + 2388, - 81: __ccgo_ts + 2393, - 82: __ccgo_ts + 2399, - 83: __ccgo_ts + 2407, - 84: __ccgo_ts + 2415, - 85: __ccgo_ts + 2425, - 86: __ccgo_ts + 2433, - 87: __ccgo_ts + 2440, - 88: __ccgo_ts + 2453, - 89: __ccgo_ts + 2458, - 90: __ccgo_ts + 2470, - 91: __ccgo_ts + 2478, - 92: __ccgo_ts + 2485, - 93: __ccgo_ts + 2496, - 94: __ccgo_ts + 2503, - 95: __ccgo_ts + 2510, - 96: __ccgo_ts + 2520, - 97: __ccgo_ts + 2529, - 98: __ccgo_ts + 2540, - 99: __ccgo_ts + 2546, - 100: __ccgo_ts + 2557, - 101: __ccgo_ts + 2567, - 102: __ccgo_ts + 2577, - 103: __ccgo_ts + 2584, - 104: __ccgo_ts + 2590, - 105: __ccgo_ts + 2600, - 106: __ccgo_ts + 2611, - 107: __ccgo_ts + 2615, - 108: __ccgo_ts + 2624, - 109: __ccgo_ts + 2633, - 110: __ccgo_ts + 2640, - 111: __ccgo_ts + 2650, - 112: __ccgo_ts + 2657, - 113: __ccgo_ts + 2666, - 114: __ccgo_ts + 2676, - 115: __ccgo_ts + 2683, - 116: __ccgo_ts + 2691, - 117: __ccgo_ts + 2705, - 118: __ccgo_ts + 2713, - 119: __ccgo_ts + 2727, - 120: __ccgo_ts + 2738, - 121: __ccgo_ts + 2751, - 122: __ccgo_ts + 2762, - 123: __ccgo_ts + 2768, - 124: __ccgo_ts + 2780, - 125: __ccgo_ts + 2789, - 126: __ccgo_ts + 2797, - 127: __ccgo_ts + 2806, - 128: __ccgo_ts + 2815, - 129: __ccgo_ts + 2822, - 130: __ccgo_ts + 2830, - 131: __ccgo_ts + 2837, - 132: __ccgo_ts + 2848, - 133: __ccgo_ts + 2862, - 134: __ccgo_ts + 2873, - 135: __ccgo_ts + 2881, - 136: __ccgo_ts + 2887, - 137: __ccgo_ts + 2895, - 138: __ccgo_ts + 2903, - 139: __ccgo_ts + 2913, - 140: __ccgo_ts + 2926, - 141: __ccgo_ts + 2936, - 142: __ccgo_ts + 2949, - 143: __ccgo_ts + 2958, - 144: __ccgo_ts + 2969, - 145: __ccgo_ts + 2977, - 146: __ccgo_ts + 2983, - 147: __ccgo_ts + 2995, - 148: __ccgo_ts + 3007, - 149: __ccgo_ts + 3015, - 150: __ccgo_ts + 3027, - 151: __ccgo_ts + 3040, - 152: __ccgo_ts + 3050, - 153: __ccgo_ts + 3060, - 154: __ccgo_ts + 3065, - 155: __ccgo_ts + 3077, - 156: __ccgo_ts + 3089, - 157: __ccgo_ts + 3099, - 158: __ccgo_ts + 3105, - 159: __ccgo_ts + 3115, - 160: __ccgo_ts + 3122, - 161: __ccgo_ts + 3134, - 162: __ccgo_ts + 3145, - 163: __ccgo_ts + 3153, - 164: __ccgo_ts + 3162, - 165: __ccgo_ts + 3171, - 166: __ccgo_ts + 3180, - 167: __ccgo_ts + 3187, - 168: __ccgo_ts + 3198, - 169: __ccgo_ts + 3211, - 170: __ccgo_ts + 3221, - 171: __ccgo_ts + 3228, - 172: __ccgo_ts + 3236, - 173: __ccgo_ts + 3245, - 174: __ccgo_ts + 3251, - 175: __ccgo_ts + 3258, - 176: __ccgo_ts + 3266, - 177: __ccgo_ts + 3274, - 178: __ccgo_ts + 3282, - 179: __ccgo_ts + 3292, - 180: __ccgo_ts + 3301, - 181: __ccgo_ts + 3312, - 182: __ccgo_ts + 3323, - 183: __ccgo_ts + 3334, - 184: __ccgo_ts + 3344, - 185: __ccgo_ts + 3350, - 186: __ccgo_ts + 3361, - 187: __ccgo_ts + 3372, - 188: __ccgo_ts + 3377, - 189: __ccgo_ts + 3385, + 0: __ccgo_ts + 1848, + 1: __ccgo_ts + 1858, + 2: __ccgo_ts + 1869, + 3: __ccgo_ts + 1881, + 4: __ccgo_ts + 1892, + 5: __ccgo_ts + 1904, + 6: __ccgo_ts + 1911, + 7: __ccgo_ts + 1919, + 8: __ccgo_ts + 1927, + 9: __ccgo_ts + 1932, + 10: __ccgo_ts + 1937, + 11: __ccgo_ts + 1943, + 12: __ccgo_ts + 1957, + 13: __ccgo_ts + 1963, + 14: __ccgo_ts + 1973, + 15: __ccgo_ts + 1978, + 16: __ccgo_ts + 1983, + 17: __ccgo_ts + 1986, + 18: __ccgo_ts + 1992, + 19: __ccgo_ts + 1999, + 20: __ccgo_ts + 2003, + 21: __ccgo_ts + 2013, + 22: __ccgo_ts + 2020, + 23: __ccgo_ts + 2027, + 24: __ccgo_ts + 2034, + 25: __ccgo_ts + 2041, + 26: __ccgo_ts + 2051, + 27: __ccgo_ts + 2060, + 28: __ccgo_ts + 2071, + 29: __ccgo_ts + 2080, + 30: __ccgo_ts + 2086, + 31: __ccgo_ts + 2096, + 32: __ccgo_ts + 2106, + 33: __ccgo_ts + 2111, + 34: __ccgo_ts + 2125, + 35: __ccgo_ts + 2136, + 36: __ccgo_ts + 2141, + 37: __ccgo_ts + 2148, + 38: __ccgo_ts + 2159, + 39: __ccgo_ts + 2164, + 40: __ccgo_ts + 2169, + 41: __ccgo_ts + 2175, + 42: __ccgo_ts + 2181, + 43: __ccgo_ts + 2187, + 44: __ccgo_ts + 2190, + 45: __ccgo_ts + 2194, + 46: __ccgo_ts + 2200, + 47: __ccgo_ts + 2211, + 48: __ccgo_ts + 2222, + 49: __ccgo_ts + 2230, + 50: __ccgo_ts + 2239, + 51: __ccgo_ts + 2246, + 52: __ccgo_ts + 2254, + 53: __ccgo_ts + 2257, + 54: __ccgo_ts + 2260, + 55: __ccgo_ts + 2263, + 56: __ccgo_ts + 2266, + 57: __ccgo_ts + 2269, + 58: __ccgo_ts + 2272, + 59: __ccgo_ts + 2279, + 60: __ccgo_ts + 2285, + 61: __ccgo_ts + 2295, + 62: __ccgo_ts + 2308, + 63: __ccgo_ts + 2319, + 64: __ccgo_ts + 2325, + 65: __ccgo_ts + 2332, + 66: __ccgo_ts + 2341, + 67: __ccgo_ts + 2350, + 68: __ccgo_ts + 2357, + 69: __ccgo_ts + 2370, + 70: __ccgo_ts + 2381, + 71: __ccgo_ts + 2386, + 72: __ccgo_ts + 2394, + 73: __ccgo_ts + 2400, + 74: __ccgo_ts + 2407, + 75: __ccgo_ts + 2419, + 76: __ccgo_ts + 2424, + 77: __ccgo_ts + 2433, + 78: __ccgo_ts + 2438, + 79: __ccgo_ts + 2447, + 80: __ccgo_ts + 2452, + 81: __ccgo_ts + 2457, + 82: __ccgo_ts + 2463, + 83: __ccgo_ts + 2471, + 84: __ccgo_ts + 2479, + 85: __ccgo_ts + 2489, + 86: __ccgo_ts + 2497, + 87: __ccgo_ts + 2504, + 88: __ccgo_ts + 2517, + 89: __ccgo_ts + 2522, + 90: __ccgo_ts + 2534, + 91: __ccgo_ts + 2542, + 92: __ccgo_ts + 2549, + 93: __ccgo_ts + 2560, + 94: __ccgo_ts + 2567, + 95: __ccgo_ts + 2574, + 96: __ccgo_ts + 2584, + 97: __ccgo_ts + 2593, + 98: __ccgo_ts + 2604, + 99: __ccgo_ts + 2610, + 100: __ccgo_ts + 2621, + 101: __ccgo_ts + 2631, + 102: __ccgo_ts + 2641, + 103: __ccgo_ts + 2648, + 104: __ccgo_ts + 2654, + 105: __ccgo_ts + 2664, + 106: __ccgo_ts + 2675, + 107: __ccgo_ts + 2679, + 108: __ccgo_ts + 2688, + 109: __ccgo_ts + 2697, + 110: __ccgo_ts + 2704, + 111: __ccgo_ts + 2714, + 112: __ccgo_ts + 2721, + 113: __ccgo_ts + 2730, + 114: __ccgo_ts + 2740, + 115: __ccgo_ts + 2747, + 116: __ccgo_ts + 2755, + 117: __ccgo_ts + 2769, + 118: __ccgo_ts + 2777, + 119: __ccgo_ts + 2791, + 120: __ccgo_ts + 2802, + 121: __ccgo_ts + 2815, + 122: __ccgo_ts + 2826, + 123: __ccgo_ts + 2832, + 124: __ccgo_ts + 2844, + 125: __ccgo_ts + 2853, + 126: __ccgo_ts + 2861, + 127: __ccgo_ts + 2870, + 128: __ccgo_ts + 2879, + 129: __ccgo_ts + 2886, + 130: __ccgo_ts + 2894, + 131: __ccgo_ts + 2901, + 132: __ccgo_ts + 2912, + 133: __ccgo_ts + 2926, + 134: __ccgo_ts + 2937, + 135: __ccgo_ts + 2945, + 136: __ccgo_ts + 2951, + 137: __ccgo_ts + 2959, + 138: __ccgo_ts + 2967, + 139: __ccgo_ts + 2977, + 140: __ccgo_ts + 2990, + 141: __ccgo_ts + 3000, + 142: __ccgo_ts + 3013, + 143: __ccgo_ts + 3022, + 144: __ccgo_ts + 3033, + 145: __ccgo_ts + 3041, + 146: __ccgo_ts + 3047, + 147: __ccgo_ts + 3059, + 148: __ccgo_ts + 3071, + 149: __ccgo_ts + 3079, + 150: __ccgo_ts + 3091, + 151: __ccgo_ts + 3104, + 152: __ccgo_ts + 3114, + 153: __ccgo_ts + 3124, + 154: __ccgo_ts + 3129, + 155: __ccgo_ts + 3141, + 156: __ccgo_ts + 3153, + 157: __ccgo_ts + 3163, + 158: __ccgo_ts + 3169, + 159: __ccgo_ts + 3179, + 160: __ccgo_ts + 3186, + 161: __ccgo_ts + 3198, + 162: __ccgo_ts + 3209, + 163: __ccgo_ts + 3217, + 164: __ccgo_ts + 3226, + 165: __ccgo_ts + 3235, + 166: __ccgo_ts + 3244, + 167: __ccgo_ts + 3251, + 168: __ccgo_ts + 3262, + 169: __ccgo_ts + 3275, + 170: __ccgo_ts + 3285, + 171: __ccgo_ts + 3292, + 172: __ccgo_ts + 3300, + 173: __ccgo_ts + 3309, + 174: __ccgo_ts + 3315, + 175: __ccgo_ts + 3322, + 176: __ccgo_ts + 3330, + 177: __ccgo_ts + 3338, + 178: __ccgo_ts + 3346, + 179: __ccgo_ts + 3356, + 180: __ccgo_ts + 3365, + 181: __ccgo_ts + 3376, + 182: __ccgo_ts + 3387, + 183: __ccgo_ts + 3398, + 184: __ccgo_ts + 3408, + 185: __ccgo_ts + 3414, + 186: __ccgo_ts + 3425, + 187: __ccgo_ts + 3436, + 188: __ccgo_ts + 3441, + 189: __ccgo_ts + 3449, } type Tu_char = uint8 @@ -27076,91 +27301,91 @@ type unix_syscall = Tunix_syscall // */ var _aSyscall = [29]Tunix_syscall{ 0: { - FzName: __ccgo_ts + 3395, + FzName: __ccgo_ts + 3459, }, 1: { - FzName: __ccgo_ts + 3400, + FzName: __ccgo_ts + 3464, }, 2: { - FzName: __ccgo_ts + 3406, + FzName: __ccgo_ts + 3470, }, 3: { - FzName: __ccgo_ts + 3413, + FzName: __ccgo_ts + 3477, }, 4: { - FzName: __ccgo_ts + 3420, + FzName: __ccgo_ts + 3484, }, 5: { - FzName: __ccgo_ts + 3425, + FzName: __ccgo_ts + 3489, }, 6: { - FzName: __ccgo_ts + 3431, + FzName: __ccgo_ts + 3495, }, 7: { - FzName: __ccgo_ts + 3441, + FzName: __ccgo_ts + 3505, }, 8: { - FzName: __ccgo_ts + 3447, + FzName: __ccgo_ts + 3511, }, 9: { - FzName: __ccgo_ts + 3452, + FzName: __ccgo_ts + 3516, }, 10: { - FzName: __ccgo_ts + 3458, + FzName: __ccgo_ts + 3522, }, 11: { - FzName: __ccgo_ts + 3466, + FzName: __ccgo_ts + 3530, }, 12: { - FzName: __ccgo_ts + 3472, + FzName: __ccgo_ts + 3536, }, 13: { - FzName: __ccgo_ts + 3479, + FzName: __ccgo_ts + 3543, }, 14: { - FzName: __ccgo_ts + 3488, + FzName: __ccgo_ts + 3552, }, 15: { - FzName: __ccgo_ts + 3495, + FzName: __ccgo_ts + 3559, }, 16: { - FzName: __ccgo_ts + 3505, + FzName: __ccgo_ts + 3569, }, 17: { - FzName: __ccgo_ts + 3512, + FzName: __ccgo_ts + 3576, }, 18: { - FzName: __ccgo_ts + 3526, + FzName: __ccgo_ts + 3590, }, 19: { - FzName: __ccgo_ts + 3532, + FzName: __ccgo_ts + 3596, }, 20: { - FzName: __ccgo_ts + 3538, + FzName: __ccgo_ts + 3602, }, 21: { - FzName: __ccgo_ts + 3545, + FzName: __ccgo_ts + 3609, }, 22: { - FzName: __ccgo_ts + 3553, + FzName: __ccgo_ts + 3617, }, 23: { - FzName: __ccgo_ts + 3558, + FzName: __ccgo_ts + 3622, }, 24: { - FzName: __ccgo_ts + 3565, + FzName: __ccgo_ts + 3629, }, 25: { - FzName: __ccgo_ts + 3572, + FzName: __ccgo_ts + 3636, }, 26: { - FzName: __ccgo_ts + 3584, + FzName: __ccgo_ts + 3648, }, 27: { - FzName: __ccgo_ts + 3593, + FzName: __ccgo_ts + 3657, }, 28: { - FzName: __ccgo_ts + 3599, + FzName: __ccgo_ts + 3663, }, } @@ -27397,9 +27622,9 @@ func _robust_open(tls *libc.TLS, z uintptr, f int32, m Tmode_t) (r int32) { (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, z) } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(1)].FpCurrent})))(tls, fd) - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3605, libc.VaList(bp+152, z, fd)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3669, libc.VaList(bp+152, z, fd)) fd = -int32(1) - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3648, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3712, O_RDONLY, int32(m)) < 0 { break } } @@ -27716,11 +27941,11 @@ func _unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uint ** equivalent to errno. Otherwise, use strerror_r(). */ /* This is a threadsafe build, but strerror_r() is not available. */ - zErr = __ccgo_ts + 1650 + zErr = __ccgo_ts + 1664 if zPath == uintptr(0) { - zPath = __ccgo_ts + 1650 + zPath = __ccgo_ts + 1664 } - Xsqlite3_log(tls, errcode, __ccgo_ts+3658, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) + Xsqlite3_log(tls, errcode, __ccgo_ts+3722, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) return errcode } @@ -27748,7 +27973,7 @@ func _robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { } else { v1 = uintptr(0) } - _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(16)< int32(1) { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3744, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3808, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } if _fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3771, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3835, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -28465,7 +28690,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) { pFile = id _unixUnmapfile(tls, pFile) if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 { - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40172)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40505)) (*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1) } Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -29680,7 +29905,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { var _ /* zDirname at bp+0 */ [513]int8 _, _ = fd, ii fd = -int32(1) - Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3799, libc.VaList(bp+528, zFilename)) + Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3863, libc.VaList(bp+528, zFilename)) ii = int32(libc.Xstrlen(tls, bp)) for { if !(ii > 0 && int32((*(*[513]int8)(unsafe.Pointer(bp)))[ii]) != int32('/')) { @@ -29706,7 +29931,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { if fd >= 0 { return SQLITE_OK } - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(41778)), __ccgo_ts+3512, bp, int32(41778)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42111)), __ccgo_ts+3576, bp, int32(42111)) } // C documentation @@ -29743,7 +29968,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) { rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if rc != 0 { _storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) - return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<= nSize { iWrite = nSize - int64(1) } - nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1650, int32(1)) + nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1664, int32(1)) if nWrite != int32(1) { return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(3)<= 0 { - _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42583)) + _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42916)) (*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1) } (*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0) @@ -30353,7 +30578,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in ** help detect if a -shm file truncation is legitimate or is the work ** or a rogue process. */ if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 { - rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<= 0 { - _robust_close(tls, pNew, h, int32(43994)) + _robust_close(tls, pNew, h, int32(44327)) } } else { (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -31626,10 +31851,10 @@ func _fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilenam // ** Directories to consider for temp files. // */ var _azTempDirs = [6]uintptr{ - 2: __ccgo_ts + 3887, - 3: __ccgo_ts + 3896, - 4: __ccgo_ts + 3905, - 5: __ccgo_ts + 1663, + 2: __ccgo_ts + 3951, + 3: __ccgo_ts + 3960, + 4: __ccgo_ts + 3969, + 5: __ccgo_ts + 1677, } // C documentation @@ -31638,8 +31863,8 @@ var _azTempDirs = [6]uintptr{ // ** Initialize first two members of azTempDirs[] array. // */ func _unixTempFileInit(tls *libc.TLS) { - _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3910) - _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3924) + _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3974) + _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3988) } // C documentation @@ -31701,7 +31926,7 @@ func _unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) (r int32) { for cond := true; cond; cond = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(2)].FpCurrent})))(tls, zBuf, 0) == 0 { Xsqlite3_randomness(tls, int32(8), bp) *(*int8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2)))) = 0 - Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3931, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) + Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3995, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) if v2 = int32(*(*int8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2))))) != 0; !v2 { v1 = iLimit iLimit++ @@ -31873,7 +32098,7 @@ func _findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintpt ** filename, check for the "modeof" parameter. If present, interpret ** its value as a filename and try to copy the mode, uid and gid from ** that file. */ - z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3948) + z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+4012) if z != 0 { rc = _getFileMode(tls, z, pMode, pUid, pGid) } @@ -31911,13 +32136,13 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags bp := tls.Alloc(2704) defer tls.Free(2704) var ctrlFlags, eType, fd, isAutoProxy, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, rc, rc2, useProxy int32 - var envforce, p, pUnused, zName uintptr + var envforce, p, pReadonly, pUnused, zName uintptr var _ /* fsInfo at bp+0 */ Tstatfs var _ /* gid at bp+2688 */ Tgid_t var _ /* openMode at bp+2682 */ Tmode_t var _ /* uid at bp+2684 */ Tuid_t var _ /* zTmpname at bp+2168 */ [514]int8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, envforce, fd, isAutoProxy, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pUnused, rc, rc2, useProxy, zName + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, envforce, fd, isAutoProxy, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pReadonly, pUnused, rc, rc2, useProxy, zName p = pFile fd = -int32(1) /* File descriptor returned by open() */ openFlags = 0 /* Flags to pass to open() */ @@ -32013,17 +32238,24 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags } else { if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != int32(EISDIR) && isReadWrite != 0 { /* Failed to open the file for read/write access. Try read-only. */ + pReadonly = uintptr(0) flags &= ^(libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE)) openFlags &= ^(libc.Int32FromInt32(O_RDWR) | libc.Int32FromInt32(O_CREAT)) flags |= int32(SQLITE_OPEN_READONLY) openFlags |= O_RDONLY isReadonly = int32(1) - fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 2682))) + pReadonly = _findReusableFd(tls, zName, flags) + if pReadonly != 0 { + fd = (*TUnixUnusedFd)(unsafe.Pointer(pReadonly)).Ffd + Xsqlite3_free(tls, pReadonly) + } else { + fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 2682))) + } } } } if fd < 0 { - rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44435)), __ccgo_ts+3395, zName, int32(44435)) + rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44775)), __ccgo_ts+3459, zName, int32(44775)) if rc == SQLITE_OK { rc = rc2 } @@ -32059,13 +32291,13 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags } if libc.Xfstatfs(tls, fd, bp) == -int32(1) { _storeLastErrno(tls, p, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) - _robust_close(tls, p, fd, int32(44489)) + _robust_close(tls, p, fd, int32(44829)) return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(13)< int32(SQLITE_MAX_SYMLINK) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(44686)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45026)) return } got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+144, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2)) if got <= 0 || got >= libc.Int64FromInt64(1026)-libc.Int64FromInt32(2) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44691)), __ccgo_ts+3584, zIn, int32(44691)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45031)), __ccgo_ts+3648, zIn, int32(45031)) return } (*(*[1026]int8)(unsafe.Pointer(bp + 144)))[got] = 0 @@ -32337,14 +32569,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z (*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut if int32(*(*int8)(unsafe.Pointer(zPath))) != int32('/') { if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2)) == uintptr(0) { - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44749)), __ccgo_ts+3413, zPath, int32(44749)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45089)), __ccgo_ts+3477, zPath, int32(45089)) } _appendAllPathElements(tls, bp, bp+24) } _appendAllPathElements(tls, bp, zPath) *(*int8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = 0 if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) { - return _sqlite3CantopenError(tls, int32(44755)) + return _sqlite3CantopenError(tls, int32(45095)) } if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 { return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)< uint64(PATH_MAX) || pathLen < uint64(6) || libc.Xstrlcpy(tls, bp+uintptr(pathLen-uint64(5)), __ccgo_ts+4041, uint64(6)) != uint64(5) { - Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4047, libc.VaList(bp+2144, int32(pathLen))) + if pathLen > uint64(PATH_MAX) || pathLen < uint64(6) || libc.Xstrlcpy(tls, bp+uintptr(pathLen-uint64(5)), __ccgo_ts+4105, uint64(6)) != uint64(5) { + Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4111, libc.VaList(bp+2144, int32(pathLen))) goto end_breaklock } /* read the conch content */ readLen = uint64((*(*func(*libc.TLS, int32, uintptr, Tsize_t, Toff_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(9)].FpCurrent})))(tls, (*TunixFile)(unsafe.Pointer(conchFile)).Fh, bp+1024, uint64(libc.Int32FromInt32(PROXY_HEADERLEN)+libc.Int32FromInt32(PROXY_HOSTIDLEN)+libc.Int32FromInt32(PATH_MAX)), 0)) if readLen < uint64(libc.Int32FromInt32(PROXY_HEADERLEN)+libc.Int32FromInt32(PROXY_HOSTIDLEN)) { - Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4067, libc.VaList(bp+2144, int32(readLen))) + Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4131, libc.VaList(bp+2144, int32(readLen))) goto end_breaklock } /* write it out to the temporary break file */ fd = _robust_open(tls, bp, libc.Int32FromInt32(O_RDWR)|libc.Int32FromInt32(O_CREAT)|libc.Int32FromInt32(O_EXCL)|libc.Int32FromInt32(O_NOFOLLOW), uint16(0)) if fd < 0 { - Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4087, libc.VaList(bp+2144, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) + Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4151, libc.VaList(bp+2144, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) goto end_breaklock } if (*(*func(*libc.TLS, int32, uintptr, Tsize_t, Toff_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(12)].FpCurrent})))(tls, fd, bp+1024, readLen, 0) != int64(readLen) { - Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4106, libc.VaList(bp+2144, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) + Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4170, libc.VaList(bp+2144, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) goto end_breaklock } if libc.Xrename(tls, bp, cPath) != 0 { - Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4124, libc.VaList(bp+2144, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) + Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4188, libc.VaList(bp+2144, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) goto end_breaklock } rc = 0 - libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+4143, libc.VaList(bp+2144, cPath)) - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(conchFile)).Fh, int32(45418)) + libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+4207, libc.VaList(bp+2144, cPath)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(conchFile)).Fh, int32(45758)) (*TunixFile)(unsafe.Pointer(conchFile)).Fh = fd (*TunixFile)(unsafe.Pointer(conchFile)).FopenFlags = libc.Int32FromInt32(O_RDWR) | libc.Int32FromInt32(O_CREAT) goto end_breaklock @@ -33004,9 +33236,9 @@ end_breaklock: if rc != 0 { if fd >= 0 { (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, bp) - _robust_close(tls, pFile, fd, int32(45426)) + _robust_close(tls, pFile, fd, int32(45766)) } - libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+4167, libc.VaList(bp+2144, cPath, bp+2065)) + libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+4231, libc.VaList(bp+2144, cPath, bp+2065)) } return rc } @@ -33227,14 +33459,14 @@ func _proxyTakeConch(tls *libc.TLS, pFile uintptr) (r int32) { ; if rc == SQLITE_OK && (*TunixFile)(unsafe.Pointer(pFile)).FopenFlags != 0 { if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 { - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(45679)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(46019)) } (*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1) fd = _robust_open(tls, (*TproxyLockingContext)(unsafe.Pointer(pCtx)).FdbPath, (*TunixFile)(unsafe.Pointer(pFile)).FopenFlags, uint16(0)) if fd >= 0 { (*TunixFile)(unsafe.Pointer(pFile)).Fh = fd } else { - rc = _sqlite3CantopenError(tls, int32(45687)) /* SQLITE_BUSY? proxyTakeConch called + rc = _sqlite3CantopenError(tls, int32(46027)) /* SQLITE_BUSY? proxyTakeConch called during locking */ } } @@ -33357,7 +33589,7 @@ func _proxyCreateConchPathname(tls *libc.TLS, dbPath uintptr, pConchPath uintptr i++ } /* append the "-conch" suffix to the file */ - libc.X__builtin___memcpy_chk(tls, conchPath+uintptr(i+int32(1)), __ccgo_ts+4205, uint64(7), libc.X__builtin_object_size(tls, conchPath+uintptr(i+int32(1)), 0)) + libc.X__builtin___memcpy_chk(tls, conchPath+uintptr(i+int32(1)), __ccgo_ts+4269, uint64(7), libc.X__builtin_object_size(tls, conchPath+uintptr(i+int32(1)), 0)) return SQLITE_OK } @@ -33377,7 +33609,7 @@ func _switchLockProxyPath(tls *libc.TLS, pFile uintptr, path uintptr) (r int32) return int32(SQLITE_BUSY) } /* nothing to do if the path is NULL, :auto: or matches the existing path */ - if !(path != 0) || int32(*(*int8)(unsafe.Pointer(path))) == int32('\000') || !(libc.Xstrcmp(tls, path, __ccgo_ts+3994) != 0) || oldPath != 0 && !(libc.Xstrncmp(tls, oldPath, path, uint64(PATH_MAX)) != 0) { + if !(path != 0) || int32(*(*int8)(unsafe.Pointer(path))) == int32('\000') || !(libc.Xstrcmp(tls, path, __ccgo_ts+4058) != 0) || oldPath != 0 && !(libc.Xstrncmp(tls, oldPath, path, uint64(PATH_MAX)) != 0) { return SQLITE_OK } else { lockProxy = (*TproxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxy @@ -33416,7 +33648,7 @@ func _proxyGetDbPathForUnixFile(tls *libc.TLS, pFile uintptr, dbPath uintptr) (r if (*TunixFile)(unsafe.Pointer(pFile)).FpMethod == uintptr(unsafe.Pointer(&_dotlockIoMethods)) { /* dot lock style uses the locking context to store the dot lock ** file path */ - len1 = int32(libc.Xstrlen(tls, (*TunixFile)(unsafe.Pointer(pFile)).FlockingContext) - libc.Xstrlen(tls, __ccgo_ts+4212)) + len1 = int32(libc.Xstrlen(tls, (*TunixFile)(unsafe.Pointer(pFile)).FlockingContext) - libc.Xstrlen(tls, __ccgo_ts+4276)) libc.X__builtin___memcpy_chk(tls, dbPath, (*TunixFile)(unsafe.Pointer(pFile)).FlockingContext, uint64(len1+int32(1)), libc.X__builtin_object_size(tls, dbPath, 0)) } else { /* all other styles use the locking context to store the db file path */ @@ -33451,7 +33683,7 @@ func _proxyTransformUnixFile(tls *libc.TLS, pFile uintptr, path uintptr) (r int3 return int32(SQLITE_BUSY) } _proxyGetDbPathForUnixFile(tls, pFile, bp) - if !(path != 0) || int32(*(*int8)(unsafe.Pointer(path))) == int32('\000') || !(libc.Xstrcmp(tls, path, __ccgo_ts+3994) != 0) { + if !(path != 0) || int32(*(*int8)(unsafe.Pointer(path))) == int32('\000') || !(libc.Xstrcmp(tls, path, __ccgo_ts+4058) != 0) { lockPath = libc.UintptrFromInt32(0) } else { lockPath = path @@ -33526,7 +33758,7 @@ func _proxyFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) (r int if (*TproxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath != 0 { *(*uintptr)(unsafe.Pointer(pArg)) = (*TproxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath } else { - *(*uintptr)(unsafe.Pointer(pArg)) = __ccgo_ts + 4218 + *(*uintptr)(unsafe.Pointer(pArg)) = __ccgo_ts + 4282 } } else { *(*uintptr)(unsafe.Pointer(pArg)) = libc.UintptrFromInt32(0) @@ -33551,7 +33783,7 @@ func _proxyFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) (r int proxyPath = pArg if isProxyStyle != 0 { pCtx1 = (*TunixFile)(unsafe.Pointer(pFile1)).FlockingContext - if !(libc.Xstrcmp(tls, pArg, __ccgo_ts+3994) != 0) || (*TproxyLockingContext)(unsafe.Pointer(pCtx1)).FlockProxyPath != 0 && !(libc.Xstrncmp(tls, (*TproxyLockingContext)(unsafe.Pointer(pCtx1)).FlockProxyPath, proxyPath, uint64(PATH_MAX)) != 0) { + if !(libc.Xstrcmp(tls, pArg, __ccgo_ts+4058) != 0) || (*TproxyLockingContext)(unsafe.Pointer(pCtx1)).FlockProxyPath != 0 && !(libc.Xstrncmp(tls, (*TproxyLockingContext)(unsafe.Pointer(pCtx1)).FlockProxyPath, proxyPath, uint64(PATH_MAX)) != 0) { rc = SQLITE_OK } else { rc = _switchLockProxyPath(tls, pFile1, proxyPath) @@ -33820,55 +34052,55 @@ var _aVfs = [9]Tsqlite3_vfs{ FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4236, + FzName: __ccgo_ts + 4300, }, 1: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4241, + FzName: __ccgo_ts + 4305, }, 2: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4251, + FzName: __ccgo_ts + 4315, }, 3: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 3869, + FzName: __ccgo_ts + 3933, }, 4: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4264, + FzName: __ccgo_ts + 4328, }, 5: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4275, + FzName: __ccgo_ts + 4339, }, 6: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4286, + FzName: __ccgo_ts + 4350, }, 7: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4295, + FzName: __ccgo_ts + 4359, }, 8: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4304, + FzName: __ccgo_ts + 4368, }, } @@ -34232,7 +34464,7 @@ var _memdb_g TMemFS var _memdb_vfs = Tsqlite3_vfs{ FiVersion: int32(2), FmxPathname: int32(1024), - FzName: __ccgo_ts + 4315, + FzName: __ccgo_ts + 4379, } func init() { @@ -34578,7 +34810,7 @@ func _memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = int32(SQLITE_NOTFOUND) _memdbEnter(tls, p) if op == int32(SQLITE_FCNTL_VFSNAME) { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4321, libc.VaList(bp+8, (*TMemStore)(unsafe.Pointer(p)).FaData, (*TMemStore)(unsafe.Pointer(p)).Fsz)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4385, libc.VaList(bp+8, (*TMemStore)(unsafe.Pointer(p)).FaData, (*TMemStore)(unsafe.Pointer(p)).Fsz)) rc = SQLITE_OK } if op == int32(SQLITE_FCNTL_SIZE_LIMIT) { @@ -34753,7 +34985,7 @@ func _memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, bp := tls.Alloc(16) defer tls.Free(16) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, __ccgo_ts+3799, libc.VaList(bp+8, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, __ccgo_ts+3863, libc.VaList(bp+8, zPath)) return SQLITE_OK } @@ -34900,7 +35132,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp return uintptr(0) } szPage = _sqlite3BtreeGetPageSize(tls, pBt) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+4336, libc.VaList(bp+24, zSchema)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+4400, libc.VaList(bp+24, zSchema)) if zSql != 0 { v1 = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), bp, uintptr(0)) } else { @@ -34918,7 +35150,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp sz = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) * int64(szPage) if sz == 0 { Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) - Xsqlite3_exec(tls, db, __ccgo_ts+4359, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+4423, uintptr(0), uintptr(0), uintptr(0)) rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == int32(SQLITE_ROW) { sz = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) * int64(szPage) @@ -34981,7 +35213,7 @@ func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uint rc = int32(SQLITE_ERROR) goto end_deserialize } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+4384, libc.VaList(bp+16, zSchema)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+4448, libc.VaList(bp+16, zSchema)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -41175,7 +41407,7 @@ end_playback: rc = _pager_delsuper(tls, pPager, zSuper) } if isHot != 0 && nPlayback != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(2)< int64(1) { _sqlite3PagerUnrefNotNull(tls, pPgOld) - return _sqlite3CorruptError(tls, int32(63973)) + return _sqlite3CorruptError(tls, int32(64313)) } p4 = pPg + 52 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | int32((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC)) @@ -45282,7 +45514,7 @@ func _sqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in ** sqlite3_wal_checkpoint() call, but it happens very rarely. ** https://sqlite.org/forum/forumpost/fd0f19d229156939 */ - Xsqlite3_exec(tls, db, __ccgo_ts+4457, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+4521, uintptr(0), uintptr(0), uintptr(0)) } if (*TPager)(unsafe.Pointer(pPager)).FpWal != 0 { if eMode == SQLITE_CHECKPOINT_PASSIVE { @@ -46723,7 +46955,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in v2 = nCollide nCollide-- if v2 == 0 { - return _sqlite3CorruptError(tls, int32(65899)) + return _sqlite3CorruptError(tls, int32(66239)) } goto _1 _1: @@ -46811,7 +47043,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) { ** are able to understand */ version = _sqlite3Get4byte(tls, bp+8+4) if version != uint32(WAL_MAX_VERSION) { - rc = _sqlite3CantopenError(tls, int32(66031)) + rc = _sqlite3CantopenError(tls, int32(66371)) goto finished } /* Malloc a buffer to read frames into. */ @@ -46950,7 +47182,7 @@ finished: ** checkpointing the log file. */ if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FnPage != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(1)< int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = _sqlite3CorruptError(tls, int32(71032)) + rc = _sqlite3CorruptError(tls, int32(71421)) } else { rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -51509,7 +51748,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, } /* The super-journal page number must never be used as a pointer map page */ if key == uint32(0) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71230)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71619)) return } iPtrmap = _ptrmapPageno(tls, pBt, key) @@ -51522,12 +51761,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, /* The first byte of the extra data is the MemPage.isInit byte. ** If that byte is set, it means this page is also being used ** as a btree page. */ - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71243)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71632)) goto ptrmap_exit } offset = int32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1))) if offset < 0 { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71248)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71637)) goto ptrmap_exit } pPtrmap = _sqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -51571,7 +51810,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin offset = int32(libc.Uint32FromInt32(5) * (key - uint32(iPtrmap) - libc.Uint32FromInt32(1))) if offset < 0 { _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) - return _sqlite3CorruptError(tls, int32(71293)) + return _sqlite3CorruptError(tls, int32(71682)) } *(*Tu8)(unsafe.Pointer(pEType)) = *(*Tu8)(unsafe.Pointer(pPtrmap + uintptr(offset))) if pPgno != 0 { @@ -51579,7 +51818,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin } _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) if int32(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || int32(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) { - return _sqlite3CorruptError(tls, int32(71301)) + return _sqlite3CorruptError(tls, int32(71690)) } return SQLITE_OK } @@ -51999,7 +52238,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71741)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72130)) return } ovfl = _sqlite3Get4byte(tls, pCell+uintptr(int32((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4))) @@ -52039,12 +52278,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag { iFree = int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71799)) + return _sqlite3CorruptError(tls, int32(72188)) } if iFree != 0 { iFree2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71802)) + return _sqlite3CorruptError(tls, int32(72191)) } if 0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 { pEnd = data + uintptr(cellOffset+nCell*int32(2)) @@ -52052,21 +52291,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { sz = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree { - return _sqlite3CorruptError(tls, int32(71810)) + return _sqlite3CorruptError(tls, int32(72199)) } if iFree2 != 0 { if iFree+sz > iFree2 { - return _sqlite3CorruptError(tls, int32(71813)) + return _sqlite3CorruptError(tls, int32(72202)) } sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize { - return _sqlite3CorruptError(tls, int32(71815)) + return _sqlite3CorruptError(tls, int32(72204)) } libc.X__builtin___memmove_chk(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)), libc.X__builtin_object_size(tls, data+uintptr(iFree+sz+sz2), 0)) sz += sz2 } else { if iFree+sz > usableSize { - return _sqlite3CorruptError(tls, int32(71819)) + return _sqlite3CorruptError(tls, int32(72208)) } } cbrk = top + sz @@ -52113,12 +52352,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { ** if PRAGMA cell_size_check=ON. */ if pc > iCellLast { - return _sqlite3CorruptError(tls, int32(71852)) + return _sqlite3CorruptError(tls, int32(72241)) } size = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc))) cbrk -= size if cbrk < iCellStart || pc+size > usableSize { - return _sqlite3CorruptError(tls, int32(71858)) + return _sqlite3CorruptError(tls, int32(72247)) } *(*Tu8)(unsafe.Pointer(pAddr1)) = uint8(cbrk >> libc.Int32FromInt32(8)) *(*Tu8)(unsafe.Pointer(pAddr1 + 1)) = uint8(cbrk) @@ -52134,7 +52373,7 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { defragment_out: ; if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree { - return _sqlite3CorruptError(tls, int32(71872)) + return _sqlite3CorruptError(tls, int32(72261)) } *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = uint8(cbrk >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)) + 1)) = uint8(cbrk) @@ -52194,7 +52433,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint } else { if x+pc > maxPC { /* This slot extends off the end of the usable part of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71929)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72318)) return uintptr(0) } else { /* The slot remains on the free-list. Reduce its size to account @@ -52211,14 +52450,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint if pc <= iAddr { if pc != 0 { /* The next slot in the chain comes before the current slot */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71944)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72333)) } return uintptr(0) } } if pc > maxPC+nByte-int32(4) { /* The free slot chain extends off the end of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71951)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72340)) } return uintptr(0) } @@ -52261,11 +52500,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) { top = int32(65536) } else { - return _sqlite3CorruptError(tls, int32(71999)) + return _sqlite3CorruptError(tls, int32(72388)) } } else { if top > int32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(72002)) + return _sqlite3CorruptError(tls, int32(72391)) } } /* If there is enough space between gap and top for one more cell pointer, @@ -52279,7 +52518,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r g2 = v1 *(*int32)(unsafe.Pointer(pIdx)) = v1 if g2 <= gap { - return _sqlite3CorruptError(tls, int32(72019)) + return _sqlite3CorruptError(tls, int32(72408)) } else { return SQLITE_OK } @@ -52362,12 +52601,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if int32(iFreeBlk) == 0 { break } /* TH3: corrupt082.100 */ - return _sqlite3CorruptError(tls, int32(72098)) + return _sqlite3CorruptError(tls, int32(72487)) } iPtr = iFreeBlk } if uint32(iFreeBlk) > (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-uint32(4) { /* TH3: corrupt081.100 */ - return _sqlite3CorruptError(tls, int32(72103)) + return _sqlite3CorruptError(tls, int32(72492)) } /* At this point: ** iFreeBlk: First freeblock after iStart, or zero if none @@ -52378,11 +52617,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if iFreeBlk != 0 && iEnd+uint32(3) >= uint32(iFreeBlk) { nFrag = uint8(uint32(iFreeBlk) - iEnd) if iEnd > uint32(iFreeBlk) { - return _sqlite3CorruptError(tls, int32(72115)) + return _sqlite3CorruptError(tls, int32(72504)) } iEnd = uint32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+int32(2)))))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return _sqlite3CorruptError(tls, int32(72118)) + return _sqlite3CorruptError(tls, int32(72507)) } iSize = uint16(iEnd - uint32(iStart)) iFreeBlk = uint16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= int32(iStart) { if iPtrEnd > int32(iStart) { - return _sqlite3CorruptError(tls, int32(72131)) + return _sqlite3CorruptError(tls, int32(72520)) } nFrag = Tu8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = uint16(iEnd - uint32(iPtr)) @@ -52403,7 +52642,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(7))))) { - return _sqlite3CorruptError(tls, int32(72137)) + return _sqlite3CorruptError(tls, int32(72526)) } p2 = data + uintptr(int32(hdr)+int32(7)) *(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - int32(nFrag)) @@ -52420,10 +52659,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) ** so just extend the cell content area rather than create another ** freelist entry */ if int32(iStart) < int32(x) { - return _sqlite3CorruptError(tls, int32(72151)) + return _sqlite3CorruptError(tls, int32(72540)) } if int32(iPtr) != int32(hdr)+int32(1) { - return _sqlite3CorruptError(tls, int32(72152)) + return _sqlite3CorruptError(tls, int32(72541)) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)))) = uint8(int32(iFreeBlk) >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)) + 1)) = uint8(iFreeBlk) @@ -52484,7 +52723,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72206)) + return _sqlite3CorruptError(tls, int32(72595)) } } } else { @@ -52510,7 +52749,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72230)) + return _sqlite3CorruptError(tls, int32(72619)) } } } @@ -52549,12 +52788,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will ** always be at least one cell before the first freeblock. */ - return _sqlite3CorruptError(tls, int32(72281)) + return _sqlite3CorruptError(tls, int32(72670)) } for int32(1) != 0 { if pc > iCellLast { /* Freeblock off the end of the page */ - return _sqlite3CorruptError(tls, int32(72286)) + return _sqlite3CorruptError(tls, int32(72675)) } next = uint32(int32(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) { /* Freeblock not in ascending order */ - return _sqlite3CorruptError(tls, int32(72296)) + return _sqlite3CorruptError(tls, int32(72685)) } if uint32(pc)+size > uint32(usableSize) { /* Last freeblock extends past page end */ - return _sqlite3CorruptError(tls, int32(72300)) + return _sqlite3CorruptError(tls, int32(72689)) } } /* At this point, nFree contains the sum of the offset to the start @@ -52581,7 +52820,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { ** area, according to the page header, lies within the page. */ if nFree > usableSize || nFree < iCellFirst { - return _sqlite3CorruptError(tls, int32(72312)) + return _sqlite3CorruptError(tls, int32(72701)) } (*TMemPage)(unsafe.Pointer(pPage)).FnFree = int32(uint16(nFree - iCellFirst)) return SQLITE_OK @@ -52612,11 +52851,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) { } pc = int32(*(*Tu8)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))< iCellLast { - return _sqlite3CorruptError(tls, int32(72343)) + return _sqlite3CorruptError(tls, int32(72732)) } sz = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return _sqlite3CorruptError(tls, int32(72348)) + return _sqlite3CorruptError(tls, int32(72737)) } goto _1 _1: @@ -52645,7 +52884,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating ** the b-tree page type. */ if _decodeFlags(tls, pPage, int32(*(*Tu8)(unsafe.Pointer(data)))) != 0 { - return _sqlite3CorruptError(tls, int32(72380)) + return _sqlite3CorruptError(tls, int32(72769)) } (*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1)) (*TMemPage)(unsafe.Pointer(pPage)).FnOverflow = uint8(0) @@ -52658,7 +52897,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FnCell = uint16(int32(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) { /* To many cells for a single page. The page must be corrupt */ - return _sqlite3CorruptError(tls, int32(72394)) + return _sqlite3CorruptError(tls, int32(72783)) } /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only ** possible for a root page of a table that contains no rows) then the @@ -52811,7 +53050,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe _, _ = pPage, rc if pgno > _btreePagecount(tls, pBt) { *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72537)) + return _sqlite3CorruptError(tls, int32(72926)) } rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly) if rc != 0 { @@ -52873,7 +53112,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) { _releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72609)) + return _sqlite3CorruptError(tls, int32(72998)) } (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0) } else { @@ -52961,7 +53200,7 @@ func _sqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt /* Set the variable isMemdb to true for an in-memory database, or ** false for a file-based database. */ - isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4538) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) + isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4602) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) /* flags fit in 8 bits */ /* Only a BTREE_SINGLE database can be BTREE_UNORDERED */ /* A BTREE_SINGLE database is always a temporary and/or ephemeral */ @@ -53747,7 +53986,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { ** The original design allowed these amounts to vary, but as of ** version 3.6.0, we require them to be fixed. */ - if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4547, uint64(3)) != 0 { + if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4611, uint64(3)) != 0 { goto page1_init_failed } /* EVIDENCE-OF: R-51873-39618 The page size for a database file is @@ -53785,7 +54024,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { } if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) { if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 { - rc = _sqlite3CorruptError(tls, int32(73547)) + rc = _sqlite3CorruptError(tls, int32(73936)) goto page1_init_failed } else { nPage = *(*Tu32)(unsafe.Pointer(bp + 8)) @@ -54226,7 +54465,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT if int32(eType) == int32(PTRMAP_OVERFLOW2) { /* The pointer is always the first 4 bytes of the page in this case. */ if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return _sqlite3CorruptError(tls, int32(73995)) + return _sqlite3CorruptError(tls, int32(74384)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -54250,7 +54489,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74014)) + return _sqlite3CorruptError(tls, int32(74403)) } if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) { _sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo) @@ -54259,7 +54498,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } } else { if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74023)) + return _sqlite3CorruptError(tls, int32(74412)) } if _sqlite3Get4byte(tls, pCell) == iFrom { _sqlite3Put4byte(tls, pCell, iTo) @@ -54273,7 +54512,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } if i == nCell { if int32(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom { - return _sqlite3CorruptError(tls, int32(74035)) + return _sqlite3CorruptError(tls, int32(74424)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo) } @@ -54303,7 +54542,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP iDbPage = (*TMemPage)(unsafe.Pointer(pDbPage)).Fpgno pPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager if iDbPage < uint32(3) { - return _sqlite3CorruptError(tls, int32(74070)) + return _sqlite3CorruptError(tls, int32(74459)) } /* Move page iDbPage from its current location to page number iFreePage */ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit) @@ -54399,7 +54638,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom return rc } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) { - return _sqlite3CorruptError(tls, int32(74168)) + return _sqlite3CorruptError(tls, int32(74557)) } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) { if bCommit == 0 { @@ -54437,7 +54676,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) - return _sqlite3CorruptError(tls, int32(74220)) + return _sqlite3CorruptError(tls, int32(74609)) } } rc = _relocatePage(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*Tu8)(unsafe.Pointer(bp)), *(*TPgno)(unsafe.Pointer(bp + 4)), *(*TPgno)(unsafe.Pointer(bp + 24)), bCommit) @@ -54504,7 +54743,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) { nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) nFin = _finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = _sqlite3CorruptError(tls, int32(74288)) + rc = _sqlite3CorruptError(tls, int32(74677)) } else { if nFree > uint32(0) { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -54547,7 +54786,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { ** is either a pointer-map page or the pending-byte page. If one ** is encountered, this indicates corruption. */ - return _sqlite3CorruptError(tls, int32(74339)) + return _sqlite3CorruptError(tls, int32(74728)) } nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) db = (*TBtree)(unsafe.Pointer(p)).Fdb @@ -54577,7 +54816,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { } nFin = _finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return _sqlite3CorruptError(tls, int32(74366)) + return _sqlite3CorruptError(tls, int32(74755)) } if nFin < nOrig { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -55043,7 +55282,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo /* Assert that the caller has opened the required transaction. */ if iTable <= uint32(1) { if iTable < uint32(1) { - return _sqlite3CorruptError(tls, int32(74830)) + return _sqlite3CorruptError(tls, int32(75219)) } else { if _btreePagecount(tls, pBt) == uint32(0) { iTable = uint32(0) @@ -55435,7 +55674,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin pBt = (*TBtCursor)(unsafe.Pointer(pCur)).FpBt /* Btree this cursor belongs to */ pBufStart = pBuf /* Start of original out buffer */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(75235)) + return _sqlite3CorruptError(tls, int32(75624)) } _getCellInfo(tls, pCur) aPayload = (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload @@ -55445,7 +55684,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ** but is recast into its current form to avoid integer overflow problems */ - return _sqlite3CorruptError(tls, int32(75250)) + return _sqlite3CorruptError(tls, int32(75639)) } /* Check if data must be read/written to/from the btree page itself. */ if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) { @@ -55473,7 +55712,11 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_ValidOvfl) == 0 { nOvfl = int32(((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload - uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) + ovflSize - uint32(1)) / ovflSize) if (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow == uintptr(0) || nOvfl*libc.Int32FromInt64(4) > _sqlite3MallocSize(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow) { - aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + if _sqlite3FaultSim(tls, int32(413)) != 0 { + aNew = uintptr(0) + } else { + aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + } if aNew == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -55484,6 +55727,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin p1 = pCur + 1 *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(BTCF_ValidOvfl)) } else { + /* Sanity check the validity of the overflow page cache */ /* If the overflow page-list cache has been allocated and the ** entry for the first required overflow page is valid, skip ** directly to it. @@ -55497,7 +55741,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin for *(*TPgno)(unsafe.Pointer(bp)) != 0 { /* If required, populate the overflow page-list cache. */ if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(75312)) + return _sqlite3CorruptError(tls, int32(75710)) } *(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp)) if offset >= ovflSize { @@ -55571,7 +55815,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin } if rc == SQLITE_OK && amt > uint32(0) { /* Overflow chain ends prematurely */ - return _sqlite3CorruptError(tls, int32(75396)) + return _sqlite3CorruptError(tls, int32(75794)) } return rc } @@ -55706,7 +55950,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { var v3, p1 uintptr _, _, _, _ = rc, v2, v3, p1 if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(75534)) + return _sqlite3CorruptError(tls, int32(75932)) } (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) p1 = pCur + 1 @@ -55718,7 +55962,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, newPgno, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(75548)) + rc = _sqlite3CorruptError(tls, int32(75946)) } if rc != 0 { v3 = pCur + 84 @@ -55834,7 +56078,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) { ** in such a way that page pRoot is linked into a second b-tree table ** (or the freelist). */ if int32((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) { - return _sqlite3CorruptError(tls, int32(75683)) + return _sqlite3CorruptError(tls, int32(76081)) } goto skip_init skip_init: @@ -55848,7 +56092,7 @@ skip_init: } else { if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) { if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) { - return _sqlite3CorruptError(tls, int32(75695)) + return _sqlite3CorruptError(tls, int32(76093)) } subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8))) (*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID) @@ -56082,7 +56326,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh break } if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(75937)) + return _sqlite3CorruptError(tls, int32(76342)) } } } @@ -56286,7 +56530,7 @@ func _sqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes p3 = pCur + 1 *(*Tu8)(unsafe.Pointer(p3)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p3))) & ^libc.Int32FromInt32(BTCF_ValidOvfl)) if !((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76133)) + return _sqlite3CorruptError(tls, int32(76538)) } goto bypass_moveto_root /* Start search on the current page */ } @@ -56349,7 +56593,7 @@ bypass_moveto_root: /* Invalid key size: 0x80 0x80 0x01 */ /* Minimum legal index key size */ if nCell < int32(2) || uint32(nCell)/(*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage { - rc = _sqlite3CorruptError(tls, int32(76220)) + rc = _sqlite3CorruptError(tls, int32(76625)) goto moveto_index_finish } pCellKey = _sqlite3Malloc(tls, uint64(nCell+nOverrun)) @@ -56380,7 +56624,7 @@ bypass_moveto_root: rc = SQLITE_OK (*TBtCursor)(unsafe.Pointer(pCur)).Fix = uint16(idx) if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 { - rc = _sqlite3CorruptError(tls, int32(76252)) + rc = _sqlite3CorruptError(tls, int32(76657)) } goto moveto_index_finish } @@ -56413,7 +56657,7 @@ bypass_moveto_root: p9 = pCur + 1 *(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl))) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(76283)) + return _sqlite3CorruptError(tls, int32(76688)) } *(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = uint16(lwr) *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage @@ -56422,7 +56666,7 @@ bypass_moveto_root: rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(76294)) + rc = _sqlite3CorruptError(tls, int32(76699)) } if rc != 0 { v11 = pCur + 84 @@ -56471,11 +56715,11 @@ func _sqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) (r Ti64) { var i Tu8 var n Ti64 _, _ = i, n - /* Currently this interface is only called by the OP_IfSmaller - ** opcode, and it that case the cursor will always be valid and - ** will always point to a leaf node. */ + /* Currently this interface is only called by the OP_IfSizeBetween + ** opcode and the OP_Count opcode with P3=1. In either case, + ** the cursor will always be valid unless the btree is empty. */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return int64(-int32(1)) + return 0 } if int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).Fleaf) == 0 { return int64(-int32(1)) @@ -56551,7 +56795,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76395)) + return _sqlite3CorruptError(tls, int32(76800)) } if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { @@ -56661,7 +56905,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76488)) + return _sqlite3CorruptError(tls, int32(76893)) } if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { idx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) @@ -56749,7 +56993,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt ** stores the total number of pages on the freelist. */ n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36) if n >= mxPage { - return _sqlite3CorruptError(tls, int32(76578)) + return _sqlite3CorruptError(tls, int32(76983)) } if n > uint32(0) { searchList = uint8(0) /* If the free-list must be searched for 'nearby' */ @@ -56804,7 +57048,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt nSearch++ } if v2 || v1 > n { - rc = _sqlite3CorruptError(tls, int32(76634)) + rc = _sqlite3CorruptError(tls, int32(77039)) } else { rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0) } @@ -56830,7 +57074,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) { /* Value of k is out of range. Database corruption */ - rc = _sqlite3CorruptError(tls, int32(76663)) + rc = _sqlite3CorruptError(tls, int32(77068)) goto end_allocate_page } else { if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -56857,7 +57101,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8) if iNewTrunk > mxPage { - rc = _sqlite3CorruptError(tls, int32(76697)) + rc = _sqlite3CorruptError(tls, int32(77102)) goto end_allocate_page } rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0) @@ -56928,7 +57172,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4))) if iPage > mxPage || iPage < uint32(2) { - rc = _sqlite3CorruptError(tls, int32(76762)) + rc = _sqlite3CorruptError(tls, int32(77167)) goto end_allocate_page } if !(searchList != 0) || (iPage == nearby || iPage < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -57066,7 +57310,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in iTrunk = uint32(0) /* Page number of free-list trunk page */ pPage1 = (*TBtShared)(unsafe.Pointer(pBt)).FpPage1 /* Initial number of pages on free-list */ if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(76889)) + return _sqlite3CorruptError(tls, int32(77294)) } if pMemPage != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage @@ -57117,7 +57361,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */ iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32) if iTrunk > _btreePagecount(tls, pBt) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76936)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77341)) goto freepage_out } *(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0) @@ -57126,7 +57370,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in } nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4) if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76947)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77352)) goto freepage_out } if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) { @@ -57216,7 +57460,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp _, _, _, _, _, _, _, _ = nOvfl, ovflPageSize, ovflPgno, pBt, rc, v1, v2, v3 if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { /* Cell extends past end of page */ - return _sqlite3CorruptError(tls, int32(77036)) + return _sqlite3CorruptError(tls, int32(77441)) } ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt @@ -57234,7 +57478,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp /* 0 is not a legal page number and page 1 cannot be an ** overflow page. Therefore if ovflPgno<2 or past the end of the ** file the database must be corrupt. */ - return _sqlite3CorruptError(tls, int32(77053)) + return _sqlite3CorruptError(tls, int32(77458)) } if nOvfl != 0 { rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp) @@ -57257,7 +57501,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp ** caller is iterating through or using in some other way, this ** can be problematic. */ - rc = _sqlite3CorruptError(tls, int32(77073)) + rc = _sqlite3CorruptError(tls, int32(77478)) } else { rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno) } @@ -57478,7 +57722,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { pc = uint32(int32(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77329)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77734)) return } rc = _freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -57872,12 +58116,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg sz = *(*Tu16)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FszCell + uintptr(i)*2)) if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) { if uint64(pCell+uintptr(sz)) > uint64(pEnd) { - return _sqlite3CorruptError(tls, int32(77718)) + return _sqlite3CorruptError(tls, int32(78123)) } pCell = pTmp + uintptr(int64(pCell)-int64(aData)) } else { if uint64(pCell+uintptr(sz)) > uint64(pSrcEnd) && uint64(pCell) < uint64(pSrcEnd) { - return _sqlite3CorruptError(tls, int32(77723)) + return _sqlite3CorruptError(tls, int32(78128)) } } pData -= uintptr(sz) @@ -57885,7 +58129,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*Tu8)(unsafe.Pointer(pCellptr + 1)) = uint8(int64(pData) - int64(aData)) pCellptr += uintptr(2) if pData < pCellptr { - return _sqlite3CorruptError(tls, int32(77729)) + return _sqlite3CorruptError(tls, int32(78134)) } libc.X__builtin___memmove_chk(tls, pData, pCell, uint64(sz), libc.X__builtin_object_size(tls, pData, 0)) i++ @@ -57980,7 +58224,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr ** database. But they might for a corrupt database. Hence use memmove() ** since memcpy() sends SIGABORT with overlapping buffers on OpenBSD */ if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(pEnd) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(pEnd) { - _sqlite3CorruptError(tls, int32(77814)) + _sqlite3CorruptError(tls, int32(78219)) return int32(1) } libc.X__builtin___memmove_chk(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz), libc.X__builtin_object_size(tls, pSlot, 0)) @@ -58128,7 +58372,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p if iOld < iNew { nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray) if nShift > nCell { - return _sqlite3CorruptError(tls, int32(77936)) + return _sqlite3CorruptError(tls, int32(78341)) } libc.X__builtin___memmove_chk(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), uint64(nCell*int32(2)), libc.X__builtin_object_size(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, 0)) nCell -= nShift @@ -58199,7 +58443,7 @@ editpage_fail: ; /* Unable to edit this page. Rebuild it from scratch instead. */ if nNew < int32(1) { - return _sqlite3CorruptError(tls, int32(78010)) + return _sqlite3CorruptError(tls, int32(78415)) } _populateCellCache(tls, pCArray, iNew, nNew) return _rebuildPage(tls, pCArray, iNew, nNew, pPg) @@ -58244,7 +58488,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt _, _, _, _, _, _, _ = pBt, pOut, pStop, v1, v2, v3, v4 pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt /* Page number of pNew */ if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return _sqlite3CorruptError(tls, int32(78050)) + return _sqlite3CorruptError(tls, int32(78455)) } /* dbfuzz001.test */ /* Allocate a new page. This page will become the right-sibling of ** pPage. Make the parent page writable, so that the new divider cell @@ -58605,7 +58849,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa ** table-interior, index-leaf, or index-interior). */ if int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78471)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78876)) goto balance_cleanup } /* Load b.apCell[] with pointers to all cells in pOld. If pOld @@ -58628,7 +58872,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa libc.X__builtin___memset_chk(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*uint64(limit+int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow)), libc.X__builtin_object_size(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0)) if int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 { if limit < int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78495)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78900)) goto balance_cleanup } limit = int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) @@ -58759,7 +59003,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa if i+int32(1) >= k { k = i + int32(2) if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78596)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79001)) goto balance_cleanup } (*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0 @@ -58802,7 +59046,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v10 = 0 } if cntNew[i] <= v10 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78629)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79034)) goto balance_cleanup } } @@ -58861,7 +59105,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v15 = 0 } if cntNew[i-int32(1)] <= v15 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78673)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79078)) goto balance_cleanup } goto _11 @@ -58893,7 +59137,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) nNew++ if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78706)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79111)) } if *(*int32)(unsafe.Pointer(bp)) != 0 { goto balance_cleanup @@ -59123,7 +59367,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa } pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8)) if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78906)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79311)) goto balance_cleanup } *(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno) @@ -59369,7 +59613,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) { break } if pOther != pCur && int32((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage { - return _sqlite3CorruptError(tls, int32(79138)) + return _sqlite3CorruptError(tls, int32(79543)) } goto _1 _1: @@ -59442,7 +59686,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) { /* The page being written is not a root page, and there is currently ** more than one reference to it. This only happens if the page is one ** of its own ancestor pages. Corruption. */ - rc = _sqlite3CorruptError(tls, int32(79198)) + rc = _sqlite3CorruptError(tls, int32(79603)) } else { pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8)) iIdx = int32(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2))) @@ -59601,7 +59845,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int return rc } if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = _sqlite3CorruptError(tls, int32(79362)) + rc = _sqlite3CorruptError(tls, int32(79767)) } else { if uint32(iOffset)+ovflPageSize < uint32(nTotal) { ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData) @@ -59632,7 +59876,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) { nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */ pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */ if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) { - return _sqlite3CorruptError(tls, int32(79390)) + return _sqlite3CorruptError(tls, int32(79795)) } if int32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal { /* The entire cell is local */ @@ -59717,7 +59961,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** Which can only happen if the SQLITE_NoSchemaError flag was set when ** the schema was loaded. This cannot be asserted though, as a user might ** set the flag, load the schema, and then unset the flag. */ - return _sqlite3CorruptError(tls, int32(79471)) + return _sqlite3CorruptError(tls, int32(79876)) } } /* Ensure that the cursor is not in the CURSOR_FAULT state and that it @@ -59809,7 +60053,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) { /* ^^^^^--- due to the moveToRoot() call above */ - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79594)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79999)) } else { *(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage) } @@ -59845,7 +60089,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) if *(*int32)(unsafe.Pointer(bp + 4)) == 0 { if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79636)) + return _sqlite3CorruptError(tls, int32(80041)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -59875,10 +60119,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ /* clearCell never fails when nLocal==nPayload */ if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) { - return _sqlite3CorruptError(tls, int32(79663)) + return _sqlite3CorruptError(tls, int32(80068)) } if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79666)) + return _sqlite3CorruptError(tls, int32(80071)) } libc.X__builtin___memcpy_chk(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 8))), libc.X__builtin_object_size(tls, oldCell, 0)) return SQLITE_OK @@ -59996,7 +60240,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79768)) + return _sqlite3CorruptError(tls, int32(80173)) } nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -60018,7 +60262,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T } if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79793)) + return _sqlite3CorruptError(tls, int32(80198)) } ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -60118,21 +60362,21 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { return *(*int32)(unsafe.Pointer(bp)) } } else { - return _sqlite3CorruptError(tls, int32(79889)) + return _sqlite3CorruptError(tls, int32(80294)) } } iCellDepth = int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) iCellIdx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return _sqlite3CorruptError(tls, int32(79898)) + return _sqlite3CorruptError(tls, int32(80303)) } pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx))))< _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80112)) + return _sqlite3CorruptError(tls, int32(80517)) } *(*TPgno)(unsafe.Pointer(bp + 8))++ /* The new root-page may not be allocated on a pointer-map page, or the @@ -60377,7 +60621,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36) if int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) { - *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80160)) + *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80565)) } if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -60458,14 +60702,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int var _ /* rc at bp+8 */ int32 _, _, _, _ = hdr, i, pCell, v2 if pgno > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80250)) + return _sqlite3CorruptError(tls, int32(80655)) } *(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0) if *(*int32)(unsafe.Pointer(bp + 8)) != 0 { return *(*int32)(unsafe.Pointer(bp + 8)) } if int32((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80257)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80662)) goto cleardatabasepage_out } hdr = int32((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset) @@ -60602,7 +60846,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) pBt = (*TBtree)(unsafe.Pointer(p)).FpBt if iTable > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80361)) + return _sqlite3CorruptError(tls, int32(80766)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -60867,7 +61111,7 @@ func _checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4551, int32(1)) + Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4615, int32(1)) } if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, pCheck+72, (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp+8, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv0, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -60915,11 +61159,11 @@ func _checkRef(tls *libc.TLS, pCheck uintptr, iPage TPgno) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if iPage > (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnCkPage || iPage == uint32(0) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4553, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4617, libc.VaList(bp+8, iPage)) return int32(1) } if _getPageReferenced(tls, pCheck, iPage) != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4576, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4640, libc.VaList(bp+8, iPage)) return int32(1) } _setPageReferenced(tls, pCheck, iPage) @@ -60945,11 +61189,11 @@ func _checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild TPgno, eType Tu8, iParen if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< (*TBtShared)(unsafe.Pointer((*TIntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize/uint32(4)-uint32(2) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4706, libc.VaList(bp+16, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4770, libc.VaList(bp+16, iPage)) N-- } else { i = 0 @@ -61021,11 +61265,11 @@ func _checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage TPgno, N } if N != 0 && nErrAtStart == (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr { if isFreeList != 0 { - v2 = __ccgo_ts + 4745 + v2 = __ccgo_ts + 4809 } else { - v2 = __ccgo_ts + 4750 + v2 = __ccgo_ts + 4814 } - _checkAppendMsg(tls, pCheck, __ccgo_ts+4771, libc.VaList(bp+16, v2, expected-N, expected)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4835, libc.VaList(bp+16, v2, expected-N, expected)) } } @@ -61161,12 +61405,12 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr if _checkRef(tls, pCheck, iPage) != 0 { return 0 } - (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4797 + (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4861 (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage v1 = _btreeGetPage(tls, pBt, iPage, bp+8, 0) rc = v1 if v1 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4815, libc.VaList(bp+56, rc)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4879, libc.VaList(bp+56, rc)) if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< usableSize-uint32(4) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4969, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5033, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) doCoverageCheck = 0 goto _4 } pCell = data + uintptr(pc) (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FxParseCell})))(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), pCell, bp+24) if pc+uint32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnSize) > usableSize { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4999, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5063, 0) doCoverageCheck = 0 goto _4 } @@ -61248,7 +61495,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr v5 = libc.BoolInt32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey >= *(*Ti64)(unsafe.Pointer(bp))) } if v5 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5023, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5087, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) } *(*Ti64)(unsafe.Pointer(bp)) = (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey keyCanBeEqual = 0 /* Only the first key on the page may ==maxKey */ @@ -61271,7 +61518,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr d2 = _checkTreePage(tls, pCheck, uint32(pgno), bp, *(*Ti64)(unsafe.Pointer(bp))) keyCanBeEqual = 0 if d2 != depth { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5047, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5111, 0) depth = d2 } } else { @@ -61348,7 +61595,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr prev = contentOffset - uint32(1) /* Implied first min-heap entry */ for _btreeHeapPull(tls, heap, bp+16) != 0 { if prev&uint32(0xffff) >= *(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5072, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5136, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) break } else { nFrag = int32(uint32(nFrag) + (*(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) - prev&libc.Uint32FromInt32(0xffff) - libc.Uint32FromInt32(1))) @@ -61362,7 +61609,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr ** number of fragmented free bytes within the cell content area. */ if *(*Tu32)(unsafe.Pointer(heap)) == uint32(0) && nFrag != int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5109, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5173, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) } } goto end_of_check @@ -61402,16 +61649,16 @@ end_of_check: // ** the unverified btrees. Except, if aRoot[1] is 1, then the freelist // ** checks are still performed. // */ -func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { - bp := tls.Alloc(256) - defer tls.Free(256) +func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, aCnt uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { + bp := tls.Alloc(272) + defer tls.Free(272) var bCkFreelist, bPartial int32 var i, mx, mxInHdr TPgno var pBt uintptr var savedDbFlags Tu64 - var _ /* notUsed at bp+224 */ Ti64 + var _ /* notUsed at bp+232 */ Ti64 var _ /* sCheck at bp+0 */ TIntegrityCk - var _ /* zErr at bp+120 */ [100]int8 + var _ /* zErr at bp+128 */ [100]int8 _, _, _, _, _, _, _ = bCkFreelist, bPartial, i, mx, mxInHdr, pBt, savedDbFlags pBt = (*TBtree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Tsqlite3)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags @@ -61425,13 +61672,13 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } } _sqlite3BtreeEnter(tls, p) - libc.X__builtin___memset_chk(tls, bp, 0, uint64(120), libc.X__builtin_object_size(tls, bp, 0)) + libc.X__builtin___memset_chk(tls, bp, 0, uint64(128), libc.X__builtin_object_size(tls, bp, 0)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fdb = db (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt = pBt (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage = _btreePagecount(tls, (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr = mxErr - _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+120, int32(100), int32(SQLITE_MAX_LENGTH)) + _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+128, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FerrMsg.FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage == uint32(0) { goto integrity_ck_cleanup @@ -61453,7 +61700,7 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin /* Check the integrity of the freelist */ if bCkFreelist != 0 { - (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 5161 + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 5225 _checkList(tls, bp, int32(1), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = uintptr(0) } @@ -61477,11 +61724,11 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } mxInHdr = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+52) if mx != mxInHdr { - _checkAppendMsg(tls, bp, __ccgo_ts+5172, libc.VaList(bp+240, mx, mxInHdr)) + _checkAppendMsg(tls, bp, __ccgo_ts+5236, libc.VaList(bp+248, mx, mxInHdr)) } } else { if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64) != uint32(0) { - _checkAppendMsg(tls, bp, __ccgo_ts+5217, 0) + _checkAppendMsg(tls, bp, __ccgo_ts+5281, 0) } } } @@ -61491,14 +61738,15 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin if !(int32(i) < nRoot && (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr != 0) { break } - if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == uint32(0) { - goto _2 - } - if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { - _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnRow = 0 + if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) != 0 { + if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { + _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + } + (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fv0 = *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) + _checkTreePage(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+232, libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)< nRec || iHdr >= *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84303)) + iHdr = uint32(uint8(v1)) + if *(*Tu32)(unsafe.Pointer(bp + 4)) > uint32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84745)) } - iField = *(*int32)(unsafe.Pointer(bp + 4)) + iField = int64(*(*Tu32)(unsafe.Pointer(bp + 4))) i = 0 for { if !(i <= iCol) { @@ -64489,19 +64768,19 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC } else { v3 = int32(_sqlite3GetVarint32(tls, a+uintptr(iHdr), bp)) } - iHdr += int32(uint8(v3)) - if iHdr > *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84309)) + iHdr += uint32(uint8(v3)) + if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84751)) } - szField = int32(_sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))) - iField += szField + szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp))) + iField += int64(szField) goto _2 _2: ; i++ } - if iField > nRec { - return _sqlite3CorruptError(tls, int32(84315)) + if iField > int64(nRec) { + return _sqlite3CorruptError(tls, int32(84757)) } if pMem == uintptr(0) { v4 = _sqlite3ValueNew(tls, db) @@ -64511,7 +64790,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return int32(SQLITE_NOMEM) } } - _sqlite3VdbeSerialGet(tls, a+uintptr(iField-szField), *(*Tu32)(unsafe.Pointer(bp)), pMem) + _sqlite3VdbeSerialGet(tls, a+uintptr(iField-int64(szField)), *(*Tu32)(unsafe.Pointer(bp)), pMem) (*TMem)(unsafe.Pointer(pMem)).Fenc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc return SQLITE_OK } @@ -65299,6 +65578,9 @@ func _resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* True because of tag-20230419-1 */ (*TOp)(unsafe.Pointer(pOp)).Fp2 = *(*int32)(unsafe.Pointer(aLabel + uintptr(^(*TOp)(unsafe.Pointer(pOp)).Fp2)*4)) } + /* OPFLG_JUMP opcodes never have P2==0, though OPFLG_JUMP0 opcodes + ** might */ + /* Jumps never go off the end of the bytecode array */ break } /* The mkopcodeh.tcl script has so arranged things that the only @@ -65811,7 +66093,7 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { switch int32((*TOp)(unsafe.Pointer(pOp)).Fp4type) { case -int32(8): pKeyInfo = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5429, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5493, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) j = 0 for { if !(j < int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)) { @@ -65821,66 +66103,66 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { if pColl != 0 { v2 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } zColl = v2 - if libc.Xstrcmp(tls, zColl, __ccgo_ts+5434) == 0 { - zColl = __ccgo_ts + 5441 + if libc.Xstrcmp(tls, zColl, __ccgo_ts+5498) == 0 { + zColl = __ccgo_ts + 5505 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_DESC) != 0 { - v3 = __ccgo_ts + 5422 + v3 = __ccgo_ts + 5486 } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_BIGNULL) != 0 { - v4 = __ccgo_ts + 5443 + v4 = __ccgo_ts + 5507 } else { - v4 = __ccgo_ts + 1650 + v4 = __ccgo_ts + 1664 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5446, libc.VaList(bp+40, v3, v4, zColl)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5510, libc.VaList(bp+40, v3, v4, zColl)) goto _1 _1: ; j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5454, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5518, int32(1)) case -int32(2): pColl1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5470, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5534, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) case -int32(7): pDef = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5479, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5543, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) case -int32(15): pDef1 = (*Tsqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpFunc - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5479, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5543, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) case -int32(13): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1406, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1425, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(3): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5486, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5550, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) case -int32(12): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1373, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1392, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(10): pMem = *(*uintptr)(unsafe.Pointer(pOp + 16)) if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Str) != 0 { zP4 = (*TMem)(unsafe.Pointer(pMem)).Fz } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1406, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1425, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1373, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1392, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Null) != 0 { - zP4 = __ccgo_ts + 1651 + zP4 = __ccgo_ts + 1665 } else { - zP4 = __ccgo_ts + 5489 + zP4 = __ccgo_ts + 5553 } } } } case -int32(11): pVtab = (*TVTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpVtab - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5496, libc.VaList(bp+40, pVtab)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5560, libc.VaList(bp+40, pVtab)) case -int32(14): ai = *(*uintptr)(unsafe.Pointer(pOp + 16)) n = *(*Tu32)(unsafe.Pointer(ai)) /* The first element of an INTARRAY is always the @@ -65895,15 +66177,15 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } else { v6 = int32(',') } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5504, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5568, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) goto _5 _5: ; i++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5509, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5573, int32(1)) case -int32(4): - zP4 = __ccgo_ts + 5511 + zP4 = __ccgo_ts + 5575 case -int32(5): zP4 = (*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FzName default: @@ -65919,10 +66201,10 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } var _encnames = [4]uintptr{ - 0: __ccgo_ts + 5456, - 1: __ccgo_ts + 5458, - 2: __ccgo_ts + 5460, - 3: __ccgo_ts + 5465, + 0: __ccgo_ts + 5520, + 1: __ccgo_ts + 5522, + 2: __ccgo_ts + 5524, + 3: __ccgo_ts + 5529, } // C documentation @@ -66873,7 +67155,7 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { retryCount = 0 /* Select a super-journal file name */ nMainFile = _sqlite3Strlen30(tls, zMainFile) - zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5519, libc.VaList(bp+24, 0, zMainFile, 0)) + zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5583, libc.VaList(bp+24, 0, zMainFile, 0)) if zSuper == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -66881,18 +67163,18 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { for cond := true; cond; cond = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8)) != 0 { if retryCount != 0 { if retryCount > int32(100) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5531, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5595, libc.VaList(bp+24, zSuper)) _sqlite3OsDelete(tls, pVfs, zSuper, 0) break } else { if retryCount == int32(1) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5545, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5609, libc.VaList(bp+24, zSuper)) } } } retryCount++ Xsqlite3_randomness(tls, int32(4), bp+12) - Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5560, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) + Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5624, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) /* The antipenultimate character of the super-journal name must ** be "9" to avoid name collisions when using 8+3 filenames. */ rc = _sqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+8) @@ -67123,7 +67405,7 @@ func _sqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) (r int32) { if deferred != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > 0 || !(deferred != 0) && (*TVdbe)(unsafe.Pointer(p)).FnFkConstraint > 0 { (*TVdbe)(unsafe.Pointer(p)).Frc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(3)< y { return +libc.Int32FromInt32(1) } - s = float64(i) - if s < r { + if float64(i) < r { v2 = -int32(1) } else { - v2 = libc.BoolInt32(s > r) + v2 = libc.BoolInt32(float64(i) > r) } return v2 } @@ -68432,7 +68713,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89131))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89580))) return 0 /* Corruption */ } /* Only needed by assert() statements */ @@ -68522,7 +68803,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr pKeyInfo = v4 } if v5 || int32((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89212))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89661))) return 0 /* Corruption */ } else { if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { @@ -68557,7 +68838,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } else { nStr = int32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2)) if d1+uint32(nStr) > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89242))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89691))) return 0 /* Corruption */ } else { if int32((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 { @@ -68611,7 +68892,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } idx1 += uint32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68))))) if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89293))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89742))) return 0 /* Corrupt index */ } } @@ -68743,7 +69024,7 @@ vrcs_restart: szHdr = int32(*(*Tu8)(unsafe.Pointer(aKey1))) nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2) if szHdr+nStr > nKey1 { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89456))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89905))) return 0 /* Corruption */ } if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr { @@ -68895,7 +69176,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr idx_rowid_corruption: ; _sqlite3VdbeMemReleaseMalloc(tls, bp+8) - return _sqlite3CorruptError(tls, int32(89614)) + return _sqlite3CorruptError(tls, int32(90063)) } // C documentation @@ -68926,7 +69207,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked ** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */ if nCellKey <= 0 || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return _sqlite3CorruptError(tls, int32(89647)) + return _sqlite3CorruptError(tls, int32(90096)) } _sqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, uint32(nCellKey), bp) @@ -69077,15 +69358,15 @@ func _sqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) (r int32) { pOp = (*TVdbe)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe)).FaOp + uintptr((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FiOp)*24 if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fopcode) == int32(OP_PureFunc) { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_IsCheck) != 0 { - zContext = __ccgo_ts + 5603 + zContext = __ccgo_ts + 5667 } else { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_GenCol) != 0 { - zContext = __ccgo_ts + 5622 + zContext = __ccgo_ts + 5686 } else { - zContext = __ccgo_ts + 5641 + zContext = __ccgo_ts + 5705 } } - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5650, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5714, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) return 0 @@ -69259,7 +69540,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) (r int32) { // */ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { if (*TVdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5686, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5750, 0) return int32(1) } else { return 0 @@ -69269,7 +69550,7 @@ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { func _vdbeSafetyNotNull(tls *libc.TLS, p uintptr) (r int32) { if p == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5731, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5795, 0) return int32(1) } else { return _vdbeSafety(tls, p) @@ -69327,7 +69608,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt db = (*TVdbe)(unsafe.Pointer(v)).Fdb if _vdbeSafety(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90035)) + return _sqlite3MisuseError(tls, int32(90484)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 { @@ -69830,7 +70111,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { // /* Force an SQLITE_TOOBIG error. */ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FisError = int32(SQLITE_TOOBIG) - _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5771, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) + _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5835, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) } // C documentation @@ -70031,7 +70312,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt /* the prepared statement */ cnt = 0 /* The database connection */ if _vdbeSafetyNotNull(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90829)) + return _sqlite3MisuseError(tls, int32(91278)) } db = (*TVdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) @@ -70161,7 +70442,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32 _, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1 *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) if pVal == uintptr(0) { - return _sqlite3MisuseError(tls, int32(90950)) + return _sqlite3MisuseError(tls, int32(91399)) } if int32((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) { return int32(SQLITE_ERROR) @@ -70621,18 +70902,18 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) (r int32) { // ** Column names appropriate for EXPLAIN or EXPLAIN QUERY PLAN. // */ var _azExplainColNames8 = [12]uintptr{ - 0: __ccgo_ts + 5794, - 1: __ccgo_ts + 5799, - 2: __ccgo_ts + 5806, - 3: __ccgo_ts + 5809, - 4: __ccgo_ts + 5812, - 5: __ccgo_ts + 5815, - 6: __ccgo_ts + 5818, - 7: __ccgo_ts + 5821, - 8: __ccgo_ts + 5829, - 9: __ccgo_ts + 5832, - 10: __ccgo_ts + 5839, - 11: __ccgo_ts + 5847, + 0: __ccgo_ts + 5858, + 1: __ccgo_ts + 5863, + 2: __ccgo_ts + 5870, + 3: __ccgo_ts + 5873, + 4: __ccgo_ts + 5876, + 5: __ccgo_ts + 5879, + 6: __ccgo_ts + 5882, + 7: __ccgo_ts + 5885, + 8: __ccgo_ts + 5893, + 9: __ccgo_ts + 5896, + 10: __ccgo_ts + 5903, + 11: __ccgo_ts + 5911, } var _azExplainColNames16data = [60]Tu16{ 0: uint16('a'), @@ -70876,14 +71157,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) { var v2 bool _, _, _ = pVar, v1, v2 if _vdbeSafetyNotNull(tls, p) != 0 { - return _sqlite3MisuseError(tls, int32(91554)) + return _sqlite3MisuseError(tls, int32(92003)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if int32((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) { - _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(91558))) + _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(92007))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5854, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) - return _sqlite3MisuseError(tls, int32(91562)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5918, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) + return _sqlite3MisuseError(tls, int32(92011)) } if i >= uint32((*TVdbe)(unsafe.Pointer(p)).FnVar) { _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE)) @@ -71447,7 +71728,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp /* Test that this call is being made from within an SQLITE_DELETE or ** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */ if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) { - rc = _sqlite3MisuseError(tls, int32(92098)) + rc = _sqlite3MisuseError(tls, int32(92547)) goto preupdate_old_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 { @@ -71577,7 +71858,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp rc = SQLITE_OK p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) { - rc = _sqlite3MisuseError(tls, int32(92221)) + rc = _sqlite3MisuseError(tls, int32(92670)) goto preupdate_new_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) { @@ -71751,7 +72032,7 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr break } } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5894, int32(3)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5958, int32(3)) Xsqlite3_str_append(tls, bp+8, zStart, int32(int64(zRawSql)-int64(zStart))) } } else { @@ -71783,13 +72064,13 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr nextIndex = v2 pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(*(*int32)(unsafe.Pointer(bp))-int32(1))*56 if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1651, int32(4)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1665, int32(4)) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1406, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1425, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5415, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5479, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Str) != 0 { /* Number of bytes of the string text to include in output */ enc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc @@ -71804,28 +72085,28 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr pVar = bp + 40 } nOut = (*TMem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5898, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5962, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != int32(SQLITE_UTF8) { _sqlite3VdbeMemRelease(tls, bp+40) } } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5905, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5969, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) } else { /* Number of bytes of the blob to include in output */ - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5918, int32(2)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5982, int32(2)) nOut1 = (*TMem)(unsafe.Pointer(pVar)).Fn i = 0 for { if !(i < nOut1) { break } - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5921, libc.VaList(bp+104, int32(*(*int8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5985, libc.VaList(bp+104, int32(*(*int8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) goto _3 _3: ; i++ } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5926, int32(1)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5990, int32(1)) } } } @@ -72425,7 +72706,7 @@ var _azTypes = [5]uintptr{ 1: __ccgo_ts + 1146, 2: __ccgo_ts + 1151, 3: __ccgo_ts + 1129, - 4: __ccgo_ts + 1651, + 4: __ccgo_ts + 1665, } // C documentation @@ -72439,7 +72720,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { defer tls.Free(976) var aCol, aMem, aOffset, aOp, aPermute, aRoot, apArg, apArg1, db, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pnErr, t1, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v240, v241, v242, v250, v251, v252, v253, v255, v263, v278, v279, v286, v288, v297, v298, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 uintptr var affinity int8 - var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 + var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, savedAnalysisLimit, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 var colCacheCtr, iAddr, iMap, iPrior, idx, len11, n3, p22, p23, serialType, serial_type, v213, v214, v216, v221, v222 Tu32 var encoding, isWriteLock, mTrace, op, p5, resetSchemaOnFault, vtabOnConflict, v225 Tu8 var flags1, flags11, flags2, flags3, flags31, newType, nullFlag, type1, type2, typeMask, v190 Tu16 @@ -72496,7 +72777,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { var _ /* z at bp+688 */ uintptr var _ /* zErr at bp+632 */ uintptr var _ /* zErr at bp+792 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, savedAnalysisLimit, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 aOp = (*TVdbe)(unsafe.Pointer(p)).FaOp /* Copy of p->aOp */ pOp = aOp /* Current operation */ rc = SQLITE_OK /* Value to return */ @@ -72766,7 +73047,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto _109 case int32(OP_SeekEnd): goto _110 - case int32(OP_IfSmaller): + case int32(OP_IfSizeBetween): goto _111 case int32(OP_Sort): goto _112 @@ -73060,7 +73341,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: EndCoroutine */ _5: - ; /* jump */ + ; /* jump0 */ pOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 *(*Ti64)(unsafe.Pointer(pOut)) = int64((*TOp)(unsafe.Pointer(pOp)).Fp3 - int32(1)) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Int) @@ -73080,7 +73361,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** ** The instruction at the address in register P1 is a Yield. ** Jump to the P2 parameter of that Yield. - ** After the jump, register P1 becomes undefined. + ** After the jump, the value register P1 is left with a value + ** such that subsequent OP_Yields go back to the this same + ** OP_EndCoroutine instruction. ** ** See also: InitCoroutine */ @@ -73088,8 +73371,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ; pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 pCaller = aOp + uintptr(*(*Ti64)(unsafe.Pointer(pIn1)))*24 + *(*Ti64)(unsafe.Pointer(pIn1)) = int64(int32((int64(pOp)-int64((*TVdbe)(unsafe.Pointer(p)).FaOp))/24) - int32(1)) pOp = aOp + uintptr((*TVdbeOp)(unsafe.Pointer(pCaller)).Fp2-int32(1))*24 - (*TMem)(unsafe.Pointer(pIn1)).Fflags = uint16(MEM_Undefined) goto _187 /* Opcode: Yield P1 P2 * * * ** @@ -73186,15 +73469,15 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TVdbe)(unsafe.Pointer(p)).FerrorAction = uint8((*TOp)(unsafe.Pointer(pOp)).Fp2) if (*TVdbe)(unsafe.Pointer(p)).Frc != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+5962, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) + _sqlite3VdbeError(tls, p, __ccgo_ts+6026, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) if *(*uintptr)(unsafe.Pointer(pOp + 16)) != 0 { - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5983, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+6047, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } } else { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } pcx = int32((int64(pOp) - int64(aOp)) / 24) - Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5990, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+6054, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) } rc = _sqlite3VdbeHalt(tls, p) if rc == int32(SQLITE_BUSY) { @@ -73386,13 +73669,10 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } (*TMem)(unsafe.Pointer(pOut)).Fenc = encoding goto _187 - /* Opcode: Variable P1 P2 * P4 * - ** Synopsis: r[P2]=parameter(P1,P4) + /* Opcode: Variable P1 P2 * * * + ** Synopsis: r[P2]=parameter(P1) ** ** Transfer the values of bound parameter P1 into register P2 - ** - ** If the parameter is named, then its name appears in P4. - ** The P4 value is used by sqlite3_bind_parameter_name(). */ _19: ; /* Value being transferred */ @@ -73915,7 +74195,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** raise an SQLITE_MISMATCH exception. */ _38: - ; /* jump, in1 */ + ; /* jump0, in1 */ pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 if int32((*TMem)(unsafe.Pointer(pIn1)).Fflags)&int32(MEM_Int) == 0 { _applyAffinity(tls, pIn1, int8(SQLITE_AFF_NUMERIC), encoding) @@ -74920,7 +75200,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24 goto _187 } else { - rc = _sqlite3CorruptError(tls, int32(95863)) + rc = _sqlite3CorruptError(tls, int32(96311)) goto abort_due_to_error } /* Opcode: TypeCheck P1 P2 P3 P4 * @@ -75023,7 +75303,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_type_error vdbe_type_error: ; - _sqlite3VdbeError(tls, p, __ccgo_ts+6014, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6078, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(12)< 0 && p12 == int32(SAVEPOINT_RELEASE) { /* It is not possible to release (commit) a savepoint if there are ** active write statements. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+6128, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6192, 0) rc = int32(SQLITE_BUSY) } else { /* Determine whether or not this is a transaction savepoint. If so, @@ -75619,7 +75899,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If this instruction implements a COMMIT and other VMs are writing ** return an error indicating that the other VMs must complete first. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+6182, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6246, 0) rc = int32(SQLITE_BUSY) goto abort_due_to_error } else { @@ -75649,12 +75929,12 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_return } else { if !(desiredAutoCommit != 0) { - v250 = __ccgo_ts + 6237 + v250 = __ccgo_ts + 6301 } else { if iRollback != 0 { - v251 = __ccgo_ts + 6285 + v251 = __ccgo_ts + 6349 } else { - v251 = __ccgo_ts + 6328 + v251 = __ccgo_ts + 6392 } v250 = v251 } @@ -75746,7 +76026,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** SQL statement was prepared. */ _sqlite3DbFree(tls, db, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg) - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6369) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6433) /* If the schema-cookie from the database file matches the cookie ** stored with the in-memory representation of the schema, do ** not reload the schema from the database file. @@ -76064,7 +76344,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** form sqlite3BtreeInsert() where the length of the data is zero. */ /* Only used when number of columns is zero */ (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fn = 0 - (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1650 + (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1664 } pCx1 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) if pCx1 != 0 && !(int32(TBool(*(*uint8)(unsafe.Pointer(pCx1 + 8))&0x8>>3)) != 0) && (*TOp)(unsafe.Pointer(pOp)).Fp2 <= int32((*TVdbeCursor)(unsafe.Pointer(pCx1)).FnField) { @@ -76169,7 +76449,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** is the only cursor opcode that works with a pseudo-table. ** ** P3 is the number of fields in the records that will be stored by - ** the pseudo-table. + ** the pseudo-table. If P2 is 0 or negative then the pseudo-cursor + ** will return NULL for every column. */ _83: ; @@ -76287,11 +76568,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: Found, NotFound, SeekGt, SeekGe, SeekLt */ _88: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _87: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _86: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _85: ; /* Only interested in == results */ pC5 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -76854,7 +77135,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TVdbeCursor)(unsafe.Pointer(pC10)).FseekResult = *(*int32)(unsafe.Pointer(bp + 248)) if *(*int32)(unsafe.Pointer(bp + 248)) != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 { - rc = _sqlite3CorruptError(tls, int32(98111)) + rc = _sqlite3CorruptError(tls, int32(98565)) } else { goto jump_to_p2 } @@ -77454,10 +77735,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } goto _187 - /* Opcode: IfSmaller P1 P2 P3 * * + /* Opcode: IfSizeBetween P1 P2 P3 P4 * + ** + ** Let N be the approximate number of rows in the table or index + ** with cursor P1 and let X be 10*log2(N) if N is positive or -1 + ** if N is zero. ** - ** Estimate the number of rows in the table P1. Jump to P2 if that - ** estimate is less than approximately 2**(0.1*P3). + ** Jump to P2 if X is in between P3 and P4, inclusive. */ _111: ; @@ -77467,12 +77751,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { goto abort_due_to_error } - if *(*int32)(unsafe.Pointer(bp + 396)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { + sz = int64(-int32(1)) /* -Infinity encoding */ + } else { sz = _sqlite3BtreeRowCountEst(tls, pCrsr5) - if sz >= 0 && int32(_sqlite3LogEst(tls, uint64(sz))) < (*TOp)(unsafe.Pointer(pOp)).Fp3 { - *(*int32)(unsafe.Pointer(bp + 396)) = int32(1) - } + sz = int64(_sqlite3LogEst(tls, uint64(sz))) } + *(*int32)(unsafe.Pointer(bp + 396)) = libc.BoolInt32(sz >= int64((*TOp)(unsafe.Pointer(pOp)).Fp3) && sz <= int64((*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { goto jump_to_p2 } @@ -77742,7 +78027,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } else { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) { - rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) { - rc = _sqlite3CorruptError(tls, int32(99398)) + rc = _sqlite3CorruptError(tls, int32(99862)) goto abort_due_to_error } _sqlite3VdbeMemInit(tls, bp+552, db, uint16(0)) @@ -78039,11 +78324,18 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } *(*Ti64)(unsafe.Pointer(pOut)) = int64(*(*TPgno)(unsafe.Pointer(bp + 624))) goto _187 - /* Opcode: SqlExec * * * P4 * + /* Opcode: SqlExec P1 P2 * P4 * ** ** Run the SQL statement or statements specified in the P4 string. - ** Disable Auth and Trace callbacks while those statements are running if - ** P1 is true. + ** + ** The P1 parameter is a bitmask of options: + ** + ** 0x0001 Disable Auth and Trace callbacks while the statements + ** in P4 are running. + ** + ** 0x0002 Set db->nAnalysisLimit to P2 while the statements in + ** P4 are running. + ** */ _132: ; @@ -78051,16 +78343,21 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*uintptr)(unsafe.Pointer(bp + 632)) = uintptr(0) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth mTrace = (*Tsqlite3)(unsafe.Pointer(db)).FmTrace - if (*TOp)(unsafe.Pointer(pOp)).Fp1 != 0 { + savedAnalysisLimit = (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0001) != 0 { (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(0) } + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0002) != 0 { + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (*TOp)(unsafe.Pointer(pOp)).Fp2 + } rc = Xsqlite3_exec(tls, db, *(*uintptr)(unsafe.Pointer(pOp + 16)), uintptr(0), uintptr(0), bp+632) (*Tsqlite3)(unsafe.Pointer(db)).FnSqlExec-- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = mTrace + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = savedAnalysisLimit if *(*uintptr)(unsafe.Pointer(bp + 632)) != 0 || rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 632))) if rc == int32(SQLITE_NOMEM) { goto no_mem @@ -78091,13 +78388,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_SchemaChange) libc.SetBitFieldPtr16Uint32(p+200, libc.Uint32FromInt32(0), 0, 0x3) } else { - zSchema = __ccgo_ts + 6414 + zSchema = __ccgo_ts + 6478 (*(*TInitData)(unsafe.Pointer(bp + 640))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 640))).FiDb = iDb3 (*(*TInitData)(unsafe.Pointer(bp + 640))).FpzErrMsg = p + 168 (*(*TInitData)(unsafe.Pointer(bp + 640))).FmInitFlags = uint32(0) (*(*TInitData)(unsafe.Pointer(bp + 640))).FmxPage = _sqlite3BtreeLastPage(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6428, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6492, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -78112,7 +78409,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* The OP_ParseSchema opcode with a non-NULL P4 argument should parse ** at least one SQL statement. Any less than that indicates that ** the sqlite_schema table is corrupt. */ - rc = _sqlite3CorruptError(tls, int32(99678)) + rc = _sqlite3CorruptError(tls, int32(100155)) } _sqlite3DbFreeNN(tls, db, zSql) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) @@ -78178,11 +78475,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* Opcode: IntegrityCk P1 P2 P3 P4 P5 ** ** Do an analysis of the currently open database. Store in - ** register P1 the text of an error message describing any problems. - ** If no problems are found, store a NULL in register P1. + ** register (P1+1) the text of an error message describing any problems. + ** If no problems are found, store a NULL in register (P1+1). ** - ** The register P3 contains one less than the maximum number of allowed errors. - ** At most reg(P3) errors will be reported. + ** The register (P1) contains one less than the maximum number of allowed + ** errors. At most reg(P1) errors will be reported. ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. ** @@ -78198,9 +78495,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ; /* Register keeping track of errors remaining */ nRoot = (*TOp)(unsafe.Pointer(pOp)).Fp2 aRoot = *(*uintptr)(unsafe.Pointer(pOp + 16)) - pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 - pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 - rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) + pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 + pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1+int32(1))*56 + rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, aMem+uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) _sqlite3VdbeMemSetNull(tls, pIn1) if *(*int32)(unsafe.Pointer(bp + 680)) == 0 { } else { @@ -78306,7 +78603,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** P1 contains the address of the memory cell that contains the first memory ** cell in an array of values used as arguments to the sub-program. P2 ** contains the address to jump to if the sub-program throws an IGNORE - ** exception using the RAISE() function. Register P3 contains the address + ** exception using the RAISE() function. P2 might be zero, if there is + ** no possibility that an IGNORE exception will be raised. + ** Register P3 contains the address ** of a memory cell in this (the parent) VM that is used to allocate the ** memory required by the sub-vdbe at runtime. ** @@ -78347,7 +78646,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } if (*TVdbe)(unsafe.Pointer(p)).FnFrame >= *(*int32)(unsafe.Pointer(db + 136 + 10*4)) { rc = int32(SQLITE_ERROR) - _sqlite3VdbeError(tls, p, __ccgo_ts+6471, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6535, 0) goto abort_due_to_error } /* Register pRt is used to store the memory required to save the state @@ -78711,7 +79010,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } /* IMP: R-24505-23230 */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError } if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FskipFlag != 0 { @@ -78767,7 +79066,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3VdbeMemFinalize(tls, pMem3, *(*uintptr)(unsafe.Pointer(pOp + 16))) } if rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) goto abort_due_to_error } _sqlite3VdbeChangeEncoding(tls, pMem3, int32(encoding)) @@ -78846,11 +79145,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeRead > int32(1) { rc = int32(SQLITE_ERROR) if eNew == int32(PAGER_JOURNALMODE_WAL) { - v286 = __ccgo_ts + 6508 + v286 = __ccgo_ts + 6572 } else { - v286 = __ccgo_ts + 6513 + v286 = __ccgo_ts + 6577 } - _sqlite3VdbeError(tls, p, __ccgo_ts+6520, libc.VaList(bp+944, v286)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6584, libc.VaList(bp+944, v286)) goto abort_due_to_error } else { if eOld == int32(PAGER_JOURNALMODE_WAL) { @@ -79003,7 +79302,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { if rc&int32(0xFF) == int32(SQLITE_LOCKED) { z1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - _sqlite3VdbeError(tls, p, __ccgo_ts+6572, libc.VaList(bp+944, z1)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6636, libc.VaList(bp+944, z1)) } goto abort_due_to_error } @@ -79165,7 +79464,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TValueList)(unsafe.Pointer(pRhs)).FpOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 pOut = _out2Prerelease(tls, p, pOp) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null) - _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6601, __ccgo_fp(_sqlite3VdbeValueListFree)) + _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6665, __ccgo_fp(_sqlite3VdbeValueListFree)) goto _187 /* Opcode: VFilter P1 P2 P3 P4 * ** Synopsis: iplan=r[P3] zplan='P4' @@ -79261,7 +79560,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_module)(unsafe.Pointer(pModule4)).FxColumn})))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 48)), bp+800, (*TOp)(unsafe.Pointer(pOp)).Fp2) _sqlite3VtabImportErrmsg(tls, p, pVtab4) if (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) rc = (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError } _sqlite3VdbeChangeEncoding(tls, pDest2, int32(encoding)) @@ -79515,7 +79814,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If the function returned an error, throw an exception */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError } _sqlite3VdbeDeleteAuxData(tls, db, p+296, (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FiOp, (*TOp)(unsafe.Pointer(pOp)).Fp1) @@ -79666,7 +79965,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { Xsqlite3_free(tls, z2) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeExec > int32(1) { - z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6611, libc.VaList(bp+944, zTrace)) + z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6675, libc.VaList(bp+944, zTrace)) (*(*func(*libc.TLS, Tu32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(&(*Tsqlite3)(unsafe.Pointer(db)).Ftrace))})))(tls, uint32(SQLITE_TRACE_STMT), (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) _sqlite3DbFree(tls, db, z3) } else { @@ -79738,15 +80037,15 @@ abort_due_to_error: rc = int32(SQLITE_NOMEM) } else { if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)<op on success */ - pTab = uintptr(0) /* A column of pTab */ - *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, cntTab, db, eNewExprOp, hCol, hCol1, hit, i, iCol, j, nSubquery, op, pCol, pEList, pItem, pMatch, pOrig, pSchema, pSrcList, pTab, pTopNC, pUpsert, zAs, zCol, zErr, v10, v5, v7, v8 /* Loop counters */ + cnt = 0 /* Number of matching column names */ + cntTab = 0 /* Number of potential "rowid" matches */ + nSubquery = 0 /* How many levels of subquery */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Use for looping over pSrcList items */ + pMatch = uintptr(0) /* The matching pSrcList item */ + pTopNC = pNC /* First namecontext in the list */ + pSchema = uintptr(0) /* Schema of the expression */ + eNewExprOp = int32(TK_COLUMN) /* New value for pExpr->op on success */ + pTab = uintptr(0) /* A column of pTab */ + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + zCol = *(*uintptr)(unsafe.Pointer(pRight + 8)) /* the name context cannot be NULL. */ /* The Z in X.Y.Z cannot be NULL */ /* Initialize the node to no-match */ @@ -84631,7 +84931,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ; i++ } - if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6933, zDb) == 0 { + if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6997, zDb) == 0 { /* This branch is taken when the main database has been renamed ** using SQLITE_DBCONFIG_MAINDBNAME. */ pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema @@ -84724,7 +85024,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TTable)(unsafe.Pointer(pTab)).FpSchema != pSchema { goto _2 } - if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6938) != 0 { + if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+7002) != 0 { goto _2 } } @@ -84836,16 +85136,16 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != uintptr(0) { op = int32((*TParse)(unsafe.Pointer(pParse)).FeTriggerOp) if (*TParse)(unsafe.Pointer(pParse)).FbReturning != 0 { - if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0) { + if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0 || _isValidSchemaTableName(tls, zTab, (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab, uintptr(0)) != 0) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = libc.BoolInt32(op != int32(TK_DELETE)) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } } else { - if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6940, zTab) == 0 { + if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+7004, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(1) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } else { - if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6944, zTab) == 0 { + if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+7008, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = 0 pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } @@ -84854,7 +85154,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UUpsert) != 0 && zTab != uintptr(0) { pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16)) - if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6948, zTab) == 0 { + if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+7012, zTab) == 0 { pTab = (*(*TSrcItem)(unsafe.Pointer((*TUpsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8))).FpTab (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(EXCLUDED_TABLE_NUMBER) } @@ -84970,15 +85270,15 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if int32(uint32(*(*uint16)(unsafe.Pointer(pEList + 8 + uintptr(j)*32 + 16 + 4))&0x3>>0)) == ENAME_NAME && Xsqlite3_stricmp(tls, zAs, zCol) == 0 { pOrig = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(j)*32))).FpExpr if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 && (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6957, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7021, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Win)) != uint32(0) && ((*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 || pNC != pTopNC) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6988, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7052, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if _sqlite3ExprVectorSize(tls, pOrig) != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7025, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7089, 0) return int32(WRC_Abort) } _resolveAlias(tls, pParse, pEList, j, pExpr, nSubquery) @@ -85030,7 +85330,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** a huge amount of legacy SQL that uses it. So for now, we just ** issue a warning. */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+7043, libc.VaList(bp+24, zCol)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+7107, libc.VaList(bp+24, zCol)) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_STRING) libc.X__builtin___memset_chk(tls, pExpr+64, 0, uint64(8), libc.X__builtin_object_size(tls, pExpr+64, 0)) return int32(WRC_Prune) @@ -85059,7 +85359,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } _extendFJMatch(tls, pParse, bp, pMatch, (*TExpr)(unsafe.Pointer(pExpr)).FiColumn) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_FUNCTION) - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 7078 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 7142 *(*uintptr)(unsafe.Pointer(pExpr + 32)) = *(*uintptr)(unsafe.Pointer(bp)) cnt = int32(1) goto lookupname_end @@ -85069,18 +85369,22 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } } if cnt == 0 { - v10 = __ccgo_ts + 7087 + v10 = __ccgo_ts + 7151 } else { - v10 = __ccgo_ts + 7102 + v10 = __ccgo_ts + 7166 } zErr = v10 if zDb != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7124, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7188, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) } else { if zTab != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7137, libc.VaList(bp+24, zErr, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7201, libc.VaList(bp+24, zErr, zTab, zCol)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7147, libc.VaList(bp+24, zErr, zCol)) + if cnt == 0 && (*TExpr)(unsafe.Pointer(pRight)).Fflags&uint32(libc.Int32FromInt32(EP_DblQuoted)) != uint32(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7211, libc.VaList(bp+24, zErr, zCol)) + } else { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7272, libc.VaList(bp+24, zErr, zCol)) + } } } _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -85110,8 +85414,12 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** If a generated column is referenced, set bits for every column ** of the table. */ - if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 && cnt == int32(1) && pMatch != uintptr(0) { - *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + if pMatch != 0 { + if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { + *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + } else { + libc.SetBitFieldPtr16Uint32(pMatch+60+4, libc.Uint32FromInt32(1), 14, 0x4000) + } } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(eNewExprOp) goto lookupname_end @@ -85204,19 +85512,19 @@ func _notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pEx defer tls.Free(32) var zIn uintptr _ = zIn - zIn = __ccgo_ts + 7154 + zIn = __ccgo_ts + 7279 if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IdxExpr) != 0 { - zIn = __ccgo_ts + 7182 + zIn = __ccgo_ts + 7307 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IsCheck) != 0 { - zIn = __ccgo_ts + 7200 + zIn = __ccgo_ts + 7325 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_GenCol) != 0 { - zIn = __ccgo_ts + 7218 + zIn = __ccgo_ts + 7343 } } } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7236, libc.VaList(bp+8, zMsg, zIn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7361, libc.VaList(bp+8, zMsg, zIn)) if pExpr != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } @@ -85264,8 +85572,8 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { var anRef [8]int32 var auth, i, is_agg, n, nLeft, nRef, nRight, no_such_func, rc, savedAllowFlags, wrong_num_args, v12, v4, v6, v7 int32 var enc Tu8 - var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zColumn, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zColumn, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 + var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 pNC = *(*uintptr)(unsafe.Pointer(pWalker + 40)) pParse = (*TNameContext)(unsafe.Pointer(pNC)).FpParse switch int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) { @@ -85384,11 +85692,11 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_ID) { zDb = uintptr(0) zTable = uintptr(0) - zColumn = *(*uintptr)(unsafe.Pointer(pExpr + 8)) + pRight = pExpr } else { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7256, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7381, uintptr(0), pExpr) } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_ID) { @@ -85399,13 +85707,12 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { pRight = (*TExpr)(unsafe.Pointer(pRight)).FpRight } zTable = *(*uintptr)(unsafe.Pointer(pLeft + 8)) - zColumn = *(*uintptr)(unsafe.Pointer(pRight + 8)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameTokenRemap(tls, pParse, pExpr, pRight) _sqlite3RenameTokenRemap(tls, pParse, pExpr+64, pLeft) } } - return _lookupName(tls, pParse, zDb, zTable, zColumn, pNC, pExpr) + return _lookupName(tls, pParse, zDb, zTable, pRight, pNC, pExpr) /* Resolve function names */ fallthrough @@ -85444,7 +85751,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if n == int32(2) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = _exprProbability(tls, (*(*TExprList_item)(unsafe.Pointer(pList + 8 + 1*32))).FpExpr) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7273, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7398, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -85468,7 +85775,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { auth = _sqlite3AuthCheck(tls, pParse, int32(SQLITE_FUNCTION), uintptr(0), (*TFuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0)) if auth != SQLITE_OK { if auth == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7337, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7462, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) @@ -85489,7 +85796,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { ** in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all ** all this. */ if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7373, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7498, uintptr(0), pExpr) } } else { /* Must fit in 8 bits */ @@ -85513,29 +85820,29 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { } if 0 == libc.BoolInt32(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME)) { if pDef != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7401, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7526, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 || is_agg != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) || is_agg != 0 && pWin != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 { if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 { - zType = __ccgo_ts + 7444 + zType = __ccgo_ts + 7569 } else { - zType = __ccgo_ts + 7451 + zType = __ccgo_ts + 7576 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7461, libc.VaList(bp+8, zType, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7586, libc.VaList(bp+8, zType, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else { if no_such_func != 0 && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7489, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7614, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if wrong_num_args != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7511, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7636, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7555, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7680, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { @@ -85559,7 +85866,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { *(*int32)(unsafe.Pointer(pNC + 40)) &= ^(libc.Int32FromInt32(NC_AllowWin) | v7) } } else { - if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { is_agg = int32(1) } } @@ -85620,18 +85927,19 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) { nRef = (*TNameContext)(unsafe.Pointer(pNC)).FnRef if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_SelfRef) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7603, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7728, pExpr, pExpr) } else { _sqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32))) } if nRef != (*TNameContext)(unsafe.Pointer(pNC)).FnRef { *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 4)) |= uint32(SF_Correlated) } *(*int32)(unsafe.Pointer(pNC + 40)) |= int32(NC_Subquery) } case int32(TK_VARIABLE): if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IsCheck)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7614, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7739, pExpr, pExpr) } case int32(TK_IS): fallthrough @@ -85677,7 +85985,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { nRight = _sqlite3ExprVectorSize(tls, (*TExpr)(unsafe.Pointer(pExpr)).FpRight) } if nLeft != nRight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7025, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7089, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } break @@ -85802,7 +86110,7 @@ func _resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintpt func _resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7625, libc.VaList(bp+8, i, zType, mx)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7750, libc.VaList(bp+8, i, zType, mx)) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pError) } @@ -85837,7 +86145,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7681, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7806, 0) return int32(1) } i = 0 @@ -85875,7 +86183,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } if _sqlite3ExprIsInteger(tls, pE, bp) != 0 { if *(*int32)(unsafe.Pointer(bp)) <= 0 || *(*int32)(unsafe.Pointer(bp)) > (*TExprList)(unsafe.Pointer(pEList)).FnExpr { - _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7715, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) + _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7840, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) return int32(1) } } else { @@ -85945,7 +86253,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r break } if int32(uint32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7721, libc.VaList(bp+16, i+int32(1))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7846, libc.VaList(bp+16, i+int32(1))) return int32(1) } goto _3 @@ -85979,7 +86287,7 @@ func _sqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7782, libc.VaList(bp+8, zType)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7907, libc.VaList(bp+8, zType)) return int32(1) } pEList = (*TSelect)(unsafe.Pointer(pSelect)).FpEList @@ -86225,6 +86533,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } pItem = (*TSelect)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*104 + /* Test of tag-20240424-1*/ if (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselFlags&uint32(SF_Resolved) == uint32(0) { if pOuterNC != 0 { v3 = (*TNameContext)(unsafe.Pointer(pOuterNC)).FnRef @@ -86291,7 +86600,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { (*(*TNameContext)(unsafe.Pointer(bp))).FncFlags |= int32(NC_UEList) if (*TSelect)(unsafe.Pointer(p)).FpHaving != 0 { if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Aggregate) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7813, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7938, 0) return int32(WRC_Abort) } if _sqlite3ResolveExprNames(tls, bp, (*TSelect)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -86358,7 +86667,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** is not detected until much later, and so we need to go ahead and ** resolve those symbols on the incorrect ORDER BY for consistency. */ - if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7715) != 0 { + if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7840) != 0 { return int32(WRC_Abort) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -86369,7 +86678,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** the GROUP BY clause does not contain aggregate functions. */ if pGroupBy != 0 { - if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7852) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { + if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7977) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(WRC_Abort) } i = 0 @@ -86379,7 +86688,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } if (*TExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(pItem2)).FpExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7858, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7983, 0) return int32(WRC_Abort) } goto _6 @@ -87360,7 +87669,7 @@ func _codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32 return } if nLeft != _sqlite3ExprVectorSize(tls, pRight) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7025, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7089, 0) return } if int32(op) == int32(TK_LE) { @@ -87439,7 +87748,7 @@ func _sqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) (r in rc = SQLITE_OK mxHeight = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4)) if nHeight > mxHeight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7917, libc.VaList(bp+8, mxHeight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8042, libc.VaList(bp+8, mxHeight)) rc = int32(SQLITE_ERROR) } return rc @@ -87605,11 +87914,12 @@ func _sqlite3ExprSetErrorOffset(tls *libc.TLS, pExpr uintptr, iOfst int32) { // ** appear to be quoted. If the quotes were of the form "..." (double-quotes) // ** then the EP_DblQuoted flag is set on the expression node. // ** -// ** Special case: If op==TK_INTEGER and pToken points to a string that -// ** can be translated into a 32-bit integer, then the token is not -// ** stored in u.zToken. Instead, the integer values is written -// ** into u.iValue and the EP_IntValue flag is set. No extra storage +// ** Special case (tag-20240227-a): If op==TK_INTEGER and pToken points to +// ** a string that can be translated into a 32-bit integer, then the token is +// ** not stored in u.zToken. Instead, the integer values is written +// ** into u.iValue and the EP_IntValue flag is set. No extra storage // ** is allocated to hold the integer text and the dequote flag is ignored. +// ** See also tag-20240227-b. // */ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) (r uintptr) { bp := tls.Alloc(16) @@ -87622,7 +87932,7 @@ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ *(*int32)(unsafe.Pointer(bp)) = 0 if pToken != 0 { if op != int32(TK_INTEGER) || (*TToken)(unsafe.Pointer(pToken)).Fz == uintptr(0) || _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pToken)).Fz, bp) == 0 { - nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) + nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) /* tag-20240227-a */ } } pNew = _sqlite3DbMallocRawNN(tls, db, uint64(72)+uint64(nExtra)) @@ -87783,11 +88093,11 @@ func _sqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList } if nExprElem != nElem { if nExprElem > int32(1) { - v2 = __ccgo_ts + 7965 + v2 = __ccgo_ts + 8090 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7967, libc.VaList(bp+8, nExprElem, v2, nElem)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8092, libc.VaList(bp+8, nExprElem, v2, nElem)) break } pSel = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(pExpr + 32)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) @@ -87836,7 +88146,7 @@ func _sqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt if f&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_InnerON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { _sqlite3ExprDeferredDelete(tls, pParse, pLeft) _sqlite3ExprDeferredDelete(tls, pParse, pRight) - return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1724) + return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1784) } else { return _sqlite3PExpr(tls, pParse, int32(TK_AND), pLeft, pRight) } @@ -87864,7 +88174,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } *(*int32)(unsafe.Pointer(pNew + 52)) = int32(int64((*TToken)(unsafe.Pointer(pToken)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) if pList != 0 && (*TExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8011, libc.VaList(bp+8, pToken)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8136, libc.VaList(bp+8, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32)) = pList *(*Tu32)(unsafe.Pointer(pNew + 4)) |= uint32(libc.Int32FromInt32(EP_HasFunc)) @@ -87884,7 +88194,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u func _sqlite3ExprOrderByAggregateError(tls *libc.TLS, pParse uintptr, p uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8045, libc.VaList(bp+8, p)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8170, libc.VaList(bp+8, p)) } // C documentation @@ -87955,7 +88265,7 @@ func _sqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD ** SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning ** that the schema is possibly tainted). */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8095, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8220, libc.VaList(bp+8, pExpr)) } } } @@ -88007,7 +88317,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n bOk = libc.BoolInt32(0 == _sqlite3Atoi64(tls, z+1, bp, int32(n-uint32(1)), uint8(SQLITE_UTF8))) } if bOk == 0 || *(*Ti64)(unsafe.Pointer(bp)) < int64(1) || *(*Ti64)(unsafe.Pointer(bp)) > int64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8115, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8240, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) return } @@ -88040,7 +88350,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*TExpr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8158, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8283, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } } @@ -88051,11 +88361,13 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n // ** Recursively delete an expression tree. // */ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { + var pLeft uintptr + _ = pLeft + goto exprDeleteRestart +exprDeleteRestart: + ; if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)|libc.Int32FromInt32(EP_Leaf)) != libc.Uint32FromInt32(0)) { /* The Expr.x union is never used at the same time as Expr.pRight */ - if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { - _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpLeft) - } if (*TExpr)(unsafe.Pointer(p)).FpRight != 0 { _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpRight) } else { @@ -88068,6 +88380,17 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { } } } + if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { + pLeft = (*TExpr)(unsafe.Pointer(p)).FpLeft + if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) && !((*TExpr)(unsafe.Pointer(pLeft)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { + /* Avoid unnecessary recursion on unary operators */ + _sqlite3DbNNFreeNN(tls, db, p) + p = pLeft + goto exprDeleteRestart + } else { + _sqlite3ExprDeleteNN(tls, db, pLeft) + } + } } if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { _sqlite3DbNNFreeNN(tls, db, p) @@ -88114,11 +88437,11 @@ func _sqlite3ClearOnOrUsing(tls *libc.TLS, db uintptr, p uintptr) { // ** // ** The pExpr might be deleted immediately on an OOM error. // ** -// ** The deferred delete is (currently) implemented by adding the -// ** pExpr to the pParse->pConstExpr list with a register number of 0. +// ** Return 0 if the delete was successfully deferred. Return non-zero +// ** if the delete happened immediately because of an OOM. // */ -func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { - _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr) +func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + return libc.BoolInt32(uintptr(0) == _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr)) } // C documentation @@ -88607,16 +88930,20 @@ func _sqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) (r ui (*TSrcItem)(unsafe.Pointer(pNewItem)).FiCursor = (*TSrcItem)(unsafe.Pointer(pOldItem)).FiCursor (*TSrcItem)(unsafe.Pointer(pNewItem)).FaddrFillSub = (*TSrcItem)(unsafe.Pointer(pOldItem)).FaddrFillSub (*TSrcItem)(unsafe.Pointer(pNewItem)).FregReturn = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregReturn + (*TSrcItem)(unsafe.Pointer(pNewItem)).FregResult = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregResult if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x2>>1)) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3DbStrDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88))) + } else { + if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { + *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) + } else { + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pNewItem)).Fu1)) = *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pOldItem)).Fu1)) + } } (*TSrcItem)(unsafe.Pointer(pNewItem)).Fu2 = (*TSrcItem)(unsafe.Pointer(pOldItem)).Fu2 if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x100>>8)) != 0 { (*TCteUse)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNewItem + 96)))).FnUse++ } - if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { - *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) - } v4 = (*TSrcItem)(unsafe.Pointer(pOldItem)).FpTab (*TSrcItem)(unsafe.Pointer(pNewItem)).FpTab = v4 pTab = v4 @@ -88878,7 +89205,7 @@ func _sqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, n = v2 } if v3 && (*TIdList)(unsafe.Pointer(pColumns)).FnId != v2 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8181, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8306, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error } i = 0 @@ -89007,7 +89334,7 @@ func _sqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, _ = mx mx = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4)) if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr > mx { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8211, libc.VaList(bp+8, zObject)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8336, libc.VaList(bp+8, zObject)) } } @@ -89105,10 +89432,10 @@ func _sqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) (r // ** anything else 0 // */ func _sqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) (r Tu32) { - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8234) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8359) == 0 { return uint32(EP_IsTrue) } - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8239) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8364) == 0 { return uint32(EP_IsFalse) } return uint32(0) @@ -89190,6 +89517,51 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { return pExpr } +// C documentation +// +// /* +// ** pExpr is a TK_FUNCTION node. Try to determine whether or not the +// ** function is a constant function. A function is constant if all of +// ** the following are true: +// ** +// ** (1) It is a scalar function (not an aggregate or window function) +// ** (2) It has either the SQLITE_FUNC_CONSTANT or SQLITE_FUNC_SLOCHNG +// ** property. +// ** (3) All of its arguments are constants +// ** +// ** This routine sets pWalker->eCode to 0 if pExpr is not a constant. +// ** It makes no changes to pWalker->eCode if pExpr is constant. In +// ** every case, it returns WRC_Abort. +// ** +// ** Called as a service subroutine from exprNodeIsConstant(). +// */ +func _exprNodeIsConstantFunction(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef, pList, v1 uintptr + var n int32 + var v2 bool + _, _, _, _, _, _ = db, n, pDef, pList, v1, v2 /* The database */ + if v2 = (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)) != uint32(0); !v2 { + v1 = *(*uintptr)(unsafe.Pointer(pExpr + 32)) + pList = v1 + } + if v2 || v1 == uintptr(0) { + n = 0 + } else { + n = (*TExprList)(unsafe.Pointer(pList)).FnExpr + _sqlite3WalkExprList(tls, pWalker, pList) + if int32((*TWalker)(unsafe.Pointer(pWalker)).FeCode) == 0 { + return int32(WRC_Abort) + } + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)|libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG)) == uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) +} + // C documentation // // /* @@ -89237,8 +89609,12 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 } return WRC_Continue } else { - (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) - return int32(WRC_Abort) + if (*TWalker)(unsafe.Pointer(pWalker)).FpParse != 0 { + return _exprNodeIsConstantFunction(tls, pWalker, pExpr) + } else { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } } fallthrough case int32(TK_ID): @@ -89265,6 +89641,8 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 case int32(TK_REGISTER): fallthrough case int32(TK_DOT): + fallthrough + case int32(TK_RAISE): (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) return int32(WRC_Abort) case int32(TK_VARIABLE): @@ -89290,14 +89668,14 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 return r } -func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32) { +func _exprIsConst(tls *libc.TLS, pParse uintptr, p uintptr, initFlag int32) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* w at bp+0 */ TWalker (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(initFlag) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) - *(*int32)(unsafe.Pointer(bp + 40)) = iCur _sqlite3WalkExpr(tls, bp, p) return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } @@ -89311,9 +89689,15 @@ func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32 // ** For the purposes of this function, a double-quoted string (ex: "abc") // ** is considered a variable but a single-quoted string (ex: 'abc') is // ** a constant. +// ** +// ** The pParse parameter may be NULL. But if it is NULL, there is no way +// ** to determine if function calls are constant or not, and hence all +// ** function calls will be considered to be non-constant. If pParse is +// ** not NULL, then a function call might be constant, depending on the +// ** function and on its parameters. // */ -func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(1), 0) +func _sqlite3ExprIsConstant(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(1)) } // C documentation @@ -89331,8 +89715,24 @@ func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { // ** can be added to the pParse->pConstExpr list and evaluated once when // ** the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). // */ -func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(2), 0) +func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(2)) +} + +// C documentation +// +// /* +// ** This routine examines sub-SELECT statements as an expression is being +// ** walked as part of sqlite3ExprIsTableConstant(). Sub-SELECTs are considered +// ** constant as long as they are uncorrelated - meaning that they do not +// ** contain any terms from outer contexts. +// */ +func _exprSelectWalkTableConstant(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + if (*TSelect)(unsafe.Pointer(pSelect)).FselFlags&uint32(SF_Correlated) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) } // C documentation @@ -89342,9 +89742,25 @@ func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { // ** for any single row of the table with cursor iCur. In other words, the // ** expression must not refer to any non-deterministic function nor any // ** table other than iCur. +// ** +// ** Consider uncorrelated subqueries to be constants if the bAllowSubq +// ** parameter is true. // */ -func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) { - return _exprIsConst(tls, p, int32(3), iCur) +func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32, bAllowSubq int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(3) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = uintptr(0) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) + if bAllowSubq != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_exprSelectWalkTableConstant) + } else { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) + } + *(*int32)(unsafe.Pointer(bp + 40)) = iCur + _sqlite3WalkExpr(tls, bp, p) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } // C documentation @@ -89364,7 +89780,10 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** // ** (1) pExpr cannot refer to any table other than pSrc->iCursor. // ** -// ** (2) pExpr cannot use subqueries or non-deterministic functions. +// ** (2a) pExpr cannot use subqueries unless the bAllowSubq parameter is +// ** true and the subquery is non-correlated +// ** +// ** (2b) pExpr cannot use non-deterministic functions. // ** // ** (3) pSrc cannot be part of the left operand for a RIGHT JOIN. // ** (Is there some way to relax this constraint?) @@ -89390,7 +89809,7 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** which leads to incorrect answers. See also restriction (9) // ** on push-down. // */ -func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32) (r int32) { +func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32, bAllowSubq int32) (r int32) { var jj int32 var pSrc uintptr _, _ = jj, pSrc @@ -89428,7 +89847,8 @@ func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList jj++ } } - return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor) /* rules (1), (2) */ + /* Rules (1), (2a), and (2b) handled by the following: */ + return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor, bAllowSubq) } // C documentation @@ -89526,7 +89946,7 @@ func _sqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // ** a constant. // */ func _sqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit Tu8) (r int32) { - return _exprIsConst(tls, p, int32(4)+int32(isInit), 0) + return _exprIsConst(tls, uintptr(0), p, int32(4)+int32(isInit)) } // C documentation @@ -89665,13 +90085,13 @@ func _sqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) (r in // ** Return TRUE if the given string is a row-id column name. // */ func _sqlite3IsRowid(tls *libc.TLS, z uintptr) (r int32) { - if _sqlite3StrICmp(tls, z, __ccgo_ts+8245) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8370) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+8253) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8378) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+8259) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8384) == 0 { return int32(1) } return 0 @@ -89689,9 +90109,9 @@ func _sqlite3RowidAlias(tls *libc.TLS, pTab uintptr) (r uintptr) { var iCol, ii int32 _, _, _ = azOpt, iCol, ii azOpt = [3]uintptr{ - 0: __ccgo_ts + 8245, - 1: __ccgo_ts + 8253, - 2: __ccgo_ts + 8259, + 0: __ccgo_ts + 8370, + 1: __ccgo_ts + 8378, + 2: __ccgo_ts + 8384, } ii = 0 for { @@ -89811,13 +90231,13 @@ func _sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int // ** The argument is an IN operator with a list (not a subquery) on the // ** right-hand side. Return TRUE if that list is constant. // */ -func _sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) (r int32) { +func _sqlite3InRhsIsConstant(tls *libc.TLS, pParse uintptr, pIn uintptr) (r int32) { var pLHS uintptr var res int32 _, _ = pLHS, res pLHS = (*TExpr)(unsafe.Pointer(pIn)).FpLeft (*TExpr)(unsafe.Pointer(pIn)).FpLeft = uintptr(0) - res = _sqlite3ExprIsConstant(tls, pIn) + res = _sqlite3ExprIsConstant(tls, pParse, pIn) (*TExpr)(unsafe.Pointer(pIn)).FpLeft = pLHS return res } @@ -89973,7 +90393,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 iAddr = _sqlite3VdbeAddOp0(tls, v, int32(OP_Once)) _sqlite3OpenTable(tls, pParse, iTab, iDb, pTab, int32(OP_OpenRead)) eType = int32(IN_INDEX_ROWID) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+8263, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+8388, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) _sqlite3VdbeJumpHere(tls, v, iAddr) } else { /* Iterator variable */ affinity_ok = int32(1) @@ -90073,7 +90493,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 if colUsed == libc.Uint64FromInt32(1)<0 so that the new limit is either 1 or 0 */ db = (*TParse)(unsafe.Pointer(pParse)).Fdb - pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1724) + pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1784) if pLimit != 0 { (*TExpr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = _sqlite3PExpr(tls, pParse, int32(TK_NE), _sqlite3ExprDup(tls, db, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft, 0), pLimit) @@ -90564,7 +90984,7 @@ func _sqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int3 (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { /* If there is no pre-existing limit add a limit of 1 */ - pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8478) + pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8603) (*TSelect)(unsafe.Pointer(pSel)).FpLimit = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), pLimit, uintptr(0)) } (*TSelect)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -90951,13 +91371,13 @@ func _codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, i z = *(*uintptr)(unsafe.Pointer(pExpr + 8)) c = _sqlite3DecOrHexToI64(tls, z, bp) if c == int32(3) && !(negFlag != 0) || c == int32(2) || negFlag != 0 && *(*Ti64)(unsafe.Pointer(bp)) == int64(-libc.Int32FromInt32(1))-(libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)<= (*TAggInfo)(unsafe.Pointer(pInfo)).FnFunc { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8571, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8696, libc.VaList(bp+160, pExpr)) } else { return (*TAggInfo)(unsafe.Pointer(pInfo)).FiFirstReg + (*TAggInfo)(unsafe.Pointer(pInfo)).FnColumn + int32((*TExpr)(unsafe.Pointer(pExpr)).FiAgg) } @@ -91682,7 +92097,7 @@ expr_code_doover: if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { return (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64)))).FregResult } - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { /* SQL functions can be expensive. So try to avoid running them ** multiple times if we know they always give the same result */ return _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) @@ -91697,7 +92112,7 @@ expr_code_doover: zId = *(*uintptr)(unsafe.Pointer(pExpr + 8)) pDef = _sqlite3FindFunction(tls, db, zId, nFarg, enc, uint8(0)) if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8598, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8723, libc.VaList(bp+160, pExpr)) break } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_INLINE) != uint32(0) && pFarg != uintptr(0) { @@ -91712,7 +92127,7 @@ expr_code_doover: if !(i < nFarg) { break } - if i < int32(32) && _sqlite3ExprIsConstant(tls, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { + if i < int32(32) && _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { constMask |= libc.Uint32FromInt32(1) << i } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_NEEDCOLL) != uint32(0) && !(pColl != 0) { @@ -91802,7 +92217,7 @@ expr_code_doover: } n1 = _sqlite3ExprVectorSize(tls, pLeft2) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != n1 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8181, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8306, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) } return (*TExpr)(unsafe.Pointer(pLeft2)).FiTable + int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) case int32(TK_IN): @@ -91834,8 +92249,9 @@ expr_code_doover: if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Collate)) != libc.Uint32FromInt32(0)) { /* A TK_COLLATE Expr node without the EP_Collate tag is a so-called ** "SOFT-COLLATE" that is added to constraints that are pushed down - ** from outer queries into sub-queries by the push-down optimization. - ** Clear subtypes as subtypes may not cross a subquery boundary. + ** from outer queries into sub-queries by the WHERE-clause push-down + ** optimization. Clear subtypes as subtypes may not cross a subquery + ** boundary. */ _sqlite3ExprCode(tls, pParse, (*TExpr)(unsafe.Pointer(pExpr)).FpLeft, target) _sqlite3VdbeAddOp1(tls, v, int32(OP_ClrSubtype), target) @@ -91864,7 +92280,7 @@ expr_code_doover: _sqlite3VdbeAddOp1(tls, v, int32(OP_RealAffinity), target) } case int32(TK_VECTOR): - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7025, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7089, 0) break /* TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions ** that derive from the right-hand table of a LEFT JOIN. The @@ -91979,7 +92395,7 @@ expr_code_doover: _sqlite3VdbeResolveLabel(tls, v, endLabel) case int32(TK_RAISE): if !((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != 0) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8622, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8747, 0) return 0 } if int32((*TExpr)(unsafe.Pointer(pExpr)).FaffExpr) == int32(OE_Abort) { @@ -92099,7 +92515,7 @@ func _sqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin var r1, r2 int32 _, _ = r1, r2 pExpr = _sqlite3ExprSkipCollateAndLikely(tls, pExpr) - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { *(*int32)(unsafe.Pointer(pReg)) = 0 r2 = _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) } else { @@ -92169,7 +92585,7 @@ func _sqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // ** might choose to code the expression at initialization time. // */ func _sqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { _sqlite3ExprCodeCopy(tls, pParse, pExpr, target) @@ -92238,7 +92654,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ _sqlite3VdbeAddOp2(tls, v, int32(copyOp), j+srcReg-int32(1), target+i) } } else { - if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target+i) } else { inReg = _sqlite3ExprCodeTarget(tls, pParse, pExpr, target+i) @@ -93535,17 +93951,15 @@ func _agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnColumn && (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } else { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnFunc && (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } @@ -94095,8 +94509,8 @@ func _sqlite3FirstAvailableRegister(tls *libc.TLS, pParse uintptr, iMin int32) ( func _isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) - if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6873, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8672, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6937, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8797, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -94115,9 +94529,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, bp := tls.Alloc(48) defer tls.Free(48) (*TParse)(unsafe.Pointer(pParse)).FcolNamesSet = uint8(1) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8700, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8825, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8875, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9000, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) } } @@ -94133,9 +94547,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, func _renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9049, libc.VaList(bp+8, zDb, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9174, libc.VaList(bp+8, zDb, zDb)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9196, 0) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9321, 0) } } @@ -94191,7 +94605,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName ** in database iDb. If so, this is an error. */ if _sqlite3FindTable(tls, db, zName, zDb) != 0 || _sqlite3FindIndex(tls, db, zName, zDb) != 0 || _sqlite3IsShadowTableOf(tls, db, pTab, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9347, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9472, libc.VaList(bp+8, zName)) goto exit_rename_table } /* Make sure it is not a system table being altered, or a reserved name @@ -94200,11 +94614,11 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { goto exit_rename_table } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9406, zName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9531, zName) { goto exit_rename_table } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9412, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9537, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table } /* Invoke the authorization callback. */ @@ -94234,21 +94648,21 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName nTabName = _sqlite3Utf8CharLen(tls, zTabName, -int32(1)) /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in ** the schema to use the new table name. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9439, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9564, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) /* Update the tbl_name and name columns of the sqlite_schema table ** as required. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9623, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9748, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) /* If the sqlite_sequence table exists in this database, then update ** it with the new table name. */ - if _sqlite3FindTable(tls, db, __ccgo_ts+9928, zDb) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9944, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if _sqlite3FindTable(tls, db, __ccgo_ts+10053, zDb) != 0 { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10069, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* If the table being renamed is not itself part of the temp database, ** edit view and trigger definitions within the temp database ** as required. */ if iDb != int32(1) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10002, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10127, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) } /* If this is a virtual table, invoke the xRename() function if ** one is defined. The xRename() callback will modify the names @@ -94264,7 +94678,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName _sqlite3VdbeAddOp4(tls, v, int32(OP_VRename), i, 0, 0, pVTab, -int32(11)) } _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+10267, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+10392, 0) goto exit_rename_table exit_rename_table: ; @@ -94281,7 +94695,7 @@ exit_rename_table: func _sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10280, libc.VaList(bp+8, zErr, zDb, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10405, libc.VaList(bp+8, zErr, zDb, zTab)) } // C documentation @@ -94321,11 +94735,11 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** column must not be NULL. */ if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10318, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10443, 0) return } if (*TTable)(unsafe.Pointer(pNew)).FpIndex != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10350, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10475, 0) return } if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) == 0 { @@ -94341,10 +94755,10 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpFKey != 0 && pDflt != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10377) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10502) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && !(pDflt != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10436) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10561) } /* Ensure the default expression is something that sqlite3ValueFromExpr() ** can handle (i.e. not CURRENT_TIME etc.) @@ -94356,13 +94770,13 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr return } if !(*(*uintptr)(unsafe.Pointer(bp)) != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10489) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10614) } _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp))) } } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_STORED) != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10535) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10660) } } /* Modify the CREATE TABLE statement. */ @@ -94376,7 +94790,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } /* substr() operations on characters, but addColOffset is in bytes. So we ** have to use printf() to translate between these units: */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10562, libc.VaList(bp+16, zDb, (*(*struct { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10687, libc.VaList(bp+16, zDb, (*(*struct { FaddColOffset int32 FpFKey uintptr FpDfltList uintptr @@ -94404,7 +94818,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterAdd)) /* Verify that constraints are still satisfied */ if (*TTable)(unsafe.Pointer(pNew)).FpCheck != uintptr(0) || int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Strict) != uint32(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10708, libc.VaList(bp+16, zTab, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10833, libc.VaList(bp+16, zTab, zDb)) } } } @@ -94442,12 +94856,12 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { goto exit_begin_add_column } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11061, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11186, 0) goto exit_begin_add_column } /* Make sure this is not an attempt to ALTER a view. */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11095, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11220, 0) goto exit_begin_add_column } if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { @@ -94471,7 +94885,7 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { (*TTable)(unsafe.Pointer(pNew)).FnCol = (*TTable)(unsafe.Pointer(pTab)).FnCol nAlloc = (int32((*TTable)(unsafe.Pointer(pNew)).FnCol)-int32(1))/int32(8)*int32(8) + int32(8) (*TTable)(unsafe.Pointer(pNew)).FaCol = _sqlite3DbMallocZero(tls, db, uint64(16)*uint64(nAlloc)) - (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+11125, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+11250, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !((*TTable)(unsafe.Pointer(pNew)).FaCol != 0) || !((*TTable)(unsafe.Pointer(pNew)).FzName != 0) { goto exit_begin_add_column } @@ -94532,18 +94946,18 @@ func _isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) (r i _, _ = zType, v1 zType = uintptr(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 11144 + zType = __ccgo_ts + 11269 } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 11149 + zType = __ccgo_ts + 11274 } if zType != 0 { if bDrop != 0 { - v1 = __ccgo_ts + 11163 + v1 = __ccgo_ts + 11288 } else { - v1 = __ccgo_ts + 11180 + v1 = __ccgo_ts + 11305 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11198, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11323, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -94604,11 +95018,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld iCol++ } if iCol == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11216, libc.VaList(bp+8, pOld)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11341, libc.VaList(bp+8, pOld)) goto exit_rename_column } /* Ensure the schema contains no double-quoted strings */ - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1650, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1664, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1))) /* Do the rename operation using a recursive UPDATE statement that ** uses the sqlite_rename_column() SQL function to compute the new @@ -94620,11 +95034,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld goto exit_rename_column } bQuote = int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pNew)).Fz)))]) & int32(0x80) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11237, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11419, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11362, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11544, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+10267, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+10392, int32(1)) goto exit_rename_column exit_rename_column: ; @@ -95100,11 +95514,11 @@ func _renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType u zT = Xsqlite3_value_text(tls, pType) zN = Xsqlite3_value_text(tls, pObject) if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - v1 = __ccgo_ts + 11550 + v1 = __ccgo_ts + 11675 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11552, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) + zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11677, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, zErr) } @@ -95181,8 +95595,8 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin if zSql == uintptr(0) { return int32(SQLITE_NOMEM) } - if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11575, int32(7)) != 0 { - return _sqlite3CorruptError(tls, int32(116682)) + if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11700, int32(7)) != 0 { + return _sqlite3CorruptError(tls, int32(117285)) } if bTemp != 0 { v1 = int32(1) @@ -95198,7 +95612,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin rc = int32(SQLITE_NOMEM) } if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = _sqlite3CorruptError(tls, int32(116693)) + rc = _sqlite3CorruptError(tls, int32(117296)) } (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0) return rc @@ -95237,7 +95651,7 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, ** ALTER TABLE statement was quoted (bQuote==1), then set zNew to ** point to zQuot so that all substitutions are made using the ** quoted version of the new column name. */ - zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11583, libc.VaList(bp+8, zNew)) + zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11708, libc.VaList(bp+8, zNew)) if zQuot == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -95282,11 +95696,11 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = 0 _sqlite3Dequote(tls, zBuf1) if int32(*(*int8)(unsafe.Pointer((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == int32('\'') { - v1 = __ccgo_ts + 11550 + v1 = __ccgo_ts + 11675 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11589, libc.VaList(bp+8, zBuf1, v1)) + Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11714, libc.VaList(bp+8, zBuf1, v1)) zReplace = zBuf2 nReplace = uint32(_sqlite3Strlen30(tls, zReplace)) } @@ -95771,7 +96185,7 @@ renameColumnFunc_done: Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv))) } else { if (*(*TParse)(unsafe.Pointer(bp + 32))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1650, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) + _renameColumnParseError(tls, context, __ccgo_ts+1664, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -95997,7 +96411,7 @@ func _renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintpt Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + 3*8))) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1650, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) + _renameColumnParseError(tls, context, __ccgo_ts+1664, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -96259,7 +96673,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { /* This can happen if the sqlite_schema table is corrupt */ - rc = _sqlite3CorruptError(tls, int32(117652)) + rc = _sqlite3CorruptError(tls, int32(118255)) goto drop_column_done } pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName) @@ -96276,7 +96690,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr (*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz-- } } - zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11594, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) + zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11719, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -int32(1), uintptr(-libc.Int32FromInt32(1))) Xsqlite3_free(tls, zNew) goto drop_column_done @@ -96303,8 +96717,9 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName bp := tls.Alloc(48) defer tls.Free(48) var addr, i, iCol, iColPos, iCur, iDb, iPos, nField, reg, regOut, regRec, v2, v4, v7 int32 + var aff int8 var db, pPk, pTab, v, zCol, zDb, v1, v3, v5, v8 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, aff, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Database containing pTab ("main" etc.) */ zCol = uintptr(0) /* Index of column zCol in pTab->aCol[] */ /* Look up the table being altered. */ @@ -96330,23 +96745,23 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName } iCol = _sqlite3ColumnIndex(tls, pTab, zCol) if iCol < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11216, libc.VaList(bp+8, pName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11341, libc.VaList(bp+8, pName)) goto exit_drop_column } /* Do not allow the user to drop a PRIMARY KEY column or a column ** constrained by a UNIQUE constraint. */ if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_PRIMKEY)|libc.Int32FromInt32(COLFLAG_UNIQUE)) != 0 { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - v1 = __ccgo_ts + 11601 + v1 = __ccgo_ts + 11726 } else { - v1 = __ccgo_ts + 5937 + v1 = __ccgo_ts + 6001 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11613, libc.VaList(bp+8, v1, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11738, libc.VaList(bp+8, v1, zCol)) goto exit_drop_column } /* Do not allow the number of columns to go to zero */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) <= int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11641, libc.VaList(bp+8, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11766, libc.VaList(bp+8, zCol)) goto exit_drop_column } /* Edit the sqlite_schema table */ @@ -96356,12 +96771,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_ALTER_TABLE), zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol) != 0 { goto exit_drop_column } - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1650, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1664, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1))) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11689, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11814, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11810, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11935, int32(1)) /* Edit rows of table on disk */ if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 && int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { pPk = uintptr(0) @@ -96419,7 +96834,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if i == int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regOut) } else { + aff = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity + if int32(aff) == int32(SQLITE_AFF_REAL) { + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = int8(SQLITE_AFF_NUMERIC) + } _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab, iCur, i, regOut) + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = aff } nField++ } @@ -96464,27 +96884,27 @@ var _aAlterTableFuncs = [5]TFuncDef{ 0: { FnArg: int8(9), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11828, + FzName: __ccgo_ts + 11953, }, 1: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11849, + FzName: __ccgo_ts + 11974, }, 2: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11869, + FzName: __ccgo_ts + 11994, }, 3: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11888, + FzName: __ccgo_ts + 12013, }, 4: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11907, + FzName: __ccgo_ts + 12032, }, } @@ -96695,7 +97115,7 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW ** side-effect of the CREATE TABLE statement is to leave the rootpage ** of the new table in register pParse->regRoot. This is important ** because the OpenWrite opcode below will be needing it. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+12010, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+12135, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) aRoot[i] = uint32((*TParse)(unsafe.Pointer(pParse)).FregRoot) aCreateTbl[i] = uint8(OPFLAG_P2ISREG) } @@ -96706,10 +97126,10 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW aRoot[i] = (*TTable)(unsafe.Pointer(pStat)).Ftnum _sqlite3TableLock(tls, pParse, iDb, aRoot[i], uint8(1), zTab) if zWhere != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+12033, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+12158, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+12063, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+12188, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { /* The sqlite_stat[134] table already exists. Delete all rows. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Clear), int32(aRoot[i]), iDb) @@ -96741,15 +97161,15 @@ var _aTable = [3]struct { FzCols uintptr }{ 0: { - FzName: __ccgo_ts + 11930, - FzCols: __ccgo_ts + 11943, + FzName: __ccgo_ts + 12055, + FzCols: __ccgo_ts + 12068, }, 1: { - FzName: __ccgo_ts + 11956, - FzCols: __ccgo_ts + 11969, + FzName: __ccgo_ts + 12081, + FzCols: __ccgo_ts + 12094, }, 2: { - FzName: __ccgo_ts + 11997, + FzName: __ccgo_ts + 12122, }, } @@ -97051,7 +97471,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statInitFuncdef = TFuncDef{ FnArg: int8(4), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12081, + FzName: __ccgo_ts + 12206, } func init() { @@ -97425,7 +97845,7 @@ func _statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statPushFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(2) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12091, + FzName: __ccgo_ts + 12216, } func init() { @@ -97475,7 +97895,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { v1 = (*TStatAccum)(unsafe.Pointer(p)).FnRow } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+12101, libc.VaList(bp+72, v1)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+12226, libc.VaList(bp+72, v1)) i = 0 for { if !(i < (*TStatAccum)(unsafe.Pointer(p)).FnKeyCol) { @@ -97486,7 +97906,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if iVal == uint64(2) && (*TStatAccum)(unsafe.Pointer(p)).FnRow*uint64(10) <= nDistinct*uint64(11) { iVal = uint64(1) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+12106, libc.VaList(bp+72, iVal)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+12231, libc.VaList(bp+72, iVal)) goto _2 _2: ; @@ -97525,7 +97945,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if !(i1 < (*TStatAccum)(unsafe.Pointer(p)).FnCol) { break } - Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+12112, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) + Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+12237, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) goto _3 _3: ; @@ -97543,7 +97963,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statGetFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(1) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12118, + FzName: __ccgo_ts + 12243, } func init() { @@ -97564,9 +97984,9 @@ func _callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, re // */ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { var aGotoChng, db, pColl, pIdx, pPk, pStat1, pX, v, zIdxName uintptr - var addrIsNull, addrNext, addrNextRow, addrRewind, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 + var addrGotoEnd, addrIsNull, addrNext, addrNextRow, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 var needTableCnt, seekOp Tu8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrIsNull, addrNext, addrNextRow, addrRewind, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrGotoEnd, addrIsNull, addrNext, addrNextRow, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Loop counter */ jZeroRows = -int32(1) /* Index of database containing pTab */ needTableCnt = uint8(1) @@ -97609,7 +98029,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Do not gather statistics on views or virtual tables */ return } - if Xsqlite3_strlike(tls, __ccgo_ts+12127, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, __ccgo_ts+12252, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { /* Do not gather statistics on system tables */ return } @@ -97623,7 +98043,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint return } (*TTable)(unsafe.Pointer(pStat1)).FzName = pStat1 + 1*104 - libc.X__builtin___memcpy_chk(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11930, uint64(13), libc.X__builtin_object_size(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, 0)) + libc.X__builtin___memcpy_chk(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+12055, uint64(13), libc.X__builtin_object_size(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, 0)) (*TTable)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*TTable)(unsafe.Pointer(pStat1)).FiPKey = int16(-int32(1)) _sqlite3VdbeAddOp4(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Noop), 0, 0, 0, pStat1, -int32(6)) @@ -97677,9 +98097,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* ** Pseudo-code for loop that calls stat_push(): ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() ** goto chng_addr_0; ** ** next_row: @@ -97713,32 +98138,29 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Open a read-only cursor on the index being analyzed. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenRead), iIdxCur, int32((*TIndex)(unsafe.Pointer(pIdx)).Ftnum), iDb) _sqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - /* Invoke the stat_init() function. The arguments are: + /* Implementation of the following: ** + ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() + ** goto chng_addr_0; + */ + _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + /* Arguments to stat_init(): ** (1) the number of columns in the index including the rowid ** (or for a WITHOUT ROWID table, the number of PK columns), ** (2) the number of columns in the key without the rowid/pk - ** (3) estimated number of rows in the index, - */ + ** (3) estimated number of rows in the index. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), nCol, regStat+int32(1)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol), regRowid) - if (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0) { - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iIdxCur, regTemp) - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - } else { - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, int32(1)) - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) != uint32(0))) _sqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat+int32(1), regStat, int32(4), uintptr(unsafe.Pointer(&_statInitFuncdef)), 0) - /* Implementation of the following: - ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; - ** regChng = 0 - ** goto next_push_0; - ** - */ + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regChng) addrNextRow = _sqlite3VdbeCurrentAddr(tls, v) if nColTest > 0 { @@ -97847,8 +98269,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), iIdxCur, addrNextRow) } /* Add the entry to the stat1 table. */ + if (*TIndex)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { + /* Partial indexes might get a zero-entry in sqlite_stat1. But + ** an empty table is omitted from sqlite_stat1. */ + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + addrGotoEnd = 0 + } _callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+12137, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+12262, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP4(tls, v, -int32(1), pStat1, -int32(5)) @@ -97867,6 +98295,11 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint v18 = int32(OP_NotFound) } seekOp = uint8(v18) + /* No STAT4 data is generated if the number of rows is zero */ + if addrGotoEnd == 0 { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Cast), regStat1, int32(SQLITE_AFF_INTEGER)) + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) + } if doOnce != 0 { mxCol = nCol /* Compute the maximum number of columns in any index */ @@ -97919,7 +98352,9 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeJumpHere(tls, v, addrIsNull) } /* End of analysis */ - _sqlite3VdbeJumpHere(tls, v, addrRewind) + if addrGotoEnd != 0 { + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + } goto _13 _13: ; @@ -97932,7 +98367,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iTabCur, regStat1) jZeroRows = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regIdxname) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+12137, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+12262, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -98004,9 +98439,9 @@ func _analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr iStatCur = (*TParse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52)) += int32(3) if pOnlyIdx != 0 { - _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+12141) + _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+12266) } else { - _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+12145) + _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+12270) } _analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, (*TParse)(unsafe.Pointer(pParse)).FnMem+int32(1), (*TParse)(unsafe.Pointer(pParse)).FnTab) _loadAnalysis(tls, pParse, iDb) @@ -98135,7 +98570,7 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, _, _, _, _, _, _ = c, i, sz, v, z, v2 z = zIntArray if z == uintptr(0) { - z = __ccgo_ts + 1650 + z = __ccgo_ts + 1664 } i = 0 for { @@ -98170,17 +98605,17 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, __ccgo_ts+12149, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+12274, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 2, 0x4) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+12160, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+12285, z) == 0 { sz = _sqlite3Atoi(tls, z+uintptr(3)) if sz < int32(2) { sz = int32(2) } (*TIndex)(unsafe.Pointer(pIndex)).FszIdxRow = _sqlite3LogEst(tls, uint64(sz)) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+12170, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+12295, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 6, 0x40) } } @@ -98556,11 +98991,11 @@ func _loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) (r int32) { _, _, _, _ = pStat4, rc, v1, v2 rc = SQLITE_OK if v2 = (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0); v2 { - v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11956, zDb) + v1 = _sqlite3FindTable(tls, db, __ccgo_ts+12081, zDb) pStat4 = v1 } if v2 && v1 != uintptr(0) && int32((*TTable)(unsafe.Pointer(pStat4)).FeTabType) == TABTYP_NORM { - rc = _loadStatTbl(tls, db, __ccgo_ts+12182, __ccgo_ts+12251, zDb) + rc = _loadStatTbl(tls, db, __ccgo_ts+12307, __ccgo_ts+12376, zDb) } return rc } @@ -98626,10 +99061,10 @@ func _sqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) (r int32) { /* Load new statistics out of the sqlite_stat1 table */ (*(*TanalysisInfo)(unsafe.Pointer(bp))).Fdb = db (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName - v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11930, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) + v3 = _sqlite3FindTable(tls, db, __ccgo_ts+12055, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) pStat1 = v3 if v3 != 0 && int32((*TTable)(unsafe.Pointer(pStat1)).FeTabType) == TABTYP_NORM { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+12303, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+12428, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -98742,7 +99177,7 @@ func _resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) (r int32) { // ** database iDb attached to handle db. // */ func _sqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) (r int32) { - return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6933, zName) == 0) + return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6997, zName) == 0) } // C documentation @@ -98784,21 +99219,21 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if zFile == uintptr(0) { - zFile = __ccgo_ts + 1650 + zFile = __ccgo_ts + 1664 } if zName == uintptr(0) { - zName = __ccgo_ts + 1650 + zName = __ccgo_ts + 1664 } if int32(uint32(*(*uint8)(unsafe.Pointer(db + 192 + 8))&0x4>>2)) != 0 { /* 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 + 40)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+4315) + *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+4379) if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { return } - rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12344, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) + rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12469, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) if rc == SQLITE_OK { pNewSchema = _sqlite3SchemaGet(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40))) if pNewSchema != 0 { @@ -98829,7 +99264,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { ** * Specified database name already being used. */ if (*Tsqlite3)(unsafe.Pointer(db)).FnDb >= *(*int32)(unsafe.Pointer(db + 136 + 7*4))+int32(2) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12347, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12472, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) goto attach_error } i = 0 @@ -98838,7 +99273,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { break } if _sqlite3DbIsNamed(tls, db, i, zName) != 0 { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12384, libc.VaList(bp+56, zName)) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12509, libc.VaList(bp+56, zName)) goto attach_error } goto _1 @@ -98886,7 +99321,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FnoSharedCache = uint8(0) if rc == int32(SQLITE_CONSTRAINT) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12414, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12539, 0) } else { if rc == SQLITE_OK { (*TDb)(unsafe.Pointer(pNew)).FpSchema = _sqlite3SchemaGet(tls, db, (*TDb)(unsafe.Pointer(pNew)).FpBt) @@ -98894,7 +99329,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { rc = int32(SQLITE_NOMEM) } else { if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0 && int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12443, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12568, 0) rc = int32(SQLITE_ERROR) } } @@ -98938,10 +99373,10 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)<= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12539, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12664, libc.VaList(bp+136, zName)) goto detach_error } if i < int32(2) { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12560, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12685, libc.VaList(bp+136, zName)) goto detach_error } if _sqlite3BtreeTxnState(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != SQLITE_TXN_NONE || _sqlite3BtreeIsInBackup(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != 0 { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12586, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12711, libc.VaList(bp+136, zName)) goto detach_error } /* If any TEMP triggers reference the schema being detached, move those @@ -99106,7 +99541,7 @@ func _sqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { var _detach_func = TFuncDef{ FnArg: int8(1), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12608, + FzName: __ccgo_ts + 12733, } func init() { @@ -99128,7 +99563,7 @@ func _sqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, p var _attach_func = TFuncDef{ FnArg: int8(3), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12622, + FzName: __ccgo_ts + 12747, } func init() { @@ -99154,7 +99589,7 @@ func _fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) (r int32) { if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer((*TDbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit1.Fbusy != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } else { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12636, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12761, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) return int32(WRC_Abort) } } @@ -99188,7 +99623,7 @@ func _fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) (r int32) { if int32((*TDbFixer)(unsafe.Pointer(pFix)).FbTemp) == 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != _sqlite3FindDbName(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12660, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12785, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return int32(WRC_Abort) } _sqlite3DbFree(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) @@ -99404,7 +99839,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // ** user-supplied authorization function returned an illegal value. // */ func _sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12706, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12831, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) } @@ -99432,11 +99867,11 @@ func _sqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, int32(SQLITE_READ), zTab, zCol, zDb, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12729, libc.VaList(bp+8, zTab, zCol)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12854, libc.VaList(bp+8, zTab, zCol)) if (*Tsqlite3)(unsafe.Pointer(db)).FnDb > int32(2) || iDb != 0 { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12735, libc.VaList(bp+8, zDb, z)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12860, libc.VaList(bp+8, zDb, z)) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12741, libc.VaList(bp+8, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12866, libc.VaList(bp+8, z)) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != int32(SQLITE_IGNORE) && rc != SQLITE_OK { @@ -99496,7 +99931,7 @@ func _sqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName } else { - zCol = __ccgo_ts + 8253 + zCol = __ccgo_ts + 8378 } } if int32(SQLITE_IGNORE) == _sqlite3AuthReadCol(tls, pParse, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -99531,7 +99966,7 @@ func _sqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, ** parameters can be either NULL or a string. */ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12768, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12893, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != SQLITE_OK && rc != int32(SQLITE_IGNORE) { @@ -99952,21 +100387,21 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { /* No match against the official names. But always match "main" ** to schema 0 as a legacy fallback. */ - if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6933) == 0 { + if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6997) == 0 { i = 0 } else { return uintptr(0) } } p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, zName) - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6873, int32(7)) == 0 { + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6937, int32(7)) == 0 { if i == int32(1) { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6900+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6919+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6414+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6881) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6964+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6983+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6478+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6945) } } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6919+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6414) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6983+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6478) } } } @@ -99996,12 +100431,12 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp ; i++ } - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6873, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6919+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6414) + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6937, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6983+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6478) } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6900+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6881) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6964+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6945) } } } @@ -100039,7 +100474,7 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt ** can be an eponymous virtual table. */ if int32((*TParse)(unsafe.Pointer(pParse)).FprepFlags)&int32(SQLITE_PREPARE_NO_VTAB) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 { pMod = _sqlite3HashFind(tls, db+576, zName) - if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12783, int32(7)) == 0 { + if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12908, int32(7)) == 0 { pMod = _sqlite3PragmaVtabRegister(tls, db, zName) } if pMod != 0 && _sqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0 { @@ -100057,15 +100492,15 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt } if p == uintptr(0) { if flags&uint32(LOCATE_VIEW) != 0 { - v1 = __ccgo_ts + 12791 + v1 = __ccgo_ts + 12916 } else { - v1 = __ccgo_ts + 12804 + v1 = __ccgo_ts + 12929 } zMsg = v1 if zDbase != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7137, libc.VaList(bp+8, zMsg, zDbase, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7201, libc.VaList(bp+8, zMsg, zDbase, zName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7147, libc.VaList(bp+8, zMsg, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7272, libc.VaList(bp+8, zMsg, zName)) } } else { } @@ -100103,12 +100538,12 @@ func _sqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags Tu32, p uintpt // ** names into the new preferred names, as appropriate. // */ func _sqlite3PreferredTableName(tls *libc.TLS, zName uintptr) (r uintptr) { - if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6873, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6414+7) == 0 { - return __ccgo_ts + 6919 + if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6937, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6478+7) == 0 { + return __ccgo_ts + 6983 } - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6881+7) == 0 { - return __ccgo_ts + 6900 + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6945+7) == 0 { + return __ccgo_ts + 6964 } } return zName @@ -100633,7 +101068,7 @@ func _sqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { var v uintptr _ = v v = _sqlite3GetVdbe(tls, p) - _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6414) + _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6478) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_OpenWrite), 0, int32(SCHEMA_ROOT), iDb, int32(5)) if (*TParse)(unsafe.Pointer(p)).FnTab == 0 { (*TParse)(unsafe.Pointer(p)).FnTab = int32(1) @@ -100665,7 +101100,7 @@ func _sqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) { } /* "main" is always an acceptable alias for the primary database ** even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. */ - if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6933, zName) { + if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6997, zName) { break } goto _1 @@ -100723,13 +101158,13 @@ func _sqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12818, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12943, 0) return -int32(1) } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = _sqlite3FindDb(tls, db, pName1) if iDb < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12835, libc.VaList(bp+8, pName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12960, libc.VaList(bp+8, pName1)) return -int32(1) } } else { @@ -100773,12 +101208,12 @@ func _sqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit))) != 0 || Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 1*8))) != 0 || Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 2*8))) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1650, 0) /* corruptSchema() will supply the error */ + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1664, 0) /* corruptSchema() will supply the error */ return int32(SQLITE_ERROR) } } else { - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6873, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12855, libc.VaList(bp+8, zName)) + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6937, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12980, libc.VaList(bp+8, zName)) return int32(SQLITE_ERROR) } } @@ -100993,9 +101428,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui /* Special case: Parsing the sqlite_schema or sqlite_temp_schema schema */ iDb = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6881 + v1 = __ccgo_ts + 6945 } else { - v1 = __ccgo_ts + 6414 + v1 = __ccgo_ts + 6478 } zName = _sqlite3DbStrDup(tls, db, v1) *(*uintptr)(unsafe.Pointer(bp)) = pName1 @@ -101008,7 +101443,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 && (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) && iDb != int32(1) { /* If creating a temp table, the name may not be qualified. Unless ** the database name is "temp" anyway. */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12897, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13022, 0) return } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 { @@ -101024,9 +101459,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui return } if isView != 0 { - v2 = __ccgo_ts + 11144 + v2 = __ccgo_ts + 11269 } else { - v2 = __ccgo_ts + 9406 + v2 = __ccgo_ts + 9531 } if _sqlite3CheckObjectName(tls, pParse, zName, v2, zName) != 0 { goto begin_table_error @@ -101036,9 +101471,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui } zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp == int32(1) { - v3 = __ccgo_ts + 6881 + v3 = __ccgo_ts + 6945 } else { - v3 = __ccgo_ts + 6414 + v3 = __ccgo_ts + 6478 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto begin_table_error @@ -101062,11 +101497,11 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if pTable != 0 { if !(noErr != 0) { if int32((*TTable)(unsafe.Pointer(pTable)).FeTabType) == int32(TABTYP_VIEW) { - v4 = __ccgo_ts + 11144 + v4 = __ccgo_ts + 11269 } else { - v4 = __ccgo_ts + 9406 + v4 = __ccgo_ts + 9531 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12938, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13063, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) _sqlite3ForceNotReadOnly(tls, pParse) @@ -101074,7 +101509,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui goto begin_table_error } if _sqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12959, libc.VaList(bp+16, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13084, libc.VaList(bp+16, zName)) goto begin_table_error } } @@ -101226,7 +101661,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { _, _, _ = db, pHash, pRet db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TParse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12994, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13119, 0) } else { } (*TParse)(unsafe.Pointer(pParse)).FbReturning = uint8(1) @@ -101242,7 +101677,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+13028, libc.VaList(bp+8, pParse)) + Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+13153, libc.VaList(bp+8, pParse)) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.FzName = pRet + 196 (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Fop = uint8(TK_RETURNING) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = uint8(TRIGGER_AFTER) @@ -101289,7 +101724,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok return } if int32((*TTable)(unsafe.Pointer(p)).FnCol)+int32(1) > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13048, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13173, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) return } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -101299,12 +101734,12 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok ** by the parser, we can sometimes end up with a typename that ends ** with "generated always". Check for this case and omit the surplus ** text. */ - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+13071, int32(6)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+13196, int32(6)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(6) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1)))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- } - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+13078, int32(9)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+13203, int32(9)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(9) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1)))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- @@ -101353,7 +101788,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok break } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FhName) == int32(hName) && _sqlite3StrICmp(tls, z, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FzCnName) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13088, libc.VaList(bp+40, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13213, libc.VaList(bp+40, z)) _sqlite3DbFree(tls, db, z) return } @@ -101561,10 +101996,10 @@ func _sqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar isInit = libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) != int32(1)) pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(p)).FnCol)-int32(1))*16 if !(_sqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13114, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13239, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13159, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13284, 0) } else { libc.X__builtin___memset_chk(tls, bp, 0, uint64(72), libc.X__builtin_object_size(tls, bp, 0)) (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_SPAN) @@ -101622,7 +102057,7 @@ func _makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { p1 = pCol + 14 *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(COLFLAG_PRIMKEY)) if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13200, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13325, 0) } } @@ -101659,7 +102094,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError goto primary_key_exit } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasPrimaryKey) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13252, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13377, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit } *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_HasPrimaryKey) @@ -101715,7 +102150,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError _sqlite3HasExplicitNulls(tls, pParse, pList) } else { if autoInc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13293, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13418, 0) } else { _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), uintptr(0), sortOrder, 0, uint8(SQLITE_IDXTYPE_PRIMARYKEY)) pList = uintptr(0) @@ -101831,17 +102266,17 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui } pCol = (*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-int32(1))*16 if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) == int32(PARSE_MODE_DECLARE_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13349, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13474, 0) goto generated_done } if int32((*TColumn)(unsafe.Pointer(pCol)).FiDflt) > 0 { goto generated_error } if pType != 0 { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13392, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13517, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { /* no-op */ } else { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13400, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13525, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { eType = uint8(COLFLAG_STORED) } else { goto generated_error @@ -101873,7 +102308,7 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui goto generated_error generated_error: ; - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13407, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13532, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) goto generated_done generated_done: ; @@ -102036,13 +102471,13 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { } n += _identLength(tls, (*TTable)(unsafe.Pointer(p)).FzName) if n < int32(50) { - zSep = __ccgo_ts + 1650 - zSep2 = __ccgo_ts + 13438 - zEnd = __ccgo_ts + 5454 + zSep = __ccgo_ts + 1664 + zSep2 = __ccgo_ts + 13563 + zEnd = __ccgo_ts + 5518 } else { - zSep = __ccgo_ts + 13440 - zSep2 = __ccgo_ts + 13444 - zEnd = __ccgo_ts + 13449 + zSep = __ccgo_ts + 13565 + zSep2 = __ccgo_ts + 13569 + zEnd = __ccgo_ts + 13574 } n += int32(35) + int32(6)*int32((*TTable)(unsafe.Pointer(p)).FnCol) zStmt = _sqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -102050,7 +102485,7 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { _sqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13452, 0) + Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13577, 0) *(*int32)(unsafe.Pointer(bp)) = _sqlite3Strlen30(tls, zStmt) _identPut(tls, zStmt, bp, (*TTable)(unsafe.Pointer(p)).FzName) v2 = *(*int32)(unsafe.Pointer(bp)) @@ -102076,17 +102511,17 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { i++ pCol += 16 } - Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3799, libc.VaList(bp+16, zEnd)) + Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3863, libc.VaList(bp+16, zEnd)) return zStmt } var _azType1 = [6]uintptr{ - 0: __ccgo_ts + 1650, - 1: __ccgo_ts + 13466, - 2: __ccgo_ts + 13472, - 3: __ccgo_ts + 13477, - 4: __ccgo_ts + 13482, - 5: __ccgo_ts + 13472, + 0: __ccgo_ts + 1664, + 1: __ccgo_ts + 13591, + 2: __ccgo_ts + 13597, + 3: __ccgo_ts + 13602, + 4: __ccgo_ts + 13607, + 5: __ccgo_ts + 13597, } // C documentation @@ -102660,13 +103095,13 @@ func _sqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts Tu32, pSelect uintptr) { bp := tls.Alloc(112) defer tls.Free(112) - var addrInsLoop, addrTop, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v4, v6, v8 int32 + var addrInsLoop, addrTop, iCsr, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v10, v4, v6, v8 int32 var colFlags Tu32 - var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v5, v7, v9 uintptr - var v10 Ti16 + var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v13, v5, v7, v9 uintptr + var v12 Ti16 var _ /* dest at bp+0 */ TSelectDest - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v4, v5, v6, v7, v8, v9 /* The new table */ - db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iCsr, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v12, v13, v4, v5, v6, v7, v8, v9 /* The new table */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ if pEnd == uintptr(0) && pSelect == uintptr(0) { return } @@ -102688,7 +103123,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if pSelect != 0 || !(int32((*TTable)(unsafe.Pointer(p)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) && (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1650, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1664, 0) return } (*TTable)(unsafe.Pointer(p)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum @@ -102715,9 +103150,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(ii)*16 if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf0>>4)) == COLTYPE_CUSTOM { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_HASTYPE) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13488, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1650))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13613, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1664))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13521, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13646, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } return } else { @@ -102738,11 +103173,11 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* Special processing for WITHOUT ROWID Tables */ if tabOpts&uint32(TF_WithoutRowid) != 0 { if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13548, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13673, 0) return } if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasPrimaryKey) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13598, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13723, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) return } *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) @@ -102789,7 +103224,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ii1++ } if nNG == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13630, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13755, 0) return } } @@ -102823,12 +103258,12 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if int32((*TTable)(unsafe.Pointer(p)).FeTabType) == TABTYP_NORM { /* A regular table */ - zType = __ccgo_ts + 9406 - zType2 = __ccgo_ts + 13674 + zType = __ccgo_ts + 9531 + zType2 = __ccgo_ts + 13799 } else { /* A view */ - zType = __ccgo_ts + 11144 - zType2 = __ccgo_ts + 13680 + zType = __ccgo_ts + 11269 + zType2 = __ccgo_ts + 13805 } /* If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT ** statement to populate the new table. The root-page number for the @@ -102843,28 +103278,31 @@ func _sqlite3EndTable(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 { /* A table that describes the SELECT results */ + if pSelect != 0 { /* Write cursor on the new table */ if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) (*TParse)(unsafe.Pointer(pParse)).FnErr++ return } - v5 = pParse + 56 - *(*int32)(unsafe.Pointer(v5))++ + v5 = pParse + 52 v4 = *(*int32)(unsafe.Pointer(v5)) - regYield = v4 + *(*int32)(unsafe.Pointer(v5))++ + iCsr = v4 v7 = pParse + 56 *(*int32)(unsafe.Pointer(v7))++ v6 = *(*int32)(unsafe.Pointer(v7)) - regRec = v6 + regYield = v6 v9 = pParse + 56 *(*int32)(unsafe.Pointer(v9))++ v8 = *(*int32)(unsafe.Pointer(v9)) - regRowid = v8 + regRec = v8 + v11 = pParse + 56 + *(*int32)(unsafe.Pointer(v11))++ + v10 = *(*int32)(unsafe.Pointer(v11)) + regRowid = v10 _sqlite3MayAbort(tls, pParse) - _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), int32(1), (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) + _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), iCsr, (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_P2ISREG)) - (*TParse)(unsafe.Pointer(pParse)).FnTab = int32(2) addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -102874,9 +103312,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if pSelTab == uintptr(0) { return } - v10 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol - (*TTable)(unsafe.Pointer(p)).FnNVCol = v10 - (*TTable)(unsafe.Pointer(p)).FnCol = v10 + v12 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol + (*TTable)(unsafe.Pointer(p)).FnNVCol = v12 + (*TTable)(unsafe.Pointer(p)).FnCol = v12 (*TTable)(unsafe.Pointer(p)).FaCol = (*TTable)(unsafe.Pointer(pSelTab)).FaCol (*TTable)(unsafe.Pointer(pSelTab)).FnCol = 0 (*TTable)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) @@ -102891,33 +103329,33 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr addrInsLoop = _sqlite3VdbeAddOp1(tls, v, int32(OP_Yield), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSDParm) _sqlite3VdbeAddOp3(tls, v, int32(OP_MakeRecord), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst, (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst, regRec) _sqlite3TableAffinity(tls, v, p, 0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), int32(1), regRowid) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), int32(1), regRec, regRowid) + _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iCsr, regRowid) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iCsr, regRec, regRowid) _sqlite3VdbeGoto(tls, v, addrInsLoop) _sqlite3VdbeJumpHere(tls, v, addrInsLoop) - _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), int32(1)) + _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), iCsr) } /* Compute the complete text of the CREATE statement */ if pSelect != 0 { zStmt = _createTableStmt(tls, db, p) } else { if tabOpts != 0 { - v11 = pParse + 288 + v13 = pParse + 288 } else { - v11 = pEnd + v13 = pEnd } - pEnd2 = v11 + pEnd2 = v13 n = int32(int64((*TToken)(unsafe.Pointer(pEnd2)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) if int32(*(*int8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pEnd2)).Fz))) != int32(';') { n = int32(uint32(n) + (*TToken)(unsafe.Pointer(pEnd2)).Fn) } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13685, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13810, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13700, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13825, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) _sqlite3DbFree(tls, db, zStmt) _sqlite3ChangeCookie(tls, pParse, iDb) /* Check to see if we need to create an sqlite_sequence table for @@ -102926,17 +103364,16 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != uint32(0) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != libc.Int32FromInt32(PARSE_MODE_NORMAL)) { pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13798, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13923, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) } } /* Reparse everything to update our internal data structures */ - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13840, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13965, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) /* Test for cycles in generated columns and illegal expressions ** in CHECK constraints and in DEFAULT clauses. */ if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasGenerated) != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13874, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(0x0001), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13999, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13895, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } /* Add the table to the in-memory representation of the database. */ @@ -102953,7 +103390,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* If this is the magic sqlite_sequence table used by autoincrement, ** then record a pointer to this table in the main database structure ** so that INSERT can find the table easily. */ - if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9928) == 0 { + if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+10053) == 0 { (*TSchema)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } } @@ -102986,7 +103423,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*uintptr)(unsafe.Pointer(bp + 112)) = uintptr(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if int32((*TParse)(unsafe.Pointer(pParse)).FnVar) > 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13927, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14020, 0) goto create_view_fail } _sqlite3StartTable(tls, pParse, pName1, pName2, isTemp, int32(1), 0, noErr) @@ -103003,7 +103440,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(TF_NoVisibleRowid) /* Never allow rowid in view */ _sqlite3TwoPartName(tls, pParse, pName1, pName2, bp+112) iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(p)).FpSchema) - _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+11144, *(*uintptr)(unsafe.Pointer(bp + 112))) + _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+11269, *(*uintptr)(unsafe.Pointer(bp + 112))) if _sqlite3FixSelect(tls, bp+16, pSelect) != 0 { goto create_view_fail } @@ -103099,7 +103536,7 @@ func _viewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) (r int32 ** SELECT * FROM temp.ex1; */ if int32((*TTable)(unsafe.Pointer(pTable)).FnCol) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13963, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14056, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) return int32(1) } /* If we get this far, it means we need to compute the table names. @@ -103283,7 +103720,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { v = _sqlite3GetVdbe(tls, pParse) r1 = _sqlite3GetTempReg(tls, pParse) if iTable < int32(2) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13993, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14086, 0) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Destroy), iTable, r1, iDb) _sqlite3MayAbort(tls, pParse) @@ -103296,7 +103733,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { ** is in register NNN. See grammar rules associated with the TK_REGISTER ** token for additional information. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14008, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14101, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) _sqlite3ReleaseTempReg(tls, pParse, r1) } @@ -103379,9 +103816,9 @@ func _sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uin if !(i <= int32(4)) { break } - Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+14075, libc.VaList(bp+32, i)) + Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+14168, libc.VaList(bp+32, i)) if _sqlite3FindTable(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, bp, zDbName) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+12033, libc.VaList(bp+32, zDbName, bp, zType, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+12158, libc.VaList(bp+32, zDbName, bp, zType, zName)) } goto _1 _1: @@ -103422,7 +103859,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** move as a result of the drop (can happen in auto-vacuum mode). */ if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14089, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14182, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* Drop all entries in the schema table that refer to the ** table. The program name loops through the schema table and deletes @@ -103431,7 +103868,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** created in the temp database that refers to a table in another ** database. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14134, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14227, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { _destroyTable(tls, pParse, pTab) } @@ -103466,11 +103903,11 @@ func _sqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) (r int32) { // ** Return true if it is not allowed to drop the given table // */ func _tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) (r int32) { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6873, int32(7)) == 0 { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3420, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6937, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3484, int32(4)) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7614, int32(10)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7739, int32(10)) == 0 { return 0 } return int32(1) @@ -103525,9 +103962,9 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6881 + v1 = __ccgo_ts + 6945 } else { - v1 = __ccgo_ts + 6414 + v1 = __ccgo_ts + 6478 } zTab = v1 zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName @@ -103560,18 +103997,18 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if _tableMayNotBeDropped(tls, db, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14201, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14294, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Ensure DROP TABLE is not used on a view, and DROP VIEW is not used ** on a table. */ if isView != 0 && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14229, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14322, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } if !(isView != 0) && int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14263, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14356, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Generate code to remove the table from the schema table @@ -103581,7 +104018,7 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) if !(isView != 0) { - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+12145, (*TTable)(unsafe.Pointer(pTab)).FzName) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+12270, (*TTable)(unsafe.Pointer(pTab)).FzName) _sqlite3FkDropTable(tls, pParse, pName, pTab) } _sqlite3CodeDropTable(tls, pParse, pTab, iDb, isView) @@ -103629,13 +104066,13 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p goto fk_end } if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14295, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14388, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) goto fk_end } nCol = int32(1) } else { if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14358, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14451, 0) goto fk_end } else { nCol = (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr @@ -103698,7 +104135,7 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p j++ } if j >= int32((*TTable)(unsafe.Pointer(p)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14452, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14545, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) goto fk_end } if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { @@ -103958,11 +104395,11 @@ func _sqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) (r i if int32(uint32(*(*uint16)(unsafe.Pointer(pList + 8 + uintptr(i)*32 + 16 + 4))&0x20>>5)) != 0 { sf = (*(*TExprList_item)(unsafe.Pointer(pList + 8 + uintptr(i)*32))).Ffg.FsortFlags if int32(sf) == 0 || int32(sf) == int32(3) { - v2 = __ccgo_ts + 14498 + v2 = __ccgo_ts + 14591 } else { - v2 = __ccgo_ts + 14504 + v2 = __ccgo_ts + 14597 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14509, libc.VaList(bp+8, v2)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14602, libc.VaList(bp+8, v2)) return int32(1) } goto _1 @@ -104040,7 +104477,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = int32(1) } } - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14537, *(*uintptr)(unsafe.Pointer(bp + 96))) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14630, *(*uintptr)(unsafe.Pointer(bp + 96))) if _sqlite3FixSrcList(tls, bp, pTblName) != 0 { /* Because the parser constructs pTblName from a single identifier, ** sqlite3FixSrcList can never fail. */ @@ -104050,7 +104487,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } if iDb == int32(1) && (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema != (*TTable)(unsafe.Pointer(pTab)).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14543, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14636, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if !((*TTable)(unsafe.Pointer(pTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { @@ -104064,16 +104501,16 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) } pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6873, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14593, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6937, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14686, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14621, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14714, 0) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14646, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14739, 0) goto exit_create_index } /* @@ -104094,19 +104531,19 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if zName == uintptr(0) { goto exit_create_index } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14537, (*TTable)(unsafe.Pointer(pTab)).FzName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14630, (*TTable)(unsafe.Pointer(pTab)).FzName) { goto exit_create_index } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if !((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0) { if _sqlite3FindTable(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14680, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14773, libc.VaList(bp+136, zName)) goto exit_create_index } } if _sqlite3FindIndex(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { if !(ifNotExist != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14714, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14807, libc.VaList(bp+136, zName)) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) _sqlite3ForceNotReadOnly(tls, pParse) @@ -104127,7 +104564,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pLoop = (*TIndex)(unsafe.Pointer(pLoop)).FpNext n++ } - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14738, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14831, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) if zName == uintptr(0) { goto exit_create_index } @@ -104145,9 +104582,9 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { zDb = (*TDb)(unsafe.Pointer(pDb)).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6881 + v2 = __ccgo_ts + 6945 } else { - v2 = __ccgo_ts + 6414 + v2 = __ccgo_ts + 6478 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v2, uintptr(0), zDb) != 0 { goto exit_create_index @@ -104175,7 +104612,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } _sqlite3ExprListSetSortOrder(tls, pList, sortOrder, -int32(1)) } else { - _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14537) + _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14630) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { goto exit_create_index } @@ -104259,7 +104696,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pCExpr = _sqlite3ExprSkipCollate(tls, (*TExprList_item)(unsafe.Pointer(pListItem)).FpExpr) if int32((*TExpr)(unsafe.Pointer(pCExpr)).Fop) != int32(TK_COLUMN) { if pTab == (*TParse)(unsafe.Pointer(pParse)).FpNewTable { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14761, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14854, 0) goto exit_create_index } if (*TIndex)(unsafe.Pointer(pIndex)).FaColExpr == uintptr(0) { @@ -104406,7 +104843,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u ** explicitly specified behavior for the index. */ if !(int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) || int32((*TIndex)(unsafe.Pointer(pIndex)).FonError) == int32(OE_Default)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14822, libc.VaList(bp+136, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14915, libc.VaList(bp+136, 0)) } if int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) { (*TIndex)(unsafe.Pointer(pIdx)).FonError = (*TIndex)(unsafe.Pointer(pIndex)).FonError @@ -104436,8 +104873,8 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != uintptr(0) { (*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14864, 0) - (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125123)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14957, 0) + (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125741)) goto exit_create_index } } @@ -104477,11 +104914,11 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* A named index with an explicit CREATE INDEX statement */ if onError == OE_None { - v13 = __ccgo_ts + 1650 + v13 = __ccgo_ts + 1664 } else { - v13 = __ccgo_ts + 14881 + v13 = __ccgo_ts + 14974 } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14889, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14982, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) } else { /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ /* zStmt = sqlite3MPrintf(""); */ @@ -104489,7 +104926,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* Add an entry in sqlite_schema for this index */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14909, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+15002, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) _sqlite3DbFree(tls, db, zStmt) /* Fill the index with data and reparse the schema. Code an OP_Expire ** to invalidate all pre-compiled statements. @@ -104497,7 +104934,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != 0 { _sqlite3RefillIndex(tls, pParse, pIndex, iMem) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14968, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+15061, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Expire), 0, int32(1)) } _sqlite3VdbeJumpHere(tls, v, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum)) @@ -104660,7 +105097,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pIndex = _sqlite3FindIndex(tls, db, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzName, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) if pIndex == uintptr(0) { if !(ifExists != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14995, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15088, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) _sqlite3ForceNotReadOnly(tls, pParse) @@ -104669,7 +105106,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in goto exit_drop_index } if int32(uint32(*(*uint16)(unsafe.Pointer(pIndex + 100))&0x3>>0)) != SQLITE_IDXTYPE_APPDEF { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15013, libc.VaList(bp+8, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15106, libc.VaList(bp+8, 0)) goto exit_drop_index } iDb = _sqlite3SchemaToIndex(tls, db, (*TIndex)(unsafe.Pointer(pIndex)).FpSchema) @@ -104677,9 +105114,9 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pTab = (*TIndex)(unsafe.Pointer(pIndex)).FpTable zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6881 + v1 = __ccgo_ts + 6945 } else { - v1 = __ccgo_ts + 6414 + v1 = __ccgo_ts + 6478 } zTab = v1 if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_DELETE), zTab, uintptr(0), zDb) != 0 { @@ -104695,8 +105132,8 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in v = _sqlite3GetVdbe(tls, pParse) if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+15086, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+12141, (*TIndex)(unsafe.Pointer(pIndex)).FzName) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+15179, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+12266, (*TIndex)(unsafe.Pointer(pIndex)).FzName) _sqlite3ChangeCookie(tls, pParse, iDb) _destroyRootPage(tls, pParse, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum), iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropIndex), iDb, 0, 0, (*TIndex)(unsafe.Pointer(pIndex)).FzName, 0) @@ -104887,7 +105324,7 @@ func _sqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra nAlloc = int64(2)*int64((*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) + int64(nExtra) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc+nExtra >= int32(SQLITE_MAX_SRCLIST) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15146, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15239, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) return uintptr(0) } if nAlloc > int64(SQLITE_MAX_SRCLIST) { @@ -105119,11 +105556,11 @@ func _sqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa db = (*TParse)(unsafe.Pointer(pParse)).Fdb if !(p != 0) && pOnUsing != uintptr(0) && ((*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 || (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpUsing != 0) { if (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 { - v1 = __ccgo_ts + 15182 + v1 = __ccgo_ts + 15275 } else { - v1 = __ccgo_ts + 15185 + v1 = __ccgo_ts + 15278 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15191, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15284, libc.VaList(bp+8, v1)) goto append_from_error } p = _sqlite3SrcListAppend(tls, pParse, p, pTable, pDatabase) @@ -105321,7 +105758,7 @@ func _sqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { var eTxnType, i int32 _, _, _, _, _ = db, eTxnType, i, pBt, v db = (*TParse)(unsafe.Pointer(pParse)).Fdb - if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+15227, uintptr(0), uintptr(0)) != 0 { + if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+15320, uintptr(0), uintptr(0)) != 0 { return } v = _sqlite3GetVdbe(tls, pParse) @@ -105368,9 +105805,9 @@ func _sqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { _, _, _ = isRollback, v, v1 isRollback = libc.BoolInt32(eType == int32(TK_ROLLBACK)) if isRollback != 0 { - v1 = __ccgo_ts + 15233 + v1 = __ccgo_ts + 15326 } else { - v1 = __ccgo_ts + 15242 + v1 = __ccgo_ts + 15335 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), v1, uintptr(0), uintptr(0)) != 0 { return @@ -105402,9 +105839,9 @@ func _sqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } var _az = [3]uintptr{ - 0: __ccgo_ts + 15227, - 1: __ccgo_ts + 15249, - 2: __ccgo_ts + 15233, + 0: __ccgo_ts + 15320, + 1: __ccgo_ts + 15342, + 2: __ccgo_ts + 15326, } // C documentation @@ -105424,7 +105861,7 @@ func _sqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) (r int32) { if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt == uintptr(0) && !((*TParse)(unsafe.Pointer(pParse)).Fexplain != 0) { rc = _sqlite3BtreeOpen(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp, 0, _flags) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15257, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15350, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = rc return int32(1) } @@ -105608,7 +106045,7 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable _sqlite3StrAccumInit(tls, bp, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136))) if (*TIndex)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15327, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15420, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) } else { j = 0 for { @@ -105617,10 +106054,10 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx } zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*16))).FzCnName if j != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+15338, int32(2)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+15431, int32(2)) } Xsqlite3_str_appendall(tls, bp, (*TTable)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp, __ccgo_ts+1663, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+1677, int32(1)) Xsqlite3_str_appendall(tls, bp, zCol) goto _1 _1: @@ -105649,10 +106086,10 @@ func _sqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr _, _ = rc, zMsg if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12729, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12854, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(6)< libc.BoolInt32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15457, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15550, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } return 0 } @@ -106755,11 +107192,11 @@ func _sqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger ui bp := tls.Alloc(16) defer tls.Free(16) if _tabIsReadOnly(tls, pParse, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15490, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15583, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && (pTrigger == uintptr(0) || (*TTrigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 && (*TTrigger)(unsafe.Pointer(pTrigger)).FpNext == uintptr(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15519, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15612, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -107162,7 +107599,7 @@ func _sqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** invoke the callback function. */ if memCnt != 0 { - _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15557) + _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15650) } goto delete_from_cleanup delete_from_cleanup: @@ -107310,7 +107747,7 @@ func _sqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri v3 = 0 } _sqlite3VdbeAddOp2(tls, v, int32(OP_Delete), iDataCur, v3) - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11930) { + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+12055) { _sqlite3VdbeAppendP4(tls, v, pTab, -int32(5)) } if int32(eMode) != ONEPASS_OFF { @@ -107614,11 +108051,11 @@ func _typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } var _azType2 = [5]uintptr{ - 0: __ccgo_ts + 6654, - 1: __ccgo_ts + 6649, - 2: __ccgo_ts + 8545, - 3: __ccgo_ts + 8540, - 4: __ccgo_ts + 1636, + 0: __ccgo_ts + 6718, + 1: __ccgo_ts + 6713, + 2: __ccgo_ts + 8670, + 3: __ccgo_ts + 8665, + 4: __ccgo_ts + 1650, } // C documentation @@ -107732,7 +108169,7 @@ func _absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* IMP: R-31676-45509 If X is the integer -9223372036854775808 ** then abs(X) throws an integer overflow error since there is no ** equivalent positive 64-bit two complement value. */ - Xsqlite3_result_error(tls, context, __ccgo_ts+15570, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15663, -int32(1)) return } iVal = -iVal @@ -108047,7 +108484,7 @@ func _roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } *(*float64)(unsafe.Pointer(bp)) = float64(int64(*(*float64)(unsafe.Pointer(bp)) + v1)) } else { - zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15587, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) + zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15680, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -108627,7 +109064,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { */ nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer(db + 136 + 8*4)) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15593, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15686, -int32(1)) return } if argc == int32(3) { @@ -108639,7 +109076,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { return } if _sqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), -int32(1)) != int32(1) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15626, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15719, -int32(1)) return } escape = _sqlite3Utf8Read(tls, bp+8) @@ -108721,7 +109158,7 @@ func _errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { defer tls.Free(16) _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // C documentation @@ -108808,17 +109245,17 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_FLOAT): r1 = Xsqlite3_value_double(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15671, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15764, libc.VaList(bp+16, r1)) zVal = Xsqlite3_str_value(tls, pStr) if zVal != 0 { _sqlite3AtoF(tls, zVal, bp, int32((*TStrAccum)(unsafe.Pointer(pStr)).FnChar), uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp)) { Xsqlite3_str_reset(tls, pStr) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15679, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15772, libc.VaList(bp+16, r1)) } } case int32(SQLITE_INTEGER): - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1406, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1425, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) case int32(SQLITE_BLOB): zBlob = Xsqlite3_value_blob(tls, pValue) nBlob = int64(Xsqlite3_value_bytes(tls, pValue)) @@ -108846,9 +109283,9 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { } case int32(SQLITE_TEXT): zArg = Xsqlite3_value_text(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15687, libc.VaList(bp+16, zArg)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15780, libc.VaList(bp+16, zArg)) default: - Xsqlite3_str_append(tls, pStr, __ccgo_ts+1651, int32(4)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+1665, int32(4)) break } } @@ -109085,7 +109522,7 @@ func _unhexFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { var v3 uint32 var _ /* zHex at bp+0 */ uintptr _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ch, d, nHex, nPass, p, pBlob, zPass, v1, v2, v3, v4, v5, v6 - zPass = __ccgo_ts + 1650 + zPass = __ccgo_ts + 1664 nPass = 0 *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) nHex = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -109398,7 +109835,7 @@ var _lenOne = [1]uint32{ } var _azOne = [1]uintptr{ - 0: __ccgo_ts + 11550, + 0: __ccgo_ts + 11675, } // C documentation @@ -109466,7 +109903,7 @@ func _concatFuncCore(tls *libc.TLS, context uintptr, argc int32, argv uintptr, n // ** concatentation of all non-null arguments. // */ func _concatFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1650) + _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1664) } // C documentation @@ -109512,7 +109949,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { _, _, _, _, _, _, _ = code, i, j, prevcode, zIn, v3, v4 zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = __ccgo_ts + 1650 + zIn = __ccgo_ts + 1664 } i = 0 for { @@ -109558,7 +109995,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { /* IMP: R-64894-50321 The string "?000" is returned if the argument ** is NULL or contains no ASCII alphabetic characters. */ - Xsqlite3_result_text(tls, context, __ccgo_ts+15690, int32(4), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, context, __ccgo_ts+15783, int32(4), libc.UintptrFromInt32(0)) } } @@ -109619,7 +110056,7 @@ func _loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { ** flag is set. See the sqlite3_enable_load_extension() API. */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_LoadExtFunc) == uint64(0) { - Xsqlite3_result_error(tls, context, __ccgo_ts+12768, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+12893, -int32(1)) return } if argc == int32(2) { @@ -109808,7 +110245,7 @@ func _sumFinalize(tls *libc.TLS, context uintptr) { if p != 0 && (*TSumCtx)(unsafe.Pointer(p)).Fcnt > 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fapprox != 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fovrfl != 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+15570, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15663, -int32(1)) } else { if !(_sqlite3IsOverflow(tls, (*TSumCtx)(unsafe.Pointer(p)).FrErr) != 0) { Xsqlite3_result_double(tls, context, (*TSumCtx)(unsafe.Pointer(p)).FrSum+(*TSumCtx)(unsafe.Pointer(p)).FrErr) @@ -110150,7 +110587,7 @@ func _groupConcatValue(tls *libc.TLS, context uintptr) { func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { var rc int32 _ = rc - rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15695, int32(2)) + rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15788, int32(2)) if rc == int32(SQLITE_NOMEM) { _sqlite3OomFault(tls, db) } @@ -110179,8 +110616,8 @@ func _sqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 if !(nArg <= int32(3)) { break } - _sqlite3CreateFunc(tls, db, __ccgo_ts+15701, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15701, nArg, uint8(SQLITE_UTF8), uint8(0)) + _sqlite3CreateFunc(tls, db, __ccgo_ts+15794, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15794, nArg, uint8(SQLITE_UTF8), uint8(0)) *(*Tu32)(unsafe.Pointer(pDef + 4)) |= uint32(flags) *(*Tu32)(unsafe.Pointer(pDef + 4)) &= uint32(^libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)) goto _1 @@ -110486,562 +110923,562 @@ var _aBuiltinFunc = [110]TFuncDef{ FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_implies_nonnull_row))), - FzName: __ccgo_ts + 15706, + FzName: __ccgo_ts + 15799, }, 1: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_compare))), - FzName: __ccgo_ts + 15726, + FzName: __ccgo_ts + 15819, }, 2: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_implies_expr))), - FzName: __ccgo_ts + 15739, + FzName: __ccgo_ts + 15832, }, 3: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_affinity))), - FzName: __ccgo_ts + 15757, + FzName: __ccgo_ts + 15850, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15766, + FzName: __ccgo_ts + 15859, }, 5: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15774, + FzName: __ccgo_ts + 15867, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15774, + FzName: __ccgo_ts + 15867, }, 7: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15789, + FzName: __ccgo_ts + 15882, }, 8: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15815, + FzName: __ccgo_ts + 15908, }, 9: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15840, + FzName: __ccgo_ts + 15933, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15849, + FzName: __ccgo_ts + 15942, }, 11: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15860, + FzName: __ccgo_ts + 15953, }, 12: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_sqlite_offset))), - FzName: __ccgo_ts + 15867, + FzName: __ccgo_ts + 15960, }, 13: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15881, + FzName: __ccgo_ts + 15974, }, 14: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15881, + FzName: __ccgo_ts + 15974, }, 15: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15887, + FzName: __ccgo_ts + 15980, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15887, + FzName: __ccgo_ts + 15980, }, 17: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15893, + FzName: __ccgo_ts + 15986, }, 18: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15893, + FzName: __ccgo_ts + 15986, }, 19: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15898, + FzName: __ccgo_ts + 15991, }, 20: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15898, + FzName: __ccgo_ts + 15991, }, 21: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15898, + FzName: __ccgo_ts + 15991, }, 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15902, + FzName: __ccgo_ts + 15995, }, 23: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15902, + FzName: __ccgo_ts + 15995, }, 24: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15902, + FzName: __ccgo_ts + 15995, }, 25: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15906, + FzName: __ccgo_ts + 15999, }, 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15913, + FzName: __ccgo_ts + 16006, }, 27: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_LENGTH)), - FzName: __ccgo_ts + 15921, + FzName: __ccgo_ts + 16014, }, 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_BYTELEN)), - FzName: __ccgo_ts + 15928, + FzName: __ccgo_ts + 16021, }, 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15941, + FzName: __ccgo_ts + 16034, }, 30: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15947, + FzName: __ccgo_ts + 16040, }, 31: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15954, + FzName: __ccgo_ts + 16047, }, 32: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15961, + FzName: __ccgo_ts + 16054, }, 33: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15969, + FzName: __ccgo_ts + 16062, }, 34: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15974, + FzName: __ccgo_ts + 16067, }, 35: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15978, + FzName: __ccgo_ts + 16071, }, 36: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15978, + FzName: __ccgo_ts + 16071, }, 37: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15984, + FzName: __ccgo_ts + 16077, }, 38: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15990, + FzName: __ccgo_ts + 16083, }, 39: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15996, + FzName: __ccgo_ts + 16089, }, 40: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16000, + FzName: __ccgo_ts + 16093, }, 41: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16000, + FzName: __ccgo_ts + 16093, }, 42: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16006, + FzName: __ccgo_ts + 16099, }, 43: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16006, + FzName: __ccgo_ts + 16099, }, 44: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16013, + FzName: __ccgo_ts + 16106, }, 45: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16013, + FzName: __ccgo_ts + 16106, }, 46: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16013, + FzName: __ccgo_ts + 16106, }, 47: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16023, + FzName: __ccgo_ts + 16116, }, 48: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16030, + FzName: __ccgo_ts + 16123, }, 49: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16037, + FzName: __ccgo_ts + 16130, }, 50: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16048, + FzName: __ccgo_ts + 16141, }, 51: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16055, + FzName: __ccgo_ts + 16148, }, 52: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16070, + FzName: __ccgo_ts + 16163, }, 53: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16087, + FzName: __ccgo_ts + 16180, }, 54: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16098, + FzName: __ccgo_ts + 16191, }, 55: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16104, + FzName: __ccgo_ts + 16197, }, 56: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16122, + FzName: __ccgo_ts + 16215, }, 57: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16130, + FzName: __ccgo_ts + 16223, }, 58: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16144, + FzName: __ccgo_ts + 16237, }, 59: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16152, + FzName: __ccgo_ts + 16245, }, 60: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16161, + FzName: __ccgo_ts + 16254, }, 61: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16161, + FzName: __ccgo_ts + 16254, }, 62: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16168, + FzName: __ccgo_ts + 16261, }, 63: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16168, + FzName: __ccgo_ts + 16261, }, 64: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16178, + FzName: __ccgo_ts + 16271, }, 65: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16182, + FzName: __ccgo_ts + 16275, }, 66: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16188, + FzName: __ccgo_ts + 16281, }, 67: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_COUNT) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 16192, + FzName: __ccgo_ts + 16285, }, 68: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 16192, + FzName: __ccgo_ts + 16285, }, 69: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16198, + FzName: __ccgo_ts + 16291, }, 70: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16198, + FzName: __ccgo_ts + 16291, }, 71: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16211, + FzName: __ccgo_ts + 16304, }, 72: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE) | libc.Int32FromInt32(SQLITE_FUNC_CASE)), FpUserData: uintptr(unsafe.Pointer(&_globInfo)), - FzName: __ccgo_ts + 16222, + FzName: __ccgo_ts + 16315, }, 73: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15701, + FzName: __ccgo_ts + 15794, }, 74: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15701, + FzName: __ccgo_ts + 15794, }, 75: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 7078, + FzName: __ccgo_ts + 7142, }, 76: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 7078, + FzName: __ccgo_ts + 7142, }, 77: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16227, + FzName: __ccgo_ts + 16320, }, 78: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16232, + FzName: __ccgo_ts + 1237, }, 79: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16240, + FzName: __ccgo_ts + 1245, }, 80: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16246, + FzName: __ccgo_ts + 16325, }, 81: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16252, + FzName: __ccgo_ts + 16331, }, 82: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 16255, + FzName: __ccgo_ts + 16334, }, 83: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 16259, + FzName: __ccgo_ts + 16338, }, 84: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 16265, + FzName: __ccgo_ts + 16344, }, 85: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16255, + FzName: __ccgo_ts + 16334, }, 86: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16270, + FzName: __ccgo_ts + 16349, }, 87: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16274, + FzName: __ccgo_ts + 16353, }, 88: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16278, + FzName: __ccgo_ts + 16357, }, 89: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16284, + FzName: __ccgo_ts + 16363, }, 90: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16288, + FzName: __ccgo_ts + 16367, }, 91: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16293, + FzName: __ccgo_ts + 16372, }, 92: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16298, + FzName: __ccgo_ts + 16377, }, 93: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16303, + FzName: __ccgo_ts + 16382, }, 94: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16309, + FzName: __ccgo_ts + 16388, }, 95: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16313, + FzName: __ccgo_ts + 16392, }, 96: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16317, + FzName: __ccgo_ts + 16396, }, 97: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16321, + FzName: __ccgo_ts + 16400, }, 98: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16326, + FzName: __ccgo_ts + 16405, }, 99: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16331, + FzName: __ccgo_ts + 16410, }, 100: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16336, + FzName: __ccgo_ts + 16415, }, 101: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16342, + FzName: __ccgo_ts + 16421, }, 102: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16348, + FzName: __ccgo_ts + 16427, }, 103: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16354, + FzName: __ccgo_ts + 16433, }, 104: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16359, + FzName: __ccgo_ts + 16438, }, 105: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16367, + FzName: __ccgo_ts + 16446, }, 106: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16375, + FzName: __ccgo_ts + 16454, }, 107: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16378, + FzName: __ccgo_ts + 16457, }, 108: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 7078, + FzName: __ccgo_ts + 7142, }, 109: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_iif))), - FzName: __ccgo_ts + 16383, + FzName: __ccgo_ts + 16462, }, } @@ -111518,7 +111955,7 @@ func _sqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey } if !(pIdx != 0) { if !((*TParse)(unsafe.Pointer(pParse)).FdisableTriggers != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16387, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16466, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) } _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, aiCol) return int32(1) @@ -112629,11 +113066,11 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr break } *(*TToken)(unsafe.Pointer(bp + 16)) = TToken{ - Fz: __ccgo_ts + 6944, + Fz: __ccgo_ts + 7008, Fn: uint32(3), } /* Literal "old" token */ *(*TToken)(unsafe.Pointer(bp + 32)) = TToken{ - Fz: __ccgo_ts + 6940, + Fz: __ccgo_ts + 7004, Fn: uint32(3), } /* tFromCol = OLD.tToCol */ if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { @@ -112697,7 +113134,7 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr nFrom = _sqlite3Strlen30(tls, zFrom) if action == int32(OE_Restrict) { iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5573) + pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5637) if pRaise != 0 { (*TExpr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -113278,7 +113715,7 @@ func _sqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8510, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8635, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) } (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -113539,6 +113976,219 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { } } +// C documentation +// +// /* +// ** If argument pVal is a Select object returned by an sqlite3MultiValues() +// ** that was able to use the co-routine optimization, finish coding the +// ** co-routine. +// */ +func _sqlite3MultiValuesEnd(tls *libc.TLS, pParse uintptr, pVal uintptr) { + var pItem uintptr + _ = pItem + if pVal != 0 && (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pVal)).FpSrc)).FnSrc > 0 { + pItem = (*TSelect)(unsafe.Pointer(pVal)).FpSrc + 8 + _sqlite3VdbeEndCoroutine(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn) + _sqlite3VdbeJumpHere(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FaddrFillSub-int32(1)) + } +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are constant. +// */ +func _exprListIsConstant(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + if 0 == _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are both constant and have no affinity. +// */ +func _exprListIsNoAffinity(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + var pExpr uintptr + _, _ = ii, pExpr + if _exprListIsConstant(tls, pParse, pRow) == 0 { + return 0 + } + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + pExpr = (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr + if 0 != int32(_sqlite3ExprAffinity(tls, pExpr)) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** This function is called by the parser for the second and subsequent +// ** rows of a multi-row VALUES clause. Argument pLeft is the part of +// ** the VALUES clause already parsed, argument pRow is the vector of values +// ** for the new row. The Select object returned represents the complete +// ** VALUES clause, including the new row. +// ** +// ** There are two ways in which this may be achieved - by incremental +// ** coding of a co-routine (the "co-routine" method) or by returning a +// ** Select object equivalent to the following (the "UNION ALL" method): +// ** +// ** "pLeft UNION ALL SELECT pRow" +// ** +// ** If the VALUES clause contains a lot of rows, this compound Select +// ** object may consume a lot of memory. +// ** +// ** When the co-routine method is used, each row that will be returned +// ** by the VALUES clause is coded into part of a co-routine as it is +// ** passed to this function. The returned Select object is equivalent to: +// ** +// ** SELECT * FROM ( +// ** Select object to read co-routine +// ** ) +// ** +// ** The co-routine method is used in most cases. Exceptions are: +// ** +// ** a) If the current statement has a WITH clause. This is to avoid +// ** statements like: +// ** +// ** WITH cte AS ( VALUES('x'), ('y') ... ) +// ** SELECT * FROM cte AS a, cte AS b; +// ** +// ** This will not work, as the co-routine uses a hard-coded register +// ** for its OP_Yield instructions, and so it is not possible for two +// ** cursors to iterate through it concurrently. +// ** +// ** b) The schema is currently being parsed (i.e. the VALUES clause is part +// ** of a schema item like a VIEW or TRIGGER). In this case there is no VM +// ** being generated when parsing is taking place, and so generating +// ** a co-routine is not possible. +// ** +// ** c) There are non-constant expressions in the VALUES clause (e.g. +// ** the VALUES clause is part of a correlated sub-query). +// ** +// ** d) One or more of the values in the first row of the VALUES clause +// ** has an affinity (i.e. is a CAST expression). This causes problems +// ** because the complex rules SQLite uses (see function +// ** sqlite3SubqueryColumnTypes() in select.c) to determine the effective +// ** affinity of such a column for all rows require access to all values in +// ** the column simultaneously. +// */ +func _sqlite3MultiValues(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRow uintptr) (r uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var f, v1 int32 + var p, pRet, pSelect, v, v2 uintptr + var _ /* dest at bp+0 */ TSelectDest + _, _, _, _, _, _, _ = f, p, pRet, pSelect, v, v1, v2 + if (*TParse)(unsafe.Pointer(pParse)).FbHasWith != 0 || (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy != 0 || _exprListIsConstant(tls, pParse, pRow) == 0 || (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 && _exprListIsNoAffinity(tls, pParse, (*TSelect)(unsafe.Pointer(pLeft)).FpEList) == 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { + /* The co-routine method cannot be used. Fall back to UNION ALL. */ + pSelect = uintptr(0) + f = libc.Int32FromInt32(SF_Values) | libc.Int32FromInt32(SF_MultiValue) + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc != 0 { + _sqlite3MultiValuesEnd(tls, pParse, pLeft) + f = int32(SF_Values) + } else { + if (*TSelect)(unsafe.Pointer(pLeft)).FpPrior != 0 { + /* In this case set the SF_MultiValue flag only if it was set on pLeft */ + f = int32(uint32(f) & (*TSelect)(unsafe.Pointer(pLeft)).FselFlags) + } + } + pSelect = _sqlite3SelectNew(tls, pParse, pRow, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(f), uintptr(0)) + *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) + if pSelect != 0 { + (*TSelect)(unsafe.Pointer(pSelect)).Fop = uint8(TK_ALL) + (*TSelect)(unsafe.Pointer(pSelect)).FpPrior = pLeft + pLeft = pSelect + } + } else { + p = uintptr(0) /* SrcItem that reads from co-routine */ + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 { + /* Co-routine has not yet been started and the special Select object + ** that accesses the co-routine has not yet been created. This block + ** does both those things. */ + v = _sqlite3GetVdbe(tls, pParse) + pRet = _sqlite3SelectNew(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) + /* Ensure the database schema has been read. This is to ensure we have + ** the correct text encoding. */ + if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmDbFlags&uint32(DBFLAG_SchemaKnownOk) == uint32(0) { + _sqlite3ReadSchema(tls, pParse) + } + if pRet != 0 { + (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pRet)).FpSrc)).FnSrc = int32(1) + (*TSelect)(unsafe.Pointer(pRet)).FpPrior = (*TSelect)(unsafe.Pointer(pLeft)).FpPrior + (*TSelect)(unsafe.Pointer(pRet)).Fop = (*TSelect)(unsafe.Pointer(pLeft)).Fop + (*TSelect)(unsafe.Pointer(pLeft)).FpPrior = uintptr(0) + (*TSelect)(unsafe.Pointer(pLeft)).Fop = uint8(TK_SELECT) + p = (*TSelect)(unsafe.Pointer(pRet)).FpSrc + 8 + (*TSrcItem)(unsafe.Pointer(p)).FpSelect = pLeft + libc.SetBitFieldPtr16Uint32(p+60+4, libc.Uint32FromInt32(1), 5, 0x20) + (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + v2 = pParse + 56 + *(*int32)(unsafe.Pointer(v2))++ + v1 = *(*int32)(unsafe.Pointer(v2)) + (*TSrcItem)(unsafe.Pointer(p)).FregReturn = v1 + (*TSrcItem)(unsafe.Pointer(p)).FiCursor = -int32(1) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1)) = uint32(2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn, 0, (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub) + _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + /* Allocate registers for the output of the co-routine. Do so so + ** that there are two unused registers immediately before those + ** used by the co-routine. This allows the code in sqlite3Insert() + ** to use these registers directly, instead of copying the output + ** of the co-routine to a separate array for processing. */ + (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(3) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpEList)).FnExpr + *(*int32)(unsafe.Pointer(pParse + 56)) += int32(2) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst + *(*Tu32)(unsafe.Pointer(pLeft + 4)) |= uint32(SF_MultiValue) + _sqlite3Select(tls, pParse, pLeft, bp) + (*TSrcItem)(unsafe.Pointer(p)).FregResult = (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst + pLeft = pRet + } + } else { + p = (*TSelect)(unsafe.Pointer(pLeft)).FpSrc + 8 + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1))++ + } + if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { + if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p)).FpSelect)).FpEList)).FnExpr != (*TExprList)(unsafe.Pointer(pRow)).FnExpr { + _sqlite3SelectWrongNumTermsError(tls, pParse, (*TSrcItem)(unsafe.Pointer(p)).FpSelect) + } else { + _sqlite3ExprCodeExprList(tls, pParse, pRow, (*TSrcItem)(unsafe.Pointer(p)).FregResult, 0, uint8(0)) + _sqlite3VdbeAddOp1(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Yield), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + } + } + _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pRow) + } + return pLeft +} + // C documentation // // /* @@ -113641,27 +114291,27 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { bp := tls.Alloc(160) defer tls.Free(160) - var aRegIdx, db, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, v, v13, v16, v18, v6, v9 uintptr - var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v12, v15, v17, v19, v23, v24, v5, v7, v8 int32 + var aRegIdx, db, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, v, v10, v14, v17, v19, v7 uintptr + var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v13, v16, v18, v20, v24, v25, v5, v6, v8, v9 int32 var appendFlag, bIdListInOrder, useTempTable, withoutRowid Tu8 - var colFlags, v21 Tu32 + var colFlags, v22 Tu32 var _ /* dest at bp+8 */ TSelectDest var _ /* iDataCur at bp+0 */ int32 var _ /* iIdxCur at bp+4 */ int32 var _ /* isReplace at bp+112 */ int32 var _ /* sNC at bp+56 */ TNameContext var _ /* tmask at bp+48 */ int32 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v12, v13, v15, v16, v17, v18, v19, v21, v23, v24, v5, v6, v7, v8, v9 /* Number of columns in the data */ - nHidden = 0 /* Number of hidden columns if TABLE is virtual */ - *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ - *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ - ipkColumn = -int32(1) /* Label for the end of the insertion loop */ - srcTab = 0 /* Data comes from this temporary cursor if >=0 */ - addrInsTop = 0 /* Jump to label "D" */ - addrCont = 0 /* Index of database holding TABLE */ - useTempTable = uint8(0) /* Store SELECT results in intermediate table */ - appendFlag = uint8(0) /* True if IDLIST is in table order */ - pList = uintptr(0) /* Register in which to store next column */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v10, v13, v14, v16, v17, v18, v19, v20, v22, v24, v25, v5, v6, v7, v8, v9 /* Number of columns in the data */ + nHidden = 0 /* Number of hidden columns if TABLE is virtual */ + *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ + *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ + ipkColumn = -int32(1) /* Label for the end of the insertion loop */ + srcTab = 0 /* Data comes from this temporary cursor if >=0 */ + addrInsTop = 0 /* Jump to label "D" */ + addrCont = 0 /* Index of database holding TABLE */ + useTempTable = uint8(0) /* Store SELECT results in intermediate table */ + appendFlag = uint8(0) /* True if IDLIST is in table order */ + pList = uintptr(0) /* Register in which to store next column */ /* Register allocations */ regFromSelect = 0 /* Base register for data coming from SELECT */ regAutoinc = 0 /* Register holding the AUTOINCREMENT counter */ @@ -113799,7 +114449,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_STORED)|libc.Int32FromInt32(COLFLAG_VIRTUAL)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16432, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16511, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto insert_cleanup } break @@ -113814,7 +114464,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i bIdListInOrder = uint8(0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16473, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16552, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto insert_cleanup } @@ -113831,28 +114481,46 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** co-routine is the common header to the 3rd and 4th templates. */ if pSelect != 0 { /* Result code */ - v6 = pParse + 56 - *(*int32)(unsafe.Pointer(v6))++ - v5 = *(*int32)(unsafe.Pointer(v6)) - regYield = v5 - addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) - _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) - _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) - if bIdListInOrder != 0 { - v7 = regData - } else { - v7 = 0 - } - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v7 - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) - rc = _sqlite3Select(tls, pParse, pSelect, bp+8) - regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst - if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { - goto insert_cleanup + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc)).FnSrc == int32(1) && int32(uint32(*(*uint16)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + 60 + 4))&0x20>>5)) != 0 && (*TSelect)(unsafe.Pointer(pSelect)).FpPrior == uintptr(0) { + pItem = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSDParm = (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn + regFromSelect = (*TSrcItem)(unsafe.Pointer(pItem)).FregResult + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FpEList)).FnExpr + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+16584, libc.VaList(bp+128, pItem)) + if bIdListInOrder != 0 && nColumn == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { + regData = regFromSelect + regRowid = regData - int32(1) + if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { + v5 = int32(1) + } else { + v5 = 0 + } + regIns = regRowid - v5 + } + } else { + v7 = pParse + 56 + *(*int32)(unsafe.Pointer(v7))++ + v6 = *(*int32)(unsafe.Pointer(v7)) /* Top of the co-routine */ + regYield = v6 + addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) + _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) + if bIdListInOrder != 0 { + v8 = regData + } else { + v8 = 0 + } + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) + rc = _sqlite3Select(tls, pParse, pSelect, bp+8) + regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst + if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { + goto insert_cleanup + } + _sqlite3VdbeEndCoroutine(tls, v, regYield) + _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr } - _sqlite3VdbeEndCoroutine(tls, v, regYield) - _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ - nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr /* Set useTempTable to TRUE if the result of the SELECT statement ** should be written into a temporary table (template 4). Set to ** FALSE if each output row of the SELECT can be written directly into @@ -113866,10 +114534,10 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin useTempTable = uint8(1) } if useTempTable != 0 { /* Label "L" */ - v9 = pParse + 52 - v8 = *(*int32)(unsafe.Pointer(v9)) - *(*int32)(unsafe.Pointer(v9))++ - srcTab = v8 + v10 = pParse + 52 + v9 = *(*int32)(unsafe.Pointer(v10)) + *(*int32)(unsafe.Pointer(v10))++ + srcTab = v9 regRec = _sqlite3GetTempReg(tls, pParse) regTempRowid = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp2(tls, v, int32(OP_OpenEphemeral), srcTab, nColumn) @@ -113910,8 +114578,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { ipkColumn-- } - goto _10 - _10: + goto _11 + _11: ; i-- } @@ -113928,28 +114596,28 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_NOINSERT) != 0 { nHidden++ } - goto _11 - _11: + goto _12 + _12: ; i++ } } if nColumn != int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16505, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16592, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) goto insert_cleanup } } if pColumn != uintptr(0) && nColumn != (*TIdList)(unsafe.Pointer(pColumn)).FnId { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16557, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16644, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup } /* Initialize the count of rows to be inserted */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&(uint64(libc.Int32FromInt32(0x00001))<= 0 { /* tag-20191021-001: If the INTEGER PRIMARY KEY is being generated by the ** SELECT, go ahead and copy the value into the rowid slot now, so that @@ -114062,18 +114730,18 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** using excess space. The file format definition requires this extra ** NULL - we cannot optimize further by skipping the column completely */ _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) - goto _20 + goto _21 } - v21 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) - colFlags = v21 - if v21&uint32(COLFLAG_NOINSERT) != uint32(0) { + v22 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) + colFlags = v22 + if v22&uint32(COLFLAG_NOINSERT) != uint32(0) { nHidden++ if colFlags&uint32(COLFLAG_VIRTUAL) != uint32(0) { /* Virtual columns do not participate in OP_MakeRecord. So back up ** iRegStore by one slot to compensate for the iRegStore++ in the ** outer for() loop */ iRegStore-- - goto _20 + goto _21 } else { if colFlags&uint32(COLFLAG_STORED) != uint32(0) { /* Stored columns are computed later. But if there are BEFORE @@ -114083,13 +114751,13 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if *(*int32)(unsafe.Pointer(bp + 48))&int32(TRIGGER_BEFORE) != 0 { _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) } - goto _20 + goto _21 } else { if pColumn == uintptr(0) { /* Hidden columns that are not explicitly named in the INSERT ** get there default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } } } @@ -114100,8 +114768,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if !(j < (*TIdList)(unsafe.Pointer(pColumn)).FnId && *(*int32)(unsafe.Pointer(pColumn + 8 + uintptr(j)*16 + 8)) != i) { break } - goto _22 - _22: + goto _23 + _23: ; j++ } @@ -114109,14 +114777,14 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin /* A column not named in the insert column list gets its ** default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } k = j } else { if nColumn == 0 { /* This is INSERT INTO ... DEFAULT VALUES. Load the default value. */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } else { k = i - nHidden } @@ -114133,16 +114801,16 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin y = _sqlite3ExprCodeTarget(tls, pParse, pX, iRegStore) if y != iRegStore { if (*TExpr)(unsafe.Pointer(pX)).Fflags&uint32(libc.Int32FromInt32(EP_Subquery)) != uint32(0) { - v23 = int32(OP_Copy) + v24 = int32(OP_Copy) } else { - v23 = int32(OP_SCopy) + v24 = int32(OP_SCopy) } - _sqlite3VdbeAddOp2(tls, v, v23, y, iRegStore) + _sqlite3VdbeAddOp2(tls, v, v24, y, iRegStore) } } } - goto _20 - _20: + goto _21 + _21: ; i++ iRegStore++ @@ -114253,11 +114921,11 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _sqlite3VtabMakeWritable(tls, pParse, pTab) _sqlite3VdbeAddOp4(tls, v, int32(OP_VUpdate), int32(1), int32((*TTable)(unsafe.Pointer(pTab)).FnCol)+int32(2), regIns, pVTab, -int32(11)) if onError == int32(OE_Default) { - v24 = int32(OE_Abort) + v25 = int32(OE_Abort) } else { - v24 = onError + v25 = onError } - _sqlite3VdbeChangeP5(tls, v, uint16(v24)) + _sqlite3VdbeChangeP5(tls, v, uint16(v25)) _sqlite3MayAbort(tls, pParse) } else { *(*int32)(unsafe.Pointer(bp + 112)) = 0 /* True to use OPFLAG_SEEKRESULT */ @@ -114316,7 +114984,7 @@ insert_end: ** invoke the callback function. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16649) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16736) } goto insert_cleanup insert_cleanup: @@ -114709,7 +115377,7 @@ func _sqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case int32(OE_Rollback): fallthrough case int32(OE_Fail): - zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12729, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12854, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) _sqlite3VdbeAddOp3(tls, v, int32(OP_HaltIfNull), libc.Int32FromInt32(SQLITE_CONSTRAINT)|libc.Int32FromInt32(5)<= 0 && !(int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile)))) == libc.Int32FromUint8('/'))) { @@ -116943,7 +117611,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp iFile-- } iFile++ - if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16701, int32(3)) == 0 { + if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16788, int32(3)) == 0 { iFile += int32(3) } iEntry = int32(8) @@ -116963,7 +117631,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp ; iFile++ } - libc.X__builtin___memcpy_chk(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16705, uint64(6), libc.X__builtin_object_size(tls, zAltEntry+uintptr(iEntry), 0)) + libc.X__builtin___memcpy_chk(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16792, uint64(6), libc.X__builtin_object_size(tls, zAltEntry+uintptr(iEntry), 0)) zEntry = zAltEntry xInit = _sqlite3OsDlSym(tls, pVfs, handle, zEntry) } @@ -116975,7 +117643,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v7 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16711, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16798, libc.VaList(bp+16, zEntry, zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116990,7 +117658,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp return SQLITE_OK } if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16754, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16841, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3OsDlClose(tls, pVfs, handle) @@ -117021,7 +117689,7 @@ extension_not_found: *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v10 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16786, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16873, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -117030,7 +117698,7 @@ extension_not_found: /* Shared library endings to try if zFile cannot be loaded as written */ var _azEndings = [1]uintptr{ - 0: __ccgo_ts + 16663, + 0: __ccgo_ts + 16750, } func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) (r int32) { @@ -117263,7 +117931,7 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { rc = v2 } if v3 && v2 != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16823, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16910, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -117317,63 +117985,63 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { // ** result column is different from the name of the pragma // */ var _pragCName = [57]uintptr{ - 0: __ccgo_ts + 5829, - 1: __ccgo_ts + 16862, - 2: __ccgo_ts + 9406, - 3: __ccgo_ts + 16866, - 4: __ccgo_ts + 16871, - 5: __ccgo_ts + 16874, - 6: __ccgo_ts + 16884, - 7: __ccgo_ts + 16894, - 8: __ccgo_ts + 16900, - 9: __ccgo_ts + 16904, - 10: __ccgo_ts + 16909, - 11: __ccgo_ts + 16914, - 12: __ccgo_ts + 16922, - 13: __ccgo_ts + 16933, - 14: __ccgo_ts + 16936, - 15: __ccgo_ts + 16943, - 16: __ccgo_ts + 16904, - 17: __ccgo_ts + 16909, - 18: __ccgo_ts + 16950, - 19: __ccgo_ts + 16955, - 20: __ccgo_ts + 16958, - 21: __ccgo_ts + 16965, - 22: __ccgo_ts + 16900, - 23: __ccgo_ts + 16904, - 24: __ccgo_ts + 16971, - 25: __ccgo_ts + 16976, - 26: __ccgo_ts + 16981, - 27: __ccgo_ts + 16904, - 28: __ccgo_ts + 16985, - 29: __ccgo_ts + 16909, - 30: __ccgo_ts + 16993, - 31: __ccgo_ts + 16997, - 32: __ccgo_ts + 17002, - 33: __ccgo_ts + 12145, - 34: __ccgo_ts + 12141, - 35: __ccgo_ts + 17008, - 36: __ccgo_ts + 17013, - 37: __ccgo_ts + 17018, - 38: __ccgo_ts + 16862, - 39: __ccgo_ts + 16904, - 40: __ccgo_ts + 17023, - 41: __ccgo_ts + 17030, - 42: __ccgo_ts + 17037, - 43: __ccgo_ts + 9406, - 44: __ccgo_ts + 17045, - 45: __ccgo_ts + 5832, - 46: __ccgo_ts + 17051, - 47: __ccgo_ts + 16862, - 48: __ccgo_ts + 16904, - 49: __ccgo_ts + 17056, - 50: __ccgo_ts + 17061, - 51: __ccgo_ts + 16255, - 52: __ccgo_ts + 17066, - 53: __ccgo_ts + 17079, - 54: __ccgo_ts + 17088, - 55: __ccgo_ts + 17095, - 56: __ccgo_ts + 17106, + 0: __ccgo_ts + 5893, + 1: __ccgo_ts + 16949, + 2: __ccgo_ts + 9531, + 3: __ccgo_ts + 16953, + 4: __ccgo_ts + 16958, + 5: __ccgo_ts + 16961, + 6: __ccgo_ts + 16971, + 7: __ccgo_ts + 16981, + 8: __ccgo_ts + 16987, + 9: __ccgo_ts + 16991, + 10: __ccgo_ts + 16996, + 11: __ccgo_ts + 17001, + 12: __ccgo_ts + 17009, + 13: __ccgo_ts + 17020, + 14: __ccgo_ts + 17023, + 15: __ccgo_ts + 17030, + 16: __ccgo_ts + 16991, + 17: __ccgo_ts + 16996, + 18: __ccgo_ts + 17037, + 19: __ccgo_ts + 17042, + 20: __ccgo_ts + 17045, + 21: __ccgo_ts + 17052, + 22: __ccgo_ts + 16987, + 23: __ccgo_ts + 16991, + 24: __ccgo_ts + 17058, + 25: __ccgo_ts + 17063, + 26: __ccgo_ts + 17068, + 27: __ccgo_ts + 16991, + 28: __ccgo_ts + 17072, + 29: __ccgo_ts + 16996, + 30: __ccgo_ts + 17080, + 31: __ccgo_ts + 17084, + 32: __ccgo_ts + 17089, + 33: __ccgo_ts + 12270, + 34: __ccgo_ts + 12266, + 35: __ccgo_ts + 17095, + 36: __ccgo_ts + 17100, + 37: __ccgo_ts + 17105, + 38: __ccgo_ts + 16949, + 39: __ccgo_ts + 16991, + 40: __ccgo_ts + 17110, + 41: __ccgo_ts + 17117, + 42: __ccgo_ts + 17124, + 43: __ccgo_ts + 9531, + 44: __ccgo_ts + 17132, + 45: __ccgo_ts + 5896, + 46: __ccgo_ts + 17138, + 47: __ccgo_ts + 16949, + 48: __ccgo_ts + 16991, + 49: __ccgo_ts + 17143, + 50: __ccgo_ts + 17148, + 51: __ccgo_ts + 16334, + 52: __ccgo_ts + 17153, + 53: __ccgo_ts + 17166, + 54: __ccgo_ts + 17175, + 55: __ccgo_ts + 17182, + 56: __ccgo_ts + 17193, } // C documentation @@ -117392,191 +118060,191 @@ type PragmaName = TPragmaName var _aPragmaName = [67]TPragmaName{ 0: { - FzName: __ccgo_ts + 17114, + FzName: __ccgo_ts + 17201, FePragTyp: uint8(PragTyp_ANALYSIS_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 1: { - FzName: __ccgo_ts + 17129, + FzName: __ccgo_ts + 17216, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_APPLICATION_ID), }, 2: { - FzName: __ccgo_ts + 17144, + FzName: __ccgo_ts + 17231, FePragTyp: uint8(PragTyp_AUTO_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 3: { - FzName: __ccgo_ts + 17156, + FzName: __ccgo_ts + 17243, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_AutoIndex), }, 4: { - FzName: __ccgo_ts + 17172, + FzName: __ccgo_ts + 17259, FePragTyp: uint8(PragTyp_BUSY_TIMEOUT), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(56), FnPragCName: uint8(1), }, 5: { - FzName: __ccgo_ts + 17095, + FzName: __ccgo_ts + 17182, FePragTyp: uint8(PragTyp_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 6: { - FzName: __ccgo_ts + 17185, + FzName: __ccgo_ts + 17272, FePragTyp: uint8(PragTyp_CACHE_SPILL), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 7: { - FzName: __ccgo_ts + 17197, + FzName: __ccgo_ts + 17284, FePragTyp: uint8(PragTyp_CASE_SENSITIVE_LIKE), FmPragFlg: uint8(PragFlg_NoColumns), }, 8: { - FzName: __ccgo_ts + 17217, + FzName: __ccgo_ts + 17304, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CellSizeCk), }, 9: { - FzName: __ccgo_ts + 17233, + FzName: __ccgo_ts + 17320, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CkptFullFSync), }, 10: { - FzName: __ccgo_ts + 17254, + FzName: __ccgo_ts + 17341, FePragTyp: uint8(PragTyp_COLLATION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(38), FnPragCName: uint8(2), }, 11: { - FzName: __ccgo_ts + 17269, + FzName: __ccgo_ts + 17356, FePragTyp: uint8(PragTyp_COMPILE_OPTIONS), FmPragFlg: uint8(PragFlg_Result0), }, 12: { - FzName: __ccgo_ts + 17285, + FzName: __ccgo_ts + 17372, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00001)) << libc.Int32FromInt32(32), }, 13: { - FzName: __ccgo_ts + 17299, + FzName: __ccgo_ts + 17386, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_DATA_VERSION), }, 14: { - FzName: __ccgo_ts + 17312, + FzName: __ccgo_ts + 17399, FePragTyp: uint8(PragTyp_DATABASE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(47), FnPragCName: uint8(3), }, 15: { - FzName: __ccgo_ts + 17326, + FzName: __ccgo_ts + 17413, FePragTyp: uint8(PragTyp_DEFAULT_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiPragCName: uint8(55), FnPragCName: uint8(1), }, 16: { - FzName: __ccgo_ts + 17345, + FzName: __ccgo_ts + 17432, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_DeferFKs), }, 17: { - FzName: __ccgo_ts + 17364, + FzName: __ccgo_ts + 17451, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_NullCallback), }, 18: { - FzName: __ccgo_ts + 17387, + FzName: __ccgo_ts + 17474, FePragTyp: uint8(PragTyp_ENCODING), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 19: { - FzName: __ccgo_ts + 17396, + FzName: __ccgo_ts + 17483, FePragTyp: uint8(PragTyp_FOREIGN_KEY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(43), FnPragCName: uint8(4), }, 20: { - FzName: __ccgo_ts + 17414, + FzName: __ccgo_ts + 17501, FePragTyp: uint8(PragTyp_FOREIGN_KEY_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FnPragCName: uint8(8), }, 21: { - FzName: __ccgo_ts + 17431, + FzName: __ccgo_ts + 17518, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ForeignKeys), }, 22: { - FzName: __ccgo_ts + 17444, + FzName: __ccgo_ts + 17531, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), }, 23: { - FzName: __ccgo_ts + 17459, + FzName: __ccgo_ts + 17546, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullColNames), }, 24: { - FzName: __ccgo_ts + 17477, + FzName: __ccgo_ts + 17564, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullFSync), }, 25: { - FzName: __ccgo_ts + 17487, + FzName: __ccgo_ts + 17574, FePragTyp: uint8(PragTyp_FUNCTION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(27), FnPragCName: uint8(6), }, 26: { - FzName: __ccgo_ts + 17501, + FzName: __ccgo_ts + 17588, FePragTyp: uint8(PragTyp_HARD_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 27: { - FzName: __ccgo_ts + 17517, + FzName: __ccgo_ts + 17604, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_IgnoreChecks), }, 28: { - FzName: __ccgo_ts + 17542, + FzName: __ccgo_ts + 17629, FePragTyp: uint8(PragTyp_INCREMENTAL_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_NoColumns)), }, 29: { - FzName: __ccgo_ts + 17561, + FzName: __ccgo_ts + 17648, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), FnPragCName: uint8(3), }, 30: { - FzName: __ccgo_ts + 17572, + FzName: __ccgo_ts + 17659, FePragTyp: uint8(PragTyp_INDEX_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(38), FnPragCName: uint8(5), }, 31: { - FzName: __ccgo_ts + 17583, + FzName: __ccgo_ts + 17670, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), @@ -117584,151 +118252,151 @@ var _aPragmaName = [67]TPragmaName{ FiArg: uint64(1), }, 32: { - FzName: __ccgo_ts + 17595, + FzName: __ccgo_ts + 17682, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 33: { - FzName: __ccgo_ts + 17611, + FzName: __ccgo_ts + 17698, FePragTyp: uint8(PragTyp_JOURNAL_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 34: { - FzName: __ccgo_ts + 17624, + FzName: __ccgo_ts + 17711, FePragTyp: uint8(PragTyp_JOURNAL_SIZE_LIMIT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 35: { - FzName: __ccgo_ts + 17643, + FzName: __ccgo_ts + 17730, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_LegacyAlter), }, 36: { - FzName: __ccgo_ts + 17662, + FzName: __ccgo_ts + 17749, FePragTyp: uint8(PragTyp_LOCK_PROXY_FILE), FmPragFlg: uint8(PragFlg_NoColumns1), }, 37: { - FzName: __ccgo_ts + 17678, + FzName: __ccgo_ts + 17765, FePragTyp: uint8(PragTyp_LOCKING_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 38: { - FzName: __ccgo_ts + 17691, + FzName: __ccgo_ts + 17778, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 39: { - FzName: __ccgo_ts + 17706, + FzName: __ccgo_ts + 17793, FePragTyp: uint8(PragTyp_MMAP_SIZE), }, 40: { - FzName: __ccgo_ts + 17716, + FzName: __ccgo_ts + 17803, FePragTyp: uint8(PragTyp_MODULE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 41: { - FzName: __ccgo_ts + 17728, + FzName: __ccgo_ts + 17815, FePragTyp: uint8(PragTyp_OPTIMIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_NeedSchema)), }, 42: { - FzName: __ccgo_ts + 17737, + FzName: __ccgo_ts + 17824, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 43: { - FzName: __ccgo_ts + 17748, + FzName: __ccgo_ts + 17835, FePragTyp: uint8(PragTyp_PAGE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 44: { - FzName: __ccgo_ts + 17758, + FzName: __ccgo_ts + 17845, FePragTyp: uint8(PragTyp_PRAGMA_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 45: { - FzName: __ccgo_ts + 17770, + FzName: __ccgo_ts + 17857, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_QueryOnly), }, 46: { - FzName: __ccgo_ts + 17781, + FzName: __ccgo_ts + 17868, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 47: { - FzName: __ccgo_ts + 17793, + FzName: __ccgo_ts + 17880, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00004)) << libc.Int32FromInt32(32), }, 48: { - FzName: __ccgo_ts + 17810, + FzName: __ccgo_ts + 17897, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_RecTriggers), }, 49: { - FzName: __ccgo_ts + 17829, + FzName: __ccgo_ts + 17916, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ReverseOrder), }, 50: { - FzName: __ccgo_ts + 17855, + FzName: __ccgo_ts + 17942, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_SCHEMA_VERSION), }, 51: { - FzName: __ccgo_ts + 17870, + FzName: __ccgo_ts + 17957, FePragTyp: uint8(PragTyp_SECURE_DELETE), FmPragFlg: uint8(PragFlg_Result0), }, 52: { - FzName: __ccgo_ts + 17884, + FzName: __ccgo_ts + 17971, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ShortColNames), }, 53: { - FzName: __ccgo_ts + 17903, + FzName: __ccgo_ts + 17990, FePragTyp: uint8(PragTyp_SHRINK_MEMORY), FmPragFlg: uint8(PragFlg_NoColumns), }, 54: { - FzName: __ccgo_ts + 17917, + FzName: __ccgo_ts + 18004, FePragTyp: uint8(PragTyp_SOFT_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 55: { - FzName: __ccgo_ts + 17933, + FzName: __ccgo_ts + 18020, FePragTyp: uint8(PragTyp_SYNCHRONOUS), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 56: { - FzName: __ccgo_ts + 17945, + FzName: __ccgo_ts + 18032, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), FnPragCName: uint8(6), }, 57: { - FzName: __ccgo_ts + 17956, + FzName: __ccgo_ts + 18043, FePragTyp: uint8(PragTyp_TABLE_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1)), FiPragCName: uint8(15), FnPragCName: uint8(6), }, 58: { - FzName: __ccgo_ts + 17967, + FzName: __ccgo_ts + 18054, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), @@ -117736,45 +118404,45 @@ var _aPragmaName = [67]TPragmaName{ FiArg: uint64(1), }, 59: { - FzName: __ccgo_ts + 17979, + FzName: __ccgo_ts + 18066, FePragTyp: uint8(PragTyp_TEMP_STORE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 60: { - FzName: __ccgo_ts + 17990, + FzName: __ccgo_ts + 18077, FePragTyp: uint8(PragTyp_TEMP_STORE_DIRECTORY), FmPragFlg: uint8(PragFlg_NoColumns1), }, 61: { - FzName: __ccgo_ts + 18011, + FzName: __ccgo_ts + 18098, FePragTyp: uint8(PragTyp_THREADS), FmPragFlg: uint8(PragFlg_Result0), }, 62: { - FzName: __ccgo_ts + 18019, + FzName: __ccgo_ts + 18106, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_TrustedSchema), }, 63: { - FzName: __ccgo_ts + 18034, + FzName: __ccgo_ts + 18121, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_USER_VERSION), }, 64: { - FzName: __ccgo_ts + 18047, + FzName: __ccgo_ts + 18134, FePragTyp: uint8(PragTyp_WAL_AUTOCHECKPOINT), }, 65: { - FzName: __ccgo_ts + 18066, + FzName: __ccgo_ts + 18153, FePragTyp: uint8(PragTyp_WAL_CHECKPOINT), FmPragFlg: uint8(PragFlg_NeedSchema), FiPragCName: uint8(50), FnPragCName: uint8(3), }, 66: { - FzName: __ccgo_ts + 18081, + FzName: __ccgo_ts + 18168, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(SQLITE_WriteSchema) | libc.Int32FromInt32(SQLITE_NoSchemaError)), @@ -117786,6 +118454,31 @@ var _aPragmaName = [67]TPragmaName{ /************** End of pragma.h **********************************************/ /************** Continuing where we left off in pragma.c *********************/ +/* +** When the 0x10 bit of PRAGMA optimize is set, any ANALYZE commands +** will be run with an analysis_limit set to the lessor of the value of +** the following macro or to the actual analysis_limit if it is non-zero, +** in order to prevent PRAGMA optimize from running for too long. +** +** The value of 2000 is chosen emperically so that the worst-case run-time +** for PRAGMA optimize does not exceed 100 milliseconds against a variety +** of test databases on a RaspberryPI-4 compiled using -Os and without +** -DSQLITE_DEBUG. Of course, your mileage may vary. For the purpose of +** this paragraph, "worst-case" means that ANALYZE ends up being +** run on every table in the database. The worst case typically only +** happens if PRAGMA optimize is run on a database file for which ANALYZE +** has not been previously run and the 0x10000 flag is included so that +** all tables are analyzed. The usual case for PRAGMA optimize is that +** no ANALYZE commands will be run at all, or if any ANALYZE happens it +** will be against a single table, so that expected timing for PRAGMA +** optimize on a PI-4 is more like 1 millisecond or less with the 0x10000 +** flag or less than 100 microseconds without the 0x10000 flag. +** +** An analysis limit of 2000 is almost always sufficient for the query +** planner to fully characterize an index. The additional accuracy from +** a larger analysis is not usually helpful. + */ + // C documentation // // /* @@ -117875,10 +118568,10 @@ func _sqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt Tu8) (r Tu8) { // */ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { if z != 0 { - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18097) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18184) { return int32(PAGER_LOCKINGMODE_EXCLUSIVE) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18107) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18194) { return PAGER_LOCKINGMODE_NORMAL } } @@ -117896,13 +118589,13 @@ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { func _getAutoVacuum(tls *libc.TLS, z uintptr) (r int32) { var i, v1 int32 _, _ = i, v1 - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8566) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8691) { return BTREE_AUTOVACUUM_NONE } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18114) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18201) { return int32(BTREE_AUTOVACUUM_FULL) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18119) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18206) { return int32(BTREE_AUTOVACUUM_INCR) } i = _sqlite3Atoi(tls, z) @@ -117925,10 +118618,10 @@ func _getTempStore(tls *libc.TLS, z uintptr) (r int32) { if int32(*(*int8)(unsafe.Pointer(z))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(z))) <= int32('2') { return int32(*(*int8)(unsafe.Pointer(z))) - int32('0') } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+17056) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+17143) == 0 { return int32(1) } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+18131) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+18218) == 0 { return int32(2) } else { return 0 @@ -117950,7 +118643,7 @@ func _invalidateTempStorage(tls *libc.TLS, pParse uintptr) (r int32) { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt != uintptr(0) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || _sqlite3BtreeTxnState(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) != SQLITE_TXN_NONE { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18138, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18225, 0) return int32(SQLITE_ERROR) } _sqlite3BtreeClose(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) @@ -118080,15 +118773,15 @@ func _actionName(tls *libc.TLS, action Tu8) (r uintptr) { _ = zName switch int32(action) { case int32(OE_SetNull): - zName = __ccgo_ts + 18200 + zName = __ccgo_ts + 18287 case int32(OE_SetDflt): - zName = __ccgo_ts + 18209 + zName = __ccgo_ts + 18296 case int32(OE_Cascade): - zName = __ccgo_ts + 18221 + zName = __ccgo_ts + 18308 case int32(OE_Restrict): - zName = __ccgo_ts + 18229 + zName = __ccgo_ts + 18316 default: - zName = __ccgo_ts + 18238 + zName = __ccgo_ts + 18325 break } return zName @@ -118109,12 +118802,12 @@ func _sqlite3JournalModename(tls *libc.TLS, eMode int32) (r uintptr) { } var _azModeName = [6]uintptr{ - 0: __ccgo_ts + 18248, - 1: __ccgo_ts + 18255, - 2: __ccgo_ts + 18263, - 3: __ccgo_ts + 18267, - 4: __ccgo_ts + 18131, - 5: __ccgo_ts + 18276, + 0: __ccgo_ts + 18335, + 1: __ccgo_ts + 18342, + 2: __ccgo_ts + 18350, + 3: __ccgo_ts + 18354, + 4: __ccgo_ts + 18218, + 5: __ccgo_ts + 18363, } // C documentation @@ -118176,15 +118869,15 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s goto _1 } if (*TFuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = __ccgo_ts + 18301 + zType = __ccgo_ts + 18388 } else { if (*TFuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = __ccgo_ts + 18303 + zType = __ccgo_ts + 18390 } else { - zType = __ccgo_ts + 7965 + zType = __ccgo_ts + 8090 } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18305, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18392, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) goto _1 _1: ; @@ -118193,9 +118886,9 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s } var _azEnc = [4]uintptr{ - 1: __ccgo_ts + 18280, - 2: __ccgo_ts + 18285, - 3: __ccgo_ts + 18293, + 1: __ccgo_ts + 18367, + 2: __ccgo_ts + 18372, + 3: __ccgo_ts + 18380, } // C documentation @@ -118236,15 +118929,15 @@ func _integrityCheckResultRow(tls *libc.TLS, v uintptr) (r int32) { func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { bp := tls.Alloc(256) defer tls.Free(256) - var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, mxIdx, n, nHidden, nIdx, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, res1, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v60, v62, v63, v64, v65, v68 int32 - var aOp, aOp1, aOp2, aOp3, aOp4, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pFile, pFile1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pPager2, pPager3, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v61, v66, v8 uintptr + var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, res1, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v48, v50, v64, v66, v67, v68, v69, v72, v75, v76 int32 + var aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pFile, pFile1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pPager2, pPager3, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v65, v70, v8 uintptr var azOrigin [3]uintptr var cnum Ti16 var enc Tu8 var iPrior Tsqlite3_int64 + var iRange, szThreshold TLogEst var mask Tu64 var opMask Tu32 - var szThreshold TLogEst var _ /* N at bp+144 */ Tsqlite3_int64 var _ /* N at bp+152 */ Tsqlite3_int64 var _ /* N at bp+160 */ Tsqlite3_int64 @@ -118266,7 +118959,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var _ /* size at bp+60 */ int32 var _ /* sz at bp+64 */ Tsqlite3_int64 var _ /* x at bp+40 */ Ti64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iPrior, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, mxIdx, n, nHidden, nIdx, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pFile, pFile1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pPager2, pPager3, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, res1, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v5, v60, v61, v62, v63, v64, v65, v66, v68, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iPrior, iRange, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pFile, pFile1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pPager2, pPager3, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, res1, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v48, v5, v50, v64, v65, v66, v67, v68, v69, v70, v72, v75, v76, v8 zLeft = uintptr(0) /* Nul-terminated UTF-8 string */ zRight = uintptr(0) /* Nul-terminated UTF-8 string , or NULL */ zDb = uintptr(0) /* return value form SQLITE_FCNTL_PRAGMA */ @@ -118295,7 +118988,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p return } if minusFlag != 0 { - zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+18312, libc.VaList(bp+184, pValue)) + zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+18399, libc.VaList(bp+184, pValue)) } else { zRight = _sqlite3NameFromToken(tls, db, pValue) } @@ -118338,7 +119031,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } if rc != int32(SQLITE_NOTFOUND) { if (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0] != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+184, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+184, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) Xsqlite3_free(tls, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0]) } (*TParse)(unsafe.Pointer(pParse)).FnErr++ @@ -118442,7 +119135,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pBt1 = (*TDb)(unsafe.Pointer(pDb)).FpBt b = -int32(1) if zRight != 0 { - if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18316) == 0 { + if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18403) == 0 { b = int32(2) } else { b = int32(_sqlite3GetBoolean(tls, zRight, uint8(0))) @@ -118513,7 +119206,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p */ fallthrough case int32(PragTyp_LOCKING_MODE): - zRet = __ccgo_ts + 18107 + zRet = __ccgo_ts + 18194 eMode = _getLockingMode(tls, zRight) if (*TToken)(unsafe.Pointer(pId2)).Fn == uint32(0) && eMode == -int32(1) { /* Simple "PRAGMA locking_mode;" statement. This is a query for @@ -118541,7 +119234,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p eMode = _sqlite3PagerLockingMode(tls, pPager, eMode) } if eMode == int32(PAGER_LOCKINGMODE_EXCLUSIVE) { - zRet = __ccgo_ts + 18097 + zRet = __ccgo_ts + 18184 } _returnSingleText(tls, v, zRet) break @@ -118831,7 +119524,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if *(*int8)(unsafe.Pointer(zRight)) != 0 { rc = _sqlite3OsAccess(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, zRight, int32(SQLITE_ACCESS_READWRITE), bp+72) if rc != SQLITE_OK || *(*int32)(unsafe.Pointer(bp + 72)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18321, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18408, 0) Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) goto pragma_out } @@ -118841,7 +119534,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } Xsqlite3_free(tls, Xsqlite3_temp_directory) if *(*int8)(unsafe.Pointer(zRight)) != 0 { - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+184, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+184, zRight)) } else { Xsqlite3_temp_directory = uintptr(0) } @@ -118873,7 +119566,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p res1 = _sqlite3OsFileControl(tls, pFile1, int32(SQLITE_FCNTL_SET_LOCKPROXYFILE), libc.UintptrFromInt32(0)) } if res1 != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18346, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18433, 0) goto pragma_out } } @@ -118893,7 +119586,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _returnSingleInt(tls, v, int64(int32((*TDb)(unsafe.Pointer(pDb)).Fsafety_level)-int32(1))) } else { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18376, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18463, 0) } else { if iDb != int32(1) { iLevel = (int32(_getSafetyLevel(tls, zRight, 0, uint8(1))) + int32(1)) & int32(PAGER_SYNCHRONOUS_MASK) @@ -118926,7 +119619,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if mask == uint64(SQLITE_DeferFKs) { (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons = 0 } - if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18429) == 0 { + if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18516) == 0 { /* IMP: R-60817-01178 If the argument is "RESET" then schema ** writing is disabled (as with "PRAGMA writable_schema=OFF") and, ** in addition, the schema is reloaded. */ @@ -119006,9 +119699,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pColExpr = _sqlite3ColumnExpr(tls, pTab, pCol) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - v14 = __ccgo_ts + 18435 + v14 = __ccgo_ts + 18522 } else { - v14 = __ccgo_ts + 18443 + v14 = __ccgo_ts + 18530 } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 { v15 = int32(1) @@ -119020,7 +119713,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v16 = *(*uintptr)(unsafe.Pointer(pColExpr + 8)) } - _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+184, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1650), v15, v16, k, isHidden)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+184, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1664), v15, v16, k, isHidden)) goto _12 _12: ; @@ -119079,7 +119772,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pTab1 = (*THashElem)(unsafe.Pointer(k1)).Fdata if int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) == 0 { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18450, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab1)).FzName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18537, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab1)).FzName)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 88)) = uintptr(0) Xsqlite3_prepare(tls, db, zSql, -int32(1), bp+88, uintptr(0)) @@ -119087,7 +119780,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3DbFree(tls, db, zSql) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1634, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) } pHash = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FpSchema + 8 @@ -119109,19 +119802,19 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _20 } if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 11144 + zType = __ccgo_ts + 11269 } else { if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 13392 + zType = __ccgo_ts + 13517 } else { if (*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Shadow) != 0 { - zType = __ccgo_ts + 18466 + zType = __ccgo_ts + 18553 } else { - zType = __ccgo_ts + 9406 + zType = __ccgo_ts + 9531 } } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18473, libc.VaList(bp+184, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18560, libc.VaList(bp+184, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) goto _20 _20: ; @@ -119168,9 +119861,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v22 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab3)).FaCol + uintptr(cnum)*16))).FzCnName } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18480, libc.VaList(bp+184, i1, int32(cnum), v22)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18567, libc.VaList(bp+184, i1, int32(cnum), v22)) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18485, libc.VaList(bp+184, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) + _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18572, libc.VaList(bp+184, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) } _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), int32(1), (*TParse)(unsafe.Pointer(pParse)).FnMem) goto _21 @@ -119194,11 +119887,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } azOrigin = [3]uintptr{ - 0: __ccgo_ts + 18490, - 1: __ccgo_ts + 18492, - 2: __ccgo_ts + 16933, + 0: __ccgo_ts + 18577, + 1: __ccgo_ts + 18579, + 2: __ccgo_ts + 17020, } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18494, libc.VaList(bp+184, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18581, libc.VaList(bp+184, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) goto _23 _23: ; @@ -119217,7 +119910,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt == uintptr(0) { goto _24 } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18500, libc.VaList(bp+184, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18587, libc.VaList(bp+184, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) goto _24 _24: ; @@ -119234,7 +119927,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pColl = (*THashElem)(unsafe.Pointer(p)).Fdata v26 = i4 i4++ - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18504, libc.VaList(bp+184, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18591, libc.VaList(bp+184, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) goto _25 _25: ; @@ -119284,7 +119977,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } pMod = (*THashElem)(unsafe.Pointer(j1)).Fdata - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7965, libc.VaList(bp+184, (*TModule)(unsafe.Pointer(pMod)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+8090, libc.VaList(bp+184, (*TModule)(unsafe.Pointer(pMod)).FzName)) goto _30 _30: ; @@ -119296,7 +119989,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i6 < int32(libc.Uint64FromInt64(1608)/libc.Uint64FromInt64(24))) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7965, libc.VaList(bp+184, _aPragmaName[i6].FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+8090, libc.VaList(bp+184, _aPragmaName[i6].FzName)) goto _31 _31: ; @@ -119322,7 +120015,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(j2 < (*TFKey)(unsafe.Pointer(pFK)).FnCol) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18507, libc.VaList(bp+184, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18516)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18594, libc.VaList(bp+184, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18603)) goto _32 _32: ; @@ -119463,7 +120156,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regResult+int32(1)) } - _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18521, libc.VaList(bp+184, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) + _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18608, libc.VaList(bp+184, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), regResult, int32(4)) _sqlite3VdbeResolveLabel(tls, v, addrOk) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 104))) @@ -119531,7 +120224,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p /* Set the maximum error count */ *(*int32)(unsafe.Pointer(bp + 112)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) if zRight != 0 { - if _sqlite3GetInt32(tls, zRight, bp+112) != 0 { + if _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pValue)).Fz, bp+112) != 0 { if *(*int32)(unsafe.Pointer(bp + 112)) <= 0 { *(*int32)(unsafe.Pointer(bp + 112)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) } @@ -119551,8 +120244,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i9 < (*Tsqlite3)(unsafe.Pointer(db)).FnDb) { break } /* Array of root page numbers of all btrees */ - cnt = 0 /* Number of entries in aRoot[] */ - mxIdx = 0 /* Maximum number of indexes for any table */ + cnt = 0 /* Number of entries in aRoot[] */ if libc.Bool(OMIT_TEMPDB != 0) && i9 == int32(1) { goto _40 } @@ -119593,9 +120285,6 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pIdx3 = (*TIndex)(unsafe.Pointer(pIdx3)).FpNext nIdx++ } - if nIdx > mxIdx { - mxIdx = nIdx - } goto _41 _41: ; @@ -119651,16 +120340,78 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } *(*int32)(unsafe.Pointer(aRoot)) = cnt /* Make sure sufficient number of registers have been allocated */ - _sqlite3TouchRegister(tls, pParse, int32(8)+mxIdx) + _sqlite3TouchRegister(tls, pParse, int32(8)+cnt) _sqlite3ClearTempRegCache(tls, pParse) /* Do the b-tree integrity checks */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(2), cnt, int32(1), aRoot, -int32(14)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(1), cnt, int32(8), aRoot, -int32(14)) _sqlite3VdbeChangeP5(tls, v, uint16(uint8(i9))) addr1 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(2)) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18525, libc.VaList(bp+184, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18612, libc.VaList(bp+184, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(2), int32(3), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, addr1) + /* Check that the indexes all have the right number of rows */ + if pObjTab != 0 { + v48 = int32(1) + } else { + v48 = 0 + } + cnt = v48 + _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18636) + x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst + for { + if !(x2 != 0) { + break + } + iTab = 0 + pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab9 { + goto _49 + } + if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + v50 = cnt + cnt++ + iTab = v50 + } else { + iTab = cnt + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx5 + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { + break + } + iTab++ + goto _51 + _51: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + } + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if (*TIndex)(unsafe.Pointer(pIdx5)).FpPartIdxWhere == uintptr(0) { + addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+cnt, 0, int32(8)+iTab) + _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) + _integrityCheckResultRow(tls, v) + _sqlite3VdbeJumpHere(tls, v, addr1) + } + cnt++ + goto _52 + _52: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + goto _49 + _49: + ; + x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext + } /* Make sure all the indices are constructed correctly. */ x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst @@ -119668,39 +120419,39 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata pPrior = uintptr(0) r1 = -int32(1) /* Maximum non-virtual column number */ - if pObjTab != 0 && pObjTab != pTab9 { - goto _48 + if pObjTab != 0 && pObjTab != pTab10 { + goto _53 } - if !(int32((*TTable)(unsafe.Pointer(pTab9)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { - goto _48 + if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _53 } - if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { pPk1 = uintptr(0) r2 = 0 } else { - pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab9) + pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab10) r2 = _sqlite3GetTempRange(tls, pParse, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), int32(1), r2, r2+int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)-int32(1)) } - _sqlite3OpenTableAndIndices(tls, pParse, pTab9, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+116, bp+120) + _sqlite3OpenTableAndIndices(tls, pParse, pTab10, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+116, bp+120) /* reg[7] counts the number of entries in the table. ** reg[8+i] counts the number of entries in the i-th index */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(7)) j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(8)+j4) /* index entries counter */ - goto _49 - _49: + goto _54 + _54: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), *(*int32)(unsafe.Pointer(bp + 116)), 0) @@ -119710,29 +120461,29 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** will also prepopulate the cursor column cache that is used ** by the OP_IsType code, so it is a required step. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { mxCol = -int32(1) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { + if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { mxCol++ } - goto _50 - _50: + goto _55 + _55: ; j4++ } - if mxCol == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { + if mxCol == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { mxCol-- } } else { /* COLFLAG_VIRTUAL columns are not included in the WITHOUT ROWID ** PK index column-count, so there is no need to account for them ** in this case. */ - mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab9))).FnColumn) - int32(1) + mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab10))).FnColumn) - int32(1) } if mxCol >= 0 { _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 116)), mxCol, int32(3)) @@ -119742,7 +120493,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if pPk1 != 0 { a1 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 116)), 0, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), r2) - zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18549, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18665, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a1) @@ -119753,8 +120504,8 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprCodeLoadIndexColumn(tls, pParse, pPk1, *(*int32)(unsafe.Pointer(bp + 116)), j4, r2+j4) - goto _51 - _51: + goto _56 + _56: ; j4++ } @@ -119769,15 +120520,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** (4) Datatype for numeric columns in non-STRICT tables must not ** be a TEXT value that can be losslessly converted to numeric. */ - bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_Strict) != uint32(0)) + bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_Strict) != uint32(0)) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - pCol1 = (*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ - if j4 == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { - goto _52 + pCol1 = (*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ + if j4 == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { + goto _57 } if bStrict != 0 { doTypeCheck = libc.BoolInt32(int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4)) > int32(COLTYPE_ANY)) @@ -119785,28 +120536,28 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p doTypeCheck = libc.BoolInt32(int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) > int32(SQLITE_AFF_BLOB)) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf>>0)) == 0 && !(doTypeCheck != 0) { - goto _52 + goto _57 } /* Compute the operands that will be needed for OP_IsType */ p4 = int32(SQLITE_NULL) if int32((*TColumn)(unsafe.Pointer(pCol1)).FcolFlags)&int32(COLFLAG_VIRTUAL) != 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 116)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 116)), j4, int32(3)) p11 = -int32(1) p3 = int32(3) } else { if (*TColumn)(unsafe.Pointer(pCol1)).FiDflt != 0 { *(*uintptr)(unsafe.Pointer(bp + 128)) = uintptr(0) - _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab9, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8((*TColumn)(unsafe.Pointer(pCol1)).Faffinity), bp+128) + _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab10, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8((*TColumn)(unsafe.Pointer(pCol1)).Faffinity), bp+128) if *(*uintptr)(unsafe.Pointer(bp + 128)) != 0 { p4 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 128))) _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 128))) } } p11 = *(*int32)(unsafe.Pointer(bp + 116)) - if !((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { - p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab9), int16(j4))) + if !((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { + p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab10), int16(j4))) } else { - p3 = int32(_sqlite3TableColumnToStorage(tls, pTab9, int16(j4))) + p3 = int32(_sqlite3TableColumnToStorage(tls, pTab10, int16(j4))) } } labelError = _sqlite3VdbeMakeLabel(tls, pParse) @@ -119823,10 +120574,10 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** is REAL, we have to load the actual data using OP_Column ** to reliably determine if the value is a NULL. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), p11, p3, int32(3)) - _sqlite3ColumnDefault(tls, v, pTab9, j4, int32(3)) + _sqlite3ColumnDefault(tls, v, pTab10, j4, int32(3)) jmp3 = _sqlite3VdbeAddOp2(tls, v, int32(OP_NotNull), int32(3), labelOk) } - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18585, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18701, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) if doTypeCheck != 0 { _sqlite3VdbeGoto(tls, v, labelError) @@ -119839,7 +120590,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if bStrict != 0 && doTypeCheck != 0 { _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(_aStdTypeMask[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)])) - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18605, libc.VaList(bp+184, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18721, libc.VaList(bp+184, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) == int32(SQLITE_AFF_TEXT) { @@ -119847,7 +120598,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** NULL, TEXT, or BLOB. */ _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18627, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18743, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) >= int32(SQLITE_AFF_NUMERIC) { @@ -119856,12 +120607,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1b)) /* NULL, INT, FLOAT, or BLOB */ if p11 >= 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 116)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 116)), j4, int32(3)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18650, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18766, -int32(1)) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), -int32(1), labelOk, int32(3), p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18652, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18768, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } } @@ -119869,14 +120620,14 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeResolveLabel(tls, v, labelError) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, labelOk) - goto _52 - _52: + goto _57 + _57: ; j4++ } /* Verify CHECK constraints */ - if (*TTable)(unsafe.Pointer(pTab9)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { - pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab9)).FpCheck, 0) + if (*TTable)(unsafe.Pointer(pTab10)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { + pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab10)).FpCheck, 0) if int32((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { addrCkFault = _sqlite3VdbeMakeLabel(tls, pParse) addrCkOk = _sqlite3VdbeMakeLabel(tls, pParse) @@ -119887,15 +120638,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprIfFalse(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8 + uintptr(k3)*32))).FpExpr, addrCkFault, 0) - goto _53 - _53: + goto _58 + _58: ; k3-- } _sqlite3ExprIfTrue(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8))).FpExpr, addrCkOk, int32(SQLITE_JUMPIFNULL)) _sqlite3VdbeResolveLabel(tls, v, addrCkFault) (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18672, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18788, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr2, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -119905,25 +120656,25 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(isQuick != 0) { /* Omit the remaining tests for quick_check */ /* Validate index entries for the current row */ j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } ckUniq = _sqlite3VdbeMakeLabel(tls, pParse) - if pPk1 == pIdx5 { - goto _54 + if pPk1 == pIdx6 { + goto _59 } - r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 116)), 0, 0, bp+136, pPrior, r1) - pPrior = pIdx5 + r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx6, *(*int32)(unsafe.Pointer(bp + 116)), 0, 0, bp+136, pPrior, r1) + pPrior = pIdx6 _sqlite3VdbeAddOp2(tls, v, int32(OP_AddImm), int32(8)+j4, int32(1)) /* increment entry count */ /* Verify that an index entry exists for the current table row */ - jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 120))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18702) + jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 120))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18818) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18707) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18823) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) - jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx6)).FzName) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) jmp4 = _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, jmp21) @@ -119931,12 +120682,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** that extracts the rowid off the end of the index record. ** But it only works correctly if index record does not have ** any extra bytes at the end. Verify that this is the case. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { _sqlite3VdbeAddOp2(tls, v, int32(OP_IdxRowid), *(*int32)(unsafe.Pointer(bp + 120))+j4, int32(3)) - jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)-int32(1)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18728) + jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)-int32(1)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18844) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18764) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18880) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp7) } @@ -119945,100 +120696,75 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p label6 = 0 kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { - goto _55 + if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { + goto _60 } if label6 == 0 { label6 = _sqlite3VdbeMakeLabel(tls, pParse) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 120))+j4, kk, int32(3)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ne), int32(3), label6, r1+kk) - goto _55 - _55: + goto _60 + _60: ; kk++ } if label6 != 0 { jmp6 = _sqlite3VdbeAddOp0(tls, v, int32(OP_Goto)) _sqlite3VdbeResolveLabel(tls, v, label6) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18702) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18818) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18775) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18891) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp6) } /* For UNIQUE indexes, verify that only one entry exists with the ** current key. The entry is unique if (1) any column is NULL ** or (2) the next entry has a different key */ - if int32((*TIndex)(unsafe.Pointer(pIdx5)).FonError) != OE_None { + if int32((*TIndex)(unsafe.Pointer(pIdx6)).FonError) != OE_None { uniqOk = _sqlite3VdbeMakeLabel(tls, pParse) kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2))) - if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { - goto _56 + iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FaiColumn + uintptr(kk)*2))) + if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { + goto _61 } _sqlite3VdbeAddOp2(tls, v, int32(OP_IsNull), r1+kk, uniqOk) - goto _56 - _56: + goto _61 + _61: ; kk++ } jmp61 = _sqlite3VdbeAddOp1(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 120))+j4) _sqlite3VdbeGoto(tls, v, uniqOk) _sqlite3VdbeJumpHere(tls, v, jmp61) - _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 120))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18802) + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 120))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18918) _sqlite3VdbeGoto(tls, v, jmp5) _sqlite3VdbeResolveLabel(tls, v, uniqOk) } _sqlite3VdbeJumpHere(tls, v, jmp4) _sqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 136))) - goto _54 - _54: + goto _59 + _59: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } } _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 116)), loopTop) _sqlite3VdbeJumpHere(tls, v, loopTop-int32(1)) - if !(isQuick != 0) { - _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18829) - j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex - for { - if !(pIdx5 != 0) { - break - } - if pPk1 == pIdx5 { - goto _57 - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), *(*int32)(unsafe.Pointer(bp + 120))+j4, int32(3)) - addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+j4, 0, int32(3)) - _sqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) - _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) - _integrityCheckResultRow(tls, v) - _sqlite3VdbeJumpHere(tls, v, addr1) - goto _57 - _57: - ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext - j4++ - } - if pPk1 != 0 { - _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) - } + if pPk1 != 0 { + _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) } - goto _48 - _48: + goto _53 + _53: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -120050,60 +120776,60 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata - if pObjTab != 0 && pObjTab != pTab10 { - goto _58 + pTab11 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab11 { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == TABTYP_NORM { - goto _58 + if int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == TABTYP_NORM { + goto _62 } - if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { - goto _58 + if !(int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FnCol) <= 0 { + if int32((*TTable)(unsafe.Pointer(pTab11)).FnCol) <= 0 { zMod = *(*uintptr)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).FazArg)) + })(unsafe.Pointer(pTab11 + 64))).FazArg)) if _sqlite3HashFind(tls, db+576, zMod) == uintptr(0) { - goto _58 + goto _62 } } - _sqlite3ViewGetColumnNames(tls, pParse, pTab10) + _sqlite3ViewGetColumnNames(tls, pParse, pTab11) if (*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp == uintptr(0) { - goto _58 + })(unsafe.Pointer(pTab11 + 64))).Fp == uintptr(0) { + goto _62 } pVTab = (*TVTable)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp)).FpVtab + })(unsafe.Pointer(pTab11 + 64))).Fp)).FpVtab if pVTab == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FiVersion < int32(4) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FxIntegrity == uintptr(0) { - goto _58 + goto _62 } _sqlite3VdbeAddOp3(tls, v, int32(OP_VCheck), i9, int32(3), isQuick) - (*TTable)(unsafe.Pointer(pTab10)).FnTabRef++ - _sqlite3VdbeAppendP4(tls, v, pTab10, -int32(16)) + (*TTable)(unsafe.Pointer(pTab11)).FnTabRef++ + _sqlite3VdbeAppendP4(tls, v, pTab11, -int32(16)) a11 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a11) - goto _58 - goto _58 - _58: + goto _62 + goto _62 + _62: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -120116,7 +120842,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if aOp2 != 0 { (*(*TVdbeOp)(unsafe.Pointer(aOp2))).Fp2 = int32(1) - *(*int32)(unsafe.Pointer(bp + 112)) (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 2*24))).Fp4type = int8(-libc.Int32FromInt32(1)) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18858 + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18945 (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 5*24))).Fp4type = int8(-libc.Int32FromInt32(1)) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = _sqlite3ErrStr(tls, int32(SQLITE_CORRUPT)) } @@ -120174,20 +120900,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc != 0 { - v60 = int32((*struct { + v64 = int32((*struct { FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc) } else { - v60 = int32(SQLITE_UTF16LE) + v64 = int32(SQLITE_UTF16LE) } - enc = uint8(v60) + enc = uint8(v64) (*TSchema)(unsafe.Pointer((*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema)).Fenc = enc _sqlite3SetTextEncoding(tls, db, enc) break } - goto _59 - _59: + goto _63 + _63: ; pEnc += 16 } @@ -120195,7 +120921,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).FzName != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18919, libc.VaList(bp+184, zRight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19006, libc.VaList(bp+184, zRight)) } } } @@ -120273,11 +120999,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p i10 = 0 (*TParse)(unsafe.Pointer(pParse)).FnMem = int32(1) for { - v62 = i10 + v66 = i10 i10++ - v61 = Xsqlite3_compileoption_get(tls, v62) - zOpt = v61 - if !(v61 != uintptr(0)) { + v65 = Xsqlite3_compileoption_get(tls, v66) + zOpt = v65 + if !(v65 != uintptr(0)) { break } _sqlite3VdbeLoadString(tls, v, int32(1), zOpt) @@ -120293,20 +121019,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p fallthrough case int32(PragTyp_WAL_CHECKPOINT): if (*TToken)(unsafe.Pointer(pId2)).Fz != 0 { - v63 = iDb + v67 = iDb } else { - v63 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) + v67 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) } - iBt = v63 + iBt = v67 eMode2 = SQLITE_CHECKPOINT_PASSIVE if zRight != 0 { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18114) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18201) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_FULL) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18944) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+19031) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_RESTART) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18267) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18354) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_TRUNCATE) } } @@ -120330,11 +121056,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p Xsqlite3_wal_autocheckpoint(tls, db, _sqlite3Atoi(tls, zRight)) } if (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback == __ccgo_fp(_sqlite3WalDefaultHook) { - v64 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) + v68 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) } else { - v64 = 0 + v68 = 0 } - _returnSingleInt(tls, v, int64(v64)) + _returnSingleInt(tls, v, int64(v68)) break /* ** PRAGMA shrink_memory @@ -120362,47 +121088,68 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** ** The optional argument is a bitmask of optimizations to perform: ** - ** 0x0001 Debugging mode. Do not actually perform any optimizations - ** but instead return one line of text for each optimization - ** that would have been done. Off by default. + ** 0x00001 Debugging mode. Do not actually perform any optimizations + ** but instead return one line of text for each optimization + ** that would have been done. Off by default. ** - ** 0x0002 Run ANALYZE on tables that might benefit. On by default. - ** See below for additional information. + ** 0x00002 Run ANALYZE on tables that might benefit. On by default. + ** See below for additional information. ** - ** 0x0004 (Not yet implemented) Record usage and performance - ** information from the current session in the - ** database file so that it will be available to "optimize" - ** pragmas run by future database connections. + ** 0x00010 Run all ANALYZE operations using an analysis_limit that + ** is the lessor of the current analysis_limit and the + ** SQLITE_DEFAULT_OPTIMIZE_LIMIT compile-time option. + ** The default value of SQLITE_DEFAULT_OPTIMIZE_LIMIT is + ** currently (2024-02-19) set to 2000, which is such that + ** the worst case run-time for PRAGMA optimize on a 100MB + ** database will usually be less than 100 milliseconds on + ** a RaspberryPI-4 class machine. On by default. ** - ** 0x0008 (Not yet implemented) Create indexes that might have - ** been helpful to recent queries + ** 0x10000 Look at tables to see if they need to be reanalyzed + ** due to growth or shrinkage even if they have not been + ** queried during the current connection. Off by default. ** - ** The default MASK is and always shall be 0xfffe. 0xfffe means perform all - ** of the optimizations listed above except Debug Mode, including new - ** optimizations that have not yet been invented. If new optimizations are - ** ever added that should be off by default, those off-by-default - ** optimizations will have bitmasks of 0x10000 or larger. + ** The default MASK is and always shall be 0x0fffe. In the current + ** implementation, the default mask only covers the 0x00002 optimization, + ** though additional optimizations that are covered by 0x0fffe might be + ** added in the future. Optimizations that are off by default and must + ** be explicitly requested have masks of 0x10000 or greater. ** ** DETERMINATION OF WHEN TO RUN ANALYZE ** ** In the current implementation, a table is analyzed if only if all of ** the following are true: ** - ** (1) MASK bit 0x02 is set. + ** (1) MASK bit 0x00002 is set. ** - ** (2) The query planner used sqlite_stat1-style statistics for one or - ** more indexes of the table at some point during the lifetime of - ** the current connection. + ** (2) The table is an ordinary table, not a virtual table or view. ** - ** (3) One or more indexes of the table are currently unanalyzed OR - ** the number of rows in the table has increased by 25 times or more - ** since the last time ANALYZE was run. + ** (3) The table name does not begin with "sqlite_". + ** + ** (4) One or more of the following is true: + ** (4a) The 0x10000 MASK bit is set. + ** (4b) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. + ** (4c) The query planner used sqlite_stat1-style statistics for one + ** or more indexes of the table at some point during the lifetime + ** of the current connection. + ** + ** (5) One or more of the following is true: + ** (5a) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. (Same as 4a) + ** (5b) The number of rows in the table has increased or decreased by + ** 10-fold. In other words, the current size of the table is + ** 10 times larger than the size in sqlite_stat1 or else the + ** current size is less than 1/10th the size in sqlite_stat1. ** ** The rules for when tables are analyzed are likely to change in - ** future releases. + ** future releases. Future versions of SQLite might accept a string + ** literal argument to this pragma that contains a mnemonic description + ** of the options rather than a bitmap. */ fallthrough - case int32(PragTyp_OPTIMIZE): /* Mask of operations to perform */ + case int32(PragTyp_OPTIMIZE): /* Analysis limit to use */ + nCheck = 0 /* Number of tables to be optimized */ + nBtree = 0 /* Number of indexes on the current table */ if zRight != 0 { opMask = uint32(_sqlite3Atoi(tls, zRight)) if opMask&uint32(0x02) == uint32(0) { @@ -120411,22 +121158,31 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { opMask = uint32(0xfffe) } - v66 = pParse + 52 - v65 = *(*int32)(unsafe.Pointer(v66)) - *(*int32)(unsafe.Pointer(v66))++ - iTabCur = v65 + if opMask&uint32(0x10) == uint32(0) { + nLimit = 0 + } else { + if (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit > 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit < int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) { + nLimit = 0 + } else { + nLimit = int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) + } + } + v70 = pParse + 52 + v69 = *(*int32)(unsafe.Pointer(v70)) + *(*int32)(unsafe.Pointer(v70))++ + iTabCur = v69 if zDb != 0 { - v68 = iDb + v72 = iDb } else { - v68 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) + v72 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) } - iDbLast = v68 + iDbLast = v72 for { if !(iDb <= iDbLast) { break } if iDb == int32(1) { - goto _67 + goto _71 } _sqlite3CodeVerifySchema(tls, pParse, iDb) pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema @@ -120435,52 +121191,122 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(k4 != 0) { break } - pTab11 = (*THashElem)(unsafe.Pointer(k4)).Fdata - /* If table pTab has not been used in a way that would benefit from - ** having analysis statistics during the current session, then skip it. - ** This also has the effect of skipping virtual tables and views */ - if (*TTable)(unsafe.Pointer(pTab11)).FtabFlags&uint32(TF_StatsUsed) == uint32(0) { - goto _69 - } - /* Reanalyze if the table is 25 times larger than the last analysis */ - szThreshold = int16(int32((*TTable)(unsafe.Pointer(pTab11)).FnRowLogEst) + int32(46)) - pIdx6 = (*TTable)(unsafe.Pointer(pTab11)).FpIndex + pTab12 = (*THashElem)(unsafe.Pointer(k4)).Fdata + /* This only works for ordinary tables */ + if !(int32((*TTable)(unsafe.Pointer(pTab12)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _73 + } + /* Do not scan system tables */ + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab12)).FzName, __ccgo_ts+6937, int32(7)) { + goto _73 + } + /* Find the size of the table as last recorded in sqlite_stat1. + ** If any index is unanalyzed, then the threshold is -1 to + ** indicate a new, unanalyzed index + */ + szThreshold = (*TTable)(unsafe.Pointer(pTab12)).FnRowLogEst + nIndex = 0 + pIdx7 = (*TTable)(unsafe.Pointer(pTab12)).FpIndex for { - if !(pIdx6 != 0) { + if !(pIdx7 != 0) { break } - if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7)) != 0) { - szThreshold = 0 /* Always analyze if any index lacks statistics */ - break + nIndex++ + if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx7 + 100))&0x80>>7)) != 0) { + szThreshold = int16(-int32(1)) /* Always analyze if any index lacks statistics */ } - goto _70 - _70: + goto _74 + _74: ; - pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext + pIdx7 = (*TIndex)(unsafe.Pointer(pIdx7)).FpNext } - if szThreshold != 0 { - _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab11, int32(OP_OpenRead)) - _sqlite3VdbeAddOp3(tls, v, int32(OP_IfSmaller), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), int32(szThreshold)) + /* If table pTab has not been used in a way that would benefit from + ** having analysis statistics during the current session, then skip it, + ** unless the 0x10000 MASK bit is set. */ + if (*TTable)(unsafe.Pointer(pTab12)).FtabFlags&uint32(TF_MaybeReanalyze) != uint32(0) { + /* Check for size change if stat1 has been used for a query */ + } else { + if opMask&uint32(0x10000) != 0 { + /* Check for size change if 0x10000 is set */ + } else { + if (*TTable)(unsafe.Pointer(pTab12)).FpIndex != uintptr(0) && int32(szThreshold) < 0 { + /* Do analysis if unanalyzed indexes exists */ + } else { + /* Otherwise, we can skip this table */ + goto _73 + } + } + } + nCheck++ + if nCheck == int32(2) { + /* If ANALYZE might be invoked two or more times, hold a write + ** transaction for efficiency */ + _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) + } + nBtree += nIndex + int32(1) + /* Reanalyze if the table is 10 times larger or smaller than + ** the last analysis. Unconditional reanalysis if there are + ** unanalyzed indexes. */ + _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab12, int32(OP_OpenRead)) + if int32(szThreshold) >= 0 { + iRange = int16(33) /* 10x size change */ + if int32(szThreshold) >= int32(iRange) { + v75 = int32(szThreshold) - int32(iRange) + } else { + v75 = -int32(1) + } + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IfSizeBetween), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), v75, int32(szThreshold)+int32(iRange)) + } else { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1))) } - zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18952, libc.VaList(bp+184, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab11)).FzName)) + zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+19039, libc.VaList(bp+184, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab12)).FzName)) if opMask&uint32(0x01) != 0 { r11 = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, r11, 0, zSubSql, -int32(6)) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), r11, int32(1)) } else { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), 0, 0, 0, zSubSql, -int32(6)) + if nLimit != 0 { + v76 = int32(0x02) + } else { + v76 = 00 + } + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), v76, nLimit, 0, zSubSql, -int32(6)) } - goto _69 - _69: + goto _73 + _73: ; k4 = (*THashElem)(unsafe.Pointer(k4)).Fnext } - goto _67 - _67: + goto _71 + _71: ; iDb++ } _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) + /* In a schema with a large number of tables and indexes, scale back + ** the analysis_limit to avoid excess run-time in the worst case. + */ + if !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && nLimit > 0 && nBtree > int32(100) { + nLimit = int32(100) * nLimit / nBtree + if nLimit < int32(100) { + nLimit = int32(100) + } + aOp5 = _sqlite3VdbeGetOp(tls, v, 0) + iEnd = _sqlite3VdbeCurrentAddr(tls, v) + iAddr1 = 0 + for { + if !(iAddr1 < iEnd) { + break + } + if int32((*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fopcode) == int32(OP_SqlExec) { + (*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fp2 = nLimit + } + goto _77 + _77: + ; + iAddr1++ + } + } break /* ** PRAGMA busy_timeout @@ -120706,34 +121532,34 @@ var _encnames1 = [9]struct { Fenc Tu8 }{ 0: { - FzName: __ccgo_ts + 18861, + FzName: __ccgo_ts + 18948, Fenc: uint8(SQLITE_UTF8), }, 1: { - FzName: __ccgo_ts + 18866, + FzName: __ccgo_ts + 18953, Fenc: uint8(SQLITE_UTF8), }, 2: { - FzName: __ccgo_ts + 18872, + FzName: __ccgo_ts + 18959, Fenc: uint8(SQLITE_UTF16LE), }, 3: { - FzName: __ccgo_ts + 18881, + FzName: __ccgo_ts + 18968, Fenc: uint8(SQLITE_UTF16BE), }, 4: { - FzName: __ccgo_ts + 18890, + FzName: __ccgo_ts + 18977, Fenc: uint8(SQLITE_UTF16LE), }, 5: { - FzName: __ccgo_ts + 18898, + FzName: __ccgo_ts + 18985, Fenc: uint8(SQLITE_UTF16BE), }, 6: { - FzName: __ccgo_ts + 18906, + FzName: __ccgo_ts + 18993, }, 7: { - FzName: __ccgo_ts + 18913, + FzName: __ccgo_ts + 19000, }, 8: {}, } @@ -120829,14 +121655,14 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg _ = argc _ = argv _sqlite3StrAccumInit(tls, bp, uintptr(0), bp+32, int32(200), 0) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18970) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19057) i = 0 j = int32((*TPragmaName)(unsafe.Pointer(pPragma)).FiPragCName) for { if !(i < int32((*TPragmaName)(unsafe.Pointer(pPragma)).FnPragCName)) { break } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18985, libc.VaList(bp+240, int32(cSep), _pragCName[j])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19072, libc.VaList(bp+240, int32(cSep), _pragCName[j])) cSep = int8(',') goto _1 _1: @@ -120845,19 +121671,19 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg j++ } if i == 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18992, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19079, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&int32(PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18998) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19085) j++ } if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(libc.Int32FromInt32(PragFlg_SchemaOpt)|libc.Int32FromInt32(PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19010) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19097) j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5454, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5518, int32(1)) _sqlite3StrAccumFinish(tls, bp) rc = Xsqlite3_declare_vtab(tls, db, bp+32) if rc == SQLITE_OK { @@ -120872,7 +121698,7 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg (*TPragmaVtab)(unsafe.Pointer(pTab)).FnHidden = uint8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab return rc @@ -120918,14 +121744,14 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 if !(i < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { break } - if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { goto _1 } if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != int32(SQLITE_INDEX_CONSTRAINT_EQ) { goto _1 } - if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { - goto _1 + if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + return int32(SQLITE_CONSTRAINT) } j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn - int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) seen[j] = i + int32(1) @@ -120943,16 +121769,13 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 j = seen[0] - int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) - if seen[int32(1)] == 0 { - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(1000) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000) - return SQLITE_OK - } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(20) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(20) - j = seen[int32(1)] - int32(1) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + if seen[int32(1)] != 0 { + j = seen[int32(1)] - int32(1) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + } return SQLITE_OK } @@ -120980,6 +121803,7 @@ func _pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { _ = i Xsqlite3_finalize(tls, (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) + (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(16)/libc.Uint64FromInt64(8))) { @@ -121055,7 +121879,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr } zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+40, zText)) + *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+40, zText)) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -121067,13 +121891,13 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr j++ } _sqlite3StrAccumInit(tls, bp, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4))) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19025) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19112) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19033, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19120, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) } Xsqlite3_str_appendall(tls, bp, (*TPragmaName)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19037, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19124, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) } zSql = _sqlite3StrAccumFinish(tls, bp) if zSql == uintptr(0) { @@ -121082,7 +121906,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr rc = Xsqlite3_prepare_v2(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), pCsr+8, uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return _pragmaVtabNext(tls, pVtabCursor) @@ -121208,24 +122032,24 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) /* A error message has already been generated. Do not overwrite it */ } else { if (*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(libc.Int32FromInt32(INITFLAG_AlterMask)) != 0 { - *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+19071, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) + *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+19158, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) (*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR) } else { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140891)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141840)) } else { if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - v1 = __ccgo_ts + 5456 + v1 = __ccgo_ts + 5520 } zObj = v1 - z = _sqlite3MPrintf(tls, db, __ccgo_ts+19099, libc.VaList(bp+8, zObj)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+19186, libc.VaList(bp+8, zObj)) if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 { - z = _sqlite3MPrintf(tls, db, __ccgo_ts+19130, libc.VaList(bp+8, z, zExtra)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+19217, libc.VaList(bp+8, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140898)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141847)) } } } @@ -121233,9 +122057,9 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } var _azAlterType = [3]uintptr{ - 0: __ccgo_ts + 19041, - 1: __ccgo_ts + 19048, - 2: __ccgo_ts + 19060, + 0: __ccgo_ts + 19128, + 1: __ccgo_ts + 19135, + 2: __ccgo_ts + 19147, } // C documentation @@ -121311,7 +122135,7 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(iDb) if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), db+192) == 0 || (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage && (*TInitData)(unsafe.Pointer(pData)).FmxPage > uint32(0) { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14864) + _corruptSchema(tls, pData, argv, __ccgo_ts+14957) } } libc.SetBitFieldPtr8Uint32(db+192+8, libc.Uint32FromInt32(0), 0, 0x1) @@ -121344,11 +122168,11 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr } else { pIndex = _sqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName) if pIndex == uintptr(0) { - _corruptSchema(tls, pData, argv, __ccgo_ts+19138) + _corruptSchema(tls, pData, argv, __ccgo_ts+19225) } else { if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum < uint32(2) || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage || _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14864) + _corruptSchema(tls, pData, argv, __ccgo_ts+14957) } } } @@ -121387,18 +122211,18 @@ func _sqlite3InitOne(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. */ - (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9406 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9531 if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6881 + v2 = __ccgo_ts + 6945 } else { - v2 = __ccgo_ts + 6414 + v2 = __ccgo_ts + 6478 } v1 = v2 zSchemaTabName = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(2)] = (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8478 - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 19151 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8603 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 19238 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(5)] = uintptr(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 72))).FiDb = iDb @@ -121487,7 +122311,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl } else { /* If opening an attached database, the encoding much match ENC(db) */ if (*(*[5]int32)(unsafe.Pointer(bp + 48)))[libc.Int32FromInt32(BTREE_TEXT_ENCODING)-libc.Int32FromInt32(1)]&int32(3) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12443) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12568) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -121513,7 +122337,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = uint8(1) } if int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > int32(SQLITE_MAX_FILE_FORMAT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+19223) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+19310) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -121528,7 +122352,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl /* Read the schema information out of the schema tables */ (*(*TInitData)(unsafe.Pointer(bp + 72))).FmxPage = _sqlite3BtreeLastPage(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+19247, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+19334, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, __ccgo_fp(_sqlite3InitCallback), bp+72, uintptr(0)) @@ -121827,7 +122651,12 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) { var pCleanup uintptr _ = pCleanup - pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + if _sqlite3FaultSim(tls, int32(300)) != 0 { + pCleanup = uintptr(0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) + } else { + pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + } if pCleanup != 0 { (*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup (*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup @@ -121858,7 +122687,7 @@ func _sqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FpParse = pParse (*TParse)(unsafe.Pointer(pParse)).Fdb = db if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1634, 0) } } @@ -121892,7 +122721,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } else { } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1634, 0) v1 = libc.Int32FromInt32(SQLITE_NOMEM) rc = v1 (*Tsqlite3)(unsafe.Pointer(db)).FerrCode = v1 @@ -121941,7 +122770,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep rc = _sqlite3BtreeSchemaLocked(tls, pBt) if rc != 0 { zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FzDbSName - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+19281, libc.VaList(bp+432, zDb)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+19368, libc.VaList(bp+432, zDb)) goto end_prepare } } @@ -121957,7 +122786,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep if nBytes >= 0 && (nBytes == 0 || int32(*(*int8)(unsafe.Pointer(zSql + uintptr(nBytes-int32(1))))) != 0) { mxLen = *(*int32)(unsafe.Pointer(db + 136 + 1*4)) if nBytes > mxLen { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+19311, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+19398, 0) rc = _sqlite3ApiExit(tls, db, int32(SQLITE_TOOBIG)) goto end_prepare } @@ -121991,7 +122820,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } rc = (*(*TParse)(unsafe.Pointer(bp))).Frc if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3799, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3863, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) } else { _sqlite3Error(tls, db, rc) @@ -122021,7 +122850,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3 cnt = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141699)) + return _sqlite3MisuseError(tls, int32(142654)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) _sqlite3BtreeEnterAll(tls, db) @@ -122155,7 +122984,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr rc = SQLITE_OK *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141848)) + return _sqlite3MisuseError(tls, int32(142803)) } if nBytes >= 0 { z = zSql @@ -122561,15 +123390,15 @@ func _sqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC i++ } if jointype&(libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER)) == libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER) || jointype&int32(JT_ERROR) != 0 || jointype&(libc.Int32FromInt32(JT_OUTER)|libc.Int32FromInt32(JT_LEFT)|libc.Int32FromInt32(JT_RIGHT)) == int32(JT_OUTER) { - zSp1 = __ccgo_ts + 11550 - zSp2 = __ccgo_ts + 11550 + zSp1 = __ccgo_ts + 11675 + zSp2 = __ccgo_ts + 11675 if pB == uintptr(0) { zSp1++ } if pC == uintptr(0) { zSp2++ } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19330, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19417, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) jointype = int32(JT_INNER) } return jointype @@ -122860,7 +123689,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { if int32((*TSrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype)&int32(JT_NATURAL) != 0 { pUsing = uintptr(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19360, libc.VaList(bp+16, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19447, libc.VaList(bp+16, 0)) return int32(1) } j = 0 @@ -122910,7 +123739,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { zName1 = (*(*TIdList_item)(unsafe.Pointer(pList + 8 + uintptr(j)*16))).FzName iRightCol = _sqlite3ColumnIndex(tls, pRightTab, zName1) if iRightCol < 0 || _tableAndColumnIndex(tls, pSrc, 0, i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19410, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19497, libc.VaList(bp+16, zName1)) return int32(1) } pE1 = _sqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4))) @@ -122932,7 +123761,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { pFuncArgs = uintptr(0) /* Arguments to the coalesce() */ for _tableAndColumnIndex(tls, pSrc, *(*int32)(unsafe.Pointer(bp))+int32(1), i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) != 0 { if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 60 + 4))&0x400>>10)) == 0 || _sqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 72)), zName1) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19474, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19561, libc.VaList(bp+16, zName1)) break } pFuncArgs = _sqlite3ExprListAppend(tls, pParse, pFuncArgs, pE1) @@ -122976,7 +123805,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { } var _tkCoalesce = TToken{ - Fz: __ccgo_ts + 7078, + Fz: __ccgo_ts + 7142, Fn: uint32(8), } @@ -123752,13 +124581,13 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { _ = z switch id { case int32(TK_ALL): - z = __ccgo_ts + 19511 + z = __ccgo_ts + 19598 case int32(TK_INTERSECT): - z = __ccgo_ts + 19521 + z = __ccgo_ts + 19608 case int32(TK_EXCEPT): - z = __ccgo_ts + 19531 + z = __ccgo_ts + 19618 default: - z = __ccgo_ts + 19538 + z = __ccgo_ts + 19625 break } return z @@ -123779,7 +124608,7 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { func _explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19544, libc.VaList(bp+8, zUsage)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19631, libc.VaList(bp+8, zUsage)) } /* @@ -123813,12 +124642,17 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, iParm = (*TSelectDest)(unsafe.Pointer(pDest)).FiSDParm /* True if sorter record includes seq. no. */ nRefKey = 0 aOutEx = (*TSelect)(unsafe.Pointer(p)).FpEList + 8 - if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 { - v1 = __ccgo_ts + 19567 + nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat == 0 || nKey == int32(1) { + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat != 0 { + v1 = __ccgo_ts + 19654 + } else { + v1 = __ccgo_ts + 1664 + } + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19668, libc.VaList(bp+8, v1)) } else { - v1 = __ccgo_ts + 1650 + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19699, libc.VaList(bp+8, nKey)) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19582, libc.VaList(bp+8, v1)) if (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut != 0 { _sqlite3VdbeAddOp2(tls, v, int32(OP_Gosub), (*TSortCtx)(unsafe.Pointer(pSort)).FregReturn, (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut) _sqlite3VdbeGoto(tls, v, addrBreak) @@ -123840,7 +124674,6 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, regRow = _sqlite3GetTempRange(tls, pParse, nColumn) } } - nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat if int32((*TSortCtx)(unsafe.Pointer(pSort)).FsortFlags)&int32(SORTFLAG_UseSorter) != 0 { v3 = pParse + 56 *(*int32)(unsafe.Pointer(v3))++ @@ -124058,7 +124891,7 @@ func _columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr } if iCol < 0 { zType = __ccgo_ts + 1138 - *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 17045 + *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 17132 } else { *(*uintptr)(unsafe.Pointer(bp + 16)) = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, uintptr(0)) @@ -124204,13 +125037,13 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) iCol = int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) } if iCol < 0 { - zCol = __ccgo_ts + 17045 + zCol = __ccgo_ts + 17132 } else { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } if fullName != 0 { zName1 = uintptr(0) - zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12729, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) + zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12854, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName1, __ccgo_fp(_sqlite3OomClear)) } else { _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, uintptr(-libc.Int32FromInt32(1))) @@ -124218,7 +125051,7 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { z = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32))).FzEName if z == uintptr(0) { - v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19613, libc.VaList(bp+8, i+int32(1))) + v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19745, libc.VaList(bp+8, i+int32(1))) } else { v2 = _sqlite3DbStrDup(tls, db, z) } @@ -124310,7 +125143,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if iCol >= 0 { v3 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } else { - v3 = __ccgo_ts + 17045 + v3 = __ccgo_ts + 17132 } zName = v3 } else { @@ -124325,7 +125158,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if zName != 0 && !(_sqlite3IsTrueOrFalse(tls, zName) != 0) { zName = _sqlite3DbStrDup(tls, db, zName) } else { - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19613, libc.VaList(bp+40, i+int32(1))) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19745, libc.VaList(bp+40, i+int32(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. @@ -124361,7 +125194,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, } *(*Tu32)(unsafe.Pointer(bp))++ v8 = *(*Tu32)(unsafe.Pointer(bp)) - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19622, libc.VaList(bp+40, nName, zName, v8)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19754, libc.VaList(bp+40, nName, zName, v8)) _sqlite3ProgressCheck(tls, pParse) if *(*Tu32)(unsafe.Pointer(bp)) > uint32(3) { Xsqlite3_randomness(tls, int32(4), bp) @@ -124421,9 +125254,9 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS defer tls.Free(64) var a, db, p, pCol, pColl, pS2, zType, p4, p5 uintptr var i, j, m int32 - var m1, n Ti64 + var k, n Ti64 var _ /* sNC at bp+0 */ TNameContext - _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, m, m1, n, p, pCol, pColl, pS2, zType, p4, p5 + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, k, m, n, p, pCol, pColl, pS2, zType, p4, p5 db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { return @@ -124440,17 +125273,22 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS if !(i < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } + m = 0 + pS2 = pSelect *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags) & libc.Int32FromInt32(COLFLAG_NOINSERT)) p = (*(*TExprList_item)(unsafe.Pointer(a + uintptr(i)*32))).FpExpr /* pCol->szEst = ... // Column size est for SELECT tables never used */ (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, p) + for int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) && (*TSelect)(unsafe.Pointer(pS2)).FpNext != uintptr(0) { + m |= _sqlite3ExprDataType(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext + (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + } if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) { (*TColumn)(unsafe.Pointer(pCol)).Faffinity = aff } - if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && (*TSelect)(unsafe.Pointer(pSelect)).FpNext != 0 { - m = 0 - m = 0 - pS2 = (*TSelect)(unsafe.Pointer(pSelect)).FpNext + if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && ((*TSelect)(unsafe.Pointer(pS2)).FpNext != 0 || pS2 != pSelect) { + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext for { if !(pS2 != 0) { break @@ -124475,7 +125313,7 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS zType = _columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0)) if zType == uintptr(0) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) != int32(_sqlite3AffinityType(tls, zType, uintptr(0))) { if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_NUMERIC) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_FLEXNUM) { - zType = __ccgo_ts + 19630 + zType = __ccgo_ts + 19762 } else { zType = uintptr(0) j = int32(1) @@ -124495,13 +125333,13 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS } } if zType != 0 { - m1 = int64(_sqlite3Strlen30(tls, zType)) + k = int64(_sqlite3Strlen30(tls, zType)) n = int64(_sqlite3Strlen30(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) - (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+m1+int64(2))) + (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+k+int64(2))) p4 = pCol + 14 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) & ^(libc.Int32FromInt32(COLFLAG_HASTYPE) | libc.Int32FromInt32(COLFLAG_HASCOLL))) if (*TColumn)(unsafe.Pointer(pCol)).FzCnName != 0 { - libc.X__builtin___memcpy_chk(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(m1+int64(1)), libc.X__builtin_object_size(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), 0)) + libc.X__builtin___memcpy_chk(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(k+int64(1)), libc.X__builtin_object_size(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), 0)) p5 = pCol + 14 *(*Tu16)(unsafe.Pointer(p5)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p5))) | libc.Int32FromInt32(COLFLAG_HASTYPE)) } @@ -124790,7 +125628,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest iDistinct = 0 /* To ensure unique results if UNION */ eDest = int32(SRT_Fifo) /* Registers used by LIMIT and OFFSET */ if (*TSelect)(unsafe.Pointer(p)).FpWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19634, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19766, 0) return } /* Obtain authorization to do a recursive query */ @@ -124883,7 +125721,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest break } if (*TSelect)(unsafe.Pointer(pFirstRec)).FselFlags&uint32(SF_Aggregate) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19683, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19815, 0) goto end_of_recursive_query } (*TSelect)(unsafe.Pointer(pFirstRec)).Fop = uint8(TK_ALL) @@ -124898,7 +125736,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest /* Store the results of the setup-query in Queue. */ pSetup = (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior (*TSelect)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19725, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19857, 0) rc = _sqlite3Select(tls, pParse, pSetup, bp) (*TSelect)(unsafe.Pointer(pSetup)).FpNext = p if rc != 0 { @@ -124926,7 +125764,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest ** the value for the recursive-table. Store the results in the Queue. */ (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19731, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19863, 0) _sqlite3Select(tls, pParse, p, bp) (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup /* Keep running the loop until the Queue is empty */ @@ -124979,11 +125817,11 @@ func _multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) nRow += bShowAll } if nRow == int32(1) { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } else { - v1 = __ccgo_ts + 3689 + v1 = __ccgo_ts + 3753 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19746, libc.VaList(bp+8, nRow, v1)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19878, libc.VaList(bp+8, nRow, v1)) for p != 0 { _selectInnerLoop(tls, pParse, p, -int32(1), uintptr(0), uintptr(0), pDest, int32(1), int32(1)) if !(bShowAll != 0) { @@ -125091,8 +125929,8 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in return _multiSelectOrderBy(tls, pParse, p, pDest) } else { if (*TSelect)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19769, 0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19784, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19901, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19916, 0) } /* Generate code for the left and right SELECT statements. */ @@ -125117,7 +125955,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in _sqlite3VdbeAddOp3(tls, v, int32(OP_OffsetLimit), (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TSelect)(unsafe.Pointer(p)).FiOffset+int32(1), (*TSelect)(unsafe.Pointer(p)).FiOffset) } } - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19511, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19598, 0) rc = _sqlite3Select(tls, pParse, p, bp) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -125169,7 +126007,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 48))).FeDest = op - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19803, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19935, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+48) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -125227,7 +126065,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit1 = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 88))).FiSDParm = tab2 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19803, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19935, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+88) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -125350,9 +126188,9 @@ func _sqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) bp := tls.Alloc(16) defer tls.Free(16) if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Values) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19824, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19956, 0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19870, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20002, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) } } @@ -125721,8 +126559,8 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr (*TSelect)(unsafe.Pointer(pSplit)).FpPrior = uintptr(0) (*TSelect)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy = _sqlite3ExprListDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0) - _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7715) - _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7715) + _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7840) + _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7840) /* Compute the limit registers */ _computeLimitRegisters(tls, pParse, p, labelEnd) if (*TSelect)(unsafe.Pointer(p)).FiLimit != 0 && op == int32(TK_ALL) { @@ -125766,14 +126604,14 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr regOutB = v21 _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), regAddrA) _sqlite3SelectDestInit(tls, bp+40, int32(SRT_Coroutine), regAddrB) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19952, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20084, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) /* Generate a coroutine to evaluate the SELECT statement to the ** left of the compound operator - the "A" select. */ addrSelectA = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regAddrA, 0, addrSelectA) (*TSelect)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19963, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20095, 0) _sqlite3Select(tls, pParse, pPrior, bp) _sqlite3VdbeEndCoroutine(tls, v, regAddrA) _sqlite3VdbeJumpHere(tls, v, addr1) @@ -125786,7 +126624,7 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr savedOffset = (*TSelect)(unsafe.Pointer(p)).FiOffset (*TSelect)(unsafe.Pointer(p)).FiLimit = regLimitB (*TSelect)(unsafe.Pointer(p)).FiOffset = 0 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19968, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20100, 0) _sqlite3Select(tls, pParse, p, bp+40) (*TSelect)(unsafe.Pointer(p)).FiLimit = savedLimit (*TSelect)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -126001,7 +126839,7 @@ func _substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) (r uintptr) { if pColl != 0 { v1 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v1 = __ccgo_ts + 5434 + v1 = __ccgo_ts + 5498 } pExpr = _sqlite3ExprAddCollateString(tls, (*TSubstContext)(unsafe.Pointer(pSubst)).FpParse, pExpr, v1) } @@ -127037,10 +127875,10 @@ func _findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft - if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pLeft) != 0 { + if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pLeft) != 0 { _constInsert(tls, pConst, pRight, pLeft, pExpr) } - if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pRight) != 0 { + if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pRight) != 0 { _constInsert(tls, pConst, pLeft, pRight, pExpr) } } @@ -127273,6 +128111,18 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** The hope is that the terms added to the inner query will make it more // ** efficient. // ** +// ** NAME AMBIGUITY +// ** +// ** This optimization is called the "WHERE-clause push-down optimization". +// ** +// ** Do not confuse this optimization with another unrelated optimization +// ** with a similar name: The "MySQL push-down optimization" causes WHERE +// ** clause terms that can be evaluated using only the index and without +// ** reference to the table are run first, so that if they are false, +// ** unnecessary table seeks are avoided. +// ** +// ** RULES +// ** // ** Do not attempt this optimization if: // ** // ** (1) (** This restriction was removed on 2017-09-29. We used to @@ -127338,10 +128188,10 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** (9c) There is a RIGHT JOIN (or FULL JOIN) in between the ON/USING // ** clause and the subquery. // ** -// ** Without this restriction, the push-down optimization might move -// ** the ON/USING filter expression from the left side of a RIGHT JOIN -// ** over to the right side, which leads to incorrect answers. See -// ** also restriction (6) in sqlite3ExprIsSingleTableConstraint(). +// ** Without this restriction, the WHERE-clause push-down optimization +// ** might move the ON/USING filter expression from the left side of a +// ** RIGHT JOIN over to the right side, which leads to incorrect answers. +// ** See also restriction (6) in sqlite3ExprIsSingleTableConstraint(). // ** // ** (10) The inner query is not the right-hand table of a RIGHT JOIN. // ** @@ -127434,7 +128284,7 @@ func _pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere ui nChng += _pushDownWhereTerms(tls, pParse, pSubq, (*TExpr)(unsafe.Pointer(pWhere)).FpRight, pSrcList, iSrc) pWhere = (*TExpr)(unsafe.Pointer(pWhere)).FpLeft } - if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc) != 0 { + if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc, int32(1)) != 0 { nChng++ *(*Tu32)(unsafe.Pointer(pSubq + 4)) |= uint32(SF_PushDown) for pSubq != 0 { @@ -127604,13 +128454,13 @@ func _minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) (r return uint8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8)) - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15898) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15991) == 0 { eRet = int32(WHERE_ORDERBY_MIN) if _sqlite3ExprCanBeNull(tls, (*(*TExprList_item)(unsafe.Pointer(pEList + 8))).FpExpr) != 0 { sortFlags = uint8(KEYINFO_ORDER_BIGNULL) } } else { - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15902) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15995) == 0 { eRet = int32(WHERE_ORDERBY_MAX) sortFlags = uint8(KEYINFO_ORDER_DESC) } else { @@ -127698,7 +128548,7 @@ func _sqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r in pIdx = (*TIndex)(unsafe.Pointer(pIdx)).FpNext } if !(pIdx != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19974, libc.VaList(bp+8, zIndexedBy, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20106, libc.VaList(bp+8, zIndexedBy, 0)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) return int32(SQLITE_ERROR) } @@ -127822,7 +128672,7 @@ func _cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19992, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20124, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) return int32(1) } return 0 @@ -127997,7 +128847,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } *(*Tu32)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= uint32(SF_CopyCte) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20015, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20147, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) return int32(2) } libc.SetBitFieldPtr16Uint32(pFrom+60+4, libc.Uint32FromInt32(1), 8, 0x100) @@ -128021,7 +128871,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ libc.SetBitFieldPtr16Uint32(pItem+60+4, libc.Uint32FromInt32(1), 6, 0x40) if (*TSelect)(unsafe.Pointer(pRecTerm)).FselFlags&uint32(SF_Recursive) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20035, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20167, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) return int32(2) } *(*Tu32)(unsafe.Pointer(pRecTerm + 4)) |= uint32(SF_Recursive) @@ -128043,7 +128893,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } pRecTerm = (*TSelect)(unsafe.Pointer(pRecTerm)).FpPrior } - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 20078 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 20210 pSavedWith = (*TParse)(unsafe.Pointer(pParse)).FpWith (*TParse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp)) if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { @@ -128074,7 +128924,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pEList = (*TSelect)(unsafe.Pointer(pLeft)).FpEList if (*TCte)(unsafe.Pointer(pCte)).FpCols != 0 { if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr != (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20101, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20233, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*TParse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return int32(2) } @@ -128083,9 +128933,9 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom _sqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8) if bMayRecursive != 0 { if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 20139 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 20271 } else { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 20173 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 20305 } _sqlite3WalkSelect(tls, pWalker, pSel) } @@ -128144,7 +128994,7 @@ func _sqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int if (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 { (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3DbStrDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias) } else { - (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+20211, libc.VaList(bp+8, pFrom)) + (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+20343, libc.VaList(bp+8, pFrom)) } for (*TSelect)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*TSelect)(unsafe.Pointer(pSel)).FpPrior @@ -128300,7 +129150,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { return int32(WRC_Abort) } if (*TTable)(unsafe.Pointer(pTab)).FnTabRef >= uint32(0xffff) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20215, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20347, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) (*TSrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return int32(WRC_Abort) } @@ -128315,7 +129165,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) && (*TTable)(unsafe.Pointer(pTab)).FpSchema != (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20254, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20386, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } (*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect = _sqlite3SelectDup(tls, db, (*(*struct { FpSelect uintptr @@ -128330,7 +129180,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).Fp)).FeVtabRisk) > libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15457, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15550, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } } nCol = (*TTable)(unsafe.Pointer(pTab)).FnCol @@ -128452,7 +129302,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if iDb >= 0 { v10 = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName } else { - v10 = __ccgo_ts + 6938 + v10 = __ccgo_ts + 7002 } zSchemaName = v10 } @@ -128469,7 +129319,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { pNew = _sqlite3ExprListAppend(tls, pParse, pNew, pRight) if pNew != 0 { pX = pNew + 8 + uintptr((*TExprList)(unsafe.Pointer(pNew)).FnExpr-int32(1))*32 - (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20285, libc.VaList(bp+8, zUName)) + (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20417, libc.VaList(bp+8, zUName)) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(ENAME_TAB), 0, 0x3) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(1), 7, 0x80) } @@ -128548,7 +129398,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if pNestedFrom != 0 && libc.Bool(libc.Bool(!(libc.Int32FromInt32(ViewCanHaveRowid) != 0)) || j < (*TExprList)(unsafe.Pointer(pNestedFrom)).FnExpr) { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, (*(*TExprList_item)(unsafe.Pointer(pNestedFrom + 8 + uintptr(j)*32))).FzEName) } else { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20290, libc.VaList(bp+8, zSchemaName, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20422, libc.VaList(bp+8, zSchemaName, zTabName, zName)) } if j == int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) { v13 = int32(ENAME_ROWID) @@ -128561,7 +129411,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } } else { if longNames != 0 { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12729, libc.VaList(bp+8, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12854, libc.VaList(bp+8, zTabName, zName)) libc.SetBitFieldPtr16Uint32(pX1+16+4, libc.Uint32FromInt32(ENAME_NAME), 0, 0x3) } else { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, zName) @@ -128581,9 +129431,9 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if !(tableSeen != 0) { if zTName != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20299, libc.VaList(bp+8, zTName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20431, libc.VaList(bp+8, zTName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20317, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20449, 0) } } } @@ -128597,7 +129447,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if (*TSelect)(unsafe.Pointer(p)).FpEList != 0 { if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20337, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20469, 0) return int32(WRC_Abort) } if elistFlags&uint32(libc.Int32FromInt32(EP_HasFunc)|libc.Int32FromInt32(EP_Subquery)) != uint32(0) { @@ -128938,12 +129788,12 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct >= 0 { pE = (*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFExpr if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20368, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20500, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -int32(1) } else { pKeyInfo = _sqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20419, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20551, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab >= 0 { @@ -128964,7 +129814,7 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { (*TKeyInfo)(unsafe.Pointer(pKeyInfo1)).FnKeyField++ } _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab, (*TExprList)(unsafe.Pointer(pOBList)).FnExpr+nExtra, 0, pKeyInfo1, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20452, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20584, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } goto _1 _1: @@ -129269,16 +130119,16 @@ func _explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintp if int32((*TParse)(unsafe.Pointer(pParse)).Fexplain) == int32(2) { bCover = libc.BoolInt32(pIdx != uintptr(0) && ((*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) || !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == libc.Int32FromInt32(SQLITE_IDXTYPE_PRIMARYKEY)))) if bCover != 0 { - v1 = __ccgo_ts + 20485 + v1 = __ccgo_ts + 20617 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } if bCover != 0 { v2 = (*TIndex)(unsafe.Pointer(pIdx)).FzName } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20508, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20640, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) } } @@ -129310,7 +130160,7 @@ func _havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3 ** statements AggInfo structure. */ if _sqlite3ExprIsConstantOrGroupBy(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*TSelect)(unsafe.Pointer(pS)).FpGroupBy) != 0 && libc.BoolInt32((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse)) == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8478) + pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8603) if pNew != 0 { pWhere = (*TSelect)(unsafe.Pointer(pS)).FpWhere t = *(*TExpr)(unsafe.Pointer(pNew)) @@ -129466,7 +130316,7 @@ func _countOfViewOptimization(tls *libc.TLS, pParse uintptr, p uintptr) (r int32 if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { return 0 } /* Result is an aggregate */ - if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+16192) != 0 { + if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+16285) != 0 { return 0 } /* Is count() */ if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != uintptr(0) { @@ -129729,7 +130579,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { v1 = (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p0)).FpTab)).FzName } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20520, libc.VaList(bp+176, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20652, libc.VaList(bp+176, v1)) goto select_end } /* Clear the SF_UFSrcCheck flag. The check has already been performed, @@ -129830,7 +130680,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r /* Catch mismatch in the declared columns of a view and the number of ** columns in the SELECT on the RHS */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) != (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20574, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20706, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end } /* Do not attempt the usual optimizations (flattening and ORDER BY @@ -129967,12 +130817,12 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r ** string for the fake column name seems safer. */ if (*TSrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0) && (*TSrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0) { - _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1650, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1664, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) } /* Generate code for all sub-queries in the FROM clause */ pSub1 = (*TSrcItem)(unsafe.Pointer(pItem1)).FpSelect - if pSub1 == uintptr(0) { + if pSub1 == uintptr(0) || (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub != 0 { goto _10 } /* The code for a subquery should only be generated once. */ @@ -130011,7 +130861,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop _sqlite3SelectDestInit(tls, bp+72, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20614, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20746, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60+4, libc.Uint32FromInt32(1), 5, 0x20) @@ -130059,7 +130909,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { } _sqlite3SelectDestInit(tls, bp+72, int32(SRT_EphemTab), (*TSrcItem)(unsafe.Pointer(pItem1)).FiCursor) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20629, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20761, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow if onceAddr != 0 { @@ -130469,11 +131319,11 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r groupBySort = 0 } else { if (*(*TDistinctCtx)(unsafe.Pointer(bp))).FisTnct != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Distinct) == uint32(0) { - v44 = __ccgo_ts + 20645 + v44 = __ccgo_ts + 20777 } else { - v44 = __ccgo_ts + 20654 + v44 = __ccgo_ts + 20786 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19544, libc.VaList(bp+176, v44)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19631, libc.VaList(bp+176, v44)) groupBySort = int32(1) nGroupBy = (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr nCol = nGroupBy @@ -130792,7 +131642,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeResolveLabel(tls, v, addrEnd) } /* endif aggregate query */ if int32((*(*TDistinctCtx)(unsafe.Pointer(bp))).FeTnctType) == int32(WHERE_DISTINCT_UNORDERED) { - _explainTempTable(tls, pParse, __ccgo_ts+20645) + _explainTempTable(tls, pParse, __ccgo_ts+20777) } /* If there is an ORDER BY clause, then we need to sort the results ** and send them to the callback one by one. @@ -130898,7 +131748,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr if !(i < nCol) { break } - z = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if z == uintptr(0) { goto malloc_failed } @@ -130914,7 +131764,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr } else { if int32((*TTabResult)(unsafe.Pointer(p)).FnColumn) != nCol { Xsqlite3_free(tls, (*TTabResult)(unsafe.Pointer(p)).FzErrMsg) - (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20663, 0) + (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20795, 0) (*TTabResult)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) return int32(1) } @@ -131004,7 +131854,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) } Xsqlite3_free(tls, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg) } @@ -131166,7 +132016,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if isTemp != 0 { /* If TEMP was specified, then the trigger name may not be qualified. */ if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20728, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20860, 0) goto trigger_cleanup } iDb = int32(1) @@ -131206,7 +132056,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto trigger_cleanup } - _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20774, *(*uintptr)(unsafe.Pointer(bp))) + _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20906, *(*uintptr)(unsafe.Pointer(bp))) if _sqlite3FixSrcList(tls, bp+8, pTableName) != 0 { goto trigger_cleanup } @@ -131216,11 +132066,11 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_orphan_error } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20782, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20914, 0) goto trigger_orphan_error } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, db) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20823, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20955, 0) goto trigger_orphan_error } /* Check that the trigger name is not reserved and that no trigger of the @@ -131229,13 +132079,13 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if zName == uintptr(0) { goto trigger_cleanup } - if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20774, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { + if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20906, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { goto trigger_cleanup } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema+56, zName) != 0 { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20863, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20995, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) } @@ -131243,8 +132093,8 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 } } /* Do not create a trigger on a system table */ - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6873, int32(7)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20889, 0) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6937, int32(7)) == 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21021, 0) goto trigger_cleanup } /* INSTEAD of triggers are only for views and views only support INSTEAD @@ -131252,15 +132102,15 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && tr_tm != int32(TK_INSTEAD) { if tr_tm == int32(TK_BEFORE) { - v1 = __ccgo_ts + 20927 + v1 = __ccgo_ts + 21059 } else { - v1 = __ccgo_ts + 20934 + v1 = __ccgo_ts + 21066 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20940, libc.VaList(bp+112, v1, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21072, libc.VaList(bp+112, v1, pTableName+8)) goto trigger_orphan_error } if !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) && tr_tm == int32(TK_INSTEAD) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20977, libc.VaList(bp+112, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21109, libc.VaList(bp+112, pTableName+8)) goto trigger_orphan_error } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -131280,9 +132130,9 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iTabDb == int32(1) { - v3 = __ccgo_ts + 6881 + v3 = __ccgo_ts + 6945 } else { - v3 = __ccgo_ts + 6414 + v3 = __ccgo_ts + 6478 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto trigger_cleanup @@ -131382,7 +132232,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl pStepList = (*TTriggerStep)(unsafe.Pointer(pStepList)).FpNext } _sqlite3TokenInit(tls, bp+96, (*TTrigger)(unsafe.Pointer(pTrig)).FzName) - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20774, bp+96) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20906, bp+96) if _sqlite3FixTriggerStep(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 || _sqlite3FixExpr(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).FpWhen) != 0 { goto triggerfinish_cleanup } @@ -131404,7 +132254,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl break } if (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget != uintptr(0) && _sqlite3ShadowTableName(tls, db, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21023, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21155, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) goto triggerfinish_cleanup } goto _1 @@ -131420,10 +132270,10 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl } _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) z = _sqlite3DbStrNDup(tls, db, (*TToken)(unsafe.Pointer(pAll)).Fz, uint64((*TToken)(unsafe.Pointer(pAll)).Fn)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+21071, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+21203, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) _sqlite3DbFree(tls, db, z) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+21146, libc.VaList(bp+120, zName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+21278, libc.VaList(bp+120, zName)), uint16(0)) } } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { @@ -131691,7 +132541,7 @@ func _sqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int } if !(pTrigger != 0) { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21175, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21307, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, zDb) } @@ -131733,9 +132583,9 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { code = int32(SQLITE_DROP_TRIGGER) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6881 + v1 = __ccgo_ts + 6945 } else { - v1 = __ccgo_ts + 6414 + v1 = __ccgo_ts + 6478 } zTab = v1 if iDb == int32(1) { @@ -131750,7 +132600,7 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { v2 = _sqlite3GetVdbe(tls, pParse) v = v2 if v2 != uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+21195, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+21327, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropTrigger), iDb, 0, 0, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName, 0) } @@ -131883,11 +132733,11 @@ func _triggersReallyExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { if op != int32(TK_INSERT) { if op == int32(TK_DELETE) { - v1 = __ccgo_ts + 21257 + v1 = __ccgo_ts + 21389 } else { - v1 = __ccgo_ts + 21264 + v1 = __ccgo_ts + 21396 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21271, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21403, libc.VaList(bp+8, v1)) } (*TTrigger)(unsafe.Pointer(p)).Ftr_tm = uint8(TRIGGER_BEFORE) } else { @@ -131988,7 +132838,7 @@ func _isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != int32(TK_ASTERISK) { return 0 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21319, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21451, 0) return int32(1) } @@ -132053,6 +132903,79 @@ func _sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab return pNew } +// C documentation +// +// /* If the Expr node is a subquery or an EXISTS operator or an IN operator that +// ** uses a subquery, and if the subquery is SF_Correlated, then mark the +// ** expression as EP_VarSelect. +// */ +func _sqlite3ReturningSubqueryVarSelect(tls *libc.TLS, NotUsed uintptr, pExpr uintptr) (r int32) { + _ = NotUsed + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) && (*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FselFlags&uint32(SF_Correlated) != uint32(0) { + *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** If the SELECT references the table pWalker->u.pTab, then do two things: +// ** +// ** (1) Mark the SELECT as as SF_Correlated. +// ** (2) Set pWalker->eCode to non-zero so that the caller will know +// ** that (1) has happened. +// */ +func _sqlite3ReturningSubqueryCorrelated(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + var i int32 + var pSrc uintptr + _, _ = i, pSrc + pSrc = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + i = 0 + for { + if !(i < (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) { + break + } + if (*(*TSrcItem)(unsafe.Pointer(pSrc + 8 + uintptr(i)*104))).FpTab == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { + *(*Tu32)(unsafe.Pointer(pSelect + 4)) |= uint32(SF_Correlated) + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + break + } + goto _1 + _1: + ; + i++ + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Scan the expression list that is the argument to RETURNING looking +// ** for subqueries that depend on the table which is being modified in the +// ** statement that is hosting the RETURNING clause (pTab). Mark all such +// ** subqueries as SF_Correlated. If the subqueries are part of an +// ** expression, mark the expression as EP_VarSelect. +// ** +// ** https://sqlite.org/forum/forumpost/2c83569ce8945d39 +// */ +func _sqlite3ProcessReturningSubqueries(tls *libc.TLS, pEList uintptr, pTab uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.X__builtin___memset_chk(tls, bp, 0, uint64(48), libc.X__builtin_object_size(tls, bp, 0)) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ExprWalkNoop) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3ReturningSubqueryCorrelated) + *(*uintptr)(unsafe.Pointer(bp + 40)) = pTab + _sqlite3WalkExprList(tls, bp, pEList) + if (*(*TWalker)(unsafe.Pointer(bp))).FeCode != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ReturningSubqueryVarSelect) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop) + _sqlite3WalkExprList(tls, bp, pEList) + } +} + // C documentation // // /* @@ -132087,6 +133010,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab (*(*TSelect)(unsafe.Pointer(bp))).FpSrc = bp + 128 (*(*TSrcList)(unsafe.Pointer(bp + 128))).FnSrc = int32(1) (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FpTab = pTab + (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FzName = (*TTable)(unsafe.Pointer(pTab)).FzName /* tag-20240424-1 */ (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FiCursor = -int32(1) _sqlite3SelectPrep(tls, pParse, bp, uintptr(0)) if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { @@ -132111,6 +133035,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab if _sqlite3ResolveExprListNames(tls, bp+240, pNew) == SQLITE_OK && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { nCol = (*TExprList)(unsafe.Pointer(pNew)).FnExpr reg = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(1) + _sqlite3ProcessReturningSubqueries(tls, pNew, pTab) *(*int32)(unsafe.Pointer(pParse + 56)) += nCol + int32(2) (*TReturning)(unsafe.Pointer(pReturning)).FiRetReg = reg i = 0 @@ -132179,7 +133104,7 @@ func _codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orcon } (*TParse)(unsafe.Pointer(pParse)).FeOrconf = uint8(v2) if (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6611, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6675, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) } switch int32((*TTriggerStep)(unsafe.Pointer(pStep)).Fop) { case int32(TK_UPDATE): @@ -132281,7 +133206,7 @@ func _codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintp v = _sqlite3GetVdbe(tls, bp+56) if v != 0 { if (*TTrigger)(unsafe.Pointer(pTrigger)).FzName != 0 { - _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+21361, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) + _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+21493, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) } /* If one was specified, code the WHEN clause. If it evaluates to false ** (or NULL) the sub-vdbe is immediately halted by jumping to the @@ -132970,7 +133895,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui chngPk = uint8(1) } else { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21375, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21507, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto update_cleanup } } @@ -132990,13 +133915,13 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui pRowidExpr = (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FpExpr iRowidExpr = i } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21411, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21543, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto update_cleanup } } if j < 0 { - v11 = __ccgo_ts + 8253 + v11 = __ccgo_ts + 8378 } else { v11 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName } @@ -133678,7 +134603,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui ** that information. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21430) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21562) } goto update_cleanup update_cleanup: @@ -134112,9 +135037,9 @@ func _sqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr if nClause == 0 && (*TUpsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) { (*(*[16]int8)(unsafe.Pointer(bp + 200)))[0] = 0 } else { - Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21443, libc.VaList(bp+224, nClause+int32(1))) + Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21575, libc.VaList(bp+224, nClause+int32(1))) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21447, libc.VaList(bp+224, bp+200)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21579, libc.VaList(bp+224, bp+200)) return int32(SQLITE_ERROR) } goto _1 @@ -134217,7 +135142,7 @@ func _sqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i++ } i = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), iDataCur, 0, iPk, nPk) - _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12818, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12943, -int32(1)) _sqlite3MayAbort(tls, pParse) _sqlite3VdbeJumpHere(tls, v, i) } @@ -134299,7 +135224,7 @@ func _execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) (r int3 ** corrupt the sqlite_schema.sql field with other kinds of statements ** then run VACUUM to get those statements to execute at inappropriate ** times. */ - if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21520, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21524, uint64(3)) == 0) { + if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21652, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21656, uint64(3)) == 0) { rc = _execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -134427,24 +135352,24 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p pDb = uintptr(0) /* Name of output file */ pgflags = uint32(PAGER_SYNCHRONOUS_OFF) /* sync flags for output db */ if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21528) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21660) return int32(SQLITE_ERROR) /* IMP: R-12218-18073 */ } if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive > int32(1) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21568) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21700) return int32(SQLITE_ERROR) /* IMP: R-15610-35227 */ } saved_openFlags = (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags if pOut != 0 { if Xsqlite3_value_type(tls, pOut) != int32(SQLITE_TEXT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21611) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21743) return int32(SQLITE_ERROR) } zOut = Xsqlite3_value_text(tls, pOut) *(*uint32)(unsafe.Pointer(db + 76)) &= uint32(^libc.Int32FromInt32(SQLITE_OPEN_READONLY)) *(*uint32)(unsafe.Pointer(db + 76)) |= uint32(libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE)) } else { - zOut = __ccgo_ts + 1650 + zOut = __ccgo_ts + 1664 } /* Save the current value of the database flags so that it can be ** restored before returning. Then set the writable-schema flag, and @@ -134476,7 +135401,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** to write the journal header file. */ nDb = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21629, libc.VaList(bp+24, zOut)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21761, libc.VaList(bp+24, zOut)) (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if rc != SQLITE_OK { goto end_of_vacuum @@ -134488,7 +135413,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p *(*Ti64)(unsafe.Pointer(bp)) = 0 if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0) && (_sqlite3OsFileSize(tls, id, bp) != SQLITE_OK || *(*Ti64)(unsafe.Pointer(bp)) > 0) { rc = int32(SQLITE_ERROR) - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21652) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21784) goto end_of_vacuum } *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_VacuumInto) @@ -134505,7 +135430,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, ** to ensure that we do not try to change the page-size on a WAL database. */ - rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+15227) + rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+15320) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134536,11 +135461,11 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** in the temporary database. */ (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(nDb) /* force new CREATE statements into vacuum_db */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21679, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21811, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21787, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21919, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134549,7 +135474,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy ** the contents to the temporary database. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21841, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21973, libc.VaList(bp+24, zDbMain)) *(*Tu32)(unsafe.Pointer(db + 44)) &= uint32(^libc.Int32FromInt32(DBFLAG_Vacuum)) if rc != SQLITE_OK { goto end_of_vacuum @@ -134559,7 +135484,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** associated storage, so all we have to do is copy their entries ** from the schema table. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21992, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+22124, libc.VaList(bp+24, zDbMain)) if rc != 0 { goto end_of_vacuum } @@ -135086,7 +136011,7 @@ func _addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uint FazArg uintptr Fp uintptr })(unsafe.Pointer(pTable + 64))).FnArg+int32(3) >= *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13048, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13173, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = _sqlite3DbRealloc(tls, db, (*(*struct { FnArg int32 @@ -135209,7 +136134,7 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { if pEnd != 0 { (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32(int64((*TToken)(unsafe.Pointer(pEnd)).Fz)-int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz))) + (*TToken)(unsafe.Pointer(pEnd)).Fn } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+22122, libc.VaList(bp+8, pParse+272)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+22254, libc.VaList(bp+8, pParse+272)) /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. @@ -135219,11 +136144,11 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { ** by sqlite3StartTable(). */ iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+22146, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+22278, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) v = _sqlite3GetVdbe(tls, pParse) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) - zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+22245, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+22377, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) _sqlite3DbFree(tls, db, zStmt) v2 = pParse + 56 @@ -135310,7 +136235,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, break } if (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22264, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22396, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(SQLITE_LOCKED) } goto _1 @@ -135352,9 +136277,9 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, } if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22306, libc.VaList(bp+48, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22438, libc.VaList(bp+48, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3799, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3863, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) } _sqlite3DbFree(tls, db, pVTable) @@ -135367,8 +136292,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*TModule)(unsafe.Pointer(pMod)).FnRefModule++ (*TVTable)(unsafe.Pointer(pVTable)).FnRef = int32(1) if (*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared == 0 { - zFormat = __ccgo_ts + 22336 - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + zFormat = __ccgo_ts + 22468 + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, zModuleName)) _sqlite3VtabUnlock(tls, pVTable) rc = int32(SQLITE_ERROR) } else { @@ -135393,7 +136318,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(iCol < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } - zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1650) + zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1664) i = 0 nType = _sqlite3Strlen30(tls, zType) i = 0 @@ -135401,7 +136326,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(i < nType) { break } - if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16936, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { + if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+17023, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { break } goto _3 @@ -135482,13 +136407,13 @@ func _sqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).FazArg)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22382, libc.VaList(bp+16, zModule)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22514, libc.VaList(bp+16, zModule)) rc = int32(SQLITE_ERROR) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) (*TParse)(unsafe.Pointer(pParse)).Frc = rc } _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) @@ -135569,7 +136494,7 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, ** error. Otherwise, do nothing. */ if pMod == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22382, libc.VaList(bp+8, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22514, libc.VaList(bp+8, zMod)) rc = int32(SQLITE_ERROR) } else { rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr) @@ -135595,18 +136520,42 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r int32) { bp := tls.Alloc(448) defer tls.Free(448) - var initBusy, rc int32 - var pCtx, pIdx, pNew, pTab, v2 uintptr - var v1 Ti16 + var i, initBusy, rc int32 + var pCtx, pIdx, pNew, pTab, z, v3 uintptr + var v2 Ti16 var _ /* sParse at bp+0 */ TParse - _, _, _, _, _, _, _, _ = initBusy, pCtx, pIdx, pNew, pTab, rc, v1, v2 + var _ /* tokenType at bp+424 */ int32 + _, _, _, _, _, _, _, _, _, _ = i, initBusy, pCtx, pIdx, pNew, pTab, rc, z, v2, v3 rc = SQLITE_OK + /* Verify that the first two keywords in the CREATE TABLE statement + ** really are "CREATE" and "TABLE". If this is not the case, then + ** sqlite3_declare_vtab() is being misused. + */ + z = zCreateTable + i = 0 + for { + if !(_aKeyword1[i] != 0) { + break + } + *(*int32)(unsafe.Pointer(bp + 424)) = 0 + for cond := true; cond; cond = *(*int32)(unsafe.Pointer(bp + 424)) == int32(TK_SPACE) { + z += uintptr(_sqlite3GetToken(tls, z, bp+424)) + } + if *(*int32)(unsafe.Pointer(bp + 424)) != int32(_aKeyword1[i]) { + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+22533, 0) + return int32(SQLITE_ERROR) + } + goto _1 + _1: + ; + i++ + } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { - _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(155155))) + _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(156227))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) - return _sqlite3MisuseError(tls, int32(155157)) + return _sqlite3MisuseError(tls, int32(156229)) } pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab _sqlite3ParseObjectInit(tls, bp, db) @@ -135618,7 +136567,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i initBusy = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) (*(*TParse)(unsafe.Pointer(bp))).FnQueryLoop = int16(1) - if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) && (*(*TParse)(unsafe.Pointer(bp))).FpNewTable != uintptr(0) && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && int32((*TTable)(unsafe.Pointer((*(*TParse)(unsafe.Pointer(bp))).FpNewTable)).FeTabType) == TABTYP_NORM { + if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) { if !((*TTable)(unsafe.Pointer(pTab)).FaCol != 0) { pNew = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable (*TTable)(unsafe.Pointer(pTab)).FaCol = (*TTable)(unsafe.Pointer(pNew)).FaCol @@ -135627,9 +136576,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpDfltList) - v1 = (*TTable)(unsafe.Pointer(pNew)).FnCol - (*TTable)(unsafe.Pointer(pTab)).FnCol = v1 - (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v1 + v2 = (*TTable)(unsafe.Pointer(pNew)).FnCol + (*TTable)(unsafe.Pointer(pTab)).FnCol = v2 + (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v2 *(*Tu32)(unsafe.Pointer(pTab + 48)) |= (*TTable)(unsafe.Pointer(pNew)).FtabFlags & uint32(libc.Int32FromInt32(TF_WithoutRowid)|libc.Int32FromInt32(TF_NoVisibleRowid)) (*TTable)(unsafe.Pointer(pNew)).FnCol = 0 (*TTable)(unsafe.Pointer(pNew)).FaCol = uintptr(0) @@ -135648,11 +136597,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = int32(1) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - v2 = __ccgo_ts + 3799 + v3 = __ccgo_ts + 3863 } else { - v2 = uintptr(0) + v3 = uintptr(0) } - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v2, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v3, libc.VaList(bp+440, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) rc = int32(SQLITE_ERROR) } @@ -135668,6 +136617,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i return rc } +var _aKeyword1 = [3]Tu8{ + 0: uint8(TK_CREATE), + 1: uint8(TK_TABLE), +} + // C documentation // // /* @@ -136119,7 +137073,7 @@ func _sqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) _addModuleArgument(tls, pParse, pTab, _sqlite3DbStrDup(tls, db, (*TTable)(unsafe.Pointer(pTab)).FzName)) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp) if rc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3VtabEponymousTableClear(tls, db, pMod) } @@ -136183,7 +137137,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = _sqlite3MisuseError(tls, int32(155651)) + rc = _sqlite3MisuseError(tls, int32(156723)) } else { ap = va switch op { @@ -136196,7 +137150,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in case int32(SQLITE_VTAB_USES_ALL_SCHEMAS): (*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1) default: - rc = _sqlite3MisuseError(tls, int32(155673)) + rc = _sqlite3MisuseError(tls, int32(156745)) break } _ = ap @@ -136918,10 +137872,10 @@ type WhereInfo1 = TWhereInfo1 func _explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) (r uintptr) { i = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -int32(2) { - return __ccgo_ts + 22401 + return __ccgo_ts + 22546 } if i == -int32(1) { - return __ccgo_ts + 17045 + return __ccgo_ts + 17132 } return (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*16))).FzCnName } @@ -136940,10 +137894,10 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, var i int32 _ = i if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22408, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22553, int32(5)) } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22414, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22559, int32(1)) } i = 0 for { @@ -136951,7 +137905,7 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13438, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13563, int32(1)) } Xsqlite3_str_appendall(tls, pStr, _explainIndexColumnName(tls, pIdx, iTerm+i)) goto _1 @@ -136960,11 +137914,11 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5454, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5518, int32(1)) } Xsqlite3_str_append(tls, pStr, zOp, int32(1)) if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22414, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22559, int32(1)) } i = 0 for { @@ -136972,16 +137926,16 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13438, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13563, int32(1)) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5456, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5520, int32(1)) goto _2 _2: ; i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5454, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5518, int32(1)) } } @@ -137014,7 +137968,7 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { if int32(nEq) == 0 && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_BTM_LIMIT)|libc.Int32FromInt32(WHERE_TOP_LIMIT)) == uint32(0) { return } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22416, int32(2)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22561, int32(2)) i = 0 for { if !(i < int32(nEq)) { @@ -137022,12 +137976,12 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } z = _explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22408, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22553, int32(5)) } if i >= int32(nSkip) { - v2 = __ccgo_ts + 22419 + v2 = __ccgo_ts + 22564 } else { - v2 = __ccgo_ts + 22424 + v2 = __ccgo_ts + 22569 } Xsqlite3_str_appendf(tls, pStr, v2, libc.VaList(bp+8, z)) goto _1 @@ -137037,13 +137991,13 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } j = i if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_BTM_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22432) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22577) i = int32(1) } if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_TOP_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22434) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22579) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5454, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5518, int32(1)) } // C documentation @@ -137086,47 +138040,47 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if isSearch != 0 { - v2 = __ccgo_ts + 22436 + v2 = __ccgo_ts + 22581 } else { - v2 = __ccgo_ts + 22443 + v2 = __ccgo_ts + 22588 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22448, libc.VaList(bp+144, v2, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22593, libc.VaList(bp+144, v2, pItem)) if flags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_VIRTUALTABLE)) == uint32(0) { zFmt = uintptr(0) pIdx = (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex if !((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) && int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = __ccgo_ts + 11601 + zFmt = __ccgo_ts + 11726 } } else { if flags&uint32(WHERE_PARTIALIDX) != 0 { - zFmt = __ccgo_ts + 22454 + zFmt = __ccgo_ts + 22599 } else { if flags&uint32(WHERE_AUTO_INDEX) != 0 { - zFmt = __ccgo_ts + 22487 + zFmt = __ccgo_ts + 22632 } else { if flags&uint32(WHERE_IDX_ONLY) != 0 { - zFmt = __ccgo_ts + 22512 + zFmt = __ccgo_ts + 22657 } else { - zFmt = __ccgo_ts + 22530 + zFmt = __ccgo_ts + 22675 } } } } if zFmt != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22539, int32(7)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22684, int32(7)) Xsqlite3_str_appendf(tls, bp, zFmt, libc.VaList(bp+144, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) _explainIndexRange(tls, bp, pLoop) } } else { if flags&uint32(WHERE_IPK) != uint32(0) && flags&uint32(WHERE_CONSTRAINT) != uint32(0) { - zRowid = __ccgo_ts + 17045 - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22547, libc.VaList(bp+144, zRowid)) + zRowid = __ccgo_ts + 17132 + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22692, libc.VaList(bp+144, zRowid)) if flags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != 0 { cRangeOp = int8('=') } else { if flags&uint32(WHERE_BOTH_LIMIT) == uint32(WHERE_BOTH_LIMIT) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22578, libc.VaList(bp+144, zRowid)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22723, libc.VaList(bp+144, zRowid)) cRangeOp = int8('<') } else { if flags&uint32(WHERE_BTM_LIMIT) != 0 { @@ -137136,10 +138090,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22588, libc.VaList(bp+144, int32(cRangeOp))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22733, libc.VaList(bp+144, int32(cRangeOp))) } else { if flags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22593, libc.VaList(bp+144, (*(*struct { + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22738, libc.VaList(bp+144, (*(*struct { FidxNum int32 F__ccgo4 uint8 FisOrdered Ti8 @@ -137158,7 +138112,7 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } if int32((*TSrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&int32(JT_LEFT) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22620, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22765, 0) } zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) @@ -137192,14 +138146,14 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Initial space for EQP output string */ _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22631, libc.VaList(bp+144, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22776, libc.VaList(bp+144, pItem)) pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_IPK) != 0 { pTab = (*TSrcItem)(unsafe.Pointer(pItem)).FpTab if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22419, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22564, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) } else { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22652, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22797, 0) } } else { i = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) @@ -137209,16 +138163,16 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp } z = _explainIndexColumnName(tls, (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex, i) if i > int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22408, int32(5)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22553, int32(5)) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22419, libc.VaList(bp+144, z)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22564, libc.VaList(bp+144, z)) goto _1 _1: ; i++ } } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5454, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5518, int32(1)) zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) return ret @@ -138049,6 +139003,35 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32 } } +// C documentation +// +// /* +// ** Loop pLoop is a WHERE_INDEXED level that uses at least one IN(...) +// ** operator. Return true if level pLoop is guaranteed to visit only one +// ** row for each key generated for the index. +// */ +func _whereLoopIsOneRow(tls *libc.TLS, pLoop uintptr) (r int32) { + var ii int32 + _ = ii + if (*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FonError != 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) == 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq) == int32((*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FnKeyCol) { + ii = 0 + for { + if !(ii < int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq)) { + break + } + if int32((*TWhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(ii)*8)))).FeOperator)&(libc.Int32FromInt32(WO_IS)|libc.Int32FromInt32(WO_ISNULL)) != 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) + } + return 0 +} + // C documentation // // /* @@ -138737,7 +139720,10 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** a LEFT JOIN: */ } /* Record the instruction used to terminate the loop. */ - if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 { + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 || (*(*struct { + FnIn int32 + FaInLoop uintptr + })(unsafe.Pointer(pLevel + 72))).FnIn != 0 && regBignull == 0 && _whereLoopIsOneRow(tls, pLoop) != 0 { (*TWhereLevel)(unsafe.Pointer(pLevel)).Fop = uint8(OP_Noop) } else { if bRev != 0 { @@ -138910,7 +139896,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22660, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22805, 0) ii = 0 for { if !(ii < (*TWhereClause)(unsafe.Pointer(pOrWc)).FnTerm) { @@ -138933,7 +139919,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } /* Loop through table entries that match term pOrTerm. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22675, libc.VaList(bp+96, ii+int32(1))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22820, libc.VaList(bp+96, ii+int32(1))) pSubWInfo = _sqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) if pSubWInfo != 0 { addrExplain = _sqlite3WhereExplainOneScan(tls, pParse, pOrTab, pSubWInfo+856, uint16(0)) @@ -139096,6 +140082,12 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** iLoop==3: Code all remaining expressions. ** ** An effort is made to skip unnecessary iterations of the loop. + ** + ** This optimization of causing simple query restrictions to occur before + ** more complex one is call the "push-down" optimization in MySQL. Here + ** in SQLite, the name is "MySQL push-down", since there is also another + ** totally unrelated optimization called "WHERE-clause push-down". + ** Sometimes the qualifier is omitted, resulting in an ambiguity, so beware. */ if pIdx != 0 { v60 = int32(1) @@ -139395,9 +140387,9 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe defer tls.Free(128) var addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, nPk, r, v3 int32 var mAll TBitmask - var pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr + var pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr var _ /* sFrom at bp+0 */ TSrcList - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pRJ = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpRJ @@ -139406,13 +140398,17 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop pTabItem = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 mAll = uint64(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22684, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22829, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) k = 0 for { if !(k < iLevel) { break } + pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*104 mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf + if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x20>>5)) != 0 { + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pRight)).FpSelect)).FpEList)).FnExpr-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiTabCur) iIdxCur = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiIdxCur if iIdxCur != 0 { @@ -139910,19 +140906,19 @@ var _aOp = [4]struct { FeOp2 uint8 }{ 0: { - FzOp: __ccgo_ts + 16894, + FzOp: __ccgo_ts + 16981, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH), }, 1: { - FzOp: __ccgo_ts + 16222, + FzOp: __ccgo_ts + 16315, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB), }, 2: { - FzOp: __ccgo_ts + 15701, + FzOp: __ccgo_ts + 15794, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE), }, 3: { - FzOp: __ccgo_ts + 22698, + FzOp: __ccgo_ts + 22843, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP), }, } @@ -140556,7 +141552,7 @@ func _exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, aiCurCol uintptr, pExpr if int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) != -int32(2) { goto _4 } - if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_STRING) { + if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && !(_sqlite3ExprIsConstant(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr) != 0) { *(*int32)(unsafe.Pointer(aiCurCol)) = iCur *(*int32)(unsafe.Pointer(aiCurCol + 1*4)) = -int32(2) return int32(1) @@ -140709,7 +141705,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { extraRight = x - uint64(1) /* ON clause terms may not be used with an index ** on left table of a LEFT JOIN. Ticket #3015 */ if prereqAll>>libc.Int32FromInt32(1) >= x { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22705, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22850, 0) return } } else { @@ -140721,7 +141717,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { ** if there is a RIGHT or FULL JOIN in the query. This makes SQLite ** more like other systems, and also preserves legacy. */ if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*(*TSrcItem)(unsafe.Pointer(pSrc + 8))).Ffg.Fjointype)&int32(JT_LTORJ) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22705, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22850, 0) return } *(*Tu32)(unsafe.Pointer(pExpr + 4)) &= uint32(^libc.Int32FromInt32(EP_InnerON)) @@ -140805,7 +141801,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { } else { if op == int32(TK_ISNULL) && !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)) != libc.Uint32FromInt32(0)) && 0 == _sqlite3ExprCanBeNull(tls, pLeft) { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_TRUEFALSE) /* See tag-20230504-1 */ - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8239 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8364 *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_IsFalse)) (*TWhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator = uint16(0) @@ -140901,7 +141897,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { *(*Tu8)(unsafe.Pointer(pC)) = uint8(int32(c1) + int32(1)) } if *(*int32)(unsafe.Pointer(bp + 12)) != 0 { - v13 = __ccgo_ts + 22746 + v13 = __ccgo_ts + 22891 } else { v13 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) } @@ -141171,6 +142167,9 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FleftCursor != iCsr { return } + if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FprereqRight != uint64(0) { + return + } goto _1 _1: ; @@ -141200,10 +142199,12 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { } } /* All conditions are met. Add the terms to the where-clause object. */ - _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) - if (*TSelect)(unsafe.Pointer(p)).FiOffset > 0 { + if (*TSelect)(unsafe.Pointer(p)).FiOffset != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiOffset, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpRight, iCsr, int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } + if (*TSelect)(unsafe.Pointer(p)).FiOffset == 0 || (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { + _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) + } } } @@ -141427,7 +142428,7 @@ func _sqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22753, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22898, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) return } pColRef = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_COLUMN), uintptr(0), 0) @@ -141861,6 +142862,48 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { return uintptr(0) } +// C documentation +// +// /* +// ** Term pTerm is guaranteed to be a WO_IN term. It may be a component term +// ** of a vector IN expression of the form "(x, y, ...) IN (SELECT ...)". +// ** This function checks to see if the term is compatible with an index +// ** column with affinity idxaff (one of the SQLITE_AFF_XYZ values). If so, +// ** it returns a pointer to the name of the collation sequence (e.g. "BINARY" +// ** or "NOCASE") used by the comparison in pTerm. If it is not compatible +// ** with affinity idxaff, NULL is returned. +// */ +func _indexInAffinityOk(tls *libc.TLS, pParse uintptr, pTerm uintptr, idxaff Tu8) (r uintptr) { + bp := tls.Alloc(80) + defer tls.Free(80) + var iField int32 + var pRet, pX, v1 uintptr + var _ /* inexpr at bp+0 */ TExpr + _, _, _, _ = iField, pRet, pX, v1 + pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr + if _sqlite3ExprIsVector(tls, (*TExpr)(unsafe.Pointer(pX)).FpLeft) != 0 { + iField = (*(*struct { + FleftColumn int32 + FiField int32 + })(unsafe.Pointer(pTerm + 32))).FiField - int32(1) + (*(*TExpr)(unsafe.Pointer(bp))).Fflags = uint32(0) + (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_EQ) + (*(*TExpr)(unsafe.Pointer(bp))).FpLeft = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pX)).FpLeft + 32)) + 8 + uintptr(iField)*32))).FpExpr + (*(*TExpr)(unsafe.Pointer(bp))).FpRight = (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pX + 32)))).FpEList + 8 + uintptr(iField)*32))).FpExpr + pX = bp + } + if _sqlite3IndexAffinityOk(tls, pX, int8(idxaff)) != 0 { + pRet = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pRet != 0 { + v1 = (*TCollSeq)(unsafe.Pointer(pRet)).FzName + } else { + v1 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + return v1 + } + return uintptr(0) +} + // C documentation // // /* @@ -141871,10 +142914,10 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { var iColumn Ti16 var iCur, j, k int32 - var pColl, pParse, pTerm, pWC, pX, v2 uintptr - var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, v2, v3, v5 /* The term being tested */ - k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ + var pColl, pParse, pTerm, pWC, pX, zCollName, v2, v5 uintptr + var v3, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, zCollName, v2, v3, v5, v6 /* The term being tested */ + k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ pWC = (*TWhereScan)(unsafe.Pointer(pScan)).FpWC for int32(1) != 0 { iColumn = *(*Ti16)(unsafe.Pointer(pScan + 88 + uintptr(int32((*TWhereScan)(unsafe.Pointer(pScan)).FiEquiv)-int32(1))*2)) @@ -141918,21 +142961,31 @@ func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { if (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName != 0 && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_ISNULL) == 0 { pParse = (*TWhereInfo)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr - if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { - goto _1 - } - pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) - if pColl == uintptr(0) { - pColl = (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_IN) != 0 { + zCollName = _indexInAffinityOk(tls, pParse, pTerm, uint8((*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff)) + if !(zCollName != 0) { + goto _1 + } + } else { + if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { + goto _1 + } + pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pColl != 0 { + v5 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName + } else { + v5 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + zCollName = v5 } - if _sqlite3StrICmp(tls, (*TCollSeq)(unsafe.Pointer(pColl)).FzName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { + if _sqlite3StrICmp(tls, zCollName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { goto _1 } } - if v5 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v5 { + if v6 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v6 { pX = (*TExpr)(unsafe.Pointer((*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpRight } - if v5 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { + if v6 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { goto _1 } (*TWhereScan)(unsafe.Pointer(pScan)).FpWC = pWC @@ -142420,7 +143473,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea /* Make the automatic index a partial index if there are terms in the ** WHERE clause (or the ON clause of a LEFT join) that constrain which ** rows of the target table (pSrc) that can be used. */ - if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)) != 0 { + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom), 0) != 0 { pPartial = _sqlite3ExprAnd(tls, pParse, pPartial, _sqlite3ExprDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr, 0)) } if _termCanDriveIndex(tls, pTerm, pSrc, notReady) != 0 { @@ -142435,7 +143488,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea } cMask = v2 if !(sentWarning != 0) { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_WARNING)|libc.Int32FromInt32(1)<>14)) != 0) { eDistinct = int32(2) + libc.BoolInt32(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_SORTBYGROUP) != 0) } else { if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_GROUPBY) != 0 { @@ -142906,7 +143959,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB */ pIdxInfo = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(96)+(libc.Uint64FromInt64(12)+libc.Uint64FromInt64(8))*uint64(nTerm)+uint64(8)*uint64(nOrderBy)+uint64(40)+uint64(8)*uint64(nTerm)) if pIdxInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1634, 0) return uintptr(0) } pHidden = pIdxInfo + 1*96 @@ -142991,7 +144044,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB break } pExpr1 = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr - if _sqlite3ExprIsConstant(tls, pExpr1) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr1) != 0 { goto _11 } (*(*Tsqlite3_index_orderby)(unsafe.Pointer(pIdxOrderBy + uintptr(j)*8))).FiColumn = int32((*TExpr)(unsafe.Pointer(pExpr1)).FiColumn) @@ -143066,9 +144119,9 @@ func _vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) (r i _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) } else { if !((*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } } @@ -144405,7 +145458,7 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x4>>2)) != 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GE)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LE)-libc.Int32FromInt32(TK_EQ))) } - if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 { + if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 && int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x2>>1)) == 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ) | libc.Int32FromInt32(WO_IN) | libc.Int32FromInt32(WO_IS)) } } @@ -144644,10 +145697,13 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } } } - /* Set rCostIdx to the cost of visiting selected rows in index. Add - ** it to pNew->rRun, which is currently set to the cost of the index - ** seek only. Then, if this is a non-covering index, add the cost of - ** visiting the rows in the main table. */ + /* Set rCostIdx to the estimated cost of visiting selected rows in the + ** index. The estimate is the sum of two values: + ** 1. The cost of doing one search-by-key to find the first matching + ** entry + ** 2. Stepping forward in the index pNew->nOut times to find all + ** additional matching entries. + */ if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_IPK) { /* The pProbe->szIdxRow is low for an IPK table since the interior ** pages are small. Thus szIdxRow gives a good estimate of seek cost. @@ -144657,7 +145713,14 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } else { rCostIdx = int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut) + int32(1) + int32(15)*int32((*TIndex)(unsafe.Pointer(pProbe)).FszIdxRow)/int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FszTabRow)) } - (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + rCostIdx = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + /* Estimate the cost of running the loop. If all data is coming + ** from the index, then this is just the cost of doing the index + ** lookup and scan. But if some data is coming out of the main table, + ** we also have to add in the cost of doing pNew->nOut searches to + ** locate the row in the main table that corresponds to the index entry. + */ + (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = rCostIdx if (*TWhereLoop)(unsafe.Pointer(pNew)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IDX_ONLY)|libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_EXPRIDX)) == uint32(0) { (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun, int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut)+int32(16))) } @@ -144762,7 +145825,7 @@ func _indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, if pExpr == uintptr(0) { goto _2 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { + if (int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) || int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_COLUMN)) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { return int32(1) } @@ -145097,7 +146160,7 @@ func _wherePartIdxExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, pPart uintpt if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) != int32(TK_COLUMN) { return } - if !(_sqlite3ExprIsConstant(tls, pRight) != 0) { + if !(_sqlite3ExprIsConstant(tls, uintptr(0), pRight) != 0) { return } if !(_sqlite3IsBinary(tls, _sqlite3ExprCompareCollSeq(tls, pParse, pPart)) != 0) { @@ -145426,7 +146489,7 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in ** unique index is used (making the index functionally non-unique) ** then the sqlite_stat1 data becomes important for scoring the ** plan */ - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) } _sqlite3Stat4ProbeFree(tls, (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec) (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid = 0 @@ -145454,6 +146517,31 @@ func _isLimitTerm(tls *libc.TLS, pTerm uintptr) (r int32) { return libc.BoolInt32(int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= int32(SQLITE_INDEX_CONSTRAINT_LIMIT) && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } +// C documentation +// +// /* +// ** Return true if the first nCons constraints in the pUsage array are +// ** marked as in-use (have argvIndex>0). False otherwise. +// */ +func _allConstraintsUsed(tls *libc.TLS, aUsage uintptr, nCons int32) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < nCons) { + break + } + if (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer(aUsage + uintptr(ii)*8))).FargvIndex <= 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + // C documentation // // /* @@ -145548,7 +146636,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if v3 >= 0 { j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).FiTermOffset if iTerm >= nConstraint || j < 0 || j >= (*TWhereClause)(unsafe.Pointer(pWC)).FnTerm || *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) || int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22826, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22971, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } pTerm1 = (*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(j)*56 @@ -145593,12 +146681,16 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, *(*int32)(unsafe.Pointer(pbIn)) = int32(1) } } - if _isLimitTerm(tls, pTerm1) != 0 && *(*int32)(unsafe.Pointer(pbIn)) != 0 { + /* Unless pbRetryLimit is non-NULL, there should be no LIMIT/OFFSET + ** terms. And if there are any, they should follow all other terms. */ + if _isLimitTerm(tls, pTerm1) != 0 && (*(*int32)(unsafe.Pointer(pbIn)) != 0 || !(_allConstraintsUsed(tls, pUsage, i) != 0)) { /* If there is an IN(...) term handled as an == (separate call to ** xFilter for each value on the RHS of the IN) and a LIMIT or - ** OFFSET term handled as well, the plan is unusable. Set output - ** variable *pbRetryLimit to true to tell the caller to retry with - ** LIMIT and OFFSET disabled. */ + ** OFFSET term handled as well, the plan is unusable. Similarly, + ** if there is a LIMIT/OFFSET and there are other unused terms, + ** the plan cannot be used. In these cases set variable *pbRetryLimit + ** to true to tell the caller to retry with LIMIT and OFFSET + ** disabled. */ if (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr != 0 { Xsqlite3_free(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = uintptr(0) @@ -145623,7 +146715,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { /* The non-zero argvIdx values must be contiguous. Raise an ** error if they are not */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22826, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22971, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } goto _6 @@ -145775,7 +146867,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal pVal = uintptr(0) rc = SQLITE_OK if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { - rc = _sqlite3MisuseError(tls, int32(165251)) /* EV: R-30545-25046 */ + rc = _sqlite3MisuseError(tls, int32(166453)) /* EV: R-30545-25046 */ } else { if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) { pTerm = (*TWhereClause)(unsafe.Pointer((*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC)).Fa + uintptr((*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)*56 @@ -146213,7 +147305,7 @@ func _whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) (r int32) { if rc != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { if rc == int32(SQLITE_DONE) { /* We hit the query planner search limit set by iPlanLimit */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22852, 0) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22997, 0) rc = SQLITE_OK } else { break @@ -146595,7 +147687,7 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } p = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr mTerm = _sqlite3WhereExprUsage(tls, pWInfo+592, p) - if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, p) != 0) { + if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, uintptr(0), p) != 0) { goto _9 } if mTerm & ^orderDistinctMask == uint64(0) { @@ -147005,7 +148097,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) iLoop++ } if nFrom == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22887, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23032, 0) _sqlite3DbFreeNN(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pSpace) return int32(SQLITE_ERROR) } @@ -147054,9 +148146,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) if int32((*TWherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*TExprList)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_ORDERED) } - if (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 && int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr { - (*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = int8((*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr) - } + /* vvv--- See check-in [12ad822d9b827777] on 2023-03-16 ---vvv */ } else { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*TWherePath)(unsafe.Pointer(pFrom)).FrevLoop if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 { @@ -147093,6 +148183,97 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) return SQLITE_OK } +// C documentation +// +// /* +// ** This routine implements a heuristic designed to improve query planning. +// ** This routine is called in between the first and second call to +// ** wherePathSolver(). Hence the name "Interstage" "Heuristic". +// ** +// ** The first call to wherePathSolver() (hereafter just "solver()") computes +// ** the best path without regard to the order of the outputs. The second call +// ** to the solver() builds upon the first call to try to find an alternative +// ** path that satisfies the ORDER BY clause. +// ** +// ** This routine looks at the results of the first solver() run, and for +// ** every FROM clause term in the resulting query plan that uses an equality +// ** constraint against an index, disable other WhereLoops for that same +// ** FROM clause term that would try to do a full-table scan. This prevents +// ** an index search from being converted into a full-table scan in order to +// ** satisfy an ORDER BY clause, since even though we might get slightly better +// ** performance using the full-scan without sorting if the output size +// ** estimates are very precise, we might also get severe performance +// ** degradation using the full-scan if the output size estimate is too large. +// ** It is better to err on the side of caution. +// ** +// ** Except, if the first solver() call generated a full-table scan in an outer +// ** loop then stop this analysis at the first full-scan, since the second +// ** solver() run might try to swap that full-scan for another in order to +// ** get the output into the correct order. In other words, we allow a +// ** rewrite like this: +// ** +// ** First Solver() Second Solver() +// ** |-- SCAN t1 |-- SCAN t2 +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** The purpose of this routine is to disallow rewrites such as: +// ** +// ** First Solver() Second Solver() +// ** |-- SEARCH t1 |-- SCAN t2 <--- bad! +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** See test cases in test/whereN.test for the real-world query that +// ** originally provoked this heuristic. +// */ +func _whereInterstageHeuristic(tls *libc.TLS, pWInfo uintptr) { + var i int32 + var iTab Tu8 + var p, pLoop uintptr + _, _, _, _ = i, iTab, p, pLoop + i = 0 + for { + if !(i < int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnLevel)) { + break + } + p = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(i)*104))).FpWLoop + if p == uintptr(0) { + break + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { + goto _1 + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_NULL)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != uint32(0) { + iTab = (*TWhereLoop)(unsafe.Pointer(p)).FiTab + pLoop = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpLoops + for { + if !(pLoop != 0) { + break + } + if int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab) != int32(iTab) { + goto _2 + } + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_CONSTRAINT)|libc.Int32FromInt32(WHERE_AUTO_INDEX)) != uint32(0) { + /* Auto-index and index-constrained loops allowed to remain */ + goto _2 + } + (*TWhereLoop)(unsafe.Pointer(pLoop)).Fprereq = uint64(-libc.Int32FromInt32(1)) /* Prevent 2nd solver() from using this one */ + goto _2 + _2: + ; + pLoop = (*TWhereLoop)(unsafe.Pointer(pLoop)).FpNextLoop + } + } else { + break + } + goto _1 + _1: + ; + i++ + } +} + // C documentation // // /* @@ -147401,7 +148582,7 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasStat1) == uint32(0) { break } - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) if i >= int32(1) && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&reqFlags == reqFlags && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_INDEXED)) != uint32(0) { if int32(nSearch) > int32((*TTable)(unsafe.Pointer(pTab)).FnRowLogEst) { *(*Tu32)(unsafe.Pointer(pLoop + 48)) |= uint32(WHERE_BLOOMFILTER) @@ -147416,6 +148597,68 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { } } +// C documentation +// +// /* +// ** Expression Node callback for sqlite3ExprCanReturnSubtype(). +// ** +// ** Only a function call is able to return a subtype. So if the node +// ** is not a function call, return WRC_Prune immediately. +// ** +// ** A function call is able to return a subtype if it has the +// ** SQLITE_RESULT_SUBTYPE property. +// ** +// ** Assume that every function is able to pass-through a subtype from +// ** one of its argument (using sqlite3_result_value()). Most functions +// ** are not this way, but we don't have a mechanism to distinguish those +// ** that are from those that are not, so assume they all work this way. +// ** That means that if one of its arguments is another function and that +// ** other function is able to return a subtype, then this function is +// ** able to return a subtype. +// */ +func _exprNodeCanReturnSubtype(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef uintptr + var n, v1 int32 + _, _, _, _ = db, n, pDef, v1 + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_FUNCTION) { + return int32(WRC_Prune) + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { + v1 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr + } else { + v1 = 0 + } + n = v1 + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + return int32(WRC_Prune) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Return TRUE if expression pExpr is able to return a subtype. +// ** +// ** A TRUE return does not guarantee that a subtype will be returned. +// ** It only indicates that a subtype return is possible. False positives +// ** are acceptable as they only disable an optimization. False negatives, +// ** on the other hand, can lead to incorrect answers. +// */ +func _sqlite3ExprCanReturnSubtype(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.X__builtin___memset_chk(tls, bp, 0, uint64(48), libc.X__builtin_object_size(tls, bp, 0)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeCanReturnSubtype) + _sqlite3WalkExpr(tls, bp, pExpr) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) +} + // C documentation // // /* @@ -147430,9 +148673,9 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { // ** references to the corresponding column of the index. // */ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur int32, pTabItem uintptr) { - var db, p, pArg, pDef, pExpr, pTab uintptr - var i, j, n, v2 int32 - _, _, _, _, _, _, _, _, _, _ = db, i, j, n, p, pArg, pDef, pExpr, pTab, v2 + var i, j int32 + var p, pArg, pExpr, pTab uintptr + _, _, _, _, _, _ = i, j, p, pArg, pExpr, pTab pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable i = 0 for { @@ -147449,21 +148692,14 @@ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur i goto _1 } } - if _sqlite3ExprIsConstant(tls, pExpr) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) != 0 { goto _1 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) { - db = (*TParse)(unsafe.Pointer(pParse)).Fdb - if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { - v2 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr - } else { - v2 = 0 - } - n = v2 - pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) - if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { - goto _1 - } + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) && _sqlite3ExprCanReturnSubtype(tls, pParse, pExpr) != 0 { + /* Functions that might set a subtype should not be replaced by the + ** value taken from an expression index since the index omits the + ** subtype. https://sqlite.org/forum/forumpost/68d284c86b082c3e */ + goto _1 } p = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(32)) if p == uintptr(0) { @@ -147635,7 +148871,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** bits in a Bitmask */ if (*TSrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22905, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23050, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) return uintptr(0) } /* This function normally generates a nested loop for all tables in @@ -147707,7 +148943,9 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere if int32(wctrlFlags)&int32(WHERE_WANT_DISTINCT) != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_DistinctOpt)) == uint32(0) { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_UNIQUE) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22933, 0) + if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FselFlags&uint32(SF_MultiValue) == uint32(0) { + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+23078, 0) + } } else { /* Assign a bit from the bitmask to every term in the FROM clause. ** @@ -147839,6 +149077,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere goto whereBeginError } if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy != 0 { + _whereInterstageHeuristic(tls, pWInfo) _wherePathSolver(tls, pWInfo, int16(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut)+int32(1))) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto whereBeginError @@ -148147,10 +149386,10 @@ whereBeginError: // ** sqlite3WhereBegin() for additional information. // */ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { - var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, r1, ws, x, v4, v7 int32 - var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr + var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, r1, ws, x, v4, v7 int32 + var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pTabList = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList @@ -148291,6 +149530,12 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { ws = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags) addr = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfPos), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) if ws&int32(WHERE_IDX_ONLY) == 0 { + pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 + if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x20>>5)) != 0 { + n1 = (*TSrcItem)(unsafe.Pointer(pSrc)).FregResult + m = int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FnCol) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, n1, n1+m-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) } if ws&int32(WHERE_INDEXED) != 0 || ws&int32(WHERE_MULTI_OR) != 0 && *(*uintptr)(unsafe.Pointer(&(*TWhereLevel)(unsafe.Pointer(pLevel)).Fu)) != 0 { @@ -148707,7 +149952,7 @@ func _nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) goto error_out error_out: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22951, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+23096, -int32(1)) } func _nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { @@ -148889,7 +150134,7 @@ func _ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { if (*TNtileCtx)(unsafe.Pointer(p)).FnTotal == 0 { (*TNtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg))) if (*TNtileCtx)(unsafe.Pointer(p)).FnParam <= 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+23007, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+23152, -int32(1)) } } (*TNtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -149215,7 +150460,7 @@ func _windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) (r p = (*TWindow)(unsafe.Pointer(p)).FpNextWin } if p == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23052, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23197, libc.VaList(bp+8, zName)) } return p } @@ -149266,12 +150511,12 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin _sqlite3WindowChain(tls, pParse, pWin, pList) } if int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) == int32(TK_RANGE) && ((*TWindow)(unsafe.Pointer(pWin)).FpStart != 0 || (*TWindow)(unsafe.Pointer(pWin)).FpEnd != 0) && ((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*TExprList)(unsafe.Pointer((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != int32(1)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23071, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23216, 0) } else { if (*TFuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TWindow)(unsafe.Pointer(pWin)).FpFilter != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23142, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23287, 0) } else { aUp = [8]struct { FzFunc uintptr @@ -149344,7 +150589,7 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*TWindow)(unsafe.Pointer(pWin)).FeEnd = uint8(aUp[i].FeEnd) (*TWindow)(unsafe.Pointer(pWin)).FeExclude = uint8(0) if int32((*TWindow)(unsafe.Pointer(pWin)).FeStart) == int32(TK_FOLLOWING) { - (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8478) + (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8603) } break } @@ -149626,7 +150871,7 @@ func _disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintpt bp := tls.Alloc(16) defer tls.Free(16) if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_FUNCTION) && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+23205, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) + _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+23350, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) } return WRC_Continue } @@ -149767,7 +151012,7 @@ func _sqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { ** keep everything legal in this case. */ if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1724)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1784)) } pSub = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(bp)), pSrc, pWhere, pGroupBy, pHaving, pSort, uint32(0), uintptr(0)) (*TSelect)(unsafe.Pointer(p)).FpSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), uintptr(0), uintptr(0)) @@ -149871,7 +151116,7 @@ func _sqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { // ** variable values in the expression tree. // */ func _sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r uintptr) { - if 0 == _sqlite3ExprIsConstant(tls, pExpr) { + if 0 == _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) { if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameExprUnmap(tls, pParse, pExpr) } @@ -149912,7 +151157,7 @@ func _sqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int3 ** frame boundary. */ if eStart == int32(TK_CURRENT) && eEnd == int32(TK_PRECEDING) || eStart == int32(TK_FOLLOWING) && (eEnd == int32(TK_PRECEDING) || eEnd == int32(TK_CURRENT)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23231, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23376, 0) goto windowAllocErr } pWin = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) @@ -149980,18 +151225,18 @@ func _sqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint zErr = uintptr(0) /* Check for errors */ if (*TWindow)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = __ccgo_ts + 23263 + zErr = __ccgo_ts + 23408 } else { if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*TWindow)(unsafe.Pointer(pWin)).FpOrderBy != 0 { - zErr = __ccgo_ts + 23280 + zErr = __ccgo_ts + 23425 } else { if int32((*TWindow)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = __ccgo_ts + 23296 + zErr = __ccgo_ts + 23441 } } } if zErr != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23316, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23461, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) } else { (*TWindow)(unsafe.Pointer(pWin)).FpPartition = _sqlite3ExprListDup(tls, db, (*TWindow)(unsafe.Pointer(pExist)).FpPartition, 0) if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 { @@ -150015,7 +151260,7 @@ func _sqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(libc.Int32FromInt32(EP_WinFunc) | libc.Int32FromInt32(EP_FullSize)) (*TWindow)(unsafe.Pointer(pWin)).FpOwner = p if (*TExpr)(unsafe.Pointer(p)).Fflags&uint32(EP_Distinct) != 0 && int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) != int32(TK_FILTER) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23349, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23494, 0) } } else { _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -150214,7 +151459,7 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regZero) if eCond >= int32(WINDOW_STARTING_NUM) { regString = _sqlite3GetTempReg(tls, pParse) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1650, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1664, -int32(1)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, _sqlite3VdbeCurrentAddr(tls, v)+int32(2), reg) _sqlite3VdbeChangeP5(tls, v, uint16(libc.Int32FromInt32(SQLITE_AFF_NUMERIC)|libc.Int32FromInt32(SQLITE_JUMPIFNULL))) } else { @@ -150233,11 +151478,11 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { } var _azErr = [5]uintptr{ - 0: __ccgo_ts + 23396, - 1: __ccgo_ts + 23449, - 2: __ccgo_ts + 22951, - 3: __ccgo_ts + 23500, - 4: __ccgo_ts + 23552, + 0: __ccgo_ts + 23541, + 1: __ccgo_ts + 23594, + 2: __ccgo_ts + 23096, + 3: __ccgo_ts + 23645, + 4: __ccgo_ts + 23697, } var _aOp1 = [5]int32{ @@ -150989,7 +152234,7 @@ func _windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal ** the add/subtract is skipped for these, as required. If reg1 is a NULL, ** then the arithmetic is performed, but since adding or subtracting from ** NULL is always NULL anyway, this case is handled as required too. */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1650, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1664, -int32(1)) addrGe = _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, 0, reg1) if op == int32(OP_Ge) && arith == int32(OP_Add) || op == int32(OP_Le) && arith == int32(OP_Subtract) { _sqlite3VdbeAddOp3(tls, v, op, reg2, lbl, reg1) @@ -152017,11 +153262,11 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { cnt++ if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*TSelect)(unsafe.Pointer(pLoop)).FpLimit != 0 { if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - v1 = __ccgo_ts + 23602 + v1 = __ccgo_ts + 23747 } else { - v1 = __ccgo_ts + 23611 + v1 = __ccgo_ts + 23756 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23617, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23762, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) break } } @@ -152030,7 +153275,7 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { mxSelect = v2 } if v3 && v2 > 0 && cnt > mxSelect { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23659, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23804, 0) } } } @@ -152050,6 +153295,23 @@ func _attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith u return pSelect } +// C documentation +// +// /* Memory allocator for parser stack resizing. This is a thin wrapper around +// ** sqlite3_realloc() that includes a call to sqlite3FaultSim() to facilitate +// ** testing. +// */ +func _parserStackRealloc(tls *libc.TLS, pOld uintptr, newSize Tsqlite3_uint64) (r uintptr) { + var v1 uintptr + _ = v1 + if _sqlite3FaultSim(tls, int32(700)) != 0 { + v1 = uintptr(0) + } else { + v1 = Xsqlite3_realloc(tls, pOld, int32(newSize)) + } + return v1 +} + // C documentation // // /* Construct a new Expr object from a single token */ @@ -152119,7 +153381,7 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId _ = p p = _sqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if (hasCollate != 0 || sortOrder != -int32(1)) && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23693, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23838, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) } _sqlite3ExprListSetName(tls, pParse, p, pIdToken, int32(1)) return p @@ -152169,6 +153431,9 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser // ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser // ** sqlite3ParserCTX_* As sqlite3ParserARG_ except for %extra_context +// ** YYREALLOC Name of the realloc() function to use +// ** YYFREE Name of the free() function to use +// ** YYDYNSTACK True if stack space should be extended on heap // ** YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** YYNSTATE the combined number of states. @@ -152182,31 +153447,33 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** YY_NO_ACTION The yy_action[] code for no-op // ** YY_MIN_REDUCE Minimum value for reduce actions // ** YY_MAX_REDUCE Maximum value for reduce actions +// ** YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type TYYMINORTYPE = struct { Fyy0 [0]TToken - Fyy33 [0]uintptr - Fyy41 [0]uintptr - Fyy47 [0]uintptr - Fyy131 [0]uintptr - Fyy180 [0]TTrigEvent - Fyy231 [0]struct { + Fyy14 [0]uintptr + Fyy59 [0]uintptr + Fyy67 [0]uintptr + Fyy122 [0]uintptr + Fyy132 [0]uintptr + Fyy144 [0]int32 + Fyy168 [0]uintptr + Fyy203 [0]uintptr + Fyy211 [0]uintptr + Fyy269 [0]TOnOrUsing + Fyy286 [0]TTrigEvent + Fyy383 [0]struct { Fvalue int32 Fmask int32 } - Fyy254 [0]uintptr - Fyy285 [0]Tu32 - Fyy322 [0]uintptr - Fyy385 [0]uintptr - Fyy394 [0]int32 - Fyy444 [0]uintptr - Fyy516 [0]Tu8 - Fyy521 [0]uintptr - Fyy522 [0]uintptr - Fyy528 [0]uintptr - Fyy561 [0]TOnOrUsing - Fyy595 [0]TFrameBound + Fyy391 [0]Tu32 + Fyy427 [0]uintptr + Fyy454 [0]uintptr + Fyy462 [0]Tu8 + Fyy509 [0]TFrameBound + Fyy555 [0]uintptr Fyyinit int32 F__ccgo_pad20 [12]byte } @@ -152224,6 +153491,13 @@ type YYMINORTYPE = TYYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -152276,2152 +153550,2194 @@ type YYMINORTYPE = TYYMINORTYPE // ** yy_default[] Default action for each state. // ** // *********** Begin parsing tables **********************************************/ -var _yy_action = [2100]uint16{ - 0: uint16(572), - 1: uint16(210), - 2: uint16(572), - 3: uint16(119), - 4: uint16(116), - 5: uint16(231), - 6: uint16(572), - 7: uint16(119), - 8: uint16(116), - 9: uint16(231), - 10: uint16(572), - 11: uint16(1317), - 12: uint16(379), - 13: uint16(1296), - 14: uint16(410), - 15: uint16(566), - 16: uint16(566), - 17: uint16(566), - 18: uint16(572), - 19: uint16(411), - 20: uint16(380), - 21: uint16(1317), - 22: uint16(1279), - 23: uint16(42), - 24: uint16(42), - 25: uint16(42), - 26: uint16(42), - 27: uint16(210), - 28: uint16(1529), - 29: uint16(72), - 30: uint16(72), - 31: uint16(974), - 32: uint16(421), - 33: uint16(42), - 34: uint16(42), - 35: uint16(495), - 36: uint16(305), - 37: uint16(281), - 38: uint16(305), - 39: uint16(975), - 40: uint16(399), - 41: uint16(72), - 42: uint16(72), - 43: uint16(126), - 44: uint16(127), - 45: uint16(81), - 46: uint16(1217), - 47: uint16(1217), - 48: uint16(1054), - 49: uint16(1057), - 50: uint16(1044), - 51: uint16(1044), - 52: uint16(124), - 53: uint16(124), - 54: uint16(125), - 55: uint16(125), - 56: uint16(125), - 57: uint16(125), - 58: uint16(480), - 59: uint16(411), - 60: uint16(1244), - 61: uint16(1), - 62: uint16(1), - 63: uint16(578), - 64: uint16(2), - 65: uint16(1248), - 66: uint16(554), - 67: uint16(119), - 68: uint16(116), - 69: uint16(231), - 70: uint16(319), - 71: uint16(484), - 72: uint16(147), - 73: uint16(484), - 74: uint16(528), - 75: uint16(119), - 76: uint16(116), - 77: uint16(231), - 78: uint16(533), - 79: uint16(1330), - 80: uint16(419), - 81: uint16(527), - 82: uint16(143), - 83: uint16(126), - 84: uint16(127), - 85: uint16(81), - 86: uint16(1217), - 87: uint16(1217), - 88: uint16(1054), - 89: uint16(1057), - 90: uint16(1044), - 91: uint16(1044), - 92: uint16(124), - 93: uint16(124), - 94: uint16(125), - 95: uint16(125), - 96: uint16(125), - 97: uint16(125), - 98: uint16(119), - 99: uint16(116), - 100: uint16(231), - 101: uint16(329), - 102: uint16(123), - 103: uint16(123), - 104: uint16(123), - 105: uint16(123), - 106: uint16(122), - 107: uint16(122), - 108: uint16(121), - 109: uint16(121), - 110: uint16(121), - 111: uint16(120), - 112: uint16(117), - 113: uint16(448), - 114: uint16(286), - 115: uint16(286), - 116: uint16(286), - 117: uint16(286), - 118: uint16(446), - 119: uint16(446), - 120: uint16(446), - 121: uint16(1568), - 122: uint16(378), - 123: uint16(1570), - 124: uint16(1193), - 125: uint16(377), - 126: uint16(1164), - 127: uint16(569), - 128: uint16(1164), - 129: uint16(569), - 130: uint16(411), - 131: uint16(1568), - 132: uint16(541), - 133: uint16(261), - 134: uint16(228), - 135: uint16(448), - 136: uint16(102), - 137: uint16(146), - 138: uint16(453), - 139: uint16(318), - 140: uint16(563), - 141: uint16(242), - 142: uint16(123), - 143: uint16(123), - 144: uint16(123), - 145: uint16(123), - 146: uint16(122), - 147: uint16(122), - 148: uint16(121), - 149: uint16(121), - 150: uint16(121), - 151: uint16(120), - 152: uint16(117), - 153: uint16(448), - 154: uint16(126), - 155: uint16(127), - 156: uint16(81), - 157: uint16(1217), - 158: uint16(1217), - 159: uint16(1054), - 160: uint16(1057), - 161: uint16(1044), - 162: uint16(1044), - 163: uint16(124), - 164: uint16(124), - 165: uint16(125), - 166: uint16(125), - 167: uint16(125), - 168: uint16(125), - 169: uint16(143), - 170: uint16(296), - 171: uint16(1193), - 172: uint16(341), - 173: uint16(452), - 174: uint16(121), - 175: uint16(121), - 176: uint16(121), - 177: uint16(120), - 178: uint16(117), - 179: uint16(448), - 180: uint16(128), - 181: uint16(1193), - 182: uint16(1194), - 183: uint16(1193), - 184: uint16(149), - 185: uint16(445), - 186: uint16(444), - 187: uint16(572), - 188: uint16(120), - 189: uint16(117), - 190: uint16(448), - 191: uint16(125), - 192: uint16(125), - 193: uint16(125), - 194: uint16(125), - 195: uint16(118), - 196: uint16(123), - 197: uint16(123), - 198: uint16(123), - 199: uint16(123), - 200: uint16(122), - 201: uint16(122), - 202: uint16(121), - 203: uint16(121), - 204: uint16(121), - 205: uint16(120), - 206: uint16(117), - 207: uint16(448), - 208: uint16(458), - 209: uint16(114), - 210: uint16(13), - 211: uint16(13), - 212: uint16(550), - 213: uint16(123), - 214: uint16(123), - 215: uint16(123), - 216: uint16(123), - 217: uint16(122), - 218: uint16(122), - 219: uint16(121), - 220: uint16(121), - 221: uint16(121), - 222: uint16(120), - 223: uint16(117), - 224: uint16(448), - 225: uint16(424), - 226: uint16(318), - 227: uint16(563), - 228: uint16(1193), - 229: uint16(1194), - 230: uint16(1193), - 231: uint16(150), - 232: uint16(1225), - 233: uint16(411), - 234: uint16(1225), - 235: uint16(125), - 236: uint16(125), - 237: uint16(125), - 238: uint16(125), - 239: uint16(123), - 240: uint16(123), - 241: uint16(123), - 242: uint16(123), - 243: uint16(122), - 244: uint16(122), - 245: uint16(121), - 246: uint16(121), - 247: uint16(121), - 248: uint16(120), - 249: uint16(117), - 250: uint16(448), - 251: uint16(469), - 252: uint16(344), - 253: uint16(1041), - 254: uint16(1041), - 255: uint16(1055), - 256: uint16(1058), - 257: uint16(126), - 258: uint16(127), - 259: uint16(81), - 260: uint16(1217), - 261: uint16(1217), - 262: uint16(1054), - 263: uint16(1057), - 264: uint16(1044), - 265: uint16(1044), - 266: uint16(124), - 267: uint16(124), - 268: uint16(125), - 269: uint16(125), - 270: uint16(125), - 271: uint16(125), - 272: uint16(1282), - 273: uint16(526), - 274: uint16(224), - 275: uint16(1193), - 276: uint16(572), - 277: uint16(411), - 278: uint16(226), - 279: uint16(519), - 280: uint16(177), - 281: uint16(83), - 282: uint16(84), - 283: uint16(123), - 284: uint16(123), - 285: uint16(123), - 286: uint16(123), - 287: uint16(122), - 288: uint16(122), - 289: uint16(121), - 290: uint16(121), - 291: uint16(121), - 292: uint16(120), - 293: uint16(117), - 294: uint16(448), - 295: uint16(1010), - 296: uint16(16), - 297: uint16(16), - 298: uint16(1193), - 299: uint16(134), - 300: uint16(134), - 301: uint16(126), - 302: uint16(127), - 303: uint16(81), - 304: uint16(1217), - 305: uint16(1217), - 306: uint16(1054), - 307: uint16(1057), - 308: uint16(1044), - 309: uint16(1044), - 310: uint16(124), - 311: uint16(124), - 312: uint16(125), - 313: uint16(125), - 314: uint16(125), - 315: uint16(125), - 316: uint16(123), - 317: uint16(123), - 318: uint16(123), - 319: uint16(123), - 320: uint16(122), - 321: uint16(122), - 322: uint16(121), - 323: uint16(121), - 324: uint16(121), - 325: uint16(120), - 326: uint16(117), - 327: uint16(448), - 328: uint16(1045), - 329: uint16(550), - 330: uint16(1193), - 331: uint16(375), - 332: uint16(1193), - 333: uint16(1194), - 334: uint16(1193), - 335: uint16(254), - 336: uint16(1438), - 337: uint16(401), - 338: uint16(508), - 339: uint16(505), - 340: uint16(504), - 341: uint16(112), - 342: uint16(564), - 343: uint16(570), +var _yy_action = [2142]uint16{ + 0: uint16(576), + 1: uint16(128), + 2: uint16(125), + 3: uint16(232), + 4: uint16(1622), + 5: uint16(549), + 6: uint16(576), + 7: uint16(1290), + 8: uint16(1281), + 9: uint16(576), + 10: uint16(328), + 11: uint16(576), + 12: uint16(1300), + 13: uint16(212), + 14: uint16(576), + 15: uint16(128), + 16: uint16(125), + 17: uint16(232), + 18: uint16(578), + 19: uint16(412), + 20: uint16(578), + 21: uint16(391), + 22: uint16(1542), + 23: uint16(51), + 24: uint16(51), + 25: uint16(523), + 26: uint16(405), + 27: uint16(1293), + 28: uint16(529), + 29: uint16(51), + 30: uint16(51), + 31: uint16(983), + 32: uint16(51), + 33: uint16(51), + 34: uint16(81), + 35: uint16(81), + 36: uint16(1107), + 37: uint16(61), + 38: uint16(61), + 39: uint16(984), + 40: uint16(1107), + 41: uint16(1292), + 42: uint16(380), + 43: uint16(135), + 44: uint16(136), + 45: uint16(90), + 46: uint16(1228), + 47: uint16(1228), + 48: uint16(1063), + 49: uint16(1066), + 50: uint16(1053), + 51: uint16(1053), + 52: uint16(133), + 53: uint16(133), + 54: uint16(134), + 55: uint16(134), + 56: uint16(134), + 57: uint16(134), + 58: uint16(1577), + 59: uint16(412), + 60: uint16(287), + 61: uint16(287), + 62: uint16(7), + 63: uint16(287), + 64: uint16(287), + 65: uint16(422), + 66: uint16(1050), + 67: uint16(1050), + 68: uint16(1064), + 69: uint16(1067), + 70: uint16(289), + 71: uint16(556), + 72: uint16(492), + 73: uint16(573), + 74: uint16(524), + 75: uint16(561), + 76: uint16(573), + 77: uint16(497), + 78: uint16(561), + 79: uint16(482), + 80: uint16(530), + 81: uint16(262), + 82: uint16(229), + 83: uint16(135), + 84: uint16(136), + 85: uint16(90), + 86: uint16(1228), + 87: uint16(1228), + 88: uint16(1063), + 89: uint16(1066), + 90: uint16(1053), + 91: uint16(1053), + 92: uint16(133), + 93: uint16(133), + 94: uint16(134), + 95: uint16(134), + 96: uint16(134), + 97: uint16(134), + 98: uint16(128), + 99: uint16(125), + 100: uint16(232), + 101: uint16(1506), + 102: uint16(132), + 103: uint16(132), + 104: uint16(132), + 105: uint16(132), + 106: uint16(131), + 107: uint16(131), + 108: uint16(130), + 109: uint16(130), + 110: uint16(130), + 111: uint16(129), + 112: uint16(126), + 113: uint16(450), + 114: uint16(1204), + 115: uint16(1255), + 116: uint16(1), + 117: uint16(1), + 118: uint16(582), + 119: uint16(2), + 120: uint16(1259), + 121: uint16(1571), + 122: uint16(420), + 123: uint16(1582), + 124: uint16(379), + 125: uint16(320), + 126: uint16(1174), + 127: uint16(153), + 128: uint16(1174), + 129: uint16(1584), + 130: uint16(412), + 131: uint16(378), + 132: uint16(1582), + 133: uint16(543), + 134: uint16(1341), + 135: uint16(330), + 136: uint16(111), + 137: uint16(570), + 138: uint16(570), + 139: uint16(570), + 140: uint16(293), + 141: uint16(1054), + 142: uint16(132), + 143: uint16(132), + 144: uint16(132), + 145: uint16(132), + 146: uint16(131), + 147: uint16(131), + 148: uint16(130), + 149: uint16(130), + 150: uint16(130), + 151: uint16(129), + 152: uint16(126), + 153: uint16(450), + 154: uint16(135), + 155: uint16(136), + 156: uint16(90), + 157: uint16(1228), + 158: uint16(1228), + 159: uint16(1063), + 160: uint16(1066), + 161: uint16(1053), + 162: uint16(1053), + 163: uint16(133), + 164: uint16(133), + 165: uint16(134), + 166: uint16(134), + 167: uint16(134), + 168: uint16(134), + 169: uint16(287), + 170: uint16(287), + 171: uint16(1204), + 172: uint16(1205), + 173: uint16(1204), + 174: uint16(255), + 175: uint16(287), + 176: uint16(287), + 177: uint16(510), + 178: uint16(507), + 179: uint16(506), + 180: uint16(137), + 181: uint16(455), + 182: uint16(573), + 183: uint16(212), + 184: uint16(561), + 185: uint16(447), + 186: uint16(446), + 187: uint16(505), + 188: uint16(573), + 189: uint16(1616), + 190: uint16(561), + 191: uint16(134), + 192: uint16(134), + 193: uint16(134), + 194: uint16(134), + 195: uint16(127), + 196: uint16(400), + 197: uint16(243), + 198: uint16(132), + 199: uint16(132), + 200: uint16(132), + 201: uint16(132), + 202: uint16(131), + 203: uint16(131), + 204: uint16(130), + 205: uint16(130), + 206: uint16(130), + 207: uint16(129), + 208: uint16(126), + 209: uint16(450), + 210: uint16(282), + 211: uint16(471), + 212: uint16(345), + 213: uint16(132), + 214: uint16(132), + 215: uint16(132), + 216: uint16(132), + 217: uint16(131), + 218: uint16(131), + 219: uint16(130), + 220: uint16(130), + 221: uint16(130), + 222: uint16(129), + 223: uint16(126), + 224: uint16(450), + 225: uint16(574), + 226: uint16(155), + 227: uint16(936), + 228: uint16(936), + 229: uint16(454), + 230: uint16(227), + 231: uint16(521), + 232: uint16(1236), + 233: uint16(412), + 234: uint16(1236), + 235: uint16(134), + 236: uint16(134), + 237: uint16(134), + 238: uint16(134), + 239: uint16(132), + 240: uint16(132), + 241: uint16(132), + 242: uint16(132), + 243: uint16(131), + 244: uint16(131), + 245: uint16(130), + 246: uint16(130), + 247: uint16(130), + 248: uint16(129), + 249: uint16(126), + 250: uint16(450), + 251: uint16(130), + 252: uint16(130), + 253: uint16(130), + 254: uint16(129), + 255: uint16(126), + 256: uint16(450), + 257: uint16(135), + 258: uint16(136), + 259: uint16(90), + 260: uint16(1228), + 261: uint16(1228), + 262: uint16(1063), + 263: uint16(1066), + 264: uint16(1053), + 265: uint16(1053), + 266: uint16(133), + 267: uint16(133), + 268: uint16(134), + 269: uint16(134), + 270: uint16(134), + 271: uint16(134), + 272: uint16(128), + 273: uint16(125), + 274: uint16(232), + 275: uint16(450), + 276: uint16(576), + 277: uint16(412), + 278: uint16(397), + 279: uint16(1249), + 280: uint16(180), + 281: uint16(92), + 282: uint16(93), + 283: uint16(132), + 284: uint16(132), + 285: uint16(132), + 286: uint16(132), + 287: uint16(131), + 288: uint16(131), + 289: uint16(130), + 290: uint16(130), + 291: uint16(130), + 292: uint16(129), + 293: uint16(126), + 294: uint16(450), + 295: uint16(381), + 296: uint16(387), + 297: uint16(1204), + 298: uint16(383), + 299: uint16(81), + 300: uint16(81), + 301: uint16(135), + 302: uint16(136), + 303: uint16(90), + 304: uint16(1228), + 305: uint16(1228), + 306: uint16(1063), + 307: uint16(1066), + 308: uint16(1053), + 309: uint16(1053), + 310: uint16(133), + 311: uint16(133), + 312: uint16(134), + 313: uint16(134), + 314: uint16(134), + 315: uint16(134), + 316: uint16(132), + 317: uint16(132), + 318: uint16(132), + 319: uint16(132), + 320: uint16(131), + 321: uint16(131), + 322: uint16(130), + 323: uint16(130), + 324: uint16(130), + 325: uint16(129), + 326: uint16(126), + 327: uint16(450), + 328: uint16(131), + 329: uint16(131), + 330: uint16(130), + 331: uint16(130), + 332: uint16(130), + 333: uint16(129), + 334: uint16(126), + 335: uint16(450), + 336: uint16(556), + 337: uint16(1204), + 338: uint16(302), + 339: uint16(319), + 340: uint16(567), + 341: uint16(121), + 342: uint16(568), + 343: uint16(480), 344: uint16(4), - 345: uint16(929), - 346: uint16(929), - 347: uint16(435), - 348: uint16(503), - 349: uint16(342), - 350: uint16(464), - 351: uint16(330), - 352: uint16(362), - 353: uint16(396), - 354: uint16(1238), - 355: uint16(1193), - 356: uint16(1194), - 357: uint16(1193), - 358: uint16(567), - 359: uint16(572), - 360: uint16(123), - 361: uint16(123), - 362: uint16(123), - 363: uint16(123), - 364: uint16(122), - 365: uint16(122), - 366: uint16(121), - 367: uint16(121), - 368: uint16(121), - 369: uint16(120), - 370: uint16(117), - 371: uint16(448), - 372: uint16(286), - 373: uint16(286), - 374: uint16(371), - 375: uint16(1581), - 376: uint16(1607), - 377: uint16(445), - 378: uint16(444), - 379: uint16(155), - 380: uint16(411), - 381: uint16(449), - 382: uint16(72), - 383: uint16(72), - 384: uint16(1289), - 385: uint16(569), - 386: uint16(1222), - 387: uint16(1193), - 388: uint16(1194), - 389: uint16(1193), - 390: uint16(86), - 391: uint16(1224), - 392: uint16(273), - 393: uint16(561), - 394: uint16(547), - 395: uint16(520), - 396: uint16(520), - 397: uint16(572), - 398: uint16(99), - 399: uint16(1223), - 400: uint16(6), - 401: uint16(1281), - 402: uint16(476), - 403: uint16(143), - 404: uint16(126), - 405: uint16(127), - 406: uint16(81), - 407: uint16(1217), - 408: uint16(1217), - 409: uint16(1054), - 410: uint16(1057), - 411: uint16(1044), - 412: uint16(1044), - 413: uint16(124), - 414: uint16(124), - 415: uint16(125), - 416: uint16(125), - 417: uint16(125), - 418: uint16(125), - 419: uint16(554), - 420: uint16(13), - 421: uint16(13), - 422: uint16(1031), - 423: uint16(511), - 424: uint16(1225), - 425: uint16(1193), - 426: uint16(1225), - 427: uint16(553), - 428: uint16(110), - 429: uint16(110), - 430: uint16(224), - 431: uint16(572), - 432: uint16(1239), - 433: uint16(177), - 434: uint16(572), - 435: uint16(429), - 436: uint16(111), - 437: uint16(199), - 438: uint16(449), - 439: uint16(573), - 440: uint16(449), - 441: uint16(432), - 442: uint16(1555), - 443: uint16(1019), - 444: uint16(327), - 445: uint16(555), - 446: uint16(1193), - 447: uint16(272), - 448: uint16(289), - 449: uint16(370), - 450: uint16(514), - 451: uint16(365), - 452: uint16(513), - 453: uint16(259), - 454: uint16(72), - 455: uint16(72), - 456: uint16(547), - 457: uint16(72), - 458: uint16(72), - 459: uint16(361), - 460: uint16(318), - 461: uint16(563), - 462: uint16(1613), - 463: uint16(123), - 464: uint16(123), - 465: uint16(123), - 466: uint16(123), - 467: uint16(122), - 468: uint16(122), - 469: uint16(121), - 470: uint16(121), - 471: uint16(121), - 472: uint16(120), - 473: uint16(117), - 474: uint16(448), - 475: uint16(1019), - 476: uint16(1019), - 477: uint16(1021), - 478: uint16(1022), - 479: uint16(28), - 480: uint16(286), - 481: uint16(286), - 482: uint16(1193), - 483: uint16(1194), - 484: uint16(1193), - 485: uint16(1159), - 486: uint16(572), - 487: uint16(1612), - 488: uint16(411), - 489: uint16(904), - 490: uint16(192), - 491: uint16(554), - 492: uint16(358), - 493: uint16(569), - 494: uint16(554), - 495: uint16(940), - 496: uint16(537), - 497: uint16(521), - 498: uint16(1159), - 499: uint16(437), - 500: uint16(415), - 501: uint16(1159), - 502: uint16(556), - 503: uint16(1193), - 504: uint16(1194), - 505: uint16(1193), - 506: uint16(572), - 507: uint16(548), - 508: uint16(548), - 509: uint16(52), - 510: uint16(52), - 511: uint16(216), - 512: uint16(126), - 513: uint16(127), - 514: uint16(81), - 515: uint16(1217), - 516: uint16(1217), - 517: uint16(1054), - 518: uint16(1057), - 519: uint16(1044), - 520: uint16(1044), - 521: uint16(124), - 522: uint16(124), - 523: uint16(125), - 524: uint16(125), - 525: uint16(125), - 526: uint16(125), - 527: uint16(1193), - 528: uint16(478), - 529: uint16(136), - 530: uint16(136), - 531: uint16(411), - 532: uint16(286), - 533: uint16(286), - 534: uint16(1493), - 535: uint16(509), - 536: uint16(122), - 537: uint16(122), - 538: uint16(121), - 539: uint16(121), - 540: uint16(121), - 541: uint16(120), - 542: uint16(117), - 543: uint16(448), - 544: uint16(1010), - 545: uint16(569), - 546: uint16(522), - 547: uint16(219), - 548: uint16(545), - 549: uint16(545), - 550: uint16(318), - 551: uint16(563), - 552: uint16(143), - 553: uint16(6), - 554: uint16(536), - 555: uint16(126), - 556: uint16(127), - 557: uint16(81), - 558: uint16(1217), - 559: uint16(1217), - 560: uint16(1054), - 561: uint16(1057), - 562: uint16(1044), - 563: uint16(1044), - 564: uint16(124), - 565: uint16(124), - 566: uint16(125), - 567: uint16(125), - 568: uint16(125), - 569: uint16(125), - 570: uint16(1557), - 571: uint16(123), - 572: uint16(123), - 573: uint16(123), - 574: uint16(123), - 575: uint16(122), - 576: uint16(122), - 577: uint16(121), - 578: uint16(121), - 579: uint16(121), - 580: uint16(120), - 581: uint16(117), - 582: uint16(448), - 583: uint16(489), - 584: uint16(1193), - 585: uint16(1194), - 586: uint16(1193), - 587: uint16(486), - 588: uint16(283), - 589: uint16(1270), - 590: uint16(960), - 591: uint16(254), - 592: uint16(1193), - 593: uint16(375), - 594: uint16(508), - 595: uint16(505), - 596: uint16(504), - 597: uint16(1193), - 598: uint16(342), - 599: uint16(574), - 600: uint16(1193), - 601: uint16(574), - 602: uint16(411), - 603: uint16(294), - 604: uint16(503), - 605: uint16(960), - 606: uint16(879), - 607: uint16(193), - 608: uint16(484), - 609: uint16(318), - 610: uint16(563), - 611: uint16(386), - 612: uint16(292), - 613: uint16(382), - 614: uint16(123), - 615: uint16(123), - 616: uint16(123), - 617: uint16(123), - 618: uint16(122), - 619: uint16(122), - 620: uint16(121), - 621: uint16(121), - 622: uint16(121), - 623: uint16(120), - 624: uint16(117), - 625: uint16(448), - 626: uint16(126), - 627: uint16(127), - 628: uint16(81), - 629: uint16(1217), - 630: uint16(1217), - 631: uint16(1054), - 632: uint16(1057), - 633: uint16(1044), - 634: uint16(1044), - 635: uint16(124), - 636: uint16(124), - 637: uint16(125), - 638: uint16(125), - 639: uint16(125), - 640: uint16(125), - 641: uint16(411), - 642: uint16(396), - 643: uint16(1139), - 644: uint16(1193), - 645: uint16(872), - 646: uint16(101), - 647: uint16(286), - 648: uint16(286), - 649: uint16(1193), - 650: uint16(1194), - 651: uint16(1193), - 652: uint16(375), - 653: uint16(1096), - 654: uint16(1193), - 655: uint16(1194), - 656: uint16(1193), - 657: uint16(1193), - 658: uint16(1194), - 659: uint16(1193), - 660: uint16(569), - 661: uint16(459), - 662: uint16(33), - 663: uint16(375), - 664: uint16(235), - 665: uint16(126), - 666: uint16(127), - 667: uint16(81), - 668: uint16(1217), - 669: uint16(1217), - 670: uint16(1054), - 671: uint16(1057), - 672: uint16(1044), - 673: uint16(1044), - 674: uint16(124), - 675: uint16(124), - 676: uint16(125), - 677: uint16(125), - 678: uint16(125), - 679: uint16(125), - 680: uint16(1437), - 681: uint16(962), - 682: uint16(572), - 683: uint16(230), - 684: uint16(961), - 685: uint16(123), - 686: uint16(123), - 687: uint16(123), - 688: uint16(123), - 689: uint16(122), - 690: uint16(122), - 691: uint16(121), - 692: uint16(121), - 693: uint16(121), - 694: uint16(120), - 695: uint16(117), - 696: uint16(448), - 697: uint16(1159), - 698: uint16(230), - 699: uint16(1193), - 700: uint16(158), - 701: uint16(1193), - 702: uint16(1194), - 703: uint16(1193), - 704: uint16(1556), - 705: uint16(13), - 706: uint16(13), - 707: uint16(303), - 708: uint16(960), - 709: uint16(1233), - 710: uint16(1159), - 711: uint16(154), - 712: uint16(411), - 713: uint16(1159), - 714: uint16(375), - 715: uint16(1584), - 716: uint16(1177), - 717: uint16(5), - 718: uint16(371), - 719: uint16(1581), - 720: uint16(431), - 721: uint16(1239), - 722: uint16(3), - 723: uint16(960), - 724: uint16(123), - 725: uint16(123), - 726: uint16(123), - 727: uint16(123), - 728: uint16(122), - 729: uint16(122), - 730: uint16(121), - 731: uint16(121), - 732: uint16(121), - 733: uint16(120), - 734: uint16(117), - 735: uint16(448), - 736: uint16(126), - 737: uint16(127), - 738: uint16(81), - 739: uint16(1217), - 740: uint16(1217), - 741: uint16(1054), - 742: uint16(1057), - 743: uint16(1044), - 744: uint16(1044), - 745: uint16(124), - 746: uint16(124), - 747: uint16(125), - 748: uint16(125), - 749: uint16(125), - 750: uint16(125), - 751: uint16(411), - 752: uint16(210), - 753: uint16(571), - 754: uint16(1193), - 755: uint16(1032), - 756: uint16(1193), - 757: uint16(1194), - 758: uint16(1193), - 759: uint16(1193), - 760: uint16(390), - 761: uint16(855), - 762: uint16(156), - 763: uint16(1555), - 764: uint16(376), - 765: uint16(404), - 766: uint16(1101), - 767: uint16(1101), - 768: uint16(492), - 769: uint16(572), - 770: uint16(469), - 771: uint16(344), - 772: uint16(1322), - 773: uint16(1322), - 774: uint16(1555), - 775: uint16(126), - 776: uint16(127), - 777: uint16(81), - 778: uint16(1217), - 779: uint16(1217), - 780: uint16(1054), - 781: uint16(1057), - 782: uint16(1044), - 783: uint16(1044), - 784: uint16(124), - 785: uint16(124), - 786: uint16(125), - 787: uint16(125), - 788: uint16(125), - 789: uint16(125), - 790: uint16(130), - 791: uint16(572), - 792: uint16(13), - 793: uint16(13), - 794: uint16(532), - 795: uint16(123), - 796: uint16(123), - 797: uint16(123), - 798: uint16(123), - 799: uint16(122), - 800: uint16(122), - 801: uint16(121), - 802: uint16(121), - 803: uint16(121), - 804: uint16(120), - 805: uint16(117), - 806: uint16(448), - 807: uint16(304), - 808: uint16(572), - 809: uint16(457), - 810: uint16(229), - 811: uint16(1193), - 812: uint16(1194), - 813: uint16(1193), - 814: uint16(13), - 815: uint16(13), - 816: uint16(1193), - 817: uint16(1194), - 818: uint16(1193), - 819: uint16(1300), - 820: uint16(467), - 821: uint16(1270), - 822: uint16(411), - 823: uint16(1320), - 824: uint16(1320), - 825: uint16(1555), - 826: uint16(1015), - 827: uint16(457), - 828: uint16(456), - 829: uint16(436), - 830: uint16(301), - 831: uint16(72), - 832: uint16(72), - 833: uint16(1268), - 834: uint16(123), - 835: uint16(123), - 836: uint16(123), - 837: uint16(123), - 838: uint16(122), - 839: uint16(122), - 840: uint16(121), - 841: uint16(121), - 842: uint16(121), - 843: uint16(120), - 844: uint16(117), - 845: uint16(448), - 846: uint16(126), - 847: uint16(127), - 848: uint16(81), - 849: uint16(1217), - 850: uint16(1217), - 851: uint16(1054), - 852: uint16(1057), - 853: uint16(1044), - 854: uint16(1044), - 855: uint16(124), - 856: uint16(124), - 857: uint16(125), - 858: uint16(125), - 859: uint16(125), - 860: uint16(125), - 861: uint16(411), - 862: uint16(384), - 863: uint16(1076), - 864: uint16(1159), - 865: uint16(286), - 866: uint16(286), - 867: uint16(421), - 868: uint16(314), - 869: uint16(280), - 870: uint16(280), - 871: uint16(287), - 872: uint16(287), - 873: uint16(461), - 874: uint16(408), - 875: uint16(407), - 876: uint16(1539), - 877: uint16(1159), - 878: uint16(569), - 879: uint16(572), - 880: uint16(1159), - 881: uint16(1196), - 882: uint16(569), - 883: uint16(409), - 884: uint16(569), - 885: uint16(126), - 886: uint16(127), - 887: uint16(81), - 888: uint16(1217), - 889: uint16(1217), - 890: uint16(1054), - 891: uint16(1057), - 892: uint16(1044), - 893: uint16(1044), - 894: uint16(124), - 895: uint16(124), - 896: uint16(125), - 897: uint16(125), - 898: uint16(125), - 899: uint16(125), - 900: uint16(457), - 901: uint16(1485), - 902: uint16(13), - 903: uint16(13), - 904: uint16(1541), - 905: uint16(123), - 906: uint16(123), - 907: uint16(123), - 908: uint16(123), - 909: uint16(122), - 910: uint16(122), - 911: uint16(121), - 912: uint16(121), - 913: uint16(121), - 914: uint16(120), - 915: uint16(117), - 916: uint16(448), - 917: uint16(202), - 918: uint16(572), - 919: uint16(462), - 920: uint16(1587), - 921: uint16(578), - 922: uint16(2), - 923: uint16(1248), - 924: uint16(843), - 925: uint16(844), - 926: uint16(845), - 927: uint16(1563), - 928: uint16(319), - 929: uint16(409), - 930: uint16(147), - 931: uint16(6), - 932: uint16(411), - 933: uint16(257), - 934: uint16(256), - 935: uint16(255), - 936: uint16(208), - 937: uint16(1330), - 938: uint16(9), - 939: uint16(1196), - 940: uint16(264), - 941: uint16(72), - 942: uint16(72), - 943: uint16(1436), - 944: uint16(123), - 945: uint16(123), - 946: uint16(123), - 947: uint16(123), - 948: uint16(122), - 949: uint16(122), - 950: uint16(121), - 951: uint16(121), - 952: uint16(121), - 953: uint16(120), - 954: uint16(117), - 955: uint16(448), - 956: uint16(126), - 957: uint16(127), - 958: uint16(81), - 959: uint16(1217), - 960: uint16(1217), - 961: uint16(1054), - 962: uint16(1057), - 963: uint16(1044), - 964: uint16(1044), - 965: uint16(124), - 966: uint16(124), - 967: uint16(125), - 968: uint16(125), - 969: uint16(125), - 970: uint16(125), - 971: uint16(572), - 972: uint16(286), - 973: uint16(286), - 974: uint16(572), - 975: uint16(1213), - 976: uint16(411), - 977: uint16(577), - 978: uint16(315), - 979: uint16(1248), - 980: uint16(421), - 981: uint16(371), - 982: uint16(1581), - 983: uint16(356), - 984: uint16(319), - 985: uint16(569), - 986: uint16(147), - 987: uint16(495), - 988: uint16(529), - 989: uint16(1644), - 990: uint16(397), - 991: uint16(935), - 992: uint16(495), - 993: uint16(1330), - 994: uint16(71), - 995: uint16(71), - 996: uint16(934), - 997: uint16(72), - 998: uint16(72), - 999: uint16(242), - 1000: uint16(1328), - 1001: uint16(105), - 1002: uint16(81), - 1003: uint16(1217), - 1004: uint16(1217), - 1005: uint16(1054), - 1006: uint16(1057), - 1007: uint16(1044), - 1008: uint16(1044), - 1009: uint16(124), - 1010: uint16(124), - 1011: uint16(125), - 1012: uint16(125), - 1013: uint16(125), - 1014: uint16(125), - 1015: uint16(123), - 1016: uint16(123), - 1017: uint16(123), - 1018: uint16(123), - 1019: uint16(122), - 1020: uint16(122), - 1021: uint16(121), - 1022: uint16(121), - 1023: uint16(121), - 1024: uint16(120), - 1025: uint16(117), - 1026: uint16(448), - 1027: uint16(1117), - 1028: uint16(286), - 1029: uint16(286), - 1030: uint16(1422), - 1031: uint16(452), - 1032: uint16(1528), - 1033: uint16(1213), - 1034: uint16(443), - 1035: uint16(286), - 1036: uint16(286), - 1037: uint16(1492), - 1038: uint16(1355), - 1039: uint16(313), - 1040: uint16(478), - 1041: uint16(569), - 1042: uint16(1118), - 1043: uint16(454), - 1044: uint16(351), - 1045: uint16(495), - 1046: uint16(354), - 1047: uint16(1266), - 1048: uint16(569), - 1049: uint16(209), - 1050: uint16(572), - 1051: uint16(418), - 1052: uint16(179), - 1053: uint16(572), - 1054: uint16(1031), - 1055: uint16(242), - 1056: uint16(385), - 1057: uint16(1119), - 1058: uint16(523), - 1059: uint16(123), - 1060: uint16(123), - 1061: uint16(123), - 1062: uint16(123), - 1063: uint16(122), - 1064: uint16(122), - 1065: uint16(121), - 1066: uint16(121), - 1067: uint16(121), - 1068: uint16(120), - 1069: uint16(117), - 1070: uint16(448), - 1071: uint16(1020), - 1072: uint16(108), - 1073: uint16(72), - 1074: uint16(72), - 1075: uint16(1019), - 1076: uint16(13), - 1077: uint16(13), - 1078: uint16(915), - 1079: uint16(572), - 1080: uint16(1498), - 1081: uint16(572), - 1082: uint16(286), - 1083: uint16(286), - 1084: uint16(98), - 1085: uint16(530), - 1086: uint16(1537), - 1087: uint16(452), - 1088: uint16(916), - 1089: uint16(1334), - 1090: uint16(1329), - 1091: uint16(203), - 1092: uint16(411), - 1093: uint16(286), - 1094: uint16(286), - 1095: uint16(569), - 1096: uint16(152), - 1097: uint16(211), - 1098: uint16(1498), - 1099: uint16(1500), - 1100: uint16(426), - 1101: uint16(569), - 1102: uint16(56), - 1103: uint16(56), - 1104: uint16(57), - 1105: uint16(57), - 1106: uint16(569), - 1107: uint16(1019), - 1108: uint16(1019), - 1109: uint16(1021), - 1110: uint16(447), - 1111: uint16(572), - 1112: uint16(411), - 1113: uint16(531), - 1114: uint16(12), - 1115: uint16(297), - 1116: uint16(126), - 1117: uint16(127), - 1118: uint16(81), - 1119: uint16(1217), - 1120: uint16(1217), - 1121: uint16(1054), - 1122: uint16(1057), - 1123: uint16(1044), - 1124: uint16(1044), - 1125: uint16(124), - 1126: uint16(124), - 1127: uint16(125), - 1128: uint16(125), - 1129: uint16(125), - 1130: uint16(125), - 1131: uint16(572), - 1132: uint16(411), - 1133: uint16(867), - 1134: uint16(15), - 1135: uint16(15), - 1136: uint16(126), - 1137: uint16(127), - 1138: uint16(81), - 1139: uint16(1217), - 1140: uint16(1217), - 1141: uint16(1054), - 1142: uint16(1057), - 1143: uint16(1044), - 1144: uint16(1044), - 1145: uint16(124), - 1146: uint16(124), - 1147: uint16(125), - 1148: uint16(125), - 1149: uint16(125), - 1150: uint16(125), - 1151: uint16(373), - 1152: uint16(529), - 1153: uint16(264), - 1154: uint16(44), - 1155: uint16(44), - 1156: uint16(126), - 1157: uint16(115), - 1158: uint16(81), - 1159: uint16(1217), - 1160: uint16(1217), - 1161: uint16(1054), - 1162: uint16(1057), - 1163: uint16(1044), - 1164: uint16(1044), - 1165: uint16(124), - 1166: uint16(124), - 1167: uint16(125), - 1168: uint16(125), - 1169: uint16(125), - 1170: uint16(125), - 1171: uint16(1498), - 1172: uint16(478), - 1173: uint16(1271), - 1174: uint16(417), - 1175: uint16(123), - 1176: uint16(123), - 1177: uint16(123), - 1178: uint16(123), - 1179: uint16(122), - 1180: uint16(122), - 1181: uint16(121), - 1182: uint16(121), - 1183: uint16(121), - 1184: uint16(120), - 1185: uint16(117), - 1186: uint16(448), - 1187: uint16(205), - 1188: uint16(1213), - 1189: uint16(495), - 1190: uint16(430), - 1191: uint16(867), - 1192: uint16(468), - 1193: uint16(322), - 1194: uint16(495), - 1195: uint16(123), - 1196: uint16(123), - 1197: uint16(123), - 1198: uint16(123), - 1199: uint16(122), - 1200: uint16(122), - 1201: uint16(121), - 1202: uint16(121), - 1203: uint16(121), - 1204: uint16(120), - 1205: uint16(117), - 1206: uint16(448), - 1207: uint16(572), - 1208: uint16(557), - 1209: uint16(1140), - 1210: uint16(1642), - 1211: uint16(1422), - 1212: uint16(1642), - 1213: uint16(543), - 1214: uint16(572), - 1215: uint16(123), - 1216: uint16(123), - 1217: uint16(123), - 1218: uint16(123), - 1219: uint16(122), - 1220: uint16(122), - 1221: uint16(121), - 1222: uint16(121), - 1223: uint16(121), - 1224: uint16(120), - 1225: uint16(117), - 1226: uint16(448), - 1227: uint16(572), - 1228: uint16(1422), - 1229: uint16(572), - 1230: uint16(13), - 1231: uint16(13), - 1232: uint16(542), - 1233: uint16(323), - 1234: uint16(1325), - 1235: uint16(411), - 1236: uint16(334), - 1237: uint16(58), - 1238: uint16(58), - 1239: uint16(349), - 1240: uint16(1422), - 1241: uint16(1170), - 1242: uint16(326), - 1243: uint16(286), - 1244: uint16(286), - 1245: uint16(549), - 1246: uint16(1213), - 1247: uint16(300), - 1248: uint16(895), - 1249: uint16(530), - 1250: uint16(45), - 1251: uint16(45), - 1252: uint16(59), - 1253: uint16(59), - 1254: uint16(1140), - 1255: uint16(1643), - 1256: uint16(569), - 1257: uint16(1643), - 1258: uint16(565), - 1259: uint16(417), - 1260: uint16(127), - 1261: uint16(81), - 1262: uint16(1217), - 1263: uint16(1217), - 1264: uint16(1054), - 1265: uint16(1057), - 1266: uint16(1044), - 1267: uint16(1044), - 1268: uint16(124), - 1269: uint16(124), - 1270: uint16(125), - 1271: uint16(125), - 1272: uint16(125), - 1273: uint16(125), - 1274: uint16(1367), - 1275: uint16(373), - 1276: uint16(500), - 1277: uint16(290), - 1278: uint16(1193), - 1279: uint16(512), - 1280: uint16(1366), - 1281: uint16(427), - 1282: uint16(394), - 1283: uint16(394), - 1284: uint16(393), - 1285: uint16(275), - 1286: uint16(391), - 1287: uint16(896), - 1288: uint16(1138), - 1289: uint16(852), - 1290: uint16(478), - 1291: uint16(258), - 1292: uint16(1422), - 1293: uint16(1170), - 1294: uint16(463), - 1295: uint16(1159), - 1296: uint16(12), - 1297: uint16(331), - 1298: uint16(428), - 1299: uint16(333), - 1300: uint16(1117), - 1301: uint16(460), - 1302: uint16(236), - 1303: uint16(258), - 1304: uint16(325), - 1305: uint16(460), - 1306: uint16(544), - 1307: uint16(1544), - 1308: uint16(1159), - 1309: uint16(1098), - 1310: uint16(491), - 1311: uint16(1159), - 1312: uint16(324), - 1313: uint16(1098), - 1314: uint16(440), - 1315: uint16(1118), - 1316: uint16(335), - 1317: uint16(516), - 1318: uint16(123), - 1319: uint16(123), - 1320: uint16(123), - 1321: uint16(123), - 1322: uint16(122), - 1323: uint16(122), - 1324: uint16(121), - 1325: uint16(121), - 1326: uint16(121), - 1327: uint16(120), - 1328: uint16(117), - 1329: uint16(448), - 1330: uint16(1119), - 1331: uint16(318), - 1332: uint16(563), - 1333: uint16(1138), - 1334: uint16(572), - 1335: uint16(1193), - 1336: uint16(1194), - 1337: uint16(1193), - 1338: uint16(112), - 1339: uint16(564), - 1340: uint16(201), + 345: uint16(555), + 346: uint16(1149), + 347: uint16(1657), + 348: uint16(1628), + 349: uint16(1657), + 350: uint16(45), + 351: uint16(128), + 352: uint16(125), + 353: uint16(232), + 354: uint16(1204), + 355: uint16(1205), + 356: uint16(1204), + 357: uint16(1250), + 358: uint16(571), + 359: uint16(1169), + 360: uint16(132), + 361: uint16(132), + 362: uint16(132), + 363: uint16(132), + 364: uint16(131), + 365: uint16(131), + 366: uint16(130), + 367: uint16(130), + 368: uint16(130), + 369: uint16(129), + 370: uint16(126), + 371: uint16(450), + 372: uint16(1169), + 373: uint16(287), + 374: uint16(287), + 375: uint16(1169), + 376: uint16(1019), + 377: uint16(576), + 378: uint16(422), + 379: uint16(1019), + 380: uint16(412), + 381: uint16(451), + 382: uint16(1602), + 383: uint16(582), + 384: uint16(2), + 385: uint16(1259), + 386: uint16(573), + 387: uint16(44), + 388: uint16(561), + 389: uint16(95), + 390: uint16(320), + 391: uint16(110), + 392: uint16(153), + 393: uint16(565), + 394: uint16(1204), + 395: uint16(1205), + 396: uint16(1204), + 397: uint16(522), + 398: uint16(522), + 399: uint16(1341), + 400: uint16(81), + 401: uint16(81), + 402: uint16(7), + 403: uint16(44), + 404: uint16(135), + 405: uint16(136), + 406: uint16(90), + 407: uint16(1228), + 408: uint16(1228), + 409: uint16(1063), + 410: uint16(1066), + 411: uint16(1053), + 412: uint16(1053), + 413: uint16(133), + 414: uint16(133), + 415: uint16(134), + 416: uint16(134), + 417: uint16(134), + 418: uint16(134), + 419: uint16(295), + 420: uint16(1149), + 421: uint16(1658), + 422: uint16(1040), + 423: uint16(1658), + 424: uint16(1204), + 425: uint16(1147), + 426: uint16(319), + 427: uint16(567), + 428: uint16(119), + 429: uint16(119), + 430: uint16(343), + 431: uint16(466), + 432: uint16(331), + 433: uint16(343), + 434: uint16(287), + 435: uint16(287), + 436: uint16(120), + 437: uint16(556), + 438: uint16(451), + 439: uint16(577), + 440: uint16(451), + 441: uint16(1169), + 442: uint16(1169), + 443: uint16(1028), + 444: uint16(319), + 445: uint16(567), + 446: uint16(438), + 447: uint16(573), + 448: uint16(210), + 449: uint16(561), + 450: uint16(1339), + 451: uint16(1451), + 452: uint16(546), + 453: uint16(531), + 454: uint16(1169), + 455: uint16(1169), + 456: uint16(1598), + 457: uint16(1169), + 458: uint16(1169), + 459: uint16(416), + 460: uint16(319), + 461: uint16(567), + 462: uint16(243), + 463: uint16(132), + 464: uint16(132), + 465: uint16(132), + 466: uint16(132), + 467: uint16(131), + 468: uint16(131), + 469: uint16(130), + 470: uint16(130), + 471: uint16(130), + 472: uint16(129), + 473: uint16(126), + 474: uint16(450), + 475: uint16(1028), + 476: uint16(1028), + 477: uint16(1030), + 478: uint16(1031), + 479: uint16(35), + 480: uint16(44), + 481: uint16(1204), + 482: uint16(1205), + 483: uint16(1204), + 484: uint16(472), + 485: uint16(287), + 486: uint16(287), + 487: uint16(1328), + 488: uint16(412), + 489: uint16(1307), + 490: uint16(372), + 491: uint16(1595), + 492: uint16(359), + 493: uint16(225), + 494: uint16(454), + 495: uint16(1204), + 496: uint16(195), + 497: uint16(1328), + 498: uint16(573), + 499: uint16(1147), + 500: uint16(561), + 501: uint16(1333), + 502: uint16(1333), + 503: uint16(274), + 504: uint16(576), + 505: uint16(1188), + 506: uint16(576), + 507: uint16(340), + 508: uint16(46), + 509: uint16(196), + 510: uint16(537), + 511: uint16(217), + 512: uint16(135), + 513: uint16(136), + 514: uint16(90), + 515: uint16(1228), + 516: uint16(1228), + 517: uint16(1063), + 518: uint16(1066), + 519: uint16(1053), + 520: uint16(1053), + 521: uint16(133), + 522: uint16(133), + 523: uint16(134), + 524: uint16(134), + 525: uint16(134), + 526: uint16(134), + 527: uint16(19), + 528: uint16(19), + 529: uint16(19), + 530: uint16(19), + 531: uint16(412), + 532: uint16(581), + 533: uint16(1204), + 534: uint16(1259), + 535: uint16(511), + 536: uint16(1204), + 537: uint16(319), + 538: uint16(567), + 539: uint16(320), + 540: uint16(944), + 541: uint16(153), + 542: uint16(425), + 543: uint16(491), + 544: uint16(430), + 545: uint16(943), + 546: uint16(1204), + 547: uint16(488), + 548: uint16(1341), + 549: uint16(1450), + 550: uint16(532), + 551: uint16(1277), + 552: uint16(1204), + 553: uint16(1205), + 554: uint16(1204), + 555: uint16(135), + 556: uint16(136), + 557: uint16(90), + 558: uint16(1228), + 559: uint16(1228), + 560: uint16(1063), + 561: uint16(1066), + 562: uint16(1053), + 563: uint16(1053), + 564: uint16(133), + 565: uint16(133), + 566: uint16(134), + 567: uint16(134), + 568: uint16(134), + 569: uint16(134), + 570: uint16(575), + 571: uint16(132), + 572: uint16(132), + 573: uint16(132), + 574: uint16(132), + 575: uint16(131), + 576: uint16(131), + 577: uint16(130), + 578: uint16(130), + 579: uint16(130), + 580: uint16(129), + 581: uint16(126), + 582: uint16(450), + 583: uint16(287), + 584: uint16(287), + 585: uint16(528), + 586: uint16(287), + 587: uint16(287), + 588: uint16(372), + 589: uint16(1595), + 590: uint16(1204), + 591: uint16(1205), + 592: uint16(1204), + 593: uint16(1204), + 594: uint16(1205), + 595: uint16(1204), + 596: uint16(573), + 597: uint16(486), + 598: uint16(561), + 599: uint16(573), + 600: uint16(889), + 601: uint16(561), + 602: uint16(412), + 603: uint16(1204), + 604: uint16(1205), + 605: uint16(1204), + 606: uint16(886), + 607: uint16(40), + 608: uint16(22), + 609: uint16(22), + 610: uint16(220), + 611: uint16(243), + 612: uint16(525), + 613: uint16(1449), + 614: uint16(132), + 615: uint16(132), + 616: uint16(132), + 617: uint16(132), + 618: uint16(131), + 619: uint16(131), + 620: uint16(130), + 621: uint16(130), + 622: uint16(130), + 623: uint16(129), + 624: uint16(126), + 625: uint16(450), + 626: uint16(135), + 627: uint16(136), + 628: uint16(90), + 629: uint16(1228), + 630: uint16(1228), + 631: uint16(1063), + 632: uint16(1066), + 633: uint16(1053), + 634: uint16(1053), + 635: uint16(133), + 636: uint16(133), + 637: uint16(134), + 638: uint16(134), + 639: uint16(134), + 640: uint16(134), + 641: uint16(412), + 642: uint16(180), + 643: uint16(454), + 644: uint16(1204), + 645: uint16(879), + 646: uint16(255), + 647: uint16(287), + 648: uint16(287), + 649: uint16(510), + 650: uint16(507), + 651: uint16(506), + 652: uint16(372), + 653: uint16(1595), + 654: uint16(1568), + 655: uint16(1331), + 656: uint16(1331), + 657: uint16(576), + 658: uint16(889), + 659: uint16(505), + 660: uint16(573), + 661: uint16(44), + 662: uint16(561), + 663: uint16(559), + 664: uint16(1207), + 665: uint16(135), + 666: uint16(136), + 667: uint16(90), + 668: uint16(1228), + 669: uint16(1228), + 670: uint16(1063), + 671: uint16(1066), + 672: uint16(1053), + 673: uint16(1053), + 674: uint16(133), + 675: uint16(133), + 676: uint16(134), + 677: uint16(134), + 678: uint16(134), + 679: uint16(134), + 680: uint16(81), + 681: uint16(81), + 682: uint16(422), + 683: uint16(576), + 684: uint16(377), + 685: uint16(132), + 686: uint16(132), + 687: uint16(132), + 688: uint16(132), + 689: uint16(131), + 690: uint16(131), + 691: uint16(130), + 692: uint16(130), + 693: uint16(130), + 694: uint16(129), + 695: uint16(126), + 696: uint16(450), + 697: uint16(297), + 698: uint16(287), + 699: uint16(287), + 700: uint16(460), + 701: uint16(1204), + 702: uint16(1205), + 703: uint16(1204), + 704: uint16(1204), + 705: uint16(534), + 706: uint16(19), + 707: uint16(19), + 708: uint16(448), + 709: uint16(448), + 710: uint16(448), + 711: uint16(573), + 712: uint16(412), + 713: uint16(561), + 714: uint16(230), + 715: uint16(436), + 716: uint16(1187), + 717: uint16(535), + 718: uint16(319), + 719: uint16(567), + 720: uint16(363), + 721: uint16(432), + 722: uint16(1207), + 723: uint16(1435), + 724: uint16(132), + 725: uint16(132), + 726: uint16(132), + 727: uint16(132), + 728: uint16(131), + 729: uint16(131), + 730: uint16(130), + 731: uint16(130), + 732: uint16(130), + 733: uint16(129), + 734: uint16(126), + 735: uint16(450), + 736: uint16(135), + 737: uint16(136), + 738: uint16(90), + 739: uint16(1228), + 740: uint16(1228), + 741: uint16(1063), + 742: uint16(1066), + 743: uint16(1053), + 744: uint16(1053), + 745: uint16(133), + 746: uint16(133), + 747: uint16(134), + 748: uint16(134), + 749: uint16(134), + 750: uint16(134), + 751: uint16(412), + 752: uint16(211), + 753: uint16(949), + 754: uint16(1169), + 755: uint16(1041), + 756: uint16(1110), + 757: uint16(1110), + 758: uint16(494), + 759: uint16(547), + 760: uint16(547), + 761: uint16(1204), + 762: uint16(1205), + 763: uint16(1204), + 764: uint16(7), + 765: uint16(539), + 766: uint16(1570), + 767: uint16(1169), + 768: uint16(376), + 769: uint16(576), + 770: uint16(1169), + 771: uint16(5), + 772: uint16(1204), + 773: uint16(486), + 774: uint16(3), + 775: uint16(135), + 776: uint16(136), + 777: uint16(90), + 778: uint16(1228), + 779: uint16(1228), + 780: uint16(1063), + 781: uint16(1066), + 782: uint16(1053), + 783: uint16(1053), + 784: uint16(133), + 785: uint16(133), + 786: uint16(134), + 787: uint16(134), + 788: uint16(134), + 789: uint16(134), + 790: uint16(576), + 791: uint16(513), + 792: uint16(19), + 793: uint16(19), + 794: uint16(427), + 795: uint16(132), + 796: uint16(132), + 797: uint16(132), + 798: uint16(132), + 799: uint16(131), + 800: uint16(131), + 801: uint16(130), + 802: uint16(130), + 803: uint16(130), + 804: uint16(129), + 805: uint16(126), + 806: uint16(450), + 807: uint16(305), + 808: uint16(1204), + 809: uint16(433), + 810: uint16(225), + 811: uint16(1204), + 812: uint16(385), + 813: uint16(19), + 814: uint16(19), + 815: uint16(273), + 816: uint16(290), + 817: uint16(371), + 818: uint16(516), + 819: uint16(366), + 820: uint16(515), + 821: uint16(260), + 822: uint16(412), + 823: uint16(538), + 824: uint16(1568), + 825: uint16(549), + 826: uint16(1024), + 827: uint16(362), + 828: uint16(437), + 829: uint16(1204), + 830: uint16(1205), + 831: uint16(1204), + 832: uint16(902), + 833: uint16(1552), + 834: uint16(132), + 835: uint16(132), + 836: uint16(132), + 837: uint16(132), + 838: uint16(131), + 839: uint16(131), + 840: uint16(130), + 841: uint16(130), + 842: uint16(130), + 843: uint16(129), + 844: uint16(126), + 845: uint16(450), + 846: uint16(135), + 847: uint16(136), + 848: uint16(90), + 849: uint16(1228), + 850: uint16(1228), + 851: uint16(1063), + 852: uint16(1066), + 853: uint16(1053), + 854: uint16(1053), + 855: uint16(133), + 856: uint16(133), + 857: uint16(134), + 858: uint16(134), + 859: uint16(134), + 860: uint16(134), + 861: uint16(412), + 862: uint16(1435), + 863: uint16(514), + 864: uint16(1281), + 865: uint16(1204), + 866: uint16(1205), + 867: uint16(1204), + 868: uint16(1204), + 869: uint16(1205), + 870: uint16(1204), + 871: uint16(903), + 872: uint16(48), + 873: uint16(342), + 874: uint16(1568), + 875: uint16(1568), + 876: uint16(1279), + 877: uint16(1627), + 878: uint16(1568), + 879: uint16(911), + 880: uint16(576), + 881: uint16(129), + 882: uint16(126), + 883: uint16(450), + 884: uint16(110), + 885: uint16(135), + 886: uint16(136), + 887: uint16(90), + 888: uint16(1228), + 889: uint16(1228), + 890: uint16(1063), + 891: uint16(1066), + 892: uint16(1053), + 893: uint16(1053), + 894: uint16(133), + 895: uint16(133), + 896: uint16(134), + 897: uint16(134), + 898: uint16(134), + 899: uint16(134), + 900: uint16(265), + 901: uint16(576), + 902: uint16(459), + 903: uint16(19), + 904: uint16(19), + 905: uint16(132), + 906: uint16(132), + 907: uint16(132), + 908: uint16(132), + 909: uint16(131), + 910: uint16(131), + 911: uint16(130), + 912: uint16(130), + 913: uint16(130), + 914: uint16(129), + 915: uint16(126), + 916: uint16(450), + 917: uint16(1345), + 918: uint16(204), + 919: uint16(576), + 920: uint16(459), + 921: uint16(458), + 922: uint16(50), + 923: uint16(47), + 924: uint16(19), + 925: uint16(19), + 926: uint16(49), + 927: uint16(434), + 928: uint16(1105), + 929: uint16(573), + 930: uint16(497), + 931: uint16(561), + 932: uint16(412), + 933: uint16(428), + 934: uint16(108), + 935: uint16(1224), + 936: uint16(1569), + 937: uint16(1554), + 938: uint16(376), + 939: uint16(205), + 940: uint16(550), + 941: uint16(550), + 942: uint16(81), + 943: uint16(81), + 944: uint16(132), + 945: uint16(132), + 946: uint16(132), + 947: uint16(132), + 948: uint16(131), + 949: uint16(131), + 950: uint16(130), + 951: uint16(130), + 952: uint16(130), + 953: uint16(129), + 954: uint16(126), + 955: uint16(450), + 956: uint16(135), + 957: uint16(136), + 958: uint16(90), + 959: uint16(1228), + 960: uint16(1228), + 961: uint16(1063), + 962: uint16(1066), + 963: uint16(1053), + 964: uint16(1053), + 965: uint16(133), + 966: uint16(133), + 967: uint16(134), + 968: uint16(134), + 969: uint16(134), + 970: uint16(134), + 971: uint16(480), + 972: uint16(576), + 973: uint16(1204), + 974: uint16(576), + 975: uint16(1541), + 976: uint16(412), + 977: uint16(1435), + 978: uint16(969), + 979: uint16(315), + 980: uint16(1659), + 981: uint16(398), + 982: uint16(284), + 983: uint16(497), + 984: uint16(969), + 985: uint16(893), + 986: uint16(1569), + 987: uint16(1569), + 988: uint16(376), + 989: uint16(376), + 990: uint16(1569), + 991: uint16(461), + 992: uint16(376), + 993: uint16(1224), + 994: uint16(459), + 995: uint16(80), + 996: uint16(80), + 997: uint16(81), + 998: uint16(81), + 999: uint16(497), + 1000: uint16(374), + 1001: uint16(114), + 1002: uint16(90), + 1003: uint16(1228), + 1004: uint16(1228), + 1005: uint16(1063), + 1006: uint16(1066), + 1007: uint16(1053), + 1008: uint16(1053), + 1009: uint16(133), + 1010: uint16(133), + 1011: uint16(134), + 1012: uint16(134), + 1013: uint16(134), + 1014: uint16(134), + 1015: uint16(132), + 1016: uint16(132), + 1017: uint16(132), + 1018: uint16(132), + 1019: uint16(131), + 1020: uint16(131), + 1021: uint16(130), + 1022: uint16(130), + 1023: uint16(130), + 1024: uint16(129), + 1025: uint16(126), + 1026: uint16(450), + 1027: uint16(1204), + 1028: uint16(1505), + 1029: uint16(576), + 1030: uint16(1204), + 1031: uint16(1205), + 1032: uint16(1204), + 1033: uint16(1366), + 1034: uint16(316), + 1035: uint16(486), + 1036: uint16(281), + 1037: uint16(281), + 1038: uint16(497), + 1039: uint16(431), + 1040: uint16(557), + 1041: uint16(288), + 1042: uint16(288), + 1043: uint16(402), + 1044: uint16(1340), + 1045: uint16(471), + 1046: uint16(345), + 1047: uint16(298), + 1048: uint16(429), + 1049: uint16(573), + 1050: uint16(576), + 1051: uint16(561), + 1052: uint16(81), + 1053: uint16(81), + 1054: uint16(573), + 1055: uint16(374), + 1056: uint16(561), + 1057: uint16(971), + 1058: uint16(386), + 1059: uint16(132), + 1060: uint16(132), + 1061: uint16(132), + 1062: uint16(132), + 1063: uint16(131), + 1064: uint16(131), + 1065: uint16(130), + 1066: uint16(130), + 1067: uint16(130), + 1068: uint16(129), + 1069: uint16(126), + 1070: uint16(450), + 1071: uint16(231), + 1072: uint16(117), + 1073: uint16(81), + 1074: uint16(81), + 1075: uint16(287), + 1076: uint16(287), + 1077: uint16(231), + 1078: uint16(287), + 1079: uint16(287), + 1080: uint16(576), + 1081: uint16(1511), + 1082: uint16(576), + 1083: uint16(1336), + 1084: uint16(1204), + 1085: uint16(1205), + 1086: uint16(1204), + 1087: uint16(139), + 1088: uint16(573), + 1089: uint16(556), + 1090: uint16(561), + 1091: uint16(573), + 1092: uint16(412), + 1093: uint16(561), + 1094: uint16(441), + 1095: uint16(456), + 1096: uint16(969), + 1097: uint16(213), + 1098: uint16(558), + 1099: uint16(1511), + 1100: uint16(1513), + 1101: uint16(1550), + 1102: uint16(969), + 1103: uint16(143), + 1104: uint16(143), + 1105: uint16(145), + 1106: uint16(145), + 1107: uint16(1368), + 1108: uint16(314), + 1109: uint16(478), + 1110: uint16(444), + 1111: uint16(970), + 1112: uint16(412), + 1113: uint16(850), + 1114: uint16(851), + 1115: uint16(852), + 1116: uint16(135), + 1117: uint16(136), + 1118: uint16(90), + 1119: uint16(1228), + 1120: uint16(1228), + 1121: uint16(1063), + 1122: uint16(1066), + 1123: uint16(1053), + 1124: uint16(1053), + 1125: uint16(133), + 1126: uint16(133), + 1127: uint16(134), + 1128: uint16(134), + 1129: uint16(134), + 1130: uint16(134), + 1131: uint16(357), + 1132: uint16(412), + 1133: uint16(397), + 1134: uint16(1148), + 1135: uint16(304), + 1136: uint16(135), + 1137: uint16(136), + 1138: uint16(90), + 1139: uint16(1228), + 1140: uint16(1228), + 1141: uint16(1063), + 1142: uint16(1066), + 1143: uint16(1053), + 1144: uint16(1053), + 1145: uint16(133), + 1146: uint16(133), + 1147: uint16(134), + 1148: uint16(134), + 1149: uint16(134), + 1150: uint16(134), + 1151: uint16(1575), + 1152: uint16(323), + 1153: uint16(6), + 1154: uint16(862), + 1155: uint16(7), + 1156: uint16(135), + 1157: uint16(124), + 1158: uint16(90), + 1159: uint16(1228), + 1160: uint16(1228), + 1161: uint16(1063), + 1162: uint16(1066), + 1163: uint16(1053), + 1164: uint16(1053), + 1165: uint16(133), + 1166: uint16(133), + 1167: uint16(134), + 1168: uint16(134), + 1169: uint16(134), + 1170: uint16(134), + 1171: uint16(409), + 1172: uint16(408), + 1173: uint16(1511), + 1174: uint16(212), + 1175: uint16(132), + 1176: uint16(132), + 1177: uint16(132), + 1178: uint16(132), + 1179: uint16(131), + 1180: uint16(131), + 1181: uint16(130), + 1182: uint16(130), + 1183: uint16(130), + 1184: uint16(129), + 1185: uint16(126), + 1186: uint16(450), + 1187: uint16(411), + 1188: uint16(118), + 1189: uint16(1204), + 1190: uint16(116), + 1191: uint16(10), + 1192: uint16(352), + 1193: uint16(265), + 1194: uint16(355), + 1195: uint16(132), + 1196: uint16(132), + 1197: uint16(132), + 1198: uint16(132), + 1199: uint16(131), + 1200: uint16(131), + 1201: uint16(130), + 1202: uint16(130), + 1203: uint16(130), + 1204: uint16(129), + 1205: uint16(126), + 1206: uint16(450), + 1207: uint16(576), + 1208: uint16(324), + 1209: uint16(306), + 1210: uint16(576), + 1211: uint16(306), + 1212: uint16(1250), + 1213: uint16(469), + 1214: uint16(158), + 1215: uint16(132), + 1216: uint16(132), + 1217: uint16(132), + 1218: uint16(132), + 1219: uint16(131), + 1220: uint16(131), + 1221: uint16(130), + 1222: uint16(130), + 1223: uint16(130), + 1224: uint16(129), + 1225: uint16(126), + 1226: uint16(450), + 1227: uint16(207), + 1228: uint16(1224), + 1229: uint16(1126), + 1230: uint16(65), + 1231: uint16(65), + 1232: uint16(470), + 1233: uint16(66), + 1234: uint16(66), + 1235: uint16(412), + 1236: uint16(447), + 1237: uint16(446), + 1238: uint16(882), + 1239: uint16(531), + 1240: uint16(335), + 1241: uint16(258), + 1242: uint16(257), + 1243: uint16(256), + 1244: uint16(1127), + 1245: uint16(1233), + 1246: uint16(1204), + 1247: uint16(1205), + 1248: uint16(1204), + 1249: uint16(327), + 1250: uint16(1235), + 1251: uint16(874), + 1252: uint16(159), + 1253: uint16(576), + 1254: uint16(16), + 1255: uint16(480), + 1256: uint16(1085), + 1257: uint16(1040), + 1258: uint16(1234), + 1259: uint16(1128), + 1260: uint16(136), + 1261: uint16(90), + 1262: uint16(1228), + 1263: uint16(1228), + 1264: uint16(1063), + 1265: uint16(1066), + 1266: uint16(1053), + 1267: uint16(1053), + 1268: uint16(133), + 1269: uint16(133), + 1270: uint16(134), + 1271: uint16(134), + 1272: uint16(134), + 1273: uint16(134), + 1274: uint16(1029), + 1275: uint16(576), + 1276: uint16(81), + 1277: uint16(81), + 1278: uint16(1028), + 1279: uint16(1040), + 1280: uint16(922), + 1281: uint16(576), + 1282: uint16(463), + 1283: uint16(1236), + 1284: uint16(576), + 1285: uint16(1236), + 1286: uint16(1224), + 1287: uint16(502), + 1288: uint16(107), + 1289: uint16(1435), + 1290: uint16(923), + 1291: uint16(6), + 1292: uint16(576), + 1293: uint16(410), + 1294: uint16(1498), + 1295: uint16(882), + 1296: uint16(1029), + 1297: uint16(480), + 1298: uint16(21), + 1299: uint16(21), + 1300: uint16(1028), + 1301: uint16(332), + 1302: uint16(1380), + 1303: uint16(334), + 1304: uint16(53), + 1305: uint16(53), + 1306: uint16(497), + 1307: uint16(81), + 1308: uint16(81), + 1309: uint16(874), + 1310: uint16(1028), + 1311: uint16(1028), + 1312: uint16(1030), + 1313: uint16(445), + 1314: uint16(259), + 1315: uint16(19), + 1316: uint16(19), + 1317: uint16(533), + 1318: uint16(132), + 1319: uint16(132), + 1320: uint16(132), + 1321: uint16(132), + 1322: uint16(131), + 1323: uint16(131), + 1324: uint16(130), + 1325: uint16(130), + 1326: uint16(130), + 1327: uint16(129), + 1328: uint16(126), + 1329: uint16(450), + 1330: uint16(551), + 1331: uint16(301), + 1332: uint16(1028), + 1333: uint16(1028), + 1334: uint16(1030), + 1335: uint16(107), + 1336: uint16(532), + 1337: uint16(545), + 1338: uint16(121), + 1339: uint16(568), + 1340: uint16(1188), 1341: uint16(4), - 1342: uint16(238), - 1343: uint16(433), - 1344: uint16(935), - 1345: uint16(490), - 1346: uint16(285), - 1347: uint16(228), - 1348: uint16(1517), - 1349: uint16(934), - 1350: uint16(170), - 1351: uint16(560), - 1352: uint16(572), - 1353: uint16(142), - 1354: uint16(1516), - 1355: uint16(567), - 1356: uint16(572), - 1357: uint16(60), - 1358: uint16(60), - 1359: uint16(572), - 1360: uint16(416), - 1361: uint16(572), - 1362: uint16(441), - 1363: uint16(572), - 1364: uint16(535), - 1365: uint16(302), - 1366: uint16(875), - 1367: uint16(8), - 1368: uint16(487), - 1369: uint16(572), - 1370: uint16(237), - 1371: uint16(572), - 1372: uint16(416), - 1373: uint16(572), - 1374: uint16(485), - 1375: uint16(61), - 1376: uint16(61), - 1377: uint16(572), - 1378: uint16(449), - 1379: uint16(62), - 1380: uint16(62), - 1381: uint16(332), - 1382: uint16(63), - 1383: uint16(63), - 1384: uint16(46), - 1385: uint16(46), - 1386: uint16(47), - 1387: uint16(47), - 1388: uint16(361), - 1389: uint16(572), - 1390: uint16(561), - 1391: uint16(572), - 1392: uint16(48), - 1393: uint16(48), - 1394: uint16(50), - 1395: uint16(50), - 1396: uint16(51), - 1397: uint16(51), - 1398: uint16(572), - 1399: uint16(295), - 1400: uint16(64), - 1401: uint16(64), - 1402: uint16(482), - 1403: uint16(295), - 1404: uint16(539), - 1405: uint16(412), - 1406: uint16(471), - 1407: uint16(1031), - 1408: uint16(572), - 1409: uint16(538), - 1410: uint16(318), - 1411: uint16(563), - 1412: uint16(65), - 1413: uint16(65), - 1414: uint16(66), - 1415: uint16(66), - 1416: uint16(409), - 1417: uint16(475), - 1418: uint16(572), - 1419: uint16(1031), - 1420: uint16(572), - 1421: uint16(14), - 1422: uint16(14), - 1423: uint16(875), - 1424: uint16(1020), - 1425: uint16(110), - 1426: uint16(110), - 1427: uint16(409), - 1428: uint16(1019), - 1429: uint16(572), - 1430: uint16(474), - 1431: uint16(67), - 1432: uint16(67), - 1433: uint16(111), - 1434: uint16(455), - 1435: uint16(449), - 1436: uint16(573), - 1437: uint16(449), - 1438: uint16(98), - 1439: uint16(317), - 1440: uint16(1019), - 1441: uint16(132), - 1442: uint16(132), - 1443: uint16(133), - 1444: uint16(133), - 1445: uint16(572), - 1446: uint16(1561), - 1447: uint16(572), - 1448: uint16(974), - 1449: uint16(409), - 1450: uint16(6), - 1451: uint16(1562), - 1452: uint16(68), - 1453: uint16(68), - 1454: uint16(1560), - 1455: uint16(6), - 1456: uint16(975), - 1457: uint16(572), - 1458: uint16(6), - 1459: uint16(1559), - 1460: uint16(1019), - 1461: uint16(1019), - 1462: uint16(1021), - 1463: uint16(6), - 1464: uint16(346), - 1465: uint16(218), - 1466: uint16(101), - 1467: uint16(531), - 1468: uint16(53), - 1469: uint16(53), - 1470: uint16(69), - 1471: uint16(69), - 1472: uint16(1019), - 1473: uint16(1019), - 1474: uint16(1021), - 1475: uint16(1022), - 1476: uint16(28), - 1477: uint16(1586), - 1478: uint16(1181), - 1479: uint16(451), - 1480: uint16(70), - 1481: uint16(70), - 1482: uint16(290), - 1483: uint16(87), - 1484: uint16(215), - 1485: uint16(31), - 1486: uint16(1363), - 1487: uint16(394), - 1488: uint16(394), - 1489: uint16(393), - 1490: uint16(275), - 1491: uint16(391), - 1492: uint16(350), - 1493: uint16(109), - 1494: uint16(852), - 1495: uint16(107), - 1496: uint16(572), - 1497: uint16(112), - 1498: uint16(564), - 1499: uint16(483), - 1500: uint16(4), - 1501: uint16(1212), - 1502: uint16(572), - 1503: uint16(239), - 1504: uint16(153), - 1505: uint16(572), - 1506: uint16(39), - 1507: uint16(236), - 1508: uint16(1299), - 1509: uint16(325), - 1510: uint16(112), - 1511: uint16(564), - 1512: uint16(1298), - 1513: uint16(4), - 1514: uint16(567), - 1515: uint16(572), - 1516: uint16(32), - 1517: uint16(324), - 1518: uint16(572), - 1519: uint16(54), - 1520: uint16(54), - 1521: uint16(572), - 1522: uint16(1135), - 1523: uint16(353), - 1524: uint16(398), - 1525: uint16(165), - 1526: uint16(165), - 1527: uint16(567), - 1528: uint16(166), - 1529: uint16(166), - 1530: uint16(572), - 1531: uint16(291), - 1532: uint16(355), - 1533: uint16(572), - 1534: uint16(17), - 1535: uint16(357), - 1536: uint16(572), - 1537: uint16(449), - 1538: uint16(77), - 1539: uint16(77), - 1540: uint16(1313), - 1541: uint16(55), - 1542: uint16(55), - 1543: uint16(1297), - 1544: uint16(73), - 1545: uint16(73), - 1546: uint16(572), - 1547: uint16(238), - 1548: uint16(470), - 1549: uint16(561), - 1550: uint16(449), - 1551: uint16(472), - 1552: uint16(364), - 1553: uint16(135), - 1554: uint16(135), - 1555: uint16(170), - 1556: uint16(74), - 1557: uint16(74), - 1558: uint16(142), - 1559: uint16(163), - 1560: uint16(163), - 1561: uint16(374), - 1562: uint16(561), - 1563: uint16(539), - 1564: uint16(572), - 1565: uint16(321), - 1566: uint16(572), - 1567: uint16(886), - 1568: uint16(540), - 1569: uint16(137), - 1570: uint16(137), - 1571: uint16(339), - 1572: uint16(1353), - 1573: uint16(422), - 1574: uint16(298), - 1575: uint16(237), - 1576: uint16(539), - 1577: uint16(572), - 1578: uint16(1031), - 1579: uint16(572), - 1580: uint16(340), - 1581: uint16(538), - 1582: uint16(101), - 1583: uint16(369), - 1584: uint16(110), - 1585: uint16(110), - 1586: uint16(162), - 1587: uint16(131), - 1588: uint16(131), - 1589: uint16(164), - 1590: uint16(164), - 1591: uint16(1031), - 1592: uint16(111), - 1593: uint16(368), - 1594: uint16(449), - 1595: uint16(573), - 1596: uint16(449), + 1342: uint16(1126), + 1343: uint16(1576), + 1344: uint16(449), + 1345: uint16(576), + 1346: uint16(462), + 1347: uint16(7), + 1348: uint16(1282), + 1349: uint16(418), + 1350: uint16(462), + 1351: uint16(350), + 1352: uint16(1435), + 1353: uint16(576), + 1354: uint16(518), + 1355: uint16(571), + 1356: uint16(544), + 1357: uint16(1127), + 1358: uint16(121), + 1359: uint16(568), + 1360: uint16(442), + 1361: uint16(4), + 1362: uint16(1188), + 1363: uint16(464), + 1364: uint16(533), + 1365: uint16(1180), + 1366: uint16(1223), + 1367: uint16(9), + 1368: uint16(67), + 1369: uint16(67), + 1370: uint16(487), + 1371: uint16(576), + 1372: uint16(1128), + 1373: uint16(303), + 1374: uint16(410), + 1375: uint16(571), + 1376: uint16(54), + 1377: uint16(54), + 1378: uint16(451), + 1379: uint16(576), + 1380: uint16(123), + 1381: uint16(944), + 1382: uint16(576), + 1383: uint16(417), + 1384: uint16(576), + 1385: uint16(333), + 1386: uint16(943), + 1387: uint16(1379), + 1388: uint16(576), + 1389: uint16(236), + 1390: uint16(565), + 1391: uint16(576), + 1392: uint16(1574), + 1393: uint16(564), + 1394: uint16(68), + 1395: uint16(68), + 1396: uint16(7), + 1397: uint16(576), + 1398: uint16(451), + 1399: uint16(362), + 1400: uint16(419), + 1401: uint16(182), + 1402: uint16(69), + 1403: uint16(69), + 1404: uint16(541), + 1405: uint16(70), + 1406: uint16(70), + 1407: uint16(71), + 1408: uint16(71), + 1409: uint16(540), + 1410: uint16(565), + 1411: uint16(72), + 1412: uint16(72), + 1413: uint16(484), + 1414: uint16(55), + 1415: uint16(55), + 1416: uint16(473), + 1417: uint16(1180), + 1418: uint16(296), + 1419: uint16(1040), + 1420: uint16(56), + 1421: uint16(56), + 1422: uint16(296), + 1423: uint16(493), + 1424: uint16(541), + 1425: uint16(119), + 1426: uint16(119), + 1427: uint16(410), + 1428: uint16(1573), + 1429: uint16(542), + 1430: uint16(569), + 1431: uint16(418), + 1432: uint16(7), + 1433: uint16(120), + 1434: uint16(1244), + 1435: uint16(451), + 1436: uint16(577), + 1437: uint16(451), + 1438: uint16(465), + 1439: uint16(1040), + 1440: uint16(1028), + 1441: uint16(576), + 1442: uint16(1557), + 1443: uint16(552), + 1444: uint16(476), + 1445: uint16(119), + 1446: uint16(119), + 1447: uint16(527), + 1448: uint16(259), + 1449: uint16(121), + 1450: uint16(568), + 1451: uint16(240), + 1452: uint16(4), + 1453: uint16(120), + 1454: uint16(576), + 1455: uint16(451), + 1456: uint16(577), + 1457: uint16(451), + 1458: uint16(576), + 1459: uint16(477), + 1460: uint16(1028), + 1461: uint16(576), + 1462: uint16(156), + 1463: uint16(576), + 1464: uint16(57), + 1465: uint16(57), + 1466: uint16(571), + 1467: uint16(576), + 1468: uint16(286), + 1469: uint16(229), + 1470: uint16(410), + 1471: uint16(336), + 1472: uint16(1028), + 1473: uint16(1028), + 1474: uint16(1030), + 1475: uint16(1031), + 1476: uint16(35), + 1477: uint16(59), + 1478: uint16(59), + 1479: uint16(219), + 1480: uint16(983), + 1481: uint16(60), + 1482: uint16(60), + 1483: uint16(220), + 1484: uint16(73), + 1485: uint16(73), + 1486: uint16(74), + 1487: uint16(74), + 1488: uint16(984), + 1489: uint16(451), + 1490: uint16(75), + 1491: uint16(75), + 1492: uint16(1028), + 1493: uint16(1028), + 1494: uint16(1030), + 1495: uint16(1031), + 1496: uint16(35), + 1497: uint16(96), + 1498: uint16(216), + 1499: uint16(291), + 1500: uint16(552), + 1501: uint16(565), + 1502: uint16(1188), + 1503: uint16(318), + 1504: uint16(395), + 1505: uint16(395), + 1506: uint16(394), + 1507: uint16(276), + 1508: uint16(392), + 1509: uint16(576), + 1510: uint16(485), + 1511: uint16(859), + 1512: uint16(474), + 1513: uint16(1311), + 1514: uint16(410), + 1515: uint16(541), + 1516: uint16(576), + 1517: uint16(417), + 1518: uint16(1530), + 1519: uint16(1144), + 1520: uint16(540), + 1521: uint16(399), + 1522: uint16(1188), + 1523: uint16(292), + 1524: uint16(237), + 1525: uint16(1153), + 1526: uint16(326), + 1527: uint16(38), + 1528: uint16(23), + 1529: uint16(576), + 1530: uint16(1040), + 1531: uint16(576), + 1532: uint16(20), + 1533: uint16(20), + 1534: uint16(325), + 1535: uint16(299), + 1536: uint16(119), + 1537: uint16(119), + 1538: uint16(164), + 1539: uint16(76), + 1540: uint16(76), + 1541: uint16(1529), + 1542: uint16(121), + 1543: uint16(568), + 1544: uint16(120), + 1545: uint16(4), + 1546: uint16(451), + 1547: uint16(577), + 1548: uint16(451), + 1549: uint16(203), + 1550: uint16(576), + 1551: uint16(1028), + 1552: uint16(141), + 1553: uint16(141), + 1554: uint16(142), + 1555: uint16(142), + 1556: uint16(576), + 1557: uint16(322), + 1558: uint16(39), + 1559: uint16(571), + 1560: uint16(341), + 1561: uint16(1021), + 1562: uint16(110), + 1563: uint16(264), + 1564: uint16(239), + 1565: uint16(901), + 1566: uint16(900), + 1567: uint16(423), + 1568: uint16(242), + 1569: uint16(908), + 1570: uint16(909), + 1571: uint16(370), + 1572: uint16(173), + 1573: uint16(77), + 1574: uint16(77), + 1575: uint16(43), + 1576: uint16(479), + 1577: uint16(1310), + 1578: uint16(264), + 1579: uint16(62), + 1580: uint16(62), + 1581: uint16(369), + 1582: uint16(451), + 1583: uint16(1028), + 1584: uint16(1028), + 1585: uint16(1030), + 1586: uint16(1031), + 1587: uint16(35), + 1588: uint16(1601), + 1589: uint16(1192), + 1590: uint16(453), + 1591: uint16(1092), + 1592: uint16(238), + 1593: uint16(291), + 1594: uint16(565), + 1595: uint16(163), + 1596: uint16(1309), 1597: uint16(110), - 1598: uint16(110), - 1599: uint16(1019), - 1600: uint16(157), - 1601: uint16(157), - 1602: uint16(141), - 1603: uint16(141), - 1604: uint16(572), - 1605: uint16(111), - 1606: uint16(572), - 1607: uint16(449), - 1608: uint16(573), - 1609: uint16(449), - 1610: uint16(412), - 1611: uint16(288), - 1612: uint16(1019), - 1613: uint16(572), - 1614: uint16(882), - 1615: uint16(318), - 1616: uint16(563), - 1617: uint16(572), - 1618: uint16(219), - 1619: uint16(572), - 1620: uint16(241), - 1621: uint16(1012), - 1622: uint16(477), - 1623: uint16(263), - 1624: uint16(263), - 1625: uint16(894), - 1626: uint16(893), - 1627: uint16(140), - 1628: uint16(140), - 1629: uint16(138), - 1630: uint16(138), - 1631: uint16(1019), - 1632: uint16(1019), - 1633: uint16(1021), - 1634: uint16(1022), - 1635: uint16(28), - 1636: uint16(139), - 1637: uint16(139), - 1638: uint16(525), - 1639: uint16(455), - 1640: uint16(76), - 1641: uint16(76), - 1642: uint16(78), - 1643: uint16(78), - 1644: uint16(1019), - 1645: uint16(1019), - 1646: uint16(1021), - 1647: uint16(1022), - 1648: uint16(28), - 1649: uint16(1181), - 1650: uint16(451), - 1651: uint16(572), - 1652: uint16(1083), - 1653: uint16(290), - 1654: uint16(112), - 1655: uint16(564), - 1656: uint16(1575), - 1657: uint16(4), - 1658: uint16(394), - 1659: uint16(394), - 1660: uint16(393), - 1661: uint16(275), - 1662: uint16(391), - 1663: uint16(572), - 1664: uint16(1023), - 1665: uint16(852), - 1666: uint16(572), - 1667: uint16(479), - 1668: uint16(345), - 1669: uint16(263), - 1670: uint16(101), - 1671: uint16(567), - 1672: uint16(882), - 1673: uint16(1376), - 1674: uint16(75), - 1675: uint16(75), - 1676: uint16(1421), - 1677: uint16(501), - 1678: uint16(236), - 1679: uint16(260), - 1680: uint16(325), - 1681: uint16(112), - 1682: uint16(564), - 1683: uint16(359), - 1684: uint16(4), - 1685: uint16(101), - 1686: uint16(43), - 1687: uint16(43), - 1688: uint16(324), - 1689: uint16(49), - 1690: uint16(49), - 1691: uint16(901), - 1692: uint16(902), - 1693: uint16(161), - 1694: uint16(449), - 1695: uint16(101), - 1696: uint16(977), - 1697: uint16(978), - 1698: uint16(567), - 1699: uint16(1079), - 1700: uint16(1349), - 1701: uint16(260), - 1702: uint16(965), - 1703: uint16(932), - 1704: uint16(263), - 1705: uint16(114), - 1706: uint16(561), - 1707: uint16(1095), - 1708: uint16(517), - 1709: uint16(1095), - 1710: uint16(1083), - 1711: uint16(1094), - 1712: uint16(865), - 1713: uint16(1094), - 1714: uint16(151), - 1715: uint16(933), - 1716: uint16(1144), - 1717: uint16(114), - 1718: uint16(238), - 1719: uint16(1361), - 1720: uint16(558), - 1721: uint16(449), - 1722: uint16(1023), - 1723: uint16(559), - 1724: uint16(1426), - 1725: uint16(1278), - 1726: uint16(170), - 1727: uint16(1269), - 1728: uint16(1257), - 1729: uint16(142), - 1730: uint16(1601), - 1731: uint16(1256), - 1732: uint16(1258), - 1733: uint16(561), - 1734: uint16(1594), - 1735: uint16(1031), - 1736: uint16(496), - 1737: uint16(278), - 1738: uint16(213), - 1739: uint16(1346), - 1740: uint16(310), - 1741: uint16(110), - 1742: uint16(110), - 1743: uint16(939), - 1744: uint16(311), - 1745: uint16(312), - 1746: uint16(237), - 1747: uint16(11), - 1748: uint16(234), - 1749: uint16(111), - 1750: uint16(221), - 1751: uint16(449), - 1752: uint16(573), - 1753: uint16(449), - 1754: uint16(293), - 1755: uint16(395), - 1756: uint16(1019), - 1757: uint16(1408), - 1758: uint16(337), - 1759: uint16(1403), - 1760: uint16(1396), - 1761: uint16(338), - 1762: uint16(1031), - 1763: uint16(299), - 1764: uint16(343), - 1765: uint16(1413), - 1766: uint16(1412), - 1767: uint16(481), - 1768: uint16(110), - 1769: uint16(110), - 1770: uint16(506), - 1771: uint16(402), - 1772: uint16(225), - 1773: uint16(1296), - 1774: uint16(206), - 1775: uint16(367), - 1776: uint16(111), - 1777: uint16(1358), - 1778: uint16(449), - 1779: uint16(573), - 1780: uint16(449), - 1781: uint16(412), - 1782: uint16(1359), - 1783: uint16(1019), - 1784: uint16(1489), - 1785: uint16(1488), - 1786: uint16(318), - 1787: uint16(563), - 1788: uint16(1019), - 1789: uint16(1019), - 1790: uint16(1021), - 1791: uint16(1022), - 1792: uint16(28), - 1793: uint16(562), - 1794: uint16(207), - 1795: uint16(220), - 1796: uint16(80), - 1797: uint16(564), - 1798: uint16(389), - 1799: uint16(4), - 1800: uint16(1597), - 1801: uint16(1357), - 1802: uint16(552), - 1803: uint16(1356), - 1804: uint16(1233), - 1805: uint16(181), - 1806: uint16(267), - 1807: uint16(232), - 1808: uint16(1536), - 1809: uint16(1534), - 1810: uint16(455), - 1811: uint16(1230), - 1812: uint16(420), - 1813: uint16(567), - 1814: uint16(82), - 1815: uint16(1019), - 1816: uint16(1019), - 1817: uint16(1021), - 1818: uint16(1022), - 1819: uint16(28), - 1820: uint16(86), - 1821: uint16(217), - 1822: uint16(85), - 1823: uint16(1494), - 1824: uint16(190), - 1825: uint16(175), - 1826: uint16(183), - 1827: uint16(465), - 1828: uint16(185), - 1829: uint16(466), - 1830: uint16(36), - 1831: uint16(1409), - 1832: uint16(186), - 1833: uint16(187), - 1834: uint16(188), - 1835: uint16(499), - 1836: uint16(449), - 1837: uint16(244), - 1838: uint16(37), - 1839: uint16(99), - 1840: uint16(400), - 1841: uint16(1415), - 1842: uint16(1414), - 1843: uint16(488), - 1844: uint16(1417), - 1845: uint16(194), - 1846: uint16(473), - 1847: uint16(403), - 1848: uint16(561), - 1849: uint16(1483), - 1850: uint16(248), - 1851: uint16(92), - 1852: uint16(1505), - 1853: uint16(494), - 1854: uint16(198), - 1855: uint16(279), - 1856: uint16(112), - 1857: uint16(564), - 1858: uint16(250), - 1859: uint16(4), - 1860: uint16(348), - 1861: uint16(497), - 1862: uint16(405), - 1863: uint16(352), - 1864: uint16(1259), - 1865: uint16(251), - 1866: uint16(252), - 1867: uint16(515), - 1868: uint16(1316), - 1869: uint16(434), - 1870: uint16(1315), - 1871: uint16(1314), - 1872: uint16(94), - 1873: uint16(567), - 1874: uint16(1307), - 1875: uint16(886), - 1876: uint16(1306), - 1877: uint16(1031), - 1878: uint16(226), - 1879: uint16(406), - 1880: uint16(1611), - 1881: uint16(1610), - 1882: uint16(438), - 1883: uint16(110), - 1884: uint16(110), - 1885: uint16(1580), - 1886: uint16(1286), - 1887: uint16(524), - 1888: uint16(439), - 1889: uint16(308), - 1890: uint16(266), - 1891: uint16(111), - 1892: uint16(1285), - 1893: uint16(449), - 1894: uint16(573), - 1895: uint16(449), - 1896: uint16(449), - 1897: uint16(309), - 1898: uint16(1019), - 1899: uint16(366), - 1900: uint16(1284), - 1901: uint16(1609), - 1902: uint16(265), - 1903: uint16(1566), - 1904: uint16(1565), - 1905: uint16(442), - 1906: uint16(372), - 1907: uint16(1381), - 1908: uint16(561), - 1909: uint16(129), - 1910: uint16(550), - 1911: uint16(1380), - 1912: uint16(10), - 1913: uint16(1470), - 1914: uint16(383), - 1915: uint16(106), - 1916: uint16(316), - 1917: uint16(551), - 1918: uint16(100), - 1919: uint16(35), - 1920: uint16(534), - 1921: uint16(575), - 1922: uint16(212), - 1923: uint16(1339), - 1924: uint16(381), - 1925: uint16(387), - 1926: uint16(1187), - 1927: uint16(1338), - 1928: uint16(274), - 1929: uint16(276), - 1930: uint16(1019), - 1931: uint16(1019), - 1932: uint16(1021), - 1933: uint16(1022), - 1934: uint16(28), - 1935: uint16(277), - 1936: uint16(413), - 1937: uint16(1031), - 1938: uint16(576), - 1939: uint16(1254), - 1940: uint16(388), - 1941: uint16(1521), - 1942: uint16(1249), - 1943: uint16(110), - 1944: uint16(110), - 1945: uint16(167), - 1946: uint16(1522), - 1947: uint16(168), - 1948: uint16(148), - 1949: uint16(1520), - 1950: uint16(1519), - 1951: uint16(111), - 1952: uint16(306), - 1953: uint16(449), - 1954: uint16(573), - 1955: uint16(449), - 1956: uint16(222), - 1957: uint16(223), - 1958: uint16(1019), - 1959: uint16(839), - 1960: uint16(169), - 1961: uint16(79), - 1962: uint16(450), - 1963: uint16(214), - 1964: uint16(414), - 1965: uint16(233), - 1966: uint16(320), - 1967: uint16(145), - 1968: uint16(1093), - 1969: uint16(1091), - 1970: uint16(328), - 1971: uint16(182), - 1972: uint16(171), - 1973: uint16(1212), - 1974: uint16(918), - 1975: uint16(184), - 1976: uint16(240), - 1977: uint16(336), - 1978: uint16(243), - 1979: uint16(1107), - 1980: uint16(189), - 1981: uint16(172), - 1982: uint16(173), - 1983: uint16(423), - 1984: uint16(425), - 1985: uint16(88), - 1986: uint16(180), - 1987: uint16(191), - 1988: uint16(89), - 1989: uint16(90), - 1990: uint16(1019), - 1991: uint16(1019), - 1992: uint16(1021), - 1993: uint16(1022), - 1994: uint16(28), - 1995: uint16(91), - 1996: uint16(174), - 1997: uint16(1110), - 1998: uint16(245), - 1999: uint16(1106), - 2000: uint16(246), - 2001: uint16(159), - 2002: uint16(18), - 2003: uint16(247), - 2004: uint16(347), - 2005: uint16(1099), - 2006: uint16(263), - 2007: uint16(195), - 2008: uint16(1227), - 2009: uint16(493), - 2010: uint16(249), - 2011: uint16(196), - 2012: uint16(38), - 2013: uint16(854), - 2014: uint16(498), - 2015: uint16(368), - 2016: uint16(253), - 2017: uint16(360), - 2018: uint16(897), - 2019: uint16(197), - 2020: uint16(502), - 2021: uint16(93), - 2022: uint16(19), - 2023: uint16(20), - 2024: uint16(507), - 2025: uint16(884), - 2026: uint16(363), - 2027: uint16(510), - 2028: uint16(95), - 2029: uint16(307), - 2030: uint16(160), - 2031: uint16(96), - 2032: uint16(518), - 2033: uint16(97), - 2034: uint16(1175), - 2035: uint16(1060), - 2036: uint16(1146), - 2037: uint16(40), - 2038: uint16(21), - 2039: uint16(227), - 2040: uint16(176), - 2041: uint16(1145), - 2042: uint16(282), - 2043: uint16(284), - 2044: uint16(969), - 2045: uint16(200), - 2046: uint16(963), - 2047: uint16(114), - 2048: uint16(262), - 2049: uint16(1165), - 2050: uint16(22), - 2051: uint16(23), - 2052: uint16(24), - 2053: uint16(1161), - 2054: uint16(1169), - 2055: uint16(25), - 2056: uint16(1163), - 2057: uint16(1150), - 2058: uint16(34), - 2059: uint16(26), - 2060: uint16(1168), - 2061: uint16(546), - 2062: uint16(27), - 2063: uint16(204), - 2064: uint16(101), - 2065: uint16(103), - 2066: uint16(104), - 2067: uint16(1074), - 2068: uint16(7), - 2069: uint16(1061), - 2070: uint16(1059), - 2071: uint16(1063), - 2072: uint16(1116), - 2073: uint16(1064), - 2074: uint16(1115), - 2075: uint16(268), - 2076: uint16(269), - 2077: uint16(29), - 2078: uint16(41), - 2079: uint16(270), - 2080: uint16(1024), - 2081: uint16(866), - 2082: uint16(113), - 2083: uint16(30), - 2084: uint16(568), - 2085: uint16(392), - 2086: uint16(1183), - 2087: uint16(144), - 2088: uint16(178), - 2089: uint16(1182), - 2090: uint16(271), - 2091: uint16(928), - 2092: uint16(1245), - 2093: uint16(1245), - 2094: uint16(1245), - 2095: uint16(1245), - 2096: uint16(1245), - 2097: uint16(1245), - 2098: uint16(1245), - 2099: uint16(1602), -} -var _yy_lookahead = [2285]uint16{ - 0: uint16(193), - 1: uint16(193), - 2: uint16(193), - 3: uint16(274), - 4: uint16(275), - 5: uint16(276), - 6: uint16(193), - 7: uint16(274), - 8: uint16(275), - 9: uint16(276), - 10: uint16(193), - 11: uint16(223), - 12: uint16(219), - 13: uint16(225), - 14: uint16(206), - 15: uint16(210), - 16: uint16(211), - 17: uint16(212), - 18: uint16(193), + 1598: uint16(395), + 1599: uint16(395), + 1600: uint16(394), + 1601: uint16(276), + 1602: uint16(392), + 1603: uint16(986), + 1604: uint16(987), + 1605: uint16(859), + 1606: uint16(481), + 1607: uint16(346), + 1608: uint16(264), + 1609: uint16(110), + 1610: uint16(1032), + 1611: uint16(489), + 1612: uint16(576), + 1613: uint16(1188), + 1614: uint16(503), + 1615: uint16(1088), + 1616: uint16(261), + 1617: uint16(261), + 1618: uint16(237), + 1619: uint16(576), + 1620: uint16(326), + 1621: uint16(121), + 1622: uint16(568), + 1623: uint16(1040), + 1624: uint16(4), + 1625: uint16(347), + 1626: uint16(1376), + 1627: uint16(413), + 1628: uint16(325), + 1629: uint16(119), + 1630: uint16(119), + 1631: uint16(948), + 1632: uint16(319), + 1633: uint16(567), + 1634: uint16(351), + 1635: uint16(78), + 1636: uint16(78), + 1637: uint16(120), + 1638: uint16(571), + 1639: uint16(451), + 1640: uint16(577), + 1641: uint16(451), + 1642: uint16(79), + 1643: uint16(79), + 1644: uint16(1028), + 1645: uint16(354), + 1646: uint16(356), + 1647: uint16(576), + 1648: uint16(360), + 1649: uint16(1092), + 1650: uint16(110), + 1651: uint16(576), + 1652: uint16(974), + 1653: uint16(942), + 1654: uint16(264), + 1655: uint16(123), + 1656: uint16(457), + 1657: uint16(358), + 1658: uint16(239), + 1659: uint16(576), + 1660: uint16(519), + 1661: uint16(451), + 1662: uint16(939), + 1663: uint16(1104), + 1664: uint16(123), + 1665: uint16(1104), + 1666: uint16(173), + 1667: uint16(576), + 1668: uint16(1032), + 1669: uint16(43), + 1670: uint16(63), + 1671: uint16(63), + 1672: uint16(1324), + 1673: uint16(565), + 1674: uint16(168), + 1675: uint16(168), + 1676: uint16(1028), + 1677: uint16(1028), + 1678: uint16(1030), + 1679: uint16(1031), + 1680: uint16(35), + 1681: uint16(576), + 1682: uint16(169), + 1683: uint16(169), + 1684: uint16(1308), + 1685: uint16(872), + 1686: uint16(238), + 1687: uint16(157), + 1688: uint16(1589), + 1689: uint16(576), + 1690: uint16(86), + 1691: uint16(86), + 1692: uint16(365), + 1693: uint16(89), + 1694: uint16(568), + 1695: uint16(375), + 1696: uint16(4), + 1697: uint16(1103), + 1698: uint16(941), + 1699: uint16(1103), + 1700: uint16(123), + 1701: uint16(576), + 1702: uint16(1040), + 1703: uint16(1389), + 1704: uint16(64), + 1705: uint16(64), + 1706: uint16(1188), + 1707: uint16(1434), + 1708: uint16(119), + 1709: uint16(119), + 1710: uint16(571), + 1711: uint16(576), + 1712: uint16(82), + 1713: uint16(82), + 1714: uint16(563), + 1715: uint16(576), + 1716: uint16(120), + 1717: uint16(165), + 1718: uint16(451), + 1719: uint16(577), + 1720: uint16(451), + 1721: uint16(413), + 1722: uint16(1362), + 1723: uint16(1028), + 1724: uint16(144), + 1725: uint16(144), + 1726: uint16(319), + 1727: uint16(567), + 1728: uint16(576), + 1729: uint16(1374), + 1730: uint16(562), + 1731: uint16(498), + 1732: uint16(279), + 1733: uint16(451), + 1734: uint16(83), + 1735: uint16(83), + 1736: uint16(1439), + 1737: uint16(576), + 1738: uint16(166), + 1739: uint16(166), + 1740: uint16(576), + 1741: uint16(1289), + 1742: uint16(554), + 1743: uint16(576), + 1744: uint16(1280), + 1745: uint16(565), + 1746: uint16(576), + 1747: uint16(12), + 1748: uint16(576), + 1749: uint16(1268), + 1750: uint16(457), + 1751: uint16(146), + 1752: uint16(146), + 1753: uint16(1267), + 1754: uint16(576), + 1755: uint16(1028), + 1756: uint16(1028), + 1757: uint16(1030), + 1758: uint16(1031), + 1759: uint16(35), + 1760: uint16(140), + 1761: uint16(140), + 1762: uint16(1269), + 1763: uint16(167), + 1764: uint16(167), + 1765: uint16(1609), + 1766: uint16(160), + 1767: uint16(160), + 1768: uint16(1359), + 1769: uint16(150), + 1770: uint16(150), + 1771: uint16(149), + 1772: uint16(149), + 1773: uint16(311), + 1774: uint16(1040), + 1775: uint16(576), + 1776: uint16(312), + 1777: uint16(147), + 1778: uint16(147), + 1779: uint16(313), + 1780: uint16(119), + 1781: uint16(119), + 1782: uint16(222), + 1783: uint16(235), + 1784: uint16(576), + 1785: uint16(1188), + 1786: uint16(396), + 1787: uint16(576), + 1788: uint16(120), + 1789: uint16(576), + 1790: uint16(451), + 1791: uint16(577), + 1792: uint16(451), + 1793: uint16(1192), + 1794: uint16(453), + 1795: uint16(1028), + 1796: uint16(508), + 1797: uint16(291), + 1798: uint16(148), + 1799: uint16(148), + 1800: uint16(1421), + 1801: uint16(1612), + 1802: uint16(395), + 1803: uint16(395), + 1804: uint16(394), + 1805: uint16(276), + 1806: uint16(392), + 1807: uint16(85), + 1808: uint16(85), + 1809: uint16(859), + 1810: uint16(87), + 1811: uint16(87), + 1812: uint16(84), + 1813: uint16(84), + 1814: uint16(553), + 1815: uint16(576), + 1816: uint16(294), + 1817: uint16(576), + 1818: uint16(1426), + 1819: uint16(338), + 1820: uint16(339), + 1821: uint16(1425), + 1822: uint16(237), + 1823: uint16(300), + 1824: uint16(326), + 1825: uint16(1416), + 1826: uint16(1409), + 1827: uint16(1028), + 1828: uint16(1028), + 1829: uint16(1030), + 1830: uint16(1031), + 1831: uint16(35), + 1832: uint16(325), + 1833: uint16(344), + 1834: uint16(403), + 1835: uint16(483), + 1836: uint16(226), + 1837: uint16(1307), + 1838: uint16(52), + 1839: uint16(52), + 1840: uint16(58), + 1841: uint16(58), + 1842: uint16(368), + 1843: uint16(1371), + 1844: uint16(1502), + 1845: uint16(566), + 1846: uint16(1501), + 1847: uint16(121), + 1848: uint16(568), + 1849: uint16(221), + 1850: uint16(4), + 1851: uint16(208), + 1852: uint16(268), + 1853: uint16(209), + 1854: uint16(390), + 1855: uint16(1244), + 1856: uint16(1549), + 1857: uint16(1188), + 1858: uint16(1372), + 1859: uint16(1370), + 1860: uint16(1369), + 1861: uint16(1547), + 1862: uint16(239), + 1863: uint16(184), + 1864: uint16(571), + 1865: uint16(233), + 1866: uint16(421), + 1867: uint16(1241), + 1868: uint16(95), + 1869: uint16(218), + 1870: uint16(173), + 1871: uint16(1507), + 1872: uint16(193), + 1873: uint16(43), + 1874: uint16(91), + 1875: uint16(94), + 1876: uint16(178), + 1877: uint16(186), + 1878: uint16(467), + 1879: uint16(188), + 1880: uint16(468), + 1881: uint16(1422), + 1882: uint16(13), + 1883: uint16(189), + 1884: uint16(190), + 1885: uint16(191), + 1886: uint16(501), + 1887: uint16(451), + 1888: uint16(245), + 1889: uint16(108), + 1890: uint16(238), + 1891: uint16(401), + 1892: uint16(1428), + 1893: uint16(1427), + 1894: uint16(1430), + 1895: uint16(475), + 1896: uint16(404), + 1897: uint16(1496), + 1898: uint16(197), + 1899: uint16(565), + 1900: uint16(14), + 1901: uint16(490), + 1902: uint16(249), + 1903: uint16(101), + 1904: uint16(1518), + 1905: uint16(496), + 1906: uint16(349), + 1907: uint16(280), + 1908: uint16(251), + 1909: uint16(201), + 1910: uint16(353), + 1911: uint16(499), + 1912: uint16(252), + 1913: uint16(406), + 1914: uint16(1270), + 1915: uint16(253), + 1916: uint16(517), + 1917: uint16(1327), + 1918: uint16(1326), + 1919: uint16(435), + 1920: uint16(1325), + 1921: uint16(1318), + 1922: uint16(103), + 1923: uint16(893), + 1924: uint16(1296), + 1925: uint16(413), + 1926: uint16(227), + 1927: uint16(407), + 1928: uint16(1040), + 1929: uint16(1626), + 1930: uint16(319), + 1931: uint16(567), + 1932: uint16(1625), + 1933: uint16(1297), + 1934: uint16(119), + 1935: uint16(119), + 1936: uint16(439), + 1937: uint16(367), + 1938: uint16(1317), + 1939: uint16(1295), + 1940: uint16(1624), + 1941: uint16(526), + 1942: uint16(120), + 1943: uint16(440), + 1944: uint16(451), + 1945: uint16(577), + 1946: uint16(451), + 1947: uint16(1594), + 1948: uint16(309), + 1949: uint16(1028), + 1950: uint16(310), + 1951: uint16(373), + 1952: uint16(266), + 1953: uint16(267), + 1954: uint16(457), + 1955: uint16(1580), + 1956: uint16(1579), + 1957: uint16(443), + 1958: uint16(138), + 1959: uint16(1394), + 1960: uint16(552), + 1961: uint16(1393), + 1962: uint16(11), + 1963: uint16(1483), + 1964: uint16(384), + 1965: uint16(115), + 1966: uint16(317), + 1967: uint16(1350), + 1968: uint16(109), + 1969: uint16(536), + 1970: uint16(42), + 1971: uint16(579), + 1972: uint16(382), + 1973: uint16(214), + 1974: uint16(1349), + 1975: uint16(388), + 1976: uint16(1198), + 1977: uint16(389), + 1978: uint16(275), + 1979: uint16(277), + 1980: uint16(278), + 1981: uint16(1028), + 1982: uint16(1028), + 1983: uint16(1030), + 1984: uint16(1031), + 1985: uint16(35), + 1986: uint16(580), + 1987: uint16(1265), + 1988: uint16(414), + 1989: uint16(1260), + 1990: uint16(170), + 1991: uint16(415), + 1992: uint16(183), + 1993: uint16(1534), + 1994: uint16(1535), + 1995: uint16(1533), + 1996: uint16(171), + 1997: uint16(154), + 1998: uint16(307), + 1999: uint16(1532), + 2000: uint16(846), + 2001: uint16(223), + 2002: uint16(224), + 2003: uint16(88), + 2004: uint16(452), + 2005: uint16(215), + 2006: uint16(172), + 2007: uint16(321), + 2008: uint16(234), + 2009: uint16(1102), + 2010: uint16(152), + 2011: uint16(1188), + 2012: uint16(1100), + 2013: uint16(329), + 2014: uint16(185), + 2015: uint16(174), + 2016: uint16(1223), + 2017: uint16(925), + 2018: uint16(187), + 2019: uint16(241), + 2020: uint16(337), + 2021: uint16(244), + 2022: uint16(1116), + 2023: uint16(192), + 2024: uint16(175), + 2025: uint16(176), + 2026: uint16(424), + 2027: uint16(426), + 2028: uint16(97), + 2029: uint16(194), + 2030: uint16(98), + 2031: uint16(99), + 2032: uint16(100), + 2033: uint16(177), + 2034: uint16(1119), + 2035: uint16(1115), + 2036: uint16(246), + 2037: uint16(247), + 2038: uint16(161), + 2039: uint16(24), + 2040: uint16(248), + 2041: uint16(348), + 2042: uint16(1238), + 2043: uint16(264), + 2044: uint16(1108), + 2045: uint16(250), + 2046: uint16(495), + 2047: uint16(199), + 2048: uint16(198), + 2049: uint16(15), + 2050: uint16(861), + 2051: uint16(500), + 2052: uint16(369), + 2053: uint16(254), + 2054: uint16(504), + 2055: uint16(509), + 2056: uint16(512), + 2057: uint16(200), + 2058: uint16(102), + 2059: uint16(25), + 2060: uint16(179), + 2061: uint16(361), + 2062: uint16(26), + 2063: uint16(364), + 2064: uint16(104), + 2065: uint16(891), + 2066: uint16(308), + 2067: uint16(162), + 2068: uint16(105), + 2069: uint16(904), + 2070: uint16(520), + 2071: uint16(106), + 2072: uint16(1185), + 2073: uint16(1069), + 2074: uint16(1155), + 2075: uint16(17), + 2076: uint16(228), + 2077: uint16(27), + 2078: uint16(1154), + 2079: uint16(283), + 2080: uint16(285), + 2081: uint16(263), + 2082: uint16(978), + 2083: uint16(202), + 2084: uint16(972), + 2085: uint16(123), + 2086: uint16(28), + 2087: uint16(1175), + 2088: uint16(29), + 2089: uint16(30), + 2090: uint16(1179), + 2091: uint16(1171), + 2092: uint16(31), + 2093: uint16(1173), + 2094: uint16(1160), + 2095: uint16(41), + 2096: uint16(32), + 2097: uint16(206), + 2098: uint16(548), + 2099: uint16(33), + 2100: uint16(110), + 2101: uint16(1178), + 2102: uint16(1083), + 2103: uint16(8), + 2104: uint16(112), + 2105: uint16(1070), + 2106: uint16(113), + 2107: uint16(1068), + 2108: uint16(1072), + 2109: uint16(34), + 2110: uint16(1073), + 2111: uint16(560), + 2112: uint16(1125), + 2113: uint16(269), + 2114: uint16(1124), + 2115: uint16(270), + 2116: uint16(36), + 2117: uint16(18), + 2118: uint16(1194), + 2119: uint16(1033), + 2120: uint16(873), + 2121: uint16(151), + 2122: uint16(122), + 2123: uint16(37), + 2124: uint16(393), + 2125: uint16(271), + 2126: uint16(272), + 2127: uint16(572), + 2128: uint16(181), + 2129: uint16(1193), + 2130: uint16(1256), + 2131: uint16(1256), + 2132: uint16(1256), + 2133: uint16(935), + 2134: uint16(1256), + 2135: uint16(1256), + 2136: uint16(1256), + 2137: uint16(1256), + 2138: uint16(1256), + 2139: uint16(1256), + 2140: uint16(1256), + 2141: uint16(1617), +} +var _yy_lookahead = [2328]uint16{ + 0: uint16(194), + 1: uint16(276), + 2: uint16(277), + 3: uint16(278), + 4: uint16(216), + 5: uint16(194), + 6: uint16(194), + 7: uint16(217), + 8: uint16(194), + 9: uint16(194), + 10: uint16(194), + 11: uint16(194), + 12: uint16(224), + 13: uint16(194), + 14: uint16(194), + 15: uint16(276), + 16: uint16(277), + 17: uint16(278), + 18: uint16(204), 19: uint16(19), - 20: uint16(219), - 21: uint16(233), - 22: uint16(216), - 23: uint16(216), - 24: uint16(217), - 25: uint16(216), - 26: uint16(217), - 27: uint16(193), - 28: uint16(295), - 29: uint16(216), - 30: uint16(217), + 20: uint16(206), + 21: uint16(202), + 22: uint16(297), + 23: uint16(217), + 24: uint16(218), + 25: uint16(205), + 26: uint16(207), + 27: uint16(217), + 28: uint16(205), + 29: uint16(217), + 30: uint16(218), 31: uint16(31), - 32: uint16(193), - 33: uint16(216), + 32: uint16(217), + 33: uint16(218), 34: uint16(217), - 35: uint16(193), - 36: uint16(228), - 37: uint16(213), - 38: uint16(230), + 35: uint16(218), + 36: uint16(29), + 37: uint16(217), + 38: uint16(218), 39: uint16(39), - 40: uint16(206), - 41: uint16(216), - 42: uint16(217), + 40: uint16(33), + 41: uint16(217), + 42: uint16(220), 43: uint16(43), 44: uint16(44), 45: uint16(45), @@ -154437,31 +155753,31 @@ var _yy_lookahead = [2285]uint16{ 55: uint16(55), 56: uint16(56), 57: uint16(57), - 58: uint16(193), + 58: uint16(312), 59: uint16(19), - 60: uint16(185), - 61: uint16(186), - 62: uint16(187), - 63: uint16(188), - 64: uint16(189), - 65: uint16(190), - 66: uint16(253), - 67: uint16(274), - 68: uint16(275), - 69: uint16(276), - 70: uint16(195), - 71: uint16(193), - 72: uint16(197), - 73: uint16(193), - 74: uint16(261), - 75: uint16(274), - 76: uint16(275), - 77: uint16(276), - 78: uint16(253), - 79: uint16(204), - 80: uint16(238), - 81: uint16(204), - 82: uint16(81), + 60: uint16(240), + 61: uint16(241), + 62: uint16(316), + 63: uint16(240), + 64: uint16(241), + 65: uint16(194), + 66: uint16(46), + 67: uint16(47), + 68: uint16(48), + 69: uint16(49), + 70: uint16(22), + 71: uint16(254), + 72: uint16(65), + 73: uint16(253), + 74: uint16(254), + 75: uint16(255), + 76: uint16(253), + 77: uint16(194), + 78: uint16(255), + 79: uint16(194), + 80: uint16(263), + 81: uint16(258), + 82: uint16(259), 83: uint16(43), 84: uint16(44), 85: uint16(45), @@ -154477,10 +155793,10 @@ var _yy_lookahead = [2285]uint16{ 95: uint16(55), 96: uint16(56), 97: uint16(57), - 98: uint16(274), - 99: uint16(275), - 100: uint16(276), - 101: uint16(262), + 98: uint16(276), + 99: uint16(277), + 100: uint16(278), + 101: uint16(285), 102: uint16(102), 103: uint16(103), 104: uint16(104), @@ -154493,34 +155809,34 @@ var _yy_lookahead = [2285]uint16{ 111: uint16(111), 112: uint16(112), 113: uint16(113), - 114: uint16(239), - 115: uint16(240), - 116: uint16(239), - 117: uint16(240), - 118: uint16(210), - 119: uint16(211), - 120: uint16(212), - 121: uint16(314), - 122: uint16(315), - 123: uint16(314), - 124: uint16(59), - 125: uint16(316), + 114: uint16(59), + 115: uint16(186), + 116: uint16(187), + 117: uint16(188), + 118: uint16(189), + 119: uint16(190), + 120: uint16(191), + 121: uint16(310), + 122: uint16(239), + 123: uint16(317), + 124: uint16(318), + 125: uint16(196), 126: uint16(86), - 127: uint16(252), + 127: uint16(198), 128: uint16(88), - 129: uint16(252), + 129: uint16(317), 130: uint16(19), - 131: uint16(314), - 132: uint16(315), - 133: uint16(256), - 134: uint16(257), - 135: uint16(113), + 131: uint16(319), + 132: uint16(317), + 133: uint16(318), + 134: uint16(205), + 135: uint16(264), 136: uint16(25), - 137: uint16(72), - 138: uint16(296), - 139: uint16(138), - 140: uint16(139), - 141: uint16(266), + 137: uint16(211), + 138: uint16(212), + 139: uint16(213), + 140: uint16(205), + 141: uint16(121), 142: uint16(102), 143: uint16(103), 144: uint16(104), @@ -154548,50 +155864,50 @@ var _yy_lookahead = [2285]uint16{ 166: uint16(55), 167: uint16(56), 168: uint16(57), - 169: uint16(81), - 170: uint16(292), - 171: uint16(59), - 172: uint16(292), - 173: uint16(298), - 174: uint16(108), - 175: uint16(109), - 176: uint16(110), - 177: uint16(111), - 178: uint16(112), - 179: uint16(113), + 169: uint16(240), + 170: uint16(241), + 171: uint16(116), + 172: uint16(117), + 173: uint16(118), + 174: uint16(119), + 175: uint16(240), + 176: uint16(241), + 177: uint16(122), + 178: uint16(123), + 179: uint16(124), 180: uint16(69), - 181: uint16(116), - 182: uint16(117), - 183: uint16(118), - 184: uint16(72), + 181: uint16(298), + 182: uint16(253), + 183: uint16(194), + 184: uint16(255), 185: uint16(106), 186: uint16(107), - 187: uint16(193), - 188: uint16(111), - 189: uint16(112), - 190: uint16(113), + 187: uint16(132), + 188: uint16(253), + 189: uint16(141), + 190: uint16(255), 191: uint16(54), 192: uint16(55), 193: uint16(56), 194: uint16(57), 195: uint16(58), - 196: uint16(102), - 197: uint16(103), - 198: uint16(104), - 199: uint16(105), - 200: uint16(106), - 201: uint16(107), - 202: uint16(108), - 203: uint16(109), - 204: uint16(110), - 205: uint16(111), - 206: uint16(112), - 207: uint16(113), - 208: uint16(120), - 209: uint16(25), - 210: uint16(216), - 211: uint16(217), - 212: uint16(145), + 196: uint16(207), + 197: uint16(268), + 198: uint16(102), + 199: uint16(103), + 200: uint16(104), + 201: uint16(105), + 202: uint16(106), + 203: uint16(107), + 204: uint16(108), + 205: uint16(109), + 206: uint16(110), + 207: uint16(111), + 208: uint16(112), + 209: uint16(113), + 210: uint16(214), + 211: uint16(128), + 212: uint16(129), 213: uint16(102), 214: uint16(103), 215: uint16(104), @@ -154604,13 +155920,13 @@ var _yy_lookahead = [2285]uint16{ 222: uint16(111), 223: uint16(112), 224: uint16(113), - 225: uint16(231), - 226: uint16(138), - 227: uint16(139), - 228: uint16(116), - 229: uint16(117), - 230: uint16(118), - 231: uint16(164), + 225: uint16(134), + 226: uint16(25), + 227: uint16(136), + 228: uint16(137), + 229: uint16(300), + 230: uint16(165), + 231: uint16(166), 232: uint16(153), 233: uint16(19), 234: uint16(155), @@ -154630,12 +155946,12 @@ var _yy_lookahead = [2285]uint16{ 248: uint16(111), 249: uint16(112), 250: uint16(113), - 251: uint16(128), - 252: uint16(129), - 253: uint16(46), - 254: uint16(47), - 255: uint16(48), - 256: uint16(49), + 251: uint16(108), + 252: uint16(109), + 253: uint16(110), + 254: uint16(111), + 255: uint16(112), + 256: uint16(113), 257: uint16(43), 258: uint16(44), 259: uint16(45), @@ -154651,15 +155967,15 @@ var _yy_lookahead = [2285]uint16{ 269: uint16(55), 270: uint16(56), 271: uint16(57), - 272: uint16(216), - 273: uint16(193), - 274: uint16(25), - 275: uint16(59), - 276: uint16(193), + 272: uint16(276), + 273: uint16(277), + 274: uint16(278), + 275: uint16(113), + 276: uint16(194), 277: uint16(19), - 278: uint16(165), - 279: uint16(166), - 280: uint16(193), + 278: uint16(22), + 279: uint16(23), + 280: uint16(194), 281: uint16(67), 282: uint16(24), 283: uint16(102), @@ -154674,12 +155990,12 @@ var _yy_lookahead = [2285]uint16{ 292: uint16(111), 293: uint16(112), 294: uint16(113), - 295: uint16(73), - 296: uint16(216), - 297: uint16(217), - 298: uint16(59), - 299: uint16(216), - 300: uint16(217), + 295: uint16(220), + 296: uint16(250), + 297: uint16(59), + 298: uint16(252), + 299: uint16(217), + 300: uint16(218), 301: uint16(43), 302: uint16(44), 303: uint16(45), @@ -154707,38 +156023,38 @@ var _yy_lookahead = [2285]uint16{ 325: uint16(111), 326: uint16(112), 327: uint16(113), - 328: uint16(121), - 329: uint16(145), - 330: uint16(59), - 331: uint16(193), - 332: uint16(116), - 333: uint16(117), - 334: uint16(118), - 335: uint16(119), - 336: uint16(273), - 337: uint16(204), - 338: uint16(122), - 339: uint16(123), - 340: uint16(124), + 328: uint16(106), + 329: uint16(107), + 330: uint16(108), + 331: uint16(109), + 332: uint16(110), + 333: uint16(111), + 334: uint16(112), + 335: uint16(113), + 336: uint16(254), + 337: uint16(59), + 338: uint16(205), + 339: uint16(138), + 340: uint16(139), 341: uint16(19), 342: uint16(20), - 343: uint16(134), + 343: uint16(194), 344: uint16(22), - 345: uint16(136), - 346: uint16(137), - 347: uint16(19), - 348: uint16(132), - 349: uint16(127), - 350: uint16(128), - 351: uint16(129), - 352: uint16(24), - 353: uint16(22), - 354: uint16(23), - 355: uint16(116), - 356: uint16(117), - 357: uint16(118), + 345: uint16(263), + 346: uint16(22), + 347: uint16(23), + 348: uint16(231), + 349: uint16(25), + 350: uint16(72), + 351: uint16(276), + 352: uint16(277), + 353: uint16(278), + 354: uint16(116), + 355: uint16(117), + 356: uint16(118), + 357: uint16(101), 358: uint16(36), - 359: uint16(193), + 359: uint16(76), 360: uint16(102), 361: uint16(103), 362: uint16(104), @@ -154751,37 +156067,37 @@ var _yy_lookahead = [2285]uint16{ 369: uint16(111), 370: uint16(112), 371: uint16(113), - 372: uint16(239), + 372: uint16(89), 373: uint16(240), - 374: uint16(311), - 375: uint16(312), - 376: uint16(215), - 377: uint16(106), - 378: uint16(107), - 379: uint16(241), + 374: uint16(241), + 375: uint16(92), + 376: uint16(73), + 377: uint16(194), + 378: uint16(194), + 379: uint16(73), 380: uint16(19), 381: uint16(59), - 382: uint16(216), - 383: uint16(217), - 384: uint16(223), - 385: uint16(252), - 386: uint16(115), - 387: uint16(116), - 388: uint16(117), - 389: uint16(118), - 390: uint16(151), - 391: uint16(120), - 392: uint16(26), + 382: uint16(188), + 383: uint16(189), + 384: uint16(190), + 385: uint16(191), + 386: uint16(253), + 387: uint16(81), + 388: uint16(255), + 389: uint16(151), + 390: uint16(196), + 391: uint16(25), + 392: uint16(198), 393: uint16(71), - 394: uint16(193), - 395: uint16(308), - 396: uint16(309), - 397: uint16(193), - 398: uint16(149), - 399: uint16(128), - 400: uint16(313), - 401: uint16(216), - 402: uint16(269), + 394: uint16(116), + 395: uint16(117), + 396: uint16(118), + 397: uint16(311), + 398: uint16(312), + 399: uint16(205), + 400: uint16(217), + 401: uint16(218), + 402: uint16(316), 403: uint16(81), 404: uint16(43), 405: uint16(44), @@ -154798,50 +156114,50 @@ var _yy_lookahead = [2285]uint16{ 416: uint16(55), 417: uint16(56), 418: uint16(57), - 419: uint16(253), - 420: uint16(216), - 421: uint16(217), + 419: uint16(270), + 420: uint16(22), + 421: uint16(23), 422: uint16(100), - 423: uint16(95), - 424: uint16(153), - 425: uint16(59), - 426: uint16(155), - 427: uint16(261), + 423: uint16(25), + 424: uint16(59), + 425: uint16(101), + 426: uint16(138), + 427: uint16(139), 428: uint16(106), 429: uint16(107), - 430: uint16(25), - 431: uint16(193), - 432: uint16(101), - 433: uint16(193), - 434: uint16(193), - 435: uint16(231), + 430: uint16(127), + 431: uint16(128), + 432: uint16(129), + 433: uint16(127), + 434: uint16(240), + 435: uint16(241), 436: uint16(114), - 437: uint16(25), + 437: uint16(254), 438: uint16(116), 439: uint16(117), 440: uint16(118), - 441: uint16(113), - 442: uint16(304), + 441: uint16(76), + 442: uint16(76), 443: uint16(121), - 444: uint16(193), - 445: uint16(204), - 446: uint16(59), - 447: uint16(119), - 448: uint16(120), - 449: uint16(121), - 450: uint16(122), - 451: uint16(123), - 452: uint16(124), - 453: uint16(125), - 454: uint16(216), - 455: uint16(217), - 456: uint16(193), - 457: uint16(216), - 458: uint16(217), - 459: uint16(131), + 444: uint16(138), + 445: uint16(139), + 446: uint16(263), + 447: uint16(253), + 448: uint16(264), + 449: uint16(255), + 450: uint16(205), + 451: uint16(275), + 452: uint16(87), + 453: uint16(19), + 454: uint16(89), + 455: uint16(89), + 456: uint16(194), + 457: uint16(92), + 458: uint16(92), + 459: uint16(199), 460: uint16(138), 461: uint16(139), - 462: uint16(230), + 462: uint16(268), 463: uint16(102), 464: uint16(103), 465: uint16(104), @@ -154859,37 +156175,37 @@ var _yy_lookahead = [2285]uint16{ 477: uint16(155), 478: uint16(156), 479: uint16(157), - 480: uint16(239), - 481: uint16(240), - 482: uint16(116), - 483: uint16(117), - 484: uint16(118), - 485: uint16(76), - 486: uint16(193), - 487: uint16(23), + 480: uint16(81), + 481: uint16(116), + 482: uint16(117), + 483: uint16(118), + 484: uint16(129), + 485: uint16(240), + 486: uint16(241), + 487: uint16(224), 488: uint16(19), - 489: uint16(25), - 490: uint16(22), - 491: uint16(253), + 489: uint16(226), + 490: uint16(314), + 491: uint16(315), 492: uint16(23), - 493: uint16(252), - 494: uint16(253), - 495: uint16(108), - 496: uint16(87), - 497: uint16(204), - 498: uint16(89), - 499: uint16(261), - 500: uint16(198), - 501: uint16(92), - 502: uint16(261), - 503: uint16(116), - 504: uint16(117), - 505: uint16(118), - 506: uint16(193), - 507: uint16(306), - 508: uint16(307), - 509: uint16(216), - 510: uint16(217), + 493: uint16(25), + 494: uint16(300), + 495: uint16(59), + 496: uint16(22), + 497: uint16(234), + 498: uint16(253), + 499: uint16(101), + 500: uint16(255), + 501: uint16(236), + 502: uint16(237), + 503: uint16(26), + 504: uint16(194), + 505: uint16(183), + 506: uint16(194), + 507: uint16(152), + 508: uint16(72), + 509: uint16(22), + 510: uint16(145), 511: uint16(150), 512: uint16(43), 513: uint16(44), @@ -154906,34 +156222,34 @@ var _yy_lookahead = [2285]uint16{ 524: uint16(55), 525: uint16(56), 526: uint16(57), - 527: uint16(59), - 528: uint16(193), - 529: uint16(216), - 530: uint16(217), + 527: uint16(217), + 528: uint16(218), + 529: uint16(217), + 530: uint16(218), 531: uint16(19), - 532: uint16(239), - 533: uint16(240), - 534: uint16(283), + 532: uint16(189), + 533: uint16(59), + 534: uint16(191), 535: uint16(23), - 536: uint16(106), - 537: uint16(107), - 538: uint16(108), - 539: uint16(109), - 540: uint16(110), - 541: uint16(111), - 542: uint16(112), - 543: uint16(113), - 544: uint16(73), - 545: uint16(252), - 546: uint16(253), - 547: uint16(142), - 548: uint16(308), - 549: uint16(309), - 550: uint16(138), - 551: uint16(139), - 552: uint16(81), - 553: uint16(313), - 554: uint16(145), + 536: uint16(59), + 537: uint16(138), + 538: uint16(139), + 539: uint16(196), + 540: uint16(135), + 541: uint16(198), + 542: uint16(232), + 543: uint16(283), + 544: uint16(232), + 545: uint16(140), + 546: uint16(59), + 547: uint16(287), + 548: uint16(205), + 549: uint16(275), + 550: uint16(116), + 551: uint16(205), + 552: uint16(116), + 553: uint16(117), + 554: uint16(118), 555: uint16(43), 556: uint16(44), 557: uint16(45), @@ -154949,7 +156265,7 @@ var _yy_lookahead = [2285]uint16{ 567: uint16(55), 568: uint16(56), 569: uint16(57), - 570: uint16(307), + 570: uint16(194), 571: uint16(102), 572: uint16(103), 573: uint16(104), @@ -154962,37 +156278,37 @@ var _yy_lookahead = [2285]uint16{ 580: uint16(111), 581: uint16(112), 582: uint16(113), - 583: uint16(281), - 584: uint16(116), - 585: uint16(117), - 586: uint16(118), - 587: uint16(285), - 588: uint16(23), - 589: uint16(193), - 590: uint16(25), - 591: uint16(119), - 592: uint16(59), - 593: uint16(193), - 594: uint16(122), - 595: uint16(123), - 596: uint16(124), - 597: uint16(59), - 598: uint16(127), - 599: uint16(203), + 583: uint16(240), + 584: uint16(241), + 585: uint16(194), + 586: uint16(240), + 587: uint16(241), + 588: uint16(314), + 589: uint16(315), + 590: uint16(116), + 591: uint16(117), + 592: uint16(118), + 593: uint16(116), + 594: uint16(117), + 595: uint16(118), + 596: uint16(253), + 597: uint16(194), + 598: uint16(255), + 599: uint16(253), 600: uint16(59), - 601: uint16(205), + 601: uint16(255), 602: uint16(19), - 603: uint16(268), - 604: uint16(132), - 605: uint16(25), + 603: uint16(116), + 604: uint16(117), + 605: uint16(118), 606: uint16(23), 607: uint16(22), - 608: uint16(193), - 609: uint16(138), - 610: uint16(139), - 611: uint16(249), - 612: uint16(204), - 613: uint16(251), + 608: uint16(217), + 609: uint16(218), + 610: uint16(142), + 611: uint16(268), + 612: uint16(205), + 613: uint16(275), 614: uint16(102), 615: uint16(103), 616: uint16(104), @@ -155021,29 +156337,29 @@ var _yy_lookahead = [2285]uint16{ 639: uint16(56), 640: uint16(57), 641: uint16(19), - 642: uint16(22), - 643: uint16(23), + 642: uint16(194), + 643: uint16(300), 644: uint16(59), 645: uint16(23), - 646: uint16(25), - 647: uint16(239), - 648: uint16(240), - 649: uint16(116), - 650: uint16(117), - 651: uint16(118), - 652: uint16(193), - 653: uint16(11), - 654: uint16(116), - 655: uint16(117), - 656: uint16(118), - 657: uint16(116), + 646: uint16(119), + 647: uint16(240), + 648: uint16(241), + 649: uint16(122), + 650: uint16(123), + 651: uint16(124), + 652: uint16(314), + 653: uint16(315), + 654: uint16(194), + 655: uint16(236), + 656: uint16(237), + 657: uint16(194), 658: uint16(117), - 659: uint16(118), - 660: uint16(252), - 661: uint16(269), - 662: uint16(22), - 663: uint16(193), - 664: uint16(15), + 659: uint16(132), + 660: uint16(253), + 661: uint16(81), + 662: uint16(255), + 663: uint16(205), + 664: uint16(59), 665: uint16(43), 666: uint16(44), 667: uint16(45), @@ -155059,11 +156375,11 @@ var _yy_lookahead = [2285]uint16{ 677: uint16(55), 678: uint16(56), 679: uint16(57), - 680: uint16(273), - 681: uint16(143), - 682: uint16(193), - 683: uint16(118), - 684: uint16(143), + 680: uint16(217), + 681: uint16(218), + 682: uint16(194), + 683: uint16(194), + 684: uint16(194), 685: uint16(102), 686: uint16(103), 687: uint16(104), @@ -155076,33 +156392,33 @@ var _yy_lookahead = [2285]uint16{ 694: uint16(111), 695: uint16(112), 696: uint16(113), - 697: uint16(76), - 698: uint16(118), - 699: uint16(59), - 700: uint16(241), + 697: uint16(294), + 698: uint16(240), + 699: uint16(241), + 700: uint16(120), 701: uint16(116), 702: uint16(117), 703: uint16(118), - 704: uint16(304), - 705: uint16(216), + 704: uint16(59), + 705: uint16(194), 706: uint16(217), - 707: uint16(292), - 708: uint16(143), - 709: uint16(60), - 710: uint16(89), - 711: uint16(241), + 707: uint16(218), + 708: uint16(211), + 709: uint16(212), + 710: uint16(213), + 711: uint16(253), 712: uint16(19), - 713: uint16(92), - 714: uint16(193), - 715: uint16(193), + 713: uint16(255), + 714: uint16(194), + 715: uint16(19), 716: uint16(23), - 717: uint16(22), - 718: uint16(311), - 719: uint16(312), - 720: uint16(231), - 721: uint16(101), - 722: uint16(22), - 723: uint16(143), + 717: uint16(254), + 718: uint16(138), + 719: uint16(139), + 720: uint16(24), + 721: uint16(232), + 722: uint16(117), + 723: uint16(194), 724: uint16(102), 725: uint16(103), 726: uint16(104), @@ -155131,29 +156447,29 @@ var _yy_lookahead = [2285]uint16{ 749: uint16(56), 750: uint16(57), 751: uint16(19), - 752: uint16(193), - 753: uint16(193), - 754: uint16(59), + 752: uint16(264), + 753: uint16(108), + 754: uint16(76), 755: uint16(23), - 756: uint16(116), - 757: uint16(117), - 758: uint16(118), - 759: uint16(59), - 760: uint16(201), - 761: uint16(21), - 762: uint16(241), - 763: uint16(304), - 764: uint16(193), - 765: uint16(206), - 766: uint16(127), - 767: uint16(128), - 768: uint16(129), - 769: uint16(193), - 770: uint16(128), - 771: uint16(129), - 772: uint16(235), - 773: uint16(236), - 774: uint16(304), + 756: uint16(127), + 757: uint16(128), + 758: uint16(129), + 759: uint16(311), + 760: uint16(312), + 761: uint16(116), + 762: uint16(117), + 763: uint16(118), + 764: uint16(316), + 765: uint16(87), + 766: uint16(306), + 767: uint16(89), + 768: uint16(308), + 769: uint16(194), + 770: uint16(92), + 771: uint16(22), + 772: uint16(59), + 773: uint16(194), + 774: uint16(22), 775: uint16(43), 776: uint16(44), 777: uint16(45), @@ -155169,11 +156485,11 @@ var _yy_lookahead = [2285]uint16{ 787: uint16(55), 788: uint16(56), 789: uint16(57), - 790: uint16(22), - 791: uint16(193), - 792: uint16(216), - 793: uint16(217), - 794: uint16(193), + 790: uint16(194), + 791: uint16(95), + 792: uint16(217), + 793: uint16(218), + 794: uint16(265), 795: uint16(102), 796: uint16(103), 797: uint16(104), @@ -155186,33 +156502,33 @@ var _yy_lookahead = [2285]uint16{ 804: uint16(111), 805: uint16(112), 806: uint16(113), - 807: uint16(231), - 808: uint16(193), - 809: uint16(193), - 810: uint16(193), - 811: uint16(116), - 812: uint16(117), - 813: uint16(118), - 814: uint16(216), - 815: uint16(217), - 816: uint16(116), - 817: uint16(117), - 818: uint16(118), - 819: uint16(226), - 820: uint16(80), - 821: uint16(193), + 807: uint16(232), + 808: uint16(59), + 809: uint16(113), + 810: uint16(25), + 811: uint16(59), + 812: uint16(194), + 813: uint16(217), + 814: uint16(218), + 815: uint16(119), + 816: uint16(120), + 817: uint16(121), + 818: uint16(122), + 819: uint16(123), + 820: uint16(124), + 821: uint16(125), 822: uint16(19), - 823: uint16(235), - 824: uint16(236), - 825: uint16(304), + 823: uint16(145), + 824: uint16(194), + 825: uint16(194), 826: uint16(23), - 827: uint16(211), - 828: uint16(212), - 829: uint16(231), - 830: uint16(204), - 831: uint16(216), - 832: uint16(217), - 833: uint16(205), + 827: uint16(131), + 828: uint16(232), + 829: uint16(116), + 830: uint16(117), + 831: uint16(118), + 832: uint16(35), + 833: uint16(194), 834: uint16(102), 835: uint16(103), 836: uint16(104), @@ -155241,29 +156557,29 @@ var _yy_lookahead = [2285]uint16{ 859: uint16(56), 860: uint16(57), 861: uint16(19), - 862: uint16(193), - 863: uint16(123), - 864: uint16(76), - 865: uint16(239), - 866: uint16(240), - 867: uint16(193), - 868: uint16(253), - 869: uint16(239), - 870: uint16(240), - 871: uint16(239), - 872: uint16(240), - 873: uint16(244), - 874: uint16(106), - 875: uint16(107), - 876: uint16(193), - 877: uint16(89), - 878: uint16(252), - 879: uint16(193), - 880: uint16(92), - 881: uint16(59), - 882: uint16(252), - 883: uint16(254), - 884: uint16(252), + 862: uint16(194), + 863: uint16(66), + 864: uint16(194), + 865: uint16(116), + 866: uint16(117), + 867: uint16(118), + 868: uint16(116), + 869: uint16(117), + 870: uint16(118), + 871: uint16(74), + 872: uint16(242), + 873: uint16(294), + 874: uint16(194), + 875: uint16(194), + 876: uint16(206), + 877: uint16(23), + 878: uint16(194), + 879: uint16(25), + 880: uint16(194), + 881: uint16(111), + 882: uint16(112), + 883: uint16(113), + 884: uint16(25), 885: uint16(43), 886: uint16(44), 887: uint16(45), @@ -155279,11 +156595,11 @@ var _yy_lookahead = [2285]uint16{ 897: uint16(55), 898: uint16(56), 899: uint16(57), - 900: uint16(284), - 901: uint16(161), - 902: uint16(216), + 900: uint16(24), + 901: uint16(194), + 902: uint16(194), 903: uint16(217), - 904: uint16(193), + 904: uint16(218), 905: uint16(102), 906: uint16(103), 907: uint16(104), @@ -155296,33 +156612,33 @@ var _yy_lookahead = [2285]uint16{ 914: uint16(111), 915: uint16(112), 916: uint16(113), - 917: uint16(231), - 918: uint16(193), - 919: uint16(244), - 920: uint16(187), - 921: uint16(188), - 922: uint16(189), - 923: uint16(190), - 924: uint16(7), - 925: uint16(8), - 926: uint16(9), - 927: uint16(309), - 928: uint16(195), - 929: uint16(254), - 930: uint16(197), - 931: uint16(313), + 917: uint16(241), + 918: uint16(232), + 919: uint16(194), + 920: uint16(212), + 921: uint16(213), + 922: uint16(242), + 923: uint16(242), + 924: uint16(217), + 925: uint16(218), + 926: uint16(242), + 927: uint16(130), + 928: uint16(11), + 929: uint16(253), + 930: uint16(194), + 931: uint16(255), 932: uint16(19), - 933: uint16(127), - 934: uint16(128), - 935: uint16(129), - 936: uint16(262), - 937: uint16(204), - 938: uint16(22), - 939: uint16(117), - 940: uint16(24), - 941: uint16(216), + 933: uint16(265), + 934: uint16(149), + 935: uint16(59), + 936: uint16(306), + 937: uint16(194), + 938: uint16(308), + 939: uint16(232), + 940: uint16(309), + 941: uint16(310), 942: uint16(217), - 943: uint16(273), + 943: uint16(218), 944: uint16(102), 945: uint16(103), 946: uint16(104), @@ -155350,36 +156666,36 @@ var _yy_lookahead = [2285]uint16{ 968: uint16(55), 969: uint16(56), 970: uint16(57), - 971: uint16(193), - 972: uint16(239), - 973: uint16(240), - 974: uint16(193), - 975: uint16(59), + 971: uint16(194), + 972: uint16(194), + 973: uint16(59), + 974: uint16(194), + 975: uint16(239), 976: uint16(19), - 977: uint16(188), - 978: uint16(253), - 979: uint16(190), - 980: uint16(193), - 981: uint16(311), - 982: uint16(312), - 983: uint16(16), - 984: uint16(195), - 985: uint16(252), - 986: uint16(197), - 987: uint16(193), - 988: uint16(19), - 989: uint16(301), - 990: uint16(302), - 991: uint16(135), - 992: uint16(193), - 993: uint16(204), - 994: uint16(216), + 977: uint16(194), + 978: uint16(25), + 979: uint16(254), + 980: uint16(303), + 981: uint16(304), + 982: uint16(23), + 983: uint16(194), + 984: uint16(25), + 985: uint16(126), + 986: uint16(306), + 987: uint16(306), + 988: uint16(308), + 989: uint16(308), + 990: uint16(306), + 991: uint16(271), + 992: uint16(308), + 993: uint16(117), + 994: uint16(286), 995: uint16(217), - 996: uint16(140), - 997: uint16(216), - 998: uint16(217), - 999: uint16(266), - 1000: uint16(204), + 996: uint16(218), + 997: uint16(217), + 998: uint16(218), + 999: uint16(194), + 1000: uint16(194), 1001: uint16(159), 1002: uint16(45), 1003: uint16(46), @@ -155406,38 +156722,38 @@ var _yy_lookahead = [2285]uint16{ 1024: uint16(111), 1025: uint16(112), 1026: uint16(113), - 1027: uint16(12), + 1027: uint16(59), 1028: uint16(239), - 1029: uint16(240), - 1030: uint16(193), - 1031: uint16(298), - 1032: uint16(238), - 1033: uint16(117), - 1034: uint16(253), - 1035: uint16(239), + 1029: uint16(194), + 1030: uint16(116), + 1031: uint16(117), + 1032: uint16(118), + 1033: uint16(260), + 1034: uint16(254), + 1035: uint16(194), 1036: uint16(240), - 1037: uint16(238), - 1038: uint16(259), - 1039: uint16(260), - 1040: uint16(193), - 1041: uint16(252), - 1042: uint16(27), - 1043: uint16(193), - 1044: uint16(77), - 1045: uint16(193), - 1046: uint16(79), - 1047: uint16(204), - 1048: uint16(252), - 1049: uint16(262), - 1050: uint16(193), - 1051: uint16(299), - 1052: uint16(300), - 1053: uint16(193), - 1054: uint16(100), - 1055: uint16(266), - 1056: uint16(278), - 1057: uint16(42), - 1058: uint16(204), + 1037: uint16(241), + 1038: uint16(194), + 1039: uint16(233), + 1040: uint16(205), + 1041: uint16(240), + 1042: uint16(241), + 1043: uint16(205), + 1044: uint16(239), + 1045: uint16(128), + 1046: uint16(129), + 1047: uint16(270), + 1048: uint16(265), + 1049: uint16(253), + 1050: uint16(194), + 1051: uint16(255), + 1052: uint16(217), + 1053: uint16(218), + 1054: uint16(253), + 1055: uint16(194), + 1056: uint16(255), + 1057: uint16(143), + 1058: uint16(280), 1059: uint16(102), 1060: uint16(103), 1061: uint16(104), @@ -155450,51 +156766,51 @@ var _yy_lookahead = [2285]uint16{ 1068: uint16(111), 1069: uint16(112), 1070: uint16(113), - 1071: uint16(117), + 1071: uint16(118), 1072: uint16(159), - 1073: uint16(216), - 1074: uint16(217), - 1075: uint16(121), - 1076: uint16(216), - 1077: uint16(217), - 1078: uint16(63), - 1079: uint16(193), - 1080: uint16(193), - 1081: uint16(193), - 1082: uint16(239), - 1083: uint16(240), - 1084: uint16(115), - 1085: uint16(116), - 1086: uint16(193), - 1087: uint16(298), - 1088: uint16(73), - 1089: uint16(240), - 1090: uint16(238), - 1091: uint16(231), + 1073: uint16(217), + 1074: uint16(218), + 1075: uint16(240), + 1076: uint16(241), + 1077: uint16(118), + 1078: uint16(240), + 1079: uint16(241), + 1080: uint16(194), + 1081: uint16(194), + 1082: uint16(194), + 1083: uint16(239), + 1084: uint16(116), + 1085: uint16(117), + 1086: uint16(118), + 1087: uint16(22), + 1088: uint16(253), + 1089: uint16(254), + 1090: uint16(255), + 1091: uint16(253), 1092: uint16(19), - 1093: uint16(239), - 1094: uint16(240), - 1095: uint16(252), - 1096: uint16(22), + 1093: uint16(255), + 1094: uint16(233), + 1095: uint16(194), + 1096: uint16(143), 1097: uint16(24), - 1098: uint16(211), + 1098: uint16(263), 1099: uint16(212), - 1100: uint16(263), - 1101: uint16(252), - 1102: uint16(216), + 1100: uint16(213), + 1101: uint16(194), + 1102: uint16(143), 1103: uint16(217), - 1104: uint16(216), + 1104: uint16(218), 1105: uint16(217), - 1106: uint16(252), - 1107: uint16(153), - 1108: uint16(154), - 1109: uint16(155), - 1110: uint16(253), - 1111: uint16(193), + 1106: uint16(218), + 1107: uint16(261), + 1108: uint16(262), + 1109: uint16(271), + 1110: uint16(254), + 1111: uint16(143), 1112: uint16(19), - 1113: uint16(144), - 1114: uint16(213), - 1115: uint16(268), + 1113: uint16(7), + 1114: uint16(8), + 1115: uint16(9), 1116: uint16(43), 1117: uint16(44), 1118: uint16(45), @@ -155510,11 +156826,11 @@ var _yy_lookahead = [2285]uint16{ 1128: uint16(55), 1129: uint16(56), 1130: uint16(57), - 1131: uint16(193), + 1131: uint16(16), 1132: uint16(19), - 1133: uint16(59), - 1134: uint16(216), - 1135: uint16(217), + 1133: uint16(22), + 1134: uint16(23), + 1135: uint16(294), 1136: uint16(43), 1137: uint16(44), 1138: uint16(45), @@ -155530,11 +156846,11 @@ var _yy_lookahead = [2285]uint16{ 1148: uint16(55), 1149: uint16(56), 1150: uint16(57), - 1151: uint16(193), - 1152: uint16(19), - 1153: uint16(24), - 1154: uint16(216), - 1155: uint16(217), + 1151: uint16(312), + 1152: uint16(194), + 1153: uint16(214), + 1154: uint16(21), + 1155: uint16(316), 1156: uint16(43), 1157: uint16(44), 1158: uint16(45), @@ -155550,10 +156866,10 @@ var _yy_lookahead = [2285]uint16{ 1168: uint16(55), 1169: uint16(56), 1170: uint16(57), - 1171: uint16(284), - 1172: uint16(193), - 1173: uint16(208), - 1174: uint16(209), + 1171: uint16(106), + 1172: uint16(107), + 1173: uint16(286), + 1174: uint16(194), 1175: uint16(102), 1176: uint16(103), 1177: uint16(104), @@ -155566,14 +156882,14 @@ var _yy_lookahead = [2285]uint16{ 1184: uint16(111), 1185: uint16(112), 1186: uint16(113), - 1187: uint16(286), - 1188: uint16(59), - 1189: uint16(193), - 1190: uint16(232), - 1191: uint16(117), - 1192: uint16(291), - 1193: uint16(193), - 1194: uint16(193), + 1187: uint16(207), + 1188: uint16(158), + 1189: uint16(59), + 1190: uint16(160), + 1191: uint16(22), + 1192: uint16(77), + 1193: uint16(24), + 1194: uint16(79), 1195: uint16(102), 1196: uint16(103), 1197: uint16(104), @@ -155586,14 +156902,14 @@ var _yy_lookahead = [2285]uint16{ 1204: uint16(111), 1205: uint16(112), 1206: uint16(113), - 1207: uint16(193), - 1208: uint16(204), - 1209: uint16(22), - 1210: uint16(23), - 1211: uint16(193), - 1212: uint16(25), - 1213: uint16(66), - 1214: uint16(193), + 1207: uint16(194), + 1208: uint16(194), + 1209: uint16(229), + 1210: uint16(194), + 1211: uint16(231), + 1212: uint16(101), + 1213: uint16(80), + 1214: uint16(22), 1215: uint16(102), 1216: uint16(103), 1217: uint16(104), @@ -155606,39 +156922,39 @@ var _yy_lookahead = [2285]uint16{ 1224: uint16(111), 1225: uint16(112), 1226: uint16(113), - 1227: uint16(193), - 1228: uint16(193), - 1229: uint16(193), - 1230: uint16(216), - 1231: uint16(217), - 1232: uint16(85), - 1233: uint16(193), - 1234: uint16(238), + 1227: uint16(288), + 1228: uint16(59), + 1229: uint16(12), + 1230: uint16(217), + 1231: uint16(218), + 1232: uint16(293), + 1233: uint16(217), + 1234: uint16(218), 1235: uint16(19), - 1236: uint16(16), - 1237: uint16(216), - 1238: uint16(217), - 1239: uint16(238), - 1240: uint16(193), - 1241: uint16(94), - 1242: uint16(193), - 1243: uint16(239), - 1244: uint16(240), - 1245: uint16(231), - 1246: uint16(117), - 1247: uint16(268), - 1248: uint16(35), - 1249: uint16(116), - 1250: uint16(216), - 1251: uint16(217), - 1252: uint16(216), - 1253: uint16(217), - 1254: uint16(22), - 1255: uint16(23), - 1256: uint16(252), - 1257: uint16(25), - 1258: uint16(208), - 1259: uint16(209), + 1236: uint16(106), + 1237: uint16(107), + 1238: uint16(59), + 1239: uint16(19), + 1240: uint16(16), + 1241: uint16(127), + 1242: uint16(128), + 1243: uint16(129), + 1244: uint16(27), + 1245: uint16(115), + 1246: uint16(116), + 1247: uint16(117), + 1248: uint16(118), + 1249: uint16(194), + 1250: uint16(120), + 1251: uint16(59), + 1252: uint16(22), + 1253: uint16(194), + 1254: uint16(24), + 1255: uint16(194), + 1256: uint16(123), + 1257: uint16(100), + 1258: uint16(128), + 1259: uint16(42), 1260: uint16(44), 1261: uint16(45), 1262: uint16(46), @@ -155653,50 +156969,50 @@ var _yy_lookahead = [2285]uint16{ 1271: uint16(55), 1272: uint16(56), 1273: uint16(57), - 1274: uint16(193), - 1275: uint16(193), - 1276: uint16(19), - 1277: uint16(5), - 1278: uint16(59), - 1279: uint16(66), - 1280: uint16(193), - 1281: uint16(263), - 1282: uint16(10), - 1283: uint16(11), - 1284: uint16(12), - 1285: uint16(13), - 1286: uint16(14), - 1287: uint16(74), - 1288: uint16(101), - 1289: uint16(17), - 1290: uint16(193), - 1291: uint16(46), - 1292: uint16(193), - 1293: uint16(146), - 1294: uint16(193), - 1295: uint16(76), - 1296: uint16(213), - 1297: uint16(77), - 1298: uint16(263), - 1299: uint16(79), - 1300: uint16(12), - 1301: uint16(260), - 1302: uint16(30), - 1303: uint16(46), - 1304: uint16(32), - 1305: uint16(264), - 1306: uint16(87), - 1307: uint16(193), - 1308: uint16(89), - 1309: uint16(29), - 1310: uint16(263), - 1311: uint16(92), - 1312: uint16(40), - 1313: uint16(33), - 1314: uint16(232), - 1315: uint16(27), - 1316: uint16(193), - 1317: uint16(108), + 1274: uint16(117), + 1275: uint16(194), + 1276: uint16(217), + 1277: uint16(218), + 1278: uint16(121), + 1279: uint16(100), + 1280: uint16(63), + 1281: uint16(194), + 1282: uint16(245), + 1283: uint16(153), + 1284: uint16(194), + 1285: uint16(155), + 1286: uint16(117), + 1287: uint16(19), + 1288: uint16(115), + 1289: uint16(194), + 1290: uint16(73), + 1291: uint16(214), + 1292: uint16(194), + 1293: uint16(256), + 1294: uint16(161), + 1295: uint16(116), + 1296: uint16(117), + 1297: uint16(194), + 1298: uint16(217), + 1299: uint16(218), + 1300: uint16(121), + 1301: uint16(77), + 1302: uint16(194), + 1303: uint16(79), + 1304: uint16(217), + 1305: uint16(218), + 1306: uint16(194), + 1307: uint16(217), + 1308: uint16(218), + 1309: uint16(117), + 1310: uint16(153), + 1311: uint16(154), + 1312: uint16(155), + 1313: uint16(254), + 1314: uint16(46), + 1315: uint16(217), + 1316: uint16(218), + 1317: uint16(144), 1318: uint16(102), 1319: uint16(103), 1320: uint16(104), @@ -155709,1025 +157025,1068 @@ var _yy_lookahead = [2285]uint16{ 1327: uint16(111), 1328: uint16(112), 1329: uint16(113), - 1330: uint16(42), - 1331: uint16(138), - 1332: uint16(139), - 1333: uint16(101), - 1334: uint16(193), - 1335: uint16(116), - 1336: uint16(117), - 1337: uint16(118), + 1330: uint16(232), + 1331: uint16(270), + 1332: uint16(153), + 1333: uint16(154), + 1334: uint16(155), + 1335: uint16(115), + 1336: uint16(116), + 1337: uint16(66), 1338: uint16(19), 1339: uint16(20), - 1340: uint16(255), + 1340: uint16(183), 1341: uint16(22), - 1342: uint16(70), - 1343: uint16(130), - 1344: uint16(135), - 1345: uint16(65), - 1346: uint16(256), - 1347: uint16(257), - 1348: uint16(193), - 1349: uint16(140), - 1350: uint16(78), - 1351: uint16(63), - 1352: uint16(193), - 1353: uint16(81), - 1354: uint16(193), + 1342: uint16(12), + 1343: uint16(312), + 1344: uint16(254), + 1345: uint16(194), + 1346: uint16(262), + 1347: uint16(316), + 1348: uint16(209), + 1349: uint16(210), + 1350: uint16(266), + 1351: uint16(239), + 1352: uint16(194), + 1353: uint16(194), + 1354: uint16(108), 1355: uint16(36), - 1356: uint16(193), - 1357: uint16(216), - 1358: uint16(217), - 1359: uint16(193), - 1360: uint16(115), - 1361: uint16(193), - 1362: uint16(263), - 1363: uint16(193), - 1364: uint16(145), - 1365: uint16(268), - 1366: uint16(59), + 1356: uint16(85), + 1357: uint16(27), + 1358: uint16(19), + 1359: uint16(20), + 1360: uint16(265), + 1361: uint16(22), + 1362: uint16(183), + 1363: uint16(245), + 1364: uint16(144), + 1365: uint16(94), + 1366: uint16(25), 1367: uint16(48), - 1368: uint16(193), - 1369: uint16(193), - 1370: uint16(98), - 1371: uint16(193), - 1372: uint16(115), - 1373: uint16(193), - 1374: uint16(291), - 1375: uint16(216), + 1368: uint16(217), + 1369: uint16(218), + 1370: uint16(293), + 1371: uint16(194), + 1372: uint16(42), + 1373: uint16(270), + 1374: uint16(256), + 1375: uint16(36), 1376: uint16(217), - 1377: uint16(193), + 1377: uint16(218), 1378: uint16(59), - 1379: uint16(216), - 1380: uint16(217), - 1381: uint16(161), - 1382: uint16(216), - 1383: uint16(217), - 1384: uint16(216), - 1385: uint16(217), - 1386: uint16(216), - 1387: uint16(217), - 1388: uint16(131), - 1389: uint16(193), + 1379: uint16(194), + 1380: uint16(25), + 1381: uint16(135), + 1382: uint16(194), + 1383: uint16(115), + 1384: uint16(194), + 1385: uint16(161), + 1386: uint16(140), + 1387: uint16(194), + 1388: uint16(194), + 1389: uint16(15), 1390: uint16(71), - 1391: uint16(193), - 1392: uint16(216), - 1393: uint16(217), - 1394: uint16(216), - 1395: uint16(217), - 1396: uint16(216), - 1397: uint16(217), - 1398: uint16(193), - 1399: uint16(260), - 1400: uint16(216), - 1401: uint16(217), - 1402: uint16(19), - 1403: uint16(264), + 1391: uint16(194), + 1392: uint16(312), + 1393: uint16(63), + 1394: uint16(217), + 1395: uint16(218), + 1396: uint16(316), + 1397: uint16(194), + 1398: uint16(59), + 1399: uint16(131), + 1400: uint16(301), + 1401: uint16(302), + 1402: uint16(217), + 1403: uint16(218), 1404: uint16(85), - 1405: uint16(133), - 1406: uint16(244), - 1407: uint16(100), - 1408: uint16(193), + 1405: uint16(217), + 1406: uint16(218), + 1407: uint16(217), + 1408: uint16(218), 1409: uint16(90), - 1410: uint16(138), - 1411: uint16(139), - 1412: uint16(216), - 1413: uint16(217), - 1414: uint16(216), - 1415: uint16(217), - 1416: uint16(254), - 1417: uint16(244), - 1418: uint16(193), + 1410: uint16(71), + 1411: uint16(217), + 1412: uint16(218), + 1413: uint16(19), + 1414: uint16(217), + 1415: uint16(218), + 1416: uint16(245), + 1417: uint16(146), + 1418: uint16(262), 1419: uint16(100), - 1420: uint16(193), - 1421: uint16(216), - 1422: uint16(217), - 1423: uint16(116), - 1424: uint16(117), + 1420: uint16(217), + 1421: uint16(218), + 1422: uint16(266), + 1423: uint16(265), + 1424: uint16(85), 1425: uint16(106), 1426: uint16(107), - 1427: uint16(254), - 1428: uint16(121), - 1429: uint16(193), - 1430: uint16(115), - 1431: uint16(216), - 1432: uint16(217), + 1427: uint16(256), + 1428: uint16(312), + 1429: uint16(90), + 1430: uint16(209), + 1431: uint16(210), + 1432: uint16(316), 1433: uint16(114), - 1434: uint16(162), + 1434: uint16(60), 1435: uint16(116), 1436: uint16(117), 1437: uint16(118), - 1438: uint16(115), - 1439: uint16(244), + 1438: uint16(194), + 1439: uint16(100), 1440: uint16(121), - 1441: uint16(216), - 1442: uint16(217), - 1443: uint16(216), - 1444: uint16(217), - 1445: uint16(193), - 1446: uint16(309), - 1447: uint16(193), - 1448: uint16(31), - 1449: uint16(254), - 1450: uint16(313), - 1451: uint16(309), - 1452: uint16(216), - 1453: uint16(217), - 1454: uint16(309), - 1455: uint16(313), - 1456: uint16(39), - 1457: uint16(193), - 1458: uint16(313), - 1459: uint16(309), - 1460: uint16(153), - 1461: uint16(154), - 1462: uint16(155), - 1463: uint16(313), - 1464: uint16(193), - 1465: uint16(150), - 1466: uint16(25), - 1467: uint16(144), - 1468: uint16(216), - 1469: uint16(217), - 1470: uint16(216), - 1471: uint16(217), + 1441: uint16(194), + 1442: uint16(194), + 1443: uint16(145), + 1444: uint16(115), + 1445: uint16(106), + 1446: uint16(107), + 1447: uint16(19), + 1448: uint16(46), + 1449: uint16(19), + 1450: uint16(20), + 1451: uint16(24), + 1452: uint16(22), + 1453: uint16(114), + 1454: uint16(194), + 1455: uint16(116), + 1456: uint16(117), + 1457: uint16(118), + 1458: uint16(194), + 1459: uint16(245), + 1460: uint16(121), + 1461: uint16(194), + 1462: uint16(164), + 1463: uint16(194), + 1464: uint16(217), + 1465: uint16(218), + 1466: uint16(36), + 1467: uint16(194), + 1468: uint16(258), + 1469: uint16(259), + 1470: uint16(256), + 1471: uint16(194), 1472: uint16(153), 1473: uint16(154), 1474: uint16(155), 1475: uint16(156), 1476: uint16(157), - 1478: uint16(1), - 1479: uint16(2), - 1480: uint16(216), + 1477: uint16(217), + 1478: uint16(218), + 1479: uint16(150), + 1480: uint16(31), 1481: uint16(217), - 1482: uint16(5), - 1483: uint16(149), - 1484: uint16(150), - 1485: uint16(22), - 1486: uint16(193), - 1487: uint16(10), - 1488: uint16(11), - 1489: uint16(12), - 1490: uint16(13), - 1491: uint16(14), - 1492: uint16(193), - 1493: uint16(158), - 1494: uint16(17), - 1495: uint16(160), - 1496: uint16(193), - 1497: uint16(19), - 1498: uint16(20), - 1499: uint16(116), - 1500: uint16(22), - 1501: uint16(25), - 1502: uint16(193), - 1503: uint16(24), - 1504: uint16(22), - 1505: uint16(193), - 1506: uint16(24), - 1507: uint16(30), - 1508: uint16(226), - 1509: uint16(32), - 1510: uint16(19), - 1511: uint16(20), - 1512: uint16(226), - 1513: uint16(22), - 1514: uint16(36), - 1515: uint16(193), - 1516: uint16(53), - 1517: uint16(40), - 1518: uint16(193), - 1519: uint16(216), - 1520: uint16(217), - 1521: uint16(193), - 1522: uint16(23), - 1523: uint16(193), - 1524: uint16(25), - 1525: uint16(216), - 1526: uint16(217), - 1527: uint16(36), - 1528: uint16(216), - 1529: uint16(217), - 1530: uint16(193), - 1531: uint16(99), - 1532: uint16(193), - 1533: uint16(193), - 1534: uint16(22), - 1535: uint16(193), - 1536: uint16(193), - 1537: uint16(59), - 1538: uint16(216), + 1482: uint16(218), + 1483: uint16(142), + 1484: uint16(217), + 1485: uint16(218), + 1486: uint16(217), + 1487: uint16(218), + 1488: uint16(39), + 1489: uint16(59), + 1490: uint16(217), + 1491: uint16(218), + 1492: uint16(153), + 1493: uint16(154), + 1494: uint16(155), + 1495: uint16(156), + 1496: uint16(157), + 1497: uint16(149), + 1498: uint16(150), + 1499: uint16(5), + 1500: uint16(145), + 1501: uint16(71), + 1502: uint16(183), + 1503: uint16(245), + 1504: uint16(10), + 1505: uint16(11), + 1506: uint16(12), + 1507: uint16(13), + 1508: uint16(14), + 1509: uint16(194), + 1510: uint16(116), + 1511: uint16(17), + 1512: uint16(129), + 1513: uint16(227), + 1514: uint16(256), + 1515: uint16(85), + 1516: uint16(194), + 1517: uint16(115), + 1518: uint16(194), + 1519: uint16(23), + 1520: uint16(90), + 1521: uint16(25), + 1522: uint16(183), + 1523: uint16(99), + 1524: uint16(30), + 1525: uint16(97), + 1526: uint16(32), + 1527: uint16(22), + 1528: uint16(22), + 1529: uint16(194), + 1530: uint16(100), + 1531: uint16(194), + 1532: uint16(217), + 1533: uint16(218), + 1534: uint16(40), + 1535: uint16(152), + 1536: uint16(106), + 1537: uint16(107), + 1538: uint16(23), 1539: uint16(217), - 1540: uint16(193), - 1541: uint16(216), - 1542: uint16(217), - 1543: uint16(193), - 1544: uint16(216), - 1545: uint16(217), - 1546: uint16(193), - 1547: uint16(70), - 1548: uint16(129), - 1549: uint16(71), - 1550: uint16(59), - 1551: uint16(129), - 1552: uint16(193), - 1553: uint16(216), + 1540: uint16(218), + 1541: uint16(194), + 1542: uint16(19), + 1543: uint16(20), + 1544: uint16(114), + 1545: uint16(22), + 1546: uint16(116), + 1547: uint16(117), + 1548: uint16(118), + 1549: uint16(257), + 1550: uint16(194), + 1551: uint16(121), + 1552: uint16(217), + 1553: uint16(218), 1554: uint16(217), - 1555: uint16(78), - 1556: uint16(216), - 1557: uint16(217), - 1558: uint16(81), - 1559: uint16(216), - 1560: uint16(217), - 1561: uint16(193), - 1562: uint16(71), - 1563: uint16(85), - 1564: uint16(193), - 1565: uint16(133), - 1566: uint16(193), - 1567: uint16(126), - 1568: uint16(90), - 1569: uint16(216), - 1570: uint16(217), - 1571: uint16(152), - 1572: uint16(258), - 1573: uint16(61), - 1574: uint16(152), - 1575: uint16(98), - 1576: uint16(85), - 1577: uint16(193), - 1578: uint16(100), - 1579: uint16(193), - 1580: uint16(23), - 1581: uint16(90), - 1582: uint16(25), - 1583: uint16(121), - 1584: uint16(106), - 1585: uint16(107), - 1586: uint16(23), - 1587: uint16(216), - 1588: uint16(217), - 1589: uint16(216), - 1590: uint16(217), - 1591: uint16(100), - 1592: uint16(114), - 1593: uint16(131), - 1594: uint16(116), - 1595: uint16(117), - 1596: uint16(118), - 1597: uint16(106), - 1598: uint16(107), - 1599: uint16(121), - 1600: uint16(216), - 1601: uint16(217), - 1602: uint16(216), - 1603: uint16(217), - 1604: uint16(193), - 1605: uint16(114), - 1606: uint16(193), - 1607: uint16(116), - 1608: uint16(117), - 1609: uint16(118), - 1610: uint16(133), - 1611: uint16(22), - 1612: uint16(121), - 1613: uint16(193), - 1614: uint16(59), - 1615: uint16(138), - 1616: uint16(139), - 1617: uint16(193), - 1618: uint16(142), - 1619: uint16(193), - 1620: uint16(141), - 1621: uint16(23), - 1622: uint16(23), - 1623: uint16(25), - 1624: uint16(25), - 1625: uint16(120), - 1626: uint16(121), - 1627: uint16(216), - 1628: uint16(217), - 1629: uint16(216), - 1630: uint16(217), - 1631: uint16(153), - 1632: uint16(154), - 1633: uint16(155), - 1634: uint16(156), - 1635: uint16(157), - 1636: uint16(216), - 1637: uint16(217), - 1638: uint16(19), - 1639: uint16(162), - 1640: uint16(216), - 1641: uint16(217), - 1642: uint16(216), - 1643: uint16(217), - 1644: uint16(153), - 1645: uint16(154), - 1646: uint16(155), - 1647: uint16(156), - 1648: uint16(157), - 1649: uint16(1), - 1650: uint16(2), - 1651: uint16(193), - 1652: uint16(59), - 1653: uint16(5), - 1654: uint16(19), - 1655: uint16(20), - 1656: uint16(318), - 1657: uint16(22), - 1658: uint16(10), - 1659: uint16(11), - 1660: uint16(12), - 1661: uint16(13), - 1662: uint16(14), - 1663: uint16(193), - 1664: uint16(59), - 1665: uint16(17), - 1666: uint16(193), - 1667: uint16(23), - 1668: uint16(23), - 1669: uint16(25), - 1670: uint16(25), - 1671: uint16(36), - 1672: uint16(117), - 1673: uint16(193), - 1674: uint16(216), - 1675: uint16(217), - 1676: uint16(193), - 1677: uint16(23), - 1678: uint16(30), - 1679: uint16(25), - 1680: uint16(32), - 1681: uint16(19), - 1682: uint16(20), - 1683: uint16(23), - 1684: uint16(22), - 1685: uint16(25), - 1686: uint16(216), - 1687: uint16(217), - 1688: uint16(40), - 1689: uint16(216), + 1555: uint16(218), + 1556: uint16(194), + 1557: uint16(133), + 1558: uint16(53), + 1559: uint16(36), + 1560: uint16(23), + 1561: uint16(23), + 1562: uint16(25), + 1563: uint16(25), + 1564: uint16(70), + 1565: uint16(120), + 1566: uint16(121), + 1567: uint16(61), + 1568: uint16(141), + 1569: uint16(7), + 1570: uint16(8), + 1571: uint16(121), + 1572: uint16(78), + 1573: uint16(217), + 1574: uint16(218), + 1575: uint16(81), + 1576: uint16(23), + 1577: uint16(227), + 1578: uint16(25), + 1579: uint16(217), + 1580: uint16(218), + 1581: uint16(131), + 1582: uint16(59), + 1583: uint16(153), + 1584: uint16(154), + 1585: uint16(155), + 1586: uint16(156), + 1587: uint16(157), + 1589: uint16(1), + 1590: uint16(2), + 1591: uint16(59), + 1592: uint16(98), + 1593: uint16(5), + 1594: uint16(71), + 1595: uint16(23), + 1596: uint16(227), + 1597: uint16(25), + 1598: uint16(10), + 1599: uint16(11), + 1600: uint16(12), + 1601: uint16(13), + 1602: uint16(14), + 1603: uint16(83), + 1604: uint16(84), + 1605: uint16(17), + 1606: uint16(23), + 1607: uint16(23), + 1608: uint16(25), + 1609: uint16(25), + 1610: uint16(59), + 1611: uint16(194), + 1612: uint16(194), + 1613: uint16(183), + 1614: uint16(23), + 1615: uint16(23), + 1616: uint16(25), + 1617: uint16(25), + 1618: uint16(30), + 1619: uint16(194), + 1620: uint16(32), + 1621: uint16(19), + 1622: uint16(20), + 1623: uint16(100), + 1624: uint16(22), + 1625: uint16(194), + 1626: uint16(194), + 1627: uint16(133), + 1628: uint16(40), + 1629: uint16(106), + 1630: uint16(107), + 1631: uint16(108), + 1632: uint16(138), + 1633: uint16(139), + 1634: uint16(194), + 1635: uint16(217), + 1636: uint16(218), + 1637: uint16(114), + 1638: uint16(36), + 1639: uint16(116), + 1640: uint16(117), + 1641: uint16(118), + 1642: uint16(217), + 1643: uint16(218), + 1644: uint16(121), + 1645: uint16(194), + 1646: uint16(194), + 1647: uint16(194), + 1648: uint16(23), + 1649: uint16(117), + 1650: uint16(25), + 1651: uint16(194), + 1652: uint16(23), + 1653: uint16(23), + 1654: uint16(25), + 1655: uint16(25), + 1656: uint16(162), + 1657: uint16(194), + 1658: uint16(70), + 1659: uint16(194), + 1660: uint16(145), + 1661: uint16(59), + 1662: uint16(23), + 1663: uint16(153), + 1664: uint16(25), + 1665: uint16(155), + 1666: uint16(78), + 1667: uint16(194), + 1668: uint16(117), + 1669: uint16(81), + 1670: uint16(217), + 1671: uint16(218), + 1672: uint16(194), + 1673: uint16(71), + 1674: uint16(217), + 1675: uint16(218), + 1676: uint16(153), + 1677: uint16(154), + 1678: uint16(155), + 1679: uint16(156), + 1680: uint16(157), + 1681: uint16(194), + 1682: uint16(217), + 1683: uint16(218), + 1684: uint16(194), + 1685: uint16(23), + 1686: uint16(98), + 1687: uint16(25), + 1688: uint16(321), + 1689: uint16(194), 1690: uint16(217), - 1691: uint16(7), - 1692: uint16(8), - 1693: uint16(23), - 1694: uint16(59), - 1695: uint16(25), - 1696: uint16(83), - 1697: uint16(84), - 1698: uint16(36), - 1699: uint16(23), - 1700: uint16(193), - 1701: uint16(25), - 1702: uint16(23), - 1703: uint16(23), - 1704: uint16(25), - 1705: uint16(25), - 1706: uint16(71), - 1707: uint16(153), - 1708: uint16(145), - 1709: uint16(155), - 1710: uint16(117), - 1711: uint16(153), - 1712: uint16(23), - 1713: uint16(155), - 1714: uint16(25), - 1715: uint16(23), - 1716: uint16(97), - 1717: uint16(25), - 1718: uint16(70), - 1719: uint16(193), - 1720: uint16(193), - 1721: uint16(59), - 1722: uint16(117), - 1723: uint16(236), - 1724: uint16(193), - 1725: uint16(193), - 1726: uint16(78), - 1727: uint16(193), - 1728: uint16(193), - 1729: uint16(81), - 1730: uint16(141), - 1731: uint16(193), - 1732: uint16(193), - 1733: uint16(71), - 1734: uint16(193), - 1735: uint16(100), - 1736: uint16(288), - 1737: uint16(287), - 1738: uint16(242), - 1739: uint16(255), - 1740: uint16(255), - 1741: uint16(106), - 1742: uint16(107), - 1743: uint16(108), - 1744: uint16(255), - 1745: uint16(255), - 1746: uint16(98), - 1747: uint16(243), - 1748: uint16(297), - 1749: uint16(114), - 1750: uint16(214), - 1751: uint16(116), - 1752: uint16(117), - 1753: uint16(118), - 1754: uint16(245), - 1755: uint16(191), - 1756: uint16(121), - 1757: uint16(271), - 1758: uint16(293), - 1759: uint16(267), - 1760: uint16(267), - 1761: uint16(246), - 1762: uint16(100), - 1763: uint16(246), - 1764: uint16(245), - 1765: uint16(271), - 1766: uint16(271), - 1767: uint16(293), - 1768: uint16(106), - 1769: uint16(107), - 1770: uint16(220), - 1771: uint16(271), - 1772: uint16(229), - 1773: uint16(225), - 1774: uint16(249), - 1775: uint16(219), - 1776: uint16(114), - 1777: uint16(259), - 1778: uint16(116), - 1779: uint16(117), - 1780: uint16(118), - 1781: uint16(133), - 1782: uint16(259), - 1783: uint16(121), - 1784: uint16(219), - 1785: uint16(219), - 1786: uint16(138), - 1787: uint16(139), - 1788: uint16(153), - 1789: uint16(154), - 1790: uint16(155), - 1791: uint16(156), - 1792: uint16(157), - 1793: uint16(280), - 1794: uint16(249), - 1795: uint16(243), - 1796: uint16(19), - 1797: uint16(20), - 1798: uint16(245), - 1799: uint16(22), - 1800: uint16(196), - 1801: uint16(259), - 1802: uint16(140), - 1803: uint16(259), - 1804: uint16(60), - 1805: uint16(297), - 1806: uint16(141), - 1807: uint16(297), - 1808: uint16(200), - 1809: uint16(200), - 1810: uint16(162), - 1811: uint16(38), - 1812: uint16(200), - 1813: uint16(36), - 1814: uint16(294), - 1815: uint16(153), - 1816: uint16(154), - 1817: uint16(155), - 1818: uint16(156), - 1819: uint16(157), - 1820: uint16(151), - 1821: uint16(150), - 1822: uint16(294), - 1823: uint16(283), - 1824: uint16(22), - 1825: uint16(43), - 1826: uint16(234), - 1827: uint16(18), - 1828: uint16(237), - 1829: uint16(200), - 1830: uint16(270), - 1831: uint16(272), - 1832: uint16(237), - 1833: uint16(237), - 1834: uint16(237), - 1835: uint16(18), - 1836: uint16(59), - 1837: uint16(199), - 1838: uint16(270), - 1839: uint16(149), - 1840: uint16(246), - 1841: uint16(272), - 1842: uint16(272), - 1843: uint16(200), - 1844: uint16(234), - 1845: uint16(234), - 1846: uint16(246), - 1847: uint16(246), - 1848: uint16(71), - 1849: uint16(246), - 1850: uint16(199), - 1851: uint16(158), - 1852: uint16(290), - 1853: uint16(62), - 1854: uint16(22), - 1855: uint16(200), - 1856: uint16(19), - 1857: uint16(20), - 1858: uint16(199), - 1859: uint16(22), - 1860: uint16(289), - 1861: uint16(221), - 1862: uint16(221), - 1863: uint16(200), - 1864: uint16(200), - 1865: uint16(199), - 1866: uint16(199), - 1867: uint16(115), - 1868: uint16(218), - 1869: uint16(64), - 1870: uint16(218), - 1871: uint16(218), + 1691: uint16(218), + 1692: uint16(194), + 1693: uint16(19), + 1694: uint16(20), + 1695: uint16(194), + 1696: uint16(22), + 1697: uint16(153), + 1698: uint16(23), + 1699: uint16(155), + 1700: uint16(25), + 1701: uint16(194), + 1702: uint16(100), + 1703: uint16(194), + 1704: uint16(217), + 1705: uint16(218), + 1706: uint16(183), + 1707: uint16(194), + 1708: uint16(106), + 1709: uint16(107), + 1710: uint16(36), + 1711: uint16(194), + 1712: uint16(217), + 1713: uint16(218), + 1714: uint16(237), + 1715: uint16(194), + 1716: uint16(114), + 1717: uint16(243), + 1718: uint16(116), + 1719: uint16(117), + 1720: uint16(118), + 1721: uint16(133), + 1722: uint16(194), + 1723: uint16(121), + 1724: uint16(217), + 1725: uint16(218), + 1726: uint16(138), + 1727: uint16(139), + 1728: uint16(194), + 1729: uint16(194), + 1730: uint16(194), + 1731: uint16(290), + 1732: uint16(289), + 1733: uint16(59), + 1734: uint16(217), + 1735: uint16(218), + 1736: uint16(194), + 1737: uint16(194), + 1738: uint16(217), + 1739: uint16(218), + 1740: uint16(194), + 1741: uint16(194), + 1742: uint16(140), + 1743: uint16(194), + 1744: uint16(194), + 1745: uint16(71), + 1746: uint16(194), + 1747: uint16(244), + 1748: uint16(194), + 1749: uint16(194), + 1750: uint16(162), + 1751: uint16(217), + 1752: uint16(218), + 1753: uint16(194), + 1754: uint16(194), + 1755: uint16(153), + 1756: uint16(154), + 1757: uint16(155), + 1758: uint16(156), + 1759: uint16(157), + 1760: uint16(217), + 1761: uint16(218), + 1762: uint16(194), + 1763: uint16(217), + 1764: uint16(218), + 1765: uint16(194), + 1766: uint16(217), + 1767: uint16(218), + 1768: uint16(257), + 1769: uint16(217), + 1770: uint16(218), + 1771: uint16(217), + 1772: uint16(218), + 1773: uint16(257), + 1774: uint16(100), + 1775: uint16(194), + 1776: uint16(257), + 1777: uint16(217), + 1778: uint16(218), + 1779: uint16(257), + 1780: uint16(106), + 1781: uint16(107), + 1782: uint16(215), + 1783: uint16(299), + 1784: uint16(194), + 1785: uint16(183), + 1786: uint16(192), + 1787: uint16(194), + 1788: uint16(114), + 1789: uint16(194), + 1790: uint16(116), + 1791: uint16(117), + 1792: uint16(118), + 1793: uint16(1), + 1794: uint16(2), + 1795: uint16(121), + 1796: uint16(221), + 1797: uint16(5), + 1798: uint16(217), + 1799: uint16(218), + 1800: uint16(273), + 1801: uint16(197), + 1802: uint16(10), + 1803: uint16(11), + 1804: uint16(12), + 1805: uint16(13), + 1806: uint16(14), + 1807: uint16(217), + 1808: uint16(218), + 1809: uint16(17), + 1810: uint16(217), + 1811: uint16(218), + 1812: uint16(217), + 1813: uint16(218), + 1814: uint16(140), + 1815: uint16(194), + 1816: uint16(246), + 1817: uint16(194), + 1818: uint16(273), + 1819: uint16(295), + 1820: uint16(247), + 1821: uint16(273), + 1822: uint16(30), + 1823: uint16(247), + 1824: uint16(32), + 1825: uint16(269), + 1826: uint16(269), + 1827: uint16(153), + 1828: uint16(154), + 1829: uint16(155), + 1830: uint16(156), + 1831: uint16(157), + 1832: uint16(40), + 1833: uint16(246), + 1834: uint16(273), + 1835: uint16(295), + 1836: uint16(230), + 1837: uint16(226), + 1838: uint16(217), + 1839: uint16(218), + 1840: uint16(217), + 1841: uint16(218), + 1842: uint16(220), + 1843: uint16(261), + 1844: uint16(220), + 1845: uint16(282), + 1846: uint16(220), + 1847: uint16(19), + 1848: uint16(20), + 1849: uint16(244), + 1850: uint16(22), + 1851: uint16(250), + 1852: uint16(141), + 1853: uint16(250), + 1854: uint16(246), + 1855: uint16(60), + 1856: uint16(201), + 1857: uint16(183), + 1858: uint16(261), + 1859: uint16(261), + 1860: uint16(261), + 1861: uint16(201), + 1862: uint16(70), + 1863: uint16(299), + 1864: uint16(36), + 1865: uint16(299), + 1866: uint16(201), + 1867: uint16(38), + 1868: uint16(151), + 1869: uint16(150), + 1870: uint16(78), + 1871: uint16(285), 1872: uint16(22), - 1873: uint16(36), - 1874: uint16(227), - 1875: uint16(126), - 1876: uint16(227), - 1877: uint16(100), - 1878: uint16(165), - 1879: uint16(221), - 1880: uint16(224), - 1881: uint16(224), - 1882: uint16(24), - 1883: uint16(106), - 1884: uint16(107), - 1885: uint16(312), - 1886: uint16(218), - 1887: uint16(305), - 1888: uint16(113), - 1889: uint16(282), - 1890: uint16(91), - 1891: uint16(114), - 1892: uint16(220), - 1893: uint16(116), - 1894: uint16(117), - 1895: uint16(118), - 1896: uint16(59), - 1897: uint16(282), - 1898: uint16(121), - 1899: uint16(218), - 1900: uint16(218), - 1901: uint16(218), + 1873: uint16(81), + 1874: uint16(296), + 1875: uint16(296), + 1876: uint16(43), + 1877: uint16(235), + 1878: uint16(18), + 1879: uint16(238), + 1880: uint16(201), + 1881: uint16(274), + 1882: uint16(272), + 1883: uint16(238), + 1884: uint16(238), + 1885: uint16(238), + 1886: uint16(18), + 1887: uint16(59), + 1888: uint16(200), + 1889: uint16(149), + 1890: uint16(98), + 1891: uint16(247), + 1892: uint16(274), + 1893: uint16(274), + 1894: uint16(235), + 1895: uint16(247), + 1896: uint16(247), + 1897: uint16(247), + 1898: uint16(235), + 1899: uint16(71), + 1900: uint16(272), + 1901: uint16(201), 1902: uint16(200), - 1903: uint16(317), - 1904: uint16(317), - 1905: uint16(82), - 1906: uint16(221), - 1907: uint16(265), - 1908: uint16(71), - 1909: uint16(148), - 1910: uint16(145), - 1911: uint16(265), - 1912: uint16(22), - 1913: uint16(277), - 1914: uint16(200), - 1915: uint16(158), - 1916: uint16(279), - 1917: uint16(140), - 1918: uint16(147), - 1919: uint16(25), - 1920: uint16(146), - 1921: uint16(202), - 1922: uint16(248), - 1923: uint16(250), - 1924: uint16(249), - 1925: uint16(247), - 1926: uint16(13), - 1927: uint16(250), - 1928: uint16(194), - 1929: uint16(194), - 1930: uint16(153), - 1931: uint16(154), - 1932: uint16(155), - 1933: uint16(156), - 1934: uint16(157), - 1935: uint16(6), - 1936: uint16(303), - 1937: uint16(100), - 1938: uint16(192), - 1939: uint16(192), - 1940: uint16(246), - 1941: uint16(213), - 1942: uint16(192), - 1943: uint16(106), - 1944: uint16(107), - 1945: uint16(207), - 1946: uint16(213), - 1947: uint16(207), - 1948: uint16(222), - 1949: uint16(213), - 1950: uint16(213), - 1951: uint16(114), - 1952: uint16(222), - 1953: uint16(116), - 1954: uint16(117), - 1955: uint16(118), - 1956: uint16(214), - 1957: uint16(214), - 1958: uint16(121), - 1959: uint16(4), - 1960: uint16(207), - 1961: uint16(213), - 1962: uint16(3), - 1963: uint16(22), - 1964: uint16(303), - 1965: uint16(15), - 1966: uint16(163), - 1967: uint16(16), - 1968: uint16(23), - 1969: uint16(23), - 1970: uint16(139), - 1971: uint16(151), - 1972: uint16(130), - 1973: uint16(25), - 1974: uint16(20), - 1975: uint16(142), - 1976: uint16(24), - 1977: uint16(16), - 1978: uint16(144), - 1979: uint16(1), - 1980: uint16(142), - 1981: uint16(130), - 1982: uint16(130), - 1983: uint16(61), - 1984: uint16(37), - 1985: uint16(53), - 1986: uint16(300), - 1987: uint16(151), - 1988: uint16(53), - 1989: uint16(53), - 1990: uint16(153), - 1991: uint16(154), - 1992: uint16(155), - 1993: uint16(156), - 1994: uint16(157), - 1995: uint16(53), - 1996: uint16(130), - 1997: uint16(116), - 1998: uint16(34), - 1999: uint16(1), - 2000: uint16(141), - 2001: uint16(5), - 2002: uint16(22), - 2003: uint16(115), - 2004: uint16(161), - 2005: uint16(68), - 2006: uint16(25), - 2007: uint16(68), - 2008: uint16(75), - 2009: uint16(41), - 2010: uint16(141), - 2011: uint16(115), - 2012: uint16(24), - 2013: uint16(20), - 2014: uint16(19), - 2015: uint16(131), - 2016: uint16(125), - 2017: uint16(23), - 2018: uint16(28), - 2019: uint16(22), - 2020: uint16(67), - 2021: uint16(22), - 2022: uint16(22), - 2023: uint16(22), - 2024: uint16(67), - 2025: uint16(59), - 2026: uint16(24), - 2027: uint16(96), - 2028: uint16(22), - 2029: uint16(67), - 2030: uint16(23), - 2031: uint16(149), - 2032: uint16(22), - 2033: uint16(25), - 2034: uint16(23), - 2035: uint16(23), - 2036: uint16(23), - 2037: uint16(22), - 2038: uint16(34), - 2039: uint16(141), - 2040: uint16(37), - 2041: uint16(97), - 2042: uint16(23), - 2043: uint16(23), - 2044: uint16(116), - 2045: uint16(22), - 2046: uint16(143), - 2047: uint16(25), - 2048: uint16(34), - 2049: uint16(75), - 2050: uint16(34), - 2051: uint16(34), - 2052: uint16(34), - 2053: uint16(88), - 2054: uint16(75), - 2055: uint16(34), - 2056: uint16(86), - 2057: uint16(23), + 1903: uint16(158), + 1904: uint16(292), + 1905: uint16(62), + 1906: uint16(291), + 1907: uint16(201), + 1908: uint16(200), + 1909: uint16(22), + 1910: uint16(201), + 1911: uint16(222), + 1912: uint16(200), + 1913: uint16(222), + 1914: uint16(201), + 1915: uint16(200), + 1916: uint16(115), + 1917: uint16(219), + 1918: uint16(219), + 1919: uint16(64), + 1920: uint16(219), + 1921: uint16(228), + 1922: uint16(22), + 1923: uint16(126), + 1924: uint16(221), + 1925: uint16(133), + 1926: uint16(165), + 1927: uint16(222), + 1928: uint16(100), + 1929: uint16(225), + 1930: uint16(138), + 1931: uint16(139), + 1932: uint16(225), + 1933: uint16(219), + 1934: uint16(106), + 1935: uint16(107), + 1936: uint16(24), + 1937: uint16(219), + 1938: uint16(228), + 1939: uint16(219), + 1940: uint16(219), + 1941: uint16(307), + 1942: uint16(114), + 1943: uint16(113), + 1944: uint16(116), + 1945: uint16(117), + 1946: uint16(118), + 1947: uint16(315), + 1948: uint16(284), + 1949: uint16(121), + 1950: uint16(284), + 1951: uint16(222), + 1952: uint16(201), + 1953: uint16(91), + 1954: uint16(162), + 1955: uint16(320), + 1956: uint16(320), + 1957: uint16(82), + 1958: uint16(148), + 1959: uint16(267), + 1960: uint16(145), + 1961: uint16(267), + 1962: uint16(22), + 1963: uint16(279), + 1964: uint16(201), + 1965: uint16(158), + 1966: uint16(281), + 1967: uint16(251), + 1968: uint16(147), + 1969: uint16(146), + 1970: uint16(25), + 1971: uint16(203), + 1972: uint16(250), + 1973: uint16(249), + 1974: uint16(251), + 1975: uint16(248), + 1976: uint16(13), + 1977: uint16(247), + 1978: uint16(195), + 1979: uint16(195), + 1980: uint16(6), + 1981: uint16(153), + 1982: uint16(154), + 1983: uint16(155), + 1984: uint16(156), + 1985: uint16(157), + 1986: uint16(193), + 1987: uint16(193), + 1988: uint16(305), + 1989: uint16(193), + 1990: uint16(208), + 1991: uint16(305), + 1992: uint16(302), + 1993: uint16(214), + 1994: uint16(214), + 1995: uint16(214), + 1996: uint16(208), + 1997: uint16(223), + 1998: uint16(223), + 1999: uint16(214), + 2000: uint16(4), + 2001: uint16(215), + 2002: uint16(215), + 2003: uint16(214), + 2004: uint16(3), + 2005: uint16(22), + 2006: uint16(208), + 2007: uint16(163), + 2008: uint16(15), + 2009: uint16(23), + 2010: uint16(16), + 2011: uint16(183), + 2012: uint16(23), + 2013: uint16(139), + 2014: uint16(151), + 2015: uint16(130), + 2016: uint16(25), + 2017: uint16(20), + 2018: uint16(142), + 2019: uint16(24), + 2020: uint16(16), + 2021: uint16(144), + 2022: uint16(1), + 2023: uint16(142), + 2024: uint16(130), + 2025: uint16(130), + 2026: uint16(61), + 2027: uint16(37), + 2028: uint16(53), + 2029: uint16(151), + 2030: uint16(53), + 2031: uint16(53), + 2032: uint16(53), + 2033: uint16(130), + 2034: uint16(116), + 2035: uint16(1), + 2036: uint16(34), + 2037: uint16(141), + 2038: uint16(5), + 2039: uint16(22), + 2040: uint16(115), + 2041: uint16(161), + 2042: uint16(75), + 2043: uint16(25), + 2044: uint16(68), + 2045: uint16(141), + 2046: uint16(41), + 2047: uint16(115), + 2048: uint16(68), + 2049: uint16(24), + 2050: uint16(20), + 2051: uint16(19), + 2052: uint16(131), + 2053: uint16(125), + 2054: uint16(67), + 2055: uint16(67), + 2056: uint16(96), + 2057: uint16(22), 2058: uint16(22), - 2059: uint16(34), - 2060: uint16(93), - 2061: uint16(24), - 2062: uint16(34), - 2063: uint16(25), - 2064: uint16(25), - 2065: uint16(142), - 2066: uint16(142), + 2059: uint16(22), + 2060: uint16(37), + 2061: uint16(23), + 2062: uint16(22), + 2063: uint16(24), + 2064: uint16(22), + 2065: uint16(59), + 2066: uint16(67), 2067: uint16(23), - 2068: uint16(44), - 2069: uint16(23), - 2070: uint16(23), - 2071: uint16(23), + 2068: uint16(149), + 2069: uint16(28), + 2070: uint16(22), + 2071: uint16(25), 2072: uint16(23), - 2073: uint16(11), + 2073: uint16(23), 2074: uint16(23), - 2075: uint16(25), - 2076: uint16(22), - 2077: uint16(22), - 2078: uint16(22), - 2079: uint16(141), + 2075: uint16(22), + 2076: uint16(141), + 2077: uint16(34), + 2078: uint16(97), + 2079: uint16(23), 2080: uint16(23), - 2081: uint16(23), - 2082: uint16(22), + 2081: uint16(34), + 2082: uint16(116), 2083: uint16(22), - 2084: uint16(25), - 2085: uint16(15), - 2086: uint16(1), - 2087: uint16(23), - 2088: uint16(25), - 2089: uint16(1), - 2090: uint16(141), - 2091: uint16(135), - 2092: uint16(319), - 2093: uint16(319), - 2094: uint16(319), - 2095: uint16(319), - 2096: uint16(319), - 2097: uint16(319), - 2098: uint16(319), - 2099: uint16(141), - 2100: uint16(319), - 2101: uint16(319), - 2102: uint16(319), - 2103: uint16(319), - 2104: uint16(319), - 2105: uint16(319), - 2106: uint16(319), - 2107: uint16(319), - 2108: uint16(319), - 2109: uint16(319), - 2110: uint16(319), - 2111: uint16(319), - 2112: uint16(319), - 2113: uint16(319), - 2114: uint16(319), - 2115: uint16(319), - 2116: uint16(319), - 2117: uint16(319), - 2118: uint16(319), - 2119: uint16(319), - 2120: uint16(319), - 2121: uint16(319), - 2122: uint16(319), - 2123: uint16(319), - 2124: uint16(319), - 2125: uint16(319), - 2126: uint16(319), - 2127: uint16(319), - 2128: uint16(319), - 2129: uint16(319), - 2130: uint16(319), - 2131: uint16(319), - 2132: uint16(319), - 2133: uint16(319), - 2134: uint16(319), - 2135: uint16(319), - 2136: uint16(319), - 2137: uint16(319), - 2138: uint16(319), - 2139: uint16(319), - 2140: uint16(319), - 2141: uint16(319), - 2142: uint16(319), - 2143: uint16(319), - 2144: uint16(319), - 2145: uint16(319), - 2146: uint16(319), - 2147: uint16(319), - 2148: uint16(319), - 2149: uint16(319), - 2150: uint16(319), - 2151: uint16(319), - 2152: uint16(319), - 2153: uint16(319), - 2154: uint16(319), - 2155: uint16(319), - 2156: uint16(319), - 2157: uint16(319), - 2158: uint16(319), - 2159: uint16(319), - 2160: uint16(319), - 2161: uint16(319), - 2162: uint16(319), - 2163: uint16(319), - 2164: uint16(319), - 2165: uint16(319), - 2166: uint16(319), - 2167: uint16(319), - 2168: uint16(319), - 2169: uint16(319), - 2170: uint16(319), - 2171: uint16(319), - 2172: uint16(319), - 2173: uint16(319), - 2174: uint16(319), - 2175: uint16(319), - 2176: uint16(319), - 2177: uint16(319), - 2178: uint16(319), - 2179: uint16(319), - 2180: uint16(319), - 2181: uint16(319), - 2182: uint16(319), - 2183: uint16(319), - 2184: uint16(319), - 2185: uint16(319), - 2186: uint16(319), - 2187: uint16(319), - 2188: uint16(319), - 2189: uint16(319), - 2190: uint16(319), - 2191: uint16(319), - 2192: uint16(319), - 2193: uint16(319), - 2194: uint16(319), - 2195: uint16(319), - 2196: uint16(319), - 2197: uint16(319), - 2198: uint16(319), - 2199: uint16(319), - 2200: uint16(319), - 2201: uint16(319), - 2202: uint16(319), - 2203: uint16(319), - 2204: uint16(319), - 2205: uint16(319), - 2206: uint16(319), - 2207: uint16(319), - 2208: uint16(319), - 2209: uint16(319), - 2210: uint16(319), - 2211: uint16(319), - 2212: uint16(319), - 2213: uint16(319), - 2214: uint16(319), - 2215: uint16(319), - 2216: uint16(319), - 2217: uint16(319), - 2218: uint16(319), - 2219: uint16(319), - 2220: uint16(319), - 2221: uint16(319), - 2222: uint16(319), - 2223: uint16(319), - 2224: uint16(319), - 2225: uint16(319), - 2226: uint16(319), - 2227: uint16(319), - 2228: uint16(319), - 2229: uint16(319), - 2230: uint16(319), - 2231: uint16(319), - 2232: uint16(319), - 2233: uint16(319), - 2234: uint16(319), - 2235: uint16(319), - 2236: uint16(319), - 2237: uint16(319), - 2238: uint16(319), - 2239: uint16(319), - 2240: uint16(319), - 2241: uint16(319), - 2242: uint16(319), - 2243: uint16(319), - 2244: uint16(319), - 2245: uint16(319), - 2246: uint16(319), - 2247: uint16(319), - 2248: uint16(319), - 2249: uint16(319), - 2250: uint16(319), - 2251: uint16(319), - 2252: uint16(319), - 2253: uint16(319), - 2254: uint16(319), - 2255: uint16(319), - 2256: uint16(319), - 2257: uint16(319), - 2258: uint16(319), - 2259: uint16(319), - 2260: uint16(319), - 2261: uint16(319), - 2262: uint16(319), - 2263: uint16(319), - 2264: uint16(319), - 2265: uint16(319), - 2266: uint16(319), - 2267: uint16(319), - 2268: uint16(319), - 2269: uint16(319), - 2270: uint16(319), - 2271: uint16(319), - 2272: uint16(319), - 2273: uint16(319), - 2274: uint16(319), - 2275: uint16(319), - 2276: uint16(319), - 2277: uint16(319), - 2278: uint16(319), - 2279: uint16(319), - 2280: uint16(319), - 2281: uint16(319), - 2282: uint16(319), - 2283: uint16(319), - 2284: uint16(319), -} -var _yy_shift_ofst = [579]uint16{ - 0: uint16(1648), - 1: uint16(1477), - 2: uint16(1272), + 2084: uint16(143), + 2085: uint16(25), + 2086: uint16(34), + 2087: uint16(75), + 2088: uint16(34), + 2089: uint16(34), + 2090: uint16(75), + 2091: uint16(88), + 2092: uint16(34), + 2093: uint16(86), + 2094: uint16(23), + 2095: uint16(22), + 2096: uint16(34), + 2097: uint16(25), + 2098: uint16(24), + 2099: uint16(34), + 2100: uint16(25), + 2101: uint16(93), + 2102: uint16(23), + 2103: uint16(44), + 2104: uint16(142), + 2105: uint16(23), + 2106: uint16(142), + 2107: uint16(23), + 2108: uint16(23), + 2109: uint16(22), + 2110: uint16(11), + 2111: uint16(25), + 2112: uint16(23), + 2113: uint16(25), + 2114: uint16(23), + 2115: uint16(22), + 2116: uint16(22), + 2117: uint16(22), + 2118: uint16(1), + 2119: uint16(23), + 2120: uint16(23), + 2121: uint16(23), + 2122: uint16(22), + 2123: uint16(22), + 2124: uint16(15), + 2125: uint16(141), + 2126: uint16(141), + 2127: uint16(25), + 2128: uint16(25), + 2129: uint16(1), + 2130: uint16(322), + 2131: uint16(322), + 2132: uint16(322), + 2133: uint16(135), + 2134: uint16(322), + 2135: uint16(322), + 2136: uint16(322), + 2137: uint16(322), + 2138: uint16(322), + 2139: uint16(322), + 2140: uint16(322), + 2141: uint16(141), + 2142: uint16(322), + 2143: uint16(322), + 2144: uint16(322), + 2145: uint16(322), + 2146: uint16(322), + 2147: uint16(322), + 2148: uint16(322), + 2149: uint16(322), + 2150: uint16(322), + 2151: uint16(322), + 2152: uint16(322), + 2153: uint16(322), + 2154: uint16(322), + 2155: uint16(322), + 2156: uint16(322), + 2157: uint16(322), + 2158: uint16(322), + 2159: uint16(322), + 2160: uint16(322), + 2161: uint16(322), + 2162: uint16(322), + 2163: uint16(322), + 2164: uint16(322), + 2165: uint16(322), + 2166: uint16(322), + 2167: uint16(322), + 2168: uint16(322), + 2169: uint16(322), + 2170: uint16(322), + 2171: uint16(322), + 2172: uint16(322), + 2173: uint16(322), + 2174: uint16(322), + 2175: uint16(322), + 2176: uint16(322), + 2177: uint16(322), + 2178: uint16(322), + 2179: uint16(322), + 2180: uint16(322), + 2181: uint16(322), + 2182: uint16(322), + 2183: uint16(322), + 2184: uint16(322), + 2185: uint16(322), + 2186: uint16(322), + 2187: uint16(322), + 2188: uint16(322), + 2189: uint16(322), + 2190: uint16(322), + 2191: uint16(322), + 2192: uint16(322), + 2193: uint16(322), + 2194: uint16(322), + 2195: uint16(322), + 2196: uint16(322), + 2197: uint16(322), + 2198: uint16(322), + 2199: uint16(322), + 2200: uint16(322), + 2201: uint16(322), + 2202: uint16(322), + 2203: uint16(322), + 2204: uint16(322), + 2205: uint16(322), + 2206: uint16(322), + 2207: uint16(322), + 2208: uint16(322), + 2209: uint16(322), + 2210: uint16(322), + 2211: uint16(322), + 2212: uint16(322), + 2213: uint16(322), + 2214: uint16(322), + 2215: uint16(322), + 2216: uint16(322), + 2217: uint16(322), + 2218: uint16(322), + 2219: uint16(322), + 2220: uint16(322), + 2221: uint16(322), + 2222: uint16(322), + 2223: uint16(322), + 2224: uint16(322), + 2225: uint16(322), + 2226: uint16(322), + 2227: uint16(322), + 2228: uint16(322), + 2229: uint16(322), + 2230: uint16(322), + 2231: uint16(322), + 2232: uint16(322), + 2233: uint16(322), + 2234: uint16(322), + 2235: uint16(322), + 2236: uint16(322), + 2237: uint16(322), + 2238: uint16(322), + 2239: uint16(322), + 2240: uint16(322), + 2241: uint16(322), + 2242: uint16(322), + 2243: uint16(322), + 2244: uint16(322), + 2245: uint16(322), + 2246: uint16(322), + 2247: uint16(322), + 2248: uint16(322), + 2249: uint16(322), + 2250: uint16(322), + 2251: uint16(322), + 2252: uint16(322), + 2253: uint16(322), + 2254: uint16(322), + 2255: uint16(322), + 2256: uint16(322), + 2257: uint16(322), + 2258: uint16(322), + 2259: uint16(322), + 2260: uint16(322), + 2261: uint16(322), + 2262: uint16(322), + 2263: uint16(322), + 2264: uint16(322), + 2265: uint16(322), + 2266: uint16(322), + 2267: uint16(322), + 2268: uint16(322), + 2269: uint16(322), + 2270: uint16(322), + 2271: uint16(322), + 2272: uint16(322), + 2273: uint16(322), + 2274: uint16(322), + 2275: uint16(322), + 2276: uint16(322), + 2277: uint16(322), + 2278: uint16(322), + 2279: uint16(322), + 2280: uint16(322), + 2281: uint16(322), + 2282: uint16(322), + 2283: uint16(322), + 2284: uint16(322), + 2285: uint16(322), + 2286: uint16(322), + 2287: uint16(322), + 2288: uint16(322), + 2289: uint16(322), + 2290: uint16(322), + 2291: uint16(322), + 2292: uint16(322), + 2293: uint16(322), + 2294: uint16(322), + 2295: uint16(322), + 2296: uint16(322), + 2297: uint16(322), + 2298: uint16(322), + 2299: uint16(322), + 2300: uint16(322), + 2301: uint16(322), + 2302: uint16(322), + 2303: uint16(322), + 2304: uint16(322), + 2305: uint16(322), + 2306: uint16(322), + 2307: uint16(322), + 2308: uint16(322), + 2309: uint16(322), + 2310: uint16(322), + 2311: uint16(322), + 2312: uint16(322), + 2313: uint16(322), + 2314: uint16(322), + 2315: uint16(322), + 2316: uint16(322), + 2317: uint16(322), + 2318: uint16(322), + 2319: uint16(322), + 2320: uint16(322), + 2321: uint16(322), + 2322: uint16(322), + 2323: uint16(322), + 2324: uint16(322), + 2325: uint16(322), + 2326: uint16(322), + 2327: uint16(322), +} +var _yy_shift_ofst = [583]uint16{ + 0: uint16(1792), + 1: uint16(1588), + 2: uint16(1494), 3: uint16(322), 4: uint16(322), - 5: uint16(1), - 6: uint16(1319), - 7: uint16(1478), - 8: uint16(1491), - 9: uint16(1837), - 10: uint16(1837), - 11: uint16(1837), - 12: uint16(471), - 15: uint16(214), - 16: uint16(1093), - 17: uint16(1837), - 18: uint16(1837), - 19: uint16(1837), - 20: uint16(1837), - 21: uint16(1837), - 22: uint16(1837), - 23: uint16(1837), - 24: uint16(1837), - 25: uint16(1837), - 26: uint16(1837), - 27: uint16(1837), - 28: uint16(1837), - 29: uint16(1837), - 30: uint16(1837), - 31: uint16(271), - 32: uint16(271), - 33: uint16(1219), - 34: uint16(1219), - 35: uint16(216), - 36: uint16(88), - 37: uint16(1), - 38: uint16(1), - 39: uint16(1), - 40: uint16(1), - 41: uint16(1), - 42: uint16(40), - 43: uint16(111), - 44: uint16(258), - 45: uint16(361), - 46: uint16(469), - 47: uint16(512), - 48: uint16(583), - 49: uint16(622), - 50: uint16(693), - 51: uint16(732), - 52: uint16(803), - 53: uint16(842), - 54: uint16(913), - 55: uint16(1073), - 56: uint16(1093), - 57: uint16(1093), - 58: uint16(1093), - 59: uint16(1093), - 60: uint16(1093), - 61: uint16(1093), - 62: uint16(1093), - 63: uint16(1093), - 64: uint16(1093), + 5: uint16(399), + 6: uint16(306), + 7: uint16(1319), + 8: uint16(1339), + 9: uint16(1430), + 10: uint16(1828), + 11: uint16(1828), + 12: uint16(1828), + 13: uint16(580), + 14: uint16(399), + 15: uint16(399), + 16: uint16(399), + 17: uint16(399), + 18: uint16(399), + 21: uint16(214), + 22: uint16(1093), + 23: uint16(1828), + 24: uint16(1828), + 25: uint16(1828), + 26: uint16(1828), + 27: uint16(1828), + 28: uint16(1828), + 29: uint16(1828), + 30: uint16(1828), + 31: uint16(1828), + 32: uint16(1828), + 33: uint16(1828), + 34: uint16(1828), + 35: uint16(1828), + 36: uint16(1828), + 37: uint16(1828), + 38: uint16(1130), + 39: uint16(1130), + 40: uint16(365), + 41: uint16(365), + 42: uint16(55), + 43: uint16(278), + 44: uint16(436), + 45: uint16(713), + 46: uint16(713), + 47: uint16(201), + 48: uint16(201), + 49: uint16(201), + 50: uint16(201), + 51: uint16(40), + 52: uint16(111), + 53: uint16(258), + 54: uint16(361), + 55: uint16(469), + 56: uint16(512), + 57: uint16(583), + 58: uint16(622), + 59: uint16(693), + 60: uint16(732), + 61: uint16(803), + 62: uint16(842), + 63: uint16(913), + 64: uint16(1073), 65: uint16(1093), 66: uint16(1093), 67: uint16(1093), @@ -156737,1505 +158096,1514 @@ var _yy_shift_ofst = [579]uint16{ 71: uint16(1093), 72: uint16(1093), 73: uint16(1093), - 74: uint16(1113), + 74: uint16(1093), 75: uint16(1093), - 76: uint16(1216), - 77: uint16(957), - 78: uint16(957), - 79: uint16(1635), - 80: uint16(1662), - 81: uint16(1777), - 82: uint16(1837), - 83: uint16(1837), - 84: uint16(1837), - 85: uint16(1837), - 86: uint16(1837), - 87: uint16(1837), - 88: uint16(1837), - 89: uint16(1837), - 90: uint16(1837), - 91: uint16(1837), - 92: uint16(1837), - 93: uint16(1837), - 94: uint16(1837), - 95: uint16(1837), - 96: uint16(1837), - 97: uint16(1837), - 98: uint16(1837), - 99: uint16(1837), - 100: uint16(1837), - 101: uint16(1837), - 102: uint16(1837), - 103: uint16(1837), - 104: uint16(1837), - 105: uint16(1837), - 106: uint16(1837), - 107: uint16(1837), - 108: uint16(1837), - 109: uint16(1837), - 110: uint16(1837), - 111: uint16(1837), - 112: uint16(1837), - 113: uint16(1837), - 114: uint16(1837), - 115: uint16(1837), - 116: uint16(1837), - 117: uint16(1837), - 118: uint16(1837), - 119: uint16(1837), - 120: uint16(1837), - 121: uint16(1837), - 122: uint16(1837), - 123: uint16(1837), - 124: uint16(1837), - 125: uint16(1837), - 126: uint16(1837), - 127: uint16(1837), - 128: uint16(1837), - 129: uint16(1837), - 130: uint16(1837), - 131: uint16(137), - 132: uint16(181), - 133: uint16(181), - 134: uint16(181), - 135: uint16(181), - 136: uint16(181), - 137: uint16(181), - 138: uint16(181), - 139: uint16(94), - 140: uint16(430), - 141: uint16(66), - 142: uint16(65), - 143: uint16(112), - 144: uint16(366), - 145: uint16(533), - 146: uint16(533), - 147: uint16(740), - 148: uint16(1257), - 149: uint16(533), - 150: uint16(533), - 151: uint16(79), - 152: uint16(79), - 153: uint16(533), - 154: uint16(412), - 155: uint16(412), - 156: uint16(412), - 157: uint16(77), - 158: uint16(412), - 159: uint16(123), - 160: uint16(113), - 161: uint16(113), - 162: uint16(113), - 163: uint16(22), - 164: uint16(22), - 165: uint16(2100), - 166: uint16(2100), - 167: uint16(328), - 168: uint16(328), - 169: uint16(328), - 170: uint16(239), - 171: uint16(468), - 172: uint16(468), - 173: uint16(468), - 174: uint16(468), - 175: uint16(1015), - 176: uint16(1015), - 177: uint16(409), - 178: uint16(366), - 179: uint16(1187), - 180: uint16(1232), - 181: uint16(533), - 182: uint16(533), - 183: uint16(533), - 184: uint16(533), - 185: uint16(533), - 186: uint16(533), - 187: uint16(533), - 188: uint16(533), - 189: uint16(533), - 190: uint16(533), - 191: uint16(533), - 192: uint16(533), - 193: uint16(533), - 194: uint16(533), - 195: uint16(533), - 196: uint16(533), - 197: uint16(533), - 198: uint16(533), - 199: uint16(533), - 200: uint16(533), - 201: uint16(969), - 202: uint16(621), - 203: uint16(621), - 204: uint16(533), - 205: uint16(642), - 206: uint16(788), - 207: uint16(788), - 208: uint16(1133), - 209: uint16(1133), - 210: uint16(822), - 211: uint16(822), - 212: uint16(67), - 213: uint16(1193), - 214: uint16(2100), - 215: uint16(2100), - 216: uint16(2100), - 217: uint16(2100), - 218: uint16(2100), - 219: uint16(2100), - 220: uint16(2100), - 221: uint16(1307), - 222: uint16(954), - 223: uint16(954), - 224: uint16(585), - 225: uint16(472), - 226: uint16(640), - 227: uint16(387), - 228: uint16(695), - 229: uint16(538), - 230: uint16(541), - 231: uint16(700), - 232: uint16(533), - 233: uint16(533), - 234: uint16(533), - 235: uint16(533), - 236: uint16(533), - 237: uint16(533), - 238: uint16(533), - 239: uint16(533), - 240: uint16(533), - 241: uint16(533), - 242: uint16(222), - 243: uint16(533), - 244: uint16(533), - 245: uint16(533), - 246: uint16(533), - 247: uint16(533), - 248: uint16(533), - 249: uint16(533), - 250: uint16(533), - 251: uint16(533), - 252: uint16(533), - 253: uint16(533), - 254: uint16(533), - 255: uint16(1213), - 256: uint16(1213), - 257: uint16(1213), - 258: uint16(533), - 259: uint16(533), - 260: uint16(533), - 261: uint16(565), - 262: uint16(533), - 263: uint16(533), - 264: uint16(533), - 265: uint16(916), - 266: uint16(1147), - 267: uint16(533), - 268: uint16(533), - 269: uint16(1288), - 270: uint16(533), - 271: uint16(533), - 272: uint16(533), - 273: uint16(533), - 274: uint16(533), - 275: uint16(533), - 276: uint16(533), - 277: uint16(533), - 278: uint16(639), - 279: uint16(1280), - 280: uint16(209), - 281: uint16(1129), - 282: uint16(1129), - 283: uint16(1129), - 284: uint16(1129), - 285: uint16(580), - 286: uint16(209), - 287: uint16(209), - 288: uint16(1209), - 289: uint16(768), - 290: uint16(917), - 291: uint16(649), - 292: uint16(1315), - 293: uint16(1334), - 294: uint16(405), - 295: uint16(1334), - 296: uint16(1383), - 297: uint16(249), - 298: uint16(1315), - 299: uint16(1315), - 300: uint16(249), - 301: uint16(1315), - 302: uint16(405), - 303: uint16(1383), - 304: uint16(1441), - 305: uint16(464), - 306: uint16(1245), - 307: uint16(1417), - 308: uint16(1417), - 309: uint16(1417), - 310: uint16(1323), - 311: uint16(1323), - 312: uint16(1323), - 313: uint16(1323), - 314: uint16(184), - 315: uint16(184), - 316: uint16(1335), - 317: uint16(1476), - 318: uint16(856), - 319: uint16(1482), - 320: uint16(1744), - 321: uint16(1744), - 322: uint16(1665), - 323: uint16(1665), - 324: uint16(1773), - 325: uint16(1773), - 326: uint16(1665), - 327: uint16(1669), - 328: uint16(1671), - 329: uint16(1802), - 330: uint16(1782), - 331: uint16(1809), - 332: uint16(1809), - 333: uint16(1809), - 334: uint16(1809), - 335: uint16(1665), - 336: uint16(1817), - 337: uint16(1690), - 338: uint16(1671), - 339: uint16(1671), - 340: uint16(1690), - 341: uint16(1802), - 342: uint16(1782), - 343: uint16(1690), - 344: uint16(1782), - 345: uint16(1690), - 346: uint16(1665), - 347: uint16(1817), - 348: uint16(1693), - 349: uint16(1791), - 350: uint16(1665), - 351: uint16(1817), - 352: uint16(1832), - 353: uint16(1665), - 354: uint16(1817), - 355: uint16(1665), - 356: uint16(1817), - 357: uint16(1832), - 358: uint16(1752), - 359: uint16(1752), - 360: uint16(1752), - 361: uint16(1805), - 362: uint16(1850), - 363: uint16(1850), - 364: uint16(1832), - 365: uint16(1752), - 366: uint16(1749), - 367: uint16(1752), - 368: uint16(1805), - 369: uint16(1752), - 370: uint16(1752), - 371: uint16(1713), - 372: uint16(1858), - 373: uint16(1775), - 374: uint16(1775), - 375: uint16(1832), - 376: uint16(1665), - 377: uint16(1799), - 378: uint16(1799), - 379: uint16(1823), - 380: uint16(1823), - 381: uint16(1761), - 382: uint16(1765), - 383: uint16(1890), - 384: uint16(1665), - 385: uint16(1757), - 386: uint16(1761), - 387: uint16(1771), - 388: uint16(1774), - 389: uint16(1690), - 390: uint16(1894), - 391: uint16(1913), - 392: uint16(1913), - 393: uint16(1929), - 394: uint16(1929), - 395: uint16(1929), - 396: uint16(2100), - 397: uint16(2100), - 398: uint16(2100), - 399: uint16(2100), - 400: uint16(2100), - 401: uint16(2100), - 402: uint16(2100), - 403: uint16(2100), - 404: uint16(2100), - 405: uint16(2100), - 406: uint16(2100), - 407: uint16(2100), - 408: uint16(2100), - 409: uint16(2100), - 410: uint16(2100), - 411: uint16(207), - 412: uint16(1220), - 413: uint16(331), - 414: uint16(620), - 415: uint16(967), - 416: uint16(806), - 417: uint16(1074), - 418: uint16(1499), - 419: uint16(1432), - 420: uint16(1463), - 421: uint16(1479), - 422: uint16(1419), - 423: uint16(1422), - 424: uint16(1557), - 425: uint16(1512), - 426: uint16(1598), - 427: uint16(1599), - 428: uint16(1644), - 429: uint16(1645), - 430: uint16(1654), - 431: uint16(1660), - 432: uint16(1555), - 433: uint16(1505), - 434: uint16(1684), - 435: uint16(1462), - 436: uint16(1670), - 437: uint16(1563), - 438: uint16(1619), - 439: uint16(1593), - 440: uint16(1676), - 441: uint16(1679), - 442: uint16(1613), - 443: uint16(1680), - 444: uint16(1554), - 445: uint16(1558), - 446: uint16(1689), - 447: uint16(1692), - 448: uint16(1605), - 449: uint16(1589), - 450: uint16(1955), - 451: uint16(1959), - 452: uint16(1941), - 453: uint16(1803), - 454: uint16(1950), - 455: uint16(1951), - 456: uint16(1945), - 457: uint16(1946), - 458: uint16(1831), - 459: uint16(1820), - 460: uint16(1842), - 461: uint16(1948), - 462: uint16(1948), - 463: uint16(1952), - 464: uint16(1833), - 465: uint16(1954), - 466: uint16(1834), - 467: uint16(1961), - 468: uint16(1978), - 469: uint16(1838), - 470: uint16(1851), - 471: uint16(1948), - 472: uint16(1852), - 473: uint16(1922), - 474: uint16(1947), - 475: uint16(1948), - 476: uint16(1836), - 477: uint16(1932), - 478: uint16(1935), - 479: uint16(1936), - 480: uint16(1942), - 481: uint16(1866), - 482: uint16(1881), - 483: uint16(1964), - 484: uint16(1859), - 485: uint16(1998), - 486: uint16(1996), - 487: uint16(1980), - 488: uint16(1888), - 489: uint16(1843), - 490: uint16(1937), - 491: uint16(1981), - 492: uint16(1939), - 493: uint16(1933), - 494: uint16(1968), - 495: uint16(1869), - 496: uint16(1896), - 497: uint16(1988), - 498: uint16(1993), - 499: uint16(1995), - 500: uint16(1884), - 501: uint16(1891), - 502: uint16(1997), - 503: uint16(1953), - 504: uint16(1999), - 505: uint16(2000), - 506: uint16(1994), - 507: uint16(2001), - 508: uint16(1957), - 509: uint16(1966), - 510: uint16(2002), - 511: uint16(1931), - 512: uint16(1990), - 513: uint16(2006), - 514: uint16(1962), - 515: uint16(2003), - 516: uint16(2007), - 517: uint16(2004), - 518: uint16(1882), - 519: uint16(2010), - 520: uint16(2011), - 521: uint16(2012), - 522: uint16(2008), - 523: uint16(2013), - 524: uint16(2015), - 525: uint16(1944), - 526: uint16(1898), - 527: uint16(2019), - 528: uint16(2020), - 529: uint16(1928), - 530: uint16(2014), - 531: uint16(2023), - 532: uint16(1903), - 533: uint16(2022), - 534: uint16(2016), - 535: uint16(2017), - 536: uint16(2018), - 537: uint16(2021), - 538: uint16(1965), - 539: uint16(1974), - 540: uint16(1970), - 541: uint16(2024), - 542: uint16(1979), - 543: uint16(1967), - 544: uint16(2025), - 545: uint16(2034), - 546: uint16(2036), - 547: uint16(2037), - 548: uint16(2038), - 549: uint16(2039), - 550: uint16(2028), - 551: uint16(1923), - 552: uint16(1924), - 553: uint16(2044), - 554: uint16(2022), - 555: uint16(2046), - 556: uint16(2047), - 557: uint16(2048), - 558: uint16(2049), - 559: uint16(2050), - 560: uint16(2051), - 561: uint16(2054), - 562: uint16(2062), - 563: uint16(2055), - 564: uint16(2056), - 565: uint16(2057), - 566: uint16(2058), - 567: uint16(2060), - 568: uint16(2061), - 569: uint16(2059), - 570: uint16(1956), - 571: uint16(1938), - 572: uint16(1949), - 573: uint16(1958), - 574: uint16(2063), - 575: uint16(2064), - 576: uint16(2070), - 577: uint16(2085), - 578: uint16(2088), -} -var _yy_reduce_ofst = [411]int16{ - 0: int16(-int32(125)), - 1: int16(733), - 2: int16(789), - 3: int16(241), - 4: int16(293), - 5: int16(-int32(123)), - 6: int16(-int32(193)), - 7: int16(-int32(191)), - 8: int16(-int32(183)), - 9: int16(-int32(187)), - 10: int16(166), - 11: int16(238), - 12: int16(133), - 13: int16(-int32(207)), - 14: int16(-int32(199)), - 15: int16(-int32(267)), - 16: int16(-int32(176)), - 17: int16(-int32(6)), - 18: int16(204), - 19: int16(489), - 20: int16(576), - 21: int16(598), - 22: int16(-int32(175)), - 23: int16(686), - 24: int16(860), - 25: int16(615), - 26: int16(725), - 27: int16(1014), - 28: int16(778), - 29: int16(781), - 30: int16(857), - 31: int16(616), - 32: int16(887), - 33: int16(87), - 34: int16(240), - 35: int16(-int32(192)), - 36: int16(408), - 37: int16(626), - 38: int16(796), - 39: int16(843), - 40: int16(854), - 41: int16(1004), - 42: int16(-int32(271)), - 43: int16(-int32(271)), - 44: int16(-int32(271)), - 45: int16(-int32(271)), - 46: int16(-int32(271)), - 47: int16(-int32(271)), - 48: int16(-int32(271)), - 49: int16(-int32(271)), - 50: int16(-int32(271)), - 51: int16(-int32(271)), - 52: int16(-int32(271)), - 53: int16(-int32(271)), - 54: int16(-int32(271)), - 55: int16(-int32(271)), - 56: int16(-int32(271)), - 57: int16(-int32(271)), - 58: int16(-int32(271)), - 59: int16(-int32(271)), - 60: int16(-int32(271)), - 61: int16(-int32(271)), - 62: int16(-int32(271)), - 63: int16(-int32(271)), - 64: int16(-int32(271)), - 65: int16(-int32(271)), - 66: int16(-int32(271)), - 67: int16(-int32(271)), - 68: int16(-int32(271)), - 69: int16(-int32(271)), - 70: int16(-int32(271)), - 71: int16(-int32(271)), - 72: int16(-int32(271)), - 73: int16(-int32(271)), - 74: int16(-int32(271)), - 75: int16(-int32(271)), - 76: int16(-int32(271)), - 77: int16(-int32(271)), - 78: int16(-int32(271)), - 79: int16(80), - 80: int16(83), - 81: int16(313), - 82: int16(886), - 83: int16(888), - 84: int16(918), - 85: int16(938), - 86: int16(1021), - 87: int16(1034), - 88: int16(1036), - 89: int16(1141), - 90: int16(1159), - 91: int16(1163), - 92: int16(1166), - 93: int16(1168), - 94: int16(1170), - 95: int16(1176), - 96: int16(1178), - 97: int16(1180), - 98: int16(1184), - 99: int16(1196), - 100: int16(1198), - 101: int16(1205), - 102: int16(1215), - 103: int16(1225), - 104: int16(1227), - 105: int16(1236), - 106: int16(1252), - 107: int16(1254), - 108: int16(1264), - 109: int16(1303), - 110: int16(1309), - 111: int16(1312), - 112: int16(1322), - 113: int16(1325), - 114: int16(1328), - 115: int16(1337), - 116: int16(1340), - 117: int16(1343), - 118: int16(1353), - 119: int16(1371), - 120: int16(1373), - 121: int16(1384), - 122: int16(1386), - 123: int16(1411), - 124: int16(1413), - 125: int16(1420), - 126: int16(1424), - 127: int16(1426), - 128: int16(1458), - 129: int16(1470), - 130: int16(1473), - 131: int16(-int32(271)), - 132: int16(-int32(271)), - 133: int16(-int32(271)), - 134: int16(-int32(271)), - 135: int16(-int32(271)), - 136: int16(-int32(271)), - 137: int16(-int32(271)), - 138: int16(-int32(271)), - 139: int16(-int32(271)), - 140: int16(-int32(271)), - 141: int16(-int32(271)), - 142: int16(138), - 143: int16(459), - 144: int16(396), - 145: int16(-int32(158)), - 146: int16(470), - 147: int16(302), - 148: int16(-int32(212)), - 149: int16(521), - 150: int16(201), - 151: int16(-int32(195)), - 152: int16(-int32(92)), - 153: int16(559), - 154: int16(630), - 155: int16(632), - 156: int16(630), - 157: int16(-int32(271)), - 158: int16(632), - 159: int16(901), - 160: int16(63), - 161: int16(407), - 162: int16(670), - 163: int16(-int32(271)), - 164: int16(-int32(271)), - 165: int16(-int32(271)), - 166: int16(-int32(271)), - 167: int16(161), - 168: int16(161), - 169: int16(161), - 170: int16(251), - 171: int16(335), - 172: int16(847), - 173: int16(979), - 174: int16(1097), - 175: int16(537), - 176: int16(588), - 177: int16(618), - 178: int16(628), - 179: int16(688), - 180: int16(688), - 181: int16(-int32(166)), - 182: int16(-int32(161)), - 183: int16(674), - 184: int16(787), - 185: int16(794), - 186: int16(799), - 187: int16(852), - 188: int16(996), - 189: int16(-int32(122)), - 190: int16(837), - 191: int16(-int32(120)), - 192: int16(1018), - 193: int16(1035), - 194: int16(415), - 195: int16(1047), - 196: int16(1001), - 197: int16(958), - 198: int16(1082), - 199: int16(400), - 200: int16(1099), - 201: int16(779), - 202: int16(1137), - 203: int16(1142), - 204: int16(263), - 205: int16(1083), - 206: int16(1145), - 207: int16(1150), - 208: int16(1041), - 209: int16(1139), - 210: int16(965), - 211: int16(1050), - 212: int16(362), - 213: int16(849), - 214: int16(752), - 215: int16(629), - 216: int16(675), - 217: int16(1162), - 218: int16(1173), - 219: int16(1090), - 220: int16(1195), - 221: int16(-int32(194)), - 222: int16(56), - 223: int16(185), - 224: int16(-int32(135)), - 225: int16(232), - 226: int16(522), - 227: int16(560), - 228: int16(571), - 229: int16(601), - 230: int16(617), - 231: int16(669), - 232: int16(683), - 233: int16(711), - 234: int16(850), - 235: int16(893), - 236: int16(1000), - 237: int16(1040), - 238: int16(1049), - 239: int16(1081), - 240: int16(1087), - 241: int16(1101), - 242: int16(392), - 243: int16(1114), - 244: int16(1123), - 245: int16(1155), - 246: int16(1161), - 247: int16(1175), - 248: int16(1271), - 249: int16(1293), - 250: int16(1299), - 251: int16(1330), - 252: int16(1339), - 253: int16(1342), - 254: int16(1347), - 255: int16(593), - 256: int16(1282), - 257: int16(1286), - 258: int16(1350), - 259: int16(1359), - 260: int16(1368), - 261: int16(1314), - 262: int16(1480), - 263: int16(1483), - 264: int16(1507), - 265: int16(1085), - 266: int16(1338), - 267: int16(1526), - 268: int16(1527), - 269: int16(1487), - 270: int16(1531), - 271: int16(560), - 272: int16(1532), - 273: int16(1534), - 274: int16(1535), - 275: int16(1538), - 276: int16(1539), - 277: int16(1541), - 278: int16(1448), - 279: int16(1450), - 280: int16(1496), - 281: int16(1484), - 282: int16(1485), - 283: int16(1489), - 284: int16(1490), - 285: int16(1314), - 286: int16(1496), - 287: int16(1496), - 288: int16(1504), - 289: int16(1536), - 290: int16(1564), - 291: int16(1451), - 292: int16(1486), - 293: int16(1492), - 294: int16(1509), - 295: int16(1493), - 296: int16(1465), - 297: int16(1515), - 298: int16(1494), - 299: int16(1495), - 300: int16(1517), - 301: int16(1500), - 302: int16(1519), - 303: int16(1474), - 304: int16(1550), - 305: int16(1543), - 306: int16(1548), - 307: int16(1556), - 308: int16(1565), - 309: int16(1566), - 310: int16(1518), - 311: int16(1523), - 312: int16(1542), - 313: int16(1544), - 314: int16(1525), - 315: int16(1545), - 316: int16(1513), - 317: int16(1553), - 318: int16(1552), - 319: int16(1604), - 320: int16(1508), - 321: int16(1510), - 322: int16(1608), - 323: int16(1609), - 324: int16(1520), - 325: int16(1528), - 326: int16(1612), - 327: int16(1540), - 328: int16(1559), - 329: int16(1560), - 330: int16(1592), - 331: int16(1591), - 332: int16(1595), - 333: int16(1596), - 334: int16(1597), - 335: int16(1629), - 336: int16(1638), - 337: int16(1594), - 338: int16(1569), - 339: int16(1570), - 340: int16(1600), - 341: int16(1568), - 342: int16(1610), - 343: int16(1601), - 344: int16(1611), - 345: int16(1603), - 346: int16(1643), - 347: int16(1651), - 348: int16(1562), - 349: int16(1571), - 350: int16(1655), - 351: int16(1659), - 352: int16(1640), - 353: int16(1663), - 354: int16(1666), - 355: int16(1664), - 356: int16(1667), - 357: int16(1641), - 358: int16(1650), - 359: int16(1652), - 360: int16(1653), - 361: int16(1647), - 362: int16(1656), - 363: int16(1657), - 364: int16(1658), - 365: int16(1668), - 366: int16(1672), - 367: int16(1681), - 368: int16(1649), - 369: int16(1682), - 370: int16(1683), - 371: int16(1573), - 372: int16(1582), - 373: int16(1607), - 374: int16(1615), - 375: int16(1685), - 376: int16(1702), - 377: int16(1586), - 378: int16(1587), - 379: int16(1642), - 380: int16(1646), - 381: int16(1673), - 382: int16(1675), - 383: int16(1636), - 384: int16(1714), - 385: int16(1637), - 386: int16(1677), - 387: int16(1674), - 388: int16(1678), - 389: int16(1694), - 390: int16(1719), - 391: int16(1734), - 392: int16(1735), - 393: int16(1746), - 394: int16(1747), - 395: int16(1750), - 396: int16(1633), - 397: int16(1661), + 76: uint16(1093), + 77: uint16(1093), + 78: uint16(1093), + 79: uint16(1093), + 80: uint16(1093), + 81: uint16(1093), + 82: uint16(1093), + 83: uint16(1113), + 84: uint16(1093), + 85: uint16(1216), + 86: uint16(957), + 87: uint16(957), + 88: uint16(1523), + 89: uint16(1602), + 90: uint16(1674), + 91: uint16(1828), + 92: uint16(1828), + 93: uint16(1828), + 94: uint16(1828), + 95: uint16(1828), + 96: uint16(1828), + 97: uint16(1828), + 98: uint16(1828), + 99: uint16(1828), + 100: uint16(1828), + 101: uint16(1828), + 102: uint16(1828), + 103: uint16(1828), + 104: uint16(1828), + 105: uint16(1828), + 106: uint16(1828), + 107: uint16(1828), + 108: uint16(1828), + 109: uint16(1828), + 110: uint16(1828), + 111: uint16(1828), + 112: uint16(1828), + 113: uint16(1828), + 114: uint16(1828), + 115: uint16(1828), + 116: uint16(1828), + 117: uint16(1828), + 118: uint16(1828), + 119: uint16(1828), + 120: uint16(1828), + 121: uint16(1828), + 122: uint16(1828), + 123: uint16(1828), + 124: uint16(1828), + 125: uint16(1828), + 126: uint16(1828), + 127: uint16(1828), + 128: uint16(1828), + 129: uint16(1828), + 130: uint16(1828), + 131: uint16(1828), + 132: uint16(1828), + 133: uint16(1828), + 134: uint16(1828), + 135: uint16(1828), + 136: uint16(1828), + 137: uint16(1828), + 138: uint16(1828), + 139: uint16(1828), + 140: uint16(137), + 141: uint16(181), + 142: uint16(181), + 143: uint16(181), + 144: uint16(181), + 145: uint16(181), + 146: uint16(181), + 147: uint16(181), + 148: uint16(96), + 149: uint16(222), + 150: uint16(143), + 151: uint16(477), + 152: uint16(713), + 153: uint16(1133), + 154: uint16(1268), + 155: uint16(713), + 156: uint16(713), + 157: uint16(79), + 158: uint16(79), + 159: uint16(713), + 160: uint16(770), + 161: uint16(83), + 162: uint16(65), + 163: uint16(65), + 164: uint16(65), + 165: uint16(288), + 166: uint16(162), + 167: uint16(162), + 168: uint16(2142), + 169: uint16(2142), + 170: uint16(696), + 171: uint16(696), + 172: uint16(696), + 173: uint16(238), + 174: uint16(474), + 175: uint16(474), + 176: uint16(474), + 177: uint16(474), + 178: uint16(1217), + 179: uint16(1217), + 180: uint16(678), + 181: uint16(477), + 182: uint16(324), + 183: uint16(398), + 184: uint16(713), + 185: uint16(713), + 186: uint16(713), + 187: uint16(713), + 188: uint16(713), + 189: uint16(713), + 190: uint16(713), + 191: uint16(713), + 192: uint16(713), + 193: uint16(713), + 194: uint16(713), + 195: uint16(713), + 196: uint16(713), + 197: uint16(713), + 198: uint16(713), + 199: uint16(713), + 200: uint16(713), + 201: uint16(713), + 202: uint16(713), + 203: uint16(1220), + 204: uint16(366), + 205: uint16(366), + 206: uint16(713), + 207: uint16(917), + 208: uint16(283), + 209: uint16(283), + 210: uint16(434), + 211: uint16(434), + 212: uint16(605), + 213: uint16(605), + 214: uint16(1298), + 215: uint16(2142), + 216: uint16(2142), + 217: uint16(2142), + 218: uint16(2142), + 219: uint16(2142), + 220: uint16(2142), + 221: uint16(2142), + 222: uint16(1179), + 223: uint16(1157), + 224: uint16(1157), + 225: uint16(487), + 226: uint16(527), + 227: uint16(585), + 228: uint16(645), + 229: uint16(749), + 230: uint16(914), + 231: uint16(968), + 232: uint16(752), + 233: uint16(713), + 234: uint16(713), + 235: uint16(713), + 236: uint16(713), + 237: uint16(713), + 238: uint16(713), + 239: uint16(713), + 240: uint16(713), + 241: uint16(713), + 242: uint16(713), + 243: uint16(303), + 244: uint16(713), + 245: uint16(713), + 246: uint16(713), + 247: uint16(713), + 248: uint16(713), + 249: uint16(713), + 250: uint16(713), + 251: uint16(713), + 252: uint16(713), + 253: uint16(713), + 254: uint16(713), + 255: uint16(713), + 256: uint16(797), + 257: uint16(797), + 258: uint16(797), + 259: uint16(713), + 260: uint16(713), + 261: uint16(713), + 262: uint16(959), + 263: uint16(713), + 264: uint16(713), + 265: uint16(713), + 266: uint16(1169), + 267: uint16(1271), + 268: uint16(713), + 269: uint16(713), + 270: uint16(1330), + 271: uint16(713), + 272: uint16(713), + 273: uint16(713), + 274: uint16(713), + 275: uint16(713), + 276: uint16(713), + 277: uint16(713), + 278: uint16(713), + 279: uint16(629), + 280: uint16(7), + 281: uint16(91), + 282: uint16(876), + 283: uint16(876), + 284: uint16(876), + 285: uint16(876), + 286: uint16(953), + 287: uint16(91), + 288: uint16(91), + 289: uint16(1246), + 290: uint16(1065), + 291: uint16(1106), + 292: uint16(1374), + 293: uint16(1329), + 294: uint16(1348), + 295: uint16(468), + 296: uint16(1348), + 297: uint16(1394), + 298: uint16(785), + 299: uint16(1329), + 300: uint16(1329), + 301: uint16(785), + 302: uint16(1329), + 303: uint16(468), + 304: uint16(1394), + 305: uint16(859), + 306: uint16(854), + 307: uint16(1402), + 308: uint16(1449), + 309: uint16(1449), + 310: uint16(1449), + 311: uint16(1173), + 312: uint16(1173), + 313: uint16(1173), + 314: uint16(1173), + 315: uint16(1355), + 316: uint16(1355), + 317: uint16(1030), + 318: uint16(1341), + 319: uint16(405), + 320: uint16(1230), + 321: uint16(1795), + 322: uint16(1795), + 323: uint16(1711), + 324: uint16(1711), + 325: uint16(1829), + 326: uint16(1829), + 327: uint16(1711), + 328: uint16(1717), + 329: uint16(1719), + 330: uint16(1850), + 331: uint16(1833), + 332: uint16(1860), + 333: uint16(1860), + 334: uint16(1860), + 335: uint16(1860), + 336: uint16(1711), + 337: uint16(1868), + 338: uint16(1740), + 339: uint16(1719), + 340: uint16(1719), + 341: uint16(1740), + 342: uint16(1850), + 343: uint16(1833), + 344: uint16(1740), + 345: uint16(1833), + 346: uint16(1740), + 347: uint16(1711), + 348: uint16(1868), + 349: uint16(1745), + 350: uint16(1843), + 351: uint16(1711), + 352: uint16(1868), + 353: uint16(1887), + 354: uint16(1711), + 355: uint16(1868), + 356: uint16(1711), + 357: uint16(1868), + 358: uint16(1887), + 359: uint16(1801), + 360: uint16(1801), + 361: uint16(1801), + 362: uint16(1855), + 363: uint16(1900), + 364: uint16(1900), + 365: uint16(1887), + 366: uint16(1801), + 367: uint16(1797), + 368: uint16(1801), + 369: uint16(1855), + 370: uint16(1801), + 371: uint16(1801), + 372: uint16(1761), + 373: uint16(1912), + 374: uint16(1830), + 375: uint16(1830), + 376: uint16(1887), + 377: uint16(1711), + 378: uint16(1862), + 379: uint16(1862), + 380: uint16(1875), + 381: uint16(1875), + 382: uint16(1810), + 383: uint16(1815), + 384: uint16(1940), + 385: uint16(1711), + 386: uint16(1807), + 387: uint16(1810), + 388: uint16(1821), + 389: uint16(1823), + 390: uint16(1740), + 391: uint16(1945), + 392: uint16(1963), + 393: uint16(1963), + 394: uint16(1974), + 395: uint16(1974), + 396: uint16(1974), + 397: uint16(2142), + 398: uint16(2142), + 399: uint16(2142), + 400: uint16(2142), + 401: uint16(2142), + 402: uint16(2142), + 403: uint16(2142), + 404: uint16(2142), + 405: uint16(2142), + 406: uint16(2142), + 407: uint16(2142), + 408: uint16(2142), + 409: uint16(2142), + 410: uint16(2142), + 411: uint16(2142), + 412: uint16(20), + 413: uint16(1224), + 414: uint16(256), + 415: uint16(1111), + 416: uint16(1115), + 417: uint16(1114), + 418: uint16(1192), + 419: uint16(1496), + 420: uint16(1424), + 421: uint16(1505), + 422: uint16(1427), + 423: uint16(355), + 424: uint16(1383), + 425: uint16(1537), + 426: uint16(1506), + 427: uint16(1538), + 428: uint16(1553), + 429: uint16(1583), + 430: uint16(1584), + 431: uint16(1591), + 432: uint16(1625), + 433: uint16(541), + 434: uint16(1445), + 435: uint16(1562), + 436: uint16(1450), + 437: uint16(1572), + 438: uint16(1515), + 439: uint16(1428), + 440: uint16(1532), + 441: uint16(1592), + 442: uint16(1629), + 443: uint16(1520), + 444: uint16(1630), + 445: uint16(1639), + 446: uint16(1510), + 447: uint16(1544), + 448: uint16(1662), + 449: uint16(1675), + 450: uint16(1551), + 451: uint16(48), + 452: uint16(1996), + 453: uint16(2001), + 454: uint16(1983), + 455: uint16(1844), + 456: uint16(1993), + 457: uint16(1994), + 458: uint16(1986), + 459: uint16(1989), + 460: uint16(1874), + 461: uint16(1863), + 462: uint16(1885), + 463: uint16(1991), + 464: uint16(1991), + 465: uint16(1995), + 466: uint16(1876), + 467: uint16(1997), + 468: uint16(1877), + 469: uint16(2004), + 470: uint16(2021), + 471: uint16(1881), + 472: uint16(1894), + 473: uint16(1991), + 474: uint16(1895), + 475: uint16(1965), + 476: uint16(1990), + 477: uint16(1991), + 478: uint16(1878), + 479: uint16(1975), + 480: uint16(1977), + 481: uint16(1978), + 482: uint16(1979), + 483: uint16(1903), + 484: uint16(1918), + 485: uint16(2002), + 486: uint16(1896), + 487: uint16(2034), + 488: uint16(2033), + 489: uint16(2017), + 490: uint16(1925), + 491: uint16(1880), + 492: uint16(1976), + 493: uint16(2018), + 494: uint16(1980), + 495: uint16(1967), + 496: uint16(2005), + 497: uint16(1904), + 498: uint16(1932), + 499: uint16(2025), + 500: uint16(2030), + 501: uint16(2032), + 502: uint16(1921), + 503: uint16(1928), + 504: uint16(2035), + 505: uint16(1987), + 506: uint16(2036), + 507: uint16(2037), + 508: uint16(2038), + 509: uint16(2040), + 510: uint16(1988), + 511: uint16(2006), + 512: uint16(2039), + 513: uint16(1960), + 514: uint16(2041), + 515: uint16(2042), + 516: uint16(1999), + 517: uint16(2023), + 518: uint16(2044), + 519: uint16(2043), + 520: uint16(1919), + 521: uint16(2048), + 522: uint16(2049), + 523: uint16(2050), + 524: uint16(2046), + 525: uint16(2051), + 526: uint16(2053), + 527: uint16(1981), + 528: uint16(1935), + 529: uint16(2056), + 530: uint16(2057), + 531: uint16(1966), + 532: uint16(2047), + 533: uint16(2061), + 534: uint16(1941), + 535: uint16(2060), + 536: uint16(2052), + 537: uint16(2054), + 538: uint16(2055), + 539: uint16(2058), + 540: uint16(2003), + 541: uint16(2012), + 542: uint16(2007), + 543: uint16(2059), + 544: uint16(2015), + 545: uint16(2008), + 546: uint16(2062), + 547: uint16(2071), + 548: uint16(2073), + 549: uint16(2074), + 550: uint16(2072), + 551: uint16(2075), + 552: uint16(2065), + 553: uint16(1962), + 554: uint16(1964), + 555: uint16(2079), + 556: uint16(2060), + 557: uint16(2082), + 558: uint16(2084), + 559: uint16(2085), + 560: uint16(2087), + 561: uint16(2086), + 562: uint16(2089), + 563: uint16(2088), + 564: uint16(2091), + 565: uint16(2093), + 566: uint16(2099), + 567: uint16(2094), + 568: uint16(2095), + 569: uint16(2096), + 570: uint16(2097), + 571: uint16(2100), + 572: uint16(2101), + 573: uint16(2102), + 574: uint16(1998), + 575: uint16(1984), + 576: uint16(1985), + 577: uint16(2000), + 578: uint16(2103), + 579: uint16(2098), + 580: uint16(2109), + 581: uint16(2117), + 582: uint16(2128), +} +var _yy_reduce_ofst = [412]int16{ + 0: int16(-int32(71)), + 1: int16(194), + 2: int16(343), + 3: int16(835), + 4: int16(-int32(180)), + 5: int16(-int32(177)), + 6: int16(838), + 7: int16(-int32(194)), + 8: int16(-int32(188)), + 9: int16(-int32(185)), + 10: int16(-int32(183)), + 11: int16(82), + 12: int16(183), + 13: int16(-int32(65)), + 14: int16(133), + 15: int16(245), + 16: int16(346), + 17: int16(407), + 18: int16(458), + 19: int16(-int32(178)), + 20: int16(75), + 21: int16(-int32(275)), + 22: int16(-int32(4)), + 23: int16(310), + 24: int16(312), + 25: int16(489), + 26: int16(575), + 27: int16(596), + 28: int16(463), + 29: int16(686), + 30: int16(707), + 31: int16(725), + 32: int16(780), + 33: int16(1098), + 34: int16(856), + 35: int16(778), + 36: int16(1059), + 37: int16(1090), + 38: int16(708), + 39: int16(887), + 40: int16(86), + 41: int16(448), + 42: int16(980), + 43: int16(630), + 44: int16(680), + 45: int16(681), + 46: int16(684), + 47: int16(796), + 48: int16(801), + 49: int16(796), + 50: int16(801), + 51: int16(-int32(261)), + 52: int16(-int32(261)), + 53: int16(-int32(261)), + 54: int16(-int32(261)), + 55: int16(-int32(261)), + 56: int16(-int32(261)), + 57: int16(-int32(261)), + 58: int16(-int32(261)), + 59: int16(-int32(261)), + 60: int16(-int32(261)), + 61: int16(-int32(261)), + 62: int16(-int32(261)), + 63: int16(-int32(261)), + 64: int16(-int32(261)), + 65: int16(-int32(261)), + 66: int16(-int32(261)), + 67: int16(-int32(261)), + 68: int16(-int32(261)), + 69: int16(-int32(261)), + 70: int16(-int32(261)), + 71: int16(-int32(261)), + 72: int16(-int32(261)), + 73: int16(-int32(261)), + 74: int16(-int32(261)), + 75: int16(-int32(261)), + 76: int16(-int32(261)), + 77: int16(-int32(261)), + 78: int16(-int32(261)), + 79: int16(-int32(261)), + 80: int16(-int32(261)), + 81: int16(-int32(261)), + 82: int16(-int32(261)), + 83: int16(-int32(261)), + 84: int16(-int32(261)), + 85: int16(-int32(261)), + 86: int16(-int32(261)), + 87: int16(-int32(261)), + 88: int16(391), + 89: int16(886), + 90: int16(888), + 91: int16(1013), + 92: int16(1016), + 93: int16(1081), + 94: int16(1087), + 95: int16(1151), + 96: int16(1159), + 97: int16(1177), + 98: int16(1185), + 99: int16(1188), + 100: int16(1190), + 101: int16(1194), + 102: int16(1197), + 103: int16(1203), + 104: int16(1247), + 105: int16(1260), + 106: int16(1264), + 107: int16(1267), + 108: int16(1269), + 109: int16(1273), + 110: int16(1315), + 111: int16(1322), + 112: int16(1335), + 113: int16(1337), + 114: int16(1356), + 115: int16(1362), + 116: int16(1418), + 117: int16(1425), + 118: int16(1453), + 119: int16(1457), + 120: int16(1465), + 121: int16(1473), + 122: int16(1487), + 123: int16(1495), + 124: int16(1507), + 125: int16(1517), + 126: int16(1521), + 127: int16(1534), + 128: int16(1543), + 129: int16(1546), + 130: int16(1549), + 131: int16(1552), + 132: int16(1554), + 133: int16(1560), + 134: int16(1581), + 135: int16(1590), + 136: int16(1593), + 137: int16(1595), + 138: int16(1621), + 139: int16(1623), + 140: int16(-int32(261)), + 141: int16(-int32(261)), + 142: int16(-int32(261)), + 143: int16(-int32(261)), + 144: int16(-int32(261)), + 145: int16(-int32(261)), + 146: int16(-int32(261)), + 147: int16(-int32(261)), + 148: int16(-int32(261)), + 149: int16(-int32(261)), + 150: int16(-int32(261)), + 151: int16(-int32(186)), + 152: int16(-int32(117)), + 153: int16(260), + 154: int16(263), + 155: int16(460), + 156: int16(631), + 157: int16(-int32(74)), + 158: int16(497), + 159: int16(-int32(181)), + 160: int16(-int32(261)), + 161: int16(939), + 162: int16(176), + 163: int16(274), + 164: int16(338), + 165: int16(676), + 166: int16(-int32(261)), + 167: int16(-int32(261)), + 168: int16(-int32(261)), + 169: int16(-int32(261)), + 170: int16(-int32(212)), + 171: int16(-int32(212)), + 172: int16(-int32(212)), + 173: int16(-int32(184)), + 174: int16(149), + 175: int16(777), + 176: int16(1061), + 177: int16(1103), + 178: int16(265), + 179: int16(419), + 180: int16(-int32(254)), + 181: int16(670), + 182: int16(677), + 183: int16(677), + 184: int16(-int32(11)), + 185: int16(-int32(129)), + 186: int16(184), + 187: int16(488), + 188: int16(736), + 189: int16(789), + 190: int16(805), + 191: int16(844), + 192: int16(403), + 193: int16(529), + 194: int16(579), + 195: int16(668), + 196: int16(783), + 197: int16(841), + 198: int16(1158), + 199: int16(1112), + 200: int16(806), + 201: int16(861), + 202: int16(1095), + 203: int16(846), + 204: int16(839), + 205: int16(1031), + 206: int16(-int32(189)), + 207: int16(1077), + 208: int16(1080), + 209: int16(1116), + 210: int16(1084), + 211: int16(1156), + 212: int16(1139), + 213: int16(1221), + 214: int16(46), + 215: int16(1099), + 216: int16(1037), + 217: int16(1118), + 218: int16(1171), + 219: int16(1214), + 220: int16(1210), + 221: int16(1258), + 222: int16(-int32(210)), + 223: int16(-int32(190)), + 224: int16(-int32(176)), + 225: int16(-int32(115)), + 226: int16(117), + 227: int16(262), + 228: int16(376), + 229: int16(490), + 230: int16(511), + 231: int16(520), + 232: int16(618), + 233: int16(639), + 234: int16(743), + 235: int16(901), + 236: int16(907), + 237: int16(958), + 238: int16(1014), + 239: int16(1055), + 240: int16(1108), + 241: int16(1193), + 242: int16(1244), + 243: int16(720), + 244: int16(1248), + 245: int16(1277), + 246: int16(1324), + 247: int16(1347), + 248: int16(1417), + 249: int16(1431), + 250: int16(1432), + 251: int16(1440), + 252: int16(1451), + 253: int16(1452), + 254: int16(1463), + 255: int16(1478), + 256: int16(1286), + 257: int16(1350), + 258: int16(1369), + 259: int16(1490), + 260: int16(1498), + 261: int16(1501), + 262: int16(773), + 263: int16(1509), + 264: int16(1513), + 265: int16(1528), + 266: int16(1292), + 267: int16(1367), + 268: int16(1535), + 269: int16(1536), + 270: int16(1477), + 271: int16(1542), + 272: int16(376), + 273: int16(1547), + 274: int16(1550), + 275: int16(1555), + 276: int16(1559), + 277: int16(1568), + 278: int16(1571), + 279: int16(1441), + 280: int16(1443), + 281: int16(1474), + 282: int16(1511), + 283: int16(1516), + 284: int16(1519), + 285: int16(1522), + 286: int16(773), + 287: int16(1474), + 288: int16(1474), + 289: int16(1503), + 290: int16(1567), + 291: int16(1594), + 292: int16(1484), + 293: int16(1527), + 294: int16(1556), + 295: int16(1570), + 296: int16(1557), + 297: int16(1524), + 298: int16(1573), + 299: int16(1545), + 300: int16(1548), + 301: int16(1576), + 302: int16(1561), + 303: int16(1587), + 304: int16(1540), + 305: int16(1575), + 306: int16(1606), + 307: int16(1611), + 308: int16(1622), + 309: int16(1624), + 310: int16(1626), + 311: int16(1582), + 312: int16(1597), + 313: int16(1598), + 314: int16(1599), + 315: int16(1601), + 316: int16(1603), + 317: int16(1563), + 318: int16(1608), + 319: int16(1605), + 320: int16(1604), + 321: int16(1564), + 322: int16(1566), + 323: int16(1655), + 324: int16(1660), + 325: int16(1578), + 326: int16(1579), + 327: int16(1665), + 328: int16(1586), + 329: int16(1607), + 330: int16(1610), + 331: int16(1642), + 332: int16(1641), + 333: int16(1645), + 334: int16(1646), + 335: int16(1647), + 336: int16(1679), + 337: int16(1688), + 338: int16(1644), + 339: int16(1618), + 340: int16(1619), + 341: int16(1648), + 342: int16(1628), + 343: int16(1659), + 344: int16(1649), + 345: int16(1663), + 346: int16(1650), + 347: int16(1700), + 348: int16(1702), + 349: int16(1612), + 350: int16(1615), + 351: int16(1706), + 352: int16(1708), + 353: int16(1689), + 354: int16(1709), + 355: int16(1712), + 356: int16(1713), + 357: int16(1715), + 358: int16(1691), + 359: int16(1698), + 360: int16(1699), + 361: int16(1701), + 362: int16(1693), + 363: int16(1704), + 364: int16(1707), + 365: int16(1705), + 366: int16(1714), + 367: int16(1703), + 368: int16(1718), + 369: int16(1710), + 370: int16(1720), + 371: int16(1721), + 372: int16(1632), + 373: int16(1634), + 374: int16(1664), + 375: int16(1666), + 376: int16(1729), + 377: int16(1751), + 378: int16(1635), + 379: int16(1636), + 380: int16(1692), + 381: int16(1694), + 382: int16(1716), + 383: int16(1722), + 384: int16(1684), + 385: int16(1763), + 386: int16(1685), + 387: int16(1723), + 388: int16(1724), + 389: int16(1727), + 390: int16(1730), + 391: int16(1768), + 392: int16(1783), + 393: int16(1784), + 394: int16(1793), + 395: int16(1794), + 396: int16(1796), + 397: int16(1683), 398: int16(1686), - 399: int16(1738), - 400: int16(1728), - 401: int16(1733), - 402: int16(1736), - 403: int16(1737), - 404: int16(1740), - 405: int16(1726), - 406: int16(1730), - 407: int16(1742), - 408: int16(1743), - 409: int16(1748), - 410: int16(1753), -} -var _yy_default = [579]uint16{ - 0: uint16(1648), - 1: uint16(1648), - 2: uint16(1648), - 3: uint16(1478), - 4: uint16(1243), - 5: uint16(1354), - 6: uint16(1243), - 7: uint16(1243), - 8: uint16(1243), - 9: uint16(1478), - 10: uint16(1478), - 11: uint16(1478), - 12: uint16(1243), - 13: uint16(1384), - 14: uint16(1384), - 15: uint16(1531), - 16: uint16(1276), - 17: uint16(1243), - 18: uint16(1243), - 19: uint16(1243), - 20: uint16(1243), - 21: uint16(1243), - 22: uint16(1243), - 23: uint16(1243), - 24: uint16(1243), - 25: uint16(1243), - 26: uint16(1243), - 27: uint16(1243), - 28: uint16(1477), - 29: uint16(1243), - 30: uint16(1243), - 31: uint16(1243), - 32: uint16(1243), - 33: uint16(1564), - 34: uint16(1564), - 35: uint16(1243), - 36: uint16(1243), - 37: uint16(1243), - 38: uint16(1243), - 39: uint16(1243), - 40: uint16(1243), - 41: uint16(1243), - 42: uint16(1243), - 43: uint16(1393), - 44: uint16(1243), - 45: uint16(1400), - 46: uint16(1243), - 47: uint16(1243), - 48: uint16(1243), - 49: uint16(1243), - 50: uint16(1243), - 51: uint16(1479), - 52: uint16(1480), - 53: uint16(1243), - 54: uint16(1243), - 55: uint16(1243), - 56: uint16(1530), - 57: uint16(1532), - 58: uint16(1495), - 59: uint16(1407), - 60: uint16(1406), - 61: uint16(1405), - 62: uint16(1404), - 63: uint16(1513), - 64: uint16(1372), - 65: uint16(1398), - 66: uint16(1391), - 67: uint16(1395), - 68: uint16(1474), - 69: uint16(1475), - 70: uint16(1473), - 71: uint16(1626), - 72: uint16(1480), - 73: uint16(1479), - 74: uint16(1243), - 75: uint16(1394), - 76: uint16(1442), - 77: uint16(1458), - 78: uint16(1441), - 79: uint16(1243), - 80: uint16(1243), - 81: uint16(1243), - 82: uint16(1243), - 83: uint16(1243), - 84: uint16(1243), - 85: uint16(1243), - 86: uint16(1243), - 87: uint16(1243), - 88: uint16(1243), - 89: uint16(1243), - 90: uint16(1243), - 91: uint16(1243), - 92: uint16(1243), - 93: uint16(1243), - 94: uint16(1243), - 95: uint16(1243), - 96: uint16(1243), - 97: uint16(1243), - 98: uint16(1243), - 99: uint16(1243), - 100: uint16(1243), - 101: uint16(1243), - 102: uint16(1243), - 103: uint16(1243), - 104: uint16(1243), - 105: uint16(1243), - 106: uint16(1243), - 107: uint16(1243), - 108: uint16(1243), - 109: uint16(1243), - 110: uint16(1243), - 111: uint16(1243), - 112: uint16(1243), - 113: uint16(1243), - 114: uint16(1243), - 115: uint16(1243), - 116: uint16(1243), - 117: uint16(1243), - 118: uint16(1243), - 119: uint16(1243), - 120: uint16(1243), - 121: uint16(1243), - 122: uint16(1243), - 123: uint16(1243), - 124: uint16(1243), - 125: uint16(1243), - 126: uint16(1243), - 127: uint16(1243), - 128: uint16(1243), - 129: uint16(1243), - 130: uint16(1243), - 131: uint16(1450), - 132: uint16(1457), - 133: uint16(1456), - 134: uint16(1455), - 135: uint16(1464), - 136: uint16(1454), - 137: uint16(1451), - 138: uint16(1444), - 139: uint16(1443), - 140: uint16(1445), - 141: uint16(1446), - 142: uint16(1243), - 143: uint16(1243), - 144: uint16(1267), - 145: uint16(1243), - 146: uint16(1243), - 147: uint16(1264), - 148: uint16(1318), - 149: uint16(1243), - 150: uint16(1243), - 151: uint16(1243), - 152: uint16(1243), - 153: uint16(1243), - 154: uint16(1550), - 155: uint16(1549), - 156: uint16(1243), - 157: uint16(1447), - 158: uint16(1243), - 159: uint16(1276), - 160: uint16(1435), - 161: uint16(1434), - 162: uint16(1433), - 163: uint16(1461), - 164: uint16(1448), - 165: uint16(1460), - 166: uint16(1459), - 167: uint16(1538), - 168: uint16(1600), - 169: uint16(1599), - 170: uint16(1496), - 171: uint16(1243), - 172: uint16(1243), - 173: uint16(1243), - 174: uint16(1243), - 175: uint16(1243), - 176: uint16(1243), - 177: uint16(1564), - 178: uint16(1243), - 179: uint16(1243), - 180: uint16(1243), - 181: uint16(1243), - 182: uint16(1243), - 183: uint16(1243), - 184: uint16(1243), - 185: uint16(1243), - 186: uint16(1243), - 187: uint16(1243), - 188: uint16(1243), - 189: uint16(1243), - 190: uint16(1243), - 191: uint16(1243), - 192: uint16(1243), - 193: uint16(1243), - 194: uint16(1243), - 195: uint16(1243), - 196: uint16(1243), - 197: uint16(1243), - 198: uint16(1243), - 199: uint16(1243), - 200: uint16(1243), - 201: uint16(1374), - 202: uint16(1564), - 203: uint16(1564), - 204: uint16(1243), - 205: uint16(1276), - 206: uint16(1564), - 207: uint16(1564), - 208: uint16(1375), - 209: uint16(1375), - 210: uint16(1272), - 211: uint16(1272), - 212: uint16(1378), - 213: uint16(1243), - 214: uint16(1545), - 215: uint16(1345), - 216: uint16(1345), - 217: uint16(1345), - 218: uint16(1345), - 219: uint16(1354), - 220: uint16(1345), - 221: uint16(1243), - 222: uint16(1243), - 223: uint16(1243), - 224: uint16(1243), - 225: uint16(1243), - 226: uint16(1243), - 227: uint16(1243), - 228: uint16(1243), - 229: uint16(1243), - 230: uint16(1243), - 231: uint16(1243), - 232: uint16(1243), - 233: uint16(1243), - 234: uint16(1243), - 235: uint16(1243), - 236: uint16(1535), - 237: uint16(1533), - 238: uint16(1243), - 239: uint16(1243), - 240: uint16(1243), - 241: uint16(1243), - 242: uint16(1243), - 243: uint16(1243), - 244: uint16(1243), - 245: uint16(1243), - 246: uint16(1243), - 247: uint16(1243), - 248: uint16(1243), - 249: uint16(1243), - 250: uint16(1243), - 251: uint16(1243), - 252: uint16(1243), - 253: uint16(1243), - 254: uint16(1243), - 255: uint16(1243), - 256: uint16(1243), - 257: uint16(1243), - 258: uint16(1243), - 259: uint16(1243), - 260: uint16(1243), - 261: uint16(1243), - 262: uint16(1243), - 263: uint16(1243), - 264: uint16(1243), - 265: uint16(1350), - 266: uint16(1243), - 267: uint16(1243), - 268: uint16(1243), - 269: uint16(1243), - 270: uint16(1243), - 271: uint16(1243), - 272: uint16(1243), - 273: uint16(1243), - 274: uint16(1243), - 275: uint16(1243), - 276: uint16(1243), - 277: uint16(1593), - 278: uint16(1243), - 279: uint16(1508), - 280: uint16(1332), - 281: uint16(1350), - 282: uint16(1350), - 283: uint16(1350), - 284: uint16(1350), - 285: uint16(1352), - 286: uint16(1333), - 287: uint16(1331), - 288: uint16(1344), - 289: uint16(1277), - 290: uint16(1250), - 291: uint16(1640), - 292: uint16(1410), - 293: uint16(1399), - 294: uint16(1351), - 295: uint16(1399), - 296: uint16(1637), - 297: uint16(1397), + 399: int16(1690), + 400: int16(1782), + 401: int16(1779), + 402: int16(1780), + 403: int16(1781), + 404: int16(1785), + 405: int16(1788), + 406: int16(1774), + 407: int16(1775), + 408: int16(1786), + 409: int16(1787), + 410: int16(1789), + 411: int16(1798), +} +var _yy_default = [583]uint16{ + 0: uint16(1663), + 1: uint16(1663), + 2: uint16(1663), + 3: uint16(1491), + 4: uint16(1254), + 5: uint16(1367), + 6: uint16(1254), + 7: uint16(1254), + 8: uint16(1254), + 9: uint16(1254), + 10: uint16(1491), + 11: uint16(1491), + 12: uint16(1491), + 13: uint16(1254), + 14: uint16(1254), + 15: uint16(1254), + 16: uint16(1254), + 17: uint16(1254), + 18: uint16(1254), + 19: uint16(1397), + 20: uint16(1397), + 21: uint16(1544), + 22: uint16(1287), + 23: uint16(1254), + 24: uint16(1254), + 25: uint16(1254), + 26: uint16(1254), + 27: uint16(1254), + 28: uint16(1254), + 29: uint16(1254), + 30: uint16(1254), + 31: uint16(1254), + 32: uint16(1254), + 33: uint16(1254), + 34: uint16(1254), + 35: uint16(1490), + 36: uint16(1254), + 37: uint16(1254), + 38: uint16(1254), + 39: uint16(1254), + 40: uint16(1578), + 41: uint16(1578), + 42: uint16(1254), + 43: uint16(1254), + 44: uint16(1254), + 45: uint16(1254), + 46: uint16(1254), + 47: uint16(1563), + 48: uint16(1562), + 49: uint16(1254), + 50: uint16(1254), + 51: uint16(1254), + 52: uint16(1406), + 53: uint16(1254), + 54: uint16(1413), + 55: uint16(1254), + 56: uint16(1254), + 57: uint16(1254), + 58: uint16(1254), + 59: uint16(1254), + 60: uint16(1492), + 61: uint16(1493), + 62: uint16(1254), + 63: uint16(1254), + 64: uint16(1254), + 65: uint16(1543), + 66: uint16(1545), + 67: uint16(1508), + 68: uint16(1420), + 69: uint16(1419), + 70: uint16(1418), + 71: uint16(1417), + 72: uint16(1526), + 73: uint16(1385), + 74: uint16(1411), + 75: uint16(1404), + 76: uint16(1408), + 77: uint16(1487), + 78: uint16(1488), + 79: uint16(1486), + 80: uint16(1641), + 81: uint16(1493), + 82: uint16(1492), + 83: uint16(1254), + 84: uint16(1407), + 85: uint16(1455), + 86: uint16(1471), + 87: uint16(1454), + 88: uint16(1254), + 89: uint16(1254), + 90: uint16(1254), + 91: uint16(1254), + 92: uint16(1254), + 93: uint16(1254), + 94: uint16(1254), + 95: uint16(1254), + 96: uint16(1254), + 97: uint16(1254), + 98: uint16(1254), + 99: uint16(1254), + 100: uint16(1254), + 101: uint16(1254), + 102: uint16(1254), + 103: uint16(1254), + 104: uint16(1254), + 105: uint16(1254), + 106: uint16(1254), + 107: uint16(1254), + 108: uint16(1254), + 109: uint16(1254), + 110: uint16(1254), + 111: uint16(1254), + 112: uint16(1254), + 113: uint16(1254), + 114: uint16(1254), + 115: uint16(1254), + 116: uint16(1254), + 117: uint16(1254), + 118: uint16(1254), + 119: uint16(1254), + 120: uint16(1254), + 121: uint16(1254), + 122: uint16(1254), + 123: uint16(1254), + 124: uint16(1254), + 125: uint16(1254), + 126: uint16(1254), + 127: uint16(1254), + 128: uint16(1254), + 129: uint16(1254), + 130: uint16(1254), + 131: uint16(1254), + 132: uint16(1254), + 133: uint16(1254), + 134: uint16(1254), + 135: uint16(1254), + 136: uint16(1254), + 137: uint16(1254), + 138: uint16(1254), + 139: uint16(1254), + 140: uint16(1463), + 141: uint16(1470), + 142: uint16(1469), + 143: uint16(1468), + 144: uint16(1477), + 145: uint16(1467), + 146: uint16(1464), + 147: uint16(1457), + 148: uint16(1456), + 149: uint16(1458), + 150: uint16(1459), + 151: uint16(1278), + 152: uint16(1254), + 153: uint16(1275), + 154: uint16(1329), + 155: uint16(1254), + 156: uint16(1254), + 157: uint16(1254), + 158: uint16(1254), + 159: uint16(1254), + 160: uint16(1460), + 161: uint16(1287), + 162: uint16(1448), + 163: uint16(1447), + 164: uint16(1446), + 165: uint16(1254), + 166: uint16(1474), + 167: uint16(1461), + 168: uint16(1473), + 169: uint16(1472), + 170: uint16(1551), + 171: uint16(1615), + 172: uint16(1614), + 173: uint16(1509), + 174: uint16(1254), + 175: uint16(1254), + 176: uint16(1254), + 177: uint16(1254), + 178: uint16(1254), + 179: uint16(1254), + 180: uint16(1578), + 181: uint16(1254), + 182: uint16(1254), + 183: uint16(1254), + 184: uint16(1254), + 185: uint16(1254), + 186: uint16(1254), + 187: uint16(1254), + 188: uint16(1254), + 189: uint16(1254), + 190: uint16(1254), + 191: uint16(1254), + 192: uint16(1254), + 193: uint16(1254), + 194: uint16(1254), + 195: uint16(1254), + 196: uint16(1254), + 197: uint16(1254), + 198: uint16(1254), + 199: uint16(1254), + 200: uint16(1254), + 201: uint16(1254), + 202: uint16(1254), + 203: uint16(1387), + 204: uint16(1578), + 205: uint16(1578), + 206: uint16(1254), + 207: uint16(1287), + 208: uint16(1578), + 209: uint16(1578), + 210: uint16(1388), + 211: uint16(1388), + 212: uint16(1283), + 213: uint16(1283), + 214: uint16(1391), + 215: uint16(1558), + 216: uint16(1358), + 217: uint16(1358), + 218: uint16(1358), + 219: uint16(1358), + 220: uint16(1367), + 221: uint16(1358), + 222: uint16(1254), + 223: uint16(1254), + 224: uint16(1254), + 225: uint16(1254), + 226: uint16(1254), + 227: uint16(1254), + 228: uint16(1254), + 229: uint16(1254), + 230: uint16(1254), + 231: uint16(1254), + 232: uint16(1254), + 233: uint16(1254), + 234: uint16(1254), + 235: uint16(1254), + 236: uint16(1254), + 237: uint16(1548), + 238: uint16(1546), + 239: uint16(1254), + 240: uint16(1254), + 241: uint16(1254), + 242: uint16(1254), + 243: uint16(1254), + 244: uint16(1254), + 245: uint16(1254), + 246: uint16(1254), + 247: uint16(1254), + 248: uint16(1254), + 249: uint16(1254), + 250: uint16(1254), + 251: uint16(1254), + 252: uint16(1254), + 253: uint16(1254), + 254: uint16(1254), + 255: uint16(1254), + 256: uint16(1254), + 257: uint16(1254), + 258: uint16(1254), + 259: uint16(1254), + 260: uint16(1254), + 261: uint16(1254), + 262: uint16(1254), + 263: uint16(1254), + 264: uint16(1254), + 265: uint16(1254), + 266: uint16(1363), + 267: uint16(1254), + 268: uint16(1254), + 269: uint16(1254), + 270: uint16(1254), + 271: uint16(1254), + 272: uint16(1254), + 273: uint16(1254), + 274: uint16(1254), + 275: uint16(1254), + 276: uint16(1254), + 277: uint16(1254), + 278: uint16(1608), + 279: uint16(1254), + 280: uint16(1521), + 281: uint16(1343), + 282: uint16(1363), + 283: uint16(1363), + 284: uint16(1363), + 285: uint16(1363), + 286: uint16(1365), + 287: uint16(1344), + 288: uint16(1342), + 289: uint16(1357), + 290: uint16(1288), + 291: uint16(1261), + 292: uint16(1655), + 293: uint16(1423), + 294: uint16(1412), + 295: uint16(1364), + 296: uint16(1412), + 297: uint16(1652), 298: uint16(1410), - 299: uint16(1410), - 300: uint16(1397), + 299: uint16(1423), + 300: uint16(1423), 301: uint16(1410), - 302: uint16(1351), - 303: uint16(1637), - 304: uint16(1293), - 305: uint16(1615), - 306: uint16(1288), - 307: uint16(1384), - 308: uint16(1384), - 309: uint16(1384), - 310: uint16(1374), - 311: uint16(1374), - 312: uint16(1374), - 313: uint16(1374), - 314: uint16(1378), - 315: uint16(1378), - 316: uint16(1476), - 317: uint16(1351), - 318: uint16(1344), - 319: uint16(1243), - 320: uint16(1640), - 321: uint16(1640), - 322: uint16(1360), - 323: uint16(1360), - 324: uint16(1639), - 325: uint16(1639), - 326: uint16(1360), - 327: uint16(1496), - 328: uint16(1623), - 329: uint16(1419), - 330: uint16(1321), - 331: uint16(1327), - 332: uint16(1327), - 333: uint16(1327), - 334: uint16(1327), - 335: uint16(1360), - 336: uint16(1261), - 337: uint16(1397), - 338: uint16(1623), - 339: uint16(1623), - 340: uint16(1397), - 341: uint16(1419), - 342: uint16(1321), - 343: uint16(1397), - 344: uint16(1321), - 345: uint16(1397), - 346: uint16(1360), - 347: uint16(1261), - 348: uint16(1512), - 349: uint16(1634), - 350: uint16(1360), - 351: uint16(1261), - 352: uint16(1486), - 353: uint16(1360), - 354: uint16(1261), - 355: uint16(1360), - 356: uint16(1261), - 357: uint16(1486), - 358: uint16(1319), - 359: uint16(1319), - 360: uint16(1319), - 361: uint16(1308), - 362: uint16(1243), - 363: uint16(1243), - 364: uint16(1486), - 365: uint16(1319), - 366: uint16(1293), - 367: uint16(1319), - 368: uint16(1308), + 302: uint16(1423), + 303: uint16(1364), + 304: uint16(1652), + 305: uint16(1304), + 306: uint16(1630), + 307: uint16(1299), + 308: uint16(1397), + 309: uint16(1397), + 310: uint16(1397), + 311: uint16(1387), + 312: uint16(1387), + 313: uint16(1387), + 314: uint16(1387), + 315: uint16(1391), + 316: uint16(1391), + 317: uint16(1489), + 318: uint16(1364), + 319: uint16(1357), + 320: uint16(1254), + 321: uint16(1655), + 322: uint16(1655), + 323: uint16(1373), + 324: uint16(1373), + 325: uint16(1654), + 326: uint16(1654), + 327: uint16(1373), + 328: uint16(1509), + 329: uint16(1638), + 330: uint16(1432), + 331: uint16(1332), + 332: uint16(1338), + 333: uint16(1338), + 334: uint16(1338), + 335: uint16(1338), + 336: uint16(1373), + 337: uint16(1272), + 338: uint16(1410), + 339: uint16(1638), + 340: uint16(1638), + 341: uint16(1410), + 342: uint16(1432), + 343: uint16(1332), + 344: uint16(1410), + 345: uint16(1332), + 346: uint16(1410), + 347: uint16(1373), + 348: uint16(1272), + 349: uint16(1525), + 350: uint16(1649), + 351: uint16(1373), + 352: uint16(1272), + 353: uint16(1499), + 354: uint16(1373), + 355: uint16(1272), + 356: uint16(1373), + 357: uint16(1272), + 358: uint16(1499), + 359: uint16(1330), + 360: uint16(1330), + 361: uint16(1330), + 362: uint16(1319), + 363: uint16(1254), + 364: uint16(1254), + 365: uint16(1499), + 366: uint16(1330), + 367: uint16(1304), + 368: uint16(1330), 369: uint16(1319), - 370: uint16(1319), - 371: uint16(1582), - 372: uint16(1243), - 373: uint16(1490), - 374: uint16(1490), - 375: uint16(1486), - 376: uint16(1360), - 377: uint16(1574), - 378: uint16(1574), - 379: uint16(1387), - 380: uint16(1387), - 381: uint16(1392), - 382: uint16(1378), - 383: uint16(1481), - 384: uint16(1360), - 385: uint16(1243), - 386: uint16(1392), - 387: uint16(1390), - 388: uint16(1388), - 389: uint16(1397), - 390: uint16(1311), - 391: uint16(1596), - 392: uint16(1596), - 393: uint16(1592), - 394: uint16(1592), - 395: uint16(1592), - 396: uint16(1645), - 397: uint16(1645), - 398: uint16(1545), - 399: uint16(1608), - 400: uint16(1276), - 401: uint16(1276), - 402: uint16(1276), - 403: uint16(1276), - 404: uint16(1608), - 405: uint16(1295), - 406: uint16(1295), - 407: uint16(1277), - 408: uint16(1277), - 409: uint16(1276), - 410: uint16(1608), - 411: uint16(1243), - 412: uint16(1243), - 413: uint16(1243), - 414: uint16(1243), - 415: uint16(1243), - 416: uint16(1243), - 417: uint16(1603), - 418: uint16(1243), - 419: uint16(1540), - 420: uint16(1497), - 421: uint16(1364), - 422: uint16(1243), - 423: uint16(1243), - 424: uint16(1243), - 425: uint16(1243), - 426: uint16(1243), - 427: uint16(1243), - 428: uint16(1243), - 429: uint16(1243), - 430: uint16(1243), - 431: uint16(1243), - 432: uint16(1243), - 433: uint16(1243), - 434: uint16(1243), - 435: uint16(1243), - 436: uint16(1243), - 437: uint16(1243), - 438: uint16(1551), - 439: uint16(1243), - 440: uint16(1243), - 441: uint16(1243), - 442: uint16(1243), - 443: uint16(1243), - 444: uint16(1243), - 445: uint16(1243), - 446: uint16(1243), - 447: uint16(1243), - 448: uint16(1243), - 449: uint16(1424), - 450: uint16(1243), - 451: uint16(1246), - 452: uint16(1542), - 453: uint16(1243), - 454: uint16(1243), - 455: uint16(1243), - 456: uint16(1243), - 457: uint16(1243), - 458: uint16(1243), - 459: uint16(1243), - 460: uint16(1243), - 461: uint16(1401), - 462: uint16(1402), - 463: uint16(1365), - 464: uint16(1243), - 465: uint16(1243), - 466: uint16(1243), - 467: uint16(1243), - 468: uint16(1243), - 469: uint16(1243), - 470: uint16(1243), - 471: uint16(1416), - 472: uint16(1243), - 473: uint16(1243), - 474: uint16(1243), - 475: uint16(1411), - 476: uint16(1243), - 477: uint16(1243), - 478: uint16(1243), - 479: uint16(1243), - 480: uint16(1243), - 481: uint16(1243), - 482: uint16(1243), - 483: uint16(1243), - 484: uint16(1636), - 485: uint16(1243), - 486: uint16(1243), - 487: uint16(1243), - 488: uint16(1243), - 489: uint16(1243), - 490: uint16(1243), - 491: uint16(1511), - 492: uint16(1510), - 493: uint16(1243), - 494: uint16(1243), - 495: uint16(1362), - 496: uint16(1243), - 497: uint16(1243), - 498: uint16(1243), - 499: uint16(1243), - 500: uint16(1243), - 501: uint16(1243), - 502: uint16(1243), - 503: uint16(1243), - 504: uint16(1243), - 505: uint16(1243), - 506: uint16(1243), - 507: uint16(1243), - 508: uint16(1243), - 509: uint16(1291), - 510: uint16(1243), - 511: uint16(1243), - 512: uint16(1243), - 513: uint16(1243), - 514: uint16(1243), - 515: uint16(1243), - 516: uint16(1243), - 517: uint16(1243), - 518: uint16(1243), - 519: uint16(1243), - 520: uint16(1243), - 521: uint16(1243), - 522: uint16(1243), - 523: uint16(1243), - 524: uint16(1243), - 525: uint16(1243), - 526: uint16(1243), - 527: uint16(1243), - 528: uint16(1243), - 529: uint16(1243), - 530: uint16(1243), - 531: uint16(1243), - 532: uint16(1243), - 533: uint16(1389), - 534: uint16(1243), - 535: uint16(1243), - 536: uint16(1243), - 537: uint16(1243), - 538: uint16(1243), - 539: uint16(1243), - 540: uint16(1243), - 541: uint16(1243), - 542: uint16(1243), - 543: uint16(1243), - 544: uint16(1243), - 545: uint16(1243), - 546: uint16(1243), - 547: uint16(1243), - 548: uint16(1579), - 549: uint16(1379), - 550: uint16(1243), - 551: uint16(1243), - 552: uint16(1243), - 553: uint16(1243), - 554: uint16(1627), - 555: uint16(1243), - 556: uint16(1243), - 557: uint16(1243), - 558: uint16(1243), - 559: uint16(1243), - 560: uint16(1243), - 561: uint16(1243), - 562: uint16(1243), - 563: uint16(1243), - 564: uint16(1243), - 565: uint16(1243), - 566: uint16(1243), - 567: uint16(1243), - 568: uint16(1243), - 569: uint16(1619), - 570: uint16(1335), - 571: uint16(1425), - 572: uint16(1243), - 573: uint16(1428), - 574: uint16(1265), - 575: uint16(1243), - 576: uint16(1255), - 577: uint16(1243), - 578: uint16(1243), + 370: uint16(1330), + 371: uint16(1330), + 372: uint16(1596), + 373: uint16(1254), + 374: uint16(1503), + 375: uint16(1503), + 376: uint16(1499), + 377: uint16(1373), + 378: uint16(1588), + 379: uint16(1588), + 380: uint16(1400), + 381: uint16(1400), + 382: uint16(1405), + 383: uint16(1391), + 384: uint16(1494), + 385: uint16(1373), + 386: uint16(1254), + 387: uint16(1405), + 388: uint16(1403), + 389: uint16(1401), + 390: uint16(1410), + 391: uint16(1322), + 392: uint16(1611), + 393: uint16(1611), + 394: uint16(1607), + 395: uint16(1607), + 396: uint16(1607), + 397: uint16(1660), + 398: uint16(1660), + 399: uint16(1558), + 400: uint16(1623), + 401: uint16(1287), + 402: uint16(1287), + 403: uint16(1287), + 404: uint16(1287), + 405: uint16(1623), + 406: uint16(1306), + 407: uint16(1306), + 408: uint16(1288), + 409: uint16(1288), + 410: uint16(1287), + 411: uint16(1623), + 412: uint16(1254), + 413: uint16(1254), + 414: uint16(1254), + 415: uint16(1254), + 416: uint16(1254), + 417: uint16(1254), + 418: uint16(1618), + 419: uint16(1254), + 420: uint16(1553), + 421: uint16(1510), + 422: uint16(1377), + 423: uint16(1254), + 424: uint16(1254), + 425: uint16(1254), + 426: uint16(1254), + 427: uint16(1254), + 428: uint16(1254), + 429: uint16(1254), + 430: uint16(1254), + 431: uint16(1254), + 432: uint16(1254), + 433: uint16(1254), + 434: uint16(1254), + 435: uint16(1254), + 436: uint16(1254), + 437: uint16(1254), + 438: uint16(1254), + 439: uint16(1564), + 440: uint16(1254), + 441: uint16(1254), + 442: uint16(1254), + 443: uint16(1254), + 444: uint16(1254), + 445: uint16(1254), + 446: uint16(1254), + 447: uint16(1254), + 448: uint16(1254), + 449: uint16(1254), + 450: uint16(1254), + 451: uint16(1437), + 452: uint16(1254), + 453: uint16(1257), + 454: uint16(1555), + 455: uint16(1254), + 456: uint16(1254), + 457: uint16(1254), + 458: uint16(1254), + 459: uint16(1254), + 460: uint16(1254), + 461: uint16(1254), + 462: uint16(1254), + 463: uint16(1414), + 464: uint16(1415), + 465: uint16(1378), + 466: uint16(1254), + 467: uint16(1254), + 468: uint16(1254), + 469: uint16(1254), + 470: uint16(1254), + 471: uint16(1254), + 472: uint16(1254), + 473: uint16(1429), + 474: uint16(1254), + 475: uint16(1254), + 476: uint16(1254), + 477: uint16(1424), + 478: uint16(1254), + 479: uint16(1254), + 480: uint16(1254), + 481: uint16(1254), + 482: uint16(1254), + 483: uint16(1254), + 484: uint16(1254), + 485: uint16(1254), + 486: uint16(1651), + 487: uint16(1254), + 488: uint16(1254), + 489: uint16(1254), + 490: uint16(1254), + 491: uint16(1254), + 492: uint16(1254), + 493: uint16(1524), + 494: uint16(1523), + 495: uint16(1254), + 496: uint16(1254), + 497: uint16(1375), + 498: uint16(1254), + 499: uint16(1254), + 500: uint16(1254), + 501: uint16(1254), + 502: uint16(1254), + 503: uint16(1254), + 504: uint16(1254), + 505: uint16(1254), + 506: uint16(1254), + 507: uint16(1254), + 508: uint16(1254), + 509: uint16(1254), + 510: uint16(1254), + 511: uint16(1302), + 512: uint16(1254), + 513: uint16(1254), + 514: uint16(1254), + 515: uint16(1254), + 516: uint16(1254), + 517: uint16(1254), + 518: uint16(1254), + 519: uint16(1254), + 520: uint16(1254), + 521: uint16(1254), + 522: uint16(1254), + 523: uint16(1254), + 524: uint16(1254), + 525: uint16(1254), + 526: uint16(1254), + 527: uint16(1254), + 528: uint16(1254), + 529: uint16(1254), + 530: uint16(1254), + 531: uint16(1254), + 532: uint16(1254), + 533: uint16(1254), + 534: uint16(1254), + 535: uint16(1402), + 536: uint16(1254), + 537: uint16(1254), + 538: uint16(1254), + 539: uint16(1254), + 540: uint16(1254), + 541: uint16(1254), + 542: uint16(1254), + 543: uint16(1254), + 544: uint16(1254), + 545: uint16(1254), + 546: uint16(1254), + 547: uint16(1254), + 548: uint16(1254), + 549: uint16(1254), + 550: uint16(1593), + 551: uint16(1392), + 552: uint16(1254), + 553: uint16(1254), + 554: uint16(1254), + 555: uint16(1254), + 556: uint16(1642), + 557: uint16(1254), + 558: uint16(1254), + 559: uint16(1254), + 560: uint16(1254), + 561: uint16(1352), + 562: uint16(1254), + 563: uint16(1254), + 564: uint16(1254), + 565: uint16(1254), + 566: uint16(1254), + 567: uint16(1254), + 568: uint16(1254), + 569: uint16(1254), + 570: uint16(1254), + 571: uint16(1254), + 572: uint16(1254), + 573: uint16(1634), + 574: uint16(1346), + 575: uint16(1438), + 576: uint16(1254), + 577: uint16(1441), + 578: uint16(1276), + 579: uint16(1254), + 580: uint16(1266), + 581: uint16(1254), + 582: uint16(1254), } /********** End of lemon-generated parsing tables *****************************/ @@ -158256,7 +159624,7 @@ var _yy_default = [579]uint16{ // ** to revert to identifiers if they keyword does not apply in the context where // ** it appears. // */ -var _yyFallback = [185]uint16{ +var _yyFallback = [186]uint16{ 2: uint16(59), 3: uint16(59), 4: uint16(59), @@ -158369,8 +159737,9 @@ type yyStackEntry = TyyStackEntry type TyyParser1 = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser1 = TyyParser1 @@ -158378,14 +159747,46 @@ type yyParser1 = TyyParser1 type TyyParser = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser = TyyParser /* #include */ +// C documentation +// +// /* +// ** Try to increase the size of the parser stack. Return the number +// ** of errors. Return 0 on success. +// */ +func _yyGrowStack(tls *libc.TLS, p uintptr) (r int32) { + var idx, newSize, oldSize int32 + var pNew uintptr + _, _, _, _ = idx, newSize, oldSize, pNew + oldSize = int32(1) + int32((int64((*TyyParser)(unsafe.Pointer(p)).FyystackEnd)-int64((*TyyParser)(unsafe.Pointer(p)).Fyystack))/24) + newSize = oldSize*int32(2) + int32(100) + idx = int32((int64((*TyyParser)(unsafe.Pointer(p)).Fyytos) - int64((*TyyParser)(unsafe.Pointer(p)).Fyystack)) / 24) + if (*TyyParser)(unsafe.Pointer(p)).Fyystack == p+32 { + pNew = _parserStackRealloc(tls, uintptr(0), uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + libc.X__builtin___memcpy_chk(tls, pNew, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(oldSize)*uint64(24), libc.X__builtin_object_size(tls, pNew, 0)) + } else { + pNew = _parserStackRealloc(tls, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + } + (*TyyParser)(unsafe.Pointer(p)).Fyystack = pNew + (*TyyParser)(unsafe.Pointer(p)).Fyytos = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(idx)*24 + (*TyyParser)(unsafe.Pointer(p)).FyystackEnd = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(newSize-int32(1))*24 + return 0 +} + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -158401,10 +159802,11 @@ func _sqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { _ = yypParser yypParser = yypRawParser (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fstateno = uint16(0) - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fmajor = uint16(0) - (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = yypParser + 16 + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack = yypParser + 32 + (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fstateno = uint16(0) + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fmajor = uint16(0) } // C documentation @@ -158432,103 +159834,105 @@ func _yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor u ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case int32(204): /* select */ + case int32(205): /* select */ + fallthrough + case int32(240): /* selectnowith */ fallthrough - case int32(239): /* selectnowith */ + case int32(241): /* oneselect */ fallthrough - case int32(240): /* oneselect */ + case int32(253): /* values */ fallthrough - case int32(252): /* values */ + case int32(255): /* mvalues */ _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(216): /* term */ + case int32(217): /* term */ fallthrough - case int32(217): /* expr */ + case int32(218): /* expr */ fallthrough - case int32(246): /* where_opt */ + case int32(247): /* where_opt */ fallthrough - case int32(248): /* having_opt */ + case int32(249): /* having_opt */ fallthrough - case int32(267): /* where_opt_ret */ + case int32(269): /* where_opt_ret */ fallthrough - case int32(278): /* case_operand */ + case int32(280): /* case_operand */ fallthrough - case int32(280): /* case_else */ + case int32(282): /* case_else */ fallthrough - case int32(283): /* vinto */ + case int32(285): /* vinto */ fallthrough - case int32(290): /* when_clause */ + case int32(292): /* when_clause */ fallthrough - case int32(295): /* key_opt */ + case int32(297): /* key_opt */ fallthrough - case int32(311): /* filter_clause */ + case int32(314): /* filter_clause */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(221): /* eidlist_opt */ + case int32(222): /* eidlist_opt */ fallthrough - case int32(231): /* sortlist */ + case int32(232): /* sortlist */ fallthrough - case int32(232): /* eidlist */ + case int32(233): /* eidlist */ fallthrough - case int32(244): /* selcollist */ + case int32(245): /* selcollist */ fallthrough - case int32(247): /* groupby_opt */ + case int32(248): /* groupby_opt */ fallthrough - case int32(249): /* orderby_opt */ + case int32(250): /* orderby_opt */ fallthrough - case int32(253): /* nexprlist */ + case int32(254): /* nexprlist */ fallthrough - case int32(254): /* sclp */ + case int32(256): /* sclp */ fallthrough - case int32(261): /* exprlist */ + case int32(263): /* exprlist */ fallthrough - case int32(268): /* setlist */ + case int32(270): /* setlist */ fallthrough - case int32(277): /* paren_exprlist */ + case int32(279): /* paren_exprlist */ fallthrough - case int32(279): /* case_exprlist */ + case int32(281): /* case_exprlist */ fallthrough - case int32(310): /* part_opt */ + case int32(313): /* part_opt */ _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(238): /* fullname */ + case int32(239): /* fullname */ fallthrough - case int32(245): /* from */ + case int32(246): /* from */ fallthrough - case int32(256): /* seltablist */ + case int32(258): /* seltablist */ fallthrough - case int32(257): /* stl_prefix */ + case int32(259): /* stl_prefix */ fallthrough - case int32(262): /* xfullname */ + case int32(264): /* xfullname */ _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(241): /* wqlist */ + case int32(242): /* wqlist */ _sqlite3WithDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(251): /* window_clause */ + case int32(252): /* window_clause */ fallthrough - case int32(306): /* windowdefn_list */ + case int32(309): /* windowdefn_list */ _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(263): /* idlist */ + case int32(265): /* idlist */ fallthrough - case int32(270): /* idlist_opt */ + case int32(272): /* idlist_opt */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(273): /* filter_over */ + case int32(275): /* filter_over */ fallthrough - case int32(307): /* windowdefn */ + case int32(310): /* windowdefn */ fallthrough - case int32(308): /* window */ + case int32(311): /* window */ fallthrough - case int32(309): /* frame_opt */ + case int32(312): /* frame_opt */ fallthrough - case int32(312): /* over_clause */ + case int32(315): /* over_clause */ _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(286): /* trigger_cmd_list */ + case int32(288): /* trigger_cmd_list */ fallthrough - case int32(291): /* trigger_cmd */ + case int32(293): /* trigger_cmd */ _sqlite3DeleteTriggerStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(288): /* trigger_event */ + case int32(290): /* trigger_event */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TTrigEvent)(unsafe.Pointer(yypminor))).Fb) - case int32(314): /* frame_bound */ + case int32(317): /* frame_bound */ fallthrough - case int32(315): /* frame_bound_s */ + case int32(318): /* frame_bound_s */ fallthrough - case int32(316): /* frame_bound_e */ + case int32(319): /* frame_bound_e */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TFrameBound)(unsafe.Pointer(yypminor))).FpExpr) break /********* End destructor definitions *****************************************/ @@ -158562,11 +159966,20 @@ func _yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var pParser, yytos uintptr + _, _ = pParser, yytos pParser = p - for (*TyyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { - _yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling yy_pop_parser_stack() for each + ** element left in the stack */ + yytos = (*TyyParser)(unsafe.Pointer(pParser)).Fyytos + for yytos > (*TyyParser)(unsafe.Pointer(pParser)).Fyystack { + if int32((*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor) >= int32(YY_MIN_DSTRCTR) { + _yy_destructor(tls, pParser, (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor, yytos+8) + } + yytos -= 24 + } + if (*TyyParser)(unsafe.Pointer(pParser)).Fyystack != pParser+32 { + Xsqlite3_free(tls, (*TyyParser)(unsafe.Pointer(pParser)).Fyystack) } } @@ -158647,13 +160060,13 @@ func _yyStackOverflow(tls *libc.TLS, yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*TyyParser)(unsafe.Pointer(yypParser)).FpParse - for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { + for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack { _yy_pop_parser_stack(tls, yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23731, 0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) /******** End %stack_overflow code ********************************************/ /* Suppress warning about unused %extra_argument var */ (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -158672,15 +160085,18 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint var yytos uintptr _ = yytos (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 - if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 - _yyStackOverflow(tls, yypParser) - return + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + if yytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { + if _yyGrowStack(tls, yypParser) != 0 { + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 + _yyStackOverflow(tls, yypParser) + return + } + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos } if int32(yyNewState) > int32(YY_MAX_SHIFT) { yyNewState = uint16(int32(yyNewState) + (libc.Int32FromInt32(YY_MIN_REDUCE) - libc.Int32FromInt32(YY_MIN_SHIFTREDUCE))) } - yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos (*TyyStackEntry)(unsafe.Pointer(yytos)).Fstateno = yyNewState (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor = yyMajor *(*TToken)(unsafe.Pointer(yytos + 8)) = yyMinor @@ -158690,419 +160106,423 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint // // /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side // ** of that rule */ -var _yyRuleInfoLhs = [405]uint16{ - 0: uint16(189), - 1: uint16(189), - 2: uint16(188), - 3: uint16(190), - 4: uint16(191), - 5: uint16(191), - 6: uint16(191), - 7: uint16(191), - 8: uint16(190), - 9: uint16(190), - 10: uint16(190), - 11: uint16(190), - 12: uint16(190), - 13: uint16(195), - 14: uint16(197), - 15: uint16(199), - 16: uint16(199), - 17: uint16(198), - 18: uint16(198), - 19: uint16(196), - 20: uint16(196), - 21: uint16(203), - 22: uint16(203), - 23: uint16(205), - 24: uint16(205), - 25: uint16(206), - 26: uint16(208), - 27: uint16(208), - 28: uint16(208), - 29: uint16(209), - 30: uint16(213), - 31: uint16(214), - 32: uint16(215), - 33: uint16(215), - 34: uint16(215), - 35: uint16(215), - 36: uint16(215), - 37: uint16(215), - 38: uint16(215), - 39: uint16(215), - 40: uint16(215), - 41: uint16(215), - 42: uint16(215), - 43: uint16(215), - 44: uint16(215), - 45: uint16(224), - 46: uint16(224), - 47: uint16(220), - 48: uint16(220), - 49: uint16(222), - 50: uint16(222), - 51: uint16(225), - 52: uint16(225), - 53: uint16(225), - 54: uint16(225), - 55: uint16(226), - 56: uint16(226), - 57: uint16(226), - 58: uint16(226), - 59: uint16(226), - 60: uint16(223), - 61: uint16(223), - 62: uint16(227), - 63: uint16(227), - 64: uint16(227), - 65: uint16(202), - 66: uint16(229), - 67: uint16(230), - 68: uint16(230), - 69: uint16(230), - 70: uint16(230), - 71: uint16(230), - 72: uint16(233), - 73: uint16(218), - 74: uint16(218), - 75: uint16(234), - 76: uint16(234), - 77: uint16(235), - 78: uint16(235), - 79: uint16(190), - 80: uint16(237), - 81: uint16(237), - 82: uint16(190), - 83: uint16(190), - 84: uint16(190), - 85: uint16(204), - 86: uint16(204), - 87: uint16(204), - 88: uint16(239), - 89: uint16(242), - 90: uint16(242), - 91: uint16(242), - 92: uint16(240), - 93: uint16(240), - 94: uint16(252), - 95: uint16(252), - 96: uint16(243), - 97: uint16(243), - 98: uint16(243), - 99: uint16(254), +var _yyRuleInfoLhs = [409]uint16{ + 0: uint16(190), + 1: uint16(190), + 2: uint16(189), + 3: uint16(191), + 4: uint16(192), + 5: uint16(192), + 6: uint16(192), + 7: uint16(192), + 8: uint16(191), + 9: uint16(191), + 10: uint16(191), + 11: uint16(191), + 12: uint16(191), + 13: uint16(196), + 14: uint16(198), + 15: uint16(200), + 16: uint16(200), + 17: uint16(199), + 18: uint16(199), + 19: uint16(197), + 20: uint16(197), + 21: uint16(204), + 22: uint16(204), + 23: uint16(206), + 24: uint16(206), + 25: uint16(207), + 26: uint16(209), + 27: uint16(209), + 28: uint16(209), + 29: uint16(210), + 30: uint16(214), + 31: uint16(215), + 32: uint16(216), + 33: uint16(216), + 34: uint16(216), + 35: uint16(216), + 36: uint16(216), + 37: uint16(216), + 38: uint16(216), + 39: uint16(216), + 40: uint16(216), + 41: uint16(216), + 42: uint16(216), + 43: uint16(216), + 44: uint16(216), + 45: uint16(225), + 46: uint16(225), + 47: uint16(221), + 48: uint16(221), + 49: uint16(223), + 50: uint16(223), + 51: uint16(226), + 52: uint16(226), + 53: uint16(226), + 54: uint16(226), + 55: uint16(227), + 56: uint16(227), + 57: uint16(227), + 58: uint16(227), + 59: uint16(227), + 60: uint16(224), + 61: uint16(224), + 62: uint16(228), + 63: uint16(228), + 64: uint16(228), + 65: uint16(203), + 66: uint16(230), + 67: uint16(231), + 68: uint16(231), + 69: uint16(231), + 70: uint16(231), + 71: uint16(231), + 72: uint16(234), + 73: uint16(219), + 74: uint16(219), + 75: uint16(235), + 76: uint16(235), + 77: uint16(236), + 78: uint16(236), + 79: uint16(191), + 80: uint16(238), + 81: uint16(238), + 82: uint16(191), + 83: uint16(191), + 84: uint16(191), + 85: uint16(205), + 86: uint16(205), + 87: uint16(205), + 88: uint16(240), + 89: uint16(243), + 90: uint16(243), + 91: uint16(243), + 92: uint16(241), + 93: uint16(241), + 94: uint16(253), + 95: uint16(241), + 96: uint16(255), + 97: uint16(255), + 98: uint16(244), + 99: uint16(244), 100: uint16(244), - 101: uint16(244), - 102: uint16(244), - 103: uint16(255), - 104: uint16(255), - 105: uint16(245), - 106: uint16(245), - 107: uint16(257), - 108: uint16(257), - 109: uint16(256), - 110: uint16(256), - 111: uint16(256), - 112: uint16(256), - 113: uint16(256), - 114: uint16(200), - 115: uint16(200), - 116: uint16(238), - 117: uint16(238), - 118: uint16(262), - 119: uint16(262), - 120: uint16(262), - 121: uint16(262), - 122: uint16(258), - 123: uint16(258), - 124: uint16(258), - 125: uint16(258), - 126: uint16(259), - 127: uint16(259), - 128: uint16(259), - 129: uint16(264), - 130: uint16(260), - 131: uint16(260), - 132: uint16(249), - 133: uint16(249), - 134: uint16(231), - 135: uint16(231), - 136: uint16(219), - 137: uint16(219), - 138: uint16(219), - 139: uint16(265), - 140: uint16(265), - 141: uint16(265), - 142: uint16(247), - 143: uint16(247), + 101: uint16(256), + 102: uint16(245), + 103: uint16(245), + 104: uint16(245), + 105: uint16(257), + 106: uint16(257), + 107: uint16(246), + 108: uint16(246), + 109: uint16(259), + 110: uint16(259), + 111: uint16(258), + 112: uint16(258), + 113: uint16(258), + 114: uint16(258), + 115: uint16(258), + 116: uint16(201), + 117: uint16(201), + 118: uint16(239), + 119: uint16(239), + 120: uint16(264), + 121: uint16(264), + 122: uint16(264), + 123: uint16(264), + 124: uint16(260), + 125: uint16(260), + 126: uint16(260), + 127: uint16(260), + 128: uint16(261), + 129: uint16(261), + 130: uint16(261), + 131: uint16(266), + 132: uint16(262), + 133: uint16(262), + 134: uint16(250), + 135: uint16(250), + 136: uint16(232), + 137: uint16(232), + 138: uint16(220), + 139: uint16(220), + 140: uint16(220), + 141: uint16(267), + 142: uint16(267), + 143: uint16(267), 144: uint16(248), 145: uint16(248), - 146: uint16(250), - 147: uint16(250), - 148: uint16(250), - 149: uint16(250), - 150: uint16(190), - 151: uint16(246), - 152: uint16(246), - 153: uint16(267), - 154: uint16(267), - 155: uint16(267), - 156: uint16(267), - 157: uint16(190), - 158: uint16(268), - 159: uint16(268), - 160: uint16(268), - 161: uint16(268), - 162: uint16(190), - 163: uint16(190), - 164: uint16(271), - 165: uint16(271), - 166: uint16(271), - 167: uint16(271), - 168: uint16(271), - 169: uint16(271), - 170: uint16(272), - 171: uint16(269), - 172: uint16(269), - 173: uint16(270), - 174: uint16(270), - 175: uint16(263), - 176: uint16(263), - 177: uint16(217), - 178: uint16(217), - 179: uint16(217), - 180: uint16(217), - 181: uint16(216), - 182: uint16(216), - 183: uint16(216), + 146: uint16(249), + 147: uint16(249), + 148: uint16(251), + 149: uint16(251), + 150: uint16(251), + 151: uint16(251), + 152: uint16(191), + 153: uint16(247), + 154: uint16(247), + 155: uint16(269), + 156: uint16(269), + 157: uint16(269), + 158: uint16(269), + 159: uint16(191), + 160: uint16(270), + 161: uint16(270), + 162: uint16(270), + 163: uint16(270), + 164: uint16(191), + 165: uint16(191), + 166: uint16(273), + 167: uint16(273), + 168: uint16(273), + 169: uint16(273), + 170: uint16(273), + 171: uint16(273), + 172: uint16(274), + 173: uint16(271), + 174: uint16(271), + 175: uint16(272), + 176: uint16(272), + 177: uint16(265), + 178: uint16(265), + 179: uint16(218), + 180: uint16(218), + 181: uint16(218), + 182: uint16(218), + 183: uint16(217), 184: uint16(217), 185: uint16(217), - 186: uint16(217), - 187: uint16(217), - 188: uint16(217), - 189: uint16(217), - 190: uint16(217), - 191: uint16(217), - 192: uint16(217), - 193: uint16(216), - 194: uint16(217), + 186: uint16(218), + 187: uint16(218), + 188: uint16(218), + 189: uint16(218), + 190: uint16(218), + 191: uint16(218), + 192: uint16(218), + 193: uint16(218), + 194: uint16(218), 195: uint16(217), - 196: uint16(217), - 197: uint16(217), - 198: uint16(217), - 199: uint16(217), - 200: uint16(217), - 201: uint16(217), - 202: uint16(217), - 203: uint16(274), - 204: uint16(217), - 205: uint16(217), - 206: uint16(217), - 207: uint16(217), - 208: uint16(217), - 209: uint16(217), - 210: uint16(217), - 211: uint16(217), - 212: uint16(217), - 213: uint16(217), - 214: uint16(217), - 215: uint16(217), - 216: uint16(275), - 217: uint16(275), - 218: uint16(217), - 219: uint16(276), - 220: uint16(276), - 221: uint16(217), - 222: uint16(217), - 223: uint16(217), - 224: uint16(217), - 225: uint16(217), - 226: uint16(217), - 227: uint16(279), - 228: uint16(279), - 229: uint16(280), - 230: uint16(280), - 231: uint16(278), - 232: uint16(261), - 233: uint16(253), - 234: uint16(253), - 235: uint16(277), - 236: uint16(277), - 237: uint16(190), - 238: uint16(281), - 239: uint16(281), - 240: uint16(221), - 241: uint16(221), - 242: uint16(232), - 243: uint16(232), - 244: uint16(282), - 245: uint16(282), - 246: uint16(190), - 247: uint16(190), - 248: uint16(190), - 249: uint16(283), - 250: uint16(283), - 251: uint16(190), - 252: uint16(190), - 253: uint16(190), - 254: uint16(190), - 255: uint16(190), - 256: uint16(211), - 257: uint16(212), - 258: uint16(190), - 259: uint16(285), - 260: uint16(287), + 196: uint16(218), + 197: uint16(218), + 198: uint16(218), + 199: uint16(218), + 200: uint16(218), + 201: uint16(218), + 202: uint16(218), + 203: uint16(218), + 204: uint16(218), + 205: uint16(276), + 206: uint16(218), + 207: uint16(218), + 208: uint16(218), + 209: uint16(218), + 210: uint16(218), + 211: uint16(218), + 212: uint16(218), + 213: uint16(218), + 214: uint16(218), + 215: uint16(218), + 216: uint16(218), + 217: uint16(218), + 218: uint16(277), + 219: uint16(277), + 220: uint16(218), + 221: uint16(278), + 222: uint16(278), + 223: uint16(218), + 224: uint16(218), + 225: uint16(218), + 226: uint16(218), + 227: uint16(218), + 228: uint16(218), + 229: uint16(281), + 230: uint16(281), + 231: uint16(282), + 232: uint16(282), + 233: uint16(280), + 234: uint16(263), + 235: uint16(254), + 236: uint16(254), + 237: uint16(279), + 238: uint16(279), + 239: uint16(191), + 240: uint16(283), + 241: uint16(283), + 242: uint16(222), + 243: uint16(222), + 244: uint16(233), + 245: uint16(233), + 246: uint16(284), + 247: uint16(284), + 248: uint16(191), + 249: uint16(191), + 250: uint16(191), + 251: uint16(285), + 252: uint16(285), + 253: uint16(191), + 254: uint16(191), + 255: uint16(191), + 256: uint16(191), + 257: uint16(191), + 258: uint16(212), + 259: uint16(213), + 260: uint16(191), 261: uint16(287), - 262: uint16(287), - 263: uint16(288), - 264: uint16(288), - 265: uint16(288), + 262: uint16(289), + 263: uint16(289), + 264: uint16(289), + 265: uint16(290), 266: uint16(290), 267: uint16(290), - 268: uint16(286), - 269: uint16(286), - 270: uint16(292), - 271: uint16(293), - 272: uint16(293), - 273: uint16(291), - 274: uint16(291), - 275: uint16(291), - 276: uint16(291), - 277: uint16(217), - 278: uint16(217), - 279: uint16(236), - 280: uint16(236), - 281: uint16(236), - 282: uint16(190), - 283: uint16(190), - 284: uint16(190), - 285: uint16(295), - 286: uint16(295), - 287: uint16(190), - 288: uint16(190), - 289: uint16(190), - 290: uint16(190), - 291: uint16(190), - 292: uint16(190), - 293: uint16(190), - 294: uint16(296), - 295: uint16(190), - 296: uint16(190), - 297: uint16(190), - 298: uint16(298), - 299: uint16(300), - 300: uint16(301), - 301: uint16(301), - 302: uint16(302), - 303: uint16(266), - 304: uint16(266), - 305: uint16(305), - 306: uint16(305), - 307: uint16(305), - 308: uint16(304), - 309: uint16(241), - 310: uint16(241), - 311: uint16(306), - 312: uint16(307), - 313: uint16(308), - 314: uint16(308), - 315: uint16(308), - 316: uint16(308), - 317: uint16(308), - 318: uint16(309), - 319: uint16(309), - 320: uint16(309), - 321: uint16(313), - 322: uint16(315), - 323: uint16(315), + 268: uint16(292), + 269: uint16(292), + 270: uint16(288), + 271: uint16(288), + 272: uint16(294), + 273: uint16(295), + 274: uint16(295), + 275: uint16(293), + 276: uint16(293), + 277: uint16(293), + 278: uint16(293), + 279: uint16(218), + 280: uint16(218), + 281: uint16(237), + 282: uint16(237), + 283: uint16(237), + 284: uint16(191), + 285: uint16(191), + 286: uint16(191), + 287: uint16(297), + 288: uint16(297), + 289: uint16(191), + 290: uint16(191), + 291: uint16(191), + 292: uint16(191), + 293: uint16(191), + 294: uint16(191), + 295: uint16(191), + 296: uint16(298), + 297: uint16(191), + 298: uint16(191), + 299: uint16(191), + 300: uint16(300), + 301: uint16(302), + 302: uint16(303), + 303: uint16(303), + 304: uint16(304), + 305: uint16(268), + 306: uint16(268), + 307: uint16(307), + 308: uint16(307), + 309: uint16(307), + 310: uint16(306), + 311: uint16(308), + 312: uint16(242), + 313: uint16(242), + 314: uint16(309), + 315: uint16(310), + 316: uint16(311), + 317: uint16(311), + 318: uint16(311), + 319: uint16(311), + 320: uint16(311), + 321: uint16(312), + 322: uint16(312), + 323: uint16(312), 324: uint16(316), - 325: uint16(316), - 326: uint16(314), - 327: uint16(314), - 328: uint16(317), + 325: uint16(318), + 326: uint16(318), + 327: uint16(319), + 328: uint16(319), 329: uint16(317), - 330: uint16(318), - 331: uint16(318), - 332: uint16(318), - 333: uint16(251), - 334: uint16(273), - 335: uint16(273), - 336: uint16(273), - 337: uint16(312), - 338: uint16(312), - 339: uint16(311), - 340: uint16(185), - 341: uint16(186), - 342: uint16(186), - 343: uint16(187), - 344: uint16(187), + 330: uint16(317), + 331: uint16(320), + 332: uint16(320), + 333: uint16(321), + 334: uint16(321), + 335: uint16(321), + 336: uint16(252), + 337: uint16(275), + 338: uint16(275), + 339: uint16(275), + 340: uint16(315), + 341: uint16(315), + 342: uint16(314), + 343: uint16(217), + 344: uint16(186), 345: uint16(187), - 346: uint16(192), - 347: uint16(192), - 348: uint16(192), - 349: uint16(194), - 350: uint16(194), - 351: uint16(190), - 352: uint16(203), - 353: uint16(201), - 354: uint16(201), - 355: uint16(193), - 356: uint16(193), - 357: uint16(208), - 358: uint16(209), - 359: uint16(210), - 360: uint16(210), - 361: uint16(207), - 362: uint16(207), - 363: uint16(215), - 364: uint16(215), - 365: uint16(215), - 366: uint16(202), - 367: uint16(228), - 368: uint16(228), - 369: uint16(229), - 370: uint16(233), - 371: uint16(235), - 372: uint16(239), - 373: uint16(240), - 374: uint16(254), - 375: uint16(255), - 376: uint16(264), - 377: uint16(272), - 378: uint16(217), - 379: uint16(274), - 380: uint16(278), - 381: uint16(261), - 382: uint16(284), - 383: uint16(284), - 384: uint16(284), - 385: uint16(284), - 386: uint16(284), - 387: uint16(211), - 388: uint16(289), - 389: uint16(289), - 390: uint16(292), - 391: uint16(293), - 392: uint16(294), - 393: uint16(294), - 394: uint16(297), - 395: uint16(297), - 396: uint16(299), - 397: uint16(299), - 398: uint16(300), - 399: uint16(303), - 400: uint16(303), - 401: uint16(303), - 402: uint16(266), - 403: uint16(306), - 404: uint16(308), + 346: uint16(187), + 347: uint16(188), + 348: uint16(188), + 349: uint16(188), + 350: uint16(193), + 351: uint16(193), + 352: uint16(193), + 353: uint16(195), + 354: uint16(195), + 355: uint16(191), + 356: uint16(204), + 357: uint16(202), + 358: uint16(202), + 359: uint16(194), + 360: uint16(194), + 361: uint16(209), + 362: uint16(210), + 363: uint16(211), + 364: uint16(211), + 365: uint16(208), + 366: uint16(208), + 367: uint16(216), + 368: uint16(216), + 369: uint16(216), + 370: uint16(203), + 371: uint16(229), + 372: uint16(229), + 373: uint16(230), + 374: uint16(234), + 375: uint16(236), + 376: uint16(240), + 377: uint16(241), + 378: uint16(256), + 379: uint16(257), + 380: uint16(266), + 381: uint16(274), + 382: uint16(218), + 383: uint16(276), + 384: uint16(280), + 385: uint16(263), + 386: uint16(286), + 387: uint16(286), + 388: uint16(286), + 389: uint16(286), + 390: uint16(286), + 391: uint16(212), + 392: uint16(291), + 393: uint16(291), + 394: uint16(294), + 395: uint16(295), + 396: uint16(296), + 397: uint16(296), + 398: uint16(299), + 399: uint16(299), + 400: uint16(301), + 401: uint16(301), + 402: uint16(302), + 403: uint16(305), + 404: uint16(305), + 405: uint16(305), + 406: uint16(268), + 407: uint16(309), + 408: uint16(311), } // C documentation // // /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number // ** of symbols on the right-hand side of that rule. */ -var _yyRuleInfoNRhs = [405]int8{ +var _yyRuleInfoNRhs = [409]int8{ 0: int8(-int32(1)), 1: int8(-int32(3)), 2: int8(-int32(1)), @@ -159183,273 +160603,277 @@ var _yyRuleInfoNRhs = [405]int8{ 92: int8(-int32(9)), 93: int8(-int32(10)), 94: int8(-int32(4)), - 95: int8(-int32(5)), - 96: int8(-int32(1)), - 97: int8(-int32(1)), - 100: int8(-int32(5)), - 101: int8(-int32(3)), + 95: int8(-int32(1)), + 96: int8(-int32(5)), + 97: int8(-int32(5)), + 98: int8(-int32(1)), + 99: int8(-int32(1)), 102: int8(-int32(5)), - 103: int8(-int32(2)), - 106: int8(-int32(2)), - 107: int8(-int32(2)), - 109: int8(-int32(5)), - 110: int8(-int32(6)), - 111: int8(-int32(8)), + 103: int8(-int32(3)), + 104: int8(-int32(5)), + 105: int8(-int32(2)), + 108: int8(-int32(2)), + 109: int8(-int32(2)), + 111: int8(-int32(5)), 112: int8(-int32(6)), - 113: int8(-int32(6)), - 115: int8(-int32(2)), - 116: int8(-int32(1)), - 117: int8(-int32(3)), + 113: int8(-int32(8)), + 114: int8(-int32(6)), + 115: int8(-int32(6)), + 117: int8(-int32(2)), 118: int8(-int32(1)), 119: int8(-int32(3)), - 120: int8(-int32(5)), + 120: int8(-int32(1)), 121: int8(-int32(3)), - 122: int8(-int32(1)), - 123: int8(-int32(2)), - 124: int8(-int32(3)), - 125: int8(-int32(4)), - 126: int8(-int32(2)), + 122: int8(-int32(5)), + 123: int8(-int32(3)), + 124: int8(-int32(1)), + 125: int8(-int32(2)), + 126: int8(-int32(3)), 127: int8(-int32(4)), - 130: int8(-int32(3)), - 131: int8(-int32(2)), - 133: int8(-int32(3)), - 134: int8(-int32(5)), + 128: int8(-int32(2)), + 129: int8(-int32(4)), + 132: int8(-int32(3)), + 133: int8(-int32(2)), 135: int8(-int32(3)), - 136: int8(-int32(1)), - 137: int8(-int32(1)), - 139: int8(-int32(2)), - 140: int8(-int32(2)), - 143: int8(-int32(3)), - 145: int8(-int32(2)), + 136: int8(-int32(5)), + 137: int8(-int32(3)), + 138: int8(-int32(1)), + 139: int8(-int32(1)), + 141: int8(-int32(2)), + 142: int8(-int32(2)), + 145: int8(-int32(3)), 147: int8(-int32(2)), - 148: int8(-int32(4)), - 149: int8(-int32(4)), - 150: int8(-int32(6)), - 152: int8(-int32(2)), + 149: int8(-int32(2)), + 150: int8(-int32(4)), + 151: int8(-int32(4)), + 152: int8(-int32(6)), 154: int8(-int32(2)), - 155: int8(-int32(2)), - 156: int8(-int32(4)), - 157: int8(-int32(9)), - 158: int8(-int32(5)), - 159: int8(-int32(7)), - 160: int8(-int32(3)), - 161: int8(-int32(5)), - 162: int8(-int32(7)), - 163: int8(-int32(8)), - 165: int8(-int32(2)), - 166: int8(-int32(12)), - 167: int8(-int32(9)), - 168: int8(-int32(5)), - 169: int8(-int32(8)), - 170: int8(-int32(2)), - 171: int8(-int32(2)), - 172: int8(-int32(1)), - 174: int8(-int32(3)), - 175: int8(-int32(3)), - 176: int8(-int32(1)), + 156: int8(-int32(2)), + 157: int8(-int32(2)), + 158: int8(-int32(4)), + 159: int8(-int32(9)), + 160: int8(-int32(5)), + 161: int8(-int32(7)), + 162: int8(-int32(3)), + 163: int8(-int32(5)), + 164: int8(-int32(7)), + 165: int8(-int32(8)), + 167: int8(-int32(2)), + 168: int8(-int32(12)), + 169: int8(-int32(9)), + 170: int8(-int32(5)), + 171: int8(-int32(8)), + 172: int8(-int32(2)), + 173: int8(-int32(2)), + 174: int8(-int32(1)), + 176: int8(-int32(3)), 177: int8(-int32(3)), 178: int8(-int32(1)), 179: int8(-int32(3)), - 180: int8(-int32(5)), - 181: int8(-int32(1)), - 182: int8(-int32(1)), + 180: int8(-int32(1)), + 181: int8(-int32(3)), + 182: int8(-int32(5)), 183: int8(-int32(1)), 184: int8(-int32(1)), - 185: int8(-int32(3)), - 186: int8(-int32(6)), - 187: int8(-int32(5)), - 188: int8(-int32(8)), - 189: int8(-int32(4)), - 190: int8(-int32(6)), - 191: int8(-int32(9)), - 192: int8(-int32(5)), - 193: int8(-int32(1)), + 185: int8(-int32(1)), + 186: int8(-int32(1)), + 187: int8(-int32(3)), + 188: int8(-int32(6)), + 189: int8(-int32(5)), + 190: int8(-int32(8)), + 191: int8(-int32(4)), + 192: int8(-int32(6)), + 193: int8(-int32(9)), 194: int8(-int32(5)), - 195: int8(-int32(3)), - 196: int8(-int32(3)), + 195: int8(-int32(1)), + 196: int8(-int32(5)), 197: int8(-int32(3)), 198: int8(-int32(3)), 199: int8(-int32(3)), 200: int8(-int32(3)), 201: int8(-int32(3)), 202: int8(-int32(3)), - 203: int8(-int32(2)), + 203: int8(-int32(3)), 204: int8(-int32(3)), - 205: int8(-int32(5)), - 206: int8(-int32(2)), - 207: int8(-int32(3)), - 208: int8(-int32(3)), - 209: int8(-int32(4)), - 210: int8(-int32(6)), - 211: int8(-int32(5)), - 212: int8(-int32(2)), - 213: int8(-int32(2)), + 205: int8(-int32(2)), + 206: int8(-int32(3)), + 207: int8(-int32(5)), + 208: int8(-int32(2)), + 209: int8(-int32(3)), + 210: int8(-int32(3)), + 211: int8(-int32(4)), + 212: int8(-int32(6)), + 213: int8(-int32(5)), 214: int8(-int32(2)), - 215: int8(-int32(3)), - 216: int8(-int32(1)), - 217: int8(-int32(2)), - 218: int8(-int32(5)), - 219: int8(-int32(1)), - 220: int8(-int32(2)), - 221: int8(-int32(5)), - 222: int8(-int32(3)), + 215: int8(-int32(2)), + 216: int8(-int32(2)), + 217: int8(-int32(3)), + 218: int8(-int32(1)), + 219: int8(-int32(2)), + 220: int8(-int32(5)), + 221: int8(-int32(1)), + 222: int8(-int32(2)), 223: int8(-int32(5)), - 224: int8(-int32(5)), - 225: int8(-int32(4)), + 224: int8(-int32(3)), + 225: int8(-int32(5)), 226: int8(-int32(5)), - 227: int8(-int32(5)), - 228: int8(-int32(4)), - 229: int8(-int32(2)), - 233: int8(-int32(3)), - 234: int8(-int32(1)), - 236: int8(-int32(3)), - 237: int8(-int32(12)), - 238: int8(-int32(1)), - 241: int8(-int32(3)), - 242: int8(-int32(5)), + 227: int8(-int32(4)), + 228: int8(-int32(5)), + 229: int8(-int32(5)), + 230: int8(-int32(4)), + 231: int8(-int32(2)), + 235: int8(-int32(3)), + 236: int8(-int32(1)), + 238: int8(-int32(3)), + 239: int8(-int32(12)), + 240: int8(-int32(1)), 243: int8(-int32(3)), - 245: int8(-int32(2)), - 246: int8(-int32(4)), + 244: int8(-int32(5)), + 245: int8(-int32(3)), 247: int8(-int32(2)), - 248: int8(-int32(3)), + 248: int8(-int32(4)), 249: int8(-int32(2)), - 251: int8(-int32(3)), - 252: int8(-int32(5)), - 253: int8(-int32(6)), + 250: int8(-int32(3)), + 251: int8(-int32(2)), + 253: int8(-int32(3)), 254: int8(-int32(5)), 255: int8(-int32(6)), - 256: int8(-int32(2)), - 257: int8(-int32(2)), - 258: int8(-int32(5)), - 259: int8(-int32(11)), - 260: int8(-int32(1)), - 261: int8(-int32(2)), - 263: int8(-int32(1)), - 264: int8(-int32(1)), - 265: int8(-int32(3)), - 267: int8(-int32(2)), - 268: int8(-int32(3)), + 256: int8(-int32(5)), + 257: int8(-int32(6)), + 258: int8(-int32(2)), + 259: int8(-int32(2)), + 260: int8(-int32(5)), + 261: int8(-int32(11)), + 262: int8(-int32(1)), + 263: int8(-int32(2)), + 265: int8(-int32(1)), + 266: int8(-int32(1)), + 267: int8(-int32(3)), 269: int8(-int32(2)), 270: int8(-int32(3)), - 271: int8(-int32(3)), - 272: int8(-int32(2)), - 273: int8(-int32(9)), - 274: int8(-int32(8)), - 275: int8(-int32(6)), - 276: int8(-int32(3)), - 277: int8(-int32(4)), - 278: int8(-int32(6)), - 279: int8(-int32(1)), - 280: int8(-int32(1)), + 271: int8(-int32(2)), + 272: int8(-int32(3)), + 273: int8(-int32(3)), + 274: int8(-int32(2)), + 275: int8(-int32(9)), + 276: int8(-int32(8)), + 277: int8(-int32(6)), + 278: int8(-int32(3)), + 279: int8(-int32(4)), + 280: int8(-int32(6)), 281: int8(-int32(1)), - 282: int8(-int32(4)), - 283: int8(-int32(6)), - 284: int8(-int32(3)), - 286: int8(-int32(2)), - 287: int8(-int32(1)), - 288: int8(-int32(3)), + 282: int8(-int32(1)), + 283: int8(-int32(1)), + 284: int8(-int32(4)), + 285: int8(-int32(6)), + 286: int8(-int32(3)), + 288: int8(-int32(2)), 289: int8(-int32(1)), 290: int8(-int32(3)), - 291: int8(-int32(6)), - 292: int8(-int32(7)), + 291: int8(-int32(1)), + 292: int8(-int32(3)), 293: int8(-int32(6)), - 294: int8(-int32(1)), - 295: int8(-int32(8)), + 294: int8(-int32(7)), + 295: int8(-int32(6)), 296: int8(-int32(1)), - 297: int8(-int32(4)), - 298: int8(-int32(8)), - 300: int8(-int32(1)), - 301: int8(-int32(3)), + 297: int8(-int32(8)), + 298: int8(-int32(1)), + 299: int8(-int32(4)), + 300: int8(-int32(8)), 302: int8(-int32(1)), - 303: int8(-int32(2)), - 304: int8(-int32(3)), - 305: int8(-int32(1)), - 306: int8(-int32(2)), - 307: int8(-int32(3)), - 308: int8(-int32(6)), - 309: int8(-int32(1)), - 310: int8(-int32(3)), - 311: int8(-int32(3)), - 312: int8(-int32(5)), - 313: int8(-int32(5)), - 314: int8(-int32(6)), - 315: int8(-int32(4)), + 303: int8(-int32(3)), + 304: int8(-int32(1)), + 305: int8(-int32(2)), + 306: int8(-int32(3)), + 307: int8(-int32(1)), + 308: int8(-int32(2)), + 309: int8(-int32(3)), + 310: int8(-int32(6)), + 311: int8(-int32(1)), + 312: int8(-int32(1)), + 313: int8(-int32(3)), + 314: int8(-int32(3)), + 315: int8(-int32(5)), 316: int8(-int32(5)), - 317: int8(-int32(2)), - 319: int8(-int32(3)), - 320: int8(-int32(6)), - 321: int8(-int32(1)), - 322: int8(-int32(1)), - 323: int8(-int32(2)), + 317: int8(-int32(6)), + 318: int8(-int32(4)), + 319: int8(-int32(5)), + 320: int8(-int32(2)), + 322: int8(-int32(3)), + 323: int8(-int32(6)), 324: int8(-int32(1)), - 325: int8(-int32(2)), + 325: int8(-int32(1)), 326: int8(-int32(2)), - 327: int8(-int32(2)), + 327: int8(-int32(1)), + 328: int8(-int32(2)), 329: int8(-int32(2)), 330: int8(-int32(2)), - 331: int8(-int32(2)), - 332: int8(-int32(1)), + 332: int8(-int32(2)), 333: int8(-int32(2)), 334: int8(-int32(2)), 335: int8(-int32(1)), - 336: int8(-int32(1)), - 337: int8(-int32(4)), - 338: int8(-int32(2)), - 339: int8(-int32(5)), - 340: int8(-int32(1)), + 336: int8(-int32(2)), + 337: int8(-int32(2)), + 338: int8(-int32(1)), + 339: int8(-int32(1)), + 340: int8(-int32(4)), 341: int8(-int32(2)), - 342: int8(-int32(1)), + 342: int8(-int32(5)), 343: int8(-int32(1)), - 344: int8(-int32(2)), - 345: int8(-int32(3)), + 344: int8(-int32(1)), + 345: int8(-int32(2)), + 346: int8(-int32(1)), 347: int8(-int32(1)), 348: int8(-int32(2)), - 349: int8(-int32(1)), - 351: int8(-int32(2)), - 352: int8(-int32(1)), - 353: int8(-int32(4)), - 354: int8(-int32(2)), - 355: int8(-int32(1)), + 349: int8(-int32(3)), + 351: int8(-int32(1)), + 352: int8(-int32(2)), + 353: int8(-int32(1)), + 355: int8(-int32(2)), 356: int8(-int32(1)), - 357: int8(-int32(1)), - 358: int8(-int32(1)), + 357: int8(-int32(4)), + 358: int8(-int32(2)), 359: int8(-int32(1)), 360: int8(-int32(1)), - 361: int8(-int32(2)), - 363: int8(-int32(2)), - 364: int8(-int32(4)), + 361: int8(-int32(1)), + 362: int8(-int32(1)), + 363: int8(-int32(1)), + 364: int8(-int32(1)), 365: int8(-int32(2)), - 366: int8(-int32(2)), - 367: int8(-int32(3)), - 368: int8(-int32(1)), - 370: int8(-int32(1)), - 371: int8(-int32(1)), + 367: int8(-int32(2)), + 368: int8(-int32(4)), + 369: int8(-int32(2)), + 370: int8(-int32(2)), + 371: int8(-int32(3)), 372: int8(-int32(1)), - 373: int8(-int32(1)), - 374: int8(-int32(2)), + 374: int8(-int32(1)), 375: int8(-int32(1)), 376: int8(-int32(1)), - 378: int8(-int32(1)), + 377: int8(-int32(1)), + 378: int8(-int32(2)), 379: int8(-int32(1)), 380: int8(-int32(1)), - 381: int8(-int32(1)), 382: int8(-int32(1)), 383: int8(-int32(1)), 384: int8(-int32(1)), 385: int8(-int32(1)), 386: int8(-int32(1)), 387: int8(-int32(1)), - 389: int8(-int32(3)), + 388: int8(-int32(1)), + 389: int8(-int32(1)), 390: int8(-int32(1)), - 392: int8(-int32(1)), - 395: int8(-int32(1)), + 391: int8(-int32(1)), + 393: int8(-int32(3)), + 394: int8(-int32(1)), 396: int8(-int32(1)), - 397: int8(-int32(3)), - 398: int8(-int32(2)), - 400: int8(-int32(4)), - 401: int8(-int32(2)), - 403: int8(-int32(1)), - 404: int8(-int32(1)), + 399: int8(-int32(1)), + 400: int8(-int32(1)), + 401: int8(-int32(3)), + 402: int8(-int32(2)), + 404: int8(-int32(4)), + 405: int8(-int32(2)), + 407: int8(-int32(1)), + 408: int8(-int32(1)), } // C documentation @@ -159467,18 +160891,19 @@ var _yyRuleInfoNRhs = [405]int8{ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken TToken, pParse uintptr) (r uint16) { bp := tls.Alloc(144) defer tls.Free(144) - var bNot, bNot1, nExpr, yygoto, yysize, v344 int32 + var bNot, bNot1, nExpr, yygoto, yysize int32 var n Tu32 - var p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v343, v345, v346, v347, v348 uintptr + var op Tu8 + var p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v347, v348, v349, v350, v351 uintptr var yyact uint16 - var v349 TToken + var v352 TToken var _ /* all at bp+104 */ TToken var _ /* as at bp+72 */ TToken var _ /* dest at bp+16 */ TSelectDest var _ /* t at bp+88 */ TToken var _ /* x at bp+56 */ TToken var _ /* yylhsminor at bp+0 */ TYYMINORTYPE - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v343, v344, v345, v346, v347, v348, v349 /* Amount to pop the stack */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, op, p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v347, v348, v349, v350, v351, v352 /* Amount to pop the stack */ _ = yyLookahead _ = yyLookaheadToken yymsp = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos @@ -159499,7 +160924,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _7 case uint32(7): goto _8 - case uint32(321): + case uint32(324): goto _9 case uint32(9): goto _10 @@ -159527,9 +160952,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _21 case uint32(81): goto _22 - case uint32(98): + case uint32(100): goto _23 - case uint32(244): + case uint32(246): goto _24 case uint32(16): goto _25 @@ -159553,7 +160978,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _34 case uint32(26): goto _35 - case uint32(104): + case uint32(106): goto _36 case uint32(27): goto _37 @@ -159627,17 +161052,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _71 case uint32(61): goto _72 - case uint32(171): + case uint32(173): goto _73 case uint32(80): goto _74 case uint32(63): goto _75 - case uint32(217): + case uint32(219): goto _76 - case uint32(220): + case uint32(222): goto _77 - case uint32(245): + case uint32(247): goto _78 case uint32(64): goto _79 @@ -159659,7 +161084,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _87 case uint32(77): goto _88 - case uint32(172): + case uint32(174): goto _89 case uint32(78): goto _90 @@ -159693,47 +161118,47 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _104 case uint32(95): goto _105 - case uint32(96): - goto _106 case uint32(97): + goto _106 + case uint32(96): goto _107 - case uint32(132): + case uint32(98): goto _108 case uint32(99): goto _109 - case uint32(142): + case uint32(134): goto _110 - case uint32(232): + case uint32(101): goto _111 - case uint32(235): + case uint32(144): goto _112 - case uint32(240): + case uint32(234): goto _113 - case uint32(100): + case uint32(237): goto _114 - case uint32(101): + case uint32(242): goto _115 case uint32(102): goto _116 - case uint32(115): - goto _117 case uint32(103): + goto _117 + case uint32(104): goto _118 - case uint32(256): + case uint32(117): goto _119 - case uint32(257): + case uint32(105): goto _120 - case uint32(108): + case uint32(258): goto _121 - case uint32(105): + case uint32(259): goto _122 - case uint32(106): + case uint32(110): goto _123 case uint32(107): goto _124 - case uint32(109): + case uint32(108): goto _125 - case uint32(110): + case uint32(109): goto _126 case uint32(111): goto _127 @@ -159741,13 +161166,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _128 case uint32(113): goto _129 - case uint32(129): - goto _130 case uint32(114): + goto _130 + case uint32(115): goto _131 - case uint32(116): + case uint32(131): goto _132 - case uint32(117): + case uint32(116): goto _133 case uint32(118): goto _134 @@ -159771,15 +161196,15 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _143 case uint32(128): goto _144 - case uint32(130): + case uint32(129): goto _145 - case uint32(131): + case uint32(130): goto _146 - case uint32(143): + case uint32(132): goto _147 case uint32(133): goto _148 - case uint32(134): + case uint32(145): goto _149 case uint32(135): goto _150 @@ -159787,49 +161212,49 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _151 case uint32(137): goto _152 - case uint32(141): - goto _153 case uint32(138): - goto _154 + goto _153 case uint32(139): + goto _154 + case uint32(143): goto _155 case uint32(140): goto _156 - case uint32(146): + case uint32(141): goto _157 - case uint32(144): + case uint32(142): goto _158 - case uint32(151): + case uint32(148): goto _159 - case uint32(153): + case uint32(146): goto _160 - case uint32(230): + case uint32(153): goto _161 - case uint32(231): + case uint32(155): goto _162 - case uint32(250): + case uint32(232): goto _163 - case uint32(152): + case uint32(233): goto _164 - case uint32(145): + case uint32(252): goto _165 case uint32(154): goto _166 - case uint32(229): + case uint32(147): goto _167 - case uint32(249): + case uint32(156): goto _168 - case uint32(147): + case uint32(231): goto _169 - case uint32(148): + case uint32(251): goto _170 case uint32(149): goto _171 case uint32(150): goto _172 - case uint32(155): + case uint32(151): goto _173 - case uint32(156): + case uint32(152): goto _174 case uint32(157): goto _175 @@ -159859,9 +161284,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _187 case uint32(170): goto _188 - case uint32(173): + case uint32(171): goto _189 - case uint32(174): + case uint32(172): goto _190 case uint32(175): goto _191 @@ -159875,13 +161300,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _195 case uint32(180): goto _196 - case uint32(182): - goto _197 case uint32(181): + goto _197 + case uint32(182): goto _198 - case uint32(183): - goto _199 case uint32(184): + goto _199 + case uint32(183): goto _200 case uint32(185): goto _201 @@ -159905,13 +161330,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _210 case uint32(195): goto _211 - case uint32(197): - goto _212 case uint32(196): + goto _212 + case uint32(197): goto _213 - case uint32(198): - goto _214 case uint32(199): + goto _214 + case uint32(198): goto _215 case uint32(200): goto _216 @@ -159937,23 +161362,23 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _226 case uint32(211): goto _227 - case uint32(213): - goto _228 case uint32(212): + goto _228 + case uint32(213): goto _229 - case uint32(214): - goto _230 case uint32(215): + goto _230 + case uint32(214): goto _231 - case uint32(219): - goto _232 case uint32(216): + goto _232 + case uint32(217): goto _233 - case uint32(218): - goto _234 case uint32(221): + goto _234 + case uint32(218): goto _235 - case uint32(222): + case uint32(220): goto _236 case uint32(223): goto _237 @@ -159967,35 +161392,35 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _241 case uint32(228): goto _242 - case uint32(233): + case uint32(229): goto _243 - case uint32(234): + case uint32(230): goto _244 - case uint32(241): + case uint32(235): goto _245 case uint32(236): goto _246 - case uint32(237): + case uint32(243): goto _247 - case uint32(280): - goto _248 case uint32(238): - goto _249 + goto _248 case uint32(239): + goto _249 + case uint32(282): goto _250 - case uint32(242): + case uint32(240): goto _251 - case uint32(243): + case uint32(241): goto _252 - case uint32(246): + case uint32(244): goto _253 - case uint32(247): + case uint32(245): goto _254 case uint32(248): goto _255 - case uint32(251): + case uint32(249): goto _256 - case uint32(252): + case uint32(250): goto _257 case uint32(253): goto _258 @@ -160003,9 +161428,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _259 case uint32(255): goto _260 - case uint32(258): + case uint32(256): goto _261 - case uint32(259): + case uint32(257): goto _262 case uint32(260): goto _263 @@ -160013,21 +161438,21 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _264 case uint32(262): goto _265 - case uint32(264): - goto _266 case uint32(263): + goto _266 + case uint32(264): goto _267 - case uint32(265): + case uint32(266): goto _268 - case uint32(285): + case uint32(265): goto _269 - case uint32(266): + case uint32(267): goto _270 - case uint32(286): + case uint32(287): goto _271 - case uint32(267): - goto _272 case uint32(268): + goto _272 + case uint32(288): goto _273 case uint32(269): goto _274 @@ -160051,17 +161476,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _283 case uint32(279): goto _284 - case uint32(281): + case uint32(280): goto _285 - case uint32(282): + case uint32(281): goto _286 case uint32(283): goto _287 case uint32(284): goto _288 - case uint32(287): + case uint32(285): goto _289 - case uint32(288): + case uint32(286): goto _290 case uint32(289): goto _291 @@ -160085,19 +161510,19 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _300 case uint32(299): goto _301 - case uint32(301): - goto _302 case uint32(300): + goto _302 + case uint32(301): goto _303 - case uint32(302): + case uint32(303): goto _304 - case uint32(304): + case uint32(302): goto _305 - case uint32(303): + case uint32(304): goto _306 - case uint32(305): - goto _307 case uint32(306): + goto _307 + case uint32(305): goto _308 case uint32(307): goto _309 @@ -160127,31 +161552,31 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _321 case uint32(320): goto _322 - case uint32(324): + case uint32(321): goto _323 case uint32(322): goto _324 - case uint32(325): - goto _325 case uint32(323): - goto _326 + goto _325 case uint32(327): + goto _326 + case uint32(325): goto _327 - case uint32(326): - goto _328 case uint32(328): + goto _328 + case uint32(326): goto _329 - case uint32(329): + case uint32(330): goto _330 - case uint32(331): + case uint32(329): goto _331 - case uint32(330): + case uint32(331): goto _332 case uint32(332): goto _333 - case uint32(333): - goto _334 case uint32(334): + goto _334 + case uint32(333): goto _335 case uint32(335): goto _336 @@ -160163,34 +161588,42 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _339 case uint32(339): goto _340 - default: + case uint32(340): goto _341 + case uint32(341): + goto _342 + case uint32(342): + goto _343 + case uint32(343): + goto _344 + default: + goto _345 } - goto _342 + goto _346 _1: ; /* explain ::= EXPLAIN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(1) } - goto _342 + goto _346 _2: ; /* explain ::= EXPLAIN QUERY PLAN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(2) } - goto _342 + goto _346 _3: ; /* cmdx ::= cmd */ _sqlite3FinishCoding(tls, pParse) - goto _342 + goto _346 _4: ; /* cmd ::= BEGIN transtype trans_opt */ _sqlite3BeginTransaction(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _5: ; /* transtype ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_DEFERRED) - goto _342 + goto _346 _7: ; /* transtype ::= DEFERRED */ _6: @@ -160200,33 +161633,33 @@ _8: _9: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 + goto _346 _11: ; /* cmd ::= COMMIT|END trans_opt */ _10: ; _sqlite3EndTransaction(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor)) - goto _342 + goto _346 _12: ; /* cmd ::= SAVEPOINT nm */ _sqlite3Savepoint(tls, pParse, SAVEPOINT_BEGIN, yymsp+8) - goto _342 + goto _346 _13: ; /* cmd ::= RELEASE savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_RELEASE), yymsp+8) - goto _342 + goto _346 _14: ; /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_ROLLBACK), yymsp+8) - goto _342 + goto _346 _15: ; /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ _sqlite3StartTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), 0, 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _16: ; /* createkw ::= CREATE */ _disableLookaside(tls, pParse) - goto _342 + goto _346 _18: ; /* ifnotexists ::= */ _17: @@ -160244,56 +161677,56 @@ _23: _24: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = 0 - goto _342 + goto _346 _25: ; /* ifnotexists ::= IF NOT EXISTS */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(1) - goto _342 + goto _346 _26: ; /* temp ::= TEMP */ *(*int32)(unsafe.Pointer(yymsp + 8)) = libc.BoolInt32(int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0) - goto _342 + goto _346 _27: ; /* create_table_args ::= LP columnlist conslist_opt RP table_option_set */ _sqlite3EndTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*Tu32)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 + goto _346 _28: ; /* create_table_args ::= AS select */ _sqlite3EndTable(tls, pParse, uintptr(0), uintptr(0), uint32(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _29: ; /* table_option_set ::= */ *(*Tu32)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint32(0) - goto _342 + goto _346 _30: ; /* table_option_set ::= table_option_set COMMA table_option */ *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) | *(*Tu32)(unsafe.Pointer(yymsp + 8)) *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _31: ; /* table_option ::= WITHOUT nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+17045, int32(5)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+17132, int32(5)) == 0 { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) } else { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23753, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23876, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } - goto _342 + goto _346 _32: ; /* table_option ::= nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16958, int32(6)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+17045, int32(6)) == 0 { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(TF_Strict) } else { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23753, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23876, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } *(*Tu32)(unsafe.Pointer(yymsp + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _33: ; /* columnname ::= nm typetoken */ _sqlite3AddColumn(tls, pParse, *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*TToken)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _35: ; /* typetoken ::= */ _34: @@ -160302,50 +161735,50 @@ _36: ; *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 + goto _346 _37: ; /* typetoken ::= typename LP signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) - goto _342 + goto _346 _38: ; /* typetoken ::= typename LP signed COMMA signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))))) - goto _342 + goto _346 _39: ; /* typename ::= typename ID|STRING */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) + uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) - goto _342 + goto _346 _40: ; /* scanpt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken.Fz - goto _342 + goto _346 _41: ; /* scantok ::= */ *(*TToken)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken - goto _342 + goto _346 _43: ; /* ccons ::= CONSTRAINT nm */ _42: ; (*TParse)(unsafe.Pointer(pParse)).FconstraintName = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _44: ; /* ccons ::= DEFAULT scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _45: ; /* ccons ::= DEFAULT LP expr RP */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))+uintptr(1), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _46: ; /* ccons ::= DEFAULT PLUS scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _47: ; /* ccons ::= DEFAULT MINUS scantok term */ p = _sqlite3PExpr(tls, pParse, int32(TK_UMINUS), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) _sqlite3AddDefaultValue(tls, pParse, p, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _48: ; /* ccons ::= DEFAULT scantok ID|INDEXED */ p1 = _tokenExpr(tls, pParse, int32(TK_STRING), *(*TToken)(unsafe.Pointer(yymsp + 8))) @@ -160353,99 +161786,99 @@ _48: _sqlite3ExprIdToTrueFalse(tls, p1) } _sqlite3AddDefaultValue(tls, pParse, p1, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - goto _342 + goto _346 _49: ; /* ccons ::= NOT NULL onconf */ _sqlite3AddNotNull(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _50: ; /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ _sqlite3AddPrimaryKey(tls, pParse, uintptr(0), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _51: ; /* ccons ::= UNIQUE onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _52: ; /* ccons ::= CHECK LP expr RP */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _53: ; /* ccons ::= REFERENCES nm eidlist_opt refargs */ _sqlite3CreateForeignKey(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _54: ; /* ccons ::= defer_subclause */ _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _55: ; /* ccons ::= COLLATE ID|STRING */ _sqlite3AddCollateType(tls, pParse, yymsp+8) - goto _342 + goto _346 _56: ; /* generated ::= LP expr RP */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 + goto _346 _57: ; /* generated ::= LP expr RP ID */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 + goto _346 _58: ; /* autoinc ::= AUTOINCR */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(1) - goto _342 + goto _346 _59: ; /* refargs ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = libc.Int32FromInt32(OE_None) * libc.Int32FromInt32(0x0101) /* EV: R-19803-45884 */ - goto _342 + goto _346 _60: ; /* refargs ::= refargs refarg */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) & ^*(*int32)(unsafe.Pointer(yymsp + 8 + 4)) | *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _61: ; /* refarg ::= MATCH nm */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _62: ; /* refarg ::= ON INSERT refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _63: ; /* refarg ::= ON DELETE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x0000ff) - goto _342 + goto _346 _64: ; /* refarg ::= ON UPDATE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) << int32(8) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x00ff00) - goto _342 + goto _346 _65: ; /* refact ::= SET NULL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetNull) /* EV: R-33326-45252 */ - goto _342 + goto _346 _66: ; /* refact ::= SET DEFAULT */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetDflt) /* EV: R-33326-45252 */ - goto _342 + goto _346 _67: ; /* refact ::= CASCADE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Cascade) /* EV: R-33326-45252 */ - goto _342 + goto _346 _68: ; /* refact ::= RESTRICT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Restrict) /* EV: R-33326-45252 */ - goto _342 + goto _346 _69: ; /* refact ::= NO ACTION */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = OE_None /* EV: R-33326-45252 */ - goto _342 + goto _346 _70: ; /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 - goto _342 + goto _346 _72: ; /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ _71: @@ -160453,7 +161886,7 @@ _71: _73: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _75: ; /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ _74: @@ -160465,64 +161898,64 @@ _77: _78: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(1) - goto _342 + goto _346 _79: ; /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 - goto _342 + goto _346 _80: ; /* tconscomma ::= COMMA */ (*TParse)(unsafe.Pointer(pParse)).FconstraintName.Fn = uint32(0) - goto _342 + goto _346 _81: ; /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ _sqlite3AddPrimaryKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), 0) - goto _342 + goto _346 _82: ; /* tcons ::= UNIQUE LP sortlist RP onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _83: ; /* tcons ::= CHECK LP expr RP onconf */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _84: ; /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ _sqlite3CreateForeignKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _86: ; /* onconf ::= */ _85: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(OE_Default) - goto _342 + goto _346 _87: ; /* onconf ::= ON CONFLICT resolvetype */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _88: ; /* resolvetype ::= IGNORE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Ignore) - goto _342 + goto _346 _90: ; /* resolvetype ::= REPLACE */ _89: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Replace) - goto _342 + goto _346 _91: ; /* cmd ::= DROP TABLE ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _92: ; /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ _sqlite3CreateView(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) - goto _342 + goto _346 _93: ; /* cmd ::= DROP VIEW ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), int32(1), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _94: ; /* cmd ::= select */ *(*TSelectDest)(unsafe.Pointer(bp + 16)) = TSelectDest{ @@ -160530,22 +161963,22 @@ _94: } _sqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), bp+16) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _95: ; /* select ::= WITH wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _96: ; /* select ::= WITH RECURSIVE wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _97: ; /* select ::= selectnowith */ p2 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) if p2 != 0 { _parserDoubleLinkSelect(tls, pParse, p2) } - goto _342 + goto _346 _98: ; /* selectnowith ::= selectnowith multiselect_op oneselect */ pRhs = *(*uintptr)(unsafe.Pointer(yymsp + 8)) @@ -160570,21 +162003,21 @@ _98: _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pLhs) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = pRhs - goto _342 + goto _346 _100: ; /* multiselect_op ::= UNION */ _99: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-OP*/ - goto _342 + goto _346 _101: ; /* multiselect_op ::= UNION ALL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_ALL) - goto _342 + goto _346 _102: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _103: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(9))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -160593,116 +162026,111 @@ _103: } else { _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) } - goto _342 + goto _346 _104: ; /* values ::= VALUES LP nexprlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) - goto _342 + goto _346 _105: - ; /* values ::= values COMMA LP nexprlist RP */ - pLeft = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) - pRight = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(libc.Int32FromInt32(SF_Values)|libc.Int32FromInt32(SF_MultiValue)), uintptr(0)) - if pLeft != 0 { - *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) - } - if pRight != 0 { - (*TSelect)(unsafe.Pointer(pRight)).Fop = uint8(TK_ALL) - (*TSelect)(unsafe.Pointer(pRight)).FpPrior = pLeft - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pRight - } else { - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pLeft - } - goto _342 + ; /* oneselect ::= mvalues */ + _sqlite3MultiValuesEnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_107: + ; /* mvalues ::= values COMMA LP nexprlist RP */ _106: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3MultiValues(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_108: ; /* distinct ::= DISTINCT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_Distinct) - goto _342 -_107: + goto _346 +_109: ; /* distinct ::= ALL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_All) - goto _342 -_109: + goto _346 +_111: ; /* sclp ::= */ -_108: - ; _110: ; -_111: - ; _112: ; _113: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 _114: + ; +_115: + ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 +_116: ; /* selcollist ::= sclp scanpt expr scanpt as */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) > uint32(0) { _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+8, int32(1)) } _sqlite3ExprListSetSpan(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_115: + goto _346 +_117: ; /* selcollist ::= sclp scanpt STAR */ p3 = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_ASTERISK), uintptr(0)) _sqlite3ExprSetErrorOffset(tls, p3, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), p3) - goto _342 -_116: + goto _346 +_118: ; /* selcollist ::= sclp scanpt nm DOT STAR */ - pRight1 = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) - _sqlite3ExprSetErrorOffset(tls, pRight1, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) - pLeft1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft1, pRight1) + pRight = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) + _sqlite3ExprSetErrorOffset(tls, pRight, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) + pLeft = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) + pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft, pRight) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pDot) - goto _342 -_118: + goto _346 +_120: ; /* as ::= AS nm */ -_117: - ; _119: ; -_120: +_121: ; - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 _122: + ; + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) + goto _346 +_124: ; /* from ::= */ -_121: +_123: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_123: + goto _346 +_125: ; /* from ::= FROM seltablist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) _sqlite3SrcListShiftJoinType(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_124: + goto _346 +_126: ; /* stl_prefix ::= seltablist joinop */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 && (*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc > 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8 + uintptr((*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc-int32(1))*104))).Ffg.Fjointype = uint8(*(*int32)(unsafe.Pointer(yymsp + 8))) } - goto _342 -_125: + goto _346 +_127: ; /* seltablist ::= stl_prefix nm dbnm as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) - goto _342 -_126: + goto _346 +_128: ; /* seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_127: + goto _346 +_129: ; /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListFuncArgs(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) - goto _342 -_128: + goto _346 +_130: ; /* seltablist ::= stl_prefix LP select RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_129: + goto _346 +_131: ; /* seltablist ::= stl_prefix LP seltablist RP as on_using */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) == uintptr(0) && *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) == uint32(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8)) == uintptr(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) @@ -160724,9 +162152,9 @@ _129: libc.SetBitFieldPtr16Uint32(pOld+60+4, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pNew+60+4, libc.Uint32FromInt32(1), 2, 0x4) } - v343 = libc.UintptrFromInt32(0) - (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v343 - (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v343 + v347 = libc.UintptrFromInt32(0) + (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v347 + (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v347 (*TSrcItem)(unsafe.Pointer(pOld)).FpSelect = uintptr(0) } _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) @@ -160736,189 +162164,189 @@ _129: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, pSubquery, yymsp+8) } } - goto _342 -_131: + goto _346 +_133: ; /* dbnm ::= */ -_130: +_132: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) - goto _342 -_132: + goto _346 +_134: ; /* fullname ::= nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_133: + goto _346 +_135: ; /* fullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_134: + goto _346 +_136: ; /* xfullname ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) /*A-overwrites-X*/ - goto _342 -_135: + goto _346 +_137: ; /* xfullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) /*A-overwrites-X*/ - goto _342 -_136: + goto _346 +_138: ; /* xfullname ::= nm DOT nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_137: + goto _346 +_139: ; /* xfullname ::= nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0)) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_138: + goto _346 +_140: ; /* joinop ::= COMMA|JOIN */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(JT_INNER) - goto _342 -_139: + goto _346 +_141: ; /* joinop ::= JOIN_KW JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), uintptr(0)) /*X-overwrites-A*/ - goto _342 -_140: + goto _346 +_142: ; /* joinop ::= JOIN_KW nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0)) /*X-overwrites-A*/ - goto _342 -_141: + goto _346 +_143: ; /* joinop ::= JOIN_KW nm nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) /*X-overwrites-A*/ - goto _342 -_142: + goto _346 +_144: ; /* on_using ::= ON expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uintptr(0) - goto _342 -_143: + goto _346 +_145: ; /* on_using ::= USING LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_144: + goto _346 +_146: ; /* on_using ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uintptr(0) - goto _342 -_145: + goto _346 +_147: ; /* indexed_by ::= INDEXED BY nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 -_146: + goto _346 +_148: ; /* indexed_by ::= NOT INDEXED */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(1) - goto _342 -_148: + goto _346 +_150: ; /* orderby_opt ::= ORDER BY sortlist */ -_147: +_149: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_149: + goto _346 +_151: ; /* sortlist ::= sortlist COMMA expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_150: + goto _346 +_152: ; /* sortlist ::= expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) /*A-overwrites-Y*/ _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_151: + goto _346 +_153: ; /* sortorder ::= ASC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = SQLITE_SO_ASC - goto _342 -_152: + goto _346 +_154: ; /* sortorder ::= DESC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_154: + goto _346 +_156: ; /* sortorder ::= */ -_153: +_155: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = -int32(1) - goto _342 -_155: + goto _346 +_157: ; /* nulls ::= NULLS FIRST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = SQLITE_SO_ASC - goto _342 -_156: + goto _346 +_158: ; /* nulls ::= NULLS LAST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_158: + goto _346 +_160: ; /* having_opt ::= */ -_157: - ; _159: ; -_160: - ; _161: ; _162: ; _163: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_165: - ; /* having_opt ::= HAVING expr */ _164: ; -_166: +_165: ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 _167: + ; /* having_opt ::= HAVING expr */ +_166: ; _168: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 _169: + ; +_170: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + goto _346 +_171: ; /* limit_opt ::= LIMIT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 -_170: + goto _346 +_172: ; /* limit_opt ::= LIMIT expr OFFSET expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_171: + goto _346 +_173: ; /* limit_opt ::= LIMIT expr COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 -_172: + goto _346 +_174: ; /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) _sqlite3DeleteFrom(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0)) - goto _342 -_173: + goto _346 +_175: ; /* where_opt_ret ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) - goto _342 -_174: + goto _346 +_176: ; /* where_opt_ret ::= WHERE expr RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) - goto _342 -_175: + goto _346 +_177: ; /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) - _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23780) + _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23903) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { pFromClause = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) if (*TSrcList)(unsafe.Pointer(pFromClause)).FnSrc > int32(1) { @@ -160930,95 +162358,95 @@ _175: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), pFromClause) } _sqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_176: + goto _346 +_178: ; /* setlist ::= setlist COMMA nm EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) - goto _342 -_177: + goto _346 +_179: ; /* setlist ::= setlist COMMA LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_178: + goto _346 +_180: ; /* setlist ::= nm EQ expr */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_179: + goto _346 +_181: ; /* setlist ::= LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_180: + goto _346 +_182: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_181: + goto _346 +_183: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0)) - goto _342 -_182: + goto _346 +_184: ; /* upsert ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_183: + goto _346 +_185: ; /* upsert ::= RETURNING selcollist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_184: + goto _346 +_186: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(11))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_185: + goto _346 +_187: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_186: + goto _346 +_188: ; /* upsert ::= ON CONFLICT DO NOTHING returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_187: + goto _346 +_189: ; /* upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_188: + goto _346 +_190: ; /* returning ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_189: + goto _346 +_191: ; /* idlist_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_190: + goto _346 +_192: ; /* idlist_opt ::= LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_191: + goto _346 +_193: ; /* idlist ::= idlist COMMA nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3IdListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 -_192: + goto _346 +_194: ; /* idlist ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3IdListAppend(tls, pParse, uintptr(0), yymsp+8) /*A-overwrites-Y*/ - goto _342 -_193: + goto _346 +_195: ; /* expr ::= LP expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_194: + goto _346 +_196: ; /* expr ::= ID|INDEXED|JOIN_KW */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_195: + goto _346 +_197: ; /* expr ::= nm DOT nm */ temp1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) temp2 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp1, temp2) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_196: + goto _346 +_198: ; /* expr ::= nm DOT nm DOT nm */ temp11 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) temp21 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) @@ -161029,22 +162457,22 @@ _196: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp11, temp4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_198: + goto _346 +_200: ; /* term ::= NULL|FLOAT|BLOB */ -_197: +_199: ; *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_199: + goto _346 +_201: ; /* term ::= INTEGER */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), yymsp+8, int32(1)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 52)) = int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8))) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_200: + goto _346 +_202: ; /* expr ::= VARIABLE */ if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8))))) == int32('#') && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)) + 1)))])&int32(0x04) != 0) { n = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) @@ -161056,7 +162484,7 @@ _200: ** in the virtual machine. #N is the N-th register. */ *(*TToken)(unsafe.Pointer(bp + 88)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) /*A-overwrites-X*/ if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23789, libc.VaList(bp+128, bp+88)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23912, libc.VaList(bp+128, bp+88)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_REGISTER), uintptr(0), uintptr(0)) @@ -161065,57 +162493,57 @@ _200: } } } - goto _342 -_201: + goto _346 +_203: ; /* expr ::= expr COLLATE ID|STRING */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAddCollateToken(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8, int32(1)) - goto _342 -_202: + goto _346 +_204: ; /* expr ::= CAST LP expr AS typetoken RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_CAST), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) _sqlite3ExprAttachSubtrees(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) - goto _342 -_203: + goto _346 +_205: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_204: + goto _346 +_206: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_205: + goto _346 +_207: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_206: + goto _346 +_208: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_207: + goto _346 +_209: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_208: + goto _346 +_210: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, 0) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_209: + goto _346 +_211: ; /* term ::= CTIME_KW */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_210: + goto _346 +_212: ; /* expr ::= LP nexprlist COMMA expr RP */ pList = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_VECTOR), uintptr(0), uintptr(0)) @@ -161127,33 +162555,33 @@ _210: } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pList) } - goto _342 -_211: + goto _346 +_213: ; /* expr ::= expr AND expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_213: + goto _346 +_215: ; /* expr ::= expr OR expr */ -_212: - ; _214: ; -_215: - ; _216: ; _217: ; _218: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 _219: + ; +_220: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_221: ; /* likeop ::= NOT LIKE_KW|MATCH */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) |= uint32(0x80000000) /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/ - goto _342 -_220: + goto _346 +_222: ; /* expr ::= expr likeop expr */ bNot = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -161166,8 +162594,8 @@ _220: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_221: + goto _346 +_223: ; /* expr ::= expr likeop expr ESCAPE expr */ bNot1 = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -161181,65 +162609,67 @@ _221: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_222: + goto _346 +_224: ; /* expr ::= expr ISNULL|NOTNULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_223: + goto _346 +_225: ; /* expr ::= expr NOT NULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOTNULL), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uintptr(0)) - goto _342 -_224: + goto _346 +_226: ; /* expr ::= expr IS expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_225: + goto _346 +_227: ; /* expr ::= expr IS NOT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_226: + goto _346 +_228: ; /* expr ::= expr IS NOT DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_227: + goto _346 +_229: ; /* expr ::= expr IS DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_229: + goto _346 +_231: ; /* expr ::= NOT expr */ -_228: +_230: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) /*A-overwrites-B*/ - goto _342 -_230: + goto _346 +_232: ; /* expr ::= PLUS|MINUS expr */ - if int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) == int32(TK_PLUS) { - v344 = int32(TK_UPLUS) + p4 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + op = uint8(int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) + (libc.Int32FromInt32(TK_UPLUS) - libc.Int32FromInt32(TK_PLUS))) + if p4 != 0 && int32((*TExpr)(unsafe.Pointer(p4)).Fop) == int32(TK_UPLUS) { + (*TExpr)(unsafe.Pointer(p4)).Fop = op + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = p4 } else { - v344 = int32(TK_UMINUS) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(op), p4, uintptr(0)) + /*A-overwrites-B*/ } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, v344, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - /*A-overwrites-B*/ - goto _342 -_231: + goto _346 +_233: ; /* expr ::= expr PTR expr */ pList3 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList3 = _sqlite3ExprListAppend(tls, pParse, pList3, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, pList3, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_233: + goto _346 +_235: ; /* between_op ::= BETWEEN */ -_232: +_234: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = 0 - goto _342 -_234: + goto _346 +_236: ; /* expr ::= expr between_op expr AND expr */ pList4 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList4 = _sqlite3ExprListAppend(tls, pParse, pList4, *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -161252,8 +162682,8 @@ _234: if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_235: + goto _346 +_237: ; /* expr ::= expr in_op LP exprlist RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) == uintptr(0) { /* Expressions of the form @@ -161266,17 +162696,17 @@ _235: */ _sqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { - v345 = __ccgo_ts + 8234 + v348 = __ccgo_ts + 8359 } else { - v345 = __ccgo_ts + 8239 + v348 = __ccgo_ts + 8364 } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v345) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v348) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { _sqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } } else { pRHS = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr - if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { + if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pParse, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr = uintptr(0) _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) pRHS = _sqlite3PExpr(tls, pParse, int32(TK_UPLUS), pRHS, uintptr(0)) @@ -161310,460 +162740,464 @@ _235: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } } - goto _342 -_236: + goto _346 +_238: ; /* expr ::= LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_SELECT), uintptr(0), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_237: + goto _346 +_239: ; /* expr ::= expr in_op LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_238: + goto _346 +_240: ; /* expr ::= expr in_op nm dbnm paren_exprlist */ pSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) pSelect = _sqlite3SelectNew(tls, pParse, uintptr(0), pSrc, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { if pSelect != 0 { - v346 = pSrc + v349 = pSrc } else { - v346 = uintptr(0) + v349 = uintptr(0) } - _sqlite3SrcListFuncArgs(tls, pParse, v346, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + _sqlite3SrcListFuncArgs(tls, pParse, v349, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pSelect) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_239: + goto _346 +_241: ; /* expr ::= EXISTS LP select RP */ - v347 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v347 - p4 = v347 - _sqlite3PExprAddSelect(tls, pParse, p4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_240: + v350 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v350 + p5 = v350 + _sqlite3PExprAddSelect(tls, pParse, p5, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_242: ; /* expr ::= CASE case_operand case_exprlist case_else END */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_CASE), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { - v348 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + v351 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } else { - v348 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + v351 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) } - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v348 + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v351 _sqlite3ExprSetHeightAndFlags(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } - goto _342 -_241: + goto _346 +_243: ; /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_242: + goto _346 +_244: ; /* case_exprlist ::= WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_243: + goto _346 +_245: ; /* nexprlist ::= nexprlist COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_244: + goto _346 +_246: ; /* nexprlist ::= expr */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_246: + goto _346 +_248: ; /* paren_exprlist ::= LP exprlist RP */ -_245: +_247: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_247: + goto _346 +_249: ; /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ _sqlite3CreateIndex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, uintptr(0)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(11))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8)), SQLITE_SO_ASC, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), uint8(SQLITE_IDXTYPE_APPDEF)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && (*TParse)(unsafe.Pointer(pParse)).FpNewIndex != 0 { _sqlite3RenameTokenMap(tls, pParse, (*TIndex)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpNewIndex)).FzName, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) } - goto _342 -_249: + goto _346 +_251: ; /* uniqueflag ::= UNIQUE */ -_248: +_250: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Abort) - goto _342 -_250: + goto _346 +_252: ; /* uniqueflag ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = OE_None - goto _342 -_251: + goto _346 +_253: ; /* eidlist ::= eidlist COMMA nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_252: + goto _346 +_254: ; /* eidlist ::= nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_253: + goto _346 +_255: ; /* cmd ::= DROP INDEX ifexists fullname */ _sqlite3DropIndex(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_254: + goto _346 +_256: ; /* cmd ::= VACUUM vinto */ _sqlite3Vacuum(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_255: + goto _346 +_257: ; /* cmd ::= VACUUM nm vinto */ _sqlite3Vacuum(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_256: + goto _346 +_258: ; /* cmd ::= PRAGMA nm dbnm */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, uintptr(0), 0) - goto _342 -_257: + goto _346 +_259: ; /* cmd ::= PRAGMA nm dbnm EQ nmnum */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, 0) - goto _342 -_258: + goto _346 +_260: ; /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) - goto _342 -_259: + goto _346 +_261: ; /* cmd ::= PRAGMA nm dbnm EQ minus_num */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, int32(1)) - goto _342 -_260: + goto _346 +_262: ; /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) - goto _342 -_261: + goto _346 +_263: ; /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ (*(*TToken)(unsafe.Pointer(bp + 104))).Fz = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) (*(*TToken)(unsafe.Pointer(bp + 104))).Fn = uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) + *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) _sqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), bp+104) - goto _342 -_262: + goto _346 +_264: ; /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ _sqlite3BeginTrigger(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8 + 8)) == uint32(0) { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) } else { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) } - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v349 /*A-overwrites-T*/ - goto _342 -_263: + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v352 /*A-overwrites-T*/ + goto _346 +_265: ; /* trigger_time ::= BEFORE|AFTER */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_264: + goto _346 +_266: ; /* trigger_time ::= INSTEAD OF */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_INSTEAD) - goto _342 -_265: + goto _346 +_267: ; /* trigger_time ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_BEFORE) - goto _342 -_267: + goto _346 +_269: ; /* trigger_event ::= DELETE|INSERT */ -_266: +_268: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) = uintptr(0) - goto _342 -_268: + goto _346 +_270: ; /* trigger_event ::= UPDATE OF idlist */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(TK_UPDATE) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_270: + goto _346 +_272: ; /* when_clause ::= */ -_269: +_271: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_272: + goto _346 +_274: ; /* when_clause ::= WHEN expr */ -_271: +_273: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_273: + goto _346 +_275: ; /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ (*TTriggerStep)(unsafe.Pointer((*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast)).FpNext = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_274: + goto _346 +_276: ; /* trigger_cmd_list ::= trigger_cmd SEMI */ (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_275: + goto _346 +_277: ; /* trnm ::= nm DOT nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23813, 0) - goto _342 -_276: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23936, 0) + goto _346 +_278: ; /* tridxby ::= INDEXED BY nm */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23908, 0) - goto _342 -_277: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24031, 0) + goto _346 +_279: ; /* tridxby ::= NOT INDEXED */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23992, 0) - goto _342 -_278: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24115, 0) + goto _346 +_280: ; /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerUpdateStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_279: + goto _346 +_281: ; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-6].minor.yy394*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_280: + goto _346 +_282: ; /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerDeleteStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_281: + goto _346 +_283: ; /* trigger_cmd ::= scanpt select scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-1].minor.yy47*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-1].minor.yy555*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_282: + goto _346 +_284: ; /* expr ::= RAISE LP IGNORE RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_RAISE), uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)))).FaffExpr = int8(OE_Ignore) } - goto _342 -_283: + goto _346 +_285: ; /* expr ::= RAISE LP raisetype COMMA nm RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_RAISE), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)))).FaffExpr = int8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) } - goto _342 -_284: + goto _346 +_286: ; /* raisetype ::= ROLLBACK */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Rollback) - goto _342 -_285: + goto _346 +_287: ; /* raisetype ::= FAIL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Fail) - goto _342 -_286: + goto _346 +_288: ; /* cmd ::= DROP TRIGGER ifexists fullname */ _sqlite3DropTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_287: + goto _346 +_289: ; /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ _sqlite3Attach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_288: + goto _346 +_290: ; /* cmd ::= DETACH database_kw_opt expr */ _sqlite3Detach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_289: + goto _346 +_291: ; /* cmd ::= REINDEX */ _sqlite3Reindex(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_290: + goto _346 +_292: ; /* cmd ::= REINDEX nm dbnm */ _sqlite3Reindex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_291: + goto _346 +_293: ; /* cmd ::= ANALYZE */ _sqlite3Analyze(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_292: + goto _346 +_294: ; /* cmd ::= ANALYZE nm dbnm */ _sqlite3Analyze(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_293: + goto _346 +_295: ; /* cmd ::= ALTER TABLE fullname RENAME TO nm */ _sqlite3AlterRenameTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_294: + goto _346 +_296: ; /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(int32(int64((*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fz)-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) + (*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fn _sqlite3AlterFinishAddColumn(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_295: + goto _346 +_297: ; /* cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ _sqlite3AlterDropColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_296: + goto _346 +_298: ; /* add_column_fullname ::= fullname */ _disableLookaside(tls, pParse) _sqlite3AlterBeginAddColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_297: + goto _346 +_299: ; /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ _sqlite3AlterRenameColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) - goto _342 -_298: + goto _346 +_300: ; /* cmd ::= create_vtab */ _sqlite3VtabFinishParse(tls, pParse, uintptr(0)) - goto _342 -_299: + goto _346 +_301: ; /* cmd ::= create_vtab LP vtabarglist RP */ _sqlite3VtabFinishParse(tls, pParse, yymsp+8) - goto _342 -_300: + goto _346 +_302: ; /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ _sqlite3VtabBeginParse(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) - goto _342 -_301: + goto _346 +_303: ; /* vtabarg ::= */ _sqlite3VtabArgInit(tls, pParse) - goto _342 -_303: + goto _346 +_305: ; /* vtabargtoken ::= ANY */ -_302: - ; _304: ; - _sqlite3VtabArgExtend(tls, pParse, yymsp+8) - goto _342 _306: + ; + _sqlite3VtabArgExtend(tls, pParse, yymsp+8) + goto _346 +_308: ; /* with ::= WITH wqlist */ -_305: +_307: ; _sqlite3WithPush(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint8(1)) - goto _342 -_307: + goto _346 +_309: ; /* wqas ::= AS */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8(M10d_Any) - goto _342 -_308: + goto _346 +_310: ; /* wqas ::= AS MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8(M10d_Yes) - goto _342 -_309: + goto _346 +_311: ; /* wqas ::= AS NOT MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = uint8(M10d_No) - goto _342 -_310: - ; /* wqitem ::= nm eidlist_opt wqas LP select RP */ + goto _346 +_312: + ; /* wqitem ::= withnm eidlist_opt wqas LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) /*A-overwrites-X*/ - goto _342 -_311: + goto _346 +_313: + ; /* withnm ::= nm */ + (*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1) + goto _346 +_314: ; /* wqlist ::= wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_312: + goto _346 +_315: ; /* wqlist ::= wqlist COMMA wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3WithAdd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_313: + goto _346 +_316: ; /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ _sqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_314: + goto _346 +_317: ; /* windowdefn ::= nm AS LP window RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)))) } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_315: + goto _346 +_318: ; /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_316: + goto _346 +_319: ; /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_317: + goto _346 +_320: ; /* window ::= ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_318: + goto _346 +_321: ; /* window ::= nm ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_319: + goto _346 +_322: ; /* window ::= nm frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_320: + goto _346 +_323: ; /* frame_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = _sqlite3WindowAlloc(tls, pParse, 0, int32(TK_UNBOUNDED), uintptr(0), int32(TK_CURRENT), uintptr(0), uint8(0)) - goto _342 -_321: + goto _346 +_324: ; /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), int32(TK_CURRENT), uintptr(0), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_322: + goto _346 +_325: ; /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_324: + goto _346 +_327: ; /* frame_bound_s ::= frame_bound */ -_323: +_326: ; *(*TFrameBound)(unsafe.Pointer(bp)) = *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_326: + goto _346 +_329: ; /* frame_bound_s ::= UNBOUNDED PRECEDING */ -_325: +_328: ; -_327: +_330: ; (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = uintptr(0) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_328: + goto _346 +_331: ; /* frame_bound ::= expr PRECEDING|FOLLOWING */ (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_329: + goto _346 +_332: ; /* frame_exclude_opt ::= */ *(*Tu8)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint8(0) - goto _342 -_330: + goto _346 +_333: ; /* frame_exclude_opt ::= EXCLUDE frame_exclude */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*Tu8)(unsafe.Pointer(yymsp + 8)) - goto _342 -_332: + goto _346 +_335: ; /* frame_exclude ::= NO OTHERS */ -_331: +_334: ; *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) /*A-overwrites-X*/ - goto _342 -_333: + goto _346 +_336: ; /* frame_exclude ::= GROUP|TIES */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_334: + goto _346 +_337: ; /* window_clause ::= WINDOW windowdefn_list */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_335: + goto _346 +_338: ; /* filter_over ::= filter_clause over_clause */ if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) @@ -161772,13 +163206,13 @@ _335: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_336: + goto _346 +_339: ; /* filter_over ::= over_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_337: + goto _346 +_340: ; /* filter_over ::= filter_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { @@ -161788,27 +163222,33 @@ _337: _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_338: + goto _346 +_341: ; /* over_clause ::= OVER LP window RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_339: + goto _346 +_342: ; /* over_clause ::= OVER nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) } - goto _342 -_340: + goto _346 +_343: ; /* filter_clause ::= FILTER LP WHERE expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_341: + goto _346 +_344: + ; /* term ::= QNUMBER */ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) + _sqlite3DequoteNumber(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))) + *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + goto _346 +_345: ; - goto _342 + goto _346 /********** End reduce actions ************************************************/ -_342: +_346: ; yygoto = int32(_yyRuleInfoLhs[yyruleno]) yysize = int32(_yyRuleInfoNRhs[yyruleno]) @@ -161842,9 +163282,9 @@ func _yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, _yyminor /************ Begin %syntax_error code ****************************************/ _ = yymajor /* Silence some compiler warnings */ if *(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp))).Fz)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23789, libc.VaList(bp+24, bp)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23912, libc.VaList(bp+24, bp)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24077, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24200, 0) } /************ End %syntax_error code ******************************************/ /* Suppress warning about unused %extra_argument variable */ @@ -161909,8 +163349,10 @@ func _sqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor TToken) { ** enough on the stack to push the LHS value */ if int32(_yyRuleInfoNRhs[yyruleno]) == 0 { if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos >= (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - _yyStackOverflow(tls, yypParser) - break + if _yyGrowStack(tls, yypParser) != 0 { + _yyStackOverflow(tls, yypParser) + break + } } } yyact = _yy_reduce(tls, yypParser, yyruleno, yymajor, yyminor, pParse) @@ -164059,9 +165501,9 @@ func _analyzeFilterKeyword(tls *libc.TLS, _z uintptr, lastToken int32) (r int32) // ** Store the token type in *tokenType before returning. // */ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { - var c, delim, i, n, v10, v14, v16, v19, v20, v3, v5, v7, v8 int32 - var v15, v6 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v14, v15, v16, v19, v20, v3, v5, v6, v7, v8 + var c, delim, i, n, v10, v16, v18, v21, v22, v3, v5, v7, v8 int32 + var v17, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v16, v17, v18, v21, v22, v3, v5, v6, v7, v8 switch int32(_aiClass[*(*uint8)(unsafe.Pointer(z))]) { /* Switch on the character-class of the first byte ** of the token. See the comment on the CC_ defines ** above. */ @@ -164259,39 +165701,83 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('X')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 2))])&int32(0x08) != 0 { i = int32(3) for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { + if !(int32(1) != 0) { break } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } goto _11 _11: ; i++ } - return i - } - i = 0 - for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _12 - _12: - ; - i++ - } - if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { - i++ - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + } else { + i = 0 + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _12 + _12: + ; i++ } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) - } - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { - i += int32(2) - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } i++ + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _13 + _13: + ; + i++ + } + } + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } + i += int32(2) + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _14 + _14: + ; + i++ + } } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) } for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x46) != 0 { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_ILLEGAL) @@ -164302,24 +165788,24 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { i = int32(1) c = int32(*(*uint8)(unsafe.Pointer(z))) for { - if v15 = c != int32(']'); v15 { - v14 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v14 + if v17 = c != int32(']'); v17 { + v16 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v16 } - if !(v15 && v14 != 0) { + if !(v17 && v16 != 0) { break } - goto _13 - _13: + goto _15 + _15: ; i++ } if c == int32(']') { - v16 = int32(TK_ID) + v18 = int32(TK_ID) } else { - v16 = int32(TK_ILLEGAL) + v18 = int32(TK_ILLEGAL) } - *(*int32)(unsafe.Pointer(tokenType)) = v16 + *(*int32)(unsafe.Pointer(tokenType)) = v18 return i case int32(CC_VARNUM): *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) @@ -164328,8 +165814,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { break } - goto _17 - _17: + goto _19 + _19: ; i++ } @@ -164341,9 +165827,9 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) i = int32(1) for { - v19 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v19 - if !(v19 != 0) { + v21 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v21 + if !(v21 != 0) { break } if int32(_sqlite3CtypeMap[uint8(c)])&int32(0x46) != 0 { @@ -164352,12 +165838,12 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if c == int32('(') && n > 0 { for { i++ - goto _21 - _21: + goto _23 + _23: ; - v20 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v20 - if !(v20 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { + v22 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v22 + if !(v22 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { break } } @@ -164375,8 +165861,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { } } } - goto _18 - _18: + goto _20 + _20: ; i++ } @@ -164394,8 +165880,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_aiClass[*(*uint8)(unsafe.Pointer(z + uintptr(i)))]) <= int32(CC_KYWD)) { break } - goto _22 - _22: + goto _24 + _24: ; i++ } @@ -164416,8 +165902,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { break } - goto _23 - _23: + goto _25 + _25: ; i++ } @@ -164471,7 +165957,7 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { var lastTokenParsed, mxSqlLen, n, nErr int32 var _ /* sEngine at bp+8 */ TyyParser var _ /* tokenType at bp+0 */ int32 - var _ /* x at bp+2432 */ TToken + var _ /* x at bp+2440 */ TToken _, _, _, _, _, _, _ = db, lastTokenParsed, mxSqlLen, n, nErr, pEngine, pParentParse nErr = 0 /* The LEMON-generated LALR(1) parser */ n = 0 /* type of the next token */ @@ -164529,10 +166015,12 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp)) == int32(TK_FILTER) { *(*int32)(unsafe.Pointer(bp)) = _analyzeFilterKeyword(tls, zSql+6, lastTokenParsed) } else { - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fz = zSql - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fn = uint32(n) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24094, libc.VaList(bp+2456, bp+2432)) - break + if *(*int32)(unsafe.Pointer(bp)) != int32(TK_QNUMBER) { + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fz = zSql + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fn = uint32(n) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24217, libc.VaList(bp+2464, bp+2440)) + break + } } } } @@ -164553,9 +166041,9 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { } if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg != 0 || (*TParse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK && (*TParse)(unsafe.Pointer(pParse)).Frc != int32(SQLITE_DONE) { if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) { - (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3799, libc.VaList(bp+2456, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) + (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3863, libc.VaList(bp+2464, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) } - Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+24119, libc.VaList(bp+2456, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) + Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+24242, libc.VaList(bp+2464, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) nErr++ } (*TParse)(unsafe.Pointer(pParse)).FzTail = zSql @@ -164747,7 +166235,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('c'): fallthrough case int32('C'): - if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24130, int32(6)) == 0 { + if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24253, int32(6)) == 0 { token = uint8(tkCREATE) } else { token = uint8(tkOTHER) @@ -164755,13 +166243,13 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('t'): fallthrough case int32('T'): - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20774, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20906, int32(7)) == 0 { token = uint8(tkTRIGGER) } else { - if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24137, int32(4)) == 0 { + if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24260, int32(4)) == 0 { token = uint8(tkTEMP) } else { - if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24142, int32(9)) == 0 { + if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24265, int32(9)) == 0 { token = uint8(tkTEMP) } else { token = uint8(tkOTHER) @@ -164771,10 +166259,10 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('e'): fallthrough case int32('E'): - if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24152, int32(3)) == 0 { + if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24275, int32(3)) == 0 { token = uint8(tkEND) } else { - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24156, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24279, int32(7)) == 0 { token = uint8(tkEXPLAIN) } else { token = uint8(tkOTHER) @@ -165214,7 +166702,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) { */ if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 { if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)<= 0 && rc < int32(libc.Uint64FromInt64(232)/libc.Uint64FromInt64(8)) && _aMsg[rc] != uintptr(0) { @@ -166352,31 +167840,31 @@ func _sqlite3ErrStr(tls *libc.TLS, rc int32) (r uintptr) { } var _aMsg = [29]uintptr{ - 0: __ccgo_ts + 24232, - 1: __ccgo_ts + 24245, - 3: __ccgo_ts + 24261, - 4: __ccgo_ts + 24286, - 5: __ccgo_ts + 24300, - 6: __ccgo_ts + 24319, - 7: __ccgo_ts + 1620, - 8: __ccgo_ts + 24344, - 9: __ccgo_ts + 24381, - 10: __ccgo_ts + 24393, - 11: __ccgo_ts + 24408, - 12: __ccgo_ts + 24441, - 13: __ccgo_ts + 24459, - 14: __ccgo_ts + 24484, - 15: __ccgo_ts + 24513, - 17: __ccgo_ts + 6369, - 18: __ccgo_ts + 5771, - 19: __ccgo_ts + 24530, - 20: __ccgo_ts + 24548, - 21: __ccgo_ts + 24566, - 23: __ccgo_ts + 24600, - 25: __ccgo_ts + 24621, - 26: __ccgo_ts + 24647, - 27: __ccgo_ts + 24670, - 28: __ccgo_ts + 24691, + 0: __ccgo_ts + 24355, + 1: __ccgo_ts + 24368, + 3: __ccgo_ts + 24384, + 4: __ccgo_ts + 24409, + 5: __ccgo_ts + 24423, + 6: __ccgo_ts + 24442, + 7: __ccgo_ts + 1634, + 8: __ccgo_ts + 24467, + 9: __ccgo_ts + 24504, + 10: __ccgo_ts + 24516, + 11: __ccgo_ts + 24531, + 12: __ccgo_ts + 24564, + 13: __ccgo_ts + 24582, + 14: __ccgo_ts + 24607, + 15: __ccgo_ts + 24636, + 17: __ccgo_ts + 6433, + 18: __ccgo_ts + 5835, + 19: __ccgo_ts + 24653, + 20: __ccgo_ts + 24671, + 21: __ccgo_ts + 24689, + 23: __ccgo_ts + 24723, + 25: __ccgo_ts + 24744, + 26: __ccgo_ts + 24770, + 27: __ccgo_ts + 24793, + 28: __ccgo_ts + 24814, } // C documentation @@ -166555,7 +168043,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i var p, v1 uintptr _, _, _, _ = extraFlags, p, rc, v1 if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) { - return _sqlite3MisuseError(tls, int32(180244)) + return _sqlite3MisuseError(tls, int32(181689)) } extraFlags = enc & (libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_INNOCUOUS) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)) enc &= libc.Int32FromInt32(SQLITE_FUNC_ENCMASK) | libc.Int32FromInt32(SQLITE_ANY) @@ -166598,7 +168086,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i p = _sqlite3FindFunction(tls, db, zFunctionName, nArg, uint8(enc), uint8(0)) if p != 0 && (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) == uint32(enc) && int32((*TFuncDef)(unsafe.Pointer(p)).FnArg) == nArg { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24788, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24911, 0) return int32(SQLITE_BUSY) } else { _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -166724,7 +168212,7 @@ func _sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotU zName = Xsqlite3_user_data(tls, context) _ = NotUsed _ = NotUsed2 - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24851, libc.VaList(bp+8, zName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24974, libc.VaList(bp+8, zName)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -166755,7 +168243,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i if rc != 0 { return SQLITE_OK } - zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, zName)) + zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, zName)) if zCopy == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -166999,7 +168487,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) { /* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint ** mode: */ - return _sqlite3MisuseError(tls, int32(180859)) + return _sqlite3MisuseError(tls, int32(182304)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if zDb != 0 && *(*int8)(unsafe.Pointer(zDb)) != 0 { @@ -167009,7 +168497,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in } if iDb < 0 { rc = int32(SQLITE_ERROR) - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24902, libc.VaList(bp+8, zDb)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+25025, libc.VaList(bp+8, zDb)) } else { (*Tsqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = _sqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -167131,7 +168619,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) { return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM)) } if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(180995))) + return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(182440))) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -167263,7 +168751,7 @@ var _misuse = [34]Tu16{ // */ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181074)) + return _sqlite3MisuseError(tls, int32(182519)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -167273,7 +168761,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181083)) + return _sqlite3MisuseError(tls, int32(182528)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -167322,7 +168810,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui enc2 = int32(SQLITE_UTF16LE) } if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) { - return _sqlite3MisuseError(tls, int32(181131)) + return _sqlite3MisuseError(tls, int32(182576)) } /* Check if this call is removing or replacing an existing collation ** sequence. If so, and there are active VMs, return busy. If there @@ -167331,7 +168819,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui pColl = _sqlite3FindCollSeq(tls, db, uint8(enc2), zName, 0) if pColl != 0 && (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24923, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+25046, 0) return int32(SQLITE_BUSY) } _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -167478,7 +168966,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u flags = *(*uint32)(unsafe.Pointer(pFlags)) zVfs = zDefaultVfs nUri = _sqlite3Strlen30(tls, zUri) - if (flags&uint32(SQLITE_OPEN_URI) != 0 || *(*Tu8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_sqlite3Config)) + 6)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24991, uint64(5)) == 0 { /* Input character index */ + if (flags&uint32(SQLITE_OPEN_URI) != 0 || *(*Tu8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_sqlite3Config)) + 6)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+25114, uint64(5)) == 0 { /* Input character index */ iOut = 0 /* Output character index */ nByte = uint64(nUri + int32(8)) /* Bytes of space to allocate */ /* Make sure the SQLITE_OPEN_URI flag is set to indicate to the VFS xOpen @@ -167508,8 +168996,8 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u for *(*int8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0 && int32(*(*int8)(unsafe.Pointer(zUri + uintptr(iIn)))) != int32('/') { iIn++ } - if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24997, zUri+7, uint64(9)) != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25007, libc.VaList(bp+8, iIn-int32(7), zUri+7)) + if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+25120, zUri+7, uint64(9)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25130, libc.VaList(bp+8, iIn-int32(7), zUri+7)) rc = int32(SQLITE_ERROR) goto parse_uri_out } @@ -167598,24 +169086,24 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u nOpt = _sqlite3Strlen30(tls, zOpt) zVal = zOpt + uintptr(nOpt+int32(1)) nVal = _sqlite3Strlen30(tls, zVal) - if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+25035, zOpt, uint64(3)) == 0 { + if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+25158, zOpt, uint64(3)) == 0 { zVfs = zVal } else { aMode = uintptr(0) zModeType = uintptr(0) mask = 0 limit = 0 - if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+25039, zOpt, uint64(5)) == 0 { + if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+25162, zOpt, uint64(5)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_SHAREDCACHE) | libc.Int32FromInt32(SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&_aCacheMode)) limit = mask - zModeType = __ccgo_ts + 25039 + zModeType = __ccgo_ts + 25162 } - if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+25060, zOpt, uint64(4)) == 0 { + if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+25183, zOpt, uint64(4)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_READONLY) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&_aOpenMode)) limit = int32(uint32(mask) & flags) - zModeType = __ccgo_ts + 3406 + zModeType = __ccgo_ts + 3470 } if aMode != 0 { mode = 0 @@ -167644,12 +169132,12 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u i++ } if mode == 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25075, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25198, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_ERROR) goto parse_uri_out } if mode & ^libc.Int32FromInt32(SQLITE_OPEN_MEMORY) > limit { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25095, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25218, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_PERM) goto parse_uri_out } @@ -167673,7 +169161,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u } *(*uintptr)(unsafe.Pointer(ppVfs)) = Xsqlite3_vfs_find(tls, zVfs) if *(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25119, libc.VaList(bp+8, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25242, libc.VaList(bp+8, zVfs)) rc = int32(SQLITE_ERROR) } goto parse_uri_out @@ -167693,11 +169181,11 @@ var _aCacheMode = [3]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 25045, + Fz: __ccgo_ts + 25168, Fmode: int32(SQLITE_OPEN_SHAREDCACHE), }, 1: { - Fz: __ccgo_ts + 25052, + Fz: __ccgo_ts + 25175, Fmode: int32(SQLITE_OPEN_PRIVATECACHE), }, 2: {}, @@ -167708,19 +169196,19 @@ var _aOpenMode = [5]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 25065, + Fz: __ccgo_ts + 25188, Fmode: int32(SQLITE_OPEN_READONLY), }, 1: { - Fz: __ccgo_ts + 25068, + Fz: __ccgo_ts + 25191, Fmode: int32(SQLITE_OPEN_READWRITE), }, 2: { - Fz: __ccgo_ts + 25071, + Fz: __ccgo_ts + 25194, Fmode: libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE), }, 3: { - Fz: __ccgo_ts + 18131, + Fz: __ccgo_ts + 18218, Fmode: int32(SQLITE_OPEN_MEMORY), }, 4: {}, @@ -167848,8 +169336,8 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16BE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+22746, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+25135, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+22891, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+25258, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto opendb_out } @@ -167870,7 +169358,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* READWRITE */ /* READWRITE | CREATE */ if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 { - rc = _sqlite3MisuseError(tls, int32(181803)) /* IMP: R-18321-05872 */ + rc = _sqlite3MisuseError(tls, int32(183248)) /* IMP: R-18321-05872 */ } else { rc = _sqlite3ParseUri(tls, zVfs, zFilename, bp, db, bp+8, bp+16) } @@ -167879,7 +169367,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _sqlite3OomFault(tls, db) } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { - v2 = __ccgo_ts + 3799 + v2 = __ccgo_ts + 3863 } else { v2 = uintptr(0) } @@ -167906,9 +169394,9 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* The default safety_level for the main database is FULL; for the temp ** database it is OFF. This matches the pager layer defaults. */ - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6933 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6997 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).Fsafety_level = uint8(libc.Int32FromInt32(SQLITE_DEFAULT_SYNCHRONOUS) + libc.Int32FromInt32(1)) - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 24137 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 24260 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).Fsafety_level = uint8(PAGER_SYNCHRONOUS_OFF) (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState = uint8(SQLITE_STATE_OPEN) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -168002,7 +169490,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) { return rc } if zFilename == uintptr(0) { - zFilename = __ccgo_ts + 25141 + zFilename = __ccgo_ts + 25264 } pVal = _sqlite3ValueNew(tls, uintptr(0)) _sqlite3ValueSetStr(tls, pVal, -int32(1), zFilename, uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(0)) @@ -168219,20 +169707,20 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) (r int32) { func _sqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, __ccgo_ts+25144, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) + Xsqlite3_log(tls, iErr, __ccgo_ts+25267, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) return iErr } func _sqlite3CorruptError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+25169) + return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+25292) } func _sqlite3MisuseError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+25189) + return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+25312) } func _sqlite3CantopenError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+25196) + return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+25319) } // C documentation @@ -168363,11 +169851,11 @@ error_out: } if SQLITE_OK == rc && !(pTab != 0) { _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+25213, libc.VaList(bp+16, zTableName, zColumnName)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+25336, libc.VaList(bp+16, zTableName, zColumnName)) rc = int32(SQLITE_ERROR) } if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - v3 = __ccgo_ts + 3799 + v3 = __ccgo_ts + 3863 } else { v3 = uintptr(0) } @@ -169391,7 +170879,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) (r int32) { var _ /* nOpt at bp+0 */ int32 _, _, _ = azCompileOpt, i, n azCompileOpt = _sqlite3CompileOptions(tls, bp) - if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+25241, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+25364, int32(7)) == 0 { zOptName += uintptr(7) } n = _sqlite3Strlen30(tls, zOptName) @@ -169609,7 +171097,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui } _leaveMutex(tls) if rc != 0 { - v2 = __ccgo_ts + 25249 + v2 = __ccgo_ts + 25372 } else { v2 = uintptr(0) } @@ -170489,23 +171977,23 @@ func _sqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { // ** string must correspond to the JSONB_* integer above. // */ var _jsonbType = [17]uintptr{ - 0: __ccgo_ts + 1636, - 1: __ccgo_ts + 8234, - 2: __ccgo_ts + 8239, - 3: __ccgo_ts + 6654, - 4: __ccgo_ts + 6654, - 5: __ccgo_ts + 6649, - 6: __ccgo_ts + 6649, - 7: __ccgo_ts + 8545, - 8: __ccgo_ts + 8545, - 9: __ccgo_ts + 8545, - 10: __ccgo_ts + 8545, - 11: __ccgo_ts + 25272, - 12: __ccgo_ts + 25278, - 13: __ccgo_ts + 1650, - 14: __ccgo_ts + 1650, - 15: __ccgo_ts + 1650, - 16: __ccgo_ts + 1650, + 0: __ccgo_ts + 1650, + 1: __ccgo_ts + 8359, + 2: __ccgo_ts + 8364, + 3: __ccgo_ts + 6718, + 4: __ccgo_ts + 6718, + 5: __ccgo_ts + 6713, + 6: __ccgo_ts + 6713, + 7: __ccgo_ts + 8670, + 8: __ccgo_ts + 8670, + 9: __ccgo_ts + 8670, + 10: __ccgo_ts + 8670, + 11: __ccgo_ts + 25395, + 12: __ccgo_ts + 25401, + 13: __ccgo_ts + 1664, + 14: __ccgo_ts + 1664, + 15: __ccgo_ts + 1664, + 16: __ccgo_ts + 1664, } // C documentation @@ -171268,6 +172756,38 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { _jsonAppendChar(tls, p, int8(',')) } +// C documentation +// +// /* c is a control character. Append the canonical JSON representation +// ** of that control character to p. +// ** +// ** This routine assumes that the output buffer has already been enlarged +// ** sufficiently to hold the worst-case encoding plus a nul terminator. +// */ +func _jsonAppendControlChar(tls *libc.TLS, p uintptr, c Tu8) { + if _aSpecial[c] != 0 { + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = int8('\\') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = _aSpecial[c] + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(2) + } else { + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = int8('\\') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = int8('u') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(2)))) = int8('0') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(3)))) = int8('0') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(4)))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25408 + uintptr(int32(c)>>int32(4)))) + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(5)))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25408 + uintptr(int32(c)&int32(0xf)))) + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(6) + } +} + +var _aSpecial = [32]int8{ + 8: int8('b'), + 9: int8('t'), + 10: int8('n'), + 12: int8('f'), + 13: int8('r'), +} + // C documentation // // /* Append the N-byte string in zIn to the end of the JsonString string @@ -171281,9 +172801,9 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { var c Tu8 var k Tu32 - var z, v10, v12, v14, v16, v18, v2, v20, v22, v24, v6, v8 uintptr - var v1, v11, v13, v15, v17, v19, v21, v23, v5, v7, v9 Tu64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v5, v6, v7, v8, v9 + var z, v10, v2, v4, v6, v8 uintptr + var v1, v3, v5, v7, v9 Tu64 + _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v2, v3, v4, v5, v6, v7, v8, v9 z = zIn if z == uintptr(0) { return @@ -171340,81 +172860,38 @@ func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { N -= k } c = *(*Tu8)(unsafe.Pointer(z)) - if !(int32(c) == int32('"') || int32(c) == int32('\\')) { - goto _3 - } - goto json_simple_escape - json_simple_escape: - ; - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { - return - } - v6 = p + 24 - v5 = *(*Tu64)(unsafe.Pointer(v6)) - *(*Tu64)(unsafe.Pointer(v6))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = int8('\\') - v8 = p + 24 - v7 = *(*Tu64)(unsafe.Pointer(v8)) - *(*Tu64)(unsafe.Pointer(v8))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = int8(c) - goto _4 - _3: - ; - if int32(c) == int32('\'') { - v10 = p + 24 - v9 = *(*Tu64)(unsafe.Pointer(v10)) - *(*Tu64)(unsafe.Pointer(v10))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = int8(c) - } else { - if _aSpecial[c] != 0 { - c = uint8(_aSpecial[c]) - goto json_simple_escape - } - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + if int32(c) == int32('"') || int32(c) == int32('\\') { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { return } - v12 = p + 24 - v11 = *(*Tu64)(unsafe.Pointer(v12)) - *(*Tu64)(unsafe.Pointer(v12))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v11))) = int8('\\') - v14 = p + 24 - v13 = *(*Tu64)(unsafe.Pointer(v14)) - *(*Tu64)(unsafe.Pointer(v14))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v13))) = int8('u') - v16 = p + 24 - v15 = *(*Tu64)(unsafe.Pointer(v16)) - *(*Tu64)(unsafe.Pointer(v16))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v15))) = int8('0') - v18 = p + 24 - v17 = *(*Tu64)(unsafe.Pointer(v18)) - *(*Tu64)(unsafe.Pointer(v18))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v17))) = int8('0') - v20 = p + 24 - v19 = *(*Tu64)(unsafe.Pointer(v20)) - *(*Tu64)(unsafe.Pointer(v20))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v19))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25285 + uintptr(int32(c)>>int32(4)))) - v22 = p + 24 - v21 = *(*Tu64)(unsafe.Pointer(v22)) - *(*Tu64)(unsafe.Pointer(v22))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v21))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25285 + uintptr(int32(c)&int32(0xf)))) + v4 = p + 24 + v3 = *(*Tu64)(unsafe.Pointer(v4)) + *(*Tu64)(unsafe.Pointer(v4))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v3))) = int8('\\') + v6 = p + 24 + v5 = *(*Tu64)(unsafe.Pointer(v6)) + *(*Tu64)(unsafe.Pointer(v6))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = int8(c) + } else { + if int32(c) == int32('\'') { + v8 = p + 24 + v7 = *(*Tu64)(unsafe.Pointer(v8)) + *(*Tu64)(unsafe.Pointer(v8))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = int8(c) + } else { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + return + } + _jsonAppendControlChar(tls, p, c) + } } - _4: - ; z++ N-- } - v24 = p + 24 - v23 = *(*Tu64)(unsafe.Pointer(v24)) - *(*Tu64)(unsafe.Pointer(v24))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v23))) = int8('"') -} - -var _aSpecial = [32]int8{ - 8: int8('b'), - 9: int8('t'), - 10: int8('n'), - 12: int8('f'), - 13: int8('r'), + v10 = p + 24 + v9 = *(*Tu64)(unsafe.Pointer(v10)) + *(*Tu64)(unsafe.Pointer(v10))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = int8('"') } // C documentation @@ -171432,9 +172909,9 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _, _, _, _ = n, n1, z, z1 switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_NULL): - _jsonAppendRawNZ(tls, p, __ccgo_ts+1636, uint32(4)) + _jsonAppendRawNZ(tls, p, __ccgo_ts+1650, uint32(4)) case int32(SQLITE_FLOAT): - _jsonPrintf(tls, int32(100), p, __ccgo_ts+15671, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) + _jsonPrintf(tls, int32(100), p, __ccgo_ts+15764, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) case int32(SQLITE_INTEGER): z = Xsqlite3_value_text(tls, pValue) n = uint32(Xsqlite3_value_bytes(tls, pValue)) @@ -171455,7 +172932,7 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _jsonTranslateBlobToText(tls, bp, uint32(0), p) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr) == 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25302, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25425, -int32(1)) (*TJsonString)(unsafe.Pointer(p)).FeErr = uint8(JSTRING_ERR) _jsonStringReset(tls, p) } @@ -171509,7 +172986,7 @@ func _jsonReturnString(tls *libc.TLS, p uintptr, pParse uintptr, ctx uintptr) { Xsqlite3_result_error_nomem(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr)&int32(JSTRING_MALFORMED) != 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25454, -int32(1)) } } } @@ -171792,8 +173269,8 @@ var _aNanInfName = [5]TNanInfName{ Fn: int8(3), FeType: int8(JSONB_FLOAT), FnRepl: int8(7), - FzMatch: __ccgo_ts + 25346, - FzRepl: __ccgo_ts + 25350, + FzMatch: __ccgo_ts + 25469, + FzRepl: __ccgo_ts + 25473, }, 1: { Fc1: int8('i'), @@ -171801,32 +173278,32 @@ var _aNanInfName = [5]TNanInfName{ Fn: int8(8), FeType: int8(JSONB_FLOAT), FnRepl: int8(7), - FzMatch: __ccgo_ts + 25358, - FzRepl: __ccgo_ts + 25350, + FzMatch: __ccgo_ts + 25481, + FzRepl: __ccgo_ts + 25473, }, 2: { Fc1: int8('n'), Fc2: int8('N'), Fn: int8(3), FnRepl: int8(4), - FzMatch: __ccgo_ts + 1641, - FzRepl: __ccgo_ts + 1636, + FzMatch: __ccgo_ts + 1655, + FzRepl: __ccgo_ts + 1650, }, 3: { Fc1: int8('q'), Fc2: int8('Q'), Fn: int8(4), FnRepl: int8(4), - FzMatch: __ccgo_ts + 25367, - FzRepl: __ccgo_ts + 1636, + FzMatch: __ccgo_ts + 25490, + FzRepl: __ccgo_ts + 1650, }, 4: { Fc1: int8('s'), Fc2: int8('S'), Fn: int8(4), FnRepl: int8(4), - FzMatch: __ccgo_ts + 25372, - FzRepl: __ccgo_ts + 1636, + FzMatch: __ccgo_ts + 25495, + FzRepl: __ccgo_ts + 1650, }, } @@ -171841,7 +173318,7 @@ func _jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25377, libc.VaList(bp+8, zFuncName)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25500, libc.VaList(bp+8, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) } @@ -172290,30 +173767,37 @@ func _jsonbValidityCheck(tls *libc.TLS, pParse uintptr, i Tu32, iEnd Tu32, iDept return j + uint32(1) } } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) <= int32(0x1f) { + /* Control characters in JSON5 string literals are ok */ + if int32(x) == int32(JSONB_TEXTJ) { + return j + uint32(1) + } } else { - if libc.Xstrchr(tls, __ccgo_ts+25420, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { - j++ + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { + return j + uint32(1) } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { - if j+uint32(5) >= k { - return j + uint32(1) - } - if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { - return j + uint32(1) - } + if libc.Xstrchr(tls, __ccgo_ts+25543, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { j++ } else { - if int32(x) != int32(JSONB_TEXT5) { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { + if j+uint32(5) >= k { + return j + uint32(1) + } + if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { + return j + uint32(1) + } + j++ } else { - *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) - szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) - if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + if int32(x) != int32(JSONB_TEXT5) { return j + uint32(1) + } else { + *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) + szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) + if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + return j + uint32(1) + } + j += szC - uint32(1) } - j += szC - uint32(1) } } } @@ -172740,9 +174224,14 @@ parse_string: } } else { if int32(c) <= int32(0x1f) { - /* Control characters are not allowed in strings */ - (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j - return -int32(1) + if int32(c) == 0 { + (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j + return -int32(1) + } + /* Control characters are not allowed in canonical JSON string + ** literals, but are allowed in JSON5 string literals. */ + opcode = uint8(JSONB_TEXT5) + (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) } else { if int32(c) == int32('"') { opcode = uint8(JSONB_TEXT5) @@ -172756,7 +174245,7 @@ parse_string: return int32(j + uint32(1)) _5: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8234, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8359, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_TRUE)) return int32(i + uint32(4)) } @@ -172764,7 +174253,7 @@ _5: return -int32(1) _6: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8239, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(5)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8364, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(5)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_FALSE)) return int32(i + uint32(5)) } @@ -172841,14 +174330,14 @@ parse_number: /* JSON5 allows for "+Infinity" and "-Infinity" using exactly ** that case. SQLite also allows these in any case and it allows ** "+inf" and "-inf". */ - if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+25346, int32(3)) == 0 { + if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+25469, int32(3)) == 0 { (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) if int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == int32('-') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25429) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25552) } else { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25436) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25559) } - if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25442, int32(5)) == 0 { + if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25565, int32(5)) == 0 { v48 = int32(9) } else { v48 = int32(4) @@ -173009,7 +174498,7 @@ _29: return -int32(1) _37: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1636, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1650, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) return int32(i + uint32(4)) } @@ -173033,7 +174522,7 @@ _38: goto _51 } if int32(_aNanInfName[k1].FeType) == int32(JSONB_FLOAT) { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25436) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25559) } else { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) } @@ -173078,7 +174567,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 i += _json5Whitespace(tls, zJson+uintptr(i)) if *(*int8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { if pCtx != 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25454, -int32(1)) } _jsonParseReset(tls, pParse) return int32(1) @@ -173091,7 +174580,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 if (*TJsonParse)(unsafe.Pointer(pParse)).Foom != 0 { Xsqlite3_result_error_nomem(tls, pCtx) } else { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25454, -int32(1)) } } _jsonParseReset(tls, pParse) @@ -173254,15 +174743,15 @@ func _jsonTranslateBlobToText(tls *libc.TLS, pParse uintptr, i Tu32, pOut uintpt goto _16 _2: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1636, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1650, uint32(4)) return i + uint32(1) _3: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8234, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8359, uint32(4)) return i + uint32(1) _4: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8239, uint32(5)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8364, uint32(5)) return i + uint32(1) _6: ; @@ -173311,9 +174800,9 @@ _7: k++ } if bOverflow != 0 { - v19 = __ccgo_ts + 25350 + v19 = __ccgo_ts + 25473 } else { - v19 = __ccgo_ts + 12101 + v19 = __ccgo_ts + 12226 } _jsonPrintf(tls, int32(100), pOut, v19, libc.VaList(bp+16, u)) goto _16 @@ -173361,7 +174850,7 @@ _11: for sz2 > uint32(0) { k2 = uint32(0) for { - if !(k2 < sz2 && int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('\\') && int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('"')) { + if !(k2 < sz2 && (_jsonIsOk[uint8(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2))))] != 0 || int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) == int32('\''))) { break } goto _21 @@ -173378,7 +174867,16 @@ _11: sz2 -= k2 } if int32(*(*int8)(unsafe.Pointer(zIn2))) == int32('"') { - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25448, uint32(2)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25571, uint32(2)) + zIn2++ + sz2-- + continue + } + if int32(*(*int8)(unsafe.Pointer(zIn2))) <= int32(0x1f) { + if (*TJsonString)(unsafe.Pointer(pOut)).FnUsed+uint64(7) > (*TJsonString)(unsafe.Pointer(pOut)).FnAlloc && _jsonStringGrow(tls, pOut, uint32(7)) != 0 { + break + } + _jsonAppendControlChar(tls, pOut, uint8(*(*int8)(unsafe.Pointer(zIn2)))) zIn2++ sz2-- continue @@ -173392,7 +174890,7 @@ _11: case int32('\''): _jsonAppendChar(tls, pOut, int8('\'')) case int32('v'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25451, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25574, uint32(6)) case int32('x'): if sz2 < uint32(4) { p23 = pOut + 33 @@ -173400,12 +174898,12 @@ _11: sz2 = uint32(2) break } - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25458, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25581, uint32(4)) _jsonAppendRawNZ(tls, pOut, zIn2+2, uint32(2)) zIn2 += uintptr(2) sz2 -= uint32(2) case int32('0'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25463, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25586, uint32(6)) case int32('\r'): if sz2 > uint32(2) && int32(*(*int8)(unsafe.Pointer(zIn2 + 2))) == int32('\n') { zIn2++ @@ -173494,6 +174992,140 @@ _16: return i + n + *(*Tu32)(unsafe.Pointer(bp)) } +// C documentation +// +// /* Context for recursion of json_pretty() +// */ +type TJsonPretty = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty = TJsonPretty + +type TJsonPretty1 = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty1 = TJsonPretty1 + +// C documentation +// +// /* Append indentation to the pretty JSON under construction */ +func _jsonPrettyIndent(tls *libc.TLS, pPretty uintptr) { + var jj Tu32 + _ = jj + jj = uint32(0) + for { + if !(jj < (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent) { + break + } + _jsonAppendRaw(tls, (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut, (*TJsonPretty)(unsafe.Pointer(pPretty)).FzIndent, (*TJsonPretty)(unsafe.Pointer(pPretty)).FszIndent) + goto _1 + _1: + ; + jj++ + } +} + +// C documentation +// +// /* +// ** Translate the binary JSONB representation of JSON beginning at +// ** pParse->aBlob[i] into a JSON text string. Append the JSON +// ** text onto the end of pOut. Return the index in pParse->aBlob[] +// ** of the first byte past the end of the element that is translated. +// ** +// ** This is a variant of jsonTranslateBlobToText() that "pretty-prints" +// ** the output. Extra whitespace is inserted to make the JSON easier +// ** for humans to read. +// ** +// ** If an error is detected in the BLOB input, the pOut->eErr flag +// ** might get set to JSTRING_MALFORMED. But not all BLOB input errors +// ** are detected. So a malformed JSONB input might either result +// ** in an error, or in incorrect JSON. +// ** +// ** The pOut->eErr JSTRING_OOM flag is set on a OOM. +// */ +func _jsonTranslateBlobToPrettyText(tls *libc.TLS, pPretty uintptr, i Tu32) (r Tu32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var iEnd, j, n Tu32 + var pOut, pParse, p1, p2 uintptr + var _ /* sz at bp+0 */ Tu32 + _, _, _, _, _, _, _ = iEnd, j, n, pOut, pParse, p1, p2 + pParse = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpParse + pOut = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut + n = _jsonbPayloadSize(tls, pParse, i, bp) + if n == uint32(0) { + p1 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + return (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob + uint32(1) + } + switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { + case int32(JSONB_ARRAY): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, int8('[')) + if j < iEnd { + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25593, uint32(2)) + } + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, int8(']')) + i = iEnd + case int32(JSONB_OBJECT): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, int8('{')) + if j < iEnd { + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToText(tls, pParse, j, pOut) + if j > iEnd { + p2 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p2)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p2))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25596, uint32(2)) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25593, uint32(2)) + } + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, int8('}')) + i = iEnd + default: + i = _jsonTranslateBlobToText(tls, pParse, i, pOut) + break + } + return i +} + // C documentation // // /* Return true if the input pJson @@ -174211,7 +175843,7 @@ func _jsonReturnFromBlob(tls *libc.TLS, pParse uintptr, i Tu32, pCtx uintptr, te db = Xsqlite3_context_db_handle(tls, pCtx) n = _jsonbPayloadSize(tls, pParse, i, bp) if n == uint32(0) { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25454, -int32(1)) return } switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { @@ -174447,7 +176079,7 @@ returnfromblob_oom: goto returnfromblob_malformed returnfromblob_malformed: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25454, -int32(1)) return } @@ -174488,7 +176120,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob = Xsqlite3_value_blob(tls, pArg) (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob = uint32(Xsqlite3_value_bytes(tls, pArg)) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25302, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25425, -int32(1)) return int32(1) } case int32(SQLITE_TEXT): @@ -174501,7 +176133,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FzJson = zJson (*TJsonParse)(unsafe.Pointer(pParse)).FnJson = nJson if _jsonConvertTextToBlob(tls, pParse, ctx) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) _sqlite3DbFree(tls, (*TJsonParse)(unsafe.Pointer(pParse)).Fdb, (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob) libc.X__builtin___memset_chk(tls, pParse, 0, uint64(72), libc.X__builtin_object_size(tls, pParse, 0)) return int32(1) @@ -174520,10 +176152,10 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin return int32(1) } if int32(*(*int8)(unsafe.Pointer(z))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25436) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25559) } else { if int32(*(*int8)(unsafe.Pointer(z))) == int32('-') && int32(*(*int8)(unsafe.Pointer(z + 1))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25429) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25552) } else { _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(n), z) } @@ -174562,7 +176194,7 @@ func _jsonBadPathError(tls *libc.TLS, ctx uintptr, zPath uintptr) (r uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25470, libc.VaList(bp+8, zPath)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25599, libc.VaList(bp+8, zPath)) if ctx == uintptr(0) { return zMsg } @@ -174659,7 +176291,7 @@ jsonInsertIntoBlob_patherror: ; _jsonParseFree(tls, p) if rc == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) } else { _jsonBadPathError(tls, ctx, zPath) } @@ -174841,7 +176473,7 @@ json_pfa_malformed: return p } else { _jsonParseFree(tls, p) - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) return uintptr(0) } goto json_pfa_oom @@ -174976,7 +176608,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if int32(*(*int8)(unsafe.Pointer(zPath))) == int32('$') { v1 = zPath + uintptr(1) } else { - v1 = __ccgo_ts + 25488 + v1 = __ccgo_ts + 25617 } i = _jsonLookupStep(tls, p, uint32(0), v1, uint32(0)) if i >= uint32(JSON_LOOKUP_PATHERROR) { @@ -174986,7 +176618,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) } } eErr = uint8(1) @@ -175004,25 +176636,6 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) _jsonParseFree(tls, p) } -// C documentation -// -// /* True if the string is all digits */ -func _jsonAllDigits(tls *libc.TLS, z uintptr, n int32) (r int32) { - var i int32 - _ = i - i = 0 - for { - if !(i < n && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&int32(0x04) != 0) { - break - } - goto _1 - _1: - ; - i++ - } - return libc.BoolInt32(i == n) -} - // C documentation // // /* True if the string is all alphanumerics and underscores */ @@ -175109,21 +176722,21 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { ** [NUMBER] ==> $[NUMBER] // Not PG. Purely for convenience */ _jsonStringInit(tls, bp, ctx) - if _jsonAllDigits(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25490, uint32(1)) + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) == int32(SQLITE_INTEGER) { + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25619, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+5509, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+5573, uint32(2)) } else { if _jsonAllAlphanum(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1663, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1677, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { if int32(*(*int8)(unsafe.Pointer(zPath))) == int32('[') && nPath >= int32(3) && int32(*(*int8)(unsafe.Pointer(zPath + uintptr(nPath-int32(1))))) == int32(']') { _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25492, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25621, uint32(2)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25495, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25624, uint32(1)) } } } @@ -175159,11 +176772,11 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { goto json_extract_error /* Return NULL if not found */ } else { _jsonAppendSeparator(tls, bp) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1636, uint32(4)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1650, uint32(4)) } } else { if j == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) goto json_extract_error } else { _jsonBadPathError(tls, ctx, zPath) @@ -175431,7 +177044,7 @@ func _jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == int32(JSON_MERGE_OOM) { Xsqlite3_result_error_nomem(tls, ctx) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) } } _jsonParseFree(tls, pPatch) @@ -175455,7 +177068,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { var _ /* jx at bp+0 */ TJsonString _, _, _ = i, n, z if argc&int32(1) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25497, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25626, -int32(1)) return } _jsonStringInit(tls, bp, ctx) @@ -175466,7 +177079,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { break } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != int32(SQLITE_TEXT) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25548, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25677, -int32(1)) _jsonStringReset(tls, bp) return } @@ -175538,7 +177151,7 @@ func _jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) } } goto json_remove_done @@ -175575,7 +177188,7 @@ func _jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { return } if argc&int32(1) == 0 { - _jsonWrongNumArgs(tls, ctx, __ccgo_ts+16144) + _jsonWrongNumArgs(tls, ctx, __ccgo_ts+16237) return } _jsonInsertIntoBlob(tls, ctx, argc, argv, int32(JEDIT_REPL)) @@ -175606,9 +177219,9 @@ func _jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { } if argc&int32(1) == 0 { if bIsSet != 0 { - v1 = __ccgo_ts + 25582 + v1 = __ccgo_ts + 25711 } else { - v1 = __ccgo_ts + 25586 + v1 = __ccgo_ts + 25715 } _jsonWrongNumArgs(tls, ctx, v1) return @@ -175656,7 +177269,7 @@ func _jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) } } goto json_type_done @@ -175671,6 +177284,48 @@ json_type_done: _jsonParseFree(tls, p) } +// C documentation +// +// /* +// ** json_pretty(JSON) +// ** json_pretty(JSON, INDENT) +// ** +// ** Return text that is a pretty-printed rendering of the input JSON. +// ** If the argument is not valid JSON, return NULL. +// ** +// ** The INDENT argument is text that is used for indentation. If omitted, +// ** it defaults to four spaces (the same as PostgreSQL). +// */ +func _jsonPrettyFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { + bp := tls.Alloc(176) + defer tls.Free(176) + var v1 uintptr + var v2 bool + var _ /* s at bp+0 */ TJsonString + var _ /* x at bp+136 */ TJsonPretty + _, _ = v1, v2 /* Pretty printing context */ + libc.X__builtin___memset_chk(tls, bp+136, 0, uint64(32), libc.X__builtin_object_size(tls, bp+136, 0)) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse = _jsonParseFuncArg(tls, ctx, *(*uintptr)(unsafe.Pointer(argv)), uint32(0)) + if (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse == uintptr(0) { + return + } + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpOut = bp + _jsonStringInit(tls, bp, ctx) + if v2 = argc == int32(1); !v2 { + v1 = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = v1 + } + if v2 || v1 == uintptr(0) { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = __ccgo_ts + 25722 + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(4) + } else { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(libc.Xstrlen(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent)) + } + _jsonTranslateBlobToPrettyText(tls, bp+136, uint32(0)) + _jsonReturnString(tls, bp, uintptr(0), uintptr(0)) + _jsonParseFree(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse) +} + // C documentation // // /* @@ -175745,7 +177400,7 @@ func _jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if argc == int32(2) { f = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if f < int64(1) || f > int64(15) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25593, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25727, -int32(1)) return } flags = uint8(f & int64(0x0f)) @@ -175936,7 +177591,7 @@ func _jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25650, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25784, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -176085,7 +177740,7 @@ func _jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25653, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25787, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -176188,7 +177843,7 @@ func _jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argv _ = argc _ = pAux - rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25656) + rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25790) if rc == SQLITE_OK { pNew = _sqlite3DbMallocZero(tls, db, uint64(32)) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -176322,7 +177977,7 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { var _ /* sz at bp+0 */ Tu32 _, _, _, _, _ = i, k, n, needQuote, z if int32((*TJsonEachCursor)(unsafe.Pointer(p)).FeType) == int32(JSONB_ARRAY) { - _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25739, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) + _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25873, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) } else { *(*Tu32)(unsafe.Pointer(bp)) = uint32(0) needQuote = 0 @@ -176348,9 +178003,9 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { } } if needQuote != 0 { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25746, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25880, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } else { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25754, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25888, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } } } @@ -176736,7 +178391,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a i = v5 (*TJsonEachCursor)(unsafe.Pointer(p)).FeType = uint8(0) (*TJsonEachCursor)(unsafe.Pointer(p)).FnRoot = uint32(1) - _jsonAppendRaw(tls, p+56, __ccgo_ts+25760, uint32(1)) + _jsonAppendRaw(tls, p+56, __ccgo_ts+25894, uint32(1)) } (*TJsonEachCursor)(unsafe.Pointer(p)).FnParent = uint32(0) n = _jsonbPayloadSize(tls, p+192, i, bp) @@ -176760,7 +178415,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a json_each_malformed_input: ; Xsqlite3_free(tls, (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg) - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25331, 0) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25454, 0) _jsonEachCursorReset(tls, p) if (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { v6 = int32(SQLITE_ERROR) @@ -176814,183 +178469,193 @@ func init() { // ** Register JSON functions. // */ func _sqlite3RegisterJsonFunctions(tls *libc.TLS) { - _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2304)/libc.Uint64FromInt64(72))) + _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2448)/libc.Uint64FromInt64(72))) } -var _aJsonFunc = [32]TFuncDef{ +var _aJsonFunc = [34]TFuncDef{ 0: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25762, + FzName: __ccgo_ts + 25896, }, 1: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25767, + FzName: __ccgo_ts + 25901, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25773, + FzName: __ccgo_ts + 25907, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25784, + FzName: __ccgo_ts + 25918, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25796, + FzName: __ccgo_ts + 25930, }, 5: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25796, + FzName: __ccgo_ts + 25930, }, 6: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25814, + FzName: __ccgo_ts + 25948, }, 7: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25834, + FzName: __ccgo_ts + 25968, }, 8: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25847, + FzName: __ccgo_ts + 25981, }, 9: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_JSON) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25861, + FzName: __ccgo_ts + 25995, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_SQL) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25864, + FzName: __ccgo_ts + 25998, }, 11: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25868, + FzName: __ccgo_ts + 26002, }, 12: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25880, + FzName: __ccgo_ts + 26014, }, 13: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25893, + FzName: __ccgo_ts + 26027, }, 14: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25905, + FzName: __ccgo_ts + 26039, }, 15: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25918, + FzName: __ccgo_ts + 26052, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25929, + FzName: __ccgo_ts + 26063, }, 17: { FnArg: int8(1), - FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25941, + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 26075, }, 18: { + FnArg: int8(2), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 26075, + }, + 19: { + FnArg: int8(1), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 26087, + }, + 20: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25952, + FzName: __ccgo_ts + 26098, }, - 19: { + 21: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25964, + FzName: __ccgo_ts + 26110, }, - 20: { + 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25977, + FzName: __ccgo_ts + 26123, }, - 21: { + 23: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25990, + FzName: __ccgo_ts + 26136, }, - 22: { + 24: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26004, + FzName: __ccgo_ts + 26150, }, - 23: { + 25: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26013, + FzName: __ccgo_ts + 26159, }, - 24: { + 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26023, + FzName: __ccgo_ts + 26169, }, - 25: { + 27: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26023, + FzName: __ccgo_ts + 26169, }, - 26: { + 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26033, + FzName: __ccgo_ts + 26179, }, - 27: { + 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26033, + FzName: __ccgo_ts + 26179, }, - 28: { + 30: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 26044, + FzName: __ccgo_ts + 26190, }, - 29: { + 31: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26061, + FzName: __ccgo_ts + 26207, }, - 30: { + 32: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 26079, + FzName: __ccgo_ts + 26225, }, - 31: { + 33: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26097, + FzName: __ccgo_ts + 26243, }, } @@ -177013,33 +178678,35 @@ func init() { *(*uintptr)(unsafe.Add(p, 1032)) = __ccgo_fp(_jsonObjectFunc) *(*uintptr)(unsafe.Add(p, 1104)) = __ccgo_fp(_jsonPatchFunc) *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonPatchFunc) - *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonQuoteFunc) - *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2048)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2056)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2064)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2120)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2128)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2136)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonQuoteFunc) + *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2208)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2280)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2328)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2336)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2344)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2352)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2400)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2408)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2416)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2424)) = __ccgo_fp(_jsonGroupInverse) } // C documentation @@ -177071,11 +178738,11 @@ var _aMod = [2]struct { FpModule uintptr }{ 0: { - FzName: __ccgo_ts + 26116, + FzName: __ccgo_ts + 26262, FpModule: uintptr(unsafe.Pointer(&_jsonEachModule)), }, 1: { - FzName: __ccgo_ts + 26126, + FzName: __ccgo_ts + 26272, FpModule: uintptr(unsafe.Pointer(&_jsonTreeModule)), }, } @@ -177722,7 +179389,7 @@ func _nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode Ti64, pParent uintptr, pp } } if (*TRtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) { - rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+26136, iNode, 0, pRtree+112) + rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+26282, iNode, 0, pRtree+112) } if rc != 0 { *(*uintptr)(unsafe.Pointer(ppNode)) = uintptr(0) @@ -178027,7 +179694,7 @@ func _rtreeDestroy(tls *libc.TLS, pVtab uintptr) (r int32) { var rc int32 _, _, _ = pRtree, rc, zCreate pRtree = pVtab - zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+26141, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+26287, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if !(zCreate != 0) { rc = int32(SQLITE_NOMEM) } else { @@ -178948,7 +180615,7 @@ func _findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid Ti64, ppLeaf uintptr, p func _deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) (r int32) { var pBlob, pInfo, pSrc uintptr _, _, _ = pBlob, pInfo, pSrc /* Callback information */ - pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+26223) + pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+26369) if pSrc == uintptr(0) { return int32(SQLITE_ERROR) } @@ -179003,7 +180670,7 @@ func _rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp iRowid = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) *(*Ti64)(unsafe.Pointer(bp + 24)) = 0 eType = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) == float64(iRowid) { + if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && 0 == _sqlite3IntFloatCompare(tls, iRowid, Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))) { rc = _findLeafNode(tls, pRtree, iRowid, bp+16, bp+24) } else { rc = SQLITE_OK @@ -180483,7 +182150,7 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) var _ /* pStmt at bp+0 */ uintptr _, _, _, _, _, _ = rc, zCol, zCol1, zCol2, zSql, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26237, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26383, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -int32(1), bp, uintptr(0)) } else { @@ -180493,11 +182160,11 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) if rc == SQLITE_OK { if iCol == 0 { zCol = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26257, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26403, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { zCol1 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol) zCol2 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol+int32(1)) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26289, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26435, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -180711,7 +182378,7 @@ func _rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) (r int32) { _, _, _ = pRtree, rc, zSql pRtree = pVtab rc = int32(SQLITE_NOMEM) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26326, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26472, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) if zSql != 0 { _nodeBlobReset(tls, pRtree) rc = Xsqlite3_exec(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -180765,9 +182432,9 @@ func _rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) (r int32) { var v2 int64 var _ /* p at bp+0 */ uintptr _, _, _, _, _, _ = nRow, rc, zFmt, zSql, v1, v2 - zFmt = __ccgo_ts + 26471 + zFmt = __ccgo_ts + 26617 nRow = int64(RTREE_MIN_ROWEST) - rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11930, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+12055, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == int32(SQLITE_ERROR) { @@ -180825,9 +182492,9 @@ func _rtreeShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName1 = [3]uintptr{ - 0: __ccgo_ts + 26527, - 1: __ccgo_ts + 5832, - 2: __ccgo_ts + 17045, + 0: __ccgo_ts + 26673, + 1: __ccgo_ts + 5896, + 2: __ccgo_ts + 17132, } var _rtreeModule = Tsqlite3_module{ @@ -180871,21 +182538,21 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref (*TRtree)(unsafe.Pointer(pRtree)).Fdb = db if isCreate != 0 { p = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26941, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+27087, libc.VaList(bp+8, zDb, zPrefix)) ii = 0 for { if !(ii < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+27003, libc.VaList(bp+8, ii)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+27149, libc.VaList(bp+8, ii)) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+27008, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+27072, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+27142, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+27154, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+27218, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+27288, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return int32(SQLITE_NOMEM) @@ -180915,7 +182582,7 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } else { /* An UPSERT is very slightly slower than REPLACE, but it is needed ** if there are auxiliary columns */ - zFormat = __ccgo_ts + 27191 + zFormat = __ccgo_ts + 27337 } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+8, zDb, zPrefix)) if zSql != 0 { @@ -180930,31 +182597,31 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref i++ } if (*TRtree)(unsafe.Pointer(pRtree)).FnAux != 0 && rc != int32(SQLITE_NOMEM) { - (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+27299, libc.VaList(bp+8, zDb, zPrefix)) + (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+27445, libc.VaList(bp+8, zDb, zPrefix)) if (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { p1 = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27344, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27490, libc.VaList(bp+8, zDb, zPrefix)) ii1 = 0 for { if !(ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } if ii1 != 0 { - Xsqlite3_str_append(tls, p1, __ccgo_ts+13438, int32(1)) + Xsqlite3_str_append(tls, p1, __ccgo_ts+13563, int32(1)) } if ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27371, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27517, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) } else { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27393, libc.VaList(bp+8, ii1, ii1+int32(2))) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27539, libc.VaList(bp+8, ii1, ii1+int32(2))) } goto _3 _3: ; ii1++ } - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27401, 0) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27547, 0) zSql1 = Xsqlite3_str_finish(tls, p1) if zSql1 == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -180968,14 +182635,14 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } var _azSql = [8]uintptr{ - 0: __ccgo_ts + 26532, - 1: __ccgo_ts + 26585, - 2: __ccgo_ts + 26630, - 3: __ccgo_ts + 26682, - 4: __ccgo_ts + 26736, - 5: __ccgo_ts + 26781, - 6: __ccgo_ts + 26839, - 7: __ccgo_ts + 26894, + 0: __ccgo_ts + 26678, + 1: __ccgo_ts + 26731, + 2: __ccgo_ts + 26776, + 3: __ccgo_ts + 26828, + 4: __ccgo_ts + 26882, + 5: __ccgo_ts + 26927, + 6: __ccgo_ts + 26985, + 7: __ccgo_ts + 27040, } // C documentation @@ -181033,7 +182700,7 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE _, _ = rc, zSql if isCreate != 0 { *(*int32)(unsafe.Pointer(bp)) = 0 - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27417, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27563, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) rc = _getIntFromStmt(tls, db, zSql, bp) if rc == SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp)) - int32(64) @@ -181041,17 +182708,17 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = int32(4) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*int32(RTREE_MAXCELLS) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27437, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27583, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) rc = _getIntFromStmt(tls, db, zSql, pRtree+32) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } else { if (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize < libc.Int32FromInt32(512)-libc.Int32FromInt32(64) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< libc.Int32FromInt32(RTREE_MAX_AUX_COLUMN)+libc.Int32FromInt32(3) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) return int32(SQLITE_ERROR) } Xsqlite3_vtab_config(tls, db, int32(SQLITE_VTAB_CONSTRAINT_SUPPORT), libc.VaList(bp+8, int32(1))) @@ -181128,13 +182795,13 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, 0)) libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, 0)) libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, 0)) - libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27680, uint64(6), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), 0)) + libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27826, uint64(6), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), 0)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27686, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27832, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = int32(4) for { if !(ii < argc) { @@ -181143,7 +182810,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt zArg = *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)) if int32(*(*int8)(unsafe.Pointer(zArg))) == int32('+') { (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27710, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27856, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) } else { if int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux) > 0 { break @@ -181157,19 +182824,19 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27737, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27883, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) } else { if ii < argc { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, aErrMsg[int32(4)])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, aErrMsg[int32(4)])) rc = int32(SQLITE_ERROR) } else { v3 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v3 if SQLITE_OK != v3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } } @@ -181192,7 +182859,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } } if iErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, aErrMsg[iErr])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, aErrMsg[iErr])) goto rtreeInit_fail } (*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell = uint8(int32(8) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnDim2)*int32(4)) @@ -181203,7 +182870,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -181219,8 +182886,8 @@ rtreeInit_fail: } var _azFormat = [2]uintptr{ - 0: __ccgo_ts + 27716, - 1: __ccgo_ts + 27727, + 0: __ccgo_ts + 27862, + 1: __ccgo_ts + 27873, } // C documentation @@ -181278,21 +182945,21 @@ func _rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { } _nodeGetCell(tls, bp+40, bp, ii, bp+1008) if ii > 0 { - Xsqlite3_str_append(tls, pOut, __ccgo_ts+11550, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+11675, int32(1)) } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27740, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27886, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) jj = 0 for { if !(jj < int32((*(*TRtree)(unsafe.Pointer(bp + 40))).FnDim2)) { break } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27746, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27892, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) goto _2 _2: ; jj++ } - Xsqlite3_str_append(tls, pOut, __ccgo_ts+27750, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+27896, int32(1)) goto _1 _1: ; @@ -181319,7 +182986,7 @@ func _rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { _ = zBlob _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != int32(SQLITE_BLOB) || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+27752, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+27898, -int32(1)) } else { zBlob = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -181437,11 +183104,11 @@ func _rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintpt (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } else { if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - v1 = __ccgo_ts + 4551 + v1 = __ccgo_ts + 4615 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27785, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27931, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } @@ -181475,7 +183142,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt _, _, _ = nNode, pNode, pRet pRet = uintptr(0) /* Return value */ if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) { - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27792, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27938, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { Xsqlite3_bind_int64(tls, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode, int32(1), iNode) @@ -181492,7 +183159,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt } _rtreeCheckReset(tls, pCheck, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27837, libc.VaList(bp+8, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27983, libc.VaList(bp+8, iNode)) } } return pRet @@ -181521,8 +183188,8 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i var rc int32 _, _, _, _, _, _ = azSql, ii, pStmt, rc, v1, v2 azSql = [2]uintptr{ - 0: __ccgo_ts + 27869, - 1: __ccgo_ts + 27923, + 0: __ccgo_ts + 28015, + 1: __ccgo_ts + 28069, } if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) = _rtreeCheckPrepare(tls, pCheck, azSql[bLeaf], libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) @@ -181535,21 +183202,21 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i rc = Xsqlite3_step(tls, pStmt) if rc == int32(SQLITE_DONE) { if bLeaf != 0 { - v1 = __ccgo_ts + 27971 + v1 = __ccgo_ts + 28117 } else { - v1 = __ccgo_ts + 27979 + v1 = __ccgo_ts + 28125 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27988, libc.VaList(bp+8, iKey, iVal, v1)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28134, libc.VaList(bp+8, iKey, iVal, v1)) } else { if rc == int32(SQLITE_ROW) { ii = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { if bLeaf != 0 { - v2 = __ccgo_ts + 27971 + v2 = __ccgo_ts + 28117 } else { - v2 = __ccgo_ts + 27979 + v2 = __ccgo_ts + 28125 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28033, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28179, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) } } } @@ -181594,7 +183261,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 v2 = libc.BoolInt32(*(*TRtreeValue)(unsafe.Pointer(bp)) > *(*TRtreeValue)(unsafe.Pointer(bp + 4))) } if v2 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28091, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28237, libc.VaList(bp+24, i, iCell, iNode)) } if pParent != 0 { _readCoord(tls, pParent+uintptr(libc.Int32FromInt32(4)*libc.Int32FromInt32(2)*i), bp+8) @@ -181612,7 +183279,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 } } if v5 || v4 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28139, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28285, libc.VaList(bp+24, i, iCell, iNode)) } } goto _1 @@ -181645,19 +183312,19 @@ func _rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintpt aNode = _rtreeCheckGetNode(tls, pCheck, iNode, bp) if aNode != 0 { if *(*int32)(unsafe.Pointer(bp)) < int32(4) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28206, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28352, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) } else { /* Used to iterate through cells */ if aParent == uintptr(0) { iDepth = _readInt16(tls, aNode) if iDepth > int32(RTREE_MAX_DEPTH) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28240, libc.VaList(bp+16, iDepth)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28386, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = _readInt16(tls, aNode+2) if int32(4)+nCell*(int32(8)+(*TRtreeCheck)(unsafe.Pointer(pCheck)).FnDim*int32(2)*int32(4)) > *(*int32)(unsafe.Pointer(bp)) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28270, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28416, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) } else { i = 0 for { @@ -181702,12 +183369,12 @@ func _rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect Ti64) var pCount uintptr _, _ = nActual, pCount if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { - pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28325, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) + pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28471, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) if pCount != 0 { if Xsqlite3_step(tls, pCount) == int32(SQLITE_ROW) { nActual = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28356, libc.VaList(bp+8, zTbl, nExpect, nActual)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28502, libc.VaList(bp+8, zTbl, nExpect, nActual)) } } (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -181736,7 +183403,7 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzDb = zDb (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzTab = zTab /* Find the number of auxiliary columns */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28423, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28569, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { nAux = Xsqlite3_column_count(tls, pStmt) - int32(2) Xsqlite3_finalize(tls, pStmt) @@ -181746,11 +183413,11 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe } } /* Find number of dimensions in the rtree table. */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+26237, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+26383, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim = (Xsqlite3_column_count(tls, pStmt) - int32(1) - nAux) / int32(2) if (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim < int32(1) { - _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28451, 0) + _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28597, 0) } else { if int32(SQLITE_ROW) == Xsqlite3_step(tls, pStmt) { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FbInt = libc.BoolInt32(Xsqlite3_column_type(tls, pStmt, int32(1)) == int32(SQLITE_INTEGER)) @@ -181766,8 +183433,8 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe if (*(*TRtreeCheck)(unsafe.Pointer(bp))).Frc == SQLITE_OK { _rtreeCheckNode(tls, bp, 0, uintptr(0), int64(1)) } - _rtreeCheckCount(tls, bp, __ccgo_ts+28482, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) - _rtreeCheckCount(tls, bp, __ccgo_ts+28489, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28628, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28635, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) } /* Finalize SQL statements used by the integrity-check */ Xsqlite3_finalize(tls, (*(*TRtreeCheck)(unsafe.Pointer(bp))).FpGetNode) @@ -181794,7 +183461,7 @@ func _rtreeIntegrity(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zName uintpt _ = isQuick rc = _rtreeCheckTable(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, pzErr) if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28497, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28643, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) if *(*uintptr)(unsafe.Pointer(pzErr)) == uintptr(0) { rc = int32(SQLITE_NOMEM) } @@ -181845,13 +183512,13 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { var _ /* zReport at bp+0 */ uintptr _, _, _, _ = rc, zDb, zTab, v1 if nArg != int32(1) && nArg != int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+28516, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+28662, -int32(1)) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zDb = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg))) if nArg == int32(1) { zTab = zDb - zDb = __ccgo_ts + 6933 + zDb = __ccgo_ts + 6997 } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -181860,7 +183527,7 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { if *(*uintptr)(unsafe.Pointer(bp)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(bp)) } else { - v1 = __ccgo_ts + 18858 + v1 = __ccgo_ts + 18945 } Xsqlite3_result_text(tls, ctx, v1, -int32(1), uintptr(-libc.Int32FromInt32(1))) } else { @@ -182327,19 +183994,19 @@ func _geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) if p != 0 { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) - Xsqlite3_str_append(tls, x, __ccgo_ts+25490, int32(1)) + Xsqlite3_str_append(tls, x, __ccgo_ts+25619, int32(1)) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28567, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28713, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28578, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28724, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -182368,20 +184035,20 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) cSep = int8('\'') - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28589, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28735, 0) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28607, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28753, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) cSep = int8(' ') goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28615, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28761, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) i = int32(1) for { if !(i < argc) { @@ -182389,14 +184056,14 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 { - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28623, libc.VaList(bp+8, z)) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28769, libc.VaList(bp+8, z)) } goto _2 _2: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28627, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28773, 0) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -183525,13 +185192,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, 0)) libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, 0)) libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, 0)) - libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27680, uint64(6), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), 0)) + libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27826, uint64(6), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), 0)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28640, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28786, 0) (*TRtree)(unsafe.Pointer(pRtree)).FnAux = uint8(1) /* Add one for _shape */ (*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = uint8(1) /* The _shape column is always not-null */ ii = int32(3) @@ -183540,13 +185207,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint break } (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28662, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28808, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27737, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27883, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) @@ -183554,7 +185221,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint v2 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v2 if SQLITE_OK != v2 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } Xsqlite3_free(tls, zSql) @@ -183569,7 +185236,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -183781,7 +185448,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iRowidTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(1) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 17045 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 17132 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).Fomit = uint8(1) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(30) @@ -183791,7 +185458,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iFuncTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28666 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28812 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).Fomit = uint8(0) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(300) @@ -183799,7 +185466,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { return SQLITE_OK } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(4) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28672 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28818 (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(3e+06) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -183919,7 +185586,7 @@ func _geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pR _geopolyBBox(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(aData + 2*8)), bp+8+8, bp) if *(*int32)(unsafe.Pointer(bp)) != 0 { if *(*int32)(unsafe.Pointer(bp)) == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28681, 0) + (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28827, 0) } goto geopoly_update_end } @@ -184022,12 +185689,12 @@ geopoly_update_end: func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) { _ = pVtab _ = nArg - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28721) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28867) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION) } - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28737) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28883) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1) @@ -184098,7 +185765,7 @@ func _sqlite3_geopoly_init(tls *libc.TLS, db uintptr) (r int32) { i++ } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28914, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+29060, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -184112,61 +185779,61 @@ var _aFunc = [12]struct { 0: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28752, + FzName: __ccgo_ts + 28898, }, 1: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28765, + FzName: __ccgo_ts + 28911, }, 2: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28778, + FzName: __ccgo_ts + 28924, }, 3: { FnArg: int8(-int32(1)), FbPure: uint8(1), - FzName: __ccgo_ts + 28791, + FzName: __ccgo_ts + 28937, }, 4: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28737, + FzName: __ccgo_ts + 28883, }, 5: { FnArg: int8(3), FbPure: uint8(1), - FzName: __ccgo_ts + 28803, + FzName: __ccgo_ts + 28949, }, 6: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28721, + FzName: __ccgo_ts + 28867, }, 7: { FnArg: int8(1), - FzName: __ccgo_ts + 28826, + FzName: __ccgo_ts + 28972, }, 8: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28840, + FzName: __ccgo_ts + 28986, }, 9: { FnArg: int8(7), FbPure: uint8(1), - FzName: __ccgo_ts + 28853, + FzName: __ccgo_ts + 28999, }, 10: { FnArg: int8(4), FbPure: uint8(1), - FzName: __ccgo_ts + 28867, + FzName: __ccgo_ts + 29013, }, 11: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28883, + FzName: __ccgo_ts + 29029, }, } @@ -184192,7 +185859,7 @@ var _aAgg = [1]struct { FzName uintptr }{ 0: { - FzName: __ccgo_ts + 28895, + FzName: __ccgo_ts + 29041, }, } @@ -184217,20 +185884,20 @@ func _sqlite3RtreeInit(tls *libc.TLS, db uintptr) (r int32) { var rc, utf8 int32 _, _, _, _ = c, c1, rc, utf8 utf8 = int32(SQLITE_UTF8) - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28922, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+29068, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28932, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+29078, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28943, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+29089, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { c = libc.UintptrFromInt32(RTREE_COORD_REAL32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28666, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28812, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { c1 = libc.UintptrFromInt32(RTREE_COORD_INT32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28954, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+29100, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) } if rc == SQLITE_OK { rc = _sqlite3_geopoly_init(tls, db) @@ -184332,7 +185999,7 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { Xsqlite3_result_error_nomem(tls, ctx) _rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+26223, __ccgo_fp(_rtreeMatchArgFree)) + Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+26369, __ccgo_fp(_rtreeMatchArgFree)) } } } @@ -185549,7 +187216,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt /* Figure out the size of the output */ nOut = _rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+28964, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+29110, -int32(1)) return } aOut = Xsqlite3_malloc(tls, nOut+int32(1)) @@ -185559,7 +187226,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt nOut2 = _rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut) if nOut2 != nOut { Xsqlite3_free(tls, aOut) - Xsqlite3_result_error(tls, context, __ccgo_ts+28964, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+29110, -int32(1)) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, __ccgo_fp(Xsqlite3_free)) } @@ -185585,7 +187252,7 @@ func _prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg _ = rc rc = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -185608,7 +187275,7 @@ func _resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) (r in _ = rc rc = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -185740,7 +187407,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { /* Free any SQLite statements used while processing the previous object */ _rbuObjIterClearStatements(tls, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28985, uintptr(0), uintptr(0), p+64) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+29131, uintptr(0), uintptr(0), p+64) } if rc == SQLITE_OK { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 { @@ -185750,6 +187417,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { if rc != int32(SQLITE_ROW) { rc = _resetAndCollectError(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, p+64) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = uintptr(0) + (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = uintptr(0) } else { (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, 0) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, int32(1)) @@ -185828,7 +187496,7 @@ func _rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { Xsqlite3_result_text(tls, pCtx, zIn, -int32(1), libc.UintptrFromInt32(0)) } } else { - if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+26136, zIn, uint64(4)) == 0 { + if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+26282, zIn, uint64(4)) == 0 { i = int32(4) for { if !(int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= int32('9')) { @@ -185865,13 +187533,13 @@ func _rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { _, _ = rc, v1 libc.X__builtin___memset_chk(tls, pIter, 0, uint64(192), libc.X__builtin_object_size(tls, pIter, 0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 29156 + v1 = __ccgo_ts + 29302 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29197, libc.VaList(bp+8, v1))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29343, libc.VaList(bp+8, v1))) if rc == SQLITE_OK { - rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+29347) + rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+29493) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = int32(1) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -186038,7 +187706,7 @@ func _rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { rc = Xsqlite3_finalize(tls, pStmt) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && rc != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } @@ -186099,7 +187767,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu *(*[4]uintptr)(unsafe.Pointer(bp)) = [4]uintptr{} *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29472, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29618, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0]) != int32(SQLITE_ROW) { /* Either an error, or no such table. */ goto rbuTableType_end @@ -186109,7 +187777,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0], int32(1)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29591, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29737, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { goto rbuTableType_end } @@ -186117,7 +187785,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu zOrig = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(3)) zIdx = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(1)) if zOrig != 0 && zIdx != 0 && int32(*(*Tu8)(unsafe.Pointer(zOrig))) == int32('p') { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29612, libc.VaList(bp+40, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29758, libc.VaList(bp+40, zIdx))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)]) == int32(SQLITE_ROW) { *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)], 0) @@ -186129,7 +187797,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29663, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29809, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { for Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)]) == int32(SQLITE_ROW) { if Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)], int32(5)) > 0 { @@ -186173,7 +187841,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { bIndex = 0 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.X__builtin___memcpy_chk(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol), libc.X__builtin_object_size(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29684, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29830, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -186186,7 +187854,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { if bPartial != 0 { libc.X__builtin___memset_chk(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, int32(0x01), uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol), libc.X__builtin_object_size(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0)) } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29712, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29858, libc.VaList(bp+24, zIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) if iCid >= 0 { @@ -186239,7 +187907,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 _rbuTableType(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+8, pIter+108) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+20299, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+20431, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc @@ -186250,7 +187918,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 /* Populate the azTblCol[] and nTblCol variables based on the columns ** of the input table. Ignore any input table columns that begin with ** "rbu_". */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29741, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29887, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp))) _rbuAllocateIterArrays(tls, p, pIter, nCol) @@ -186261,7 +187929,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 break } zName = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), i) - if Xsqlite3_strnicmp(tls, __ccgo_ts+29760, zName, int32(4)) != 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+29906, zName, int32(4)) != 0 { zCopy = _rbuStrndup(tls, zName, p+56) *(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol v3 = pIter + 16 @@ -186269,7 +187937,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 *(*int32)(unsafe.Pointer(v3))++ *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(v2)*8)) = zCopy } else { - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29765, zName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29911, zName) { bRbuRowid = int32(1) } } @@ -186283,17 +187951,17 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && bRbuRowid != libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) if bRbuRowid != 0 { - v4 = __ccgo_ts + 29775 + v4 = __ccgo_ts + 29921 } else { - v4 = __ccgo_ts + 29788 + v4 = __ccgo_ts + 29934 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29797, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29943, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) } /* Check that all non-HIDDEN columns in the destination table are also ** present in the input table. Populate the abTblPk[], azTblType[] and ** aiTblOrder[] arrays at the same time. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29826, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29972, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zName1 = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -186315,7 +187983,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 } if i == (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29848, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29994, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) } else { iPk = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) bNotNull = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) @@ -186354,15 +188022,15 @@ func _rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) var z, zList, zSep uintptr _, _, _, _ = i, z, zList, zSep zList = uintptr(0) - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } z = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+29875, libc.VaList(bp+8, zList, zSep, z)) - zSep = __ccgo_ts + 15338 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30021, libc.VaList(bp+8, zList, zSep, z)) + zSep = __ccgo_ts + 15431 goto _1 _1: ; @@ -186387,7 +188055,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, _, _, _, _, _ = i, iPk, zCol, zRet, zSep iPk = int32(1) zRet = uintptr(0) - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 for int32(1) != 0 { i = 0 for { @@ -186396,7 +188064,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, } if int32(*(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29884, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+30030, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -186444,21 +188112,21 @@ func _rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zRet = uintptr(0) if bRowid != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29897, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30043, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iMax = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29929, libc.VaList(bp+16, iMax)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+30075, libc.VaList(bp+16, iMax)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1650, __ccgo_ts+15338, __ccgo_ts+29952) - zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29958, __ccgo_ts+29965, __ccgo_ts+5454) - zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1650, __ccgo_ts+15338, __ccgo_ts+1650) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1664, __ccgo_ts+15431, __ccgo_ts+30098) + zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+30104, __ccgo_ts+30111, __ccgo_ts+5518) + zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1664, __ccgo_ts+15431, __ccgo_ts+1664) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29973, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30119, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zVal = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+30015, libc.VaList(bp+16, zList, zVal)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+30161, libc.VaList(bp+16, zList, zVal)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } @@ -186507,10 +188175,10 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 iCol = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29712, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29858, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(4)) @@ -186532,15 +188200,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { - zCol = __ccgo_ts + 30035 + zCol = __ccgo_ts + 30181 } } else { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) } - zLhs = _rbuMPrintf(tls, p, __ccgo_ts+30043, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+30064, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = _rbuMPrintf(tls, p, __ccgo_ts+30100, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) - zSep = __ccgo_ts + 15338 + zLhs = _rbuMPrintf(tls, p, __ccgo_ts+30189, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+30210, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) + zSelect = _rbuMPrintf(tls, p, __ccgo_ts+30246, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) + zSep = __ccgo_ts + 15431 iCol++ } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) @@ -186549,9 +188217,9 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30127, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30273, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 iCol = 0 for { if !(iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -186566,15 +188234,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { break } } - zVector = _rbuMPrintf(tls, p, __ccgo_ts+30175, libc.VaList(bp+24, zVector, zSep, zQuoted)) - zSep = __ccgo_ts + 15338 + zVector = _rbuMPrintf(tls, p, __ccgo_ts+30321, libc.VaList(bp+24, zVector, zSep, zQuoted)) + zSep = __ccgo_ts + 15431 goto _2 _2: ; iCol++ } if !(bFailed != 0) { - zRet = _rbuMPrintf(tls, p, __ccgo_ts+30182, libc.VaList(bp+24, zLhs, zVector)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+30328, libc.VaList(bp+24, zLhs, zVector)) } } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -186628,11 +188296,11 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zImpPK = uintptr(0) /* String to return via *pzImposterPK */ zWhere = uintptr(0) /* String to return via *pzWhere */ nBind = 0 /* Value to return via *pnBind */ - zCom = __ccgo_ts + 1650 /* Set to ", " later on */ - zAnd = __ccgo_ts + 1650 /* Set to " AND " later on */ + zCom = __ccgo_ts + 1664 /* Set to ", " later on */ + zAnd = __ccgo_ts + 1664 /* Set to " AND " later on */ *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_xinfo = ? */ if rc == SQLITE_OK { - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29712, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29858, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -186641,8 +188309,8 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = uintptr(0) if iCid == -int32(2) { iSeq = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+30194, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) - zType = __ccgo_ts + 1650 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+30340, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) + zType = __ccgo_ts + 1664 } else { if iCid < 0 { /* An integer primary key. If the table has an explicit IPK, use @@ -186661,9 +188329,9 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - zCol = __ccgo_ts + 30035 + zCol = __ccgo_ts + 30181 } else { - zCol = __ccgo_ts + 29765 + zCol = __ccgo_ts + 29911 } } zType = __ccgo_ts + 1138 @@ -186671,24 +188339,24 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) zType = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)) } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+30216, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+30362, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) } if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) != 0 { if bDesc != 0 { - v2 = __ccgo_ts + 29952 + v2 = __ccgo_ts + 30098 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } zOrder = v2 - zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+30236, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) + zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+30382, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+30257, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) - zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+30290, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) + zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+30403, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) + zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+30436, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) { rc = int32(SQLITE_NOMEM) } - zCom = __ccgo_ts + 15338 - zAnd = __ccgo_ts + 22408 + zCom = __ccgo_ts + 15431 + zAnd = __ccgo_ts + 22553 nBind++ } rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -186734,7 +188402,7 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr _, _, _, _ = i, zCol, zList, zS zList = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zS = __ccgo_ts + 1650 + zS = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -186742,11 +188410,11 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = Xsqlite3_mprintf(tls, __ccgo_ts+30314, libc.VaList(bp+8, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30460, libc.VaList(bp+8, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, __ccgo_ts+30326, libc.VaList(bp+8, zList, zS)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30472, libc.VaList(bp+8, zList, zS)) } - zS = __ccgo_ts + 15338 + zS = __ccgo_ts + 15431 if zList == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) break @@ -186758,7 +188426,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 (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30335, libc.VaList(bp+8, zList, zObj)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30481, libc.VaList(bp+8, zList, zObj)) } } return zList @@ -186784,27 +188452,27 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _ = i, i1, zCol, zList, zSep, zSep1 zList = uintptr(0) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30350, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30496, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30364, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) - zSep = __ccgo_ts + 22408 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30510, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) + zSep = __ccgo_ts + 22553 } goto _1 _1: ; i++ } - zList = _rbuMPrintf(tls, p, __ccgo_ts+30376, libc.VaList(bp+8, zList)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30522, libc.VaList(bp+8, zList)) } else { - zSep1 = __ccgo_ts + 1650 + zSep1 = __ccgo_ts + 1664 i1 = 0 for { if !(i1 < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -186812,8 +188480,8 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i1))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i1)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+30426, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) - zSep1 = __ccgo_ts + 22408 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30572, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) + zSep1 = __ccgo_ts + 22553 } goto _2 _2: @@ -186836,7 +188504,7 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { // */ func _rbuBadControlError(tls *libc.TLS, p uintptr) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30439, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30585, 0) } // C documentation @@ -186870,7 +188538,7 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt if int32(libc.Xstrlen(tls, zMask)) != (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { _rbuBadControlError(tls, p) } else { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -186878,16 +188546,16 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt } c = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) if int32(c) == int32('x') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30426, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 15338 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30572, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15431 } else { if int32(c) == int32('d') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30465, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 15338 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30611, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15431 } else { if int32(c) == int32('f') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30495, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 15338 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30641, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15431 } } } @@ -186971,16 +188639,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _, _ = z, zCol, zDesc, zIdx, zOrig, zSep, v1 z = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zSep = __ccgo_ts + 30532 + zSep = __ccgo_ts + 30678 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_list = (pIter->zTbl) */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA index_xinfo = */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29684, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29830, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) - if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16933) == 0 { + if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+17020) == 0 { zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29712, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29858, libc.VaList(bp+24, zIdx))) } break } @@ -186991,16 +188659,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { /* int iCid = sqlite3_column_int(pXInfo, 0); */ zCol = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(2)) if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) != 0 { - v1 = __ccgo_ts + 29952 + v1 = __ccgo_ts + 30098 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } zDesc = v1 - z = _rbuMPrintf(tls, p, __ccgo_ts+30545, libc.VaList(bp+24, z, zSep, zCol, zDesc)) - zSep = __ccgo_ts + 15338 + z = _rbuMPrintf(tls, p, __ccgo_ts+30691, libc.VaList(bp+24, z, zSep, zCol, zDesc)) + zSep = __ccgo_ts + 15431 } } - z = _rbuMPrintf(tls, p, __ccgo_ts+30556, libc.VaList(bp+24, z)) + z = _rbuMPrintf(tls, p, __ccgo_ts+30702, libc.VaList(bp+24, z)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) } return z @@ -187040,13 +188708,13 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* SELECT name ... WHERE rootpage = $tnum */ zIdx = uintptr(0) /* Name of PK index */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA main.index_xinfo = $zIdx */ - zComma = __ccgo_ts + 1650 + zComma = __ccgo_ts + 1664 zCols = uintptr(0) /* Used to build up list of table cols */ zPk = uintptr(0) /* Used to build up table PK declaration */ /* 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. */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30560) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30706) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), tnum) if int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -187054,7 +188722,7 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { } } if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29712, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29858, libc.VaList(bp+24, zIdx))) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { @@ -187063,21 +188731,21 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) bDesc = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(4)) - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30610, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30756, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) if bDesc != 0 { - v1 = __ccgo_ts + 29952 + v1 = __ccgo_ts + 30098 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - zPk = _rbuMPrintf(tls, p, __ccgo_ts+30632, libc.VaList(bp+24, zPk, zComma, iCid, v1)) - zComma = __ccgo_ts + 15338 + zPk = _rbuMPrintf(tls, p, __ccgo_ts+30778, libc.VaList(bp+24, zPk, zComma, iCid, v1)) + zComma = __ccgo_ts + 15431 } } - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30642, libc.VaList(bp+24, zCols)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30788, libc.VaList(bp+24, zCols)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30657, libc.VaList(bp+24, zCols, zPk)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30803, libc.VaList(bp+24, zCols, zPk)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, 0, 0)) } } @@ -187112,30 +188780,30 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { _, _, _, _, _, _, _, _, _ = iCol, tnum, zCol, zComma, zPk, zPk1, zSql, v2, v3 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { tnum = (*TRbuObjIter)(unsafe.Pointer(pIter)).FiTnum - zComma = __ccgo_ts + 1650 + zComma = __ccgo_ts + 1664 zSql = uintptr(0) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, 0, int32(1))) iCol = 0 for { if !((*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } - zPk = __ccgo_ts + 1650 + zPk = __ccgo_ts + 1664 zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_IPK) && *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 { /* If the target table column is an "INTEGER PRIMARY KEY", add ** "PRIMARY KEY" to the imposter table column declaration. */ - zPk = __ccgo_ts + 30719 + zPk = __ccgo_ts + 30865 } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - v2 = __ccgo_ts + 30732 + v2 = __ccgo_ts + 30878 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30742, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) - zComma = __ccgo_ts + 15338 + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30888, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) + zComma = __ccgo_ts + 15431 goto _1 _1: ; @@ -187144,17 +188812,17 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { zPk1 = _rbuWithoutRowidPK(tls, p, pIter) if zPk1 != 0 { - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30769, libc.VaList(bp+16, zSql, zPk1)) + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30915, libc.VaList(bp+16, zSql, zPk1)) } } - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, int32(1), tnum)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, int32(1), tnum)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { - v3 = __ccgo_ts + 30776 + v3 = __ccgo_ts + 30922 } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30791, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, 0, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30937, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, 0, 0)) } } @@ -187180,7 +188848,7 @@ func _rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zColli bRbuRowid = libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) zBind = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1)+bRbuRowid) if zBind != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30823, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30969, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -187226,7 +188894,7 @@ func _rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintpt *(*int32)(unsafe.Pointer(bp + 8)) = (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc zRet = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30880) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+31026) } if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx, -int32(1), libc.UintptrFromInt32(0)) @@ -187395,7 +189063,7 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zIdx = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx zLimit = uintptr(0) if nOffset != 0 { - zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30946, libc.VaList(bp+40, nOffset)) + zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+31092, libc.VaList(bp+40, nOffset)) if !(zLimit != 0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) } @@ -187412,18 +189080,18 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zCollist = _rbuObjIterGetIndexCols(tls, p, pIter, bp, bp+8, bp+16, bp+24) zBind = _rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 24))) /* Create the imposter table used to write to this index. */ - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, 0, int32(1))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30966, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31112, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, 0, 0)) /* Create the statement to insert index entries */ (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 24)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31031, libc.VaList(bp+40, zTbl, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31177, libc.VaList(bp+40, zTbl, zBind))) } /* And to delete index entries */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31067, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31213, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) } /* Create the SELECT statement to read keys in sorted order */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -187438,26 +189106,26 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } if zStart != 0 { if zPart != 0 { - v2 = __ccgo_ts + 31101 + v2 = __ccgo_ts + 31247 } else { - v2 = __ccgo_ts + 31105 + v2 = __ccgo_ts + 31251 } v1 = v2 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+31111, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+31257, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) Xsqlite3_free(tls, zStart) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+31172, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+31318, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { if zPart != 0 { - v3 = __ccgo_ts + 31101 + v3 = __ccgo_ts + 31247 } else { - v3 = __ccgo_ts + 31105 + v3 = __ccgo_ts + 31251 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+31233, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+31379, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -187476,62 +189144,62 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zTbl1 = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl /* Imposter table name */ zBindings = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+bRbuRowid) zWhere1 = _rbuObjIterGetWhere(tls, p, pIter) - zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6944) - zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6940) + zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+7008) + zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+7004) zCollist = _rbuObjIterGetCollist(tls, p, pIter) (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol /* Create the imposter table or tables (if required). */ _rbuCreateImposterTable(tls, p, pIter) _rbuCreateImposterTable2(tls, p, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) { - v4 = __ccgo_ts + 1650 + v4 = __ccgo_ts + 1664 } else { - v4 = __ccgo_ts + 31392 + v4 = __ccgo_ts + 31538 } zWrite = v4 /* Create the INSERT statement to write to the target PK b-tree */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if bRbuRowid != 0 { - v5 = __ccgo_ts + 31401 + v5 = __ccgo_ts + 31547 } else { - v5 = __ccgo_ts + 1650 + v5 = __ccgo_ts + 1664 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31411, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31557, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) } /* Create the DELETE statement to write to the target PK b-tree. ** Because it only performs INSERT operations, this is not required for ** an rbu vacuum handle. */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31447, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31593, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) } if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zRbuRowid = __ccgo_ts + 1650 + zRbuRowid = __ccgo_ts + 1664 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zRbuRowid = __ccgo_ts + 31475 + zRbuRowid = __ccgo_ts + 31621 } /* Create the rbu_tmp_xxx table and the triggers to populate it. */ if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - v6 = __ccgo_ts + 31487 + v6 = __ccgo_ts + 31633 } else { - v6 = __ccgo_ts + 1650 + v6 = __ccgo_ts + 1664 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31504, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31580, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31650, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31726, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31879, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32025, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) } _rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) } /* Create the SELECT statement to read keys from data_xxx */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zRbuRowid1 = __ccgo_ts + 1650 + zRbuRowid1 = __ccgo_ts + 1664 zStart1 = uintptr(0) zOrder = uintptr(0) if bRbuRowid != 0 { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v7 = __ccgo_ts + 31978 + v7 = __ccgo_ts + 32124 } else { - v7 = __ccgo_ts + 31988 + v7 = __ccgo_ts + 32134 } zRbuRowid1 = v7 } @@ -187544,28 +189212,28 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } } if bRbuRowid != 0 { - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+30035, 0) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+30181, 0) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1650, __ccgo_ts+15338, __ccgo_ts+1650) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1664, __ccgo_ts+15431, __ccgo_ts+1664) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v8 = __ccgo_ts + 31999 + v8 = __ccgo_ts + 32145 } else { - v8 = __ccgo_ts + 1650 + v8 = __ccgo_ts + 1664 } if zStart1 != 0 { v9 = zStart1 } else { - v9 = __ccgo_ts + 1650 + v9 = __ccgo_ts + 1664 } if zOrder != 0 { - v10 = __ccgo_ts + 23602 + v10 = __ccgo_ts + 23747 } else { - v10 = __ccgo_ts + 1650 + v10 = __ccgo_ts + 1664 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+32005, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+32151, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) } Xsqlite3_free(tls, zStart1) Xsqlite3_free(tls, zOrder) @@ -187651,11 +189319,11 @@ func _rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, p (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpNext = (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - zPrefix = __ccgo_ts + 1650 + zPrefix = __ccgo_ts + 1664 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { - zPrefix = __ccgo_ts + 31392 + zPrefix = __ccgo_ts + 31538 } - zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+32053, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) + zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+32199, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate) *(*uintptr)(unsafe.Pointer(ppStmt)) = (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpUpdate } @@ -187682,7 +189350,7 @@ func _rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) (r } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp, flags, v1) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp))) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) } @@ -187729,7 +189397,7 @@ func _rbuLoadState(tls *libc.TLS, p uintptr) (r uintptr) { if pRet == uintptr(0) { return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+32083, libc.VaList(bp+24, p+48))) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+32229, libc.VaList(bp+24, p+48))) for *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) { case int32(RBU_STATE_STAGE): @@ -187788,27 +189456,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu = _rbuOpenDbhandle(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, int32(1)) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain = dbMain if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6933, int32(SQLITE_FCNTL_RBUCNT), p) + Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6997, int32(SQLITE_FCNTL_RBUCNT), p) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) { - zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6933) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+32113, libc.VaList(bp+8, zFile, zFile)) + zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6997) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+32259, libc.VaList(bp+8, zFile, zFile)) } } /* If using separate RBU and state databases, attach the state database to ** the RBU db handle now. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32141, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.X__builtin___memcpy_chk(tls, p+48, __ccgo_ts+3420, uint64(4), libc.X__builtin_object_size(tls, p+48, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32287, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.X__builtin___memcpy_chk(tls, p+48, __ccgo_ts+3484, uint64(4), libc.X__builtin_object_size(tls, p+48, 0)) } else { - libc.X__builtin___memcpy_chk(tls, p+48, __ccgo_ts+6933, uint64(4), libc.X__builtin_object_size(tls, p+48, 0)) + libc.X__builtin___memcpy_chk(tls, p+48, __ccgo_ts+6997, uint64(4), libc.X__builtin_object_size(tls, p+48, 0)) } /* If it has not already been created, create the rbu_state table */ - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32159, libc.VaList(bp+8, p+48)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32305, libc.VaList(bp+8, p+48)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { bOpen = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6933, int32(SQLITE_FCNTL_RBUCNT), p) + rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6997, int32(SQLITE_FCNTL_RBUCNT), p) if rc != int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -187841,10 +189509,10 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) return } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32225, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32371, 0) } else { zExtra = uintptr(0) - if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24991, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { + if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+25114, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { zExtra = (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5 for *(*int8)(unsafe.Pointer(zExtra)) != 0 { v1 = zExtra @@ -187858,16 +189526,16 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if zExtra == uintptr(0) { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } else { - v2 = __ccgo_ts + 32257 + v2 = __ccgo_ts + 32403 } if zExtra == uintptr(0) { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } else { v3 = zExtra } - zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+32259, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6933), v2, v3)) + zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+32405, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6997), v2, v3)) if zTarget == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) return @@ -187878,27 +189546,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32291, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32437, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32306, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32452, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32323, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32469, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, int32(SQLITE_FCNTL_RBU), p) } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32339, 0) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32485, 0) /* Mark the database file just opened as an RBU target database. If ** this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. ** This is an error. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, int32(SQLITE_FCNTL_RBU), p) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32367, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32513, 0) } } @@ -187948,7 +189616,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) { pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = int64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))<= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33367, zState+uintptr(n-int32(7)), uint64(7)) { + if n >= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33513, zState+uintptr(n-int32(7)), uint64(7)) { return _rbuMisuseError(tls) } } @@ -189168,7 +190836,7 @@ func _rbuEditErrmsg(tls *libc.TLS, p uintptr) { if !(uint64(i) < nErrmsg-uint64(8)) { break } - if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31392, uint64(8)) == 0 { + if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31538, uint64(8)) == 0 { nDel = int32(8) for int32(*(*int8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= int32('0') && int32(*(*int8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= int32('9') { nDel++ @@ -189196,7 +190864,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { if p != 0 { /* Commit the transaction to the *-oal file. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+15242, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+15335, uintptr(0), uintptr(0), p+64) } /* Sync the db file if currently doing an incremental checkpoint */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) { @@ -189205,7 +190873,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { } _rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+15242, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+15335, uintptr(0), uintptr(0), p+64) } /* Close any open statement handles. */ _rbuObjIterFinalize(tls, p+80) @@ -189215,7 +190883,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { ** specifying the current target and state databases to start a new ** vacuum from scratch. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 { - rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33375, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33521, uintptr(0), uintptr(0), uintptr(0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_DONE) && rc2 != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -189316,7 +190984,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+15242, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+15335, uintptr(0), uintptr(0), uintptr(0)) } } /* Sync the db file */ @@ -189329,19 +190997,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { rc = (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+15242, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+15335, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 15227 + v1 = __ccgo_ts + 15320 } else { - v1 = __ccgo_ts + 33327 + v1 = __ccgo_ts + 33473 } zBegin = v1 rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33327, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33473, uintptr(0), uintptr(0), uintptr(0)) } } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -189907,7 +191575,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xControl})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, int32(SQLITE_FCNTL_ZIPVFS), bp) if rc == SQLITE_OK { rc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33402, 0) + (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33548, 0) } else { if rc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p @@ -189933,7 +191601,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r if rc == SQLITE_OK && op == int32(SQLITE_FCNTL_VFSNAME) { pRbuVfs = (*Trbu_file)(unsafe.Pointer(p)).FpRbuVfs zIn = *(*uintptr)(unsafe.Pointer(pArg)) - zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33425, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33571, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -190128,7 +191796,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag if pDb != 0 { if (*Trbu_file)(unsafe.Pointer(pDb)).FpRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FeStage == int32(RBU_STAGE_OAL) { if (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6933) + zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6997) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -190142,7 +191810,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag } else { (*Trbu_file)(unsafe.Pointer(pFd)).FpRbu = (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRbu } - if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33436, 0) != 0 { + if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33582, 0) != 0 { oflags = libc.Int32FromInt32(SQLITE_OPEN_TEMP_DB) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_EXCLUSIVE) | libc.Int32FromInt32(SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) } @@ -190695,7 +192363,7 @@ func _statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint _sqlite3TokenInit(tls, bp, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = _sqlite3FindDb(tls, db, bp) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12539, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12664, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return int32(SQLITE_ERROR) } } else { @@ -191194,7 +192862,7 @@ statNextRestart: (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiPgno = iRoot (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v1 = Xsqlite3_mprintf(tls, __ccgo_ts+4033, 0) + v1 = Xsqlite3_mprintf(tls, __ccgo_ts+4097, 0) z = v1 (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FzPath = v1 if z == uintptr(0) { @@ -191232,8 +192900,8 @@ statNextRestart: if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { (*TStatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*TStatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*TStatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*Tu32)(unsafe.Pointer((*TStatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33447 - v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33456, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33593 + v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33602, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) z = v2 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v2 if z == uintptr(0) { @@ -191262,7 +192930,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage++ if (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage >= int32(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) { _statResetCsr(tls, pCsr) - return _sqlite3CorruptError(tls, int32(222551)) + return _sqlite3CorruptError(tls, int32(224206)) } if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell { (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiPgno = (*TStatPage)(unsafe.Pointer(p)).FiRightChildPg @@ -191273,7 +192941,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnPage++ (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33468, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) + v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33614, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) z = v4 (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FzPath = v4 if z == uintptr(0) { @@ -191296,13 +192964,13 @@ statNextRestart: case int32(0x05): /* table internal */ fallthrough case int32(0x02): /* index internal */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33476 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33622 case int32(0x0D): /* table leaf */ fallthrough case int32(0x0A): /* index leaf */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33485 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33631 default: - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33490 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33636 break } *(*int32)(unsafe.Pointer(pCsr + 2108)) += (*TStatPage)(unsafe.Pointer(p1)).FnCell @@ -191311,7 +192979,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnMxPayload = (*TStatPage)(unsafe.Pointer(p1)).FnMxPayload } if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) + v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) z = v5 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v5 if z == uintptr(0) { @@ -191400,12 +193068,12 @@ func _statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, a (*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg = uint8(0) } pSql = Xsqlite3_str_new(tls, (*TStatTable)(unsafe.Pointer(pTab)).Fdb) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33500, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33646, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33655, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33801, libc.VaList(bp+8, zName)) } if idxNum&int32(0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33669, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33815, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -191482,7 +193150,7 @@ func _statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) (r int32) { // ** Invoke this routine to register the "dbstat" virtual table module // */ func _sqlite3DbstatRegister(tls *libc.TLS, db uintptr) (r int32) { - return Xsqlite3_create_module(tls, db, __ccgo_ts+33684, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, __ccgo_ts+33830, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) } var _dbstat_module = Tsqlite3_module{} @@ -192753,20 +194421,20 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, *(*uintptr)(unsafe.Pointer(pazDflt)) = uintptr(0) } nThis = _sqlite3Strlen30(tls, zThis) - if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11930, zThis) { + if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+12055, zThis) { rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { /* For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. */ - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33691, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33837, 0) } else { if rc == int32(SQLITE_ERROR) { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1650, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1664, 0) } else { return rc } } } else { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33812, libc.VaList(bp+16, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33958, libc.VaList(bp+16, zDb, zThis)) } if !(zPragma != 0) { return int32(SQLITE_NOMEM) @@ -192790,7 +194458,7 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, bRowid = 0 } nDbCol += bRowid - nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+30035)) + nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+30181)) rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == SQLITE_OK { nByte = Tsqlite3_int64(uint64(nByte) + uint64(nDbCol)*(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(2)+libc.Uint64FromInt64(1)+libc.Uint64FromInt32(1)+libc.Uint64FromInt32(1))) @@ -192814,8 +194482,8 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 if bRowid != 0 { - nName = libc.Xstrlen(tls, __ccgo_ts+30035) - libc.X__builtin___memcpy_chk(tls, pAlloc, __ccgo_ts+30035, nName+uint64(1), libc.X__builtin_object_size(tls, pAlloc, 0)) + nName = libc.Xstrlen(tls, __ccgo_ts+30181) + libc.X__builtin___memcpy_chk(tls, pAlloc, __ccgo_ts+30181, nName+uint64(1), libc.X__builtin_object_size(tls, pAlloc, 0)) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc pAlloc += uintptr(nName + uint64(1)) *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) = uint8(1) @@ -192907,7 +194575,7 @@ func _sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr, db uintptr ; i++ } - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11930, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+12055, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { (*TSessionTable)(unsafe.Pointer(pTab)).FbStat1 = int32(1) } if pSession != 0 && (*Tsqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { @@ -193196,10 +194864,10 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin _, _, _, _ = ii, zDflt, zSep, v2 *(*TSessionBuffer)(unsafe.Pointer(bp)) = TSessionBuffer{} *(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK - zSep = __ccgo_ts + 11550 + zSep = __ccgo_ts + 11675 ii = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33841, 0) + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33987, 0) ii = 0 for { if !(ii < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol) { @@ -193208,11 +194876,11 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin if *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) != 0 { v2 = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) } else { - v2 = __ccgo_ts + 1651 + v2 = __ccgo_ts + 1665 } zDflt = v2 - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5424, libc.VaList(bp+32, zSep, zDflt)) - zSep = __ccgo_ts + 15338 + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5488, libc.VaList(bp+32, zSep, zDflt)) + zSep = __ccgo_ts + 15431 goto _1 _1: ; @@ -193530,7 +195198,7 @@ func _sessionPreupdateOneChange(tls *libc.TLS, op int32, iRowid Ti64, pSession u rc = int32(SQLITE_NOMEM) goto error_out } - _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1650, uint8(0), libc.UintptrFromInt32(0)) + _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1664, uint8(0), libc.UintptrFromInt32(0)) (*Tsqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p } } @@ -193851,7 +195519,7 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr var i int32 var zRet, zSep uintptr _, _, _ = i, zRet, zSep - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 zRet = uintptr(0) i = 0 for { @@ -193859,8 +195527,8 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr break } if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33848, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 22408 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33994, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 22553 if zRet == uintptr(0) { break } @@ -193879,7 +195547,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint var bHave, i int32 var zRet, zSep uintptr _, _, _, _ = bHave, i, zRet, zSep - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 zRet = uintptr(0) bHave = 0 i = 0 @@ -193889,8 +195557,8 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if int32(*(*Tu8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = int32(1) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33882, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 33923 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+34028, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 34069 if zRet == uintptr(0) { break } @@ -193901,7 +195569,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint i++ } if bHave == 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1724, 0) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1784, 0) } return zRet } @@ -193912,12 +195580,12 @@ func _sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, bRowid int var zRet, zSel, v1 uintptr _, _, _ = zRet, zSel, v1 if bRowid != 0 { - v1 = __ccgo_ts + 33928 + v1 = __ccgo_ts + 34074 } else { - v1 = __ccgo_ts + 6938 + v1 = __ccgo_ts + 7002 } zSel = v1 - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33939, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+34085, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -193978,11 +195646,11 @@ func _sessionAllCols(tls *libc.TLS, zDb uintptr, pTab uintptr) (r uintptr) { break } if zRet != 0 { - v2 = __ccgo_ts + 15338 + v2 = __ccgo_ts + 15431 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+34018, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+34164, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) if !(zRet != 0) { break } @@ -194010,7 +195678,7 @@ func _sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFr } else { z1 = _sessionAllCols(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, pTab) z2 = _sessionAllCols(tls, zFrom, pTab) - zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+34037, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) + zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+34183, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) if zStmt == uintptr(0) || z1 == uintptr(0) || z2 == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -194110,7 +195778,7 @@ func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl u Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if bMismatch != 0 { if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+34094, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+34240, 0) } rc = int32(SQLITE_SCHEMA) } @@ -194442,7 +196110,7 @@ func _sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* aBuf at bp+0 */ [24]int8 - Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5486, libc.VaList(bp+32, iVal)) + Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5550, libc.VaList(bp+32, iVal)) _sessionAppendStr(tls, p, bp, pRc) } @@ -194733,23 +196401,23 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt _, _, _, _, _, _, _ = i, nSql, zCols, zSep, zSql, v1, v3 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK zSql = uintptr(0) - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 if bRowid != 0 { - v1 = __ccgo_ts + 33928 + v1 = __ccgo_ts + 34074 } else { - v1 = __ccgo_ts + 6938 + v1 = __ccgo_ts + 7002 } zCols = v1 nSql = -int32(1) *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 24)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 40)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+34121, bp) - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11930, zTab) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+34125, bp) - _sessionAppendStr(tls, bp+24, __ccgo_ts+34149, bp) - _sessionAppendStr(tls, bp+40, __ccgo_ts+34158, bp) - zCols = __ccgo_ts + 34203 + _sessionAppendStr(tls, bp+8, __ccgo_ts+34267, bp) + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+12055, zTab) { + _sessionAppendStr(tls, bp+8, __ccgo_ts+34271, bp) + _sessionAppendStr(tls, bp+24, __ccgo_ts+34295, bp) + _sessionAppendStr(tls, bp+40, __ccgo_ts+34304, bp) + zCols = __ccgo_ts + 34349 } else { i = 0 for { @@ -194759,11 +196427,11 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { _sessionAppendStr(tls, bp+24, zSep, bp) _sessionAppendStr(tls, bp+40, zSep, bp) - zSep = __ccgo_ts + 15338 + zSep = __ccgo_ts + 15431 _sessionAppendIdent(tls, bp+24, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp) - _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+34217, libc.VaList(bp+64, i+int32(1))) + _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+34363, libc.VaList(bp+64, i+int32(1))) } else { - _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+34221, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+34367, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) } goto _2 _2: @@ -194775,9 +196443,9 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if bIgnoreNoop != 0 { v3 = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+34248, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+34394, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) if zSql == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } @@ -194918,7 +196586,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+34290, uintptr(0), uintptr(0), uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+34436, uintptr(0), uintptr(0), uintptr(0)) if *(*int32)(unsafe.Pointer(bp + 16)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -195024,7 +196692,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, } } Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf) - Xsqlite3_exec(tls, db, __ccgo_ts+34310, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34456, uintptr(0), uintptr(0), uintptr(0)) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -195441,7 +197109,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, int32(9)) if rc == SQLITE_OK { if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData { - rc = _sqlite3CorruptError(tls, int32(226700)) + rc = _sqlite3CorruptError(tls, int32(228355)) } else { v3 = pIn + 8 v2 = *(*int32)(unsafe.Pointer(v3)) @@ -195465,7 +197133,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = _sqlite3CorruptError(tls, int32(226720)) + rc = _sqlite3CorruptError(tls, int32(228375)) } else { if eType == int32(SQLITE_TEXT) { v4 = int32(SQLITE_UTF8) @@ -195480,7 +197148,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap } if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) { if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) { - rc = _sqlite3CorruptError(tls, int32(226730)) + rc = _sqlite3CorruptError(tls, int32(228385)) } else { *(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal) if eType == int32(SQLITE_INTEGER) { @@ -195536,7 +197204,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) ( ** large value for nCol may cause nRead to wrap around and become ** negative. Leading to a crash. */ if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) { - rc = _sqlite3CorruptError(tls, int32(226778)) + rc = _sqlite3CorruptError(tls, int32(228433)) } else { rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100)) nRead += *(*int32)(unsafe.Pointer(bp)) @@ -195641,7 +197309,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) { (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 _sessionBufferGrow(tls, p+72, int64(nByte), bp) } else { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(226866)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(228521)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -195712,12 +197380,12 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { return (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc } + _sessionDiscardData(tls, p) + (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext /* If the iterator is already at the end of the changeset, return DONE. */ if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { return int32(SQLITE_DONE) } - _sessionDiscardData(tls, p) - (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext v3 = p + 8 v2 = *(*int32)(unsafe.Pointer(v3)) *(*int32)(unsafe.Pointer(v3))++ @@ -195747,7 +197415,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { /* The first record in the changeset is not a table header. Must be a ** corrupt changeset. */ - v7 = _sqlite3CorruptError(tls, int32(226952)) + v7 = _sqlite3CorruptError(tls, int32(228607)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7 return v7 } @@ -195757,7 +197425,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin *(*int32)(unsafe.Pointer(v9))++ (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8)))) if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) { - v10 = _sqlite3CorruptError(tls, int32(226958)) + v10 = _sqlite3CorruptError(tls, int32(228613)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10 return v10 } @@ -195836,7 +197504,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if *(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - v16 = _sqlite3CorruptError(tls, int32(227002)) + v16 = _sqlite3CorruptError(tls, int32(228657)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16 return v16 } @@ -196246,7 +197914,7 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu goto finished_invert } default: - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(227367)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(229022)) goto finished_invert } if xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size { @@ -196449,18 +198117,18 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 } if pUp == uintptr(0) { nByte = int32(uint64(24) * uint64(nU32) * uint64(4)) - bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11930) == 0) + bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+12055) == 0) pUp = Xsqlite3_malloc(tls, nByte) if pUp == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } else { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 libc.X__builtin___memset_chk(tls, bp+8, 0, uint64(16), libc.X__builtin_object_size(tls, bp+8, 0)) (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24 libc.X__builtin___memcpy_chk(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*TSessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(4), libc.X__builtin_object_size(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, 0)) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34328, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34474, bp) _sessionAppendIdent(tls, bp+8, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34341, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34487, bp) /* Create the assignments part of the UPDATE */ ii = 0 for { @@ -196470,9 +198138,9 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if int32(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34347, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34493, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(1), bp) - zSep = __ccgo_ts + 15338 + zSep = __ccgo_ts + 15431 } goto _2 _2: @@ -196480,8 +198148,8 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 ii++ } /* Create the WHERE clause part of the UPDATE */ - zSep = __ccgo_ts + 1650 - _sessionAppendStr(tls, bp+8, __ccgo_ts+34352, bp) + zSep = __ccgo_ts + 1664 + _sessionAppendStr(tls, bp+8, __ccgo_ts+34498, bp) ii = 0 for { if !(ii < (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { @@ -196490,13 +198158,13 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if *(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) if bStat1 != 0 && ii == int32(1) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+34360, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34506, bp) } else { _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34435, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34581, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(2), bp) } - zSep = __ccgo_ts + 22408 + zSep = __ccgo_ts + 22553 } goto _3 _3: @@ -196579,13 +198247,13 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in var _ /* buf at bp+8 */ TSessionBuffer var _ /* rc at bp+0 */ int32 _, _, _ = i, nPk, zSep - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} nPk = 0 - _sessionAppendStr(tls, bp+8, __ccgo_ts+34441, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34587, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34352, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34498, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -196595,9 +198263,9 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in nPk++ _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34347, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34493, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 22408 + zSep = __ccgo_ts + 22553 } goto _1 _1: @@ -196605,10 +198273,10 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in i++ } if nPk < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol { - _sessionAppendStr(tls, bp+8, __ccgo_ts+34459, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34605, bp) _sessionAppendInteger(tls, bp+8, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol+int32(1), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33923, bp) - zSep = __ccgo_ts + 1650 + _sessionAppendStr(tls, bp+8, __ccgo_ts+34069, bp) + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -196617,16 +198285,16 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in if !(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34435, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34581, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 34467 + zSep = __ccgo_ts + 34613 } goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5454, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5518, bp) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+8, uintptr(0)) @@ -196652,7 +198320,7 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in // */ func _sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r int32) { /* TODO */ - return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6933, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) + return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6997, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } // C documentation @@ -196675,16 +198343,16 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+34472, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34618, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+22414, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+22559, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } if i != 0 { - _sessionAppendStr(tls, bp+8, __ccgo_ts+15338, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+15431, bp) } _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) goto _1 @@ -196692,19 +198360,19 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34490, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34636, bp) i = int32(1) for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34501, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34647, bp) goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5454, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5518, bp) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+16, uintptr(0)) } @@ -196727,12 +198395,12 @@ func _sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) (r int func _sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) (r int32) { var rc int32 _ = rc - rc = _sessionSelectRow(tls, db, __ccgo_ts+11930, p) + rc = _sessionSelectRow(tls, db, __ccgo_ts+12055, p) if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34505) + rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34651) } if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34618) + rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34764) } return rc } @@ -196798,7 +198466,7 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { /* The value in the changeset was "undefined". This indicates a ** corrupt changeset blob. */ - rc = _sqlite3CorruptError(tls, int32(227849)) + rc = _sqlite3CorruptError(tls, int32(229504)) } else { rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp))) } @@ -197214,7 +198882,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } else { if *(*int32)(unsafe.Pointer(bp)) != 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34762, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34908, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = _sessionBindRow(tls, pIter, __ccgo_fp(Xsqlite3changeset_new), (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) Xsqlite3_bind_int(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol+int32(1), int32(1)) @@ -197227,7 +198895,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34783, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34929, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -197321,10 +198989,10 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbIgnoreNoop = libc.BoolUint8(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_IGNORENOOP) != 0)) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34802, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34948, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34828, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34974, uintptr(0), uintptr(0), uintptr(0)) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) { Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0)) @@ -197355,7 +199023,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui ** non-zero, proceed. */ schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144)))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) + *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { rc = int32(SQLITE_NOMEM) break @@ -197365,7 +199033,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } else { nMinCol = 0 Xsqlite3changeset_pk(tls, pIter, bp+152, uintptr(0)) - rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6933, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) + rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6997, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) if rc != SQLITE_OK { break } @@ -197384,18 +199052,18 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol == 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34858, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+35004, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol < *(*int32)(unsafe.Pointer(bp + 136)) { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34902, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+35048, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) } else { if *(*int32)(unsafe.Pointer(bp + 136)) < nMinCol || libc.Xmemcmp(tls, (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FabPK, *(*uintptr)(unsafe.Pointer(bp + 152)), uint64(*(*int32)(unsafe.Pointer(bp + 136)))) != 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34973, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+35119, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol = *(*int32)(unsafe.Pointer(bp + 136)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11930) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+12055) { v2 = _sessionStat1Sql(tls, db, bp+8) rc = v2 if v2 != 0 { @@ -197452,13 +199120,13 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } } } - Xsqlite3_exec(tls, db, __ccgo_ts+35033, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+35179, uintptr(0), uintptr(0), uintptr(0)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+35063, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+35209, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, __ccgo_ts+35087, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, __ccgo_ts+35063, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+35233, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+35209, uintptr(0), uintptr(0), uintptr(0)) } } if rc == SQLITE_OK && bPatchset == 0 && (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbRebase != 0 { @@ -197550,6 +199218,7 @@ type Tsqlite3_changegroup1 = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -197906,116 +199575,143 @@ func _sessionChangesetExtendRecord(tls *libc.TLS, pGrp uintptr, pTab uintptr, nC // C documentation // // /* -// ** Add all changes in the changeset traversed by the iterator passed as -// ** the first argument to the changegroup hash tables. +// ** Locate or create a SessionTable object that may be used to add the +// ** change currently pointed to by iterator pIter to changegroup pGrp. +// ** If successful, set output variable (*ppTab) to point to the table +// ** object and return SQLITE_OK. Otherwise, if some error occurs, return +// ** an SQLite error code and leave (*ppTab) set to NULL. // */ -func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { - bp := tls.Alloc(80) - defer tls.Free(80) - var bPkOnly1, bPkOnly2, iHash, nNew, rc int32 - var pExist, pTab, pp, ppTab uintptr - var _ /* aRec at bp+0 */ uintptr - var _ /* abPK at bp+64 */ uintptr - var _ /* bIndirect at bp+48 */ int32 - var _ /* nCol at bp+40 */ int32 - var _ /* nRec at bp+8 */ int32 - var _ /* op at bp+44 */ int32 - var _ /* pChange at bp+56 */ uintptr - var _ /* rec at bp+16 */ TSessionBuffer - var _ /* zNew at bp+32 */ uintptr - _, _, _, _, _, _, _, _, _ = bPkOnly1, bPkOnly2, iHash, nNew, pExist, pTab, pp, ppTab, rc +func _sessionChangesetFindTable(tls *libc.TLS, pGrp uintptr, zTab uintptr, pIter uintptr, ppTab uintptr) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var nTab, rc int32 + var pTab, ppNew uintptr + var _ /* abPK at bp+0 */ uintptr + var _ /* nCol at bp+8 */ int32 + _, _, _, _ = nTab, pTab, ppNew, rc rc = SQLITE_OK pTab = uintptr(0) - *(*TSessionBuffer)(unsafe.Pointer(bp + 16)) = TSessionBuffer{} - for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { - pExist = uintptr(0) - /* Ensure that only changesets, or only patchsets, but not a mixture - ** of both, are being combined. It is an error to try to combine a - ** changeset and a patchset. */ - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset - } else { - if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { - rc = int32(SQLITE_ERROR) - break - } + nTab = int32(libc.Xstrlen(tls, zTab)) + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(ppTab)) = uintptr(0) + Xsqlite3changeset_pk(tls, pIter, bp, bp+8) + /* Search the list for an existing table */ + pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList + for { + if !(pTab != 0) { + break } - Xsqlite3changeset_op(tls, pIter, bp+32, bp+40, bp+44, bp+48) - if !(pTab != 0) || Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), (*TSessionTable)(unsafe.Pointer(pTab)).FzName) != 0 { - /* Search the list for a matching table */ - nNew = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))) - Xsqlite3changeset_pk(tls, pIter, bp+64, uintptr(0)) - pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList - for { - if !(pTab != 0) { - break - } - if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), nNew+int32(1)) { - break - } - goto _1 - _1: - ; - pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext - } - if !(pTab != 0) { - pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 40)))+uint64(nNew)+uint64(1)) - if !(pTab != 0) { - rc = int32(SQLITE_NOMEM) - break - } - libc.X__builtin___memset_chk(tls, pTab, 0, uint64(80), libc.X__builtin_object_size(tls, pTab, 0)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 40)) - (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 - libc.X__builtin___memcpy_chk(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 64)), uint64(*(*int32)(unsafe.Pointer(bp + 40))), libc.X__builtin_object_size(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, 0)) - (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 40))) - libc.X__builtin___memcpy_chk(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), uint64(nNew+int32(1)), libc.X__builtin_object_size(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, 0)) - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 - rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) - if rc != 0 { - Xsqlite3_free(tls, pTab) - break - } - } - /* The new object must be linked on to the end of the list, not - ** simply added to the start of it. This is to ensure that the - ** tables within the output of sqlite3changegroup_output() are in - ** the right order. */ - ppTab = pGrp + 8 - for { - if !(*(*uintptr)(unsafe.Pointer(ppTab)) != 0) { - break - } - goto _2 - _2: - ; - ppTab = *(*uintptr)(unsafe.Pointer(ppTab)) - } - *(*uintptr)(unsafe.Pointer(ppTab)) = pTab - } - if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*uintptr)(unsafe.Pointer(bp + 64))) != 0) { - rc = int32(SQLITE_SCHEMA) - break - } + if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, nTab+int32(1)) { + break } - if *(*int32)(unsafe.Pointer(bp + 40)) < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol { - rc = _sessionChangesetExtendRecord(tls, pGrp, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*int32)(unsafe.Pointer(bp + 44)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+16) + goto _1 + _1: + ; + pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext + } + /* If one was not found above, create a new table now */ + if !(pTab != 0) { + pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 8)))+uint64(nTab)+uint64(1)) + if !(pTab != 0) { + return int32(SQLITE_NOMEM) + } + libc.X__builtin___memset_chk(tls, pTab, 0, uint64(80), libc.X__builtin_object_size(tls, pTab, 0)) + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 8)) + (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 + libc.X__builtin___memcpy_chk(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp)), uint64(*(*int32)(unsafe.Pointer(bp + 8))), libc.X__builtin_object_size(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, 0)) + (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 8))) + libc.X__builtin___memcpy_chk(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, uint64(nTab+int32(1)), libc.X__builtin_object_size(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, 0)) + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 + rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) if rc != 0 { + Xsqlite3_free(tls, pTab) + return rc + } + } + /* The new object must be linked on to the end of the list, not + ** simply added to the start of it. This is to ensure that the + ** tables within the output of sqlite3changegroup_output() are in + ** the right order. */ + ppNew = pGrp + 8 + for { + if !(*(*uintptr)(unsafe.Pointer(ppNew)) != 0) { break } - *(*uintptr)(unsafe.Pointer(bp)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf - *(*int32)(unsafe.Pointer(bp + 8)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf + goto _2 + _2: + ; + ppNew = *(*uintptr)(unsafe.Pointer(ppNew)) } - if _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { - rc = int32(SQLITE_NOMEM) - break + *(*uintptr)(unsafe.Pointer(ppNew)) = pTab + } + /* Check that the table is compatible. */ + if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp))) != 0) { + rc = int32(SQLITE_SCHEMA) + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + return rc +} + +// C documentation +// +// /* +// ** Add the change currently indicated by iterator pIter to the hash table +// ** belonging to changegroup pGrp. +// */ +func _sessionOneChangeToHash(tls *libc.TLS, pGrp uintptr, pIter uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var aRec, pBuf, pExist, pp uintptr + var bPkOnly1, bPkOnly2, iHash, nRec, rc int32 + var _ /* bIndirect at bp+8 */ int32 + var _ /* nCol at bp+0 */ int32 + var _ /* op at bp+4 */ int32 + var _ /* pChange at bp+16 */ uintptr + var _ /* pTab at bp+24 */ uintptr + var _ /* zTab at bp+32 */ uintptr + _, _, _, _, _, _, _, _, _ = aRec, bPkOnly1, bPkOnly2, iHash, nRec, pBuf, pExist, pp, rc + rc = SQLITE_OK + *(*int32)(unsafe.Pointer(bp)) = 0 + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + iHash = 0 + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) + pExist = uintptr(0) + pp = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) + aRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent+int32(2)) + nRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent - int32(2) + /* Ensure that only changesets, or only patchsets, but not a mixture + ** of both, are being combined. It is an error to try to combine a + ** changeset and a patchset. */ + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = int32(SQLITE_ERROR) } - iHash = int32(_sessionChangeHash(tls, pTab, libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)), *(*uintptr)(unsafe.Pointer(bp)), (*TSessionTable)(unsafe.Pointer(pTab)).FnChange)) + } + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0) + Xsqlite3changeset_op(tls, pIter, bp+32, bp, bp+4, bp+8) + rc = _sessionChangesetFindTable(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 32)), pIter, bp+24) + } + if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) < (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnCol { + pBuf = pGrp + 16 + rc = _sessionChangesetExtendRecord(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), aRec, nRec, pBuf) + aRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + nRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FnBuf + } + if rc == SQLITE_OK && _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 24))) != 0 { + rc = int32(SQLITE_NOMEM) + } + if rc == SQLITE_OK { /* Search for existing entry. If found, remove it from the hash table. - ** Code below may link it back in. - */ - pp = (*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8 + ** Code below may link it back in. */ + iHash = int32(_sessionChangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)), aRec, (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnChange)) + pp = (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8 for { if !(*(*uintptr)(unsafe.Pointer(pp)) != 0) { break @@ -198024,30 +199720,54 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase bPkOnly2 = 0 if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { bPkOnly1 = libc.BoolInt32(int32((*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fop) == int32(SQLITE_DELETE)) - bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)) + bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)) } - if _sessionChangeEqual(tls, pTab, bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp))) != 0 { + if _sessionChangeEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, aRec) != 0 { pExist = *(*uintptr)(unsafe.Pointer(pp)) *(*uintptr)(unsafe.Pointer(pp)) = (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry-- + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry-- break } - goto _3 - _3: + goto _1 + _1: ; pp = *(*uintptr)(unsafe.Pointer(pp)) + 24 } - rc = _sessionChangeMerge(tls, pTab, bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 44)), *(*int32)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+56) - if rc != 0 { + } + if rc == SQLITE_OK { + rc = _sessionChangeMerge(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 4)), *(*int32)(unsafe.Pointer(bp + 8)), aRec, nRec, bp+16) + } + if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { + (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 16)) + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry++ + } + if rc == SQLITE_OK { + rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// C documentation +// +// /* +// ** Add all changes in the changeset traversed by the iterator passed as +// ** the first argument to the changegroup hash tables. +// */ +func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var rc int32 + var _ /* aRec at bp+0 */ uintptr + var _ /* nRec at bp+8 */ int32 + _ = rc + rc = SQLITE_OK + for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { + rc = _sessionOneChangeToHash(tls, pGrp, pIter, bRebase) + if rc != SQLITE_OK { break } - if *(*uintptr)(unsafe.Pointer(bp + 56)) != 0 { - (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) - *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 56)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry++ - } } - Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf) if rc == SQLITE_OK { rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc } @@ -198157,11 +199877,11 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) (r int32) { var rc int32 _, _ = p, rc rc = SQLITE_OK /* New object */ - p = Xsqlite3_malloc(tls, int32(32)) + p = Xsqlite3_malloc(tls, int32(48)) if p == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.X__builtin___memset_chk(tls, p, 0, uint64(32), libc.X__builtin_object_size(tls, p, 0)) + libc.X__builtin___memset_chk(tls, p, 0, uint64(48), libc.X__builtin_object_size(tls, p, 0)) } *(*uintptr)(unsafe.Pointer(pp)) = p return rc @@ -198183,7 +199903,7 @@ func Xsqlite3changegroup_schema(tls *libc.TLS, pGrp uintptr, db uintptr, zDb uin ** or after sqlite3changegroup_schema() has already been called. */ rc = int32(SQLITE_MISUSE) } else { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, zDb)) + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, zDb)) if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -198213,6 +199933,19 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin return rc } +// C documentation +// +// /* +// ** Add a single change to a changeset-group. +// */ +func Xsqlite3changegroup_add_change(tls *libc.TLS, pGrp uintptr, pIter uintptr) (r int32) { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent == (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc != SQLITE_OK || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbInvert != 0 { + /* Iterator does not point to any valid entry or is an INVERT iterator. */ + return int32(SQLITE_ERROR) + } + return _sessionOneChangeToHash(tls, pGrp, pIter, 0) +} + // C documentation // // /* @@ -198260,6 +199993,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { if pGrp != 0 { Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Frec.FaBuf) Xsqlite3_free(tls, pGrp) } } @@ -198624,11 +200358,11 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) (r int32) { var rc int32 _, _ = pNew, rc rc = SQLITE_OK - pNew = Xsqlite3_malloc(tls, int32(32)) + pNew = Xsqlite3_malloc(tls, int32(48)) if pNew == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.X__builtin___memset_chk(tls, pNew, 0, uint64(32), libc.X__builtin_object_size(tls, pNew, 0)) + libc.X__builtin___memset_chk(tls, pNew, 0, uint64(48), libc.X__builtin_object_size(tls, pNew, 0)) } *(*uintptr)(unsafe.Pointer(ppNew)) = pNew return rc @@ -198702,6 +200436,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { if p != 0 { _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.Frec.FaBuf) Xsqlite3_free(tls, p) } } @@ -199333,6 +201068,9 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** sqlite3Fts5ParserARG_STORE Code to store %extra_argument into fts5yypParser // ** sqlite3Fts5ParserARG_FETCH Code to extract %extra_argument from fts5yypParser // ** sqlite3Fts5ParserCTX_* As sqlite3Fts5ParserARG_ except for %extra_context +// ** fts5YYREALLOC Name of the realloc() function to use +// ** fts5YYFREE Name of the free() function to use +// ** fts5YYDYNSTACK True if stack space should be extended on heap // ** fts5YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** fts5YYNSTATE the combined number of states. @@ -199346,6 +201084,8 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** fts5YY_NO_ACTION The fts5yy_action[] code for no-op // ** fts5YY_MIN_REDUCE Minimum value for reduce actions // ** fts5YY_MAX_REDUCE Maximum value for reduce actions +// ** fts5YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** fts5YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type Tfts5YYMINORTYPE = struct { @@ -199372,6 +201112,13 @@ type fts5YYMINORTYPE = Tfts5YYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -199801,8 +201548,9 @@ type fts5yyStackEntry = Tfts5yyStackEntry type Tfts5yyParser1 = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser1 = Tfts5yyParser1 @@ -199810,14 +201558,19 @@ type fts5yyParser1 = Tfts5yyParser1 type Tfts5yyParser = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser = Tfts5yyParser /* #include */ +/* For builds that do no have a growable stack, fts5yyGrowStack always +** returns an error. + */ + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3Fts5ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -199832,10 +201585,11 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { var fts5yypParser uintptr _ = fts5yypParser fts5yypParser = fts5yypRawParser - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fstateno = uint8(0) - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fmajor = uint8(0) - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = fts5yypParser + 16 + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack = fts5yypParser + 32 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fstateno = uint8(0) + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fmajor = uint8(0) } // C documentation @@ -199855,7 +201609,7 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) { var fts5yypParser uintptr _ = fts5yypParser - fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2424)) + fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432)) if fts5yypParser != 0 { _sqlite3Fts5ParserInit(tls, fts5yypParser) } @@ -199937,11 +201691,17 @@ func _fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var fts5yytos, pParser uintptr + _, _ = fts5yytos, pParser pParser = p - for (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { - _fts5yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling fts5yy_pop_parser_stack() for each + ** element left in the stack */ + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos + for fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yystack { + if int32((*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor) >= int32(fts5YY_MIN_DSTRCTR) { + _fts5yy_destructor(tls, pParser, (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor, fts5yytos+8) + } + fts5yytos -= 24 } } @@ -200029,13 +201789,13 @@ func _fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse - for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { + for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack { _fts5yy_pop_parser_stack(tls, fts5yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35115, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35261, 0) /******** End %stack_overflow code ********************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument var */ } @@ -200053,15 +201813,18 @@ func _fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, f var fts5yytos uintptr _ = fts5yytos (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 - if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 - _fts5yyStackOverflow(tls, fts5yypParser) - return + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + if fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { + if int32(1) != 0 { + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 + _fts5yyStackOverflow(tls, fts5yypParser) + return + } + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos } if int32(fts5yyNewState) > int32(fts5YY_MAX_SHIFT) { fts5yyNewState = uint8(int32(fts5yyNewState) + (libc.Int32FromInt32(fts5YY_MIN_REDUCE) - libc.Int32FromInt32(fts5YY_MIN_SHIFTREDUCE))) } - fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fstateno = fts5yyNewState (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor = fts5yyMajor *(*TFts5Token)(unsafe.Pointer(fts5yytos + 8)) = fts5yyMinor @@ -200388,7 +202151,7 @@ func _fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int3 pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse /************ Begin %syntax_error code ****************************************/ _ = fts5yymajor /* Silence a compiler warning */ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35143, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35289, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) /************ End %syntax_error code ******************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument variable */ } @@ -200450,8 +202213,10 @@ func _sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5y ** enough on the stack to push the LHS value */ if int32(_fts5yyRuleInfoNRhs[fts5yyruleno]) == 0 { if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos >= (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - _fts5yyStackOverflow(tls, fts5yypParser) - break + if int32(1) != 0 { + _fts5yyStackOverflow(tls, fts5yypParser) + break + } } } fts5yyact = _fts5yy_reduce(tls, fts5yypParser, fts5yyruleno, fts5yymajor, fts5yyminor) @@ -200691,7 +202456,7 @@ func _fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n in if n < 0 { n = int32(libc.Xstrlen(tls, z)) } - (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+35174, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+35320, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*THighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = int32(SQLITE_NOMEM) } @@ -200788,7 +202553,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint var _ /* rc at bp+104 */ int32 _, _ = iCol, zErr if nVal != int32(3) { - zErr = __ccgo_ts + 35181 + zErr = __ccgo_ts + 35327 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -200799,7 +202564,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint (*(*THighlightContext)(unsafe.Pointer(bp))).FiRangeEnd = -int32(1) *(*int32)(unsafe.Pointer(bp + 104)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})))(tls, pFts, iCol, bp+24, bp+32) if *(*int32)(unsafe.Pointer(bp + 104)) == int32(SQLITE_RANGE) { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1650, -int32(1), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1664, -int32(1), libc.UintptrFromInt32(0)) *(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_OK } else { if (*(*THighlightContext)(unsafe.Pointer(bp))).FzIn != 0 { @@ -201000,7 +202765,7 @@ func _fts5ValueToText(tls *libc.TLS, pVal uintptr) (r uintptr) { if zRet != 0 { v1 = zRet } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } return v1 } @@ -201034,7 +202799,7 @@ func _fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintpt nBestScore = 0 /* Score of best snippet */ *(*int32)(unsafe.Pointer(bp + 112)) = 0 if nVal != int32(5) { - zErr = __ccgo_ts + 35231 + zErr = __ccgo_ts + 35377 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -201414,15 +203179,15 @@ func _sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) (r int32) { FxDestroy uintptr }{ 0: { - FzFunc: __ccgo_ts + 35279, + FzFunc: __ccgo_ts + 35425, FxFunc: __ccgo_fp(_fts5SnippetFunction), }, 1: { - FzFunc: __ccgo_ts + 35287, + FzFunc: __ccgo_ts + 35433, FxFunc: __ccgo_fp(_fts5HighlightFunction), }, 2: { - FzFunc: __ccgo_ts + 35297, + FzFunc: __ccgo_ts + 35443, FxFunc: __ccgo_fp(_fts5Bm25Function), }, } @@ -202082,7 +203847,7 @@ func _fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) (r uintptr) { case int32('n'): fallthrough case int32('N'): - if Xsqlite3_strnicmp(tls, __ccgo_ts+1636, p, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+1650, p, int32(4)) == 0 { p = p + 4 } else { p = uintptr(0) @@ -202286,7 +204051,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _, _, _, _, _, _, _, _, _, _, _, _ = azArg, bFirst, nArg, nByte, nCmd, nPre, p, p1, p2, pDel, pSpace, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK nCmd = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, __ccgo_ts+35302, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35448, zCmd, nCmd) == 0 { nByte = int32(libc.Uint64FromInt64(4) * libc.Uint64FromInt32(FTS5_MAX_PREFIX_INDEXES)) bFirst = int32(1) if (*TFts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { @@ -202312,12 +204077,12 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } } if int32(*(*int8)(unsafe.Pointer(p))) < int32('0') || int32(*(*int8)(unsafe.Pointer(p))) > int32('9') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35309, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35455, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } if (*TFts5Config)(unsafe.Pointer(pConfig)).FnPrefix == int32(FTS5_MAX_PREFIX_INDEXES) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35340, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35486, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -202326,7 +204091,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC p++ } if nPre <= 0 || nPre >= int32(1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35373, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35519, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -202336,7 +204101,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35410, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35556, zCmd, nCmd) == 0 { p1 = zArg nArg = int64(libc.Xstrlen(tls, zArg) + uint64(1)) azArg = _sqlite3Fts5MallocZero(tls, bp, int64(uint64(8)*uint64(nArg))) @@ -202344,7 +204109,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC pSpace = pDel if azArg != 0 && pSpace != 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35419, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35565, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { nArg = 0 @@ -202371,7 +204136,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC nArg++ } if p1 == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35452, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35598, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(nArg), pConfig, pzErr) @@ -202382,58 +204147,58 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC Xsqlite3_free(tls, pDel) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35486, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35632, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35494, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35640, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if *(*int8)(unsafe.Pointer(zArg)) != 0 { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_EXTERNAL) - (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35526, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35672, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_NONE) } } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35532, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35678, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35551, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35697, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35594, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35740, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35608, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35754, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, zArg, -int32(1)) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35646, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35792, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35657, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35803, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+5847, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+5911, zCmd, nCmd) == 0 { *(*[4]TFts5Enum)(unsafe.Pointer(bp + 8)) = [4]TFts5Enum{ 0: { - FzName: __ccgo_ts + 8566, + FzName: __ccgo_ts + 8691, FeVal: int32(FTS5_DETAIL_NONE), }, 1: { - FzName: __ccgo_ts + 18114, + FzName: __ccgo_ts + 18201, }, 2: { - FzName: __ccgo_ts + 35692, + FzName: __ccgo_ts + 35838, FeVal: int32(FTS5_DETAIL_COLUMNS), }, 3: {}, @@ -202441,20 +204206,20 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC v2 = _fts5ConfigSetEnum(tls, bp+8, zArg, pConfig+96) *(*int32)(unsafe.Pointer(bp)) = v2 if v2 != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35700, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35846, 0) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35731, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35877, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35741, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35887, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbTokendata = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35775, libc.VaList(bp+80, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35921, libc.VaList(bp+80, nCmd, zCmd)) return int32(SQLITE_ERROR) } @@ -202526,15 +204291,15 @@ func _fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr var v2 uintptr _, _, _ = rc, v1, v2 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35803) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+17045) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35808, libc.VaList(bp+8, zCol)) + if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35949) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+17132) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35954, libc.VaList(bp+8, zCol)) rc = int32(SQLITE_ERROR) } else { if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35838) { + if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35984) { *(*Tu8)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*TFts5Config)(unsafe.Pointer(p)).FnCol))) = uint8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35848, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35994, libc.VaList(bp+8, zArg)) rc = int32(SQLITE_ERROR) } } @@ -202560,7 +204325,7 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TFts5Buffer)(unsafe.Pointer(bp + 8)) = TFts5Buffer{} - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35879, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+36025, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*TFts5Config)(unsafe.Pointer(p)).FeContent != int32(FTS5_CONTENT_NONE) { i = 0 for { @@ -202568,9 +204333,9 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { break } if (*TFts5Config)(unsafe.Pointer(p)).FeContent == int32(FTS5_CONTENT_EXTERNAL) { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35884, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+36030, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35891, libc.VaList(bp+32, i)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+36037, libc.VaList(bp+32, i)) } goto _1 _1: @@ -202630,8 +204395,8 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in (*TFts5Config)(unsafe.Pointer(pRet)).FzName = _sqlite3Fts5Strndup(tls, bp, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -int32(1)) (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize = int32(1) (*TFts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35803) == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35899, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) + if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35949) == 0 { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36045, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } i = int32(3) @@ -202662,19 +204427,19 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35928, libc.VaList(bp+40, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36074, libc.VaList(bp+40, zOrig)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bOption != 0 { if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { v4 = *(*uintptr)(unsafe.Pointer(bp + 8)) } else { - v4 = __ccgo_ts + 1650 + v4 = __ccgo_ts + 1664 } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { v5 = *(*uintptr)(unsafe.Pointer(bp + 16)) } else { - v5 = __ccgo_ts + 1650 + v5 = __ccgo_ts + 1664 } *(*int32)(unsafe.Pointer(bp)) = _fts5ConfigParseSpecial(tls, pGlobal, pRet, v4, v5, pzErr) } else { @@ -202692,7 +204457,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } /* We only allow contentless_delete=1 if the table is indeed contentless. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FeContent != int32(FTS5_CONTENT_NONE) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35948, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36094, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* We only allow contentless_delete=1 if columnsize=0 is not present. @@ -202700,7 +204465,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in ** This restriction may be removed at some point. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35998, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36144, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* If a tokenizer= option was successfully parsed, the tokenizer has @@ -202713,18 +204478,18 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContent == uintptr(0) { zTail = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { - zTail = __ccgo_ts + 35486 + zTail = __ccgo_ts + 35632 } else { if (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = __ccgo_ts + 36053 + zTail = __ccgo_ts + 36199 } } if zTail != 0 { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36061, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36207, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0) { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+17045, -int32(1)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+17132, -int32(1)) } /* Formulate the zContentExprlist text */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -202788,25 +204553,25 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) { var _ /* rc at bp+0 */ int32 _, _, _, _ = i, zSep, zSql, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36072, 0) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36218, 0) i = 0 for { if !(zSql != 0 && i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } if i == 0 { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } else { - v2 = __ccgo_ts + 15338 + v2 = __ccgo_ts + 15431 } zSep = v2 - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36088, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36234, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) goto _1 _1: ; i++ } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36095, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35803)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36241, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35949)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_declare_vtab(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) Xsqlite3_free(tls, zSql) @@ -202952,7 +204717,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV var _ /* zRankArgs at bp+8 */ uintptr _, _, _, _, _, _, _, _, _, _ = bVal, nAutomerge, nCrisisMerge, nHashSize, nUsermerge, nVal, pgsz, rc, zIn, v1 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36121) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36267) { pgsz = 0 if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -202963,7 +204728,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36126) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36272) { nHashSize = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -202974,7 +204739,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36135) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36281) { nAutomerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -202988,7 +204753,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36145) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36291) { nUsermerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -202999,7 +204764,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36155) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36301) { nCrisisMerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -203016,7 +204781,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36167) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36313) { nVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nVal = Xsqlite3_value_int(tls, pVal) @@ -203031,7 +204796,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } (*TFts5Config)(unsafe.Pointer(pConfig)).FnDeleteMerge = nVal } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35803) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35949) { zIn = Xsqlite3_value_text(tls, pVal) rc = _sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8) if rc == SQLITE_OK { @@ -203046,7 +204811,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36179) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36325) { bVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { bVal = Xsqlite3_value_int(tls, pVal) @@ -203088,7 +204853,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in var _ /* p at bp+0 */ uintptr var _ /* rc at bp+8 */ int32 _, _, _, _, _ = iVersion, pVal, zK, zSelect, zSql - zSelect = __ccgo_ts + 36193 + zSelect = __ccgo_ts + 36339 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_OK iVersion = 0 @@ -203108,7 +204873,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in for int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zK = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) pVal = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) - if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+36225) { + if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+36371) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 12)) = 0 @@ -203120,7 +204885,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && iVersion != int32(FTS5_CURRENT_VERSION) && iVersion != int32(FTS5_CURRENT_VERSION_SECUREDELETE) { *(*int32)(unsafe.Pointer(bp + 8)) = int32(SQLITE_ERROR) if (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+36233, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+36379, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = iVersion @@ -203341,7 +205106,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr } } if int32(*(*int8)(unsafe.Pointer(z2))) == int32('\000') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36304, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36450, 0) return FTS5_EOF } goto _1 @@ -203352,7 +205117,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z2) - int64(z)) default: if _sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36324, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36470, libc.VaList(bp+8, z)) return FTS5_EOF } tok = int32(FTS5_STRING) @@ -203367,13 +205132,13 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr z21++ } (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z21) - int64(z)) - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36355, uint64(2)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36501, uint64(2)) == 0 { tok = int32(FTS5_OR) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36358, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36504, uint64(3)) == 0 { tok = int32(FTS5_NOT) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+31101, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+31247, uint64(3)) == 0 { tok = int32(FTS5_AND) } break @@ -205445,8 +207210,8 @@ func _sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, pp func _sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36362, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35143, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) + if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36508, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35289, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -205466,7 +207231,7 @@ func _sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, } c = *(*int8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) if int32(c) < int32('0') || int32(c) > int32('9') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36367, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36513, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) return } nNear = nNear*int32(10) + (int32(*(*int8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - int32('0')) @@ -205604,7 +207369,7 @@ func _sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p u iCol++ } if iCol == (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21411, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21543, libc.VaList(bp+8, z)) } else { pRet = _fts5ParseColset(tls, pParse, pColset, iCol) } @@ -205728,7 +207493,7 @@ func _sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pC var _ /* pFree at bp+0 */ uintptr *(*uintptr)(unsafe.Pointer(bp)) = pColset if (*TFts5Config)(unsafe.Pointer((*TFts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == int32(FTS5_DETAIL_NONE) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36396, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36542, 0) } else { _fts5ParseSetColset(tls, pParse, pExpr, pColset, bp) } @@ -205921,11 +207686,11 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin pPhrase = *(*uintptr)(unsafe.Pointer(pNear + 24)) if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase != int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*(*TFts5ExprTerm)(unsafe.Pointer(pPhrase + 32))).FbFirst != 0 { if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == int32(1) { - v2 = __ccgo_ts + 36449 + v2 = __ccgo_ts + 36595 } else { - v2 = __ccgo_ts + 36362 + v2 = __ccgo_ts + 36508 } - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36456, libc.VaList(bp+8, v2)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36602, libc.VaList(bp+8, v2)) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -205934,7 +207699,7 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin _fts5ExprAddChildren(tls, pRet, pLeft) _fts5ExprAddChildren(tls, pRet, pRight) if (*TFts5ExprNode)(unsafe.Pointer(pRet)).FiHeight > int32(SQLITE_FTS5_MAX_EXPR_DEPTH) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36506, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36652, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -208082,7 +209847,7 @@ func _fts5DataRead(tls *libc.TLS, p uintptr, iRowid Ti64) (r uintptr) { ** to the requested entry. */ if (*TFts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36559, iRowid, 0, p+72) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36705, iRowid, 0, p+72) } /* If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls ** above returned SQLITE_ERROR, return SQLITE_CORRUPT_VTAB instead. @@ -208175,7 +209940,7 @@ func _fts5DataWrite(tls *libc.TLS, p uintptr, iRowid Ti64, pData uintptr, nData } if (*TFts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36565, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36711, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return } @@ -208204,7 +209969,7 @@ func _fts5DataDelete(tls *libc.TLS, p uintptr, iFirst Ti64, iLast Ti64) { } if (*TFts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36616, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36762, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if _fts5IndexPrepareStmt(tls, p, p+88, zSql) != 0 { return } @@ -208238,7 +210003,7 @@ func _fts5DataRemoveSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { } if (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36665, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36811, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter, int32(1), iSegid) @@ -208407,7 +210172,7 @@ func _fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie ui } i = int32(4) /* Check if this is a V2 structure record. Set bStructureV2 if it is. */ - if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36705, uint64(4)) { + if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36851, uint64(4)) { i += int32(4) bStructureV2 = int32(1) } @@ -208598,7 +210363,7 @@ func _fts5IndexDataVersion(tls *libc.TLS, p uintptr) (r Ti64) { iVersion = 0 if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*TFts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) { - (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36710, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36856, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return 0 } @@ -208682,7 +210447,7 @@ func _fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { _sqlite3Fts5Put32(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, iCookie) (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = int32(4) if (*TFts5Structure)(unsafe.Pointer(pStruct)).FnOriginCntr > uint64(0) { - libc.X__builtin___memcpy_chk(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36705, uint64(4), libc.X__builtin_object_size(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), 0)) + libc.X__builtin___memcpy_chk(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36851, uint64(4), libc.X__builtin_object_size(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), 0)) *(*int32)(unsafe.Pointer(bp + 8)) += int32(4) } *(*int32)(unsafe.Pointer(bp + 8)) += _sqlite3Fts5PutVarint(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), uint64((*TFts5Structure)(unsafe.Pointer(pStruct)).FnLevel)) @@ -210057,7 +211822,7 @@ func _fts5IdxSelectStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36733, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36879, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect } @@ -210146,7 +211911,7 @@ func _fts5IdxNextStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36817, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36963, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect } @@ -211762,7 +213527,7 @@ func _fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { if (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { v1 = (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } z = v1 /* The following was already done in fts5WriteInit(): */ @@ -212117,7 +213882,7 @@ func _fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { _sqlite3Fts5BufferSize(tls, p+60, pWriter+8+8, uint32(nBuffer)) if (*TFts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36899, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+37045, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { /* Initialize the 4-byte leaf-page header to 0x00. */ @@ -212607,7 +214372,7 @@ func _fts5SecureDeleteIdxEntry(tls *libc.TLS, p uintptr, iSegid int32, iPgno int defer tls.Free(32) if iPgno != int32(1) { if (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx == uintptr(0) { - _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36956, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+37102, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx, int32(1), iSegid) @@ -214097,7 +215862,7 @@ func _sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) (r int32) { if (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FbContentlessDelete != 0 { (*(*TFts5Structure)(unsafe.Pointer(bp))).FnOriginCntr = uint64(1) } - _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1650, 0) + _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1664, 0) _fts5StructureWrite(tls, p, bp) return _fts5IndexReturn(tls, p) } @@ -214124,11 +215889,11 @@ func _sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uin if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*TFts5Index)(unsafe.Pointer(p)).FnWorkUnit = int32(FTS5_WORK_UNIT) - (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37017, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37163, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+26136, __ccgo_ts+37025, 0, pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+26282, __ccgo_ts+37171, 0, pzErr) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+12141, __ccgo_ts+37060, int32(1), pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+12266, __ccgo_ts+37206, int32(1), pzErr) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5IndexReinit(tls, p) @@ -214662,7 +216427,7 @@ func _fts5SetupTokendataIter(tls *libc.TLS, p uintptr, pToken uintptr, nToken in pNew = _fts5MultiIterAlloc(tls, p, (*TFts5Structure)(unsafe.Pointer(pStruct)).FnSegment) if pSmall != 0 { _sqlite3Fts5BufferSet(tls, p+60, bp, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fn, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+37104) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+37250) } else { _sqlite3Fts5BufferSet(tls, p+60, bp, nToken, pToken) } @@ -215182,7 +216947,7 @@ func _sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) (r int32) pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig /* Binary representation of iNew */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) _sqlite3Fts5Put32(tls, bp, iNew) - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36559, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36705, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, int32(4), 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -215776,7 +217541,7 @@ func _fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { if (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { return } - _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+37106, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) + _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+37252, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) /* Iterate through the b-tree hierarchy. */ for (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { /* Data for this leaf */ zIdxTerm = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -216007,7 +217772,7 @@ func _sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum Tu64, bUseC } else { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = 0 _fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16))+104+uintptr((*(*TFts5CResult)(unsafe.Pointer((*TFts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FaFirst + 1*4))).FiFirst)*128, uintptr(0), bp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+37192) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+37338) for 0 == _sqlite3Fts5PoslistNext64(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn, bp+40, bp+32) { iCol = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) >> libc.Int32FromInt32(32)) iTokOff = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) & libc.Int64FromInt32(0x7FFFFFFF)) @@ -216595,7 +218360,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) bSeenMatch = 0 bSeenRank = 0 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37197, 0) + (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37343, 0) return int32(SQLITE_ERROR) } idxStr = Xsqlite3_malloc(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pInfo)).FnConstraint*int32(8)+int32(1)) @@ -216634,7 +218399,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v3 = iIdxStr iIdxStr++ *(*int8)(unsafe.Pointer(idxStr + uintptr(v3))) = int8('M') - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5486, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5550, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) } } @@ -216654,7 +218419,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v6 = int32('G') } *(*int8)(unsafe.Pointer(idxStr + uintptr(v5))) = int8(v6) - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5486, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5550, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) iCons++ v7 = iCons @@ -217092,7 +218857,7 @@ func _fts5NextMethod(tls *libc.TLS, pCursor uintptr) (r int32) { *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_EOF) rc = Xsqlite3_reset(tls, (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -217119,7 +218884,7 @@ func _fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt } else { rc = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -217154,21 +218919,21 @@ func _fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ if zRankArgs != 0 { - v1 = __ccgo_ts + 15338 + v1 = __ccgo_ts + 15431 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } if zRankArgs != 0 { v2 = zRankArgs } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } if bDesc != 0 { - v3 = __ccgo_ts + 37236 + v3 = __ccgo_ts + 37382 } else { - v3 = __ccgo_ts + 37241 + v3 = __ccgo_ts + 37387 } - rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+37245, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) + rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+37391, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter if rc == SQLITE_OK { (*TFts5FullTable)(unsafe.Pointer(pTab)).FpSortCsr = pCsr @@ -217226,14 +218991,14 @@ func _fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr n++ } (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan = int32(FTS5_PLAN_SPECIAL) - if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+37300, z, n) { + if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+37446, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = int64(_sqlite3Fts5IndexReads(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex)) } else { - if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5829, z, n) { + if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5893, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { /* An unrecognized directive. Return an error message. */ - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37306, libc.VaList(bp+8, n, z)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37452, libc.VaList(bp+8, n, z)) rc = int32(SQLITE_ERROR) } } @@ -217283,7 +219048,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { zRank = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank zRankArgs = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37334, libc.VaList(bp+24, zRankArgs)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37480, libc.VaList(bp+24, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp+8, uintptr(0)) @@ -217316,7 +219081,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { pAux = _fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37344, libc.VaList(bp+24, zRank)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37490, libc.VaList(bp+24, zRank)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -217350,7 +219115,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_FREE_ZRANK) } else { if rc == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37365, libc.VaList(bp+24, z)) + (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37511, libc.VaList(bp+24, z)) } } } else { @@ -217358,7 +219123,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRank (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRankArgs } else { - (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 35297 + (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 35443 (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -217409,7 +219174,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint iIdxStr = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37197, 0) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37343, 0) return int32(SQLITE_ERROR) } if (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan != 0 { @@ -217431,7 +219196,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint case int32('M'): zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))) if zText == uintptr(0) { - zText = __ccgo_ts + 1650 + zText = __ccgo_ts + 1664 } iCol = 0 for cond := true; cond; cond = int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= int32('9') { @@ -217553,7 +219318,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint } } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent == uintptr(0) { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37398, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37544, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = int32(SQLITE_ERROR) } else { /* This is either a full-table scan (ePlan==FTS5_PLAN_SCAN) or a lookup @@ -217691,7 +219456,7 @@ func _fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) (r int32) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< int32(1) { - v1 = __ccgo_ts + 21264 + v1 = __ccgo_ts + 21396 } else { - v1 = __ccgo_ts + 37676 + v1 = __ccgo_ts + 37822 } - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37688, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37834, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if nArg == int32(1) { @@ -217948,7 +219713,7 @@ func _fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && bUpdateOrDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FbSecureDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion == int32(FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+36225, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+36371, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = int32(FTS5_CURRENT_VERSION_SECUREDELETE) } @@ -218744,7 +220509,7 @@ func _fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) iCsrId = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) pCsr = _fts5CursorFromCsrid(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId) if pCsr == uintptr(0) || (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37725, libc.VaList(bp+8, iCsrId)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37871, libc.VaList(bp+8, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } else { @@ -218935,7 +220700,7 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = uintptr(0) } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 && Xsqlite3_vtab_nochange(tls, pCtx) != 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37746, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37892, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -219177,7 +220942,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr pMod = _fts5LocateTokenizer(tls, pGlobal, v1) if pMod == uintptr(0) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37817, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37963, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) } else { if azArg != 0 { v2 = azArg + 1*8 @@ -219193,7 +220958,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr (*TFts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16 if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37839, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37985, 0) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FePattern = _sqlite3Fts5TokenizerPattern(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate, (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok) @@ -219248,7 +221013,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { _, _ = pGlobal, ppApi pGlobal = Xsqlite3_user_data(tls, pCtx) _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37870) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+38016) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal } @@ -219262,7 +221027,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { func _fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37883, -int32(1), uintptr(-libc.Int32FromInt32(1))) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+38029, -int32(1), uintptr(-libc.Int32FromInt32(1))) } // C documentation @@ -219291,11 +221056,11 @@ func _fts5ShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName2 = [5]uintptr{ - 0: __ccgo_ts + 37974, - 1: __ccgo_ts + 35486, - 2: __ccgo_ts + 26136, - 3: __ccgo_ts + 36053, - 4: __ccgo_ts + 12141, + 0: __ccgo_ts + 38120, + 1: __ccgo_ts + 35632, + 2: __ccgo_ts + 26282, + 3: __ccgo_ts + 36199, + 4: __ccgo_ts + 12266, } // C documentation @@ -219309,20 +221074,26 @@ func _fts5IntegrityMethod(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zTabnam bp := tls.Alloc(32) defer tls.Free(32) var pTab uintptr - var rc int32 - _, _ = pTab, rc + var rc, v1 int32 + _, _, _ = pTab, rc, v1 pTab = pVtab _ = isQuick rc = _sqlite3Fts5StorageIntegrity(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, 0) if rc&int32(0xff) == int32(SQLITE_CORRUPT) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37981, libc.VaList(bp+8, zSchema, zTabname)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38127, libc.VaList(bp+8, zSchema, zTabname)) + if *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { + v1 = SQLITE_OK + } else { + v1 = int32(SQLITE_NOMEM) + } + rc = v1 } else { if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38027, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38173, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) } } _sqlite3Fts5IndexCloseReader(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) - return SQLITE_OK + return rc } func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { @@ -219341,7 +221112,7 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateFunction = __ccgo_fp(_fts5CreateAux) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateTokenizer = __ccgo_fp(_fts5CreateTokenizer) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = __ccgo_fp(_fts5FindTokenizer) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+38090, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+38236, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) if rc == SQLITE_OK { rc = _sqlite3Fts5IndexInit(tls, db) } @@ -219358,10 +221129,10 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { rc = _sqlite3Fts5VocabInit(tls, pGlobal, db) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+38090, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+38236, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+38095, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+38241, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) } } /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file @@ -219464,17 +221235,17 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, ** statements to operate on it. */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { azStmt = [11]uintptr{ - 0: __ccgo_ts + 38110, - 1: __ccgo_ts + 38178, - 2: __ccgo_ts + 38247, - 3: __ccgo_ts + 38280, - 4: __ccgo_ts + 38319, - 5: __ccgo_ts + 38359, - 6: __ccgo_ts + 38398, - 7: __ccgo_ts + 38441, - 8: __ccgo_ts + 38480, - 9: __ccgo_ts + 38524, - 10: __ccgo_ts + 38564, + 0: __ccgo_ts + 38256, + 1: __ccgo_ts + 38324, + 2: __ccgo_ts + 38393, + 3: __ccgo_ts + 38426, + 4: __ccgo_ts + 38465, + 5: __ccgo_ts + 38505, + 6: __ccgo_ts + 38544, + 7: __ccgo_ts + 38587, + 8: __ccgo_ts + 38626, + 9: __ccgo_ts + 38670, + 10: __ccgo_ts + 38710, } pC = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig zSql = uintptr(0) @@ -219511,16 +221282,16 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, } case int32(FTS5_STMT_REPLACE_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v2 = __ccgo_ts + 38587 + v2 = __ccgo_ts + 38733 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName, v2)) case int32(FTS5_STMT_LOOKUP_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v3 = __ccgo_ts + 38590 + v3 = __ccgo_ts + 38736 } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, v3, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName)) default: @@ -219539,7 +221310,7 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, (*TFts5Config)(unsafe.Pointer((*TFts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if rc != SQLITE_OK && pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -219576,12 +221347,12 @@ func _sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) (r int32) { defer tls.Free(64) var rc int32 _ = rc - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38598, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38744, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38702, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38848, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38740, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38886, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } @@ -219590,7 +221361,7 @@ func _fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail ui bp := tls.Alloc(48) defer tls.Free(48) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38778, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) + *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38924, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -219602,14 +221373,14 @@ func _sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) ( _ = pConfig pConfig = (*TFts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageSync(tls, pStorage) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+26136, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+12141, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37974, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+26282, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+12266, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+38120, zName) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+36053, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+36199, zName) } if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35486, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35632, zName) } return *(*int32)(unsafe.Pointer(bp)) } @@ -219629,13 +221400,13 @@ func _sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDef _, _ = rc, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if bWithout != 0 { - v1 = __ccgo_ts + 30776 + v1 = __ccgo_ts + 30922 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38820, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38966, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38850, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38996, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) } return rc @@ -219676,36 +221447,36 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr if zDefn == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38894, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+39040, 0) iOff = int32(libc.Xstrlen(tls, zDefn)) i = 0 for { if !(i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } - Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38917, libc.VaList(bp+8, i)) + Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+39063, libc.VaList(bp+8, i)) iOff += int32(libc.Xstrlen(tls, zDefn+uintptr(iOff))) goto _2 _2: ; i++ } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35486, zDefn, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35632, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - zCols = __ccgo_ts + 38923 + zCols = __ccgo_ts + 39069 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 { - zCols = __ccgo_ts + 38955 + zCols = __ccgo_ts + 39101 } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+36053, zCols, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+36199, zCols, 0, pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37974, __ccgo_ts+39003, int32(1), pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+38120, __ccgo_ts+39149, int32(1), pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+36225, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+36371, uintptr(0), int32(FTS5_CURRENT_VERSION)) } } if rc != 0 { @@ -220047,9 +221818,9 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig (*TFts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 /* Delete the contents of the %_data and %_docsize tables. */ - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39020, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39166, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39070, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39216, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } /* Reinitialize the %_data table. This call creates the initial structure ** and averages records. */ @@ -220057,7 +221828,7 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3Fts5IndexReinit(tls, (*TFts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+36225, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+36371, uintptr(0), int32(FTS5_CURRENT_VERSION)) } return rc } @@ -220271,7 +222042,7 @@ func _fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var _ /* pCnt at bp+0 */ uintptr _, _, _ = pConfig, rc, zSql pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+39099, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+39245, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -220481,14 +222252,14 @@ func _sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) (r int32 ** number of rows. */ if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { *(*Ti64)(unsafe.Pointer(bp + 48)) = 0 - rc = _fts5StorageCount(tls, p, __ccgo_ts+35486, bp+48) + rc = _fts5StorageCount(tls, p, __ccgo_ts+35632, bp+48) if rc == SQLITE_OK && *(*Ti64)(unsafe.Pointer(bp + 48)) != (*TFts5Storage)(unsafe.Pointer(p)).FnTotalRow { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) } @@ -221690,64 +223461,64 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39201, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39347, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39204, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39350, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39209, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39355, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('e'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39214, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39360, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39217, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39363, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('l'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39220, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39366, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39225, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39371, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39230, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39376, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39234, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39380, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39240, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39386, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39245, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39391, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -221756,49 +223527,49 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39249, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39395, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39253, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39399, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } } case int32('s'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39256, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39402, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('t'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39260, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39406, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39264, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39410, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39268, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39414, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39272, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39418, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('z'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39276, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39422, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -221815,20 +223586,20 @@ func _fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39280, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39260, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(2)), 0)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39426, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39406, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(2)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('b'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39283, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39286, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(2)), 0)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39429, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39432, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(2)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39290, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39276, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(2)), 0)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39436, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39422, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(2)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } @@ -221844,75 +223615,75 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39293, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39439, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39260, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39406, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39301, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39447, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39308, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(6)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39454, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(6)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(4) } } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39313, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39459, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39209, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39355, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39318, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39464, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39204, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39350, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } } case int32('e'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39323, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39469, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39276, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39422, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('g'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39328, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39474, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+16255, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+16334, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('l'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39333, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39479, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39286, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(3)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39432, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(3)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39337, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39483, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39201, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39347, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39342, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39488, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39245, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39391, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39348, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39494, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39352, uint64(1), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(3)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39498, uint64(1), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(3)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(1) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39354, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39500, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39268, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39414, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } @@ -221921,48 +223692,48 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39360, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39506, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39276, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39422, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39368, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39514, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39260, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39406, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39374, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39520, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39260, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39406, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } } } case int32('s'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39379, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39525, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39201, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39347, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39385, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39531, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39272, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39418, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39393, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39539, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39401, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39547, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39405, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39551, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39268, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39414, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } @@ -221970,21 +223741,21 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39413, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39559, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39201, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39347, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39419, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39565, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39272, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39418, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39425, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39571, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39286, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(6)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39432, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(6)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(3) } } @@ -222002,48 +223773,48 @@ func _fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39432, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39578, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39217, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39363, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } case int32('s'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39437, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39583, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39442, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39588, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39217, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39363, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39448, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39594, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39217, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39363, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39401, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39547, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39454, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39600, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } case int32('z'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39460, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39606, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39201, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39347, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } @@ -222059,13 +223830,13 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('e'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39466, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39612, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39470, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(3)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39616, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(3)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(2) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39473, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39619, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) ret = int32(1) @@ -222073,7 +223844,7 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39476, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39622, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) ret = int32(1) @@ -222234,14 +224005,14 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p break } zArg = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+int32(1))*8)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39480) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39626) { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { (*TTrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('0')) } } else { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39173) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39319) { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('2') || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { @@ -222515,7 +224286,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { Fx Tfts5_tokenizer }{ 0: { - FzName: __ccgo_ts + 39191, + FzName: __ccgo_ts + 39337, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5UnicodeCreate), FxDelete: __ccgo_fp(_fts5UnicodeDelete), @@ -222523,7 +224294,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 1: { - FzName: __ccgo_ts + 39495, + FzName: __ccgo_ts + 39641, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5AsciiCreate), FxDelete: __ccgo_fp(_fts5AsciiDelete), @@ -222531,7 +224302,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 2: { - FzName: __ccgo_ts + 39501, + FzName: __ccgo_ts + 39647, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5PorterCreate), FxDelete: __ccgo_fp(_fts5PorterDelete), @@ -222539,7 +224310,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 3: { - FzName: __ccgo_ts + 39508, + FzName: __ccgo_ts + 39654, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5TriCreate), FxDelete: __ccgo_fp(_fts5TriDelete), @@ -228073,16 +229844,16 @@ func _fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uin zCopy = _sqlite3Fts5Strndup(tls, bp, zType, -int32(1)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { _sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39516) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39662) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39520) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39666) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_ROW) } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39524) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39670) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_INSTANCE) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39533, libc.VaList(bp+16, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39679, libc.VaList(bp+16, zCopy)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -228151,15 +229922,15 @@ func _fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg var _ /* rc at bp+0 */ int32 _, _, _, _, _, _, _, _, _, _, _, _ = azSchema, bDb, nByte, nDb, nTab, pRet, zDb, zTab, zType, v1, v2, v3 azSchema = [3]uintptr{ - 0: __ccgo_ts + 39567, - 1: __ccgo_ts + 39607, - 2: __ccgo_ts + 39642, + 0: __ccgo_ts + 39713, + 1: __ccgo_ts + 39753, + 2: __ccgo_ts + 39788, } pRet = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+24137, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) + bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+24260, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) if argc != int32(5) && bDb == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39685, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39831, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bDb != 0 { @@ -228329,10 +230100,10 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) zSql = uintptr(0) if (*TFts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39718, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39864, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return int32(SQLITE_ERROR) } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39749, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39895, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, (*TFts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), bp+8, uintptr(0)) } @@ -228351,7 +230122,7 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39800, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39946, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } else { @@ -228653,7 +230424,7 @@ func _fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnuse if pLe != 0 { zCopy = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = __ccgo_ts + 1650 + zCopy = __ccgo_ts + 1664 } (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm+int32(1)) @@ -228777,7 +230548,7 @@ func _sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) (r int32) var p uintptr _ = p p = pGlobal - return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39826, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39972, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) } var _fts5Vocab = Tsqlite3_module{ @@ -228830,7 +230601,7 @@ func init() { // /************** End of stmt.c ************************************************/ // /* Return the source-id for this library */ func Xsqlite3_sourceid(tls *libc.TLS) (r uintptr) { - return __ccgo_ts + 39836 + return __ccgo_ts + 39982 } type TAggInfo_col = struct { @@ -229112,11 +230883,11 @@ var Xsqlite3_temp_directory uintptr // ** // ** See also: [sqlite_version()] and [sqlite_source_id()]. // */ -var Xsqlite3_version = [7]int8{'3', '.', '4', '5', '.', '3'} +var Xsqlite3_version = [7]int8{'3', '.', '4', '6', '.', '0'} var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data -var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-15.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%04d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00S\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\x00nfs\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00msdos\x00exfat\x00SQLITE_FORCE_PROXY_LOCKING\x00:auto:\x00fsync\x00/dev/urandom\x00sqliteplocks\x00/\x00dummy\x00break\x00path error (len %d)\x00read error (len %d)\x00create failed (%d)\x00write failed (%d)\x00rename failed (%d)\x00broke stale lock on %s\n\x00failed to break stale lock on %s, %s\n\x00-conch\x00.lock\x00:auto: (not held)\x00unix\x00unix-none\x00unix-dotfile\x00unix-posix\x00unix-flock\x00unix-afp\x00unix-nfs\x00unix-proxy\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00PRAGMA \"%w\".integrity_check(%Q)\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00dylib\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00lock_proxy_file\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00failed to set lock proxy file\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00RIGHT PART OF \x00USE TEMP B-TREE FOR %sORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00" +var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-15.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00S\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\x00nfs\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00msdos\x00exfat\x00SQLITE_FORCE_PROXY_LOCKING\x00:auto:\x00fsync\x00/dev/urandom\x00sqliteplocks\x00/\x00dummy\x00break\x00path error (len %d)\x00read error (len %d)\x00create failed (%d)\x00write failed (%d)\x00rename failed (%d)\x00broke stale lock on %s\n\x00failed to break stale lock on %s, %s\n\x00-conch\x00.lock\x00:auto: (not held)\x00unix\x00unix-none\x00unix-dotfile\x00unix-posix\x00unix-flock\x00unix-afp\x00unix-nfs\x00unix-proxy\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00dylib\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00lock_proxy_file\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00failed to set lock proxy file\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00" type Sqlite3_int64 = sqlite3_int64 type Sqlite3_mutex_methods = sqlite3_mutex_methods diff --git a/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go b/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go index 4c77111415..97211c806d 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go @@ -1,4 +1,4 @@ -// Code generated for darwin/arm64 by 'generator --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -extended-errors -o sqlite3.go sqlite3.c -I/tmp/libsqlite3/sqlite-amalgamation-3450300/ccgo -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. +// Code generated for darwin/arm64 by 'generator --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -I /Users/jnml/src/modernc.org/builder/.exclude/modernc.org/libz/include/darwin/arm64 -I /Users/jnml/src/modernc.org/builder/.exclude/modernc.org/libtcl8.6/include/darwin/arm64 -extended-errors -o sqlite3.go sqlite3.c -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. //go:build darwin && arm64 // +build darwin,arm64 @@ -1438,6 +1438,7 @@ const OPFLG_IN1 = 2 const OPFLG_IN2 = 4 const OPFLG_IN3 = 8 const OPFLG_JUMP = 1 +const OPFLG_JUMP0 = 128 const OPFLG_NCYCLE = 64 const OPFLG_OUT2 = 16 const OPFLG_OUT3 = 32 @@ -1515,7 +1516,7 @@ const OP_IfNotOpen = 25 const OP_IfNotZero = 60 const OP_IfNullRow = 20 const OP_IfPos = 59 -const OP_IfSmaller = 33 +const OP_IfSizeBetween = 33 const OP_IncrVacuum = 62 const OP_Init = 8 const OP_InitCoroutine = 11 @@ -2014,6 +2015,7 @@ const SF_ComplexResult = 262144 const SF_Compound = 256 const SF_Converted = 65536 const SF_CopyCte = 67108864 +const SF_Correlated = 536870912 const SF_DATALESS = 1073741824 const SF_Distinct = 1 const SF_Expanded = 64 @@ -2281,6 +2283,7 @@ const SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT = -1 const SQLITE_DEFAULT_LOOKASIDE = 40 const SQLITE_DEFAULT_MEMSTATUS = 0 const SQLITE_DEFAULT_MMAP_SIZE = 0 +const SQLITE_DEFAULT_OPTIMIZE_LIMIT = 2000 const SQLITE_DEFAULT_PAGE_SIZE = 4096 const SQLITE_DEFAULT_PCACHE_INITSZ = 20 const SQLITE_DEFAULT_PROXYDIR_PERMISSIONS = 493 @@ -2298,6 +2301,7 @@ const SQLITE_DESERIALIZE_READONLY = 4 const SQLITE_DESERIALIZE_RESIZEABLE = 2 const SQLITE_DETACH = 25 const SQLITE_DETERMINISTIC = 2048 +const SQLITE_DIGIT_SEPARATOR = 95 const SQLITE_DIRECTONLY = 524288 const SQLITE_DIRECT_OVERFLOW_READ = 1 const SQLITE_DONE = 101 @@ -2722,7 +2726,7 @@ const SQLITE_SHM_SHARED = 4 const SQLITE_SHM_UNLOCK = 1 const SQLITE_SORTER_PMASZ = 250 const SQLITE_SOUNDEX = 1 -const SQLITE_SOURCE_ID = "2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355" +const SQLITE_SOURCE_ID = "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e" const SQLITE_SO_ASC = 0 const SQLITE_SO_DESC = 1 const SQLITE_SO_UNDEFINED = -1 @@ -2830,8 +2834,8 @@ const SQLITE_UTF16LE = 2 const SQLITE_UTF16NATIVE = 2 const SQLITE_UTF16_ALIGNED = 8 const SQLITE_UTF8 = 1 -const SQLITE_VERSION = "3.45.3" -const SQLITE_VERSION_NUMBER = 3045003 +const SQLITE_VERSION = "3.46.0" +const SQLITE_VERSION_NUMBER = 3046000 const SQLITE_VTABRISK_High = 2 const SQLITE_VTABRISK_Low = 0 const SQLITE_VTABRISK_Normal = 1 @@ -2984,11 +2988,11 @@ const TF_HasStat1 = 16 const TF_HasStat4 = 8192 const TF_HasStored = 64 const TF_HasVirtual = 32 +const TF_MaybeReanalyze = 256 const TF_NoVisibleRowid = 512 const TF_OOOHidden = 1024 const TF_Readonly = 1 const TF_Shadow = 4096 -const TF_StatsUsed = 256 const TF_Strict = 65536 const TF_WithoutRowid = 128 const TIME_UTC = 1 @@ -3094,7 +3098,7 @@ const TK_ID = 59 const TK_IF = 18 const TK_IF_NULL_ROW = 179 const TK_IGNORE = 63 -const TK_ILLEGAL = 184 +const TK_ILLEGAL = 185 const TK_IMMEDIATE = 8 const TK_IN = 49 const TK_INDEX = 161 @@ -3142,6 +3146,7 @@ const TK_PRAGMA = 70 const TK_PRECEDING = 88 const TK_PRIMARY = 122 const TK_PTR = 112 +const TK_QNUMBER = 183 const TK_QUERY = 3 const TK_RAISE = 71 const TK_RANGE = 89 @@ -3166,7 +3171,7 @@ const TK_SELECT_COLUMN = 178 const TK_SEMI = 1 const TK_SET = 130 const TK_SLASH = 109 -const TK_SPACE = 183 +const TK_SPACE = 184 const TK_SPAN = 181 const TK_STAR = 108 const TK_STRING = 117 @@ -3179,12 +3184,12 @@ const TK_TRANSACTION = 6 const TK_TRIGGER = 77 const TK_TRUEFALSE = 170 const TK_TRUTH = 175 -const TK_UMINUS = 173 +const TK_UMINUS = 174 const TK_UNBOUNDED = 90 const TK_UNION = 134 const TK_UNIQUE = 123 const TK_UPDATE = 129 -const TK_UPLUS = 174 +const TK_UPLUS = 173 const TK_USING = 144 const TK_VACUUM = 78 const TK_VALUES = 139 @@ -3467,31 +3472,37 @@ const XN_ROWID = -1 const XUCRED_VERSION = 0 const X_OK = 1 const X_TLOSS = 0 +const YYDYNSTACK = 1 const YYFALLBACK = 1 +const YYFREE = 0 +const YYGROWABLESTACK = 1 const YYMALLOCARGTYPE = 0 -const YYNOCODE = 319 +const YYNOCODE = 322 const YYNOERRORRECOVERY = 1 -const YYNRULE = 405 -const YYNRULE_WITH_ACTION = 340 -const YYNSTATE = 579 -const YYNTOKEN = 185 +const YYNRULE = 409 +const YYNRULE_WITH_ACTION = 344 +const YYNSTATE = 583 +const YYNTOKEN = 186 const YYPARSEFREENEVERNULL = 1 +const YYREALLOC = 0 const YYSTACKDEPTH = 100 const YYWILDCARD = 101 -const YY_ACCEPT_ACTION = 1244 -const YY_ACTTAB_COUNT = 2100 -const YY_ERROR_ACTION = 1243 -const YY_MAX_REDUCE = 1650 -const YY_MAX_SHIFT = 578 -const YY_MAX_SHIFTREDUCE = 1242 -const YY_MIN_REDUCE = 1246 -const YY_MIN_SHIFTREDUCE = 838 -const YY_NO_ACTION = 1245 -const YY_REDUCE_COUNT = 410 -const YY_REDUCE_MAX = 1753 -const YY_REDUCE_MIN = -271 -const YY_SHIFT_COUNT = 578 -const YY_SHIFT_MAX = 2088 +const YY_ACCEPT_ACTION = 1255 +const YY_ACTTAB_COUNT = 2142 +const YY_ERROR_ACTION = 1254 +const YY_MAX_DSTRCTR = 319 +const YY_MAX_REDUCE = 1665 +const YY_MAX_SHIFT = 582 +const YY_MAX_SHIFTREDUCE = 1253 +const YY_MIN_DSTRCTR = 205 +const YY_MIN_REDUCE = 1257 +const YY_MIN_SHIFTREDUCE = 845 +const YY_NO_ACTION = 1256 +const YY_REDUCE_COUNT = 411 +const YY_REDUCE_MAX = 1798 +const YY_REDUCE_MIN = -275 +const YY_SHIFT_COUNT = 582 +const YY_SHIFT_MAX = 2128 const YY_SHIFT_MIN = 0 const _ACCESS_EXTENDED_MASK = 4193792 const _APPEND_OK = 8192 @@ -4573,6 +4584,9 @@ const fdatasync = 0 const first_valueInvFunc = 0 const first_valueValueFunc = 0 const fts5GetVarint = 0 +const fts5YYDYNSTACK = 0 +const fts5YYFREE = 0 +const fts5YYGROWABLESTACK = 0 const fts5YYMALLOCARGTYPE = 0 const fts5YYNFTS5TOKEN = 16 const fts5YYNOCODE = 27 @@ -4581,13 +4595,16 @@ const fts5YYNRULE = 28 const fts5YYNRULE_WITH_ACTION = 28 const fts5YYNSTATE = 35 const fts5YYPARSEFREENOTNULL = 1 +const fts5YYREALLOC = 0 const fts5YYSTACKDEPTH = 100 const fts5YY_ACCEPT_ACTION = 81 const fts5YY_ACTTAB_COUNT = 105 const fts5YY_ERROR_ACTION = 80 +const fts5YY_MAX_DSTRCTR = 24 const fts5YY_MAX_REDUCE = 110 const fts5YY_MAX_SHIFT = 34 const fts5YY_MAX_SHIFTREDUCE = 79 +const fts5YY_MIN_DSTRCTR = 16 const fts5YY_MIN_REDUCE = 83 const fts5YY_MIN_SHIFTREDUCE = 52 const fts5YY_NO_ACTION = 82 @@ -5015,11 +5032,11 @@ type sqlite3_file1 = Tsqlite3_file1 // ** // ** xLock() upgrades the database file lock. In other words, xLock() moves the // ** database file lock in the direction NONE toward EXCLUSIVE. The argument to -// ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never +// ** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never // ** SQLITE_LOCK_NONE. If the database file lock is already at or above the // ** requested lock, then the call to xLock() is a no-op. // ** xUnlock() downgrades the database file lock to either SHARED or NONE. -// * If the lock is already at or below the requested lock state, then the call +// ** If the lock is already at or below the requested lock state, then the call // ** to xUnlock() is a no-op. // ** The xCheckReservedLock() method checks whether any database connection, // ** either in this process or in some other process, is holding a RESERVED, @@ -6799,6 +6816,7 @@ type Tsqlite3_changegroup = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -7125,8 +7143,8 @@ type Fts5PhraseIter1 = TFts5PhraseIter1 ** EXTENSION API FUNCTIONS ** ** xUserData(pFts): -** Return a copy of the context pointer the extension function was -** registered with. +** Return a copy of the pUserData pointer passed to the xCreateFunction() +** API when the extension function was registered. ** ** xColumnTotalSize(pFts, iCol, pnToken): ** If parameter iCol is less than zero, set output variable *pnToken @@ -9218,7 +9236,7 @@ type uptr = Tuptr ** 0x00000010 Display sqlite3_index_info xBestIndex calls ** 0x00000020 Range an equality scan metrics ** 0x00000040 IN operator decisions -** 0x00000080 WhereLoop cost adjustements +** 0x00000080 WhereLoop cost adjustments ** 0x00000100 ** 0x00000200 Covering index decisions ** 0x00000400 OR optimization @@ -9730,6 +9748,7 @@ type TParse = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -9949,6 +9968,7 @@ type TSrcItem = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -12225,10 +12245,12 @@ type IdList1 = TIdList1 ** ** Union member validity: ** -** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc -** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy -** u2.pIBIndex fg.isIndexedBy && !fg.isCte -** u2.pCteUse fg.isCte && !fg.isIndexedBy +** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc +** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy +** u1.nRow !fg.isTabFunc && !fg.isIndexedBy +** +** u2.pIBIndex fg.isIndexedBy && !fg.isCte +** u2.pCteUse fg.isCte && !fg.isIndexedBy */ type TSrcItem1 = struct { FpSchema uintptr @@ -12254,6 +12276,7 @@ type TSrcItem1 = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -12657,6 +12680,7 @@ type TParse1 = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -14019,12 +14043,12 @@ var _sqlite3WhereTrace = uint32(0) var _sqlite3OpcodeProperty = [190]uint8{ 4: uint8(0x10), 6: uint8(0x41), - 8: uint8(0x01), + 8: uint8(0x81), 9: uint8(0x01), 10: uint8(0x01), - 11: uint8(0x01), - 12: uint8(0x03), - 13: uint8(0x03), + 11: uint8(0x81), + 12: uint8(0x83), + 13: uint8(0x83), 14: uint8(0x01), 15: uint8(0x01), 16: uint8(0x03), @@ -14032,22 +14056,22 @@ var _sqlite3OpcodeProperty = [190]uint8{ 18: uint8(0x01), 19: uint8(0x12), 20: uint8(0x01), - 21: uint8(0x49), - 22: uint8(0x49), - 23: uint8(0x49), - 24: uint8(0x49), + 21: uint8(0xc9), + 22: uint8(0xc9), + 23: uint8(0xc9), + 24: uint8(0xc9), 25: uint8(0x01), 26: uint8(0x49), 27: uint8(0x49), 28: uint8(0x49), 29: uint8(0x49), - 30: uint8(0x49), + 30: uint8(0xc9), 31: uint8(0x49), - 32: uint8(0x41), + 32: uint8(0xc1), 33: uint8(0x01), 34: uint8(0x41), 35: uint8(0x41), - 36: uint8(0x41), + 36: uint8(0xc1), 37: uint8(0x01), 38: uint8(0x41), 39: uint8(0x41), @@ -14059,7 +14083,7 @@ var _sqlite3OpcodeProperty = [190]uint8{ 45: uint8(0x41), 46: uint8(0x23), 47: uint8(0x0b), - 48: uint8(0x01), + 48: uint8(0x81), 49: uint8(0x01), 50: uint8(0x03), 51: uint8(0x03), @@ -14914,7 +14938,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin var pMutex, v1 uintptr _, _ = pMutex, v1 if op < 0 || op >= int32(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) { - return _sqlite3MisuseError(tls, int32(23890)) + return _sqlite3MisuseError(tls, int32(23961)) } if _statMutex[op] != 0 { v1 = _sqlite3Pcache1Mutex(tls) @@ -15256,43 +15280,37 @@ const __CLOCK_THREAD_CPUTIME_ID = 16 // ** A structure for holding a single date and time. // */ type TDateTime = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - FuseSubsec int8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FvalidYMD int8 + FvalidHMS int8 + FnFloor int8 + F__ccgo44 uint8 } type DateTime = TDateTime type TDateTime1 = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - FuseSubsec int8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FvalidYMD int8 + FvalidHMS int8 + FnFloor int8 + F__ccgo44 uint8 } type DateTime1 = TDateTime1 @@ -15418,6 +15436,8 @@ func _parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { } else { if c == int32('Z') || c == int32('z') { zDate++ + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) goto zulu_time } else { return libc.BoolInt32(c != 0) @@ -15436,7 +15456,6 @@ zulu_time: for int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate)))])&int32(0x01) != 0 { zDate++ } - (*TDateTime)(unsafe.Pointer(p)).FtzSet = int8(1) return libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zDate))) != 0) } @@ -15453,11 +15472,10 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var ms, rScale float64 - var v1 int32 var _ /* h at bp+0 */ int32 var _ /* m at bp+4 */ int32 var _ /* s at bp+8 */ int32 - _, _, _ = ms, rScale, v1 + _, _ = ms, rScale ms = float64(0) if _getDigits(tls, zDate, __ccgo_ts+1164, libc.VaList(bp+24, bp, bp+4)) != int32(2) { return int32(1) @@ -15483,7 +15501,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { *(*int32)(unsafe.Pointer(bp + 8)) = 0 } (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) (*TDateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp)) (*TDateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 4)) @@ -15491,12 +15509,6 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { if _parseTimezone(tls, zDate, p) != 0 { return int32(1) } - if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { - v1 = int32(1) - } else { - v1 = 0 - } - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = int8(v1) return 0 } @@ -15507,7 +15519,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { // */ func _datetimeError(tls *libc.TLS, p uintptr) { libc.X__builtin___memset_chk(tls, p, 0, uint64(48), libc.X__builtin_object_size(tls, p, 0)) - (*TDateTime)(unsafe.Pointer(p)).FisError = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 1, 0x2) } // C documentation @@ -15533,7 +15545,7 @@ func _computeJD(tls *libc.TLS, p uintptr) { M = int32(1) D = int32(1) } - if Y < -int32(4713) || Y > int32(9999) || (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Y < -int32(4713) || Y > int32(9999) || int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { _datetimeError(tls, p) return } @@ -15549,11 +15561,41 @@ func _computeJD(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) if (*TDateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) += int64((*TDateTime)(unsafe.Pointer(p)).Fh*int32(3600000)+(*TDateTime)(unsafe.Pointer(p)).Fm*int32(60000)) + int64((*TDateTime)(unsafe.Pointer(p)).Fs*libc.Float64FromInt32(1000)+libc.Float64FromFloat64(0.5)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64((*TDateTime)(unsafe.Pointer(p)).Ftz * int32(60000)) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + } + } +} + +// C documentation +// +// /* +// ** Given the YYYY-MM-DD information current in p, determine if there +// ** is day-of-month overflow and set nFloor to the number of days that +// ** would need to be subtracted from the date in order to bring the +// ** date back to the end of the month. +// */ +func _computeFloor(tls *libc.TLS, p uintptr) { + if (*TDateTime)(unsafe.Pointer(p)).FD <= int32(28) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } else { + if int32(1)<<(*TDateTime)(unsafe.Pointer(p)).FM&int32(0x15aa) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } else { + if (*TDateTime)(unsafe.Pointer(p)).FM != int32(2) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = libc.BoolInt8((*TDateTime)(unsafe.Pointer(p)).FD == libc.Int32FromInt32(31)) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FY%int32(4) != 0 || (*TDateTime)(unsafe.Pointer(p)).FY%int32(100) == 0 && (*TDateTime)(unsafe.Pointer(p)).FY%int32(400) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = int8((*TDateTime)(unsafe.Pointer(p)).FD - int32(28)) + } else { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = int8((*TDateTime)(unsafe.Pointer(p)).FD - int32(29)) + } + } } } } @@ -15612,12 +15654,15 @@ func _parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FY = v1 (*TDateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 4)) (*TDateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 8)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + _computeFloor(tls, p) + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { _computeJD(tls, p) } return 0 } +/* Forward declaration */ + // C documentation // // /* @@ -15629,6 +15674,9 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) (*TDateTime)(unsafe.Pointer(p)).FiJD = _sqlite3StmtCurrentTime(tls, context) if (*TDateTime)(unsafe.Pointer(p)).FiJD > 0 { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + _clearYMD_HMS_TZ(tls, p) return 0 } else { return int32(1) @@ -15646,7 +15694,7 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) // */ func _setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { (*TDateTime)(unsafe.Pointer(p)).Fs = r - (*TDateTime)(unsafe.Pointer(p)).FrawS = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 0, 0x1) if r >= float64(0) && r < float64(5.3734845e+06) { (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r*libc.Float64FromFloat64(8.64e+07) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) @@ -15689,7 +15737,7 @@ func _parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) return 0 } else { if (_sqlite3StrICmp(tls, zDate, __ccgo_ts+1192) == 0 || _sqlite3StrICmp(tls, zDate, __ccgo_ts+1199) == 0) && _sqlite3NotPureFunc(tls, context) != 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) return _setDateTimeToCurrent(tls, context, p) } } @@ -15781,7 +15829,7 @@ func _computeHMS(tls *libc.TLS, p uintptr) { day_min = day_ms / int32(60000) (*TDateTime)(unsafe.Pointer(p)).Fm = day_min % int32(60) (*TDateTime)(unsafe.Pointer(p)).Fh = day_min / int32(60) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) } @@ -15803,7 +15851,7 @@ func _computeYMD_HMS(tls *libc.TLS, p uintptr) { func _clearYMD_HMS_TZ(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 } /* @@ -15904,9 +15952,9 @@ func _toLocaltime(tls *libc.TLS, p uintptr, pCtx uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = int8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 - (*TDateTime)(unsafe.Pointer(p)).FisError = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 1, 0x2) return SQLITE_OK } @@ -15954,13 +16002,13 @@ var _aXformType = [6]struct { FnName: uint8(5), FzName: [7]int8{'m', 'o', 'n', 't', 'h'}, FrLimit: float32(176546), - FrXform: float32(2.592e+06), + FrXform: float32(libc.Float64FromFloat64(30) * libc.Float64FromFloat64(86400)), }, 5: { FnName: uint8(4), FzName: [7]int8{'y', 'e', 'a', 'r'}, FrLimit: float32(14713), - FrXform: float32(3.1536e+07), + FrXform: float32(libc.Float64FromFloat64(365) * libc.Float64FromFloat64(86400)), }, } @@ -15974,15 +16022,15 @@ var _aXformType = [6]struct { func _autoAdjustDate(tls *libc.TLS, p uintptr) { var r float64 _ = r - if !((*TDateTime)(unsafe.Pointer(p)).FrawS != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + if !(int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } else { if (*TDateTime)(unsafe.Pointer(p)).Fs >= float64(int64(-libc.Int32FromInt32(21086676))*libc.Int64FromInt32(10000)) && (*TDateTime)(unsafe.Pointer(p)).Fs <= float64(libc.Int64FromInt32(25340230)*libc.Int64FromInt32(10000)+libc.Int64FromInt32(799)) { r = (*TDateTime)(unsafe.Pointer(p)).Fs*float64(1000) + float64(2.1086676e+14) _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } } @@ -15999,14 +16047,20 @@ func _autoAdjustDate(tls *libc.TLS, p uintptr) { // ** NNN.NNNN seconds // ** NNN months // ** NNN years +// ** +/-YYYY-MM-DD HH:MM:SS.SSS +// ** ceiling +// ** floor // ** start of month // ** start of year // ** start of week // ** start of day // ** weekday N // ** unixepoch +// ** auto // ** localtime // ** utc +// ** subsec +// ** subsecond // ** // ** Return 0 on success and 1 if there is any kind of error. If the error // ** is in a system call (i.e. localtime()), then an error message is written @@ -16017,12 +16071,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, bp := tls.Alloc(160) defer tls.Free(160) var Z, day Tsqlite3_int64 - var cnt, i, rc, x, y, v12, v2, v5, v7, v9 int32 - var iErr, iGuess, iOrigJD, v1 Ti64 - var rRounder, v10 float64 + var cnt, i, rc, x, y, v1, v10, v13, v3, v6, v8 int32 + var iErr, iGuess, iOrigJD, v2 Ti64 + var rRounder, v11 float64 var z0 int8 var z2 uintptr - var v3, v6 bool + var v4, v7 bool var _ /* D at bp+64 */ int32 var _ /* M at bp+60 */ int32 var _ /* Y at bp+56 */ int32 @@ -16031,7 +16085,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, var _ /* new at bp+8 */ TDateTime var _ /* r at bp+0 */ float64 var _ /* tx at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v12, v2, v3, v5, v6, v7, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v11, v13, v2, v3, v4, v6, v7, v8 rc = int32(1) switch int32(_sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z)))]) { case int32('a'): @@ -16048,6 +16102,33 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _autoAdjustDate(tls, p) rc = 0 } + case int32('c'): + /* + ** ceiling + ** + ** Resolve day-of-month overflow by rolling forward into the next + ** month. As this is the default action, this modifier is really + ** a no-op that is only included for symmetry. See "floor". + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1237) == 0 { + _computeJD(tls, p) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } + case int32('f'): + /* + ** floor + ** + ** Resolve day-of-month overflow by rolling back to the end of the + ** previous month. + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1245) == 0 { + _computeJD(tls, p) + *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64(int32((*TDateTime)(unsafe.Pointer(p)).FnFloor) * int32(86400000)) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + } case int32('j'): /* ** julianday @@ -16057,13 +16138,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** value in the allowed range of julian day numbers understood by ** SQLite (0..5373484.5) then the result will be NULL. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1237) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1251) == 0 { if idx > int32(1) { return int32(1) } /* IMP: R-31176-64601 */ - if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { rc = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } case int32('l'): @@ -16072,8 +16153,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Assuming the current time value is UTC (a.k.a. GMT), shift it to ** show local time. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1247) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - rc = _toLocaltime(tls, p, pCtx) + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1261) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x10>>4)) != 0 { + v1 = SQLITE_OK + } else { + v1 = _toLocaltime(tls, p, pCtx) + } + rc = v1 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 4, 0x10) } case int32('u'): /* @@ -16082,7 +16170,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Treat the current value of p->s as the number of ** seconds since 1970. Convert to a real julian day number. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1257) == 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1271) == 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { if idx > int32(1) { return int32(1) } /* IMP: R-49255-55373 */ @@ -16091,17 +16179,17 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(*(*float64)(unsafe.Pointer(bp)) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) rc = 0 } } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1267) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - if int32((*TDateTime)(unsafe.Pointer(p)).FtzSet) == 0 { /* Guess at the corresponding utc time */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1281) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x8>>3)) == 0 { /* Guess at the corresponding utc time */ cnt = 0 /* Guess is off by this much */ _computeJD(tls, p) - v1 = (*TDateTime)(unsafe.Pointer(p)).FiJD - iOrigJD = v1 - iGuess = v1 + v2 = (*TDateTime)(unsafe.Pointer(p)).FiJD + iOrigJD = v2 + iGuess = v2 iErr = 0 for { libc.X__builtin___memset_chk(tls, bp+8, 0, uint64(48), libc.X__builtin_object_size(tls, bp+8, 0)) @@ -16114,21 +16202,22 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, bp+8) iErr = (*(*TDateTime)(unsafe.Pointer(bp + 8))).FiJD - iOrigJD - goto _4 - _4: + goto _5 + _5: ; - if v3 = iErr != 0; v3 { - v2 = cnt + if v4 = iErr != 0; v4 { + v3 = cnt cnt++ } - if !(v3 && v2 < int32(3)) { + if !(v4 && v3 < int32(3)) { break } } libc.X__builtin___memset_chk(tls, p, 0, uint64(48), libc.X__builtin_object_size(tls, p, 0)) (*TDateTime)(unsafe.Pointer(p)).FiJD = iGuess (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FtzSet = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) } rc = SQLITE_OK } @@ -16141,13 +16230,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** weekday N where 0==Sunday, 1==Monday, and so forth. If the ** date is already on the appropriate weekday, this is a no-op. */ - if v6 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1271, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v6 { - v5 = int32(*(*float64)(unsafe.Pointer(bp))) - n = v5 + if v7 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1285, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v7 { + v6 = int32(*(*float64)(unsafe.Pointer(bp))) + n = v6 } - if v6 && float64(v5) == *(*float64)(unsafe.Pointer(bp)) { + if v7 && float64(v6) == *(*float64)(unsafe.Pointer(bp)) { _computeYMD_HMS(tls, p) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 _computeJD(tls, p) Z = ((*TDateTime)(unsafe.Pointer(p)).FiJD + int64(129600000)) / int64(86400000) % int64(7) @@ -16171,9 +16260,9 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Show subsecond precision in the output of datetime() and ** unixepoch() and strftime('%s'). */ - if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1280, int32(9)) != 0 { + if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1294, int32(9)) != 0 { if Xsqlite3_stricmp(tls, z, __ccgo_ts+1192) == 0 || Xsqlite3_stricmp(tls, z, __ccgo_ts+1199) == 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) rc = 0 } break @@ -16184,23 +16273,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z += uintptr(9) _computeYMD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) - v7 = libc.Int32FromInt32(0) - (*TDateTime)(unsafe.Pointer(p)).Fm = v7 - (*TDateTime)(unsafe.Pointer(p)).Fh = v7 + v8 = libc.Int32FromInt32(0) + (*TDateTime)(unsafe.Pointer(p)).Fm = v8 + (*TDateTime)(unsafe.Pointer(p)).Fh = v8 (*TDateTime)(unsafe.Pointer(p)).Fs = float64(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1290) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1304) == 0 { (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1296) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1310) == 0 { (*TDateTime)(unsafe.Pointer(p)).FM = int32(1) (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1301) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1315) == 0 { rc = 0 } } @@ -16242,15 +16331,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == int32('-') { - if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1305, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1319, libc.VaList(bp+136, bp+56)) == int32(1) { break } - if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1309, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1323, libc.VaList(bp+136, bp+56)) == int32(1) { break } } - goto _8 - _8: + goto _9 + _9: ; n++ } @@ -16266,11 +16355,11 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } /* Must start with +/- */ if n == int32(5) { - if _getDigits(tls, z+1, __ccgo_ts+1313, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1327, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } } else { - if _getDigits(tls, z+1, __ccgo_ts+1325, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1339, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } z++ @@ -16292,13 +16381,14 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, *(*int32)(unsafe.Pointer(p + 12)) += *(*int32)(unsafe.Pointer(bp + 60)) } if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v9 + x = v10 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) _computeJD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 @@ -16342,7 +16432,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z++ } n = _sqlite3Strlen30(tls, z) - if n > int32(10) || n < int32(3) { + if n < int32(3) || n > int32(10) { break } if int32(_sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z + uintptr(n-int32(1)))))]) == int32('s') { @@ -16350,11 +16440,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, p) if *(*float64)(unsafe.Pointer(bp)) < libc.Float64FromInt32(0) { - v10 = -libc.Float64FromFloat64(0.5) + v11 = -libc.Float64FromFloat64(0.5) } else { - v10 = +libc.Float64FromFloat64(0.5) + v11 = +libc.Float64FromFloat64(0.5) } - rRounder = v10 + rRounder = v11 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) { @@ -16366,19 +16457,21 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 12)) += int32(*(*float64)(unsafe.Pointer(bp))) if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v12 + x = v13 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) case int32(5): /* Special processing to add years */ y = int32(*(*float64)(unsafe.Pointer(bp))) _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 8)) += y + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) break @@ -16388,8 +16481,8 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, rc = 0 break } - goto _11 - _11: + goto _12 + _12: ; i++ } @@ -16448,7 +16541,7 @@ func _isDate(tls *libc.TLS, context uintptr, argc int32, argv uintptr, p uintptr i++ } _computeJD(tls, p) - if (*TDateTime)(unsafe.Pointer(p)).FisError != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x2>>1)) != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { return int32(1) } if argc == int32(1) && (*TDateTime)(unsafe.Pointer(p)).FvalidYMD != 0 && (*TDateTime)(unsafe.Pointer(p)).FD > int32(28) { @@ -16495,7 +16588,7 @@ func _unixepochFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _ /* x at bp+0 */ TDateTime if _isDate(tls, context, argc, argv, bp) == 0 { _computeJD(tls, bp) - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { Xsqlite3_result_double(tls, context, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000)) } else { Xsqlite3_result_int64(tls, context, (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/int64(1000)-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000)) @@ -16540,7 +16633,7 @@ func _datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(15)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(16)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(17)] = int8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(18)] = int8(int32('0') + s/int32(10000)%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(19)] = int8(int32('0') + s/int32(1000)%int32(10)) @@ -16588,7 +16681,7 @@ func _timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(3)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(4)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(5)] = int8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(6)] = int8(int32('0') + s/int32(10000)%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(7)] = int8(int32('0') + s/int32(1000)%int32(10)) @@ -16649,6 +16742,57 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } +// C documentation +// +// /* +// ** Compute the number of days after the most recent January 1. +// ** +// ** In other words, compute the zero-based day number for the +// ** current year: +// ** +// ** Jan01 = 0, Jan02 = 1, ..., Jan31 = 30, Feb01 = 31, ... +// ** Dec31 = 364 or 365. +// */ +func _daysAfterJan01(tls *libc.TLS, pDate uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* jan01 at bp+0 */ TDateTime + *(*TDateTime)(unsafe.Pointer(bp)) = *(*TDateTime)(unsafe.Pointer(pDate)) + (*(*TDateTime)(unsafe.Pointer(bp))).FvalidJD = 0 + (*(*TDateTime)(unsafe.Pointer(bp))).FM = int32(1) + (*(*TDateTime)(unsafe.Pointer(bp))).FD = int32(1) + _computeJD(tls, bp) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD - (*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Monday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Monday, 1=Tuesday, 2=Wednesday, ..., 6=Sunday. +// */ +func _daysAfterMonday(tls *libc.TLS, pDate uintptr) (r int32) { + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(43200000))/libc.Int64FromInt32(86400000)) % int32(7) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Sunday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Sunday, 1=Monday, 2=Tues, ..., 6=Saturday +// */ +func _daysAfterSunday(tls *libc.TLS, pDate uintptr) (r int32) { + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)) % int32(7) +} + // C documentation // // /* @@ -16656,33 +16800,48 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // ** // ** Return a string described by FORMAT. Conversions as follows: // ** -// ** %d day of month +// ** %d day of month 01-31 +// ** %e day of month 1-31 // ** %f ** fractional seconds SS.SSS +// ** %F ISO date. YYYY-MM-DD +// ** %G ISO year corresponding to %V 0000-9999. +// ** %g 2-digit ISO year corresponding to %V 00-99 // ** %H hour 00-24 -// ** %j day of year 000-366 +// ** %k hour 0-24 (leading zero converted to space) +// ** %I hour 01-12 +// ** %j day of year 001-366 // ** %J ** julian day number +// ** %l hour 1-12 (leading zero converted to space) // ** %m month 01-12 // ** %M minute 00-59 +// ** %p "am" or "pm" +// ** %P "AM" or "PM" +// ** %R time as HH:MM // ** %s seconds since 1970-01-01 // ** %S seconds 00-59 -// ** %w day of week 0-6 Sunday==0 -// ** %W week of year 00-53 +// ** %T time as HH:MM:SS +// ** %u day of week 1-7 Monday==1, Sunday==7 +// ** %w day of week 0-6 Sunday==0, Monday==1 +// ** %U week of year 00-53 (First Sunday is start of week 01) +// ** %V week of year 01-53 (First week containing Thursday is week 01) +// ** %W week of year 00-53 (First Monday is start of week 01) // ** %Y year 0000-9999 // ** %% % // */ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(208) + defer tls.Free(208) var c, cf int8 var db, zFmt, v3, v4, v5, v6, v7 uintptr - var h, nDay, wd int32 + var h int32 var i, j, v2 Tsize_t var iS Ti64 var s float64 var _ /* sRes at bp+48 */ Tsqlite3_str var _ /* x at bp+0 */ TDateTime + var _ /* y at bp+128 */ TDateTime var _ /* y at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, nDay, s, wd, zFmt, v2, v3, v4, v5, v6, v7 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, s, zFmt, v2, v3, v4, v5, v6, v7 if argc == 0 { return } @@ -16715,28 +16874,41 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { fallthrough case int32('e'): if int32(cf) == int32('d') { - v3 = __ccgo_ts + 1337 + v3 = __ccgo_ts + 1351 } else { - v3 = __ccgo_ts + 1342 + v3 = __ccgo_ts + 1356 } - Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) - case int32('f'): + Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('f'): /* Fractional seconds. (Non-standard) */ s = (*(*TDateTime)(unsafe.Pointer(bp))).Fs if s > float64(59.999) { s = float64(59.999) } - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1346, libc.VaList(bp+136, s)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1360, libc.VaList(bp+184, s)) case int32('F'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1353, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1367, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('G'): /* Fall thru */ + fallthrough + case int32('g'): + *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Move y so that it is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidYMD = 0 + _computeYMD(tls, bp+80) + if int32(cf) == int32('g') { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY%int32(100))) + } else { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1382, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY)) + } case int32('H'): fallthrough case int32('k'): if int32(cf) == int32('H') { - v4 = __ccgo_ts + 1337 + v4 = __ccgo_ts + 1351 } else { - v4 = __ccgo_ts + 1342 + v4 = __ccgo_ts + 1356 } - Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) + Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) case int32('I'): /* Fall thru */ fallthrough case int32('l'): @@ -16748,73 +16920,71 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { h = int32(12) } if int32(cf) == int32('I') { - v5 = __ccgo_ts + 1337 + v5 = __ccgo_ts + 1351 } else { - v5 = __ccgo_ts + 1342 + v5 = __ccgo_ts + 1356 } - Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+136, h)) - case int32('W'): /* Fall thru */ - fallthrough - case int32('j'): /* Number of days since 1st day of year */ - *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidJD = 0 - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FM = int32(1) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FD = int32(1) - _computeJD(tls, bp+80) - nDay = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) - if int32(cf) == int32('W') { /* 0=Monday, 1=Tuesday, ... 6=Sunday */ - wd = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000) % libc.Int64FromInt32(7)) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, (nDay+int32(7)-wd)/int32(7))) - } else { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1368, libc.VaList(bp+136, nDay+int32(1))) - } - case int32('J'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1373, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) + Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+184, h)) + case int32('j'): /* Day of year. Jan01==1, Jan02==2, and so forth */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1387, libc.VaList(bp+184, _daysAfterJan01(tls, bp)+int32(1))) + case int32('J'): /* Julian day number. (Non-standard) */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1392, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) case int32('m'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) case int32('M'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('p'): /* Fall thru */ fallthrough case int32('P'): if (*(*TDateTime)(unsafe.Pointer(bp))).Fh >= int32(12) { if int32(cf) == int32('p') { - v6 = __ccgo_ts + 1379 + v6 = __ccgo_ts + 1398 } else { - v6 = __ccgo_ts + 1382 + v6 = __ccgo_ts + 1401 } Xsqlite3_str_append(tls, bp+48, v6, int32(2)) } else { if int32(cf) == int32('p') { - v7 = __ccgo_ts + 1385 + v7 = __ccgo_ts + 1404 } else { - v7 = __ccgo_ts + 1388 + v7 = __ccgo_ts + 1407 } Xsqlite3_str_append(tls, bp+48, v7, int32(2)) } case int32('R'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1391, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1410, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('s'): - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1401, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1420, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) } else { iS = (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/libc.Int64FromInt32(1000) - libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1406, libc.VaList(bp+136, iS)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1425, libc.VaList(bp+184, iS)) } case int32('S'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) case int32('T'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1411, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) - case int32('u'): /* Fall thru */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1430, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + case int32('u'): /* Day of week. 1 to 7. Monday==1, Sunday==7 */ fallthrough - case int32('w'): - c = int8(int32(int8(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)%libc.Int64FromInt32(7))) + int32('0')) + case int32('w'): /* Day of week. 0 to 6. Sunday==0, Monday==1 */ + c = int8(int32(int8(_daysAfterSunday(tls, bp))) + int32('0')) if int32(c) == int32('0') && int32(cf) == int32('u') { c = int8('7') } Xsqlite3_str_appendchar(tls, bp+48, int32(1), c) + case int32('U'): /* Week num. 00-53. First Sun of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterSunday(tls, bp)+int32(7))/int32(7))) + case int32('V'): /* Week num. 01-53. First week with a Thur is week 01 */ + *(*TDateTime)(unsafe.Pointer(bp + 128)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Adjust y so that is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FvalidYMD = 0 + _computeYMD(tls, bp+128) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, _daysAfterJan01(tls, bp+128)/int32(7)+int32(1))) + case int32('W'): /* Week num. 00-53. First Mon of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterMonday(tls, bp)+int32(7))/int32(7))) case int32('Y'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1426, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1382, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) case int32('%'): Xsqlite3_str_appendchar(tls, bp+48, int32(1), int8('%')) default: @@ -16967,12 +17137,10 @@ func _timediffFunc(tls *libc.TLS, context uintptr, NotUsed1 int32, argv uintptr) p2 = bp *(*Tsqlite3_int64)(unsafe.Pointer(p2)) = Tsqlite3_int64(uint64(*(*Tsqlite3_int64)(unsafe.Pointer(p2))) + libc.Uint64FromInt32(1486995408)*libc.Uint64FromInt32(100000)) } - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidYMD = 0 - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidHMS = 0 - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidTZ = 0 + _clearYMD_HMS_TZ(tls, bp) _computeYMD_HMS(tls, bp) _sqlite3StrAccumInit(tls, bp+96, uintptr(0), uintptr(0), 0, int32(100)) - Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1431, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) + Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1445, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) _sqlite3ResultStrAccum(tls, context, bp+96) } @@ -17005,55 +17173,55 @@ var _aDateTimeFuncs = [10]TFuncDef{ FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1237, + FzName: __ccgo_ts + 1251, }, 1: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1257, + FzName: __ccgo_ts + 1271, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1465, + FzName: __ccgo_ts + 1479, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1470, + FzName: __ccgo_ts + 1484, }, 4: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1475, + FzName: __ccgo_ts + 1489, }, 5: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1484, + FzName: __ccgo_ts + 1498, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1493, + FzName: __ccgo_ts + 1507, }, 7: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1502, + FzName: __ccgo_ts + 1516, }, 8: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1515, + FzName: __ccgo_ts + 1529, }, 9: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1533, + FzName: __ccgo_ts + 1547, }, } @@ -17724,7 +17892,7 @@ func _sqlite3MemMalloc(tls *libc.TLS, nByte int32) (r uintptr) { *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1546, libc.VaList(bp+8, nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1560, libc.VaList(bp+8, nByte)) } return p } @@ -17786,7 +17954,7 @@ func _sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) (r uintptr) *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1584, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1598, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) } return p } @@ -19154,7 +19322,7 @@ func _sqlite3OomFault(tls *libc.TLS, db uintptr) (r uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = uint16(0) if (*Tsqlite3)(unsafe.Pointer(db)).FpParse != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1634, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) pParse = (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).FpOuterParse for { @@ -19576,7 +19744,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li v3 = int32(*(*int8)(unsafe.Pointer(v4))) c = v3 if v3 == 0 { - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1634, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1648, int32(1)) break } /* Find out what flags are present */ @@ -19991,9 +20159,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial != 0 { if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial) == int32(2) { if flag_zeropad != 0 { - v57 = __ccgo_ts + 1636 + v57 = __ccgo_ts + 1650 } else { - v57 = __ccgo_ts + 1641 + v57 = __ccgo_ts + 1655 } bufpt = v57 length = _sqlite3Strlen30(tls, bufpt) @@ -20004,7 +20172,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP = int32(1000) (*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fn = int32(1) } else { - libc.X__builtin___memcpy_chk(tls, bp, __ccgo_ts+1645, uint64(5), libc.X__builtin_object_size(tls, bp, 0)) + libc.X__builtin___memcpy_chk(tls, bp, __ccgo_ts+1659, uint64(5), libc.X__builtin_object_size(tls, bp, 0)) bufpt = bp if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fsign) == int32('-') { /* no-op */ @@ -20026,14 +20194,12 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li prefix = int8(flag_prefix) } exp = (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP - int32(1) - if int32(xtype) == int32(etGENERIC) && precision > 0 { - precision-- - } /* ** If the field type is etGENERIC, then convert to either etEXP ** or etFLOAT, as appropriate. */ if int32(xtype) == int32(etGENERIC) { + precision-- flag_rtz = libc.BoolUint8(!(flag_alternateform != 0)) if exp < -int32(4) || exp > precision { xtype = uint8(etEXP) @@ -20339,7 +20505,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li bufpt = libc.VaUintptr(&ap) } if bufpt == uintptr(0) { - bufpt = __ccgo_ts + 1650 + bufpt = __ccgo_ts + 1664 } else { if int32(xtype) == int32(etDYNSTRING) { if (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FnChar == uint32(0) && (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FmxAlloc != 0 && width == 0 && precision < 0 && int32((*Tsqlite3_str)(unsafe.Pointer(pAccum)).FaccError) == 0 { @@ -20427,9 +20593,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li isnull = libc.BoolInt32(escarg == uintptr(0)) if isnull != 0 { if int32(xtype) == int32(etSQLESCAPE2) { - v98 = __ccgo_ts + 1651 + v98 = __ccgo_ts + 1665 } else { - v98 = __ccgo_ts + 1656 + v98 = __ccgo_ts + 1670 } escarg = v98 } @@ -20547,7 +20713,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*TSrcItem)(unsafe.Pointer(pItem)).FzName != 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1663, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1677, int32(1)) } Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzName) } else { @@ -20555,10 +20721,15 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzAlias) } else { pSel = (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect + /* Because of tag-20240424-1 */ if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_NestedFrom) != 0 { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1665, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1679, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) } else { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1675, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_MultiValue) != 0 { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1689, libc.VaList(bp+128, *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pItem)).Fu1)))) + } else { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1710, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + } } } } @@ -20837,7 +21008,7 @@ func _sqlite3ResultStrAccum(tls *libc.TLS, pCtx uintptr, p uintptr) { if int32((*TStrAccum)(unsafe.Pointer(p)).FprintfFlags)&int32(SQLITE_PRINTF_MALLOCED) != 0 { Xsqlite3_result_text(tls, pCtx, (*TStrAccum)(unsafe.Pointer(p)).FzText, int32((*TStrAccum)(unsafe.Pointer(p)).FnChar), __ccgo_fp(_sqlite3OomClear)) } else { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1650, 0, libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1664, 0, libc.UintptrFromInt32(0)) Xsqlite3_str_reset(tls, p) } } @@ -22669,6 +22840,60 @@ func _sqlite3DequoteExpr(tls *libc.TLS, p uintptr) { _sqlite3Dequote(tls, *(*uintptr)(unsafe.Pointer(p + 8))) } +// C documentation +// +// /* +// ** Expression p is a QNUMBER (quoted number). Dequote the value in p->u.zToken +// ** and set the type to INTEGER or FLOAT. "Quoted" integers or floats are those +// ** that contain '_' characters that must be removed before further processing. +// */ +func _sqlite3DequoteNumber(tls *libc.TLS, pParse uintptr, p uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var bHex int32 + var pIn, pOut, v1, v3 uintptr + var _ /* iValue at bp+0 */ int32 + _, _, _, _, _ = bHex, pIn, pOut, v1, v3 + if p != 0 { + pIn = *(*uintptr)(unsafe.Pointer(p + 8)) + pOut = *(*uintptr)(unsafe.Pointer(p + 8)) + bHex = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(pIn))) == int32('0') && (int32(*(*int8)(unsafe.Pointer(pIn + 1))) == int32('x') || int32(*(*int8)(unsafe.Pointer(pIn + 1))) == int32('X'))) + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + for { + if int32(*(*int8)(unsafe.Pointer(pIn))) != int32('_') { + v3 = pOut + pOut++ + *(*int8)(unsafe.Pointer(v3)) = *(*int8)(unsafe.Pointer(pIn)) + if int32(*(*int8)(unsafe.Pointer(pIn))) == int32('e') || int32(*(*int8)(unsafe.Pointer(pIn))) == int32('E') || int32(*(*int8)(unsafe.Pointer(pIn))) == int32('.') { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_FLOAT) + } + } else { + if bHex == 0 && (!(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1)))))])&libc.Int32FromInt32(0x04) != 0) || !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + 1)))])&libc.Int32FromInt32(0x04) != 0)) || bHex == int32(1) && (!(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1)))))])&libc.Int32FromInt32(0x08) != 0) || !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + 1)))])&libc.Int32FromInt32(0x08) != 0)) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1724, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(p + 8)))) + } + } + goto _2 + _2: + ; + v1 = pIn + pIn++ + if !(*(*int8)(unsafe.Pointer(v1)) != 0) { + break + } + } + if bHex != 0 { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + } + /* tag-20240227-a: If after dequoting, the number is an integer that + ** fits in 32 bits, then it must be converted into EP_IntValue. Other + ** parts of the code expect this. See also tag-20240227-b. */ + if int32((*TExpr)(unsafe.Pointer(p)).Fop) == int32(TK_INTEGER) && _sqlite3GetInt32(tls, *(*uintptr)(unsafe.Pointer(p + 8)), bp) != 0 { + *(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(p)).Fu)) = *(*int32)(unsafe.Pointer(bp)) + *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(EP_IntValue) + } + } +} + // C documentation // // /* @@ -23219,7 +23444,7 @@ func _compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) (r int32) { _, _, _ = c, i, pow63 c = 0 /* 012345678901234567 */ - pow63 = __ccgo_ts + 1689 + pow63 = __ccgo_ts + 1749 i = 0 for { if !(c == 0 && i < int32(18)) { @@ -23446,7 +23671,7 @@ func _sqlite3DecOrHexToI64(tls *libc.TLS, z uintptr, pOut uintptr) (r int32) { } return 0 } else { - n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1708)) + n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1768)) if *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 { n++ } @@ -23604,7 +23829,7 @@ func _sqlite3FpDecode(tls *libc.TLS, p uintptr, _r float64, iRound int32, mxRoun (*TFpDecode)(unsafe.Pointer(p)).Fsign = int8('+') (*TFpDecode)(unsafe.Pointer(p)).Fn = int32(1) (*TFpDecode)(unsafe.Pointer(p)).FiDP = int32(1) - (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1724 + (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1784 return } else { (*TFpDecode)(unsafe.Pointer(p)).Fsign = int8('+') @@ -24148,7 +24373,7 @@ func _sqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) (r uintptr func _logBadConnection(tls *libc.TLS, zType uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1726, libc.VaList(bp+8, zType)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1786, libc.VaList(bp+8, zType)) } // C documentation @@ -24171,13 +24396,13 @@ func _sqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) (r int32) { var eOpenState Tu8 _ = eOpenState if db == uintptr(0) { - _logBadConnection(tls, __ccgo_ts+1651) + _logBadConnection(tls, __ccgo_ts+1665) return 0 } eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_OPEN) { if _sqlite3SafetyCheckSickOrOk(tls, db) != 0 { - _logBadConnection(tls, __ccgo_ts+1771) + _logBadConnection(tls, __ccgo_ts+1831) } return 0 } else { @@ -24191,7 +24416,7 @@ func _sqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) (r int32) { _ = eOpenState eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_SICK) && int32(eOpenState) != int32(SQLITE_STATE_OPEN) && int32(eOpenState) != int32(SQLITE_STATE_BUSY) { - _logBadConnection(tls, __ccgo_ts+1780) + _logBadConnection(tls, __ccgo_ts+1840) return 0 } else { return int32(1) @@ -24895,196 +25120,196 @@ func _sqlite3OpcodeName(tls *libc.TLS, i int32) (r uintptr) { } var _azName = [190]uintptr{ - 0: __ccgo_ts + 1788, - 1: __ccgo_ts + 1798, - 2: __ccgo_ts + 1809, - 3: __ccgo_ts + 1821, - 4: __ccgo_ts + 1832, - 5: __ccgo_ts + 1844, - 6: __ccgo_ts + 1851, - 7: __ccgo_ts + 1859, - 8: __ccgo_ts + 1867, - 9: __ccgo_ts + 1872, - 10: __ccgo_ts + 1877, - 11: __ccgo_ts + 1883, - 12: __ccgo_ts + 1897, - 13: __ccgo_ts + 1903, - 14: __ccgo_ts + 1913, - 15: __ccgo_ts + 1918, - 16: __ccgo_ts + 1923, - 17: __ccgo_ts + 1926, - 18: __ccgo_ts + 1932, - 19: __ccgo_ts + 1939, - 20: __ccgo_ts + 1943, - 21: __ccgo_ts + 1953, - 22: __ccgo_ts + 1960, - 23: __ccgo_ts + 1967, - 24: __ccgo_ts + 1974, - 25: __ccgo_ts + 1981, - 26: __ccgo_ts + 1991, - 27: __ccgo_ts + 2000, - 28: __ccgo_ts + 2011, - 29: __ccgo_ts + 2020, - 30: __ccgo_ts + 2026, - 31: __ccgo_ts + 2036, - 32: __ccgo_ts + 2046, - 33: __ccgo_ts + 2051, - 34: __ccgo_ts + 2061, - 35: __ccgo_ts + 2072, - 36: __ccgo_ts + 2077, - 37: __ccgo_ts + 2084, - 38: __ccgo_ts + 2095, - 39: __ccgo_ts + 2100, - 40: __ccgo_ts + 2105, - 41: __ccgo_ts + 2111, - 42: __ccgo_ts + 2117, - 43: __ccgo_ts + 2123, - 44: __ccgo_ts + 2126, - 45: __ccgo_ts + 2130, - 46: __ccgo_ts + 2136, - 47: __ccgo_ts + 2147, - 48: __ccgo_ts + 2158, - 49: __ccgo_ts + 2166, - 50: __ccgo_ts + 2175, - 51: __ccgo_ts + 2182, - 52: __ccgo_ts + 2190, - 53: __ccgo_ts + 2193, - 54: __ccgo_ts + 2196, - 55: __ccgo_ts + 2199, - 56: __ccgo_ts + 2202, - 57: __ccgo_ts + 2205, - 58: __ccgo_ts + 2208, - 59: __ccgo_ts + 2215, - 60: __ccgo_ts + 2221, - 61: __ccgo_ts + 2231, - 62: __ccgo_ts + 2244, - 63: __ccgo_ts + 2255, - 64: __ccgo_ts + 2261, - 65: __ccgo_ts + 2268, - 66: __ccgo_ts + 2277, - 67: __ccgo_ts + 2286, - 68: __ccgo_ts + 2293, - 69: __ccgo_ts + 2306, - 70: __ccgo_ts + 2317, - 71: __ccgo_ts + 2322, - 72: __ccgo_ts + 2330, - 73: __ccgo_ts + 2336, - 74: __ccgo_ts + 2343, - 75: __ccgo_ts + 2355, - 76: __ccgo_ts + 2360, - 77: __ccgo_ts + 2369, - 78: __ccgo_ts + 2374, - 79: __ccgo_ts + 2383, - 80: __ccgo_ts + 2388, - 81: __ccgo_ts + 2393, - 82: __ccgo_ts + 2399, - 83: __ccgo_ts + 2407, - 84: __ccgo_ts + 2415, - 85: __ccgo_ts + 2425, - 86: __ccgo_ts + 2433, - 87: __ccgo_ts + 2440, - 88: __ccgo_ts + 2453, - 89: __ccgo_ts + 2458, - 90: __ccgo_ts + 2470, - 91: __ccgo_ts + 2478, - 92: __ccgo_ts + 2485, - 93: __ccgo_ts + 2496, - 94: __ccgo_ts + 2503, - 95: __ccgo_ts + 2510, - 96: __ccgo_ts + 2520, - 97: __ccgo_ts + 2529, - 98: __ccgo_ts + 2540, - 99: __ccgo_ts + 2546, - 100: __ccgo_ts + 2557, - 101: __ccgo_ts + 2567, - 102: __ccgo_ts + 2577, - 103: __ccgo_ts + 2584, - 104: __ccgo_ts + 2590, - 105: __ccgo_ts + 2600, - 106: __ccgo_ts + 2611, - 107: __ccgo_ts + 2615, - 108: __ccgo_ts + 2624, - 109: __ccgo_ts + 2633, - 110: __ccgo_ts + 2640, - 111: __ccgo_ts + 2650, - 112: __ccgo_ts + 2657, - 113: __ccgo_ts + 2666, - 114: __ccgo_ts + 2676, - 115: __ccgo_ts + 2683, - 116: __ccgo_ts + 2691, - 117: __ccgo_ts + 2705, - 118: __ccgo_ts + 2713, - 119: __ccgo_ts + 2727, - 120: __ccgo_ts + 2738, - 121: __ccgo_ts + 2751, - 122: __ccgo_ts + 2762, - 123: __ccgo_ts + 2768, - 124: __ccgo_ts + 2780, - 125: __ccgo_ts + 2789, - 126: __ccgo_ts + 2797, - 127: __ccgo_ts + 2806, - 128: __ccgo_ts + 2815, - 129: __ccgo_ts + 2822, - 130: __ccgo_ts + 2830, - 131: __ccgo_ts + 2837, - 132: __ccgo_ts + 2848, - 133: __ccgo_ts + 2862, - 134: __ccgo_ts + 2873, - 135: __ccgo_ts + 2881, - 136: __ccgo_ts + 2887, - 137: __ccgo_ts + 2895, - 138: __ccgo_ts + 2903, - 139: __ccgo_ts + 2913, - 140: __ccgo_ts + 2926, - 141: __ccgo_ts + 2936, - 142: __ccgo_ts + 2949, - 143: __ccgo_ts + 2958, - 144: __ccgo_ts + 2969, - 145: __ccgo_ts + 2977, - 146: __ccgo_ts + 2983, - 147: __ccgo_ts + 2995, - 148: __ccgo_ts + 3007, - 149: __ccgo_ts + 3015, - 150: __ccgo_ts + 3027, - 151: __ccgo_ts + 3040, - 152: __ccgo_ts + 3050, - 153: __ccgo_ts + 3060, - 154: __ccgo_ts + 3065, - 155: __ccgo_ts + 3077, - 156: __ccgo_ts + 3089, - 157: __ccgo_ts + 3099, - 158: __ccgo_ts + 3105, - 159: __ccgo_ts + 3115, - 160: __ccgo_ts + 3122, - 161: __ccgo_ts + 3134, - 162: __ccgo_ts + 3145, - 163: __ccgo_ts + 3153, - 164: __ccgo_ts + 3162, - 165: __ccgo_ts + 3171, - 166: __ccgo_ts + 3180, - 167: __ccgo_ts + 3187, - 168: __ccgo_ts + 3198, - 169: __ccgo_ts + 3211, - 170: __ccgo_ts + 3221, - 171: __ccgo_ts + 3228, - 172: __ccgo_ts + 3236, - 173: __ccgo_ts + 3245, - 174: __ccgo_ts + 3251, - 175: __ccgo_ts + 3258, - 176: __ccgo_ts + 3266, - 177: __ccgo_ts + 3274, - 178: __ccgo_ts + 3282, - 179: __ccgo_ts + 3292, - 180: __ccgo_ts + 3301, - 181: __ccgo_ts + 3312, - 182: __ccgo_ts + 3323, - 183: __ccgo_ts + 3334, - 184: __ccgo_ts + 3344, - 185: __ccgo_ts + 3350, - 186: __ccgo_ts + 3361, - 187: __ccgo_ts + 3372, - 188: __ccgo_ts + 3377, - 189: __ccgo_ts + 3385, + 0: __ccgo_ts + 1848, + 1: __ccgo_ts + 1858, + 2: __ccgo_ts + 1869, + 3: __ccgo_ts + 1881, + 4: __ccgo_ts + 1892, + 5: __ccgo_ts + 1904, + 6: __ccgo_ts + 1911, + 7: __ccgo_ts + 1919, + 8: __ccgo_ts + 1927, + 9: __ccgo_ts + 1932, + 10: __ccgo_ts + 1937, + 11: __ccgo_ts + 1943, + 12: __ccgo_ts + 1957, + 13: __ccgo_ts + 1963, + 14: __ccgo_ts + 1973, + 15: __ccgo_ts + 1978, + 16: __ccgo_ts + 1983, + 17: __ccgo_ts + 1986, + 18: __ccgo_ts + 1992, + 19: __ccgo_ts + 1999, + 20: __ccgo_ts + 2003, + 21: __ccgo_ts + 2013, + 22: __ccgo_ts + 2020, + 23: __ccgo_ts + 2027, + 24: __ccgo_ts + 2034, + 25: __ccgo_ts + 2041, + 26: __ccgo_ts + 2051, + 27: __ccgo_ts + 2060, + 28: __ccgo_ts + 2071, + 29: __ccgo_ts + 2080, + 30: __ccgo_ts + 2086, + 31: __ccgo_ts + 2096, + 32: __ccgo_ts + 2106, + 33: __ccgo_ts + 2111, + 34: __ccgo_ts + 2125, + 35: __ccgo_ts + 2136, + 36: __ccgo_ts + 2141, + 37: __ccgo_ts + 2148, + 38: __ccgo_ts + 2159, + 39: __ccgo_ts + 2164, + 40: __ccgo_ts + 2169, + 41: __ccgo_ts + 2175, + 42: __ccgo_ts + 2181, + 43: __ccgo_ts + 2187, + 44: __ccgo_ts + 2190, + 45: __ccgo_ts + 2194, + 46: __ccgo_ts + 2200, + 47: __ccgo_ts + 2211, + 48: __ccgo_ts + 2222, + 49: __ccgo_ts + 2230, + 50: __ccgo_ts + 2239, + 51: __ccgo_ts + 2246, + 52: __ccgo_ts + 2254, + 53: __ccgo_ts + 2257, + 54: __ccgo_ts + 2260, + 55: __ccgo_ts + 2263, + 56: __ccgo_ts + 2266, + 57: __ccgo_ts + 2269, + 58: __ccgo_ts + 2272, + 59: __ccgo_ts + 2279, + 60: __ccgo_ts + 2285, + 61: __ccgo_ts + 2295, + 62: __ccgo_ts + 2308, + 63: __ccgo_ts + 2319, + 64: __ccgo_ts + 2325, + 65: __ccgo_ts + 2332, + 66: __ccgo_ts + 2341, + 67: __ccgo_ts + 2350, + 68: __ccgo_ts + 2357, + 69: __ccgo_ts + 2370, + 70: __ccgo_ts + 2381, + 71: __ccgo_ts + 2386, + 72: __ccgo_ts + 2394, + 73: __ccgo_ts + 2400, + 74: __ccgo_ts + 2407, + 75: __ccgo_ts + 2419, + 76: __ccgo_ts + 2424, + 77: __ccgo_ts + 2433, + 78: __ccgo_ts + 2438, + 79: __ccgo_ts + 2447, + 80: __ccgo_ts + 2452, + 81: __ccgo_ts + 2457, + 82: __ccgo_ts + 2463, + 83: __ccgo_ts + 2471, + 84: __ccgo_ts + 2479, + 85: __ccgo_ts + 2489, + 86: __ccgo_ts + 2497, + 87: __ccgo_ts + 2504, + 88: __ccgo_ts + 2517, + 89: __ccgo_ts + 2522, + 90: __ccgo_ts + 2534, + 91: __ccgo_ts + 2542, + 92: __ccgo_ts + 2549, + 93: __ccgo_ts + 2560, + 94: __ccgo_ts + 2567, + 95: __ccgo_ts + 2574, + 96: __ccgo_ts + 2584, + 97: __ccgo_ts + 2593, + 98: __ccgo_ts + 2604, + 99: __ccgo_ts + 2610, + 100: __ccgo_ts + 2621, + 101: __ccgo_ts + 2631, + 102: __ccgo_ts + 2641, + 103: __ccgo_ts + 2648, + 104: __ccgo_ts + 2654, + 105: __ccgo_ts + 2664, + 106: __ccgo_ts + 2675, + 107: __ccgo_ts + 2679, + 108: __ccgo_ts + 2688, + 109: __ccgo_ts + 2697, + 110: __ccgo_ts + 2704, + 111: __ccgo_ts + 2714, + 112: __ccgo_ts + 2721, + 113: __ccgo_ts + 2730, + 114: __ccgo_ts + 2740, + 115: __ccgo_ts + 2747, + 116: __ccgo_ts + 2755, + 117: __ccgo_ts + 2769, + 118: __ccgo_ts + 2777, + 119: __ccgo_ts + 2791, + 120: __ccgo_ts + 2802, + 121: __ccgo_ts + 2815, + 122: __ccgo_ts + 2826, + 123: __ccgo_ts + 2832, + 124: __ccgo_ts + 2844, + 125: __ccgo_ts + 2853, + 126: __ccgo_ts + 2861, + 127: __ccgo_ts + 2870, + 128: __ccgo_ts + 2879, + 129: __ccgo_ts + 2886, + 130: __ccgo_ts + 2894, + 131: __ccgo_ts + 2901, + 132: __ccgo_ts + 2912, + 133: __ccgo_ts + 2926, + 134: __ccgo_ts + 2937, + 135: __ccgo_ts + 2945, + 136: __ccgo_ts + 2951, + 137: __ccgo_ts + 2959, + 138: __ccgo_ts + 2967, + 139: __ccgo_ts + 2977, + 140: __ccgo_ts + 2990, + 141: __ccgo_ts + 3000, + 142: __ccgo_ts + 3013, + 143: __ccgo_ts + 3022, + 144: __ccgo_ts + 3033, + 145: __ccgo_ts + 3041, + 146: __ccgo_ts + 3047, + 147: __ccgo_ts + 3059, + 148: __ccgo_ts + 3071, + 149: __ccgo_ts + 3079, + 150: __ccgo_ts + 3091, + 151: __ccgo_ts + 3104, + 152: __ccgo_ts + 3114, + 153: __ccgo_ts + 3124, + 154: __ccgo_ts + 3129, + 155: __ccgo_ts + 3141, + 156: __ccgo_ts + 3153, + 157: __ccgo_ts + 3163, + 158: __ccgo_ts + 3169, + 159: __ccgo_ts + 3179, + 160: __ccgo_ts + 3186, + 161: __ccgo_ts + 3198, + 162: __ccgo_ts + 3209, + 163: __ccgo_ts + 3217, + 164: __ccgo_ts + 3226, + 165: __ccgo_ts + 3235, + 166: __ccgo_ts + 3244, + 167: __ccgo_ts + 3251, + 168: __ccgo_ts + 3262, + 169: __ccgo_ts + 3275, + 170: __ccgo_ts + 3285, + 171: __ccgo_ts + 3292, + 172: __ccgo_ts + 3300, + 173: __ccgo_ts + 3309, + 174: __ccgo_ts + 3315, + 175: __ccgo_ts + 3322, + 176: __ccgo_ts + 3330, + 177: __ccgo_ts + 3338, + 178: __ccgo_ts + 3346, + 179: __ccgo_ts + 3356, + 180: __ccgo_ts + 3365, + 181: __ccgo_ts + 3376, + 182: __ccgo_ts + 3387, + 183: __ccgo_ts + 3398, + 184: __ccgo_ts + 3408, + 185: __ccgo_ts + 3414, + 186: __ccgo_ts + 3425, + 187: __ccgo_ts + 3436, + 188: __ccgo_ts + 3441, + 189: __ccgo_ts + 3449, } type Tu_char = uint8 @@ -26631,91 +26856,91 @@ type unix_syscall = Tunix_syscall // */ var _aSyscall = [29]Tunix_syscall{ 0: { - FzName: __ccgo_ts + 3395, + FzName: __ccgo_ts + 3459, }, 1: { - FzName: __ccgo_ts + 3400, + FzName: __ccgo_ts + 3464, }, 2: { - FzName: __ccgo_ts + 3406, + FzName: __ccgo_ts + 3470, }, 3: { - FzName: __ccgo_ts + 3413, + FzName: __ccgo_ts + 3477, }, 4: { - FzName: __ccgo_ts + 3420, + FzName: __ccgo_ts + 3484, }, 5: { - FzName: __ccgo_ts + 3425, + FzName: __ccgo_ts + 3489, }, 6: { - FzName: __ccgo_ts + 3431, + FzName: __ccgo_ts + 3495, }, 7: { - FzName: __ccgo_ts + 3441, + FzName: __ccgo_ts + 3505, }, 8: { - FzName: __ccgo_ts + 3447, + FzName: __ccgo_ts + 3511, }, 9: { - FzName: __ccgo_ts + 3452, + FzName: __ccgo_ts + 3516, }, 10: { - FzName: __ccgo_ts + 3458, + FzName: __ccgo_ts + 3522, }, 11: { - FzName: __ccgo_ts + 3466, + FzName: __ccgo_ts + 3530, }, 12: { - FzName: __ccgo_ts + 3472, + FzName: __ccgo_ts + 3536, }, 13: { - FzName: __ccgo_ts + 3479, + FzName: __ccgo_ts + 3543, }, 14: { - FzName: __ccgo_ts + 3488, + FzName: __ccgo_ts + 3552, }, 15: { - FzName: __ccgo_ts + 3495, + FzName: __ccgo_ts + 3559, }, 16: { - FzName: __ccgo_ts + 3505, + FzName: __ccgo_ts + 3569, }, 17: { - FzName: __ccgo_ts + 3512, + FzName: __ccgo_ts + 3576, }, 18: { - FzName: __ccgo_ts + 3526, + FzName: __ccgo_ts + 3590, }, 19: { - FzName: __ccgo_ts + 3532, + FzName: __ccgo_ts + 3596, }, 20: { - FzName: __ccgo_ts + 3538, + FzName: __ccgo_ts + 3602, }, 21: { - FzName: __ccgo_ts + 3545, + FzName: __ccgo_ts + 3609, }, 22: { - FzName: __ccgo_ts + 3553, + FzName: __ccgo_ts + 3617, }, 23: { - FzName: __ccgo_ts + 3558, + FzName: __ccgo_ts + 3622, }, 24: { - FzName: __ccgo_ts + 3565, + FzName: __ccgo_ts + 3629, }, 25: { - FzName: __ccgo_ts + 3572, + FzName: __ccgo_ts + 3636, }, 26: { - FzName: __ccgo_ts + 3584, + FzName: __ccgo_ts + 3648, }, 27: { - FzName: __ccgo_ts + 3593, + FzName: __ccgo_ts + 3657, }, 28: { - FzName: __ccgo_ts + 3599, + FzName: __ccgo_ts + 3663, }, } @@ -26952,9 +27177,9 @@ func _robust_open(tls *libc.TLS, z uintptr, f int32, m Tmode_t) (r int32) { (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, z) } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(1)].FpCurrent})))(tls, fd) - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3605, libc.VaList(bp+152, z, fd)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3669, libc.VaList(bp+152, z, fd)) fd = -int32(1) - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3648, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3712, O_RDONLY, int32(m)) < 0 { break } } @@ -27271,11 +27496,11 @@ func _unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uint ** equivalent to errno. Otherwise, use strerror_r(). */ /* This is a threadsafe build, but strerror_r() is not available. */ - zErr = __ccgo_ts + 1650 + zErr = __ccgo_ts + 1664 if zPath == uintptr(0) { - zPath = __ccgo_ts + 1650 + zPath = __ccgo_ts + 1664 } - Xsqlite3_log(tls, errcode, __ccgo_ts+3658, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) + Xsqlite3_log(tls, errcode, __ccgo_ts+3722, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) return errcode } @@ -27303,7 +27528,7 @@ func _robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { } else { v1 = uintptr(0) } - _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(16)< int32(1) { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3744, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3808, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } if _fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3771, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3835, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -28020,7 +28245,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) { pFile = id _unixUnmapfile(tls, pFile) if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 { - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40172)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40505)) (*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1) } Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -29235,7 +29460,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { var _ /* zDirname at bp+0 */ [513]int8 _, _ = fd, ii fd = -int32(1) - Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3799, libc.VaList(bp+528, zFilename)) + Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3863, libc.VaList(bp+528, zFilename)) ii = int32(libc.Xstrlen(tls, bp)) for { if !(ii > 0 && int32((*(*[513]int8)(unsafe.Pointer(bp)))[ii]) != int32('/')) { @@ -29261,7 +29486,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { if fd >= 0 { return SQLITE_OK } - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(41778)), __ccgo_ts+3512, bp, int32(41778)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42111)), __ccgo_ts+3576, bp, int32(42111)) } // C documentation @@ -29298,7 +29523,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) { rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if rc != 0 { _storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) - return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<= nSize { iWrite = nSize - int64(1) } - nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1650, int32(1)) + nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1664, int32(1)) if nWrite != int32(1) { return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(3)<= 0 { - _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42583)) + _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42916)) (*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1) } (*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0) @@ -29908,7 +30133,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in ** help detect if a -shm file truncation is legitimate or is the work ** or a rogue process. */ if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 { - rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<= 0 { - _robust_close(tls, pNew, h, int32(43994)) + _robust_close(tls, pNew, h, int32(44327)) } } else { (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -31181,10 +31406,10 @@ func _fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilenam // ** Directories to consider for temp files. // */ var _azTempDirs = [6]uintptr{ - 2: __ccgo_ts + 3887, - 3: __ccgo_ts + 3896, - 4: __ccgo_ts + 3905, - 5: __ccgo_ts + 1663, + 2: __ccgo_ts + 3951, + 3: __ccgo_ts + 3960, + 4: __ccgo_ts + 3969, + 5: __ccgo_ts + 1677, } // C documentation @@ -31193,8 +31418,8 @@ var _azTempDirs = [6]uintptr{ // ** Initialize first two members of azTempDirs[] array. // */ func _unixTempFileInit(tls *libc.TLS) { - _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3910) - _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3924) + _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3974) + _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3988) } // C documentation @@ -31256,7 +31481,7 @@ func _unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) (r int32) { for cond := true; cond; cond = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(2)].FpCurrent})))(tls, zBuf, 0) == 0 { Xsqlite3_randomness(tls, int32(8), bp) *(*int8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2)))) = 0 - Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3931, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) + Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3995, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) if v2 = int32(*(*int8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2))))) != 0; !v2 { v1 = iLimit iLimit++ @@ -31428,7 +31653,7 @@ func _findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintpt ** filename, check for the "modeof" parameter. If present, interpret ** its value as a filename and try to copy the mode, uid and gid from ** that file. */ - z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3948) + z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+4012) if z != 0 { rc = _getFileMode(tls, z, pMode, pUid, pGid) } @@ -31466,13 +31691,13 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags bp := tls.Alloc(2704) defer tls.Free(2704) var ctrlFlags, eType, fd, isAutoProxy, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, rc, rc2, useProxy int32 - var envforce, p, pUnused, zName uintptr + var envforce, p, pReadonly, pUnused, zName uintptr var _ /* fsInfo at bp+0 */ Tstatfs var _ /* gid at bp+2688 */ Tgid_t var _ /* openMode at bp+2682 */ Tmode_t var _ /* uid at bp+2684 */ Tuid_t var _ /* zTmpname at bp+2168 */ [514]int8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, envforce, fd, isAutoProxy, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pUnused, rc, rc2, useProxy, zName + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, envforce, fd, isAutoProxy, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pReadonly, pUnused, rc, rc2, useProxy, zName p = pFile fd = -int32(1) /* File descriptor returned by open() */ openFlags = 0 /* Flags to pass to open() */ @@ -31568,17 +31793,24 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags } else { if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != int32(EISDIR) && isReadWrite != 0 { /* Failed to open the file for read/write access. Try read-only. */ + pReadonly = uintptr(0) flags &= ^(libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE)) openFlags &= ^(libc.Int32FromInt32(O_RDWR) | libc.Int32FromInt32(O_CREAT)) flags |= int32(SQLITE_OPEN_READONLY) openFlags |= O_RDONLY isReadonly = int32(1) - fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 2682))) + pReadonly = _findReusableFd(tls, zName, flags) + if pReadonly != 0 { + fd = (*TUnixUnusedFd)(unsafe.Pointer(pReadonly)).Ffd + Xsqlite3_free(tls, pReadonly) + } else { + fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 2682))) + } } } } if fd < 0 { - rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44435)), __ccgo_ts+3395, zName, int32(44435)) + rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44775)), __ccgo_ts+3459, zName, int32(44775)) if rc == SQLITE_OK { rc = rc2 } @@ -31614,13 +31846,13 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags } if libc.Xfstatfs(tls, fd, bp) == -int32(1) { _storeLastErrno(tls, p, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) - _robust_close(tls, p, fd, int32(44489)) + _robust_close(tls, p, fd, int32(44829)) return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(13)< int32(SQLITE_MAX_SYMLINK) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(44686)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45026)) return } got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+144, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2)) if got <= 0 || got >= libc.Int64FromInt64(1026)-libc.Int64FromInt32(2) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44691)), __ccgo_ts+3584, zIn, int32(44691)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45031)), __ccgo_ts+3648, zIn, int32(45031)) return } (*(*[1026]int8)(unsafe.Pointer(bp + 144)))[got] = 0 @@ -31892,14 +32124,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z (*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut if int32(*(*int8)(unsafe.Pointer(zPath))) != int32('/') { if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2)) == uintptr(0) { - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44749)), __ccgo_ts+3413, zPath, int32(44749)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45089)), __ccgo_ts+3477, zPath, int32(45089)) } _appendAllPathElements(tls, bp, bp+24) } _appendAllPathElements(tls, bp, zPath) *(*int8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = 0 if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) { - return _sqlite3CantopenError(tls, int32(44755)) + return _sqlite3CantopenError(tls, int32(45095)) } if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 { return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)< uint64(PATH_MAX) || pathLen < uint64(6) || libc.Xstrlcpy(tls, bp+uintptr(pathLen-uint64(5)), __ccgo_ts+4041, uint64(6)) != uint64(5) { - Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4047, libc.VaList(bp+2144, int32(pathLen))) + if pathLen > uint64(PATH_MAX) || pathLen < uint64(6) || libc.Xstrlcpy(tls, bp+uintptr(pathLen-uint64(5)), __ccgo_ts+4105, uint64(6)) != uint64(5) { + Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4111, libc.VaList(bp+2144, int32(pathLen))) goto end_breaklock } /* read the conch content */ readLen = uint64((*(*func(*libc.TLS, int32, uintptr, Tsize_t, Toff_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(9)].FpCurrent})))(tls, (*TunixFile)(unsafe.Pointer(conchFile)).Fh, bp+1024, uint64(libc.Int32FromInt32(PROXY_HEADERLEN)+libc.Int32FromInt32(PROXY_HOSTIDLEN)+libc.Int32FromInt32(PATH_MAX)), 0)) if readLen < uint64(libc.Int32FromInt32(PROXY_HEADERLEN)+libc.Int32FromInt32(PROXY_HOSTIDLEN)) { - Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4067, libc.VaList(bp+2144, int32(readLen))) + Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4131, libc.VaList(bp+2144, int32(readLen))) goto end_breaklock } /* write it out to the temporary break file */ fd = _robust_open(tls, bp, libc.Int32FromInt32(O_RDWR)|libc.Int32FromInt32(O_CREAT)|libc.Int32FromInt32(O_EXCL)|libc.Int32FromInt32(O_NOFOLLOW), uint16(0)) if fd < 0 { - Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4087, libc.VaList(bp+2144, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) + Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4151, libc.VaList(bp+2144, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) goto end_breaklock } if (*(*func(*libc.TLS, int32, uintptr, Tsize_t, Toff_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(12)].FpCurrent})))(tls, fd, bp+1024, readLen, 0) != int64(readLen) { - Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4106, libc.VaList(bp+2144, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) + Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4170, libc.VaList(bp+2144, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) goto end_breaklock } if libc.Xrename(tls, bp, cPath) != 0 { - Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4124, libc.VaList(bp+2144, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) + Xsqlite3_snprintf(tls, int32(64), bp+2065, __ccgo_ts+4188, libc.VaList(bp+2144, *(*int32)(unsafe.Pointer(libc.X__error(tls))))) goto end_breaklock } rc = 0 - libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+4143, libc.VaList(bp+2144, cPath)) - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(conchFile)).Fh, int32(45418)) + libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+4207, libc.VaList(bp+2144, cPath)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(conchFile)).Fh, int32(45758)) (*TunixFile)(unsafe.Pointer(conchFile)).Fh = fd (*TunixFile)(unsafe.Pointer(conchFile)).FopenFlags = libc.Int32FromInt32(O_RDWR) | libc.Int32FromInt32(O_CREAT) goto end_breaklock @@ -32559,9 +32791,9 @@ end_breaklock: if rc != 0 { if fd >= 0 { (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, bp) - _robust_close(tls, pFile, fd, int32(45426)) + _robust_close(tls, pFile, fd, int32(45766)) } - libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+4167, libc.VaList(bp+2144, cPath, bp+2065)) + libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+4231, libc.VaList(bp+2144, cPath, bp+2065)) } return rc } @@ -32782,14 +33014,14 @@ func _proxyTakeConch(tls *libc.TLS, pFile uintptr) (r int32) { ; if rc == SQLITE_OK && (*TunixFile)(unsafe.Pointer(pFile)).FopenFlags != 0 { if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 { - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(45679)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(46019)) } (*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1) fd = _robust_open(tls, (*TproxyLockingContext)(unsafe.Pointer(pCtx)).FdbPath, (*TunixFile)(unsafe.Pointer(pFile)).FopenFlags, uint16(0)) if fd >= 0 { (*TunixFile)(unsafe.Pointer(pFile)).Fh = fd } else { - rc = _sqlite3CantopenError(tls, int32(45687)) /* SQLITE_BUSY? proxyTakeConch called + rc = _sqlite3CantopenError(tls, int32(46027)) /* SQLITE_BUSY? proxyTakeConch called during locking */ } } @@ -32912,7 +33144,7 @@ func _proxyCreateConchPathname(tls *libc.TLS, dbPath uintptr, pConchPath uintptr i++ } /* append the "-conch" suffix to the file */ - libc.X__builtin___memcpy_chk(tls, conchPath+uintptr(i+int32(1)), __ccgo_ts+4205, uint64(7), libc.X__builtin_object_size(tls, conchPath+uintptr(i+int32(1)), 0)) + libc.X__builtin___memcpy_chk(tls, conchPath+uintptr(i+int32(1)), __ccgo_ts+4269, uint64(7), libc.X__builtin_object_size(tls, conchPath+uintptr(i+int32(1)), 0)) return SQLITE_OK } @@ -32932,7 +33164,7 @@ func _switchLockProxyPath(tls *libc.TLS, pFile uintptr, path uintptr) (r int32) return int32(SQLITE_BUSY) } /* nothing to do if the path is NULL, :auto: or matches the existing path */ - if !(path != 0) || int32(*(*int8)(unsafe.Pointer(path))) == int32('\000') || !(libc.Xstrcmp(tls, path, __ccgo_ts+3994) != 0) || oldPath != 0 && !(libc.Xstrncmp(tls, oldPath, path, uint64(PATH_MAX)) != 0) { + if !(path != 0) || int32(*(*int8)(unsafe.Pointer(path))) == int32('\000') || !(libc.Xstrcmp(tls, path, __ccgo_ts+4058) != 0) || oldPath != 0 && !(libc.Xstrncmp(tls, oldPath, path, uint64(PATH_MAX)) != 0) { return SQLITE_OK } else { lockProxy = (*TproxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxy @@ -32971,7 +33203,7 @@ func _proxyGetDbPathForUnixFile(tls *libc.TLS, pFile uintptr, dbPath uintptr) (r if (*TunixFile)(unsafe.Pointer(pFile)).FpMethod == uintptr(unsafe.Pointer(&_dotlockIoMethods)) { /* dot lock style uses the locking context to store the dot lock ** file path */ - len1 = int32(libc.Xstrlen(tls, (*TunixFile)(unsafe.Pointer(pFile)).FlockingContext) - libc.Xstrlen(tls, __ccgo_ts+4212)) + len1 = int32(libc.Xstrlen(tls, (*TunixFile)(unsafe.Pointer(pFile)).FlockingContext) - libc.Xstrlen(tls, __ccgo_ts+4276)) libc.X__builtin___memcpy_chk(tls, dbPath, (*TunixFile)(unsafe.Pointer(pFile)).FlockingContext, uint64(len1+int32(1)), libc.X__builtin_object_size(tls, dbPath, 0)) } else { /* all other styles use the locking context to store the db file path */ @@ -33006,7 +33238,7 @@ func _proxyTransformUnixFile(tls *libc.TLS, pFile uintptr, path uintptr) (r int3 return int32(SQLITE_BUSY) } _proxyGetDbPathForUnixFile(tls, pFile, bp) - if !(path != 0) || int32(*(*int8)(unsafe.Pointer(path))) == int32('\000') || !(libc.Xstrcmp(tls, path, __ccgo_ts+3994) != 0) { + if !(path != 0) || int32(*(*int8)(unsafe.Pointer(path))) == int32('\000') || !(libc.Xstrcmp(tls, path, __ccgo_ts+4058) != 0) { lockPath = libc.UintptrFromInt32(0) } else { lockPath = path @@ -33081,7 +33313,7 @@ func _proxyFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) (r int if (*TproxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath != 0 { *(*uintptr)(unsafe.Pointer(pArg)) = (*TproxyLockingContext)(unsafe.Pointer(pCtx)).FlockProxyPath } else { - *(*uintptr)(unsafe.Pointer(pArg)) = __ccgo_ts + 4218 + *(*uintptr)(unsafe.Pointer(pArg)) = __ccgo_ts + 4282 } } else { *(*uintptr)(unsafe.Pointer(pArg)) = libc.UintptrFromInt32(0) @@ -33106,7 +33338,7 @@ func _proxyFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) (r int proxyPath = pArg if isProxyStyle != 0 { pCtx1 = (*TunixFile)(unsafe.Pointer(pFile1)).FlockingContext - if !(libc.Xstrcmp(tls, pArg, __ccgo_ts+3994) != 0) || (*TproxyLockingContext)(unsafe.Pointer(pCtx1)).FlockProxyPath != 0 && !(libc.Xstrncmp(tls, (*TproxyLockingContext)(unsafe.Pointer(pCtx1)).FlockProxyPath, proxyPath, uint64(PATH_MAX)) != 0) { + if !(libc.Xstrcmp(tls, pArg, __ccgo_ts+4058) != 0) || (*TproxyLockingContext)(unsafe.Pointer(pCtx1)).FlockProxyPath != 0 && !(libc.Xstrncmp(tls, (*TproxyLockingContext)(unsafe.Pointer(pCtx1)).FlockProxyPath, proxyPath, uint64(PATH_MAX)) != 0) { rc = SQLITE_OK } else { rc = _switchLockProxyPath(tls, pFile1, proxyPath) @@ -33375,55 +33607,55 @@ var _aVfs = [9]Tsqlite3_vfs{ FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4236, + FzName: __ccgo_ts + 4300, }, 1: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4241, + FzName: __ccgo_ts + 4305, }, 2: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4251, + FzName: __ccgo_ts + 4315, }, 3: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 3869, + FzName: __ccgo_ts + 3933, }, 4: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4264, + FzName: __ccgo_ts + 4328, }, 5: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4275, + FzName: __ccgo_ts + 4339, }, 6: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4286, + FzName: __ccgo_ts + 4350, }, 7: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4295, + FzName: __ccgo_ts + 4359, }, 8: { FiVersion: int32(3), FszOsFile: int32(128), FmxPathname: int32(MAX_PATHNAME), - FzName: __ccgo_ts + 4304, + FzName: __ccgo_ts + 4368, }, } @@ -33787,7 +34019,7 @@ var _memdb_g TMemFS var _memdb_vfs = Tsqlite3_vfs{ FiVersion: int32(2), FmxPathname: int32(1024), - FzName: __ccgo_ts + 4315, + FzName: __ccgo_ts + 4379, } func init() { @@ -34133,7 +34365,7 @@ func _memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = int32(SQLITE_NOTFOUND) _memdbEnter(tls, p) if op == int32(SQLITE_FCNTL_VFSNAME) { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4321, libc.VaList(bp+8, (*TMemStore)(unsafe.Pointer(p)).FaData, (*TMemStore)(unsafe.Pointer(p)).Fsz)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4385, libc.VaList(bp+8, (*TMemStore)(unsafe.Pointer(p)).FaData, (*TMemStore)(unsafe.Pointer(p)).Fsz)) rc = SQLITE_OK } if op == int32(SQLITE_FCNTL_SIZE_LIMIT) { @@ -34308,7 +34540,7 @@ func _memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, bp := tls.Alloc(16) defer tls.Free(16) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, __ccgo_ts+3799, libc.VaList(bp+8, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, __ccgo_ts+3863, libc.VaList(bp+8, zPath)) return SQLITE_OK } @@ -34455,7 +34687,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp return uintptr(0) } szPage = _sqlite3BtreeGetPageSize(tls, pBt) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+4336, libc.VaList(bp+24, zSchema)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+4400, libc.VaList(bp+24, zSchema)) if zSql != 0 { v1 = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), bp, uintptr(0)) } else { @@ -34473,7 +34705,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp sz = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) * int64(szPage) if sz == 0 { Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) - Xsqlite3_exec(tls, db, __ccgo_ts+4359, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+4423, uintptr(0), uintptr(0), uintptr(0)) rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == int32(SQLITE_ROW) { sz = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) * int64(szPage) @@ -34536,7 +34768,7 @@ func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uint rc = int32(SQLITE_ERROR) goto end_deserialize } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+4384, libc.VaList(bp+16, zSchema)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+4448, libc.VaList(bp+16, zSchema)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -40730,7 +40962,7 @@ end_playback: rc = _pager_delsuper(tls, pPager, zSuper) } if isHot != 0 && nPlayback != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(2)< int64(1) { _sqlite3PagerUnrefNotNull(tls, pPgOld) - return _sqlite3CorruptError(tls, int32(63973)) + return _sqlite3CorruptError(tls, int32(64313)) } p4 = pPg + 52 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | int32((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC)) @@ -44837,7 +45069,7 @@ func _sqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in ** sqlite3_wal_checkpoint() call, but it happens very rarely. ** https://sqlite.org/forum/forumpost/fd0f19d229156939 */ - Xsqlite3_exec(tls, db, __ccgo_ts+4457, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+4521, uintptr(0), uintptr(0), uintptr(0)) } if (*TPager)(unsafe.Pointer(pPager)).FpWal != 0 { if eMode == SQLITE_CHECKPOINT_PASSIVE { @@ -46278,7 +46510,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in v2 = nCollide nCollide-- if v2 == 0 { - return _sqlite3CorruptError(tls, int32(65899)) + return _sqlite3CorruptError(tls, int32(66239)) } goto _1 _1: @@ -46366,7 +46598,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) { ** are able to understand */ version = _sqlite3Get4byte(tls, bp+8+4) if version != uint32(WAL_MAX_VERSION) { - rc = _sqlite3CantopenError(tls, int32(66031)) + rc = _sqlite3CantopenError(tls, int32(66371)) goto finished } /* Malloc a buffer to read frames into. */ @@ -46505,7 +46737,7 @@ finished: ** checkpointing the log file. */ if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FnPage != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(1)< int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = _sqlite3CorruptError(tls, int32(71032)) + rc = _sqlite3CorruptError(tls, int32(71421)) } else { rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -51064,7 +51303,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, } /* The super-journal page number must never be used as a pointer map page */ if key == uint32(0) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71230)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71619)) return } iPtrmap = _ptrmapPageno(tls, pBt, key) @@ -51077,12 +51316,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, /* The first byte of the extra data is the MemPage.isInit byte. ** If that byte is set, it means this page is also being used ** as a btree page. */ - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71243)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71632)) goto ptrmap_exit } offset = int32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1))) if offset < 0 { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71248)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71637)) goto ptrmap_exit } pPtrmap = _sqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -51126,7 +51365,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin offset = int32(libc.Uint32FromInt32(5) * (key - uint32(iPtrmap) - libc.Uint32FromInt32(1))) if offset < 0 { _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) - return _sqlite3CorruptError(tls, int32(71293)) + return _sqlite3CorruptError(tls, int32(71682)) } *(*Tu8)(unsafe.Pointer(pEType)) = *(*Tu8)(unsafe.Pointer(pPtrmap + uintptr(offset))) if pPgno != 0 { @@ -51134,7 +51373,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin } _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) if int32(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || int32(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) { - return _sqlite3CorruptError(tls, int32(71301)) + return _sqlite3CorruptError(tls, int32(71690)) } return SQLITE_OK } @@ -51554,7 +51793,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71741)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72130)) return } ovfl = _sqlite3Get4byte(tls, pCell+uintptr(int32((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4))) @@ -51594,12 +51833,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag { iFree = int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71799)) + return _sqlite3CorruptError(tls, int32(72188)) } if iFree != 0 { iFree2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71802)) + return _sqlite3CorruptError(tls, int32(72191)) } if 0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 { pEnd = data + uintptr(cellOffset+nCell*int32(2)) @@ -51607,21 +51846,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { sz = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree { - return _sqlite3CorruptError(tls, int32(71810)) + return _sqlite3CorruptError(tls, int32(72199)) } if iFree2 != 0 { if iFree+sz > iFree2 { - return _sqlite3CorruptError(tls, int32(71813)) + return _sqlite3CorruptError(tls, int32(72202)) } sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize { - return _sqlite3CorruptError(tls, int32(71815)) + return _sqlite3CorruptError(tls, int32(72204)) } libc.X__builtin___memmove_chk(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)), libc.X__builtin_object_size(tls, data+uintptr(iFree+sz+sz2), 0)) sz += sz2 } else { if iFree+sz > usableSize { - return _sqlite3CorruptError(tls, int32(71819)) + return _sqlite3CorruptError(tls, int32(72208)) } } cbrk = top + sz @@ -51668,12 +51907,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { ** if PRAGMA cell_size_check=ON. */ if pc > iCellLast { - return _sqlite3CorruptError(tls, int32(71852)) + return _sqlite3CorruptError(tls, int32(72241)) } size = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc))) cbrk -= size if cbrk < iCellStart || pc+size > usableSize { - return _sqlite3CorruptError(tls, int32(71858)) + return _sqlite3CorruptError(tls, int32(72247)) } *(*Tu8)(unsafe.Pointer(pAddr1)) = uint8(cbrk >> libc.Int32FromInt32(8)) *(*Tu8)(unsafe.Pointer(pAddr1 + 1)) = uint8(cbrk) @@ -51689,7 +51928,7 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { defragment_out: ; if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree { - return _sqlite3CorruptError(tls, int32(71872)) + return _sqlite3CorruptError(tls, int32(72261)) } *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = uint8(cbrk >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)) + 1)) = uint8(cbrk) @@ -51749,7 +51988,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint } else { if x+pc > maxPC { /* This slot extends off the end of the usable part of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71929)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72318)) return uintptr(0) } else { /* The slot remains on the free-list. Reduce its size to account @@ -51766,14 +52005,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint if pc <= iAddr { if pc != 0 { /* The next slot in the chain comes before the current slot */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71944)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72333)) } return uintptr(0) } } if pc > maxPC+nByte-int32(4) { /* The free slot chain extends off the end of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71951)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72340)) } return uintptr(0) } @@ -51816,11 +52055,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) { top = int32(65536) } else { - return _sqlite3CorruptError(tls, int32(71999)) + return _sqlite3CorruptError(tls, int32(72388)) } } else { if top > int32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(72002)) + return _sqlite3CorruptError(tls, int32(72391)) } } /* If there is enough space between gap and top for one more cell pointer, @@ -51834,7 +52073,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r g2 = v1 *(*int32)(unsafe.Pointer(pIdx)) = v1 if g2 <= gap { - return _sqlite3CorruptError(tls, int32(72019)) + return _sqlite3CorruptError(tls, int32(72408)) } else { return SQLITE_OK } @@ -51917,12 +52156,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if int32(iFreeBlk) == 0 { break } /* TH3: corrupt082.100 */ - return _sqlite3CorruptError(tls, int32(72098)) + return _sqlite3CorruptError(tls, int32(72487)) } iPtr = iFreeBlk } if uint32(iFreeBlk) > (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-uint32(4) { /* TH3: corrupt081.100 */ - return _sqlite3CorruptError(tls, int32(72103)) + return _sqlite3CorruptError(tls, int32(72492)) } /* At this point: ** iFreeBlk: First freeblock after iStart, or zero if none @@ -51933,11 +52172,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if iFreeBlk != 0 && iEnd+uint32(3) >= uint32(iFreeBlk) { nFrag = uint8(uint32(iFreeBlk) - iEnd) if iEnd > uint32(iFreeBlk) { - return _sqlite3CorruptError(tls, int32(72115)) + return _sqlite3CorruptError(tls, int32(72504)) } iEnd = uint32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+int32(2)))))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return _sqlite3CorruptError(tls, int32(72118)) + return _sqlite3CorruptError(tls, int32(72507)) } iSize = uint16(iEnd - uint32(iStart)) iFreeBlk = uint16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= int32(iStart) { if iPtrEnd > int32(iStart) { - return _sqlite3CorruptError(tls, int32(72131)) + return _sqlite3CorruptError(tls, int32(72520)) } nFrag = Tu8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = uint16(iEnd - uint32(iPtr)) @@ -51958,7 +52197,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(7))))) { - return _sqlite3CorruptError(tls, int32(72137)) + return _sqlite3CorruptError(tls, int32(72526)) } p2 = data + uintptr(int32(hdr)+int32(7)) *(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - int32(nFrag)) @@ -51975,10 +52214,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) ** so just extend the cell content area rather than create another ** freelist entry */ if int32(iStart) < int32(x) { - return _sqlite3CorruptError(tls, int32(72151)) + return _sqlite3CorruptError(tls, int32(72540)) } if int32(iPtr) != int32(hdr)+int32(1) { - return _sqlite3CorruptError(tls, int32(72152)) + return _sqlite3CorruptError(tls, int32(72541)) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)))) = uint8(int32(iFreeBlk) >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)) + 1)) = uint8(iFreeBlk) @@ -52039,7 +52278,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72206)) + return _sqlite3CorruptError(tls, int32(72595)) } } } else { @@ -52065,7 +52304,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72230)) + return _sqlite3CorruptError(tls, int32(72619)) } } } @@ -52104,12 +52343,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will ** always be at least one cell before the first freeblock. */ - return _sqlite3CorruptError(tls, int32(72281)) + return _sqlite3CorruptError(tls, int32(72670)) } for int32(1) != 0 { if pc > iCellLast { /* Freeblock off the end of the page */ - return _sqlite3CorruptError(tls, int32(72286)) + return _sqlite3CorruptError(tls, int32(72675)) } next = uint32(int32(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) { /* Freeblock not in ascending order */ - return _sqlite3CorruptError(tls, int32(72296)) + return _sqlite3CorruptError(tls, int32(72685)) } if uint32(pc)+size > uint32(usableSize) { /* Last freeblock extends past page end */ - return _sqlite3CorruptError(tls, int32(72300)) + return _sqlite3CorruptError(tls, int32(72689)) } } /* At this point, nFree contains the sum of the offset to the start @@ -52136,7 +52375,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { ** area, according to the page header, lies within the page. */ if nFree > usableSize || nFree < iCellFirst { - return _sqlite3CorruptError(tls, int32(72312)) + return _sqlite3CorruptError(tls, int32(72701)) } (*TMemPage)(unsafe.Pointer(pPage)).FnFree = int32(uint16(nFree - iCellFirst)) return SQLITE_OK @@ -52167,11 +52406,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) { } pc = int32(*(*Tu8)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))< iCellLast { - return _sqlite3CorruptError(tls, int32(72343)) + return _sqlite3CorruptError(tls, int32(72732)) } sz = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return _sqlite3CorruptError(tls, int32(72348)) + return _sqlite3CorruptError(tls, int32(72737)) } goto _1 _1: @@ -52200,7 +52439,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating ** the b-tree page type. */ if _decodeFlags(tls, pPage, int32(*(*Tu8)(unsafe.Pointer(data)))) != 0 { - return _sqlite3CorruptError(tls, int32(72380)) + return _sqlite3CorruptError(tls, int32(72769)) } (*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1)) (*TMemPage)(unsafe.Pointer(pPage)).FnOverflow = uint8(0) @@ -52213,7 +52452,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FnCell = uint16(int32(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) { /* To many cells for a single page. The page must be corrupt */ - return _sqlite3CorruptError(tls, int32(72394)) + return _sqlite3CorruptError(tls, int32(72783)) } /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only ** possible for a root page of a table that contains no rows) then the @@ -52366,7 +52605,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe _, _ = pPage, rc if pgno > _btreePagecount(tls, pBt) { *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72537)) + return _sqlite3CorruptError(tls, int32(72926)) } rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly) if rc != 0 { @@ -52428,7 +52667,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) { _releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72609)) + return _sqlite3CorruptError(tls, int32(72998)) } (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0) } else { @@ -52516,7 +52755,7 @@ func _sqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt /* Set the variable isMemdb to true for an in-memory database, or ** false for a file-based database. */ - isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4538) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) + isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4602) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) /* flags fit in 8 bits */ /* Only a BTREE_SINGLE database can be BTREE_UNORDERED */ /* A BTREE_SINGLE database is always a temporary and/or ephemeral */ @@ -53302,7 +53541,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { ** The original design allowed these amounts to vary, but as of ** version 3.6.0, we require them to be fixed. */ - if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4547, uint64(3)) != 0 { + if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4611, uint64(3)) != 0 { goto page1_init_failed } /* EVIDENCE-OF: R-51873-39618 The page size for a database file is @@ -53340,7 +53579,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { } if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) { if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 { - rc = _sqlite3CorruptError(tls, int32(73547)) + rc = _sqlite3CorruptError(tls, int32(73936)) goto page1_init_failed } else { nPage = *(*Tu32)(unsafe.Pointer(bp + 8)) @@ -53781,7 +54020,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT if int32(eType) == int32(PTRMAP_OVERFLOW2) { /* The pointer is always the first 4 bytes of the page in this case. */ if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return _sqlite3CorruptError(tls, int32(73995)) + return _sqlite3CorruptError(tls, int32(74384)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -53805,7 +54044,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74014)) + return _sqlite3CorruptError(tls, int32(74403)) } if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) { _sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo) @@ -53814,7 +54053,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } } else { if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74023)) + return _sqlite3CorruptError(tls, int32(74412)) } if _sqlite3Get4byte(tls, pCell) == iFrom { _sqlite3Put4byte(tls, pCell, iTo) @@ -53828,7 +54067,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } if i == nCell { if int32(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom { - return _sqlite3CorruptError(tls, int32(74035)) + return _sqlite3CorruptError(tls, int32(74424)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo) } @@ -53858,7 +54097,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP iDbPage = (*TMemPage)(unsafe.Pointer(pDbPage)).Fpgno pPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager if iDbPage < uint32(3) { - return _sqlite3CorruptError(tls, int32(74070)) + return _sqlite3CorruptError(tls, int32(74459)) } /* Move page iDbPage from its current location to page number iFreePage */ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit) @@ -53954,7 +54193,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom return rc } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) { - return _sqlite3CorruptError(tls, int32(74168)) + return _sqlite3CorruptError(tls, int32(74557)) } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) { if bCommit == 0 { @@ -53992,7 +54231,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) - return _sqlite3CorruptError(tls, int32(74220)) + return _sqlite3CorruptError(tls, int32(74609)) } } rc = _relocatePage(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*Tu8)(unsafe.Pointer(bp)), *(*TPgno)(unsafe.Pointer(bp + 4)), *(*TPgno)(unsafe.Pointer(bp + 24)), bCommit) @@ -54059,7 +54298,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) { nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) nFin = _finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = _sqlite3CorruptError(tls, int32(74288)) + rc = _sqlite3CorruptError(tls, int32(74677)) } else { if nFree > uint32(0) { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -54102,7 +54341,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { ** is either a pointer-map page or the pending-byte page. If one ** is encountered, this indicates corruption. */ - return _sqlite3CorruptError(tls, int32(74339)) + return _sqlite3CorruptError(tls, int32(74728)) } nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) db = (*TBtree)(unsafe.Pointer(p)).Fdb @@ -54132,7 +54371,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { } nFin = _finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return _sqlite3CorruptError(tls, int32(74366)) + return _sqlite3CorruptError(tls, int32(74755)) } if nFin < nOrig { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -54598,7 +54837,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo /* Assert that the caller has opened the required transaction. */ if iTable <= uint32(1) { if iTable < uint32(1) { - return _sqlite3CorruptError(tls, int32(74830)) + return _sqlite3CorruptError(tls, int32(75219)) } else { if _btreePagecount(tls, pBt) == uint32(0) { iTable = uint32(0) @@ -54990,7 +55229,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin pBt = (*TBtCursor)(unsafe.Pointer(pCur)).FpBt /* Btree this cursor belongs to */ pBufStart = pBuf /* Start of original out buffer */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(75235)) + return _sqlite3CorruptError(tls, int32(75624)) } _getCellInfo(tls, pCur) aPayload = (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload @@ -55000,7 +55239,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ** but is recast into its current form to avoid integer overflow problems */ - return _sqlite3CorruptError(tls, int32(75250)) + return _sqlite3CorruptError(tls, int32(75639)) } /* Check if data must be read/written to/from the btree page itself. */ if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) { @@ -55028,7 +55267,11 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_ValidOvfl) == 0 { nOvfl = int32(((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload - uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) + ovflSize - uint32(1)) / ovflSize) if (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow == uintptr(0) || nOvfl*libc.Int32FromInt64(4) > _sqlite3MallocSize(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow) { - aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + if _sqlite3FaultSim(tls, int32(413)) != 0 { + aNew = uintptr(0) + } else { + aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + } if aNew == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -55039,6 +55282,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin p1 = pCur + 1 *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(BTCF_ValidOvfl)) } else { + /* Sanity check the validity of the overflow page cache */ /* If the overflow page-list cache has been allocated and the ** entry for the first required overflow page is valid, skip ** directly to it. @@ -55052,7 +55296,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin for *(*TPgno)(unsafe.Pointer(bp)) != 0 { /* If required, populate the overflow page-list cache. */ if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(75312)) + return _sqlite3CorruptError(tls, int32(75710)) } *(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp)) if offset >= ovflSize { @@ -55126,7 +55370,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin } if rc == SQLITE_OK && amt > uint32(0) { /* Overflow chain ends prematurely */ - return _sqlite3CorruptError(tls, int32(75396)) + return _sqlite3CorruptError(tls, int32(75794)) } return rc } @@ -55261,7 +55505,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { var v3, p1 uintptr _, _, _, _ = rc, v2, v3, p1 if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(75534)) + return _sqlite3CorruptError(tls, int32(75932)) } (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) p1 = pCur + 1 @@ -55273,7 +55517,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, newPgno, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(75548)) + rc = _sqlite3CorruptError(tls, int32(75946)) } if rc != 0 { v3 = pCur + 84 @@ -55389,7 +55633,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) { ** in such a way that page pRoot is linked into a second b-tree table ** (or the freelist). */ if int32((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) { - return _sqlite3CorruptError(tls, int32(75683)) + return _sqlite3CorruptError(tls, int32(76081)) } goto skip_init skip_init: @@ -55403,7 +55647,7 @@ skip_init: } else { if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) { if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) { - return _sqlite3CorruptError(tls, int32(75695)) + return _sqlite3CorruptError(tls, int32(76093)) } subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8))) (*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID) @@ -55637,7 +55881,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh break } if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(75937)) + return _sqlite3CorruptError(tls, int32(76342)) } } } @@ -55841,7 +56085,7 @@ func _sqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes p3 = pCur + 1 *(*Tu8)(unsafe.Pointer(p3)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p3))) & ^libc.Int32FromInt32(BTCF_ValidOvfl)) if !((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76133)) + return _sqlite3CorruptError(tls, int32(76538)) } goto bypass_moveto_root /* Start search on the current page */ } @@ -55904,7 +56148,7 @@ bypass_moveto_root: /* Invalid key size: 0x80 0x80 0x01 */ /* Minimum legal index key size */ if nCell < int32(2) || uint32(nCell)/(*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage { - rc = _sqlite3CorruptError(tls, int32(76220)) + rc = _sqlite3CorruptError(tls, int32(76625)) goto moveto_index_finish } pCellKey = _sqlite3Malloc(tls, uint64(nCell+nOverrun)) @@ -55935,7 +56179,7 @@ bypass_moveto_root: rc = SQLITE_OK (*TBtCursor)(unsafe.Pointer(pCur)).Fix = uint16(idx) if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 { - rc = _sqlite3CorruptError(tls, int32(76252)) + rc = _sqlite3CorruptError(tls, int32(76657)) } goto moveto_index_finish } @@ -55968,7 +56212,7 @@ bypass_moveto_root: p9 = pCur + 1 *(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl))) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(76283)) + return _sqlite3CorruptError(tls, int32(76688)) } *(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = uint16(lwr) *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage @@ -55977,7 +56221,7 @@ bypass_moveto_root: rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(76294)) + rc = _sqlite3CorruptError(tls, int32(76699)) } if rc != 0 { v11 = pCur + 84 @@ -56026,11 +56270,11 @@ func _sqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) (r Ti64) { var i Tu8 var n Ti64 _, _ = i, n - /* Currently this interface is only called by the OP_IfSmaller - ** opcode, and it that case the cursor will always be valid and - ** will always point to a leaf node. */ + /* Currently this interface is only called by the OP_IfSizeBetween + ** opcode and the OP_Count opcode with P3=1. In either case, + ** the cursor will always be valid unless the btree is empty. */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return int64(-int32(1)) + return 0 } if int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).Fleaf) == 0 { return int64(-int32(1)) @@ -56106,7 +56350,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76395)) + return _sqlite3CorruptError(tls, int32(76800)) } if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { @@ -56216,7 +56460,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76488)) + return _sqlite3CorruptError(tls, int32(76893)) } if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { idx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) @@ -56304,7 +56548,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt ** stores the total number of pages on the freelist. */ n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36) if n >= mxPage { - return _sqlite3CorruptError(tls, int32(76578)) + return _sqlite3CorruptError(tls, int32(76983)) } if n > uint32(0) { searchList = uint8(0) /* If the free-list must be searched for 'nearby' */ @@ -56359,7 +56603,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt nSearch++ } if v2 || v1 > n { - rc = _sqlite3CorruptError(tls, int32(76634)) + rc = _sqlite3CorruptError(tls, int32(77039)) } else { rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0) } @@ -56385,7 +56629,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) { /* Value of k is out of range. Database corruption */ - rc = _sqlite3CorruptError(tls, int32(76663)) + rc = _sqlite3CorruptError(tls, int32(77068)) goto end_allocate_page } else { if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -56412,7 +56656,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8) if iNewTrunk > mxPage { - rc = _sqlite3CorruptError(tls, int32(76697)) + rc = _sqlite3CorruptError(tls, int32(77102)) goto end_allocate_page } rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0) @@ -56483,7 +56727,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4))) if iPage > mxPage || iPage < uint32(2) { - rc = _sqlite3CorruptError(tls, int32(76762)) + rc = _sqlite3CorruptError(tls, int32(77167)) goto end_allocate_page } if !(searchList != 0) || (iPage == nearby || iPage < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -56621,7 +56865,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in iTrunk = uint32(0) /* Page number of free-list trunk page */ pPage1 = (*TBtShared)(unsafe.Pointer(pBt)).FpPage1 /* Initial number of pages on free-list */ if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(76889)) + return _sqlite3CorruptError(tls, int32(77294)) } if pMemPage != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage @@ -56672,7 +56916,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */ iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32) if iTrunk > _btreePagecount(tls, pBt) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76936)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77341)) goto freepage_out } *(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0) @@ -56681,7 +56925,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in } nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4) if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76947)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77352)) goto freepage_out } if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) { @@ -56771,7 +57015,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp _, _, _, _, _, _, _, _ = nOvfl, ovflPageSize, ovflPgno, pBt, rc, v1, v2, v3 if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { /* Cell extends past end of page */ - return _sqlite3CorruptError(tls, int32(77036)) + return _sqlite3CorruptError(tls, int32(77441)) } ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt @@ -56789,7 +57033,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp /* 0 is not a legal page number and page 1 cannot be an ** overflow page. Therefore if ovflPgno<2 or past the end of the ** file the database must be corrupt. */ - return _sqlite3CorruptError(tls, int32(77053)) + return _sqlite3CorruptError(tls, int32(77458)) } if nOvfl != 0 { rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp) @@ -56812,7 +57056,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp ** caller is iterating through or using in some other way, this ** can be problematic. */ - rc = _sqlite3CorruptError(tls, int32(77073)) + rc = _sqlite3CorruptError(tls, int32(77478)) } else { rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno) } @@ -57033,7 +57277,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { pc = uint32(int32(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77329)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77734)) return } rc = _freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -57427,12 +57671,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg sz = *(*Tu16)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FszCell + uintptr(i)*2)) if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) { if uint64(pCell+uintptr(sz)) > uint64(pEnd) { - return _sqlite3CorruptError(tls, int32(77718)) + return _sqlite3CorruptError(tls, int32(78123)) } pCell = pTmp + uintptr(int64(pCell)-int64(aData)) } else { if uint64(pCell+uintptr(sz)) > uint64(pSrcEnd) && uint64(pCell) < uint64(pSrcEnd) { - return _sqlite3CorruptError(tls, int32(77723)) + return _sqlite3CorruptError(tls, int32(78128)) } } pData -= uintptr(sz) @@ -57440,7 +57684,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*Tu8)(unsafe.Pointer(pCellptr + 1)) = uint8(int64(pData) - int64(aData)) pCellptr += uintptr(2) if pData < pCellptr { - return _sqlite3CorruptError(tls, int32(77729)) + return _sqlite3CorruptError(tls, int32(78134)) } libc.X__builtin___memmove_chk(tls, pData, pCell, uint64(sz), libc.X__builtin_object_size(tls, pData, 0)) i++ @@ -57535,7 +57779,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr ** database. But they might for a corrupt database. Hence use memmove() ** since memcpy() sends SIGABORT with overlapping buffers on OpenBSD */ if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(pEnd) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(pEnd) { - _sqlite3CorruptError(tls, int32(77814)) + _sqlite3CorruptError(tls, int32(78219)) return int32(1) } libc.X__builtin___memmove_chk(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz), libc.X__builtin_object_size(tls, pSlot, 0)) @@ -57683,7 +57927,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p if iOld < iNew { nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray) if nShift > nCell { - return _sqlite3CorruptError(tls, int32(77936)) + return _sqlite3CorruptError(tls, int32(78341)) } libc.X__builtin___memmove_chk(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), uint64(nCell*int32(2)), libc.X__builtin_object_size(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, 0)) nCell -= nShift @@ -57754,7 +57998,7 @@ editpage_fail: ; /* Unable to edit this page. Rebuild it from scratch instead. */ if nNew < int32(1) { - return _sqlite3CorruptError(tls, int32(78010)) + return _sqlite3CorruptError(tls, int32(78415)) } _populateCellCache(tls, pCArray, iNew, nNew) return _rebuildPage(tls, pCArray, iNew, nNew, pPg) @@ -57799,7 +58043,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt _, _, _, _, _, _, _ = pBt, pOut, pStop, v1, v2, v3, v4 pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt /* Page number of pNew */ if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return _sqlite3CorruptError(tls, int32(78050)) + return _sqlite3CorruptError(tls, int32(78455)) } /* dbfuzz001.test */ /* Allocate a new page. This page will become the right-sibling of ** pPage. Make the parent page writable, so that the new divider cell @@ -58160,7 +58404,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa ** table-interior, index-leaf, or index-interior). */ if int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78471)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78876)) goto balance_cleanup } /* Load b.apCell[] with pointers to all cells in pOld. If pOld @@ -58183,7 +58427,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa libc.X__builtin___memset_chk(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*uint64(limit+int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow)), libc.X__builtin_object_size(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0)) if int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 { if limit < int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78495)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78900)) goto balance_cleanup } limit = int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) @@ -58314,7 +58558,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa if i+int32(1) >= k { k = i + int32(2) if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78596)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79001)) goto balance_cleanup } (*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0 @@ -58357,7 +58601,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v10 = 0 } if cntNew[i] <= v10 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78629)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79034)) goto balance_cleanup } } @@ -58416,7 +58660,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v15 = 0 } if cntNew[i-int32(1)] <= v15 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78673)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79078)) goto balance_cleanup } goto _11 @@ -58448,7 +58692,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) nNew++ if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78706)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79111)) } if *(*int32)(unsafe.Pointer(bp)) != 0 { goto balance_cleanup @@ -58678,7 +58922,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa } pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8)) if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78906)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79311)) goto balance_cleanup } *(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno) @@ -58924,7 +59168,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) { break } if pOther != pCur && int32((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage { - return _sqlite3CorruptError(tls, int32(79138)) + return _sqlite3CorruptError(tls, int32(79543)) } goto _1 _1: @@ -58997,7 +59241,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) { /* The page being written is not a root page, and there is currently ** more than one reference to it. This only happens if the page is one ** of its own ancestor pages. Corruption. */ - rc = _sqlite3CorruptError(tls, int32(79198)) + rc = _sqlite3CorruptError(tls, int32(79603)) } else { pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8)) iIdx = int32(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2))) @@ -59156,7 +59400,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int return rc } if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = _sqlite3CorruptError(tls, int32(79362)) + rc = _sqlite3CorruptError(tls, int32(79767)) } else { if uint32(iOffset)+ovflPageSize < uint32(nTotal) { ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData) @@ -59187,7 +59431,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) { nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */ pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */ if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) { - return _sqlite3CorruptError(tls, int32(79390)) + return _sqlite3CorruptError(tls, int32(79795)) } if int32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal { /* The entire cell is local */ @@ -59272,7 +59516,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** Which can only happen if the SQLITE_NoSchemaError flag was set when ** the schema was loaded. This cannot be asserted though, as a user might ** set the flag, load the schema, and then unset the flag. */ - return _sqlite3CorruptError(tls, int32(79471)) + return _sqlite3CorruptError(tls, int32(79876)) } } /* Ensure that the cursor is not in the CURSOR_FAULT state and that it @@ -59364,7 +59608,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) { /* ^^^^^--- due to the moveToRoot() call above */ - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79594)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79999)) } else { *(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage) } @@ -59400,7 +59644,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) if *(*int32)(unsafe.Pointer(bp + 4)) == 0 { if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79636)) + return _sqlite3CorruptError(tls, int32(80041)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -59430,10 +59674,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ /* clearCell never fails when nLocal==nPayload */ if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) { - return _sqlite3CorruptError(tls, int32(79663)) + return _sqlite3CorruptError(tls, int32(80068)) } if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79666)) + return _sqlite3CorruptError(tls, int32(80071)) } libc.X__builtin___memcpy_chk(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 8))), libc.X__builtin_object_size(tls, oldCell, 0)) return SQLITE_OK @@ -59551,7 +59795,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79768)) + return _sqlite3CorruptError(tls, int32(80173)) } nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -59573,7 +59817,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T } if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79793)) + return _sqlite3CorruptError(tls, int32(80198)) } ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -59673,21 +59917,21 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { return *(*int32)(unsafe.Pointer(bp)) } } else { - return _sqlite3CorruptError(tls, int32(79889)) + return _sqlite3CorruptError(tls, int32(80294)) } } iCellDepth = int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) iCellIdx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return _sqlite3CorruptError(tls, int32(79898)) + return _sqlite3CorruptError(tls, int32(80303)) } pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx))))< _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80112)) + return _sqlite3CorruptError(tls, int32(80517)) } *(*TPgno)(unsafe.Pointer(bp + 8))++ /* The new root-page may not be allocated on a pointer-map page, or the @@ -59932,7 +60176,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36) if int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) { - *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80160)) + *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80565)) } if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -60013,14 +60257,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int var _ /* rc at bp+8 */ int32 _, _, _, _ = hdr, i, pCell, v2 if pgno > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80250)) + return _sqlite3CorruptError(tls, int32(80655)) } *(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0) if *(*int32)(unsafe.Pointer(bp + 8)) != 0 { return *(*int32)(unsafe.Pointer(bp + 8)) } if int32((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80257)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80662)) goto cleardatabasepage_out } hdr = int32((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset) @@ -60157,7 +60401,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) pBt = (*TBtree)(unsafe.Pointer(p)).FpBt if iTable > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80361)) + return _sqlite3CorruptError(tls, int32(80766)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -60422,7 +60666,7 @@ func _checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4551, int32(1)) + Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4615, int32(1)) } if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, pCheck+72, (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp+8, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv0, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -60470,11 +60714,11 @@ func _checkRef(tls *libc.TLS, pCheck uintptr, iPage TPgno) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if iPage > (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnCkPage || iPage == uint32(0) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4553, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4617, libc.VaList(bp+8, iPage)) return int32(1) } if _getPageReferenced(tls, pCheck, iPage) != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4576, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4640, libc.VaList(bp+8, iPage)) return int32(1) } _setPageReferenced(tls, pCheck, iPage) @@ -60500,11 +60744,11 @@ func _checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild TPgno, eType Tu8, iParen if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< (*TBtShared)(unsafe.Pointer((*TIntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize/uint32(4)-uint32(2) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4706, libc.VaList(bp+16, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4770, libc.VaList(bp+16, iPage)) N-- } else { i = 0 @@ -60576,11 +60820,11 @@ func _checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage TPgno, N } if N != 0 && nErrAtStart == (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr { if isFreeList != 0 { - v2 = __ccgo_ts + 4745 + v2 = __ccgo_ts + 4809 } else { - v2 = __ccgo_ts + 4750 + v2 = __ccgo_ts + 4814 } - _checkAppendMsg(tls, pCheck, __ccgo_ts+4771, libc.VaList(bp+16, v2, expected-N, expected)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4835, libc.VaList(bp+16, v2, expected-N, expected)) } } @@ -60716,12 +60960,12 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr if _checkRef(tls, pCheck, iPage) != 0 { return 0 } - (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4797 + (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4861 (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage v1 = _btreeGetPage(tls, pBt, iPage, bp+8, 0) rc = v1 if v1 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4815, libc.VaList(bp+56, rc)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4879, libc.VaList(bp+56, rc)) if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< usableSize-uint32(4) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4969, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5033, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) doCoverageCheck = 0 goto _4 } pCell = data + uintptr(pc) (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FxParseCell})))(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), pCell, bp+24) if pc+uint32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnSize) > usableSize { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4999, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5063, 0) doCoverageCheck = 0 goto _4 } @@ -60803,7 +61050,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr v5 = libc.BoolInt32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey >= *(*Ti64)(unsafe.Pointer(bp))) } if v5 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5023, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5087, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) } *(*Ti64)(unsafe.Pointer(bp)) = (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey keyCanBeEqual = 0 /* Only the first key on the page may ==maxKey */ @@ -60826,7 +61073,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr d2 = _checkTreePage(tls, pCheck, uint32(pgno), bp, *(*Ti64)(unsafe.Pointer(bp))) keyCanBeEqual = 0 if d2 != depth { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5047, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5111, 0) depth = d2 } } else { @@ -60903,7 +61150,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr prev = contentOffset - uint32(1) /* Implied first min-heap entry */ for _btreeHeapPull(tls, heap, bp+16) != 0 { if prev&uint32(0xffff) >= *(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5072, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5136, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) break } else { nFrag = int32(uint32(nFrag) + (*(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) - prev&libc.Uint32FromInt32(0xffff) - libc.Uint32FromInt32(1))) @@ -60917,7 +61164,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr ** number of fragmented free bytes within the cell content area. */ if *(*Tu32)(unsafe.Pointer(heap)) == uint32(0) && nFrag != int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5109, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5173, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) } } goto end_of_check @@ -60957,16 +61204,16 @@ end_of_check: // ** the unverified btrees. Except, if aRoot[1] is 1, then the freelist // ** checks are still performed. // */ -func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { - bp := tls.Alloc(256) - defer tls.Free(256) +func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, aCnt uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { + bp := tls.Alloc(272) + defer tls.Free(272) var bCkFreelist, bPartial int32 var i, mx, mxInHdr TPgno var pBt uintptr var savedDbFlags Tu64 - var _ /* notUsed at bp+224 */ Ti64 + var _ /* notUsed at bp+232 */ Ti64 var _ /* sCheck at bp+0 */ TIntegrityCk - var _ /* zErr at bp+120 */ [100]int8 + var _ /* zErr at bp+128 */ [100]int8 _, _, _, _, _, _, _ = bCkFreelist, bPartial, i, mx, mxInHdr, pBt, savedDbFlags pBt = (*TBtree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Tsqlite3)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags @@ -60980,13 +61227,13 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } } _sqlite3BtreeEnter(tls, p) - libc.X__builtin___memset_chk(tls, bp, 0, uint64(120), libc.X__builtin_object_size(tls, bp, 0)) + libc.X__builtin___memset_chk(tls, bp, 0, uint64(128), libc.X__builtin_object_size(tls, bp, 0)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fdb = db (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt = pBt (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage = _btreePagecount(tls, (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr = mxErr - _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+120, int32(100), int32(SQLITE_MAX_LENGTH)) + _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+128, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FerrMsg.FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage == uint32(0) { goto integrity_ck_cleanup @@ -61008,7 +61255,7 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin /* Check the integrity of the freelist */ if bCkFreelist != 0 { - (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 5161 + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 5225 _checkList(tls, bp, int32(1), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = uintptr(0) } @@ -61032,11 +61279,11 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } mxInHdr = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+52) if mx != mxInHdr { - _checkAppendMsg(tls, bp, __ccgo_ts+5172, libc.VaList(bp+240, mx, mxInHdr)) + _checkAppendMsg(tls, bp, __ccgo_ts+5236, libc.VaList(bp+248, mx, mxInHdr)) } } else { if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64) != uint32(0) { - _checkAppendMsg(tls, bp, __ccgo_ts+5217, 0) + _checkAppendMsg(tls, bp, __ccgo_ts+5281, 0) } } } @@ -61046,14 +61293,15 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin if !(int32(i) < nRoot && (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr != 0) { break } - if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == uint32(0) { - goto _2 - } - if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { - _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnRow = 0 + if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) != 0 { + if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { + _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + } + (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fv0 = *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) + _checkTreePage(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+232, libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)< nRec || iHdr >= *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84303)) + iHdr = uint32(uint8(v1)) + if *(*Tu32)(unsafe.Pointer(bp + 4)) > uint32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84745)) } - iField = *(*int32)(unsafe.Pointer(bp + 4)) + iField = int64(*(*Tu32)(unsafe.Pointer(bp + 4))) i = 0 for { if !(i <= iCol) { @@ -64044,19 +64323,19 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC } else { v3 = int32(_sqlite3GetVarint32(tls, a+uintptr(iHdr), bp)) } - iHdr += int32(uint8(v3)) - if iHdr > *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84309)) + iHdr += uint32(uint8(v3)) + if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84751)) } - szField = int32(_sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))) - iField += szField + szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp))) + iField += int64(szField) goto _2 _2: ; i++ } - if iField > nRec { - return _sqlite3CorruptError(tls, int32(84315)) + if iField > int64(nRec) { + return _sqlite3CorruptError(tls, int32(84757)) } if pMem == uintptr(0) { v4 = _sqlite3ValueNew(tls, db) @@ -64066,7 +64345,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return int32(SQLITE_NOMEM) } } - _sqlite3VdbeSerialGet(tls, a+uintptr(iField-szField), *(*Tu32)(unsafe.Pointer(bp)), pMem) + _sqlite3VdbeSerialGet(tls, a+uintptr(iField-int64(szField)), *(*Tu32)(unsafe.Pointer(bp)), pMem) (*TMem)(unsafe.Pointer(pMem)).Fenc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc return SQLITE_OK } @@ -64854,6 +65133,9 @@ func _resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* True because of tag-20230419-1 */ (*TOp)(unsafe.Pointer(pOp)).Fp2 = *(*int32)(unsafe.Pointer(aLabel + uintptr(^(*TOp)(unsafe.Pointer(pOp)).Fp2)*4)) } + /* OPFLG_JUMP opcodes never have P2==0, though OPFLG_JUMP0 opcodes + ** might */ + /* Jumps never go off the end of the bytecode array */ break } /* The mkopcodeh.tcl script has so arranged things that the only @@ -65366,7 +65648,7 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { switch int32((*TOp)(unsafe.Pointer(pOp)).Fp4type) { case -int32(8): pKeyInfo = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5429, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5493, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) j = 0 for { if !(j < int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)) { @@ -65376,66 +65658,66 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { if pColl != 0 { v2 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } zColl = v2 - if libc.Xstrcmp(tls, zColl, __ccgo_ts+5434) == 0 { - zColl = __ccgo_ts + 5441 + if libc.Xstrcmp(tls, zColl, __ccgo_ts+5498) == 0 { + zColl = __ccgo_ts + 5505 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_DESC) != 0 { - v3 = __ccgo_ts + 5422 + v3 = __ccgo_ts + 5486 } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_BIGNULL) != 0 { - v4 = __ccgo_ts + 5443 + v4 = __ccgo_ts + 5507 } else { - v4 = __ccgo_ts + 1650 + v4 = __ccgo_ts + 1664 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5446, libc.VaList(bp+40, v3, v4, zColl)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5510, libc.VaList(bp+40, v3, v4, zColl)) goto _1 _1: ; j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5454, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5518, int32(1)) case -int32(2): pColl1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5470, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5534, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) case -int32(7): pDef = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5479, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5543, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) case -int32(15): pDef1 = (*Tsqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpFunc - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5479, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5543, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) case -int32(13): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1406, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1425, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(3): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5486, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5550, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) case -int32(12): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1373, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1392, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(10): pMem = *(*uintptr)(unsafe.Pointer(pOp + 16)) if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Str) != 0 { zP4 = (*TMem)(unsafe.Pointer(pMem)).Fz } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1406, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1425, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1373, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1392, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Null) != 0 { - zP4 = __ccgo_ts + 1651 + zP4 = __ccgo_ts + 1665 } else { - zP4 = __ccgo_ts + 5489 + zP4 = __ccgo_ts + 5553 } } } } case -int32(11): pVtab = (*TVTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpVtab - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5496, libc.VaList(bp+40, pVtab)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5560, libc.VaList(bp+40, pVtab)) case -int32(14): ai = *(*uintptr)(unsafe.Pointer(pOp + 16)) n = *(*Tu32)(unsafe.Pointer(ai)) /* The first element of an INTARRAY is always the @@ -65450,15 +65732,15 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } else { v6 = int32(',') } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5504, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5568, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) goto _5 _5: ; i++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5509, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5573, int32(1)) case -int32(4): - zP4 = __ccgo_ts + 5511 + zP4 = __ccgo_ts + 5575 case -int32(5): zP4 = (*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FzName default: @@ -65474,10 +65756,10 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } var _encnames = [4]uintptr{ - 0: __ccgo_ts + 5456, - 1: __ccgo_ts + 5458, - 2: __ccgo_ts + 5460, - 3: __ccgo_ts + 5465, + 0: __ccgo_ts + 5520, + 1: __ccgo_ts + 5522, + 2: __ccgo_ts + 5524, + 3: __ccgo_ts + 5529, } // C documentation @@ -66428,7 +66710,7 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { retryCount = 0 /* Select a super-journal file name */ nMainFile = _sqlite3Strlen30(tls, zMainFile) - zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5519, libc.VaList(bp+24, 0, zMainFile, 0)) + zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5583, libc.VaList(bp+24, 0, zMainFile, 0)) if zSuper == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -66436,18 +66718,18 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { for cond := true; cond; cond = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8)) != 0 { if retryCount != 0 { if retryCount > int32(100) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5531, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5595, libc.VaList(bp+24, zSuper)) _sqlite3OsDelete(tls, pVfs, zSuper, 0) break } else { if retryCount == int32(1) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5545, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5609, libc.VaList(bp+24, zSuper)) } } } retryCount++ Xsqlite3_randomness(tls, int32(4), bp+12) - Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5560, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) + Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5624, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) /* The antipenultimate character of the super-journal name must ** be "9" to avoid name collisions when using 8+3 filenames. */ rc = _sqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+8) @@ -66678,7 +66960,7 @@ func _sqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) (r int32) { if deferred != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > 0 || !(deferred != 0) && (*TVdbe)(unsafe.Pointer(p)).FnFkConstraint > 0 { (*TVdbe)(unsafe.Pointer(p)).Frc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(3)< y { return +libc.Int32FromInt32(1) } - s = float64(i) - if s < r { + if float64(i) < r { v2 = -int32(1) } else { - v2 = libc.BoolInt32(s > r) + v2 = libc.BoolInt32(float64(i) > r) } return v2 } @@ -67987,7 +68268,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89131))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89580))) return 0 /* Corruption */ } /* Only needed by assert() statements */ @@ -68077,7 +68358,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr pKeyInfo = v4 } if v5 || int32((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89212))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89661))) return 0 /* Corruption */ } else { if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { @@ -68112,7 +68393,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } else { nStr = int32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2)) if d1+uint32(nStr) > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89242))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89691))) return 0 /* Corruption */ } else { if int32((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 { @@ -68166,7 +68447,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } idx1 += uint32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68))))) if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89293))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89742))) return 0 /* Corrupt index */ } } @@ -68298,7 +68579,7 @@ vrcs_restart: szHdr = int32(*(*Tu8)(unsafe.Pointer(aKey1))) nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2) if szHdr+nStr > nKey1 { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89456))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89905))) return 0 /* Corruption */ } if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr { @@ -68450,7 +68731,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr idx_rowid_corruption: ; _sqlite3VdbeMemReleaseMalloc(tls, bp+8) - return _sqlite3CorruptError(tls, int32(89614)) + return _sqlite3CorruptError(tls, int32(90063)) } // C documentation @@ -68481,7 +68762,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked ** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */ if nCellKey <= 0 || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return _sqlite3CorruptError(tls, int32(89647)) + return _sqlite3CorruptError(tls, int32(90096)) } _sqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, uint32(nCellKey), bp) @@ -68632,15 +68913,15 @@ func _sqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) (r int32) { pOp = (*TVdbe)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe)).FaOp + uintptr((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FiOp)*24 if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fopcode) == int32(OP_PureFunc) { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_IsCheck) != 0 { - zContext = __ccgo_ts + 5603 + zContext = __ccgo_ts + 5667 } else { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_GenCol) != 0 { - zContext = __ccgo_ts + 5622 + zContext = __ccgo_ts + 5686 } else { - zContext = __ccgo_ts + 5641 + zContext = __ccgo_ts + 5705 } } - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5650, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5714, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) return 0 @@ -68814,7 +69095,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) (r int32) { // */ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { if (*TVdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5686, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5750, 0) return int32(1) } else { return 0 @@ -68824,7 +69105,7 @@ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { func _vdbeSafetyNotNull(tls *libc.TLS, p uintptr) (r int32) { if p == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5731, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5795, 0) return int32(1) } else { return _vdbeSafety(tls, p) @@ -68882,7 +69163,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt db = (*TVdbe)(unsafe.Pointer(v)).Fdb if _vdbeSafety(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90035)) + return _sqlite3MisuseError(tls, int32(90484)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 { @@ -69385,7 +69666,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { // /* Force an SQLITE_TOOBIG error. */ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FisError = int32(SQLITE_TOOBIG) - _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5771, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) + _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5835, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) } // C documentation @@ -69586,7 +69867,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt /* the prepared statement */ cnt = 0 /* The database connection */ if _vdbeSafetyNotNull(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90829)) + return _sqlite3MisuseError(tls, int32(91278)) } db = (*TVdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) @@ -69716,7 +69997,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32 _, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1 *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) if pVal == uintptr(0) { - return _sqlite3MisuseError(tls, int32(90950)) + return _sqlite3MisuseError(tls, int32(91399)) } if int32((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) { return int32(SQLITE_ERROR) @@ -70176,18 +70457,18 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) (r int32) { // ** Column names appropriate for EXPLAIN or EXPLAIN QUERY PLAN. // */ var _azExplainColNames8 = [12]uintptr{ - 0: __ccgo_ts + 5794, - 1: __ccgo_ts + 5799, - 2: __ccgo_ts + 5806, - 3: __ccgo_ts + 5809, - 4: __ccgo_ts + 5812, - 5: __ccgo_ts + 5815, - 6: __ccgo_ts + 5818, - 7: __ccgo_ts + 5821, - 8: __ccgo_ts + 5829, - 9: __ccgo_ts + 5832, - 10: __ccgo_ts + 5839, - 11: __ccgo_ts + 5847, + 0: __ccgo_ts + 5858, + 1: __ccgo_ts + 5863, + 2: __ccgo_ts + 5870, + 3: __ccgo_ts + 5873, + 4: __ccgo_ts + 5876, + 5: __ccgo_ts + 5879, + 6: __ccgo_ts + 5882, + 7: __ccgo_ts + 5885, + 8: __ccgo_ts + 5893, + 9: __ccgo_ts + 5896, + 10: __ccgo_ts + 5903, + 11: __ccgo_ts + 5911, } var _azExplainColNames16data = [60]Tu16{ 0: uint16('a'), @@ -70431,14 +70712,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) { var v2 bool _, _, _ = pVar, v1, v2 if _vdbeSafetyNotNull(tls, p) != 0 { - return _sqlite3MisuseError(tls, int32(91554)) + return _sqlite3MisuseError(tls, int32(92003)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if int32((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) { - _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(91558))) + _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(92007))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5854, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) - return _sqlite3MisuseError(tls, int32(91562)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5918, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) + return _sqlite3MisuseError(tls, int32(92011)) } if i >= uint32((*TVdbe)(unsafe.Pointer(p)).FnVar) { _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE)) @@ -71002,7 +71283,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp /* Test that this call is being made from within an SQLITE_DELETE or ** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */ if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) { - rc = _sqlite3MisuseError(tls, int32(92098)) + rc = _sqlite3MisuseError(tls, int32(92547)) goto preupdate_old_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 { @@ -71132,7 +71413,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp rc = SQLITE_OK p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) { - rc = _sqlite3MisuseError(tls, int32(92221)) + rc = _sqlite3MisuseError(tls, int32(92670)) goto preupdate_new_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) { @@ -71306,7 +71587,7 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr break } } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5894, int32(3)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5958, int32(3)) Xsqlite3_str_append(tls, bp+8, zStart, int32(int64(zRawSql)-int64(zStart))) } } else { @@ -71338,13 +71619,13 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr nextIndex = v2 pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(*(*int32)(unsafe.Pointer(bp))-int32(1))*56 if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1651, int32(4)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1665, int32(4)) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1406, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1425, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5415, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5479, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Str) != 0 { /* Number of bytes of the string text to include in output */ enc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc @@ -71359,28 +71640,28 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr pVar = bp + 40 } nOut = (*TMem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5898, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5962, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != int32(SQLITE_UTF8) { _sqlite3VdbeMemRelease(tls, bp+40) } } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5905, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5969, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) } else { /* Number of bytes of the blob to include in output */ - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5918, int32(2)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5982, int32(2)) nOut1 = (*TMem)(unsafe.Pointer(pVar)).Fn i = 0 for { if !(i < nOut1) { break } - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5921, libc.VaList(bp+104, int32(*(*int8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5985, libc.VaList(bp+104, int32(*(*int8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) goto _3 _3: ; i++ } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5926, int32(1)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5990, int32(1)) } } } @@ -71980,7 +72261,7 @@ var _azTypes = [5]uintptr{ 1: __ccgo_ts + 1146, 2: __ccgo_ts + 1151, 3: __ccgo_ts + 1129, - 4: __ccgo_ts + 1651, + 4: __ccgo_ts + 1665, } // C documentation @@ -71994,7 +72275,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { defer tls.Free(976) var aCol, aMem, aOffset, aOp, aPermute, aRoot, apArg, apArg1, db, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pnErr, t1, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v240, v241, v242, v250, v251, v252, v253, v255, v263, v278, v279, v286, v288, v297, v298, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 uintptr var affinity int8 - var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 + var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, savedAnalysisLimit, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 var colCacheCtr, iAddr, iMap, iPrior, idx, len11, n3, p22, p23, serialType, serial_type, v213, v214, v216, v221, v222 Tu32 var encoding, isWriteLock, mTrace, op, p5, resetSchemaOnFault, vtabOnConflict, v225 Tu8 var flags1, flags11, flags2, flags3, flags31, newType, nullFlag, type1, type2, typeMask, v190 Tu16 @@ -72051,7 +72332,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { var _ /* z at bp+688 */ uintptr var _ /* zErr at bp+632 */ uintptr var _ /* zErr at bp+792 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, savedAnalysisLimit, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 aOp = (*TVdbe)(unsafe.Pointer(p)).FaOp /* Copy of p->aOp */ pOp = aOp /* Current operation */ rc = SQLITE_OK /* Value to return */ @@ -72321,7 +72602,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto _109 case int32(OP_SeekEnd): goto _110 - case int32(OP_IfSmaller): + case int32(OP_IfSizeBetween): goto _111 case int32(OP_Sort): goto _112 @@ -72615,7 +72896,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: EndCoroutine */ _5: - ; /* jump */ + ; /* jump0 */ pOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 *(*Ti64)(unsafe.Pointer(pOut)) = int64((*TOp)(unsafe.Pointer(pOp)).Fp3 - int32(1)) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Int) @@ -72635,7 +72916,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** ** The instruction at the address in register P1 is a Yield. ** Jump to the P2 parameter of that Yield. - ** After the jump, register P1 becomes undefined. + ** After the jump, the value register P1 is left with a value + ** such that subsequent OP_Yields go back to the this same + ** OP_EndCoroutine instruction. ** ** See also: InitCoroutine */ @@ -72643,8 +72926,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ; pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 pCaller = aOp + uintptr(*(*Ti64)(unsafe.Pointer(pIn1)))*24 + *(*Ti64)(unsafe.Pointer(pIn1)) = int64(int32((int64(pOp)-int64((*TVdbe)(unsafe.Pointer(p)).FaOp))/24) - int32(1)) pOp = aOp + uintptr((*TVdbeOp)(unsafe.Pointer(pCaller)).Fp2-int32(1))*24 - (*TMem)(unsafe.Pointer(pIn1)).Fflags = uint16(MEM_Undefined) goto _187 /* Opcode: Yield P1 P2 * * * ** @@ -72741,15 +73024,15 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TVdbe)(unsafe.Pointer(p)).FerrorAction = uint8((*TOp)(unsafe.Pointer(pOp)).Fp2) if (*TVdbe)(unsafe.Pointer(p)).Frc != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+5962, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) + _sqlite3VdbeError(tls, p, __ccgo_ts+6026, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) if *(*uintptr)(unsafe.Pointer(pOp + 16)) != 0 { - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5983, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+6047, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } } else { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } pcx = int32((int64(pOp) - int64(aOp)) / 24) - Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5990, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+6054, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) } rc = _sqlite3VdbeHalt(tls, p) if rc == int32(SQLITE_BUSY) { @@ -72941,13 +73224,10 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } (*TMem)(unsafe.Pointer(pOut)).Fenc = encoding goto _187 - /* Opcode: Variable P1 P2 * P4 * - ** Synopsis: r[P2]=parameter(P1,P4) + /* Opcode: Variable P1 P2 * * * + ** Synopsis: r[P2]=parameter(P1) ** ** Transfer the values of bound parameter P1 into register P2 - ** - ** If the parameter is named, then its name appears in P4. - ** The P4 value is used by sqlite3_bind_parameter_name(). */ _19: ; /* Value being transferred */ @@ -73470,7 +73750,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** raise an SQLITE_MISMATCH exception. */ _38: - ; /* jump, in1 */ + ; /* jump0, in1 */ pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 if int32((*TMem)(unsafe.Pointer(pIn1)).Fflags)&int32(MEM_Int) == 0 { _applyAffinity(tls, pIn1, int8(SQLITE_AFF_NUMERIC), encoding) @@ -74475,7 +74755,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24 goto _187 } else { - rc = _sqlite3CorruptError(tls, int32(95863)) + rc = _sqlite3CorruptError(tls, int32(96311)) goto abort_due_to_error } /* Opcode: TypeCheck P1 P2 P3 P4 * @@ -74578,7 +74858,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_type_error vdbe_type_error: ; - _sqlite3VdbeError(tls, p, __ccgo_ts+6014, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6078, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(12)< 0 && p12 == int32(SAVEPOINT_RELEASE) { /* It is not possible to release (commit) a savepoint if there are ** active write statements. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+6128, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6192, 0) rc = int32(SQLITE_BUSY) } else { /* Determine whether or not this is a transaction savepoint. If so, @@ -75174,7 +75454,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If this instruction implements a COMMIT and other VMs are writing ** return an error indicating that the other VMs must complete first. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+6182, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6246, 0) rc = int32(SQLITE_BUSY) goto abort_due_to_error } else { @@ -75204,12 +75484,12 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_return } else { if !(desiredAutoCommit != 0) { - v250 = __ccgo_ts + 6237 + v250 = __ccgo_ts + 6301 } else { if iRollback != 0 { - v251 = __ccgo_ts + 6285 + v251 = __ccgo_ts + 6349 } else { - v251 = __ccgo_ts + 6328 + v251 = __ccgo_ts + 6392 } v250 = v251 } @@ -75301,7 +75581,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** SQL statement was prepared. */ _sqlite3DbFree(tls, db, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg) - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6369) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6433) /* If the schema-cookie from the database file matches the cookie ** stored with the in-memory representation of the schema, do ** not reload the schema from the database file. @@ -75619,7 +75899,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** form sqlite3BtreeInsert() where the length of the data is zero. */ /* Only used when number of columns is zero */ (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fn = 0 - (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1650 + (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1664 } pCx1 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) if pCx1 != 0 && !(int32(TBool(*(*uint8)(unsafe.Pointer(pCx1 + 8))&0x8>>3)) != 0) && (*TOp)(unsafe.Pointer(pOp)).Fp2 <= int32((*TVdbeCursor)(unsafe.Pointer(pCx1)).FnField) { @@ -75724,7 +76004,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** is the only cursor opcode that works with a pseudo-table. ** ** P3 is the number of fields in the records that will be stored by - ** the pseudo-table. + ** the pseudo-table. If P2 is 0 or negative then the pseudo-cursor + ** will return NULL for every column. */ _83: ; @@ -75842,11 +76123,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: Found, NotFound, SeekGt, SeekGe, SeekLt */ _88: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _87: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _86: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _85: ; /* Only interested in == results */ pC5 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -76409,7 +76690,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TVdbeCursor)(unsafe.Pointer(pC10)).FseekResult = *(*int32)(unsafe.Pointer(bp + 248)) if *(*int32)(unsafe.Pointer(bp + 248)) != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 { - rc = _sqlite3CorruptError(tls, int32(98111)) + rc = _sqlite3CorruptError(tls, int32(98565)) } else { goto jump_to_p2 } @@ -77009,10 +77290,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } goto _187 - /* Opcode: IfSmaller P1 P2 P3 * * + /* Opcode: IfSizeBetween P1 P2 P3 P4 * + ** + ** Let N be the approximate number of rows in the table or index + ** with cursor P1 and let X be 10*log2(N) if N is positive or -1 + ** if N is zero. ** - ** Estimate the number of rows in the table P1. Jump to P2 if that - ** estimate is less than approximately 2**(0.1*P3). + ** Jump to P2 if X is in between P3 and P4, inclusive. */ _111: ; @@ -77022,12 +77306,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { goto abort_due_to_error } - if *(*int32)(unsafe.Pointer(bp + 396)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { + sz = int64(-int32(1)) /* -Infinity encoding */ + } else { sz = _sqlite3BtreeRowCountEst(tls, pCrsr5) - if sz >= 0 && int32(_sqlite3LogEst(tls, uint64(sz))) < (*TOp)(unsafe.Pointer(pOp)).Fp3 { - *(*int32)(unsafe.Pointer(bp + 396)) = int32(1) - } + sz = int64(_sqlite3LogEst(tls, uint64(sz))) } + *(*int32)(unsafe.Pointer(bp + 396)) = libc.BoolInt32(sz >= int64((*TOp)(unsafe.Pointer(pOp)).Fp3) && sz <= int64((*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { goto jump_to_p2 } @@ -77297,7 +77582,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } else { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) { - rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) { - rc = _sqlite3CorruptError(tls, int32(99398)) + rc = _sqlite3CorruptError(tls, int32(99862)) goto abort_due_to_error } _sqlite3VdbeMemInit(tls, bp+552, db, uint16(0)) @@ -77594,11 +77879,18 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } *(*Ti64)(unsafe.Pointer(pOut)) = int64(*(*TPgno)(unsafe.Pointer(bp + 624))) goto _187 - /* Opcode: SqlExec * * * P4 * + /* Opcode: SqlExec P1 P2 * P4 * ** ** Run the SQL statement or statements specified in the P4 string. - ** Disable Auth and Trace callbacks while those statements are running if - ** P1 is true. + ** + ** The P1 parameter is a bitmask of options: + ** + ** 0x0001 Disable Auth and Trace callbacks while the statements + ** in P4 are running. + ** + ** 0x0002 Set db->nAnalysisLimit to P2 while the statements in + ** P4 are running. + ** */ _132: ; @@ -77606,16 +77898,21 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*uintptr)(unsafe.Pointer(bp + 632)) = uintptr(0) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth mTrace = (*Tsqlite3)(unsafe.Pointer(db)).FmTrace - if (*TOp)(unsafe.Pointer(pOp)).Fp1 != 0 { + savedAnalysisLimit = (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0001) != 0 { (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(0) } + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0002) != 0 { + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (*TOp)(unsafe.Pointer(pOp)).Fp2 + } rc = Xsqlite3_exec(tls, db, *(*uintptr)(unsafe.Pointer(pOp + 16)), uintptr(0), uintptr(0), bp+632) (*Tsqlite3)(unsafe.Pointer(db)).FnSqlExec-- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = mTrace + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = savedAnalysisLimit if *(*uintptr)(unsafe.Pointer(bp + 632)) != 0 || rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 632))) if rc == int32(SQLITE_NOMEM) { goto no_mem @@ -77646,13 +77943,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_SchemaChange) libc.SetBitFieldPtr16Uint32(p+200, libc.Uint32FromInt32(0), 0, 0x3) } else { - zSchema = __ccgo_ts + 6414 + zSchema = __ccgo_ts + 6478 (*(*TInitData)(unsafe.Pointer(bp + 640))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 640))).FiDb = iDb3 (*(*TInitData)(unsafe.Pointer(bp + 640))).FpzErrMsg = p + 168 (*(*TInitData)(unsafe.Pointer(bp + 640))).FmInitFlags = uint32(0) (*(*TInitData)(unsafe.Pointer(bp + 640))).FmxPage = _sqlite3BtreeLastPage(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6428, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6492, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -77667,7 +77964,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* The OP_ParseSchema opcode with a non-NULL P4 argument should parse ** at least one SQL statement. Any less than that indicates that ** the sqlite_schema table is corrupt. */ - rc = _sqlite3CorruptError(tls, int32(99678)) + rc = _sqlite3CorruptError(tls, int32(100155)) } _sqlite3DbFreeNN(tls, db, zSql) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) @@ -77733,11 +78030,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* Opcode: IntegrityCk P1 P2 P3 P4 P5 ** ** Do an analysis of the currently open database. Store in - ** register P1 the text of an error message describing any problems. - ** If no problems are found, store a NULL in register P1. + ** register (P1+1) the text of an error message describing any problems. + ** If no problems are found, store a NULL in register (P1+1). ** - ** The register P3 contains one less than the maximum number of allowed errors. - ** At most reg(P3) errors will be reported. + ** The register (P1) contains one less than the maximum number of allowed + ** errors. At most reg(P1) errors will be reported. ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. ** @@ -77753,9 +78050,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ; /* Register keeping track of errors remaining */ nRoot = (*TOp)(unsafe.Pointer(pOp)).Fp2 aRoot = *(*uintptr)(unsafe.Pointer(pOp + 16)) - pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 - pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 - rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) + pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 + pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1+int32(1))*56 + rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, aMem+uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) _sqlite3VdbeMemSetNull(tls, pIn1) if *(*int32)(unsafe.Pointer(bp + 680)) == 0 { } else { @@ -77861,7 +78158,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** P1 contains the address of the memory cell that contains the first memory ** cell in an array of values used as arguments to the sub-program. P2 ** contains the address to jump to if the sub-program throws an IGNORE - ** exception using the RAISE() function. Register P3 contains the address + ** exception using the RAISE() function. P2 might be zero, if there is + ** no possibility that an IGNORE exception will be raised. + ** Register P3 contains the address ** of a memory cell in this (the parent) VM that is used to allocate the ** memory required by the sub-vdbe at runtime. ** @@ -77902,7 +78201,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } if (*TVdbe)(unsafe.Pointer(p)).FnFrame >= *(*int32)(unsafe.Pointer(db + 136 + 10*4)) { rc = int32(SQLITE_ERROR) - _sqlite3VdbeError(tls, p, __ccgo_ts+6471, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6535, 0) goto abort_due_to_error } /* Register pRt is used to store the memory required to save the state @@ -78266,7 +78565,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } /* IMP: R-24505-23230 */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError } if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FskipFlag != 0 { @@ -78322,7 +78621,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3VdbeMemFinalize(tls, pMem3, *(*uintptr)(unsafe.Pointer(pOp + 16))) } if rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) goto abort_due_to_error } _sqlite3VdbeChangeEncoding(tls, pMem3, int32(encoding)) @@ -78401,11 +78700,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeRead > int32(1) { rc = int32(SQLITE_ERROR) if eNew == int32(PAGER_JOURNALMODE_WAL) { - v286 = __ccgo_ts + 6508 + v286 = __ccgo_ts + 6572 } else { - v286 = __ccgo_ts + 6513 + v286 = __ccgo_ts + 6577 } - _sqlite3VdbeError(tls, p, __ccgo_ts+6520, libc.VaList(bp+944, v286)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6584, libc.VaList(bp+944, v286)) goto abort_due_to_error } else { if eOld == int32(PAGER_JOURNALMODE_WAL) { @@ -78558,7 +78857,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { if rc&int32(0xFF) == int32(SQLITE_LOCKED) { z1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - _sqlite3VdbeError(tls, p, __ccgo_ts+6572, libc.VaList(bp+944, z1)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6636, libc.VaList(bp+944, z1)) } goto abort_due_to_error } @@ -78720,7 +79019,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TValueList)(unsafe.Pointer(pRhs)).FpOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 pOut = _out2Prerelease(tls, p, pOp) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null) - _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6601, __ccgo_fp(_sqlite3VdbeValueListFree)) + _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6665, __ccgo_fp(_sqlite3VdbeValueListFree)) goto _187 /* Opcode: VFilter P1 P2 P3 P4 * ** Synopsis: iplan=r[P3] zplan='P4' @@ -78816,7 +79115,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_module)(unsafe.Pointer(pModule4)).FxColumn})))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 48)), bp+800, (*TOp)(unsafe.Pointer(pOp)).Fp2) _sqlite3VtabImportErrmsg(tls, p, pVtab4) if (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) rc = (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError } _sqlite3VdbeChangeEncoding(tls, pDest2, int32(encoding)) @@ -79070,7 +79369,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If the function returned an error, throw an exception */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError } _sqlite3VdbeDeleteAuxData(tls, db, p+296, (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FiOp, (*TOp)(unsafe.Pointer(pOp)).Fp1) @@ -79221,7 +79520,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { Xsqlite3_free(tls, z2) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeExec > int32(1) { - z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6611, libc.VaList(bp+944, zTrace)) + z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6675, libc.VaList(bp+944, zTrace)) (*(*func(*libc.TLS, Tu32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(&(*Tsqlite3)(unsafe.Pointer(db)).Ftrace))})))(tls, uint32(SQLITE_TRACE_STMT), (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) _sqlite3DbFree(tls, db, z3) } else { @@ -79293,15 +79592,15 @@ abort_due_to_error: rc = int32(SQLITE_NOMEM) } else { if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)<op on success */ - pTab = uintptr(0) /* A column of pTab */ - *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, cntTab, db, eNewExprOp, hCol, hCol1, hit, i, iCol, j, nSubquery, op, pCol, pEList, pItem, pMatch, pOrig, pSchema, pSrcList, pTab, pTopNC, pUpsert, zAs, zCol, zErr, v10, v5, v7, v8 /* Loop counters */ + cnt = 0 /* Number of matching column names */ + cntTab = 0 /* Number of potential "rowid" matches */ + nSubquery = 0 /* How many levels of subquery */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Use for looping over pSrcList items */ + pMatch = uintptr(0) /* The matching pSrcList item */ + pTopNC = pNC /* First namecontext in the list */ + pSchema = uintptr(0) /* Schema of the expression */ + eNewExprOp = int32(TK_COLUMN) /* New value for pExpr->op on success */ + pTab = uintptr(0) /* A column of pTab */ + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + zCol = *(*uintptr)(unsafe.Pointer(pRight + 8)) /* the name context cannot be NULL. */ /* The Z in X.Y.Z cannot be NULL */ /* Initialize the node to no-match */ @@ -84186,7 +84486,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ; i++ } - if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6933, zDb) == 0 { + if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6997, zDb) == 0 { /* This branch is taken when the main database has been renamed ** using SQLITE_DBCONFIG_MAINDBNAME. */ pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema @@ -84279,7 +84579,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TTable)(unsafe.Pointer(pTab)).FpSchema != pSchema { goto _2 } - if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6938) != 0 { + if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+7002) != 0 { goto _2 } } @@ -84391,16 +84691,16 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != uintptr(0) { op = int32((*TParse)(unsafe.Pointer(pParse)).FeTriggerOp) if (*TParse)(unsafe.Pointer(pParse)).FbReturning != 0 { - if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0) { + if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0 || _isValidSchemaTableName(tls, zTab, (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab, uintptr(0)) != 0) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = libc.BoolInt32(op != int32(TK_DELETE)) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } } else { - if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6940, zTab) == 0 { + if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+7004, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(1) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } else { - if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6944, zTab) == 0 { + if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+7008, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = 0 pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } @@ -84409,7 +84709,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UUpsert) != 0 && zTab != uintptr(0) { pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16)) - if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6948, zTab) == 0 { + if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+7012, zTab) == 0 { pTab = (*(*TSrcItem)(unsafe.Pointer((*TUpsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8))).FpTab (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(EXCLUDED_TABLE_NUMBER) } @@ -84525,15 +84825,15 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if int32(uint32(*(*uint16)(unsafe.Pointer(pEList + 8 + uintptr(j)*32 + 16 + 4))&0x3>>0)) == ENAME_NAME && Xsqlite3_stricmp(tls, zAs, zCol) == 0 { pOrig = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(j)*32))).FpExpr if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 && (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6957, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7021, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Win)) != uint32(0) && ((*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 || pNC != pTopNC) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6988, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7052, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if _sqlite3ExprVectorSize(tls, pOrig) != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7025, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7089, 0) return int32(WRC_Abort) } _resolveAlias(tls, pParse, pEList, j, pExpr, nSubquery) @@ -84585,7 +84885,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** a huge amount of legacy SQL that uses it. So for now, we just ** issue a warning. */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+7043, libc.VaList(bp+24, zCol)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+7107, libc.VaList(bp+24, zCol)) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_STRING) libc.X__builtin___memset_chk(tls, pExpr+64, 0, uint64(8), libc.X__builtin_object_size(tls, pExpr+64, 0)) return int32(WRC_Prune) @@ -84614,7 +84914,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } _extendFJMatch(tls, pParse, bp, pMatch, (*TExpr)(unsafe.Pointer(pExpr)).FiColumn) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_FUNCTION) - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 7078 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 7142 *(*uintptr)(unsafe.Pointer(pExpr + 32)) = *(*uintptr)(unsafe.Pointer(bp)) cnt = int32(1) goto lookupname_end @@ -84624,18 +84924,22 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } } if cnt == 0 { - v10 = __ccgo_ts + 7087 + v10 = __ccgo_ts + 7151 } else { - v10 = __ccgo_ts + 7102 + v10 = __ccgo_ts + 7166 } zErr = v10 if zDb != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7124, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7188, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) } else { if zTab != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7137, libc.VaList(bp+24, zErr, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7201, libc.VaList(bp+24, zErr, zTab, zCol)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7147, libc.VaList(bp+24, zErr, zCol)) + if cnt == 0 && (*TExpr)(unsafe.Pointer(pRight)).Fflags&uint32(libc.Int32FromInt32(EP_DblQuoted)) != uint32(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7211, libc.VaList(bp+24, zErr, zCol)) + } else { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7272, libc.VaList(bp+24, zErr, zCol)) + } } } _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -84665,8 +84969,12 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** If a generated column is referenced, set bits for every column ** of the table. */ - if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 && cnt == int32(1) && pMatch != uintptr(0) { - *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + if pMatch != 0 { + if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { + *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + } else { + libc.SetBitFieldPtr16Uint32(pMatch+60+4, libc.Uint32FromInt32(1), 14, 0x4000) + } } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(eNewExprOp) goto lookupname_end @@ -84759,19 +85067,19 @@ func _notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pEx defer tls.Free(32) var zIn uintptr _ = zIn - zIn = __ccgo_ts + 7154 + zIn = __ccgo_ts + 7279 if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IdxExpr) != 0 { - zIn = __ccgo_ts + 7182 + zIn = __ccgo_ts + 7307 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IsCheck) != 0 { - zIn = __ccgo_ts + 7200 + zIn = __ccgo_ts + 7325 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_GenCol) != 0 { - zIn = __ccgo_ts + 7218 + zIn = __ccgo_ts + 7343 } } } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7236, libc.VaList(bp+8, zMsg, zIn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7361, libc.VaList(bp+8, zMsg, zIn)) if pExpr != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } @@ -84819,8 +85127,8 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { var anRef [8]int32 var auth, i, is_agg, n, nLeft, nRef, nRight, no_such_func, rc, savedAllowFlags, wrong_num_args, v12, v4, v6, v7 int32 var enc Tu8 - var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zColumn, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zColumn, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 + var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 pNC = *(*uintptr)(unsafe.Pointer(pWalker + 40)) pParse = (*TNameContext)(unsafe.Pointer(pNC)).FpParse switch int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) { @@ -84939,11 +85247,11 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_ID) { zDb = uintptr(0) zTable = uintptr(0) - zColumn = *(*uintptr)(unsafe.Pointer(pExpr + 8)) + pRight = pExpr } else { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7256, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7381, uintptr(0), pExpr) } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_ID) { @@ -84954,13 +85262,12 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { pRight = (*TExpr)(unsafe.Pointer(pRight)).FpRight } zTable = *(*uintptr)(unsafe.Pointer(pLeft + 8)) - zColumn = *(*uintptr)(unsafe.Pointer(pRight + 8)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameTokenRemap(tls, pParse, pExpr, pRight) _sqlite3RenameTokenRemap(tls, pParse, pExpr+64, pLeft) } } - return _lookupName(tls, pParse, zDb, zTable, zColumn, pNC, pExpr) + return _lookupName(tls, pParse, zDb, zTable, pRight, pNC, pExpr) /* Resolve function names */ fallthrough @@ -84999,7 +85306,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if n == int32(2) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = _exprProbability(tls, (*(*TExprList_item)(unsafe.Pointer(pList + 8 + 1*32))).FpExpr) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7273, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7398, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -85023,7 +85330,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { auth = _sqlite3AuthCheck(tls, pParse, int32(SQLITE_FUNCTION), uintptr(0), (*TFuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0)) if auth != SQLITE_OK { if auth == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7337, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7462, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) @@ -85044,7 +85351,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { ** in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all ** all this. */ if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7373, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7498, uintptr(0), pExpr) } } else { /* Must fit in 8 bits */ @@ -85068,29 +85375,29 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { } if 0 == libc.BoolInt32(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME)) { if pDef != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7401, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7526, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 || is_agg != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) || is_agg != 0 && pWin != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 { if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 { - zType = __ccgo_ts + 7444 + zType = __ccgo_ts + 7569 } else { - zType = __ccgo_ts + 7451 + zType = __ccgo_ts + 7576 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7461, libc.VaList(bp+8, zType, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7586, libc.VaList(bp+8, zType, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else { if no_such_func != 0 && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7489, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7614, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if wrong_num_args != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7511, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7636, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7555, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7680, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { @@ -85114,7 +85421,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { *(*int32)(unsafe.Pointer(pNC + 40)) &= ^(libc.Int32FromInt32(NC_AllowWin) | v7) } } else { - if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { is_agg = int32(1) } } @@ -85175,18 +85482,19 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) { nRef = (*TNameContext)(unsafe.Pointer(pNC)).FnRef if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_SelfRef) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7603, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7728, pExpr, pExpr) } else { _sqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32))) } if nRef != (*TNameContext)(unsafe.Pointer(pNC)).FnRef { *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 4)) |= uint32(SF_Correlated) } *(*int32)(unsafe.Pointer(pNC + 40)) |= int32(NC_Subquery) } case int32(TK_VARIABLE): if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IsCheck)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7614, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7739, pExpr, pExpr) } case int32(TK_IS): fallthrough @@ -85232,7 +85540,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { nRight = _sqlite3ExprVectorSize(tls, (*TExpr)(unsafe.Pointer(pExpr)).FpRight) } if nLeft != nRight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7025, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7089, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } break @@ -85357,7 +85665,7 @@ func _resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintpt func _resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7625, libc.VaList(bp+8, i, zType, mx)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7750, libc.VaList(bp+8, i, zType, mx)) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pError) } @@ -85392,7 +85700,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7681, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7806, 0) return int32(1) } i = 0 @@ -85430,7 +85738,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } if _sqlite3ExprIsInteger(tls, pE, bp) != 0 { if *(*int32)(unsafe.Pointer(bp)) <= 0 || *(*int32)(unsafe.Pointer(bp)) > (*TExprList)(unsafe.Pointer(pEList)).FnExpr { - _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7715, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) + _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7840, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) return int32(1) } } else { @@ -85500,7 +85808,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r break } if int32(uint32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7721, libc.VaList(bp+16, i+int32(1))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7846, libc.VaList(bp+16, i+int32(1))) return int32(1) } goto _3 @@ -85534,7 +85842,7 @@ func _sqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7782, libc.VaList(bp+8, zType)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7907, libc.VaList(bp+8, zType)) return int32(1) } pEList = (*TSelect)(unsafe.Pointer(pSelect)).FpEList @@ -85780,6 +86088,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } pItem = (*TSelect)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*104 + /* Test of tag-20240424-1*/ if (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselFlags&uint32(SF_Resolved) == uint32(0) { if pOuterNC != 0 { v3 = (*TNameContext)(unsafe.Pointer(pOuterNC)).FnRef @@ -85846,7 +86155,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { (*(*TNameContext)(unsafe.Pointer(bp))).FncFlags |= int32(NC_UEList) if (*TSelect)(unsafe.Pointer(p)).FpHaving != 0 { if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Aggregate) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7813, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7938, 0) return int32(WRC_Abort) } if _sqlite3ResolveExprNames(tls, bp, (*TSelect)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -85913,7 +86222,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** is not detected until much later, and so we need to go ahead and ** resolve those symbols on the incorrect ORDER BY for consistency. */ - if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7715) != 0 { + if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7840) != 0 { return int32(WRC_Abort) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -85924,7 +86233,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** the GROUP BY clause does not contain aggregate functions. */ if pGroupBy != 0 { - if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7852) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { + if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7977) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(WRC_Abort) } i = 0 @@ -85934,7 +86243,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } if (*TExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(pItem2)).FpExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7858, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7983, 0) return int32(WRC_Abort) } goto _6 @@ -86915,7 +87224,7 @@ func _codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32 return } if nLeft != _sqlite3ExprVectorSize(tls, pRight) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7025, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7089, 0) return } if int32(op) == int32(TK_LE) { @@ -86994,7 +87303,7 @@ func _sqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) (r in rc = SQLITE_OK mxHeight = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4)) if nHeight > mxHeight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7917, libc.VaList(bp+8, mxHeight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8042, libc.VaList(bp+8, mxHeight)) rc = int32(SQLITE_ERROR) } return rc @@ -87160,11 +87469,12 @@ func _sqlite3ExprSetErrorOffset(tls *libc.TLS, pExpr uintptr, iOfst int32) { // ** appear to be quoted. If the quotes were of the form "..." (double-quotes) // ** then the EP_DblQuoted flag is set on the expression node. // ** -// ** Special case: If op==TK_INTEGER and pToken points to a string that -// ** can be translated into a 32-bit integer, then the token is not -// ** stored in u.zToken. Instead, the integer values is written -// ** into u.iValue and the EP_IntValue flag is set. No extra storage +// ** Special case (tag-20240227-a): If op==TK_INTEGER and pToken points to +// ** a string that can be translated into a 32-bit integer, then the token is +// ** not stored in u.zToken. Instead, the integer values is written +// ** into u.iValue and the EP_IntValue flag is set. No extra storage // ** is allocated to hold the integer text and the dequote flag is ignored. +// ** See also tag-20240227-b. // */ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) (r uintptr) { bp := tls.Alloc(16) @@ -87177,7 +87487,7 @@ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ *(*int32)(unsafe.Pointer(bp)) = 0 if pToken != 0 { if op != int32(TK_INTEGER) || (*TToken)(unsafe.Pointer(pToken)).Fz == uintptr(0) || _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pToken)).Fz, bp) == 0 { - nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) + nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) /* tag-20240227-a */ } } pNew = _sqlite3DbMallocRawNN(tls, db, uint64(72)+uint64(nExtra)) @@ -87338,11 +87648,11 @@ func _sqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList } if nExprElem != nElem { if nExprElem > int32(1) { - v2 = __ccgo_ts + 7965 + v2 = __ccgo_ts + 8090 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7967, libc.VaList(bp+8, nExprElem, v2, nElem)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8092, libc.VaList(bp+8, nExprElem, v2, nElem)) break } pSel = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(pExpr + 32)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) @@ -87391,7 +87701,7 @@ func _sqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt if f&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_InnerON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { _sqlite3ExprDeferredDelete(tls, pParse, pLeft) _sqlite3ExprDeferredDelete(tls, pParse, pRight) - return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1724) + return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1784) } else { return _sqlite3PExpr(tls, pParse, int32(TK_AND), pLeft, pRight) } @@ -87419,7 +87729,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } *(*int32)(unsafe.Pointer(pNew + 52)) = int32(int64((*TToken)(unsafe.Pointer(pToken)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) if pList != 0 && (*TExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8011, libc.VaList(bp+8, pToken)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8136, libc.VaList(bp+8, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32)) = pList *(*Tu32)(unsafe.Pointer(pNew + 4)) |= uint32(libc.Int32FromInt32(EP_HasFunc)) @@ -87439,7 +87749,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u func _sqlite3ExprOrderByAggregateError(tls *libc.TLS, pParse uintptr, p uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8045, libc.VaList(bp+8, p)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8170, libc.VaList(bp+8, p)) } // C documentation @@ -87510,7 +87820,7 @@ func _sqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD ** SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning ** that the schema is possibly tainted). */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8095, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8220, libc.VaList(bp+8, pExpr)) } } } @@ -87562,7 +87872,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n bOk = libc.BoolInt32(0 == _sqlite3Atoi64(tls, z+1, bp, int32(n-uint32(1)), uint8(SQLITE_UTF8))) } if bOk == 0 || *(*Ti64)(unsafe.Pointer(bp)) < int64(1) || *(*Ti64)(unsafe.Pointer(bp)) > int64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8115, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8240, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) return } @@ -87595,7 +87905,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*TExpr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8158, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8283, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } } @@ -87606,11 +87916,13 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n // ** Recursively delete an expression tree. // */ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { + var pLeft uintptr + _ = pLeft + goto exprDeleteRestart +exprDeleteRestart: + ; if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)|libc.Int32FromInt32(EP_Leaf)) != libc.Uint32FromInt32(0)) { /* The Expr.x union is never used at the same time as Expr.pRight */ - if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { - _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpLeft) - } if (*TExpr)(unsafe.Pointer(p)).FpRight != 0 { _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpRight) } else { @@ -87623,6 +87935,17 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { } } } + if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { + pLeft = (*TExpr)(unsafe.Pointer(p)).FpLeft + if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) && !((*TExpr)(unsafe.Pointer(pLeft)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { + /* Avoid unnecessary recursion on unary operators */ + _sqlite3DbNNFreeNN(tls, db, p) + p = pLeft + goto exprDeleteRestart + } else { + _sqlite3ExprDeleteNN(tls, db, pLeft) + } + } } if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { _sqlite3DbNNFreeNN(tls, db, p) @@ -87669,11 +87992,11 @@ func _sqlite3ClearOnOrUsing(tls *libc.TLS, db uintptr, p uintptr) { // ** // ** The pExpr might be deleted immediately on an OOM error. // ** -// ** The deferred delete is (currently) implemented by adding the -// ** pExpr to the pParse->pConstExpr list with a register number of 0. +// ** Return 0 if the delete was successfully deferred. Return non-zero +// ** if the delete happened immediately because of an OOM. // */ -func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { - _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr) +func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + return libc.BoolInt32(uintptr(0) == _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr)) } // C documentation @@ -88162,16 +88485,20 @@ func _sqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) (r ui (*TSrcItem)(unsafe.Pointer(pNewItem)).FiCursor = (*TSrcItem)(unsafe.Pointer(pOldItem)).FiCursor (*TSrcItem)(unsafe.Pointer(pNewItem)).FaddrFillSub = (*TSrcItem)(unsafe.Pointer(pOldItem)).FaddrFillSub (*TSrcItem)(unsafe.Pointer(pNewItem)).FregReturn = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregReturn + (*TSrcItem)(unsafe.Pointer(pNewItem)).FregResult = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregResult if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x2>>1)) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3DbStrDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88))) + } else { + if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { + *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) + } else { + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pNewItem)).Fu1)) = *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pOldItem)).Fu1)) + } } (*TSrcItem)(unsafe.Pointer(pNewItem)).Fu2 = (*TSrcItem)(unsafe.Pointer(pOldItem)).Fu2 if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x100>>8)) != 0 { (*TCteUse)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNewItem + 96)))).FnUse++ } - if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { - *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) - } v4 = (*TSrcItem)(unsafe.Pointer(pOldItem)).FpTab (*TSrcItem)(unsafe.Pointer(pNewItem)).FpTab = v4 pTab = v4 @@ -88433,7 +88760,7 @@ func _sqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, n = v2 } if v3 && (*TIdList)(unsafe.Pointer(pColumns)).FnId != v2 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8181, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8306, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error } i = 0 @@ -88562,7 +88889,7 @@ func _sqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, _ = mx mx = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4)) if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr > mx { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8211, libc.VaList(bp+8, zObject)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8336, libc.VaList(bp+8, zObject)) } } @@ -88660,10 +88987,10 @@ func _sqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) (r // ** anything else 0 // */ func _sqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) (r Tu32) { - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8234) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8359) == 0 { return uint32(EP_IsTrue) } - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8239) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8364) == 0 { return uint32(EP_IsFalse) } return uint32(0) @@ -88745,6 +89072,51 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { return pExpr } +// C documentation +// +// /* +// ** pExpr is a TK_FUNCTION node. Try to determine whether or not the +// ** function is a constant function. A function is constant if all of +// ** the following are true: +// ** +// ** (1) It is a scalar function (not an aggregate or window function) +// ** (2) It has either the SQLITE_FUNC_CONSTANT or SQLITE_FUNC_SLOCHNG +// ** property. +// ** (3) All of its arguments are constants +// ** +// ** This routine sets pWalker->eCode to 0 if pExpr is not a constant. +// ** It makes no changes to pWalker->eCode if pExpr is constant. In +// ** every case, it returns WRC_Abort. +// ** +// ** Called as a service subroutine from exprNodeIsConstant(). +// */ +func _exprNodeIsConstantFunction(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef, pList, v1 uintptr + var n int32 + var v2 bool + _, _, _, _, _, _ = db, n, pDef, pList, v1, v2 /* The database */ + if v2 = (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)) != uint32(0); !v2 { + v1 = *(*uintptr)(unsafe.Pointer(pExpr + 32)) + pList = v1 + } + if v2 || v1 == uintptr(0) { + n = 0 + } else { + n = (*TExprList)(unsafe.Pointer(pList)).FnExpr + _sqlite3WalkExprList(tls, pWalker, pList) + if int32((*TWalker)(unsafe.Pointer(pWalker)).FeCode) == 0 { + return int32(WRC_Abort) + } + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)|libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG)) == uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) +} + // C documentation // // /* @@ -88792,8 +89164,12 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 } return WRC_Continue } else { - (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) - return int32(WRC_Abort) + if (*TWalker)(unsafe.Pointer(pWalker)).FpParse != 0 { + return _exprNodeIsConstantFunction(tls, pWalker, pExpr) + } else { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } } fallthrough case int32(TK_ID): @@ -88820,6 +89196,8 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 case int32(TK_REGISTER): fallthrough case int32(TK_DOT): + fallthrough + case int32(TK_RAISE): (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) return int32(WRC_Abort) case int32(TK_VARIABLE): @@ -88845,14 +89223,14 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 return r } -func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32) { +func _exprIsConst(tls *libc.TLS, pParse uintptr, p uintptr, initFlag int32) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* w at bp+0 */ TWalker (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(initFlag) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) - *(*int32)(unsafe.Pointer(bp + 40)) = iCur _sqlite3WalkExpr(tls, bp, p) return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } @@ -88866,9 +89244,15 @@ func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32 // ** For the purposes of this function, a double-quoted string (ex: "abc") // ** is considered a variable but a single-quoted string (ex: 'abc') is // ** a constant. +// ** +// ** The pParse parameter may be NULL. But if it is NULL, there is no way +// ** to determine if function calls are constant or not, and hence all +// ** function calls will be considered to be non-constant. If pParse is +// ** not NULL, then a function call might be constant, depending on the +// ** function and on its parameters. // */ -func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(1), 0) +func _sqlite3ExprIsConstant(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(1)) } // C documentation @@ -88886,8 +89270,24 @@ func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { // ** can be added to the pParse->pConstExpr list and evaluated once when // ** the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). // */ -func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(2), 0) +func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(2)) +} + +// C documentation +// +// /* +// ** This routine examines sub-SELECT statements as an expression is being +// ** walked as part of sqlite3ExprIsTableConstant(). Sub-SELECTs are considered +// ** constant as long as they are uncorrelated - meaning that they do not +// ** contain any terms from outer contexts. +// */ +func _exprSelectWalkTableConstant(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + if (*TSelect)(unsafe.Pointer(pSelect)).FselFlags&uint32(SF_Correlated) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) } // C documentation @@ -88897,9 +89297,25 @@ func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { // ** for any single row of the table with cursor iCur. In other words, the // ** expression must not refer to any non-deterministic function nor any // ** table other than iCur. +// ** +// ** Consider uncorrelated subqueries to be constants if the bAllowSubq +// ** parameter is true. // */ -func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) { - return _exprIsConst(tls, p, int32(3), iCur) +func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32, bAllowSubq int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(3) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = uintptr(0) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) + if bAllowSubq != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_exprSelectWalkTableConstant) + } else { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) + } + *(*int32)(unsafe.Pointer(bp + 40)) = iCur + _sqlite3WalkExpr(tls, bp, p) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } // C documentation @@ -88919,7 +89335,10 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** // ** (1) pExpr cannot refer to any table other than pSrc->iCursor. // ** -// ** (2) pExpr cannot use subqueries or non-deterministic functions. +// ** (2a) pExpr cannot use subqueries unless the bAllowSubq parameter is +// ** true and the subquery is non-correlated +// ** +// ** (2b) pExpr cannot use non-deterministic functions. // ** // ** (3) pSrc cannot be part of the left operand for a RIGHT JOIN. // ** (Is there some way to relax this constraint?) @@ -88945,7 +89364,7 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** which leads to incorrect answers. See also restriction (9) // ** on push-down. // */ -func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32) (r int32) { +func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32, bAllowSubq int32) (r int32) { var jj int32 var pSrc uintptr _, _ = jj, pSrc @@ -88983,7 +89402,8 @@ func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList jj++ } } - return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor) /* rules (1), (2) */ + /* Rules (1), (2a), and (2b) handled by the following: */ + return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor, bAllowSubq) } // C documentation @@ -89081,7 +89501,7 @@ func _sqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // ** a constant. // */ func _sqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit Tu8) (r int32) { - return _exprIsConst(tls, p, int32(4)+int32(isInit), 0) + return _exprIsConst(tls, uintptr(0), p, int32(4)+int32(isInit)) } // C documentation @@ -89220,13 +89640,13 @@ func _sqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) (r in // ** Return TRUE if the given string is a row-id column name. // */ func _sqlite3IsRowid(tls *libc.TLS, z uintptr) (r int32) { - if _sqlite3StrICmp(tls, z, __ccgo_ts+8245) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8370) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+8253) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8378) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+8259) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8384) == 0 { return int32(1) } return 0 @@ -89244,9 +89664,9 @@ func _sqlite3RowidAlias(tls *libc.TLS, pTab uintptr) (r uintptr) { var iCol, ii int32 _, _, _ = azOpt, iCol, ii azOpt = [3]uintptr{ - 0: __ccgo_ts + 8245, - 1: __ccgo_ts + 8253, - 2: __ccgo_ts + 8259, + 0: __ccgo_ts + 8370, + 1: __ccgo_ts + 8378, + 2: __ccgo_ts + 8384, } ii = 0 for { @@ -89366,13 +89786,13 @@ func _sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int // ** The argument is an IN operator with a list (not a subquery) on the // ** right-hand side. Return TRUE if that list is constant. // */ -func _sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) (r int32) { +func _sqlite3InRhsIsConstant(tls *libc.TLS, pParse uintptr, pIn uintptr) (r int32) { var pLHS uintptr var res int32 _, _ = pLHS, res pLHS = (*TExpr)(unsafe.Pointer(pIn)).FpLeft (*TExpr)(unsafe.Pointer(pIn)).FpLeft = uintptr(0) - res = _sqlite3ExprIsConstant(tls, pIn) + res = _sqlite3ExprIsConstant(tls, pParse, pIn) (*TExpr)(unsafe.Pointer(pIn)).FpLeft = pLHS return res } @@ -89528,7 +89948,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 iAddr = _sqlite3VdbeAddOp0(tls, v, int32(OP_Once)) _sqlite3OpenTable(tls, pParse, iTab, iDb, pTab, int32(OP_OpenRead)) eType = int32(IN_INDEX_ROWID) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+8263, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+8388, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) _sqlite3VdbeJumpHere(tls, v, iAddr) } else { /* Iterator variable */ affinity_ok = int32(1) @@ -89628,7 +90048,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 if colUsed == libc.Uint64FromInt32(1)<0 so that the new limit is either 1 or 0 */ db = (*TParse)(unsafe.Pointer(pParse)).Fdb - pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1724) + pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1784) if pLimit != 0 { (*TExpr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = _sqlite3PExpr(tls, pParse, int32(TK_NE), _sqlite3ExprDup(tls, db, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft, 0), pLimit) @@ -90119,7 +90539,7 @@ func _sqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int3 (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { /* If there is no pre-existing limit add a limit of 1 */ - pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8478) + pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8603) (*TSelect)(unsafe.Pointer(pSel)).FpLimit = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), pLimit, uintptr(0)) } (*TSelect)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -90506,13 +90926,13 @@ func _codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, i z = *(*uintptr)(unsafe.Pointer(pExpr + 8)) c = _sqlite3DecOrHexToI64(tls, z, bp) if c == int32(3) && !(negFlag != 0) || c == int32(2) || negFlag != 0 && *(*Ti64)(unsafe.Pointer(bp)) == int64(-libc.Int32FromInt32(1))-(libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)<= (*TAggInfo)(unsafe.Pointer(pInfo)).FnFunc { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8571, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8696, libc.VaList(bp+160, pExpr)) } else { return (*TAggInfo)(unsafe.Pointer(pInfo)).FiFirstReg + (*TAggInfo)(unsafe.Pointer(pInfo)).FnColumn + int32((*TExpr)(unsafe.Pointer(pExpr)).FiAgg) } @@ -91237,7 +91652,7 @@ expr_code_doover: if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { return (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64)))).FregResult } - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { /* SQL functions can be expensive. So try to avoid running them ** multiple times if we know they always give the same result */ return _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) @@ -91252,7 +91667,7 @@ expr_code_doover: zId = *(*uintptr)(unsafe.Pointer(pExpr + 8)) pDef = _sqlite3FindFunction(tls, db, zId, nFarg, enc, uint8(0)) if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8598, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8723, libc.VaList(bp+160, pExpr)) break } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_INLINE) != uint32(0) && pFarg != uintptr(0) { @@ -91267,7 +91682,7 @@ expr_code_doover: if !(i < nFarg) { break } - if i < int32(32) && _sqlite3ExprIsConstant(tls, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { + if i < int32(32) && _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { constMask |= libc.Uint32FromInt32(1) << i } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_NEEDCOLL) != uint32(0) && !(pColl != 0) { @@ -91357,7 +91772,7 @@ expr_code_doover: } n1 = _sqlite3ExprVectorSize(tls, pLeft2) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != n1 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8181, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8306, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) } return (*TExpr)(unsafe.Pointer(pLeft2)).FiTable + int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) case int32(TK_IN): @@ -91389,8 +91804,9 @@ expr_code_doover: if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Collate)) != libc.Uint32FromInt32(0)) { /* A TK_COLLATE Expr node without the EP_Collate tag is a so-called ** "SOFT-COLLATE" that is added to constraints that are pushed down - ** from outer queries into sub-queries by the push-down optimization. - ** Clear subtypes as subtypes may not cross a subquery boundary. + ** from outer queries into sub-queries by the WHERE-clause push-down + ** optimization. Clear subtypes as subtypes may not cross a subquery + ** boundary. */ _sqlite3ExprCode(tls, pParse, (*TExpr)(unsafe.Pointer(pExpr)).FpLeft, target) _sqlite3VdbeAddOp1(tls, v, int32(OP_ClrSubtype), target) @@ -91419,7 +91835,7 @@ expr_code_doover: _sqlite3VdbeAddOp1(tls, v, int32(OP_RealAffinity), target) } case int32(TK_VECTOR): - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7025, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7089, 0) break /* TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions ** that derive from the right-hand table of a LEFT JOIN. The @@ -91534,7 +91950,7 @@ expr_code_doover: _sqlite3VdbeResolveLabel(tls, v, endLabel) case int32(TK_RAISE): if !((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != 0) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8622, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8747, 0) return 0 } if int32((*TExpr)(unsafe.Pointer(pExpr)).FaffExpr) == int32(OE_Abort) { @@ -91654,7 +92070,7 @@ func _sqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin var r1, r2 int32 _, _ = r1, r2 pExpr = _sqlite3ExprSkipCollateAndLikely(tls, pExpr) - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { *(*int32)(unsafe.Pointer(pReg)) = 0 r2 = _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) } else { @@ -91724,7 +92140,7 @@ func _sqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // ** might choose to code the expression at initialization time. // */ func _sqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { _sqlite3ExprCodeCopy(tls, pParse, pExpr, target) @@ -91793,7 +92209,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ _sqlite3VdbeAddOp2(tls, v, int32(copyOp), j+srcReg-int32(1), target+i) } } else { - if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target+i) } else { inReg = _sqlite3ExprCodeTarget(tls, pParse, pExpr, target+i) @@ -93090,17 +93506,15 @@ func _agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnColumn && (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } else { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnFunc && (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } @@ -93650,8 +94064,8 @@ func _sqlite3FirstAvailableRegister(tls *libc.TLS, pParse uintptr, iMin int32) ( func _isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) - if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6873, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8672, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6937, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8797, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -93670,9 +94084,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, bp := tls.Alloc(48) defer tls.Free(48) (*TParse)(unsafe.Pointer(pParse)).FcolNamesSet = uint8(1) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8700, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8825, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8875, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9000, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) } } @@ -93688,9 +94102,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, func _renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9049, libc.VaList(bp+8, zDb, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9174, libc.VaList(bp+8, zDb, zDb)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9196, 0) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9321, 0) } } @@ -93746,7 +94160,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName ** in database iDb. If so, this is an error. */ if _sqlite3FindTable(tls, db, zName, zDb) != 0 || _sqlite3FindIndex(tls, db, zName, zDb) != 0 || _sqlite3IsShadowTableOf(tls, db, pTab, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9347, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9472, libc.VaList(bp+8, zName)) goto exit_rename_table } /* Make sure it is not a system table being altered, or a reserved name @@ -93755,11 +94169,11 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { goto exit_rename_table } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9406, zName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9531, zName) { goto exit_rename_table } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9412, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9537, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table } /* Invoke the authorization callback. */ @@ -93789,21 +94203,21 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName nTabName = _sqlite3Utf8CharLen(tls, zTabName, -int32(1)) /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in ** the schema to use the new table name. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9439, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9564, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) /* Update the tbl_name and name columns of the sqlite_schema table ** as required. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9623, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9748, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) /* If the sqlite_sequence table exists in this database, then update ** it with the new table name. */ - if _sqlite3FindTable(tls, db, __ccgo_ts+9928, zDb) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9944, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if _sqlite3FindTable(tls, db, __ccgo_ts+10053, zDb) != 0 { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10069, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* If the table being renamed is not itself part of the temp database, ** edit view and trigger definitions within the temp database ** as required. */ if iDb != int32(1) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10002, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10127, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) } /* If this is a virtual table, invoke the xRename() function if ** one is defined. The xRename() callback will modify the names @@ -93819,7 +94233,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName _sqlite3VdbeAddOp4(tls, v, int32(OP_VRename), i, 0, 0, pVTab, -int32(11)) } _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+10267, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+10392, 0) goto exit_rename_table exit_rename_table: ; @@ -93836,7 +94250,7 @@ exit_rename_table: func _sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10280, libc.VaList(bp+8, zErr, zDb, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10405, libc.VaList(bp+8, zErr, zDb, zTab)) } // C documentation @@ -93876,11 +94290,11 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** column must not be NULL. */ if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10318, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10443, 0) return } if (*TTable)(unsafe.Pointer(pNew)).FpIndex != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10350, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10475, 0) return } if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) == 0 { @@ -93896,10 +94310,10 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpFKey != 0 && pDflt != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10377) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10502) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && !(pDflt != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10436) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10561) } /* Ensure the default expression is something that sqlite3ValueFromExpr() ** can handle (i.e. not CURRENT_TIME etc.) @@ -93911,13 +94325,13 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr return } if !(*(*uintptr)(unsafe.Pointer(bp)) != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10489) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10614) } _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp))) } } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_STORED) != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10535) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10660) } } /* Modify the CREATE TABLE statement. */ @@ -93931,7 +94345,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } /* substr() operations on characters, but addColOffset is in bytes. So we ** have to use printf() to translate between these units: */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10562, libc.VaList(bp+16, zDb, (*(*struct { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10687, libc.VaList(bp+16, zDb, (*(*struct { FaddColOffset int32 FpFKey uintptr FpDfltList uintptr @@ -93959,7 +94373,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterAdd)) /* Verify that constraints are still satisfied */ if (*TTable)(unsafe.Pointer(pNew)).FpCheck != uintptr(0) || int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Strict) != uint32(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10708, libc.VaList(bp+16, zTab, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10833, libc.VaList(bp+16, zTab, zDb)) } } } @@ -93997,12 +94411,12 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { goto exit_begin_add_column } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11061, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11186, 0) goto exit_begin_add_column } /* Make sure this is not an attempt to ALTER a view. */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11095, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11220, 0) goto exit_begin_add_column } if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { @@ -94026,7 +94440,7 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { (*TTable)(unsafe.Pointer(pNew)).FnCol = (*TTable)(unsafe.Pointer(pTab)).FnCol nAlloc = (int32((*TTable)(unsafe.Pointer(pNew)).FnCol)-int32(1))/int32(8)*int32(8) + int32(8) (*TTable)(unsafe.Pointer(pNew)).FaCol = _sqlite3DbMallocZero(tls, db, uint64(16)*uint64(nAlloc)) - (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+11125, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+11250, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !((*TTable)(unsafe.Pointer(pNew)).FaCol != 0) || !((*TTable)(unsafe.Pointer(pNew)).FzName != 0) { goto exit_begin_add_column } @@ -94087,18 +94501,18 @@ func _isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) (r i _, _ = zType, v1 zType = uintptr(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 11144 + zType = __ccgo_ts + 11269 } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 11149 + zType = __ccgo_ts + 11274 } if zType != 0 { if bDrop != 0 { - v1 = __ccgo_ts + 11163 + v1 = __ccgo_ts + 11288 } else { - v1 = __ccgo_ts + 11180 + v1 = __ccgo_ts + 11305 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11198, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11323, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -94159,11 +94573,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld iCol++ } if iCol == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11216, libc.VaList(bp+8, pOld)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11341, libc.VaList(bp+8, pOld)) goto exit_rename_column } /* Ensure the schema contains no double-quoted strings */ - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1650, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1664, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1))) /* Do the rename operation using a recursive UPDATE statement that ** uses the sqlite_rename_column() SQL function to compute the new @@ -94175,11 +94589,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld goto exit_rename_column } bQuote = int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pNew)).Fz)))]) & int32(0x80) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11237, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11419, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11362, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11544, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+10267, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+10392, int32(1)) goto exit_rename_column exit_rename_column: ; @@ -94655,11 +95069,11 @@ func _renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType u zT = Xsqlite3_value_text(tls, pType) zN = Xsqlite3_value_text(tls, pObject) if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - v1 = __ccgo_ts + 11550 + v1 = __ccgo_ts + 11675 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11552, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) + zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11677, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, zErr) } @@ -94736,8 +95150,8 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin if zSql == uintptr(0) { return int32(SQLITE_NOMEM) } - if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11575, int32(7)) != 0 { - return _sqlite3CorruptError(tls, int32(116682)) + if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11700, int32(7)) != 0 { + return _sqlite3CorruptError(tls, int32(117285)) } if bTemp != 0 { v1 = int32(1) @@ -94753,7 +95167,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin rc = int32(SQLITE_NOMEM) } if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = _sqlite3CorruptError(tls, int32(116693)) + rc = _sqlite3CorruptError(tls, int32(117296)) } (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0) return rc @@ -94792,7 +95206,7 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, ** ALTER TABLE statement was quoted (bQuote==1), then set zNew to ** point to zQuot so that all substitutions are made using the ** quoted version of the new column name. */ - zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11583, libc.VaList(bp+8, zNew)) + zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11708, libc.VaList(bp+8, zNew)) if zQuot == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -94837,11 +95251,11 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = 0 _sqlite3Dequote(tls, zBuf1) if int32(*(*int8)(unsafe.Pointer((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == int32('\'') { - v1 = __ccgo_ts + 11550 + v1 = __ccgo_ts + 11675 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11589, libc.VaList(bp+8, zBuf1, v1)) + Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11714, libc.VaList(bp+8, zBuf1, v1)) zReplace = zBuf2 nReplace = uint32(_sqlite3Strlen30(tls, zReplace)) } @@ -95326,7 +95740,7 @@ renameColumnFunc_done: Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv))) } else { if (*(*TParse)(unsafe.Pointer(bp + 32))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1650, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) + _renameColumnParseError(tls, context, __ccgo_ts+1664, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -95552,7 +95966,7 @@ func _renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintpt Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + 3*8))) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1650, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) + _renameColumnParseError(tls, context, __ccgo_ts+1664, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -95814,7 +96228,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { /* This can happen if the sqlite_schema table is corrupt */ - rc = _sqlite3CorruptError(tls, int32(117652)) + rc = _sqlite3CorruptError(tls, int32(118255)) goto drop_column_done } pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName) @@ -95831,7 +96245,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr (*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz-- } } - zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11594, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) + zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11719, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -int32(1), uintptr(-libc.Int32FromInt32(1))) Xsqlite3_free(tls, zNew) goto drop_column_done @@ -95858,8 +96272,9 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName bp := tls.Alloc(48) defer tls.Free(48) var addr, i, iCol, iColPos, iCur, iDb, iPos, nField, reg, regOut, regRec, v2, v4, v7 int32 + var aff int8 var db, pPk, pTab, v, zCol, zDb, v1, v3, v5, v8 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, aff, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Database containing pTab ("main" etc.) */ zCol = uintptr(0) /* Index of column zCol in pTab->aCol[] */ /* Look up the table being altered. */ @@ -95885,23 +96300,23 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName } iCol = _sqlite3ColumnIndex(tls, pTab, zCol) if iCol < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11216, libc.VaList(bp+8, pName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11341, libc.VaList(bp+8, pName)) goto exit_drop_column } /* Do not allow the user to drop a PRIMARY KEY column or a column ** constrained by a UNIQUE constraint. */ if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_PRIMKEY)|libc.Int32FromInt32(COLFLAG_UNIQUE)) != 0 { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - v1 = __ccgo_ts + 11601 + v1 = __ccgo_ts + 11726 } else { - v1 = __ccgo_ts + 5937 + v1 = __ccgo_ts + 6001 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11613, libc.VaList(bp+8, v1, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11738, libc.VaList(bp+8, v1, zCol)) goto exit_drop_column } /* Do not allow the number of columns to go to zero */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) <= int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11641, libc.VaList(bp+8, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11766, libc.VaList(bp+8, zCol)) goto exit_drop_column } /* Edit the sqlite_schema table */ @@ -95911,12 +96326,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_ALTER_TABLE), zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol) != 0 { goto exit_drop_column } - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1650, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1664, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1))) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11689, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11814, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11810, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11935, int32(1)) /* Edit rows of table on disk */ if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 && int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { pPk = uintptr(0) @@ -95974,7 +96389,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if i == int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regOut) } else { + aff = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity + if int32(aff) == int32(SQLITE_AFF_REAL) { + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = int8(SQLITE_AFF_NUMERIC) + } _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab, iCur, i, regOut) + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = aff } nField++ } @@ -96019,27 +96439,27 @@ var _aAlterTableFuncs = [5]TFuncDef{ 0: { FnArg: int8(9), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11828, + FzName: __ccgo_ts + 11953, }, 1: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11849, + FzName: __ccgo_ts + 11974, }, 2: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11869, + FzName: __ccgo_ts + 11994, }, 3: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11888, + FzName: __ccgo_ts + 12013, }, 4: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11907, + FzName: __ccgo_ts + 12032, }, } @@ -96250,7 +96670,7 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW ** side-effect of the CREATE TABLE statement is to leave the rootpage ** of the new table in register pParse->regRoot. This is important ** because the OpenWrite opcode below will be needing it. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+12010, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+12135, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) aRoot[i] = uint32((*TParse)(unsafe.Pointer(pParse)).FregRoot) aCreateTbl[i] = uint8(OPFLAG_P2ISREG) } @@ -96261,10 +96681,10 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW aRoot[i] = (*TTable)(unsafe.Pointer(pStat)).Ftnum _sqlite3TableLock(tls, pParse, iDb, aRoot[i], uint8(1), zTab) if zWhere != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+12033, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+12158, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+12063, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+12188, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { /* The sqlite_stat[134] table already exists. Delete all rows. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Clear), int32(aRoot[i]), iDb) @@ -96296,15 +96716,15 @@ var _aTable = [3]struct { FzCols uintptr }{ 0: { - FzName: __ccgo_ts + 11930, - FzCols: __ccgo_ts + 11943, + FzName: __ccgo_ts + 12055, + FzCols: __ccgo_ts + 12068, }, 1: { - FzName: __ccgo_ts + 11956, - FzCols: __ccgo_ts + 11969, + FzName: __ccgo_ts + 12081, + FzCols: __ccgo_ts + 12094, }, 2: { - FzName: __ccgo_ts + 11997, + FzName: __ccgo_ts + 12122, }, } @@ -96606,7 +97026,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statInitFuncdef = TFuncDef{ FnArg: int8(4), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12081, + FzName: __ccgo_ts + 12206, } func init() { @@ -96980,7 +97400,7 @@ func _statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statPushFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(2) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12091, + FzName: __ccgo_ts + 12216, } func init() { @@ -97030,7 +97450,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { v1 = (*TStatAccum)(unsafe.Pointer(p)).FnRow } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+12101, libc.VaList(bp+72, v1)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+12226, libc.VaList(bp+72, v1)) i = 0 for { if !(i < (*TStatAccum)(unsafe.Pointer(p)).FnKeyCol) { @@ -97041,7 +97461,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if iVal == uint64(2) && (*TStatAccum)(unsafe.Pointer(p)).FnRow*uint64(10) <= nDistinct*uint64(11) { iVal = uint64(1) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+12106, libc.VaList(bp+72, iVal)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+12231, libc.VaList(bp+72, iVal)) goto _2 _2: ; @@ -97080,7 +97500,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if !(i1 < (*TStatAccum)(unsafe.Pointer(p)).FnCol) { break } - Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+12112, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) + Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+12237, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) goto _3 _3: ; @@ -97098,7 +97518,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statGetFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(1) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12118, + FzName: __ccgo_ts + 12243, } func init() { @@ -97119,9 +97539,9 @@ func _callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, re // */ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { var aGotoChng, db, pColl, pIdx, pPk, pStat1, pX, v, zIdxName uintptr - var addrIsNull, addrNext, addrNextRow, addrRewind, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 + var addrGotoEnd, addrIsNull, addrNext, addrNextRow, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 var needTableCnt, seekOp Tu8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrIsNull, addrNext, addrNextRow, addrRewind, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrGotoEnd, addrIsNull, addrNext, addrNextRow, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Loop counter */ jZeroRows = -int32(1) /* Index of database containing pTab */ needTableCnt = uint8(1) @@ -97164,7 +97584,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Do not gather statistics on views or virtual tables */ return } - if Xsqlite3_strlike(tls, __ccgo_ts+12127, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, __ccgo_ts+12252, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { /* Do not gather statistics on system tables */ return } @@ -97178,7 +97598,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint return } (*TTable)(unsafe.Pointer(pStat1)).FzName = pStat1 + 1*104 - libc.X__builtin___memcpy_chk(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11930, uint64(13), libc.X__builtin_object_size(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, 0)) + libc.X__builtin___memcpy_chk(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+12055, uint64(13), libc.X__builtin_object_size(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, 0)) (*TTable)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*TTable)(unsafe.Pointer(pStat1)).FiPKey = int16(-int32(1)) _sqlite3VdbeAddOp4(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Noop), 0, 0, 0, pStat1, -int32(6)) @@ -97232,9 +97652,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* ** Pseudo-code for loop that calls stat_push(): ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() ** goto chng_addr_0; ** ** next_row: @@ -97268,32 +97693,29 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Open a read-only cursor on the index being analyzed. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenRead), iIdxCur, int32((*TIndex)(unsafe.Pointer(pIdx)).Ftnum), iDb) _sqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - /* Invoke the stat_init() function. The arguments are: + /* Implementation of the following: ** + ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() + ** goto chng_addr_0; + */ + _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + /* Arguments to stat_init(): ** (1) the number of columns in the index including the rowid ** (or for a WITHOUT ROWID table, the number of PK columns), ** (2) the number of columns in the key without the rowid/pk - ** (3) estimated number of rows in the index, - */ + ** (3) estimated number of rows in the index. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), nCol, regStat+int32(1)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol), regRowid) - if (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0) { - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iIdxCur, regTemp) - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - } else { - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, int32(1)) - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) != uint32(0))) _sqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat+int32(1), regStat, int32(4), uintptr(unsafe.Pointer(&_statInitFuncdef)), 0) - /* Implementation of the following: - ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; - ** regChng = 0 - ** goto next_push_0; - ** - */ + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regChng) addrNextRow = _sqlite3VdbeCurrentAddr(tls, v) if nColTest > 0 { @@ -97402,8 +97824,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), iIdxCur, addrNextRow) } /* Add the entry to the stat1 table. */ + if (*TIndex)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { + /* Partial indexes might get a zero-entry in sqlite_stat1. But + ** an empty table is omitted from sqlite_stat1. */ + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + addrGotoEnd = 0 + } _callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+12137, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+12262, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP4(tls, v, -int32(1), pStat1, -int32(5)) @@ -97422,6 +97850,11 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint v18 = int32(OP_NotFound) } seekOp = uint8(v18) + /* No STAT4 data is generated if the number of rows is zero */ + if addrGotoEnd == 0 { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Cast), regStat1, int32(SQLITE_AFF_INTEGER)) + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) + } if doOnce != 0 { mxCol = nCol /* Compute the maximum number of columns in any index */ @@ -97474,7 +97907,9 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeJumpHere(tls, v, addrIsNull) } /* End of analysis */ - _sqlite3VdbeJumpHere(tls, v, addrRewind) + if addrGotoEnd != 0 { + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + } goto _13 _13: ; @@ -97487,7 +97922,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iTabCur, regStat1) jZeroRows = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regIdxname) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+12137, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+12262, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -97559,9 +97994,9 @@ func _analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr iStatCur = (*TParse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52)) += int32(3) if pOnlyIdx != 0 { - _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+12141) + _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+12266) } else { - _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+12145) + _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+12270) } _analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, (*TParse)(unsafe.Pointer(pParse)).FnMem+int32(1), (*TParse)(unsafe.Pointer(pParse)).FnTab) _loadAnalysis(tls, pParse, iDb) @@ -97690,7 +98125,7 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, _, _, _, _, _, _ = c, i, sz, v, z, v2 z = zIntArray if z == uintptr(0) { - z = __ccgo_ts + 1650 + z = __ccgo_ts + 1664 } i = 0 for { @@ -97725,17 +98160,17 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, __ccgo_ts+12149, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+12274, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 2, 0x4) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+12160, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+12285, z) == 0 { sz = _sqlite3Atoi(tls, z+uintptr(3)) if sz < int32(2) { sz = int32(2) } (*TIndex)(unsafe.Pointer(pIndex)).FszIdxRow = _sqlite3LogEst(tls, uint64(sz)) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+12170, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+12295, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 6, 0x40) } } @@ -98111,11 +98546,11 @@ func _loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) (r int32) { _, _, _, _ = pStat4, rc, v1, v2 rc = SQLITE_OK if v2 = (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0); v2 { - v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11956, zDb) + v1 = _sqlite3FindTable(tls, db, __ccgo_ts+12081, zDb) pStat4 = v1 } if v2 && v1 != uintptr(0) && int32((*TTable)(unsafe.Pointer(pStat4)).FeTabType) == TABTYP_NORM { - rc = _loadStatTbl(tls, db, __ccgo_ts+12182, __ccgo_ts+12251, zDb) + rc = _loadStatTbl(tls, db, __ccgo_ts+12307, __ccgo_ts+12376, zDb) } return rc } @@ -98181,10 +98616,10 @@ func _sqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) (r int32) { /* Load new statistics out of the sqlite_stat1 table */ (*(*TanalysisInfo)(unsafe.Pointer(bp))).Fdb = db (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName - v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11930, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) + v3 = _sqlite3FindTable(tls, db, __ccgo_ts+12055, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) pStat1 = v3 if v3 != 0 && int32((*TTable)(unsafe.Pointer(pStat1)).FeTabType) == TABTYP_NORM { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+12303, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+12428, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -98297,7 +98732,7 @@ func _resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) (r int32) { // ** database iDb attached to handle db. // */ func _sqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) (r int32) { - return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6933, zName) == 0) + return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6997, zName) == 0) } // C documentation @@ -98339,21 +98774,21 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if zFile == uintptr(0) { - zFile = __ccgo_ts + 1650 + zFile = __ccgo_ts + 1664 } if zName == uintptr(0) { - zName = __ccgo_ts + 1650 + zName = __ccgo_ts + 1664 } if int32(uint32(*(*uint8)(unsafe.Pointer(db + 192 + 8))&0x4>>2)) != 0 { /* 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 + 40)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+4315) + *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+4379) if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { return } - rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12344, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) + rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12469, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) if rc == SQLITE_OK { pNewSchema = _sqlite3SchemaGet(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40))) if pNewSchema != 0 { @@ -98384,7 +98819,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { ** * Specified database name already being used. */ if (*Tsqlite3)(unsafe.Pointer(db)).FnDb >= *(*int32)(unsafe.Pointer(db + 136 + 7*4))+int32(2) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12347, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12472, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) goto attach_error } i = 0 @@ -98393,7 +98828,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { break } if _sqlite3DbIsNamed(tls, db, i, zName) != 0 { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12384, libc.VaList(bp+56, zName)) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12509, libc.VaList(bp+56, zName)) goto attach_error } goto _1 @@ -98441,7 +98876,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FnoSharedCache = uint8(0) if rc == int32(SQLITE_CONSTRAINT) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12414, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12539, 0) } else { if rc == SQLITE_OK { (*TDb)(unsafe.Pointer(pNew)).FpSchema = _sqlite3SchemaGet(tls, db, (*TDb)(unsafe.Pointer(pNew)).FpBt) @@ -98449,7 +98884,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { rc = int32(SQLITE_NOMEM) } else { if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0 && int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12443, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12568, 0) rc = int32(SQLITE_ERROR) } } @@ -98493,10 +98928,10 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)<= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12539, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12664, libc.VaList(bp+136, zName)) goto detach_error } if i < int32(2) { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12560, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12685, libc.VaList(bp+136, zName)) goto detach_error } if _sqlite3BtreeTxnState(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != SQLITE_TXN_NONE || _sqlite3BtreeIsInBackup(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != 0 { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12586, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12711, libc.VaList(bp+136, zName)) goto detach_error } /* If any TEMP triggers reference the schema being detached, move those @@ -98661,7 +99096,7 @@ func _sqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { var _detach_func = TFuncDef{ FnArg: int8(1), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12608, + FzName: __ccgo_ts + 12733, } func init() { @@ -98683,7 +99118,7 @@ func _sqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, p var _attach_func = TFuncDef{ FnArg: int8(3), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12622, + FzName: __ccgo_ts + 12747, } func init() { @@ -98709,7 +99144,7 @@ func _fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) (r int32) { if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer((*TDbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit1.Fbusy != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } else { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12636, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12761, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) return int32(WRC_Abort) } } @@ -98743,7 +99178,7 @@ func _fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) (r int32) { if int32((*TDbFixer)(unsafe.Pointer(pFix)).FbTemp) == 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != _sqlite3FindDbName(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12660, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12785, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return int32(WRC_Abort) } _sqlite3DbFree(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) @@ -98959,7 +99394,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // ** user-supplied authorization function returned an illegal value. // */ func _sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12706, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12831, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) } @@ -98987,11 +99422,11 @@ func _sqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, int32(SQLITE_READ), zTab, zCol, zDb, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12729, libc.VaList(bp+8, zTab, zCol)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12854, libc.VaList(bp+8, zTab, zCol)) if (*Tsqlite3)(unsafe.Pointer(db)).FnDb > int32(2) || iDb != 0 { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12735, libc.VaList(bp+8, zDb, z)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12860, libc.VaList(bp+8, zDb, z)) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12741, libc.VaList(bp+8, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12866, libc.VaList(bp+8, z)) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != int32(SQLITE_IGNORE) && rc != SQLITE_OK { @@ -99051,7 +99486,7 @@ func _sqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName } else { - zCol = __ccgo_ts + 8253 + zCol = __ccgo_ts + 8378 } } if int32(SQLITE_IGNORE) == _sqlite3AuthReadCol(tls, pParse, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -99086,7 +99521,7 @@ func _sqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, ** parameters can be either NULL or a string. */ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12768, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12893, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != SQLITE_OK && rc != int32(SQLITE_IGNORE) { @@ -99507,21 +99942,21 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { /* No match against the official names. But always match "main" ** to schema 0 as a legacy fallback. */ - if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6933) == 0 { + if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6997) == 0 { i = 0 } else { return uintptr(0) } } p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, zName) - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6873, int32(7)) == 0 { + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6937, int32(7)) == 0 { if i == int32(1) { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6900+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6919+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6414+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6881) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6964+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6983+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6478+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6945) } } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6919+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6414) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6983+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6478) } } } @@ -99551,12 +99986,12 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp ; i++ } - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6873, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6919+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6414) + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6937, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6983+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6478) } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6900+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6881) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6964+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6945) } } } @@ -99594,7 +100029,7 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt ** can be an eponymous virtual table. */ if int32((*TParse)(unsafe.Pointer(pParse)).FprepFlags)&int32(SQLITE_PREPARE_NO_VTAB) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 { pMod = _sqlite3HashFind(tls, db+576, zName) - if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12783, int32(7)) == 0 { + if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12908, int32(7)) == 0 { pMod = _sqlite3PragmaVtabRegister(tls, db, zName) } if pMod != 0 && _sqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0 { @@ -99612,15 +100047,15 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt } if p == uintptr(0) { if flags&uint32(LOCATE_VIEW) != 0 { - v1 = __ccgo_ts + 12791 + v1 = __ccgo_ts + 12916 } else { - v1 = __ccgo_ts + 12804 + v1 = __ccgo_ts + 12929 } zMsg = v1 if zDbase != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7137, libc.VaList(bp+8, zMsg, zDbase, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7201, libc.VaList(bp+8, zMsg, zDbase, zName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7147, libc.VaList(bp+8, zMsg, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7272, libc.VaList(bp+8, zMsg, zName)) } } else { } @@ -99658,12 +100093,12 @@ func _sqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags Tu32, p uintpt // ** names into the new preferred names, as appropriate. // */ func _sqlite3PreferredTableName(tls *libc.TLS, zName uintptr) (r uintptr) { - if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6873, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6414+7) == 0 { - return __ccgo_ts + 6919 + if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6937, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6478+7) == 0 { + return __ccgo_ts + 6983 } - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6881+7) == 0 { - return __ccgo_ts + 6900 + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6945+7) == 0 { + return __ccgo_ts + 6964 } } return zName @@ -100188,7 +100623,7 @@ func _sqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { var v uintptr _ = v v = _sqlite3GetVdbe(tls, p) - _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6414) + _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6478) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_OpenWrite), 0, int32(SCHEMA_ROOT), iDb, int32(5)) if (*TParse)(unsafe.Pointer(p)).FnTab == 0 { (*TParse)(unsafe.Pointer(p)).FnTab = int32(1) @@ -100220,7 +100655,7 @@ func _sqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) { } /* "main" is always an acceptable alias for the primary database ** even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. */ - if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6933, zName) { + if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6997, zName) { break } goto _1 @@ -100278,13 +100713,13 @@ func _sqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12818, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12943, 0) return -int32(1) } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = _sqlite3FindDb(tls, db, pName1) if iDb < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12835, libc.VaList(bp+8, pName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12960, libc.VaList(bp+8, pName1)) return -int32(1) } } else { @@ -100328,12 +100763,12 @@ func _sqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit))) != 0 || Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 1*8))) != 0 || Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 2*8))) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1650, 0) /* corruptSchema() will supply the error */ + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1664, 0) /* corruptSchema() will supply the error */ return int32(SQLITE_ERROR) } } else { - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6873, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12855, libc.VaList(bp+8, zName)) + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6937, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12980, libc.VaList(bp+8, zName)) return int32(SQLITE_ERROR) } } @@ -100548,9 +100983,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui /* Special case: Parsing the sqlite_schema or sqlite_temp_schema schema */ iDb = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6881 + v1 = __ccgo_ts + 6945 } else { - v1 = __ccgo_ts + 6414 + v1 = __ccgo_ts + 6478 } zName = _sqlite3DbStrDup(tls, db, v1) *(*uintptr)(unsafe.Pointer(bp)) = pName1 @@ -100563,7 +100998,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 && (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) && iDb != int32(1) { /* If creating a temp table, the name may not be qualified. Unless ** the database name is "temp" anyway. */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12897, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13022, 0) return } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 { @@ -100579,9 +101014,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui return } if isView != 0 { - v2 = __ccgo_ts + 11144 + v2 = __ccgo_ts + 11269 } else { - v2 = __ccgo_ts + 9406 + v2 = __ccgo_ts + 9531 } if _sqlite3CheckObjectName(tls, pParse, zName, v2, zName) != 0 { goto begin_table_error @@ -100591,9 +101026,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui } zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp == int32(1) { - v3 = __ccgo_ts + 6881 + v3 = __ccgo_ts + 6945 } else { - v3 = __ccgo_ts + 6414 + v3 = __ccgo_ts + 6478 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto begin_table_error @@ -100617,11 +101052,11 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if pTable != 0 { if !(noErr != 0) { if int32((*TTable)(unsafe.Pointer(pTable)).FeTabType) == int32(TABTYP_VIEW) { - v4 = __ccgo_ts + 11144 + v4 = __ccgo_ts + 11269 } else { - v4 = __ccgo_ts + 9406 + v4 = __ccgo_ts + 9531 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12938, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13063, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) _sqlite3ForceNotReadOnly(tls, pParse) @@ -100629,7 +101064,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui goto begin_table_error } if _sqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12959, libc.VaList(bp+16, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13084, libc.VaList(bp+16, zName)) goto begin_table_error } } @@ -100781,7 +101216,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { _, _, _ = db, pHash, pRet db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TParse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12994, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13119, 0) } else { } (*TParse)(unsafe.Pointer(pParse)).FbReturning = uint8(1) @@ -100797,7 +101232,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+13028, libc.VaList(bp+8, pParse)) + Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+13153, libc.VaList(bp+8, pParse)) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.FzName = pRet + 196 (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Fop = uint8(TK_RETURNING) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = uint8(TRIGGER_AFTER) @@ -100844,7 +101279,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok return } if int32((*TTable)(unsafe.Pointer(p)).FnCol)+int32(1) > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13048, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13173, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) return } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -100854,12 +101289,12 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok ** by the parser, we can sometimes end up with a typename that ends ** with "generated always". Check for this case and omit the surplus ** text. */ - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+13071, int32(6)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+13196, int32(6)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(6) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1)))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- } - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+13078, int32(9)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+13203, int32(9)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(9) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1)))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- @@ -100908,7 +101343,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok break } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FhName) == int32(hName) && _sqlite3StrICmp(tls, z, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FzCnName) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13088, libc.VaList(bp+40, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13213, libc.VaList(bp+40, z)) _sqlite3DbFree(tls, db, z) return } @@ -101116,10 +101551,10 @@ func _sqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar isInit = libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) != int32(1)) pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(p)).FnCol)-int32(1))*16 if !(_sqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13114, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13239, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13159, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13284, 0) } else { libc.X__builtin___memset_chk(tls, bp, 0, uint64(72), libc.X__builtin_object_size(tls, bp, 0)) (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_SPAN) @@ -101177,7 +101612,7 @@ func _makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { p1 = pCol + 14 *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(COLFLAG_PRIMKEY)) if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13200, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13325, 0) } } @@ -101214,7 +101649,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError goto primary_key_exit } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasPrimaryKey) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13252, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13377, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit } *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_HasPrimaryKey) @@ -101270,7 +101705,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError _sqlite3HasExplicitNulls(tls, pParse, pList) } else { if autoInc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13293, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13418, 0) } else { _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), uintptr(0), sortOrder, 0, uint8(SQLITE_IDXTYPE_PRIMARYKEY)) pList = uintptr(0) @@ -101386,17 +101821,17 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui } pCol = (*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-int32(1))*16 if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) == int32(PARSE_MODE_DECLARE_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13349, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13474, 0) goto generated_done } if int32((*TColumn)(unsafe.Pointer(pCol)).FiDflt) > 0 { goto generated_error } if pType != 0 { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13392, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13517, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { /* no-op */ } else { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13400, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13525, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { eType = uint8(COLFLAG_STORED) } else { goto generated_error @@ -101428,7 +101863,7 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui goto generated_error generated_error: ; - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13407, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13532, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) goto generated_done generated_done: ; @@ -101591,13 +102026,13 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { } n += _identLength(tls, (*TTable)(unsafe.Pointer(p)).FzName) if n < int32(50) { - zSep = __ccgo_ts + 1650 - zSep2 = __ccgo_ts + 13438 - zEnd = __ccgo_ts + 5454 + zSep = __ccgo_ts + 1664 + zSep2 = __ccgo_ts + 13563 + zEnd = __ccgo_ts + 5518 } else { - zSep = __ccgo_ts + 13440 - zSep2 = __ccgo_ts + 13444 - zEnd = __ccgo_ts + 13449 + zSep = __ccgo_ts + 13565 + zSep2 = __ccgo_ts + 13569 + zEnd = __ccgo_ts + 13574 } n += int32(35) + int32(6)*int32((*TTable)(unsafe.Pointer(p)).FnCol) zStmt = _sqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -101605,7 +102040,7 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { _sqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13452, 0) + Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13577, 0) *(*int32)(unsafe.Pointer(bp)) = _sqlite3Strlen30(tls, zStmt) _identPut(tls, zStmt, bp, (*TTable)(unsafe.Pointer(p)).FzName) v2 = *(*int32)(unsafe.Pointer(bp)) @@ -101631,17 +102066,17 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { i++ pCol += 16 } - Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3799, libc.VaList(bp+16, zEnd)) + Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3863, libc.VaList(bp+16, zEnd)) return zStmt } var _azType1 = [6]uintptr{ - 0: __ccgo_ts + 1650, - 1: __ccgo_ts + 13466, - 2: __ccgo_ts + 13472, - 3: __ccgo_ts + 13477, - 4: __ccgo_ts + 13482, - 5: __ccgo_ts + 13472, + 0: __ccgo_ts + 1664, + 1: __ccgo_ts + 13591, + 2: __ccgo_ts + 13597, + 3: __ccgo_ts + 13602, + 4: __ccgo_ts + 13607, + 5: __ccgo_ts + 13597, } // C documentation @@ -102215,13 +102650,13 @@ func _sqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts Tu32, pSelect uintptr) { bp := tls.Alloc(112) defer tls.Free(112) - var addrInsLoop, addrTop, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v4, v6, v8 int32 + var addrInsLoop, addrTop, iCsr, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v10, v4, v6, v8 int32 var colFlags Tu32 - var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v5, v7, v9 uintptr - var v10 Ti16 + var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v13, v5, v7, v9 uintptr + var v12 Ti16 var _ /* dest at bp+0 */ TSelectDest - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v4, v5, v6, v7, v8, v9 /* The new table */ - db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iCsr, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v12, v13, v4, v5, v6, v7, v8, v9 /* The new table */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ if pEnd == uintptr(0) && pSelect == uintptr(0) { return } @@ -102243,7 +102678,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if pSelect != 0 || !(int32((*TTable)(unsafe.Pointer(p)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) && (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1650, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1664, 0) return } (*TTable)(unsafe.Pointer(p)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum @@ -102270,9 +102705,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(ii)*16 if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf0>>4)) == COLTYPE_CUSTOM { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_HASTYPE) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13488, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1650))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13613, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1664))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13521, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13646, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } return } else { @@ -102293,11 +102728,11 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* Special processing for WITHOUT ROWID Tables */ if tabOpts&uint32(TF_WithoutRowid) != 0 { if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13548, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13673, 0) return } if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasPrimaryKey) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13598, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13723, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) return } *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) @@ -102344,7 +102779,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ii1++ } if nNG == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13630, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13755, 0) return } } @@ -102378,12 +102813,12 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if int32((*TTable)(unsafe.Pointer(p)).FeTabType) == TABTYP_NORM { /* A regular table */ - zType = __ccgo_ts + 9406 - zType2 = __ccgo_ts + 13674 + zType = __ccgo_ts + 9531 + zType2 = __ccgo_ts + 13799 } else { /* A view */ - zType = __ccgo_ts + 11144 - zType2 = __ccgo_ts + 13680 + zType = __ccgo_ts + 11269 + zType2 = __ccgo_ts + 13805 } /* If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT ** statement to populate the new table. The root-page number for the @@ -102398,28 +102833,31 @@ func _sqlite3EndTable(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 { /* A table that describes the SELECT results */ + if pSelect != 0 { /* Write cursor on the new table */ if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) (*TParse)(unsafe.Pointer(pParse)).FnErr++ return } - v5 = pParse + 56 - *(*int32)(unsafe.Pointer(v5))++ + v5 = pParse + 52 v4 = *(*int32)(unsafe.Pointer(v5)) - regYield = v4 + *(*int32)(unsafe.Pointer(v5))++ + iCsr = v4 v7 = pParse + 56 *(*int32)(unsafe.Pointer(v7))++ v6 = *(*int32)(unsafe.Pointer(v7)) - regRec = v6 + regYield = v6 v9 = pParse + 56 *(*int32)(unsafe.Pointer(v9))++ v8 = *(*int32)(unsafe.Pointer(v9)) - regRowid = v8 + regRec = v8 + v11 = pParse + 56 + *(*int32)(unsafe.Pointer(v11))++ + v10 = *(*int32)(unsafe.Pointer(v11)) + regRowid = v10 _sqlite3MayAbort(tls, pParse) - _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), int32(1), (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) + _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), iCsr, (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_P2ISREG)) - (*TParse)(unsafe.Pointer(pParse)).FnTab = int32(2) addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -102429,9 +102867,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if pSelTab == uintptr(0) { return } - v10 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol - (*TTable)(unsafe.Pointer(p)).FnNVCol = v10 - (*TTable)(unsafe.Pointer(p)).FnCol = v10 + v12 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol + (*TTable)(unsafe.Pointer(p)).FnNVCol = v12 + (*TTable)(unsafe.Pointer(p)).FnCol = v12 (*TTable)(unsafe.Pointer(p)).FaCol = (*TTable)(unsafe.Pointer(pSelTab)).FaCol (*TTable)(unsafe.Pointer(pSelTab)).FnCol = 0 (*TTable)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) @@ -102446,33 +102884,33 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr addrInsLoop = _sqlite3VdbeAddOp1(tls, v, int32(OP_Yield), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSDParm) _sqlite3VdbeAddOp3(tls, v, int32(OP_MakeRecord), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst, (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst, regRec) _sqlite3TableAffinity(tls, v, p, 0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), int32(1), regRowid) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), int32(1), regRec, regRowid) + _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iCsr, regRowid) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iCsr, regRec, regRowid) _sqlite3VdbeGoto(tls, v, addrInsLoop) _sqlite3VdbeJumpHere(tls, v, addrInsLoop) - _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), int32(1)) + _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), iCsr) } /* Compute the complete text of the CREATE statement */ if pSelect != 0 { zStmt = _createTableStmt(tls, db, p) } else { if tabOpts != 0 { - v11 = pParse + 288 + v13 = pParse + 288 } else { - v11 = pEnd + v13 = pEnd } - pEnd2 = v11 + pEnd2 = v13 n = int32(int64((*TToken)(unsafe.Pointer(pEnd2)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) if int32(*(*int8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pEnd2)).Fz))) != int32(';') { n = int32(uint32(n) + (*TToken)(unsafe.Pointer(pEnd2)).Fn) } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13685, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13810, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13700, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13825, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) _sqlite3DbFree(tls, db, zStmt) _sqlite3ChangeCookie(tls, pParse, iDb) /* Check to see if we need to create an sqlite_sequence table for @@ -102481,17 +102919,16 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != uint32(0) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != libc.Int32FromInt32(PARSE_MODE_NORMAL)) { pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13798, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13923, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) } } /* Reparse everything to update our internal data structures */ - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13840, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13965, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) /* Test for cycles in generated columns and illegal expressions ** in CHECK constraints and in DEFAULT clauses. */ if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasGenerated) != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13874, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(0x0001), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13999, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13895, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } /* Add the table to the in-memory representation of the database. */ @@ -102508,7 +102945,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* If this is the magic sqlite_sequence table used by autoincrement, ** then record a pointer to this table in the main database structure ** so that INSERT can find the table easily. */ - if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9928) == 0 { + if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+10053) == 0 { (*TSchema)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } } @@ -102541,7 +102978,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*uintptr)(unsafe.Pointer(bp + 112)) = uintptr(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if int32((*TParse)(unsafe.Pointer(pParse)).FnVar) > 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13927, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14020, 0) goto create_view_fail } _sqlite3StartTable(tls, pParse, pName1, pName2, isTemp, int32(1), 0, noErr) @@ -102558,7 +102995,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(TF_NoVisibleRowid) /* Never allow rowid in view */ _sqlite3TwoPartName(tls, pParse, pName1, pName2, bp+112) iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(p)).FpSchema) - _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+11144, *(*uintptr)(unsafe.Pointer(bp + 112))) + _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+11269, *(*uintptr)(unsafe.Pointer(bp + 112))) if _sqlite3FixSelect(tls, bp+16, pSelect) != 0 { goto create_view_fail } @@ -102654,7 +103091,7 @@ func _viewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) (r int32 ** SELECT * FROM temp.ex1; */ if int32((*TTable)(unsafe.Pointer(pTable)).FnCol) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13963, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14056, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) return int32(1) } /* If we get this far, it means we need to compute the table names. @@ -102838,7 +103275,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { v = _sqlite3GetVdbe(tls, pParse) r1 = _sqlite3GetTempReg(tls, pParse) if iTable < int32(2) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13993, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14086, 0) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Destroy), iTable, r1, iDb) _sqlite3MayAbort(tls, pParse) @@ -102851,7 +103288,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { ** is in register NNN. See grammar rules associated with the TK_REGISTER ** token for additional information. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14008, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14101, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) _sqlite3ReleaseTempReg(tls, pParse, r1) } @@ -102934,9 +103371,9 @@ func _sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uin if !(i <= int32(4)) { break } - Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+14075, libc.VaList(bp+32, i)) + Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+14168, libc.VaList(bp+32, i)) if _sqlite3FindTable(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, bp, zDbName) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+12033, libc.VaList(bp+32, zDbName, bp, zType, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+12158, libc.VaList(bp+32, zDbName, bp, zType, zName)) } goto _1 _1: @@ -102977,7 +103414,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** move as a result of the drop (can happen in auto-vacuum mode). */ if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14089, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14182, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* Drop all entries in the schema table that refer to the ** table. The program name loops through the schema table and deletes @@ -102986,7 +103423,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** created in the temp database that refers to a table in another ** database. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14134, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14227, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { _destroyTable(tls, pParse, pTab) } @@ -103021,11 +103458,11 @@ func _sqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) (r int32) { // ** Return true if it is not allowed to drop the given table // */ func _tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) (r int32) { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6873, int32(7)) == 0 { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3420, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6937, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3484, int32(4)) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7614, int32(10)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7739, int32(10)) == 0 { return 0 } return int32(1) @@ -103080,9 +103517,9 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6881 + v1 = __ccgo_ts + 6945 } else { - v1 = __ccgo_ts + 6414 + v1 = __ccgo_ts + 6478 } zTab = v1 zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName @@ -103115,18 +103552,18 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if _tableMayNotBeDropped(tls, db, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14201, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14294, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Ensure DROP TABLE is not used on a view, and DROP VIEW is not used ** on a table. */ if isView != 0 && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14229, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14322, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } if !(isView != 0) && int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14263, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14356, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Generate code to remove the table from the schema table @@ -103136,7 +103573,7 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) if !(isView != 0) { - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+12145, (*TTable)(unsafe.Pointer(pTab)).FzName) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+12270, (*TTable)(unsafe.Pointer(pTab)).FzName) _sqlite3FkDropTable(tls, pParse, pName, pTab) } _sqlite3CodeDropTable(tls, pParse, pTab, iDb, isView) @@ -103184,13 +103621,13 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p goto fk_end } if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14295, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14388, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) goto fk_end } nCol = int32(1) } else { if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14358, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14451, 0) goto fk_end } else { nCol = (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr @@ -103253,7 +103690,7 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p j++ } if j >= int32((*TTable)(unsafe.Pointer(p)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14452, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14545, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) goto fk_end } if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { @@ -103513,11 +103950,11 @@ func _sqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) (r i if int32(uint32(*(*uint16)(unsafe.Pointer(pList + 8 + uintptr(i)*32 + 16 + 4))&0x20>>5)) != 0 { sf = (*(*TExprList_item)(unsafe.Pointer(pList + 8 + uintptr(i)*32))).Ffg.FsortFlags if int32(sf) == 0 || int32(sf) == int32(3) { - v2 = __ccgo_ts + 14498 + v2 = __ccgo_ts + 14591 } else { - v2 = __ccgo_ts + 14504 + v2 = __ccgo_ts + 14597 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14509, libc.VaList(bp+8, v2)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14602, libc.VaList(bp+8, v2)) return int32(1) } goto _1 @@ -103595,7 +104032,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = int32(1) } } - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14537, *(*uintptr)(unsafe.Pointer(bp + 96))) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14630, *(*uintptr)(unsafe.Pointer(bp + 96))) if _sqlite3FixSrcList(tls, bp, pTblName) != 0 { /* Because the parser constructs pTblName from a single identifier, ** sqlite3FixSrcList can never fail. */ @@ -103605,7 +104042,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } if iDb == int32(1) && (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema != (*TTable)(unsafe.Pointer(pTab)).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14543, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14636, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if !((*TTable)(unsafe.Pointer(pTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { @@ -103619,16 +104056,16 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) } pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6873, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14593, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6937, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14686, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14621, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14714, 0) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14646, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14739, 0) goto exit_create_index } /* @@ -103649,19 +104086,19 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if zName == uintptr(0) { goto exit_create_index } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14537, (*TTable)(unsafe.Pointer(pTab)).FzName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14630, (*TTable)(unsafe.Pointer(pTab)).FzName) { goto exit_create_index } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if !((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0) { if _sqlite3FindTable(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14680, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14773, libc.VaList(bp+136, zName)) goto exit_create_index } } if _sqlite3FindIndex(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { if !(ifNotExist != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14714, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14807, libc.VaList(bp+136, zName)) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) _sqlite3ForceNotReadOnly(tls, pParse) @@ -103682,7 +104119,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pLoop = (*TIndex)(unsafe.Pointer(pLoop)).FpNext n++ } - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14738, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14831, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) if zName == uintptr(0) { goto exit_create_index } @@ -103700,9 +104137,9 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { zDb = (*TDb)(unsafe.Pointer(pDb)).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6881 + v2 = __ccgo_ts + 6945 } else { - v2 = __ccgo_ts + 6414 + v2 = __ccgo_ts + 6478 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v2, uintptr(0), zDb) != 0 { goto exit_create_index @@ -103730,7 +104167,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } _sqlite3ExprListSetSortOrder(tls, pList, sortOrder, -int32(1)) } else { - _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14537) + _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14630) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { goto exit_create_index } @@ -103814,7 +104251,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pCExpr = _sqlite3ExprSkipCollate(tls, (*TExprList_item)(unsafe.Pointer(pListItem)).FpExpr) if int32((*TExpr)(unsafe.Pointer(pCExpr)).Fop) != int32(TK_COLUMN) { if pTab == (*TParse)(unsafe.Pointer(pParse)).FpNewTable { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14761, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14854, 0) goto exit_create_index } if (*TIndex)(unsafe.Pointer(pIndex)).FaColExpr == uintptr(0) { @@ -103961,7 +104398,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u ** explicitly specified behavior for the index. */ if !(int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) || int32((*TIndex)(unsafe.Pointer(pIndex)).FonError) == int32(OE_Default)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14822, libc.VaList(bp+136, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14915, libc.VaList(bp+136, 0)) } if int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) { (*TIndex)(unsafe.Pointer(pIdx)).FonError = (*TIndex)(unsafe.Pointer(pIndex)).FonError @@ -103991,8 +104428,8 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != uintptr(0) { (*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14864, 0) - (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125123)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14957, 0) + (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125741)) goto exit_create_index } } @@ -104032,11 +104469,11 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* A named index with an explicit CREATE INDEX statement */ if onError == OE_None { - v13 = __ccgo_ts + 1650 + v13 = __ccgo_ts + 1664 } else { - v13 = __ccgo_ts + 14881 + v13 = __ccgo_ts + 14974 } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14889, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14982, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) } else { /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ /* zStmt = sqlite3MPrintf(""); */ @@ -104044,7 +104481,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* Add an entry in sqlite_schema for this index */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14909, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+15002, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) _sqlite3DbFree(tls, db, zStmt) /* Fill the index with data and reparse the schema. Code an OP_Expire ** to invalidate all pre-compiled statements. @@ -104052,7 +104489,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != 0 { _sqlite3RefillIndex(tls, pParse, pIndex, iMem) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14968, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+15061, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Expire), 0, int32(1)) } _sqlite3VdbeJumpHere(tls, v, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum)) @@ -104215,7 +104652,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pIndex = _sqlite3FindIndex(tls, db, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzName, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) if pIndex == uintptr(0) { if !(ifExists != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14995, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15088, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) _sqlite3ForceNotReadOnly(tls, pParse) @@ -104224,7 +104661,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in goto exit_drop_index } if int32(uint32(*(*uint16)(unsafe.Pointer(pIndex + 100))&0x3>>0)) != SQLITE_IDXTYPE_APPDEF { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15013, libc.VaList(bp+8, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15106, libc.VaList(bp+8, 0)) goto exit_drop_index } iDb = _sqlite3SchemaToIndex(tls, db, (*TIndex)(unsafe.Pointer(pIndex)).FpSchema) @@ -104232,9 +104669,9 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pTab = (*TIndex)(unsafe.Pointer(pIndex)).FpTable zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6881 + v1 = __ccgo_ts + 6945 } else { - v1 = __ccgo_ts + 6414 + v1 = __ccgo_ts + 6478 } zTab = v1 if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_DELETE), zTab, uintptr(0), zDb) != 0 { @@ -104250,8 +104687,8 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in v = _sqlite3GetVdbe(tls, pParse) if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+15086, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+12141, (*TIndex)(unsafe.Pointer(pIndex)).FzName) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+15179, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+12266, (*TIndex)(unsafe.Pointer(pIndex)).FzName) _sqlite3ChangeCookie(tls, pParse, iDb) _destroyRootPage(tls, pParse, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum), iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropIndex), iDb, 0, 0, (*TIndex)(unsafe.Pointer(pIndex)).FzName, 0) @@ -104442,7 +104879,7 @@ func _sqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra nAlloc = int64(2)*int64((*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) + int64(nExtra) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc+nExtra >= int32(SQLITE_MAX_SRCLIST) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15146, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15239, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) return uintptr(0) } if nAlloc > int64(SQLITE_MAX_SRCLIST) { @@ -104674,11 +105111,11 @@ func _sqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa db = (*TParse)(unsafe.Pointer(pParse)).Fdb if !(p != 0) && pOnUsing != uintptr(0) && ((*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 || (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpUsing != 0) { if (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 { - v1 = __ccgo_ts + 15182 + v1 = __ccgo_ts + 15275 } else { - v1 = __ccgo_ts + 15185 + v1 = __ccgo_ts + 15278 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15191, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15284, libc.VaList(bp+8, v1)) goto append_from_error } p = _sqlite3SrcListAppend(tls, pParse, p, pTable, pDatabase) @@ -104876,7 +105313,7 @@ func _sqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { var eTxnType, i int32 _, _, _, _, _ = db, eTxnType, i, pBt, v db = (*TParse)(unsafe.Pointer(pParse)).Fdb - if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+15227, uintptr(0), uintptr(0)) != 0 { + if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+15320, uintptr(0), uintptr(0)) != 0 { return } v = _sqlite3GetVdbe(tls, pParse) @@ -104923,9 +105360,9 @@ func _sqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { _, _, _ = isRollback, v, v1 isRollback = libc.BoolInt32(eType == int32(TK_ROLLBACK)) if isRollback != 0 { - v1 = __ccgo_ts + 15233 + v1 = __ccgo_ts + 15326 } else { - v1 = __ccgo_ts + 15242 + v1 = __ccgo_ts + 15335 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), v1, uintptr(0), uintptr(0)) != 0 { return @@ -104957,9 +105394,9 @@ func _sqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } var _az = [3]uintptr{ - 0: __ccgo_ts + 15227, - 1: __ccgo_ts + 15249, - 2: __ccgo_ts + 15233, + 0: __ccgo_ts + 15320, + 1: __ccgo_ts + 15342, + 2: __ccgo_ts + 15326, } // C documentation @@ -104979,7 +105416,7 @@ func _sqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) (r int32) { if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt == uintptr(0) && !((*TParse)(unsafe.Pointer(pParse)).Fexplain != 0) { rc = _sqlite3BtreeOpen(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp, 0, _flags) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15257, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15350, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = rc return int32(1) } @@ -105163,7 +105600,7 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable _sqlite3StrAccumInit(tls, bp, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136))) if (*TIndex)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15327, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15420, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) } else { j = 0 for { @@ -105172,10 +105609,10 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx } zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*16))).FzCnName if j != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+15338, int32(2)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+15431, int32(2)) } Xsqlite3_str_appendall(tls, bp, (*TTable)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp, __ccgo_ts+1663, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+1677, int32(1)) Xsqlite3_str_appendall(tls, bp, zCol) goto _1 _1: @@ -105204,10 +105641,10 @@ func _sqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr _, _ = rc, zMsg if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12729, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12854, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(6)< libc.BoolInt32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15457, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15550, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } return 0 } @@ -106310,11 +106747,11 @@ func _sqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger ui bp := tls.Alloc(16) defer tls.Free(16) if _tabIsReadOnly(tls, pParse, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15490, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15583, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && (pTrigger == uintptr(0) || (*TTrigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 && (*TTrigger)(unsafe.Pointer(pTrigger)).FpNext == uintptr(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15519, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15612, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -106717,7 +107154,7 @@ func _sqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** invoke the callback function. */ if memCnt != 0 { - _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15557) + _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15650) } goto delete_from_cleanup delete_from_cleanup: @@ -106865,7 +107302,7 @@ func _sqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri v3 = 0 } _sqlite3VdbeAddOp2(tls, v, int32(OP_Delete), iDataCur, v3) - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11930) { + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+12055) { _sqlite3VdbeAppendP4(tls, v, pTab, -int32(5)) } if int32(eMode) != ONEPASS_OFF { @@ -107169,11 +107606,11 @@ func _typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } var _azType2 = [5]uintptr{ - 0: __ccgo_ts + 6654, - 1: __ccgo_ts + 6649, - 2: __ccgo_ts + 8545, - 3: __ccgo_ts + 8540, - 4: __ccgo_ts + 1636, + 0: __ccgo_ts + 6718, + 1: __ccgo_ts + 6713, + 2: __ccgo_ts + 8670, + 3: __ccgo_ts + 8665, + 4: __ccgo_ts + 1650, } // C documentation @@ -107287,7 +107724,7 @@ func _absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* IMP: R-31676-45509 If X is the integer -9223372036854775808 ** then abs(X) throws an integer overflow error since there is no ** equivalent positive 64-bit two complement value. */ - Xsqlite3_result_error(tls, context, __ccgo_ts+15570, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15663, -int32(1)) return } iVal = -iVal @@ -107602,7 +108039,7 @@ func _roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } *(*float64)(unsafe.Pointer(bp)) = float64(int64(*(*float64)(unsafe.Pointer(bp)) + v1)) } else { - zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15587, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) + zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15680, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -108182,7 +108619,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { */ nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer(db + 136 + 8*4)) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15593, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15686, -int32(1)) return } if argc == int32(3) { @@ -108194,7 +108631,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { return } if _sqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), -int32(1)) != int32(1) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15626, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15719, -int32(1)) return } escape = _sqlite3Utf8Read(tls, bp+8) @@ -108276,7 +108713,7 @@ func _errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { defer tls.Free(16) _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // C documentation @@ -108363,17 +108800,17 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_FLOAT): r1 = Xsqlite3_value_double(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15671, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15764, libc.VaList(bp+16, r1)) zVal = Xsqlite3_str_value(tls, pStr) if zVal != 0 { _sqlite3AtoF(tls, zVal, bp, int32((*TStrAccum)(unsafe.Pointer(pStr)).FnChar), uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp)) { Xsqlite3_str_reset(tls, pStr) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15679, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15772, libc.VaList(bp+16, r1)) } } case int32(SQLITE_INTEGER): - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1406, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1425, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) case int32(SQLITE_BLOB): zBlob = Xsqlite3_value_blob(tls, pValue) nBlob = int64(Xsqlite3_value_bytes(tls, pValue)) @@ -108401,9 +108838,9 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { } case int32(SQLITE_TEXT): zArg = Xsqlite3_value_text(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15687, libc.VaList(bp+16, zArg)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15780, libc.VaList(bp+16, zArg)) default: - Xsqlite3_str_append(tls, pStr, __ccgo_ts+1651, int32(4)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+1665, int32(4)) break } } @@ -108640,7 +109077,7 @@ func _unhexFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { var v3 uint32 var _ /* zHex at bp+0 */ uintptr _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ch, d, nHex, nPass, p, pBlob, zPass, v1, v2, v3, v4, v5, v6 - zPass = __ccgo_ts + 1650 + zPass = __ccgo_ts + 1664 nPass = 0 *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) nHex = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -108953,7 +109390,7 @@ var _lenOne = [1]uint32{ } var _azOne = [1]uintptr{ - 0: __ccgo_ts + 11550, + 0: __ccgo_ts + 11675, } // C documentation @@ -109021,7 +109458,7 @@ func _concatFuncCore(tls *libc.TLS, context uintptr, argc int32, argv uintptr, n // ** concatentation of all non-null arguments. // */ func _concatFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1650) + _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1664) } // C documentation @@ -109067,7 +109504,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { _, _, _, _, _, _, _ = code, i, j, prevcode, zIn, v3, v4 zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = __ccgo_ts + 1650 + zIn = __ccgo_ts + 1664 } i = 0 for { @@ -109113,7 +109550,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { /* IMP: R-64894-50321 The string "?000" is returned if the argument ** is NULL or contains no ASCII alphabetic characters. */ - Xsqlite3_result_text(tls, context, __ccgo_ts+15690, int32(4), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, context, __ccgo_ts+15783, int32(4), libc.UintptrFromInt32(0)) } } @@ -109174,7 +109611,7 @@ func _loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { ** flag is set. See the sqlite3_enable_load_extension() API. */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_LoadExtFunc) == uint64(0) { - Xsqlite3_result_error(tls, context, __ccgo_ts+12768, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+12893, -int32(1)) return } if argc == int32(2) { @@ -109363,7 +109800,7 @@ func _sumFinalize(tls *libc.TLS, context uintptr) { if p != 0 && (*TSumCtx)(unsafe.Pointer(p)).Fcnt > 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fapprox != 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fovrfl != 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+15570, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15663, -int32(1)) } else { if !(_sqlite3IsOverflow(tls, (*TSumCtx)(unsafe.Pointer(p)).FrErr) != 0) { Xsqlite3_result_double(tls, context, (*TSumCtx)(unsafe.Pointer(p)).FrSum+(*TSumCtx)(unsafe.Pointer(p)).FrErr) @@ -109705,7 +110142,7 @@ func _groupConcatValue(tls *libc.TLS, context uintptr) { func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { var rc int32 _ = rc - rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15695, int32(2)) + rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15788, int32(2)) if rc == int32(SQLITE_NOMEM) { _sqlite3OomFault(tls, db) } @@ -109734,8 +110171,8 @@ func _sqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 if !(nArg <= int32(3)) { break } - _sqlite3CreateFunc(tls, db, __ccgo_ts+15701, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15701, nArg, uint8(SQLITE_UTF8), uint8(0)) + _sqlite3CreateFunc(tls, db, __ccgo_ts+15794, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15794, nArg, uint8(SQLITE_UTF8), uint8(0)) *(*Tu32)(unsafe.Pointer(pDef + 4)) |= uint32(flags) *(*Tu32)(unsafe.Pointer(pDef + 4)) &= uint32(^libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)) goto _1 @@ -110041,562 +110478,562 @@ var _aBuiltinFunc = [110]TFuncDef{ FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_implies_nonnull_row))), - FzName: __ccgo_ts + 15706, + FzName: __ccgo_ts + 15799, }, 1: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_compare))), - FzName: __ccgo_ts + 15726, + FzName: __ccgo_ts + 15819, }, 2: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_implies_expr))), - FzName: __ccgo_ts + 15739, + FzName: __ccgo_ts + 15832, }, 3: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_affinity))), - FzName: __ccgo_ts + 15757, + FzName: __ccgo_ts + 15850, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15766, + FzName: __ccgo_ts + 15859, }, 5: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15774, + FzName: __ccgo_ts + 15867, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15774, + FzName: __ccgo_ts + 15867, }, 7: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15789, + FzName: __ccgo_ts + 15882, }, 8: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15815, + FzName: __ccgo_ts + 15908, }, 9: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15840, + FzName: __ccgo_ts + 15933, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15849, + FzName: __ccgo_ts + 15942, }, 11: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15860, + FzName: __ccgo_ts + 15953, }, 12: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_sqlite_offset))), - FzName: __ccgo_ts + 15867, + FzName: __ccgo_ts + 15960, }, 13: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15881, + FzName: __ccgo_ts + 15974, }, 14: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15881, + FzName: __ccgo_ts + 15974, }, 15: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15887, + FzName: __ccgo_ts + 15980, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15887, + FzName: __ccgo_ts + 15980, }, 17: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15893, + FzName: __ccgo_ts + 15986, }, 18: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15893, + FzName: __ccgo_ts + 15986, }, 19: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15898, + FzName: __ccgo_ts + 15991, }, 20: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15898, + FzName: __ccgo_ts + 15991, }, 21: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15898, + FzName: __ccgo_ts + 15991, }, 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15902, + FzName: __ccgo_ts + 15995, }, 23: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15902, + FzName: __ccgo_ts + 15995, }, 24: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15902, + FzName: __ccgo_ts + 15995, }, 25: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15906, + FzName: __ccgo_ts + 15999, }, 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15913, + FzName: __ccgo_ts + 16006, }, 27: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_LENGTH)), - FzName: __ccgo_ts + 15921, + FzName: __ccgo_ts + 16014, }, 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_BYTELEN)), - FzName: __ccgo_ts + 15928, + FzName: __ccgo_ts + 16021, }, 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15941, + FzName: __ccgo_ts + 16034, }, 30: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15947, + FzName: __ccgo_ts + 16040, }, 31: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15954, + FzName: __ccgo_ts + 16047, }, 32: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15961, + FzName: __ccgo_ts + 16054, }, 33: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15969, + FzName: __ccgo_ts + 16062, }, 34: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15974, + FzName: __ccgo_ts + 16067, }, 35: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15978, + FzName: __ccgo_ts + 16071, }, 36: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15978, + FzName: __ccgo_ts + 16071, }, 37: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15984, + FzName: __ccgo_ts + 16077, }, 38: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15990, + FzName: __ccgo_ts + 16083, }, 39: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15996, + FzName: __ccgo_ts + 16089, }, 40: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16000, + FzName: __ccgo_ts + 16093, }, 41: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16000, + FzName: __ccgo_ts + 16093, }, 42: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16006, + FzName: __ccgo_ts + 16099, }, 43: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16006, + FzName: __ccgo_ts + 16099, }, 44: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16013, + FzName: __ccgo_ts + 16106, }, 45: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16013, + FzName: __ccgo_ts + 16106, }, 46: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16013, + FzName: __ccgo_ts + 16106, }, 47: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16023, + FzName: __ccgo_ts + 16116, }, 48: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16030, + FzName: __ccgo_ts + 16123, }, 49: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16037, + FzName: __ccgo_ts + 16130, }, 50: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16048, + FzName: __ccgo_ts + 16141, }, 51: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16055, + FzName: __ccgo_ts + 16148, }, 52: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16070, + FzName: __ccgo_ts + 16163, }, 53: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16087, + FzName: __ccgo_ts + 16180, }, 54: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16098, + FzName: __ccgo_ts + 16191, }, 55: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16104, + FzName: __ccgo_ts + 16197, }, 56: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16122, + FzName: __ccgo_ts + 16215, }, 57: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16130, + FzName: __ccgo_ts + 16223, }, 58: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16144, + FzName: __ccgo_ts + 16237, }, 59: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16152, + FzName: __ccgo_ts + 16245, }, 60: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16161, + FzName: __ccgo_ts + 16254, }, 61: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16161, + FzName: __ccgo_ts + 16254, }, 62: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16168, + FzName: __ccgo_ts + 16261, }, 63: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16168, + FzName: __ccgo_ts + 16261, }, 64: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16178, + FzName: __ccgo_ts + 16271, }, 65: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16182, + FzName: __ccgo_ts + 16275, }, 66: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16188, + FzName: __ccgo_ts + 16281, }, 67: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_COUNT) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 16192, + FzName: __ccgo_ts + 16285, }, 68: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 16192, + FzName: __ccgo_ts + 16285, }, 69: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16198, + FzName: __ccgo_ts + 16291, }, 70: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16198, + FzName: __ccgo_ts + 16291, }, 71: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16211, + FzName: __ccgo_ts + 16304, }, 72: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE) | libc.Int32FromInt32(SQLITE_FUNC_CASE)), FpUserData: uintptr(unsafe.Pointer(&_globInfo)), - FzName: __ccgo_ts + 16222, + FzName: __ccgo_ts + 16315, }, 73: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15701, + FzName: __ccgo_ts + 15794, }, 74: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15701, + FzName: __ccgo_ts + 15794, }, 75: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 7078, + FzName: __ccgo_ts + 7142, }, 76: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 7078, + FzName: __ccgo_ts + 7142, }, 77: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16227, + FzName: __ccgo_ts + 16320, }, 78: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16232, + FzName: __ccgo_ts + 1237, }, 79: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16240, + FzName: __ccgo_ts + 1245, }, 80: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16246, + FzName: __ccgo_ts + 16325, }, 81: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16252, + FzName: __ccgo_ts + 16331, }, 82: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 16255, + FzName: __ccgo_ts + 16334, }, 83: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 16259, + FzName: __ccgo_ts + 16338, }, 84: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 16265, + FzName: __ccgo_ts + 16344, }, 85: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16255, + FzName: __ccgo_ts + 16334, }, 86: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16270, + FzName: __ccgo_ts + 16349, }, 87: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16274, + FzName: __ccgo_ts + 16353, }, 88: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16278, + FzName: __ccgo_ts + 16357, }, 89: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16284, + FzName: __ccgo_ts + 16363, }, 90: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16288, + FzName: __ccgo_ts + 16367, }, 91: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16293, + FzName: __ccgo_ts + 16372, }, 92: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16298, + FzName: __ccgo_ts + 16377, }, 93: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16303, + FzName: __ccgo_ts + 16382, }, 94: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16309, + FzName: __ccgo_ts + 16388, }, 95: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16313, + FzName: __ccgo_ts + 16392, }, 96: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16317, + FzName: __ccgo_ts + 16396, }, 97: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16321, + FzName: __ccgo_ts + 16400, }, 98: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16326, + FzName: __ccgo_ts + 16405, }, 99: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16331, + FzName: __ccgo_ts + 16410, }, 100: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16336, + FzName: __ccgo_ts + 16415, }, 101: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16342, + FzName: __ccgo_ts + 16421, }, 102: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16348, + FzName: __ccgo_ts + 16427, }, 103: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16354, + FzName: __ccgo_ts + 16433, }, 104: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16359, + FzName: __ccgo_ts + 16438, }, 105: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16367, + FzName: __ccgo_ts + 16446, }, 106: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16375, + FzName: __ccgo_ts + 16454, }, 107: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16378, + FzName: __ccgo_ts + 16457, }, 108: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 7078, + FzName: __ccgo_ts + 7142, }, 109: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_iif))), - FzName: __ccgo_ts + 16383, + FzName: __ccgo_ts + 16462, }, } @@ -111073,7 +111510,7 @@ func _sqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey } if !(pIdx != 0) { if !((*TParse)(unsafe.Pointer(pParse)).FdisableTriggers != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16387, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16466, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) } _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, aiCol) return int32(1) @@ -112184,11 +112621,11 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr break } *(*TToken)(unsafe.Pointer(bp + 16)) = TToken{ - Fz: __ccgo_ts + 6944, + Fz: __ccgo_ts + 7008, Fn: uint32(3), } /* Literal "old" token */ *(*TToken)(unsafe.Pointer(bp + 32)) = TToken{ - Fz: __ccgo_ts + 6940, + Fz: __ccgo_ts + 7004, Fn: uint32(3), } /* tFromCol = OLD.tToCol */ if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { @@ -112252,7 +112689,7 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr nFrom = _sqlite3Strlen30(tls, zFrom) if action == int32(OE_Restrict) { iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5573) + pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5637) if pRaise != 0 { (*TExpr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -112833,7 +113270,7 @@ func _sqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8510, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8635, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) } (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -113094,6 +113531,219 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { } } +// C documentation +// +// /* +// ** If argument pVal is a Select object returned by an sqlite3MultiValues() +// ** that was able to use the co-routine optimization, finish coding the +// ** co-routine. +// */ +func _sqlite3MultiValuesEnd(tls *libc.TLS, pParse uintptr, pVal uintptr) { + var pItem uintptr + _ = pItem + if pVal != 0 && (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pVal)).FpSrc)).FnSrc > 0 { + pItem = (*TSelect)(unsafe.Pointer(pVal)).FpSrc + 8 + _sqlite3VdbeEndCoroutine(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn) + _sqlite3VdbeJumpHere(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FaddrFillSub-int32(1)) + } +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are constant. +// */ +func _exprListIsConstant(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + if 0 == _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are both constant and have no affinity. +// */ +func _exprListIsNoAffinity(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + var pExpr uintptr + _, _ = ii, pExpr + if _exprListIsConstant(tls, pParse, pRow) == 0 { + return 0 + } + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + pExpr = (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr + if 0 != int32(_sqlite3ExprAffinity(tls, pExpr)) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** This function is called by the parser for the second and subsequent +// ** rows of a multi-row VALUES clause. Argument pLeft is the part of +// ** the VALUES clause already parsed, argument pRow is the vector of values +// ** for the new row. The Select object returned represents the complete +// ** VALUES clause, including the new row. +// ** +// ** There are two ways in which this may be achieved - by incremental +// ** coding of a co-routine (the "co-routine" method) or by returning a +// ** Select object equivalent to the following (the "UNION ALL" method): +// ** +// ** "pLeft UNION ALL SELECT pRow" +// ** +// ** If the VALUES clause contains a lot of rows, this compound Select +// ** object may consume a lot of memory. +// ** +// ** When the co-routine method is used, each row that will be returned +// ** by the VALUES clause is coded into part of a co-routine as it is +// ** passed to this function. The returned Select object is equivalent to: +// ** +// ** SELECT * FROM ( +// ** Select object to read co-routine +// ** ) +// ** +// ** The co-routine method is used in most cases. Exceptions are: +// ** +// ** a) If the current statement has a WITH clause. This is to avoid +// ** statements like: +// ** +// ** WITH cte AS ( VALUES('x'), ('y') ... ) +// ** SELECT * FROM cte AS a, cte AS b; +// ** +// ** This will not work, as the co-routine uses a hard-coded register +// ** for its OP_Yield instructions, and so it is not possible for two +// ** cursors to iterate through it concurrently. +// ** +// ** b) The schema is currently being parsed (i.e. the VALUES clause is part +// ** of a schema item like a VIEW or TRIGGER). In this case there is no VM +// ** being generated when parsing is taking place, and so generating +// ** a co-routine is not possible. +// ** +// ** c) There are non-constant expressions in the VALUES clause (e.g. +// ** the VALUES clause is part of a correlated sub-query). +// ** +// ** d) One or more of the values in the first row of the VALUES clause +// ** has an affinity (i.e. is a CAST expression). This causes problems +// ** because the complex rules SQLite uses (see function +// ** sqlite3SubqueryColumnTypes() in select.c) to determine the effective +// ** affinity of such a column for all rows require access to all values in +// ** the column simultaneously. +// */ +func _sqlite3MultiValues(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRow uintptr) (r uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var f, v1 int32 + var p, pRet, pSelect, v, v2 uintptr + var _ /* dest at bp+0 */ TSelectDest + _, _, _, _, _, _, _ = f, p, pRet, pSelect, v, v1, v2 + if (*TParse)(unsafe.Pointer(pParse)).FbHasWith != 0 || (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy != 0 || _exprListIsConstant(tls, pParse, pRow) == 0 || (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 && _exprListIsNoAffinity(tls, pParse, (*TSelect)(unsafe.Pointer(pLeft)).FpEList) == 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { + /* The co-routine method cannot be used. Fall back to UNION ALL. */ + pSelect = uintptr(0) + f = libc.Int32FromInt32(SF_Values) | libc.Int32FromInt32(SF_MultiValue) + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc != 0 { + _sqlite3MultiValuesEnd(tls, pParse, pLeft) + f = int32(SF_Values) + } else { + if (*TSelect)(unsafe.Pointer(pLeft)).FpPrior != 0 { + /* In this case set the SF_MultiValue flag only if it was set on pLeft */ + f = int32(uint32(f) & (*TSelect)(unsafe.Pointer(pLeft)).FselFlags) + } + } + pSelect = _sqlite3SelectNew(tls, pParse, pRow, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(f), uintptr(0)) + *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) + if pSelect != 0 { + (*TSelect)(unsafe.Pointer(pSelect)).Fop = uint8(TK_ALL) + (*TSelect)(unsafe.Pointer(pSelect)).FpPrior = pLeft + pLeft = pSelect + } + } else { + p = uintptr(0) /* SrcItem that reads from co-routine */ + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 { + /* Co-routine has not yet been started and the special Select object + ** that accesses the co-routine has not yet been created. This block + ** does both those things. */ + v = _sqlite3GetVdbe(tls, pParse) + pRet = _sqlite3SelectNew(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) + /* Ensure the database schema has been read. This is to ensure we have + ** the correct text encoding. */ + if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmDbFlags&uint32(DBFLAG_SchemaKnownOk) == uint32(0) { + _sqlite3ReadSchema(tls, pParse) + } + if pRet != 0 { + (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pRet)).FpSrc)).FnSrc = int32(1) + (*TSelect)(unsafe.Pointer(pRet)).FpPrior = (*TSelect)(unsafe.Pointer(pLeft)).FpPrior + (*TSelect)(unsafe.Pointer(pRet)).Fop = (*TSelect)(unsafe.Pointer(pLeft)).Fop + (*TSelect)(unsafe.Pointer(pLeft)).FpPrior = uintptr(0) + (*TSelect)(unsafe.Pointer(pLeft)).Fop = uint8(TK_SELECT) + p = (*TSelect)(unsafe.Pointer(pRet)).FpSrc + 8 + (*TSrcItem)(unsafe.Pointer(p)).FpSelect = pLeft + libc.SetBitFieldPtr16Uint32(p+60+4, libc.Uint32FromInt32(1), 5, 0x20) + (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + v2 = pParse + 56 + *(*int32)(unsafe.Pointer(v2))++ + v1 = *(*int32)(unsafe.Pointer(v2)) + (*TSrcItem)(unsafe.Pointer(p)).FregReturn = v1 + (*TSrcItem)(unsafe.Pointer(p)).FiCursor = -int32(1) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1)) = uint32(2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn, 0, (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub) + _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + /* Allocate registers for the output of the co-routine. Do so so + ** that there are two unused registers immediately before those + ** used by the co-routine. This allows the code in sqlite3Insert() + ** to use these registers directly, instead of copying the output + ** of the co-routine to a separate array for processing. */ + (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(3) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpEList)).FnExpr + *(*int32)(unsafe.Pointer(pParse + 56)) += int32(2) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst + *(*Tu32)(unsafe.Pointer(pLeft + 4)) |= uint32(SF_MultiValue) + _sqlite3Select(tls, pParse, pLeft, bp) + (*TSrcItem)(unsafe.Pointer(p)).FregResult = (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst + pLeft = pRet + } + } else { + p = (*TSelect)(unsafe.Pointer(pLeft)).FpSrc + 8 + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1))++ + } + if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { + if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p)).FpSelect)).FpEList)).FnExpr != (*TExprList)(unsafe.Pointer(pRow)).FnExpr { + _sqlite3SelectWrongNumTermsError(tls, pParse, (*TSrcItem)(unsafe.Pointer(p)).FpSelect) + } else { + _sqlite3ExprCodeExprList(tls, pParse, pRow, (*TSrcItem)(unsafe.Pointer(p)).FregResult, 0, uint8(0)) + _sqlite3VdbeAddOp1(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Yield), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + } + } + _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pRow) + } + return pLeft +} + // C documentation // // /* @@ -113196,27 +113846,27 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { bp := tls.Alloc(160) defer tls.Free(160) - var aRegIdx, db, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, v, v13, v16, v18, v6, v9 uintptr - var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v12, v15, v17, v19, v23, v24, v5, v7, v8 int32 + var aRegIdx, db, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, v, v10, v14, v17, v19, v7 uintptr + var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v13, v16, v18, v20, v24, v25, v5, v6, v8, v9 int32 var appendFlag, bIdListInOrder, useTempTable, withoutRowid Tu8 - var colFlags, v21 Tu32 + var colFlags, v22 Tu32 var _ /* dest at bp+8 */ TSelectDest var _ /* iDataCur at bp+0 */ int32 var _ /* iIdxCur at bp+4 */ int32 var _ /* isReplace at bp+112 */ int32 var _ /* sNC at bp+56 */ TNameContext var _ /* tmask at bp+48 */ int32 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v12, v13, v15, v16, v17, v18, v19, v21, v23, v24, v5, v6, v7, v8, v9 /* Number of columns in the data */ - nHidden = 0 /* Number of hidden columns if TABLE is virtual */ - *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ - *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ - ipkColumn = -int32(1) /* Label for the end of the insertion loop */ - srcTab = 0 /* Data comes from this temporary cursor if >=0 */ - addrInsTop = 0 /* Jump to label "D" */ - addrCont = 0 /* Index of database holding TABLE */ - useTempTable = uint8(0) /* Store SELECT results in intermediate table */ - appendFlag = uint8(0) /* True if IDLIST is in table order */ - pList = uintptr(0) /* Register in which to store next column */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v10, v13, v14, v16, v17, v18, v19, v20, v22, v24, v25, v5, v6, v7, v8, v9 /* Number of columns in the data */ + nHidden = 0 /* Number of hidden columns if TABLE is virtual */ + *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ + *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ + ipkColumn = -int32(1) /* Label for the end of the insertion loop */ + srcTab = 0 /* Data comes from this temporary cursor if >=0 */ + addrInsTop = 0 /* Jump to label "D" */ + addrCont = 0 /* Index of database holding TABLE */ + useTempTable = uint8(0) /* Store SELECT results in intermediate table */ + appendFlag = uint8(0) /* True if IDLIST is in table order */ + pList = uintptr(0) /* Register in which to store next column */ /* Register allocations */ regFromSelect = 0 /* Base register for data coming from SELECT */ regAutoinc = 0 /* Register holding the AUTOINCREMENT counter */ @@ -113354,7 +114004,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_STORED)|libc.Int32FromInt32(COLFLAG_VIRTUAL)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16432, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16511, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto insert_cleanup } break @@ -113369,7 +114019,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i bIdListInOrder = uint8(0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16473, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16552, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto insert_cleanup } @@ -113386,28 +114036,46 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** co-routine is the common header to the 3rd and 4th templates. */ if pSelect != 0 { /* Result code */ - v6 = pParse + 56 - *(*int32)(unsafe.Pointer(v6))++ - v5 = *(*int32)(unsafe.Pointer(v6)) - regYield = v5 - addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) - _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) - _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) - if bIdListInOrder != 0 { - v7 = regData - } else { - v7 = 0 - } - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v7 - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) - rc = _sqlite3Select(tls, pParse, pSelect, bp+8) - regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst - if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { - goto insert_cleanup + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc)).FnSrc == int32(1) && int32(uint32(*(*uint16)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + 60 + 4))&0x20>>5)) != 0 && (*TSelect)(unsafe.Pointer(pSelect)).FpPrior == uintptr(0) { + pItem = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSDParm = (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn + regFromSelect = (*TSrcItem)(unsafe.Pointer(pItem)).FregResult + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FpEList)).FnExpr + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+16584, libc.VaList(bp+128, pItem)) + if bIdListInOrder != 0 && nColumn == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { + regData = regFromSelect + regRowid = regData - int32(1) + if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { + v5 = int32(1) + } else { + v5 = 0 + } + regIns = regRowid - v5 + } + } else { + v7 = pParse + 56 + *(*int32)(unsafe.Pointer(v7))++ + v6 = *(*int32)(unsafe.Pointer(v7)) /* Top of the co-routine */ + regYield = v6 + addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) + _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) + if bIdListInOrder != 0 { + v8 = regData + } else { + v8 = 0 + } + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) + rc = _sqlite3Select(tls, pParse, pSelect, bp+8) + regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst + if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { + goto insert_cleanup + } + _sqlite3VdbeEndCoroutine(tls, v, regYield) + _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr } - _sqlite3VdbeEndCoroutine(tls, v, regYield) - _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ - nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr /* Set useTempTable to TRUE if the result of the SELECT statement ** should be written into a temporary table (template 4). Set to ** FALSE if each output row of the SELECT can be written directly into @@ -113421,10 +114089,10 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin useTempTable = uint8(1) } if useTempTable != 0 { /* Label "L" */ - v9 = pParse + 52 - v8 = *(*int32)(unsafe.Pointer(v9)) - *(*int32)(unsafe.Pointer(v9))++ - srcTab = v8 + v10 = pParse + 52 + v9 = *(*int32)(unsafe.Pointer(v10)) + *(*int32)(unsafe.Pointer(v10))++ + srcTab = v9 regRec = _sqlite3GetTempReg(tls, pParse) regTempRowid = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp2(tls, v, int32(OP_OpenEphemeral), srcTab, nColumn) @@ -113465,8 +114133,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { ipkColumn-- } - goto _10 - _10: + goto _11 + _11: ; i-- } @@ -113483,28 +114151,28 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_NOINSERT) != 0 { nHidden++ } - goto _11 - _11: + goto _12 + _12: ; i++ } } if nColumn != int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16505, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16592, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) goto insert_cleanup } } if pColumn != uintptr(0) && nColumn != (*TIdList)(unsafe.Pointer(pColumn)).FnId { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16557, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16644, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup } /* Initialize the count of rows to be inserted */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&(uint64(libc.Int32FromInt32(0x00001))<= 0 { /* tag-20191021-001: If the INTEGER PRIMARY KEY is being generated by the ** SELECT, go ahead and copy the value into the rowid slot now, so that @@ -113617,18 +114285,18 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** using excess space. The file format definition requires this extra ** NULL - we cannot optimize further by skipping the column completely */ _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) - goto _20 + goto _21 } - v21 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) - colFlags = v21 - if v21&uint32(COLFLAG_NOINSERT) != uint32(0) { + v22 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) + colFlags = v22 + if v22&uint32(COLFLAG_NOINSERT) != uint32(0) { nHidden++ if colFlags&uint32(COLFLAG_VIRTUAL) != uint32(0) { /* Virtual columns do not participate in OP_MakeRecord. So back up ** iRegStore by one slot to compensate for the iRegStore++ in the ** outer for() loop */ iRegStore-- - goto _20 + goto _21 } else { if colFlags&uint32(COLFLAG_STORED) != uint32(0) { /* Stored columns are computed later. But if there are BEFORE @@ -113638,13 +114306,13 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if *(*int32)(unsafe.Pointer(bp + 48))&int32(TRIGGER_BEFORE) != 0 { _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) } - goto _20 + goto _21 } else { if pColumn == uintptr(0) { /* Hidden columns that are not explicitly named in the INSERT ** get there default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } } } @@ -113655,8 +114323,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if !(j < (*TIdList)(unsafe.Pointer(pColumn)).FnId && *(*int32)(unsafe.Pointer(pColumn + 8 + uintptr(j)*16 + 8)) != i) { break } - goto _22 - _22: + goto _23 + _23: ; j++ } @@ -113664,14 +114332,14 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin /* A column not named in the insert column list gets its ** default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } k = j } else { if nColumn == 0 { /* This is INSERT INTO ... DEFAULT VALUES. Load the default value. */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } else { k = i - nHidden } @@ -113688,16 +114356,16 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin y = _sqlite3ExprCodeTarget(tls, pParse, pX, iRegStore) if y != iRegStore { if (*TExpr)(unsafe.Pointer(pX)).Fflags&uint32(libc.Int32FromInt32(EP_Subquery)) != uint32(0) { - v23 = int32(OP_Copy) + v24 = int32(OP_Copy) } else { - v23 = int32(OP_SCopy) + v24 = int32(OP_SCopy) } - _sqlite3VdbeAddOp2(tls, v, v23, y, iRegStore) + _sqlite3VdbeAddOp2(tls, v, v24, y, iRegStore) } } } - goto _20 - _20: + goto _21 + _21: ; i++ iRegStore++ @@ -113808,11 +114476,11 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _sqlite3VtabMakeWritable(tls, pParse, pTab) _sqlite3VdbeAddOp4(tls, v, int32(OP_VUpdate), int32(1), int32((*TTable)(unsafe.Pointer(pTab)).FnCol)+int32(2), regIns, pVTab, -int32(11)) if onError == int32(OE_Default) { - v24 = int32(OE_Abort) + v25 = int32(OE_Abort) } else { - v24 = onError + v25 = onError } - _sqlite3VdbeChangeP5(tls, v, uint16(v24)) + _sqlite3VdbeChangeP5(tls, v, uint16(v25)) _sqlite3MayAbort(tls, pParse) } else { *(*int32)(unsafe.Pointer(bp + 112)) = 0 /* True to use OPFLAG_SEEKRESULT */ @@ -113871,7 +114539,7 @@ insert_end: ** invoke the callback function. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16649) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16736) } goto insert_cleanup insert_cleanup: @@ -114264,7 +114932,7 @@ func _sqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case int32(OE_Rollback): fallthrough case int32(OE_Fail): - zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12729, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12854, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) _sqlite3VdbeAddOp3(tls, v, int32(OP_HaltIfNull), libc.Int32FromInt32(SQLITE_CONSTRAINT)|libc.Int32FromInt32(5)<= 0 && !(int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile)))) == libc.Int32FromUint8('/'))) { @@ -116498,7 +117166,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp iFile-- } iFile++ - if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16701, int32(3)) == 0 { + if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16788, int32(3)) == 0 { iFile += int32(3) } iEntry = int32(8) @@ -116518,7 +117186,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp ; iFile++ } - libc.X__builtin___memcpy_chk(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16705, uint64(6), libc.X__builtin_object_size(tls, zAltEntry+uintptr(iEntry), 0)) + libc.X__builtin___memcpy_chk(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16792, uint64(6), libc.X__builtin_object_size(tls, zAltEntry+uintptr(iEntry), 0)) zEntry = zAltEntry xInit = _sqlite3OsDlSym(tls, pVfs, handle, zEntry) } @@ -116530,7 +117198,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v7 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16711, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16798, libc.VaList(bp+16, zEntry, zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116545,7 +117213,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp return SQLITE_OK } if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16754, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16841, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3OsDlClose(tls, pVfs, handle) @@ -116576,7 +117244,7 @@ extension_not_found: *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v10 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16786, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16873, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116585,7 +117253,7 @@ extension_not_found: /* Shared library endings to try if zFile cannot be loaded as written */ var _azEndings = [1]uintptr{ - 0: __ccgo_ts + 16663, + 0: __ccgo_ts + 16750, } func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) (r int32) { @@ -116818,7 +117486,7 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { rc = v2 } if v3 && v2 != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16823, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16910, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -116872,63 +117540,63 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { // ** result column is different from the name of the pragma // */ var _pragCName = [57]uintptr{ - 0: __ccgo_ts + 5829, - 1: __ccgo_ts + 16862, - 2: __ccgo_ts + 9406, - 3: __ccgo_ts + 16866, - 4: __ccgo_ts + 16871, - 5: __ccgo_ts + 16874, - 6: __ccgo_ts + 16884, - 7: __ccgo_ts + 16894, - 8: __ccgo_ts + 16900, - 9: __ccgo_ts + 16904, - 10: __ccgo_ts + 16909, - 11: __ccgo_ts + 16914, - 12: __ccgo_ts + 16922, - 13: __ccgo_ts + 16933, - 14: __ccgo_ts + 16936, - 15: __ccgo_ts + 16943, - 16: __ccgo_ts + 16904, - 17: __ccgo_ts + 16909, - 18: __ccgo_ts + 16950, - 19: __ccgo_ts + 16955, - 20: __ccgo_ts + 16958, - 21: __ccgo_ts + 16965, - 22: __ccgo_ts + 16900, - 23: __ccgo_ts + 16904, - 24: __ccgo_ts + 16971, - 25: __ccgo_ts + 16976, - 26: __ccgo_ts + 16981, - 27: __ccgo_ts + 16904, - 28: __ccgo_ts + 16985, - 29: __ccgo_ts + 16909, - 30: __ccgo_ts + 16993, - 31: __ccgo_ts + 16997, - 32: __ccgo_ts + 17002, - 33: __ccgo_ts + 12145, - 34: __ccgo_ts + 12141, - 35: __ccgo_ts + 17008, - 36: __ccgo_ts + 17013, - 37: __ccgo_ts + 17018, - 38: __ccgo_ts + 16862, - 39: __ccgo_ts + 16904, - 40: __ccgo_ts + 17023, - 41: __ccgo_ts + 17030, - 42: __ccgo_ts + 17037, - 43: __ccgo_ts + 9406, - 44: __ccgo_ts + 17045, - 45: __ccgo_ts + 5832, - 46: __ccgo_ts + 17051, - 47: __ccgo_ts + 16862, - 48: __ccgo_ts + 16904, - 49: __ccgo_ts + 17056, - 50: __ccgo_ts + 17061, - 51: __ccgo_ts + 16255, - 52: __ccgo_ts + 17066, - 53: __ccgo_ts + 17079, - 54: __ccgo_ts + 17088, - 55: __ccgo_ts + 17095, - 56: __ccgo_ts + 17106, + 0: __ccgo_ts + 5893, + 1: __ccgo_ts + 16949, + 2: __ccgo_ts + 9531, + 3: __ccgo_ts + 16953, + 4: __ccgo_ts + 16958, + 5: __ccgo_ts + 16961, + 6: __ccgo_ts + 16971, + 7: __ccgo_ts + 16981, + 8: __ccgo_ts + 16987, + 9: __ccgo_ts + 16991, + 10: __ccgo_ts + 16996, + 11: __ccgo_ts + 17001, + 12: __ccgo_ts + 17009, + 13: __ccgo_ts + 17020, + 14: __ccgo_ts + 17023, + 15: __ccgo_ts + 17030, + 16: __ccgo_ts + 16991, + 17: __ccgo_ts + 16996, + 18: __ccgo_ts + 17037, + 19: __ccgo_ts + 17042, + 20: __ccgo_ts + 17045, + 21: __ccgo_ts + 17052, + 22: __ccgo_ts + 16987, + 23: __ccgo_ts + 16991, + 24: __ccgo_ts + 17058, + 25: __ccgo_ts + 17063, + 26: __ccgo_ts + 17068, + 27: __ccgo_ts + 16991, + 28: __ccgo_ts + 17072, + 29: __ccgo_ts + 16996, + 30: __ccgo_ts + 17080, + 31: __ccgo_ts + 17084, + 32: __ccgo_ts + 17089, + 33: __ccgo_ts + 12270, + 34: __ccgo_ts + 12266, + 35: __ccgo_ts + 17095, + 36: __ccgo_ts + 17100, + 37: __ccgo_ts + 17105, + 38: __ccgo_ts + 16949, + 39: __ccgo_ts + 16991, + 40: __ccgo_ts + 17110, + 41: __ccgo_ts + 17117, + 42: __ccgo_ts + 17124, + 43: __ccgo_ts + 9531, + 44: __ccgo_ts + 17132, + 45: __ccgo_ts + 5896, + 46: __ccgo_ts + 17138, + 47: __ccgo_ts + 16949, + 48: __ccgo_ts + 16991, + 49: __ccgo_ts + 17143, + 50: __ccgo_ts + 17148, + 51: __ccgo_ts + 16334, + 52: __ccgo_ts + 17153, + 53: __ccgo_ts + 17166, + 54: __ccgo_ts + 17175, + 55: __ccgo_ts + 17182, + 56: __ccgo_ts + 17193, } // C documentation @@ -116947,191 +117615,191 @@ type PragmaName = TPragmaName var _aPragmaName = [67]TPragmaName{ 0: { - FzName: __ccgo_ts + 17114, + FzName: __ccgo_ts + 17201, FePragTyp: uint8(PragTyp_ANALYSIS_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 1: { - FzName: __ccgo_ts + 17129, + FzName: __ccgo_ts + 17216, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_APPLICATION_ID), }, 2: { - FzName: __ccgo_ts + 17144, + FzName: __ccgo_ts + 17231, FePragTyp: uint8(PragTyp_AUTO_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 3: { - FzName: __ccgo_ts + 17156, + FzName: __ccgo_ts + 17243, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_AutoIndex), }, 4: { - FzName: __ccgo_ts + 17172, + FzName: __ccgo_ts + 17259, FePragTyp: uint8(PragTyp_BUSY_TIMEOUT), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(56), FnPragCName: uint8(1), }, 5: { - FzName: __ccgo_ts + 17095, + FzName: __ccgo_ts + 17182, FePragTyp: uint8(PragTyp_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 6: { - FzName: __ccgo_ts + 17185, + FzName: __ccgo_ts + 17272, FePragTyp: uint8(PragTyp_CACHE_SPILL), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 7: { - FzName: __ccgo_ts + 17197, + FzName: __ccgo_ts + 17284, FePragTyp: uint8(PragTyp_CASE_SENSITIVE_LIKE), FmPragFlg: uint8(PragFlg_NoColumns), }, 8: { - FzName: __ccgo_ts + 17217, + FzName: __ccgo_ts + 17304, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CellSizeCk), }, 9: { - FzName: __ccgo_ts + 17233, + FzName: __ccgo_ts + 17320, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CkptFullFSync), }, 10: { - FzName: __ccgo_ts + 17254, + FzName: __ccgo_ts + 17341, FePragTyp: uint8(PragTyp_COLLATION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(38), FnPragCName: uint8(2), }, 11: { - FzName: __ccgo_ts + 17269, + FzName: __ccgo_ts + 17356, FePragTyp: uint8(PragTyp_COMPILE_OPTIONS), FmPragFlg: uint8(PragFlg_Result0), }, 12: { - FzName: __ccgo_ts + 17285, + FzName: __ccgo_ts + 17372, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00001)) << libc.Int32FromInt32(32), }, 13: { - FzName: __ccgo_ts + 17299, + FzName: __ccgo_ts + 17386, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_DATA_VERSION), }, 14: { - FzName: __ccgo_ts + 17312, + FzName: __ccgo_ts + 17399, FePragTyp: uint8(PragTyp_DATABASE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(47), FnPragCName: uint8(3), }, 15: { - FzName: __ccgo_ts + 17326, + FzName: __ccgo_ts + 17413, FePragTyp: uint8(PragTyp_DEFAULT_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiPragCName: uint8(55), FnPragCName: uint8(1), }, 16: { - FzName: __ccgo_ts + 17345, + FzName: __ccgo_ts + 17432, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_DeferFKs), }, 17: { - FzName: __ccgo_ts + 17364, + FzName: __ccgo_ts + 17451, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_NullCallback), }, 18: { - FzName: __ccgo_ts + 17387, + FzName: __ccgo_ts + 17474, FePragTyp: uint8(PragTyp_ENCODING), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 19: { - FzName: __ccgo_ts + 17396, + FzName: __ccgo_ts + 17483, FePragTyp: uint8(PragTyp_FOREIGN_KEY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(43), FnPragCName: uint8(4), }, 20: { - FzName: __ccgo_ts + 17414, + FzName: __ccgo_ts + 17501, FePragTyp: uint8(PragTyp_FOREIGN_KEY_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FnPragCName: uint8(8), }, 21: { - FzName: __ccgo_ts + 17431, + FzName: __ccgo_ts + 17518, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ForeignKeys), }, 22: { - FzName: __ccgo_ts + 17444, + FzName: __ccgo_ts + 17531, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), }, 23: { - FzName: __ccgo_ts + 17459, + FzName: __ccgo_ts + 17546, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullColNames), }, 24: { - FzName: __ccgo_ts + 17477, + FzName: __ccgo_ts + 17564, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullFSync), }, 25: { - FzName: __ccgo_ts + 17487, + FzName: __ccgo_ts + 17574, FePragTyp: uint8(PragTyp_FUNCTION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(27), FnPragCName: uint8(6), }, 26: { - FzName: __ccgo_ts + 17501, + FzName: __ccgo_ts + 17588, FePragTyp: uint8(PragTyp_HARD_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 27: { - FzName: __ccgo_ts + 17517, + FzName: __ccgo_ts + 17604, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_IgnoreChecks), }, 28: { - FzName: __ccgo_ts + 17542, + FzName: __ccgo_ts + 17629, FePragTyp: uint8(PragTyp_INCREMENTAL_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_NoColumns)), }, 29: { - FzName: __ccgo_ts + 17561, + FzName: __ccgo_ts + 17648, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), FnPragCName: uint8(3), }, 30: { - FzName: __ccgo_ts + 17572, + FzName: __ccgo_ts + 17659, FePragTyp: uint8(PragTyp_INDEX_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(38), FnPragCName: uint8(5), }, 31: { - FzName: __ccgo_ts + 17583, + FzName: __ccgo_ts + 17670, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), @@ -117139,151 +117807,151 @@ var _aPragmaName = [67]TPragmaName{ FiArg: uint64(1), }, 32: { - FzName: __ccgo_ts + 17595, + FzName: __ccgo_ts + 17682, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 33: { - FzName: __ccgo_ts + 17611, + FzName: __ccgo_ts + 17698, FePragTyp: uint8(PragTyp_JOURNAL_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 34: { - FzName: __ccgo_ts + 17624, + FzName: __ccgo_ts + 17711, FePragTyp: uint8(PragTyp_JOURNAL_SIZE_LIMIT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 35: { - FzName: __ccgo_ts + 17643, + FzName: __ccgo_ts + 17730, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_LegacyAlter), }, 36: { - FzName: __ccgo_ts + 17662, + FzName: __ccgo_ts + 17749, FePragTyp: uint8(PragTyp_LOCK_PROXY_FILE), FmPragFlg: uint8(PragFlg_NoColumns1), }, 37: { - FzName: __ccgo_ts + 17678, + FzName: __ccgo_ts + 17765, FePragTyp: uint8(PragTyp_LOCKING_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 38: { - FzName: __ccgo_ts + 17691, + FzName: __ccgo_ts + 17778, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 39: { - FzName: __ccgo_ts + 17706, + FzName: __ccgo_ts + 17793, FePragTyp: uint8(PragTyp_MMAP_SIZE), }, 40: { - FzName: __ccgo_ts + 17716, + FzName: __ccgo_ts + 17803, FePragTyp: uint8(PragTyp_MODULE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 41: { - FzName: __ccgo_ts + 17728, + FzName: __ccgo_ts + 17815, FePragTyp: uint8(PragTyp_OPTIMIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_NeedSchema)), }, 42: { - FzName: __ccgo_ts + 17737, + FzName: __ccgo_ts + 17824, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 43: { - FzName: __ccgo_ts + 17748, + FzName: __ccgo_ts + 17835, FePragTyp: uint8(PragTyp_PAGE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 44: { - FzName: __ccgo_ts + 17758, + FzName: __ccgo_ts + 17845, FePragTyp: uint8(PragTyp_PRAGMA_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 45: { - FzName: __ccgo_ts + 17770, + FzName: __ccgo_ts + 17857, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_QueryOnly), }, 46: { - FzName: __ccgo_ts + 17781, + FzName: __ccgo_ts + 17868, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 47: { - FzName: __ccgo_ts + 17793, + FzName: __ccgo_ts + 17880, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00004)) << libc.Int32FromInt32(32), }, 48: { - FzName: __ccgo_ts + 17810, + FzName: __ccgo_ts + 17897, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_RecTriggers), }, 49: { - FzName: __ccgo_ts + 17829, + FzName: __ccgo_ts + 17916, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ReverseOrder), }, 50: { - FzName: __ccgo_ts + 17855, + FzName: __ccgo_ts + 17942, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_SCHEMA_VERSION), }, 51: { - FzName: __ccgo_ts + 17870, + FzName: __ccgo_ts + 17957, FePragTyp: uint8(PragTyp_SECURE_DELETE), FmPragFlg: uint8(PragFlg_Result0), }, 52: { - FzName: __ccgo_ts + 17884, + FzName: __ccgo_ts + 17971, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ShortColNames), }, 53: { - FzName: __ccgo_ts + 17903, + FzName: __ccgo_ts + 17990, FePragTyp: uint8(PragTyp_SHRINK_MEMORY), FmPragFlg: uint8(PragFlg_NoColumns), }, 54: { - FzName: __ccgo_ts + 17917, + FzName: __ccgo_ts + 18004, FePragTyp: uint8(PragTyp_SOFT_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 55: { - FzName: __ccgo_ts + 17933, + FzName: __ccgo_ts + 18020, FePragTyp: uint8(PragTyp_SYNCHRONOUS), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 56: { - FzName: __ccgo_ts + 17945, + FzName: __ccgo_ts + 18032, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), FnPragCName: uint8(6), }, 57: { - FzName: __ccgo_ts + 17956, + FzName: __ccgo_ts + 18043, FePragTyp: uint8(PragTyp_TABLE_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1)), FiPragCName: uint8(15), FnPragCName: uint8(6), }, 58: { - FzName: __ccgo_ts + 17967, + FzName: __ccgo_ts + 18054, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), @@ -117291,45 +117959,45 @@ var _aPragmaName = [67]TPragmaName{ FiArg: uint64(1), }, 59: { - FzName: __ccgo_ts + 17979, + FzName: __ccgo_ts + 18066, FePragTyp: uint8(PragTyp_TEMP_STORE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 60: { - FzName: __ccgo_ts + 17990, + FzName: __ccgo_ts + 18077, FePragTyp: uint8(PragTyp_TEMP_STORE_DIRECTORY), FmPragFlg: uint8(PragFlg_NoColumns1), }, 61: { - FzName: __ccgo_ts + 18011, + FzName: __ccgo_ts + 18098, FePragTyp: uint8(PragTyp_THREADS), FmPragFlg: uint8(PragFlg_Result0), }, 62: { - FzName: __ccgo_ts + 18019, + FzName: __ccgo_ts + 18106, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_TrustedSchema), }, 63: { - FzName: __ccgo_ts + 18034, + FzName: __ccgo_ts + 18121, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_USER_VERSION), }, 64: { - FzName: __ccgo_ts + 18047, + FzName: __ccgo_ts + 18134, FePragTyp: uint8(PragTyp_WAL_AUTOCHECKPOINT), }, 65: { - FzName: __ccgo_ts + 18066, + FzName: __ccgo_ts + 18153, FePragTyp: uint8(PragTyp_WAL_CHECKPOINT), FmPragFlg: uint8(PragFlg_NeedSchema), FiPragCName: uint8(50), FnPragCName: uint8(3), }, 66: { - FzName: __ccgo_ts + 18081, + FzName: __ccgo_ts + 18168, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(SQLITE_WriteSchema) | libc.Int32FromInt32(SQLITE_NoSchemaError)), @@ -117341,6 +118009,31 @@ var _aPragmaName = [67]TPragmaName{ /************** End of pragma.h **********************************************/ /************** Continuing where we left off in pragma.c *********************/ +/* +** When the 0x10 bit of PRAGMA optimize is set, any ANALYZE commands +** will be run with an analysis_limit set to the lessor of the value of +** the following macro or to the actual analysis_limit if it is non-zero, +** in order to prevent PRAGMA optimize from running for too long. +** +** The value of 2000 is chosen emperically so that the worst-case run-time +** for PRAGMA optimize does not exceed 100 milliseconds against a variety +** of test databases on a RaspberryPI-4 compiled using -Os and without +** -DSQLITE_DEBUG. Of course, your mileage may vary. For the purpose of +** this paragraph, "worst-case" means that ANALYZE ends up being +** run on every table in the database. The worst case typically only +** happens if PRAGMA optimize is run on a database file for which ANALYZE +** has not been previously run and the 0x10000 flag is included so that +** all tables are analyzed. The usual case for PRAGMA optimize is that +** no ANALYZE commands will be run at all, or if any ANALYZE happens it +** will be against a single table, so that expected timing for PRAGMA +** optimize on a PI-4 is more like 1 millisecond or less with the 0x10000 +** flag or less than 100 microseconds without the 0x10000 flag. +** +** An analysis limit of 2000 is almost always sufficient for the query +** planner to fully characterize an index. The additional accuracy from +** a larger analysis is not usually helpful. + */ + // C documentation // // /* @@ -117430,10 +118123,10 @@ func _sqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt Tu8) (r Tu8) { // */ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { if z != 0 { - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18097) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18184) { return int32(PAGER_LOCKINGMODE_EXCLUSIVE) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18107) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18194) { return PAGER_LOCKINGMODE_NORMAL } } @@ -117451,13 +118144,13 @@ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { func _getAutoVacuum(tls *libc.TLS, z uintptr) (r int32) { var i, v1 int32 _, _ = i, v1 - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8566) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8691) { return BTREE_AUTOVACUUM_NONE } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18114) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18201) { return int32(BTREE_AUTOVACUUM_FULL) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18119) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+18206) { return int32(BTREE_AUTOVACUUM_INCR) } i = _sqlite3Atoi(tls, z) @@ -117480,10 +118173,10 @@ func _getTempStore(tls *libc.TLS, z uintptr) (r int32) { if int32(*(*int8)(unsafe.Pointer(z))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(z))) <= int32('2') { return int32(*(*int8)(unsafe.Pointer(z))) - int32('0') } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+17056) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+17143) == 0 { return int32(1) } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+18131) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+18218) == 0 { return int32(2) } else { return 0 @@ -117505,7 +118198,7 @@ func _invalidateTempStorage(tls *libc.TLS, pParse uintptr) (r int32) { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt != uintptr(0) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || _sqlite3BtreeTxnState(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) != SQLITE_TXN_NONE { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18138, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18225, 0) return int32(SQLITE_ERROR) } _sqlite3BtreeClose(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) @@ -117635,15 +118328,15 @@ func _actionName(tls *libc.TLS, action Tu8) (r uintptr) { _ = zName switch int32(action) { case int32(OE_SetNull): - zName = __ccgo_ts + 18200 + zName = __ccgo_ts + 18287 case int32(OE_SetDflt): - zName = __ccgo_ts + 18209 + zName = __ccgo_ts + 18296 case int32(OE_Cascade): - zName = __ccgo_ts + 18221 + zName = __ccgo_ts + 18308 case int32(OE_Restrict): - zName = __ccgo_ts + 18229 + zName = __ccgo_ts + 18316 default: - zName = __ccgo_ts + 18238 + zName = __ccgo_ts + 18325 break } return zName @@ -117664,12 +118357,12 @@ func _sqlite3JournalModename(tls *libc.TLS, eMode int32) (r uintptr) { } var _azModeName = [6]uintptr{ - 0: __ccgo_ts + 18248, - 1: __ccgo_ts + 18255, - 2: __ccgo_ts + 18263, - 3: __ccgo_ts + 18267, - 4: __ccgo_ts + 18131, - 5: __ccgo_ts + 18276, + 0: __ccgo_ts + 18335, + 1: __ccgo_ts + 18342, + 2: __ccgo_ts + 18350, + 3: __ccgo_ts + 18354, + 4: __ccgo_ts + 18218, + 5: __ccgo_ts + 18363, } // C documentation @@ -117731,15 +118424,15 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s goto _1 } if (*TFuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = __ccgo_ts + 18301 + zType = __ccgo_ts + 18388 } else { if (*TFuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = __ccgo_ts + 18303 + zType = __ccgo_ts + 18390 } else { - zType = __ccgo_ts + 7965 + zType = __ccgo_ts + 8090 } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18305, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18392, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) goto _1 _1: ; @@ -117748,9 +118441,9 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s } var _azEnc = [4]uintptr{ - 1: __ccgo_ts + 18280, - 2: __ccgo_ts + 18285, - 3: __ccgo_ts + 18293, + 1: __ccgo_ts + 18367, + 2: __ccgo_ts + 18372, + 3: __ccgo_ts + 18380, } // C documentation @@ -117791,15 +118484,15 @@ func _integrityCheckResultRow(tls *libc.TLS, v uintptr) (r int32) { func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { bp := tls.Alloc(256) defer tls.Free(256) - var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, mxIdx, n, nHidden, nIdx, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, res1, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v60, v62, v63, v64, v65, v68 int32 - var aOp, aOp1, aOp2, aOp3, aOp4, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pFile, pFile1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pPager2, pPager3, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v61, v66, v8 uintptr + var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, res1, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v48, v50, v64, v66, v67, v68, v69, v72, v75, v76 int32 + var aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pFile, pFile1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pPager2, pPager3, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v65, v70, v8 uintptr var azOrigin [3]uintptr var cnum Ti16 var enc Tu8 var iPrior Tsqlite3_int64 + var iRange, szThreshold TLogEst var mask Tu64 var opMask Tu32 - var szThreshold TLogEst var _ /* N at bp+144 */ Tsqlite3_int64 var _ /* N at bp+152 */ Tsqlite3_int64 var _ /* N at bp+160 */ Tsqlite3_int64 @@ -117821,7 +118514,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var _ /* size at bp+60 */ int32 var _ /* sz at bp+64 */ Tsqlite3_int64 var _ /* x at bp+40 */ Ti64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iPrior, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, mxIdx, n, nHidden, nIdx, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pFile, pFile1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pPager2, pPager3, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, res1, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v5, v60, v61, v62, v63, v64, v65, v66, v68, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iPrior, iRange, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pFile, pFile1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pPager2, pPager3, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, res1, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v48, v5, v50, v64, v65, v66, v67, v68, v69, v70, v72, v75, v76, v8 zLeft = uintptr(0) /* Nul-terminated UTF-8 string */ zRight = uintptr(0) /* Nul-terminated UTF-8 string , or NULL */ zDb = uintptr(0) /* return value form SQLITE_FCNTL_PRAGMA */ @@ -117850,7 +118543,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p return } if minusFlag != 0 { - zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+18312, libc.VaList(bp+184, pValue)) + zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+18399, libc.VaList(bp+184, pValue)) } else { zRight = _sqlite3NameFromToken(tls, db, pValue) } @@ -117893,7 +118586,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } if rc != int32(SQLITE_NOTFOUND) { if (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0] != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+184, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+184, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) Xsqlite3_free(tls, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0]) } (*TParse)(unsafe.Pointer(pParse)).FnErr++ @@ -117997,7 +118690,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pBt1 = (*TDb)(unsafe.Pointer(pDb)).FpBt b = -int32(1) if zRight != 0 { - if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18316) == 0 { + if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18403) == 0 { b = int32(2) } else { b = int32(_sqlite3GetBoolean(tls, zRight, uint8(0))) @@ -118068,7 +118761,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p */ fallthrough case int32(PragTyp_LOCKING_MODE): - zRet = __ccgo_ts + 18107 + zRet = __ccgo_ts + 18194 eMode = _getLockingMode(tls, zRight) if (*TToken)(unsafe.Pointer(pId2)).Fn == uint32(0) && eMode == -int32(1) { /* Simple "PRAGMA locking_mode;" statement. This is a query for @@ -118096,7 +118789,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p eMode = _sqlite3PagerLockingMode(tls, pPager, eMode) } if eMode == int32(PAGER_LOCKINGMODE_EXCLUSIVE) { - zRet = __ccgo_ts + 18097 + zRet = __ccgo_ts + 18184 } _returnSingleText(tls, v, zRet) break @@ -118386,7 +119079,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if *(*int8)(unsafe.Pointer(zRight)) != 0 { rc = _sqlite3OsAccess(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, zRight, int32(SQLITE_ACCESS_READWRITE), bp+72) if rc != SQLITE_OK || *(*int32)(unsafe.Pointer(bp + 72)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18321, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18408, 0) Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) goto pragma_out } @@ -118396,7 +119089,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } Xsqlite3_free(tls, Xsqlite3_temp_directory) if *(*int8)(unsafe.Pointer(zRight)) != 0 { - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+184, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+184, zRight)) } else { Xsqlite3_temp_directory = uintptr(0) } @@ -118428,7 +119121,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p res1 = _sqlite3OsFileControl(tls, pFile1, int32(SQLITE_FCNTL_SET_LOCKPROXYFILE), libc.UintptrFromInt32(0)) } if res1 != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18346, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18433, 0) goto pragma_out } } @@ -118448,7 +119141,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _returnSingleInt(tls, v, int64(int32((*TDb)(unsafe.Pointer(pDb)).Fsafety_level)-int32(1))) } else { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18376, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18463, 0) } else { if iDb != int32(1) { iLevel = (int32(_getSafetyLevel(tls, zRight, 0, uint8(1))) + int32(1)) & int32(PAGER_SYNCHRONOUS_MASK) @@ -118481,7 +119174,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if mask == uint64(SQLITE_DeferFKs) { (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons = 0 } - if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18429) == 0 { + if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18516) == 0 { /* IMP: R-60817-01178 If the argument is "RESET" then schema ** writing is disabled (as with "PRAGMA writable_schema=OFF") and, ** in addition, the schema is reloaded. */ @@ -118561,9 +119254,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pColExpr = _sqlite3ColumnExpr(tls, pTab, pCol) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - v14 = __ccgo_ts + 18435 + v14 = __ccgo_ts + 18522 } else { - v14 = __ccgo_ts + 18443 + v14 = __ccgo_ts + 18530 } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 { v15 = int32(1) @@ -118575,7 +119268,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v16 = *(*uintptr)(unsafe.Pointer(pColExpr + 8)) } - _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+184, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1650), v15, v16, k, isHidden)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+184, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1664), v15, v16, k, isHidden)) goto _12 _12: ; @@ -118634,7 +119327,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pTab1 = (*THashElem)(unsafe.Pointer(k1)).Fdata if int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) == 0 { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18450, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab1)).FzName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18537, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab1)).FzName)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 88)) = uintptr(0) Xsqlite3_prepare(tls, db, zSql, -int32(1), bp+88, uintptr(0)) @@ -118642,7 +119335,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3DbFree(tls, db, zSql) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1634, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) } pHash = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FpSchema + 8 @@ -118664,19 +119357,19 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _20 } if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 11144 + zType = __ccgo_ts + 11269 } else { if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 13392 + zType = __ccgo_ts + 13517 } else { if (*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Shadow) != 0 { - zType = __ccgo_ts + 18466 + zType = __ccgo_ts + 18553 } else { - zType = __ccgo_ts + 9406 + zType = __ccgo_ts + 9531 } } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18473, libc.VaList(bp+184, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18560, libc.VaList(bp+184, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) goto _20 _20: ; @@ -118723,9 +119416,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v22 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab3)).FaCol + uintptr(cnum)*16))).FzCnName } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18480, libc.VaList(bp+184, i1, int32(cnum), v22)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18567, libc.VaList(bp+184, i1, int32(cnum), v22)) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18485, libc.VaList(bp+184, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) + _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18572, libc.VaList(bp+184, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) } _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), int32(1), (*TParse)(unsafe.Pointer(pParse)).FnMem) goto _21 @@ -118749,11 +119442,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } azOrigin = [3]uintptr{ - 0: __ccgo_ts + 18490, - 1: __ccgo_ts + 18492, - 2: __ccgo_ts + 16933, + 0: __ccgo_ts + 18577, + 1: __ccgo_ts + 18579, + 2: __ccgo_ts + 17020, } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18494, libc.VaList(bp+184, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18581, libc.VaList(bp+184, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) goto _23 _23: ; @@ -118772,7 +119465,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt == uintptr(0) { goto _24 } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18500, libc.VaList(bp+184, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18587, libc.VaList(bp+184, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) goto _24 _24: ; @@ -118789,7 +119482,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pColl = (*THashElem)(unsafe.Pointer(p)).Fdata v26 = i4 i4++ - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18504, libc.VaList(bp+184, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18591, libc.VaList(bp+184, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) goto _25 _25: ; @@ -118839,7 +119532,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } pMod = (*THashElem)(unsafe.Pointer(j1)).Fdata - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7965, libc.VaList(bp+184, (*TModule)(unsafe.Pointer(pMod)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+8090, libc.VaList(bp+184, (*TModule)(unsafe.Pointer(pMod)).FzName)) goto _30 _30: ; @@ -118851,7 +119544,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i6 < int32(libc.Uint64FromInt64(1608)/libc.Uint64FromInt64(24))) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7965, libc.VaList(bp+184, _aPragmaName[i6].FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+8090, libc.VaList(bp+184, _aPragmaName[i6].FzName)) goto _31 _31: ; @@ -118877,7 +119570,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(j2 < (*TFKey)(unsafe.Pointer(pFK)).FnCol) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18507, libc.VaList(bp+184, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18516)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18594, libc.VaList(bp+184, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18603)) goto _32 _32: ; @@ -119018,7 +119711,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regResult+int32(1)) } - _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18521, libc.VaList(bp+184, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) + _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18608, libc.VaList(bp+184, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), regResult, int32(4)) _sqlite3VdbeResolveLabel(tls, v, addrOk) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 104))) @@ -119086,7 +119779,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p /* Set the maximum error count */ *(*int32)(unsafe.Pointer(bp + 112)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) if zRight != 0 { - if _sqlite3GetInt32(tls, zRight, bp+112) != 0 { + if _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pValue)).Fz, bp+112) != 0 { if *(*int32)(unsafe.Pointer(bp + 112)) <= 0 { *(*int32)(unsafe.Pointer(bp + 112)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) } @@ -119106,8 +119799,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i9 < (*Tsqlite3)(unsafe.Pointer(db)).FnDb) { break } /* Array of root page numbers of all btrees */ - cnt = 0 /* Number of entries in aRoot[] */ - mxIdx = 0 /* Maximum number of indexes for any table */ + cnt = 0 /* Number of entries in aRoot[] */ if libc.Bool(OMIT_TEMPDB != 0) && i9 == int32(1) { goto _40 } @@ -119148,9 +119840,6 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pIdx3 = (*TIndex)(unsafe.Pointer(pIdx3)).FpNext nIdx++ } - if nIdx > mxIdx { - mxIdx = nIdx - } goto _41 _41: ; @@ -119206,16 +119895,78 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } *(*int32)(unsafe.Pointer(aRoot)) = cnt /* Make sure sufficient number of registers have been allocated */ - _sqlite3TouchRegister(tls, pParse, int32(8)+mxIdx) + _sqlite3TouchRegister(tls, pParse, int32(8)+cnt) _sqlite3ClearTempRegCache(tls, pParse) /* Do the b-tree integrity checks */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(2), cnt, int32(1), aRoot, -int32(14)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(1), cnt, int32(8), aRoot, -int32(14)) _sqlite3VdbeChangeP5(tls, v, uint16(uint8(i9))) addr1 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(2)) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18525, libc.VaList(bp+184, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18612, libc.VaList(bp+184, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(2), int32(3), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, addr1) + /* Check that the indexes all have the right number of rows */ + if pObjTab != 0 { + v48 = int32(1) + } else { + v48 = 0 + } + cnt = v48 + _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18636) + x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst + for { + if !(x2 != 0) { + break + } + iTab = 0 + pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab9 { + goto _49 + } + if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + v50 = cnt + cnt++ + iTab = v50 + } else { + iTab = cnt + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx5 + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { + break + } + iTab++ + goto _51 + _51: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + } + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if (*TIndex)(unsafe.Pointer(pIdx5)).FpPartIdxWhere == uintptr(0) { + addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+cnt, 0, int32(8)+iTab) + _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) + _integrityCheckResultRow(tls, v) + _sqlite3VdbeJumpHere(tls, v, addr1) + } + cnt++ + goto _52 + _52: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + goto _49 + _49: + ; + x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext + } /* Make sure all the indices are constructed correctly. */ x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst @@ -119223,39 +119974,39 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata pPrior = uintptr(0) r1 = -int32(1) /* Maximum non-virtual column number */ - if pObjTab != 0 && pObjTab != pTab9 { - goto _48 + if pObjTab != 0 && pObjTab != pTab10 { + goto _53 } - if !(int32((*TTable)(unsafe.Pointer(pTab9)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { - goto _48 + if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _53 } - if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { pPk1 = uintptr(0) r2 = 0 } else { - pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab9) + pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab10) r2 = _sqlite3GetTempRange(tls, pParse, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), int32(1), r2, r2+int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)-int32(1)) } - _sqlite3OpenTableAndIndices(tls, pParse, pTab9, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+116, bp+120) + _sqlite3OpenTableAndIndices(tls, pParse, pTab10, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+116, bp+120) /* reg[7] counts the number of entries in the table. ** reg[8+i] counts the number of entries in the i-th index */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(7)) j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(8)+j4) /* index entries counter */ - goto _49 - _49: + goto _54 + _54: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), *(*int32)(unsafe.Pointer(bp + 116)), 0) @@ -119265,29 +120016,29 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** will also prepopulate the cursor column cache that is used ** by the OP_IsType code, so it is a required step. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { mxCol = -int32(1) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { + if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { mxCol++ } - goto _50 - _50: + goto _55 + _55: ; j4++ } - if mxCol == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { + if mxCol == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { mxCol-- } } else { /* COLFLAG_VIRTUAL columns are not included in the WITHOUT ROWID ** PK index column-count, so there is no need to account for them ** in this case. */ - mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab9))).FnColumn) - int32(1) + mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab10))).FnColumn) - int32(1) } if mxCol >= 0 { _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 116)), mxCol, int32(3)) @@ -119297,7 +120048,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if pPk1 != 0 { a1 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 116)), 0, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), r2) - zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18549, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18665, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a1) @@ -119308,8 +120059,8 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprCodeLoadIndexColumn(tls, pParse, pPk1, *(*int32)(unsafe.Pointer(bp + 116)), j4, r2+j4) - goto _51 - _51: + goto _56 + _56: ; j4++ } @@ -119324,15 +120075,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** (4) Datatype for numeric columns in non-STRICT tables must not ** be a TEXT value that can be losslessly converted to numeric. */ - bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_Strict) != uint32(0)) + bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_Strict) != uint32(0)) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - pCol1 = (*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ - if j4 == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { - goto _52 + pCol1 = (*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ + if j4 == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { + goto _57 } if bStrict != 0 { doTypeCheck = libc.BoolInt32(int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4)) > int32(COLTYPE_ANY)) @@ -119340,28 +120091,28 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p doTypeCheck = libc.BoolInt32(int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) > int32(SQLITE_AFF_BLOB)) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf>>0)) == 0 && !(doTypeCheck != 0) { - goto _52 + goto _57 } /* Compute the operands that will be needed for OP_IsType */ p4 = int32(SQLITE_NULL) if int32((*TColumn)(unsafe.Pointer(pCol1)).FcolFlags)&int32(COLFLAG_VIRTUAL) != 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 116)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 116)), j4, int32(3)) p11 = -int32(1) p3 = int32(3) } else { if (*TColumn)(unsafe.Pointer(pCol1)).FiDflt != 0 { *(*uintptr)(unsafe.Pointer(bp + 128)) = uintptr(0) - _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab9, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8((*TColumn)(unsafe.Pointer(pCol1)).Faffinity), bp+128) + _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab10, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8((*TColumn)(unsafe.Pointer(pCol1)).Faffinity), bp+128) if *(*uintptr)(unsafe.Pointer(bp + 128)) != 0 { p4 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 128))) _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 128))) } } p11 = *(*int32)(unsafe.Pointer(bp + 116)) - if !((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { - p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab9), int16(j4))) + if !((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { + p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab10), int16(j4))) } else { - p3 = int32(_sqlite3TableColumnToStorage(tls, pTab9, int16(j4))) + p3 = int32(_sqlite3TableColumnToStorage(tls, pTab10, int16(j4))) } } labelError = _sqlite3VdbeMakeLabel(tls, pParse) @@ -119378,10 +120129,10 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** is REAL, we have to load the actual data using OP_Column ** to reliably determine if the value is a NULL. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), p11, p3, int32(3)) - _sqlite3ColumnDefault(tls, v, pTab9, j4, int32(3)) + _sqlite3ColumnDefault(tls, v, pTab10, j4, int32(3)) jmp3 = _sqlite3VdbeAddOp2(tls, v, int32(OP_NotNull), int32(3), labelOk) } - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18585, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18701, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) if doTypeCheck != 0 { _sqlite3VdbeGoto(tls, v, labelError) @@ -119394,7 +120145,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if bStrict != 0 && doTypeCheck != 0 { _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(_aStdTypeMask[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)])) - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18605, libc.VaList(bp+184, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18721, libc.VaList(bp+184, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) == int32(SQLITE_AFF_TEXT) { @@ -119402,7 +120153,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** NULL, TEXT, or BLOB. */ _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18627, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18743, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) >= int32(SQLITE_AFF_NUMERIC) { @@ -119411,12 +120162,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1b)) /* NULL, INT, FLOAT, or BLOB */ if p11 >= 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 116)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 116)), j4, int32(3)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18650, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18766, -int32(1)) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), -int32(1), labelOk, int32(3), p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18652, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18768, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } } @@ -119424,14 +120175,14 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeResolveLabel(tls, v, labelError) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, labelOk) - goto _52 - _52: + goto _57 + _57: ; j4++ } /* Verify CHECK constraints */ - if (*TTable)(unsafe.Pointer(pTab9)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { - pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab9)).FpCheck, 0) + if (*TTable)(unsafe.Pointer(pTab10)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { + pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab10)).FpCheck, 0) if int32((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { addrCkFault = _sqlite3VdbeMakeLabel(tls, pParse) addrCkOk = _sqlite3VdbeMakeLabel(tls, pParse) @@ -119442,15 +120193,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprIfFalse(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8 + uintptr(k3)*32))).FpExpr, addrCkFault, 0) - goto _53 - _53: + goto _58 + _58: ; k3-- } _sqlite3ExprIfTrue(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8))).FpExpr, addrCkOk, int32(SQLITE_JUMPIFNULL)) _sqlite3VdbeResolveLabel(tls, v, addrCkFault) (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18672, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18788, libc.VaList(bp+184, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr2, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -119460,25 +120211,25 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(isQuick != 0) { /* Omit the remaining tests for quick_check */ /* Validate index entries for the current row */ j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } ckUniq = _sqlite3VdbeMakeLabel(tls, pParse) - if pPk1 == pIdx5 { - goto _54 + if pPk1 == pIdx6 { + goto _59 } - r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 116)), 0, 0, bp+136, pPrior, r1) - pPrior = pIdx5 + r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx6, *(*int32)(unsafe.Pointer(bp + 116)), 0, 0, bp+136, pPrior, r1) + pPrior = pIdx6 _sqlite3VdbeAddOp2(tls, v, int32(OP_AddImm), int32(8)+j4, int32(1)) /* increment entry count */ /* Verify that an index entry exists for the current table row */ - jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 120))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18702) + jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 120))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18818) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18707) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18823) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) - jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx6)).FzName) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) jmp4 = _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, jmp21) @@ -119486,12 +120237,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** that extracts the rowid off the end of the index record. ** But it only works correctly if index record does not have ** any extra bytes at the end. Verify that this is the case. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { _sqlite3VdbeAddOp2(tls, v, int32(OP_IdxRowid), *(*int32)(unsafe.Pointer(bp + 120))+j4, int32(3)) - jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)-int32(1)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18728) + jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)-int32(1)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18844) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18764) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18880) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp7) } @@ -119500,100 +120251,75 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p label6 = 0 kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { - goto _55 + if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { + goto _60 } if label6 == 0 { label6 = _sqlite3VdbeMakeLabel(tls, pParse) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 120))+j4, kk, int32(3)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ne), int32(3), label6, r1+kk) - goto _55 - _55: + goto _60 + _60: ; kk++ } if label6 != 0 { jmp6 = _sqlite3VdbeAddOp0(tls, v, int32(OP_Goto)) _sqlite3VdbeResolveLabel(tls, v, label6) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18702) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18818) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18775) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18891) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp6) } /* For UNIQUE indexes, verify that only one entry exists with the ** current key. The entry is unique if (1) any column is NULL ** or (2) the next entry has a different key */ - if int32((*TIndex)(unsafe.Pointer(pIdx5)).FonError) != OE_None { + if int32((*TIndex)(unsafe.Pointer(pIdx6)).FonError) != OE_None { uniqOk = _sqlite3VdbeMakeLabel(tls, pParse) kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2))) - if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { - goto _56 + iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FaiColumn + uintptr(kk)*2))) + if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { + goto _61 } _sqlite3VdbeAddOp2(tls, v, int32(OP_IsNull), r1+kk, uniqOk) - goto _56 - _56: + goto _61 + _61: ; kk++ } jmp61 = _sqlite3VdbeAddOp1(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 120))+j4) _sqlite3VdbeGoto(tls, v, uniqOk) _sqlite3VdbeJumpHere(tls, v, jmp61) - _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 120))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18802) + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 120))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18918) _sqlite3VdbeGoto(tls, v, jmp5) _sqlite3VdbeResolveLabel(tls, v, uniqOk) } _sqlite3VdbeJumpHere(tls, v, jmp4) _sqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 136))) - goto _54 - _54: + goto _59 + _59: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } } _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 116)), loopTop) _sqlite3VdbeJumpHere(tls, v, loopTop-int32(1)) - if !(isQuick != 0) { - _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18829) - j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex - for { - if !(pIdx5 != 0) { - break - } - if pPk1 == pIdx5 { - goto _57 - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), *(*int32)(unsafe.Pointer(bp + 120))+j4, int32(3)) - addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+j4, 0, int32(3)) - _sqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) - _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) - _integrityCheckResultRow(tls, v) - _sqlite3VdbeJumpHere(tls, v, addr1) - goto _57 - _57: - ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext - j4++ - } - if pPk1 != 0 { - _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) - } + if pPk1 != 0 { + _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) } - goto _48 - _48: + goto _53 + _53: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -119605,60 +120331,60 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata - if pObjTab != 0 && pObjTab != pTab10 { - goto _58 + pTab11 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab11 { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == TABTYP_NORM { - goto _58 + if int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == TABTYP_NORM { + goto _62 } - if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { - goto _58 + if !(int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FnCol) <= 0 { + if int32((*TTable)(unsafe.Pointer(pTab11)).FnCol) <= 0 { zMod = *(*uintptr)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).FazArg)) + })(unsafe.Pointer(pTab11 + 64))).FazArg)) if _sqlite3HashFind(tls, db+576, zMod) == uintptr(0) { - goto _58 + goto _62 } } - _sqlite3ViewGetColumnNames(tls, pParse, pTab10) + _sqlite3ViewGetColumnNames(tls, pParse, pTab11) if (*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp == uintptr(0) { - goto _58 + })(unsafe.Pointer(pTab11 + 64))).Fp == uintptr(0) { + goto _62 } pVTab = (*TVTable)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp)).FpVtab + })(unsafe.Pointer(pTab11 + 64))).Fp)).FpVtab if pVTab == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FiVersion < int32(4) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FxIntegrity == uintptr(0) { - goto _58 + goto _62 } _sqlite3VdbeAddOp3(tls, v, int32(OP_VCheck), i9, int32(3), isQuick) - (*TTable)(unsafe.Pointer(pTab10)).FnTabRef++ - _sqlite3VdbeAppendP4(tls, v, pTab10, -int32(16)) + (*TTable)(unsafe.Pointer(pTab11)).FnTabRef++ + _sqlite3VdbeAppendP4(tls, v, pTab11, -int32(16)) a11 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a11) - goto _58 - goto _58 - _58: + goto _62 + goto _62 + _62: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -119671,7 +120397,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if aOp2 != 0 { (*(*TVdbeOp)(unsafe.Pointer(aOp2))).Fp2 = int32(1) - *(*int32)(unsafe.Pointer(bp + 112)) (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 2*24))).Fp4type = int8(-libc.Int32FromInt32(1)) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18858 + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18945 (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 5*24))).Fp4type = int8(-libc.Int32FromInt32(1)) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = _sqlite3ErrStr(tls, int32(SQLITE_CORRUPT)) } @@ -119729,20 +120455,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc != 0 { - v60 = int32((*struct { + v64 = int32((*struct { FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc) } else { - v60 = int32(SQLITE_UTF16LE) + v64 = int32(SQLITE_UTF16LE) } - enc = uint8(v60) + enc = uint8(v64) (*TSchema)(unsafe.Pointer((*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema)).Fenc = enc _sqlite3SetTextEncoding(tls, db, enc) break } - goto _59 - _59: + goto _63 + _63: ; pEnc += 16 } @@ -119750,7 +120476,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).FzName != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18919, libc.VaList(bp+184, zRight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19006, libc.VaList(bp+184, zRight)) } } } @@ -119828,11 +120554,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p i10 = 0 (*TParse)(unsafe.Pointer(pParse)).FnMem = int32(1) for { - v62 = i10 + v66 = i10 i10++ - v61 = Xsqlite3_compileoption_get(tls, v62) - zOpt = v61 - if !(v61 != uintptr(0)) { + v65 = Xsqlite3_compileoption_get(tls, v66) + zOpt = v65 + if !(v65 != uintptr(0)) { break } _sqlite3VdbeLoadString(tls, v, int32(1), zOpt) @@ -119848,20 +120574,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p fallthrough case int32(PragTyp_WAL_CHECKPOINT): if (*TToken)(unsafe.Pointer(pId2)).Fz != 0 { - v63 = iDb + v67 = iDb } else { - v63 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) + v67 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) } - iBt = v63 + iBt = v67 eMode2 = SQLITE_CHECKPOINT_PASSIVE if zRight != 0 { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18114) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18201) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_FULL) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18944) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+19031) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_RESTART) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18267) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18354) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_TRUNCATE) } } @@ -119885,11 +120611,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p Xsqlite3_wal_autocheckpoint(tls, db, _sqlite3Atoi(tls, zRight)) } if (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback == __ccgo_fp(_sqlite3WalDefaultHook) { - v64 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) + v68 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) } else { - v64 = 0 + v68 = 0 } - _returnSingleInt(tls, v, int64(v64)) + _returnSingleInt(tls, v, int64(v68)) break /* ** PRAGMA shrink_memory @@ -119917,47 +120643,68 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** ** The optional argument is a bitmask of optimizations to perform: ** - ** 0x0001 Debugging mode. Do not actually perform any optimizations - ** but instead return one line of text for each optimization - ** that would have been done. Off by default. + ** 0x00001 Debugging mode. Do not actually perform any optimizations + ** but instead return one line of text for each optimization + ** that would have been done. Off by default. ** - ** 0x0002 Run ANALYZE on tables that might benefit. On by default. - ** See below for additional information. + ** 0x00002 Run ANALYZE on tables that might benefit. On by default. + ** See below for additional information. ** - ** 0x0004 (Not yet implemented) Record usage and performance - ** information from the current session in the - ** database file so that it will be available to "optimize" - ** pragmas run by future database connections. + ** 0x00010 Run all ANALYZE operations using an analysis_limit that + ** is the lessor of the current analysis_limit and the + ** SQLITE_DEFAULT_OPTIMIZE_LIMIT compile-time option. + ** The default value of SQLITE_DEFAULT_OPTIMIZE_LIMIT is + ** currently (2024-02-19) set to 2000, which is such that + ** the worst case run-time for PRAGMA optimize on a 100MB + ** database will usually be less than 100 milliseconds on + ** a RaspberryPI-4 class machine. On by default. ** - ** 0x0008 (Not yet implemented) Create indexes that might have - ** been helpful to recent queries + ** 0x10000 Look at tables to see if they need to be reanalyzed + ** due to growth or shrinkage even if they have not been + ** queried during the current connection. Off by default. ** - ** The default MASK is and always shall be 0xfffe. 0xfffe means perform all - ** of the optimizations listed above except Debug Mode, including new - ** optimizations that have not yet been invented. If new optimizations are - ** ever added that should be off by default, those off-by-default - ** optimizations will have bitmasks of 0x10000 or larger. + ** The default MASK is and always shall be 0x0fffe. In the current + ** implementation, the default mask only covers the 0x00002 optimization, + ** though additional optimizations that are covered by 0x0fffe might be + ** added in the future. Optimizations that are off by default and must + ** be explicitly requested have masks of 0x10000 or greater. ** ** DETERMINATION OF WHEN TO RUN ANALYZE ** ** In the current implementation, a table is analyzed if only if all of ** the following are true: ** - ** (1) MASK bit 0x02 is set. + ** (1) MASK bit 0x00002 is set. ** - ** (2) The query planner used sqlite_stat1-style statistics for one or - ** more indexes of the table at some point during the lifetime of - ** the current connection. + ** (2) The table is an ordinary table, not a virtual table or view. ** - ** (3) One or more indexes of the table are currently unanalyzed OR - ** the number of rows in the table has increased by 25 times or more - ** since the last time ANALYZE was run. + ** (3) The table name does not begin with "sqlite_". + ** + ** (4) One or more of the following is true: + ** (4a) The 0x10000 MASK bit is set. + ** (4b) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. + ** (4c) The query planner used sqlite_stat1-style statistics for one + ** or more indexes of the table at some point during the lifetime + ** of the current connection. + ** + ** (5) One or more of the following is true: + ** (5a) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. (Same as 4a) + ** (5b) The number of rows in the table has increased or decreased by + ** 10-fold. In other words, the current size of the table is + ** 10 times larger than the size in sqlite_stat1 or else the + ** current size is less than 1/10th the size in sqlite_stat1. ** ** The rules for when tables are analyzed are likely to change in - ** future releases. + ** future releases. Future versions of SQLite might accept a string + ** literal argument to this pragma that contains a mnemonic description + ** of the options rather than a bitmap. */ fallthrough - case int32(PragTyp_OPTIMIZE): /* Mask of operations to perform */ + case int32(PragTyp_OPTIMIZE): /* Analysis limit to use */ + nCheck = 0 /* Number of tables to be optimized */ + nBtree = 0 /* Number of indexes on the current table */ if zRight != 0 { opMask = uint32(_sqlite3Atoi(tls, zRight)) if opMask&uint32(0x02) == uint32(0) { @@ -119966,22 +120713,31 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { opMask = uint32(0xfffe) } - v66 = pParse + 52 - v65 = *(*int32)(unsafe.Pointer(v66)) - *(*int32)(unsafe.Pointer(v66))++ - iTabCur = v65 + if opMask&uint32(0x10) == uint32(0) { + nLimit = 0 + } else { + if (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit > 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit < int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) { + nLimit = 0 + } else { + nLimit = int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) + } + } + v70 = pParse + 52 + v69 = *(*int32)(unsafe.Pointer(v70)) + *(*int32)(unsafe.Pointer(v70))++ + iTabCur = v69 if zDb != 0 { - v68 = iDb + v72 = iDb } else { - v68 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) + v72 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) } - iDbLast = v68 + iDbLast = v72 for { if !(iDb <= iDbLast) { break } if iDb == int32(1) { - goto _67 + goto _71 } _sqlite3CodeVerifySchema(tls, pParse, iDb) pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema @@ -119990,52 +120746,122 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(k4 != 0) { break } - pTab11 = (*THashElem)(unsafe.Pointer(k4)).Fdata - /* If table pTab has not been used in a way that would benefit from - ** having analysis statistics during the current session, then skip it. - ** This also has the effect of skipping virtual tables and views */ - if (*TTable)(unsafe.Pointer(pTab11)).FtabFlags&uint32(TF_StatsUsed) == uint32(0) { - goto _69 - } - /* Reanalyze if the table is 25 times larger than the last analysis */ - szThreshold = int16(int32((*TTable)(unsafe.Pointer(pTab11)).FnRowLogEst) + int32(46)) - pIdx6 = (*TTable)(unsafe.Pointer(pTab11)).FpIndex + pTab12 = (*THashElem)(unsafe.Pointer(k4)).Fdata + /* This only works for ordinary tables */ + if !(int32((*TTable)(unsafe.Pointer(pTab12)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _73 + } + /* Do not scan system tables */ + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab12)).FzName, __ccgo_ts+6937, int32(7)) { + goto _73 + } + /* Find the size of the table as last recorded in sqlite_stat1. + ** If any index is unanalyzed, then the threshold is -1 to + ** indicate a new, unanalyzed index + */ + szThreshold = (*TTable)(unsafe.Pointer(pTab12)).FnRowLogEst + nIndex = 0 + pIdx7 = (*TTable)(unsafe.Pointer(pTab12)).FpIndex for { - if !(pIdx6 != 0) { + if !(pIdx7 != 0) { break } - if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7)) != 0) { - szThreshold = 0 /* Always analyze if any index lacks statistics */ - break + nIndex++ + if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx7 + 100))&0x80>>7)) != 0) { + szThreshold = int16(-int32(1)) /* Always analyze if any index lacks statistics */ } - goto _70 - _70: + goto _74 + _74: ; - pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext + pIdx7 = (*TIndex)(unsafe.Pointer(pIdx7)).FpNext } - if szThreshold != 0 { - _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab11, int32(OP_OpenRead)) - _sqlite3VdbeAddOp3(tls, v, int32(OP_IfSmaller), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), int32(szThreshold)) + /* If table pTab has not been used in a way that would benefit from + ** having analysis statistics during the current session, then skip it, + ** unless the 0x10000 MASK bit is set. */ + if (*TTable)(unsafe.Pointer(pTab12)).FtabFlags&uint32(TF_MaybeReanalyze) != uint32(0) { + /* Check for size change if stat1 has been used for a query */ + } else { + if opMask&uint32(0x10000) != 0 { + /* Check for size change if 0x10000 is set */ + } else { + if (*TTable)(unsafe.Pointer(pTab12)).FpIndex != uintptr(0) && int32(szThreshold) < 0 { + /* Do analysis if unanalyzed indexes exists */ + } else { + /* Otherwise, we can skip this table */ + goto _73 + } + } + } + nCheck++ + if nCheck == int32(2) { + /* If ANALYZE might be invoked two or more times, hold a write + ** transaction for efficiency */ + _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) + } + nBtree += nIndex + int32(1) + /* Reanalyze if the table is 10 times larger or smaller than + ** the last analysis. Unconditional reanalysis if there are + ** unanalyzed indexes. */ + _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab12, int32(OP_OpenRead)) + if int32(szThreshold) >= 0 { + iRange = int16(33) /* 10x size change */ + if int32(szThreshold) >= int32(iRange) { + v75 = int32(szThreshold) - int32(iRange) + } else { + v75 = -int32(1) + } + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IfSizeBetween), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), v75, int32(szThreshold)+int32(iRange)) + } else { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1))) } - zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18952, libc.VaList(bp+184, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab11)).FzName)) + zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+19039, libc.VaList(bp+184, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab12)).FzName)) if opMask&uint32(0x01) != 0 { r11 = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, r11, 0, zSubSql, -int32(6)) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), r11, int32(1)) } else { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), 0, 0, 0, zSubSql, -int32(6)) + if nLimit != 0 { + v76 = int32(0x02) + } else { + v76 = 00 + } + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), v76, nLimit, 0, zSubSql, -int32(6)) } - goto _69 - _69: + goto _73 + _73: ; k4 = (*THashElem)(unsafe.Pointer(k4)).Fnext } - goto _67 - _67: + goto _71 + _71: ; iDb++ } _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) + /* In a schema with a large number of tables and indexes, scale back + ** the analysis_limit to avoid excess run-time in the worst case. + */ + if !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && nLimit > 0 && nBtree > int32(100) { + nLimit = int32(100) * nLimit / nBtree + if nLimit < int32(100) { + nLimit = int32(100) + } + aOp5 = _sqlite3VdbeGetOp(tls, v, 0) + iEnd = _sqlite3VdbeCurrentAddr(tls, v) + iAddr1 = 0 + for { + if !(iAddr1 < iEnd) { + break + } + if int32((*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fopcode) == int32(OP_SqlExec) { + (*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fp2 = nLimit + } + goto _77 + _77: + ; + iAddr1++ + } + } break /* ** PRAGMA busy_timeout @@ -120261,34 +121087,34 @@ var _encnames1 = [9]struct { Fenc Tu8 }{ 0: { - FzName: __ccgo_ts + 18861, + FzName: __ccgo_ts + 18948, Fenc: uint8(SQLITE_UTF8), }, 1: { - FzName: __ccgo_ts + 18866, + FzName: __ccgo_ts + 18953, Fenc: uint8(SQLITE_UTF8), }, 2: { - FzName: __ccgo_ts + 18872, + FzName: __ccgo_ts + 18959, Fenc: uint8(SQLITE_UTF16LE), }, 3: { - FzName: __ccgo_ts + 18881, + FzName: __ccgo_ts + 18968, Fenc: uint8(SQLITE_UTF16BE), }, 4: { - FzName: __ccgo_ts + 18890, + FzName: __ccgo_ts + 18977, Fenc: uint8(SQLITE_UTF16LE), }, 5: { - FzName: __ccgo_ts + 18898, + FzName: __ccgo_ts + 18985, Fenc: uint8(SQLITE_UTF16BE), }, 6: { - FzName: __ccgo_ts + 18906, + FzName: __ccgo_ts + 18993, }, 7: { - FzName: __ccgo_ts + 18913, + FzName: __ccgo_ts + 19000, }, 8: {}, } @@ -120384,14 +121210,14 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg _ = argc _ = argv _sqlite3StrAccumInit(tls, bp, uintptr(0), bp+32, int32(200), 0) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18970) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19057) i = 0 j = int32((*TPragmaName)(unsafe.Pointer(pPragma)).FiPragCName) for { if !(i < int32((*TPragmaName)(unsafe.Pointer(pPragma)).FnPragCName)) { break } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18985, libc.VaList(bp+240, int32(cSep), _pragCName[j])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19072, libc.VaList(bp+240, int32(cSep), _pragCName[j])) cSep = int8(',') goto _1 _1: @@ -120400,19 +121226,19 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg j++ } if i == 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18992, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19079, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&int32(PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18998) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19085) j++ } if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(libc.Int32FromInt32(PragFlg_SchemaOpt)|libc.Int32FromInt32(PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19010) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19097) j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5454, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5518, int32(1)) _sqlite3StrAccumFinish(tls, bp) rc = Xsqlite3_declare_vtab(tls, db, bp+32) if rc == SQLITE_OK { @@ -120427,7 +121253,7 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg (*TPragmaVtab)(unsafe.Pointer(pTab)).FnHidden = uint8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab return rc @@ -120473,14 +121299,14 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 if !(i < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { break } - if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { goto _1 } if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != int32(SQLITE_INDEX_CONSTRAINT_EQ) { goto _1 } - if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { - goto _1 + if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + return int32(SQLITE_CONSTRAINT) } j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn - int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) seen[j] = i + int32(1) @@ -120498,16 +121324,13 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 j = seen[0] - int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) - if seen[int32(1)] == 0 { - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(1000) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000) - return SQLITE_OK - } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(20) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(20) - j = seen[int32(1)] - int32(1) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + if seen[int32(1)] != 0 { + j = seen[int32(1)] - int32(1) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + } return SQLITE_OK } @@ -120535,6 +121358,7 @@ func _pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { _ = i Xsqlite3_finalize(tls, (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) + (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(16)/libc.Uint64FromInt64(8))) { @@ -120610,7 +121434,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr } zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+40, zText)) + *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+40, zText)) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -120622,13 +121446,13 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr j++ } _sqlite3StrAccumInit(tls, bp, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4))) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19025) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19112) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19033, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19120, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) } Xsqlite3_str_appendall(tls, bp, (*TPragmaName)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19037, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19124, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) } zSql = _sqlite3StrAccumFinish(tls, bp) if zSql == uintptr(0) { @@ -120637,7 +121461,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr rc = Xsqlite3_prepare_v2(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), pCsr+8, uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return _pragmaVtabNext(tls, pVtabCursor) @@ -120763,24 +121587,24 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) /* A error message has already been generated. Do not overwrite it */ } else { if (*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(libc.Int32FromInt32(INITFLAG_AlterMask)) != 0 { - *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+19071, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) + *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+19158, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) (*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR) } else { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140891)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141840)) } else { if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - v1 = __ccgo_ts + 5456 + v1 = __ccgo_ts + 5520 } zObj = v1 - z = _sqlite3MPrintf(tls, db, __ccgo_ts+19099, libc.VaList(bp+8, zObj)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+19186, libc.VaList(bp+8, zObj)) if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 { - z = _sqlite3MPrintf(tls, db, __ccgo_ts+19130, libc.VaList(bp+8, z, zExtra)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+19217, libc.VaList(bp+8, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140898)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141847)) } } } @@ -120788,9 +121612,9 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } var _azAlterType = [3]uintptr{ - 0: __ccgo_ts + 19041, - 1: __ccgo_ts + 19048, - 2: __ccgo_ts + 19060, + 0: __ccgo_ts + 19128, + 1: __ccgo_ts + 19135, + 2: __ccgo_ts + 19147, } // C documentation @@ -120866,7 +121690,7 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(iDb) if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), db+192) == 0 || (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage && (*TInitData)(unsafe.Pointer(pData)).FmxPage > uint32(0) { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14864) + _corruptSchema(tls, pData, argv, __ccgo_ts+14957) } } libc.SetBitFieldPtr8Uint32(db+192+8, libc.Uint32FromInt32(0), 0, 0x1) @@ -120899,11 +121723,11 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr } else { pIndex = _sqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName) if pIndex == uintptr(0) { - _corruptSchema(tls, pData, argv, __ccgo_ts+19138) + _corruptSchema(tls, pData, argv, __ccgo_ts+19225) } else { if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum < uint32(2) || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage || _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14864) + _corruptSchema(tls, pData, argv, __ccgo_ts+14957) } } } @@ -120942,18 +121766,18 @@ func _sqlite3InitOne(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. */ - (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9406 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9531 if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6881 + v2 = __ccgo_ts + 6945 } else { - v2 = __ccgo_ts + 6414 + v2 = __ccgo_ts + 6478 } v1 = v2 zSchemaTabName = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(2)] = (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8478 - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 19151 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8603 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 19238 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(5)] = uintptr(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 72))).FiDb = iDb @@ -121042,7 +121866,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl } else { /* If opening an attached database, the encoding much match ENC(db) */ if (*(*[5]int32)(unsafe.Pointer(bp + 48)))[libc.Int32FromInt32(BTREE_TEXT_ENCODING)-libc.Int32FromInt32(1)]&int32(3) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12443) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12568) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -121068,7 +121892,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = uint8(1) } if int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > int32(SQLITE_MAX_FILE_FORMAT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+19223) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+19310) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -121083,7 +121907,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl /* Read the schema information out of the schema tables */ (*(*TInitData)(unsafe.Pointer(bp + 72))).FmxPage = _sqlite3BtreeLastPage(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+19247, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+19334, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, __ccgo_fp(_sqlite3InitCallback), bp+72, uintptr(0)) @@ -121382,7 +122206,12 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) { var pCleanup uintptr _ = pCleanup - pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + if _sqlite3FaultSim(tls, int32(300)) != 0 { + pCleanup = uintptr(0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) + } else { + pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + } if pCleanup != 0 { (*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup (*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup @@ -121413,7 +122242,7 @@ func _sqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FpParse = pParse (*TParse)(unsafe.Pointer(pParse)).Fdb = db if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1634, 0) } } @@ -121447,7 +122276,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } else { } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1634, 0) v1 = libc.Int32FromInt32(SQLITE_NOMEM) rc = v1 (*Tsqlite3)(unsafe.Pointer(db)).FerrCode = v1 @@ -121496,7 +122325,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep rc = _sqlite3BtreeSchemaLocked(tls, pBt) if rc != 0 { zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FzDbSName - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+19281, libc.VaList(bp+432, zDb)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+19368, libc.VaList(bp+432, zDb)) goto end_prepare } } @@ -121512,7 +122341,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep if nBytes >= 0 && (nBytes == 0 || int32(*(*int8)(unsafe.Pointer(zSql + uintptr(nBytes-int32(1))))) != 0) { mxLen = *(*int32)(unsafe.Pointer(db + 136 + 1*4)) if nBytes > mxLen { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+19311, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+19398, 0) rc = _sqlite3ApiExit(tls, db, int32(SQLITE_TOOBIG)) goto end_prepare } @@ -121546,7 +122375,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } rc = (*(*TParse)(unsafe.Pointer(bp))).Frc if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3799, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3863, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) } else { _sqlite3Error(tls, db, rc) @@ -121576,7 +122405,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3 cnt = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141699)) + return _sqlite3MisuseError(tls, int32(142654)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) _sqlite3BtreeEnterAll(tls, db) @@ -121710,7 +122539,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr rc = SQLITE_OK *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141848)) + return _sqlite3MisuseError(tls, int32(142803)) } if nBytes >= 0 { z = zSql @@ -122116,15 +122945,15 @@ func _sqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC i++ } if jointype&(libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER)) == libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER) || jointype&int32(JT_ERROR) != 0 || jointype&(libc.Int32FromInt32(JT_OUTER)|libc.Int32FromInt32(JT_LEFT)|libc.Int32FromInt32(JT_RIGHT)) == int32(JT_OUTER) { - zSp1 = __ccgo_ts + 11550 - zSp2 = __ccgo_ts + 11550 + zSp1 = __ccgo_ts + 11675 + zSp2 = __ccgo_ts + 11675 if pB == uintptr(0) { zSp1++ } if pC == uintptr(0) { zSp2++ } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19330, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19417, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) jointype = int32(JT_INNER) } return jointype @@ -122415,7 +123244,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { if int32((*TSrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype)&int32(JT_NATURAL) != 0 { pUsing = uintptr(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19360, libc.VaList(bp+16, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19447, libc.VaList(bp+16, 0)) return int32(1) } j = 0 @@ -122465,7 +123294,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { zName1 = (*(*TIdList_item)(unsafe.Pointer(pList + 8 + uintptr(j)*16))).FzName iRightCol = _sqlite3ColumnIndex(tls, pRightTab, zName1) if iRightCol < 0 || _tableAndColumnIndex(tls, pSrc, 0, i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19410, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19497, libc.VaList(bp+16, zName1)) return int32(1) } pE1 = _sqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4))) @@ -122487,7 +123316,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { pFuncArgs = uintptr(0) /* Arguments to the coalesce() */ for _tableAndColumnIndex(tls, pSrc, *(*int32)(unsafe.Pointer(bp))+int32(1), i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) != 0 { if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 60 + 4))&0x400>>10)) == 0 || _sqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 72)), zName1) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19474, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19561, libc.VaList(bp+16, zName1)) break } pFuncArgs = _sqlite3ExprListAppend(tls, pParse, pFuncArgs, pE1) @@ -122531,7 +123360,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { } var _tkCoalesce = TToken{ - Fz: __ccgo_ts + 7078, + Fz: __ccgo_ts + 7142, Fn: uint32(8), } @@ -123307,13 +124136,13 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { _ = z switch id { case int32(TK_ALL): - z = __ccgo_ts + 19511 + z = __ccgo_ts + 19598 case int32(TK_INTERSECT): - z = __ccgo_ts + 19521 + z = __ccgo_ts + 19608 case int32(TK_EXCEPT): - z = __ccgo_ts + 19531 + z = __ccgo_ts + 19618 default: - z = __ccgo_ts + 19538 + z = __ccgo_ts + 19625 break } return z @@ -123334,7 +124163,7 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { func _explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19544, libc.VaList(bp+8, zUsage)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19631, libc.VaList(bp+8, zUsage)) } /* @@ -123368,12 +124197,17 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, iParm = (*TSelectDest)(unsafe.Pointer(pDest)).FiSDParm /* True if sorter record includes seq. no. */ nRefKey = 0 aOutEx = (*TSelect)(unsafe.Pointer(p)).FpEList + 8 - if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 { - v1 = __ccgo_ts + 19567 + nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat == 0 || nKey == int32(1) { + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat != 0 { + v1 = __ccgo_ts + 19654 + } else { + v1 = __ccgo_ts + 1664 + } + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19668, libc.VaList(bp+8, v1)) } else { - v1 = __ccgo_ts + 1650 + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19699, libc.VaList(bp+8, nKey)) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19582, libc.VaList(bp+8, v1)) if (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut != 0 { _sqlite3VdbeAddOp2(tls, v, int32(OP_Gosub), (*TSortCtx)(unsafe.Pointer(pSort)).FregReturn, (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut) _sqlite3VdbeGoto(tls, v, addrBreak) @@ -123395,7 +124229,6 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, regRow = _sqlite3GetTempRange(tls, pParse, nColumn) } } - nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat if int32((*TSortCtx)(unsafe.Pointer(pSort)).FsortFlags)&int32(SORTFLAG_UseSorter) != 0 { v3 = pParse + 56 *(*int32)(unsafe.Pointer(v3))++ @@ -123613,7 +124446,7 @@ func _columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr } if iCol < 0 { zType = __ccgo_ts + 1138 - *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 17045 + *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 17132 } else { *(*uintptr)(unsafe.Pointer(bp + 16)) = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, uintptr(0)) @@ -123759,13 +124592,13 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) iCol = int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) } if iCol < 0 { - zCol = __ccgo_ts + 17045 + zCol = __ccgo_ts + 17132 } else { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } if fullName != 0 { zName1 = uintptr(0) - zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12729, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) + zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12854, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName1, __ccgo_fp(_sqlite3OomClear)) } else { _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, uintptr(-libc.Int32FromInt32(1))) @@ -123773,7 +124606,7 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { z = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32))).FzEName if z == uintptr(0) { - v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19613, libc.VaList(bp+8, i+int32(1))) + v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19745, libc.VaList(bp+8, i+int32(1))) } else { v2 = _sqlite3DbStrDup(tls, db, z) } @@ -123865,7 +124698,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if iCol >= 0 { v3 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } else { - v3 = __ccgo_ts + 17045 + v3 = __ccgo_ts + 17132 } zName = v3 } else { @@ -123880,7 +124713,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if zName != 0 && !(_sqlite3IsTrueOrFalse(tls, zName) != 0) { zName = _sqlite3DbStrDup(tls, db, zName) } else { - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19613, libc.VaList(bp+40, i+int32(1))) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19745, libc.VaList(bp+40, i+int32(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. @@ -123916,7 +124749,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, } *(*Tu32)(unsafe.Pointer(bp))++ v8 = *(*Tu32)(unsafe.Pointer(bp)) - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19622, libc.VaList(bp+40, nName, zName, v8)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19754, libc.VaList(bp+40, nName, zName, v8)) _sqlite3ProgressCheck(tls, pParse) if *(*Tu32)(unsafe.Pointer(bp)) > uint32(3) { Xsqlite3_randomness(tls, int32(4), bp) @@ -123976,9 +124809,9 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS defer tls.Free(64) var a, db, p, pCol, pColl, pS2, zType, p4, p5 uintptr var i, j, m int32 - var m1, n Ti64 + var k, n Ti64 var _ /* sNC at bp+0 */ TNameContext - _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, m, m1, n, p, pCol, pColl, pS2, zType, p4, p5 + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, k, m, n, p, pCol, pColl, pS2, zType, p4, p5 db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { return @@ -123995,17 +124828,22 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS if !(i < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } + m = 0 + pS2 = pSelect *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags) & libc.Int32FromInt32(COLFLAG_NOINSERT)) p = (*(*TExprList_item)(unsafe.Pointer(a + uintptr(i)*32))).FpExpr /* pCol->szEst = ... // Column size est for SELECT tables never used */ (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, p) + for int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) && (*TSelect)(unsafe.Pointer(pS2)).FpNext != uintptr(0) { + m |= _sqlite3ExprDataType(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext + (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + } if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) { (*TColumn)(unsafe.Pointer(pCol)).Faffinity = aff } - if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && (*TSelect)(unsafe.Pointer(pSelect)).FpNext != 0 { - m = 0 - m = 0 - pS2 = (*TSelect)(unsafe.Pointer(pSelect)).FpNext + if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && ((*TSelect)(unsafe.Pointer(pS2)).FpNext != 0 || pS2 != pSelect) { + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext for { if !(pS2 != 0) { break @@ -124030,7 +124868,7 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS zType = _columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0)) if zType == uintptr(0) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) != int32(_sqlite3AffinityType(tls, zType, uintptr(0))) { if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_NUMERIC) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_FLEXNUM) { - zType = __ccgo_ts + 19630 + zType = __ccgo_ts + 19762 } else { zType = uintptr(0) j = int32(1) @@ -124050,13 +124888,13 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS } } if zType != 0 { - m1 = int64(_sqlite3Strlen30(tls, zType)) + k = int64(_sqlite3Strlen30(tls, zType)) n = int64(_sqlite3Strlen30(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) - (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+m1+int64(2))) + (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+k+int64(2))) p4 = pCol + 14 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) & ^(libc.Int32FromInt32(COLFLAG_HASTYPE) | libc.Int32FromInt32(COLFLAG_HASCOLL))) if (*TColumn)(unsafe.Pointer(pCol)).FzCnName != 0 { - libc.X__builtin___memcpy_chk(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(m1+int64(1)), libc.X__builtin_object_size(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), 0)) + libc.X__builtin___memcpy_chk(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(k+int64(1)), libc.X__builtin_object_size(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), 0)) p5 = pCol + 14 *(*Tu16)(unsafe.Pointer(p5)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p5))) | libc.Int32FromInt32(COLFLAG_HASTYPE)) } @@ -124345,7 +125183,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest iDistinct = 0 /* To ensure unique results if UNION */ eDest = int32(SRT_Fifo) /* Registers used by LIMIT and OFFSET */ if (*TSelect)(unsafe.Pointer(p)).FpWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19634, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19766, 0) return } /* Obtain authorization to do a recursive query */ @@ -124438,7 +125276,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest break } if (*TSelect)(unsafe.Pointer(pFirstRec)).FselFlags&uint32(SF_Aggregate) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19683, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19815, 0) goto end_of_recursive_query } (*TSelect)(unsafe.Pointer(pFirstRec)).Fop = uint8(TK_ALL) @@ -124453,7 +125291,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest /* Store the results of the setup-query in Queue. */ pSetup = (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior (*TSelect)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19725, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19857, 0) rc = _sqlite3Select(tls, pParse, pSetup, bp) (*TSelect)(unsafe.Pointer(pSetup)).FpNext = p if rc != 0 { @@ -124481,7 +125319,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest ** the value for the recursive-table. Store the results in the Queue. */ (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19731, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19863, 0) _sqlite3Select(tls, pParse, p, bp) (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup /* Keep running the loop until the Queue is empty */ @@ -124534,11 +125372,11 @@ func _multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) nRow += bShowAll } if nRow == int32(1) { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } else { - v1 = __ccgo_ts + 3689 + v1 = __ccgo_ts + 3753 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19746, libc.VaList(bp+8, nRow, v1)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19878, libc.VaList(bp+8, nRow, v1)) for p != 0 { _selectInnerLoop(tls, pParse, p, -int32(1), uintptr(0), uintptr(0), pDest, int32(1), int32(1)) if !(bShowAll != 0) { @@ -124646,8 +125484,8 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in return _multiSelectOrderBy(tls, pParse, p, pDest) } else { if (*TSelect)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19769, 0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19784, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19901, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19916, 0) } /* Generate code for the left and right SELECT statements. */ @@ -124672,7 +125510,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in _sqlite3VdbeAddOp3(tls, v, int32(OP_OffsetLimit), (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TSelect)(unsafe.Pointer(p)).FiOffset+int32(1), (*TSelect)(unsafe.Pointer(p)).FiOffset) } } - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19511, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19598, 0) rc = _sqlite3Select(tls, pParse, p, bp) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124724,7 +125562,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 48))).FeDest = op - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19803, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19935, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+48) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124782,7 +125620,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit1 = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 88))).FiSDParm = tab2 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19803, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19935, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+88) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124905,9 +125743,9 @@ func _sqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) bp := tls.Alloc(16) defer tls.Free(16) if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Values) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19824, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19956, 0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19870, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20002, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) } } @@ -125276,8 +126114,8 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr (*TSelect)(unsafe.Pointer(pSplit)).FpPrior = uintptr(0) (*TSelect)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy = _sqlite3ExprListDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0) - _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7715) - _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7715) + _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7840) + _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7840) /* Compute the limit registers */ _computeLimitRegisters(tls, pParse, p, labelEnd) if (*TSelect)(unsafe.Pointer(p)).FiLimit != 0 && op == int32(TK_ALL) { @@ -125321,14 +126159,14 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr regOutB = v21 _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), regAddrA) _sqlite3SelectDestInit(tls, bp+40, int32(SRT_Coroutine), regAddrB) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19952, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20084, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) /* Generate a coroutine to evaluate the SELECT statement to the ** left of the compound operator - the "A" select. */ addrSelectA = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regAddrA, 0, addrSelectA) (*TSelect)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19963, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20095, 0) _sqlite3Select(tls, pParse, pPrior, bp) _sqlite3VdbeEndCoroutine(tls, v, regAddrA) _sqlite3VdbeJumpHere(tls, v, addr1) @@ -125341,7 +126179,7 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr savedOffset = (*TSelect)(unsafe.Pointer(p)).FiOffset (*TSelect)(unsafe.Pointer(p)).FiLimit = regLimitB (*TSelect)(unsafe.Pointer(p)).FiOffset = 0 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19968, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20100, 0) _sqlite3Select(tls, pParse, p, bp+40) (*TSelect)(unsafe.Pointer(p)).FiLimit = savedLimit (*TSelect)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -125556,7 +126394,7 @@ func _substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) (r uintptr) { if pColl != 0 { v1 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v1 = __ccgo_ts + 5434 + v1 = __ccgo_ts + 5498 } pExpr = _sqlite3ExprAddCollateString(tls, (*TSubstContext)(unsafe.Pointer(pSubst)).FpParse, pExpr, v1) } @@ -126592,10 +127430,10 @@ func _findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft - if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pLeft) != 0 { + if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pLeft) != 0 { _constInsert(tls, pConst, pRight, pLeft, pExpr) } - if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pRight) != 0 { + if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pRight) != 0 { _constInsert(tls, pConst, pLeft, pRight, pExpr) } } @@ -126828,6 +127666,18 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** The hope is that the terms added to the inner query will make it more // ** efficient. // ** +// ** NAME AMBIGUITY +// ** +// ** This optimization is called the "WHERE-clause push-down optimization". +// ** +// ** Do not confuse this optimization with another unrelated optimization +// ** with a similar name: The "MySQL push-down optimization" causes WHERE +// ** clause terms that can be evaluated using only the index and without +// ** reference to the table are run first, so that if they are false, +// ** unnecessary table seeks are avoided. +// ** +// ** RULES +// ** // ** Do not attempt this optimization if: // ** // ** (1) (** This restriction was removed on 2017-09-29. We used to @@ -126893,10 +127743,10 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** (9c) There is a RIGHT JOIN (or FULL JOIN) in between the ON/USING // ** clause and the subquery. // ** -// ** Without this restriction, the push-down optimization might move -// ** the ON/USING filter expression from the left side of a RIGHT JOIN -// ** over to the right side, which leads to incorrect answers. See -// ** also restriction (6) in sqlite3ExprIsSingleTableConstraint(). +// ** Without this restriction, the WHERE-clause push-down optimization +// ** might move the ON/USING filter expression from the left side of a +// ** RIGHT JOIN over to the right side, which leads to incorrect answers. +// ** See also restriction (6) in sqlite3ExprIsSingleTableConstraint(). // ** // ** (10) The inner query is not the right-hand table of a RIGHT JOIN. // ** @@ -126989,7 +127839,7 @@ func _pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere ui nChng += _pushDownWhereTerms(tls, pParse, pSubq, (*TExpr)(unsafe.Pointer(pWhere)).FpRight, pSrcList, iSrc) pWhere = (*TExpr)(unsafe.Pointer(pWhere)).FpLeft } - if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc) != 0 { + if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc, int32(1)) != 0 { nChng++ *(*Tu32)(unsafe.Pointer(pSubq + 4)) |= uint32(SF_PushDown) for pSubq != 0 { @@ -127159,13 +128009,13 @@ func _minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) (r return uint8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8)) - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15898) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15991) == 0 { eRet = int32(WHERE_ORDERBY_MIN) if _sqlite3ExprCanBeNull(tls, (*(*TExprList_item)(unsafe.Pointer(pEList + 8))).FpExpr) != 0 { sortFlags = uint8(KEYINFO_ORDER_BIGNULL) } } else { - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15902) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15995) == 0 { eRet = int32(WHERE_ORDERBY_MAX) sortFlags = uint8(KEYINFO_ORDER_DESC) } else { @@ -127253,7 +128103,7 @@ func _sqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r in pIdx = (*TIndex)(unsafe.Pointer(pIdx)).FpNext } if !(pIdx != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19974, libc.VaList(bp+8, zIndexedBy, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20106, libc.VaList(bp+8, zIndexedBy, 0)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) return int32(SQLITE_ERROR) } @@ -127377,7 +128227,7 @@ func _cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19992, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20124, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) return int32(1) } return 0 @@ -127552,7 +128402,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } *(*Tu32)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= uint32(SF_CopyCte) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20015, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20147, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) return int32(2) } libc.SetBitFieldPtr16Uint32(pFrom+60+4, libc.Uint32FromInt32(1), 8, 0x100) @@ -127576,7 +128426,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ libc.SetBitFieldPtr16Uint32(pItem+60+4, libc.Uint32FromInt32(1), 6, 0x40) if (*TSelect)(unsafe.Pointer(pRecTerm)).FselFlags&uint32(SF_Recursive) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20035, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20167, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) return int32(2) } *(*Tu32)(unsafe.Pointer(pRecTerm + 4)) |= uint32(SF_Recursive) @@ -127598,7 +128448,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } pRecTerm = (*TSelect)(unsafe.Pointer(pRecTerm)).FpPrior } - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 20078 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 20210 pSavedWith = (*TParse)(unsafe.Pointer(pParse)).FpWith (*TParse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp)) if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { @@ -127629,7 +128479,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pEList = (*TSelect)(unsafe.Pointer(pLeft)).FpEList if (*TCte)(unsafe.Pointer(pCte)).FpCols != 0 { if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr != (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20101, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20233, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*TParse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return int32(2) } @@ -127638,9 +128488,9 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom _sqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8) if bMayRecursive != 0 { if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 20139 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 20271 } else { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 20173 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 20305 } _sqlite3WalkSelect(tls, pWalker, pSel) } @@ -127699,7 +128549,7 @@ func _sqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int if (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 { (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3DbStrDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias) } else { - (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+20211, libc.VaList(bp+8, pFrom)) + (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+20343, libc.VaList(bp+8, pFrom)) } for (*TSelect)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*TSelect)(unsafe.Pointer(pSel)).FpPrior @@ -127855,7 +128705,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { return int32(WRC_Abort) } if (*TTable)(unsafe.Pointer(pTab)).FnTabRef >= uint32(0xffff) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20215, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20347, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) (*TSrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return int32(WRC_Abort) } @@ -127870,7 +128720,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) && (*TTable)(unsafe.Pointer(pTab)).FpSchema != (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20254, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20386, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } (*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect = _sqlite3SelectDup(tls, db, (*(*struct { FpSelect uintptr @@ -127885,7 +128735,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).Fp)).FeVtabRisk) > libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15457, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15550, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } } nCol = (*TTable)(unsafe.Pointer(pTab)).FnCol @@ -128007,7 +128857,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if iDb >= 0 { v10 = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName } else { - v10 = __ccgo_ts + 6938 + v10 = __ccgo_ts + 7002 } zSchemaName = v10 } @@ -128024,7 +128874,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { pNew = _sqlite3ExprListAppend(tls, pParse, pNew, pRight) if pNew != 0 { pX = pNew + 8 + uintptr((*TExprList)(unsafe.Pointer(pNew)).FnExpr-int32(1))*32 - (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20285, libc.VaList(bp+8, zUName)) + (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20417, libc.VaList(bp+8, zUName)) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(ENAME_TAB), 0, 0x3) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(1), 7, 0x80) } @@ -128103,7 +128953,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if pNestedFrom != 0 && libc.Bool(libc.Bool(!(libc.Int32FromInt32(ViewCanHaveRowid) != 0)) || j < (*TExprList)(unsafe.Pointer(pNestedFrom)).FnExpr) { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, (*(*TExprList_item)(unsafe.Pointer(pNestedFrom + 8 + uintptr(j)*32))).FzEName) } else { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20290, libc.VaList(bp+8, zSchemaName, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20422, libc.VaList(bp+8, zSchemaName, zTabName, zName)) } if j == int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) { v13 = int32(ENAME_ROWID) @@ -128116,7 +128966,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } } else { if longNames != 0 { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12729, libc.VaList(bp+8, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12854, libc.VaList(bp+8, zTabName, zName)) libc.SetBitFieldPtr16Uint32(pX1+16+4, libc.Uint32FromInt32(ENAME_NAME), 0, 0x3) } else { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, zName) @@ -128136,9 +128986,9 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if !(tableSeen != 0) { if zTName != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20299, libc.VaList(bp+8, zTName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20431, libc.VaList(bp+8, zTName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20317, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20449, 0) } } } @@ -128152,7 +129002,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if (*TSelect)(unsafe.Pointer(p)).FpEList != 0 { if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20337, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20469, 0) return int32(WRC_Abort) } if elistFlags&uint32(libc.Int32FromInt32(EP_HasFunc)|libc.Int32FromInt32(EP_Subquery)) != uint32(0) { @@ -128493,12 +129343,12 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct >= 0 { pE = (*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFExpr if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20368, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20500, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -int32(1) } else { pKeyInfo = _sqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20419, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20551, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab >= 0 { @@ -128519,7 +129369,7 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { (*TKeyInfo)(unsafe.Pointer(pKeyInfo1)).FnKeyField++ } _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab, (*TExprList)(unsafe.Pointer(pOBList)).FnExpr+nExtra, 0, pKeyInfo1, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20452, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20584, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } goto _1 _1: @@ -128824,16 +129674,16 @@ func _explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintp if int32((*TParse)(unsafe.Pointer(pParse)).Fexplain) == int32(2) { bCover = libc.BoolInt32(pIdx != uintptr(0) && ((*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) || !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == libc.Int32FromInt32(SQLITE_IDXTYPE_PRIMARYKEY)))) if bCover != 0 { - v1 = __ccgo_ts + 20485 + v1 = __ccgo_ts + 20617 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } if bCover != 0 { v2 = (*TIndex)(unsafe.Pointer(pIdx)).FzName } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20508, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20640, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) } } @@ -128865,7 +129715,7 @@ func _havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3 ** statements AggInfo structure. */ if _sqlite3ExprIsConstantOrGroupBy(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*TSelect)(unsafe.Pointer(pS)).FpGroupBy) != 0 && libc.BoolInt32((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse)) == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8478) + pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8603) if pNew != 0 { pWhere = (*TSelect)(unsafe.Pointer(pS)).FpWhere t = *(*TExpr)(unsafe.Pointer(pNew)) @@ -129021,7 +129871,7 @@ func _countOfViewOptimization(tls *libc.TLS, pParse uintptr, p uintptr) (r int32 if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { return 0 } /* Result is an aggregate */ - if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+16192) != 0 { + if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+16285) != 0 { return 0 } /* Is count() */ if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != uintptr(0) { @@ -129284,7 +130134,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { v1 = (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p0)).FpTab)).FzName } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20520, libc.VaList(bp+176, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20652, libc.VaList(bp+176, v1)) goto select_end } /* Clear the SF_UFSrcCheck flag. The check has already been performed, @@ -129385,7 +130235,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r /* Catch mismatch in the declared columns of a view and the number of ** columns in the SELECT on the RHS */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) != (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20574, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20706, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end } /* Do not attempt the usual optimizations (flattening and ORDER BY @@ -129522,12 +130372,12 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r ** string for the fake column name seems safer. */ if (*TSrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0) && (*TSrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0) { - _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1650, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1664, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) } /* Generate code for all sub-queries in the FROM clause */ pSub1 = (*TSrcItem)(unsafe.Pointer(pItem1)).FpSelect - if pSub1 == uintptr(0) { + if pSub1 == uintptr(0) || (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub != 0 { goto _10 } /* The code for a subquery should only be generated once. */ @@ -129566,7 +130416,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop _sqlite3SelectDestInit(tls, bp+72, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20614, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20746, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60+4, libc.Uint32FromInt32(1), 5, 0x20) @@ -129614,7 +130464,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { } _sqlite3SelectDestInit(tls, bp+72, int32(SRT_EphemTab), (*TSrcItem)(unsafe.Pointer(pItem1)).FiCursor) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20629, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20761, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow if onceAddr != 0 { @@ -130024,11 +130874,11 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r groupBySort = 0 } else { if (*(*TDistinctCtx)(unsafe.Pointer(bp))).FisTnct != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Distinct) == uint32(0) { - v44 = __ccgo_ts + 20645 + v44 = __ccgo_ts + 20777 } else { - v44 = __ccgo_ts + 20654 + v44 = __ccgo_ts + 20786 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19544, libc.VaList(bp+176, v44)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19631, libc.VaList(bp+176, v44)) groupBySort = int32(1) nGroupBy = (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr nCol = nGroupBy @@ -130347,7 +131197,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeResolveLabel(tls, v, addrEnd) } /* endif aggregate query */ if int32((*(*TDistinctCtx)(unsafe.Pointer(bp))).FeTnctType) == int32(WHERE_DISTINCT_UNORDERED) { - _explainTempTable(tls, pParse, __ccgo_ts+20645) + _explainTempTable(tls, pParse, __ccgo_ts+20777) } /* If there is an ORDER BY clause, then we need to sort the results ** and send them to the callback one by one. @@ -130453,7 +131303,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr if !(i < nCol) { break } - z = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if z == uintptr(0) { goto malloc_failed } @@ -130469,7 +131319,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr } else { if int32((*TTabResult)(unsafe.Pointer(p)).FnColumn) != nCol { Xsqlite3_free(tls, (*TTabResult)(unsafe.Pointer(p)).FzErrMsg) - (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20663, 0) + (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20795, 0) (*TTabResult)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) return int32(1) } @@ -130559,7 +131409,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) } Xsqlite3_free(tls, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg) } @@ -130721,7 +131571,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if isTemp != 0 { /* If TEMP was specified, then the trigger name may not be qualified. */ if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20728, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20860, 0) goto trigger_cleanup } iDb = int32(1) @@ -130761,7 +131611,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto trigger_cleanup } - _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20774, *(*uintptr)(unsafe.Pointer(bp))) + _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20906, *(*uintptr)(unsafe.Pointer(bp))) if _sqlite3FixSrcList(tls, bp+8, pTableName) != 0 { goto trigger_cleanup } @@ -130771,11 +131621,11 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_orphan_error } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20782, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20914, 0) goto trigger_orphan_error } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, db) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20823, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20955, 0) goto trigger_orphan_error } /* Check that the trigger name is not reserved and that no trigger of the @@ -130784,13 +131634,13 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if zName == uintptr(0) { goto trigger_cleanup } - if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20774, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { + if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20906, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { goto trigger_cleanup } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema+56, zName) != 0 { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20863, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20995, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) } @@ -130798,8 +131648,8 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 } } /* Do not create a trigger on a system table */ - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6873, int32(7)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20889, 0) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6937, int32(7)) == 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21021, 0) goto trigger_cleanup } /* INSTEAD of triggers are only for views and views only support INSTEAD @@ -130807,15 +131657,15 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && tr_tm != int32(TK_INSTEAD) { if tr_tm == int32(TK_BEFORE) { - v1 = __ccgo_ts + 20927 + v1 = __ccgo_ts + 21059 } else { - v1 = __ccgo_ts + 20934 + v1 = __ccgo_ts + 21066 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20940, libc.VaList(bp+112, v1, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21072, libc.VaList(bp+112, v1, pTableName+8)) goto trigger_orphan_error } if !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) && tr_tm == int32(TK_INSTEAD) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20977, libc.VaList(bp+112, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21109, libc.VaList(bp+112, pTableName+8)) goto trigger_orphan_error } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -130835,9 +131685,9 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iTabDb == int32(1) { - v3 = __ccgo_ts + 6881 + v3 = __ccgo_ts + 6945 } else { - v3 = __ccgo_ts + 6414 + v3 = __ccgo_ts + 6478 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto trigger_cleanup @@ -130937,7 +131787,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl pStepList = (*TTriggerStep)(unsafe.Pointer(pStepList)).FpNext } _sqlite3TokenInit(tls, bp+96, (*TTrigger)(unsafe.Pointer(pTrig)).FzName) - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20774, bp+96) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20906, bp+96) if _sqlite3FixTriggerStep(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 || _sqlite3FixExpr(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).FpWhen) != 0 { goto triggerfinish_cleanup } @@ -130959,7 +131809,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl break } if (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget != uintptr(0) && _sqlite3ShadowTableName(tls, db, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21023, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21155, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) goto triggerfinish_cleanup } goto _1 @@ -130975,10 +131825,10 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl } _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) z = _sqlite3DbStrNDup(tls, db, (*TToken)(unsafe.Pointer(pAll)).Fz, uint64((*TToken)(unsafe.Pointer(pAll)).Fn)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+21071, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+21203, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) _sqlite3DbFree(tls, db, z) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+21146, libc.VaList(bp+120, zName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+21278, libc.VaList(bp+120, zName)), uint16(0)) } } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { @@ -131246,7 +132096,7 @@ func _sqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int } if !(pTrigger != 0) { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21175, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21307, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, zDb) } @@ -131288,9 +132138,9 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { code = int32(SQLITE_DROP_TRIGGER) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6881 + v1 = __ccgo_ts + 6945 } else { - v1 = __ccgo_ts + 6414 + v1 = __ccgo_ts + 6478 } zTab = v1 if iDb == int32(1) { @@ -131305,7 +132155,7 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { v2 = _sqlite3GetVdbe(tls, pParse) v = v2 if v2 != uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+21195, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+21327, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropTrigger), iDb, 0, 0, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName, 0) } @@ -131438,11 +132288,11 @@ func _triggersReallyExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { if op != int32(TK_INSERT) { if op == int32(TK_DELETE) { - v1 = __ccgo_ts + 21257 + v1 = __ccgo_ts + 21389 } else { - v1 = __ccgo_ts + 21264 + v1 = __ccgo_ts + 21396 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21271, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21403, libc.VaList(bp+8, v1)) } (*TTrigger)(unsafe.Pointer(p)).Ftr_tm = uint8(TRIGGER_BEFORE) } else { @@ -131543,7 +132393,7 @@ func _isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != int32(TK_ASTERISK) { return 0 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21319, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21451, 0) return int32(1) } @@ -131608,6 +132458,79 @@ func _sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab return pNew } +// C documentation +// +// /* If the Expr node is a subquery or an EXISTS operator or an IN operator that +// ** uses a subquery, and if the subquery is SF_Correlated, then mark the +// ** expression as EP_VarSelect. +// */ +func _sqlite3ReturningSubqueryVarSelect(tls *libc.TLS, NotUsed uintptr, pExpr uintptr) (r int32) { + _ = NotUsed + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) && (*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FselFlags&uint32(SF_Correlated) != uint32(0) { + *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** If the SELECT references the table pWalker->u.pTab, then do two things: +// ** +// ** (1) Mark the SELECT as as SF_Correlated. +// ** (2) Set pWalker->eCode to non-zero so that the caller will know +// ** that (1) has happened. +// */ +func _sqlite3ReturningSubqueryCorrelated(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + var i int32 + var pSrc uintptr + _, _ = i, pSrc + pSrc = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + i = 0 + for { + if !(i < (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) { + break + } + if (*(*TSrcItem)(unsafe.Pointer(pSrc + 8 + uintptr(i)*104))).FpTab == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { + *(*Tu32)(unsafe.Pointer(pSelect + 4)) |= uint32(SF_Correlated) + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + break + } + goto _1 + _1: + ; + i++ + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Scan the expression list that is the argument to RETURNING looking +// ** for subqueries that depend on the table which is being modified in the +// ** statement that is hosting the RETURNING clause (pTab). Mark all such +// ** subqueries as SF_Correlated. If the subqueries are part of an +// ** expression, mark the expression as EP_VarSelect. +// ** +// ** https://sqlite.org/forum/forumpost/2c83569ce8945d39 +// */ +func _sqlite3ProcessReturningSubqueries(tls *libc.TLS, pEList uintptr, pTab uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.X__builtin___memset_chk(tls, bp, 0, uint64(48), libc.X__builtin_object_size(tls, bp, 0)) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ExprWalkNoop) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3ReturningSubqueryCorrelated) + *(*uintptr)(unsafe.Pointer(bp + 40)) = pTab + _sqlite3WalkExprList(tls, bp, pEList) + if (*(*TWalker)(unsafe.Pointer(bp))).FeCode != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ReturningSubqueryVarSelect) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop) + _sqlite3WalkExprList(tls, bp, pEList) + } +} + // C documentation // // /* @@ -131642,6 +132565,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab (*(*TSelect)(unsafe.Pointer(bp))).FpSrc = bp + 128 (*(*TSrcList)(unsafe.Pointer(bp + 128))).FnSrc = int32(1) (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FpTab = pTab + (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FzName = (*TTable)(unsafe.Pointer(pTab)).FzName /* tag-20240424-1 */ (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FiCursor = -int32(1) _sqlite3SelectPrep(tls, pParse, bp, uintptr(0)) if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { @@ -131666,6 +132590,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab if _sqlite3ResolveExprListNames(tls, bp+240, pNew) == SQLITE_OK && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { nCol = (*TExprList)(unsafe.Pointer(pNew)).FnExpr reg = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(1) + _sqlite3ProcessReturningSubqueries(tls, pNew, pTab) *(*int32)(unsafe.Pointer(pParse + 56)) += nCol + int32(2) (*TReturning)(unsafe.Pointer(pReturning)).FiRetReg = reg i = 0 @@ -131734,7 +132659,7 @@ func _codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orcon } (*TParse)(unsafe.Pointer(pParse)).FeOrconf = uint8(v2) if (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6611, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6675, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) } switch int32((*TTriggerStep)(unsafe.Pointer(pStep)).Fop) { case int32(TK_UPDATE): @@ -131836,7 +132761,7 @@ func _codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintp v = _sqlite3GetVdbe(tls, bp+56) if v != 0 { if (*TTrigger)(unsafe.Pointer(pTrigger)).FzName != 0 { - _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+21361, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) + _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+21493, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) } /* If one was specified, code the WHEN clause. If it evaluates to false ** (or NULL) the sub-vdbe is immediately halted by jumping to the @@ -132525,7 +133450,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui chngPk = uint8(1) } else { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21375, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21507, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto update_cleanup } } @@ -132545,13 +133470,13 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui pRowidExpr = (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FpExpr iRowidExpr = i } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21411, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21543, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto update_cleanup } } if j < 0 { - v11 = __ccgo_ts + 8253 + v11 = __ccgo_ts + 8378 } else { v11 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName } @@ -133233,7 +134158,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui ** that information. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21430) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21562) } goto update_cleanup update_cleanup: @@ -133667,9 +134592,9 @@ func _sqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr if nClause == 0 && (*TUpsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) { (*(*[16]int8)(unsafe.Pointer(bp + 200)))[0] = 0 } else { - Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21443, libc.VaList(bp+224, nClause+int32(1))) + Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21575, libc.VaList(bp+224, nClause+int32(1))) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21447, libc.VaList(bp+224, bp+200)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21579, libc.VaList(bp+224, bp+200)) return int32(SQLITE_ERROR) } goto _1 @@ -133772,7 +134697,7 @@ func _sqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i++ } i = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), iDataCur, 0, iPk, nPk) - _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12818, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12943, -int32(1)) _sqlite3MayAbort(tls, pParse) _sqlite3VdbeJumpHere(tls, v, i) } @@ -133854,7 +134779,7 @@ func _execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) (r int3 ** corrupt the sqlite_schema.sql field with other kinds of statements ** then run VACUUM to get those statements to execute at inappropriate ** times. */ - if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21520, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21524, uint64(3)) == 0) { + if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21652, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21656, uint64(3)) == 0) { rc = _execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -133982,24 +134907,24 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p pDb = uintptr(0) /* Name of output file */ pgflags = uint32(PAGER_SYNCHRONOUS_OFF) /* sync flags for output db */ if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21528) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21660) return int32(SQLITE_ERROR) /* IMP: R-12218-18073 */ } if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive > int32(1) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21568) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21700) return int32(SQLITE_ERROR) /* IMP: R-15610-35227 */ } saved_openFlags = (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags if pOut != 0 { if Xsqlite3_value_type(tls, pOut) != int32(SQLITE_TEXT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21611) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21743) return int32(SQLITE_ERROR) } zOut = Xsqlite3_value_text(tls, pOut) *(*uint32)(unsafe.Pointer(db + 76)) &= uint32(^libc.Int32FromInt32(SQLITE_OPEN_READONLY)) *(*uint32)(unsafe.Pointer(db + 76)) |= uint32(libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE)) } else { - zOut = __ccgo_ts + 1650 + zOut = __ccgo_ts + 1664 } /* Save the current value of the database flags so that it can be ** restored before returning. Then set the writable-schema flag, and @@ -134031,7 +134956,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** to write the journal header file. */ nDb = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21629, libc.VaList(bp+24, zOut)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21761, libc.VaList(bp+24, zOut)) (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if rc != SQLITE_OK { goto end_of_vacuum @@ -134043,7 +134968,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p *(*Ti64)(unsafe.Pointer(bp)) = 0 if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0) && (_sqlite3OsFileSize(tls, id, bp) != SQLITE_OK || *(*Ti64)(unsafe.Pointer(bp)) > 0) { rc = int32(SQLITE_ERROR) - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21652) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21784) goto end_of_vacuum } *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_VacuumInto) @@ -134060,7 +134985,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, ** to ensure that we do not try to change the page-size on a WAL database. */ - rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+15227) + rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+15320) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134091,11 +135016,11 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** in the temporary database. */ (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(nDb) /* force new CREATE statements into vacuum_db */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21679, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21811, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21787, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21919, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134104,7 +135029,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy ** the contents to the temporary database. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21841, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21973, libc.VaList(bp+24, zDbMain)) *(*Tu32)(unsafe.Pointer(db + 44)) &= uint32(^libc.Int32FromInt32(DBFLAG_Vacuum)) if rc != SQLITE_OK { goto end_of_vacuum @@ -134114,7 +135039,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** associated storage, so all we have to do is copy their entries ** from the schema table. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21992, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+22124, libc.VaList(bp+24, zDbMain)) if rc != 0 { goto end_of_vacuum } @@ -134641,7 +135566,7 @@ func _addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uint FazArg uintptr Fp uintptr })(unsafe.Pointer(pTable + 64))).FnArg+int32(3) >= *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13048, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13173, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = _sqlite3DbRealloc(tls, db, (*(*struct { FnArg int32 @@ -134764,7 +135689,7 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { if pEnd != 0 { (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32(int64((*TToken)(unsafe.Pointer(pEnd)).Fz)-int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz))) + (*TToken)(unsafe.Pointer(pEnd)).Fn } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+22122, libc.VaList(bp+8, pParse+272)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+22254, libc.VaList(bp+8, pParse+272)) /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. @@ -134774,11 +135699,11 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { ** by sqlite3StartTable(). */ iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+22146, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+22278, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) v = _sqlite3GetVdbe(tls, pParse) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) - zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+22245, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+22377, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) _sqlite3DbFree(tls, db, zStmt) v2 = pParse + 56 @@ -134865,7 +135790,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, break } if (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22264, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22396, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(SQLITE_LOCKED) } goto _1 @@ -134907,9 +135832,9 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, } if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22306, libc.VaList(bp+48, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22438, libc.VaList(bp+48, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3799, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3863, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) } _sqlite3DbFree(tls, db, pVTable) @@ -134922,8 +135847,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*TModule)(unsafe.Pointer(pMod)).FnRefModule++ (*TVTable)(unsafe.Pointer(pVTable)).FnRef = int32(1) if (*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared == 0 { - zFormat = __ccgo_ts + 22336 - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + zFormat = __ccgo_ts + 22468 + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, zModuleName)) _sqlite3VtabUnlock(tls, pVTable) rc = int32(SQLITE_ERROR) } else { @@ -134948,7 +135873,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(iCol < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } - zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1650) + zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1664) i = 0 nType = _sqlite3Strlen30(tls, zType) i = 0 @@ -134956,7 +135881,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(i < nType) { break } - if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16936, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { + if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+17023, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { break } goto _3 @@ -135037,13 +135962,13 @@ func _sqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).FazArg)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22382, libc.VaList(bp+16, zModule)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22514, libc.VaList(bp+16, zModule)) rc = int32(SQLITE_ERROR) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) (*TParse)(unsafe.Pointer(pParse)).Frc = rc } _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) @@ -135124,7 +136049,7 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, ** error. Otherwise, do nothing. */ if pMod == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22382, libc.VaList(bp+8, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22514, libc.VaList(bp+8, zMod)) rc = int32(SQLITE_ERROR) } else { rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr) @@ -135150,18 +136075,42 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r int32) { bp := tls.Alloc(448) defer tls.Free(448) - var initBusy, rc int32 - var pCtx, pIdx, pNew, pTab, v2 uintptr - var v1 Ti16 + var i, initBusy, rc int32 + var pCtx, pIdx, pNew, pTab, z, v3 uintptr + var v2 Ti16 var _ /* sParse at bp+0 */ TParse - _, _, _, _, _, _, _, _ = initBusy, pCtx, pIdx, pNew, pTab, rc, v1, v2 + var _ /* tokenType at bp+424 */ int32 + _, _, _, _, _, _, _, _, _, _ = i, initBusy, pCtx, pIdx, pNew, pTab, rc, z, v2, v3 rc = SQLITE_OK + /* Verify that the first two keywords in the CREATE TABLE statement + ** really are "CREATE" and "TABLE". If this is not the case, then + ** sqlite3_declare_vtab() is being misused. + */ + z = zCreateTable + i = 0 + for { + if !(_aKeyword1[i] != 0) { + break + } + *(*int32)(unsafe.Pointer(bp + 424)) = 0 + for cond := true; cond; cond = *(*int32)(unsafe.Pointer(bp + 424)) == int32(TK_SPACE) { + z += uintptr(_sqlite3GetToken(tls, z, bp+424)) + } + if *(*int32)(unsafe.Pointer(bp + 424)) != int32(_aKeyword1[i]) { + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+22533, 0) + return int32(SQLITE_ERROR) + } + goto _1 + _1: + ; + i++ + } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { - _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(155155))) + _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(156227))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) - return _sqlite3MisuseError(tls, int32(155157)) + return _sqlite3MisuseError(tls, int32(156229)) } pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab _sqlite3ParseObjectInit(tls, bp, db) @@ -135173,7 +136122,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i initBusy = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) (*(*TParse)(unsafe.Pointer(bp))).FnQueryLoop = int16(1) - if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) && (*(*TParse)(unsafe.Pointer(bp))).FpNewTable != uintptr(0) && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && int32((*TTable)(unsafe.Pointer((*(*TParse)(unsafe.Pointer(bp))).FpNewTable)).FeTabType) == TABTYP_NORM { + if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) { if !((*TTable)(unsafe.Pointer(pTab)).FaCol != 0) { pNew = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable (*TTable)(unsafe.Pointer(pTab)).FaCol = (*TTable)(unsafe.Pointer(pNew)).FaCol @@ -135182,9 +136131,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpDfltList) - v1 = (*TTable)(unsafe.Pointer(pNew)).FnCol - (*TTable)(unsafe.Pointer(pTab)).FnCol = v1 - (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v1 + v2 = (*TTable)(unsafe.Pointer(pNew)).FnCol + (*TTable)(unsafe.Pointer(pTab)).FnCol = v2 + (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v2 *(*Tu32)(unsafe.Pointer(pTab + 48)) |= (*TTable)(unsafe.Pointer(pNew)).FtabFlags & uint32(libc.Int32FromInt32(TF_WithoutRowid)|libc.Int32FromInt32(TF_NoVisibleRowid)) (*TTable)(unsafe.Pointer(pNew)).FnCol = 0 (*TTable)(unsafe.Pointer(pNew)).FaCol = uintptr(0) @@ -135203,11 +136152,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = int32(1) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - v2 = __ccgo_ts + 3799 + v3 = __ccgo_ts + 3863 } else { - v2 = uintptr(0) + v3 = uintptr(0) } - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v2, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v3, libc.VaList(bp+440, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) rc = int32(SQLITE_ERROR) } @@ -135223,6 +136172,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i return rc } +var _aKeyword1 = [3]Tu8{ + 0: uint8(TK_CREATE), + 1: uint8(TK_TABLE), +} + // C documentation // // /* @@ -135674,7 +136628,7 @@ func _sqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) _addModuleArgument(tls, pParse, pTab, _sqlite3DbStrDup(tls, db, (*TTable)(unsafe.Pointer(pTab)).FzName)) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp) if rc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3VtabEponymousTableClear(tls, db, pMod) } @@ -135738,7 +136692,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = _sqlite3MisuseError(tls, int32(155651)) + rc = _sqlite3MisuseError(tls, int32(156723)) } else { ap = va switch op { @@ -135751,7 +136705,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in case int32(SQLITE_VTAB_USES_ALL_SCHEMAS): (*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1) default: - rc = _sqlite3MisuseError(tls, int32(155673)) + rc = _sqlite3MisuseError(tls, int32(156745)) break } _ = ap @@ -136473,10 +137427,10 @@ type WhereInfo1 = TWhereInfo1 func _explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) (r uintptr) { i = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -int32(2) { - return __ccgo_ts + 22401 + return __ccgo_ts + 22546 } if i == -int32(1) { - return __ccgo_ts + 17045 + return __ccgo_ts + 17132 } return (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*16))).FzCnName } @@ -136495,10 +137449,10 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, var i int32 _ = i if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22408, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22553, int32(5)) } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22414, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22559, int32(1)) } i = 0 for { @@ -136506,7 +137460,7 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13438, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13563, int32(1)) } Xsqlite3_str_appendall(tls, pStr, _explainIndexColumnName(tls, pIdx, iTerm+i)) goto _1 @@ -136515,11 +137469,11 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5454, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5518, int32(1)) } Xsqlite3_str_append(tls, pStr, zOp, int32(1)) if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22414, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22559, int32(1)) } i = 0 for { @@ -136527,16 +137481,16 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13438, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13563, int32(1)) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5456, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5520, int32(1)) goto _2 _2: ; i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5454, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5518, int32(1)) } } @@ -136569,7 +137523,7 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { if int32(nEq) == 0 && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_BTM_LIMIT)|libc.Int32FromInt32(WHERE_TOP_LIMIT)) == uint32(0) { return } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22416, int32(2)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22561, int32(2)) i = 0 for { if !(i < int32(nEq)) { @@ -136577,12 +137531,12 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } z = _explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22408, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22553, int32(5)) } if i >= int32(nSkip) { - v2 = __ccgo_ts + 22419 + v2 = __ccgo_ts + 22564 } else { - v2 = __ccgo_ts + 22424 + v2 = __ccgo_ts + 22569 } Xsqlite3_str_appendf(tls, pStr, v2, libc.VaList(bp+8, z)) goto _1 @@ -136592,13 +137546,13 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } j = i if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_BTM_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22432) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22577) i = int32(1) } if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_TOP_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22434) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22579) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5454, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5518, int32(1)) } // C documentation @@ -136641,47 +137595,47 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if isSearch != 0 { - v2 = __ccgo_ts + 22436 + v2 = __ccgo_ts + 22581 } else { - v2 = __ccgo_ts + 22443 + v2 = __ccgo_ts + 22588 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22448, libc.VaList(bp+144, v2, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22593, libc.VaList(bp+144, v2, pItem)) if flags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_VIRTUALTABLE)) == uint32(0) { zFmt = uintptr(0) pIdx = (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex if !((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) && int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = __ccgo_ts + 11601 + zFmt = __ccgo_ts + 11726 } } else { if flags&uint32(WHERE_PARTIALIDX) != 0 { - zFmt = __ccgo_ts + 22454 + zFmt = __ccgo_ts + 22599 } else { if flags&uint32(WHERE_AUTO_INDEX) != 0 { - zFmt = __ccgo_ts + 22487 + zFmt = __ccgo_ts + 22632 } else { if flags&uint32(WHERE_IDX_ONLY) != 0 { - zFmt = __ccgo_ts + 22512 + zFmt = __ccgo_ts + 22657 } else { - zFmt = __ccgo_ts + 22530 + zFmt = __ccgo_ts + 22675 } } } } if zFmt != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22539, int32(7)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22684, int32(7)) Xsqlite3_str_appendf(tls, bp, zFmt, libc.VaList(bp+144, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) _explainIndexRange(tls, bp, pLoop) } } else { if flags&uint32(WHERE_IPK) != uint32(0) && flags&uint32(WHERE_CONSTRAINT) != uint32(0) { - zRowid = __ccgo_ts + 17045 - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22547, libc.VaList(bp+144, zRowid)) + zRowid = __ccgo_ts + 17132 + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22692, libc.VaList(bp+144, zRowid)) if flags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != 0 { cRangeOp = int8('=') } else { if flags&uint32(WHERE_BOTH_LIMIT) == uint32(WHERE_BOTH_LIMIT) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22578, libc.VaList(bp+144, zRowid)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22723, libc.VaList(bp+144, zRowid)) cRangeOp = int8('<') } else { if flags&uint32(WHERE_BTM_LIMIT) != 0 { @@ -136691,10 +137645,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22588, libc.VaList(bp+144, int32(cRangeOp))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22733, libc.VaList(bp+144, int32(cRangeOp))) } else { if flags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22593, libc.VaList(bp+144, (*(*struct { + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22738, libc.VaList(bp+144, (*(*struct { FidxNum int32 F__ccgo4 uint8 FisOrdered Ti8 @@ -136713,7 +137667,7 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } if int32((*TSrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&int32(JT_LEFT) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22620, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22765, 0) } zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) @@ -136747,14 +137701,14 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Initial space for EQP output string */ _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22631, libc.VaList(bp+144, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22776, libc.VaList(bp+144, pItem)) pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_IPK) != 0 { pTab = (*TSrcItem)(unsafe.Pointer(pItem)).FpTab if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22419, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22564, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) } else { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22652, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22797, 0) } } else { i = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) @@ -136764,16 +137718,16 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp } z = _explainIndexColumnName(tls, (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex, i) if i > int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22408, int32(5)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22553, int32(5)) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22419, libc.VaList(bp+144, z)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22564, libc.VaList(bp+144, z)) goto _1 _1: ; i++ } } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5454, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5518, int32(1)) zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) return ret @@ -137604,6 +138558,35 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32 } } +// C documentation +// +// /* +// ** Loop pLoop is a WHERE_INDEXED level that uses at least one IN(...) +// ** operator. Return true if level pLoop is guaranteed to visit only one +// ** row for each key generated for the index. +// */ +func _whereLoopIsOneRow(tls *libc.TLS, pLoop uintptr) (r int32) { + var ii int32 + _ = ii + if (*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FonError != 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) == 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq) == int32((*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FnKeyCol) { + ii = 0 + for { + if !(ii < int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq)) { + break + } + if int32((*TWhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(ii)*8)))).FeOperator)&(libc.Int32FromInt32(WO_IS)|libc.Int32FromInt32(WO_ISNULL)) != 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) + } + return 0 +} + // C documentation // // /* @@ -138292,7 +139275,10 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** a LEFT JOIN: */ } /* Record the instruction used to terminate the loop. */ - if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 { + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 || (*(*struct { + FnIn int32 + FaInLoop uintptr + })(unsafe.Pointer(pLevel + 72))).FnIn != 0 && regBignull == 0 && _whereLoopIsOneRow(tls, pLoop) != 0 { (*TWhereLevel)(unsafe.Pointer(pLevel)).Fop = uint8(OP_Noop) } else { if bRev != 0 { @@ -138465,7 +139451,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22660, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22805, 0) ii = 0 for { if !(ii < (*TWhereClause)(unsafe.Pointer(pOrWc)).FnTerm) { @@ -138488,7 +139474,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } /* Loop through table entries that match term pOrTerm. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22675, libc.VaList(bp+96, ii+int32(1))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22820, libc.VaList(bp+96, ii+int32(1))) pSubWInfo = _sqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) if pSubWInfo != 0 { addrExplain = _sqlite3WhereExplainOneScan(tls, pParse, pOrTab, pSubWInfo+856, uint16(0)) @@ -138651,6 +139637,12 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** iLoop==3: Code all remaining expressions. ** ** An effort is made to skip unnecessary iterations of the loop. + ** + ** This optimization of causing simple query restrictions to occur before + ** more complex one is call the "push-down" optimization in MySQL. Here + ** in SQLite, the name is "MySQL push-down", since there is also another + ** totally unrelated optimization called "WHERE-clause push-down". + ** Sometimes the qualifier is omitted, resulting in an ambiguity, so beware. */ if pIdx != 0 { v60 = int32(1) @@ -138950,9 +139942,9 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe defer tls.Free(128) var addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, nPk, r, v3 int32 var mAll TBitmask - var pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr + var pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr var _ /* sFrom at bp+0 */ TSrcList - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pRJ = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpRJ @@ -138961,13 +139953,17 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop pTabItem = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 mAll = uint64(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22684, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22829, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) k = 0 for { if !(k < iLevel) { break } + pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*104 mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf + if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x20>>5)) != 0 { + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pRight)).FpSelect)).FpEList)).FnExpr-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiTabCur) iIdxCur = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiIdxCur if iIdxCur != 0 { @@ -139465,19 +140461,19 @@ var _aOp = [4]struct { FeOp2 uint8 }{ 0: { - FzOp: __ccgo_ts + 16894, + FzOp: __ccgo_ts + 16981, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH), }, 1: { - FzOp: __ccgo_ts + 16222, + FzOp: __ccgo_ts + 16315, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB), }, 2: { - FzOp: __ccgo_ts + 15701, + FzOp: __ccgo_ts + 15794, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE), }, 3: { - FzOp: __ccgo_ts + 22698, + FzOp: __ccgo_ts + 22843, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP), }, } @@ -140111,7 +141107,7 @@ func _exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, aiCurCol uintptr, pExpr if int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) != -int32(2) { goto _4 } - if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_STRING) { + if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && !(_sqlite3ExprIsConstant(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr) != 0) { *(*int32)(unsafe.Pointer(aiCurCol)) = iCur *(*int32)(unsafe.Pointer(aiCurCol + 1*4)) = -int32(2) return int32(1) @@ -140264,7 +141260,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { extraRight = x - uint64(1) /* ON clause terms may not be used with an index ** on left table of a LEFT JOIN. Ticket #3015 */ if prereqAll>>libc.Int32FromInt32(1) >= x { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22705, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22850, 0) return } } else { @@ -140276,7 +141272,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { ** if there is a RIGHT or FULL JOIN in the query. This makes SQLite ** more like other systems, and also preserves legacy. */ if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*(*TSrcItem)(unsafe.Pointer(pSrc + 8))).Ffg.Fjointype)&int32(JT_LTORJ) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22705, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22850, 0) return } *(*Tu32)(unsafe.Pointer(pExpr + 4)) &= uint32(^libc.Int32FromInt32(EP_InnerON)) @@ -140360,7 +141356,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { } else { if op == int32(TK_ISNULL) && !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)) != libc.Uint32FromInt32(0)) && 0 == _sqlite3ExprCanBeNull(tls, pLeft) { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_TRUEFALSE) /* See tag-20230504-1 */ - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8239 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8364 *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_IsFalse)) (*TWhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator = uint16(0) @@ -140456,7 +141452,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { *(*Tu8)(unsafe.Pointer(pC)) = uint8(int32(c1) + int32(1)) } if *(*int32)(unsafe.Pointer(bp + 12)) != 0 { - v13 = __ccgo_ts + 22746 + v13 = __ccgo_ts + 22891 } else { v13 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) } @@ -140726,6 +141722,9 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FleftCursor != iCsr { return } + if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FprereqRight != uint64(0) { + return + } goto _1 _1: ; @@ -140755,10 +141754,12 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { } } /* All conditions are met. Add the terms to the where-clause object. */ - _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) - if (*TSelect)(unsafe.Pointer(p)).FiOffset > 0 { + if (*TSelect)(unsafe.Pointer(p)).FiOffset != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiOffset, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpRight, iCsr, int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } + if (*TSelect)(unsafe.Pointer(p)).FiOffset == 0 || (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { + _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) + } } } @@ -140982,7 +141983,7 @@ func _sqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22753, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22898, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) return } pColRef = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_COLUMN), uintptr(0), 0) @@ -141416,6 +142417,48 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { return uintptr(0) } +// C documentation +// +// /* +// ** Term pTerm is guaranteed to be a WO_IN term. It may be a component term +// ** of a vector IN expression of the form "(x, y, ...) IN (SELECT ...)". +// ** This function checks to see if the term is compatible with an index +// ** column with affinity idxaff (one of the SQLITE_AFF_XYZ values). If so, +// ** it returns a pointer to the name of the collation sequence (e.g. "BINARY" +// ** or "NOCASE") used by the comparison in pTerm. If it is not compatible +// ** with affinity idxaff, NULL is returned. +// */ +func _indexInAffinityOk(tls *libc.TLS, pParse uintptr, pTerm uintptr, idxaff Tu8) (r uintptr) { + bp := tls.Alloc(80) + defer tls.Free(80) + var iField int32 + var pRet, pX, v1 uintptr + var _ /* inexpr at bp+0 */ TExpr + _, _, _, _ = iField, pRet, pX, v1 + pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr + if _sqlite3ExprIsVector(tls, (*TExpr)(unsafe.Pointer(pX)).FpLeft) != 0 { + iField = (*(*struct { + FleftColumn int32 + FiField int32 + })(unsafe.Pointer(pTerm + 32))).FiField - int32(1) + (*(*TExpr)(unsafe.Pointer(bp))).Fflags = uint32(0) + (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_EQ) + (*(*TExpr)(unsafe.Pointer(bp))).FpLeft = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pX)).FpLeft + 32)) + 8 + uintptr(iField)*32))).FpExpr + (*(*TExpr)(unsafe.Pointer(bp))).FpRight = (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pX + 32)))).FpEList + 8 + uintptr(iField)*32))).FpExpr + pX = bp + } + if _sqlite3IndexAffinityOk(tls, pX, int8(idxaff)) != 0 { + pRet = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pRet != 0 { + v1 = (*TCollSeq)(unsafe.Pointer(pRet)).FzName + } else { + v1 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + return v1 + } + return uintptr(0) +} + // C documentation // // /* @@ -141426,10 +142469,10 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { var iColumn Ti16 var iCur, j, k int32 - var pColl, pParse, pTerm, pWC, pX, v2 uintptr - var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, v2, v3, v5 /* The term being tested */ - k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ + var pColl, pParse, pTerm, pWC, pX, zCollName, v2, v5 uintptr + var v3, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, zCollName, v2, v3, v5, v6 /* The term being tested */ + k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ pWC = (*TWhereScan)(unsafe.Pointer(pScan)).FpWC for int32(1) != 0 { iColumn = *(*Ti16)(unsafe.Pointer(pScan + 88 + uintptr(int32((*TWhereScan)(unsafe.Pointer(pScan)).FiEquiv)-int32(1))*2)) @@ -141473,21 +142516,31 @@ func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { if (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName != 0 && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_ISNULL) == 0 { pParse = (*TWhereInfo)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr - if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { - goto _1 - } - pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) - if pColl == uintptr(0) { - pColl = (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_IN) != 0 { + zCollName = _indexInAffinityOk(tls, pParse, pTerm, uint8((*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff)) + if !(zCollName != 0) { + goto _1 + } + } else { + if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { + goto _1 + } + pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pColl != 0 { + v5 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName + } else { + v5 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + zCollName = v5 } - if _sqlite3StrICmp(tls, (*TCollSeq)(unsafe.Pointer(pColl)).FzName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { + if _sqlite3StrICmp(tls, zCollName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { goto _1 } } - if v5 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v5 { + if v6 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v6 { pX = (*TExpr)(unsafe.Pointer((*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpRight } - if v5 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { + if v6 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { goto _1 } (*TWhereScan)(unsafe.Pointer(pScan)).FpWC = pWC @@ -141975,7 +143028,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea /* Make the automatic index a partial index if there are terms in the ** WHERE clause (or the ON clause of a LEFT join) that constrain which ** rows of the target table (pSrc) that can be used. */ - if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)) != 0 { + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom), 0) != 0 { pPartial = _sqlite3ExprAnd(tls, pParse, pPartial, _sqlite3ExprDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr, 0)) } if _termCanDriveIndex(tls, pTerm, pSrc, notReady) != 0 { @@ -141990,7 +143043,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea } cMask = v2 if !(sentWarning != 0) { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_WARNING)|libc.Int32FromInt32(1)<>14)) != 0) { eDistinct = int32(2) + libc.BoolInt32(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_SORTBYGROUP) != 0) } else { if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_GROUPBY) != 0 { @@ -142461,7 +143514,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB */ pIdxInfo = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(96)+(libc.Uint64FromInt64(12)+libc.Uint64FromInt64(8))*uint64(nTerm)+uint64(8)*uint64(nOrderBy)+uint64(40)+uint64(8)*uint64(nTerm)) if pIdxInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1634, 0) return uintptr(0) } pHidden = pIdxInfo + 1*96 @@ -142546,7 +143599,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB break } pExpr1 = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr - if _sqlite3ExprIsConstant(tls, pExpr1) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr1) != 0 { goto _11 } (*(*Tsqlite3_index_orderby)(unsafe.Pointer(pIdxOrderBy + uintptr(j)*8))).FiColumn = int32((*TExpr)(unsafe.Pointer(pExpr1)).FiColumn) @@ -142621,9 +143674,9 @@ func _vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) (r i _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) } else { if !((*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } } @@ -143960,7 +145013,7 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x4>>2)) != 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GE)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LE)-libc.Int32FromInt32(TK_EQ))) } - if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 { + if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 && int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x2>>1)) == 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ) | libc.Int32FromInt32(WO_IN) | libc.Int32FromInt32(WO_IS)) } } @@ -144199,10 +145252,13 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } } } - /* Set rCostIdx to the cost of visiting selected rows in index. Add - ** it to pNew->rRun, which is currently set to the cost of the index - ** seek only. Then, if this is a non-covering index, add the cost of - ** visiting the rows in the main table. */ + /* Set rCostIdx to the estimated cost of visiting selected rows in the + ** index. The estimate is the sum of two values: + ** 1. The cost of doing one search-by-key to find the first matching + ** entry + ** 2. Stepping forward in the index pNew->nOut times to find all + ** additional matching entries. + */ if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_IPK) { /* The pProbe->szIdxRow is low for an IPK table since the interior ** pages are small. Thus szIdxRow gives a good estimate of seek cost. @@ -144212,7 +145268,14 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } else { rCostIdx = int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut) + int32(1) + int32(15)*int32((*TIndex)(unsafe.Pointer(pProbe)).FszIdxRow)/int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FszTabRow)) } - (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + rCostIdx = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + /* Estimate the cost of running the loop. If all data is coming + ** from the index, then this is just the cost of doing the index + ** lookup and scan. But if some data is coming out of the main table, + ** we also have to add in the cost of doing pNew->nOut searches to + ** locate the row in the main table that corresponds to the index entry. + */ + (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = rCostIdx if (*TWhereLoop)(unsafe.Pointer(pNew)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IDX_ONLY)|libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_EXPRIDX)) == uint32(0) { (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun, int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut)+int32(16))) } @@ -144317,7 +145380,7 @@ func _indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, if pExpr == uintptr(0) { goto _2 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { + if (int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) || int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_COLUMN)) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { return int32(1) } @@ -144652,7 +145715,7 @@ func _wherePartIdxExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, pPart uintpt if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) != int32(TK_COLUMN) { return } - if !(_sqlite3ExprIsConstant(tls, pRight) != 0) { + if !(_sqlite3ExprIsConstant(tls, uintptr(0), pRight) != 0) { return } if !(_sqlite3IsBinary(tls, _sqlite3ExprCompareCollSeq(tls, pParse, pPart)) != 0) { @@ -144981,7 +146044,7 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in ** unique index is used (making the index functionally non-unique) ** then the sqlite_stat1 data becomes important for scoring the ** plan */ - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) } _sqlite3Stat4ProbeFree(tls, (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec) (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid = 0 @@ -145009,6 +146072,31 @@ func _isLimitTerm(tls *libc.TLS, pTerm uintptr) (r int32) { return libc.BoolInt32(int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= int32(SQLITE_INDEX_CONSTRAINT_LIMIT) && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } +// C documentation +// +// /* +// ** Return true if the first nCons constraints in the pUsage array are +// ** marked as in-use (have argvIndex>0). False otherwise. +// */ +func _allConstraintsUsed(tls *libc.TLS, aUsage uintptr, nCons int32) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < nCons) { + break + } + if (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer(aUsage + uintptr(ii)*8))).FargvIndex <= 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + // C documentation // // /* @@ -145103,7 +146191,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if v3 >= 0 { j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).FiTermOffset if iTerm >= nConstraint || j < 0 || j >= (*TWhereClause)(unsafe.Pointer(pWC)).FnTerm || *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) || int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22826, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22971, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } pTerm1 = (*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(j)*56 @@ -145148,12 +146236,16 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, *(*int32)(unsafe.Pointer(pbIn)) = int32(1) } } - if _isLimitTerm(tls, pTerm1) != 0 && *(*int32)(unsafe.Pointer(pbIn)) != 0 { + /* Unless pbRetryLimit is non-NULL, there should be no LIMIT/OFFSET + ** terms. And if there are any, they should follow all other terms. */ + if _isLimitTerm(tls, pTerm1) != 0 && (*(*int32)(unsafe.Pointer(pbIn)) != 0 || !(_allConstraintsUsed(tls, pUsage, i) != 0)) { /* If there is an IN(...) term handled as an == (separate call to ** xFilter for each value on the RHS of the IN) and a LIMIT or - ** OFFSET term handled as well, the plan is unusable. Set output - ** variable *pbRetryLimit to true to tell the caller to retry with - ** LIMIT and OFFSET disabled. */ + ** OFFSET term handled as well, the plan is unusable. Similarly, + ** if there is a LIMIT/OFFSET and there are other unused terms, + ** the plan cannot be used. In these cases set variable *pbRetryLimit + ** to true to tell the caller to retry with LIMIT and OFFSET + ** disabled. */ if (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr != 0 { Xsqlite3_free(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = uintptr(0) @@ -145178,7 +146270,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { /* The non-zero argvIdx values must be contiguous. Raise an ** error if they are not */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22826, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22971, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } goto _6 @@ -145330,7 +146422,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal pVal = uintptr(0) rc = SQLITE_OK if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { - rc = _sqlite3MisuseError(tls, int32(165251)) /* EV: R-30545-25046 */ + rc = _sqlite3MisuseError(tls, int32(166453)) /* EV: R-30545-25046 */ } else { if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) { pTerm = (*TWhereClause)(unsafe.Pointer((*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC)).Fa + uintptr((*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)*56 @@ -145768,7 +146860,7 @@ func _whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) (r int32) { if rc != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { if rc == int32(SQLITE_DONE) { /* We hit the query planner search limit set by iPlanLimit */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22852, 0) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22997, 0) rc = SQLITE_OK } else { break @@ -146150,7 +147242,7 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } p = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr mTerm = _sqlite3WhereExprUsage(tls, pWInfo+592, p) - if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, p) != 0) { + if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, uintptr(0), p) != 0) { goto _9 } if mTerm & ^orderDistinctMask == uint64(0) { @@ -146560,7 +147652,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) iLoop++ } if nFrom == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22887, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23032, 0) _sqlite3DbFreeNN(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pSpace) return int32(SQLITE_ERROR) } @@ -146609,9 +147701,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) if int32((*TWherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*TExprList)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_ORDERED) } - if (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 && int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr { - (*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = int8((*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr) - } + /* vvv--- See check-in [12ad822d9b827777] on 2023-03-16 ---vvv */ } else { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*TWherePath)(unsafe.Pointer(pFrom)).FrevLoop if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 { @@ -146648,6 +147738,97 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) return SQLITE_OK } +// C documentation +// +// /* +// ** This routine implements a heuristic designed to improve query planning. +// ** This routine is called in between the first and second call to +// ** wherePathSolver(). Hence the name "Interstage" "Heuristic". +// ** +// ** The first call to wherePathSolver() (hereafter just "solver()") computes +// ** the best path without regard to the order of the outputs. The second call +// ** to the solver() builds upon the first call to try to find an alternative +// ** path that satisfies the ORDER BY clause. +// ** +// ** This routine looks at the results of the first solver() run, and for +// ** every FROM clause term in the resulting query plan that uses an equality +// ** constraint against an index, disable other WhereLoops for that same +// ** FROM clause term that would try to do a full-table scan. This prevents +// ** an index search from being converted into a full-table scan in order to +// ** satisfy an ORDER BY clause, since even though we might get slightly better +// ** performance using the full-scan without sorting if the output size +// ** estimates are very precise, we might also get severe performance +// ** degradation using the full-scan if the output size estimate is too large. +// ** It is better to err on the side of caution. +// ** +// ** Except, if the first solver() call generated a full-table scan in an outer +// ** loop then stop this analysis at the first full-scan, since the second +// ** solver() run might try to swap that full-scan for another in order to +// ** get the output into the correct order. In other words, we allow a +// ** rewrite like this: +// ** +// ** First Solver() Second Solver() +// ** |-- SCAN t1 |-- SCAN t2 +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** The purpose of this routine is to disallow rewrites such as: +// ** +// ** First Solver() Second Solver() +// ** |-- SEARCH t1 |-- SCAN t2 <--- bad! +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** See test cases in test/whereN.test for the real-world query that +// ** originally provoked this heuristic. +// */ +func _whereInterstageHeuristic(tls *libc.TLS, pWInfo uintptr) { + var i int32 + var iTab Tu8 + var p, pLoop uintptr + _, _, _, _ = i, iTab, p, pLoop + i = 0 + for { + if !(i < int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnLevel)) { + break + } + p = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(i)*104))).FpWLoop + if p == uintptr(0) { + break + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { + goto _1 + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_NULL)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != uint32(0) { + iTab = (*TWhereLoop)(unsafe.Pointer(p)).FiTab + pLoop = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpLoops + for { + if !(pLoop != 0) { + break + } + if int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab) != int32(iTab) { + goto _2 + } + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_CONSTRAINT)|libc.Int32FromInt32(WHERE_AUTO_INDEX)) != uint32(0) { + /* Auto-index and index-constrained loops allowed to remain */ + goto _2 + } + (*TWhereLoop)(unsafe.Pointer(pLoop)).Fprereq = uint64(-libc.Int32FromInt32(1)) /* Prevent 2nd solver() from using this one */ + goto _2 + _2: + ; + pLoop = (*TWhereLoop)(unsafe.Pointer(pLoop)).FpNextLoop + } + } else { + break + } + goto _1 + _1: + ; + i++ + } +} + // C documentation // // /* @@ -146956,7 +148137,7 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasStat1) == uint32(0) { break } - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) if i >= int32(1) && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&reqFlags == reqFlags && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_INDEXED)) != uint32(0) { if int32(nSearch) > int32((*TTable)(unsafe.Pointer(pTab)).FnRowLogEst) { *(*Tu32)(unsafe.Pointer(pLoop + 48)) |= uint32(WHERE_BLOOMFILTER) @@ -146971,6 +148152,68 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { } } +// C documentation +// +// /* +// ** Expression Node callback for sqlite3ExprCanReturnSubtype(). +// ** +// ** Only a function call is able to return a subtype. So if the node +// ** is not a function call, return WRC_Prune immediately. +// ** +// ** A function call is able to return a subtype if it has the +// ** SQLITE_RESULT_SUBTYPE property. +// ** +// ** Assume that every function is able to pass-through a subtype from +// ** one of its argument (using sqlite3_result_value()). Most functions +// ** are not this way, but we don't have a mechanism to distinguish those +// ** that are from those that are not, so assume they all work this way. +// ** That means that if one of its arguments is another function and that +// ** other function is able to return a subtype, then this function is +// ** able to return a subtype. +// */ +func _exprNodeCanReturnSubtype(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef uintptr + var n, v1 int32 + _, _, _, _ = db, n, pDef, v1 + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_FUNCTION) { + return int32(WRC_Prune) + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { + v1 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr + } else { + v1 = 0 + } + n = v1 + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + return int32(WRC_Prune) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Return TRUE if expression pExpr is able to return a subtype. +// ** +// ** A TRUE return does not guarantee that a subtype will be returned. +// ** It only indicates that a subtype return is possible. False positives +// ** are acceptable as they only disable an optimization. False negatives, +// ** on the other hand, can lead to incorrect answers. +// */ +func _sqlite3ExprCanReturnSubtype(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.X__builtin___memset_chk(tls, bp, 0, uint64(48), libc.X__builtin_object_size(tls, bp, 0)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeCanReturnSubtype) + _sqlite3WalkExpr(tls, bp, pExpr) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) +} + // C documentation // // /* @@ -146985,9 +148228,9 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { // ** references to the corresponding column of the index. // */ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur int32, pTabItem uintptr) { - var db, p, pArg, pDef, pExpr, pTab uintptr - var i, j, n, v2 int32 - _, _, _, _, _, _, _, _, _, _ = db, i, j, n, p, pArg, pDef, pExpr, pTab, v2 + var i, j int32 + var p, pArg, pExpr, pTab uintptr + _, _, _, _, _, _ = i, j, p, pArg, pExpr, pTab pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable i = 0 for { @@ -147004,21 +148247,14 @@ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur i goto _1 } } - if _sqlite3ExprIsConstant(tls, pExpr) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) != 0 { goto _1 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) { - db = (*TParse)(unsafe.Pointer(pParse)).Fdb - if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { - v2 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr - } else { - v2 = 0 - } - n = v2 - pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) - if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { - goto _1 - } + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) && _sqlite3ExprCanReturnSubtype(tls, pParse, pExpr) != 0 { + /* Functions that might set a subtype should not be replaced by the + ** value taken from an expression index since the index omits the + ** subtype. https://sqlite.org/forum/forumpost/68d284c86b082c3e */ + goto _1 } p = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(32)) if p == uintptr(0) { @@ -147190,7 +148426,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** bits in a Bitmask */ if (*TSrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22905, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23050, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) return uintptr(0) } /* This function normally generates a nested loop for all tables in @@ -147262,7 +148498,9 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere if int32(wctrlFlags)&int32(WHERE_WANT_DISTINCT) != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_DistinctOpt)) == uint32(0) { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_UNIQUE) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22933, 0) + if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FselFlags&uint32(SF_MultiValue) == uint32(0) { + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+23078, 0) + } } else { /* Assign a bit from the bitmask to every term in the FROM clause. ** @@ -147394,6 +148632,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere goto whereBeginError } if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy != 0 { + _whereInterstageHeuristic(tls, pWInfo) _wherePathSolver(tls, pWInfo, int16(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut)+int32(1))) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto whereBeginError @@ -147702,10 +148941,10 @@ whereBeginError: // ** sqlite3WhereBegin() for additional information. // */ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { - var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, r1, ws, x, v4, v7 int32 - var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr + var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, r1, ws, x, v4, v7 int32 + var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pTabList = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList @@ -147846,6 +149085,12 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { ws = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags) addr = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfPos), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) if ws&int32(WHERE_IDX_ONLY) == 0 { + pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 + if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x20>>5)) != 0 { + n1 = (*TSrcItem)(unsafe.Pointer(pSrc)).FregResult + m = int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FnCol) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, n1, n1+m-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) } if ws&int32(WHERE_INDEXED) != 0 || ws&int32(WHERE_MULTI_OR) != 0 && *(*uintptr)(unsafe.Pointer(&(*TWhereLevel)(unsafe.Pointer(pLevel)).Fu)) != 0 { @@ -148262,7 +149507,7 @@ func _nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) goto error_out error_out: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22951, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+23096, -int32(1)) } func _nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { @@ -148444,7 +149689,7 @@ func _ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { if (*TNtileCtx)(unsafe.Pointer(p)).FnTotal == 0 { (*TNtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg))) if (*TNtileCtx)(unsafe.Pointer(p)).FnParam <= 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+23007, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+23152, -int32(1)) } } (*TNtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -148770,7 +150015,7 @@ func _windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) (r p = (*TWindow)(unsafe.Pointer(p)).FpNextWin } if p == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23052, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23197, libc.VaList(bp+8, zName)) } return p } @@ -148821,12 +150066,12 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin _sqlite3WindowChain(tls, pParse, pWin, pList) } if int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) == int32(TK_RANGE) && ((*TWindow)(unsafe.Pointer(pWin)).FpStart != 0 || (*TWindow)(unsafe.Pointer(pWin)).FpEnd != 0) && ((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*TExprList)(unsafe.Pointer((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != int32(1)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23071, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23216, 0) } else { if (*TFuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TWindow)(unsafe.Pointer(pWin)).FpFilter != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23142, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23287, 0) } else { aUp = [8]struct { FzFunc uintptr @@ -148899,7 +150144,7 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*TWindow)(unsafe.Pointer(pWin)).FeEnd = uint8(aUp[i].FeEnd) (*TWindow)(unsafe.Pointer(pWin)).FeExclude = uint8(0) if int32((*TWindow)(unsafe.Pointer(pWin)).FeStart) == int32(TK_FOLLOWING) { - (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8478) + (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8603) } break } @@ -149181,7 +150426,7 @@ func _disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintpt bp := tls.Alloc(16) defer tls.Free(16) if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_FUNCTION) && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+23205, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) + _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+23350, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) } return WRC_Continue } @@ -149322,7 +150567,7 @@ func _sqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { ** keep everything legal in this case. */ if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1724)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1784)) } pSub = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(bp)), pSrc, pWhere, pGroupBy, pHaving, pSort, uint32(0), uintptr(0)) (*TSelect)(unsafe.Pointer(p)).FpSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), uintptr(0), uintptr(0)) @@ -149426,7 +150671,7 @@ func _sqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { // ** variable values in the expression tree. // */ func _sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r uintptr) { - if 0 == _sqlite3ExprIsConstant(tls, pExpr) { + if 0 == _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) { if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameExprUnmap(tls, pParse, pExpr) } @@ -149467,7 +150712,7 @@ func _sqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int3 ** frame boundary. */ if eStart == int32(TK_CURRENT) && eEnd == int32(TK_PRECEDING) || eStart == int32(TK_FOLLOWING) && (eEnd == int32(TK_PRECEDING) || eEnd == int32(TK_CURRENT)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23231, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23376, 0) goto windowAllocErr } pWin = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) @@ -149535,18 +150780,18 @@ func _sqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint zErr = uintptr(0) /* Check for errors */ if (*TWindow)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = __ccgo_ts + 23263 + zErr = __ccgo_ts + 23408 } else { if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*TWindow)(unsafe.Pointer(pWin)).FpOrderBy != 0 { - zErr = __ccgo_ts + 23280 + zErr = __ccgo_ts + 23425 } else { if int32((*TWindow)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = __ccgo_ts + 23296 + zErr = __ccgo_ts + 23441 } } } if zErr != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23316, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23461, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) } else { (*TWindow)(unsafe.Pointer(pWin)).FpPartition = _sqlite3ExprListDup(tls, db, (*TWindow)(unsafe.Pointer(pExist)).FpPartition, 0) if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 { @@ -149570,7 +150815,7 @@ func _sqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(libc.Int32FromInt32(EP_WinFunc) | libc.Int32FromInt32(EP_FullSize)) (*TWindow)(unsafe.Pointer(pWin)).FpOwner = p if (*TExpr)(unsafe.Pointer(p)).Fflags&uint32(EP_Distinct) != 0 && int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) != int32(TK_FILTER) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23349, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23494, 0) } } else { _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -149769,7 +151014,7 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regZero) if eCond >= int32(WINDOW_STARTING_NUM) { regString = _sqlite3GetTempReg(tls, pParse) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1650, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1664, -int32(1)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, _sqlite3VdbeCurrentAddr(tls, v)+int32(2), reg) _sqlite3VdbeChangeP5(tls, v, uint16(libc.Int32FromInt32(SQLITE_AFF_NUMERIC)|libc.Int32FromInt32(SQLITE_JUMPIFNULL))) } else { @@ -149788,11 +151033,11 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { } var _azErr = [5]uintptr{ - 0: __ccgo_ts + 23396, - 1: __ccgo_ts + 23449, - 2: __ccgo_ts + 22951, - 3: __ccgo_ts + 23500, - 4: __ccgo_ts + 23552, + 0: __ccgo_ts + 23541, + 1: __ccgo_ts + 23594, + 2: __ccgo_ts + 23096, + 3: __ccgo_ts + 23645, + 4: __ccgo_ts + 23697, } var _aOp1 = [5]int32{ @@ -150544,7 +151789,7 @@ func _windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal ** the add/subtract is skipped for these, as required. If reg1 is a NULL, ** then the arithmetic is performed, but since adding or subtracting from ** NULL is always NULL anyway, this case is handled as required too. */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1650, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1664, -int32(1)) addrGe = _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, 0, reg1) if op == int32(OP_Ge) && arith == int32(OP_Add) || op == int32(OP_Le) && arith == int32(OP_Subtract) { _sqlite3VdbeAddOp3(tls, v, op, reg2, lbl, reg1) @@ -151572,11 +152817,11 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { cnt++ if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*TSelect)(unsafe.Pointer(pLoop)).FpLimit != 0 { if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - v1 = __ccgo_ts + 23602 + v1 = __ccgo_ts + 23747 } else { - v1 = __ccgo_ts + 23611 + v1 = __ccgo_ts + 23756 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23617, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23762, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) break } } @@ -151585,7 +152830,7 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { mxSelect = v2 } if v3 && v2 > 0 && cnt > mxSelect { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23659, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23804, 0) } } } @@ -151605,6 +152850,23 @@ func _attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith u return pSelect } +// C documentation +// +// /* Memory allocator for parser stack resizing. This is a thin wrapper around +// ** sqlite3_realloc() that includes a call to sqlite3FaultSim() to facilitate +// ** testing. +// */ +func _parserStackRealloc(tls *libc.TLS, pOld uintptr, newSize Tsqlite3_uint64) (r uintptr) { + var v1 uintptr + _ = v1 + if _sqlite3FaultSim(tls, int32(700)) != 0 { + v1 = uintptr(0) + } else { + v1 = Xsqlite3_realloc(tls, pOld, int32(newSize)) + } + return v1 +} + // C documentation // // /* Construct a new Expr object from a single token */ @@ -151674,7 +152936,7 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId _ = p p = _sqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if (hasCollate != 0 || sortOrder != -int32(1)) && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23693, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23838, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) } _sqlite3ExprListSetName(tls, pParse, p, pIdToken, int32(1)) return p @@ -151724,6 +152986,9 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser // ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser // ** sqlite3ParserCTX_* As sqlite3ParserARG_ except for %extra_context +// ** YYREALLOC Name of the realloc() function to use +// ** YYFREE Name of the free() function to use +// ** YYDYNSTACK True if stack space should be extended on heap // ** YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** YYNSTATE the combined number of states. @@ -151737,31 +153002,33 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** YY_NO_ACTION The yy_action[] code for no-op // ** YY_MIN_REDUCE Minimum value for reduce actions // ** YY_MAX_REDUCE Maximum value for reduce actions +// ** YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type TYYMINORTYPE = struct { Fyy0 [0]TToken - Fyy33 [0]uintptr - Fyy41 [0]uintptr - Fyy47 [0]uintptr - Fyy131 [0]uintptr - Fyy180 [0]TTrigEvent - Fyy231 [0]struct { + Fyy14 [0]uintptr + Fyy59 [0]uintptr + Fyy67 [0]uintptr + Fyy122 [0]uintptr + Fyy132 [0]uintptr + Fyy144 [0]int32 + Fyy168 [0]uintptr + Fyy203 [0]uintptr + Fyy211 [0]uintptr + Fyy269 [0]TOnOrUsing + Fyy286 [0]TTrigEvent + Fyy383 [0]struct { Fvalue int32 Fmask int32 } - Fyy254 [0]uintptr - Fyy285 [0]Tu32 - Fyy322 [0]uintptr - Fyy385 [0]uintptr - Fyy394 [0]int32 - Fyy444 [0]uintptr - Fyy516 [0]Tu8 - Fyy521 [0]uintptr - Fyy522 [0]uintptr - Fyy528 [0]uintptr - Fyy561 [0]TOnOrUsing - Fyy595 [0]TFrameBound + Fyy391 [0]Tu32 + Fyy427 [0]uintptr + Fyy454 [0]uintptr + Fyy462 [0]Tu8 + Fyy509 [0]TFrameBound + Fyy555 [0]uintptr Fyyinit int32 F__ccgo_pad20 [12]byte } @@ -151779,6 +153046,13 @@ type YYMINORTYPE = TYYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -151831,2152 +153105,2194 @@ type YYMINORTYPE = TYYMINORTYPE // ** yy_default[] Default action for each state. // ** // *********** Begin parsing tables **********************************************/ -var _yy_action = [2100]uint16{ - 0: uint16(572), - 1: uint16(210), - 2: uint16(572), - 3: uint16(119), - 4: uint16(116), - 5: uint16(231), - 6: uint16(572), - 7: uint16(119), - 8: uint16(116), - 9: uint16(231), - 10: uint16(572), - 11: uint16(1317), - 12: uint16(379), - 13: uint16(1296), - 14: uint16(410), - 15: uint16(566), - 16: uint16(566), - 17: uint16(566), - 18: uint16(572), - 19: uint16(411), - 20: uint16(380), - 21: uint16(1317), - 22: uint16(1279), - 23: uint16(42), - 24: uint16(42), - 25: uint16(42), - 26: uint16(42), - 27: uint16(210), - 28: uint16(1529), - 29: uint16(72), - 30: uint16(72), - 31: uint16(974), - 32: uint16(421), - 33: uint16(42), - 34: uint16(42), - 35: uint16(495), - 36: uint16(305), - 37: uint16(281), - 38: uint16(305), - 39: uint16(975), - 40: uint16(399), - 41: uint16(72), - 42: uint16(72), - 43: uint16(126), - 44: uint16(127), - 45: uint16(81), - 46: uint16(1217), - 47: uint16(1217), - 48: uint16(1054), - 49: uint16(1057), - 50: uint16(1044), - 51: uint16(1044), - 52: uint16(124), - 53: uint16(124), - 54: uint16(125), - 55: uint16(125), - 56: uint16(125), - 57: uint16(125), - 58: uint16(480), - 59: uint16(411), - 60: uint16(1244), - 61: uint16(1), - 62: uint16(1), - 63: uint16(578), - 64: uint16(2), - 65: uint16(1248), - 66: uint16(554), - 67: uint16(119), - 68: uint16(116), - 69: uint16(231), - 70: uint16(319), - 71: uint16(484), - 72: uint16(147), - 73: uint16(484), - 74: uint16(528), - 75: uint16(119), - 76: uint16(116), - 77: uint16(231), - 78: uint16(533), - 79: uint16(1330), - 80: uint16(419), - 81: uint16(527), - 82: uint16(143), - 83: uint16(126), - 84: uint16(127), - 85: uint16(81), - 86: uint16(1217), - 87: uint16(1217), - 88: uint16(1054), - 89: uint16(1057), - 90: uint16(1044), - 91: uint16(1044), - 92: uint16(124), - 93: uint16(124), - 94: uint16(125), - 95: uint16(125), - 96: uint16(125), - 97: uint16(125), - 98: uint16(119), - 99: uint16(116), - 100: uint16(231), - 101: uint16(329), - 102: uint16(123), - 103: uint16(123), - 104: uint16(123), - 105: uint16(123), - 106: uint16(122), - 107: uint16(122), - 108: uint16(121), - 109: uint16(121), - 110: uint16(121), - 111: uint16(120), - 112: uint16(117), - 113: uint16(448), - 114: uint16(286), - 115: uint16(286), - 116: uint16(286), - 117: uint16(286), - 118: uint16(446), - 119: uint16(446), - 120: uint16(446), - 121: uint16(1568), - 122: uint16(378), - 123: uint16(1570), - 124: uint16(1193), - 125: uint16(377), - 126: uint16(1164), - 127: uint16(569), - 128: uint16(1164), - 129: uint16(569), - 130: uint16(411), - 131: uint16(1568), - 132: uint16(541), - 133: uint16(261), - 134: uint16(228), - 135: uint16(448), - 136: uint16(102), - 137: uint16(146), - 138: uint16(453), - 139: uint16(318), - 140: uint16(563), - 141: uint16(242), - 142: uint16(123), - 143: uint16(123), - 144: uint16(123), - 145: uint16(123), - 146: uint16(122), - 147: uint16(122), - 148: uint16(121), - 149: uint16(121), - 150: uint16(121), - 151: uint16(120), - 152: uint16(117), - 153: uint16(448), - 154: uint16(126), - 155: uint16(127), - 156: uint16(81), - 157: uint16(1217), - 158: uint16(1217), - 159: uint16(1054), - 160: uint16(1057), - 161: uint16(1044), - 162: uint16(1044), - 163: uint16(124), - 164: uint16(124), - 165: uint16(125), - 166: uint16(125), - 167: uint16(125), - 168: uint16(125), - 169: uint16(143), - 170: uint16(296), - 171: uint16(1193), - 172: uint16(341), - 173: uint16(452), - 174: uint16(121), - 175: uint16(121), - 176: uint16(121), - 177: uint16(120), - 178: uint16(117), - 179: uint16(448), - 180: uint16(128), - 181: uint16(1193), - 182: uint16(1194), - 183: uint16(1193), - 184: uint16(149), - 185: uint16(445), - 186: uint16(444), - 187: uint16(572), - 188: uint16(120), - 189: uint16(117), - 190: uint16(448), - 191: uint16(125), - 192: uint16(125), - 193: uint16(125), - 194: uint16(125), - 195: uint16(118), - 196: uint16(123), - 197: uint16(123), - 198: uint16(123), - 199: uint16(123), - 200: uint16(122), - 201: uint16(122), - 202: uint16(121), - 203: uint16(121), - 204: uint16(121), - 205: uint16(120), - 206: uint16(117), - 207: uint16(448), - 208: uint16(458), - 209: uint16(114), - 210: uint16(13), - 211: uint16(13), - 212: uint16(550), - 213: uint16(123), - 214: uint16(123), - 215: uint16(123), - 216: uint16(123), - 217: uint16(122), - 218: uint16(122), - 219: uint16(121), - 220: uint16(121), - 221: uint16(121), - 222: uint16(120), - 223: uint16(117), - 224: uint16(448), - 225: uint16(424), - 226: uint16(318), - 227: uint16(563), - 228: uint16(1193), - 229: uint16(1194), - 230: uint16(1193), - 231: uint16(150), - 232: uint16(1225), - 233: uint16(411), - 234: uint16(1225), - 235: uint16(125), - 236: uint16(125), - 237: uint16(125), - 238: uint16(125), - 239: uint16(123), - 240: uint16(123), - 241: uint16(123), - 242: uint16(123), - 243: uint16(122), - 244: uint16(122), - 245: uint16(121), - 246: uint16(121), - 247: uint16(121), - 248: uint16(120), - 249: uint16(117), - 250: uint16(448), - 251: uint16(469), - 252: uint16(344), - 253: uint16(1041), - 254: uint16(1041), - 255: uint16(1055), - 256: uint16(1058), - 257: uint16(126), - 258: uint16(127), - 259: uint16(81), - 260: uint16(1217), - 261: uint16(1217), - 262: uint16(1054), - 263: uint16(1057), - 264: uint16(1044), - 265: uint16(1044), - 266: uint16(124), - 267: uint16(124), - 268: uint16(125), - 269: uint16(125), - 270: uint16(125), - 271: uint16(125), - 272: uint16(1282), - 273: uint16(526), - 274: uint16(224), - 275: uint16(1193), - 276: uint16(572), - 277: uint16(411), - 278: uint16(226), - 279: uint16(519), - 280: uint16(177), - 281: uint16(83), - 282: uint16(84), - 283: uint16(123), - 284: uint16(123), - 285: uint16(123), - 286: uint16(123), - 287: uint16(122), - 288: uint16(122), - 289: uint16(121), - 290: uint16(121), - 291: uint16(121), - 292: uint16(120), - 293: uint16(117), - 294: uint16(448), - 295: uint16(1010), - 296: uint16(16), - 297: uint16(16), - 298: uint16(1193), - 299: uint16(134), - 300: uint16(134), - 301: uint16(126), - 302: uint16(127), - 303: uint16(81), - 304: uint16(1217), - 305: uint16(1217), - 306: uint16(1054), - 307: uint16(1057), - 308: uint16(1044), - 309: uint16(1044), - 310: uint16(124), - 311: uint16(124), - 312: uint16(125), - 313: uint16(125), - 314: uint16(125), - 315: uint16(125), - 316: uint16(123), - 317: uint16(123), - 318: uint16(123), - 319: uint16(123), - 320: uint16(122), - 321: uint16(122), - 322: uint16(121), - 323: uint16(121), - 324: uint16(121), - 325: uint16(120), - 326: uint16(117), - 327: uint16(448), - 328: uint16(1045), - 329: uint16(550), - 330: uint16(1193), - 331: uint16(375), - 332: uint16(1193), - 333: uint16(1194), - 334: uint16(1193), - 335: uint16(254), - 336: uint16(1438), - 337: uint16(401), - 338: uint16(508), - 339: uint16(505), - 340: uint16(504), - 341: uint16(112), - 342: uint16(564), - 343: uint16(570), +var _yy_action = [2142]uint16{ + 0: uint16(576), + 1: uint16(128), + 2: uint16(125), + 3: uint16(232), + 4: uint16(1622), + 5: uint16(549), + 6: uint16(576), + 7: uint16(1290), + 8: uint16(1281), + 9: uint16(576), + 10: uint16(328), + 11: uint16(576), + 12: uint16(1300), + 13: uint16(212), + 14: uint16(576), + 15: uint16(128), + 16: uint16(125), + 17: uint16(232), + 18: uint16(578), + 19: uint16(412), + 20: uint16(578), + 21: uint16(391), + 22: uint16(1542), + 23: uint16(51), + 24: uint16(51), + 25: uint16(523), + 26: uint16(405), + 27: uint16(1293), + 28: uint16(529), + 29: uint16(51), + 30: uint16(51), + 31: uint16(983), + 32: uint16(51), + 33: uint16(51), + 34: uint16(81), + 35: uint16(81), + 36: uint16(1107), + 37: uint16(61), + 38: uint16(61), + 39: uint16(984), + 40: uint16(1107), + 41: uint16(1292), + 42: uint16(380), + 43: uint16(135), + 44: uint16(136), + 45: uint16(90), + 46: uint16(1228), + 47: uint16(1228), + 48: uint16(1063), + 49: uint16(1066), + 50: uint16(1053), + 51: uint16(1053), + 52: uint16(133), + 53: uint16(133), + 54: uint16(134), + 55: uint16(134), + 56: uint16(134), + 57: uint16(134), + 58: uint16(1577), + 59: uint16(412), + 60: uint16(287), + 61: uint16(287), + 62: uint16(7), + 63: uint16(287), + 64: uint16(287), + 65: uint16(422), + 66: uint16(1050), + 67: uint16(1050), + 68: uint16(1064), + 69: uint16(1067), + 70: uint16(289), + 71: uint16(556), + 72: uint16(492), + 73: uint16(573), + 74: uint16(524), + 75: uint16(561), + 76: uint16(573), + 77: uint16(497), + 78: uint16(561), + 79: uint16(482), + 80: uint16(530), + 81: uint16(262), + 82: uint16(229), + 83: uint16(135), + 84: uint16(136), + 85: uint16(90), + 86: uint16(1228), + 87: uint16(1228), + 88: uint16(1063), + 89: uint16(1066), + 90: uint16(1053), + 91: uint16(1053), + 92: uint16(133), + 93: uint16(133), + 94: uint16(134), + 95: uint16(134), + 96: uint16(134), + 97: uint16(134), + 98: uint16(128), + 99: uint16(125), + 100: uint16(232), + 101: uint16(1506), + 102: uint16(132), + 103: uint16(132), + 104: uint16(132), + 105: uint16(132), + 106: uint16(131), + 107: uint16(131), + 108: uint16(130), + 109: uint16(130), + 110: uint16(130), + 111: uint16(129), + 112: uint16(126), + 113: uint16(450), + 114: uint16(1204), + 115: uint16(1255), + 116: uint16(1), + 117: uint16(1), + 118: uint16(582), + 119: uint16(2), + 120: uint16(1259), + 121: uint16(1571), + 122: uint16(420), + 123: uint16(1582), + 124: uint16(379), + 125: uint16(320), + 126: uint16(1174), + 127: uint16(153), + 128: uint16(1174), + 129: uint16(1584), + 130: uint16(412), + 131: uint16(378), + 132: uint16(1582), + 133: uint16(543), + 134: uint16(1341), + 135: uint16(330), + 136: uint16(111), + 137: uint16(570), + 138: uint16(570), + 139: uint16(570), + 140: uint16(293), + 141: uint16(1054), + 142: uint16(132), + 143: uint16(132), + 144: uint16(132), + 145: uint16(132), + 146: uint16(131), + 147: uint16(131), + 148: uint16(130), + 149: uint16(130), + 150: uint16(130), + 151: uint16(129), + 152: uint16(126), + 153: uint16(450), + 154: uint16(135), + 155: uint16(136), + 156: uint16(90), + 157: uint16(1228), + 158: uint16(1228), + 159: uint16(1063), + 160: uint16(1066), + 161: uint16(1053), + 162: uint16(1053), + 163: uint16(133), + 164: uint16(133), + 165: uint16(134), + 166: uint16(134), + 167: uint16(134), + 168: uint16(134), + 169: uint16(287), + 170: uint16(287), + 171: uint16(1204), + 172: uint16(1205), + 173: uint16(1204), + 174: uint16(255), + 175: uint16(287), + 176: uint16(287), + 177: uint16(510), + 178: uint16(507), + 179: uint16(506), + 180: uint16(137), + 181: uint16(455), + 182: uint16(573), + 183: uint16(212), + 184: uint16(561), + 185: uint16(447), + 186: uint16(446), + 187: uint16(505), + 188: uint16(573), + 189: uint16(1616), + 190: uint16(561), + 191: uint16(134), + 192: uint16(134), + 193: uint16(134), + 194: uint16(134), + 195: uint16(127), + 196: uint16(400), + 197: uint16(243), + 198: uint16(132), + 199: uint16(132), + 200: uint16(132), + 201: uint16(132), + 202: uint16(131), + 203: uint16(131), + 204: uint16(130), + 205: uint16(130), + 206: uint16(130), + 207: uint16(129), + 208: uint16(126), + 209: uint16(450), + 210: uint16(282), + 211: uint16(471), + 212: uint16(345), + 213: uint16(132), + 214: uint16(132), + 215: uint16(132), + 216: uint16(132), + 217: uint16(131), + 218: uint16(131), + 219: uint16(130), + 220: uint16(130), + 221: uint16(130), + 222: uint16(129), + 223: uint16(126), + 224: uint16(450), + 225: uint16(574), + 226: uint16(155), + 227: uint16(936), + 228: uint16(936), + 229: uint16(454), + 230: uint16(227), + 231: uint16(521), + 232: uint16(1236), + 233: uint16(412), + 234: uint16(1236), + 235: uint16(134), + 236: uint16(134), + 237: uint16(134), + 238: uint16(134), + 239: uint16(132), + 240: uint16(132), + 241: uint16(132), + 242: uint16(132), + 243: uint16(131), + 244: uint16(131), + 245: uint16(130), + 246: uint16(130), + 247: uint16(130), + 248: uint16(129), + 249: uint16(126), + 250: uint16(450), + 251: uint16(130), + 252: uint16(130), + 253: uint16(130), + 254: uint16(129), + 255: uint16(126), + 256: uint16(450), + 257: uint16(135), + 258: uint16(136), + 259: uint16(90), + 260: uint16(1228), + 261: uint16(1228), + 262: uint16(1063), + 263: uint16(1066), + 264: uint16(1053), + 265: uint16(1053), + 266: uint16(133), + 267: uint16(133), + 268: uint16(134), + 269: uint16(134), + 270: uint16(134), + 271: uint16(134), + 272: uint16(128), + 273: uint16(125), + 274: uint16(232), + 275: uint16(450), + 276: uint16(576), + 277: uint16(412), + 278: uint16(397), + 279: uint16(1249), + 280: uint16(180), + 281: uint16(92), + 282: uint16(93), + 283: uint16(132), + 284: uint16(132), + 285: uint16(132), + 286: uint16(132), + 287: uint16(131), + 288: uint16(131), + 289: uint16(130), + 290: uint16(130), + 291: uint16(130), + 292: uint16(129), + 293: uint16(126), + 294: uint16(450), + 295: uint16(381), + 296: uint16(387), + 297: uint16(1204), + 298: uint16(383), + 299: uint16(81), + 300: uint16(81), + 301: uint16(135), + 302: uint16(136), + 303: uint16(90), + 304: uint16(1228), + 305: uint16(1228), + 306: uint16(1063), + 307: uint16(1066), + 308: uint16(1053), + 309: uint16(1053), + 310: uint16(133), + 311: uint16(133), + 312: uint16(134), + 313: uint16(134), + 314: uint16(134), + 315: uint16(134), + 316: uint16(132), + 317: uint16(132), + 318: uint16(132), + 319: uint16(132), + 320: uint16(131), + 321: uint16(131), + 322: uint16(130), + 323: uint16(130), + 324: uint16(130), + 325: uint16(129), + 326: uint16(126), + 327: uint16(450), + 328: uint16(131), + 329: uint16(131), + 330: uint16(130), + 331: uint16(130), + 332: uint16(130), + 333: uint16(129), + 334: uint16(126), + 335: uint16(450), + 336: uint16(556), + 337: uint16(1204), + 338: uint16(302), + 339: uint16(319), + 340: uint16(567), + 341: uint16(121), + 342: uint16(568), + 343: uint16(480), 344: uint16(4), - 345: uint16(929), - 346: uint16(929), - 347: uint16(435), - 348: uint16(503), - 349: uint16(342), - 350: uint16(464), - 351: uint16(330), - 352: uint16(362), - 353: uint16(396), - 354: uint16(1238), - 355: uint16(1193), - 356: uint16(1194), - 357: uint16(1193), - 358: uint16(567), - 359: uint16(572), - 360: uint16(123), - 361: uint16(123), - 362: uint16(123), - 363: uint16(123), - 364: uint16(122), - 365: uint16(122), - 366: uint16(121), - 367: uint16(121), - 368: uint16(121), - 369: uint16(120), - 370: uint16(117), - 371: uint16(448), - 372: uint16(286), - 373: uint16(286), - 374: uint16(371), - 375: uint16(1581), - 376: uint16(1607), - 377: uint16(445), - 378: uint16(444), - 379: uint16(155), - 380: uint16(411), - 381: uint16(449), - 382: uint16(72), - 383: uint16(72), - 384: uint16(1289), - 385: uint16(569), - 386: uint16(1222), - 387: uint16(1193), - 388: uint16(1194), - 389: uint16(1193), - 390: uint16(86), - 391: uint16(1224), - 392: uint16(273), - 393: uint16(561), - 394: uint16(547), - 395: uint16(520), - 396: uint16(520), - 397: uint16(572), - 398: uint16(99), - 399: uint16(1223), - 400: uint16(6), - 401: uint16(1281), - 402: uint16(476), - 403: uint16(143), - 404: uint16(126), - 405: uint16(127), - 406: uint16(81), - 407: uint16(1217), - 408: uint16(1217), - 409: uint16(1054), - 410: uint16(1057), - 411: uint16(1044), - 412: uint16(1044), - 413: uint16(124), - 414: uint16(124), - 415: uint16(125), - 416: uint16(125), - 417: uint16(125), - 418: uint16(125), - 419: uint16(554), - 420: uint16(13), - 421: uint16(13), - 422: uint16(1031), - 423: uint16(511), - 424: uint16(1225), - 425: uint16(1193), - 426: uint16(1225), - 427: uint16(553), - 428: uint16(110), - 429: uint16(110), - 430: uint16(224), - 431: uint16(572), - 432: uint16(1239), - 433: uint16(177), - 434: uint16(572), - 435: uint16(429), - 436: uint16(111), - 437: uint16(199), - 438: uint16(449), - 439: uint16(573), - 440: uint16(449), - 441: uint16(432), - 442: uint16(1555), - 443: uint16(1019), - 444: uint16(327), - 445: uint16(555), - 446: uint16(1193), - 447: uint16(272), - 448: uint16(289), - 449: uint16(370), - 450: uint16(514), - 451: uint16(365), - 452: uint16(513), - 453: uint16(259), - 454: uint16(72), - 455: uint16(72), - 456: uint16(547), - 457: uint16(72), - 458: uint16(72), - 459: uint16(361), - 460: uint16(318), - 461: uint16(563), - 462: uint16(1613), - 463: uint16(123), - 464: uint16(123), - 465: uint16(123), - 466: uint16(123), - 467: uint16(122), - 468: uint16(122), - 469: uint16(121), - 470: uint16(121), - 471: uint16(121), - 472: uint16(120), - 473: uint16(117), - 474: uint16(448), - 475: uint16(1019), - 476: uint16(1019), - 477: uint16(1021), - 478: uint16(1022), - 479: uint16(28), - 480: uint16(286), - 481: uint16(286), - 482: uint16(1193), - 483: uint16(1194), - 484: uint16(1193), - 485: uint16(1159), - 486: uint16(572), - 487: uint16(1612), - 488: uint16(411), - 489: uint16(904), - 490: uint16(192), - 491: uint16(554), - 492: uint16(358), - 493: uint16(569), - 494: uint16(554), - 495: uint16(940), - 496: uint16(537), - 497: uint16(521), - 498: uint16(1159), - 499: uint16(437), - 500: uint16(415), - 501: uint16(1159), - 502: uint16(556), - 503: uint16(1193), - 504: uint16(1194), - 505: uint16(1193), - 506: uint16(572), - 507: uint16(548), - 508: uint16(548), - 509: uint16(52), - 510: uint16(52), - 511: uint16(216), - 512: uint16(126), - 513: uint16(127), - 514: uint16(81), - 515: uint16(1217), - 516: uint16(1217), - 517: uint16(1054), - 518: uint16(1057), - 519: uint16(1044), - 520: uint16(1044), - 521: uint16(124), - 522: uint16(124), - 523: uint16(125), - 524: uint16(125), - 525: uint16(125), - 526: uint16(125), - 527: uint16(1193), - 528: uint16(478), - 529: uint16(136), - 530: uint16(136), - 531: uint16(411), - 532: uint16(286), - 533: uint16(286), - 534: uint16(1493), - 535: uint16(509), - 536: uint16(122), - 537: uint16(122), - 538: uint16(121), - 539: uint16(121), - 540: uint16(121), - 541: uint16(120), - 542: uint16(117), - 543: uint16(448), - 544: uint16(1010), - 545: uint16(569), - 546: uint16(522), - 547: uint16(219), - 548: uint16(545), - 549: uint16(545), - 550: uint16(318), - 551: uint16(563), - 552: uint16(143), - 553: uint16(6), - 554: uint16(536), - 555: uint16(126), - 556: uint16(127), - 557: uint16(81), - 558: uint16(1217), - 559: uint16(1217), - 560: uint16(1054), - 561: uint16(1057), - 562: uint16(1044), - 563: uint16(1044), - 564: uint16(124), - 565: uint16(124), - 566: uint16(125), - 567: uint16(125), - 568: uint16(125), - 569: uint16(125), - 570: uint16(1557), - 571: uint16(123), - 572: uint16(123), - 573: uint16(123), - 574: uint16(123), - 575: uint16(122), - 576: uint16(122), - 577: uint16(121), - 578: uint16(121), - 579: uint16(121), - 580: uint16(120), - 581: uint16(117), - 582: uint16(448), - 583: uint16(489), - 584: uint16(1193), - 585: uint16(1194), - 586: uint16(1193), - 587: uint16(486), - 588: uint16(283), - 589: uint16(1270), - 590: uint16(960), - 591: uint16(254), - 592: uint16(1193), - 593: uint16(375), - 594: uint16(508), - 595: uint16(505), - 596: uint16(504), - 597: uint16(1193), - 598: uint16(342), - 599: uint16(574), - 600: uint16(1193), - 601: uint16(574), - 602: uint16(411), - 603: uint16(294), - 604: uint16(503), - 605: uint16(960), - 606: uint16(879), - 607: uint16(193), - 608: uint16(484), - 609: uint16(318), - 610: uint16(563), - 611: uint16(386), - 612: uint16(292), - 613: uint16(382), - 614: uint16(123), - 615: uint16(123), - 616: uint16(123), - 617: uint16(123), - 618: uint16(122), - 619: uint16(122), - 620: uint16(121), - 621: uint16(121), - 622: uint16(121), - 623: uint16(120), - 624: uint16(117), - 625: uint16(448), - 626: uint16(126), - 627: uint16(127), - 628: uint16(81), - 629: uint16(1217), - 630: uint16(1217), - 631: uint16(1054), - 632: uint16(1057), - 633: uint16(1044), - 634: uint16(1044), - 635: uint16(124), - 636: uint16(124), - 637: uint16(125), - 638: uint16(125), - 639: uint16(125), - 640: uint16(125), - 641: uint16(411), - 642: uint16(396), - 643: uint16(1139), - 644: uint16(1193), - 645: uint16(872), - 646: uint16(101), - 647: uint16(286), - 648: uint16(286), - 649: uint16(1193), - 650: uint16(1194), - 651: uint16(1193), - 652: uint16(375), - 653: uint16(1096), - 654: uint16(1193), - 655: uint16(1194), - 656: uint16(1193), - 657: uint16(1193), - 658: uint16(1194), - 659: uint16(1193), - 660: uint16(569), - 661: uint16(459), - 662: uint16(33), - 663: uint16(375), - 664: uint16(235), - 665: uint16(126), - 666: uint16(127), - 667: uint16(81), - 668: uint16(1217), - 669: uint16(1217), - 670: uint16(1054), - 671: uint16(1057), - 672: uint16(1044), - 673: uint16(1044), - 674: uint16(124), - 675: uint16(124), - 676: uint16(125), - 677: uint16(125), - 678: uint16(125), - 679: uint16(125), - 680: uint16(1437), - 681: uint16(962), - 682: uint16(572), - 683: uint16(230), - 684: uint16(961), - 685: uint16(123), - 686: uint16(123), - 687: uint16(123), - 688: uint16(123), - 689: uint16(122), - 690: uint16(122), - 691: uint16(121), - 692: uint16(121), - 693: uint16(121), - 694: uint16(120), - 695: uint16(117), - 696: uint16(448), - 697: uint16(1159), - 698: uint16(230), - 699: uint16(1193), - 700: uint16(158), - 701: uint16(1193), - 702: uint16(1194), - 703: uint16(1193), - 704: uint16(1556), - 705: uint16(13), - 706: uint16(13), - 707: uint16(303), - 708: uint16(960), - 709: uint16(1233), - 710: uint16(1159), - 711: uint16(154), - 712: uint16(411), - 713: uint16(1159), - 714: uint16(375), - 715: uint16(1584), - 716: uint16(1177), - 717: uint16(5), - 718: uint16(371), - 719: uint16(1581), - 720: uint16(431), - 721: uint16(1239), - 722: uint16(3), - 723: uint16(960), - 724: uint16(123), - 725: uint16(123), - 726: uint16(123), - 727: uint16(123), - 728: uint16(122), - 729: uint16(122), - 730: uint16(121), - 731: uint16(121), - 732: uint16(121), - 733: uint16(120), - 734: uint16(117), - 735: uint16(448), - 736: uint16(126), - 737: uint16(127), - 738: uint16(81), - 739: uint16(1217), - 740: uint16(1217), - 741: uint16(1054), - 742: uint16(1057), - 743: uint16(1044), - 744: uint16(1044), - 745: uint16(124), - 746: uint16(124), - 747: uint16(125), - 748: uint16(125), - 749: uint16(125), - 750: uint16(125), - 751: uint16(411), - 752: uint16(210), - 753: uint16(571), - 754: uint16(1193), - 755: uint16(1032), - 756: uint16(1193), - 757: uint16(1194), - 758: uint16(1193), - 759: uint16(1193), - 760: uint16(390), - 761: uint16(855), - 762: uint16(156), - 763: uint16(1555), - 764: uint16(376), - 765: uint16(404), - 766: uint16(1101), - 767: uint16(1101), - 768: uint16(492), - 769: uint16(572), - 770: uint16(469), - 771: uint16(344), - 772: uint16(1322), - 773: uint16(1322), - 774: uint16(1555), - 775: uint16(126), - 776: uint16(127), - 777: uint16(81), - 778: uint16(1217), - 779: uint16(1217), - 780: uint16(1054), - 781: uint16(1057), - 782: uint16(1044), - 783: uint16(1044), - 784: uint16(124), - 785: uint16(124), - 786: uint16(125), - 787: uint16(125), - 788: uint16(125), - 789: uint16(125), - 790: uint16(130), - 791: uint16(572), - 792: uint16(13), - 793: uint16(13), - 794: uint16(532), - 795: uint16(123), - 796: uint16(123), - 797: uint16(123), - 798: uint16(123), - 799: uint16(122), - 800: uint16(122), - 801: uint16(121), - 802: uint16(121), - 803: uint16(121), - 804: uint16(120), - 805: uint16(117), - 806: uint16(448), - 807: uint16(304), - 808: uint16(572), - 809: uint16(457), - 810: uint16(229), - 811: uint16(1193), - 812: uint16(1194), - 813: uint16(1193), - 814: uint16(13), - 815: uint16(13), - 816: uint16(1193), - 817: uint16(1194), - 818: uint16(1193), - 819: uint16(1300), - 820: uint16(467), - 821: uint16(1270), - 822: uint16(411), - 823: uint16(1320), - 824: uint16(1320), - 825: uint16(1555), - 826: uint16(1015), - 827: uint16(457), - 828: uint16(456), - 829: uint16(436), - 830: uint16(301), - 831: uint16(72), - 832: uint16(72), - 833: uint16(1268), - 834: uint16(123), - 835: uint16(123), - 836: uint16(123), - 837: uint16(123), - 838: uint16(122), - 839: uint16(122), - 840: uint16(121), - 841: uint16(121), - 842: uint16(121), - 843: uint16(120), - 844: uint16(117), - 845: uint16(448), - 846: uint16(126), - 847: uint16(127), - 848: uint16(81), - 849: uint16(1217), - 850: uint16(1217), - 851: uint16(1054), - 852: uint16(1057), - 853: uint16(1044), - 854: uint16(1044), - 855: uint16(124), - 856: uint16(124), - 857: uint16(125), - 858: uint16(125), - 859: uint16(125), - 860: uint16(125), - 861: uint16(411), - 862: uint16(384), - 863: uint16(1076), - 864: uint16(1159), - 865: uint16(286), - 866: uint16(286), - 867: uint16(421), - 868: uint16(314), - 869: uint16(280), - 870: uint16(280), - 871: uint16(287), - 872: uint16(287), - 873: uint16(461), - 874: uint16(408), - 875: uint16(407), - 876: uint16(1539), - 877: uint16(1159), - 878: uint16(569), - 879: uint16(572), - 880: uint16(1159), - 881: uint16(1196), - 882: uint16(569), - 883: uint16(409), - 884: uint16(569), - 885: uint16(126), - 886: uint16(127), - 887: uint16(81), - 888: uint16(1217), - 889: uint16(1217), - 890: uint16(1054), - 891: uint16(1057), - 892: uint16(1044), - 893: uint16(1044), - 894: uint16(124), - 895: uint16(124), - 896: uint16(125), - 897: uint16(125), - 898: uint16(125), - 899: uint16(125), - 900: uint16(457), - 901: uint16(1485), - 902: uint16(13), - 903: uint16(13), - 904: uint16(1541), - 905: uint16(123), - 906: uint16(123), - 907: uint16(123), - 908: uint16(123), - 909: uint16(122), - 910: uint16(122), - 911: uint16(121), - 912: uint16(121), - 913: uint16(121), - 914: uint16(120), - 915: uint16(117), - 916: uint16(448), - 917: uint16(202), - 918: uint16(572), - 919: uint16(462), - 920: uint16(1587), - 921: uint16(578), - 922: uint16(2), - 923: uint16(1248), - 924: uint16(843), - 925: uint16(844), - 926: uint16(845), - 927: uint16(1563), - 928: uint16(319), - 929: uint16(409), - 930: uint16(147), - 931: uint16(6), - 932: uint16(411), - 933: uint16(257), - 934: uint16(256), - 935: uint16(255), - 936: uint16(208), - 937: uint16(1330), - 938: uint16(9), - 939: uint16(1196), - 940: uint16(264), - 941: uint16(72), - 942: uint16(72), - 943: uint16(1436), - 944: uint16(123), - 945: uint16(123), - 946: uint16(123), - 947: uint16(123), - 948: uint16(122), - 949: uint16(122), - 950: uint16(121), - 951: uint16(121), - 952: uint16(121), - 953: uint16(120), - 954: uint16(117), - 955: uint16(448), - 956: uint16(126), - 957: uint16(127), - 958: uint16(81), - 959: uint16(1217), - 960: uint16(1217), - 961: uint16(1054), - 962: uint16(1057), - 963: uint16(1044), - 964: uint16(1044), - 965: uint16(124), - 966: uint16(124), - 967: uint16(125), - 968: uint16(125), - 969: uint16(125), - 970: uint16(125), - 971: uint16(572), - 972: uint16(286), - 973: uint16(286), - 974: uint16(572), - 975: uint16(1213), - 976: uint16(411), - 977: uint16(577), - 978: uint16(315), - 979: uint16(1248), - 980: uint16(421), - 981: uint16(371), - 982: uint16(1581), - 983: uint16(356), - 984: uint16(319), - 985: uint16(569), - 986: uint16(147), - 987: uint16(495), - 988: uint16(529), - 989: uint16(1644), - 990: uint16(397), - 991: uint16(935), - 992: uint16(495), - 993: uint16(1330), - 994: uint16(71), - 995: uint16(71), - 996: uint16(934), - 997: uint16(72), - 998: uint16(72), - 999: uint16(242), - 1000: uint16(1328), - 1001: uint16(105), - 1002: uint16(81), - 1003: uint16(1217), - 1004: uint16(1217), - 1005: uint16(1054), - 1006: uint16(1057), - 1007: uint16(1044), - 1008: uint16(1044), - 1009: uint16(124), - 1010: uint16(124), - 1011: uint16(125), - 1012: uint16(125), - 1013: uint16(125), - 1014: uint16(125), - 1015: uint16(123), - 1016: uint16(123), - 1017: uint16(123), - 1018: uint16(123), - 1019: uint16(122), - 1020: uint16(122), - 1021: uint16(121), - 1022: uint16(121), - 1023: uint16(121), - 1024: uint16(120), - 1025: uint16(117), - 1026: uint16(448), - 1027: uint16(1117), - 1028: uint16(286), - 1029: uint16(286), - 1030: uint16(1422), - 1031: uint16(452), - 1032: uint16(1528), - 1033: uint16(1213), - 1034: uint16(443), - 1035: uint16(286), - 1036: uint16(286), - 1037: uint16(1492), - 1038: uint16(1355), - 1039: uint16(313), - 1040: uint16(478), - 1041: uint16(569), - 1042: uint16(1118), - 1043: uint16(454), - 1044: uint16(351), - 1045: uint16(495), - 1046: uint16(354), - 1047: uint16(1266), - 1048: uint16(569), - 1049: uint16(209), - 1050: uint16(572), - 1051: uint16(418), - 1052: uint16(179), - 1053: uint16(572), - 1054: uint16(1031), - 1055: uint16(242), - 1056: uint16(385), - 1057: uint16(1119), - 1058: uint16(523), - 1059: uint16(123), - 1060: uint16(123), - 1061: uint16(123), - 1062: uint16(123), - 1063: uint16(122), - 1064: uint16(122), - 1065: uint16(121), - 1066: uint16(121), - 1067: uint16(121), - 1068: uint16(120), - 1069: uint16(117), - 1070: uint16(448), - 1071: uint16(1020), - 1072: uint16(108), - 1073: uint16(72), - 1074: uint16(72), - 1075: uint16(1019), - 1076: uint16(13), - 1077: uint16(13), - 1078: uint16(915), - 1079: uint16(572), - 1080: uint16(1498), - 1081: uint16(572), - 1082: uint16(286), - 1083: uint16(286), - 1084: uint16(98), - 1085: uint16(530), - 1086: uint16(1537), - 1087: uint16(452), - 1088: uint16(916), - 1089: uint16(1334), - 1090: uint16(1329), - 1091: uint16(203), - 1092: uint16(411), - 1093: uint16(286), - 1094: uint16(286), - 1095: uint16(569), - 1096: uint16(152), - 1097: uint16(211), - 1098: uint16(1498), - 1099: uint16(1500), - 1100: uint16(426), - 1101: uint16(569), - 1102: uint16(56), - 1103: uint16(56), - 1104: uint16(57), - 1105: uint16(57), - 1106: uint16(569), - 1107: uint16(1019), - 1108: uint16(1019), - 1109: uint16(1021), - 1110: uint16(447), - 1111: uint16(572), - 1112: uint16(411), - 1113: uint16(531), - 1114: uint16(12), - 1115: uint16(297), - 1116: uint16(126), - 1117: uint16(127), - 1118: uint16(81), - 1119: uint16(1217), - 1120: uint16(1217), - 1121: uint16(1054), - 1122: uint16(1057), - 1123: uint16(1044), - 1124: uint16(1044), - 1125: uint16(124), - 1126: uint16(124), - 1127: uint16(125), - 1128: uint16(125), - 1129: uint16(125), - 1130: uint16(125), - 1131: uint16(572), - 1132: uint16(411), - 1133: uint16(867), - 1134: uint16(15), - 1135: uint16(15), - 1136: uint16(126), - 1137: uint16(127), - 1138: uint16(81), - 1139: uint16(1217), - 1140: uint16(1217), - 1141: uint16(1054), - 1142: uint16(1057), - 1143: uint16(1044), - 1144: uint16(1044), - 1145: uint16(124), - 1146: uint16(124), - 1147: uint16(125), - 1148: uint16(125), - 1149: uint16(125), - 1150: uint16(125), - 1151: uint16(373), - 1152: uint16(529), - 1153: uint16(264), - 1154: uint16(44), - 1155: uint16(44), - 1156: uint16(126), - 1157: uint16(115), - 1158: uint16(81), - 1159: uint16(1217), - 1160: uint16(1217), - 1161: uint16(1054), - 1162: uint16(1057), - 1163: uint16(1044), - 1164: uint16(1044), - 1165: uint16(124), - 1166: uint16(124), - 1167: uint16(125), - 1168: uint16(125), - 1169: uint16(125), - 1170: uint16(125), - 1171: uint16(1498), - 1172: uint16(478), - 1173: uint16(1271), - 1174: uint16(417), - 1175: uint16(123), - 1176: uint16(123), - 1177: uint16(123), - 1178: uint16(123), - 1179: uint16(122), - 1180: uint16(122), - 1181: uint16(121), - 1182: uint16(121), - 1183: uint16(121), - 1184: uint16(120), - 1185: uint16(117), - 1186: uint16(448), - 1187: uint16(205), - 1188: uint16(1213), - 1189: uint16(495), - 1190: uint16(430), - 1191: uint16(867), - 1192: uint16(468), - 1193: uint16(322), - 1194: uint16(495), - 1195: uint16(123), - 1196: uint16(123), - 1197: uint16(123), - 1198: uint16(123), - 1199: uint16(122), - 1200: uint16(122), - 1201: uint16(121), - 1202: uint16(121), - 1203: uint16(121), - 1204: uint16(120), - 1205: uint16(117), - 1206: uint16(448), - 1207: uint16(572), - 1208: uint16(557), - 1209: uint16(1140), - 1210: uint16(1642), - 1211: uint16(1422), - 1212: uint16(1642), - 1213: uint16(543), - 1214: uint16(572), - 1215: uint16(123), - 1216: uint16(123), - 1217: uint16(123), - 1218: uint16(123), - 1219: uint16(122), - 1220: uint16(122), - 1221: uint16(121), - 1222: uint16(121), - 1223: uint16(121), - 1224: uint16(120), - 1225: uint16(117), - 1226: uint16(448), - 1227: uint16(572), - 1228: uint16(1422), - 1229: uint16(572), - 1230: uint16(13), - 1231: uint16(13), - 1232: uint16(542), - 1233: uint16(323), - 1234: uint16(1325), - 1235: uint16(411), - 1236: uint16(334), - 1237: uint16(58), - 1238: uint16(58), - 1239: uint16(349), - 1240: uint16(1422), - 1241: uint16(1170), - 1242: uint16(326), - 1243: uint16(286), - 1244: uint16(286), - 1245: uint16(549), - 1246: uint16(1213), - 1247: uint16(300), - 1248: uint16(895), - 1249: uint16(530), - 1250: uint16(45), - 1251: uint16(45), - 1252: uint16(59), - 1253: uint16(59), - 1254: uint16(1140), - 1255: uint16(1643), - 1256: uint16(569), - 1257: uint16(1643), - 1258: uint16(565), - 1259: uint16(417), - 1260: uint16(127), - 1261: uint16(81), - 1262: uint16(1217), - 1263: uint16(1217), - 1264: uint16(1054), - 1265: uint16(1057), - 1266: uint16(1044), - 1267: uint16(1044), - 1268: uint16(124), - 1269: uint16(124), - 1270: uint16(125), - 1271: uint16(125), - 1272: uint16(125), - 1273: uint16(125), - 1274: uint16(1367), - 1275: uint16(373), - 1276: uint16(500), - 1277: uint16(290), - 1278: uint16(1193), - 1279: uint16(512), - 1280: uint16(1366), - 1281: uint16(427), - 1282: uint16(394), - 1283: uint16(394), - 1284: uint16(393), - 1285: uint16(275), - 1286: uint16(391), - 1287: uint16(896), - 1288: uint16(1138), - 1289: uint16(852), - 1290: uint16(478), - 1291: uint16(258), - 1292: uint16(1422), - 1293: uint16(1170), - 1294: uint16(463), - 1295: uint16(1159), - 1296: uint16(12), - 1297: uint16(331), - 1298: uint16(428), - 1299: uint16(333), - 1300: uint16(1117), - 1301: uint16(460), - 1302: uint16(236), - 1303: uint16(258), - 1304: uint16(325), - 1305: uint16(460), - 1306: uint16(544), - 1307: uint16(1544), - 1308: uint16(1159), - 1309: uint16(1098), - 1310: uint16(491), - 1311: uint16(1159), - 1312: uint16(324), - 1313: uint16(1098), - 1314: uint16(440), - 1315: uint16(1118), - 1316: uint16(335), - 1317: uint16(516), - 1318: uint16(123), - 1319: uint16(123), - 1320: uint16(123), - 1321: uint16(123), - 1322: uint16(122), - 1323: uint16(122), - 1324: uint16(121), - 1325: uint16(121), - 1326: uint16(121), - 1327: uint16(120), - 1328: uint16(117), - 1329: uint16(448), - 1330: uint16(1119), - 1331: uint16(318), - 1332: uint16(563), - 1333: uint16(1138), - 1334: uint16(572), - 1335: uint16(1193), - 1336: uint16(1194), - 1337: uint16(1193), - 1338: uint16(112), - 1339: uint16(564), - 1340: uint16(201), + 345: uint16(555), + 346: uint16(1149), + 347: uint16(1657), + 348: uint16(1628), + 349: uint16(1657), + 350: uint16(45), + 351: uint16(128), + 352: uint16(125), + 353: uint16(232), + 354: uint16(1204), + 355: uint16(1205), + 356: uint16(1204), + 357: uint16(1250), + 358: uint16(571), + 359: uint16(1169), + 360: uint16(132), + 361: uint16(132), + 362: uint16(132), + 363: uint16(132), + 364: uint16(131), + 365: uint16(131), + 366: uint16(130), + 367: uint16(130), + 368: uint16(130), + 369: uint16(129), + 370: uint16(126), + 371: uint16(450), + 372: uint16(1169), + 373: uint16(287), + 374: uint16(287), + 375: uint16(1169), + 376: uint16(1019), + 377: uint16(576), + 378: uint16(422), + 379: uint16(1019), + 380: uint16(412), + 381: uint16(451), + 382: uint16(1602), + 383: uint16(582), + 384: uint16(2), + 385: uint16(1259), + 386: uint16(573), + 387: uint16(44), + 388: uint16(561), + 389: uint16(95), + 390: uint16(320), + 391: uint16(110), + 392: uint16(153), + 393: uint16(565), + 394: uint16(1204), + 395: uint16(1205), + 396: uint16(1204), + 397: uint16(522), + 398: uint16(522), + 399: uint16(1341), + 400: uint16(81), + 401: uint16(81), + 402: uint16(7), + 403: uint16(44), + 404: uint16(135), + 405: uint16(136), + 406: uint16(90), + 407: uint16(1228), + 408: uint16(1228), + 409: uint16(1063), + 410: uint16(1066), + 411: uint16(1053), + 412: uint16(1053), + 413: uint16(133), + 414: uint16(133), + 415: uint16(134), + 416: uint16(134), + 417: uint16(134), + 418: uint16(134), + 419: uint16(295), + 420: uint16(1149), + 421: uint16(1658), + 422: uint16(1040), + 423: uint16(1658), + 424: uint16(1204), + 425: uint16(1147), + 426: uint16(319), + 427: uint16(567), + 428: uint16(119), + 429: uint16(119), + 430: uint16(343), + 431: uint16(466), + 432: uint16(331), + 433: uint16(343), + 434: uint16(287), + 435: uint16(287), + 436: uint16(120), + 437: uint16(556), + 438: uint16(451), + 439: uint16(577), + 440: uint16(451), + 441: uint16(1169), + 442: uint16(1169), + 443: uint16(1028), + 444: uint16(319), + 445: uint16(567), + 446: uint16(438), + 447: uint16(573), + 448: uint16(210), + 449: uint16(561), + 450: uint16(1339), + 451: uint16(1451), + 452: uint16(546), + 453: uint16(531), + 454: uint16(1169), + 455: uint16(1169), + 456: uint16(1598), + 457: uint16(1169), + 458: uint16(1169), + 459: uint16(416), + 460: uint16(319), + 461: uint16(567), + 462: uint16(243), + 463: uint16(132), + 464: uint16(132), + 465: uint16(132), + 466: uint16(132), + 467: uint16(131), + 468: uint16(131), + 469: uint16(130), + 470: uint16(130), + 471: uint16(130), + 472: uint16(129), + 473: uint16(126), + 474: uint16(450), + 475: uint16(1028), + 476: uint16(1028), + 477: uint16(1030), + 478: uint16(1031), + 479: uint16(35), + 480: uint16(44), + 481: uint16(1204), + 482: uint16(1205), + 483: uint16(1204), + 484: uint16(472), + 485: uint16(287), + 486: uint16(287), + 487: uint16(1328), + 488: uint16(412), + 489: uint16(1307), + 490: uint16(372), + 491: uint16(1595), + 492: uint16(359), + 493: uint16(225), + 494: uint16(454), + 495: uint16(1204), + 496: uint16(195), + 497: uint16(1328), + 498: uint16(573), + 499: uint16(1147), + 500: uint16(561), + 501: uint16(1333), + 502: uint16(1333), + 503: uint16(274), + 504: uint16(576), + 505: uint16(1188), + 506: uint16(576), + 507: uint16(340), + 508: uint16(46), + 509: uint16(196), + 510: uint16(537), + 511: uint16(217), + 512: uint16(135), + 513: uint16(136), + 514: uint16(90), + 515: uint16(1228), + 516: uint16(1228), + 517: uint16(1063), + 518: uint16(1066), + 519: uint16(1053), + 520: uint16(1053), + 521: uint16(133), + 522: uint16(133), + 523: uint16(134), + 524: uint16(134), + 525: uint16(134), + 526: uint16(134), + 527: uint16(19), + 528: uint16(19), + 529: uint16(19), + 530: uint16(19), + 531: uint16(412), + 532: uint16(581), + 533: uint16(1204), + 534: uint16(1259), + 535: uint16(511), + 536: uint16(1204), + 537: uint16(319), + 538: uint16(567), + 539: uint16(320), + 540: uint16(944), + 541: uint16(153), + 542: uint16(425), + 543: uint16(491), + 544: uint16(430), + 545: uint16(943), + 546: uint16(1204), + 547: uint16(488), + 548: uint16(1341), + 549: uint16(1450), + 550: uint16(532), + 551: uint16(1277), + 552: uint16(1204), + 553: uint16(1205), + 554: uint16(1204), + 555: uint16(135), + 556: uint16(136), + 557: uint16(90), + 558: uint16(1228), + 559: uint16(1228), + 560: uint16(1063), + 561: uint16(1066), + 562: uint16(1053), + 563: uint16(1053), + 564: uint16(133), + 565: uint16(133), + 566: uint16(134), + 567: uint16(134), + 568: uint16(134), + 569: uint16(134), + 570: uint16(575), + 571: uint16(132), + 572: uint16(132), + 573: uint16(132), + 574: uint16(132), + 575: uint16(131), + 576: uint16(131), + 577: uint16(130), + 578: uint16(130), + 579: uint16(130), + 580: uint16(129), + 581: uint16(126), + 582: uint16(450), + 583: uint16(287), + 584: uint16(287), + 585: uint16(528), + 586: uint16(287), + 587: uint16(287), + 588: uint16(372), + 589: uint16(1595), + 590: uint16(1204), + 591: uint16(1205), + 592: uint16(1204), + 593: uint16(1204), + 594: uint16(1205), + 595: uint16(1204), + 596: uint16(573), + 597: uint16(486), + 598: uint16(561), + 599: uint16(573), + 600: uint16(889), + 601: uint16(561), + 602: uint16(412), + 603: uint16(1204), + 604: uint16(1205), + 605: uint16(1204), + 606: uint16(886), + 607: uint16(40), + 608: uint16(22), + 609: uint16(22), + 610: uint16(220), + 611: uint16(243), + 612: uint16(525), + 613: uint16(1449), + 614: uint16(132), + 615: uint16(132), + 616: uint16(132), + 617: uint16(132), + 618: uint16(131), + 619: uint16(131), + 620: uint16(130), + 621: uint16(130), + 622: uint16(130), + 623: uint16(129), + 624: uint16(126), + 625: uint16(450), + 626: uint16(135), + 627: uint16(136), + 628: uint16(90), + 629: uint16(1228), + 630: uint16(1228), + 631: uint16(1063), + 632: uint16(1066), + 633: uint16(1053), + 634: uint16(1053), + 635: uint16(133), + 636: uint16(133), + 637: uint16(134), + 638: uint16(134), + 639: uint16(134), + 640: uint16(134), + 641: uint16(412), + 642: uint16(180), + 643: uint16(454), + 644: uint16(1204), + 645: uint16(879), + 646: uint16(255), + 647: uint16(287), + 648: uint16(287), + 649: uint16(510), + 650: uint16(507), + 651: uint16(506), + 652: uint16(372), + 653: uint16(1595), + 654: uint16(1568), + 655: uint16(1331), + 656: uint16(1331), + 657: uint16(576), + 658: uint16(889), + 659: uint16(505), + 660: uint16(573), + 661: uint16(44), + 662: uint16(561), + 663: uint16(559), + 664: uint16(1207), + 665: uint16(135), + 666: uint16(136), + 667: uint16(90), + 668: uint16(1228), + 669: uint16(1228), + 670: uint16(1063), + 671: uint16(1066), + 672: uint16(1053), + 673: uint16(1053), + 674: uint16(133), + 675: uint16(133), + 676: uint16(134), + 677: uint16(134), + 678: uint16(134), + 679: uint16(134), + 680: uint16(81), + 681: uint16(81), + 682: uint16(422), + 683: uint16(576), + 684: uint16(377), + 685: uint16(132), + 686: uint16(132), + 687: uint16(132), + 688: uint16(132), + 689: uint16(131), + 690: uint16(131), + 691: uint16(130), + 692: uint16(130), + 693: uint16(130), + 694: uint16(129), + 695: uint16(126), + 696: uint16(450), + 697: uint16(297), + 698: uint16(287), + 699: uint16(287), + 700: uint16(460), + 701: uint16(1204), + 702: uint16(1205), + 703: uint16(1204), + 704: uint16(1204), + 705: uint16(534), + 706: uint16(19), + 707: uint16(19), + 708: uint16(448), + 709: uint16(448), + 710: uint16(448), + 711: uint16(573), + 712: uint16(412), + 713: uint16(561), + 714: uint16(230), + 715: uint16(436), + 716: uint16(1187), + 717: uint16(535), + 718: uint16(319), + 719: uint16(567), + 720: uint16(363), + 721: uint16(432), + 722: uint16(1207), + 723: uint16(1435), + 724: uint16(132), + 725: uint16(132), + 726: uint16(132), + 727: uint16(132), + 728: uint16(131), + 729: uint16(131), + 730: uint16(130), + 731: uint16(130), + 732: uint16(130), + 733: uint16(129), + 734: uint16(126), + 735: uint16(450), + 736: uint16(135), + 737: uint16(136), + 738: uint16(90), + 739: uint16(1228), + 740: uint16(1228), + 741: uint16(1063), + 742: uint16(1066), + 743: uint16(1053), + 744: uint16(1053), + 745: uint16(133), + 746: uint16(133), + 747: uint16(134), + 748: uint16(134), + 749: uint16(134), + 750: uint16(134), + 751: uint16(412), + 752: uint16(211), + 753: uint16(949), + 754: uint16(1169), + 755: uint16(1041), + 756: uint16(1110), + 757: uint16(1110), + 758: uint16(494), + 759: uint16(547), + 760: uint16(547), + 761: uint16(1204), + 762: uint16(1205), + 763: uint16(1204), + 764: uint16(7), + 765: uint16(539), + 766: uint16(1570), + 767: uint16(1169), + 768: uint16(376), + 769: uint16(576), + 770: uint16(1169), + 771: uint16(5), + 772: uint16(1204), + 773: uint16(486), + 774: uint16(3), + 775: uint16(135), + 776: uint16(136), + 777: uint16(90), + 778: uint16(1228), + 779: uint16(1228), + 780: uint16(1063), + 781: uint16(1066), + 782: uint16(1053), + 783: uint16(1053), + 784: uint16(133), + 785: uint16(133), + 786: uint16(134), + 787: uint16(134), + 788: uint16(134), + 789: uint16(134), + 790: uint16(576), + 791: uint16(513), + 792: uint16(19), + 793: uint16(19), + 794: uint16(427), + 795: uint16(132), + 796: uint16(132), + 797: uint16(132), + 798: uint16(132), + 799: uint16(131), + 800: uint16(131), + 801: uint16(130), + 802: uint16(130), + 803: uint16(130), + 804: uint16(129), + 805: uint16(126), + 806: uint16(450), + 807: uint16(305), + 808: uint16(1204), + 809: uint16(433), + 810: uint16(225), + 811: uint16(1204), + 812: uint16(385), + 813: uint16(19), + 814: uint16(19), + 815: uint16(273), + 816: uint16(290), + 817: uint16(371), + 818: uint16(516), + 819: uint16(366), + 820: uint16(515), + 821: uint16(260), + 822: uint16(412), + 823: uint16(538), + 824: uint16(1568), + 825: uint16(549), + 826: uint16(1024), + 827: uint16(362), + 828: uint16(437), + 829: uint16(1204), + 830: uint16(1205), + 831: uint16(1204), + 832: uint16(902), + 833: uint16(1552), + 834: uint16(132), + 835: uint16(132), + 836: uint16(132), + 837: uint16(132), + 838: uint16(131), + 839: uint16(131), + 840: uint16(130), + 841: uint16(130), + 842: uint16(130), + 843: uint16(129), + 844: uint16(126), + 845: uint16(450), + 846: uint16(135), + 847: uint16(136), + 848: uint16(90), + 849: uint16(1228), + 850: uint16(1228), + 851: uint16(1063), + 852: uint16(1066), + 853: uint16(1053), + 854: uint16(1053), + 855: uint16(133), + 856: uint16(133), + 857: uint16(134), + 858: uint16(134), + 859: uint16(134), + 860: uint16(134), + 861: uint16(412), + 862: uint16(1435), + 863: uint16(514), + 864: uint16(1281), + 865: uint16(1204), + 866: uint16(1205), + 867: uint16(1204), + 868: uint16(1204), + 869: uint16(1205), + 870: uint16(1204), + 871: uint16(903), + 872: uint16(48), + 873: uint16(342), + 874: uint16(1568), + 875: uint16(1568), + 876: uint16(1279), + 877: uint16(1627), + 878: uint16(1568), + 879: uint16(911), + 880: uint16(576), + 881: uint16(129), + 882: uint16(126), + 883: uint16(450), + 884: uint16(110), + 885: uint16(135), + 886: uint16(136), + 887: uint16(90), + 888: uint16(1228), + 889: uint16(1228), + 890: uint16(1063), + 891: uint16(1066), + 892: uint16(1053), + 893: uint16(1053), + 894: uint16(133), + 895: uint16(133), + 896: uint16(134), + 897: uint16(134), + 898: uint16(134), + 899: uint16(134), + 900: uint16(265), + 901: uint16(576), + 902: uint16(459), + 903: uint16(19), + 904: uint16(19), + 905: uint16(132), + 906: uint16(132), + 907: uint16(132), + 908: uint16(132), + 909: uint16(131), + 910: uint16(131), + 911: uint16(130), + 912: uint16(130), + 913: uint16(130), + 914: uint16(129), + 915: uint16(126), + 916: uint16(450), + 917: uint16(1345), + 918: uint16(204), + 919: uint16(576), + 920: uint16(459), + 921: uint16(458), + 922: uint16(50), + 923: uint16(47), + 924: uint16(19), + 925: uint16(19), + 926: uint16(49), + 927: uint16(434), + 928: uint16(1105), + 929: uint16(573), + 930: uint16(497), + 931: uint16(561), + 932: uint16(412), + 933: uint16(428), + 934: uint16(108), + 935: uint16(1224), + 936: uint16(1569), + 937: uint16(1554), + 938: uint16(376), + 939: uint16(205), + 940: uint16(550), + 941: uint16(550), + 942: uint16(81), + 943: uint16(81), + 944: uint16(132), + 945: uint16(132), + 946: uint16(132), + 947: uint16(132), + 948: uint16(131), + 949: uint16(131), + 950: uint16(130), + 951: uint16(130), + 952: uint16(130), + 953: uint16(129), + 954: uint16(126), + 955: uint16(450), + 956: uint16(135), + 957: uint16(136), + 958: uint16(90), + 959: uint16(1228), + 960: uint16(1228), + 961: uint16(1063), + 962: uint16(1066), + 963: uint16(1053), + 964: uint16(1053), + 965: uint16(133), + 966: uint16(133), + 967: uint16(134), + 968: uint16(134), + 969: uint16(134), + 970: uint16(134), + 971: uint16(480), + 972: uint16(576), + 973: uint16(1204), + 974: uint16(576), + 975: uint16(1541), + 976: uint16(412), + 977: uint16(1435), + 978: uint16(969), + 979: uint16(315), + 980: uint16(1659), + 981: uint16(398), + 982: uint16(284), + 983: uint16(497), + 984: uint16(969), + 985: uint16(893), + 986: uint16(1569), + 987: uint16(1569), + 988: uint16(376), + 989: uint16(376), + 990: uint16(1569), + 991: uint16(461), + 992: uint16(376), + 993: uint16(1224), + 994: uint16(459), + 995: uint16(80), + 996: uint16(80), + 997: uint16(81), + 998: uint16(81), + 999: uint16(497), + 1000: uint16(374), + 1001: uint16(114), + 1002: uint16(90), + 1003: uint16(1228), + 1004: uint16(1228), + 1005: uint16(1063), + 1006: uint16(1066), + 1007: uint16(1053), + 1008: uint16(1053), + 1009: uint16(133), + 1010: uint16(133), + 1011: uint16(134), + 1012: uint16(134), + 1013: uint16(134), + 1014: uint16(134), + 1015: uint16(132), + 1016: uint16(132), + 1017: uint16(132), + 1018: uint16(132), + 1019: uint16(131), + 1020: uint16(131), + 1021: uint16(130), + 1022: uint16(130), + 1023: uint16(130), + 1024: uint16(129), + 1025: uint16(126), + 1026: uint16(450), + 1027: uint16(1204), + 1028: uint16(1505), + 1029: uint16(576), + 1030: uint16(1204), + 1031: uint16(1205), + 1032: uint16(1204), + 1033: uint16(1366), + 1034: uint16(316), + 1035: uint16(486), + 1036: uint16(281), + 1037: uint16(281), + 1038: uint16(497), + 1039: uint16(431), + 1040: uint16(557), + 1041: uint16(288), + 1042: uint16(288), + 1043: uint16(402), + 1044: uint16(1340), + 1045: uint16(471), + 1046: uint16(345), + 1047: uint16(298), + 1048: uint16(429), + 1049: uint16(573), + 1050: uint16(576), + 1051: uint16(561), + 1052: uint16(81), + 1053: uint16(81), + 1054: uint16(573), + 1055: uint16(374), + 1056: uint16(561), + 1057: uint16(971), + 1058: uint16(386), + 1059: uint16(132), + 1060: uint16(132), + 1061: uint16(132), + 1062: uint16(132), + 1063: uint16(131), + 1064: uint16(131), + 1065: uint16(130), + 1066: uint16(130), + 1067: uint16(130), + 1068: uint16(129), + 1069: uint16(126), + 1070: uint16(450), + 1071: uint16(231), + 1072: uint16(117), + 1073: uint16(81), + 1074: uint16(81), + 1075: uint16(287), + 1076: uint16(287), + 1077: uint16(231), + 1078: uint16(287), + 1079: uint16(287), + 1080: uint16(576), + 1081: uint16(1511), + 1082: uint16(576), + 1083: uint16(1336), + 1084: uint16(1204), + 1085: uint16(1205), + 1086: uint16(1204), + 1087: uint16(139), + 1088: uint16(573), + 1089: uint16(556), + 1090: uint16(561), + 1091: uint16(573), + 1092: uint16(412), + 1093: uint16(561), + 1094: uint16(441), + 1095: uint16(456), + 1096: uint16(969), + 1097: uint16(213), + 1098: uint16(558), + 1099: uint16(1511), + 1100: uint16(1513), + 1101: uint16(1550), + 1102: uint16(969), + 1103: uint16(143), + 1104: uint16(143), + 1105: uint16(145), + 1106: uint16(145), + 1107: uint16(1368), + 1108: uint16(314), + 1109: uint16(478), + 1110: uint16(444), + 1111: uint16(970), + 1112: uint16(412), + 1113: uint16(850), + 1114: uint16(851), + 1115: uint16(852), + 1116: uint16(135), + 1117: uint16(136), + 1118: uint16(90), + 1119: uint16(1228), + 1120: uint16(1228), + 1121: uint16(1063), + 1122: uint16(1066), + 1123: uint16(1053), + 1124: uint16(1053), + 1125: uint16(133), + 1126: uint16(133), + 1127: uint16(134), + 1128: uint16(134), + 1129: uint16(134), + 1130: uint16(134), + 1131: uint16(357), + 1132: uint16(412), + 1133: uint16(397), + 1134: uint16(1148), + 1135: uint16(304), + 1136: uint16(135), + 1137: uint16(136), + 1138: uint16(90), + 1139: uint16(1228), + 1140: uint16(1228), + 1141: uint16(1063), + 1142: uint16(1066), + 1143: uint16(1053), + 1144: uint16(1053), + 1145: uint16(133), + 1146: uint16(133), + 1147: uint16(134), + 1148: uint16(134), + 1149: uint16(134), + 1150: uint16(134), + 1151: uint16(1575), + 1152: uint16(323), + 1153: uint16(6), + 1154: uint16(862), + 1155: uint16(7), + 1156: uint16(135), + 1157: uint16(124), + 1158: uint16(90), + 1159: uint16(1228), + 1160: uint16(1228), + 1161: uint16(1063), + 1162: uint16(1066), + 1163: uint16(1053), + 1164: uint16(1053), + 1165: uint16(133), + 1166: uint16(133), + 1167: uint16(134), + 1168: uint16(134), + 1169: uint16(134), + 1170: uint16(134), + 1171: uint16(409), + 1172: uint16(408), + 1173: uint16(1511), + 1174: uint16(212), + 1175: uint16(132), + 1176: uint16(132), + 1177: uint16(132), + 1178: uint16(132), + 1179: uint16(131), + 1180: uint16(131), + 1181: uint16(130), + 1182: uint16(130), + 1183: uint16(130), + 1184: uint16(129), + 1185: uint16(126), + 1186: uint16(450), + 1187: uint16(411), + 1188: uint16(118), + 1189: uint16(1204), + 1190: uint16(116), + 1191: uint16(10), + 1192: uint16(352), + 1193: uint16(265), + 1194: uint16(355), + 1195: uint16(132), + 1196: uint16(132), + 1197: uint16(132), + 1198: uint16(132), + 1199: uint16(131), + 1200: uint16(131), + 1201: uint16(130), + 1202: uint16(130), + 1203: uint16(130), + 1204: uint16(129), + 1205: uint16(126), + 1206: uint16(450), + 1207: uint16(576), + 1208: uint16(324), + 1209: uint16(306), + 1210: uint16(576), + 1211: uint16(306), + 1212: uint16(1250), + 1213: uint16(469), + 1214: uint16(158), + 1215: uint16(132), + 1216: uint16(132), + 1217: uint16(132), + 1218: uint16(132), + 1219: uint16(131), + 1220: uint16(131), + 1221: uint16(130), + 1222: uint16(130), + 1223: uint16(130), + 1224: uint16(129), + 1225: uint16(126), + 1226: uint16(450), + 1227: uint16(207), + 1228: uint16(1224), + 1229: uint16(1126), + 1230: uint16(65), + 1231: uint16(65), + 1232: uint16(470), + 1233: uint16(66), + 1234: uint16(66), + 1235: uint16(412), + 1236: uint16(447), + 1237: uint16(446), + 1238: uint16(882), + 1239: uint16(531), + 1240: uint16(335), + 1241: uint16(258), + 1242: uint16(257), + 1243: uint16(256), + 1244: uint16(1127), + 1245: uint16(1233), + 1246: uint16(1204), + 1247: uint16(1205), + 1248: uint16(1204), + 1249: uint16(327), + 1250: uint16(1235), + 1251: uint16(874), + 1252: uint16(159), + 1253: uint16(576), + 1254: uint16(16), + 1255: uint16(480), + 1256: uint16(1085), + 1257: uint16(1040), + 1258: uint16(1234), + 1259: uint16(1128), + 1260: uint16(136), + 1261: uint16(90), + 1262: uint16(1228), + 1263: uint16(1228), + 1264: uint16(1063), + 1265: uint16(1066), + 1266: uint16(1053), + 1267: uint16(1053), + 1268: uint16(133), + 1269: uint16(133), + 1270: uint16(134), + 1271: uint16(134), + 1272: uint16(134), + 1273: uint16(134), + 1274: uint16(1029), + 1275: uint16(576), + 1276: uint16(81), + 1277: uint16(81), + 1278: uint16(1028), + 1279: uint16(1040), + 1280: uint16(922), + 1281: uint16(576), + 1282: uint16(463), + 1283: uint16(1236), + 1284: uint16(576), + 1285: uint16(1236), + 1286: uint16(1224), + 1287: uint16(502), + 1288: uint16(107), + 1289: uint16(1435), + 1290: uint16(923), + 1291: uint16(6), + 1292: uint16(576), + 1293: uint16(410), + 1294: uint16(1498), + 1295: uint16(882), + 1296: uint16(1029), + 1297: uint16(480), + 1298: uint16(21), + 1299: uint16(21), + 1300: uint16(1028), + 1301: uint16(332), + 1302: uint16(1380), + 1303: uint16(334), + 1304: uint16(53), + 1305: uint16(53), + 1306: uint16(497), + 1307: uint16(81), + 1308: uint16(81), + 1309: uint16(874), + 1310: uint16(1028), + 1311: uint16(1028), + 1312: uint16(1030), + 1313: uint16(445), + 1314: uint16(259), + 1315: uint16(19), + 1316: uint16(19), + 1317: uint16(533), + 1318: uint16(132), + 1319: uint16(132), + 1320: uint16(132), + 1321: uint16(132), + 1322: uint16(131), + 1323: uint16(131), + 1324: uint16(130), + 1325: uint16(130), + 1326: uint16(130), + 1327: uint16(129), + 1328: uint16(126), + 1329: uint16(450), + 1330: uint16(551), + 1331: uint16(301), + 1332: uint16(1028), + 1333: uint16(1028), + 1334: uint16(1030), + 1335: uint16(107), + 1336: uint16(532), + 1337: uint16(545), + 1338: uint16(121), + 1339: uint16(568), + 1340: uint16(1188), 1341: uint16(4), - 1342: uint16(238), - 1343: uint16(433), - 1344: uint16(935), - 1345: uint16(490), - 1346: uint16(285), - 1347: uint16(228), - 1348: uint16(1517), - 1349: uint16(934), - 1350: uint16(170), - 1351: uint16(560), - 1352: uint16(572), - 1353: uint16(142), - 1354: uint16(1516), - 1355: uint16(567), - 1356: uint16(572), - 1357: uint16(60), - 1358: uint16(60), - 1359: uint16(572), - 1360: uint16(416), - 1361: uint16(572), - 1362: uint16(441), - 1363: uint16(572), - 1364: uint16(535), - 1365: uint16(302), - 1366: uint16(875), - 1367: uint16(8), - 1368: uint16(487), - 1369: uint16(572), - 1370: uint16(237), - 1371: uint16(572), - 1372: uint16(416), - 1373: uint16(572), - 1374: uint16(485), - 1375: uint16(61), - 1376: uint16(61), - 1377: uint16(572), - 1378: uint16(449), - 1379: uint16(62), - 1380: uint16(62), - 1381: uint16(332), - 1382: uint16(63), - 1383: uint16(63), - 1384: uint16(46), - 1385: uint16(46), - 1386: uint16(47), - 1387: uint16(47), - 1388: uint16(361), - 1389: uint16(572), - 1390: uint16(561), - 1391: uint16(572), - 1392: uint16(48), - 1393: uint16(48), - 1394: uint16(50), - 1395: uint16(50), - 1396: uint16(51), - 1397: uint16(51), - 1398: uint16(572), - 1399: uint16(295), - 1400: uint16(64), - 1401: uint16(64), - 1402: uint16(482), - 1403: uint16(295), - 1404: uint16(539), - 1405: uint16(412), - 1406: uint16(471), - 1407: uint16(1031), - 1408: uint16(572), - 1409: uint16(538), - 1410: uint16(318), - 1411: uint16(563), - 1412: uint16(65), - 1413: uint16(65), - 1414: uint16(66), - 1415: uint16(66), - 1416: uint16(409), - 1417: uint16(475), - 1418: uint16(572), - 1419: uint16(1031), - 1420: uint16(572), - 1421: uint16(14), - 1422: uint16(14), - 1423: uint16(875), - 1424: uint16(1020), - 1425: uint16(110), - 1426: uint16(110), - 1427: uint16(409), - 1428: uint16(1019), - 1429: uint16(572), - 1430: uint16(474), - 1431: uint16(67), - 1432: uint16(67), - 1433: uint16(111), - 1434: uint16(455), - 1435: uint16(449), - 1436: uint16(573), - 1437: uint16(449), - 1438: uint16(98), - 1439: uint16(317), - 1440: uint16(1019), - 1441: uint16(132), - 1442: uint16(132), - 1443: uint16(133), - 1444: uint16(133), - 1445: uint16(572), - 1446: uint16(1561), - 1447: uint16(572), - 1448: uint16(974), - 1449: uint16(409), - 1450: uint16(6), - 1451: uint16(1562), - 1452: uint16(68), - 1453: uint16(68), - 1454: uint16(1560), - 1455: uint16(6), - 1456: uint16(975), - 1457: uint16(572), - 1458: uint16(6), - 1459: uint16(1559), - 1460: uint16(1019), - 1461: uint16(1019), - 1462: uint16(1021), - 1463: uint16(6), - 1464: uint16(346), - 1465: uint16(218), - 1466: uint16(101), - 1467: uint16(531), - 1468: uint16(53), - 1469: uint16(53), - 1470: uint16(69), - 1471: uint16(69), - 1472: uint16(1019), - 1473: uint16(1019), - 1474: uint16(1021), - 1475: uint16(1022), - 1476: uint16(28), - 1477: uint16(1586), - 1478: uint16(1181), - 1479: uint16(451), - 1480: uint16(70), - 1481: uint16(70), - 1482: uint16(290), - 1483: uint16(87), - 1484: uint16(215), - 1485: uint16(31), - 1486: uint16(1363), - 1487: uint16(394), - 1488: uint16(394), - 1489: uint16(393), - 1490: uint16(275), - 1491: uint16(391), - 1492: uint16(350), - 1493: uint16(109), - 1494: uint16(852), - 1495: uint16(107), - 1496: uint16(572), - 1497: uint16(112), - 1498: uint16(564), - 1499: uint16(483), - 1500: uint16(4), - 1501: uint16(1212), - 1502: uint16(572), - 1503: uint16(239), - 1504: uint16(153), - 1505: uint16(572), - 1506: uint16(39), - 1507: uint16(236), - 1508: uint16(1299), - 1509: uint16(325), - 1510: uint16(112), - 1511: uint16(564), - 1512: uint16(1298), - 1513: uint16(4), - 1514: uint16(567), - 1515: uint16(572), - 1516: uint16(32), - 1517: uint16(324), - 1518: uint16(572), - 1519: uint16(54), - 1520: uint16(54), - 1521: uint16(572), - 1522: uint16(1135), - 1523: uint16(353), - 1524: uint16(398), - 1525: uint16(165), - 1526: uint16(165), - 1527: uint16(567), - 1528: uint16(166), - 1529: uint16(166), - 1530: uint16(572), - 1531: uint16(291), - 1532: uint16(355), - 1533: uint16(572), - 1534: uint16(17), - 1535: uint16(357), - 1536: uint16(572), - 1537: uint16(449), - 1538: uint16(77), - 1539: uint16(77), - 1540: uint16(1313), - 1541: uint16(55), - 1542: uint16(55), - 1543: uint16(1297), - 1544: uint16(73), - 1545: uint16(73), - 1546: uint16(572), - 1547: uint16(238), - 1548: uint16(470), - 1549: uint16(561), - 1550: uint16(449), - 1551: uint16(472), - 1552: uint16(364), - 1553: uint16(135), - 1554: uint16(135), - 1555: uint16(170), - 1556: uint16(74), - 1557: uint16(74), - 1558: uint16(142), - 1559: uint16(163), - 1560: uint16(163), - 1561: uint16(374), - 1562: uint16(561), - 1563: uint16(539), - 1564: uint16(572), - 1565: uint16(321), - 1566: uint16(572), - 1567: uint16(886), - 1568: uint16(540), - 1569: uint16(137), - 1570: uint16(137), - 1571: uint16(339), - 1572: uint16(1353), - 1573: uint16(422), - 1574: uint16(298), - 1575: uint16(237), - 1576: uint16(539), - 1577: uint16(572), - 1578: uint16(1031), - 1579: uint16(572), - 1580: uint16(340), - 1581: uint16(538), - 1582: uint16(101), - 1583: uint16(369), - 1584: uint16(110), - 1585: uint16(110), - 1586: uint16(162), - 1587: uint16(131), - 1588: uint16(131), - 1589: uint16(164), - 1590: uint16(164), - 1591: uint16(1031), - 1592: uint16(111), - 1593: uint16(368), - 1594: uint16(449), - 1595: uint16(573), - 1596: uint16(449), + 1342: uint16(1126), + 1343: uint16(1576), + 1344: uint16(449), + 1345: uint16(576), + 1346: uint16(462), + 1347: uint16(7), + 1348: uint16(1282), + 1349: uint16(418), + 1350: uint16(462), + 1351: uint16(350), + 1352: uint16(1435), + 1353: uint16(576), + 1354: uint16(518), + 1355: uint16(571), + 1356: uint16(544), + 1357: uint16(1127), + 1358: uint16(121), + 1359: uint16(568), + 1360: uint16(442), + 1361: uint16(4), + 1362: uint16(1188), + 1363: uint16(464), + 1364: uint16(533), + 1365: uint16(1180), + 1366: uint16(1223), + 1367: uint16(9), + 1368: uint16(67), + 1369: uint16(67), + 1370: uint16(487), + 1371: uint16(576), + 1372: uint16(1128), + 1373: uint16(303), + 1374: uint16(410), + 1375: uint16(571), + 1376: uint16(54), + 1377: uint16(54), + 1378: uint16(451), + 1379: uint16(576), + 1380: uint16(123), + 1381: uint16(944), + 1382: uint16(576), + 1383: uint16(417), + 1384: uint16(576), + 1385: uint16(333), + 1386: uint16(943), + 1387: uint16(1379), + 1388: uint16(576), + 1389: uint16(236), + 1390: uint16(565), + 1391: uint16(576), + 1392: uint16(1574), + 1393: uint16(564), + 1394: uint16(68), + 1395: uint16(68), + 1396: uint16(7), + 1397: uint16(576), + 1398: uint16(451), + 1399: uint16(362), + 1400: uint16(419), + 1401: uint16(182), + 1402: uint16(69), + 1403: uint16(69), + 1404: uint16(541), + 1405: uint16(70), + 1406: uint16(70), + 1407: uint16(71), + 1408: uint16(71), + 1409: uint16(540), + 1410: uint16(565), + 1411: uint16(72), + 1412: uint16(72), + 1413: uint16(484), + 1414: uint16(55), + 1415: uint16(55), + 1416: uint16(473), + 1417: uint16(1180), + 1418: uint16(296), + 1419: uint16(1040), + 1420: uint16(56), + 1421: uint16(56), + 1422: uint16(296), + 1423: uint16(493), + 1424: uint16(541), + 1425: uint16(119), + 1426: uint16(119), + 1427: uint16(410), + 1428: uint16(1573), + 1429: uint16(542), + 1430: uint16(569), + 1431: uint16(418), + 1432: uint16(7), + 1433: uint16(120), + 1434: uint16(1244), + 1435: uint16(451), + 1436: uint16(577), + 1437: uint16(451), + 1438: uint16(465), + 1439: uint16(1040), + 1440: uint16(1028), + 1441: uint16(576), + 1442: uint16(1557), + 1443: uint16(552), + 1444: uint16(476), + 1445: uint16(119), + 1446: uint16(119), + 1447: uint16(527), + 1448: uint16(259), + 1449: uint16(121), + 1450: uint16(568), + 1451: uint16(240), + 1452: uint16(4), + 1453: uint16(120), + 1454: uint16(576), + 1455: uint16(451), + 1456: uint16(577), + 1457: uint16(451), + 1458: uint16(576), + 1459: uint16(477), + 1460: uint16(1028), + 1461: uint16(576), + 1462: uint16(156), + 1463: uint16(576), + 1464: uint16(57), + 1465: uint16(57), + 1466: uint16(571), + 1467: uint16(576), + 1468: uint16(286), + 1469: uint16(229), + 1470: uint16(410), + 1471: uint16(336), + 1472: uint16(1028), + 1473: uint16(1028), + 1474: uint16(1030), + 1475: uint16(1031), + 1476: uint16(35), + 1477: uint16(59), + 1478: uint16(59), + 1479: uint16(219), + 1480: uint16(983), + 1481: uint16(60), + 1482: uint16(60), + 1483: uint16(220), + 1484: uint16(73), + 1485: uint16(73), + 1486: uint16(74), + 1487: uint16(74), + 1488: uint16(984), + 1489: uint16(451), + 1490: uint16(75), + 1491: uint16(75), + 1492: uint16(1028), + 1493: uint16(1028), + 1494: uint16(1030), + 1495: uint16(1031), + 1496: uint16(35), + 1497: uint16(96), + 1498: uint16(216), + 1499: uint16(291), + 1500: uint16(552), + 1501: uint16(565), + 1502: uint16(1188), + 1503: uint16(318), + 1504: uint16(395), + 1505: uint16(395), + 1506: uint16(394), + 1507: uint16(276), + 1508: uint16(392), + 1509: uint16(576), + 1510: uint16(485), + 1511: uint16(859), + 1512: uint16(474), + 1513: uint16(1311), + 1514: uint16(410), + 1515: uint16(541), + 1516: uint16(576), + 1517: uint16(417), + 1518: uint16(1530), + 1519: uint16(1144), + 1520: uint16(540), + 1521: uint16(399), + 1522: uint16(1188), + 1523: uint16(292), + 1524: uint16(237), + 1525: uint16(1153), + 1526: uint16(326), + 1527: uint16(38), + 1528: uint16(23), + 1529: uint16(576), + 1530: uint16(1040), + 1531: uint16(576), + 1532: uint16(20), + 1533: uint16(20), + 1534: uint16(325), + 1535: uint16(299), + 1536: uint16(119), + 1537: uint16(119), + 1538: uint16(164), + 1539: uint16(76), + 1540: uint16(76), + 1541: uint16(1529), + 1542: uint16(121), + 1543: uint16(568), + 1544: uint16(120), + 1545: uint16(4), + 1546: uint16(451), + 1547: uint16(577), + 1548: uint16(451), + 1549: uint16(203), + 1550: uint16(576), + 1551: uint16(1028), + 1552: uint16(141), + 1553: uint16(141), + 1554: uint16(142), + 1555: uint16(142), + 1556: uint16(576), + 1557: uint16(322), + 1558: uint16(39), + 1559: uint16(571), + 1560: uint16(341), + 1561: uint16(1021), + 1562: uint16(110), + 1563: uint16(264), + 1564: uint16(239), + 1565: uint16(901), + 1566: uint16(900), + 1567: uint16(423), + 1568: uint16(242), + 1569: uint16(908), + 1570: uint16(909), + 1571: uint16(370), + 1572: uint16(173), + 1573: uint16(77), + 1574: uint16(77), + 1575: uint16(43), + 1576: uint16(479), + 1577: uint16(1310), + 1578: uint16(264), + 1579: uint16(62), + 1580: uint16(62), + 1581: uint16(369), + 1582: uint16(451), + 1583: uint16(1028), + 1584: uint16(1028), + 1585: uint16(1030), + 1586: uint16(1031), + 1587: uint16(35), + 1588: uint16(1601), + 1589: uint16(1192), + 1590: uint16(453), + 1591: uint16(1092), + 1592: uint16(238), + 1593: uint16(291), + 1594: uint16(565), + 1595: uint16(163), + 1596: uint16(1309), 1597: uint16(110), - 1598: uint16(110), - 1599: uint16(1019), - 1600: uint16(157), - 1601: uint16(157), - 1602: uint16(141), - 1603: uint16(141), - 1604: uint16(572), - 1605: uint16(111), - 1606: uint16(572), - 1607: uint16(449), - 1608: uint16(573), - 1609: uint16(449), - 1610: uint16(412), - 1611: uint16(288), - 1612: uint16(1019), - 1613: uint16(572), - 1614: uint16(882), - 1615: uint16(318), - 1616: uint16(563), - 1617: uint16(572), - 1618: uint16(219), - 1619: uint16(572), - 1620: uint16(241), - 1621: uint16(1012), - 1622: uint16(477), - 1623: uint16(263), - 1624: uint16(263), - 1625: uint16(894), - 1626: uint16(893), - 1627: uint16(140), - 1628: uint16(140), - 1629: uint16(138), - 1630: uint16(138), - 1631: uint16(1019), - 1632: uint16(1019), - 1633: uint16(1021), - 1634: uint16(1022), - 1635: uint16(28), - 1636: uint16(139), - 1637: uint16(139), - 1638: uint16(525), - 1639: uint16(455), - 1640: uint16(76), - 1641: uint16(76), - 1642: uint16(78), - 1643: uint16(78), - 1644: uint16(1019), - 1645: uint16(1019), - 1646: uint16(1021), - 1647: uint16(1022), - 1648: uint16(28), - 1649: uint16(1181), - 1650: uint16(451), - 1651: uint16(572), - 1652: uint16(1083), - 1653: uint16(290), - 1654: uint16(112), - 1655: uint16(564), - 1656: uint16(1575), - 1657: uint16(4), - 1658: uint16(394), - 1659: uint16(394), - 1660: uint16(393), - 1661: uint16(275), - 1662: uint16(391), - 1663: uint16(572), - 1664: uint16(1023), - 1665: uint16(852), - 1666: uint16(572), - 1667: uint16(479), - 1668: uint16(345), - 1669: uint16(263), - 1670: uint16(101), - 1671: uint16(567), - 1672: uint16(882), - 1673: uint16(1376), - 1674: uint16(75), - 1675: uint16(75), - 1676: uint16(1421), - 1677: uint16(501), - 1678: uint16(236), - 1679: uint16(260), - 1680: uint16(325), - 1681: uint16(112), - 1682: uint16(564), - 1683: uint16(359), - 1684: uint16(4), - 1685: uint16(101), - 1686: uint16(43), - 1687: uint16(43), - 1688: uint16(324), - 1689: uint16(49), - 1690: uint16(49), - 1691: uint16(901), - 1692: uint16(902), - 1693: uint16(161), - 1694: uint16(449), - 1695: uint16(101), - 1696: uint16(977), - 1697: uint16(978), - 1698: uint16(567), - 1699: uint16(1079), - 1700: uint16(1349), - 1701: uint16(260), - 1702: uint16(965), - 1703: uint16(932), - 1704: uint16(263), - 1705: uint16(114), - 1706: uint16(561), - 1707: uint16(1095), - 1708: uint16(517), - 1709: uint16(1095), - 1710: uint16(1083), - 1711: uint16(1094), - 1712: uint16(865), - 1713: uint16(1094), - 1714: uint16(151), - 1715: uint16(933), - 1716: uint16(1144), - 1717: uint16(114), - 1718: uint16(238), - 1719: uint16(1361), - 1720: uint16(558), - 1721: uint16(449), - 1722: uint16(1023), - 1723: uint16(559), - 1724: uint16(1426), - 1725: uint16(1278), - 1726: uint16(170), - 1727: uint16(1269), - 1728: uint16(1257), - 1729: uint16(142), - 1730: uint16(1601), - 1731: uint16(1256), - 1732: uint16(1258), - 1733: uint16(561), - 1734: uint16(1594), - 1735: uint16(1031), - 1736: uint16(496), - 1737: uint16(278), - 1738: uint16(213), - 1739: uint16(1346), - 1740: uint16(310), - 1741: uint16(110), - 1742: uint16(110), - 1743: uint16(939), - 1744: uint16(311), - 1745: uint16(312), - 1746: uint16(237), - 1747: uint16(11), - 1748: uint16(234), - 1749: uint16(111), - 1750: uint16(221), - 1751: uint16(449), - 1752: uint16(573), - 1753: uint16(449), - 1754: uint16(293), - 1755: uint16(395), - 1756: uint16(1019), - 1757: uint16(1408), - 1758: uint16(337), - 1759: uint16(1403), - 1760: uint16(1396), - 1761: uint16(338), - 1762: uint16(1031), - 1763: uint16(299), - 1764: uint16(343), - 1765: uint16(1413), - 1766: uint16(1412), - 1767: uint16(481), - 1768: uint16(110), - 1769: uint16(110), - 1770: uint16(506), - 1771: uint16(402), - 1772: uint16(225), - 1773: uint16(1296), - 1774: uint16(206), - 1775: uint16(367), - 1776: uint16(111), - 1777: uint16(1358), - 1778: uint16(449), - 1779: uint16(573), - 1780: uint16(449), - 1781: uint16(412), - 1782: uint16(1359), - 1783: uint16(1019), - 1784: uint16(1489), - 1785: uint16(1488), - 1786: uint16(318), - 1787: uint16(563), - 1788: uint16(1019), - 1789: uint16(1019), - 1790: uint16(1021), - 1791: uint16(1022), - 1792: uint16(28), - 1793: uint16(562), - 1794: uint16(207), - 1795: uint16(220), - 1796: uint16(80), - 1797: uint16(564), - 1798: uint16(389), - 1799: uint16(4), - 1800: uint16(1597), - 1801: uint16(1357), - 1802: uint16(552), - 1803: uint16(1356), - 1804: uint16(1233), - 1805: uint16(181), - 1806: uint16(267), - 1807: uint16(232), - 1808: uint16(1536), - 1809: uint16(1534), - 1810: uint16(455), - 1811: uint16(1230), - 1812: uint16(420), - 1813: uint16(567), - 1814: uint16(82), - 1815: uint16(1019), - 1816: uint16(1019), - 1817: uint16(1021), - 1818: uint16(1022), - 1819: uint16(28), - 1820: uint16(86), - 1821: uint16(217), - 1822: uint16(85), - 1823: uint16(1494), - 1824: uint16(190), - 1825: uint16(175), - 1826: uint16(183), - 1827: uint16(465), - 1828: uint16(185), - 1829: uint16(466), - 1830: uint16(36), - 1831: uint16(1409), - 1832: uint16(186), - 1833: uint16(187), - 1834: uint16(188), - 1835: uint16(499), - 1836: uint16(449), - 1837: uint16(244), - 1838: uint16(37), - 1839: uint16(99), - 1840: uint16(400), - 1841: uint16(1415), - 1842: uint16(1414), - 1843: uint16(488), - 1844: uint16(1417), - 1845: uint16(194), - 1846: uint16(473), - 1847: uint16(403), - 1848: uint16(561), - 1849: uint16(1483), - 1850: uint16(248), - 1851: uint16(92), - 1852: uint16(1505), - 1853: uint16(494), - 1854: uint16(198), - 1855: uint16(279), - 1856: uint16(112), - 1857: uint16(564), - 1858: uint16(250), - 1859: uint16(4), - 1860: uint16(348), - 1861: uint16(497), - 1862: uint16(405), - 1863: uint16(352), - 1864: uint16(1259), - 1865: uint16(251), - 1866: uint16(252), - 1867: uint16(515), - 1868: uint16(1316), - 1869: uint16(434), - 1870: uint16(1315), - 1871: uint16(1314), - 1872: uint16(94), - 1873: uint16(567), - 1874: uint16(1307), - 1875: uint16(886), - 1876: uint16(1306), - 1877: uint16(1031), - 1878: uint16(226), - 1879: uint16(406), - 1880: uint16(1611), - 1881: uint16(1610), - 1882: uint16(438), - 1883: uint16(110), - 1884: uint16(110), - 1885: uint16(1580), - 1886: uint16(1286), - 1887: uint16(524), - 1888: uint16(439), - 1889: uint16(308), - 1890: uint16(266), - 1891: uint16(111), - 1892: uint16(1285), - 1893: uint16(449), - 1894: uint16(573), - 1895: uint16(449), - 1896: uint16(449), - 1897: uint16(309), - 1898: uint16(1019), - 1899: uint16(366), - 1900: uint16(1284), - 1901: uint16(1609), - 1902: uint16(265), - 1903: uint16(1566), - 1904: uint16(1565), - 1905: uint16(442), - 1906: uint16(372), - 1907: uint16(1381), - 1908: uint16(561), - 1909: uint16(129), - 1910: uint16(550), - 1911: uint16(1380), - 1912: uint16(10), - 1913: uint16(1470), - 1914: uint16(383), - 1915: uint16(106), - 1916: uint16(316), - 1917: uint16(551), - 1918: uint16(100), - 1919: uint16(35), - 1920: uint16(534), - 1921: uint16(575), - 1922: uint16(212), - 1923: uint16(1339), - 1924: uint16(381), - 1925: uint16(387), - 1926: uint16(1187), - 1927: uint16(1338), - 1928: uint16(274), - 1929: uint16(276), - 1930: uint16(1019), - 1931: uint16(1019), - 1932: uint16(1021), - 1933: uint16(1022), - 1934: uint16(28), - 1935: uint16(277), - 1936: uint16(413), - 1937: uint16(1031), - 1938: uint16(576), - 1939: uint16(1254), - 1940: uint16(388), - 1941: uint16(1521), - 1942: uint16(1249), - 1943: uint16(110), - 1944: uint16(110), - 1945: uint16(167), - 1946: uint16(1522), - 1947: uint16(168), - 1948: uint16(148), - 1949: uint16(1520), - 1950: uint16(1519), - 1951: uint16(111), - 1952: uint16(306), - 1953: uint16(449), - 1954: uint16(573), - 1955: uint16(449), - 1956: uint16(222), - 1957: uint16(223), - 1958: uint16(1019), - 1959: uint16(839), - 1960: uint16(169), - 1961: uint16(79), - 1962: uint16(450), - 1963: uint16(214), - 1964: uint16(414), - 1965: uint16(233), - 1966: uint16(320), - 1967: uint16(145), - 1968: uint16(1093), - 1969: uint16(1091), - 1970: uint16(328), - 1971: uint16(182), - 1972: uint16(171), - 1973: uint16(1212), - 1974: uint16(918), - 1975: uint16(184), - 1976: uint16(240), - 1977: uint16(336), - 1978: uint16(243), - 1979: uint16(1107), - 1980: uint16(189), - 1981: uint16(172), - 1982: uint16(173), - 1983: uint16(423), - 1984: uint16(425), - 1985: uint16(88), - 1986: uint16(180), - 1987: uint16(191), - 1988: uint16(89), - 1989: uint16(90), - 1990: uint16(1019), - 1991: uint16(1019), - 1992: uint16(1021), - 1993: uint16(1022), - 1994: uint16(28), - 1995: uint16(91), - 1996: uint16(174), - 1997: uint16(1110), - 1998: uint16(245), - 1999: uint16(1106), - 2000: uint16(246), - 2001: uint16(159), - 2002: uint16(18), - 2003: uint16(247), - 2004: uint16(347), - 2005: uint16(1099), - 2006: uint16(263), - 2007: uint16(195), - 2008: uint16(1227), - 2009: uint16(493), - 2010: uint16(249), - 2011: uint16(196), - 2012: uint16(38), - 2013: uint16(854), - 2014: uint16(498), - 2015: uint16(368), - 2016: uint16(253), - 2017: uint16(360), - 2018: uint16(897), - 2019: uint16(197), - 2020: uint16(502), - 2021: uint16(93), - 2022: uint16(19), - 2023: uint16(20), - 2024: uint16(507), - 2025: uint16(884), - 2026: uint16(363), - 2027: uint16(510), - 2028: uint16(95), - 2029: uint16(307), - 2030: uint16(160), - 2031: uint16(96), - 2032: uint16(518), - 2033: uint16(97), - 2034: uint16(1175), - 2035: uint16(1060), - 2036: uint16(1146), - 2037: uint16(40), - 2038: uint16(21), - 2039: uint16(227), - 2040: uint16(176), - 2041: uint16(1145), - 2042: uint16(282), - 2043: uint16(284), - 2044: uint16(969), - 2045: uint16(200), - 2046: uint16(963), - 2047: uint16(114), - 2048: uint16(262), - 2049: uint16(1165), - 2050: uint16(22), - 2051: uint16(23), - 2052: uint16(24), - 2053: uint16(1161), - 2054: uint16(1169), - 2055: uint16(25), - 2056: uint16(1163), - 2057: uint16(1150), - 2058: uint16(34), - 2059: uint16(26), - 2060: uint16(1168), - 2061: uint16(546), - 2062: uint16(27), - 2063: uint16(204), - 2064: uint16(101), - 2065: uint16(103), - 2066: uint16(104), - 2067: uint16(1074), - 2068: uint16(7), - 2069: uint16(1061), - 2070: uint16(1059), - 2071: uint16(1063), - 2072: uint16(1116), - 2073: uint16(1064), - 2074: uint16(1115), - 2075: uint16(268), - 2076: uint16(269), - 2077: uint16(29), - 2078: uint16(41), - 2079: uint16(270), - 2080: uint16(1024), - 2081: uint16(866), - 2082: uint16(113), - 2083: uint16(30), - 2084: uint16(568), - 2085: uint16(392), - 2086: uint16(1183), - 2087: uint16(144), - 2088: uint16(178), - 2089: uint16(1182), - 2090: uint16(271), - 2091: uint16(928), - 2092: uint16(1245), - 2093: uint16(1245), - 2094: uint16(1245), - 2095: uint16(1245), - 2096: uint16(1245), - 2097: uint16(1245), - 2098: uint16(1245), - 2099: uint16(1602), -} -var _yy_lookahead = [2285]uint16{ - 0: uint16(193), - 1: uint16(193), - 2: uint16(193), - 3: uint16(274), - 4: uint16(275), - 5: uint16(276), - 6: uint16(193), - 7: uint16(274), - 8: uint16(275), - 9: uint16(276), - 10: uint16(193), - 11: uint16(223), - 12: uint16(219), - 13: uint16(225), - 14: uint16(206), - 15: uint16(210), - 16: uint16(211), - 17: uint16(212), - 18: uint16(193), + 1598: uint16(395), + 1599: uint16(395), + 1600: uint16(394), + 1601: uint16(276), + 1602: uint16(392), + 1603: uint16(986), + 1604: uint16(987), + 1605: uint16(859), + 1606: uint16(481), + 1607: uint16(346), + 1608: uint16(264), + 1609: uint16(110), + 1610: uint16(1032), + 1611: uint16(489), + 1612: uint16(576), + 1613: uint16(1188), + 1614: uint16(503), + 1615: uint16(1088), + 1616: uint16(261), + 1617: uint16(261), + 1618: uint16(237), + 1619: uint16(576), + 1620: uint16(326), + 1621: uint16(121), + 1622: uint16(568), + 1623: uint16(1040), + 1624: uint16(4), + 1625: uint16(347), + 1626: uint16(1376), + 1627: uint16(413), + 1628: uint16(325), + 1629: uint16(119), + 1630: uint16(119), + 1631: uint16(948), + 1632: uint16(319), + 1633: uint16(567), + 1634: uint16(351), + 1635: uint16(78), + 1636: uint16(78), + 1637: uint16(120), + 1638: uint16(571), + 1639: uint16(451), + 1640: uint16(577), + 1641: uint16(451), + 1642: uint16(79), + 1643: uint16(79), + 1644: uint16(1028), + 1645: uint16(354), + 1646: uint16(356), + 1647: uint16(576), + 1648: uint16(360), + 1649: uint16(1092), + 1650: uint16(110), + 1651: uint16(576), + 1652: uint16(974), + 1653: uint16(942), + 1654: uint16(264), + 1655: uint16(123), + 1656: uint16(457), + 1657: uint16(358), + 1658: uint16(239), + 1659: uint16(576), + 1660: uint16(519), + 1661: uint16(451), + 1662: uint16(939), + 1663: uint16(1104), + 1664: uint16(123), + 1665: uint16(1104), + 1666: uint16(173), + 1667: uint16(576), + 1668: uint16(1032), + 1669: uint16(43), + 1670: uint16(63), + 1671: uint16(63), + 1672: uint16(1324), + 1673: uint16(565), + 1674: uint16(168), + 1675: uint16(168), + 1676: uint16(1028), + 1677: uint16(1028), + 1678: uint16(1030), + 1679: uint16(1031), + 1680: uint16(35), + 1681: uint16(576), + 1682: uint16(169), + 1683: uint16(169), + 1684: uint16(1308), + 1685: uint16(872), + 1686: uint16(238), + 1687: uint16(157), + 1688: uint16(1589), + 1689: uint16(576), + 1690: uint16(86), + 1691: uint16(86), + 1692: uint16(365), + 1693: uint16(89), + 1694: uint16(568), + 1695: uint16(375), + 1696: uint16(4), + 1697: uint16(1103), + 1698: uint16(941), + 1699: uint16(1103), + 1700: uint16(123), + 1701: uint16(576), + 1702: uint16(1040), + 1703: uint16(1389), + 1704: uint16(64), + 1705: uint16(64), + 1706: uint16(1188), + 1707: uint16(1434), + 1708: uint16(119), + 1709: uint16(119), + 1710: uint16(571), + 1711: uint16(576), + 1712: uint16(82), + 1713: uint16(82), + 1714: uint16(563), + 1715: uint16(576), + 1716: uint16(120), + 1717: uint16(165), + 1718: uint16(451), + 1719: uint16(577), + 1720: uint16(451), + 1721: uint16(413), + 1722: uint16(1362), + 1723: uint16(1028), + 1724: uint16(144), + 1725: uint16(144), + 1726: uint16(319), + 1727: uint16(567), + 1728: uint16(576), + 1729: uint16(1374), + 1730: uint16(562), + 1731: uint16(498), + 1732: uint16(279), + 1733: uint16(451), + 1734: uint16(83), + 1735: uint16(83), + 1736: uint16(1439), + 1737: uint16(576), + 1738: uint16(166), + 1739: uint16(166), + 1740: uint16(576), + 1741: uint16(1289), + 1742: uint16(554), + 1743: uint16(576), + 1744: uint16(1280), + 1745: uint16(565), + 1746: uint16(576), + 1747: uint16(12), + 1748: uint16(576), + 1749: uint16(1268), + 1750: uint16(457), + 1751: uint16(146), + 1752: uint16(146), + 1753: uint16(1267), + 1754: uint16(576), + 1755: uint16(1028), + 1756: uint16(1028), + 1757: uint16(1030), + 1758: uint16(1031), + 1759: uint16(35), + 1760: uint16(140), + 1761: uint16(140), + 1762: uint16(1269), + 1763: uint16(167), + 1764: uint16(167), + 1765: uint16(1609), + 1766: uint16(160), + 1767: uint16(160), + 1768: uint16(1359), + 1769: uint16(150), + 1770: uint16(150), + 1771: uint16(149), + 1772: uint16(149), + 1773: uint16(311), + 1774: uint16(1040), + 1775: uint16(576), + 1776: uint16(312), + 1777: uint16(147), + 1778: uint16(147), + 1779: uint16(313), + 1780: uint16(119), + 1781: uint16(119), + 1782: uint16(222), + 1783: uint16(235), + 1784: uint16(576), + 1785: uint16(1188), + 1786: uint16(396), + 1787: uint16(576), + 1788: uint16(120), + 1789: uint16(576), + 1790: uint16(451), + 1791: uint16(577), + 1792: uint16(451), + 1793: uint16(1192), + 1794: uint16(453), + 1795: uint16(1028), + 1796: uint16(508), + 1797: uint16(291), + 1798: uint16(148), + 1799: uint16(148), + 1800: uint16(1421), + 1801: uint16(1612), + 1802: uint16(395), + 1803: uint16(395), + 1804: uint16(394), + 1805: uint16(276), + 1806: uint16(392), + 1807: uint16(85), + 1808: uint16(85), + 1809: uint16(859), + 1810: uint16(87), + 1811: uint16(87), + 1812: uint16(84), + 1813: uint16(84), + 1814: uint16(553), + 1815: uint16(576), + 1816: uint16(294), + 1817: uint16(576), + 1818: uint16(1426), + 1819: uint16(338), + 1820: uint16(339), + 1821: uint16(1425), + 1822: uint16(237), + 1823: uint16(300), + 1824: uint16(326), + 1825: uint16(1416), + 1826: uint16(1409), + 1827: uint16(1028), + 1828: uint16(1028), + 1829: uint16(1030), + 1830: uint16(1031), + 1831: uint16(35), + 1832: uint16(325), + 1833: uint16(344), + 1834: uint16(403), + 1835: uint16(483), + 1836: uint16(226), + 1837: uint16(1307), + 1838: uint16(52), + 1839: uint16(52), + 1840: uint16(58), + 1841: uint16(58), + 1842: uint16(368), + 1843: uint16(1371), + 1844: uint16(1502), + 1845: uint16(566), + 1846: uint16(1501), + 1847: uint16(121), + 1848: uint16(568), + 1849: uint16(221), + 1850: uint16(4), + 1851: uint16(208), + 1852: uint16(268), + 1853: uint16(209), + 1854: uint16(390), + 1855: uint16(1244), + 1856: uint16(1549), + 1857: uint16(1188), + 1858: uint16(1372), + 1859: uint16(1370), + 1860: uint16(1369), + 1861: uint16(1547), + 1862: uint16(239), + 1863: uint16(184), + 1864: uint16(571), + 1865: uint16(233), + 1866: uint16(421), + 1867: uint16(1241), + 1868: uint16(95), + 1869: uint16(218), + 1870: uint16(173), + 1871: uint16(1507), + 1872: uint16(193), + 1873: uint16(43), + 1874: uint16(91), + 1875: uint16(94), + 1876: uint16(178), + 1877: uint16(186), + 1878: uint16(467), + 1879: uint16(188), + 1880: uint16(468), + 1881: uint16(1422), + 1882: uint16(13), + 1883: uint16(189), + 1884: uint16(190), + 1885: uint16(191), + 1886: uint16(501), + 1887: uint16(451), + 1888: uint16(245), + 1889: uint16(108), + 1890: uint16(238), + 1891: uint16(401), + 1892: uint16(1428), + 1893: uint16(1427), + 1894: uint16(1430), + 1895: uint16(475), + 1896: uint16(404), + 1897: uint16(1496), + 1898: uint16(197), + 1899: uint16(565), + 1900: uint16(14), + 1901: uint16(490), + 1902: uint16(249), + 1903: uint16(101), + 1904: uint16(1518), + 1905: uint16(496), + 1906: uint16(349), + 1907: uint16(280), + 1908: uint16(251), + 1909: uint16(201), + 1910: uint16(353), + 1911: uint16(499), + 1912: uint16(252), + 1913: uint16(406), + 1914: uint16(1270), + 1915: uint16(253), + 1916: uint16(517), + 1917: uint16(1327), + 1918: uint16(1326), + 1919: uint16(435), + 1920: uint16(1325), + 1921: uint16(1318), + 1922: uint16(103), + 1923: uint16(893), + 1924: uint16(1296), + 1925: uint16(413), + 1926: uint16(227), + 1927: uint16(407), + 1928: uint16(1040), + 1929: uint16(1626), + 1930: uint16(319), + 1931: uint16(567), + 1932: uint16(1625), + 1933: uint16(1297), + 1934: uint16(119), + 1935: uint16(119), + 1936: uint16(439), + 1937: uint16(367), + 1938: uint16(1317), + 1939: uint16(1295), + 1940: uint16(1624), + 1941: uint16(526), + 1942: uint16(120), + 1943: uint16(440), + 1944: uint16(451), + 1945: uint16(577), + 1946: uint16(451), + 1947: uint16(1594), + 1948: uint16(309), + 1949: uint16(1028), + 1950: uint16(310), + 1951: uint16(373), + 1952: uint16(266), + 1953: uint16(267), + 1954: uint16(457), + 1955: uint16(1580), + 1956: uint16(1579), + 1957: uint16(443), + 1958: uint16(138), + 1959: uint16(1394), + 1960: uint16(552), + 1961: uint16(1393), + 1962: uint16(11), + 1963: uint16(1483), + 1964: uint16(384), + 1965: uint16(115), + 1966: uint16(317), + 1967: uint16(1350), + 1968: uint16(109), + 1969: uint16(536), + 1970: uint16(42), + 1971: uint16(579), + 1972: uint16(382), + 1973: uint16(214), + 1974: uint16(1349), + 1975: uint16(388), + 1976: uint16(1198), + 1977: uint16(389), + 1978: uint16(275), + 1979: uint16(277), + 1980: uint16(278), + 1981: uint16(1028), + 1982: uint16(1028), + 1983: uint16(1030), + 1984: uint16(1031), + 1985: uint16(35), + 1986: uint16(580), + 1987: uint16(1265), + 1988: uint16(414), + 1989: uint16(1260), + 1990: uint16(170), + 1991: uint16(415), + 1992: uint16(183), + 1993: uint16(1534), + 1994: uint16(1535), + 1995: uint16(1533), + 1996: uint16(171), + 1997: uint16(154), + 1998: uint16(307), + 1999: uint16(1532), + 2000: uint16(846), + 2001: uint16(223), + 2002: uint16(224), + 2003: uint16(88), + 2004: uint16(452), + 2005: uint16(215), + 2006: uint16(172), + 2007: uint16(321), + 2008: uint16(234), + 2009: uint16(1102), + 2010: uint16(152), + 2011: uint16(1188), + 2012: uint16(1100), + 2013: uint16(329), + 2014: uint16(185), + 2015: uint16(174), + 2016: uint16(1223), + 2017: uint16(925), + 2018: uint16(187), + 2019: uint16(241), + 2020: uint16(337), + 2021: uint16(244), + 2022: uint16(1116), + 2023: uint16(192), + 2024: uint16(175), + 2025: uint16(176), + 2026: uint16(424), + 2027: uint16(426), + 2028: uint16(97), + 2029: uint16(194), + 2030: uint16(98), + 2031: uint16(99), + 2032: uint16(100), + 2033: uint16(177), + 2034: uint16(1119), + 2035: uint16(1115), + 2036: uint16(246), + 2037: uint16(247), + 2038: uint16(161), + 2039: uint16(24), + 2040: uint16(248), + 2041: uint16(348), + 2042: uint16(1238), + 2043: uint16(264), + 2044: uint16(1108), + 2045: uint16(250), + 2046: uint16(495), + 2047: uint16(199), + 2048: uint16(198), + 2049: uint16(15), + 2050: uint16(861), + 2051: uint16(500), + 2052: uint16(369), + 2053: uint16(254), + 2054: uint16(504), + 2055: uint16(509), + 2056: uint16(512), + 2057: uint16(200), + 2058: uint16(102), + 2059: uint16(25), + 2060: uint16(179), + 2061: uint16(361), + 2062: uint16(26), + 2063: uint16(364), + 2064: uint16(104), + 2065: uint16(891), + 2066: uint16(308), + 2067: uint16(162), + 2068: uint16(105), + 2069: uint16(904), + 2070: uint16(520), + 2071: uint16(106), + 2072: uint16(1185), + 2073: uint16(1069), + 2074: uint16(1155), + 2075: uint16(17), + 2076: uint16(228), + 2077: uint16(27), + 2078: uint16(1154), + 2079: uint16(283), + 2080: uint16(285), + 2081: uint16(263), + 2082: uint16(978), + 2083: uint16(202), + 2084: uint16(972), + 2085: uint16(123), + 2086: uint16(28), + 2087: uint16(1175), + 2088: uint16(29), + 2089: uint16(30), + 2090: uint16(1179), + 2091: uint16(1171), + 2092: uint16(31), + 2093: uint16(1173), + 2094: uint16(1160), + 2095: uint16(41), + 2096: uint16(32), + 2097: uint16(206), + 2098: uint16(548), + 2099: uint16(33), + 2100: uint16(110), + 2101: uint16(1178), + 2102: uint16(1083), + 2103: uint16(8), + 2104: uint16(112), + 2105: uint16(1070), + 2106: uint16(113), + 2107: uint16(1068), + 2108: uint16(1072), + 2109: uint16(34), + 2110: uint16(1073), + 2111: uint16(560), + 2112: uint16(1125), + 2113: uint16(269), + 2114: uint16(1124), + 2115: uint16(270), + 2116: uint16(36), + 2117: uint16(18), + 2118: uint16(1194), + 2119: uint16(1033), + 2120: uint16(873), + 2121: uint16(151), + 2122: uint16(122), + 2123: uint16(37), + 2124: uint16(393), + 2125: uint16(271), + 2126: uint16(272), + 2127: uint16(572), + 2128: uint16(181), + 2129: uint16(1193), + 2130: uint16(1256), + 2131: uint16(1256), + 2132: uint16(1256), + 2133: uint16(935), + 2134: uint16(1256), + 2135: uint16(1256), + 2136: uint16(1256), + 2137: uint16(1256), + 2138: uint16(1256), + 2139: uint16(1256), + 2140: uint16(1256), + 2141: uint16(1617), +} +var _yy_lookahead = [2328]uint16{ + 0: uint16(194), + 1: uint16(276), + 2: uint16(277), + 3: uint16(278), + 4: uint16(216), + 5: uint16(194), + 6: uint16(194), + 7: uint16(217), + 8: uint16(194), + 9: uint16(194), + 10: uint16(194), + 11: uint16(194), + 12: uint16(224), + 13: uint16(194), + 14: uint16(194), + 15: uint16(276), + 16: uint16(277), + 17: uint16(278), + 18: uint16(204), 19: uint16(19), - 20: uint16(219), - 21: uint16(233), - 22: uint16(216), - 23: uint16(216), - 24: uint16(217), - 25: uint16(216), - 26: uint16(217), - 27: uint16(193), - 28: uint16(295), - 29: uint16(216), - 30: uint16(217), + 20: uint16(206), + 21: uint16(202), + 22: uint16(297), + 23: uint16(217), + 24: uint16(218), + 25: uint16(205), + 26: uint16(207), + 27: uint16(217), + 28: uint16(205), + 29: uint16(217), + 30: uint16(218), 31: uint16(31), - 32: uint16(193), - 33: uint16(216), + 32: uint16(217), + 33: uint16(218), 34: uint16(217), - 35: uint16(193), - 36: uint16(228), - 37: uint16(213), - 38: uint16(230), + 35: uint16(218), + 36: uint16(29), + 37: uint16(217), + 38: uint16(218), 39: uint16(39), - 40: uint16(206), - 41: uint16(216), - 42: uint16(217), + 40: uint16(33), + 41: uint16(217), + 42: uint16(220), 43: uint16(43), 44: uint16(44), 45: uint16(45), @@ -153992,31 +155308,31 @@ var _yy_lookahead = [2285]uint16{ 55: uint16(55), 56: uint16(56), 57: uint16(57), - 58: uint16(193), + 58: uint16(312), 59: uint16(19), - 60: uint16(185), - 61: uint16(186), - 62: uint16(187), - 63: uint16(188), - 64: uint16(189), - 65: uint16(190), - 66: uint16(253), - 67: uint16(274), - 68: uint16(275), - 69: uint16(276), - 70: uint16(195), - 71: uint16(193), - 72: uint16(197), - 73: uint16(193), - 74: uint16(261), - 75: uint16(274), - 76: uint16(275), - 77: uint16(276), - 78: uint16(253), - 79: uint16(204), - 80: uint16(238), - 81: uint16(204), - 82: uint16(81), + 60: uint16(240), + 61: uint16(241), + 62: uint16(316), + 63: uint16(240), + 64: uint16(241), + 65: uint16(194), + 66: uint16(46), + 67: uint16(47), + 68: uint16(48), + 69: uint16(49), + 70: uint16(22), + 71: uint16(254), + 72: uint16(65), + 73: uint16(253), + 74: uint16(254), + 75: uint16(255), + 76: uint16(253), + 77: uint16(194), + 78: uint16(255), + 79: uint16(194), + 80: uint16(263), + 81: uint16(258), + 82: uint16(259), 83: uint16(43), 84: uint16(44), 85: uint16(45), @@ -154032,10 +155348,10 @@ var _yy_lookahead = [2285]uint16{ 95: uint16(55), 96: uint16(56), 97: uint16(57), - 98: uint16(274), - 99: uint16(275), - 100: uint16(276), - 101: uint16(262), + 98: uint16(276), + 99: uint16(277), + 100: uint16(278), + 101: uint16(285), 102: uint16(102), 103: uint16(103), 104: uint16(104), @@ -154048,34 +155364,34 @@ var _yy_lookahead = [2285]uint16{ 111: uint16(111), 112: uint16(112), 113: uint16(113), - 114: uint16(239), - 115: uint16(240), - 116: uint16(239), - 117: uint16(240), - 118: uint16(210), - 119: uint16(211), - 120: uint16(212), - 121: uint16(314), - 122: uint16(315), - 123: uint16(314), - 124: uint16(59), - 125: uint16(316), + 114: uint16(59), + 115: uint16(186), + 116: uint16(187), + 117: uint16(188), + 118: uint16(189), + 119: uint16(190), + 120: uint16(191), + 121: uint16(310), + 122: uint16(239), + 123: uint16(317), + 124: uint16(318), + 125: uint16(196), 126: uint16(86), - 127: uint16(252), + 127: uint16(198), 128: uint16(88), - 129: uint16(252), + 129: uint16(317), 130: uint16(19), - 131: uint16(314), - 132: uint16(315), - 133: uint16(256), - 134: uint16(257), - 135: uint16(113), + 131: uint16(319), + 132: uint16(317), + 133: uint16(318), + 134: uint16(205), + 135: uint16(264), 136: uint16(25), - 137: uint16(72), - 138: uint16(296), - 139: uint16(138), - 140: uint16(139), - 141: uint16(266), + 137: uint16(211), + 138: uint16(212), + 139: uint16(213), + 140: uint16(205), + 141: uint16(121), 142: uint16(102), 143: uint16(103), 144: uint16(104), @@ -154103,50 +155419,50 @@ var _yy_lookahead = [2285]uint16{ 166: uint16(55), 167: uint16(56), 168: uint16(57), - 169: uint16(81), - 170: uint16(292), - 171: uint16(59), - 172: uint16(292), - 173: uint16(298), - 174: uint16(108), - 175: uint16(109), - 176: uint16(110), - 177: uint16(111), - 178: uint16(112), - 179: uint16(113), + 169: uint16(240), + 170: uint16(241), + 171: uint16(116), + 172: uint16(117), + 173: uint16(118), + 174: uint16(119), + 175: uint16(240), + 176: uint16(241), + 177: uint16(122), + 178: uint16(123), + 179: uint16(124), 180: uint16(69), - 181: uint16(116), - 182: uint16(117), - 183: uint16(118), - 184: uint16(72), + 181: uint16(298), + 182: uint16(253), + 183: uint16(194), + 184: uint16(255), 185: uint16(106), 186: uint16(107), - 187: uint16(193), - 188: uint16(111), - 189: uint16(112), - 190: uint16(113), + 187: uint16(132), + 188: uint16(253), + 189: uint16(141), + 190: uint16(255), 191: uint16(54), 192: uint16(55), 193: uint16(56), 194: uint16(57), 195: uint16(58), - 196: uint16(102), - 197: uint16(103), - 198: uint16(104), - 199: uint16(105), - 200: uint16(106), - 201: uint16(107), - 202: uint16(108), - 203: uint16(109), - 204: uint16(110), - 205: uint16(111), - 206: uint16(112), - 207: uint16(113), - 208: uint16(120), - 209: uint16(25), - 210: uint16(216), - 211: uint16(217), - 212: uint16(145), + 196: uint16(207), + 197: uint16(268), + 198: uint16(102), + 199: uint16(103), + 200: uint16(104), + 201: uint16(105), + 202: uint16(106), + 203: uint16(107), + 204: uint16(108), + 205: uint16(109), + 206: uint16(110), + 207: uint16(111), + 208: uint16(112), + 209: uint16(113), + 210: uint16(214), + 211: uint16(128), + 212: uint16(129), 213: uint16(102), 214: uint16(103), 215: uint16(104), @@ -154159,13 +155475,13 @@ var _yy_lookahead = [2285]uint16{ 222: uint16(111), 223: uint16(112), 224: uint16(113), - 225: uint16(231), - 226: uint16(138), - 227: uint16(139), - 228: uint16(116), - 229: uint16(117), - 230: uint16(118), - 231: uint16(164), + 225: uint16(134), + 226: uint16(25), + 227: uint16(136), + 228: uint16(137), + 229: uint16(300), + 230: uint16(165), + 231: uint16(166), 232: uint16(153), 233: uint16(19), 234: uint16(155), @@ -154185,12 +155501,12 @@ var _yy_lookahead = [2285]uint16{ 248: uint16(111), 249: uint16(112), 250: uint16(113), - 251: uint16(128), - 252: uint16(129), - 253: uint16(46), - 254: uint16(47), - 255: uint16(48), - 256: uint16(49), + 251: uint16(108), + 252: uint16(109), + 253: uint16(110), + 254: uint16(111), + 255: uint16(112), + 256: uint16(113), 257: uint16(43), 258: uint16(44), 259: uint16(45), @@ -154206,15 +155522,15 @@ var _yy_lookahead = [2285]uint16{ 269: uint16(55), 270: uint16(56), 271: uint16(57), - 272: uint16(216), - 273: uint16(193), - 274: uint16(25), - 275: uint16(59), - 276: uint16(193), + 272: uint16(276), + 273: uint16(277), + 274: uint16(278), + 275: uint16(113), + 276: uint16(194), 277: uint16(19), - 278: uint16(165), - 279: uint16(166), - 280: uint16(193), + 278: uint16(22), + 279: uint16(23), + 280: uint16(194), 281: uint16(67), 282: uint16(24), 283: uint16(102), @@ -154229,12 +155545,12 @@ var _yy_lookahead = [2285]uint16{ 292: uint16(111), 293: uint16(112), 294: uint16(113), - 295: uint16(73), - 296: uint16(216), - 297: uint16(217), - 298: uint16(59), - 299: uint16(216), - 300: uint16(217), + 295: uint16(220), + 296: uint16(250), + 297: uint16(59), + 298: uint16(252), + 299: uint16(217), + 300: uint16(218), 301: uint16(43), 302: uint16(44), 303: uint16(45), @@ -154262,38 +155578,38 @@ var _yy_lookahead = [2285]uint16{ 325: uint16(111), 326: uint16(112), 327: uint16(113), - 328: uint16(121), - 329: uint16(145), - 330: uint16(59), - 331: uint16(193), - 332: uint16(116), - 333: uint16(117), - 334: uint16(118), - 335: uint16(119), - 336: uint16(273), - 337: uint16(204), - 338: uint16(122), - 339: uint16(123), - 340: uint16(124), + 328: uint16(106), + 329: uint16(107), + 330: uint16(108), + 331: uint16(109), + 332: uint16(110), + 333: uint16(111), + 334: uint16(112), + 335: uint16(113), + 336: uint16(254), + 337: uint16(59), + 338: uint16(205), + 339: uint16(138), + 340: uint16(139), 341: uint16(19), 342: uint16(20), - 343: uint16(134), + 343: uint16(194), 344: uint16(22), - 345: uint16(136), - 346: uint16(137), - 347: uint16(19), - 348: uint16(132), - 349: uint16(127), - 350: uint16(128), - 351: uint16(129), - 352: uint16(24), - 353: uint16(22), - 354: uint16(23), - 355: uint16(116), - 356: uint16(117), - 357: uint16(118), + 345: uint16(263), + 346: uint16(22), + 347: uint16(23), + 348: uint16(231), + 349: uint16(25), + 350: uint16(72), + 351: uint16(276), + 352: uint16(277), + 353: uint16(278), + 354: uint16(116), + 355: uint16(117), + 356: uint16(118), + 357: uint16(101), 358: uint16(36), - 359: uint16(193), + 359: uint16(76), 360: uint16(102), 361: uint16(103), 362: uint16(104), @@ -154306,37 +155622,37 @@ var _yy_lookahead = [2285]uint16{ 369: uint16(111), 370: uint16(112), 371: uint16(113), - 372: uint16(239), + 372: uint16(89), 373: uint16(240), - 374: uint16(311), - 375: uint16(312), - 376: uint16(215), - 377: uint16(106), - 378: uint16(107), - 379: uint16(241), + 374: uint16(241), + 375: uint16(92), + 376: uint16(73), + 377: uint16(194), + 378: uint16(194), + 379: uint16(73), 380: uint16(19), 381: uint16(59), - 382: uint16(216), - 383: uint16(217), - 384: uint16(223), - 385: uint16(252), - 386: uint16(115), - 387: uint16(116), - 388: uint16(117), - 389: uint16(118), - 390: uint16(151), - 391: uint16(120), - 392: uint16(26), + 382: uint16(188), + 383: uint16(189), + 384: uint16(190), + 385: uint16(191), + 386: uint16(253), + 387: uint16(81), + 388: uint16(255), + 389: uint16(151), + 390: uint16(196), + 391: uint16(25), + 392: uint16(198), 393: uint16(71), - 394: uint16(193), - 395: uint16(308), - 396: uint16(309), - 397: uint16(193), - 398: uint16(149), - 399: uint16(128), - 400: uint16(313), - 401: uint16(216), - 402: uint16(269), + 394: uint16(116), + 395: uint16(117), + 396: uint16(118), + 397: uint16(311), + 398: uint16(312), + 399: uint16(205), + 400: uint16(217), + 401: uint16(218), + 402: uint16(316), 403: uint16(81), 404: uint16(43), 405: uint16(44), @@ -154353,50 +155669,50 @@ var _yy_lookahead = [2285]uint16{ 416: uint16(55), 417: uint16(56), 418: uint16(57), - 419: uint16(253), - 420: uint16(216), - 421: uint16(217), + 419: uint16(270), + 420: uint16(22), + 421: uint16(23), 422: uint16(100), - 423: uint16(95), - 424: uint16(153), - 425: uint16(59), - 426: uint16(155), - 427: uint16(261), + 423: uint16(25), + 424: uint16(59), + 425: uint16(101), + 426: uint16(138), + 427: uint16(139), 428: uint16(106), 429: uint16(107), - 430: uint16(25), - 431: uint16(193), - 432: uint16(101), - 433: uint16(193), - 434: uint16(193), - 435: uint16(231), + 430: uint16(127), + 431: uint16(128), + 432: uint16(129), + 433: uint16(127), + 434: uint16(240), + 435: uint16(241), 436: uint16(114), - 437: uint16(25), + 437: uint16(254), 438: uint16(116), 439: uint16(117), 440: uint16(118), - 441: uint16(113), - 442: uint16(304), + 441: uint16(76), + 442: uint16(76), 443: uint16(121), - 444: uint16(193), - 445: uint16(204), - 446: uint16(59), - 447: uint16(119), - 448: uint16(120), - 449: uint16(121), - 450: uint16(122), - 451: uint16(123), - 452: uint16(124), - 453: uint16(125), - 454: uint16(216), - 455: uint16(217), - 456: uint16(193), - 457: uint16(216), - 458: uint16(217), - 459: uint16(131), + 444: uint16(138), + 445: uint16(139), + 446: uint16(263), + 447: uint16(253), + 448: uint16(264), + 449: uint16(255), + 450: uint16(205), + 451: uint16(275), + 452: uint16(87), + 453: uint16(19), + 454: uint16(89), + 455: uint16(89), + 456: uint16(194), + 457: uint16(92), + 458: uint16(92), + 459: uint16(199), 460: uint16(138), 461: uint16(139), - 462: uint16(230), + 462: uint16(268), 463: uint16(102), 464: uint16(103), 465: uint16(104), @@ -154414,37 +155730,37 @@ var _yy_lookahead = [2285]uint16{ 477: uint16(155), 478: uint16(156), 479: uint16(157), - 480: uint16(239), - 481: uint16(240), - 482: uint16(116), - 483: uint16(117), - 484: uint16(118), - 485: uint16(76), - 486: uint16(193), - 487: uint16(23), + 480: uint16(81), + 481: uint16(116), + 482: uint16(117), + 483: uint16(118), + 484: uint16(129), + 485: uint16(240), + 486: uint16(241), + 487: uint16(224), 488: uint16(19), - 489: uint16(25), - 490: uint16(22), - 491: uint16(253), + 489: uint16(226), + 490: uint16(314), + 491: uint16(315), 492: uint16(23), - 493: uint16(252), - 494: uint16(253), - 495: uint16(108), - 496: uint16(87), - 497: uint16(204), - 498: uint16(89), - 499: uint16(261), - 500: uint16(198), - 501: uint16(92), - 502: uint16(261), - 503: uint16(116), - 504: uint16(117), - 505: uint16(118), - 506: uint16(193), - 507: uint16(306), - 508: uint16(307), - 509: uint16(216), - 510: uint16(217), + 493: uint16(25), + 494: uint16(300), + 495: uint16(59), + 496: uint16(22), + 497: uint16(234), + 498: uint16(253), + 499: uint16(101), + 500: uint16(255), + 501: uint16(236), + 502: uint16(237), + 503: uint16(26), + 504: uint16(194), + 505: uint16(183), + 506: uint16(194), + 507: uint16(152), + 508: uint16(72), + 509: uint16(22), + 510: uint16(145), 511: uint16(150), 512: uint16(43), 513: uint16(44), @@ -154461,34 +155777,34 @@ var _yy_lookahead = [2285]uint16{ 524: uint16(55), 525: uint16(56), 526: uint16(57), - 527: uint16(59), - 528: uint16(193), - 529: uint16(216), - 530: uint16(217), + 527: uint16(217), + 528: uint16(218), + 529: uint16(217), + 530: uint16(218), 531: uint16(19), - 532: uint16(239), - 533: uint16(240), - 534: uint16(283), + 532: uint16(189), + 533: uint16(59), + 534: uint16(191), 535: uint16(23), - 536: uint16(106), - 537: uint16(107), - 538: uint16(108), - 539: uint16(109), - 540: uint16(110), - 541: uint16(111), - 542: uint16(112), - 543: uint16(113), - 544: uint16(73), - 545: uint16(252), - 546: uint16(253), - 547: uint16(142), - 548: uint16(308), - 549: uint16(309), - 550: uint16(138), - 551: uint16(139), - 552: uint16(81), - 553: uint16(313), - 554: uint16(145), + 536: uint16(59), + 537: uint16(138), + 538: uint16(139), + 539: uint16(196), + 540: uint16(135), + 541: uint16(198), + 542: uint16(232), + 543: uint16(283), + 544: uint16(232), + 545: uint16(140), + 546: uint16(59), + 547: uint16(287), + 548: uint16(205), + 549: uint16(275), + 550: uint16(116), + 551: uint16(205), + 552: uint16(116), + 553: uint16(117), + 554: uint16(118), 555: uint16(43), 556: uint16(44), 557: uint16(45), @@ -154504,7 +155820,7 @@ var _yy_lookahead = [2285]uint16{ 567: uint16(55), 568: uint16(56), 569: uint16(57), - 570: uint16(307), + 570: uint16(194), 571: uint16(102), 572: uint16(103), 573: uint16(104), @@ -154517,37 +155833,37 @@ var _yy_lookahead = [2285]uint16{ 580: uint16(111), 581: uint16(112), 582: uint16(113), - 583: uint16(281), - 584: uint16(116), - 585: uint16(117), - 586: uint16(118), - 587: uint16(285), - 588: uint16(23), - 589: uint16(193), - 590: uint16(25), - 591: uint16(119), - 592: uint16(59), - 593: uint16(193), - 594: uint16(122), - 595: uint16(123), - 596: uint16(124), - 597: uint16(59), - 598: uint16(127), - 599: uint16(203), + 583: uint16(240), + 584: uint16(241), + 585: uint16(194), + 586: uint16(240), + 587: uint16(241), + 588: uint16(314), + 589: uint16(315), + 590: uint16(116), + 591: uint16(117), + 592: uint16(118), + 593: uint16(116), + 594: uint16(117), + 595: uint16(118), + 596: uint16(253), + 597: uint16(194), + 598: uint16(255), + 599: uint16(253), 600: uint16(59), - 601: uint16(205), + 601: uint16(255), 602: uint16(19), - 603: uint16(268), - 604: uint16(132), - 605: uint16(25), + 603: uint16(116), + 604: uint16(117), + 605: uint16(118), 606: uint16(23), 607: uint16(22), - 608: uint16(193), - 609: uint16(138), - 610: uint16(139), - 611: uint16(249), - 612: uint16(204), - 613: uint16(251), + 608: uint16(217), + 609: uint16(218), + 610: uint16(142), + 611: uint16(268), + 612: uint16(205), + 613: uint16(275), 614: uint16(102), 615: uint16(103), 616: uint16(104), @@ -154576,29 +155892,29 @@ var _yy_lookahead = [2285]uint16{ 639: uint16(56), 640: uint16(57), 641: uint16(19), - 642: uint16(22), - 643: uint16(23), + 642: uint16(194), + 643: uint16(300), 644: uint16(59), 645: uint16(23), - 646: uint16(25), - 647: uint16(239), - 648: uint16(240), - 649: uint16(116), - 650: uint16(117), - 651: uint16(118), - 652: uint16(193), - 653: uint16(11), - 654: uint16(116), - 655: uint16(117), - 656: uint16(118), - 657: uint16(116), + 646: uint16(119), + 647: uint16(240), + 648: uint16(241), + 649: uint16(122), + 650: uint16(123), + 651: uint16(124), + 652: uint16(314), + 653: uint16(315), + 654: uint16(194), + 655: uint16(236), + 656: uint16(237), + 657: uint16(194), 658: uint16(117), - 659: uint16(118), - 660: uint16(252), - 661: uint16(269), - 662: uint16(22), - 663: uint16(193), - 664: uint16(15), + 659: uint16(132), + 660: uint16(253), + 661: uint16(81), + 662: uint16(255), + 663: uint16(205), + 664: uint16(59), 665: uint16(43), 666: uint16(44), 667: uint16(45), @@ -154614,11 +155930,11 @@ var _yy_lookahead = [2285]uint16{ 677: uint16(55), 678: uint16(56), 679: uint16(57), - 680: uint16(273), - 681: uint16(143), - 682: uint16(193), - 683: uint16(118), - 684: uint16(143), + 680: uint16(217), + 681: uint16(218), + 682: uint16(194), + 683: uint16(194), + 684: uint16(194), 685: uint16(102), 686: uint16(103), 687: uint16(104), @@ -154631,33 +155947,33 @@ var _yy_lookahead = [2285]uint16{ 694: uint16(111), 695: uint16(112), 696: uint16(113), - 697: uint16(76), - 698: uint16(118), - 699: uint16(59), - 700: uint16(241), + 697: uint16(294), + 698: uint16(240), + 699: uint16(241), + 700: uint16(120), 701: uint16(116), 702: uint16(117), 703: uint16(118), - 704: uint16(304), - 705: uint16(216), + 704: uint16(59), + 705: uint16(194), 706: uint16(217), - 707: uint16(292), - 708: uint16(143), - 709: uint16(60), - 710: uint16(89), - 711: uint16(241), + 707: uint16(218), + 708: uint16(211), + 709: uint16(212), + 710: uint16(213), + 711: uint16(253), 712: uint16(19), - 713: uint16(92), - 714: uint16(193), - 715: uint16(193), + 713: uint16(255), + 714: uint16(194), + 715: uint16(19), 716: uint16(23), - 717: uint16(22), - 718: uint16(311), - 719: uint16(312), - 720: uint16(231), - 721: uint16(101), - 722: uint16(22), - 723: uint16(143), + 717: uint16(254), + 718: uint16(138), + 719: uint16(139), + 720: uint16(24), + 721: uint16(232), + 722: uint16(117), + 723: uint16(194), 724: uint16(102), 725: uint16(103), 726: uint16(104), @@ -154686,29 +156002,29 @@ var _yy_lookahead = [2285]uint16{ 749: uint16(56), 750: uint16(57), 751: uint16(19), - 752: uint16(193), - 753: uint16(193), - 754: uint16(59), + 752: uint16(264), + 753: uint16(108), + 754: uint16(76), 755: uint16(23), - 756: uint16(116), - 757: uint16(117), - 758: uint16(118), - 759: uint16(59), - 760: uint16(201), - 761: uint16(21), - 762: uint16(241), - 763: uint16(304), - 764: uint16(193), - 765: uint16(206), - 766: uint16(127), - 767: uint16(128), - 768: uint16(129), - 769: uint16(193), - 770: uint16(128), - 771: uint16(129), - 772: uint16(235), - 773: uint16(236), - 774: uint16(304), + 756: uint16(127), + 757: uint16(128), + 758: uint16(129), + 759: uint16(311), + 760: uint16(312), + 761: uint16(116), + 762: uint16(117), + 763: uint16(118), + 764: uint16(316), + 765: uint16(87), + 766: uint16(306), + 767: uint16(89), + 768: uint16(308), + 769: uint16(194), + 770: uint16(92), + 771: uint16(22), + 772: uint16(59), + 773: uint16(194), + 774: uint16(22), 775: uint16(43), 776: uint16(44), 777: uint16(45), @@ -154724,11 +156040,11 @@ var _yy_lookahead = [2285]uint16{ 787: uint16(55), 788: uint16(56), 789: uint16(57), - 790: uint16(22), - 791: uint16(193), - 792: uint16(216), - 793: uint16(217), - 794: uint16(193), + 790: uint16(194), + 791: uint16(95), + 792: uint16(217), + 793: uint16(218), + 794: uint16(265), 795: uint16(102), 796: uint16(103), 797: uint16(104), @@ -154741,33 +156057,33 @@ var _yy_lookahead = [2285]uint16{ 804: uint16(111), 805: uint16(112), 806: uint16(113), - 807: uint16(231), - 808: uint16(193), - 809: uint16(193), - 810: uint16(193), - 811: uint16(116), - 812: uint16(117), - 813: uint16(118), - 814: uint16(216), - 815: uint16(217), - 816: uint16(116), - 817: uint16(117), - 818: uint16(118), - 819: uint16(226), - 820: uint16(80), - 821: uint16(193), + 807: uint16(232), + 808: uint16(59), + 809: uint16(113), + 810: uint16(25), + 811: uint16(59), + 812: uint16(194), + 813: uint16(217), + 814: uint16(218), + 815: uint16(119), + 816: uint16(120), + 817: uint16(121), + 818: uint16(122), + 819: uint16(123), + 820: uint16(124), + 821: uint16(125), 822: uint16(19), - 823: uint16(235), - 824: uint16(236), - 825: uint16(304), + 823: uint16(145), + 824: uint16(194), + 825: uint16(194), 826: uint16(23), - 827: uint16(211), - 828: uint16(212), - 829: uint16(231), - 830: uint16(204), - 831: uint16(216), - 832: uint16(217), - 833: uint16(205), + 827: uint16(131), + 828: uint16(232), + 829: uint16(116), + 830: uint16(117), + 831: uint16(118), + 832: uint16(35), + 833: uint16(194), 834: uint16(102), 835: uint16(103), 836: uint16(104), @@ -154796,29 +156112,29 @@ var _yy_lookahead = [2285]uint16{ 859: uint16(56), 860: uint16(57), 861: uint16(19), - 862: uint16(193), - 863: uint16(123), - 864: uint16(76), - 865: uint16(239), - 866: uint16(240), - 867: uint16(193), - 868: uint16(253), - 869: uint16(239), - 870: uint16(240), - 871: uint16(239), - 872: uint16(240), - 873: uint16(244), - 874: uint16(106), - 875: uint16(107), - 876: uint16(193), - 877: uint16(89), - 878: uint16(252), - 879: uint16(193), - 880: uint16(92), - 881: uint16(59), - 882: uint16(252), - 883: uint16(254), - 884: uint16(252), + 862: uint16(194), + 863: uint16(66), + 864: uint16(194), + 865: uint16(116), + 866: uint16(117), + 867: uint16(118), + 868: uint16(116), + 869: uint16(117), + 870: uint16(118), + 871: uint16(74), + 872: uint16(242), + 873: uint16(294), + 874: uint16(194), + 875: uint16(194), + 876: uint16(206), + 877: uint16(23), + 878: uint16(194), + 879: uint16(25), + 880: uint16(194), + 881: uint16(111), + 882: uint16(112), + 883: uint16(113), + 884: uint16(25), 885: uint16(43), 886: uint16(44), 887: uint16(45), @@ -154834,11 +156150,11 @@ var _yy_lookahead = [2285]uint16{ 897: uint16(55), 898: uint16(56), 899: uint16(57), - 900: uint16(284), - 901: uint16(161), - 902: uint16(216), + 900: uint16(24), + 901: uint16(194), + 902: uint16(194), 903: uint16(217), - 904: uint16(193), + 904: uint16(218), 905: uint16(102), 906: uint16(103), 907: uint16(104), @@ -154851,33 +156167,33 @@ var _yy_lookahead = [2285]uint16{ 914: uint16(111), 915: uint16(112), 916: uint16(113), - 917: uint16(231), - 918: uint16(193), - 919: uint16(244), - 920: uint16(187), - 921: uint16(188), - 922: uint16(189), - 923: uint16(190), - 924: uint16(7), - 925: uint16(8), - 926: uint16(9), - 927: uint16(309), - 928: uint16(195), - 929: uint16(254), - 930: uint16(197), - 931: uint16(313), + 917: uint16(241), + 918: uint16(232), + 919: uint16(194), + 920: uint16(212), + 921: uint16(213), + 922: uint16(242), + 923: uint16(242), + 924: uint16(217), + 925: uint16(218), + 926: uint16(242), + 927: uint16(130), + 928: uint16(11), + 929: uint16(253), + 930: uint16(194), + 931: uint16(255), 932: uint16(19), - 933: uint16(127), - 934: uint16(128), - 935: uint16(129), - 936: uint16(262), - 937: uint16(204), - 938: uint16(22), - 939: uint16(117), - 940: uint16(24), - 941: uint16(216), + 933: uint16(265), + 934: uint16(149), + 935: uint16(59), + 936: uint16(306), + 937: uint16(194), + 938: uint16(308), + 939: uint16(232), + 940: uint16(309), + 941: uint16(310), 942: uint16(217), - 943: uint16(273), + 943: uint16(218), 944: uint16(102), 945: uint16(103), 946: uint16(104), @@ -154905,36 +156221,36 @@ var _yy_lookahead = [2285]uint16{ 968: uint16(55), 969: uint16(56), 970: uint16(57), - 971: uint16(193), - 972: uint16(239), - 973: uint16(240), - 974: uint16(193), - 975: uint16(59), + 971: uint16(194), + 972: uint16(194), + 973: uint16(59), + 974: uint16(194), + 975: uint16(239), 976: uint16(19), - 977: uint16(188), - 978: uint16(253), - 979: uint16(190), - 980: uint16(193), - 981: uint16(311), - 982: uint16(312), - 983: uint16(16), - 984: uint16(195), - 985: uint16(252), - 986: uint16(197), - 987: uint16(193), - 988: uint16(19), - 989: uint16(301), - 990: uint16(302), - 991: uint16(135), - 992: uint16(193), - 993: uint16(204), - 994: uint16(216), + 977: uint16(194), + 978: uint16(25), + 979: uint16(254), + 980: uint16(303), + 981: uint16(304), + 982: uint16(23), + 983: uint16(194), + 984: uint16(25), + 985: uint16(126), + 986: uint16(306), + 987: uint16(306), + 988: uint16(308), + 989: uint16(308), + 990: uint16(306), + 991: uint16(271), + 992: uint16(308), + 993: uint16(117), + 994: uint16(286), 995: uint16(217), - 996: uint16(140), - 997: uint16(216), - 998: uint16(217), - 999: uint16(266), - 1000: uint16(204), + 996: uint16(218), + 997: uint16(217), + 998: uint16(218), + 999: uint16(194), + 1000: uint16(194), 1001: uint16(159), 1002: uint16(45), 1003: uint16(46), @@ -154961,38 +156277,38 @@ var _yy_lookahead = [2285]uint16{ 1024: uint16(111), 1025: uint16(112), 1026: uint16(113), - 1027: uint16(12), + 1027: uint16(59), 1028: uint16(239), - 1029: uint16(240), - 1030: uint16(193), - 1031: uint16(298), - 1032: uint16(238), - 1033: uint16(117), - 1034: uint16(253), - 1035: uint16(239), + 1029: uint16(194), + 1030: uint16(116), + 1031: uint16(117), + 1032: uint16(118), + 1033: uint16(260), + 1034: uint16(254), + 1035: uint16(194), 1036: uint16(240), - 1037: uint16(238), - 1038: uint16(259), - 1039: uint16(260), - 1040: uint16(193), - 1041: uint16(252), - 1042: uint16(27), - 1043: uint16(193), - 1044: uint16(77), - 1045: uint16(193), - 1046: uint16(79), - 1047: uint16(204), - 1048: uint16(252), - 1049: uint16(262), - 1050: uint16(193), - 1051: uint16(299), - 1052: uint16(300), - 1053: uint16(193), - 1054: uint16(100), - 1055: uint16(266), - 1056: uint16(278), - 1057: uint16(42), - 1058: uint16(204), + 1037: uint16(241), + 1038: uint16(194), + 1039: uint16(233), + 1040: uint16(205), + 1041: uint16(240), + 1042: uint16(241), + 1043: uint16(205), + 1044: uint16(239), + 1045: uint16(128), + 1046: uint16(129), + 1047: uint16(270), + 1048: uint16(265), + 1049: uint16(253), + 1050: uint16(194), + 1051: uint16(255), + 1052: uint16(217), + 1053: uint16(218), + 1054: uint16(253), + 1055: uint16(194), + 1056: uint16(255), + 1057: uint16(143), + 1058: uint16(280), 1059: uint16(102), 1060: uint16(103), 1061: uint16(104), @@ -155005,51 +156321,51 @@ var _yy_lookahead = [2285]uint16{ 1068: uint16(111), 1069: uint16(112), 1070: uint16(113), - 1071: uint16(117), + 1071: uint16(118), 1072: uint16(159), - 1073: uint16(216), - 1074: uint16(217), - 1075: uint16(121), - 1076: uint16(216), - 1077: uint16(217), - 1078: uint16(63), - 1079: uint16(193), - 1080: uint16(193), - 1081: uint16(193), - 1082: uint16(239), - 1083: uint16(240), - 1084: uint16(115), - 1085: uint16(116), - 1086: uint16(193), - 1087: uint16(298), - 1088: uint16(73), - 1089: uint16(240), - 1090: uint16(238), - 1091: uint16(231), + 1073: uint16(217), + 1074: uint16(218), + 1075: uint16(240), + 1076: uint16(241), + 1077: uint16(118), + 1078: uint16(240), + 1079: uint16(241), + 1080: uint16(194), + 1081: uint16(194), + 1082: uint16(194), + 1083: uint16(239), + 1084: uint16(116), + 1085: uint16(117), + 1086: uint16(118), + 1087: uint16(22), + 1088: uint16(253), + 1089: uint16(254), + 1090: uint16(255), + 1091: uint16(253), 1092: uint16(19), - 1093: uint16(239), - 1094: uint16(240), - 1095: uint16(252), - 1096: uint16(22), + 1093: uint16(255), + 1094: uint16(233), + 1095: uint16(194), + 1096: uint16(143), 1097: uint16(24), - 1098: uint16(211), + 1098: uint16(263), 1099: uint16(212), - 1100: uint16(263), - 1101: uint16(252), - 1102: uint16(216), + 1100: uint16(213), + 1101: uint16(194), + 1102: uint16(143), 1103: uint16(217), - 1104: uint16(216), + 1104: uint16(218), 1105: uint16(217), - 1106: uint16(252), - 1107: uint16(153), - 1108: uint16(154), - 1109: uint16(155), - 1110: uint16(253), - 1111: uint16(193), + 1106: uint16(218), + 1107: uint16(261), + 1108: uint16(262), + 1109: uint16(271), + 1110: uint16(254), + 1111: uint16(143), 1112: uint16(19), - 1113: uint16(144), - 1114: uint16(213), - 1115: uint16(268), + 1113: uint16(7), + 1114: uint16(8), + 1115: uint16(9), 1116: uint16(43), 1117: uint16(44), 1118: uint16(45), @@ -155065,11 +156381,11 @@ var _yy_lookahead = [2285]uint16{ 1128: uint16(55), 1129: uint16(56), 1130: uint16(57), - 1131: uint16(193), + 1131: uint16(16), 1132: uint16(19), - 1133: uint16(59), - 1134: uint16(216), - 1135: uint16(217), + 1133: uint16(22), + 1134: uint16(23), + 1135: uint16(294), 1136: uint16(43), 1137: uint16(44), 1138: uint16(45), @@ -155085,11 +156401,11 @@ var _yy_lookahead = [2285]uint16{ 1148: uint16(55), 1149: uint16(56), 1150: uint16(57), - 1151: uint16(193), - 1152: uint16(19), - 1153: uint16(24), - 1154: uint16(216), - 1155: uint16(217), + 1151: uint16(312), + 1152: uint16(194), + 1153: uint16(214), + 1154: uint16(21), + 1155: uint16(316), 1156: uint16(43), 1157: uint16(44), 1158: uint16(45), @@ -155105,10 +156421,10 @@ var _yy_lookahead = [2285]uint16{ 1168: uint16(55), 1169: uint16(56), 1170: uint16(57), - 1171: uint16(284), - 1172: uint16(193), - 1173: uint16(208), - 1174: uint16(209), + 1171: uint16(106), + 1172: uint16(107), + 1173: uint16(286), + 1174: uint16(194), 1175: uint16(102), 1176: uint16(103), 1177: uint16(104), @@ -155121,14 +156437,14 @@ var _yy_lookahead = [2285]uint16{ 1184: uint16(111), 1185: uint16(112), 1186: uint16(113), - 1187: uint16(286), - 1188: uint16(59), - 1189: uint16(193), - 1190: uint16(232), - 1191: uint16(117), - 1192: uint16(291), - 1193: uint16(193), - 1194: uint16(193), + 1187: uint16(207), + 1188: uint16(158), + 1189: uint16(59), + 1190: uint16(160), + 1191: uint16(22), + 1192: uint16(77), + 1193: uint16(24), + 1194: uint16(79), 1195: uint16(102), 1196: uint16(103), 1197: uint16(104), @@ -155141,14 +156457,14 @@ var _yy_lookahead = [2285]uint16{ 1204: uint16(111), 1205: uint16(112), 1206: uint16(113), - 1207: uint16(193), - 1208: uint16(204), - 1209: uint16(22), - 1210: uint16(23), - 1211: uint16(193), - 1212: uint16(25), - 1213: uint16(66), - 1214: uint16(193), + 1207: uint16(194), + 1208: uint16(194), + 1209: uint16(229), + 1210: uint16(194), + 1211: uint16(231), + 1212: uint16(101), + 1213: uint16(80), + 1214: uint16(22), 1215: uint16(102), 1216: uint16(103), 1217: uint16(104), @@ -155161,39 +156477,39 @@ var _yy_lookahead = [2285]uint16{ 1224: uint16(111), 1225: uint16(112), 1226: uint16(113), - 1227: uint16(193), - 1228: uint16(193), - 1229: uint16(193), - 1230: uint16(216), - 1231: uint16(217), - 1232: uint16(85), - 1233: uint16(193), - 1234: uint16(238), + 1227: uint16(288), + 1228: uint16(59), + 1229: uint16(12), + 1230: uint16(217), + 1231: uint16(218), + 1232: uint16(293), + 1233: uint16(217), + 1234: uint16(218), 1235: uint16(19), - 1236: uint16(16), - 1237: uint16(216), - 1238: uint16(217), - 1239: uint16(238), - 1240: uint16(193), - 1241: uint16(94), - 1242: uint16(193), - 1243: uint16(239), - 1244: uint16(240), - 1245: uint16(231), - 1246: uint16(117), - 1247: uint16(268), - 1248: uint16(35), - 1249: uint16(116), - 1250: uint16(216), - 1251: uint16(217), - 1252: uint16(216), - 1253: uint16(217), - 1254: uint16(22), - 1255: uint16(23), - 1256: uint16(252), - 1257: uint16(25), - 1258: uint16(208), - 1259: uint16(209), + 1236: uint16(106), + 1237: uint16(107), + 1238: uint16(59), + 1239: uint16(19), + 1240: uint16(16), + 1241: uint16(127), + 1242: uint16(128), + 1243: uint16(129), + 1244: uint16(27), + 1245: uint16(115), + 1246: uint16(116), + 1247: uint16(117), + 1248: uint16(118), + 1249: uint16(194), + 1250: uint16(120), + 1251: uint16(59), + 1252: uint16(22), + 1253: uint16(194), + 1254: uint16(24), + 1255: uint16(194), + 1256: uint16(123), + 1257: uint16(100), + 1258: uint16(128), + 1259: uint16(42), 1260: uint16(44), 1261: uint16(45), 1262: uint16(46), @@ -155208,50 +156524,50 @@ var _yy_lookahead = [2285]uint16{ 1271: uint16(55), 1272: uint16(56), 1273: uint16(57), - 1274: uint16(193), - 1275: uint16(193), - 1276: uint16(19), - 1277: uint16(5), - 1278: uint16(59), - 1279: uint16(66), - 1280: uint16(193), - 1281: uint16(263), - 1282: uint16(10), - 1283: uint16(11), - 1284: uint16(12), - 1285: uint16(13), - 1286: uint16(14), - 1287: uint16(74), - 1288: uint16(101), - 1289: uint16(17), - 1290: uint16(193), - 1291: uint16(46), - 1292: uint16(193), - 1293: uint16(146), - 1294: uint16(193), - 1295: uint16(76), - 1296: uint16(213), - 1297: uint16(77), - 1298: uint16(263), - 1299: uint16(79), - 1300: uint16(12), - 1301: uint16(260), - 1302: uint16(30), - 1303: uint16(46), - 1304: uint16(32), - 1305: uint16(264), - 1306: uint16(87), - 1307: uint16(193), - 1308: uint16(89), - 1309: uint16(29), - 1310: uint16(263), - 1311: uint16(92), - 1312: uint16(40), - 1313: uint16(33), - 1314: uint16(232), - 1315: uint16(27), - 1316: uint16(193), - 1317: uint16(108), + 1274: uint16(117), + 1275: uint16(194), + 1276: uint16(217), + 1277: uint16(218), + 1278: uint16(121), + 1279: uint16(100), + 1280: uint16(63), + 1281: uint16(194), + 1282: uint16(245), + 1283: uint16(153), + 1284: uint16(194), + 1285: uint16(155), + 1286: uint16(117), + 1287: uint16(19), + 1288: uint16(115), + 1289: uint16(194), + 1290: uint16(73), + 1291: uint16(214), + 1292: uint16(194), + 1293: uint16(256), + 1294: uint16(161), + 1295: uint16(116), + 1296: uint16(117), + 1297: uint16(194), + 1298: uint16(217), + 1299: uint16(218), + 1300: uint16(121), + 1301: uint16(77), + 1302: uint16(194), + 1303: uint16(79), + 1304: uint16(217), + 1305: uint16(218), + 1306: uint16(194), + 1307: uint16(217), + 1308: uint16(218), + 1309: uint16(117), + 1310: uint16(153), + 1311: uint16(154), + 1312: uint16(155), + 1313: uint16(254), + 1314: uint16(46), + 1315: uint16(217), + 1316: uint16(218), + 1317: uint16(144), 1318: uint16(102), 1319: uint16(103), 1320: uint16(104), @@ -155264,1025 +156580,1068 @@ var _yy_lookahead = [2285]uint16{ 1327: uint16(111), 1328: uint16(112), 1329: uint16(113), - 1330: uint16(42), - 1331: uint16(138), - 1332: uint16(139), - 1333: uint16(101), - 1334: uint16(193), - 1335: uint16(116), - 1336: uint16(117), - 1337: uint16(118), + 1330: uint16(232), + 1331: uint16(270), + 1332: uint16(153), + 1333: uint16(154), + 1334: uint16(155), + 1335: uint16(115), + 1336: uint16(116), + 1337: uint16(66), 1338: uint16(19), 1339: uint16(20), - 1340: uint16(255), + 1340: uint16(183), 1341: uint16(22), - 1342: uint16(70), - 1343: uint16(130), - 1344: uint16(135), - 1345: uint16(65), - 1346: uint16(256), - 1347: uint16(257), - 1348: uint16(193), - 1349: uint16(140), - 1350: uint16(78), - 1351: uint16(63), - 1352: uint16(193), - 1353: uint16(81), - 1354: uint16(193), + 1342: uint16(12), + 1343: uint16(312), + 1344: uint16(254), + 1345: uint16(194), + 1346: uint16(262), + 1347: uint16(316), + 1348: uint16(209), + 1349: uint16(210), + 1350: uint16(266), + 1351: uint16(239), + 1352: uint16(194), + 1353: uint16(194), + 1354: uint16(108), 1355: uint16(36), - 1356: uint16(193), - 1357: uint16(216), - 1358: uint16(217), - 1359: uint16(193), - 1360: uint16(115), - 1361: uint16(193), - 1362: uint16(263), - 1363: uint16(193), - 1364: uint16(145), - 1365: uint16(268), - 1366: uint16(59), + 1356: uint16(85), + 1357: uint16(27), + 1358: uint16(19), + 1359: uint16(20), + 1360: uint16(265), + 1361: uint16(22), + 1362: uint16(183), + 1363: uint16(245), + 1364: uint16(144), + 1365: uint16(94), + 1366: uint16(25), 1367: uint16(48), - 1368: uint16(193), - 1369: uint16(193), - 1370: uint16(98), - 1371: uint16(193), - 1372: uint16(115), - 1373: uint16(193), - 1374: uint16(291), - 1375: uint16(216), + 1368: uint16(217), + 1369: uint16(218), + 1370: uint16(293), + 1371: uint16(194), + 1372: uint16(42), + 1373: uint16(270), + 1374: uint16(256), + 1375: uint16(36), 1376: uint16(217), - 1377: uint16(193), + 1377: uint16(218), 1378: uint16(59), - 1379: uint16(216), - 1380: uint16(217), - 1381: uint16(161), - 1382: uint16(216), - 1383: uint16(217), - 1384: uint16(216), - 1385: uint16(217), - 1386: uint16(216), - 1387: uint16(217), - 1388: uint16(131), - 1389: uint16(193), + 1379: uint16(194), + 1380: uint16(25), + 1381: uint16(135), + 1382: uint16(194), + 1383: uint16(115), + 1384: uint16(194), + 1385: uint16(161), + 1386: uint16(140), + 1387: uint16(194), + 1388: uint16(194), + 1389: uint16(15), 1390: uint16(71), - 1391: uint16(193), - 1392: uint16(216), - 1393: uint16(217), - 1394: uint16(216), - 1395: uint16(217), - 1396: uint16(216), - 1397: uint16(217), - 1398: uint16(193), - 1399: uint16(260), - 1400: uint16(216), - 1401: uint16(217), - 1402: uint16(19), - 1403: uint16(264), + 1391: uint16(194), + 1392: uint16(312), + 1393: uint16(63), + 1394: uint16(217), + 1395: uint16(218), + 1396: uint16(316), + 1397: uint16(194), + 1398: uint16(59), + 1399: uint16(131), + 1400: uint16(301), + 1401: uint16(302), + 1402: uint16(217), + 1403: uint16(218), 1404: uint16(85), - 1405: uint16(133), - 1406: uint16(244), - 1407: uint16(100), - 1408: uint16(193), + 1405: uint16(217), + 1406: uint16(218), + 1407: uint16(217), + 1408: uint16(218), 1409: uint16(90), - 1410: uint16(138), - 1411: uint16(139), - 1412: uint16(216), - 1413: uint16(217), - 1414: uint16(216), - 1415: uint16(217), - 1416: uint16(254), - 1417: uint16(244), - 1418: uint16(193), + 1410: uint16(71), + 1411: uint16(217), + 1412: uint16(218), + 1413: uint16(19), + 1414: uint16(217), + 1415: uint16(218), + 1416: uint16(245), + 1417: uint16(146), + 1418: uint16(262), 1419: uint16(100), - 1420: uint16(193), - 1421: uint16(216), - 1422: uint16(217), - 1423: uint16(116), - 1424: uint16(117), + 1420: uint16(217), + 1421: uint16(218), + 1422: uint16(266), + 1423: uint16(265), + 1424: uint16(85), 1425: uint16(106), 1426: uint16(107), - 1427: uint16(254), - 1428: uint16(121), - 1429: uint16(193), - 1430: uint16(115), - 1431: uint16(216), - 1432: uint16(217), + 1427: uint16(256), + 1428: uint16(312), + 1429: uint16(90), + 1430: uint16(209), + 1431: uint16(210), + 1432: uint16(316), 1433: uint16(114), - 1434: uint16(162), + 1434: uint16(60), 1435: uint16(116), 1436: uint16(117), 1437: uint16(118), - 1438: uint16(115), - 1439: uint16(244), + 1438: uint16(194), + 1439: uint16(100), 1440: uint16(121), - 1441: uint16(216), - 1442: uint16(217), - 1443: uint16(216), - 1444: uint16(217), - 1445: uint16(193), - 1446: uint16(309), - 1447: uint16(193), - 1448: uint16(31), - 1449: uint16(254), - 1450: uint16(313), - 1451: uint16(309), - 1452: uint16(216), - 1453: uint16(217), - 1454: uint16(309), - 1455: uint16(313), - 1456: uint16(39), - 1457: uint16(193), - 1458: uint16(313), - 1459: uint16(309), - 1460: uint16(153), - 1461: uint16(154), - 1462: uint16(155), - 1463: uint16(313), - 1464: uint16(193), - 1465: uint16(150), - 1466: uint16(25), - 1467: uint16(144), - 1468: uint16(216), - 1469: uint16(217), - 1470: uint16(216), - 1471: uint16(217), + 1441: uint16(194), + 1442: uint16(194), + 1443: uint16(145), + 1444: uint16(115), + 1445: uint16(106), + 1446: uint16(107), + 1447: uint16(19), + 1448: uint16(46), + 1449: uint16(19), + 1450: uint16(20), + 1451: uint16(24), + 1452: uint16(22), + 1453: uint16(114), + 1454: uint16(194), + 1455: uint16(116), + 1456: uint16(117), + 1457: uint16(118), + 1458: uint16(194), + 1459: uint16(245), + 1460: uint16(121), + 1461: uint16(194), + 1462: uint16(164), + 1463: uint16(194), + 1464: uint16(217), + 1465: uint16(218), + 1466: uint16(36), + 1467: uint16(194), + 1468: uint16(258), + 1469: uint16(259), + 1470: uint16(256), + 1471: uint16(194), 1472: uint16(153), 1473: uint16(154), 1474: uint16(155), 1475: uint16(156), 1476: uint16(157), - 1478: uint16(1), - 1479: uint16(2), - 1480: uint16(216), + 1477: uint16(217), + 1478: uint16(218), + 1479: uint16(150), + 1480: uint16(31), 1481: uint16(217), - 1482: uint16(5), - 1483: uint16(149), - 1484: uint16(150), - 1485: uint16(22), - 1486: uint16(193), - 1487: uint16(10), - 1488: uint16(11), - 1489: uint16(12), - 1490: uint16(13), - 1491: uint16(14), - 1492: uint16(193), - 1493: uint16(158), - 1494: uint16(17), - 1495: uint16(160), - 1496: uint16(193), - 1497: uint16(19), - 1498: uint16(20), - 1499: uint16(116), - 1500: uint16(22), - 1501: uint16(25), - 1502: uint16(193), - 1503: uint16(24), - 1504: uint16(22), - 1505: uint16(193), - 1506: uint16(24), - 1507: uint16(30), - 1508: uint16(226), - 1509: uint16(32), - 1510: uint16(19), - 1511: uint16(20), - 1512: uint16(226), - 1513: uint16(22), - 1514: uint16(36), - 1515: uint16(193), - 1516: uint16(53), - 1517: uint16(40), - 1518: uint16(193), - 1519: uint16(216), - 1520: uint16(217), - 1521: uint16(193), - 1522: uint16(23), - 1523: uint16(193), - 1524: uint16(25), - 1525: uint16(216), - 1526: uint16(217), - 1527: uint16(36), - 1528: uint16(216), - 1529: uint16(217), - 1530: uint16(193), - 1531: uint16(99), - 1532: uint16(193), - 1533: uint16(193), - 1534: uint16(22), - 1535: uint16(193), - 1536: uint16(193), - 1537: uint16(59), - 1538: uint16(216), + 1482: uint16(218), + 1483: uint16(142), + 1484: uint16(217), + 1485: uint16(218), + 1486: uint16(217), + 1487: uint16(218), + 1488: uint16(39), + 1489: uint16(59), + 1490: uint16(217), + 1491: uint16(218), + 1492: uint16(153), + 1493: uint16(154), + 1494: uint16(155), + 1495: uint16(156), + 1496: uint16(157), + 1497: uint16(149), + 1498: uint16(150), + 1499: uint16(5), + 1500: uint16(145), + 1501: uint16(71), + 1502: uint16(183), + 1503: uint16(245), + 1504: uint16(10), + 1505: uint16(11), + 1506: uint16(12), + 1507: uint16(13), + 1508: uint16(14), + 1509: uint16(194), + 1510: uint16(116), + 1511: uint16(17), + 1512: uint16(129), + 1513: uint16(227), + 1514: uint16(256), + 1515: uint16(85), + 1516: uint16(194), + 1517: uint16(115), + 1518: uint16(194), + 1519: uint16(23), + 1520: uint16(90), + 1521: uint16(25), + 1522: uint16(183), + 1523: uint16(99), + 1524: uint16(30), + 1525: uint16(97), + 1526: uint16(32), + 1527: uint16(22), + 1528: uint16(22), + 1529: uint16(194), + 1530: uint16(100), + 1531: uint16(194), + 1532: uint16(217), + 1533: uint16(218), + 1534: uint16(40), + 1535: uint16(152), + 1536: uint16(106), + 1537: uint16(107), + 1538: uint16(23), 1539: uint16(217), - 1540: uint16(193), - 1541: uint16(216), - 1542: uint16(217), - 1543: uint16(193), - 1544: uint16(216), - 1545: uint16(217), - 1546: uint16(193), - 1547: uint16(70), - 1548: uint16(129), - 1549: uint16(71), - 1550: uint16(59), - 1551: uint16(129), - 1552: uint16(193), - 1553: uint16(216), + 1540: uint16(218), + 1541: uint16(194), + 1542: uint16(19), + 1543: uint16(20), + 1544: uint16(114), + 1545: uint16(22), + 1546: uint16(116), + 1547: uint16(117), + 1548: uint16(118), + 1549: uint16(257), + 1550: uint16(194), + 1551: uint16(121), + 1552: uint16(217), + 1553: uint16(218), 1554: uint16(217), - 1555: uint16(78), - 1556: uint16(216), - 1557: uint16(217), - 1558: uint16(81), - 1559: uint16(216), - 1560: uint16(217), - 1561: uint16(193), - 1562: uint16(71), - 1563: uint16(85), - 1564: uint16(193), - 1565: uint16(133), - 1566: uint16(193), - 1567: uint16(126), - 1568: uint16(90), - 1569: uint16(216), - 1570: uint16(217), - 1571: uint16(152), - 1572: uint16(258), - 1573: uint16(61), - 1574: uint16(152), - 1575: uint16(98), - 1576: uint16(85), - 1577: uint16(193), - 1578: uint16(100), - 1579: uint16(193), - 1580: uint16(23), - 1581: uint16(90), - 1582: uint16(25), - 1583: uint16(121), - 1584: uint16(106), - 1585: uint16(107), - 1586: uint16(23), - 1587: uint16(216), - 1588: uint16(217), - 1589: uint16(216), - 1590: uint16(217), - 1591: uint16(100), - 1592: uint16(114), - 1593: uint16(131), - 1594: uint16(116), - 1595: uint16(117), - 1596: uint16(118), - 1597: uint16(106), - 1598: uint16(107), - 1599: uint16(121), - 1600: uint16(216), - 1601: uint16(217), - 1602: uint16(216), - 1603: uint16(217), - 1604: uint16(193), - 1605: uint16(114), - 1606: uint16(193), - 1607: uint16(116), - 1608: uint16(117), - 1609: uint16(118), - 1610: uint16(133), - 1611: uint16(22), - 1612: uint16(121), - 1613: uint16(193), - 1614: uint16(59), - 1615: uint16(138), - 1616: uint16(139), - 1617: uint16(193), - 1618: uint16(142), - 1619: uint16(193), - 1620: uint16(141), - 1621: uint16(23), - 1622: uint16(23), - 1623: uint16(25), - 1624: uint16(25), - 1625: uint16(120), - 1626: uint16(121), - 1627: uint16(216), - 1628: uint16(217), - 1629: uint16(216), - 1630: uint16(217), - 1631: uint16(153), - 1632: uint16(154), - 1633: uint16(155), - 1634: uint16(156), - 1635: uint16(157), - 1636: uint16(216), - 1637: uint16(217), - 1638: uint16(19), - 1639: uint16(162), - 1640: uint16(216), - 1641: uint16(217), - 1642: uint16(216), - 1643: uint16(217), - 1644: uint16(153), - 1645: uint16(154), - 1646: uint16(155), - 1647: uint16(156), - 1648: uint16(157), - 1649: uint16(1), - 1650: uint16(2), - 1651: uint16(193), - 1652: uint16(59), - 1653: uint16(5), - 1654: uint16(19), - 1655: uint16(20), - 1656: uint16(318), - 1657: uint16(22), - 1658: uint16(10), - 1659: uint16(11), - 1660: uint16(12), - 1661: uint16(13), - 1662: uint16(14), - 1663: uint16(193), - 1664: uint16(59), - 1665: uint16(17), - 1666: uint16(193), - 1667: uint16(23), - 1668: uint16(23), - 1669: uint16(25), - 1670: uint16(25), - 1671: uint16(36), - 1672: uint16(117), - 1673: uint16(193), - 1674: uint16(216), - 1675: uint16(217), - 1676: uint16(193), - 1677: uint16(23), - 1678: uint16(30), - 1679: uint16(25), - 1680: uint16(32), - 1681: uint16(19), - 1682: uint16(20), - 1683: uint16(23), - 1684: uint16(22), - 1685: uint16(25), - 1686: uint16(216), - 1687: uint16(217), - 1688: uint16(40), - 1689: uint16(216), + 1555: uint16(218), + 1556: uint16(194), + 1557: uint16(133), + 1558: uint16(53), + 1559: uint16(36), + 1560: uint16(23), + 1561: uint16(23), + 1562: uint16(25), + 1563: uint16(25), + 1564: uint16(70), + 1565: uint16(120), + 1566: uint16(121), + 1567: uint16(61), + 1568: uint16(141), + 1569: uint16(7), + 1570: uint16(8), + 1571: uint16(121), + 1572: uint16(78), + 1573: uint16(217), + 1574: uint16(218), + 1575: uint16(81), + 1576: uint16(23), + 1577: uint16(227), + 1578: uint16(25), + 1579: uint16(217), + 1580: uint16(218), + 1581: uint16(131), + 1582: uint16(59), + 1583: uint16(153), + 1584: uint16(154), + 1585: uint16(155), + 1586: uint16(156), + 1587: uint16(157), + 1589: uint16(1), + 1590: uint16(2), + 1591: uint16(59), + 1592: uint16(98), + 1593: uint16(5), + 1594: uint16(71), + 1595: uint16(23), + 1596: uint16(227), + 1597: uint16(25), + 1598: uint16(10), + 1599: uint16(11), + 1600: uint16(12), + 1601: uint16(13), + 1602: uint16(14), + 1603: uint16(83), + 1604: uint16(84), + 1605: uint16(17), + 1606: uint16(23), + 1607: uint16(23), + 1608: uint16(25), + 1609: uint16(25), + 1610: uint16(59), + 1611: uint16(194), + 1612: uint16(194), + 1613: uint16(183), + 1614: uint16(23), + 1615: uint16(23), + 1616: uint16(25), + 1617: uint16(25), + 1618: uint16(30), + 1619: uint16(194), + 1620: uint16(32), + 1621: uint16(19), + 1622: uint16(20), + 1623: uint16(100), + 1624: uint16(22), + 1625: uint16(194), + 1626: uint16(194), + 1627: uint16(133), + 1628: uint16(40), + 1629: uint16(106), + 1630: uint16(107), + 1631: uint16(108), + 1632: uint16(138), + 1633: uint16(139), + 1634: uint16(194), + 1635: uint16(217), + 1636: uint16(218), + 1637: uint16(114), + 1638: uint16(36), + 1639: uint16(116), + 1640: uint16(117), + 1641: uint16(118), + 1642: uint16(217), + 1643: uint16(218), + 1644: uint16(121), + 1645: uint16(194), + 1646: uint16(194), + 1647: uint16(194), + 1648: uint16(23), + 1649: uint16(117), + 1650: uint16(25), + 1651: uint16(194), + 1652: uint16(23), + 1653: uint16(23), + 1654: uint16(25), + 1655: uint16(25), + 1656: uint16(162), + 1657: uint16(194), + 1658: uint16(70), + 1659: uint16(194), + 1660: uint16(145), + 1661: uint16(59), + 1662: uint16(23), + 1663: uint16(153), + 1664: uint16(25), + 1665: uint16(155), + 1666: uint16(78), + 1667: uint16(194), + 1668: uint16(117), + 1669: uint16(81), + 1670: uint16(217), + 1671: uint16(218), + 1672: uint16(194), + 1673: uint16(71), + 1674: uint16(217), + 1675: uint16(218), + 1676: uint16(153), + 1677: uint16(154), + 1678: uint16(155), + 1679: uint16(156), + 1680: uint16(157), + 1681: uint16(194), + 1682: uint16(217), + 1683: uint16(218), + 1684: uint16(194), + 1685: uint16(23), + 1686: uint16(98), + 1687: uint16(25), + 1688: uint16(321), + 1689: uint16(194), 1690: uint16(217), - 1691: uint16(7), - 1692: uint16(8), - 1693: uint16(23), - 1694: uint16(59), - 1695: uint16(25), - 1696: uint16(83), - 1697: uint16(84), - 1698: uint16(36), - 1699: uint16(23), - 1700: uint16(193), - 1701: uint16(25), - 1702: uint16(23), - 1703: uint16(23), - 1704: uint16(25), - 1705: uint16(25), - 1706: uint16(71), - 1707: uint16(153), - 1708: uint16(145), - 1709: uint16(155), - 1710: uint16(117), - 1711: uint16(153), - 1712: uint16(23), - 1713: uint16(155), - 1714: uint16(25), - 1715: uint16(23), - 1716: uint16(97), - 1717: uint16(25), - 1718: uint16(70), - 1719: uint16(193), - 1720: uint16(193), - 1721: uint16(59), - 1722: uint16(117), - 1723: uint16(236), - 1724: uint16(193), - 1725: uint16(193), - 1726: uint16(78), - 1727: uint16(193), - 1728: uint16(193), - 1729: uint16(81), - 1730: uint16(141), - 1731: uint16(193), - 1732: uint16(193), - 1733: uint16(71), - 1734: uint16(193), - 1735: uint16(100), - 1736: uint16(288), - 1737: uint16(287), - 1738: uint16(242), - 1739: uint16(255), - 1740: uint16(255), - 1741: uint16(106), - 1742: uint16(107), - 1743: uint16(108), - 1744: uint16(255), - 1745: uint16(255), - 1746: uint16(98), - 1747: uint16(243), - 1748: uint16(297), - 1749: uint16(114), - 1750: uint16(214), - 1751: uint16(116), - 1752: uint16(117), - 1753: uint16(118), - 1754: uint16(245), - 1755: uint16(191), - 1756: uint16(121), - 1757: uint16(271), - 1758: uint16(293), - 1759: uint16(267), - 1760: uint16(267), - 1761: uint16(246), - 1762: uint16(100), - 1763: uint16(246), - 1764: uint16(245), - 1765: uint16(271), - 1766: uint16(271), - 1767: uint16(293), - 1768: uint16(106), - 1769: uint16(107), - 1770: uint16(220), - 1771: uint16(271), - 1772: uint16(229), - 1773: uint16(225), - 1774: uint16(249), - 1775: uint16(219), - 1776: uint16(114), - 1777: uint16(259), - 1778: uint16(116), - 1779: uint16(117), - 1780: uint16(118), - 1781: uint16(133), - 1782: uint16(259), - 1783: uint16(121), - 1784: uint16(219), - 1785: uint16(219), - 1786: uint16(138), - 1787: uint16(139), - 1788: uint16(153), - 1789: uint16(154), - 1790: uint16(155), - 1791: uint16(156), - 1792: uint16(157), - 1793: uint16(280), - 1794: uint16(249), - 1795: uint16(243), - 1796: uint16(19), - 1797: uint16(20), - 1798: uint16(245), - 1799: uint16(22), - 1800: uint16(196), - 1801: uint16(259), - 1802: uint16(140), - 1803: uint16(259), - 1804: uint16(60), - 1805: uint16(297), - 1806: uint16(141), - 1807: uint16(297), - 1808: uint16(200), - 1809: uint16(200), - 1810: uint16(162), - 1811: uint16(38), - 1812: uint16(200), - 1813: uint16(36), - 1814: uint16(294), - 1815: uint16(153), - 1816: uint16(154), - 1817: uint16(155), - 1818: uint16(156), - 1819: uint16(157), - 1820: uint16(151), - 1821: uint16(150), - 1822: uint16(294), - 1823: uint16(283), - 1824: uint16(22), - 1825: uint16(43), - 1826: uint16(234), - 1827: uint16(18), - 1828: uint16(237), - 1829: uint16(200), - 1830: uint16(270), - 1831: uint16(272), - 1832: uint16(237), - 1833: uint16(237), - 1834: uint16(237), - 1835: uint16(18), - 1836: uint16(59), - 1837: uint16(199), - 1838: uint16(270), - 1839: uint16(149), - 1840: uint16(246), - 1841: uint16(272), - 1842: uint16(272), - 1843: uint16(200), - 1844: uint16(234), - 1845: uint16(234), - 1846: uint16(246), - 1847: uint16(246), - 1848: uint16(71), - 1849: uint16(246), - 1850: uint16(199), - 1851: uint16(158), - 1852: uint16(290), - 1853: uint16(62), - 1854: uint16(22), - 1855: uint16(200), - 1856: uint16(19), - 1857: uint16(20), - 1858: uint16(199), - 1859: uint16(22), - 1860: uint16(289), - 1861: uint16(221), - 1862: uint16(221), - 1863: uint16(200), - 1864: uint16(200), - 1865: uint16(199), - 1866: uint16(199), - 1867: uint16(115), - 1868: uint16(218), - 1869: uint16(64), - 1870: uint16(218), - 1871: uint16(218), + 1691: uint16(218), + 1692: uint16(194), + 1693: uint16(19), + 1694: uint16(20), + 1695: uint16(194), + 1696: uint16(22), + 1697: uint16(153), + 1698: uint16(23), + 1699: uint16(155), + 1700: uint16(25), + 1701: uint16(194), + 1702: uint16(100), + 1703: uint16(194), + 1704: uint16(217), + 1705: uint16(218), + 1706: uint16(183), + 1707: uint16(194), + 1708: uint16(106), + 1709: uint16(107), + 1710: uint16(36), + 1711: uint16(194), + 1712: uint16(217), + 1713: uint16(218), + 1714: uint16(237), + 1715: uint16(194), + 1716: uint16(114), + 1717: uint16(243), + 1718: uint16(116), + 1719: uint16(117), + 1720: uint16(118), + 1721: uint16(133), + 1722: uint16(194), + 1723: uint16(121), + 1724: uint16(217), + 1725: uint16(218), + 1726: uint16(138), + 1727: uint16(139), + 1728: uint16(194), + 1729: uint16(194), + 1730: uint16(194), + 1731: uint16(290), + 1732: uint16(289), + 1733: uint16(59), + 1734: uint16(217), + 1735: uint16(218), + 1736: uint16(194), + 1737: uint16(194), + 1738: uint16(217), + 1739: uint16(218), + 1740: uint16(194), + 1741: uint16(194), + 1742: uint16(140), + 1743: uint16(194), + 1744: uint16(194), + 1745: uint16(71), + 1746: uint16(194), + 1747: uint16(244), + 1748: uint16(194), + 1749: uint16(194), + 1750: uint16(162), + 1751: uint16(217), + 1752: uint16(218), + 1753: uint16(194), + 1754: uint16(194), + 1755: uint16(153), + 1756: uint16(154), + 1757: uint16(155), + 1758: uint16(156), + 1759: uint16(157), + 1760: uint16(217), + 1761: uint16(218), + 1762: uint16(194), + 1763: uint16(217), + 1764: uint16(218), + 1765: uint16(194), + 1766: uint16(217), + 1767: uint16(218), + 1768: uint16(257), + 1769: uint16(217), + 1770: uint16(218), + 1771: uint16(217), + 1772: uint16(218), + 1773: uint16(257), + 1774: uint16(100), + 1775: uint16(194), + 1776: uint16(257), + 1777: uint16(217), + 1778: uint16(218), + 1779: uint16(257), + 1780: uint16(106), + 1781: uint16(107), + 1782: uint16(215), + 1783: uint16(299), + 1784: uint16(194), + 1785: uint16(183), + 1786: uint16(192), + 1787: uint16(194), + 1788: uint16(114), + 1789: uint16(194), + 1790: uint16(116), + 1791: uint16(117), + 1792: uint16(118), + 1793: uint16(1), + 1794: uint16(2), + 1795: uint16(121), + 1796: uint16(221), + 1797: uint16(5), + 1798: uint16(217), + 1799: uint16(218), + 1800: uint16(273), + 1801: uint16(197), + 1802: uint16(10), + 1803: uint16(11), + 1804: uint16(12), + 1805: uint16(13), + 1806: uint16(14), + 1807: uint16(217), + 1808: uint16(218), + 1809: uint16(17), + 1810: uint16(217), + 1811: uint16(218), + 1812: uint16(217), + 1813: uint16(218), + 1814: uint16(140), + 1815: uint16(194), + 1816: uint16(246), + 1817: uint16(194), + 1818: uint16(273), + 1819: uint16(295), + 1820: uint16(247), + 1821: uint16(273), + 1822: uint16(30), + 1823: uint16(247), + 1824: uint16(32), + 1825: uint16(269), + 1826: uint16(269), + 1827: uint16(153), + 1828: uint16(154), + 1829: uint16(155), + 1830: uint16(156), + 1831: uint16(157), + 1832: uint16(40), + 1833: uint16(246), + 1834: uint16(273), + 1835: uint16(295), + 1836: uint16(230), + 1837: uint16(226), + 1838: uint16(217), + 1839: uint16(218), + 1840: uint16(217), + 1841: uint16(218), + 1842: uint16(220), + 1843: uint16(261), + 1844: uint16(220), + 1845: uint16(282), + 1846: uint16(220), + 1847: uint16(19), + 1848: uint16(20), + 1849: uint16(244), + 1850: uint16(22), + 1851: uint16(250), + 1852: uint16(141), + 1853: uint16(250), + 1854: uint16(246), + 1855: uint16(60), + 1856: uint16(201), + 1857: uint16(183), + 1858: uint16(261), + 1859: uint16(261), + 1860: uint16(261), + 1861: uint16(201), + 1862: uint16(70), + 1863: uint16(299), + 1864: uint16(36), + 1865: uint16(299), + 1866: uint16(201), + 1867: uint16(38), + 1868: uint16(151), + 1869: uint16(150), + 1870: uint16(78), + 1871: uint16(285), 1872: uint16(22), - 1873: uint16(36), - 1874: uint16(227), - 1875: uint16(126), - 1876: uint16(227), - 1877: uint16(100), - 1878: uint16(165), - 1879: uint16(221), - 1880: uint16(224), - 1881: uint16(224), - 1882: uint16(24), - 1883: uint16(106), - 1884: uint16(107), - 1885: uint16(312), - 1886: uint16(218), - 1887: uint16(305), - 1888: uint16(113), - 1889: uint16(282), - 1890: uint16(91), - 1891: uint16(114), - 1892: uint16(220), - 1893: uint16(116), - 1894: uint16(117), - 1895: uint16(118), - 1896: uint16(59), - 1897: uint16(282), - 1898: uint16(121), - 1899: uint16(218), - 1900: uint16(218), - 1901: uint16(218), + 1873: uint16(81), + 1874: uint16(296), + 1875: uint16(296), + 1876: uint16(43), + 1877: uint16(235), + 1878: uint16(18), + 1879: uint16(238), + 1880: uint16(201), + 1881: uint16(274), + 1882: uint16(272), + 1883: uint16(238), + 1884: uint16(238), + 1885: uint16(238), + 1886: uint16(18), + 1887: uint16(59), + 1888: uint16(200), + 1889: uint16(149), + 1890: uint16(98), + 1891: uint16(247), + 1892: uint16(274), + 1893: uint16(274), + 1894: uint16(235), + 1895: uint16(247), + 1896: uint16(247), + 1897: uint16(247), + 1898: uint16(235), + 1899: uint16(71), + 1900: uint16(272), + 1901: uint16(201), 1902: uint16(200), - 1903: uint16(317), - 1904: uint16(317), - 1905: uint16(82), - 1906: uint16(221), - 1907: uint16(265), - 1908: uint16(71), - 1909: uint16(148), - 1910: uint16(145), - 1911: uint16(265), - 1912: uint16(22), - 1913: uint16(277), - 1914: uint16(200), - 1915: uint16(158), - 1916: uint16(279), - 1917: uint16(140), - 1918: uint16(147), - 1919: uint16(25), - 1920: uint16(146), - 1921: uint16(202), - 1922: uint16(248), - 1923: uint16(250), - 1924: uint16(249), - 1925: uint16(247), - 1926: uint16(13), - 1927: uint16(250), - 1928: uint16(194), - 1929: uint16(194), - 1930: uint16(153), - 1931: uint16(154), - 1932: uint16(155), - 1933: uint16(156), - 1934: uint16(157), - 1935: uint16(6), - 1936: uint16(303), - 1937: uint16(100), - 1938: uint16(192), - 1939: uint16(192), - 1940: uint16(246), - 1941: uint16(213), - 1942: uint16(192), - 1943: uint16(106), - 1944: uint16(107), - 1945: uint16(207), - 1946: uint16(213), - 1947: uint16(207), - 1948: uint16(222), - 1949: uint16(213), - 1950: uint16(213), - 1951: uint16(114), - 1952: uint16(222), - 1953: uint16(116), - 1954: uint16(117), - 1955: uint16(118), - 1956: uint16(214), - 1957: uint16(214), - 1958: uint16(121), - 1959: uint16(4), - 1960: uint16(207), - 1961: uint16(213), - 1962: uint16(3), - 1963: uint16(22), - 1964: uint16(303), - 1965: uint16(15), - 1966: uint16(163), - 1967: uint16(16), - 1968: uint16(23), - 1969: uint16(23), - 1970: uint16(139), - 1971: uint16(151), - 1972: uint16(130), - 1973: uint16(25), - 1974: uint16(20), - 1975: uint16(142), - 1976: uint16(24), - 1977: uint16(16), - 1978: uint16(144), - 1979: uint16(1), - 1980: uint16(142), - 1981: uint16(130), - 1982: uint16(130), - 1983: uint16(61), - 1984: uint16(37), - 1985: uint16(53), - 1986: uint16(300), - 1987: uint16(151), - 1988: uint16(53), - 1989: uint16(53), - 1990: uint16(153), - 1991: uint16(154), - 1992: uint16(155), - 1993: uint16(156), - 1994: uint16(157), - 1995: uint16(53), - 1996: uint16(130), - 1997: uint16(116), - 1998: uint16(34), - 1999: uint16(1), - 2000: uint16(141), - 2001: uint16(5), - 2002: uint16(22), - 2003: uint16(115), - 2004: uint16(161), - 2005: uint16(68), - 2006: uint16(25), - 2007: uint16(68), - 2008: uint16(75), - 2009: uint16(41), - 2010: uint16(141), - 2011: uint16(115), - 2012: uint16(24), - 2013: uint16(20), - 2014: uint16(19), - 2015: uint16(131), - 2016: uint16(125), - 2017: uint16(23), - 2018: uint16(28), - 2019: uint16(22), - 2020: uint16(67), - 2021: uint16(22), - 2022: uint16(22), - 2023: uint16(22), - 2024: uint16(67), - 2025: uint16(59), - 2026: uint16(24), - 2027: uint16(96), - 2028: uint16(22), - 2029: uint16(67), - 2030: uint16(23), - 2031: uint16(149), - 2032: uint16(22), - 2033: uint16(25), - 2034: uint16(23), - 2035: uint16(23), - 2036: uint16(23), - 2037: uint16(22), - 2038: uint16(34), - 2039: uint16(141), - 2040: uint16(37), - 2041: uint16(97), - 2042: uint16(23), - 2043: uint16(23), - 2044: uint16(116), - 2045: uint16(22), - 2046: uint16(143), - 2047: uint16(25), - 2048: uint16(34), - 2049: uint16(75), - 2050: uint16(34), - 2051: uint16(34), - 2052: uint16(34), - 2053: uint16(88), - 2054: uint16(75), - 2055: uint16(34), - 2056: uint16(86), - 2057: uint16(23), + 1903: uint16(158), + 1904: uint16(292), + 1905: uint16(62), + 1906: uint16(291), + 1907: uint16(201), + 1908: uint16(200), + 1909: uint16(22), + 1910: uint16(201), + 1911: uint16(222), + 1912: uint16(200), + 1913: uint16(222), + 1914: uint16(201), + 1915: uint16(200), + 1916: uint16(115), + 1917: uint16(219), + 1918: uint16(219), + 1919: uint16(64), + 1920: uint16(219), + 1921: uint16(228), + 1922: uint16(22), + 1923: uint16(126), + 1924: uint16(221), + 1925: uint16(133), + 1926: uint16(165), + 1927: uint16(222), + 1928: uint16(100), + 1929: uint16(225), + 1930: uint16(138), + 1931: uint16(139), + 1932: uint16(225), + 1933: uint16(219), + 1934: uint16(106), + 1935: uint16(107), + 1936: uint16(24), + 1937: uint16(219), + 1938: uint16(228), + 1939: uint16(219), + 1940: uint16(219), + 1941: uint16(307), + 1942: uint16(114), + 1943: uint16(113), + 1944: uint16(116), + 1945: uint16(117), + 1946: uint16(118), + 1947: uint16(315), + 1948: uint16(284), + 1949: uint16(121), + 1950: uint16(284), + 1951: uint16(222), + 1952: uint16(201), + 1953: uint16(91), + 1954: uint16(162), + 1955: uint16(320), + 1956: uint16(320), + 1957: uint16(82), + 1958: uint16(148), + 1959: uint16(267), + 1960: uint16(145), + 1961: uint16(267), + 1962: uint16(22), + 1963: uint16(279), + 1964: uint16(201), + 1965: uint16(158), + 1966: uint16(281), + 1967: uint16(251), + 1968: uint16(147), + 1969: uint16(146), + 1970: uint16(25), + 1971: uint16(203), + 1972: uint16(250), + 1973: uint16(249), + 1974: uint16(251), + 1975: uint16(248), + 1976: uint16(13), + 1977: uint16(247), + 1978: uint16(195), + 1979: uint16(195), + 1980: uint16(6), + 1981: uint16(153), + 1982: uint16(154), + 1983: uint16(155), + 1984: uint16(156), + 1985: uint16(157), + 1986: uint16(193), + 1987: uint16(193), + 1988: uint16(305), + 1989: uint16(193), + 1990: uint16(208), + 1991: uint16(305), + 1992: uint16(302), + 1993: uint16(214), + 1994: uint16(214), + 1995: uint16(214), + 1996: uint16(208), + 1997: uint16(223), + 1998: uint16(223), + 1999: uint16(214), + 2000: uint16(4), + 2001: uint16(215), + 2002: uint16(215), + 2003: uint16(214), + 2004: uint16(3), + 2005: uint16(22), + 2006: uint16(208), + 2007: uint16(163), + 2008: uint16(15), + 2009: uint16(23), + 2010: uint16(16), + 2011: uint16(183), + 2012: uint16(23), + 2013: uint16(139), + 2014: uint16(151), + 2015: uint16(130), + 2016: uint16(25), + 2017: uint16(20), + 2018: uint16(142), + 2019: uint16(24), + 2020: uint16(16), + 2021: uint16(144), + 2022: uint16(1), + 2023: uint16(142), + 2024: uint16(130), + 2025: uint16(130), + 2026: uint16(61), + 2027: uint16(37), + 2028: uint16(53), + 2029: uint16(151), + 2030: uint16(53), + 2031: uint16(53), + 2032: uint16(53), + 2033: uint16(130), + 2034: uint16(116), + 2035: uint16(1), + 2036: uint16(34), + 2037: uint16(141), + 2038: uint16(5), + 2039: uint16(22), + 2040: uint16(115), + 2041: uint16(161), + 2042: uint16(75), + 2043: uint16(25), + 2044: uint16(68), + 2045: uint16(141), + 2046: uint16(41), + 2047: uint16(115), + 2048: uint16(68), + 2049: uint16(24), + 2050: uint16(20), + 2051: uint16(19), + 2052: uint16(131), + 2053: uint16(125), + 2054: uint16(67), + 2055: uint16(67), + 2056: uint16(96), + 2057: uint16(22), 2058: uint16(22), - 2059: uint16(34), - 2060: uint16(93), - 2061: uint16(24), - 2062: uint16(34), - 2063: uint16(25), - 2064: uint16(25), - 2065: uint16(142), - 2066: uint16(142), + 2059: uint16(22), + 2060: uint16(37), + 2061: uint16(23), + 2062: uint16(22), + 2063: uint16(24), + 2064: uint16(22), + 2065: uint16(59), + 2066: uint16(67), 2067: uint16(23), - 2068: uint16(44), - 2069: uint16(23), - 2070: uint16(23), - 2071: uint16(23), + 2068: uint16(149), + 2069: uint16(28), + 2070: uint16(22), + 2071: uint16(25), 2072: uint16(23), - 2073: uint16(11), + 2073: uint16(23), 2074: uint16(23), - 2075: uint16(25), - 2076: uint16(22), - 2077: uint16(22), - 2078: uint16(22), - 2079: uint16(141), + 2075: uint16(22), + 2076: uint16(141), + 2077: uint16(34), + 2078: uint16(97), + 2079: uint16(23), 2080: uint16(23), - 2081: uint16(23), - 2082: uint16(22), + 2081: uint16(34), + 2082: uint16(116), 2083: uint16(22), - 2084: uint16(25), - 2085: uint16(15), - 2086: uint16(1), - 2087: uint16(23), - 2088: uint16(25), - 2089: uint16(1), - 2090: uint16(141), - 2091: uint16(135), - 2092: uint16(319), - 2093: uint16(319), - 2094: uint16(319), - 2095: uint16(319), - 2096: uint16(319), - 2097: uint16(319), - 2098: uint16(319), - 2099: uint16(141), - 2100: uint16(319), - 2101: uint16(319), - 2102: uint16(319), - 2103: uint16(319), - 2104: uint16(319), - 2105: uint16(319), - 2106: uint16(319), - 2107: uint16(319), - 2108: uint16(319), - 2109: uint16(319), - 2110: uint16(319), - 2111: uint16(319), - 2112: uint16(319), - 2113: uint16(319), - 2114: uint16(319), - 2115: uint16(319), - 2116: uint16(319), - 2117: uint16(319), - 2118: uint16(319), - 2119: uint16(319), - 2120: uint16(319), - 2121: uint16(319), - 2122: uint16(319), - 2123: uint16(319), - 2124: uint16(319), - 2125: uint16(319), - 2126: uint16(319), - 2127: uint16(319), - 2128: uint16(319), - 2129: uint16(319), - 2130: uint16(319), - 2131: uint16(319), - 2132: uint16(319), - 2133: uint16(319), - 2134: uint16(319), - 2135: uint16(319), - 2136: uint16(319), - 2137: uint16(319), - 2138: uint16(319), - 2139: uint16(319), - 2140: uint16(319), - 2141: uint16(319), - 2142: uint16(319), - 2143: uint16(319), - 2144: uint16(319), - 2145: uint16(319), - 2146: uint16(319), - 2147: uint16(319), - 2148: uint16(319), - 2149: uint16(319), - 2150: uint16(319), - 2151: uint16(319), - 2152: uint16(319), - 2153: uint16(319), - 2154: uint16(319), - 2155: uint16(319), - 2156: uint16(319), - 2157: uint16(319), - 2158: uint16(319), - 2159: uint16(319), - 2160: uint16(319), - 2161: uint16(319), - 2162: uint16(319), - 2163: uint16(319), - 2164: uint16(319), - 2165: uint16(319), - 2166: uint16(319), - 2167: uint16(319), - 2168: uint16(319), - 2169: uint16(319), - 2170: uint16(319), - 2171: uint16(319), - 2172: uint16(319), - 2173: uint16(319), - 2174: uint16(319), - 2175: uint16(319), - 2176: uint16(319), - 2177: uint16(319), - 2178: uint16(319), - 2179: uint16(319), - 2180: uint16(319), - 2181: uint16(319), - 2182: uint16(319), - 2183: uint16(319), - 2184: uint16(319), - 2185: uint16(319), - 2186: uint16(319), - 2187: uint16(319), - 2188: uint16(319), - 2189: uint16(319), - 2190: uint16(319), - 2191: uint16(319), - 2192: uint16(319), - 2193: uint16(319), - 2194: uint16(319), - 2195: uint16(319), - 2196: uint16(319), - 2197: uint16(319), - 2198: uint16(319), - 2199: uint16(319), - 2200: uint16(319), - 2201: uint16(319), - 2202: uint16(319), - 2203: uint16(319), - 2204: uint16(319), - 2205: uint16(319), - 2206: uint16(319), - 2207: uint16(319), - 2208: uint16(319), - 2209: uint16(319), - 2210: uint16(319), - 2211: uint16(319), - 2212: uint16(319), - 2213: uint16(319), - 2214: uint16(319), - 2215: uint16(319), - 2216: uint16(319), - 2217: uint16(319), - 2218: uint16(319), - 2219: uint16(319), - 2220: uint16(319), - 2221: uint16(319), - 2222: uint16(319), - 2223: uint16(319), - 2224: uint16(319), - 2225: uint16(319), - 2226: uint16(319), - 2227: uint16(319), - 2228: uint16(319), - 2229: uint16(319), - 2230: uint16(319), - 2231: uint16(319), - 2232: uint16(319), - 2233: uint16(319), - 2234: uint16(319), - 2235: uint16(319), - 2236: uint16(319), - 2237: uint16(319), - 2238: uint16(319), - 2239: uint16(319), - 2240: uint16(319), - 2241: uint16(319), - 2242: uint16(319), - 2243: uint16(319), - 2244: uint16(319), - 2245: uint16(319), - 2246: uint16(319), - 2247: uint16(319), - 2248: uint16(319), - 2249: uint16(319), - 2250: uint16(319), - 2251: uint16(319), - 2252: uint16(319), - 2253: uint16(319), - 2254: uint16(319), - 2255: uint16(319), - 2256: uint16(319), - 2257: uint16(319), - 2258: uint16(319), - 2259: uint16(319), - 2260: uint16(319), - 2261: uint16(319), - 2262: uint16(319), - 2263: uint16(319), - 2264: uint16(319), - 2265: uint16(319), - 2266: uint16(319), - 2267: uint16(319), - 2268: uint16(319), - 2269: uint16(319), - 2270: uint16(319), - 2271: uint16(319), - 2272: uint16(319), - 2273: uint16(319), - 2274: uint16(319), - 2275: uint16(319), - 2276: uint16(319), - 2277: uint16(319), - 2278: uint16(319), - 2279: uint16(319), - 2280: uint16(319), - 2281: uint16(319), - 2282: uint16(319), - 2283: uint16(319), - 2284: uint16(319), -} -var _yy_shift_ofst = [579]uint16{ - 0: uint16(1648), - 1: uint16(1477), - 2: uint16(1272), + 2084: uint16(143), + 2085: uint16(25), + 2086: uint16(34), + 2087: uint16(75), + 2088: uint16(34), + 2089: uint16(34), + 2090: uint16(75), + 2091: uint16(88), + 2092: uint16(34), + 2093: uint16(86), + 2094: uint16(23), + 2095: uint16(22), + 2096: uint16(34), + 2097: uint16(25), + 2098: uint16(24), + 2099: uint16(34), + 2100: uint16(25), + 2101: uint16(93), + 2102: uint16(23), + 2103: uint16(44), + 2104: uint16(142), + 2105: uint16(23), + 2106: uint16(142), + 2107: uint16(23), + 2108: uint16(23), + 2109: uint16(22), + 2110: uint16(11), + 2111: uint16(25), + 2112: uint16(23), + 2113: uint16(25), + 2114: uint16(23), + 2115: uint16(22), + 2116: uint16(22), + 2117: uint16(22), + 2118: uint16(1), + 2119: uint16(23), + 2120: uint16(23), + 2121: uint16(23), + 2122: uint16(22), + 2123: uint16(22), + 2124: uint16(15), + 2125: uint16(141), + 2126: uint16(141), + 2127: uint16(25), + 2128: uint16(25), + 2129: uint16(1), + 2130: uint16(322), + 2131: uint16(322), + 2132: uint16(322), + 2133: uint16(135), + 2134: uint16(322), + 2135: uint16(322), + 2136: uint16(322), + 2137: uint16(322), + 2138: uint16(322), + 2139: uint16(322), + 2140: uint16(322), + 2141: uint16(141), + 2142: uint16(322), + 2143: uint16(322), + 2144: uint16(322), + 2145: uint16(322), + 2146: uint16(322), + 2147: uint16(322), + 2148: uint16(322), + 2149: uint16(322), + 2150: uint16(322), + 2151: uint16(322), + 2152: uint16(322), + 2153: uint16(322), + 2154: uint16(322), + 2155: uint16(322), + 2156: uint16(322), + 2157: uint16(322), + 2158: uint16(322), + 2159: uint16(322), + 2160: uint16(322), + 2161: uint16(322), + 2162: uint16(322), + 2163: uint16(322), + 2164: uint16(322), + 2165: uint16(322), + 2166: uint16(322), + 2167: uint16(322), + 2168: uint16(322), + 2169: uint16(322), + 2170: uint16(322), + 2171: uint16(322), + 2172: uint16(322), + 2173: uint16(322), + 2174: uint16(322), + 2175: uint16(322), + 2176: uint16(322), + 2177: uint16(322), + 2178: uint16(322), + 2179: uint16(322), + 2180: uint16(322), + 2181: uint16(322), + 2182: uint16(322), + 2183: uint16(322), + 2184: uint16(322), + 2185: uint16(322), + 2186: uint16(322), + 2187: uint16(322), + 2188: uint16(322), + 2189: uint16(322), + 2190: uint16(322), + 2191: uint16(322), + 2192: uint16(322), + 2193: uint16(322), + 2194: uint16(322), + 2195: uint16(322), + 2196: uint16(322), + 2197: uint16(322), + 2198: uint16(322), + 2199: uint16(322), + 2200: uint16(322), + 2201: uint16(322), + 2202: uint16(322), + 2203: uint16(322), + 2204: uint16(322), + 2205: uint16(322), + 2206: uint16(322), + 2207: uint16(322), + 2208: uint16(322), + 2209: uint16(322), + 2210: uint16(322), + 2211: uint16(322), + 2212: uint16(322), + 2213: uint16(322), + 2214: uint16(322), + 2215: uint16(322), + 2216: uint16(322), + 2217: uint16(322), + 2218: uint16(322), + 2219: uint16(322), + 2220: uint16(322), + 2221: uint16(322), + 2222: uint16(322), + 2223: uint16(322), + 2224: uint16(322), + 2225: uint16(322), + 2226: uint16(322), + 2227: uint16(322), + 2228: uint16(322), + 2229: uint16(322), + 2230: uint16(322), + 2231: uint16(322), + 2232: uint16(322), + 2233: uint16(322), + 2234: uint16(322), + 2235: uint16(322), + 2236: uint16(322), + 2237: uint16(322), + 2238: uint16(322), + 2239: uint16(322), + 2240: uint16(322), + 2241: uint16(322), + 2242: uint16(322), + 2243: uint16(322), + 2244: uint16(322), + 2245: uint16(322), + 2246: uint16(322), + 2247: uint16(322), + 2248: uint16(322), + 2249: uint16(322), + 2250: uint16(322), + 2251: uint16(322), + 2252: uint16(322), + 2253: uint16(322), + 2254: uint16(322), + 2255: uint16(322), + 2256: uint16(322), + 2257: uint16(322), + 2258: uint16(322), + 2259: uint16(322), + 2260: uint16(322), + 2261: uint16(322), + 2262: uint16(322), + 2263: uint16(322), + 2264: uint16(322), + 2265: uint16(322), + 2266: uint16(322), + 2267: uint16(322), + 2268: uint16(322), + 2269: uint16(322), + 2270: uint16(322), + 2271: uint16(322), + 2272: uint16(322), + 2273: uint16(322), + 2274: uint16(322), + 2275: uint16(322), + 2276: uint16(322), + 2277: uint16(322), + 2278: uint16(322), + 2279: uint16(322), + 2280: uint16(322), + 2281: uint16(322), + 2282: uint16(322), + 2283: uint16(322), + 2284: uint16(322), + 2285: uint16(322), + 2286: uint16(322), + 2287: uint16(322), + 2288: uint16(322), + 2289: uint16(322), + 2290: uint16(322), + 2291: uint16(322), + 2292: uint16(322), + 2293: uint16(322), + 2294: uint16(322), + 2295: uint16(322), + 2296: uint16(322), + 2297: uint16(322), + 2298: uint16(322), + 2299: uint16(322), + 2300: uint16(322), + 2301: uint16(322), + 2302: uint16(322), + 2303: uint16(322), + 2304: uint16(322), + 2305: uint16(322), + 2306: uint16(322), + 2307: uint16(322), + 2308: uint16(322), + 2309: uint16(322), + 2310: uint16(322), + 2311: uint16(322), + 2312: uint16(322), + 2313: uint16(322), + 2314: uint16(322), + 2315: uint16(322), + 2316: uint16(322), + 2317: uint16(322), + 2318: uint16(322), + 2319: uint16(322), + 2320: uint16(322), + 2321: uint16(322), + 2322: uint16(322), + 2323: uint16(322), + 2324: uint16(322), + 2325: uint16(322), + 2326: uint16(322), + 2327: uint16(322), +} +var _yy_shift_ofst = [583]uint16{ + 0: uint16(1792), + 1: uint16(1588), + 2: uint16(1494), 3: uint16(322), 4: uint16(322), - 5: uint16(1), - 6: uint16(1319), - 7: uint16(1478), - 8: uint16(1491), - 9: uint16(1837), - 10: uint16(1837), - 11: uint16(1837), - 12: uint16(471), - 15: uint16(214), - 16: uint16(1093), - 17: uint16(1837), - 18: uint16(1837), - 19: uint16(1837), - 20: uint16(1837), - 21: uint16(1837), - 22: uint16(1837), - 23: uint16(1837), - 24: uint16(1837), - 25: uint16(1837), - 26: uint16(1837), - 27: uint16(1837), - 28: uint16(1837), - 29: uint16(1837), - 30: uint16(1837), - 31: uint16(271), - 32: uint16(271), - 33: uint16(1219), - 34: uint16(1219), - 35: uint16(216), - 36: uint16(88), - 37: uint16(1), - 38: uint16(1), - 39: uint16(1), - 40: uint16(1), - 41: uint16(1), - 42: uint16(40), - 43: uint16(111), - 44: uint16(258), - 45: uint16(361), - 46: uint16(469), - 47: uint16(512), - 48: uint16(583), - 49: uint16(622), - 50: uint16(693), - 51: uint16(732), - 52: uint16(803), - 53: uint16(842), - 54: uint16(913), - 55: uint16(1073), - 56: uint16(1093), - 57: uint16(1093), - 58: uint16(1093), - 59: uint16(1093), - 60: uint16(1093), - 61: uint16(1093), - 62: uint16(1093), - 63: uint16(1093), - 64: uint16(1093), + 5: uint16(399), + 6: uint16(306), + 7: uint16(1319), + 8: uint16(1339), + 9: uint16(1430), + 10: uint16(1828), + 11: uint16(1828), + 12: uint16(1828), + 13: uint16(580), + 14: uint16(399), + 15: uint16(399), + 16: uint16(399), + 17: uint16(399), + 18: uint16(399), + 21: uint16(214), + 22: uint16(1093), + 23: uint16(1828), + 24: uint16(1828), + 25: uint16(1828), + 26: uint16(1828), + 27: uint16(1828), + 28: uint16(1828), + 29: uint16(1828), + 30: uint16(1828), + 31: uint16(1828), + 32: uint16(1828), + 33: uint16(1828), + 34: uint16(1828), + 35: uint16(1828), + 36: uint16(1828), + 37: uint16(1828), + 38: uint16(1130), + 39: uint16(1130), + 40: uint16(365), + 41: uint16(365), + 42: uint16(55), + 43: uint16(278), + 44: uint16(436), + 45: uint16(713), + 46: uint16(713), + 47: uint16(201), + 48: uint16(201), + 49: uint16(201), + 50: uint16(201), + 51: uint16(40), + 52: uint16(111), + 53: uint16(258), + 54: uint16(361), + 55: uint16(469), + 56: uint16(512), + 57: uint16(583), + 58: uint16(622), + 59: uint16(693), + 60: uint16(732), + 61: uint16(803), + 62: uint16(842), + 63: uint16(913), + 64: uint16(1073), 65: uint16(1093), 66: uint16(1093), 67: uint16(1093), @@ -156292,1505 +157651,1514 @@ var _yy_shift_ofst = [579]uint16{ 71: uint16(1093), 72: uint16(1093), 73: uint16(1093), - 74: uint16(1113), + 74: uint16(1093), 75: uint16(1093), - 76: uint16(1216), - 77: uint16(957), - 78: uint16(957), - 79: uint16(1635), - 80: uint16(1662), - 81: uint16(1777), - 82: uint16(1837), - 83: uint16(1837), - 84: uint16(1837), - 85: uint16(1837), - 86: uint16(1837), - 87: uint16(1837), - 88: uint16(1837), - 89: uint16(1837), - 90: uint16(1837), - 91: uint16(1837), - 92: uint16(1837), - 93: uint16(1837), - 94: uint16(1837), - 95: uint16(1837), - 96: uint16(1837), - 97: uint16(1837), - 98: uint16(1837), - 99: uint16(1837), - 100: uint16(1837), - 101: uint16(1837), - 102: uint16(1837), - 103: uint16(1837), - 104: uint16(1837), - 105: uint16(1837), - 106: uint16(1837), - 107: uint16(1837), - 108: uint16(1837), - 109: uint16(1837), - 110: uint16(1837), - 111: uint16(1837), - 112: uint16(1837), - 113: uint16(1837), - 114: uint16(1837), - 115: uint16(1837), - 116: uint16(1837), - 117: uint16(1837), - 118: uint16(1837), - 119: uint16(1837), - 120: uint16(1837), - 121: uint16(1837), - 122: uint16(1837), - 123: uint16(1837), - 124: uint16(1837), - 125: uint16(1837), - 126: uint16(1837), - 127: uint16(1837), - 128: uint16(1837), - 129: uint16(1837), - 130: uint16(1837), - 131: uint16(137), - 132: uint16(181), - 133: uint16(181), - 134: uint16(181), - 135: uint16(181), - 136: uint16(181), - 137: uint16(181), - 138: uint16(181), - 139: uint16(94), - 140: uint16(430), - 141: uint16(66), - 142: uint16(65), - 143: uint16(112), - 144: uint16(366), - 145: uint16(533), - 146: uint16(533), - 147: uint16(740), - 148: uint16(1257), - 149: uint16(533), - 150: uint16(533), - 151: uint16(79), - 152: uint16(79), - 153: uint16(533), - 154: uint16(412), - 155: uint16(412), - 156: uint16(412), - 157: uint16(77), - 158: uint16(412), - 159: uint16(123), - 160: uint16(113), - 161: uint16(113), - 162: uint16(113), - 163: uint16(22), - 164: uint16(22), - 165: uint16(2100), - 166: uint16(2100), - 167: uint16(328), - 168: uint16(328), - 169: uint16(328), - 170: uint16(239), - 171: uint16(468), - 172: uint16(468), - 173: uint16(468), - 174: uint16(468), - 175: uint16(1015), - 176: uint16(1015), - 177: uint16(409), - 178: uint16(366), - 179: uint16(1187), - 180: uint16(1232), - 181: uint16(533), - 182: uint16(533), - 183: uint16(533), - 184: uint16(533), - 185: uint16(533), - 186: uint16(533), - 187: uint16(533), - 188: uint16(533), - 189: uint16(533), - 190: uint16(533), - 191: uint16(533), - 192: uint16(533), - 193: uint16(533), - 194: uint16(533), - 195: uint16(533), - 196: uint16(533), - 197: uint16(533), - 198: uint16(533), - 199: uint16(533), - 200: uint16(533), - 201: uint16(969), - 202: uint16(621), - 203: uint16(621), - 204: uint16(533), - 205: uint16(642), - 206: uint16(788), - 207: uint16(788), - 208: uint16(1133), - 209: uint16(1133), - 210: uint16(822), - 211: uint16(822), - 212: uint16(67), - 213: uint16(1193), - 214: uint16(2100), - 215: uint16(2100), - 216: uint16(2100), - 217: uint16(2100), - 218: uint16(2100), - 219: uint16(2100), - 220: uint16(2100), - 221: uint16(1307), - 222: uint16(954), - 223: uint16(954), - 224: uint16(585), - 225: uint16(472), - 226: uint16(640), - 227: uint16(387), - 228: uint16(695), - 229: uint16(538), - 230: uint16(541), - 231: uint16(700), - 232: uint16(533), - 233: uint16(533), - 234: uint16(533), - 235: uint16(533), - 236: uint16(533), - 237: uint16(533), - 238: uint16(533), - 239: uint16(533), - 240: uint16(533), - 241: uint16(533), - 242: uint16(222), - 243: uint16(533), - 244: uint16(533), - 245: uint16(533), - 246: uint16(533), - 247: uint16(533), - 248: uint16(533), - 249: uint16(533), - 250: uint16(533), - 251: uint16(533), - 252: uint16(533), - 253: uint16(533), - 254: uint16(533), - 255: uint16(1213), - 256: uint16(1213), - 257: uint16(1213), - 258: uint16(533), - 259: uint16(533), - 260: uint16(533), - 261: uint16(565), - 262: uint16(533), - 263: uint16(533), - 264: uint16(533), - 265: uint16(916), - 266: uint16(1147), - 267: uint16(533), - 268: uint16(533), - 269: uint16(1288), - 270: uint16(533), - 271: uint16(533), - 272: uint16(533), - 273: uint16(533), - 274: uint16(533), - 275: uint16(533), - 276: uint16(533), - 277: uint16(533), - 278: uint16(639), - 279: uint16(1280), - 280: uint16(209), - 281: uint16(1129), - 282: uint16(1129), - 283: uint16(1129), - 284: uint16(1129), - 285: uint16(580), - 286: uint16(209), - 287: uint16(209), - 288: uint16(1209), - 289: uint16(768), - 290: uint16(917), - 291: uint16(649), - 292: uint16(1315), - 293: uint16(1334), - 294: uint16(405), - 295: uint16(1334), - 296: uint16(1383), - 297: uint16(249), - 298: uint16(1315), - 299: uint16(1315), - 300: uint16(249), - 301: uint16(1315), - 302: uint16(405), - 303: uint16(1383), - 304: uint16(1441), - 305: uint16(464), - 306: uint16(1245), - 307: uint16(1417), - 308: uint16(1417), - 309: uint16(1417), - 310: uint16(1323), - 311: uint16(1323), - 312: uint16(1323), - 313: uint16(1323), - 314: uint16(184), - 315: uint16(184), - 316: uint16(1335), - 317: uint16(1476), - 318: uint16(856), - 319: uint16(1482), - 320: uint16(1744), - 321: uint16(1744), - 322: uint16(1665), - 323: uint16(1665), - 324: uint16(1773), - 325: uint16(1773), - 326: uint16(1665), - 327: uint16(1669), - 328: uint16(1671), - 329: uint16(1802), - 330: uint16(1782), - 331: uint16(1809), - 332: uint16(1809), - 333: uint16(1809), - 334: uint16(1809), - 335: uint16(1665), - 336: uint16(1817), - 337: uint16(1690), - 338: uint16(1671), - 339: uint16(1671), - 340: uint16(1690), - 341: uint16(1802), - 342: uint16(1782), - 343: uint16(1690), - 344: uint16(1782), - 345: uint16(1690), - 346: uint16(1665), - 347: uint16(1817), - 348: uint16(1693), - 349: uint16(1791), - 350: uint16(1665), - 351: uint16(1817), - 352: uint16(1832), - 353: uint16(1665), - 354: uint16(1817), - 355: uint16(1665), - 356: uint16(1817), - 357: uint16(1832), - 358: uint16(1752), - 359: uint16(1752), - 360: uint16(1752), - 361: uint16(1805), - 362: uint16(1850), - 363: uint16(1850), - 364: uint16(1832), - 365: uint16(1752), - 366: uint16(1749), - 367: uint16(1752), - 368: uint16(1805), - 369: uint16(1752), - 370: uint16(1752), - 371: uint16(1713), - 372: uint16(1858), - 373: uint16(1775), - 374: uint16(1775), - 375: uint16(1832), - 376: uint16(1665), - 377: uint16(1799), - 378: uint16(1799), - 379: uint16(1823), - 380: uint16(1823), - 381: uint16(1761), - 382: uint16(1765), - 383: uint16(1890), - 384: uint16(1665), - 385: uint16(1757), - 386: uint16(1761), - 387: uint16(1771), - 388: uint16(1774), - 389: uint16(1690), - 390: uint16(1894), - 391: uint16(1913), - 392: uint16(1913), - 393: uint16(1929), - 394: uint16(1929), - 395: uint16(1929), - 396: uint16(2100), - 397: uint16(2100), - 398: uint16(2100), - 399: uint16(2100), - 400: uint16(2100), - 401: uint16(2100), - 402: uint16(2100), - 403: uint16(2100), - 404: uint16(2100), - 405: uint16(2100), - 406: uint16(2100), - 407: uint16(2100), - 408: uint16(2100), - 409: uint16(2100), - 410: uint16(2100), - 411: uint16(207), - 412: uint16(1220), - 413: uint16(331), - 414: uint16(620), - 415: uint16(967), - 416: uint16(806), - 417: uint16(1074), - 418: uint16(1499), - 419: uint16(1432), - 420: uint16(1463), - 421: uint16(1479), - 422: uint16(1419), - 423: uint16(1422), - 424: uint16(1557), - 425: uint16(1512), - 426: uint16(1598), - 427: uint16(1599), - 428: uint16(1644), - 429: uint16(1645), - 430: uint16(1654), - 431: uint16(1660), - 432: uint16(1555), - 433: uint16(1505), - 434: uint16(1684), - 435: uint16(1462), - 436: uint16(1670), - 437: uint16(1563), - 438: uint16(1619), - 439: uint16(1593), - 440: uint16(1676), - 441: uint16(1679), - 442: uint16(1613), - 443: uint16(1680), - 444: uint16(1554), - 445: uint16(1558), - 446: uint16(1689), - 447: uint16(1692), - 448: uint16(1605), - 449: uint16(1589), - 450: uint16(1955), - 451: uint16(1959), - 452: uint16(1941), - 453: uint16(1803), - 454: uint16(1950), - 455: uint16(1951), - 456: uint16(1945), - 457: uint16(1946), - 458: uint16(1831), - 459: uint16(1820), - 460: uint16(1842), - 461: uint16(1948), - 462: uint16(1948), - 463: uint16(1952), - 464: uint16(1833), - 465: uint16(1954), - 466: uint16(1834), - 467: uint16(1961), - 468: uint16(1978), - 469: uint16(1838), - 470: uint16(1851), - 471: uint16(1948), - 472: uint16(1852), - 473: uint16(1922), - 474: uint16(1947), - 475: uint16(1948), - 476: uint16(1836), - 477: uint16(1932), - 478: uint16(1935), - 479: uint16(1936), - 480: uint16(1942), - 481: uint16(1866), - 482: uint16(1881), - 483: uint16(1964), - 484: uint16(1859), - 485: uint16(1998), - 486: uint16(1996), - 487: uint16(1980), - 488: uint16(1888), - 489: uint16(1843), - 490: uint16(1937), - 491: uint16(1981), - 492: uint16(1939), - 493: uint16(1933), - 494: uint16(1968), - 495: uint16(1869), - 496: uint16(1896), - 497: uint16(1988), - 498: uint16(1993), - 499: uint16(1995), - 500: uint16(1884), - 501: uint16(1891), - 502: uint16(1997), - 503: uint16(1953), - 504: uint16(1999), - 505: uint16(2000), - 506: uint16(1994), - 507: uint16(2001), - 508: uint16(1957), - 509: uint16(1966), - 510: uint16(2002), - 511: uint16(1931), - 512: uint16(1990), - 513: uint16(2006), - 514: uint16(1962), - 515: uint16(2003), - 516: uint16(2007), - 517: uint16(2004), - 518: uint16(1882), - 519: uint16(2010), - 520: uint16(2011), - 521: uint16(2012), - 522: uint16(2008), - 523: uint16(2013), - 524: uint16(2015), - 525: uint16(1944), - 526: uint16(1898), - 527: uint16(2019), - 528: uint16(2020), - 529: uint16(1928), - 530: uint16(2014), - 531: uint16(2023), - 532: uint16(1903), - 533: uint16(2022), - 534: uint16(2016), - 535: uint16(2017), - 536: uint16(2018), - 537: uint16(2021), - 538: uint16(1965), - 539: uint16(1974), - 540: uint16(1970), - 541: uint16(2024), - 542: uint16(1979), - 543: uint16(1967), - 544: uint16(2025), - 545: uint16(2034), - 546: uint16(2036), - 547: uint16(2037), - 548: uint16(2038), - 549: uint16(2039), - 550: uint16(2028), - 551: uint16(1923), - 552: uint16(1924), - 553: uint16(2044), - 554: uint16(2022), - 555: uint16(2046), - 556: uint16(2047), - 557: uint16(2048), - 558: uint16(2049), - 559: uint16(2050), - 560: uint16(2051), - 561: uint16(2054), - 562: uint16(2062), - 563: uint16(2055), - 564: uint16(2056), - 565: uint16(2057), - 566: uint16(2058), - 567: uint16(2060), - 568: uint16(2061), - 569: uint16(2059), - 570: uint16(1956), - 571: uint16(1938), - 572: uint16(1949), - 573: uint16(1958), - 574: uint16(2063), - 575: uint16(2064), - 576: uint16(2070), - 577: uint16(2085), - 578: uint16(2088), -} -var _yy_reduce_ofst = [411]int16{ - 0: int16(-int32(125)), - 1: int16(733), - 2: int16(789), - 3: int16(241), - 4: int16(293), - 5: int16(-int32(123)), - 6: int16(-int32(193)), - 7: int16(-int32(191)), - 8: int16(-int32(183)), - 9: int16(-int32(187)), - 10: int16(166), - 11: int16(238), - 12: int16(133), - 13: int16(-int32(207)), - 14: int16(-int32(199)), - 15: int16(-int32(267)), - 16: int16(-int32(176)), - 17: int16(-int32(6)), - 18: int16(204), - 19: int16(489), - 20: int16(576), - 21: int16(598), - 22: int16(-int32(175)), - 23: int16(686), - 24: int16(860), - 25: int16(615), - 26: int16(725), - 27: int16(1014), - 28: int16(778), - 29: int16(781), - 30: int16(857), - 31: int16(616), - 32: int16(887), - 33: int16(87), - 34: int16(240), - 35: int16(-int32(192)), - 36: int16(408), - 37: int16(626), - 38: int16(796), - 39: int16(843), - 40: int16(854), - 41: int16(1004), - 42: int16(-int32(271)), - 43: int16(-int32(271)), - 44: int16(-int32(271)), - 45: int16(-int32(271)), - 46: int16(-int32(271)), - 47: int16(-int32(271)), - 48: int16(-int32(271)), - 49: int16(-int32(271)), - 50: int16(-int32(271)), - 51: int16(-int32(271)), - 52: int16(-int32(271)), - 53: int16(-int32(271)), - 54: int16(-int32(271)), - 55: int16(-int32(271)), - 56: int16(-int32(271)), - 57: int16(-int32(271)), - 58: int16(-int32(271)), - 59: int16(-int32(271)), - 60: int16(-int32(271)), - 61: int16(-int32(271)), - 62: int16(-int32(271)), - 63: int16(-int32(271)), - 64: int16(-int32(271)), - 65: int16(-int32(271)), - 66: int16(-int32(271)), - 67: int16(-int32(271)), - 68: int16(-int32(271)), - 69: int16(-int32(271)), - 70: int16(-int32(271)), - 71: int16(-int32(271)), - 72: int16(-int32(271)), - 73: int16(-int32(271)), - 74: int16(-int32(271)), - 75: int16(-int32(271)), - 76: int16(-int32(271)), - 77: int16(-int32(271)), - 78: int16(-int32(271)), - 79: int16(80), - 80: int16(83), - 81: int16(313), - 82: int16(886), - 83: int16(888), - 84: int16(918), - 85: int16(938), - 86: int16(1021), - 87: int16(1034), - 88: int16(1036), - 89: int16(1141), - 90: int16(1159), - 91: int16(1163), - 92: int16(1166), - 93: int16(1168), - 94: int16(1170), - 95: int16(1176), - 96: int16(1178), - 97: int16(1180), - 98: int16(1184), - 99: int16(1196), - 100: int16(1198), - 101: int16(1205), - 102: int16(1215), - 103: int16(1225), - 104: int16(1227), - 105: int16(1236), - 106: int16(1252), - 107: int16(1254), - 108: int16(1264), - 109: int16(1303), - 110: int16(1309), - 111: int16(1312), - 112: int16(1322), - 113: int16(1325), - 114: int16(1328), - 115: int16(1337), - 116: int16(1340), - 117: int16(1343), - 118: int16(1353), - 119: int16(1371), - 120: int16(1373), - 121: int16(1384), - 122: int16(1386), - 123: int16(1411), - 124: int16(1413), - 125: int16(1420), - 126: int16(1424), - 127: int16(1426), - 128: int16(1458), - 129: int16(1470), - 130: int16(1473), - 131: int16(-int32(271)), - 132: int16(-int32(271)), - 133: int16(-int32(271)), - 134: int16(-int32(271)), - 135: int16(-int32(271)), - 136: int16(-int32(271)), - 137: int16(-int32(271)), - 138: int16(-int32(271)), - 139: int16(-int32(271)), - 140: int16(-int32(271)), - 141: int16(-int32(271)), - 142: int16(138), - 143: int16(459), - 144: int16(396), - 145: int16(-int32(158)), - 146: int16(470), - 147: int16(302), - 148: int16(-int32(212)), - 149: int16(521), - 150: int16(201), - 151: int16(-int32(195)), - 152: int16(-int32(92)), - 153: int16(559), - 154: int16(630), - 155: int16(632), - 156: int16(630), - 157: int16(-int32(271)), - 158: int16(632), - 159: int16(901), - 160: int16(63), - 161: int16(407), - 162: int16(670), - 163: int16(-int32(271)), - 164: int16(-int32(271)), - 165: int16(-int32(271)), - 166: int16(-int32(271)), - 167: int16(161), - 168: int16(161), - 169: int16(161), - 170: int16(251), - 171: int16(335), - 172: int16(847), - 173: int16(979), - 174: int16(1097), - 175: int16(537), - 176: int16(588), - 177: int16(618), - 178: int16(628), - 179: int16(688), - 180: int16(688), - 181: int16(-int32(166)), - 182: int16(-int32(161)), - 183: int16(674), - 184: int16(787), - 185: int16(794), - 186: int16(799), - 187: int16(852), - 188: int16(996), - 189: int16(-int32(122)), - 190: int16(837), - 191: int16(-int32(120)), - 192: int16(1018), - 193: int16(1035), - 194: int16(415), - 195: int16(1047), - 196: int16(1001), - 197: int16(958), - 198: int16(1082), - 199: int16(400), - 200: int16(1099), - 201: int16(779), - 202: int16(1137), - 203: int16(1142), - 204: int16(263), - 205: int16(1083), - 206: int16(1145), - 207: int16(1150), - 208: int16(1041), - 209: int16(1139), - 210: int16(965), - 211: int16(1050), - 212: int16(362), - 213: int16(849), - 214: int16(752), - 215: int16(629), - 216: int16(675), - 217: int16(1162), - 218: int16(1173), - 219: int16(1090), - 220: int16(1195), - 221: int16(-int32(194)), - 222: int16(56), - 223: int16(185), - 224: int16(-int32(135)), - 225: int16(232), - 226: int16(522), - 227: int16(560), - 228: int16(571), - 229: int16(601), - 230: int16(617), - 231: int16(669), - 232: int16(683), - 233: int16(711), - 234: int16(850), - 235: int16(893), - 236: int16(1000), - 237: int16(1040), - 238: int16(1049), - 239: int16(1081), - 240: int16(1087), - 241: int16(1101), - 242: int16(392), - 243: int16(1114), - 244: int16(1123), - 245: int16(1155), - 246: int16(1161), - 247: int16(1175), - 248: int16(1271), - 249: int16(1293), - 250: int16(1299), - 251: int16(1330), - 252: int16(1339), - 253: int16(1342), - 254: int16(1347), - 255: int16(593), - 256: int16(1282), - 257: int16(1286), - 258: int16(1350), - 259: int16(1359), - 260: int16(1368), - 261: int16(1314), - 262: int16(1480), - 263: int16(1483), - 264: int16(1507), - 265: int16(1085), - 266: int16(1338), - 267: int16(1526), - 268: int16(1527), - 269: int16(1487), - 270: int16(1531), - 271: int16(560), - 272: int16(1532), - 273: int16(1534), - 274: int16(1535), - 275: int16(1538), - 276: int16(1539), - 277: int16(1541), - 278: int16(1448), - 279: int16(1450), - 280: int16(1496), - 281: int16(1484), - 282: int16(1485), - 283: int16(1489), - 284: int16(1490), - 285: int16(1314), - 286: int16(1496), - 287: int16(1496), - 288: int16(1504), - 289: int16(1536), - 290: int16(1564), - 291: int16(1451), - 292: int16(1486), - 293: int16(1492), - 294: int16(1509), - 295: int16(1493), - 296: int16(1465), - 297: int16(1515), - 298: int16(1494), - 299: int16(1495), - 300: int16(1517), - 301: int16(1500), - 302: int16(1519), - 303: int16(1474), - 304: int16(1550), - 305: int16(1543), - 306: int16(1548), - 307: int16(1556), - 308: int16(1565), - 309: int16(1566), - 310: int16(1518), - 311: int16(1523), - 312: int16(1542), - 313: int16(1544), - 314: int16(1525), - 315: int16(1545), - 316: int16(1513), - 317: int16(1553), - 318: int16(1552), - 319: int16(1604), - 320: int16(1508), - 321: int16(1510), - 322: int16(1608), - 323: int16(1609), - 324: int16(1520), - 325: int16(1528), - 326: int16(1612), - 327: int16(1540), - 328: int16(1559), - 329: int16(1560), - 330: int16(1592), - 331: int16(1591), - 332: int16(1595), - 333: int16(1596), - 334: int16(1597), - 335: int16(1629), - 336: int16(1638), - 337: int16(1594), - 338: int16(1569), - 339: int16(1570), - 340: int16(1600), - 341: int16(1568), - 342: int16(1610), - 343: int16(1601), - 344: int16(1611), - 345: int16(1603), - 346: int16(1643), - 347: int16(1651), - 348: int16(1562), - 349: int16(1571), - 350: int16(1655), - 351: int16(1659), - 352: int16(1640), - 353: int16(1663), - 354: int16(1666), - 355: int16(1664), - 356: int16(1667), - 357: int16(1641), - 358: int16(1650), - 359: int16(1652), - 360: int16(1653), - 361: int16(1647), - 362: int16(1656), - 363: int16(1657), - 364: int16(1658), - 365: int16(1668), - 366: int16(1672), - 367: int16(1681), - 368: int16(1649), - 369: int16(1682), - 370: int16(1683), - 371: int16(1573), - 372: int16(1582), - 373: int16(1607), - 374: int16(1615), - 375: int16(1685), - 376: int16(1702), - 377: int16(1586), - 378: int16(1587), - 379: int16(1642), - 380: int16(1646), - 381: int16(1673), - 382: int16(1675), - 383: int16(1636), - 384: int16(1714), - 385: int16(1637), - 386: int16(1677), - 387: int16(1674), - 388: int16(1678), - 389: int16(1694), - 390: int16(1719), - 391: int16(1734), - 392: int16(1735), - 393: int16(1746), - 394: int16(1747), - 395: int16(1750), - 396: int16(1633), - 397: int16(1661), + 76: uint16(1093), + 77: uint16(1093), + 78: uint16(1093), + 79: uint16(1093), + 80: uint16(1093), + 81: uint16(1093), + 82: uint16(1093), + 83: uint16(1113), + 84: uint16(1093), + 85: uint16(1216), + 86: uint16(957), + 87: uint16(957), + 88: uint16(1523), + 89: uint16(1602), + 90: uint16(1674), + 91: uint16(1828), + 92: uint16(1828), + 93: uint16(1828), + 94: uint16(1828), + 95: uint16(1828), + 96: uint16(1828), + 97: uint16(1828), + 98: uint16(1828), + 99: uint16(1828), + 100: uint16(1828), + 101: uint16(1828), + 102: uint16(1828), + 103: uint16(1828), + 104: uint16(1828), + 105: uint16(1828), + 106: uint16(1828), + 107: uint16(1828), + 108: uint16(1828), + 109: uint16(1828), + 110: uint16(1828), + 111: uint16(1828), + 112: uint16(1828), + 113: uint16(1828), + 114: uint16(1828), + 115: uint16(1828), + 116: uint16(1828), + 117: uint16(1828), + 118: uint16(1828), + 119: uint16(1828), + 120: uint16(1828), + 121: uint16(1828), + 122: uint16(1828), + 123: uint16(1828), + 124: uint16(1828), + 125: uint16(1828), + 126: uint16(1828), + 127: uint16(1828), + 128: uint16(1828), + 129: uint16(1828), + 130: uint16(1828), + 131: uint16(1828), + 132: uint16(1828), + 133: uint16(1828), + 134: uint16(1828), + 135: uint16(1828), + 136: uint16(1828), + 137: uint16(1828), + 138: uint16(1828), + 139: uint16(1828), + 140: uint16(137), + 141: uint16(181), + 142: uint16(181), + 143: uint16(181), + 144: uint16(181), + 145: uint16(181), + 146: uint16(181), + 147: uint16(181), + 148: uint16(96), + 149: uint16(222), + 150: uint16(143), + 151: uint16(477), + 152: uint16(713), + 153: uint16(1133), + 154: uint16(1268), + 155: uint16(713), + 156: uint16(713), + 157: uint16(79), + 158: uint16(79), + 159: uint16(713), + 160: uint16(770), + 161: uint16(83), + 162: uint16(65), + 163: uint16(65), + 164: uint16(65), + 165: uint16(288), + 166: uint16(162), + 167: uint16(162), + 168: uint16(2142), + 169: uint16(2142), + 170: uint16(696), + 171: uint16(696), + 172: uint16(696), + 173: uint16(238), + 174: uint16(474), + 175: uint16(474), + 176: uint16(474), + 177: uint16(474), + 178: uint16(1217), + 179: uint16(1217), + 180: uint16(678), + 181: uint16(477), + 182: uint16(324), + 183: uint16(398), + 184: uint16(713), + 185: uint16(713), + 186: uint16(713), + 187: uint16(713), + 188: uint16(713), + 189: uint16(713), + 190: uint16(713), + 191: uint16(713), + 192: uint16(713), + 193: uint16(713), + 194: uint16(713), + 195: uint16(713), + 196: uint16(713), + 197: uint16(713), + 198: uint16(713), + 199: uint16(713), + 200: uint16(713), + 201: uint16(713), + 202: uint16(713), + 203: uint16(1220), + 204: uint16(366), + 205: uint16(366), + 206: uint16(713), + 207: uint16(917), + 208: uint16(283), + 209: uint16(283), + 210: uint16(434), + 211: uint16(434), + 212: uint16(605), + 213: uint16(605), + 214: uint16(1298), + 215: uint16(2142), + 216: uint16(2142), + 217: uint16(2142), + 218: uint16(2142), + 219: uint16(2142), + 220: uint16(2142), + 221: uint16(2142), + 222: uint16(1179), + 223: uint16(1157), + 224: uint16(1157), + 225: uint16(487), + 226: uint16(527), + 227: uint16(585), + 228: uint16(645), + 229: uint16(749), + 230: uint16(914), + 231: uint16(968), + 232: uint16(752), + 233: uint16(713), + 234: uint16(713), + 235: uint16(713), + 236: uint16(713), + 237: uint16(713), + 238: uint16(713), + 239: uint16(713), + 240: uint16(713), + 241: uint16(713), + 242: uint16(713), + 243: uint16(303), + 244: uint16(713), + 245: uint16(713), + 246: uint16(713), + 247: uint16(713), + 248: uint16(713), + 249: uint16(713), + 250: uint16(713), + 251: uint16(713), + 252: uint16(713), + 253: uint16(713), + 254: uint16(713), + 255: uint16(713), + 256: uint16(797), + 257: uint16(797), + 258: uint16(797), + 259: uint16(713), + 260: uint16(713), + 261: uint16(713), + 262: uint16(959), + 263: uint16(713), + 264: uint16(713), + 265: uint16(713), + 266: uint16(1169), + 267: uint16(1271), + 268: uint16(713), + 269: uint16(713), + 270: uint16(1330), + 271: uint16(713), + 272: uint16(713), + 273: uint16(713), + 274: uint16(713), + 275: uint16(713), + 276: uint16(713), + 277: uint16(713), + 278: uint16(713), + 279: uint16(629), + 280: uint16(7), + 281: uint16(91), + 282: uint16(876), + 283: uint16(876), + 284: uint16(876), + 285: uint16(876), + 286: uint16(953), + 287: uint16(91), + 288: uint16(91), + 289: uint16(1246), + 290: uint16(1065), + 291: uint16(1106), + 292: uint16(1374), + 293: uint16(1329), + 294: uint16(1348), + 295: uint16(468), + 296: uint16(1348), + 297: uint16(1394), + 298: uint16(785), + 299: uint16(1329), + 300: uint16(1329), + 301: uint16(785), + 302: uint16(1329), + 303: uint16(468), + 304: uint16(1394), + 305: uint16(859), + 306: uint16(854), + 307: uint16(1402), + 308: uint16(1449), + 309: uint16(1449), + 310: uint16(1449), + 311: uint16(1173), + 312: uint16(1173), + 313: uint16(1173), + 314: uint16(1173), + 315: uint16(1355), + 316: uint16(1355), + 317: uint16(1030), + 318: uint16(1341), + 319: uint16(405), + 320: uint16(1230), + 321: uint16(1795), + 322: uint16(1795), + 323: uint16(1711), + 324: uint16(1711), + 325: uint16(1829), + 326: uint16(1829), + 327: uint16(1711), + 328: uint16(1717), + 329: uint16(1719), + 330: uint16(1850), + 331: uint16(1833), + 332: uint16(1860), + 333: uint16(1860), + 334: uint16(1860), + 335: uint16(1860), + 336: uint16(1711), + 337: uint16(1868), + 338: uint16(1740), + 339: uint16(1719), + 340: uint16(1719), + 341: uint16(1740), + 342: uint16(1850), + 343: uint16(1833), + 344: uint16(1740), + 345: uint16(1833), + 346: uint16(1740), + 347: uint16(1711), + 348: uint16(1868), + 349: uint16(1745), + 350: uint16(1843), + 351: uint16(1711), + 352: uint16(1868), + 353: uint16(1887), + 354: uint16(1711), + 355: uint16(1868), + 356: uint16(1711), + 357: uint16(1868), + 358: uint16(1887), + 359: uint16(1801), + 360: uint16(1801), + 361: uint16(1801), + 362: uint16(1855), + 363: uint16(1900), + 364: uint16(1900), + 365: uint16(1887), + 366: uint16(1801), + 367: uint16(1797), + 368: uint16(1801), + 369: uint16(1855), + 370: uint16(1801), + 371: uint16(1801), + 372: uint16(1761), + 373: uint16(1912), + 374: uint16(1830), + 375: uint16(1830), + 376: uint16(1887), + 377: uint16(1711), + 378: uint16(1862), + 379: uint16(1862), + 380: uint16(1875), + 381: uint16(1875), + 382: uint16(1810), + 383: uint16(1815), + 384: uint16(1940), + 385: uint16(1711), + 386: uint16(1807), + 387: uint16(1810), + 388: uint16(1821), + 389: uint16(1823), + 390: uint16(1740), + 391: uint16(1945), + 392: uint16(1963), + 393: uint16(1963), + 394: uint16(1974), + 395: uint16(1974), + 396: uint16(1974), + 397: uint16(2142), + 398: uint16(2142), + 399: uint16(2142), + 400: uint16(2142), + 401: uint16(2142), + 402: uint16(2142), + 403: uint16(2142), + 404: uint16(2142), + 405: uint16(2142), + 406: uint16(2142), + 407: uint16(2142), + 408: uint16(2142), + 409: uint16(2142), + 410: uint16(2142), + 411: uint16(2142), + 412: uint16(20), + 413: uint16(1224), + 414: uint16(256), + 415: uint16(1111), + 416: uint16(1115), + 417: uint16(1114), + 418: uint16(1192), + 419: uint16(1496), + 420: uint16(1424), + 421: uint16(1505), + 422: uint16(1427), + 423: uint16(355), + 424: uint16(1383), + 425: uint16(1537), + 426: uint16(1506), + 427: uint16(1538), + 428: uint16(1553), + 429: uint16(1583), + 430: uint16(1584), + 431: uint16(1591), + 432: uint16(1625), + 433: uint16(541), + 434: uint16(1445), + 435: uint16(1562), + 436: uint16(1450), + 437: uint16(1572), + 438: uint16(1515), + 439: uint16(1428), + 440: uint16(1532), + 441: uint16(1592), + 442: uint16(1629), + 443: uint16(1520), + 444: uint16(1630), + 445: uint16(1639), + 446: uint16(1510), + 447: uint16(1544), + 448: uint16(1662), + 449: uint16(1675), + 450: uint16(1551), + 451: uint16(48), + 452: uint16(1996), + 453: uint16(2001), + 454: uint16(1983), + 455: uint16(1844), + 456: uint16(1993), + 457: uint16(1994), + 458: uint16(1986), + 459: uint16(1989), + 460: uint16(1874), + 461: uint16(1863), + 462: uint16(1885), + 463: uint16(1991), + 464: uint16(1991), + 465: uint16(1995), + 466: uint16(1876), + 467: uint16(1997), + 468: uint16(1877), + 469: uint16(2004), + 470: uint16(2021), + 471: uint16(1881), + 472: uint16(1894), + 473: uint16(1991), + 474: uint16(1895), + 475: uint16(1965), + 476: uint16(1990), + 477: uint16(1991), + 478: uint16(1878), + 479: uint16(1975), + 480: uint16(1977), + 481: uint16(1978), + 482: uint16(1979), + 483: uint16(1903), + 484: uint16(1918), + 485: uint16(2002), + 486: uint16(1896), + 487: uint16(2034), + 488: uint16(2033), + 489: uint16(2017), + 490: uint16(1925), + 491: uint16(1880), + 492: uint16(1976), + 493: uint16(2018), + 494: uint16(1980), + 495: uint16(1967), + 496: uint16(2005), + 497: uint16(1904), + 498: uint16(1932), + 499: uint16(2025), + 500: uint16(2030), + 501: uint16(2032), + 502: uint16(1921), + 503: uint16(1928), + 504: uint16(2035), + 505: uint16(1987), + 506: uint16(2036), + 507: uint16(2037), + 508: uint16(2038), + 509: uint16(2040), + 510: uint16(1988), + 511: uint16(2006), + 512: uint16(2039), + 513: uint16(1960), + 514: uint16(2041), + 515: uint16(2042), + 516: uint16(1999), + 517: uint16(2023), + 518: uint16(2044), + 519: uint16(2043), + 520: uint16(1919), + 521: uint16(2048), + 522: uint16(2049), + 523: uint16(2050), + 524: uint16(2046), + 525: uint16(2051), + 526: uint16(2053), + 527: uint16(1981), + 528: uint16(1935), + 529: uint16(2056), + 530: uint16(2057), + 531: uint16(1966), + 532: uint16(2047), + 533: uint16(2061), + 534: uint16(1941), + 535: uint16(2060), + 536: uint16(2052), + 537: uint16(2054), + 538: uint16(2055), + 539: uint16(2058), + 540: uint16(2003), + 541: uint16(2012), + 542: uint16(2007), + 543: uint16(2059), + 544: uint16(2015), + 545: uint16(2008), + 546: uint16(2062), + 547: uint16(2071), + 548: uint16(2073), + 549: uint16(2074), + 550: uint16(2072), + 551: uint16(2075), + 552: uint16(2065), + 553: uint16(1962), + 554: uint16(1964), + 555: uint16(2079), + 556: uint16(2060), + 557: uint16(2082), + 558: uint16(2084), + 559: uint16(2085), + 560: uint16(2087), + 561: uint16(2086), + 562: uint16(2089), + 563: uint16(2088), + 564: uint16(2091), + 565: uint16(2093), + 566: uint16(2099), + 567: uint16(2094), + 568: uint16(2095), + 569: uint16(2096), + 570: uint16(2097), + 571: uint16(2100), + 572: uint16(2101), + 573: uint16(2102), + 574: uint16(1998), + 575: uint16(1984), + 576: uint16(1985), + 577: uint16(2000), + 578: uint16(2103), + 579: uint16(2098), + 580: uint16(2109), + 581: uint16(2117), + 582: uint16(2128), +} +var _yy_reduce_ofst = [412]int16{ + 0: int16(-int32(71)), + 1: int16(194), + 2: int16(343), + 3: int16(835), + 4: int16(-int32(180)), + 5: int16(-int32(177)), + 6: int16(838), + 7: int16(-int32(194)), + 8: int16(-int32(188)), + 9: int16(-int32(185)), + 10: int16(-int32(183)), + 11: int16(82), + 12: int16(183), + 13: int16(-int32(65)), + 14: int16(133), + 15: int16(245), + 16: int16(346), + 17: int16(407), + 18: int16(458), + 19: int16(-int32(178)), + 20: int16(75), + 21: int16(-int32(275)), + 22: int16(-int32(4)), + 23: int16(310), + 24: int16(312), + 25: int16(489), + 26: int16(575), + 27: int16(596), + 28: int16(463), + 29: int16(686), + 30: int16(707), + 31: int16(725), + 32: int16(780), + 33: int16(1098), + 34: int16(856), + 35: int16(778), + 36: int16(1059), + 37: int16(1090), + 38: int16(708), + 39: int16(887), + 40: int16(86), + 41: int16(448), + 42: int16(980), + 43: int16(630), + 44: int16(680), + 45: int16(681), + 46: int16(684), + 47: int16(796), + 48: int16(801), + 49: int16(796), + 50: int16(801), + 51: int16(-int32(261)), + 52: int16(-int32(261)), + 53: int16(-int32(261)), + 54: int16(-int32(261)), + 55: int16(-int32(261)), + 56: int16(-int32(261)), + 57: int16(-int32(261)), + 58: int16(-int32(261)), + 59: int16(-int32(261)), + 60: int16(-int32(261)), + 61: int16(-int32(261)), + 62: int16(-int32(261)), + 63: int16(-int32(261)), + 64: int16(-int32(261)), + 65: int16(-int32(261)), + 66: int16(-int32(261)), + 67: int16(-int32(261)), + 68: int16(-int32(261)), + 69: int16(-int32(261)), + 70: int16(-int32(261)), + 71: int16(-int32(261)), + 72: int16(-int32(261)), + 73: int16(-int32(261)), + 74: int16(-int32(261)), + 75: int16(-int32(261)), + 76: int16(-int32(261)), + 77: int16(-int32(261)), + 78: int16(-int32(261)), + 79: int16(-int32(261)), + 80: int16(-int32(261)), + 81: int16(-int32(261)), + 82: int16(-int32(261)), + 83: int16(-int32(261)), + 84: int16(-int32(261)), + 85: int16(-int32(261)), + 86: int16(-int32(261)), + 87: int16(-int32(261)), + 88: int16(391), + 89: int16(886), + 90: int16(888), + 91: int16(1013), + 92: int16(1016), + 93: int16(1081), + 94: int16(1087), + 95: int16(1151), + 96: int16(1159), + 97: int16(1177), + 98: int16(1185), + 99: int16(1188), + 100: int16(1190), + 101: int16(1194), + 102: int16(1197), + 103: int16(1203), + 104: int16(1247), + 105: int16(1260), + 106: int16(1264), + 107: int16(1267), + 108: int16(1269), + 109: int16(1273), + 110: int16(1315), + 111: int16(1322), + 112: int16(1335), + 113: int16(1337), + 114: int16(1356), + 115: int16(1362), + 116: int16(1418), + 117: int16(1425), + 118: int16(1453), + 119: int16(1457), + 120: int16(1465), + 121: int16(1473), + 122: int16(1487), + 123: int16(1495), + 124: int16(1507), + 125: int16(1517), + 126: int16(1521), + 127: int16(1534), + 128: int16(1543), + 129: int16(1546), + 130: int16(1549), + 131: int16(1552), + 132: int16(1554), + 133: int16(1560), + 134: int16(1581), + 135: int16(1590), + 136: int16(1593), + 137: int16(1595), + 138: int16(1621), + 139: int16(1623), + 140: int16(-int32(261)), + 141: int16(-int32(261)), + 142: int16(-int32(261)), + 143: int16(-int32(261)), + 144: int16(-int32(261)), + 145: int16(-int32(261)), + 146: int16(-int32(261)), + 147: int16(-int32(261)), + 148: int16(-int32(261)), + 149: int16(-int32(261)), + 150: int16(-int32(261)), + 151: int16(-int32(186)), + 152: int16(-int32(117)), + 153: int16(260), + 154: int16(263), + 155: int16(460), + 156: int16(631), + 157: int16(-int32(74)), + 158: int16(497), + 159: int16(-int32(181)), + 160: int16(-int32(261)), + 161: int16(939), + 162: int16(176), + 163: int16(274), + 164: int16(338), + 165: int16(676), + 166: int16(-int32(261)), + 167: int16(-int32(261)), + 168: int16(-int32(261)), + 169: int16(-int32(261)), + 170: int16(-int32(212)), + 171: int16(-int32(212)), + 172: int16(-int32(212)), + 173: int16(-int32(184)), + 174: int16(149), + 175: int16(777), + 176: int16(1061), + 177: int16(1103), + 178: int16(265), + 179: int16(419), + 180: int16(-int32(254)), + 181: int16(670), + 182: int16(677), + 183: int16(677), + 184: int16(-int32(11)), + 185: int16(-int32(129)), + 186: int16(184), + 187: int16(488), + 188: int16(736), + 189: int16(789), + 190: int16(805), + 191: int16(844), + 192: int16(403), + 193: int16(529), + 194: int16(579), + 195: int16(668), + 196: int16(783), + 197: int16(841), + 198: int16(1158), + 199: int16(1112), + 200: int16(806), + 201: int16(861), + 202: int16(1095), + 203: int16(846), + 204: int16(839), + 205: int16(1031), + 206: int16(-int32(189)), + 207: int16(1077), + 208: int16(1080), + 209: int16(1116), + 210: int16(1084), + 211: int16(1156), + 212: int16(1139), + 213: int16(1221), + 214: int16(46), + 215: int16(1099), + 216: int16(1037), + 217: int16(1118), + 218: int16(1171), + 219: int16(1214), + 220: int16(1210), + 221: int16(1258), + 222: int16(-int32(210)), + 223: int16(-int32(190)), + 224: int16(-int32(176)), + 225: int16(-int32(115)), + 226: int16(117), + 227: int16(262), + 228: int16(376), + 229: int16(490), + 230: int16(511), + 231: int16(520), + 232: int16(618), + 233: int16(639), + 234: int16(743), + 235: int16(901), + 236: int16(907), + 237: int16(958), + 238: int16(1014), + 239: int16(1055), + 240: int16(1108), + 241: int16(1193), + 242: int16(1244), + 243: int16(720), + 244: int16(1248), + 245: int16(1277), + 246: int16(1324), + 247: int16(1347), + 248: int16(1417), + 249: int16(1431), + 250: int16(1432), + 251: int16(1440), + 252: int16(1451), + 253: int16(1452), + 254: int16(1463), + 255: int16(1478), + 256: int16(1286), + 257: int16(1350), + 258: int16(1369), + 259: int16(1490), + 260: int16(1498), + 261: int16(1501), + 262: int16(773), + 263: int16(1509), + 264: int16(1513), + 265: int16(1528), + 266: int16(1292), + 267: int16(1367), + 268: int16(1535), + 269: int16(1536), + 270: int16(1477), + 271: int16(1542), + 272: int16(376), + 273: int16(1547), + 274: int16(1550), + 275: int16(1555), + 276: int16(1559), + 277: int16(1568), + 278: int16(1571), + 279: int16(1441), + 280: int16(1443), + 281: int16(1474), + 282: int16(1511), + 283: int16(1516), + 284: int16(1519), + 285: int16(1522), + 286: int16(773), + 287: int16(1474), + 288: int16(1474), + 289: int16(1503), + 290: int16(1567), + 291: int16(1594), + 292: int16(1484), + 293: int16(1527), + 294: int16(1556), + 295: int16(1570), + 296: int16(1557), + 297: int16(1524), + 298: int16(1573), + 299: int16(1545), + 300: int16(1548), + 301: int16(1576), + 302: int16(1561), + 303: int16(1587), + 304: int16(1540), + 305: int16(1575), + 306: int16(1606), + 307: int16(1611), + 308: int16(1622), + 309: int16(1624), + 310: int16(1626), + 311: int16(1582), + 312: int16(1597), + 313: int16(1598), + 314: int16(1599), + 315: int16(1601), + 316: int16(1603), + 317: int16(1563), + 318: int16(1608), + 319: int16(1605), + 320: int16(1604), + 321: int16(1564), + 322: int16(1566), + 323: int16(1655), + 324: int16(1660), + 325: int16(1578), + 326: int16(1579), + 327: int16(1665), + 328: int16(1586), + 329: int16(1607), + 330: int16(1610), + 331: int16(1642), + 332: int16(1641), + 333: int16(1645), + 334: int16(1646), + 335: int16(1647), + 336: int16(1679), + 337: int16(1688), + 338: int16(1644), + 339: int16(1618), + 340: int16(1619), + 341: int16(1648), + 342: int16(1628), + 343: int16(1659), + 344: int16(1649), + 345: int16(1663), + 346: int16(1650), + 347: int16(1700), + 348: int16(1702), + 349: int16(1612), + 350: int16(1615), + 351: int16(1706), + 352: int16(1708), + 353: int16(1689), + 354: int16(1709), + 355: int16(1712), + 356: int16(1713), + 357: int16(1715), + 358: int16(1691), + 359: int16(1698), + 360: int16(1699), + 361: int16(1701), + 362: int16(1693), + 363: int16(1704), + 364: int16(1707), + 365: int16(1705), + 366: int16(1714), + 367: int16(1703), + 368: int16(1718), + 369: int16(1710), + 370: int16(1720), + 371: int16(1721), + 372: int16(1632), + 373: int16(1634), + 374: int16(1664), + 375: int16(1666), + 376: int16(1729), + 377: int16(1751), + 378: int16(1635), + 379: int16(1636), + 380: int16(1692), + 381: int16(1694), + 382: int16(1716), + 383: int16(1722), + 384: int16(1684), + 385: int16(1763), + 386: int16(1685), + 387: int16(1723), + 388: int16(1724), + 389: int16(1727), + 390: int16(1730), + 391: int16(1768), + 392: int16(1783), + 393: int16(1784), + 394: int16(1793), + 395: int16(1794), + 396: int16(1796), + 397: int16(1683), 398: int16(1686), - 399: int16(1738), - 400: int16(1728), - 401: int16(1733), - 402: int16(1736), - 403: int16(1737), - 404: int16(1740), - 405: int16(1726), - 406: int16(1730), - 407: int16(1742), - 408: int16(1743), - 409: int16(1748), - 410: int16(1753), -} -var _yy_default = [579]uint16{ - 0: uint16(1648), - 1: uint16(1648), - 2: uint16(1648), - 3: uint16(1478), - 4: uint16(1243), - 5: uint16(1354), - 6: uint16(1243), - 7: uint16(1243), - 8: uint16(1243), - 9: uint16(1478), - 10: uint16(1478), - 11: uint16(1478), - 12: uint16(1243), - 13: uint16(1384), - 14: uint16(1384), - 15: uint16(1531), - 16: uint16(1276), - 17: uint16(1243), - 18: uint16(1243), - 19: uint16(1243), - 20: uint16(1243), - 21: uint16(1243), - 22: uint16(1243), - 23: uint16(1243), - 24: uint16(1243), - 25: uint16(1243), - 26: uint16(1243), - 27: uint16(1243), - 28: uint16(1477), - 29: uint16(1243), - 30: uint16(1243), - 31: uint16(1243), - 32: uint16(1243), - 33: uint16(1564), - 34: uint16(1564), - 35: uint16(1243), - 36: uint16(1243), - 37: uint16(1243), - 38: uint16(1243), - 39: uint16(1243), - 40: uint16(1243), - 41: uint16(1243), - 42: uint16(1243), - 43: uint16(1393), - 44: uint16(1243), - 45: uint16(1400), - 46: uint16(1243), - 47: uint16(1243), - 48: uint16(1243), - 49: uint16(1243), - 50: uint16(1243), - 51: uint16(1479), - 52: uint16(1480), - 53: uint16(1243), - 54: uint16(1243), - 55: uint16(1243), - 56: uint16(1530), - 57: uint16(1532), - 58: uint16(1495), - 59: uint16(1407), - 60: uint16(1406), - 61: uint16(1405), - 62: uint16(1404), - 63: uint16(1513), - 64: uint16(1372), - 65: uint16(1398), - 66: uint16(1391), - 67: uint16(1395), - 68: uint16(1474), - 69: uint16(1475), - 70: uint16(1473), - 71: uint16(1626), - 72: uint16(1480), - 73: uint16(1479), - 74: uint16(1243), - 75: uint16(1394), - 76: uint16(1442), - 77: uint16(1458), - 78: uint16(1441), - 79: uint16(1243), - 80: uint16(1243), - 81: uint16(1243), - 82: uint16(1243), - 83: uint16(1243), - 84: uint16(1243), - 85: uint16(1243), - 86: uint16(1243), - 87: uint16(1243), - 88: uint16(1243), - 89: uint16(1243), - 90: uint16(1243), - 91: uint16(1243), - 92: uint16(1243), - 93: uint16(1243), - 94: uint16(1243), - 95: uint16(1243), - 96: uint16(1243), - 97: uint16(1243), - 98: uint16(1243), - 99: uint16(1243), - 100: uint16(1243), - 101: uint16(1243), - 102: uint16(1243), - 103: uint16(1243), - 104: uint16(1243), - 105: uint16(1243), - 106: uint16(1243), - 107: uint16(1243), - 108: uint16(1243), - 109: uint16(1243), - 110: uint16(1243), - 111: uint16(1243), - 112: uint16(1243), - 113: uint16(1243), - 114: uint16(1243), - 115: uint16(1243), - 116: uint16(1243), - 117: uint16(1243), - 118: uint16(1243), - 119: uint16(1243), - 120: uint16(1243), - 121: uint16(1243), - 122: uint16(1243), - 123: uint16(1243), - 124: uint16(1243), - 125: uint16(1243), - 126: uint16(1243), - 127: uint16(1243), - 128: uint16(1243), - 129: uint16(1243), - 130: uint16(1243), - 131: uint16(1450), - 132: uint16(1457), - 133: uint16(1456), - 134: uint16(1455), - 135: uint16(1464), - 136: uint16(1454), - 137: uint16(1451), - 138: uint16(1444), - 139: uint16(1443), - 140: uint16(1445), - 141: uint16(1446), - 142: uint16(1243), - 143: uint16(1243), - 144: uint16(1267), - 145: uint16(1243), - 146: uint16(1243), - 147: uint16(1264), - 148: uint16(1318), - 149: uint16(1243), - 150: uint16(1243), - 151: uint16(1243), - 152: uint16(1243), - 153: uint16(1243), - 154: uint16(1550), - 155: uint16(1549), - 156: uint16(1243), - 157: uint16(1447), - 158: uint16(1243), - 159: uint16(1276), - 160: uint16(1435), - 161: uint16(1434), - 162: uint16(1433), - 163: uint16(1461), - 164: uint16(1448), - 165: uint16(1460), - 166: uint16(1459), - 167: uint16(1538), - 168: uint16(1600), - 169: uint16(1599), - 170: uint16(1496), - 171: uint16(1243), - 172: uint16(1243), - 173: uint16(1243), - 174: uint16(1243), - 175: uint16(1243), - 176: uint16(1243), - 177: uint16(1564), - 178: uint16(1243), - 179: uint16(1243), - 180: uint16(1243), - 181: uint16(1243), - 182: uint16(1243), - 183: uint16(1243), - 184: uint16(1243), - 185: uint16(1243), - 186: uint16(1243), - 187: uint16(1243), - 188: uint16(1243), - 189: uint16(1243), - 190: uint16(1243), - 191: uint16(1243), - 192: uint16(1243), - 193: uint16(1243), - 194: uint16(1243), - 195: uint16(1243), - 196: uint16(1243), - 197: uint16(1243), - 198: uint16(1243), - 199: uint16(1243), - 200: uint16(1243), - 201: uint16(1374), - 202: uint16(1564), - 203: uint16(1564), - 204: uint16(1243), - 205: uint16(1276), - 206: uint16(1564), - 207: uint16(1564), - 208: uint16(1375), - 209: uint16(1375), - 210: uint16(1272), - 211: uint16(1272), - 212: uint16(1378), - 213: uint16(1243), - 214: uint16(1545), - 215: uint16(1345), - 216: uint16(1345), - 217: uint16(1345), - 218: uint16(1345), - 219: uint16(1354), - 220: uint16(1345), - 221: uint16(1243), - 222: uint16(1243), - 223: uint16(1243), - 224: uint16(1243), - 225: uint16(1243), - 226: uint16(1243), - 227: uint16(1243), - 228: uint16(1243), - 229: uint16(1243), - 230: uint16(1243), - 231: uint16(1243), - 232: uint16(1243), - 233: uint16(1243), - 234: uint16(1243), - 235: uint16(1243), - 236: uint16(1535), - 237: uint16(1533), - 238: uint16(1243), - 239: uint16(1243), - 240: uint16(1243), - 241: uint16(1243), - 242: uint16(1243), - 243: uint16(1243), - 244: uint16(1243), - 245: uint16(1243), - 246: uint16(1243), - 247: uint16(1243), - 248: uint16(1243), - 249: uint16(1243), - 250: uint16(1243), - 251: uint16(1243), - 252: uint16(1243), - 253: uint16(1243), - 254: uint16(1243), - 255: uint16(1243), - 256: uint16(1243), - 257: uint16(1243), - 258: uint16(1243), - 259: uint16(1243), - 260: uint16(1243), - 261: uint16(1243), - 262: uint16(1243), - 263: uint16(1243), - 264: uint16(1243), - 265: uint16(1350), - 266: uint16(1243), - 267: uint16(1243), - 268: uint16(1243), - 269: uint16(1243), - 270: uint16(1243), - 271: uint16(1243), - 272: uint16(1243), - 273: uint16(1243), - 274: uint16(1243), - 275: uint16(1243), - 276: uint16(1243), - 277: uint16(1593), - 278: uint16(1243), - 279: uint16(1508), - 280: uint16(1332), - 281: uint16(1350), - 282: uint16(1350), - 283: uint16(1350), - 284: uint16(1350), - 285: uint16(1352), - 286: uint16(1333), - 287: uint16(1331), - 288: uint16(1344), - 289: uint16(1277), - 290: uint16(1250), - 291: uint16(1640), - 292: uint16(1410), - 293: uint16(1399), - 294: uint16(1351), - 295: uint16(1399), - 296: uint16(1637), - 297: uint16(1397), + 399: int16(1690), + 400: int16(1782), + 401: int16(1779), + 402: int16(1780), + 403: int16(1781), + 404: int16(1785), + 405: int16(1788), + 406: int16(1774), + 407: int16(1775), + 408: int16(1786), + 409: int16(1787), + 410: int16(1789), + 411: int16(1798), +} +var _yy_default = [583]uint16{ + 0: uint16(1663), + 1: uint16(1663), + 2: uint16(1663), + 3: uint16(1491), + 4: uint16(1254), + 5: uint16(1367), + 6: uint16(1254), + 7: uint16(1254), + 8: uint16(1254), + 9: uint16(1254), + 10: uint16(1491), + 11: uint16(1491), + 12: uint16(1491), + 13: uint16(1254), + 14: uint16(1254), + 15: uint16(1254), + 16: uint16(1254), + 17: uint16(1254), + 18: uint16(1254), + 19: uint16(1397), + 20: uint16(1397), + 21: uint16(1544), + 22: uint16(1287), + 23: uint16(1254), + 24: uint16(1254), + 25: uint16(1254), + 26: uint16(1254), + 27: uint16(1254), + 28: uint16(1254), + 29: uint16(1254), + 30: uint16(1254), + 31: uint16(1254), + 32: uint16(1254), + 33: uint16(1254), + 34: uint16(1254), + 35: uint16(1490), + 36: uint16(1254), + 37: uint16(1254), + 38: uint16(1254), + 39: uint16(1254), + 40: uint16(1578), + 41: uint16(1578), + 42: uint16(1254), + 43: uint16(1254), + 44: uint16(1254), + 45: uint16(1254), + 46: uint16(1254), + 47: uint16(1563), + 48: uint16(1562), + 49: uint16(1254), + 50: uint16(1254), + 51: uint16(1254), + 52: uint16(1406), + 53: uint16(1254), + 54: uint16(1413), + 55: uint16(1254), + 56: uint16(1254), + 57: uint16(1254), + 58: uint16(1254), + 59: uint16(1254), + 60: uint16(1492), + 61: uint16(1493), + 62: uint16(1254), + 63: uint16(1254), + 64: uint16(1254), + 65: uint16(1543), + 66: uint16(1545), + 67: uint16(1508), + 68: uint16(1420), + 69: uint16(1419), + 70: uint16(1418), + 71: uint16(1417), + 72: uint16(1526), + 73: uint16(1385), + 74: uint16(1411), + 75: uint16(1404), + 76: uint16(1408), + 77: uint16(1487), + 78: uint16(1488), + 79: uint16(1486), + 80: uint16(1641), + 81: uint16(1493), + 82: uint16(1492), + 83: uint16(1254), + 84: uint16(1407), + 85: uint16(1455), + 86: uint16(1471), + 87: uint16(1454), + 88: uint16(1254), + 89: uint16(1254), + 90: uint16(1254), + 91: uint16(1254), + 92: uint16(1254), + 93: uint16(1254), + 94: uint16(1254), + 95: uint16(1254), + 96: uint16(1254), + 97: uint16(1254), + 98: uint16(1254), + 99: uint16(1254), + 100: uint16(1254), + 101: uint16(1254), + 102: uint16(1254), + 103: uint16(1254), + 104: uint16(1254), + 105: uint16(1254), + 106: uint16(1254), + 107: uint16(1254), + 108: uint16(1254), + 109: uint16(1254), + 110: uint16(1254), + 111: uint16(1254), + 112: uint16(1254), + 113: uint16(1254), + 114: uint16(1254), + 115: uint16(1254), + 116: uint16(1254), + 117: uint16(1254), + 118: uint16(1254), + 119: uint16(1254), + 120: uint16(1254), + 121: uint16(1254), + 122: uint16(1254), + 123: uint16(1254), + 124: uint16(1254), + 125: uint16(1254), + 126: uint16(1254), + 127: uint16(1254), + 128: uint16(1254), + 129: uint16(1254), + 130: uint16(1254), + 131: uint16(1254), + 132: uint16(1254), + 133: uint16(1254), + 134: uint16(1254), + 135: uint16(1254), + 136: uint16(1254), + 137: uint16(1254), + 138: uint16(1254), + 139: uint16(1254), + 140: uint16(1463), + 141: uint16(1470), + 142: uint16(1469), + 143: uint16(1468), + 144: uint16(1477), + 145: uint16(1467), + 146: uint16(1464), + 147: uint16(1457), + 148: uint16(1456), + 149: uint16(1458), + 150: uint16(1459), + 151: uint16(1278), + 152: uint16(1254), + 153: uint16(1275), + 154: uint16(1329), + 155: uint16(1254), + 156: uint16(1254), + 157: uint16(1254), + 158: uint16(1254), + 159: uint16(1254), + 160: uint16(1460), + 161: uint16(1287), + 162: uint16(1448), + 163: uint16(1447), + 164: uint16(1446), + 165: uint16(1254), + 166: uint16(1474), + 167: uint16(1461), + 168: uint16(1473), + 169: uint16(1472), + 170: uint16(1551), + 171: uint16(1615), + 172: uint16(1614), + 173: uint16(1509), + 174: uint16(1254), + 175: uint16(1254), + 176: uint16(1254), + 177: uint16(1254), + 178: uint16(1254), + 179: uint16(1254), + 180: uint16(1578), + 181: uint16(1254), + 182: uint16(1254), + 183: uint16(1254), + 184: uint16(1254), + 185: uint16(1254), + 186: uint16(1254), + 187: uint16(1254), + 188: uint16(1254), + 189: uint16(1254), + 190: uint16(1254), + 191: uint16(1254), + 192: uint16(1254), + 193: uint16(1254), + 194: uint16(1254), + 195: uint16(1254), + 196: uint16(1254), + 197: uint16(1254), + 198: uint16(1254), + 199: uint16(1254), + 200: uint16(1254), + 201: uint16(1254), + 202: uint16(1254), + 203: uint16(1387), + 204: uint16(1578), + 205: uint16(1578), + 206: uint16(1254), + 207: uint16(1287), + 208: uint16(1578), + 209: uint16(1578), + 210: uint16(1388), + 211: uint16(1388), + 212: uint16(1283), + 213: uint16(1283), + 214: uint16(1391), + 215: uint16(1558), + 216: uint16(1358), + 217: uint16(1358), + 218: uint16(1358), + 219: uint16(1358), + 220: uint16(1367), + 221: uint16(1358), + 222: uint16(1254), + 223: uint16(1254), + 224: uint16(1254), + 225: uint16(1254), + 226: uint16(1254), + 227: uint16(1254), + 228: uint16(1254), + 229: uint16(1254), + 230: uint16(1254), + 231: uint16(1254), + 232: uint16(1254), + 233: uint16(1254), + 234: uint16(1254), + 235: uint16(1254), + 236: uint16(1254), + 237: uint16(1548), + 238: uint16(1546), + 239: uint16(1254), + 240: uint16(1254), + 241: uint16(1254), + 242: uint16(1254), + 243: uint16(1254), + 244: uint16(1254), + 245: uint16(1254), + 246: uint16(1254), + 247: uint16(1254), + 248: uint16(1254), + 249: uint16(1254), + 250: uint16(1254), + 251: uint16(1254), + 252: uint16(1254), + 253: uint16(1254), + 254: uint16(1254), + 255: uint16(1254), + 256: uint16(1254), + 257: uint16(1254), + 258: uint16(1254), + 259: uint16(1254), + 260: uint16(1254), + 261: uint16(1254), + 262: uint16(1254), + 263: uint16(1254), + 264: uint16(1254), + 265: uint16(1254), + 266: uint16(1363), + 267: uint16(1254), + 268: uint16(1254), + 269: uint16(1254), + 270: uint16(1254), + 271: uint16(1254), + 272: uint16(1254), + 273: uint16(1254), + 274: uint16(1254), + 275: uint16(1254), + 276: uint16(1254), + 277: uint16(1254), + 278: uint16(1608), + 279: uint16(1254), + 280: uint16(1521), + 281: uint16(1343), + 282: uint16(1363), + 283: uint16(1363), + 284: uint16(1363), + 285: uint16(1363), + 286: uint16(1365), + 287: uint16(1344), + 288: uint16(1342), + 289: uint16(1357), + 290: uint16(1288), + 291: uint16(1261), + 292: uint16(1655), + 293: uint16(1423), + 294: uint16(1412), + 295: uint16(1364), + 296: uint16(1412), + 297: uint16(1652), 298: uint16(1410), - 299: uint16(1410), - 300: uint16(1397), + 299: uint16(1423), + 300: uint16(1423), 301: uint16(1410), - 302: uint16(1351), - 303: uint16(1637), - 304: uint16(1293), - 305: uint16(1615), - 306: uint16(1288), - 307: uint16(1384), - 308: uint16(1384), - 309: uint16(1384), - 310: uint16(1374), - 311: uint16(1374), - 312: uint16(1374), - 313: uint16(1374), - 314: uint16(1378), - 315: uint16(1378), - 316: uint16(1476), - 317: uint16(1351), - 318: uint16(1344), - 319: uint16(1243), - 320: uint16(1640), - 321: uint16(1640), - 322: uint16(1360), - 323: uint16(1360), - 324: uint16(1639), - 325: uint16(1639), - 326: uint16(1360), - 327: uint16(1496), - 328: uint16(1623), - 329: uint16(1419), - 330: uint16(1321), - 331: uint16(1327), - 332: uint16(1327), - 333: uint16(1327), - 334: uint16(1327), - 335: uint16(1360), - 336: uint16(1261), - 337: uint16(1397), - 338: uint16(1623), - 339: uint16(1623), - 340: uint16(1397), - 341: uint16(1419), - 342: uint16(1321), - 343: uint16(1397), - 344: uint16(1321), - 345: uint16(1397), - 346: uint16(1360), - 347: uint16(1261), - 348: uint16(1512), - 349: uint16(1634), - 350: uint16(1360), - 351: uint16(1261), - 352: uint16(1486), - 353: uint16(1360), - 354: uint16(1261), - 355: uint16(1360), - 356: uint16(1261), - 357: uint16(1486), - 358: uint16(1319), - 359: uint16(1319), - 360: uint16(1319), - 361: uint16(1308), - 362: uint16(1243), - 363: uint16(1243), - 364: uint16(1486), - 365: uint16(1319), - 366: uint16(1293), - 367: uint16(1319), - 368: uint16(1308), + 302: uint16(1423), + 303: uint16(1364), + 304: uint16(1652), + 305: uint16(1304), + 306: uint16(1630), + 307: uint16(1299), + 308: uint16(1397), + 309: uint16(1397), + 310: uint16(1397), + 311: uint16(1387), + 312: uint16(1387), + 313: uint16(1387), + 314: uint16(1387), + 315: uint16(1391), + 316: uint16(1391), + 317: uint16(1489), + 318: uint16(1364), + 319: uint16(1357), + 320: uint16(1254), + 321: uint16(1655), + 322: uint16(1655), + 323: uint16(1373), + 324: uint16(1373), + 325: uint16(1654), + 326: uint16(1654), + 327: uint16(1373), + 328: uint16(1509), + 329: uint16(1638), + 330: uint16(1432), + 331: uint16(1332), + 332: uint16(1338), + 333: uint16(1338), + 334: uint16(1338), + 335: uint16(1338), + 336: uint16(1373), + 337: uint16(1272), + 338: uint16(1410), + 339: uint16(1638), + 340: uint16(1638), + 341: uint16(1410), + 342: uint16(1432), + 343: uint16(1332), + 344: uint16(1410), + 345: uint16(1332), + 346: uint16(1410), + 347: uint16(1373), + 348: uint16(1272), + 349: uint16(1525), + 350: uint16(1649), + 351: uint16(1373), + 352: uint16(1272), + 353: uint16(1499), + 354: uint16(1373), + 355: uint16(1272), + 356: uint16(1373), + 357: uint16(1272), + 358: uint16(1499), + 359: uint16(1330), + 360: uint16(1330), + 361: uint16(1330), + 362: uint16(1319), + 363: uint16(1254), + 364: uint16(1254), + 365: uint16(1499), + 366: uint16(1330), + 367: uint16(1304), + 368: uint16(1330), 369: uint16(1319), - 370: uint16(1319), - 371: uint16(1582), - 372: uint16(1243), - 373: uint16(1490), - 374: uint16(1490), - 375: uint16(1486), - 376: uint16(1360), - 377: uint16(1574), - 378: uint16(1574), - 379: uint16(1387), - 380: uint16(1387), - 381: uint16(1392), - 382: uint16(1378), - 383: uint16(1481), - 384: uint16(1360), - 385: uint16(1243), - 386: uint16(1392), - 387: uint16(1390), - 388: uint16(1388), - 389: uint16(1397), - 390: uint16(1311), - 391: uint16(1596), - 392: uint16(1596), - 393: uint16(1592), - 394: uint16(1592), - 395: uint16(1592), - 396: uint16(1645), - 397: uint16(1645), - 398: uint16(1545), - 399: uint16(1608), - 400: uint16(1276), - 401: uint16(1276), - 402: uint16(1276), - 403: uint16(1276), - 404: uint16(1608), - 405: uint16(1295), - 406: uint16(1295), - 407: uint16(1277), - 408: uint16(1277), - 409: uint16(1276), - 410: uint16(1608), - 411: uint16(1243), - 412: uint16(1243), - 413: uint16(1243), - 414: uint16(1243), - 415: uint16(1243), - 416: uint16(1243), - 417: uint16(1603), - 418: uint16(1243), - 419: uint16(1540), - 420: uint16(1497), - 421: uint16(1364), - 422: uint16(1243), - 423: uint16(1243), - 424: uint16(1243), - 425: uint16(1243), - 426: uint16(1243), - 427: uint16(1243), - 428: uint16(1243), - 429: uint16(1243), - 430: uint16(1243), - 431: uint16(1243), - 432: uint16(1243), - 433: uint16(1243), - 434: uint16(1243), - 435: uint16(1243), - 436: uint16(1243), - 437: uint16(1243), - 438: uint16(1551), - 439: uint16(1243), - 440: uint16(1243), - 441: uint16(1243), - 442: uint16(1243), - 443: uint16(1243), - 444: uint16(1243), - 445: uint16(1243), - 446: uint16(1243), - 447: uint16(1243), - 448: uint16(1243), - 449: uint16(1424), - 450: uint16(1243), - 451: uint16(1246), - 452: uint16(1542), - 453: uint16(1243), - 454: uint16(1243), - 455: uint16(1243), - 456: uint16(1243), - 457: uint16(1243), - 458: uint16(1243), - 459: uint16(1243), - 460: uint16(1243), - 461: uint16(1401), - 462: uint16(1402), - 463: uint16(1365), - 464: uint16(1243), - 465: uint16(1243), - 466: uint16(1243), - 467: uint16(1243), - 468: uint16(1243), - 469: uint16(1243), - 470: uint16(1243), - 471: uint16(1416), - 472: uint16(1243), - 473: uint16(1243), - 474: uint16(1243), - 475: uint16(1411), - 476: uint16(1243), - 477: uint16(1243), - 478: uint16(1243), - 479: uint16(1243), - 480: uint16(1243), - 481: uint16(1243), - 482: uint16(1243), - 483: uint16(1243), - 484: uint16(1636), - 485: uint16(1243), - 486: uint16(1243), - 487: uint16(1243), - 488: uint16(1243), - 489: uint16(1243), - 490: uint16(1243), - 491: uint16(1511), - 492: uint16(1510), - 493: uint16(1243), - 494: uint16(1243), - 495: uint16(1362), - 496: uint16(1243), - 497: uint16(1243), - 498: uint16(1243), - 499: uint16(1243), - 500: uint16(1243), - 501: uint16(1243), - 502: uint16(1243), - 503: uint16(1243), - 504: uint16(1243), - 505: uint16(1243), - 506: uint16(1243), - 507: uint16(1243), - 508: uint16(1243), - 509: uint16(1291), - 510: uint16(1243), - 511: uint16(1243), - 512: uint16(1243), - 513: uint16(1243), - 514: uint16(1243), - 515: uint16(1243), - 516: uint16(1243), - 517: uint16(1243), - 518: uint16(1243), - 519: uint16(1243), - 520: uint16(1243), - 521: uint16(1243), - 522: uint16(1243), - 523: uint16(1243), - 524: uint16(1243), - 525: uint16(1243), - 526: uint16(1243), - 527: uint16(1243), - 528: uint16(1243), - 529: uint16(1243), - 530: uint16(1243), - 531: uint16(1243), - 532: uint16(1243), - 533: uint16(1389), - 534: uint16(1243), - 535: uint16(1243), - 536: uint16(1243), - 537: uint16(1243), - 538: uint16(1243), - 539: uint16(1243), - 540: uint16(1243), - 541: uint16(1243), - 542: uint16(1243), - 543: uint16(1243), - 544: uint16(1243), - 545: uint16(1243), - 546: uint16(1243), - 547: uint16(1243), - 548: uint16(1579), - 549: uint16(1379), - 550: uint16(1243), - 551: uint16(1243), - 552: uint16(1243), - 553: uint16(1243), - 554: uint16(1627), - 555: uint16(1243), - 556: uint16(1243), - 557: uint16(1243), - 558: uint16(1243), - 559: uint16(1243), - 560: uint16(1243), - 561: uint16(1243), - 562: uint16(1243), - 563: uint16(1243), - 564: uint16(1243), - 565: uint16(1243), - 566: uint16(1243), - 567: uint16(1243), - 568: uint16(1243), - 569: uint16(1619), - 570: uint16(1335), - 571: uint16(1425), - 572: uint16(1243), - 573: uint16(1428), - 574: uint16(1265), - 575: uint16(1243), - 576: uint16(1255), - 577: uint16(1243), - 578: uint16(1243), + 370: uint16(1330), + 371: uint16(1330), + 372: uint16(1596), + 373: uint16(1254), + 374: uint16(1503), + 375: uint16(1503), + 376: uint16(1499), + 377: uint16(1373), + 378: uint16(1588), + 379: uint16(1588), + 380: uint16(1400), + 381: uint16(1400), + 382: uint16(1405), + 383: uint16(1391), + 384: uint16(1494), + 385: uint16(1373), + 386: uint16(1254), + 387: uint16(1405), + 388: uint16(1403), + 389: uint16(1401), + 390: uint16(1410), + 391: uint16(1322), + 392: uint16(1611), + 393: uint16(1611), + 394: uint16(1607), + 395: uint16(1607), + 396: uint16(1607), + 397: uint16(1660), + 398: uint16(1660), + 399: uint16(1558), + 400: uint16(1623), + 401: uint16(1287), + 402: uint16(1287), + 403: uint16(1287), + 404: uint16(1287), + 405: uint16(1623), + 406: uint16(1306), + 407: uint16(1306), + 408: uint16(1288), + 409: uint16(1288), + 410: uint16(1287), + 411: uint16(1623), + 412: uint16(1254), + 413: uint16(1254), + 414: uint16(1254), + 415: uint16(1254), + 416: uint16(1254), + 417: uint16(1254), + 418: uint16(1618), + 419: uint16(1254), + 420: uint16(1553), + 421: uint16(1510), + 422: uint16(1377), + 423: uint16(1254), + 424: uint16(1254), + 425: uint16(1254), + 426: uint16(1254), + 427: uint16(1254), + 428: uint16(1254), + 429: uint16(1254), + 430: uint16(1254), + 431: uint16(1254), + 432: uint16(1254), + 433: uint16(1254), + 434: uint16(1254), + 435: uint16(1254), + 436: uint16(1254), + 437: uint16(1254), + 438: uint16(1254), + 439: uint16(1564), + 440: uint16(1254), + 441: uint16(1254), + 442: uint16(1254), + 443: uint16(1254), + 444: uint16(1254), + 445: uint16(1254), + 446: uint16(1254), + 447: uint16(1254), + 448: uint16(1254), + 449: uint16(1254), + 450: uint16(1254), + 451: uint16(1437), + 452: uint16(1254), + 453: uint16(1257), + 454: uint16(1555), + 455: uint16(1254), + 456: uint16(1254), + 457: uint16(1254), + 458: uint16(1254), + 459: uint16(1254), + 460: uint16(1254), + 461: uint16(1254), + 462: uint16(1254), + 463: uint16(1414), + 464: uint16(1415), + 465: uint16(1378), + 466: uint16(1254), + 467: uint16(1254), + 468: uint16(1254), + 469: uint16(1254), + 470: uint16(1254), + 471: uint16(1254), + 472: uint16(1254), + 473: uint16(1429), + 474: uint16(1254), + 475: uint16(1254), + 476: uint16(1254), + 477: uint16(1424), + 478: uint16(1254), + 479: uint16(1254), + 480: uint16(1254), + 481: uint16(1254), + 482: uint16(1254), + 483: uint16(1254), + 484: uint16(1254), + 485: uint16(1254), + 486: uint16(1651), + 487: uint16(1254), + 488: uint16(1254), + 489: uint16(1254), + 490: uint16(1254), + 491: uint16(1254), + 492: uint16(1254), + 493: uint16(1524), + 494: uint16(1523), + 495: uint16(1254), + 496: uint16(1254), + 497: uint16(1375), + 498: uint16(1254), + 499: uint16(1254), + 500: uint16(1254), + 501: uint16(1254), + 502: uint16(1254), + 503: uint16(1254), + 504: uint16(1254), + 505: uint16(1254), + 506: uint16(1254), + 507: uint16(1254), + 508: uint16(1254), + 509: uint16(1254), + 510: uint16(1254), + 511: uint16(1302), + 512: uint16(1254), + 513: uint16(1254), + 514: uint16(1254), + 515: uint16(1254), + 516: uint16(1254), + 517: uint16(1254), + 518: uint16(1254), + 519: uint16(1254), + 520: uint16(1254), + 521: uint16(1254), + 522: uint16(1254), + 523: uint16(1254), + 524: uint16(1254), + 525: uint16(1254), + 526: uint16(1254), + 527: uint16(1254), + 528: uint16(1254), + 529: uint16(1254), + 530: uint16(1254), + 531: uint16(1254), + 532: uint16(1254), + 533: uint16(1254), + 534: uint16(1254), + 535: uint16(1402), + 536: uint16(1254), + 537: uint16(1254), + 538: uint16(1254), + 539: uint16(1254), + 540: uint16(1254), + 541: uint16(1254), + 542: uint16(1254), + 543: uint16(1254), + 544: uint16(1254), + 545: uint16(1254), + 546: uint16(1254), + 547: uint16(1254), + 548: uint16(1254), + 549: uint16(1254), + 550: uint16(1593), + 551: uint16(1392), + 552: uint16(1254), + 553: uint16(1254), + 554: uint16(1254), + 555: uint16(1254), + 556: uint16(1642), + 557: uint16(1254), + 558: uint16(1254), + 559: uint16(1254), + 560: uint16(1254), + 561: uint16(1352), + 562: uint16(1254), + 563: uint16(1254), + 564: uint16(1254), + 565: uint16(1254), + 566: uint16(1254), + 567: uint16(1254), + 568: uint16(1254), + 569: uint16(1254), + 570: uint16(1254), + 571: uint16(1254), + 572: uint16(1254), + 573: uint16(1634), + 574: uint16(1346), + 575: uint16(1438), + 576: uint16(1254), + 577: uint16(1441), + 578: uint16(1276), + 579: uint16(1254), + 580: uint16(1266), + 581: uint16(1254), + 582: uint16(1254), } /********** End of lemon-generated parsing tables *****************************/ @@ -157811,7 +159179,7 @@ var _yy_default = [579]uint16{ // ** to revert to identifiers if they keyword does not apply in the context where // ** it appears. // */ -var _yyFallback = [185]uint16{ +var _yyFallback = [186]uint16{ 2: uint16(59), 3: uint16(59), 4: uint16(59), @@ -157924,8 +159292,9 @@ type yyStackEntry = TyyStackEntry type TyyParser1 = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser1 = TyyParser1 @@ -157933,14 +159302,46 @@ type yyParser1 = TyyParser1 type TyyParser = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser = TyyParser /* #include */ +// C documentation +// +// /* +// ** Try to increase the size of the parser stack. Return the number +// ** of errors. Return 0 on success. +// */ +func _yyGrowStack(tls *libc.TLS, p uintptr) (r int32) { + var idx, newSize, oldSize int32 + var pNew uintptr + _, _, _, _ = idx, newSize, oldSize, pNew + oldSize = int32(1) + int32((int64((*TyyParser)(unsafe.Pointer(p)).FyystackEnd)-int64((*TyyParser)(unsafe.Pointer(p)).Fyystack))/24) + newSize = oldSize*int32(2) + int32(100) + idx = int32((int64((*TyyParser)(unsafe.Pointer(p)).Fyytos) - int64((*TyyParser)(unsafe.Pointer(p)).Fyystack)) / 24) + if (*TyyParser)(unsafe.Pointer(p)).Fyystack == p+32 { + pNew = _parserStackRealloc(tls, uintptr(0), uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + libc.X__builtin___memcpy_chk(tls, pNew, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(oldSize)*uint64(24), libc.X__builtin_object_size(tls, pNew, 0)) + } else { + pNew = _parserStackRealloc(tls, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + } + (*TyyParser)(unsafe.Pointer(p)).Fyystack = pNew + (*TyyParser)(unsafe.Pointer(p)).Fyytos = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(idx)*24 + (*TyyParser)(unsafe.Pointer(p)).FyystackEnd = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(newSize-int32(1))*24 + return 0 +} + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -157956,10 +159357,11 @@ func _sqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { _ = yypParser yypParser = yypRawParser (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fstateno = uint16(0) - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fmajor = uint16(0) - (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = yypParser + 16 + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack = yypParser + 32 + (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fstateno = uint16(0) + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fmajor = uint16(0) } // C documentation @@ -157987,103 +159389,105 @@ func _yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor u ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case int32(204): /* select */ + case int32(205): /* select */ + fallthrough + case int32(240): /* selectnowith */ fallthrough - case int32(239): /* selectnowith */ + case int32(241): /* oneselect */ fallthrough - case int32(240): /* oneselect */ + case int32(253): /* values */ fallthrough - case int32(252): /* values */ + case int32(255): /* mvalues */ _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(216): /* term */ + case int32(217): /* term */ fallthrough - case int32(217): /* expr */ + case int32(218): /* expr */ fallthrough - case int32(246): /* where_opt */ + case int32(247): /* where_opt */ fallthrough - case int32(248): /* having_opt */ + case int32(249): /* having_opt */ fallthrough - case int32(267): /* where_opt_ret */ + case int32(269): /* where_opt_ret */ fallthrough - case int32(278): /* case_operand */ + case int32(280): /* case_operand */ fallthrough - case int32(280): /* case_else */ + case int32(282): /* case_else */ fallthrough - case int32(283): /* vinto */ + case int32(285): /* vinto */ fallthrough - case int32(290): /* when_clause */ + case int32(292): /* when_clause */ fallthrough - case int32(295): /* key_opt */ + case int32(297): /* key_opt */ fallthrough - case int32(311): /* filter_clause */ + case int32(314): /* filter_clause */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(221): /* eidlist_opt */ + case int32(222): /* eidlist_opt */ fallthrough - case int32(231): /* sortlist */ + case int32(232): /* sortlist */ fallthrough - case int32(232): /* eidlist */ + case int32(233): /* eidlist */ fallthrough - case int32(244): /* selcollist */ + case int32(245): /* selcollist */ fallthrough - case int32(247): /* groupby_opt */ + case int32(248): /* groupby_opt */ fallthrough - case int32(249): /* orderby_opt */ + case int32(250): /* orderby_opt */ fallthrough - case int32(253): /* nexprlist */ + case int32(254): /* nexprlist */ fallthrough - case int32(254): /* sclp */ + case int32(256): /* sclp */ fallthrough - case int32(261): /* exprlist */ + case int32(263): /* exprlist */ fallthrough - case int32(268): /* setlist */ + case int32(270): /* setlist */ fallthrough - case int32(277): /* paren_exprlist */ + case int32(279): /* paren_exprlist */ fallthrough - case int32(279): /* case_exprlist */ + case int32(281): /* case_exprlist */ fallthrough - case int32(310): /* part_opt */ + case int32(313): /* part_opt */ _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(238): /* fullname */ + case int32(239): /* fullname */ fallthrough - case int32(245): /* from */ + case int32(246): /* from */ fallthrough - case int32(256): /* seltablist */ + case int32(258): /* seltablist */ fallthrough - case int32(257): /* stl_prefix */ + case int32(259): /* stl_prefix */ fallthrough - case int32(262): /* xfullname */ + case int32(264): /* xfullname */ _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(241): /* wqlist */ + case int32(242): /* wqlist */ _sqlite3WithDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(251): /* window_clause */ + case int32(252): /* window_clause */ fallthrough - case int32(306): /* windowdefn_list */ + case int32(309): /* windowdefn_list */ _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(263): /* idlist */ + case int32(265): /* idlist */ fallthrough - case int32(270): /* idlist_opt */ + case int32(272): /* idlist_opt */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(273): /* filter_over */ + case int32(275): /* filter_over */ fallthrough - case int32(307): /* windowdefn */ + case int32(310): /* windowdefn */ fallthrough - case int32(308): /* window */ + case int32(311): /* window */ fallthrough - case int32(309): /* frame_opt */ + case int32(312): /* frame_opt */ fallthrough - case int32(312): /* over_clause */ + case int32(315): /* over_clause */ _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(286): /* trigger_cmd_list */ + case int32(288): /* trigger_cmd_list */ fallthrough - case int32(291): /* trigger_cmd */ + case int32(293): /* trigger_cmd */ _sqlite3DeleteTriggerStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(288): /* trigger_event */ + case int32(290): /* trigger_event */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TTrigEvent)(unsafe.Pointer(yypminor))).Fb) - case int32(314): /* frame_bound */ + case int32(317): /* frame_bound */ fallthrough - case int32(315): /* frame_bound_s */ + case int32(318): /* frame_bound_s */ fallthrough - case int32(316): /* frame_bound_e */ + case int32(319): /* frame_bound_e */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TFrameBound)(unsafe.Pointer(yypminor))).FpExpr) break /********* End destructor definitions *****************************************/ @@ -158117,11 +159521,20 @@ func _yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var pParser, yytos uintptr + _, _ = pParser, yytos pParser = p - for (*TyyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { - _yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling yy_pop_parser_stack() for each + ** element left in the stack */ + yytos = (*TyyParser)(unsafe.Pointer(pParser)).Fyytos + for yytos > (*TyyParser)(unsafe.Pointer(pParser)).Fyystack { + if int32((*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor) >= int32(YY_MIN_DSTRCTR) { + _yy_destructor(tls, pParser, (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor, yytos+8) + } + yytos -= 24 + } + if (*TyyParser)(unsafe.Pointer(pParser)).Fyystack != pParser+32 { + Xsqlite3_free(tls, (*TyyParser)(unsafe.Pointer(pParser)).Fyystack) } } @@ -158202,13 +159615,13 @@ func _yyStackOverflow(tls *libc.TLS, yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*TyyParser)(unsafe.Pointer(yypParser)).FpParse - for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { + for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack { _yy_pop_parser_stack(tls, yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23731, 0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) /******** End %stack_overflow code ********************************************/ /* Suppress warning about unused %extra_argument var */ (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -158227,15 +159640,18 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint var yytos uintptr _ = yytos (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 - if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 - _yyStackOverflow(tls, yypParser) - return + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + if yytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { + if _yyGrowStack(tls, yypParser) != 0 { + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 + _yyStackOverflow(tls, yypParser) + return + } + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos } if int32(yyNewState) > int32(YY_MAX_SHIFT) { yyNewState = uint16(int32(yyNewState) + (libc.Int32FromInt32(YY_MIN_REDUCE) - libc.Int32FromInt32(YY_MIN_SHIFTREDUCE))) } - yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos (*TyyStackEntry)(unsafe.Pointer(yytos)).Fstateno = yyNewState (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor = yyMajor *(*TToken)(unsafe.Pointer(yytos + 8)) = yyMinor @@ -158245,419 +159661,423 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint // // /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side // ** of that rule */ -var _yyRuleInfoLhs = [405]uint16{ - 0: uint16(189), - 1: uint16(189), - 2: uint16(188), - 3: uint16(190), - 4: uint16(191), - 5: uint16(191), - 6: uint16(191), - 7: uint16(191), - 8: uint16(190), - 9: uint16(190), - 10: uint16(190), - 11: uint16(190), - 12: uint16(190), - 13: uint16(195), - 14: uint16(197), - 15: uint16(199), - 16: uint16(199), - 17: uint16(198), - 18: uint16(198), - 19: uint16(196), - 20: uint16(196), - 21: uint16(203), - 22: uint16(203), - 23: uint16(205), - 24: uint16(205), - 25: uint16(206), - 26: uint16(208), - 27: uint16(208), - 28: uint16(208), - 29: uint16(209), - 30: uint16(213), - 31: uint16(214), - 32: uint16(215), - 33: uint16(215), - 34: uint16(215), - 35: uint16(215), - 36: uint16(215), - 37: uint16(215), - 38: uint16(215), - 39: uint16(215), - 40: uint16(215), - 41: uint16(215), - 42: uint16(215), - 43: uint16(215), - 44: uint16(215), - 45: uint16(224), - 46: uint16(224), - 47: uint16(220), - 48: uint16(220), - 49: uint16(222), - 50: uint16(222), - 51: uint16(225), - 52: uint16(225), - 53: uint16(225), - 54: uint16(225), - 55: uint16(226), - 56: uint16(226), - 57: uint16(226), - 58: uint16(226), - 59: uint16(226), - 60: uint16(223), - 61: uint16(223), - 62: uint16(227), - 63: uint16(227), - 64: uint16(227), - 65: uint16(202), - 66: uint16(229), - 67: uint16(230), - 68: uint16(230), - 69: uint16(230), - 70: uint16(230), - 71: uint16(230), - 72: uint16(233), - 73: uint16(218), - 74: uint16(218), - 75: uint16(234), - 76: uint16(234), - 77: uint16(235), - 78: uint16(235), - 79: uint16(190), - 80: uint16(237), - 81: uint16(237), - 82: uint16(190), - 83: uint16(190), - 84: uint16(190), - 85: uint16(204), - 86: uint16(204), - 87: uint16(204), - 88: uint16(239), - 89: uint16(242), - 90: uint16(242), - 91: uint16(242), - 92: uint16(240), - 93: uint16(240), - 94: uint16(252), - 95: uint16(252), - 96: uint16(243), - 97: uint16(243), - 98: uint16(243), - 99: uint16(254), +var _yyRuleInfoLhs = [409]uint16{ + 0: uint16(190), + 1: uint16(190), + 2: uint16(189), + 3: uint16(191), + 4: uint16(192), + 5: uint16(192), + 6: uint16(192), + 7: uint16(192), + 8: uint16(191), + 9: uint16(191), + 10: uint16(191), + 11: uint16(191), + 12: uint16(191), + 13: uint16(196), + 14: uint16(198), + 15: uint16(200), + 16: uint16(200), + 17: uint16(199), + 18: uint16(199), + 19: uint16(197), + 20: uint16(197), + 21: uint16(204), + 22: uint16(204), + 23: uint16(206), + 24: uint16(206), + 25: uint16(207), + 26: uint16(209), + 27: uint16(209), + 28: uint16(209), + 29: uint16(210), + 30: uint16(214), + 31: uint16(215), + 32: uint16(216), + 33: uint16(216), + 34: uint16(216), + 35: uint16(216), + 36: uint16(216), + 37: uint16(216), + 38: uint16(216), + 39: uint16(216), + 40: uint16(216), + 41: uint16(216), + 42: uint16(216), + 43: uint16(216), + 44: uint16(216), + 45: uint16(225), + 46: uint16(225), + 47: uint16(221), + 48: uint16(221), + 49: uint16(223), + 50: uint16(223), + 51: uint16(226), + 52: uint16(226), + 53: uint16(226), + 54: uint16(226), + 55: uint16(227), + 56: uint16(227), + 57: uint16(227), + 58: uint16(227), + 59: uint16(227), + 60: uint16(224), + 61: uint16(224), + 62: uint16(228), + 63: uint16(228), + 64: uint16(228), + 65: uint16(203), + 66: uint16(230), + 67: uint16(231), + 68: uint16(231), + 69: uint16(231), + 70: uint16(231), + 71: uint16(231), + 72: uint16(234), + 73: uint16(219), + 74: uint16(219), + 75: uint16(235), + 76: uint16(235), + 77: uint16(236), + 78: uint16(236), + 79: uint16(191), + 80: uint16(238), + 81: uint16(238), + 82: uint16(191), + 83: uint16(191), + 84: uint16(191), + 85: uint16(205), + 86: uint16(205), + 87: uint16(205), + 88: uint16(240), + 89: uint16(243), + 90: uint16(243), + 91: uint16(243), + 92: uint16(241), + 93: uint16(241), + 94: uint16(253), + 95: uint16(241), + 96: uint16(255), + 97: uint16(255), + 98: uint16(244), + 99: uint16(244), 100: uint16(244), - 101: uint16(244), - 102: uint16(244), - 103: uint16(255), - 104: uint16(255), - 105: uint16(245), - 106: uint16(245), - 107: uint16(257), - 108: uint16(257), - 109: uint16(256), - 110: uint16(256), - 111: uint16(256), - 112: uint16(256), - 113: uint16(256), - 114: uint16(200), - 115: uint16(200), - 116: uint16(238), - 117: uint16(238), - 118: uint16(262), - 119: uint16(262), - 120: uint16(262), - 121: uint16(262), - 122: uint16(258), - 123: uint16(258), - 124: uint16(258), - 125: uint16(258), - 126: uint16(259), - 127: uint16(259), - 128: uint16(259), - 129: uint16(264), - 130: uint16(260), - 131: uint16(260), - 132: uint16(249), - 133: uint16(249), - 134: uint16(231), - 135: uint16(231), - 136: uint16(219), - 137: uint16(219), - 138: uint16(219), - 139: uint16(265), - 140: uint16(265), - 141: uint16(265), - 142: uint16(247), - 143: uint16(247), + 101: uint16(256), + 102: uint16(245), + 103: uint16(245), + 104: uint16(245), + 105: uint16(257), + 106: uint16(257), + 107: uint16(246), + 108: uint16(246), + 109: uint16(259), + 110: uint16(259), + 111: uint16(258), + 112: uint16(258), + 113: uint16(258), + 114: uint16(258), + 115: uint16(258), + 116: uint16(201), + 117: uint16(201), + 118: uint16(239), + 119: uint16(239), + 120: uint16(264), + 121: uint16(264), + 122: uint16(264), + 123: uint16(264), + 124: uint16(260), + 125: uint16(260), + 126: uint16(260), + 127: uint16(260), + 128: uint16(261), + 129: uint16(261), + 130: uint16(261), + 131: uint16(266), + 132: uint16(262), + 133: uint16(262), + 134: uint16(250), + 135: uint16(250), + 136: uint16(232), + 137: uint16(232), + 138: uint16(220), + 139: uint16(220), + 140: uint16(220), + 141: uint16(267), + 142: uint16(267), + 143: uint16(267), 144: uint16(248), 145: uint16(248), - 146: uint16(250), - 147: uint16(250), - 148: uint16(250), - 149: uint16(250), - 150: uint16(190), - 151: uint16(246), - 152: uint16(246), - 153: uint16(267), - 154: uint16(267), - 155: uint16(267), - 156: uint16(267), - 157: uint16(190), - 158: uint16(268), - 159: uint16(268), - 160: uint16(268), - 161: uint16(268), - 162: uint16(190), - 163: uint16(190), - 164: uint16(271), - 165: uint16(271), - 166: uint16(271), - 167: uint16(271), - 168: uint16(271), - 169: uint16(271), - 170: uint16(272), - 171: uint16(269), - 172: uint16(269), - 173: uint16(270), - 174: uint16(270), - 175: uint16(263), - 176: uint16(263), - 177: uint16(217), - 178: uint16(217), - 179: uint16(217), - 180: uint16(217), - 181: uint16(216), - 182: uint16(216), - 183: uint16(216), + 146: uint16(249), + 147: uint16(249), + 148: uint16(251), + 149: uint16(251), + 150: uint16(251), + 151: uint16(251), + 152: uint16(191), + 153: uint16(247), + 154: uint16(247), + 155: uint16(269), + 156: uint16(269), + 157: uint16(269), + 158: uint16(269), + 159: uint16(191), + 160: uint16(270), + 161: uint16(270), + 162: uint16(270), + 163: uint16(270), + 164: uint16(191), + 165: uint16(191), + 166: uint16(273), + 167: uint16(273), + 168: uint16(273), + 169: uint16(273), + 170: uint16(273), + 171: uint16(273), + 172: uint16(274), + 173: uint16(271), + 174: uint16(271), + 175: uint16(272), + 176: uint16(272), + 177: uint16(265), + 178: uint16(265), + 179: uint16(218), + 180: uint16(218), + 181: uint16(218), + 182: uint16(218), + 183: uint16(217), 184: uint16(217), 185: uint16(217), - 186: uint16(217), - 187: uint16(217), - 188: uint16(217), - 189: uint16(217), - 190: uint16(217), - 191: uint16(217), - 192: uint16(217), - 193: uint16(216), - 194: uint16(217), + 186: uint16(218), + 187: uint16(218), + 188: uint16(218), + 189: uint16(218), + 190: uint16(218), + 191: uint16(218), + 192: uint16(218), + 193: uint16(218), + 194: uint16(218), 195: uint16(217), - 196: uint16(217), - 197: uint16(217), - 198: uint16(217), - 199: uint16(217), - 200: uint16(217), - 201: uint16(217), - 202: uint16(217), - 203: uint16(274), - 204: uint16(217), - 205: uint16(217), - 206: uint16(217), - 207: uint16(217), - 208: uint16(217), - 209: uint16(217), - 210: uint16(217), - 211: uint16(217), - 212: uint16(217), - 213: uint16(217), - 214: uint16(217), - 215: uint16(217), - 216: uint16(275), - 217: uint16(275), - 218: uint16(217), - 219: uint16(276), - 220: uint16(276), - 221: uint16(217), - 222: uint16(217), - 223: uint16(217), - 224: uint16(217), - 225: uint16(217), - 226: uint16(217), - 227: uint16(279), - 228: uint16(279), - 229: uint16(280), - 230: uint16(280), - 231: uint16(278), - 232: uint16(261), - 233: uint16(253), - 234: uint16(253), - 235: uint16(277), - 236: uint16(277), - 237: uint16(190), - 238: uint16(281), - 239: uint16(281), - 240: uint16(221), - 241: uint16(221), - 242: uint16(232), - 243: uint16(232), - 244: uint16(282), - 245: uint16(282), - 246: uint16(190), - 247: uint16(190), - 248: uint16(190), - 249: uint16(283), - 250: uint16(283), - 251: uint16(190), - 252: uint16(190), - 253: uint16(190), - 254: uint16(190), - 255: uint16(190), - 256: uint16(211), - 257: uint16(212), - 258: uint16(190), - 259: uint16(285), - 260: uint16(287), + 196: uint16(218), + 197: uint16(218), + 198: uint16(218), + 199: uint16(218), + 200: uint16(218), + 201: uint16(218), + 202: uint16(218), + 203: uint16(218), + 204: uint16(218), + 205: uint16(276), + 206: uint16(218), + 207: uint16(218), + 208: uint16(218), + 209: uint16(218), + 210: uint16(218), + 211: uint16(218), + 212: uint16(218), + 213: uint16(218), + 214: uint16(218), + 215: uint16(218), + 216: uint16(218), + 217: uint16(218), + 218: uint16(277), + 219: uint16(277), + 220: uint16(218), + 221: uint16(278), + 222: uint16(278), + 223: uint16(218), + 224: uint16(218), + 225: uint16(218), + 226: uint16(218), + 227: uint16(218), + 228: uint16(218), + 229: uint16(281), + 230: uint16(281), + 231: uint16(282), + 232: uint16(282), + 233: uint16(280), + 234: uint16(263), + 235: uint16(254), + 236: uint16(254), + 237: uint16(279), + 238: uint16(279), + 239: uint16(191), + 240: uint16(283), + 241: uint16(283), + 242: uint16(222), + 243: uint16(222), + 244: uint16(233), + 245: uint16(233), + 246: uint16(284), + 247: uint16(284), + 248: uint16(191), + 249: uint16(191), + 250: uint16(191), + 251: uint16(285), + 252: uint16(285), + 253: uint16(191), + 254: uint16(191), + 255: uint16(191), + 256: uint16(191), + 257: uint16(191), + 258: uint16(212), + 259: uint16(213), + 260: uint16(191), 261: uint16(287), - 262: uint16(287), - 263: uint16(288), - 264: uint16(288), - 265: uint16(288), + 262: uint16(289), + 263: uint16(289), + 264: uint16(289), + 265: uint16(290), 266: uint16(290), 267: uint16(290), - 268: uint16(286), - 269: uint16(286), - 270: uint16(292), - 271: uint16(293), - 272: uint16(293), - 273: uint16(291), - 274: uint16(291), - 275: uint16(291), - 276: uint16(291), - 277: uint16(217), - 278: uint16(217), - 279: uint16(236), - 280: uint16(236), - 281: uint16(236), - 282: uint16(190), - 283: uint16(190), - 284: uint16(190), - 285: uint16(295), - 286: uint16(295), - 287: uint16(190), - 288: uint16(190), - 289: uint16(190), - 290: uint16(190), - 291: uint16(190), - 292: uint16(190), - 293: uint16(190), - 294: uint16(296), - 295: uint16(190), - 296: uint16(190), - 297: uint16(190), - 298: uint16(298), - 299: uint16(300), - 300: uint16(301), - 301: uint16(301), - 302: uint16(302), - 303: uint16(266), - 304: uint16(266), - 305: uint16(305), - 306: uint16(305), - 307: uint16(305), - 308: uint16(304), - 309: uint16(241), - 310: uint16(241), - 311: uint16(306), - 312: uint16(307), - 313: uint16(308), - 314: uint16(308), - 315: uint16(308), - 316: uint16(308), - 317: uint16(308), - 318: uint16(309), - 319: uint16(309), - 320: uint16(309), - 321: uint16(313), - 322: uint16(315), - 323: uint16(315), + 268: uint16(292), + 269: uint16(292), + 270: uint16(288), + 271: uint16(288), + 272: uint16(294), + 273: uint16(295), + 274: uint16(295), + 275: uint16(293), + 276: uint16(293), + 277: uint16(293), + 278: uint16(293), + 279: uint16(218), + 280: uint16(218), + 281: uint16(237), + 282: uint16(237), + 283: uint16(237), + 284: uint16(191), + 285: uint16(191), + 286: uint16(191), + 287: uint16(297), + 288: uint16(297), + 289: uint16(191), + 290: uint16(191), + 291: uint16(191), + 292: uint16(191), + 293: uint16(191), + 294: uint16(191), + 295: uint16(191), + 296: uint16(298), + 297: uint16(191), + 298: uint16(191), + 299: uint16(191), + 300: uint16(300), + 301: uint16(302), + 302: uint16(303), + 303: uint16(303), + 304: uint16(304), + 305: uint16(268), + 306: uint16(268), + 307: uint16(307), + 308: uint16(307), + 309: uint16(307), + 310: uint16(306), + 311: uint16(308), + 312: uint16(242), + 313: uint16(242), + 314: uint16(309), + 315: uint16(310), + 316: uint16(311), + 317: uint16(311), + 318: uint16(311), + 319: uint16(311), + 320: uint16(311), + 321: uint16(312), + 322: uint16(312), + 323: uint16(312), 324: uint16(316), - 325: uint16(316), - 326: uint16(314), - 327: uint16(314), - 328: uint16(317), + 325: uint16(318), + 326: uint16(318), + 327: uint16(319), + 328: uint16(319), 329: uint16(317), - 330: uint16(318), - 331: uint16(318), - 332: uint16(318), - 333: uint16(251), - 334: uint16(273), - 335: uint16(273), - 336: uint16(273), - 337: uint16(312), - 338: uint16(312), - 339: uint16(311), - 340: uint16(185), - 341: uint16(186), - 342: uint16(186), - 343: uint16(187), - 344: uint16(187), + 330: uint16(317), + 331: uint16(320), + 332: uint16(320), + 333: uint16(321), + 334: uint16(321), + 335: uint16(321), + 336: uint16(252), + 337: uint16(275), + 338: uint16(275), + 339: uint16(275), + 340: uint16(315), + 341: uint16(315), + 342: uint16(314), + 343: uint16(217), + 344: uint16(186), 345: uint16(187), - 346: uint16(192), - 347: uint16(192), - 348: uint16(192), - 349: uint16(194), - 350: uint16(194), - 351: uint16(190), - 352: uint16(203), - 353: uint16(201), - 354: uint16(201), - 355: uint16(193), - 356: uint16(193), - 357: uint16(208), - 358: uint16(209), - 359: uint16(210), - 360: uint16(210), - 361: uint16(207), - 362: uint16(207), - 363: uint16(215), - 364: uint16(215), - 365: uint16(215), - 366: uint16(202), - 367: uint16(228), - 368: uint16(228), - 369: uint16(229), - 370: uint16(233), - 371: uint16(235), - 372: uint16(239), - 373: uint16(240), - 374: uint16(254), - 375: uint16(255), - 376: uint16(264), - 377: uint16(272), - 378: uint16(217), - 379: uint16(274), - 380: uint16(278), - 381: uint16(261), - 382: uint16(284), - 383: uint16(284), - 384: uint16(284), - 385: uint16(284), - 386: uint16(284), - 387: uint16(211), - 388: uint16(289), - 389: uint16(289), - 390: uint16(292), - 391: uint16(293), - 392: uint16(294), - 393: uint16(294), - 394: uint16(297), - 395: uint16(297), - 396: uint16(299), - 397: uint16(299), - 398: uint16(300), - 399: uint16(303), - 400: uint16(303), - 401: uint16(303), - 402: uint16(266), - 403: uint16(306), - 404: uint16(308), + 346: uint16(187), + 347: uint16(188), + 348: uint16(188), + 349: uint16(188), + 350: uint16(193), + 351: uint16(193), + 352: uint16(193), + 353: uint16(195), + 354: uint16(195), + 355: uint16(191), + 356: uint16(204), + 357: uint16(202), + 358: uint16(202), + 359: uint16(194), + 360: uint16(194), + 361: uint16(209), + 362: uint16(210), + 363: uint16(211), + 364: uint16(211), + 365: uint16(208), + 366: uint16(208), + 367: uint16(216), + 368: uint16(216), + 369: uint16(216), + 370: uint16(203), + 371: uint16(229), + 372: uint16(229), + 373: uint16(230), + 374: uint16(234), + 375: uint16(236), + 376: uint16(240), + 377: uint16(241), + 378: uint16(256), + 379: uint16(257), + 380: uint16(266), + 381: uint16(274), + 382: uint16(218), + 383: uint16(276), + 384: uint16(280), + 385: uint16(263), + 386: uint16(286), + 387: uint16(286), + 388: uint16(286), + 389: uint16(286), + 390: uint16(286), + 391: uint16(212), + 392: uint16(291), + 393: uint16(291), + 394: uint16(294), + 395: uint16(295), + 396: uint16(296), + 397: uint16(296), + 398: uint16(299), + 399: uint16(299), + 400: uint16(301), + 401: uint16(301), + 402: uint16(302), + 403: uint16(305), + 404: uint16(305), + 405: uint16(305), + 406: uint16(268), + 407: uint16(309), + 408: uint16(311), } // C documentation // // /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number // ** of symbols on the right-hand side of that rule. */ -var _yyRuleInfoNRhs = [405]int8{ +var _yyRuleInfoNRhs = [409]int8{ 0: int8(-int32(1)), 1: int8(-int32(3)), 2: int8(-int32(1)), @@ -158738,273 +160158,277 @@ var _yyRuleInfoNRhs = [405]int8{ 92: int8(-int32(9)), 93: int8(-int32(10)), 94: int8(-int32(4)), - 95: int8(-int32(5)), - 96: int8(-int32(1)), - 97: int8(-int32(1)), - 100: int8(-int32(5)), - 101: int8(-int32(3)), + 95: int8(-int32(1)), + 96: int8(-int32(5)), + 97: int8(-int32(5)), + 98: int8(-int32(1)), + 99: int8(-int32(1)), 102: int8(-int32(5)), - 103: int8(-int32(2)), - 106: int8(-int32(2)), - 107: int8(-int32(2)), - 109: int8(-int32(5)), - 110: int8(-int32(6)), - 111: int8(-int32(8)), + 103: int8(-int32(3)), + 104: int8(-int32(5)), + 105: int8(-int32(2)), + 108: int8(-int32(2)), + 109: int8(-int32(2)), + 111: int8(-int32(5)), 112: int8(-int32(6)), - 113: int8(-int32(6)), - 115: int8(-int32(2)), - 116: int8(-int32(1)), - 117: int8(-int32(3)), + 113: int8(-int32(8)), + 114: int8(-int32(6)), + 115: int8(-int32(6)), + 117: int8(-int32(2)), 118: int8(-int32(1)), 119: int8(-int32(3)), - 120: int8(-int32(5)), + 120: int8(-int32(1)), 121: int8(-int32(3)), - 122: int8(-int32(1)), - 123: int8(-int32(2)), - 124: int8(-int32(3)), - 125: int8(-int32(4)), - 126: int8(-int32(2)), + 122: int8(-int32(5)), + 123: int8(-int32(3)), + 124: int8(-int32(1)), + 125: int8(-int32(2)), + 126: int8(-int32(3)), 127: int8(-int32(4)), - 130: int8(-int32(3)), - 131: int8(-int32(2)), - 133: int8(-int32(3)), - 134: int8(-int32(5)), + 128: int8(-int32(2)), + 129: int8(-int32(4)), + 132: int8(-int32(3)), + 133: int8(-int32(2)), 135: int8(-int32(3)), - 136: int8(-int32(1)), - 137: int8(-int32(1)), - 139: int8(-int32(2)), - 140: int8(-int32(2)), - 143: int8(-int32(3)), - 145: int8(-int32(2)), + 136: int8(-int32(5)), + 137: int8(-int32(3)), + 138: int8(-int32(1)), + 139: int8(-int32(1)), + 141: int8(-int32(2)), + 142: int8(-int32(2)), + 145: int8(-int32(3)), 147: int8(-int32(2)), - 148: int8(-int32(4)), - 149: int8(-int32(4)), - 150: int8(-int32(6)), - 152: int8(-int32(2)), + 149: int8(-int32(2)), + 150: int8(-int32(4)), + 151: int8(-int32(4)), + 152: int8(-int32(6)), 154: int8(-int32(2)), - 155: int8(-int32(2)), - 156: int8(-int32(4)), - 157: int8(-int32(9)), - 158: int8(-int32(5)), - 159: int8(-int32(7)), - 160: int8(-int32(3)), - 161: int8(-int32(5)), - 162: int8(-int32(7)), - 163: int8(-int32(8)), - 165: int8(-int32(2)), - 166: int8(-int32(12)), - 167: int8(-int32(9)), - 168: int8(-int32(5)), - 169: int8(-int32(8)), - 170: int8(-int32(2)), - 171: int8(-int32(2)), - 172: int8(-int32(1)), - 174: int8(-int32(3)), - 175: int8(-int32(3)), - 176: int8(-int32(1)), + 156: int8(-int32(2)), + 157: int8(-int32(2)), + 158: int8(-int32(4)), + 159: int8(-int32(9)), + 160: int8(-int32(5)), + 161: int8(-int32(7)), + 162: int8(-int32(3)), + 163: int8(-int32(5)), + 164: int8(-int32(7)), + 165: int8(-int32(8)), + 167: int8(-int32(2)), + 168: int8(-int32(12)), + 169: int8(-int32(9)), + 170: int8(-int32(5)), + 171: int8(-int32(8)), + 172: int8(-int32(2)), + 173: int8(-int32(2)), + 174: int8(-int32(1)), + 176: int8(-int32(3)), 177: int8(-int32(3)), 178: int8(-int32(1)), 179: int8(-int32(3)), - 180: int8(-int32(5)), - 181: int8(-int32(1)), - 182: int8(-int32(1)), + 180: int8(-int32(1)), + 181: int8(-int32(3)), + 182: int8(-int32(5)), 183: int8(-int32(1)), 184: int8(-int32(1)), - 185: int8(-int32(3)), - 186: int8(-int32(6)), - 187: int8(-int32(5)), - 188: int8(-int32(8)), - 189: int8(-int32(4)), - 190: int8(-int32(6)), - 191: int8(-int32(9)), - 192: int8(-int32(5)), - 193: int8(-int32(1)), + 185: int8(-int32(1)), + 186: int8(-int32(1)), + 187: int8(-int32(3)), + 188: int8(-int32(6)), + 189: int8(-int32(5)), + 190: int8(-int32(8)), + 191: int8(-int32(4)), + 192: int8(-int32(6)), + 193: int8(-int32(9)), 194: int8(-int32(5)), - 195: int8(-int32(3)), - 196: int8(-int32(3)), + 195: int8(-int32(1)), + 196: int8(-int32(5)), 197: int8(-int32(3)), 198: int8(-int32(3)), 199: int8(-int32(3)), 200: int8(-int32(3)), 201: int8(-int32(3)), 202: int8(-int32(3)), - 203: int8(-int32(2)), + 203: int8(-int32(3)), 204: int8(-int32(3)), - 205: int8(-int32(5)), - 206: int8(-int32(2)), - 207: int8(-int32(3)), - 208: int8(-int32(3)), - 209: int8(-int32(4)), - 210: int8(-int32(6)), - 211: int8(-int32(5)), - 212: int8(-int32(2)), - 213: int8(-int32(2)), + 205: int8(-int32(2)), + 206: int8(-int32(3)), + 207: int8(-int32(5)), + 208: int8(-int32(2)), + 209: int8(-int32(3)), + 210: int8(-int32(3)), + 211: int8(-int32(4)), + 212: int8(-int32(6)), + 213: int8(-int32(5)), 214: int8(-int32(2)), - 215: int8(-int32(3)), - 216: int8(-int32(1)), - 217: int8(-int32(2)), - 218: int8(-int32(5)), - 219: int8(-int32(1)), - 220: int8(-int32(2)), - 221: int8(-int32(5)), - 222: int8(-int32(3)), + 215: int8(-int32(2)), + 216: int8(-int32(2)), + 217: int8(-int32(3)), + 218: int8(-int32(1)), + 219: int8(-int32(2)), + 220: int8(-int32(5)), + 221: int8(-int32(1)), + 222: int8(-int32(2)), 223: int8(-int32(5)), - 224: int8(-int32(5)), - 225: int8(-int32(4)), + 224: int8(-int32(3)), + 225: int8(-int32(5)), 226: int8(-int32(5)), - 227: int8(-int32(5)), - 228: int8(-int32(4)), - 229: int8(-int32(2)), - 233: int8(-int32(3)), - 234: int8(-int32(1)), - 236: int8(-int32(3)), - 237: int8(-int32(12)), - 238: int8(-int32(1)), - 241: int8(-int32(3)), - 242: int8(-int32(5)), + 227: int8(-int32(4)), + 228: int8(-int32(5)), + 229: int8(-int32(5)), + 230: int8(-int32(4)), + 231: int8(-int32(2)), + 235: int8(-int32(3)), + 236: int8(-int32(1)), + 238: int8(-int32(3)), + 239: int8(-int32(12)), + 240: int8(-int32(1)), 243: int8(-int32(3)), - 245: int8(-int32(2)), - 246: int8(-int32(4)), + 244: int8(-int32(5)), + 245: int8(-int32(3)), 247: int8(-int32(2)), - 248: int8(-int32(3)), + 248: int8(-int32(4)), 249: int8(-int32(2)), - 251: int8(-int32(3)), - 252: int8(-int32(5)), - 253: int8(-int32(6)), + 250: int8(-int32(3)), + 251: int8(-int32(2)), + 253: int8(-int32(3)), 254: int8(-int32(5)), 255: int8(-int32(6)), - 256: int8(-int32(2)), - 257: int8(-int32(2)), - 258: int8(-int32(5)), - 259: int8(-int32(11)), - 260: int8(-int32(1)), - 261: int8(-int32(2)), - 263: int8(-int32(1)), - 264: int8(-int32(1)), - 265: int8(-int32(3)), - 267: int8(-int32(2)), - 268: int8(-int32(3)), + 256: int8(-int32(5)), + 257: int8(-int32(6)), + 258: int8(-int32(2)), + 259: int8(-int32(2)), + 260: int8(-int32(5)), + 261: int8(-int32(11)), + 262: int8(-int32(1)), + 263: int8(-int32(2)), + 265: int8(-int32(1)), + 266: int8(-int32(1)), + 267: int8(-int32(3)), 269: int8(-int32(2)), 270: int8(-int32(3)), - 271: int8(-int32(3)), - 272: int8(-int32(2)), - 273: int8(-int32(9)), - 274: int8(-int32(8)), - 275: int8(-int32(6)), - 276: int8(-int32(3)), - 277: int8(-int32(4)), - 278: int8(-int32(6)), - 279: int8(-int32(1)), - 280: int8(-int32(1)), + 271: int8(-int32(2)), + 272: int8(-int32(3)), + 273: int8(-int32(3)), + 274: int8(-int32(2)), + 275: int8(-int32(9)), + 276: int8(-int32(8)), + 277: int8(-int32(6)), + 278: int8(-int32(3)), + 279: int8(-int32(4)), + 280: int8(-int32(6)), 281: int8(-int32(1)), - 282: int8(-int32(4)), - 283: int8(-int32(6)), - 284: int8(-int32(3)), - 286: int8(-int32(2)), - 287: int8(-int32(1)), - 288: int8(-int32(3)), + 282: int8(-int32(1)), + 283: int8(-int32(1)), + 284: int8(-int32(4)), + 285: int8(-int32(6)), + 286: int8(-int32(3)), + 288: int8(-int32(2)), 289: int8(-int32(1)), 290: int8(-int32(3)), - 291: int8(-int32(6)), - 292: int8(-int32(7)), + 291: int8(-int32(1)), + 292: int8(-int32(3)), 293: int8(-int32(6)), - 294: int8(-int32(1)), - 295: int8(-int32(8)), + 294: int8(-int32(7)), + 295: int8(-int32(6)), 296: int8(-int32(1)), - 297: int8(-int32(4)), - 298: int8(-int32(8)), - 300: int8(-int32(1)), - 301: int8(-int32(3)), + 297: int8(-int32(8)), + 298: int8(-int32(1)), + 299: int8(-int32(4)), + 300: int8(-int32(8)), 302: int8(-int32(1)), - 303: int8(-int32(2)), - 304: int8(-int32(3)), - 305: int8(-int32(1)), - 306: int8(-int32(2)), - 307: int8(-int32(3)), - 308: int8(-int32(6)), - 309: int8(-int32(1)), - 310: int8(-int32(3)), - 311: int8(-int32(3)), - 312: int8(-int32(5)), - 313: int8(-int32(5)), - 314: int8(-int32(6)), - 315: int8(-int32(4)), + 303: int8(-int32(3)), + 304: int8(-int32(1)), + 305: int8(-int32(2)), + 306: int8(-int32(3)), + 307: int8(-int32(1)), + 308: int8(-int32(2)), + 309: int8(-int32(3)), + 310: int8(-int32(6)), + 311: int8(-int32(1)), + 312: int8(-int32(1)), + 313: int8(-int32(3)), + 314: int8(-int32(3)), + 315: int8(-int32(5)), 316: int8(-int32(5)), - 317: int8(-int32(2)), - 319: int8(-int32(3)), - 320: int8(-int32(6)), - 321: int8(-int32(1)), - 322: int8(-int32(1)), - 323: int8(-int32(2)), + 317: int8(-int32(6)), + 318: int8(-int32(4)), + 319: int8(-int32(5)), + 320: int8(-int32(2)), + 322: int8(-int32(3)), + 323: int8(-int32(6)), 324: int8(-int32(1)), - 325: int8(-int32(2)), + 325: int8(-int32(1)), 326: int8(-int32(2)), - 327: int8(-int32(2)), + 327: int8(-int32(1)), + 328: int8(-int32(2)), 329: int8(-int32(2)), 330: int8(-int32(2)), - 331: int8(-int32(2)), - 332: int8(-int32(1)), + 332: int8(-int32(2)), 333: int8(-int32(2)), 334: int8(-int32(2)), 335: int8(-int32(1)), - 336: int8(-int32(1)), - 337: int8(-int32(4)), - 338: int8(-int32(2)), - 339: int8(-int32(5)), - 340: int8(-int32(1)), + 336: int8(-int32(2)), + 337: int8(-int32(2)), + 338: int8(-int32(1)), + 339: int8(-int32(1)), + 340: int8(-int32(4)), 341: int8(-int32(2)), - 342: int8(-int32(1)), + 342: int8(-int32(5)), 343: int8(-int32(1)), - 344: int8(-int32(2)), - 345: int8(-int32(3)), + 344: int8(-int32(1)), + 345: int8(-int32(2)), + 346: int8(-int32(1)), 347: int8(-int32(1)), 348: int8(-int32(2)), - 349: int8(-int32(1)), - 351: int8(-int32(2)), - 352: int8(-int32(1)), - 353: int8(-int32(4)), - 354: int8(-int32(2)), - 355: int8(-int32(1)), + 349: int8(-int32(3)), + 351: int8(-int32(1)), + 352: int8(-int32(2)), + 353: int8(-int32(1)), + 355: int8(-int32(2)), 356: int8(-int32(1)), - 357: int8(-int32(1)), - 358: int8(-int32(1)), + 357: int8(-int32(4)), + 358: int8(-int32(2)), 359: int8(-int32(1)), 360: int8(-int32(1)), - 361: int8(-int32(2)), - 363: int8(-int32(2)), - 364: int8(-int32(4)), + 361: int8(-int32(1)), + 362: int8(-int32(1)), + 363: int8(-int32(1)), + 364: int8(-int32(1)), 365: int8(-int32(2)), - 366: int8(-int32(2)), - 367: int8(-int32(3)), - 368: int8(-int32(1)), - 370: int8(-int32(1)), - 371: int8(-int32(1)), + 367: int8(-int32(2)), + 368: int8(-int32(4)), + 369: int8(-int32(2)), + 370: int8(-int32(2)), + 371: int8(-int32(3)), 372: int8(-int32(1)), - 373: int8(-int32(1)), - 374: int8(-int32(2)), + 374: int8(-int32(1)), 375: int8(-int32(1)), 376: int8(-int32(1)), - 378: int8(-int32(1)), + 377: int8(-int32(1)), + 378: int8(-int32(2)), 379: int8(-int32(1)), 380: int8(-int32(1)), - 381: int8(-int32(1)), 382: int8(-int32(1)), 383: int8(-int32(1)), 384: int8(-int32(1)), 385: int8(-int32(1)), 386: int8(-int32(1)), 387: int8(-int32(1)), - 389: int8(-int32(3)), + 388: int8(-int32(1)), + 389: int8(-int32(1)), 390: int8(-int32(1)), - 392: int8(-int32(1)), - 395: int8(-int32(1)), + 391: int8(-int32(1)), + 393: int8(-int32(3)), + 394: int8(-int32(1)), 396: int8(-int32(1)), - 397: int8(-int32(3)), - 398: int8(-int32(2)), - 400: int8(-int32(4)), - 401: int8(-int32(2)), - 403: int8(-int32(1)), - 404: int8(-int32(1)), + 399: int8(-int32(1)), + 400: int8(-int32(1)), + 401: int8(-int32(3)), + 402: int8(-int32(2)), + 404: int8(-int32(4)), + 405: int8(-int32(2)), + 407: int8(-int32(1)), + 408: int8(-int32(1)), } // C documentation @@ -159022,18 +160446,19 @@ var _yyRuleInfoNRhs = [405]int8{ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken TToken, pParse uintptr) (r uint16) { bp := tls.Alloc(144) defer tls.Free(144) - var bNot, bNot1, nExpr, yygoto, yysize, v344 int32 + var bNot, bNot1, nExpr, yygoto, yysize int32 var n Tu32 - var p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v343, v345, v346, v347, v348 uintptr + var op Tu8 + var p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v347, v348, v349, v350, v351 uintptr var yyact uint16 - var v349 TToken + var v352 TToken var _ /* all at bp+104 */ TToken var _ /* as at bp+72 */ TToken var _ /* dest at bp+16 */ TSelectDest var _ /* t at bp+88 */ TToken var _ /* x at bp+56 */ TToken var _ /* yylhsminor at bp+0 */ TYYMINORTYPE - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v343, v344, v345, v346, v347, v348, v349 /* Amount to pop the stack */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, op, p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v347, v348, v349, v350, v351, v352 /* Amount to pop the stack */ _ = yyLookahead _ = yyLookaheadToken yymsp = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos @@ -159054,7 +160479,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _7 case uint32(7): goto _8 - case uint32(321): + case uint32(324): goto _9 case uint32(9): goto _10 @@ -159082,9 +160507,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _21 case uint32(81): goto _22 - case uint32(98): + case uint32(100): goto _23 - case uint32(244): + case uint32(246): goto _24 case uint32(16): goto _25 @@ -159108,7 +160533,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _34 case uint32(26): goto _35 - case uint32(104): + case uint32(106): goto _36 case uint32(27): goto _37 @@ -159182,17 +160607,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _71 case uint32(61): goto _72 - case uint32(171): + case uint32(173): goto _73 case uint32(80): goto _74 case uint32(63): goto _75 - case uint32(217): + case uint32(219): goto _76 - case uint32(220): + case uint32(222): goto _77 - case uint32(245): + case uint32(247): goto _78 case uint32(64): goto _79 @@ -159214,7 +160639,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _87 case uint32(77): goto _88 - case uint32(172): + case uint32(174): goto _89 case uint32(78): goto _90 @@ -159248,47 +160673,47 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _104 case uint32(95): goto _105 - case uint32(96): - goto _106 case uint32(97): + goto _106 + case uint32(96): goto _107 - case uint32(132): + case uint32(98): goto _108 case uint32(99): goto _109 - case uint32(142): + case uint32(134): goto _110 - case uint32(232): + case uint32(101): goto _111 - case uint32(235): + case uint32(144): goto _112 - case uint32(240): + case uint32(234): goto _113 - case uint32(100): + case uint32(237): goto _114 - case uint32(101): + case uint32(242): goto _115 case uint32(102): goto _116 - case uint32(115): - goto _117 case uint32(103): + goto _117 + case uint32(104): goto _118 - case uint32(256): + case uint32(117): goto _119 - case uint32(257): + case uint32(105): goto _120 - case uint32(108): + case uint32(258): goto _121 - case uint32(105): + case uint32(259): goto _122 - case uint32(106): + case uint32(110): goto _123 case uint32(107): goto _124 - case uint32(109): + case uint32(108): goto _125 - case uint32(110): + case uint32(109): goto _126 case uint32(111): goto _127 @@ -159296,13 +160721,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _128 case uint32(113): goto _129 - case uint32(129): - goto _130 case uint32(114): + goto _130 + case uint32(115): goto _131 - case uint32(116): + case uint32(131): goto _132 - case uint32(117): + case uint32(116): goto _133 case uint32(118): goto _134 @@ -159326,15 +160751,15 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _143 case uint32(128): goto _144 - case uint32(130): + case uint32(129): goto _145 - case uint32(131): + case uint32(130): goto _146 - case uint32(143): + case uint32(132): goto _147 case uint32(133): goto _148 - case uint32(134): + case uint32(145): goto _149 case uint32(135): goto _150 @@ -159342,49 +160767,49 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _151 case uint32(137): goto _152 - case uint32(141): - goto _153 case uint32(138): - goto _154 + goto _153 case uint32(139): + goto _154 + case uint32(143): goto _155 case uint32(140): goto _156 - case uint32(146): + case uint32(141): goto _157 - case uint32(144): + case uint32(142): goto _158 - case uint32(151): + case uint32(148): goto _159 - case uint32(153): + case uint32(146): goto _160 - case uint32(230): + case uint32(153): goto _161 - case uint32(231): + case uint32(155): goto _162 - case uint32(250): + case uint32(232): goto _163 - case uint32(152): + case uint32(233): goto _164 - case uint32(145): + case uint32(252): goto _165 case uint32(154): goto _166 - case uint32(229): + case uint32(147): goto _167 - case uint32(249): + case uint32(156): goto _168 - case uint32(147): + case uint32(231): goto _169 - case uint32(148): + case uint32(251): goto _170 case uint32(149): goto _171 case uint32(150): goto _172 - case uint32(155): + case uint32(151): goto _173 - case uint32(156): + case uint32(152): goto _174 case uint32(157): goto _175 @@ -159414,9 +160839,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _187 case uint32(170): goto _188 - case uint32(173): + case uint32(171): goto _189 - case uint32(174): + case uint32(172): goto _190 case uint32(175): goto _191 @@ -159430,13 +160855,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _195 case uint32(180): goto _196 - case uint32(182): - goto _197 case uint32(181): + goto _197 + case uint32(182): goto _198 - case uint32(183): - goto _199 case uint32(184): + goto _199 + case uint32(183): goto _200 case uint32(185): goto _201 @@ -159460,13 +160885,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _210 case uint32(195): goto _211 - case uint32(197): - goto _212 case uint32(196): + goto _212 + case uint32(197): goto _213 - case uint32(198): - goto _214 case uint32(199): + goto _214 + case uint32(198): goto _215 case uint32(200): goto _216 @@ -159492,23 +160917,23 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _226 case uint32(211): goto _227 - case uint32(213): - goto _228 case uint32(212): + goto _228 + case uint32(213): goto _229 - case uint32(214): - goto _230 case uint32(215): + goto _230 + case uint32(214): goto _231 - case uint32(219): - goto _232 case uint32(216): + goto _232 + case uint32(217): goto _233 - case uint32(218): - goto _234 case uint32(221): + goto _234 + case uint32(218): goto _235 - case uint32(222): + case uint32(220): goto _236 case uint32(223): goto _237 @@ -159522,35 +160947,35 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _241 case uint32(228): goto _242 - case uint32(233): + case uint32(229): goto _243 - case uint32(234): + case uint32(230): goto _244 - case uint32(241): + case uint32(235): goto _245 case uint32(236): goto _246 - case uint32(237): + case uint32(243): goto _247 - case uint32(280): - goto _248 case uint32(238): - goto _249 + goto _248 case uint32(239): + goto _249 + case uint32(282): goto _250 - case uint32(242): + case uint32(240): goto _251 - case uint32(243): + case uint32(241): goto _252 - case uint32(246): + case uint32(244): goto _253 - case uint32(247): + case uint32(245): goto _254 case uint32(248): goto _255 - case uint32(251): + case uint32(249): goto _256 - case uint32(252): + case uint32(250): goto _257 case uint32(253): goto _258 @@ -159558,9 +160983,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _259 case uint32(255): goto _260 - case uint32(258): + case uint32(256): goto _261 - case uint32(259): + case uint32(257): goto _262 case uint32(260): goto _263 @@ -159568,21 +160993,21 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _264 case uint32(262): goto _265 - case uint32(264): - goto _266 case uint32(263): + goto _266 + case uint32(264): goto _267 - case uint32(265): + case uint32(266): goto _268 - case uint32(285): + case uint32(265): goto _269 - case uint32(266): + case uint32(267): goto _270 - case uint32(286): + case uint32(287): goto _271 - case uint32(267): - goto _272 case uint32(268): + goto _272 + case uint32(288): goto _273 case uint32(269): goto _274 @@ -159606,17 +161031,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _283 case uint32(279): goto _284 - case uint32(281): + case uint32(280): goto _285 - case uint32(282): + case uint32(281): goto _286 case uint32(283): goto _287 case uint32(284): goto _288 - case uint32(287): + case uint32(285): goto _289 - case uint32(288): + case uint32(286): goto _290 case uint32(289): goto _291 @@ -159640,19 +161065,19 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _300 case uint32(299): goto _301 - case uint32(301): - goto _302 case uint32(300): + goto _302 + case uint32(301): goto _303 - case uint32(302): + case uint32(303): goto _304 - case uint32(304): + case uint32(302): goto _305 - case uint32(303): + case uint32(304): goto _306 - case uint32(305): - goto _307 case uint32(306): + goto _307 + case uint32(305): goto _308 case uint32(307): goto _309 @@ -159682,31 +161107,31 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _321 case uint32(320): goto _322 - case uint32(324): + case uint32(321): goto _323 case uint32(322): goto _324 - case uint32(325): - goto _325 case uint32(323): - goto _326 + goto _325 case uint32(327): + goto _326 + case uint32(325): goto _327 - case uint32(326): - goto _328 case uint32(328): + goto _328 + case uint32(326): goto _329 - case uint32(329): + case uint32(330): goto _330 - case uint32(331): + case uint32(329): goto _331 - case uint32(330): + case uint32(331): goto _332 case uint32(332): goto _333 - case uint32(333): - goto _334 case uint32(334): + goto _334 + case uint32(333): goto _335 case uint32(335): goto _336 @@ -159718,34 +161143,42 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _339 case uint32(339): goto _340 - default: + case uint32(340): goto _341 + case uint32(341): + goto _342 + case uint32(342): + goto _343 + case uint32(343): + goto _344 + default: + goto _345 } - goto _342 + goto _346 _1: ; /* explain ::= EXPLAIN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(1) } - goto _342 + goto _346 _2: ; /* explain ::= EXPLAIN QUERY PLAN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(2) } - goto _342 + goto _346 _3: ; /* cmdx ::= cmd */ _sqlite3FinishCoding(tls, pParse) - goto _342 + goto _346 _4: ; /* cmd ::= BEGIN transtype trans_opt */ _sqlite3BeginTransaction(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _5: ; /* transtype ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_DEFERRED) - goto _342 + goto _346 _7: ; /* transtype ::= DEFERRED */ _6: @@ -159755,33 +161188,33 @@ _8: _9: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 + goto _346 _11: ; /* cmd ::= COMMIT|END trans_opt */ _10: ; _sqlite3EndTransaction(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor)) - goto _342 + goto _346 _12: ; /* cmd ::= SAVEPOINT nm */ _sqlite3Savepoint(tls, pParse, SAVEPOINT_BEGIN, yymsp+8) - goto _342 + goto _346 _13: ; /* cmd ::= RELEASE savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_RELEASE), yymsp+8) - goto _342 + goto _346 _14: ; /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_ROLLBACK), yymsp+8) - goto _342 + goto _346 _15: ; /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ _sqlite3StartTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), 0, 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _16: ; /* createkw ::= CREATE */ _disableLookaside(tls, pParse) - goto _342 + goto _346 _18: ; /* ifnotexists ::= */ _17: @@ -159799,56 +161232,56 @@ _23: _24: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = 0 - goto _342 + goto _346 _25: ; /* ifnotexists ::= IF NOT EXISTS */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(1) - goto _342 + goto _346 _26: ; /* temp ::= TEMP */ *(*int32)(unsafe.Pointer(yymsp + 8)) = libc.BoolInt32(int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0) - goto _342 + goto _346 _27: ; /* create_table_args ::= LP columnlist conslist_opt RP table_option_set */ _sqlite3EndTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*Tu32)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 + goto _346 _28: ; /* create_table_args ::= AS select */ _sqlite3EndTable(tls, pParse, uintptr(0), uintptr(0), uint32(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _29: ; /* table_option_set ::= */ *(*Tu32)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint32(0) - goto _342 + goto _346 _30: ; /* table_option_set ::= table_option_set COMMA table_option */ *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) | *(*Tu32)(unsafe.Pointer(yymsp + 8)) *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _31: ; /* table_option ::= WITHOUT nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+17045, int32(5)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+17132, int32(5)) == 0 { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) } else { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23753, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23876, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } - goto _342 + goto _346 _32: ; /* table_option ::= nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16958, int32(6)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+17045, int32(6)) == 0 { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(TF_Strict) } else { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23753, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23876, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } *(*Tu32)(unsafe.Pointer(yymsp + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _33: ; /* columnname ::= nm typetoken */ _sqlite3AddColumn(tls, pParse, *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*TToken)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _35: ; /* typetoken ::= */ _34: @@ -159857,50 +161290,50 @@ _36: ; *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 + goto _346 _37: ; /* typetoken ::= typename LP signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) - goto _342 + goto _346 _38: ; /* typetoken ::= typename LP signed COMMA signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))))) - goto _342 + goto _346 _39: ; /* typename ::= typename ID|STRING */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) + uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) - goto _342 + goto _346 _40: ; /* scanpt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken.Fz - goto _342 + goto _346 _41: ; /* scantok ::= */ *(*TToken)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken - goto _342 + goto _346 _43: ; /* ccons ::= CONSTRAINT nm */ _42: ; (*TParse)(unsafe.Pointer(pParse)).FconstraintName = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _44: ; /* ccons ::= DEFAULT scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _45: ; /* ccons ::= DEFAULT LP expr RP */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))+uintptr(1), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _46: ; /* ccons ::= DEFAULT PLUS scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _47: ; /* ccons ::= DEFAULT MINUS scantok term */ p = _sqlite3PExpr(tls, pParse, int32(TK_UMINUS), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) _sqlite3AddDefaultValue(tls, pParse, p, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _48: ; /* ccons ::= DEFAULT scantok ID|INDEXED */ p1 = _tokenExpr(tls, pParse, int32(TK_STRING), *(*TToken)(unsafe.Pointer(yymsp + 8))) @@ -159908,99 +161341,99 @@ _48: _sqlite3ExprIdToTrueFalse(tls, p1) } _sqlite3AddDefaultValue(tls, pParse, p1, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - goto _342 + goto _346 _49: ; /* ccons ::= NOT NULL onconf */ _sqlite3AddNotNull(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _50: ; /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ _sqlite3AddPrimaryKey(tls, pParse, uintptr(0), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _51: ; /* ccons ::= UNIQUE onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _52: ; /* ccons ::= CHECK LP expr RP */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _53: ; /* ccons ::= REFERENCES nm eidlist_opt refargs */ _sqlite3CreateForeignKey(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _54: ; /* ccons ::= defer_subclause */ _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _55: ; /* ccons ::= COLLATE ID|STRING */ _sqlite3AddCollateType(tls, pParse, yymsp+8) - goto _342 + goto _346 _56: ; /* generated ::= LP expr RP */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 + goto _346 _57: ; /* generated ::= LP expr RP ID */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 + goto _346 _58: ; /* autoinc ::= AUTOINCR */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(1) - goto _342 + goto _346 _59: ; /* refargs ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = libc.Int32FromInt32(OE_None) * libc.Int32FromInt32(0x0101) /* EV: R-19803-45884 */ - goto _342 + goto _346 _60: ; /* refargs ::= refargs refarg */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) & ^*(*int32)(unsafe.Pointer(yymsp + 8 + 4)) | *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _61: ; /* refarg ::= MATCH nm */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _62: ; /* refarg ::= ON INSERT refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _63: ; /* refarg ::= ON DELETE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x0000ff) - goto _342 + goto _346 _64: ; /* refarg ::= ON UPDATE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) << int32(8) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x00ff00) - goto _342 + goto _346 _65: ; /* refact ::= SET NULL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetNull) /* EV: R-33326-45252 */ - goto _342 + goto _346 _66: ; /* refact ::= SET DEFAULT */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetDflt) /* EV: R-33326-45252 */ - goto _342 + goto _346 _67: ; /* refact ::= CASCADE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Cascade) /* EV: R-33326-45252 */ - goto _342 + goto _346 _68: ; /* refact ::= RESTRICT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Restrict) /* EV: R-33326-45252 */ - goto _342 + goto _346 _69: ; /* refact ::= NO ACTION */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = OE_None /* EV: R-33326-45252 */ - goto _342 + goto _346 _70: ; /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 - goto _342 + goto _346 _72: ; /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ _71: @@ -160008,7 +161441,7 @@ _71: _73: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _75: ; /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ _74: @@ -160020,64 +161453,64 @@ _77: _78: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(1) - goto _342 + goto _346 _79: ; /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 - goto _342 + goto _346 _80: ; /* tconscomma ::= COMMA */ (*TParse)(unsafe.Pointer(pParse)).FconstraintName.Fn = uint32(0) - goto _342 + goto _346 _81: ; /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ _sqlite3AddPrimaryKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), 0) - goto _342 + goto _346 _82: ; /* tcons ::= UNIQUE LP sortlist RP onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _83: ; /* tcons ::= CHECK LP expr RP onconf */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _84: ; /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ _sqlite3CreateForeignKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _86: ; /* onconf ::= */ _85: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(OE_Default) - goto _342 + goto _346 _87: ; /* onconf ::= ON CONFLICT resolvetype */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _88: ; /* resolvetype ::= IGNORE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Ignore) - goto _342 + goto _346 _90: ; /* resolvetype ::= REPLACE */ _89: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Replace) - goto _342 + goto _346 _91: ; /* cmd ::= DROP TABLE ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _92: ; /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ _sqlite3CreateView(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) - goto _342 + goto _346 _93: ; /* cmd ::= DROP VIEW ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), int32(1), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _94: ; /* cmd ::= select */ *(*TSelectDest)(unsafe.Pointer(bp + 16)) = TSelectDest{ @@ -160085,22 +161518,22 @@ _94: } _sqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), bp+16) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _95: ; /* select ::= WITH wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _96: ; /* select ::= WITH RECURSIVE wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _97: ; /* select ::= selectnowith */ p2 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) if p2 != 0 { _parserDoubleLinkSelect(tls, pParse, p2) } - goto _342 + goto _346 _98: ; /* selectnowith ::= selectnowith multiselect_op oneselect */ pRhs = *(*uintptr)(unsafe.Pointer(yymsp + 8)) @@ -160125,21 +161558,21 @@ _98: _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pLhs) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = pRhs - goto _342 + goto _346 _100: ; /* multiselect_op ::= UNION */ _99: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-OP*/ - goto _342 + goto _346 _101: ; /* multiselect_op ::= UNION ALL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_ALL) - goto _342 + goto _346 _102: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _103: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(9))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -160148,116 +161581,111 @@ _103: } else { _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) } - goto _342 + goto _346 _104: ; /* values ::= VALUES LP nexprlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) - goto _342 + goto _346 _105: - ; /* values ::= values COMMA LP nexprlist RP */ - pLeft = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) - pRight = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(libc.Int32FromInt32(SF_Values)|libc.Int32FromInt32(SF_MultiValue)), uintptr(0)) - if pLeft != 0 { - *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) - } - if pRight != 0 { - (*TSelect)(unsafe.Pointer(pRight)).Fop = uint8(TK_ALL) - (*TSelect)(unsafe.Pointer(pRight)).FpPrior = pLeft - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pRight - } else { - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pLeft - } - goto _342 + ; /* oneselect ::= mvalues */ + _sqlite3MultiValuesEnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_107: + ; /* mvalues ::= values COMMA LP nexprlist RP */ _106: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3MultiValues(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_108: ; /* distinct ::= DISTINCT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_Distinct) - goto _342 -_107: + goto _346 +_109: ; /* distinct ::= ALL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_All) - goto _342 -_109: + goto _346 +_111: ; /* sclp ::= */ -_108: - ; _110: ; -_111: - ; _112: ; _113: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 _114: + ; +_115: + ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 +_116: ; /* selcollist ::= sclp scanpt expr scanpt as */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) > uint32(0) { _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+8, int32(1)) } _sqlite3ExprListSetSpan(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_115: + goto _346 +_117: ; /* selcollist ::= sclp scanpt STAR */ p3 = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_ASTERISK), uintptr(0)) _sqlite3ExprSetErrorOffset(tls, p3, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), p3) - goto _342 -_116: + goto _346 +_118: ; /* selcollist ::= sclp scanpt nm DOT STAR */ - pRight1 = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) - _sqlite3ExprSetErrorOffset(tls, pRight1, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) - pLeft1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft1, pRight1) + pRight = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) + _sqlite3ExprSetErrorOffset(tls, pRight, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) + pLeft = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) + pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft, pRight) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pDot) - goto _342 -_118: + goto _346 +_120: ; /* as ::= AS nm */ -_117: - ; _119: ; -_120: +_121: ; - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 _122: + ; + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) + goto _346 +_124: ; /* from ::= */ -_121: +_123: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_123: + goto _346 +_125: ; /* from ::= FROM seltablist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) _sqlite3SrcListShiftJoinType(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_124: + goto _346 +_126: ; /* stl_prefix ::= seltablist joinop */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 && (*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc > 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8 + uintptr((*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc-int32(1))*104))).Ffg.Fjointype = uint8(*(*int32)(unsafe.Pointer(yymsp + 8))) } - goto _342 -_125: + goto _346 +_127: ; /* seltablist ::= stl_prefix nm dbnm as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) - goto _342 -_126: + goto _346 +_128: ; /* seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_127: + goto _346 +_129: ; /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListFuncArgs(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) - goto _342 -_128: + goto _346 +_130: ; /* seltablist ::= stl_prefix LP select RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_129: + goto _346 +_131: ; /* seltablist ::= stl_prefix LP seltablist RP as on_using */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) == uintptr(0) && *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) == uint32(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8)) == uintptr(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) @@ -160279,9 +161707,9 @@ _129: libc.SetBitFieldPtr16Uint32(pOld+60+4, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pNew+60+4, libc.Uint32FromInt32(1), 2, 0x4) } - v343 = libc.UintptrFromInt32(0) - (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v343 - (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v343 + v347 = libc.UintptrFromInt32(0) + (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v347 + (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v347 (*TSrcItem)(unsafe.Pointer(pOld)).FpSelect = uintptr(0) } _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) @@ -160291,189 +161719,189 @@ _129: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, pSubquery, yymsp+8) } } - goto _342 -_131: + goto _346 +_133: ; /* dbnm ::= */ -_130: +_132: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) - goto _342 -_132: + goto _346 +_134: ; /* fullname ::= nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_133: + goto _346 +_135: ; /* fullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_134: + goto _346 +_136: ; /* xfullname ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) /*A-overwrites-X*/ - goto _342 -_135: + goto _346 +_137: ; /* xfullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) /*A-overwrites-X*/ - goto _342 -_136: + goto _346 +_138: ; /* xfullname ::= nm DOT nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_137: + goto _346 +_139: ; /* xfullname ::= nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0)) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_138: + goto _346 +_140: ; /* joinop ::= COMMA|JOIN */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(JT_INNER) - goto _342 -_139: + goto _346 +_141: ; /* joinop ::= JOIN_KW JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), uintptr(0)) /*X-overwrites-A*/ - goto _342 -_140: + goto _346 +_142: ; /* joinop ::= JOIN_KW nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0)) /*X-overwrites-A*/ - goto _342 -_141: + goto _346 +_143: ; /* joinop ::= JOIN_KW nm nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) /*X-overwrites-A*/ - goto _342 -_142: + goto _346 +_144: ; /* on_using ::= ON expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uintptr(0) - goto _342 -_143: + goto _346 +_145: ; /* on_using ::= USING LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_144: + goto _346 +_146: ; /* on_using ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uintptr(0) - goto _342 -_145: + goto _346 +_147: ; /* indexed_by ::= INDEXED BY nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 -_146: + goto _346 +_148: ; /* indexed_by ::= NOT INDEXED */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(1) - goto _342 -_148: + goto _346 +_150: ; /* orderby_opt ::= ORDER BY sortlist */ -_147: +_149: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_149: + goto _346 +_151: ; /* sortlist ::= sortlist COMMA expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_150: + goto _346 +_152: ; /* sortlist ::= expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) /*A-overwrites-Y*/ _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_151: + goto _346 +_153: ; /* sortorder ::= ASC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = SQLITE_SO_ASC - goto _342 -_152: + goto _346 +_154: ; /* sortorder ::= DESC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_154: + goto _346 +_156: ; /* sortorder ::= */ -_153: +_155: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = -int32(1) - goto _342 -_155: + goto _346 +_157: ; /* nulls ::= NULLS FIRST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = SQLITE_SO_ASC - goto _342 -_156: + goto _346 +_158: ; /* nulls ::= NULLS LAST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_158: + goto _346 +_160: ; /* having_opt ::= */ -_157: - ; _159: ; -_160: - ; _161: ; _162: ; _163: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_165: - ; /* having_opt ::= HAVING expr */ _164: ; -_166: +_165: ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 _167: + ; /* having_opt ::= HAVING expr */ +_166: ; _168: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 _169: + ; +_170: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + goto _346 +_171: ; /* limit_opt ::= LIMIT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 -_170: + goto _346 +_172: ; /* limit_opt ::= LIMIT expr OFFSET expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_171: + goto _346 +_173: ; /* limit_opt ::= LIMIT expr COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 -_172: + goto _346 +_174: ; /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) _sqlite3DeleteFrom(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0)) - goto _342 -_173: + goto _346 +_175: ; /* where_opt_ret ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) - goto _342 -_174: + goto _346 +_176: ; /* where_opt_ret ::= WHERE expr RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) - goto _342 -_175: + goto _346 +_177: ; /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) - _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23780) + _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23903) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { pFromClause = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) if (*TSrcList)(unsafe.Pointer(pFromClause)).FnSrc > int32(1) { @@ -160485,95 +161913,95 @@ _175: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), pFromClause) } _sqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_176: + goto _346 +_178: ; /* setlist ::= setlist COMMA nm EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) - goto _342 -_177: + goto _346 +_179: ; /* setlist ::= setlist COMMA LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_178: + goto _346 +_180: ; /* setlist ::= nm EQ expr */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_179: + goto _346 +_181: ; /* setlist ::= LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_180: + goto _346 +_182: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_181: + goto _346 +_183: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0)) - goto _342 -_182: + goto _346 +_184: ; /* upsert ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_183: + goto _346 +_185: ; /* upsert ::= RETURNING selcollist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_184: + goto _346 +_186: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(11))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_185: + goto _346 +_187: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_186: + goto _346 +_188: ; /* upsert ::= ON CONFLICT DO NOTHING returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_187: + goto _346 +_189: ; /* upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_188: + goto _346 +_190: ; /* returning ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_189: + goto _346 +_191: ; /* idlist_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_190: + goto _346 +_192: ; /* idlist_opt ::= LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_191: + goto _346 +_193: ; /* idlist ::= idlist COMMA nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3IdListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 -_192: + goto _346 +_194: ; /* idlist ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3IdListAppend(tls, pParse, uintptr(0), yymsp+8) /*A-overwrites-Y*/ - goto _342 -_193: + goto _346 +_195: ; /* expr ::= LP expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_194: + goto _346 +_196: ; /* expr ::= ID|INDEXED|JOIN_KW */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_195: + goto _346 +_197: ; /* expr ::= nm DOT nm */ temp1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) temp2 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp1, temp2) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_196: + goto _346 +_198: ; /* expr ::= nm DOT nm DOT nm */ temp11 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) temp21 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) @@ -160584,22 +162012,22 @@ _196: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp11, temp4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_198: + goto _346 +_200: ; /* term ::= NULL|FLOAT|BLOB */ -_197: +_199: ; *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_199: + goto _346 +_201: ; /* term ::= INTEGER */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), yymsp+8, int32(1)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 52)) = int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8))) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_200: + goto _346 +_202: ; /* expr ::= VARIABLE */ if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8))))) == int32('#') && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)) + 1)))])&int32(0x04) != 0) { n = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) @@ -160611,7 +162039,7 @@ _200: ** in the virtual machine. #N is the N-th register. */ *(*TToken)(unsafe.Pointer(bp + 88)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) /*A-overwrites-X*/ if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23789, libc.VaList(bp+128, bp+88)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23912, libc.VaList(bp+128, bp+88)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_REGISTER), uintptr(0), uintptr(0)) @@ -160620,57 +162048,57 @@ _200: } } } - goto _342 -_201: + goto _346 +_203: ; /* expr ::= expr COLLATE ID|STRING */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAddCollateToken(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8, int32(1)) - goto _342 -_202: + goto _346 +_204: ; /* expr ::= CAST LP expr AS typetoken RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_CAST), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) _sqlite3ExprAttachSubtrees(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) - goto _342 -_203: + goto _346 +_205: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_204: + goto _346 +_206: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_205: + goto _346 +_207: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_206: + goto _346 +_208: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_207: + goto _346 +_209: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_208: + goto _346 +_210: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, 0) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_209: + goto _346 +_211: ; /* term ::= CTIME_KW */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_210: + goto _346 +_212: ; /* expr ::= LP nexprlist COMMA expr RP */ pList = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_VECTOR), uintptr(0), uintptr(0)) @@ -160682,33 +162110,33 @@ _210: } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pList) } - goto _342 -_211: + goto _346 +_213: ; /* expr ::= expr AND expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_213: + goto _346 +_215: ; /* expr ::= expr OR expr */ -_212: - ; _214: ; -_215: - ; _216: ; _217: ; _218: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 _219: + ; +_220: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_221: ; /* likeop ::= NOT LIKE_KW|MATCH */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) |= uint32(0x80000000) /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/ - goto _342 -_220: + goto _346 +_222: ; /* expr ::= expr likeop expr */ bNot = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -160721,8 +162149,8 @@ _220: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_221: + goto _346 +_223: ; /* expr ::= expr likeop expr ESCAPE expr */ bNot1 = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -160736,65 +162164,67 @@ _221: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_222: + goto _346 +_224: ; /* expr ::= expr ISNULL|NOTNULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_223: + goto _346 +_225: ; /* expr ::= expr NOT NULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOTNULL), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uintptr(0)) - goto _342 -_224: + goto _346 +_226: ; /* expr ::= expr IS expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_225: + goto _346 +_227: ; /* expr ::= expr IS NOT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_226: + goto _346 +_228: ; /* expr ::= expr IS NOT DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_227: + goto _346 +_229: ; /* expr ::= expr IS DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_229: + goto _346 +_231: ; /* expr ::= NOT expr */ -_228: +_230: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) /*A-overwrites-B*/ - goto _342 -_230: + goto _346 +_232: ; /* expr ::= PLUS|MINUS expr */ - if int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) == int32(TK_PLUS) { - v344 = int32(TK_UPLUS) + p4 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + op = uint8(int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) + (libc.Int32FromInt32(TK_UPLUS) - libc.Int32FromInt32(TK_PLUS))) + if p4 != 0 && int32((*TExpr)(unsafe.Pointer(p4)).Fop) == int32(TK_UPLUS) { + (*TExpr)(unsafe.Pointer(p4)).Fop = op + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = p4 } else { - v344 = int32(TK_UMINUS) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(op), p4, uintptr(0)) + /*A-overwrites-B*/ } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, v344, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - /*A-overwrites-B*/ - goto _342 -_231: + goto _346 +_233: ; /* expr ::= expr PTR expr */ pList3 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList3 = _sqlite3ExprListAppend(tls, pParse, pList3, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, pList3, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_233: + goto _346 +_235: ; /* between_op ::= BETWEEN */ -_232: +_234: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = 0 - goto _342 -_234: + goto _346 +_236: ; /* expr ::= expr between_op expr AND expr */ pList4 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList4 = _sqlite3ExprListAppend(tls, pParse, pList4, *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -160807,8 +162237,8 @@ _234: if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_235: + goto _346 +_237: ; /* expr ::= expr in_op LP exprlist RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) == uintptr(0) { /* Expressions of the form @@ -160821,17 +162251,17 @@ _235: */ _sqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { - v345 = __ccgo_ts + 8234 + v348 = __ccgo_ts + 8359 } else { - v345 = __ccgo_ts + 8239 + v348 = __ccgo_ts + 8364 } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v345) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v348) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { _sqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } } else { pRHS = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr - if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { + if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pParse, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr = uintptr(0) _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) pRHS = _sqlite3PExpr(tls, pParse, int32(TK_UPLUS), pRHS, uintptr(0)) @@ -160865,460 +162295,464 @@ _235: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } } - goto _342 -_236: + goto _346 +_238: ; /* expr ::= LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_SELECT), uintptr(0), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_237: + goto _346 +_239: ; /* expr ::= expr in_op LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_238: + goto _346 +_240: ; /* expr ::= expr in_op nm dbnm paren_exprlist */ pSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) pSelect = _sqlite3SelectNew(tls, pParse, uintptr(0), pSrc, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { if pSelect != 0 { - v346 = pSrc + v349 = pSrc } else { - v346 = uintptr(0) + v349 = uintptr(0) } - _sqlite3SrcListFuncArgs(tls, pParse, v346, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + _sqlite3SrcListFuncArgs(tls, pParse, v349, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pSelect) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_239: + goto _346 +_241: ; /* expr ::= EXISTS LP select RP */ - v347 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v347 - p4 = v347 - _sqlite3PExprAddSelect(tls, pParse, p4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_240: + v350 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v350 + p5 = v350 + _sqlite3PExprAddSelect(tls, pParse, p5, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_242: ; /* expr ::= CASE case_operand case_exprlist case_else END */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_CASE), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { - v348 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + v351 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } else { - v348 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + v351 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) } - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v348 + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v351 _sqlite3ExprSetHeightAndFlags(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } - goto _342 -_241: + goto _346 +_243: ; /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_242: + goto _346 +_244: ; /* case_exprlist ::= WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_243: + goto _346 +_245: ; /* nexprlist ::= nexprlist COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_244: + goto _346 +_246: ; /* nexprlist ::= expr */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_246: + goto _346 +_248: ; /* paren_exprlist ::= LP exprlist RP */ -_245: +_247: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_247: + goto _346 +_249: ; /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ _sqlite3CreateIndex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, uintptr(0)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(11))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8)), SQLITE_SO_ASC, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), uint8(SQLITE_IDXTYPE_APPDEF)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && (*TParse)(unsafe.Pointer(pParse)).FpNewIndex != 0 { _sqlite3RenameTokenMap(tls, pParse, (*TIndex)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpNewIndex)).FzName, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) } - goto _342 -_249: + goto _346 +_251: ; /* uniqueflag ::= UNIQUE */ -_248: +_250: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Abort) - goto _342 -_250: + goto _346 +_252: ; /* uniqueflag ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = OE_None - goto _342 -_251: + goto _346 +_253: ; /* eidlist ::= eidlist COMMA nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_252: + goto _346 +_254: ; /* eidlist ::= nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_253: + goto _346 +_255: ; /* cmd ::= DROP INDEX ifexists fullname */ _sqlite3DropIndex(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_254: + goto _346 +_256: ; /* cmd ::= VACUUM vinto */ _sqlite3Vacuum(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_255: + goto _346 +_257: ; /* cmd ::= VACUUM nm vinto */ _sqlite3Vacuum(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_256: + goto _346 +_258: ; /* cmd ::= PRAGMA nm dbnm */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, uintptr(0), 0) - goto _342 -_257: + goto _346 +_259: ; /* cmd ::= PRAGMA nm dbnm EQ nmnum */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, 0) - goto _342 -_258: + goto _346 +_260: ; /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) - goto _342 -_259: + goto _346 +_261: ; /* cmd ::= PRAGMA nm dbnm EQ minus_num */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, int32(1)) - goto _342 -_260: + goto _346 +_262: ; /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) - goto _342 -_261: + goto _346 +_263: ; /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ (*(*TToken)(unsafe.Pointer(bp + 104))).Fz = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) (*(*TToken)(unsafe.Pointer(bp + 104))).Fn = uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) + *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) _sqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), bp+104) - goto _342 -_262: + goto _346 +_264: ; /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ _sqlite3BeginTrigger(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8 + 8)) == uint32(0) { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) } else { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) } - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v349 /*A-overwrites-T*/ - goto _342 -_263: + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v352 /*A-overwrites-T*/ + goto _346 +_265: ; /* trigger_time ::= BEFORE|AFTER */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_264: + goto _346 +_266: ; /* trigger_time ::= INSTEAD OF */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_INSTEAD) - goto _342 -_265: + goto _346 +_267: ; /* trigger_time ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_BEFORE) - goto _342 -_267: + goto _346 +_269: ; /* trigger_event ::= DELETE|INSERT */ -_266: +_268: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) = uintptr(0) - goto _342 -_268: + goto _346 +_270: ; /* trigger_event ::= UPDATE OF idlist */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(TK_UPDATE) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_270: + goto _346 +_272: ; /* when_clause ::= */ -_269: +_271: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_272: + goto _346 +_274: ; /* when_clause ::= WHEN expr */ -_271: +_273: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_273: + goto _346 +_275: ; /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ (*TTriggerStep)(unsafe.Pointer((*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast)).FpNext = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_274: + goto _346 +_276: ; /* trigger_cmd_list ::= trigger_cmd SEMI */ (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_275: + goto _346 +_277: ; /* trnm ::= nm DOT nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23813, 0) - goto _342 -_276: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23936, 0) + goto _346 +_278: ; /* tridxby ::= INDEXED BY nm */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23908, 0) - goto _342 -_277: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24031, 0) + goto _346 +_279: ; /* tridxby ::= NOT INDEXED */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23992, 0) - goto _342 -_278: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24115, 0) + goto _346 +_280: ; /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerUpdateStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_279: + goto _346 +_281: ; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-6].minor.yy394*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_280: + goto _346 +_282: ; /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerDeleteStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_281: + goto _346 +_283: ; /* trigger_cmd ::= scanpt select scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-1].minor.yy47*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-1].minor.yy555*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_282: + goto _346 +_284: ; /* expr ::= RAISE LP IGNORE RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_RAISE), uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)))).FaffExpr = int8(OE_Ignore) } - goto _342 -_283: + goto _346 +_285: ; /* expr ::= RAISE LP raisetype COMMA nm RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_RAISE), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)))).FaffExpr = int8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) } - goto _342 -_284: + goto _346 +_286: ; /* raisetype ::= ROLLBACK */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Rollback) - goto _342 -_285: + goto _346 +_287: ; /* raisetype ::= FAIL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Fail) - goto _342 -_286: + goto _346 +_288: ; /* cmd ::= DROP TRIGGER ifexists fullname */ _sqlite3DropTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_287: + goto _346 +_289: ; /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ _sqlite3Attach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_288: + goto _346 +_290: ; /* cmd ::= DETACH database_kw_opt expr */ _sqlite3Detach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_289: + goto _346 +_291: ; /* cmd ::= REINDEX */ _sqlite3Reindex(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_290: + goto _346 +_292: ; /* cmd ::= REINDEX nm dbnm */ _sqlite3Reindex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_291: + goto _346 +_293: ; /* cmd ::= ANALYZE */ _sqlite3Analyze(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_292: + goto _346 +_294: ; /* cmd ::= ANALYZE nm dbnm */ _sqlite3Analyze(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_293: + goto _346 +_295: ; /* cmd ::= ALTER TABLE fullname RENAME TO nm */ _sqlite3AlterRenameTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_294: + goto _346 +_296: ; /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(int32(int64((*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fz)-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) + (*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fn _sqlite3AlterFinishAddColumn(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_295: + goto _346 +_297: ; /* cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ _sqlite3AlterDropColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_296: + goto _346 +_298: ; /* add_column_fullname ::= fullname */ _disableLookaside(tls, pParse) _sqlite3AlterBeginAddColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_297: + goto _346 +_299: ; /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ _sqlite3AlterRenameColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) - goto _342 -_298: + goto _346 +_300: ; /* cmd ::= create_vtab */ _sqlite3VtabFinishParse(tls, pParse, uintptr(0)) - goto _342 -_299: + goto _346 +_301: ; /* cmd ::= create_vtab LP vtabarglist RP */ _sqlite3VtabFinishParse(tls, pParse, yymsp+8) - goto _342 -_300: + goto _346 +_302: ; /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ _sqlite3VtabBeginParse(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) - goto _342 -_301: + goto _346 +_303: ; /* vtabarg ::= */ _sqlite3VtabArgInit(tls, pParse) - goto _342 -_303: + goto _346 +_305: ; /* vtabargtoken ::= ANY */ -_302: - ; _304: ; - _sqlite3VtabArgExtend(tls, pParse, yymsp+8) - goto _342 _306: + ; + _sqlite3VtabArgExtend(tls, pParse, yymsp+8) + goto _346 +_308: ; /* with ::= WITH wqlist */ -_305: +_307: ; _sqlite3WithPush(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint8(1)) - goto _342 -_307: + goto _346 +_309: ; /* wqas ::= AS */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8(M10d_Any) - goto _342 -_308: + goto _346 +_310: ; /* wqas ::= AS MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8(M10d_Yes) - goto _342 -_309: + goto _346 +_311: ; /* wqas ::= AS NOT MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = uint8(M10d_No) - goto _342 -_310: - ; /* wqitem ::= nm eidlist_opt wqas LP select RP */ + goto _346 +_312: + ; /* wqitem ::= withnm eidlist_opt wqas LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) /*A-overwrites-X*/ - goto _342 -_311: + goto _346 +_313: + ; /* withnm ::= nm */ + (*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1) + goto _346 +_314: ; /* wqlist ::= wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_312: + goto _346 +_315: ; /* wqlist ::= wqlist COMMA wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3WithAdd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_313: + goto _346 +_316: ; /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ _sqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_314: + goto _346 +_317: ; /* windowdefn ::= nm AS LP window RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)))) } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_315: + goto _346 +_318: ; /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_316: + goto _346 +_319: ; /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_317: + goto _346 +_320: ; /* window ::= ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_318: + goto _346 +_321: ; /* window ::= nm ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_319: + goto _346 +_322: ; /* window ::= nm frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_320: + goto _346 +_323: ; /* frame_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = _sqlite3WindowAlloc(tls, pParse, 0, int32(TK_UNBOUNDED), uintptr(0), int32(TK_CURRENT), uintptr(0), uint8(0)) - goto _342 -_321: + goto _346 +_324: ; /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), int32(TK_CURRENT), uintptr(0), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_322: + goto _346 +_325: ; /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_324: + goto _346 +_327: ; /* frame_bound_s ::= frame_bound */ -_323: +_326: ; *(*TFrameBound)(unsafe.Pointer(bp)) = *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_326: + goto _346 +_329: ; /* frame_bound_s ::= UNBOUNDED PRECEDING */ -_325: +_328: ; -_327: +_330: ; (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = uintptr(0) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_328: + goto _346 +_331: ; /* frame_bound ::= expr PRECEDING|FOLLOWING */ (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_329: + goto _346 +_332: ; /* frame_exclude_opt ::= */ *(*Tu8)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint8(0) - goto _342 -_330: + goto _346 +_333: ; /* frame_exclude_opt ::= EXCLUDE frame_exclude */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*Tu8)(unsafe.Pointer(yymsp + 8)) - goto _342 -_332: + goto _346 +_335: ; /* frame_exclude ::= NO OTHERS */ -_331: +_334: ; *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) /*A-overwrites-X*/ - goto _342 -_333: + goto _346 +_336: ; /* frame_exclude ::= GROUP|TIES */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_334: + goto _346 +_337: ; /* window_clause ::= WINDOW windowdefn_list */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_335: + goto _346 +_338: ; /* filter_over ::= filter_clause over_clause */ if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) @@ -161327,13 +162761,13 @@ _335: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_336: + goto _346 +_339: ; /* filter_over ::= over_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_337: + goto _346 +_340: ; /* filter_over ::= filter_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { @@ -161343,27 +162777,33 @@ _337: _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_338: + goto _346 +_341: ; /* over_clause ::= OVER LP window RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_339: + goto _346 +_342: ; /* over_clause ::= OVER nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) } - goto _342 -_340: + goto _346 +_343: ; /* filter_clause ::= FILTER LP WHERE expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_341: + goto _346 +_344: + ; /* term ::= QNUMBER */ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) + _sqlite3DequoteNumber(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))) + *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + goto _346 +_345: ; - goto _342 + goto _346 /********** End reduce actions ************************************************/ -_342: +_346: ; yygoto = int32(_yyRuleInfoLhs[yyruleno]) yysize = int32(_yyRuleInfoNRhs[yyruleno]) @@ -161397,9 +162837,9 @@ func _yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, _yyminor /************ Begin %syntax_error code ****************************************/ _ = yymajor /* Silence some compiler warnings */ if *(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp))).Fz)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23789, libc.VaList(bp+24, bp)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23912, libc.VaList(bp+24, bp)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24077, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24200, 0) } /************ End %syntax_error code ******************************************/ /* Suppress warning about unused %extra_argument variable */ @@ -161464,8 +162904,10 @@ func _sqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor TToken) { ** enough on the stack to push the LHS value */ if int32(_yyRuleInfoNRhs[yyruleno]) == 0 { if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos >= (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - _yyStackOverflow(tls, yypParser) - break + if _yyGrowStack(tls, yypParser) != 0 { + _yyStackOverflow(tls, yypParser) + break + } } } yyact = _yy_reduce(tls, yypParser, yyruleno, yymajor, yyminor, pParse) @@ -163614,9 +165056,9 @@ func _analyzeFilterKeyword(tls *libc.TLS, _z uintptr, lastToken int32) (r int32) // ** Store the token type in *tokenType before returning. // */ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { - var c, delim, i, n, v10, v14, v16, v19, v20, v3, v5, v7, v8 int32 - var v15, v6 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v14, v15, v16, v19, v20, v3, v5, v6, v7, v8 + var c, delim, i, n, v10, v16, v18, v21, v22, v3, v5, v7, v8 int32 + var v17, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v16, v17, v18, v21, v22, v3, v5, v6, v7, v8 switch int32(_aiClass[*(*uint8)(unsafe.Pointer(z))]) { /* Switch on the character-class of the first byte ** of the token. See the comment on the CC_ defines ** above. */ @@ -163814,39 +165256,83 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('X')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 2))])&int32(0x08) != 0 { i = int32(3) for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { + if !(int32(1) != 0) { break } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } goto _11 _11: ; i++ } - return i - } - i = 0 - for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _12 - _12: - ; - i++ - } - if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { - i++ - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + } else { + i = 0 + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _12 + _12: + ; i++ } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) - } - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { - i += int32(2) - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } i++ + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _13 + _13: + ; + i++ + } + } + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } + i += int32(2) + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _14 + _14: + ; + i++ + } } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) } for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x46) != 0 { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_ILLEGAL) @@ -163857,24 +165343,24 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { i = int32(1) c = int32(*(*uint8)(unsafe.Pointer(z))) for { - if v15 = c != int32(']'); v15 { - v14 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v14 + if v17 = c != int32(']'); v17 { + v16 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v16 } - if !(v15 && v14 != 0) { + if !(v17 && v16 != 0) { break } - goto _13 - _13: + goto _15 + _15: ; i++ } if c == int32(']') { - v16 = int32(TK_ID) + v18 = int32(TK_ID) } else { - v16 = int32(TK_ILLEGAL) + v18 = int32(TK_ILLEGAL) } - *(*int32)(unsafe.Pointer(tokenType)) = v16 + *(*int32)(unsafe.Pointer(tokenType)) = v18 return i case int32(CC_VARNUM): *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) @@ -163883,8 +165369,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { break } - goto _17 - _17: + goto _19 + _19: ; i++ } @@ -163896,9 +165382,9 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) i = int32(1) for { - v19 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v19 - if !(v19 != 0) { + v21 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v21 + if !(v21 != 0) { break } if int32(_sqlite3CtypeMap[uint8(c)])&int32(0x46) != 0 { @@ -163907,12 +165393,12 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if c == int32('(') && n > 0 { for { i++ - goto _21 - _21: + goto _23 + _23: ; - v20 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v20 - if !(v20 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { + v22 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v22 + if !(v22 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { break } } @@ -163930,8 +165416,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { } } } - goto _18 - _18: + goto _20 + _20: ; i++ } @@ -163949,8 +165435,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_aiClass[*(*uint8)(unsafe.Pointer(z + uintptr(i)))]) <= int32(CC_KYWD)) { break } - goto _22 - _22: + goto _24 + _24: ; i++ } @@ -163971,8 +165457,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { break } - goto _23 - _23: + goto _25 + _25: ; i++ } @@ -164026,7 +165512,7 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { var lastTokenParsed, mxSqlLen, n, nErr int32 var _ /* sEngine at bp+8 */ TyyParser var _ /* tokenType at bp+0 */ int32 - var _ /* x at bp+2432 */ TToken + var _ /* x at bp+2440 */ TToken _, _, _, _, _, _, _ = db, lastTokenParsed, mxSqlLen, n, nErr, pEngine, pParentParse nErr = 0 /* The LEMON-generated LALR(1) parser */ n = 0 /* type of the next token */ @@ -164084,10 +165570,12 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp)) == int32(TK_FILTER) { *(*int32)(unsafe.Pointer(bp)) = _analyzeFilterKeyword(tls, zSql+6, lastTokenParsed) } else { - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fz = zSql - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fn = uint32(n) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24094, libc.VaList(bp+2456, bp+2432)) - break + if *(*int32)(unsafe.Pointer(bp)) != int32(TK_QNUMBER) { + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fz = zSql + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fn = uint32(n) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24217, libc.VaList(bp+2464, bp+2440)) + break + } } } } @@ -164108,9 +165596,9 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { } if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg != 0 || (*TParse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK && (*TParse)(unsafe.Pointer(pParse)).Frc != int32(SQLITE_DONE) { if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) { - (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3799, libc.VaList(bp+2456, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) + (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3863, libc.VaList(bp+2464, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) } - Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+24119, libc.VaList(bp+2456, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) + Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+24242, libc.VaList(bp+2464, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) nErr++ } (*TParse)(unsafe.Pointer(pParse)).FzTail = zSql @@ -164302,7 +165790,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('c'): fallthrough case int32('C'): - if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24130, int32(6)) == 0 { + if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24253, int32(6)) == 0 { token = uint8(tkCREATE) } else { token = uint8(tkOTHER) @@ -164310,13 +165798,13 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('t'): fallthrough case int32('T'): - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20774, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20906, int32(7)) == 0 { token = uint8(tkTRIGGER) } else { - if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24137, int32(4)) == 0 { + if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24260, int32(4)) == 0 { token = uint8(tkTEMP) } else { - if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24142, int32(9)) == 0 { + if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24265, int32(9)) == 0 { token = uint8(tkTEMP) } else { token = uint8(tkOTHER) @@ -164326,10 +165814,10 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('e'): fallthrough case int32('E'): - if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24152, int32(3)) == 0 { + if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24275, int32(3)) == 0 { token = uint8(tkEND) } else { - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24156, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+24279, int32(7)) == 0 { token = uint8(tkEXPLAIN) } else { token = uint8(tkOTHER) @@ -164769,7 +166257,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) { */ if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 { if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)<= 0 && rc < int32(libc.Uint64FromInt64(232)/libc.Uint64FromInt64(8)) && _aMsg[rc] != uintptr(0) { @@ -165907,31 +167395,31 @@ func _sqlite3ErrStr(tls *libc.TLS, rc int32) (r uintptr) { } var _aMsg = [29]uintptr{ - 0: __ccgo_ts + 24232, - 1: __ccgo_ts + 24245, - 3: __ccgo_ts + 24261, - 4: __ccgo_ts + 24286, - 5: __ccgo_ts + 24300, - 6: __ccgo_ts + 24319, - 7: __ccgo_ts + 1620, - 8: __ccgo_ts + 24344, - 9: __ccgo_ts + 24381, - 10: __ccgo_ts + 24393, - 11: __ccgo_ts + 24408, - 12: __ccgo_ts + 24441, - 13: __ccgo_ts + 24459, - 14: __ccgo_ts + 24484, - 15: __ccgo_ts + 24513, - 17: __ccgo_ts + 6369, - 18: __ccgo_ts + 5771, - 19: __ccgo_ts + 24530, - 20: __ccgo_ts + 24548, - 21: __ccgo_ts + 24566, - 23: __ccgo_ts + 24600, - 25: __ccgo_ts + 24621, - 26: __ccgo_ts + 24647, - 27: __ccgo_ts + 24670, - 28: __ccgo_ts + 24691, + 0: __ccgo_ts + 24355, + 1: __ccgo_ts + 24368, + 3: __ccgo_ts + 24384, + 4: __ccgo_ts + 24409, + 5: __ccgo_ts + 24423, + 6: __ccgo_ts + 24442, + 7: __ccgo_ts + 1634, + 8: __ccgo_ts + 24467, + 9: __ccgo_ts + 24504, + 10: __ccgo_ts + 24516, + 11: __ccgo_ts + 24531, + 12: __ccgo_ts + 24564, + 13: __ccgo_ts + 24582, + 14: __ccgo_ts + 24607, + 15: __ccgo_ts + 24636, + 17: __ccgo_ts + 6433, + 18: __ccgo_ts + 5835, + 19: __ccgo_ts + 24653, + 20: __ccgo_ts + 24671, + 21: __ccgo_ts + 24689, + 23: __ccgo_ts + 24723, + 25: __ccgo_ts + 24744, + 26: __ccgo_ts + 24770, + 27: __ccgo_ts + 24793, + 28: __ccgo_ts + 24814, } // C documentation @@ -166110,7 +167598,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i var p, v1 uintptr _, _, _, _ = extraFlags, p, rc, v1 if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) { - return _sqlite3MisuseError(tls, int32(180244)) + return _sqlite3MisuseError(tls, int32(181689)) } extraFlags = enc & (libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_INNOCUOUS) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)) enc &= libc.Int32FromInt32(SQLITE_FUNC_ENCMASK) | libc.Int32FromInt32(SQLITE_ANY) @@ -166153,7 +167641,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i p = _sqlite3FindFunction(tls, db, zFunctionName, nArg, uint8(enc), uint8(0)) if p != 0 && (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) == uint32(enc) && int32((*TFuncDef)(unsafe.Pointer(p)).FnArg) == nArg { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24788, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24911, 0) return int32(SQLITE_BUSY) } else { _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -166279,7 +167767,7 @@ func _sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotU zName = Xsqlite3_user_data(tls, context) _ = NotUsed _ = NotUsed2 - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24851, libc.VaList(bp+8, zName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24974, libc.VaList(bp+8, zName)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -166310,7 +167798,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i if rc != 0 { return SQLITE_OK } - zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, zName)) + zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, zName)) if zCopy == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -166554,7 +168042,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) { /* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint ** mode: */ - return _sqlite3MisuseError(tls, int32(180859)) + return _sqlite3MisuseError(tls, int32(182304)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if zDb != 0 && *(*int8)(unsafe.Pointer(zDb)) != 0 { @@ -166564,7 +168052,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in } if iDb < 0 { rc = int32(SQLITE_ERROR) - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24902, libc.VaList(bp+8, zDb)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+25025, libc.VaList(bp+8, zDb)) } else { (*Tsqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = _sqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -166686,7 +168174,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) { return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM)) } if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(180995))) + return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(182440))) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -166818,7 +168306,7 @@ var _misuse = [34]Tu16{ // */ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181074)) + return _sqlite3MisuseError(tls, int32(182519)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -166828,7 +168316,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181083)) + return _sqlite3MisuseError(tls, int32(182528)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -166877,7 +168365,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui enc2 = int32(SQLITE_UTF16LE) } if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) { - return _sqlite3MisuseError(tls, int32(181131)) + return _sqlite3MisuseError(tls, int32(182576)) } /* Check if this call is removing or replacing an existing collation ** sequence. If so, and there are active VMs, return busy. If there @@ -166886,7 +168374,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui pColl = _sqlite3FindCollSeq(tls, db, uint8(enc2), zName, 0) if pColl != 0 && (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24923, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+25046, 0) return int32(SQLITE_BUSY) } _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -167033,7 +168521,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u flags = *(*uint32)(unsafe.Pointer(pFlags)) zVfs = zDefaultVfs nUri = _sqlite3Strlen30(tls, zUri) - if (flags&uint32(SQLITE_OPEN_URI) != 0 || *(*Tu8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_sqlite3Config)) + 6)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24991, uint64(5)) == 0 { /* Input character index */ + if (flags&uint32(SQLITE_OPEN_URI) != 0 || *(*Tu8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_sqlite3Config)) + 6)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+25114, uint64(5)) == 0 { /* Input character index */ iOut = 0 /* Output character index */ nByte = uint64(nUri + int32(8)) /* Bytes of space to allocate */ /* Make sure the SQLITE_OPEN_URI flag is set to indicate to the VFS xOpen @@ -167063,8 +168551,8 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u for *(*int8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0 && int32(*(*int8)(unsafe.Pointer(zUri + uintptr(iIn)))) != int32('/') { iIn++ } - if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24997, zUri+7, uint64(9)) != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25007, libc.VaList(bp+8, iIn-int32(7), zUri+7)) + if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+25120, zUri+7, uint64(9)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25130, libc.VaList(bp+8, iIn-int32(7), zUri+7)) rc = int32(SQLITE_ERROR) goto parse_uri_out } @@ -167153,24 +168641,24 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u nOpt = _sqlite3Strlen30(tls, zOpt) zVal = zOpt + uintptr(nOpt+int32(1)) nVal = _sqlite3Strlen30(tls, zVal) - if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+25035, zOpt, uint64(3)) == 0 { + if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+25158, zOpt, uint64(3)) == 0 { zVfs = zVal } else { aMode = uintptr(0) zModeType = uintptr(0) mask = 0 limit = 0 - if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+25039, zOpt, uint64(5)) == 0 { + if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+25162, zOpt, uint64(5)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_SHAREDCACHE) | libc.Int32FromInt32(SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&_aCacheMode)) limit = mask - zModeType = __ccgo_ts + 25039 + zModeType = __ccgo_ts + 25162 } - if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+25060, zOpt, uint64(4)) == 0 { + if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+25183, zOpt, uint64(4)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_READONLY) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&_aOpenMode)) limit = int32(uint32(mask) & flags) - zModeType = __ccgo_ts + 3406 + zModeType = __ccgo_ts + 3470 } if aMode != 0 { mode = 0 @@ -167199,12 +168687,12 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u i++ } if mode == 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25075, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25198, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_ERROR) goto parse_uri_out } if mode & ^libc.Int32FromInt32(SQLITE_OPEN_MEMORY) > limit { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25095, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25218, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_PERM) goto parse_uri_out } @@ -167228,7 +168716,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u } *(*uintptr)(unsafe.Pointer(ppVfs)) = Xsqlite3_vfs_find(tls, zVfs) if *(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25119, libc.VaList(bp+8, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25242, libc.VaList(bp+8, zVfs)) rc = int32(SQLITE_ERROR) } goto parse_uri_out @@ -167248,11 +168736,11 @@ var _aCacheMode = [3]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 25045, + Fz: __ccgo_ts + 25168, Fmode: int32(SQLITE_OPEN_SHAREDCACHE), }, 1: { - Fz: __ccgo_ts + 25052, + Fz: __ccgo_ts + 25175, Fmode: int32(SQLITE_OPEN_PRIVATECACHE), }, 2: {}, @@ -167263,19 +168751,19 @@ var _aOpenMode = [5]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 25065, + Fz: __ccgo_ts + 25188, Fmode: int32(SQLITE_OPEN_READONLY), }, 1: { - Fz: __ccgo_ts + 25068, + Fz: __ccgo_ts + 25191, Fmode: int32(SQLITE_OPEN_READWRITE), }, 2: { - Fz: __ccgo_ts + 25071, + Fz: __ccgo_ts + 25194, Fmode: libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE), }, 3: { - Fz: __ccgo_ts + 18131, + Fz: __ccgo_ts + 18218, Fmode: int32(SQLITE_OPEN_MEMORY), }, 4: {}, @@ -167403,8 +168891,8 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16BE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+22746, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+25135, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+22891, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+25258, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto opendb_out } @@ -167425,7 +168913,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* READWRITE */ /* READWRITE | CREATE */ if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 { - rc = _sqlite3MisuseError(tls, int32(181803)) /* IMP: R-18321-05872 */ + rc = _sqlite3MisuseError(tls, int32(183248)) /* IMP: R-18321-05872 */ } else { rc = _sqlite3ParseUri(tls, zVfs, zFilename, bp, db, bp+8, bp+16) } @@ -167434,7 +168922,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _sqlite3OomFault(tls, db) } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { - v2 = __ccgo_ts + 3799 + v2 = __ccgo_ts + 3863 } else { v2 = uintptr(0) } @@ -167461,9 +168949,9 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* The default safety_level for the main database is FULL; for the temp ** database it is OFF. This matches the pager layer defaults. */ - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6933 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6997 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).Fsafety_level = uint8(libc.Int32FromInt32(SQLITE_DEFAULT_SYNCHRONOUS) + libc.Int32FromInt32(1)) - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 24137 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 24260 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).Fsafety_level = uint8(PAGER_SYNCHRONOUS_OFF) (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState = uint8(SQLITE_STATE_OPEN) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -167557,7 +169045,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) { return rc } if zFilename == uintptr(0) { - zFilename = __ccgo_ts + 25141 + zFilename = __ccgo_ts + 25264 } pVal = _sqlite3ValueNew(tls, uintptr(0)) _sqlite3ValueSetStr(tls, pVal, -int32(1), zFilename, uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(0)) @@ -167774,20 +169262,20 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) (r int32) { func _sqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, __ccgo_ts+25144, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) + Xsqlite3_log(tls, iErr, __ccgo_ts+25267, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) return iErr } func _sqlite3CorruptError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+25169) + return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+25292) } func _sqlite3MisuseError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+25189) + return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+25312) } func _sqlite3CantopenError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+25196) + return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+25319) } // C documentation @@ -167918,11 +169406,11 @@ error_out: } if SQLITE_OK == rc && !(pTab != 0) { _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+25213, libc.VaList(bp+16, zTableName, zColumnName)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+25336, libc.VaList(bp+16, zTableName, zColumnName)) rc = int32(SQLITE_ERROR) } if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - v3 = __ccgo_ts + 3799 + v3 = __ccgo_ts + 3863 } else { v3 = uintptr(0) } @@ -168946,7 +170434,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) (r int32) { var _ /* nOpt at bp+0 */ int32 _, _, _ = azCompileOpt, i, n azCompileOpt = _sqlite3CompileOptions(tls, bp) - if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+25241, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+25364, int32(7)) == 0 { zOptName += uintptr(7) } n = _sqlite3Strlen30(tls, zOptName) @@ -169164,7 +170652,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui } _leaveMutex(tls) if rc != 0 { - v2 = __ccgo_ts + 25249 + v2 = __ccgo_ts + 25372 } else { v2 = uintptr(0) } @@ -170044,23 +171532,23 @@ func _sqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { // ** string must correspond to the JSONB_* integer above. // */ var _jsonbType = [17]uintptr{ - 0: __ccgo_ts + 1636, - 1: __ccgo_ts + 8234, - 2: __ccgo_ts + 8239, - 3: __ccgo_ts + 6654, - 4: __ccgo_ts + 6654, - 5: __ccgo_ts + 6649, - 6: __ccgo_ts + 6649, - 7: __ccgo_ts + 8545, - 8: __ccgo_ts + 8545, - 9: __ccgo_ts + 8545, - 10: __ccgo_ts + 8545, - 11: __ccgo_ts + 25272, - 12: __ccgo_ts + 25278, - 13: __ccgo_ts + 1650, - 14: __ccgo_ts + 1650, - 15: __ccgo_ts + 1650, - 16: __ccgo_ts + 1650, + 0: __ccgo_ts + 1650, + 1: __ccgo_ts + 8359, + 2: __ccgo_ts + 8364, + 3: __ccgo_ts + 6718, + 4: __ccgo_ts + 6718, + 5: __ccgo_ts + 6713, + 6: __ccgo_ts + 6713, + 7: __ccgo_ts + 8670, + 8: __ccgo_ts + 8670, + 9: __ccgo_ts + 8670, + 10: __ccgo_ts + 8670, + 11: __ccgo_ts + 25395, + 12: __ccgo_ts + 25401, + 13: __ccgo_ts + 1664, + 14: __ccgo_ts + 1664, + 15: __ccgo_ts + 1664, + 16: __ccgo_ts + 1664, } // C documentation @@ -170823,6 +172311,38 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { _jsonAppendChar(tls, p, int8(',')) } +// C documentation +// +// /* c is a control character. Append the canonical JSON representation +// ** of that control character to p. +// ** +// ** This routine assumes that the output buffer has already been enlarged +// ** sufficiently to hold the worst-case encoding plus a nul terminator. +// */ +func _jsonAppendControlChar(tls *libc.TLS, p uintptr, c Tu8) { + if _aSpecial[c] != 0 { + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = int8('\\') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = _aSpecial[c] + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(2) + } else { + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = int8('\\') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = int8('u') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(2)))) = int8('0') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(3)))) = int8('0') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(4)))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25408 + uintptr(int32(c)>>int32(4)))) + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(5)))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25408 + uintptr(int32(c)&int32(0xf)))) + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(6) + } +} + +var _aSpecial = [32]int8{ + 8: int8('b'), + 9: int8('t'), + 10: int8('n'), + 12: int8('f'), + 13: int8('r'), +} + // C documentation // // /* Append the N-byte string in zIn to the end of the JsonString string @@ -170836,9 +172356,9 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { var c Tu8 var k Tu32 - var z, v10, v12, v14, v16, v18, v2, v20, v22, v24, v6, v8 uintptr - var v1, v11, v13, v15, v17, v19, v21, v23, v5, v7, v9 Tu64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v5, v6, v7, v8, v9 + var z, v10, v2, v4, v6, v8 uintptr + var v1, v3, v5, v7, v9 Tu64 + _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v2, v3, v4, v5, v6, v7, v8, v9 z = zIn if z == uintptr(0) { return @@ -170895,81 +172415,38 @@ func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { N -= k } c = *(*Tu8)(unsafe.Pointer(z)) - if !(int32(c) == int32('"') || int32(c) == int32('\\')) { - goto _3 - } - goto json_simple_escape - json_simple_escape: - ; - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { - return - } - v6 = p + 24 - v5 = *(*Tu64)(unsafe.Pointer(v6)) - *(*Tu64)(unsafe.Pointer(v6))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = int8('\\') - v8 = p + 24 - v7 = *(*Tu64)(unsafe.Pointer(v8)) - *(*Tu64)(unsafe.Pointer(v8))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = int8(c) - goto _4 - _3: - ; - if int32(c) == int32('\'') { - v10 = p + 24 - v9 = *(*Tu64)(unsafe.Pointer(v10)) - *(*Tu64)(unsafe.Pointer(v10))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = int8(c) - } else { - if _aSpecial[c] != 0 { - c = uint8(_aSpecial[c]) - goto json_simple_escape - } - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + if int32(c) == int32('"') || int32(c) == int32('\\') { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { return } - v12 = p + 24 - v11 = *(*Tu64)(unsafe.Pointer(v12)) - *(*Tu64)(unsafe.Pointer(v12))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v11))) = int8('\\') - v14 = p + 24 - v13 = *(*Tu64)(unsafe.Pointer(v14)) - *(*Tu64)(unsafe.Pointer(v14))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v13))) = int8('u') - v16 = p + 24 - v15 = *(*Tu64)(unsafe.Pointer(v16)) - *(*Tu64)(unsafe.Pointer(v16))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v15))) = int8('0') - v18 = p + 24 - v17 = *(*Tu64)(unsafe.Pointer(v18)) - *(*Tu64)(unsafe.Pointer(v18))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v17))) = int8('0') - v20 = p + 24 - v19 = *(*Tu64)(unsafe.Pointer(v20)) - *(*Tu64)(unsafe.Pointer(v20))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v19))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25285 + uintptr(int32(c)>>int32(4)))) - v22 = p + 24 - v21 = *(*Tu64)(unsafe.Pointer(v22)) - *(*Tu64)(unsafe.Pointer(v22))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v21))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25285 + uintptr(int32(c)&int32(0xf)))) + v4 = p + 24 + v3 = *(*Tu64)(unsafe.Pointer(v4)) + *(*Tu64)(unsafe.Pointer(v4))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v3))) = int8('\\') + v6 = p + 24 + v5 = *(*Tu64)(unsafe.Pointer(v6)) + *(*Tu64)(unsafe.Pointer(v6))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = int8(c) + } else { + if int32(c) == int32('\'') { + v8 = p + 24 + v7 = *(*Tu64)(unsafe.Pointer(v8)) + *(*Tu64)(unsafe.Pointer(v8))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = int8(c) + } else { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + return + } + _jsonAppendControlChar(tls, p, c) + } } - _4: - ; z++ N-- } - v24 = p + 24 - v23 = *(*Tu64)(unsafe.Pointer(v24)) - *(*Tu64)(unsafe.Pointer(v24))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v23))) = int8('"') -} - -var _aSpecial = [32]int8{ - 8: int8('b'), - 9: int8('t'), - 10: int8('n'), - 12: int8('f'), - 13: int8('r'), + v10 = p + 24 + v9 = *(*Tu64)(unsafe.Pointer(v10)) + *(*Tu64)(unsafe.Pointer(v10))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = int8('"') } // C documentation @@ -170987,9 +172464,9 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _, _, _, _ = n, n1, z, z1 switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_NULL): - _jsonAppendRawNZ(tls, p, __ccgo_ts+1636, uint32(4)) + _jsonAppendRawNZ(tls, p, __ccgo_ts+1650, uint32(4)) case int32(SQLITE_FLOAT): - _jsonPrintf(tls, int32(100), p, __ccgo_ts+15671, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) + _jsonPrintf(tls, int32(100), p, __ccgo_ts+15764, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) case int32(SQLITE_INTEGER): z = Xsqlite3_value_text(tls, pValue) n = uint32(Xsqlite3_value_bytes(tls, pValue)) @@ -171010,7 +172487,7 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _jsonTranslateBlobToText(tls, bp, uint32(0), p) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr) == 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25302, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25425, -int32(1)) (*TJsonString)(unsafe.Pointer(p)).FeErr = uint8(JSTRING_ERR) _jsonStringReset(tls, p) } @@ -171064,7 +172541,7 @@ func _jsonReturnString(tls *libc.TLS, p uintptr, pParse uintptr, ctx uintptr) { Xsqlite3_result_error_nomem(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr)&int32(JSTRING_MALFORMED) != 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25454, -int32(1)) } } } @@ -171347,8 +172824,8 @@ var _aNanInfName = [5]TNanInfName{ Fn: int8(3), FeType: int8(JSONB_FLOAT), FnRepl: int8(7), - FzMatch: __ccgo_ts + 25346, - FzRepl: __ccgo_ts + 25350, + FzMatch: __ccgo_ts + 25469, + FzRepl: __ccgo_ts + 25473, }, 1: { Fc1: int8('i'), @@ -171356,32 +172833,32 @@ var _aNanInfName = [5]TNanInfName{ Fn: int8(8), FeType: int8(JSONB_FLOAT), FnRepl: int8(7), - FzMatch: __ccgo_ts + 25358, - FzRepl: __ccgo_ts + 25350, + FzMatch: __ccgo_ts + 25481, + FzRepl: __ccgo_ts + 25473, }, 2: { Fc1: int8('n'), Fc2: int8('N'), Fn: int8(3), FnRepl: int8(4), - FzMatch: __ccgo_ts + 1641, - FzRepl: __ccgo_ts + 1636, + FzMatch: __ccgo_ts + 1655, + FzRepl: __ccgo_ts + 1650, }, 3: { Fc1: int8('q'), Fc2: int8('Q'), Fn: int8(4), FnRepl: int8(4), - FzMatch: __ccgo_ts + 25367, - FzRepl: __ccgo_ts + 1636, + FzMatch: __ccgo_ts + 25490, + FzRepl: __ccgo_ts + 1650, }, 4: { Fc1: int8('s'), Fc2: int8('S'), Fn: int8(4), FnRepl: int8(4), - FzMatch: __ccgo_ts + 25372, - FzRepl: __ccgo_ts + 1636, + FzMatch: __ccgo_ts + 25495, + FzRepl: __ccgo_ts + 1650, }, } @@ -171396,7 +172873,7 @@ func _jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25377, libc.VaList(bp+8, zFuncName)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25500, libc.VaList(bp+8, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) } @@ -171845,30 +173322,37 @@ func _jsonbValidityCheck(tls *libc.TLS, pParse uintptr, i Tu32, iEnd Tu32, iDept return j + uint32(1) } } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) <= int32(0x1f) { + /* Control characters in JSON5 string literals are ok */ + if int32(x) == int32(JSONB_TEXTJ) { + return j + uint32(1) + } } else { - if libc.Xstrchr(tls, __ccgo_ts+25420, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { - j++ + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { + return j + uint32(1) } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { - if j+uint32(5) >= k { - return j + uint32(1) - } - if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { - return j + uint32(1) - } + if libc.Xstrchr(tls, __ccgo_ts+25543, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { j++ } else { - if int32(x) != int32(JSONB_TEXT5) { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { + if j+uint32(5) >= k { + return j + uint32(1) + } + if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { + return j + uint32(1) + } + j++ } else { - *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) - szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) - if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + if int32(x) != int32(JSONB_TEXT5) { return j + uint32(1) + } else { + *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) + szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) + if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + return j + uint32(1) + } + j += szC - uint32(1) } - j += szC - uint32(1) } } } @@ -172295,9 +173779,14 @@ parse_string: } } else { if int32(c) <= int32(0x1f) { - /* Control characters are not allowed in strings */ - (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j - return -int32(1) + if int32(c) == 0 { + (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j + return -int32(1) + } + /* Control characters are not allowed in canonical JSON string + ** literals, but are allowed in JSON5 string literals. */ + opcode = uint8(JSONB_TEXT5) + (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) } else { if int32(c) == int32('"') { opcode = uint8(JSONB_TEXT5) @@ -172311,7 +173800,7 @@ parse_string: return int32(j + uint32(1)) _5: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8234, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8359, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_TRUE)) return int32(i + uint32(4)) } @@ -172319,7 +173808,7 @@ _5: return -int32(1) _6: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8239, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(5)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8364, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(5)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_FALSE)) return int32(i + uint32(5)) } @@ -172396,14 +173885,14 @@ parse_number: /* JSON5 allows for "+Infinity" and "-Infinity" using exactly ** that case. SQLite also allows these in any case and it allows ** "+inf" and "-inf". */ - if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+25346, int32(3)) == 0 { + if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+25469, int32(3)) == 0 { (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) if int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == int32('-') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25429) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25552) } else { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25436) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25559) } - if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25442, int32(5)) == 0 { + if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25565, int32(5)) == 0 { v48 = int32(9) } else { v48 = int32(4) @@ -172564,7 +174053,7 @@ _29: return -int32(1) _37: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1636, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1650, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) return int32(i + uint32(4)) } @@ -172588,7 +174077,7 @@ _38: goto _51 } if int32(_aNanInfName[k1].FeType) == int32(JSONB_FLOAT) { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25436) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25559) } else { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) } @@ -172633,7 +174122,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 i += _json5Whitespace(tls, zJson+uintptr(i)) if *(*int8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { if pCtx != 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25454, -int32(1)) } _jsonParseReset(tls, pParse) return int32(1) @@ -172646,7 +174135,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 if (*TJsonParse)(unsafe.Pointer(pParse)).Foom != 0 { Xsqlite3_result_error_nomem(tls, pCtx) } else { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25454, -int32(1)) } } _jsonParseReset(tls, pParse) @@ -172809,15 +174298,15 @@ func _jsonTranslateBlobToText(tls *libc.TLS, pParse uintptr, i Tu32, pOut uintpt goto _16 _2: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1636, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1650, uint32(4)) return i + uint32(1) _3: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8234, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8359, uint32(4)) return i + uint32(1) _4: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8239, uint32(5)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8364, uint32(5)) return i + uint32(1) _6: ; @@ -172866,9 +174355,9 @@ _7: k++ } if bOverflow != 0 { - v19 = __ccgo_ts + 25350 + v19 = __ccgo_ts + 25473 } else { - v19 = __ccgo_ts + 12101 + v19 = __ccgo_ts + 12226 } _jsonPrintf(tls, int32(100), pOut, v19, libc.VaList(bp+16, u)) goto _16 @@ -172916,7 +174405,7 @@ _11: for sz2 > uint32(0) { k2 = uint32(0) for { - if !(k2 < sz2 && int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('\\') && int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('"')) { + if !(k2 < sz2 && (_jsonIsOk[uint8(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2))))] != 0 || int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) == int32('\''))) { break } goto _21 @@ -172933,7 +174422,16 @@ _11: sz2 -= k2 } if int32(*(*int8)(unsafe.Pointer(zIn2))) == int32('"') { - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25448, uint32(2)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25571, uint32(2)) + zIn2++ + sz2-- + continue + } + if int32(*(*int8)(unsafe.Pointer(zIn2))) <= int32(0x1f) { + if (*TJsonString)(unsafe.Pointer(pOut)).FnUsed+uint64(7) > (*TJsonString)(unsafe.Pointer(pOut)).FnAlloc && _jsonStringGrow(tls, pOut, uint32(7)) != 0 { + break + } + _jsonAppendControlChar(tls, pOut, uint8(*(*int8)(unsafe.Pointer(zIn2)))) zIn2++ sz2-- continue @@ -172947,7 +174445,7 @@ _11: case int32('\''): _jsonAppendChar(tls, pOut, int8('\'')) case int32('v'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25451, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25574, uint32(6)) case int32('x'): if sz2 < uint32(4) { p23 = pOut + 33 @@ -172955,12 +174453,12 @@ _11: sz2 = uint32(2) break } - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25458, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25581, uint32(4)) _jsonAppendRawNZ(tls, pOut, zIn2+2, uint32(2)) zIn2 += uintptr(2) sz2 -= uint32(2) case int32('0'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25463, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25586, uint32(6)) case int32('\r'): if sz2 > uint32(2) && int32(*(*int8)(unsafe.Pointer(zIn2 + 2))) == int32('\n') { zIn2++ @@ -173049,6 +174547,140 @@ _16: return i + n + *(*Tu32)(unsafe.Pointer(bp)) } +// C documentation +// +// /* Context for recursion of json_pretty() +// */ +type TJsonPretty = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty = TJsonPretty + +type TJsonPretty1 = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty1 = TJsonPretty1 + +// C documentation +// +// /* Append indentation to the pretty JSON under construction */ +func _jsonPrettyIndent(tls *libc.TLS, pPretty uintptr) { + var jj Tu32 + _ = jj + jj = uint32(0) + for { + if !(jj < (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent) { + break + } + _jsonAppendRaw(tls, (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut, (*TJsonPretty)(unsafe.Pointer(pPretty)).FzIndent, (*TJsonPretty)(unsafe.Pointer(pPretty)).FszIndent) + goto _1 + _1: + ; + jj++ + } +} + +// C documentation +// +// /* +// ** Translate the binary JSONB representation of JSON beginning at +// ** pParse->aBlob[i] into a JSON text string. Append the JSON +// ** text onto the end of pOut. Return the index in pParse->aBlob[] +// ** of the first byte past the end of the element that is translated. +// ** +// ** This is a variant of jsonTranslateBlobToText() that "pretty-prints" +// ** the output. Extra whitespace is inserted to make the JSON easier +// ** for humans to read. +// ** +// ** If an error is detected in the BLOB input, the pOut->eErr flag +// ** might get set to JSTRING_MALFORMED. But not all BLOB input errors +// ** are detected. So a malformed JSONB input might either result +// ** in an error, or in incorrect JSON. +// ** +// ** The pOut->eErr JSTRING_OOM flag is set on a OOM. +// */ +func _jsonTranslateBlobToPrettyText(tls *libc.TLS, pPretty uintptr, i Tu32) (r Tu32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var iEnd, j, n Tu32 + var pOut, pParse, p1, p2 uintptr + var _ /* sz at bp+0 */ Tu32 + _, _, _, _, _, _, _ = iEnd, j, n, pOut, pParse, p1, p2 + pParse = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpParse + pOut = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut + n = _jsonbPayloadSize(tls, pParse, i, bp) + if n == uint32(0) { + p1 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + return (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob + uint32(1) + } + switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { + case int32(JSONB_ARRAY): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, int8('[')) + if j < iEnd { + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25593, uint32(2)) + } + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, int8(']')) + i = iEnd + case int32(JSONB_OBJECT): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, int8('{')) + if j < iEnd { + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToText(tls, pParse, j, pOut) + if j > iEnd { + p2 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p2)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p2))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25596, uint32(2)) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25593, uint32(2)) + } + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, int8('}')) + i = iEnd + default: + i = _jsonTranslateBlobToText(tls, pParse, i, pOut) + break + } + return i +} + // C documentation // // /* Return true if the input pJson @@ -173766,7 +175398,7 @@ func _jsonReturnFromBlob(tls *libc.TLS, pParse uintptr, i Tu32, pCtx uintptr, te db = Xsqlite3_context_db_handle(tls, pCtx) n = _jsonbPayloadSize(tls, pParse, i, bp) if n == uint32(0) { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25454, -int32(1)) return } switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { @@ -174002,7 +175634,7 @@ returnfromblob_oom: goto returnfromblob_malformed returnfromblob_malformed: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25454, -int32(1)) return } @@ -174043,7 +175675,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob = Xsqlite3_value_blob(tls, pArg) (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob = uint32(Xsqlite3_value_bytes(tls, pArg)) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25302, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25425, -int32(1)) return int32(1) } case int32(SQLITE_TEXT): @@ -174056,7 +175688,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FzJson = zJson (*TJsonParse)(unsafe.Pointer(pParse)).FnJson = nJson if _jsonConvertTextToBlob(tls, pParse, ctx) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) _sqlite3DbFree(tls, (*TJsonParse)(unsafe.Pointer(pParse)).Fdb, (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob) libc.X__builtin___memset_chk(tls, pParse, 0, uint64(72), libc.X__builtin_object_size(tls, pParse, 0)) return int32(1) @@ -174075,10 +175707,10 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin return int32(1) } if int32(*(*int8)(unsafe.Pointer(z))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25436) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25559) } else { if int32(*(*int8)(unsafe.Pointer(z))) == int32('-') && int32(*(*int8)(unsafe.Pointer(z + 1))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25429) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25552) } else { _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(n), z) } @@ -174117,7 +175749,7 @@ func _jsonBadPathError(tls *libc.TLS, ctx uintptr, zPath uintptr) (r uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25470, libc.VaList(bp+8, zPath)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25599, libc.VaList(bp+8, zPath)) if ctx == uintptr(0) { return zMsg } @@ -174214,7 +175846,7 @@ jsonInsertIntoBlob_patherror: ; _jsonParseFree(tls, p) if rc == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) } else { _jsonBadPathError(tls, ctx, zPath) } @@ -174396,7 +176028,7 @@ json_pfa_malformed: return p } else { _jsonParseFree(tls, p) - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) return uintptr(0) } goto json_pfa_oom @@ -174531,7 +176163,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if int32(*(*int8)(unsafe.Pointer(zPath))) == int32('$') { v1 = zPath + uintptr(1) } else { - v1 = __ccgo_ts + 25488 + v1 = __ccgo_ts + 25617 } i = _jsonLookupStep(tls, p, uint32(0), v1, uint32(0)) if i >= uint32(JSON_LOOKUP_PATHERROR) { @@ -174541,7 +176173,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) } } eErr = uint8(1) @@ -174559,25 +176191,6 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) _jsonParseFree(tls, p) } -// C documentation -// -// /* True if the string is all digits */ -func _jsonAllDigits(tls *libc.TLS, z uintptr, n int32) (r int32) { - var i int32 - _ = i - i = 0 - for { - if !(i < n && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&int32(0x04) != 0) { - break - } - goto _1 - _1: - ; - i++ - } - return libc.BoolInt32(i == n) -} - // C documentation // // /* True if the string is all alphanumerics and underscores */ @@ -174664,21 +176277,21 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { ** [NUMBER] ==> $[NUMBER] // Not PG. Purely for convenience */ _jsonStringInit(tls, bp, ctx) - if _jsonAllDigits(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25490, uint32(1)) + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) == int32(SQLITE_INTEGER) { + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25619, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+5509, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+5573, uint32(2)) } else { if _jsonAllAlphanum(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1663, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1677, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { if int32(*(*int8)(unsafe.Pointer(zPath))) == int32('[') && nPath >= int32(3) && int32(*(*int8)(unsafe.Pointer(zPath + uintptr(nPath-int32(1))))) == int32(']') { _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25492, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25621, uint32(2)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25495, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25624, uint32(1)) } } } @@ -174714,11 +176327,11 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { goto json_extract_error /* Return NULL if not found */ } else { _jsonAppendSeparator(tls, bp) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1636, uint32(4)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1650, uint32(4)) } } else { if j == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) goto json_extract_error } else { _jsonBadPathError(tls, ctx, zPath) @@ -174986,7 +176599,7 @@ func _jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == int32(JSON_MERGE_OOM) { Xsqlite3_result_error_nomem(tls, ctx) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) } } _jsonParseFree(tls, pPatch) @@ -175010,7 +176623,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { var _ /* jx at bp+0 */ TJsonString _, _, _ = i, n, z if argc&int32(1) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25497, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25626, -int32(1)) return } _jsonStringInit(tls, bp, ctx) @@ -175021,7 +176634,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { break } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != int32(SQLITE_TEXT) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25548, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25677, -int32(1)) _jsonStringReset(tls, bp) return } @@ -175093,7 +176706,7 @@ func _jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) } } goto json_remove_done @@ -175130,7 +176743,7 @@ func _jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { return } if argc&int32(1) == 0 { - _jsonWrongNumArgs(tls, ctx, __ccgo_ts+16144) + _jsonWrongNumArgs(tls, ctx, __ccgo_ts+16237) return } _jsonInsertIntoBlob(tls, ctx, argc, argv, int32(JEDIT_REPL)) @@ -175161,9 +176774,9 @@ func _jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { } if argc&int32(1) == 0 { if bIsSet != 0 { - v1 = __ccgo_ts + 25582 + v1 = __ccgo_ts + 25711 } else { - v1 = __ccgo_ts + 25586 + v1 = __ccgo_ts + 25715 } _jsonWrongNumArgs(tls, ctx, v1) return @@ -175211,7 +176824,7 @@ func _jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25331, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25454, -int32(1)) } } goto json_type_done @@ -175226,6 +176839,48 @@ json_type_done: _jsonParseFree(tls, p) } +// C documentation +// +// /* +// ** json_pretty(JSON) +// ** json_pretty(JSON, INDENT) +// ** +// ** Return text that is a pretty-printed rendering of the input JSON. +// ** If the argument is not valid JSON, return NULL. +// ** +// ** The INDENT argument is text that is used for indentation. If omitted, +// ** it defaults to four spaces (the same as PostgreSQL). +// */ +func _jsonPrettyFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { + bp := tls.Alloc(176) + defer tls.Free(176) + var v1 uintptr + var v2 bool + var _ /* s at bp+0 */ TJsonString + var _ /* x at bp+136 */ TJsonPretty + _, _ = v1, v2 /* Pretty printing context */ + libc.X__builtin___memset_chk(tls, bp+136, 0, uint64(32), libc.X__builtin_object_size(tls, bp+136, 0)) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse = _jsonParseFuncArg(tls, ctx, *(*uintptr)(unsafe.Pointer(argv)), uint32(0)) + if (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse == uintptr(0) { + return + } + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpOut = bp + _jsonStringInit(tls, bp, ctx) + if v2 = argc == int32(1); !v2 { + v1 = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = v1 + } + if v2 || v1 == uintptr(0) { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = __ccgo_ts + 25722 + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(4) + } else { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(libc.Xstrlen(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent)) + } + _jsonTranslateBlobToPrettyText(tls, bp+136, uint32(0)) + _jsonReturnString(tls, bp, uintptr(0), uintptr(0)) + _jsonParseFree(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse) +} + // C documentation // // /* @@ -175300,7 +176955,7 @@ func _jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if argc == int32(2) { f = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if f < int64(1) || f > int64(15) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25593, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25727, -int32(1)) return } flags = uint8(f & int64(0x0f)) @@ -175491,7 +177146,7 @@ func _jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25650, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25784, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -175640,7 +177295,7 @@ func _jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25653, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25787, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -175743,7 +177398,7 @@ func _jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argv _ = argc _ = pAux - rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25656) + rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25790) if rc == SQLITE_OK { pNew = _sqlite3DbMallocZero(tls, db, uint64(32)) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -175877,7 +177532,7 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { var _ /* sz at bp+0 */ Tu32 _, _, _, _, _ = i, k, n, needQuote, z if int32((*TJsonEachCursor)(unsafe.Pointer(p)).FeType) == int32(JSONB_ARRAY) { - _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25739, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) + _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25873, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) } else { *(*Tu32)(unsafe.Pointer(bp)) = uint32(0) needQuote = 0 @@ -175903,9 +177558,9 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { } } if needQuote != 0 { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25746, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25880, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } else { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25754, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25888, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } } } @@ -176291,7 +177946,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a i = v5 (*TJsonEachCursor)(unsafe.Pointer(p)).FeType = uint8(0) (*TJsonEachCursor)(unsafe.Pointer(p)).FnRoot = uint32(1) - _jsonAppendRaw(tls, p+56, __ccgo_ts+25760, uint32(1)) + _jsonAppendRaw(tls, p+56, __ccgo_ts+25894, uint32(1)) } (*TJsonEachCursor)(unsafe.Pointer(p)).FnParent = uint32(0) n = _jsonbPayloadSize(tls, p+192, i, bp) @@ -176315,7 +177970,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a json_each_malformed_input: ; Xsqlite3_free(tls, (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg) - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25331, 0) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25454, 0) _jsonEachCursorReset(tls, p) if (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { v6 = int32(SQLITE_ERROR) @@ -176369,183 +178024,193 @@ func init() { // ** Register JSON functions. // */ func _sqlite3RegisterJsonFunctions(tls *libc.TLS) { - _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2304)/libc.Uint64FromInt64(72))) + _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2448)/libc.Uint64FromInt64(72))) } -var _aJsonFunc = [32]TFuncDef{ +var _aJsonFunc = [34]TFuncDef{ 0: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25762, + FzName: __ccgo_ts + 25896, }, 1: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25767, + FzName: __ccgo_ts + 25901, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25773, + FzName: __ccgo_ts + 25907, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25784, + FzName: __ccgo_ts + 25918, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25796, + FzName: __ccgo_ts + 25930, }, 5: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25796, + FzName: __ccgo_ts + 25930, }, 6: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25814, + FzName: __ccgo_ts + 25948, }, 7: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25834, + FzName: __ccgo_ts + 25968, }, 8: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25847, + FzName: __ccgo_ts + 25981, }, 9: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_JSON) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25861, + FzName: __ccgo_ts + 25995, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_SQL) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25864, + FzName: __ccgo_ts + 25998, }, 11: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25868, + FzName: __ccgo_ts + 26002, }, 12: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25880, + FzName: __ccgo_ts + 26014, }, 13: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25893, + FzName: __ccgo_ts + 26027, }, 14: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25905, + FzName: __ccgo_ts + 26039, }, 15: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25918, + FzName: __ccgo_ts + 26052, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25929, + FzName: __ccgo_ts + 26063, }, 17: { FnArg: int8(1), - FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25941, + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 26075, }, 18: { + FnArg: int8(2), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 26075, + }, + 19: { + FnArg: int8(1), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 26087, + }, + 20: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25952, + FzName: __ccgo_ts + 26098, }, - 19: { + 21: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25964, + FzName: __ccgo_ts + 26110, }, - 20: { + 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25977, + FzName: __ccgo_ts + 26123, }, - 21: { + 23: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25990, + FzName: __ccgo_ts + 26136, }, - 22: { + 24: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26004, + FzName: __ccgo_ts + 26150, }, - 23: { + 25: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26013, + FzName: __ccgo_ts + 26159, }, - 24: { + 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26023, + FzName: __ccgo_ts + 26169, }, - 25: { + 27: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26023, + FzName: __ccgo_ts + 26169, }, - 26: { + 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26033, + FzName: __ccgo_ts + 26179, }, - 27: { + 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26033, + FzName: __ccgo_ts + 26179, }, - 28: { + 30: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 26044, + FzName: __ccgo_ts + 26190, }, - 29: { + 31: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26061, + FzName: __ccgo_ts + 26207, }, - 30: { + 32: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 26079, + FzName: __ccgo_ts + 26225, }, - 31: { + 33: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26097, + FzName: __ccgo_ts + 26243, }, } @@ -176568,33 +178233,35 @@ func init() { *(*uintptr)(unsafe.Add(p, 1032)) = __ccgo_fp(_jsonObjectFunc) *(*uintptr)(unsafe.Add(p, 1104)) = __ccgo_fp(_jsonPatchFunc) *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonPatchFunc) - *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonQuoteFunc) - *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2048)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2056)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2064)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2120)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2128)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2136)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonQuoteFunc) + *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2208)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2280)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2328)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2336)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2344)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2352)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2400)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2408)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2416)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2424)) = __ccgo_fp(_jsonGroupInverse) } // C documentation @@ -176626,11 +178293,11 @@ var _aMod = [2]struct { FpModule uintptr }{ 0: { - FzName: __ccgo_ts + 26116, + FzName: __ccgo_ts + 26262, FpModule: uintptr(unsafe.Pointer(&_jsonEachModule)), }, 1: { - FzName: __ccgo_ts + 26126, + FzName: __ccgo_ts + 26272, FpModule: uintptr(unsafe.Pointer(&_jsonTreeModule)), }, } @@ -177277,7 +178944,7 @@ func _nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode Ti64, pParent uintptr, pp } } if (*TRtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) { - rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+26136, iNode, 0, pRtree+112) + rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+26282, iNode, 0, pRtree+112) } if rc != 0 { *(*uintptr)(unsafe.Pointer(ppNode)) = uintptr(0) @@ -177582,7 +179249,7 @@ func _rtreeDestroy(tls *libc.TLS, pVtab uintptr) (r int32) { var rc int32 _, _, _ = pRtree, rc, zCreate pRtree = pVtab - zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+26141, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+26287, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if !(zCreate != 0) { rc = int32(SQLITE_NOMEM) } else { @@ -178503,7 +180170,7 @@ func _findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid Ti64, ppLeaf uintptr, p func _deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) (r int32) { var pBlob, pInfo, pSrc uintptr _, _, _ = pBlob, pInfo, pSrc /* Callback information */ - pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+26223) + pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+26369) if pSrc == uintptr(0) { return int32(SQLITE_ERROR) } @@ -178558,7 +180225,7 @@ func _rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp iRowid = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) *(*Ti64)(unsafe.Pointer(bp + 24)) = 0 eType = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) == float64(iRowid) { + if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && 0 == _sqlite3IntFloatCompare(tls, iRowid, Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))) { rc = _findLeafNode(tls, pRtree, iRowid, bp+16, bp+24) } else { rc = SQLITE_OK @@ -180038,7 +181705,7 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) var _ /* pStmt at bp+0 */ uintptr _, _, _, _, _, _ = rc, zCol, zCol1, zCol2, zSql, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26237, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26383, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -int32(1), bp, uintptr(0)) } else { @@ -180048,11 +181715,11 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) if rc == SQLITE_OK { if iCol == 0 { zCol = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26257, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26403, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { zCol1 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol) zCol2 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol+int32(1)) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26289, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26435, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -180266,7 +181933,7 @@ func _rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) (r int32) { _, _, _ = pRtree, rc, zSql pRtree = pVtab rc = int32(SQLITE_NOMEM) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26326, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26472, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) if zSql != 0 { _nodeBlobReset(tls, pRtree) rc = Xsqlite3_exec(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -180320,9 +181987,9 @@ func _rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) (r int32) { var v2 int64 var _ /* p at bp+0 */ uintptr _, _, _, _, _, _ = nRow, rc, zFmt, zSql, v1, v2 - zFmt = __ccgo_ts + 26471 + zFmt = __ccgo_ts + 26617 nRow = int64(RTREE_MIN_ROWEST) - rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11930, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+12055, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == int32(SQLITE_ERROR) { @@ -180380,9 +182047,9 @@ func _rtreeShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName1 = [3]uintptr{ - 0: __ccgo_ts + 26527, - 1: __ccgo_ts + 5832, - 2: __ccgo_ts + 17045, + 0: __ccgo_ts + 26673, + 1: __ccgo_ts + 5896, + 2: __ccgo_ts + 17132, } var _rtreeModule = Tsqlite3_module{ @@ -180426,21 +182093,21 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref (*TRtree)(unsafe.Pointer(pRtree)).Fdb = db if isCreate != 0 { p = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26941, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+27087, libc.VaList(bp+8, zDb, zPrefix)) ii = 0 for { if !(ii < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+27003, libc.VaList(bp+8, ii)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+27149, libc.VaList(bp+8, ii)) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+27008, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+27072, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+27142, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+27154, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+27218, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+27288, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return int32(SQLITE_NOMEM) @@ -180470,7 +182137,7 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } else { /* An UPSERT is very slightly slower than REPLACE, but it is needed ** if there are auxiliary columns */ - zFormat = __ccgo_ts + 27191 + zFormat = __ccgo_ts + 27337 } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+8, zDb, zPrefix)) if zSql != 0 { @@ -180485,31 +182152,31 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref i++ } if (*TRtree)(unsafe.Pointer(pRtree)).FnAux != 0 && rc != int32(SQLITE_NOMEM) { - (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+27299, libc.VaList(bp+8, zDb, zPrefix)) + (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+27445, libc.VaList(bp+8, zDb, zPrefix)) if (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { p1 = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27344, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27490, libc.VaList(bp+8, zDb, zPrefix)) ii1 = 0 for { if !(ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } if ii1 != 0 { - Xsqlite3_str_append(tls, p1, __ccgo_ts+13438, int32(1)) + Xsqlite3_str_append(tls, p1, __ccgo_ts+13563, int32(1)) } if ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27371, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27517, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) } else { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27393, libc.VaList(bp+8, ii1, ii1+int32(2))) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27539, libc.VaList(bp+8, ii1, ii1+int32(2))) } goto _3 _3: ; ii1++ } - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27401, 0) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27547, 0) zSql1 = Xsqlite3_str_finish(tls, p1) if zSql1 == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -180523,14 +182190,14 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } var _azSql = [8]uintptr{ - 0: __ccgo_ts + 26532, - 1: __ccgo_ts + 26585, - 2: __ccgo_ts + 26630, - 3: __ccgo_ts + 26682, - 4: __ccgo_ts + 26736, - 5: __ccgo_ts + 26781, - 6: __ccgo_ts + 26839, - 7: __ccgo_ts + 26894, + 0: __ccgo_ts + 26678, + 1: __ccgo_ts + 26731, + 2: __ccgo_ts + 26776, + 3: __ccgo_ts + 26828, + 4: __ccgo_ts + 26882, + 5: __ccgo_ts + 26927, + 6: __ccgo_ts + 26985, + 7: __ccgo_ts + 27040, } // C documentation @@ -180588,7 +182255,7 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE _, _ = rc, zSql if isCreate != 0 { *(*int32)(unsafe.Pointer(bp)) = 0 - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27417, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27563, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) rc = _getIntFromStmt(tls, db, zSql, bp) if rc == SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp)) - int32(64) @@ -180596,17 +182263,17 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = int32(4) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*int32(RTREE_MAXCELLS) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27437, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27583, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) rc = _getIntFromStmt(tls, db, zSql, pRtree+32) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } else { if (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize < libc.Int32FromInt32(512)-libc.Int32FromInt32(64) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< libc.Int32FromInt32(RTREE_MAX_AUX_COLUMN)+libc.Int32FromInt32(3) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) return int32(SQLITE_ERROR) } Xsqlite3_vtab_config(tls, db, int32(SQLITE_VTAB_CONSTRAINT_SUPPORT), libc.VaList(bp+8, int32(1))) @@ -180683,13 +182350,13 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, 0)) libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, 0)) libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, 0)) - libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27680, uint64(6), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), 0)) + libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27826, uint64(6), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), 0)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27686, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27832, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = int32(4) for { if !(ii < argc) { @@ -180698,7 +182365,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt zArg = *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)) if int32(*(*int8)(unsafe.Pointer(zArg))) == int32('+') { (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27710, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27856, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) } else { if int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux) > 0 { break @@ -180712,19 +182379,19 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27737, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27883, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) } else { if ii < argc { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, aErrMsg[int32(4)])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, aErrMsg[int32(4)])) rc = int32(SQLITE_ERROR) } else { v3 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v3 if SQLITE_OK != v3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } } @@ -180747,7 +182414,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } } if iErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, aErrMsg[iErr])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, aErrMsg[iErr])) goto rtreeInit_fail } (*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell = uint8(int32(8) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnDim2)*int32(4)) @@ -180758,7 +182425,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -180774,8 +182441,8 @@ rtreeInit_fail: } var _azFormat = [2]uintptr{ - 0: __ccgo_ts + 27716, - 1: __ccgo_ts + 27727, + 0: __ccgo_ts + 27862, + 1: __ccgo_ts + 27873, } // C documentation @@ -180833,21 +182500,21 @@ func _rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { } _nodeGetCell(tls, bp+40, bp, ii, bp+1008) if ii > 0 { - Xsqlite3_str_append(tls, pOut, __ccgo_ts+11550, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+11675, int32(1)) } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27740, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27886, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) jj = 0 for { if !(jj < int32((*(*TRtree)(unsafe.Pointer(bp + 40))).FnDim2)) { break } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27746, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27892, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) goto _2 _2: ; jj++ } - Xsqlite3_str_append(tls, pOut, __ccgo_ts+27750, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+27896, int32(1)) goto _1 _1: ; @@ -180874,7 +182541,7 @@ func _rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { _ = zBlob _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != int32(SQLITE_BLOB) || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+27752, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+27898, -int32(1)) } else { zBlob = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -180992,11 +182659,11 @@ func _rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintpt (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } else { if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - v1 = __ccgo_ts + 4551 + v1 = __ccgo_ts + 4615 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27785, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27931, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } @@ -181030,7 +182697,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt _, _, _ = nNode, pNode, pRet pRet = uintptr(0) /* Return value */ if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) { - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27792, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27938, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { Xsqlite3_bind_int64(tls, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode, int32(1), iNode) @@ -181047,7 +182714,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt } _rtreeCheckReset(tls, pCheck, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27837, libc.VaList(bp+8, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27983, libc.VaList(bp+8, iNode)) } } return pRet @@ -181076,8 +182743,8 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i var rc int32 _, _, _, _, _, _ = azSql, ii, pStmt, rc, v1, v2 azSql = [2]uintptr{ - 0: __ccgo_ts + 27869, - 1: __ccgo_ts + 27923, + 0: __ccgo_ts + 28015, + 1: __ccgo_ts + 28069, } if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) = _rtreeCheckPrepare(tls, pCheck, azSql[bLeaf], libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) @@ -181090,21 +182757,21 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i rc = Xsqlite3_step(tls, pStmt) if rc == int32(SQLITE_DONE) { if bLeaf != 0 { - v1 = __ccgo_ts + 27971 + v1 = __ccgo_ts + 28117 } else { - v1 = __ccgo_ts + 27979 + v1 = __ccgo_ts + 28125 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27988, libc.VaList(bp+8, iKey, iVal, v1)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28134, libc.VaList(bp+8, iKey, iVal, v1)) } else { if rc == int32(SQLITE_ROW) { ii = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { if bLeaf != 0 { - v2 = __ccgo_ts + 27971 + v2 = __ccgo_ts + 28117 } else { - v2 = __ccgo_ts + 27979 + v2 = __ccgo_ts + 28125 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28033, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28179, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) } } } @@ -181149,7 +182816,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 v2 = libc.BoolInt32(*(*TRtreeValue)(unsafe.Pointer(bp)) > *(*TRtreeValue)(unsafe.Pointer(bp + 4))) } if v2 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28091, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28237, libc.VaList(bp+24, i, iCell, iNode)) } if pParent != 0 { _readCoord(tls, pParent+uintptr(libc.Int32FromInt32(4)*libc.Int32FromInt32(2)*i), bp+8) @@ -181167,7 +182834,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 } } if v5 || v4 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28139, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28285, libc.VaList(bp+24, i, iCell, iNode)) } } goto _1 @@ -181200,19 +182867,19 @@ func _rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintpt aNode = _rtreeCheckGetNode(tls, pCheck, iNode, bp) if aNode != 0 { if *(*int32)(unsafe.Pointer(bp)) < int32(4) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28206, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28352, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) } else { /* Used to iterate through cells */ if aParent == uintptr(0) { iDepth = _readInt16(tls, aNode) if iDepth > int32(RTREE_MAX_DEPTH) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28240, libc.VaList(bp+16, iDepth)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28386, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = _readInt16(tls, aNode+2) if int32(4)+nCell*(int32(8)+(*TRtreeCheck)(unsafe.Pointer(pCheck)).FnDim*int32(2)*int32(4)) > *(*int32)(unsafe.Pointer(bp)) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28270, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28416, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) } else { i = 0 for { @@ -181257,12 +182924,12 @@ func _rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect Ti64) var pCount uintptr _, _ = nActual, pCount if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { - pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28325, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) + pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28471, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) if pCount != 0 { if Xsqlite3_step(tls, pCount) == int32(SQLITE_ROW) { nActual = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28356, libc.VaList(bp+8, zTbl, nExpect, nActual)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28502, libc.VaList(bp+8, zTbl, nExpect, nActual)) } } (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -181291,7 +182958,7 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzDb = zDb (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzTab = zTab /* Find the number of auxiliary columns */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28423, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28569, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { nAux = Xsqlite3_column_count(tls, pStmt) - int32(2) Xsqlite3_finalize(tls, pStmt) @@ -181301,11 +182968,11 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe } } /* Find number of dimensions in the rtree table. */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+26237, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+26383, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim = (Xsqlite3_column_count(tls, pStmt) - int32(1) - nAux) / int32(2) if (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim < int32(1) { - _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28451, 0) + _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28597, 0) } else { if int32(SQLITE_ROW) == Xsqlite3_step(tls, pStmt) { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FbInt = libc.BoolInt32(Xsqlite3_column_type(tls, pStmt, int32(1)) == int32(SQLITE_INTEGER)) @@ -181321,8 +182988,8 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe if (*(*TRtreeCheck)(unsafe.Pointer(bp))).Frc == SQLITE_OK { _rtreeCheckNode(tls, bp, 0, uintptr(0), int64(1)) } - _rtreeCheckCount(tls, bp, __ccgo_ts+28482, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) - _rtreeCheckCount(tls, bp, __ccgo_ts+28489, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28628, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28635, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) } /* Finalize SQL statements used by the integrity-check */ Xsqlite3_finalize(tls, (*(*TRtreeCheck)(unsafe.Pointer(bp))).FpGetNode) @@ -181349,7 +183016,7 @@ func _rtreeIntegrity(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zName uintpt _ = isQuick rc = _rtreeCheckTable(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, pzErr) if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28497, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28643, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) if *(*uintptr)(unsafe.Pointer(pzErr)) == uintptr(0) { rc = int32(SQLITE_NOMEM) } @@ -181400,13 +183067,13 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { var _ /* zReport at bp+0 */ uintptr _, _, _, _ = rc, zDb, zTab, v1 if nArg != int32(1) && nArg != int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+28516, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+28662, -int32(1)) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zDb = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg))) if nArg == int32(1) { zTab = zDb - zDb = __ccgo_ts + 6933 + zDb = __ccgo_ts + 6997 } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -181415,7 +183082,7 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { if *(*uintptr)(unsafe.Pointer(bp)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(bp)) } else { - v1 = __ccgo_ts + 18858 + v1 = __ccgo_ts + 18945 } Xsqlite3_result_text(tls, ctx, v1, -int32(1), uintptr(-libc.Int32FromInt32(1))) } else { @@ -181882,19 +183549,19 @@ func _geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) if p != 0 { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) - Xsqlite3_str_append(tls, x, __ccgo_ts+25490, int32(1)) + Xsqlite3_str_append(tls, x, __ccgo_ts+25619, int32(1)) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28567, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28713, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28578, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28724, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -181923,20 +183590,20 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) cSep = int8('\'') - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28589, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28735, 0) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28607, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28753, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) cSep = int8(' ') goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28615, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28761, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) i = int32(1) for { if !(i < argc) { @@ -181944,14 +183611,14 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 { - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28623, libc.VaList(bp+8, z)) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28769, libc.VaList(bp+8, z)) } goto _2 _2: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28627, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28773, 0) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -183080,13 +184747,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, 0)) libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, 0)) libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, 0)) - libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27680, uint64(6), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), 0)) + libc.X__builtin___memcpy_chk(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27826, uint64(6), libc.X__builtin_object_size(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), 0)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28640, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28786, 0) (*TRtree)(unsafe.Pointer(pRtree)).FnAux = uint8(1) /* Add one for _shape */ (*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = uint8(1) /* The _shape column is always not-null */ ii = int32(3) @@ -183095,13 +184762,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint break } (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28662, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28808, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27737, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27883, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) @@ -183109,7 +184776,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint v2 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v2 if SQLITE_OK != v2 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } Xsqlite3_free(tls, zSql) @@ -183124,7 +184791,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -183336,7 +185003,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iRowidTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(1) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 17045 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 17132 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).Fomit = uint8(1) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(30) @@ -183346,7 +185013,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iFuncTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28666 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28812 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).Fomit = uint8(0) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(300) @@ -183354,7 +185021,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { return SQLITE_OK } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(4) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28672 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28818 (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(3e+06) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -183474,7 +185141,7 @@ func _geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pR _geopolyBBox(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(aData + 2*8)), bp+8+8, bp) if *(*int32)(unsafe.Pointer(bp)) != 0 { if *(*int32)(unsafe.Pointer(bp)) == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28681, 0) + (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28827, 0) } goto geopoly_update_end } @@ -183577,12 +185244,12 @@ geopoly_update_end: func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) { _ = pVtab _ = nArg - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28721) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28867) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION) } - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28737) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28883) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1) @@ -183653,7 +185320,7 @@ func _sqlite3_geopoly_init(tls *libc.TLS, db uintptr) (r int32) { i++ } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28914, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+29060, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -183667,61 +185334,61 @@ var _aFunc = [12]struct { 0: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28752, + FzName: __ccgo_ts + 28898, }, 1: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28765, + FzName: __ccgo_ts + 28911, }, 2: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28778, + FzName: __ccgo_ts + 28924, }, 3: { FnArg: int8(-int32(1)), FbPure: uint8(1), - FzName: __ccgo_ts + 28791, + FzName: __ccgo_ts + 28937, }, 4: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28737, + FzName: __ccgo_ts + 28883, }, 5: { FnArg: int8(3), FbPure: uint8(1), - FzName: __ccgo_ts + 28803, + FzName: __ccgo_ts + 28949, }, 6: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28721, + FzName: __ccgo_ts + 28867, }, 7: { FnArg: int8(1), - FzName: __ccgo_ts + 28826, + FzName: __ccgo_ts + 28972, }, 8: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28840, + FzName: __ccgo_ts + 28986, }, 9: { FnArg: int8(7), FbPure: uint8(1), - FzName: __ccgo_ts + 28853, + FzName: __ccgo_ts + 28999, }, 10: { FnArg: int8(4), FbPure: uint8(1), - FzName: __ccgo_ts + 28867, + FzName: __ccgo_ts + 29013, }, 11: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28883, + FzName: __ccgo_ts + 29029, }, } @@ -183747,7 +185414,7 @@ var _aAgg = [1]struct { FzName uintptr }{ 0: { - FzName: __ccgo_ts + 28895, + FzName: __ccgo_ts + 29041, }, } @@ -183772,20 +185439,20 @@ func _sqlite3RtreeInit(tls *libc.TLS, db uintptr) (r int32) { var rc, utf8 int32 _, _, _, _ = c, c1, rc, utf8 utf8 = int32(SQLITE_UTF8) - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28922, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+29068, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28932, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+29078, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28943, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+29089, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { c = libc.UintptrFromInt32(RTREE_COORD_REAL32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28666, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28812, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { c1 = libc.UintptrFromInt32(RTREE_COORD_INT32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28954, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+29100, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) } if rc == SQLITE_OK { rc = _sqlite3_geopoly_init(tls, db) @@ -183887,7 +185554,7 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { Xsqlite3_result_error_nomem(tls, ctx) _rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+26223, __ccgo_fp(_rtreeMatchArgFree)) + Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+26369, __ccgo_fp(_rtreeMatchArgFree)) } } } @@ -185104,7 +186771,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt /* Figure out the size of the output */ nOut = _rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+28964, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+29110, -int32(1)) return } aOut = Xsqlite3_malloc(tls, nOut+int32(1)) @@ -185114,7 +186781,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt nOut2 = _rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut) if nOut2 != nOut { Xsqlite3_free(tls, aOut) - Xsqlite3_result_error(tls, context, __ccgo_ts+28964, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+29110, -int32(1)) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, __ccgo_fp(Xsqlite3_free)) } @@ -185140,7 +186807,7 @@ func _prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg _ = rc rc = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -185163,7 +186830,7 @@ func _resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) (r in _ = rc rc = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -185295,7 +186962,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { /* Free any SQLite statements used while processing the previous object */ _rbuObjIterClearStatements(tls, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28985, uintptr(0), uintptr(0), p+64) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+29131, uintptr(0), uintptr(0), p+64) } if rc == SQLITE_OK { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 { @@ -185305,6 +186972,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { if rc != int32(SQLITE_ROW) { rc = _resetAndCollectError(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, p+64) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = uintptr(0) + (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = uintptr(0) } else { (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, 0) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, int32(1)) @@ -185383,7 +187051,7 @@ func _rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { Xsqlite3_result_text(tls, pCtx, zIn, -int32(1), libc.UintptrFromInt32(0)) } } else { - if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+26136, zIn, uint64(4)) == 0 { + if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+26282, zIn, uint64(4)) == 0 { i = int32(4) for { if !(int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= int32('9')) { @@ -185420,13 +187088,13 @@ func _rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { _, _ = rc, v1 libc.X__builtin___memset_chk(tls, pIter, 0, uint64(192), libc.X__builtin_object_size(tls, pIter, 0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 29156 + v1 = __ccgo_ts + 29302 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29197, libc.VaList(bp+8, v1))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29343, libc.VaList(bp+8, v1))) if rc == SQLITE_OK { - rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+29347) + rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+29493) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = int32(1) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -185593,7 +187261,7 @@ func _rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { rc = Xsqlite3_finalize(tls, pStmt) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && rc != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } @@ -185654,7 +187322,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu *(*[4]uintptr)(unsafe.Pointer(bp)) = [4]uintptr{} *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29472, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29618, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0]) != int32(SQLITE_ROW) { /* Either an error, or no such table. */ goto rbuTableType_end @@ -185664,7 +187332,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0], int32(1)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29591, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29737, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { goto rbuTableType_end } @@ -185672,7 +187340,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu zOrig = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(3)) zIdx = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(1)) if zOrig != 0 && zIdx != 0 && int32(*(*Tu8)(unsafe.Pointer(zOrig))) == int32('p') { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29612, libc.VaList(bp+40, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29758, libc.VaList(bp+40, zIdx))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)]) == int32(SQLITE_ROW) { *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)], 0) @@ -185684,7 +187352,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29663, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29809, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { for Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)]) == int32(SQLITE_ROW) { if Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)], int32(5)) > 0 { @@ -185728,7 +187396,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { bIndex = 0 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.X__builtin___memcpy_chk(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol), libc.X__builtin_object_size(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29684, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29830, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -185741,7 +187409,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { if bPartial != 0 { libc.X__builtin___memset_chk(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, int32(0x01), uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol), libc.X__builtin_object_size(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0)) } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29712, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29858, libc.VaList(bp+24, zIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) if iCid >= 0 { @@ -185794,7 +187462,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 _rbuTableType(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+8, pIter+108) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+20299, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+20431, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc @@ -185805,7 +187473,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 /* Populate the azTblCol[] and nTblCol variables based on the columns ** of the input table. Ignore any input table columns that begin with ** "rbu_". */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29741, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29887, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp))) _rbuAllocateIterArrays(tls, p, pIter, nCol) @@ -185816,7 +187484,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 break } zName = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), i) - if Xsqlite3_strnicmp(tls, __ccgo_ts+29760, zName, int32(4)) != 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+29906, zName, int32(4)) != 0 { zCopy = _rbuStrndup(tls, zName, p+56) *(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol v3 = pIter + 16 @@ -185824,7 +187492,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 *(*int32)(unsafe.Pointer(v3))++ *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(v2)*8)) = zCopy } else { - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29765, zName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29911, zName) { bRbuRowid = int32(1) } } @@ -185838,17 +187506,17 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && bRbuRowid != libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) if bRbuRowid != 0 { - v4 = __ccgo_ts + 29775 + v4 = __ccgo_ts + 29921 } else { - v4 = __ccgo_ts + 29788 + v4 = __ccgo_ts + 29934 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29797, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29943, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) } /* Check that all non-HIDDEN columns in the destination table are also ** present in the input table. Populate the abTblPk[], azTblType[] and ** aiTblOrder[] arrays at the same time. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29826, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29972, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zName1 = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -185870,7 +187538,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 } if i == (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29848, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29994, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) } else { iPk = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) bNotNull = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) @@ -185909,15 +187577,15 @@ func _rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) var z, zList, zSep uintptr _, _, _, _ = i, z, zList, zSep zList = uintptr(0) - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } z = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+29875, libc.VaList(bp+8, zList, zSep, z)) - zSep = __ccgo_ts + 15338 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30021, libc.VaList(bp+8, zList, zSep, z)) + zSep = __ccgo_ts + 15431 goto _1 _1: ; @@ -185942,7 +187610,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, _, _, _, _, _ = i, iPk, zCol, zRet, zSep iPk = int32(1) zRet = uintptr(0) - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 for int32(1) != 0 { i = 0 for { @@ -185951,7 +187619,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, } if int32(*(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29884, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+30030, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -185999,21 +187667,21 @@ func _rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zRet = uintptr(0) if bRowid != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29897, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30043, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iMax = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29929, libc.VaList(bp+16, iMax)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+30075, libc.VaList(bp+16, iMax)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1650, __ccgo_ts+15338, __ccgo_ts+29952) - zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29958, __ccgo_ts+29965, __ccgo_ts+5454) - zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1650, __ccgo_ts+15338, __ccgo_ts+1650) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1664, __ccgo_ts+15431, __ccgo_ts+30098) + zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+30104, __ccgo_ts+30111, __ccgo_ts+5518) + zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1664, __ccgo_ts+15431, __ccgo_ts+1664) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29973, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30119, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zVal = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+30015, libc.VaList(bp+16, zList, zVal)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+30161, libc.VaList(bp+16, zList, zVal)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } @@ -186062,10 +187730,10 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 iCol = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29712, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29858, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(4)) @@ -186087,15 +187755,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { - zCol = __ccgo_ts + 30035 + zCol = __ccgo_ts + 30181 } } else { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) } - zLhs = _rbuMPrintf(tls, p, __ccgo_ts+30043, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+30064, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = _rbuMPrintf(tls, p, __ccgo_ts+30100, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) - zSep = __ccgo_ts + 15338 + zLhs = _rbuMPrintf(tls, p, __ccgo_ts+30189, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+30210, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) + zSelect = _rbuMPrintf(tls, p, __ccgo_ts+30246, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) + zSep = __ccgo_ts + 15431 iCol++ } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) @@ -186104,9 +187772,9 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30127, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30273, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 iCol = 0 for { if !(iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -186121,15 +187789,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { break } } - zVector = _rbuMPrintf(tls, p, __ccgo_ts+30175, libc.VaList(bp+24, zVector, zSep, zQuoted)) - zSep = __ccgo_ts + 15338 + zVector = _rbuMPrintf(tls, p, __ccgo_ts+30321, libc.VaList(bp+24, zVector, zSep, zQuoted)) + zSep = __ccgo_ts + 15431 goto _2 _2: ; iCol++ } if !(bFailed != 0) { - zRet = _rbuMPrintf(tls, p, __ccgo_ts+30182, libc.VaList(bp+24, zLhs, zVector)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+30328, libc.VaList(bp+24, zLhs, zVector)) } } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -186183,11 +187851,11 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zImpPK = uintptr(0) /* String to return via *pzImposterPK */ zWhere = uintptr(0) /* String to return via *pzWhere */ nBind = 0 /* Value to return via *pnBind */ - zCom = __ccgo_ts + 1650 /* Set to ", " later on */ - zAnd = __ccgo_ts + 1650 /* Set to " AND " later on */ + zCom = __ccgo_ts + 1664 /* Set to ", " later on */ + zAnd = __ccgo_ts + 1664 /* Set to " AND " later on */ *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_xinfo = ? */ if rc == SQLITE_OK { - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29712, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29858, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -186196,8 +187864,8 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = uintptr(0) if iCid == -int32(2) { iSeq = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+30194, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) - zType = __ccgo_ts + 1650 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+30340, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) + zType = __ccgo_ts + 1664 } else { if iCid < 0 { /* An integer primary key. If the table has an explicit IPK, use @@ -186216,9 +187884,9 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - zCol = __ccgo_ts + 30035 + zCol = __ccgo_ts + 30181 } else { - zCol = __ccgo_ts + 29765 + zCol = __ccgo_ts + 29911 } } zType = __ccgo_ts + 1138 @@ -186226,24 +187894,24 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) zType = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)) } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+30216, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+30362, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) } if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) != 0 { if bDesc != 0 { - v2 = __ccgo_ts + 29952 + v2 = __ccgo_ts + 30098 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } zOrder = v2 - zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+30236, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) + zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+30382, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+30257, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) - zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+30290, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) + zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+30403, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) + zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+30436, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) { rc = int32(SQLITE_NOMEM) } - zCom = __ccgo_ts + 15338 - zAnd = __ccgo_ts + 22408 + zCom = __ccgo_ts + 15431 + zAnd = __ccgo_ts + 22553 nBind++ } rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -186289,7 +187957,7 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr _, _, _, _ = i, zCol, zList, zS zList = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zS = __ccgo_ts + 1650 + zS = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -186297,11 +187965,11 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = Xsqlite3_mprintf(tls, __ccgo_ts+30314, libc.VaList(bp+8, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30460, libc.VaList(bp+8, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, __ccgo_ts+30326, libc.VaList(bp+8, zList, zS)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30472, libc.VaList(bp+8, zList, zS)) } - zS = __ccgo_ts + 15338 + zS = __ccgo_ts + 15431 if zList == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) break @@ -186313,7 +187981,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 (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30335, libc.VaList(bp+8, zList, zObj)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30481, libc.VaList(bp+8, zList, zObj)) } } return zList @@ -186339,27 +188007,27 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _ = i, i1, zCol, zList, zSep, zSep1 zList = uintptr(0) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30350, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30496, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30364, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) - zSep = __ccgo_ts + 22408 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30510, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) + zSep = __ccgo_ts + 22553 } goto _1 _1: ; i++ } - zList = _rbuMPrintf(tls, p, __ccgo_ts+30376, libc.VaList(bp+8, zList)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30522, libc.VaList(bp+8, zList)) } else { - zSep1 = __ccgo_ts + 1650 + zSep1 = __ccgo_ts + 1664 i1 = 0 for { if !(i1 < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -186367,8 +188035,8 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i1))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i1)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+30426, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) - zSep1 = __ccgo_ts + 22408 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30572, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) + zSep1 = __ccgo_ts + 22553 } goto _2 _2: @@ -186391,7 +188059,7 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { // */ func _rbuBadControlError(tls *libc.TLS, p uintptr) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30439, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30585, 0) } // C documentation @@ -186425,7 +188093,7 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt if int32(libc.Xstrlen(tls, zMask)) != (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { _rbuBadControlError(tls, p) } else { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -186433,16 +188101,16 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt } c = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) if int32(c) == int32('x') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30426, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 15338 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30572, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15431 } else { if int32(c) == int32('d') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30465, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 15338 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30611, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15431 } else { if int32(c) == int32('f') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30495, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 15338 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30641, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15431 } } } @@ -186526,16 +188194,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _, _ = z, zCol, zDesc, zIdx, zOrig, zSep, v1 z = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zSep = __ccgo_ts + 30532 + zSep = __ccgo_ts + 30678 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_list = (pIter->zTbl) */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA index_xinfo = */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29684, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29830, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) - if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16933) == 0 { + if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+17020) == 0 { zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29712, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29858, libc.VaList(bp+24, zIdx))) } break } @@ -186546,16 +188214,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { /* int iCid = sqlite3_column_int(pXInfo, 0); */ zCol = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(2)) if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) != 0 { - v1 = __ccgo_ts + 29952 + v1 = __ccgo_ts + 30098 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } zDesc = v1 - z = _rbuMPrintf(tls, p, __ccgo_ts+30545, libc.VaList(bp+24, z, zSep, zCol, zDesc)) - zSep = __ccgo_ts + 15338 + z = _rbuMPrintf(tls, p, __ccgo_ts+30691, libc.VaList(bp+24, z, zSep, zCol, zDesc)) + zSep = __ccgo_ts + 15431 } } - z = _rbuMPrintf(tls, p, __ccgo_ts+30556, libc.VaList(bp+24, z)) + z = _rbuMPrintf(tls, p, __ccgo_ts+30702, libc.VaList(bp+24, z)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) } return z @@ -186595,13 +188263,13 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* SELECT name ... WHERE rootpage = $tnum */ zIdx = uintptr(0) /* Name of PK index */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA main.index_xinfo = $zIdx */ - zComma = __ccgo_ts + 1650 + zComma = __ccgo_ts + 1664 zCols = uintptr(0) /* Used to build up list of table cols */ zPk = uintptr(0) /* Used to build up table PK declaration */ /* 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. */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30560) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30706) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), tnum) if int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -186609,7 +188277,7 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { } } if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29712, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29858, libc.VaList(bp+24, zIdx))) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { @@ -186618,21 +188286,21 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) bDesc = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(4)) - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30610, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30756, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) if bDesc != 0 { - v1 = __ccgo_ts + 29952 + v1 = __ccgo_ts + 30098 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - zPk = _rbuMPrintf(tls, p, __ccgo_ts+30632, libc.VaList(bp+24, zPk, zComma, iCid, v1)) - zComma = __ccgo_ts + 15338 + zPk = _rbuMPrintf(tls, p, __ccgo_ts+30778, libc.VaList(bp+24, zPk, zComma, iCid, v1)) + zComma = __ccgo_ts + 15431 } } - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30642, libc.VaList(bp+24, zCols)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30788, libc.VaList(bp+24, zCols)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30657, libc.VaList(bp+24, zCols, zPk)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30803, libc.VaList(bp+24, zCols, zPk)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, 0, 0)) } } @@ -186667,30 +188335,30 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { _, _, _, _, _, _, _, _, _ = iCol, tnum, zCol, zComma, zPk, zPk1, zSql, v2, v3 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { tnum = (*TRbuObjIter)(unsafe.Pointer(pIter)).FiTnum - zComma = __ccgo_ts + 1650 + zComma = __ccgo_ts + 1664 zSql = uintptr(0) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, 0, int32(1))) iCol = 0 for { if !((*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } - zPk = __ccgo_ts + 1650 + zPk = __ccgo_ts + 1664 zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_IPK) && *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 { /* If the target table column is an "INTEGER PRIMARY KEY", add ** "PRIMARY KEY" to the imposter table column declaration. */ - zPk = __ccgo_ts + 30719 + zPk = __ccgo_ts + 30865 } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - v2 = __ccgo_ts + 30732 + v2 = __ccgo_ts + 30878 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30742, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) - zComma = __ccgo_ts + 15338 + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30888, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) + zComma = __ccgo_ts + 15431 goto _1 _1: ; @@ -186699,17 +188367,17 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { zPk1 = _rbuWithoutRowidPK(tls, p, pIter) if zPk1 != 0 { - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30769, libc.VaList(bp+16, zSql, zPk1)) + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30915, libc.VaList(bp+16, zSql, zPk1)) } } - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, int32(1), tnum)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, int32(1), tnum)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { - v3 = __ccgo_ts + 30776 + v3 = __ccgo_ts + 30922 } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30791, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, 0, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30937, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, 0, 0)) } } @@ -186735,7 +188403,7 @@ func _rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zColli bRbuRowid = libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) zBind = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1)+bRbuRowid) if zBind != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30823, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30969, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -186781,7 +188449,7 @@ func _rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintpt *(*int32)(unsafe.Pointer(bp + 8)) = (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc zRet = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30880) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+31026) } if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx, -int32(1), libc.UintptrFromInt32(0)) @@ -186950,7 +188618,7 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zIdx = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx zLimit = uintptr(0) if nOffset != 0 { - zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30946, libc.VaList(bp+40, nOffset)) + zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+31092, libc.VaList(bp+40, nOffset)) if !(zLimit != 0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) } @@ -186967,18 +188635,18 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zCollist = _rbuObjIterGetIndexCols(tls, p, pIter, bp, bp+8, bp+16, bp+24) zBind = _rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 24))) /* Create the imposter table used to write to this index. */ - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, 0, int32(1))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30966, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31112, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, 0, 0)) /* Create the statement to insert index entries */ (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 24)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31031, libc.VaList(bp+40, zTbl, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31177, libc.VaList(bp+40, zTbl, zBind))) } /* And to delete index entries */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31067, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31213, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) } /* Create the SELECT statement to read keys in sorted order */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -186993,26 +188661,26 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } if zStart != 0 { if zPart != 0 { - v2 = __ccgo_ts + 31101 + v2 = __ccgo_ts + 31247 } else { - v2 = __ccgo_ts + 31105 + v2 = __ccgo_ts + 31251 } v1 = v2 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+31111, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+31257, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) Xsqlite3_free(tls, zStart) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+31172, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+31318, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { if zPart != 0 { - v3 = __ccgo_ts + 31101 + v3 = __ccgo_ts + 31247 } else { - v3 = __ccgo_ts + 31105 + v3 = __ccgo_ts + 31251 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+31233, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+31379, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -187031,62 +188699,62 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zTbl1 = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl /* Imposter table name */ zBindings = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+bRbuRowid) zWhere1 = _rbuObjIterGetWhere(tls, p, pIter) - zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6944) - zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6940) + zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+7008) + zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+7004) zCollist = _rbuObjIterGetCollist(tls, p, pIter) (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol /* Create the imposter table or tables (if required). */ _rbuCreateImposterTable(tls, p, pIter) _rbuCreateImposterTable2(tls, p, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) { - v4 = __ccgo_ts + 1650 + v4 = __ccgo_ts + 1664 } else { - v4 = __ccgo_ts + 31392 + v4 = __ccgo_ts + 31538 } zWrite = v4 /* Create the INSERT statement to write to the target PK b-tree */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if bRbuRowid != 0 { - v5 = __ccgo_ts + 31401 + v5 = __ccgo_ts + 31547 } else { - v5 = __ccgo_ts + 1650 + v5 = __ccgo_ts + 1664 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31411, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31557, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) } /* Create the DELETE statement to write to the target PK b-tree. ** Because it only performs INSERT operations, this is not required for ** an rbu vacuum handle. */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31447, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31593, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) } if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zRbuRowid = __ccgo_ts + 1650 + zRbuRowid = __ccgo_ts + 1664 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zRbuRowid = __ccgo_ts + 31475 + zRbuRowid = __ccgo_ts + 31621 } /* Create the rbu_tmp_xxx table and the triggers to populate it. */ if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - v6 = __ccgo_ts + 31487 + v6 = __ccgo_ts + 31633 } else { - v6 = __ccgo_ts + 1650 + v6 = __ccgo_ts + 1664 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31504, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31580, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31650, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31726, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31879, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32025, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) } _rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) } /* Create the SELECT statement to read keys from data_xxx */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zRbuRowid1 = __ccgo_ts + 1650 + zRbuRowid1 = __ccgo_ts + 1664 zStart1 = uintptr(0) zOrder = uintptr(0) if bRbuRowid != 0 { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v7 = __ccgo_ts + 31978 + v7 = __ccgo_ts + 32124 } else { - v7 = __ccgo_ts + 31988 + v7 = __ccgo_ts + 32134 } zRbuRowid1 = v7 } @@ -187099,28 +188767,28 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } } if bRbuRowid != 0 { - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+30035, 0) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+30181, 0) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1650, __ccgo_ts+15338, __ccgo_ts+1650) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1664, __ccgo_ts+15431, __ccgo_ts+1664) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v8 = __ccgo_ts + 31999 + v8 = __ccgo_ts + 32145 } else { - v8 = __ccgo_ts + 1650 + v8 = __ccgo_ts + 1664 } if zStart1 != 0 { v9 = zStart1 } else { - v9 = __ccgo_ts + 1650 + v9 = __ccgo_ts + 1664 } if zOrder != 0 { - v10 = __ccgo_ts + 23602 + v10 = __ccgo_ts + 23747 } else { - v10 = __ccgo_ts + 1650 + v10 = __ccgo_ts + 1664 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+32005, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+32151, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) } Xsqlite3_free(tls, zStart1) Xsqlite3_free(tls, zOrder) @@ -187206,11 +188874,11 @@ func _rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, p (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpNext = (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - zPrefix = __ccgo_ts + 1650 + zPrefix = __ccgo_ts + 1664 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { - zPrefix = __ccgo_ts + 31392 + zPrefix = __ccgo_ts + 31538 } - zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+32053, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) + zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+32199, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate) *(*uintptr)(unsafe.Pointer(ppStmt)) = (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpUpdate } @@ -187237,7 +188905,7 @@ func _rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) (r } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp, flags, v1) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp))) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) } @@ -187284,7 +188952,7 @@ func _rbuLoadState(tls *libc.TLS, p uintptr) (r uintptr) { if pRet == uintptr(0) { return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+32083, libc.VaList(bp+24, p+48))) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+32229, libc.VaList(bp+24, p+48))) for *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) { case int32(RBU_STATE_STAGE): @@ -187343,27 +189011,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu = _rbuOpenDbhandle(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, int32(1)) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain = dbMain if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6933, int32(SQLITE_FCNTL_RBUCNT), p) + Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6997, int32(SQLITE_FCNTL_RBUCNT), p) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) { - zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6933) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+32113, libc.VaList(bp+8, zFile, zFile)) + zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6997) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+32259, libc.VaList(bp+8, zFile, zFile)) } } /* If using separate RBU and state databases, attach the state database to ** the RBU db handle now. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32141, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.X__builtin___memcpy_chk(tls, p+48, __ccgo_ts+3420, uint64(4), libc.X__builtin_object_size(tls, p+48, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32287, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.X__builtin___memcpy_chk(tls, p+48, __ccgo_ts+3484, uint64(4), libc.X__builtin_object_size(tls, p+48, 0)) } else { - libc.X__builtin___memcpy_chk(tls, p+48, __ccgo_ts+6933, uint64(4), libc.X__builtin_object_size(tls, p+48, 0)) + libc.X__builtin___memcpy_chk(tls, p+48, __ccgo_ts+6997, uint64(4), libc.X__builtin_object_size(tls, p+48, 0)) } /* If it has not already been created, create the rbu_state table */ - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32159, libc.VaList(bp+8, p+48)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32305, libc.VaList(bp+8, p+48)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { bOpen = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6933, int32(SQLITE_FCNTL_RBUCNT), p) + rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6997, int32(SQLITE_FCNTL_RBUCNT), p) if rc != int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -187396,10 +189064,10 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) return } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32225, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32371, 0) } else { zExtra = uintptr(0) - if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24991, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { + if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+25114, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { zExtra = (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5 for *(*int8)(unsafe.Pointer(zExtra)) != 0 { v1 = zExtra @@ -187413,16 +189081,16 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if zExtra == uintptr(0) { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } else { - v2 = __ccgo_ts + 32257 + v2 = __ccgo_ts + 32403 } if zExtra == uintptr(0) { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } else { v3 = zExtra } - zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+32259, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6933), v2, v3)) + zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+32405, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6997), v2, v3)) if zTarget == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) return @@ -187433,27 +189101,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32291, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32437, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32306, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32452, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32323, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32469, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, int32(SQLITE_FCNTL_RBU), p) } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32339, 0) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32485, 0) /* Mark the database file just opened as an RBU target database. If ** this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. ** This is an error. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6933, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6997, int32(SQLITE_FCNTL_RBU), p) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32367, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32513, 0) } } @@ -187503,7 +189171,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) { pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = int64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))<= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33367, zState+uintptr(n-int32(7)), uint64(7)) { + if n >= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33513, zState+uintptr(n-int32(7)), uint64(7)) { return _rbuMisuseError(tls) } } @@ -188723,7 +190391,7 @@ func _rbuEditErrmsg(tls *libc.TLS, p uintptr) { if !(uint64(i) < nErrmsg-uint64(8)) { break } - if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31392, uint64(8)) == 0 { + if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31538, uint64(8)) == 0 { nDel = int32(8) for int32(*(*int8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= int32('0') && int32(*(*int8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= int32('9') { nDel++ @@ -188751,7 +190419,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { if p != 0 { /* Commit the transaction to the *-oal file. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+15242, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+15335, uintptr(0), uintptr(0), p+64) } /* Sync the db file if currently doing an incremental checkpoint */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) { @@ -188760,7 +190428,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { } _rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+15242, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+15335, uintptr(0), uintptr(0), p+64) } /* Close any open statement handles. */ _rbuObjIterFinalize(tls, p+80) @@ -188770,7 +190438,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { ** specifying the current target and state databases to start a new ** vacuum from scratch. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 { - rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33375, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33521, uintptr(0), uintptr(0), uintptr(0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_DONE) && rc2 != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -188871,7 +190539,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+15242, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+15335, uintptr(0), uintptr(0), uintptr(0)) } } /* Sync the db file */ @@ -188884,19 +190552,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { rc = (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+15242, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+15335, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 15227 + v1 = __ccgo_ts + 15320 } else { - v1 = __ccgo_ts + 33327 + v1 = __ccgo_ts + 33473 } zBegin = v1 rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33327, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33473, uintptr(0), uintptr(0), uintptr(0)) } } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -189462,7 +191130,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xControl})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, int32(SQLITE_FCNTL_ZIPVFS), bp) if rc == SQLITE_OK { rc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33402, 0) + (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33548, 0) } else { if rc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p @@ -189488,7 +191156,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r if rc == SQLITE_OK && op == int32(SQLITE_FCNTL_VFSNAME) { pRbuVfs = (*Trbu_file)(unsafe.Pointer(p)).FpRbuVfs zIn = *(*uintptr)(unsafe.Pointer(pArg)) - zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33425, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33571, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -189683,7 +191351,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag if pDb != 0 { if (*Trbu_file)(unsafe.Pointer(pDb)).FpRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FeStage == int32(RBU_STAGE_OAL) { if (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6933) + zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6997) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -189697,7 +191365,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag } else { (*Trbu_file)(unsafe.Pointer(pFd)).FpRbu = (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRbu } - if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33436, 0) != 0 { + if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33582, 0) != 0 { oflags = libc.Int32FromInt32(SQLITE_OPEN_TEMP_DB) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_EXCLUSIVE) | libc.Int32FromInt32(SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) } @@ -190250,7 +191918,7 @@ func _statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint _sqlite3TokenInit(tls, bp, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = _sqlite3FindDb(tls, db, bp) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12539, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12664, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return int32(SQLITE_ERROR) } } else { @@ -190749,7 +192417,7 @@ statNextRestart: (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiPgno = iRoot (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v1 = Xsqlite3_mprintf(tls, __ccgo_ts+4033, 0) + v1 = Xsqlite3_mprintf(tls, __ccgo_ts+4097, 0) z = v1 (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FzPath = v1 if z == uintptr(0) { @@ -190787,8 +192455,8 @@ statNextRestart: if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { (*TStatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*TStatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*TStatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*Tu32)(unsafe.Pointer((*TStatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33447 - v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33456, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33593 + v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33602, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) z = v2 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v2 if z == uintptr(0) { @@ -190817,7 +192485,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage++ if (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage >= int32(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) { _statResetCsr(tls, pCsr) - return _sqlite3CorruptError(tls, int32(222551)) + return _sqlite3CorruptError(tls, int32(224206)) } if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell { (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiPgno = (*TStatPage)(unsafe.Pointer(p)).FiRightChildPg @@ -190828,7 +192496,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnPage++ (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33468, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) + v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33614, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) z = v4 (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FzPath = v4 if z == uintptr(0) { @@ -190851,13 +192519,13 @@ statNextRestart: case int32(0x05): /* table internal */ fallthrough case int32(0x02): /* index internal */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33476 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33622 case int32(0x0D): /* table leaf */ fallthrough case int32(0x0A): /* index leaf */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33485 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33631 default: - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33490 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33636 break } *(*int32)(unsafe.Pointer(pCsr + 2108)) += (*TStatPage)(unsafe.Pointer(p1)).FnCell @@ -190866,7 +192534,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnMxPayload = (*TStatPage)(unsafe.Pointer(p1)).FnMxPayload } if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) + v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) z = v5 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v5 if z == uintptr(0) { @@ -190955,12 +192623,12 @@ func _statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, a (*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg = uint8(0) } pSql = Xsqlite3_str_new(tls, (*TStatTable)(unsafe.Pointer(pTab)).Fdb) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33500, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33646, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33655, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33801, libc.VaList(bp+8, zName)) } if idxNum&int32(0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33669, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33815, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -191037,7 +192705,7 @@ func _statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) (r int32) { // ** Invoke this routine to register the "dbstat" virtual table module // */ func _sqlite3DbstatRegister(tls *libc.TLS, db uintptr) (r int32) { - return Xsqlite3_create_module(tls, db, __ccgo_ts+33684, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, __ccgo_ts+33830, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) } var _dbstat_module = Tsqlite3_module{} @@ -192308,20 +193976,20 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, *(*uintptr)(unsafe.Pointer(pazDflt)) = uintptr(0) } nThis = _sqlite3Strlen30(tls, zThis) - if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11930, zThis) { + if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+12055, zThis) { rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { /* For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. */ - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33691, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33837, 0) } else { if rc == int32(SQLITE_ERROR) { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1650, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1664, 0) } else { return rc } } } else { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33812, libc.VaList(bp+16, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33958, libc.VaList(bp+16, zDb, zThis)) } if !(zPragma != 0) { return int32(SQLITE_NOMEM) @@ -192345,7 +194013,7 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, bRowid = 0 } nDbCol += bRowid - nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+30035)) + nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+30181)) rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == SQLITE_OK { nByte = Tsqlite3_int64(uint64(nByte) + uint64(nDbCol)*(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(2)+libc.Uint64FromInt64(1)+libc.Uint64FromInt32(1)+libc.Uint64FromInt32(1))) @@ -192369,8 +194037,8 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 if bRowid != 0 { - nName = libc.Xstrlen(tls, __ccgo_ts+30035) - libc.X__builtin___memcpy_chk(tls, pAlloc, __ccgo_ts+30035, nName+uint64(1), libc.X__builtin_object_size(tls, pAlloc, 0)) + nName = libc.Xstrlen(tls, __ccgo_ts+30181) + libc.X__builtin___memcpy_chk(tls, pAlloc, __ccgo_ts+30181, nName+uint64(1), libc.X__builtin_object_size(tls, pAlloc, 0)) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc pAlloc += uintptr(nName + uint64(1)) *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) = uint8(1) @@ -192462,7 +194130,7 @@ func _sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr, db uintptr ; i++ } - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11930, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+12055, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { (*TSessionTable)(unsafe.Pointer(pTab)).FbStat1 = int32(1) } if pSession != 0 && (*Tsqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { @@ -192751,10 +194419,10 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin _, _, _, _ = ii, zDflt, zSep, v2 *(*TSessionBuffer)(unsafe.Pointer(bp)) = TSessionBuffer{} *(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK - zSep = __ccgo_ts + 11550 + zSep = __ccgo_ts + 11675 ii = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33841, 0) + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33987, 0) ii = 0 for { if !(ii < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol) { @@ -192763,11 +194431,11 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin if *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) != 0 { v2 = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) } else { - v2 = __ccgo_ts + 1651 + v2 = __ccgo_ts + 1665 } zDflt = v2 - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5424, libc.VaList(bp+32, zSep, zDflt)) - zSep = __ccgo_ts + 15338 + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5488, libc.VaList(bp+32, zSep, zDflt)) + zSep = __ccgo_ts + 15431 goto _1 _1: ; @@ -193085,7 +194753,7 @@ func _sessionPreupdateOneChange(tls *libc.TLS, op int32, iRowid Ti64, pSession u rc = int32(SQLITE_NOMEM) goto error_out } - _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1650, uint8(0), libc.UintptrFromInt32(0)) + _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1664, uint8(0), libc.UintptrFromInt32(0)) (*Tsqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p } } @@ -193406,7 +195074,7 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr var i int32 var zRet, zSep uintptr _, _, _ = i, zRet, zSep - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 zRet = uintptr(0) i = 0 for { @@ -193414,8 +195082,8 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr break } if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33848, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 22408 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33994, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 22553 if zRet == uintptr(0) { break } @@ -193434,7 +195102,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint var bHave, i int32 var zRet, zSep uintptr _, _, _, _ = bHave, i, zRet, zSep - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 zRet = uintptr(0) bHave = 0 i = 0 @@ -193444,8 +195112,8 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if int32(*(*Tu8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = int32(1) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33882, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 33923 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+34028, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 34069 if zRet == uintptr(0) { break } @@ -193456,7 +195124,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint i++ } if bHave == 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1724, 0) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1784, 0) } return zRet } @@ -193467,12 +195135,12 @@ func _sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, bRowid int var zRet, zSel, v1 uintptr _, _, _ = zRet, zSel, v1 if bRowid != 0 { - v1 = __ccgo_ts + 33928 + v1 = __ccgo_ts + 34074 } else { - v1 = __ccgo_ts + 6938 + v1 = __ccgo_ts + 7002 } zSel = v1 - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33939, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+34085, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -193533,11 +195201,11 @@ func _sessionAllCols(tls *libc.TLS, zDb uintptr, pTab uintptr) (r uintptr) { break } if zRet != 0 { - v2 = __ccgo_ts + 15338 + v2 = __ccgo_ts + 15431 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+34018, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+34164, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) if !(zRet != 0) { break } @@ -193565,7 +195233,7 @@ func _sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFr } else { z1 = _sessionAllCols(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, pTab) z2 = _sessionAllCols(tls, zFrom, pTab) - zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+34037, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) + zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+34183, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) if zStmt == uintptr(0) || z1 == uintptr(0) || z2 == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -193665,7 +195333,7 @@ func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl u Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if bMismatch != 0 { if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+34094, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+34240, 0) } rc = int32(SQLITE_SCHEMA) } @@ -193997,7 +195665,7 @@ func _sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* aBuf at bp+0 */ [24]int8 - Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5486, libc.VaList(bp+32, iVal)) + Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5550, libc.VaList(bp+32, iVal)) _sessionAppendStr(tls, p, bp, pRc) } @@ -194288,23 +195956,23 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt _, _, _, _, _, _, _ = i, nSql, zCols, zSep, zSql, v1, v3 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK zSql = uintptr(0) - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 if bRowid != 0 { - v1 = __ccgo_ts + 33928 + v1 = __ccgo_ts + 34074 } else { - v1 = __ccgo_ts + 6938 + v1 = __ccgo_ts + 7002 } zCols = v1 nSql = -int32(1) *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 24)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 40)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+34121, bp) - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11930, zTab) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+34125, bp) - _sessionAppendStr(tls, bp+24, __ccgo_ts+34149, bp) - _sessionAppendStr(tls, bp+40, __ccgo_ts+34158, bp) - zCols = __ccgo_ts + 34203 + _sessionAppendStr(tls, bp+8, __ccgo_ts+34267, bp) + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+12055, zTab) { + _sessionAppendStr(tls, bp+8, __ccgo_ts+34271, bp) + _sessionAppendStr(tls, bp+24, __ccgo_ts+34295, bp) + _sessionAppendStr(tls, bp+40, __ccgo_ts+34304, bp) + zCols = __ccgo_ts + 34349 } else { i = 0 for { @@ -194314,11 +195982,11 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { _sessionAppendStr(tls, bp+24, zSep, bp) _sessionAppendStr(tls, bp+40, zSep, bp) - zSep = __ccgo_ts + 15338 + zSep = __ccgo_ts + 15431 _sessionAppendIdent(tls, bp+24, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp) - _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+34217, libc.VaList(bp+64, i+int32(1))) + _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+34363, libc.VaList(bp+64, i+int32(1))) } else { - _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+34221, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+34367, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) } goto _2 _2: @@ -194330,9 +195998,9 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if bIgnoreNoop != 0 { v3 = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+34248, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+34394, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) if zSql == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } @@ -194473,7 +196141,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+34290, uintptr(0), uintptr(0), uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+34436, uintptr(0), uintptr(0), uintptr(0)) if *(*int32)(unsafe.Pointer(bp + 16)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -194579,7 +196247,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, } } Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf) - Xsqlite3_exec(tls, db, __ccgo_ts+34310, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34456, uintptr(0), uintptr(0), uintptr(0)) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -194996,7 +196664,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, int32(9)) if rc == SQLITE_OK { if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData { - rc = _sqlite3CorruptError(tls, int32(226700)) + rc = _sqlite3CorruptError(tls, int32(228355)) } else { v3 = pIn + 8 v2 = *(*int32)(unsafe.Pointer(v3)) @@ -195020,7 +196688,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = _sqlite3CorruptError(tls, int32(226720)) + rc = _sqlite3CorruptError(tls, int32(228375)) } else { if eType == int32(SQLITE_TEXT) { v4 = int32(SQLITE_UTF8) @@ -195035,7 +196703,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap } if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) { if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) { - rc = _sqlite3CorruptError(tls, int32(226730)) + rc = _sqlite3CorruptError(tls, int32(228385)) } else { *(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal) if eType == int32(SQLITE_INTEGER) { @@ -195091,7 +196759,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) ( ** large value for nCol may cause nRead to wrap around and become ** negative. Leading to a crash. */ if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) { - rc = _sqlite3CorruptError(tls, int32(226778)) + rc = _sqlite3CorruptError(tls, int32(228433)) } else { rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100)) nRead += *(*int32)(unsafe.Pointer(bp)) @@ -195196,7 +196864,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) { (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 _sessionBufferGrow(tls, p+72, int64(nByte), bp) } else { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(226866)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(228521)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -195267,12 +196935,12 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { return (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc } + _sessionDiscardData(tls, p) + (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext /* If the iterator is already at the end of the changeset, return DONE. */ if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { return int32(SQLITE_DONE) } - _sessionDiscardData(tls, p) - (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext v3 = p + 8 v2 = *(*int32)(unsafe.Pointer(v3)) *(*int32)(unsafe.Pointer(v3))++ @@ -195302,7 +196970,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { /* The first record in the changeset is not a table header. Must be a ** corrupt changeset. */ - v7 = _sqlite3CorruptError(tls, int32(226952)) + v7 = _sqlite3CorruptError(tls, int32(228607)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7 return v7 } @@ -195312,7 +196980,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin *(*int32)(unsafe.Pointer(v9))++ (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8)))) if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) { - v10 = _sqlite3CorruptError(tls, int32(226958)) + v10 = _sqlite3CorruptError(tls, int32(228613)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10 return v10 } @@ -195391,7 +197059,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if *(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - v16 = _sqlite3CorruptError(tls, int32(227002)) + v16 = _sqlite3CorruptError(tls, int32(228657)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16 return v16 } @@ -195801,7 +197469,7 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu goto finished_invert } default: - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(227367)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(229022)) goto finished_invert } if xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size { @@ -196004,18 +197672,18 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 } if pUp == uintptr(0) { nByte = int32(uint64(24) * uint64(nU32) * uint64(4)) - bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11930) == 0) + bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+12055) == 0) pUp = Xsqlite3_malloc(tls, nByte) if pUp == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } else { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 libc.X__builtin___memset_chk(tls, bp+8, 0, uint64(16), libc.X__builtin_object_size(tls, bp+8, 0)) (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24 libc.X__builtin___memcpy_chk(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*TSessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(4), libc.X__builtin_object_size(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, 0)) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34328, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34474, bp) _sessionAppendIdent(tls, bp+8, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34341, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34487, bp) /* Create the assignments part of the UPDATE */ ii = 0 for { @@ -196025,9 +197693,9 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if int32(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34347, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34493, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(1), bp) - zSep = __ccgo_ts + 15338 + zSep = __ccgo_ts + 15431 } goto _2 _2: @@ -196035,8 +197703,8 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 ii++ } /* Create the WHERE clause part of the UPDATE */ - zSep = __ccgo_ts + 1650 - _sessionAppendStr(tls, bp+8, __ccgo_ts+34352, bp) + zSep = __ccgo_ts + 1664 + _sessionAppendStr(tls, bp+8, __ccgo_ts+34498, bp) ii = 0 for { if !(ii < (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { @@ -196045,13 +197713,13 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if *(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) if bStat1 != 0 && ii == int32(1) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+34360, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34506, bp) } else { _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34435, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34581, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(2), bp) } - zSep = __ccgo_ts + 22408 + zSep = __ccgo_ts + 22553 } goto _3 _3: @@ -196134,13 +197802,13 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in var _ /* buf at bp+8 */ TSessionBuffer var _ /* rc at bp+0 */ int32 _, _, _ = i, nPk, zSep - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} nPk = 0 - _sessionAppendStr(tls, bp+8, __ccgo_ts+34441, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34587, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34352, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34498, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -196150,9 +197818,9 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in nPk++ _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34347, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34493, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 22408 + zSep = __ccgo_ts + 22553 } goto _1 _1: @@ -196160,10 +197828,10 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in i++ } if nPk < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol { - _sessionAppendStr(tls, bp+8, __ccgo_ts+34459, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34605, bp) _sessionAppendInteger(tls, bp+8, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol+int32(1), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33923, bp) - zSep = __ccgo_ts + 1650 + _sessionAppendStr(tls, bp+8, __ccgo_ts+34069, bp) + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -196172,16 +197840,16 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in if !(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34435, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34581, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 34467 + zSep = __ccgo_ts + 34613 } goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5454, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5518, bp) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+8, uintptr(0)) @@ -196207,7 +197875,7 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in // */ func _sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r int32) { /* TODO */ - return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6933, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) + return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6997, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } // C documentation @@ -196230,16 +197898,16 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+34472, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34618, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+22414, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+22559, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } if i != 0 { - _sessionAppendStr(tls, bp+8, __ccgo_ts+15338, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+15431, bp) } _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) goto _1 @@ -196247,19 +197915,19 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34490, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34636, bp) i = int32(1) for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34501, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34647, bp) goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5454, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5518, bp) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+16, uintptr(0)) } @@ -196282,12 +197950,12 @@ func _sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) (r int func _sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) (r int32) { var rc int32 _ = rc - rc = _sessionSelectRow(tls, db, __ccgo_ts+11930, p) + rc = _sessionSelectRow(tls, db, __ccgo_ts+12055, p) if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34505) + rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34651) } if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34618) + rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34764) } return rc } @@ -196353,7 +198021,7 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { /* The value in the changeset was "undefined". This indicates a ** corrupt changeset blob. */ - rc = _sqlite3CorruptError(tls, int32(227849)) + rc = _sqlite3CorruptError(tls, int32(229504)) } else { rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp))) } @@ -196769,7 +198437,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } else { if *(*int32)(unsafe.Pointer(bp)) != 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34762, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34908, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = _sessionBindRow(tls, pIter, __ccgo_fp(Xsqlite3changeset_new), (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) Xsqlite3_bind_int(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol+int32(1), int32(1)) @@ -196782,7 +198450,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34783, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34929, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -196876,10 +198544,10 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbIgnoreNoop = libc.BoolUint8(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_IGNORENOOP) != 0)) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34802, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34948, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34828, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34974, uintptr(0), uintptr(0), uintptr(0)) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) { Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0)) @@ -196910,7 +198578,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui ** non-zero, proceed. */ schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144)))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) + *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { rc = int32(SQLITE_NOMEM) break @@ -196920,7 +198588,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } else { nMinCol = 0 Xsqlite3changeset_pk(tls, pIter, bp+152, uintptr(0)) - rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6933, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) + rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6997, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) if rc != SQLITE_OK { break } @@ -196939,18 +198607,18 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol == 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34858, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+35004, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol < *(*int32)(unsafe.Pointer(bp + 136)) { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34902, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+35048, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) } else { if *(*int32)(unsafe.Pointer(bp + 136)) < nMinCol || libc.Xmemcmp(tls, (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FabPK, *(*uintptr)(unsafe.Pointer(bp + 152)), uint64(*(*int32)(unsafe.Pointer(bp + 136)))) != 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34973, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+35119, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol = *(*int32)(unsafe.Pointer(bp + 136)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11930) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+12055) { v2 = _sessionStat1Sql(tls, db, bp+8) rc = v2 if v2 != 0 { @@ -197007,13 +198675,13 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } } } - Xsqlite3_exec(tls, db, __ccgo_ts+35033, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+35179, uintptr(0), uintptr(0), uintptr(0)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+35063, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+35209, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, __ccgo_ts+35087, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, __ccgo_ts+35063, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+35233, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+35209, uintptr(0), uintptr(0), uintptr(0)) } } if rc == SQLITE_OK && bPatchset == 0 && (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbRebase != 0 { @@ -197105,6 +198773,7 @@ type Tsqlite3_changegroup1 = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -197461,116 +199130,143 @@ func _sessionChangesetExtendRecord(tls *libc.TLS, pGrp uintptr, pTab uintptr, nC // C documentation // // /* -// ** Add all changes in the changeset traversed by the iterator passed as -// ** the first argument to the changegroup hash tables. +// ** Locate or create a SessionTable object that may be used to add the +// ** change currently pointed to by iterator pIter to changegroup pGrp. +// ** If successful, set output variable (*ppTab) to point to the table +// ** object and return SQLITE_OK. Otherwise, if some error occurs, return +// ** an SQLite error code and leave (*ppTab) set to NULL. // */ -func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { - bp := tls.Alloc(80) - defer tls.Free(80) - var bPkOnly1, bPkOnly2, iHash, nNew, rc int32 - var pExist, pTab, pp, ppTab uintptr - var _ /* aRec at bp+0 */ uintptr - var _ /* abPK at bp+64 */ uintptr - var _ /* bIndirect at bp+48 */ int32 - var _ /* nCol at bp+40 */ int32 - var _ /* nRec at bp+8 */ int32 - var _ /* op at bp+44 */ int32 - var _ /* pChange at bp+56 */ uintptr - var _ /* rec at bp+16 */ TSessionBuffer - var _ /* zNew at bp+32 */ uintptr - _, _, _, _, _, _, _, _, _ = bPkOnly1, bPkOnly2, iHash, nNew, pExist, pTab, pp, ppTab, rc +func _sessionChangesetFindTable(tls *libc.TLS, pGrp uintptr, zTab uintptr, pIter uintptr, ppTab uintptr) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var nTab, rc int32 + var pTab, ppNew uintptr + var _ /* abPK at bp+0 */ uintptr + var _ /* nCol at bp+8 */ int32 + _, _, _, _ = nTab, pTab, ppNew, rc rc = SQLITE_OK pTab = uintptr(0) - *(*TSessionBuffer)(unsafe.Pointer(bp + 16)) = TSessionBuffer{} - for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { - pExist = uintptr(0) - /* Ensure that only changesets, or only patchsets, but not a mixture - ** of both, are being combined. It is an error to try to combine a - ** changeset and a patchset. */ - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset - } else { - if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { - rc = int32(SQLITE_ERROR) - break - } + nTab = int32(libc.Xstrlen(tls, zTab)) + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(ppTab)) = uintptr(0) + Xsqlite3changeset_pk(tls, pIter, bp, bp+8) + /* Search the list for an existing table */ + pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList + for { + if !(pTab != 0) { + break } - Xsqlite3changeset_op(tls, pIter, bp+32, bp+40, bp+44, bp+48) - if !(pTab != 0) || Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), (*TSessionTable)(unsafe.Pointer(pTab)).FzName) != 0 { - /* Search the list for a matching table */ - nNew = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))) - Xsqlite3changeset_pk(tls, pIter, bp+64, uintptr(0)) - pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList - for { - if !(pTab != 0) { - break - } - if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), nNew+int32(1)) { - break - } - goto _1 - _1: - ; - pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext - } - if !(pTab != 0) { - pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 40)))+uint64(nNew)+uint64(1)) - if !(pTab != 0) { - rc = int32(SQLITE_NOMEM) - break - } - libc.X__builtin___memset_chk(tls, pTab, 0, uint64(80), libc.X__builtin_object_size(tls, pTab, 0)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 40)) - (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 - libc.X__builtin___memcpy_chk(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 64)), uint64(*(*int32)(unsafe.Pointer(bp + 40))), libc.X__builtin_object_size(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, 0)) - (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 40))) - libc.X__builtin___memcpy_chk(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), uint64(nNew+int32(1)), libc.X__builtin_object_size(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, 0)) - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 - rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) - if rc != 0 { - Xsqlite3_free(tls, pTab) - break - } - } - /* The new object must be linked on to the end of the list, not - ** simply added to the start of it. This is to ensure that the - ** tables within the output of sqlite3changegroup_output() are in - ** the right order. */ - ppTab = pGrp + 8 - for { - if !(*(*uintptr)(unsafe.Pointer(ppTab)) != 0) { - break - } - goto _2 - _2: - ; - ppTab = *(*uintptr)(unsafe.Pointer(ppTab)) - } - *(*uintptr)(unsafe.Pointer(ppTab)) = pTab - } - if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*uintptr)(unsafe.Pointer(bp + 64))) != 0) { - rc = int32(SQLITE_SCHEMA) - break - } + if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, nTab+int32(1)) { + break } - if *(*int32)(unsafe.Pointer(bp + 40)) < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol { - rc = _sessionChangesetExtendRecord(tls, pGrp, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*int32)(unsafe.Pointer(bp + 44)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+16) + goto _1 + _1: + ; + pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext + } + /* If one was not found above, create a new table now */ + if !(pTab != 0) { + pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 8)))+uint64(nTab)+uint64(1)) + if !(pTab != 0) { + return int32(SQLITE_NOMEM) + } + libc.X__builtin___memset_chk(tls, pTab, 0, uint64(80), libc.X__builtin_object_size(tls, pTab, 0)) + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 8)) + (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 + libc.X__builtin___memcpy_chk(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp)), uint64(*(*int32)(unsafe.Pointer(bp + 8))), libc.X__builtin_object_size(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, 0)) + (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 8))) + libc.X__builtin___memcpy_chk(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, uint64(nTab+int32(1)), libc.X__builtin_object_size(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, 0)) + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 + rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) if rc != 0 { + Xsqlite3_free(tls, pTab) + return rc + } + } + /* The new object must be linked on to the end of the list, not + ** simply added to the start of it. This is to ensure that the + ** tables within the output of sqlite3changegroup_output() are in + ** the right order. */ + ppNew = pGrp + 8 + for { + if !(*(*uintptr)(unsafe.Pointer(ppNew)) != 0) { break } - *(*uintptr)(unsafe.Pointer(bp)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf - *(*int32)(unsafe.Pointer(bp + 8)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf + goto _2 + _2: + ; + ppNew = *(*uintptr)(unsafe.Pointer(ppNew)) } - if _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { - rc = int32(SQLITE_NOMEM) - break + *(*uintptr)(unsafe.Pointer(ppNew)) = pTab + } + /* Check that the table is compatible. */ + if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp))) != 0) { + rc = int32(SQLITE_SCHEMA) + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + return rc +} + +// C documentation +// +// /* +// ** Add the change currently indicated by iterator pIter to the hash table +// ** belonging to changegroup pGrp. +// */ +func _sessionOneChangeToHash(tls *libc.TLS, pGrp uintptr, pIter uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var aRec, pBuf, pExist, pp uintptr + var bPkOnly1, bPkOnly2, iHash, nRec, rc int32 + var _ /* bIndirect at bp+8 */ int32 + var _ /* nCol at bp+0 */ int32 + var _ /* op at bp+4 */ int32 + var _ /* pChange at bp+16 */ uintptr + var _ /* pTab at bp+24 */ uintptr + var _ /* zTab at bp+32 */ uintptr + _, _, _, _, _, _, _, _, _ = aRec, bPkOnly1, bPkOnly2, iHash, nRec, pBuf, pExist, pp, rc + rc = SQLITE_OK + *(*int32)(unsafe.Pointer(bp)) = 0 + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + iHash = 0 + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) + pExist = uintptr(0) + pp = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) + aRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent+int32(2)) + nRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent - int32(2) + /* Ensure that only changesets, or only patchsets, but not a mixture + ** of both, are being combined. It is an error to try to combine a + ** changeset and a patchset. */ + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = int32(SQLITE_ERROR) } - iHash = int32(_sessionChangeHash(tls, pTab, libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)), *(*uintptr)(unsafe.Pointer(bp)), (*TSessionTable)(unsafe.Pointer(pTab)).FnChange)) + } + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0) + Xsqlite3changeset_op(tls, pIter, bp+32, bp, bp+4, bp+8) + rc = _sessionChangesetFindTable(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 32)), pIter, bp+24) + } + if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) < (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnCol { + pBuf = pGrp + 16 + rc = _sessionChangesetExtendRecord(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), aRec, nRec, pBuf) + aRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + nRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FnBuf + } + if rc == SQLITE_OK && _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 24))) != 0 { + rc = int32(SQLITE_NOMEM) + } + if rc == SQLITE_OK { /* Search for existing entry. If found, remove it from the hash table. - ** Code below may link it back in. - */ - pp = (*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8 + ** Code below may link it back in. */ + iHash = int32(_sessionChangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)), aRec, (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnChange)) + pp = (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8 for { if !(*(*uintptr)(unsafe.Pointer(pp)) != 0) { break @@ -197579,30 +199275,54 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase bPkOnly2 = 0 if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { bPkOnly1 = libc.BoolInt32(int32((*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fop) == int32(SQLITE_DELETE)) - bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)) + bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)) } - if _sessionChangeEqual(tls, pTab, bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp))) != 0 { + if _sessionChangeEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, aRec) != 0 { pExist = *(*uintptr)(unsafe.Pointer(pp)) *(*uintptr)(unsafe.Pointer(pp)) = (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry-- + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry-- break } - goto _3 - _3: + goto _1 + _1: ; pp = *(*uintptr)(unsafe.Pointer(pp)) + 24 } - rc = _sessionChangeMerge(tls, pTab, bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 44)), *(*int32)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+56) - if rc != 0 { + } + if rc == SQLITE_OK { + rc = _sessionChangeMerge(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 4)), *(*int32)(unsafe.Pointer(bp + 8)), aRec, nRec, bp+16) + } + if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { + (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 16)) + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry++ + } + if rc == SQLITE_OK { + rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// C documentation +// +// /* +// ** Add all changes in the changeset traversed by the iterator passed as +// ** the first argument to the changegroup hash tables. +// */ +func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var rc int32 + var _ /* aRec at bp+0 */ uintptr + var _ /* nRec at bp+8 */ int32 + _ = rc + rc = SQLITE_OK + for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { + rc = _sessionOneChangeToHash(tls, pGrp, pIter, bRebase) + if rc != SQLITE_OK { break } - if *(*uintptr)(unsafe.Pointer(bp + 56)) != 0 { - (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) - *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 56)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry++ - } } - Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf) if rc == SQLITE_OK { rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc } @@ -197712,11 +199432,11 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) (r int32) { var rc int32 _, _ = p, rc rc = SQLITE_OK /* New object */ - p = Xsqlite3_malloc(tls, int32(32)) + p = Xsqlite3_malloc(tls, int32(48)) if p == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.X__builtin___memset_chk(tls, p, 0, uint64(32), libc.X__builtin_object_size(tls, p, 0)) + libc.X__builtin___memset_chk(tls, p, 0, uint64(48), libc.X__builtin_object_size(tls, p, 0)) } *(*uintptr)(unsafe.Pointer(pp)) = p return rc @@ -197738,7 +199458,7 @@ func Xsqlite3changegroup_schema(tls *libc.TLS, pGrp uintptr, db uintptr, zDb uin ** or after sqlite3changegroup_schema() has already been called. */ rc = int32(SQLITE_MISUSE) } else { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, zDb)) + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, zDb)) if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -197768,6 +199488,19 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin return rc } +// C documentation +// +// /* +// ** Add a single change to a changeset-group. +// */ +func Xsqlite3changegroup_add_change(tls *libc.TLS, pGrp uintptr, pIter uintptr) (r int32) { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent == (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc != SQLITE_OK || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbInvert != 0 { + /* Iterator does not point to any valid entry or is an INVERT iterator. */ + return int32(SQLITE_ERROR) + } + return _sessionOneChangeToHash(tls, pGrp, pIter, 0) +} + // C documentation // // /* @@ -197815,6 +199548,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { if pGrp != 0 { Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Frec.FaBuf) Xsqlite3_free(tls, pGrp) } } @@ -198179,11 +199913,11 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) (r int32) { var rc int32 _, _ = pNew, rc rc = SQLITE_OK - pNew = Xsqlite3_malloc(tls, int32(32)) + pNew = Xsqlite3_malloc(tls, int32(48)) if pNew == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.X__builtin___memset_chk(tls, pNew, 0, uint64(32), libc.X__builtin_object_size(tls, pNew, 0)) + libc.X__builtin___memset_chk(tls, pNew, 0, uint64(48), libc.X__builtin_object_size(tls, pNew, 0)) } *(*uintptr)(unsafe.Pointer(ppNew)) = pNew return rc @@ -198257,6 +199991,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { if p != 0 { _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.Frec.FaBuf) Xsqlite3_free(tls, p) } } @@ -198888,6 +200623,9 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** sqlite3Fts5ParserARG_STORE Code to store %extra_argument into fts5yypParser // ** sqlite3Fts5ParserARG_FETCH Code to extract %extra_argument from fts5yypParser // ** sqlite3Fts5ParserCTX_* As sqlite3Fts5ParserARG_ except for %extra_context +// ** fts5YYREALLOC Name of the realloc() function to use +// ** fts5YYFREE Name of the free() function to use +// ** fts5YYDYNSTACK True if stack space should be extended on heap // ** fts5YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** fts5YYNSTATE the combined number of states. @@ -198901,6 +200639,8 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** fts5YY_NO_ACTION The fts5yy_action[] code for no-op // ** fts5YY_MIN_REDUCE Minimum value for reduce actions // ** fts5YY_MAX_REDUCE Maximum value for reduce actions +// ** fts5YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** fts5YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type Tfts5YYMINORTYPE = struct { @@ -198927,6 +200667,13 @@ type fts5YYMINORTYPE = Tfts5YYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -199356,8 +201103,9 @@ type fts5yyStackEntry = Tfts5yyStackEntry type Tfts5yyParser1 = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser1 = Tfts5yyParser1 @@ -199365,14 +201113,19 @@ type fts5yyParser1 = Tfts5yyParser1 type Tfts5yyParser = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser = Tfts5yyParser /* #include */ +/* For builds that do no have a growable stack, fts5yyGrowStack always +** returns an error. + */ + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3Fts5ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -199387,10 +201140,11 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { var fts5yypParser uintptr _ = fts5yypParser fts5yypParser = fts5yypRawParser - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fstateno = uint8(0) - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fmajor = uint8(0) - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = fts5yypParser + 16 + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack = fts5yypParser + 32 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fstateno = uint8(0) + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fmajor = uint8(0) } // C documentation @@ -199410,7 +201164,7 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) { var fts5yypParser uintptr _ = fts5yypParser - fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2424)) + fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432)) if fts5yypParser != 0 { _sqlite3Fts5ParserInit(tls, fts5yypParser) } @@ -199492,11 +201246,17 @@ func _fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var fts5yytos, pParser uintptr + _, _ = fts5yytos, pParser pParser = p - for (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { - _fts5yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling fts5yy_pop_parser_stack() for each + ** element left in the stack */ + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos + for fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yystack { + if int32((*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor) >= int32(fts5YY_MIN_DSTRCTR) { + _fts5yy_destructor(tls, pParser, (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor, fts5yytos+8) + } + fts5yytos -= 24 } } @@ -199584,13 +201344,13 @@ func _fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse - for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { + for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack { _fts5yy_pop_parser_stack(tls, fts5yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35115, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35261, 0) /******** End %stack_overflow code ********************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument var */ } @@ -199608,15 +201368,18 @@ func _fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, f var fts5yytos uintptr _ = fts5yytos (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 - if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 - _fts5yyStackOverflow(tls, fts5yypParser) - return + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + if fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { + if int32(1) != 0 { + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 + _fts5yyStackOverflow(tls, fts5yypParser) + return + } + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos } if int32(fts5yyNewState) > int32(fts5YY_MAX_SHIFT) { fts5yyNewState = uint8(int32(fts5yyNewState) + (libc.Int32FromInt32(fts5YY_MIN_REDUCE) - libc.Int32FromInt32(fts5YY_MIN_SHIFTREDUCE))) } - fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fstateno = fts5yyNewState (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor = fts5yyMajor *(*TFts5Token)(unsafe.Pointer(fts5yytos + 8)) = fts5yyMinor @@ -199943,7 +201706,7 @@ func _fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int3 pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse /************ Begin %syntax_error code ****************************************/ _ = fts5yymajor /* Silence a compiler warning */ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35143, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35289, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) /************ End %syntax_error code ******************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument variable */ } @@ -200005,8 +201768,10 @@ func _sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5y ** enough on the stack to push the LHS value */ if int32(_fts5yyRuleInfoNRhs[fts5yyruleno]) == 0 { if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos >= (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - _fts5yyStackOverflow(tls, fts5yypParser) - break + if int32(1) != 0 { + _fts5yyStackOverflow(tls, fts5yypParser) + break + } } } fts5yyact = _fts5yy_reduce(tls, fts5yypParser, fts5yyruleno, fts5yymajor, fts5yyminor) @@ -200246,7 +202011,7 @@ func _fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n in if n < 0 { n = int32(libc.Xstrlen(tls, z)) } - (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+35174, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+35320, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*THighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = int32(SQLITE_NOMEM) } @@ -200343,7 +202108,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint var _ /* rc at bp+104 */ int32 _, _ = iCol, zErr if nVal != int32(3) { - zErr = __ccgo_ts + 35181 + zErr = __ccgo_ts + 35327 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -200354,7 +202119,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint (*(*THighlightContext)(unsafe.Pointer(bp))).FiRangeEnd = -int32(1) *(*int32)(unsafe.Pointer(bp + 104)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})))(tls, pFts, iCol, bp+24, bp+32) if *(*int32)(unsafe.Pointer(bp + 104)) == int32(SQLITE_RANGE) { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1650, -int32(1), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1664, -int32(1), libc.UintptrFromInt32(0)) *(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_OK } else { if (*(*THighlightContext)(unsafe.Pointer(bp))).FzIn != 0 { @@ -200555,7 +202320,7 @@ func _fts5ValueToText(tls *libc.TLS, pVal uintptr) (r uintptr) { if zRet != 0 { v1 = zRet } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } return v1 } @@ -200589,7 +202354,7 @@ func _fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintpt nBestScore = 0 /* Score of best snippet */ *(*int32)(unsafe.Pointer(bp + 112)) = 0 if nVal != int32(5) { - zErr = __ccgo_ts + 35231 + zErr = __ccgo_ts + 35377 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -200969,15 +202734,15 @@ func _sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) (r int32) { FxDestroy uintptr }{ 0: { - FzFunc: __ccgo_ts + 35279, + FzFunc: __ccgo_ts + 35425, FxFunc: __ccgo_fp(_fts5SnippetFunction), }, 1: { - FzFunc: __ccgo_ts + 35287, + FzFunc: __ccgo_ts + 35433, FxFunc: __ccgo_fp(_fts5HighlightFunction), }, 2: { - FzFunc: __ccgo_ts + 35297, + FzFunc: __ccgo_ts + 35443, FxFunc: __ccgo_fp(_fts5Bm25Function), }, } @@ -201637,7 +203402,7 @@ func _fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) (r uintptr) { case int32('n'): fallthrough case int32('N'): - if Xsqlite3_strnicmp(tls, __ccgo_ts+1636, p, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+1650, p, int32(4)) == 0 { p = p + 4 } else { p = uintptr(0) @@ -201841,7 +203606,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _, _, _, _, _, _, _, _, _, _, _, _ = azArg, bFirst, nArg, nByte, nCmd, nPre, p, p1, p2, pDel, pSpace, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK nCmd = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, __ccgo_ts+35302, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35448, zCmd, nCmd) == 0 { nByte = int32(libc.Uint64FromInt64(4) * libc.Uint64FromInt32(FTS5_MAX_PREFIX_INDEXES)) bFirst = int32(1) if (*TFts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { @@ -201867,12 +203632,12 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } } if int32(*(*int8)(unsafe.Pointer(p))) < int32('0') || int32(*(*int8)(unsafe.Pointer(p))) > int32('9') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35309, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35455, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } if (*TFts5Config)(unsafe.Pointer(pConfig)).FnPrefix == int32(FTS5_MAX_PREFIX_INDEXES) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35340, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35486, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -201881,7 +203646,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC p++ } if nPre <= 0 || nPre >= int32(1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35373, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35519, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -201891,7 +203656,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35410, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35556, zCmd, nCmd) == 0 { p1 = zArg nArg = int64(libc.Xstrlen(tls, zArg) + uint64(1)) azArg = _sqlite3Fts5MallocZero(tls, bp, int64(uint64(8)*uint64(nArg))) @@ -201899,7 +203664,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC pSpace = pDel if azArg != 0 && pSpace != 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35419, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35565, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { nArg = 0 @@ -201926,7 +203691,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC nArg++ } if p1 == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35452, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35598, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(nArg), pConfig, pzErr) @@ -201937,58 +203702,58 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC Xsqlite3_free(tls, pDel) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35486, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35632, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35494, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35640, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if *(*int8)(unsafe.Pointer(zArg)) != 0 { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_EXTERNAL) - (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35526, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35672, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_NONE) } } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35532, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35678, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35551, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35697, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35594, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35740, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35608, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35754, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, zArg, -int32(1)) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35646, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35792, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35657, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35803, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+5847, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+5911, zCmd, nCmd) == 0 { *(*[4]TFts5Enum)(unsafe.Pointer(bp + 8)) = [4]TFts5Enum{ 0: { - FzName: __ccgo_ts + 8566, + FzName: __ccgo_ts + 8691, FeVal: int32(FTS5_DETAIL_NONE), }, 1: { - FzName: __ccgo_ts + 18114, + FzName: __ccgo_ts + 18201, }, 2: { - FzName: __ccgo_ts + 35692, + FzName: __ccgo_ts + 35838, FeVal: int32(FTS5_DETAIL_COLUMNS), }, 3: {}, @@ -201996,20 +203761,20 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC v2 = _fts5ConfigSetEnum(tls, bp+8, zArg, pConfig+96) *(*int32)(unsafe.Pointer(bp)) = v2 if v2 != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35700, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35846, 0) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35731, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35877, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35741, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35887, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbTokendata = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35775, libc.VaList(bp+80, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35921, libc.VaList(bp+80, nCmd, zCmd)) return int32(SQLITE_ERROR) } @@ -202081,15 +203846,15 @@ func _fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr var v2 uintptr _, _, _ = rc, v1, v2 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35803) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+17045) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35808, libc.VaList(bp+8, zCol)) + if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35949) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+17132) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35954, libc.VaList(bp+8, zCol)) rc = int32(SQLITE_ERROR) } else { if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35838) { + if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35984) { *(*Tu8)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*TFts5Config)(unsafe.Pointer(p)).FnCol))) = uint8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35848, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35994, libc.VaList(bp+8, zArg)) rc = int32(SQLITE_ERROR) } } @@ -202115,7 +203880,7 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TFts5Buffer)(unsafe.Pointer(bp + 8)) = TFts5Buffer{} - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35879, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+36025, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*TFts5Config)(unsafe.Pointer(p)).FeContent != int32(FTS5_CONTENT_NONE) { i = 0 for { @@ -202123,9 +203888,9 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { break } if (*TFts5Config)(unsafe.Pointer(p)).FeContent == int32(FTS5_CONTENT_EXTERNAL) { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35884, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+36030, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35891, libc.VaList(bp+32, i)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+36037, libc.VaList(bp+32, i)) } goto _1 _1: @@ -202185,8 +203950,8 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in (*TFts5Config)(unsafe.Pointer(pRet)).FzName = _sqlite3Fts5Strndup(tls, bp, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -int32(1)) (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize = int32(1) (*TFts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35803) == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35899, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) + if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35949) == 0 { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36045, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } i = int32(3) @@ -202217,19 +203982,19 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35928, libc.VaList(bp+40, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36074, libc.VaList(bp+40, zOrig)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bOption != 0 { if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { v4 = *(*uintptr)(unsafe.Pointer(bp + 8)) } else { - v4 = __ccgo_ts + 1650 + v4 = __ccgo_ts + 1664 } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { v5 = *(*uintptr)(unsafe.Pointer(bp + 16)) } else { - v5 = __ccgo_ts + 1650 + v5 = __ccgo_ts + 1664 } *(*int32)(unsafe.Pointer(bp)) = _fts5ConfigParseSpecial(tls, pGlobal, pRet, v4, v5, pzErr) } else { @@ -202247,7 +204012,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } /* We only allow contentless_delete=1 if the table is indeed contentless. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FeContent != int32(FTS5_CONTENT_NONE) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35948, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36094, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* We only allow contentless_delete=1 if columnsize=0 is not present. @@ -202255,7 +204020,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in ** This restriction may be removed at some point. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35998, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36144, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* If a tokenizer= option was successfully parsed, the tokenizer has @@ -202268,18 +204033,18 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContent == uintptr(0) { zTail = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { - zTail = __ccgo_ts + 35486 + zTail = __ccgo_ts + 35632 } else { if (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = __ccgo_ts + 36053 + zTail = __ccgo_ts + 36199 } } if zTail != 0 { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36061, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36207, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0) { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+17045, -int32(1)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+17132, -int32(1)) } /* Formulate the zContentExprlist text */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -202343,25 +204108,25 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) { var _ /* rc at bp+0 */ int32 _, _, _, _ = i, zSep, zSql, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36072, 0) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36218, 0) i = 0 for { if !(zSql != 0 && i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } if i == 0 { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } else { - v2 = __ccgo_ts + 15338 + v2 = __ccgo_ts + 15431 } zSep = v2 - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36088, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36234, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) goto _1 _1: ; i++ } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36095, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35803)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36241, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35949)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_declare_vtab(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) Xsqlite3_free(tls, zSql) @@ -202507,7 +204272,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV var _ /* zRankArgs at bp+8 */ uintptr _, _, _, _, _, _, _, _, _, _ = bVal, nAutomerge, nCrisisMerge, nHashSize, nUsermerge, nVal, pgsz, rc, zIn, v1 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36121) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36267) { pgsz = 0 if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -202518,7 +204283,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36126) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36272) { nHashSize = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -202529,7 +204294,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36135) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36281) { nAutomerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -202543,7 +204308,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36145) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36291) { nUsermerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -202554,7 +204319,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36155) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36301) { nCrisisMerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -202571,7 +204336,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36167) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36313) { nVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nVal = Xsqlite3_value_int(tls, pVal) @@ -202586,7 +204351,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } (*TFts5Config)(unsafe.Pointer(pConfig)).FnDeleteMerge = nVal } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35803) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35949) { zIn = Xsqlite3_value_text(tls, pVal) rc = _sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8) if rc == SQLITE_OK { @@ -202601,7 +204366,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36179) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36325) { bVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { bVal = Xsqlite3_value_int(tls, pVal) @@ -202643,7 +204408,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in var _ /* p at bp+0 */ uintptr var _ /* rc at bp+8 */ int32 _, _, _, _, _ = iVersion, pVal, zK, zSelect, zSql - zSelect = __ccgo_ts + 36193 + zSelect = __ccgo_ts + 36339 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_OK iVersion = 0 @@ -202663,7 +204428,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in for int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zK = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) pVal = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) - if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+36225) { + if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+36371) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 12)) = 0 @@ -202675,7 +204440,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && iVersion != int32(FTS5_CURRENT_VERSION) && iVersion != int32(FTS5_CURRENT_VERSION_SECUREDELETE) { *(*int32)(unsafe.Pointer(bp + 8)) = int32(SQLITE_ERROR) if (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+36233, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+36379, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = iVersion @@ -202896,7 +204661,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr } } if int32(*(*int8)(unsafe.Pointer(z2))) == int32('\000') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36304, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36450, 0) return FTS5_EOF } goto _1 @@ -202907,7 +204672,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z2) - int64(z)) default: if _sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36324, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36470, libc.VaList(bp+8, z)) return FTS5_EOF } tok = int32(FTS5_STRING) @@ -202922,13 +204687,13 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr z21++ } (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z21) - int64(z)) - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36355, uint64(2)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36501, uint64(2)) == 0 { tok = int32(FTS5_OR) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36358, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36504, uint64(3)) == 0 { tok = int32(FTS5_NOT) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+31101, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+31247, uint64(3)) == 0 { tok = int32(FTS5_AND) } break @@ -205000,8 +206765,8 @@ func _sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, pp func _sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36362, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35143, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) + if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36508, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35289, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -205021,7 +206786,7 @@ func _sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, } c = *(*int8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) if int32(c) < int32('0') || int32(c) > int32('9') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36367, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36513, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) return } nNear = nNear*int32(10) + (int32(*(*int8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - int32('0')) @@ -205159,7 +206924,7 @@ func _sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p u iCol++ } if iCol == (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21411, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21543, libc.VaList(bp+8, z)) } else { pRet = _fts5ParseColset(tls, pParse, pColset, iCol) } @@ -205283,7 +207048,7 @@ func _sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pC var _ /* pFree at bp+0 */ uintptr *(*uintptr)(unsafe.Pointer(bp)) = pColset if (*TFts5Config)(unsafe.Pointer((*TFts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == int32(FTS5_DETAIL_NONE) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36396, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36542, 0) } else { _fts5ParseSetColset(tls, pParse, pExpr, pColset, bp) } @@ -205476,11 +207241,11 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin pPhrase = *(*uintptr)(unsafe.Pointer(pNear + 24)) if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase != int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*(*TFts5ExprTerm)(unsafe.Pointer(pPhrase + 32))).FbFirst != 0 { if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == int32(1) { - v2 = __ccgo_ts + 36449 + v2 = __ccgo_ts + 36595 } else { - v2 = __ccgo_ts + 36362 + v2 = __ccgo_ts + 36508 } - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36456, libc.VaList(bp+8, v2)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36602, libc.VaList(bp+8, v2)) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -205489,7 +207254,7 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin _fts5ExprAddChildren(tls, pRet, pLeft) _fts5ExprAddChildren(tls, pRet, pRight) if (*TFts5ExprNode)(unsafe.Pointer(pRet)).FiHeight > int32(SQLITE_FTS5_MAX_EXPR_DEPTH) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36506, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36652, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -207637,7 +209402,7 @@ func _fts5DataRead(tls *libc.TLS, p uintptr, iRowid Ti64) (r uintptr) { ** to the requested entry. */ if (*TFts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36559, iRowid, 0, p+72) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36705, iRowid, 0, p+72) } /* If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls ** above returned SQLITE_ERROR, return SQLITE_CORRUPT_VTAB instead. @@ -207730,7 +209495,7 @@ func _fts5DataWrite(tls *libc.TLS, p uintptr, iRowid Ti64, pData uintptr, nData } if (*TFts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36565, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36711, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return } @@ -207759,7 +209524,7 @@ func _fts5DataDelete(tls *libc.TLS, p uintptr, iFirst Ti64, iLast Ti64) { } if (*TFts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36616, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36762, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if _fts5IndexPrepareStmt(tls, p, p+88, zSql) != 0 { return } @@ -207793,7 +209558,7 @@ func _fts5DataRemoveSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { } if (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36665, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36811, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter, int32(1), iSegid) @@ -207962,7 +209727,7 @@ func _fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie ui } i = int32(4) /* Check if this is a V2 structure record. Set bStructureV2 if it is. */ - if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36705, uint64(4)) { + if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36851, uint64(4)) { i += int32(4) bStructureV2 = int32(1) } @@ -208153,7 +209918,7 @@ func _fts5IndexDataVersion(tls *libc.TLS, p uintptr) (r Ti64) { iVersion = 0 if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*TFts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) { - (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36710, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36856, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return 0 } @@ -208237,7 +210002,7 @@ func _fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { _sqlite3Fts5Put32(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, iCookie) (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = int32(4) if (*TFts5Structure)(unsafe.Pointer(pStruct)).FnOriginCntr > uint64(0) { - libc.X__builtin___memcpy_chk(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36705, uint64(4), libc.X__builtin_object_size(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), 0)) + libc.X__builtin___memcpy_chk(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36851, uint64(4), libc.X__builtin_object_size(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), 0)) *(*int32)(unsafe.Pointer(bp + 8)) += int32(4) } *(*int32)(unsafe.Pointer(bp + 8)) += _sqlite3Fts5PutVarint(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), uint64((*TFts5Structure)(unsafe.Pointer(pStruct)).FnLevel)) @@ -209612,7 +211377,7 @@ func _fts5IdxSelectStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36733, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36879, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect } @@ -209701,7 +211466,7 @@ func _fts5IdxNextStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36817, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36963, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect } @@ -211317,7 +213082,7 @@ func _fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { if (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { v1 = (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } z = v1 /* The following was already done in fts5WriteInit(): */ @@ -211672,7 +213437,7 @@ func _fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { _sqlite3Fts5BufferSize(tls, p+60, pWriter+8+8, uint32(nBuffer)) if (*TFts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36899, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+37045, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { /* Initialize the 4-byte leaf-page header to 0x00. */ @@ -212162,7 +213927,7 @@ func _fts5SecureDeleteIdxEntry(tls *libc.TLS, p uintptr, iSegid int32, iPgno int defer tls.Free(32) if iPgno != int32(1) { if (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx == uintptr(0) { - _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36956, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+37102, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx, int32(1), iSegid) @@ -213652,7 +215417,7 @@ func _sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) (r int32) { if (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FbContentlessDelete != 0 { (*(*TFts5Structure)(unsafe.Pointer(bp))).FnOriginCntr = uint64(1) } - _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1650, 0) + _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1664, 0) _fts5StructureWrite(tls, p, bp) return _fts5IndexReturn(tls, p) } @@ -213679,11 +215444,11 @@ func _sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uin if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*TFts5Index)(unsafe.Pointer(p)).FnWorkUnit = int32(FTS5_WORK_UNIT) - (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37017, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37163, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+26136, __ccgo_ts+37025, 0, pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+26282, __ccgo_ts+37171, 0, pzErr) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+12141, __ccgo_ts+37060, int32(1), pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+12266, __ccgo_ts+37206, int32(1), pzErr) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5IndexReinit(tls, p) @@ -214217,7 +215982,7 @@ func _fts5SetupTokendataIter(tls *libc.TLS, p uintptr, pToken uintptr, nToken in pNew = _fts5MultiIterAlloc(tls, p, (*TFts5Structure)(unsafe.Pointer(pStruct)).FnSegment) if pSmall != 0 { _sqlite3Fts5BufferSet(tls, p+60, bp, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fn, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+37104) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+37250) } else { _sqlite3Fts5BufferSet(tls, p+60, bp, nToken, pToken) } @@ -214737,7 +216502,7 @@ func _sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) (r int32) pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig /* Binary representation of iNew */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) _sqlite3Fts5Put32(tls, bp, iNew) - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36559, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36705, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, int32(4), 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -215331,7 +217096,7 @@ func _fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { if (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { return } - _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+37106, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) + _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+37252, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) /* Iterate through the b-tree hierarchy. */ for (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { /* Data for this leaf */ zIdxTerm = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -215562,7 +217327,7 @@ func _sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum Tu64, bUseC } else { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = 0 _fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16))+104+uintptr((*(*TFts5CResult)(unsafe.Pointer((*TFts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FaFirst + 1*4))).FiFirst)*128, uintptr(0), bp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+37192) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+37338) for 0 == _sqlite3Fts5PoslistNext64(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn, bp+40, bp+32) { iCol = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) >> libc.Int32FromInt32(32)) iTokOff = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) & libc.Int64FromInt32(0x7FFFFFFF)) @@ -216150,7 +217915,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) bSeenMatch = 0 bSeenRank = 0 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37197, 0) + (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37343, 0) return int32(SQLITE_ERROR) } idxStr = Xsqlite3_malloc(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pInfo)).FnConstraint*int32(8)+int32(1)) @@ -216189,7 +217954,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v3 = iIdxStr iIdxStr++ *(*int8)(unsafe.Pointer(idxStr + uintptr(v3))) = int8('M') - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5486, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5550, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) } } @@ -216209,7 +217974,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v6 = int32('G') } *(*int8)(unsafe.Pointer(idxStr + uintptr(v5))) = int8(v6) - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5486, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5550, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) iCons++ v7 = iCons @@ -216647,7 +218412,7 @@ func _fts5NextMethod(tls *libc.TLS, pCursor uintptr) (r int32) { *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_EOF) rc = Xsqlite3_reset(tls, (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -216674,7 +218439,7 @@ func _fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt } else { rc = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -216709,21 +218474,21 @@ func _fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ if zRankArgs != 0 { - v1 = __ccgo_ts + 15338 + v1 = __ccgo_ts + 15431 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } if zRankArgs != 0 { v2 = zRankArgs } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } if bDesc != 0 { - v3 = __ccgo_ts + 37236 + v3 = __ccgo_ts + 37382 } else { - v3 = __ccgo_ts + 37241 + v3 = __ccgo_ts + 37387 } - rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+37245, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) + rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+37391, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter if rc == SQLITE_OK { (*TFts5FullTable)(unsafe.Pointer(pTab)).FpSortCsr = pCsr @@ -216781,14 +218546,14 @@ func _fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr n++ } (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan = int32(FTS5_PLAN_SPECIAL) - if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+37300, z, n) { + if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+37446, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = int64(_sqlite3Fts5IndexReads(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex)) } else { - if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5829, z, n) { + if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5893, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { /* An unrecognized directive. Return an error message. */ - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37306, libc.VaList(bp+8, n, z)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37452, libc.VaList(bp+8, n, z)) rc = int32(SQLITE_ERROR) } } @@ -216838,7 +218603,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { zRank = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank zRankArgs = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37334, libc.VaList(bp+24, zRankArgs)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37480, libc.VaList(bp+24, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp+8, uintptr(0)) @@ -216871,7 +218636,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { pAux = _fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37344, libc.VaList(bp+24, zRank)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37490, libc.VaList(bp+24, zRank)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -216905,7 +218670,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_FREE_ZRANK) } else { if rc == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37365, libc.VaList(bp+24, z)) + (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37511, libc.VaList(bp+24, z)) } } } else { @@ -216913,7 +218678,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRank (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRankArgs } else { - (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 35297 + (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 35443 (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -216964,7 +218729,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint iIdxStr = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37197, 0) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37343, 0) return int32(SQLITE_ERROR) } if (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan != 0 { @@ -216986,7 +218751,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint case int32('M'): zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))) if zText == uintptr(0) { - zText = __ccgo_ts + 1650 + zText = __ccgo_ts + 1664 } iCol = 0 for cond := true; cond; cond = int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= int32('9') { @@ -217108,7 +218873,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint } } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent == uintptr(0) { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37398, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37544, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = int32(SQLITE_ERROR) } else { /* This is either a full-table scan (ePlan==FTS5_PLAN_SCAN) or a lookup @@ -217246,7 +219011,7 @@ func _fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) (r int32) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< int32(1) { - v1 = __ccgo_ts + 21264 + v1 = __ccgo_ts + 21396 } else { - v1 = __ccgo_ts + 37676 + v1 = __ccgo_ts + 37822 } - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37688, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37834, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if nArg == int32(1) { @@ -217503,7 +219268,7 @@ func _fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && bUpdateOrDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FbSecureDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion == int32(FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+36225, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+36371, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = int32(FTS5_CURRENT_VERSION_SECUREDELETE) } @@ -218299,7 +220064,7 @@ func _fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) iCsrId = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) pCsr = _fts5CursorFromCsrid(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId) if pCsr == uintptr(0) || (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37725, libc.VaList(bp+8, iCsrId)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37871, libc.VaList(bp+8, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } else { @@ -218490,7 +220255,7 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = uintptr(0) } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 && Xsqlite3_vtab_nochange(tls, pCtx) != 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37746, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37892, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -218732,7 +220497,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr pMod = _fts5LocateTokenizer(tls, pGlobal, v1) if pMod == uintptr(0) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37817, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37963, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) } else { if azArg != 0 { v2 = azArg + 1*8 @@ -218748,7 +220513,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr (*TFts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16 if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37839, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37985, 0) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FePattern = _sqlite3Fts5TokenizerPattern(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate, (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok) @@ -218803,7 +220568,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { _, _ = pGlobal, ppApi pGlobal = Xsqlite3_user_data(tls, pCtx) _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37870) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+38016) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal } @@ -218817,7 +220582,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { func _fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37883, -int32(1), uintptr(-libc.Int32FromInt32(1))) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+38029, -int32(1), uintptr(-libc.Int32FromInt32(1))) } // C documentation @@ -218846,11 +220611,11 @@ func _fts5ShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName2 = [5]uintptr{ - 0: __ccgo_ts + 37974, - 1: __ccgo_ts + 35486, - 2: __ccgo_ts + 26136, - 3: __ccgo_ts + 36053, - 4: __ccgo_ts + 12141, + 0: __ccgo_ts + 38120, + 1: __ccgo_ts + 35632, + 2: __ccgo_ts + 26282, + 3: __ccgo_ts + 36199, + 4: __ccgo_ts + 12266, } // C documentation @@ -218864,20 +220629,26 @@ func _fts5IntegrityMethod(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zTabnam bp := tls.Alloc(32) defer tls.Free(32) var pTab uintptr - var rc int32 - _, _ = pTab, rc + var rc, v1 int32 + _, _, _ = pTab, rc, v1 pTab = pVtab _ = isQuick rc = _sqlite3Fts5StorageIntegrity(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, 0) if rc&int32(0xff) == int32(SQLITE_CORRUPT) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37981, libc.VaList(bp+8, zSchema, zTabname)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38127, libc.VaList(bp+8, zSchema, zTabname)) + if *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { + v1 = SQLITE_OK + } else { + v1 = int32(SQLITE_NOMEM) + } + rc = v1 } else { if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38027, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38173, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) } } _sqlite3Fts5IndexCloseReader(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) - return SQLITE_OK + return rc } func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { @@ -218896,7 +220667,7 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateFunction = __ccgo_fp(_fts5CreateAux) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateTokenizer = __ccgo_fp(_fts5CreateTokenizer) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = __ccgo_fp(_fts5FindTokenizer) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+38090, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+38236, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) if rc == SQLITE_OK { rc = _sqlite3Fts5IndexInit(tls, db) } @@ -218913,10 +220684,10 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { rc = _sqlite3Fts5VocabInit(tls, pGlobal, db) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+38090, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+38236, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+38095, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+38241, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) } } /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file @@ -219019,17 +220790,17 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, ** statements to operate on it. */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { azStmt = [11]uintptr{ - 0: __ccgo_ts + 38110, - 1: __ccgo_ts + 38178, - 2: __ccgo_ts + 38247, - 3: __ccgo_ts + 38280, - 4: __ccgo_ts + 38319, - 5: __ccgo_ts + 38359, - 6: __ccgo_ts + 38398, - 7: __ccgo_ts + 38441, - 8: __ccgo_ts + 38480, - 9: __ccgo_ts + 38524, - 10: __ccgo_ts + 38564, + 0: __ccgo_ts + 38256, + 1: __ccgo_ts + 38324, + 2: __ccgo_ts + 38393, + 3: __ccgo_ts + 38426, + 4: __ccgo_ts + 38465, + 5: __ccgo_ts + 38505, + 6: __ccgo_ts + 38544, + 7: __ccgo_ts + 38587, + 8: __ccgo_ts + 38626, + 9: __ccgo_ts + 38670, + 10: __ccgo_ts + 38710, } pC = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig zSql = uintptr(0) @@ -219066,16 +220837,16 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, } case int32(FTS5_STMT_REPLACE_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v2 = __ccgo_ts + 38587 + v2 = __ccgo_ts + 38733 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName, v2)) case int32(FTS5_STMT_LOOKUP_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v3 = __ccgo_ts + 38590 + v3 = __ccgo_ts + 38736 } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, v3, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName)) default: @@ -219094,7 +220865,7 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, (*TFts5Config)(unsafe.Pointer((*TFts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if rc != SQLITE_OK && pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -219131,12 +220902,12 @@ func _sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) (r int32) { defer tls.Free(64) var rc int32 _ = rc - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38598, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38744, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38702, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38848, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38740, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38886, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } @@ -219145,7 +220916,7 @@ func _fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail ui bp := tls.Alloc(48) defer tls.Free(48) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38778, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) + *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38924, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -219157,14 +220928,14 @@ func _sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) ( _ = pConfig pConfig = (*TFts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageSync(tls, pStorage) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+26136, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+12141, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37974, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+26282, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+12266, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+38120, zName) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+36053, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+36199, zName) } if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35486, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35632, zName) } return *(*int32)(unsafe.Pointer(bp)) } @@ -219184,13 +220955,13 @@ func _sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDef _, _ = rc, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if bWithout != 0 { - v1 = __ccgo_ts + 30776 + v1 = __ccgo_ts + 30922 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38820, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38966, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38850, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38996, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) } return rc @@ -219231,36 +221002,36 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr if zDefn == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38894, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+39040, 0) iOff = int32(libc.Xstrlen(tls, zDefn)) i = 0 for { if !(i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } - Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38917, libc.VaList(bp+8, i)) + Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+39063, libc.VaList(bp+8, i)) iOff += int32(libc.Xstrlen(tls, zDefn+uintptr(iOff))) goto _2 _2: ; i++ } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35486, zDefn, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35632, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - zCols = __ccgo_ts + 38923 + zCols = __ccgo_ts + 39069 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 { - zCols = __ccgo_ts + 38955 + zCols = __ccgo_ts + 39101 } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+36053, zCols, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+36199, zCols, 0, pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37974, __ccgo_ts+39003, int32(1), pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+38120, __ccgo_ts+39149, int32(1), pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+36225, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+36371, uintptr(0), int32(FTS5_CURRENT_VERSION)) } } if rc != 0 { @@ -219602,9 +221373,9 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig (*TFts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 /* Delete the contents of the %_data and %_docsize tables. */ - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39020, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39166, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39070, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39216, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } /* Reinitialize the %_data table. This call creates the initial structure ** and averages records. */ @@ -219612,7 +221383,7 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3Fts5IndexReinit(tls, (*TFts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+36225, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+36371, uintptr(0), int32(FTS5_CURRENT_VERSION)) } return rc } @@ -219826,7 +221597,7 @@ func _fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var _ /* pCnt at bp+0 */ uintptr _, _, _ = pConfig, rc, zSql pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+39099, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+39245, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -220036,14 +221807,14 @@ func _sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) (r int32 ** number of rows. */ if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { *(*Ti64)(unsafe.Pointer(bp + 48)) = 0 - rc = _fts5StorageCount(tls, p, __ccgo_ts+35486, bp+48) + rc = _fts5StorageCount(tls, p, __ccgo_ts+35632, bp+48) if rc == SQLITE_OK && *(*Ti64)(unsafe.Pointer(bp + 48)) != (*TFts5Storage)(unsafe.Pointer(p)).FnTotalRow { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) } @@ -221245,64 +223016,64 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39201, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39347, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39204, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39350, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39209, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39355, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('e'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39214, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39360, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39217, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39363, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('l'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39220, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39366, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39225, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39371, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39230, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39376, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39234, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39380, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39240, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39386, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39245, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39391, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -221311,49 +223082,49 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39249, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39395, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39253, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39399, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } } case int32('s'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39256, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39402, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('t'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39260, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39406, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39264, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39410, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39268, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39414, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39272, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39418, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('z'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39276, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39422, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -221370,20 +223141,20 @@ func _fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39280, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39260, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(2)), 0)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39426, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39406, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(2)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('b'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39283, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39286, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(2)), 0)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39429, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39432, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(2)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39290, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39276, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(2)), 0)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39436, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39422, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(2)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } @@ -221399,75 +223170,75 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39293, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39439, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39260, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39406, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39301, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39447, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39308, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(6)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39454, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(6)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(4) } } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39313, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39459, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39209, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39355, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39318, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39464, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39204, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39350, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } } case int32('e'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39323, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39469, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39276, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39422, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('g'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39328, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39474, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+16255, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+16334, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('l'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39333, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39479, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39286, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(3)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39432, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(3)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39337, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39483, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39201, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39347, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39342, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39488, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39245, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39391, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39348, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39494, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39352, uint64(1), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(3)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39498, uint64(1), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(3)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(1) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39354, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39500, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39268, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39414, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } @@ -221476,48 +223247,48 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39360, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39506, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39276, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39422, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39368, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39514, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39260, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39406, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39374, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39520, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39260, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39406, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } } } case int32('s'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39379, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39525, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39201, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39347, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39385, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39531, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39272, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39418, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39393, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39539, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39401, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39547, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39405, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39551, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39268, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39414, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(7)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } @@ -221525,21 +223296,21 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39413, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39559, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39201, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39347, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39419, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39565, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39272, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39418, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39425, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39571, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39286, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(6)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39432, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(6)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(3) } } @@ -221557,48 +223328,48 @@ func _fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39432, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39578, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39217, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39363, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(4)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } case int32('s'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39437, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39583, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39442, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39588, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39217, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39363, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39448, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39594, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39217, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39363, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39401, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39547, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39454, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39600, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } case int32('z'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39460, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39606, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39201, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39347, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(5)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } @@ -221614,13 +223385,13 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('e'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39466, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39612, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39470, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(3)), 0)) + libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39616, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-int32(3)), 0)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(2) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39473, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39619, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) ret = int32(1) @@ -221628,7 +223399,7 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39476, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39622, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) ret = int32(1) @@ -221789,14 +223560,14 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p break } zArg = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+int32(1))*8)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39480) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39626) { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { (*TTrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('0')) } } else { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39173) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39319) { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('2') || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { @@ -222070,7 +223841,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { Fx Tfts5_tokenizer }{ 0: { - FzName: __ccgo_ts + 39191, + FzName: __ccgo_ts + 39337, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5UnicodeCreate), FxDelete: __ccgo_fp(_fts5UnicodeDelete), @@ -222078,7 +223849,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 1: { - FzName: __ccgo_ts + 39495, + FzName: __ccgo_ts + 39641, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5AsciiCreate), FxDelete: __ccgo_fp(_fts5AsciiDelete), @@ -222086,7 +223857,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 2: { - FzName: __ccgo_ts + 39501, + FzName: __ccgo_ts + 39647, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5PorterCreate), FxDelete: __ccgo_fp(_fts5PorterDelete), @@ -222094,7 +223865,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 3: { - FzName: __ccgo_ts + 39508, + FzName: __ccgo_ts + 39654, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5TriCreate), FxDelete: __ccgo_fp(_fts5TriDelete), @@ -227628,16 +229399,16 @@ func _fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uin zCopy = _sqlite3Fts5Strndup(tls, bp, zType, -int32(1)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { _sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39516) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39662) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39520) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39666) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_ROW) } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39524) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39670) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_INSTANCE) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39533, libc.VaList(bp+16, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39679, libc.VaList(bp+16, zCopy)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -227706,15 +229477,15 @@ func _fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg var _ /* rc at bp+0 */ int32 _, _, _, _, _, _, _, _, _, _, _, _ = azSchema, bDb, nByte, nDb, nTab, pRet, zDb, zTab, zType, v1, v2, v3 azSchema = [3]uintptr{ - 0: __ccgo_ts + 39567, - 1: __ccgo_ts + 39607, - 2: __ccgo_ts + 39642, + 0: __ccgo_ts + 39713, + 1: __ccgo_ts + 39753, + 2: __ccgo_ts + 39788, } pRet = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+24137, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) + bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+24260, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) if argc != int32(5) && bDb == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39685, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39831, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bDb != 0 { @@ -227884,10 +229655,10 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) zSql = uintptr(0) if (*TFts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39718, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39864, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return int32(SQLITE_ERROR) } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39749, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39895, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, (*TFts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), bp+8, uintptr(0)) } @@ -227906,7 +229677,7 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39800, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39946, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } else { @@ -228208,7 +229979,7 @@ func _fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnuse if pLe != 0 { zCopy = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = __ccgo_ts + 1650 + zCopy = __ccgo_ts + 1664 } (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm+int32(1)) @@ -228332,7 +230103,7 @@ func _sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) (r int32) var p uintptr _ = p p = pGlobal - return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39826, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39972, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) } var _fts5Vocab = Tsqlite3_module{ @@ -228385,7 +230156,7 @@ func init() { // /************** End of stmt.c ************************************************/ // /* Return the source-id for this library */ func Xsqlite3_sourceid(tls *libc.TLS) (r uintptr) { - return __ccgo_ts + 39836 + return __ccgo_ts + 39982 } type TAggInfo_col = struct { @@ -228667,11 +230438,11 @@ var Xsqlite3_temp_directory uintptr // ** // ** See also: [sqlite_version()] and [sqlite_source_id()]. // */ -var Xsqlite3_version = [7]int8{'3', '.', '4', '5', '.', '3'} +var Xsqlite3_version = [7]int8{'3', '.', '4', '6', '.', '0'} var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data -var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-15.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%04d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00S\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\x00nfs\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00msdos\x00exfat\x00SQLITE_FORCE_PROXY_LOCKING\x00:auto:\x00fsync\x00/dev/urandom\x00sqliteplocks\x00/\x00dummy\x00break\x00path error (len %d)\x00read error (len %d)\x00create failed (%d)\x00write failed (%d)\x00rename failed (%d)\x00broke stale lock on %s\n\x00failed to break stale lock on %s, %s\n\x00-conch\x00.lock\x00:auto: (not held)\x00unix\x00unix-none\x00unix-dotfile\x00unix-posix\x00unix-flock\x00unix-afp\x00unix-nfs\x00unix-proxy\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00PRAGMA \"%w\".integrity_check(%Q)\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00dylib\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00lock_proxy_file\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00failed to set lock proxy file\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00RIGHT PART OF \x00USE TEMP B-TREE FOR %sORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00" +var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-15.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00S\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\x00nfs\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00msdos\x00exfat\x00SQLITE_FORCE_PROXY_LOCKING\x00:auto:\x00fsync\x00/dev/urandom\x00sqliteplocks\x00/\x00dummy\x00break\x00path error (len %d)\x00read error (len %d)\x00create failed (%d)\x00write failed (%d)\x00rename failed (%d)\x00broke stale lock on %s\n\x00failed to break stale lock on %s, %s\n\x00-conch\x00.lock\x00:auto: (not held)\x00unix\x00unix-none\x00unix-dotfile\x00unix-posix\x00unix-flock\x00unix-afp\x00unix-nfs\x00unix-proxy\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00dylib\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00lock_proxy_file\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00failed to set lock proxy file\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00" type Sqlite3_int64 = sqlite3_int64 type Sqlite3_mutex_methods = sqlite3_mutex_methods diff --git a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go index ad9ad57c4d..5b7a729321 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go @@ -1,4 +1,4 @@ -// Code generated for freebsd/amd64 by 'generator -mlong-double-64 --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -extended-errors -o sqlite3.go sqlite3.c -I/tmp/libsqlite3/sqlite-amalgamation-3450300/ccgo -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -ltcl8.6 -eval-all-macros', DO NOT EDIT. +// Code generated for freebsd/amd64 by 'generator -mlong-double-64 --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libz/include/freebsd/amd64 -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libtcl8.6/include/freebsd/amd64 -extended-errors -o sqlite3.go sqlite3.c -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -ltcl8.6 -eval-all-macros', DO NOT EDIT. //go:build freebsd && amd64 // +build freebsd,amd64 @@ -845,6 +845,7 @@ const OPFLG_IN1 = 2 const OPFLG_IN2 = 4 const OPFLG_IN3 = 8 const OPFLG_JUMP = 1 +const OPFLG_JUMP0 = 128 const OPFLG_NCYCLE = 64 const OPFLG_OUT2 = 16 const OPFLG_OUT3 = 32 @@ -922,7 +923,7 @@ const OP_IfNotOpen = 25 const OP_IfNotZero = 60 const OP_IfNullRow = 20 const OP_IfPos = 59 -const OP_IfSmaller = 33 +const OP_IfSizeBetween = 33 const OP_IncrVacuum = 62 const OP_Init = 8 const OP_InitCoroutine = 11 @@ -1352,6 +1353,7 @@ const SF_ComplexResult = 262144 const SF_Compound = 256 const SF_Converted = 65536 const SF_CopyCte = 67108864 +const SF_Correlated = 536870912 const SF_Distinct = 1 const SF_Expanded = 64 const SF_FixedLimit = 16384 @@ -1575,6 +1577,7 @@ const SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT = -1 const SQLITE_DEFAULT_LOOKASIDE = 40 const SQLITE_DEFAULT_MEMSTATUS = 0 const SQLITE_DEFAULT_MMAP_SIZE = 0 +const SQLITE_DEFAULT_OPTIMIZE_LIMIT = 2000 const SQLITE_DEFAULT_PAGE_SIZE = 4096 const SQLITE_DEFAULT_PCACHE_INITSZ = 20 const SQLITE_DEFAULT_PROXYDIR_PERMISSIONS = 493 @@ -1592,6 +1595,7 @@ const SQLITE_DESERIALIZE_READONLY = 4 const SQLITE_DESERIALIZE_RESIZEABLE = 2 const SQLITE_DETACH = 25 const SQLITE_DETERMINISTIC = 2048 +const SQLITE_DIGIT_SEPARATOR = 95 const SQLITE_DIRECTONLY = 524288 const SQLITE_DIRECT_OVERFLOW_READ = 1 const SQLITE_DONE = 101 @@ -2016,7 +2020,7 @@ const SQLITE_SHM_SHARED = 4 const SQLITE_SHM_UNLOCK = 1 const SQLITE_SORTER_PMASZ = 250 const SQLITE_SOUNDEX = 1 -const SQLITE_SOURCE_ID = "2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355" +const SQLITE_SOURCE_ID = "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e" const SQLITE_SO_ASC = 0 const SQLITE_SO_DESC = 1 const SQLITE_SO_UNDEFINED = -1 @@ -2124,8 +2128,8 @@ const SQLITE_UTF16LE = 2 const SQLITE_UTF16NATIVE = 2 const SQLITE_UTF16_ALIGNED = 8 const SQLITE_UTF8 = 1 -const SQLITE_VERSION = "3.45.3" -const SQLITE_VERSION_NUMBER = 3045003 +const SQLITE_VERSION = "3.46.0" +const SQLITE_VERSION_NUMBER = 3046000 const SQLITE_VTABRISK_High = 2 const SQLITE_VTABRISK_Low = 0 const SQLITE_VTABRISK_Normal = 1 @@ -2223,11 +2227,11 @@ const TF_HasStat1 = 16 const TF_HasStat4 = 8192 const TF_HasStored = 64 const TF_HasVirtual = 32 +const TF_MaybeReanalyze = 256 const TF_NoVisibleRowid = 512 const TF_OOOHidden = 1024 const TF_Readonly = 1 const TF_Shadow = 4096 -const TF_StatsUsed = 256 const TF_Strict = 65536 const TF_WithoutRowid = 128 const TIMER_ABSTIME = 1 @@ -2335,7 +2339,7 @@ const TK_ID = 59 const TK_IF = 18 const TK_IF_NULL_ROW = 179 const TK_IGNORE = 63 -const TK_ILLEGAL = 184 +const TK_ILLEGAL = 185 const TK_IMMEDIATE = 8 const TK_IN = 49 const TK_INDEX = 161 @@ -2383,6 +2387,7 @@ const TK_PRAGMA = 70 const TK_PRECEDING = 88 const TK_PRIMARY = 122 const TK_PTR = 112 +const TK_QNUMBER = 183 const TK_QUERY = 3 const TK_RAISE = 71 const TK_RANGE = 89 @@ -2407,7 +2412,7 @@ const TK_SELECT_COLUMN = 178 const TK_SEMI = 1 const TK_SET = 130 const TK_SLASH = 109 -const TK_SPACE = 183 +const TK_SPACE = 184 const TK_SPAN = 181 const TK_STAR = 108 const TK_STRING = 117 @@ -2420,12 +2425,12 @@ const TK_TRANSACTION = 6 const TK_TRIGGER = 77 const TK_TRUEFALSE = 170 const TK_TRUTH = 175 -const TK_UMINUS = 173 +const TK_UMINUS = 174 const TK_UNBOUNDED = 90 const TK_UNION = 134 const TK_UNIQUE = 123 const TK_UPDATE = 129 -const TK_UPLUS = 174 +const TK_UPLUS = 173 const TK_USING = 144 const TK_VACUUM = 78 const TK_VALUES = 139 @@ -2583,31 +2588,37 @@ const W_OK = 2 const XN_EXPR = -2 const XN_ROWID = -1 const X_OK = 1 +const YYDYNSTACK = 1 const YYFALLBACK = 1 +const YYFREE = 0 +const YYGROWABLESTACK = 1 const YYMALLOCARGTYPE = 0 -const YYNOCODE = 319 +const YYNOCODE = 322 const YYNOERRORRECOVERY = 1 -const YYNRULE = 405 -const YYNRULE_WITH_ACTION = 340 -const YYNSTATE = 579 -const YYNTOKEN = 185 +const YYNRULE = 409 +const YYNRULE_WITH_ACTION = 344 +const YYNSTATE = 583 +const YYNTOKEN = 186 const YYPARSEFREENEVERNULL = 1 +const YYREALLOC = 0 const YYSTACKDEPTH = 100 const YYWILDCARD = 101 -const YY_ACCEPT_ACTION = 1244 -const YY_ACTTAB_COUNT = 2100 -const YY_ERROR_ACTION = 1243 -const YY_MAX_REDUCE = 1650 -const YY_MAX_SHIFT = 578 -const YY_MAX_SHIFTREDUCE = 1242 -const YY_MIN_REDUCE = 1246 -const YY_MIN_SHIFTREDUCE = 838 -const YY_NO_ACTION = 1245 -const YY_REDUCE_COUNT = 410 -const YY_REDUCE_MAX = 1753 -const YY_REDUCE_MIN = -271 -const YY_SHIFT_COUNT = 578 -const YY_SHIFT_MAX = 2088 +const YY_ACCEPT_ACTION = 1255 +const YY_ACTTAB_COUNT = 2142 +const YY_ERROR_ACTION = 1254 +const YY_MAX_DSTRCTR = 319 +const YY_MAX_REDUCE = 1665 +const YY_MAX_SHIFT = 582 +const YY_MAX_SHIFTREDUCE = 1253 +const YY_MIN_DSTRCTR = 205 +const YY_MIN_REDUCE = 1257 +const YY_MIN_SHIFTREDUCE = 845 +const YY_NO_ACTION = 1256 +const YY_REDUCE_COUNT = 411 +const YY_REDUCE_MAX = 1798 +const YY_REDUCE_MIN = -275 +const YY_SHIFT_COUNT = 582 +const YY_SHIFT_MAX = 2128 const YY_SHIFT_MIN = 0 const _BYTE_ORDER = 1234 const _CS_PATH = 1 @@ -3307,6 +3318,9 @@ const fds_bits = 0 const first_valueInvFunc = 0 const first_valueValueFunc = 0 const fts5GetVarint = 0 +const fts5YYDYNSTACK = 0 +const fts5YYFREE = 0 +const fts5YYGROWABLESTACK = 0 const fts5YYMALLOCARGTYPE = 0 const fts5YYNFTS5TOKEN = 16 const fts5YYNOCODE = 27 @@ -3315,13 +3329,16 @@ const fts5YYNRULE = 28 const fts5YYNRULE_WITH_ACTION = 28 const fts5YYNSTATE = 35 const fts5YYPARSEFREENOTNULL = 1 +const fts5YYREALLOC = 0 const fts5YYSTACKDEPTH = 100 const fts5YY_ACCEPT_ACTION = 81 const fts5YY_ACTTAB_COUNT = 105 const fts5YY_ERROR_ACTION = 80 +const fts5YY_MAX_DSTRCTR = 24 const fts5YY_MAX_REDUCE = 110 const fts5YY_MAX_SHIFT = 34 const fts5YY_MAX_SHIFTREDUCE = 79 +const fts5YY_MIN_DSTRCTR = 16 const fts5YY_MIN_REDUCE = 83 const fts5YY_MIN_SHIFTREDUCE = 52 const fts5YY_NO_ACTION = 82 @@ -3932,11 +3949,11 @@ type sqlite3_file1 = Tsqlite3_file1 // ** // ** xLock() upgrades the database file lock. In other words, xLock() moves the // ** database file lock in the direction NONE toward EXCLUSIVE. The argument to -// ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never +// ** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never // ** SQLITE_LOCK_NONE. If the database file lock is already at or above the // ** requested lock, then the call to xLock() is a no-op. // ** xUnlock() downgrades the database file lock to either SHARED or NONE. -// * If the lock is already at or below the requested lock state, then the call +// ** If the lock is already at or below the requested lock state, then the call // ** to xUnlock() is a no-op. // ** The xCheckReservedLock() method checks whether any database connection, // ** either in this process or in some other process, is holding a RESERVED, @@ -5716,6 +5733,7 @@ type Tsqlite3_changegroup = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -6042,8 +6060,8 @@ type Fts5PhraseIter1 = TFts5PhraseIter1 ** EXTENSION API FUNCTIONS ** ** xUserData(pFts): -** Return a copy of the context pointer the extension function was -** registered with. +** Return a copy of the pUserData pointer passed to the xCreateFunction() +** API when the extension function was registered. ** ** xColumnTotalSize(pFts, iCol, pnToken): ** If parameter iCol is less than zero, set output variable *pnToken @@ -7201,7 +7219,7 @@ type uptr = Tuptr ** 0x00000010 Display sqlite3_index_info xBestIndex calls ** 0x00000020 Range an equality scan metrics ** 0x00000040 IN operator decisions -** 0x00000080 WhereLoop cost adjustements +** 0x00000080 WhereLoop cost adjustments ** 0x00000100 ** 0x00000200 Covering index decisions ** 0x00000400 OR optimization @@ -7713,6 +7731,7 @@ type TParse = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -7932,6 +7951,7 @@ type TSrcItem = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -10208,10 +10228,12 @@ type IdList1 = TIdList1 ** ** Union member validity: ** -** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc -** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy -** u2.pIBIndex fg.isIndexedBy && !fg.isCte -** u2.pCteUse fg.isCte && !fg.isIndexedBy +** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc +** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy +** u1.nRow !fg.isTabFunc && !fg.isIndexedBy +** +** u2.pIBIndex fg.isIndexedBy && !fg.isCte +** u2.pCteUse fg.isCte && !fg.isIndexedBy */ type TSrcItem1 = struct { FpSchema uintptr @@ -10237,6 +10259,7 @@ type TSrcItem1 = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -10640,6 +10663,7 @@ type TParse1 = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -12002,12 +12026,12 @@ var _sqlite3WhereTrace = uint32(0) var _sqlite3OpcodeProperty = [190]uint8{ 4: uint8(0x10), 6: uint8(0x41), - 8: uint8(0x01), + 8: uint8(0x81), 9: uint8(0x01), 10: uint8(0x01), - 11: uint8(0x01), - 12: uint8(0x03), - 13: uint8(0x03), + 11: uint8(0x81), + 12: uint8(0x83), + 13: uint8(0x83), 14: uint8(0x01), 15: uint8(0x01), 16: uint8(0x03), @@ -12015,22 +12039,22 @@ var _sqlite3OpcodeProperty = [190]uint8{ 18: uint8(0x01), 19: uint8(0x12), 20: uint8(0x01), - 21: uint8(0x49), - 22: uint8(0x49), - 23: uint8(0x49), - 24: uint8(0x49), + 21: uint8(0xc9), + 22: uint8(0xc9), + 23: uint8(0xc9), + 24: uint8(0xc9), 25: uint8(0x01), 26: uint8(0x49), 27: uint8(0x49), 28: uint8(0x49), 29: uint8(0x49), - 30: uint8(0x49), + 30: uint8(0xc9), 31: uint8(0x49), - 32: uint8(0x41), + 32: uint8(0xc1), 33: uint8(0x01), 34: uint8(0x41), 35: uint8(0x41), - 36: uint8(0x41), + 36: uint8(0xc1), 37: uint8(0x01), 38: uint8(0x41), 39: uint8(0x41), @@ -12042,7 +12066,7 @@ var _sqlite3OpcodeProperty = [190]uint8{ 45: uint8(0x41), 46: uint8(0x23), 47: uint8(0x0b), - 48: uint8(0x01), + 48: uint8(0x81), 49: uint8(0x01), 50: uint8(0x03), 51: uint8(0x03), @@ -12897,7 +12921,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin var pMutex, v1 uintptr _, _ = pMutex, v1 if op < 0 || op >= int32(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) { - return _sqlite3MisuseError(tls, int32(23890)) + return _sqlite3MisuseError(tls, int32(23961)) } if _statMutex[op] != 0 { v1 = _sqlite3Pcache1Mutex(tls) @@ -13245,43 +13269,37 @@ type tm = Ttm // ** A structure for holding a single date and time. // */ type TDateTime = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - FuseSubsec int8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FvalidYMD int8 + FvalidHMS int8 + FnFloor int8 + F__ccgo44 uint8 } type DateTime = TDateTime type TDateTime1 = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - FuseSubsec int8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FvalidYMD int8 + FvalidHMS int8 + FnFloor int8 + F__ccgo44 uint8 } type DateTime1 = TDateTime1 @@ -13407,6 +13425,8 @@ func _parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { } else { if c == int32('Z') || c == int32('z') { zDate++ + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) goto zulu_time } else { return libc.BoolInt32(c != 0) @@ -13425,7 +13445,6 @@ zulu_time: for int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate)))])&int32(0x01) != 0 { zDate++ } - (*TDateTime)(unsafe.Pointer(p)).FtzSet = int8(1) return libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zDate))) != 0) } @@ -13442,11 +13461,10 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var ms, rScale float64 - var v1 int32 var _ /* h at bp+0 */ int32 var _ /* m at bp+4 */ int32 var _ /* s at bp+8 */ int32 - _, _, _ = ms, rScale, v1 + _, _ = ms, rScale ms = float64(0) if _getDigits(tls, zDate, __ccgo_ts+1164, libc.VaList(bp+24, bp, bp+4)) != int32(2) { return int32(1) @@ -13472,7 +13490,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { *(*int32)(unsafe.Pointer(bp + 8)) = 0 } (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) (*TDateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp)) (*TDateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 4)) @@ -13480,12 +13498,6 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { if _parseTimezone(tls, zDate, p) != 0 { return int32(1) } - if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { - v1 = int32(1) - } else { - v1 = 0 - } - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = int8(v1) return 0 } @@ -13496,7 +13508,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { // */ func _datetimeError(tls *libc.TLS, p uintptr) { libc.Xmemset(tls, p, 0, uint64(48)) - (*TDateTime)(unsafe.Pointer(p)).FisError = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 1, 0x2) } // C documentation @@ -13522,7 +13534,7 @@ func _computeJD(tls *libc.TLS, p uintptr) { M = int32(1) D = int32(1) } - if Y < -int32(4713) || Y > int32(9999) || (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Y < -int32(4713) || Y > int32(9999) || int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { _datetimeError(tls, p) return } @@ -13538,11 +13550,41 @@ func _computeJD(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) if (*TDateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) += int64((*TDateTime)(unsafe.Pointer(p)).Fh*int32(3600000)+(*TDateTime)(unsafe.Pointer(p)).Fm*int32(60000)) + int64((*TDateTime)(unsafe.Pointer(p)).Fs*libc.Float64FromInt32(1000)+libc.Float64FromFloat64(0.5)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64((*TDateTime)(unsafe.Pointer(p)).Ftz * int32(60000)) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + } + } +} + +// C documentation +// +// /* +// ** Given the YYYY-MM-DD information current in p, determine if there +// ** is day-of-month overflow and set nFloor to the number of days that +// ** would need to be subtracted from the date in order to bring the +// ** date back to the end of the month. +// */ +func _computeFloor(tls *libc.TLS, p uintptr) { + if (*TDateTime)(unsafe.Pointer(p)).FD <= int32(28) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } else { + if int32(1)<<(*TDateTime)(unsafe.Pointer(p)).FM&int32(0x15aa) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } else { + if (*TDateTime)(unsafe.Pointer(p)).FM != int32(2) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = libc.BoolInt8((*TDateTime)(unsafe.Pointer(p)).FD == libc.Int32FromInt32(31)) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FY%int32(4) != 0 || (*TDateTime)(unsafe.Pointer(p)).FY%int32(100) == 0 && (*TDateTime)(unsafe.Pointer(p)).FY%int32(400) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = int8((*TDateTime)(unsafe.Pointer(p)).FD - int32(28)) + } else { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = int8((*TDateTime)(unsafe.Pointer(p)).FD - int32(29)) + } + } } } } @@ -13601,12 +13643,15 @@ func _parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FY = v1 (*TDateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 4)) (*TDateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 8)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + _computeFloor(tls, p) + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { _computeJD(tls, p) } return 0 } +/* Forward declaration */ + // C documentation // // /* @@ -13618,6 +13663,9 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) (*TDateTime)(unsafe.Pointer(p)).FiJD = _sqlite3StmtCurrentTime(tls, context) if (*TDateTime)(unsafe.Pointer(p)).FiJD > 0 { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + _clearYMD_HMS_TZ(tls, p) return 0 } else { return int32(1) @@ -13635,7 +13683,7 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) // */ func _setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { (*TDateTime)(unsafe.Pointer(p)).Fs = r - (*TDateTime)(unsafe.Pointer(p)).FrawS = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 0, 0x1) if r >= float64(0) && r < float64(5.3734845e+06) { (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r*libc.Float64FromFloat64(8.64e+07) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) @@ -13678,7 +13726,7 @@ func _parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) return 0 } else { if (_sqlite3StrICmp(tls, zDate, __ccgo_ts+1192) == 0 || _sqlite3StrICmp(tls, zDate, __ccgo_ts+1199) == 0) && _sqlite3NotPureFunc(tls, context) != 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) return _setDateTimeToCurrent(tls, context, p) } } @@ -13770,7 +13818,7 @@ func _computeHMS(tls *libc.TLS, p uintptr) { day_min = day_ms / int32(60000) (*TDateTime)(unsafe.Pointer(p)).Fm = day_min % int32(60) (*TDateTime)(unsafe.Pointer(p)).Fh = day_min / int32(60) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) } @@ -13792,7 +13840,7 @@ func _computeYMD_HMS(tls *libc.TLS, p uintptr) { func _clearYMD_HMS_TZ(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 } /* @@ -13893,9 +13941,9 @@ func _toLocaltime(tls *libc.TLS, p uintptr, pCtx uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = int8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 - (*TDateTime)(unsafe.Pointer(p)).FisError = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 1, 0x2) return SQLITE_OK } @@ -13943,13 +13991,13 @@ var _aXformType = [6]struct { FnName: uint8(5), FzName: [7]int8{'m', 'o', 'n', 't', 'h'}, FrLimit: float32(176546), - FrXform: float32(2.592e+06), + FrXform: float32(libc.Float64FromFloat64(30) * libc.Float64FromFloat64(86400)), }, 5: { FnName: uint8(4), FzName: [7]int8{'y', 'e', 'a', 'r'}, FrLimit: float32(14713), - FrXform: float32(3.1536e+07), + FrXform: float32(libc.Float64FromFloat64(365) * libc.Float64FromFloat64(86400)), }, } @@ -13963,15 +14011,15 @@ var _aXformType = [6]struct { func _autoAdjustDate(tls *libc.TLS, p uintptr) { var r float64 _ = r - if !((*TDateTime)(unsafe.Pointer(p)).FrawS != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + if !(int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } else { if (*TDateTime)(unsafe.Pointer(p)).Fs >= float64(int64(-libc.Int32FromInt32(21086676))*libc.Int64FromInt32(10000)) && (*TDateTime)(unsafe.Pointer(p)).Fs <= float64(libc.Int64FromInt32(25340230)*libc.Int64FromInt32(10000)+libc.Int64FromInt32(799)) { r = (*TDateTime)(unsafe.Pointer(p)).Fs*float64(1000) + float64(2.1086676e+14) _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } } @@ -13988,14 +14036,20 @@ func _autoAdjustDate(tls *libc.TLS, p uintptr) { // ** NNN.NNNN seconds // ** NNN months // ** NNN years +// ** +/-YYYY-MM-DD HH:MM:SS.SSS +// ** ceiling +// ** floor // ** start of month // ** start of year // ** start of week // ** start of day // ** weekday N // ** unixepoch +// ** auto // ** localtime // ** utc +// ** subsec +// ** subsecond // ** // ** Return 0 on success and 1 if there is any kind of error. If the error // ** is in a system call (i.e. localtime()), then an error message is written @@ -14006,12 +14060,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, bp := tls.Alloc(160) defer tls.Free(160) var Z, day Tsqlite3_int64 - var cnt, i, rc, x, y, v12, v2, v5, v7, v9 int32 - var iErr, iGuess, iOrigJD, v1 Ti64 - var rRounder, v10 float64 + var cnt, i, rc, x, y, v1, v10, v13, v3, v6, v8 int32 + var iErr, iGuess, iOrigJD, v2 Ti64 + var rRounder, v11 float64 var z0 int8 var z2 uintptr - var v3, v6 bool + var v4, v7 bool var _ /* D at bp+64 */ int32 var _ /* M at bp+60 */ int32 var _ /* Y at bp+56 */ int32 @@ -14020,7 +14074,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, var _ /* new at bp+8 */ TDateTime var _ /* r at bp+0 */ float64 var _ /* tx at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v12, v2, v3, v5, v6, v7, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v11, v13, v2, v3, v4, v6, v7, v8 rc = int32(1) switch int32(_sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z)))]) { case int32('a'): @@ -14037,6 +14091,33 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _autoAdjustDate(tls, p) rc = 0 } + case int32('c'): + /* + ** ceiling + ** + ** Resolve day-of-month overflow by rolling forward into the next + ** month. As this is the default action, this modifier is really + ** a no-op that is only included for symmetry. See "floor". + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1237) == 0 { + _computeJD(tls, p) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } + case int32('f'): + /* + ** floor + ** + ** Resolve day-of-month overflow by rolling back to the end of the + ** previous month. + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1245) == 0 { + _computeJD(tls, p) + *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64(int32((*TDateTime)(unsafe.Pointer(p)).FnFloor) * int32(86400000)) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + } case int32('j'): /* ** julianday @@ -14046,13 +14127,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** value in the allowed range of julian day numbers understood by ** SQLite (0..5373484.5) then the result will be NULL. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1237) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1251) == 0 { if idx > int32(1) { return int32(1) } /* IMP: R-31176-64601 */ - if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { rc = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } case int32('l'): @@ -14061,8 +14142,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Assuming the current time value is UTC (a.k.a. GMT), shift it to ** show local time. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1247) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - rc = _toLocaltime(tls, p, pCtx) + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1261) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x10>>4)) != 0 { + v1 = SQLITE_OK + } else { + v1 = _toLocaltime(tls, p, pCtx) + } + rc = v1 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 4, 0x10) } case int32('u'): /* @@ -14071,7 +14159,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Treat the current value of p->s as the number of ** seconds since 1970. Convert to a real julian day number. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1257) == 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1271) == 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { if idx > int32(1) { return int32(1) } /* IMP: R-49255-55373 */ @@ -14080,17 +14168,17 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(*(*float64)(unsafe.Pointer(bp)) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) rc = 0 } } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1267) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - if int32((*TDateTime)(unsafe.Pointer(p)).FtzSet) == 0 { /* Guess at the corresponding utc time */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1281) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x8>>3)) == 0 { /* Guess at the corresponding utc time */ cnt = 0 /* Guess is off by this much */ _computeJD(tls, p) - v1 = (*TDateTime)(unsafe.Pointer(p)).FiJD - iOrigJD = v1 - iGuess = v1 + v2 = (*TDateTime)(unsafe.Pointer(p)).FiJD + iOrigJD = v2 + iGuess = v2 iErr = 0 for { libc.Xmemset(tls, bp+8, 0, uint64(48)) @@ -14103,21 +14191,22 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, bp+8) iErr = (*(*TDateTime)(unsafe.Pointer(bp + 8))).FiJD - iOrigJD - goto _4 - _4: + goto _5 + _5: ; - if v3 = iErr != 0; v3 { - v2 = cnt + if v4 = iErr != 0; v4 { + v3 = cnt cnt++ } - if !(v3 && v2 < int32(3)) { + if !(v4 && v3 < int32(3)) { break } } libc.Xmemset(tls, p, 0, uint64(48)) (*TDateTime)(unsafe.Pointer(p)).FiJD = iGuess (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FtzSet = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) } rc = SQLITE_OK } @@ -14130,13 +14219,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** weekday N where 0==Sunday, 1==Monday, and so forth. If the ** date is already on the appropriate weekday, this is a no-op. */ - if v6 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1271, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v6 { - v5 = int32(*(*float64)(unsafe.Pointer(bp))) - n = v5 + if v7 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1285, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v7 { + v6 = int32(*(*float64)(unsafe.Pointer(bp))) + n = v6 } - if v6 && float64(v5) == *(*float64)(unsafe.Pointer(bp)) { + if v7 && float64(v6) == *(*float64)(unsafe.Pointer(bp)) { _computeYMD_HMS(tls, p) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 _computeJD(tls, p) Z = ((*TDateTime)(unsafe.Pointer(p)).FiJD + int64(129600000)) / int64(86400000) % int64(7) @@ -14160,9 +14249,9 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Show subsecond precision in the output of datetime() and ** unixepoch() and strftime('%s'). */ - if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1280, int32(9)) != 0 { + if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1294, int32(9)) != 0 { if Xsqlite3_stricmp(tls, z, __ccgo_ts+1192) == 0 || Xsqlite3_stricmp(tls, z, __ccgo_ts+1199) == 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) rc = 0 } break @@ -14173,23 +14262,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z += uintptr(9) _computeYMD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) - v7 = libc.Int32FromInt32(0) - (*TDateTime)(unsafe.Pointer(p)).Fm = v7 - (*TDateTime)(unsafe.Pointer(p)).Fh = v7 + v8 = libc.Int32FromInt32(0) + (*TDateTime)(unsafe.Pointer(p)).Fm = v8 + (*TDateTime)(unsafe.Pointer(p)).Fh = v8 (*TDateTime)(unsafe.Pointer(p)).Fs = float64(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1290) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1304) == 0 { (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1296) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1310) == 0 { (*TDateTime)(unsafe.Pointer(p)).FM = int32(1) (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1301) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1315) == 0 { rc = 0 } } @@ -14231,15 +14320,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == int32('-') { - if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1305, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1319, libc.VaList(bp+136, bp+56)) == int32(1) { break } - if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1309, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1323, libc.VaList(bp+136, bp+56)) == int32(1) { break } } - goto _8 - _8: + goto _9 + _9: ; n++ } @@ -14255,11 +14344,11 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } /* Must start with +/- */ if n == int32(5) { - if _getDigits(tls, z+1, __ccgo_ts+1313, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1327, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } } else { - if _getDigits(tls, z+1, __ccgo_ts+1325, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1339, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } z++ @@ -14281,13 +14370,14 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, *(*int32)(unsafe.Pointer(p + 12)) += *(*int32)(unsafe.Pointer(bp + 60)) } if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v9 + x = v10 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) _computeJD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 @@ -14331,7 +14421,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z++ } n = _sqlite3Strlen30(tls, z) - if n > int32(10) || n < int32(3) { + if n < int32(3) || n > int32(10) { break } if int32(_sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z + uintptr(n-int32(1)))))]) == int32('s') { @@ -14339,11 +14429,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, p) if *(*float64)(unsafe.Pointer(bp)) < libc.Float64FromInt32(0) { - v10 = -libc.Float64FromFloat64(0.5) + v11 = -libc.Float64FromFloat64(0.5) } else { - v10 = +libc.Float64FromFloat64(0.5) + v11 = +libc.Float64FromFloat64(0.5) } - rRounder = v10 + rRounder = v11 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) { @@ -14355,19 +14446,21 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 12)) += int32(*(*float64)(unsafe.Pointer(bp))) if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v12 + x = v13 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) case int32(5): /* Special processing to add years */ y = int32(*(*float64)(unsafe.Pointer(bp))) _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 8)) += y + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) break @@ -14377,8 +14470,8 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, rc = 0 break } - goto _11 - _11: + goto _12 + _12: ; i++ } @@ -14437,7 +14530,7 @@ func _isDate(tls *libc.TLS, context uintptr, argc int32, argv uintptr, p uintptr i++ } _computeJD(tls, p) - if (*TDateTime)(unsafe.Pointer(p)).FisError != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x2>>1)) != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { return int32(1) } if argc == int32(1) && (*TDateTime)(unsafe.Pointer(p)).FvalidYMD != 0 && (*TDateTime)(unsafe.Pointer(p)).FD > int32(28) { @@ -14484,7 +14577,7 @@ func _unixepochFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _ /* x at bp+0 */ TDateTime if _isDate(tls, context, argc, argv, bp) == 0 { _computeJD(tls, bp) - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { Xsqlite3_result_double(tls, context, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000)) } else { Xsqlite3_result_int64(tls, context, (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/int64(1000)-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000)) @@ -14529,7 +14622,7 @@ func _datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(15)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(16)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(17)] = int8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(18)] = int8(int32('0') + s/int32(10000)%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(19)] = int8(int32('0') + s/int32(1000)%int32(10)) @@ -14577,7 +14670,7 @@ func _timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(3)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(4)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(5)] = int8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(6)] = int8(int32('0') + s/int32(10000)%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(7)] = int8(int32('0') + s/int32(1000)%int32(10)) @@ -14638,6 +14731,57 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } +// C documentation +// +// /* +// ** Compute the number of days after the most recent January 1. +// ** +// ** In other words, compute the zero-based day number for the +// ** current year: +// ** +// ** Jan01 = 0, Jan02 = 1, ..., Jan31 = 30, Feb01 = 31, ... +// ** Dec31 = 364 or 365. +// */ +func _daysAfterJan01(tls *libc.TLS, pDate uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* jan01 at bp+0 */ TDateTime + *(*TDateTime)(unsafe.Pointer(bp)) = *(*TDateTime)(unsafe.Pointer(pDate)) + (*(*TDateTime)(unsafe.Pointer(bp))).FvalidJD = 0 + (*(*TDateTime)(unsafe.Pointer(bp))).FM = int32(1) + (*(*TDateTime)(unsafe.Pointer(bp))).FD = int32(1) + _computeJD(tls, bp) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD - (*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Monday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Monday, 1=Tuesday, 2=Wednesday, ..., 6=Sunday. +// */ +func _daysAfterMonday(tls *libc.TLS, pDate uintptr) (r int32) { + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(43200000))/libc.Int64FromInt32(86400000)) % int32(7) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Sunday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Sunday, 1=Monday, 2=Tues, ..., 6=Saturday +// */ +func _daysAfterSunday(tls *libc.TLS, pDate uintptr) (r int32) { + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)) % int32(7) +} + // C documentation // // /* @@ -14645,33 +14789,48 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // ** // ** Return a string described by FORMAT. Conversions as follows: // ** -// ** %d day of month +// ** %d day of month 01-31 +// ** %e day of month 1-31 // ** %f ** fractional seconds SS.SSS +// ** %F ISO date. YYYY-MM-DD +// ** %G ISO year corresponding to %V 0000-9999. +// ** %g 2-digit ISO year corresponding to %V 00-99 // ** %H hour 00-24 -// ** %j day of year 000-366 +// ** %k hour 0-24 (leading zero converted to space) +// ** %I hour 01-12 +// ** %j day of year 001-366 // ** %J ** julian day number +// ** %l hour 1-12 (leading zero converted to space) // ** %m month 01-12 // ** %M minute 00-59 +// ** %p "am" or "pm" +// ** %P "AM" or "PM" +// ** %R time as HH:MM // ** %s seconds since 1970-01-01 // ** %S seconds 00-59 -// ** %w day of week 0-6 Sunday==0 -// ** %W week of year 00-53 +// ** %T time as HH:MM:SS +// ** %u day of week 1-7 Monday==1, Sunday==7 +// ** %w day of week 0-6 Sunday==0, Monday==1 +// ** %U week of year 00-53 (First Sunday is start of week 01) +// ** %V week of year 01-53 (First week containing Thursday is week 01) +// ** %W week of year 00-53 (First Monday is start of week 01) // ** %Y year 0000-9999 // ** %% % // */ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(208) + defer tls.Free(208) var c, cf int8 var db, zFmt, v3, v4, v5, v6, v7 uintptr - var h, nDay, wd int32 + var h int32 var i, j, v2 Tsize_t var iS Ti64 var s float64 var _ /* sRes at bp+48 */ Tsqlite3_str var _ /* x at bp+0 */ TDateTime + var _ /* y at bp+128 */ TDateTime var _ /* y at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, nDay, s, wd, zFmt, v2, v3, v4, v5, v6, v7 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, s, zFmt, v2, v3, v4, v5, v6, v7 if argc == 0 { return } @@ -14704,28 +14863,41 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { fallthrough case int32('e'): if int32(cf) == int32('d') { - v3 = __ccgo_ts + 1337 + v3 = __ccgo_ts + 1351 } else { - v3 = __ccgo_ts + 1342 + v3 = __ccgo_ts + 1356 } - Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) - case int32('f'): + Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('f'): /* Fractional seconds. (Non-standard) */ s = (*(*TDateTime)(unsafe.Pointer(bp))).Fs if s > float64(59.999) { s = float64(59.999) } - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1346, libc.VaList(bp+136, s)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1360, libc.VaList(bp+184, s)) case int32('F'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1353, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1367, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('G'): /* Fall thru */ + fallthrough + case int32('g'): + *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Move y so that it is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidYMD = 0 + _computeYMD(tls, bp+80) + if int32(cf) == int32('g') { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY%int32(100))) + } else { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1382, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY)) + } case int32('H'): fallthrough case int32('k'): if int32(cf) == int32('H') { - v4 = __ccgo_ts + 1337 + v4 = __ccgo_ts + 1351 } else { - v4 = __ccgo_ts + 1342 + v4 = __ccgo_ts + 1356 } - Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) + Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) case int32('I'): /* Fall thru */ fallthrough case int32('l'): @@ -14737,73 +14909,71 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { h = int32(12) } if int32(cf) == int32('I') { - v5 = __ccgo_ts + 1337 + v5 = __ccgo_ts + 1351 } else { - v5 = __ccgo_ts + 1342 + v5 = __ccgo_ts + 1356 } - Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+136, h)) - case int32('W'): /* Fall thru */ - fallthrough - case int32('j'): /* Number of days since 1st day of year */ - *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidJD = 0 - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FM = int32(1) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FD = int32(1) - _computeJD(tls, bp+80) - nDay = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) - if int32(cf) == int32('W') { /* 0=Monday, 1=Tuesday, ... 6=Sunday */ - wd = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000) % libc.Int64FromInt32(7)) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, (nDay+int32(7)-wd)/int32(7))) - } else { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1368, libc.VaList(bp+136, nDay+int32(1))) - } - case int32('J'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1373, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) + Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+184, h)) + case int32('j'): /* Day of year. Jan01==1, Jan02==2, and so forth */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1387, libc.VaList(bp+184, _daysAfterJan01(tls, bp)+int32(1))) + case int32('J'): /* Julian day number. (Non-standard) */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1392, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) case int32('m'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) case int32('M'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('p'): /* Fall thru */ fallthrough case int32('P'): if (*(*TDateTime)(unsafe.Pointer(bp))).Fh >= int32(12) { if int32(cf) == int32('p') { - v6 = __ccgo_ts + 1379 + v6 = __ccgo_ts + 1398 } else { - v6 = __ccgo_ts + 1382 + v6 = __ccgo_ts + 1401 } Xsqlite3_str_append(tls, bp+48, v6, int32(2)) } else { if int32(cf) == int32('p') { - v7 = __ccgo_ts + 1385 + v7 = __ccgo_ts + 1404 } else { - v7 = __ccgo_ts + 1388 + v7 = __ccgo_ts + 1407 } Xsqlite3_str_append(tls, bp+48, v7, int32(2)) } case int32('R'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1391, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1410, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('s'): - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1401, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1420, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) } else { iS = (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/libc.Int64FromInt32(1000) - libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1406, libc.VaList(bp+136, iS)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1425, libc.VaList(bp+184, iS)) } case int32('S'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) case int32('T'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1411, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) - case int32('u'): /* Fall thru */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1430, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + case int32('u'): /* Day of week. 1 to 7. Monday==1, Sunday==7 */ fallthrough - case int32('w'): - c = int8(int32(int8(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)%libc.Int64FromInt32(7))) + int32('0')) + case int32('w'): /* Day of week. 0 to 6. Sunday==0, Monday==1 */ + c = int8(int32(int8(_daysAfterSunday(tls, bp))) + int32('0')) if int32(c) == int32('0') && int32(cf) == int32('u') { c = int8('7') } Xsqlite3_str_appendchar(tls, bp+48, int32(1), c) + case int32('U'): /* Week num. 00-53. First Sun of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterSunday(tls, bp)+int32(7))/int32(7))) + case int32('V'): /* Week num. 01-53. First week with a Thur is week 01 */ + *(*TDateTime)(unsafe.Pointer(bp + 128)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Adjust y so that is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FvalidYMD = 0 + _computeYMD(tls, bp+128) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, _daysAfterJan01(tls, bp+128)/int32(7)+int32(1))) + case int32('W'): /* Week num. 00-53. First Mon of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterMonday(tls, bp)+int32(7))/int32(7))) case int32('Y'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1426, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1382, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) case int32('%'): Xsqlite3_str_appendchar(tls, bp+48, int32(1), int8('%')) default: @@ -14956,12 +15126,10 @@ func _timediffFunc(tls *libc.TLS, context uintptr, NotUsed1 int32, argv uintptr) p2 = bp *(*Tsqlite3_int64)(unsafe.Pointer(p2)) = Tsqlite3_int64(uint64(*(*Tsqlite3_int64)(unsafe.Pointer(p2))) + libc.Uint64FromInt32(1486995408)*libc.Uint64FromInt32(100000)) } - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidYMD = 0 - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidHMS = 0 - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidTZ = 0 + _clearYMD_HMS_TZ(tls, bp) _computeYMD_HMS(tls, bp) _sqlite3StrAccumInit(tls, bp+96, uintptr(0), uintptr(0), 0, int32(100)) - Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1431, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) + Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1445, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) _sqlite3ResultStrAccum(tls, context, bp+96) } @@ -14994,55 +15162,55 @@ var _aDateTimeFuncs = [10]TFuncDef{ FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1237, + FzName: __ccgo_ts + 1251, }, 1: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1257, + FzName: __ccgo_ts + 1271, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1465, + FzName: __ccgo_ts + 1479, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1470, + FzName: __ccgo_ts + 1484, }, 4: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1475, + FzName: __ccgo_ts + 1489, }, 5: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1484, + FzName: __ccgo_ts + 1498, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1493, + FzName: __ccgo_ts + 1507, }, 7: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1502, + FzName: __ccgo_ts + 1516, }, 8: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1515, + FzName: __ccgo_ts + 1529, }, 9: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1533, + FzName: __ccgo_ts + 1547, }, } @@ -15713,7 +15881,7 @@ func _sqlite3MemMalloc(tls *libc.TLS, nByte int32) (r uintptr) { *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1546, libc.VaList(bp+8, nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1560, libc.VaList(bp+8, nByte)) } return p } @@ -15775,7 +15943,7 @@ func _sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) (r uintptr) *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1584, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1598, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) } return p } @@ -17143,7 +17311,7 @@ func _sqlite3OomFault(tls *libc.TLS, db uintptr) (r uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = uint16(0) if (*Tsqlite3)(unsafe.Pointer(db)).FpParse != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1634, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) pParse = (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).FpOuterParse for { @@ -17565,7 +17733,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li v3 = int32(*(*int8)(unsafe.Pointer(v4))) c = v3 if v3 == 0 { - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1634, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1648, int32(1)) break } /* Find out what flags are present */ @@ -17980,9 +18148,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial != 0 { if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial) == int32(2) { if flag_zeropad != 0 { - v57 = __ccgo_ts + 1636 + v57 = __ccgo_ts + 1650 } else { - v57 = __ccgo_ts + 1641 + v57 = __ccgo_ts + 1655 } bufpt = v57 length = _sqlite3Strlen30(tls, bufpt) @@ -17993,7 +18161,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP = int32(1000) (*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fn = int32(1) } else { - libc.Xmemcpy(tls, bp, __ccgo_ts+1645, uint64(5)) + libc.Xmemcpy(tls, bp, __ccgo_ts+1659, uint64(5)) bufpt = bp if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fsign) == int32('-') { /* no-op */ @@ -18015,14 +18183,12 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li prefix = int8(flag_prefix) } exp = (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP - int32(1) - if int32(xtype) == int32(etGENERIC) && precision > 0 { - precision-- - } /* ** If the field type is etGENERIC, then convert to either etEXP ** or etFLOAT, as appropriate. */ if int32(xtype) == int32(etGENERIC) { + precision-- flag_rtz = libc.BoolUint8(!(flag_alternateform != 0)) if exp < -int32(4) || exp > precision { xtype = uint8(etEXP) @@ -18328,7 +18494,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li bufpt = libc.VaUintptr(&ap) } if bufpt == uintptr(0) { - bufpt = __ccgo_ts + 1650 + bufpt = __ccgo_ts + 1664 } else { if int32(xtype) == int32(etDYNSTRING) { if (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FnChar == uint32(0) && (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FmxAlloc != 0 && width == 0 && precision < 0 && int32((*Tsqlite3_str)(unsafe.Pointer(pAccum)).FaccError) == 0 { @@ -18416,9 +18582,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li isnull = libc.BoolInt32(escarg == uintptr(0)) if isnull != 0 { if int32(xtype) == int32(etSQLESCAPE2) { - v98 = __ccgo_ts + 1651 + v98 = __ccgo_ts + 1665 } else { - v98 = __ccgo_ts + 1656 + v98 = __ccgo_ts + 1670 } escarg = v98 } @@ -18536,7 +18702,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*TSrcItem)(unsafe.Pointer(pItem)).FzName != 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1663, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1677, int32(1)) } Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzName) } else { @@ -18544,10 +18710,15 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzAlias) } else { pSel = (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect + /* Because of tag-20240424-1 */ if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_NestedFrom) != 0 { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1665, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1679, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) } else { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1675, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_MultiValue) != 0 { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1689, libc.VaList(bp+128, *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pItem)).Fu1)))) + } else { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1710, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + } } } } @@ -18826,7 +18997,7 @@ func _sqlite3ResultStrAccum(tls *libc.TLS, pCtx uintptr, p uintptr) { if int32((*TStrAccum)(unsafe.Pointer(p)).FprintfFlags)&int32(SQLITE_PRINTF_MALLOCED) != 0 { Xsqlite3_result_text(tls, pCtx, (*TStrAccum)(unsafe.Pointer(p)).FzText, int32((*TStrAccum)(unsafe.Pointer(p)).FnChar), __ccgo_fp(_sqlite3OomClear)) } else { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1650, 0, libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1664, 0, libc.UintptrFromInt32(0)) Xsqlite3_str_reset(tls, p) } } @@ -20638,6 +20809,60 @@ func _sqlite3DequoteExpr(tls *libc.TLS, p uintptr) { _sqlite3Dequote(tls, *(*uintptr)(unsafe.Pointer(p + 8))) } +// C documentation +// +// /* +// ** Expression p is a QNUMBER (quoted number). Dequote the value in p->u.zToken +// ** and set the type to INTEGER or FLOAT. "Quoted" integers or floats are those +// ** that contain '_' characters that must be removed before further processing. +// */ +func _sqlite3DequoteNumber(tls *libc.TLS, pParse uintptr, p uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var bHex int32 + var pIn, pOut, v1, v3 uintptr + var _ /* iValue at bp+0 */ int32 + _, _, _, _, _ = bHex, pIn, pOut, v1, v3 + if p != 0 { + pIn = *(*uintptr)(unsafe.Pointer(p + 8)) + pOut = *(*uintptr)(unsafe.Pointer(p + 8)) + bHex = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(pIn))) == int32('0') && (int32(*(*int8)(unsafe.Pointer(pIn + 1))) == int32('x') || int32(*(*int8)(unsafe.Pointer(pIn + 1))) == int32('X'))) + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + for { + if int32(*(*int8)(unsafe.Pointer(pIn))) != int32('_') { + v3 = pOut + pOut++ + *(*int8)(unsafe.Pointer(v3)) = *(*int8)(unsafe.Pointer(pIn)) + if int32(*(*int8)(unsafe.Pointer(pIn))) == int32('e') || int32(*(*int8)(unsafe.Pointer(pIn))) == int32('E') || int32(*(*int8)(unsafe.Pointer(pIn))) == int32('.') { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_FLOAT) + } + } else { + if bHex == 0 && (!(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1)))))])&libc.Int32FromInt32(0x04) != 0) || !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + 1)))])&libc.Int32FromInt32(0x04) != 0)) || bHex == int32(1) && (!(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1)))))])&libc.Int32FromInt32(0x08) != 0) || !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + 1)))])&libc.Int32FromInt32(0x08) != 0)) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1724, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(p + 8)))) + } + } + goto _2 + _2: + ; + v1 = pIn + pIn++ + if !(*(*int8)(unsafe.Pointer(v1)) != 0) { + break + } + } + if bHex != 0 { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + } + /* tag-20240227-a: If after dequoting, the number is an integer that + ** fits in 32 bits, then it must be converted into EP_IntValue. Other + ** parts of the code expect this. See also tag-20240227-b. */ + if int32((*TExpr)(unsafe.Pointer(p)).Fop) == int32(TK_INTEGER) && _sqlite3GetInt32(tls, *(*uintptr)(unsafe.Pointer(p + 8)), bp) != 0 { + *(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(p)).Fu)) = *(*int32)(unsafe.Pointer(bp)) + *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(EP_IntValue) + } + } +} + // C documentation // // /* @@ -21188,7 +21413,7 @@ func _compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) (r int32) { _, _, _ = c, i, pow63 c = 0 /* 012345678901234567 */ - pow63 = __ccgo_ts + 1689 + pow63 = __ccgo_ts + 1749 i = 0 for { if !(c == 0 && i < int32(18)) { @@ -21415,7 +21640,7 @@ func _sqlite3DecOrHexToI64(tls *libc.TLS, z uintptr, pOut uintptr) (r int32) { } return 0 } else { - n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1708)) + n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1768)) if *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 { n++ } @@ -21573,7 +21798,7 @@ func _sqlite3FpDecode(tls *libc.TLS, p uintptr, _r float64, iRound int32, mxRoun (*TFpDecode)(unsafe.Pointer(p)).Fsign = int8('+') (*TFpDecode)(unsafe.Pointer(p)).Fn = int32(1) (*TFpDecode)(unsafe.Pointer(p)).FiDP = int32(1) - (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1724 + (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1784 return } else { (*TFpDecode)(unsafe.Pointer(p)).Fsign = int8('+') @@ -22117,7 +22342,7 @@ func _sqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) (r uintptr func _logBadConnection(tls *libc.TLS, zType uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1726, libc.VaList(bp+8, zType)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1786, libc.VaList(bp+8, zType)) } // C documentation @@ -22140,13 +22365,13 @@ func _sqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) (r int32) { var eOpenState Tu8 _ = eOpenState if db == uintptr(0) { - _logBadConnection(tls, __ccgo_ts+1651) + _logBadConnection(tls, __ccgo_ts+1665) return 0 } eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_OPEN) { if _sqlite3SafetyCheckSickOrOk(tls, db) != 0 { - _logBadConnection(tls, __ccgo_ts+1771) + _logBadConnection(tls, __ccgo_ts+1831) } return 0 } else { @@ -22160,7 +22385,7 @@ func _sqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) (r int32) { _ = eOpenState eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_SICK) && int32(eOpenState) != int32(SQLITE_STATE_OPEN) && int32(eOpenState) != int32(SQLITE_STATE_BUSY) { - _logBadConnection(tls, __ccgo_ts+1780) + _logBadConnection(tls, __ccgo_ts+1840) return 0 } else { return int32(1) @@ -22864,196 +23089,196 @@ func _sqlite3OpcodeName(tls *libc.TLS, i int32) (r uintptr) { } var _azName = [190]uintptr{ - 0: __ccgo_ts + 1788, - 1: __ccgo_ts + 1798, - 2: __ccgo_ts + 1809, - 3: __ccgo_ts + 1821, - 4: __ccgo_ts + 1832, - 5: __ccgo_ts + 1844, - 6: __ccgo_ts + 1851, - 7: __ccgo_ts + 1859, - 8: __ccgo_ts + 1867, - 9: __ccgo_ts + 1872, - 10: __ccgo_ts + 1877, - 11: __ccgo_ts + 1883, - 12: __ccgo_ts + 1897, - 13: __ccgo_ts + 1903, - 14: __ccgo_ts + 1913, - 15: __ccgo_ts + 1918, - 16: __ccgo_ts + 1923, - 17: __ccgo_ts + 1926, - 18: __ccgo_ts + 1932, - 19: __ccgo_ts + 1939, - 20: __ccgo_ts + 1943, - 21: __ccgo_ts + 1953, - 22: __ccgo_ts + 1960, - 23: __ccgo_ts + 1967, - 24: __ccgo_ts + 1974, - 25: __ccgo_ts + 1981, - 26: __ccgo_ts + 1991, - 27: __ccgo_ts + 2000, - 28: __ccgo_ts + 2011, - 29: __ccgo_ts + 2020, - 30: __ccgo_ts + 2026, - 31: __ccgo_ts + 2036, - 32: __ccgo_ts + 2046, - 33: __ccgo_ts + 2051, - 34: __ccgo_ts + 2061, - 35: __ccgo_ts + 2072, - 36: __ccgo_ts + 2077, - 37: __ccgo_ts + 2084, - 38: __ccgo_ts + 2095, - 39: __ccgo_ts + 2100, - 40: __ccgo_ts + 2105, - 41: __ccgo_ts + 2111, - 42: __ccgo_ts + 2117, - 43: __ccgo_ts + 2123, - 44: __ccgo_ts + 2126, - 45: __ccgo_ts + 2130, - 46: __ccgo_ts + 2136, - 47: __ccgo_ts + 2147, - 48: __ccgo_ts + 2158, - 49: __ccgo_ts + 2166, - 50: __ccgo_ts + 2175, - 51: __ccgo_ts + 2182, - 52: __ccgo_ts + 2190, - 53: __ccgo_ts + 2193, - 54: __ccgo_ts + 2196, - 55: __ccgo_ts + 2199, - 56: __ccgo_ts + 2202, - 57: __ccgo_ts + 2205, - 58: __ccgo_ts + 2208, - 59: __ccgo_ts + 2215, - 60: __ccgo_ts + 2221, - 61: __ccgo_ts + 2231, - 62: __ccgo_ts + 2244, - 63: __ccgo_ts + 2255, - 64: __ccgo_ts + 2261, - 65: __ccgo_ts + 2268, - 66: __ccgo_ts + 2277, - 67: __ccgo_ts + 2286, - 68: __ccgo_ts + 2293, - 69: __ccgo_ts + 2306, - 70: __ccgo_ts + 2317, - 71: __ccgo_ts + 2322, - 72: __ccgo_ts + 2330, - 73: __ccgo_ts + 2336, - 74: __ccgo_ts + 2343, - 75: __ccgo_ts + 2355, - 76: __ccgo_ts + 2360, - 77: __ccgo_ts + 2369, - 78: __ccgo_ts + 2374, - 79: __ccgo_ts + 2383, - 80: __ccgo_ts + 2388, - 81: __ccgo_ts + 2393, - 82: __ccgo_ts + 2399, - 83: __ccgo_ts + 2407, - 84: __ccgo_ts + 2415, - 85: __ccgo_ts + 2425, - 86: __ccgo_ts + 2433, - 87: __ccgo_ts + 2440, - 88: __ccgo_ts + 2453, - 89: __ccgo_ts + 2458, - 90: __ccgo_ts + 2470, - 91: __ccgo_ts + 2478, - 92: __ccgo_ts + 2485, - 93: __ccgo_ts + 2496, - 94: __ccgo_ts + 2503, - 95: __ccgo_ts + 2510, - 96: __ccgo_ts + 2520, - 97: __ccgo_ts + 2529, - 98: __ccgo_ts + 2540, - 99: __ccgo_ts + 2546, - 100: __ccgo_ts + 2557, - 101: __ccgo_ts + 2567, - 102: __ccgo_ts + 2577, - 103: __ccgo_ts + 2584, - 104: __ccgo_ts + 2590, - 105: __ccgo_ts + 2600, - 106: __ccgo_ts + 2611, - 107: __ccgo_ts + 2615, - 108: __ccgo_ts + 2624, - 109: __ccgo_ts + 2633, - 110: __ccgo_ts + 2640, - 111: __ccgo_ts + 2650, - 112: __ccgo_ts + 2657, - 113: __ccgo_ts + 2666, - 114: __ccgo_ts + 2676, - 115: __ccgo_ts + 2683, - 116: __ccgo_ts + 2691, - 117: __ccgo_ts + 2705, - 118: __ccgo_ts + 2713, - 119: __ccgo_ts + 2727, - 120: __ccgo_ts + 2738, - 121: __ccgo_ts + 2751, - 122: __ccgo_ts + 2762, - 123: __ccgo_ts + 2768, - 124: __ccgo_ts + 2780, - 125: __ccgo_ts + 2789, - 126: __ccgo_ts + 2797, - 127: __ccgo_ts + 2806, - 128: __ccgo_ts + 2815, - 129: __ccgo_ts + 2822, - 130: __ccgo_ts + 2830, - 131: __ccgo_ts + 2837, - 132: __ccgo_ts + 2848, - 133: __ccgo_ts + 2862, - 134: __ccgo_ts + 2873, - 135: __ccgo_ts + 2881, - 136: __ccgo_ts + 2887, - 137: __ccgo_ts + 2895, - 138: __ccgo_ts + 2903, - 139: __ccgo_ts + 2913, - 140: __ccgo_ts + 2926, - 141: __ccgo_ts + 2936, - 142: __ccgo_ts + 2949, - 143: __ccgo_ts + 2958, - 144: __ccgo_ts + 2969, - 145: __ccgo_ts + 2977, - 146: __ccgo_ts + 2983, - 147: __ccgo_ts + 2995, - 148: __ccgo_ts + 3007, - 149: __ccgo_ts + 3015, - 150: __ccgo_ts + 3027, - 151: __ccgo_ts + 3040, - 152: __ccgo_ts + 3050, - 153: __ccgo_ts + 3060, - 154: __ccgo_ts + 3065, - 155: __ccgo_ts + 3077, - 156: __ccgo_ts + 3089, - 157: __ccgo_ts + 3099, - 158: __ccgo_ts + 3105, - 159: __ccgo_ts + 3115, - 160: __ccgo_ts + 3122, - 161: __ccgo_ts + 3134, - 162: __ccgo_ts + 3145, - 163: __ccgo_ts + 3153, - 164: __ccgo_ts + 3162, - 165: __ccgo_ts + 3171, - 166: __ccgo_ts + 3180, - 167: __ccgo_ts + 3187, - 168: __ccgo_ts + 3198, - 169: __ccgo_ts + 3211, - 170: __ccgo_ts + 3221, - 171: __ccgo_ts + 3228, - 172: __ccgo_ts + 3236, - 173: __ccgo_ts + 3245, - 174: __ccgo_ts + 3251, - 175: __ccgo_ts + 3258, - 176: __ccgo_ts + 3266, - 177: __ccgo_ts + 3274, - 178: __ccgo_ts + 3282, - 179: __ccgo_ts + 3292, - 180: __ccgo_ts + 3301, - 181: __ccgo_ts + 3312, - 182: __ccgo_ts + 3323, - 183: __ccgo_ts + 3334, - 184: __ccgo_ts + 3344, - 185: __ccgo_ts + 3350, - 186: __ccgo_ts + 3361, - 187: __ccgo_ts + 3372, - 188: __ccgo_ts + 3377, - 189: __ccgo_ts + 3385, + 0: __ccgo_ts + 1848, + 1: __ccgo_ts + 1858, + 2: __ccgo_ts + 1869, + 3: __ccgo_ts + 1881, + 4: __ccgo_ts + 1892, + 5: __ccgo_ts + 1904, + 6: __ccgo_ts + 1911, + 7: __ccgo_ts + 1919, + 8: __ccgo_ts + 1927, + 9: __ccgo_ts + 1932, + 10: __ccgo_ts + 1937, + 11: __ccgo_ts + 1943, + 12: __ccgo_ts + 1957, + 13: __ccgo_ts + 1963, + 14: __ccgo_ts + 1973, + 15: __ccgo_ts + 1978, + 16: __ccgo_ts + 1983, + 17: __ccgo_ts + 1986, + 18: __ccgo_ts + 1992, + 19: __ccgo_ts + 1999, + 20: __ccgo_ts + 2003, + 21: __ccgo_ts + 2013, + 22: __ccgo_ts + 2020, + 23: __ccgo_ts + 2027, + 24: __ccgo_ts + 2034, + 25: __ccgo_ts + 2041, + 26: __ccgo_ts + 2051, + 27: __ccgo_ts + 2060, + 28: __ccgo_ts + 2071, + 29: __ccgo_ts + 2080, + 30: __ccgo_ts + 2086, + 31: __ccgo_ts + 2096, + 32: __ccgo_ts + 2106, + 33: __ccgo_ts + 2111, + 34: __ccgo_ts + 2125, + 35: __ccgo_ts + 2136, + 36: __ccgo_ts + 2141, + 37: __ccgo_ts + 2148, + 38: __ccgo_ts + 2159, + 39: __ccgo_ts + 2164, + 40: __ccgo_ts + 2169, + 41: __ccgo_ts + 2175, + 42: __ccgo_ts + 2181, + 43: __ccgo_ts + 2187, + 44: __ccgo_ts + 2190, + 45: __ccgo_ts + 2194, + 46: __ccgo_ts + 2200, + 47: __ccgo_ts + 2211, + 48: __ccgo_ts + 2222, + 49: __ccgo_ts + 2230, + 50: __ccgo_ts + 2239, + 51: __ccgo_ts + 2246, + 52: __ccgo_ts + 2254, + 53: __ccgo_ts + 2257, + 54: __ccgo_ts + 2260, + 55: __ccgo_ts + 2263, + 56: __ccgo_ts + 2266, + 57: __ccgo_ts + 2269, + 58: __ccgo_ts + 2272, + 59: __ccgo_ts + 2279, + 60: __ccgo_ts + 2285, + 61: __ccgo_ts + 2295, + 62: __ccgo_ts + 2308, + 63: __ccgo_ts + 2319, + 64: __ccgo_ts + 2325, + 65: __ccgo_ts + 2332, + 66: __ccgo_ts + 2341, + 67: __ccgo_ts + 2350, + 68: __ccgo_ts + 2357, + 69: __ccgo_ts + 2370, + 70: __ccgo_ts + 2381, + 71: __ccgo_ts + 2386, + 72: __ccgo_ts + 2394, + 73: __ccgo_ts + 2400, + 74: __ccgo_ts + 2407, + 75: __ccgo_ts + 2419, + 76: __ccgo_ts + 2424, + 77: __ccgo_ts + 2433, + 78: __ccgo_ts + 2438, + 79: __ccgo_ts + 2447, + 80: __ccgo_ts + 2452, + 81: __ccgo_ts + 2457, + 82: __ccgo_ts + 2463, + 83: __ccgo_ts + 2471, + 84: __ccgo_ts + 2479, + 85: __ccgo_ts + 2489, + 86: __ccgo_ts + 2497, + 87: __ccgo_ts + 2504, + 88: __ccgo_ts + 2517, + 89: __ccgo_ts + 2522, + 90: __ccgo_ts + 2534, + 91: __ccgo_ts + 2542, + 92: __ccgo_ts + 2549, + 93: __ccgo_ts + 2560, + 94: __ccgo_ts + 2567, + 95: __ccgo_ts + 2574, + 96: __ccgo_ts + 2584, + 97: __ccgo_ts + 2593, + 98: __ccgo_ts + 2604, + 99: __ccgo_ts + 2610, + 100: __ccgo_ts + 2621, + 101: __ccgo_ts + 2631, + 102: __ccgo_ts + 2641, + 103: __ccgo_ts + 2648, + 104: __ccgo_ts + 2654, + 105: __ccgo_ts + 2664, + 106: __ccgo_ts + 2675, + 107: __ccgo_ts + 2679, + 108: __ccgo_ts + 2688, + 109: __ccgo_ts + 2697, + 110: __ccgo_ts + 2704, + 111: __ccgo_ts + 2714, + 112: __ccgo_ts + 2721, + 113: __ccgo_ts + 2730, + 114: __ccgo_ts + 2740, + 115: __ccgo_ts + 2747, + 116: __ccgo_ts + 2755, + 117: __ccgo_ts + 2769, + 118: __ccgo_ts + 2777, + 119: __ccgo_ts + 2791, + 120: __ccgo_ts + 2802, + 121: __ccgo_ts + 2815, + 122: __ccgo_ts + 2826, + 123: __ccgo_ts + 2832, + 124: __ccgo_ts + 2844, + 125: __ccgo_ts + 2853, + 126: __ccgo_ts + 2861, + 127: __ccgo_ts + 2870, + 128: __ccgo_ts + 2879, + 129: __ccgo_ts + 2886, + 130: __ccgo_ts + 2894, + 131: __ccgo_ts + 2901, + 132: __ccgo_ts + 2912, + 133: __ccgo_ts + 2926, + 134: __ccgo_ts + 2937, + 135: __ccgo_ts + 2945, + 136: __ccgo_ts + 2951, + 137: __ccgo_ts + 2959, + 138: __ccgo_ts + 2967, + 139: __ccgo_ts + 2977, + 140: __ccgo_ts + 2990, + 141: __ccgo_ts + 3000, + 142: __ccgo_ts + 3013, + 143: __ccgo_ts + 3022, + 144: __ccgo_ts + 3033, + 145: __ccgo_ts + 3041, + 146: __ccgo_ts + 3047, + 147: __ccgo_ts + 3059, + 148: __ccgo_ts + 3071, + 149: __ccgo_ts + 3079, + 150: __ccgo_ts + 3091, + 151: __ccgo_ts + 3104, + 152: __ccgo_ts + 3114, + 153: __ccgo_ts + 3124, + 154: __ccgo_ts + 3129, + 155: __ccgo_ts + 3141, + 156: __ccgo_ts + 3153, + 157: __ccgo_ts + 3163, + 158: __ccgo_ts + 3169, + 159: __ccgo_ts + 3179, + 160: __ccgo_ts + 3186, + 161: __ccgo_ts + 3198, + 162: __ccgo_ts + 3209, + 163: __ccgo_ts + 3217, + 164: __ccgo_ts + 3226, + 165: __ccgo_ts + 3235, + 166: __ccgo_ts + 3244, + 167: __ccgo_ts + 3251, + 168: __ccgo_ts + 3262, + 169: __ccgo_ts + 3275, + 170: __ccgo_ts + 3285, + 171: __ccgo_ts + 3292, + 172: __ccgo_ts + 3300, + 173: __ccgo_ts + 3309, + 174: __ccgo_ts + 3315, + 175: __ccgo_ts + 3322, + 176: __ccgo_ts + 3330, + 177: __ccgo_ts + 3338, + 178: __ccgo_ts + 3346, + 179: __ccgo_ts + 3356, + 180: __ccgo_ts + 3365, + 181: __ccgo_ts + 3376, + 182: __ccgo_ts + 3387, + 183: __ccgo_ts + 3398, + 184: __ccgo_ts + 3408, + 185: __ccgo_ts + 3414, + 186: __ccgo_ts + 3425, + 187: __ccgo_ts + 3436, + 188: __ccgo_ts + 3441, + 189: __ccgo_ts + 3449, } type Tpthread_once = struct { @@ -23809,91 +24034,91 @@ type unix_syscall = Tunix_syscall // */ var _aSyscall = [29]Tunix_syscall{ 0: { - FzName: __ccgo_ts + 3395, + FzName: __ccgo_ts + 3459, }, 1: { - FzName: __ccgo_ts + 3400, + FzName: __ccgo_ts + 3464, }, 2: { - FzName: __ccgo_ts + 3406, + FzName: __ccgo_ts + 3470, }, 3: { - FzName: __ccgo_ts + 3413, + FzName: __ccgo_ts + 3477, }, 4: { - FzName: __ccgo_ts + 3420, + FzName: __ccgo_ts + 3484, }, 5: { - FzName: __ccgo_ts + 3425, + FzName: __ccgo_ts + 3489, }, 6: { - FzName: __ccgo_ts + 3431, + FzName: __ccgo_ts + 3495, }, 7: { - FzName: __ccgo_ts + 3441, + FzName: __ccgo_ts + 3505, }, 8: { - FzName: __ccgo_ts + 3447, + FzName: __ccgo_ts + 3511, }, 9: { - FzName: __ccgo_ts + 3452, + FzName: __ccgo_ts + 3516, }, 10: { - FzName: __ccgo_ts + 3458, + FzName: __ccgo_ts + 3522, }, 11: { - FzName: __ccgo_ts + 3466, + FzName: __ccgo_ts + 3530, }, 12: { - FzName: __ccgo_ts + 3472, + FzName: __ccgo_ts + 3536, }, 13: { - FzName: __ccgo_ts + 3479, + FzName: __ccgo_ts + 3543, }, 14: { - FzName: __ccgo_ts + 3488, + FzName: __ccgo_ts + 3552, }, 15: { - FzName: __ccgo_ts + 3495, + FzName: __ccgo_ts + 3559, }, 16: { - FzName: __ccgo_ts + 3505, + FzName: __ccgo_ts + 3569, }, 17: { - FzName: __ccgo_ts + 3512, + FzName: __ccgo_ts + 3576, }, 18: { - FzName: __ccgo_ts + 3526, + FzName: __ccgo_ts + 3590, }, 19: { - FzName: __ccgo_ts + 3532, + FzName: __ccgo_ts + 3596, }, 20: { - FzName: __ccgo_ts + 3538, + FzName: __ccgo_ts + 3602, }, 21: { - FzName: __ccgo_ts + 3545, + FzName: __ccgo_ts + 3609, }, 22: { - FzName: __ccgo_ts + 3553, + FzName: __ccgo_ts + 3617, }, 23: { - FzName: __ccgo_ts + 3558, + FzName: __ccgo_ts + 3622, }, 24: { - FzName: __ccgo_ts + 3565, + FzName: __ccgo_ts + 3629, }, 25: { - FzName: __ccgo_ts + 3572, + FzName: __ccgo_ts + 3636, }, 26: { - FzName: __ccgo_ts + 3584, + FzName: __ccgo_ts + 3648, }, 27: { - FzName: __ccgo_ts + 3593, + FzName: __ccgo_ts + 3657, }, 28: { - FzName: __ccgo_ts + 3599, + FzName: __ccgo_ts + 3663, }, } @@ -24128,9 +24353,9 @@ func _robust_open(tls *libc.TLS, z uintptr, f int32, m Tmode_t) (r int32) { (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, z) } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(1)].FpCurrent})))(tls, fd) - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3605, libc.VaList(bp+232, z, fd)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3669, libc.VaList(bp+232, z, fd)) fd = -int32(1) - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3648, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3712, O_RDONLY, int32(m)) < 0 { break } } @@ -24446,11 +24671,11 @@ func _unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uint ** equivalent to errno. Otherwise, use strerror_r(). */ /* This is a threadsafe build, but strerror_r() is not available. */ - zErr = __ccgo_ts + 1650 + zErr = __ccgo_ts + 1664 if zPath == uintptr(0) { - zPath = __ccgo_ts + 1650 + zPath = __ccgo_ts + 1664 } - Xsqlite3_log(tls, errcode, __ccgo_ts+3658, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) + Xsqlite3_log(tls, errcode, __ccgo_ts+3722, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) return errcode } @@ -24478,7 +24703,7 @@ func _robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { } else { v1 = uintptr(0) } - _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(16)< uint64(1) { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3742, libc.VaList(bp+232, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3806, libc.VaList(bp+232, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } if _fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3769, libc.VaList(bp+232, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3833, libc.VaList(bp+232, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -25136,7 +25361,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) { pFile = id _unixUnmapfile(tls, pFile) if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 { - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40172)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40505)) (*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1) } Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -25756,7 +25981,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { var _ /* zDirname at bp+0 */ [513]int8 _, _ = fd, ii fd = -int32(1) - Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3797, libc.VaList(bp+528, zFilename)) + Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3861, libc.VaList(bp+528, zFilename)) ii = int32(libc.Xstrlen(tls, bp)) for { if !(ii > 0 && int32((*(*[513]int8)(unsafe.Pointer(bp)))[ii]) != int32('/')) { @@ -25782,7 +26007,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { if fd >= 0 { return SQLITE_OK } - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(41778)), __ccgo_ts+3512, bp, int32(41778)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42111)), __ccgo_ts+3576, bp, int32(42111)) } // C documentation @@ -25819,7 +26044,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) { rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if rc != 0 { _storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) - return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<= nSize { iWrite = nSize - int64(1) } - nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1650, int32(1)) + nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1664, int32(1)) if nWrite != int32(1) { return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(3)<= 0 { - _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42583)) + _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42916)) (*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1) } (*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0) @@ -26425,7 +26650,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in ** help detect if a -shm file truncation is legitimate or is the work ** or a rogue process. */ if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 { - rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<= 0 { - _robust_close(tls, pNew, h, int32(43994)) + _robust_close(tls, pNew, h, int32(44327)) } } else { (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -27434,10 +27659,10 @@ func _fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilenam // ** Directories to consider for temp files. // */ var _azTempDirs = [6]uintptr{ - 2: __ccgo_ts + 3854, - 3: __ccgo_ts + 3863, - 4: __ccgo_ts + 3872, - 5: __ccgo_ts + 1663, + 2: __ccgo_ts + 3918, + 3: __ccgo_ts + 3927, + 4: __ccgo_ts + 3936, + 5: __ccgo_ts + 1677, } // C documentation @@ -27446,8 +27671,8 @@ var _azTempDirs = [6]uintptr{ // ** Initialize first two members of azTempDirs[] array. // */ func _unixTempFileInit(tls *libc.TLS) { - _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3877) - _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3891) + _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3941) + _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3955) } // C documentation @@ -27509,7 +27734,7 @@ func _unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) (r int32) { for cond := true; cond; cond = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(2)].FpCurrent})))(tls, zBuf, 0) == 0 { Xsqlite3_randomness(tls, int32(8), bp) *(*int8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2)))) = 0 - Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3898, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) + Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3962, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) if v2 = int32(*(*int8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2))))) != 0; !v2 { v1 = iLimit iLimit++ @@ -27681,7 +27906,7 @@ func _findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintpt ** filename, check for the "modeof" parameter. If present, interpret ** its value as a filename and try to copy the mode, uid and gid from ** that file. */ - z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3915) + z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3979) if z != 0 { rc = _getFileMode(tls, z, pMode, pUid, pGid) } @@ -27719,12 +27944,12 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags bp := tls.Alloc(528) defer tls.Free(528) var ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, rc, rc2 int32 - var p, pUnused, zName uintptr + var p, pReadonly, pUnused, zName uintptr var _ /* gid at bp+520 */ Tgid_t var _ /* openMode at bp+514 */ Tmode_t var _ /* uid at bp+516 */ Tuid_t var _ /* zTmpname at bp+0 */ [514]int8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pUnused, rc, rc2, zName + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pReadonly, pUnused, rc, rc2, zName p = pFile fd = -int32(1) /* File descriptor returned by open() */ openFlags = 0 /* Flags to pass to open() */ @@ -27819,17 +28044,24 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags } else { if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != int32(EISDIR) && isReadWrite != 0 { /* Failed to open the file for read/write access. Try read-only. */ + pReadonly = uintptr(0) flags &= ^(libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE)) openFlags &= ^(libc.Int32FromInt32(O_RDWR) | libc.Int32FromInt32(O_CREAT)) flags |= int32(SQLITE_OPEN_READONLY) openFlags |= O_RDONLY isReadonly = int32(1) - fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 514))) + pReadonly = _findReusableFd(tls, zName, flags) + if pReadonly != 0 { + fd = (*TUnixUnusedFd)(unsafe.Pointer(pReadonly)).Ffd + Xsqlite3_free(tls, pReadonly) + } else { + fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 514))) + } } } } if fd < 0 { - rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44435)), __ccgo_ts+3395, zName, int32(44435)) + rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44775)), __ccgo_ts+3459, zName, int32(44775)) if rc == SQLITE_OK { rc = rc2 } @@ -27906,7 +28138,7 @@ func _unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) ( if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(ENOENT) { rc = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(23)< int32(SQLITE_MAX_SYMLINK) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(44686)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45026)) return } got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+224, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2)) if got <= 0 || got >= libc.Int64FromInt64(1026)-libc.Int64FromInt32(2) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44691)), __ccgo_ts+3584, zIn, int32(44691)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45031)), __ccgo_ts+3648, zIn, int32(45031)) return } (*(*[1026]int8)(unsafe.Pointer(bp + 224)))[got] = 0 @@ -28104,14 +28336,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z (*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut if int32(*(*int8)(unsafe.Pointer(zPath))) != int32('/') { if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2)) == uintptr(0) { - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44749)), __ccgo_ts+3413, zPath, int32(44749)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45089)), __ccgo_ts+3477, zPath, int32(45089)) } _appendAllPathElements(tls, bp, bp+24) } _appendAllPathElements(tls, bp, zPath) *(*int8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = 0 if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) { - return _sqlite3CantopenError(tls, int32(44755)) + return _sqlite3CantopenError(tls, int32(45095)) } if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 { return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)< int64(1) { _sqlite3PagerUnrefNotNull(tls, pPgOld) - return _sqlite3CorruptError(tls, int32(63973)) + return _sqlite3CorruptError(tls, int32(64313)) } p4 = pPg + 52 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | int32((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC)) @@ -39939,7 +40171,7 @@ func _sqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in ** sqlite3_wal_checkpoint() call, but it happens very rarely. ** https://sqlite.org/forum/forumpost/fd0f19d229156939 */ - Xsqlite3_exec(tls, db, __ccgo_ts+4111, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+4175, uintptr(0), uintptr(0), uintptr(0)) } if (*TPager)(unsafe.Pointer(pPager)).FpWal != 0 { if eMode == SQLITE_CHECKPOINT_PASSIVE { @@ -41380,7 +41612,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in v2 = nCollide nCollide-- if v2 == 0 { - return _sqlite3CorruptError(tls, int32(65899)) + return _sqlite3CorruptError(tls, int32(66239)) } goto _1 _1: @@ -41468,7 +41700,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) { ** are able to understand */ version = _sqlite3Get4byte(tls, bp+8+4) if version != uint32(WAL_MAX_VERSION) { - rc = _sqlite3CantopenError(tls, int32(66031)) + rc = _sqlite3CantopenError(tls, int32(66371)) goto finished } /* Malloc a buffer to read frames into. */ @@ -41607,7 +41839,7 @@ finished: ** checkpointing the log file. */ if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FnPage != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(1)< int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = _sqlite3CorruptError(tls, int32(71032)) + rc = _sqlite3CorruptError(tls, int32(71421)) } else { rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -46166,7 +46405,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, } /* The super-journal page number must never be used as a pointer map page */ if key == uint32(0) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71230)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71619)) return } iPtrmap = _ptrmapPageno(tls, pBt, key) @@ -46179,12 +46418,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, /* The first byte of the extra data is the MemPage.isInit byte. ** If that byte is set, it means this page is also being used ** as a btree page. */ - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71243)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71632)) goto ptrmap_exit } offset = int32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1))) if offset < 0 { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71248)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71637)) goto ptrmap_exit } pPtrmap = _sqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -46228,7 +46467,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin offset = int32(libc.Uint32FromInt32(5) * (key - uint32(iPtrmap) - libc.Uint32FromInt32(1))) if offset < 0 { _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) - return _sqlite3CorruptError(tls, int32(71293)) + return _sqlite3CorruptError(tls, int32(71682)) } *(*Tu8)(unsafe.Pointer(pEType)) = *(*Tu8)(unsafe.Pointer(pPtrmap + uintptr(offset))) if pPgno != 0 { @@ -46236,7 +46475,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin } _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) if int32(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || int32(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) { - return _sqlite3CorruptError(tls, int32(71301)) + return _sqlite3CorruptError(tls, int32(71690)) } return SQLITE_OK } @@ -46656,7 +46895,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71741)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72130)) return } ovfl = _sqlite3Get4byte(tls, pCell+uintptr(int32((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4))) @@ -46696,12 +46935,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag { iFree = int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71799)) + return _sqlite3CorruptError(tls, int32(72188)) } if iFree != 0 { iFree2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71802)) + return _sqlite3CorruptError(tls, int32(72191)) } if 0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 { pEnd = data + uintptr(cellOffset+nCell*int32(2)) @@ -46709,21 +46948,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { sz = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree { - return _sqlite3CorruptError(tls, int32(71810)) + return _sqlite3CorruptError(tls, int32(72199)) } if iFree2 != 0 { if iFree+sz > iFree2 { - return _sqlite3CorruptError(tls, int32(71813)) + return _sqlite3CorruptError(tls, int32(72202)) } sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize { - return _sqlite3CorruptError(tls, int32(71815)) + return _sqlite3CorruptError(tls, int32(72204)) } libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) sz += sz2 } else { if iFree+sz > usableSize { - return _sqlite3CorruptError(tls, int32(71819)) + return _sqlite3CorruptError(tls, int32(72208)) } } cbrk = top + sz @@ -46770,12 +47009,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { ** if PRAGMA cell_size_check=ON. */ if pc > iCellLast { - return _sqlite3CorruptError(tls, int32(71852)) + return _sqlite3CorruptError(tls, int32(72241)) } size = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc))) cbrk -= size if cbrk < iCellStart || pc+size > usableSize { - return _sqlite3CorruptError(tls, int32(71858)) + return _sqlite3CorruptError(tls, int32(72247)) } *(*Tu8)(unsafe.Pointer(pAddr1)) = uint8(cbrk >> libc.Int32FromInt32(8)) *(*Tu8)(unsafe.Pointer(pAddr1 + 1)) = uint8(cbrk) @@ -46791,7 +47030,7 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { defragment_out: ; if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree { - return _sqlite3CorruptError(tls, int32(71872)) + return _sqlite3CorruptError(tls, int32(72261)) } *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = uint8(cbrk >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)) + 1)) = uint8(cbrk) @@ -46851,7 +47090,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint } else { if x+pc > maxPC { /* This slot extends off the end of the usable part of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71929)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72318)) return uintptr(0) } else { /* The slot remains on the free-list. Reduce its size to account @@ -46868,14 +47107,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint if pc <= iAddr { if pc != 0 { /* The next slot in the chain comes before the current slot */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71944)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72333)) } return uintptr(0) } } if pc > maxPC+nByte-int32(4) { /* The free slot chain extends off the end of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71951)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72340)) } return uintptr(0) } @@ -46918,11 +47157,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) { top = int32(65536) } else { - return _sqlite3CorruptError(tls, int32(71999)) + return _sqlite3CorruptError(tls, int32(72388)) } } else { if top > int32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(72002)) + return _sqlite3CorruptError(tls, int32(72391)) } } /* If there is enough space between gap and top for one more cell pointer, @@ -46936,7 +47175,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r g2 = v1 *(*int32)(unsafe.Pointer(pIdx)) = v1 if g2 <= gap { - return _sqlite3CorruptError(tls, int32(72019)) + return _sqlite3CorruptError(tls, int32(72408)) } else { return SQLITE_OK } @@ -47019,12 +47258,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if int32(iFreeBlk) == 0 { break } /* TH3: corrupt082.100 */ - return _sqlite3CorruptError(tls, int32(72098)) + return _sqlite3CorruptError(tls, int32(72487)) } iPtr = iFreeBlk } if uint32(iFreeBlk) > (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-uint32(4) { /* TH3: corrupt081.100 */ - return _sqlite3CorruptError(tls, int32(72103)) + return _sqlite3CorruptError(tls, int32(72492)) } /* At this point: ** iFreeBlk: First freeblock after iStart, or zero if none @@ -47035,11 +47274,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if iFreeBlk != 0 && iEnd+uint32(3) >= uint32(iFreeBlk) { nFrag = uint8(uint32(iFreeBlk) - iEnd) if iEnd > uint32(iFreeBlk) { - return _sqlite3CorruptError(tls, int32(72115)) + return _sqlite3CorruptError(tls, int32(72504)) } iEnd = uint32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+int32(2)))))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return _sqlite3CorruptError(tls, int32(72118)) + return _sqlite3CorruptError(tls, int32(72507)) } iSize = uint16(iEnd - uint32(iStart)) iFreeBlk = uint16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= int32(iStart) { if iPtrEnd > int32(iStart) { - return _sqlite3CorruptError(tls, int32(72131)) + return _sqlite3CorruptError(tls, int32(72520)) } nFrag = Tu8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = uint16(iEnd - uint32(iPtr)) @@ -47060,7 +47299,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(7))))) { - return _sqlite3CorruptError(tls, int32(72137)) + return _sqlite3CorruptError(tls, int32(72526)) } p2 = data + uintptr(int32(hdr)+int32(7)) *(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - int32(nFrag)) @@ -47077,10 +47316,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) ** so just extend the cell content area rather than create another ** freelist entry */ if int32(iStart) < int32(x) { - return _sqlite3CorruptError(tls, int32(72151)) + return _sqlite3CorruptError(tls, int32(72540)) } if int32(iPtr) != int32(hdr)+int32(1) { - return _sqlite3CorruptError(tls, int32(72152)) + return _sqlite3CorruptError(tls, int32(72541)) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)))) = uint8(int32(iFreeBlk) >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)) + 1)) = uint8(iFreeBlk) @@ -47141,7 +47380,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72206)) + return _sqlite3CorruptError(tls, int32(72595)) } } } else { @@ -47167,7 +47406,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72230)) + return _sqlite3CorruptError(tls, int32(72619)) } } } @@ -47206,12 +47445,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will ** always be at least one cell before the first freeblock. */ - return _sqlite3CorruptError(tls, int32(72281)) + return _sqlite3CorruptError(tls, int32(72670)) } for int32(1) != 0 { if pc > iCellLast { /* Freeblock off the end of the page */ - return _sqlite3CorruptError(tls, int32(72286)) + return _sqlite3CorruptError(tls, int32(72675)) } next = uint32(int32(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) { /* Freeblock not in ascending order */ - return _sqlite3CorruptError(tls, int32(72296)) + return _sqlite3CorruptError(tls, int32(72685)) } if uint32(pc)+size > uint32(usableSize) { /* Last freeblock extends past page end */ - return _sqlite3CorruptError(tls, int32(72300)) + return _sqlite3CorruptError(tls, int32(72689)) } } /* At this point, nFree contains the sum of the offset to the start @@ -47238,7 +47477,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { ** area, according to the page header, lies within the page. */ if nFree > usableSize || nFree < iCellFirst { - return _sqlite3CorruptError(tls, int32(72312)) + return _sqlite3CorruptError(tls, int32(72701)) } (*TMemPage)(unsafe.Pointer(pPage)).FnFree = int32(uint16(nFree - iCellFirst)) return SQLITE_OK @@ -47269,11 +47508,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) { } pc = int32(*(*Tu8)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))< iCellLast { - return _sqlite3CorruptError(tls, int32(72343)) + return _sqlite3CorruptError(tls, int32(72732)) } sz = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return _sqlite3CorruptError(tls, int32(72348)) + return _sqlite3CorruptError(tls, int32(72737)) } goto _1 _1: @@ -47302,7 +47541,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating ** the b-tree page type. */ if _decodeFlags(tls, pPage, int32(*(*Tu8)(unsafe.Pointer(data)))) != 0 { - return _sqlite3CorruptError(tls, int32(72380)) + return _sqlite3CorruptError(tls, int32(72769)) } (*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1)) (*TMemPage)(unsafe.Pointer(pPage)).FnOverflow = uint8(0) @@ -47315,7 +47554,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FnCell = uint16(int32(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) { /* To many cells for a single page. The page must be corrupt */ - return _sqlite3CorruptError(tls, int32(72394)) + return _sqlite3CorruptError(tls, int32(72783)) } /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only ** possible for a root page of a table that contains no rows) then the @@ -47468,7 +47707,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe _, _ = pPage, rc if pgno > _btreePagecount(tls, pBt) { *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72537)) + return _sqlite3CorruptError(tls, int32(72926)) } rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly) if rc != 0 { @@ -47530,7 +47769,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) { _releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72609)) + return _sqlite3CorruptError(tls, int32(72998)) } (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0) } else { @@ -47618,7 +47857,7 @@ func _sqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt /* Set the variable isMemdb to true for an in-memory database, or ** false for a file-based database. */ - isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4192) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) + isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4256) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) /* flags fit in 8 bits */ /* Only a BTREE_SINGLE database can be BTREE_UNORDERED */ /* A BTREE_SINGLE database is always a temporary and/or ephemeral */ @@ -48404,7 +48643,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { ** The original design allowed these amounts to vary, but as of ** version 3.6.0, we require them to be fixed. */ - if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4201, uint64(3)) != 0 { + if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4265, uint64(3)) != 0 { goto page1_init_failed } /* EVIDENCE-OF: R-51873-39618 The page size for a database file is @@ -48442,7 +48681,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { } if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) { if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 { - rc = _sqlite3CorruptError(tls, int32(73547)) + rc = _sqlite3CorruptError(tls, int32(73936)) goto page1_init_failed } else { nPage = *(*Tu32)(unsafe.Pointer(bp + 8)) @@ -48883,7 +49122,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT if int32(eType) == int32(PTRMAP_OVERFLOW2) { /* The pointer is always the first 4 bytes of the page in this case. */ if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return _sqlite3CorruptError(tls, int32(73995)) + return _sqlite3CorruptError(tls, int32(74384)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -48907,7 +49146,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74014)) + return _sqlite3CorruptError(tls, int32(74403)) } if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) { _sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo) @@ -48916,7 +49155,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } } else { if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74023)) + return _sqlite3CorruptError(tls, int32(74412)) } if _sqlite3Get4byte(tls, pCell) == iFrom { _sqlite3Put4byte(tls, pCell, iTo) @@ -48930,7 +49169,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } if i == nCell { if int32(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom { - return _sqlite3CorruptError(tls, int32(74035)) + return _sqlite3CorruptError(tls, int32(74424)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo) } @@ -48960,7 +49199,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP iDbPage = (*TMemPage)(unsafe.Pointer(pDbPage)).Fpgno pPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager if iDbPage < uint32(3) { - return _sqlite3CorruptError(tls, int32(74070)) + return _sqlite3CorruptError(tls, int32(74459)) } /* Move page iDbPage from its current location to page number iFreePage */ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit) @@ -49056,7 +49295,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom return rc } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) { - return _sqlite3CorruptError(tls, int32(74168)) + return _sqlite3CorruptError(tls, int32(74557)) } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) { if bCommit == 0 { @@ -49094,7 +49333,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) - return _sqlite3CorruptError(tls, int32(74220)) + return _sqlite3CorruptError(tls, int32(74609)) } } rc = _relocatePage(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*Tu8)(unsafe.Pointer(bp)), *(*TPgno)(unsafe.Pointer(bp + 4)), *(*TPgno)(unsafe.Pointer(bp + 24)), bCommit) @@ -49161,7 +49400,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) { nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) nFin = _finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = _sqlite3CorruptError(tls, int32(74288)) + rc = _sqlite3CorruptError(tls, int32(74677)) } else { if nFree > uint32(0) { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -49204,7 +49443,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { ** is either a pointer-map page or the pending-byte page. If one ** is encountered, this indicates corruption. */ - return _sqlite3CorruptError(tls, int32(74339)) + return _sqlite3CorruptError(tls, int32(74728)) } nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) db = (*TBtree)(unsafe.Pointer(p)).Fdb @@ -49234,7 +49473,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { } nFin = _finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return _sqlite3CorruptError(tls, int32(74366)) + return _sqlite3CorruptError(tls, int32(74755)) } if nFin < nOrig { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -49700,7 +49939,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo /* Assert that the caller has opened the required transaction. */ if iTable <= uint32(1) { if iTable < uint32(1) { - return _sqlite3CorruptError(tls, int32(74830)) + return _sqlite3CorruptError(tls, int32(75219)) } else { if _btreePagecount(tls, pBt) == uint32(0) { iTable = uint32(0) @@ -50092,7 +50331,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin pBt = (*TBtCursor)(unsafe.Pointer(pCur)).FpBt /* Btree this cursor belongs to */ pBufStart = pBuf /* Start of original out buffer */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(75235)) + return _sqlite3CorruptError(tls, int32(75624)) } _getCellInfo(tls, pCur) aPayload = (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload @@ -50102,7 +50341,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ** but is recast into its current form to avoid integer overflow problems */ - return _sqlite3CorruptError(tls, int32(75250)) + return _sqlite3CorruptError(tls, int32(75639)) } /* Check if data must be read/written to/from the btree page itself. */ if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) { @@ -50130,7 +50369,11 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_ValidOvfl) == 0 { nOvfl = int32(((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload - uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) + ovflSize - uint32(1)) / ovflSize) if (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow == uintptr(0) || nOvfl*libc.Int32FromInt64(4) > _sqlite3MallocSize(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow) { - aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + if _sqlite3FaultSim(tls, int32(413)) != 0 { + aNew = uintptr(0) + } else { + aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + } if aNew == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -50141,6 +50384,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin p1 = pCur + 1 *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(BTCF_ValidOvfl)) } else { + /* Sanity check the validity of the overflow page cache */ /* If the overflow page-list cache has been allocated and the ** entry for the first required overflow page is valid, skip ** directly to it. @@ -50154,7 +50398,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin for *(*TPgno)(unsafe.Pointer(bp)) != 0 { /* If required, populate the overflow page-list cache. */ if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(75312)) + return _sqlite3CorruptError(tls, int32(75710)) } *(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp)) if offset >= ovflSize { @@ -50228,7 +50472,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin } if rc == SQLITE_OK && amt > uint32(0) { /* Overflow chain ends prematurely */ - return _sqlite3CorruptError(tls, int32(75396)) + return _sqlite3CorruptError(tls, int32(75794)) } return rc } @@ -50363,7 +50607,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { var v3, p1 uintptr _, _, _, _ = rc, v2, v3, p1 if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(75534)) + return _sqlite3CorruptError(tls, int32(75932)) } (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) p1 = pCur + 1 @@ -50375,7 +50619,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, newPgno, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(75548)) + rc = _sqlite3CorruptError(tls, int32(75946)) } if rc != 0 { v3 = pCur + 84 @@ -50491,7 +50735,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) { ** in such a way that page pRoot is linked into a second b-tree table ** (or the freelist). */ if int32((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) { - return _sqlite3CorruptError(tls, int32(75683)) + return _sqlite3CorruptError(tls, int32(76081)) } goto skip_init skip_init: @@ -50505,7 +50749,7 @@ skip_init: } else { if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) { if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) { - return _sqlite3CorruptError(tls, int32(75695)) + return _sqlite3CorruptError(tls, int32(76093)) } subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8))) (*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID) @@ -50739,7 +50983,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh break } if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(75937)) + return _sqlite3CorruptError(tls, int32(76342)) } } } @@ -50943,7 +51187,7 @@ func _sqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes p3 = pCur + 1 *(*Tu8)(unsafe.Pointer(p3)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p3))) & ^libc.Int32FromInt32(BTCF_ValidOvfl)) if !((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76133)) + return _sqlite3CorruptError(tls, int32(76538)) } goto bypass_moveto_root /* Start search on the current page */ } @@ -51006,7 +51250,7 @@ bypass_moveto_root: /* Invalid key size: 0x80 0x80 0x01 */ /* Minimum legal index key size */ if nCell < int32(2) || uint32(nCell)/(*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage { - rc = _sqlite3CorruptError(tls, int32(76220)) + rc = _sqlite3CorruptError(tls, int32(76625)) goto moveto_index_finish } pCellKey = _sqlite3Malloc(tls, uint64(nCell+nOverrun)) @@ -51037,7 +51281,7 @@ bypass_moveto_root: rc = SQLITE_OK (*TBtCursor)(unsafe.Pointer(pCur)).Fix = uint16(idx) if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 { - rc = _sqlite3CorruptError(tls, int32(76252)) + rc = _sqlite3CorruptError(tls, int32(76657)) } goto moveto_index_finish } @@ -51070,7 +51314,7 @@ bypass_moveto_root: p9 = pCur + 1 *(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl))) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(76283)) + return _sqlite3CorruptError(tls, int32(76688)) } *(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = uint16(lwr) *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage @@ -51079,7 +51323,7 @@ bypass_moveto_root: rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(76294)) + rc = _sqlite3CorruptError(tls, int32(76699)) } if rc != 0 { v11 = pCur + 84 @@ -51128,11 +51372,11 @@ func _sqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) (r Ti64) { var i Tu8 var n Ti64 _, _ = i, n - /* Currently this interface is only called by the OP_IfSmaller - ** opcode, and it that case the cursor will always be valid and - ** will always point to a leaf node. */ + /* Currently this interface is only called by the OP_IfSizeBetween + ** opcode and the OP_Count opcode with P3=1. In either case, + ** the cursor will always be valid unless the btree is empty. */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return int64(-int32(1)) + return 0 } if int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).Fleaf) == 0 { return int64(-int32(1)) @@ -51208,7 +51452,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76395)) + return _sqlite3CorruptError(tls, int32(76800)) } if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { @@ -51318,7 +51562,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76488)) + return _sqlite3CorruptError(tls, int32(76893)) } if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { idx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) @@ -51406,7 +51650,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt ** stores the total number of pages on the freelist. */ n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36) if n >= mxPage { - return _sqlite3CorruptError(tls, int32(76578)) + return _sqlite3CorruptError(tls, int32(76983)) } if n > uint32(0) { searchList = uint8(0) /* If the free-list must be searched for 'nearby' */ @@ -51461,7 +51705,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt nSearch++ } if v2 || v1 > n { - rc = _sqlite3CorruptError(tls, int32(76634)) + rc = _sqlite3CorruptError(tls, int32(77039)) } else { rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0) } @@ -51487,7 +51731,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) { /* Value of k is out of range. Database corruption */ - rc = _sqlite3CorruptError(tls, int32(76663)) + rc = _sqlite3CorruptError(tls, int32(77068)) goto end_allocate_page } else { if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -51514,7 +51758,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8) if iNewTrunk > mxPage { - rc = _sqlite3CorruptError(tls, int32(76697)) + rc = _sqlite3CorruptError(tls, int32(77102)) goto end_allocate_page } rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0) @@ -51585,7 +51829,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4))) if iPage > mxPage || iPage < uint32(2) { - rc = _sqlite3CorruptError(tls, int32(76762)) + rc = _sqlite3CorruptError(tls, int32(77167)) goto end_allocate_page } if !(searchList != 0) || (iPage == nearby || iPage < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -51723,7 +51967,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in iTrunk = uint32(0) /* Page number of free-list trunk page */ pPage1 = (*TBtShared)(unsafe.Pointer(pBt)).FpPage1 /* Initial number of pages on free-list */ if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(76889)) + return _sqlite3CorruptError(tls, int32(77294)) } if pMemPage != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage @@ -51774,7 +52018,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */ iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32) if iTrunk > _btreePagecount(tls, pBt) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76936)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77341)) goto freepage_out } *(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0) @@ -51783,7 +52027,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in } nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4) if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76947)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77352)) goto freepage_out } if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) { @@ -51873,7 +52117,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp _, _, _, _, _, _, _, _ = nOvfl, ovflPageSize, ovflPgno, pBt, rc, v1, v2, v3 if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { /* Cell extends past end of page */ - return _sqlite3CorruptError(tls, int32(77036)) + return _sqlite3CorruptError(tls, int32(77441)) } ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt @@ -51891,7 +52135,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp /* 0 is not a legal page number and page 1 cannot be an ** overflow page. Therefore if ovflPgno<2 or past the end of the ** file the database must be corrupt. */ - return _sqlite3CorruptError(tls, int32(77053)) + return _sqlite3CorruptError(tls, int32(77458)) } if nOvfl != 0 { rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp) @@ -51914,7 +52158,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp ** caller is iterating through or using in some other way, this ** can be problematic. */ - rc = _sqlite3CorruptError(tls, int32(77073)) + rc = _sqlite3CorruptError(tls, int32(77478)) } else { rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno) } @@ -52135,7 +52379,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { pc = uint32(int32(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77329)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77734)) return } rc = _freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -52529,12 +52773,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg sz = *(*Tu16)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FszCell + uintptr(i)*2)) if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) { if uint64(pCell+uintptr(sz)) > uint64(pEnd) { - return _sqlite3CorruptError(tls, int32(77718)) + return _sqlite3CorruptError(tls, int32(78123)) } pCell = pTmp + uintptr(int64(pCell)-int64(aData)) } else { if uint64(pCell+uintptr(sz)) > uint64(pSrcEnd) && uint64(pCell) < uint64(pSrcEnd) { - return _sqlite3CorruptError(tls, int32(77723)) + return _sqlite3CorruptError(tls, int32(78128)) } } pData -= uintptr(sz) @@ -52542,7 +52786,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*Tu8)(unsafe.Pointer(pCellptr + 1)) = uint8(int64(pData) - int64(aData)) pCellptr += uintptr(2) if pData < pCellptr { - return _sqlite3CorruptError(tls, int32(77729)) + return _sqlite3CorruptError(tls, int32(78134)) } libc.Xmemmove(tls, pData, pCell, uint64(sz)) i++ @@ -52637,7 +52881,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr ** database. But they might for a corrupt database. Hence use memmove() ** since memcpy() sends SIGABORT with overlapping buffers on OpenBSD */ if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(pEnd) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(pEnd) { - _sqlite3CorruptError(tls, int32(77814)) + _sqlite3CorruptError(tls, int32(78219)) return int32(1) } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz)) @@ -52785,7 +53029,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p if iOld < iNew { nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray) if nShift > nCell { - return _sqlite3CorruptError(tls, int32(77936)) + return _sqlite3CorruptError(tls, int32(78341)) } libc.Xmemmove(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), uint64(nCell*int32(2))) nCell -= nShift @@ -52856,7 +53100,7 @@ editpage_fail: ; /* Unable to edit this page. Rebuild it from scratch instead. */ if nNew < int32(1) { - return _sqlite3CorruptError(tls, int32(78010)) + return _sqlite3CorruptError(tls, int32(78415)) } _populateCellCache(tls, pCArray, iNew, nNew) return _rebuildPage(tls, pCArray, iNew, nNew, pPg) @@ -52901,7 +53145,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt _, _, _, _, _, _, _ = pBt, pOut, pStop, v1, v2, v3, v4 pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt /* Page number of pNew */ if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return _sqlite3CorruptError(tls, int32(78050)) + return _sqlite3CorruptError(tls, int32(78455)) } /* dbfuzz001.test */ /* Allocate a new page. This page will become the right-sibling of ** pPage. Make the parent page writable, so that the new divider cell @@ -53262,7 +53506,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa ** table-interior, index-leaf, or index-interior). */ if int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78471)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78876)) goto balance_cleanup } /* Load b.apCell[] with pointers to all cells in pOld. If pOld @@ -53285,7 +53529,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa libc.Xmemset(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*uint64(limit+int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow))) if int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 { if limit < int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78495)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78900)) goto balance_cleanup } limit = int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) @@ -53416,7 +53660,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa if i+int32(1) >= k { k = i + int32(2) if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78596)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79001)) goto balance_cleanup } (*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0 @@ -53459,7 +53703,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v10 = 0 } if cntNew[i] <= v10 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78629)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79034)) goto balance_cleanup } } @@ -53518,7 +53762,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v15 = 0 } if cntNew[i-int32(1)] <= v15 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78673)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79078)) goto balance_cleanup } goto _11 @@ -53550,7 +53794,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) nNew++ if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78706)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79111)) } if *(*int32)(unsafe.Pointer(bp)) != 0 { goto balance_cleanup @@ -53780,7 +54024,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa } pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8)) if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78906)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79311)) goto balance_cleanup } *(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno) @@ -54026,7 +54270,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) { break } if pOther != pCur && int32((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage { - return _sqlite3CorruptError(tls, int32(79138)) + return _sqlite3CorruptError(tls, int32(79543)) } goto _1 _1: @@ -54099,7 +54343,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) { /* The page being written is not a root page, and there is currently ** more than one reference to it. This only happens if the page is one ** of its own ancestor pages. Corruption. */ - rc = _sqlite3CorruptError(tls, int32(79198)) + rc = _sqlite3CorruptError(tls, int32(79603)) } else { pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8)) iIdx = int32(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2))) @@ -54258,7 +54502,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int return rc } if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = _sqlite3CorruptError(tls, int32(79362)) + rc = _sqlite3CorruptError(tls, int32(79767)) } else { if uint32(iOffset)+ovflPageSize < uint32(nTotal) { ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData) @@ -54289,7 +54533,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) { nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */ pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */ if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) { - return _sqlite3CorruptError(tls, int32(79390)) + return _sqlite3CorruptError(tls, int32(79795)) } if int32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal { /* The entire cell is local */ @@ -54374,7 +54618,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** Which can only happen if the SQLITE_NoSchemaError flag was set when ** the schema was loaded. This cannot be asserted though, as a user might ** set the flag, load the schema, and then unset the flag. */ - return _sqlite3CorruptError(tls, int32(79471)) + return _sqlite3CorruptError(tls, int32(79876)) } } /* Ensure that the cursor is not in the CURSOR_FAULT state and that it @@ -54466,7 +54710,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) { /* ^^^^^--- due to the moveToRoot() call above */ - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79594)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79999)) } else { *(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage) } @@ -54502,7 +54746,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) if *(*int32)(unsafe.Pointer(bp + 4)) == 0 { if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79636)) + return _sqlite3CorruptError(tls, int32(80041)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -54532,10 +54776,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ /* clearCell never fails when nLocal==nPayload */ if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) { - return _sqlite3CorruptError(tls, int32(79663)) + return _sqlite3CorruptError(tls, int32(80068)) } if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79666)) + return _sqlite3CorruptError(tls, int32(80071)) } libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 8)))) return SQLITE_OK @@ -54653,7 +54897,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79768)) + return _sqlite3CorruptError(tls, int32(80173)) } nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -54675,7 +54919,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T } if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79793)) + return _sqlite3CorruptError(tls, int32(80198)) } ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -54775,21 +55019,21 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { return *(*int32)(unsafe.Pointer(bp)) } } else { - return _sqlite3CorruptError(tls, int32(79889)) + return _sqlite3CorruptError(tls, int32(80294)) } } iCellDepth = int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) iCellIdx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return _sqlite3CorruptError(tls, int32(79898)) + return _sqlite3CorruptError(tls, int32(80303)) } pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx))))< _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80112)) + return _sqlite3CorruptError(tls, int32(80517)) } *(*TPgno)(unsafe.Pointer(bp + 8))++ /* The new root-page may not be allocated on a pointer-map page, or the @@ -55034,7 +55278,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36) if int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) { - *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80160)) + *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80565)) } if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -55115,14 +55359,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int var _ /* rc at bp+8 */ int32 _, _, _, _ = hdr, i, pCell, v2 if pgno > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80250)) + return _sqlite3CorruptError(tls, int32(80655)) } *(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0) if *(*int32)(unsafe.Pointer(bp + 8)) != 0 { return *(*int32)(unsafe.Pointer(bp + 8)) } if int32((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80257)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80662)) goto cleardatabasepage_out } hdr = int32((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset) @@ -55259,7 +55503,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) pBt = (*TBtree)(unsafe.Pointer(p)).FpBt if iTable > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80361)) + return _sqlite3CorruptError(tls, int32(80766)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -55524,7 +55768,7 @@ func _checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4205, int32(1)) + Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4269, int32(1)) } if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, pCheck+72, (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp+8, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv0, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -55572,11 +55816,11 @@ func _checkRef(tls *libc.TLS, pCheck uintptr, iPage TPgno) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if iPage > (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnCkPage || iPage == uint32(0) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4207, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4271, libc.VaList(bp+8, iPage)) return int32(1) } if _getPageReferenced(tls, pCheck, iPage) != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4230, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4294, libc.VaList(bp+8, iPage)) return int32(1) } _setPageReferenced(tls, pCheck, iPage) @@ -55602,11 +55846,11 @@ func _checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild TPgno, eType Tu8, iParen if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< (*TBtShared)(unsafe.Pointer((*TIntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize/uint32(4)-uint32(2) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4360, libc.VaList(bp+16, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4424, libc.VaList(bp+16, iPage)) N-- } else { i = 0 @@ -55678,11 +55922,11 @@ func _checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage TPgno, N } if N != 0 && nErrAtStart == (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr { if isFreeList != 0 { - v2 = __ccgo_ts + 4399 + v2 = __ccgo_ts + 4463 } else { - v2 = __ccgo_ts + 4404 + v2 = __ccgo_ts + 4468 } - _checkAppendMsg(tls, pCheck, __ccgo_ts+4425, libc.VaList(bp+16, v2, expected-N, expected)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4489, libc.VaList(bp+16, v2, expected-N, expected)) } } @@ -55818,12 +56062,12 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr if _checkRef(tls, pCheck, iPage) != 0 { return 0 } - (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4451 + (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4515 (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage v1 = _btreeGetPage(tls, pBt, iPage, bp+8, 0) rc = v1 if v1 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4469, libc.VaList(bp+56, rc)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4533, libc.VaList(bp+56, rc)) if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< usableSize-uint32(4) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4623, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4687, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) doCoverageCheck = 0 goto _4 } pCell = data + uintptr(pc) (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FxParseCell})))(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), pCell, bp+24) if pc+uint32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnSize) > usableSize { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4653, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4717, 0) doCoverageCheck = 0 goto _4 } @@ -55905,7 +56152,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr v5 = libc.BoolInt32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey >= *(*Ti64)(unsafe.Pointer(bp))) } if v5 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4677, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4741, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) } *(*Ti64)(unsafe.Pointer(bp)) = (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey keyCanBeEqual = 0 /* Only the first key on the page may ==maxKey */ @@ -55928,7 +56175,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr d2 = _checkTreePage(tls, pCheck, uint32(pgno), bp, *(*Ti64)(unsafe.Pointer(bp))) keyCanBeEqual = 0 if d2 != depth { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4701, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4765, 0) depth = d2 } } else { @@ -56005,7 +56252,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr prev = contentOffset - uint32(1) /* Implied first min-heap entry */ for _btreeHeapPull(tls, heap, bp+16) != 0 { if prev&uint32(0xffff) >= *(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4726, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4790, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) break } else { nFrag = int32(uint32(nFrag) + (*(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) - prev&libc.Uint32FromInt32(0xffff) - libc.Uint32FromInt32(1))) @@ -56019,7 +56266,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr ** number of fragmented free bytes within the cell content area. */ if *(*Tu32)(unsafe.Pointer(heap)) == uint32(0) && nFrag != int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4763, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4827, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) } } goto end_of_check @@ -56059,16 +56306,16 @@ end_of_check: // ** the unverified btrees. Except, if aRoot[1] is 1, then the freelist // ** checks are still performed. // */ -func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { - bp := tls.Alloc(256) - defer tls.Free(256) +func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, aCnt uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { + bp := tls.Alloc(272) + defer tls.Free(272) var bCkFreelist, bPartial int32 var i, mx, mxInHdr TPgno var pBt uintptr var savedDbFlags Tu64 - var _ /* notUsed at bp+224 */ Ti64 + var _ /* notUsed at bp+232 */ Ti64 var _ /* sCheck at bp+0 */ TIntegrityCk - var _ /* zErr at bp+120 */ [100]int8 + var _ /* zErr at bp+128 */ [100]int8 _, _, _, _, _, _, _ = bCkFreelist, bPartial, i, mx, mxInHdr, pBt, savedDbFlags pBt = (*TBtree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Tsqlite3)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags @@ -56082,13 +56329,13 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } } _sqlite3BtreeEnter(tls, p) - libc.Xmemset(tls, bp, 0, uint64(120)) + libc.Xmemset(tls, bp, 0, uint64(128)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fdb = db (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt = pBt (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage = _btreePagecount(tls, (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr = mxErr - _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+120, int32(100), int32(SQLITE_MAX_LENGTH)) + _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+128, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FerrMsg.FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage == uint32(0) { goto integrity_ck_cleanup @@ -56110,7 +56357,7 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin /* Check the integrity of the freelist */ if bCkFreelist != 0 { - (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4815 + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4879 _checkList(tls, bp, int32(1), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = uintptr(0) } @@ -56134,11 +56381,11 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } mxInHdr = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+52) if mx != mxInHdr { - _checkAppendMsg(tls, bp, __ccgo_ts+4826, libc.VaList(bp+240, mx, mxInHdr)) + _checkAppendMsg(tls, bp, __ccgo_ts+4890, libc.VaList(bp+248, mx, mxInHdr)) } } else { if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64) != uint32(0) { - _checkAppendMsg(tls, bp, __ccgo_ts+4871, 0) + _checkAppendMsg(tls, bp, __ccgo_ts+4935, 0) } } } @@ -56148,14 +56395,15 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin if !(int32(i) < nRoot && (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr != 0) { break } - if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == uint32(0) { - goto _2 - } - if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { - _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnRow = 0 + if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) != 0 { + if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { + _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + } + (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fv0 = *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) + _checkTreePage(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+232, libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)< nRec || iHdr >= *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84303)) + iHdr = uint32(uint8(v1)) + if *(*Tu32)(unsafe.Pointer(bp + 4)) > uint32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84745)) } - iField = *(*int32)(unsafe.Pointer(bp + 4)) + iField = int64(*(*Tu32)(unsafe.Pointer(bp + 4))) i = 0 for { if !(i <= iCol) { @@ -59146,19 +59425,19 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC } else { v3 = int32(_sqlite3GetVarint32(tls, a+uintptr(iHdr), bp)) } - iHdr += int32(uint8(v3)) - if iHdr > *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84309)) + iHdr += uint32(uint8(v3)) + if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84751)) } - szField = int32(_sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))) - iField += szField + szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp))) + iField += int64(szField) goto _2 _2: ; i++ } - if iField > nRec { - return _sqlite3CorruptError(tls, int32(84315)) + if iField > int64(nRec) { + return _sqlite3CorruptError(tls, int32(84757)) } if pMem == uintptr(0) { v4 = _sqlite3ValueNew(tls, db) @@ -59168,7 +59447,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return int32(SQLITE_NOMEM) } } - _sqlite3VdbeSerialGet(tls, a+uintptr(iField-szField), *(*Tu32)(unsafe.Pointer(bp)), pMem) + _sqlite3VdbeSerialGet(tls, a+uintptr(iField-int64(szField)), *(*Tu32)(unsafe.Pointer(bp)), pMem) (*TMem)(unsafe.Pointer(pMem)).Fenc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc return SQLITE_OK } @@ -59956,6 +60235,9 @@ func _resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* True because of tag-20230419-1 */ (*TOp)(unsafe.Pointer(pOp)).Fp2 = *(*int32)(unsafe.Pointer(aLabel + uintptr(^(*TOp)(unsafe.Pointer(pOp)).Fp2)*4)) } + /* OPFLG_JUMP opcodes never have P2==0, though OPFLG_JUMP0 opcodes + ** might */ + /* Jumps never go off the end of the bytecode array */ break } /* The mkopcodeh.tcl script has so arranged things that the only @@ -60468,7 +60750,7 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { switch int32((*TOp)(unsafe.Pointer(pOp)).Fp4type) { case -int32(8): pKeyInfo = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5083, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5147, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) j = 0 for { if !(j < int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)) { @@ -60478,66 +60760,66 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { if pColl != 0 { v2 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } zColl = v2 - if libc.Xstrcmp(tls, zColl, __ccgo_ts+5088) == 0 { - zColl = __ccgo_ts + 5095 + if libc.Xstrcmp(tls, zColl, __ccgo_ts+5152) == 0 { + zColl = __ccgo_ts + 5159 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_DESC) != 0 { - v3 = __ccgo_ts + 5076 + v3 = __ccgo_ts + 5140 } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_BIGNULL) != 0 { - v4 = __ccgo_ts + 5097 + v4 = __ccgo_ts + 5161 } else { - v4 = __ccgo_ts + 1650 + v4 = __ccgo_ts + 1664 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5100, libc.VaList(bp+40, v3, v4, zColl)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5164, libc.VaList(bp+40, v3, v4, zColl)) goto _1 _1: ; j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5172, int32(1)) case -int32(2): pColl1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5124, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5188, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) case -int32(7): pDef = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5133, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5197, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) case -int32(15): pDef1 = (*Tsqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpFunc - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5133, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5197, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) case -int32(13): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1406, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1425, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(3): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5140, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5204, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) case -int32(12): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1373, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1392, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(10): pMem = *(*uintptr)(unsafe.Pointer(pOp + 16)) if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Str) != 0 { zP4 = (*TMem)(unsafe.Pointer(pMem)).Fz } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1406, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1425, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1373, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1392, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Null) != 0 { - zP4 = __ccgo_ts + 1651 + zP4 = __ccgo_ts + 1665 } else { - zP4 = __ccgo_ts + 5143 + zP4 = __ccgo_ts + 5207 } } } } case -int32(11): pVtab = (*TVTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpVtab - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5150, libc.VaList(bp+40, pVtab)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5214, libc.VaList(bp+40, pVtab)) case -int32(14): ai = *(*uintptr)(unsafe.Pointer(pOp + 16)) n = *(*Tu32)(unsafe.Pointer(ai)) /* The first element of an INTARRAY is always the @@ -60552,15 +60834,15 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } else { v6 = int32(',') } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5158, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5222, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) goto _5 _5: ; i++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5163, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5227, int32(1)) case -int32(4): - zP4 = __ccgo_ts + 5165 + zP4 = __ccgo_ts + 5229 case -int32(5): zP4 = (*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FzName default: @@ -60576,10 +60858,10 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } var _encnames = [4]uintptr{ - 0: __ccgo_ts + 5110, - 1: __ccgo_ts + 5112, - 2: __ccgo_ts + 5114, - 3: __ccgo_ts + 5119, + 0: __ccgo_ts + 5174, + 1: __ccgo_ts + 5176, + 2: __ccgo_ts + 5178, + 3: __ccgo_ts + 5183, } // C documentation @@ -61530,7 +61812,7 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { retryCount = 0 /* Select a super-journal file name */ nMainFile = _sqlite3Strlen30(tls, zMainFile) - zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5173, libc.VaList(bp+24, 0, zMainFile, 0)) + zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5237, libc.VaList(bp+24, 0, zMainFile, 0)) if zSuper == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -61538,18 +61820,18 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { for cond := true; cond; cond = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8)) != 0 { if retryCount != 0 { if retryCount > int32(100) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5185, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5249, libc.VaList(bp+24, zSuper)) _sqlite3OsDelete(tls, pVfs, zSuper, 0) break } else { if retryCount == int32(1) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5199, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5263, libc.VaList(bp+24, zSuper)) } } } retryCount++ Xsqlite3_randomness(tls, int32(4), bp+12) - Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5214, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) + Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5278, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) /* The antipenultimate character of the super-journal name must ** be "9" to avoid name collisions when using 8+3 filenames. */ rc = _sqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+8) @@ -61780,7 +62062,7 @@ func _sqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) (r int32) { if deferred != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > 0 || !(deferred != 0) && (*TVdbe)(unsafe.Pointer(p)).FnFkConstraint > 0 { (*TVdbe)(unsafe.Pointer(p)).Frc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(3)< y { return +libc.Int32FromInt32(1) } - s = float64(i) - if s < r { + if float64(i) < r { v2 = -int32(1) } else { - v2 = libc.BoolInt32(s > r) + v2 = libc.BoolInt32(float64(i) > r) } return v2 } @@ -63089,7 +63370,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89131))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89580))) return 0 /* Corruption */ } /* Only needed by assert() statements */ @@ -63179,7 +63460,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr pKeyInfo = v4 } if v5 || int32((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89212))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89661))) return 0 /* Corruption */ } else { if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { @@ -63214,7 +63495,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } else { nStr = int32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2)) if d1+uint32(nStr) > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89242))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89691))) return 0 /* Corruption */ } else { if int32((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 { @@ -63268,7 +63549,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } idx1 += uint32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68))))) if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89293))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89742))) return 0 /* Corrupt index */ } } @@ -63400,7 +63681,7 @@ vrcs_restart: szHdr = int32(*(*Tu8)(unsafe.Pointer(aKey1))) nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2) if szHdr+nStr > nKey1 { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89456))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89905))) return 0 /* Corruption */ } if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr { @@ -63552,7 +63833,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr idx_rowid_corruption: ; _sqlite3VdbeMemReleaseMalloc(tls, bp+8) - return _sqlite3CorruptError(tls, int32(89614)) + return _sqlite3CorruptError(tls, int32(90063)) } // C documentation @@ -63583,7 +63864,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked ** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */ if nCellKey <= 0 || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return _sqlite3CorruptError(tls, int32(89647)) + return _sqlite3CorruptError(tls, int32(90096)) } _sqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, uint32(nCellKey), bp) @@ -63734,15 +64015,15 @@ func _sqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) (r int32) { pOp = (*TVdbe)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe)).FaOp + uintptr((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FiOp)*24 if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fopcode) == int32(OP_PureFunc) { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_IsCheck) != 0 { - zContext = __ccgo_ts + 5257 + zContext = __ccgo_ts + 5321 } else { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_GenCol) != 0 { - zContext = __ccgo_ts + 5276 + zContext = __ccgo_ts + 5340 } else { - zContext = __ccgo_ts + 5295 + zContext = __ccgo_ts + 5359 } } - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5304, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5368, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) return 0 @@ -63916,7 +64197,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) (r int32) { // */ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { if (*TVdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5340, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5404, 0) return int32(1) } else { return 0 @@ -63926,7 +64207,7 @@ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { func _vdbeSafetyNotNull(tls *libc.TLS, p uintptr) (r int32) { if p == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5385, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5449, 0) return int32(1) } else { return _vdbeSafety(tls, p) @@ -63984,7 +64265,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt db = (*TVdbe)(unsafe.Pointer(v)).Fdb if _vdbeSafety(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90035)) + return _sqlite3MisuseError(tls, int32(90484)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 { @@ -64487,7 +64768,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { // /* Force an SQLITE_TOOBIG error. */ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FisError = int32(SQLITE_TOOBIG) - _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5425, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) + _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5489, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) } // C documentation @@ -64688,7 +64969,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt /* the prepared statement */ cnt = 0 /* The database connection */ if _vdbeSafetyNotNull(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90829)) + return _sqlite3MisuseError(tls, int32(91278)) } db = (*TVdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) @@ -64818,7 +65099,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32 _, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1 *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) if pVal == uintptr(0) { - return _sqlite3MisuseError(tls, int32(90950)) + return _sqlite3MisuseError(tls, int32(91399)) } if int32((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) { return int32(SQLITE_ERROR) @@ -65278,18 +65559,18 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) (r int32) { // ** Column names appropriate for EXPLAIN or EXPLAIN QUERY PLAN. // */ var _azExplainColNames8 = [12]uintptr{ - 0: __ccgo_ts + 5448, - 1: __ccgo_ts + 5453, - 2: __ccgo_ts + 5460, - 3: __ccgo_ts + 5463, - 4: __ccgo_ts + 5466, - 5: __ccgo_ts + 5469, - 6: __ccgo_ts + 5472, - 7: __ccgo_ts + 5475, - 8: __ccgo_ts + 5483, - 9: __ccgo_ts + 5486, - 10: __ccgo_ts + 5493, - 11: __ccgo_ts + 5501, + 0: __ccgo_ts + 5512, + 1: __ccgo_ts + 5517, + 2: __ccgo_ts + 5524, + 3: __ccgo_ts + 5527, + 4: __ccgo_ts + 5530, + 5: __ccgo_ts + 5533, + 6: __ccgo_ts + 5536, + 7: __ccgo_ts + 5539, + 8: __ccgo_ts + 5547, + 9: __ccgo_ts + 5550, + 10: __ccgo_ts + 5557, + 11: __ccgo_ts + 5565, } var _azExplainColNames16data = [60]Tu16{ 0: uint16('a'), @@ -65533,14 +65814,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) { var v2 bool _, _, _ = pVar, v1, v2 if _vdbeSafetyNotNull(tls, p) != 0 { - return _sqlite3MisuseError(tls, int32(91554)) + return _sqlite3MisuseError(tls, int32(92003)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if int32((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) { - _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(91558))) + _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(92007))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5508, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) - return _sqlite3MisuseError(tls, int32(91562)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5572, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) + return _sqlite3MisuseError(tls, int32(92011)) } if i >= uint32((*TVdbe)(unsafe.Pointer(p)).FnVar) { _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE)) @@ -66104,7 +66385,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp /* Test that this call is being made from within an SQLITE_DELETE or ** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */ if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) { - rc = _sqlite3MisuseError(tls, int32(92098)) + rc = _sqlite3MisuseError(tls, int32(92547)) goto preupdate_old_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 { @@ -66234,7 +66515,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp rc = SQLITE_OK p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) { - rc = _sqlite3MisuseError(tls, int32(92221)) + rc = _sqlite3MisuseError(tls, int32(92670)) goto preupdate_new_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) { @@ -66408,7 +66689,7 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr break } } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5548, int32(3)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5612, int32(3)) Xsqlite3_str_append(tls, bp+8, zStart, int32(int64(zRawSql)-int64(zStart))) } } else { @@ -66440,13 +66721,13 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr nextIndex = v2 pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(*(*int32)(unsafe.Pointer(bp))-int32(1))*56 if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1651, int32(4)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1665, int32(4)) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1406, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1425, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5069, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5133, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Str) != 0 { /* Number of bytes of the string text to include in output */ enc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc @@ -66461,28 +66742,28 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr pVar = bp + 40 } nOut = (*TMem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5552, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5616, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != int32(SQLITE_UTF8) { _sqlite3VdbeMemRelease(tls, bp+40) } } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5559, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5623, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) } else { /* Number of bytes of the blob to include in output */ - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5572, int32(2)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5636, int32(2)) nOut1 = (*TMem)(unsafe.Pointer(pVar)).Fn i = 0 for { if !(i < nOut1) { break } - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5575, libc.VaList(bp+104, int32(*(*int8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5639, libc.VaList(bp+104, int32(*(*int8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) goto _3 _3: ; i++ } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5580, int32(1)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5644, int32(1)) } } } @@ -67082,7 +67363,7 @@ var _azTypes = [5]uintptr{ 1: __ccgo_ts + 1146, 2: __ccgo_ts + 1151, 3: __ccgo_ts + 1129, - 4: __ccgo_ts + 1651, + 4: __ccgo_ts + 1665, } // C documentation @@ -67096,7 +67377,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { defer tls.Free(976) var aCol, aMem, aOffset, aOp, aPermute, aRoot, apArg, apArg1, db, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pnErr, t1, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v240, v241, v242, v250, v251, v252, v253, v255, v263, v278, v279, v286, v288, v297, v298, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 uintptr var affinity int8 - var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 + var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, savedAnalysisLimit, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 var colCacheCtr, iAddr, iMap, iPrior, idx, len11, n3, p22, p23, serialType, serial_type, v213, v214, v216, v221, v222 Tu32 var encoding, isWriteLock, mTrace, op, p5, resetSchemaOnFault, vtabOnConflict, v225 Tu8 var flags1, flags11, flags2, flags3, flags31, newType, nullFlag, type1, type2, typeMask, v190 Tu16 @@ -67153,7 +67434,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { var _ /* z at bp+688 */ uintptr var _ /* zErr at bp+632 */ uintptr var _ /* zErr at bp+792 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, savedAnalysisLimit, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 aOp = (*TVdbe)(unsafe.Pointer(p)).FaOp /* Copy of p->aOp */ pOp = aOp /* Current operation */ rc = SQLITE_OK /* Value to return */ @@ -67423,7 +67704,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto _109 case int32(OP_SeekEnd): goto _110 - case int32(OP_IfSmaller): + case int32(OP_IfSizeBetween): goto _111 case int32(OP_Sort): goto _112 @@ -67717,7 +67998,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: EndCoroutine */ _5: - ; /* jump */ + ; /* jump0 */ pOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 *(*Ti64)(unsafe.Pointer(pOut)) = int64((*TOp)(unsafe.Pointer(pOp)).Fp3 - int32(1)) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Int) @@ -67737,7 +68018,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** ** The instruction at the address in register P1 is a Yield. ** Jump to the P2 parameter of that Yield. - ** After the jump, register P1 becomes undefined. + ** After the jump, the value register P1 is left with a value + ** such that subsequent OP_Yields go back to the this same + ** OP_EndCoroutine instruction. ** ** See also: InitCoroutine */ @@ -67745,8 +68028,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ; pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 pCaller = aOp + uintptr(*(*Ti64)(unsafe.Pointer(pIn1)))*24 + *(*Ti64)(unsafe.Pointer(pIn1)) = int64(int32((int64(pOp)-int64((*TVdbe)(unsafe.Pointer(p)).FaOp))/24) - int32(1)) pOp = aOp + uintptr((*TVdbeOp)(unsafe.Pointer(pCaller)).Fp2-int32(1))*24 - (*TMem)(unsafe.Pointer(pIn1)).Fflags = uint16(MEM_Undefined) goto _187 /* Opcode: Yield P1 P2 * * * ** @@ -67843,15 +68126,15 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TVdbe)(unsafe.Pointer(p)).FerrorAction = uint8((*TOp)(unsafe.Pointer(pOp)).Fp2) if (*TVdbe)(unsafe.Pointer(p)).Frc != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+5616, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) + _sqlite3VdbeError(tls, p, __ccgo_ts+5680, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) if *(*uintptr)(unsafe.Pointer(pOp + 16)) != 0 { - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5637, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5701, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } } else { - _sqlite3VdbeError(tls, p, __ccgo_ts+3797, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3861, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } pcx = int32((int64(pOp) - int64(aOp)) / 24) - Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5644, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5708, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) } rc = _sqlite3VdbeHalt(tls, p) if rc == int32(SQLITE_BUSY) { @@ -68043,13 +68326,10 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } (*TMem)(unsafe.Pointer(pOut)).Fenc = encoding goto _187 - /* Opcode: Variable P1 P2 * P4 * - ** Synopsis: r[P2]=parameter(P1,P4) + /* Opcode: Variable P1 P2 * * * + ** Synopsis: r[P2]=parameter(P1) ** ** Transfer the values of bound parameter P1 into register P2 - ** - ** If the parameter is named, then its name appears in P4. - ** The P4 value is used by sqlite3_bind_parameter_name(). */ _19: ; /* Value being transferred */ @@ -68572,7 +68852,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** raise an SQLITE_MISMATCH exception. */ _38: - ; /* jump, in1 */ + ; /* jump0, in1 */ pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 if int32((*TMem)(unsafe.Pointer(pIn1)).Fflags)&int32(MEM_Int) == 0 { _applyAffinity(tls, pIn1, int8(SQLITE_AFF_NUMERIC), encoding) @@ -69577,7 +69857,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24 goto _187 } else { - rc = _sqlite3CorruptError(tls, int32(95863)) + rc = _sqlite3CorruptError(tls, int32(96311)) goto abort_due_to_error } /* Opcode: TypeCheck P1 P2 P3 P4 * @@ -69680,7 +69960,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_type_error vdbe_type_error: ; - _sqlite3VdbeError(tls, p, __ccgo_ts+5668, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) + _sqlite3VdbeError(tls, p, __ccgo_ts+5732, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(12)< 0 && p12 == int32(SAVEPOINT_RELEASE) { /* It is not possible to release (commit) a savepoint if there are ** active write statements. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5782, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5846, 0) rc = int32(SQLITE_BUSY) } else { /* Determine whether or not this is a transaction savepoint. If so, @@ -70276,7 +70556,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If this instruction implements a COMMIT and other VMs are writing ** return an error indicating that the other VMs must complete first. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5836, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5900, 0) rc = int32(SQLITE_BUSY) goto abort_due_to_error } else { @@ -70306,12 +70586,12 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_return } else { if !(desiredAutoCommit != 0) { - v250 = __ccgo_ts + 5891 + v250 = __ccgo_ts + 5955 } else { if iRollback != 0 { - v251 = __ccgo_ts + 5939 + v251 = __ccgo_ts + 6003 } else { - v251 = __ccgo_ts + 5982 + v251 = __ccgo_ts + 6046 } v250 = v251 } @@ -70403,7 +70683,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** SQL statement was prepared. */ _sqlite3DbFree(tls, db, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg) - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6023) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6087) /* If the schema-cookie from the database file matches the cookie ** stored with the in-memory representation of the schema, do ** not reload the schema from the database file. @@ -70721,7 +71001,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** form sqlite3BtreeInsert() where the length of the data is zero. */ /* Only used when number of columns is zero */ (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fn = 0 - (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1650 + (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1664 } pCx1 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) if pCx1 != 0 && !(int32(TBool(*(*uint8)(unsafe.Pointer(pCx1 + 8))&0x8>>3)) != 0) && (*TOp)(unsafe.Pointer(pOp)).Fp2 <= int32((*TVdbeCursor)(unsafe.Pointer(pCx1)).FnField) { @@ -70826,7 +71106,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** is the only cursor opcode that works with a pseudo-table. ** ** P3 is the number of fields in the records that will be stored by - ** the pseudo-table. + ** the pseudo-table. If P2 is 0 or negative then the pseudo-cursor + ** will return NULL for every column. */ _83: ; @@ -70944,11 +71225,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: Found, NotFound, SeekGt, SeekGe, SeekLt */ _88: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _87: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _86: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _85: ; /* Only interested in == results */ pC5 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -71511,7 +71792,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TVdbeCursor)(unsafe.Pointer(pC10)).FseekResult = *(*int32)(unsafe.Pointer(bp + 248)) if *(*int32)(unsafe.Pointer(bp + 248)) != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 { - rc = _sqlite3CorruptError(tls, int32(98111)) + rc = _sqlite3CorruptError(tls, int32(98565)) } else { goto jump_to_p2 } @@ -72111,10 +72392,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } goto _187 - /* Opcode: IfSmaller P1 P2 P3 * * + /* Opcode: IfSizeBetween P1 P2 P3 P4 * + ** + ** Let N be the approximate number of rows in the table or index + ** with cursor P1 and let X be 10*log2(N) if N is positive or -1 + ** if N is zero. ** - ** Estimate the number of rows in the table P1. Jump to P2 if that - ** estimate is less than approximately 2**(0.1*P3). + ** Jump to P2 if X is in between P3 and P4, inclusive. */ _111: ; @@ -72124,12 +72408,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { goto abort_due_to_error } - if *(*int32)(unsafe.Pointer(bp + 396)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { + sz = int64(-int32(1)) /* -Infinity encoding */ + } else { sz = _sqlite3BtreeRowCountEst(tls, pCrsr5) - if sz >= 0 && int32(_sqlite3LogEst(tls, uint64(sz))) < (*TOp)(unsafe.Pointer(pOp)).Fp3 { - *(*int32)(unsafe.Pointer(bp + 396)) = int32(1) - } + sz = int64(_sqlite3LogEst(tls, uint64(sz))) } + *(*int32)(unsafe.Pointer(bp + 396)) = libc.BoolInt32(sz >= int64((*TOp)(unsafe.Pointer(pOp)).Fp3) && sz <= int64((*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { goto jump_to_p2 } @@ -72399,7 +72684,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } else { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) { - rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) { - rc = _sqlite3CorruptError(tls, int32(99398)) + rc = _sqlite3CorruptError(tls, int32(99862)) goto abort_due_to_error } _sqlite3VdbeMemInit(tls, bp+552, db, uint16(0)) @@ -72696,11 +72981,18 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } *(*Ti64)(unsafe.Pointer(pOut)) = int64(*(*TPgno)(unsafe.Pointer(bp + 624))) goto _187 - /* Opcode: SqlExec * * * P4 * + /* Opcode: SqlExec P1 P2 * P4 * ** ** Run the SQL statement or statements specified in the P4 string. - ** Disable Auth and Trace callbacks while those statements are running if - ** P1 is true. + ** + ** The P1 parameter is a bitmask of options: + ** + ** 0x0001 Disable Auth and Trace callbacks while the statements + ** in P4 are running. + ** + ** 0x0002 Set db->nAnalysisLimit to P2 while the statements in + ** P4 are running. + ** */ _132: ; @@ -72708,16 +73000,21 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*uintptr)(unsafe.Pointer(bp + 632)) = uintptr(0) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth mTrace = (*Tsqlite3)(unsafe.Pointer(db)).FmTrace - if (*TOp)(unsafe.Pointer(pOp)).Fp1 != 0 { + savedAnalysisLimit = (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0001) != 0 { (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(0) } + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0002) != 0 { + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (*TOp)(unsafe.Pointer(pOp)).Fp2 + } rc = Xsqlite3_exec(tls, db, *(*uintptr)(unsafe.Pointer(pOp + 16)), uintptr(0), uintptr(0), bp+632) (*Tsqlite3)(unsafe.Pointer(db)).FnSqlExec-- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = mTrace + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = savedAnalysisLimit if *(*uintptr)(unsafe.Pointer(bp + 632)) != 0 || rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3797, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3861, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 632))) if rc == int32(SQLITE_NOMEM) { goto no_mem @@ -72748,13 +73045,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_SchemaChange) libc.SetBitFieldPtr16Uint32(p+200, libc.Uint32FromInt32(0), 0, 0x3) } else { - zSchema = __ccgo_ts + 6068 + zSchema = __ccgo_ts + 6132 (*(*TInitData)(unsafe.Pointer(bp + 640))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 640))).FiDb = iDb3 (*(*TInitData)(unsafe.Pointer(bp + 640))).FpzErrMsg = p + 168 (*(*TInitData)(unsafe.Pointer(bp + 640))).FmInitFlags = uint32(0) (*(*TInitData)(unsafe.Pointer(bp + 640))).FmxPage = _sqlite3BtreeLastPage(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6082, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6146, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -72769,7 +73066,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* The OP_ParseSchema opcode with a non-NULL P4 argument should parse ** at least one SQL statement. Any less than that indicates that ** the sqlite_schema table is corrupt. */ - rc = _sqlite3CorruptError(tls, int32(99678)) + rc = _sqlite3CorruptError(tls, int32(100155)) } _sqlite3DbFreeNN(tls, db, zSql) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) @@ -72835,11 +73132,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* Opcode: IntegrityCk P1 P2 P3 P4 P5 ** ** Do an analysis of the currently open database. Store in - ** register P1 the text of an error message describing any problems. - ** If no problems are found, store a NULL in register P1. + ** register (P1+1) the text of an error message describing any problems. + ** If no problems are found, store a NULL in register (P1+1). ** - ** The register P3 contains one less than the maximum number of allowed errors. - ** At most reg(P3) errors will be reported. + ** The register (P1) contains one less than the maximum number of allowed + ** errors. At most reg(P1) errors will be reported. ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. ** @@ -72855,9 +73152,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ; /* Register keeping track of errors remaining */ nRoot = (*TOp)(unsafe.Pointer(pOp)).Fp2 aRoot = *(*uintptr)(unsafe.Pointer(pOp + 16)) - pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 - pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 - rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) + pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 + pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1+int32(1))*56 + rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, aMem+uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) _sqlite3VdbeMemSetNull(tls, pIn1) if *(*int32)(unsafe.Pointer(bp + 680)) == 0 { } else { @@ -72963,7 +73260,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** P1 contains the address of the memory cell that contains the first memory ** cell in an array of values used as arguments to the sub-program. P2 ** contains the address to jump to if the sub-program throws an IGNORE - ** exception using the RAISE() function. Register P3 contains the address + ** exception using the RAISE() function. P2 might be zero, if there is + ** no possibility that an IGNORE exception will be raised. + ** Register P3 contains the address ** of a memory cell in this (the parent) VM that is used to allocate the ** memory required by the sub-vdbe at runtime. ** @@ -73004,7 +73303,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } if (*TVdbe)(unsafe.Pointer(p)).FnFrame >= *(*int32)(unsafe.Pointer(db + 136 + 10*4)) { rc = int32(SQLITE_ERROR) - _sqlite3VdbeError(tls, p, __ccgo_ts+6125, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6189, 0) goto abort_due_to_error } /* Register pRt is used to store the memory required to save the state @@ -73368,7 +73667,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } /* IMP: R-24505-23230 */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3797, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3861, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError } if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FskipFlag != 0 { @@ -73424,7 +73723,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3VdbeMemFinalize(tls, pMem3, *(*uintptr)(unsafe.Pointer(pOp + 16))) } if rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3797, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3861, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) goto abort_due_to_error } _sqlite3VdbeChangeEncoding(tls, pMem3, int32(encoding)) @@ -73503,11 +73802,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeRead > int32(1) { rc = int32(SQLITE_ERROR) if eNew == int32(PAGER_JOURNALMODE_WAL) { - v286 = __ccgo_ts + 6162 + v286 = __ccgo_ts + 6226 } else { - v286 = __ccgo_ts + 6167 + v286 = __ccgo_ts + 6231 } - _sqlite3VdbeError(tls, p, __ccgo_ts+6174, libc.VaList(bp+944, v286)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6238, libc.VaList(bp+944, v286)) goto abort_due_to_error } else { if eOld == int32(PAGER_JOURNALMODE_WAL) { @@ -73660,7 +73959,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { if rc&int32(0xFF) == int32(SQLITE_LOCKED) { z1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - _sqlite3VdbeError(tls, p, __ccgo_ts+6226, libc.VaList(bp+944, z1)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6290, libc.VaList(bp+944, z1)) } goto abort_due_to_error } @@ -73822,7 +74121,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TValueList)(unsafe.Pointer(pRhs)).FpOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 pOut = _out2Prerelease(tls, p, pOp) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null) - _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6255, __ccgo_fp(_sqlite3VdbeValueListFree)) + _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6319, __ccgo_fp(_sqlite3VdbeValueListFree)) goto _187 /* Opcode: VFilter P1 P2 P3 P4 * ** Synopsis: iplan=r[P3] zplan='P4' @@ -73918,7 +74217,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_module)(unsafe.Pointer(pModule4)).FxColumn})))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 48)), bp+800, (*TOp)(unsafe.Pointer(pOp)).Fp2) _sqlite3VtabImportErrmsg(tls, p, pVtab4) if (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3797, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3861, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) rc = (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError } _sqlite3VdbeChangeEncoding(tls, pDest2, int32(encoding)) @@ -74172,7 +74471,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If the function returned an error, throw an exception */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3797, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3861, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError } _sqlite3VdbeDeleteAuxData(tls, db, p+296, (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FiOp, (*TOp)(unsafe.Pointer(pOp)).Fp1) @@ -74323,7 +74622,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { Xsqlite3_free(tls, z2) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeExec > int32(1) { - z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6265, libc.VaList(bp+944, zTrace)) + z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6329, libc.VaList(bp+944, zTrace)) (*(*func(*libc.TLS, Tu32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(&(*Tsqlite3)(unsafe.Pointer(db)).Ftrace))})))(tls, uint32(SQLITE_TRACE_STMT), (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) _sqlite3DbFree(tls, db, z3) } else { @@ -74395,15 +74694,15 @@ abort_due_to_error: rc = int32(SQLITE_NOMEM) } else { if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)<op on success */ - pTab = uintptr(0) /* A column of pTab */ - *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, cntTab, db, eNewExprOp, hCol, hCol1, hit, i, iCol, j, nSubquery, op, pCol, pEList, pItem, pMatch, pOrig, pSchema, pSrcList, pTab, pTopNC, pUpsert, zAs, zCol, zErr, v10, v5, v7, v8 /* Loop counters */ + cnt = 0 /* Number of matching column names */ + cntTab = 0 /* Number of potential "rowid" matches */ + nSubquery = 0 /* How many levels of subquery */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Use for looping over pSrcList items */ + pMatch = uintptr(0) /* The matching pSrcList item */ + pTopNC = pNC /* First namecontext in the list */ + pSchema = uintptr(0) /* Schema of the expression */ + eNewExprOp = int32(TK_COLUMN) /* New value for pExpr->op on success */ + pTab = uintptr(0) /* A column of pTab */ + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + zCol = *(*uintptr)(unsafe.Pointer(pRight + 8)) /* the name context cannot be NULL. */ /* The Z in X.Y.Z cannot be NULL */ /* Initialize the node to no-match */ @@ -79288,7 +79588,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ; i++ } - if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6587, zDb) == 0 { + if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6651, zDb) == 0 { /* This branch is taken when the main database has been renamed ** using SQLITE_DBCONFIG_MAINDBNAME. */ pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema @@ -79381,7 +79681,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TTable)(unsafe.Pointer(pTab)).FpSchema != pSchema { goto _2 } - if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6592) != 0 { + if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6656) != 0 { goto _2 } } @@ -79493,16 +79793,16 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != uintptr(0) { op = int32((*TParse)(unsafe.Pointer(pParse)).FeTriggerOp) if (*TParse)(unsafe.Pointer(pParse)).FbReturning != 0 { - if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0) { + if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0 || _isValidSchemaTableName(tls, zTab, (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab, uintptr(0)) != 0) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = libc.BoolInt32(op != int32(TK_DELETE)) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } } else { - if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6594, zTab) == 0 { + if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6658, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(1) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } else { - if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6598, zTab) == 0 { + if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6662, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = 0 pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } @@ -79511,7 +79811,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UUpsert) != 0 && zTab != uintptr(0) { pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16)) - if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6602, zTab) == 0 { + if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6666, zTab) == 0 { pTab = (*(*TSrcItem)(unsafe.Pointer((*TUpsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8))).FpTab (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(EXCLUDED_TABLE_NUMBER) } @@ -79627,15 +79927,15 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if int32(uint32(*(*uint16)(unsafe.Pointer(pEList + 8 + uintptr(j)*32 + 16 + 4))&0x3>>0)) == ENAME_NAME && Xsqlite3_stricmp(tls, zAs, zCol) == 0 { pOrig = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(j)*32))).FpExpr if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 && (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6611, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6675, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Win)) != uint32(0) && ((*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 || pNC != pTopNC) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6642, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6706, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if _sqlite3ExprVectorSize(tls, pOrig) != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6679, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6743, 0) return int32(WRC_Abort) } _resolveAlias(tls, pParse, pEList, j, pExpr, nSubquery) @@ -79687,7 +79987,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** a huge amount of legacy SQL that uses it. So for now, we just ** issue a warning. */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6697, libc.VaList(bp+24, zCol)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6761, libc.VaList(bp+24, zCol)) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_STRING) libc.Xmemset(tls, pExpr+64, 0, uint64(8)) return int32(WRC_Prune) @@ -79716,7 +80016,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } _extendFJMatch(tls, pParse, bp, pMatch, (*TExpr)(unsafe.Pointer(pExpr)).FiColumn) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_FUNCTION) - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6732 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6796 *(*uintptr)(unsafe.Pointer(pExpr + 32)) = *(*uintptr)(unsafe.Pointer(bp)) cnt = int32(1) goto lookupname_end @@ -79726,18 +80026,22 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } } if cnt == 0 { - v10 = __ccgo_ts + 6741 + v10 = __ccgo_ts + 6805 } else { - v10 = __ccgo_ts + 6756 + v10 = __ccgo_ts + 6820 } zErr = v10 if zDb != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6778, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6842, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) } else { if zTab != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6791, libc.VaList(bp+24, zErr, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6855, libc.VaList(bp+24, zErr, zTab, zCol)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6801, libc.VaList(bp+24, zErr, zCol)) + if cnt == 0 && (*TExpr)(unsafe.Pointer(pRight)).Fflags&uint32(libc.Int32FromInt32(EP_DblQuoted)) != uint32(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6865, libc.VaList(bp+24, zErr, zCol)) + } else { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6926, libc.VaList(bp+24, zErr, zCol)) + } } } _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -79767,8 +80071,12 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** If a generated column is referenced, set bits for every column ** of the table. */ - if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 && cnt == int32(1) && pMatch != uintptr(0) { - *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + if pMatch != 0 { + if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { + *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + } else { + libc.SetBitFieldPtr16Uint32(pMatch+60+4, libc.Uint32FromInt32(1), 14, 0x4000) + } } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(eNewExprOp) goto lookupname_end @@ -79861,19 +80169,19 @@ func _notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pEx defer tls.Free(32) var zIn uintptr _ = zIn - zIn = __ccgo_ts + 6808 + zIn = __ccgo_ts + 6933 if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IdxExpr) != 0 { - zIn = __ccgo_ts + 6836 + zIn = __ccgo_ts + 6961 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IsCheck) != 0 { - zIn = __ccgo_ts + 6854 + zIn = __ccgo_ts + 6979 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_GenCol) != 0 { - zIn = __ccgo_ts + 6872 + zIn = __ccgo_ts + 6997 } } } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6890, libc.VaList(bp+8, zMsg, zIn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7015, libc.VaList(bp+8, zMsg, zIn)) if pExpr != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } @@ -79921,8 +80229,8 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { var anRef [8]int32 var auth, i, is_agg, n, nLeft, nRef, nRight, no_such_func, rc, savedAllowFlags, wrong_num_args, v12, v4, v6, v7 int32 var enc Tu8 - var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zColumn, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zColumn, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 + var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 pNC = *(*uintptr)(unsafe.Pointer(pWalker + 40)) pParse = (*TNameContext)(unsafe.Pointer(pNC)).FpParse switch int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) { @@ -80041,11 +80349,11 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_ID) { zDb = uintptr(0) zTable = uintptr(0) - zColumn = *(*uintptr)(unsafe.Pointer(pExpr + 8)) + pRight = pExpr } else { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+6910, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7035, uintptr(0), pExpr) } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_ID) { @@ -80056,13 +80364,12 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { pRight = (*TExpr)(unsafe.Pointer(pRight)).FpRight } zTable = *(*uintptr)(unsafe.Pointer(pLeft + 8)) - zColumn = *(*uintptr)(unsafe.Pointer(pRight + 8)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameTokenRemap(tls, pParse, pExpr, pRight) _sqlite3RenameTokenRemap(tls, pParse, pExpr+64, pLeft) } } - return _lookupName(tls, pParse, zDb, zTable, zColumn, pNC, pExpr) + return _lookupName(tls, pParse, zDb, zTable, pRight, pNC, pExpr) /* Resolve function names */ fallthrough @@ -80101,7 +80408,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if n == int32(2) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = _exprProbability(tls, (*(*TExprList_item)(unsafe.Pointer(pList + 8 + 1*32))).FpExpr) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6927, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7052, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -80125,7 +80432,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { auth = _sqlite3AuthCheck(tls, pParse, int32(SQLITE_FUNCTION), uintptr(0), (*TFuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0)) if auth != SQLITE_OK { if auth == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6991, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7116, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) @@ -80146,7 +80453,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { ** in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all ** all this. */ if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7027, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7152, uintptr(0), pExpr) } } else { /* Must fit in 8 bits */ @@ -80170,29 +80477,29 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { } if 0 == libc.BoolInt32(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME)) { if pDef != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7055, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7180, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 || is_agg != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) || is_agg != 0 && pWin != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 { if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 { - zType = __ccgo_ts + 7098 + zType = __ccgo_ts + 7223 } else { - zType = __ccgo_ts + 7105 + zType = __ccgo_ts + 7230 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7115, libc.VaList(bp+8, zType, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7240, libc.VaList(bp+8, zType, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else { if no_such_func != 0 && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7143, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7268, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if wrong_num_args != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7165, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7290, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7209, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7334, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { @@ -80216,7 +80523,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { *(*int32)(unsafe.Pointer(pNC + 40)) &= ^(libc.Int32FromInt32(NC_AllowWin) | v7) } } else { - if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { is_agg = int32(1) } } @@ -80277,18 +80584,19 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) { nRef = (*TNameContext)(unsafe.Pointer(pNC)).FnRef if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_SelfRef) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7257, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7382, pExpr, pExpr) } else { _sqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32))) } if nRef != (*TNameContext)(unsafe.Pointer(pNC)).FnRef { *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 4)) |= uint32(SF_Correlated) } *(*int32)(unsafe.Pointer(pNC + 40)) |= int32(NC_Subquery) } case int32(TK_VARIABLE): if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IsCheck)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7268, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7393, pExpr, pExpr) } case int32(TK_IS): fallthrough @@ -80334,7 +80642,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { nRight = _sqlite3ExprVectorSize(tls, (*TExpr)(unsafe.Pointer(pExpr)).FpRight) } if nLeft != nRight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6679, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6743, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } break @@ -80459,7 +80767,7 @@ func _resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintpt func _resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7279, libc.VaList(bp+8, i, zType, mx)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7404, libc.VaList(bp+8, i, zType, mx)) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pError) } @@ -80494,7 +80802,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7335, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7460, 0) return int32(1) } i = 0 @@ -80532,7 +80840,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } if _sqlite3ExprIsInteger(tls, pE, bp) != 0 { if *(*int32)(unsafe.Pointer(bp)) <= 0 || *(*int32)(unsafe.Pointer(bp)) > (*TExprList)(unsafe.Pointer(pEList)).FnExpr { - _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7369, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) + _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7494, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) return int32(1) } } else { @@ -80602,7 +80910,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r break } if int32(uint32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7375, libc.VaList(bp+16, i+int32(1))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7500, libc.VaList(bp+16, i+int32(1))) return int32(1) } goto _3 @@ -80636,7 +80944,7 @@ func _sqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7436, libc.VaList(bp+8, zType)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7561, libc.VaList(bp+8, zType)) return int32(1) } pEList = (*TSelect)(unsafe.Pointer(pSelect)).FpEList @@ -80882,6 +81190,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } pItem = (*TSelect)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*104 + /* Test of tag-20240424-1*/ if (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselFlags&uint32(SF_Resolved) == uint32(0) { if pOuterNC != 0 { v3 = (*TNameContext)(unsafe.Pointer(pOuterNC)).FnRef @@ -80948,7 +81257,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { (*(*TNameContext)(unsafe.Pointer(bp))).FncFlags |= int32(NC_UEList) if (*TSelect)(unsafe.Pointer(p)).FpHaving != 0 { if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Aggregate) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7467, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7592, 0) return int32(WRC_Abort) } if _sqlite3ResolveExprNames(tls, bp, (*TSelect)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -81015,7 +81324,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** is not detected until much later, and so we need to go ahead and ** resolve those symbols on the incorrect ORDER BY for consistency. */ - if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7369) != 0 { + if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7494) != 0 { return int32(WRC_Abort) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -81026,7 +81335,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** the GROUP BY clause does not contain aggregate functions. */ if pGroupBy != 0 { - if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7506) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { + if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7631) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(WRC_Abort) } i = 0 @@ -81036,7 +81345,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } if (*TExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(pItem2)).FpExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7512, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7637, 0) return int32(WRC_Abort) } goto _6 @@ -82017,7 +82326,7 @@ func _codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32 return } if nLeft != _sqlite3ExprVectorSize(tls, pRight) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6679, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6743, 0) return } if int32(op) == int32(TK_LE) { @@ -82096,7 +82405,7 @@ func _sqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) (r in rc = SQLITE_OK mxHeight = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4)) if nHeight > mxHeight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7571, libc.VaList(bp+8, mxHeight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7696, libc.VaList(bp+8, mxHeight)) rc = int32(SQLITE_ERROR) } return rc @@ -82262,11 +82571,12 @@ func _sqlite3ExprSetErrorOffset(tls *libc.TLS, pExpr uintptr, iOfst int32) { // ** appear to be quoted. If the quotes were of the form "..." (double-quotes) // ** then the EP_DblQuoted flag is set on the expression node. // ** -// ** Special case: If op==TK_INTEGER and pToken points to a string that -// ** can be translated into a 32-bit integer, then the token is not -// ** stored in u.zToken. Instead, the integer values is written -// ** into u.iValue and the EP_IntValue flag is set. No extra storage +// ** Special case (tag-20240227-a): If op==TK_INTEGER and pToken points to +// ** a string that can be translated into a 32-bit integer, then the token is +// ** not stored in u.zToken. Instead, the integer values is written +// ** into u.iValue and the EP_IntValue flag is set. No extra storage // ** is allocated to hold the integer text and the dequote flag is ignored. +// ** See also tag-20240227-b. // */ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) (r uintptr) { bp := tls.Alloc(16) @@ -82279,7 +82589,7 @@ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ *(*int32)(unsafe.Pointer(bp)) = 0 if pToken != 0 { if op != int32(TK_INTEGER) || (*TToken)(unsafe.Pointer(pToken)).Fz == uintptr(0) || _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pToken)).Fz, bp) == 0 { - nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) + nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) /* tag-20240227-a */ } } pNew = _sqlite3DbMallocRawNN(tls, db, uint64(72)+uint64(nExtra)) @@ -82440,11 +82750,11 @@ func _sqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList } if nExprElem != nElem { if nExprElem > int32(1) { - v2 = __ccgo_ts + 7619 + v2 = __ccgo_ts + 7744 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7621, libc.VaList(bp+8, nExprElem, v2, nElem)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7746, libc.VaList(bp+8, nExprElem, v2, nElem)) break } pSel = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(pExpr + 32)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) @@ -82493,7 +82803,7 @@ func _sqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt if f&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_InnerON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { _sqlite3ExprDeferredDelete(tls, pParse, pLeft) _sqlite3ExprDeferredDelete(tls, pParse, pRight) - return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1724) + return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1784) } else { return _sqlite3PExpr(tls, pParse, int32(TK_AND), pLeft, pRight) } @@ -82521,7 +82831,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } *(*int32)(unsafe.Pointer(pNew + 52)) = int32(int64((*TToken)(unsafe.Pointer(pToken)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) if pList != 0 && (*TExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7665, libc.VaList(bp+8, pToken)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7790, libc.VaList(bp+8, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32)) = pList *(*Tu32)(unsafe.Pointer(pNew + 4)) |= uint32(libc.Int32FromInt32(EP_HasFunc)) @@ -82541,7 +82851,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u func _sqlite3ExprOrderByAggregateError(tls *libc.TLS, pParse uintptr, p uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7699, libc.VaList(bp+8, p)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7824, libc.VaList(bp+8, p)) } // C documentation @@ -82612,7 +82922,7 @@ func _sqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD ** SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning ** that the schema is possibly tainted). */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7749, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7874, libc.VaList(bp+8, pExpr)) } } } @@ -82664,7 +82974,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n bOk = libc.BoolInt32(0 == _sqlite3Atoi64(tls, z+1, bp, int32(n-uint32(1)), uint8(SQLITE_UTF8))) } if bOk == 0 || *(*Ti64)(unsafe.Pointer(bp)) < int64(1) || *(*Ti64)(unsafe.Pointer(bp)) > int64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7769, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7894, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) return } @@ -82697,7 +83007,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*TExpr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7812, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7937, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } } @@ -82708,11 +83018,13 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n // ** Recursively delete an expression tree. // */ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { + var pLeft uintptr + _ = pLeft + goto exprDeleteRestart +exprDeleteRestart: + ; if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)|libc.Int32FromInt32(EP_Leaf)) != libc.Uint32FromInt32(0)) { /* The Expr.x union is never used at the same time as Expr.pRight */ - if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { - _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpLeft) - } if (*TExpr)(unsafe.Pointer(p)).FpRight != 0 { _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpRight) } else { @@ -82725,6 +83037,17 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { } } } + if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { + pLeft = (*TExpr)(unsafe.Pointer(p)).FpLeft + if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) && !((*TExpr)(unsafe.Pointer(pLeft)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { + /* Avoid unnecessary recursion on unary operators */ + _sqlite3DbNNFreeNN(tls, db, p) + p = pLeft + goto exprDeleteRestart + } else { + _sqlite3ExprDeleteNN(tls, db, pLeft) + } + } } if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { _sqlite3DbNNFreeNN(tls, db, p) @@ -82771,11 +83094,11 @@ func _sqlite3ClearOnOrUsing(tls *libc.TLS, db uintptr, p uintptr) { // ** // ** The pExpr might be deleted immediately on an OOM error. // ** -// ** The deferred delete is (currently) implemented by adding the -// ** pExpr to the pParse->pConstExpr list with a register number of 0. +// ** Return 0 if the delete was successfully deferred. Return non-zero +// ** if the delete happened immediately because of an OOM. // */ -func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { - _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr) +func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + return libc.BoolInt32(uintptr(0) == _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr)) } // C documentation @@ -83264,16 +83587,20 @@ func _sqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) (r ui (*TSrcItem)(unsafe.Pointer(pNewItem)).FiCursor = (*TSrcItem)(unsafe.Pointer(pOldItem)).FiCursor (*TSrcItem)(unsafe.Pointer(pNewItem)).FaddrFillSub = (*TSrcItem)(unsafe.Pointer(pOldItem)).FaddrFillSub (*TSrcItem)(unsafe.Pointer(pNewItem)).FregReturn = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregReturn + (*TSrcItem)(unsafe.Pointer(pNewItem)).FregResult = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregResult if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x2>>1)) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3DbStrDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88))) + } else { + if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { + *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) + } else { + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pNewItem)).Fu1)) = *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pOldItem)).Fu1)) + } } (*TSrcItem)(unsafe.Pointer(pNewItem)).Fu2 = (*TSrcItem)(unsafe.Pointer(pOldItem)).Fu2 if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x100>>8)) != 0 { (*TCteUse)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNewItem + 96)))).FnUse++ } - if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { - *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) - } v4 = (*TSrcItem)(unsafe.Pointer(pOldItem)).FpTab (*TSrcItem)(unsafe.Pointer(pNewItem)).FpTab = v4 pTab = v4 @@ -83535,7 +83862,7 @@ func _sqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, n = v2 } if v3 && (*TIdList)(unsafe.Pointer(pColumns)).FnId != v2 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7835, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7960, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error } i = 0 @@ -83664,7 +83991,7 @@ func _sqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, _ = mx mx = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4)) if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr > mx { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7865, libc.VaList(bp+8, zObject)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7990, libc.VaList(bp+8, zObject)) } } @@ -83762,10 +84089,10 @@ func _sqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) (r // ** anything else 0 // */ func _sqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) (r Tu32) { - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7888) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8013) == 0 { return uint32(EP_IsTrue) } - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7893) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8018) == 0 { return uint32(EP_IsFalse) } return uint32(0) @@ -83847,6 +84174,51 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { return pExpr } +// C documentation +// +// /* +// ** pExpr is a TK_FUNCTION node. Try to determine whether or not the +// ** function is a constant function. A function is constant if all of +// ** the following are true: +// ** +// ** (1) It is a scalar function (not an aggregate or window function) +// ** (2) It has either the SQLITE_FUNC_CONSTANT or SQLITE_FUNC_SLOCHNG +// ** property. +// ** (3) All of its arguments are constants +// ** +// ** This routine sets pWalker->eCode to 0 if pExpr is not a constant. +// ** It makes no changes to pWalker->eCode if pExpr is constant. In +// ** every case, it returns WRC_Abort. +// ** +// ** Called as a service subroutine from exprNodeIsConstant(). +// */ +func _exprNodeIsConstantFunction(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef, pList, v1 uintptr + var n int32 + var v2 bool + _, _, _, _, _, _ = db, n, pDef, pList, v1, v2 /* The database */ + if v2 = (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)) != uint32(0); !v2 { + v1 = *(*uintptr)(unsafe.Pointer(pExpr + 32)) + pList = v1 + } + if v2 || v1 == uintptr(0) { + n = 0 + } else { + n = (*TExprList)(unsafe.Pointer(pList)).FnExpr + _sqlite3WalkExprList(tls, pWalker, pList) + if int32((*TWalker)(unsafe.Pointer(pWalker)).FeCode) == 0 { + return int32(WRC_Abort) + } + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)|libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG)) == uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) +} + // C documentation // // /* @@ -83894,8 +84266,12 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 } return WRC_Continue } else { - (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) - return int32(WRC_Abort) + if (*TWalker)(unsafe.Pointer(pWalker)).FpParse != 0 { + return _exprNodeIsConstantFunction(tls, pWalker, pExpr) + } else { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } } fallthrough case int32(TK_ID): @@ -83922,6 +84298,8 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 case int32(TK_REGISTER): fallthrough case int32(TK_DOT): + fallthrough + case int32(TK_RAISE): (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) return int32(WRC_Abort) case int32(TK_VARIABLE): @@ -83947,14 +84325,14 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 return r } -func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32) { +func _exprIsConst(tls *libc.TLS, pParse uintptr, p uintptr, initFlag int32) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* w at bp+0 */ TWalker (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(initFlag) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) - *(*int32)(unsafe.Pointer(bp + 40)) = iCur _sqlite3WalkExpr(tls, bp, p) return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } @@ -83968,9 +84346,15 @@ func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32 // ** For the purposes of this function, a double-quoted string (ex: "abc") // ** is considered a variable but a single-quoted string (ex: 'abc') is // ** a constant. +// ** +// ** The pParse parameter may be NULL. But if it is NULL, there is no way +// ** to determine if function calls are constant or not, and hence all +// ** function calls will be considered to be non-constant. If pParse is +// ** not NULL, then a function call might be constant, depending on the +// ** function and on its parameters. // */ -func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(1), 0) +func _sqlite3ExprIsConstant(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(1)) } // C documentation @@ -83988,8 +84372,24 @@ func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { // ** can be added to the pParse->pConstExpr list and evaluated once when // ** the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). // */ -func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(2), 0) +func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(2)) +} + +// C documentation +// +// /* +// ** This routine examines sub-SELECT statements as an expression is being +// ** walked as part of sqlite3ExprIsTableConstant(). Sub-SELECTs are considered +// ** constant as long as they are uncorrelated - meaning that they do not +// ** contain any terms from outer contexts. +// */ +func _exprSelectWalkTableConstant(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + if (*TSelect)(unsafe.Pointer(pSelect)).FselFlags&uint32(SF_Correlated) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) } // C documentation @@ -83999,9 +84399,25 @@ func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { // ** for any single row of the table with cursor iCur. In other words, the // ** expression must not refer to any non-deterministic function nor any // ** table other than iCur. +// ** +// ** Consider uncorrelated subqueries to be constants if the bAllowSubq +// ** parameter is true. // */ -func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) { - return _exprIsConst(tls, p, int32(3), iCur) +func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32, bAllowSubq int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(3) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = uintptr(0) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) + if bAllowSubq != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_exprSelectWalkTableConstant) + } else { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) + } + *(*int32)(unsafe.Pointer(bp + 40)) = iCur + _sqlite3WalkExpr(tls, bp, p) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } // C documentation @@ -84021,7 +84437,10 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** // ** (1) pExpr cannot refer to any table other than pSrc->iCursor. // ** -// ** (2) pExpr cannot use subqueries or non-deterministic functions. +// ** (2a) pExpr cannot use subqueries unless the bAllowSubq parameter is +// ** true and the subquery is non-correlated +// ** +// ** (2b) pExpr cannot use non-deterministic functions. // ** // ** (3) pSrc cannot be part of the left operand for a RIGHT JOIN. // ** (Is there some way to relax this constraint?) @@ -84047,7 +84466,7 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** which leads to incorrect answers. See also restriction (9) // ** on push-down. // */ -func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32) (r int32) { +func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32, bAllowSubq int32) (r int32) { var jj int32 var pSrc uintptr _, _ = jj, pSrc @@ -84085,7 +84504,8 @@ func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList jj++ } } - return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor) /* rules (1), (2) */ + /* Rules (1), (2a), and (2b) handled by the following: */ + return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor, bAllowSubq) } // C documentation @@ -84183,7 +84603,7 @@ func _sqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // ** a constant. // */ func _sqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit Tu8) (r int32) { - return _exprIsConst(tls, p, int32(4)+int32(isInit), 0) + return _exprIsConst(tls, uintptr(0), p, int32(4)+int32(isInit)) } // C documentation @@ -84322,13 +84742,13 @@ func _sqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) (r in // ** Return TRUE if the given string is a row-id column name. // */ func _sqlite3IsRowid(tls *libc.TLS, z uintptr) (r int32) { - if _sqlite3StrICmp(tls, z, __ccgo_ts+7899) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8024) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7907) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8032) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7913) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8038) == 0 { return int32(1) } return 0 @@ -84346,9 +84766,9 @@ func _sqlite3RowidAlias(tls *libc.TLS, pTab uintptr) (r uintptr) { var iCol, ii int32 _, _, _ = azOpt, iCol, ii azOpt = [3]uintptr{ - 0: __ccgo_ts + 7899, - 1: __ccgo_ts + 7907, - 2: __ccgo_ts + 7913, + 0: __ccgo_ts + 8024, + 1: __ccgo_ts + 8032, + 2: __ccgo_ts + 8038, } ii = 0 for { @@ -84468,13 +84888,13 @@ func _sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int // ** The argument is an IN operator with a list (not a subquery) on the // ** right-hand side. Return TRUE if that list is constant. // */ -func _sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) (r int32) { +func _sqlite3InRhsIsConstant(tls *libc.TLS, pParse uintptr, pIn uintptr) (r int32) { var pLHS uintptr var res int32 _, _ = pLHS, res pLHS = (*TExpr)(unsafe.Pointer(pIn)).FpLeft (*TExpr)(unsafe.Pointer(pIn)).FpLeft = uintptr(0) - res = _sqlite3ExprIsConstant(tls, pIn) + res = _sqlite3ExprIsConstant(tls, pParse, pIn) (*TExpr)(unsafe.Pointer(pIn)).FpLeft = pLHS return res } @@ -84630,7 +85050,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 iAddr = _sqlite3VdbeAddOp0(tls, v, int32(OP_Once)) _sqlite3OpenTable(tls, pParse, iTab, iDb, pTab, int32(OP_OpenRead)) eType = int32(IN_INDEX_ROWID) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+7917, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+8042, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) _sqlite3VdbeJumpHere(tls, v, iAddr) } else { /* Iterator variable */ affinity_ok = int32(1) @@ -84730,7 +85150,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 if colUsed == libc.Uint64FromInt32(1)<0 so that the new limit is either 1 or 0 */ db = (*TParse)(unsafe.Pointer(pParse)).Fdb - pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1724) + pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1784) if pLimit != 0 { (*TExpr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = _sqlite3PExpr(tls, pParse, int32(TK_NE), _sqlite3ExprDup(tls, db, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft, 0), pLimit) @@ -85221,7 +85641,7 @@ func _sqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int3 (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { /* If there is no pre-existing limit add a limit of 1 */ - pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8132) + pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8257) (*TSelect)(unsafe.Pointer(pSel)).FpLimit = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), pLimit, uintptr(0)) } (*TSelect)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -85608,13 +86028,13 @@ func _codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, i z = *(*uintptr)(unsafe.Pointer(pExpr + 8)) c = _sqlite3DecOrHexToI64(tls, z, bp) if c == int32(3) && !(negFlag != 0) || c == int32(2) || negFlag != 0 && *(*Ti64)(unsafe.Pointer(bp)) == int64(-libc.Int32FromInt32(1))-(libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)<= (*TAggInfo)(unsafe.Pointer(pInfo)).FnFunc { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8225, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8350, libc.VaList(bp+160, pExpr)) } else { return (*TAggInfo)(unsafe.Pointer(pInfo)).FiFirstReg + (*TAggInfo)(unsafe.Pointer(pInfo)).FnColumn + int32((*TExpr)(unsafe.Pointer(pExpr)).FiAgg) } @@ -86339,7 +86754,7 @@ expr_code_doover: if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { return (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64)))).FregResult } - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { /* SQL functions can be expensive. So try to avoid running them ** multiple times if we know they always give the same result */ return _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) @@ -86354,7 +86769,7 @@ expr_code_doover: zId = *(*uintptr)(unsafe.Pointer(pExpr + 8)) pDef = _sqlite3FindFunction(tls, db, zId, nFarg, enc, uint8(0)) if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8252, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8377, libc.VaList(bp+160, pExpr)) break } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_INLINE) != uint32(0) && pFarg != uintptr(0) { @@ -86369,7 +86784,7 @@ expr_code_doover: if !(i < nFarg) { break } - if i < int32(32) && _sqlite3ExprIsConstant(tls, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { + if i < int32(32) && _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { constMask |= libc.Uint32FromInt32(1) << i } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_NEEDCOLL) != uint32(0) && !(pColl != 0) { @@ -86459,7 +86874,7 @@ expr_code_doover: } n1 = _sqlite3ExprVectorSize(tls, pLeft2) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != n1 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7835, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7960, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) } return (*TExpr)(unsafe.Pointer(pLeft2)).FiTable + int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) case int32(TK_IN): @@ -86491,8 +86906,9 @@ expr_code_doover: if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Collate)) != libc.Uint32FromInt32(0)) { /* A TK_COLLATE Expr node without the EP_Collate tag is a so-called ** "SOFT-COLLATE" that is added to constraints that are pushed down - ** from outer queries into sub-queries by the push-down optimization. - ** Clear subtypes as subtypes may not cross a subquery boundary. + ** from outer queries into sub-queries by the WHERE-clause push-down + ** optimization. Clear subtypes as subtypes may not cross a subquery + ** boundary. */ _sqlite3ExprCode(tls, pParse, (*TExpr)(unsafe.Pointer(pExpr)).FpLeft, target) _sqlite3VdbeAddOp1(tls, v, int32(OP_ClrSubtype), target) @@ -86521,7 +86937,7 @@ expr_code_doover: _sqlite3VdbeAddOp1(tls, v, int32(OP_RealAffinity), target) } case int32(TK_VECTOR): - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6679, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6743, 0) break /* TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions ** that derive from the right-hand table of a LEFT JOIN. The @@ -86636,7 +87052,7 @@ expr_code_doover: _sqlite3VdbeResolveLabel(tls, v, endLabel) case int32(TK_RAISE): if !((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != 0) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8276, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8401, 0) return 0 } if int32((*TExpr)(unsafe.Pointer(pExpr)).FaffExpr) == int32(OE_Abort) { @@ -86756,7 +87172,7 @@ func _sqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin var r1, r2 int32 _, _ = r1, r2 pExpr = _sqlite3ExprSkipCollateAndLikely(tls, pExpr) - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { *(*int32)(unsafe.Pointer(pReg)) = 0 r2 = _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) } else { @@ -86826,7 +87242,7 @@ func _sqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // ** might choose to code the expression at initialization time. // */ func _sqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { _sqlite3ExprCodeCopy(tls, pParse, pExpr, target) @@ -86895,7 +87311,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ _sqlite3VdbeAddOp2(tls, v, int32(copyOp), j+srcReg-int32(1), target+i) } } else { - if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target+i) } else { inReg = _sqlite3ExprCodeTarget(tls, pParse, pExpr, target+i) @@ -88192,17 +88608,15 @@ func _agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnColumn && (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } else { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnFunc && (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } @@ -88752,8 +89166,8 @@ func _sqlite3FirstAvailableRegister(tls *libc.TLS, pParse uintptr, iMin int32) ( func _isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) - if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6527, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8326, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6591, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8451, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -88772,9 +89186,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, bp := tls.Alloc(48) defer tls.Free(48) (*TParse)(unsafe.Pointer(pParse)).FcolNamesSet = uint8(1) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8354, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8479, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8529, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8654, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) } } @@ -88790,9 +89204,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, func _renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8703, libc.VaList(bp+8, zDb, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8828, libc.VaList(bp+8, zDb, zDb)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8850, 0) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8975, 0) } } @@ -88848,7 +89262,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName ** in database iDb. If so, this is an error. */ if _sqlite3FindTable(tls, db, zName, zDb) != 0 || _sqlite3FindIndex(tls, db, zName, zDb) != 0 || _sqlite3IsShadowTableOf(tls, db, pTab, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9001, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9126, libc.VaList(bp+8, zName)) goto exit_rename_table } /* Make sure it is not a system table being altered, or a reserved name @@ -88857,11 +89271,11 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { goto exit_rename_table } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9060, zName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9185, zName) { goto exit_rename_table } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9066, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9191, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table } /* Invoke the authorization callback. */ @@ -88891,21 +89305,21 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName nTabName = _sqlite3Utf8CharLen(tls, zTabName, -int32(1)) /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in ** the schema to use the new table name. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9093, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9218, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) /* Update the tbl_name and name columns of the sqlite_schema table ** as required. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9277, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9402, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) /* If the sqlite_sequence table exists in this database, then update ** it with the new table name. */ - if _sqlite3FindTable(tls, db, __ccgo_ts+9582, zDb) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9598, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if _sqlite3FindTable(tls, db, __ccgo_ts+9707, zDb) != 0 { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9723, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* If the table being renamed is not itself part of the temp database, ** edit view and trigger definitions within the temp database ** as required. */ if iDb != int32(1) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9656, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9781, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) } /* If this is a virtual table, invoke the xRename() function if ** one is defined. The xRename() callback will modify the names @@ -88921,7 +89335,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName _sqlite3VdbeAddOp4(tls, v, int32(OP_VRename), i, 0, 0, pVTab, -int32(11)) } _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+9921, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+10046, 0) goto exit_rename_table exit_rename_table: ; @@ -88938,7 +89352,7 @@ exit_rename_table: func _sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9934, libc.VaList(bp+8, zErr, zDb, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10059, libc.VaList(bp+8, zErr, zDb, zTab)) } // C documentation @@ -88978,11 +89392,11 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** column must not be NULL. */ if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9972, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10097, 0) return } if (*TTable)(unsafe.Pointer(pNew)).FpIndex != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10004, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10129, 0) return } if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) == 0 { @@ -88998,10 +89412,10 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpFKey != 0 && pDflt != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10031) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10156) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && !(pDflt != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10090) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10215) } /* Ensure the default expression is something that sqlite3ValueFromExpr() ** can handle (i.e. not CURRENT_TIME etc.) @@ -89013,13 +89427,13 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr return } if !(*(*uintptr)(unsafe.Pointer(bp)) != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10143) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10268) } _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp))) } } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_STORED) != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10189) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10314) } } /* Modify the CREATE TABLE statement. */ @@ -89033,7 +89447,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } /* substr() operations on characters, but addColOffset is in bytes. So we ** have to use printf() to translate between these units: */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10216, libc.VaList(bp+16, zDb, (*(*struct { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10341, libc.VaList(bp+16, zDb, (*(*struct { FaddColOffset int32 FpFKey uintptr FpDfltList uintptr @@ -89061,7 +89475,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterAdd)) /* Verify that constraints are still satisfied */ if (*TTable)(unsafe.Pointer(pNew)).FpCheck != uintptr(0) || int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Strict) != uint32(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10362, libc.VaList(bp+16, zTab, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10487, libc.VaList(bp+16, zTab, zDb)) } } } @@ -89099,12 +89513,12 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { goto exit_begin_add_column } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10715, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10840, 0) goto exit_begin_add_column } /* Make sure this is not an attempt to ALTER a view. */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10749, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10874, 0) goto exit_begin_add_column } if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { @@ -89128,7 +89542,7 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { (*TTable)(unsafe.Pointer(pNew)).FnCol = (*TTable)(unsafe.Pointer(pTab)).FnCol nAlloc = (int32((*TTable)(unsafe.Pointer(pNew)).FnCol)-int32(1))/int32(8)*int32(8) + int32(8) (*TTable)(unsafe.Pointer(pNew)).FaCol = _sqlite3DbMallocZero(tls, db, uint64(16)*uint64(nAlloc)) - (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10779, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10904, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !((*TTable)(unsafe.Pointer(pNew)).FaCol != 0) || !((*TTable)(unsafe.Pointer(pNew)).FzName != 0) { goto exit_begin_add_column } @@ -89189,18 +89603,18 @@ func _isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) (r i _, _ = zType, v1 zType = uintptr(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10798 + zType = __ccgo_ts + 10923 } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 10803 + zType = __ccgo_ts + 10928 } if zType != 0 { if bDrop != 0 { - v1 = __ccgo_ts + 10817 + v1 = __ccgo_ts + 10942 } else { - v1 = __ccgo_ts + 10834 + v1 = __ccgo_ts + 10959 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10852, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10977, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -89261,11 +89675,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld iCol++ } if iCol == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10870, libc.VaList(bp+8, pOld)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10995, libc.VaList(bp+8, pOld)) goto exit_rename_column } /* Ensure the schema contains no double-quoted strings */ - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1650, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1664, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1))) /* Do the rename operation using a recursive UPDATE statement that ** uses the sqlite_rename_column() SQL function to compute the new @@ -89277,11 +89691,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld goto exit_rename_column } bQuote = int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pNew)).Fz)))]) & int32(0x80) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10891, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11073, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11016, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11198, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+9921, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+10046, int32(1)) goto exit_rename_column exit_rename_column: ; @@ -89757,11 +90171,11 @@ func _renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType u zT = Xsqlite3_value_text(tls, pType) zN = Xsqlite3_value_text(tls, pObject) if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - v1 = __ccgo_ts + 11204 + v1 = __ccgo_ts + 11329 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11206, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) + zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11331, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, zErr) } @@ -89838,8 +90252,8 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin if zSql == uintptr(0) { return int32(SQLITE_NOMEM) } - if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11229, int32(7)) != 0 { - return _sqlite3CorruptError(tls, int32(116682)) + if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11354, int32(7)) != 0 { + return _sqlite3CorruptError(tls, int32(117285)) } if bTemp != 0 { v1 = int32(1) @@ -89855,7 +90269,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin rc = int32(SQLITE_NOMEM) } if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = _sqlite3CorruptError(tls, int32(116693)) + rc = _sqlite3CorruptError(tls, int32(117296)) } (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0) return rc @@ -89894,7 +90308,7 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, ** ALTER TABLE statement was quoted (bQuote==1), then set zNew to ** point to zQuot so that all substitutions are made using the ** quoted version of the new column name. */ - zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11237, libc.VaList(bp+8, zNew)) + zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11362, libc.VaList(bp+8, zNew)) if zQuot == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -89939,11 +90353,11 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = 0 _sqlite3Dequote(tls, zBuf1) if int32(*(*int8)(unsafe.Pointer((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == int32('\'') { - v1 = __ccgo_ts + 11204 + v1 = __ccgo_ts + 11329 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11243, libc.VaList(bp+8, zBuf1, v1)) + Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11368, libc.VaList(bp+8, zBuf1, v1)) zReplace = zBuf2 nReplace = uint32(_sqlite3Strlen30(tls, zReplace)) } @@ -90428,7 +90842,7 @@ renameColumnFunc_done: Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv))) } else { if (*(*TParse)(unsafe.Pointer(bp + 32))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1650, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) + _renameColumnParseError(tls, context, __ccgo_ts+1664, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -90654,7 +91068,7 @@ func _renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintpt Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + 3*8))) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1650, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) + _renameColumnParseError(tls, context, __ccgo_ts+1664, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -90916,7 +91330,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { /* This can happen if the sqlite_schema table is corrupt */ - rc = _sqlite3CorruptError(tls, int32(117652)) + rc = _sqlite3CorruptError(tls, int32(118255)) goto drop_column_done } pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName) @@ -90933,7 +91347,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr (*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz-- } } - zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11248, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) + zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11373, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -int32(1), uintptr(-libc.Int32FromInt32(1))) Xsqlite3_free(tls, zNew) goto drop_column_done @@ -90960,8 +91374,9 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName bp := tls.Alloc(48) defer tls.Free(48) var addr, i, iCol, iColPos, iCur, iDb, iPos, nField, reg, regOut, regRec, v2, v4, v7 int32 + var aff int8 var db, pPk, pTab, v, zCol, zDb, v1, v3, v5, v8 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, aff, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Database containing pTab ("main" etc.) */ zCol = uintptr(0) /* Index of column zCol in pTab->aCol[] */ /* Look up the table being altered. */ @@ -90987,23 +91402,23 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName } iCol = _sqlite3ColumnIndex(tls, pTab, zCol) if iCol < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10870, libc.VaList(bp+8, pName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10995, libc.VaList(bp+8, pName)) goto exit_drop_column } /* Do not allow the user to drop a PRIMARY KEY column or a column ** constrained by a UNIQUE constraint. */ if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_PRIMKEY)|libc.Int32FromInt32(COLFLAG_UNIQUE)) != 0 { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - v1 = __ccgo_ts + 11255 + v1 = __ccgo_ts + 11380 } else { - v1 = __ccgo_ts + 5591 + v1 = __ccgo_ts + 5655 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11267, libc.VaList(bp+8, v1, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11392, libc.VaList(bp+8, v1, zCol)) goto exit_drop_column } /* Do not allow the number of columns to go to zero */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) <= int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11295, libc.VaList(bp+8, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11420, libc.VaList(bp+8, zCol)) goto exit_drop_column } /* Edit the sqlite_schema table */ @@ -91013,12 +91428,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_ALTER_TABLE), zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol) != 0 { goto exit_drop_column } - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1650, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1664, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1))) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11343, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11468, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11464, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11589, int32(1)) /* Edit rows of table on disk */ if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 && int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { pPk = uintptr(0) @@ -91076,7 +91491,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if i == int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regOut) } else { + aff = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity + if int32(aff) == int32(SQLITE_AFF_REAL) { + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = int8(SQLITE_AFF_NUMERIC) + } _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab, iCur, i, regOut) + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = aff } nField++ } @@ -91121,27 +91541,27 @@ var _aAlterTableFuncs = [5]TFuncDef{ 0: { FnArg: int8(9), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11482, + FzName: __ccgo_ts + 11607, }, 1: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11503, + FzName: __ccgo_ts + 11628, }, 2: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11523, + FzName: __ccgo_ts + 11648, }, 3: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11542, + FzName: __ccgo_ts + 11667, }, 4: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11561, + FzName: __ccgo_ts + 11686, }, } @@ -91352,7 +91772,7 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW ** side-effect of the CREATE TABLE statement is to leave the rootpage ** of the new table in register pParse->regRoot. This is important ** because the OpenWrite opcode below will be needing it. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11664, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11789, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) aRoot[i] = uint32((*TParse)(unsafe.Pointer(pParse)).FregRoot) aCreateTbl[i] = uint8(OPFLAG_P2ISREG) } @@ -91363,10 +91783,10 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW aRoot[i] = (*TTable)(unsafe.Pointer(pStat)).Ftnum _sqlite3TableLock(tls, pParse, iDb, aRoot[i], uint8(1), zTab) if zWhere != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11687, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11812, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11717, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11842, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { /* The sqlite_stat[134] table already exists. Delete all rows. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Clear), int32(aRoot[i]), iDb) @@ -91398,15 +91818,15 @@ var _aTable = [3]struct { FzCols uintptr }{ 0: { - FzName: __ccgo_ts + 11584, - FzCols: __ccgo_ts + 11597, + FzName: __ccgo_ts + 11709, + FzCols: __ccgo_ts + 11722, }, 1: { - FzName: __ccgo_ts + 11610, - FzCols: __ccgo_ts + 11623, + FzName: __ccgo_ts + 11735, + FzCols: __ccgo_ts + 11748, }, 2: { - FzName: __ccgo_ts + 11651, + FzName: __ccgo_ts + 11776, }, } @@ -91708,7 +92128,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statInitFuncdef = TFuncDef{ FnArg: int8(4), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11735, + FzName: __ccgo_ts + 11860, } func init() { @@ -92082,7 +92502,7 @@ func _statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statPushFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(2) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11745, + FzName: __ccgo_ts + 11870, } func init() { @@ -92132,7 +92552,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { v1 = (*TStatAccum)(unsafe.Pointer(p)).FnRow } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11755, libc.VaList(bp+72, v1)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11880, libc.VaList(bp+72, v1)) i = 0 for { if !(i < (*TStatAccum)(unsafe.Pointer(p)).FnKeyCol) { @@ -92143,7 +92563,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if iVal == uint64(2) && (*TStatAccum)(unsafe.Pointer(p)).FnRow*uint64(10) <= nDistinct*uint64(11) { iVal = uint64(1) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11760, libc.VaList(bp+72, iVal)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11885, libc.VaList(bp+72, iVal)) goto _2 _2: ; @@ -92182,7 +92602,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if !(i1 < (*TStatAccum)(unsafe.Pointer(p)).FnCol) { break } - Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11766, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) + Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11891, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) goto _3 _3: ; @@ -92200,7 +92620,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statGetFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(1) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11772, + FzName: __ccgo_ts + 11897, } func init() { @@ -92221,9 +92641,9 @@ func _callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, re // */ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { var aGotoChng, db, pColl, pIdx, pPk, pStat1, pX, v, zIdxName uintptr - var addrIsNull, addrNext, addrNextRow, addrRewind, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 + var addrGotoEnd, addrIsNull, addrNext, addrNextRow, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 var needTableCnt, seekOp Tu8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrIsNull, addrNext, addrNextRow, addrRewind, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrGotoEnd, addrIsNull, addrNext, addrNextRow, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Loop counter */ jZeroRows = -int32(1) /* Index of database containing pTab */ needTableCnt = uint8(1) @@ -92266,7 +92686,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Do not gather statistics on views or virtual tables */ return } - if Xsqlite3_strlike(tls, __ccgo_ts+11781, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, __ccgo_ts+11906, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { /* Do not gather statistics on system tables */ return } @@ -92280,7 +92700,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint return } (*TTable)(unsafe.Pointer(pStat1)).FzName = pStat1 + 1*104 - libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11584, uint64(13)) + libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11709, uint64(13)) (*TTable)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*TTable)(unsafe.Pointer(pStat1)).FiPKey = int16(-int32(1)) _sqlite3VdbeAddOp4(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Noop), 0, 0, 0, pStat1, -int32(6)) @@ -92334,9 +92754,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* ** Pseudo-code for loop that calls stat_push(): ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() ** goto chng_addr_0; ** ** next_row: @@ -92370,32 +92795,29 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Open a read-only cursor on the index being analyzed. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenRead), iIdxCur, int32((*TIndex)(unsafe.Pointer(pIdx)).Ftnum), iDb) _sqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - /* Invoke the stat_init() function. The arguments are: + /* Implementation of the following: ** + ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() + ** goto chng_addr_0; + */ + _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + /* Arguments to stat_init(): ** (1) the number of columns in the index including the rowid ** (or for a WITHOUT ROWID table, the number of PK columns), ** (2) the number of columns in the key without the rowid/pk - ** (3) estimated number of rows in the index, - */ + ** (3) estimated number of rows in the index. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), nCol, regStat+int32(1)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol), regRowid) - if (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0) { - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iIdxCur, regTemp) - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - } else { - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, int32(1)) - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) != uint32(0))) _sqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat+int32(1), regStat, int32(4), uintptr(unsafe.Pointer(&_statInitFuncdef)), 0) - /* Implementation of the following: - ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; - ** regChng = 0 - ** goto next_push_0; - ** - */ + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regChng) addrNextRow = _sqlite3VdbeCurrentAddr(tls, v) if nColTest > 0 { @@ -92504,8 +92926,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), iIdxCur, addrNextRow) } /* Add the entry to the stat1 table. */ + if (*TIndex)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { + /* Partial indexes might get a zero-entry in sqlite_stat1. But + ** an empty table is omitted from sqlite_stat1. */ + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + addrGotoEnd = 0 + } _callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11791, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11916, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP4(tls, v, -int32(1), pStat1, -int32(5)) @@ -92524,6 +92952,11 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint v18 = int32(OP_NotFound) } seekOp = uint8(v18) + /* No STAT4 data is generated if the number of rows is zero */ + if addrGotoEnd == 0 { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Cast), regStat1, int32(SQLITE_AFF_INTEGER)) + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) + } if doOnce != 0 { mxCol = nCol /* Compute the maximum number of columns in any index */ @@ -92576,7 +93009,9 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeJumpHere(tls, v, addrIsNull) } /* End of analysis */ - _sqlite3VdbeJumpHere(tls, v, addrRewind) + if addrGotoEnd != 0 { + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + } goto _13 _13: ; @@ -92589,7 +93024,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iTabCur, regStat1) jZeroRows = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regIdxname) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11791, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11916, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -92661,9 +93096,9 @@ func _analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr iStatCur = (*TParse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52)) += int32(3) if pOnlyIdx != 0 { - _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11795) + _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11920) } else { - _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11799) + _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11924) } _analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, (*TParse)(unsafe.Pointer(pParse)).FnMem+int32(1), (*TParse)(unsafe.Pointer(pParse)).FnTab) _loadAnalysis(tls, pParse, iDb) @@ -92792,7 +93227,7 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, _, _, _, _, _, _ = c, i, sz, v, z, v2 z = zIntArray if z == uintptr(0) { - z = __ccgo_ts + 1650 + z = __ccgo_ts + 1664 } i = 0 for { @@ -92827,17 +93262,17 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, __ccgo_ts+11803, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11928, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 2, 0x4) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11814, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11939, z) == 0 { sz = _sqlite3Atoi(tls, z+uintptr(3)) if sz < int32(2) { sz = int32(2) } (*TIndex)(unsafe.Pointer(pIndex)).FszIdxRow = _sqlite3LogEst(tls, uint64(sz)) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11824, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11949, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 6, 0x40) } } @@ -93213,11 +93648,11 @@ func _loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) (r int32) { _, _, _, _ = pStat4, rc, v1, v2 rc = SQLITE_OK if v2 = (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0); v2 { - v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11610, zDb) + v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11735, zDb) pStat4 = v1 } if v2 && v1 != uintptr(0) && int32((*TTable)(unsafe.Pointer(pStat4)).FeTabType) == TABTYP_NORM { - rc = _loadStatTbl(tls, db, __ccgo_ts+11836, __ccgo_ts+11905, zDb) + rc = _loadStatTbl(tls, db, __ccgo_ts+11961, __ccgo_ts+12030, zDb) } return rc } @@ -93283,10 +93718,10 @@ func _sqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) (r int32) { /* Load new statistics out of the sqlite_stat1 table */ (*(*TanalysisInfo)(unsafe.Pointer(bp))).Fdb = db (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName - v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11584, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) + v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11709, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) pStat1 = v3 if v3 != 0 && int32((*TTable)(unsafe.Pointer(pStat1)).FeTabType) == TABTYP_NORM { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+11957, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+12082, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -93399,7 +93834,7 @@ func _resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) (r int32) { // ** database iDb attached to handle db. // */ func _sqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) (r int32) { - return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6587, zName) == 0) + return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6651, zName) == 0) } // C documentation @@ -93441,21 +93876,21 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if zFile == uintptr(0) { - zFile = __ccgo_ts + 1650 + zFile = __ccgo_ts + 1664 } if zName == uintptr(0) { - zName = __ccgo_ts + 1650 + zName = __ccgo_ts + 1664 } if int32(uint32(*(*uint8)(unsafe.Pointer(db + 192 + 8))&0x4>>2)) != 0 { /* 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 + 40)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+3969) + *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+4033) if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { return } - rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+11998, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) + rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12123, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) if rc == SQLITE_OK { pNewSchema = _sqlite3SchemaGet(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40))) if pNewSchema != 0 { @@ -93486,7 +93921,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { ** * Specified database name already being used. */ if (*Tsqlite3)(unsafe.Pointer(db)).FnDb >= *(*int32)(unsafe.Pointer(db + 136 + 7*4))+int32(2) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12001, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12126, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) goto attach_error } i = 0 @@ -93495,7 +93930,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { break } if _sqlite3DbIsNamed(tls, db, i, zName) != 0 { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12038, libc.VaList(bp+56, zName)) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12163, libc.VaList(bp+56, zName)) goto attach_error } goto _1 @@ -93543,7 +93978,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FnoSharedCache = uint8(0) if rc == int32(SQLITE_CONSTRAINT) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12068, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12193, 0) } else { if rc == SQLITE_OK { (*TDb)(unsafe.Pointer(pNew)).FpSchema = _sqlite3SchemaGet(tls, db, (*TDb)(unsafe.Pointer(pNew)).FpBt) @@ -93551,7 +93986,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { rc = int32(SQLITE_NOMEM) } else { if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0 && int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12097, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12222, 0) rc = int32(SQLITE_ERROR) } } @@ -93595,10 +94030,10 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)<= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12193, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12318, libc.VaList(bp+136, zName)) goto detach_error } if i < int32(2) { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12214, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12339, libc.VaList(bp+136, zName)) goto detach_error } if _sqlite3BtreeTxnState(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != SQLITE_TXN_NONE || _sqlite3BtreeIsInBackup(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != 0 { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12240, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12365, libc.VaList(bp+136, zName)) goto detach_error } /* If any TEMP triggers reference the schema being detached, move those @@ -93763,7 +94198,7 @@ func _sqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { var _detach_func = TFuncDef{ FnArg: int8(1), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12262, + FzName: __ccgo_ts + 12387, } func init() { @@ -93785,7 +94220,7 @@ func _sqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, p var _attach_func = TFuncDef{ FnArg: int8(3), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12276, + FzName: __ccgo_ts + 12401, } func init() { @@ -93811,7 +94246,7 @@ func _fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) (r int32) { if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer((*TDbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit1.Fbusy != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } else { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12290, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12415, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) return int32(WRC_Abort) } } @@ -93845,7 +94280,7 @@ func _fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) (r int32) { if int32((*TDbFixer)(unsafe.Pointer(pFix)).FbTemp) == 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != _sqlite3FindDbName(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12314, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12439, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return int32(WRC_Abort) } _sqlite3DbFree(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) @@ -94061,7 +94496,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // ** user-supplied authorization function returned an illegal value. // */ func _sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12360, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12485, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) } @@ -94089,11 +94524,11 @@ func _sqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, int32(SQLITE_READ), zTab, zCol, zDb, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12383, libc.VaList(bp+8, zTab, zCol)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12508, libc.VaList(bp+8, zTab, zCol)) if (*Tsqlite3)(unsafe.Pointer(db)).FnDb > int32(2) || iDb != 0 { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12389, libc.VaList(bp+8, zDb, z)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12514, libc.VaList(bp+8, zDb, z)) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12395, libc.VaList(bp+8, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12520, libc.VaList(bp+8, z)) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != int32(SQLITE_IGNORE) && rc != SQLITE_OK { @@ -94153,7 +94588,7 @@ func _sqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName } else { - zCol = __ccgo_ts + 7907 + zCol = __ccgo_ts + 8032 } } if int32(SQLITE_IGNORE) == _sqlite3AuthReadCol(tls, pParse, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -94188,7 +94623,7 @@ func _sqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, ** parameters can be either NULL or a string. */ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12422, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12547, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != SQLITE_OK && rc != int32(SQLITE_IGNORE) { @@ -94609,21 +95044,21 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { /* No match against the official names. But always match "main" ** to schema 0 as a legacy fallback. */ - if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6587) == 0 { + if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6651) == 0 { i = 0 } else { return uintptr(0) } } p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, zName) - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6527, int32(7)) == 0 { + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6591, int32(7)) == 0 { if i == int32(1) { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6554+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6573+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6068+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6535) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6618+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6637+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6132+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6599) } } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6573+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6068) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6637+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6132) } } } @@ -94653,12 +95088,12 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp ; i++ } - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6527, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6573+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6068) + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6591, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6637+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6132) } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6554+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6535) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6618+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6599) } } } @@ -94696,7 +95131,7 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt ** can be an eponymous virtual table. */ if int32((*TParse)(unsafe.Pointer(pParse)).FprepFlags)&int32(SQLITE_PREPARE_NO_VTAB) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 { pMod = _sqlite3HashFind(tls, db+576, zName) - if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12437, int32(7)) == 0 { + if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12562, int32(7)) == 0 { pMod = _sqlite3PragmaVtabRegister(tls, db, zName) } if pMod != 0 && _sqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0 { @@ -94714,15 +95149,15 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt } if p == uintptr(0) { if flags&uint32(LOCATE_VIEW) != 0 { - v1 = __ccgo_ts + 12445 + v1 = __ccgo_ts + 12570 } else { - v1 = __ccgo_ts + 12458 + v1 = __ccgo_ts + 12583 } zMsg = v1 if zDbase != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6791, libc.VaList(bp+8, zMsg, zDbase, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6855, libc.VaList(bp+8, zMsg, zDbase, zName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6801, libc.VaList(bp+8, zMsg, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6926, libc.VaList(bp+8, zMsg, zName)) } } else { } @@ -94760,12 +95195,12 @@ func _sqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags Tu32, p uintpt // ** names into the new preferred names, as appropriate. // */ func _sqlite3PreferredTableName(tls *libc.TLS, zName uintptr) (r uintptr) { - if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6527, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6068+7) == 0 { - return __ccgo_ts + 6573 + if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6591, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6132+7) == 0 { + return __ccgo_ts + 6637 } - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6535+7) == 0 { - return __ccgo_ts + 6554 + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6599+7) == 0 { + return __ccgo_ts + 6618 } } return zName @@ -95290,7 +95725,7 @@ func _sqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { var v uintptr _ = v v = _sqlite3GetVdbe(tls, p) - _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6068) + _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6132) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_OpenWrite), 0, int32(SCHEMA_ROOT), iDb, int32(5)) if (*TParse)(unsafe.Pointer(p)).FnTab == 0 { (*TParse)(unsafe.Pointer(p)).FnTab = int32(1) @@ -95322,7 +95757,7 @@ func _sqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) { } /* "main" is always an acceptable alias for the primary database ** even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. */ - if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6587, zName) { + if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6651, zName) { break } goto _1 @@ -95380,13 +95815,13 @@ func _sqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12472, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12597, 0) return -int32(1) } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = _sqlite3FindDb(tls, db, pName1) if iDb < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12489, libc.VaList(bp+8, pName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12614, libc.VaList(bp+8, pName1)) return -int32(1) } } else { @@ -95430,12 +95865,12 @@ func _sqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit))) != 0 || Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 1*8))) != 0 || Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 2*8))) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1650, 0) /* corruptSchema() will supply the error */ + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1664, 0) /* corruptSchema() will supply the error */ return int32(SQLITE_ERROR) } } else { - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6527, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12509, libc.VaList(bp+8, zName)) + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6591, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12634, libc.VaList(bp+8, zName)) return int32(SQLITE_ERROR) } } @@ -95650,9 +96085,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui /* Special case: Parsing the sqlite_schema or sqlite_temp_schema schema */ iDb = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6535 + v1 = __ccgo_ts + 6599 } else { - v1 = __ccgo_ts + 6068 + v1 = __ccgo_ts + 6132 } zName = _sqlite3DbStrDup(tls, db, v1) *(*uintptr)(unsafe.Pointer(bp)) = pName1 @@ -95665,7 +96100,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 && (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) && iDb != int32(1) { /* If creating a temp table, the name may not be qualified. Unless ** the database name is "temp" anyway. */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12551, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12676, 0) return } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 { @@ -95681,9 +96116,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui return } if isView != 0 { - v2 = __ccgo_ts + 10798 + v2 = __ccgo_ts + 10923 } else { - v2 = __ccgo_ts + 9060 + v2 = __ccgo_ts + 9185 } if _sqlite3CheckObjectName(tls, pParse, zName, v2, zName) != 0 { goto begin_table_error @@ -95693,9 +96128,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui } zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp == int32(1) { - v3 = __ccgo_ts + 6535 + v3 = __ccgo_ts + 6599 } else { - v3 = __ccgo_ts + 6068 + v3 = __ccgo_ts + 6132 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto begin_table_error @@ -95719,11 +96154,11 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if pTable != 0 { if !(noErr != 0) { if int32((*TTable)(unsafe.Pointer(pTable)).FeTabType) == int32(TABTYP_VIEW) { - v4 = __ccgo_ts + 10798 + v4 = __ccgo_ts + 10923 } else { - v4 = __ccgo_ts + 9060 + v4 = __ccgo_ts + 9185 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12592, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12717, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) _sqlite3ForceNotReadOnly(tls, pParse) @@ -95731,7 +96166,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui goto begin_table_error } if _sqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12613, libc.VaList(bp+16, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12738, libc.VaList(bp+16, zName)) goto begin_table_error } } @@ -95883,7 +96318,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { _, _, _ = db, pHash, pRet db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TParse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12648, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12773, 0) } else { } (*TParse)(unsafe.Pointer(pParse)).FbReturning = uint8(1) @@ -95899,7 +96334,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12682, libc.VaList(bp+8, pParse)) + Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12807, libc.VaList(bp+8, pParse)) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.FzName = pRet + 196 (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Fop = uint8(TK_RETURNING) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = uint8(TRIGGER_AFTER) @@ -95946,7 +96381,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok return } if int32((*TTable)(unsafe.Pointer(p)).FnCol)+int32(1) > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12702, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12827, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) return } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -95956,12 +96391,12 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok ** by the parser, we can sometimes end up with a typename that ends ** with "generated always". Check for this case and omit the surplus ** text. */ - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12725, int32(6)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12850, int32(6)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(6) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1)))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- } - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12732, int32(9)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12857, int32(9)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(9) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1)))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- @@ -96010,7 +96445,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok break } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FhName) == int32(hName) && _sqlite3StrICmp(tls, z, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FzCnName) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12742, libc.VaList(bp+40, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12867, libc.VaList(bp+40, z)) _sqlite3DbFree(tls, db, z) return } @@ -96218,10 +96653,10 @@ func _sqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar isInit = libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) != int32(1)) pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(p)).FnCol)-int32(1))*16 if !(_sqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12768, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12893, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12813, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12938, 0) } else { libc.Xmemset(tls, bp, 0, uint64(72)) (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_SPAN) @@ -96279,7 +96714,7 @@ func _makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { p1 = pCol + 14 *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(COLFLAG_PRIMKEY)) if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12854, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12979, 0) } } @@ -96316,7 +96751,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError goto primary_key_exit } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasPrimaryKey) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12906, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13031, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit } *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_HasPrimaryKey) @@ -96372,7 +96807,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError _sqlite3HasExplicitNulls(tls, pParse, pList) } else { if autoInc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12947, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13072, 0) } else { _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), uintptr(0), sortOrder, 0, uint8(SQLITE_IDXTYPE_PRIMARYKEY)) pList = uintptr(0) @@ -96488,17 +96923,17 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui } pCol = (*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-int32(1))*16 if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) == int32(PARSE_MODE_DECLARE_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13003, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13128, 0) goto generated_done } if int32((*TColumn)(unsafe.Pointer(pCol)).FiDflt) > 0 { goto generated_error } if pType != 0 { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13046, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13171, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { /* no-op */ } else { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13054, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13179, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { eType = uint8(COLFLAG_STORED) } else { goto generated_error @@ -96530,7 +96965,7 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui goto generated_error generated_error: ; - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13061, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13186, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) goto generated_done generated_done: ; @@ -96693,13 +97128,13 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { } n += _identLength(tls, (*TTable)(unsafe.Pointer(p)).FzName) if n < int32(50) { - zSep = __ccgo_ts + 1650 - zSep2 = __ccgo_ts + 13092 - zEnd = __ccgo_ts + 5108 + zSep = __ccgo_ts + 1664 + zSep2 = __ccgo_ts + 13217 + zEnd = __ccgo_ts + 5172 } else { - zSep = __ccgo_ts + 13094 - zSep2 = __ccgo_ts + 13098 - zEnd = __ccgo_ts + 13103 + zSep = __ccgo_ts + 13219 + zSep2 = __ccgo_ts + 13223 + zEnd = __ccgo_ts + 13228 } n += int32(35) + int32(6)*int32((*TTable)(unsafe.Pointer(p)).FnCol) zStmt = _sqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -96707,7 +97142,7 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { _sqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13106, 0) + Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13231, 0) *(*int32)(unsafe.Pointer(bp)) = _sqlite3Strlen30(tls, zStmt) _identPut(tls, zStmt, bp, (*TTable)(unsafe.Pointer(p)).FzName) v2 = *(*int32)(unsafe.Pointer(bp)) @@ -96733,17 +97168,17 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { i++ pCol += 16 } - Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3797, libc.VaList(bp+16, zEnd)) + Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3861, libc.VaList(bp+16, zEnd)) return zStmt } var _azType1 = [6]uintptr{ - 0: __ccgo_ts + 1650, - 1: __ccgo_ts + 13120, - 2: __ccgo_ts + 13126, - 3: __ccgo_ts + 13131, - 4: __ccgo_ts + 13136, - 5: __ccgo_ts + 13126, + 0: __ccgo_ts + 1664, + 1: __ccgo_ts + 13245, + 2: __ccgo_ts + 13251, + 3: __ccgo_ts + 13256, + 4: __ccgo_ts + 13261, + 5: __ccgo_ts + 13251, } // C documentation @@ -97317,13 +97752,13 @@ func _sqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts Tu32, pSelect uintptr) { bp := tls.Alloc(112) defer tls.Free(112) - var addrInsLoop, addrTop, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v4, v6, v8 int32 + var addrInsLoop, addrTop, iCsr, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v10, v4, v6, v8 int32 var colFlags Tu32 - var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v5, v7, v9 uintptr - var v10 Ti16 + var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v13, v5, v7, v9 uintptr + var v12 Ti16 var _ /* dest at bp+0 */ TSelectDest - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v4, v5, v6, v7, v8, v9 /* The new table */ - db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iCsr, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v12, v13, v4, v5, v6, v7, v8, v9 /* The new table */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ if pEnd == uintptr(0) && pSelect == uintptr(0) { return } @@ -97345,7 +97780,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if pSelect != 0 || !(int32((*TTable)(unsafe.Pointer(p)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) && (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1650, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1664, 0) return } (*TTable)(unsafe.Pointer(p)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum @@ -97372,9 +97807,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(ii)*16 if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf0>>4)) == COLTYPE_CUSTOM { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_HASTYPE) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13142, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1650))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13267, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1664))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13175, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13300, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } return } else { @@ -97395,11 +97830,11 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* Special processing for WITHOUT ROWID Tables */ if tabOpts&uint32(TF_WithoutRowid) != 0 { if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13202, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13327, 0) return } if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasPrimaryKey) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13252, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13377, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) return } *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) @@ -97446,7 +97881,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ii1++ } if nNG == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13284, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13409, 0) return } } @@ -97480,12 +97915,12 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if int32((*TTable)(unsafe.Pointer(p)).FeTabType) == TABTYP_NORM { /* A regular table */ - zType = __ccgo_ts + 9060 - zType2 = __ccgo_ts + 13328 + zType = __ccgo_ts + 9185 + zType2 = __ccgo_ts + 13453 } else { /* A view */ - zType = __ccgo_ts + 10798 - zType2 = __ccgo_ts + 13334 + zType = __ccgo_ts + 10923 + zType2 = __ccgo_ts + 13459 } /* If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT ** statement to populate the new table. The root-page number for the @@ -97500,28 +97935,31 @@ func _sqlite3EndTable(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 { /* A table that describes the SELECT results */ + if pSelect != 0 { /* Write cursor on the new table */ if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) (*TParse)(unsafe.Pointer(pParse)).FnErr++ return } - v5 = pParse + 56 - *(*int32)(unsafe.Pointer(v5))++ + v5 = pParse + 52 v4 = *(*int32)(unsafe.Pointer(v5)) - regYield = v4 + *(*int32)(unsafe.Pointer(v5))++ + iCsr = v4 v7 = pParse + 56 *(*int32)(unsafe.Pointer(v7))++ v6 = *(*int32)(unsafe.Pointer(v7)) - regRec = v6 + regYield = v6 v9 = pParse + 56 *(*int32)(unsafe.Pointer(v9))++ v8 = *(*int32)(unsafe.Pointer(v9)) - regRowid = v8 + regRec = v8 + v11 = pParse + 56 + *(*int32)(unsafe.Pointer(v11))++ + v10 = *(*int32)(unsafe.Pointer(v11)) + regRowid = v10 _sqlite3MayAbort(tls, pParse) - _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), int32(1), (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) + _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), iCsr, (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_P2ISREG)) - (*TParse)(unsafe.Pointer(pParse)).FnTab = int32(2) addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -97531,9 +97969,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if pSelTab == uintptr(0) { return } - v10 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol - (*TTable)(unsafe.Pointer(p)).FnNVCol = v10 - (*TTable)(unsafe.Pointer(p)).FnCol = v10 + v12 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol + (*TTable)(unsafe.Pointer(p)).FnNVCol = v12 + (*TTable)(unsafe.Pointer(p)).FnCol = v12 (*TTable)(unsafe.Pointer(p)).FaCol = (*TTable)(unsafe.Pointer(pSelTab)).FaCol (*TTable)(unsafe.Pointer(pSelTab)).FnCol = 0 (*TTable)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) @@ -97548,33 +97986,33 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr addrInsLoop = _sqlite3VdbeAddOp1(tls, v, int32(OP_Yield), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSDParm) _sqlite3VdbeAddOp3(tls, v, int32(OP_MakeRecord), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst, (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst, regRec) _sqlite3TableAffinity(tls, v, p, 0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), int32(1), regRowid) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), int32(1), regRec, regRowid) + _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iCsr, regRowid) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iCsr, regRec, regRowid) _sqlite3VdbeGoto(tls, v, addrInsLoop) _sqlite3VdbeJumpHere(tls, v, addrInsLoop) - _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), int32(1)) + _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), iCsr) } /* Compute the complete text of the CREATE statement */ if pSelect != 0 { zStmt = _createTableStmt(tls, db, p) } else { if tabOpts != 0 { - v11 = pParse + 288 + v13 = pParse + 288 } else { - v11 = pEnd + v13 = pEnd } - pEnd2 = v11 + pEnd2 = v13 n = int32(int64((*TToken)(unsafe.Pointer(pEnd2)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) if int32(*(*int8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pEnd2)).Fz))) != int32(';') { n = int32(uint32(n) + (*TToken)(unsafe.Pointer(pEnd2)).Fn) } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13339, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13464, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13354, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13479, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) _sqlite3DbFree(tls, db, zStmt) _sqlite3ChangeCookie(tls, pParse, iDb) /* Check to see if we need to create an sqlite_sequence table for @@ -97583,17 +98021,16 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != uint32(0) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != libc.Int32FromInt32(PARSE_MODE_NORMAL)) { pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13452, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13577, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) } } /* Reparse everything to update our internal data structures */ - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13494, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13619, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) /* Test for cycles in generated columns and illegal expressions ** in CHECK constraints and in DEFAULT clauses. */ if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasGenerated) != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13528, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(0x0001), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13653, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13549, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } /* Add the table to the in-memory representation of the database. */ @@ -97610,7 +98047,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* If this is the magic sqlite_sequence table used by autoincrement, ** then record a pointer to this table in the main database structure ** so that INSERT can find the table easily. */ - if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9582) == 0 { + if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9707) == 0 { (*TSchema)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } } @@ -97643,7 +98080,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*uintptr)(unsafe.Pointer(bp + 112)) = uintptr(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if int32((*TParse)(unsafe.Pointer(pParse)).FnVar) > 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13581, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13674, 0) goto create_view_fail } _sqlite3StartTable(tls, pParse, pName1, pName2, isTemp, int32(1), 0, noErr) @@ -97660,7 +98097,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(TF_NoVisibleRowid) /* Never allow rowid in view */ _sqlite3TwoPartName(tls, pParse, pName1, pName2, bp+112) iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(p)).FpSchema) - _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10798, *(*uintptr)(unsafe.Pointer(bp + 112))) + _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10923, *(*uintptr)(unsafe.Pointer(bp + 112))) if _sqlite3FixSelect(tls, bp+16, pSelect) != 0 { goto create_view_fail } @@ -97756,7 +98193,7 @@ func _viewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) (r int32 ** SELECT * FROM temp.ex1; */ if int32((*TTable)(unsafe.Pointer(pTable)).FnCol) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13617, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13710, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) return int32(1) } /* If we get this far, it means we need to compute the table names. @@ -97940,7 +98377,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { v = _sqlite3GetVdbe(tls, pParse) r1 = _sqlite3GetTempReg(tls, pParse) if iTable < int32(2) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13647, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13740, 0) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Destroy), iTable, r1, iDb) _sqlite3MayAbort(tls, pParse) @@ -97953,7 +98390,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { ** is in register NNN. See grammar rules associated with the TK_REGISTER ** token for additional information. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13662, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13755, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) _sqlite3ReleaseTempReg(tls, pParse, r1) } @@ -98036,9 +98473,9 @@ func _sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uin if !(i <= int32(4)) { break } - Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13729, libc.VaList(bp+32, i)) + Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13822, libc.VaList(bp+32, i)) if _sqlite3FindTable(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, bp, zDbName) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11687, libc.VaList(bp+32, zDbName, bp, zType, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11812, libc.VaList(bp+32, zDbName, bp, zType, zName)) } goto _1 _1: @@ -98079,7 +98516,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** move as a result of the drop (can happen in auto-vacuum mode). */ if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13743, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13836, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* Drop all entries in the schema table that refer to the ** table. The program name loops through the schema table and deletes @@ -98088,7 +98525,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** created in the temp database that refers to a table in another ** database. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13788, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13881, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { _destroyTable(tls, pParse, pTab) } @@ -98123,11 +98560,11 @@ func _sqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) (r int32) { // ** Return true if it is not allowed to drop the given table // */ func _tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) (r int32) { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6527, int32(7)) == 0 { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3420, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6591, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3484, int32(4)) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7268, int32(10)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7393, int32(10)) == 0 { return 0 } return int32(1) @@ -98182,9 +98619,9 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6535 + v1 = __ccgo_ts + 6599 } else { - v1 = __ccgo_ts + 6068 + v1 = __ccgo_ts + 6132 } zTab = v1 zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName @@ -98217,18 +98654,18 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if _tableMayNotBeDropped(tls, db, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13855, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13948, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Ensure DROP TABLE is not used on a view, and DROP VIEW is not used ** on a table. */ if isView != 0 && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13883, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13976, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } if !(isView != 0) && int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13917, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14010, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Generate code to remove the table from the schema table @@ -98238,7 +98675,7 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) if !(isView != 0) { - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11799, (*TTable)(unsafe.Pointer(pTab)).FzName) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11924, (*TTable)(unsafe.Pointer(pTab)).FzName) _sqlite3FkDropTable(tls, pParse, pName, pTab) } _sqlite3CodeDropTable(tls, pParse, pTab, iDb, isView) @@ -98286,13 +98723,13 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p goto fk_end } if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13949, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14042, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) goto fk_end } nCol = int32(1) } else { if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14012, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14105, 0) goto fk_end } else { nCol = (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr @@ -98355,7 +98792,7 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p j++ } if j >= int32((*TTable)(unsafe.Pointer(p)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14106, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14199, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) goto fk_end } if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { @@ -98615,11 +99052,11 @@ func _sqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) (r i if int32(uint32(*(*uint16)(unsafe.Pointer(pList + 8 + uintptr(i)*32 + 16 + 4))&0x20>>5)) != 0 { sf = (*(*TExprList_item)(unsafe.Pointer(pList + 8 + uintptr(i)*32))).Ffg.FsortFlags if int32(sf) == 0 || int32(sf) == int32(3) { - v2 = __ccgo_ts + 14152 + v2 = __ccgo_ts + 14245 } else { - v2 = __ccgo_ts + 14158 + v2 = __ccgo_ts + 14251 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14163, libc.VaList(bp+8, v2)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14256, libc.VaList(bp+8, v2)) return int32(1) } goto _1 @@ -98697,7 +99134,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = int32(1) } } - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14191, *(*uintptr)(unsafe.Pointer(bp + 96))) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14284, *(*uintptr)(unsafe.Pointer(bp + 96))) if _sqlite3FixSrcList(tls, bp, pTblName) != 0 { /* Because the parser constructs pTblName from a single identifier, ** sqlite3FixSrcList can never fail. */ @@ -98707,7 +99144,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } if iDb == int32(1) && (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema != (*TTable)(unsafe.Pointer(pTab)).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14197, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14290, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if !((*TTable)(unsafe.Pointer(pTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { @@ -98721,16 +99158,16 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) } pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6527, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14247, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6591, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14340, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14275, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14368, 0) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14300, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14393, 0) goto exit_create_index } /* @@ -98751,19 +99188,19 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if zName == uintptr(0) { goto exit_create_index } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14191, (*TTable)(unsafe.Pointer(pTab)).FzName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14284, (*TTable)(unsafe.Pointer(pTab)).FzName) { goto exit_create_index } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if !((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0) { if _sqlite3FindTable(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14334, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14427, libc.VaList(bp+136, zName)) goto exit_create_index } } if _sqlite3FindIndex(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { if !(ifNotExist != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14368, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14461, libc.VaList(bp+136, zName)) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) _sqlite3ForceNotReadOnly(tls, pParse) @@ -98784,7 +99221,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pLoop = (*TIndex)(unsafe.Pointer(pLoop)).FpNext n++ } - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14392, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14485, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) if zName == uintptr(0) { goto exit_create_index } @@ -98802,9 +99239,9 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { zDb = (*TDb)(unsafe.Pointer(pDb)).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6535 + v2 = __ccgo_ts + 6599 } else { - v2 = __ccgo_ts + 6068 + v2 = __ccgo_ts + 6132 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v2, uintptr(0), zDb) != 0 { goto exit_create_index @@ -98832,7 +99269,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } _sqlite3ExprListSetSortOrder(tls, pList, sortOrder, -int32(1)) } else { - _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14191) + _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14284) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { goto exit_create_index } @@ -98916,7 +99353,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pCExpr = _sqlite3ExprSkipCollate(tls, (*TExprList_item)(unsafe.Pointer(pListItem)).FpExpr) if int32((*TExpr)(unsafe.Pointer(pCExpr)).Fop) != int32(TK_COLUMN) { if pTab == (*TParse)(unsafe.Pointer(pParse)).FpNewTable { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14415, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14508, 0) goto exit_create_index } if (*TIndex)(unsafe.Pointer(pIndex)).FaColExpr == uintptr(0) { @@ -99063,7 +99500,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u ** explicitly specified behavior for the index. */ if !(int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) || int32((*TIndex)(unsafe.Pointer(pIndex)).FonError) == int32(OE_Default)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14476, libc.VaList(bp+136, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14569, libc.VaList(bp+136, 0)) } if int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) { (*TIndex)(unsafe.Pointer(pIdx)).FonError = (*TIndex)(unsafe.Pointer(pIndex)).FonError @@ -99093,8 +99530,8 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != uintptr(0) { (*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14518, 0) - (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125123)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14611, 0) + (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125741)) goto exit_create_index } } @@ -99134,11 +99571,11 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* A named index with an explicit CREATE INDEX statement */ if onError == OE_None { - v13 = __ccgo_ts + 1650 + v13 = __ccgo_ts + 1664 } else { - v13 = __ccgo_ts + 14535 + v13 = __ccgo_ts + 14628 } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14543, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14636, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) } else { /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ /* zStmt = sqlite3MPrintf(""); */ @@ -99146,7 +99583,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* Add an entry in sqlite_schema for this index */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14563, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14656, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) _sqlite3DbFree(tls, db, zStmt) /* Fill the index with data and reparse the schema. Code an OP_Expire ** to invalidate all pre-compiled statements. @@ -99154,7 +99591,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != 0 { _sqlite3RefillIndex(tls, pParse, pIndex, iMem) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14622, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14715, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Expire), 0, int32(1)) } _sqlite3VdbeJumpHere(tls, v, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum)) @@ -99317,7 +99754,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pIndex = _sqlite3FindIndex(tls, db, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzName, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) if pIndex == uintptr(0) { if !(ifExists != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14649, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14742, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) _sqlite3ForceNotReadOnly(tls, pParse) @@ -99326,7 +99763,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in goto exit_drop_index } if int32(uint32(*(*uint16)(unsafe.Pointer(pIndex + 100))&0x3>>0)) != SQLITE_IDXTYPE_APPDEF { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14667, libc.VaList(bp+8, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14760, libc.VaList(bp+8, 0)) goto exit_drop_index } iDb = _sqlite3SchemaToIndex(tls, db, (*TIndex)(unsafe.Pointer(pIndex)).FpSchema) @@ -99334,9 +99771,9 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pTab = (*TIndex)(unsafe.Pointer(pIndex)).FpTable zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6535 + v1 = __ccgo_ts + 6599 } else { - v1 = __ccgo_ts + 6068 + v1 = __ccgo_ts + 6132 } zTab = v1 if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_DELETE), zTab, uintptr(0), zDb) != 0 { @@ -99352,8 +99789,8 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in v = _sqlite3GetVdbe(tls, pParse) if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14740, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11795, (*TIndex)(unsafe.Pointer(pIndex)).FzName) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14833, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11920, (*TIndex)(unsafe.Pointer(pIndex)).FzName) _sqlite3ChangeCookie(tls, pParse, iDb) _destroyRootPage(tls, pParse, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum), iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropIndex), iDb, 0, 0, (*TIndex)(unsafe.Pointer(pIndex)).FzName, 0) @@ -99544,7 +99981,7 @@ func _sqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra nAlloc = int64(2)*int64((*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) + int64(nExtra) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc+nExtra >= int32(SQLITE_MAX_SRCLIST) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14800, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14893, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) return uintptr(0) } if nAlloc > int64(SQLITE_MAX_SRCLIST) { @@ -99776,11 +100213,11 @@ func _sqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa db = (*TParse)(unsafe.Pointer(pParse)).Fdb if !(p != 0) && pOnUsing != uintptr(0) && ((*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 || (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpUsing != 0) { if (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 { - v1 = __ccgo_ts + 14836 + v1 = __ccgo_ts + 14929 } else { - v1 = __ccgo_ts + 14839 + v1 = __ccgo_ts + 14932 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14845, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14938, libc.VaList(bp+8, v1)) goto append_from_error } p = _sqlite3SrcListAppend(tls, pParse, p, pTable, pDatabase) @@ -99978,7 +100415,7 @@ func _sqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { var eTxnType, i int32 _, _, _, _, _ = db, eTxnType, i, pBt, v db = (*TParse)(unsafe.Pointer(pParse)).Fdb - if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14881, uintptr(0), uintptr(0)) != 0 { + if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14974, uintptr(0), uintptr(0)) != 0 { return } v = _sqlite3GetVdbe(tls, pParse) @@ -100025,9 +100462,9 @@ func _sqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { _, _, _ = isRollback, v, v1 isRollback = libc.BoolInt32(eType == int32(TK_ROLLBACK)) if isRollback != 0 { - v1 = __ccgo_ts + 14887 + v1 = __ccgo_ts + 14980 } else { - v1 = __ccgo_ts + 14896 + v1 = __ccgo_ts + 14989 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), v1, uintptr(0), uintptr(0)) != 0 { return @@ -100059,9 +100496,9 @@ func _sqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } var _az = [3]uintptr{ - 0: __ccgo_ts + 14881, - 1: __ccgo_ts + 14903, - 2: __ccgo_ts + 14887, + 0: __ccgo_ts + 14974, + 1: __ccgo_ts + 14996, + 2: __ccgo_ts + 14980, } // C documentation @@ -100081,7 +100518,7 @@ func _sqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) (r int32) { if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt == uintptr(0) && !((*TParse)(unsafe.Pointer(pParse)).Fexplain != 0) { rc = _sqlite3BtreeOpen(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp, 0, _flags) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14911, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15004, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = rc return int32(1) } @@ -100265,7 +100702,7 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable _sqlite3StrAccumInit(tls, bp, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136))) if (*TIndex)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+14981, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15074, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) } else { j = 0 for { @@ -100274,10 +100711,10 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx } zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*16))).FzCnName if j != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+14992, int32(2)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+15085, int32(2)) } Xsqlite3_str_appendall(tls, bp, (*TTable)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp, __ccgo_ts+1663, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+1677, int32(1)) Xsqlite3_str_appendall(tls, bp, zCol) goto _1 _1: @@ -100306,10 +100743,10 @@ func _sqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr _, _ = rc, zMsg if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12383, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12508, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(6)< libc.BoolInt32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15111, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15204, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } return 0 } @@ -101412,11 +101849,11 @@ func _sqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger ui bp := tls.Alloc(16) defer tls.Free(16) if _tabIsReadOnly(tls, pParse, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15144, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15237, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && (pTrigger == uintptr(0) || (*TTrigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 && (*TTrigger)(unsafe.Pointer(pTrigger)).FpNext == uintptr(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15173, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15266, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -101819,7 +102256,7 @@ func _sqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** invoke the callback function. */ if memCnt != 0 { - _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15211) + _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15304) } goto delete_from_cleanup delete_from_cleanup: @@ -101967,7 +102404,7 @@ func _sqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri v3 = 0 } _sqlite3VdbeAddOp2(tls, v, int32(OP_Delete), iDataCur, v3) - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11584) { + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11709) { _sqlite3VdbeAppendP4(tls, v, pTab, -int32(5)) } if int32(eMode) != ONEPASS_OFF { @@ -102271,11 +102708,11 @@ func _typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } var _azType2 = [5]uintptr{ - 0: __ccgo_ts + 6308, - 1: __ccgo_ts + 6303, - 2: __ccgo_ts + 8199, - 3: __ccgo_ts + 8194, - 4: __ccgo_ts + 1636, + 0: __ccgo_ts + 6372, + 1: __ccgo_ts + 6367, + 2: __ccgo_ts + 8324, + 3: __ccgo_ts + 8319, + 4: __ccgo_ts + 1650, } // C documentation @@ -102389,7 +102826,7 @@ func _absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* IMP: R-31676-45509 If X is the integer -9223372036854775808 ** then abs(X) throws an integer overflow error since there is no ** equivalent positive 64-bit two complement value. */ - Xsqlite3_result_error(tls, context, __ccgo_ts+15224, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15317, -int32(1)) return } iVal = -iVal @@ -102704,7 +103141,7 @@ func _roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } *(*float64)(unsafe.Pointer(bp)) = float64(int64(*(*float64)(unsafe.Pointer(bp)) + v1)) } else { - zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15241, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) + zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15334, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -103284,7 +103721,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { */ nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer(db + 136 + 8*4)) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15247, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15340, -int32(1)) return } if argc == int32(3) { @@ -103296,7 +103733,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { return } if _sqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), -int32(1)) != int32(1) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15280, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15373, -int32(1)) return } escape = _sqlite3Utf8Read(tls, bp+8) @@ -103378,7 +103815,7 @@ func _errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { defer tls.Free(16) _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // C documentation @@ -103465,17 +103902,17 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_FLOAT): r1 = Xsqlite3_value_double(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15325, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15418, libc.VaList(bp+16, r1)) zVal = Xsqlite3_str_value(tls, pStr) if zVal != 0 { _sqlite3AtoF(tls, zVal, bp, int32((*TStrAccum)(unsafe.Pointer(pStr)).FnChar), uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp)) { Xsqlite3_str_reset(tls, pStr) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15333, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15426, libc.VaList(bp+16, r1)) } } case int32(SQLITE_INTEGER): - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1406, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1425, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) case int32(SQLITE_BLOB): zBlob = Xsqlite3_value_blob(tls, pValue) nBlob = int64(Xsqlite3_value_bytes(tls, pValue)) @@ -103503,9 +103940,9 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { } case int32(SQLITE_TEXT): zArg = Xsqlite3_value_text(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15341, libc.VaList(bp+16, zArg)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15434, libc.VaList(bp+16, zArg)) default: - Xsqlite3_str_append(tls, pStr, __ccgo_ts+1651, int32(4)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+1665, int32(4)) break } } @@ -103742,7 +104179,7 @@ func _unhexFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { var v3 uint32 var _ /* zHex at bp+0 */ uintptr _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ch, d, nHex, nPass, p, pBlob, zPass, v1, v2, v3, v4, v5, v6 - zPass = __ccgo_ts + 1650 + zPass = __ccgo_ts + 1664 nPass = 0 *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) nHex = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -104055,7 +104492,7 @@ var _lenOne = [1]uint32{ } var _azOne = [1]uintptr{ - 0: __ccgo_ts + 11204, + 0: __ccgo_ts + 11329, } // C documentation @@ -104123,7 +104560,7 @@ func _concatFuncCore(tls *libc.TLS, context uintptr, argc int32, argv uintptr, n // ** concatentation of all non-null arguments. // */ func _concatFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1650) + _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1664) } // C documentation @@ -104169,7 +104606,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { _, _, _, _, _, _, _ = code, i, j, prevcode, zIn, v3, v4 zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = __ccgo_ts + 1650 + zIn = __ccgo_ts + 1664 } i = 0 for { @@ -104215,7 +104652,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { /* IMP: R-64894-50321 The string "?000" is returned if the argument ** is NULL or contains no ASCII alphabetic characters. */ - Xsqlite3_result_text(tls, context, __ccgo_ts+15344, int32(4), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, context, __ccgo_ts+15437, int32(4), libc.UintptrFromInt32(0)) } } @@ -104276,7 +104713,7 @@ func _loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { ** flag is set. See the sqlite3_enable_load_extension() API. */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_LoadExtFunc) == uint64(0) { - Xsqlite3_result_error(tls, context, __ccgo_ts+12422, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+12547, -int32(1)) return } if argc == int32(2) { @@ -104465,7 +104902,7 @@ func _sumFinalize(tls *libc.TLS, context uintptr) { if p != 0 && (*TSumCtx)(unsafe.Pointer(p)).Fcnt > 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fapprox != 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fovrfl != 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+15224, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15317, -int32(1)) } else { if !(_sqlite3IsOverflow(tls, (*TSumCtx)(unsafe.Pointer(p)).FrErr) != 0) { Xsqlite3_result_double(tls, context, (*TSumCtx)(unsafe.Pointer(p)).FrSum+(*TSumCtx)(unsafe.Pointer(p)).FrErr) @@ -104807,7 +105244,7 @@ func _groupConcatValue(tls *libc.TLS, context uintptr) { func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { var rc int32 _ = rc - rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15349, int32(2)) + rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15442, int32(2)) if rc == int32(SQLITE_NOMEM) { _sqlite3OomFault(tls, db) } @@ -104836,8 +105273,8 @@ func _sqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 if !(nArg <= int32(3)) { break } - _sqlite3CreateFunc(tls, db, __ccgo_ts+15355, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15355, nArg, uint8(SQLITE_UTF8), uint8(0)) + _sqlite3CreateFunc(tls, db, __ccgo_ts+15448, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15448, nArg, uint8(SQLITE_UTF8), uint8(0)) *(*Tu32)(unsafe.Pointer(pDef + 4)) |= uint32(flags) *(*Tu32)(unsafe.Pointer(pDef + 4)) &= uint32(^libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)) goto _1 @@ -105143,562 +105580,562 @@ var _aBuiltinFunc = [110]TFuncDef{ FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_implies_nonnull_row))), - FzName: __ccgo_ts + 15360, + FzName: __ccgo_ts + 15453, }, 1: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_compare))), - FzName: __ccgo_ts + 15380, + FzName: __ccgo_ts + 15473, }, 2: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_implies_expr))), - FzName: __ccgo_ts + 15393, + FzName: __ccgo_ts + 15486, }, 3: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_affinity))), - FzName: __ccgo_ts + 15411, + FzName: __ccgo_ts + 15504, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15420, + FzName: __ccgo_ts + 15513, }, 5: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15428, + FzName: __ccgo_ts + 15521, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15428, + FzName: __ccgo_ts + 15521, }, 7: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15443, + FzName: __ccgo_ts + 15536, }, 8: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15469, + FzName: __ccgo_ts + 15562, }, 9: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15494, + FzName: __ccgo_ts + 15587, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15503, + FzName: __ccgo_ts + 15596, }, 11: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15514, + FzName: __ccgo_ts + 15607, }, 12: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_sqlite_offset))), - FzName: __ccgo_ts + 15521, + FzName: __ccgo_ts + 15614, }, 13: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15535, + FzName: __ccgo_ts + 15628, }, 14: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15535, + FzName: __ccgo_ts + 15628, }, 15: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15541, + FzName: __ccgo_ts + 15634, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15541, + FzName: __ccgo_ts + 15634, }, 17: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15547, + FzName: __ccgo_ts + 15640, }, 18: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15547, + FzName: __ccgo_ts + 15640, }, 19: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15552, + FzName: __ccgo_ts + 15645, }, 20: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15552, + FzName: __ccgo_ts + 15645, }, 21: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15552, + FzName: __ccgo_ts + 15645, }, 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15556, + FzName: __ccgo_ts + 15649, }, 23: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15556, + FzName: __ccgo_ts + 15649, }, 24: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15556, + FzName: __ccgo_ts + 15649, }, 25: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15560, + FzName: __ccgo_ts + 15653, }, 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15567, + FzName: __ccgo_ts + 15660, }, 27: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_LENGTH)), - FzName: __ccgo_ts + 15575, + FzName: __ccgo_ts + 15668, }, 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_BYTELEN)), - FzName: __ccgo_ts + 15582, + FzName: __ccgo_ts + 15675, }, 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15595, + FzName: __ccgo_ts + 15688, }, 30: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15601, + FzName: __ccgo_ts + 15694, }, 31: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15608, + FzName: __ccgo_ts + 15701, }, 32: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15615, + FzName: __ccgo_ts + 15708, }, 33: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15623, + FzName: __ccgo_ts + 15716, }, 34: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15628, + FzName: __ccgo_ts + 15721, }, 35: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15632, + FzName: __ccgo_ts + 15725, }, 36: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15632, + FzName: __ccgo_ts + 15725, }, 37: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15638, + FzName: __ccgo_ts + 15731, }, 38: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15644, + FzName: __ccgo_ts + 15737, }, 39: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15650, + FzName: __ccgo_ts + 15743, }, 40: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15654, + FzName: __ccgo_ts + 15747, }, 41: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15654, + FzName: __ccgo_ts + 15747, }, 42: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15660, + FzName: __ccgo_ts + 15753, }, 43: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15660, + FzName: __ccgo_ts + 15753, }, 44: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15667, + FzName: __ccgo_ts + 15760, }, 45: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15667, + FzName: __ccgo_ts + 15760, }, 46: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15667, + FzName: __ccgo_ts + 15760, }, 47: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15677, + FzName: __ccgo_ts + 15770, }, 48: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15684, + FzName: __ccgo_ts + 15777, }, 49: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15691, + FzName: __ccgo_ts + 15784, }, 50: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15702, + FzName: __ccgo_ts + 15795, }, 51: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15709, + FzName: __ccgo_ts + 15802, }, 52: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15724, + FzName: __ccgo_ts + 15817, }, 53: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15741, + FzName: __ccgo_ts + 15834, }, 54: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15752, + FzName: __ccgo_ts + 15845, }, 55: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15758, + FzName: __ccgo_ts + 15851, }, 56: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15776, + FzName: __ccgo_ts + 15869, }, 57: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15784, + FzName: __ccgo_ts + 15877, }, 58: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15798, + FzName: __ccgo_ts + 15891, }, 59: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15806, + FzName: __ccgo_ts + 15899, }, 60: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15815, + FzName: __ccgo_ts + 15908, }, 61: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15815, + FzName: __ccgo_ts + 15908, }, 62: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15822, + FzName: __ccgo_ts + 15915, }, 63: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15822, + FzName: __ccgo_ts + 15915, }, 64: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15832, + FzName: __ccgo_ts + 15925, }, 65: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15836, + FzName: __ccgo_ts + 15929, }, 66: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15842, + FzName: __ccgo_ts + 15935, }, 67: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_COUNT) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15846, + FzName: __ccgo_ts + 15939, }, 68: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15846, + FzName: __ccgo_ts + 15939, }, 69: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15852, + FzName: __ccgo_ts + 15945, }, 70: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15852, + FzName: __ccgo_ts + 15945, }, 71: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15865, + FzName: __ccgo_ts + 15958, }, 72: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE) | libc.Int32FromInt32(SQLITE_FUNC_CASE)), FpUserData: uintptr(unsafe.Pointer(&_globInfo)), - FzName: __ccgo_ts + 15876, + FzName: __ccgo_ts + 15969, }, 73: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15355, + FzName: __ccgo_ts + 15448, }, 74: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15355, + FzName: __ccgo_ts + 15448, }, 75: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6732, + FzName: __ccgo_ts + 6796, }, 76: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6732, + FzName: __ccgo_ts + 6796, }, 77: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15881, + FzName: __ccgo_ts + 15974, }, 78: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15886, + FzName: __ccgo_ts + 1237, }, 79: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15894, + FzName: __ccgo_ts + 1245, }, 80: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15900, + FzName: __ccgo_ts + 15979, }, 81: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15906, + FzName: __ccgo_ts + 15985, }, 82: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15909, + FzName: __ccgo_ts + 15988, }, 83: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15913, + FzName: __ccgo_ts + 15992, }, 84: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15919, + FzName: __ccgo_ts + 15998, }, 85: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15909, + FzName: __ccgo_ts + 15988, }, 86: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15924, + FzName: __ccgo_ts + 16003, }, 87: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15928, + FzName: __ccgo_ts + 16007, }, 88: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15932, + FzName: __ccgo_ts + 16011, }, 89: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15938, + FzName: __ccgo_ts + 16017, }, 90: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15942, + FzName: __ccgo_ts + 16021, }, 91: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15947, + FzName: __ccgo_ts + 16026, }, 92: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15952, + FzName: __ccgo_ts + 16031, }, 93: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15957, + FzName: __ccgo_ts + 16036, }, 94: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15963, + FzName: __ccgo_ts + 16042, }, 95: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15967, + FzName: __ccgo_ts + 16046, }, 96: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15971, + FzName: __ccgo_ts + 16050, }, 97: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15975, + FzName: __ccgo_ts + 16054, }, 98: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15980, + FzName: __ccgo_ts + 16059, }, 99: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15985, + FzName: __ccgo_ts + 16064, }, 100: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15990, + FzName: __ccgo_ts + 16069, }, 101: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15996, + FzName: __ccgo_ts + 16075, }, 102: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16002, + FzName: __ccgo_ts + 16081, }, 103: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16008, + FzName: __ccgo_ts + 16087, }, 104: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16013, + FzName: __ccgo_ts + 16092, }, 105: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16021, + FzName: __ccgo_ts + 16100, }, 106: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16029, + FzName: __ccgo_ts + 16108, }, 107: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16032, + FzName: __ccgo_ts + 16111, }, 108: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 6732, + FzName: __ccgo_ts + 6796, }, 109: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_iif))), - FzName: __ccgo_ts + 16037, + FzName: __ccgo_ts + 16116, }, } @@ -106175,7 +106612,7 @@ func _sqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey } if !(pIdx != 0) { if !((*TParse)(unsafe.Pointer(pParse)).FdisableTriggers != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16041, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16120, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) } _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, aiCol) return int32(1) @@ -107286,11 +107723,11 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr break } *(*TToken)(unsafe.Pointer(bp + 16)) = TToken{ - Fz: __ccgo_ts + 6598, + Fz: __ccgo_ts + 6662, Fn: uint32(3), } /* Literal "old" token */ *(*TToken)(unsafe.Pointer(bp + 32)) = TToken{ - Fz: __ccgo_ts + 6594, + Fz: __ccgo_ts + 6658, Fn: uint32(3), } /* tFromCol = OLD.tToCol */ if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { @@ -107354,7 +107791,7 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr nFrom = _sqlite3Strlen30(tls, zFrom) if action == int32(OE_Restrict) { iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5227) + pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5291) if pRaise != 0 { (*TExpr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -107935,7 +108372,7 @@ func _sqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8164, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8289, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) } (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -108196,6 +108633,219 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { } } +// C documentation +// +// /* +// ** If argument pVal is a Select object returned by an sqlite3MultiValues() +// ** that was able to use the co-routine optimization, finish coding the +// ** co-routine. +// */ +func _sqlite3MultiValuesEnd(tls *libc.TLS, pParse uintptr, pVal uintptr) { + var pItem uintptr + _ = pItem + if pVal != 0 && (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pVal)).FpSrc)).FnSrc > 0 { + pItem = (*TSelect)(unsafe.Pointer(pVal)).FpSrc + 8 + _sqlite3VdbeEndCoroutine(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn) + _sqlite3VdbeJumpHere(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FaddrFillSub-int32(1)) + } +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are constant. +// */ +func _exprListIsConstant(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + if 0 == _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are both constant and have no affinity. +// */ +func _exprListIsNoAffinity(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + var pExpr uintptr + _, _ = ii, pExpr + if _exprListIsConstant(tls, pParse, pRow) == 0 { + return 0 + } + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + pExpr = (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr + if 0 != int32(_sqlite3ExprAffinity(tls, pExpr)) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** This function is called by the parser for the second and subsequent +// ** rows of a multi-row VALUES clause. Argument pLeft is the part of +// ** the VALUES clause already parsed, argument pRow is the vector of values +// ** for the new row. The Select object returned represents the complete +// ** VALUES clause, including the new row. +// ** +// ** There are two ways in which this may be achieved - by incremental +// ** coding of a co-routine (the "co-routine" method) or by returning a +// ** Select object equivalent to the following (the "UNION ALL" method): +// ** +// ** "pLeft UNION ALL SELECT pRow" +// ** +// ** If the VALUES clause contains a lot of rows, this compound Select +// ** object may consume a lot of memory. +// ** +// ** When the co-routine method is used, each row that will be returned +// ** by the VALUES clause is coded into part of a co-routine as it is +// ** passed to this function. The returned Select object is equivalent to: +// ** +// ** SELECT * FROM ( +// ** Select object to read co-routine +// ** ) +// ** +// ** The co-routine method is used in most cases. Exceptions are: +// ** +// ** a) If the current statement has a WITH clause. This is to avoid +// ** statements like: +// ** +// ** WITH cte AS ( VALUES('x'), ('y') ... ) +// ** SELECT * FROM cte AS a, cte AS b; +// ** +// ** This will not work, as the co-routine uses a hard-coded register +// ** for its OP_Yield instructions, and so it is not possible for two +// ** cursors to iterate through it concurrently. +// ** +// ** b) The schema is currently being parsed (i.e. the VALUES clause is part +// ** of a schema item like a VIEW or TRIGGER). In this case there is no VM +// ** being generated when parsing is taking place, and so generating +// ** a co-routine is not possible. +// ** +// ** c) There are non-constant expressions in the VALUES clause (e.g. +// ** the VALUES clause is part of a correlated sub-query). +// ** +// ** d) One or more of the values in the first row of the VALUES clause +// ** has an affinity (i.e. is a CAST expression). This causes problems +// ** because the complex rules SQLite uses (see function +// ** sqlite3SubqueryColumnTypes() in select.c) to determine the effective +// ** affinity of such a column for all rows require access to all values in +// ** the column simultaneously. +// */ +func _sqlite3MultiValues(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRow uintptr) (r uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var f, v1 int32 + var p, pRet, pSelect, v, v2 uintptr + var _ /* dest at bp+0 */ TSelectDest + _, _, _, _, _, _, _ = f, p, pRet, pSelect, v, v1, v2 + if (*TParse)(unsafe.Pointer(pParse)).FbHasWith != 0 || (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy != 0 || _exprListIsConstant(tls, pParse, pRow) == 0 || (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 && _exprListIsNoAffinity(tls, pParse, (*TSelect)(unsafe.Pointer(pLeft)).FpEList) == 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { + /* The co-routine method cannot be used. Fall back to UNION ALL. */ + pSelect = uintptr(0) + f = libc.Int32FromInt32(SF_Values) | libc.Int32FromInt32(SF_MultiValue) + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc != 0 { + _sqlite3MultiValuesEnd(tls, pParse, pLeft) + f = int32(SF_Values) + } else { + if (*TSelect)(unsafe.Pointer(pLeft)).FpPrior != 0 { + /* In this case set the SF_MultiValue flag only if it was set on pLeft */ + f = int32(uint32(f) & (*TSelect)(unsafe.Pointer(pLeft)).FselFlags) + } + } + pSelect = _sqlite3SelectNew(tls, pParse, pRow, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(f), uintptr(0)) + *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) + if pSelect != 0 { + (*TSelect)(unsafe.Pointer(pSelect)).Fop = uint8(TK_ALL) + (*TSelect)(unsafe.Pointer(pSelect)).FpPrior = pLeft + pLeft = pSelect + } + } else { + p = uintptr(0) /* SrcItem that reads from co-routine */ + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 { + /* Co-routine has not yet been started and the special Select object + ** that accesses the co-routine has not yet been created. This block + ** does both those things. */ + v = _sqlite3GetVdbe(tls, pParse) + pRet = _sqlite3SelectNew(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) + /* Ensure the database schema has been read. This is to ensure we have + ** the correct text encoding. */ + if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmDbFlags&uint32(DBFLAG_SchemaKnownOk) == uint32(0) { + _sqlite3ReadSchema(tls, pParse) + } + if pRet != 0 { + (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pRet)).FpSrc)).FnSrc = int32(1) + (*TSelect)(unsafe.Pointer(pRet)).FpPrior = (*TSelect)(unsafe.Pointer(pLeft)).FpPrior + (*TSelect)(unsafe.Pointer(pRet)).Fop = (*TSelect)(unsafe.Pointer(pLeft)).Fop + (*TSelect)(unsafe.Pointer(pLeft)).FpPrior = uintptr(0) + (*TSelect)(unsafe.Pointer(pLeft)).Fop = uint8(TK_SELECT) + p = (*TSelect)(unsafe.Pointer(pRet)).FpSrc + 8 + (*TSrcItem)(unsafe.Pointer(p)).FpSelect = pLeft + libc.SetBitFieldPtr16Uint32(p+60+4, libc.Uint32FromInt32(1), 5, 0x20) + (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + v2 = pParse + 56 + *(*int32)(unsafe.Pointer(v2))++ + v1 = *(*int32)(unsafe.Pointer(v2)) + (*TSrcItem)(unsafe.Pointer(p)).FregReturn = v1 + (*TSrcItem)(unsafe.Pointer(p)).FiCursor = -int32(1) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1)) = uint32(2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn, 0, (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub) + _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + /* Allocate registers for the output of the co-routine. Do so so + ** that there are two unused registers immediately before those + ** used by the co-routine. This allows the code in sqlite3Insert() + ** to use these registers directly, instead of copying the output + ** of the co-routine to a separate array for processing. */ + (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(3) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpEList)).FnExpr + *(*int32)(unsafe.Pointer(pParse + 56)) += int32(2) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst + *(*Tu32)(unsafe.Pointer(pLeft + 4)) |= uint32(SF_MultiValue) + _sqlite3Select(tls, pParse, pLeft, bp) + (*TSrcItem)(unsafe.Pointer(p)).FregResult = (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst + pLeft = pRet + } + } else { + p = (*TSelect)(unsafe.Pointer(pLeft)).FpSrc + 8 + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1))++ + } + if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { + if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p)).FpSelect)).FpEList)).FnExpr != (*TExprList)(unsafe.Pointer(pRow)).FnExpr { + _sqlite3SelectWrongNumTermsError(tls, pParse, (*TSrcItem)(unsafe.Pointer(p)).FpSelect) + } else { + _sqlite3ExprCodeExprList(tls, pParse, pRow, (*TSrcItem)(unsafe.Pointer(p)).FregResult, 0, uint8(0)) + _sqlite3VdbeAddOp1(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Yield), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + } + } + _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pRow) + } + return pLeft +} + // C documentation // // /* @@ -108298,27 +108948,27 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { bp := tls.Alloc(160) defer tls.Free(160) - var aRegIdx, db, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, v, v13, v16, v18, v6, v9 uintptr - var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v12, v15, v17, v19, v23, v24, v5, v7, v8 int32 + var aRegIdx, db, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, v, v10, v14, v17, v19, v7 uintptr + var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v13, v16, v18, v20, v24, v25, v5, v6, v8, v9 int32 var appendFlag, bIdListInOrder, useTempTable, withoutRowid Tu8 - var colFlags, v21 Tu32 + var colFlags, v22 Tu32 var _ /* dest at bp+8 */ TSelectDest var _ /* iDataCur at bp+0 */ int32 var _ /* iIdxCur at bp+4 */ int32 var _ /* isReplace at bp+112 */ int32 var _ /* sNC at bp+56 */ TNameContext var _ /* tmask at bp+48 */ int32 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v12, v13, v15, v16, v17, v18, v19, v21, v23, v24, v5, v6, v7, v8, v9 /* Number of columns in the data */ - nHidden = 0 /* Number of hidden columns if TABLE is virtual */ - *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ - *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ - ipkColumn = -int32(1) /* Label for the end of the insertion loop */ - srcTab = 0 /* Data comes from this temporary cursor if >=0 */ - addrInsTop = 0 /* Jump to label "D" */ - addrCont = 0 /* Index of database holding TABLE */ - useTempTable = uint8(0) /* Store SELECT results in intermediate table */ - appendFlag = uint8(0) /* True if IDLIST is in table order */ - pList = uintptr(0) /* Register in which to store next column */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v10, v13, v14, v16, v17, v18, v19, v20, v22, v24, v25, v5, v6, v7, v8, v9 /* Number of columns in the data */ + nHidden = 0 /* Number of hidden columns if TABLE is virtual */ + *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ + *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ + ipkColumn = -int32(1) /* Label for the end of the insertion loop */ + srcTab = 0 /* Data comes from this temporary cursor if >=0 */ + addrInsTop = 0 /* Jump to label "D" */ + addrCont = 0 /* Index of database holding TABLE */ + useTempTable = uint8(0) /* Store SELECT results in intermediate table */ + appendFlag = uint8(0) /* True if IDLIST is in table order */ + pList = uintptr(0) /* Register in which to store next column */ /* Register allocations */ regFromSelect = 0 /* Base register for data coming from SELECT */ regAutoinc = 0 /* Register holding the AUTOINCREMENT counter */ @@ -108456,7 +109106,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_STORED)|libc.Int32FromInt32(COLFLAG_VIRTUAL)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16086, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16165, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto insert_cleanup } break @@ -108471,7 +109121,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i bIdListInOrder = uint8(0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16127, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16206, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto insert_cleanup } @@ -108488,28 +109138,46 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** co-routine is the common header to the 3rd and 4th templates. */ if pSelect != 0 { /* Result code */ - v6 = pParse + 56 - *(*int32)(unsafe.Pointer(v6))++ - v5 = *(*int32)(unsafe.Pointer(v6)) - regYield = v5 - addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) - _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) - _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) - if bIdListInOrder != 0 { - v7 = regData - } else { - v7 = 0 - } - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v7 - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) - rc = _sqlite3Select(tls, pParse, pSelect, bp+8) - regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst - if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { - goto insert_cleanup + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc)).FnSrc == int32(1) && int32(uint32(*(*uint16)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + 60 + 4))&0x20>>5)) != 0 && (*TSelect)(unsafe.Pointer(pSelect)).FpPrior == uintptr(0) { + pItem = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSDParm = (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn + regFromSelect = (*TSrcItem)(unsafe.Pointer(pItem)).FregResult + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FpEList)).FnExpr + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+16238, libc.VaList(bp+128, pItem)) + if bIdListInOrder != 0 && nColumn == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { + regData = regFromSelect + regRowid = regData - int32(1) + if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { + v5 = int32(1) + } else { + v5 = 0 + } + regIns = regRowid - v5 + } + } else { + v7 = pParse + 56 + *(*int32)(unsafe.Pointer(v7))++ + v6 = *(*int32)(unsafe.Pointer(v7)) /* Top of the co-routine */ + regYield = v6 + addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) + _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) + if bIdListInOrder != 0 { + v8 = regData + } else { + v8 = 0 + } + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) + rc = _sqlite3Select(tls, pParse, pSelect, bp+8) + regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst + if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { + goto insert_cleanup + } + _sqlite3VdbeEndCoroutine(tls, v, regYield) + _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr } - _sqlite3VdbeEndCoroutine(tls, v, regYield) - _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ - nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr /* Set useTempTable to TRUE if the result of the SELECT statement ** should be written into a temporary table (template 4). Set to ** FALSE if each output row of the SELECT can be written directly into @@ -108523,10 +109191,10 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin useTempTable = uint8(1) } if useTempTable != 0 { /* Label "L" */ - v9 = pParse + 52 - v8 = *(*int32)(unsafe.Pointer(v9)) - *(*int32)(unsafe.Pointer(v9))++ - srcTab = v8 + v10 = pParse + 52 + v9 = *(*int32)(unsafe.Pointer(v10)) + *(*int32)(unsafe.Pointer(v10))++ + srcTab = v9 regRec = _sqlite3GetTempReg(tls, pParse) regTempRowid = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp2(tls, v, int32(OP_OpenEphemeral), srcTab, nColumn) @@ -108567,8 +109235,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { ipkColumn-- } - goto _10 - _10: + goto _11 + _11: ; i-- } @@ -108585,28 +109253,28 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_NOINSERT) != 0 { nHidden++ } - goto _11 - _11: + goto _12 + _12: ; i++ } } if nColumn != int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16159, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16246, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) goto insert_cleanup } } if pColumn != uintptr(0) && nColumn != (*TIdList)(unsafe.Pointer(pColumn)).FnId { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16211, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16298, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup } /* Initialize the count of rows to be inserted */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&(uint64(libc.Int32FromInt32(0x00001))<= 0 { /* tag-20191021-001: If the INTEGER PRIMARY KEY is being generated by the ** SELECT, go ahead and copy the value into the rowid slot now, so that @@ -108719,18 +109387,18 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** using excess space. The file format definition requires this extra ** NULL - we cannot optimize further by skipping the column completely */ _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) - goto _20 + goto _21 } - v21 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) - colFlags = v21 - if v21&uint32(COLFLAG_NOINSERT) != uint32(0) { + v22 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) + colFlags = v22 + if v22&uint32(COLFLAG_NOINSERT) != uint32(0) { nHidden++ if colFlags&uint32(COLFLAG_VIRTUAL) != uint32(0) { /* Virtual columns do not participate in OP_MakeRecord. So back up ** iRegStore by one slot to compensate for the iRegStore++ in the ** outer for() loop */ iRegStore-- - goto _20 + goto _21 } else { if colFlags&uint32(COLFLAG_STORED) != uint32(0) { /* Stored columns are computed later. But if there are BEFORE @@ -108740,13 +109408,13 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if *(*int32)(unsafe.Pointer(bp + 48))&int32(TRIGGER_BEFORE) != 0 { _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) } - goto _20 + goto _21 } else { if pColumn == uintptr(0) { /* Hidden columns that are not explicitly named in the INSERT ** get there default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } } } @@ -108757,8 +109425,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if !(j < (*TIdList)(unsafe.Pointer(pColumn)).FnId && *(*int32)(unsafe.Pointer(pColumn + 8 + uintptr(j)*16 + 8)) != i) { break } - goto _22 - _22: + goto _23 + _23: ; j++ } @@ -108766,14 +109434,14 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin /* A column not named in the insert column list gets its ** default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } k = j } else { if nColumn == 0 { /* This is INSERT INTO ... DEFAULT VALUES. Load the default value. */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } else { k = i - nHidden } @@ -108790,16 +109458,16 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin y = _sqlite3ExprCodeTarget(tls, pParse, pX, iRegStore) if y != iRegStore { if (*TExpr)(unsafe.Pointer(pX)).Fflags&uint32(libc.Int32FromInt32(EP_Subquery)) != uint32(0) { - v23 = int32(OP_Copy) + v24 = int32(OP_Copy) } else { - v23 = int32(OP_SCopy) + v24 = int32(OP_SCopy) } - _sqlite3VdbeAddOp2(tls, v, v23, y, iRegStore) + _sqlite3VdbeAddOp2(tls, v, v24, y, iRegStore) } } } - goto _20 - _20: + goto _21 + _21: ; i++ iRegStore++ @@ -108910,11 +109578,11 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _sqlite3VtabMakeWritable(tls, pParse, pTab) _sqlite3VdbeAddOp4(tls, v, int32(OP_VUpdate), int32(1), int32((*TTable)(unsafe.Pointer(pTab)).FnCol)+int32(2), regIns, pVTab, -int32(11)) if onError == int32(OE_Default) { - v24 = int32(OE_Abort) + v25 = int32(OE_Abort) } else { - v24 = onError + v25 = onError } - _sqlite3VdbeChangeP5(tls, v, uint16(v24)) + _sqlite3VdbeChangeP5(tls, v, uint16(v25)) _sqlite3MayAbort(tls, pParse) } else { *(*int32)(unsafe.Pointer(bp + 112)) = 0 /* True to use OPFLAG_SEEKRESULT */ @@ -108973,7 +109641,7 @@ insert_end: ** invoke the callback function. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16303) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16390) } goto insert_cleanup insert_cleanup: @@ -109366,7 +110034,7 @@ func _sqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case int32(OE_Rollback): fallthrough case int32(OE_Fail): - zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12383, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12508, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) _sqlite3VdbeAddOp3(tls, v, int32(OP_HaltIfNull), libc.Int32FromInt32(SQLITE_CONSTRAINT)|libc.Int32FromInt32(5)<= 0 && !(int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile)))) == libc.Int32FromUint8('/'))) { @@ -111600,7 +112268,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp iFile-- } iFile++ - if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16352, int32(3)) == 0 { + if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16439, int32(3)) == 0 { iFile += int32(3) } iEntry = int32(8) @@ -111620,7 +112288,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp ; iFile++ } - libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16356, uint64(6)) + libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16443, uint64(6)) zEntry = zAltEntry xInit = _sqlite3OsDlSym(tls, pVfs, handle, zEntry) } @@ -111632,7 +112300,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v7 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16362, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16449, libc.VaList(bp+16, zEntry, zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -111647,7 +112315,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp return SQLITE_OK } if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16405, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16492, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3OsDlClose(tls, pVfs, handle) @@ -111678,7 +112346,7 @@ extension_not_found: *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v10 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16437, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16524, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -111687,7 +112355,7 @@ extension_not_found: /* Shared library endings to try if zFile cannot be loaded as written */ var _azEndings = [1]uintptr{ - 0: __ccgo_ts + 16317, + 0: __ccgo_ts + 16404, } func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) (r int32) { @@ -111920,7 +112588,7 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { rc = v2 } if v3 && v2 != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16474, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16561, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -111974,63 +112642,63 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { // ** result column is different from the name of the pragma // */ var _pragCName = [57]uintptr{ - 0: __ccgo_ts + 5483, - 1: __ccgo_ts + 16513, - 2: __ccgo_ts + 9060, - 3: __ccgo_ts + 16517, - 4: __ccgo_ts + 16522, - 5: __ccgo_ts + 16525, - 6: __ccgo_ts + 16535, - 7: __ccgo_ts + 16545, - 8: __ccgo_ts + 16551, - 9: __ccgo_ts + 16555, - 10: __ccgo_ts + 16560, - 11: __ccgo_ts + 16565, - 12: __ccgo_ts + 16573, - 13: __ccgo_ts + 16584, - 14: __ccgo_ts + 16587, - 15: __ccgo_ts + 16594, - 16: __ccgo_ts + 16555, - 17: __ccgo_ts + 16560, - 18: __ccgo_ts + 16601, - 19: __ccgo_ts + 16606, - 20: __ccgo_ts + 16609, - 21: __ccgo_ts + 16616, - 22: __ccgo_ts + 16551, - 23: __ccgo_ts + 16555, - 24: __ccgo_ts + 16622, - 25: __ccgo_ts + 16627, - 26: __ccgo_ts + 16632, - 27: __ccgo_ts + 16555, - 28: __ccgo_ts + 16636, - 29: __ccgo_ts + 16560, - 30: __ccgo_ts + 16644, - 31: __ccgo_ts + 16648, - 32: __ccgo_ts + 16653, - 33: __ccgo_ts + 11799, - 34: __ccgo_ts + 11795, - 35: __ccgo_ts + 16659, - 36: __ccgo_ts + 16664, - 37: __ccgo_ts + 16669, - 38: __ccgo_ts + 16513, - 39: __ccgo_ts + 16555, - 40: __ccgo_ts + 16674, - 41: __ccgo_ts + 16681, - 42: __ccgo_ts + 16688, - 43: __ccgo_ts + 9060, - 44: __ccgo_ts + 16696, - 45: __ccgo_ts + 5486, - 46: __ccgo_ts + 16702, - 47: __ccgo_ts + 16513, - 48: __ccgo_ts + 16555, - 49: __ccgo_ts + 16707, - 50: __ccgo_ts + 16712, - 51: __ccgo_ts + 15909, - 52: __ccgo_ts + 16717, - 53: __ccgo_ts + 16730, - 54: __ccgo_ts + 16739, - 55: __ccgo_ts + 16746, - 56: __ccgo_ts + 16757, + 0: __ccgo_ts + 5547, + 1: __ccgo_ts + 16600, + 2: __ccgo_ts + 9185, + 3: __ccgo_ts + 16604, + 4: __ccgo_ts + 16609, + 5: __ccgo_ts + 16612, + 6: __ccgo_ts + 16622, + 7: __ccgo_ts + 16632, + 8: __ccgo_ts + 16638, + 9: __ccgo_ts + 16642, + 10: __ccgo_ts + 16647, + 11: __ccgo_ts + 16652, + 12: __ccgo_ts + 16660, + 13: __ccgo_ts + 16671, + 14: __ccgo_ts + 16674, + 15: __ccgo_ts + 16681, + 16: __ccgo_ts + 16642, + 17: __ccgo_ts + 16647, + 18: __ccgo_ts + 16688, + 19: __ccgo_ts + 16693, + 20: __ccgo_ts + 16696, + 21: __ccgo_ts + 16703, + 22: __ccgo_ts + 16638, + 23: __ccgo_ts + 16642, + 24: __ccgo_ts + 16709, + 25: __ccgo_ts + 16714, + 26: __ccgo_ts + 16719, + 27: __ccgo_ts + 16642, + 28: __ccgo_ts + 16723, + 29: __ccgo_ts + 16647, + 30: __ccgo_ts + 16731, + 31: __ccgo_ts + 16735, + 32: __ccgo_ts + 16740, + 33: __ccgo_ts + 11924, + 34: __ccgo_ts + 11920, + 35: __ccgo_ts + 16746, + 36: __ccgo_ts + 16751, + 37: __ccgo_ts + 16756, + 38: __ccgo_ts + 16600, + 39: __ccgo_ts + 16642, + 40: __ccgo_ts + 16761, + 41: __ccgo_ts + 16768, + 42: __ccgo_ts + 16775, + 43: __ccgo_ts + 9185, + 44: __ccgo_ts + 16783, + 45: __ccgo_ts + 5550, + 46: __ccgo_ts + 16789, + 47: __ccgo_ts + 16600, + 48: __ccgo_ts + 16642, + 49: __ccgo_ts + 16794, + 50: __ccgo_ts + 16799, + 51: __ccgo_ts + 15988, + 52: __ccgo_ts + 16804, + 53: __ccgo_ts + 16817, + 54: __ccgo_ts + 16826, + 55: __ccgo_ts + 16833, + 56: __ccgo_ts + 16844, } // C documentation @@ -112049,191 +112717,191 @@ type PragmaName = TPragmaName var _aPragmaName = [66]TPragmaName{ 0: { - FzName: __ccgo_ts + 16765, + FzName: __ccgo_ts + 16852, FePragTyp: uint8(PragTyp_ANALYSIS_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 1: { - FzName: __ccgo_ts + 16780, + FzName: __ccgo_ts + 16867, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_APPLICATION_ID), }, 2: { - FzName: __ccgo_ts + 16795, + FzName: __ccgo_ts + 16882, FePragTyp: uint8(PragTyp_AUTO_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 3: { - FzName: __ccgo_ts + 16807, + FzName: __ccgo_ts + 16894, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_AutoIndex), }, 4: { - FzName: __ccgo_ts + 16823, + FzName: __ccgo_ts + 16910, FePragTyp: uint8(PragTyp_BUSY_TIMEOUT), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(56), FnPragCName: uint8(1), }, 5: { - FzName: __ccgo_ts + 16746, + FzName: __ccgo_ts + 16833, FePragTyp: uint8(PragTyp_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 6: { - FzName: __ccgo_ts + 16836, + FzName: __ccgo_ts + 16923, FePragTyp: uint8(PragTyp_CACHE_SPILL), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 7: { - FzName: __ccgo_ts + 16848, + FzName: __ccgo_ts + 16935, FePragTyp: uint8(PragTyp_CASE_SENSITIVE_LIKE), FmPragFlg: uint8(PragFlg_NoColumns), }, 8: { - FzName: __ccgo_ts + 16868, + FzName: __ccgo_ts + 16955, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CellSizeCk), }, 9: { - FzName: __ccgo_ts + 16884, + FzName: __ccgo_ts + 16971, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CkptFullFSync), }, 10: { - FzName: __ccgo_ts + 16905, + FzName: __ccgo_ts + 16992, FePragTyp: uint8(PragTyp_COLLATION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(38), FnPragCName: uint8(2), }, 11: { - FzName: __ccgo_ts + 16920, + FzName: __ccgo_ts + 17007, FePragTyp: uint8(PragTyp_COMPILE_OPTIONS), FmPragFlg: uint8(PragFlg_Result0), }, 12: { - FzName: __ccgo_ts + 16936, + FzName: __ccgo_ts + 17023, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00001)) << libc.Int32FromInt32(32), }, 13: { - FzName: __ccgo_ts + 16950, + FzName: __ccgo_ts + 17037, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_DATA_VERSION), }, 14: { - FzName: __ccgo_ts + 16963, + FzName: __ccgo_ts + 17050, FePragTyp: uint8(PragTyp_DATABASE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(47), FnPragCName: uint8(3), }, 15: { - FzName: __ccgo_ts + 16977, + FzName: __ccgo_ts + 17064, FePragTyp: uint8(PragTyp_DEFAULT_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiPragCName: uint8(55), FnPragCName: uint8(1), }, 16: { - FzName: __ccgo_ts + 16996, + FzName: __ccgo_ts + 17083, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_DeferFKs), }, 17: { - FzName: __ccgo_ts + 17015, + FzName: __ccgo_ts + 17102, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_NullCallback), }, 18: { - FzName: __ccgo_ts + 17038, + FzName: __ccgo_ts + 17125, FePragTyp: uint8(PragTyp_ENCODING), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 19: { - FzName: __ccgo_ts + 17047, + FzName: __ccgo_ts + 17134, FePragTyp: uint8(PragTyp_FOREIGN_KEY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(43), FnPragCName: uint8(4), }, 20: { - FzName: __ccgo_ts + 17065, + FzName: __ccgo_ts + 17152, FePragTyp: uint8(PragTyp_FOREIGN_KEY_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FnPragCName: uint8(8), }, 21: { - FzName: __ccgo_ts + 17082, + FzName: __ccgo_ts + 17169, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ForeignKeys), }, 22: { - FzName: __ccgo_ts + 17095, + FzName: __ccgo_ts + 17182, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), }, 23: { - FzName: __ccgo_ts + 17110, + FzName: __ccgo_ts + 17197, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullColNames), }, 24: { - FzName: __ccgo_ts + 17128, + FzName: __ccgo_ts + 17215, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullFSync), }, 25: { - FzName: __ccgo_ts + 17138, + FzName: __ccgo_ts + 17225, FePragTyp: uint8(PragTyp_FUNCTION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(27), FnPragCName: uint8(6), }, 26: { - FzName: __ccgo_ts + 17152, + FzName: __ccgo_ts + 17239, FePragTyp: uint8(PragTyp_HARD_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 27: { - FzName: __ccgo_ts + 17168, + FzName: __ccgo_ts + 17255, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_IgnoreChecks), }, 28: { - FzName: __ccgo_ts + 17193, + FzName: __ccgo_ts + 17280, FePragTyp: uint8(PragTyp_INCREMENTAL_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_NoColumns)), }, 29: { - FzName: __ccgo_ts + 17212, + FzName: __ccgo_ts + 17299, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), FnPragCName: uint8(3), }, 30: { - FzName: __ccgo_ts + 17223, + FzName: __ccgo_ts + 17310, FePragTyp: uint8(PragTyp_INDEX_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(38), FnPragCName: uint8(5), }, 31: { - FzName: __ccgo_ts + 17234, + FzName: __ccgo_ts + 17321, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), @@ -112241,146 +112909,146 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 32: { - FzName: __ccgo_ts + 17246, + FzName: __ccgo_ts + 17333, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 33: { - FzName: __ccgo_ts + 17262, + FzName: __ccgo_ts + 17349, FePragTyp: uint8(PragTyp_JOURNAL_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 34: { - FzName: __ccgo_ts + 17275, + FzName: __ccgo_ts + 17362, FePragTyp: uint8(PragTyp_JOURNAL_SIZE_LIMIT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 35: { - FzName: __ccgo_ts + 17294, + FzName: __ccgo_ts + 17381, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_LegacyAlter), }, 36: { - FzName: __ccgo_ts + 17313, + FzName: __ccgo_ts + 17400, FePragTyp: uint8(PragTyp_LOCKING_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 37: { - FzName: __ccgo_ts + 17326, + FzName: __ccgo_ts + 17413, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 38: { - FzName: __ccgo_ts + 17341, + FzName: __ccgo_ts + 17428, FePragTyp: uint8(PragTyp_MMAP_SIZE), }, 39: { - FzName: __ccgo_ts + 17351, + FzName: __ccgo_ts + 17438, FePragTyp: uint8(PragTyp_MODULE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 40: { - FzName: __ccgo_ts + 17363, + FzName: __ccgo_ts + 17450, FePragTyp: uint8(PragTyp_OPTIMIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_NeedSchema)), }, 41: { - FzName: __ccgo_ts + 17372, + FzName: __ccgo_ts + 17459, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 42: { - FzName: __ccgo_ts + 17383, + FzName: __ccgo_ts + 17470, FePragTyp: uint8(PragTyp_PAGE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 43: { - FzName: __ccgo_ts + 17393, + FzName: __ccgo_ts + 17480, FePragTyp: uint8(PragTyp_PRAGMA_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 44: { - FzName: __ccgo_ts + 17405, + FzName: __ccgo_ts + 17492, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_QueryOnly), }, 45: { - FzName: __ccgo_ts + 17416, + FzName: __ccgo_ts + 17503, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 46: { - FzName: __ccgo_ts + 17428, + FzName: __ccgo_ts + 17515, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00004)) << libc.Int32FromInt32(32), }, 47: { - FzName: __ccgo_ts + 17445, + FzName: __ccgo_ts + 17532, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_RecTriggers), }, 48: { - FzName: __ccgo_ts + 17464, + FzName: __ccgo_ts + 17551, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ReverseOrder), }, 49: { - FzName: __ccgo_ts + 17490, + FzName: __ccgo_ts + 17577, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_SCHEMA_VERSION), }, 50: { - FzName: __ccgo_ts + 17505, + FzName: __ccgo_ts + 17592, FePragTyp: uint8(PragTyp_SECURE_DELETE), FmPragFlg: uint8(PragFlg_Result0), }, 51: { - FzName: __ccgo_ts + 17519, + FzName: __ccgo_ts + 17606, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ShortColNames), }, 52: { - FzName: __ccgo_ts + 17538, + FzName: __ccgo_ts + 17625, FePragTyp: uint8(PragTyp_SHRINK_MEMORY), FmPragFlg: uint8(PragFlg_NoColumns), }, 53: { - FzName: __ccgo_ts + 17552, + FzName: __ccgo_ts + 17639, FePragTyp: uint8(PragTyp_SOFT_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 54: { - FzName: __ccgo_ts + 17568, + FzName: __ccgo_ts + 17655, FePragTyp: uint8(PragTyp_SYNCHRONOUS), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 55: { - FzName: __ccgo_ts + 17580, + FzName: __ccgo_ts + 17667, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), FnPragCName: uint8(6), }, 56: { - FzName: __ccgo_ts + 17591, + FzName: __ccgo_ts + 17678, FePragTyp: uint8(PragTyp_TABLE_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1)), FiPragCName: uint8(15), FnPragCName: uint8(6), }, 57: { - FzName: __ccgo_ts + 17602, + FzName: __ccgo_ts + 17689, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), @@ -112388,45 +113056,45 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 58: { - FzName: __ccgo_ts + 17614, + FzName: __ccgo_ts + 17701, FePragTyp: uint8(PragTyp_TEMP_STORE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 59: { - FzName: __ccgo_ts + 17625, + FzName: __ccgo_ts + 17712, FePragTyp: uint8(PragTyp_TEMP_STORE_DIRECTORY), FmPragFlg: uint8(PragFlg_NoColumns1), }, 60: { - FzName: __ccgo_ts + 17646, + FzName: __ccgo_ts + 17733, FePragTyp: uint8(PragTyp_THREADS), FmPragFlg: uint8(PragFlg_Result0), }, 61: { - FzName: __ccgo_ts + 17654, + FzName: __ccgo_ts + 17741, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_TrustedSchema), }, 62: { - FzName: __ccgo_ts + 17669, + FzName: __ccgo_ts + 17756, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_USER_VERSION), }, 63: { - FzName: __ccgo_ts + 17682, + FzName: __ccgo_ts + 17769, FePragTyp: uint8(PragTyp_WAL_AUTOCHECKPOINT), }, 64: { - FzName: __ccgo_ts + 17701, + FzName: __ccgo_ts + 17788, FePragTyp: uint8(PragTyp_WAL_CHECKPOINT), FmPragFlg: uint8(PragFlg_NeedSchema), FiPragCName: uint8(50), FnPragCName: uint8(3), }, 65: { - FzName: __ccgo_ts + 17716, + FzName: __ccgo_ts + 17803, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(SQLITE_WriteSchema) | libc.Int32FromInt32(SQLITE_NoSchemaError)), @@ -112438,6 +113106,31 @@ var _aPragmaName = [66]TPragmaName{ /************** End of pragma.h **********************************************/ /************** Continuing where we left off in pragma.c *********************/ +/* +** When the 0x10 bit of PRAGMA optimize is set, any ANALYZE commands +** will be run with an analysis_limit set to the lessor of the value of +** the following macro or to the actual analysis_limit if it is non-zero, +** in order to prevent PRAGMA optimize from running for too long. +** +** The value of 2000 is chosen emperically so that the worst-case run-time +** for PRAGMA optimize does not exceed 100 milliseconds against a variety +** of test databases on a RaspberryPI-4 compiled using -Os and without +** -DSQLITE_DEBUG. Of course, your mileage may vary. For the purpose of +** this paragraph, "worst-case" means that ANALYZE ends up being +** run on every table in the database. The worst case typically only +** happens if PRAGMA optimize is run on a database file for which ANALYZE +** has not been previously run and the 0x10000 flag is included so that +** all tables are analyzed. The usual case for PRAGMA optimize is that +** no ANALYZE commands will be run at all, or if any ANALYZE happens it +** will be against a single table, so that expected timing for PRAGMA +** optimize on a PI-4 is more like 1 millisecond or less with the 0x10000 +** flag or less than 100 microseconds without the 0x10000 flag. +** +** An analysis limit of 2000 is almost always sufficient for the query +** planner to fully characterize an index. The additional accuracy from +** a larger analysis is not usually helpful. + */ + // C documentation // // /* @@ -112527,10 +113220,10 @@ func _sqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt Tu8) (r Tu8) { // */ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { if z != 0 { - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17732) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17819) { return int32(PAGER_LOCKINGMODE_EXCLUSIVE) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17742) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17829) { return PAGER_LOCKINGMODE_NORMAL } } @@ -112548,13 +113241,13 @@ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { func _getAutoVacuum(tls *libc.TLS, z uintptr) (r int32) { var i, v1 int32 _, _ = i, v1 - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8220) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8345) { return BTREE_AUTOVACUUM_NONE } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17749) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17836) { return int32(BTREE_AUTOVACUUM_FULL) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17754) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17841) { return int32(BTREE_AUTOVACUUM_INCR) } i = _sqlite3Atoi(tls, z) @@ -112577,10 +113270,10 @@ func _getTempStore(tls *libc.TLS, z uintptr) (r int32) { if int32(*(*int8)(unsafe.Pointer(z))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(z))) <= int32('2') { return int32(*(*int8)(unsafe.Pointer(z))) - int32('0') } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+16707) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+16794) == 0 { return int32(1) } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+17766) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+17853) == 0 { return int32(2) } else { return 0 @@ -112602,7 +113295,7 @@ func _invalidateTempStorage(tls *libc.TLS, pParse uintptr) (r int32) { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt != uintptr(0) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || _sqlite3BtreeTxnState(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) != SQLITE_TXN_NONE { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17773, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17860, 0) return int32(SQLITE_ERROR) } _sqlite3BtreeClose(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) @@ -112732,15 +113425,15 @@ func _actionName(tls *libc.TLS, action Tu8) (r uintptr) { _ = zName switch int32(action) { case int32(OE_SetNull): - zName = __ccgo_ts + 17835 + zName = __ccgo_ts + 17922 case int32(OE_SetDflt): - zName = __ccgo_ts + 17844 + zName = __ccgo_ts + 17931 case int32(OE_Cascade): - zName = __ccgo_ts + 17856 + zName = __ccgo_ts + 17943 case int32(OE_Restrict): - zName = __ccgo_ts + 17864 + zName = __ccgo_ts + 17951 default: - zName = __ccgo_ts + 17873 + zName = __ccgo_ts + 17960 break } return zName @@ -112761,12 +113454,12 @@ func _sqlite3JournalModename(tls *libc.TLS, eMode int32) (r uintptr) { } var _azModeName = [6]uintptr{ - 0: __ccgo_ts + 17883, - 1: __ccgo_ts + 17890, - 2: __ccgo_ts + 17898, - 3: __ccgo_ts + 17902, - 4: __ccgo_ts + 17766, - 5: __ccgo_ts + 17911, + 0: __ccgo_ts + 17970, + 1: __ccgo_ts + 17977, + 2: __ccgo_ts + 17985, + 3: __ccgo_ts + 17989, + 4: __ccgo_ts + 17853, + 5: __ccgo_ts + 17998, } // C documentation @@ -112828,15 +113521,15 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s goto _1 } if (*TFuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = __ccgo_ts + 17936 + zType = __ccgo_ts + 18023 } else { if (*TFuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = __ccgo_ts + 17938 + zType = __ccgo_ts + 18025 } else { - zType = __ccgo_ts + 7619 + zType = __ccgo_ts + 7744 } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+17940, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18027, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) goto _1 _1: ; @@ -112845,9 +113538,9 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s } var _azEnc = [4]uintptr{ - 1: __ccgo_ts + 17915, - 2: __ccgo_ts + 17920, - 3: __ccgo_ts + 17928, + 1: __ccgo_ts + 18002, + 2: __ccgo_ts + 18007, + 3: __ccgo_ts + 18015, } // C documentation @@ -112888,15 +113581,15 @@ func _integrityCheckResultRow(tls *libc.TLS, v uintptr) (r int32) { func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { bp := tls.Alloc(240) defer tls.Free(240) - var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, mxIdx, n, nHidden, nIdx, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v60, v62, v63, v64, v65, v68 int32 - var aOp, aOp1, aOp2, aOp3, aOp4, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v61, v66, v8 uintptr + var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v48, v50, v64, v66, v67, v68, v69, v72, v75, v76 int32 + var aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v65, v70, v8 uintptr var azOrigin [3]uintptr var cnum Ti16 var enc Tu8 var iPrior Tsqlite3_int64 + var iRange, szThreshold TLogEst var mask Tu64 var opMask Tu32 - var szThreshold TLogEst var _ /* N at bp+136 */ Tsqlite3_int64 var _ /* N at bp+144 */ Tsqlite3_int64 var _ /* N at bp+152 */ Tsqlite3_int64 @@ -112917,7 +113610,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var _ /* size at bp+60 */ int32 var _ /* sz at bp+64 */ Tsqlite3_int64 var _ /* x at bp+40 */ Ti64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iPrior, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, mxIdx, n, nHidden, nIdx, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v5, v60, v61, v62, v63, v64, v65, v66, v68, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iPrior, iRange, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v48, v5, v50, v64, v65, v66, v67, v68, v69, v70, v72, v75, v76, v8 zLeft = uintptr(0) /* Nul-terminated UTF-8 string */ zRight = uintptr(0) /* Nul-terminated UTF-8 string , or NULL */ zDb = uintptr(0) /* return value form SQLITE_FCNTL_PRAGMA */ @@ -112946,7 +113639,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p return } if minusFlag != 0 { - zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+17947, libc.VaList(bp+176, pValue)) + zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+18034, libc.VaList(bp+176, pValue)) } else { zRight = _sqlite3NameFromToken(tls, db, pValue) } @@ -112989,7 +113682,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } if rc != int32(SQLITE_NOTFOUND) { if (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0] != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3797, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3861, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) Xsqlite3_free(tls, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0]) } (*TParse)(unsafe.Pointer(pParse)).FnErr++ @@ -113093,7 +113786,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pBt1 = (*TDb)(unsafe.Pointer(pDb)).FpBt b = -int32(1) if zRight != 0 { - if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+17951) == 0 { + if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18038) == 0 { b = int32(2) } else { b = int32(_sqlite3GetBoolean(tls, zRight, uint8(0))) @@ -113164,7 +113857,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p */ fallthrough case int32(PragTyp_LOCKING_MODE): - zRet = __ccgo_ts + 17742 + zRet = __ccgo_ts + 17829 eMode = _getLockingMode(tls, zRight) if (*TToken)(unsafe.Pointer(pId2)).Fn == uint32(0) && eMode == -int32(1) { /* Simple "PRAGMA locking_mode;" statement. This is a query for @@ -113192,7 +113885,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p eMode = _sqlite3PagerLockingMode(tls, pPager, eMode) } if eMode == int32(PAGER_LOCKINGMODE_EXCLUSIVE) { - zRet = __ccgo_ts + 17732 + zRet = __ccgo_ts + 17819 } _returnSingleText(tls, v, zRet) break @@ -113482,7 +114175,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if *(*int8)(unsafe.Pointer(zRight)) != 0 { rc = _sqlite3OsAccess(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, zRight, int32(SQLITE_ACCESS_READWRITE), bp+72) if rc != SQLITE_OK || *(*int32)(unsafe.Pointer(bp + 72)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17956, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18043, 0) Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) goto pragma_out } @@ -113492,7 +114185,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } Xsqlite3_free(tls, Xsqlite3_temp_directory) if *(*int8)(unsafe.Pointer(zRight)) != 0 { - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+176, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+176, zRight)) } else { Xsqlite3_temp_directory = uintptr(0) } @@ -113514,7 +114207,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _returnSingleInt(tls, v, int64(int32((*TDb)(unsafe.Pointer(pDb)).Fsafety_level)-int32(1))) } else { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17981, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18068, 0) } else { if iDb != int32(1) { iLevel = (int32(_getSafetyLevel(tls, zRight, 0, uint8(1))) + int32(1)) & int32(PAGER_SYNCHRONOUS_MASK) @@ -113547,7 +114240,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if mask == uint64(SQLITE_DeferFKs) { (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons = 0 } - if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18034) == 0 { + if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18121) == 0 { /* IMP: R-60817-01178 If the argument is "RESET" then schema ** writing is disabled (as with "PRAGMA writable_schema=OFF") and, ** in addition, the schema is reloaded. */ @@ -113627,9 +114320,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pColExpr = _sqlite3ColumnExpr(tls, pTab, pCol) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - v14 = __ccgo_ts + 18040 + v14 = __ccgo_ts + 18127 } else { - v14 = __ccgo_ts + 18048 + v14 = __ccgo_ts + 18135 } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 { v15 = int32(1) @@ -113641,7 +114334,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v16 = *(*uintptr)(unsafe.Pointer(pColExpr + 8)) } - _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1650), v15, v16, k, isHidden)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1664), v15, v16, k, isHidden)) goto _12 _12: ; @@ -113700,7 +114393,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pTab1 = (*THashElem)(unsafe.Pointer(k1)).Fdata if int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) == 0 { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18055, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18142, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 80)) = uintptr(0) Xsqlite3_prepare(tls, db, zSql, -int32(1), bp+80, uintptr(0)) @@ -113708,7 +114401,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3DbFree(tls, db, zSql) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1634, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) } pHash = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FpSchema + 8 @@ -113730,19 +114423,19 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _20 } if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10798 + zType = __ccgo_ts + 10923 } else { if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 13046 + zType = __ccgo_ts + 13171 } else { if (*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Shadow) != 0 { - zType = __ccgo_ts + 18071 + zType = __ccgo_ts + 18158 } else { - zType = __ccgo_ts + 9060 + zType = __ccgo_ts + 9185 } } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18078, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18165, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) goto _20 _20: ; @@ -113789,9 +114482,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v22 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab3)).FaCol + uintptr(cnum)*16))).FzCnName } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18085, libc.VaList(bp+176, i1, int32(cnum), v22)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18172, libc.VaList(bp+176, i1, int32(cnum), v22)) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18090, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) + _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18177, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) } _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), int32(1), (*TParse)(unsafe.Pointer(pParse)).FnMem) goto _21 @@ -113815,11 +114508,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } azOrigin = [3]uintptr{ - 0: __ccgo_ts + 18095, - 1: __ccgo_ts + 18097, - 2: __ccgo_ts + 16584, + 0: __ccgo_ts + 18182, + 1: __ccgo_ts + 18184, + 2: __ccgo_ts + 16671, } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18099, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18186, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) goto _23 _23: ; @@ -113838,7 +114531,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt == uintptr(0) { goto _24 } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18105, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18192, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) goto _24 _24: ; @@ -113855,7 +114548,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pColl = (*THashElem)(unsafe.Pointer(p)).Fdata v26 = i4 i4++ - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18109, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18196, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) goto _25 _25: ; @@ -113905,7 +114598,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } pMod = (*THashElem)(unsafe.Pointer(j1)).Fdata - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7619, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7744, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) goto _30 _30: ; @@ -113917,7 +114610,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i6 < int32(libc.Uint64FromInt64(1584)/libc.Uint64FromInt64(24))) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7619, libc.VaList(bp+176, _aPragmaName[i6].FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7744, libc.VaList(bp+176, _aPragmaName[i6].FzName)) goto _31 _31: ; @@ -113943,7 +114636,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(j2 < (*TFKey)(unsafe.Pointer(pFK)).FnCol) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18112, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18121)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18199, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18208)) goto _32 _32: ; @@ -114084,7 +114777,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regResult+int32(1)) } - _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18126, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) + _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18213, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), regResult, int32(4)) _sqlite3VdbeResolveLabel(tls, v, addrOk) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 96))) @@ -114152,7 +114845,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p /* Set the maximum error count */ *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) if zRight != 0 { - if _sqlite3GetInt32(tls, zRight, bp+104) != 0 { + if _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pValue)).Fz, bp+104) != 0 { if *(*int32)(unsafe.Pointer(bp + 104)) <= 0 { *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) } @@ -114172,8 +114865,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i9 < (*Tsqlite3)(unsafe.Pointer(db)).FnDb) { break } /* Array of root page numbers of all btrees */ - cnt = 0 /* Number of entries in aRoot[] */ - mxIdx = 0 /* Maximum number of indexes for any table */ + cnt = 0 /* Number of entries in aRoot[] */ if libc.Bool(OMIT_TEMPDB != 0) && i9 == int32(1) { goto _40 } @@ -114214,9 +114906,6 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pIdx3 = (*TIndex)(unsafe.Pointer(pIdx3)).FpNext nIdx++ } - if nIdx > mxIdx { - mxIdx = nIdx - } goto _41 _41: ; @@ -114272,16 +114961,78 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } *(*int32)(unsafe.Pointer(aRoot)) = cnt /* Make sure sufficient number of registers have been allocated */ - _sqlite3TouchRegister(tls, pParse, int32(8)+mxIdx) + _sqlite3TouchRegister(tls, pParse, int32(8)+cnt) _sqlite3ClearTempRegCache(tls, pParse) /* Do the b-tree integrity checks */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(2), cnt, int32(1), aRoot, -int32(14)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(1), cnt, int32(8), aRoot, -int32(14)) _sqlite3VdbeChangeP5(tls, v, uint16(uint8(i9))) addr1 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(2)) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18130, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18217, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(2), int32(3), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, addr1) + /* Check that the indexes all have the right number of rows */ + if pObjTab != 0 { + v48 = int32(1) + } else { + v48 = 0 + } + cnt = v48 + _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18241) + x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst + for { + if !(x2 != 0) { + break + } + iTab = 0 + pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab9 { + goto _49 + } + if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + v50 = cnt + cnt++ + iTab = v50 + } else { + iTab = cnt + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx5 + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { + break + } + iTab++ + goto _51 + _51: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + } + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if (*TIndex)(unsafe.Pointer(pIdx5)).FpPartIdxWhere == uintptr(0) { + addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+cnt, 0, int32(8)+iTab) + _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) + _integrityCheckResultRow(tls, v) + _sqlite3VdbeJumpHere(tls, v, addr1) + } + cnt++ + goto _52 + _52: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + goto _49 + _49: + ; + x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext + } /* Make sure all the indices are constructed correctly. */ x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst @@ -114289,39 +115040,39 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata pPrior = uintptr(0) r1 = -int32(1) /* Maximum non-virtual column number */ - if pObjTab != 0 && pObjTab != pTab9 { - goto _48 + if pObjTab != 0 && pObjTab != pTab10 { + goto _53 } - if !(int32((*TTable)(unsafe.Pointer(pTab9)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { - goto _48 + if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _53 } - if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { pPk1 = uintptr(0) r2 = 0 } else { - pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab9) + pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab10) r2 = _sqlite3GetTempRange(tls, pParse, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), int32(1), r2, r2+int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)-int32(1)) } - _sqlite3OpenTableAndIndices(tls, pParse, pTab9, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) + _sqlite3OpenTableAndIndices(tls, pParse, pTab10, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) /* reg[7] counts the number of entries in the table. ** reg[8+i] counts the number of entries in the i-th index */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(7)) j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(8)+j4) /* index entries counter */ - goto _49 - _49: + goto _54 + _54: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), *(*int32)(unsafe.Pointer(bp + 108)), 0) @@ -114331,29 +115082,29 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** will also prepopulate the cursor column cache that is used ** by the OP_IsType code, so it is a required step. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { mxCol = -int32(1) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { + if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { mxCol++ } - goto _50 - _50: + goto _55 + _55: ; j4++ } - if mxCol == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { + if mxCol == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { mxCol-- } } else { /* COLFLAG_VIRTUAL columns are not included in the WITHOUT ROWID ** PK index column-count, so there is no need to account for them ** in this case. */ - mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab9))).FnColumn) - int32(1) + mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab10))).FnColumn) - int32(1) } if mxCol >= 0 { _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 108)), mxCol, int32(3)) @@ -114363,7 +115114,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if pPk1 != 0 { a1 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 108)), 0, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), r2) - zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18154, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18270, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a1) @@ -114374,8 +115125,8 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprCodeLoadIndexColumn(tls, pParse, pPk1, *(*int32)(unsafe.Pointer(bp + 108)), j4, r2+j4) - goto _51 - _51: + goto _56 + _56: ; j4++ } @@ -114390,15 +115141,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** (4) Datatype for numeric columns in non-STRICT tables must not ** be a TEXT value that can be losslessly converted to numeric. */ - bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_Strict) != uint32(0)) + bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_Strict) != uint32(0)) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - pCol1 = (*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ - if j4 == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { - goto _52 + pCol1 = (*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ + if j4 == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { + goto _57 } if bStrict != 0 { doTypeCheck = libc.BoolInt32(int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4)) > int32(COLTYPE_ANY)) @@ -114406,28 +115157,28 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p doTypeCheck = libc.BoolInt32(int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) > int32(SQLITE_AFF_BLOB)) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf>>0)) == 0 && !(doTypeCheck != 0) { - goto _52 + goto _57 } /* Compute the operands that will be needed for OP_IsType */ p4 = int32(SQLITE_NULL) if int32((*TColumn)(unsafe.Pointer(pCol1)).FcolFlags)&int32(COLFLAG_VIRTUAL) != 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) p11 = -int32(1) p3 = int32(3) } else { if (*TColumn)(unsafe.Pointer(pCol1)).FiDflt != 0 { *(*uintptr)(unsafe.Pointer(bp + 120)) = uintptr(0) - _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab9, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8((*TColumn)(unsafe.Pointer(pCol1)).Faffinity), bp+120) + _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab10, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8((*TColumn)(unsafe.Pointer(pCol1)).Faffinity), bp+120) if *(*uintptr)(unsafe.Pointer(bp + 120)) != 0 { p4 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) } } p11 = *(*int32)(unsafe.Pointer(bp + 108)) - if !((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { - p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab9), int16(j4))) + if !((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { + p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab10), int16(j4))) } else { - p3 = int32(_sqlite3TableColumnToStorage(tls, pTab9, int16(j4))) + p3 = int32(_sqlite3TableColumnToStorage(tls, pTab10, int16(j4))) } } labelError = _sqlite3VdbeMakeLabel(tls, pParse) @@ -114444,10 +115195,10 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** is REAL, we have to load the actual data using OP_Column ** to reliably determine if the value is a NULL. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), p11, p3, int32(3)) - _sqlite3ColumnDefault(tls, v, pTab9, j4, int32(3)) + _sqlite3ColumnDefault(tls, v, pTab10, j4, int32(3)) jmp3 = _sqlite3VdbeAddOp2(tls, v, int32(OP_NotNull), int32(3), labelOk) } - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18190, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18306, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) if doTypeCheck != 0 { _sqlite3VdbeGoto(tls, v, labelError) @@ -114460,7 +115211,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if bStrict != 0 && doTypeCheck != 0 { _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(_aStdTypeMask[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)])) - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18210, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18326, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) == int32(SQLITE_AFF_TEXT) { @@ -114468,7 +115219,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** NULL, TEXT, or BLOB. */ _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18232, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18348, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) >= int32(SQLITE_AFF_NUMERIC) { @@ -114477,12 +115228,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1b)) /* NULL, INT, FLOAT, or BLOB */ if p11 >= 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18255, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18371, -int32(1)) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), -int32(1), labelOk, int32(3), p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18257, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18373, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } } @@ -114490,14 +115241,14 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeResolveLabel(tls, v, labelError) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, labelOk) - goto _52 - _52: + goto _57 + _57: ; j4++ } /* Verify CHECK constraints */ - if (*TTable)(unsafe.Pointer(pTab9)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { - pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab9)).FpCheck, 0) + if (*TTable)(unsafe.Pointer(pTab10)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { + pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab10)).FpCheck, 0) if int32((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { addrCkFault = _sqlite3VdbeMakeLabel(tls, pParse) addrCkOk = _sqlite3VdbeMakeLabel(tls, pParse) @@ -114508,15 +115259,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprIfFalse(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8 + uintptr(k3)*32))).FpExpr, addrCkFault, 0) - goto _53 - _53: + goto _58 + _58: ; k3-- } _sqlite3ExprIfTrue(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8))).FpExpr, addrCkOk, int32(SQLITE_JUMPIFNULL)) _sqlite3VdbeResolveLabel(tls, v, addrCkFault) (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18277, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18393, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr2, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -114526,25 +115277,25 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(isQuick != 0) { /* Omit the remaining tests for quick_check */ /* Validate index entries for the current row */ j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } ckUniq = _sqlite3VdbeMakeLabel(tls, pParse) - if pPk1 == pIdx5 { - goto _54 + if pPk1 == pIdx6 { + goto _59 } - r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) - pPrior = pIdx5 + r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx6, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) + pPrior = pIdx6 _sqlite3VdbeAddOp2(tls, v, int32(OP_AddImm), int32(8)+j4, int32(1)) /* increment entry count */ /* Verify that an index entry exists for the current table row */ - jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18307) + jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18423) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18312) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18428) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) - jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx6)).FzName) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) jmp4 = _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, jmp21) @@ -114552,12 +115303,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** that extracts the rowid off the end of the index record. ** But it only works correctly if index record does not have ** any extra bytes at the end. Verify that this is the case. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { _sqlite3VdbeAddOp2(tls, v, int32(OP_IdxRowid), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)-int32(1)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18333) + jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)-int32(1)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18449) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18369) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18485) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp7) } @@ -114566,100 +115317,75 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p label6 = 0 kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { - goto _55 + if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { + goto _60 } if label6 == 0 { label6 = _sqlite3VdbeMakeLabel(tls, pParse) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 112))+j4, kk, int32(3)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ne), int32(3), label6, r1+kk) - goto _55 - _55: + goto _60 + _60: ; kk++ } if label6 != 0 { jmp6 = _sqlite3VdbeAddOp0(tls, v, int32(OP_Goto)) _sqlite3VdbeResolveLabel(tls, v, label6) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18307) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18423) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18380) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18496) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp6) } /* For UNIQUE indexes, verify that only one entry exists with the ** current key. The entry is unique if (1) any column is NULL ** or (2) the next entry has a different key */ - if int32((*TIndex)(unsafe.Pointer(pIdx5)).FonError) != OE_None { + if int32((*TIndex)(unsafe.Pointer(pIdx6)).FonError) != OE_None { uniqOk = _sqlite3VdbeMakeLabel(tls, pParse) kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2))) - if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { - goto _56 + iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FaiColumn + uintptr(kk)*2))) + if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { + goto _61 } _sqlite3VdbeAddOp2(tls, v, int32(OP_IsNull), r1+kk, uniqOk) - goto _56 - _56: + goto _61 + _61: ; kk++ } jmp61 = _sqlite3VdbeAddOp1(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 112))+j4) _sqlite3VdbeGoto(tls, v, uniqOk) _sqlite3VdbeJumpHere(tls, v, jmp61) - _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18407) + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18523) _sqlite3VdbeGoto(tls, v, jmp5) _sqlite3VdbeResolveLabel(tls, v, uniqOk) } _sqlite3VdbeJumpHere(tls, v, jmp4) _sqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 128))) - goto _54 - _54: + goto _59 + _59: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } } _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 108)), loopTop) _sqlite3VdbeJumpHere(tls, v, loopTop-int32(1)) - if !(isQuick != 0) { - _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18434) - j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex - for { - if !(pIdx5 != 0) { - break - } - if pPk1 == pIdx5 { - goto _57 - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+j4, 0, int32(3)) - _sqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) - _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) - _integrityCheckResultRow(tls, v) - _sqlite3VdbeJumpHere(tls, v, addr1) - goto _57 - _57: - ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext - j4++ - } - if pPk1 != 0 { - _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) - } + if pPk1 != 0 { + _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) } - goto _48 - _48: + goto _53 + _53: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -114671,60 +115397,60 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata - if pObjTab != 0 && pObjTab != pTab10 { - goto _58 + pTab11 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab11 { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == TABTYP_NORM { - goto _58 + if int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == TABTYP_NORM { + goto _62 } - if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { - goto _58 + if !(int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FnCol) <= 0 { + if int32((*TTable)(unsafe.Pointer(pTab11)).FnCol) <= 0 { zMod = *(*uintptr)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).FazArg)) + })(unsafe.Pointer(pTab11 + 64))).FazArg)) if _sqlite3HashFind(tls, db+576, zMod) == uintptr(0) { - goto _58 + goto _62 } } - _sqlite3ViewGetColumnNames(tls, pParse, pTab10) + _sqlite3ViewGetColumnNames(tls, pParse, pTab11) if (*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp == uintptr(0) { - goto _58 + })(unsafe.Pointer(pTab11 + 64))).Fp == uintptr(0) { + goto _62 } pVTab = (*TVTable)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp)).FpVtab + })(unsafe.Pointer(pTab11 + 64))).Fp)).FpVtab if pVTab == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FiVersion < int32(4) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FxIntegrity == uintptr(0) { - goto _58 + goto _62 } _sqlite3VdbeAddOp3(tls, v, int32(OP_VCheck), i9, int32(3), isQuick) - (*TTable)(unsafe.Pointer(pTab10)).FnTabRef++ - _sqlite3VdbeAppendP4(tls, v, pTab10, -int32(16)) + (*TTable)(unsafe.Pointer(pTab11)).FnTabRef++ + _sqlite3VdbeAppendP4(tls, v, pTab11, -int32(16)) a11 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a11) - goto _58 - goto _58 - _58: + goto _62 + goto _62 + _62: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -114737,7 +115463,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if aOp2 != 0 { (*(*TVdbeOp)(unsafe.Pointer(aOp2))).Fp2 = int32(1) - *(*int32)(unsafe.Pointer(bp + 104)) (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 2*24))).Fp4type = int8(-libc.Int32FromInt32(1)) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18463 + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18550 (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 5*24))).Fp4type = int8(-libc.Int32FromInt32(1)) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = _sqlite3ErrStr(tls, int32(SQLITE_CORRUPT)) } @@ -114795,20 +115521,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc != 0 { - v60 = int32((*struct { + v64 = int32((*struct { FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc) } else { - v60 = int32(SQLITE_UTF16LE) + v64 = int32(SQLITE_UTF16LE) } - enc = uint8(v60) + enc = uint8(v64) (*TSchema)(unsafe.Pointer((*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema)).Fenc = enc _sqlite3SetTextEncoding(tls, db, enc) break } - goto _59 - _59: + goto _63 + _63: ; pEnc += 16 } @@ -114816,7 +115542,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).FzName != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18524, libc.VaList(bp+176, zRight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18611, libc.VaList(bp+176, zRight)) } } } @@ -114894,11 +115620,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p i10 = 0 (*TParse)(unsafe.Pointer(pParse)).FnMem = int32(1) for { - v62 = i10 + v66 = i10 i10++ - v61 = Xsqlite3_compileoption_get(tls, v62) - zOpt = v61 - if !(v61 != uintptr(0)) { + v65 = Xsqlite3_compileoption_get(tls, v66) + zOpt = v65 + if !(v65 != uintptr(0)) { break } _sqlite3VdbeLoadString(tls, v, int32(1), zOpt) @@ -114914,20 +115640,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p fallthrough case int32(PragTyp_WAL_CHECKPOINT): if (*TToken)(unsafe.Pointer(pId2)).Fz != 0 { - v63 = iDb + v67 = iDb } else { - v63 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) + v67 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) } - iBt = v63 + iBt = v67 eMode2 = SQLITE_CHECKPOINT_PASSIVE if zRight != 0 { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17749) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17836) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_FULL) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18549) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18636) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_RESTART) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17902) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17989) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_TRUNCATE) } } @@ -114951,11 +115677,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p Xsqlite3_wal_autocheckpoint(tls, db, _sqlite3Atoi(tls, zRight)) } if (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback == __ccgo_fp(_sqlite3WalDefaultHook) { - v64 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) + v68 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) } else { - v64 = 0 + v68 = 0 } - _returnSingleInt(tls, v, int64(v64)) + _returnSingleInt(tls, v, int64(v68)) break /* ** PRAGMA shrink_memory @@ -114983,47 +115709,68 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** ** The optional argument is a bitmask of optimizations to perform: ** - ** 0x0001 Debugging mode. Do not actually perform any optimizations - ** but instead return one line of text for each optimization - ** that would have been done. Off by default. + ** 0x00001 Debugging mode. Do not actually perform any optimizations + ** but instead return one line of text for each optimization + ** that would have been done. Off by default. ** - ** 0x0002 Run ANALYZE on tables that might benefit. On by default. - ** See below for additional information. + ** 0x00002 Run ANALYZE on tables that might benefit. On by default. + ** See below for additional information. ** - ** 0x0004 (Not yet implemented) Record usage and performance - ** information from the current session in the - ** database file so that it will be available to "optimize" - ** pragmas run by future database connections. + ** 0x00010 Run all ANALYZE operations using an analysis_limit that + ** is the lessor of the current analysis_limit and the + ** SQLITE_DEFAULT_OPTIMIZE_LIMIT compile-time option. + ** The default value of SQLITE_DEFAULT_OPTIMIZE_LIMIT is + ** currently (2024-02-19) set to 2000, which is such that + ** the worst case run-time for PRAGMA optimize on a 100MB + ** database will usually be less than 100 milliseconds on + ** a RaspberryPI-4 class machine. On by default. ** - ** 0x0008 (Not yet implemented) Create indexes that might have - ** been helpful to recent queries + ** 0x10000 Look at tables to see if they need to be reanalyzed + ** due to growth or shrinkage even if they have not been + ** queried during the current connection. Off by default. ** - ** The default MASK is and always shall be 0xfffe. 0xfffe means perform all - ** of the optimizations listed above except Debug Mode, including new - ** optimizations that have not yet been invented. If new optimizations are - ** ever added that should be off by default, those off-by-default - ** optimizations will have bitmasks of 0x10000 or larger. + ** The default MASK is and always shall be 0x0fffe. In the current + ** implementation, the default mask only covers the 0x00002 optimization, + ** though additional optimizations that are covered by 0x0fffe might be + ** added in the future. Optimizations that are off by default and must + ** be explicitly requested have masks of 0x10000 or greater. ** ** DETERMINATION OF WHEN TO RUN ANALYZE ** ** In the current implementation, a table is analyzed if only if all of ** the following are true: ** - ** (1) MASK bit 0x02 is set. + ** (1) MASK bit 0x00002 is set. ** - ** (2) The query planner used sqlite_stat1-style statistics for one or - ** more indexes of the table at some point during the lifetime of - ** the current connection. + ** (2) The table is an ordinary table, not a virtual table or view. ** - ** (3) One or more indexes of the table are currently unanalyzed OR - ** the number of rows in the table has increased by 25 times or more - ** since the last time ANALYZE was run. + ** (3) The table name does not begin with "sqlite_". + ** + ** (4) One or more of the following is true: + ** (4a) The 0x10000 MASK bit is set. + ** (4b) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. + ** (4c) The query planner used sqlite_stat1-style statistics for one + ** or more indexes of the table at some point during the lifetime + ** of the current connection. + ** + ** (5) One or more of the following is true: + ** (5a) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. (Same as 4a) + ** (5b) The number of rows in the table has increased or decreased by + ** 10-fold. In other words, the current size of the table is + ** 10 times larger than the size in sqlite_stat1 or else the + ** current size is less than 1/10th the size in sqlite_stat1. ** ** The rules for when tables are analyzed are likely to change in - ** future releases. + ** future releases. Future versions of SQLite might accept a string + ** literal argument to this pragma that contains a mnemonic description + ** of the options rather than a bitmap. */ fallthrough - case int32(PragTyp_OPTIMIZE): /* Mask of operations to perform */ + case int32(PragTyp_OPTIMIZE): /* Analysis limit to use */ + nCheck = 0 /* Number of tables to be optimized */ + nBtree = 0 /* Number of indexes on the current table */ if zRight != 0 { opMask = uint32(_sqlite3Atoi(tls, zRight)) if opMask&uint32(0x02) == uint32(0) { @@ -115032,22 +115779,31 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { opMask = uint32(0xfffe) } - v66 = pParse + 52 - v65 = *(*int32)(unsafe.Pointer(v66)) - *(*int32)(unsafe.Pointer(v66))++ - iTabCur = v65 + if opMask&uint32(0x10) == uint32(0) { + nLimit = 0 + } else { + if (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit > 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit < int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) { + nLimit = 0 + } else { + nLimit = int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) + } + } + v70 = pParse + 52 + v69 = *(*int32)(unsafe.Pointer(v70)) + *(*int32)(unsafe.Pointer(v70))++ + iTabCur = v69 if zDb != 0 { - v68 = iDb + v72 = iDb } else { - v68 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) + v72 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) } - iDbLast = v68 + iDbLast = v72 for { if !(iDb <= iDbLast) { break } if iDb == int32(1) { - goto _67 + goto _71 } _sqlite3CodeVerifySchema(tls, pParse, iDb) pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema @@ -115056,52 +115812,122 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(k4 != 0) { break } - pTab11 = (*THashElem)(unsafe.Pointer(k4)).Fdata - /* If table pTab has not been used in a way that would benefit from - ** having analysis statistics during the current session, then skip it. - ** This also has the effect of skipping virtual tables and views */ - if (*TTable)(unsafe.Pointer(pTab11)).FtabFlags&uint32(TF_StatsUsed) == uint32(0) { - goto _69 - } - /* Reanalyze if the table is 25 times larger than the last analysis */ - szThreshold = int16(int32((*TTable)(unsafe.Pointer(pTab11)).FnRowLogEst) + int32(46)) - pIdx6 = (*TTable)(unsafe.Pointer(pTab11)).FpIndex + pTab12 = (*THashElem)(unsafe.Pointer(k4)).Fdata + /* This only works for ordinary tables */ + if !(int32((*TTable)(unsafe.Pointer(pTab12)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _73 + } + /* Do not scan system tables */ + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab12)).FzName, __ccgo_ts+6591, int32(7)) { + goto _73 + } + /* Find the size of the table as last recorded in sqlite_stat1. + ** If any index is unanalyzed, then the threshold is -1 to + ** indicate a new, unanalyzed index + */ + szThreshold = (*TTable)(unsafe.Pointer(pTab12)).FnRowLogEst + nIndex = 0 + pIdx7 = (*TTable)(unsafe.Pointer(pTab12)).FpIndex for { - if !(pIdx6 != 0) { + if !(pIdx7 != 0) { break } - if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7)) != 0) { - szThreshold = 0 /* Always analyze if any index lacks statistics */ - break + nIndex++ + if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx7 + 100))&0x80>>7)) != 0) { + szThreshold = int16(-int32(1)) /* Always analyze if any index lacks statistics */ } - goto _70 - _70: + goto _74 + _74: ; - pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext + pIdx7 = (*TIndex)(unsafe.Pointer(pIdx7)).FpNext } - if szThreshold != 0 { - _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab11, int32(OP_OpenRead)) - _sqlite3VdbeAddOp3(tls, v, int32(OP_IfSmaller), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), int32(szThreshold)) + /* If table pTab has not been used in a way that would benefit from + ** having analysis statistics during the current session, then skip it, + ** unless the 0x10000 MASK bit is set. */ + if (*TTable)(unsafe.Pointer(pTab12)).FtabFlags&uint32(TF_MaybeReanalyze) != uint32(0) { + /* Check for size change if stat1 has been used for a query */ + } else { + if opMask&uint32(0x10000) != 0 { + /* Check for size change if 0x10000 is set */ + } else { + if (*TTable)(unsafe.Pointer(pTab12)).FpIndex != uintptr(0) && int32(szThreshold) < 0 { + /* Do analysis if unanalyzed indexes exists */ + } else { + /* Otherwise, we can skip this table */ + goto _73 + } + } + } + nCheck++ + if nCheck == int32(2) { + /* If ANALYZE might be invoked two or more times, hold a write + ** transaction for efficiency */ + _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) + } + nBtree += nIndex + int32(1) + /* Reanalyze if the table is 10 times larger or smaller than + ** the last analysis. Unconditional reanalysis if there are + ** unanalyzed indexes. */ + _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab12, int32(OP_OpenRead)) + if int32(szThreshold) >= 0 { + iRange = int16(33) /* 10x size change */ + if int32(szThreshold) >= int32(iRange) { + v75 = int32(szThreshold) - int32(iRange) + } else { + v75 = -int32(1) + } + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IfSizeBetween), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), v75, int32(szThreshold)+int32(iRange)) + } else { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1))) } - zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18557, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab11)).FzName)) + zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18644, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab12)).FzName)) if opMask&uint32(0x01) != 0 { r11 = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, r11, 0, zSubSql, -int32(6)) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), r11, int32(1)) } else { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), 0, 0, 0, zSubSql, -int32(6)) + if nLimit != 0 { + v76 = int32(0x02) + } else { + v76 = 00 + } + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), v76, nLimit, 0, zSubSql, -int32(6)) } - goto _69 - _69: + goto _73 + _73: ; k4 = (*THashElem)(unsafe.Pointer(k4)).Fnext } - goto _67 - _67: + goto _71 + _71: ; iDb++ } _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) + /* In a schema with a large number of tables and indexes, scale back + ** the analysis_limit to avoid excess run-time in the worst case. + */ + if !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && nLimit > 0 && nBtree > int32(100) { + nLimit = int32(100) * nLimit / nBtree + if nLimit < int32(100) { + nLimit = int32(100) + } + aOp5 = _sqlite3VdbeGetOp(tls, v, 0) + iEnd = _sqlite3VdbeCurrentAddr(tls, v) + iAddr1 = 0 + for { + if !(iAddr1 < iEnd) { + break + } + if int32((*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fopcode) == int32(OP_SqlExec) { + (*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fp2 = nLimit + } + goto _77 + _77: + ; + iAddr1++ + } + } break /* ** PRAGMA busy_timeout @@ -115327,34 +116153,34 @@ var _encnames1 = [9]struct { Fenc Tu8 }{ 0: { - FzName: __ccgo_ts + 18466, + FzName: __ccgo_ts + 18553, Fenc: uint8(SQLITE_UTF8), }, 1: { - FzName: __ccgo_ts + 18471, + FzName: __ccgo_ts + 18558, Fenc: uint8(SQLITE_UTF8), }, 2: { - FzName: __ccgo_ts + 18477, + FzName: __ccgo_ts + 18564, Fenc: uint8(SQLITE_UTF16LE), }, 3: { - FzName: __ccgo_ts + 18486, + FzName: __ccgo_ts + 18573, Fenc: uint8(SQLITE_UTF16BE), }, 4: { - FzName: __ccgo_ts + 18495, + FzName: __ccgo_ts + 18582, Fenc: uint8(SQLITE_UTF16LE), }, 5: { - FzName: __ccgo_ts + 18503, + FzName: __ccgo_ts + 18590, Fenc: uint8(SQLITE_UTF16BE), }, 6: { - FzName: __ccgo_ts + 18511, + FzName: __ccgo_ts + 18598, }, 7: { - FzName: __ccgo_ts + 18518, + FzName: __ccgo_ts + 18605, }, 8: {}, } @@ -115450,14 +116276,14 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg _ = argc _ = argv _sqlite3StrAccumInit(tls, bp, uintptr(0), bp+32, int32(200), 0) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18575) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18662) i = 0 j = int32((*TPragmaName)(unsafe.Pointer(pPragma)).FiPragCName) for { if !(i < int32((*TPragmaName)(unsafe.Pointer(pPragma)).FnPragCName)) { break } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18590, libc.VaList(bp+240, int32(cSep), _pragCName[j])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18677, libc.VaList(bp+240, int32(cSep), _pragCName[j])) cSep = int8(',') goto _1 _1: @@ -115466,19 +116292,19 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg j++ } if i == 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18597, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18684, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&int32(PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18603) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18690) j++ } if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(libc.Int32FromInt32(PragFlg_SchemaOpt)|libc.Int32FromInt32(PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18615) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18702) j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5172, int32(1)) _sqlite3StrAccumFinish(tls, bp) rc = Xsqlite3_declare_vtab(tls, db, bp+32) if rc == SQLITE_OK { @@ -115493,7 +116319,7 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg (*TPragmaVtab)(unsafe.Pointer(pTab)).FnHidden = uint8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab return rc @@ -115539,14 +116365,14 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 if !(i < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { break } - if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { goto _1 } if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != int32(SQLITE_INDEX_CONSTRAINT_EQ) { goto _1 } - if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { - goto _1 + if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + return int32(SQLITE_CONSTRAINT) } j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn - int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) seen[j] = i + int32(1) @@ -115564,16 +116390,13 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 j = seen[0] - int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) - if seen[int32(1)] == 0 { - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(1000) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000) - return SQLITE_OK - } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(20) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(20) - j = seen[int32(1)] - int32(1) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + if seen[int32(1)] != 0 { + j = seen[int32(1)] - int32(1) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + } return SQLITE_OK } @@ -115601,6 +116424,7 @@ func _pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { _ = i Xsqlite3_finalize(tls, (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) + (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(16)/libc.Uint64FromInt64(8))) { @@ -115676,7 +116500,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr } zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+40, zText)) + *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+40, zText)) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -115688,13 +116512,13 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr j++ } _sqlite3StrAccumInit(tls, bp, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4))) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18630) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18717) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18638, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18725, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) } Xsqlite3_str_appendall(tls, bp, (*TPragmaName)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18642, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18729, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) } zSql = _sqlite3StrAccumFinish(tls, bp) if zSql == uintptr(0) { @@ -115703,7 +116527,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr rc = Xsqlite3_prepare_v2(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), pCsr+8, uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return _pragmaVtabNext(tls, pVtabCursor) @@ -115829,24 +116653,24 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) /* A error message has already been generated. Do not overwrite it */ } else { if (*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(libc.Int32FromInt32(INITFLAG_AlterMask)) != 0 { - *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18676, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) + *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18763, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) (*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR) } else { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140891)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141840)) } else { if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - v1 = __ccgo_ts + 5110 + v1 = __ccgo_ts + 5174 } zObj = v1 - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18704, libc.VaList(bp+8, zObj)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18791, libc.VaList(bp+8, zObj)) if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 { - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18735, libc.VaList(bp+8, z, zExtra)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18822, libc.VaList(bp+8, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140898)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141847)) } } } @@ -115854,9 +116678,9 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } var _azAlterType = [3]uintptr{ - 0: __ccgo_ts + 18646, - 1: __ccgo_ts + 18653, - 2: __ccgo_ts + 18665, + 0: __ccgo_ts + 18733, + 1: __ccgo_ts + 18740, + 2: __ccgo_ts + 18752, } // C documentation @@ -115932,7 +116756,7 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(iDb) if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), db+192) == 0 || (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage && (*TInitData)(unsafe.Pointer(pData)).FmxPage > uint32(0) { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14518) + _corruptSchema(tls, pData, argv, __ccgo_ts+14611) } } libc.SetBitFieldPtr8Uint32(db+192+8, libc.Uint32FromInt32(0), 0, 0x1) @@ -115965,11 +116789,11 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr } else { pIndex = _sqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName) if pIndex == uintptr(0) { - _corruptSchema(tls, pData, argv, __ccgo_ts+18743) + _corruptSchema(tls, pData, argv, __ccgo_ts+18830) } else { if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum < uint32(2) || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage || _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14518) + _corruptSchema(tls, pData, argv, __ccgo_ts+14611) } } } @@ -116008,18 +116832,18 @@ func _sqlite3InitOne(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. */ - (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9060 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9185 if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6535 + v2 = __ccgo_ts + 6599 } else { - v2 = __ccgo_ts + 6068 + v2 = __ccgo_ts + 6132 } v1 = v2 zSchemaTabName = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(2)] = (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8132 - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18756 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8257 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18843 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(5)] = uintptr(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 72))).FiDb = iDb @@ -116108,7 +116932,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl } else { /* If opening an attached database, the encoding much match ENC(db) */ if (*(*[5]int32)(unsafe.Pointer(bp + 48)))[libc.Int32FromInt32(BTREE_TEXT_ENCODING)-libc.Int32FromInt32(1)]&int32(3) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12097) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12222) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -116134,7 +116958,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = uint8(1) } if int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > int32(SQLITE_MAX_FILE_FORMAT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18828) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18915) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -116149,7 +116973,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl /* Read the schema information out of the schema tables */ (*(*TInitData)(unsafe.Pointer(bp + 72))).FmxPage = _sqlite3BtreeLastPage(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18852, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18939, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, __ccgo_fp(_sqlite3InitCallback), bp+72, uintptr(0)) @@ -116448,7 +117272,12 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) { var pCleanup uintptr _ = pCleanup - pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + if _sqlite3FaultSim(tls, int32(300)) != 0 { + pCleanup = uintptr(0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) + } else { + pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + } if pCleanup != 0 { (*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup (*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup @@ -116479,7 +117308,7 @@ func _sqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FpParse = pParse (*TParse)(unsafe.Pointer(pParse)).Fdb = db if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1634, 0) } } @@ -116513,7 +117342,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } else { } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1634, 0) v1 = libc.Int32FromInt32(SQLITE_NOMEM) rc = v1 (*Tsqlite3)(unsafe.Pointer(db)).FerrCode = v1 @@ -116562,7 +117391,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep rc = _sqlite3BtreeSchemaLocked(tls, pBt) if rc != 0 { zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FzDbSName - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18886, libc.VaList(bp+432, zDb)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18973, libc.VaList(bp+432, zDb)) goto end_prepare } } @@ -116578,7 +117407,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep if nBytes >= 0 && (nBytes == 0 || int32(*(*int8)(unsafe.Pointer(zSql + uintptr(nBytes-int32(1))))) != 0) { mxLen = *(*int32)(unsafe.Pointer(db + 136 + 1*4)) if nBytes > mxLen { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+18916, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+19003, 0) rc = _sqlite3ApiExit(tls, db, int32(SQLITE_TOOBIG)) goto end_prepare } @@ -116612,7 +117441,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } rc = (*(*TParse)(unsafe.Pointer(bp))).Frc if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3797, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3861, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) } else { _sqlite3Error(tls, db, rc) @@ -116642,7 +117471,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3 cnt = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141699)) + return _sqlite3MisuseError(tls, int32(142654)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) _sqlite3BtreeEnterAll(tls, db) @@ -116776,7 +117605,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr rc = SQLITE_OK *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141848)) + return _sqlite3MisuseError(tls, int32(142803)) } if nBytes >= 0 { z = zSql @@ -117182,15 +118011,15 @@ func _sqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC i++ } if jointype&(libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER)) == libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER) || jointype&int32(JT_ERROR) != 0 || jointype&(libc.Int32FromInt32(JT_OUTER)|libc.Int32FromInt32(JT_LEFT)|libc.Int32FromInt32(JT_RIGHT)) == int32(JT_OUTER) { - zSp1 = __ccgo_ts + 11204 - zSp2 = __ccgo_ts + 11204 + zSp1 = __ccgo_ts + 11329 + zSp2 = __ccgo_ts + 11329 if pB == uintptr(0) { zSp1++ } if pC == uintptr(0) { zSp2++ } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18935, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19022, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) jointype = int32(JT_INNER) } return jointype @@ -117481,7 +118310,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { if int32((*TSrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype)&int32(JT_NATURAL) != 0 { pUsing = uintptr(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18965, libc.VaList(bp+16, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19052, libc.VaList(bp+16, 0)) return int32(1) } j = 0 @@ -117531,7 +118360,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { zName1 = (*(*TIdList_item)(unsafe.Pointer(pList + 8 + uintptr(j)*16))).FzName iRightCol = _sqlite3ColumnIndex(tls, pRightTab, zName1) if iRightCol < 0 || _tableAndColumnIndex(tls, pSrc, 0, i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19015, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19102, libc.VaList(bp+16, zName1)) return int32(1) } pE1 = _sqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4))) @@ -117553,7 +118382,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { pFuncArgs = uintptr(0) /* Arguments to the coalesce() */ for _tableAndColumnIndex(tls, pSrc, *(*int32)(unsafe.Pointer(bp))+int32(1), i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) != 0 { if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 60 + 4))&0x400>>10)) == 0 || _sqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 72)), zName1) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19079, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19166, libc.VaList(bp+16, zName1)) break } pFuncArgs = _sqlite3ExprListAppend(tls, pParse, pFuncArgs, pE1) @@ -117597,7 +118426,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { } var _tkCoalesce = TToken{ - Fz: __ccgo_ts + 6732, + Fz: __ccgo_ts + 6796, Fn: uint32(8), } @@ -118373,13 +119202,13 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { _ = z switch id { case int32(TK_ALL): - z = __ccgo_ts + 19116 + z = __ccgo_ts + 19203 case int32(TK_INTERSECT): - z = __ccgo_ts + 19126 + z = __ccgo_ts + 19213 case int32(TK_EXCEPT): - z = __ccgo_ts + 19136 + z = __ccgo_ts + 19223 default: - z = __ccgo_ts + 19143 + z = __ccgo_ts + 19230 break } return z @@ -118400,7 +119229,7 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { func _explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19149, libc.VaList(bp+8, zUsage)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19236, libc.VaList(bp+8, zUsage)) } /* @@ -118434,12 +119263,17 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, iParm = (*TSelectDest)(unsafe.Pointer(pDest)).FiSDParm /* True if sorter record includes seq. no. */ nRefKey = 0 aOutEx = (*TSelect)(unsafe.Pointer(p)).FpEList + 8 - if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 { - v1 = __ccgo_ts + 19172 + nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat == 0 || nKey == int32(1) { + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat != 0 { + v1 = __ccgo_ts + 19259 + } else { + v1 = __ccgo_ts + 1664 + } + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19273, libc.VaList(bp+8, v1)) } else { - v1 = __ccgo_ts + 1650 + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19304, libc.VaList(bp+8, nKey)) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19187, libc.VaList(bp+8, v1)) if (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut != 0 { _sqlite3VdbeAddOp2(tls, v, int32(OP_Gosub), (*TSortCtx)(unsafe.Pointer(pSort)).FregReturn, (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut) _sqlite3VdbeGoto(tls, v, addrBreak) @@ -118461,7 +119295,6 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, regRow = _sqlite3GetTempRange(tls, pParse, nColumn) } } - nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat if int32((*TSortCtx)(unsafe.Pointer(pSort)).FsortFlags)&int32(SORTFLAG_UseSorter) != 0 { v3 = pParse + 56 *(*int32)(unsafe.Pointer(v3))++ @@ -118679,7 +119512,7 @@ func _columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr } if iCol < 0 { zType = __ccgo_ts + 1138 - *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16696 + *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16783 } else { *(*uintptr)(unsafe.Pointer(bp + 16)) = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, uintptr(0)) @@ -118825,13 +119658,13 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) iCol = int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) } if iCol < 0 { - zCol = __ccgo_ts + 16696 + zCol = __ccgo_ts + 16783 } else { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } if fullName != 0 { zName1 = uintptr(0) - zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12383, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) + zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12508, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName1, __ccgo_fp(_sqlite3OomClear)) } else { _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, uintptr(-libc.Int32FromInt32(1))) @@ -118839,7 +119672,7 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { z = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32))).FzEName if z == uintptr(0) { - v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19218, libc.VaList(bp+8, i+int32(1))) + v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19350, libc.VaList(bp+8, i+int32(1))) } else { v2 = _sqlite3DbStrDup(tls, db, z) } @@ -118931,7 +119764,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if iCol >= 0 { v3 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } else { - v3 = __ccgo_ts + 16696 + v3 = __ccgo_ts + 16783 } zName = v3 } else { @@ -118946,7 +119779,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if zName != 0 && !(_sqlite3IsTrueOrFalse(tls, zName) != 0) { zName = _sqlite3DbStrDup(tls, db, zName) } else { - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19218, libc.VaList(bp+40, i+int32(1))) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19350, libc.VaList(bp+40, i+int32(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. @@ -118982,7 +119815,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, } *(*Tu32)(unsafe.Pointer(bp))++ v8 = *(*Tu32)(unsafe.Pointer(bp)) - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19227, libc.VaList(bp+40, nName, zName, v8)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19359, libc.VaList(bp+40, nName, zName, v8)) _sqlite3ProgressCheck(tls, pParse) if *(*Tu32)(unsafe.Pointer(bp)) > uint32(3) { Xsqlite3_randomness(tls, int32(4), bp) @@ -119042,9 +119875,9 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS defer tls.Free(64) var a, db, p, pCol, pColl, pS2, zType, p4, p5 uintptr var i, j, m int32 - var m1, n Ti64 + var k, n Ti64 var _ /* sNC at bp+0 */ TNameContext - _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, m, m1, n, p, pCol, pColl, pS2, zType, p4, p5 + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, k, m, n, p, pCol, pColl, pS2, zType, p4, p5 db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { return @@ -119061,17 +119894,22 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS if !(i < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } + m = 0 + pS2 = pSelect *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags) & libc.Int32FromInt32(COLFLAG_NOINSERT)) p = (*(*TExprList_item)(unsafe.Pointer(a + uintptr(i)*32))).FpExpr /* pCol->szEst = ... // Column size est for SELECT tables never used */ (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, p) + for int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) && (*TSelect)(unsafe.Pointer(pS2)).FpNext != uintptr(0) { + m |= _sqlite3ExprDataType(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext + (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + } if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) { (*TColumn)(unsafe.Pointer(pCol)).Faffinity = aff } - if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && (*TSelect)(unsafe.Pointer(pSelect)).FpNext != 0 { - m = 0 - m = 0 - pS2 = (*TSelect)(unsafe.Pointer(pSelect)).FpNext + if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && ((*TSelect)(unsafe.Pointer(pS2)).FpNext != 0 || pS2 != pSelect) { + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext for { if !(pS2 != 0) { break @@ -119096,7 +119934,7 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS zType = _columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0)) if zType == uintptr(0) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) != int32(_sqlite3AffinityType(tls, zType, uintptr(0))) { if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_NUMERIC) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_FLEXNUM) { - zType = __ccgo_ts + 19235 + zType = __ccgo_ts + 19367 } else { zType = uintptr(0) j = int32(1) @@ -119116,13 +119954,13 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS } } if zType != 0 { - m1 = int64(_sqlite3Strlen30(tls, zType)) + k = int64(_sqlite3Strlen30(tls, zType)) n = int64(_sqlite3Strlen30(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) - (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+m1+int64(2))) + (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+k+int64(2))) p4 = pCol + 14 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) & ^(libc.Int32FromInt32(COLFLAG_HASTYPE) | libc.Int32FromInt32(COLFLAG_HASCOLL))) if (*TColumn)(unsafe.Pointer(pCol)).FzCnName != 0 { - libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(m1+int64(1))) + libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(k+int64(1))) p5 = pCol + 14 *(*Tu16)(unsafe.Pointer(p5)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p5))) | libc.Int32FromInt32(COLFLAG_HASTYPE)) } @@ -119411,7 +120249,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest iDistinct = 0 /* To ensure unique results if UNION */ eDest = int32(SRT_Fifo) /* Registers used by LIMIT and OFFSET */ if (*TSelect)(unsafe.Pointer(p)).FpWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19239, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19371, 0) return } /* Obtain authorization to do a recursive query */ @@ -119504,7 +120342,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest break } if (*TSelect)(unsafe.Pointer(pFirstRec)).FselFlags&uint32(SF_Aggregate) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19288, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19420, 0) goto end_of_recursive_query } (*TSelect)(unsafe.Pointer(pFirstRec)).Fop = uint8(TK_ALL) @@ -119519,7 +120357,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest /* Store the results of the setup-query in Queue. */ pSetup = (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior (*TSelect)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19330, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19462, 0) rc = _sqlite3Select(tls, pParse, pSetup, bp) (*TSelect)(unsafe.Pointer(pSetup)).FpNext = p if rc != 0 { @@ -119547,7 +120385,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest ** the value for the recursive-table. Store the results in the Queue. */ (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19336, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19468, 0) _sqlite3Select(tls, pParse, p, bp) (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup /* Keep running the loop until the Queue is empty */ @@ -119600,11 +120438,11 @@ func _multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) nRow += bShowAll } if nRow == int32(1) { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } else { - v1 = __ccgo_ts + 19351 + v1 = __ccgo_ts + 19483 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19353, libc.VaList(bp+8, nRow, v1)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19485, libc.VaList(bp+8, nRow, v1)) for p != 0 { _selectInnerLoop(tls, pParse, p, -int32(1), uintptr(0), uintptr(0), pDest, int32(1), int32(1)) if !(bShowAll != 0) { @@ -119712,8 +120550,8 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in return _multiSelectOrderBy(tls, pParse, p, pDest) } else { if (*TSelect)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19376, 0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19391, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19508, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19523, 0) } /* Generate code for the left and right SELECT statements. */ @@ -119738,7 +120576,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in _sqlite3VdbeAddOp3(tls, v, int32(OP_OffsetLimit), (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TSelect)(unsafe.Pointer(p)).FiOffset+int32(1), (*TSelect)(unsafe.Pointer(p)).FiOffset) } } - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19116, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19203, 0) rc = _sqlite3Select(tls, pParse, p, bp) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -119790,7 +120628,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 48))).FeDest = op - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19410, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19542, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+48) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -119848,7 +120686,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit1 = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 88))).FiSDParm = tab2 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19410, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19542, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+88) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -119971,9 +120809,9 @@ func _sqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) bp := tls.Alloc(16) defer tls.Free(16) if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Values) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19431, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19563, 0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19477, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19609, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) } } @@ -120342,8 +121180,8 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr (*TSelect)(unsafe.Pointer(pSplit)).FpPrior = uintptr(0) (*TSelect)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy = _sqlite3ExprListDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0) - _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7369) - _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7369) + _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7494) + _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7494) /* Compute the limit registers */ _computeLimitRegisters(tls, pParse, p, labelEnd) if (*TSelect)(unsafe.Pointer(p)).FiLimit != 0 && op == int32(TK_ALL) { @@ -120387,14 +121225,14 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr regOutB = v21 _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), regAddrA) _sqlite3SelectDestInit(tls, bp+40, int32(SRT_Coroutine), regAddrB) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19559, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19691, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) /* Generate a coroutine to evaluate the SELECT statement to the ** left of the compound operator - the "A" select. */ addrSelectA = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regAddrA, 0, addrSelectA) (*TSelect)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19570, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19702, 0) _sqlite3Select(tls, pParse, pPrior, bp) _sqlite3VdbeEndCoroutine(tls, v, regAddrA) _sqlite3VdbeJumpHere(tls, v, addr1) @@ -120407,7 +121245,7 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr savedOffset = (*TSelect)(unsafe.Pointer(p)).FiOffset (*TSelect)(unsafe.Pointer(p)).FiLimit = regLimitB (*TSelect)(unsafe.Pointer(p)).FiOffset = 0 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19575, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19707, 0) _sqlite3Select(tls, pParse, p, bp+40) (*TSelect)(unsafe.Pointer(p)).FiLimit = savedLimit (*TSelect)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -120622,7 +121460,7 @@ func _substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) (r uintptr) { if pColl != 0 { v1 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v1 = __ccgo_ts + 5088 + v1 = __ccgo_ts + 5152 } pExpr = _sqlite3ExprAddCollateString(tls, (*TSubstContext)(unsafe.Pointer(pSubst)).FpParse, pExpr, v1) } @@ -121658,10 +122496,10 @@ func _findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft - if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pLeft) != 0 { + if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pLeft) != 0 { _constInsert(tls, pConst, pRight, pLeft, pExpr) } - if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pRight) != 0 { + if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pRight) != 0 { _constInsert(tls, pConst, pLeft, pRight, pExpr) } } @@ -121894,6 +122732,18 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** The hope is that the terms added to the inner query will make it more // ** efficient. // ** +// ** NAME AMBIGUITY +// ** +// ** This optimization is called the "WHERE-clause push-down optimization". +// ** +// ** Do not confuse this optimization with another unrelated optimization +// ** with a similar name: The "MySQL push-down optimization" causes WHERE +// ** clause terms that can be evaluated using only the index and without +// ** reference to the table are run first, so that if they are false, +// ** unnecessary table seeks are avoided. +// ** +// ** RULES +// ** // ** Do not attempt this optimization if: // ** // ** (1) (** This restriction was removed on 2017-09-29. We used to @@ -121959,10 +122809,10 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** (9c) There is a RIGHT JOIN (or FULL JOIN) in between the ON/USING // ** clause and the subquery. // ** -// ** Without this restriction, the push-down optimization might move -// ** the ON/USING filter expression from the left side of a RIGHT JOIN -// ** over to the right side, which leads to incorrect answers. See -// ** also restriction (6) in sqlite3ExprIsSingleTableConstraint(). +// ** Without this restriction, the WHERE-clause push-down optimization +// ** might move the ON/USING filter expression from the left side of a +// ** RIGHT JOIN over to the right side, which leads to incorrect answers. +// ** See also restriction (6) in sqlite3ExprIsSingleTableConstraint(). // ** // ** (10) The inner query is not the right-hand table of a RIGHT JOIN. // ** @@ -122055,7 +122905,7 @@ func _pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere ui nChng += _pushDownWhereTerms(tls, pParse, pSubq, (*TExpr)(unsafe.Pointer(pWhere)).FpRight, pSrcList, iSrc) pWhere = (*TExpr)(unsafe.Pointer(pWhere)).FpLeft } - if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc) != 0 { + if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc, int32(1)) != 0 { nChng++ *(*Tu32)(unsafe.Pointer(pSubq + 4)) |= uint32(SF_PushDown) for pSubq != 0 { @@ -122225,13 +123075,13 @@ func _minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) (r return uint8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8)) - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15552) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15645) == 0 { eRet = int32(WHERE_ORDERBY_MIN) if _sqlite3ExprCanBeNull(tls, (*(*TExprList_item)(unsafe.Pointer(pEList + 8))).FpExpr) != 0 { sortFlags = uint8(KEYINFO_ORDER_BIGNULL) } } else { - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15556) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15649) == 0 { eRet = int32(WHERE_ORDERBY_MAX) sortFlags = uint8(KEYINFO_ORDER_DESC) } else { @@ -122319,7 +123169,7 @@ func _sqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r in pIdx = (*TIndex)(unsafe.Pointer(pIdx)).FpNext } if !(pIdx != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19581, libc.VaList(bp+8, zIndexedBy, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19713, libc.VaList(bp+8, zIndexedBy, 0)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) return int32(SQLITE_ERROR) } @@ -122443,7 +123293,7 @@ func _cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19599, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19731, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) return int32(1) } return 0 @@ -122618,7 +123468,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } *(*Tu32)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= uint32(SF_CopyCte) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19622, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19754, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) return int32(2) } libc.SetBitFieldPtr16Uint32(pFrom+60+4, libc.Uint32FromInt32(1), 8, 0x100) @@ -122642,7 +123492,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ libc.SetBitFieldPtr16Uint32(pItem+60+4, libc.Uint32FromInt32(1), 6, 0x40) if (*TSelect)(unsafe.Pointer(pRecTerm)).FselFlags&uint32(SF_Recursive) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19642, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19774, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) return int32(2) } *(*Tu32)(unsafe.Pointer(pRecTerm + 4)) |= uint32(SF_Recursive) @@ -122664,7 +123514,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } pRecTerm = (*TSelect)(unsafe.Pointer(pRecTerm)).FpPrior } - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19685 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19817 pSavedWith = (*TParse)(unsafe.Pointer(pParse)).FpWith (*TParse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp)) if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { @@ -122695,7 +123545,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pEList = (*TSelect)(unsafe.Pointer(pLeft)).FpEList if (*TCte)(unsafe.Pointer(pCte)).FpCols != 0 { if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr != (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19708, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19840, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*TParse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return int32(2) } @@ -122704,9 +123554,9 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom _sqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8) if bMayRecursive != 0 { if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19746 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19878 } else { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19780 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19912 } _sqlite3WalkSelect(tls, pWalker, pSel) } @@ -122765,7 +123615,7 @@ func _sqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int if (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 { (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3DbStrDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias) } else { - (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19818, libc.VaList(bp+8, pFrom)) + (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19950, libc.VaList(bp+8, pFrom)) } for (*TSelect)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*TSelect)(unsafe.Pointer(pSel)).FpPrior @@ -122921,7 +123771,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { return int32(WRC_Abort) } if (*TTable)(unsafe.Pointer(pTab)).FnTabRef >= uint32(0xffff) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19822, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19954, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) (*TSrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return int32(WRC_Abort) } @@ -122936,7 +123786,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) && (*TTable)(unsafe.Pointer(pTab)).FpSchema != (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19861, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19993, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } (*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect = _sqlite3SelectDup(tls, db, (*(*struct { FpSelect uintptr @@ -122951,7 +123801,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).Fp)).FeVtabRisk) > libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15111, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15204, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } } nCol = (*TTable)(unsafe.Pointer(pTab)).FnCol @@ -123073,7 +123923,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if iDb >= 0 { v10 = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName } else { - v10 = __ccgo_ts + 6592 + v10 = __ccgo_ts + 6656 } zSchemaName = v10 } @@ -123090,7 +123940,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { pNew = _sqlite3ExprListAppend(tls, pParse, pNew, pRight) if pNew != 0 { pX = pNew + 8 + uintptr((*TExprList)(unsafe.Pointer(pNew)).FnExpr-int32(1))*32 - (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19892, libc.VaList(bp+8, zUName)) + (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20024, libc.VaList(bp+8, zUName)) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(ENAME_TAB), 0, 0x3) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(1), 7, 0x80) } @@ -123169,7 +124019,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if pNestedFrom != 0 && libc.Bool(libc.Bool(!(libc.Int32FromInt32(ViewCanHaveRowid) != 0)) || j < (*TExprList)(unsafe.Pointer(pNestedFrom)).FnExpr) { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, (*(*TExprList_item)(unsafe.Pointer(pNestedFrom + 8 + uintptr(j)*32))).FzEName) } else { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19897, libc.VaList(bp+8, zSchemaName, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20029, libc.VaList(bp+8, zSchemaName, zTabName, zName)) } if j == int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) { v13 = int32(ENAME_ROWID) @@ -123182,7 +124032,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } } else { if longNames != 0 { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12383, libc.VaList(bp+8, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12508, libc.VaList(bp+8, zTabName, zName)) libc.SetBitFieldPtr16Uint32(pX1+16+4, libc.Uint32FromInt32(ENAME_NAME), 0, 0x3) } else { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, zName) @@ -123202,9 +124052,9 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if !(tableSeen != 0) { if zTName != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19906, libc.VaList(bp+8, zTName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20038, libc.VaList(bp+8, zTName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19924, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20056, 0) } } } @@ -123218,7 +124068,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if (*TSelect)(unsafe.Pointer(p)).FpEList != 0 { if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19944, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20076, 0) return int32(WRC_Abort) } if elistFlags&uint32(libc.Int32FromInt32(EP_HasFunc)|libc.Int32FromInt32(EP_Subquery)) != uint32(0) { @@ -123559,12 +124409,12 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct >= 0 { pE = (*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFExpr if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19975, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20107, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -int32(1) } else { pKeyInfo = _sqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20026, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20158, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab >= 0 { @@ -123585,7 +124435,7 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { (*TKeyInfo)(unsafe.Pointer(pKeyInfo1)).FnKeyField++ } _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab, (*TExprList)(unsafe.Pointer(pOBList)).FnExpr+nExtra, 0, pKeyInfo1, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20059, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20191, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } goto _1 _1: @@ -123890,16 +124740,16 @@ func _explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintp if int32((*TParse)(unsafe.Pointer(pParse)).Fexplain) == int32(2) { bCover = libc.BoolInt32(pIdx != uintptr(0) && ((*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) || !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == libc.Int32FromInt32(SQLITE_IDXTYPE_PRIMARYKEY)))) if bCover != 0 { - v1 = __ccgo_ts + 20092 + v1 = __ccgo_ts + 20224 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } if bCover != 0 { v2 = (*TIndex)(unsafe.Pointer(pIdx)).FzName } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20115, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20247, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) } } @@ -123931,7 +124781,7 @@ func _havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3 ** statements AggInfo structure. */ if _sqlite3ExprIsConstantOrGroupBy(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*TSelect)(unsafe.Pointer(pS)).FpGroupBy) != 0 && libc.BoolInt32((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse)) == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8132) + pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8257) if pNew != 0 { pWhere = (*TSelect)(unsafe.Pointer(pS)).FpWhere t = *(*TExpr)(unsafe.Pointer(pNew)) @@ -124087,7 +124937,7 @@ func _countOfViewOptimization(tls *libc.TLS, pParse uintptr, p uintptr) (r int32 if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { return 0 } /* Result is an aggregate */ - if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15846) != 0 { + if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15939) != 0 { return 0 } /* Is count() */ if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != uintptr(0) { @@ -124350,7 +125200,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { v1 = (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p0)).FpTab)).FzName } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20127, libc.VaList(bp+176, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20259, libc.VaList(bp+176, v1)) goto select_end } /* Clear the SF_UFSrcCheck flag. The check has already been performed, @@ -124451,7 +125301,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r /* Catch mismatch in the declared columns of a view and the number of ** columns in the SELECT on the RHS */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) != (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20181, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20313, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end } /* Do not attempt the usual optimizations (flattening and ORDER BY @@ -124588,12 +125438,12 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r ** string for the fake column name seems safer. */ if (*TSrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0) && (*TSrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0) { - _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1650, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1664, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) } /* Generate code for all sub-queries in the FROM clause */ pSub1 = (*TSrcItem)(unsafe.Pointer(pItem1)).FpSelect - if pSub1 == uintptr(0) { + if pSub1 == uintptr(0) || (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub != 0 { goto _10 } /* The code for a subquery should only be generated once. */ @@ -124632,7 +125482,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop _sqlite3SelectDestInit(tls, bp+72, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20221, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20353, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60+4, libc.Uint32FromInt32(1), 5, 0x20) @@ -124680,7 +125530,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { } _sqlite3SelectDestInit(tls, bp+72, int32(SRT_EphemTab), (*TSrcItem)(unsafe.Pointer(pItem1)).FiCursor) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20236, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20368, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow if onceAddr != 0 { @@ -125090,11 +125940,11 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r groupBySort = 0 } else { if (*(*TDistinctCtx)(unsafe.Pointer(bp))).FisTnct != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Distinct) == uint32(0) { - v44 = __ccgo_ts + 20252 + v44 = __ccgo_ts + 20384 } else { - v44 = __ccgo_ts + 20261 + v44 = __ccgo_ts + 20393 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19149, libc.VaList(bp+176, v44)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19236, libc.VaList(bp+176, v44)) groupBySort = int32(1) nGroupBy = (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr nCol = nGroupBy @@ -125413,7 +126263,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeResolveLabel(tls, v, addrEnd) } /* endif aggregate query */ if int32((*(*TDistinctCtx)(unsafe.Pointer(bp))).FeTnctType) == int32(WHERE_DISTINCT_UNORDERED) { - _explainTempTable(tls, pParse, __ccgo_ts+20252) + _explainTempTable(tls, pParse, __ccgo_ts+20384) } /* If there is an ORDER BY clause, then we need to sort the results ** and send them to the callback one by one. @@ -125519,7 +126369,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr if !(i < nCol) { break } - z = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if z == uintptr(0) { goto malloc_failed } @@ -125535,7 +126385,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr } else { if int32((*TTabResult)(unsafe.Pointer(p)).FnColumn) != nCol { Xsqlite3_free(tls, (*TTabResult)(unsafe.Pointer(p)).FzErrMsg) - (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20270, 0) + (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20402, 0) (*TTabResult)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) return int32(1) } @@ -125625,7 +126475,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) } Xsqlite3_free(tls, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg) } @@ -125787,7 +126637,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if isTemp != 0 { /* If TEMP was specified, then the trigger name may not be qualified. */ if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20335, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20467, 0) goto trigger_cleanup } iDb = int32(1) @@ -125827,7 +126677,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto trigger_cleanup } - _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20381, *(*uintptr)(unsafe.Pointer(bp))) + _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20513, *(*uintptr)(unsafe.Pointer(bp))) if _sqlite3FixSrcList(tls, bp+8, pTableName) != 0 { goto trigger_cleanup } @@ -125837,11 +126687,11 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_orphan_error } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20389, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20521, 0) goto trigger_orphan_error } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, db) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20430, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20562, 0) goto trigger_orphan_error } /* Check that the trigger name is not reserved and that no trigger of the @@ -125850,13 +126700,13 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if zName == uintptr(0) { goto trigger_cleanup } - if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20381, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { + if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20513, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { goto trigger_cleanup } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema+56, zName) != 0 { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20470, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20602, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) } @@ -125864,8 +126714,8 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 } } /* Do not create a trigger on a system table */ - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6527, int32(7)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20496, 0) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6591, int32(7)) == 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20628, 0) goto trigger_cleanup } /* INSTEAD of triggers are only for views and views only support INSTEAD @@ -125873,15 +126723,15 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && tr_tm != int32(TK_INSTEAD) { if tr_tm == int32(TK_BEFORE) { - v1 = __ccgo_ts + 20534 + v1 = __ccgo_ts + 20666 } else { - v1 = __ccgo_ts + 20541 + v1 = __ccgo_ts + 20673 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20547, libc.VaList(bp+112, v1, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20679, libc.VaList(bp+112, v1, pTableName+8)) goto trigger_orphan_error } if !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) && tr_tm == int32(TK_INSTEAD) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20584, libc.VaList(bp+112, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20716, libc.VaList(bp+112, pTableName+8)) goto trigger_orphan_error } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -125901,9 +126751,9 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iTabDb == int32(1) { - v3 = __ccgo_ts + 6535 + v3 = __ccgo_ts + 6599 } else { - v3 = __ccgo_ts + 6068 + v3 = __ccgo_ts + 6132 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto trigger_cleanup @@ -126003,7 +126853,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl pStepList = (*TTriggerStep)(unsafe.Pointer(pStepList)).FpNext } _sqlite3TokenInit(tls, bp+96, (*TTrigger)(unsafe.Pointer(pTrig)).FzName) - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20381, bp+96) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20513, bp+96) if _sqlite3FixTriggerStep(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 || _sqlite3FixExpr(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).FpWhen) != 0 { goto triggerfinish_cleanup } @@ -126025,7 +126875,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl break } if (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget != uintptr(0) && _sqlite3ShadowTableName(tls, db, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20630, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20762, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) goto triggerfinish_cleanup } goto _1 @@ -126041,10 +126891,10 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl } _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) z = _sqlite3DbStrNDup(tls, db, (*TToken)(unsafe.Pointer(pAll)).Fz, uint64((*TToken)(unsafe.Pointer(pAll)).Fn)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20678, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20810, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) _sqlite3DbFree(tls, db, z) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20753, libc.VaList(bp+120, zName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20885, libc.VaList(bp+120, zName)), uint16(0)) } } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { @@ -126312,7 +127162,7 @@ func _sqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int } if !(pTrigger != 0) { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20782, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20914, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, zDb) } @@ -126354,9 +127204,9 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { code = int32(SQLITE_DROP_TRIGGER) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6535 + v1 = __ccgo_ts + 6599 } else { - v1 = __ccgo_ts + 6068 + v1 = __ccgo_ts + 6132 } zTab = v1 if iDb == int32(1) { @@ -126371,7 +127221,7 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { v2 = _sqlite3GetVdbe(tls, pParse) v = v2 if v2 != uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20802, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20934, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropTrigger), iDb, 0, 0, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName, 0) } @@ -126504,11 +127354,11 @@ func _triggersReallyExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { if op != int32(TK_INSERT) { if op == int32(TK_DELETE) { - v1 = __ccgo_ts + 20864 + v1 = __ccgo_ts + 20996 } else { - v1 = __ccgo_ts + 20871 + v1 = __ccgo_ts + 21003 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20878, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21010, libc.VaList(bp+8, v1)) } (*TTrigger)(unsafe.Pointer(p)).Ftr_tm = uint8(TRIGGER_BEFORE) } else { @@ -126609,7 +127459,7 @@ func _isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != int32(TK_ASTERISK) { return 0 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20926, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21058, 0) return int32(1) } @@ -126674,6 +127524,79 @@ func _sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab return pNew } +// C documentation +// +// /* If the Expr node is a subquery or an EXISTS operator or an IN operator that +// ** uses a subquery, and if the subquery is SF_Correlated, then mark the +// ** expression as EP_VarSelect. +// */ +func _sqlite3ReturningSubqueryVarSelect(tls *libc.TLS, NotUsed uintptr, pExpr uintptr) (r int32) { + _ = NotUsed + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) && (*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FselFlags&uint32(SF_Correlated) != uint32(0) { + *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** If the SELECT references the table pWalker->u.pTab, then do two things: +// ** +// ** (1) Mark the SELECT as as SF_Correlated. +// ** (2) Set pWalker->eCode to non-zero so that the caller will know +// ** that (1) has happened. +// */ +func _sqlite3ReturningSubqueryCorrelated(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + var i int32 + var pSrc uintptr + _, _ = i, pSrc + pSrc = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + i = 0 + for { + if !(i < (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) { + break + } + if (*(*TSrcItem)(unsafe.Pointer(pSrc + 8 + uintptr(i)*104))).FpTab == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { + *(*Tu32)(unsafe.Pointer(pSelect + 4)) |= uint32(SF_Correlated) + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + break + } + goto _1 + _1: + ; + i++ + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Scan the expression list that is the argument to RETURNING looking +// ** for subqueries that depend on the table which is being modified in the +// ** statement that is hosting the RETURNING clause (pTab). Mark all such +// ** subqueries as SF_Correlated. If the subqueries are part of an +// ** expression, mark the expression as EP_VarSelect. +// ** +// ** https://sqlite.org/forum/forumpost/2c83569ce8945d39 +// */ +func _sqlite3ProcessReturningSubqueries(tls *libc.TLS, pEList uintptr, pTab uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ExprWalkNoop) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3ReturningSubqueryCorrelated) + *(*uintptr)(unsafe.Pointer(bp + 40)) = pTab + _sqlite3WalkExprList(tls, bp, pEList) + if (*(*TWalker)(unsafe.Pointer(bp))).FeCode != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ReturningSubqueryVarSelect) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop) + _sqlite3WalkExprList(tls, bp, pEList) + } +} + // C documentation // // /* @@ -126708,6 +127631,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab (*(*TSelect)(unsafe.Pointer(bp))).FpSrc = bp + 128 (*(*TSrcList)(unsafe.Pointer(bp + 128))).FnSrc = int32(1) (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FpTab = pTab + (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FzName = (*TTable)(unsafe.Pointer(pTab)).FzName /* tag-20240424-1 */ (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FiCursor = -int32(1) _sqlite3SelectPrep(tls, pParse, bp, uintptr(0)) if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { @@ -126732,6 +127656,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab if _sqlite3ResolveExprListNames(tls, bp+240, pNew) == SQLITE_OK && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { nCol = (*TExprList)(unsafe.Pointer(pNew)).FnExpr reg = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(1) + _sqlite3ProcessReturningSubqueries(tls, pNew, pTab) *(*int32)(unsafe.Pointer(pParse + 56)) += nCol + int32(2) (*TReturning)(unsafe.Pointer(pReturning)).FiRetReg = reg i = 0 @@ -126800,7 +127725,7 @@ func _codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orcon } (*TParse)(unsafe.Pointer(pParse)).FeOrconf = uint8(v2) if (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6265, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6329, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) } switch int32((*TTriggerStep)(unsafe.Pointer(pStep)).Fop) { case int32(TK_UPDATE): @@ -126902,7 +127827,7 @@ func _codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintp v = _sqlite3GetVdbe(tls, bp+56) if v != 0 { if (*TTrigger)(unsafe.Pointer(pTrigger)).FzName != 0 { - _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+20968, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) + _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+21100, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) } /* If one was specified, code the WHEN clause. If it evaluates to false ** (or NULL) the sub-vdbe is immediately halted by jumping to the @@ -127591,7 +128516,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui chngPk = uint8(1) } else { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20982, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21114, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto update_cleanup } } @@ -127611,13 +128536,13 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui pRowidExpr = (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FpExpr iRowidExpr = i } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21018, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21150, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto update_cleanup } } if j < 0 { - v11 = __ccgo_ts + 7907 + v11 = __ccgo_ts + 8032 } else { v11 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName } @@ -128299,7 +129224,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui ** that information. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21037) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21169) } goto update_cleanup update_cleanup: @@ -128733,9 +129658,9 @@ func _sqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr if nClause == 0 && (*TUpsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) { (*(*[16]int8)(unsafe.Pointer(bp + 200)))[0] = 0 } else { - Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21050, libc.VaList(bp+224, nClause+int32(1))) + Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21182, libc.VaList(bp+224, nClause+int32(1))) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21054, libc.VaList(bp+224, bp+200)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21186, libc.VaList(bp+224, bp+200)) return int32(SQLITE_ERROR) } goto _1 @@ -128838,7 +129763,7 @@ func _sqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i++ } i = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), iDataCur, 0, iPk, nPk) - _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12472, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12597, -int32(1)) _sqlite3MayAbort(tls, pParse) _sqlite3VdbeJumpHere(tls, v, i) } @@ -128920,7 +129845,7 @@ func _execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) (r int3 ** corrupt the sqlite_schema.sql field with other kinds of statements ** then run VACUUM to get those statements to execute at inappropriate ** times. */ - if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21127, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21131, uint64(3)) == 0) { + if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21259, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21263, uint64(3)) == 0) { rc = _execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -129048,24 +129973,24 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p pDb = uintptr(0) /* Name of output file */ pgflags = uint32(PAGER_SYNCHRONOUS_OFF) /* sync flags for output db */ if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21135) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21267) return int32(SQLITE_ERROR) /* IMP: R-12218-18073 */ } if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive > int32(1) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21175) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21307) return int32(SQLITE_ERROR) /* IMP: R-15610-35227 */ } saved_openFlags = (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags if pOut != 0 { if Xsqlite3_value_type(tls, pOut) != int32(SQLITE_TEXT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21218) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21350) return int32(SQLITE_ERROR) } zOut = Xsqlite3_value_text(tls, pOut) *(*uint32)(unsafe.Pointer(db + 76)) &= uint32(^libc.Int32FromInt32(SQLITE_OPEN_READONLY)) *(*uint32)(unsafe.Pointer(db + 76)) |= uint32(libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE)) } else { - zOut = __ccgo_ts + 1650 + zOut = __ccgo_ts + 1664 } /* Save the current value of the database flags so that it can be ** restored before returning. Then set the writable-schema flag, and @@ -129097,7 +130022,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** to write the journal header file. */ nDb = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21236, libc.VaList(bp+24, zOut)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21368, libc.VaList(bp+24, zOut)) (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if rc != SQLITE_OK { goto end_of_vacuum @@ -129109,7 +130034,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p *(*Ti64)(unsafe.Pointer(bp)) = 0 if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0) && (_sqlite3OsFileSize(tls, id, bp) != SQLITE_OK || *(*Ti64)(unsafe.Pointer(bp)) > 0) { rc = int32(SQLITE_ERROR) - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21259) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21391) goto end_of_vacuum } *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_VacuumInto) @@ -129126,7 +130051,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, ** to ensure that we do not try to change the page-size on a WAL database. */ - rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14881) + rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14974) if rc != SQLITE_OK { goto end_of_vacuum } @@ -129157,11 +130082,11 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** in the temporary database. */ (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(nDb) /* force new CREATE statements into vacuum_db */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21286, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21418, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21394, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21526, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } @@ -129170,7 +130095,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy ** the contents to the temporary database. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21448, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21580, libc.VaList(bp+24, zDbMain)) *(*Tu32)(unsafe.Pointer(db + 44)) &= uint32(^libc.Int32FromInt32(DBFLAG_Vacuum)) if rc != SQLITE_OK { goto end_of_vacuum @@ -129180,7 +130105,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** associated storage, so all we have to do is copy their entries ** from the schema table. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21599, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21731, libc.VaList(bp+24, zDbMain)) if rc != 0 { goto end_of_vacuum } @@ -129707,7 +130632,7 @@ func _addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uint FazArg uintptr Fp uintptr })(unsafe.Pointer(pTable + 64))).FnArg+int32(3) >= *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12702, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12827, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = _sqlite3DbRealloc(tls, db, (*(*struct { FnArg int32 @@ -129830,7 +130755,7 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { if pEnd != 0 { (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32(int64((*TToken)(unsafe.Pointer(pEnd)).Fz)-int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz))) + (*TToken)(unsafe.Pointer(pEnd)).Fn } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21729, libc.VaList(bp+8, pParse+272)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21861, libc.VaList(bp+8, pParse+272)) /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. @@ -129840,11 +130765,11 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { ** by sqlite3StartTable(). */ iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+21753, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+21885, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) v = _sqlite3GetVdbe(tls, pParse) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) - zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21852, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21984, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) _sqlite3DbFree(tls, db, zStmt) v2 = pParse + 56 @@ -129931,7 +130856,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, break } if (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21871, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22003, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(SQLITE_LOCKED) } goto _1 @@ -129973,9 +130898,9 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, } if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21913, libc.VaList(bp+48, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22045, libc.VaList(bp+48, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3797, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3861, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) } _sqlite3DbFree(tls, db, pVTable) @@ -129988,8 +130913,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*TModule)(unsafe.Pointer(pMod)).FnRefModule++ (*TVTable)(unsafe.Pointer(pVTable)).FnRef = int32(1) if (*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared == 0 { - zFormat = __ccgo_ts + 21943 - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + zFormat = __ccgo_ts + 22075 + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, zModuleName)) _sqlite3VtabUnlock(tls, pVTable) rc = int32(SQLITE_ERROR) } else { @@ -130014,7 +130939,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(iCol < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } - zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1650) + zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1664) i = 0 nType = _sqlite3Strlen30(tls, zType) i = 0 @@ -130022,7 +130947,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(i < nType) { break } - if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16587, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { + if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16674, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { break } goto _3 @@ -130103,13 +131028,13 @@ func _sqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).FazArg)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21989, libc.VaList(bp+16, zModule)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22121, libc.VaList(bp+16, zModule)) rc = int32(SQLITE_ERROR) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3797, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3861, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) (*TParse)(unsafe.Pointer(pParse)).Frc = rc } _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) @@ -130190,7 +131115,7 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, ** error. Otherwise, do nothing. */ if pMod == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21989, libc.VaList(bp+8, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22121, libc.VaList(bp+8, zMod)) rc = int32(SQLITE_ERROR) } else { rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr) @@ -130216,18 +131141,42 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r int32) { bp := tls.Alloc(448) defer tls.Free(448) - var initBusy, rc int32 - var pCtx, pIdx, pNew, pTab, v2 uintptr - var v1 Ti16 + var i, initBusy, rc int32 + var pCtx, pIdx, pNew, pTab, z, v3 uintptr + var v2 Ti16 var _ /* sParse at bp+0 */ TParse - _, _, _, _, _, _, _, _ = initBusy, pCtx, pIdx, pNew, pTab, rc, v1, v2 + var _ /* tokenType at bp+424 */ int32 + _, _, _, _, _, _, _, _, _, _ = i, initBusy, pCtx, pIdx, pNew, pTab, rc, z, v2, v3 rc = SQLITE_OK + /* Verify that the first two keywords in the CREATE TABLE statement + ** really are "CREATE" and "TABLE". If this is not the case, then + ** sqlite3_declare_vtab() is being misused. + */ + z = zCreateTable + i = 0 + for { + if !(_aKeyword1[i] != 0) { + break + } + *(*int32)(unsafe.Pointer(bp + 424)) = 0 + for cond := true; cond; cond = *(*int32)(unsafe.Pointer(bp + 424)) == int32(TK_SPACE) { + z += uintptr(_sqlite3GetToken(tls, z, bp+424)) + } + if *(*int32)(unsafe.Pointer(bp + 424)) != int32(_aKeyword1[i]) { + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+22140, 0) + return int32(SQLITE_ERROR) + } + goto _1 + _1: + ; + i++ + } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { - _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(155155))) + _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(156227))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) - return _sqlite3MisuseError(tls, int32(155157)) + return _sqlite3MisuseError(tls, int32(156229)) } pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab _sqlite3ParseObjectInit(tls, bp, db) @@ -130239,7 +131188,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i initBusy = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) (*(*TParse)(unsafe.Pointer(bp))).FnQueryLoop = int16(1) - if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) && (*(*TParse)(unsafe.Pointer(bp))).FpNewTable != uintptr(0) && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && int32((*TTable)(unsafe.Pointer((*(*TParse)(unsafe.Pointer(bp))).FpNewTable)).FeTabType) == TABTYP_NORM { + if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) { if !((*TTable)(unsafe.Pointer(pTab)).FaCol != 0) { pNew = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable (*TTable)(unsafe.Pointer(pTab)).FaCol = (*TTable)(unsafe.Pointer(pNew)).FaCol @@ -130248,9 +131197,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpDfltList) - v1 = (*TTable)(unsafe.Pointer(pNew)).FnCol - (*TTable)(unsafe.Pointer(pTab)).FnCol = v1 - (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v1 + v2 = (*TTable)(unsafe.Pointer(pNew)).FnCol + (*TTable)(unsafe.Pointer(pTab)).FnCol = v2 + (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v2 *(*Tu32)(unsafe.Pointer(pTab + 48)) |= (*TTable)(unsafe.Pointer(pNew)).FtabFlags & uint32(libc.Int32FromInt32(TF_WithoutRowid)|libc.Int32FromInt32(TF_NoVisibleRowid)) (*TTable)(unsafe.Pointer(pNew)).FnCol = 0 (*TTable)(unsafe.Pointer(pNew)).FaCol = uintptr(0) @@ -130269,11 +131218,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = int32(1) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - v2 = __ccgo_ts + 3797 + v3 = __ccgo_ts + 3861 } else { - v2 = uintptr(0) + v3 = uintptr(0) } - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v2, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v3, libc.VaList(bp+440, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) rc = int32(SQLITE_ERROR) } @@ -130289,6 +131238,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i return rc } +var _aKeyword1 = [3]Tu8{ + 0: uint8(TK_CREATE), + 1: uint8(TK_TABLE), +} + // C documentation // // /* @@ -130740,7 +131694,7 @@ func _sqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) _addModuleArgument(tls, pParse, pTab, _sqlite3DbStrDup(tls, db, (*TTable)(unsafe.Pointer(pTab)).FzName)) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp) if rc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3797, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3861, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3VtabEponymousTableClear(tls, db, pMod) } @@ -130804,7 +131758,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = _sqlite3MisuseError(tls, int32(155651)) + rc = _sqlite3MisuseError(tls, int32(156723)) } else { ap = va switch op { @@ -130817,7 +131771,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in case int32(SQLITE_VTAB_USES_ALL_SCHEMAS): (*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1) default: - rc = _sqlite3MisuseError(tls, int32(155673)) + rc = _sqlite3MisuseError(tls, int32(156745)) break } _ = ap @@ -131539,10 +132493,10 @@ type WhereInfo1 = TWhereInfo1 func _explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) (r uintptr) { i = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -int32(2) { - return __ccgo_ts + 22008 + return __ccgo_ts + 22153 } if i == -int32(1) { - return __ccgo_ts + 16696 + return __ccgo_ts + 16783 } return (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*16))).FzCnName } @@ -131561,10 +132515,10 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, var i int32 _ = i if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22015, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22160, int32(5)) } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22021, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22166, int32(1)) } i = 0 for { @@ -131572,7 +132526,7 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13092, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13217, int32(1)) } Xsqlite3_str_appendall(tls, pStr, _explainIndexColumnName(tls, pIdx, iTerm+i)) goto _1 @@ -131581,11 +132535,11 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5172, int32(1)) } Xsqlite3_str_append(tls, pStr, zOp, int32(1)) if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22021, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22166, int32(1)) } i = 0 for { @@ -131593,16 +132547,16 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13092, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13217, int32(1)) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5110, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5174, int32(1)) goto _2 _2: ; i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5172, int32(1)) } } @@ -131635,7 +132589,7 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { if int32(nEq) == 0 && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_BTM_LIMIT)|libc.Int32FromInt32(WHERE_TOP_LIMIT)) == uint32(0) { return } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22023, int32(2)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22168, int32(2)) i = 0 for { if !(i < int32(nEq)) { @@ -131643,12 +132597,12 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } z = _explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22015, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22160, int32(5)) } if i >= int32(nSkip) { - v2 = __ccgo_ts + 22026 + v2 = __ccgo_ts + 22171 } else { - v2 = __ccgo_ts + 22031 + v2 = __ccgo_ts + 22176 } Xsqlite3_str_appendf(tls, pStr, v2, libc.VaList(bp+8, z)) goto _1 @@ -131658,13 +132612,13 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } j = i if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_BTM_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22039) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22184) i = int32(1) } if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_TOP_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22041) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22186) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5172, int32(1)) } // C documentation @@ -131707,47 +132661,47 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if isSearch != 0 { - v2 = __ccgo_ts + 22043 + v2 = __ccgo_ts + 22188 } else { - v2 = __ccgo_ts + 22050 + v2 = __ccgo_ts + 22195 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22055, libc.VaList(bp+144, v2, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22200, libc.VaList(bp+144, v2, pItem)) if flags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_VIRTUALTABLE)) == uint32(0) { zFmt = uintptr(0) pIdx = (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex if !((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) && int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = __ccgo_ts + 11255 + zFmt = __ccgo_ts + 11380 } } else { if flags&uint32(WHERE_PARTIALIDX) != 0 { - zFmt = __ccgo_ts + 22061 + zFmt = __ccgo_ts + 22206 } else { if flags&uint32(WHERE_AUTO_INDEX) != 0 { - zFmt = __ccgo_ts + 22094 + zFmt = __ccgo_ts + 22239 } else { if flags&uint32(WHERE_IDX_ONLY) != 0 { - zFmt = __ccgo_ts + 22119 + zFmt = __ccgo_ts + 22264 } else { - zFmt = __ccgo_ts + 22137 + zFmt = __ccgo_ts + 22282 } } } } if zFmt != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22146, int32(7)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22291, int32(7)) Xsqlite3_str_appendf(tls, bp, zFmt, libc.VaList(bp+144, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) _explainIndexRange(tls, bp, pLoop) } } else { if flags&uint32(WHERE_IPK) != uint32(0) && flags&uint32(WHERE_CONSTRAINT) != uint32(0) { - zRowid = __ccgo_ts + 16696 - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22154, libc.VaList(bp+144, zRowid)) + zRowid = __ccgo_ts + 16783 + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22299, libc.VaList(bp+144, zRowid)) if flags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != 0 { cRangeOp = int8('=') } else { if flags&uint32(WHERE_BOTH_LIMIT) == uint32(WHERE_BOTH_LIMIT) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22185, libc.VaList(bp+144, zRowid)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22330, libc.VaList(bp+144, zRowid)) cRangeOp = int8('<') } else { if flags&uint32(WHERE_BTM_LIMIT) != 0 { @@ -131757,10 +132711,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22195, libc.VaList(bp+144, int32(cRangeOp))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22340, libc.VaList(bp+144, int32(cRangeOp))) } else { if flags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22200, libc.VaList(bp+144, (*(*struct { + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22345, libc.VaList(bp+144, (*(*struct { FidxNum int32 F__ccgo4 uint8 FisOrdered Ti8 @@ -131779,7 +132733,7 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } if int32((*TSrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&int32(JT_LEFT) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22227, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22372, 0) } zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) @@ -131813,14 +132767,14 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Initial space for EQP output string */ _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22238, libc.VaList(bp+144, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22383, libc.VaList(bp+144, pItem)) pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_IPK) != 0 { pTab = (*TSrcItem)(unsafe.Pointer(pItem)).FpTab if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22026, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22171, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) } else { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22259, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22404, 0) } } else { i = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) @@ -131830,16 +132784,16 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp } z = _explainIndexColumnName(tls, (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex, i) if i > int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22015, int32(5)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22160, int32(5)) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22026, libc.VaList(bp+144, z)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22171, libc.VaList(bp+144, z)) goto _1 _1: ; i++ } } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5172, int32(1)) zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) return ret @@ -132670,6 +133624,35 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32 } } +// C documentation +// +// /* +// ** Loop pLoop is a WHERE_INDEXED level that uses at least one IN(...) +// ** operator. Return true if level pLoop is guaranteed to visit only one +// ** row for each key generated for the index. +// */ +func _whereLoopIsOneRow(tls *libc.TLS, pLoop uintptr) (r int32) { + var ii int32 + _ = ii + if (*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FonError != 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) == 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq) == int32((*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FnKeyCol) { + ii = 0 + for { + if !(ii < int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq)) { + break + } + if int32((*TWhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(ii)*8)))).FeOperator)&(libc.Int32FromInt32(WO_IS)|libc.Int32FromInt32(WO_ISNULL)) != 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) + } + return 0 +} + // C documentation // // /* @@ -133358,7 +134341,10 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** a LEFT JOIN: */ } /* Record the instruction used to terminate the loop. */ - if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 { + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 || (*(*struct { + FnIn int32 + FaInLoop uintptr + })(unsafe.Pointer(pLevel + 72))).FnIn != 0 && regBignull == 0 && _whereLoopIsOneRow(tls, pLoop) != 0 { (*TWhereLevel)(unsafe.Pointer(pLevel)).Fop = uint8(OP_Noop) } else { if bRev != 0 { @@ -133531,7 +134517,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22267, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22412, 0) ii = 0 for { if !(ii < (*TWhereClause)(unsafe.Pointer(pOrWc)).FnTerm) { @@ -133554,7 +134540,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } /* Loop through table entries that match term pOrTerm. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22282, libc.VaList(bp+96, ii+int32(1))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22427, libc.VaList(bp+96, ii+int32(1))) pSubWInfo = _sqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) if pSubWInfo != 0 { addrExplain = _sqlite3WhereExplainOneScan(tls, pParse, pOrTab, pSubWInfo+856, uint16(0)) @@ -133717,6 +134703,12 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** iLoop==3: Code all remaining expressions. ** ** An effort is made to skip unnecessary iterations of the loop. + ** + ** This optimization of causing simple query restrictions to occur before + ** more complex one is call the "push-down" optimization in MySQL. Here + ** in SQLite, the name is "MySQL push-down", since there is also another + ** totally unrelated optimization called "WHERE-clause push-down". + ** Sometimes the qualifier is omitted, resulting in an ambiguity, so beware. */ if pIdx != 0 { v60 = int32(1) @@ -134016,9 +135008,9 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe defer tls.Free(128) var addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, nPk, r, v3 int32 var mAll TBitmask - var pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr + var pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr var _ /* sFrom at bp+0 */ TSrcList - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pRJ = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpRJ @@ -134027,13 +135019,17 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop pTabItem = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 mAll = uint64(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22291, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22436, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) k = 0 for { if !(k < iLevel) { break } + pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*104 mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf + if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x20>>5)) != 0 { + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pRight)).FpSelect)).FpEList)).FnExpr-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiTabCur) iIdxCur = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiIdxCur if iIdxCur != 0 { @@ -134531,19 +135527,19 @@ var _aOp = [4]struct { FeOp2 uint8 }{ 0: { - FzOp: __ccgo_ts + 16545, + FzOp: __ccgo_ts + 16632, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH), }, 1: { - FzOp: __ccgo_ts + 15876, + FzOp: __ccgo_ts + 15969, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB), }, 2: { - FzOp: __ccgo_ts + 15355, + FzOp: __ccgo_ts + 15448, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE), }, 3: { - FzOp: __ccgo_ts + 22305, + FzOp: __ccgo_ts + 22450, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP), }, } @@ -135177,7 +136173,7 @@ func _exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, aiCurCol uintptr, pExpr if int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) != -int32(2) { goto _4 } - if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_STRING) { + if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && !(_sqlite3ExprIsConstant(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr) != 0) { *(*int32)(unsafe.Pointer(aiCurCol)) = iCur *(*int32)(unsafe.Pointer(aiCurCol + 1*4)) = -int32(2) return int32(1) @@ -135330,7 +136326,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { extraRight = x - uint64(1) /* ON clause terms may not be used with an index ** on left table of a LEFT JOIN. Ticket #3015 */ if prereqAll>>libc.Int32FromInt32(1) >= x { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22312, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22457, 0) return } } else { @@ -135342,7 +136338,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { ** if there is a RIGHT or FULL JOIN in the query. This makes SQLite ** more like other systems, and also preserves legacy. */ if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*(*TSrcItem)(unsafe.Pointer(pSrc + 8))).Ffg.Fjointype)&int32(JT_LTORJ) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22312, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22457, 0) return } *(*Tu32)(unsafe.Pointer(pExpr + 4)) &= uint32(^libc.Int32FromInt32(EP_InnerON)) @@ -135426,7 +136422,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { } else { if op == int32(TK_ISNULL) && !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)) != libc.Uint32FromInt32(0)) && 0 == _sqlite3ExprCanBeNull(tls, pLeft) { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_TRUEFALSE) /* See tag-20230504-1 */ - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 7893 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8018 *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_IsFalse)) (*TWhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator = uint16(0) @@ -135522,7 +136518,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { *(*Tu8)(unsafe.Pointer(pC)) = uint8(int32(c1) + int32(1)) } if *(*int32)(unsafe.Pointer(bp + 12)) != 0 { - v13 = __ccgo_ts + 22353 + v13 = __ccgo_ts + 22498 } else { v13 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) } @@ -135792,6 +136788,9 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FleftCursor != iCsr { return } + if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FprereqRight != uint64(0) { + return + } goto _1 _1: ; @@ -135821,10 +136820,12 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { } } /* All conditions are met. Add the terms to the where-clause object. */ - _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) - if (*TSelect)(unsafe.Pointer(p)).FiOffset > 0 { + if (*TSelect)(unsafe.Pointer(p)).FiOffset != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiOffset, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpRight, iCsr, int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } + if (*TSelect)(unsafe.Pointer(p)).FiOffset == 0 || (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { + _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) + } } } @@ -136048,7 +137049,7 @@ func _sqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22360, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22505, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) return } pColRef = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_COLUMN), uintptr(0), 0) @@ -136482,6 +137483,48 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { return uintptr(0) } +// C documentation +// +// /* +// ** Term pTerm is guaranteed to be a WO_IN term. It may be a component term +// ** of a vector IN expression of the form "(x, y, ...) IN (SELECT ...)". +// ** This function checks to see if the term is compatible with an index +// ** column with affinity idxaff (one of the SQLITE_AFF_XYZ values). If so, +// ** it returns a pointer to the name of the collation sequence (e.g. "BINARY" +// ** or "NOCASE") used by the comparison in pTerm. If it is not compatible +// ** with affinity idxaff, NULL is returned. +// */ +func _indexInAffinityOk(tls *libc.TLS, pParse uintptr, pTerm uintptr, idxaff Tu8) (r uintptr) { + bp := tls.Alloc(80) + defer tls.Free(80) + var iField int32 + var pRet, pX, v1 uintptr + var _ /* inexpr at bp+0 */ TExpr + _, _, _, _ = iField, pRet, pX, v1 + pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr + if _sqlite3ExprIsVector(tls, (*TExpr)(unsafe.Pointer(pX)).FpLeft) != 0 { + iField = (*(*struct { + FleftColumn int32 + FiField int32 + })(unsafe.Pointer(pTerm + 32))).FiField - int32(1) + (*(*TExpr)(unsafe.Pointer(bp))).Fflags = uint32(0) + (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_EQ) + (*(*TExpr)(unsafe.Pointer(bp))).FpLeft = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pX)).FpLeft + 32)) + 8 + uintptr(iField)*32))).FpExpr + (*(*TExpr)(unsafe.Pointer(bp))).FpRight = (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pX + 32)))).FpEList + 8 + uintptr(iField)*32))).FpExpr + pX = bp + } + if _sqlite3IndexAffinityOk(tls, pX, int8(idxaff)) != 0 { + pRet = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pRet != 0 { + v1 = (*TCollSeq)(unsafe.Pointer(pRet)).FzName + } else { + v1 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + return v1 + } + return uintptr(0) +} + // C documentation // // /* @@ -136492,10 +137535,10 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { var iColumn Ti16 var iCur, j, k int32 - var pColl, pParse, pTerm, pWC, pX, v2 uintptr - var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, v2, v3, v5 /* The term being tested */ - k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ + var pColl, pParse, pTerm, pWC, pX, zCollName, v2, v5 uintptr + var v3, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, zCollName, v2, v3, v5, v6 /* The term being tested */ + k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ pWC = (*TWhereScan)(unsafe.Pointer(pScan)).FpWC for int32(1) != 0 { iColumn = *(*Ti16)(unsafe.Pointer(pScan + 88 + uintptr(int32((*TWhereScan)(unsafe.Pointer(pScan)).FiEquiv)-int32(1))*2)) @@ -136539,21 +137582,31 @@ func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { if (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName != 0 && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_ISNULL) == 0 { pParse = (*TWhereInfo)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr - if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { - goto _1 - } - pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) - if pColl == uintptr(0) { - pColl = (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_IN) != 0 { + zCollName = _indexInAffinityOk(tls, pParse, pTerm, uint8((*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff)) + if !(zCollName != 0) { + goto _1 + } + } else { + if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { + goto _1 + } + pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pColl != 0 { + v5 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName + } else { + v5 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + zCollName = v5 } - if _sqlite3StrICmp(tls, (*TCollSeq)(unsafe.Pointer(pColl)).FzName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { + if _sqlite3StrICmp(tls, zCollName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { goto _1 } } - if v5 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v5 { + if v6 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v6 { pX = (*TExpr)(unsafe.Pointer((*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpRight } - if v5 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { + if v6 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { goto _1 } (*TWhereScan)(unsafe.Pointer(pScan)).FpWC = pWC @@ -137041,7 +138094,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea /* Make the automatic index a partial index if there are terms in the ** WHERE clause (or the ON clause of a LEFT join) that constrain which ** rows of the target table (pSrc) that can be used. */ - if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)) != 0 { + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom), 0) != 0 { pPartial = _sqlite3ExprAnd(tls, pParse, pPartial, _sqlite3ExprDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr, 0)) } if _termCanDriveIndex(tls, pTerm, pSrc, notReady) != 0 { @@ -137056,7 +138109,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea } cMask = v2 if !(sentWarning != 0) { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_WARNING)|libc.Int32FromInt32(1)<>14)) != 0) { eDistinct = int32(2) + libc.BoolInt32(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_SORTBYGROUP) != 0) } else { if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_GROUPBY) != 0 { @@ -137527,7 +138580,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB */ pIdxInfo = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(96)+(libc.Uint64FromInt64(12)+libc.Uint64FromInt64(8))*uint64(nTerm)+uint64(8)*uint64(nOrderBy)+uint64(40)+uint64(8)*uint64(nTerm)) if pIdxInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1634, 0) return uintptr(0) } pHidden = pIdxInfo + 1*96 @@ -137612,7 +138665,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB break } pExpr1 = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr - if _sqlite3ExprIsConstant(tls, pExpr1) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr1) != 0 { goto _11 } (*(*Tsqlite3_index_orderby)(unsafe.Pointer(pIdxOrderBy + uintptr(j)*8))).FiColumn = int32((*TExpr)(unsafe.Pointer(pExpr1)).FiColumn) @@ -137687,9 +138740,9 @@ func _vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) (r i _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) } else { if !((*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3797, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3861, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3797, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3861, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } } @@ -139026,7 +140079,7 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x4>>2)) != 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GE)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LE)-libc.Int32FromInt32(TK_EQ))) } - if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 { + if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 && int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x2>>1)) == 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ) | libc.Int32FromInt32(WO_IN) | libc.Int32FromInt32(WO_IS)) } } @@ -139265,10 +140318,13 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } } } - /* Set rCostIdx to the cost of visiting selected rows in index. Add - ** it to pNew->rRun, which is currently set to the cost of the index - ** seek only. Then, if this is a non-covering index, add the cost of - ** visiting the rows in the main table. */ + /* Set rCostIdx to the estimated cost of visiting selected rows in the + ** index. The estimate is the sum of two values: + ** 1. The cost of doing one search-by-key to find the first matching + ** entry + ** 2. Stepping forward in the index pNew->nOut times to find all + ** additional matching entries. + */ if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_IPK) { /* The pProbe->szIdxRow is low for an IPK table since the interior ** pages are small. Thus szIdxRow gives a good estimate of seek cost. @@ -139278,7 +140334,14 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } else { rCostIdx = int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut) + int32(1) + int32(15)*int32((*TIndex)(unsafe.Pointer(pProbe)).FszIdxRow)/int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FszTabRow)) } - (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + rCostIdx = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + /* Estimate the cost of running the loop. If all data is coming + ** from the index, then this is just the cost of doing the index + ** lookup and scan. But if some data is coming out of the main table, + ** we also have to add in the cost of doing pNew->nOut searches to + ** locate the row in the main table that corresponds to the index entry. + */ + (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = rCostIdx if (*TWhereLoop)(unsafe.Pointer(pNew)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IDX_ONLY)|libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_EXPRIDX)) == uint32(0) { (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun, int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut)+int32(16))) } @@ -139383,7 +140446,7 @@ func _indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, if pExpr == uintptr(0) { goto _2 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { + if (int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) || int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_COLUMN)) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { return int32(1) } @@ -139718,7 +140781,7 @@ func _wherePartIdxExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, pPart uintpt if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) != int32(TK_COLUMN) { return } - if !(_sqlite3ExprIsConstant(tls, pRight) != 0) { + if !(_sqlite3ExprIsConstant(tls, uintptr(0), pRight) != 0) { return } if !(_sqlite3IsBinary(tls, _sqlite3ExprCompareCollSeq(tls, pParse, pPart)) != 0) { @@ -140047,7 +141110,7 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in ** unique index is used (making the index functionally non-unique) ** then the sqlite_stat1 data becomes important for scoring the ** plan */ - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) } _sqlite3Stat4ProbeFree(tls, (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec) (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid = 0 @@ -140075,6 +141138,31 @@ func _isLimitTerm(tls *libc.TLS, pTerm uintptr) (r int32) { return libc.BoolInt32(int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= int32(SQLITE_INDEX_CONSTRAINT_LIMIT) && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } +// C documentation +// +// /* +// ** Return true if the first nCons constraints in the pUsage array are +// ** marked as in-use (have argvIndex>0). False otherwise. +// */ +func _allConstraintsUsed(tls *libc.TLS, aUsage uintptr, nCons int32) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < nCons) { + break + } + if (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer(aUsage + uintptr(ii)*8))).FargvIndex <= 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + // C documentation // // /* @@ -140169,7 +141257,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if v3 >= 0 { j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).FiTermOffset if iTerm >= nConstraint || j < 0 || j >= (*TWhereClause)(unsafe.Pointer(pWC)).FnTerm || *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) || int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22433, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22578, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } pTerm1 = (*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(j)*56 @@ -140214,12 +141302,16 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, *(*int32)(unsafe.Pointer(pbIn)) = int32(1) } } - if _isLimitTerm(tls, pTerm1) != 0 && *(*int32)(unsafe.Pointer(pbIn)) != 0 { + /* Unless pbRetryLimit is non-NULL, there should be no LIMIT/OFFSET + ** terms. And if there are any, they should follow all other terms. */ + if _isLimitTerm(tls, pTerm1) != 0 && (*(*int32)(unsafe.Pointer(pbIn)) != 0 || !(_allConstraintsUsed(tls, pUsage, i) != 0)) { /* If there is an IN(...) term handled as an == (separate call to ** xFilter for each value on the RHS of the IN) and a LIMIT or - ** OFFSET term handled as well, the plan is unusable. Set output - ** variable *pbRetryLimit to true to tell the caller to retry with - ** LIMIT and OFFSET disabled. */ + ** OFFSET term handled as well, the plan is unusable. Similarly, + ** if there is a LIMIT/OFFSET and there are other unused terms, + ** the plan cannot be used. In these cases set variable *pbRetryLimit + ** to true to tell the caller to retry with LIMIT and OFFSET + ** disabled. */ if (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr != 0 { Xsqlite3_free(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = uintptr(0) @@ -140244,7 +141336,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { /* The non-zero argvIdx values must be contiguous. Raise an ** error if they are not */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22433, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22578, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } goto _6 @@ -140396,7 +141488,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal pVal = uintptr(0) rc = SQLITE_OK if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { - rc = _sqlite3MisuseError(tls, int32(165251)) /* EV: R-30545-25046 */ + rc = _sqlite3MisuseError(tls, int32(166453)) /* EV: R-30545-25046 */ } else { if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) { pTerm = (*TWhereClause)(unsafe.Pointer((*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC)).Fa + uintptr((*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)*56 @@ -140834,7 +141926,7 @@ func _whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) (r int32) { if rc != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { if rc == int32(SQLITE_DONE) { /* We hit the query planner search limit set by iPlanLimit */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22459, 0) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22604, 0) rc = SQLITE_OK } else { break @@ -141216,7 +142308,7 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } p = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr mTerm = _sqlite3WhereExprUsage(tls, pWInfo+592, p) - if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, p) != 0) { + if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, uintptr(0), p) != 0) { goto _9 } if mTerm & ^orderDistinctMask == uint64(0) { @@ -141626,7 +142718,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) iLoop++ } if nFrom == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22494, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22639, 0) _sqlite3DbFreeNN(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pSpace) return int32(SQLITE_ERROR) } @@ -141675,9 +142767,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) if int32((*TWherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*TExprList)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_ORDERED) } - if (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 && int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr { - (*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = int8((*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr) - } + /* vvv--- See check-in [12ad822d9b827777] on 2023-03-16 ---vvv */ } else { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*TWherePath)(unsafe.Pointer(pFrom)).FrevLoop if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 { @@ -141714,6 +142804,97 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) return SQLITE_OK } +// C documentation +// +// /* +// ** This routine implements a heuristic designed to improve query planning. +// ** This routine is called in between the first and second call to +// ** wherePathSolver(). Hence the name "Interstage" "Heuristic". +// ** +// ** The first call to wherePathSolver() (hereafter just "solver()") computes +// ** the best path without regard to the order of the outputs. The second call +// ** to the solver() builds upon the first call to try to find an alternative +// ** path that satisfies the ORDER BY clause. +// ** +// ** This routine looks at the results of the first solver() run, and for +// ** every FROM clause term in the resulting query plan that uses an equality +// ** constraint against an index, disable other WhereLoops for that same +// ** FROM clause term that would try to do a full-table scan. This prevents +// ** an index search from being converted into a full-table scan in order to +// ** satisfy an ORDER BY clause, since even though we might get slightly better +// ** performance using the full-scan without sorting if the output size +// ** estimates are very precise, we might also get severe performance +// ** degradation using the full-scan if the output size estimate is too large. +// ** It is better to err on the side of caution. +// ** +// ** Except, if the first solver() call generated a full-table scan in an outer +// ** loop then stop this analysis at the first full-scan, since the second +// ** solver() run might try to swap that full-scan for another in order to +// ** get the output into the correct order. In other words, we allow a +// ** rewrite like this: +// ** +// ** First Solver() Second Solver() +// ** |-- SCAN t1 |-- SCAN t2 +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** The purpose of this routine is to disallow rewrites such as: +// ** +// ** First Solver() Second Solver() +// ** |-- SEARCH t1 |-- SCAN t2 <--- bad! +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** See test cases in test/whereN.test for the real-world query that +// ** originally provoked this heuristic. +// */ +func _whereInterstageHeuristic(tls *libc.TLS, pWInfo uintptr) { + var i int32 + var iTab Tu8 + var p, pLoop uintptr + _, _, _, _ = i, iTab, p, pLoop + i = 0 + for { + if !(i < int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnLevel)) { + break + } + p = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(i)*104))).FpWLoop + if p == uintptr(0) { + break + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { + goto _1 + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_NULL)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != uint32(0) { + iTab = (*TWhereLoop)(unsafe.Pointer(p)).FiTab + pLoop = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpLoops + for { + if !(pLoop != 0) { + break + } + if int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab) != int32(iTab) { + goto _2 + } + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_CONSTRAINT)|libc.Int32FromInt32(WHERE_AUTO_INDEX)) != uint32(0) { + /* Auto-index and index-constrained loops allowed to remain */ + goto _2 + } + (*TWhereLoop)(unsafe.Pointer(pLoop)).Fprereq = uint64(-libc.Int32FromInt32(1)) /* Prevent 2nd solver() from using this one */ + goto _2 + _2: + ; + pLoop = (*TWhereLoop)(unsafe.Pointer(pLoop)).FpNextLoop + } + } else { + break + } + goto _1 + _1: + ; + i++ + } +} + // C documentation // // /* @@ -142022,7 +143203,7 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasStat1) == uint32(0) { break } - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) if i >= int32(1) && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&reqFlags == reqFlags && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_INDEXED)) != uint32(0) { if int32(nSearch) > int32((*TTable)(unsafe.Pointer(pTab)).FnRowLogEst) { *(*Tu32)(unsafe.Pointer(pLoop + 48)) |= uint32(WHERE_BLOOMFILTER) @@ -142037,6 +143218,68 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { } } +// C documentation +// +// /* +// ** Expression Node callback for sqlite3ExprCanReturnSubtype(). +// ** +// ** Only a function call is able to return a subtype. So if the node +// ** is not a function call, return WRC_Prune immediately. +// ** +// ** A function call is able to return a subtype if it has the +// ** SQLITE_RESULT_SUBTYPE property. +// ** +// ** Assume that every function is able to pass-through a subtype from +// ** one of its argument (using sqlite3_result_value()). Most functions +// ** are not this way, but we don't have a mechanism to distinguish those +// ** that are from those that are not, so assume they all work this way. +// ** That means that if one of its arguments is another function and that +// ** other function is able to return a subtype, then this function is +// ** able to return a subtype. +// */ +func _exprNodeCanReturnSubtype(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef uintptr + var n, v1 int32 + _, _, _, _ = db, n, pDef, v1 + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_FUNCTION) { + return int32(WRC_Prune) + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { + v1 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr + } else { + v1 = 0 + } + n = v1 + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + return int32(WRC_Prune) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Return TRUE if expression pExpr is able to return a subtype. +// ** +// ** A TRUE return does not guarantee that a subtype will be returned. +// ** It only indicates that a subtype return is possible. False positives +// ** are acceptable as they only disable an optimization. False negatives, +// ** on the other hand, can lead to incorrect answers. +// */ +func _sqlite3ExprCanReturnSubtype(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeCanReturnSubtype) + _sqlite3WalkExpr(tls, bp, pExpr) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) +} + // C documentation // // /* @@ -142051,9 +143294,9 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { // ** references to the corresponding column of the index. // */ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur int32, pTabItem uintptr) { - var db, p, pArg, pDef, pExpr, pTab uintptr - var i, j, n, v2 int32 - _, _, _, _, _, _, _, _, _, _ = db, i, j, n, p, pArg, pDef, pExpr, pTab, v2 + var i, j int32 + var p, pArg, pExpr, pTab uintptr + _, _, _, _, _, _ = i, j, p, pArg, pExpr, pTab pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable i = 0 for { @@ -142070,21 +143313,14 @@ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur i goto _1 } } - if _sqlite3ExprIsConstant(tls, pExpr) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) != 0 { goto _1 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) { - db = (*TParse)(unsafe.Pointer(pParse)).Fdb - if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { - v2 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr - } else { - v2 = 0 - } - n = v2 - pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) - if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { - goto _1 - } + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) && _sqlite3ExprCanReturnSubtype(tls, pParse, pExpr) != 0 { + /* Functions that might set a subtype should not be replaced by the + ** value taken from an expression index since the index omits the + ** subtype. https://sqlite.org/forum/forumpost/68d284c86b082c3e */ + goto _1 } p = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(32)) if p == uintptr(0) { @@ -142256,7 +143492,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** bits in a Bitmask */ if (*TSrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22512, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22657, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) return uintptr(0) } /* This function normally generates a nested loop for all tables in @@ -142328,7 +143564,9 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere if int32(wctrlFlags)&int32(WHERE_WANT_DISTINCT) != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_DistinctOpt)) == uint32(0) { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_UNIQUE) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22540, 0) + if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FselFlags&uint32(SF_MultiValue) == uint32(0) { + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22685, 0) + } } else { /* Assign a bit from the bitmask to every term in the FROM clause. ** @@ -142460,6 +143698,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere goto whereBeginError } if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy != 0 { + _whereInterstageHeuristic(tls, pWInfo) _wherePathSolver(tls, pWInfo, int16(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut)+int32(1))) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto whereBeginError @@ -142768,10 +144007,10 @@ whereBeginError: // ** sqlite3WhereBegin() for additional information. // */ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { - var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, r1, ws, x, v4, v7 int32 - var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr + var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, r1, ws, x, v4, v7 int32 + var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pTabList = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList @@ -142912,6 +144151,12 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { ws = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags) addr = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfPos), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) if ws&int32(WHERE_IDX_ONLY) == 0 { + pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 + if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x20>>5)) != 0 { + n1 = (*TSrcItem)(unsafe.Pointer(pSrc)).FregResult + m = int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FnCol) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, n1, n1+m-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) } if ws&int32(WHERE_INDEXED) != 0 || ws&int32(WHERE_MULTI_OR) != 0 && *(*uintptr)(unsafe.Pointer(&(*TWhereLevel)(unsafe.Pointer(pLevel)).Fu)) != 0 { @@ -143328,7 +144573,7 @@ func _nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) goto error_out error_out: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22558, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22703, -int32(1)) } func _nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { @@ -143510,7 +144755,7 @@ func _ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { if (*TNtileCtx)(unsafe.Pointer(p)).FnTotal == 0 { (*TNtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg))) if (*TNtileCtx)(unsafe.Pointer(p)).FnParam <= 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22614, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22759, -int32(1)) } } (*TNtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -143836,7 +145081,7 @@ func _windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) (r p = (*TWindow)(unsafe.Pointer(p)).FpNextWin } if p == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22659, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22804, libc.VaList(bp+8, zName)) } return p } @@ -143887,12 +145132,12 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin _sqlite3WindowChain(tls, pParse, pWin, pList) } if int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) == int32(TK_RANGE) && ((*TWindow)(unsafe.Pointer(pWin)).FpStart != 0 || (*TWindow)(unsafe.Pointer(pWin)).FpEnd != 0) && ((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*TExprList)(unsafe.Pointer((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != int32(1)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22678, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22823, 0) } else { if (*TFuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TWindow)(unsafe.Pointer(pWin)).FpFilter != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22749, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22894, 0) } else { aUp = [8]struct { FzFunc uintptr @@ -143965,7 +145210,7 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*TWindow)(unsafe.Pointer(pWin)).FeEnd = uint8(aUp[i].FeEnd) (*TWindow)(unsafe.Pointer(pWin)).FeExclude = uint8(0) if int32((*TWindow)(unsafe.Pointer(pWin)).FeStart) == int32(TK_FOLLOWING) { - (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8132) + (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8257) } break } @@ -144247,7 +145492,7 @@ func _disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintpt bp := tls.Alloc(16) defer tls.Free(16) if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_FUNCTION) && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22812, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) + _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22957, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) } return WRC_Continue } @@ -144388,7 +145633,7 @@ func _sqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { ** keep everything legal in this case. */ if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1724)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1784)) } pSub = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(bp)), pSrc, pWhere, pGroupBy, pHaving, pSort, uint32(0), uintptr(0)) (*TSelect)(unsafe.Pointer(p)).FpSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), uintptr(0), uintptr(0)) @@ -144492,7 +145737,7 @@ func _sqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { // ** variable values in the expression tree. // */ func _sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r uintptr) { - if 0 == _sqlite3ExprIsConstant(tls, pExpr) { + if 0 == _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) { if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameExprUnmap(tls, pParse, pExpr) } @@ -144533,7 +145778,7 @@ func _sqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int3 ** frame boundary. */ if eStart == int32(TK_CURRENT) && eEnd == int32(TK_PRECEDING) || eStart == int32(TK_FOLLOWING) && (eEnd == int32(TK_PRECEDING) || eEnd == int32(TK_CURRENT)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22838, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22983, 0) goto windowAllocErr } pWin = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) @@ -144601,18 +145846,18 @@ func _sqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint zErr = uintptr(0) /* Check for errors */ if (*TWindow)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = __ccgo_ts + 22870 + zErr = __ccgo_ts + 23015 } else { if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*TWindow)(unsafe.Pointer(pWin)).FpOrderBy != 0 { - zErr = __ccgo_ts + 22887 + zErr = __ccgo_ts + 23032 } else { if int32((*TWindow)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = __ccgo_ts + 22903 + zErr = __ccgo_ts + 23048 } } } if zErr != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22923, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23068, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) } else { (*TWindow)(unsafe.Pointer(pWin)).FpPartition = _sqlite3ExprListDup(tls, db, (*TWindow)(unsafe.Pointer(pExist)).FpPartition, 0) if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 { @@ -144636,7 +145881,7 @@ func _sqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(libc.Int32FromInt32(EP_WinFunc) | libc.Int32FromInt32(EP_FullSize)) (*TWindow)(unsafe.Pointer(pWin)).FpOwner = p if (*TExpr)(unsafe.Pointer(p)).Fflags&uint32(EP_Distinct) != 0 && int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) != int32(TK_FILTER) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22956, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23101, 0) } } else { _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -144835,7 +146080,7 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regZero) if eCond >= int32(WINDOW_STARTING_NUM) { regString = _sqlite3GetTempReg(tls, pParse) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1650, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1664, -int32(1)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, _sqlite3VdbeCurrentAddr(tls, v)+int32(2), reg) _sqlite3VdbeChangeP5(tls, v, uint16(libc.Int32FromInt32(SQLITE_AFF_NUMERIC)|libc.Int32FromInt32(SQLITE_JUMPIFNULL))) } else { @@ -144854,11 +146099,11 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { } var _azErr = [5]uintptr{ - 0: __ccgo_ts + 23003, - 1: __ccgo_ts + 23056, - 2: __ccgo_ts + 22558, - 3: __ccgo_ts + 23107, - 4: __ccgo_ts + 23159, + 0: __ccgo_ts + 23148, + 1: __ccgo_ts + 23201, + 2: __ccgo_ts + 22703, + 3: __ccgo_ts + 23252, + 4: __ccgo_ts + 23304, } var _aOp1 = [5]int32{ @@ -145610,7 +146855,7 @@ func _windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal ** the add/subtract is skipped for these, as required. If reg1 is a NULL, ** then the arithmetic is performed, but since adding or subtracting from ** NULL is always NULL anyway, this case is handled as required too. */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1650, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1664, -int32(1)) addrGe = _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, 0, reg1) if op == int32(OP_Ge) && arith == int32(OP_Add) || op == int32(OP_Le) && arith == int32(OP_Subtract) { _sqlite3VdbeAddOp3(tls, v, op, reg2, lbl, reg1) @@ -146638,11 +147883,11 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { cnt++ if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*TSelect)(unsafe.Pointer(pLoop)).FpLimit != 0 { if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - v1 = __ccgo_ts + 23209 + v1 = __ccgo_ts + 23354 } else { - v1 = __ccgo_ts + 23218 + v1 = __ccgo_ts + 23363 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23224, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23369, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) break } } @@ -146651,7 +147896,7 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { mxSelect = v2 } if v3 && v2 > 0 && cnt > mxSelect { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23266, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23411, 0) } } } @@ -146671,6 +147916,23 @@ func _attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith u return pSelect } +// C documentation +// +// /* Memory allocator for parser stack resizing. This is a thin wrapper around +// ** sqlite3_realloc() that includes a call to sqlite3FaultSim() to facilitate +// ** testing. +// */ +func _parserStackRealloc(tls *libc.TLS, pOld uintptr, newSize Tsqlite3_uint64) (r uintptr) { + var v1 uintptr + _ = v1 + if _sqlite3FaultSim(tls, int32(700)) != 0 { + v1 = uintptr(0) + } else { + v1 = Xsqlite3_realloc(tls, pOld, int32(newSize)) + } + return v1 +} + // C documentation // // /* Construct a new Expr object from a single token */ @@ -146740,7 +148002,7 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId _ = p p = _sqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if (hasCollate != 0 || sortOrder != -int32(1)) && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23300, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23445, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) } _sqlite3ExprListSetName(tls, pParse, p, pIdToken, int32(1)) return p @@ -146790,6 +148052,9 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser // ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser // ** sqlite3ParserCTX_* As sqlite3ParserARG_ except for %extra_context +// ** YYREALLOC Name of the realloc() function to use +// ** YYFREE Name of the free() function to use +// ** YYDYNSTACK True if stack space should be extended on heap // ** YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** YYNSTATE the combined number of states. @@ -146803,31 +148068,33 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** YY_NO_ACTION The yy_action[] code for no-op // ** YY_MIN_REDUCE Minimum value for reduce actions // ** YY_MAX_REDUCE Maximum value for reduce actions +// ** YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type TYYMINORTYPE = struct { Fyy0 [0]TToken - Fyy33 [0]uintptr - Fyy41 [0]uintptr - Fyy47 [0]uintptr - Fyy131 [0]uintptr - Fyy180 [0]TTrigEvent - Fyy231 [0]struct { + Fyy14 [0]uintptr + Fyy59 [0]uintptr + Fyy67 [0]uintptr + Fyy122 [0]uintptr + Fyy132 [0]uintptr + Fyy144 [0]int32 + Fyy168 [0]uintptr + Fyy203 [0]uintptr + Fyy211 [0]uintptr + Fyy269 [0]TOnOrUsing + Fyy286 [0]TTrigEvent + Fyy383 [0]struct { Fvalue int32 Fmask int32 } - Fyy254 [0]uintptr - Fyy285 [0]Tu32 - Fyy322 [0]uintptr - Fyy385 [0]uintptr - Fyy394 [0]int32 - Fyy444 [0]uintptr - Fyy516 [0]Tu8 - Fyy521 [0]uintptr - Fyy522 [0]uintptr - Fyy528 [0]uintptr - Fyy561 [0]TOnOrUsing - Fyy595 [0]TFrameBound + Fyy391 [0]Tu32 + Fyy427 [0]uintptr + Fyy454 [0]uintptr + Fyy462 [0]Tu8 + Fyy509 [0]TFrameBound + Fyy555 [0]uintptr Fyyinit int32 F__ccgo_pad20 [12]byte } @@ -146845,6 +148112,13 @@ type YYMINORTYPE = TYYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -146897,2152 +148171,2194 @@ type YYMINORTYPE = TYYMINORTYPE // ** yy_default[] Default action for each state. // ** // *********** Begin parsing tables **********************************************/ -var _yy_action = [2100]uint16{ - 0: uint16(572), - 1: uint16(210), - 2: uint16(572), - 3: uint16(119), - 4: uint16(116), - 5: uint16(231), - 6: uint16(572), - 7: uint16(119), - 8: uint16(116), - 9: uint16(231), - 10: uint16(572), - 11: uint16(1317), - 12: uint16(379), - 13: uint16(1296), - 14: uint16(410), - 15: uint16(566), - 16: uint16(566), - 17: uint16(566), - 18: uint16(572), - 19: uint16(411), - 20: uint16(380), - 21: uint16(1317), - 22: uint16(1279), - 23: uint16(42), - 24: uint16(42), - 25: uint16(42), - 26: uint16(42), - 27: uint16(210), - 28: uint16(1529), - 29: uint16(72), - 30: uint16(72), - 31: uint16(974), - 32: uint16(421), - 33: uint16(42), - 34: uint16(42), - 35: uint16(495), - 36: uint16(305), - 37: uint16(281), - 38: uint16(305), - 39: uint16(975), - 40: uint16(399), - 41: uint16(72), - 42: uint16(72), - 43: uint16(126), - 44: uint16(127), - 45: uint16(81), - 46: uint16(1217), - 47: uint16(1217), - 48: uint16(1054), - 49: uint16(1057), - 50: uint16(1044), - 51: uint16(1044), - 52: uint16(124), - 53: uint16(124), - 54: uint16(125), - 55: uint16(125), - 56: uint16(125), - 57: uint16(125), - 58: uint16(480), - 59: uint16(411), - 60: uint16(1244), - 61: uint16(1), - 62: uint16(1), - 63: uint16(578), - 64: uint16(2), - 65: uint16(1248), - 66: uint16(554), - 67: uint16(119), - 68: uint16(116), - 69: uint16(231), - 70: uint16(319), - 71: uint16(484), - 72: uint16(147), - 73: uint16(484), - 74: uint16(528), - 75: uint16(119), - 76: uint16(116), - 77: uint16(231), - 78: uint16(533), - 79: uint16(1330), - 80: uint16(419), - 81: uint16(527), - 82: uint16(143), - 83: uint16(126), - 84: uint16(127), - 85: uint16(81), - 86: uint16(1217), - 87: uint16(1217), - 88: uint16(1054), - 89: uint16(1057), - 90: uint16(1044), - 91: uint16(1044), - 92: uint16(124), - 93: uint16(124), - 94: uint16(125), - 95: uint16(125), - 96: uint16(125), - 97: uint16(125), - 98: uint16(119), - 99: uint16(116), - 100: uint16(231), - 101: uint16(329), - 102: uint16(123), - 103: uint16(123), - 104: uint16(123), - 105: uint16(123), - 106: uint16(122), - 107: uint16(122), - 108: uint16(121), - 109: uint16(121), - 110: uint16(121), - 111: uint16(120), - 112: uint16(117), - 113: uint16(448), - 114: uint16(286), - 115: uint16(286), - 116: uint16(286), - 117: uint16(286), - 118: uint16(446), - 119: uint16(446), - 120: uint16(446), - 121: uint16(1568), - 122: uint16(378), - 123: uint16(1570), - 124: uint16(1193), - 125: uint16(377), - 126: uint16(1164), - 127: uint16(569), - 128: uint16(1164), - 129: uint16(569), - 130: uint16(411), - 131: uint16(1568), - 132: uint16(541), - 133: uint16(261), - 134: uint16(228), - 135: uint16(448), - 136: uint16(102), - 137: uint16(146), - 138: uint16(453), - 139: uint16(318), - 140: uint16(563), - 141: uint16(242), - 142: uint16(123), - 143: uint16(123), - 144: uint16(123), - 145: uint16(123), - 146: uint16(122), - 147: uint16(122), - 148: uint16(121), - 149: uint16(121), - 150: uint16(121), - 151: uint16(120), - 152: uint16(117), - 153: uint16(448), - 154: uint16(126), - 155: uint16(127), - 156: uint16(81), - 157: uint16(1217), - 158: uint16(1217), - 159: uint16(1054), - 160: uint16(1057), - 161: uint16(1044), - 162: uint16(1044), - 163: uint16(124), - 164: uint16(124), - 165: uint16(125), - 166: uint16(125), - 167: uint16(125), - 168: uint16(125), - 169: uint16(143), - 170: uint16(296), - 171: uint16(1193), - 172: uint16(341), - 173: uint16(452), - 174: uint16(121), - 175: uint16(121), - 176: uint16(121), - 177: uint16(120), - 178: uint16(117), - 179: uint16(448), - 180: uint16(128), - 181: uint16(1193), - 182: uint16(1194), - 183: uint16(1193), - 184: uint16(149), - 185: uint16(445), - 186: uint16(444), - 187: uint16(572), - 188: uint16(120), - 189: uint16(117), - 190: uint16(448), - 191: uint16(125), - 192: uint16(125), - 193: uint16(125), - 194: uint16(125), - 195: uint16(118), - 196: uint16(123), - 197: uint16(123), - 198: uint16(123), - 199: uint16(123), - 200: uint16(122), - 201: uint16(122), - 202: uint16(121), - 203: uint16(121), - 204: uint16(121), - 205: uint16(120), - 206: uint16(117), - 207: uint16(448), - 208: uint16(458), - 209: uint16(114), - 210: uint16(13), - 211: uint16(13), - 212: uint16(550), - 213: uint16(123), - 214: uint16(123), - 215: uint16(123), - 216: uint16(123), - 217: uint16(122), - 218: uint16(122), - 219: uint16(121), - 220: uint16(121), - 221: uint16(121), - 222: uint16(120), - 223: uint16(117), - 224: uint16(448), - 225: uint16(424), - 226: uint16(318), - 227: uint16(563), - 228: uint16(1193), - 229: uint16(1194), - 230: uint16(1193), - 231: uint16(150), - 232: uint16(1225), - 233: uint16(411), - 234: uint16(1225), - 235: uint16(125), - 236: uint16(125), - 237: uint16(125), - 238: uint16(125), - 239: uint16(123), - 240: uint16(123), - 241: uint16(123), - 242: uint16(123), - 243: uint16(122), - 244: uint16(122), - 245: uint16(121), - 246: uint16(121), - 247: uint16(121), - 248: uint16(120), - 249: uint16(117), - 250: uint16(448), - 251: uint16(469), - 252: uint16(344), - 253: uint16(1041), - 254: uint16(1041), - 255: uint16(1055), - 256: uint16(1058), - 257: uint16(126), - 258: uint16(127), - 259: uint16(81), - 260: uint16(1217), - 261: uint16(1217), - 262: uint16(1054), - 263: uint16(1057), - 264: uint16(1044), - 265: uint16(1044), - 266: uint16(124), - 267: uint16(124), - 268: uint16(125), - 269: uint16(125), - 270: uint16(125), - 271: uint16(125), - 272: uint16(1282), - 273: uint16(526), - 274: uint16(224), - 275: uint16(1193), - 276: uint16(572), - 277: uint16(411), - 278: uint16(226), - 279: uint16(519), - 280: uint16(177), - 281: uint16(83), - 282: uint16(84), - 283: uint16(123), - 284: uint16(123), - 285: uint16(123), - 286: uint16(123), - 287: uint16(122), - 288: uint16(122), - 289: uint16(121), - 290: uint16(121), - 291: uint16(121), - 292: uint16(120), - 293: uint16(117), - 294: uint16(448), - 295: uint16(1010), - 296: uint16(16), - 297: uint16(16), - 298: uint16(1193), - 299: uint16(134), - 300: uint16(134), - 301: uint16(126), - 302: uint16(127), - 303: uint16(81), - 304: uint16(1217), - 305: uint16(1217), - 306: uint16(1054), - 307: uint16(1057), - 308: uint16(1044), - 309: uint16(1044), - 310: uint16(124), - 311: uint16(124), - 312: uint16(125), - 313: uint16(125), - 314: uint16(125), - 315: uint16(125), - 316: uint16(123), - 317: uint16(123), - 318: uint16(123), - 319: uint16(123), - 320: uint16(122), - 321: uint16(122), - 322: uint16(121), - 323: uint16(121), - 324: uint16(121), - 325: uint16(120), - 326: uint16(117), - 327: uint16(448), - 328: uint16(1045), - 329: uint16(550), - 330: uint16(1193), - 331: uint16(375), - 332: uint16(1193), - 333: uint16(1194), - 334: uint16(1193), - 335: uint16(254), - 336: uint16(1438), - 337: uint16(401), - 338: uint16(508), - 339: uint16(505), - 340: uint16(504), - 341: uint16(112), - 342: uint16(564), - 343: uint16(570), +var _yy_action = [2142]uint16{ + 0: uint16(576), + 1: uint16(128), + 2: uint16(125), + 3: uint16(232), + 4: uint16(1622), + 5: uint16(549), + 6: uint16(576), + 7: uint16(1290), + 8: uint16(1281), + 9: uint16(576), + 10: uint16(328), + 11: uint16(576), + 12: uint16(1300), + 13: uint16(212), + 14: uint16(576), + 15: uint16(128), + 16: uint16(125), + 17: uint16(232), + 18: uint16(578), + 19: uint16(412), + 20: uint16(578), + 21: uint16(391), + 22: uint16(1542), + 23: uint16(51), + 24: uint16(51), + 25: uint16(523), + 26: uint16(405), + 27: uint16(1293), + 28: uint16(529), + 29: uint16(51), + 30: uint16(51), + 31: uint16(983), + 32: uint16(51), + 33: uint16(51), + 34: uint16(81), + 35: uint16(81), + 36: uint16(1107), + 37: uint16(61), + 38: uint16(61), + 39: uint16(984), + 40: uint16(1107), + 41: uint16(1292), + 42: uint16(380), + 43: uint16(135), + 44: uint16(136), + 45: uint16(90), + 46: uint16(1228), + 47: uint16(1228), + 48: uint16(1063), + 49: uint16(1066), + 50: uint16(1053), + 51: uint16(1053), + 52: uint16(133), + 53: uint16(133), + 54: uint16(134), + 55: uint16(134), + 56: uint16(134), + 57: uint16(134), + 58: uint16(1577), + 59: uint16(412), + 60: uint16(287), + 61: uint16(287), + 62: uint16(7), + 63: uint16(287), + 64: uint16(287), + 65: uint16(422), + 66: uint16(1050), + 67: uint16(1050), + 68: uint16(1064), + 69: uint16(1067), + 70: uint16(289), + 71: uint16(556), + 72: uint16(492), + 73: uint16(573), + 74: uint16(524), + 75: uint16(561), + 76: uint16(573), + 77: uint16(497), + 78: uint16(561), + 79: uint16(482), + 80: uint16(530), + 81: uint16(262), + 82: uint16(229), + 83: uint16(135), + 84: uint16(136), + 85: uint16(90), + 86: uint16(1228), + 87: uint16(1228), + 88: uint16(1063), + 89: uint16(1066), + 90: uint16(1053), + 91: uint16(1053), + 92: uint16(133), + 93: uint16(133), + 94: uint16(134), + 95: uint16(134), + 96: uint16(134), + 97: uint16(134), + 98: uint16(128), + 99: uint16(125), + 100: uint16(232), + 101: uint16(1506), + 102: uint16(132), + 103: uint16(132), + 104: uint16(132), + 105: uint16(132), + 106: uint16(131), + 107: uint16(131), + 108: uint16(130), + 109: uint16(130), + 110: uint16(130), + 111: uint16(129), + 112: uint16(126), + 113: uint16(450), + 114: uint16(1204), + 115: uint16(1255), + 116: uint16(1), + 117: uint16(1), + 118: uint16(582), + 119: uint16(2), + 120: uint16(1259), + 121: uint16(1571), + 122: uint16(420), + 123: uint16(1582), + 124: uint16(379), + 125: uint16(320), + 126: uint16(1174), + 127: uint16(153), + 128: uint16(1174), + 129: uint16(1584), + 130: uint16(412), + 131: uint16(378), + 132: uint16(1582), + 133: uint16(543), + 134: uint16(1341), + 135: uint16(330), + 136: uint16(111), + 137: uint16(570), + 138: uint16(570), + 139: uint16(570), + 140: uint16(293), + 141: uint16(1054), + 142: uint16(132), + 143: uint16(132), + 144: uint16(132), + 145: uint16(132), + 146: uint16(131), + 147: uint16(131), + 148: uint16(130), + 149: uint16(130), + 150: uint16(130), + 151: uint16(129), + 152: uint16(126), + 153: uint16(450), + 154: uint16(135), + 155: uint16(136), + 156: uint16(90), + 157: uint16(1228), + 158: uint16(1228), + 159: uint16(1063), + 160: uint16(1066), + 161: uint16(1053), + 162: uint16(1053), + 163: uint16(133), + 164: uint16(133), + 165: uint16(134), + 166: uint16(134), + 167: uint16(134), + 168: uint16(134), + 169: uint16(287), + 170: uint16(287), + 171: uint16(1204), + 172: uint16(1205), + 173: uint16(1204), + 174: uint16(255), + 175: uint16(287), + 176: uint16(287), + 177: uint16(510), + 178: uint16(507), + 179: uint16(506), + 180: uint16(137), + 181: uint16(455), + 182: uint16(573), + 183: uint16(212), + 184: uint16(561), + 185: uint16(447), + 186: uint16(446), + 187: uint16(505), + 188: uint16(573), + 189: uint16(1616), + 190: uint16(561), + 191: uint16(134), + 192: uint16(134), + 193: uint16(134), + 194: uint16(134), + 195: uint16(127), + 196: uint16(400), + 197: uint16(243), + 198: uint16(132), + 199: uint16(132), + 200: uint16(132), + 201: uint16(132), + 202: uint16(131), + 203: uint16(131), + 204: uint16(130), + 205: uint16(130), + 206: uint16(130), + 207: uint16(129), + 208: uint16(126), + 209: uint16(450), + 210: uint16(282), + 211: uint16(471), + 212: uint16(345), + 213: uint16(132), + 214: uint16(132), + 215: uint16(132), + 216: uint16(132), + 217: uint16(131), + 218: uint16(131), + 219: uint16(130), + 220: uint16(130), + 221: uint16(130), + 222: uint16(129), + 223: uint16(126), + 224: uint16(450), + 225: uint16(574), + 226: uint16(155), + 227: uint16(936), + 228: uint16(936), + 229: uint16(454), + 230: uint16(227), + 231: uint16(521), + 232: uint16(1236), + 233: uint16(412), + 234: uint16(1236), + 235: uint16(134), + 236: uint16(134), + 237: uint16(134), + 238: uint16(134), + 239: uint16(132), + 240: uint16(132), + 241: uint16(132), + 242: uint16(132), + 243: uint16(131), + 244: uint16(131), + 245: uint16(130), + 246: uint16(130), + 247: uint16(130), + 248: uint16(129), + 249: uint16(126), + 250: uint16(450), + 251: uint16(130), + 252: uint16(130), + 253: uint16(130), + 254: uint16(129), + 255: uint16(126), + 256: uint16(450), + 257: uint16(135), + 258: uint16(136), + 259: uint16(90), + 260: uint16(1228), + 261: uint16(1228), + 262: uint16(1063), + 263: uint16(1066), + 264: uint16(1053), + 265: uint16(1053), + 266: uint16(133), + 267: uint16(133), + 268: uint16(134), + 269: uint16(134), + 270: uint16(134), + 271: uint16(134), + 272: uint16(128), + 273: uint16(125), + 274: uint16(232), + 275: uint16(450), + 276: uint16(576), + 277: uint16(412), + 278: uint16(397), + 279: uint16(1249), + 280: uint16(180), + 281: uint16(92), + 282: uint16(93), + 283: uint16(132), + 284: uint16(132), + 285: uint16(132), + 286: uint16(132), + 287: uint16(131), + 288: uint16(131), + 289: uint16(130), + 290: uint16(130), + 291: uint16(130), + 292: uint16(129), + 293: uint16(126), + 294: uint16(450), + 295: uint16(381), + 296: uint16(387), + 297: uint16(1204), + 298: uint16(383), + 299: uint16(81), + 300: uint16(81), + 301: uint16(135), + 302: uint16(136), + 303: uint16(90), + 304: uint16(1228), + 305: uint16(1228), + 306: uint16(1063), + 307: uint16(1066), + 308: uint16(1053), + 309: uint16(1053), + 310: uint16(133), + 311: uint16(133), + 312: uint16(134), + 313: uint16(134), + 314: uint16(134), + 315: uint16(134), + 316: uint16(132), + 317: uint16(132), + 318: uint16(132), + 319: uint16(132), + 320: uint16(131), + 321: uint16(131), + 322: uint16(130), + 323: uint16(130), + 324: uint16(130), + 325: uint16(129), + 326: uint16(126), + 327: uint16(450), + 328: uint16(131), + 329: uint16(131), + 330: uint16(130), + 331: uint16(130), + 332: uint16(130), + 333: uint16(129), + 334: uint16(126), + 335: uint16(450), + 336: uint16(556), + 337: uint16(1204), + 338: uint16(302), + 339: uint16(319), + 340: uint16(567), + 341: uint16(121), + 342: uint16(568), + 343: uint16(480), 344: uint16(4), - 345: uint16(929), - 346: uint16(929), - 347: uint16(435), - 348: uint16(503), - 349: uint16(342), - 350: uint16(464), - 351: uint16(330), - 352: uint16(362), - 353: uint16(396), - 354: uint16(1238), - 355: uint16(1193), - 356: uint16(1194), - 357: uint16(1193), - 358: uint16(567), - 359: uint16(572), - 360: uint16(123), - 361: uint16(123), - 362: uint16(123), - 363: uint16(123), - 364: uint16(122), - 365: uint16(122), - 366: uint16(121), - 367: uint16(121), - 368: uint16(121), - 369: uint16(120), - 370: uint16(117), - 371: uint16(448), - 372: uint16(286), - 373: uint16(286), - 374: uint16(371), - 375: uint16(1581), - 376: uint16(1607), - 377: uint16(445), - 378: uint16(444), - 379: uint16(155), - 380: uint16(411), - 381: uint16(449), - 382: uint16(72), - 383: uint16(72), - 384: uint16(1289), - 385: uint16(569), - 386: uint16(1222), - 387: uint16(1193), - 388: uint16(1194), - 389: uint16(1193), - 390: uint16(86), - 391: uint16(1224), - 392: uint16(273), - 393: uint16(561), - 394: uint16(547), - 395: uint16(520), - 396: uint16(520), - 397: uint16(572), - 398: uint16(99), - 399: uint16(1223), - 400: uint16(6), - 401: uint16(1281), - 402: uint16(476), - 403: uint16(143), - 404: uint16(126), - 405: uint16(127), - 406: uint16(81), - 407: uint16(1217), - 408: uint16(1217), - 409: uint16(1054), - 410: uint16(1057), - 411: uint16(1044), - 412: uint16(1044), - 413: uint16(124), - 414: uint16(124), - 415: uint16(125), - 416: uint16(125), - 417: uint16(125), - 418: uint16(125), - 419: uint16(554), - 420: uint16(13), - 421: uint16(13), - 422: uint16(1031), - 423: uint16(511), - 424: uint16(1225), - 425: uint16(1193), - 426: uint16(1225), - 427: uint16(553), - 428: uint16(110), - 429: uint16(110), - 430: uint16(224), - 431: uint16(572), - 432: uint16(1239), - 433: uint16(177), - 434: uint16(572), - 435: uint16(429), - 436: uint16(111), - 437: uint16(199), - 438: uint16(449), - 439: uint16(573), - 440: uint16(449), - 441: uint16(432), - 442: uint16(1555), - 443: uint16(1019), - 444: uint16(327), - 445: uint16(555), - 446: uint16(1193), - 447: uint16(272), - 448: uint16(289), - 449: uint16(370), - 450: uint16(514), - 451: uint16(365), - 452: uint16(513), - 453: uint16(259), - 454: uint16(72), - 455: uint16(72), - 456: uint16(547), - 457: uint16(72), - 458: uint16(72), - 459: uint16(361), - 460: uint16(318), - 461: uint16(563), - 462: uint16(1613), - 463: uint16(123), - 464: uint16(123), - 465: uint16(123), - 466: uint16(123), - 467: uint16(122), - 468: uint16(122), - 469: uint16(121), - 470: uint16(121), - 471: uint16(121), - 472: uint16(120), - 473: uint16(117), - 474: uint16(448), - 475: uint16(1019), - 476: uint16(1019), - 477: uint16(1021), - 478: uint16(1022), - 479: uint16(28), - 480: uint16(286), - 481: uint16(286), - 482: uint16(1193), - 483: uint16(1194), - 484: uint16(1193), - 485: uint16(1159), - 486: uint16(572), - 487: uint16(1612), - 488: uint16(411), - 489: uint16(904), - 490: uint16(192), - 491: uint16(554), - 492: uint16(358), - 493: uint16(569), - 494: uint16(554), - 495: uint16(940), - 496: uint16(537), - 497: uint16(521), - 498: uint16(1159), - 499: uint16(437), - 500: uint16(415), - 501: uint16(1159), - 502: uint16(556), - 503: uint16(1193), - 504: uint16(1194), - 505: uint16(1193), - 506: uint16(572), - 507: uint16(548), - 508: uint16(548), - 509: uint16(52), - 510: uint16(52), - 511: uint16(216), - 512: uint16(126), - 513: uint16(127), - 514: uint16(81), - 515: uint16(1217), - 516: uint16(1217), - 517: uint16(1054), - 518: uint16(1057), - 519: uint16(1044), - 520: uint16(1044), - 521: uint16(124), - 522: uint16(124), - 523: uint16(125), - 524: uint16(125), - 525: uint16(125), - 526: uint16(125), - 527: uint16(1193), - 528: uint16(478), - 529: uint16(136), - 530: uint16(136), - 531: uint16(411), - 532: uint16(286), - 533: uint16(286), - 534: uint16(1493), - 535: uint16(509), - 536: uint16(122), - 537: uint16(122), - 538: uint16(121), - 539: uint16(121), - 540: uint16(121), - 541: uint16(120), - 542: uint16(117), - 543: uint16(448), - 544: uint16(1010), - 545: uint16(569), - 546: uint16(522), - 547: uint16(219), - 548: uint16(545), - 549: uint16(545), - 550: uint16(318), - 551: uint16(563), - 552: uint16(143), - 553: uint16(6), - 554: uint16(536), - 555: uint16(126), - 556: uint16(127), - 557: uint16(81), - 558: uint16(1217), - 559: uint16(1217), - 560: uint16(1054), - 561: uint16(1057), - 562: uint16(1044), - 563: uint16(1044), - 564: uint16(124), - 565: uint16(124), - 566: uint16(125), - 567: uint16(125), - 568: uint16(125), - 569: uint16(125), - 570: uint16(1557), - 571: uint16(123), - 572: uint16(123), - 573: uint16(123), - 574: uint16(123), - 575: uint16(122), - 576: uint16(122), - 577: uint16(121), - 578: uint16(121), - 579: uint16(121), - 580: uint16(120), - 581: uint16(117), - 582: uint16(448), - 583: uint16(489), - 584: uint16(1193), - 585: uint16(1194), - 586: uint16(1193), - 587: uint16(486), - 588: uint16(283), - 589: uint16(1270), - 590: uint16(960), - 591: uint16(254), - 592: uint16(1193), - 593: uint16(375), - 594: uint16(508), - 595: uint16(505), - 596: uint16(504), - 597: uint16(1193), - 598: uint16(342), - 599: uint16(574), - 600: uint16(1193), - 601: uint16(574), - 602: uint16(411), - 603: uint16(294), - 604: uint16(503), - 605: uint16(960), - 606: uint16(879), - 607: uint16(193), - 608: uint16(484), - 609: uint16(318), - 610: uint16(563), - 611: uint16(386), - 612: uint16(292), - 613: uint16(382), - 614: uint16(123), - 615: uint16(123), - 616: uint16(123), - 617: uint16(123), - 618: uint16(122), - 619: uint16(122), - 620: uint16(121), - 621: uint16(121), - 622: uint16(121), - 623: uint16(120), - 624: uint16(117), - 625: uint16(448), - 626: uint16(126), - 627: uint16(127), - 628: uint16(81), - 629: uint16(1217), - 630: uint16(1217), - 631: uint16(1054), - 632: uint16(1057), - 633: uint16(1044), - 634: uint16(1044), - 635: uint16(124), - 636: uint16(124), - 637: uint16(125), - 638: uint16(125), - 639: uint16(125), - 640: uint16(125), - 641: uint16(411), - 642: uint16(396), - 643: uint16(1139), - 644: uint16(1193), - 645: uint16(872), - 646: uint16(101), - 647: uint16(286), - 648: uint16(286), - 649: uint16(1193), - 650: uint16(1194), - 651: uint16(1193), - 652: uint16(375), - 653: uint16(1096), - 654: uint16(1193), - 655: uint16(1194), - 656: uint16(1193), - 657: uint16(1193), - 658: uint16(1194), - 659: uint16(1193), - 660: uint16(569), - 661: uint16(459), - 662: uint16(33), - 663: uint16(375), - 664: uint16(235), - 665: uint16(126), - 666: uint16(127), - 667: uint16(81), - 668: uint16(1217), - 669: uint16(1217), - 670: uint16(1054), - 671: uint16(1057), - 672: uint16(1044), - 673: uint16(1044), - 674: uint16(124), - 675: uint16(124), - 676: uint16(125), - 677: uint16(125), - 678: uint16(125), - 679: uint16(125), - 680: uint16(1437), - 681: uint16(962), - 682: uint16(572), - 683: uint16(230), - 684: uint16(961), - 685: uint16(123), - 686: uint16(123), - 687: uint16(123), - 688: uint16(123), - 689: uint16(122), - 690: uint16(122), - 691: uint16(121), - 692: uint16(121), - 693: uint16(121), - 694: uint16(120), - 695: uint16(117), - 696: uint16(448), - 697: uint16(1159), - 698: uint16(230), - 699: uint16(1193), - 700: uint16(158), - 701: uint16(1193), - 702: uint16(1194), - 703: uint16(1193), - 704: uint16(1556), - 705: uint16(13), - 706: uint16(13), - 707: uint16(303), - 708: uint16(960), - 709: uint16(1233), - 710: uint16(1159), - 711: uint16(154), - 712: uint16(411), - 713: uint16(1159), - 714: uint16(375), - 715: uint16(1584), - 716: uint16(1177), - 717: uint16(5), - 718: uint16(371), - 719: uint16(1581), - 720: uint16(431), - 721: uint16(1239), - 722: uint16(3), - 723: uint16(960), - 724: uint16(123), - 725: uint16(123), - 726: uint16(123), - 727: uint16(123), - 728: uint16(122), - 729: uint16(122), - 730: uint16(121), - 731: uint16(121), - 732: uint16(121), - 733: uint16(120), - 734: uint16(117), - 735: uint16(448), - 736: uint16(126), - 737: uint16(127), - 738: uint16(81), - 739: uint16(1217), - 740: uint16(1217), - 741: uint16(1054), - 742: uint16(1057), - 743: uint16(1044), - 744: uint16(1044), - 745: uint16(124), - 746: uint16(124), - 747: uint16(125), - 748: uint16(125), - 749: uint16(125), - 750: uint16(125), - 751: uint16(411), - 752: uint16(210), - 753: uint16(571), - 754: uint16(1193), - 755: uint16(1032), - 756: uint16(1193), - 757: uint16(1194), - 758: uint16(1193), - 759: uint16(1193), - 760: uint16(390), - 761: uint16(855), - 762: uint16(156), - 763: uint16(1555), - 764: uint16(376), - 765: uint16(404), - 766: uint16(1101), - 767: uint16(1101), - 768: uint16(492), - 769: uint16(572), - 770: uint16(469), - 771: uint16(344), - 772: uint16(1322), - 773: uint16(1322), - 774: uint16(1555), - 775: uint16(126), - 776: uint16(127), - 777: uint16(81), - 778: uint16(1217), - 779: uint16(1217), - 780: uint16(1054), - 781: uint16(1057), - 782: uint16(1044), - 783: uint16(1044), - 784: uint16(124), - 785: uint16(124), - 786: uint16(125), - 787: uint16(125), - 788: uint16(125), - 789: uint16(125), - 790: uint16(130), - 791: uint16(572), - 792: uint16(13), - 793: uint16(13), - 794: uint16(532), - 795: uint16(123), - 796: uint16(123), - 797: uint16(123), - 798: uint16(123), - 799: uint16(122), - 800: uint16(122), - 801: uint16(121), - 802: uint16(121), - 803: uint16(121), - 804: uint16(120), - 805: uint16(117), - 806: uint16(448), - 807: uint16(304), - 808: uint16(572), - 809: uint16(457), - 810: uint16(229), - 811: uint16(1193), - 812: uint16(1194), - 813: uint16(1193), - 814: uint16(13), - 815: uint16(13), - 816: uint16(1193), - 817: uint16(1194), - 818: uint16(1193), - 819: uint16(1300), - 820: uint16(467), - 821: uint16(1270), - 822: uint16(411), - 823: uint16(1320), - 824: uint16(1320), - 825: uint16(1555), - 826: uint16(1015), - 827: uint16(457), - 828: uint16(456), - 829: uint16(436), - 830: uint16(301), - 831: uint16(72), - 832: uint16(72), - 833: uint16(1268), - 834: uint16(123), - 835: uint16(123), - 836: uint16(123), - 837: uint16(123), - 838: uint16(122), - 839: uint16(122), - 840: uint16(121), - 841: uint16(121), - 842: uint16(121), - 843: uint16(120), - 844: uint16(117), - 845: uint16(448), - 846: uint16(126), - 847: uint16(127), - 848: uint16(81), - 849: uint16(1217), - 850: uint16(1217), - 851: uint16(1054), - 852: uint16(1057), - 853: uint16(1044), - 854: uint16(1044), - 855: uint16(124), - 856: uint16(124), - 857: uint16(125), - 858: uint16(125), - 859: uint16(125), - 860: uint16(125), - 861: uint16(411), - 862: uint16(384), - 863: uint16(1076), - 864: uint16(1159), - 865: uint16(286), - 866: uint16(286), - 867: uint16(421), - 868: uint16(314), - 869: uint16(280), - 870: uint16(280), - 871: uint16(287), - 872: uint16(287), - 873: uint16(461), - 874: uint16(408), - 875: uint16(407), - 876: uint16(1539), - 877: uint16(1159), - 878: uint16(569), - 879: uint16(572), - 880: uint16(1159), - 881: uint16(1196), - 882: uint16(569), - 883: uint16(409), - 884: uint16(569), - 885: uint16(126), - 886: uint16(127), - 887: uint16(81), - 888: uint16(1217), - 889: uint16(1217), - 890: uint16(1054), - 891: uint16(1057), - 892: uint16(1044), - 893: uint16(1044), - 894: uint16(124), - 895: uint16(124), - 896: uint16(125), - 897: uint16(125), - 898: uint16(125), - 899: uint16(125), - 900: uint16(457), - 901: uint16(1485), - 902: uint16(13), - 903: uint16(13), - 904: uint16(1541), - 905: uint16(123), - 906: uint16(123), - 907: uint16(123), - 908: uint16(123), - 909: uint16(122), - 910: uint16(122), - 911: uint16(121), - 912: uint16(121), - 913: uint16(121), - 914: uint16(120), - 915: uint16(117), - 916: uint16(448), - 917: uint16(202), - 918: uint16(572), - 919: uint16(462), - 920: uint16(1587), - 921: uint16(578), - 922: uint16(2), - 923: uint16(1248), - 924: uint16(843), - 925: uint16(844), - 926: uint16(845), - 927: uint16(1563), - 928: uint16(319), - 929: uint16(409), - 930: uint16(147), - 931: uint16(6), - 932: uint16(411), - 933: uint16(257), - 934: uint16(256), - 935: uint16(255), - 936: uint16(208), - 937: uint16(1330), - 938: uint16(9), - 939: uint16(1196), - 940: uint16(264), - 941: uint16(72), - 942: uint16(72), - 943: uint16(1436), - 944: uint16(123), - 945: uint16(123), - 946: uint16(123), - 947: uint16(123), - 948: uint16(122), - 949: uint16(122), - 950: uint16(121), - 951: uint16(121), - 952: uint16(121), - 953: uint16(120), - 954: uint16(117), - 955: uint16(448), - 956: uint16(126), - 957: uint16(127), - 958: uint16(81), - 959: uint16(1217), - 960: uint16(1217), - 961: uint16(1054), - 962: uint16(1057), - 963: uint16(1044), - 964: uint16(1044), - 965: uint16(124), - 966: uint16(124), - 967: uint16(125), - 968: uint16(125), - 969: uint16(125), - 970: uint16(125), - 971: uint16(572), - 972: uint16(286), - 973: uint16(286), - 974: uint16(572), - 975: uint16(1213), - 976: uint16(411), - 977: uint16(577), - 978: uint16(315), - 979: uint16(1248), - 980: uint16(421), - 981: uint16(371), - 982: uint16(1581), - 983: uint16(356), - 984: uint16(319), - 985: uint16(569), - 986: uint16(147), - 987: uint16(495), - 988: uint16(529), - 989: uint16(1644), - 990: uint16(397), - 991: uint16(935), - 992: uint16(495), - 993: uint16(1330), - 994: uint16(71), - 995: uint16(71), - 996: uint16(934), - 997: uint16(72), - 998: uint16(72), - 999: uint16(242), - 1000: uint16(1328), - 1001: uint16(105), - 1002: uint16(81), - 1003: uint16(1217), - 1004: uint16(1217), - 1005: uint16(1054), - 1006: uint16(1057), - 1007: uint16(1044), - 1008: uint16(1044), - 1009: uint16(124), - 1010: uint16(124), - 1011: uint16(125), - 1012: uint16(125), - 1013: uint16(125), - 1014: uint16(125), - 1015: uint16(123), - 1016: uint16(123), - 1017: uint16(123), - 1018: uint16(123), - 1019: uint16(122), - 1020: uint16(122), - 1021: uint16(121), - 1022: uint16(121), - 1023: uint16(121), - 1024: uint16(120), - 1025: uint16(117), - 1026: uint16(448), - 1027: uint16(1117), - 1028: uint16(286), - 1029: uint16(286), - 1030: uint16(1422), - 1031: uint16(452), - 1032: uint16(1528), - 1033: uint16(1213), - 1034: uint16(443), - 1035: uint16(286), - 1036: uint16(286), - 1037: uint16(1492), - 1038: uint16(1355), - 1039: uint16(313), - 1040: uint16(478), - 1041: uint16(569), - 1042: uint16(1118), - 1043: uint16(454), - 1044: uint16(351), - 1045: uint16(495), - 1046: uint16(354), - 1047: uint16(1266), - 1048: uint16(569), - 1049: uint16(209), - 1050: uint16(572), - 1051: uint16(418), - 1052: uint16(179), - 1053: uint16(572), - 1054: uint16(1031), - 1055: uint16(242), - 1056: uint16(385), - 1057: uint16(1119), - 1058: uint16(523), - 1059: uint16(123), - 1060: uint16(123), - 1061: uint16(123), - 1062: uint16(123), - 1063: uint16(122), - 1064: uint16(122), - 1065: uint16(121), - 1066: uint16(121), - 1067: uint16(121), - 1068: uint16(120), - 1069: uint16(117), - 1070: uint16(448), - 1071: uint16(1020), - 1072: uint16(108), - 1073: uint16(72), - 1074: uint16(72), - 1075: uint16(1019), - 1076: uint16(13), - 1077: uint16(13), - 1078: uint16(915), - 1079: uint16(572), - 1080: uint16(1498), - 1081: uint16(572), - 1082: uint16(286), - 1083: uint16(286), - 1084: uint16(98), - 1085: uint16(530), - 1086: uint16(1537), - 1087: uint16(452), - 1088: uint16(916), - 1089: uint16(1334), - 1090: uint16(1329), - 1091: uint16(203), - 1092: uint16(411), - 1093: uint16(286), - 1094: uint16(286), - 1095: uint16(569), - 1096: uint16(152), - 1097: uint16(211), - 1098: uint16(1498), - 1099: uint16(1500), - 1100: uint16(426), - 1101: uint16(569), - 1102: uint16(56), - 1103: uint16(56), - 1104: uint16(57), - 1105: uint16(57), - 1106: uint16(569), - 1107: uint16(1019), - 1108: uint16(1019), - 1109: uint16(1021), - 1110: uint16(447), - 1111: uint16(572), - 1112: uint16(411), - 1113: uint16(531), - 1114: uint16(12), - 1115: uint16(297), - 1116: uint16(126), - 1117: uint16(127), - 1118: uint16(81), - 1119: uint16(1217), - 1120: uint16(1217), - 1121: uint16(1054), - 1122: uint16(1057), - 1123: uint16(1044), - 1124: uint16(1044), - 1125: uint16(124), - 1126: uint16(124), - 1127: uint16(125), - 1128: uint16(125), - 1129: uint16(125), - 1130: uint16(125), - 1131: uint16(572), - 1132: uint16(411), - 1133: uint16(867), - 1134: uint16(15), - 1135: uint16(15), - 1136: uint16(126), - 1137: uint16(127), - 1138: uint16(81), - 1139: uint16(1217), - 1140: uint16(1217), - 1141: uint16(1054), - 1142: uint16(1057), - 1143: uint16(1044), - 1144: uint16(1044), - 1145: uint16(124), - 1146: uint16(124), - 1147: uint16(125), - 1148: uint16(125), - 1149: uint16(125), - 1150: uint16(125), - 1151: uint16(373), - 1152: uint16(529), - 1153: uint16(264), - 1154: uint16(44), - 1155: uint16(44), - 1156: uint16(126), - 1157: uint16(115), - 1158: uint16(81), - 1159: uint16(1217), - 1160: uint16(1217), - 1161: uint16(1054), - 1162: uint16(1057), - 1163: uint16(1044), - 1164: uint16(1044), - 1165: uint16(124), - 1166: uint16(124), - 1167: uint16(125), - 1168: uint16(125), - 1169: uint16(125), - 1170: uint16(125), - 1171: uint16(1498), - 1172: uint16(478), - 1173: uint16(1271), - 1174: uint16(417), - 1175: uint16(123), - 1176: uint16(123), - 1177: uint16(123), - 1178: uint16(123), - 1179: uint16(122), - 1180: uint16(122), - 1181: uint16(121), - 1182: uint16(121), - 1183: uint16(121), - 1184: uint16(120), - 1185: uint16(117), - 1186: uint16(448), - 1187: uint16(205), - 1188: uint16(1213), - 1189: uint16(495), - 1190: uint16(430), - 1191: uint16(867), - 1192: uint16(468), - 1193: uint16(322), - 1194: uint16(495), - 1195: uint16(123), - 1196: uint16(123), - 1197: uint16(123), - 1198: uint16(123), - 1199: uint16(122), - 1200: uint16(122), - 1201: uint16(121), - 1202: uint16(121), - 1203: uint16(121), - 1204: uint16(120), - 1205: uint16(117), - 1206: uint16(448), - 1207: uint16(572), - 1208: uint16(557), - 1209: uint16(1140), - 1210: uint16(1642), - 1211: uint16(1422), - 1212: uint16(1642), - 1213: uint16(543), - 1214: uint16(572), - 1215: uint16(123), - 1216: uint16(123), - 1217: uint16(123), - 1218: uint16(123), - 1219: uint16(122), - 1220: uint16(122), - 1221: uint16(121), - 1222: uint16(121), - 1223: uint16(121), - 1224: uint16(120), - 1225: uint16(117), - 1226: uint16(448), - 1227: uint16(572), - 1228: uint16(1422), - 1229: uint16(572), - 1230: uint16(13), - 1231: uint16(13), - 1232: uint16(542), - 1233: uint16(323), - 1234: uint16(1325), - 1235: uint16(411), - 1236: uint16(334), - 1237: uint16(58), - 1238: uint16(58), - 1239: uint16(349), - 1240: uint16(1422), - 1241: uint16(1170), - 1242: uint16(326), - 1243: uint16(286), - 1244: uint16(286), - 1245: uint16(549), - 1246: uint16(1213), - 1247: uint16(300), - 1248: uint16(895), - 1249: uint16(530), - 1250: uint16(45), - 1251: uint16(45), - 1252: uint16(59), - 1253: uint16(59), - 1254: uint16(1140), - 1255: uint16(1643), - 1256: uint16(569), - 1257: uint16(1643), - 1258: uint16(565), - 1259: uint16(417), - 1260: uint16(127), - 1261: uint16(81), - 1262: uint16(1217), - 1263: uint16(1217), - 1264: uint16(1054), - 1265: uint16(1057), - 1266: uint16(1044), - 1267: uint16(1044), - 1268: uint16(124), - 1269: uint16(124), - 1270: uint16(125), - 1271: uint16(125), - 1272: uint16(125), - 1273: uint16(125), - 1274: uint16(1367), - 1275: uint16(373), - 1276: uint16(500), - 1277: uint16(290), - 1278: uint16(1193), - 1279: uint16(512), - 1280: uint16(1366), - 1281: uint16(427), - 1282: uint16(394), - 1283: uint16(394), - 1284: uint16(393), - 1285: uint16(275), - 1286: uint16(391), - 1287: uint16(896), - 1288: uint16(1138), - 1289: uint16(852), - 1290: uint16(478), - 1291: uint16(258), - 1292: uint16(1422), - 1293: uint16(1170), - 1294: uint16(463), - 1295: uint16(1159), - 1296: uint16(12), - 1297: uint16(331), - 1298: uint16(428), - 1299: uint16(333), - 1300: uint16(1117), - 1301: uint16(460), - 1302: uint16(236), - 1303: uint16(258), - 1304: uint16(325), - 1305: uint16(460), - 1306: uint16(544), - 1307: uint16(1544), - 1308: uint16(1159), - 1309: uint16(1098), - 1310: uint16(491), - 1311: uint16(1159), - 1312: uint16(324), - 1313: uint16(1098), - 1314: uint16(440), - 1315: uint16(1118), - 1316: uint16(335), - 1317: uint16(516), - 1318: uint16(123), - 1319: uint16(123), - 1320: uint16(123), - 1321: uint16(123), - 1322: uint16(122), - 1323: uint16(122), - 1324: uint16(121), - 1325: uint16(121), - 1326: uint16(121), - 1327: uint16(120), - 1328: uint16(117), - 1329: uint16(448), - 1330: uint16(1119), - 1331: uint16(318), - 1332: uint16(563), - 1333: uint16(1138), - 1334: uint16(572), - 1335: uint16(1193), - 1336: uint16(1194), - 1337: uint16(1193), - 1338: uint16(112), - 1339: uint16(564), - 1340: uint16(201), + 345: uint16(555), + 346: uint16(1149), + 347: uint16(1657), + 348: uint16(1628), + 349: uint16(1657), + 350: uint16(45), + 351: uint16(128), + 352: uint16(125), + 353: uint16(232), + 354: uint16(1204), + 355: uint16(1205), + 356: uint16(1204), + 357: uint16(1250), + 358: uint16(571), + 359: uint16(1169), + 360: uint16(132), + 361: uint16(132), + 362: uint16(132), + 363: uint16(132), + 364: uint16(131), + 365: uint16(131), + 366: uint16(130), + 367: uint16(130), + 368: uint16(130), + 369: uint16(129), + 370: uint16(126), + 371: uint16(450), + 372: uint16(1169), + 373: uint16(287), + 374: uint16(287), + 375: uint16(1169), + 376: uint16(1019), + 377: uint16(576), + 378: uint16(422), + 379: uint16(1019), + 380: uint16(412), + 381: uint16(451), + 382: uint16(1602), + 383: uint16(582), + 384: uint16(2), + 385: uint16(1259), + 386: uint16(573), + 387: uint16(44), + 388: uint16(561), + 389: uint16(95), + 390: uint16(320), + 391: uint16(110), + 392: uint16(153), + 393: uint16(565), + 394: uint16(1204), + 395: uint16(1205), + 396: uint16(1204), + 397: uint16(522), + 398: uint16(522), + 399: uint16(1341), + 400: uint16(81), + 401: uint16(81), + 402: uint16(7), + 403: uint16(44), + 404: uint16(135), + 405: uint16(136), + 406: uint16(90), + 407: uint16(1228), + 408: uint16(1228), + 409: uint16(1063), + 410: uint16(1066), + 411: uint16(1053), + 412: uint16(1053), + 413: uint16(133), + 414: uint16(133), + 415: uint16(134), + 416: uint16(134), + 417: uint16(134), + 418: uint16(134), + 419: uint16(295), + 420: uint16(1149), + 421: uint16(1658), + 422: uint16(1040), + 423: uint16(1658), + 424: uint16(1204), + 425: uint16(1147), + 426: uint16(319), + 427: uint16(567), + 428: uint16(119), + 429: uint16(119), + 430: uint16(343), + 431: uint16(466), + 432: uint16(331), + 433: uint16(343), + 434: uint16(287), + 435: uint16(287), + 436: uint16(120), + 437: uint16(556), + 438: uint16(451), + 439: uint16(577), + 440: uint16(451), + 441: uint16(1169), + 442: uint16(1169), + 443: uint16(1028), + 444: uint16(319), + 445: uint16(567), + 446: uint16(438), + 447: uint16(573), + 448: uint16(210), + 449: uint16(561), + 450: uint16(1339), + 451: uint16(1451), + 452: uint16(546), + 453: uint16(531), + 454: uint16(1169), + 455: uint16(1169), + 456: uint16(1598), + 457: uint16(1169), + 458: uint16(1169), + 459: uint16(416), + 460: uint16(319), + 461: uint16(567), + 462: uint16(243), + 463: uint16(132), + 464: uint16(132), + 465: uint16(132), + 466: uint16(132), + 467: uint16(131), + 468: uint16(131), + 469: uint16(130), + 470: uint16(130), + 471: uint16(130), + 472: uint16(129), + 473: uint16(126), + 474: uint16(450), + 475: uint16(1028), + 476: uint16(1028), + 477: uint16(1030), + 478: uint16(1031), + 479: uint16(35), + 480: uint16(44), + 481: uint16(1204), + 482: uint16(1205), + 483: uint16(1204), + 484: uint16(472), + 485: uint16(287), + 486: uint16(287), + 487: uint16(1328), + 488: uint16(412), + 489: uint16(1307), + 490: uint16(372), + 491: uint16(1595), + 492: uint16(359), + 493: uint16(225), + 494: uint16(454), + 495: uint16(1204), + 496: uint16(195), + 497: uint16(1328), + 498: uint16(573), + 499: uint16(1147), + 500: uint16(561), + 501: uint16(1333), + 502: uint16(1333), + 503: uint16(274), + 504: uint16(576), + 505: uint16(1188), + 506: uint16(576), + 507: uint16(340), + 508: uint16(46), + 509: uint16(196), + 510: uint16(537), + 511: uint16(217), + 512: uint16(135), + 513: uint16(136), + 514: uint16(90), + 515: uint16(1228), + 516: uint16(1228), + 517: uint16(1063), + 518: uint16(1066), + 519: uint16(1053), + 520: uint16(1053), + 521: uint16(133), + 522: uint16(133), + 523: uint16(134), + 524: uint16(134), + 525: uint16(134), + 526: uint16(134), + 527: uint16(19), + 528: uint16(19), + 529: uint16(19), + 530: uint16(19), + 531: uint16(412), + 532: uint16(581), + 533: uint16(1204), + 534: uint16(1259), + 535: uint16(511), + 536: uint16(1204), + 537: uint16(319), + 538: uint16(567), + 539: uint16(320), + 540: uint16(944), + 541: uint16(153), + 542: uint16(425), + 543: uint16(491), + 544: uint16(430), + 545: uint16(943), + 546: uint16(1204), + 547: uint16(488), + 548: uint16(1341), + 549: uint16(1450), + 550: uint16(532), + 551: uint16(1277), + 552: uint16(1204), + 553: uint16(1205), + 554: uint16(1204), + 555: uint16(135), + 556: uint16(136), + 557: uint16(90), + 558: uint16(1228), + 559: uint16(1228), + 560: uint16(1063), + 561: uint16(1066), + 562: uint16(1053), + 563: uint16(1053), + 564: uint16(133), + 565: uint16(133), + 566: uint16(134), + 567: uint16(134), + 568: uint16(134), + 569: uint16(134), + 570: uint16(575), + 571: uint16(132), + 572: uint16(132), + 573: uint16(132), + 574: uint16(132), + 575: uint16(131), + 576: uint16(131), + 577: uint16(130), + 578: uint16(130), + 579: uint16(130), + 580: uint16(129), + 581: uint16(126), + 582: uint16(450), + 583: uint16(287), + 584: uint16(287), + 585: uint16(528), + 586: uint16(287), + 587: uint16(287), + 588: uint16(372), + 589: uint16(1595), + 590: uint16(1204), + 591: uint16(1205), + 592: uint16(1204), + 593: uint16(1204), + 594: uint16(1205), + 595: uint16(1204), + 596: uint16(573), + 597: uint16(486), + 598: uint16(561), + 599: uint16(573), + 600: uint16(889), + 601: uint16(561), + 602: uint16(412), + 603: uint16(1204), + 604: uint16(1205), + 605: uint16(1204), + 606: uint16(886), + 607: uint16(40), + 608: uint16(22), + 609: uint16(22), + 610: uint16(220), + 611: uint16(243), + 612: uint16(525), + 613: uint16(1449), + 614: uint16(132), + 615: uint16(132), + 616: uint16(132), + 617: uint16(132), + 618: uint16(131), + 619: uint16(131), + 620: uint16(130), + 621: uint16(130), + 622: uint16(130), + 623: uint16(129), + 624: uint16(126), + 625: uint16(450), + 626: uint16(135), + 627: uint16(136), + 628: uint16(90), + 629: uint16(1228), + 630: uint16(1228), + 631: uint16(1063), + 632: uint16(1066), + 633: uint16(1053), + 634: uint16(1053), + 635: uint16(133), + 636: uint16(133), + 637: uint16(134), + 638: uint16(134), + 639: uint16(134), + 640: uint16(134), + 641: uint16(412), + 642: uint16(180), + 643: uint16(454), + 644: uint16(1204), + 645: uint16(879), + 646: uint16(255), + 647: uint16(287), + 648: uint16(287), + 649: uint16(510), + 650: uint16(507), + 651: uint16(506), + 652: uint16(372), + 653: uint16(1595), + 654: uint16(1568), + 655: uint16(1331), + 656: uint16(1331), + 657: uint16(576), + 658: uint16(889), + 659: uint16(505), + 660: uint16(573), + 661: uint16(44), + 662: uint16(561), + 663: uint16(559), + 664: uint16(1207), + 665: uint16(135), + 666: uint16(136), + 667: uint16(90), + 668: uint16(1228), + 669: uint16(1228), + 670: uint16(1063), + 671: uint16(1066), + 672: uint16(1053), + 673: uint16(1053), + 674: uint16(133), + 675: uint16(133), + 676: uint16(134), + 677: uint16(134), + 678: uint16(134), + 679: uint16(134), + 680: uint16(81), + 681: uint16(81), + 682: uint16(422), + 683: uint16(576), + 684: uint16(377), + 685: uint16(132), + 686: uint16(132), + 687: uint16(132), + 688: uint16(132), + 689: uint16(131), + 690: uint16(131), + 691: uint16(130), + 692: uint16(130), + 693: uint16(130), + 694: uint16(129), + 695: uint16(126), + 696: uint16(450), + 697: uint16(297), + 698: uint16(287), + 699: uint16(287), + 700: uint16(460), + 701: uint16(1204), + 702: uint16(1205), + 703: uint16(1204), + 704: uint16(1204), + 705: uint16(534), + 706: uint16(19), + 707: uint16(19), + 708: uint16(448), + 709: uint16(448), + 710: uint16(448), + 711: uint16(573), + 712: uint16(412), + 713: uint16(561), + 714: uint16(230), + 715: uint16(436), + 716: uint16(1187), + 717: uint16(535), + 718: uint16(319), + 719: uint16(567), + 720: uint16(363), + 721: uint16(432), + 722: uint16(1207), + 723: uint16(1435), + 724: uint16(132), + 725: uint16(132), + 726: uint16(132), + 727: uint16(132), + 728: uint16(131), + 729: uint16(131), + 730: uint16(130), + 731: uint16(130), + 732: uint16(130), + 733: uint16(129), + 734: uint16(126), + 735: uint16(450), + 736: uint16(135), + 737: uint16(136), + 738: uint16(90), + 739: uint16(1228), + 740: uint16(1228), + 741: uint16(1063), + 742: uint16(1066), + 743: uint16(1053), + 744: uint16(1053), + 745: uint16(133), + 746: uint16(133), + 747: uint16(134), + 748: uint16(134), + 749: uint16(134), + 750: uint16(134), + 751: uint16(412), + 752: uint16(211), + 753: uint16(949), + 754: uint16(1169), + 755: uint16(1041), + 756: uint16(1110), + 757: uint16(1110), + 758: uint16(494), + 759: uint16(547), + 760: uint16(547), + 761: uint16(1204), + 762: uint16(1205), + 763: uint16(1204), + 764: uint16(7), + 765: uint16(539), + 766: uint16(1570), + 767: uint16(1169), + 768: uint16(376), + 769: uint16(576), + 770: uint16(1169), + 771: uint16(5), + 772: uint16(1204), + 773: uint16(486), + 774: uint16(3), + 775: uint16(135), + 776: uint16(136), + 777: uint16(90), + 778: uint16(1228), + 779: uint16(1228), + 780: uint16(1063), + 781: uint16(1066), + 782: uint16(1053), + 783: uint16(1053), + 784: uint16(133), + 785: uint16(133), + 786: uint16(134), + 787: uint16(134), + 788: uint16(134), + 789: uint16(134), + 790: uint16(576), + 791: uint16(513), + 792: uint16(19), + 793: uint16(19), + 794: uint16(427), + 795: uint16(132), + 796: uint16(132), + 797: uint16(132), + 798: uint16(132), + 799: uint16(131), + 800: uint16(131), + 801: uint16(130), + 802: uint16(130), + 803: uint16(130), + 804: uint16(129), + 805: uint16(126), + 806: uint16(450), + 807: uint16(305), + 808: uint16(1204), + 809: uint16(433), + 810: uint16(225), + 811: uint16(1204), + 812: uint16(385), + 813: uint16(19), + 814: uint16(19), + 815: uint16(273), + 816: uint16(290), + 817: uint16(371), + 818: uint16(516), + 819: uint16(366), + 820: uint16(515), + 821: uint16(260), + 822: uint16(412), + 823: uint16(538), + 824: uint16(1568), + 825: uint16(549), + 826: uint16(1024), + 827: uint16(362), + 828: uint16(437), + 829: uint16(1204), + 830: uint16(1205), + 831: uint16(1204), + 832: uint16(902), + 833: uint16(1552), + 834: uint16(132), + 835: uint16(132), + 836: uint16(132), + 837: uint16(132), + 838: uint16(131), + 839: uint16(131), + 840: uint16(130), + 841: uint16(130), + 842: uint16(130), + 843: uint16(129), + 844: uint16(126), + 845: uint16(450), + 846: uint16(135), + 847: uint16(136), + 848: uint16(90), + 849: uint16(1228), + 850: uint16(1228), + 851: uint16(1063), + 852: uint16(1066), + 853: uint16(1053), + 854: uint16(1053), + 855: uint16(133), + 856: uint16(133), + 857: uint16(134), + 858: uint16(134), + 859: uint16(134), + 860: uint16(134), + 861: uint16(412), + 862: uint16(1435), + 863: uint16(514), + 864: uint16(1281), + 865: uint16(1204), + 866: uint16(1205), + 867: uint16(1204), + 868: uint16(1204), + 869: uint16(1205), + 870: uint16(1204), + 871: uint16(903), + 872: uint16(48), + 873: uint16(342), + 874: uint16(1568), + 875: uint16(1568), + 876: uint16(1279), + 877: uint16(1627), + 878: uint16(1568), + 879: uint16(911), + 880: uint16(576), + 881: uint16(129), + 882: uint16(126), + 883: uint16(450), + 884: uint16(110), + 885: uint16(135), + 886: uint16(136), + 887: uint16(90), + 888: uint16(1228), + 889: uint16(1228), + 890: uint16(1063), + 891: uint16(1066), + 892: uint16(1053), + 893: uint16(1053), + 894: uint16(133), + 895: uint16(133), + 896: uint16(134), + 897: uint16(134), + 898: uint16(134), + 899: uint16(134), + 900: uint16(265), + 901: uint16(576), + 902: uint16(459), + 903: uint16(19), + 904: uint16(19), + 905: uint16(132), + 906: uint16(132), + 907: uint16(132), + 908: uint16(132), + 909: uint16(131), + 910: uint16(131), + 911: uint16(130), + 912: uint16(130), + 913: uint16(130), + 914: uint16(129), + 915: uint16(126), + 916: uint16(450), + 917: uint16(1345), + 918: uint16(204), + 919: uint16(576), + 920: uint16(459), + 921: uint16(458), + 922: uint16(50), + 923: uint16(47), + 924: uint16(19), + 925: uint16(19), + 926: uint16(49), + 927: uint16(434), + 928: uint16(1105), + 929: uint16(573), + 930: uint16(497), + 931: uint16(561), + 932: uint16(412), + 933: uint16(428), + 934: uint16(108), + 935: uint16(1224), + 936: uint16(1569), + 937: uint16(1554), + 938: uint16(376), + 939: uint16(205), + 940: uint16(550), + 941: uint16(550), + 942: uint16(81), + 943: uint16(81), + 944: uint16(132), + 945: uint16(132), + 946: uint16(132), + 947: uint16(132), + 948: uint16(131), + 949: uint16(131), + 950: uint16(130), + 951: uint16(130), + 952: uint16(130), + 953: uint16(129), + 954: uint16(126), + 955: uint16(450), + 956: uint16(135), + 957: uint16(136), + 958: uint16(90), + 959: uint16(1228), + 960: uint16(1228), + 961: uint16(1063), + 962: uint16(1066), + 963: uint16(1053), + 964: uint16(1053), + 965: uint16(133), + 966: uint16(133), + 967: uint16(134), + 968: uint16(134), + 969: uint16(134), + 970: uint16(134), + 971: uint16(480), + 972: uint16(576), + 973: uint16(1204), + 974: uint16(576), + 975: uint16(1541), + 976: uint16(412), + 977: uint16(1435), + 978: uint16(969), + 979: uint16(315), + 980: uint16(1659), + 981: uint16(398), + 982: uint16(284), + 983: uint16(497), + 984: uint16(969), + 985: uint16(893), + 986: uint16(1569), + 987: uint16(1569), + 988: uint16(376), + 989: uint16(376), + 990: uint16(1569), + 991: uint16(461), + 992: uint16(376), + 993: uint16(1224), + 994: uint16(459), + 995: uint16(80), + 996: uint16(80), + 997: uint16(81), + 998: uint16(81), + 999: uint16(497), + 1000: uint16(374), + 1001: uint16(114), + 1002: uint16(90), + 1003: uint16(1228), + 1004: uint16(1228), + 1005: uint16(1063), + 1006: uint16(1066), + 1007: uint16(1053), + 1008: uint16(1053), + 1009: uint16(133), + 1010: uint16(133), + 1011: uint16(134), + 1012: uint16(134), + 1013: uint16(134), + 1014: uint16(134), + 1015: uint16(132), + 1016: uint16(132), + 1017: uint16(132), + 1018: uint16(132), + 1019: uint16(131), + 1020: uint16(131), + 1021: uint16(130), + 1022: uint16(130), + 1023: uint16(130), + 1024: uint16(129), + 1025: uint16(126), + 1026: uint16(450), + 1027: uint16(1204), + 1028: uint16(1505), + 1029: uint16(576), + 1030: uint16(1204), + 1031: uint16(1205), + 1032: uint16(1204), + 1033: uint16(1366), + 1034: uint16(316), + 1035: uint16(486), + 1036: uint16(281), + 1037: uint16(281), + 1038: uint16(497), + 1039: uint16(431), + 1040: uint16(557), + 1041: uint16(288), + 1042: uint16(288), + 1043: uint16(402), + 1044: uint16(1340), + 1045: uint16(471), + 1046: uint16(345), + 1047: uint16(298), + 1048: uint16(429), + 1049: uint16(573), + 1050: uint16(576), + 1051: uint16(561), + 1052: uint16(81), + 1053: uint16(81), + 1054: uint16(573), + 1055: uint16(374), + 1056: uint16(561), + 1057: uint16(971), + 1058: uint16(386), + 1059: uint16(132), + 1060: uint16(132), + 1061: uint16(132), + 1062: uint16(132), + 1063: uint16(131), + 1064: uint16(131), + 1065: uint16(130), + 1066: uint16(130), + 1067: uint16(130), + 1068: uint16(129), + 1069: uint16(126), + 1070: uint16(450), + 1071: uint16(231), + 1072: uint16(117), + 1073: uint16(81), + 1074: uint16(81), + 1075: uint16(287), + 1076: uint16(287), + 1077: uint16(231), + 1078: uint16(287), + 1079: uint16(287), + 1080: uint16(576), + 1081: uint16(1511), + 1082: uint16(576), + 1083: uint16(1336), + 1084: uint16(1204), + 1085: uint16(1205), + 1086: uint16(1204), + 1087: uint16(139), + 1088: uint16(573), + 1089: uint16(556), + 1090: uint16(561), + 1091: uint16(573), + 1092: uint16(412), + 1093: uint16(561), + 1094: uint16(441), + 1095: uint16(456), + 1096: uint16(969), + 1097: uint16(213), + 1098: uint16(558), + 1099: uint16(1511), + 1100: uint16(1513), + 1101: uint16(1550), + 1102: uint16(969), + 1103: uint16(143), + 1104: uint16(143), + 1105: uint16(145), + 1106: uint16(145), + 1107: uint16(1368), + 1108: uint16(314), + 1109: uint16(478), + 1110: uint16(444), + 1111: uint16(970), + 1112: uint16(412), + 1113: uint16(850), + 1114: uint16(851), + 1115: uint16(852), + 1116: uint16(135), + 1117: uint16(136), + 1118: uint16(90), + 1119: uint16(1228), + 1120: uint16(1228), + 1121: uint16(1063), + 1122: uint16(1066), + 1123: uint16(1053), + 1124: uint16(1053), + 1125: uint16(133), + 1126: uint16(133), + 1127: uint16(134), + 1128: uint16(134), + 1129: uint16(134), + 1130: uint16(134), + 1131: uint16(357), + 1132: uint16(412), + 1133: uint16(397), + 1134: uint16(1148), + 1135: uint16(304), + 1136: uint16(135), + 1137: uint16(136), + 1138: uint16(90), + 1139: uint16(1228), + 1140: uint16(1228), + 1141: uint16(1063), + 1142: uint16(1066), + 1143: uint16(1053), + 1144: uint16(1053), + 1145: uint16(133), + 1146: uint16(133), + 1147: uint16(134), + 1148: uint16(134), + 1149: uint16(134), + 1150: uint16(134), + 1151: uint16(1575), + 1152: uint16(323), + 1153: uint16(6), + 1154: uint16(862), + 1155: uint16(7), + 1156: uint16(135), + 1157: uint16(124), + 1158: uint16(90), + 1159: uint16(1228), + 1160: uint16(1228), + 1161: uint16(1063), + 1162: uint16(1066), + 1163: uint16(1053), + 1164: uint16(1053), + 1165: uint16(133), + 1166: uint16(133), + 1167: uint16(134), + 1168: uint16(134), + 1169: uint16(134), + 1170: uint16(134), + 1171: uint16(409), + 1172: uint16(408), + 1173: uint16(1511), + 1174: uint16(212), + 1175: uint16(132), + 1176: uint16(132), + 1177: uint16(132), + 1178: uint16(132), + 1179: uint16(131), + 1180: uint16(131), + 1181: uint16(130), + 1182: uint16(130), + 1183: uint16(130), + 1184: uint16(129), + 1185: uint16(126), + 1186: uint16(450), + 1187: uint16(411), + 1188: uint16(118), + 1189: uint16(1204), + 1190: uint16(116), + 1191: uint16(10), + 1192: uint16(352), + 1193: uint16(265), + 1194: uint16(355), + 1195: uint16(132), + 1196: uint16(132), + 1197: uint16(132), + 1198: uint16(132), + 1199: uint16(131), + 1200: uint16(131), + 1201: uint16(130), + 1202: uint16(130), + 1203: uint16(130), + 1204: uint16(129), + 1205: uint16(126), + 1206: uint16(450), + 1207: uint16(576), + 1208: uint16(324), + 1209: uint16(306), + 1210: uint16(576), + 1211: uint16(306), + 1212: uint16(1250), + 1213: uint16(469), + 1214: uint16(158), + 1215: uint16(132), + 1216: uint16(132), + 1217: uint16(132), + 1218: uint16(132), + 1219: uint16(131), + 1220: uint16(131), + 1221: uint16(130), + 1222: uint16(130), + 1223: uint16(130), + 1224: uint16(129), + 1225: uint16(126), + 1226: uint16(450), + 1227: uint16(207), + 1228: uint16(1224), + 1229: uint16(1126), + 1230: uint16(65), + 1231: uint16(65), + 1232: uint16(470), + 1233: uint16(66), + 1234: uint16(66), + 1235: uint16(412), + 1236: uint16(447), + 1237: uint16(446), + 1238: uint16(882), + 1239: uint16(531), + 1240: uint16(335), + 1241: uint16(258), + 1242: uint16(257), + 1243: uint16(256), + 1244: uint16(1127), + 1245: uint16(1233), + 1246: uint16(1204), + 1247: uint16(1205), + 1248: uint16(1204), + 1249: uint16(327), + 1250: uint16(1235), + 1251: uint16(874), + 1252: uint16(159), + 1253: uint16(576), + 1254: uint16(16), + 1255: uint16(480), + 1256: uint16(1085), + 1257: uint16(1040), + 1258: uint16(1234), + 1259: uint16(1128), + 1260: uint16(136), + 1261: uint16(90), + 1262: uint16(1228), + 1263: uint16(1228), + 1264: uint16(1063), + 1265: uint16(1066), + 1266: uint16(1053), + 1267: uint16(1053), + 1268: uint16(133), + 1269: uint16(133), + 1270: uint16(134), + 1271: uint16(134), + 1272: uint16(134), + 1273: uint16(134), + 1274: uint16(1029), + 1275: uint16(576), + 1276: uint16(81), + 1277: uint16(81), + 1278: uint16(1028), + 1279: uint16(1040), + 1280: uint16(922), + 1281: uint16(576), + 1282: uint16(463), + 1283: uint16(1236), + 1284: uint16(576), + 1285: uint16(1236), + 1286: uint16(1224), + 1287: uint16(502), + 1288: uint16(107), + 1289: uint16(1435), + 1290: uint16(923), + 1291: uint16(6), + 1292: uint16(576), + 1293: uint16(410), + 1294: uint16(1498), + 1295: uint16(882), + 1296: uint16(1029), + 1297: uint16(480), + 1298: uint16(21), + 1299: uint16(21), + 1300: uint16(1028), + 1301: uint16(332), + 1302: uint16(1380), + 1303: uint16(334), + 1304: uint16(53), + 1305: uint16(53), + 1306: uint16(497), + 1307: uint16(81), + 1308: uint16(81), + 1309: uint16(874), + 1310: uint16(1028), + 1311: uint16(1028), + 1312: uint16(1030), + 1313: uint16(445), + 1314: uint16(259), + 1315: uint16(19), + 1316: uint16(19), + 1317: uint16(533), + 1318: uint16(132), + 1319: uint16(132), + 1320: uint16(132), + 1321: uint16(132), + 1322: uint16(131), + 1323: uint16(131), + 1324: uint16(130), + 1325: uint16(130), + 1326: uint16(130), + 1327: uint16(129), + 1328: uint16(126), + 1329: uint16(450), + 1330: uint16(551), + 1331: uint16(301), + 1332: uint16(1028), + 1333: uint16(1028), + 1334: uint16(1030), + 1335: uint16(107), + 1336: uint16(532), + 1337: uint16(545), + 1338: uint16(121), + 1339: uint16(568), + 1340: uint16(1188), 1341: uint16(4), - 1342: uint16(238), - 1343: uint16(433), - 1344: uint16(935), - 1345: uint16(490), - 1346: uint16(285), - 1347: uint16(228), - 1348: uint16(1517), - 1349: uint16(934), - 1350: uint16(170), - 1351: uint16(560), - 1352: uint16(572), - 1353: uint16(142), - 1354: uint16(1516), - 1355: uint16(567), - 1356: uint16(572), - 1357: uint16(60), - 1358: uint16(60), - 1359: uint16(572), - 1360: uint16(416), - 1361: uint16(572), - 1362: uint16(441), - 1363: uint16(572), - 1364: uint16(535), - 1365: uint16(302), - 1366: uint16(875), - 1367: uint16(8), - 1368: uint16(487), - 1369: uint16(572), - 1370: uint16(237), - 1371: uint16(572), - 1372: uint16(416), - 1373: uint16(572), - 1374: uint16(485), - 1375: uint16(61), - 1376: uint16(61), - 1377: uint16(572), - 1378: uint16(449), - 1379: uint16(62), - 1380: uint16(62), - 1381: uint16(332), - 1382: uint16(63), - 1383: uint16(63), - 1384: uint16(46), - 1385: uint16(46), - 1386: uint16(47), - 1387: uint16(47), - 1388: uint16(361), - 1389: uint16(572), - 1390: uint16(561), - 1391: uint16(572), - 1392: uint16(48), - 1393: uint16(48), - 1394: uint16(50), - 1395: uint16(50), - 1396: uint16(51), - 1397: uint16(51), - 1398: uint16(572), - 1399: uint16(295), - 1400: uint16(64), - 1401: uint16(64), - 1402: uint16(482), - 1403: uint16(295), - 1404: uint16(539), - 1405: uint16(412), - 1406: uint16(471), - 1407: uint16(1031), - 1408: uint16(572), - 1409: uint16(538), - 1410: uint16(318), - 1411: uint16(563), - 1412: uint16(65), - 1413: uint16(65), - 1414: uint16(66), - 1415: uint16(66), - 1416: uint16(409), - 1417: uint16(475), - 1418: uint16(572), - 1419: uint16(1031), - 1420: uint16(572), - 1421: uint16(14), - 1422: uint16(14), - 1423: uint16(875), - 1424: uint16(1020), - 1425: uint16(110), - 1426: uint16(110), - 1427: uint16(409), - 1428: uint16(1019), - 1429: uint16(572), - 1430: uint16(474), - 1431: uint16(67), - 1432: uint16(67), - 1433: uint16(111), - 1434: uint16(455), - 1435: uint16(449), - 1436: uint16(573), - 1437: uint16(449), - 1438: uint16(98), - 1439: uint16(317), - 1440: uint16(1019), - 1441: uint16(132), - 1442: uint16(132), - 1443: uint16(133), - 1444: uint16(133), - 1445: uint16(572), - 1446: uint16(1561), - 1447: uint16(572), - 1448: uint16(974), - 1449: uint16(409), - 1450: uint16(6), - 1451: uint16(1562), - 1452: uint16(68), - 1453: uint16(68), - 1454: uint16(1560), - 1455: uint16(6), - 1456: uint16(975), - 1457: uint16(572), - 1458: uint16(6), - 1459: uint16(1559), - 1460: uint16(1019), - 1461: uint16(1019), - 1462: uint16(1021), - 1463: uint16(6), - 1464: uint16(346), - 1465: uint16(218), - 1466: uint16(101), - 1467: uint16(531), - 1468: uint16(53), - 1469: uint16(53), - 1470: uint16(69), - 1471: uint16(69), - 1472: uint16(1019), - 1473: uint16(1019), - 1474: uint16(1021), - 1475: uint16(1022), - 1476: uint16(28), - 1477: uint16(1586), - 1478: uint16(1181), - 1479: uint16(451), - 1480: uint16(70), - 1481: uint16(70), - 1482: uint16(290), - 1483: uint16(87), - 1484: uint16(215), - 1485: uint16(31), - 1486: uint16(1363), - 1487: uint16(394), - 1488: uint16(394), - 1489: uint16(393), - 1490: uint16(275), - 1491: uint16(391), - 1492: uint16(350), - 1493: uint16(109), - 1494: uint16(852), - 1495: uint16(107), - 1496: uint16(572), - 1497: uint16(112), - 1498: uint16(564), - 1499: uint16(483), - 1500: uint16(4), - 1501: uint16(1212), - 1502: uint16(572), - 1503: uint16(239), - 1504: uint16(153), - 1505: uint16(572), - 1506: uint16(39), - 1507: uint16(236), - 1508: uint16(1299), - 1509: uint16(325), - 1510: uint16(112), - 1511: uint16(564), - 1512: uint16(1298), - 1513: uint16(4), - 1514: uint16(567), - 1515: uint16(572), - 1516: uint16(32), - 1517: uint16(324), - 1518: uint16(572), - 1519: uint16(54), - 1520: uint16(54), - 1521: uint16(572), - 1522: uint16(1135), - 1523: uint16(353), - 1524: uint16(398), - 1525: uint16(165), - 1526: uint16(165), - 1527: uint16(567), - 1528: uint16(166), - 1529: uint16(166), - 1530: uint16(572), - 1531: uint16(291), - 1532: uint16(355), - 1533: uint16(572), - 1534: uint16(17), - 1535: uint16(357), - 1536: uint16(572), - 1537: uint16(449), - 1538: uint16(77), - 1539: uint16(77), - 1540: uint16(1313), - 1541: uint16(55), - 1542: uint16(55), - 1543: uint16(1297), - 1544: uint16(73), - 1545: uint16(73), - 1546: uint16(572), - 1547: uint16(238), - 1548: uint16(470), - 1549: uint16(561), - 1550: uint16(449), - 1551: uint16(472), - 1552: uint16(364), - 1553: uint16(135), - 1554: uint16(135), - 1555: uint16(170), - 1556: uint16(74), - 1557: uint16(74), - 1558: uint16(142), - 1559: uint16(163), - 1560: uint16(163), - 1561: uint16(374), - 1562: uint16(561), - 1563: uint16(539), - 1564: uint16(572), - 1565: uint16(321), - 1566: uint16(572), - 1567: uint16(886), - 1568: uint16(540), - 1569: uint16(137), - 1570: uint16(137), - 1571: uint16(339), - 1572: uint16(1353), - 1573: uint16(422), - 1574: uint16(298), - 1575: uint16(237), - 1576: uint16(539), - 1577: uint16(572), - 1578: uint16(1031), - 1579: uint16(572), - 1580: uint16(340), - 1581: uint16(538), - 1582: uint16(101), - 1583: uint16(369), - 1584: uint16(110), - 1585: uint16(110), - 1586: uint16(162), - 1587: uint16(131), - 1588: uint16(131), - 1589: uint16(164), - 1590: uint16(164), - 1591: uint16(1031), - 1592: uint16(111), - 1593: uint16(368), - 1594: uint16(449), - 1595: uint16(573), - 1596: uint16(449), + 1342: uint16(1126), + 1343: uint16(1576), + 1344: uint16(449), + 1345: uint16(576), + 1346: uint16(462), + 1347: uint16(7), + 1348: uint16(1282), + 1349: uint16(418), + 1350: uint16(462), + 1351: uint16(350), + 1352: uint16(1435), + 1353: uint16(576), + 1354: uint16(518), + 1355: uint16(571), + 1356: uint16(544), + 1357: uint16(1127), + 1358: uint16(121), + 1359: uint16(568), + 1360: uint16(442), + 1361: uint16(4), + 1362: uint16(1188), + 1363: uint16(464), + 1364: uint16(533), + 1365: uint16(1180), + 1366: uint16(1223), + 1367: uint16(9), + 1368: uint16(67), + 1369: uint16(67), + 1370: uint16(487), + 1371: uint16(576), + 1372: uint16(1128), + 1373: uint16(303), + 1374: uint16(410), + 1375: uint16(571), + 1376: uint16(54), + 1377: uint16(54), + 1378: uint16(451), + 1379: uint16(576), + 1380: uint16(123), + 1381: uint16(944), + 1382: uint16(576), + 1383: uint16(417), + 1384: uint16(576), + 1385: uint16(333), + 1386: uint16(943), + 1387: uint16(1379), + 1388: uint16(576), + 1389: uint16(236), + 1390: uint16(565), + 1391: uint16(576), + 1392: uint16(1574), + 1393: uint16(564), + 1394: uint16(68), + 1395: uint16(68), + 1396: uint16(7), + 1397: uint16(576), + 1398: uint16(451), + 1399: uint16(362), + 1400: uint16(419), + 1401: uint16(182), + 1402: uint16(69), + 1403: uint16(69), + 1404: uint16(541), + 1405: uint16(70), + 1406: uint16(70), + 1407: uint16(71), + 1408: uint16(71), + 1409: uint16(540), + 1410: uint16(565), + 1411: uint16(72), + 1412: uint16(72), + 1413: uint16(484), + 1414: uint16(55), + 1415: uint16(55), + 1416: uint16(473), + 1417: uint16(1180), + 1418: uint16(296), + 1419: uint16(1040), + 1420: uint16(56), + 1421: uint16(56), + 1422: uint16(296), + 1423: uint16(493), + 1424: uint16(541), + 1425: uint16(119), + 1426: uint16(119), + 1427: uint16(410), + 1428: uint16(1573), + 1429: uint16(542), + 1430: uint16(569), + 1431: uint16(418), + 1432: uint16(7), + 1433: uint16(120), + 1434: uint16(1244), + 1435: uint16(451), + 1436: uint16(577), + 1437: uint16(451), + 1438: uint16(465), + 1439: uint16(1040), + 1440: uint16(1028), + 1441: uint16(576), + 1442: uint16(1557), + 1443: uint16(552), + 1444: uint16(476), + 1445: uint16(119), + 1446: uint16(119), + 1447: uint16(527), + 1448: uint16(259), + 1449: uint16(121), + 1450: uint16(568), + 1451: uint16(240), + 1452: uint16(4), + 1453: uint16(120), + 1454: uint16(576), + 1455: uint16(451), + 1456: uint16(577), + 1457: uint16(451), + 1458: uint16(576), + 1459: uint16(477), + 1460: uint16(1028), + 1461: uint16(576), + 1462: uint16(156), + 1463: uint16(576), + 1464: uint16(57), + 1465: uint16(57), + 1466: uint16(571), + 1467: uint16(576), + 1468: uint16(286), + 1469: uint16(229), + 1470: uint16(410), + 1471: uint16(336), + 1472: uint16(1028), + 1473: uint16(1028), + 1474: uint16(1030), + 1475: uint16(1031), + 1476: uint16(35), + 1477: uint16(59), + 1478: uint16(59), + 1479: uint16(219), + 1480: uint16(983), + 1481: uint16(60), + 1482: uint16(60), + 1483: uint16(220), + 1484: uint16(73), + 1485: uint16(73), + 1486: uint16(74), + 1487: uint16(74), + 1488: uint16(984), + 1489: uint16(451), + 1490: uint16(75), + 1491: uint16(75), + 1492: uint16(1028), + 1493: uint16(1028), + 1494: uint16(1030), + 1495: uint16(1031), + 1496: uint16(35), + 1497: uint16(96), + 1498: uint16(216), + 1499: uint16(291), + 1500: uint16(552), + 1501: uint16(565), + 1502: uint16(1188), + 1503: uint16(318), + 1504: uint16(395), + 1505: uint16(395), + 1506: uint16(394), + 1507: uint16(276), + 1508: uint16(392), + 1509: uint16(576), + 1510: uint16(485), + 1511: uint16(859), + 1512: uint16(474), + 1513: uint16(1311), + 1514: uint16(410), + 1515: uint16(541), + 1516: uint16(576), + 1517: uint16(417), + 1518: uint16(1530), + 1519: uint16(1144), + 1520: uint16(540), + 1521: uint16(399), + 1522: uint16(1188), + 1523: uint16(292), + 1524: uint16(237), + 1525: uint16(1153), + 1526: uint16(326), + 1527: uint16(38), + 1528: uint16(23), + 1529: uint16(576), + 1530: uint16(1040), + 1531: uint16(576), + 1532: uint16(20), + 1533: uint16(20), + 1534: uint16(325), + 1535: uint16(299), + 1536: uint16(119), + 1537: uint16(119), + 1538: uint16(164), + 1539: uint16(76), + 1540: uint16(76), + 1541: uint16(1529), + 1542: uint16(121), + 1543: uint16(568), + 1544: uint16(120), + 1545: uint16(4), + 1546: uint16(451), + 1547: uint16(577), + 1548: uint16(451), + 1549: uint16(203), + 1550: uint16(576), + 1551: uint16(1028), + 1552: uint16(141), + 1553: uint16(141), + 1554: uint16(142), + 1555: uint16(142), + 1556: uint16(576), + 1557: uint16(322), + 1558: uint16(39), + 1559: uint16(571), + 1560: uint16(341), + 1561: uint16(1021), + 1562: uint16(110), + 1563: uint16(264), + 1564: uint16(239), + 1565: uint16(901), + 1566: uint16(900), + 1567: uint16(423), + 1568: uint16(242), + 1569: uint16(908), + 1570: uint16(909), + 1571: uint16(370), + 1572: uint16(173), + 1573: uint16(77), + 1574: uint16(77), + 1575: uint16(43), + 1576: uint16(479), + 1577: uint16(1310), + 1578: uint16(264), + 1579: uint16(62), + 1580: uint16(62), + 1581: uint16(369), + 1582: uint16(451), + 1583: uint16(1028), + 1584: uint16(1028), + 1585: uint16(1030), + 1586: uint16(1031), + 1587: uint16(35), + 1588: uint16(1601), + 1589: uint16(1192), + 1590: uint16(453), + 1591: uint16(1092), + 1592: uint16(238), + 1593: uint16(291), + 1594: uint16(565), + 1595: uint16(163), + 1596: uint16(1309), 1597: uint16(110), - 1598: uint16(110), - 1599: uint16(1019), - 1600: uint16(157), - 1601: uint16(157), - 1602: uint16(141), - 1603: uint16(141), - 1604: uint16(572), - 1605: uint16(111), - 1606: uint16(572), - 1607: uint16(449), - 1608: uint16(573), - 1609: uint16(449), - 1610: uint16(412), - 1611: uint16(288), - 1612: uint16(1019), - 1613: uint16(572), - 1614: uint16(882), - 1615: uint16(318), - 1616: uint16(563), - 1617: uint16(572), - 1618: uint16(219), - 1619: uint16(572), - 1620: uint16(241), - 1621: uint16(1012), - 1622: uint16(477), - 1623: uint16(263), - 1624: uint16(263), - 1625: uint16(894), - 1626: uint16(893), - 1627: uint16(140), - 1628: uint16(140), - 1629: uint16(138), - 1630: uint16(138), - 1631: uint16(1019), - 1632: uint16(1019), - 1633: uint16(1021), - 1634: uint16(1022), - 1635: uint16(28), - 1636: uint16(139), - 1637: uint16(139), - 1638: uint16(525), - 1639: uint16(455), - 1640: uint16(76), - 1641: uint16(76), - 1642: uint16(78), - 1643: uint16(78), - 1644: uint16(1019), - 1645: uint16(1019), - 1646: uint16(1021), - 1647: uint16(1022), - 1648: uint16(28), - 1649: uint16(1181), - 1650: uint16(451), - 1651: uint16(572), - 1652: uint16(1083), - 1653: uint16(290), - 1654: uint16(112), - 1655: uint16(564), - 1656: uint16(1575), - 1657: uint16(4), - 1658: uint16(394), - 1659: uint16(394), - 1660: uint16(393), - 1661: uint16(275), - 1662: uint16(391), - 1663: uint16(572), - 1664: uint16(1023), - 1665: uint16(852), - 1666: uint16(572), - 1667: uint16(479), - 1668: uint16(345), - 1669: uint16(263), - 1670: uint16(101), - 1671: uint16(567), - 1672: uint16(882), - 1673: uint16(1376), - 1674: uint16(75), - 1675: uint16(75), - 1676: uint16(1421), - 1677: uint16(501), - 1678: uint16(236), - 1679: uint16(260), - 1680: uint16(325), - 1681: uint16(112), - 1682: uint16(564), - 1683: uint16(359), - 1684: uint16(4), - 1685: uint16(101), - 1686: uint16(43), - 1687: uint16(43), - 1688: uint16(324), - 1689: uint16(49), - 1690: uint16(49), - 1691: uint16(901), - 1692: uint16(902), - 1693: uint16(161), - 1694: uint16(449), - 1695: uint16(101), - 1696: uint16(977), - 1697: uint16(978), - 1698: uint16(567), - 1699: uint16(1079), - 1700: uint16(1349), - 1701: uint16(260), - 1702: uint16(965), - 1703: uint16(932), - 1704: uint16(263), - 1705: uint16(114), - 1706: uint16(561), - 1707: uint16(1095), - 1708: uint16(517), - 1709: uint16(1095), - 1710: uint16(1083), - 1711: uint16(1094), - 1712: uint16(865), - 1713: uint16(1094), - 1714: uint16(151), - 1715: uint16(933), - 1716: uint16(1144), - 1717: uint16(114), - 1718: uint16(238), - 1719: uint16(1361), - 1720: uint16(558), - 1721: uint16(449), - 1722: uint16(1023), - 1723: uint16(559), - 1724: uint16(1426), - 1725: uint16(1278), - 1726: uint16(170), - 1727: uint16(1269), - 1728: uint16(1257), - 1729: uint16(142), - 1730: uint16(1601), - 1731: uint16(1256), - 1732: uint16(1258), - 1733: uint16(561), - 1734: uint16(1594), - 1735: uint16(1031), - 1736: uint16(496), - 1737: uint16(278), - 1738: uint16(213), - 1739: uint16(1346), - 1740: uint16(310), - 1741: uint16(110), - 1742: uint16(110), - 1743: uint16(939), - 1744: uint16(311), - 1745: uint16(312), - 1746: uint16(237), - 1747: uint16(11), - 1748: uint16(234), - 1749: uint16(111), - 1750: uint16(221), - 1751: uint16(449), - 1752: uint16(573), - 1753: uint16(449), - 1754: uint16(293), - 1755: uint16(395), - 1756: uint16(1019), - 1757: uint16(1408), - 1758: uint16(337), - 1759: uint16(1403), - 1760: uint16(1396), - 1761: uint16(338), - 1762: uint16(1031), - 1763: uint16(299), - 1764: uint16(343), - 1765: uint16(1413), - 1766: uint16(1412), - 1767: uint16(481), - 1768: uint16(110), - 1769: uint16(110), - 1770: uint16(506), - 1771: uint16(402), - 1772: uint16(225), - 1773: uint16(1296), - 1774: uint16(206), - 1775: uint16(367), - 1776: uint16(111), - 1777: uint16(1358), - 1778: uint16(449), - 1779: uint16(573), - 1780: uint16(449), - 1781: uint16(412), - 1782: uint16(1359), - 1783: uint16(1019), - 1784: uint16(1489), - 1785: uint16(1488), - 1786: uint16(318), - 1787: uint16(563), - 1788: uint16(1019), - 1789: uint16(1019), - 1790: uint16(1021), - 1791: uint16(1022), - 1792: uint16(28), - 1793: uint16(562), - 1794: uint16(207), - 1795: uint16(220), - 1796: uint16(80), - 1797: uint16(564), - 1798: uint16(389), - 1799: uint16(4), - 1800: uint16(1597), - 1801: uint16(1357), - 1802: uint16(552), - 1803: uint16(1356), - 1804: uint16(1233), - 1805: uint16(181), - 1806: uint16(267), - 1807: uint16(232), - 1808: uint16(1536), - 1809: uint16(1534), - 1810: uint16(455), - 1811: uint16(1230), - 1812: uint16(420), - 1813: uint16(567), - 1814: uint16(82), - 1815: uint16(1019), - 1816: uint16(1019), - 1817: uint16(1021), - 1818: uint16(1022), - 1819: uint16(28), - 1820: uint16(86), - 1821: uint16(217), - 1822: uint16(85), - 1823: uint16(1494), - 1824: uint16(190), - 1825: uint16(175), - 1826: uint16(183), - 1827: uint16(465), - 1828: uint16(185), - 1829: uint16(466), - 1830: uint16(36), - 1831: uint16(1409), - 1832: uint16(186), - 1833: uint16(187), - 1834: uint16(188), - 1835: uint16(499), - 1836: uint16(449), - 1837: uint16(244), - 1838: uint16(37), - 1839: uint16(99), - 1840: uint16(400), - 1841: uint16(1415), - 1842: uint16(1414), - 1843: uint16(488), - 1844: uint16(1417), - 1845: uint16(194), - 1846: uint16(473), - 1847: uint16(403), - 1848: uint16(561), - 1849: uint16(1483), - 1850: uint16(248), - 1851: uint16(92), - 1852: uint16(1505), - 1853: uint16(494), - 1854: uint16(198), - 1855: uint16(279), - 1856: uint16(112), - 1857: uint16(564), - 1858: uint16(250), - 1859: uint16(4), - 1860: uint16(348), - 1861: uint16(497), - 1862: uint16(405), - 1863: uint16(352), - 1864: uint16(1259), - 1865: uint16(251), - 1866: uint16(252), - 1867: uint16(515), - 1868: uint16(1316), - 1869: uint16(434), - 1870: uint16(1315), - 1871: uint16(1314), - 1872: uint16(94), - 1873: uint16(567), - 1874: uint16(1307), - 1875: uint16(886), - 1876: uint16(1306), - 1877: uint16(1031), - 1878: uint16(226), - 1879: uint16(406), - 1880: uint16(1611), - 1881: uint16(1610), - 1882: uint16(438), - 1883: uint16(110), - 1884: uint16(110), - 1885: uint16(1580), - 1886: uint16(1286), - 1887: uint16(524), - 1888: uint16(439), - 1889: uint16(308), - 1890: uint16(266), - 1891: uint16(111), - 1892: uint16(1285), - 1893: uint16(449), - 1894: uint16(573), - 1895: uint16(449), - 1896: uint16(449), - 1897: uint16(309), - 1898: uint16(1019), - 1899: uint16(366), - 1900: uint16(1284), - 1901: uint16(1609), - 1902: uint16(265), - 1903: uint16(1566), - 1904: uint16(1565), - 1905: uint16(442), - 1906: uint16(372), - 1907: uint16(1381), - 1908: uint16(561), - 1909: uint16(129), - 1910: uint16(550), - 1911: uint16(1380), - 1912: uint16(10), - 1913: uint16(1470), - 1914: uint16(383), - 1915: uint16(106), - 1916: uint16(316), - 1917: uint16(551), - 1918: uint16(100), - 1919: uint16(35), - 1920: uint16(534), - 1921: uint16(575), - 1922: uint16(212), - 1923: uint16(1339), - 1924: uint16(381), - 1925: uint16(387), - 1926: uint16(1187), - 1927: uint16(1338), - 1928: uint16(274), - 1929: uint16(276), - 1930: uint16(1019), - 1931: uint16(1019), - 1932: uint16(1021), - 1933: uint16(1022), - 1934: uint16(28), - 1935: uint16(277), - 1936: uint16(413), - 1937: uint16(1031), - 1938: uint16(576), - 1939: uint16(1254), - 1940: uint16(388), - 1941: uint16(1521), - 1942: uint16(1249), - 1943: uint16(110), - 1944: uint16(110), - 1945: uint16(167), - 1946: uint16(1522), - 1947: uint16(168), - 1948: uint16(148), - 1949: uint16(1520), - 1950: uint16(1519), - 1951: uint16(111), - 1952: uint16(306), - 1953: uint16(449), - 1954: uint16(573), - 1955: uint16(449), - 1956: uint16(222), - 1957: uint16(223), - 1958: uint16(1019), - 1959: uint16(839), - 1960: uint16(169), - 1961: uint16(79), - 1962: uint16(450), - 1963: uint16(214), - 1964: uint16(414), - 1965: uint16(233), - 1966: uint16(320), - 1967: uint16(145), - 1968: uint16(1093), - 1969: uint16(1091), - 1970: uint16(328), - 1971: uint16(182), - 1972: uint16(171), - 1973: uint16(1212), - 1974: uint16(918), - 1975: uint16(184), - 1976: uint16(240), - 1977: uint16(336), - 1978: uint16(243), - 1979: uint16(1107), - 1980: uint16(189), - 1981: uint16(172), - 1982: uint16(173), - 1983: uint16(423), - 1984: uint16(425), - 1985: uint16(88), - 1986: uint16(180), - 1987: uint16(191), - 1988: uint16(89), - 1989: uint16(90), - 1990: uint16(1019), - 1991: uint16(1019), - 1992: uint16(1021), - 1993: uint16(1022), - 1994: uint16(28), - 1995: uint16(91), - 1996: uint16(174), - 1997: uint16(1110), - 1998: uint16(245), - 1999: uint16(1106), - 2000: uint16(246), - 2001: uint16(159), - 2002: uint16(18), - 2003: uint16(247), - 2004: uint16(347), - 2005: uint16(1099), - 2006: uint16(263), - 2007: uint16(195), - 2008: uint16(1227), - 2009: uint16(493), - 2010: uint16(249), - 2011: uint16(196), - 2012: uint16(38), - 2013: uint16(854), - 2014: uint16(498), - 2015: uint16(368), - 2016: uint16(253), - 2017: uint16(360), - 2018: uint16(897), - 2019: uint16(197), - 2020: uint16(502), - 2021: uint16(93), - 2022: uint16(19), - 2023: uint16(20), - 2024: uint16(507), - 2025: uint16(884), - 2026: uint16(363), - 2027: uint16(510), - 2028: uint16(95), - 2029: uint16(307), - 2030: uint16(160), - 2031: uint16(96), - 2032: uint16(518), - 2033: uint16(97), - 2034: uint16(1175), - 2035: uint16(1060), - 2036: uint16(1146), - 2037: uint16(40), - 2038: uint16(21), - 2039: uint16(227), - 2040: uint16(176), - 2041: uint16(1145), - 2042: uint16(282), - 2043: uint16(284), - 2044: uint16(969), - 2045: uint16(200), - 2046: uint16(963), - 2047: uint16(114), - 2048: uint16(262), - 2049: uint16(1165), - 2050: uint16(22), - 2051: uint16(23), - 2052: uint16(24), - 2053: uint16(1161), - 2054: uint16(1169), - 2055: uint16(25), - 2056: uint16(1163), - 2057: uint16(1150), - 2058: uint16(34), - 2059: uint16(26), - 2060: uint16(1168), - 2061: uint16(546), - 2062: uint16(27), - 2063: uint16(204), - 2064: uint16(101), - 2065: uint16(103), - 2066: uint16(104), - 2067: uint16(1074), - 2068: uint16(7), - 2069: uint16(1061), - 2070: uint16(1059), - 2071: uint16(1063), - 2072: uint16(1116), - 2073: uint16(1064), - 2074: uint16(1115), - 2075: uint16(268), - 2076: uint16(269), - 2077: uint16(29), - 2078: uint16(41), - 2079: uint16(270), - 2080: uint16(1024), - 2081: uint16(866), - 2082: uint16(113), - 2083: uint16(30), - 2084: uint16(568), - 2085: uint16(392), - 2086: uint16(1183), - 2087: uint16(144), - 2088: uint16(178), - 2089: uint16(1182), - 2090: uint16(271), - 2091: uint16(928), - 2092: uint16(1245), - 2093: uint16(1245), - 2094: uint16(1245), - 2095: uint16(1245), - 2096: uint16(1245), - 2097: uint16(1245), - 2098: uint16(1245), - 2099: uint16(1602), -} -var _yy_lookahead = [2285]uint16{ - 0: uint16(193), - 1: uint16(193), - 2: uint16(193), - 3: uint16(274), - 4: uint16(275), - 5: uint16(276), - 6: uint16(193), - 7: uint16(274), - 8: uint16(275), - 9: uint16(276), - 10: uint16(193), - 11: uint16(223), - 12: uint16(219), - 13: uint16(225), - 14: uint16(206), - 15: uint16(210), - 16: uint16(211), - 17: uint16(212), - 18: uint16(193), + 1598: uint16(395), + 1599: uint16(395), + 1600: uint16(394), + 1601: uint16(276), + 1602: uint16(392), + 1603: uint16(986), + 1604: uint16(987), + 1605: uint16(859), + 1606: uint16(481), + 1607: uint16(346), + 1608: uint16(264), + 1609: uint16(110), + 1610: uint16(1032), + 1611: uint16(489), + 1612: uint16(576), + 1613: uint16(1188), + 1614: uint16(503), + 1615: uint16(1088), + 1616: uint16(261), + 1617: uint16(261), + 1618: uint16(237), + 1619: uint16(576), + 1620: uint16(326), + 1621: uint16(121), + 1622: uint16(568), + 1623: uint16(1040), + 1624: uint16(4), + 1625: uint16(347), + 1626: uint16(1376), + 1627: uint16(413), + 1628: uint16(325), + 1629: uint16(119), + 1630: uint16(119), + 1631: uint16(948), + 1632: uint16(319), + 1633: uint16(567), + 1634: uint16(351), + 1635: uint16(78), + 1636: uint16(78), + 1637: uint16(120), + 1638: uint16(571), + 1639: uint16(451), + 1640: uint16(577), + 1641: uint16(451), + 1642: uint16(79), + 1643: uint16(79), + 1644: uint16(1028), + 1645: uint16(354), + 1646: uint16(356), + 1647: uint16(576), + 1648: uint16(360), + 1649: uint16(1092), + 1650: uint16(110), + 1651: uint16(576), + 1652: uint16(974), + 1653: uint16(942), + 1654: uint16(264), + 1655: uint16(123), + 1656: uint16(457), + 1657: uint16(358), + 1658: uint16(239), + 1659: uint16(576), + 1660: uint16(519), + 1661: uint16(451), + 1662: uint16(939), + 1663: uint16(1104), + 1664: uint16(123), + 1665: uint16(1104), + 1666: uint16(173), + 1667: uint16(576), + 1668: uint16(1032), + 1669: uint16(43), + 1670: uint16(63), + 1671: uint16(63), + 1672: uint16(1324), + 1673: uint16(565), + 1674: uint16(168), + 1675: uint16(168), + 1676: uint16(1028), + 1677: uint16(1028), + 1678: uint16(1030), + 1679: uint16(1031), + 1680: uint16(35), + 1681: uint16(576), + 1682: uint16(169), + 1683: uint16(169), + 1684: uint16(1308), + 1685: uint16(872), + 1686: uint16(238), + 1687: uint16(157), + 1688: uint16(1589), + 1689: uint16(576), + 1690: uint16(86), + 1691: uint16(86), + 1692: uint16(365), + 1693: uint16(89), + 1694: uint16(568), + 1695: uint16(375), + 1696: uint16(4), + 1697: uint16(1103), + 1698: uint16(941), + 1699: uint16(1103), + 1700: uint16(123), + 1701: uint16(576), + 1702: uint16(1040), + 1703: uint16(1389), + 1704: uint16(64), + 1705: uint16(64), + 1706: uint16(1188), + 1707: uint16(1434), + 1708: uint16(119), + 1709: uint16(119), + 1710: uint16(571), + 1711: uint16(576), + 1712: uint16(82), + 1713: uint16(82), + 1714: uint16(563), + 1715: uint16(576), + 1716: uint16(120), + 1717: uint16(165), + 1718: uint16(451), + 1719: uint16(577), + 1720: uint16(451), + 1721: uint16(413), + 1722: uint16(1362), + 1723: uint16(1028), + 1724: uint16(144), + 1725: uint16(144), + 1726: uint16(319), + 1727: uint16(567), + 1728: uint16(576), + 1729: uint16(1374), + 1730: uint16(562), + 1731: uint16(498), + 1732: uint16(279), + 1733: uint16(451), + 1734: uint16(83), + 1735: uint16(83), + 1736: uint16(1439), + 1737: uint16(576), + 1738: uint16(166), + 1739: uint16(166), + 1740: uint16(576), + 1741: uint16(1289), + 1742: uint16(554), + 1743: uint16(576), + 1744: uint16(1280), + 1745: uint16(565), + 1746: uint16(576), + 1747: uint16(12), + 1748: uint16(576), + 1749: uint16(1268), + 1750: uint16(457), + 1751: uint16(146), + 1752: uint16(146), + 1753: uint16(1267), + 1754: uint16(576), + 1755: uint16(1028), + 1756: uint16(1028), + 1757: uint16(1030), + 1758: uint16(1031), + 1759: uint16(35), + 1760: uint16(140), + 1761: uint16(140), + 1762: uint16(1269), + 1763: uint16(167), + 1764: uint16(167), + 1765: uint16(1609), + 1766: uint16(160), + 1767: uint16(160), + 1768: uint16(1359), + 1769: uint16(150), + 1770: uint16(150), + 1771: uint16(149), + 1772: uint16(149), + 1773: uint16(311), + 1774: uint16(1040), + 1775: uint16(576), + 1776: uint16(312), + 1777: uint16(147), + 1778: uint16(147), + 1779: uint16(313), + 1780: uint16(119), + 1781: uint16(119), + 1782: uint16(222), + 1783: uint16(235), + 1784: uint16(576), + 1785: uint16(1188), + 1786: uint16(396), + 1787: uint16(576), + 1788: uint16(120), + 1789: uint16(576), + 1790: uint16(451), + 1791: uint16(577), + 1792: uint16(451), + 1793: uint16(1192), + 1794: uint16(453), + 1795: uint16(1028), + 1796: uint16(508), + 1797: uint16(291), + 1798: uint16(148), + 1799: uint16(148), + 1800: uint16(1421), + 1801: uint16(1612), + 1802: uint16(395), + 1803: uint16(395), + 1804: uint16(394), + 1805: uint16(276), + 1806: uint16(392), + 1807: uint16(85), + 1808: uint16(85), + 1809: uint16(859), + 1810: uint16(87), + 1811: uint16(87), + 1812: uint16(84), + 1813: uint16(84), + 1814: uint16(553), + 1815: uint16(576), + 1816: uint16(294), + 1817: uint16(576), + 1818: uint16(1426), + 1819: uint16(338), + 1820: uint16(339), + 1821: uint16(1425), + 1822: uint16(237), + 1823: uint16(300), + 1824: uint16(326), + 1825: uint16(1416), + 1826: uint16(1409), + 1827: uint16(1028), + 1828: uint16(1028), + 1829: uint16(1030), + 1830: uint16(1031), + 1831: uint16(35), + 1832: uint16(325), + 1833: uint16(344), + 1834: uint16(403), + 1835: uint16(483), + 1836: uint16(226), + 1837: uint16(1307), + 1838: uint16(52), + 1839: uint16(52), + 1840: uint16(58), + 1841: uint16(58), + 1842: uint16(368), + 1843: uint16(1371), + 1844: uint16(1502), + 1845: uint16(566), + 1846: uint16(1501), + 1847: uint16(121), + 1848: uint16(568), + 1849: uint16(221), + 1850: uint16(4), + 1851: uint16(208), + 1852: uint16(268), + 1853: uint16(209), + 1854: uint16(390), + 1855: uint16(1244), + 1856: uint16(1549), + 1857: uint16(1188), + 1858: uint16(1372), + 1859: uint16(1370), + 1860: uint16(1369), + 1861: uint16(1547), + 1862: uint16(239), + 1863: uint16(184), + 1864: uint16(571), + 1865: uint16(233), + 1866: uint16(421), + 1867: uint16(1241), + 1868: uint16(95), + 1869: uint16(218), + 1870: uint16(173), + 1871: uint16(1507), + 1872: uint16(193), + 1873: uint16(43), + 1874: uint16(91), + 1875: uint16(94), + 1876: uint16(178), + 1877: uint16(186), + 1878: uint16(467), + 1879: uint16(188), + 1880: uint16(468), + 1881: uint16(1422), + 1882: uint16(13), + 1883: uint16(189), + 1884: uint16(190), + 1885: uint16(191), + 1886: uint16(501), + 1887: uint16(451), + 1888: uint16(245), + 1889: uint16(108), + 1890: uint16(238), + 1891: uint16(401), + 1892: uint16(1428), + 1893: uint16(1427), + 1894: uint16(1430), + 1895: uint16(475), + 1896: uint16(404), + 1897: uint16(1496), + 1898: uint16(197), + 1899: uint16(565), + 1900: uint16(14), + 1901: uint16(490), + 1902: uint16(249), + 1903: uint16(101), + 1904: uint16(1518), + 1905: uint16(496), + 1906: uint16(349), + 1907: uint16(280), + 1908: uint16(251), + 1909: uint16(201), + 1910: uint16(353), + 1911: uint16(499), + 1912: uint16(252), + 1913: uint16(406), + 1914: uint16(1270), + 1915: uint16(253), + 1916: uint16(517), + 1917: uint16(1327), + 1918: uint16(1326), + 1919: uint16(435), + 1920: uint16(1325), + 1921: uint16(1318), + 1922: uint16(103), + 1923: uint16(893), + 1924: uint16(1296), + 1925: uint16(413), + 1926: uint16(227), + 1927: uint16(407), + 1928: uint16(1040), + 1929: uint16(1626), + 1930: uint16(319), + 1931: uint16(567), + 1932: uint16(1625), + 1933: uint16(1297), + 1934: uint16(119), + 1935: uint16(119), + 1936: uint16(439), + 1937: uint16(367), + 1938: uint16(1317), + 1939: uint16(1295), + 1940: uint16(1624), + 1941: uint16(526), + 1942: uint16(120), + 1943: uint16(440), + 1944: uint16(451), + 1945: uint16(577), + 1946: uint16(451), + 1947: uint16(1594), + 1948: uint16(309), + 1949: uint16(1028), + 1950: uint16(310), + 1951: uint16(373), + 1952: uint16(266), + 1953: uint16(267), + 1954: uint16(457), + 1955: uint16(1580), + 1956: uint16(1579), + 1957: uint16(443), + 1958: uint16(138), + 1959: uint16(1394), + 1960: uint16(552), + 1961: uint16(1393), + 1962: uint16(11), + 1963: uint16(1483), + 1964: uint16(384), + 1965: uint16(115), + 1966: uint16(317), + 1967: uint16(1350), + 1968: uint16(109), + 1969: uint16(536), + 1970: uint16(42), + 1971: uint16(579), + 1972: uint16(382), + 1973: uint16(214), + 1974: uint16(1349), + 1975: uint16(388), + 1976: uint16(1198), + 1977: uint16(389), + 1978: uint16(275), + 1979: uint16(277), + 1980: uint16(278), + 1981: uint16(1028), + 1982: uint16(1028), + 1983: uint16(1030), + 1984: uint16(1031), + 1985: uint16(35), + 1986: uint16(580), + 1987: uint16(1265), + 1988: uint16(414), + 1989: uint16(1260), + 1990: uint16(170), + 1991: uint16(415), + 1992: uint16(183), + 1993: uint16(1534), + 1994: uint16(1535), + 1995: uint16(1533), + 1996: uint16(171), + 1997: uint16(154), + 1998: uint16(307), + 1999: uint16(1532), + 2000: uint16(846), + 2001: uint16(223), + 2002: uint16(224), + 2003: uint16(88), + 2004: uint16(452), + 2005: uint16(215), + 2006: uint16(172), + 2007: uint16(321), + 2008: uint16(234), + 2009: uint16(1102), + 2010: uint16(152), + 2011: uint16(1188), + 2012: uint16(1100), + 2013: uint16(329), + 2014: uint16(185), + 2015: uint16(174), + 2016: uint16(1223), + 2017: uint16(925), + 2018: uint16(187), + 2019: uint16(241), + 2020: uint16(337), + 2021: uint16(244), + 2022: uint16(1116), + 2023: uint16(192), + 2024: uint16(175), + 2025: uint16(176), + 2026: uint16(424), + 2027: uint16(426), + 2028: uint16(97), + 2029: uint16(194), + 2030: uint16(98), + 2031: uint16(99), + 2032: uint16(100), + 2033: uint16(177), + 2034: uint16(1119), + 2035: uint16(1115), + 2036: uint16(246), + 2037: uint16(247), + 2038: uint16(161), + 2039: uint16(24), + 2040: uint16(248), + 2041: uint16(348), + 2042: uint16(1238), + 2043: uint16(264), + 2044: uint16(1108), + 2045: uint16(250), + 2046: uint16(495), + 2047: uint16(199), + 2048: uint16(198), + 2049: uint16(15), + 2050: uint16(861), + 2051: uint16(500), + 2052: uint16(369), + 2053: uint16(254), + 2054: uint16(504), + 2055: uint16(509), + 2056: uint16(512), + 2057: uint16(200), + 2058: uint16(102), + 2059: uint16(25), + 2060: uint16(179), + 2061: uint16(361), + 2062: uint16(26), + 2063: uint16(364), + 2064: uint16(104), + 2065: uint16(891), + 2066: uint16(308), + 2067: uint16(162), + 2068: uint16(105), + 2069: uint16(904), + 2070: uint16(520), + 2071: uint16(106), + 2072: uint16(1185), + 2073: uint16(1069), + 2074: uint16(1155), + 2075: uint16(17), + 2076: uint16(228), + 2077: uint16(27), + 2078: uint16(1154), + 2079: uint16(283), + 2080: uint16(285), + 2081: uint16(263), + 2082: uint16(978), + 2083: uint16(202), + 2084: uint16(972), + 2085: uint16(123), + 2086: uint16(28), + 2087: uint16(1175), + 2088: uint16(29), + 2089: uint16(30), + 2090: uint16(1179), + 2091: uint16(1171), + 2092: uint16(31), + 2093: uint16(1173), + 2094: uint16(1160), + 2095: uint16(41), + 2096: uint16(32), + 2097: uint16(206), + 2098: uint16(548), + 2099: uint16(33), + 2100: uint16(110), + 2101: uint16(1178), + 2102: uint16(1083), + 2103: uint16(8), + 2104: uint16(112), + 2105: uint16(1070), + 2106: uint16(113), + 2107: uint16(1068), + 2108: uint16(1072), + 2109: uint16(34), + 2110: uint16(1073), + 2111: uint16(560), + 2112: uint16(1125), + 2113: uint16(269), + 2114: uint16(1124), + 2115: uint16(270), + 2116: uint16(36), + 2117: uint16(18), + 2118: uint16(1194), + 2119: uint16(1033), + 2120: uint16(873), + 2121: uint16(151), + 2122: uint16(122), + 2123: uint16(37), + 2124: uint16(393), + 2125: uint16(271), + 2126: uint16(272), + 2127: uint16(572), + 2128: uint16(181), + 2129: uint16(1193), + 2130: uint16(1256), + 2131: uint16(1256), + 2132: uint16(1256), + 2133: uint16(935), + 2134: uint16(1256), + 2135: uint16(1256), + 2136: uint16(1256), + 2137: uint16(1256), + 2138: uint16(1256), + 2139: uint16(1256), + 2140: uint16(1256), + 2141: uint16(1617), +} +var _yy_lookahead = [2328]uint16{ + 0: uint16(194), + 1: uint16(276), + 2: uint16(277), + 3: uint16(278), + 4: uint16(216), + 5: uint16(194), + 6: uint16(194), + 7: uint16(217), + 8: uint16(194), + 9: uint16(194), + 10: uint16(194), + 11: uint16(194), + 12: uint16(224), + 13: uint16(194), + 14: uint16(194), + 15: uint16(276), + 16: uint16(277), + 17: uint16(278), + 18: uint16(204), 19: uint16(19), - 20: uint16(219), - 21: uint16(233), - 22: uint16(216), - 23: uint16(216), - 24: uint16(217), - 25: uint16(216), - 26: uint16(217), - 27: uint16(193), - 28: uint16(295), - 29: uint16(216), - 30: uint16(217), + 20: uint16(206), + 21: uint16(202), + 22: uint16(297), + 23: uint16(217), + 24: uint16(218), + 25: uint16(205), + 26: uint16(207), + 27: uint16(217), + 28: uint16(205), + 29: uint16(217), + 30: uint16(218), 31: uint16(31), - 32: uint16(193), - 33: uint16(216), + 32: uint16(217), + 33: uint16(218), 34: uint16(217), - 35: uint16(193), - 36: uint16(228), - 37: uint16(213), - 38: uint16(230), + 35: uint16(218), + 36: uint16(29), + 37: uint16(217), + 38: uint16(218), 39: uint16(39), - 40: uint16(206), - 41: uint16(216), - 42: uint16(217), + 40: uint16(33), + 41: uint16(217), + 42: uint16(220), 43: uint16(43), 44: uint16(44), 45: uint16(45), @@ -149058,31 +150374,31 @@ var _yy_lookahead = [2285]uint16{ 55: uint16(55), 56: uint16(56), 57: uint16(57), - 58: uint16(193), + 58: uint16(312), 59: uint16(19), - 60: uint16(185), - 61: uint16(186), - 62: uint16(187), - 63: uint16(188), - 64: uint16(189), - 65: uint16(190), - 66: uint16(253), - 67: uint16(274), - 68: uint16(275), - 69: uint16(276), - 70: uint16(195), - 71: uint16(193), - 72: uint16(197), - 73: uint16(193), - 74: uint16(261), - 75: uint16(274), - 76: uint16(275), - 77: uint16(276), - 78: uint16(253), - 79: uint16(204), - 80: uint16(238), - 81: uint16(204), - 82: uint16(81), + 60: uint16(240), + 61: uint16(241), + 62: uint16(316), + 63: uint16(240), + 64: uint16(241), + 65: uint16(194), + 66: uint16(46), + 67: uint16(47), + 68: uint16(48), + 69: uint16(49), + 70: uint16(22), + 71: uint16(254), + 72: uint16(65), + 73: uint16(253), + 74: uint16(254), + 75: uint16(255), + 76: uint16(253), + 77: uint16(194), + 78: uint16(255), + 79: uint16(194), + 80: uint16(263), + 81: uint16(258), + 82: uint16(259), 83: uint16(43), 84: uint16(44), 85: uint16(45), @@ -149098,10 +150414,10 @@ var _yy_lookahead = [2285]uint16{ 95: uint16(55), 96: uint16(56), 97: uint16(57), - 98: uint16(274), - 99: uint16(275), - 100: uint16(276), - 101: uint16(262), + 98: uint16(276), + 99: uint16(277), + 100: uint16(278), + 101: uint16(285), 102: uint16(102), 103: uint16(103), 104: uint16(104), @@ -149114,34 +150430,34 @@ var _yy_lookahead = [2285]uint16{ 111: uint16(111), 112: uint16(112), 113: uint16(113), - 114: uint16(239), - 115: uint16(240), - 116: uint16(239), - 117: uint16(240), - 118: uint16(210), - 119: uint16(211), - 120: uint16(212), - 121: uint16(314), - 122: uint16(315), - 123: uint16(314), - 124: uint16(59), - 125: uint16(316), + 114: uint16(59), + 115: uint16(186), + 116: uint16(187), + 117: uint16(188), + 118: uint16(189), + 119: uint16(190), + 120: uint16(191), + 121: uint16(310), + 122: uint16(239), + 123: uint16(317), + 124: uint16(318), + 125: uint16(196), 126: uint16(86), - 127: uint16(252), + 127: uint16(198), 128: uint16(88), - 129: uint16(252), + 129: uint16(317), 130: uint16(19), - 131: uint16(314), - 132: uint16(315), - 133: uint16(256), - 134: uint16(257), - 135: uint16(113), + 131: uint16(319), + 132: uint16(317), + 133: uint16(318), + 134: uint16(205), + 135: uint16(264), 136: uint16(25), - 137: uint16(72), - 138: uint16(296), - 139: uint16(138), - 140: uint16(139), - 141: uint16(266), + 137: uint16(211), + 138: uint16(212), + 139: uint16(213), + 140: uint16(205), + 141: uint16(121), 142: uint16(102), 143: uint16(103), 144: uint16(104), @@ -149169,50 +150485,50 @@ var _yy_lookahead = [2285]uint16{ 166: uint16(55), 167: uint16(56), 168: uint16(57), - 169: uint16(81), - 170: uint16(292), - 171: uint16(59), - 172: uint16(292), - 173: uint16(298), - 174: uint16(108), - 175: uint16(109), - 176: uint16(110), - 177: uint16(111), - 178: uint16(112), - 179: uint16(113), + 169: uint16(240), + 170: uint16(241), + 171: uint16(116), + 172: uint16(117), + 173: uint16(118), + 174: uint16(119), + 175: uint16(240), + 176: uint16(241), + 177: uint16(122), + 178: uint16(123), + 179: uint16(124), 180: uint16(69), - 181: uint16(116), - 182: uint16(117), - 183: uint16(118), - 184: uint16(72), + 181: uint16(298), + 182: uint16(253), + 183: uint16(194), + 184: uint16(255), 185: uint16(106), 186: uint16(107), - 187: uint16(193), - 188: uint16(111), - 189: uint16(112), - 190: uint16(113), + 187: uint16(132), + 188: uint16(253), + 189: uint16(141), + 190: uint16(255), 191: uint16(54), 192: uint16(55), 193: uint16(56), 194: uint16(57), 195: uint16(58), - 196: uint16(102), - 197: uint16(103), - 198: uint16(104), - 199: uint16(105), - 200: uint16(106), - 201: uint16(107), - 202: uint16(108), - 203: uint16(109), - 204: uint16(110), - 205: uint16(111), - 206: uint16(112), - 207: uint16(113), - 208: uint16(120), - 209: uint16(25), - 210: uint16(216), - 211: uint16(217), - 212: uint16(145), + 196: uint16(207), + 197: uint16(268), + 198: uint16(102), + 199: uint16(103), + 200: uint16(104), + 201: uint16(105), + 202: uint16(106), + 203: uint16(107), + 204: uint16(108), + 205: uint16(109), + 206: uint16(110), + 207: uint16(111), + 208: uint16(112), + 209: uint16(113), + 210: uint16(214), + 211: uint16(128), + 212: uint16(129), 213: uint16(102), 214: uint16(103), 215: uint16(104), @@ -149225,13 +150541,13 @@ var _yy_lookahead = [2285]uint16{ 222: uint16(111), 223: uint16(112), 224: uint16(113), - 225: uint16(231), - 226: uint16(138), - 227: uint16(139), - 228: uint16(116), - 229: uint16(117), - 230: uint16(118), - 231: uint16(164), + 225: uint16(134), + 226: uint16(25), + 227: uint16(136), + 228: uint16(137), + 229: uint16(300), + 230: uint16(165), + 231: uint16(166), 232: uint16(153), 233: uint16(19), 234: uint16(155), @@ -149251,12 +150567,12 @@ var _yy_lookahead = [2285]uint16{ 248: uint16(111), 249: uint16(112), 250: uint16(113), - 251: uint16(128), - 252: uint16(129), - 253: uint16(46), - 254: uint16(47), - 255: uint16(48), - 256: uint16(49), + 251: uint16(108), + 252: uint16(109), + 253: uint16(110), + 254: uint16(111), + 255: uint16(112), + 256: uint16(113), 257: uint16(43), 258: uint16(44), 259: uint16(45), @@ -149272,15 +150588,15 @@ var _yy_lookahead = [2285]uint16{ 269: uint16(55), 270: uint16(56), 271: uint16(57), - 272: uint16(216), - 273: uint16(193), - 274: uint16(25), - 275: uint16(59), - 276: uint16(193), + 272: uint16(276), + 273: uint16(277), + 274: uint16(278), + 275: uint16(113), + 276: uint16(194), 277: uint16(19), - 278: uint16(165), - 279: uint16(166), - 280: uint16(193), + 278: uint16(22), + 279: uint16(23), + 280: uint16(194), 281: uint16(67), 282: uint16(24), 283: uint16(102), @@ -149295,12 +150611,12 @@ var _yy_lookahead = [2285]uint16{ 292: uint16(111), 293: uint16(112), 294: uint16(113), - 295: uint16(73), - 296: uint16(216), - 297: uint16(217), - 298: uint16(59), - 299: uint16(216), - 300: uint16(217), + 295: uint16(220), + 296: uint16(250), + 297: uint16(59), + 298: uint16(252), + 299: uint16(217), + 300: uint16(218), 301: uint16(43), 302: uint16(44), 303: uint16(45), @@ -149328,38 +150644,38 @@ var _yy_lookahead = [2285]uint16{ 325: uint16(111), 326: uint16(112), 327: uint16(113), - 328: uint16(121), - 329: uint16(145), - 330: uint16(59), - 331: uint16(193), - 332: uint16(116), - 333: uint16(117), - 334: uint16(118), - 335: uint16(119), - 336: uint16(273), - 337: uint16(204), - 338: uint16(122), - 339: uint16(123), - 340: uint16(124), + 328: uint16(106), + 329: uint16(107), + 330: uint16(108), + 331: uint16(109), + 332: uint16(110), + 333: uint16(111), + 334: uint16(112), + 335: uint16(113), + 336: uint16(254), + 337: uint16(59), + 338: uint16(205), + 339: uint16(138), + 340: uint16(139), 341: uint16(19), 342: uint16(20), - 343: uint16(134), + 343: uint16(194), 344: uint16(22), - 345: uint16(136), - 346: uint16(137), - 347: uint16(19), - 348: uint16(132), - 349: uint16(127), - 350: uint16(128), - 351: uint16(129), - 352: uint16(24), - 353: uint16(22), - 354: uint16(23), - 355: uint16(116), - 356: uint16(117), - 357: uint16(118), + 345: uint16(263), + 346: uint16(22), + 347: uint16(23), + 348: uint16(231), + 349: uint16(25), + 350: uint16(72), + 351: uint16(276), + 352: uint16(277), + 353: uint16(278), + 354: uint16(116), + 355: uint16(117), + 356: uint16(118), + 357: uint16(101), 358: uint16(36), - 359: uint16(193), + 359: uint16(76), 360: uint16(102), 361: uint16(103), 362: uint16(104), @@ -149372,37 +150688,37 @@ var _yy_lookahead = [2285]uint16{ 369: uint16(111), 370: uint16(112), 371: uint16(113), - 372: uint16(239), + 372: uint16(89), 373: uint16(240), - 374: uint16(311), - 375: uint16(312), - 376: uint16(215), - 377: uint16(106), - 378: uint16(107), - 379: uint16(241), + 374: uint16(241), + 375: uint16(92), + 376: uint16(73), + 377: uint16(194), + 378: uint16(194), + 379: uint16(73), 380: uint16(19), 381: uint16(59), - 382: uint16(216), - 383: uint16(217), - 384: uint16(223), - 385: uint16(252), - 386: uint16(115), - 387: uint16(116), - 388: uint16(117), - 389: uint16(118), - 390: uint16(151), - 391: uint16(120), - 392: uint16(26), + 382: uint16(188), + 383: uint16(189), + 384: uint16(190), + 385: uint16(191), + 386: uint16(253), + 387: uint16(81), + 388: uint16(255), + 389: uint16(151), + 390: uint16(196), + 391: uint16(25), + 392: uint16(198), 393: uint16(71), - 394: uint16(193), - 395: uint16(308), - 396: uint16(309), - 397: uint16(193), - 398: uint16(149), - 399: uint16(128), - 400: uint16(313), - 401: uint16(216), - 402: uint16(269), + 394: uint16(116), + 395: uint16(117), + 396: uint16(118), + 397: uint16(311), + 398: uint16(312), + 399: uint16(205), + 400: uint16(217), + 401: uint16(218), + 402: uint16(316), 403: uint16(81), 404: uint16(43), 405: uint16(44), @@ -149419,50 +150735,50 @@ var _yy_lookahead = [2285]uint16{ 416: uint16(55), 417: uint16(56), 418: uint16(57), - 419: uint16(253), - 420: uint16(216), - 421: uint16(217), + 419: uint16(270), + 420: uint16(22), + 421: uint16(23), 422: uint16(100), - 423: uint16(95), - 424: uint16(153), - 425: uint16(59), - 426: uint16(155), - 427: uint16(261), + 423: uint16(25), + 424: uint16(59), + 425: uint16(101), + 426: uint16(138), + 427: uint16(139), 428: uint16(106), 429: uint16(107), - 430: uint16(25), - 431: uint16(193), - 432: uint16(101), - 433: uint16(193), - 434: uint16(193), - 435: uint16(231), + 430: uint16(127), + 431: uint16(128), + 432: uint16(129), + 433: uint16(127), + 434: uint16(240), + 435: uint16(241), 436: uint16(114), - 437: uint16(25), + 437: uint16(254), 438: uint16(116), 439: uint16(117), 440: uint16(118), - 441: uint16(113), - 442: uint16(304), + 441: uint16(76), + 442: uint16(76), 443: uint16(121), - 444: uint16(193), - 445: uint16(204), - 446: uint16(59), - 447: uint16(119), - 448: uint16(120), - 449: uint16(121), - 450: uint16(122), - 451: uint16(123), - 452: uint16(124), - 453: uint16(125), - 454: uint16(216), - 455: uint16(217), - 456: uint16(193), - 457: uint16(216), - 458: uint16(217), - 459: uint16(131), + 444: uint16(138), + 445: uint16(139), + 446: uint16(263), + 447: uint16(253), + 448: uint16(264), + 449: uint16(255), + 450: uint16(205), + 451: uint16(275), + 452: uint16(87), + 453: uint16(19), + 454: uint16(89), + 455: uint16(89), + 456: uint16(194), + 457: uint16(92), + 458: uint16(92), + 459: uint16(199), 460: uint16(138), 461: uint16(139), - 462: uint16(230), + 462: uint16(268), 463: uint16(102), 464: uint16(103), 465: uint16(104), @@ -149480,37 +150796,37 @@ var _yy_lookahead = [2285]uint16{ 477: uint16(155), 478: uint16(156), 479: uint16(157), - 480: uint16(239), - 481: uint16(240), - 482: uint16(116), - 483: uint16(117), - 484: uint16(118), - 485: uint16(76), - 486: uint16(193), - 487: uint16(23), + 480: uint16(81), + 481: uint16(116), + 482: uint16(117), + 483: uint16(118), + 484: uint16(129), + 485: uint16(240), + 486: uint16(241), + 487: uint16(224), 488: uint16(19), - 489: uint16(25), - 490: uint16(22), - 491: uint16(253), + 489: uint16(226), + 490: uint16(314), + 491: uint16(315), 492: uint16(23), - 493: uint16(252), - 494: uint16(253), - 495: uint16(108), - 496: uint16(87), - 497: uint16(204), - 498: uint16(89), - 499: uint16(261), - 500: uint16(198), - 501: uint16(92), - 502: uint16(261), - 503: uint16(116), - 504: uint16(117), - 505: uint16(118), - 506: uint16(193), - 507: uint16(306), - 508: uint16(307), - 509: uint16(216), - 510: uint16(217), + 493: uint16(25), + 494: uint16(300), + 495: uint16(59), + 496: uint16(22), + 497: uint16(234), + 498: uint16(253), + 499: uint16(101), + 500: uint16(255), + 501: uint16(236), + 502: uint16(237), + 503: uint16(26), + 504: uint16(194), + 505: uint16(183), + 506: uint16(194), + 507: uint16(152), + 508: uint16(72), + 509: uint16(22), + 510: uint16(145), 511: uint16(150), 512: uint16(43), 513: uint16(44), @@ -149527,34 +150843,34 @@ var _yy_lookahead = [2285]uint16{ 524: uint16(55), 525: uint16(56), 526: uint16(57), - 527: uint16(59), - 528: uint16(193), - 529: uint16(216), - 530: uint16(217), + 527: uint16(217), + 528: uint16(218), + 529: uint16(217), + 530: uint16(218), 531: uint16(19), - 532: uint16(239), - 533: uint16(240), - 534: uint16(283), + 532: uint16(189), + 533: uint16(59), + 534: uint16(191), 535: uint16(23), - 536: uint16(106), - 537: uint16(107), - 538: uint16(108), - 539: uint16(109), - 540: uint16(110), - 541: uint16(111), - 542: uint16(112), - 543: uint16(113), - 544: uint16(73), - 545: uint16(252), - 546: uint16(253), - 547: uint16(142), - 548: uint16(308), - 549: uint16(309), - 550: uint16(138), - 551: uint16(139), - 552: uint16(81), - 553: uint16(313), - 554: uint16(145), + 536: uint16(59), + 537: uint16(138), + 538: uint16(139), + 539: uint16(196), + 540: uint16(135), + 541: uint16(198), + 542: uint16(232), + 543: uint16(283), + 544: uint16(232), + 545: uint16(140), + 546: uint16(59), + 547: uint16(287), + 548: uint16(205), + 549: uint16(275), + 550: uint16(116), + 551: uint16(205), + 552: uint16(116), + 553: uint16(117), + 554: uint16(118), 555: uint16(43), 556: uint16(44), 557: uint16(45), @@ -149570,7 +150886,7 @@ var _yy_lookahead = [2285]uint16{ 567: uint16(55), 568: uint16(56), 569: uint16(57), - 570: uint16(307), + 570: uint16(194), 571: uint16(102), 572: uint16(103), 573: uint16(104), @@ -149583,37 +150899,37 @@ var _yy_lookahead = [2285]uint16{ 580: uint16(111), 581: uint16(112), 582: uint16(113), - 583: uint16(281), - 584: uint16(116), - 585: uint16(117), - 586: uint16(118), - 587: uint16(285), - 588: uint16(23), - 589: uint16(193), - 590: uint16(25), - 591: uint16(119), - 592: uint16(59), - 593: uint16(193), - 594: uint16(122), - 595: uint16(123), - 596: uint16(124), - 597: uint16(59), - 598: uint16(127), - 599: uint16(203), + 583: uint16(240), + 584: uint16(241), + 585: uint16(194), + 586: uint16(240), + 587: uint16(241), + 588: uint16(314), + 589: uint16(315), + 590: uint16(116), + 591: uint16(117), + 592: uint16(118), + 593: uint16(116), + 594: uint16(117), + 595: uint16(118), + 596: uint16(253), + 597: uint16(194), + 598: uint16(255), + 599: uint16(253), 600: uint16(59), - 601: uint16(205), + 601: uint16(255), 602: uint16(19), - 603: uint16(268), - 604: uint16(132), - 605: uint16(25), + 603: uint16(116), + 604: uint16(117), + 605: uint16(118), 606: uint16(23), 607: uint16(22), - 608: uint16(193), - 609: uint16(138), - 610: uint16(139), - 611: uint16(249), - 612: uint16(204), - 613: uint16(251), + 608: uint16(217), + 609: uint16(218), + 610: uint16(142), + 611: uint16(268), + 612: uint16(205), + 613: uint16(275), 614: uint16(102), 615: uint16(103), 616: uint16(104), @@ -149642,29 +150958,29 @@ var _yy_lookahead = [2285]uint16{ 639: uint16(56), 640: uint16(57), 641: uint16(19), - 642: uint16(22), - 643: uint16(23), + 642: uint16(194), + 643: uint16(300), 644: uint16(59), 645: uint16(23), - 646: uint16(25), - 647: uint16(239), - 648: uint16(240), - 649: uint16(116), - 650: uint16(117), - 651: uint16(118), - 652: uint16(193), - 653: uint16(11), - 654: uint16(116), - 655: uint16(117), - 656: uint16(118), - 657: uint16(116), + 646: uint16(119), + 647: uint16(240), + 648: uint16(241), + 649: uint16(122), + 650: uint16(123), + 651: uint16(124), + 652: uint16(314), + 653: uint16(315), + 654: uint16(194), + 655: uint16(236), + 656: uint16(237), + 657: uint16(194), 658: uint16(117), - 659: uint16(118), - 660: uint16(252), - 661: uint16(269), - 662: uint16(22), - 663: uint16(193), - 664: uint16(15), + 659: uint16(132), + 660: uint16(253), + 661: uint16(81), + 662: uint16(255), + 663: uint16(205), + 664: uint16(59), 665: uint16(43), 666: uint16(44), 667: uint16(45), @@ -149680,11 +150996,11 @@ var _yy_lookahead = [2285]uint16{ 677: uint16(55), 678: uint16(56), 679: uint16(57), - 680: uint16(273), - 681: uint16(143), - 682: uint16(193), - 683: uint16(118), - 684: uint16(143), + 680: uint16(217), + 681: uint16(218), + 682: uint16(194), + 683: uint16(194), + 684: uint16(194), 685: uint16(102), 686: uint16(103), 687: uint16(104), @@ -149697,33 +151013,33 @@ var _yy_lookahead = [2285]uint16{ 694: uint16(111), 695: uint16(112), 696: uint16(113), - 697: uint16(76), - 698: uint16(118), - 699: uint16(59), - 700: uint16(241), + 697: uint16(294), + 698: uint16(240), + 699: uint16(241), + 700: uint16(120), 701: uint16(116), 702: uint16(117), 703: uint16(118), - 704: uint16(304), - 705: uint16(216), + 704: uint16(59), + 705: uint16(194), 706: uint16(217), - 707: uint16(292), - 708: uint16(143), - 709: uint16(60), - 710: uint16(89), - 711: uint16(241), + 707: uint16(218), + 708: uint16(211), + 709: uint16(212), + 710: uint16(213), + 711: uint16(253), 712: uint16(19), - 713: uint16(92), - 714: uint16(193), - 715: uint16(193), + 713: uint16(255), + 714: uint16(194), + 715: uint16(19), 716: uint16(23), - 717: uint16(22), - 718: uint16(311), - 719: uint16(312), - 720: uint16(231), - 721: uint16(101), - 722: uint16(22), - 723: uint16(143), + 717: uint16(254), + 718: uint16(138), + 719: uint16(139), + 720: uint16(24), + 721: uint16(232), + 722: uint16(117), + 723: uint16(194), 724: uint16(102), 725: uint16(103), 726: uint16(104), @@ -149752,29 +151068,29 @@ var _yy_lookahead = [2285]uint16{ 749: uint16(56), 750: uint16(57), 751: uint16(19), - 752: uint16(193), - 753: uint16(193), - 754: uint16(59), + 752: uint16(264), + 753: uint16(108), + 754: uint16(76), 755: uint16(23), - 756: uint16(116), - 757: uint16(117), - 758: uint16(118), - 759: uint16(59), - 760: uint16(201), - 761: uint16(21), - 762: uint16(241), - 763: uint16(304), - 764: uint16(193), - 765: uint16(206), - 766: uint16(127), - 767: uint16(128), - 768: uint16(129), - 769: uint16(193), - 770: uint16(128), - 771: uint16(129), - 772: uint16(235), - 773: uint16(236), - 774: uint16(304), + 756: uint16(127), + 757: uint16(128), + 758: uint16(129), + 759: uint16(311), + 760: uint16(312), + 761: uint16(116), + 762: uint16(117), + 763: uint16(118), + 764: uint16(316), + 765: uint16(87), + 766: uint16(306), + 767: uint16(89), + 768: uint16(308), + 769: uint16(194), + 770: uint16(92), + 771: uint16(22), + 772: uint16(59), + 773: uint16(194), + 774: uint16(22), 775: uint16(43), 776: uint16(44), 777: uint16(45), @@ -149790,11 +151106,11 @@ var _yy_lookahead = [2285]uint16{ 787: uint16(55), 788: uint16(56), 789: uint16(57), - 790: uint16(22), - 791: uint16(193), - 792: uint16(216), - 793: uint16(217), - 794: uint16(193), + 790: uint16(194), + 791: uint16(95), + 792: uint16(217), + 793: uint16(218), + 794: uint16(265), 795: uint16(102), 796: uint16(103), 797: uint16(104), @@ -149807,33 +151123,33 @@ var _yy_lookahead = [2285]uint16{ 804: uint16(111), 805: uint16(112), 806: uint16(113), - 807: uint16(231), - 808: uint16(193), - 809: uint16(193), - 810: uint16(193), - 811: uint16(116), - 812: uint16(117), - 813: uint16(118), - 814: uint16(216), - 815: uint16(217), - 816: uint16(116), - 817: uint16(117), - 818: uint16(118), - 819: uint16(226), - 820: uint16(80), - 821: uint16(193), + 807: uint16(232), + 808: uint16(59), + 809: uint16(113), + 810: uint16(25), + 811: uint16(59), + 812: uint16(194), + 813: uint16(217), + 814: uint16(218), + 815: uint16(119), + 816: uint16(120), + 817: uint16(121), + 818: uint16(122), + 819: uint16(123), + 820: uint16(124), + 821: uint16(125), 822: uint16(19), - 823: uint16(235), - 824: uint16(236), - 825: uint16(304), + 823: uint16(145), + 824: uint16(194), + 825: uint16(194), 826: uint16(23), - 827: uint16(211), - 828: uint16(212), - 829: uint16(231), - 830: uint16(204), - 831: uint16(216), - 832: uint16(217), - 833: uint16(205), + 827: uint16(131), + 828: uint16(232), + 829: uint16(116), + 830: uint16(117), + 831: uint16(118), + 832: uint16(35), + 833: uint16(194), 834: uint16(102), 835: uint16(103), 836: uint16(104), @@ -149862,29 +151178,29 @@ var _yy_lookahead = [2285]uint16{ 859: uint16(56), 860: uint16(57), 861: uint16(19), - 862: uint16(193), - 863: uint16(123), - 864: uint16(76), - 865: uint16(239), - 866: uint16(240), - 867: uint16(193), - 868: uint16(253), - 869: uint16(239), - 870: uint16(240), - 871: uint16(239), - 872: uint16(240), - 873: uint16(244), - 874: uint16(106), - 875: uint16(107), - 876: uint16(193), - 877: uint16(89), - 878: uint16(252), - 879: uint16(193), - 880: uint16(92), - 881: uint16(59), - 882: uint16(252), - 883: uint16(254), - 884: uint16(252), + 862: uint16(194), + 863: uint16(66), + 864: uint16(194), + 865: uint16(116), + 866: uint16(117), + 867: uint16(118), + 868: uint16(116), + 869: uint16(117), + 870: uint16(118), + 871: uint16(74), + 872: uint16(242), + 873: uint16(294), + 874: uint16(194), + 875: uint16(194), + 876: uint16(206), + 877: uint16(23), + 878: uint16(194), + 879: uint16(25), + 880: uint16(194), + 881: uint16(111), + 882: uint16(112), + 883: uint16(113), + 884: uint16(25), 885: uint16(43), 886: uint16(44), 887: uint16(45), @@ -149900,11 +151216,11 @@ var _yy_lookahead = [2285]uint16{ 897: uint16(55), 898: uint16(56), 899: uint16(57), - 900: uint16(284), - 901: uint16(161), - 902: uint16(216), + 900: uint16(24), + 901: uint16(194), + 902: uint16(194), 903: uint16(217), - 904: uint16(193), + 904: uint16(218), 905: uint16(102), 906: uint16(103), 907: uint16(104), @@ -149917,33 +151233,33 @@ var _yy_lookahead = [2285]uint16{ 914: uint16(111), 915: uint16(112), 916: uint16(113), - 917: uint16(231), - 918: uint16(193), - 919: uint16(244), - 920: uint16(187), - 921: uint16(188), - 922: uint16(189), - 923: uint16(190), - 924: uint16(7), - 925: uint16(8), - 926: uint16(9), - 927: uint16(309), - 928: uint16(195), - 929: uint16(254), - 930: uint16(197), - 931: uint16(313), + 917: uint16(241), + 918: uint16(232), + 919: uint16(194), + 920: uint16(212), + 921: uint16(213), + 922: uint16(242), + 923: uint16(242), + 924: uint16(217), + 925: uint16(218), + 926: uint16(242), + 927: uint16(130), + 928: uint16(11), + 929: uint16(253), + 930: uint16(194), + 931: uint16(255), 932: uint16(19), - 933: uint16(127), - 934: uint16(128), - 935: uint16(129), - 936: uint16(262), - 937: uint16(204), - 938: uint16(22), - 939: uint16(117), - 940: uint16(24), - 941: uint16(216), + 933: uint16(265), + 934: uint16(149), + 935: uint16(59), + 936: uint16(306), + 937: uint16(194), + 938: uint16(308), + 939: uint16(232), + 940: uint16(309), + 941: uint16(310), 942: uint16(217), - 943: uint16(273), + 943: uint16(218), 944: uint16(102), 945: uint16(103), 946: uint16(104), @@ -149971,36 +151287,36 @@ var _yy_lookahead = [2285]uint16{ 968: uint16(55), 969: uint16(56), 970: uint16(57), - 971: uint16(193), - 972: uint16(239), - 973: uint16(240), - 974: uint16(193), - 975: uint16(59), + 971: uint16(194), + 972: uint16(194), + 973: uint16(59), + 974: uint16(194), + 975: uint16(239), 976: uint16(19), - 977: uint16(188), - 978: uint16(253), - 979: uint16(190), - 980: uint16(193), - 981: uint16(311), - 982: uint16(312), - 983: uint16(16), - 984: uint16(195), - 985: uint16(252), - 986: uint16(197), - 987: uint16(193), - 988: uint16(19), - 989: uint16(301), - 990: uint16(302), - 991: uint16(135), - 992: uint16(193), - 993: uint16(204), - 994: uint16(216), + 977: uint16(194), + 978: uint16(25), + 979: uint16(254), + 980: uint16(303), + 981: uint16(304), + 982: uint16(23), + 983: uint16(194), + 984: uint16(25), + 985: uint16(126), + 986: uint16(306), + 987: uint16(306), + 988: uint16(308), + 989: uint16(308), + 990: uint16(306), + 991: uint16(271), + 992: uint16(308), + 993: uint16(117), + 994: uint16(286), 995: uint16(217), - 996: uint16(140), - 997: uint16(216), - 998: uint16(217), - 999: uint16(266), - 1000: uint16(204), + 996: uint16(218), + 997: uint16(217), + 998: uint16(218), + 999: uint16(194), + 1000: uint16(194), 1001: uint16(159), 1002: uint16(45), 1003: uint16(46), @@ -150027,38 +151343,38 @@ var _yy_lookahead = [2285]uint16{ 1024: uint16(111), 1025: uint16(112), 1026: uint16(113), - 1027: uint16(12), + 1027: uint16(59), 1028: uint16(239), - 1029: uint16(240), - 1030: uint16(193), - 1031: uint16(298), - 1032: uint16(238), - 1033: uint16(117), - 1034: uint16(253), - 1035: uint16(239), + 1029: uint16(194), + 1030: uint16(116), + 1031: uint16(117), + 1032: uint16(118), + 1033: uint16(260), + 1034: uint16(254), + 1035: uint16(194), 1036: uint16(240), - 1037: uint16(238), - 1038: uint16(259), - 1039: uint16(260), - 1040: uint16(193), - 1041: uint16(252), - 1042: uint16(27), - 1043: uint16(193), - 1044: uint16(77), - 1045: uint16(193), - 1046: uint16(79), - 1047: uint16(204), - 1048: uint16(252), - 1049: uint16(262), - 1050: uint16(193), - 1051: uint16(299), - 1052: uint16(300), - 1053: uint16(193), - 1054: uint16(100), - 1055: uint16(266), - 1056: uint16(278), - 1057: uint16(42), - 1058: uint16(204), + 1037: uint16(241), + 1038: uint16(194), + 1039: uint16(233), + 1040: uint16(205), + 1041: uint16(240), + 1042: uint16(241), + 1043: uint16(205), + 1044: uint16(239), + 1045: uint16(128), + 1046: uint16(129), + 1047: uint16(270), + 1048: uint16(265), + 1049: uint16(253), + 1050: uint16(194), + 1051: uint16(255), + 1052: uint16(217), + 1053: uint16(218), + 1054: uint16(253), + 1055: uint16(194), + 1056: uint16(255), + 1057: uint16(143), + 1058: uint16(280), 1059: uint16(102), 1060: uint16(103), 1061: uint16(104), @@ -150071,51 +151387,51 @@ var _yy_lookahead = [2285]uint16{ 1068: uint16(111), 1069: uint16(112), 1070: uint16(113), - 1071: uint16(117), + 1071: uint16(118), 1072: uint16(159), - 1073: uint16(216), - 1074: uint16(217), - 1075: uint16(121), - 1076: uint16(216), - 1077: uint16(217), - 1078: uint16(63), - 1079: uint16(193), - 1080: uint16(193), - 1081: uint16(193), - 1082: uint16(239), - 1083: uint16(240), - 1084: uint16(115), - 1085: uint16(116), - 1086: uint16(193), - 1087: uint16(298), - 1088: uint16(73), - 1089: uint16(240), - 1090: uint16(238), - 1091: uint16(231), + 1073: uint16(217), + 1074: uint16(218), + 1075: uint16(240), + 1076: uint16(241), + 1077: uint16(118), + 1078: uint16(240), + 1079: uint16(241), + 1080: uint16(194), + 1081: uint16(194), + 1082: uint16(194), + 1083: uint16(239), + 1084: uint16(116), + 1085: uint16(117), + 1086: uint16(118), + 1087: uint16(22), + 1088: uint16(253), + 1089: uint16(254), + 1090: uint16(255), + 1091: uint16(253), 1092: uint16(19), - 1093: uint16(239), - 1094: uint16(240), - 1095: uint16(252), - 1096: uint16(22), + 1093: uint16(255), + 1094: uint16(233), + 1095: uint16(194), + 1096: uint16(143), 1097: uint16(24), - 1098: uint16(211), + 1098: uint16(263), 1099: uint16(212), - 1100: uint16(263), - 1101: uint16(252), - 1102: uint16(216), + 1100: uint16(213), + 1101: uint16(194), + 1102: uint16(143), 1103: uint16(217), - 1104: uint16(216), + 1104: uint16(218), 1105: uint16(217), - 1106: uint16(252), - 1107: uint16(153), - 1108: uint16(154), - 1109: uint16(155), - 1110: uint16(253), - 1111: uint16(193), + 1106: uint16(218), + 1107: uint16(261), + 1108: uint16(262), + 1109: uint16(271), + 1110: uint16(254), + 1111: uint16(143), 1112: uint16(19), - 1113: uint16(144), - 1114: uint16(213), - 1115: uint16(268), + 1113: uint16(7), + 1114: uint16(8), + 1115: uint16(9), 1116: uint16(43), 1117: uint16(44), 1118: uint16(45), @@ -150131,11 +151447,11 @@ var _yy_lookahead = [2285]uint16{ 1128: uint16(55), 1129: uint16(56), 1130: uint16(57), - 1131: uint16(193), + 1131: uint16(16), 1132: uint16(19), - 1133: uint16(59), - 1134: uint16(216), - 1135: uint16(217), + 1133: uint16(22), + 1134: uint16(23), + 1135: uint16(294), 1136: uint16(43), 1137: uint16(44), 1138: uint16(45), @@ -150151,11 +151467,11 @@ var _yy_lookahead = [2285]uint16{ 1148: uint16(55), 1149: uint16(56), 1150: uint16(57), - 1151: uint16(193), - 1152: uint16(19), - 1153: uint16(24), - 1154: uint16(216), - 1155: uint16(217), + 1151: uint16(312), + 1152: uint16(194), + 1153: uint16(214), + 1154: uint16(21), + 1155: uint16(316), 1156: uint16(43), 1157: uint16(44), 1158: uint16(45), @@ -150171,10 +151487,10 @@ var _yy_lookahead = [2285]uint16{ 1168: uint16(55), 1169: uint16(56), 1170: uint16(57), - 1171: uint16(284), - 1172: uint16(193), - 1173: uint16(208), - 1174: uint16(209), + 1171: uint16(106), + 1172: uint16(107), + 1173: uint16(286), + 1174: uint16(194), 1175: uint16(102), 1176: uint16(103), 1177: uint16(104), @@ -150187,14 +151503,14 @@ var _yy_lookahead = [2285]uint16{ 1184: uint16(111), 1185: uint16(112), 1186: uint16(113), - 1187: uint16(286), - 1188: uint16(59), - 1189: uint16(193), - 1190: uint16(232), - 1191: uint16(117), - 1192: uint16(291), - 1193: uint16(193), - 1194: uint16(193), + 1187: uint16(207), + 1188: uint16(158), + 1189: uint16(59), + 1190: uint16(160), + 1191: uint16(22), + 1192: uint16(77), + 1193: uint16(24), + 1194: uint16(79), 1195: uint16(102), 1196: uint16(103), 1197: uint16(104), @@ -150207,14 +151523,14 @@ var _yy_lookahead = [2285]uint16{ 1204: uint16(111), 1205: uint16(112), 1206: uint16(113), - 1207: uint16(193), - 1208: uint16(204), - 1209: uint16(22), - 1210: uint16(23), - 1211: uint16(193), - 1212: uint16(25), - 1213: uint16(66), - 1214: uint16(193), + 1207: uint16(194), + 1208: uint16(194), + 1209: uint16(229), + 1210: uint16(194), + 1211: uint16(231), + 1212: uint16(101), + 1213: uint16(80), + 1214: uint16(22), 1215: uint16(102), 1216: uint16(103), 1217: uint16(104), @@ -150227,39 +151543,39 @@ var _yy_lookahead = [2285]uint16{ 1224: uint16(111), 1225: uint16(112), 1226: uint16(113), - 1227: uint16(193), - 1228: uint16(193), - 1229: uint16(193), - 1230: uint16(216), - 1231: uint16(217), - 1232: uint16(85), - 1233: uint16(193), - 1234: uint16(238), + 1227: uint16(288), + 1228: uint16(59), + 1229: uint16(12), + 1230: uint16(217), + 1231: uint16(218), + 1232: uint16(293), + 1233: uint16(217), + 1234: uint16(218), 1235: uint16(19), - 1236: uint16(16), - 1237: uint16(216), - 1238: uint16(217), - 1239: uint16(238), - 1240: uint16(193), - 1241: uint16(94), - 1242: uint16(193), - 1243: uint16(239), - 1244: uint16(240), - 1245: uint16(231), - 1246: uint16(117), - 1247: uint16(268), - 1248: uint16(35), - 1249: uint16(116), - 1250: uint16(216), - 1251: uint16(217), - 1252: uint16(216), - 1253: uint16(217), - 1254: uint16(22), - 1255: uint16(23), - 1256: uint16(252), - 1257: uint16(25), - 1258: uint16(208), - 1259: uint16(209), + 1236: uint16(106), + 1237: uint16(107), + 1238: uint16(59), + 1239: uint16(19), + 1240: uint16(16), + 1241: uint16(127), + 1242: uint16(128), + 1243: uint16(129), + 1244: uint16(27), + 1245: uint16(115), + 1246: uint16(116), + 1247: uint16(117), + 1248: uint16(118), + 1249: uint16(194), + 1250: uint16(120), + 1251: uint16(59), + 1252: uint16(22), + 1253: uint16(194), + 1254: uint16(24), + 1255: uint16(194), + 1256: uint16(123), + 1257: uint16(100), + 1258: uint16(128), + 1259: uint16(42), 1260: uint16(44), 1261: uint16(45), 1262: uint16(46), @@ -150274,50 +151590,50 @@ var _yy_lookahead = [2285]uint16{ 1271: uint16(55), 1272: uint16(56), 1273: uint16(57), - 1274: uint16(193), - 1275: uint16(193), - 1276: uint16(19), - 1277: uint16(5), - 1278: uint16(59), - 1279: uint16(66), - 1280: uint16(193), - 1281: uint16(263), - 1282: uint16(10), - 1283: uint16(11), - 1284: uint16(12), - 1285: uint16(13), - 1286: uint16(14), - 1287: uint16(74), - 1288: uint16(101), - 1289: uint16(17), - 1290: uint16(193), - 1291: uint16(46), - 1292: uint16(193), - 1293: uint16(146), - 1294: uint16(193), - 1295: uint16(76), - 1296: uint16(213), - 1297: uint16(77), - 1298: uint16(263), - 1299: uint16(79), - 1300: uint16(12), - 1301: uint16(260), - 1302: uint16(30), - 1303: uint16(46), - 1304: uint16(32), - 1305: uint16(264), - 1306: uint16(87), - 1307: uint16(193), - 1308: uint16(89), - 1309: uint16(29), - 1310: uint16(263), - 1311: uint16(92), - 1312: uint16(40), - 1313: uint16(33), - 1314: uint16(232), - 1315: uint16(27), - 1316: uint16(193), - 1317: uint16(108), + 1274: uint16(117), + 1275: uint16(194), + 1276: uint16(217), + 1277: uint16(218), + 1278: uint16(121), + 1279: uint16(100), + 1280: uint16(63), + 1281: uint16(194), + 1282: uint16(245), + 1283: uint16(153), + 1284: uint16(194), + 1285: uint16(155), + 1286: uint16(117), + 1287: uint16(19), + 1288: uint16(115), + 1289: uint16(194), + 1290: uint16(73), + 1291: uint16(214), + 1292: uint16(194), + 1293: uint16(256), + 1294: uint16(161), + 1295: uint16(116), + 1296: uint16(117), + 1297: uint16(194), + 1298: uint16(217), + 1299: uint16(218), + 1300: uint16(121), + 1301: uint16(77), + 1302: uint16(194), + 1303: uint16(79), + 1304: uint16(217), + 1305: uint16(218), + 1306: uint16(194), + 1307: uint16(217), + 1308: uint16(218), + 1309: uint16(117), + 1310: uint16(153), + 1311: uint16(154), + 1312: uint16(155), + 1313: uint16(254), + 1314: uint16(46), + 1315: uint16(217), + 1316: uint16(218), + 1317: uint16(144), 1318: uint16(102), 1319: uint16(103), 1320: uint16(104), @@ -150330,1025 +151646,1068 @@ var _yy_lookahead = [2285]uint16{ 1327: uint16(111), 1328: uint16(112), 1329: uint16(113), - 1330: uint16(42), - 1331: uint16(138), - 1332: uint16(139), - 1333: uint16(101), - 1334: uint16(193), - 1335: uint16(116), - 1336: uint16(117), - 1337: uint16(118), + 1330: uint16(232), + 1331: uint16(270), + 1332: uint16(153), + 1333: uint16(154), + 1334: uint16(155), + 1335: uint16(115), + 1336: uint16(116), + 1337: uint16(66), 1338: uint16(19), 1339: uint16(20), - 1340: uint16(255), + 1340: uint16(183), 1341: uint16(22), - 1342: uint16(70), - 1343: uint16(130), - 1344: uint16(135), - 1345: uint16(65), - 1346: uint16(256), - 1347: uint16(257), - 1348: uint16(193), - 1349: uint16(140), - 1350: uint16(78), - 1351: uint16(63), - 1352: uint16(193), - 1353: uint16(81), - 1354: uint16(193), + 1342: uint16(12), + 1343: uint16(312), + 1344: uint16(254), + 1345: uint16(194), + 1346: uint16(262), + 1347: uint16(316), + 1348: uint16(209), + 1349: uint16(210), + 1350: uint16(266), + 1351: uint16(239), + 1352: uint16(194), + 1353: uint16(194), + 1354: uint16(108), 1355: uint16(36), - 1356: uint16(193), - 1357: uint16(216), - 1358: uint16(217), - 1359: uint16(193), - 1360: uint16(115), - 1361: uint16(193), - 1362: uint16(263), - 1363: uint16(193), - 1364: uint16(145), - 1365: uint16(268), - 1366: uint16(59), + 1356: uint16(85), + 1357: uint16(27), + 1358: uint16(19), + 1359: uint16(20), + 1360: uint16(265), + 1361: uint16(22), + 1362: uint16(183), + 1363: uint16(245), + 1364: uint16(144), + 1365: uint16(94), + 1366: uint16(25), 1367: uint16(48), - 1368: uint16(193), - 1369: uint16(193), - 1370: uint16(98), - 1371: uint16(193), - 1372: uint16(115), - 1373: uint16(193), - 1374: uint16(291), - 1375: uint16(216), + 1368: uint16(217), + 1369: uint16(218), + 1370: uint16(293), + 1371: uint16(194), + 1372: uint16(42), + 1373: uint16(270), + 1374: uint16(256), + 1375: uint16(36), 1376: uint16(217), - 1377: uint16(193), + 1377: uint16(218), 1378: uint16(59), - 1379: uint16(216), - 1380: uint16(217), - 1381: uint16(161), - 1382: uint16(216), - 1383: uint16(217), - 1384: uint16(216), - 1385: uint16(217), - 1386: uint16(216), - 1387: uint16(217), - 1388: uint16(131), - 1389: uint16(193), + 1379: uint16(194), + 1380: uint16(25), + 1381: uint16(135), + 1382: uint16(194), + 1383: uint16(115), + 1384: uint16(194), + 1385: uint16(161), + 1386: uint16(140), + 1387: uint16(194), + 1388: uint16(194), + 1389: uint16(15), 1390: uint16(71), - 1391: uint16(193), - 1392: uint16(216), - 1393: uint16(217), - 1394: uint16(216), - 1395: uint16(217), - 1396: uint16(216), - 1397: uint16(217), - 1398: uint16(193), - 1399: uint16(260), - 1400: uint16(216), - 1401: uint16(217), - 1402: uint16(19), - 1403: uint16(264), + 1391: uint16(194), + 1392: uint16(312), + 1393: uint16(63), + 1394: uint16(217), + 1395: uint16(218), + 1396: uint16(316), + 1397: uint16(194), + 1398: uint16(59), + 1399: uint16(131), + 1400: uint16(301), + 1401: uint16(302), + 1402: uint16(217), + 1403: uint16(218), 1404: uint16(85), - 1405: uint16(133), - 1406: uint16(244), - 1407: uint16(100), - 1408: uint16(193), + 1405: uint16(217), + 1406: uint16(218), + 1407: uint16(217), + 1408: uint16(218), 1409: uint16(90), - 1410: uint16(138), - 1411: uint16(139), - 1412: uint16(216), - 1413: uint16(217), - 1414: uint16(216), - 1415: uint16(217), - 1416: uint16(254), - 1417: uint16(244), - 1418: uint16(193), + 1410: uint16(71), + 1411: uint16(217), + 1412: uint16(218), + 1413: uint16(19), + 1414: uint16(217), + 1415: uint16(218), + 1416: uint16(245), + 1417: uint16(146), + 1418: uint16(262), 1419: uint16(100), - 1420: uint16(193), - 1421: uint16(216), - 1422: uint16(217), - 1423: uint16(116), - 1424: uint16(117), + 1420: uint16(217), + 1421: uint16(218), + 1422: uint16(266), + 1423: uint16(265), + 1424: uint16(85), 1425: uint16(106), 1426: uint16(107), - 1427: uint16(254), - 1428: uint16(121), - 1429: uint16(193), - 1430: uint16(115), - 1431: uint16(216), - 1432: uint16(217), + 1427: uint16(256), + 1428: uint16(312), + 1429: uint16(90), + 1430: uint16(209), + 1431: uint16(210), + 1432: uint16(316), 1433: uint16(114), - 1434: uint16(162), + 1434: uint16(60), 1435: uint16(116), 1436: uint16(117), 1437: uint16(118), - 1438: uint16(115), - 1439: uint16(244), + 1438: uint16(194), + 1439: uint16(100), 1440: uint16(121), - 1441: uint16(216), - 1442: uint16(217), - 1443: uint16(216), - 1444: uint16(217), - 1445: uint16(193), - 1446: uint16(309), - 1447: uint16(193), - 1448: uint16(31), - 1449: uint16(254), - 1450: uint16(313), - 1451: uint16(309), - 1452: uint16(216), - 1453: uint16(217), - 1454: uint16(309), - 1455: uint16(313), - 1456: uint16(39), - 1457: uint16(193), - 1458: uint16(313), - 1459: uint16(309), - 1460: uint16(153), - 1461: uint16(154), - 1462: uint16(155), - 1463: uint16(313), - 1464: uint16(193), - 1465: uint16(150), - 1466: uint16(25), - 1467: uint16(144), - 1468: uint16(216), - 1469: uint16(217), - 1470: uint16(216), - 1471: uint16(217), + 1441: uint16(194), + 1442: uint16(194), + 1443: uint16(145), + 1444: uint16(115), + 1445: uint16(106), + 1446: uint16(107), + 1447: uint16(19), + 1448: uint16(46), + 1449: uint16(19), + 1450: uint16(20), + 1451: uint16(24), + 1452: uint16(22), + 1453: uint16(114), + 1454: uint16(194), + 1455: uint16(116), + 1456: uint16(117), + 1457: uint16(118), + 1458: uint16(194), + 1459: uint16(245), + 1460: uint16(121), + 1461: uint16(194), + 1462: uint16(164), + 1463: uint16(194), + 1464: uint16(217), + 1465: uint16(218), + 1466: uint16(36), + 1467: uint16(194), + 1468: uint16(258), + 1469: uint16(259), + 1470: uint16(256), + 1471: uint16(194), 1472: uint16(153), 1473: uint16(154), 1474: uint16(155), 1475: uint16(156), 1476: uint16(157), - 1478: uint16(1), - 1479: uint16(2), - 1480: uint16(216), + 1477: uint16(217), + 1478: uint16(218), + 1479: uint16(150), + 1480: uint16(31), 1481: uint16(217), - 1482: uint16(5), - 1483: uint16(149), - 1484: uint16(150), - 1485: uint16(22), - 1486: uint16(193), - 1487: uint16(10), - 1488: uint16(11), - 1489: uint16(12), - 1490: uint16(13), - 1491: uint16(14), - 1492: uint16(193), - 1493: uint16(158), - 1494: uint16(17), - 1495: uint16(160), - 1496: uint16(193), - 1497: uint16(19), - 1498: uint16(20), - 1499: uint16(116), - 1500: uint16(22), - 1501: uint16(25), - 1502: uint16(193), - 1503: uint16(24), - 1504: uint16(22), - 1505: uint16(193), - 1506: uint16(24), - 1507: uint16(30), - 1508: uint16(226), - 1509: uint16(32), - 1510: uint16(19), - 1511: uint16(20), - 1512: uint16(226), - 1513: uint16(22), - 1514: uint16(36), - 1515: uint16(193), - 1516: uint16(53), - 1517: uint16(40), - 1518: uint16(193), - 1519: uint16(216), - 1520: uint16(217), - 1521: uint16(193), - 1522: uint16(23), - 1523: uint16(193), - 1524: uint16(25), - 1525: uint16(216), - 1526: uint16(217), - 1527: uint16(36), - 1528: uint16(216), - 1529: uint16(217), - 1530: uint16(193), - 1531: uint16(99), - 1532: uint16(193), - 1533: uint16(193), - 1534: uint16(22), - 1535: uint16(193), - 1536: uint16(193), - 1537: uint16(59), - 1538: uint16(216), + 1482: uint16(218), + 1483: uint16(142), + 1484: uint16(217), + 1485: uint16(218), + 1486: uint16(217), + 1487: uint16(218), + 1488: uint16(39), + 1489: uint16(59), + 1490: uint16(217), + 1491: uint16(218), + 1492: uint16(153), + 1493: uint16(154), + 1494: uint16(155), + 1495: uint16(156), + 1496: uint16(157), + 1497: uint16(149), + 1498: uint16(150), + 1499: uint16(5), + 1500: uint16(145), + 1501: uint16(71), + 1502: uint16(183), + 1503: uint16(245), + 1504: uint16(10), + 1505: uint16(11), + 1506: uint16(12), + 1507: uint16(13), + 1508: uint16(14), + 1509: uint16(194), + 1510: uint16(116), + 1511: uint16(17), + 1512: uint16(129), + 1513: uint16(227), + 1514: uint16(256), + 1515: uint16(85), + 1516: uint16(194), + 1517: uint16(115), + 1518: uint16(194), + 1519: uint16(23), + 1520: uint16(90), + 1521: uint16(25), + 1522: uint16(183), + 1523: uint16(99), + 1524: uint16(30), + 1525: uint16(97), + 1526: uint16(32), + 1527: uint16(22), + 1528: uint16(22), + 1529: uint16(194), + 1530: uint16(100), + 1531: uint16(194), + 1532: uint16(217), + 1533: uint16(218), + 1534: uint16(40), + 1535: uint16(152), + 1536: uint16(106), + 1537: uint16(107), + 1538: uint16(23), 1539: uint16(217), - 1540: uint16(193), - 1541: uint16(216), - 1542: uint16(217), - 1543: uint16(193), - 1544: uint16(216), - 1545: uint16(217), - 1546: uint16(193), - 1547: uint16(70), - 1548: uint16(129), - 1549: uint16(71), - 1550: uint16(59), - 1551: uint16(129), - 1552: uint16(193), - 1553: uint16(216), + 1540: uint16(218), + 1541: uint16(194), + 1542: uint16(19), + 1543: uint16(20), + 1544: uint16(114), + 1545: uint16(22), + 1546: uint16(116), + 1547: uint16(117), + 1548: uint16(118), + 1549: uint16(257), + 1550: uint16(194), + 1551: uint16(121), + 1552: uint16(217), + 1553: uint16(218), 1554: uint16(217), - 1555: uint16(78), - 1556: uint16(216), - 1557: uint16(217), - 1558: uint16(81), - 1559: uint16(216), - 1560: uint16(217), - 1561: uint16(193), - 1562: uint16(71), - 1563: uint16(85), - 1564: uint16(193), - 1565: uint16(133), - 1566: uint16(193), - 1567: uint16(126), - 1568: uint16(90), - 1569: uint16(216), - 1570: uint16(217), - 1571: uint16(152), - 1572: uint16(258), - 1573: uint16(61), - 1574: uint16(152), - 1575: uint16(98), - 1576: uint16(85), - 1577: uint16(193), - 1578: uint16(100), - 1579: uint16(193), - 1580: uint16(23), - 1581: uint16(90), - 1582: uint16(25), - 1583: uint16(121), - 1584: uint16(106), - 1585: uint16(107), - 1586: uint16(23), - 1587: uint16(216), - 1588: uint16(217), - 1589: uint16(216), - 1590: uint16(217), - 1591: uint16(100), - 1592: uint16(114), - 1593: uint16(131), - 1594: uint16(116), - 1595: uint16(117), - 1596: uint16(118), - 1597: uint16(106), - 1598: uint16(107), - 1599: uint16(121), - 1600: uint16(216), - 1601: uint16(217), - 1602: uint16(216), - 1603: uint16(217), - 1604: uint16(193), - 1605: uint16(114), - 1606: uint16(193), - 1607: uint16(116), - 1608: uint16(117), - 1609: uint16(118), - 1610: uint16(133), - 1611: uint16(22), - 1612: uint16(121), - 1613: uint16(193), - 1614: uint16(59), - 1615: uint16(138), - 1616: uint16(139), - 1617: uint16(193), - 1618: uint16(142), - 1619: uint16(193), - 1620: uint16(141), - 1621: uint16(23), - 1622: uint16(23), - 1623: uint16(25), - 1624: uint16(25), - 1625: uint16(120), - 1626: uint16(121), - 1627: uint16(216), - 1628: uint16(217), - 1629: uint16(216), - 1630: uint16(217), - 1631: uint16(153), - 1632: uint16(154), - 1633: uint16(155), - 1634: uint16(156), - 1635: uint16(157), - 1636: uint16(216), - 1637: uint16(217), - 1638: uint16(19), - 1639: uint16(162), - 1640: uint16(216), - 1641: uint16(217), - 1642: uint16(216), - 1643: uint16(217), - 1644: uint16(153), - 1645: uint16(154), - 1646: uint16(155), - 1647: uint16(156), - 1648: uint16(157), - 1649: uint16(1), - 1650: uint16(2), - 1651: uint16(193), - 1652: uint16(59), - 1653: uint16(5), - 1654: uint16(19), - 1655: uint16(20), - 1656: uint16(318), - 1657: uint16(22), - 1658: uint16(10), - 1659: uint16(11), - 1660: uint16(12), - 1661: uint16(13), - 1662: uint16(14), - 1663: uint16(193), - 1664: uint16(59), - 1665: uint16(17), - 1666: uint16(193), - 1667: uint16(23), - 1668: uint16(23), - 1669: uint16(25), - 1670: uint16(25), - 1671: uint16(36), - 1672: uint16(117), - 1673: uint16(193), - 1674: uint16(216), - 1675: uint16(217), - 1676: uint16(193), - 1677: uint16(23), - 1678: uint16(30), - 1679: uint16(25), - 1680: uint16(32), - 1681: uint16(19), - 1682: uint16(20), - 1683: uint16(23), - 1684: uint16(22), - 1685: uint16(25), - 1686: uint16(216), - 1687: uint16(217), - 1688: uint16(40), - 1689: uint16(216), + 1555: uint16(218), + 1556: uint16(194), + 1557: uint16(133), + 1558: uint16(53), + 1559: uint16(36), + 1560: uint16(23), + 1561: uint16(23), + 1562: uint16(25), + 1563: uint16(25), + 1564: uint16(70), + 1565: uint16(120), + 1566: uint16(121), + 1567: uint16(61), + 1568: uint16(141), + 1569: uint16(7), + 1570: uint16(8), + 1571: uint16(121), + 1572: uint16(78), + 1573: uint16(217), + 1574: uint16(218), + 1575: uint16(81), + 1576: uint16(23), + 1577: uint16(227), + 1578: uint16(25), + 1579: uint16(217), + 1580: uint16(218), + 1581: uint16(131), + 1582: uint16(59), + 1583: uint16(153), + 1584: uint16(154), + 1585: uint16(155), + 1586: uint16(156), + 1587: uint16(157), + 1589: uint16(1), + 1590: uint16(2), + 1591: uint16(59), + 1592: uint16(98), + 1593: uint16(5), + 1594: uint16(71), + 1595: uint16(23), + 1596: uint16(227), + 1597: uint16(25), + 1598: uint16(10), + 1599: uint16(11), + 1600: uint16(12), + 1601: uint16(13), + 1602: uint16(14), + 1603: uint16(83), + 1604: uint16(84), + 1605: uint16(17), + 1606: uint16(23), + 1607: uint16(23), + 1608: uint16(25), + 1609: uint16(25), + 1610: uint16(59), + 1611: uint16(194), + 1612: uint16(194), + 1613: uint16(183), + 1614: uint16(23), + 1615: uint16(23), + 1616: uint16(25), + 1617: uint16(25), + 1618: uint16(30), + 1619: uint16(194), + 1620: uint16(32), + 1621: uint16(19), + 1622: uint16(20), + 1623: uint16(100), + 1624: uint16(22), + 1625: uint16(194), + 1626: uint16(194), + 1627: uint16(133), + 1628: uint16(40), + 1629: uint16(106), + 1630: uint16(107), + 1631: uint16(108), + 1632: uint16(138), + 1633: uint16(139), + 1634: uint16(194), + 1635: uint16(217), + 1636: uint16(218), + 1637: uint16(114), + 1638: uint16(36), + 1639: uint16(116), + 1640: uint16(117), + 1641: uint16(118), + 1642: uint16(217), + 1643: uint16(218), + 1644: uint16(121), + 1645: uint16(194), + 1646: uint16(194), + 1647: uint16(194), + 1648: uint16(23), + 1649: uint16(117), + 1650: uint16(25), + 1651: uint16(194), + 1652: uint16(23), + 1653: uint16(23), + 1654: uint16(25), + 1655: uint16(25), + 1656: uint16(162), + 1657: uint16(194), + 1658: uint16(70), + 1659: uint16(194), + 1660: uint16(145), + 1661: uint16(59), + 1662: uint16(23), + 1663: uint16(153), + 1664: uint16(25), + 1665: uint16(155), + 1666: uint16(78), + 1667: uint16(194), + 1668: uint16(117), + 1669: uint16(81), + 1670: uint16(217), + 1671: uint16(218), + 1672: uint16(194), + 1673: uint16(71), + 1674: uint16(217), + 1675: uint16(218), + 1676: uint16(153), + 1677: uint16(154), + 1678: uint16(155), + 1679: uint16(156), + 1680: uint16(157), + 1681: uint16(194), + 1682: uint16(217), + 1683: uint16(218), + 1684: uint16(194), + 1685: uint16(23), + 1686: uint16(98), + 1687: uint16(25), + 1688: uint16(321), + 1689: uint16(194), 1690: uint16(217), - 1691: uint16(7), - 1692: uint16(8), - 1693: uint16(23), - 1694: uint16(59), - 1695: uint16(25), - 1696: uint16(83), - 1697: uint16(84), - 1698: uint16(36), - 1699: uint16(23), - 1700: uint16(193), - 1701: uint16(25), - 1702: uint16(23), - 1703: uint16(23), - 1704: uint16(25), - 1705: uint16(25), - 1706: uint16(71), - 1707: uint16(153), - 1708: uint16(145), - 1709: uint16(155), - 1710: uint16(117), - 1711: uint16(153), - 1712: uint16(23), - 1713: uint16(155), - 1714: uint16(25), - 1715: uint16(23), - 1716: uint16(97), - 1717: uint16(25), - 1718: uint16(70), - 1719: uint16(193), - 1720: uint16(193), - 1721: uint16(59), - 1722: uint16(117), - 1723: uint16(236), - 1724: uint16(193), - 1725: uint16(193), - 1726: uint16(78), - 1727: uint16(193), - 1728: uint16(193), - 1729: uint16(81), - 1730: uint16(141), - 1731: uint16(193), - 1732: uint16(193), - 1733: uint16(71), - 1734: uint16(193), - 1735: uint16(100), - 1736: uint16(288), - 1737: uint16(287), - 1738: uint16(242), - 1739: uint16(255), - 1740: uint16(255), - 1741: uint16(106), - 1742: uint16(107), - 1743: uint16(108), - 1744: uint16(255), - 1745: uint16(255), - 1746: uint16(98), - 1747: uint16(243), - 1748: uint16(297), - 1749: uint16(114), - 1750: uint16(214), - 1751: uint16(116), - 1752: uint16(117), - 1753: uint16(118), - 1754: uint16(245), - 1755: uint16(191), - 1756: uint16(121), - 1757: uint16(271), - 1758: uint16(293), - 1759: uint16(267), - 1760: uint16(267), - 1761: uint16(246), - 1762: uint16(100), - 1763: uint16(246), - 1764: uint16(245), - 1765: uint16(271), - 1766: uint16(271), - 1767: uint16(293), - 1768: uint16(106), - 1769: uint16(107), - 1770: uint16(220), - 1771: uint16(271), - 1772: uint16(229), - 1773: uint16(225), - 1774: uint16(249), - 1775: uint16(219), - 1776: uint16(114), - 1777: uint16(259), - 1778: uint16(116), - 1779: uint16(117), - 1780: uint16(118), - 1781: uint16(133), - 1782: uint16(259), - 1783: uint16(121), - 1784: uint16(219), - 1785: uint16(219), - 1786: uint16(138), - 1787: uint16(139), - 1788: uint16(153), - 1789: uint16(154), - 1790: uint16(155), - 1791: uint16(156), - 1792: uint16(157), - 1793: uint16(280), - 1794: uint16(249), - 1795: uint16(243), - 1796: uint16(19), - 1797: uint16(20), - 1798: uint16(245), - 1799: uint16(22), - 1800: uint16(196), - 1801: uint16(259), - 1802: uint16(140), - 1803: uint16(259), - 1804: uint16(60), - 1805: uint16(297), - 1806: uint16(141), - 1807: uint16(297), - 1808: uint16(200), - 1809: uint16(200), - 1810: uint16(162), - 1811: uint16(38), - 1812: uint16(200), - 1813: uint16(36), - 1814: uint16(294), - 1815: uint16(153), - 1816: uint16(154), - 1817: uint16(155), - 1818: uint16(156), - 1819: uint16(157), - 1820: uint16(151), - 1821: uint16(150), - 1822: uint16(294), - 1823: uint16(283), - 1824: uint16(22), - 1825: uint16(43), - 1826: uint16(234), - 1827: uint16(18), - 1828: uint16(237), - 1829: uint16(200), - 1830: uint16(270), - 1831: uint16(272), - 1832: uint16(237), - 1833: uint16(237), - 1834: uint16(237), - 1835: uint16(18), - 1836: uint16(59), - 1837: uint16(199), - 1838: uint16(270), - 1839: uint16(149), - 1840: uint16(246), - 1841: uint16(272), - 1842: uint16(272), - 1843: uint16(200), - 1844: uint16(234), - 1845: uint16(234), - 1846: uint16(246), - 1847: uint16(246), - 1848: uint16(71), - 1849: uint16(246), - 1850: uint16(199), - 1851: uint16(158), - 1852: uint16(290), - 1853: uint16(62), - 1854: uint16(22), - 1855: uint16(200), - 1856: uint16(19), - 1857: uint16(20), - 1858: uint16(199), - 1859: uint16(22), - 1860: uint16(289), - 1861: uint16(221), - 1862: uint16(221), - 1863: uint16(200), - 1864: uint16(200), - 1865: uint16(199), - 1866: uint16(199), - 1867: uint16(115), - 1868: uint16(218), - 1869: uint16(64), - 1870: uint16(218), - 1871: uint16(218), + 1691: uint16(218), + 1692: uint16(194), + 1693: uint16(19), + 1694: uint16(20), + 1695: uint16(194), + 1696: uint16(22), + 1697: uint16(153), + 1698: uint16(23), + 1699: uint16(155), + 1700: uint16(25), + 1701: uint16(194), + 1702: uint16(100), + 1703: uint16(194), + 1704: uint16(217), + 1705: uint16(218), + 1706: uint16(183), + 1707: uint16(194), + 1708: uint16(106), + 1709: uint16(107), + 1710: uint16(36), + 1711: uint16(194), + 1712: uint16(217), + 1713: uint16(218), + 1714: uint16(237), + 1715: uint16(194), + 1716: uint16(114), + 1717: uint16(243), + 1718: uint16(116), + 1719: uint16(117), + 1720: uint16(118), + 1721: uint16(133), + 1722: uint16(194), + 1723: uint16(121), + 1724: uint16(217), + 1725: uint16(218), + 1726: uint16(138), + 1727: uint16(139), + 1728: uint16(194), + 1729: uint16(194), + 1730: uint16(194), + 1731: uint16(290), + 1732: uint16(289), + 1733: uint16(59), + 1734: uint16(217), + 1735: uint16(218), + 1736: uint16(194), + 1737: uint16(194), + 1738: uint16(217), + 1739: uint16(218), + 1740: uint16(194), + 1741: uint16(194), + 1742: uint16(140), + 1743: uint16(194), + 1744: uint16(194), + 1745: uint16(71), + 1746: uint16(194), + 1747: uint16(244), + 1748: uint16(194), + 1749: uint16(194), + 1750: uint16(162), + 1751: uint16(217), + 1752: uint16(218), + 1753: uint16(194), + 1754: uint16(194), + 1755: uint16(153), + 1756: uint16(154), + 1757: uint16(155), + 1758: uint16(156), + 1759: uint16(157), + 1760: uint16(217), + 1761: uint16(218), + 1762: uint16(194), + 1763: uint16(217), + 1764: uint16(218), + 1765: uint16(194), + 1766: uint16(217), + 1767: uint16(218), + 1768: uint16(257), + 1769: uint16(217), + 1770: uint16(218), + 1771: uint16(217), + 1772: uint16(218), + 1773: uint16(257), + 1774: uint16(100), + 1775: uint16(194), + 1776: uint16(257), + 1777: uint16(217), + 1778: uint16(218), + 1779: uint16(257), + 1780: uint16(106), + 1781: uint16(107), + 1782: uint16(215), + 1783: uint16(299), + 1784: uint16(194), + 1785: uint16(183), + 1786: uint16(192), + 1787: uint16(194), + 1788: uint16(114), + 1789: uint16(194), + 1790: uint16(116), + 1791: uint16(117), + 1792: uint16(118), + 1793: uint16(1), + 1794: uint16(2), + 1795: uint16(121), + 1796: uint16(221), + 1797: uint16(5), + 1798: uint16(217), + 1799: uint16(218), + 1800: uint16(273), + 1801: uint16(197), + 1802: uint16(10), + 1803: uint16(11), + 1804: uint16(12), + 1805: uint16(13), + 1806: uint16(14), + 1807: uint16(217), + 1808: uint16(218), + 1809: uint16(17), + 1810: uint16(217), + 1811: uint16(218), + 1812: uint16(217), + 1813: uint16(218), + 1814: uint16(140), + 1815: uint16(194), + 1816: uint16(246), + 1817: uint16(194), + 1818: uint16(273), + 1819: uint16(295), + 1820: uint16(247), + 1821: uint16(273), + 1822: uint16(30), + 1823: uint16(247), + 1824: uint16(32), + 1825: uint16(269), + 1826: uint16(269), + 1827: uint16(153), + 1828: uint16(154), + 1829: uint16(155), + 1830: uint16(156), + 1831: uint16(157), + 1832: uint16(40), + 1833: uint16(246), + 1834: uint16(273), + 1835: uint16(295), + 1836: uint16(230), + 1837: uint16(226), + 1838: uint16(217), + 1839: uint16(218), + 1840: uint16(217), + 1841: uint16(218), + 1842: uint16(220), + 1843: uint16(261), + 1844: uint16(220), + 1845: uint16(282), + 1846: uint16(220), + 1847: uint16(19), + 1848: uint16(20), + 1849: uint16(244), + 1850: uint16(22), + 1851: uint16(250), + 1852: uint16(141), + 1853: uint16(250), + 1854: uint16(246), + 1855: uint16(60), + 1856: uint16(201), + 1857: uint16(183), + 1858: uint16(261), + 1859: uint16(261), + 1860: uint16(261), + 1861: uint16(201), + 1862: uint16(70), + 1863: uint16(299), + 1864: uint16(36), + 1865: uint16(299), + 1866: uint16(201), + 1867: uint16(38), + 1868: uint16(151), + 1869: uint16(150), + 1870: uint16(78), + 1871: uint16(285), 1872: uint16(22), - 1873: uint16(36), - 1874: uint16(227), - 1875: uint16(126), - 1876: uint16(227), - 1877: uint16(100), - 1878: uint16(165), - 1879: uint16(221), - 1880: uint16(224), - 1881: uint16(224), - 1882: uint16(24), - 1883: uint16(106), - 1884: uint16(107), - 1885: uint16(312), - 1886: uint16(218), - 1887: uint16(305), - 1888: uint16(113), - 1889: uint16(282), - 1890: uint16(91), - 1891: uint16(114), - 1892: uint16(220), - 1893: uint16(116), - 1894: uint16(117), - 1895: uint16(118), - 1896: uint16(59), - 1897: uint16(282), - 1898: uint16(121), - 1899: uint16(218), - 1900: uint16(218), - 1901: uint16(218), + 1873: uint16(81), + 1874: uint16(296), + 1875: uint16(296), + 1876: uint16(43), + 1877: uint16(235), + 1878: uint16(18), + 1879: uint16(238), + 1880: uint16(201), + 1881: uint16(274), + 1882: uint16(272), + 1883: uint16(238), + 1884: uint16(238), + 1885: uint16(238), + 1886: uint16(18), + 1887: uint16(59), + 1888: uint16(200), + 1889: uint16(149), + 1890: uint16(98), + 1891: uint16(247), + 1892: uint16(274), + 1893: uint16(274), + 1894: uint16(235), + 1895: uint16(247), + 1896: uint16(247), + 1897: uint16(247), + 1898: uint16(235), + 1899: uint16(71), + 1900: uint16(272), + 1901: uint16(201), 1902: uint16(200), - 1903: uint16(317), - 1904: uint16(317), - 1905: uint16(82), - 1906: uint16(221), - 1907: uint16(265), - 1908: uint16(71), - 1909: uint16(148), - 1910: uint16(145), - 1911: uint16(265), - 1912: uint16(22), - 1913: uint16(277), - 1914: uint16(200), - 1915: uint16(158), - 1916: uint16(279), - 1917: uint16(140), - 1918: uint16(147), - 1919: uint16(25), - 1920: uint16(146), - 1921: uint16(202), - 1922: uint16(248), - 1923: uint16(250), - 1924: uint16(249), - 1925: uint16(247), - 1926: uint16(13), - 1927: uint16(250), - 1928: uint16(194), - 1929: uint16(194), - 1930: uint16(153), - 1931: uint16(154), - 1932: uint16(155), - 1933: uint16(156), - 1934: uint16(157), - 1935: uint16(6), - 1936: uint16(303), - 1937: uint16(100), - 1938: uint16(192), - 1939: uint16(192), - 1940: uint16(246), - 1941: uint16(213), - 1942: uint16(192), - 1943: uint16(106), - 1944: uint16(107), - 1945: uint16(207), - 1946: uint16(213), - 1947: uint16(207), - 1948: uint16(222), - 1949: uint16(213), - 1950: uint16(213), - 1951: uint16(114), - 1952: uint16(222), - 1953: uint16(116), - 1954: uint16(117), - 1955: uint16(118), - 1956: uint16(214), - 1957: uint16(214), - 1958: uint16(121), - 1959: uint16(4), - 1960: uint16(207), - 1961: uint16(213), - 1962: uint16(3), - 1963: uint16(22), - 1964: uint16(303), - 1965: uint16(15), - 1966: uint16(163), - 1967: uint16(16), - 1968: uint16(23), - 1969: uint16(23), - 1970: uint16(139), - 1971: uint16(151), - 1972: uint16(130), - 1973: uint16(25), - 1974: uint16(20), - 1975: uint16(142), - 1976: uint16(24), - 1977: uint16(16), - 1978: uint16(144), - 1979: uint16(1), - 1980: uint16(142), - 1981: uint16(130), - 1982: uint16(130), - 1983: uint16(61), - 1984: uint16(37), - 1985: uint16(53), - 1986: uint16(300), - 1987: uint16(151), - 1988: uint16(53), - 1989: uint16(53), - 1990: uint16(153), - 1991: uint16(154), - 1992: uint16(155), - 1993: uint16(156), - 1994: uint16(157), - 1995: uint16(53), - 1996: uint16(130), - 1997: uint16(116), - 1998: uint16(34), - 1999: uint16(1), - 2000: uint16(141), - 2001: uint16(5), - 2002: uint16(22), - 2003: uint16(115), - 2004: uint16(161), - 2005: uint16(68), - 2006: uint16(25), - 2007: uint16(68), - 2008: uint16(75), - 2009: uint16(41), - 2010: uint16(141), - 2011: uint16(115), - 2012: uint16(24), - 2013: uint16(20), - 2014: uint16(19), - 2015: uint16(131), - 2016: uint16(125), - 2017: uint16(23), - 2018: uint16(28), - 2019: uint16(22), - 2020: uint16(67), - 2021: uint16(22), - 2022: uint16(22), - 2023: uint16(22), - 2024: uint16(67), - 2025: uint16(59), - 2026: uint16(24), - 2027: uint16(96), - 2028: uint16(22), - 2029: uint16(67), - 2030: uint16(23), - 2031: uint16(149), - 2032: uint16(22), - 2033: uint16(25), - 2034: uint16(23), - 2035: uint16(23), - 2036: uint16(23), - 2037: uint16(22), - 2038: uint16(34), - 2039: uint16(141), - 2040: uint16(37), - 2041: uint16(97), - 2042: uint16(23), - 2043: uint16(23), - 2044: uint16(116), - 2045: uint16(22), - 2046: uint16(143), - 2047: uint16(25), - 2048: uint16(34), - 2049: uint16(75), - 2050: uint16(34), - 2051: uint16(34), - 2052: uint16(34), - 2053: uint16(88), - 2054: uint16(75), - 2055: uint16(34), - 2056: uint16(86), - 2057: uint16(23), + 1903: uint16(158), + 1904: uint16(292), + 1905: uint16(62), + 1906: uint16(291), + 1907: uint16(201), + 1908: uint16(200), + 1909: uint16(22), + 1910: uint16(201), + 1911: uint16(222), + 1912: uint16(200), + 1913: uint16(222), + 1914: uint16(201), + 1915: uint16(200), + 1916: uint16(115), + 1917: uint16(219), + 1918: uint16(219), + 1919: uint16(64), + 1920: uint16(219), + 1921: uint16(228), + 1922: uint16(22), + 1923: uint16(126), + 1924: uint16(221), + 1925: uint16(133), + 1926: uint16(165), + 1927: uint16(222), + 1928: uint16(100), + 1929: uint16(225), + 1930: uint16(138), + 1931: uint16(139), + 1932: uint16(225), + 1933: uint16(219), + 1934: uint16(106), + 1935: uint16(107), + 1936: uint16(24), + 1937: uint16(219), + 1938: uint16(228), + 1939: uint16(219), + 1940: uint16(219), + 1941: uint16(307), + 1942: uint16(114), + 1943: uint16(113), + 1944: uint16(116), + 1945: uint16(117), + 1946: uint16(118), + 1947: uint16(315), + 1948: uint16(284), + 1949: uint16(121), + 1950: uint16(284), + 1951: uint16(222), + 1952: uint16(201), + 1953: uint16(91), + 1954: uint16(162), + 1955: uint16(320), + 1956: uint16(320), + 1957: uint16(82), + 1958: uint16(148), + 1959: uint16(267), + 1960: uint16(145), + 1961: uint16(267), + 1962: uint16(22), + 1963: uint16(279), + 1964: uint16(201), + 1965: uint16(158), + 1966: uint16(281), + 1967: uint16(251), + 1968: uint16(147), + 1969: uint16(146), + 1970: uint16(25), + 1971: uint16(203), + 1972: uint16(250), + 1973: uint16(249), + 1974: uint16(251), + 1975: uint16(248), + 1976: uint16(13), + 1977: uint16(247), + 1978: uint16(195), + 1979: uint16(195), + 1980: uint16(6), + 1981: uint16(153), + 1982: uint16(154), + 1983: uint16(155), + 1984: uint16(156), + 1985: uint16(157), + 1986: uint16(193), + 1987: uint16(193), + 1988: uint16(305), + 1989: uint16(193), + 1990: uint16(208), + 1991: uint16(305), + 1992: uint16(302), + 1993: uint16(214), + 1994: uint16(214), + 1995: uint16(214), + 1996: uint16(208), + 1997: uint16(223), + 1998: uint16(223), + 1999: uint16(214), + 2000: uint16(4), + 2001: uint16(215), + 2002: uint16(215), + 2003: uint16(214), + 2004: uint16(3), + 2005: uint16(22), + 2006: uint16(208), + 2007: uint16(163), + 2008: uint16(15), + 2009: uint16(23), + 2010: uint16(16), + 2011: uint16(183), + 2012: uint16(23), + 2013: uint16(139), + 2014: uint16(151), + 2015: uint16(130), + 2016: uint16(25), + 2017: uint16(20), + 2018: uint16(142), + 2019: uint16(24), + 2020: uint16(16), + 2021: uint16(144), + 2022: uint16(1), + 2023: uint16(142), + 2024: uint16(130), + 2025: uint16(130), + 2026: uint16(61), + 2027: uint16(37), + 2028: uint16(53), + 2029: uint16(151), + 2030: uint16(53), + 2031: uint16(53), + 2032: uint16(53), + 2033: uint16(130), + 2034: uint16(116), + 2035: uint16(1), + 2036: uint16(34), + 2037: uint16(141), + 2038: uint16(5), + 2039: uint16(22), + 2040: uint16(115), + 2041: uint16(161), + 2042: uint16(75), + 2043: uint16(25), + 2044: uint16(68), + 2045: uint16(141), + 2046: uint16(41), + 2047: uint16(115), + 2048: uint16(68), + 2049: uint16(24), + 2050: uint16(20), + 2051: uint16(19), + 2052: uint16(131), + 2053: uint16(125), + 2054: uint16(67), + 2055: uint16(67), + 2056: uint16(96), + 2057: uint16(22), 2058: uint16(22), - 2059: uint16(34), - 2060: uint16(93), - 2061: uint16(24), - 2062: uint16(34), - 2063: uint16(25), - 2064: uint16(25), - 2065: uint16(142), - 2066: uint16(142), + 2059: uint16(22), + 2060: uint16(37), + 2061: uint16(23), + 2062: uint16(22), + 2063: uint16(24), + 2064: uint16(22), + 2065: uint16(59), + 2066: uint16(67), 2067: uint16(23), - 2068: uint16(44), - 2069: uint16(23), - 2070: uint16(23), - 2071: uint16(23), + 2068: uint16(149), + 2069: uint16(28), + 2070: uint16(22), + 2071: uint16(25), 2072: uint16(23), - 2073: uint16(11), + 2073: uint16(23), 2074: uint16(23), - 2075: uint16(25), - 2076: uint16(22), - 2077: uint16(22), - 2078: uint16(22), - 2079: uint16(141), + 2075: uint16(22), + 2076: uint16(141), + 2077: uint16(34), + 2078: uint16(97), + 2079: uint16(23), 2080: uint16(23), - 2081: uint16(23), - 2082: uint16(22), + 2081: uint16(34), + 2082: uint16(116), 2083: uint16(22), - 2084: uint16(25), - 2085: uint16(15), - 2086: uint16(1), - 2087: uint16(23), - 2088: uint16(25), - 2089: uint16(1), - 2090: uint16(141), - 2091: uint16(135), - 2092: uint16(319), - 2093: uint16(319), - 2094: uint16(319), - 2095: uint16(319), - 2096: uint16(319), - 2097: uint16(319), - 2098: uint16(319), - 2099: uint16(141), - 2100: uint16(319), - 2101: uint16(319), - 2102: uint16(319), - 2103: uint16(319), - 2104: uint16(319), - 2105: uint16(319), - 2106: uint16(319), - 2107: uint16(319), - 2108: uint16(319), - 2109: uint16(319), - 2110: uint16(319), - 2111: uint16(319), - 2112: uint16(319), - 2113: uint16(319), - 2114: uint16(319), - 2115: uint16(319), - 2116: uint16(319), - 2117: uint16(319), - 2118: uint16(319), - 2119: uint16(319), - 2120: uint16(319), - 2121: uint16(319), - 2122: uint16(319), - 2123: uint16(319), - 2124: uint16(319), - 2125: uint16(319), - 2126: uint16(319), - 2127: uint16(319), - 2128: uint16(319), - 2129: uint16(319), - 2130: uint16(319), - 2131: uint16(319), - 2132: uint16(319), - 2133: uint16(319), - 2134: uint16(319), - 2135: uint16(319), - 2136: uint16(319), - 2137: uint16(319), - 2138: uint16(319), - 2139: uint16(319), - 2140: uint16(319), - 2141: uint16(319), - 2142: uint16(319), - 2143: uint16(319), - 2144: uint16(319), - 2145: uint16(319), - 2146: uint16(319), - 2147: uint16(319), - 2148: uint16(319), - 2149: uint16(319), - 2150: uint16(319), - 2151: uint16(319), - 2152: uint16(319), - 2153: uint16(319), - 2154: uint16(319), - 2155: uint16(319), - 2156: uint16(319), - 2157: uint16(319), - 2158: uint16(319), - 2159: uint16(319), - 2160: uint16(319), - 2161: uint16(319), - 2162: uint16(319), - 2163: uint16(319), - 2164: uint16(319), - 2165: uint16(319), - 2166: uint16(319), - 2167: uint16(319), - 2168: uint16(319), - 2169: uint16(319), - 2170: uint16(319), - 2171: uint16(319), - 2172: uint16(319), - 2173: uint16(319), - 2174: uint16(319), - 2175: uint16(319), - 2176: uint16(319), - 2177: uint16(319), - 2178: uint16(319), - 2179: uint16(319), - 2180: uint16(319), - 2181: uint16(319), - 2182: uint16(319), - 2183: uint16(319), - 2184: uint16(319), - 2185: uint16(319), - 2186: uint16(319), - 2187: uint16(319), - 2188: uint16(319), - 2189: uint16(319), - 2190: uint16(319), - 2191: uint16(319), - 2192: uint16(319), - 2193: uint16(319), - 2194: uint16(319), - 2195: uint16(319), - 2196: uint16(319), - 2197: uint16(319), - 2198: uint16(319), - 2199: uint16(319), - 2200: uint16(319), - 2201: uint16(319), - 2202: uint16(319), - 2203: uint16(319), - 2204: uint16(319), - 2205: uint16(319), - 2206: uint16(319), - 2207: uint16(319), - 2208: uint16(319), - 2209: uint16(319), - 2210: uint16(319), - 2211: uint16(319), - 2212: uint16(319), - 2213: uint16(319), - 2214: uint16(319), - 2215: uint16(319), - 2216: uint16(319), - 2217: uint16(319), - 2218: uint16(319), - 2219: uint16(319), - 2220: uint16(319), - 2221: uint16(319), - 2222: uint16(319), - 2223: uint16(319), - 2224: uint16(319), - 2225: uint16(319), - 2226: uint16(319), - 2227: uint16(319), - 2228: uint16(319), - 2229: uint16(319), - 2230: uint16(319), - 2231: uint16(319), - 2232: uint16(319), - 2233: uint16(319), - 2234: uint16(319), - 2235: uint16(319), - 2236: uint16(319), - 2237: uint16(319), - 2238: uint16(319), - 2239: uint16(319), - 2240: uint16(319), - 2241: uint16(319), - 2242: uint16(319), - 2243: uint16(319), - 2244: uint16(319), - 2245: uint16(319), - 2246: uint16(319), - 2247: uint16(319), - 2248: uint16(319), - 2249: uint16(319), - 2250: uint16(319), - 2251: uint16(319), - 2252: uint16(319), - 2253: uint16(319), - 2254: uint16(319), - 2255: uint16(319), - 2256: uint16(319), - 2257: uint16(319), - 2258: uint16(319), - 2259: uint16(319), - 2260: uint16(319), - 2261: uint16(319), - 2262: uint16(319), - 2263: uint16(319), - 2264: uint16(319), - 2265: uint16(319), - 2266: uint16(319), - 2267: uint16(319), - 2268: uint16(319), - 2269: uint16(319), - 2270: uint16(319), - 2271: uint16(319), - 2272: uint16(319), - 2273: uint16(319), - 2274: uint16(319), - 2275: uint16(319), - 2276: uint16(319), - 2277: uint16(319), - 2278: uint16(319), - 2279: uint16(319), - 2280: uint16(319), - 2281: uint16(319), - 2282: uint16(319), - 2283: uint16(319), - 2284: uint16(319), -} -var _yy_shift_ofst = [579]uint16{ - 0: uint16(1648), - 1: uint16(1477), - 2: uint16(1272), + 2084: uint16(143), + 2085: uint16(25), + 2086: uint16(34), + 2087: uint16(75), + 2088: uint16(34), + 2089: uint16(34), + 2090: uint16(75), + 2091: uint16(88), + 2092: uint16(34), + 2093: uint16(86), + 2094: uint16(23), + 2095: uint16(22), + 2096: uint16(34), + 2097: uint16(25), + 2098: uint16(24), + 2099: uint16(34), + 2100: uint16(25), + 2101: uint16(93), + 2102: uint16(23), + 2103: uint16(44), + 2104: uint16(142), + 2105: uint16(23), + 2106: uint16(142), + 2107: uint16(23), + 2108: uint16(23), + 2109: uint16(22), + 2110: uint16(11), + 2111: uint16(25), + 2112: uint16(23), + 2113: uint16(25), + 2114: uint16(23), + 2115: uint16(22), + 2116: uint16(22), + 2117: uint16(22), + 2118: uint16(1), + 2119: uint16(23), + 2120: uint16(23), + 2121: uint16(23), + 2122: uint16(22), + 2123: uint16(22), + 2124: uint16(15), + 2125: uint16(141), + 2126: uint16(141), + 2127: uint16(25), + 2128: uint16(25), + 2129: uint16(1), + 2130: uint16(322), + 2131: uint16(322), + 2132: uint16(322), + 2133: uint16(135), + 2134: uint16(322), + 2135: uint16(322), + 2136: uint16(322), + 2137: uint16(322), + 2138: uint16(322), + 2139: uint16(322), + 2140: uint16(322), + 2141: uint16(141), + 2142: uint16(322), + 2143: uint16(322), + 2144: uint16(322), + 2145: uint16(322), + 2146: uint16(322), + 2147: uint16(322), + 2148: uint16(322), + 2149: uint16(322), + 2150: uint16(322), + 2151: uint16(322), + 2152: uint16(322), + 2153: uint16(322), + 2154: uint16(322), + 2155: uint16(322), + 2156: uint16(322), + 2157: uint16(322), + 2158: uint16(322), + 2159: uint16(322), + 2160: uint16(322), + 2161: uint16(322), + 2162: uint16(322), + 2163: uint16(322), + 2164: uint16(322), + 2165: uint16(322), + 2166: uint16(322), + 2167: uint16(322), + 2168: uint16(322), + 2169: uint16(322), + 2170: uint16(322), + 2171: uint16(322), + 2172: uint16(322), + 2173: uint16(322), + 2174: uint16(322), + 2175: uint16(322), + 2176: uint16(322), + 2177: uint16(322), + 2178: uint16(322), + 2179: uint16(322), + 2180: uint16(322), + 2181: uint16(322), + 2182: uint16(322), + 2183: uint16(322), + 2184: uint16(322), + 2185: uint16(322), + 2186: uint16(322), + 2187: uint16(322), + 2188: uint16(322), + 2189: uint16(322), + 2190: uint16(322), + 2191: uint16(322), + 2192: uint16(322), + 2193: uint16(322), + 2194: uint16(322), + 2195: uint16(322), + 2196: uint16(322), + 2197: uint16(322), + 2198: uint16(322), + 2199: uint16(322), + 2200: uint16(322), + 2201: uint16(322), + 2202: uint16(322), + 2203: uint16(322), + 2204: uint16(322), + 2205: uint16(322), + 2206: uint16(322), + 2207: uint16(322), + 2208: uint16(322), + 2209: uint16(322), + 2210: uint16(322), + 2211: uint16(322), + 2212: uint16(322), + 2213: uint16(322), + 2214: uint16(322), + 2215: uint16(322), + 2216: uint16(322), + 2217: uint16(322), + 2218: uint16(322), + 2219: uint16(322), + 2220: uint16(322), + 2221: uint16(322), + 2222: uint16(322), + 2223: uint16(322), + 2224: uint16(322), + 2225: uint16(322), + 2226: uint16(322), + 2227: uint16(322), + 2228: uint16(322), + 2229: uint16(322), + 2230: uint16(322), + 2231: uint16(322), + 2232: uint16(322), + 2233: uint16(322), + 2234: uint16(322), + 2235: uint16(322), + 2236: uint16(322), + 2237: uint16(322), + 2238: uint16(322), + 2239: uint16(322), + 2240: uint16(322), + 2241: uint16(322), + 2242: uint16(322), + 2243: uint16(322), + 2244: uint16(322), + 2245: uint16(322), + 2246: uint16(322), + 2247: uint16(322), + 2248: uint16(322), + 2249: uint16(322), + 2250: uint16(322), + 2251: uint16(322), + 2252: uint16(322), + 2253: uint16(322), + 2254: uint16(322), + 2255: uint16(322), + 2256: uint16(322), + 2257: uint16(322), + 2258: uint16(322), + 2259: uint16(322), + 2260: uint16(322), + 2261: uint16(322), + 2262: uint16(322), + 2263: uint16(322), + 2264: uint16(322), + 2265: uint16(322), + 2266: uint16(322), + 2267: uint16(322), + 2268: uint16(322), + 2269: uint16(322), + 2270: uint16(322), + 2271: uint16(322), + 2272: uint16(322), + 2273: uint16(322), + 2274: uint16(322), + 2275: uint16(322), + 2276: uint16(322), + 2277: uint16(322), + 2278: uint16(322), + 2279: uint16(322), + 2280: uint16(322), + 2281: uint16(322), + 2282: uint16(322), + 2283: uint16(322), + 2284: uint16(322), + 2285: uint16(322), + 2286: uint16(322), + 2287: uint16(322), + 2288: uint16(322), + 2289: uint16(322), + 2290: uint16(322), + 2291: uint16(322), + 2292: uint16(322), + 2293: uint16(322), + 2294: uint16(322), + 2295: uint16(322), + 2296: uint16(322), + 2297: uint16(322), + 2298: uint16(322), + 2299: uint16(322), + 2300: uint16(322), + 2301: uint16(322), + 2302: uint16(322), + 2303: uint16(322), + 2304: uint16(322), + 2305: uint16(322), + 2306: uint16(322), + 2307: uint16(322), + 2308: uint16(322), + 2309: uint16(322), + 2310: uint16(322), + 2311: uint16(322), + 2312: uint16(322), + 2313: uint16(322), + 2314: uint16(322), + 2315: uint16(322), + 2316: uint16(322), + 2317: uint16(322), + 2318: uint16(322), + 2319: uint16(322), + 2320: uint16(322), + 2321: uint16(322), + 2322: uint16(322), + 2323: uint16(322), + 2324: uint16(322), + 2325: uint16(322), + 2326: uint16(322), + 2327: uint16(322), +} +var _yy_shift_ofst = [583]uint16{ + 0: uint16(1792), + 1: uint16(1588), + 2: uint16(1494), 3: uint16(322), 4: uint16(322), - 5: uint16(1), - 6: uint16(1319), - 7: uint16(1478), - 8: uint16(1491), - 9: uint16(1837), - 10: uint16(1837), - 11: uint16(1837), - 12: uint16(471), - 15: uint16(214), - 16: uint16(1093), - 17: uint16(1837), - 18: uint16(1837), - 19: uint16(1837), - 20: uint16(1837), - 21: uint16(1837), - 22: uint16(1837), - 23: uint16(1837), - 24: uint16(1837), - 25: uint16(1837), - 26: uint16(1837), - 27: uint16(1837), - 28: uint16(1837), - 29: uint16(1837), - 30: uint16(1837), - 31: uint16(271), - 32: uint16(271), - 33: uint16(1219), - 34: uint16(1219), - 35: uint16(216), - 36: uint16(88), - 37: uint16(1), - 38: uint16(1), - 39: uint16(1), - 40: uint16(1), - 41: uint16(1), - 42: uint16(40), - 43: uint16(111), - 44: uint16(258), - 45: uint16(361), - 46: uint16(469), - 47: uint16(512), - 48: uint16(583), - 49: uint16(622), - 50: uint16(693), - 51: uint16(732), - 52: uint16(803), - 53: uint16(842), - 54: uint16(913), - 55: uint16(1073), - 56: uint16(1093), - 57: uint16(1093), - 58: uint16(1093), - 59: uint16(1093), - 60: uint16(1093), - 61: uint16(1093), - 62: uint16(1093), - 63: uint16(1093), - 64: uint16(1093), + 5: uint16(399), + 6: uint16(306), + 7: uint16(1319), + 8: uint16(1339), + 9: uint16(1430), + 10: uint16(1828), + 11: uint16(1828), + 12: uint16(1828), + 13: uint16(580), + 14: uint16(399), + 15: uint16(399), + 16: uint16(399), + 17: uint16(399), + 18: uint16(399), + 21: uint16(214), + 22: uint16(1093), + 23: uint16(1828), + 24: uint16(1828), + 25: uint16(1828), + 26: uint16(1828), + 27: uint16(1828), + 28: uint16(1828), + 29: uint16(1828), + 30: uint16(1828), + 31: uint16(1828), + 32: uint16(1828), + 33: uint16(1828), + 34: uint16(1828), + 35: uint16(1828), + 36: uint16(1828), + 37: uint16(1828), + 38: uint16(1130), + 39: uint16(1130), + 40: uint16(365), + 41: uint16(365), + 42: uint16(55), + 43: uint16(278), + 44: uint16(436), + 45: uint16(713), + 46: uint16(713), + 47: uint16(201), + 48: uint16(201), + 49: uint16(201), + 50: uint16(201), + 51: uint16(40), + 52: uint16(111), + 53: uint16(258), + 54: uint16(361), + 55: uint16(469), + 56: uint16(512), + 57: uint16(583), + 58: uint16(622), + 59: uint16(693), + 60: uint16(732), + 61: uint16(803), + 62: uint16(842), + 63: uint16(913), + 64: uint16(1073), 65: uint16(1093), 66: uint16(1093), 67: uint16(1093), @@ -151358,1505 +152717,1514 @@ var _yy_shift_ofst = [579]uint16{ 71: uint16(1093), 72: uint16(1093), 73: uint16(1093), - 74: uint16(1113), + 74: uint16(1093), 75: uint16(1093), - 76: uint16(1216), - 77: uint16(957), - 78: uint16(957), - 79: uint16(1635), - 80: uint16(1662), - 81: uint16(1777), - 82: uint16(1837), - 83: uint16(1837), - 84: uint16(1837), - 85: uint16(1837), - 86: uint16(1837), - 87: uint16(1837), - 88: uint16(1837), - 89: uint16(1837), - 90: uint16(1837), - 91: uint16(1837), - 92: uint16(1837), - 93: uint16(1837), - 94: uint16(1837), - 95: uint16(1837), - 96: uint16(1837), - 97: uint16(1837), - 98: uint16(1837), - 99: uint16(1837), - 100: uint16(1837), - 101: uint16(1837), - 102: uint16(1837), - 103: uint16(1837), - 104: uint16(1837), - 105: uint16(1837), - 106: uint16(1837), - 107: uint16(1837), - 108: uint16(1837), - 109: uint16(1837), - 110: uint16(1837), - 111: uint16(1837), - 112: uint16(1837), - 113: uint16(1837), - 114: uint16(1837), - 115: uint16(1837), - 116: uint16(1837), - 117: uint16(1837), - 118: uint16(1837), - 119: uint16(1837), - 120: uint16(1837), - 121: uint16(1837), - 122: uint16(1837), - 123: uint16(1837), - 124: uint16(1837), - 125: uint16(1837), - 126: uint16(1837), - 127: uint16(1837), - 128: uint16(1837), - 129: uint16(1837), - 130: uint16(1837), - 131: uint16(137), - 132: uint16(181), - 133: uint16(181), - 134: uint16(181), - 135: uint16(181), - 136: uint16(181), - 137: uint16(181), - 138: uint16(181), - 139: uint16(94), - 140: uint16(430), - 141: uint16(66), - 142: uint16(65), - 143: uint16(112), - 144: uint16(366), - 145: uint16(533), - 146: uint16(533), - 147: uint16(740), - 148: uint16(1257), - 149: uint16(533), - 150: uint16(533), - 151: uint16(79), - 152: uint16(79), - 153: uint16(533), - 154: uint16(412), - 155: uint16(412), - 156: uint16(412), - 157: uint16(77), - 158: uint16(412), - 159: uint16(123), - 160: uint16(113), - 161: uint16(113), - 162: uint16(113), - 163: uint16(22), - 164: uint16(22), - 165: uint16(2100), - 166: uint16(2100), - 167: uint16(328), - 168: uint16(328), - 169: uint16(328), - 170: uint16(239), - 171: uint16(468), - 172: uint16(468), - 173: uint16(468), - 174: uint16(468), - 175: uint16(1015), - 176: uint16(1015), - 177: uint16(409), - 178: uint16(366), - 179: uint16(1187), - 180: uint16(1232), - 181: uint16(533), - 182: uint16(533), - 183: uint16(533), - 184: uint16(533), - 185: uint16(533), - 186: uint16(533), - 187: uint16(533), - 188: uint16(533), - 189: uint16(533), - 190: uint16(533), - 191: uint16(533), - 192: uint16(533), - 193: uint16(533), - 194: uint16(533), - 195: uint16(533), - 196: uint16(533), - 197: uint16(533), - 198: uint16(533), - 199: uint16(533), - 200: uint16(533), - 201: uint16(969), - 202: uint16(621), - 203: uint16(621), - 204: uint16(533), - 205: uint16(642), - 206: uint16(788), - 207: uint16(788), - 208: uint16(1133), - 209: uint16(1133), - 210: uint16(822), - 211: uint16(822), - 212: uint16(67), - 213: uint16(1193), - 214: uint16(2100), - 215: uint16(2100), - 216: uint16(2100), - 217: uint16(2100), - 218: uint16(2100), - 219: uint16(2100), - 220: uint16(2100), - 221: uint16(1307), - 222: uint16(954), - 223: uint16(954), - 224: uint16(585), - 225: uint16(472), - 226: uint16(640), - 227: uint16(387), - 228: uint16(695), - 229: uint16(538), - 230: uint16(541), - 231: uint16(700), - 232: uint16(533), - 233: uint16(533), - 234: uint16(533), - 235: uint16(533), - 236: uint16(533), - 237: uint16(533), - 238: uint16(533), - 239: uint16(533), - 240: uint16(533), - 241: uint16(533), - 242: uint16(222), - 243: uint16(533), - 244: uint16(533), - 245: uint16(533), - 246: uint16(533), - 247: uint16(533), - 248: uint16(533), - 249: uint16(533), - 250: uint16(533), - 251: uint16(533), - 252: uint16(533), - 253: uint16(533), - 254: uint16(533), - 255: uint16(1213), - 256: uint16(1213), - 257: uint16(1213), - 258: uint16(533), - 259: uint16(533), - 260: uint16(533), - 261: uint16(565), - 262: uint16(533), - 263: uint16(533), - 264: uint16(533), - 265: uint16(916), - 266: uint16(1147), - 267: uint16(533), - 268: uint16(533), - 269: uint16(1288), - 270: uint16(533), - 271: uint16(533), - 272: uint16(533), - 273: uint16(533), - 274: uint16(533), - 275: uint16(533), - 276: uint16(533), - 277: uint16(533), - 278: uint16(639), - 279: uint16(1280), - 280: uint16(209), - 281: uint16(1129), - 282: uint16(1129), - 283: uint16(1129), - 284: uint16(1129), - 285: uint16(580), - 286: uint16(209), - 287: uint16(209), - 288: uint16(1209), - 289: uint16(768), - 290: uint16(917), - 291: uint16(649), - 292: uint16(1315), - 293: uint16(1334), - 294: uint16(405), - 295: uint16(1334), - 296: uint16(1383), - 297: uint16(249), - 298: uint16(1315), - 299: uint16(1315), - 300: uint16(249), - 301: uint16(1315), - 302: uint16(405), - 303: uint16(1383), - 304: uint16(1441), - 305: uint16(464), - 306: uint16(1245), - 307: uint16(1417), - 308: uint16(1417), - 309: uint16(1417), - 310: uint16(1323), - 311: uint16(1323), - 312: uint16(1323), - 313: uint16(1323), - 314: uint16(184), - 315: uint16(184), - 316: uint16(1335), - 317: uint16(1476), - 318: uint16(856), - 319: uint16(1482), - 320: uint16(1744), - 321: uint16(1744), - 322: uint16(1665), - 323: uint16(1665), - 324: uint16(1773), - 325: uint16(1773), - 326: uint16(1665), - 327: uint16(1669), - 328: uint16(1671), - 329: uint16(1802), - 330: uint16(1782), - 331: uint16(1809), - 332: uint16(1809), - 333: uint16(1809), - 334: uint16(1809), - 335: uint16(1665), - 336: uint16(1817), - 337: uint16(1690), - 338: uint16(1671), - 339: uint16(1671), - 340: uint16(1690), - 341: uint16(1802), - 342: uint16(1782), - 343: uint16(1690), - 344: uint16(1782), - 345: uint16(1690), - 346: uint16(1665), - 347: uint16(1817), - 348: uint16(1693), - 349: uint16(1791), - 350: uint16(1665), - 351: uint16(1817), - 352: uint16(1832), - 353: uint16(1665), - 354: uint16(1817), - 355: uint16(1665), - 356: uint16(1817), - 357: uint16(1832), - 358: uint16(1752), - 359: uint16(1752), - 360: uint16(1752), - 361: uint16(1805), - 362: uint16(1850), - 363: uint16(1850), - 364: uint16(1832), - 365: uint16(1752), - 366: uint16(1749), - 367: uint16(1752), - 368: uint16(1805), - 369: uint16(1752), - 370: uint16(1752), - 371: uint16(1713), - 372: uint16(1858), - 373: uint16(1775), - 374: uint16(1775), - 375: uint16(1832), - 376: uint16(1665), - 377: uint16(1799), - 378: uint16(1799), - 379: uint16(1823), - 380: uint16(1823), - 381: uint16(1761), - 382: uint16(1765), - 383: uint16(1890), - 384: uint16(1665), - 385: uint16(1757), - 386: uint16(1761), - 387: uint16(1771), - 388: uint16(1774), - 389: uint16(1690), - 390: uint16(1894), - 391: uint16(1913), - 392: uint16(1913), - 393: uint16(1929), - 394: uint16(1929), - 395: uint16(1929), - 396: uint16(2100), - 397: uint16(2100), - 398: uint16(2100), - 399: uint16(2100), - 400: uint16(2100), - 401: uint16(2100), - 402: uint16(2100), - 403: uint16(2100), - 404: uint16(2100), - 405: uint16(2100), - 406: uint16(2100), - 407: uint16(2100), - 408: uint16(2100), - 409: uint16(2100), - 410: uint16(2100), - 411: uint16(207), - 412: uint16(1220), - 413: uint16(331), - 414: uint16(620), - 415: uint16(967), - 416: uint16(806), - 417: uint16(1074), - 418: uint16(1499), - 419: uint16(1432), - 420: uint16(1463), - 421: uint16(1479), - 422: uint16(1419), - 423: uint16(1422), - 424: uint16(1557), - 425: uint16(1512), - 426: uint16(1598), - 427: uint16(1599), - 428: uint16(1644), - 429: uint16(1645), - 430: uint16(1654), - 431: uint16(1660), - 432: uint16(1555), - 433: uint16(1505), - 434: uint16(1684), - 435: uint16(1462), - 436: uint16(1670), - 437: uint16(1563), - 438: uint16(1619), - 439: uint16(1593), - 440: uint16(1676), - 441: uint16(1679), - 442: uint16(1613), - 443: uint16(1680), - 444: uint16(1554), - 445: uint16(1558), - 446: uint16(1689), - 447: uint16(1692), - 448: uint16(1605), - 449: uint16(1589), - 450: uint16(1955), - 451: uint16(1959), - 452: uint16(1941), - 453: uint16(1803), - 454: uint16(1950), - 455: uint16(1951), - 456: uint16(1945), - 457: uint16(1946), - 458: uint16(1831), - 459: uint16(1820), - 460: uint16(1842), - 461: uint16(1948), - 462: uint16(1948), - 463: uint16(1952), - 464: uint16(1833), - 465: uint16(1954), - 466: uint16(1834), - 467: uint16(1961), - 468: uint16(1978), - 469: uint16(1838), - 470: uint16(1851), - 471: uint16(1948), - 472: uint16(1852), - 473: uint16(1922), - 474: uint16(1947), - 475: uint16(1948), - 476: uint16(1836), - 477: uint16(1932), - 478: uint16(1935), - 479: uint16(1936), - 480: uint16(1942), - 481: uint16(1866), - 482: uint16(1881), - 483: uint16(1964), - 484: uint16(1859), - 485: uint16(1998), - 486: uint16(1996), - 487: uint16(1980), - 488: uint16(1888), - 489: uint16(1843), - 490: uint16(1937), - 491: uint16(1981), - 492: uint16(1939), - 493: uint16(1933), - 494: uint16(1968), - 495: uint16(1869), - 496: uint16(1896), - 497: uint16(1988), - 498: uint16(1993), - 499: uint16(1995), - 500: uint16(1884), - 501: uint16(1891), - 502: uint16(1997), - 503: uint16(1953), - 504: uint16(1999), - 505: uint16(2000), - 506: uint16(1994), - 507: uint16(2001), - 508: uint16(1957), - 509: uint16(1966), - 510: uint16(2002), - 511: uint16(1931), - 512: uint16(1990), - 513: uint16(2006), - 514: uint16(1962), - 515: uint16(2003), - 516: uint16(2007), - 517: uint16(2004), - 518: uint16(1882), - 519: uint16(2010), - 520: uint16(2011), - 521: uint16(2012), - 522: uint16(2008), - 523: uint16(2013), - 524: uint16(2015), - 525: uint16(1944), - 526: uint16(1898), - 527: uint16(2019), - 528: uint16(2020), - 529: uint16(1928), - 530: uint16(2014), - 531: uint16(2023), - 532: uint16(1903), - 533: uint16(2022), - 534: uint16(2016), - 535: uint16(2017), - 536: uint16(2018), - 537: uint16(2021), - 538: uint16(1965), - 539: uint16(1974), - 540: uint16(1970), - 541: uint16(2024), - 542: uint16(1979), - 543: uint16(1967), - 544: uint16(2025), - 545: uint16(2034), - 546: uint16(2036), - 547: uint16(2037), - 548: uint16(2038), - 549: uint16(2039), - 550: uint16(2028), - 551: uint16(1923), - 552: uint16(1924), - 553: uint16(2044), - 554: uint16(2022), - 555: uint16(2046), - 556: uint16(2047), - 557: uint16(2048), - 558: uint16(2049), - 559: uint16(2050), - 560: uint16(2051), - 561: uint16(2054), - 562: uint16(2062), - 563: uint16(2055), - 564: uint16(2056), - 565: uint16(2057), - 566: uint16(2058), - 567: uint16(2060), - 568: uint16(2061), - 569: uint16(2059), - 570: uint16(1956), - 571: uint16(1938), - 572: uint16(1949), - 573: uint16(1958), - 574: uint16(2063), - 575: uint16(2064), - 576: uint16(2070), - 577: uint16(2085), - 578: uint16(2088), -} -var _yy_reduce_ofst = [411]int16{ - 0: int16(-int32(125)), - 1: int16(733), - 2: int16(789), - 3: int16(241), - 4: int16(293), - 5: int16(-int32(123)), - 6: int16(-int32(193)), - 7: int16(-int32(191)), - 8: int16(-int32(183)), - 9: int16(-int32(187)), - 10: int16(166), - 11: int16(238), - 12: int16(133), - 13: int16(-int32(207)), - 14: int16(-int32(199)), - 15: int16(-int32(267)), - 16: int16(-int32(176)), - 17: int16(-int32(6)), - 18: int16(204), - 19: int16(489), - 20: int16(576), - 21: int16(598), - 22: int16(-int32(175)), - 23: int16(686), - 24: int16(860), - 25: int16(615), - 26: int16(725), - 27: int16(1014), - 28: int16(778), - 29: int16(781), - 30: int16(857), - 31: int16(616), - 32: int16(887), - 33: int16(87), - 34: int16(240), - 35: int16(-int32(192)), - 36: int16(408), - 37: int16(626), - 38: int16(796), - 39: int16(843), - 40: int16(854), - 41: int16(1004), - 42: int16(-int32(271)), - 43: int16(-int32(271)), - 44: int16(-int32(271)), - 45: int16(-int32(271)), - 46: int16(-int32(271)), - 47: int16(-int32(271)), - 48: int16(-int32(271)), - 49: int16(-int32(271)), - 50: int16(-int32(271)), - 51: int16(-int32(271)), - 52: int16(-int32(271)), - 53: int16(-int32(271)), - 54: int16(-int32(271)), - 55: int16(-int32(271)), - 56: int16(-int32(271)), - 57: int16(-int32(271)), - 58: int16(-int32(271)), - 59: int16(-int32(271)), - 60: int16(-int32(271)), - 61: int16(-int32(271)), - 62: int16(-int32(271)), - 63: int16(-int32(271)), - 64: int16(-int32(271)), - 65: int16(-int32(271)), - 66: int16(-int32(271)), - 67: int16(-int32(271)), - 68: int16(-int32(271)), - 69: int16(-int32(271)), - 70: int16(-int32(271)), - 71: int16(-int32(271)), - 72: int16(-int32(271)), - 73: int16(-int32(271)), - 74: int16(-int32(271)), - 75: int16(-int32(271)), - 76: int16(-int32(271)), - 77: int16(-int32(271)), - 78: int16(-int32(271)), - 79: int16(80), - 80: int16(83), - 81: int16(313), - 82: int16(886), - 83: int16(888), - 84: int16(918), - 85: int16(938), - 86: int16(1021), - 87: int16(1034), - 88: int16(1036), - 89: int16(1141), - 90: int16(1159), - 91: int16(1163), - 92: int16(1166), - 93: int16(1168), - 94: int16(1170), - 95: int16(1176), - 96: int16(1178), - 97: int16(1180), - 98: int16(1184), - 99: int16(1196), - 100: int16(1198), - 101: int16(1205), - 102: int16(1215), - 103: int16(1225), - 104: int16(1227), - 105: int16(1236), - 106: int16(1252), - 107: int16(1254), - 108: int16(1264), - 109: int16(1303), - 110: int16(1309), - 111: int16(1312), - 112: int16(1322), - 113: int16(1325), - 114: int16(1328), - 115: int16(1337), - 116: int16(1340), - 117: int16(1343), - 118: int16(1353), - 119: int16(1371), - 120: int16(1373), - 121: int16(1384), - 122: int16(1386), - 123: int16(1411), - 124: int16(1413), - 125: int16(1420), - 126: int16(1424), - 127: int16(1426), - 128: int16(1458), - 129: int16(1470), - 130: int16(1473), - 131: int16(-int32(271)), - 132: int16(-int32(271)), - 133: int16(-int32(271)), - 134: int16(-int32(271)), - 135: int16(-int32(271)), - 136: int16(-int32(271)), - 137: int16(-int32(271)), - 138: int16(-int32(271)), - 139: int16(-int32(271)), - 140: int16(-int32(271)), - 141: int16(-int32(271)), - 142: int16(138), - 143: int16(459), - 144: int16(396), - 145: int16(-int32(158)), - 146: int16(470), - 147: int16(302), - 148: int16(-int32(212)), - 149: int16(521), - 150: int16(201), - 151: int16(-int32(195)), - 152: int16(-int32(92)), - 153: int16(559), - 154: int16(630), - 155: int16(632), - 156: int16(630), - 157: int16(-int32(271)), - 158: int16(632), - 159: int16(901), - 160: int16(63), - 161: int16(407), - 162: int16(670), - 163: int16(-int32(271)), - 164: int16(-int32(271)), - 165: int16(-int32(271)), - 166: int16(-int32(271)), - 167: int16(161), - 168: int16(161), - 169: int16(161), - 170: int16(251), - 171: int16(335), - 172: int16(847), - 173: int16(979), - 174: int16(1097), - 175: int16(537), - 176: int16(588), - 177: int16(618), - 178: int16(628), - 179: int16(688), - 180: int16(688), - 181: int16(-int32(166)), - 182: int16(-int32(161)), - 183: int16(674), - 184: int16(787), - 185: int16(794), - 186: int16(799), - 187: int16(852), - 188: int16(996), - 189: int16(-int32(122)), - 190: int16(837), - 191: int16(-int32(120)), - 192: int16(1018), - 193: int16(1035), - 194: int16(415), - 195: int16(1047), - 196: int16(1001), - 197: int16(958), - 198: int16(1082), - 199: int16(400), - 200: int16(1099), - 201: int16(779), - 202: int16(1137), - 203: int16(1142), - 204: int16(263), - 205: int16(1083), - 206: int16(1145), - 207: int16(1150), - 208: int16(1041), - 209: int16(1139), - 210: int16(965), - 211: int16(1050), - 212: int16(362), - 213: int16(849), - 214: int16(752), - 215: int16(629), - 216: int16(675), - 217: int16(1162), - 218: int16(1173), - 219: int16(1090), - 220: int16(1195), - 221: int16(-int32(194)), - 222: int16(56), - 223: int16(185), - 224: int16(-int32(135)), - 225: int16(232), - 226: int16(522), - 227: int16(560), - 228: int16(571), - 229: int16(601), - 230: int16(617), - 231: int16(669), - 232: int16(683), - 233: int16(711), - 234: int16(850), - 235: int16(893), - 236: int16(1000), - 237: int16(1040), - 238: int16(1049), - 239: int16(1081), - 240: int16(1087), - 241: int16(1101), - 242: int16(392), - 243: int16(1114), - 244: int16(1123), - 245: int16(1155), - 246: int16(1161), - 247: int16(1175), - 248: int16(1271), - 249: int16(1293), - 250: int16(1299), - 251: int16(1330), - 252: int16(1339), - 253: int16(1342), - 254: int16(1347), - 255: int16(593), - 256: int16(1282), - 257: int16(1286), - 258: int16(1350), - 259: int16(1359), - 260: int16(1368), - 261: int16(1314), - 262: int16(1480), - 263: int16(1483), - 264: int16(1507), - 265: int16(1085), - 266: int16(1338), - 267: int16(1526), - 268: int16(1527), - 269: int16(1487), - 270: int16(1531), - 271: int16(560), - 272: int16(1532), - 273: int16(1534), - 274: int16(1535), - 275: int16(1538), - 276: int16(1539), - 277: int16(1541), - 278: int16(1448), - 279: int16(1450), - 280: int16(1496), - 281: int16(1484), - 282: int16(1485), - 283: int16(1489), - 284: int16(1490), - 285: int16(1314), - 286: int16(1496), - 287: int16(1496), - 288: int16(1504), - 289: int16(1536), - 290: int16(1564), - 291: int16(1451), - 292: int16(1486), - 293: int16(1492), - 294: int16(1509), - 295: int16(1493), - 296: int16(1465), - 297: int16(1515), - 298: int16(1494), - 299: int16(1495), - 300: int16(1517), - 301: int16(1500), - 302: int16(1519), - 303: int16(1474), - 304: int16(1550), - 305: int16(1543), - 306: int16(1548), - 307: int16(1556), - 308: int16(1565), - 309: int16(1566), - 310: int16(1518), - 311: int16(1523), - 312: int16(1542), - 313: int16(1544), - 314: int16(1525), - 315: int16(1545), - 316: int16(1513), - 317: int16(1553), - 318: int16(1552), - 319: int16(1604), - 320: int16(1508), - 321: int16(1510), - 322: int16(1608), - 323: int16(1609), - 324: int16(1520), - 325: int16(1528), - 326: int16(1612), - 327: int16(1540), - 328: int16(1559), - 329: int16(1560), - 330: int16(1592), - 331: int16(1591), - 332: int16(1595), - 333: int16(1596), - 334: int16(1597), - 335: int16(1629), - 336: int16(1638), - 337: int16(1594), - 338: int16(1569), - 339: int16(1570), - 340: int16(1600), - 341: int16(1568), - 342: int16(1610), - 343: int16(1601), - 344: int16(1611), - 345: int16(1603), - 346: int16(1643), - 347: int16(1651), - 348: int16(1562), - 349: int16(1571), - 350: int16(1655), - 351: int16(1659), - 352: int16(1640), - 353: int16(1663), - 354: int16(1666), - 355: int16(1664), - 356: int16(1667), - 357: int16(1641), - 358: int16(1650), - 359: int16(1652), - 360: int16(1653), - 361: int16(1647), - 362: int16(1656), - 363: int16(1657), - 364: int16(1658), - 365: int16(1668), - 366: int16(1672), - 367: int16(1681), - 368: int16(1649), - 369: int16(1682), - 370: int16(1683), - 371: int16(1573), - 372: int16(1582), - 373: int16(1607), - 374: int16(1615), - 375: int16(1685), - 376: int16(1702), - 377: int16(1586), - 378: int16(1587), - 379: int16(1642), - 380: int16(1646), - 381: int16(1673), - 382: int16(1675), - 383: int16(1636), - 384: int16(1714), - 385: int16(1637), - 386: int16(1677), - 387: int16(1674), - 388: int16(1678), - 389: int16(1694), - 390: int16(1719), - 391: int16(1734), - 392: int16(1735), - 393: int16(1746), - 394: int16(1747), - 395: int16(1750), - 396: int16(1633), - 397: int16(1661), + 76: uint16(1093), + 77: uint16(1093), + 78: uint16(1093), + 79: uint16(1093), + 80: uint16(1093), + 81: uint16(1093), + 82: uint16(1093), + 83: uint16(1113), + 84: uint16(1093), + 85: uint16(1216), + 86: uint16(957), + 87: uint16(957), + 88: uint16(1523), + 89: uint16(1602), + 90: uint16(1674), + 91: uint16(1828), + 92: uint16(1828), + 93: uint16(1828), + 94: uint16(1828), + 95: uint16(1828), + 96: uint16(1828), + 97: uint16(1828), + 98: uint16(1828), + 99: uint16(1828), + 100: uint16(1828), + 101: uint16(1828), + 102: uint16(1828), + 103: uint16(1828), + 104: uint16(1828), + 105: uint16(1828), + 106: uint16(1828), + 107: uint16(1828), + 108: uint16(1828), + 109: uint16(1828), + 110: uint16(1828), + 111: uint16(1828), + 112: uint16(1828), + 113: uint16(1828), + 114: uint16(1828), + 115: uint16(1828), + 116: uint16(1828), + 117: uint16(1828), + 118: uint16(1828), + 119: uint16(1828), + 120: uint16(1828), + 121: uint16(1828), + 122: uint16(1828), + 123: uint16(1828), + 124: uint16(1828), + 125: uint16(1828), + 126: uint16(1828), + 127: uint16(1828), + 128: uint16(1828), + 129: uint16(1828), + 130: uint16(1828), + 131: uint16(1828), + 132: uint16(1828), + 133: uint16(1828), + 134: uint16(1828), + 135: uint16(1828), + 136: uint16(1828), + 137: uint16(1828), + 138: uint16(1828), + 139: uint16(1828), + 140: uint16(137), + 141: uint16(181), + 142: uint16(181), + 143: uint16(181), + 144: uint16(181), + 145: uint16(181), + 146: uint16(181), + 147: uint16(181), + 148: uint16(96), + 149: uint16(222), + 150: uint16(143), + 151: uint16(477), + 152: uint16(713), + 153: uint16(1133), + 154: uint16(1268), + 155: uint16(713), + 156: uint16(713), + 157: uint16(79), + 158: uint16(79), + 159: uint16(713), + 160: uint16(770), + 161: uint16(83), + 162: uint16(65), + 163: uint16(65), + 164: uint16(65), + 165: uint16(288), + 166: uint16(162), + 167: uint16(162), + 168: uint16(2142), + 169: uint16(2142), + 170: uint16(696), + 171: uint16(696), + 172: uint16(696), + 173: uint16(238), + 174: uint16(474), + 175: uint16(474), + 176: uint16(474), + 177: uint16(474), + 178: uint16(1217), + 179: uint16(1217), + 180: uint16(678), + 181: uint16(477), + 182: uint16(324), + 183: uint16(398), + 184: uint16(713), + 185: uint16(713), + 186: uint16(713), + 187: uint16(713), + 188: uint16(713), + 189: uint16(713), + 190: uint16(713), + 191: uint16(713), + 192: uint16(713), + 193: uint16(713), + 194: uint16(713), + 195: uint16(713), + 196: uint16(713), + 197: uint16(713), + 198: uint16(713), + 199: uint16(713), + 200: uint16(713), + 201: uint16(713), + 202: uint16(713), + 203: uint16(1220), + 204: uint16(366), + 205: uint16(366), + 206: uint16(713), + 207: uint16(917), + 208: uint16(283), + 209: uint16(283), + 210: uint16(434), + 211: uint16(434), + 212: uint16(605), + 213: uint16(605), + 214: uint16(1298), + 215: uint16(2142), + 216: uint16(2142), + 217: uint16(2142), + 218: uint16(2142), + 219: uint16(2142), + 220: uint16(2142), + 221: uint16(2142), + 222: uint16(1179), + 223: uint16(1157), + 224: uint16(1157), + 225: uint16(487), + 226: uint16(527), + 227: uint16(585), + 228: uint16(645), + 229: uint16(749), + 230: uint16(914), + 231: uint16(968), + 232: uint16(752), + 233: uint16(713), + 234: uint16(713), + 235: uint16(713), + 236: uint16(713), + 237: uint16(713), + 238: uint16(713), + 239: uint16(713), + 240: uint16(713), + 241: uint16(713), + 242: uint16(713), + 243: uint16(303), + 244: uint16(713), + 245: uint16(713), + 246: uint16(713), + 247: uint16(713), + 248: uint16(713), + 249: uint16(713), + 250: uint16(713), + 251: uint16(713), + 252: uint16(713), + 253: uint16(713), + 254: uint16(713), + 255: uint16(713), + 256: uint16(797), + 257: uint16(797), + 258: uint16(797), + 259: uint16(713), + 260: uint16(713), + 261: uint16(713), + 262: uint16(959), + 263: uint16(713), + 264: uint16(713), + 265: uint16(713), + 266: uint16(1169), + 267: uint16(1271), + 268: uint16(713), + 269: uint16(713), + 270: uint16(1330), + 271: uint16(713), + 272: uint16(713), + 273: uint16(713), + 274: uint16(713), + 275: uint16(713), + 276: uint16(713), + 277: uint16(713), + 278: uint16(713), + 279: uint16(629), + 280: uint16(7), + 281: uint16(91), + 282: uint16(876), + 283: uint16(876), + 284: uint16(876), + 285: uint16(876), + 286: uint16(953), + 287: uint16(91), + 288: uint16(91), + 289: uint16(1246), + 290: uint16(1065), + 291: uint16(1106), + 292: uint16(1374), + 293: uint16(1329), + 294: uint16(1348), + 295: uint16(468), + 296: uint16(1348), + 297: uint16(1394), + 298: uint16(785), + 299: uint16(1329), + 300: uint16(1329), + 301: uint16(785), + 302: uint16(1329), + 303: uint16(468), + 304: uint16(1394), + 305: uint16(859), + 306: uint16(854), + 307: uint16(1402), + 308: uint16(1449), + 309: uint16(1449), + 310: uint16(1449), + 311: uint16(1173), + 312: uint16(1173), + 313: uint16(1173), + 314: uint16(1173), + 315: uint16(1355), + 316: uint16(1355), + 317: uint16(1030), + 318: uint16(1341), + 319: uint16(405), + 320: uint16(1230), + 321: uint16(1795), + 322: uint16(1795), + 323: uint16(1711), + 324: uint16(1711), + 325: uint16(1829), + 326: uint16(1829), + 327: uint16(1711), + 328: uint16(1717), + 329: uint16(1719), + 330: uint16(1850), + 331: uint16(1833), + 332: uint16(1860), + 333: uint16(1860), + 334: uint16(1860), + 335: uint16(1860), + 336: uint16(1711), + 337: uint16(1868), + 338: uint16(1740), + 339: uint16(1719), + 340: uint16(1719), + 341: uint16(1740), + 342: uint16(1850), + 343: uint16(1833), + 344: uint16(1740), + 345: uint16(1833), + 346: uint16(1740), + 347: uint16(1711), + 348: uint16(1868), + 349: uint16(1745), + 350: uint16(1843), + 351: uint16(1711), + 352: uint16(1868), + 353: uint16(1887), + 354: uint16(1711), + 355: uint16(1868), + 356: uint16(1711), + 357: uint16(1868), + 358: uint16(1887), + 359: uint16(1801), + 360: uint16(1801), + 361: uint16(1801), + 362: uint16(1855), + 363: uint16(1900), + 364: uint16(1900), + 365: uint16(1887), + 366: uint16(1801), + 367: uint16(1797), + 368: uint16(1801), + 369: uint16(1855), + 370: uint16(1801), + 371: uint16(1801), + 372: uint16(1761), + 373: uint16(1912), + 374: uint16(1830), + 375: uint16(1830), + 376: uint16(1887), + 377: uint16(1711), + 378: uint16(1862), + 379: uint16(1862), + 380: uint16(1875), + 381: uint16(1875), + 382: uint16(1810), + 383: uint16(1815), + 384: uint16(1940), + 385: uint16(1711), + 386: uint16(1807), + 387: uint16(1810), + 388: uint16(1821), + 389: uint16(1823), + 390: uint16(1740), + 391: uint16(1945), + 392: uint16(1963), + 393: uint16(1963), + 394: uint16(1974), + 395: uint16(1974), + 396: uint16(1974), + 397: uint16(2142), + 398: uint16(2142), + 399: uint16(2142), + 400: uint16(2142), + 401: uint16(2142), + 402: uint16(2142), + 403: uint16(2142), + 404: uint16(2142), + 405: uint16(2142), + 406: uint16(2142), + 407: uint16(2142), + 408: uint16(2142), + 409: uint16(2142), + 410: uint16(2142), + 411: uint16(2142), + 412: uint16(20), + 413: uint16(1224), + 414: uint16(256), + 415: uint16(1111), + 416: uint16(1115), + 417: uint16(1114), + 418: uint16(1192), + 419: uint16(1496), + 420: uint16(1424), + 421: uint16(1505), + 422: uint16(1427), + 423: uint16(355), + 424: uint16(1383), + 425: uint16(1537), + 426: uint16(1506), + 427: uint16(1538), + 428: uint16(1553), + 429: uint16(1583), + 430: uint16(1584), + 431: uint16(1591), + 432: uint16(1625), + 433: uint16(541), + 434: uint16(1445), + 435: uint16(1562), + 436: uint16(1450), + 437: uint16(1572), + 438: uint16(1515), + 439: uint16(1428), + 440: uint16(1532), + 441: uint16(1592), + 442: uint16(1629), + 443: uint16(1520), + 444: uint16(1630), + 445: uint16(1639), + 446: uint16(1510), + 447: uint16(1544), + 448: uint16(1662), + 449: uint16(1675), + 450: uint16(1551), + 451: uint16(48), + 452: uint16(1996), + 453: uint16(2001), + 454: uint16(1983), + 455: uint16(1844), + 456: uint16(1993), + 457: uint16(1994), + 458: uint16(1986), + 459: uint16(1989), + 460: uint16(1874), + 461: uint16(1863), + 462: uint16(1885), + 463: uint16(1991), + 464: uint16(1991), + 465: uint16(1995), + 466: uint16(1876), + 467: uint16(1997), + 468: uint16(1877), + 469: uint16(2004), + 470: uint16(2021), + 471: uint16(1881), + 472: uint16(1894), + 473: uint16(1991), + 474: uint16(1895), + 475: uint16(1965), + 476: uint16(1990), + 477: uint16(1991), + 478: uint16(1878), + 479: uint16(1975), + 480: uint16(1977), + 481: uint16(1978), + 482: uint16(1979), + 483: uint16(1903), + 484: uint16(1918), + 485: uint16(2002), + 486: uint16(1896), + 487: uint16(2034), + 488: uint16(2033), + 489: uint16(2017), + 490: uint16(1925), + 491: uint16(1880), + 492: uint16(1976), + 493: uint16(2018), + 494: uint16(1980), + 495: uint16(1967), + 496: uint16(2005), + 497: uint16(1904), + 498: uint16(1932), + 499: uint16(2025), + 500: uint16(2030), + 501: uint16(2032), + 502: uint16(1921), + 503: uint16(1928), + 504: uint16(2035), + 505: uint16(1987), + 506: uint16(2036), + 507: uint16(2037), + 508: uint16(2038), + 509: uint16(2040), + 510: uint16(1988), + 511: uint16(2006), + 512: uint16(2039), + 513: uint16(1960), + 514: uint16(2041), + 515: uint16(2042), + 516: uint16(1999), + 517: uint16(2023), + 518: uint16(2044), + 519: uint16(2043), + 520: uint16(1919), + 521: uint16(2048), + 522: uint16(2049), + 523: uint16(2050), + 524: uint16(2046), + 525: uint16(2051), + 526: uint16(2053), + 527: uint16(1981), + 528: uint16(1935), + 529: uint16(2056), + 530: uint16(2057), + 531: uint16(1966), + 532: uint16(2047), + 533: uint16(2061), + 534: uint16(1941), + 535: uint16(2060), + 536: uint16(2052), + 537: uint16(2054), + 538: uint16(2055), + 539: uint16(2058), + 540: uint16(2003), + 541: uint16(2012), + 542: uint16(2007), + 543: uint16(2059), + 544: uint16(2015), + 545: uint16(2008), + 546: uint16(2062), + 547: uint16(2071), + 548: uint16(2073), + 549: uint16(2074), + 550: uint16(2072), + 551: uint16(2075), + 552: uint16(2065), + 553: uint16(1962), + 554: uint16(1964), + 555: uint16(2079), + 556: uint16(2060), + 557: uint16(2082), + 558: uint16(2084), + 559: uint16(2085), + 560: uint16(2087), + 561: uint16(2086), + 562: uint16(2089), + 563: uint16(2088), + 564: uint16(2091), + 565: uint16(2093), + 566: uint16(2099), + 567: uint16(2094), + 568: uint16(2095), + 569: uint16(2096), + 570: uint16(2097), + 571: uint16(2100), + 572: uint16(2101), + 573: uint16(2102), + 574: uint16(1998), + 575: uint16(1984), + 576: uint16(1985), + 577: uint16(2000), + 578: uint16(2103), + 579: uint16(2098), + 580: uint16(2109), + 581: uint16(2117), + 582: uint16(2128), +} +var _yy_reduce_ofst = [412]int16{ + 0: int16(-int32(71)), + 1: int16(194), + 2: int16(343), + 3: int16(835), + 4: int16(-int32(180)), + 5: int16(-int32(177)), + 6: int16(838), + 7: int16(-int32(194)), + 8: int16(-int32(188)), + 9: int16(-int32(185)), + 10: int16(-int32(183)), + 11: int16(82), + 12: int16(183), + 13: int16(-int32(65)), + 14: int16(133), + 15: int16(245), + 16: int16(346), + 17: int16(407), + 18: int16(458), + 19: int16(-int32(178)), + 20: int16(75), + 21: int16(-int32(275)), + 22: int16(-int32(4)), + 23: int16(310), + 24: int16(312), + 25: int16(489), + 26: int16(575), + 27: int16(596), + 28: int16(463), + 29: int16(686), + 30: int16(707), + 31: int16(725), + 32: int16(780), + 33: int16(1098), + 34: int16(856), + 35: int16(778), + 36: int16(1059), + 37: int16(1090), + 38: int16(708), + 39: int16(887), + 40: int16(86), + 41: int16(448), + 42: int16(980), + 43: int16(630), + 44: int16(680), + 45: int16(681), + 46: int16(684), + 47: int16(796), + 48: int16(801), + 49: int16(796), + 50: int16(801), + 51: int16(-int32(261)), + 52: int16(-int32(261)), + 53: int16(-int32(261)), + 54: int16(-int32(261)), + 55: int16(-int32(261)), + 56: int16(-int32(261)), + 57: int16(-int32(261)), + 58: int16(-int32(261)), + 59: int16(-int32(261)), + 60: int16(-int32(261)), + 61: int16(-int32(261)), + 62: int16(-int32(261)), + 63: int16(-int32(261)), + 64: int16(-int32(261)), + 65: int16(-int32(261)), + 66: int16(-int32(261)), + 67: int16(-int32(261)), + 68: int16(-int32(261)), + 69: int16(-int32(261)), + 70: int16(-int32(261)), + 71: int16(-int32(261)), + 72: int16(-int32(261)), + 73: int16(-int32(261)), + 74: int16(-int32(261)), + 75: int16(-int32(261)), + 76: int16(-int32(261)), + 77: int16(-int32(261)), + 78: int16(-int32(261)), + 79: int16(-int32(261)), + 80: int16(-int32(261)), + 81: int16(-int32(261)), + 82: int16(-int32(261)), + 83: int16(-int32(261)), + 84: int16(-int32(261)), + 85: int16(-int32(261)), + 86: int16(-int32(261)), + 87: int16(-int32(261)), + 88: int16(391), + 89: int16(886), + 90: int16(888), + 91: int16(1013), + 92: int16(1016), + 93: int16(1081), + 94: int16(1087), + 95: int16(1151), + 96: int16(1159), + 97: int16(1177), + 98: int16(1185), + 99: int16(1188), + 100: int16(1190), + 101: int16(1194), + 102: int16(1197), + 103: int16(1203), + 104: int16(1247), + 105: int16(1260), + 106: int16(1264), + 107: int16(1267), + 108: int16(1269), + 109: int16(1273), + 110: int16(1315), + 111: int16(1322), + 112: int16(1335), + 113: int16(1337), + 114: int16(1356), + 115: int16(1362), + 116: int16(1418), + 117: int16(1425), + 118: int16(1453), + 119: int16(1457), + 120: int16(1465), + 121: int16(1473), + 122: int16(1487), + 123: int16(1495), + 124: int16(1507), + 125: int16(1517), + 126: int16(1521), + 127: int16(1534), + 128: int16(1543), + 129: int16(1546), + 130: int16(1549), + 131: int16(1552), + 132: int16(1554), + 133: int16(1560), + 134: int16(1581), + 135: int16(1590), + 136: int16(1593), + 137: int16(1595), + 138: int16(1621), + 139: int16(1623), + 140: int16(-int32(261)), + 141: int16(-int32(261)), + 142: int16(-int32(261)), + 143: int16(-int32(261)), + 144: int16(-int32(261)), + 145: int16(-int32(261)), + 146: int16(-int32(261)), + 147: int16(-int32(261)), + 148: int16(-int32(261)), + 149: int16(-int32(261)), + 150: int16(-int32(261)), + 151: int16(-int32(186)), + 152: int16(-int32(117)), + 153: int16(260), + 154: int16(263), + 155: int16(460), + 156: int16(631), + 157: int16(-int32(74)), + 158: int16(497), + 159: int16(-int32(181)), + 160: int16(-int32(261)), + 161: int16(939), + 162: int16(176), + 163: int16(274), + 164: int16(338), + 165: int16(676), + 166: int16(-int32(261)), + 167: int16(-int32(261)), + 168: int16(-int32(261)), + 169: int16(-int32(261)), + 170: int16(-int32(212)), + 171: int16(-int32(212)), + 172: int16(-int32(212)), + 173: int16(-int32(184)), + 174: int16(149), + 175: int16(777), + 176: int16(1061), + 177: int16(1103), + 178: int16(265), + 179: int16(419), + 180: int16(-int32(254)), + 181: int16(670), + 182: int16(677), + 183: int16(677), + 184: int16(-int32(11)), + 185: int16(-int32(129)), + 186: int16(184), + 187: int16(488), + 188: int16(736), + 189: int16(789), + 190: int16(805), + 191: int16(844), + 192: int16(403), + 193: int16(529), + 194: int16(579), + 195: int16(668), + 196: int16(783), + 197: int16(841), + 198: int16(1158), + 199: int16(1112), + 200: int16(806), + 201: int16(861), + 202: int16(1095), + 203: int16(846), + 204: int16(839), + 205: int16(1031), + 206: int16(-int32(189)), + 207: int16(1077), + 208: int16(1080), + 209: int16(1116), + 210: int16(1084), + 211: int16(1156), + 212: int16(1139), + 213: int16(1221), + 214: int16(46), + 215: int16(1099), + 216: int16(1037), + 217: int16(1118), + 218: int16(1171), + 219: int16(1214), + 220: int16(1210), + 221: int16(1258), + 222: int16(-int32(210)), + 223: int16(-int32(190)), + 224: int16(-int32(176)), + 225: int16(-int32(115)), + 226: int16(117), + 227: int16(262), + 228: int16(376), + 229: int16(490), + 230: int16(511), + 231: int16(520), + 232: int16(618), + 233: int16(639), + 234: int16(743), + 235: int16(901), + 236: int16(907), + 237: int16(958), + 238: int16(1014), + 239: int16(1055), + 240: int16(1108), + 241: int16(1193), + 242: int16(1244), + 243: int16(720), + 244: int16(1248), + 245: int16(1277), + 246: int16(1324), + 247: int16(1347), + 248: int16(1417), + 249: int16(1431), + 250: int16(1432), + 251: int16(1440), + 252: int16(1451), + 253: int16(1452), + 254: int16(1463), + 255: int16(1478), + 256: int16(1286), + 257: int16(1350), + 258: int16(1369), + 259: int16(1490), + 260: int16(1498), + 261: int16(1501), + 262: int16(773), + 263: int16(1509), + 264: int16(1513), + 265: int16(1528), + 266: int16(1292), + 267: int16(1367), + 268: int16(1535), + 269: int16(1536), + 270: int16(1477), + 271: int16(1542), + 272: int16(376), + 273: int16(1547), + 274: int16(1550), + 275: int16(1555), + 276: int16(1559), + 277: int16(1568), + 278: int16(1571), + 279: int16(1441), + 280: int16(1443), + 281: int16(1474), + 282: int16(1511), + 283: int16(1516), + 284: int16(1519), + 285: int16(1522), + 286: int16(773), + 287: int16(1474), + 288: int16(1474), + 289: int16(1503), + 290: int16(1567), + 291: int16(1594), + 292: int16(1484), + 293: int16(1527), + 294: int16(1556), + 295: int16(1570), + 296: int16(1557), + 297: int16(1524), + 298: int16(1573), + 299: int16(1545), + 300: int16(1548), + 301: int16(1576), + 302: int16(1561), + 303: int16(1587), + 304: int16(1540), + 305: int16(1575), + 306: int16(1606), + 307: int16(1611), + 308: int16(1622), + 309: int16(1624), + 310: int16(1626), + 311: int16(1582), + 312: int16(1597), + 313: int16(1598), + 314: int16(1599), + 315: int16(1601), + 316: int16(1603), + 317: int16(1563), + 318: int16(1608), + 319: int16(1605), + 320: int16(1604), + 321: int16(1564), + 322: int16(1566), + 323: int16(1655), + 324: int16(1660), + 325: int16(1578), + 326: int16(1579), + 327: int16(1665), + 328: int16(1586), + 329: int16(1607), + 330: int16(1610), + 331: int16(1642), + 332: int16(1641), + 333: int16(1645), + 334: int16(1646), + 335: int16(1647), + 336: int16(1679), + 337: int16(1688), + 338: int16(1644), + 339: int16(1618), + 340: int16(1619), + 341: int16(1648), + 342: int16(1628), + 343: int16(1659), + 344: int16(1649), + 345: int16(1663), + 346: int16(1650), + 347: int16(1700), + 348: int16(1702), + 349: int16(1612), + 350: int16(1615), + 351: int16(1706), + 352: int16(1708), + 353: int16(1689), + 354: int16(1709), + 355: int16(1712), + 356: int16(1713), + 357: int16(1715), + 358: int16(1691), + 359: int16(1698), + 360: int16(1699), + 361: int16(1701), + 362: int16(1693), + 363: int16(1704), + 364: int16(1707), + 365: int16(1705), + 366: int16(1714), + 367: int16(1703), + 368: int16(1718), + 369: int16(1710), + 370: int16(1720), + 371: int16(1721), + 372: int16(1632), + 373: int16(1634), + 374: int16(1664), + 375: int16(1666), + 376: int16(1729), + 377: int16(1751), + 378: int16(1635), + 379: int16(1636), + 380: int16(1692), + 381: int16(1694), + 382: int16(1716), + 383: int16(1722), + 384: int16(1684), + 385: int16(1763), + 386: int16(1685), + 387: int16(1723), + 388: int16(1724), + 389: int16(1727), + 390: int16(1730), + 391: int16(1768), + 392: int16(1783), + 393: int16(1784), + 394: int16(1793), + 395: int16(1794), + 396: int16(1796), + 397: int16(1683), 398: int16(1686), - 399: int16(1738), - 400: int16(1728), - 401: int16(1733), - 402: int16(1736), - 403: int16(1737), - 404: int16(1740), - 405: int16(1726), - 406: int16(1730), - 407: int16(1742), - 408: int16(1743), - 409: int16(1748), - 410: int16(1753), -} -var _yy_default = [579]uint16{ - 0: uint16(1648), - 1: uint16(1648), - 2: uint16(1648), - 3: uint16(1478), - 4: uint16(1243), - 5: uint16(1354), - 6: uint16(1243), - 7: uint16(1243), - 8: uint16(1243), - 9: uint16(1478), - 10: uint16(1478), - 11: uint16(1478), - 12: uint16(1243), - 13: uint16(1384), - 14: uint16(1384), - 15: uint16(1531), - 16: uint16(1276), - 17: uint16(1243), - 18: uint16(1243), - 19: uint16(1243), - 20: uint16(1243), - 21: uint16(1243), - 22: uint16(1243), - 23: uint16(1243), - 24: uint16(1243), - 25: uint16(1243), - 26: uint16(1243), - 27: uint16(1243), - 28: uint16(1477), - 29: uint16(1243), - 30: uint16(1243), - 31: uint16(1243), - 32: uint16(1243), - 33: uint16(1564), - 34: uint16(1564), - 35: uint16(1243), - 36: uint16(1243), - 37: uint16(1243), - 38: uint16(1243), - 39: uint16(1243), - 40: uint16(1243), - 41: uint16(1243), - 42: uint16(1243), - 43: uint16(1393), - 44: uint16(1243), - 45: uint16(1400), - 46: uint16(1243), - 47: uint16(1243), - 48: uint16(1243), - 49: uint16(1243), - 50: uint16(1243), - 51: uint16(1479), - 52: uint16(1480), - 53: uint16(1243), - 54: uint16(1243), - 55: uint16(1243), - 56: uint16(1530), - 57: uint16(1532), - 58: uint16(1495), - 59: uint16(1407), - 60: uint16(1406), - 61: uint16(1405), - 62: uint16(1404), - 63: uint16(1513), - 64: uint16(1372), - 65: uint16(1398), - 66: uint16(1391), - 67: uint16(1395), - 68: uint16(1474), - 69: uint16(1475), - 70: uint16(1473), - 71: uint16(1626), - 72: uint16(1480), - 73: uint16(1479), - 74: uint16(1243), - 75: uint16(1394), - 76: uint16(1442), - 77: uint16(1458), - 78: uint16(1441), - 79: uint16(1243), - 80: uint16(1243), - 81: uint16(1243), - 82: uint16(1243), - 83: uint16(1243), - 84: uint16(1243), - 85: uint16(1243), - 86: uint16(1243), - 87: uint16(1243), - 88: uint16(1243), - 89: uint16(1243), - 90: uint16(1243), - 91: uint16(1243), - 92: uint16(1243), - 93: uint16(1243), - 94: uint16(1243), - 95: uint16(1243), - 96: uint16(1243), - 97: uint16(1243), - 98: uint16(1243), - 99: uint16(1243), - 100: uint16(1243), - 101: uint16(1243), - 102: uint16(1243), - 103: uint16(1243), - 104: uint16(1243), - 105: uint16(1243), - 106: uint16(1243), - 107: uint16(1243), - 108: uint16(1243), - 109: uint16(1243), - 110: uint16(1243), - 111: uint16(1243), - 112: uint16(1243), - 113: uint16(1243), - 114: uint16(1243), - 115: uint16(1243), - 116: uint16(1243), - 117: uint16(1243), - 118: uint16(1243), - 119: uint16(1243), - 120: uint16(1243), - 121: uint16(1243), - 122: uint16(1243), - 123: uint16(1243), - 124: uint16(1243), - 125: uint16(1243), - 126: uint16(1243), - 127: uint16(1243), - 128: uint16(1243), - 129: uint16(1243), - 130: uint16(1243), - 131: uint16(1450), - 132: uint16(1457), - 133: uint16(1456), - 134: uint16(1455), - 135: uint16(1464), - 136: uint16(1454), - 137: uint16(1451), - 138: uint16(1444), - 139: uint16(1443), - 140: uint16(1445), - 141: uint16(1446), - 142: uint16(1243), - 143: uint16(1243), - 144: uint16(1267), - 145: uint16(1243), - 146: uint16(1243), - 147: uint16(1264), - 148: uint16(1318), - 149: uint16(1243), - 150: uint16(1243), - 151: uint16(1243), - 152: uint16(1243), - 153: uint16(1243), - 154: uint16(1550), - 155: uint16(1549), - 156: uint16(1243), - 157: uint16(1447), - 158: uint16(1243), - 159: uint16(1276), - 160: uint16(1435), - 161: uint16(1434), - 162: uint16(1433), - 163: uint16(1461), - 164: uint16(1448), - 165: uint16(1460), - 166: uint16(1459), - 167: uint16(1538), - 168: uint16(1600), - 169: uint16(1599), - 170: uint16(1496), - 171: uint16(1243), - 172: uint16(1243), - 173: uint16(1243), - 174: uint16(1243), - 175: uint16(1243), - 176: uint16(1243), - 177: uint16(1564), - 178: uint16(1243), - 179: uint16(1243), - 180: uint16(1243), - 181: uint16(1243), - 182: uint16(1243), - 183: uint16(1243), - 184: uint16(1243), - 185: uint16(1243), - 186: uint16(1243), - 187: uint16(1243), - 188: uint16(1243), - 189: uint16(1243), - 190: uint16(1243), - 191: uint16(1243), - 192: uint16(1243), - 193: uint16(1243), - 194: uint16(1243), - 195: uint16(1243), - 196: uint16(1243), - 197: uint16(1243), - 198: uint16(1243), - 199: uint16(1243), - 200: uint16(1243), - 201: uint16(1374), - 202: uint16(1564), - 203: uint16(1564), - 204: uint16(1243), - 205: uint16(1276), - 206: uint16(1564), - 207: uint16(1564), - 208: uint16(1375), - 209: uint16(1375), - 210: uint16(1272), - 211: uint16(1272), - 212: uint16(1378), - 213: uint16(1243), - 214: uint16(1545), - 215: uint16(1345), - 216: uint16(1345), - 217: uint16(1345), - 218: uint16(1345), - 219: uint16(1354), - 220: uint16(1345), - 221: uint16(1243), - 222: uint16(1243), - 223: uint16(1243), - 224: uint16(1243), - 225: uint16(1243), - 226: uint16(1243), - 227: uint16(1243), - 228: uint16(1243), - 229: uint16(1243), - 230: uint16(1243), - 231: uint16(1243), - 232: uint16(1243), - 233: uint16(1243), - 234: uint16(1243), - 235: uint16(1243), - 236: uint16(1535), - 237: uint16(1533), - 238: uint16(1243), - 239: uint16(1243), - 240: uint16(1243), - 241: uint16(1243), - 242: uint16(1243), - 243: uint16(1243), - 244: uint16(1243), - 245: uint16(1243), - 246: uint16(1243), - 247: uint16(1243), - 248: uint16(1243), - 249: uint16(1243), - 250: uint16(1243), - 251: uint16(1243), - 252: uint16(1243), - 253: uint16(1243), - 254: uint16(1243), - 255: uint16(1243), - 256: uint16(1243), - 257: uint16(1243), - 258: uint16(1243), - 259: uint16(1243), - 260: uint16(1243), - 261: uint16(1243), - 262: uint16(1243), - 263: uint16(1243), - 264: uint16(1243), - 265: uint16(1350), - 266: uint16(1243), - 267: uint16(1243), - 268: uint16(1243), - 269: uint16(1243), - 270: uint16(1243), - 271: uint16(1243), - 272: uint16(1243), - 273: uint16(1243), - 274: uint16(1243), - 275: uint16(1243), - 276: uint16(1243), - 277: uint16(1593), - 278: uint16(1243), - 279: uint16(1508), - 280: uint16(1332), - 281: uint16(1350), - 282: uint16(1350), - 283: uint16(1350), - 284: uint16(1350), - 285: uint16(1352), - 286: uint16(1333), - 287: uint16(1331), - 288: uint16(1344), - 289: uint16(1277), - 290: uint16(1250), - 291: uint16(1640), - 292: uint16(1410), - 293: uint16(1399), - 294: uint16(1351), - 295: uint16(1399), - 296: uint16(1637), - 297: uint16(1397), + 399: int16(1690), + 400: int16(1782), + 401: int16(1779), + 402: int16(1780), + 403: int16(1781), + 404: int16(1785), + 405: int16(1788), + 406: int16(1774), + 407: int16(1775), + 408: int16(1786), + 409: int16(1787), + 410: int16(1789), + 411: int16(1798), +} +var _yy_default = [583]uint16{ + 0: uint16(1663), + 1: uint16(1663), + 2: uint16(1663), + 3: uint16(1491), + 4: uint16(1254), + 5: uint16(1367), + 6: uint16(1254), + 7: uint16(1254), + 8: uint16(1254), + 9: uint16(1254), + 10: uint16(1491), + 11: uint16(1491), + 12: uint16(1491), + 13: uint16(1254), + 14: uint16(1254), + 15: uint16(1254), + 16: uint16(1254), + 17: uint16(1254), + 18: uint16(1254), + 19: uint16(1397), + 20: uint16(1397), + 21: uint16(1544), + 22: uint16(1287), + 23: uint16(1254), + 24: uint16(1254), + 25: uint16(1254), + 26: uint16(1254), + 27: uint16(1254), + 28: uint16(1254), + 29: uint16(1254), + 30: uint16(1254), + 31: uint16(1254), + 32: uint16(1254), + 33: uint16(1254), + 34: uint16(1254), + 35: uint16(1490), + 36: uint16(1254), + 37: uint16(1254), + 38: uint16(1254), + 39: uint16(1254), + 40: uint16(1578), + 41: uint16(1578), + 42: uint16(1254), + 43: uint16(1254), + 44: uint16(1254), + 45: uint16(1254), + 46: uint16(1254), + 47: uint16(1563), + 48: uint16(1562), + 49: uint16(1254), + 50: uint16(1254), + 51: uint16(1254), + 52: uint16(1406), + 53: uint16(1254), + 54: uint16(1413), + 55: uint16(1254), + 56: uint16(1254), + 57: uint16(1254), + 58: uint16(1254), + 59: uint16(1254), + 60: uint16(1492), + 61: uint16(1493), + 62: uint16(1254), + 63: uint16(1254), + 64: uint16(1254), + 65: uint16(1543), + 66: uint16(1545), + 67: uint16(1508), + 68: uint16(1420), + 69: uint16(1419), + 70: uint16(1418), + 71: uint16(1417), + 72: uint16(1526), + 73: uint16(1385), + 74: uint16(1411), + 75: uint16(1404), + 76: uint16(1408), + 77: uint16(1487), + 78: uint16(1488), + 79: uint16(1486), + 80: uint16(1641), + 81: uint16(1493), + 82: uint16(1492), + 83: uint16(1254), + 84: uint16(1407), + 85: uint16(1455), + 86: uint16(1471), + 87: uint16(1454), + 88: uint16(1254), + 89: uint16(1254), + 90: uint16(1254), + 91: uint16(1254), + 92: uint16(1254), + 93: uint16(1254), + 94: uint16(1254), + 95: uint16(1254), + 96: uint16(1254), + 97: uint16(1254), + 98: uint16(1254), + 99: uint16(1254), + 100: uint16(1254), + 101: uint16(1254), + 102: uint16(1254), + 103: uint16(1254), + 104: uint16(1254), + 105: uint16(1254), + 106: uint16(1254), + 107: uint16(1254), + 108: uint16(1254), + 109: uint16(1254), + 110: uint16(1254), + 111: uint16(1254), + 112: uint16(1254), + 113: uint16(1254), + 114: uint16(1254), + 115: uint16(1254), + 116: uint16(1254), + 117: uint16(1254), + 118: uint16(1254), + 119: uint16(1254), + 120: uint16(1254), + 121: uint16(1254), + 122: uint16(1254), + 123: uint16(1254), + 124: uint16(1254), + 125: uint16(1254), + 126: uint16(1254), + 127: uint16(1254), + 128: uint16(1254), + 129: uint16(1254), + 130: uint16(1254), + 131: uint16(1254), + 132: uint16(1254), + 133: uint16(1254), + 134: uint16(1254), + 135: uint16(1254), + 136: uint16(1254), + 137: uint16(1254), + 138: uint16(1254), + 139: uint16(1254), + 140: uint16(1463), + 141: uint16(1470), + 142: uint16(1469), + 143: uint16(1468), + 144: uint16(1477), + 145: uint16(1467), + 146: uint16(1464), + 147: uint16(1457), + 148: uint16(1456), + 149: uint16(1458), + 150: uint16(1459), + 151: uint16(1278), + 152: uint16(1254), + 153: uint16(1275), + 154: uint16(1329), + 155: uint16(1254), + 156: uint16(1254), + 157: uint16(1254), + 158: uint16(1254), + 159: uint16(1254), + 160: uint16(1460), + 161: uint16(1287), + 162: uint16(1448), + 163: uint16(1447), + 164: uint16(1446), + 165: uint16(1254), + 166: uint16(1474), + 167: uint16(1461), + 168: uint16(1473), + 169: uint16(1472), + 170: uint16(1551), + 171: uint16(1615), + 172: uint16(1614), + 173: uint16(1509), + 174: uint16(1254), + 175: uint16(1254), + 176: uint16(1254), + 177: uint16(1254), + 178: uint16(1254), + 179: uint16(1254), + 180: uint16(1578), + 181: uint16(1254), + 182: uint16(1254), + 183: uint16(1254), + 184: uint16(1254), + 185: uint16(1254), + 186: uint16(1254), + 187: uint16(1254), + 188: uint16(1254), + 189: uint16(1254), + 190: uint16(1254), + 191: uint16(1254), + 192: uint16(1254), + 193: uint16(1254), + 194: uint16(1254), + 195: uint16(1254), + 196: uint16(1254), + 197: uint16(1254), + 198: uint16(1254), + 199: uint16(1254), + 200: uint16(1254), + 201: uint16(1254), + 202: uint16(1254), + 203: uint16(1387), + 204: uint16(1578), + 205: uint16(1578), + 206: uint16(1254), + 207: uint16(1287), + 208: uint16(1578), + 209: uint16(1578), + 210: uint16(1388), + 211: uint16(1388), + 212: uint16(1283), + 213: uint16(1283), + 214: uint16(1391), + 215: uint16(1558), + 216: uint16(1358), + 217: uint16(1358), + 218: uint16(1358), + 219: uint16(1358), + 220: uint16(1367), + 221: uint16(1358), + 222: uint16(1254), + 223: uint16(1254), + 224: uint16(1254), + 225: uint16(1254), + 226: uint16(1254), + 227: uint16(1254), + 228: uint16(1254), + 229: uint16(1254), + 230: uint16(1254), + 231: uint16(1254), + 232: uint16(1254), + 233: uint16(1254), + 234: uint16(1254), + 235: uint16(1254), + 236: uint16(1254), + 237: uint16(1548), + 238: uint16(1546), + 239: uint16(1254), + 240: uint16(1254), + 241: uint16(1254), + 242: uint16(1254), + 243: uint16(1254), + 244: uint16(1254), + 245: uint16(1254), + 246: uint16(1254), + 247: uint16(1254), + 248: uint16(1254), + 249: uint16(1254), + 250: uint16(1254), + 251: uint16(1254), + 252: uint16(1254), + 253: uint16(1254), + 254: uint16(1254), + 255: uint16(1254), + 256: uint16(1254), + 257: uint16(1254), + 258: uint16(1254), + 259: uint16(1254), + 260: uint16(1254), + 261: uint16(1254), + 262: uint16(1254), + 263: uint16(1254), + 264: uint16(1254), + 265: uint16(1254), + 266: uint16(1363), + 267: uint16(1254), + 268: uint16(1254), + 269: uint16(1254), + 270: uint16(1254), + 271: uint16(1254), + 272: uint16(1254), + 273: uint16(1254), + 274: uint16(1254), + 275: uint16(1254), + 276: uint16(1254), + 277: uint16(1254), + 278: uint16(1608), + 279: uint16(1254), + 280: uint16(1521), + 281: uint16(1343), + 282: uint16(1363), + 283: uint16(1363), + 284: uint16(1363), + 285: uint16(1363), + 286: uint16(1365), + 287: uint16(1344), + 288: uint16(1342), + 289: uint16(1357), + 290: uint16(1288), + 291: uint16(1261), + 292: uint16(1655), + 293: uint16(1423), + 294: uint16(1412), + 295: uint16(1364), + 296: uint16(1412), + 297: uint16(1652), 298: uint16(1410), - 299: uint16(1410), - 300: uint16(1397), + 299: uint16(1423), + 300: uint16(1423), 301: uint16(1410), - 302: uint16(1351), - 303: uint16(1637), - 304: uint16(1293), - 305: uint16(1615), - 306: uint16(1288), - 307: uint16(1384), - 308: uint16(1384), - 309: uint16(1384), - 310: uint16(1374), - 311: uint16(1374), - 312: uint16(1374), - 313: uint16(1374), - 314: uint16(1378), - 315: uint16(1378), - 316: uint16(1476), - 317: uint16(1351), - 318: uint16(1344), - 319: uint16(1243), - 320: uint16(1640), - 321: uint16(1640), - 322: uint16(1360), - 323: uint16(1360), - 324: uint16(1639), - 325: uint16(1639), - 326: uint16(1360), - 327: uint16(1496), - 328: uint16(1623), - 329: uint16(1419), - 330: uint16(1321), - 331: uint16(1327), - 332: uint16(1327), - 333: uint16(1327), - 334: uint16(1327), - 335: uint16(1360), - 336: uint16(1261), - 337: uint16(1397), - 338: uint16(1623), - 339: uint16(1623), - 340: uint16(1397), - 341: uint16(1419), - 342: uint16(1321), - 343: uint16(1397), - 344: uint16(1321), - 345: uint16(1397), - 346: uint16(1360), - 347: uint16(1261), - 348: uint16(1512), - 349: uint16(1634), - 350: uint16(1360), - 351: uint16(1261), - 352: uint16(1486), - 353: uint16(1360), - 354: uint16(1261), - 355: uint16(1360), - 356: uint16(1261), - 357: uint16(1486), - 358: uint16(1319), - 359: uint16(1319), - 360: uint16(1319), - 361: uint16(1308), - 362: uint16(1243), - 363: uint16(1243), - 364: uint16(1486), - 365: uint16(1319), - 366: uint16(1293), - 367: uint16(1319), - 368: uint16(1308), + 302: uint16(1423), + 303: uint16(1364), + 304: uint16(1652), + 305: uint16(1304), + 306: uint16(1630), + 307: uint16(1299), + 308: uint16(1397), + 309: uint16(1397), + 310: uint16(1397), + 311: uint16(1387), + 312: uint16(1387), + 313: uint16(1387), + 314: uint16(1387), + 315: uint16(1391), + 316: uint16(1391), + 317: uint16(1489), + 318: uint16(1364), + 319: uint16(1357), + 320: uint16(1254), + 321: uint16(1655), + 322: uint16(1655), + 323: uint16(1373), + 324: uint16(1373), + 325: uint16(1654), + 326: uint16(1654), + 327: uint16(1373), + 328: uint16(1509), + 329: uint16(1638), + 330: uint16(1432), + 331: uint16(1332), + 332: uint16(1338), + 333: uint16(1338), + 334: uint16(1338), + 335: uint16(1338), + 336: uint16(1373), + 337: uint16(1272), + 338: uint16(1410), + 339: uint16(1638), + 340: uint16(1638), + 341: uint16(1410), + 342: uint16(1432), + 343: uint16(1332), + 344: uint16(1410), + 345: uint16(1332), + 346: uint16(1410), + 347: uint16(1373), + 348: uint16(1272), + 349: uint16(1525), + 350: uint16(1649), + 351: uint16(1373), + 352: uint16(1272), + 353: uint16(1499), + 354: uint16(1373), + 355: uint16(1272), + 356: uint16(1373), + 357: uint16(1272), + 358: uint16(1499), + 359: uint16(1330), + 360: uint16(1330), + 361: uint16(1330), + 362: uint16(1319), + 363: uint16(1254), + 364: uint16(1254), + 365: uint16(1499), + 366: uint16(1330), + 367: uint16(1304), + 368: uint16(1330), 369: uint16(1319), - 370: uint16(1319), - 371: uint16(1582), - 372: uint16(1243), - 373: uint16(1490), - 374: uint16(1490), - 375: uint16(1486), - 376: uint16(1360), - 377: uint16(1574), - 378: uint16(1574), - 379: uint16(1387), - 380: uint16(1387), - 381: uint16(1392), - 382: uint16(1378), - 383: uint16(1481), - 384: uint16(1360), - 385: uint16(1243), - 386: uint16(1392), - 387: uint16(1390), - 388: uint16(1388), - 389: uint16(1397), - 390: uint16(1311), - 391: uint16(1596), - 392: uint16(1596), - 393: uint16(1592), - 394: uint16(1592), - 395: uint16(1592), - 396: uint16(1645), - 397: uint16(1645), - 398: uint16(1545), - 399: uint16(1608), - 400: uint16(1276), - 401: uint16(1276), - 402: uint16(1276), - 403: uint16(1276), - 404: uint16(1608), - 405: uint16(1295), - 406: uint16(1295), - 407: uint16(1277), - 408: uint16(1277), - 409: uint16(1276), - 410: uint16(1608), - 411: uint16(1243), - 412: uint16(1243), - 413: uint16(1243), - 414: uint16(1243), - 415: uint16(1243), - 416: uint16(1243), - 417: uint16(1603), - 418: uint16(1243), - 419: uint16(1540), - 420: uint16(1497), - 421: uint16(1364), - 422: uint16(1243), - 423: uint16(1243), - 424: uint16(1243), - 425: uint16(1243), - 426: uint16(1243), - 427: uint16(1243), - 428: uint16(1243), - 429: uint16(1243), - 430: uint16(1243), - 431: uint16(1243), - 432: uint16(1243), - 433: uint16(1243), - 434: uint16(1243), - 435: uint16(1243), - 436: uint16(1243), - 437: uint16(1243), - 438: uint16(1551), - 439: uint16(1243), - 440: uint16(1243), - 441: uint16(1243), - 442: uint16(1243), - 443: uint16(1243), - 444: uint16(1243), - 445: uint16(1243), - 446: uint16(1243), - 447: uint16(1243), - 448: uint16(1243), - 449: uint16(1424), - 450: uint16(1243), - 451: uint16(1246), - 452: uint16(1542), - 453: uint16(1243), - 454: uint16(1243), - 455: uint16(1243), - 456: uint16(1243), - 457: uint16(1243), - 458: uint16(1243), - 459: uint16(1243), - 460: uint16(1243), - 461: uint16(1401), - 462: uint16(1402), - 463: uint16(1365), - 464: uint16(1243), - 465: uint16(1243), - 466: uint16(1243), - 467: uint16(1243), - 468: uint16(1243), - 469: uint16(1243), - 470: uint16(1243), - 471: uint16(1416), - 472: uint16(1243), - 473: uint16(1243), - 474: uint16(1243), - 475: uint16(1411), - 476: uint16(1243), - 477: uint16(1243), - 478: uint16(1243), - 479: uint16(1243), - 480: uint16(1243), - 481: uint16(1243), - 482: uint16(1243), - 483: uint16(1243), - 484: uint16(1636), - 485: uint16(1243), - 486: uint16(1243), - 487: uint16(1243), - 488: uint16(1243), - 489: uint16(1243), - 490: uint16(1243), - 491: uint16(1511), - 492: uint16(1510), - 493: uint16(1243), - 494: uint16(1243), - 495: uint16(1362), - 496: uint16(1243), - 497: uint16(1243), - 498: uint16(1243), - 499: uint16(1243), - 500: uint16(1243), - 501: uint16(1243), - 502: uint16(1243), - 503: uint16(1243), - 504: uint16(1243), - 505: uint16(1243), - 506: uint16(1243), - 507: uint16(1243), - 508: uint16(1243), - 509: uint16(1291), - 510: uint16(1243), - 511: uint16(1243), - 512: uint16(1243), - 513: uint16(1243), - 514: uint16(1243), - 515: uint16(1243), - 516: uint16(1243), - 517: uint16(1243), - 518: uint16(1243), - 519: uint16(1243), - 520: uint16(1243), - 521: uint16(1243), - 522: uint16(1243), - 523: uint16(1243), - 524: uint16(1243), - 525: uint16(1243), - 526: uint16(1243), - 527: uint16(1243), - 528: uint16(1243), - 529: uint16(1243), - 530: uint16(1243), - 531: uint16(1243), - 532: uint16(1243), - 533: uint16(1389), - 534: uint16(1243), - 535: uint16(1243), - 536: uint16(1243), - 537: uint16(1243), - 538: uint16(1243), - 539: uint16(1243), - 540: uint16(1243), - 541: uint16(1243), - 542: uint16(1243), - 543: uint16(1243), - 544: uint16(1243), - 545: uint16(1243), - 546: uint16(1243), - 547: uint16(1243), - 548: uint16(1579), - 549: uint16(1379), - 550: uint16(1243), - 551: uint16(1243), - 552: uint16(1243), - 553: uint16(1243), - 554: uint16(1627), - 555: uint16(1243), - 556: uint16(1243), - 557: uint16(1243), - 558: uint16(1243), - 559: uint16(1243), - 560: uint16(1243), - 561: uint16(1243), - 562: uint16(1243), - 563: uint16(1243), - 564: uint16(1243), - 565: uint16(1243), - 566: uint16(1243), - 567: uint16(1243), - 568: uint16(1243), - 569: uint16(1619), - 570: uint16(1335), - 571: uint16(1425), - 572: uint16(1243), - 573: uint16(1428), - 574: uint16(1265), - 575: uint16(1243), - 576: uint16(1255), - 577: uint16(1243), - 578: uint16(1243), + 370: uint16(1330), + 371: uint16(1330), + 372: uint16(1596), + 373: uint16(1254), + 374: uint16(1503), + 375: uint16(1503), + 376: uint16(1499), + 377: uint16(1373), + 378: uint16(1588), + 379: uint16(1588), + 380: uint16(1400), + 381: uint16(1400), + 382: uint16(1405), + 383: uint16(1391), + 384: uint16(1494), + 385: uint16(1373), + 386: uint16(1254), + 387: uint16(1405), + 388: uint16(1403), + 389: uint16(1401), + 390: uint16(1410), + 391: uint16(1322), + 392: uint16(1611), + 393: uint16(1611), + 394: uint16(1607), + 395: uint16(1607), + 396: uint16(1607), + 397: uint16(1660), + 398: uint16(1660), + 399: uint16(1558), + 400: uint16(1623), + 401: uint16(1287), + 402: uint16(1287), + 403: uint16(1287), + 404: uint16(1287), + 405: uint16(1623), + 406: uint16(1306), + 407: uint16(1306), + 408: uint16(1288), + 409: uint16(1288), + 410: uint16(1287), + 411: uint16(1623), + 412: uint16(1254), + 413: uint16(1254), + 414: uint16(1254), + 415: uint16(1254), + 416: uint16(1254), + 417: uint16(1254), + 418: uint16(1618), + 419: uint16(1254), + 420: uint16(1553), + 421: uint16(1510), + 422: uint16(1377), + 423: uint16(1254), + 424: uint16(1254), + 425: uint16(1254), + 426: uint16(1254), + 427: uint16(1254), + 428: uint16(1254), + 429: uint16(1254), + 430: uint16(1254), + 431: uint16(1254), + 432: uint16(1254), + 433: uint16(1254), + 434: uint16(1254), + 435: uint16(1254), + 436: uint16(1254), + 437: uint16(1254), + 438: uint16(1254), + 439: uint16(1564), + 440: uint16(1254), + 441: uint16(1254), + 442: uint16(1254), + 443: uint16(1254), + 444: uint16(1254), + 445: uint16(1254), + 446: uint16(1254), + 447: uint16(1254), + 448: uint16(1254), + 449: uint16(1254), + 450: uint16(1254), + 451: uint16(1437), + 452: uint16(1254), + 453: uint16(1257), + 454: uint16(1555), + 455: uint16(1254), + 456: uint16(1254), + 457: uint16(1254), + 458: uint16(1254), + 459: uint16(1254), + 460: uint16(1254), + 461: uint16(1254), + 462: uint16(1254), + 463: uint16(1414), + 464: uint16(1415), + 465: uint16(1378), + 466: uint16(1254), + 467: uint16(1254), + 468: uint16(1254), + 469: uint16(1254), + 470: uint16(1254), + 471: uint16(1254), + 472: uint16(1254), + 473: uint16(1429), + 474: uint16(1254), + 475: uint16(1254), + 476: uint16(1254), + 477: uint16(1424), + 478: uint16(1254), + 479: uint16(1254), + 480: uint16(1254), + 481: uint16(1254), + 482: uint16(1254), + 483: uint16(1254), + 484: uint16(1254), + 485: uint16(1254), + 486: uint16(1651), + 487: uint16(1254), + 488: uint16(1254), + 489: uint16(1254), + 490: uint16(1254), + 491: uint16(1254), + 492: uint16(1254), + 493: uint16(1524), + 494: uint16(1523), + 495: uint16(1254), + 496: uint16(1254), + 497: uint16(1375), + 498: uint16(1254), + 499: uint16(1254), + 500: uint16(1254), + 501: uint16(1254), + 502: uint16(1254), + 503: uint16(1254), + 504: uint16(1254), + 505: uint16(1254), + 506: uint16(1254), + 507: uint16(1254), + 508: uint16(1254), + 509: uint16(1254), + 510: uint16(1254), + 511: uint16(1302), + 512: uint16(1254), + 513: uint16(1254), + 514: uint16(1254), + 515: uint16(1254), + 516: uint16(1254), + 517: uint16(1254), + 518: uint16(1254), + 519: uint16(1254), + 520: uint16(1254), + 521: uint16(1254), + 522: uint16(1254), + 523: uint16(1254), + 524: uint16(1254), + 525: uint16(1254), + 526: uint16(1254), + 527: uint16(1254), + 528: uint16(1254), + 529: uint16(1254), + 530: uint16(1254), + 531: uint16(1254), + 532: uint16(1254), + 533: uint16(1254), + 534: uint16(1254), + 535: uint16(1402), + 536: uint16(1254), + 537: uint16(1254), + 538: uint16(1254), + 539: uint16(1254), + 540: uint16(1254), + 541: uint16(1254), + 542: uint16(1254), + 543: uint16(1254), + 544: uint16(1254), + 545: uint16(1254), + 546: uint16(1254), + 547: uint16(1254), + 548: uint16(1254), + 549: uint16(1254), + 550: uint16(1593), + 551: uint16(1392), + 552: uint16(1254), + 553: uint16(1254), + 554: uint16(1254), + 555: uint16(1254), + 556: uint16(1642), + 557: uint16(1254), + 558: uint16(1254), + 559: uint16(1254), + 560: uint16(1254), + 561: uint16(1352), + 562: uint16(1254), + 563: uint16(1254), + 564: uint16(1254), + 565: uint16(1254), + 566: uint16(1254), + 567: uint16(1254), + 568: uint16(1254), + 569: uint16(1254), + 570: uint16(1254), + 571: uint16(1254), + 572: uint16(1254), + 573: uint16(1634), + 574: uint16(1346), + 575: uint16(1438), + 576: uint16(1254), + 577: uint16(1441), + 578: uint16(1276), + 579: uint16(1254), + 580: uint16(1266), + 581: uint16(1254), + 582: uint16(1254), } /********** End of lemon-generated parsing tables *****************************/ @@ -152877,7 +154245,7 @@ var _yy_default = [579]uint16{ // ** to revert to identifiers if they keyword does not apply in the context where // ** it appears. // */ -var _yyFallback = [185]uint16{ +var _yyFallback = [186]uint16{ 2: uint16(59), 3: uint16(59), 4: uint16(59), @@ -152990,8 +154358,9 @@ type yyStackEntry = TyyStackEntry type TyyParser1 = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser1 = TyyParser1 @@ -152999,14 +154368,46 @@ type yyParser1 = TyyParser1 type TyyParser = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser = TyyParser /* #include */ +// C documentation +// +// /* +// ** Try to increase the size of the parser stack. Return the number +// ** of errors. Return 0 on success. +// */ +func _yyGrowStack(tls *libc.TLS, p uintptr) (r int32) { + var idx, newSize, oldSize int32 + var pNew uintptr + _, _, _, _ = idx, newSize, oldSize, pNew + oldSize = int32(1) + int32((int64((*TyyParser)(unsafe.Pointer(p)).FyystackEnd)-int64((*TyyParser)(unsafe.Pointer(p)).Fyystack))/24) + newSize = oldSize*int32(2) + int32(100) + idx = int32((int64((*TyyParser)(unsafe.Pointer(p)).Fyytos) - int64((*TyyParser)(unsafe.Pointer(p)).Fyystack)) / 24) + if (*TyyParser)(unsafe.Pointer(p)).Fyystack == p+32 { + pNew = _parserStackRealloc(tls, uintptr(0), uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + libc.Xmemcpy(tls, pNew, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(oldSize)*uint64(24)) + } else { + pNew = _parserStackRealloc(tls, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + } + (*TyyParser)(unsafe.Pointer(p)).Fyystack = pNew + (*TyyParser)(unsafe.Pointer(p)).Fyytos = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(idx)*24 + (*TyyParser)(unsafe.Pointer(p)).FyystackEnd = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(newSize-int32(1))*24 + return 0 +} + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -153022,10 +154423,11 @@ func _sqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { _ = yypParser yypParser = yypRawParser (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fstateno = uint16(0) - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fmajor = uint16(0) - (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = yypParser + 16 + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack = yypParser + 32 + (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fstateno = uint16(0) + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fmajor = uint16(0) } // C documentation @@ -153053,103 +154455,105 @@ func _yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor u ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case int32(204): /* select */ + case int32(205): /* select */ + fallthrough + case int32(240): /* selectnowith */ fallthrough - case int32(239): /* selectnowith */ + case int32(241): /* oneselect */ fallthrough - case int32(240): /* oneselect */ + case int32(253): /* values */ fallthrough - case int32(252): /* values */ + case int32(255): /* mvalues */ _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(216): /* term */ + case int32(217): /* term */ fallthrough - case int32(217): /* expr */ + case int32(218): /* expr */ fallthrough - case int32(246): /* where_opt */ + case int32(247): /* where_opt */ fallthrough - case int32(248): /* having_opt */ + case int32(249): /* having_opt */ fallthrough - case int32(267): /* where_opt_ret */ + case int32(269): /* where_opt_ret */ fallthrough - case int32(278): /* case_operand */ + case int32(280): /* case_operand */ fallthrough - case int32(280): /* case_else */ + case int32(282): /* case_else */ fallthrough - case int32(283): /* vinto */ + case int32(285): /* vinto */ fallthrough - case int32(290): /* when_clause */ + case int32(292): /* when_clause */ fallthrough - case int32(295): /* key_opt */ + case int32(297): /* key_opt */ fallthrough - case int32(311): /* filter_clause */ + case int32(314): /* filter_clause */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(221): /* eidlist_opt */ + case int32(222): /* eidlist_opt */ fallthrough - case int32(231): /* sortlist */ + case int32(232): /* sortlist */ fallthrough - case int32(232): /* eidlist */ + case int32(233): /* eidlist */ fallthrough - case int32(244): /* selcollist */ + case int32(245): /* selcollist */ fallthrough - case int32(247): /* groupby_opt */ + case int32(248): /* groupby_opt */ fallthrough - case int32(249): /* orderby_opt */ + case int32(250): /* orderby_opt */ fallthrough - case int32(253): /* nexprlist */ + case int32(254): /* nexprlist */ fallthrough - case int32(254): /* sclp */ + case int32(256): /* sclp */ fallthrough - case int32(261): /* exprlist */ + case int32(263): /* exprlist */ fallthrough - case int32(268): /* setlist */ + case int32(270): /* setlist */ fallthrough - case int32(277): /* paren_exprlist */ + case int32(279): /* paren_exprlist */ fallthrough - case int32(279): /* case_exprlist */ + case int32(281): /* case_exprlist */ fallthrough - case int32(310): /* part_opt */ + case int32(313): /* part_opt */ _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(238): /* fullname */ + case int32(239): /* fullname */ fallthrough - case int32(245): /* from */ + case int32(246): /* from */ fallthrough - case int32(256): /* seltablist */ + case int32(258): /* seltablist */ fallthrough - case int32(257): /* stl_prefix */ + case int32(259): /* stl_prefix */ fallthrough - case int32(262): /* xfullname */ + case int32(264): /* xfullname */ _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(241): /* wqlist */ + case int32(242): /* wqlist */ _sqlite3WithDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(251): /* window_clause */ + case int32(252): /* window_clause */ fallthrough - case int32(306): /* windowdefn_list */ + case int32(309): /* windowdefn_list */ _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(263): /* idlist */ + case int32(265): /* idlist */ fallthrough - case int32(270): /* idlist_opt */ + case int32(272): /* idlist_opt */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(273): /* filter_over */ + case int32(275): /* filter_over */ fallthrough - case int32(307): /* windowdefn */ + case int32(310): /* windowdefn */ fallthrough - case int32(308): /* window */ + case int32(311): /* window */ fallthrough - case int32(309): /* frame_opt */ + case int32(312): /* frame_opt */ fallthrough - case int32(312): /* over_clause */ + case int32(315): /* over_clause */ _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(286): /* trigger_cmd_list */ + case int32(288): /* trigger_cmd_list */ fallthrough - case int32(291): /* trigger_cmd */ + case int32(293): /* trigger_cmd */ _sqlite3DeleteTriggerStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(288): /* trigger_event */ + case int32(290): /* trigger_event */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TTrigEvent)(unsafe.Pointer(yypminor))).Fb) - case int32(314): /* frame_bound */ + case int32(317): /* frame_bound */ fallthrough - case int32(315): /* frame_bound_s */ + case int32(318): /* frame_bound_s */ fallthrough - case int32(316): /* frame_bound_e */ + case int32(319): /* frame_bound_e */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TFrameBound)(unsafe.Pointer(yypminor))).FpExpr) break /********* End destructor definitions *****************************************/ @@ -153183,11 +154587,20 @@ func _yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var pParser, yytos uintptr + _, _ = pParser, yytos pParser = p - for (*TyyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { - _yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling yy_pop_parser_stack() for each + ** element left in the stack */ + yytos = (*TyyParser)(unsafe.Pointer(pParser)).Fyytos + for yytos > (*TyyParser)(unsafe.Pointer(pParser)).Fyystack { + if int32((*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor) >= int32(YY_MIN_DSTRCTR) { + _yy_destructor(tls, pParser, (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor, yytos+8) + } + yytos -= 24 + } + if (*TyyParser)(unsafe.Pointer(pParser)).Fyystack != pParser+32 { + Xsqlite3_free(tls, (*TyyParser)(unsafe.Pointer(pParser)).Fyystack) } } @@ -153268,13 +154681,13 @@ func _yyStackOverflow(tls *libc.TLS, yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*TyyParser)(unsafe.Pointer(yypParser)).FpParse - for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { + for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack { _yy_pop_parser_stack(tls, yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23338, 0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) /******** End %stack_overflow code ********************************************/ /* Suppress warning about unused %extra_argument var */ (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -153293,15 +154706,18 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint var yytos uintptr _ = yytos (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 - if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 - _yyStackOverflow(tls, yypParser) - return + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + if yytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { + if _yyGrowStack(tls, yypParser) != 0 { + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 + _yyStackOverflow(tls, yypParser) + return + } + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos } if int32(yyNewState) > int32(YY_MAX_SHIFT) { yyNewState = uint16(int32(yyNewState) + (libc.Int32FromInt32(YY_MIN_REDUCE) - libc.Int32FromInt32(YY_MIN_SHIFTREDUCE))) } - yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos (*TyyStackEntry)(unsafe.Pointer(yytos)).Fstateno = yyNewState (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor = yyMajor *(*TToken)(unsafe.Pointer(yytos + 8)) = yyMinor @@ -153311,419 +154727,423 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint // // /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side // ** of that rule */ -var _yyRuleInfoLhs = [405]uint16{ - 0: uint16(189), - 1: uint16(189), - 2: uint16(188), - 3: uint16(190), - 4: uint16(191), - 5: uint16(191), - 6: uint16(191), - 7: uint16(191), - 8: uint16(190), - 9: uint16(190), - 10: uint16(190), - 11: uint16(190), - 12: uint16(190), - 13: uint16(195), - 14: uint16(197), - 15: uint16(199), - 16: uint16(199), - 17: uint16(198), - 18: uint16(198), - 19: uint16(196), - 20: uint16(196), - 21: uint16(203), - 22: uint16(203), - 23: uint16(205), - 24: uint16(205), - 25: uint16(206), - 26: uint16(208), - 27: uint16(208), - 28: uint16(208), - 29: uint16(209), - 30: uint16(213), - 31: uint16(214), - 32: uint16(215), - 33: uint16(215), - 34: uint16(215), - 35: uint16(215), - 36: uint16(215), - 37: uint16(215), - 38: uint16(215), - 39: uint16(215), - 40: uint16(215), - 41: uint16(215), - 42: uint16(215), - 43: uint16(215), - 44: uint16(215), - 45: uint16(224), - 46: uint16(224), - 47: uint16(220), - 48: uint16(220), - 49: uint16(222), - 50: uint16(222), - 51: uint16(225), - 52: uint16(225), - 53: uint16(225), - 54: uint16(225), - 55: uint16(226), - 56: uint16(226), - 57: uint16(226), - 58: uint16(226), - 59: uint16(226), - 60: uint16(223), - 61: uint16(223), - 62: uint16(227), - 63: uint16(227), - 64: uint16(227), - 65: uint16(202), - 66: uint16(229), - 67: uint16(230), - 68: uint16(230), - 69: uint16(230), - 70: uint16(230), - 71: uint16(230), - 72: uint16(233), - 73: uint16(218), - 74: uint16(218), - 75: uint16(234), - 76: uint16(234), - 77: uint16(235), - 78: uint16(235), - 79: uint16(190), - 80: uint16(237), - 81: uint16(237), - 82: uint16(190), - 83: uint16(190), - 84: uint16(190), - 85: uint16(204), - 86: uint16(204), - 87: uint16(204), - 88: uint16(239), - 89: uint16(242), - 90: uint16(242), - 91: uint16(242), - 92: uint16(240), - 93: uint16(240), - 94: uint16(252), - 95: uint16(252), - 96: uint16(243), - 97: uint16(243), - 98: uint16(243), - 99: uint16(254), +var _yyRuleInfoLhs = [409]uint16{ + 0: uint16(190), + 1: uint16(190), + 2: uint16(189), + 3: uint16(191), + 4: uint16(192), + 5: uint16(192), + 6: uint16(192), + 7: uint16(192), + 8: uint16(191), + 9: uint16(191), + 10: uint16(191), + 11: uint16(191), + 12: uint16(191), + 13: uint16(196), + 14: uint16(198), + 15: uint16(200), + 16: uint16(200), + 17: uint16(199), + 18: uint16(199), + 19: uint16(197), + 20: uint16(197), + 21: uint16(204), + 22: uint16(204), + 23: uint16(206), + 24: uint16(206), + 25: uint16(207), + 26: uint16(209), + 27: uint16(209), + 28: uint16(209), + 29: uint16(210), + 30: uint16(214), + 31: uint16(215), + 32: uint16(216), + 33: uint16(216), + 34: uint16(216), + 35: uint16(216), + 36: uint16(216), + 37: uint16(216), + 38: uint16(216), + 39: uint16(216), + 40: uint16(216), + 41: uint16(216), + 42: uint16(216), + 43: uint16(216), + 44: uint16(216), + 45: uint16(225), + 46: uint16(225), + 47: uint16(221), + 48: uint16(221), + 49: uint16(223), + 50: uint16(223), + 51: uint16(226), + 52: uint16(226), + 53: uint16(226), + 54: uint16(226), + 55: uint16(227), + 56: uint16(227), + 57: uint16(227), + 58: uint16(227), + 59: uint16(227), + 60: uint16(224), + 61: uint16(224), + 62: uint16(228), + 63: uint16(228), + 64: uint16(228), + 65: uint16(203), + 66: uint16(230), + 67: uint16(231), + 68: uint16(231), + 69: uint16(231), + 70: uint16(231), + 71: uint16(231), + 72: uint16(234), + 73: uint16(219), + 74: uint16(219), + 75: uint16(235), + 76: uint16(235), + 77: uint16(236), + 78: uint16(236), + 79: uint16(191), + 80: uint16(238), + 81: uint16(238), + 82: uint16(191), + 83: uint16(191), + 84: uint16(191), + 85: uint16(205), + 86: uint16(205), + 87: uint16(205), + 88: uint16(240), + 89: uint16(243), + 90: uint16(243), + 91: uint16(243), + 92: uint16(241), + 93: uint16(241), + 94: uint16(253), + 95: uint16(241), + 96: uint16(255), + 97: uint16(255), + 98: uint16(244), + 99: uint16(244), 100: uint16(244), - 101: uint16(244), - 102: uint16(244), - 103: uint16(255), - 104: uint16(255), - 105: uint16(245), - 106: uint16(245), - 107: uint16(257), - 108: uint16(257), - 109: uint16(256), - 110: uint16(256), - 111: uint16(256), - 112: uint16(256), - 113: uint16(256), - 114: uint16(200), - 115: uint16(200), - 116: uint16(238), - 117: uint16(238), - 118: uint16(262), - 119: uint16(262), - 120: uint16(262), - 121: uint16(262), - 122: uint16(258), - 123: uint16(258), - 124: uint16(258), - 125: uint16(258), - 126: uint16(259), - 127: uint16(259), - 128: uint16(259), - 129: uint16(264), - 130: uint16(260), - 131: uint16(260), - 132: uint16(249), - 133: uint16(249), - 134: uint16(231), - 135: uint16(231), - 136: uint16(219), - 137: uint16(219), - 138: uint16(219), - 139: uint16(265), - 140: uint16(265), - 141: uint16(265), - 142: uint16(247), - 143: uint16(247), + 101: uint16(256), + 102: uint16(245), + 103: uint16(245), + 104: uint16(245), + 105: uint16(257), + 106: uint16(257), + 107: uint16(246), + 108: uint16(246), + 109: uint16(259), + 110: uint16(259), + 111: uint16(258), + 112: uint16(258), + 113: uint16(258), + 114: uint16(258), + 115: uint16(258), + 116: uint16(201), + 117: uint16(201), + 118: uint16(239), + 119: uint16(239), + 120: uint16(264), + 121: uint16(264), + 122: uint16(264), + 123: uint16(264), + 124: uint16(260), + 125: uint16(260), + 126: uint16(260), + 127: uint16(260), + 128: uint16(261), + 129: uint16(261), + 130: uint16(261), + 131: uint16(266), + 132: uint16(262), + 133: uint16(262), + 134: uint16(250), + 135: uint16(250), + 136: uint16(232), + 137: uint16(232), + 138: uint16(220), + 139: uint16(220), + 140: uint16(220), + 141: uint16(267), + 142: uint16(267), + 143: uint16(267), 144: uint16(248), 145: uint16(248), - 146: uint16(250), - 147: uint16(250), - 148: uint16(250), - 149: uint16(250), - 150: uint16(190), - 151: uint16(246), - 152: uint16(246), - 153: uint16(267), - 154: uint16(267), - 155: uint16(267), - 156: uint16(267), - 157: uint16(190), - 158: uint16(268), - 159: uint16(268), - 160: uint16(268), - 161: uint16(268), - 162: uint16(190), - 163: uint16(190), - 164: uint16(271), - 165: uint16(271), - 166: uint16(271), - 167: uint16(271), - 168: uint16(271), - 169: uint16(271), - 170: uint16(272), - 171: uint16(269), - 172: uint16(269), - 173: uint16(270), - 174: uint16(270), - 175: uint16(263), - 176: uint16(263), - 177: uint16(217), - 178: uint16(217), - 179: uint16(217), - 180: uint16(217), - 181: uint16(216), - 182: uint16(216), - 183: uint16(216), + 146: uint16(249), + 147: uint16(249), + 148: uint16(251), + 149: uint16(251), + 150: uint16(251), + 151: uint16(251), + 152: uint16(191), + 153: uint16(247), + 154: uint16(247), + 155: uint16(269), + 156: uint16(269), + 157: uint16(269), + 158: uint16(269), + 159: uint16(191), + 160: uint16(270), + 161: uint16(270), + 162: uint16(270), + 163: uint16(270), + 164: uint16(191), + 165: uint16(191), + 166: uint16(273), + 167: uint16(273), + 168: uint16(273), + 169: uint16(273), + 170: uint16(273), + 171: uint16(273), + 172: uint16(274), + 173: uint16(271), + 174: uint16(271), + 175: uint16(272), + 176: uint16(272), + 177: uint16(265), + 178: uint16(265), + 179: uint16(218), + 180: uint16(218), + 181: uint16(218), + 182: uint16(218), + 183: uint16(217), 184: uint16(217), 185: uint16(217), - 186: uint16(217), - 187: uint16(217), - 188: uint16(217), - 189: uint16(217), - 190: uint16(217), - 191: uint16(217), - 192: uint16(217), - 193: uint16(216), - 194: uint16(217), + 186: uint16(218), + 187: uint16(218), + 188: uint16(218), + 189: uint16(218), + 190: uint16(218), + 191: uint16(218), + 192: uint16(218), + 193: uint16(218), + 194: uint16(218), 195: uint16(217), - 196: uint16(217), - 197: uint16(217), - 198: uint16(217), - 199: uint16(217), - 200: uint16(217), - 201: uint16(217), - 202: uint16(217), - 203: uint16(274), - 204: uint16(217), - 205: uint16(217), - 206: uint16(217), - 207: uint16(217), - 208: uint16(217), - 209: uint16(217), - 210: uint16(217), - 211: uint16(217), - 212: uint16(217), - 213: uint16(217), - 214: uint16(217), - 215: uint16(217), - 216: uint16(275), - 217: uint16(275), - 218: uint16(217), - 219: uint16(276), - 220: uint16(276), - 221: uint16(217), - 222: uint16(217), - 223: uint16(217), - 224: uint16(217), - 225: uint16(217), - 226: uint16(217), - 227: uint16(279), - 228: uint16(279), - 229: uint16(280), - 230: uint16(280), - 231: uint16(278), - 232: uint16(261), - 233: uint16(253), - 234: uint16(253), - 235: uint16(277), - 236: uint16(277), - 237: uint16(190), - 238: uint16(281), - 239: uint16(281), - 240: uint16(221), - 241: uint16(221), - 242: uint16(232), - 243: uint16(232), - 244: uint16(282), - 245: uint16(282), - 246: uint16(190), - 247: uint16(190), - 248: uint16(190), - 249: uint16(283), - 250: uint16(283), - 251: uint16(190), - 252: uint16(190), - 253: uint16(190), - 254: uint16(190), - 255: uint16(190), - 256: uint16(211), - 257: uint16(212), - 258: uint16(190), - 259: uint16(285), - 260: uint16(287), + 196: uint16(218), + 197: uint16(218), + 198: uint16(218), + 199: uint16(218), + 200: uint16(218), + 201: uint16(218), + 202: uint16(218), + 203: uint16(218), + 204: uint16(218), + 205: uint16(276), + 206: uint16(218), + 207: uint16(218), + 208: uint16(218), + 209: uint16(218), + 210: uint16(218), + 211: uint16(218), + 212: uint16(218), + 213: uint16(218), + 214: uint16(218), + 215: uint16(218), + 216: uint16(218), + 217: uint16(218), + 218: uint16(277), + 219: uint16(277), + 220: uint16(218), + 221: uint16(278), + 222: uint16(278), + 223: uint16(218), + 224: uint16(218), + 225: uint16(218), + 226: uint16(218), + 227: uint16(218), + 228: uint16(218), + 229: uint16(281), + 230: uint16(281), + 231: uint16(282), + 232: uint16(282), + 233: uint16(280), + 234: uint16(263), + 235: uint16(254), + 236: uint16(254), + 237: uint16(279), + 238: uint16(279), + 239: uint16(191), + 240: uint16(283), + 241: uint16(283), + 242: uint16(222), + 243: uint16(222), + 244: uint16(233), + 245: uint16(233), + 246: uint16(284), + 247: uint16(284), + 248: uint16(191), + 249: uint16(191), + 250: uint16(191), + 251: uint16(285), + 252: uint16(285), + 253: uint16(191), + 254: uint16(191), + 255: uint16(191), + 256: uint16(191), + 257: uint16(191), + 258: uint16(212), + 259: uint16(213), + 260: uint16(191), 261: uint16(287), - 262: uint16(287), - 263: uint16(288), - 264: uint16(288), - 265: uint16(288), + 262: uint16(289), + 263: uint16(289), + 264: uint16(289), + 265: uint16(290), 266: uint16(290), 267: uint16(290), - 268: uint16(286), - 269: uint16(286), - 270: uint16(292), - 271: uint16(293), - 272: uint16(293), - 273: uint16(291), - 274: uint16(291), - 275: uint16(291), - 276: uint16(291), - 277: uint16(217), - 278: uint16(217), - 279: uint16(236), - 280: uint16(236), - 281: uint16(236), - 282: uint16(190), - 283: uint16(190), - 284: uint16(190), - 285: uint16(295), - 286: uint16(295), - 287: uint16(190), - 288: uint16(190), - 289: uint16(190), - 290: uint16(190), - 291: uint16(190), - 292: uint16(190), - 293: uint16(190), - 294: uint16(296), - 295: uint16(190), - 296: uint16(190), - 297: uint16(190), - 298: uint16(298), - 299: uint16(300), - 300: uint16(301), - 301: uint16(301), - 302: uint16(302), - 303: uint16(266), - 304: uint16(266), - 305: uint16(305), - 306: uint16(305), - 307: uint16(305), - 308: uint16(304), - 309: uint16(241), - 310: uint16(241), - 311: uint16(306), - 312: uint16(307), - 313: uint16(308), - 314: uint16(308), - 315: uint16(308), - 316: uint16(308), - 317: uint16(308), - 318: uint16(309), - 319: uint16(309), - 320: uint16(309), - 321: uint16(313), - 322: uint16(315), - 323: uint16(315), + 268: uint16(292), + 269: uint16(292), + 270: uint16(288), + 271: uint16(288), + 272: uint16(294), + 273: uint16(295), + 274: uint16(295), + 275: uint16(293), + 276: uint16(293), + 277: uint16(293), + 278: uint16(293), + 279: uint16(218), + 280: uint16(218), + 281: uint16(237), + 282: uint16(237), + 283: uint16(237), + 284: uint16(191), + 285: uint16(191), + 286: uint16(191), + 287: uint16(297), + 288: uint16(297), + 289: uint16(191), + 290: uint16(191), + 291: uint16(191), + 292: uint16(191), + 293: uint16(191), + 294: uint16(191), + 295: uint16(191), + 296: uint16(298), + 297: uint16(191), + 298: uint16(191), + 299: uint16(191), + 300: uint16(300), + 301: uint16(302), + 302: uint16(303), + 303: uint16(303), + 304: uint16(304), + 305: uint16(268), + 306: uint16(268), + 307: uint16(307), + 308: uint16(307), + 309: uint16(307), + 310: uint16(306), + 311: uint16(308), + 312: uint16(242), + 313: uint16(242), + 314: uint16(309), + 315: uint16(310), + 316: uint16(311), + 317: uint16(311), + 318: uint16(311), + 319: uint16(311), + 320: uint16(311), + 321: uint16(312), + 322: uint16(312), + 323: uint16(312), 324: uint16(316), - 325: uint16(316), - 326: uint16(314), - 327: uint16(314), - 328: uint16(317), + 325: uint16(318), + 326: uint16(318), + 327: uint16(319), + 328: uint16(319), 329: uint16(317), - 330: uint16(318), - 331: uint16(318), - 332: uint16(318), - 333: uint16(251), - 334: uint16(273), - 335: uint16(273), - 336: uint16(273), - 337: uint16(312), - 338: uint16(312), - 339: uint16(311), - 340: uint16(185), - 341: uint16(186), - 342: uint16(186), - 343: uint16(187), - 344: uint16(187), + 330: uint16(317), + 331: uint16(320), + 332: uint16(320), + 333: uint16(321), + 334: uint16(321), + 335: uint16(321), + 336: uint16(252), + 337: uint16(275), + 338: uint16(275), + 339: uint16(275), + 340: uint16(315), + 341: uint16(315), + 342: uint16(314), + 343: uint16(217), + 344: uint16(186), 345: uint16(187), - 346: uint16(192), - 347: uint16(192), - 348: uint16(192), - 349: uint16(194), - 350: uint16(194), - 351: uint16(190), - 352: uint16(203), - 353: uint16(201), - 354: uint16(201), - 355: uint16(193), - 356: uint16(193), - 357: uint16(208), - 358: uint16(209), - 359: uint16(210), - 360: uint16(210), - 361: uint16(207), - 362: uint16(207), - 363: uint16(215), - 364: uint16(215), - 365: uint16(215), - 366: uint16(202), - 367: uint16(228), - 368: uint16(228), - 369: uint16(229), - 370: uint16(233), - 371: uint16(235), - 372: uint16(239), - 373: uint16(240), - 374: uint16(254), - 375: uint16(255), - 376: uint16(264), - 377: uint16(272), - 378: uint16(217), - 379: uint16(274), - 380: uint16(278), - 381: uint16(261), - 382: uint16(284), - 383: uint16(284), - 384: uint16(284), - 385: uint16(284), - 386: uint16(284), - 387: uint16(211), - 388: uint16(289), - 389: uint16(289), - 390: uint16(292), - 391: uint16(293), - 392: uint16(294), - 393: uint16(294), - 394: uint16(297), - 395: uint16(297), - 396: uint16(299), - 397: uint16(299), - 398: uint16(300), - 399: uint16(303), - 400: uint16(303), - 401: uint16(303), - 402: uint16(266), - 403: uint16(306), - 404: uint16(308), + 346: uint16(187), + 347: uint16(188), + 348: uint16(188), + 349: uint16(188), + 350: uint16(193), + 351: uint16(193), + 352: uint16(193), + 353: uint16(195), + 354: uint16(195), + 355: uint16(191), + 356: uint16(204), + 357: uint16(202), + 358: uint16(202), + 359: uint16(194), + 360: uint16(194), + 361: uint16(209), + 362: uint16(210), + 363: uint16(211), + 364: uint16(211), + 365: uint16(208), + 366: uint16(208), + 367: uint16(216), + 368: uint16(216), + 369: uint16(216), + 370: uint16(203), + 371: uint16(229), + 372: uint16(229), + 373: uint16(230), + 374: uint16(234), + 375: uint16(236), + 376: uint16(240), + 377: uint16(241), + 378: uint16(256), + 379: uint16(257), + 380: uint16(266), + 381: uint16(274), + 382: uint16(218), + 383: uint16(276), + 384: uint16(280), + 385: uint16(263), + 386: uint16(286), + 387: uint16(286), + 388: uint16(286), + 389: uint16(286), + 390: uint16(286), + 391: uint16(212), + 392: uint16(291), + 393: uint16(291), + 394: uint16(294), + 395: uint16(295), + 396: uint16(296), + 397: uint16(296), + 398: uint16(299), + 399: uint16(299), + 400: uint16(301), + 401: uint16(301), + 402: uint16(302), + 403: uint16(305), + 404: uint16(305), + 405: uint16(305), + 406: uint16(268), + 407: uint16(309), + 408: uint16(311), } // C documentation // // /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number // ** of symbols on the right-hand side of that rule. */ -var _yyRuleInfoNRhs = [405]int8{ +var _yyRuleInfoNRhs = [409]int8{ 0: int8(-int32(1)), 1: int8(-int32(3)), 2: int8(-int32(1)), @@ -153804,273 +155224,277 @@ var _yyRuleInfoNRhs = [405]int8{ 92: int8(-int32(9)), 93: int8(-int32(10)), 94: int8(-int32(4)), - 95: int8(-int32(5)), - 96: int8(-int32(1)), - 97: int8(-int32(1)), - 100: int8(-int32(5)), - 101: int8(-int32(3)), + 95: int8(-int32(1)), + 96: int8(-int32(5)), + 97: int8(-int32(5)), + 98: int8(-int32(1)), + 99: int8(-int32(1)), 102: int8(-int32(5)), - 103: int8(-int32(2)), - 106: int8(-int32(2)), - 107: int8(-int32(2)), - 109: int8(-int32(5)), - 110: int8(-int32(6)), - 111: int8(-int32(8)), + 103: int8(-int32(3)), + 104: int8(-int32(5)), + 105: int8(-int32(2)), + 108: int8(-int32(2)), + 109: int8(-int32(2)), + 111: int8(-int32(5)), 112: int8(-int32(6)), - 113: int8(-int32(6)), - 115: int8(-int32(2)), - 116: int8(-int32(1)), - 117: int8(-int32(3)), + 113: int8(-int32(8)), + 114: int8(-int32(6)), + 115: int8(-int32(6)), + 117: int8(-int32(2)), 118: int8(-int32(1)), 119: int8(-int32(3)), - 120: int8(-int32(5)), + 120: int8(-int32(1)), 121: int8(-int32(3)), - 122: int8(-int32(1)), - 123: int8(-int32(2)), - 124: int8(-int32(3)), - 125: int8(-int32(4)), - 126: int8(-int32(2)), + 122: int8(-int32(5)), + 123: int8(-int32(3)), + 124: int8(-int32(1)), + 125: int8(-int32(2)), + 126: int8(-int32(3)), 127: int8(-int32(4)), - 130: int8(-int32(3)), - 131: int8(-int32(2)), - 133: int8(-int32(3)), - 134: int8(-int32(5)), + 128: int8(-int32(2)), + 129: int8(-int32(4)), + 132: int8(-int32(3)), + 133: int8(-int32(2)), 135: int8(-int32(3)), - 136: int8(-int32(1)), - 137: int8(-int32(1)), - 139: int8(-int32(2)), - 140: int8(-int32(2)), - 143: int8(-int32(3)), - 145: int8(-int32(2)), + 136: int8(-int32(5)), + 137: int8(-int32(3)), + 138: int8(-int32(1)), + 139: int8(-int32(1)), + 141: int8(-int32(2)), + 142: int8(-int32(2)), + 145: int8(-int32(3)), 147: int8(-int32(2)), - 148: int8(-int32(4)), - 149: int8(-int32(4)), - 150: int8(-int32(6)), - 152: int8(-int32(2)), + 149: int8(-int32(2)), + 150: int8(-int32(4)), + 151: int8(-int32(4)), + 152: int8(-int32(6)), 154: int8(-int32(2)), - 155: int8(-int32(2)), - 156: int8(-int32(4)), - 157: int8(-int32(9)), - 158: int8(-int32(5)), - 159: int8(-int32(7)), - 160: int8(-int32(3)), - 161: int8(-int32(5)), - 162: int8(-int32(7)), - 163: int8(-int32(8)), - 165: int8(-int32(2)), - 166: int8(-int32(12)), - 167: int8(-int32(9)), - 168: int8(-int32(5)), - 169: int8(-int32(8)), - 170: int8(-int32(2)), - 171: int8(-int32(2)), - 172: int8(-int32(1)), - 174: int8(-int32(3)), - 175: int8(-int32(3)), - 176: int8(-int32(1)), + 156: int8(-int32(2)), + 157: int8(-int32(2)), + 158: int8(-int32(4)), + 159: int8(-int32(9)), + 160: int8(-int32(5)), + 161: int8(-int32(7)), + 162: int8(-int32(3)), + 163: int8(-int32(5)), + 164: int8(-int32(7)), + 165: int8(-int32(8)), + 167: int8(-int32(2)), + 168: int8(-int32(12)), + 169: int8(-int32(9)), + 170: int8(-int32(5)), + 171: int8(-int32(8)), + 172: int8(-int32(2)), + 173: int8(-int32(2)), + 174: int8(-int32(1)), + 176: int8(-int32(3)), 177: int8(-int32(3)), 178: int8(-int32(1)), 179: int8(-int32(3)), - 180: int8(-int32(5)), - 181: int8(-int32(1)), - 182: int8(-int32(1)), + 180: int8(-int32(1)), + 181: int8(-int32(3)), + 182: int8(-int32(5)), 183: int8(-int32(1)), 184: int8(-int32(1)), - 185: int8(-int32(3)), - 186: int8(-int32(6)), - 187: int8(-int32(5)), - 188: int8(-int32(8)), - 189: int8(-int32(4)), - 190: int8(-int32(6)), - 191: int8(-int32(9)), - 192: int8(-int32(5)), - 193: int8(-int32(1)), + 185: int8(-int32(1)), + 186: int8(-int32(1)), + 187: int8(-int32(3)), + 188: int8(-int32(6)), + 189: int8(-int32(5)), + 190: int8(-int32(8)), + 191: int8(-int32(4)), + 192: int8(-int32(6)), + 193: int8(-int32(9)), 194: int8(-int32(5)), - 195: int8(-int32(3)), - 196: int8(-int32(3)), + 195: int8(-int32(1)), + 196: int8(-int32(5)), 197: int8(-int32(3)), 198: int8(-int32(3)), 199: int8(-int32(3)), 200: int8(-int32(3)), 201: int8(-int32(3)), 202: int8(-int32(3)), - 203: int8(-int32(2)), + 203: int8(-int32(3)), 204: int8(-int32(3)), - 205: int8(-int32(5)), - 206: int8(-int32(2)), - 207: int8(-int32(3)), - 208: int8(-int32(3)), - 209: int8(-int32(4)), - 210: int8(-int32(6)), - 211: int8(-int32(5)), - 212: int8(-int32(2)), - 213: int8(-int32(2)), + 205: int8(-int32(2)), + 206: int8(-int32(3)), + 207: int8(-int32(5)), + 208: int8(-int32(2)), + 209: int8(-int32(3)), + 210: int8(-int32(3)), + 211: int8(-int32(4)), + 212: int8(-int32(6)), + 213: int8(-int32(5)), 214: int8(-int32(2)), - 215: int8(-int32(3)), - 216: int8(-int32(1)), - 217: int8(-int32(2)), - 218: int8(-int32(5)), - 219: int8(-int32(1)), - 220: int8(-int32(2)), - 221: int8(-int32(5)), - 222: int8(-int32(3)), + 215: int8(-int32(2)), + 216: int8(-int32(2)), + 217: int8(-int32(3)), + 218: int8(-int32(1)), + 219: int8(-int32(2)), + 220: int8(-int32(5)), + 221: int8(-int32(1)), + 222: int8(-int32(2)), 223: int8(-int32(5)), - 224: int8(-int32(5)), - 225: int8(-int32(4)), + 224: int8(-int32(3)), + 225: int8(-int32(5)), 226: int8(-int32(5)), - 227: int8(-int32(5)), - 228: int8(-int32(4)), - 229: int8(-int32(2)), - 233: int8(-int32(3)), - 234: int8(-int32(1)), - 236: int8(-int32(3)), - 237: int8(-int32(12)), - 238: int8(-int32(1)), - 241: int8(-int32(3)), - 242: int8(-int32(5)), + 227: int8(-int32(4)), + 228: int8(-int32(5)), + 229: int8(-int32(5)), + 230: int8(-int32(4)), + 231: int8(-int32(2)), + 235: int8(-int32(3)), + 236: int8(-int32(1)), + 238: int8(-int32(3)), + 239: int8(-int32(12)), + 240: int8(-int32(1)), 243: int8(-int32(3)), - 245: int8(-int32(2)), - 246: int8(-int32(4)), + 244: int8(-int32(5)), + 245: int8(-int32(3)), 247: int8(-int32(2)), - 248: int8(-int32(3)), + 248: int8(-int32(4)), 249: int8(-int32(2)), - 251: int8(-int32(3)), - 252: int8(-int32(5)), - 253: int8(-int32(6)), + 250: int8(-int32(3)), + 251: int8(-int32(2)), + 253: int8(-int32(3)), 254: int8(-int32(5)), 255: int8(-int32(6)), - 256: int8(-int32(2)), - 257: int8(-int32(2)), - 258: int8(-int32(5)), - 259: int8(-int32(11)), - 260: int8(-int32(1)), - 261: int8(-int32(2)), - 263: int8(-int32(1)), - 264: int8(-int32(1)), - 265: int8(-int32(3)), - 267: int8(-int32(2)), - 268: int8(-int32(3)), + 256: int8(-int32(5)), + 257: int8(-int32(6)), + 258: int8(-int32(2)), + 259: int8(-int32(2)), + 260: int8(-int32(5)), + 261: int8(-int32(11)), + 262: int8(-int32(1)), + 263: int8(-int32(2)), + 265: int8(-int32(1)), + 266: int8(-int32(1)), + 267: int8(-int32(3)), 269: int8(-int32(2)), 270: int8(-int32(3)), - 271: int8(-int32(3)), - 272: int8(-int32(2)), - 273: int8(-int32(9)), - 274: int8(-int32(8)), - 275: int8(-int32(6)), - 276: int8(-int32(3)), - 277: int8(-int32(4)), - 278: int8(-int32(6)), - 279: int8(-int32(1)), - 280: int8(-int32(1)), + 271: int8(-int32(2)), + 272: int8(-int32(3)), + 273: int8(-int32(3)), + 274: int8(-int32(2)), + 275: int8(-int32(9)), + 276: int8(-int32(8)), + 277: int8(-int32(6)), + 278: int8(-int32(3)), + 279: int8(-int32(4)), + 280: int8(-int32(6)), 281: int8(-int32(1)), - 282: int8(-int32(4)), - 283: int8(-int32(6)), - 284: int8(-int32(3)), - 286: int8(-int32(2)), - 287: int8(-int32(1)), - 288: int8(-int32(3)), + 282: int8(-int32(1)), + 283: int8(-int32(1)), + 284: int8(-int32(4)), + 285: int8(-int32(6)), + 286: int8(-int32(3)), + 288: int8(-int32(2)), 289: int8(-int32(1)), 290: int8(-int32(3)), - 291: int8(-int32(6)), - 292: int8(-int32(7)), + 291: int8(-int32(1)), + 292: int8(-int32(3)), 293: int8(-int32(6)), - 294: int8(-int32(1)), - 295: int8(-int32(8)), + 294: int8(-int32(7)), + 295: int8(-int32(6)), 296: int8(-int32(1)), - 297: int8(-int32(4)), - 298: int8(-int32(8)), - 300: int8(-int32(1)), - 301: int8(-int32(3)), + 297: int8(-int32(8)), + 298: int8(-int32(1)), + 299: int8(-int32(4)), + 300: int8(-int32(8)), 302: int8(-int32(1)), - 303: int8(-int32(2)), - 304: int8(-int32(3)), - 305: int8(-int32(1)), - 306: int8(-int32(2)), - 307: int8(-int32(3)), - 308: int8(-int32(6)), - 309: int8(-int32(1)), - 310: int8(-int32(3)), - 311: int8(-int32(3)), - 312: int8(-int32(5)), - 313: int8(-int32(5)), - 314: int8(-int32(6)), - 315: int8(-int32(4)), + 303: int8(-int32(3)), + 304: int8(-int32(1)), + 305: int8(-int32(2)), + 306: int8(-int32(3)), + 307: int8(-int32(1)), + 308: int8(-int32(2)), + 309: int8(-int32(3)), + 310: int8(-int32(6)), + 311: int8(-int32(1)), + 312: int8(-int32(1)), + 313: int8(-int32(3)), + 314: int8(-int32(3)), + 315: int8(-int32(5)), 316: int8(-int32(5)), - 317: int8(-int32(2)), - 319: int8(-int32(3)), - 320: int8(-int32(6)), - 321: int8(-int32(1)), - 322: int8(-int32(1)), - 323: int8(-int32(2)), + 317: int8(-int32(6)), + 318: int8(-int32(4)), + 319: int8(-int32(5)), + 320: int8(-int32(2)), + 322: int8(-int32(3)), + 323: int8(-int32(6)), 324: int8(-int32(1)), - 325: int8(-int32(2)), + 325: int8(-int32(1)), 326: int8(-int32(2)), - 327: int8(-int32(2)), + 327: int8(-int32(1)), + 328: int8(-int32(2)), 329: int8(-int32(2)), 330: int8(-int32(2)), - 331: int8(-int32(2)), - 332: int8(-int32(1)), + 332: int8(-int32(2)), 333: int8(-int32(2)), 334: int8(-int32(2)), 335: int8(-int32(1)), - 336: int8(-int32(1)), - 337: int8(-int32(4)), - 338: int8(-int32(2)), - 339: int8(-int32(5)), - 340: int8(-int32(1)), + 336: int8(-int32(2)), + 337: int8(-int32(2)), + 338: int8(-int32(1)), + 339: int8(-int32(1)), + 340: int8(-int32(4)), 341: int8(-int32(2)), - 342: int8(-int32(1)), + 342: int8(-int32(5)), 343: int8(-int32(1)), - 344: int8(-int32(2)), - 345: int8(-int32(3)), + 344: int8(-int32(1)), + 345: int8(-int32(2)), + 346: int8(-int32(1)), 347: int8(-int32(1)), 348: int8(-int32(2)), - 349: int8(-int32(1)), - 351: int8(-int32(2)), - 352: int8(-int32(1)), - 353: int8(-int32(4)), - 354: int8(-int32(2)), - 355: int8(-int32(1)), + 349: int8(-int32(3)), + 351: int8(-int32(1)), + 352: int8(-int32(2)), + 353: int8(-int32(1)), + 355: int8(-int32(2)), 356: int8(-int32(1)), - 357: int8(-int32(1)), - 358: int8(-int32(1)), + 357: int8(-int32(4)), + 358: int8(-int32(2)), 359: int8(-int32(1)), 360: int8(-int32(1)), - 361: int8(-int32(2)), - 363: int8(-int32(2)), - 364: int8(-int32(4)), + 361: int8(-int32(1)), + 362: int8(-int32(1)), + 363: int8(-int32(1)), + 364: int8(-int32(1)), 365: int8(-int32(2)), - 366: int8(-int32(2)), - 367: int8(-int32(3)), - 368: int8(-int32(1)), - 370: int8(-int32(1)), - 371: int8(-int32(1)), + 367: int8(-int32(2)), + 368: int8(-int32(4)), + 369: int8(-int32(2)), + 370: int8(-int32(2)), + 371: int8(-int32(3)), 372: int8(-int32(1)), - 373: int8(-int32(1)), - 374: int8(-int32(2)), + 374: int8(-int32(1)), 375: int8(-int32(1)), 376: int8(-int32(1)), - 378: int8(-int32(1)), + 377: int8(-int32(1)), + 378: int8(-int32(2)), 379: int8(-int32(1)), 380: int8(-int32(1)), - 381: int8(-int32(1)), 382: int8(-int32(1)), 383: int8(-int32(1)), 384: int8(-int32(1)), 385: int8(-int32(1)), 386: int8(-int32(1)), 387: int8(-int32(1)), - 389: int8(-int32(3)), + 388: int8(-int32(1)), + 389: int8(-int32(1)), 390: int8(-int32(1)), - 392: int8(-int32(1)), - 395: int8(-int32(1)), + 391: int8(-int32(1)), + 393: int8(-int32(3)), + 394: int8(-int32(1)), 396: int8(-int32(1)), - 397: int8(-int32(3)), - 398: int8(-int32(2)), - 400: int8(-int32(4)), - 401: int8(-int32(2)), - 403: int8(-int32(1)), - 404: int8(-int32(1)), + 399: int8(-int32(1)), + 400: int8(-int32(1)), + 401: int8(-int32(3)), + 402: int8(-int32(2)), + 404: int8(-int32(4)), + 405: int8(-int32(2)), + 407: int8(-int32(1)), + 408: int8(-int32(1)), } // C documentation @@ -154088,18 +155512,19 @@ var _yyRuleInfoNRhs = [405]int8{ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken TToken, pParse uintptr) (r uint16) { bp := tls.Alloc(144) defer tls.Free(144) - var bNot, bNot1, nExpr, yygoto, yysize, v344 int32 + var bNot, bNot1, nExpr, yygoto, yysize int32 var n Tu32 - var p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v343, v345, v346, v347, v348 uintptr + var op Tu8 + var p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v347, v348, v349, v350, v351 uintptr var yyact uint16 - var v349 TToken + var v352 TToken var _ /* all at bp+104 */ TToken var _ /* as at bp+72 */ TToken var _ /* dest at bp+16 */ TSelectDest var _ /* t at bp+88 */ TToken var _ /* x at bp+56 */ TToken var _ /* yylhsminor at bp+0 */ TYYMINORTYPE - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v343, v344, v345, v346, v347, v348, v349 /* Amount to pop the stack */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, op, p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v347, v348, v349, v350, v351, v352 /* Amount to pop the stack */ _ = yyLookahead _ = yyLookaheadToken yymsp = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos @@ -154120,7 +155545,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _7 case uint32(7): goto _8 - case uint32(321): + case uint32(324): goto _9 case uint32(9): goto _10 @@ -154148,9 +155573,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _21 case uint32(81): goto _22 - case uint32(98): + case uint32(100): goto _23 - case uint32(244): + case uint32(246): goto _24 case uint32(16): goto _25 @@ -154174,7 +155599,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _34 case uint32(26): goto _35 - case uint32(104): + case uint32(106): goto _36 case uint32(27): goto _37 @@ -154248,17 +155673,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _71 case uint32(61): goto _72 - case uint32(171): + case uint32(173): goto _73 case uint32(80): goto _74 case uint32(63): goto _75 - case uint32(217): + case uint32(219): goto _76 - case uint32(220): + case uint32(222): goto _77 - case uint32(245): + case uint32(247): goto _78 case uint32(64): goto _79 @@ -154280,7 +155705,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _87 case uint32(77): goto _88 - case uint32(172): + case uint32(174): goto _89 case uint32(78): goto _90 @@ -154314,47 +155739,47 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _104 case uint32(95): goto _105 - case uint32(96): - goto _106 case uint32(97): + goto _106 + case uint32(96): goto _107 - case uint32(132): + case uint32(98): goto _108 case uint32(99): goto _109 - case uint32(142): + case uint32(134): goto _110 - case uint32(232): + case uint32(101): goto _111 - case uint32(235): + case uint32(144): goto _112 - case uint32(240): + case uint32(234): goto _113 - case uint32(100): + case uint32(237): goto _114 - case uint32(101): + case uint32(242): goto _115 case uint32(102): goto _116 - case uint32(115): - goto _117 case uint32(103): + goto _117 + case uint32(104): goto _118 - case uint32(256): + case uint32(117): goto _119 - case uint32(257): + case uint32(105): goto _120 - case uint32(108): + case uint32(258): goto _121 - case uint32(105): + case uint32(259): goto _122 - case uint32(106): + case uint32(110): goto _123 case uint32(107): goto _124 - case uint32(109): + case uint32(108): goto _125 - case uint32(110): + case uint32(109): goto _126 case uint32(111): goto _127 @@ -154362,13 +155787,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _128 case uint32(113): goto _129 - case uint32(129): - goto _130 case uint32(114): + goto _130 + case uint32(115): goto _131 - case uint32(116): + case uint32(131): goto _132 - case uint32(117): + case uint32(116): goto _133 case uint32(118): goto _134 @@ -154392,15 +155817,15 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _143 case uint32(128): goto _144 - case uint32(130): + case uint32(129): goto _145 - case uint32(131): + case uint32(130): goto _146 - case uint32(143): + case uint32(132): goto _147 case uint32(133): goto _148 - case uint32(134): + case uint32(145): goto _149 case uint32(135): goto _150 @@ -154408,49 +155833,49 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _151 case uint32(137): goto _152 - case uint32(141): - goto _153 case uint32(138): - goto _154 + goto _153 case uint32(139): + goto _154 + case uint32(143): goto _155 case uint32(140): goto _156 - case uint32(146): + case uint32(141): goto _157 - case uint32(144): + case uint32(142): goto _158 - case uint32(151): + case uint32(148): goto _159 - case uint32(153): + case uint32(146): goto _160 - case uint32(230): + case uint32(153): goto _161 - case uint32(231): + case uint32(155): goto _162 - case uint32(250): + case uint32(232): goto _163 - case uint32(152): + case uint32(233): goto _164 - case uint32(145): + case uint32(252): goto _165 case uint32(154): goto _166 - case uint32(229): + case uint32(147): goto _167 - case uint32(249): + case uint32(156): goto _168 - case uint32(147): + case uint32(231): goto _169 - case uint32(148): + case uint32(251): goto _170 case uint32(149): goto _171 case uint32(150): goto _172 - case uint32(155): + case uint32(151): goto _173 - case uint32(156): + case uint32(152): goto _174 case uint32(157): goto _175 @@ -154480,9 +155905,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _187 case uint32(170): goto _188 - case uint32(173): + case uint32(171): goto _189 - case uint32(174): + case uint32(172): goto _190 case uint32(175): goto _191 @@ -154496,13 +155921,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _195 case uint32(180): goto _196 - case uint32(182): - goto _197 case uint32(181): + goto _197 + case uint32(182): goto _198 - case uint32(183): - goto _199 case uint32(184): + goto _199 + case uint32(183): goto _200 case uint32(185): goto _201 @@ -154526,13 +155951,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _210 case uint32(195): goto _211 - case uint32(197): - goto _212 case uint32(196): + goto _212 + case uint32(197): goto _213 - case uint32(198): - goto _214 case uint32(199): + goto _214 + case uint32(198): goto _215 case uint32(200): goto _216 @@ -154558,23 +155983,23 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _226 case uint32(211): goto _227 - case uint32(213): - goto _228 case uint32(212): + goto _228 + case uint32(213): goto _229 - case uint32(214): - goto _230 case uint32(215): + goto _230 + case uint32(214): goto _231 - case uint32(219): - goto _232 case uint32(216): + goto _232 + case uint32(217): goto _233 - case uint32(218): - goto _234 case uint32(221): + goto _234 + case uint32(218): goto _235 - case uint32(222): + case uint32(220): goto _236 case uint32(223): goto _237 @@ -154588,35 +156013,35 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _241 case uint32(228): goto _242 - case uint32(233): + case uint32(229): goto _243 - case uint32(234): + case uint32(230): goto _244 - case uint32(241): + case uint32(235): goto _245 case uint32(236): goto _246 - case uint32(237): + case uint32(243): goto _247 - case uint32(280): - goto _248 case uint32(238): - goto _249 + goto _248 case uint32(239): + goto _249 + case uint32(282): goto _250 - case uint32(242): + case uint32(240): goto _251 - case uint32(243): + case uint32(241): goto _252 - case uint32(246): + case uint32(244): goto _253 - case uint32(247): + case uint32(245): goto _254 case uint32(248): goto _255 - case uint32(251): + case uint32(249): goto _256 - case uint32(252): + case uint32(250): goto _257 case uint32(253): goto _258 @@ -154624,9 +156049,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _259 case uint32(255): goto _260 - case uint32(258): + case uint32(256): goto _261 - case uint32(259): + case uint32(257): goto _262 case uint32(260): goto _263 @@ -154634,21 +156059,21 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _264 case uint32(262): goto _265 - case uint32(264): - goto _266 case uint32(263): + goto _266 + case uint32(264): goto _267 - case uint32(265): + case uint32(266): goto _268 - case uint32(285): + case uint32(265): goto _269 - case uint32(266): + case uint32(267): goto _270 - case uint32(286): + case uint32(287): goto _271 - case uint32(267): - goto _272 case uint32(268): + goto _272 + case uint32(288): goto _273 case uint32(269): goto _274 @@ -154672,17 +156097,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _283 case uint32(279): goto _284 - case uint32(281): + case uint32(280): goto _285 - case uint32(282): + case uint32(281): goto _286 case uint32(283): goto _287 case uint32(284): goto _288 - case uint32(287): + case uint32(285): goto _289 - case uint32(288): + case uint32(286): goto _290 case uint32(289): goto _291 @@ -154706,19 +156131,19 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _300 case uint32(299): goto _301 - case uint32(301): - goto _302 case uint32(300): + goto _302 + case uint32(301): goto _303 - case uint32(302): + case uint32(303): goto _304 - case uint32(304): + case uint32(302): goto _305 - case uint32(303): + case uint32(304): goto _306 - case uint32(305): - goto _307 case uint32(306): + goto _307 + case uint32(305): goto _308 case uint32(307): goto _309 @@ -154748,31 +156173,31 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _321 case uint32(320): goto _322 - case uint32(324): + case uint32(321): goto _323 case uint32(322): goto _324 - case uint32(325): - goto _325 case uint32(323): - goto _326 + goto _325 case uint32(327): + goto _326 + case uint32(325): goto _327 - case uint32(326): - goto _328 case uint32(328): + goto _328 + case uint32(326): goto _329 - case uint32(329): + case uint32(330): goto _330 - case uint32(331): + case uint32(329): goto _331 - case uint32(330): + case uint32(331): goto _332 case uint32(332): goto _333 - case uint32(333): - goto _334 case uint32(334): + goto _334 + case uint32(333): goto _335 case uint32(335): goto _336 @@ -154784,34 +156209,42 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _339 case uint32(339): goto _340 - default: + case uint32(340): goto _341 + case uint32(341): + goto _342 + case uint32(342): + goto _343 + case uint32(343): + goto _344 + default: + goto _345 } - goto _342 + goto _346 _1: ; /* explain ::= EXPLAIN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(1) } - goto _342 + goto _346 _2: ; /* explain ::= EXPLAIN QUERY PLAN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(2) } - goto _342 + goto _346 _3: ; /* cmdx ::= cmd */ _sqlite3FinishCoding(tls, pParse) - goto _342 + goto _346 _4: ; /* cmd ::= BEGIN transtype trans_opt */ _sqlite3BeginTransaction(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _5: ; /* transtype ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_DEFERRED) - goto _342 + goto _346 _7: ; /* transtype ::= DEFERRED */ _6: @@ -154821,33 +156254,33 @@ _8: _9: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 + goto _346 _11: ; /* cmd ::= COMMIT|END trans_opt */ _10: ; _sqlite3EndTransaction(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor)) - goto _342 + goto _346 _12: ; /* cmd ::= SAVEPOINT nm */ _sqlite3Savepoint(tls, pParse, SAVEPOINT_BEGIN, yymsp+8) - goto _342 + goto _346 _13: ; /* cmd ::= RELEASE savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_RELEASE), yymsp+8) - goto _342 + goto _346 _14: ; /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_ROLLBACK), yymsp+8) - goto _342 + goto _346 _15: ; /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ _sqlite3StartTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), 0, 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _16: ; /* createkw ::= CREATE */ _disableLookaside(tls, pParse) - goto _342 + goto _346 _18: ; /* ifnotexists ::= */ _17: @@ -154865,56 +156298,56 @@ _23: _24: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = 0 - goto _342 + goto _346 _25: ; /* ifnotexists ::= IF NOT EXISTS */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(1) - goto _342 + goto _346 _26: ; /* temp ::= TEMP */ *(*int32)(unsafe.Pointer(yymsp + 8)) = libc.BoolInt32(int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0) - goto _342 + goto _346 _27: ; /* create_table_args ::= LP columnlist conslist_opt RP table_option_set */ _sqlite3EndTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*Tu32)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 + goto _346 _28: ; /* create_table_args ::= AS select */ _sqlite3EndTable(tls, pParse, uintptr(0), uintptr(0), uint32(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _29: ; /* table_option_set ::= */ *(*Tu32)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint32(0) - goto _342 + goto _346 _30: ; /* table_option_set ::= table_option_set COMMA table_option */ *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) | *(*Tu32)(unsafe.Pointer(yymsp + 8)) *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _31: ; /* table_option ::= WITHOUT nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16696, int32(5)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16783, int32(5)) == 0 { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) } else { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23360, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23483, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } - goto _342 + goto _346 _32: ; /* table_option ::= nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16609, int32(6)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16696, int32(6)) == 0 { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(TF_Strict) } else { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23360, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23483, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } *(*Tu32)(unsafe.Pointer(yymsp + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _33: ; /* columnname ::= nm typetoken */ _sqlite3AddColumn(tls, pParse, *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*TToken)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _35: ; /* typetoken ::= */ _34: @@ -154923,50 +156356,50 @@ _36: ; *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 + goto _346 _37: ; /* typetoken ::= typename LP signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) - goto _342 + goto _346 _38: ; /* typetoken ::= typename LP signed COMMA signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))))) - goto _342 + goto _346 _39: ; /* typename ::= typename ID|STRING */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) + uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) - goto _342 + goto _346 _40: ; /* scanpt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken.Fz - goto _342 + goto _346 _41: ; /* scantok ::= */ *(*TToken)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken - goto _342 + goto _346 _43: ; /* ccons ::= CONSTRAINT nm */ _42: ; (*TParse)(unsafe.Pointer(pParse)).FconstraintName = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _44: ; /* ccons ::= DEFAULT scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _45: ; /* ccons ::= DEFAULT LP expr RP */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))+uintptr(1), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _46: ; /* ccons ::= DEFAULT PLUS scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _47: ; /* ccons ::= DEFAULT MINUS scantok term */ p = _sqlite3PExpr(tls, pParse, int32(TK_UMINUS), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) _sqlite3AddDefaultValue(tls, pParse, p, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _48: ; /* ccons ::= DEFAULT scantok ID|INDEXED */ p1 = _tokenExpr(tls, pParse, int32(TK_STRING), *(*TToken)(unsafe.Pointer(yymsp + 8))) @@ -154974,99 +156407,99 @@ _48: _sqlite3ExprIdToTrueFalse(tls, p1) } _sqlite3AddDefaultValue(tls, pParse, p1, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - goto _342 + goto _346 _49: ; /* ccons ::= NOT NULL onconf */ _sqlite3AddNotNull(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _50: ; /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ _sqlite3AddPrimaryKey(tls, pParse, uintptr(0), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _51: ; /* ccons ::= UNIQUE onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _52: ; /* ccons ::= CHECK LP expr RP */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _53: ; /* ccons ::= REFERENCES nm eidlist_opt refargs */ _sqlite3CreateForeignKey(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _54: ; /* ccons ::= defer_subclause */ _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _55: ; /* ccons ::= COLLATE ID|STRING */ _sqlite3AddCollateType(tls, pParse, yymsp+8) - goto _342 + goto _346 _56: ; /* generated ::= LP expr RP */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 + goto _346 _57: ; /* generated ::= LP expr RP ID */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 + goto _346 _58: ; /* autoinc ::= AUTOINCR */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(1) - goto _342 + goto _346 _59: ; /* refargs ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = libc.Int32FromInt32(OE_None) * libc.Int32FromInt32(0x0101) /* EV: R-19803-45884 */ - goto _342 + goto _346 _60: ; /* refargs ::= refargs refarg */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) & ^*(*int32)(unsafe.Pointer(yymsp + 8 + 4)) | *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _61: ; /* refarg ::= MATCH nm */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _62: ; /* refarg ::= ON INSERT refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _63: ; /* refarg ::= ON DELETE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x0000ff) - goto _342 + goto _346 _64: ; /* refarg ::= ON UPDATE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) << int32(8) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x00ff00) - goto _342 + goto _346 _65: ; /* refact ::= SET NULL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetNull) /* EV: R-33326-45252 */ - goto _342 + goto _346 _66: ; /* refact ::= SET DEFAULT */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetDflt) /* EV: R-33326-45252 */ - goto _342 + goto _346 _67: ; /* refact ::= CASCADE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Cascade) /* EV: R-33326-45252 */ - goto _342 + goto _346 _68: ; /* refact ::= RESTRICT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Restrict) /* EV: R-33326-45252 */ - goto _342 + goto _346 _69: ; /* refact ::= NO ACTION */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = OE_None /* EV: R-33326-45252 */ - goto _342 + goto _346 _70: ; /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 - goto _342 + goto _346 _72: ; /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ _71: @@ -155074,7 +156507,7 @@ _71: _73: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _75: ; /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ _74: @@ -155086,64 +156519,64 @@ _77: _78: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(1) - goto _342 + goto _346 _79: ; /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 - goto _342 + goto _346 _80: ; /* tconscomma ::= COMMA */ (*TParse)(unsafe.Pointer(pParse)).FconstraintName.Fn = uint32(0) - goto _342 + goto _346 _81: ; /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ _sqlite3AddPrimaryKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), 0) - goto _342 + goto _346 _82: ; /* tcons ::= UNIQUE LP sortlist RP onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _83: ; /* tcons ::= CHECK LP expr RP onconf */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _84: ; /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ _sqlite3CreateForeignKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _86: ; /* onconf ::= */ _85: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(OE_Default) - goto _342 + goto _346 _87: ; /* onconf ::= ON CONFLICT resolvetype */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _88: ; /* resolvetype ::= IGNORE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Ignore) - goto _342 + goto _346 _90: ; /* resolvetype ::= REPLACE */ _89: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Replace) - goto _342 + goto _346 _91: ; /* cmd ::= DROP TABLE ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _92: ; /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ _sqlite3CreateView(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) - goto _342 + goto _346 _93: ; /* cmd ::= DROP VIEW ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), int32(1), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _94: ; /* cmd ::= select */ *(*TSelectDest)(unsafe.Pointer(bp + 16)) = TSelectDest{ @@ -155151,22 +156584,22 @@ _94: } _sqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), bp+16) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _95: ; /* select ::= WITH wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _96: ; /* select ::= WITH RECURSIVE wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _97: ; /* select ::= selectnowith */ p2 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) if p2 != 0 { _parserDoubleLinkSelect(tls, pParse, p2) } - goto _342 + goto _346 _98: ; /* selectnowith ::= selectnowith multiselect_op oneselect */ pRhs = *(*uintptr)(unsafe.Pointer(yymsp + 8)) @@ -155191,21 +156624,21 @@ _98: _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pLhs) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = pRhs - goto _342 + goto _346 _100: ; /* multiselect_op ::= UNION */ _99: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-OP*/ - goto _342 + goto _346 _101: ; /* multiselect_op ::= UNION ALL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_ALL) - goto _342 + goto _346 _102: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _103: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(9))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -155214,116 +156647,111 @@ _103: } else { _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) } - goto _342 + goto _346 _104: ; /* values ::= VALUES LP nexprlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) - goto _342 + goto _346 _105: - ; /* values ::= values COMMA LP nexprlist RP */ - pLeft = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) - pRight = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(libc.Int32FromInt32(SF_Values)|libc.Int32FromInt32(SF_MultiValue)), uintptr(0)) - if pLeft != 0 { - *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) - } - if pRight != 0 { - (*TSelect)(unsafe.Pointer(pRight)).Fop = uint8(TK_ALL) - (*TSelect)(unsafe.Pointer(pRight)).FpPrior = pLeft - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pRight - } else { - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pLeft - } - goto _342 + ; /* oneselect ::= mvalues */ + _sqlite3MultiValuesEnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_107: + ; /* mvalues ::= values COMMA LP nexprlist RP */ _106: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3MultiValues(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_108: ; /* distinct ::= DISTINCT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_Distinct) - goto _342 -_107: + goto _346 +_109: ; /* distinct ::= ALL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_All) - goto _342 -_109: + goto _346 +_111: ; /* sclp ::= */ -_108: - ; _110: ; -_111: - ; _112: ; _113: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 _114: + ; +_115: + ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 +_116: ; /* selcollist ::= sclp scanpt expr scanpt as */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) > uint32(0) { _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+8, int32(1)) } _sqlite3ExprListSetSpan(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_115: + goto _346 +_117: ; /* selcollist ::= sclp scanpt STAR */ p3 = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_ASTERISK), uintptr(0)) _sqlite3ExprSetErrorOffset(tls, p3, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), p3) - goto _342 -_116: + goto _346 +_118: ; /* selcollist ::= sclp scanpt nm DOT STAR */ - pRight1 = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) - _sqlite3ExprSetErrorOffset(tls, pRight1, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) - pLeft1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft1, pRight1) + pRight = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) + _sqlite3ExprSetErrorOffset(tls, pRight, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) + pLeft = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) + pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft, pRight) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pDot) - goto _342 -_118: + goto _346 +_120: ; /* as ::= AS nm */ -_117: - ; _119: ; -_120: +_121: ; - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 _122: + ; + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) + goto _346 +_124: ; /* from ::= */ -_121: +_123: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_123: + goto _346 +_125: ; /* from ::= FROM seltablist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) _sqlite3SrcListShiftJoinType(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_124: + goto _346 +_126: ; /* stl_prefix ::= seltablist joinop */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 && (*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc > 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8 + uintptr((*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc-int32(1))*104))).Ffg.Fjointype = uint8(*(*int32)(unsafe.Pointer(yymsp + 8))) } - goto _342 -_125: + goto _346 +_127: ; /* seltablist ::= stl_prefix nm dbnm as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) - goto _342 -_126: + goto _346 +_128: ; /* seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_127: + goto _346 +_129: ; /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListFuncArgs(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) - goto _342 -_128: + goto _346 +_130: ; /* seltablist ::= stl_prefix LP select RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_129: + goto _346 +_131: ; /* seltablist ::= stl_prefix LP seltablist RP as on_using */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) == uintptr(0) && *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) == uint32(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8)) == uintptr(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) @@ -155345,9 +156773,9 @@ _129: libc.SetBitFieldPtr16Uint32(pOld+60+4, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pNew+60+4, libc.Uint32FromInt32(1), 2, 0x4) } - v343 = libc.UintptrFromInt32(0) - (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v343 - (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v343 + v347 = libc.UintptrFromInt32(0) + (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v347 + (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v347 (*TSrcItem)(unsafe.Pointer(pOld)).FpSelect = uintptr(0) } _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) @@ -155357,189 +156785,189 @@ _129: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, pSubquery, yymsp+8) } } - goto _342 -_131: + goto _346 +_133: ; /* dbnm ::= */ -_130: +_132: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) - goto _342 -_132: + goto _346 +_134: ; /* fullname ::= nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_133: + goto _346 +_135: ; /* fullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_134: + goto _346 +_136: ; /* xfullname ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) /*A-overwrites-X*/ - goto _342 -_135: + goto _346 +_137: ; /* xfullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) /*A-overwrites-X*/ - goto _342 -_136: + goto _346 +_138: ; /* xfullname ::= nm DOT nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_137: + goto _346 +_139: ; /* xfullname ::= nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0)) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_138: + goto _346 +_140: ; /* joinop ::= COMMA|JOIN */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(JT_INNER) - goto _342 -_139: + goto _346 +_141: ; /* joinop ::= JOIN_KW JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), uintptr(0)) /*X-overwrites-A*/ - goto _342 -_140: + goto _346 +_142: ; /* joinop ::= JOIN_KW nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0)) /*X-overwrites-A*/ - goto _342 -_141: + goto _346 +_143: ; /* joinop ::= JOIN_KW nm nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) /*X-overwrites-A*/ - goto _342 -_142: + goto _346 +_144: ; /* on_using ::= ON expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uintptr(0) - goto _342 -_143: + goto _346 +_145: ; /* on_using ::= USING LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_144: + goto _346 +_146: ; /* on_using ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uintptr(0) - goto _342 -_145: + goto _346 +_147: ; /* indexed_by ::= INDEXED BY nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 -_146: + goto _346 +_148: ; /* indexed_by ::= NOT INDEXED */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(1) - goto _342 -_148: + goto _346 +_150: ; /* orderby_opt ::= ORDER BY sortlist */ -_147: +_149: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_149: + goto _346 +_151: ; /* sortlist ::= sortlist COMMA expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_150: + goto _346 +_152: ; /* sortlist ::= expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) /*A-overwrites-Y*/ _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_151: + goto _346 +_153: ; /* sortorder ::= ASC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = SQLITE_SO_ASC - goto _342 -_152: + goto _346 +_154: ; /* sortorder ::= DESC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_154: + goto _346 +_156: ; /* sortorder ::= */ -_153: +_155: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = -int32(1) - goto _342 -_155: + goto _346 +_157: ; /* nulls ::= NULLS FIRST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = SQLITE_SO_ASC - goto _342 -_156: + goto _346 +_158: ; /* nulls ::= NULLS LAST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_158: + goto _346 +_160: ; /* having_opt ::= */ -_157: - ; _159: ; -_160: - ; _161: ; _162: ; _163: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_165: - ; /* having_opt ::= HAVING expr */ _164: ; -_166: +_165: ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 _167: + ; /* having_opt ::= HAVING expr */ +_166: ; _168: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 _169: + ; +_170: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + goto _346 +_171: ; /* limit_opt ::= LIMIT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 -_170: + goto _346 +_172: ; /* limit_opt ::= LIMIT expr OFFSET expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_171: + goto _346 +_173: ; /* limit_opt ::= LIMIT expr COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 -_172: + goto _346 +_174: ; /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) _sqlite3DeleteFrom(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0)) - goto _342 -_173: + goto _346 +_175: ; /* where_opt_ret ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) - goto _342 -_174: + goto _346 +_176: ; /* where_opt_ret ::= WHERE expr RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) - goto _342 -_175: + goto _346 +_177: ; /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) - _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23387) + _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23510) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { pFromClause = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) if (*TSrcList)(unsafe.Pointer(pFromClause)).FnSrc > int32(1) { @@ -155551,95 +156979,95 @@ _175: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), pFromClause) } _sqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_176: + goto _346 +_178: ; /* setlist ::= setlist COMMA nm EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) - goto _342 -_177: + goto _346 +_179: ; /* setlist ::= setlist COMMA LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_178: + goto _346 +_180: ; /* setlist ::= nm EQ expr */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_179: + goto _346 +_181: ; /* setlist ::= LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_180: + goto _346 +_182: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_181: + goto _346 +_183: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0)) - goto _342 -_182: + goto _346 +_184: ; /* upsert ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_183: + goto _346 +_185: ; /* upsert ::= RETURNING selcollist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_184: + goto _346 +_186: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(11))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_185: + goto _346 +_187: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_186: + goto _346 +_188: ; /* upsert ::= ON CONFLICT DO NOTHING returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_187: + goto _346 +_189: ; /* upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_188: + goto _346 +_190: ; /* returning ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_189: + goto _346 +_191: ; /* idlist_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_190: + goto _346 +_192: ; /* idlist_opt ::= LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_191: + goto _346 +_193: ; /* idlist ::= idlist COMMA nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3IdListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 -_192: + goto _346 +_194: ; /* idlist ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3IdListAppend(tls, pParse, uintptr(0), yymsp+8) /*A-overwrites-Y*/ - goto _342 -_193: + goto _346 +_195: ; /* expr ::= LP expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_194: + goto _346 +_196: ; /* expr ::= ID|INDEXED|JOIN_KW */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_195: + goto _346 +_197: ; /* expr ::= nm DOT nm */ temp1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) temp2 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp1, temp2) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_196: + goto _346 +_198: ; /* expr ::= nm DOT nm DOT nm */ temp11 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) temp21 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) @@ -155650,22 +157078,22 @@ _196: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp11, temp4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_198: + goto _346 +_200: ; /* term ::= NULL|FLOAT|BLOB */ -_197: +_199: ; *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_199: + goto _346 +_201: ; /* term ::= INTEGER */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), yymsp+8, int32(1)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 52)) = int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8))) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_200: + goto _346 +_202: ; /* expr ::= VARIABLE */ if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8))))) == int32('#') && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)) + 1)))])&int32(0x04) != 0) { n = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) @@ -155677,7 +157105,7 @@ _200: ** in the virtual machine. #N is the N-th register. */ *(*TToken)(unsafe.Pointer(bp + 88)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) /*A-overwrites-X*/ if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23396, libc.VaList(bp+128, bp+88)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23519, libc.VaList(bp+128, bp+88)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_REGISTER), uintptr(0), uintptr(0)) @@ -155686,57 +157114,57 @@ _200: } } } - goto _342 -_201: + goto _346 +_203: ; /* expr ::= expr COLLATE ID|STRING */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAddCollateToken(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8, int32(1)) - goto _342 -_202: + goto _346 +_204: ; /* expr ::= CAST LP expr AS typetoken RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_CAST), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) _sqlite3ExprAttachSubtrees(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) - goto _342 -_203: + goto _346 +_205: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_204: + goto _346 +_206: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_205: + goto _346 +_207: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_206: + goto _346 +_208: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_207: + goto _346 +_209: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_208: + goto _346 +_210: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, 0) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_209: + goto _346 +_211: ; /* term ::= CTIME_KW */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_210: + goto _346 +_212: ; /* expr ::= LP nexprlist COMMA expr RP */ pList = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_VECTOR), uintptr(0), uintptr(0)) @@ -155748,33 +157176,33 @@ _210: } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pList) } - goto _342 -_211: + goto _346 +_213: ; /* expr ::= expr AND expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_213: + goto _346 +_215: ; /* expr ::= expr OR expr */ -_212: - ; _214: ; -_215: - ; _216: ; _217: ; _218: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 _219: + ; +_220: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_221: ; /* likeop ::= NOT LIKE_KW|MATCH */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) |= uint32(0x80000000) /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/ - goto _342 -_220: + goto _346 +_222: ; /* expr ::= expr likeop expr */ bNot = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -155787,8 +157215,8 @@ _220: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_221: + goto _346 +_223: ; /* expr ::= expr likeop expr ESCAPE expr */ bNot1 = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -155802,65 +157230,67 @@ _221: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_222: + goto _346 +_224: ; /* expr ::= expr ISNULL|NOTNULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_223: + goto _346 +_225: ; /* expr ::= expr NOT NULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOTNULL), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uintptr(0)) - goto _342 -_224: + goto _346 +_226: ; /* expr ::= expr IS expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_225: + goto _346 +_227: ; /* expr ::= expr IS NOT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_226: + goto _346 +_228: ; /* expr ::= expr IS NOT DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_227: + goto _346 +_229: ; /* expr ::= expr IS DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_229: + goto _346 +_231: ; /* expr ::= NOT expr */ -_228: +_230: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) /*A-overwrites-B*/ - goto _342 -_230: + goto _346 +_232: ; /* expr ::= PLUS|MINUS expr */ - if int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) == int32(TK_PLUS) { - v344 = int32(TK_UPLUS) + p4 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + op = uint8(int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) + (libc.Int32FromInt32(TK_UPLUS) - libc.Int32FromInt32(TK_PLUS))) + if p4 != 0 && int32((*TExpr)(unsafe.Pointer(p4)).Fop) == int32(TK_UPLUS) { + (*TExpr)(unsafe.Pointer(p4)).Fop = op + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = p4 } else { - v344 = int32(TK_UMINUS) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(op), p4, uintptr(0)) + /*A-overwrites-B*/ } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, v344, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - /*A-overwrites-B*/ - goto _342 -_231: + goto _346 +_233: ; /* expr ::= expr PTR expr */ pList3 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList3 = _sqlite3ExprListAppend(tls, pParse, pList3, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, pList3, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_233: + goto _346 +_235: ; /* between_op ::= BETWEEN */ -_232: +_234: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = 0 - goto _342 -_234: + goto _346 +_236: ; /* expr ::= expr between_op expr AND expr */ pList4 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList4 = _sqlite3ExprListAppend(tls, pParse, pList4, *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -155873,8 +157303,8 @@ _234: if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_235: + goto _346 +_237: ; /* expr ::= expr in_op LP exprlist RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) == uintptr(0) { /* Expressions of the form @@ -155887,17 +157317,17 @@ _235: */ _sqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { - v345 = __ccgo_ts + 7888 + v348 = __ccgo_ts + 8013 } else { - v345 = __ccgo_ts + 7893 + v348 = __ccgo_ts + 8018 } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v345) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v348) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { _sqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } } else { pRHS = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr - if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { + if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pParse, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr = uintptr(0) _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) pRHS = _sqlite3PExpr(tls, pParse, int32(TK_UPLUS), pRHS, uintptr(0)) @@ -155931,460 +157361,464 @@ _235: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } } - goto _342 -_236: + goto _346 +_238: ; /* expr ::= LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_SELECT), uintptr(0), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_237: + goto _346 +_239: ; /* expr ::= expr in_op LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_238: + goto _346 +_240: ; /* expr ::= expr in_op nm dbnm paren_exprlist */ pSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) pSelect = _sqlite3SelectNew(tls, pParse, uintptr(0), pSrc, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { if pSelect != 0 { - v346 = pSrc + v349 = pSrc } else { - v346 = uintptr(0) + v349 = uintptr(0) } - _sqlite3SrcListFuncArgs(tls, pParse, v346, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + _sqlite3SrcListFuncArgs(tls, pParse, v349, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pSelect) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_239: + goto _346 +_241: ; /* expr ::= EXISTS LP select RP */ - v347 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v347 - p4 = v347 - _sqlite3PExprAddSelect(tls, pParse, p4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_240: + v350 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v350 + p5 = v350 + _sqlite3PExprAddSelect(tls, pParse, p5, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_242: ; /* expr ::= CASE case_operand case_exprlist case_else END */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_CASE), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { - v348 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + v351 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } else { - v348 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + v351 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) } - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v348 + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v351 _sqlite3ExprSetHeightAndFlags(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } - goto _342 -_241: + goto _346 +_243: ; /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_242: + goto _346 +_244: ; /* case_exprlist ::= WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_243: + goto _346 +_245: ; /* nexprlist ::= nexprlist COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_244: + goto _346 +_246: ; /* nexprlist ::= expr */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_246: + goto _346 +_248: ; /* paren_exprlist ::= LP exprlist RP */ -_245: +_247: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_247: + goto _346 +_249: ; /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ _sqlite3CreateIndex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, uintptr(0)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(11))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8)), SQLITE_SO_ASC, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), uint8(SQLITE_IDXTYPE_APPDEF)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && (*TParse)(unsafe.Pointer(pParse)).FpNewIndex != 0 { _sqlite3RenameTokenMap(tls, pParse, (*TIndex)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpNewIndex)).FzName, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) } - goto _342 -_249: + goto _346 +_251: ; /* uniqueflag ::= UNIQUE */ -_248: +_250: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Abort) - goto _342 -_250: + goto _346 +_252: ; /* uniqueflag ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = OE_None - goto _342 -_251: + goto _346 +_253: ; /* eidlist ::= eidlist COMMA nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_252: + goto _346 +_254: ; /* eidlist ::= nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_253: + goto _346 +_255: ; /* cmd ::= DROP INDEX ifexists fullname */ _sqlite3DropIndex(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_254: + goto _346 +_256: ; /* cmd ::= VACUUM vinto */ _sqlite3Vacuum(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_255: + goto _346 +_257: ; /* cmd ::= VACUUM nm vinto */ _sqlite3Vacuum(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_256: + goto _346 +_258: ; /* cmd ::= PRAGMA nm dbnm */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, uintptr(0), 0) - goto _342 -_257: + goto _346 +_259: ; /* cmd ::= PRAGMA nm dbnm EQ nmnum */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, 0) - goto _342 -_258: + goto _346 +_260: ; /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) - goto _342 -_259: + goto _346 +_261: ; /* cmd ::= PRAGMA nm dbnm EQ minus_num */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, int32(1)) - goto _342 -_260: + goto _346 +_262: ; /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) - goto _342 -_261: + goto _346 +_263: ; /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ (*(*TToken)(unsafe.Pointer(bp + 104))).Fz = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) (*(*TToken)(unsafe.Pointer(bp + 104))).Fn = uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) + *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) _sqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), bp+104) - goto _342 -_262: + goto _346 +_264: ; /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ _sqlite3BeginTrigger(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8 + 8)) == uint32(0) { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) } else { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) } - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v349 /*A-overwrites-T*/ - goto _342 -_263: + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v352 /*A-overwrites-T*/ + goto _346 +_265: ; /* trigger_time ::= BEFORE|AFTER */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_264: + goto _346 +_266: ; /* trigger_time ::= INSTEAD OF */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_INSTEAD) - goto _342 -_265: + goto _346 +_267: ; /* trigger_time ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_BEFORE) - goto _342 -_267: + goto _346 +_269: ; /* trigger_event ::= DELETE|INSERT */ -_266: +_268: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) = uintptr(0) - goto _342 -_268: + goto _346 +_270: ; /* trigger_event ::= UPDATE OF idlist */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(TK_UPDATE) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_270: + goto _346 +_272: ; /* when_clause ::= */ -_269: +_271: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_272: + goto _346 +_274: ; /* when_clause ::= WHEN expr */ -_271: +_273: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_273: + goto _346 +_275: ; /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ (*TTriggerStep)(unsafe.Pointer((*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast)).FpNext = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_274: + goto _346 +_276: ; /* trigger_cmd_list ::= trigger_cmd SEMI */ (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_275: + goto _346 +_277: ; /* trnm ::= nm DOT nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23420, 0) - goto _342 -_276: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23543, 0) + goto _346 +_278: ; /* tridxby ::= INDEXED BY nm */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23515, 0) - goto _342 -_277: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23638, 0) + goto _346 +_279: ; /* tridxby ::= NOT INDEXED */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23599, 0) - goto _342 -_278: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23722, 0) + goto _346 +_280: ; /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerUpdateStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_279: + goto _346 +_281: ; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-6].minor.yy394*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_280: + goto _346 +_282: ; /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerDeleteStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_281: + goto _346 +_283: ; /* trigger_cmd ::= scanpt select scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-1].minor.yy47*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-1].minor.yy555*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_282: + goto _346 +_284: ; /* expr ::= RAISE LP IGNORE RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_RAISE), uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)))).FaffExpr = int8(OE_Ignore) } - goto _342 -_283: + goto _346 +_285: ; /* expr ::= RAISE LP raisetype COMMA nm RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_RAISE), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)))).FaffExpr = int8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) } - goto _342 -_284: + goto _346 +_286: ; /* raisetype ::= ROLLBACK */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Rollback) - goto _342 -_285: + goto _346 +_287: ; /* raisetype ::= FAIL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Fail) - goto _342 -_286: + goto _346 +_288: ; /* cmd ::= DROP TRIGGER ifexists fullname */ _sqlite3DropTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_287: + goto _346 +_289: ; /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ _sqlite3Attach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_288: + goto _346 +_290: ; /* cmd ::= DETACH database_kw_opt expr */ _sqlite3Detach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_289: + goto _346 +_291: ; /* cmd ::= REINDEX */ _sqlite3Reindex(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_290: + goto _346 +_292: ; /* cmd ::= REINDEX nm dbnm */ _sqlite3Reindex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_291: + goto _346 +_293: ; /* cmd ::= ANALYZE */ _sqlite3Analyze(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_292: + goto _346 +_294: ; /* cmd ::= ANALYZE nm dbnm */ _sqlite3Analyze(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_293: + goto _346 +_295: ; /* cmd ::= ALTER TABLE fullname RENAME TO nm */ _sqlite3AlterRenameTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_294: + goto _346 +_296: ; /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(int32(int64((*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fz)-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) + (*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fn _sqlite3AlterFinishAddColumn(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_295: + goto _346 +_297: ; /* cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ _sqlite3AlterDropColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_296: + goto _346 +_298: ; /* add_column_fullname ::= fullname */ _disableLookaside(tls, pParse) _sqlite3AlterBeginAddColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_297: + goto _346 +_299: ; /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ _sqlite3AlterRenameColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) - goto _342 -_298: + goto _346 +_300: ; /* cmd ::= create_vtab */ _sqlite3VtabFinishParse(tls, pParse, uintptr(0)) - goto _342 -_299: + goto _346 +_301: ; /* cmd ::= create_vtab LP vtabarglist RP */ _sqlite3VtabFinishParse(tls, pParse, yymsp+8) - goto _342 -_300: + goto _346 +_302: ; /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ _sqlite3VtabBeginParse(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) - goto _342 -_301: + goto _346 +_303: ; /* vtabarg ::= */ _sqlite3VtabArgInit(tls, pParse) - goto _342 -_303: + goto _346 +_305: ; /* vtabargtoken ::= ANY */ -_302: - ; _304: ; - _sqlite3VtabArgExtend(tls, pParse, yymsp+8) - goto _342 _306: + ; + _sqlite3VtabArgExtend(tls, pParse, yymsp+8) + goto _346 +_308: ; /* with ::= WITH wqlist */ -_305: +_307: ; _sqlite3WithPush(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint8(1)) - goto _342 -_307: + goto _346 +_309: ; /* wqas ::= AS */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8(M10d_Any) - goto _342 -_308: + goto _346 +_310: ; /* wqas ::= AS MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8(M10d_Yes) - goto _342 -_309: + goto _346 +_311: ; /* wqas ::= AS NOT MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = uint8(M10d_No) - goto _342 -_310: - ; /* wqitem ::= nm eidlist_opt wqas LP select RP */ + goto _346 +_312: + ; /* wqitem ::= withnm eidlist_opt wqas LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) /*A-overwrites-X*/ - goto _342 -_311: + goto _346 +_313: + ; /* withnm ::= nm */ + (*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1) + goto _346 +_314: ; /* wqlist ::= wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_312: + goto _346 +_315: ; /* wqlist ::= wqlist COMMA wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3WithAdd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_313: + goto _346 +_316: ; /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ _sqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_314: + goto _346 +_317: ; /* windowdefn ::= nm AS LP window RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)))) } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_315: + goto _346 +_318: ; /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_316: + goto _346 +_319: ; /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_317: + goto _346 +_320: ; /* window ::= ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_318: + goto _346 +_321: ; /* window ::= nm ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_319: + goto _346 +_322: ; /* window ::= nm frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_320: + goto _346 +_323: ; /* frame_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = _sqlite3WindowAlloc(tls, pParse, 0, int32(TK_UNBOUNDED), uintptr(0), int32(TK_CURRENT), uintptr(0), uint8(0)) - goto _342 -_321: + goto _346 +_324: ; /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), int32(TK_CURRENT), uintptr(0), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_322: + goto _346 +_325: ; /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_324: + goto _346 +_327: ; /* frame_bound_s ::= frame_bound */ -_323: +_326: ; *(*TFrameBound)(unsafe.Pointer(bp)) = *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_326: + goto _346 +_329: ; /* frame_bound_s ::= UNBOUNDED PRECEDING */ -_325: +_328: ; -_327: +_330: ; (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = uintptr(0) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_328: + goto _346 +_331: ; /* frame_bound ::= expr PRECEDING|FOLLOWING */ (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_329: + goto _346 +_332: ; /* frame_exclude_opt ::= */ *(*Tu8)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint8(0) - goto _342 -_330: + goto _346 +_333: ; /* frame_exclude_opt ::= EXCLUDE frame_exclude */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*Tu8)(unsafe.Pointer(yymsp + 8)) - goto _342 -_332: + goto _346 +_335: ; /* frame_exclude ::= NO OTHERS */ -_331: +_334: ; *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) /*A-overwrites-X*/ - goto _342 -_333: + goto _346 +_336: ; /* frame_exclude ::= GROUP|TIES */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_334: + goto _346 +_337: ; /* window_clause ::= WINDOW windowdefn_list */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_335: + goto _346 +_338: ; /* filter_over ::= filter_clause over_clause */ if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) @@ -156393,13 +157827,13 @@ _335: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_336: + goto _346 +_339: ; /* filter_over ::= over_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_337: + goto _346 +_340: ; /* filter_over ::= filter_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { @@ -156409,27 +157843,33 @@ _337: _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_338: + goto _346 +_341: ; /* over_clause ::= OVER LP window RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_339: + goto _346 +_342: ; /* over_clause ::= OVER nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) } - goto _342 -_340: + goto _346 +_343: ; /* filter_clause ::= FILTER LP WHERE expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_341: + goto _346 +_344: + ; /* term ::= QNUMBER */ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) + _sqlite3DequoteNumber(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))) + *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + goto _346 +_345: ; - goto _342 + goto _346 /********** End reduce actions ************************************************/ -_342: +_346: ; yygoto = int32(_yyRuleInfoLhs[yyruleno]) yysize = int32(_yyRuleInfoNRhs[yyruleno]) @@ -156463,9 +157903,9 @@ func _yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, _yyminor /************ Begin %syntax_error code ****************************************/ _ = yymajor /* Silence some compiler warnings */ if *(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp))).Fz)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23396, libc.VaList(bp+24, bp)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23519, libc.VaList(bp+24, bp)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23684, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23807, 0) } /************ End %syntax_error code ******************************************/ /* Suppress warning about unused %extra_argument variable */ @@ -156530,8 +157970,10 @@ func _sqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor TToken) { ** enough on the stack to push the LHS value */ if int32(_yyRuleInfoNRhs[yyruleno]) == 0 { if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos >= (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - _yyStackOverflow(tls, yypParser) - break + if _yyGrowStack(tls, yypParser) != 0 { + _yyStackOverflow(tls, yypParser) + break + } } } yyact = _yy_reduce(tls, yypParser, yyruleno, yymajor, yyminor, pParse) @@ -158680,9 +160122,9 @@ func _analyzeFilterKeyword(tls *libc.TLS, _z uintptr, lastToken int32) (r int32) // ** Store the token type in *tokenType before returning. // */ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { - var c, delim, i, n, v10, v14, v16, v19, v20, v3, v5, v7, v8 int32 - var v15, v6 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v14, v15, v16, v19, v20, v3, v5, v6, v7, v8 + var c, delim, i, n, v10, v16, v18, v21, v22, v3, v5, v7, v8 int32 + var v17, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v16, v17, v18, v21, v22, v3, v5, v6, v7, v8 switch int32(_aiClass[*(*uint8)(unsafe.Pointer(z))]) { /* Switch on the character-class of the first byte ** of the token. See the comment on the CC_ defines ** above. */ @@ -158880,39 +160322,83 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('X')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 2))])&int32(0x08) != 0 { i = int32(3) for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { + if !(int32(1) != 0) { break } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } goto _11 _11: ; i++ } - return i - } - i = 0 - for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _12 - _12: - ; - i++ - } - if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { - i++ - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + } else { + i = 0 + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _12 + _12: + ; i++ } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) - } - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { - i += int32(2) - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } i++ + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _13 + _13: + ; + i++ + } + } + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } + i += int32(2) + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _14 + _14: + ; + i++ + } } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) } for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x46) != 0 { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_ILLEGAL) @@ -158923,24 +160409,24 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { i = int32(1) c = int32(*(*uint8)(unsafe.Pointer(z))) for { - if v15 = c != int32(']'); v15 { - v14 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v14 + if v17 = c != int32(']'); v17 { + v16 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v16 } - if !(v15 && v14 != 0) { + if !(v17 && v16 != 0) { break } - goto _13 - _13: + goto _15 + _15: ; i++ } if c == int32(']') { - v16 = int32(TK_ID) + v18 = int32(TK_ID) } else { - v16 = int32(TK_ILLEGAL) + v18 = int32(TK_ILLEGAL) } - *(*int32)(unsafe.Pointer(tokenType)) = v16 + *(*int32)(unsafe.Pointer(tokenType)) = v18 return i case int32(CC_VARNUM): *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) @@ -158949,8 +160435,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { break } - goto _17 - _17: + goto _19 + _19: ; i++ } @@ -158962,9 +160448,9 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) i = int32(1) for { - v19 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v19 - if !(v19 != 0) { + v21 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v21 + if !(v21 != 0) { break } if int32(_sqlite3CtypeMap[uint8(c)])&int32(0x46) != 0 { @@ -158973,12 +160459,12 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if c == int32('(') && n > 0 { for { i++ - goto _21 - _21: + goto _23 + _23: ; - v20 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v20 - if !(v20 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { + v22 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v22 + if !(v22 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { break } } @@ -158996,8 +160482,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { } } } - goto _18 - _18: + goto _20 + _20: ; i++ } @@ -159015,8 +160501,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_aiClass[*(*uint8)(unsafe.Pointer(z + uintptr(i)))]) <= int32(CC_KYWD)) { break } - goto _22 - _22: + goto _24 + _24: ; i++ } @@ -159037,8 +160523,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { break } - goto _23 - _23: + goto _25 + _25: ; i++ } @@ -159092,7 +160578,7 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { var lastTokenParsed, mxSqlLen, n, nErr int32 var _ /* sEngine at bp+8 */ TyyParser var _ /* tokenType at bp+0 */ int32 - var _ /* x at bp+2432 */ TToken + var _ /* x at bp+2440 */ TToken _, _, _, _, _, _, _ = db, lastTokenParsed, mxSqlLen, n, nErr, pEngine, pParentParse nErr = 0 /* The LEMON-generated LALR(1) parser */ n = 0 /* type of the next token */ @@ -159150,10 +160636,12 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp)) == int32(TK_FILTER) { *(*int32)(unsafe.Pointer(bp)) = _analyzeFilterKeyword(tls, zSql+6, lastTokenParsed) } else { - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fz = zSql - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fn = uint32(n) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23701, libc.VaList(bp+2456, bp+2432)) - break + if *(*int32)(unsafe.Pointer(bp)) != int32(TK_QNUMBER) { + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fz = zSql + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fn = uint32(n) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23824, libc.VaList(bp+2464, bp+2440)) + break + } } } } @@ -159174,9 +160662,9 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { } if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg != 0 || (*TParse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK && (*TParse)(unsafe.Pointer(pParse)).Frc != int32(SQLITE_DONE) { if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) { - (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3797, libc.VaList(bp+2456, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) + (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3861, libc.VaList(bp+2464, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) } - Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23726, libc.VaList(bp+2456, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) + Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23849, libc.VaList(bp+2464, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) nErr++ } (*TParse)(unsafe.Pointer(pParse)).FzTail = zSql @@ -159368,7 +160856,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('c'): fallthrough case int32('C'): - if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23737, int32(6)) == 0 { + if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23860, int32(6)) == 0 { token = uint8(tkCREATE) } else { token = uint8(tkOTHER) @@ -159376,13 +160864,13 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('t'): fallthrough case int32('T'): - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20381, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20513, int32(7)) == 0 { token = uint8(tkTRIGGER) } else { - if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23744, int32(4)) == 0 { + if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23867, int32(4)) == 0 { token = uint8(tkTEMP) } else { - if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23749, int32(9)) == 0 { + if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23872, int32(9)) == 0 { token = uint8(tkTEMP) } else { token = uint8(tkOTHER) @@ -159392,10 +160880,10 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('e'): fallthrough case int32('E'): - if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23759, int32(3)) == 0 { + if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23882, int32(3)) == 0 { token = uint8(tkEND) } else { - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23763, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23886, int32(7)) == 0 { token = uint8(tkEXPLAIN) } else { token = uint8(tkOTHER) @@ -159835,7 +161323,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) { */ if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 { if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)<= 0 && rc < int32(libc.Uint64FromInt64(232)/libc.Uint64FromInt64(8)) && _aMsg[rc] != uintptr(0) { @@ -160973,31 +162461,31 @@ func _sqlite3ErrStr(tls *libc.TLS, rc int32) (r uintptr) { } var _aMsg = [29]uintptr{ - 0: __ccgo_ts + 23839, - 1: __ccgo_ts + 23852, - 3: __ccgo_ts + 23868, - 4: __ccgo_ts + 23893, - 5: __ccgo_ts + 23907, - 6: __ccgo_ts + 23926, - 7: __ccgo_ts + 1620, - 8: __ccgo_ts + 23951, - 9: __ccgo_ts + 23988, - 10: __ccgo_ts + 24000, - 11: __ccgo_ts + 24015, - 12: __ccgo_ts + 24048, - 13: __ccgo_ts + 24066, - 14: __ccgo_ts + 24091, - 15: __ccgo_ts + 24120, - 17: __ccgo_ts + 6023, - 18: __ccgo_ts + 5425, - 19: __ccgo_ts + 24137, - 20: __ccgo_ts + 24155, - 21: __ccgo_ts + 24173, - 23: __ccgo_ts + 24207, - 25: __ccgo_ts + 24228, - 26: __ccgo_ts + 24254, - 27: __ccgo_ts + 24277, - 28: __ccgo_ts + 24298, + 0: __ccgo_ts + 23962, + 1: __ccgo_ts + 23975, + 3: __ccgo_ts + 23991, + 4: __ccgo_ts + 24016, + 5: __ccgo_ts + 24030, + 6: __ccgo_ts + 24049, + 7: __ccgo_ts + 1634, + 8: __ccgo_ts + 24074, + 9: __ccgo_ts + 24111, + 10: __ccgo_ts + 24123, + 11: __ccgo_ts + 24138, + 12: __ccgo_ts + 24171, + 13: __ccgo_ts + 24189, + 14: __ccgo_ts + 24214, + 15: __ccgo_ts + 24243, + 17: __ccgo_ts + 6087, + 18: __ccgo_ts + 5489, + 19: __ccgo_ts + 24260, + 20: __ccgo_ts + 24278, + 21: __ccgo_ts + 24296, + 23: __ccgo_ts + 24330, + 25: __ccgo_ts + 24351, + 26: __ccgo_ts + 24377, + 27: __ccgo_ts + 24400, + 28: __ccgo_ts + 24421, } // C documentation @@ -161176,7 +162664,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i var p, v1 uintptr _, _, _, _ = extraFlags, p, rc, v1 if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) { - return _sqlite3MisuseError(tls, int32(180244)) + return _sqlite3MisuseError(tls, int32(181689)) } extraFlags = enc & (libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_INNOCUOUS) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)) enc &= libc.Int32FromInt32(SQLITE_FUNC_ENCMASK) | libc.Int32FromInt32(SQLITE_ANY) @@ -161219,7 +162707,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i p = _sqlite3FindFunction(tls, db, zFunctionName, nArg, uint8(enc), uint8(0)) if p != 0 && (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) == uint32(enc) && int32((*TFuncDef)(unsafe.Pointer(p)).FnArg) == nArg { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24395, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24518, 0) return int32(SQLITE_BUSY) } else { _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -161345,7 +162833,7 @@ func _sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotU zName = Xsqlite3_user_data(tls, context) _ = NotUsed _ = NotUsed2 - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24458, libc.VaList(bp+8, zName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24581, libc.VaList(bp+8, zName)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -161376,7 +162864,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i if rc != 0 { return SQLITE_OK } - zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, zName)) + zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, zName)) if zCopy == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -161620,7 +163108,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) { /* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint ** mode: */ - return _sqlite3MisuseError(tls, int32(180859)) + return _sqlite3MisuseError(tls, int32(182304)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if zDb != 0 && *(*int8)(unsafe.Pointer(zDb)) != 0 { @@ -161630,7 +163118,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in } if iDb < 0 { rc = int32(SQLITE_ERROR) - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24509, libc.VaList(bp+8, zDb)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24632, libc.VaList(bp+8, zDb)) } else { (*Tsqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = _sqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -161752,7 +163240,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) { return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM)) } if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(180995))) + return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(182440))) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -161884,7 +163372,7 @@ var _misuse = [34]Tu16{ // */ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181074)) + return _sqlite3MisuseError(tls, int32(182519)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -161894,7 +163382,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181083)) + return _sqlite3MisuseError(tls, int32(182528)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -161943,7 +163431,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui enc2 = int32(SQLITE_UTF16LE) } if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) { - return _sqlite3MisuseError(tls, int32(181131)) + return _sqlite3MisuseError(tls, int32(182576)) } /* Check if this call is removing or replacing an existing collation ** sequence. If so, and there are active VMs, return busy. If there @@ -161952,7 +163440,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui pColl = _sqlite3FindCollSeq(tls, db, uint8(enc2), zName, 0) if pColl != 0 && (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24530, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24653, 0) return int32(SQLITE_BUSY) } _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -162099,7 +163587,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u flags = *(*uint32)(unsafe.Pointer(pFlags)) zVfs = zDefaultVfs nUri = _sqlite3Strlen30(tls, zUri) - if (flags&uint32(SQLITE_OPEN_URI) != 0 || *(*Tu8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_sqlite3Config)) + 6)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24598, uint64(5)) == 0 { /* Input character index */ + if (flags&uint32(SQLITE_OPEN_URI) != 0 || *(*Tu8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_sqlite3Config)) + 6)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24721, uint64(5)) == 0 { /* Input character index */ iOut = 0 /* Output character index */ nByte = uint64(nUri + int32(8)) /* Bytes of space to allocate */ /* Make sure the SQLITE_OPEN_URI flag is set to indicate to the VFS xOpen @@ -162129,8 +163617,8 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u for *(*int8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0 && int32(*(*int8)(unsafe.Pointer(zUri + uintptr(iIn)))) != int32('/') { iIn++ } - if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24604, zUri+7, uint64(9)) != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24614, libc.VaList(bp+8, iIn-int32(7), zUri+7)) + if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24727, zUri+7, uint64(9)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24737, libc.VaList(bp+8, iIn-int32(7), zUri+7)) rc = int32(SQLITE_ERROR) goto parse_uri_out } @@ -162219,24 +163707,24 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u nOpt = _sqlite3Strlen30(tls, zOpt) zVal = zOpt + uintptr(nOpt+int32(1)) nVal = _sqlite3Strlen30(tls, zVal) - if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24642, zOpt, uint64(3)) == 0 { + if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24765, zOpt, uint64(3)) == 0 { zVfs = zVal } else { aMode = uintptr(0) zModeType = uintptr(0) mask = 0 limit = 0 - if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24646, zOpt, uint64(5)) == 0 { + if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24769, zOpt, uint64(5)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_SHAREDCACHE) | libc.Int32FromInt32(SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&_aCacheMode)) limit = mask - zModeType = __ccgo_ts + 24646 + zModeType = __ccgo_ts + 24769 } - if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24667, zOpt, uint64(4)) == 0 { + if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24790, zOpt, uint64(4)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_READONLY) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&_aOpenMode)) limit = int32(uint32(mask) & flags) - zModeType = __ccgo_ts + 3406 + zModeType = __ccgo_ts + 3470 } if aMode != 0 { mode = 0 @@ -162265,12 +163753,12 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u i++ } if mode == 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24682, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24805, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_ERROR) goto parse_uri_out } if mode & ^libc.Int32FromInt32(SQLITE_OPEN_MEMORY) > limit { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24702, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24825, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_PERM) goto parse_uri_out } @@ -162294,7 +163782,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u } *(*uintptr)(unsafe.Pointer(ppVfs)) = Xsqlite3_vfs_find(tls, zVfs) if *(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24726, libc.VaList(bp+8, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24849, libc.VaList(bp+8, zVfs)) rc = int32(SQLITE_ERROR) } goto parse_uri_out @@ -162314,11 +163802,11 @@ var _aCacheMode = [3]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24652, + Fz: __ccgo_ts + 24775, Fmode: int32(SQLITE_OPEN_SHAREDCACHE), }, 1: { - Fz: __ccgo_ts + 24659, + Fz: __ccgo_ts + 24782, Fmode: int32(SQLITE_OPEN_PRIVATECACHE), }, 2: {}, @@ -162329,19 +163817,19 @@ var _aOpenMode = [5]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24672, + Fz: __ccgo_ts + 24795, Fmode: int32(SQLITE_OPEN_READONLY), }, 1: { - Fz: __ccgo_ts + 24675, + Fz: __ccgo_ts + 24798, Fmode: int32(SQLITE_OPEN_READWRITE), }, 2: { - Fz: __ccgo_ts + 24678, + Fz: __ccgo_ts + 24801, Fmode: libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE), }, 3: { - Fz: __ccgo_ts + 17766, + Fz: __ccgo_ts + 17853, Fmode: int32(SQLITE_OPEN_MEMORY), }, 4: {}, @@ -162469,8 +163957,8 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16BE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+22353, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+24742, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+22498, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+24865, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto opendb_out } @@ -162491,7 +163979,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* READWRITE */ /* READWRITE | CREATE */ if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 { - rc = _sqlite3MisuseError(tls, int32(181803)) /* IMP: R-18321-05872 */ + rc = _sqlite3MisuseError(tls, int32(183248)) /* IMP: R-18321-05872 */ } else { rc = _sqlite3ParseUri(tls, zVfs, zFilename, bp, db, bp+8, bp+16) } @@ -162500,7 +163988,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _sqlite3OomFault(tls, db) } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { - v2 = __ccgo_ts + 3797 + v2 = __ccgo_ts + 3861 } else { v2 = uintptr(0) } @@ -162527,9 +164015,9 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* The default safety_level for the main database is FULL; for the temp ** database it is OFF. This matches the pager layer defaults. */ - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6587 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6651 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).Fsafety_level = uint8(libc.Int32FromInt32(SQLITE_DEFAULT_SYNCHRONOUS) + libc.Int32FromInt32(1)) - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23744 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23867 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).Fsafety_level = uint8(PAGER_SYNCHRONOUS_OFF) (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState = uint8(SQLITE_STATE_OPEN) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -162623,7 +164111,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) { return rc } if zFilename == uintptr(0) { - zFilename = __ccgo_ts + 24748 + zFilename = __ccgo_ts + 24871 } pVal = _sqlite3ValueNew(tls, uintptr(0)) _sqlite3ValueSetStr(tls, pVal, -int32(1), zFilename, uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(0)) @@ -162840,20 +164328,20 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) (r int32) { func _sqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, __ccgo_ts+24751, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) + Xsqlite3_log(tls, iErr, __ccgo_ts+24874, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) return iErr } func _sqlite3CorruptError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24776) + return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24899) } func _sqlite3MisuseError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24796) + return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24919) } func _sqlite3CantopenError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24803) + return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24926) } // C documentation @@ -162984,11 +164472,11 @@ error_out: } if SQLITE_OK == rc && !(pTab != 0) { _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24820, libc.VaList(bp+16, zTableName, zColumnName)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24943, libc.VaList(bp+16, zTableName, zColumnName)) rc = int32(SQLITE_ERROR) } if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - v3 = __ccgo_ts + 3797 + v3 = __ccgo_ts + 3861 } else { v3 = uintptr(0) } @@ -164012,7 +165500,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) (r int32) { var _ /* nOpt at bp+0 */ int32 _, _, _ = azCompileOpt, i, n azCompileOpt = _sqlite3CompileOptions(tls, bp) - if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24848, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24971, int32(7)) == 0 { zOptName += uintptr(7) } n = _sqlite3Strlen30(tls, zOptName) @@ -164230,7 +165718,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui } _leaveMutex(tls) if rc != 0 { - v2 = __ccgo_ts + 24856 + v2 = __ccgo_ts + 24979 } else { v2 = uintptr(0) } @@ -165110,23 +166598,23 @@ func _sqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { // ** string must correspond to the JSONB_* integer above. // */ var _jsonbType = [17]uintptr{ - 0: __ccgo_ts + 1636, - 1: __ccgo_ts + 7888, - 2: __ccgo_ts + 7893, - 3: __ccgo_ts + 6308, - 4: __ccgo_ts + 6308, - 5: __ccgo_ts + 6303, - 6: __ccgo_ts + 6303, - 7: __ccgo_ts + 8199, - 8: __ccgo_ts + 8199, - 9: __ccgo_ts + 8199, - 10: __ccgo_ts + 8199, - 11: __ccgo_ts + 24879, - 12: __ccgo_ts + 24885, - 13: __ccgo_ts + 1650, - 14: __ccgo_ts + 1650, - 15: __ccgo_ts + 1650, - 16: __ccgo_ts + 1650, + 0: __ccgo_ts + 1650, + 1: __ccgo_ts + 8013, + 2: __ccgo_ts + 8018, + 3: __ccgo_ts + 6372, + 4: __ccgo_ts + 6372, + 5: __ccgo_ts + 6367, + 6: __ccgo_ts + 6367, + 7: __ccgo_ts + 8324, + 8: __ccgo_ts + 8324, + 9: __ccgo_ts + 8324, + 10: __ccgo_ts + 8324, + 11: __ccgo_ts + 25002, + 12: __ccgo_ts + 25008, + 13: __ccgo_ts + 1664, + 14: __ccgo_ts + 1664, + 15: __ccgo_ts + 1664, + 16: __ccgo_ts + 1664, } // C documentation @@ -165889,6 +167377,38 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { _jsonAppendChar(tls, p, int8(',')) } +// C documentation +// +// /* c is a control character. Append the canonical JSON representation +// ** of that control character to p. +// ** +// ** This routine assumes that the output buffer has already been enlarged +// ** sufficiently to hold the worst-case encoding plus a nul terminator. +// */ +func _jsonAppendControlChar(tls *libc.TLS, p uintptr, c Tu8) { + if _aSpecial[c] != 0 { + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = int8('\\') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = _aSpecial[c] + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(2) + } else { + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = int8('\\') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = int8('u') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(2)))) = int8('0') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(3)))) = int8('0') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(4)))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25015 + uintptr(int32(c)>>int32(4)))) + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(5)))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25015 + uintptr(int32(c)&int32(0xf)))) + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(6) + } +} + +var _aSpecial = [32]int8{ + 8: int8('b'), + 9: int8('t'), + 10: int8('n'), + 12: int8('f'), + 13: int8('r'), +} + // C documentation // // /* Append the N-byte string in zIn to the end of the JsonString string @@ -165902,9 +167422,9 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { var c Tu8 var k Tu32 - var z, v10, v12, v14, v16, v18, v2, v20, v22, v24, v6, v8 uintptr - var v1, v11, v13, v15, v17, v19, v21, v23, v5, v7, v9 Tu64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v5, v6, v7, v8, v9 + var z, v10, v2, v4, v6, v8 uintptr + var v1, v3, v5, v7, v9 Tu64 + _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v2, v3, v4, v5, v6, v7, v8, v9 z = zIn if z == uintptr(0) { return @@ -165961,81 +167481,38 @@ func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { N -= k } c = *(*Tu8)(unsafe.Pointer(z)) - if !(int32(c) == int32('"') || int32(c) == int32('\\')) { - goto _3 - } - goto json_simple_escape - json_simple_escape: - ; - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { - return - } - v6 = p + 24 - v5 = *(*Tu64)(unsafe.Pointer(v6)) - *(*Tu64)(unsafe.Pointer(v6))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = int8('\\') - v8 = p + 24 - v7 = *(*Tu64)(unsafe.Pointer(v8)) - *(*Tu64)(unsafe.Pointer(v8))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = int8(c) - goto _4 - _3: - ; - if int32(c) == int32('\'') { - v10 = p + 24 - v9 = *(*Tu64)(unsafe.Pointer(v10)) - *(*Tu64)(unsafe.Pointer(v10))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = int8(c) - } else { - if _aSpecial[c] != 0 { - c = uint8(_aSpecial[c]) - goto json_simple_escape - } - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + if int32(c) == int32('"') || int32(c) == int32('\\') { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { return } - v12 = p + 24 - v11 = *(*Tu64)(unsafe.Pointer(v12)) - *(*Tu64)(unsafe.Pointer(v12))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v11))) = int8('\\') - v14 = p + 24 - v13 = *(*Tu64)(unsafe.Pointer(v14)) - *(*Tu64)(unsafe.Pointer(v14))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v13))) = int8('u') - v16 = p + 24 - v15 = *(*Tu64)(unsafe.Pointer(v16)) - *(*Tu64)(unsafe.Pointer(v16))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v15))) = int8('0') - v18 = p + 24 - v17 = *(*Tu64)(unsafe.Pointer(v18)) - *(*Tu64)(unsafe.Pointer(v18))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v17))) = int8('0') - v20 = p + 24 - v19 = *(*Tu64)(unsafe.Pointer(v20)) - *(*Tu64)(unsafe.Pointer(v20))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v19))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 24892 + uintptr(int32(c)>>int32(4)))) - v22 = p + 24 - v21 = *(*Tu64)(unsafe.Pointer(v22)) - *(*Tu64)(unsafe.Pointer(v22))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v21))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 24892 + uintptr(int32(c)&int32(0xf)))) + v4 = p + 24 + v3 = *(*Tu64)(unsafe.Pointer(v4)) + *(*Tu64)(unsafe.Pointer(v4))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v3))) = int8('\\') + v6 = p + 24 + v5 = *(*Tu64)(unsafe.Pointer(v6)) + *(*Tu64)(unsafe.Pointer(v6))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = int8(c) + } else { + if int32(c) == int32('\'') { + v8 = p + 24 + v7 = *(*Tu64)(unsafe.Pointer(v8)) + *(*Tu64)(unsafe.Pointer(v8))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = int8(c) + } else { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + return + } + _jsonAppendControlChar(tls, p, c) + } } - _4: - ; z++ N-- } - v24 = p + 24 - v23 = *(*Tu64)(unsafe.Pointer(v24)) - *(*Tu64)(unsafe.Pointer(v24))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v23))) = int8('"') -} - -var _aSpecial = [32]int8{ - 8: int8('b'), - 9: int8('t'), - 10: int8('n'), - 12: int8('f'), - 13: int8('r'), + v10 = p + 24 + v9 = *(*Tu64)(unsafe.Pointer(v10)) + *(*Tu64)(unsafe.Pointer(v10))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = int8('"') } // C documentation @@ -166053,9 +167530,9 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _, _, _, _ = n, n1, z, z1 switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_NULL): - _jsonAppendRawNZ(tls, p, __ccgo_ts+1636, uint32(4)) + _jsonAppendRawNZ(tls, p, __ccgo_ts+1650, uint32(4)) case int32(SQLITE_FLOAT): - _jsonPrintf(tls, int32(100), p, __ccgo_ts+15325, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) + _jsonPrintf(tls, int32(100), p, __ccgo_ts+15418, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) case int32(SQLITE_INTEGER): z = Xsqlite3_value_text(tls, pValue) n = uint32(Xsqlite3_value_bytes(tls, pValue)) @@ -166076,7 +167553,7 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _jsonTranslateBlobToText(tls, bp, uint32(0), p) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr) == 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24909, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25032, -int32(1)) (*TJsonString)(unsafe.Pointer(p)).FeErr = uint8(JSTRING_ERR) _jsonStringReset(tls, p) } @@ -166130,7 +167607,7 @@ func _jsonReturnString(tls *libc.TLS, p uintptr, pParse uintptr, ctx uintptr) { Xsqlite3_result_error_nomem(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr)&int32(JSTRING_MALFORMED) != 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25061, -int32(1)) } } } @@ -166413,8 +167890,8 @@ var _aNanInfName = [5]TNanInfName{ Fn: int8(3), FeType: int8(JSONB_FLOAT), FnRepl: int8(7), - FzMatch: __ccgo_ts + 24953, - FzRepl: __ccgo_ts + 24957, + FzMatch: __ccgo_ts + 25076, + FzRepl: __ccgo_ts + 25080, }, 1: { Fc1: int8('i'), @@ -166422,32 +167899,32 @@ var _aNanInfName = [5]TNanInfName{ Fn: int8(8), FeType: int8(JSONB_FLOAT), FnRepl: int8(7), - FzMatch: __ccgo_ts + 24965, - FzRepl: __ccgo_ts + 24957, + FzMatch: __ccgo_ts + 25088, + FzRepl: __ccgo_ts + 25080, }, 2: { Fc1: int8('n'), Fc2: int8('N'), Fn: int8(3), FnRepl: int8(4), - FzMatch: __ccgo_ts + 1641, - FzRepl: __ccgo_ts + 1636, + FzMatch: __ccgo_ts + 1655, + FzRepl: __ccgo_ts + 1650, }, 3: { Fc1: int8('q'), Fc2: int8('Q'), Fn: int8(4), FnRepl: int8(4), - FzMatch: __ccgo_ts + 24974, - FzRepl: __ccgo_ts + 1636, + FzMatch: __ccgo_ts + 25097, + FzRepl: __ccgo_ts + 1650, }, 4: { Fc1: int8('s'), Fc2: int8('S'), Fn: int8(4), FnRepl: int8(4), - FzMatch: __ccgo_ts + 24979, - FzRepl: __ccgo_ts + 1636, + FzMatch: __ccgo_ts + 25102, + FzRepl: __ccgo_ts + 1650, }, } @@ -166462,7 +167939,7 @@ func _jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24984, libc.VaList(bp+8, zFuncName)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25107, libc.VaList(bp+8, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) } @@ -166911,30 +168388,37 @@ func _jsonbValidityCheck(tls *libc.TLS, pParse uintptr, i Tu32, iEnd Tu32, iDept return j + uint32(1) } } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) <= int32(0x1f) { + /* Control characters in JSON5 string literals are ok */ + if int32(x) == int32(JSONB_TEXTJ) { + return j + uint32(1) + } } else { - if libc.Xstrchr(tls, __ccgo_ts+25027, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { - j++ + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { + return j + uint32(1) } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { - if j+uint32(5) >= k { - return j + uint32(1) - } - if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { - return j + uint32(1) - } + if libc.Xstrchr(tls, __ccgo_ts+25150, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { j++ } else { - if int32(x) != int32(JSONB_TEXT5) { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { + if j+uint32(5) >= k { + return j + uint32(1) + } + if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { + return j + uint32(1) + } + j++ } else { - *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) - szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) - if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + if int32(x) != int32(JSONB_TEXT5) { return j + uint32(1) + } else { + *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) + szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) + if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + return j + uint32(1) + } + j += szC - uint32(1) } - j += szC - uint32(1) } } } @@ -167361,9 +168845,14 @@ parse_string: } } else { if int32(c) <= int32(0x1f) { - /* Control characters are not allowed in strings */ - (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j - return -int32(1) + if int32(c) == 0 { + (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j + return -int32(1) + } + /* Control characters are not allowed in canonical JSON string + ** literals, but are allowed in JSON5 string literals. */ + opcode = uint8(JSONB_TEXT5) + (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) } else { if int32(c) == int32('"') { opcode = uint8(JSONB_TEXT5) @@ -167377,7 +168866,7 @@ parse_string: return int32(j + uint32(1)) _5: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7888, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8013, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_TRUE)) return int32(i + uint32(4)) } @@ -167385,7 +168874,7 @@ _5: return -int32(1) _6: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7893, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(5)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8018, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(5)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_FALSE)) return int32(i + uint32(5)) } @@ -167462,14 +168951,14 @@ parse_number: /* JSON5 allows for "+Infinity" and "-Infinity" using exactly ** that case. SQLite also allows these in any case and it allows ** "+inf" and "-inf". */ - if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+24953, int32(3)) == 0 { + if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+25076, int32(3)) == 0 { (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) if int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == int32('-') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25036) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25159) } else { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25043) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25166) } - if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25049, int32(5)) == 0 { + if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25172, int32(5)) == 0 { v48 = int32(9) } else { v48 = int32(4) @@ -167630,7 +169119,7 @@ _29: return -int32(1) _37: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1636, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1650, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) return int32(i + uint32(4)) } @@ -167654,7 +169143,7 @@ _38: goto _51 } if int32(_aNanInfName[k1].FeType) == int32(JSONB_FLOAT) { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25043) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25166) } else { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) } @@ -167699,7 +169188,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 i += _json5Whitespace(tls, zJson+uintptr(i)) if *(*int8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { if pCtx != 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25061, -int32(1)) } _jsonParseReset(tls, pParse) return int32(1) @@ -167712,7 +169201,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 if (*TJsonParse)(unsafe.Pointer(pParse)).Foom != 0 { Xsqlite3_result_error_nomem(tls, pCtx) } else { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25061, -int32(1)) } } _jsonParseReset(tls, pParse) @@ -167875,15 +169364,15 @@ func _jsonTranslateBlobToText(tls *libc.TLS, pParse uintptr, i Tu32, pOut uintpt goto _16 _2: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1636, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1650, uint32(4)) return i + uint32(1) _3: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7888, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8013, uint32(4)) return i + uint32(1) _4: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7893, uint32(5)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8018, uint32(5)) return i + uint32(1) _6: ; @@ -167932,9 +169421,9 @@ _7: k++ } if bOverflow != 0 { - v19 = __ccgo_ts + 24957 + v19 = __ccgo_ts + 25080 } else { - v19 = __ccgo_ts + 11755 + v19 = __ccgo_ts + 11880 } _jsonPrintf(tls, int32(100), pOut, v19, libc.VaList(bp+16, u)) goto _16 @@ -167982,7 +169471,7 @@ _11: for sz2 > uint32(0) { k2 = uint32(0) for { - if !(k2 < sz2 && int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('\\') && int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('"')) { + if !(k2 < sz2 && (_jsonIsOk[uint8(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2))))] != 0 || int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) == int32('\''))) { break } goto _21 @@ -167999,7 +169488,16 @@ _11: sz2 -= k2 } if int32(*(*int8)(unsafe.Pointer(zIn2))) == int32('"') { - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25055, uint32(2)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25178, uint32(2)) + zIn2++ + sz2-- + continue + } + if int32(*(*int8)(unsafe.Pointer(zIn2))) <= int32(0x1f) { + if (*TJsonString)(unsafe.Pointer(pOut)).FnUsed+uint64(7) > (*TJsonString)(unsafe.Pointer(pOut)).FnAlloc && _jsonStringGrow(tls, pOut, uint32(7)) != 0 { + break + } + _jsonAppendControlChar(tls, pOut, uint8(*(*int8)(unsafe.Pointer(zIn2)))) zIn2++ sz2-- continue @@ -168013,7 +169511,7 @@ _11: case int32('\''): _jsonAppendChar(tls, pOut, int8('\'')) case int32('v'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25058, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25181, uint32(6)) case int32('x'): if sz2 < uint32(4) { p23 = pOut + 33 @@ -168021,12 +169519,12 @@ _11: sz2 = uint32(2) break } - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25065, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25188, uint32(4)) _jsonAppendRawNZ(tls, pOut, zIn2+2, uint32(2)) zIn2 += uintptr(2) sz2 -= uint32(2) case int32('0'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25070, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25193, uint32(6)) case int32('\r'): if sz2 > uint32(2) && int32(*(*int8)(unsafe.Pointer(zIn2 + 2))) == int32('\n') { zIn2++ @@ -168115,6 +169613,140 @@ _16: return i + n + *(*Tu32)(unsafe.Pointer(bp)) } +// C documentation +// +// /* Context for recursion of json_pretty() +// */ +type TJsonPretty = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty = TJsonPretty + +type TJsonPretty1 = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty1 = TJsonPretty1 + +// C documentation +// +// /* Append indentation to the pretty JSON under construction */ +func _jsonPrettyIndent(tls *libc.TLS, pPretty uintptr) { + var jj Tu32 + _ = jj + jj = uint32(0) + for { + if !(jj < (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent) { + break + } + _jsonAppendRaw(tls, (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut, (*TJsonPretty)(unsafe.Pointer(pPretty)).FzIndent, (*TJsonPretty)(unsafe.Pointer(pPretty)).FszIndent) + goto _1 + _1: + ; + jj++ + } +} + +// C documentation +// +// /* +// ** Translate the binary JSONB representation of JSON beginning at +// ** pParse->aBlob[i] into a JSON text string. Append the JSON +// ** text onto the end of pOut. Return the index in pParse->aBlob[] +// ** of the first byte past the end of the element that is translated. +// ** +// ** This is a variant of jsonTranslateBlobToText() that "pretty-prints" +// ** the output. Extra whitespace is inserted to make the JSON easier +// ** for humans to read. +// ** +// ** If an error is detected in the BLOB input, the pOut->eErr flag +// ** might get set to JSTRING_MALFORMED. But not all BLOB input errors +// ** are detected. So a malformed JSONB input might either result +// ** in an error, or in incorrect JSON. +// ** +// ** The pOut->eErr JSTRING_OOM flag is set on a OOM. +// */ +func _jsonTranslateBlobToPrettyText(tls *libc.TLS, pPretty uintptr, i Tu32) (r Tu32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var iEnd, j, n Tu32 + var pOut, pParse, p1, p2 uintptr + var _ /* sz at bp+0 */ Tu32 + _, _, _, _, _, _, _ = iEnd, j, n, pOut, pParse, p1, p2 + pParse = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpParse + pOut = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut + n = _jsonbPayloadSize(tls, pParse, i, bp) + if n == uint32(0) { + p1 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + return (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob + uint32(1) + } + switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { + case int32(JSONB_ARRAY): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, int8('[')) + if j < iEnd { + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25200, uint32(2)) + } + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, int8(']')) + i = iEnd + case int32(JSONB_OBJECT): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, int8('{')) + if j < iEnd { + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToText(tls, pParse, j, pOut) + if j > iEnd { + p2 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p2)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p2))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25203, uint32(2)) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25200, uint32(2)) + } + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, int8('}')) + i = iEnd + default: + i = _jsonTranslateBlobToText(tls, pParse, i, pOut) + break + } + return i +} + // C documentation // // /* Return true if the input pJson @@ -168832,7 +170464,7 @@ func _jsonReturnFromBlob(tls *libc.TLS, pParse uintptr, i Tu32, pCtx uintptr, te db = Xsqlite3_context_db_handle(tls, pCtx) n = _jsonbPayloadSize(tls, pParse, i, bp) if n == uint32(0) { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25061, -int32(1)) return } switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { @@ -169068,7 +170700,7 @@ returnfromblob_oom: goto returnfromblob_malformed returnfromblob_malformed: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25061, -int32(1)) return } @@ -169109,7 +170741,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob = Xsqlite3_value_blob(tls, pArg) (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob = uint32(Xsqlite3_value_bytes(tls, pArg)) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24909, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25032, -int32(1)) return int32(1) } case int32(SQLITE_TEXT): @@ -169122,7 +170754,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FzJson = zJson (*TJsonParse)(unsafe.Pointer(pParse)).FnJson = nJson if _jsonConvertTextToBlob(tls, pParse, ctx) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) _sqlite3DbFree(tls, (*TJsonParse)(unsafe.Pointer(pParse)).Fdb, (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob) libc.Xmemset(tls, pParse, 0, uint64(72)) return int32(1) @@ -169141,10 +170773,10 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin return int32(1) } if int32(*(*int8)(unsafe.Pointer(z))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25043) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25166) } else { if int32(*(*int8)(unsafe.Pointer(z))) == int32('-') && int32(*(*int8)(unsafe.Pointer(z + 1))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25036) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25159) } else { _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(n), z) } @@ -169183,7 +170815,7 @@ func _jsonBadPathError(tls *libc.TLS, ctx uintptr, zPath uintptr) (r uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25077, libc.VaList(bp+8, zPath)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25206, libc.VaList(bp+8, zPath)) if ctx == uintptr(0) { return zMsg } @@ -169280,7 +170912,7 @@ jsonInsertIntoBlob_patherror: ; _jsonParseFree(tls, p) if rc == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) } else { _jsonBadPathError(tls, ctx, zPath) } @@ -169462,7 +171094,7 @@ json_pfa_malformed: return p } else { _jsonParseFree(tls, p) - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) return uintptr(0) } goto json_pfa_oom @@ -169597,7 +171229,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if int32(*(*int8)(unsafe.Pointer(zPath))) == int32('$') { v1 = zPath + uintptr(1) } else { - v1 = __ccgo_ts + 25095 + v1 = __ccgo_ts + 25224 } i = _jsonLookupStep(tls, p, uint32(0), v1, uint32(0)) if i >= uint32(JSON_LOOKUP_PATHERROR) { @@ -169607,7 +171239,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) } } eErr = uint8(1) @@ -169625,25 +171257,6 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) _jsonParseFree(tls, p) } -// C documentation -// -// /* True if the string is all digits */ -func _jsonAllDigits(tls *libc.TLS, z uintptr, n int32) (r int32) { - var i int32 - _ = i - i = 0 - for { - if !(i < n && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&int32(0x04) != 0) { - break - } - goto _1 - _1: - ; - i++ - } - return libc.BoolInt32(i == n) -} - // C documentation // // /* True if the string is all alphanumerics and underscores */ @@ -169730,21 +171343,21 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { ** [NUMBER] ==> $[NUMBER] // Not PG. Purely for convenience */ _jsonStringInit(tls, bp, ctx) - if _jsonAllDigits(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25097, uint32(1)) + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) == int32(SQLITE_INTEGER) { + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25226, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+5163, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+5227, uint32(2)) } else { if _jsonAllAlphanum(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1663, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1677, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { if int32(*(*int8)(unsafe.Pointer(zPath))) == int32('[') && nPath >= int32(3) && int32(*(*int8)(unsafe.Pointer(zPath + uintptr(nPath-int32(1))))) == int32(']') { _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25099, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25228, uint32(2)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25102, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25231, uint32(1)) } } } @@ -169780,11 +171393,11 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { goto json_extract_error /* Return NULL if not found */ } else { _jsonAppendSeparator(tls, bp) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1636, uint32(4)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1650, uint32(4)) } } else { if j == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) goto json_extract_error } else { _jsonBadPathError(tls, ctx, zPath) @@ -170052,7 +171665,7 @@ func _jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == int32(JSON_MERGE_OOM) { Xsqlite3_result_error_nomem(tls, ctx) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) } } _jsonParseFree(tls, pPatch) @@ -170076,7 +171689,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { var _ /* jx at bp+0 */ TJsonString _, _, _ = i, n, z if argc&int32(1) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25104, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25233, -int32(1)) return } _jsonStringInit(tls, bp, ctx) @@ -170087,7 +171700,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { break } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != int32(SQLITE_TEXT) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25155, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25284, -int32(1)) _jsonStringReset(tls, bp) return } @@ -170159,7 +171772,7 @@ func _jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) } } goto json_remove_done @@ -170196,7 +171809,7 @@ func _jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { return } if argc&int32(1) == 0 { - _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15798) + _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15891) return } _jsonInsertIntoBlob(tls, ctx, argc, argv, int32(JEDIT_REPL)) @@ -170227,9 +171840,9 @@ func _jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { } if argc&int32(1) == 0 { if bIsSet != 0 { - v1 = __ccgo_ts + 25189 + v1 = __ccgo_ts + 25318 } else { - v1 = __ccgo_ts + 25193 + v1 = __ccgo_ts + 25322 } _jsonWrongNumArgs(tls, ctx, v1) return @@ -170277,7 +171890,7 @@ func _jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) } } goto json_type_done @@ -170292,6 +171905,48 @@ json_type_done: _jsonParseFree(tls, p) } +// C documentation +// +// /* +// ** json_pretty(JSON) +// ** json_pretty(JSON, INDENT) +// ** +// ** Return text that is a pretty-printed rendering of the input JSON. +// ** If the argument is not valid JSON, return NULL. +// ** +// ** The INDENT argument is text that is used for indentation. If omitted, +// ** it defaults to four spaces (the same as PostgreSQL). +// */ +func _jsonPrettyFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { + bp := tls.Alloc(176) + defer tls.Free(176) + var v1 uintptr + var v2 bool + var _ /* s at bp+0 */ TJsonString + var _ /* x at bp+136 */ TJsonPretty + _, _ = v1, v2 /* Pretty printing context */ + libc.Xmemset(tls, bp+136, 0, uint64(32)) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse = _jsonParseFuncArg(tls, ctx, *(*uintptr)(unsafe.Pointer(argv)), uint32(0)) + if (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse == uintptr(0) { + return + } + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpOut = bp + _jsonStringInit(tls, bp, ctx) + if v2 = argc == int32(1); !v2 { + v1 = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = v1 + } + if v2 || v1 == uintptr(0) { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = __ccgo_ts + 25329 + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(4) + } else { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(libc.Xstrlen(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent)) + } + _jsonTranslateBlobToPrettyText(tls, bp+136, uint32(0)) + _jsonReturnString(tls, bp, uintptr(0), uintptr(0)) + _jsonParseFree(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse) +} + // C documentation // // /* @@ -170366,7 +172021,7 @@ func _jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if argc == int32(2) { f = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if f < int64(1) || f > int64(15) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25200, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25334, -int32(1)) return } flags = uint8(f & int64(0x0f)) @@ -170557,7 +172212,7 @@ func _jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25257, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25391, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -170706,7 +172361,7 @@ func _jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25260, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25394, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -170809,7 +172464,7 @@ func _jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argv _ = argc _ = pAux - rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25263) + rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25397) if rc == SQLITE_OK { pNew = _sqlite3DbMallocZero(tls, db, uint64(32)) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -170943,7 +172598,7 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { var _ /* sz at bp+0 */ Tu32 _, _, _, _, _ = i, k, n, needQuote, z if int32((*TJsonEachCursor)(unsafe.Pointer(p)).FeType) == int32(JSONB_ARRAY) { - _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25346, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) + _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25480, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) } else { *(*Tu32)(unsafe.Pointer(bp)) = uint32(0) needQuote = 0 @@ -170969,9 +172624,9 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { } } if needQuote != 0 { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25353, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25487, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } else { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25361, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25495, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } } } @@ -171357,7 +173012,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a i = v5 (*TJsonEachCursor)(unsafe.Pointer(p)).FeType = uint8(0) (*TJsonEachCursor)(unsafe.Pointer(p)).FnRoot = uint32(1) - _jsonAppendRaw(tls, p+56, __ccgo_ts+25367, uint32(1)) + _jsonAppendRaw(tls, p+56, __ccgo_ts+25501, uint32(1)) } (*TJsonEachCursor)(unsafe.Pointer(p)).FnParent = uint32(0) n = _jsonbPayloadSize(tls, p+192, i, bp) @@ -171381,7 +173036,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a json_each_malformed_input: ; Xsqlite3_free(tls, (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg) - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24938, 0) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25061, 0) _jsonEachCursorReset(tls, p) if (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { v6 = int32(SQLITE_ERROR) @@ -171435,183 +173090,193 @@ func init() { // ** Register JSON functions. // */ func _sqlite3RegisterJsonFunctions(tls *libc.TLS) { - _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2304)/libc.Uint64FromInt64(72))) + _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2448)/libc.Uint64FromInt64(72))) } -var _aJsonFunc = [32]TFuncDef{ +var _aJsonFunc = [34]TFuncDef{ 0: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25369, + FzName: __ccgo_ts + 25503, }, 1: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25374, + FzName: __ccgo_ts + 25508, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25380, + FzName: __ccgo_ts + 25514, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25391, + FzName: __ccgo_ts + 25525, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25403, + FzName: __ccgo_ts + 25537, }, 5: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25403, + FzName: __ccgo_ts + 25537, }, 6: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25421, + FzName: __ccgo_ts + 25555, }, 7: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25441, + FzName: __ccgo_ts + 25575, }, 8: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25454, + FzName: __ccgo_ts + 25588, }, 9: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_JSON) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25468, + FzName: __ccgo_ts + 25602, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_SQL) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25471, + FzName: __ccgo_ts + 25605, }, 11: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25475, + FzName: __ccgo_ts + 25609, }, 12: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25487, + FzName: __ccgo_ts + 25621, }, 13: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25500, + FzName: __ccgo_ts + 25634, }, 14: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25512, + FzName: __ccgo_ts + 25646, }, 15: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25525, + FzName: __ccgo_ts + 25659, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25536, + FzName: __ccgo_ts + 25670, }, 17: { FnArg: int8(1), - FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25548, + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25682, }, 18: { + FnArg: int8(2), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25682, + }, + 19: { + FnArg: int8(1), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25694, + }, + 20: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25559, + FzName: __ccgo_ts + 25705, }, - 19: { + 21: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25571, + FzName: __ccgo_ts + 25717, }, - 20: { + 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25584, + FzName: __ccgo_ts + 25730, }, - 21: { + 23: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25597, + FzName: __ccgo_ts + 25743, }, - 22: { + 24: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25611, + FzName: __ccgo_ts + 25757, }, - 23: { + 25: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25620, + FzName: __ccgo_ts + 25766, }, - 24: { + 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25630, + FzName: __ccgo_ts + 25776, }, - 25: { + 27: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25630, + FzName: __ccgo_ts + 25776, }, - 26: { + 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25640, + FzName: __ccgo_ts + 25786, }, - 27: { + 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25640, + FzName: __ccgo_ts + 25786, }, - 28: { + 30: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25651, + FzName: __ccgo_ts + 25797, }, - 29: { + 31: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25668, + FzName: __ccgo_ts + 25814, }, - 30: { + 32: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25686, + FzName: __ccgo_ts + 25832, }, - 31: { + 33: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25704, + FzName: __ccgo_ts + 25850, }, } @@ -171634,33 +173299,35 @@ func init() { *(*uintptr)(unsafe.Add(p, 1032)) = __ccgo_fp(_jsonObjectFunc) *(*uintptr)(unsafe.Add(p, 1104)) = __ccgo_fp(_jsonPatchFunc) *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonPatchFunc) - *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonQuoteFunc) - *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2048)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2056)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2064)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2120)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2128)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2136)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonQuoteFunc) + *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2208)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2280)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2328)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2336)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2344)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2352)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2400)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2408)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2416)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2424)) = __ccgo_fp(_jsonGroupInverse) } // C documentation @@ -171692,11 +173359,11 @@ var _aMod = [2]struct { FpModule uintptr }{ 0: { - FzName: __ccgo_ts + 25723, + FzName: __ccgo_ts + 25869, FpModule: uintptr(unsafe.Pointer(&_jsonEachModule)), }, 1: { - FzName: __ccgo_ts + 25733, + FzName: __ccgo_ts + 25879, FpModule: uintptr(unsafe.Pointer(&_jsonTreeModule)), }, } @@ -172343,7 +174010,7 @@ func _nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode Ti64, pParent uintptr, pp } } if (*TRtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) { - rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25743, iNode, 0, pRtree+112) + rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25889, iNode, 0, pRtree+112) } if rc != 0 { *(*uintptr)(unsafe.Pointer(ppNode)) = uintptr(0) @@ -172648,7 +174315,7 @@ func _rtreeDestroy(tls *libc.TLS, pVtab uintptr) (r int32) { var rc int32 _, _, _ = pRtree, rc, zCreate pRtree = pVtab - zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25748, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25894, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if !(zCreate != 0) { rc = int32(SQLITE_NOMEM) } else { @@ -173570,7 +175237,7 @@ func _findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid Ti64, ppLeaf uintptr, p func _deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) (r int32) { var pBlob, pInfo, pSrc uintptr _, _, _ = pBlob, pInfo, pSrc /* Callback information */ - pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25830) + pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25976) if pSrc == uintptr(0) { return int32(SQLITE_ERROR) } @@ -173625,7 +175292,7 @@ func _rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp iRowid = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) *(*Ti64)(unsafe.Pointer(bp + 24)) = 0 eType = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) == float64(iRowid) { + if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && 0 == _sqlite3IntFloatCompare(tls, iRowid, Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))) { rc = _findLeafNode(tls, pRtree, iRowid, bp+16, bp+24) } else { rc = SQLITE_OK @@ -175105,7 +176772,7 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) var _ /* pStmt at bp+0 */ uintptr _, _, _, _, _, _ = rc, zCol, zCol1, zCol2, zSql, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25844, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25990, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -int32(1), bp, uintptr(0)) } else { @@ -175115,11 +176782,11 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) if rc == SQLITE_OK { if iCol == 0 { zCol = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25864, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26010, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { zCol1 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol) zCol2 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol+int32(1)) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25896, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26042, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -175333,7 +177000,7 @@ func _rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) (r int32) { _, _, _ = pRtree, rc, zSql pRtree = pVtab rc = int32(SQLITE_NOMEM) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25933, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26079, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) if zSql != 0 { _nodeBlobReset(tls, pRtree) rc = Xsqlite3_exec(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -175387,9 +177054,9 @@ func _rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) (r int32) { var v2 int64 var _ /* p at bp+0 */ uintptr _, _, _, _, _, _ = nRow, rc, zFmt, zSql, v1, v2 - zFmt = __ccgo_ts + 26078 + zFmt = __ccgo_ts + 26224 nRow = int64(RTREE_MIN_ROWEST) - rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11584, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11709, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == int32(SQLITE_ERROR) { @@ -175447,9 +177114,9 @@ func _rtreeShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName1 = [3]uintptr{ - 0: __ccgo_ts + 26134, - 1: __ccgo_ts + 5486, - 2: __ccgo_ts + 16696, + 0: __ccgo_ts + 26280, + 1: __ccgo_ts + 5550, + 2: __ccgo_ts + 16783, } var _rtreeModule = Tsqlite3_module{ @@ -175493,21 +177160,21 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref (*TRtree)(unsafe.Pointer(pRtree)).Fdb = db if isCreate != 0 { p = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26548, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26694, libc.VaList(bp+8, zDb, zPrefix)) ii = 0 for { if !(ii < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26610, libc.VaList(bp+8, ii)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26756, libc.VaList(bp+8, ii)) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26615, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26679, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26749, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26761, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26825, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26895, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return int32(SQLITE_NOMEM) @@ -175537,7 +177204,7 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } else { /* An UPSERT is very slightly slower than REPLACE, but it is needed ** if there are auxiliary columns */ - zFormat = __ccgo_ts + 26798 + zFormat = __ccgo_ts + 26944 } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+8, zDb, zPrefix)) if zSql != 0 { @@ -175552,31 +177219,31 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref i++ } if (*TRtree)(unsafe.Pointer(pRtree)).FnAux != 0 && rc != int32(SQLITE_NOMEM) { - (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+26906, libc.VaList(bp+8, zDb, zPrefix)) + (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+27052, libc.VaList(bp+8, zDb, zPrefix)) if (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { p1 = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26951, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27097, libc.VaList(bp+8, zDb, zPrefix)) ii1 = 0 for { if !(ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } if ii1 != 0 { - Xsqlite3_str_append(tls, p1, __ccgo_ts+13092, int32(1)) + Xsqlite3_str_append(tls, p1, __ccgo_ts+13217, int32(1)) } if ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26978, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27124, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) } else { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27000, libc.VaList(bp+8, ii1, ii1+int32(2))) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27146, libc.VaList(bp+8, ii1, ii1+int32(2))) } goto _3 _3: ; ii1++ } - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27008, 0) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27154, 0) zSql1 = Xsqlite3_str_finish(tls, p1) if zSql1 == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -175590,14 +177257,14 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } var _azSql = [8]uintptr{ - 0: __ccgo_ts + 26139, - 1: __ccgo_ts + 26192, - 2: __ccgo_ts + 26237, - 3: __ccgo_ts + 26289, - 4: __ccgo_ts + 26343, - 5: __ccgo_ts + 26388, - 6: __ccgo_ts + 26446, - 7: __ccgo_ts + 26501, + 0: __ccgo_ts + 26285, + 1: __ccgo_ts + 26338, + 2: __ccgo_ts + 26383, + 3: __ccgo_ts + 26435, + 4: __ccgo_ts + 26489, + 5: __ccgo_ts + 26534, + 6: __ccgo_ts + 26592, + 7: __ccgo_ts + 26647, } // C documentation @@ -175655,7 +177322,7 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE _, _ = rc, zSql if isCreate != 0 { *(*int32)(unsafe.Pointer(bp)) = 0 - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27024, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27170, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) rc = _getIntFromStmt(tls, db, zSql, bp) if rc == SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp)) - int32(64) @@ -175663,17 +177330,17 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = int32(4) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*int32(RTREE_MAXCELLS) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27044, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27190, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) rc = _getIntFromStmt(tls, db, zSql, pRtree+32) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } else { if (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize < libc.Int32FromInt32(512)-libc.Int32FromInt32(64) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< libc.Int32FromInt32(RTREE_MAX_AUX_COLUMN)+libc.Int32FromInt32(3) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) return int32(SQLITE_ERROR) } Xsqlite3_vtab_config(tls, db, int32(SQLITE_VTAB_CONSTRAINT_SUPPORT), libc.VaList(bp+8, int32(1))) @@ -175750,13 +177417,13 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27287, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27433, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27293, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27439, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = int32(4) for { if !(ii < argc) { @@ -175765,7 +177432,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt zArg = *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)) if int32(*(*int8)(unsafe.Pointer(zArg))) == int32('+') { (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27317, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27463, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) } else { if int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux) > 0 { break @@ -175779,19 +177446,19 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27344, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27490, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) } else { if ii < argc { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, aErrMsg[int32(4)])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, aErrMsg[int32(4)])) rc = int32(SQLITE_ERROR) } else { v3 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v3 if SQLITE_OK != v3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } } @@ -175814,7 +177481,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } } if iErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, aErrMsg[iErr])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, aErrMsg[iErr])) goto rtreeInit_fail } (*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell = uint8(int32(8) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnDim2)*int32(4)) @@ -175825,7 +177492,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -175841,8 +177508,8 @@ rtreeInit_fail: } var _azFormat = [2]uintptr{ - 0: __ccgo_ts + 27323, - 1: __ccgo_ts + 27334, + 0: __ccgo_ts + 27469, + 1: __ccgo_ts + 27480, } // C documentation @@ -175900,21 +177567,21 @@ func _rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { } _nodeGetCell(tls, bp+40, bp, ii, bp+1008) if ii > 0 { - Xsqlite3_str_append(tls, pOut, __ccgo_ts+11204, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+11329, int32(1)) } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27347, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27493, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) jj = 0 for { if !(jj < int32((*(*TRtree)(unsafe.Pointer(bp + 40))).FnDim2)) { break } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27353, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27499, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) goto _2 _2: ; jj++ } - Xsqlite3_str_append(tls, pOut, __ccgo_ts+27357, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+27503, int32(1)) goto _1 _1: ; @@ -175941,7 +177608,7 @@ func _rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { _ = zBlob _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != int32(SQLITE_BLOB) || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+27359, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+27505, -int32(1)) } else { zBlob = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -176059,11 +177726,11 @@ func _rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintpt (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } else { if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - v1 = __ccgo_ts + 4205 + v1 = __ccgo_ts + 4269 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27392, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27538, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } @@ -176097,7 +177764,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt _, _, _ = nNode, pNode, pRet pRet = uintptr(0) /* Return value */ if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) { - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27399, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27545, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { Xsqlite3_bind_int64(tls, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode, int32(1), iNode) @@ -176114,7 +177781,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt } _rtreeCheckReset(tls, pCheck, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27444, libc.VaList(bp+8, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27590, libc.VaList(bp+8, iNode)) } } return pRet @@ -176143,8 +177810,8 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i var rc int32 _, _, _, _, _, _ = azSql, ii, pStmt, rc, v1, v2 azSql = [2]uintptr{ - 0: __ccgo_ts + 27476, - 1: __ccgo_ts + 27530, + 0: __ccgo_ts + 27622, + 1: __ccgo_ts + 27676, } if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) = _rtreeCheckPrepare(tls, pCheck, azSql[bLeaf], libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) @@ -176157,21 +177824,21 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i rc = Xsqlite3_step(tls, pStmt) if rc == int32(SQLITE_DONE) { if bLeaf != 0 { - v1 = __ccgo_ts + 27578 + v1 = __ccgo_ts + 27724 } else { - v1 = __ccgo_ts + 27586 + v1 = __ccgo_ts + 27732 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27595, libc.VaList(bp+8, iKey, iVal, v1)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27741, libc.VaList(bp+8, iKey, iVal, v1)) } else { if rc == int32(SQLITE_ROW) { ii = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { if bLeaf != 0 { - v2 = __ccgo_ts + 27578 + v2 = __ccgo_ts + 27724 } else { - v2 = __ccgo_ts + 27586 + v2 = __ccgo_ts + 27732 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27640, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27786, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) } } } @@ -176216,7 +177883,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 v2 = libc.BoolInt32(*(*TRtreeValue)(unsafe.Pointer(bp)) > *(*TRtreeValue)(unsafe.Pointer(bp + 4))) } if v2 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27698, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27844, libc.VaList(bp+24, i, iCell, iNode)) } if pParent != 0 { _readCoord(tls, pParent+uintptr(libc.Int32FromInt32(4)*libc.Int32FromInt32(2)*i), bp+8) @@ -176234,7 +177901,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 } } if v5 || v4 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27746, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27892, libc.VaList(bp+24, i, iCell, iNode)) } } goto _1 @@ -176267,19 +177934,19 @@ func _rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintpt aNode = _rtreeCheckGetNode(tls, pCheck, iNode, bp) if aNode != 0 { if *(*int32)(unsafe.Pointer(bp)) < int32(4) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27813, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27959, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) } else { /* Used to iterate through cells */ if aParent == uintptr(0) { iDepth = _readInt16(tls, aNode) if iDepth > int32(RTREE_MAX_DEPTH) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27847, libc.VaList(bp+16, iDepth)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27993, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = _readInt16(tls, aNode+2) if int32(4)+nCell*(int32(8)+(*TRtreeCheck)(unsafe.Pointer(pCheck)).FnDim*int32(2)*int32(4)) > *(*int32)(unsafe.Pointer(bp)) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27877, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28023, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) } else { i = 0 for { @@ -176324,12 +177991,12 @@ func _rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect Ti64) var pCount uintptr _, _ = nActual, pCount if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { - pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27932, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) + pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28078, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) if pCount != 0 { if Xsqlite3_step(tls, pCount) == int32(SQLITE_ROW) { nActual = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27963, libc.VaList(bp+8, zTbl, nExpect, nActual)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28109, libc.VaList(bp+8, zTbl, nExpect, nActual)) } } (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -176358,7 +178025,7 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzDb = zDb (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzTab = zTab /* Find the number of auxiliary columns */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28030, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28176, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { nAux = Xsqlite3_column_count(tls, pStmt) - int32(2) Xsqlite3_finalize(tls, pStmt) @@ -176368,11 +178035,11 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe } } /* Find number of dimensions in the rtree table. */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25844, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25990, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim = (Xsqlite3_column_count(tls, pStmt) - int32(1) - nAux) / int32(2) if (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim < int32(1) { - _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28058, 0) + _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28204, 0) } else { if int32(SQLITE_ROW) == Xsqlite3_step(tls, pStmt) { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FbInt = libc.BoolInt32(Xsqlite3_column_type(tls, pStmt, int32(1)) == int32(SQLITE_INTEGER)) @@ -176388,8 +178055,8 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe if (*(*TRtreeCheck)(unsafe.Pointer(bp))).Frc == SQLITE_OK { _rtreeCheckNode(tls, bp, 0, uintptr(0), int64(1)) } - _rtreeCheckCount(tls, bp, __ccgo_ts+28089, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) - _rtreeCheckCount(tls, bp, __ccgo_ts+28096, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28235, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28242, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) } /* Finalize SQL statements used by the integrity-check */ Xsqlite3_finalize(tls, (*(*TRtreeCheck)(unsafe.Pointer(bp))).FpGetNode) @@ -176416,7 +178083,7 @@ func _rtreeIntegrity(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zName uintpt _ = isQuick rc = _rtreeCheckTable(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, pzErr) if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28104, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28250, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) if *(*uintptr)(unsafe.Pointer(pzErr)) == uintptr(0) { rc = int32(SQLITE_NOMEM) } @@ -176467,13 +178134,13 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { var _ /* zReport at bp+0 */ uintptr _, _, _, _ = rc, zDb, zTab, v1 if nArg != int32(1) && nArg != int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+28123, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+28269, -int32(1)) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zDb = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg))) if nArg == int32(1) { zTab = zDb - zDb = __ccgo_ts + 6587 + zDb = __ccgo_ts + 6651 } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -176482,7 +178149,7 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { if *(*uintptr)(unsafe.Pointer(bp)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(bp)) } else { - v1 = __ccgo_ts + 18463 + v1 = __ccgo_ts + 18550 } Xsqlite3_result_text(tls, ctx, v1, -int32(1), uintptr(-libc.Int32FromInt32(1))) } else { @@ -176949,19 +178616,19 @@ func _geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) if p != 0 { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) - Xsqlite3_str_append(tls, x, __ccgo_ts+25097, int32(1)) + Xsqlite3_str_append(tls, x, __ccgo_ts+25226, int32(1)) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28174, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28320, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28185, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28331, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -176990,20 +178657,20 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) cSep = int8('\'') - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28196, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28342, 0) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28214, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28360, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) cSep = int8(' ') goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28222, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28368, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) i = int32(1) for { if !(i < argc) { @@ -177011,14 +178678,14 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 { - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28230, libc.VaList(bp+8, z)) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28376, libc.VaList(bp+8, z)) } goto _2 _2: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28234, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28380, 0) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -178147,13 +179814,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27287, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27433, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28247, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28393, 0) (*TRtree)(unsafe.Pointer(pRtree)).FnAux = uint8(1) /* Add one for _shape */ (*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = uint8(1) /* The _shape column is always not-null */ ii = int32(3) @@ -178162,13 +179829,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint break } (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28269, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28415, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27344, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27490, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) @@ -178176,7 +179843,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint v2 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v2 if SQLITE_OK != v2 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } Xsqlite3_free(tls, zSql) @@ -178191,7 +179858,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -178403,7 +180070,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iRowidTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(1) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16696 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16783 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).Fomit = uint8(1) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(30) @@ -178413,7 +180080,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iFuncTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28273 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28419 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).Fomit = uint8(0) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(300) @@ -178421,7 +180088,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { return SQLITE_OK } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(4) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28279 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28425 (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(3e+06) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -178541,7 +180208,7 @@ func _geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pR _geopolyBBox(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(aData + 2*8)), bp+8+8, bp) if *(*int32)(unsafe.Pointer(bp)) != 0 { if *(*int32)(unsafe.Pointer(bp)) == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28288, 0) + (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28434, 0) } goto geopoly_update_end } @@ -178644,12 +180311,12 @@ geopoly_update_end: func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) { _ = pVtab _ = nArg - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28328) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28474) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION) } - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28344) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28490) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1) @@ -178720,7 +180387,7 @@ func _sqlite3_geopoly_init(tls *libc.TLS, db uintptr) (r int32) { i++ } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28521, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28667, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -178734,61 +180401,61 @@ var _aFunc = [12]struct { 0: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28359, + FzName: __ccgo_ts + 28505, }, 1: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28372, + FzName: __ccgo_ts + 28518, }, 2: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28385, + FzName: __ccgo_ts + 28531, }, 3: { FnArg: int8(-int32(1)), FbPure: uint8(1), - FzName: __ccgo_ts + 28398, + FzName: __ccgo_ts + 28544, }, 4: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28344, + FzName: __ccgo_ts + 28490, }, 5: { FnArg: int8(3), FbPure: uint8(1), - FzName: __ccgo_ts + 28410, + FzName: __ccgo_ts + 28556, }, 6: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28328, + FzName: __ccgo_ts + 28474, }, 7: { FnArg: int8(1), - FzName: __ccgo_ts + 28433, + FzName: __ccgo_ts + 28579, }, 8: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28447, + FzName: __ccgo_ts + 28593, }, 9: { FnArg: int8(7), FbPure: uint8(1), - FzName: __ccgo_ts + 28460, + FzName: __ccgo_ts + 28606, }, 10: { FnArg: int8(4), FbPure: uint8(1), - FzName: __ccgo_ts + 28474, + FzName: __ccgo_ts + 28620, }, 11: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28490, + FzName: __ccgo_ts + 28636, }, } @@ -178814,7 +180481,7 @@ var _aAgg = [1]struct { FzName uintptr }{ 0: { - FzName: __ccgo_ts + 28502, + FzName: __ccgo_ts + 28648, }, } @@ -178839,20 +180506,20 @@ func _sqlite3RtreeInit(tls *libc.TLS, db uintptr) (r int32) { var rc, utf8 int32 _, _, _, _ = c, c1, rc, utf8 utf8 = int32(SQLITE_UTF8) - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28529, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28675, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28539, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28685, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28550, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28696, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { c = libc.UintptrFromInt32(RTREE_COORD_REAL32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28273, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28419, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { c1 = libc.UintptrFromInt32(RTREE_COORD_INT32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28561, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28707, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) } if rc == SQLITE_OK { rc = _sqlite3_geopoly_init(tls, db) @@ -178954,7 +180621,7 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { Xsqlite3_result_error_nomem(tls, ctx) _rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25830, __ccgo_fp(_rtreeMatchArgFree)) + Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25976, __ccgo_fp(_rtreeMatchArgFree)) } } } @@ -180171,7 +181838,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt /* Figure out the size of the output */ nOut = _rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+28571, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28717, -int32(1)) return } aOut = Xsqlite3_malloc(tls, nOut+int32(1)) @@ -180181,7 +181848,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt nOut2 = _rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut) if nOut2 != nOut { Xsqlite3_free(tls, aOut) - Xsqlite3_result_error(tls, context, __ccgo_ts+28571, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28717, -int32(1)) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, __ccgo_fp(Xsqlite3_free)) } @@ -180207,7 +181874,7 @@ func _prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg _ = rc rc = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -180230,7 +181897,7 @@ func _resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) (r in _ = rc rc = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -180362,7 +182029,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { /* Free any SQLite statements used while processing the previous object */ _rbuObjIterClearStatements(tls, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28592, uintptr(0), uintptr(0), p+64) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28738, uintptr(0), uintptr(0), p+64) } if rc == SQLITE_OK { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 { @@ -180372,6 +182039,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { if rc != int32(SQLITE_ROW) { rc = _resetAndCollectError(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, p+64) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = uintptr(0) + (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = uintptr(0) } else { (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, 0) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, int32(1)) @@ -180450,7 +182118,7 @@ func _rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { Xsqlite3_result_text(tls, pCtx, zIn, -int32(1), libc.UintptrFromInt32(0)) } } else { - if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25743, zIn, uint64(4)) == 0 { + if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25889, zIn, uint64(4)) == 0 { i = int32(4) for { if !(int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= int32('9')) { @@ -180487,13 +182155,13 @@ func _rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { _, _ = rc, v1 libc.Xmemset(tls, pIter, 0, uint64(192)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 28763 + v1 = __ccgo_ts + 28909 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28804, libc.VaList(bp+8, v1))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28950, libc.VaList(bp+8, v1))) if rc == SQLITE_OK { - rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+28954) + rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+29100) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = int32(1) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -180660,7 +182328,7 @@ func _rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { rc = Xsqlite3_finalize(tls, pStmt) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && rc != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } @@ -180721,7 +182389,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu *(*[4]uintptr)(unsafe.Pointer(bp)) = [4]uintptr{} *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29079, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29225, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0]) != int32(SQLITE_ROW) { /* Either an error, or no such table. */ goto rbuTableType_end @@ -180731,7 +182399,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0], int32(1)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29198, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29344, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { goto rbuTableType_end } @@ -180739,7 +182407,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu zOrig = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(3)) zIdx = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(1)) if zOrig != 0 && zIdx != 0 && int32(*(*Tu8)(unsafe.Pointer(zOrig))) == int32('p') { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29219, libc.VaList(bp+40, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29365, libc.VaList(bp+40, zIdx))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)]) == int32(SQLITE_ROW) { *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)], 0) @@ -180751,7 +182419,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29270, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29416, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { for Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)]) == int32(SQLITE_ROW) { if Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)], int32(5)) > 0 { @@ -180795,7 +182463,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { bIndex = 0 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.Xmemcpy(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29291, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29437, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -180808,7 +182476,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { if bPartial != 0 { libc.Xmemset(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, int32(0x01), uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29319, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29465, libc.VaList(bp+24, zIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) if iCid >= 0 { @@ -180861,7 +182529,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 _rbuTableType(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+8, pIter+108) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+19906, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+20038, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc @@ -180872,7 +182540,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 /* Populate the azTblCol[] and nTblCol variables based on the columns ** of the input table. Ignore any input table columns that begin with ** "rbu_". */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29348, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29494, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp))) _rbuAllocateIterArrays(tls, p, pIter, nCol) @@ -180883,7 +182551,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 break } zName = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), i) - if Xsqlite3_strnicmp(tls, __ccgo_ts+29367, zName, int32(4)) != 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+29513, zName, int32(4)) != 0 { zCopy = _rbuStrndup(tls, zName, p+56) *(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol v3 = pIter + 16 @@ -180891,7 +182559,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 *(*int32)(unsafe.Pointer(v3))++ *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(v2)*8)) = zCopy } else { - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29372, zName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29518, zName) { bRbuRowid = int32(1) } } @@ -180905,17 +182573,17 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && bRbuRowid != libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) if bRbuRowid != 0 { - v4 = __ccgo_ts + 29382 + v4 = __ccgo_ts + 29528 } else { - v4 = __ccgo_ts + 29395 + v4 = __ccgo_ts + 29541 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29404, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29550, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) } /* Check that all non-HIDDEN columns in the destination table are also ** present in the input table. Populate the abTblPk[], azTblType[] and ** aiTblOrder[] arrays at the same time. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29433, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29579, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zName1 = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -180937,7 +182605,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 } if i == (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29455, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29601, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) } else { iPk = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) bNotNull = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) @@ -180976,15 +182644,15 @@ func _rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) var z, zList, zSep uintptr _, _, _, _ = i, z, zList, zSep zList = uintptr(0) - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } z = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+29482, libc.VaList(bp+8, zList, zSep, z)) - zSep = __ccgo_ts + 14992 + zList = _rbuMPrintf(tls, p, __ccgo_ts+29628, libc.VaList(bp+8, zList, zSep, z)) + zSep = __ccgo_ts + 15085 goto _1 _1: ; @@ -181009,7 +182677,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, _, _, _, _, _ = i, iPk, zCol, zRet, zSep iPk = int32(1) zRet = uintptr(0) - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 for int32(1) != 0 { i = 0 for { @@ -181018,7 +182686,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, } if int32(*(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29491, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29637, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -181066,21 +182734,21 @@ func _rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zRet = uintptr(0) if bRowid != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29504, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29650, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iMax = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29536, libc.VaList(bp+16, iMax)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29682, libc.VaList(bp+16, iMax)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1650, __ccgo_ts+14992, __ccgo_ts+29559) - zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29565, __ccgo_ts+29572, __ccgo_ts+5108) - zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1650, __ccgo_ts+14992, __ccgo_ts+1650) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1664, __ccgo_ts+15085, __ccgo_ts+29705) + zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29711, __ccgo_ts+29718, __ccgo_ts+5172) + zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1664, __ccgo_ts+15085, __ccgo_ts+1664) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29580, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29726, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zVal = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29622, libc.VaList(bp+16, zList, zVal)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29768, libc.VaList(bp+16, zList, zVal)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } @@ -181129,10 +182797,10 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 iCol = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29319, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29465, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(4)) @@ -181154,15 +182822,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { - zCol = __ccgo_ts + 29642 + zCol = __ccgo_ts + 29788 } } else { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) } - zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29650, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29671, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29707, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) - zSep = __ccgo_ts + 14992 + zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29796, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29817, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) + zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29853, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) + zSep = __ccgo_ts + 15085 iCol++ } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) @@ -181171,9 +182839,9 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29734, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29880, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 iCol = 0 for { if !(iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -181188,15 +182856,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { break } } - zVector = _rbuMPrintf(tls, p, __ccgo_ts+29782, libc.VaList(bp+24, zVector, zSep, zQuoted)) - zSep = __ccgo_ts + 14992 + zVector = _rbuMPrintf(tls, p, __ccgo_ts+29928, libc.VaList(bp+24, zVector, zSep, zQuoted)) + zSep = __ccgo_ts + 15085 goto _2 _2: ; iCol++ } if !(bFailed != 0) { - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29789, libc.VaList(bp+24, zLhs, zVector)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29935, libc.VaList(bp+24, zLhs, zVector)) } } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -181250,11 +182918,11 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zImpPK = uintptr(0) /* String to return via *pzImposterPK */ zWhere = uintptr(0) /* String to return via *pzWhere */ nBind = 0 /* Value to return via *pnBind */ - zCom = __ccgo_ts + 1650 /* Set to ", " later on */ - zAnd = __ccgo_ts + 1650 /* Set to " AND " later on */ + zCom = __ccgo_ts + 1664 /* Set to ", " later on */ + zAnd = __ccgo_ts + 1664 /* Set to " AND " later on */ *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_xinfo = ? */ if rc == SQLITE_OK { - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29319, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29465, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -181263,8 +182931,8 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = uintptr(0) if iCid == -int32(2) { iSeq = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29801, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) - zType = __ccgo_ts + 1650 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29947, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) + zType = __ccgo_ts + 1664 } else { if iCid < 0 { /* An integer primary key. If the table has an explicit IPK, use @@ -181283,9 +182951,9 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - zCol = __ccgo_ts + 29642 + zCol = __ccgo_ts + 29788 } else { - zCol = __ccgo_ts + 29372 + zCol = __ccgo_ts + 29518 } } zType = __ccgo_ts + 1138 @@ -181293,24 +182961,24 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) zType = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)) } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29823, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29969, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) } if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) != 0 { if bDesc != 0 { - v2 = __ccgo_ts + 29559 + v2 = __ccgo_ts + 29705 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } zOrder = v2 - zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29843, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) + zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29989, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+29864, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) - zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+29897, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) + zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+30010, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) + zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+30043, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) { rc = int32(SQLITE_NOMEM) } - zCom = __ccgo_ts + 14992 - zAnd = __ccgo_ts + 22015 + zCom = __ccgo_ts + 15085 + zAnd = __ccgo_ts + 22160 nBind++ } rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -181356,7 +183024,7 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr _, _, _, _ = i, zCol, zList, zS zList = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zS = __ccgo_ts + 1650 + zS = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -181364,11 +183032,11 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29921, libc.VaList(bp+8, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30067, libc.VaList(bp+8, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29933, libc.VaList(bp+8, zList, zS)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30079, libc.VaList(bp+8, zList, zS)) } - zS = __ccgo_ts + 14992 + zS = __ccgo_ts + 15085 if zList == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) break @@ -181380,7 +183048,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 (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29942, libc.VaList(bp+8, zList, zObj)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30088, libc.VaList(bp+8, zList, zObj)) } } return zList @@ -181406,27 +183074,27 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _ = i, i1, zCol, zList, zSep, zSep1 zList = uintptr(0) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29957, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30103, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29971, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) - zSep = __ccgo_ts + 22015 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30117, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) + zSep = __ccgo_ts + 22160 } goto _1 _1: ; i++ } - zList = _rbuMPrintf(tls, p, __ccgo_ts+29983, libc.VaList(bp+8, zList)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30129, libc.VaList(bp+8, zList)) } else { - zSep1 = __ccgo_ts + 1650 + zSep1 = __ccgo_ts + 1664 i1 = 0 for { if !(i1 < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -181434,8 +183102,8 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i1))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i1)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+30033, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) - zSep1 = __ccgo_ts + 22015 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30179, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) + zSep1 = __ccgo_ts + 22160 } goto _2 _2: @@ -181458,7 +183126,7 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { // */ func _rbuBadControlError(tls *libc.TLS, p uintptr) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30046, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30192, 0) } // C documentation @@ -181492,7 +183160,7 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt if int32(libc.Xstrlen(tls, zMask)) != (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { _rbuBadControlError(tls, p) } else { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -181500,16 +183168,16 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt } c = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) if int32(c) == int32('x') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30033, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14992 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30179, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15085 } else { if int32(c) == int32('d') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30072, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14992 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30218, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15085 } else { if int32(c) == int32('f') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30102, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14992 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30248, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15085 } } } @@ -181593,16 +183261,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _, _ = z, zCol, zDesc, zIdx, zOrig, zSep, v1 z = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zSep = __ccgo_ts + 30139 + zSep = __ccgo_ts + 30285 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_list = (pIter->zTbl) */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA index_xinfo = */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29291, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29437, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) - if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16584) == 0 { + if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16671) == 0 { zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29319, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29465, libc.VaList(bp+24, zIdx))) } break } @@ -181613,16 +183281,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { /* int iCid = sqlite3_column_int(pXInfo, 0); */ zCol = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(2)) if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) != 0 { - v1 = __ccgo_ts + 29559 + v1 = __ccgo_ts + 29705 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } zDesc = v1 - z = _rbuMPrintf(tls, p, __ccgo_ts+30152, libc.VaList(bp+24, z, zSep, zCol, zDesc)) - zSep = __ccgo_ts + 14992 + z = _rbuMPrintf(tls, p, __ccgo_ts+30298, libc.VaList(bp+24, z, zSep, zCol, zDesc)) + zSep = __ccgo_ts + 15085 } } - z = _rbuMPrintf(tls, p, __ccgo_ts+30163, libc.VaList(bp+24, z)) + z = _rbuMPrintf(tls, p, __ccgo_ts+30309, libc.VaList(bp+24, z)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) } return z @@ -181662,13 +183330,13 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* SELECT name ... WHERE rootpage = $tnum */ zIdx = uintptr(0) /* Name of PK index */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA main.index_xinfo = $zIdx */ - zComma = __ccgo_ts + 1650 + zComma = __ccgo_ts + 1664 zCols = uintptr(0) /* Used to build up list of table cols */ zPk = uintptr(0) /* Used to build up table PK declaration */ /* 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. */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30167) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30313) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), tnum) if int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -181676,7 +183344,7 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { } } if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29319, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29465, libc.VaList(bp+24, zIdx))) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { @@ -181685,21 +183353,21 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) bDesc = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(4)) - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30217, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30363, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) if bDesc != 0 { - v1 = __ccgo_ts + 29559 + v1 = __ccgo_ts + 29705 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - zPk = _rbuMPrintf(tls, p, __ccgo_ts+30239, libc.VaList(bp+24, zPk, zComma, iCid, v1)) - zComma = __ccgo_ts + 14992 + zPk = _rbuMPrintf(tls, p, __ccgo_ts+30385, libc.VaList(bp+24, zPk, zComma, iCid, v1)) + zComma = __ccgo_ts + 15085 } } - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30249, libc.VaList(bp+24, zCols)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30395, libc.VaList(bp+24, zCols)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30264, libc.VaList(bp+24, zCols, zPk)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30410, libc.VaList(bp+24, zCols, zPk)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, 0, 0)) } } @@ -181734,30 +183402,30 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { _, _, _, _, _, _, _, _, _ = iCol, tnum, zCol, zComma, zPk, zPk1, zSql, v2, v3 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { tnum = (*TRbuObjIter)(unsafe.Pointer(pIter)).FiTnum - zComma = __ccgo_ts + 1650 + zComma = __ccgo_ts + 1664 zSql = uintptr(0) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, 0, int32(1))) iCol = 0 for { if !((*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } - zPk = __ccgo_ts + 1650 + zPk = __ccgo_ts + 1664 zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_IPK) && *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 { /* If the target table column is an "INTEGER PRIMARY KEY", add ** "PRIMARY KEY" to the imposter table column declaration. */ - zPk = __ccgo_ts + 30326 + zPk = __ccgo_ts + 30472 } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - v2 = __ccgo_ts + 30339 + v2 = __ccgo_ts + 30485 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30349, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) - zComma = __ccgo_ts + 14992 + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30495, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) + zComma = __ccgo_ts + 15085 goto _1 _1: ; @@ -181766,17 +183434,17 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { zPk1 = _rbuWithoutRowidPK(tls, p, pIter) if zPk1 != 0 { - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30376, libc.VaList(bp+16, zSql, zPk1)) + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30522, libc.VaList(bp+16, zSql, zPk1)) } } - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, int32(1), tnum)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, int32(1), tnum)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { - v3 = __ccgo_ts + 30383 + v3 = __ccgo_ts + 30529 } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30398, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, 0, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30544, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, 0, 0)) } } @@ -181802,7 +183470,7 @@ func _rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zColli bRbuRowid = libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) zBind = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1)+bRbuRowid) if zBind != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30430, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30576, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -181848,7 +183516,7 @@ func _rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintpt *(*int32)(unsafe.Pointer(bp + 8)) = (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc zRet = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30487) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30633) } if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx, -int32(1), libc.UintptrFromInt32(0)) @@ -182017,7 +183685,7 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zIdx = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx zLimit = uintptr(0) if nOffset != 0 { - zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30553, libc.VaList(bp+40, nOffset)) + zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30699, libc.VaList(bp+40, nOffset)) if !(zLimit != 0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) } @@ -182034,18 +183702,18 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zCollist = _rbuObjIterGetIndexCols(tls, p, pIter, bp, bp+8, bp+16, bp+24) zBind = _rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 24))) /* Create the imposter table used to write to this index. */ - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, 0, int32(1))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30573, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30719, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, 0, 0)) /* Create the statement to insert index entries */ (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 24)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30638, libc.VaList(bp+40, zTbl, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30784, libc.VaList(bp+40, zTbl, zBind))) } /* And to delete index entries */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30674, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30820, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) } /* Create the SELECT statement to read keys in sorted order */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -182060,26 +183728,26 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } if zStart != 0 { if zPart != 0 { - v2 = __ccgo_ts + 30708 + v2 = __ccgo_ts + 30854 } else { - v2 = __ccgo_ts + 30712 + v2 = __ccgo_ts + 30858 } v1 = v2 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30718, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30864, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) Xsqlite3_free(tls, zStart) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30779, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30925, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { if zPart != 0 { - v3 = __ccgo_ts + 30708 + v3 = __ccgo_ts + 30854 } else { - v3 = __ccgo_ts + 30712 + v3 = __ccgo_ts + 30858 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30840, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30986, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -182098,62 +183766,62 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zTbl1 = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl /* Imposter table name */ zBindings = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+bRbuRowid) zWhere1 = _rbuObjIterGetWhere(tls, p, pIter) - zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6598) - zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6594) + zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6662) + zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6658) zCollist = _rbuObjIterGetCollist(tls, p, pIter) (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol /* Create the imposter table or tables (if required). */ _rbuCreateImposterTable(tls, p, pIter) _rbuCreateImposterTable2(tls, p, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) { - v4 = __ccgo_ts + 1650 + v4 = __ccgo_ts + 1664 } else { - v4 = __ccgo_ts + 30999 + v4 = __ccgo_ts + 31145 } zWrite = v4 /* Create the INSERT statement to write to the target PK b-tree */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if bRbuRowid != 0 { - v5 = __ccgo_ts + 31008 + v5 = __ccgo_ts + 31154 } else { - v5 = __ccgo_ts + 1650 + v5 = __ccgo_ts + 1664 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31018, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31164, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) } /* Create the DELETE statement to write to the target PK b-tree. ** Because it only performs INSERT operations, this is not required for ** an rbu vacuum handle. */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31054, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31200, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) } if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zRbuRowid = __ccgo_ts + 1650 + zRbuRowid = __ccgo_ts + 1664 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zRbuRowid = __ccgo_ts + 31082 + zRbuRowid = __ccgo_ts + 31228 } /* Create the rbu_tmp_xxx table and the triggers to populate it. */ if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - v6 = __ccgo_ts + 31094 + v6 = __ccgo_ts + 31240 } else { - v6 = __ccgo_ts + 1650 + v6 = __ccgo_ts + 1664 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31111, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31187, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31257, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31333, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31486, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31632, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) } _rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) } /* Create the SELECT statement to read keys from data_xxx */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zRbuRowid1 = __ccgo_ts + 1650 + zRbuRowid1 = __ccgo_ts + 1664 zStart1 = uintptr(0) zOrder = uintptr(0) if bRbuRowid != 0 { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v7 = __ccgo_ts + 31585 + v7 = __ccgo_ts + 31731 } else { - v7 = __ccgo_ts + 31595 + v7 = __ccgo_ts + 31741 } zRbuRowid1 = v7 } @@ -182166,28 +183834,28 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } } if bRbuRowid != 0 { - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29642, 0) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29788, 0) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1650, __ccgo_ts+14992, __ccgo_ts+1650) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1664, __ccgo_ts+15085, __ccgo_ts+1664) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v8 = __ccgo_ts + 31606 + v8 = __ccgo_ts + 31752 } else { - v8 = __ccgo_ts + 1650 + v8 = __ccgo_ts + 1664 } if zStart1 != 0 { v9 = zStart1 } else { - v9 = __ccgo_ts + 1650 + v9 = __ccgo_ts + 1664 } if zOrder != 0 { - v10 = __ccgo_ts + 23209 + v10 = __ccgo_ts + 23354 } else { - v10 = __ccgo_ts + 1650 + v10 = __ccgo_ts + 1664 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31612, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31758, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) } Xsqlite3_free(tls, zStart1) Xsqlite3_free(tls, zOrder) @@ -182273,11 +183941,11 @@ func _rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, p (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpNext = (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - zPrefix = __ccgo_ts + 1650 + zPrefix = __ccgo_ts + 1664 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { - zPrefix = __ccgo_ts + 30999 + zPrefix = __ccgo_ts + 31145 } - zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31660, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) + zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31806, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate) *(*uintptr)(unsafe.Pointer(ppStmt)) = (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpUpdate } @@ -182304,7 +183972,7 @@ func _rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) (r } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp, flags, v1) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp))) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) } @@ -182351,7 +184019,7 @@ func _rbuLoadState(tls *libc.TLS, p uintptr) (r uintptr) { if pRet == uintptr(0) { return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31690, libc.VaList(bp+24, p+48))) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31836, libc.VaList(bp+24, p+48))) for *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) { case int32(RBU_STATE_STAGE): @@ -182410,27 +184078,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu = _rbuOpenDbhandle(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, int32(1)) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain = dbMain if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6587, int32(SQLITE_FCNTL_RBUCNT), p) + Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6651, int32(SQLITE_FCNTL_RBUCNT), p) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) { - zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6587) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31720, libc.VaList(bp+8, zFile, zFile)) + zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6651) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31866, libc.VaList(bp+8, zFile, zFile)) } } /* If using separate RBU and state databases, attach the state database to ** the RBU db handle now. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31748, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48, __ccgo_ts+3420, uint64(4)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31894, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+3484, uint64(4)) } else { - libc.Xmemcpy(tls, p+48, __ccgo_ts+6587, uint64(4)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+6651, uint64(4)) } /* If it has not already been created, create the rbu_state table */ - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31766, libc.VaList(bp+8, p+48)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31912, libc.VaList(bp+8, p+48)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { bOpen = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6587, int32(SQLITE_FCNTL_RBUCNT), p) + rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6651, int32(SQLITE_FCNTL_RBUCNT), p) if rc != int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -182463,10 +184131,10 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) return } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31832, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31978, 0) } else { zExtra = uintptr(0) - if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24598, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { + if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24721, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { zExtra = (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5 for *(*int8)(unsafe.Pointer(zExtra)) != 0 { v1 = zExtra @@ -182480,16 +184148,16 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if zExtra == uintptr(0) { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } else { - v2 = __ccgo_ts + 31864 + v2 = __ccgo_ts + 32010 } if zExtra == uintptr(0) { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } else { v3 = zExtra } - zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+31866, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6587), v2, v3)) + zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+32012, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6651), v2, v3)) if zTarget == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) return @@ -182500,27 +184168,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31898, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32044, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31913, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32059, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31930, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32076, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, int32(SQLITE_FCNTL_RBU), p) } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31946, 0) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32092, 0) /* Mark the database file just opened as an RBU target database. If ** this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. ** This is an error. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, int32(SQLITE_FCNTL_RBU), p) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31974, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32120, 0) } } @@ -182570,7 +184238,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) { pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = int64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))<= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+32974, zState+uintptr(n-int32(7)), uint64(7)) { + if n >= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33120, zState+uintptr(n-int32(7)), uint64(7)) { return _rbuMisuseError(tls) } } @@ -183790,7 +185458,7 @@ func _rbuEditErrmsg(tls *libc.TLS, p uintptr) { if !(uint64(i) < nErrmsg-uint64(8)) { break } - if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+30999, uint64(8)) == 0 { + if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31145, uint64(8)) == 0 { nDel = int32(8) for int32(*(*int8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= int32('0') && int32(*(*int8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= int32('9') { nDel++ @@ -183818,7 +185486,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { if p != 0 { /* Commit the transaction to the *-oal file. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14896, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14989, uintptr(0), uintptr(0), p+64) } /* Sync the db file if currently doing an incremental checkpoint */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) { @@ -183827,7 +185495,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { } _rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14896, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14989, uintptr(0), uintptr(0), p+64) } /* Close any open statement handles. */ _rbuObjIterFinalize(tls, p+80) @@ -183837,7 +185505,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { ** specifying the current target and state databases to start a new ** vacuum from scratch. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 { - rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32982, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33128, uintptr(0), uintptr(0), uintptr(0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_DONE) && rc2 != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -183938,7 +185606,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14896, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14989, uintptr(0), uintptr(0), uintptr(0)) } } /* Sync the db file */ @@ -183951,19 +185619,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { rc = (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14896, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14989, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 14881 + v1 = __ccgo_ts + 14974 } else { - v1 = __ccgo_ts + 32934 + v1 = __ccgo_ts + 33080 } zBegin = v1 rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32934, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33080, uintptr(0), uintptr(0), uintptr(0)) } } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -184529,7 +186197,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xControl})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, int32(SQLITE_FCNTL_ZIPVFS), bp) if rc == SQLITE_OK { rc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33009, 0) + (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33155, 0) } else { if rc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p @@ -184555,7 +186223,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r if rc == SQLITE_OK && op == int32(SQLITE_FCNTL_VFSNAME) { pRbuVfs = (*Trbu_file)(unsafe.Pointer(p)).FpRbuVfs zIn = *(*uintptr)(unsafe.Pointer(pArg)) - zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33032, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33178, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -184750,7 +186418,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag if pDb != 0 { if (*Trbu_file)(unsafe.Pointer(pDb)).FpRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FeStage == int32(RBU_STAGE_OAL) { if (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6587) + zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6651) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -184764,7 +186432,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag } else { (*Trbu_file)(unsafe.Pointer(pFd)).FpRbu = (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRbu } - if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33043, 0) != 0 { + if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33189, 0) != 0 { oflags = libc.Int32FromInt32(SQLITE_OPEN_TEMP_DB) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_EXCLUSIVE) | libc.Int32FromInt32(SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) } @@ -185317,7 +186985,7 @@ func _statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint _sqlite3TokenInit(tls, bp, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = _sqlite3FindDb(tls, db, bp) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12193, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12318, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return int32(SQLITE_ERROR) } } else { @@ -185816,7 +187484,7 @@ statNextRestart: (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiPgno = iRoot (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33054, 0) + v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33200, 0) z = v1 (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FzPath = v1 if z == uintptr(0) { @@ -185854,8 +187522,8 @@ statNextRestart: if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { (*TStatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*TStatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*TStatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*Tu32)(unsafe.Pointer((*TStatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33056 - v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33065, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33202 + v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33211, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) z = v2 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v2 if z == uintptr(0) { @@ -185884,7 +187552,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage++ if (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage >= int32(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) { _statResetCsr(tls, pCsr) - return _sqlite3CorruptError(tls, int32(222551)) + return _sqlite3CorruptError(tls, int32(224206)) } if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell { (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiPgno = (*TStatPage)(unsafe.Pointer(p)).FiRightChildPg @@ -185895,7 +187563,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnPage++ (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33077, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) + v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33223, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) z = v4 (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FzPath = v4 if z == uintptr(0) { @@ -185918,13 +187586,13 @@ statNextRestart: case int32(0x05): /* table internal */ fallthrough case int32(0x02): /* index internal */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33085 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33231 case int32(0x0D): /* table leaf */ fallthrough case int32(0x0A): /* index leaf */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33094 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33240 default: - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33099 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33245 break } *(*int32)(unsafe.Pointer(pCsr + 2108)) += (*TStatPage)(unsafe.Pointer(p1)).FnCell @@ -185933,7 +187601,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnMxPayload = (*TStatPage)(unsafe.Pointer(p1)).FnMxPayload } if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) + v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) z = v5 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v5 if z == uintptr(0) { @@ -186022,12 +187690,12 @@ func _statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, a (*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg = uint8(0) } pSql = Xsqlite3_str_new(tls, (*TStatTable)(unsafe.Pointer(pTab)).Fdb) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33109, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33255, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33264, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33410, libc.VaList(bp+8, zName)) } if idxNum&int32(0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33278, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33424, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -186104,7 +187772,7 @@ func _statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) (r int32) { // ** Invoke this routine to register the "dbstat" virtual table module // */ func _sqlite3DbstatRegister(tls *libc.TLS, db uintptr) (r int32) { - return Xsqlite3_create_module(tls, db, __ccgo_ts+33293, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, __ccgo_ts+33439, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) } var _dbstat_module = Tsqlite3_module{} @@ -187375,20 +189043,20 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, *(*uintptr)(unsafe.Pointer(pazDflt)) = uintptr(0) } nThis = _sqlite3Strlen30(tls, zThis) - if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11584, zThis) { + if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11709, zThis) { rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { /* For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. */ - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33300, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33446, 0) } else { if rc == int32(SQLITE_ERROR) { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1650, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1664, 0) } else { return rc } } } else { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33421, libc.VaList(bp+16, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33567, libc.VaList(bp+16, zDb, zThis)) } if !(zPragma != 0) { return int32(SQLITE_NOMEM) @@ -187412,7 +189080,7 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, bRowid = 0 } nDbCol += bRowid - nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+29642)) + nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+29788)) rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == SQLITE_OK { nByte = Tsqlite3_int64(uint64(nByte) + uint64(nDbCol)*(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(2)+libc.Uint64FromInt64(1)+libc.Uint64FromInt32(1)+libc.Uint64FromInt32(1))) @@ -187436,8 +189104,8 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 if bRowid != 0 { - nName = libc.Xstrlen(tls, __ccgo_ts+29642) - libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29642, nName+uint64(1)) + nName = libc.Xstrlen(tls, __ccgo_ts+29788) + libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29788, nName+uint64(1)) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc pAlloc += uintptr(nName + uint64(1)) *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) = uint8(1) @@ -187529,7 +189197,7 @@ func _sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr, db uintptr ; i++ } - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11584, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11709, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { (*TSessionTable)(unsafe.Pointer(pTab)).FbStat1 = int32(1) } if pSession != 0 && (*Tsqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { @@ -187818,10 +189486,10 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin _, _, _, _ = ii, zDflt, zSep, v2 *(*TSessionBuffer)(unsafe.Pointer(bp)) = TSessionBuffer{} *(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK - zSep = __ccgo_ts + 11204 + zSep = __ccgo_ts + 11329 ii = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33450, 0) + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33596, 0) ii = 0 for { if !(ii < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol) { @@ -187830,11 +189498,11 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin if *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) != 0 { v2 = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) } else { - v2 = __ccgo_ts + 1651 + v2 = __ccgo_ts + 1665 } zDflt = v2 - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5078, libc.VaList(bp+32, zSep, zDflt)) - zSep = __ccgo_ts + 14992 + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5142, libc.VaList(bp+32, zSep, zDflt)) + zSep = __ccgo_ts + 15085 goto _1 _1: ; @@ -188152,7 +189820,7 @@ func _sessionPreupdateOneChange(tls *libc.TLS, op int32, iRowid Ti64, pSession u rc = int32(SQLITE_NOMEM) goto error_out } - _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1650, uint8(0), libc.UintptrFromInt32(0)) + _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1664, uint8(0), libc.UintptrFromInt32(0)) (*Tsqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p } } @@ -188473,7 +190141,7 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr var i int32 var zRet, zSep uintptr _, _, _ = i, zRet, zSep - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 zRet = uintptr(0) i = 0 for { @@ -188481,8 +190149,8 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr break } if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33457, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 22015 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33603, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 22160 if zRet == uintptr(0) { break } @@ -188501,7 +190169,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint var bHave, i int32 var zRet, zSep uintptr _, _, _, _ = bHave, i, zRet, zSep - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 zRet = uintptr(0) bHave = 0 i = 0 @@ -188511,8 +190179,8 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if int32(*(*Tu8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = int32(1) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33491, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 33532 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33637, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 33678 if zRet == uintptr(0) { break } @@ -188523,7 +190191,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint i++ } if bHave == 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1724, 0) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1784, 0) } return zRet } @@ -188534,12 +190202,12 @@ func _sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, bRowid int var zRet, zSel, v1 uintptr _, _, _ = zRet, zSel, v1 if bRowid != 0 { - v1 = __ccgo_ts + 33537 + v1 = __ccgo_ts + 33683 } else { - v1 = __ccgo_ts + 6592 + v1 = __ccgo_ts + 6656 } zSel = v1 - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33548, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33694, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -188600,11 +190268,11 @@ func _sessionAllCols(tls *libc.TLS, zDb uintptr, pTab uintptr) (r uintptr) { break } if zRet != 0 { - v2 = __ccgo_ts + 14992 + v2 = __ccgo_ts + 15085 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33627, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33773, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) if !(zRet != 0) { break } @@ -188632,7 +190300,7 @@ func _sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFr } else { z1 = _sessionAllCols(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, pTab) z2 = _sessionAllCols(tls, zFrom, pTab) - zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33646, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) + zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33792, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) if zStmt == uintptr(0) || z1 == uintptr(0) || z2 == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -188732,7 +190400,7 @@ func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl u Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if bMismatch != 0 { if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33703, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33849, 0) } rc = int32(SQLITE_SCHEMA) } @@ -189064,7 +190732,7 @@ func _sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* aBuf at bp+0 */ [24]int8 - Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5140, libc.VaList(bp+32, iVal)) + Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5204, libc.VaList(bp+32, iVal)) _sessionAppendStr(tls, p, bp, pRc) } @@ -189355,23 +191023,23 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt _, _, _, _, _, _, _ = i, nSql, zCols, zSep, zSql, v1, v3 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK zSql = uintptr(0) - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 if bRowid != 0 { - v1 = __ccgo_ts + 33537 + v1 = __ccgo_ts + 33683 } else { - v1 = __ccgo_ts + 6592 + v1 = __ccgo_ts + 6656 } zCols = v1 nSql = -int32(1) *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 24)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 40)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+33730, bp) - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11584, zTab) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+33734, bp) - _sessionAppendStr(tls, bp+24, __ccgo_ts+33758, bp) - _sessionAppendStr(tls, bp+40, __ccgo_ts+33767, bp) - zCols = __ccgo_ts + 33812 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33876, bp) + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11709, zTab) { + _sessionAppendStr(tls, bp+8, __ccgo_ts+33880, bp) + _sessionAppendStr(tls, bp+24, __ccgo_ts+33904, bp) + _sessionAppendStr(tls, bp+40, __ccgo_ts+33913, bp) + zCols = __ccgo_ts + 33958 } else { i = 0 for { @@ -189381,11 +191049,11 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { _sessionAppendStr(tls, bp+24, zSep, bp) _sessionAppendStr(tls, bp+40, zSep, bp) - zSep = __ccgo_ts + 14992 + zSep = __ccgo_ts + 15085 _sessionAppendIdent(tls, bp+24, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp) - _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33826, libc.VaList(bp+64, i+int32(1))) + _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33972, libc.VaList(bp+64, i+int32(1))) } else { - _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33830, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33976, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) } goto _2 _2: @@ -189397,9 +191065,9 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if bIgnoreNoop != 0 { v3 = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+33857, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+34003, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) if zSql == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } @@ -189540,7 +191208,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+33899, uintptr(0), uintptr(0), uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+34045, uintptr(0), uintptr(0), uintptr(0)) if *(*int32)(unsafe.Pointer(bp + 16)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -189646,7 +191314,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, } } Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf) - Xsqlite3_exec(tls, db, __ccgo_ts+33919, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34065, uintptr(0), uintptr(0), uintptr(0)) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -190063,7 +191731,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, int32(9)) if rc == SQLITE_OK { if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData { - rc = _sqlite3CorruptError(tls, int32(226700)) + rc = _sqlite3CorruptError(tls, int32(228355)) } else { v3 = pIn + 8 v2 = *(*int32)(unsafe.Pointer(v3)) @@ -190087,7 +191755,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = _sqlite3CorruptError(tls, int32(226720)) + rc = _sqlite3CorruptError(tls, int32(228375)) } else { if eType == int32(SQLITE_TEXT) { v4 = int32(SQLITE_UTF8) @@ -190102,7 +191770,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap } if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) { if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) { - rc = _sqlite3CorruptError(tls, int32(226730)) + rc = _sqlite3CorruptError(tls, int32(228385)) } else { *(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal) if eType == int32(SQLITE_INTEGER) { @@ -190158,7 +191826,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) ( ** large value for nCol may cause nRead to wrap around and become ** negative. Leading to a crash. */ if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) { - rc = _sqlite3CorruptError(tls, int32(226778)) + rc = _sqlite3CorruptError(tls, int32(228433)) } else { rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100)) nRead += *(*int32)(unsafe.Pointer(bp)) @@ -190263,7 +191931,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) { (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 _sessionBufferGrow(tls, p+72, int64(nByte), bp) } else { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(226866)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(228521)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -190334,12 +192002,12 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { return (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc } + _sessionDiscardData(tls, p) + (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext /* If the iterator is already at the end of the changeset, return DONE. */ if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { return int32(SQLITE_DONE) } - _sessionDiscardData(tls, p) - (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext v3 = p + 8 v2 = *(*int32)(unsafe.Pointer(v3)) *(*int32)(unsafe.Pointer(v3))++ @@ -190369,7 +192037,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { /* The first record in the changeset is not a table header. Must be a ** corrupt changeset. */ - v7 = _sqlite3CorruptError(tls, int32(226952)) + v7 = _sqlite3CorruptError(tls, int32(228607)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7 return v7 } @@ -190379,7 +192047,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin *(*int32)(unsafe.Pointer(v9))++ (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8)))) if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) { - v10 = _sqlite3CorruptError(tls, int32(226958)) + v10 = _sqlite3CorruptError(tls, int32(228613)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10 return v10 } @@ -190458,7 +192126,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if *(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - v16 = _sqlite3CorruptError(tls, int32(227002)) + v16 = _sqlite3CorruptError(tls, int32(228657)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16 return v16 } @@ -190868,7 +192536,7 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu goto finished_invert } default: - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(227367)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(229022)) goto finished_invert } if xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size { @@ -191071,18 +192739,18 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 } if pUp == uintptr(0) { nByte = int32(uint64(24) * uint64(nU32) * uint64(4)) - bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11584) == 0) + bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11709) == 0) pUp = Xsqlite3_malloc(tls, nByte) if pUp == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } else { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 libc.Xmemset(tls, bp+8, 0, uint64(16)) (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24 libc.Xmemcpy(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*TSessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(4)) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33937, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34083, bp) _sessionAppendIdent(tls, bp+8, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33950, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34096, bp) /* Create the assignments part of the UPDATE */ ii = 0 for { @@ -191092,9 +192760,9 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if int32(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33956, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34102, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(1), bp) - zSep = __ccgo_ts + 14992 + zSep = __ccgo_ts + 15085 } goto _2 _2: @@ -191102,8 +192770,8 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 ii++ } /* Create the WHERE clause part of the UPDATE */ - zSep = __ccgo_ts + 1650 - _sessionAppendStr(tls, bp+8, __ccgo_ts+33961, bp) + zSep = __ccgo_ts + 1664 + _sessionAppendStr(tls, bp+8, __ccgo_ts+34107, bp) ii = 0 for { if !(ii < (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { @@ -191112,13 +192780,13 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if *(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) if bStat1 != 0 && ii == int32(1) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+33969, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34115, bp) } else { _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34044, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34190, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(2), bp) } - zSep = __ccgo_ts + 22015 + zSep = __ccgo_ts + 22160 } goto _3 _3: @@ -191201,13 +192869,13 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in var _ /* buf at bp+8 */ TSessionBuffer var _ /* rc at bp+0 */ int32 _, _, _ = i, nPk, zSep - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} nPk = 0 - _sessionAppendStr(tls, bp+8, __ccgo_ts+34050, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34196, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33961, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34107, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -191217,9 +192885,9 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in nPk++ _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33956, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34102, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 22015 + zSep = __ccgo_ts + 22160 } goto _1 _1: @@ -191227,10 +192895,10 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in i++ } if nPk < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol { - _sessionAppendStr(tls, bp+8, __ccgo_ts+34068, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34214, bp) _sessionAppendInteger(tls, bp+8, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol+int32(1), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33532, bp) - zSep = __ccgo_ts + 1650 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33678, bp) + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -191239,16 +192907,16 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in if !(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34044, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34190, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 34076 + zSep = __ccgo_ts + 34222 } goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5108, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5172, bp) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+8, uintptr(0)) @@ -191274,7 +192942,7 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in // */ func _sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r int32) { /* TODO */ - return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6587, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) + return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6651, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } // C documentation @@ -191297,16 +192965,16 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+34081, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34227, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+22021, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+22166, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } if i != 0 { - _sessionAppendStr(tls, bp+8, __ccgo_ts+14992, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+15085, bp) } _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) goto _1 @@ -191314,19 +192982,19 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34099, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34245, bp) i = int32(1) for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34110, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34256, bp) goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5108, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5172, bp) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+16, uintptr(0)) } @@ -191349,12 +193017,12 @@ func _sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) (r int func _sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) (r int32) { var rc int32 _ = rc - rc = _sessionSelectRow(tls, db, __ccgo_ts+11584, p) + rc = _sessionSelectRow(tls, db, __ccgo_ts+11709, p) if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34114) + rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34260) } if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34227) + rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34373) } return rc } @@ -191420,7 +193088,7 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { /* The value in the changeset was "undefined". This indicates a ** corrupt changeset blob. */ - rc = _sqlite3CorruptError(tls, int32(227849)) + rc = _sqlite3CorruptError(tls, int32(229504)) } else { rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp))) } @@ -191836,7 +193504,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } else { if *(*int32)(unsafe.Pointer(bp)) != 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34371, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34517, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = _sessionBindRow(tls, pIter, __ccgo_fp(Xsqlite3changeset_new), (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) Xsqlite3_bind_int(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol+int32(1), int32(1)) @@ -191849,7 +193517,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34392, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34538, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -191943,10 +193611,10 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbIgnoreNoop = libc.BoolUint8(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_IGNORENOOP) != 0)) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34411, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34557, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34437, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34583, uintptr(0), uintptr(0), uintptr(0)) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) { Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0)) @@ -191977,7 +193645,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui ** non-zero, proceed. */ schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144)))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) + *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { rc = int32(SQLITE_NOMEM) break @@ -191987,7 +193655,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } else { nMinCol = 0 Xsqlite3changeset_pk(tls, pIter, bp+152, uintptr(0)) - rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6587, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) + rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6651, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) if rc != SQLITE_OK { break } @@ -192006,18 +193674,18 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol == 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34467, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34613, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol < *(*int32)(unsafe.Pointer(bp + 136)) { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34511, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34657, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) } else { if *(*int32)(unsafe.Pointer(bp + 136)) < nMinCol || libc.Xmemcmp(tls, (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FabPK, *(*uintptr)(unsafe.Pointer(bp + 152)), uint64(*(*int32)(unsafe.Pointer(bp + 136)))) != 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34582, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34728, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol = *(*int32)(unsafe.Pointer(bp + 136)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11584) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11709) { v2 = _sessionStat1Sql(tls, db, bp+8) rc = v2 if v2 != 0 { @@ -192074,13 +193742,13 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } } } - Xsqlite3_exec(tls, db, __ccgo_ts+34642, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34788, uintptr(0), uintptr(0), uintptr(0)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34672, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34818, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, __ccgo_ts+34696, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, __ccgo_ts+34672, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34842, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34818, uintptr(0), uintptr(0), uintptr(0)) } } if rc == SQLITE_OK && bPatchset == 0 && (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbRebase != 0 { @@ -192172,6 +193840,7 @@ type Tsqlite3_changegroup1 = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -192528,116 +194197,143 @@ func _sessionChangesetExtendRecord(tls *libc.TLS, pGrp uintptr, pTab uintptr, nC // C documentation // // /* -// ** Add all changes in the changeset traversed by the iterator passed as -// ** the first argument to the changegroup hash tables. +// ** Locate or create a SessionTable object that may be used to add the +// ** change currently pointed to by iterator pIter to changegroup pGrp. +// ** If successful, set output variable (*ppTab) to point to the table +// ** object and return SQLITE_OK. Otherwise, if some error occurs, return +// ** an SQLite error code and leave (*ppTab) set to NULL. // */ -func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { - bp := tls.Alloc(80) - defer tls.Free(80) - var bPkOnly1, bPkOnly2, iHash, nNew, rc int32 - var pExist, pTab, pp, ppTab uintptr - var _ /* aRec at bp+0 */ uintptr - var _ /* abPK at bp+64 */ uintptr - var _ /* bIndirect at bp+48 */ int32 - var _ /* nCol at bp+40 */ int32 - var _ /* nRec at bp+8 */ int32 - var _ /* op at bp+44 */ int32 - var _ /* pChange at bp+56 */ uintptr - var _ /* rec at bp+16 */ TSessionBuffer - var _ /* zNew at bp+32 */ uintptr - _, _, _, _, _, _, _, _, _ = bPkOnly1, bPkOnly2, iHash, nNew, pExist, pTab, pp, ppTab, rc +func _sessionChangesetFindTable(tls *libc.TLS, pGrp uintptr, zTab uintptr, pIter uintptr, ppTab uintptr) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var nTab, rc int32 + var pTab, ppNew uintptr + var _ /* abPK at bp+0 */ uintptr + var _ /* nCol at bp+8 */ int32 + _, _, _, _ = nTab, pTab, ppNew, rc rc = SQLITE_OK pTab = uintptr(0) - *(*TSessionBuffer)(unsafe.Pointer(bp + 16)) = TSessionBuffer{} - for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { - pExist = uintptr(0) - /* Ensure that only changesets, or only patchsets, but not a mixture - ** of both, are being combined. It is an error to try to combine a - ** changeset and a patchset. */ - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset - } else { - if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { - rc = int32(SQLITE_ERROR) - break - } + nTab = int32(libc.Xstrlen(tls, zTab)) + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(ppTab)) = uintptr(0) + Xsqlite3changeset_pk(tls, pIter, bp, bp+8) + /* Search the list for an existing table */ + pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList + for { + if !(pTab != 0) { + break } - Xsqlite3changeset_op(tls, pIter, bp+32, bp+40, bp+44, bp+48) - if !(pTab != 0) || Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), (*TSessionTable)(unsafe.Pointer(pTab)).FzName) != 0 { - /* Search the list for a matching table */ - nNew = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))) - Xsqlite3changeset_pk(tls, pIter, bp+64, uintptr(0)) - pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList - for { - if !(pTab != 0) { - break - } - if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), nNew+int32(1)) { - break - } - goto _1 - _1: - ; - pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext - } - if !(pTab != 0) { - pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 40)))+uint64(nNew)+uint64(1)) - if !(pTab != 0) { - rc = int32(SQLITE_NOMEM) - break - } - libc.Xmemset(tls, pTab, 0, uint64(80)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 40)) - (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 64)), uint64(*(*int32)(unsafe.Pointer(bp + 40)))) - (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 40))) - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), uint64(nNew+int32(1))) - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 - rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) - if rc != 0 { - Xsqlite3_free(tls, pTab) - break - } - } - /* The new object must be linked on to the end of the list, not - ** simply added to the start of it. This is to ensure that the - ** tables within the output of sqlite3changegroup_output() are in - ** the right order. */ - ppTab = pGrp + 8 - for { - if !(*(*uintptr)(unsafe.Pointer(ppTab)) != 0) { - break - } - goto _2 - _2: - ; - ppTab = *(*uintptr)(unsafe.Pointer(ppTab)) - } - *(*uintptr)(unsafe.Pointer(ppTab)) = pTab - } - if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*uintptr)(unsafe.Pointer(bp + 64))) != 0) { - rc = int32(SQLITE_SCHEMA) - break - } + if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, nTab+int32(1)) { + break + } + goto _1 + _1: + ; + pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext + } + /* If one was not found above, create a new table now */ + if !(pTab != 0) { + pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 8)))+uint64(nTab)+uint64(1)) + if !(pTab != 0) { + return int32(SQLITE_NOMEM) } - if *(*int32)(unsafe.Pointer(bp + 40)) < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol { - rc = _sessionChangesetExtendRecord(tls, pGrp, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*int32)(unsafe.Pointer(bp + 44)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+16) + libc.Xmemset(tls, pTab, 0, uint64(80)) + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 8)) + (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp)), uint64(*(*int32)(unsafe.Pointer(bp + 8)))) + (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 8))) + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, uint64(nTab+int32(1))) + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 + rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) if rc != 0 { + Xsqlite3_free(tls, pTab) + return rc + } + } + /* The new object must be linked on to the end of the list, not + ** simply added to the start of it. This is to ensure that the + ** tables within the output of sqlite3changegroup_output() are in + ** the right order. */ + ppNew = pGrp + 8 + for { + if !(*(*uintptr)(unsafe.Pointer(ppNew)) != 0) { break } - *(*uintptr)(unsafe.Pointer(bp)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf - *(*int32)(unsafe.Pointer(bp + 8)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf + goto _2 + _2: + ; + ppNew = *(*uintptr)(unsafe.Pointer(ppNew)) } - if _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { - rc = int32(SQLITE_NOMEM) - break + *(*uintptr)(unsafe.Pointer(ppNew)) = pTab + } + /* Check that the table is compatible. */ + if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp))) != 0) { + rc = int32(SQLITE_SCHEMA) + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + return rc +} + +// C documentation +// +// /* +// ** Add the change currently indicated by iterator pIter to the hash table +// ** belonging to changegroup pGrp. +// */ +func _sessionOneChangeToHash(tls *libc.TLS, pGrp uintptr, pIter uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var aRec, pBuf, pExist, pp uintptr + var bPkOnly1, bPkOnly2, iHash, nRec, rc int32 + var _ /* bIndirect at bp+8 */ int32 + var _ /* nCol at bp+0 */ int32 + var _ /* op at bp+4 */ int32 + var _ /* pChange at bp+16 */ uintptr + var _ /* pTab at bp+24 */ uintptr + var _ /* zTab at bp+32 */ uintptr + _, _, _, _, _, _, _, _, _ = aRec, bPkOnly1, bPkOnly2, iHash, nRec, pBuf, pExist, pp, rc + rc = SQLITE_OK + *(*int32)(unsafe.Pointer(bp)) = 0 + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + iHash = 0 + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) + pExist = uintptr(0) + pp = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) + aRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent+int32(2)) + nRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent - int32(2) + /* Ensure that only changesets, or only patchsets, but not a mixture + ** of both, are being combined. It is an error to try to combine a + ** changeset and a patchset. */ + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = int32(SQLITE_ERROR) } - iHash = int32(_sessionChangeHash(tls, pTab, libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)), *(*uintptr)(unsafe.Pointer(bp)), (*TSessionTable)(unsafe.Pointer(pTab)).FnChange)) + } + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0) + Xsqlite3changeset_op(tls, pIter, bp+32, bp, bp+4, bp+8) + rc = _sessionChangesetFindTable(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 32)), pIter, bp+24) + } + if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) < (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnCol { + pBuf = pGrp + 16 + rc = _sessionChangesetExtendRecord(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), aRec, nRec, pBuf) + aRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + nRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FnBuf + } + if rc == SQLITE_OK && _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 24))) != 0 { + rc = int32(SQLITE_NOMEM) + } + if rc == SQLITE_OK { /* Search for existing entry. If found, remove it from the hash table. - ** Code below may link it back in. - */ - pp = (*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8 + ** Code below may link it back in. */ + iHash = int32(_sessionChangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)), aRec, (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnChange)) + pp = (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8 for { if !(*(*uintptr)(unsafe.Pointer(pp)) != 0) { break @@ -192646,30 +194342,54 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase bPkOnly2 = 0 if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { bPkOnly1 = libc.BoolInt32(int32((*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fop) == int32(SQLITE_DELETE)) - bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)) + bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)) } - if _sessionChangeEqual(tls, pTab, bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp))) != 0 { + if _sessionChangeEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, aRec) != 0 { pExist = *(*uintptr)(unsafe.Pointer(pp)) *(*uintptr)(unsafe.Pointer(pp)) = (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry-- + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry-- break } - goto _3 - _3: + goto _1 + _1: ; pp = *(*uintptr)(unsafe.Pointer(pp)) + 24 } - rc = _sessionChangeMerge(tls, pTab, bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 44)), *(*int32)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+56) - if rc != 0 { + } + if rc == SQLITE_OK { + rc = _sessionChangeMerge(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 4)), *(*int32)(unsafe.Pointer(bp + 8)), aRec, nRec, bp+16) + } + if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { + (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 16)) + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry++ + } + if rc == SQLITE_OK { + rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// C documentation +// +// /* +// ** Add all changes in the changeset traversed by the iterator passed as +// ** the first argument to the changegroup hash tables. +// */ +func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var rc int32 + var _ /* aRec at bp+0 */ uintptr + var _ /* nRec at bp+8 */ int32 + _ = rc + rc = SQLITE_OK + for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { + rc = _sessionOneChangeToHash(tls, pGrp, pIter, bRebase) + if rc != SQLITE_OK { break } - if *(*uintptr)(unsafe.Pointer(bp + 56)) != 0 { - (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) - *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 56)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry++ - } } - Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf) if rc == SQLITE_OK { rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc } @@ -192779,11 +194499,11 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) (r int32) { var rc int32 _, _ = p, rc rc = SQLITE_OK /* New object */ - p = Xsqlite3_malloc(tls, int32(32)) + p = Xsqlite3_malloc(tls, int32(48)) if p == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, p, 0, uint64(32)) + libc.Xmemset(tls, p, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(pp)) = p return rc @@ -192805,7 +194525,7 @@ func Xsqlite3changegroup_schema(tls *libc.TLS, pGrp uintptr, db uintptr, zDb uin ** or after sqlite3changegroup_schema() has already been called. */ rc = int32(SQLITE_MISUSE) } else { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, zDb)) + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, zDb)) if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -192835,6 +194555,19 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin return rc } +// C documentation +// +// /* +// ** Add a single change to a changeset-group. +// */ +func Xsqlite3changegroup_add_change(tls *libc.TLS, pGrp uintptr, pIter uintptr) (r int32) { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent == (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc != SQLITE_OK || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbInvert != 0 { + /* Iterator does not point to any valid entry or is an INVERT iterator. */ + return int32(SQLITE_ERROR) + } + return _sessionOneChangeToHash(tls, pGrp, pIter, 0) +} + // C documentation // // /* @@ -192882,6 +194615,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { if pGrp != 0 { Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Frec.FaBuf) Xsqlite3_free(tls, pGrp) } } @@ -193246,11 +194980,11 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) (r int32) { var rc int32 _, _ = pNew, rc rc = SQLITE_OK - pNew = Xsqlite3_malloc(tls, int32(32)) + pNew = Xsqlite3_malloc(tls, int32(48)) if pNew == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, pNew, 0, uint64(32)) + libc.Xmemset(tls, pNew, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(ppNew)) = pNew return rc @@ -193324,6 +195058,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { if p != 0 { _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.Frec.FaBuf) Xsqlite3_free(tls, p) } } @@ -193955,6 +195690,9 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** sqlite3Fts5ParserARG_STORE Code to store %extra_argument into fts5yypParser // ** sqlite3Fts5ParserARG_FETCH Code to extract %extra_argument from fts5yypParser // ** sqlite3Fts5ParserCTX_* As sqlite3Fts5ParserARG_ except for %extra_context +// ** fts5YYREALLOC Name of the realloc() function to use +// ** fts5YYFREE Name of the free() function to use +// ** fts5YYDYNSTACK True if stack space should be extended on heap // ** fts5YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** fts5YYNSTATE the combined number of states. @@ -193968,6 +195706,8 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** fts5YY_NO_ACTION The fts5yy_action[] code for no-op // ** fts5YY_MIN_REDUCE Minimum value for reduce actions // ** fts5YY_MAX_REDUCE Maximum value for reduce actions +// ** fts5YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** fts5YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type Tfts5YYMINORTYPE = struct { @@ -193994,6 +195734,13 @@ type fts5YYMINORTYPE = Tfts5YYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -194423,8 +196170,9 @@ type fts5yyStackEntry = Tfts5yyStackEntry type Tfts5yyParser1 = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser1 = Tfts5yyParser1 @@ -194432,14 +196180,19 @@ type fts5yyParser1 = Tfts5yyParser1 type Tfts5yyParser = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser = Tfts5yyParser /* #include */ +/* For builds that do no have a growable stack, fts5yyGrowStack always +** returns an error. + */ + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3Fts5ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -194454,10 +196207,11 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { var fts5yypParser uintptr _ = fts5yypParser fts5yypParser = fts5yypRawParser - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fstateno = uint8(0) - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fmajor = uint8(0) - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = fts5yypParser + 16 + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack = fts5yypParser + 32 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fstateno = uint8(0) + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fmajor = uint8(0) } // C documentation @@ -194477,7 +196231,7 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) { var fts5yypParser uintptr _ = fts5yypParser - fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2424)) + fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432)) if fts5yypParser != 0 { _sqlite3Fts5ParserInit(tls, fts5yypParser) } @@ -194559,11 +196313,17 @@ func _fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var fts5yytos, pParser uintptr + _, _ = fts5yytos, pParser pParser = p - for (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { - _fts5yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling fts5yy_pop_parser_stack() for each + ** element left in the stack */ + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos + for fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yystack { + if int32((*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor) >= int32(fts5YY_MIN_DSTRCTR) { + _fts5yy_destructor(tls, pParser, (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor, fts5yytos+8) + } + fts5yytos -= 24 } } @@ -194651,13 +196411,13 @@ func _fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse - for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { + for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack { _fts5yy_pop_parser_stack(tls, fts5yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34724, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34870, 0) /******** End %stack_overflow code ********************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument var */ } @@ -194675,15 +196435,18 @@ func _fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, f var fts5yytos uintptr _ = fts5yytos (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 - if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 - _fts5yyStackOverflow(tls, fts5yypParser) - return + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + if fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { + if int32(1) != 0 { + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 + _fts5yyStackOverflow(tls, fts5yypParser) + return + } + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos } if int32(fts5yyNewState) > int32(fts5YY_MAX_SHIFT) { fts5yyNewState = uint8(int32(fts5yyNewState) + (libc.Int32FromInt32(fts5YY_MIN_REDUCE) - libc.Int32FromInt32(fts5YY_MIN_SHIFTREDUCE))) } - fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fstateno = fts5yyNewState (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor = fts5yyMajor *(*TFts5Token)(unsafe.Pointer(fts5yytos + 8)) = fts5yyMinor @@ -195010,7 +196773,7 @@ func _fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int3 pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse /************ Begin %syntax_error code ****************************************/ _ = fts5yymajor /* Silence a compiler warning */ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34752, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34898, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) /************ End %syntax_error code ******************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument variable */ } @@ -195072,8 +196835,10 @@ func _sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5y ** enough on the stack to push the LHS value */ if int32(_fts5yyRuleInfoNRhs[fts5yyruleno]) == 0 { if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos >= (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - _fts5yyStackOverflow(tls, fts5yypParser) - break + if int32(1) != 0 { + _fts5yyStackOverflow(tls, fts5yypParser) + break + } } } fts5yyact = _fts5yy_reduce(tls, fts5yypParser, fts5yyruleno, fts5yymajor, fts5yyminor) @@ -195306,7 +197071,7 @@ func _fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n in if n < 0 { n = int32(libc.Xstrlen(tls, z)) } - (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34783, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34929, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*THighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = int32(SQLITE_NOMEM) } @@ -195403,7 +197168,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint var _ /* rc at bp+104 */ int32 _, _ = iCol, zErr if nVal != int32(3) { - zErr = __ccgo_ts + 34790 + zErr = __ccgo_ts + 34936 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -195414,7 +197179,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint (*(*THighlightContext)(unsafe.Pointer(bp))).FiRangeEnd = -int32(1) *(*int32)(unsafe.Pointer(bp + 104)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})))(tls, pFts, iCol, bp+24, bp+32) if *(*int32)(unsafe.Pointer(bp + 104)) == int32(SQLITE_RANGE) { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1650, -int32(1), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1664, -int32(1), libc.UintptrFromInt32(0)) *(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_OK } else { if (*(*THighlightContext)(unsafe.Pointer(bp))).FzIn != 0 { @@ -195615,7 +197380,7 @@ func _fts5ValueToText(tls *libc.TLS, pVal uintptr) (r uintptr) { if zRet != 0 { v1 = zRet } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } return v1 } @@ -195649,7 +197414,7 @@ func _fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintpt nBestScore = 0 /* Score of best snippet */ *(*int32)(unsafe.Pointer(bp + 112)) = 0 if nVal != int32(5) { - zErr = __ccgo_ts + 34840 + zErr = __ccgo_ts + 34986 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -196029,15 +197794,15 @@ func _sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) (r int32) { FxDestroy uintptr }{ 0: { - FzFunc: __ccgo_ts + 34888, + FzFunc: __ccgo_ts + 35034, FxFunc: __ccgo_fp(_fts5SnippetFunction), }, 1: { - FzFunc: __ccgo_ts + 34896, + FzFunc: __ccgo_ts + 35042, FxFunc: __ccgo_fp(_fts5HighlightFunction), }, 2: { - FzFunc: __ccgo_ts + 34906, + FzFunc: __ccgo_ts + 35052, FxFunc: __ccgo_fp(_fts5Bm25Function), }, } @@ -196697,7 +198462,7 @@ func _fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) (r uintptr) { case int32('n'): fallthrough case int32('N'): - if Xsqlite3_strnicmp(tls, __ccgo_ts+1636, p, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+1650, p, int32(4)) == 0 { p = p + 4 } else { p = uintptr(0) @@ -196901,7 +198666,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _, _, _, _, _, _, _, _, _, _, _, _ = azArg, bFirst, nArg, nByte, nCmd, nPre, p, p1, p2, pDel, pSpace, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK nCmd = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, __ccgo_ts+34911, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35057, zCmd, nCmd) == 0 { nByte = int32(libc.Uint64FromInt64(4) * libc.Uint64FromInt32(FTS5_MAX_PREFIX_INDEXES)) bFirst = int32(1) if (*TFts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { @@ -196927,12 +198692,12 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } } if int32(*(*int8)(unsafe.Pointer(p))) < int32('0') || int32(*(*int8)(unsafe.Pointer(p))) > int32('9') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34918, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35064, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } if (*TFts5Config)(unsafe.Pointer(pConfig)).FnPrefix == int32(FTS5_MAX_PREFIX_INDEXES) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34949, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35095, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -196941,7 +198706,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC p++ } if nPre <= 0 || nPre >= int32(1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34982, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35128, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -196951,7 +198716,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35019, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35165, zCmd, nCmd) == 0 { p1 = zArg nArg = int64(libc.Xstrlen(tls, zArg) + uint64(1)) azArg = _sqlite3Fts5MallocZero(tls, bp, int64(uint64(8)*uint64(nArg))) @@ -196959,7 +198724,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC pSpace = pDel if azArg != 0 && pSpace != 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35028, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35174, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { nArg = 0 @@ -196986,7 +198751,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC nArg++ } if p1 == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35061, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35207, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(nArg), pConfig, pzErr) @@ -196997,58 +198762,58 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC Xsqlite3_free(tls, pDel) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35095, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35241, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35103, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35249, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if *(*int8)(unsafe.Pointer(zArg)) != 0 { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_EXTERNAL) - (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35135, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35281, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_NONE) } } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35141, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35287, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35160, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35306, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35203, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35349, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35217, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35363, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, zArg, -int32(1)) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35255, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35401, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35266, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35412, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+5501, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+5565, zCmd, nCmd) == 0 { *(*[4]TFts5Enum)(unsafe.Pointer(bp + 8)) = [4]TFts5Enum{ 0: { - FzName: __ccgo_ts + 8220, + FzName: __ccgo_ts + 8345, FeVal: int32(FTS5_DETAIL_NONE), }, 1: { - FzName: __ccgo_ts + 17749, + FzName: __ccgo_ts + 17836, }, 2: { - FzName: __ccgo_ts + 35301, + FzName: __ccgo_ts + 35447, FeVal: int32(FTS5_DETAIL_COLUMNS), }, 3: {}, @@ -197056,20 +198821,20 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC v2 = _fts5ConfigSetEnum(tls, bp+8, zArg, pConfig+96) *(*int32)(unsafe.Pointer(bp)) = v2 if v2 != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35309, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35455, 0) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35340, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35486, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35350, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35496, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbTokendata = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35384, libc.VaList(bp+80, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35530, libc.VaList(bp+80, nCmd, zCmd)) return int32(SQLITE_ERROR) } @@ -197141,15 +198906,15 @@ func _fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr var v2 uintptr _, _, _ = rc, v1, v2 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35412) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16696) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35417, libc.VaList(bp+8, zCol)) + if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35558) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16783) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35563, libc.VaList(bp+8, zCol)) rc = int32(SQLITE_ERROR) } else { if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35447) { + if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35593) { *(*Tu8)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*TFts5Config)(unsafe.Pointer(p)).FnCol))) = uint8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35457, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35603, libc.VaList(bp+8, zArg)) rc = int32(SQLITE_ERROR) } } @@ -197175,7 +198940,7 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TFts5Buffer)(unsafe.Pointer(bp + 8)) = TFts5Buffer{} - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35488, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35634, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*TFts5Config)(unsafe.Pointer(p)).FeContent != int32(FTS5_CONTENT_NONE) { i = 0 for { @@ -197183,9 +198948,9 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { break } if (*TFts5Config)(unsafe.Pointer(p)).FeContent == int32(FTS5_CONTENT_EXTERNAL) { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35493, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35639, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35500, libc.VaList(bp+32, i)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35646, libc.VaList(bp+32, i)) } goto _1 _1: @@ -197245,8 +199010,8 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in (*TFts5Config)(unsafe.Pointer(pRet)).FzName = _sqlite3Fts5Strndup(tls, bp, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -int32(1)) (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize = int32(1) (*TFts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35412) == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35508, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) + if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35558) == 0 { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35654, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } i = int32(3) @@ -197277,19 +199042,19 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35537, libc.VaList(bp+40, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35683, libc.VaList(bp+40, zOrig)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bOption != 0 { if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { v4 = *(*uintptr)(unsafe.Pointer(bp + 8)) } else { - v4 = __ccgo_ts + 1650 + v4 = __ccgo_ts + 1664 } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { v5 = *(*uintptr)(unsafe.Pointer(bp + 16)) } else { - v5 = __ccgo_ts + 1650 + v5 = __ccgo_ts + 1664 } *(*int32)(unsafe.Pointer(bp)) = _fts5ConfigParseSpecial(tls, pGlobal, pRet, v4, v5, pzErr) } else { @@ -197307,7 +199072,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } /* We only allow contentless_delete=1 if the table is indeed contentless. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FeContent != int32(FTS5_CONTENT_NONE) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35557, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35703, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* We only allow contentless_delete=1 if columnsize=0 is not present. @@ -197315,7 +199080,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in ** This restriction may be removed at some point. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35607, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35753, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* If a tokenizer= option was successfully parsed, the tokenizer has @@ -197328,18 +199093,18 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContent == uintptr(0) { zTail = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { - zTail = __ccgo_ts + 35095 + zTail = __ccgo_ts + 35241 } else { if (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = __ccgo_ts + 35662 + zTail = __ccgo_ts + 35808 } } if zTail != 0 { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35670, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35816, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0) { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16696, -int32(1)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16783, -int32(1)) } /* Formulate the zContentExprlist text */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -197403,25 +199168,25 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) { var _ /* rc at bp+0 */ int32 _, _, _, _ = i, zSep, zSql, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35681, 0) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35827, 0) i = 0 for { if !(zSql != 0 && i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } if i == 0 { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } else { - v2 = __ccgo_ts + 14992 + v2 = __ccgo_ts + 15085 } zSep = v2 - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35697, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35843, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) goto _1 _1: ; i++ } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35704, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35412)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35850, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35558)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_declare_vtab(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) Xsqlite3_free(tls, zSql) @@ -197567,7 +199332,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV var _ /* zRankArgs at bp+8 */ uintptr _, _, _, _, _, _, _, _, _, _ = bVal, nAutomerge, nCrisisMerge, nHashSize, nUsermerge, nVal, pgsz, rc, zIn, v1 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35730) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35876) { pgsz = 0 if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -197578,7 +199343,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35735) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35881) { nHashSize = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -197589,7 +199354,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35744) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35890) { nAutomerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -197603,7 +199368,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35754) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35900) { nUsermerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -197614,7 +199379,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35764) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35910) { nCrisisMerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -197631,7 +199396,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35776) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35922) { nVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nVal = Xsqlite3_value_int(tls, pVal) @@ -197646,7 +199411,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } (*TFts5Config)(unsafe.Pointer(pConfig)).FnDeleteMerge = nVal } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35412) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35558) { zIn = Xsqlite3_value_text(tls, pVal) rc = _sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8) if rc == SQLITE_OK { @@ -197661,7 +199426,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35788) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35934) { bVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { bVal = Xsqlite3_value_int(tls, pVal) @@ -197703,7 +199468,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in var _ /* p at bp+0 */ uintptr var _ /* rc at bp+8 */ int32 _, _, _, _, _ = iVersion, pVal, zK, zSelect, zSql - zSelect = __ccgo_ts + 35802 + zSelect = __ccgo_ts + 35948 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_OK iVersion = 0 @@ -197723,7 +199488,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in for int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zK = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) pVal = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) - if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35834) { + if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35980) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 12)) = 0 @@ -197735,7 +199500,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && iVersion != int32(FTS5_CURRENT_VERSION) && iVersion != int32(FTS5_CURRENT_VERSION_SECUREDELETE) { *(*int32)(unsafe.Pointer(bp + 8)) = int32(SQLITE_ERROR) if (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35842, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35988, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = iVersion @@ -197956,7 +199721,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr } } if int32(*(*int8)(unsafe.Pointer(z2))) == int32('\000') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35913, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36059, 0) return FTS5_EOF } goto _1 @@ -197967,7 +199732,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z2) - int64(z)) default: if _sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35933, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36079, libc.VaList(bp+8, z)) return FTS5_EOF } tok = int32(FTS5_STRING) @@ -197982,13 +199747,13 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr z21++ } (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z21) - int64(z)) - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35964, uint64(2)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36110, uint64(2)) == 0 { tok = int32(FTS5_OR) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35967, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36113, uint64(3)) == 0 { tok = int32(FTS5_NOT) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30708, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30854, uint64(3)) == 0 { tok = int32(FTS5_AND) } break @@ -200060,8 +201825,8 @@ func _sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, pp func _sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+35971, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34752, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) + if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36117, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34898, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -200081,7 +201846,7 @@ func _sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, } c = *(*int8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) if int32(c) < int32('0') || int32(c) > int32('9') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35976, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36122, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) return } nNear = nNear*int32(10) + (int32(*(*int8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - int32('0')) @@ -200219,7 +201984,7 @@ func _sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p u iCol++ } if iCol == (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21018, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21150, libc.VaList(bp+8, z)) } else { pRet = _fts5ParseColset(tls, pParse, pColset, iCol) } @@ -200343,7 +202108,7 @@ func _sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pC var _ /* pFree at bp+0 */ uintptr *(*uintptr)(unsafe.Pointer(bp)) = pColset if (*TFts5Config)(unsafe.Pointer((*TFts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == int32(FTS5_DETAIL_NONE) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36005, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36151, 0) } else { _fts5ParseSetColset(tls, pParse, pExpr, pColset, bp) } @@ -200536,11 +202301,11 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin pPhrase = *(*uintptr)(unsafe.Pointer(pNear + 24)) if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase != int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*(*TFts5ExprTerm)(unsafe.Pointer(pPhrase + 32))).FbFirst != 0 { if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == int32(1) { - v2 = __ccgo_ts + 36058 + v2 = __ccgo_ts + 36204 } else { - v2 = __ccgo_ts + 35971 + v2 = __ccgo_ts + 36117 } - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36065, libc.VaList(bp+8, v2)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36211, libc.VaList(bp+8, v2)) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -200549,7 +202314,7 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin _fts5ExprAddChildren(tls, pRet, pLeft) _fts5ExprAddChildren(tls, pRet, pRight) if (*TFts5ExprNode)(unsafe.Pointer(pRet)).FiHeight > int32(SQLITE_FTS5_MAX_EXPR_DEPTH) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36115, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36261, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -202697,7 +204462,7 @@ func _fts5DataRead(tls *libc.TLS, p uintptr, iRowid Ti64) (r uintptr) { ** to the requested entry. */ if (*TFts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36168, iRowid, 0, p+72) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36314, iRowid, 0, p+72) } /* If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls ** above returned SQLITE_ERROR, return SQLITE_CORRUPT_VTAB instead. @@ -202790,7 +204555,7 @@ func _fts5DataWrite(tls *libc.TLS, p uintptr, iRowid Ti64, pData uintptr, nData } if (*TFts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36174, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36320, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return } @@ -202819,7 +204584,7 @@ func _fts5DataDelete(tls *libc.TLS, p uintptr, iFirst Ti64, iLast Ti64) { } if (*TFts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36225, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36371, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if _fts5IndexPrepareStmt(tls, p, p+88, zSql) != 0 { return } @@ -202853,7 +204618,7 @@ func _fts5DataRemoveSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { } if (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36274, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36420, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter, int32(1), iSegid) @@ -203022,7 +204787,7 @@ func _fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie ui } i = int32(4) /* Check if this is a V2 structure record. Set bStructureV2 if it is. */ - if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36314, uint64(4)) { + if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36460, uint64(4)) { i += int32(4) bStructureV2 = int32(1) } @@ -203213,7 +204978,7 @@ func _fts5IndexDataVersion(tls *libc.TLS, p uintptr) (r Ti64) { iVersion = 0 if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*TFts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) { - (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36319, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36465, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return 0 } @@ -203297,7 +205062,7 @@ func _fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { _sqlite3Fts5Put32(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, iCookie) (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = int32(4) if (*TFts5Structure)(unsafe.Pointer(pStruct)).FnOriginCntr > uint64(0) { - libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36314, uint64(4)) + libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36460, uint64(4)) *(*int32)(unsafe.Pointer(bp + 8)) += int32(4) } *(*int32)(unsafe.Pointer(bp + 8)) += _sqlite3Fts5PutVarint(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), uint64((*TFts5Structure)(unsafe.Pointer(pStruct)).FnLevel)) @@ -204672,7 +206437,7 @@ func _fts5IdxSelectStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36342, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36488, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect } @@ -204761,7 +206526,7 @@ func _fts5IdxNextStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36426, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36572, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect } @@ -206377,7 +208142,7 @@ func _fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { if (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { v1 = (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } z = v1 /* The following was already done in fts5WriteInit(): */ @@ -206732,7 +208497,7 @@ func _fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { _sqlite3Fts5BufferSize(tls, p+60, pWriter+8+8, uint32(nBuffer)) if (*TFts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36508, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36654, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { /* Initialize the 4-byte leaf-page header to 0x00. */ @@ -207222,7 +208987,7 @@ func _fts5SecureDeleteIdxEntry(tls *libc.TLS, p uintptr, iSegid int32, iPgno int defer tls.Free(32) if iPgno != int32(1) { if (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx == uintptr(0) { - _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36565, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36711, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx, int32(1), iSegid) @@ -208712,7 +210477,7 @@ func _sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) (r int32) { if (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FbContentlessDelete != 0 { (*(*TFts5Structure)(unsafe.Pointer(bp))).FnOriginCntr = uint64(1) } - _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1650, 0) + _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1664, 0) _fts5StructureWrite(tls, p, bp) return _fts5IndexReturn(tls, p) } @@ -208739,11 +210504,11 @@ func _sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uin if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*TFts5Index)(unsafe.Pointer(p)).FnWorkUnit = int32(FTS5_WORK_UNIT) - (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36626, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36772, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25743, __ccgo_ts+36634, 0, pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25889, __ccgo_ts+36780, 0, pzErr) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11795, __ccgo_ts+36669, int32(1), pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11920, __ccgo_ts+36815, int32(1), pzErr) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5IndexReinit(tls, p) @@ -209277,7 +211042,7 @@ func _fts5SetupTokendataIter(tls *libc.TLS, p uintptr, pToken uintptr, nToken in pNew = _fts5MultiIterAlloc(tls, p, (*TFts5Structure)(unsafe.Pointer(pStruct)).FnSegment) if pSmall != 0 { _sqlite3Fts5BufferSet(tls, p+60, bp, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fn, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36713) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36859) } else { _sqlite3Fts5BufferSet(tls, p+60, bp, nToken, pToken) } @@ -209797,7 +211562,7 @@ func _sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) (r int32) pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig /* Binary representation of iNew */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) _sqlite3Fts5Put32(tls, bp, iNew) - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36168, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36314, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, int32(4), 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -210391,7 +212156,7 @@ func _fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { if (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { return } - _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36715, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) + _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36861, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) /* Iterate through the b-tree hierarchy. */ for (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { /* Data for this leaf */ zIdxTerm = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -210622,7 +212387,7 @@ func _sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum Tu64, bUseC } else { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = 0 _fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16))+104+uintptr((*(*TFts5CResult)(unsafe.Pointer((*TFts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FaFirst + 1*4))).FiFirst)*128, uintptr(0), bp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36801) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36947) for 0 == _sqlite3Fts5PoslistNext64(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn, bp+40, bp+32) { iCol = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) >> libc.Int32FromInt32(32)) iTokOff = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) & libc.Int64FromInt32(0x7FFFFFFF)) @@ -211210,7 +212975,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) bSeenMatch = 0 bSeenRank = 0 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36806, 0) + (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36952, 0) return int32(SQLITE_ERROR) } idxStr = Xsqlite3_malloc(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pInfo)).FnConstraint*int32(8)+int32(1)) @@ -211249,7 +213014,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v3 = iIdxStr iIdxStr++ *(*int8)(unsafe.Pointer(idxStr + uintptr(v3))) = int8('M') - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5140, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5204, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) } } @@ -211269,7 +213034,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v6 = int32('G') } *(*int8)(unsafe.Pointer(idxStr + uintptr(v5))) = int8(v6) - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5140, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5204, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) iCons++ v7 = iCons @@ -211707,7 +213472,7 @@ func _fts5NextMethod(tls *libc.TLS, pCursor uintptr) (r int32) { *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_EOF) rc = Xsqlite3_reset(tls, (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -211734,7 +213499,7 @@ func _fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt } else { rc = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -211769,21 +213534,21 @@ func _fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ if zRankArgs != 0 { - v1 = __ccgo_ts + 14992 + v1 = __ccgo_ts + 15085 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } if zRankArgs != 0 { v2 = zRankArgs } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } if bDesc != 0 { - v3 = __ccgo_ts + 36845 + v3 = __ccgo_ts + 36991 } else { - v3 = __ccgo_ts + 36850 + v3 = __ccgo_ts + 36996 } - rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+36854, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) + rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+37000, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter if rc == SQLITE_OK { (*TFts5FullTable)(unsafe.Pointer(pTab)).FpSortCsr = pCsr @@ -211841,14 +213606,14 @@ func _fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr n++ } (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan = int32(FTS5_PLAN_SPECIAL) - if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+36909, z, n) { + if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+37055, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = int64(_sqlite3Fts5IndexReads(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex)) } else { - if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5483, z, n) { + if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5547, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { /* An unrecognized directive. Return an error message. */ - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36915, libc.VaList(bp+8, n, z)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37061, libc.VaList(bp+8, n, z)) rc = int32(SQLITE_ERROR) } } @@ -211898,7 +213663,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { zRank = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank zRankArgs = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36943, libc.VaList(bp+24, zRankArgs)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37089, libc.VaList(bp+24, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp+8, uintptr(0)) @@ -211931,7 +213696,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { pAux = _fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36953, libc.VaList(bp+24, zRank)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37099, libc.VaList(bp+24, zRank)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -211965,7 +213730,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_FREE_ZRANK) } else { if rc == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36974, libc.VaList(bp+24, z)) + (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37120, libc.VaList(bp+24, z)) } } } else { @@ -211973,7 +213738,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRank (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRankArgs } else { - (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 34906 + (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 35052 (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -212024,7 +213789,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint iIdxStr = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36806, 0) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36952, 0) return int32(SQLITE_ERROR) } if (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan != 0 { @@ -212046,7 +213811,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint case int32('M'): zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))) if zText == uintptr(0) { - zText = __ccgo_ts + 1650 + zText = __ccgo_ts + 1664 } iCol = 0 for cond := true; cond; cond = int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= int32('9') { @@ -212168,7 +213933,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint } } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent == uintptr(0) { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37007, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37153, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = int32(SQLITE_ERROR) } else { /* This is either a full-table scan (ePlan==FTS5_PLAN_SCAN) or a lookup @@ -212306,7 +214071,7 @@ func _fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) (r int32) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< int32(1) { - v1 = __ccgo_ts + 20871 + v1 = __ccgo_ts + 21003 } else { - v1 = __ccgo_ts + 37285 + v1 = __ccgo_ts + 37431 } - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37297, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37443, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if nArg == int32(1) { @@ -212563,7 +214328,7 @@ func _fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && bUpdateOrDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FbSecureDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion == int32(FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35834, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35980, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = int32(FTS5_CURRENT_VERSION_SECUREDELETE) } @@ -213359,7 +215124,7 @@ func _fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) iCsrId = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) pCsr = _fts5CursorFromCsrid(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId) if pCsr == uintptr(0) || (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37334, libc.VaList(bp+8, iCsrId)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37480, libc.VaList(bp+8, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } else { @@ -213550,7 +215315,7 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = uintptr(0) } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 && Xsqlite3_vtab_nochange(tls, pCtx) != 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37355, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37501, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -213792,7 +215557,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr pMod = _fts5LocateTokenizer(tls, pGlobal, v1) if pMod == uintptr(0) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37426, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37572, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) } else { if azArg != 0 { v2 = azArg + 1*8 @@ -213808,7 +215573,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr (*TFts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16 if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37448, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37594, 0) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FePattern = _sqlite3Fts5TokenizerPattern(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate, (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok) @@ -213863,7 +215628,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { _, _ = pGlobal, ppApi pGlobal = Xsqlite3_user_data(tls, pCtx) _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37479) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37625) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal } @@ -213877,7 +215642,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { func _fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37492, -int32(1), uintptr(-libc.Int32FromInt32(1))) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37638, -int32(1), uintptr(-libc.Int32FromInt32(1))) } // C documentation @@ -213906,11 +215671,11 @@ func _fts5ShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName2 = [5]uintptr{ - 0: __ccgo_ts + 37583, - 1: __ccgo_ts + 35095, - 2: __ccgo_ts + 25743, - 3: __ccgo_ts + 35662, - 4: __ccgo_ts + 11795, + 0: __ccgo_ts + 37729, + 1: __ccgo_ts + 35241, + 2: __ccgo_ts + 25889, + 3: __ccgo_ts + 35808, + 4: __ccgo_ts + 11920, } // C documentation @@ -213924,20 +215689,26 @@ func _fts5IntegrityMethod(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zTabnam bp := tls.Alloc(32) defer tls.Free(32) var pTab uintptr - var rc int32 - _, _ = pTab, rc + var rc, v1 int32 + _, _, _ = pTab, rc, v1 pTab = pVtab _ = isQuick rc = _sqlite3Fts5StorageIntegrity(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, 0) if rc&int32(0xff) == int32(SQLITE_CORRUPT) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37590, libc.VaList(bp+8, zSchema, zTabname)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37736, libc.VaList(bp+8, zSchema, zTabname)) + if *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { + v1 = SQLITE_OK + } else { + v1 = int32(SQLITE_NOMEM) + } + rc = v1 } else { if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37636, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37782, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) } } _sqlite3Fts5IndexCloseReader(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) - return SQLITE_OK + return rc } func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { @@ -213956,7 +215727,7 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateFunction = __ccgo_fp(_fts5CreateAux) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateTokenizer = __ccgo_fp(_fts5CreateTokenizer) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = __ccgo_fp(_fts5FindTokenizer) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37699, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37845, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) if rc == SQLITE_OK { rc = _sqlite3Fts5IndexInit(tls, db) } @@ -213973,10 +215744,10 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { rc = _sqlite3Fts5VocabInit(tls, pGlobal, db) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37699, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37845, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37704, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37850, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) } } /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file @@ -214079,17 +215850,17 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, ** statements to operate on it. */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { azStmt = [11]uintptr{ - 0: __ccgo_ts + 37719, - 1: __ccgo_ts + 37787, - 2: __ccgo_ts + 37856, - 3: __ccgo_ts + 37889, - 4: __ccgo_ts + 37928, - 5: __ccgo_ts + 37968, - 6: __ccgo_ts + 38007, - 7: __ccgo_ts + 38050, - 8: __ccgo_ts + 38089, - 9: __ccgo_ts + 38133, - 10: __ccgo_ts + 38173, + 0: __ccgo_ts + 37865, + 1: __ccgo_ts + 37933, + 2: __ccgo_ts + 38002, + 3: __ccgo_ts + 38035, + 4: __ccgo_ts + 38074, + 5: __ccgo_ts + 38114, + 6: __ccgo_ts + 38153, + 7: __ccgo_ts + 38196, + 8: __ccgo_ts + 38235, + 9: __ccgo_ts + 38279, + 10: __ccgo_ts + 38319, } pC = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig zSql = uintptr(0) @@ -214126,16 +215897,16 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, } case int32(FTS5_STMT_REPLACE_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v2 = __ccgo_ts + 38196 + v2 = __ccgo_ts + 38342 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName, v2)) case int32(FTS5_STMT_LOOKUP_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v3 = __ccgo_ts + 38199 + v3 = __ccgo_ts + 38345 } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, v3, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName)) default: @@ -214154,7 +215925,7 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, (*TFts5Config)(unsafe.Pointer((*TFts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if rc != SQLITE_OK && pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -214191,12 +215962,12 @@ func _sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) (r int32) { defer tls.Free(64) var rc int32 _ = rc - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38207, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38353, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38311, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38457, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38349, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38495, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } @@ -214205,7 +215976,7 @@ func _fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail ui bp := tls.Alloc(48) defer tls.Free(48) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38387, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) + *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38533, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -214217,14 +215988,14 @@ func _sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) ( _ = pConfig pConfig = (*TFts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageSync(tls, pStorage) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25743, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11795, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37583, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25889, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11920, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37729, zName) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35662, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35808, zName) } if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35095, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35241, zName) } return *(*int32)(unsafe.Pointer(bp)) } @@ -214244,13 +216015,13 @@ func _sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDef _, _ = rc, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if bWithout != 0 { - v1 = __ccgo_ts + 30383 + v1 = __ccgo_ts + 30529 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38429, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38575, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38459, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38605, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) } return rc @@ -214291,36 +216062,36 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr if zDefn == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38503, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38649, 0) iOff = int32(libc.Xstrlen(tls, zDefn)) i = 0 for { if !(i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } - Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38526, libc.VaList(bp+8, i)) + Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38672, libc.VaList(bp+8, i)) iOff += int32(libc.Xstrlen(tls, zDefn+uintptr(iOff))) goto _2 _2: ; i++ } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35095, zDefn, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35241, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - zCols = __ccgo_ts + 38532 + zCols = __ccgo_ts + 38678 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 { - zCols = __ccgo_ts + 38564 + zCols = __ccgo_ts + 38710 } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35662, zCols, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35808, zCols, 0, pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37583, __ccgo_ts+38612, int32(1), pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37729, __ccgo_ts+38758, int32(1), pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35834, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35980, uintptr(0), int32(FTS5_CURRENT_VERSION)) } } if rc != 0 { @@ -214662,9 +216433,9 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig (*TFts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 /* Delete the contents of the %_data and %_docsize tables. */ - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38629, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38775, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38679, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38825, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } /* Reinitialize the %_data table. This call creates the initial structure ** and averages records. */ @@ -214672,7 +216443,7 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3Fts5IndexReinit(tls, (*TFts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35834, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35980, uintptr(0), int32(FTS5_CURRENT_VERSION)) } return rc } @@ -214886,7 +216657,7 @@ func _fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var _ /* pCnt at bp+0 */ uintptr _, _, _ = pConfig, rc, zSql pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38708, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38854, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -215096,14 +216867,14 @@ func _sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) (r int32 ** number of rows. */ if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { *(*Ti64)(unsafe.Pointer(bp + 48)) = 0 - rc = _fts5StorageCount(tls, p, __ccgo_ts+35095, bp+48) + rc = _fts5StorageCount(tls, p, __ccgo_ts+35241, bp+48) if rc == SQLITE_OK && *(*Ti64)(unsafe.Pointer(bp + 48)) != (*TFts5Storage)(unsafe.Pointer(p)).FnTotalRow { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) } @@ -216305,64 +218076,64 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38810, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38956, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38813, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38959, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38818, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38964, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('e'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38823, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38969, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38826, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38972, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('l'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38829, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38975, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38834, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38980, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38839, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38985, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38843, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38989, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38849, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38995, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38854, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39000, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -216371,49 +218142,49 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38858, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39004, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38862, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39008, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } } case int32('s'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38865, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39011, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('t'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38869, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39015, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38873, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39019, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38877, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39023, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38881, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39027, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('z'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38885, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39031, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -216430,20 +218201,20 @@ func _fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38889, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38869, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39035, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39015, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('b'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38892, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38895, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39038, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39041, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38899, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38885, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39045, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39031, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } @@ -216459,75 +218230,75 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38902, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39048, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38869, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39015, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38910, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39056, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38917, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39063, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(4) } } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38922, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39068, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38818, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38964, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38927, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39073, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38813, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38959, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } } case int32('e'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38932, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39078, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38885, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39031, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('g'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38937, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39083, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15909, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15988, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('l'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38942, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39088, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38895, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39041, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38946, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39092, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38810, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38956, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38951, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39097, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38854, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39000, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38957, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39103, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38961, uint64(1)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39107, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(1) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38963, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39109, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38877, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39023, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } @@ -216536,48 +218307,48 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38969, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39115, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38885, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39031, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38977, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39123, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38869, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39015, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38983, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39129, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38869, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39015, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } } } case int32('s'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38988, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39134, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38810, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38956, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38994, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39140, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38881, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39027, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39002, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39148, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39010, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39156, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39014, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39160, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38877, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39023, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } @@ -216585,21 +218356,21 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39022, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39168, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38810, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38956, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39028, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39174, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38881, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39027, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39034, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39180, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38895, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39041, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(3) } } @@ -216617,48 +218388,48 @@ func _fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39041, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39187, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38826, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38972, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } case int32('s'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39046, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39192, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39051, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39197, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38826, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38972, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39057, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39203, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38826, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38972, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39010, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39156, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39063, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39209, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } case int32('z'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39069, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39215, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38810, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38956, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } @@ -216674,13 +218445,13 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('e'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39075, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39221, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39079, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39225, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(2) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39082, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39228, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) ret = int32(1) @@ -216688,7 +218459,7 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39085, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39231, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) ret = int32(1) @@ -216849,14 +218620,14 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p break } zArg = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+int32(1))*8)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39089) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39235) { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { (*TTrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('0')) } } else { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38782) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38928) { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('2') || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { @@ -217130,7 +218901,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { Fx Tfts5_tokenizer }{ 0: { - FzName: __ccgo_ts + 38800, + FzName: __ccgo_ts + 38946, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5UnicodeCreate), FxDelete: __ccgo_fp(_fts5UnicodeDelete), @@ -217138,7 +218909,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 1: { - FzName: __ccgo_ts + 39104, + FzName: __ccgo_ts + 39250, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5AsciiCreate), FxDelete: __ccgo_fp(_fts5AsciiDelete), @@ -217146,7 +218917,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 2: { - FzName: __ccgo_ts + 39110, + FzName: __ccgo_ts + 39256, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5PorterCreate), FxDelete: __ccgo_fp(_fts5PorterDelete), @@ -217154,7 +218925,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 3: { - FzName: __ccgo_ts + 39117, + FzName: __ccgo_ts + 39263, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5TriCreate), FxDelete: __ccgo_fp(_fts5TriDelete), @@ -222688,16 +224459,16 @@ func _fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uin zCopy = _sqlite3Fts5Strndup(tls, bp, zType, -int32(1)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { _sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39125) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39271) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39129) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39275) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_ROW) } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39133) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39279) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_INSTANCE) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39142, libc.VaList(bp+16, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39288, libc.VaList(bp+16, zCopy)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -222766,15 +224537,15 @@ func _fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg var _ /* rc at bp+0 */ int32 _, _, _, _, _, _, _, _, _, _, _, _ = azSchema, bDb, nByte, nDb, nTab, pRet, zDb, zTab, zType, v1, v2, v3 azSchema = [3]uintptr{ - 0: __ccgo_ts + 39176, - 1: __ccgo_ts + 39216, - 2: __ccgo_ts + 39251, + 0: __ccgo_ts + 39322, + 1: __ccgo_ts + 39362, + 2: __ccgo_ts + 39397, } pRet = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23744, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) + bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23867, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) if argc != int32(5) && bDb == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39294, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39440, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bDb != 0 { @@ -222944,10 +224715,10 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) zSql = uintptr(0) if (*TFts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39327, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39473, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return int32(SQLITE_ERROR) } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39358, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39504, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, (*TFts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), bp+8, uintptr(0)) } @@ -222966,7 +224737,7 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39409, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39555, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } else { @@ -223268,7 +225039,7 @@ func _fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnuse if pLe != 0 { zCopy = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = __ccgo_ts + 1650 + zCopy = __ccgo_ts + 1664 } (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm+int32(1)) @@ -223392,7 +225163,7 @@ func _sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) (r int32) var p uintptr _ = p p = pGlobal - return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39435, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39581, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) } var _fts5Vocab = Tsqlite3_module{ @@ -223445,7 +225216,7 @@ func init() { // /************** End of stmt.c ************************************************/ // /* Return the source-id for this library */ func Xsqlite3_sourceid(tls *libc.TLS) (r uintptr) { - return __ccgo_ts + 39445 + return __ccgo_ts + 39591 } type TAggInfo_col = struct { @@ -223727,11 +225498,11 @@ var Xsqlite3_temp_directory uintptr // ** // ** See also: [sqlite_version()] and [sqlite_source_id()]. // */ -var Xsqlite3_version = [7]int8{'3', '.', '4', '5', '.', '3'} +var Xsqlite3_version = [7]int8{'3', '.', '4', '6', '.', '0'} var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data -var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-16.0.6\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%04d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00PRAGMA \"%w\".integrity_check(%Q)\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00RIGHT PART OF \x00USE TEMP B-TREE FOR %sORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00" +var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-16.0.6\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00" type Sqlite3_int64 = sqlite3_int64 type Sqlite3_mutex_methods = sqlite3_mutex_methods diff --git a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm64.go b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm64.go index a45a4416ad..ce9ed9ccbd 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm64.go @@ -1,4 +1,4 @@ -// Code generated for freebsd/arm64 by 'generator --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -extended-errors -o sqlite3.go sqlite3.c -I/tmp/libsqlite3/sqlite-amalgamation-3450300/ccgo -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -ltcl8.6 -eval-all-macros', DO NOT EDIT. +// Code generated for freebsd/arm64 by 'generator --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libz/include/freebsd/arm64 -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libtcl8.6/include/freebsd/arm64 -extended-errors -o sqlite3.go sqlite3.c -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -ltcl8.6 -eval-all-macros', DO NOT EDIT. //go:build freebsd && arm64 // +build freebsd,arm64 @@ -845,6 +845,7 @@ const OPFLG_IN1 = 2 const OPFLG_IN2 = 4 const OPFLG_IN3 = 8 const OPFLG_JUMP = 1 +const OPFLG_JUMP0 = 128 const OPFLG_NCYCLE = 64 const OPFLG_OUT2 = 16 const OPFLG_OUT3 = 32 @@ -922,7 +923,7 @@ const OP_IfNotOpen = 25 const OP_IfNotZero = 60 const OP_IfNullRow = 20 const OP_IfPos = 59 -const OP_IfSmaller = 33 +const OP_IfSizeBetween = 33 const OP_IncrVacuum = 62 const OP_Init = 8 const OP_InitCoroutine = 11 @@ -1352,6 +1353,7 @@ const SF_ComplexResult = 262144 const SF_Compound = 256 const SF_Converted = 65536 const SF_CopyCte = 67108864 +const SF_Correlated = 536870912 const SF_Distinct = 1 const SF_Expanded = 64 const SF_FixedLimit = 16384 @@ -1575,6 +1577,7 @@ const SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT = -1 const SQLITE_DEFAULT_LOOKASIDE = 40 const SQLITE_DEFAULT_MEMSTATUS = 0 const SQLITE_DEFAULT_MMAP_SIZE = 0 +const SQLITE_DEFAULT_OPTIMIZE_LIMIT = 2000 const SQLITE_DEFAULT_PAGE_SIZE = 4096 const SQLITE_DEFAULT_PCACHE_INITSZ = 20 const SQLITE_DEFAULT_PROXYDIR_PERMISSIONS = 493 @@ -1592,6 +1595,7 @@ const SQLITE_DESERIALIZE_READONLY = 4 const SQLITE_DESERIALIZE_RESIZEABLE = 2 const SQLITE_DETACH = 25 const SQLITE_DETERMINISTIC = 2048 +const SQLITE_DIGIT_SEPARATOR = 95 const SQLITE_DIRECTONLY = 524288 const SQLITE_DIRECT_OVERFLOW_READ = 1 const SQLITE_DONE = 101 @@ -2016,7 +2020,7 @@ const SQLITE_SHM_SHARED = 4 const SQLITE_SHM_UNLOCK = 1 const SQLITE_SORTER_PMASZ = 250 const SQLITE_SOUNDEX = 1 -const SQLITE_SOURCE_ID = "2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355" +const SQLITE_SOURCE_ID = "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e" const SQLITE_SO_ASC = 0 const SQLITE_SO_DESC = 1 const SQLITE_SO_UNDEFINED = -1 @@ -2124,8 +2128,8 @@ const SQLITE_UTF16LE = 2 const SQLITE_UTF16NATIVE = 2 const SQLITE_UTF16_ALIGNED = 8 const SQLITE_UTF8 = 1 -const SQLITE_VERSION = "3.45.3" -const SQLITE_VERSION_NUMBER = 3045003 +const SQLITE_VERSION = "3.46.0" +const SQLITE_VERSION_NUMBER = 3046000 const SQLITE_VTABRISK_High = 2 const SQLITE_VTABRISK_Low = 0 const SQLITE_VTABRISK_Normal = 1 @@ -2223,11 +2227,11 @@ const TF_HasStat1 = 16 const TF_HasStat4 = 8192 const TF_HasStored = 64 const TF_HasVirtual = 32 +const TF_MaybeReanalyze = 256 const TF_NoVisibleRowid = 512 const TF_OOOHidden = 1024 const TF_Readonly = 1 const TF_Shadow = 4096 -const TF_StatsUsed = 256 const TF_Strict = 65536 const TF_WithoutRowid = 128 const TIMER_ABSTIME = 1 @@ -2335,7 +2339,7 @@ const TK_ID = 59 const TK_IF = 18 const TK_IF_NULL_ROW = 179 const TK_IGNORE = 63 -const TK_ILLEGAL = 184 +const TK_ILLEGAL = 185 const TK_IMMEDIATE = 8 const TK_IN = 49 const TK_INDEX = 161 @@ -2383,6 +2387,7 @@ const TK_PRAGMA = 70 const TK_PRECEDING = 88 const TK_PRIMARY = 122 const TK_PTR = 112 +const TK_QNUMBER = 183 const TK_QUERY = 3 const TK_RAISE = 71 const TK_RANGE = 89 @@ -2407,7 +2412,7 @@ const TK_SELECT_COLUMN = 178 const TK_SEMI = 1 const TK_SET = 130 const TK_SLASH = 109 -const TK_SPACE = 183 +const TK_SPACE = 184 const TK_SPAN = 181 const TK_STAR = 108 const TK_STRING = 117 @@ -2420,12 +2425,12 @@ const TK_TRANSACTION = 6 const TK_TRIGGER = 77 const TK_TRUEFALSE = 170 const TK_TRUTH = 175 -const TK_UMINUS = 173 +const TK_UMINUS = 174 const TK_UNBOUNDED = 90 const TK_UNION = 134 const TK_UNIQUE = 123 const TK_UPDATE = 129 -const TK_UPLUS = 174 +const TK_UPLUS = 173 const TK_USING = 144 const TK_VACUUM = 78 const TK_VALUES = 139 @@ -2583,31 +2588,37 @@ const W_OK = 2 const XN_EXPR = -2 const XN_ROWID = -1 const X_OK = 1 +const YYDYNSTACK = 1 const YYFALLBACK = 1 +const YYFREE = 0 +const YYGROWABLESTACK = 1 const YYMALLOCARGTYPE = 0 -const YYNOCODE = 319 +const YYNOCODE = 322 const YYNOERRORRECOVERY = 1 -const YYNRULE = 405 -const YYNRULE_WITH_ACTION = 340 -const YYNSTATE = 579 -const YYNTOKEN = 185 +const YYNRULE = 409 +const YYNRULE_WITH_ACTION = 344 +const YYNSTATE = 583 +const YYNTOKEN = 186 const YYPARSEFREENEVERNULL = 1 +const YYREALLOC = 0 const YYSTACKDEPTH = 100 const YYWILDCARD = 101 -const YY_ACCEPT_ACTION = 1244 -const YY_ACTTAB_COUNT = 2100 -const YY_ERROR_ACTION = 1243 -const YY_MAX_REDUCE = 1650 -const YY_MAX_SHIFT = 578 -const YY_MAX_SHIFTREDUCE = 1242 -const YY_MIN_REDUCE = 1246 -const YY_MIN_SHIFTREDUCE = 838 -const YY_NO_ACTION = 1245 -const YY_REDUCE_COUNT = 410 -const YY_REDUCE_MAX = 1753 -const YY_REDUCE_MIN = -271 -const YY_SHIFT_COUNT = 578 -const YY_SHIFT_MAX = 2088 +const YY_ACCEPT_ACTION = 1255 +const YY_ACTTAB_COUNT = 2142 +const YY_ERROR_ACTION = 1254 +const YY_MAX_DSTRCTR = 319 +const YY_MAX_REDUCE = 1665 +const YY_MAX_SHIFT = 582 +const YY_MAX_SHIFTREDUCE = 1253 +const YY_MIN_DSTRCTR = 205 +const YY_MIN_REDUCE = 1257 +const YY_MIN_SHIFTREDUCE = 845 +const YY_NO_ACTION = 1256 +const YY_REDUCE_COUNT = 411 +const YY_REDUCE_MAX = 1798 +const YY_REDUCE_MIN = -275 +const YY_SHIFT_COUNT = 582 +const YY_SHIFT_MAX = 2128 const YY_SHIFT_MIN = 0 const _BYTE_ORDER = 1234 const _CS_PATH = 1 @@ -3318,6 +3329,9 @@ const fds_bits = 0 const first_valueInvFunc = 0 const first_valueValueFunc = 0 const fts5GetVarint = 0 +const fts5YYDYNSTACK = 0 +const fts5YYFREE = 0 +const fts5YYGROWABLESTACK = 0 const fts5YYMALLOCARGTYPE = 0 const fts5YYNFTS5TOKEN = 16 const fts5YYNOCODE = 27 @@ -3326,13 +3340,16 @@ const fts5YYNRULE = 28 const fts5YYNRULE_WITH_ACTION = 28 const fts5YYNSTATE = 35 const fts5YYPARSEFREENOTNULL = 1 +const fts5YYREALLOC = 0 const fts5YYSTACKDEPTH = 100 const fts5YY_ACCEPT_ACTION = 81 const fts5YY_ACTTAB_COUNT = 105 const fts5YY_ERROR_ACTION = 80 +const fts5YY_MAX_DSTRCTR = 24 const fts5YY_MAX_REDUCE = 110 const fts5YY_MAX_SHIFT = 34 const fts5YY_MAX_SHIFTREDUCE = 79 +const fts5YY_MIN_DSTRCTR = 16 const fts5YY_MIN_REDUCE = 83 const fts5YY_MIN_SHIFTREDUCE = 52 const fts5YY_NO_ACTION = 82 @@ -3943,11 +3960,11 @@ type sqlite3_file1 = Tsqlite3_file1 // ** // ** xLock() upgrades the database file lock. In other words, xLock() moves the // ** database file lock in the direction NONE toward EXCLUSIVE. The argument to -// ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never +// ** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never // ** SQLITE_LOCK_NONE. If the database file lock is already at or above the // ** requested lock, then the call to xLock() is a no-op. // ** xUnlock() downgrades the database file lock to either SHARED or NONE. -// * If the lock is already at or below the requested lock state, then the call +// ** If the lock is already at or below the requested lock state, then the call // ** to xUnlock() is a no-op. // ** The xCheckReservedLock() method checks whether any database connection, // ** either in this process or in some other process, is holding a RESERVED, @@ -5727,6 +5744,7 @@ type Tsqlite3_changegroup = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -6053,8 +6071,8 @@ type Fts5PhraseIter1 = TFts5PhraseIter1 ** EXTENSION API FUNCTIONS ** ** xUserData(pFts): -** Return a copy of the context pointer the extension function was -** registered with. +** Return a copy of the pUserData pointer passed to the xCreateFunction() +** API when the extension function was registered. ** ** xColumnTotalSize(pFts, iCol, pnToken): ** If parameter iCol is less than zero, set output variable *pnToken @@ -7212,7 +7230,7 @@ type uptr = Tuptr ** 0x00000010 Display sqlite3_index_info xBestIndex calls ** 0x00000020 Range an equality scan metrics ** 0x00000040 IN operator decisions -** 0x00000080 WhereLoop cost adjustements +** 0x00000080 WhereLoop cost adjustments ** 0x00000100 ** 0x00000200 Covering index decisions ** 0x00000400 OR optimization @@ -7724,6 +7742,7 @@ type TParse = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -7943,6 +7962,7 @@ type TSrcItem = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -10219,10 +10239,12 @@ type IdList1 = TIdList1 ** ** Union member validity: ** -** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc -** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy -** u2.pIBIndex fg.isIndexedBy && !fg.isCte -** u2.pCteUse fg.isCte && !fg.isIndexedBy +** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc +** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy +** u1.nRow !fg.isTabFunc && !fg.isIndexedBy +** +** u2.pIBIndex fg.isIndexedBy && !fg.isCte +** u2.pCteUse fg.isCte && !fg.isIndexedBy */ type TSrcItem1 = struct { FpSchema uintptr @@ -10248,6 +10270,7 @@ type TSrcItem1 = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -10651,6 +10674,7 @@ type TParse1 = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -12013,12 +12037,12 @@ var _sqlite3WhereTrace = uint32(0) var _sqlite3OpcodeProperty = [190]uint8{ 4: uint8(0x10), 6: uint8(0x41), - 8: uint8(0x01), + 8: uint8(0x81), 9: uint8(0x01), 10: uint8(0x01), - 11: uint8(0x01), - 12: uint8(0x03), - 13: uint8(0x03), + 11: uint8(0x81), + 12: uint8(0x83), + 13: uint8(0x83), 14: uint8(0x01), 15: uint8(0x01), 16: uint8(0x03), @@ -12026,22 +12050,22 @@ var _sqlite3OpcodeProperty = [190]uint8{ 18: uint8(0x01), 19: uint8(0x12), 20: uint8(0x01), - 21: uint8(0x49), - 22: uint8(0x49), - 23: uint8(0x49), - 24: uint8(0x49), + 21: uint8(0xc9), + 22: uint8(0xc9), + 23: uint8(0xc9), + 24: uint8(0xc9), 25: uint8(0x01), 26: uint8(0x49), 27: uint8(0x49), 28: uint8(0x49), 29: uint8(0x49), - 30: uint8(0x49), + 30: uint8(0xc9), 31: uint8(0x49), - 32: uint8(0x41), + 32: uint8(0xc1), 33: uint8(0x01), 34: uint8(0x41), 35: uint8(0x41), - 36: uint8(0x41), + 36: uint8(0xc1), 37: uint8(0x01), 38: uint8(0x41), 39: uint8(0x41), @@ -12053,7 +12077,7 @@ var _sqlite3OpcodeProperty = [190]uint8{ 45: uint8(0x41), 46: uint8(0x23), 47: uint8(0x0b), - 48: uint8(0x01), + 48: uint8(0x81), 49: uint8(0x01), 50: uint8(0x03), 51: uint8(0x03), @@ -12908,7 +12932,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin var pMutex, v1 uintptr _, _ = pMutex, v1 if op < 0 || op >= int32(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) { - return _sqlite3MisuseError(tls, int32(23890)) + return _sqlite3MisuseError(tls, int32(23961)) } if _statMutex[op] != 0 { v1 = _sqlite3Pcache1Mutex(tls) @@ -13256,43 +13280,37 @@ type tm = Ttm // ** A structure for holding a single date and time. // */ type TDateTime = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD uint8 - FrawS uint8 - FvalidYMD uint8 - FvalidHMS uint8 - FvalidTZ uint8 - FtzSet uint8 - FisError uint8 - FuseSubsec uint8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD uint8 + FvalidYMD uint8 + FvalidHMS uint8 + FnFloor uint8 + F__ccgo44 uint8 } type DateTime = TDateTime type TDateTime1 = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD uint8 - FrawS uint8 - FvalidYMD uint8 - FvalidHMS uint8 - FvalidTZ uint8 - FtzSet uint8 - FisError uint8 - FuseSubsec uint8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD uint8 + FvalidYMD uint8 + FvalidHMS uint8 + FnFloor uint8 + F__ccgo44 uint8 } type DateTime1 = TDateTime1 @@ -13418,6 +13436,8 @@ func _parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { } else { if c == int32('Z') || c == int32('z') { zDate++ + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) goto zulu_time } else { return libc.BoolInt32(c != 0) @@ -13436,7 +13456,6 @@ zulu_time: for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(zDate))])&int32(0x01) != 0 { zDate++ } - (*TDateTime)(unsafe.Pointer(p)).FtzSet = uint8(1) return libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zDate))) != 0) } @@ -13453,11 +13472,10 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var ms, rScale float64 - var v1 int32 var _ /* h at bp+0 */ int32 var _ /* m at bp+4 */ int32 var _ /* s at bp+8 */ int32 - _, _, _ = ms, rScale, v1 + _, _ = ms, rScale ms = float64(0) if _getDigits(tls, zDate, __ccgo_ts+1164, libc.VaList(bp+24, bp, bp+4)) != int32(2) { return int32(1) @@ -13483,7 +13501,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { *(*int32)(unsafe.Pointer(bp + 8)) = 0 } (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) (*TDateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp)) (*TDateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 4)) @@ -13491,12 +13509,6 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { if _parseTimezone(tls, zDate, p) != 0 { return int32(1) } - if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { - v1 = int32(1) - } else { - v1 = 0 - } - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(v1) return 0 } @@ -13507,7 +13519,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { // */ func _datetimeError(tls *libc.TLS, p uintptr) { libc.Xmemset(tls, p, 0, uint64(48)) - (*TDateTime)(unsafe.Pointer(p)).FisError = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 1, 0x2) } // C documentation @@ -13533,7 +13545,7 @@ func _computeJD(tls *libc.TLS, p uintptr) { M = int32(1) D = int32(1) } - if Y < -int32(4713) || Y > int32(9999) || (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Y < -int32(4713) || Y > int32(9999) || int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { _datetimeError(tls, p) return } @@ -13549,11 +13561,41 @@ func _computeJD(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) if (*TDateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) += int64((*TDateTime)(unsafe.Pointer(p)).Fh*int32(3600000)+(*TDateTime)(unsafe.Pointer(p)).Fm*int32(60000)) + int64((*TDateTime)(unsafe.Pointer(p)).Fs*libc.Float64FromInt32(1000)+libc.Float64FromFloat64(0.5)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64((*TDateTime)(unsafe.Pointer(p)).Ftz * int32(60000)) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + } + } +} + +// C documentation +// +// /* +// ** Given the YYYY-MM-DD information current in p, determine if there +// ** is day-of-month overflow and set nFloor to the number of days that +// ** would need to be subtracted from the date in order to bring the +// ** date back to the end of the month. +// */ +func _computeFloor(tls *libc.TLS, p uintptr) { + if (*TDateTime)(unsafe.Pointer(p)).FD <= int32(28) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } else { + if int32(1)<<(*TDateTime)(unsafe.Pointer(p)).FM&int32(0x15aa) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FM != int32(2) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = libc.BoolUint8((*TDateTime)(unsafe.Pointer(p)).FD == libc.Int32FromInt32(31)) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FY%int32(4) != 0 || (*TDateTime)(unsafe.Pointer(p)).FY%int32(100) == 0 && (*TDateTime)(unsafe.Pointer(p)).FY%int32(400) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8((*TDateTime)(unsafe.Pointer(p)).FD - int32(28)) + } else { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8((*TDateTime)(unsafe.Pointer(p)).FD - int32(29)) + } + } } } } @@ -13612,12 +13654,15 @@ func _parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FY = v1 (*TDateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 4)) (*TDateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 8)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + _computeFloor(tls, p) + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { _computeJD(tls, p) } return 0 } +/* Forward declaration */ + // C documentation // // /* @@ -13629,6 +13674,9 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) (*TDateTime)(unsafe.Pointer(p)).FiJD = _sqlite3StmtCurrentTime(tls, context) if (*TDateTime)(unsafe.Pointer(p)).FiJD > 0 { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + _clearYMD_HMS_TZ(tls, p) return 0 } else { return int32(1) @@ -13646,7 +13694,7 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) // */ func _setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { (*TDateTime)(unsafe.Pointer(p)).Fs = r - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 0, 0x1) if r >= float64(0) && r < float64(5.3734845e+06) { (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r*libc.Float64FromFloat64(8.64e+07) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) @@ -13689,7 +13737,7 @@ func _parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) return 0 } else { if (_sqlite3StrICmp(tls, zDate, __ccgo_ts+1192) == 0 || _sqlite3StrICmp(tls, zDate, __ccgo_ts+1199) == 0) && _sqlite3NotPureFunc(tls, context) != 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) return _setDateTimeToCurrent(tls, context, p) } } @@ -13781,7 +13829,7 @@ func _computeHMS(tls *libc.TLS, p uintptr) { day_min = day_ms / int32(60000) (*TDateTime)(unsafe.Pointer(p)).Fm = day_min % int32(60) (*TDateTime)(unsafe.Pointer(p)).Fh = day_min / int32(60) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) } @@ -13803,7 +13851,7 @@ func _computeYMD_HMS(tls *libc.TLS, p uintptr) { func _clearYMD_HMS_TZ(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 } /* @@ -13904,9 +13952,9 @@ func _toLocaltime(tls *libc.TLS, p uintptr, pCtx uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FisError = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 1, 0x2) return SQLITE_OK } @@ -13954,13 +14002,13 @@ var _aXformType = [6]struct { FnName: uint8(5), FzName: [7]uint8{'m', 'o', 'n', 't', 'h'}, FrLimit: float32(176546), - FrXform: float32(2.592e+06), + FrXform: float32(libc.Float64FromFloat64(30) * libc.Float64FromFloat64(86400)), }, 5: { FnName: uint8(4), FzName: [7]uint8{'y', 'e', 'a', 'r'}, FrLimit: float32(14713), - FrXform: float32(3.1536e+07), + FrXform: float32(libc.Float64FromFloat64(365) * libc.Float64FromFloat64(86400)), }, } @@ -13974,15 +14022,15 @@ var _aXformType = [6]struct { func _autoAdjustDate(tls *libc.TLS, p uintptr) { var r float64 _ = r - if !((*TDateTime)(unsafe.Pointer(p)).FrawS != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + if !(int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } else { if (*TDateTime)(unsafe.Pointer(p)).Fs >= float64(int64(-libc.Int32FromInt32(21086676))*libc.Int64FromInt32(10000)) && (*TDateTime)(unsafe.Pointer(p)).Fs <= float64(libc.Int64FromInt32(25340230)*libc.Int64FromInt32(10000)+libc.Int64FromInt32(799)) { r = (*TDateTime)(unsafe.Pointer(p)).Fs*float64(1000) + float64(2.1086676e+14) _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } } @@ -13999,14 +14047,20 @@ func _autoAdjustDate(tls *libc.TLS, p uintptr) { // ** NNN.NNNN seconds // ** NNN months // ** NNN years +// ** +/-YYYY-MM-DD HH:MM:SS.SSS +// ** ceiling +// ** floor // ** start of month // ** start of year // ** start of week // ** start of day // ** weekday N // ** unixepoch +// ** auto // ** localtime // ** utc +// ** subsec +// ** subsecond // ** // ** Return 0 on success and 1 if there is any kind of error. If the error // ** is in a system call (i.e. localtime()), then an error message is written @@ -14017,12 +14071,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, bp := tls.Alloc(160) defer tls.Free(160) var Z, day Tsqlite3_int64 - var cnt, i, rc, x, y, v12, v2, v5, v7, v9 int32 - var iErr, iGuess, iOrigJD, v1 Ti64 - var rRounder, v10 float64 + var cnt, i, rc, x, y, v1, v10, v13, v3, v6, v8 int32 + var iErr, iGuess, iOrigJD, v2 Ti64 + var rRounder, v11 float64 var z0 uint8 var z2 uintptr - var v3, v6 bool + var v4, v7 bool var _ /* D at bp+64 */ int32 var _ /* M at bp+60 */ int32 var _ /* Y at bp+56 */ int32 @@ -14031,7 +14085,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, var _ /* new at bp+8 */ TDateTime var _ /* r at bp+0 */ float64 var _ /* tx at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v12, v2, v3, v5, v6, v7, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v11, v13, v2, v3, v4, v6, v7, v8 rc = int32(1) switch int32(_sqlite3UpperToLower[*(*uint8)(unsafe.Pointer(z))]) { case int32('a'): @@ -14048,6 +14102,33 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _autoAdjustDate(tls, p) rc = 0 } + case int32('c'): + /* + ** ceiling + ** + ** Resolve day-of-month overflow by rolling forward into the next + ** month. As this is the default action, this modifier is really + ** a no-op that is only included for symmetry. See "floor". + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1237) == 0 { + _computeJD(tls, p) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } + case int32('f'): + /* + ** floor + ** + ** Resolve day-of-month overflow by rolling back to the end of the + ** previous month. + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1245) == 0 { + _computeJD(tls, p) + *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64(int32((*TDateTime)(unsafe.Pointer(p)).FnFloor) * int32(86400000)) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + } case int32('j'): /* ** julianday @@ -14057,13 +14138,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** value in the allowed range of julian day numbers understood by ** SQLite (0..5373484.5) then the result will be NULL. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1237) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1251) == 0 { if idx > int32(1) { return int32(1) } /* IMP: R-31176-64601 */ - if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { rc = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } case int32('l'): @@ -14072,8 +14153,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Assuming the current time value is UTC (a.k.a. GMT), shift it to ** show local time. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1247) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - rc = _toLocaltime(tls, p, pCtx) + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1261) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x10>>4)) != 0 { + v1 = SQLITE_OK + } else { + v1 = _toLocaltime(tls, p, pCtx) + } + rc = v1 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 4, 0x10) } case int32('u'): /* @@ -14082,7 +14170,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Treat the current value of p->s as the number of ** seconds since 1970. Convert to a real julian day number. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1257) == 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1271) == 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { if idx > int32(1) { return int32(1) } /* IMP: R-49255-55373 */ @@ -14091,17 +14179,17 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(*(*float64)(unsafe.Pointer(bp)) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) rc = 0 } } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1267) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - if int32((*TDateTime)(unsafe.Pointer(p)).FtzSet) == 0 { /* Guess at the corresponding utc time */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1281) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x8>>3)) == 0 { /* Guess at the corresponding utc time */ cnt = 0 /* Guess is off by this much */ _computeJD(tls, p) - v1 = (*TDateTime)(unsafe.Pointer(p)).FiJD - iOrigJD = v1 - iGuess = v1 + v2 = (*TDateTime)(unsafe.Pointer(p)).FiJD + iOrigJD = v2 + iGuess = v2 iErr = 0 for { libc.Xmemset(tls, bp+8, 0, uint64(48)) @@ -14114,21 +14202,22 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, bp+8) iErr = (*(*TDateTime)(unsafe.Pointer(bp + 8))).FiJD - iOrigJD - goto _4 - _4: + goto _5 + _5: ; - if v3 = iErr != 0; v3 { - v2 = cnt + if v4 = iErr != 0; v4 { + v3 = cnt cnt++ } - if !(v3 && v2 < int32(3)) { + if !(v4 && v3 < int32(3)) { break } } libc.Xmemset(tls, p, 0, uint64(48)) (*TDateTime)(unsafe.Pointer(p)).FiJD = iGuess (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FtzSet = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) } rc = SQLITE_OK } @@ -14141,13 +14230,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** weekday N where 0==Sunday, 1==Monday, and so forth. If the ** date is already on the appropriate weekday, this is a no-op. */ - if v6 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1271, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v6 { - v5 = int32(*(*float64)(unsafe.Pointer(bp))) - n = v5 + if v7 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1285, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v7 { + v6 = int32(*(*float64)(unsafe.Pointer(bp))) + n = v6 } - if v6 && float64(v5) == *(*float64)(unsafe.Pointer(bp)) { + if v7 && float64(v6) == *(*float64)(unsafe.Pointer(bp)) { _computeYMD_HMS(tls, p) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) _computeJD(tls, p) Z = ((*TDateTime)(unsafe.Pointer(p)).FiJD + int64(129600000)) / int64(86400000) % int64(7) @@ -14171,9 +14260,9 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Show subsecond precision in the output of datetime() and ** unixepoch() and strftime('%s'). */ - if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1280, int32(9)) != 0 { + if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1294, int32(9)) != 0 { if Xsqlite3_stricmp(tls, z, __ccgo_ts+1192) == 0 || Xsqlite3_stricmp(tls, z, __ccgo_ts+1199) == 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) rc = 0 } break @@ -14184,23 +14273,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z += uintptr(9) _computeYMD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) - v7 = libc.Int32FromInt32(0) - (*TDateTime)(unsafe.Pointer(p)).Fm = v7 - (*TDateTime)(unsafe.Pointer(p)).Fh = v7 + v8 = libc.Int32FromInt32(0) + (*TDateTime)(unsafe.Pointer(p)).Fm = v8 + (*TDateTime)(unsafe.Pointer(p)).Fh = v8 (*TDateTime)(unsafe.Pointer(p)).Fs = float64(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1290) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1304) == 0 { (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1296) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1310) == 0 { (*TDateTime)(unsafe.Pointer(p)).FM = int32(1) (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1301) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1315) == 0 { rc = 0 } } @@ -14242,15 +14331,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == int32('-') { - if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1305, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1319, libc.VaList(bp+136, bp+56)) == int32(1) { break } - if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1309, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1323, libc.VaList(bp+136, bp+56)) == int32(1) { break } } - goto _8 - _8: + goto _9 + _9: ; n++ } @@ -14266,11 +14355,11 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } /* Must start with +/- */ if n == int32(5) { - if _getDigits(tls, z+1, __ccgo_ts+1313, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1327, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } } else { - if _getDigits(tls, z+1, __ccgo_ts+1325, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1339, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } z++ @@ -14292,13 +14381,14 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, *(*int32)(unsafe.Pointer(p + 12)) += *(*int32)(unsafe.Pointer(bp + 60)) } if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v9 + x = v10 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) _computeJD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) @@ -14342,7 +14432,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z++ } n = _sqlite3Strlen30(tls, z) - if n > int32(10) || n < int32(3) { + if n < int32(3) || n > int32(10) { break } if int32(_sqlite3UpperToLower[*(*uint8)(unsafe.Pointer(z + uintptr(n-int32(1))))]) == int32('s') { @@ -14350,11 +14440,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, p) if *(*float64)(unsafe.Pointer(bp)) < libc.Float64FromInt32(0) { - v10 = -libc.Float64FromFloat64(0.5) + v11 = -libc.Float64FromFloat64(0.5) } else { - v10 = +libc.Float64FromFloat64(0.5) + v11 = +libc.Float64FromFloat64(0.5) } - rRounder = v10 + rRounder = v11 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) i = 0 for { if !(i < int32(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) { @@ -14366,19 +14457,21 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 12)) += int32(*(*float64)(unsafe.Pointer(bp))) if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v12 + x = v13 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) case int32(5): /* Special processing to add years */ y = int32(*(*float64)(unsafe.Pointer(bp))) _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 8)) += y + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) break @@ -14388,8 +14481,8 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, rc = 0 break } - goto _11 - _11: + goto _12 + _12: ; i++ } @@ -14448,7 +14541,7 @@ func _isDate(tls *libc.TLS, context uintptr, argc int32, argv uintptr, p uintptr i++ } _computeJD(tls, p) - if (*TDateTime)(unsafe.Pointer(p)).FisError != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x2>>1)) != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { return int32(1) } if argc == int32(1) && (*TDateTime)(unsafe.Pointer(p)).FvalidYMD != 0 && (*TDateTime)(unsafe.Pointer(p)).FD > int32(28) { @@ -14495,7 +14588,7 @@ func _unixepochFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _ /* x at bp+0 */ TDateTime if _isDate(tls, context, argc, argv, bp) == 0 { _computeJD(tls, bp) - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { Xsqlite3_result_double(tls, context, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000)) } else { Xsqlite3_result_int64(tls, context, (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/int64(1000)-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000)) @@ -14540,7 +14633,7 @@ func _datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(15)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(16)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(17)] = uint8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(18)] = uint8(int32('0') + s/int32(10000)%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(19)] = uint8(int32('0') + s/int32(1000)%int32(10)) @@ -14588,7 +14681,7 @@ func _timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(3)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(4)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(5)] = uint8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(6)] = uint8(int32('0') + s/int32(10000)%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(7)] = uint8(int32('0') + s/int32(1000)%int32(10)) @@ -14649,6 +14742,57 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } +// C documentation +// +// /* +// ** Compute the number of days after the most recent January 1. +// ** +// ** In other words, compute the zero-based day number for the +// ** current year: +// ** +// ** Jan01 = 0, Jan02 = 1, ..., Jan31 = 30, Feb01 = 31, ... +// ** Dec31 = 364 or 365. +// */ +func _daysAfterJan01(tls *libc.TLS, pDate uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* jan01 at bp+0 */ TDateTime + *(*TDateTime)(unsafe.Pointer(bp)) = *(*TDateTime)(unsafe.Pointer(pDate)) + (*(*TDateTime)(unsafe.Pointer(bp))).FvalidJD = uint8(0) + (*(*TDateTime)(unsafe.Pointer(bp))).FM = int32(1) + (*(*TDateTime)(unsafe.Pointer(bp))).FD = int32(1) + _computeJD(tls, bp) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD - (*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Monday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Monday, 1=Tuesday, 2=Wednesday, ..., 6=Sunday. +// */ +func _daysAfterMonday(tls *libc.TLS, pDate uintptr) (r int32) { + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(43200000))/libc.Int64FromInt32(86400000)) % int32(7) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Sunday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Sunday, 1=Monday, 2=Tues, ..., 6=Saturday +// */ +func _daysAfterSunday(tls *libc.TLS, pDate uintptr) (r int32) { + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)) % int32(7) +} + // C documentation // // /* @@ -14656,33 +14800,48 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // ** // ** Return a string described by FORMAT. Conversions as follows: // ** -// ** %d day of month +// ** %d day of month 01-31 +// ** %e day of month 1-31 // ** %f ** fractional seconds SS.SSS +// ** %F ISO date. YYYY-MM-DD +// ** %G ISO year corresponding to %V 0000-9999. +// ** %g 2-digit ISO year corresponding to %V 00-99 // ** %H hour 00-24 -// ** %j day of year 000-366 +// ** %k hour 0-24 (leading zero converted to space) +// ** %I hour 01-12 +// ** %j day of year 001-366 // ** %J ** julian day number +// ** %l hour 1-12 (leading zero converted to space) // ** %m month 01-12 // ** %M minute 00-59 +// ** %p "am" or "pm" +// ** %P "AM" or "PM" +// ** %R time as HH:MM // ** %s seconds since 1970-01-01 // ** %S seconds 00-59 -// ** %w day of week 0-6 Sunday==0 -// ** %W week of year 00-53 +// ** %T time as HH:MM:SS +// ** %u day of week 1-7 Monday==1, Sunday==7 +// ** %w day of week 0-6 Sunday==0, Monday==1 +// ** %U week of year 00-53 (First Sunday is start of week 01) +// ** %V week of year 01-53 (First week containing Thursday is week 01) +// ** %W week of year 00-53 (First Monday is start of week 01) // ** %Y year 0000-9999 // ** %% % // */ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(208) + defer tls.Free(208) var c, cf uint8 var db, zFmt, v3, v4, v5, v6, v7 uintptr - var h, nDay, wd int32 + var h int32 var i, j, v2 Tsize_t var iS Ti64 var s float64 var _ /* sRes at bp+48 */ Tsqlite3_str var _ /* x at bp+0 */ TDateTime + var _ /* y at bp+128 */ TDateTime var _ /* y at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, nDay, s, wd, zFmt, v2, v3, v4, v5, v6, v7 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, s, zFmt, v2, v3, v4, v5, v6, v7 if argc == 0 { return } @@ -14715,28 +14874,41 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { fallthrough case int32('e'): if int32(cf) == int32('d') { - v3 = __ccgo_ts + 1337 + v3 = __ccgo_ts + 1351 } else { - v3 = __ccgo_ts + 1342 + v3 = __ccgo_ts + 1356 } - Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) - case int32('f'): + Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('f'): /* Fractional seconds. (Non-standard) */ s = (*(*TDateTime)(unsafe.Pointer(bp))).Fs if s > float64(59.999) { s = float64(59.999) } - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1346, libc.VaList(bp+136, s)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1360, libc.VaList(bp+184, s)) case int32('F'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1353, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1367, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('G'): /* Fall thru */ + fallthrough + case int32('g'): + *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Move y so that it is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidYMD = uint8(0) + _computeYMD(tls, bp+80) + if int32(cf) == int32('g') { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY%int32(100))) + } else { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1382, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY)) + } case int32('H'): fallthrough case int32('k'): if int32(cf) == int32('H') { - v4 = __ccgo_ts + 1337 + v4 = __ccgo_ts + 1351 } else { - v4 = __ccgo_ts + 1342 + v4 = __ccgo_ts + 1356 } - Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) + Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) case int32('I'): /* Fall thru */ fallthrough case int32('l'): @@ -14748,73 +14920,71 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { h = int32(12) } if int32(cf) == int32('I') { - v5 = __ccgo_ts + 1337 + v5 = __ccgo_ts + 1351 } else { - v5 = __ccgo_ts + 1342 + v5 = __ccgo_ts + 1356 } - Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+136, h)) - case int32('W'): /* Fall thru */ - fallthrough - case int32('j'): /* Number of days since 1st day of year */ - *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidJD = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FM = int32(1) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FD = int32(1) - _computeJD(tls, bp+80) - nDay = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) - if int32(cf) == int32('W') { /* 0=Monday, 1=Tuesday, ... 6=Sunday */ - wd = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000) % libc.Int64FromInt32(7)) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, (nDay+int32(7)-wd)/int32(7))) - } else { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1368, libc.VaList(bp+136, nDay+int32(1))) - } - case int32('J'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1373, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) + Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+184, h)) + case int32('j'): /* Day of year. Jan01==1, Jan02==2, and so forth */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1387, libc.VaList(bp+184, _daysAfterJan01(tls, bp)+int32(1))) + case int32('J'): /* Julian day number. (Non-standard) */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1392, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) case int32('m'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) case int32('M'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('p'): /* Fall thru */ fallthrough case int32('P'): if (*(*TDateTime)(unsafe.Pointer(bp))).Fh >= int32(12) { if int32(cf) == int32('p') { - v6 = __ccgo_ts + 1379 + v6 = __ccgo_ts + 1398 } else { - v6 = __ccgo_ts + 1382 + v6 = __ccgo_ts + 1401 } Xsqlite3_str_append(tls, bp+48, v6, int32(2)) } else { if int32(cf) == int32('p') { - v7 = __ccgo_ts + 1385 + v7 = __ccgo_ts + 1404 } else { - v7 = __ccgo_ts + 1388 + v7 = __ccgo_ts + 1407 } Xsqlite3_str_append(tls, bp+48, v7, int32(2)) } case int32('R'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1391, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1410, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('s'): - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1401, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1420, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) } else { iS = (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/libc.Int64FromInt32(1000) - libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1406, libc.VaList(bp+136, iS)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1425, libc.VaList(bp+184, iS)) } case int32('S'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1337, libc.VaList(bp+136, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) case int32('T'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1411, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) - case int32('u'): /* Fall thru */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1430, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + case int32('u'): /* Day of week. 1 to 7. Monday==1, Sunday==7 */ fallthrough - case int32('w'): - c = uint8(int32(uint8(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)%libc.Int64FromInt32(7))) + int32('0')) + case int32('w'): /* Day of week. 0 to 6. Sunday==0, Monday==1 */ + c = uint8(int32(uint8(_daysAfterSunday(tls, bp))) + int32('0')) if int32(c) == int32('0') && int32(cf) == int32('u') { c = uint8('7') } Xsqlite3_str_appendchar(tls, bp+48, int32(1), c) + case int32('U'): /* Week num. 00-53. First Sun of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterSunday(tls, bp)+int32(7))/int32(7))) + case int32('V'): /* Week num. 01-53. First week with a Thur is week 01 */ + *(*TDateTime)(unsafe.Pointer(bp + 128)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Adjust y so that is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FvalidYMD = uint8(0) + _computeYMD(tls, bp+128) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, _daysAfterJan01(tls, bp+128)/int32(7)+int32(1))) + case int32('W'): /* Week num. 00-53. First Mon of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterMonday(tls, bp)+int32(7))/int32(7))) case int32('Y'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1426, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1382, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) case int32('%'): Xsqlite3_str_appendchar(tls, bp+48, int32(1), uint8('%')) default: @@ -14967,12 +15137,10 @@ func _timediffFunc(tls *libc.TLS, context uintptr, NotUsed1 int32, argv uintptr) p2 = bp *(*Tsqlite3_int64)(unsafe.Pointer(p2)) = Tsqlite3_int64(uint64(*(*Tsqlite3_int64)(unsafe.Pointer(p2))) + libc.Uint64FromInt32(1486995408)*libc.Uint64FromInt32(100000)) } - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidYMD = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidHMS = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidTZ = uint8(0) + _clearYMD_HMS_TZ(tls, bp) _computeYMD_HMS(tls, bp) _sqlite3StrAccumInit(tls, bp+96, uintptr(0), uintptr(0), 0, int32(100)) - Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1431, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) + Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1445, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) _sqlite3ResultStrAccum(tls, context, bp+96) } @@ -15005,55 +15173,55 @@ var _aDateTimeFuncs = [10]TFuncDef{ FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1237, + FzName: __ccgo_ts + 1251, }, 1: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1257, + FzName: __ccgo_ts + 1271, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1465, + FzName: __ccgo_ts + 1479, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1470, + FzName: __ccgo_ts + 1484, }, 4: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1475, + FzName: __ccgo_ts + 1489, }, 5: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1484, + FzName: __ccgo_ts + 1498, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1493, + FzName: __ccgo_ts + 1507, }, 7: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1502, + FzName: __ccgo_ts + 1516, }, 8: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1515, + FzName: __ccgo_ts + 1529, }, 9: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1533, + FzName: __ccgo_ts + 1547, }, } @@ -15724,7 +15892,7 @@ func _sqlite3MemMalloc(tls *libc.TLS, nByte int32) (r uintptr) { *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1546, libc.VaList(bp+8, nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1560, libc.VaList(bp+8, nByte)) } return p } @@ -15786,7 +15954,7 @@ func _sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) (r uintptr) *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1584, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1598, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) } return p } @@ -17154,7 +17322,7 @@ func _sqlite3OomFault(tls *libc.TLS, db uintptr) (r uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = uint16(0) if (*Tsqlite3)(unsafe.Pointer(db)).FpParse != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1634, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) pParse = (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).FpOuterParse for { @@ -17576,7 +17744,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li v3 = int32(*(*uint8)(unsafe.Pointer(v4))) c = v3 if v3 == 0 { - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1634, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1648, int32(1)) break } /* Find out what flags are present */ @@ -17991,9 +18159,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial != 0 { if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial) == int32(2) { if flag_zeropad != 0 { - v57 = __ccgo_ts + 1636 + v57 = __ccgo_ts + 1650 } else { - v57 = __ccgo_ts + 1641 + v57 = __ccgo_ts + 1655 } bufpt = v57 length = _sqlite3Strlen30(tls, bufpt) @@ -18004,7 +18172,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP = int32(1000) (*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fn = int32(1) } else { - libc.Xmemcpy(tls, bp, __ccgo_ts+1645, uint64(5)) + libc.Xmemcpy(tls, bp, __ccgo_ts+1659, uint64(5)) bufpt = bp if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fsign) == int32('-') { /* no-op */ @@ -18026,14 +18194,12 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li prefix = flag_prefix } exp = (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP - int32(1) - if int32(xtype) == int32(etGENERIC) && precision > 0 { - precision-- - } /* ** If the field type is etGENERIC, then convert to either etEXP ** or etFLOAT, as appropriate. */ if int32(xtype) == int32(etGENERIC) { + precision-- flag_rtz = libc.BoolUint8(!(flag_alternateform != 0)) if exp < -int32(4) || exp > precision { xtype = uint8(etEXP) @@ -18339,7 +18505,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li bufpt = libc.VaUintptr(&ap) } if bufpt == uintptr(0) { - bufpt = __ccgo_ts + 1650 + bufpt = __ccgo_ts + 1664 } else { if int32(xtype) == int32(etDYNSTRING) { if (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FnChar == uint32(0) && (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FmxAlloc != 0 && width == 0 && precision < 0 && int32((*Tsqlite3_str)(unsafe.Pointer(pAccum)).FaccError) == 0 { @@ -18427,9 +18593,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li isnull = libc.BoolInt32(escarg == uintptr(0)) if isnull != 0 { if int32(xtype) == int32(etSQLESCAPE2) { - v98 = __ccgo_ts + 1651 + v98 = __ccgo_ts + 1665 } else { - v98 = __ccgo_ts + 1656 + v98 = __ccgo_ts + 1670 } escarg = v98 } @@ -18547,7 +18713,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*TSrcItem)(unsafe.Pointer(pItem)).FzName != 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1663, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1677, int32(1)) } Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzName) } else { @@ -18555,10 +18721,15 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzAlias) } else { pSel = (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect + /* Because of tag-20240424-1 */ if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_NestedFrom) != 0 { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1665, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1679, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) } else { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1675, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_MultiValue) != 0 { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1689, libc.VaList(bp+128, *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pItem)).Fu1)))) + } else { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1710, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + } } } } @@ -18837,7 +19008,7 @@ func _sqlite3ResultStrAccum(tls *libc.TLS, pCtx uintptr, p uintptr) { if int32((*TStrAccum)(unsafe.Pointer(p)).FprintfFlags)&int32(SQLITE_PRINTF_MALLOCED) != 0 { Xsqlite3_result_text(tls, pCtx, (*TStrAccum)(unsafe.Pointer(p)).FzText, int32((*TStrAccum)(unsafe.Pointer(p)).FnChar), __ccgo_fp(_sqlite3OomClear)) } else { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1650, 0, libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1664, 0, libc.UintptrFromInt32(0)) Xsqlite3_str_reset(tls, p) } } @@ -20649,6 +20820,60 @@ func _sqlite3DequoteExpr(tls *libc.TLS, p uintptr) { _sqlite3Dequote(tls, *(*uintptr)(unsafe.Pointer(p + 8))) } +// C documentation +// +// /* +// ** Expression p is a QNUMBER (quoted number). Dequote the value in p->u.zToken +// ** and set the type to INTEGER or FLOAT. "Quoted" integers or floats are those +// ** that contain '_' characters that must be removed before further processing. +// */ +func _sqlite3DequoteNumber(tls *libc.TLS, pParse uintptr, p uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var bHex int32 + var pIn, pOut, v1, v3 uintptr + var _ /* iValue at bp+0 */ int32 + _, _, _, _, _ = bHex, pIn, pOut, v1, v3 + if p != 0 { + pIn = *(*uintptr)(unsafe.Pointer(p + 8)) + pOut = *(*uintptr)(unsafe.Pointer(p + 8)) + bHex = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(pIn + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(pIn + 1))) == int32('X'))) + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + for { + if int32(*(*uint8)(unsafe.Pointer(pIn))) != int32('_') { + v3 = pOut + pOut++ + *(*uint8)(unsafe.Pointer(v3)) = *(*uint8)(unsafe.Pointer(pIn)) + if int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('E') || int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('.') { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_FLOAT) + } + } else { + if bHex == 0 && (!(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1))))])&libc.Int32FromInt32(0x04) != 0) || !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + 1))])&libc.Int32FromInt32(0x04) != 0)) || bHex == int32(1) && (!(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1))))])&libc.Int32FromInt32(0x08) != 0) || !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + 1))])&libc.Int32FromInt32(0x08) != 0)) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1724, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(p + 8)))) + } + } + goto _2 + _2: + ; + v1 = pIn + pIn++ + if !(*(*uint8)(unsafe.Pointer(v1)) != 0) { + break + } + } + if bHex != 0 { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + } + /* tag-20240227-a: If after dequoting, the number is an integer that + ** fits in 32 bits, then it must be converted into EP_IntValue. Other + ** parts of the code expect this. See also tag-20240227-b. */ + if int32((*TExpr)(unsafe.Pointer(p)).Fop) == int32(TK_INTEGER) && _sqlite3GetInt32(tls, *(*uintptr)(unsafe.Pointer(p + 8)), bp) != 0 { + *(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(p)).Fu)) = *(*int32)(unsafe.Pointer(bp)) + *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(EP_IntValue) + } + } +} + // C documentation // // /* @@ -21199,7 +21424,7 @@ func _compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) (r int32) { _, _, _ = c, i, pow63 c = 0 /* 012345678901234567 */ - pow63 = __ccgo_ts + 1689 + pow63 = __ccgo_ts + 1749 i = 0 for { if !(c == 0 && i < int32(18)) { @@ -21426,7 +21651,7 @@ func _sqlite3DecOrHexToI64(tls *libc.TLS, z uintptr, pOut uintptr) (r int32) { } return 0 } else { - n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1708)) + n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1768)) if *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 { n++ } @@ -21584,7 +21809,7 @@ func _sqlite3FpDecode(tls *libc.TLS, p uintptr, _r float64, iRound int32, mxRoun (*TFpDecode)(unsafe.Pointer(p)).Fsign = uint8('+') (*TFpDecode)(unsafe.Pointer(p)).Fn = int32(1) (*TFpDecode)(unsafe.Pointer(p)).FiDP = int32(1) - (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1724 + (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1784 return } else { (*TFpDecode)(unsafe.Pointer(p)).Fsign = uint8('+') @@ -22128,7 +22353,7 @@ func _sqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) (r uintptr func _logBadConnection(tls *libc.TLS, zType uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1726, libc.VaList(bp+8, zType)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1786, libc.VaList(bp+8, zType)) } // C documentation @@ -22151,13 +22376,13 @@ func _sqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) (r int32) { var eOpenState Tu8 _ = eOpenState if db == uintptr(0) { - _logBadConnection(tls, __ccgo_ts+1651) + _logBadConnection(tls, __ccgo_ts+1665) return 0 } eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_OPEN) { if _sqlite3SafetyCheckSickOrOk(tls, db) != 0 { - _logBadConnection(tls, __ccgo_ts+1771) + _logBadConnection(tls, __ccgo_ts+1831) } return 0 } else { @@ -22171,7 +22396,7 @@ func _sqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) (r int32) { _ = eOpenState eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_SICK) && int32(eOpenState) != int32(SQLITE_STATE_OPEN) && int32(eOpenState) != int32(SQLITE_STATE_BUSY) { - _logBadConnection(tls, __ccgo_ts+1780) + _logBadConnection(tls, __ccgo_ts+1840) return 0 } else { return int32(1) @@ -22875,196 +23100,196 @@ func _sqlite3OpcodeName(tls *libc.TLS, i int32) (r uintptr) { } var _azName = [190]uintptr{ - 0: __ccgo_ts + 1788, - 1: __ccgo_ts + 1798, - 2: __ccgo_ts + 1809, - 3: __ccgo_ts + 1821, - 4: __ccgo_ts + 1832, - 5: __ccgo_ts + 1844, - 6: __ccgo_ts + 1851, - 7: __ccgo_ts + 1859, - 8: __ccgo_ts + 1867, - 9: __ccgo_ts + 1872, - 10: __ccgo_ts + 1877, - 11: __ccgo_ts + 1883, - 12: __ccgo_ts + 1897, - 13: __ccgo_ts + 1903, - 14: __ccgo_ts + 1913, - 15: __ccgo_ts + 1918, - 16: __ccgo_ts + 1923, - 17: __ccgo_ts + 1926, - 18: __ccgo_ts + 1932, - 19: __ccgo_ts + 1939, - 20: __ccgo_ts + 1943, - 21: __ccgo_ts + 1953, - 22: __ccgo_ts + 1960, - 23: __ccgo_ts + 1967, - 24: __ccgo_ts + 1974, - 25: __ccgo_ts + 1981, - 26: __ccgo_ts + 1991, - 27: __ccgo_ts + 2000, - 28: __ccgo_ts + 2011, - 29: __ccgo_ts + 2020, - 30: __ccgo_ts + 2026, - 31: __ccgo_ts + 2036, - 32: __ccgo_ts + 2046, - 33: __ccgo_ts + 2051, - 34: __ccgo_ts + 2061, - 35: __ccgo_ts + 2072, - 36: __ccgo_ts + 2077, - 37: __ccgo_ts + 2084, - 38: __ccgo_ts + 2095, - 39: __ccgo_ts + 2100, - 40: __ccgo_ts + 2105, - 41: __ccgo_ts + 2111, - 42: __ccgo_ts + 2117, - 43: __ccgo_ts + 2123, - 44: __ccgo_ts + 2126, - 45: __ccgo_ts + 2130, - 46: __ccgo_ts + 2136, - 47: __ccgo_ts + 2147, - 48: __ccgo_ts + 2158, - 49: __ccgo_ts + 2166, - 50: __ccgo_ts + 2175, - 51: __ccgo_ts + 2182, - 52: __ccgo_ts + 2190, - 53: __ccgo_ts + 2193, - 54: __ccgo_ts + 2196, - 55: __ccgo_ts + 2199, - 56: __ccgo_ts + 2202, - 57: __ccgo_ts + 2205, - 58: __ccgo_ts + 2208, - 59: __ccgo_ts + 2215, - 60: __ccgo_ts + 2221, - 61: __ccgo_ts + 2231, - 62: __ccgo_ts + 2244, - 63: __ccgo_ts + 2255, - 64: __ccgo_ts + 2261, - 65: __ccgo_ts + 2268, - 66: __ccgo_ts + 2277, - 67: __ccgo_ts + 2286, - 68: __ccgo_ts + 2293, - 69: __ccgo_ts + 2306, - 70: __ccgo_ts + 2317, - 71: __ccgo_ts + 2322, - 72: __ccgo_ts + 2330, - 73: __ccgo_ts + 2336, - 74: __ccgo_ts + 2343, - 75: __ccgo_ts + 2355, - 76: __ccgo_ts + 2360, - 77: __ccgo_ts + 2369, - 78: __ccgo_ts + 2374, - 79: __ccgo_ts + 2383, - 80: __ccgo_ts + 2388, - 81: __ccgo_ts + 2393, - 82: __ccgo_ts + 2399, - 83: __ccgo_ts + 2407, - 84: __ccgo_ts + 2415, - 85: __ccgo_ts + 2425, - 86: __ccgo_ts + 2433, - 87: __ccgo_ts + 2440, - 88: __ccgo_ts + 2453, - 89: __ccgo_ts + 2458, - 90: __ccgo_ts + 2470, - 91: __ccgo_ts + 2478, - 92: __ccgo_ts + 2485, - 93: __ccgo_ts + 2496, - 94: __ccgo_ts + 2503, - 95: __ccgo_ts + 2510, - 96: __ccgo_ts + 2520, - 97: __ccgo_ts + 2529, - 98: __ccgo_ts + 2540, - 99: __ccgo_ts + 2546, - 100: __ccgo_ts + 2557, - 101: __ccgo_ts + 2567, - 102: __ccgo_ts + 2577, - 103: __ccgo_ts + 2584, - 104: __ccgo_ts + 2590, - 105: __ccgo_ts + 2600, - 106: __ccgo_ts + 2611, - 107: __ccgo_ts + 2615, - 108: __ccgo_ts + 2624, - 109: __ccgo_ts + 2633, - 110: __ccgo_ts + 2640, - 111: __ccgo_ts + 2650, - 112: __ccgo_ts + 2657, - 113: __ccgo_ts + 2666, - 114: __ccgo_ts + 2676, - 115: __ccgo_ts + 2683, - 116: __ccgo_ts + 2691, - 117: __ccgo_ts + 2705, - 118: __ccgo_ts + 2713, - 119: __ccgo_ts + 2727, - 120: __ccgo_ts + 2738, - 121: __ccgo_ts + 2751, - 122: __ccgo_ts + 2762, - 123: __ccgo_ts + 2768, - 124: __ccgo_ts + 2780, - 125: __ccgo_ts + 2789, - 126: __ccgo_ts + 2797, - 127: __ccgo_ts + 2806, - 128: __ccgo_ts + 2815, - 129: __ccgo_ts + 2822, - 130: __ccgo_ts + 2830, - 131: __ccgo_ts + 2837, - 132: __ccgo_ts + 2848, - 133: __ccgo_ts + 2862, - 134: __ccgo_ts + 2873, - 135: __ccgo_ts + 2881, - 136: __ccgo_ts + 2887, - 137: __ccgo_ts + 2895, - 138: __ccgo_ts + 2903, - 139: __ccgo_ts + 2913, - 140: __ccgo_ts + 2926, - 141: __ccgo_ts + 2936, - 142: __ccgo_ts + 2949, - 143: __ccgo_ts + 2958, - 144: __ccgo_ts + 2969, - 145: __ccgo_ts + 2977, - 146: __ccgo_ts + 2983, - 147: __ccgo_ts + 2995, - 148: __ccgo_ts + 3007, - 149: __ccgo_ts + 3015, - 150: __ccgo_ts + 3027, - 151: __ccgo_ts + 3040, - 152: __ccgo_ts + 3050, - 153: __ccgo_ts + 3060, - 154: __ccgo_ts + 3065, - 155: __ccgo_ts + 3077, - 156: __ccgo_ts + 3089, - 157: __ccgo_ts + 3099, - 158: __ccgo_ts + 3105, - 159: __ccgo_ts + 3115, - 160: __ccgo_ts + 3122, - 161: __ccgo_ts + 3134, - 162: __ccgo_ts + 3145, - 163: __ccgo_ts + 3153, - 164: __ccgo_ts + 3162, - 165: __ccgo_ts + 3171, - 166: __ccgo_ts + 3180, - 167: __ccgo_ts + 3187, - 168: __ccgo_ts + 3198, - 169: __ccgo_ts + 3211, - 170: __ccgo_ts + 3221, - 171: __ccgo_ts + 3228, - 172: __ccgo_ts + 3236, - 173: __ccgo_ts + 3245, - 174: __ccgo_ts + 3251, - 175: __ccgo_ts + 3258, - 176: __ccgo_ts + 3266, - 177: __ccgo_ts + 3274, - 178: __ccgo_ts + 3282, - 179: __ccgo_ts + 3292, - 180: __ccgo_ts + 3301, - 181: __ccgo_ts + 3312, - 182: __ccgo_ts + 3323, - 183: __ccgo_ts + 3334, - 184: __ccgo_ts + 3344, - 185: __ccgo_ts + 3350, - 186: __ccgo_ts + 3361, - 187: __ccgo_ts + 3372, - 188: __ccgo_ts + 3377, - 189: __ccgo_ts + 3385, + 0: __ccgo_ts + 1848, + 1: __ccgo_ts + 1858, + 2: __ccgo_ts + 1869, + 3: __ccgo_ts + 1881, + 4: __ccgo_ts + 1892, + 5: __ccgo_ts + 1904, + 6: __ccgo_ts + 1911, + 7: __ccgo_ts + 1919, + 8: __ccgo_ts + 1927, + 9: __ccgo_ts + 1932, + 10: __ccgo_ts + 1937, + 11: __ccgo_ts + 1943, + 12: __ccgo_ts + 1957, + 13: __ccgo_ts + 1963, + 14: __ccgo_ts + 1973, + 15: __ccgo_ts + 1978, + 16: __ccgo_ts + 1983, + 17: __ccgo_ts + 1986, + 18: __ccgo_ts + 1992, + 19: __ccgo_ts + 1999, + 20: __ccgo_ts + 2003, + 21: __ccgo_ts + 2013, + 22: __ccgo_ts + 2020, + 23: __ccgo_ts + 2027, + 24: __ccgo_ts + 2034, + 25: __ccgo_ts + 2041, + 26: __ccgo_ts + 2051, + 27: __ccgo_ts + 2060, + 28: __ccgo_ts + 2071, + 29: __ccgo_ts + 2080, + 30: __ccgo_ts + 2086, + 31: __ccgo_ts + 2096, + 32: __ccgo_ts + 2106, + 33: __ccgo_ts + 2111, + 34: __ccgo_ts + 2125, + 35: __ccgo_ts + 2136, + 36: __ccgo_ts + 2141, + 37: __ccgo_ts + 2148, + 38: __ccgo_ts + 2159, + 39: __ccgo_ts + 2164, + 40: __ccgo_ts + 2169, + 41: __ccgo_ts + 2175, + 42: __ccgo_ts + 2181, + 43: __ccgo_ts + 2187, + 44: __ccgo_ts + 2190, + 45: __ccgo_ts + 2194, + 46: __ccgo_ts + 2200, + 47: __ccgo_ts + 2211, + 48: __ccgo_ts + 2222, + 49: __ccgo_ts + 2230, + 50: __ccgo_ts + 2239, + 51: __ccgo_ts + 2246, + 52: __ccgo_ts + 2254, + 53: __ccgo_ts + 2257, + 54: __ccgo_ts + 2260, + 55: __ccgo_ts + 2263, + 56: __ccgo_ts + 2266, + 57: __ccgo_ts + 2269, + 58: __ccgo_ts + 2272, + 59: __ccgo_ts + 2279, + 60: __ccgo_ts + 2285, + 61: __ccgo_ts + 2295, + 62: __ccgo_ts + 2308, + 63: __ccgo_ts + 2319, + 64: __ccgo_ts + 2325, + 65: __ccgo_ts + 2332, + 66: __ccgo_ts + 2341, + 67: __ccgo_ts + 2350, + 68: __ccgo_ts + 2357, + 69: __ccgo_ts + 2370, + 70: __ccgo_ts + 2381, + 71: __ccgo_ts + 2386, + 72: __ccgo_ts + 2394, + 73: __ccgo_ts + 2400, + 74: __ccgo_ts + 2407, + 75: __ccgo_ts + 2419, + 76: __ccgo_ts + 2424, + 77: __ccgo_ts + 2433, + 78: __ccgo_ts + 2438, + 79: __ccgo_ts + 2447, + 80: __ccgo_ts + 2452, + 81: __ccgo_ts + 2457, + 82: __ccgo_ts + 2463, + 83: __ccgo_ts + 2471, + 84: __ccgo_ts + 2479, + 85: __ccgo_ts + 2489, + 86: __ccgo_ts + 2497, + 87: __ccgo_ts + 2504, + 88: __ccgo_ts + 2517, + 89: __ccgo_ts + 2522, + 90: __ccgo_ts + 2534, + 91: __ccgo_ts + 2542, + 92: __ccgo_ts + 2549, + 93: __ccgo_ts + 2560, + 94: __ccgo_ts + 2567, + 95: __ccgo_ts + 2574, + 96: __ccgo_ts + 2584, + 97: __ccgo_ts + 2593, + 98: __ccgo_ts + 2604, + 99: __ccgo_ts + 2610, + 100: __ccgo_ts + 2621, + 101: __ccgo_ts + 2631, + 102: __ccgo_ts + 2641, + 103: __ccgo_ts + 2648, + 104: __ccgo_ts + 2654, + 105: __ccgo_ts + 2664, + 106: __ccgo_ts + 2675, + 107: __ccgo_ts + 2679, + 108: __ccgo_ts + 2688, + 109: __ccgo_ts + 2697, + 110: __ccgo_ts + 2704, + 111: __ccgo_ts + 2714, + 112: __ccgo_ts + 2721, + 113: __ccgo_ts + 2730, + 114: __ccgo_ts + 2740, + 115: __ccgo_ts + 2747, + 116: __ccgo_ts + 2755, + 117: __ccgo_ts + 2769, + 118: __ccgo_ts + 2777, + 119: __ccgo_ts + 2791, + 120: __ccgo_ts + 2802, + 121: __ccgo_ts + 2815, + 122: __ccgo_ts + 2826, + 123: __ccgo_ts + 2832, + 124: __ccgo_ts + 2844, + 125: __ccgo_ts + 2853, + 126: __ccgo_ts + 2861, + 127: __ccgo_ts + 2870, + 128: __ccgo_ts + 2879, + 129: __ccgo_ts + 2886, + 130: __ccgo_ts + 2894, + 131: __ccgo_ts + 2901, + 132: __ccgo_ts + 2912, + 133: __ccgo_ts + 2926, + 134: __ccgo_ts + 2937, + 135: __ccgo_ts + 2945, + 136: __ccgo_ts + 2951, + 137: __ccgo_ts + 2959, + 138: __ccgo_ts + 2967, + 139: __ccgo_ts + 2977, + 140: __ccgo_ts + 2990, + 141: __ccgo_ts + 3000, + 142: __ccgo_ts + 3013, + 143: __ccgo_ts + 3022, + 144: __ccgo_ts + 3033, + 145: __ccgo_ts + 3041, + 146: __ccgo_ts + 3047, + 147: __ccgo_ts + 3059, + 148: __ccgo_ts + 3071, + 149: __ccgo_ts + 3079, + 150: __ccgo_ts + 3091, + 151: __ccgo_ts + 3104, + 152: __ccgo_ts + 3114, + 153: __ccgo_ts + 3124, + 154: __ccgo_ts + 3129, + 155: __ccgo_ts + 3141, + 156: __ccgo_ts + 3153, + 157: __ccgo_ts + 3163, + 158: __ccgo_ts + 3169, + 159: __ccgo_ts + 3179, + 160: __ccgo_ts + 3186, + 161: __ccgo_ts + 3198, + 162: __ccgo_ts + 3209, + 163: __ccgo_ts + 3217, + 164: __ccgo_ts + 3226, + 165: __ccgo_ts + 3235, + 166: __ccgo_ts + 3244, + 167: __ccgo_ts + 3251, + 168: __ccgo_ts + 3262, + 169: __ccgo_ts + 3275, + 170: __ccgo_ts + 3285, + 171: __ccgo_ts + 3292, + 172: __ccgo_ts + 3300, + 173: __ccgo_ts + 3309, + 174: __ccgo_ts + 3315, + 175: __ccgo_ts + 3322, + 176: __ccgo_ts + 3330, + 177: __ccgo_ts + 3338, + 178: __ccgo_ts + 3346, + 179: __ccgo_ts + 3356, + 180: __ccgo_ts + 3365, + 181: __ccgo_ts + 3376, + 182: __ccgo_ts + 3387, + 183: __ccgo_ts + 3398, + 184: __ccgo_ts + 3408, + 185: __ccgo_ts + 3414, + 186: __ccgo_ts + 3425, + 187: __ccgo_ts + 3436, + 188: __ccgo_ts + 3441, + 189: __ccgo_ts + 3449, } type Tpthread_once = struct { @@ -23820,91 +24045,91 @@ type unix_syscall = Tunix_syscall // */ var _aSyscall = [29]Tunix_syscall{ 0: { - FzName: __ccgo_ts + 3395, + FzName: __ccgo_ts + 3459, }, 1: { - FzName: __ccgo_ts + 3400, + FzName: __ccgo_ts + 3464, }, 2: { - FzName: __ccgo_ts + 3406, + FzName: __ccgo_ts + 3470, }, 3: { - FzName: __ccgo_ts + 3413, + FzName: __ccgo_ts + 3477, }, 4: { - FzName: __ccgo_ts + 3420, + FzName: __ccgo_ts + 3484, }, 5: { - FzName: __ccgo_ts + 3425, + FzName: __ccgo_ts + 3489, }, 6: { - FzName: __ccgo_ts + 3431, + FzName: __ccgo_ts + 3495, }, 7: { - FzName: __ccgo_ts + 3441, + FzName: __ccgo_ts + 3505, }, 8: { - FzName: __ccgo_ts + 3447, + FzName: __ccgo_ts + 3511, }, 9: { - FzName: __ccgo_ts + 3452, + FzName: __ccgo_ts + 3516, }, 10: { - FzName: __ccgo_ts + 3458, + FzName: __ccgo_ts + 3522, }, 11: { - FzName: __ccgo_ts + 3466, + FzName: __ccgo_ts + 3530, }, 12: { - FzName: __ccgo_ts + 3472, + FzName: __ccgo_ts + 3536, }, 13: { - FzName: __ccgo_ts + 3479, + FzName: __ccgo_ts + 3543, }, 14: { - FzName: __ccgo_ts + 3488, + FzName: __ccgo_ts + 3552, }, 15: { - FzName: __ccgo_ts + 3495, + FzName: __ccgo_ts + 3559, }, 16: { - FzName: __ccgo_ts + 3505, + FzName: __ccgo_ts + 3569, }, 17: { - FzName: __ccgo_ts + 3512, + FzName: __ccgo_ts + 3576, }, 18: { - FzName: __ccgo_ts + 3526, + FzName: __ccgo_ts + 3590, }, 19: { - FzName: __ccgo_ts + 3532, + FzName: __ccgo_ts + 3596, }, 20: { - FzName: __ccgo_ts + 3538, + FzName: __ccgo_ts + 3602, }, 21: { - FzName: __ccgo_ts + 3545, + FzName: __ccgo_ts + 3609, }, 22: { - FzName: __ccgo_ts + 3553, + FzName: __ccgo_ts + 3617, }, 23: { - FzName: __ccgo_ts + 3558, + FzName: __ccgo_ts + 3622, }, 24: { - FzName: __ccgo_ts + 3565, + FzName: __ccgo_ts + 3629, }, 25: { - FzName: __ccgo_ts + 3572, + FzName: __ccgo_ts + 3636, }, 26: { - FzName: __ccgo_ts + 3584, + FzName: __ccgo_ts + 3648, }, 27: { - FzName: __ccgo_ts + 3593, + FzName: __ccgo_ts + 3657, }, 28: { - FzName: __ccgo_ts + 3599, + FzName: __ccgo_ts + 3663, }, } @@ -24139,9 +24364,9 @@ func _robust_open(tls *libc.TLS, z uintptr, f int32, m Tmode_t) (r int32) { (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, z) } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(1)].FpCurrent})))(tls, fd) - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3605, libc.VaList(bp+232, z, fd)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3669, libc.VaList(bp+232, z, fd)) fd = -int32(1) - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3648, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3712, O_RDONLY, int32(m)) < 0 { break } } @@ -24457,11 +24682,11 @@ func _unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uint ** equivalent to errno. Otherwise, use strerror_r(). */ /* This is a threadsafe build, but strerror_r() is not available. */ - zErr = __ccgo_ts + 1650 + zErr = __ccgo_ts + 1664 if zPath == uintptr(0) { - zPath = __ccgo_ts + 1650 + zPath = __ccgo_ts + 1664 } - Xsqlite3_log(tls, errcode, __ccgo_ts+3658, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) + Xsqlite3_log(tls, errcode, __ccgo_ts+3722, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) return errcode } @@ -24489,7 +24714,7 @@ func _robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { } else { v1 = uintptr(0) } - _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(16)< uint64(1) { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3742, libc.VaList(bp+232, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3806, libc.VaList(bp+232, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } if _fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3769, libc.VaList(bp+232, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3833, libc.VaList(bp+232, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -25147,7 +25372,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) { pFile = id _unixUnmapfile(tls, pFile) if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 { - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40172)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40505)) (*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1) } Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -25767,7 +25992,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { var _ /* zDirname at bp+0 */ [513]uint8 _, _ = fd, ii fd = -int32(1) - Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3797, libc.VaList(bp+528, zFilename)) + Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3861, libc.VaList(bp+528, zFilename)) ii = int32(libc.Xstrlen(tls, bp)) for { if !(ii > 0 && int32((*(*[513]uint8)(unsafe.Pointer(bp)))[ii]) != int32('/')) { @@ -25793,7 +26018,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { if fd >= 0 { return SQLITE_OK } - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(41778)), __ccgo_ts+3512, bp, int32(41778)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42111)), __ccgo_ts+3576, bp, int32(42111)) } // C documentation @@ -25830,7 +26055,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) { rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if rc != 0 { _storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) - return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<= nSize { iWrite = nSize - int64(1) } - nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1650, int32(1)) + nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1664, int32(1)) if nWrite != int32(1) { return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(3)<= 0 { - _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42583)) + _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42916)) (*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1) } (*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0) @@ -26436,7 +26661,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in ** help detect if a -shm file truncation is legitimate or is the work ** or a rogue process. */ if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 { - rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<= 0 { - _robust_close(tls, pNew, h, int32(43994)) + _robust_close(tls, pNew, h, int32(44327)) } } else { (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -27445,10 +27670,10 @@ func _fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilenam // ** Directories to consider for temp files. // */ var _azTempDirs = [6]uintptr{ - 2: __ccgo_ts + 3854, - 3: __ccgo_ts + 3863, - 4: __ccgo_ts + 3872, - 5: __ccgo_ts + 1663, + 2: __ccgo_ts + 3918, + 3: __ccgo_ts + 3927, + 4: __ccgo_ts + 3936, + 5: __ccgo_ts + 1677, } // C documentation @@ -27457,8 +27682,8 @@ var _azTempDirs = [6]uintptr{ // ** Initialize first two members of azTempDirs[] array. // */ func _unixTempFileInit(tls *libc.TLS) { - _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3877) - _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3891) + _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3941) + _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3955) } // C documentation @@ -27520,7 +27745,7 @@ func _unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) (r int32) { for cond := true; cond; cond = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(2)].FpCurrent})))(tls, zBuf, 0) == 0 { Xsqlite3_randomness(tls, int32(8), bp) *(*uint8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2)))) = uint8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3898, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) + Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3962, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) if v2 = int32(*(*uint8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2))))) != 0; !v2 { v1 = iLimit iLimit++ @@ -27692,7 +27917,7 @@ func _findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintpt ** filename, check for the "modeof" parameter. If present, interpret ** its value as a filename and try to copy the mode, uid and gid from ** that file. */ - z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3915) + z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3979) if z != 0 { rc = _getFileMode(tls, z, pMode, pUid, pGid) } @@ -27730,12 +27955,12 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags bp := tls.Alloc(528) defer tls.Free(528) var ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, rc, rc2 int32 - var p, pUnused, zName uintptr + var p, pReadonly, pUnused, zName uintptr var _ /* gid at bp+520 */ Tgid_t var _ /* openMode at bp+514 */ Tmode_t var _ /* uid at bp+516 */ Tuid_t var _ /* zTmpname at bp+0 */ [514]uint8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pUnused, rc, rc2, zName + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pReadonly, pUnused, rc, rc2, zName p = pFile fd = -int32(1) /* File descriptor returned by open() */ openFlags = 0 /* Flags to pass to open() */ @@ -27830,17 +28055,24 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags } else { if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != int32(EISDIR) && isReadWrite != 0 { /* Failed to open the file for read/write access. Try read-only. */ + pReadonly = uintptr(0) flags &= ^(libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE)) openFlags &= ^(libc.Int32FromInt32(O_RDWR) | libc.Int32FromInt32(O_CREAT)) flags |= int32(SQLITE_OPEN_READONLY) openFlags |= O_RDONLY isReadonly = int32(1) - fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 514))) + pReadonly = _findReusableFd(tls, zName, flags) + if pReadonly != 0 { + fd = (*TUnixUnusedFd)(unsafe.Pointer(pReadonly)).Ffd + Xsqlite3_free(tls, pReadonly) + } else { + fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 514))) + } } } } if fd < 0 { - rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44435)), __ccgo_ts+3395, zName, int32(44435)) + rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44775)), __ccgo_ts+3459, zName, int32(44775)) if rc == SQLITE_OK { rc = rc2 } @@ -27917,7 +28149,7 @@ func _unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) ( if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(ENOENT) { rc = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(23)< int32(SQLITE_MAX_SYMLINK) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(44686)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45026)) return } got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+224, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2)) if got <= 0 || got >= libc.Int64FromInt64(1026)-libc.Int64FromInt32(2) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44691)), __ccgo_ts+3584, zIn, int32(44691)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45031)), __ccgo_ts+3648, zIn, int32(45031)) return } (*(*[1026]uint8)(unsafe.Pointer(bp + 224)))[got] = uint8(0) @@ -28115,14 +28347,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z (*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut if int32(*(*uint8)(unsafe.Pointer(zPath))) != int32('/') { if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2)) == uintptr(0) { - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44749)), __ccgo_ts+3413, zPath, int32(44749)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45089)), __ccgo_ts+3477, zPath, int32(45089)) } _appendAllPathElements(tls, bp, bp+24) } _appendAllPathElements(tls, bp, zPath) *(*uint8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = uint8(0) if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) { - return _sqlite3CantopenError(tls, int32(44755)) + return _sqlite3CantopenError(tls, int32(45095)) } if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 { return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)< int64(1) { _sqlite3PagerUnrefNotNull(tls, pPgOld) - return _sqlite3CorruptError(tls, int32(63973)) + return _sqlite3CorruptError(tls, int32(64313)) } p4 = pPg + 52 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | int32((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC)) @@ -39950,7 +40182,7 @@ func _sqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in ** sqlite3_wal_checkpoint() call, but it happens very rarely. ** https://sqlite.org/forum/forumpost/fd0f19d229156939 */ - Xsqlite3_exec(tls, db, __ccgo_ts+4111, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+4175, uintptr(0), uintptr(0), uintptr(0)) } if (*TPager)(unsafe.Pointer(pPager)).FpWal != 0 { if eMode == SQLITE_CHECKPOINT_PASSIVE { @@ -41391,7 +41623,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in v2 = nCollide nCollide-- if v2 == 0 { - return _sqlite3CorruptError(tls, int32(65899)) + return _sqlite3CorruptError(tls, int32(66239)) } goto _1 _1: @@ -41479,7 +41711,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) { ** are able to understand */ version = _sqlite3Get4byte(tls, bp+8+4) if version != uint32(WAL_MAX_VERSION) { - rc = _sqlite3CantopenError(tls, int32(66031)) + rc = _sqlite3CantopenError(tls, int32(66371)) goto finished } /* Malloc a buffer to read frames into. */ @@ -41618,7 +41850,7 @@ finished: ** checkpointing the log file. */ if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FnPage != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(1)< int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = _sqlite3CorruptError(tls, int32(71032)) + rc = _sqlite3CorruptError(tls, int32(71421)) } else { rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -46177,7 +46416,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, } /* The super-journal page number must never be used as a pointer map page */ if key == uint32(0) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71230)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71619)) return } iPtrmap = _ptrmapPageno(tls, pBt, key) @@ -46190,12 +46429,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, /* The first byte of the extra data is the MemPage.isInit byte. ** If that byte is set, it means this page is also being used ** as a btree page. */ - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71243)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71632)) goto ptrmap_exit } offset = int32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1))) if offset < 0 { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71248)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71637)) goto ptrmap_exit } pPtrmap = _sqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -46239,7 +46478,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin offset = int32(libc.Uint32FromInt32(5) * (key - uint32(iPtrmap) - libc.Uint32FromInt32(1))) if offset < 0 { _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) - return _sqlite3CorruptError(tls, int32(71293)) + return _sqlite3CorruptError(tls, int32(71682)) } *(*Tu8)(unsafe.Pointer(pEType)) = *(*Tu8)(unsafe.Pointer(pPtrmap + uintptr(offset))) if pPgno != 0 { @@ -46247,7 +46486,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin } _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) if int32(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || int32(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) { - return _sqlite3CorruptError(tls, int32(71301)) + return _sqlite3CorruptError(tls, int32(71690)) } return SQLITE_OK } @@ -46667,7 +46906,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71741)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72130)) return } ovfl = _sqlite3Get4byte(tls, pCell+uintptr(int32((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4))) @@ -46707,12 +46946,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag { iFree = int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71799)) + return _sqlite3CorruptError(tls, int32(72188)) } if iFree != 0 { iFree2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71802)) + return _sqlite3CorruptError(tls, int32(72191)) } if 0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 { pEnd = data + uintptr(cellOffset+nCell*int32(2)) @@ -46720,21 +46959,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { sz = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree { - return _sqlite3CorruptError(tls, int32(71810)) + return _sqlite3CorruptError(tls, int32(72199)) } if iFree2 != 0 { if iFree+sz > iFree2 { - return _sqlite3CorruptError(tls, int32(71813)) + return _sqlite3CorruptError(tls, int32(72202)) } sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize { - return _sqlite3CorruptError(tls, int32(71815)) + return _sqlite3CorruptError(tls, int32(72204)) } libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) sz += sz2 } else { if iFree+sz > usableSize { - return _sqlite3CorruptError(tls, int32(71819)) + return _sqlite3CorruptError(tls, int32(72208)) } } cbrk = top + sz @@ -46781,12 +47020,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { ** if PRAGMA cell_size_check=ON. */ if pc > iCellLast { - return _sqlite3CorruptError(tls, int32(71852)) + return _sqlite3CorruptError(tls, int32(72241)) } size = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc))) cbrk -= size if cbrk < iCellStart || pc+size > usableSize { - return _sqlite3CorruptError(tls, int32(71858)) + return _sqlite3CorruptError(tls, int32(72247)) } *(*Tu8)(unsafe.Pointer(pAddr1)) = uint8(cbrk >> libc.Int32FromInt32(8)) *(*Tu8)(unsafe.Pointer(pAddr1 + 1)) = uint8(cbrk) @@ -46802,7 +47041,7 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { defragment_out: ; if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree { - return _sqlite3CorruptError(tls, int32(71872)) + return _sqlite3CorruptError(tls, int32(72261)) } *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = uint8(cbrk >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)) + 1)) = uint8(cbrk) @@ -46862,7 +47101,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint } else { if x+pc > maxPC { /* This slot extends off the end of the usable part of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71929)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72318)) return uintptr(0) } else { /* The slot remains on the free-list. Reduce its size to account @@ -46879,14 +47118,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint if pc <= iAddr { if pc != 0 { /* The next slot in the chain comes before the current slot */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71944)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72333)) } return uintptr(0) } } if pc > maxPC+nByte-int32(4) { /* The free slot chain extends off the end of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71951)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72340)) } return uintptr(0) } @@ -46929,11 +47168,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) { top = int32(65536) } else { - return _sqlite3CorruptError(tls, int32(71999)) + return _sqlite3CorruptError(tls, int32(72388)) } } else { if top > int32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(72002)) + return _sqlite3CorruptError(tls, int32(72391)) } } /* If there is enough space between gap and top for one more cell pointer, @@ -46947,7 +47186,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r g2 = v1 *(*int32)(unsafe.Pointer(pIdx)) = v1 if g2 <= gap { - return _sqlite3CorruptError(tls, int32(72019)) + return _sqlite3CorruptError(tls, int32(72408)) } else { return SQLITE_OK } @@ -47030,12 +47269,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if int32(iFreeBlk) == 0 { break } /* TH3: corrupt082.100 */ - return _sqlite3CorruptError(tls, int32(72098)) + return _sqlite3CorruptError(tls, int32(72487)) } iPtr = iFreeBlk } if uint32(iFreeBlk) > (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-uint32(4) { /* TH3: corrupt081.100 */ - return _sqlite3CorruptError(tls, int32(72103)) + return _sqlite3CorruptError(tls, int32(72492)) } /* At this point: ** iFreeBlk: First freeblock after iStart, or zero if none @@ -47046,11 +47285,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if iFreeBlk != 0 && iEnd+uint32(3) >= uint32(iFreeBlk) { nFrag = uint8(uint32(iFreeBlk) - iEnd) if iEnd > uint32(iFreeBlk) { - return _sqlite3CorruptError(tls, int32(72115)) + return _sqlite3CorruptError(tls, int32(72504)) } iEnd = uint32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+int32(2)))))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return _sqlite3CorruptError(tls, int32(72118)) + return _sqlite3CorruptError(tls, int32(72507)) } iSize = uint16(iEnd - uint32(iStart)) iFreeBlk = uint16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= int32(iStart) { if iPtrEnd > int32(iStart) { - return _sqlite3CorruptError(tls, int32(72131)) + return _sqlite3CorruptError(tls, int32(72520)) } nFrag = Tu8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = uint16(iEnd - uint32(iPtr)) @@ -47071,7 +47310,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(7))))) { - return _sqlite3CorruptError(tls, int32(72137)) + return _sqlite3CorruptError(tls, int32(72526)) } p2 = data + uintptr(int32(hdr)+int32(7)) *(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - int32(nFrag)) @@ -47088,10 +47327,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) ** so just extend the cell content area rather than create another ** freelist entry */ if int32(iStart) < int32(x) { - return _sqlite3CorruptError(tls, int32(72151)) + return _sqlite3CorruptError(tls, int32(72540)) } if int32(iPtr) != int32(hdr)+int32(1) { - return _sqlite3CorruptError(tls, int32(72152)) + return _sqlite3CorruptError(tls, int32(72541)) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)))) = uint8(int32(iFreeBlk) >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)) + 1)) = uint8(iFreeBlk) @@ -47152,7 +47391,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72206)) + return _sqlite3CorruptError(tls, int32(72595)) } } } else { @@ -47178,7 +47417,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72230)) + return _sqlite3CorruptError(tls, int32(72619)) } } } @@ -47217,12 +47456,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will ** always be at least one cell before the first freeblock. */ - return _sqlite3CorruptError(tls, int32(72281)) + return _sqlite3CorruptError(tls, int32(72670)) } for int32(1) != 0 { if pc > iCellLast { /* Freeblock off the end of the page */ - return _sqlite3CorruptError(tls, int32(72286)) + return _sqlite3CorruptError(tls, int32(72675)) } next = uint32(int32(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) { /* Freeblock not in ascending order */ - return _sqlite3CorruptError(tls, int32(72296)) + return _sqlite3CorruptError(tls, int32(72685)) } if uint32(pc)+size > uint32(usableSize) { /* Last freeblock extends past page end */ - return _sqlite3CorruptError(tls, int32(72300)) + return _sqlite3CorruptError(tls, int32(72689)) } } /* At this point, nFree contains the sum of the offset to the start @@ -47249,7 +47488,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { ** area, according to the page header, lies within the page. */ if nFree > usableSize || nFree < iCellFirst { - return _sqlite3CorruptError(tls, int32(72312)) + return _sqlite3CorruptError(tls, int32(72701)) } (*TMemPage)(unsafe.Pointer(pPage)).FnFree = int32(uint16(nFree - iCellFirst)) return SQLITE_OK @@ -47280,11 +47519,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) { } pc = int32(*(*Tu8)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))< iCellLast { - return _sqlite3CorruptError(tls, int32(72343)) + return _sqlite3CorruptError(tls, int32(72732)) } sz = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return _sqlite3CorruptError(tls, int32(72348)) + return _sqlite3CorruptError(tls, int32(72737)) } goto _1 _1: @@ -47313,7 +47552,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating ** the b-tree page type. */ if _decodeFlags(tls, pPage, int32(*(*Tu8)(unsafe.Pointer(data)))) != 0 { - return _sqlite3CorruptError(tls, int32(72380)) + return _sqlite3CorruptError(tls, int32(72769)) } (*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1)) (*TMemPage)(unsafe.Pointer(pPage)).FnOverflow = uint8(0) @@ -47326,7 +47565,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FnCell = uint16(int32(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) { /* To many cells for a single page. The page must be corrupt */ - return _sqlite3CorruptError(tls, int32(72394)) + return _sqlite3CorruptError(tls, int32(72783)) } /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only ** possible for a root page of a table that contains no rows) then the @@ -47479,7 +47718,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe _, _ = pPage, rc if pgno > _btreePagecount(tls, pBt) { *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72537)) + return _sqlite3CorruptError(tls, int32(72926)) } rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly) if rc != 0 { @@ -47541,7 +47780,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) { _releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72609)) + return _sqlite3CorruptError(tls, int32(72998)) } (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0) } else { @@ -47629,7 +47868,7 @@ func _sqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt /* Set the variable isMemdb to true for an in-memory database, or ** false for a file-based database. */ - isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4192) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) + isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4256) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) /* flags fit in 8 bits */ /* Only a BTREE_SINGLE database can be BTREE_UNORDERED */ /* A BTREE_SINGLE database is always a temporary and/or ephemeral */ @@ -48415,7 +48654,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { ** The original design allowed these amounts to vary, but as of ** version 3.6.0, we require them to be fixed. */ - if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4201, uint64(3)) != 0 { + if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4265, uint64(3)) != 0 { goto page1_init_failed } /* EVIDENCE-OF: R-51873-39618 The page size for a database file is @@ -48453,7 +48692,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { } if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) { if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 { - rc = _sqlite3CorruptError(tls, int32(73547)) + rc = _sqlite3CorruptError(tls, int32(73936)) goto page1_init_failed } else { nPage = *(*Tu32)(unsafe.Pointer(bp + 8)) @@ -48894,7 +49133,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT if int32(eType) == int32(PTRMAP_OVERFLOW2) { /* The pointer is always the first 4 bytes of the page in this case. */ if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return _sqlite3CorruptError(tls, int32(73995)) + return _sqlite3CorruptError(tls, int32(74384)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -48918,7 +49157,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74014)) + return _sqlite3CorruptError(tls, int32(74403)) } if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) { _sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo) @@ -48927,7 +49166,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } } else { if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74023)) + return _sqlite3CorruptError(tls, int32(74412)) } if _sqlite3Get4byte(tls, pCell) == iFrom { _sqlite3Put4byte(tls, pCell, iTo) @@ -48941,7 +49180,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } if i == nCell { if int32(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom { - return _sqlite3CorruptError(tls, int32(74035)) + return _sqlite3CorruptError(tls, int32(74424)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo) } @@ -48971,7 +49210,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP iDbPage = (*TMemPage)(unsafe.Pointer(pDbPage)).Fpgno pPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager if iDbPage < uint32(3) { - return _sqlite3CorruptError(tls, int32(74070)) + return _sqlite3CorruptError(tls, int32(74459)) } /* Move page iDbPage from its current location to page number iFreePage */ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit) @@ -49067,7 +49306,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom return rc } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) { - return _sqlite3CorruptError(tls, int32(74168)) + return _sqlite3CorruptError(tls, int32(74557)) } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) { if bCommit == 0 { @@ -49105,7 +49344,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) - return _sqlite3CorruptError(tls, int32(74220)) + return _sqlite3CorruptError(tls, int32(74609)) } } rc = _relocatePage(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*Tu8)(unsafe.Pointer(bp)), *(*TPgno)(unsafe.Pointer(bp + 4)), *(*TPgno)(unsafe.Pointer(bp + 24)), bCommit) @@ -49172,7 +49411,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) { nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) nFin = _finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = _sqlite3CorruptError(tls, int32(74288)) + rc = _sqlite3CorruptError(tls, int32(74677)) } else { if nFree > uint32(0) { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -49215,7 +49454,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { ** is either a pointer-map page or the pending-byte page. If one ** is encountered, this indicates corruption. */ - return _sqlite3CorruptError(tls, int32(74339)) + return _sqlite3CorruptError(tls, int32(74728)) } nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) db = (*TBtree)(unsafe.Pointer(p)).Fdb @@ -49245,7 +49484,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { } nFin = _finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return _sqlite3CorruptError(tls, int32(74366)) + return _sqlite3CorruptError(tls, int32(74755)) } if nFin < nOrig { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -49711,7 +49950,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo /* Assert that the caller has opened the required transaction. */ if iTable <= uint32(1) { if iTable < uint32(1) { - return _sqlite3CorruptError(tls, int32(74830)) + return _sqlite3CorruptError(tls, int32(75219)) } else { if _btreePagecount(tls, pBt) == uint32(0) { iTable = uint32(0) @@ -50103,7 +50342,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin pBt = (*TBtCursor)(unsafe.Pointer(pCur)).FpBt /* Btree this cursor belongs to */ pBufStart = pBuf /* Start of original out buffer */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(75235)) + return _sqlite3CorruptError(tls, int32(75624)) } _getCellInfo(tls, pCur) aPayload = (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload @@ -50113,7 +50352,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ** but is recast into its current form to avoid integer overflow problems */ - return _sqlite3CorruptError(tls, int32(75250)) + return _sqlite3CorruptError(tls, int32(75639)) } /* Check if data must be read/written to/from the btree page itself. */ if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) { @@ -50141,7 +50380,11 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_ValidOvfl) == 0 { nOvfl = int32(((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload - uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) + ovflSize - uint32(1)) / ovflSize) if (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow == uintptr(0) || nOvfl*libc.Int32FromInt64(4) > _sqlite3MallocSize(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow) { - aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + if _sqlite3FaultSim(tls, int32(413)) != 0 { + aNew = uintptr(0) + } else { + aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + } if aNew == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -50152,6 +50395,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin p1 = pCur + 1 *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(BTCF_ValidOvfl)) } else { + /* Sanity check the validity of the overflow page cache */ /* If the overflow page-list cache has been allocated and the ** entry for the first required overflow page is valid, skip ** directly to it. @@ -50165,7 +50409,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin for *(*TPgno)(unsafe.Pointer(bp)) != 0 { /* If required, populate the overflow page-list cache. */ if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(75312)) + return _sqlite3CorruptError(tls, int32(75710)) } *(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp)) if offset >= ovflSize { @@ -50239,7 +50483,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin } if rc == SQLITE_OK && amt > uint32(0) { /* Overflow chain ends prematurely */ - return _sqlite3CorruptError(tls, int32(75396)) + return _sqlite3CorruptError(tls, int32(75794)) } return rc } @@ -50374,7 +50618,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { var v3, p1 uintptr _, _, _, _ = rc, v2, v3, p1 if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(75534)) + return _sqlite3CorruptError(tls, int32(75932)) } (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) p1 = pCur + 1 @@ -50386,7 +50630,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, newPgno, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(75548)) + rc = _sqlite3CorruptError(tls, int32(75946)) } if rc != 0 { v3 = pCur + 84 @@ -50502,7 +50746,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) { ** in such a way that page pRoot is linked into a second b-tree table ** (or the freelist). */ if int32((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) { - return _sqlite3CorruptError(tls, int32(75683)) + return _sqlite3CorruptError(tls, int32(76081)) } goto skip_init skip_init: @@ -50516,7 +50760,7 @@ skip_init: } else { if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) { if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) { - return _sqlite3CorruptError(tls, int32(75695)) + return _sqlite3CorruptError(tls, int32(76093)) } subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8))) (*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID) @@ -50750,7 +50994,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh break } if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(75937)) + return _sqlite3CorruptError(tls, int32(76342)) } } } @@ -50954,7 +51198,7 @@ func _sqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes p3 = pCur + 1 *(*Tu8)(unsafe.Pointer(p3)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p3))) & ^libc.Int32FromInt32(BTCF_ValidOvfl)) if !((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76133)) + return _sqlite3CorruptError(tls, int32(76538)) } goto bypass_moveto_root /* Start search on the current page */ } @@ -51017,7 +51261,7 @@ bypass_moveto_root: /* Invalid key size: 0x80 0x80 0x01 */ /* Minimum legal index key size */ if nCell < int32(2) || uint32(nCell)/(*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage { - rc = _sqlite3CorruptError(tls, int32(76220)) + rc = _sqlite3CorruptError(tls, int32(76625)) goto moveto_index_finish } pCellKey = _sqlite3Malloc(tls, uint64(nCell+nOverrun)) @@ -51048,7 +51292,7 @@ bypass_moveto_root: rc = SQLITE_OK (*TBtCursor)(unsafe.Pointer(pCur)).Fix = uint16(idx) if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 { - rc = _sqlite3CorruptError(tls, int32(76252)) + rc = _sqlite3CorruptError(tls, int32(76657)) } goto moveto_index_finish } @@ -51081,7 +51325,7 @@ bypass_moveto_root: p9 = pCur + 1 *(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl))) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(76283)) + return _sqlite3CorruptError(tls, int32(76688)) } *(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = uint16(lwr) *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage @@ -51090,7 +51334,7 @@ bypass_moveto_root: rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(76294)) + rc = _sqlite3CorruptError(tls, int32(76699)) } if rc != 0 { v11 = pCur + 84 @@ -51139,11 +51383,11 @@ func _sqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) (r Ti64) { var i Tu8 var n Ti64 _, _ = i, n - /* Currently this interface is only called by the OP_IfSmaller - ** opcode, and it that case the cursor will always be valid and - ** will always point to a leaf node. */ + /* Currently this interface is only called by the OP_IfSizeBetween + ** opcode and the OP_Count opcode with P3=1. In either case, + ** the cursor will always be valid unless the btree is empty. */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return int64(-int32(1)) + return 0 } if int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).Fleaf) == 0 { return int64(-int32(1)) @@ -51219,7 +51463,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76395)) + return _sqlite3CorruptError(tls, int32(76800)) } if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { @@ -51329,7 +51573,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76488)) + return _sqlite3CorruptError(tls, int32(76893)) } if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { idx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) @@ -51417,7 +51661,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt ** stores the total number of pages on the freelist. */ n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36) if n >= mxPage { - return _sqlite3CorruptError(tls, int32(76578)) + return _sqlite3CorruptError(tls, int32(76983)) } if n > uint32(0) { searchList = uint8(0) /* If the free-list must be searched for 'nearby' */ @@ -51472,7 +51716,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt nSearch++ } if v2 || v1 > n { - rc = _sqlite3CorruptError(tls, int32(76634)) + rc = _sqlite3CorruptError(tls, int32(77039)) } else { rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0) } @@ -51498,7 +51742,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) { /* Value of k is out of range. Database corruption */ - rc = _sqlite3CorruptError(tls, int32(76663)) + rc = _sqlite3CorruptError(tls, int32(77068)) goto end_allocate_page } else { if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -51525,7 +51769,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8) if iNewTrunk > mxPage { - rc = _sqlite3CorruptError(tls, int32(76697)) + rc = _sqlite3CorruptError(tls, int32(77102)) goto end_allocate_page } rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0) @@ -51596,7 +51840,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4))) if iPage > mxPage || iPage < uint32(2) { - rc = _sqlite3CorruptError(tls, int32(76762)) + rc = _sqlite3CorruptError(tls, int32(77167)) goto end_allocate_page } if !(searchList != 0) || (iPage == nearby || iPage < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -51734,7 +51978,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in iTrunk = uint32(0) /* Page number of free-list trunk page */ pPage1 = (*TBtShared)(unsafe.Pointer(pBt)).FpPage1 /* Initial number of pages on free-list */ if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(76889)) + return _sqlite3CorruptError(tls, int32(77294)) } if pMemPage != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage @@ -51785,7 +52029,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */ iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32) if iTrunk > _btreePagecount(tls, pBt) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76936)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77341)) goto freepage_out } *(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0) @@ -51794,7 +52038,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in } nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4) if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76947)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77352)) goto freepage_out } if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) { @@ -51884,7 +52128,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp _, _, _, _, _, _, _, _ = nOvfl, ovflPageSize, ovflPgno, pBt, rc, v1, v2, v3 if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { /* Cell extends past end of page */ - return _sqlite3CorruptError(tls, int32(77036)) + return _sqlite3CorruptError(tls, int32(77441)) } ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt @@ -51902,7 +52146,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp /* 0 is not a legal page number and page 1 cannot be an ** overflow page. Therefore if ovflPgno<2 or past the end of the ** file the database must be corrupt. */ - return _sqlite3CorruptError(tls, int32(77053)) + return _sqlite3CorruptError(tls, int32(77458)) } if nOvfl != 0 { rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp) @@ -51925,7 +52169,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp ** caller is iterating through or using in some other way, this ** can be problematic. */ - rc = _sqlite3CorruptError(tls, int32(77073)) + rc = _sqlite3CorruptError(tls, int32(77478)) } else { rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno) } @@ -52146,7 +52390,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { pc = uint32(int32(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77329)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77734)) return } rc = _freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -52540,12 +52784,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg sz = *(*Tu16)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FszCell + uintptr(i)*2)) if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) { if uint64(pCell+uintptr(sz)) > uint64(pEnd) { - return _sqlite3CorruptError(tls, int32(77718)) + return _sqlite3CorruptError(tls, int32(78123)) } pCell = pTmp + uintptr(int64(pCell)-int64(aData)) } else { if uint64(pCell+uintptr(sz)) > uint64(pSrcEnd) && uint64(pCell) < uint64(pSrcEnd) { - return _sqlite3CorruptError(tls, int32(77723)) + return _sqlite3CorruptError(tls, int32(78128)) } } pData -= uintptr(sz) @@ -52553,7 +52797,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*Tu8)(unsafe.Pointer(pCellptr + 1)) = uint8(int64(pData) - int64(aData)) pCellptr += uintptr(2) if pData < pCellptr { - return _sqlite3CorruptError(tls, int32(77729)) + return _sqlite3CorruptError(tls, int32(78134)) } libc.Xmemmove(tls, pData, pCell, uint64(sz)) i++ @@ -52648,7 +52892,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr ** database. But they might for a corrupt database. Hence use memmove() ** since memcpy() sends SIGABORT with overlapping buffers on OpenBSD */ if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(pEnd) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(pEnd) { - _sqlite3CorruptError(tls, int32(77814)) + _sqlite3CorruptError(tls, int32(78219)) return int32(1) } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz)) @@ -52796,7 +53040,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p if iOld < iNew { nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray) if nShift > nCell { - return _sqlite3CorruptError(tls, int32(77936)) + return _sqlite3CorruptError(tls, int32(78341)) } libc.Xmemmove(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), uint64(nCell*int32(2))) nCell -= nShift @@ -52867,7 +53111,7 @@ editpage_fail: ; /* Unable to edit this page. Rebuild it from scratch instead. */ if nNew < int32(1) { - return _sqlite3CorruptError(tls, int32(78010)) + return _sqlite3CorruptError(tls, int32(78415)) } _populateCellCache(tls, pCArray, iNew, nNew) return _rebuildPage(tls, pCArray, iNew, nNew, pPg) @@ -52912,7 +53156,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt _, _, _, _, _, _, _ = pBt, pOut, pStop, v1, v2, v3, v4 pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt /* Page number of pNew */ if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return _sqlite3CorruptError(tls, int32(78050)) + return _sqlite3CorruptError(tls, int32(78455)) } /* dbfuzz001.test */ /* Allocate a new page. This page will become the right-sibling of ** pPage. Make the parent page writable, so that the new divider cell @@ -53273,7 +53517,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa ** table-interior, index-leaf, or index-interior). */ if int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78471)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78876)) goto balance_cleanup } /* Load b.apCell[] with pointers to all cells in pOld. If pOld @@ -53296,7 +53540,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa libc.Xmemset(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*uint64(limit+int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow))) if int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 { if limit < int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78495)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78900)) goto balance_cleanup } limit = int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) @@ -53427,7 +53671,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa if i+int32(1) >= k { k = i + int32(2) if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78596)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79001)) goto balance_cleanup } (*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0 @@ -53470,7 +53714,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v10 = 0 } if cntNew[i] <= v10 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78629)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79034)) goto balance_cleanup } } @@ -53529,7 +53773,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v15 = 0 } if cntNew[i-int32(1)] <= v15 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78673)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79078)) goto balance_cleanup } goto _11 @@ -53561,7 +53805,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) nNew++ if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78706)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79111)) } if *(*int32)(unsafe.Pointer(bp)) != 0 { goto balance_cleanup @@ -53791,7 +54035,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa } pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8)) if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78906)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79311)) goto balance_cleanup } *(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno) @@ -54037,7 +54281,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) { break } if pOther != pCur && int32((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage { - return _sqlite3CorruptError(tls, int32(79138)) + return _sqlite3CorruptError(tls, int32(79543)) } goto _1 _1: @@ -54110,7 +54354,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) { /* The page being written is not a root page, and there is currently ** more than one reference to it. This only happens if the page is one ** of its own ancestor pages. Corruption. */ - rc = _sqlite3CorruptError(tls, int32(79198)) + rc = _sqlite3CorruptError(tls, int32(79603)) } else { pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8)) iIdx = int32(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2))) @@ -54269,7 +54513,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int return rc } if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = _sqlite3CorruptError(tls, int32(79362)) + rc = _sqlite3CorruptError(tls, int32(79767)) } else { if uint32(iOffset)+ovflPageSize < uint32(nTotal) { ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData) @@ -54300,7 +54544,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) { nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */ pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */ if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) { - return _sqlite3CorruptError(tls, int32(79390)) + return _sqlite3CorruptError(tls, int32(79795)) } if int32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal { /* The entire cell is local */ @@ -54385,7 +54629,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** Which can only happen if the SQLITE_NoSchemaError flag was set when ** the schema was loaded. This cannot be asserted though, as a user might ** set the flag, load the schema, and then unset the flag. */ - return _sqlite3CorruptError(tls, int32(79471)) + return _sqlite3CorruptError(tls, int32(79876)) } } /* Ensure that the cursor is not in the CURSOR_FAULT state and that it @@ -54477,7 +54721,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) { /* ^^^^^--- due to the moveToRoot() call above */ - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79594)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79999)) } else { *(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage) } @@ -54513,7 +54757,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) if *(*int32)(unsafe.Pointer(bp + 4)) == 0 { if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79636)) + return _sqlite3CorruptError(tls, int32(80041)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -54543,10 +54787,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ /* clearCell never fails when nLocal==nPayload */ if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) { - return _sqlite3CorruptError(tls, int32(79663)) + return _sqlite3CorruptError(tls, int32(80068)) } if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79666)) + return _sqlite3CorruptError(tls, int32(80071)) } libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 8)))) return SQLITE_OK @@ -54664,7 +54908,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79768)) + return _sqlite3CorruptError(tls, int32(80173)) } nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -54686,7 +54930,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T } if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79793)) + return _sqlite3CorruptError(tls, int32(80198)) } ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -54786,21 +55030,21 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { return *(*int32)(unsafe.Pointer(bp)) } } else { - return _sqlite3CorruptError(tls, int32(79889)) + return _sqlite3CorruptError(tls, int32(80294)) } } iCellDepth = int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) iCellIdx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return _sqlite3CorruptError(tls, int32(79898)) + return _sqlite3CorruptError(tls, int32(80303)) } pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx))))< _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80112)) + return _sqlite3CorruptError(tls, int32(80517)) } *(*TPgno)(unsafe.Pointer(bp + 8))++ /* The new root-page may not be allocated on a pointer-map page, or the @@ -55045,7 +55289,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36) if int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) { - *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80160)) + *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80565)) } if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -55126,14 +55370,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int var _ /* rc at bp+8 */ int32 _, _, _, _ = hdr, i, pCell, v2 if pgno > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80250)) + return _sqlite3CorruptError(tls, int32(80655)) } *(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0) if *(*int32)(unsafe.Pointer(bp + 8)) != 0 { return *(*int32)(unsafe.Pointer(bp + 8)) } if int32((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80257)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80662)) goto cleardatabasepage_out } hdr = int32((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset) @@ -55270,7 +55514,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) pBt = (*TBtree)(unsafe.Pointer(p)).FpBt if iTable > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80361)) + return _sqlite3CorruptError(tls, int32(80766)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -55535,7 +55779,7 @@ func _checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4205, int32(1)) + Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4269, int32(1)) } if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, pCheck+72, (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp+8, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv0, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -55583,11 +55827,11 @@ func _checkRef(tls *libc.TLS, pCheck uintptr, iPage TPgno) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if iPage > (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnCkPage || iPage == uint32(0) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4207, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4271, libc.VaList(bp+8, iPage)) return int32(1) } if _getPageReferenced(tls, pCheck, iPage) != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4230, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4294, libc.VaList(bp+8, iPage)) return int32(1) } _setPageReferenced(tls, pCheck, iPage) @@ -55613,11 +55857,11 @@ func _checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild TPgno, eType Tu8, iParen if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< (*TBtShared)(unsafe.Pointer((*TIntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize/uint32(4)-uint32(2) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4360, libc.VaList(bp+16, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4424, libc.VaList(bp+16, iPage)) N-- } else { i = 0 @@ -55689,11 +55933,11 @@ func _checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage TPgno, N } if N != 0 && nErrAtStart == (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr { if isFreeList != 0 { - v2 = __ccgo_ts + 4399 + v2 = __ccgo_ts + 4463 } else { - v2 = __ccgo_ts + 4404 + v2 = __ccgo_ts + 4468 } - _checkAppendMsg(tls, pCheck, __ccgo_ts+4425, libc.VaList(bp+16, v2, expected-N, expected)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4489, libc.VaList(bp+16, v2, expected-N, expected)) } } @@ -55829,12 +56073,12 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr if _checkRef(tls, pCheck, iPage) != 0 { return 0 } - (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4451 + (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4515 (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage v1 = _btreeGetPage(tls, pBt, iPage, bp+8, 0) rc = v1 if v1 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4469, libc.VaList(bp+56, rc)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4533, libc.VaList(bp+56, rc)) if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< usableSize-uint32(4) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4623, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4687, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) doCoverageCheck = 0 goto _4 } pCell = data + uintptr(pc) (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FxParseCell})))(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), pCell, bp+24) if pc+uint32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnSize) > usableSize { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4653, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4717, 0) doCoverageCheck = 0 goto _4 } @@ -55916,7 +56163,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr v5 = libc.BoolInt32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey >= *(*Ti64)(unsafe.Pointer(bp))) } if v5 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4677, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4741, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) } *(*Ti64)(unsafe.Pointer(bp)) = (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey keyCanBeEqual = 0 /* Only the first key on the page may ==maxKey */ @@ -55939,7 +56186,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr d2 = _checkTreePage(tls, pCheck, uint32(pgno), bp, *(*Ti64)(unsafe.Pointer(bp))) keyCanBeEqual = 0 if d2 != depth { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4701, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4765, 0) depth = d2 } } else { @@ -56016,7 +56263,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr prev = contentOffset - uint32(1) /* Implied first min-heap entry */ for _btreeHeapPull(tls, heap, bp+16) != 0 { if prev&uint32(0xffff) >= *(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4726, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4790, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) break } else { nFrag = int32(uint32(nFrag) + (*(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) - prev&libc.Uint32FromInt32(0xffff) - libc.Uint32FromInt32(1))) @@ -56030,7 +56277,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr ** number of fragmented free bytes within the cell content area. */ if *(*Tu32)(unsafe.Pointer(heap)) == uint32(0) && nFrag != int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4763, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4827, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) } } goto end_of_check @@ -56070,16 +56317,16 @@ end_of_check: // ** the unverified btrees. Except, if aRoot[1] is 1, then the freelist // ** checks are still performed. // */ -func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { - bp := tls.Alloc(256) - defer tls.Free(256) +func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, aCnt uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { + bp := tls.Alloc(272) + defer tls.Free(272) var bCkFreelist, bPartial int32 var i, mx, mxInHdr TPgno var pBt uintptr var savedDbFlags Tu64 - var _ /* notUsed at bp+224 */ Ti64 + var _ /* notUsed at bp+232 */ Ti64 var _ /* sCheck at bp+0 */ TIntegrityCk - var _ /* zErr at bp+120 */ [100]uint8 + var _ /* zErr at bp+128 */ [100]uint8 _, _, _, _, _, _, _ = bCkFreelist, bPartial, i, mx, mxInHdr, pBt, savedDbFlags pBt = (*TBtree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Tsqlite3)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags @@ -56093,13 +56340,13 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } } _sqlite3BtreeEnter(tls, p) - libc.Xmemset(tls, bp, 0, uint64(120)) + libc.Xmemset(tls, bp, 0, uint64(128)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fdb = db (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt = pBt (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage = _btreePagecount(tls, (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr = mxErr - _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+120, int32(100), int32(SQLITE_MAX_LENGTH)) + _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+128, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FerrMsg.FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage == uint32(0) { goto integrity_ck_cleanup @@ -56121,7 +56368,7 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin /* Check the integrity of the freelist */ if bCkFreelist != 0 { - (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4815 + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4879 _checkList(tls, bp, int32(1), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = uintptr(0) } @@ -56145,11 +56392,11 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } mxInHdr = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+52) if mx != mxInHdr { - _checkAppendMsg(tls, bp, __ccgo_ts+4826, libc.VaList(bp+240, mx, mxInHdr)) + _checkAppendMsg(tls, bp, __ccgo_ts+4890, libc.VaList(bp+248, mx, mxInHdr)) } } else { if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64) != uint32(0) { - _checkAppendMsg(tls, bp, __ccgo_ts+4871, 0) + _checkAppendMsg(tls, bp, __ccgo_ts+4935, 0) } } } @@ -56159,14 +56406,15 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin if !(int32(i) < nRoot && (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr != 0) { break } - if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == uint32(0) { - goto _2 - } - if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { - _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnRow = 0 + if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) != 0 { + if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { + _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + } + (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fv0 = *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) + _checkTreePage(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+232, libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)< nRec || iHdr >= *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84303)) + iHdr = uint32(uint8(v1)) + if *(*Tu32)(unsafe.Pointer(bp + 4)) > uint32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84745)) } - iField = *(*int32)(unsafe.Pointer(bp + 4)) + iField = int64(*(*Tu32)(unsafe.Pointer(bp + 4))) i = 0 for { if !(i <= iCol) { @@ -59157,19 +59436,19 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC } else { v3 = int32(_sqlite3GetVarint32(tls, a+uintptr(iHdr), bp)) } - iHdr += int32(uint8(v3)) - if iHdr > *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84309)) + iHdr += uint32(uint8(v3)) + if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84751)) } - szField = int32(_sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))) - iField += szField + szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp))) + iField += int64(szField) goto _2 _2: ; i++ } - if iField > nRec { - return _sqlite3CorruptError(tls, int32(84315)) + if iField > int64(nRec) { + return _sqlite3CorruptError(tls, int32(84757)) } if pMem == uintptr(0) { v4 = _sqlite3ValueNew(tls, db) @@ -59179,7 +59458,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return int32(SQLITE_NOMEM) } } - _sqlite3VdbeSerialGet(tls, a+uintptr(iField-szField), *(*Tu32)(unsafe.Pointer(bp)), pMem) + _sqlite3VdbeSerialGet(tls, a+uintptr(iField-int64(szField)), *(*Tu32)(unsafe.Pointer(bp)), pMem) (*TMem)(unsafe.Pointer(pMem)).Fenc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc return SQLITE_OK } @@ -59967,6 +60246,9 @@ func _resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* True because of tag-20230419-1 */ (*TOp)(unsafe.Pointer(pOp)).Fp2 = *(*int32)(unsafe.Pointer(aLabel + uintptr(^(*TOp)(unsafe.Pointer(pOp)).Fp2)*4)) } + /* OPFLG_JUMP opcodes never have P2==0, though OPFLG_JUMP0 opcodes + ** might */ + /* Jumps never go off the end of the bytecode array */ break } /* The mkopcodeh.tcl script has so arranged things that the only @@ -60479,7 +60761,7 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { switch int32((*TOp)(unsafe.Pointer(pOp)).Fp4type) { case -int32(8): pKeyInfo = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5083, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5147, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) j = 0 for { if !(j < int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)) { @@ -60489,66 +60771,66 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { if pColl != 0 { v2 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } zColl = v2 - if libc.Xstrcmp(tls, zColl, __ccgo_ts+5088) == 0 { - zColl = __ccgo_ts + 5095 + if libc.Xstrcmp(tls, zColl, __ccgo_ts+5152) == 0 { + zColl = __ccgo_ts + 5159 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_DESC) != 0 { - v3 = __ccgo_ts + 5076 + v3 = __ccgo_ts + 5140 } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_BIGNULL) != 0 { - v4 = __ccgo_ts + 5097 + v4 = __ccgo_ts + 5161 } else { - v4 = __ccgo_ts + 1650 + v4 = __ccgo_ts + 1664 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5100, libc.VaList(bp+40, v3, v4, zColl)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5164, libc.VaList(bp+40, v3, v4, zColl)) goto _1 _1: ; j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5172, int32(1)) case -int32(2): pColl1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5124, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5188, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) case -int32(7): pDef = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5133, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5197, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) case -int32(15): pDef1 = (*Tsqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpFunc - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5133, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5197, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) case -int32(13): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1406, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1425, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(3): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5140, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5204, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) case -int32(12): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1373, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1392, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(10): pMem = *(*uintptr)(unsafe.Pointer(pOp + 16)) if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Str) != 0 { zP4 = (*TMem)(unsafe.Pointer(pMem)).Fz } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1406, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1425, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1373, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1392, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Null) != 0 { - zP4 = __ccgo_ts + 1651 + zP4 = __ccgo_ts + 1665 } else { - zP4 = __ccgo_ts + 5143 + zP4 = __ccgo_ts + 5207 } } } } case -int32(11): pVtab = (*TVTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpVtab - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5150, libc.VaList(bp+40, pVtab)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5214, libc.VaList(bp+40, pVtab)) case -int32(14): ai = *(*uintptr)(unsafe.Pointer(pOp + 16)) n = *(*Tu32)(unsafe.Pointer(ai)) /* The first element of an INTARRAY is always the @@ -60563,15 +60845,15 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } else { v6 = int32(',') } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5158, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5222, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) goto _5 _5: ; i++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5163, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5227, int32(1)) case -int32(4): - zP4 = __ccgo_ts + 5165 + zP4 = __ccgo_ts + 5229 case -int32(5): zP4 = (*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FzName default: @@ -60587,10 +60869,10 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } var _encnames = [4]uintptr{ - 0: __ccgo_ts + 5110, - 1: __ccgo_ts + 5112, - 2: __ccgo_ts + 5114, - 3: __ccgo_ts + 5119, + 0: __ccgo_ts + 5174, + 1: __ccgo_ts + 5176, + 2: __ccgo_ts + 5178, + 3: __ccgo_ts + 5183, } // C documentation @@ -61541,7 +61823,7 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { retryCount = 0 /* Select a super-journal file name */ nMainFile = _sqlite3Strlen30(tls, zMainFile) - zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5173, libc.VaList(bp+24, 0, zMainFile, 0)) + zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5237, libc.VaList(bp+24, 0, zMainFile, 0)) if zSuper == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -61549,18 +61831,18 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { for cond := true; cond; cond = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8)) != 0 { if retryCount != 0 { if retryCount > int32(100) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5185, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5249, libc.VaList(bp+24, zSuper)) _sqlite3OsDelete(tls, pVfs, zSuper, 0) break } else { if retryCount == int32(1) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5199, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5263, libc.VaList(bp+24, zSuper)) } } } retryCount++ Xsqlite3_randomness(tls, int32(4), bp+12) - Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5214, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) + Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5278, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) /* The antipenultimate character of the super-journal name must ** be "9" to avoid name collisions when using 8+3 filenames. */ rc = _sqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+8) @@ -61791,7 +62073,7 @@ func _sqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) (r int32) { if deferred != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > 0 || !(deferred != 0) && (*TVdbe)(unsafe.Pointer(p)).FnFkConstraint > 0 { (*TVdbe)(unsafe.Pointer(p)).Frc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(3)< y { return +libc.Int32FromInt32(1) } - s = float64(i) - if s < r { + if float64(i) < r { v2 = -int32(1) } else { - v2 = libc.BoolInt32(s > r) + v2 = libc.BoolInt32(float64(i) > r) } return v2 } @@ -63100,7 +63381,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89131))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89580))) return 0 /* Corruption */ } /* Only needed by assert() statements */ @@ -63190,7 +63471,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr pKeyInfo = v4 } if v5 || int32((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89212))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89661))) return 0 /* Corruption */ } else { if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { @@ -63225,7 +63506,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } else { nStr = int32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2)) if d1+uint32(nStr) > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89242))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89691))) return 0 /* Corruption */ } else { if int32((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 { @@ -63279,7 +63560,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } idx1 += uint32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68))))) if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89293))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89742))) return 0 /* Corrupt index */ } } @@ -63411,7 +63692,7 @@ vrcs_restart: szHdr = int32(*(*Tu8)(unsafe.Pointer(aKey1))) nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2) if szHdr+nStr > nKey1 { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89456))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89905))) return 0 /* Corruption */ } if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr { @@ -63563,7 +63844,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr idx_rowid_corruption: ; _sqlite3VdbeMemReleaseMalloc(tls, bp+8) - return _sqlite3CorruptError(tls, int32(89614)) + return _sqlite3CorruptError(tls, int32(90063)) } // C documentation @@ -63594,7 +63875,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked ** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */ if nCellKey <= 0 || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return _sqlite3CorruptError(tls, int32(89647)) + return _sqlite3CorruptError(tls, int32(90096)) } _sqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, uint32(nCellKey), bp) @@ -63745,15 +64026,15 @@ func _sqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) (r int32) { pOp = (*TVdbe)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe)).FaOp + uintptr((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FiOp)*24 if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fopcode) == int32(OP_PureFunc) { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_IsCheck) != 0 { - zContext = __ccgo_ts + 5257 + zContext = __ccgo_ts + 5321 } else { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_GenCol) != 0 { - zContext = __ccgo_ts + 5276 + zContext = __ccgo_ts + 5340 } else { - zContext = __ccgo_ts + 5295 + zContext = __ccgo_ts + 5359 } } - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5304, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5368, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) return 0 @@ -63927,7 +64208,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) (r int32) { // */ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { if (*TVdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5340, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5404, 0) return int32(1) } else { return 0 @@ -63937,7 +64218,7 @@ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { func _vdbeSafetyNotNull(tls *libc.TLS, p uintptr) (r int32) { if p == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5385, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5449, 0) return int32(1) } else { return _vdbeSafety(tls, p) @@ -63995,7 +64276,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt db = (*TVdbe)(unsafe.Pointer(v)).Fdb if _vdbeSafety(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90035)) + return _sqlite3MisuseError(tls, int32(90484)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 { @@ -64498,7 +64779,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { // /* Force an SQLITE_TOOBIG error. */ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FisError = int32(SQLITE_TOOBIG) - _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5425, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) + _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5489, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) } // C documentation @@ -64699,7 +64980,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt /* the prepared statement */ cnt = 0 /* The database connection */ if _vdbeSafetyNotNull(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90829)) + return _sqlite3MisuseError(tls, int32(91278)) } db = (*TVdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) @@ -64829,7 +65110,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32 _, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1 *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) if pVal == uintptr(0) { - return _sqlite3MisuseError(tls, int32(90950)) + return _sqlite3MisuseError(tls, int32(91399)) } if int32((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) { return int32(SQLITE_ERROR) @@ -65289,18 +65570,18 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) (r int32) { // ** Column names appropriate for EXPLAIN or EXPLAIN QUERY PLAN. // */ var _azExplainColNames8 = [12]uintptr{ - 0: __ccgo_ts + 5448, - 1: __ccgo_ts + 5453, - 2: __ccgo_ts + 5460, - 3: __ccgo_ts + 5463, - 4: __ccgo_ts + 5466, - 5: __ccgo_ts + 5469, - 6: __ccgo_ts + 5472, - 7: __ccgo_ts + 5475, - 8: __ccgo_ts + 5483, - 9: __ccgo_ts + 5486, - 10: __ccgo_ts + 5493, - 11: __ccgo_ts + 5501, + 0: __ccgo_ts + 5512, + 1: __ccgo_ts + 5517, + 2: __ccgo_ts + 5524, + 3: __ccgo_ts + 5527, + 4: __ccgo_ts + 5530, + 5: __ccgo_ts + 5533, + 6: __ccgo_ts + 5536, + 7: __ccgo_ts + 5539, + 8: __ccgo_ts + 5547, + 9: __ccgo_ts + 5550, + 10: __ccgo_ts + 5557, + 11: __ccgo_ts + 5565, } var _azExplainColNames16data = [60]Tu16{ 0: uint16('a'), @@ -65544,14 +65825,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) { var v2 bool _, _, _ = pVar, v1, v2 if _vdbeSafetyNotNull(tls, p) != 0 { - return _sqlite3MisuseError(tls, int32(91554)) + return _sqlite3MisuseError(tls, int32(92003)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if int32((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) { - _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(91558))) + _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(92007))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5508, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) - return _sqlite3MisuseError(tls, int32(91562)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5572, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) + return _sqlite3MisuseError(tls, int32(92011)) } if i >= uint32((*TVdbe)(unsafe.Pointer(p)).FnVar) { _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE)) @@ -66115,7 +66396,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp /* Test that this call is being made from within an SQLITE_DELETE or ** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */ if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) { - rc = _sqlite3MisuseError(tls, int32(92098)) + rc = _sqlite3MisuseError(tls, int32(92547)) goto preupdate_old_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 { @@ -66245,7 +66526,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp rc = SQLITE_OK p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) { - rc = _sqlite3MisuseError(tls, int32(92221)) + rc = _sqlite3MisuseError(tls, int32(92670)) goto preupdate_new_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) { @@ -66419,7 +66700,7 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr break } } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5548, int32(3)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5612, int32(3)) Xsqlite3_str_append(tls, bp+8, zStart, int32(int64(zRawSql)-int64(zStart))) } } else { @@ -66451,13 +66732,13 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr nextIndex = v2 pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(*(*int32)(unsafe.Pointer(bp))-int32(1))*56 if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1651, int32(4)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1665, int32(4)) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1406, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1425, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5069, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5133, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Str) != 0 { /* Number of bytes of the string text to include in output */ enc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc @@ -66472,28 +66753,28 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr pVar = bp + 40 } nOut = (*TMem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5552, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5616, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != int32(SQLITE_UTF8) { _sqlite3VdbeMemRelease(tls, bp+40) } } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5559, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5623, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) } else { /* Number of bytes of the blob to include in output */ - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5572, int32(2)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5636, int32(2)) nOut1 = (*TMem)(unsafe.Pointer(pVar)).Fn i = 0 for { if !(i < nOut1) { break } - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5575, libc.VaList(bp+104, int32(*(*uint8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5639, libc.VaList(bp+104, int32(*(*uint8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) goto _3 _3: ; i++ } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5580, int32(1)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5644, int32(1)) } } } @@ -67093,7 +67374,7 @@ var _azTypes = [5]uintptr{ 1: __ccgo_ts + 1146, 2: __ccgo_ts + 1151, 3: __ccgo_ts + 1129, - 4: __ccgo_ts + 1651, + 4: __ccgo_ts + 1665, } // C documentation @@ -67107,7 +67388,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { defer tls.Free(976) var aCol, aMem, aOffset, aOp, aPermute, aRoot, apArg, apArg1, db, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pnErr, t1, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v240, v241, v242, v250, v251, v252, v253, v255, v263, v278, v279, v286, v288, v297, v298, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 uintptr var affinity uint8 - var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 + var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, savedAnalysisLimit, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 var colCacheCtr, iAddr, iMap, iPrior, idx, len11, n3, p22, p23, serialType, serial_type, v213, v214, v216, v221, v222 Tu32 var encoding, isWriteLock, mTrace, op, p5, resetSchemaOnFault, vtabOnConflict, v225 Tu8 var flags1, flags11, flags2, flags3, flags31, newType, nullFlag, type1, type2, typeMask, v190 Tu16 @@ -67164,7 +67445,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { var _ /* z at bp+688 */ uintptr var _ /* zErr at bp+632 */ uintptr var _ /* zErr at bp+792 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, savedAnalysisLimit, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 aOp = (*TVdbe)(unsafe.Pointer(p)).FaOp /* Copy of p->aOp */ pOp = aOp /* Current operation */ rc = SQLITE_OK /* Value to return */ @@ -67434,7 +67715,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto _109 case int32(OP_SeekEnd): goto _110 - case int32(OP_IfSmaller): + case int32(OP_IfSizeBetween): goto _111 case int32(OP_Sort): goto _112 @@ -67728,7 +68009,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: EndCoroutine */ _5: - ; /* jump */ + ; /* jump0 */ pOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 *(*Ti64)(unsafe.Pointer(pOut)) = int64((*TOp)(unsafe.Pointer(pOp)).Fp3 - int32(1)) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Int) @@ -67748,7 +68029,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** ** The instruction at the address in register P1 is a Yield. ** Jump to the P2 parameter of that Yield. - ** After the jump, register P1 becomes undefined. + ** After the jump, the value register P1 is left with a value + ** such that subsequent OP_Yields go back to the this same + ** OP_EndCoroutine instruction. ** ** See also: InitCoroutine */ @@ -67756,8 +68039,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ; pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 pCaller = aOp + uintptr(*(*Ti64)(unsafe.Pointer(pIn1)))*24 + *(*Ti64)(unsafe.Pointer(pIn1)) = int64(int32((int64(pOp)-int64((*TVdbe)(unsafe.Pointer(p)).FaOp))/24) - int32(1)) pOp = aOp + uintptr((*TVdbeOp)(unsafe.Pointer(pCaller)).Fp2-int32(1))*24 - (*TMem)(unsafe.Pointer(pIn1)).Fflags = uint16(MEM_Undefined) goto _187 /* Opcode: Yield P1 P2 * * * ** @@ -67854,15 +68137,15 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TVdbe)(unsafe.Pointer(p)).FerrorAction = uint8((*TOp)(unsafe.Pointer(pOp)).Fp2) if (*TVdbe)(unsafe.Pointer(p)).Frc != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+5616, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) + _sqlite3VdbeError(tls, p, __ccgo_ts+5680, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) if *(*uintptr)(unsafe.Pointer(pOp + 16)) != 0 { - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5637, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5701, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } } else { - _sqlite3VdbeError(tls, p, __ccgo_ts+3797, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3861, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } pcx = int32((int64(pOp) - int64(aOp)) / 24) - Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5644, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5708, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) } rc = _sqlite3VdbeHalt(tls, p) if rc == int32(SQLITE_BUSY) { @@ -68054,13 +68337,10 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } (*TMem)(unsafe.Pointer(pOut)).Fenc = encoding goto _187 - /* Opcode: Variable P1 P2 * P4 * - ** Synopsis: r[P2]=parameter(P1,P4) + /* Opcode: Variable P1 P2 * * * + ** Synopsis: r[P2]=parameter(P1) ** ** Transfer the values of bound parameter P1 into register P2 - ** - ** If the parameter is named, then its name appears in P4. - ** The P4 value is used by sqlite3_bind_parameter_name(). */ _19: ; /* Value being transferred */ @@ -68583,7 +68863,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** raise an SQLITE_MISMATCH exception. */ _38: - ; /* jump, in1 */ + ; /* jump0, in1 */ pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 if int32((*TMem)(unsafe.Pointer(pIn1)).Fflags)&int32(MEM_Int) == 0 { _applyAffinity(tls, pIn1, uint8(SQLITE_AFF_NUMERIC), encoding) @@ -69588,7 +69868,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24 goto _187 } else { - rc = _sqlite3CorruptError(tls, int32(95863)) + rc = _sqlite3CorruptError(tls, int32(96311)) goto abort_due_to_error } /* Opcode: TypeCheck P1 P2 P3 P4 * @@ -69691,7 +69971,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_type_error vdbe_type_error: ; - _sqlite3VdbeError(tls, p, __ccgo_ts+5668, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) + _sqlite3VdbeError(tls, p, __ccgo_ts+5732, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(12)< 0 && p12 == int32(SAVEPOINT_RELEASE) { /* It is not possible to release (commit) a savepoint if there are ** active write statements. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5782, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5846, 0) rc = int32(SQLITE_BUSY) } else { /* Determine whether or not this is a transaction savepoint. If so, @@ -70287,7 +70567,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If this instruction implements a COMMIT and other VMs are writing ** return an error indicating that the other VMs must complete first. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5836, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5900, 0) rc = int32(SQLITE_BUSY) goto abort_due_to_error } else { @@ -70317,12 +70597,12 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_return } else { if !(desiredAutoCommit != 0) { - v250 = __ccgo_ts + 5891 + v250 = __ccgo_ts + 5955 } else { if iRollback != 0 { - v251 = __ccgo_ts + 5939 + v251 = __ccgo_ts + 6003 } else { - v251 = __ccgo_ts + 5982 + v251 = __ccgo_ts + 6046 } v250 = v251 } @@ -70414,7 +70694,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** SQL statement was prepared. */ _sqlite3DbFree(tls, db, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg) - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6023) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6087) /* If the schema-cookie from the database file matches the cookie ** stored with the in-memory representation of the schema, do ** not reload the schema from the database file. @@ -70732,7 +71012,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** form sqlite3BtreeInsert() where the length of the data is zero. */ /* Only used when number of columns is zero */ (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fn = 0 - (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1650 + (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1664 } pCx1 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) if pCx1 != 0 && !(int32(TBool(*(*uint8)(unsafe.Pointer(pCx1 + 8))&0x8>>3)) != 0) && (*TOp)(unsafe.Pointer(pOp)).Fp2 <= int32((*TVdbeCursor)(unsafe.Pointer(pCx1)).FnField) { @@ -70837,7 +71117,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** is the only cursor opcode that works with a pseudo-table. ** ** P3 is the number of fields in the records that will be stored by - ** the pseudo-table. + ** the pseudo-table. If P2 is 0 or negative then the pseudo-cursor + ** will return NULL for every column. */ _83: ; @@ -70955,11 +71236,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: Found, NotFound, SeekGt, SeekGe, SeekLt */ _88: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _87: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _86: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _85: ; /* Only interested in == results */ pC5 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -71522,7 +71803,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TVdbeCursor)(unsafe.Pointer(pC10)).FseekResult = *(*int32)(unsafe.Pointer(bp + 248)) if *(*int32)(unsafe.Pointer(bp + 248)) != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 { - rc = _sqlite3CorruptError(tls, int32(98111)) + rc = _sqlite3CorruptError(tls, int32(98565)) } else { goto jump_to_p2 } @@ -72122,10 +72403,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } goto _187 - /* Opcode: IfSmaller P1 P2 P3 * * + /* Opcode: IfSizeBetween P1 P2 P3 P4 * + ** + ** Let N be the approximate number of rows in the table or index + ** with cursor P1 and let X be 10*log2(N) if N is positive or -1 + ** if N is zero. ** - ** Estimate the number of rows in the table P1. Jump to P2 if that - ** estimate is less than approximately 2**(0.1*P3). + ** Jump to P2 if X is in between P3 and P4, inclusive. */ _111: ; @@ -72135,12 +72419,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { goto abort_due_to_error } - if *(*int32)(unsafe.Pointer(bp + 396)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { + sz = int64(-int32(1)) /* -Infinity encoding */ + } else { sz = _sqlite3BtreeRowCountEst(tls, pCrsr5) - if sz >= 0 && int32(_sqlite3LogEst(tls, uint64(sz))) < (*TOp)(unsafe.Pointer(pOp)).Fp3 { - *(*int32)(unsafe.Pointer(bp + 396)) = int32(1) - } + sz = int64(_sqlite3LogEst(tls, uint64(sz))) } + *(*int32)(unsafe.Pointer(bp + 396)) = libc.BoolInt32(sz >= int64((*TOp)(unsafe.Pointer(pOp)).Fp3) && sz <= int64((*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { goto jump_to_p2 } @@ -72410,7 +72695,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } else { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) { - rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) { - rc = _sqlite3CorruptError(tls, int32(99398)) + rc = _sqlite3CorruptError(tls, int32(99862)) goto abort_due_to_error } _sqlite3VdbeMemInit(tls, bp+552, db, uint16(0)) @@ -72707,11 +72992,18 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } *(*Ti64)(unsafe.Pointer(pOut)) = int64(*(*TPgno)(unsafe.Pointer(bp + 624))) goto _187 - /* Opcode: SqlExec * * * P4 * + /* Opcode: SqlExec P1 P2 * P4 * ** ** Run the SQL statement or statements specified in the P4 string. - ** Disable Auth and Trace callbacks while those statements are running if - ** P1 is true. + ** + ** The P1 parameter is a bitmask of options: + ** + ** 0x0001 Disable Auth and Trace callbacks while the statements + ** in P4 are running. + ** + ** 0x0002 Set db->nAnalysisLimit to P2 while the statements in + ** P4 are running. + ** */ _132: ; @@ -72719,16 +73011,21 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*uintptr)(unsafe.Pointer(bp + 632)) = uintptr(0) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth mTrace = (*Tsqlite3)(unsafe.Pointer(db)).FmTrace - if (*TOp)(unsafe.Pointer(pOp)).Fp1 != 0 { + savedAnalysisLimit = (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0001) != 0 { (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(0) } + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0002) != 0 { + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (*TOp)(unsafe.Pointer(pOp)).Fp2 + } rc = Xsqlite3_exec(tls, db, *(*uintptr)(unsafe.Pointer(pOp + 16)), uintptr(0), uintptr(0), bp+632) (*Tsqlite3)(unsafe.Pointer(db)).FnSqlExec-- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = mTrace + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = savedAnalysisLimit if *(*uintptr)(unsafe.Pointer(bp + 632)) != 0 || rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3797, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3861, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 632))) if rc == int32(SQLITE_NOMEM) { goto no_mem @@ -72759,13 +73056,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_SchemaChange) libc.SetBitFieldPtr16Uint32(p+200, libc.Uint32FromInt32(0), 0, 0x3) } else { - zSchema = __ccgo_ts + 6068 + zSchema = __ccgo_ts + 6132 (*(*TInitData)(unsafe.Pointer(bp + 640))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 640))).FiDb = iDb3 (*(*TInitData)(unsafe.Pointer(bp + 640))).FpzErrMsg = p + 168 (*(*TInitData)(unsafe.Pointer(bp + 640))).FmInitFlags = uint32(0) (*(*TInitData)(unsafe.Pointer(bp + 640))).FmxPage = _sqlite3BtreeLastPage(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6082, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6146, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -72780,7 +73077,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* The OP_ParseSchema opcode with a non-NULL P4 argument should parse ** at least one SQL statement. Any less than that indicates that ** the sqlite_schema table is corrupt. */ - rc = _sqlite3CorruptError(tls, int32(99678)) + rc = _sqlite3CorruptError(tls, int32(100155)) } _sqlite3DbFreeNN(tls, db, zSql) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) @@ -72846,11 +73143,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* Opcode: IntegrityCk P1 P2 P3 P4 P5 ** ** Do an analysis of the currently open database. Store in - ** register P1 the text of an error message describing any problems. - ** If no problems are found, store a NULL in register P1. + ** register (P1+1) the text of an error message describing any problems. + ** If no problems are found, store a NULL in register (P1+1). ** - ** The register P3 contains one less than the maximum number of allowed errors. - ** At most reg(P3) errors will be reported. + ** The register (P1) contains one less than the maximum number of allowed + ** errors. At most reg(P1) errors will be reported. ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. ** @@ -72866,9 +73163,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ; /* Register keeping track of errors remaining */ nRoot = (*TOp)(unsafe.Pointer(pOp)).Fp2 aRoot = *(*uintptr)(unsafe.Pointer(pOp + 16)) - pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 - pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 - rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) + pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 + pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1+int32(1))*56 + rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, aMem+uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) _sqlite3VdbeMemSetNull(tls, pIn1) if *(*int32)(unsafe.Pointer(bp + 680)) == 0 { } else { @@ -72974,7 +73271,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** P1 contains the address of the memory cell that contains the first memory ** cell in an array of values used as arguments to the sub-program. P2 ** contains the address to jump to if the sub-program throws an IGNORE - ** exception using the RAISE() function. Register P3 contains the address + ** exception using the RAISE() function. P2 might be zero, if there is + ** no possibility that an IGNORE exception will be raised. + ** Register P3 contains the address ** of a memory cell in this (the parent) VM that is used to allocate the ** memory required by the sub-vdbe at runtime. ** @@ -73015,7 +73314,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } if (*TVdbe)(unsafe.Pointer(p)).FnFrame >= *(*int32)(unsafe.Pointer(db + 136 + 10*4)) { rc = int32(SQLITE_ERROR) - _sqlite3VdbeError(tls, p, __ccgo_ts+6125, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6189, 0) goto abort_due_to_error } /* Register pRt is used to store the memory required to save the state @@ -73379,7 +73678,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } /* IMP: R-24505-23230 */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3797, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3861, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError } if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FskipFlag != 0 { @@ -73435,7 +73734,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3VdbeMemFinalize(tls, pMem3, *(*uintptr)(unsafe.Pointer(pOp + 16))) } if rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3797, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3861, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) goto abort_due_to_error } _sqlite3VdbeChangeEncoding(tls, pMem3, int32(encoding)) @@ -73514,11 +73813,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeRead > int32(1) { rc = int32(SQLITE_ERROR) if eNew == int32(PAGER_JOURNALMODE_WAL) { - v286 = __ccgo_ts + 6162 + v286 = __ccgo_ts + 6226 } else { - v286 = __ccgo_ts + 6167 + v286 = __ccgo_ts + 6231 } - _sqlite3VdbeError(tls, p, __ccgo_ts+6174, libc.VaList(bp+944, v286)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6238, libc.VaList(bp+944, v286)) goto abort_due_to_error } else { if eOld == int32(PAGER_JOURNALMODE_WAL) { @@ -73671,7 +73970,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { if rc&int32(0xFF) == int32(SQLITE_LOCKED) { z1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - _sqlite3VdbeError(tls, p, __ccgo_ts+6226, libc.VaList(bp+944, z1)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6290, libc.VaList(bp+944, z1)) } goto abort_due_to_error } @@ -73833,7 +74132,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TValueList)(unsafe.Pointer(pRhs)).FpOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 pOut = _out2Prerelease(tls, p, pOp) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null) - _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6255, __ccgo_fp(_sqlite3VdbeValueListFree)) + _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6319, __ccgo_fp(_sqlite3VdbeValueListFree)) goto _187 /* Opcode: VFilter P1 P2 P3 P4 * ** Synopsis: iplan=r[P3] zplan='P4' @@ -73929,7 +74228,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_module)(unsafe.Pointer(pModule4)).FxColumn})))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 48)), bp+800, (*TOp)(unsafe.Pointer(pOp)).Fp2) _sqlite3VtabImportErrmsg(tls, p, pVtab4) if (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3797, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3861, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) rc = (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError } _sqlite3VdbeChangeEncoding(tls, pDest2, int32(encoding)) @@ -74183,7 +74482,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If the function returned an error, throw an exception */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3797, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3861, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError } _sqlite3VdbeDeleteAuxData(tls, db, p+296, (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FiOp, (*TOp)(unsafe.Pointer(pOp)).Fp1) @@ -74334,7 +74633,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { Xsqlite3_free(tls, z2) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeExec > int32(1) { - z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6265, libc.VaList(bp+944, zTrace)) + z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6329, libc.VaList(bp+944, zTrace)) (*(*func(*libc.TLS, Tu32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(&(*Tsqlite3)(unsafe.Pointer(db)).Ftrace))})))(tls, uint32(SQLITE_TRACE_STMT), (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) _sqlite3DbFree(tls, db, z3) } else { @@ -74406,15 +74705,15 @@ abort_due_to_error: rc = int32(SQLITE_NOMEM) } else { if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)<op on success */ - pTab = uintptr(0) /* A column of pTab */ - *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, cntTab, db, eNewExprOp, hCol, hCol1, hit, i, iCol, j, nSubquery, op, pCol, pEList, pItem, pMatch, pOrig, pSchema, pSrcList, pTab, pTopNC, pUpsert, zAs, zCol, zErr, v10, v5, v7, v8 /* Loop counters */ + cnt = 0 /* Number of matching column names */ + cntTab = 0 /* Number of potential "rowid" matches */ + nSubquery = 0 /* How many levels of subquery */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Use for looping over pSrcList items */ + pMatch = uintptr(0) /* The matching pSrcList item */ + pTopNC = pNC /* First namecontext in the list */ + pSchema = uintptr(0) /* Schema of the expression */ + eNewExprOp = int32(TK_COLUMN) /* New value for pExpr->op on success */ + pTab = uintptr(0) /* A column of pTab */ + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + zCol = *(*uintptr)(unsafe.Pointer(pRight + 8)) /* the name context cannot be NULL. */ /* The Z in X.Y.Z cannot be NULL */ /* Initialize the node to no-match */ @@ -79299,7 +79599,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ; i++ } - if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6587, zDb) == 0 { + if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6651, zDb) == 0 { /* This branch is taken when the main database has been renamed ** using SQLITE_DBCONFIG_MAINDBNAME. */ pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema @@ -79392,7 +79692,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TTable)(unsafe.Pointer(pTab)).FpSchema != pSchema { goto _2 } - if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6592) != 0 { + if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6656) != 0 { goto _2 } } @@ -79504,16 +79804,16 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != uintptr(0) { op = int32((*TParse)(unsafe.Pointer(pParse)).FeTriggerOp) if (*TParse)(unsafe.Pointer(pParse)).FbReturning != 0 { - if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0) { + if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0 || _isValidSchemaTableName(tls, zTab, (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab, uintptr(0)) != 0) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = libc.BoolInt32(op != int32(TK_DELETE)) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } } else { - if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6594, zTab) == 0 { + if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6658, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(1) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } else { - if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6598, zTab) == 0 { + if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6662, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = 0 pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } @@ -79522,7 +79822,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UUpsert) != 0 && zTab != uintptr(0) { pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16)) - if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6602, zTab) == 0 { + if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6666, zTab) == 0 { pTab = (*(*TSrcItem)(unsafe.Pointer((*TUpsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8))).FpTab (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(EXCLUDED_TABLE_NUMBER) } @@ -79638,15 +79938,15 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if int32(uint32(*(*uint16)(unsafe.Pointer(pEList + 8 + uintptr(j)*32 + 16 + 4))&0x3>>0)) == ENAME_NAME && Xsqlite3_stricmp(tls, zAs, zCol) == 0 { pOrig = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(j)*32))).FpExpr if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 && (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6611, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6675, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Win)) != uint32(0) && ((*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 || pNC != pTopNC) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6642, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6706, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if _sqlite3ExprVectorSize(tls, pOrig) != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6679, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6743, 0) return int32(WRC_Abort) } _resolveAlias(tls, pParse, pEList, j, pExpr, nSubquery) @@ -79698,7 +79998,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** a huge amount of legacy SQL that uses it. So for now, we just ** issue a warning. */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6697, libc.VaList(bp+24, zCol)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6761, libc.VaList(bp+24, zCol)) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_STRING) libc.Xmemset(tls, pExpr+64, 0, uint64(8)) return int32(WRC_Prune) @@ -79727,7 +80027,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } _extendFJMatch(tls, pParse, bp, pMatch, (*TExpr)(unsafe.Pointer(pExpr)).FiColumn) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_FUNCTION) - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6732 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6796 *(*uintptr)(unsafe.Pointer(pExpr + 32)) = *(*uintptr)(unsafe.Pointer(bp)) cnt = int32(1) goto lookupname_end @@ -79737,18 +80037,22 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } } if cnt == 0 { - v10 = __ccgo_ts + 6741 + v10 = __ccgo_ts + 6805 } else { - v10 = __ccgo_ts + 6756 + v10 = __ccgo_ts + 6820 } zErr = v10 if zDb != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6778, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6842, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) } else { if zTab != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6791, libc.VaList(bp+24, zErr, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6855, libc.VaList(bp+24, zErr, zTab, zCol)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6801, libc.VaList(bp+24, zErr, zCol)) + if cnt == 0 && (*TExpr)(unsafe.Pointer(pRight)).Fflags&uint32(libc.Int32FromInt32(EP_DblQuoted)) != uint32(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6865, libc.VaList(bp+24, zErr, zCol)) + } else { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6926, libc.VaList(bp+24, zErr, zCol)) + } } } _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -79778,8 +80082,12 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** If a generated column is referenced, set bits for every column ** of the table. */ - if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 && cnt == int32(1) && pMatch != uintptr(0) { - *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + if pMatch != 0 { + if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { + *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + } else { + libc.SetBitFieldPtr16Uint32(pMatch+60+4, libc.Uint32FromInt32(1), 14, 0x4000) + } } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(eNewExprOp) goto lookupname_end @@ -79872,19 +80180,19 @@ func _notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pEx defer tls.Free(32) var zIn uintptr _ = zIn - zIn = __ccgo_ts + 6808 + zIn = __ccgo_ts + 6933 if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IdxExpr) != 0 { - zIn = __ccgo_ts + 6836 + zIn = __ccgo_ts + 6961 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IsCheck) != 0 { - zIn = __ccgo_ts + 6854 + zIn = __ccgo_ts + 6979 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_GenCol) != 0 { - zIn = __ccgo_ts + 6872 + zIn = __ccgo_ts + 6997 } } } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6890, libc.VaList(bp+8, zMsg, zIn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7015, libc.VaList(bp+8, zMsg, zIn)) if pExpr != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } @@ -79932,8 +80240,8 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { var anRef [8]int32 var auth, i, is_agg, n, nLeft, nRef, nRight, no_such_func, rc, savedAllowFlags, wrong_num_args, v12, v4, v6, v7 int32 var enc Tu8 - var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zColumn, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zColumn, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 + var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 pNC = *(*uintptr)(unsafe.Pointer(pWalker + 40)) pParse = (*TNameContext)(unsafe.Pointer(pNC)).FpParse switch int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) { @@ -80052,11 +80360,11 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_ID) { zDb = uintptr(0) zTable = uintptr(0) - zColumn = *(*uintptr)(unsafe.Pointer(pExpr + 8)) + pRight = pExpr } else { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+6910, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7035, uintptr(0), pExpr) } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_ID) { @@ -80067,13 +80375,12 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { pRight = (*TExpr)(unsafe.Pointer(pRight)).FpRight } zTable = *(*uintptr)(unsafe.Pointer(pLeft + 8)) - zColumn = *(*uintptr)(unsafe.Pointer(pRight + 8)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameTokenRemap(tls, pParse, pExpr, pRight) _sqlite3RenameTokenRemap(tls, pParse, pExpr+64, pLeft) } } - return _lookupName(tls, pParse, zDb, zTable, zColumn, pNC, pExpr) + return _lookupName(tls, pParse, zDb, zTable, pRight, pNC, pExpr) /* Resolve function names */ fallthrough @@ -80112,7 +80419,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if n == int32(2) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = _exprProbability(tls, (*(*TExprList_item)(unsafe.Pointer(pList + 8 + 1*32))).FpExpr) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6927, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7052, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -80136,7 +80443,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { auth = _sqlite3AuthCheck(tls, pParse, int32(SQLITE_FUNCTION), uintptr(0), (*TFuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0)) if auth != SQLITE_OK { if auth == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6991, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7116, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) @@ -80157,7 +80464,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { ** in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all ** all this. */ if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7027, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7152, uintptr(0), pExpr) } } else { /* Must fit in 8 bits */ @@ -80181,29 +80488,29 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { } if 0 == libc.BoolInt32(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME)) { if pDef != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7055, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7180, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 || is_agg != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) || is_agg != 0 && pWin != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 { if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 { - zType = __ccgo_ts + 7098 + zType = __ccgo_ts + 7223 } else { - zType = __ccgo_ts + 7105 + zType = __ccgo_ts + 7230 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7115, libc.VaList(bp+8, zType, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7240, libc.VaList(bp+8, zType, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else { if no_such_func != 0 && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7143, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7268, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if wrong_num_args != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7165, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7290, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7209, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7334, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { @@ -80227,7 +80534,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { *(*int32)(unsafe.Pointer(pNC + 40)) &= ^(libc.Int32FromInt32(NC_AllowWin) | v7) } } else { - if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { is_agg = int32(1) } } @@ -80288,18 +80595,19 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) { nRef = (*TNameContext)(unsafe.Pointer(pNC)).FnRef if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_SelfRef) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7257, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7382, pExpr, pExpr) } else { _sqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32))) } if nRef != (*TNameContext)(unsafe.Pointer(pNC)).FnRef { *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 4)) |= uint32(SF_Correlated) } *(*int32)(unsafe.Pointer(pNC + 40)) |= int32(NC_Subquery) } case int32(TK_VARIABLE): if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IsCheck)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7268, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7393, pExpr, pExpr) } case int32(TK_IS): fallthrough @@ -80345,7 +80653,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { nRight = _sqlite3ExprVectorSize(tls, (*TExpr)(unsafe.Pointer(pExpr)).FpRight) } if nLeft != nRight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6679, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6743, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } break @@ -80470,7 +80778,7 @@ func _resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintpt func _resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7279, libc.VaList(bp+8, i, zType, mx)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7404, libc.VaList(bp+8, i, zType, mx)) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pError) } @@ -80505,7 +80813,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7335, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7460, 0) return int32(1) } i = 0 @@ -80543,7 +80851,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } if _sqlite3ExprIsInteger(tls, pE, bp) != 0 { if *(*int32)(unsafe.Pointer(bp)) <= 0 || *(*int32)(unsafe.Pointer(bp)) > (*TExprList)(unsafe.Pointer(pEList)).FnExpr { - _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7369, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) + _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7494, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) return int32(1) } } else { @@ -80613,7 +80921,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r break } if int32(uint32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7375, libc.VaList(bp+16, i+int32(1))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7500, libc.VaList(bp+16, i+int32(1))) return int32(1) } goto _3 @@ -80647,7 +80955,7 @@ func _sqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7436, libc.VaList(bp+8, zType)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7561, libc.VaList(bp+8, zType)) return int32(1) } pEList = (*TSelect)(unsafe.Pointer(pSelect)).FpEList @@ -80893,6 +81201,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } pItem = (*TSelect)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*104 + /* Test of tag-20240424-1*/ if (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselFlags&uint32(SF_Resolved) == uint32(0) { if pOuterNC != 0 { v3 = (*TNameContext)(unsafe.Pointer(pOuterNC)).FnRef @@ -80959,7 +81268,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { (*(*TNameContext)(unsafe.Pointer(bp))).FncFlags |= int32(NC_UEList) if (*TSelect)(unsafe.Pointer(p)).FpHaving != 0 { if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Aggregate) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7467, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7592, 0) return int32(WRC_Abort) } if _sqlite3ResolveExprNames(tls, bp, (*TSelect)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -81026,7 +81335,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** is not detected until much later, and so we need to go ahead and ** resolve those symbols on the incorrect ORDER BY for consistency. */ - if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7369) != 0 { + if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7494) != 0 { return int32(WRC_Abort) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -81037,7 +81346,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** the GROUP BY clause does not contain aggregate functions. */ if pGroupBy != 0 { - if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7506) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { + if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7631) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(WRC_Abort) } i = 0 @@ -81047,7 +81356,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } if (*TExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(pItem2)).FpExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7512, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7637, 0) return int32(WRC_Abort) } goto _6 @@ -82028,7 +82337,7 @@ func _codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32 return } if nLeft != _sqlite3ExprVectorSize(tls, pRight) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6679, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6743, 0) return } if int32(op) == int32(TK_LE) { @@ -82107,7 +82416,7 @@ func _sqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) (r in rc = SQLITE_OK mxHeight = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4)) if nHeight > mxHeight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7571, libc.VaList(bp+8, mxHeight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7696, libc.VaList(bp+8, mxHeight)) rc = int32(SQLITE_ERROR) } return rc @@ -82273,11 +82582,12 @@ func _sqlite3ExprSetErrorOffset(tls *libc.TLS, pExpr uintptr, iOfst int32) { // ** appear to be quoted. If the quotes were of the form "..." (double-quotes) // ** then the EP_DblQuoted flag is set on the expression node. // ** -// ** Special case: If op==TK_INTEGER and pToken points to a string that -// ** can be translated into a 32-bit integer, then the token is not -// ** stored in u.zToken. Instead, the integer values is written -// ** into u.iValue and the EP_IntValue flag is set. No extra storage +// ** Special case (tag-20240227-a): If op==TK_INTEGER and pToken points to +// ** a string that can be translated into a 32-bit integer, then the token is +// ** not stored in u.zToken. Instead, the integer values is written +// ** into u.iValue and the EP_IntValue flag is set. No extra storage // ** is allocated to hold the integer text and the dequote flag is ignored. +// ** See also tag-20240227-b. // */ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) (r uintptr) { bp := tls.Alloc(16) @@ -82290,7 +82600,7 @@ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ *(*int32)(unsafe.Pointer(bp)) = 0 if pToken != 0 { if op != int32(TK_INTEGER) || (*TToken)(unsafe.Pointer(pToken)).Fz == uintptr(0) || _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pToken)).Fz, bp) == 0 { - nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) + nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) /* tag-20240227-a */ } } pNew = _sqlite3DbMallocRawNN(tls, db, uint64(72)+uint64(nExtra)) @@ -82451,11 +82761,11 @@ func _sqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList } if nExprElem != nElem { if nExprElem > int32(1) { - v2 = __ccgo_ts + 7619 + v2 = __ccgo_ts + 7744 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7621, libc.VaList(bp+8, nExprElem, v2, nElem)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7746, libc.VaList(bp+8, nExprElem, v2, nElem)) break } pSel = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(pExpr + 32)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) @@ -82504,7 +82814,7 @@ func _sqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt if f&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_InnerON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { _sqlite3ExprDeferredDelete(tls, pParse, pLeft) _sqlite3ExprDeferredDelete(tls, pParse, pRight) - return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1724) + return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1784) } else { return _sqlite3PExpr(tls, pParse, int32(TK_AND), pLeft, pRight) } @@ -82532,7 +82842,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } *(*int32)(unsafe.Pointer(pNew + 52)) = int32(int64((*TToken)(unsafe.Pointer(pToken)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) if pList != 0 && (*TExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7665, libc.VaList(bp+8, pToken)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7790, libc.VaList(bp+8, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32)) = pList *(*Tu32)(unsafe.Pointer(pNew + 4)) |= uint32(libc.Int32FromInt32(EP_HasFunc)) @@ -82552,7 +82862,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u func _sqlite3ExprOrderByAggregateError(tls *libc.TLS, pParse uintptr, p uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7699, libc.VaList(bp+8, p)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7824, libc.VaList(bp+8, p)) } // C documentation @@ -82623,7 +82933,7 @@ func _sqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD ** SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning ** that the schema is possibly tainted). */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7749, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7874, libc.VaList(bp+8, pExpr)) } } } @@ -82675,7 +82985,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n bOk = libc.BoolInt32(0 == _sqlite3Atoi64(tls, z+1, bp, int32(n-uint32(1)), uint8(SQLITE_UTF8))) } if bOk == 0 || *(*Ti64)(unsafe.Pointer(bp)) < int64(1) || *(*Ti64)(unsafe.Pointer(bp)) > int64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7769, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7894, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) return } @@ -82708,7 +83018,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*TExpr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7812, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7937, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } } @@ -82719,11 +83029,13 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n // ** Recursively delete an expression tree. // */ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { + var pLeft uintptr + _ = pLeft + goto exprDeleteRestart +exprDeleteRestart: + ; if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)|libc.Int32FromInt32(EP_Leaf)) != libc.Uint32FromInt32(0)) { /* The Expr.x union is never used at the same time as Expr.pRight */ - if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { - _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpLeft) - } if (*TExpr)(unsafe.Pointer(p)).FpRight != 0 { _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpRight) } else { @@ -82736,6 +83048,17 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { } } } + if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { + pLeft = (*TExpr)(unsafe.Pointer(p)).FpLeft + if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) && !((*TExpr)(unsafe.Pointer(pLeft)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { + /* Avoid unnecessary recursion on unary operators */ + _sqlite3DbNNFreeNN(tls, db, p) + p = pLeft + goto exprDeleteRestart + } else { + _sqlite3ExprDeleteNN(tls, db, pLeft) + } + } } if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { _sqlite3DbNNFreeNN(tls, db, p) @@ -82782,11 +83105,11 @@ func _sqlite3ClearOnOrUsing(tls *libc.TLS, db uintptr, p uintptr) { // ** // ** The pExpr might be deleted immediately on an OOM error. // ** -// ** The deferred delete is (currently) implemented by adding the -// ** pExpr to the pParse->pConstExpr list with a register number of 0. +// ** Return 0 if the delete was successfully deferred. Return non-zero +// ** if the delete happened immediately because of an OOM. // */ -func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { - _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr) +func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + return libc.BoolInt32(uintptr(0) == _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr)) } // C documentation @@ -83275,16 +83598,20 @@ func _sqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) (r ui (*TSrcItem)(unsafe.Pointer(pNewItem)).FiCursor = (*TSrcItem)(unsafe.Pointer(pOldItem)).FiCursor (*TSrcItem)(unsafe.Pointer(pNewItem)).FaddrFillSub = (*TSrcItem)(unsafe.Pointer(pOldItem)).FaddrFillSub (*TSrcItem)(unsafe.Pointer(pNewItem)).FregReturn = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregReturn + (*TSrcItem)(unsafe.Pointer(pNewItem)).FregResult = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregResult if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x2>>1)) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3DbStrDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88))) + } else { + if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { + *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) + } else { + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pNewItem)).Fu1)) = *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pOldItem)).Fu1)) + } } (*TSrcItem)(unsafe.Pointer(pNewItem)).Fu2 = (*TSrcItem)(unsafe.Pointer(pOldItem)).Fu2 if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x100>>8)) != 0 { (*TCteUse)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNewItem + 96)))).FnUse++ } - if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { - *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) - } v4 = (*TSrcItem)(unsafe.Pointer(pOldItem)).FpTab (*TSrcItem)(unsafe.Pointer(pNewItem)).FpTab = v4 pTab = v4 @@ -83546,7 +83873,7 @@ func _sqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, n = v2 } if v3 && (*TIdList)(unsafe.Pointer(pColumns)).FnId != v2 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7835, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7960, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error } i = 0 @@ -83675,7 +84002,7 @@ func _sqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, _ = mx mx = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4)) if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr > mx { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7865, libc.VaList(bp+8, zObject)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7990, libc.VaList(bp+8, zObject)) } } @@ -83773,10 +84100,10 @@ func _sqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) (r // ** anything else 0 // */ func _sqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) (r Tu32) { - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7888) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8013) == 0 { return uint32(EP_IsTrue) } - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7893) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8018) == 0 { return uint32(EP_IsFalse) } return uint32(0) @@ -83858,6 +84185,51 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { return pExpr } +// C documentation +// +// /* +// ** pExpr is a TK_FUNCTION node. Try to determine whether or not the +// ** function is a constant function. A function is constant if all of +// ** the following are true: +// ** +// ** (1) It is a scalar function (not an aggregate or window function) +// ** (2) It has either the SQLITE_FUNC_CONSTANT or SQLITE_FUNC_SLOCHNG +// ** property. +// ** (3) All of its arguments are constants +// ** +// ** This routine sets pWalker->eCode to 0 if pExpr is not a constant. +// ** It makes no changes to pWalker->eCode if pExpr is constant. In +// ** every case, it returns WRC_Abort. +// ** +// ** Called as a service subroutine from exprNodeIsConstant(). +// */ +func _exprNodeIsConstantFunction(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef, pList, v1 uintptr + var n int32 + var v2 bool + _, _, _, _, _, _ = db, n, pDef, pList, v1, v2 /* The database */ + if v2 = (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)) != uint32(0); !v2 { + v1 = *(*uintptr)(unsafe.Pointer(pExpr + 32)) + pList = v1 + } + if v2 || v1 == uintptr(0) { + n = 0 + } else { + n = (*TExprList)(unsafe.Pointer(pList)).FnExpr + _sqlite3WalkExprList(tls, pWalker, pList) + if int32((*TWalker)(unsafe.Pointer(pWalker)).FeCode) == 0 { + return int32(WRC_Abort) + } + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)|libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG)) == uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) +} + // C documentation // // /* @@ -83905,8 +84277,12 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 } return WRC_Continue } else { - (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) - return int32(WRC_Abort) + if (*TWalker)(unsafe.Pointer(pWalker)).FpParse != 0 { + return _exprNodeIsConstantFunction(tls, pWalker, pExpr) + } else { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } } fallthrough case int32(TK_ID): @@ -83933,6 +84309,8 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 case int32(TK_REGISTER): fallthrough case int32(TK_DOT): + fallthrough + case int32(TK_RAISE): (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) return int32(WRC_Abort) case int32(TK_VARIABLE): @@ -83958,14 +84336,14 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 return r } -func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32) { +func _exprIsConst(tls *libc.TLS, pParse uintptr, p uintptr, initFlag int32) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* w at bp+0 */ TWalker (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(initFlag) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) - *(*int32)(unsafe.Pointer(bp + 40)) = iCur _sqlite3WalkExpr(tls, bp, p) return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } @@ -83979,9 +84357,15 @@ func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32 // ** For the purposes of this function, a double-quoted string (ex: "abc") // ** is considered a variable but a single-quoted string (ex: 'abc') is // ** a constant. +// ** +// ** The pParse parameter may be NULL. But if it is NULL, there is no way +// ** to determine if function calls are constant or not, and hence all +// ** function calls will be considered to be non-constant. If pParse is +// ** not NULL, then a function call might be constant, depending on the +// ** function and on its parameters. // */ -func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(1), 0) +func _sqlite3ExprIsConstant(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(1)) } // C documentation @@ -83999,8 +84383,24 @@ func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { // ** can be added to the pParse->pConstExpr list and evaluated once when // ** the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). // */ -func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(2), 0) +func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(2)) +} + +// C documentation +// +// /* +// ** This routine examines sub-SELECT statements as an expression is being +// ** walked as part of sqlite3ExprIsTableConstant(). Sub-SELECTs are considered +// ** constant as long as they are uncorrelated - meaning that they do not +// ** contain any terms from outer contexts. +// */ +func _exprSelectWalkTableConstant(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + if (*TSelect)(unsafe.Pointer(pSelect)).FselFlags&uint32(SF_Correlated) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) } // C documentation @@ -84010,9 +84410,25 @@ func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { // ** for any single row of the table with cursor iCur. In other words, the // ** expression must not refer to any non-deterministic function nor any // ** table other than iCur. +// ** +// ** Consider uncorrelated subqueries to be constants if the bAllowSubq +// ** parameter is true. // */ -func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) { - return _exprIsConst(tls, p, int32(3), iCur) +func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32, bAllowSubq int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(3) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = uintptr(0) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) + if bAllowSubq != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_exprSelectWalkTableConstant) + } else { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) + } + *(*int32)(unsafe.Pointer(bp + 40)) = iCur + _sqlite3WalkExpr(tls, bp, p) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } // C documentation @@ -84032,7 +84448,10 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** // ** (1) pExpr cannot refer to any table other than pSrc->iCursor. // ** -// ** (2) pExpr cannot use subqueries or non-deterministic functions. +// ** (2a) pExpr cannot use subqueries unless the bAllowSubq parameter is +// ** true and the subquery is non-correlated +// ** +// ** (2b) pExpr cannot use non-deterministic functions. // ** // ** (3) pSrc cannot be part of the left operand for a RIGHT JOIN. // ** (Is there some way to relax this constraint?) @@ -84058,7 +84477,7 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** which leads to incorrect answers. See also restriction (9) // ** on push-down. // */ -func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32) (r int32) { +func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32, bAllowSubq int32) (r int32) { var jj int32 var pSrc uintptr _, _ = jj, pSrc @@ -84096,7 +84515,8 @@ func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList jj++ } } - return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor) /* rules (1), (2) */ + /* Rules (1), (2a), and (2b) handled by the following: */ + return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor, bAllowSubq) } // C documentation @@ -84194,7 +84614,7 @@ func _sqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // ** a constant. // */ func _sqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit Tu8) (r int32) { - return _exprIsConst(tls, p, int32(4)+int32(isInit), 0) + return _exprIsConst(tls, uintptr(0), p, int32(4)+int32(isInit)) } // C documentation @@ -84333,13 +84753,13 @@ func _sqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) (r i // ** Return TRUE if the given string is a row-id column name. // */ func _sqlite3IsRowid(tls *libc.TLS, z uintptr) (r int32) { - if _sqlite3StrICmp(tls, z, __ccgo_ts+7899) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8024) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7907) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8032) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7913) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8038) == 0 { return int32(1) } return 0 @@ -84357,9 +84777,9 @@ func _sqlite3RowidAlias(tls *libc.TLS, pTab uintptr) (r uintptr) { var iCol, ii int32 _, _, _ = azOpt, iCol, ii azOpt = [3]uintptr{ - 0: __ccgo_ts + 7899, - 1: __ccgo_ts + 7907, - 2: __ccgo_ts + 7913, + 0: __ccgo_ts + 8024, + 1: __ccgo_ts + 8032, + 2: __ccgo_ts + 8038, } ii = 0 for { @@ -84479,13 +84899,13 @@ func _sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int // ** The argument is an IN operator with a list (not a subquery) on the // ** right-hand side. Return TRUE if that list is constant. // */ -func _sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) (r int32) { +func _sqlite3InRhsIsConstant(tls *libc.TLS, pParse uintptr, pIn uintptr) (r int32) { var pLHS uintptr var res int32 _, _ = pLHS, res pLHS = (*TExpr)(unsafe.Pointer(pIn)).FpLeft (*TExpr)(unsafe.Pointer(pIn)).FpLeft = uintptr(0) - res = _sqlite3ExprIsConstant(tls, pIn) + res = _sqlite3ExprIsConstant(tls, pParse, pIn) (*TExpr)(unsafe.Pointer(pIn)).FpLeft = pLHS return res } @@ -84641,7 +85061,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 iAddr = _sqlite3VdbeAddOp0(tls, v, int32(OP_Once)) _sqlite3OpenTable(tls, pParse, iTab, iDb, pTab, int32(OP_OpenRead)) eType = int32(IN_INDEX_ROWID) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+7917, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+8042, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) _sqlite3VdbeJumpHere(tls, v, iAddr) } else { /* Iterator variable */ affinity_ok = int32(1) @@ -84741,7 +85161,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 if colUsed == libc.Uint64FromInt32(1)<0 so that the new limit is either 1 or 0 */ db = (*TParse)(unsafe.Pointer(pParse)).Fdb - pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1724) + pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1784) if pLimit != 0 { (*TExpr)(unsafe.Pointer(pLimit)).FaffExpr = uint8(SQLITE_AFF_NUMERIC) pLimit = _sqlite3PExpr(tls, pParse, int32(TK_NE), _sqlite3ExprDup(tls, db, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft, 0), pLimit) @@ -85232,7 +85652,7 @@ func _sqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int3 (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { /* If there is no pre-existing limit add a limit of 1 */ - pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8132) + pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8257) (*TSelect)(unsafe.Pointer(pSel)).FpLimit = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), pLimit, uintptr(0)) } (*TSelect)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -85619,13 +86039,13 @@ func _codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, i z = *(*uintptr)(unsafe.Pointer(pExpr + 8)) c = _sqlite3DecOrHexToI64(tls, z, bp) if c == int32(3) && !(negFlag != 0) || c == int32(2) || negFlag != 0 && *(*Ti64)(unsafe.Pointer(bp)) == int64(-libc.Int32FromInt32(1))-(libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)<= (*TAggInfo)(unsafe.Pointer(pInfo)).FnFunc { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8225, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8350, libc.VaList(bp+160, pExpr)) } else { return (*TAggInfo)(unsafe.Pointer(pInfo)).FiFirstReg + (*TAggInfo)(unsafe.Pointer(pInfo)).FnColumn + int32((*TExpr)(unsafe.Pointer(pExpr)).FiAgg) } @@ -86350,7 +86765,7 @@ expr_code_doover: if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { return (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64)))).FregResult } - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { /* SQL functions can be expensive. So try to avoid running them ** multiple times if we know they always give the same result */ return _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) @@ -86365,7 +86780,7 @@ expr_code_doover: zId = *(*uintptr)(unsafe.Pointer(pExpr + 8)) pDef = _sqlite3FindFunction(tls, db, zId, nFarg, enc, uint8(0)) if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8252, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8377, libc.VaList(bp+160, pExpr)) break } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_INLINE) != uint32(0) && pFarg != uintptr(0) { @@ -86380,7 +86795,7 @@ expr_code_doover: if !(i < nFarg) { break } - if i < int32(32) && _sqlite3ExprIsConstant(tls, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { + if i < int32(32) && _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { constMask |= libc.Uint32FromInt32(1) << i } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_NEEDCOLL) != uint32(0) && !(pColl != 0) { @@ -86470,7 +86885,7 @@ expr_code_doover: } n1 = _sqlite3ExprVectorSize(tls, pLeft2) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != n1 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7835, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7960, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) } return (*TExpr)(unsafe.Pointer(pLeft2)).FiTable + int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) case int32(TK_IN): @@ -86502,8 +86917,9 @@ expr_code_doover: if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Collate)) != libc.Uint32FromInt32(0)) { /* A TK_COLLATE Expr node without the EP_Collate tag is a so-called ** "SOFT-COLLATE" that is added to constraints that are pushed down - ** from outer queries into sub-queries by the push-down optimization. - ** Clear subtypes as subtypes may not cross a subquery boundary. + ** from outer queries into sub-queries by the WHERE-clause push-down + ** optimization. Clear subtypes as subtypes may not cross a subquery + ** boundary. */ _sqlite3ExprCode(tls, pParse, (*TExpr)(unsafe.Pointer(pExpr)).FpLeft, target) _sqlite3VdbeAddOp1(tls, v, int32(OP_ClrSubtype), target) @@ -86532,7 +86948,7 @@ expr_code_doover: _sqlite3VdbeAddOp1(tls, v, int32(OP_RealAffinity), target) } case int32(TK_VECTOR): - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6679, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6743, 0) break /* TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions ** that derive from the right-hand table of a LEFT JOIN. The @@ -86647,7 +87063,7 @@ expr_code_doover: _sqlite3VdbeResolveLabel(tls, v, endLabel) case int32(TK_RAISE): if !((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != 0) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8276, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8401, 0) return 0 } if int32((*TExpr)(unsafe.Pointer(pExpr)).FaffExpr) == int32(OE_Abort) { @@ -86767,7 +87183,7 @@ func _sqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin var r1, r2 int32 _, _ = r1, r2 pExpr = _sqlite3ExprSkipCollateAndLikely(tls, pExpr) - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { *(*int32)(unsafe.Pointer(pReg)) = 0 r2 = _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) } else { @@ -86837,7 +87253,7 @@ func _sqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // ** might choose to code the expression at initialization time. // */ func _sqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { _sqlite3ExprCodeCopy(tls, pParse, pExpr, target) @@ -86906,7 +87322,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ _sqlite3VdbeAddOp2(tls, v, int32(copyOp), j+srcReg-int32(1), target+i) } } else { - if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target+i) } else { inReg = _sqlite3ExprCodeTarget(tls, pParse, pExpr, target+i) @@ -88203,17 +88619,15 @@ func _agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnColumn && (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } else { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnFunc && (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } @@ -88763,8 +89177,8 @@ func _sqlite3FirstAvailableRegister(tls *libc.TLS, pParse uintptr, iMin int32) ( func _isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) - if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6527, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8326, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6591, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8451, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -88783,9 +89197,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, bp := tls.Alloc(48) defer tls.Free(48) (*TParse)(unsafe.Pointer(pParse)).FcolNamesSet = uint8(1) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8354, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8479, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8529, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8654, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) } } @@ -88801,9 +89215,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, func _renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8703, libc.VaList(bp+8, zDb, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8828, libc.VaList(bp+8, zDb, zDb)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8850, 0) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8975, 0) } } @@ -88859,7 +89273,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName ** in database iDb. If so, this is an error. */ if _sqlite3FindTable(tls, db, zName, zDb) != 0 || _sqlite3FindIndex(tls, db, zName, zDb) != 0 || _sqlite3IsShadowTableOf(tls, db, pTab, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9001, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9126, libc.VaList(bp+8, zName)) goto exit_rename_table } /* Make sure it is not a system table being altered, or a reserved name @@ -88868,11 +89282,11 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { goto exit_rename_table } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9060, zName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9185, zName) { goto exit_rename_table } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9066, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9191, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table } /* Invoke the authorization callback. */ @@ -88902,21 +89316,21 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName nTabName = _sqlite3Utf8CharLen(tls, zTabName, -int32(1)) /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in ** the schema to use the new table name. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9093, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9218, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) /* Update the tbl_name and name columns of the sqlite_schema table ** as required. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9277, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9402, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) /* If the sqlite_sequence table exists in this database, then update ** it with the new table name. */ - if _sqlite3FindTable(tls, db, __ccgo_ts+9582, zDb) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9598, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if _sqlite3FindTable(tls, db, __ccgo_ts+9707, zDb) != 0 { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9723, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* If the table being renamed is not itself part of the temp database, ** edit view and trigger definitions within the temp database ** as required. */ if iDb != int32(1) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9656, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9781, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) } /* If this is a virtual table, invoke the xRename() function if ** one is defined. The xRename() callback will modify the names @@ -88932,7 +89346,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName _sqlite3VdbeAddOp4(tls, v, int32(OP_VRename), i, 0, 0, pVTab, -int32(11)) } _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+9921, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+10046, 0) goto exit_rename_table exit_rename_table: ; @@ -88949,7 +89363,7 @@ exit_rename_table: func _sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9934, libc.VaList(bp+8, zErr, zDb, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10059, libc.VaList(bp+8, zErr, zDb, zTab)) } // C documentation @@ -88989,11 +89403,11 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** column must not be NULL. */ if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9972, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10097, 0) return } if (*TTable)(unsafe.Pointer(pNew)).FpIndex != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10004, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10129, 0) return } if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) == 0 { @@ -89009,10 +89423,10 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpFKey != 0 && pDflt != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10031) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10156) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && !(pDflt != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10090) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10215) } /* Ensure the default expression is something that sqlite3ValueFromExpr() ** can handle (i.e. not CURRENT_TIME etc.) @@ -89024,13 +89438,13 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr return } if !(*(*uintptr)(unsafe.Pointer(bp)) != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10143) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10268) } _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp))) } } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_STORED) != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10189) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10314) } } /* Modify the CREATE TABLE statement. */ @@ -89044,7 +89458,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } /* substr() operations on characters, but addColOffset is in bytes. So we ** have to use printf() to translate between these units: */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10216, libc.VaList(bp+16, zDb, (*(*struct { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10341, libc.VaList(bp+16, zDb, (*(*struct { FaddColOffset int32 FpFKey uintptr FpDfltList uintptr @@ -89072,7 +89486,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterAdd)) /* Verify that constraints are still satisfied */ if (*TTable)(unsafe.Pointer(pNew)).FpCheck != uintptr(0) || int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Strict) != uint32(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10362, libc.VaList(bp+16, zTab, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10487, libc.VaList(bp+16, zTab, zDb)) } } } @@ -89110,12 +89524,12 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { goto exit_begin_add_column } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10715, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10840, 0) goto exit_begin_add_column } /* Make sure this is not an attempt to ALTER a view. */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10749, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10874, 0) goto exit_begin_add_column } if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { @@ -89139,7 +89553,7 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { (*TTable)(unsafe.Pointer(pNew)).FnCol = (*TTable)(unsafe.Pointer(pTab)).FnCol nAlloc = (int32((*TTable)(unsafe.Pointer(pNew)).FnCol)-int32(1))/int32(8)*int32(8) + int32(8) (*TTable)(unsafe.Pointer(pNew)).FaCol = _sqlite3DbMallocZero(tls, db, uint64(16)*uint64(nAlloc)) - (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10779, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10904, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !((*TTable)(unsafe.Pointer(pNew)).FaCol != 0) || !((*TTable)(unsafe.Pointer(pNew)).FzName != 0) { goto exit_begin_add_column } @@ -89200,18 +89614,18 @@ func _isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) (r i _, _ = zType, v1 zType = uintptr(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10798 + zType = __ccgo_ts + 10923 } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 10803 + zType = __ccgo_ts + 10928 } if zType != 0 { if bDrop != 0 { - v1 = __ccgo_ts + 10817 + v1 = __ccgo_ts + 10942 } else { - v1 = __ccgo_ts + 10834 + v1 = __ccgo_ts + 10959 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10852, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10977, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -89272,11 +89686,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld iCol++ } if iCol == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10870, libc.VaList(bp+8, pOld)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10995, libc.VaList(bp+8, pOld)) goto exit_rename_column } /* Ensure the schema contains no double-quoted strings */ - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1650, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1664, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1))) /* Do the rename operation using a recursive UPDATE statement that ** uses the sqlite_rename_column() SQL function to compute the new @@ -89288,11 +89702,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld goto exit_rename_column } bQuote = int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pNew)).Fz))]) & int32(0x80) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10891, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11073, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11016, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11198, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+9921, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+10046, int32(1)) goto exit_rename_column exit_rename_column: ; @@ -89768,11 +90182,11 @@ func _renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType u zT = Xsqlite3_value_text(tls, pType) zN = Xsqlite3_value_text(tls, pObject) if *(*uint8)(unsafe.Pointer(zWhen)) != 0 { - v1 = __ccgo_ts + 11204 + v1 = __ccgo_ts + 11329 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11206, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) + zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11331, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, zErr) } @@ -89849,8 +90263,8 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin if zSql == uintptr(0) { return int32(SQLITE_NOMEM) } - if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11229, int32(7)) != 0 { - return _sqlite3CorruptError(tls, int32(116682)) + if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11354, int32(7)) != 0 { + return _sqlite3CorruptError(tls, int32(117285)) } if bTemp != 0 { v1 = int32(1) @@ -89866,7 +90280,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin rc = int32(SQLITE_NOMEM) } if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = _sqlite3CorruptError(tls, int32(116693)) + rc = _sqlite3CorruptError(tls, int32(117296)) } (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0) return rc @@ -89905,7 +90319,7 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, ** ALTER TABLE statement was quoted (bQuote==1), then set zNew to ** point to zQuot so that all substitutions are made using the ** quoted version of the new column name. */ - zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11237, libc.VaList(bp+8, zNew)) + zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11362, libc.VaList(bp+8, zNew)) if zQuot == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -89950,11 +90364,11 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, *(*uint8)(unsafe.Pointer(zBuf1 + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = uint8(0) _sqlite3Dequote(tls, zBuf1) if int32(*(*uint8)(unsafe.Pointer((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == int32('\'') { - v1 = __ccgo_ts + 11204 + v1 = __ccgo_ts + 11329 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11243, libc.VaList(bp+8, zBuf1, v1)) + Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11368, libc.VaList(bp+8, zBuf1, v1)) zReplace = zBuf2 nReplace = uint32(_sqlite3Strlen30(tls, zReplace)) } @@ -90439,7 +90853,7 @@ renameColumnFunc_done: Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv))) } else { if (*(*TParse)(unsafe.Pointer(bp + 32))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1650, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) + _renameColumnParseError(tls, context, __ccgo_ts+1664, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -90665,7 +91079,7 @@ func _renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintpt Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + 3*8))) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1650, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) + _renameColumnParseError(tls, context, __ccgo_ts+1664, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -90927,7 +91341,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { /* This can happen if the sqlite_schema table is corrupt */ - rc = _sqlite3CorruptError(tls, int32(117652)) + rc = _sqlite3CorruptError(tls, int32(118255)) goto drop_column_done } pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName) @@ -90944,7 +91358,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr (*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz-- } } - zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11248, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) + zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11373, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -int32(1), uintptr(-libc.Int32FromInt32(1))) Xsqlite3_free(tls, zNew) goto drop_column_done @@ -90971,8 +91385,9 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName bp := tls.Alloc(48) defer tls.Free(48) var addr, i, iCol, iColPos, iCur, iDb, iPos, nField, reg, regOut, regRec, v2, v4, v7 int32 + var aff uint8 var db, pPk, pTab, v, zCol, zDb, v1, v3, v5, v8 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, aff, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Database containing pTab ("main" etc.) */ zCol = uintptr(0) /* Index of column zCol in pTab->aCol[] */ /* Look up the table being altered. */ @@ -90998,23 +91413,23 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName } iCol = _sqlite3ColumnIndex(tls, pTab, zCol) if iCol < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10870, libc.VaList(bp+8, pName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10995, libc.VaList(bp+8, pName)) goto exit_drop_column } /* Do not allow the user to drop a PRIMARY KEY column or a column ** constrained by a UNIQUE constraint. */ if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_PRIMKEY)|libc.Int32FromInt32(COLFLAG_UNIQUE)) != 0 { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - v1 = __ccgo_ts + 11255 + v1 = __ccgo_ts + 11380 } else { - v1 = __ccgo_ts + 5591 + v1 = __ccgo_ts + 5655 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11267, libc.VaList(bp+8, v1, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11392, libc.VaList(bp+8, v1, zCol)) goto exit_drop_column } /* Do not allow the number of columns to go to zero */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) <= int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11295, libc.VaList(bp+8, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11420, libc.VaList(bp+8, zCol)) goto exit_drop_column } /* Edit the sqlite_schema table */ @@ -91024,12 +91439,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_ALTER_TABLE), zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol) != 0 { goto exit_drop_column } - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1650, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1664, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1))) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11343, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11468, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11464, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11589, int32(1)) /* Edit rows of table on disk */ if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 && int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { pPk = uintptr(0) @@ -91087,7 +91502,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if i == int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regOut) } else { + aff = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity + if int32(aff) == int32(SQLITE_AFF_REAL) { + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = uint8(SQLITE_AFF_NUMERIC) + } _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab, iCur, i, regOut) + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = aff } nField++ } @@ -91132,27 +91552,27 @@ var _aAlterTableFuncs = [5]TFuncDef{ 0: { FnArg: int8(9), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11482, + FzName: __ccgo_ts + 11607, }, 1: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11503, + FzName: __ccgo_ts + 11628, }, 2: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11523, + FzName: __ccgo_ts + 11648, }, 3: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11542, + FzName: __ccgo_ts + 11667, }, 4: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11561, + FzName: __ccgo_ts + 11686, }, } @@ -91363,7 +91783,7 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW ** side-effect of the CREATE TABLE statement is to leave the rootpage ** of the new table in register pParse->regRoot. This is important ** because the OpenWrite opcode below will be needing it. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11664, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11789, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) aRoot[i] = uint32((*TParse)(unsafe.Pointer(pParse)).FregRoot) aCreateTbl[i] = uint8(OPFLAG_P2ISREG) } @@ -91374,10 +91794,10 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW aRoot[i] = (*TTable)(unsafe.Pointer(pStat)).Ftnum _sqlite3TableLock(tls, pParse, iDb, aRoot[i], uint8(1), zTab) if zWhere != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11687, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11812, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11717, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11842, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { /* The sqlite_stat[134] table already exists. Delete all rows. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Clear), int32(aRoot[i]), iDb) @@ -91409,15 +91829,15 @@ var _aTable = [3]struct { FzCols uintptr }{ 0: { - FzName: __ccgo_ts + 11584, - FzCols: __ccgo_ts + 11597, + FzName: __ccgo_ts + 11709, + FzCols: __ccgo_ts + 11722, }, 1: { - FzName: __ccgo_ts + 11610, - FzCols: __ccgo_ts + 11623, + FzName: __ccgo_ts + 11735, + FzCols: __ccgo_ts + 11748, }, 2: { - FzName: __ccgo_ts + 11651, + FzName: __ccgo_ts + 11776, }, } @@ -91719,7 +92139,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statInitFuncdef = TFuncDef{ FnArg: int8(4), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11735, + FzName: __ccgo_ts + 11860, } func init() { @@ -92093,7 +92513,7 @@ func _statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statPushFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(2) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11745, + FzName: __ccgo_ts + 11870, } func init() { @@ -92143,7 +92563,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { v1 = (*TStatAccum)(unsafe.Pointer(p)).FnRow } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11755, libc.VaList(bp+72, v1)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11880, libc.VaList(bp+72, v1)) i = 0 for { if !(i < (*TStatAccum)(unsafe.Pointer(p)).FnKeyCol) { @@ -92154,7 +92574,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if iVal == uint64(2) && (*TStatAccum)(unsafe.Pointer(p)).FnRow*uint64(10) <= nDistinct*uint64(11) { iVal = uint64(1) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11760, libc.VaList(bp+72, iVal)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11885, libc.VaList(bp+72, iVal)) goto _2 _2: ; @@ -92193,7 +92613,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if !(i1 < (*TStatAccum)(unsafe.Pointer(p)).FnCol) { break } - Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11766, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) + Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11891, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) goto _3 _3: ; @@ -92211,7 +92631,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statGetFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(1) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11772, + FzName: __ccgo_ts + 11897, } func init() { @@ -92232,9 +92652,9 @@ func _callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, re // */ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { var aGotoChng, db, pColl, pIdx, pPk, pStat1, pX, v, zIdxName uintptr - var addrIsNull, addrNext, addrNextRow, addrRewind, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 + var addrGotoEnd, addrIsNull, addrNext, addrNextRow, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 var needTableCnt, seekOp Tu8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrIsNull, addrNext, addrNextRow, addrRewind, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrGotoEnd, addrIsNull, addrNext, addrNextRow, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Loop counter */ jZeroRows = -int32(1) /* Index of database containing pTab */ needTableCnt = uint8(1) @@ -92277,7 +92697,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Do not gather statistics on views or virtual tables */ return } - if Xsqlite3_strlike(tls, __ccgo_ts+11781, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, __ccgo_ts+11906, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { /* Do not gather statistics on system tables */ return } @@ -92291,7 +92711,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint return } (*TTable)(unsafe.Pointer(pStat1)).FzName = pStat1 + 1*104 - libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11584, uint64(13)) + libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11709, uint64(13)) (*TTable)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*TTable)(unsafe.Pointer(pStat1)).FiPKey = int16(-int32(1)) _sqlite3VdbeAddOp4(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Noop), 0, 0, 0, pStat1, -int32(6)) @@ -92345,9 +92765,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* ** Pseudo-code for loop that calls stat_push(): ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() ** goto chng_addr_0; ** ** next_row: @@ -92381,32 +92806,29 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Open a read-only cursor on the index being analyzed. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenRead), iIdxCur, int32((*TIndex)(unsafe.Pointer(pIdx)).Ftnum), iDb) _sqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - /* Invoke the stat_init() function. The arguments are: + /* Implementation of the following: ** + ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() + ** goto chng_addr_0; + */ + _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + /* Arguments to stat_init(): ** (1) the number of columns in the index including the rowid ** (or for a WITHOUT ROWID table, the number of PK columns), ** (2) the number of columns in the key without the rowid/pk - ** (3) estimated number of rows in the index, - */ + ** (3) estimated number of rows in the index. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), nCol, regStat+int32(1)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol), regRowid) - if (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0) { - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iIdxCur, regTemp) - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - } else { - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, int32(1)) - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) != uint32(0))) _sqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat+int32(1), regStat, int32(4), uintptr(unsafe.Pointer(&_statInitFuncdef)), 0) - /* Implementation of the following: - ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; - ** regChng = 0 - ** goto next_push_0; - ** - */ + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regChng) addrNextRow = _sqlite3VdbeCurrentAddr(tls, v) if nColTest > 0 { @@ -92515,8 +92937,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), iIdxCur, addrNextRow) } /* Add the entry to the stat1 table. */ + if (*TIndex)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { + /* Partial indexes might get a zero-entry in sqlite_stat1. But + ** an empty table is omitted from sqlite_stat1. */ + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + addrGotoEnd = 0 + } _callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11791, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11916, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP4(tls, v, -int32(1), pStat1, -int32(5)) @@ -92535,6 +92963,11 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint v18 = int32(OP_NotFound) } seekOp = uint8(v18) + /* No STAT4 data is generated if the number of rows is zero */ + if addrGotoEnd == 0 { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Cast), regStat1, int32(SQLITE_AFF_INTEGER)) + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) + } if doOnce != 0 { mxCol = nCol /* Compute the maximum number of columns in any index */ @@ -92587,7 +93020,9 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeJumpHere(tls, v, addrIsNull) } /* End of analysis */ - _sqlite3VdbeJumpHere(tls, v, addrRewind) + if addrGotoEnd != 0 { + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + } goto _13 _13: ; @@ -92600,7 +93035,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iTabCur, regStat1) jZeroRows = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regIdxname) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11791, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11916, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -92672,9 +93107,9 @@ func _analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr iStatCur = (*TParse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52)) += int32(3) if pOnlyIdx != 0 { - _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11795) + _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11920) } else { - _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11799) + _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11924) } _analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, (*TParse)(unsafe.Pointer(pParse)).FnMem+int32(1), (*TParse)(unsafe.Pointer(pParse)).FnTab) _loadAnalysis(tls, pParse, iDb) @@ -92803,7 +93238,7 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, _, _, _, _, _, _ = c, i, sz, v, z, v2 z = zIntArray if z == uintptr(0) { - z = __ccgo_ts + 1650 + z = __ccgo_ts + 1664 } i = 0 for { @@ -92838,17 +93273,17 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 6, 0x40) for *(*uint8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, __ccgo_ts+11803, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11928, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 2, 0x4) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11814, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11939, z) == 0 { sz = _sqlite3Atoi(tls, z+uintptr(3)) if sz < int32(2) { sz = int32(2) } (*TIndex)(unsafe.Pointer(pIndex)).FszIdxRow = _sqlite3LogEst(tls, uint64(sz)) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11824, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11949, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 6, 0x40) } } @@ -93224,11 +93659,11 @@ func _loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) (r int32) { _, _, _, _ = pStat4, rc, v1, v2 rc = SQLITE_OK if v2 = (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0); v2 { - v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11610, zDb) + v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11735, zDb) pStat4 = v1 } if v2 && v1 != uintptr(0) && int32((*TTable)(unsafe.Pointer(pStat4)).FeTabType) == TABTYP_NORM { - rc = _loadStatTbl(tls, db, __ccgo_ts+11836, __ccgo_ts+11905, zDb) + rc = _loadStatTbl(tls, db, __ccgo_ts+11961, __ccgo_ts+12030, zDb) } return rc } @@ -93294,10 +93729,10 @@ func _sqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) (r int32) { /* Load new statistics out of the sqlite_stat1 table */ (*(*TanalysisInfo)(unsafe.Pointer(bp))).Fdb = db (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName - v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11584, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) + v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11709, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) pStat1 = v3 if v3 != 0 && int32((*TTable)(unsafe.Pointer(pStat1)).FeTabType) == TABTYP_NORM { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+11957, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+12082, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -93410,7 +93845,7 @@ func _resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) (r int32) { // ** database iDb attached to handle db. // */ func _sqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) (r int32) { - return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6587, zName) == 0) + return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6651, zName) == 0) } // C documentation @@ -93452,21 +93887,21 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if zFile == uintptr(0) { - zFile = __ccgo_ts + 1650 + zFile = __ccgo_ts + 1664 } if zName == uintptr(0) { - zName = __ccgo_ts + 1650 + zName = __ccgo_ts + 1664 } if int32(uint32(*(*uint8)(unsafe.Pointer(db + 192 + 8))&0x4>>2)) != 0 { /* 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 + 40)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+3969) + *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+4033) if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { return } - rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+11998, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) + rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12123, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) if rc == SQLITE_OK { pNewSchema = _sqlite3SchemaGet(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40))) if pNewSchema != 0 { @@ -93497,7 +93932,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { ** * Specified database name already being used. */ if (*Tsqlite3)(unsafe.Pointer(db)).FnDb >= *(*int32)(unsafe.Pointer(db + 136 + 7*4))+int32(2) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12001, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12126, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) goto attach_error } i = 0 @@ -93506,7 +93941,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { break } if _sqlite3DbIsNamed(tls, db, i, zName) != 0 { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12038, libc.VaList(bp+56, zName)) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12163, libc.VaList(bp+56, zName)) goto attach_error } goto _1 @@ -93554,7 +93989,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FnoSharedCache = uint8(0) if rc == int32(SQLITE_CONSTRAINT) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12068, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12193, 0) } else { if rc == SQLITE_OK { (*TDb)(unsafe.Pointer(pNew)).FpSchema = _sqlite3SchemaGet(tls, db, (*TDb)(unsafe.Pointer(pNew)).FpBt) @@ -93562,7 +93997,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { rc = int32(SQLITE_NOMEM) } else { if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0 && int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12097, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12222, 0) rc = int32(SQLITE_ERROR) } } @@ -93606,10 +94041,10 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)<= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12193, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12318, libc.VaList(bp+136, zName)) goto detach_error } if i < int32(2) { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12214, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12339, libc.VaList(bp+136, zName)) goto detach_error } if _sqlite3BtreeTxnState(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != SQLITE_TXN_NONE || _sqlite3BtreeIsInBackup(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != 0 { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12240, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12365, libc.VaList(bp+136, zName)) goto detach_error } /* If any TEMP triggers reference the schema being detached, move those @@ -93774,7 +94209,7 @@ func _sqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { var _detach_func = TFuncDef{ FnArg: int8(1), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12262, + FzName: __ccgo_ts + 12387, } func init() { @@ -93796,7 +94231,7 @@ func _sqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, p var _attach_func = TFuncDef{ FnArg: int8(3), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12276, + FzName: __ccgo_ts + 12401, } func init() { @@ -93822,7 +94257,7 @@ func _fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) (r int32) { if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer((*TDbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit1.Fbusy != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } else { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12290, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12415, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) return int32(WRC_Abort) } } @@ -93856,7 +94291,7 @@ func _fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) (r int32) { if int32((*TDbFixer)(unsafe.Pointer(pFix)).FbTemp) == 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != _sqlite3FindDbName(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12314, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12439, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return int32(WRC_Abort) } _sqlite3DbFree(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) @@ -94072,7 +94507,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // ** user-supplied authorization function returned an illegal value. // */ func _sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12360, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12485, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) } @@ -94100,11 +94535,11 @@ func _sqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, int32(SQLITE_READ), zTab, zCol, zDb, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12383, libc.VaList(bp+8, zTab, zCol)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12508, libc.VaList(bp+8, zTab, zCol)) if (*Tsqlite3)(unsafe.Pointer(db)).FnDb > int32(2) || iDb != 0 { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12389, libc.VaList(bp+8, zDb, z)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12514, libc.VaList(bp+8, zDb, z)) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12395, libc.VaList(bp+8, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12520, libc.VaList(bp+8, z)) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != int32(SQLITE_IGNORE) && rc != SQLITE_OK { @@ -94164,7 +94599,7 @@ func _sqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName } else { - zCol = __ccgo_ts + 7907 + zCol = __ccgo_ts + 8032 } } if int32(SQLITE_IGNORE) == _sqlite3AuthReadCol(tls, pParse, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -94199,7 +94634,7 @@ func _sqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, ** parameters can be either NULL or a string. */ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12422, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12547, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != SQLITE_OK && rc != int32(SQLITE_IGNORE) { @@ -94620,21 +95055,21 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { /* No match against the official names. But always match "main" ** to schema 0 as a legacy fallback. */ - if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6587) == 0 { + if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6651) == 0 { i = 0 } else { return uintptr(0) } } p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, zName) - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6527, int32(7)) == 0 { + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6591, int32(7)) == 0 { if i == int32(1) { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6554+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6573+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6068+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6535) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6618+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6637+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6132+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6599) } } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6573+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6068) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6637+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6132) } } } @@ -94664,12 +95099,12 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp ; i++ } - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6527, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6573+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6068) + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6591, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6637+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6132) } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6554+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6535) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6618+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6599) } } } @@ -94707,7 +95142,7 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt ** can be an eponymous virtual table. */ if int32((*TParse)(unsafe.Pointer(pParse)).FprepFlags)&int32(SQLITE_PREPARE_NO_VTAB) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 { pMod = _sqlite3HashFind(tls, db+576, zName) - if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12437, int32(7)) == 0 { + if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12562, int32(7)) == 0 { pMod = _sqlite3PragmaVtabRegister(tls, db, zName) } if pMod != 0 && _sqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0 { @@ -94725,15 +95160,15 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt } if p == uintptr(0) { if flags&uint32(LOCATE_VIEW) != 0 { - v1 = __ccgo_ts + 12445 + v1 = __ccgo_ts + 12570 } else { - v1 = __ccgo_ts + 12458 + v1 = __ccgo_ts + 12583 } zMsg = v1 if zDbase != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6791, libc.VaList(bp+8, zMsg, zDbase, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6855, libc.VaList(bp+8, zMsg, zDbase, zName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6801, libc.VaList(bp+8, zMsg, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6926, libc.VaList(bp+8, zMsg, zName)) } } else { } @@ -94771,12 +95206,12 @@ func _sqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags Tu32, p uintpt // ** names into the new preferred names, as appropriate. // */ func _sqlite3PreferredTableName(tls *libc.TLS, zName uintptr) (r uintptr) { - if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6527, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6068+7) == 0 { - return __ccgo_ts + 6573 + if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6591, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6132+7) == 0 { + return __ccgo_ts + 6637 } - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6535+7) == 0 { - return __ccgo_ts + 6554 + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6599+7) == 0 { + return __ccgo_ts + 6618 } } return zName @@ -95301,7 +95736,7 @@ func _sqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { var v uintptr _ = v v = _sqlite3GetVdbe(tls, p) - _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6068) + _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6132) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_OpenWrite), 0, int32(SCHEMA_ROOT), iDb, int32(5)) if (*TParse)(unsafe.Pointer(p)).FnTab == 0 { (*TParse)(unsafe.Pointer(p)).FnTab = int32(1) @@ -95333,7 +95768,7 @@ func _sqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) { } /* "main" is always an acceptable alias for the primary database ** even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. */ - if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6587, zName) { + if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6651, zName) { break } goto _1 @@ -95391,13 +95826,13 @@ func _sqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12472, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12597, 0) return -int32(1) } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = _sqlite3FindDb(tls, db, pName1) if iDb < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12489, libc.VaList(bp+8, pName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12614, libc.VaList(bp+8, pName1)) return -int32(1) } } else { @@ -95441,12 +95876,12 @@ func _sqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit))) != 0 || Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 1*8))) != 0 || Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 2*8))) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1650, 0) /* corruptSchema() will supply the error */ + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1664, 0) /* corruptSchema() will supply the error */ return int32(SQLITE_ERROR) } } else { - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6527, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12509, libc.VaList(bp+8, zName)) + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6591, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12634, libc.VaList(bp+8, zName)) return int32(SQLITE_ERROR) } } @@ -95661,9 +96096,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui /* Special case: Parsing the sqlite_schema or sqlite_temp_schema schema */ iDb = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6535 + v1 = __ccgo_ts + 6599 } else { - v1 = __ccgo_ts + 6068 + v1 = __ccgo_ts + 6132 } zName = _sqlite3DbStrDup(tls, db, v1) *(*uintptr)(unsafe.Pointer(bp)) = pName1 @@ -95676,7 +96111,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 && (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) && iDb != int32(1) { /* If creating a temp table, the name may not be qualified. Unless ** the database name is "temp" anyway. */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12551, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12676, 0) return } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 { @@ -95692,9 +96127,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui return } if isView != 0 { - v2 = __ccgo_ts + 10798 + v2 = __ccgo_ts + 10923 } else { - v2 = __ccgo_ts + 9060 + v2 = __ccgo_ts + 9185 } if _sqlite3CheckObjectName(tls, pParse, zName, v2, zName) != 0 { goto begin_table_error @@ -95704,9 +96139,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui } zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp == int32(1) { - v3 = __ccgo_ts + 6535 + v3 = __ccgo_ts + 6599 } else { - v3 = __ccgo_ts + 6068 + v3 = __ccgo_ts + 6132 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto begin_table_error @@ -95730,11 +96165,11 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if pTable != 0 { if !(noErr != 0) { if int32((*TTable)(unsafe.Pointer(pTable)).FeTabType) == int32(TABTYP_VIEW) { - v4 = __ccgo_ts + 10798 + v4 = __ccgo_ts + 10923 } else { - v4 = __ccgo_ts + 9060 + v4 = __ccgo_ts + 9185 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12592, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12717, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) _sqlite3ForceNotReadOnly(tls, pParse) @@ -95742,7 +96177,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui goto begin_table_error } if _sqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12613, libc.VaList(bp+16, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12738, libc.VaList(bp+16, zName)) goto begin_table_error } } @@ -95894,7 +96329,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { _, _, _ = db, pHash, pRet db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TParse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12648, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12773, 0) } else { } (*TParse)(unsafe.Pointer(pParse)).FbReturning = uint8(1) @@ -95910,7 +96345,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12682, libc.VaList(bp+8, pParse)) + Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12807, libc.VaList(bp+8, pParse)) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.FzName = pRet + 196 (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Fop = uint8(TK_RETURNING) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = uint8(TRIGGER_AFTER) @@ -95957,7 +96392,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok return } if int32((*TTable)(unsafe.Pointer(p)).FnCol)+int32(1) > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12702, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12827, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) return } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -95967,12 +96402,12 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok ** by the parser, we can sometimes end up with a typename that ends ** with "generated always". Check for this case and omit the surplus ** text. */ - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12725, int32(6)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12850, int32(6)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(6) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- } - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12732, int32(9)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12857, int32(9)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(9) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- @@ -96021,7 +96456,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok break } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FhName) == int32(hName) && _sqlite3StrICmp(tls, z, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FzCnName) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12742, libc.VaList(bp+40, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12867, libc.VaList(bp+40, z)) _sqlite3DbFree(tls, db, z) return } @@ -96229,10 +96664,10 @@ func _sqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar isInit = libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) != int32(1)) pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(p)).FnCol)-int32(1))*16 if !(_sqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12768, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12893, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12813, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12938, 0) } else { libc.Xmemset(tls, bp, 0, uint64(72)) (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_SPAN) @@ -96290,7 +96725,7 @@ func _makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { p1 = pCol + 14 *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(COLFLAG_PRIMKEY)) if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12854, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12979, 0) } } @@ -96327,7 +96762,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError goto primary_key_exit } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasPrimaryKey) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12906, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13031, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit } *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_HasPrimaryKey) @@ -96383,7 +96818,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError _sqlite3HasExplicitNulls(tls, pParse, pList) } else { if autoInc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12947, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13072, 0) } else { _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), uintptr(0), sortOrder, 0, uint8(SQLITE_IDXTYPE_PRIMARYKEY)) pList = uintptr(0) @@ -96499,17 +96934,17 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui } pCol = (*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-int32(1))*16 if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) == int32(PARSE_MODE_DECLARE_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13003, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13128, 0) goto generated_done } if int32((*TColumn)(unsafe.Pointer(pCol)).FiDflt) > 0 { goto generated_error } if pType != 0 { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13046, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13171, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { /* no-op */ } else { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13054, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13179, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { eType = uint8(COLFLAG_STORED) } else { goto generated_error @@ -96541,7 +96976,7 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui goto generated_error generated_error: ; - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13061, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13186, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) goto generated_done generated_done: ; @@ -96704,13 +97139,13 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { } n += _identLength(tls, (*TTable)(unsafe.Pointer(p)).FzName) if n < int32(50) { - zSep = __ccgo_ts + 1650 - zSep2 = __ccgo_ts + 13092 - zEnd = __ccgo_ts + 5108 + zSep = __ccgo_ts + 1664 + zSep2 = __ccgo_ts + 13217 + zEnd = __ccgo_ts + 5172 } else { - zSep = __ccgo_ts + 13094 - zSep2 = __ccgo_ts + 13098 - zEnd = __ccgo_ts + 13103 + zSep = __ccgo_ts + 13219 + zSep2 = __ccgo_ts + 13223 + zEnd = __ccgo_ts + 13228 } n += int32(35) + int32(6)*int32((*TTable)(unsafe.Pointer(p)).FnCol) zStmt = _sqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -96718,7 +97153,7 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { _sqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13106, 0) + Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13231, 0) *(*int32)(unsafe.Pointer(bp)) = _sqlite3Strlen30(tls, zStmt) _identPut(tls, zStmt, bp, (*TTable)(unsafe.Pointer(p)).FzName) v2 = *(*int32)(unsafe.Pointer(bp)) @@ -96744,17 +97179,17 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { i++ pCol += 16 } - Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3797, libc.VaList(bp+16, zEnd)) + Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3861, libc.VaList(bp+16, zEnd)) return zStmt } var _azType1 = [6]uintptr{ - 0: __ccgo_ts + 1650, - 1: __ccgo_ts + 13120, - 2: __ccgo_ts + 13126, - 3: __ccgo_ts + 13131, - 4: __ccgo_ts + 13136, - 5: __ccgo_ts + 13126, + 0: __ccgo_ts + 1664, + 1: __ccgo_ts + 13245, + 2: __ccgo_ts + 13251, + 3: __ccgo_ts + 13256, + 4: __ccgo_ts + 13261, + 5: __ccgo_ts + 13251, } // C documentation @@ -97328,13 +97763,13 @@ func _sqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts Tu32, pSelect uintptr) { bp := tls.Alloc(112) defer tls.Free(112) - var addrInsLoop, addrTop, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v4, v6, v8 int32 + var addrInsLoop, addrTop, iCsr, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v10, v4, v6, v8 int32 var colFlags Tu32 - var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v5, v7, v9 uintptr - var v10 Ti16 + var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v13, v5, v7, v9 uintptr + var v12 Ti16 var _ /* dest at bp+0 */ TSelectDest - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v4, v5, v6, v7, v8, v9 /* The new table */ - db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iCsr, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v12, v13, v4, v5, v6, v7, v8, v9 /* The new table */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ if pEnd == uintptr(0) && pSelect == uintptr(0) { return } @@ -97356,7 +97791,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if pSelect != 0 || !(int32((*TTable)(unsafe.Pointer(p)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) && (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1650, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1664, 0) return } (*TTable)(unsafe.Pointer(p)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum @@ -97383,9 +97818,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(ii)*16 if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf0>>4)) == COLTYPE_CUSTOM { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_HASTYPE) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13142, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1650))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13267, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1664))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13175, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13300, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } return } else { @@ -97406,11 +97841,11 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* Special processing for WITHOUT ROWID Tables */ if tabOpts&uint32(TF_WithoutRowid) != 0 { if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13202, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13327, 0) return } if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasPrimaryKey) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13252, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13377, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) return } *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) @@ -97457,7 +97892,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ii1++ } if nNG == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13284, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13409, 0) return } } @@ -97491,12 +97926,12 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if int32((*TTable)(unsafe.Pointer(p)).FeTabType) == TABTYP_NORM { /* A regular table */ - zType = __ccgo_ts + 9060 - zType2 = __ccgo_ts + 13328 + zType = __ccgo_ts + 9185 + zType2 = __ccgo_ts + 13453 } else { /* A view */ - zType = __ccgo_ts + 10798 - zType2 = __ccgo_ts + 13334 + zType = __ccgo_ts + 10923 + zType2 = __ccgo_ts + 13459 } /* If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT ** statement to populate the new table. The root-page number for the @@ -97511,28 +97946,31 @@ func _sqlite3EndTable(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 { /* A table that describes the SELECT results */ + if pSelect != 0 { /* Write cursor on the new table */ if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) (*TParse)(unsafe.Pointer(pParse)).FnErr++ return } - v5 = pParse + 56 - *(*int32)(unsafe.Pointer(v5))++ + v5 = pParse + 52 v4 = *(*int32)(unsafe.Pointer(v5)) - regYield = v4 + *(*int32)(unsafe.Pointer(v5))++ + iCsr = v4 v7 = pParse + 56 *(*int32)(unsafe.Pointer(v7))++ v6 = *(*int32)(unsafe.Pointer(v7)) - regRec = v6 + regYield = v6 v9 = pParse + 56 *(*int32)(unsafe.Pointer(v9))++ v8 = *(*int32)(unsafe.Pointer(v9)) - regRowid = v8 + regRec = v8 + v11 = pParse + 56 + *(*int32)(unsafe.Pointer(v11))++ + v10 = *(*int32)(unsafe.Pointer(v11)) + regRowid = v10 _sqlite3MayAbort(tls, pParse) - _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), int32(1), (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) + _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), iCsr, (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_P2ISREG)) - (*TParse)(unsafe.Pointer(pParse)).FnTab = int32(2) addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -97542,9 +97980,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if pSelTab == uintptr(0) { return } - v10 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol - (*TTable)(unsafe.Pointer(p)).FnNVCol = v10 - (*TTable)(unsafe.Pointer(p)).FnCol = v10 + v12 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol + (*TTable)(unsafe.Pointer(p)).FnNVCol = v12 + (*TTable)(unsafe.Pointer(p)).FnCol = v12 (*TTable)(unsafe.Pointer(p)).FaCol = (*TTable)(unsafe.Pointer(pSelTab)).FaCol (*TTable)(unsafe.Pointer(pSelTab)).FnCol = 0 (*TTable)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) @@ -97559,33 +97997,33 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr addrInsLoop = _sqlite3VdbeAddOp1(tls, v, int32(OP_Yield), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSDParm) _sqlite3VdbeAddOp3(tls, v, int32(OP_MakeRecord), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst, (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst, regRec) _sqlite3TableAffinity(tls, v, p, 0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), int32(1), regRowid) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), int32(1), regRec, regRowid) + _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iCsr, regRowid) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iCsr, regRec, regRowid) _sqlite3VdbeGoto(tls, v, addrInsLoop) _sqlite3VdbeJumpHere(tls, v, addrInsLoop) - _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), int32(1)) + _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), iCsr) } /* Compute the complete text of the CREATE statement */ if pSelect != 0 { zStmt = _createTableStmt(tls, db, p) } else { if tabOpts != 0 { - v11 = pParse + 288 + v13 = pParse + 288 } else { - v11 = pEnd + v13 = pEnd } - pEnd2 = v11 + pEnd2 = v13 n = int32(int64((*TToken)(unsafe.Pointer(pEnd2)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) if int32(*(*uint8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pEnd2)).Fz))) != int32(';') { n = int32(uint32(n) + (*TToken)(unsafe.Pointer(pEnd2)).Fn) } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13339, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13464, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13354, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13479, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) _sqlite3DbFree(tls, db, zStmt) _sqlite3ChangeCookie(tls, pParse, iDb) /* Check to see if we need to create an sqlite_sequence table for @@ -97594,17 +98032,16 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != uint32(0) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != libc.Int32FromInt32(PARSE_MODE_NORMAL)) { pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13452, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13577, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) } } /* Reparse everything to update our internal data structures */ - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13494, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13619, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) /* Test for cycles in generated columns and illegal expressions ** in CHECK constraints and in DEFAULT clauses. */ if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasGenerated) != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13528, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(0x0001), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13653, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13549, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } /* Add the table to the in-memory representation of the database. */ @@ -97621,7 +98058,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* If this is the magic sqlite_sequence table used by autoincrement, ** then record a pointer to this table in the main database structure ** so that INSERT can find the table easily. */ - if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9582) == 0 { + if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9707) == 0 { (*TSchema)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } } @@ -97654,7 +98091,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*uintptr)(unsafe.Pointer(bp + 112)) = uintptr(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if int32((*TParse)(unsafe.Pointer(pParse)).FnVar) > 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13581, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13674, 0) goto create_view_fail } _sqlite3StartTable(tls, pParse, pName1, pName2, isTemp, int32(1), 0, noErr) @@ -97671,7 +98108,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(TF_NoVisibleRowid) /* Never allow rowid in view */ _sqlite3TwoPartName(tls, pParse, pName1, pName2, bp+112) iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(p)).FpSchema) - _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10798, *(*uintptr)(unsafe.Pointer(bp + 112))) + _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10923, *(*uintptr)(unsafe.Pointer(bp + 112))) if _sqlite3FixSelect(tls, bp+16, pSelect) != 0 { goto create_view_fail } @@ -97767,7 +98204,7 @@ func _viewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) (r int32 ** SELECT * FROM temp.ex1; */ if int32((*TTable)(unsafe.Pointer(pTable)).FnCol) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13617, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13710, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) return int32(1) } /* If we get this far, it means we need to compute the table names. @@ -97951,7 +98388,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { v = _sqlite3GetVdbe(tls, pParse) r1 = _sqlite3GetTempReg(tls, pParse) if iTable < int32(2) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13647, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13740, 0) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Destroy), iTable, r1, iDb) _sqlite3MayAbort(tls, pParse) @@ -97964,7 +98401,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { ** is in register NNN. See grammar rules associated with the TK_REGISTER ** token for additional information. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13662, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13755, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) _sqlite3ReleaseTempReg(tls, pParse, r1) } @@ -98047,9 +98484,9 @@ func _sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uin if !(i <= int32(4)) { break } - Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13729, libc.VaList(bp+32, i)) + Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13822, libc.VaList(bp+32, i)) if _sqlite3FindTable(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, bp, zDbName) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11687, libc.VaList(bp+32, zDbName, bp, zType, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11812, libc.VaList(bp+32, zDbName, bp, zType, zName)) } goto _1 _1: @@ -98090,7 +98527,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** move as a result of the drop (can happen in auto-vacuum mode). */ if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13743, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13836, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* Drop all entries in the schema table that refer to the ** table. The program name loops through the schema table and deletes @@ -98099,7 +98536,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** created in the temp database that refers to a table in another ** database. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13788, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13881, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { _destroyTable(tls, pParse, pTab) } @@ -98134,11 +98571,11 @@ func _sqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) (r int32) { // ** Return true if it is not allowed to drop the given table // */ func _tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) (r int32) { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6527, int32(7)) == 0 { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3420, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6591, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3484, int32(4)) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7268, int32(10)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7393, int32(10)) == 0 { return 0 } return int32(1) @@ -98193,9 +98630,9 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6535 + v1 = __ccgo_ts + 6599 } else { - v1 = __ccgo_ts + 6068 + v1 = __ccgo_ts + 6132 } zTab = v1 zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName @@ -98228,18 +98665,18 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if _tableMayNotBeDropped(tls, db, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13855, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13948, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Ensure DROP TABLE is not used on a view, and DROP VIEW is not used ** on a table. */ if isView != 0 && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13883, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13976, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } if !(isView != 0) && int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13917, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14010, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Generate code to remove the table from the schema table @@ -98249,7 +98686,7 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) if !(isView != 0) { - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11799, (*TTable)(unsafe.Pointer(pTab)).FzName) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11924, (*TTable)(unsafe.Pointer(pTab)).FzName) _sqlite3FkDropTable(tls, pParse, pName, pTab) } _sqlite3CodeDropTable(tls, pParse, pTab, iDb, isView) @@ -98297,13 +98734,13 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p goto fk_end } if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13949, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14042, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) goto fk_end } nCol = int32(1) } else { if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14012, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14105, 0) goto fk_end } else { nCol = (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr @@ -98366,7 +98803,7 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p j++ } if j >= int32((*TTable)(unsafe.Pointer(p)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14106, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14199, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) goto fk_end } if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { @@ -98626,11 +99063,11 @@ func _sqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) (r i if int32(uint32(*(*uint16)(unsafe.Pointer(pList + 8 + uintptr(i)*32 + 16 + 4))&0x20>>5)) != 0 { sf = (*(*TExprList_item)(unsafe.Pointer(pList + 8 + uintptr(i)*32))).Ffg.FsortFlags if int32(sf) == 0 || int32(sf) == int32(3) { - v2 = __ccgo_ts + 14152 + v2 = __ccgo_ts + 14245 } else { - v2 = __ccgo_ts + 14158 + v2 = __ccgo_ts + 14251 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14163, libc.VaList(bp+8, v2)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14256, libc.VaList(bp+8, v2)) return int32(1) } goto _1 @@ -98708,7 +99145,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = int32(1) } } - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14191, *(*uintptr)(unsafe.Pointer(bp + 96))) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14284, *(*uintptr)(unsafe.Pointer(bp + 96))) if _sqlite3FixSrcList(tls, bp, pTblName) != 0 { /* Because the parser constructs pTblName from a single identifier, ** sqlite3FixSrcList can never fail. */ @@ -98718,7 +99155,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } if iDb == int32(1) && (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema != (*TTable)(unsafe.Pointer(pTab)).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14197, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14290, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if !((*TTable)(unsafe.Pointer(pTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { @@ -98732,16 +99169,16 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) } pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6527, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14247, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6591, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14340, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14275, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14368, 0) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14300, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14393, 0) goto exit_create_index } /* @@ -98762,19 +99199,19 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if zName == uintptr(0) { goto exit_create_index } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14191, (*TTable)(unsafe.Pointer(pTab)).FzName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14284, (*TTable)(unsafe.Pointer(pTab)).FzName) { goto exit_create_index } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if !((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0) { if _sqlite3FindTable(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14334, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14427, libc.VaList(bp+136, zName)) goto exit_create_index } } if _sqlite3FindIndex(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { if !(ifNotExist != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14368, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14461, libc.VaList(bp+136, zName)) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) _sqlite3ForceNotReadOnly(tls, pParse) @@ -98795,7 +99232,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pLoop = (*TIndex)(unsafe.Pointer(pLoop)).FpNext n++ } - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14392, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14485, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) if zName == uintptr(0) { goto exit_create_index } @@ -98813,9 +99250,9 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { zDb = (*TDb)(unsafe.Pointer(pDb)).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6535 + v2 = __ccgo_ts + 6599 } else { - v2 = __ccgo_ts + 6068 + v2 = __ccgo_ts + 6132 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v2, uintptr(0), zDb) != 0 { goto exit_create_index @@ -98843,7 +99280,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } _sqlite3ExprListSetSortOrder(tls, pList, sortOrder, -int32(1)) } else { - _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14191) + _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14284) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { goto exit_create_index } @@ -98927,7 +99364,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pCExpr = _sqlite3ExprSkipCollate(tls, (*TExprList_item)(unsafe.Pointer(pListItem)).FpExpr) if int32((*TExpr)(unsafe.Pointer(pCExpr)).Fop) != int32(TK_COLUMN) { if pTab == (*TParse)(unsafe.Pointer(pParse)).FpNewTable { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14415, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14508, 0) goto exit_create_index } if (*TIndex)(unsafe.Pointer(pIndex)).FaColExpr == uintptr(0) { @@ -99074,7 +99511,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u ** explicitly specified behavior for the index. */ if !(int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) || int32((*TIndex)(unsafe.Pointer(pIndex)).FonError) == int32(OE_Default)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14476, libc.VaList(bp+136, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14569, libc.VaList(bp+136, 0)) } if int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) { (*TIndex)(unsafe.Pointer(pIdx)).FonError = (*TIndex)(unsafe.Pointer(pIndex)).FonError @@ -99104,8 +99541,8 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != uintptr(0) { (*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14518, 0) - (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125123)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14611, 0) + (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125741)) goto exit_create_index } } @@ -99145,11 +99582,11 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* A named index with an explicit CREATE INDEX statement */ if onError == OE_None { - v13 = __ccgo_ts + 1650 + v13 = __ccgo_ts + 1664 } else { - v13 = __ccgo_ts + 14535 + v13 = __ccgo_ts + 14628 } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14543, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14636, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) } else { /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ /* zStmt = sqlite3MPrintf(""); */ @@ -99157,7 +99594,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* Add an entry in sqlite_schema for this index */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14563, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14656, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) _sqlite3DbFree(tls, db, zStmt) /* Fill the index with data and reparse the schema. Code an OP_Expire ** to invalidate all pre-compiled statements. @@ -99165,7 +99602,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != 0 { _sqlite3RefillIndex(tls, pParse, pIndex, iMem) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14622, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14715, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Expire), 0, int32(1)) } _sqlite3VdbeJumpHere(tls, v, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum)) @@ -99328,7 +99765,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pIndex = _sqlite3FindIndex(tls, db, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzName, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) if pIndex == uintptr(0) { if !(ifExists != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14649, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14742, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) _sqlite3ForceNotReadOnly(tls, pParse) @@ -99337,7 +99774,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in goto exit_drop_index } if int32(uint32(*(*uint16)(unsafe.Pointer(pIndex + 100))&0x3>>0)) != SQLITE_IDXTYPE_APPDEF { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14667, libc.VaList(bp+8, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14760, libc.VaList(bp+8, 0)) goto exit_drop_index } iDb = _sqlite3SchemaToIndex(tls, db, (*TIndex)(unsafe.Pointer(pIndex)).FpSchema) @@ -99345,9 +99782,9 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pTab = (*TIndex)(unsafe.Pointer(pIndex)).FpTable zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6535 + v1 = __ccgo_ts + 6599 } else { - v1 = __ccgo_ts + 6068 + v1 = __ccgo_ts + 6132 } zTab = v1 if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_DELETE), zTab, uintptr(0), zDb) != 0 { @@ -99363,8 +99800,8 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in v = _sqlite3GetVdbe(tls, pParse) if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14740, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11795, (*TIndex)(unsafe.Pointer(pIndex)).FzName) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14833, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11920, (*TIndex)(unsafe.Pointer(pIndex)).FzName) _sqlite3ChangeCookie(tls, pParse, iDb) _destroyRootPage(tls, pParse, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum), iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropIndex), iDb, 0, 0, (*TIndex)(unsafe.Pointer(pIndex)).FzName, 0) @@ -99555,7 +99992,7 @@ func _sqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra nAlloc = int64(2)*int64((*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) + int64(nExtra) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc+nExtra >= int32(SQLITE_MAX_SRCLIST) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14800, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14893, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) return uintptr(0) } if nAlloc > int64(SQLITE_MAX_SRCLIST) { @@ -99787,11 +100224,11 @@ func _sqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa db = (*TParse)(unsafe.Pointer(pParse)).Fdb if !(p != 0) && pOnUsing != uintptr(0) && ((*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 || (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpUsing != 0) { if (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 { - v1 = __ccgo_ts + 14836 + v1 = __ccgo_ts + 14929 } else { - v1 = __ccgo_ts + 14839 + v1 = __ccgo_ts + 14932 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14845, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14938, libc.VaList(bp+8, v1)) goto append_from_error } p = _sqlite3SrcListAppend(tls, pParse, p, pTable, pDatabase) @@ -99989,7 +100426,7 @@ func _sqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { var eTxnType, i int32 _, _, _, _, _ = db, eTxnType, i, pBt, v db = (*TParse)(unsafe.Pointer(pParse)).Fdb - if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14881, uintptr(0), uintptr(0)) != 0 { + if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14974, uintptr(0), uintptr(0)) != 0 { return } v = _sqlite3GetVdbe(tls, pParse) @@ -100036,9 +100473,9 @@ func _sqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { _, _, _ = isRollback, v, v1 isRollback = libc.BoolInt32(eType == int32(TK_ROLLBACK)) if isRollback != 0 { - v1 = __ccgo_ts + 14887 + v1 = __ccgo_ts + 14980 } else { - v1 = __ccgo_ts + 14896 + v1 = __ccgo_ts + 14989 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), v1, uintptr(0), uintptr(0)) != 0 { return @@ -100070,9 +100507,9 @@ func _sqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } var _az = [3]uintptr{ - 0: __ccgo_ts + 14881, - 1: __ccgo_ts + 14903, - 2: __ccgo_ts + 14887, + 0: __ccgo_ts + 14974, + 1: __ccgo_ts + 14996, + 2: __ccgo_ts + 14980, } // C documentation @@ -100092,7 +100529,7 @@ func _sqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) (r int32) { if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt == uintptr(0) && !((*TParse)(unsafe.Pointer(pParse)).Fexplain != 0) { rc = _sqlite3BtreeOpen(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp, 0, _flags) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14911, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15004, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = rc return int32(1) } @@ -100276,7 +100713,7 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable _sqlite3StrAccumInit(tls, bp, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136))) if (*TIndex)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+14981, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15074, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) } else { j = 0 for { @@ -100285,10 +100722,10 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx } zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*16))).FzCnName if j != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+14992, int32(2)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+15085, int32(2)) } Xsqlite3_str_appendall(tls, bp, (*TTable)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp, __ccgo_ts+1663, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+1677, int32(1)) Xsqlite3_str_appendall(tls, bp, zCol) goto _1 _1: @@ -100317,10 +100754,10 @@ func _sqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr _, _ = rc, zMsg if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12383, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12508, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(6)< libc.BoolInt32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15111, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15204, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } return 0 } @@ -101423,11 +101860,11 @@ func _sqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger ui bp := tls.Alloc(16) defer tls.Free(16) if _tabIsReadOnly(tls, pParse, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15144, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15237, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && (pTrigger == uintptr(0) || (*TTrigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 && (*TTrigger)(unsafe.Pointer(pTrigger)).FpNext == uintptr(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15173, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15266, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -101830,7 +102267,7 @@ func _sqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** invoke the callback function. */ if memCnt != 0 { - _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15211) + _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15304) } goto delete_from_cleanup delete_from_cleanup: @@ -101978,7 +102415,7 @@ func _sqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri v3 = 0 } _sqlite3VdbeAddOp2(tls, v, int32(OP_Delete), iDataCur, v3) - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11584) { + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11709) { _sqlite3VdbeAppendP4(tls, v, pTab, -int32(5)) } if int32(eMode) != ONEPASS_OFF { @@ -102282,11 +102719,11 @@ func _typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } var _azType2 = [5]uintptr{ - 0: __ccgo_ts + 6308, - 1: __ccgo_ts + 6303, - 2: __ccgo_ts + 8199, - 3: __ccgo_ts + 8194, - 4: __ccgo_ts + 1636, + 0: __ccgo_ts + 6372, + 1: __ccgo_ts + 6367, + 2: __ccgo_ts + 8324, + 3: __ccgo_ts + 8319, + 4: __ccgo_ts + 1650, } // C documentation @@ -102400,7 +102837,7 @@ func _absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* IMP: R-31676-45509 If X is the integer -9223372036854775808 ** then abs(X) throws an integer overflow error since there is no ** equivalent positive 64-bit two complement value. */ - Xsqlite3_result_error(tls, context, __ccgo_ts+15224, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15317, -int32(1)) return } iVal = -iVal @@ -102715,7 +103152,7 @@ func _roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } *(*float64)(unsafe.Pointer(bp)) = float64(int64(*(*float64)(unsafe.Pointer(bp)) + v1)) } else { - zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15241, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) + zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15334, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -103295,7 +103732,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { */ nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer(db + 136 + 8*4)) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15247, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15340, -int32(1)) return } if argc == int32(3) { @@ -103307,7 +103744,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { return } if _sqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), -int32(1)) != int32(1) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15280, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15373, -int32(1)) return } escape = _sqlite3Utf8Read(tls, bp+8) @@ -103389,7 +103826,7 @@ func _errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { defer tls.Free(16) _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // C documentation @@ -103476,17 +103913,17 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_FLOAT): r1 = Xsqlite3_value_double(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15325, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15418, libc.VaList(bp+16, r1)) zVal = Xsqlite3_str_value(tls, pStr) if zVal != 0 { _sqlite3AtoF(tls, zVal, bp, int32((*TStrAccum)(unsafe.Pointer(pStr)).FnChar), uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp)) { Xsqlite3_str_reset(tls, pStr) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15333, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15426, libc.VaList(bp+16, r1)) } } case int32(SQLITE_INTEGER): - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1406, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1425, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) case int32(SQLITE_BLOB): zBlob = Xsqlite3_value_blob(tls, pValue) nBlob = int64(Xsqlite3_value_bytes(tls, pValue)) @@ -103514,9 +103951,9 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { } case int32(SQLITE_TEXT): zArg = Xsqlite3_value_text(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15341, libc.VaList(bp+16, zArg)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15434, libc.VaList(bp+16, zArg)) default: - Xsqlite3_str_append(tls, pStr, __ccgo_ts+1651, int32(4)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+1665, int32(4)) break } } @@ -103753,7 +104190,7 @@ func _unhexFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { var v3 uint32 var _ /* zHex at bp+0 */ uintptr _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ch, d, nHex, nPass, p, pBlob, zPass, v1, v2, v3, v4, v5, v6 - zPass = __ccgo_ts + 1650 + zPass = __ccgo_ts + 1664 nPass = 0 *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) nHex = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -104066,7 +104503,7 @@ var _lenOne = [1]uint32{ } var _azOne = [1]uintptr{ - 0: __ccgo_ts + 11204, + 0: __ccgo_ts + 11329, } // C documentation @@ -104134,7 +104571,7 @@ func _concatFuncCore(tls *libc.TLS, context uintptr, argc int32, argv uintptr, n // ** concatentation of all non-null arguments. // */ func _concatFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1650) + _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1664) } // C documentation @@ -104180,7 +104617,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { _, _, _, _, _, _, _ = code, i, j, prevcode, zIn, v3, v4 zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = __ccgo_ts + 1650 + zIn = __ccgo_ts + 1664 } i = 0 for { @@ -104226,7 +104663,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { /* IMP: R-64894-50321 The string "?000" is returned if the argument ** is NULL or contains no ASCII alphabetic characters. */ - Xsqlite3_result_text(tls, context, __ccgo_ts+15344, int32(4), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, context, __ccgo_ts+15437, int32(4), libc.UintptrFromInt32(0)) } } @@ -104287,7 +104724,7 @@ func _loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { ** flag is set. See the sqlite3_enable_load_extension() API. */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_LoadExtFunc) == uint64(0) { - Xsqlite3_result_error(tls, context, __ccgo_ts+12422, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+12547, -int32(1)) return } if argc == int32(2) { @@ -104476,7 +104913,7 @@ func _sumFinalize(tls *libc.TLS, context uintptr) { if p != 0 && (*TSumCtx)(unsafe.Pointer(p)).Fcnt > 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fapprox != 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fovrfl != 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+15224, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15317, -int32(1)) } else { if !(_sqlite3IsOverflow(tls, (*TSumCtx)(unsafe.Pointer(p)).FrErr) != 0) { Xsqlite3_result_double(tls, context, (*TSumCtx)(unsafe.Pointer(p)).FrSum+(*TSumCtx)(unsafe.Pointer(p)).FrErr) @@ -104818,7 +105255,7 @@ func _groupConcatValue(tls *libc.TLS, context uintptr) { func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { var rc int32 _ = rc - rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15349, int32(2)) + rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15442, int32(2)) if rc == int32(SQLITE_NOMEM) { _sqlite3OomFault(tls, db) } @@ -104847,8 +105284,8 @@ func _sqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 if !(nArg <= int32(3)) { break } - _sqlite3CreateFunc(tls, db, __ccgo_ts+15355, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15355, nArg, uint8(SQLITE_UTF8), uint8(0)) + _sqlite3CreateFunc(tls, db, __ccgo_ts+15448, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15448, nArg, uint8(SQLITE_UTF8), uint8(0)) *(*Tu32)(unsafe.Pointer(pDef + 4)) |= uint32(flags) *(*Tu32)(unsafe.Pointer(pDef + 4)) &= uint32(^libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)) goto _1 @@ -105154,562 +105591,562 @@ var _aBuiltinFunc = [110]TFuncDef{ FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_implies_nonnull_row))), - FzName: __ccgo_ts + 15360, + FzName: __ccgo_ts + 15453, }, 1: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_compare))), - FzName: __ccgo_ts + 15380, + FzName: __ccgo_ts + 15473, }, 2: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_implies_expr))), - FzName: __ccgo_ts + 15393, + FzName: __ccgo_ts + 15486, }, 3: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_affinity))), - FzName: __ccgo_ts + 15411, + FzName: __ccgo_ts + 15504, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15420, + FzName: __ccgo_ts + 15513, }, 5: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15428, + FzName: __ccgo_ts + 15521, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15428, + FzName: __ccgo_ts + 15521, }, 7: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15443, + FzName: __ccgo_ts + 15536, }, 8: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15469, + FzName: __ccgo_ts + 15562, }, 9: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15494, + FzName: __ccgo_ts + 15587, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15503, + FzName: __ccgo_ts + 15596, }, 11: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15514, + FzName: __ccgo_ts + 15607, }, 12: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_sqlite_offset))), - FzName: __ccgo_ts + 15521, + FzName: __ccgo_ts + 15614, }, 13: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15535, + FzName: __ccgo_ts + 15628, }, 14: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15535, + FzName: __ccgo_ts + 15628, }, 15: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15541, + FzName: __ccgo_ts + 15634, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15541, + FzName: __ccgo_ts + 15634, }, 17: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15547, + FzName: __ccgo_ts + 15640, }, 18: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15547, + FzName: __ccgo_ts + 15640, }, 19: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15552, + FzName: __ccgo_ts + 15645, }, 20: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15552, + FzName: __ccgo_ts + 15645, }, 21: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15552, + FzName: __ccgo_ts + 15645, }, 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15556, + FzName: __ccgo_ts + 15649, }, 23: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15556, + FzName: __ccgo_ts + 15649, }, 24: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15556, + FzName: __ccgo_ts + 15649, }, 25: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15560, + FzName: __ccgo_ts + 15653, }, 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15567, + FzName: __ccgo_ts + 15660, }, 27: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_LENGTH)), - FzName: __ccgo_ts + 15575, + FzName: __ccgo_ts + 15668, }, 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_BYTELEN)), - FzName: __ccgo_ts + 15582, + FzName: __ccgo_ts + 15675, }, 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15595, + FzName: __ccgo_ts + 15688, }, 30: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15601, + FzName: __ccgo_ts + 15694, }, 31: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15608, + FzName: __ccgo_ts + 15701, }, 32: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15615, + FzName: __ccgo_ts + 15708, }, 33: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15623, + FzName: __ccgo_ts + 15716, }, 34: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15628, + FzName: __ccgo_ts + 15721, }, 35: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15632, + FzName: __ccgo_ts + 15725, }, 36: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15632, + FzName: __ccgo_ts + 15725, }, 37: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15638, + FzName: __ccgo_ts + 15731, }, 38: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15644, + FzName: __ccgo_ts + 15737, }, 39: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15650, + FzName: __ccgo_ts + 15743, }, 40: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15654, + FzName: __ccgo_ts + 15747, }, 41: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15654, + FzName: __ccgo_ts + 15747, }, 42: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15660, + FzName: __ccgo_ts + 15753, }, 43: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15660, + FzName: __ccgo_ts + 15753, }, 44: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15667, + FzName: __ccgo_ts + 15760, }, 45: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15667, + FzName: __ccgo_ts + 15760, }, 46: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15667, + FzName: __ccgo_ts + 15760, }, 47: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15677, + FzName: __ccgo_ts + 15770, }, 48: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15684, + FzName: __ccgo_ts + 15777, }, 49: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15691, + FzName: __ccgo_ts + 15784, }, 50: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15702, + FzName: __ccgo_ts + 15795, }, 51: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15709, + FzName: __ccgo_ts + 15802, }, 52: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15724, + FzName: __ccgo_ts + 15817, }, 53: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15741, + FzName: __ccgo_ts + 15834, }, 54: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15752, + FzName: __ccgo_ts + 15845, }, 55: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15758, + FzName: __ccgo_ts + 15851, }, 56: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15776, + FzName: __ccgo_ts + 15869, }, 57: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15784, + FzName: __ccgo_ts + 15877, }, 58: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15798, + FzName: __ccgo_ts + 15891, }, 59: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15806, + FzName: __ccgo_ts + 15899, }, 60: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15815, + FzName: __ccgo_ts + 15908, }, 61: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15815, + FzName: __ccgo_ts + 15908, }, 62: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15822, + FzName: __ccgo_ts + 15915, }, 63: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15822, + FzName: __ccgo_ts + 15915, }, 64: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15832, + FzName: __ccgo_ts + 15925, }, 65: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15836, + FzName: __ccgo_ts + 15929, }, 66: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15842, + FzName: __ccgo_ts + 15935, }, 67: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_COUNT) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15846, + FzName: __ccgo_ts + 15939, }, 68: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15846, + FzName: __ccgo_ts + 15939, }, 69: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15852, + FzName: __ccgo_ts + 15945, }, 70: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15852, + FzName: __ccgo_ts + 15945, }, 71: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15865, + FzName: __ccgo_ts + 15958, }, 72: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE) | libc.Int32FromInt32(SQLITE_FUNC_CASE)), FpUserData: uintptr(unsafe.Pointer(&_globInfo)), - FzName: __ccgo_ts + 15876, + FzName: __ccgo_ts + 15969, }, 73: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15355, + FzName: __ccgo_ts + 15448, }, 74: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15355, + FzName: __ccgo_ts + 15448, }, 75: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6732, + FzName: __ccgo_ts + 6796, }, 76: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6732, + FzName: __ccgo_ts + 6796, }, 77: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15881, + FzName: __ccgo_ts + 15974, }, 78: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15886, + FzName: __ccgo_ts + 1237, }, 79: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15894, + FzName: __ccgo_ts + 1245, }, 80: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15900, + FzName: __ccgo_ts + 15979, }, 81: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15906, + FzName: __ccgo_ts + 15985, }, 82: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15909, + FzName: __ccgo_ts + 15988, }, 83: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15913, + FzName: __ccgo_ts + 15992, }, 84: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15919, + FzName: __ccgo_ts + 15998, }, 85: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15909, + FzName: __ccgo_ts + 15988, }, 86: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15924, + FzName: __ccgo_ts + 16003, }, 87: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15928, + FzName: __ccgo_ts + 16007, }, 88: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15932, + FzName: __ccgo_ts + 16011, }, 89: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15938, + FzName: __ccgo_ts + 16017, }, 90: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15942, + FzName: __ccgo_ts + 16021, }, 91: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15947, + FzName: __ccgo_ts + 16026, }, 92: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15952, + FzName: __ccgo_ts + 16031, }, 93: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15957, + FzName: __ccgo_ts + 16036, }, 94: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15963, + FzName: __ccgo_ts + 16042, }, 95: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15967, + FzName: __ccgo_ts + 16046, }, 96: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15971, + FzName: __ccgo_ts + 16050, }, 97: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15975, + FzName: __ccgo_ts + 16054, }, 98: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15980, + FzName: __ccgo_ts + 16059, }, 99: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15985, + FzName: __ccgo_ts + 16064, }, 100: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15990, + FzName: __ccgo_ts + 16069, }, 101: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15996, + FzName: __ccgo_ts + 16075, }, 102: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16002, + FzName: __ccgo_ts + 16081, }, 103: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16008, + FzName: __ccgo_ts + 16087, }, 104: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16013, + FzName: __ccgo_ts + 16092, }, 105: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16021, + FzName: __ccgo_ts + 16100, }, 106: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16029, + FzName: __ccgo_ts + 16108, }, 107: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16032, + FzName: __ccgo_ts + 16111, }, 108: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 6732, + FzName: __ccgo_ts + 6796, }, 109: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_iif))), - FzName: __ccgo_ts + 16037, + FzName: __ccgo_ts + 16116, }, } @@ -106186,7 +106623,7 @@ func _sqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey } if !(pIdx != 0) { if !((*TParse)(unsafe.Pointer(pParse)).FdisableTriggers != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16041, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16120, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) } _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, aiCol) return int32(1) @@ -107297,11 +107734,11 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr break } *(*TToken)(unsafe.Pointer(bp + 16)) = TToken{ - Fz: __ccgo_ts + 6598, + Fz: __ccgo_ts + 6662, Fn: uint32(3), } /* Literal "old" token */ *(*TToken)(unsafe.Pointer(bp + 32)) = TToken{ - Fz: __ccgo_ts + 6594, + Fz: __ccgo_ts + 6658, Fn: uint32(3), } /* tFromCol = OLD.tToCol */ if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { @@ -107365,7 +107802,7 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr nFrom = _sqlite3Strlen30(tls, zFrom) if action == int32(OE_Restrict) { iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5227) + pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5291) if pRaise != 0 { (*TExpr)(unsafe.Pointer(pRaise)).FaffExpr = uint8(OE_Abort) } @@ -107946,7 +108383,7 @@ func _sqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8164, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8289, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) } (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -108207,6 +108644,219 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { } } +// C documentation +// +// /* +// ** If argument pVal is a Select object returned by an sqlite3MultiValues() +// ** that was able to use the co-routine optimization, finish coding the +// ** co-routine. +// */ +func _sqlite3MultiValuesEnd(tls *libc.TLS, pParse uintptr, pVal uintptr) { + var pItem uintptr + _ = pItem + if pVal != 0 && (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pVal)).FpSrc)).FnSrc > 0 { + pItem = (*TSelect)(unsafe.Pointer(pVal)).FpSrc + 8 + _sqlite3VdbeEndCoroutine(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn) + _sqlite3VdbeJumpHere(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FaddrFillSub-int32(1)) + } +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are constant. +// */ +func _exprListIsConstant(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + if 0 == _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are both constant and have no affinity. +// */ +func _exprListIsNoAffinity(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + var pExpr uintptr + _, _ = ii, pExpr + if _exprListIsConstant(tls, pParse, pRow) == 0 { + return 0 + } + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + pExpr = (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr + if 0 != int32(_sqlite3ExprAffinity(tls, pExpr)) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** This function is called by the parser for the second and subsequent +// ** rows of a multi-row VALUES clause. Argument pLeft is the part of +// ** the VALUES clause already parsed, argument pRow is the vector of values +// ** for the new row. The Select object returned represents the complete +// ** VALUES clause, including the new row. +// ** +// ** There are two ways in which this may be achieved - by incremental +// ** coding of a co-routine (the "co-routine" method) or by returning a +// ** Select object equivalent to the following (the "UNION ALL" method): +// ** +// ** "pLeft UNION ALL SELECT pRow" +// ** +// ** If the VALUES clause contains a lot of rows, this compound Select +// ** object may consume a lot of memory. +// ** +// ** When the co-routine method is used, each row that will be returned +// ** by the VALUES clause is coded into part of a co-routine as it is +// ** passed to this function. The returned Select object is equivalent to: +// ** +// ** SELECT * FROM ( +// ** Select object to read co-routine +// ** ) +// ** +// ** The co-routine method is used in most cases. Exceptions are: +// ** +// ** a) If the current statement has a WITH clause. This is to avoid +// ** statements like: +// ** +// ** WITH cte AS ( VALUES('x'), ('y') ... ) +// ** SELECT * FROM cte AS a, cte AS b; +// ** +// ** This will not work, as the co-routine uses a hard-coded register +// ** for its OP_Yield instructions, and so it is not possible for two +// ** cursors to iterate through it concurrently. +// ** +// ** b) The schema is currently being parsed (i.e. the VALUES clause is part +// ** of a schema item like a VIEW or TRIGGER). In this case there is no VM +// ** being generated when parsing is taking place, and so generating +// ** a co-routine is not possible. +// ** +// ** c) There are non-constant expressions in the VALUES clause (e.g. +// ** the VALUES clause is part of a correlated sub-query). +// ** +// ** d) One or more of the values in the first row of the VALUES clause +// ** has an affinity (i.e. is a CAST expression). This causes problems +// ** because the complex rules SQLite uses (see function +// ** sqlite3SubqueryColumnTypes() in select.c) to determine the effective +// ** affinity of such a column for all rows require access to all values in +// ** the column simultaneously. +// */ +func _sqlite3MultiValues(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRow uintptr) (r uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var f, v1 int32 + var p, pRet, pSelect, v, v2 uintptr + var _ /* dest at bp+0 */ TSelectDest + _, _, _, _, _, _, _ = f, p, pRet, pSelect, v, v1, v2 + if (*TParse)(unsafe.Pointer(pParse)).FbHasWith != 0 || (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy != 0 || _exprListIsConstant(tls, pParse, pRow) == 0 || (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 && _exprListIsNoAffinity(tls, pParse, (*TSelect)(unsafe.Pointer(pLeft)).FpEList) == 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { + /* The co-routine method cannot be used. Fall back to UNION ALL. */ + pSelect = uintptr(0) + f = libc.Int32FromInt32(SF_Values) | libc.Int32FromInt32(SF_MultiValue) + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc != 0 { + _sqlite3MultiValuesEnd(tls, pParse, pLeft) + f = int32(SF_Values) + } else { + if (*TSelect)(unsafe.Pointer(pLeft)).FpPrior != 0 { + /* In this case set the SF_MultiValue flag only if it was set on pLeft */ + f = int32(uint32(f) & (*TSelect)(unsafe.Pointer(pLeft)).FselFlags) + } + } + pSelect = _sqlite3SelectNew(tls, pParse, pRow, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(f), uintptr(0)) + *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) + if pSelect != 0 { + (*TSelect)(unsafe.Pointer(pSelect)).Fop = uint8(TK_ALL) + (*TSelect)(unsafe.Pointer(pSelect)).FpPrior = pLeft + pLeft = pSelect + } + } else { + p = uintptr(0) /* SrcItem that reads from co-routine */ + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 { + /* Co-routine has not yet been started and the special Select object + ** that accesses the co-routine has not yet been created. This block + ** does both those things. */ + v = _sqlite3GetVdbe(tls, pParse) + pRet = _sqlite3SelectNew(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) + /* Ensure the database schema has been read. This is to ensure we have + ** the correct text encoding. */ + if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmDbFlags&uint32(DBFLAG_SchemaKnownOk) == uint32(0) { + _sqlite3ReadSchema(tls, pParse) + } + if pRet != 0 { + (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pRet)).FpSrc)).FnSrc = int32(1) + (*TSelect)(unsafe.Pointer(pRet)).FpPrior = (*TSelect)(unsafe.Pointer(pLeft)).FpPrior + (*TSelect)(unsafe.Pointer(pRet)).Fop = (*TSelect)(unsafe.Pointer(pLeft)).Fop + (*TSelect)(unsafe.Pointer(pLeft)).FpPrior = uintptr(0) + (*TSelect)(unsafe.Pointer(pLeft)).Fop = uint8(TK_SELECT) + p = (*TSelect)(unsafe.Pointer(pRet)).FpSrc + 8 + (*TSrcItem)(unsafe.Pointer(p)).FpSelect = pLeft + libc.SetBitFieldPtr16Uint32(p+60+4, libc.Uint32FromInt32(1), 5, 0x20) + (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + v2 = pParse + 56 + *(*int32)(unsafe.Pointer(v2))++ + v1 = *(*int32)(unsafe.Pointer(v2)) + (*TSrcItem)(unsafe.Pointer(p)).FregReturn = v1 + (*TSrcItem)(unsafe.Pointer(p)).FiCursor = -int32(1) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1)) = uint32(2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn, 0, (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub) + _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + /* Allocate registers for the output of the co-routine. Do so so + ** that there are two unused registers immediately before those + ** used by the co-routine. This allows the code in sqlite3Insert() + ** to use these registers directly, instead of copying the output + ** of the co-routine to a separate array for processing. */ + (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(3) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpEList)).FnExpr + *(*int32)(unsafe.Pointer(pParse + 56)) += int32(2) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst + *(*Tu32)(unsafe.Pointer(pLeft + 4)) |= uint32(SF_MultiValue) + _sqlite3Select(tls, pParse, pLeft, bp) + (*TSrcItem)(unsafe.Pointer(p)).FregResult = (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst + pLeft = pRet + } + } else { + p = (*TSelect)(unsafe.Pointer(pLeft)).FpSrc + 8 + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1))++ + } + if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { + if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p)).FpSelect)).FpEList)).FnExpr != (*TExprList)(unsafe.Pointer(pRow)).FnExpr { + _sqlite3SelectWrongNumTermsError(tls, pParse, (*TSrcItem)(unsafe.Pointer(p)).FpSelect) + } else { + _sqlite3ExprCodeExprList(tls, pParse, pRow, (*TSrcItem)(unsafe.Pointer(p)).FregResult, 0, uint8(0)) + _sqlite3VdbeAddOp1(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Yield), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + } + } + _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pRow) + } + return pLeft +} + // C documentation // // /* @@ -108309,27 +108959,27 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { bp := tls.Alloc(160) defer tls.Free(160) - var aRegIdx, db, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, v, v13, v16, v18, v6, v9 uintptr - var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v12, v15, v17, v19, v23, v24, v5, v7, v8 int32 + var aRegIdx, db, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, v, v10, v14, v17, v19, v7 uintptr + var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v13, v16, v18, v20, v24, v25, v5, v6, v8, v9 int32 var appendFlag, bIdListInOrder, useTempTable, withoutRowid Tu8 - var colFlags, v21 Tu32 + var colFlags, v22 Tu32 var _ /* dest at bp+8 */ TSelectDest var _ /* iDataCur at bp+0 */ int32 var _ /* iIdxCur at bp+4 */ int32 var _ /* isReplace at bp+112 */ int32 var _ /* sNC at bp+56 */ TNameContext var _ /* tmask at bp+48 */ int32 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v12, v13, v15, v16, v17, v18, v19, v21, v23, v24, v5, v6, v7, v8, v9 /* Number of columns in the data */ - nHidden = 0 /* Number of hidden columns if TABLE is virtual */ - *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ - *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ - ipkColumn = -int32(1) /* Label for the end of the insertion loop */ - srcTab = 0 /* Data comes from this temporary cursor if >=0 */ - addrInsTop = 0 /* Jump to label "D" */ - addrCont = 0 /* Index of database holding TABLE */ - useTempTable = uint8(0) /* Store SELECT results in intermediate table */ - appendFlag = uint8(0) /* True if IDLIST is in table order */ - pList = uintptr(0) /* Register in which to store next column */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v10, v13, v14, v16, v17, v18, v19, v20, v22, v24, v25, v5, v6, v7, v8, v9 /* Number of columns in the data */ + nHidden = 0 /* Number of hidden columns if TABLE is virtual */ + *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ + *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ + ipkColumn = -int32(1) /* Label for the end of the insertion loop */ + srcTab = 0 /* Data comes from this temporary cursor if >=0 */ + addrInsTop = 0 /* Jump to label "D" */ + addrCont = 0 /* Index of database holding TABLE */ + useTempTable = uint8(0) /* Store SELECT results in intermediate table */ + appendFlag = uint8(0) /* True if IDLIST is in table order */ + pList = uintptr(0) /* Register in which to store next column */ /* Register allocations */ regFromSelect = 0 /* Base register for data coming from SELECT */ regAutoinc = 0 /* Register holding the AUTOINCREMENT counter */ @@ -108467,7 +109117,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_STORED)|libc.Int32FromInt32(COLFLAG_VIRTUAL)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16086, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16165, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto insert_cleanup } break @@ -108482,7 +109132,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i bIdListInOrder = uint8(0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16127, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16206, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto insert_cleanup } @@ -108499,28 +109149,46 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** co-routine is the common header to the 3rd and 4th templates. */ if pSelect != 0 { /* Result code */ - v6 = pParse + 56 - *(*int32)(unsafe.Pointer(v6))++ - v5 = *(*int32)(unsafe.Pointer(v6)) - regYield = v5 - addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) - _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) - _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) - if bIdListInOrder != 0 { - v7 = regData - } else { - v7 = 0 - } - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v7 - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) - rc = _sqlite3Select(tls, pParse, pSelect, bp+8) - regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst - if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { - goto insert_cleanup + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc)).FnSrc == int32(1) && int32(uint32(*(*uint16)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + 60 + 4))&0x20>>5)) != 0 && (*TSelect)(unsafe.Pointer(pSelect)).FpPrior == uintptr(0) { + pItem = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSDParm = (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn + regFromSelect = (*TSrcItem)(unsafe.Pointer(pItem)).FregResult + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FpEList)).FnExpr + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+16238, libc.VaList(bp+128, pItem)) + if bIdListInOrder != 0 && nColumn == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { + regData = regFromSelect + regRowid = regData - int32(1) + if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { + v5 = int32(1) + } else { + v5 = 0 + } + regIns = regRowid - v5 + } + } else { + v7 = pParse + 56 + *(*int32)(unsafe.Pointer(v7))++ + v6 = *(*int32)(unsafe.Pointer(v7)) /* Top of the co-routine */ + regYield = v6 + addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) + _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) + if bIdListInOrder != 0 { + v8 = regData + } else { + v8 = 0 + } + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) + rc = _sqlite3Select(tls, pParse, pSelect, bp+8) + regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst + if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { + goto insert_cleanup + } + _sqlite3VdbeEndCoroutine(tls, v, regYield) + _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr } - _sqlite3VdbeEndCoroutine(tls, v, regYield) - _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ - nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr /* Set useTempTable to TRUE if the result of the SELECT statement ** should be written into a temporary table (template 4). Set to ** FALSE if each output row of the SELECT can be written directly into @@ -108534,10 +109202,10 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin useTempTable = uint8(1) } if useTempTable != 0 { /* Label "L" */ - v9 = pParse + 52 - v8 = *(*int32)(unsafe.Pointer(v9)) - *(*int32)(unsafe.Pointer(v9))++ - srcTab = v8 + v10 = pParse + 52 + v9 = *(*int32)(unsafe.Pointer(v10)) + *(*int32)(unsafe.Pointer(v10))++ + srcTab = v9 regRec = _sqlite3GetTempReg(tls, pParse) regTempRowid = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp2(tls, v, int32(OP_OpenEphemeral), srcTab, nColumn) @@ -108578,8 +109246,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { ipkColumn-- } - goto _10 - _10: + goto _11 + _11: ; i-- } @@ -108596,28 +109264,28 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_NOINSERT) != 0 { nHidden++ } - goto _11 - _11: + goto _12 + _12: ; i++ } } if nColumn != int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16159, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16246, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) goto insert_cleanup } } if pColumn != uintptr(0) && nColumn != (*TIdList)(unsafe.Pointer(pColumn)).FnId { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16211, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16298, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup } /* Initialize the count of rows to be inserted */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&(uint64(libc.Int32FromInt32(0x00001))<= 0 { /* tag-20191021-001: If the INTEGER PRIMARY KEY is being generated by the ** SELECT, go ahead and copy the value into the rowid slot now, so that @@ -108730,18 +109398,18 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** using excess space. The file format definition requires this extra ** NULL - we cannot optimize further by skipping the column completely */ _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) - goto _20 + goto _21 } - v21 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) - colFlags = v21 - if v21&uint32(COLFLAG_NOINSERT) != uint32(0) { + v22 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) + colFlags = v22 + if v22&uint32(COLFLAG_NOINSERT) != uint32(0) { nHidden++ if colFlags&uint32(COLFLAG_VIRTUAL) != uint32(0) { /* Virtual columns do not participate in OP_MakeRecord. So back up ** iRegStore by one slot to compensate for the iRegStore++ in the ** outer for() loop */ iRegStore-- - goto _20 + goto _21 } else { if colFlags&uint32(COLFLAG_STORED) != uint32(0) { /* Stored columns are computed later. But if there are BEFORE @@ -108751,13 +109419,13 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if *(*int32)(unsafe.Pointer(bp + 48))&int32(TRIGGER_BEFORE) != 0 { _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) } - goto _20 + goto _21 } else { if pColumn == uintptr(0) { /* Hidden columns that are not explicitly named in the INSERT ** get there default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } } } @@ -108768,8 +109436,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if !(j < (*TIdList)(unsafe.Pointer(pColumn)).FnId && *(*int32)(unsafe.Pointer(pColumn + 8 + uintptr(j)*16 + 8)) != i) { break } - goto _22 - _22: + goto _23 + _23: ; j++ } @@ -108777,14 +109445,14 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin /* A column not named in the insert column list gets its ** default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } k = j } else { if nColumn == 0 { /* This is INSERT INTO ... DEFAULT VALUES. Load the default value. */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } else { k = i - nHidden } @@ -108801,16 +109469,16 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin y = _sqlite3ExprCodeTarget(tls, pParse, pX, iRegStore) if y != iRegStore { if (*TExpr)(unsafe.Pointer(pX)).Fflags&uint32(libc.Int32FromInt32(EP_Subquery)) != uint32(0) { - v23 = int32(OP_Copy) + v24 = int32(OP_Copy) } else { - v23 = int32(OP_SCopy) + v24 = int32(OP_SCopy) } - _sqlite3VdbeAddOp2(tls, v, v23, y, iRegStore) + _sqlite3VdbeAddOp2(tls, v, v24, y, iRegStore) } } } - goto _20 - _20: + goto _21 + _21: ; i++ iRegStore++ @@ -108921,11 +109589,11 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _sqlite3VtabMakeWritable(tls, pParse, pTab) _sqlite3VdbeAddOp4(tls, v, int32(OP_VUpdate), int32(1), int32((*TTable)(unsafe.Pointer(pTab)).FnCol)+int32(2), regIns, pVTab, -int32(11)) if onError == int32(OE_Default) { - v24 = int32(OE_Abort) + v25 = int32(OE_Abort) } else { - v24 = onError + v25 = onError } - _sqlite3VdbeChangeP5(tls, v, uint16(v24)) + _sqlite3VdbeChangeP5(tls, v, uint16(v25)) _sqlite3MayAbort(tls, pParse) } else { *(*int32)(unsafe.Pointer(bp + 112)) = 0 /* True to use OPFLAG_SEEKRESULT */ @@ -108984,7 +109652,7 @@ insert_end: ** invoke the callback function. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16303) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16390) } goto insert_cleanup insert_cleanup: @@ -109377,7 +110045,7 @@ func _sqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case int32(OE_Rollback): fallthrough case int32(OE_Fail): - zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12383, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12508, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) _sqlite3VdbeAddOp3(tls, v, int32(OP_HaltIfNull), libc.Int32FromInt32(SQLITE_CONSTRAINT)|libc.Int32FromInt32(5)<= 0 && !(int32(*(*uint8)(unsafe.Pointer(zFile + uintptr(iFile)))) == libc.Int32FromUint8('/'))) { @@ -111611,7 +112279,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp iFile-- } iFile++ - if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16352, int32(3)) == 0 { + if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16439, int32(3)) == 0 { iFile += int32(3) } iEntry = int32(8) @@ -111631,7 +112299,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp ; iFile++ } - libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16356, uint64(6)) + libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16443, uint64(6)) zEntry = zAltEntry xInit = _sqlite3OsDlSym(tls, pVfs, handle, zEntry) } @@ -111643,7 +112311,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v7 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16362, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16449, libc.VaList(bp+16, zEntry, zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -111658,7 +112326,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp return SQLITE_OK } if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16405, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16492, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3OsDlClose(tls, pVfs, handle) @@ -111689,7 +112357,7 @@ extension_not_found: *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v10 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16437, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16524, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -111698,7 +112366,7 @@ extension_not_found: /* Shared library endings to try if zFile cannot be loaded as written */ var _azEndings = [1]uintptr{ - 0: __ccgo_ts + 16317, + 0: __ccgo_ts + 16404, } func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) (r int32) { @@ -111931,7 +112599,7 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { rc = v2 } if v3 && v2 != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16474, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16561, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -111985,63 +112653,63 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { // ** result column is different from the name of the pragma // */ var _pragCName = [57]uintptr{ - 0: __ccgo_ts + 5483, - 1: __ccgo_ts + 16513, - 2: __ccgo_ts + 9060, - 3: __ccgo_ts + 16517, - 4: __ccgo_ts + 16522, - 5: __ccgo_ts + 16525, - 6: __ccgo_ts + 16535, - 7: __ccgo_ts + 16545, - 8: __ccgo_ts + 16551, - 9: __ccgo_ts + 16555, - 10: __ccgo_ts + 16560, - 11: __ccgo_ts + 16565, - 12: __ccgo_ts + 16573, - 13: __ccgo_ts + 16584, - 14: __ccgo_ts + 16587, - 15: __ccgo_ts + 16594, - 16: __ccgo_ts + 16555, - 17: __ccgo_ts + 16560, - 18: __ccgo_ts + 16601, - 19: __ccgo_ts + 16606, - 20: __ccgo_ts + 16609, - 21: __ccgo_ts + 16616, - 22: __ccgo_ts + 16551, - 23: __ccgo_ts + 16555, - 24: __ccgo_ts + 16622, - 25: __ccgo_ts + 16627, - 26: __ccgo_ts + 16632, - 27: __ccgo_ts + 16555, - 28: __ccgo_ts + 16636, - 29: __ccgo_ts + 16560, - 30: __ccgo_ts + 16644, - 31: __ccgo_ts + 16648, - 32: __ccgo_ts + 16653, - 33: __ccgo_ts + 11799, - 34: __ccgo_ts + 11795, - 35: __ccgo_ts + 16659, - 36: __ccgo_ts + 16664, - 37: __ccgo_ts + 16669, - 38: __ccgo_ts + 16513, - 39: __ccgo_ts + 16555, - 40: __ccgo_ts + 16674, - 41: __ccgo_ts + 16681, - 42: __ccgo_ts + 16688, - 43: __ccgo_ts + 9060, - 44: __ccgo_ts + 16696, - 45: __ccgo_ts + 5486, - 46: __ccgo_ts + 16702, - 47: __ccgo_ts + 16513, - 48: __ccgo_ts + 16555, - 49: __ccgo_ts + 16707, - 50: __ccgo_ts + 16712, - 51: __ccgo_ts + 15909, - 52: __ccgo_ts + 16717, - 53: __ccgo_ts + 16730, - 54: __ccgo_ts + 16739, - 55: __ccgo_ts + 16746, - 56: __ccgo_ts + 16757, + 0: __ccgo_ts + 5547, + 1: __ccgo_ts + 16600, + 2: __ccgo_ts + 9185, + 3: __ccgo_ts + 16604, + 4: __ccgo_ts + 16609, + 5: __ccgo_ts + 16612, + 6: __ccgo_ts + 16622, + 7: __ccgo_ts + 16632, + 8: __ccgo_ts + 16638, + 9: __ccgo_ts + 16642, + 10: __ccgo_ts + 16647, + 11: __ccgo_ts + 16652, + 12: __ccgo_ts + 16660, + 13: __ccgo_ts + 16671, + 14: __ccgo_ts + 16674, + 15: __ccgo_ts + 16681, + 16: __ccgo_ts + 16642, + 17: __ccgo_ts + 16647, + 18: __ccgo_ts + 16688, + 19: __ccgo_ts + 16693, + 20: __ccgo_ts + 16696, + 21: __ccgo_ts + 16703, + 22: __ccgo_ts + 16638, + 23: __ccgo_ts + 16642, + 24: __ccgo_ts + 16709, + 25: __ccgo_ts + 16714, + 26: __ccgo_ts + 16719, + 27: __ccgo_ts + 16642, + 28: __ccgo_ts + 16723, + 29: __ccgo_ts + 16647, + 30: __ccgo_ts + 16731, + 31: __ccgo_ts + 16735, + 32: __ccgo_ts + 16740, + 33: __ccgo_ts + 11924, + 34: __ccgo_ts + 11920, + 35: __ccgo_ts + 16746, + 36: __ccgo_ts + 16751, + 37: __ccgo_ts + 16756, + 38: __ccgo_ts + 16600, + 39: __ccgo_ts + 16642, + 40: __ccgo_ts + 16761, + 41: __ccgo_ts + 16768, + 42: __ccgo_ts + 16775, + 43: __ccgo_ts + 9185, + 44: __ccgo_ts + 16783, + 45: __ccgo_ts + 5550, + 46: __ccgo_ts + 16789, + 47: __ccgo_ts + 16600, + 48: __ccgo_ts + 16642, + 49: __ccgo_ts + 16794, + 50: __ccgo_ts + 16799, + 51: __ccgo_ts + 15988, + 52: __ccgo_ts + 16804, + 53: __ccgo_ts + 16817, + 54: __ccgo_ts + 16826, + 55: __ccgo_ts + 16833, + 56: __ccgo_ts + 16844, } // C documentation @@ -112060,191 +112728,191 @@ type PragmaName = TPragmaName var _aPragmaName = [66]TPragmaName{ 0: { - FzName: __ccgo_ts + 16765, + FzName: __ccgo_ts + 16852, FePragTyp: uint8(PragTyp_ANALYSIS_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 1: { - FzName: __ccgo_ts + 16780, + FzName: __ccgo_ts + 16867, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_APPLICATION_ID), }, 2: { - FzName: __ccgo_ts + 16795, + FzName: __ccgo_ts + 16882, FePragTyp: uint8(PragTyp_AUTO_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 3: { - FzName: __ccgo_ts + 16807, + FzName: __ccgo_ts + 16894, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_AutoIndex), }, 4: { - FzName: __ccgo_ts + 16823, + FzName: __ccgo_ts + 16910, FePragTyp: uint8(PragTyp_BUSY_TIMEOUT), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(56), FnPragCName: uint8(1), }, 5: { - FzName: __ccgo_ts + 16746, + FzName: __ccgo_ts + 16833, FePragTyp: uint8(PragTyp_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 6: { - FzName: __ccgo_ts + 16836, + FzName: __ccgo_ts + 16923, FePragTyp: uint8(PragTyp_CACHE_SPILL), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 7: { - FzName: __ccgo_ts + 16848, + FzName: __ccgo_ts + 16935, FePragTyp: uint8(PragTyp_CASE_SENSITIVE_LIKE), FmPragFlg: uint8(PragFlg_NoColumns), }, 8: { - FzName: __ccgo_ts + 16868, + FzName: __ccgo_ts + 16955, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CellSizeCk), }, 9: { - FzName: __ccgo_ts + 16884, + FzName: __ccgo_ts + 16971, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CkptFullFSync), }, 10: { - FzName: __ccgo_ts + 16905, + FzName: __ccgo_ts + 16992, FePragTyp: uint8(PragTyp_COLLATION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(38), FnPragCName: uint8(2), }, 11: { - FzName: __ccgo_ts + 16920, + FzName: __ccgo_ts + 17007, FePragTyp: uint8(PragTyp_COMPILE_OPTIONS), FmPragFlg: uint8(PragFlg_Result0), }, 12: { - FzName: __ccgo_ts + 16936, + FzName: __ccgo_ts + 17023, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00001)) << libc.Int32FromInt32(32), }, 13: { - FzName: __ccgo_ts + 16950, + FzName: __ccgo_ts + 17037, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_DATA_VERSION), }, 14: { - FzName: __ccgo_ts + 16963, + FzName: __ccgo_ts + 17050, FePragTyp: uint8(PragTyp_DATABASE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(47), FnPragCName: uint8(3), }, 15: { - FzName: __ccgo_ts + 16977, + FzName: __ccgo_ts + 17064, FePragTyp: uint8(PragTyp_DEFAULT_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiPragCName: uint8(55), FnPragCName: uint8(1), }, 16: { - FzName: __ccgo_ts + 16996, + FzName: __ccgo_ts + 17083, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_DeferFKs), }, 17: { - FzName: __ccgo_ts + 17015, + FzName: __ccgo_ts + 17102, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_NullCallback), }, 18: { - FzName: __ccgo_ts + 17038, + FzName: __ccgo_ts + 17125, FePragTyp: uint8(PragTyp_ENCODING), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 19: { - FzName: __ccgo_ts + 17047, + FzName: __ccgo_ts + 17134, FePragTyp: uint8(PragTyp_FOREIGN_KEY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(43), FnPragCName: uint8(4), }, 20: { - FzName: __ccgo_ts + 17065, + FzName: __ccgo_ts + 17152, FePragTyp: uint8(PragTyp_FOREIGN_KEY_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FnPragCName: uint8(8), }, 21: { - FzName: __ccgo_ts + 17082, + FzName: __ccgo_ts + 17169, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ForeignKeys), }, 22: { - FzName: __ccgo_ts + 17095, + FzName: __ccgo_ts + 17182, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), }, 23: { - FzName: __ccgo_ts + 17110, + FzName: __ccgo_ts + 17197, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullColNames), }, 24: { - FzName: __ccgo_ts + 17128, + FzName: __ccgo_ts + 17215, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullFSync), }, 25: { - FzName: __ccgo_ts + 17138, + FzName: __ccgo_ts + 17225, FePragTyp: uint8(PragTyp_FUNCTION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(27), FnPragCName: uint8(6), }, 26: { - FzName: __ccgo_ts + 17152, + FzName: __ccgo_ts + 17239, FePragTyp: uint8(PragTyp_HARD_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 27: { - FzName: __ccgo_ts + 17168, + FzName: __ccgo_ts + 17255, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_IgnoreChecks), }, 28: { - FzName: __ccgo_ts + 17193, + FzName: __ccgo_ts + 17280, FePragTyp: uint8(PragTyp_INCREMENTAL_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_NoColumns)), }, 29: { - FzName: __ccgo_ts + 17212, + FzName: __ccgo_ts + 17299, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), FnPragCName: uint8(3), }, 30: { - FzName: __ccgo_ts + 17223, + FzName: __ccgo_ts + 17310, FePragTyp: uint8(PragTyp_INDEX_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(38), FnPragCName: uint8(5), }, 31: { - FzName: __ccgo_ts + 17234, + FzName: __ccgo_ts + 17321, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), @@ -112252,146 +112920,146 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 32: { - FzName: __ccgo_ts + 17246, + FzName: __ccgo_ts + 17333, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 33: { - FzName: __ccgo_ts + 17262, + FzName: __ccgo_ts + 17349, FePragTyp: uint8(PragTyp_JOURNAL_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 34: { - FzName: __ccgo_ts + 17275, + FzName: __ccgo_ts + 17362, FePragTyp: uint8(PragTyp_JOURNAL_SIZE_LIMIT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 35: { - FzName: __ccgo_ts + 17294, + FzName: __ccgo_ts + 17381, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_LegacyAlter), }, 36: { - FzName: __ccgo_ts + 17313, + FzName: __ccgo_ts + 17400, FePragTyp: uint8(PragTyp_LOCKING_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 37: { - FzName: __ccgo_ts + 17326, + FzName: __ccgo_ts + 17413, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 38: { - FzName: __ccgo_ts + 17341, + FzName: __ccgo_ts + 17428, FePragTyp: uint8(PragTyp_MMAP_SIZE), }, 39: { - FzName: __ccgo_ts + 17351, + FzName: __ccgo_ts + 17438, FePragTyp: uint8(PragTyp_MODULE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 40: { - FzName: __ccgo_ts + 17363, + FzName: __ccgo_ts + 17450, FePragTyp: uint8(PragTyp_OPTIMIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_NeedSchema)), }, 41: { - FzName: __ccgo_ts + 17372, + FzName: __ccgo_ts + 17459, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 42: { - FzName: __ccgo_ts + 17383, + FzName: __ccgo_ts + 17470, FePragTyp: uint8(PragTyp_PAGE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 43: { - FzName: __ccgo_ts + 17393, + FzName: __ccgo_ts + 17480, FePragTyp: uint8(PragTyp_PRAGMA_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 44: { - FzName: __ccgo_ts + 17405, + FzName: __ccgo_ts + 17492, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_QueryOnly), }, 45: { - FzName: __ccgo_ts + 17416, + FzName: __ccgo_ts + 17503, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 46: { - FzName: __ccgo_ts + 17428, + FzName: __ccgo_ts + 17515, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00004)) << libc.Int32FromInt32(32), }, 47: { - FzName: __ccgo_ts + 17445, + FzName: __ccgo_ts + 17532, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_RecTriggers), }, 48: { - FzName: __ccgo_ts + 17464, + FzName: __ccgo_ts + 17551, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ReverseOrder), }, 49: { - FzName: __ccgo_ts + 17490, + FzName: __ccgo_ts + 17577, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_SCHEMA_VERSION), }, 50: { - FzName: __ccgo_ts + 17505, + FzName: __ccgo_ts + 17592, FePragTyp: uint8(PragTyp_SECURE_DELETE), FmPragFlg: uint8(PragFlg_Result0), }, 51: { - FzName: __ccgo_ts + 17519, + FzName: __ccgo_ts + 17606, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ShortColNames), }, 52: { - FzName: __ccgo_ts + 17538, + FzName: __ccgo_ts + 17625, FePragTyp: uint8(PragTyp_SHRINK_MEMORY), FmPragFlg: uint8(PragFlg_NoColumns), }, 53: { - FzName: __ccgo_ts + 17552, + FzName: __ccgo_ts + 17639, FePragTyp: uint8(PragTyp_SOFT_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 54: { - FzName: __ccgo_ts + 17568, + FzName: __ccgo_ts + 17655, FePragTyp: uint8(PragTyp_SYNCHRONOUS), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 55: { - FzName: __ccgo_ts + 17580, + FzName: __ccgo_ts + 17667, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), FnPragCName: uint8(6), }, 56: { - FzName: __ccgo_ts + 17591, + FzName: __ccgo_ts + 17678, FePragTyp: uint8(PragTyp_TABLE_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1)), FiPragCName: uint8(15), FnPragCName: uint8(6), }, 57: { - FzName: __ccgo_ts + 17602, + FzName: __ccgo_ts + 17689, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), @@ -112399,45 +113067,45 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 58: { - FzName: __ccgo_ts + 17614, + FzName: __ccgo_ts + 17701, FePragTyp: uint8(PragTyp_TEMP_STORE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 59: { - FzName: __ccgo_ts + 17625, + FzName: __ccgo_ts + 17712, FePragTyp: uint8(PragTyp_TEMP_STORE_DIRECTORY), FmPragFlg: uint8(PragFlg_NoColumns1), }, 60: { - FzName: __ccgo_ts + 17646, + FzName: __ccgo_ts + 17733, FePragTyp: uint8(PragTyp_THREADS), FmPragFlg: uint8(PragFlg_Result0), }, 61: { - FzName: __ccgo_ts + 17654, + FzName: __ccgo_ts + 17741, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_TrustedSchema), }, 62: { - FzName: __ccgo_ts + 17669, + FzName: __ccgo_ts + 17756, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_USER_VERSION), }, 63: { - FzName: __ccgo_ts + 17682, + FzName: __ccgo_ts + 17769, FePragTyp: uint8(PragTyp_WAL_AUTOCHECKPOINT), }, 64: { - FzName: __ccgo_ts + 17701, + FzName: __ccgo_ts + 17788, FePragTyp: uint8(PragTyp_WAL_CHECKPOINT), FmPragFlg: uint8(PragFlg_NeedSchema), FiPragCName: uint8(50), FnPragCName: uint8(3), }, 65: { - FzName: __ccgo_ts + 17716, + FzName: __ccgo_ts + 17803, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(SQLITE_WriteSchema) | libc.Int32FromInt32(SQLITE_NoSchemaError)), @@ -112449,6 +113117,31 @@ var _aPragmaName = [66]TPragmaName{ /************** End of pragma.h **********************************************/ /************** Continuing where we left off in pragma.c *********************/ +/* +** When the 0x10 bit of PRAGMA optimize is set, any ANALYZE commands +** will be run with an analysis_limit set to the lessor of the value of +** the following macro or to the actual analysis_limit if it is non-zero, +** in order to prevent PRAGMA optimize from running for too long. +** +** The value of 2000 is chosen emperically so that the worst-case run-time +** for PRAGMA optimize does not exceed 100 milliseconds against a variety +** of test databases on a RaspberryPI-4 compiled using -Os and without +** -DSQLITE_DEBUG. Of course, your mileage may vary. For the purpose of +** this paragraph, "worst-case" means that ANALYZE ends up being +** run on every table in the database. The worst case typically only +** happens if PRAGMA optimize is run on a database file for which ANALYZE +** has not been previously run and the 0x10000 flag is included so that +** all tables are analyzed. The usual case for PRAGMA optimize is that +** no ANALYZE commands will be run at all, or if any ANALYZE happens it +** will be against a single table, so that expected timing for PRAGMA +** optimize on a PI-4 is more like 1 millisecond or less with the 0x10000 +** flag or less than 100 microseconds without the 0x10000 flag. +** +** An analysis limit of 2000 is almost always sufficient for the query +** planner to fully characterize an index. The additional accuracy from +** a larger analysis is not usually helpful. + */ + // C documentation // // /* @@ -112538,10 +113231,10 @@ func _sqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt Tu8) (r Tu8) { // */ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { if z != 0 { - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17732) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17819) { return int32(PAGER_LOCKINGMODE_EXCLUSIVE) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17742) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17829) { return PAGER_LOCKINGMODE_NORMAL } } @@ -112559,13 +113252,13 @@ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { func _getAutoVacuum(tls *libc.TLS, z uintptr) (r int32) { var i, v1 int32 _, _ = i, v1 - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8220) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8345) { return BTREE_AUTOVACUUM_NONE } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17749) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17836) { return int32(BTREE_AUTOVACUUM_FULL) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17754) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17841) { return int32(BTREE_AUTOVACUUM_INCR) } i = _sqlite3Atoi(tls, z) @@ -112588,10 +113281,10 @@ func _getTempStore(tls *libc.TLS, z uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(z))) <= int32('2') { return int32(*(*uint8)(unsafe.Pointer(z))) - int32('0') } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+16707) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+16794) == 0 { return int32(1) } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+17766) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+17853) == 0 { return int32(2) } else { return 0 @@ -112613,7 +113306,7 @@ func _invalidateTempStorage(tls *libc.TLS, pParse uintptr) (r int32) { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt != uintptr(0) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || _sqlite3BtreeTxnState(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) != SQLITE_TXN_NONE { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17773, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17860, 0) return int32(SQLITE_ERROR) } _sqlite3BtreeClose(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) @@ -112743,15 +113436,15 @@ func _actionName(tls *libc.TLS, action Tu8) (r uintptr) { _ = zName switch int32(action) { case int32(OE_SetNull): - zName = __ccgo_ts + 17835 + zName = __ccgo_ts + 17922 case int32(OE_SetDflt): - zName = __ccgo_ts + 17844 + zName = __ccgo_ts + 17931 case int32(OE_Cascade): - zName = __ccgo_ts + 17856 + zName = __ccgo_ts + 17943 case int32(OE_Restrict): - zName = __ccgo_ts + 17864 + zName = __ccgo_ts + 17951 default: - zName = __ccgo_ts + 17873 + zName = __ccgo_ts + 17960 break } return zName @@ -112772,12 +113465,12 @@ func _sqlite3JournalModename(tls *libc.TLS, eMode int32) (r uintptr) { } var _azModeName = [6]uintptr{ - 0: __ccgo_ts + 17883, - 1: __ccgo_ts + 17890, - 2: __ccgo_ts + 17898, - 3: __ccgo_ts + 17902, - 4: __ccgo_ts + 17766, - 5: __ccgo_ts + 17911, + 0: __ccgo_ts + 17970, + 1: __ccgo_ts + 17977, + 2: __ccgo_ts + 17985, + 3: __ccgo_ts + 17989, + 4: __ccgo_ts + 17853, + 5: __ccgo_ts + 17998, } // C documentation @@ -112839,15 +113532,15 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s goto _1 } if (*TFuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = __ccgo_ts + 17936 + zType = __ccgo_ts + 18023 } else { if (*TFuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = __ccgo_ts + 17938 + zType = __ccgo_ts + 18025 } else { - zType = __ccgo_ts + 7619 + zType = __ccgo_ts + 7744 } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+17940, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18027, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) goto _1 _1: ; @@ -112856,9 +113549,9 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s } var _azEnc = [4]uintptr{ - 1: __ccgo_ts + 17915, - 2: __ccgo_ts + 17920, - 3: __ccgo_ts + 17928, + 1: __ccgo_ts + 18002, + 2: __ccgo_ts + 18007, + 3: __ccgo_ts + 18015, } // C documentation @@ -112899,15 +113592,15 @@ func _integrityCheckResultRow(tls *libc.TLS, v uintptr) (r int32) { func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { bp := tls.Alloc(240) defer tls.Free(240) - var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, mxIdx, n, nHidden, nIdx, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v60, v62, v63, v64, v65, v68 int32 - var aOp, aOp1, aOp2, aOp3, aOp4, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v61, v66, v8 uintptr + var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v48, v50, v64, v66, v67, v68, v69, v72, v75, v76 int32 + var aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v65, v70, v8 uintptr var azOrigin [3]uintptr var cnum Ti16 var enc Tu8 var iPrior Tsqlite3_int64 + var iRange, szThreshold TLogEst var mask Tu64 var opMask Tu32 - var szThreshold TLogEst var _ /* N at bp+136 */ Tsqlite3_int64 var _ /* N at bp+144 */ Tsqlite3_int64 var _ /* N at bp+152 */ Tsqlite3_int64 @@ -112928,7 +113621,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var _ /* size at bp+60 */ int32 var _ /* sz at bp+64 */ Tsqlite3_int64 var _ /* x at bp+40 */ Ti64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iPrior, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, mxIdx, n, nHidden, nIdx, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v5, v60, v61, v62, v63, v64, v65, v66, v68, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iPrior, iRange, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v48, v5, v50, v64, v65, v66, v67, v68, v69, v70, v72, v75, v76, v8 zLeft = uintptr(0) /* Nul-terminated UTF-8 string */ zRight = uintptr(0) /* Nul-terminated UTF-8 string , or NULL */ zDb = uintptr(0) /* return value form SQLITE_FCNTL_PRAGMA */ @@ -112957,7 +113650,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p return } if minusFlag != 0 { - zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+17947, libc.VaList(bp+176, pValue)) + zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+18034, libc.VaList(bp+176, pValue)) } else { zRight = _sqlite3NameFromToken(tls, db, pValue) } @@ -113000,7 +113693,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } if rc != int32(SQLITE_NOTFOUND) { if (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0] != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3797, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3861, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) Xsqlite3_free(tls, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0]) } (*TParse)(unsafe.Pointer(pParse)).FnErr++ @@ -113104,7 +113797,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pBt1 = (*TDb)(unsafe.Pointer(pDb)).FpBt b = -int32(1) if zRight != 0 { - if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+17951) == 0 { + if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18038) == 0 { b = int32(2) } else { b = int32(_sqlite3GetBoolean(tls, zRight, uint8(0))) @@ -113175,7 +113868,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p */ fallthrough case int32(PragTyp_LOCKING_MODE): - zRet = __ccgo_ts + 17742 + zRet = __ccgo_ts + 17829 eMode = _getLockingMode(tls, zRight) if (*TToken)(unsafe.Pointer(pId2)).Fn == uint32(0) && eMode == -int32(1) { /* Simple "PRAGMA locking_mode;" statement. This is a query for @@ -113203,7 +113896,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p eMode = _sqlite3PagerLockingMode(tls, pPager, eMode) } if eMode == int32(PAGER_LOCKINGMODE_EXCLUSIVE) { - zRet = __ccgo_ts + 17732 + zRet = __ccgo_ts + 17819 } _returnSingleText(tls, v, zRet) break @@ -113493,7 +114186,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if *(*uint8)(unsafe.Pointer(zRight)) != 0 { rc = _sqlite3OsAccess(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, zRight, int32(SQLITE_ACCESS_READWRITE), bp+72) if rc != SQLITE_OK || *(*int32)(unsafe.Pointer(bp + 72)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17956, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18043, 0) Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) goto pragma_out } @@ -113503,7 +114196,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } Xsqlite3_free(tls, Xsqlite3_temp_directory) if *(*uint8)(unsafe.Pointer(zRight)) != 0 { - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+176, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+176, zRight)) } else { Xsqlite3_temp_directory = uintptr(0) } @@ -113525,7 +114218,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _returnSingleInt(tls, v, int64(int32((*TDb)(unsafe.Pointer(pDb)).Fsafety_level)-int32(1))) } else { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17981, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18068, 0) } else { if iDb != int32(1) { iLevel = (int32(_getSafetyLevel(tls, zRight, 0, uint8(1))) + int32(1)) & int32(PAGER_SYNCHRONOUS_MASK) @@ -113558,7 +114251,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if mask == uint64(SQLITE_DeferFKs) { (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons = 0 } - if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18034) == 0 { + if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18121) == 0 { /* IMP: R-60817-01178 If the argument is "RESET" then schema ** writing is disabled (as with "PRAGMA writable_schema=OFF") and, ** in addition, the schema is reloaded. */ @@ -113638,9 +114331,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pColExpr = _sqlite3ColumnExpr(tls, pTab, pCol) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - v14 = __ccgo_ts + 18040 + v14 = __ccgo_ts + 18127 } else { - v14 = __ccgo_ts + 18048 + v14 = __ccgo_ts + 18135 } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 { v15 = int32(1) @@ -113652,7 +114345,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v16 = *(*uintptr)(unsafe.Pointer(pColExpr + 8)) } - _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1650), v15, v16, k, isHidden)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1664), v15, v16, k, isHidden)) goto _12 _12: ; @@ -113711,7 +114404,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pTab1 = (*THashElem)(unsafe.Pointer(k1)).Fdata if int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) == 0 { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18055, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18142, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 80)) = uintptr(0) Xsqlite3_prepare(tls, db, zSql, -int32(1), bp+80, uintptr(0)) @@ -113719,7 +114412,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3DbFree(tls, db, zSql) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1634, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) } pHash = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FpSchema + 8 @@ -113741,19 +114434,19 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _20 } if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10798 + zType = __ccgo_ts + 10923 } else { if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 13046 + zType = __ccgo_ts + 13171 } else { if (*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Shadow) != 0 { - zType = __ccgo_ts + 18071 + zType = __ccgo_ts + 18158 } else { - zType = __ccgo_ts + 9060 + zType = __ccgo_ts + 9185 } } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18078, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18165, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) goto _20 _20: ; @@ -113800,9 +114493,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v22 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab3)).FaCol + uintptr(cnum)*16))).FzCnName } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18085, libc.VaList(bp+176, i1, int32(cnum), v22)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18172, libc.VaList(bp+176, i1, int32(cnum), v22)) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18090, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) + _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18177, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) } _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), int32(1), (*TParse)(unsafe.Pointer(pParse)).FnMem) goto _21 @@ -113826,11 +114519,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } azOrigin = [3]uintptr{ - 0: __ccgo_ts + 18095, - 1: __ccgo_ts + 18097, - 2: __ccgo_ts + 16584, + 0: __ccgo_ts + 18182, + 1: __ccgo_ts + 18184, + 2: __ccgo_ts + 16671, } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18099, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18186, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) goto _23 _23: ; @@ -113849,7 +114542,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt == uintptr(0) { goto _24 } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18105, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18192, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) goto _24 _24: ; @@ -113866,7 +114559,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pColl = (*THashElem)(unsafe.Pointer(p)).Fdata v26 = i4 i4++ - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18109, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18196, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) goto _25 _25: ; @@ -113916,7 +114609,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } pMod = (*THashElem)(unsafe.Pointer(j1)).Fdata - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7619, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7744, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) goto _30 _30: ; @@ -113928,7 +114621,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i6 < int32(libc.Uint64FromInt64(1584)/libc.Uint64FromInt64(24))) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7619, libc.VaList(bp+176, _aPragmaName[i6].FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7744, libc.VaList(bp+176, _aPragmaName[i6].FzName)) goto _31 _31: ; @@ -113954,7 +114647,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(j2 < (*TFKey)(unsafe.Pointer(pFK)).FnCol) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18112, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18121)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18199, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18208)) goto _32 _32: ; @@ -114095,7 +114788,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regResult+int32(1)) } - _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18126, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) + _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18213, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), regResult, int32(4)) _sqlite3VdbeResolveLabel(tls, v, addrOk) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 96))) @@ -114163,7 +114856,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p /* Set the maximum error count */ *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) if zRight != 0 { - if _sqlite3GetInt32(tls, zRight, bp+104) != 0 { + if _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pValue)).Fz, bp+104) != 0 { if *(*int32)(unsafe.Pointer(bp + 104)) <= 0 { *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) } @@ -114183,8 +114876,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i9 < (*Tsqlite3)(unsafe.Pointer(db)).FnDb) { break } /* Array of root page numbers of all btrees */ - cnt = 0 /* Number of entries in aRoot[] */ - mxIdx = 0 /* Maximum number of indexes for any table */ + cnt = 0 /* Number of entries in aRoot[] */ if libc.Bool(OMIT_TEMPDB != 0) && i9 == int32(1) { goto _40 } @@ -114225,9 +114917,6 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pIdx3 = (*TIndex)(unsafe.Pointer(pIdx3)).FpNext nIdx++ } - if nIdx > mxIdx { - mxIdx = nIdx - } goto _41 _41: ; @@ -114283,16 +114972,78 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } *(*int32)(unsafe.Pointer(aRoot)) = cnt /* Make sure sufficient number of registers have been allocated */ - _sqlite3TouchRegister(tls, pParse, int32(8)+mxIdx) + _sqlite3TouchRegister(tls, pParse, int32(8)+cnt) _sqlite3ClearTempRegCache(tls, pParse) /* Do the b-tree integrity checks */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(2), cnt, int32(1), aRoot, -int32(14)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(1), cnt, int32(8), aRoot, -int32(14)) _sqlite3VdbeChangeP5(tls, v, uint16(uint8(i9))) addr1 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(2)) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18130, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18217, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(2), int32(3), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, addr1) + /* Check that the indexes all have the right number of rows */ + if pObjTab != 0 { + v48 = int32(1) + } else { + v48 = 0 + } + cnt = v48 + _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18241) + x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst + for { + if !(x2 != 0) { + break + } + iTab = 0 + pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab9 { + goto _49 + } + if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + v50 = cnt + cnt++ + iTab = v50 + } else { + iTab = cnt + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx5 + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { + break + } + iTab++ + goto _51 + _51: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + } + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if (*TIndex)(unsafe.Pointer(pIdx5)).FpPartIdxWhere == uintptr(0) { + addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+cnt, 0, int32(8)+iTab) + _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) + _integrityCheckResultRow(tls, v) + _sqlite3VdbeJumpHere(tls, v, addr1) + } + cnt++ + goto _52 + _52: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + goto _49 + _49: + ; + x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext + } /* Make sure all the indices are constructed correctly. */ x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst @@ -114300,39 +115051,39 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata pPrior = uintptr(0) r1 = -int32(1) /* Maximum non-virtual column number */ - if pObjTab != 0 && pObjTab != pTab9 { - goto _48 + if pObjTab != 0 && pObjTab != pTab10 { + goto _53 } - if !(int32((*TTable)(unsafe.Pointer(pTab9)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { - goto _48 + if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _53 } - if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { pPk1 = uintptr(0) r2 = 0 } else { - pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab9) + pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab10) r2 = _sqlite3GetTempRange(tls, pParse, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), int32(1), r2, r2+int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)-int32(1)) } - _sqlite3OpenTableAndIndices(tls, pParse, pTab9, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) + _sqlite3OpenTableAndIndices(tls, pParse, pTab10, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) /* reg[7] counts the number of entries in the table. ** reg[8+i] counts the number of entries in the i-th index */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(7)) j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(8)+j4) /* index entries counter */ - goto _49 - _49: + goto _54 + _54: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), *(*int32)(unsafe.Pointer(bp + 108)), 0) @@ -114342,29 +115093,29 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** will also prepopulate the cursor column cache that is used ** by the OP_IsType code, so it is a required step. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { mxCol = -int32(1) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { + if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { mxCol++ } - goto _50 - _50: + goto _55 + _55: ; j4++ } - if mxCol == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { + if mxCol == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { mxCol-- } } else { /* COLFLAG_VIRTUAL columns are not included in the WITHOUT ROWID ** PK index column-count, so there is no need to account for them ** in this case. */ - mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab9))).FnColumn) - int32(1) + mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab10))).FnColumn) - int32(1) } if mxCol >= 0 { _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 108)), mxCol, int32(3)) @@ -114374,7 +115125,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if pPk1 != 0 { a1 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 108)), 0, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), r2) - zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18154, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18270, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a1) @@ -114385,8 +115136,8 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprCodeLoadIndexColumn(tls, pParse, pPk1, *(*int32)(unsafe.Pointer(bp + 108)), j4, r2+j4) - goto _51 - _51: + goto _56 + _56: ; j4++ } @@ -114401,15 +115152,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** (4) Datatype for numeric columns in non-STRICT tables must not ** be a TEXT value that can be losslessly converted to numeric. */ - bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_Strict) != uint32(0)) + bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_Strict) != uint32(0)) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - pCol1 = (*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ - if j4 == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { - goto _52 + pCol1 = (*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ + if j4 == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { + goto _57 } if bStrict != 0 { doTypeCheck = libc.BoolInt32(int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4)) > int32(COLTYPE_ANY)) @@ -114417,28 +115168,28 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p doTypeCheck = libc.BoolInt32(int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) > int32(SQLITE_AFF_BLOB)) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf>>0)) == 0 && !(doTypeCheck != 0) { - goto _52 + goto _57 } /* Compute the operands that will be needed for OP_IsType */ p4 = int32(SQLITE_NULL) if int32((*TColumn)(unsafe.Pointer(pCol1)).FcolFlags)&int32(COLFLAG_VIRTUAL) != 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) p11 = -int32(1) p3 = int32(3) } else { if (*TColumn)(unsafe.Pointer(pCol1)).FiDflt != 0 { *(*uintptr)(unsafe.Pointer(bp + 120)) = uintptr(0) - _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab9, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, (*TColumn)(unsafe.Pointer(pCol1)).Faffinity, bp+120) + _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab10, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, (*TColumn)(unsafe.Pointer(pCol1)).Faffinity, bp+120) if *(*uintptr)(unsafe.Pointer(bp + 120)) != 0 { p4 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) } } p11 = *(*int32)(unsafe.Pointer(bp + 108)) - if !((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { - p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab9), int16(j4))) + if !((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { + p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab10), int16(j4))) } else { - p3 = int32(_sqlite3TableColumnToStorage(tls, pTab9, int16(j4))) + p3 = int32(_sqlite3TableColumnToStorage(tls, pTab10, int16(j4))) } } labelError = _sqlite3VdbeMakeLabel(tls, pParse) @@ -114455,10 +115206,10 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** is REAL, we have to load the actual data using OP_Column ** to reliably determine if the value is a NULL. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), p11, p3, int32(3)) - _sqlite3ColumnDefault(tls, v, pTab9, j4, int32(3)) + _sqlite3ColumnDefault(tls, v, pTab10, j4, int32(3)) jmp3 = _sqlite3VdbeAddOp2(tls, v, int32(OP_NotNull), int32(3), labelOk) } - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18190, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18306, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) if doTypeCheck != 0 { _sqlite3VdbeGoto(tls, v, labelError) @@ -114471,7 +115222,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if bStrict != 0 && doTypeCheck != 0 { _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(_aStdTypeMask[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)])) - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18210, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18326, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) == int32(SQLITE_AFF_TEXT) { @@ -114479,7 +115230,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** NULL, TEXT, or BLOB. */ _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18232, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18348, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) >= int32(SQLITE_AFF_NUMERIC) { @@ -114488,12 +115239,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1b)) /* NULL, INT, FLOAT, or BLOB */ if p11 >= 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18255, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18371, -int32(1)) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), -int32(1), labelOk, int32(3), p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18257, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18373, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } } @@ -114501,14 +115252,14 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeResolveLabel(tls, v, labelError) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, labelOk) - goto _52 - _52: + goto _57 + _57: ; j4++ } /* Verify CHECK constraints */ - if (*TTable)(unsafe.Pointer(pTab9)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { - pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab9)).FpCheck, 0) + if (*TTable)(unsafe.Pointer(pTab10)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { + pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab10)).FpCheck, 0) if int32((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { addrCkFault = _sqlite3VdbeMakeLabel(tls, pParse) addrCkOk = _sqlite3VdbeMakeLabel(tls, pParse) @@ -114519,15 +115270,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprIfFalse(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8 + uintptr(k3)*32))).FpExpr, addrCkFault, 0) - goto _53 - _53: + goto _58 + _58: ; k3-- } _sqlite3ExprIfTrue(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8))).FpExpr, addrCkOk, int32(SQLITE_JUMPIFNULL)) _sqlite3VdbeResolveLabel(tls, v, addrCkFault) (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18277, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18393, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr2, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -114537,25 +115288,25 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(isQuick != 0) { /* Omit the remaining tests for quick_check */ /* Validate index entries for the current row */ j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } ckUniq = _sqlite3VdbeMakeLabel(tls, pParse) - if pPk1 == pIdx5 { - goto _54 + if pPk1 == pIdx6 { + goto _59 } - r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) - pPrior = pIdx5 + r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx6, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) + pPrior = pIdx6 _sqlite3VdbeAddOp2(tls, v, int32(OP_AddImm), int32(8)+j4, int32(1)) /* increment entry count */ /* Verify that an index entry exists for the current table row */ - jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18307) + jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18423) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18312) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18428) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) - jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx6)).FzName) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) jmp4 = _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, jmp21) @@ -114563,12 +115314,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** that extracts the rowid off the end of the index record. ** But it only works correctly if index record does not have ** any extra bytes at the end. Verify that this is the case. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { _sqlite3VdbeAddOp2(tls, v, int32(OP_IdxRowid), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)-int32(1)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18333) + jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)-int32(1)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18449) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18369) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18485) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp7) } @@ -114577,100 +115328,75 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p label6 = 0 kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { - goto _55 + if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { + goto _60 } if label6 == 0 { label6 = _sqlite3VdbeMakeLabel(tls, pParse) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 112))+j4, kk, int32(3)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ne), int32(3), label6, r1+kk) - goto _55 - _55: + goto _60 + _60: ; kk++ } if label6 != 0 { jmp6 = _sqlite3VdbeAddOp0(tls, v, int32(OP_Goto)) _sqlite3VdbeResolveLabel(tls, v, label6) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18307) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18423) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18380) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18496) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp6) } /* For UNIQUE indexes, verify that only one entry exists with the ** current key. The entry is unique if (1) any column is NULL ** or (2) the next entry has a different key */ - if int32((*TIndex)(unsafe.Pointer(pIdx5)).FonError) != OE_None { + if int32((*TIndex)(unsafe.Pointer(pIdx6)).FonError) != OE_None { uniqOk = _sqlite3VdbeMakeLabel(tls, pParse) kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2))) - if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { - goto _56 + iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FaiColumn + uintptr(kk)*2))) + if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { + goto _61 } _sqlite3VdbeAddOp2(tls, v, int32(OP_IsNull), r1+kk, uniqOk) - goto _56 - _56: + goto _61 + _61: ; kk++ } jmp61 = _sqlite3VdbeAddOp1(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 112))+j4) _sqlite3VdbeGoto(tls, v, uniqOk) _sqlite3VdbeJumpHere(tls, v, jmp61) - _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18407) + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18523) _sqlite3VdbeGoto(tls, v, jmp5) _sqlite3VdbeResolveLabel(tls, v, uniqOk) } _sqlite3VdbeJumpHere(tls, v, jmp4) _sqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 128))) - goto _54 - _54: + goto _59 + _59: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } } _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 108)), loopTop) _sqlite3VdbeJumpHere(tls, v, loopTop-int32(1)) - if !(isQuick != 0) { - _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18434) - j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex - for { - if !(pIdx5 != 0) { - break - } - if pPk1 == pIdx5 { - goto _57 - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+j4, 0, int32(3)) - _sqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) - _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) - _integrityCheckResultRow(tls, v) - _sqlite3VdbeJumpHere(tls, v, addr1) - goto _57 - _57: - ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext - j4++ - } - if pPk1 != 0 { - _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) - } + if pPk1 != 0 { + _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) } - goto _48 - _48: + goto _53 + _53: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -114682,60 +115408,60 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata - if pObjTab != 0 && pObjTab != pTab10 { - goto _58 + pTab11 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab11 { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == TABTYP_NORM { - goto _58 + if int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == TABTYP_NORM { + goto _62 } - if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { - goto _58 + if !(int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FnCol) <= 0 { + if int32((*TTable)(unsafe.Pointer(pTab11)).FnCol) <= 0 { zMod = *(*uintptr)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).FazArg)) + })(unsafe.Pointer(pTab11 + 64))).FazArg)) if _sqlite3HashFind(tls, db+576, zMod) == uintptr(0) { - goto _58 + goto _62 } } - _sqlite3ViewGetColumnNames(tls, pParse, pTab10) + _sqlite3ViewGetColumnNames(tls, pParse, pTab11) if (*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp == uintptr(0) { - goto _58 + })(unsafe.Pointer(pTab11 + 64))).Fp == uintptr(0) { + goto _62 } pVTab = (*TVTable)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp)).FpVtab + })(unsafe.Pointer(pTab11 + 64))).Fp)).FpVtab if pVTab == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FiVersion < int32(4) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FxIntegrity == uintptr(0) { - goto _58 + goto _62 } _sqlite3VdbeAddOp3(tls, v, int32(OP_VCheck), i9, int32(3), isQuick) - (*TTable)(unsafe.Pointer(pTab10)).FnTabRef++ - _sqlite3VdbeAppendP4(tls, v, pTab10, -int32(16)) + (*TTable)(unsafe.Pointer(pTab11)).FnTabRef++ + _sqlite3VdbeAppendP4(tls, v, pTab11, -int32(16)) a11 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a11) - goto _58 - goto _58 - _58: + goto _62 + goto _62 + _62: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -114748,7 +115474,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if aOp2 != 0 { (*(*TVdbeOp)(unsafe.Pointer(aOp2))).Fp2 = int32(1) - *(*int32)(unsafe.Pointer(bp + 104)) (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 2*24))).Fp4type = int8(-libc.Int32FromInt32(1)) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18463 + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18550 (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 5*24))).Fp4type = int8(-libc.Int32FromInt32(1)) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = _sqlite3ErrStr(tls, int32(SQLITE_CORRUPT)) } @@ -114806,20 +115532,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc != 0 { - v60 = int32((*struct { + v64 = int32((*struct { FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc) } else { - v60 = int32(SQLITE_UTF16LE) + v64 = int32(SQLITE_UTF16LE) } - enc = uint8(v60) + enc = uint8(v64) (*TSchema)(unsafe.Pointer((*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema)).Fenc = enc _sqlite3SetTextEncoding(tls, db, enc) break } - goto _59 - _59: + goto _63 + _63: ; pEnc += 16 } @@ -114827,7 +115553,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).FzName != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18524, libc.VaList(bp+176, zRight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18611, libc.VaList(bp+176, zRight)) } } } @@ -114905,11 +115631,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p i10 = 0 (*TParse)(unsafe.Pointer(pParse)).FnMem = int32(1) for { - v62 = i10 + v66 = i10 i10++ - v61 = Xsqlite3_compileoption_get(tls, v62) - zOpt = v61 - if !(v61 != uintptr(0)) { + v65 = Xsqlite3_compileoption_get(tls, v66) + zOpt = v65 + if !(v65 != uintptr(0)) { break } _sqlite3VdbeLoadString(tls, v, int32(1), zOpt) @@ -114925,20 +115651,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p fallthrough case int32(PragTyp_WAL_CHECKPOINT): if (*TToken)(unsafe.Pointer(pId2)).Fz != 0 { - v63 = iDb + v67 = iDb } else { - v63 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) + v67 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) } - iBt = v63 + iBt = v67 eMode2 = SQLITE_CHECKPOINT_PASSIVE if zRight != 0 { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17749) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17836) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_FULL) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18549) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18636) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_RESTART) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17902) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17989) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_TRUNCATE) } } @@ -114962,11 +115688,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p Xsqlite3_wal_autocheckpoint(tls, db, _sqlite3Atoi(tls, zRight)) } if (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback == __ccgo_fp(_sqlite3WalDefaultHook) { - v64 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) + v68 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) } else { - v64 = 0 + v68 = 0 } - _returnSingleInt(tls, v, int64(v64)) + _returnSingleInt(tls, v, int64(v68)) break /* ** PRAGMA shrink_memory @@ -114994,47 +115720,68 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** ** The optional argument is a bitmask of optimizations to perform: ** - ** 0x0001 Debugging mode. Do not actually perform any optimizations - ** but instead return one line of text for each optimization - ** that would have been done. Off by default. + ** 0x00001 Debugging mode. Do not actually perform any optimizations + ** but instead return one line of text for each optimization + ** that would have been done. Off by default. ** - ** 0x0002 Run ANALYZE on tables that might benefit. On by default. - ** See below for additional information. + ** 0x00002 Run ANALYZE on tables that might benefit. On by default. + ** See below for additional information. ** - ** 0x0004 (Not yet implemented) Record usage and performance - ** information from the current session in the - ** database file so that it will be available to "optimize" - ** pragmas run by future database connections. + ** 0x00010 Run all ANALYZE operations using an analysis_limit that + ** is the lessor of the current analysis_limit and the + ** SQLITE_DEFAULT_OPTIMIZE_LIMIT compile-time option. + ** The default value of SQLITE_DEFAULT_OPTIMIZE_LIMIT is + ** currently (2024-02-19) set to 2000, which is such that + ** the worst case run-time for PRAGMA optimize on a 100MB + ** database will usually be less than 100 milliseconds on + ** a RaspberryPI-4 class machine. On by default. ** - ** 0x0008 (Not yet implemented) Create indexes that might have - ** been helpful to recent queries + ** 0x10000 Look at tables to see if they need to be reanalyzed + ** due to growth or shrinkage even if they have not been + ** queried during the current connection. Off by default. ** - ** The default MASK is and always shall be 0xfffe. 0xfffe means perform all - ** of the optimizations listed above except Debug Mode, including new - ** optimizations that have not yet been invented. If new optimizations are - ** ever added that should be off by default, those off-by-default - ** optimizations will have bitmasks of 0x10000 or larger. + ** The default MASK is and always shall be 0x0fffe. In the current + ** implementation, the default mask only covers the 0x00002 optimization, + ** though additional optimizations that are covered by 0x0fffe might be + ** added in the future. Optimizations that are off by default and must + ** be explicitly requested have masks of 0x10000 or greater. ** ** DETERMINATION OF WHEN TO RUN ANALYZE ** ** In the current implementation, a table is analyzed if only if all of ** the following are true: ** - ** (1) MASK bit 0x02 is set. + ** (1) MASK bit 0x00002 is set. ** - ** (2) The query planner used sqlite_stat1-style statistics for one or - ** more indexes of the table at some point during the lifetime of - ** the current connection. + ** (2) The table is an ordinary table, not a virtual table or view. ** - ** (3) One or more indexes of the table are currently unanalyzed OR - ** the number of rows in the table has increased by 25 times or more - ** since the last time ANALYZE was run. + ** (3) The table name does not begin with "sqlite_". + ** + ** (4) One or more of the following is true: + ** (4a) The 0x10000 MASK bit is set. + ** (4b) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. + ** (4c) The query planner used sqlite_stat1-style statistics for one + ** or more indexes of the table at some point during the lifetime + ** of the current connection. + ** + ** (5) One or more of the following is true: + ** (5a) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. (Same as 4a) + ** (5b) The number of rows in the table has increased or decreased by + ** 10-fold. In other words, the current size of the table is + ** 10 times larger than the size in sqlite_stat1 or else the + ** current size is less than 1/10th the size in sqlite_stat1. ** ** The rules for when tables are analyzed are likely to change in - ** future releases. + ** future releases. Future versions of SQLite might accept a string + ** literal argument to this pragma that contains a mnemonic description + ** of the options rather than a bitmap. */ fallthrough - case int32(PragTyp_OPTIMIZE): /* Mask of operations to perform */ + case int32(PragTyp_OPTIMIZE): /* Analysis limit to use */ + nCheck = 0 /* Number of tables to be optimized */ + nBtree = 0 /* Number of indexes on the current table */ if zRight != 0 { opMask = uint32(_sqlite3Atoi(tls, zRight)) if opMask&uint32(0x02) == uint32(0) { @@ -115043,22 +115790,31 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { opMask = uint32(0xfffe) } - v66 = pParse + 52 - v65 = *(*int32)(unsafe.Pointer(v66)) - *(*int32)(unsafe.Pointer(v66))++ - iTabCur = v65 + if opMask&uint32(0x10) == uint32(0) { + nLimit = 0 + } else { + if (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit > 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit < int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) { + nLimit = 0 + } else { + nLimit = int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) + } + } + v70 = pParse + 52 + v69 = *(*int32)(unsafe.Pointer(v70)) + *(*int32)(unsafe.Pointer(v70))++ + iTabCur = v69 if zDb != 0 { - v68 = iDb + v72 = iDb } else { - v68 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) + v72 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) } - iDbLast = v68 + iDbLast = v72 for { if !(iDb <= iDbLast) { break } if iDb == int32(1) { - goto _67 + goto _71 } _sqlite3CodeVerifySchema(tls, pParse, iDb) pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema @@ -115067,52 +115823,122 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(k4 != 0) { break } - pTab11 = (*THashElem)(unsafe.Pointer(k4)).Fdata - /* If table pTab has not been used in a way that would benefit from - ** having analysis statistics during the current session, then skip it. - ** This also has the effect of skipping virtual tables and views */ - if (*TTable)(unsafe.Pointer(pTab11)).FtabFlags&uint32(TF_StatsUsed) == uint32(0) { - goto _69 - } - /* Reanalyze if the table is 25 times larger than the last analysis */ - szThreshold = int16(int32((*TTable)(unsafe.Pointer(pTab11)).FnRowLogEst) + int32(46)) - pIdx6 = (*TTable)(unsafe.Pointer(pTab11)).FpIndex + pTab12 = (*THashElem)(unsafe.Pointer(k4)).Fdata + /* This only works for ordinary tables */ + if !(int32((*TTable)(unsafe.Pointer(pTab12)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _73 + } + /* Do not scan system tables */ + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab12)).FzName, __ccgo_ts+6591, int32(7)) { + goto _73 + } + /* Find the size of the table as last recorded in sqlite_stat1. + ** If any index is unanalyzed, then the threshold is -1 to + ** indicate a new, unanalyzed index + */ + szThreshold = (*TTable)(unsafe.Pointer(pTab12)).FnRowLogEst + nIndex = 0 + pIdx7 = (*TTable)(unsafe.Pointer(pTab12)).FpIndex for { - if !(pIdx6 != 0) { + if !(pIdx7 != 0) { break } - if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7)) != 0) { - szThreshold = 0 /* Always analyze if any index lacks statistics */ - break + nIndex++ + if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx7 + 100))&0x80>>7)) != 0) { + szThreshold = int16(-int32(1)) /* Always analyze if any index lacks statistics */ } - goto _70 - _70: + goto _74 + _74: ; - pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext + pIdx7 = (*TIndex)(unsafe.Pointer(pIdx7)).FpNext } - if szThreshold != 0 { - _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab11, int32(OP_OpenRead)) - _sqlite3VdbeAddOp3(tls, v, int32(OP_IfSmaller), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), int32(szThreshold)) + /* If table pTab has not been used in a way that would benefit from + ** having analysis statistics during the current session, then skip it, + ** unless the 0x10000 MASK bit is set. */ + if (*TTable)(unsafe.Pointer(pTab12)).FtabFlags&uint32(TF_MaybeReanalyze) != uint32(0) { + /* Check for size change if stat1 has been used for a query */ + } else { + if opMask&uint32(0x10000) != 0 { + /* Check for size change if 0x10000 is set */ + } else { + if (*TTable)(unsafe.Pointer(pTab12)).FpIndex != uintptr(0) && int32(szThreshold) < 0 { + /* Do analysis if unanalyzed indexes exists */ + } else { + /* Otherwise, we can skip this table */ + goto _73 + } + } + } + nCheck++ + if nCheck == int32(2) { + /* If ANALYZE might be invoked two or more times, hold a write + ** transaction for efficiency */ + _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) + } + nBtree += nIndex + int32(1) + /* Reanalyze if the table is 10 times larger or smaller than + ** the last analysis. Unconditional reanalysis if there are + ** unanalyzed indexes. */ + _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab12, int32(OP_OpenRead)) + if int32(szThreshold) >= 0 { + iRange = int16(33) /* 10x size change */ + if int32(szThreshold) >= int32(iRange) { + v75 = int32(szThreshold) - int32(iRange) + } else { + v75 = -int32(1) + } + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IfSizeBetween), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), v75, int32(szThreshold)+int32(iRange)) + } else { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1))) } - zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18557, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab11)).FzName)) + zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18644, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab12)).FzName)) if opMask&uint32(0x01) != 0 { r11 = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, r11, 0, zSubSql, -int32(6)) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), r11, int32(1)) } else { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), 0, 0, 0, zSubSql, -int32(6)) + if nLimit != 0 { + v76 = int32(0x02) + } else { + v76 = 00 + } + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), v76, nLimit, 0, zSubSql, -int32(6)) } - goto _69 - _69: + goto _73 + _73: ; k4 = (*THashElem)(unsafe.Pointer(k4)).Fnext } - goto _67 - _67: + goto _71 + _71: ; iDb++ } _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) + /* In a schema with a large number of tables and indexes, scale back + ** the analysis_limit to avoid excess run-time in the worst case. + */ + if !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && nLimit > 0 && nBtree > int32(100) { + nLimit = int32(100) * nLimit / nBtree + if nLimit < int32(100) { + nLimit = int32(100) + } + aOp5 = _sqlite3VdbeGetOp(tls, v, 0) + iEnd = _sqlite3VdbeCurrentAddr(tls, v) + iAddr1 = 0 + for { + if !(iAddr1 < iEnd) { + break + } + if int32((*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fopcode) == int32(OP_SqlExec) { + (*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fp2 = nLimit + } + goto _77 + _77: + ; + iAddr1++ + } + } break /* ** PRAGMA busy_timeout @@ -115338,34 +116164,34 @@ var _encnames1 = [9]struct { Fenc Tu8 }{ 0: { - FzName: __ccgo_ts + 18466, + FzName: __ccgo_ts + 18553, Fenc: uint8(SQLITE_UTF8), }, 1: { - FzName: __ccgo_ts + 18471, + FzName: __ccgo_ts + 18558, Fenc: uint8(SQLITE_UTF8), }, 2: { - FzName: __ccgo_ts + 18477, + FzName: __ccgo_ts + 18564, Fenc: uint8(SQLITE_UTF16LE), }, 3: { - FzName: __ccgo_ts + 18486, + FzName: __ccgo_ts + 18573, Fenc: uint8(SQLITE_UTF16BE), }, 4: { - FzName: __ccgo_ts + 18495, + FzName: __ccgo_ts + 18582, Fenc: uint8(SQLITE_UTF16LE), }, 5: { - FzName: __ccgo_ts + 18503, + FzName: __ccgo_ts + 18590, Fenc: uint8(SQLITE_UTF16BE), }, 6: { - FzName: __ccgo_ts + 18511, + FzName: __ccgo_ts + 18598, }, 7: { - FzName: __ccgo_ts + 18518, + FzName: __ccgo_ts + 18605, }, 8: {}, } @@ -115461,14 +116287,14 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg _ = argc _ = argv _sqlite3StrAccumInit(tls, bp, uintptr(0), bp+32, int32(200), 0) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18575) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18662) i = 0 j = int32((*TPragmaName)(unsafe.Pointer(pPragma)).FiPragCName) for { if !(i < int32((*TPragmaName)(unsafe.Pointer(pPragma)).FnPragCName)) { break } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18590, libc.VaList(bp+240, int32(cSep), _pragCName[j])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18677, libc.VaList(bp+240, int32(cSep), _pragCName[j])) cSep = uint8(',') goto _1 _1: @@ -115477,19 +116303,19 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg j++ } if i == 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18597, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18684, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&int32(PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18603) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18690) j++ } if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(libc.Int32FromInt32(PragFlg_SchemaOpt)|libc.Int32FromInt32(PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18615) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18702) j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5172, int32(1)) _sqlite3StrAccumFinish(tls, bp) rc = Xsqlite3_declare_vtab(tls, db, bp+32) if rc == SQLITE_OK { @@ -115504,7 +116330,7 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg (*TPragmaVtab)(unsafe.Pointer(pTab)).FnHidden = uint8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab return rc @@ -115550,14 +116376,14 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 if !(i < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { break } - if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { goto _1 } if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != int32(SQLITE_INDEX_CONSTRAINT_EQ) { goto _1 } - if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { - goto _1 + if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + return int32(SQLITE_CONSTRAINT) } j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn - int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) seen[j] = i + int32(1) @@ -115575,16 +116401,13 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 j = seen[0] - int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) - if seen[int32(1)] == 0 { - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(1000) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000) - return SQLITE_OK - } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(20) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(20) - j = seen[int32(1)] - int32(1) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + if seen[int32(1)] != 0 { + j = seen[int32(1)] - int32(1) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + } return SQLITE_OK } @@ -115612,6 +116435,7 @@ func _pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { _ = i Xsqlite3_finalize(tls, (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) + (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(16)/libc.Uint64FromInt64(8))) { @@ -115687,7 +116511,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr } zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+40, zText)) + *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+40, zText)) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -115699,13 +116523,13 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr j++ } _sqlite3StrAccumInit(tls, bp, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4))) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18630) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18717) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18638, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18725, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) } Xsqlite3_str_appendall(tls, bp, (*TPragmaName)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18642, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18729, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) } zSql = _sqlite3StrAccumFinish(tls, bp) if zSql == uintptr(0) { @@ -115714,7 +116538,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr rc = Xsqlite3_prepare_v2(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), pCsr+8, uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return _pragmaVtabNext(tls, pVtabCursor) @@ -115840,24 +116664,24 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) /* A error message has already been generated. Do not overwrite it */ } else { if (*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(libc.Int32FromInt32(INITFLAG_AlterMask)) != 0 { - *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18676, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) + *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18763, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) (*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR) } else { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140891)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141840)) } else { if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - v1 = __ccgo_ts + 5110 + v1 = __ccgo_ts + 5174 } zObj = v1 - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18704, libc.VaList(bp+8, zObj)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18791, libc.VaList(bp+8, zObj)) if zExtra != 0 && *(*uint8)(unsafe.Pointer(zExtra)) != 0 { - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18735, libc.VaList(bp+8, z, zExtra)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18822, libc.VaList(bp+8, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140898)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141847)) } } } @@ -115865,9 +116689,9 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } var _azAlterType = [3]uintptr{ - 0: __ccgo_ts + 18646, - 1: __ccgo_ts + 18653, - 2: __ccgo_ts + 18665, + 0: __ccgo_ts + 18733, + 1: __ccgo_ts + 18740, + 2: __ccgo_ts + 18752, } // C documentation @@ -115943,7 +116767,7 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(iDb) if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), db+192) == 0 || (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage && (*TInitData)(unsafe.Pointer(pData)).FmxPage > uint32(0) { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14518) + _corruptSchema(tls, pData, argv, __ccgo_ts+14611) } } libc.SetBitFieldPtr8Uint32(db+192+8, libc.Uint32FromInt32(0), 0, 0x1) @@ -115976,11 +116800,11 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr } else { pIndex = _sqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName) if pIndex == uintptr(0) { - _corruptSchema(tls, pData, argv, __ccgo_ts+18743) + _corruptSchema(tls, pData, argv, __ccgo_ts+18830) } else { if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum < uint32(2) || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage || _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14518) + _corruptSchema(tls, pData, argv, __ccgo_ts+14611) } } } @@ -116019,18 +116843,18 @@ func _sqlite3InitOne(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. */ - (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9060 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9185 if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6535 + v2 = __ccgo_ts + 6599 } else { - v2 = __ccgo_ts + 6068 + v2 = __ccgo_ts + 6132 } v1 = v2 zSchemaTabName = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(2)] = (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8132 - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18756 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8257 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18843 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(5)] = uintptr(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 72))).FiDb = iDb @@ -116119,7 +116943,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl } else { /* If opening an attached database, the encoding much match ENC(db) */ if (*(*[5]int32)(unsafe.Pointer(bp + 48)))[libc.Int32FromInt32(BTREE_TEXT_ENCODING)-libc.Int32FromInt32(1)]&int32(3) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12097) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12222) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -116145,7 +116969,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = uint8(1) } if int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > int32(SQLITE_MAX_FILE_FORMAT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18828) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18915) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -116160,7 +116984,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl /* Read the schema information out of the schema tables */ (*(*TInitData)(unsafe.Pointer(bp + 72))).FmxPage = _sqlite3BtreeLastPage(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18852, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18939, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, __ccgo_fp(_sqlite3InitCallback), bp+72, uintptr(0)) @@ -116459,7 +117283,12 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) { var pCleanup uintptr _ = pCleanup - pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + if _sqlite3FaultSim(tls, int32(300)) != 0 { + pCleanup = uintptr(0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) + } else { + pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + } if pCleanup != 0 { (*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup (*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup @@ -116490,7 +117319,7 @@ func _sqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FpParse = pParse (*TParse)(unsafe.Pointer(pParse)).Fdb = db if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1634, 0) } } @@ -116524,7 +117353,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } else { } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1634, 0) v1 = libc.Int32FromInt32(SQLITE_NOMEM) rc = v1 (*Tsqlite3)(unsafe.Pointer(db)).FerrCode = v1 @@ -116573,7 +117402,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep rc = _sqlite3BtreeSchemaLocked(tls, pBt) if rc != 0 { zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FzDbSName - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18886, libc.VaList(bp+432, zDb)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18973, libc.VaList(bp+432, zDb)) goto end_prepare } } @@ -116589,7 +117418,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep if nBytes >= 0 && (nBytes == 0 || int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(nBytes-int32(1))))) != 0) { mxLen = *(*int32)(unsafe.Pointer(db + 136 + 1*4)) if nBytes > mxLen { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+18916, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+19003, 0) rc = _sqlite3ApiExit(tls, db, int32(SQLITE_TOOBIG)) goto end_prepare } @@ -116623,7 +117452,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } rc = (*(*TParse)(unsafe.Pointer(bp))).Frc if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3797, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3861, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) } else { _sqlite3Error(tls, db, rc) @@ -116653,7 +117482,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3 cnt = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141699)) + return _sqlite3MisuseError(tls, int32(142654)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) _sqlite3BtreeEnterAll(tls, db) @@ -116787,7 +117616,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr rc = SQLITE_OK *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141848)) + return _sqlite3MisuseError(tls, int32(142803)) } if nBytes >= 0 { z = zSql @@ -117193,15 +118022,15 @@ func _sqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC i++ } if jointype&(libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER)) == libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER) || jointype&int32(JT_ERROR) != 0 || jointype&(libc.Int32FromInt32(JT_OUTER)|libc.Int32FromInt32(JT_LEFT)|libc.Int32FromInt32(JT_RIGHT)) == int32(JT_OUTER) { - zSp1 = __ccgo_ts + 11204 - zSp2 = __ccgo_ts + 11204 + zSp1 = __ccgo_ts + 11329 + zSp2 = __ccgo_ts + 11329 if pB == uintptr(0) { zSp1++ } if pC == uintptr(0) { zSp2++ } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18935, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19022, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) jointype = int32(JT_INNER) } return jointype @@ -117492,7 +118321,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { if int32((*TSrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype)&int32(JT_NATURAL) != 0 { pUsing = uintptr(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18965, libc.VaList(bp+16, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19052, libc.VaList(bp+16, 0)) return int32(1) } j = 0 @@ -117542,7 +118371,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { zName1 = (*(*TIdList_item)(unsafe.Pointer(pList + 8 + uintptr(j)*16))).FzName iRightCol = _sqlite3ColumnIndex(tls, pRightTab, zName1) if iRightCol < 0 || _tableAndColumnIndex(tls, pSrc, 0, i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19015, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19102, libc.VaList(bp+16, zName1)) return int32(1) } pE1 = _sqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4))) @@ -117564,7 +118393,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { pFuncArgs = uintptr(0) /* Arguments to the coalesce() */ for _tableAndColumnIndex(tls, pSrc, *(*int32)(unsafe.Pointer(bp))+int32(1), i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) != 0 { if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 60 + 4))&0x400>>10)) == 0 || _sqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 72)), zName1) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19079, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19166, libc.VaList(bp+16, zName1)) break } pFuncArgs = _sqlite3ExprListAppend(tls, pParse, pFuncArgs, pE1) @@ -117608,7 +118437,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { } var _tkCoalesce = TToken{ - Fz: __ccgo_ts + 6732, + Fz: __ccgo_ts + 6796, Fn: uint32(8), } @@ -118384,13 +119213,13 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { _ = z switch id { case int32(TK_ALL): - z = __ccgo_ts + 19116 + z = __ccgo_ts + 19203 case int32(TK_INTERSECT): - z = __ccgo_ts + 19126 + z = __ccgo_ts + 19213 case int32(TK_EXCEPT): - z = __ccgo_ts + 19136 + z = __ccgo_ts + 19223 default: - z = __ccgo_ts + 19143 + z = __ccgo_ts + 19230 break } return z @@ -118411,7 +119240,7 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { func _explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19149, libc.VaList(bp+8, zUsage)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19236, libc.VaList(bp+8, zUsage)) } /* @@ -118445,12 +119274,17 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, iParm = (*TSelectDest)(unsafe.Pointer(pDest)).FiSDParm /* True if sorter record includes seq. no. */ nRefKey = 0 aOutEx = (*TSelect)(unsafe.Pointer(p)).FpEList + 8 - if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 { - v1 = __ccgo_ts + 19172 + nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat == 0 || nKey == int32(1) { + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat != 0 { + v1 = __ccgo_ts + 19259 + } else { + v1 = __ccgo_ts + 1664 + } + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19273, libc.VaList(bp+8, v1)) } else { - v1 = __ccgo_ts + 1650 + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19304, libc.VaList(bp+8, nKey)) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19187, libc.VaList(bp+8, v1)) if (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut != 0 { _sqlite3VdbeAddOp2(tls, v, int32(OP_Gosub), (*TSortCtx)(unsafe.Pointer(pSort)).FregReturn, (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut) _sqlite3VdbeGoto(tls, v, addrBreak) @@ -118472,7 +119306,6 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, regRow = _sqlite3GetTempRange(tls, pParse, nColumn) } } - nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat if int32((*TSortCtx)(unsafe.Pointer(pSort)).FsortFlags)&int32(SORTFLAG_UseSorter) != 0 { v3 = pParse + 56 *(*int32)(unsafe.Pointer(v3))++ @@ -118690,7 +119523,7 @@ func _columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr } if iCol < 0 { zType = __ccgo_ts + 1138 - *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16696 + *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16783 } else { *(*uintptr)(unsafe.Pointer(bp + 16)) = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, uintptr(0)) @@ -118836,13 +119669,13 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) iCol = int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) } if iCol < 0 { - zCol = __ccgo_ts + 16696 + zCol = __ccgo_ts + 16783 } else { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } if fullName != 0 { zName1 = uintptr(0) - zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12383, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) + zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12508, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName1, __ccgo_fp(_sqlite3OomClear)) } else { _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, uintptr(-libc.Int32FromInt32(1))) @@ -118850,7 +119683,7 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { z = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32))).FzEName if z == uintptr(0) { - v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19218, libc.VaList(bp+8, i+int32(1))) + v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19350, libc.VaList(bp+8, i+int32(1))) } else { v2 = _sqlite3DbStrDup(tls, db, z) } @@ -118942,7 +119775,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if iCol >= 0 { v3 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } else { - v3 = __ccgo_ts + 16696 + v3 = __ccgo_ts + 16783 } zName = v3 } else { @@ -118957,7 +119790,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if zName != 0 && !(_sqlite3IsTrueOrFalse(tls, zName) != 0) { zName = _sqlite3DbStrDup(tls, db, zName) } else { - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19218, libc.VaList(bp+40, i+int32(1))) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19350, libc.VaList(bp+40, i+int32(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. @@ -118993,7 +119826,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, } *(*Tu32)(unsafe.Pointer(bp))++ v8 = *(*Tu32)(unsafe.Pointer(bp)) - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19227, libc.VaList(bp+40, nName, zName, v8)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19359, libc.VaList(bp+40, nName, zName, v8)) _sqlite3ProgressCheck(tls, pParse) if *(*Tu32)(unsafe.Pointer(bp)) > uint32(3) { Xsqlite3_randomness(tls, int32(4), bp) @@ -119053,9 +119886,9 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS defer tls.Free(64) var a, db, p, pCol, pColl, pS2, zType, p4, p5 uintptr var i, j, m int32 - var m1, n Ti64 + var k, n Ti64 var _ /* sNC at bp+0 */ TNameContext - _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, m, m1, n, p, pCol, pColl, pS2, zType, p4, p5 + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, k, m, n, p, pCol, pColl, pS2, zType, p4, p5 db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { return @@ -119072,17 +119905,22 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS if !(i < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } + m = 0 + pS2 = pSelect *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags) & libc.Int32FromInt32(COLFLAG_NOINSERT)) p = (*(*TExprList_item)(unsafe.Pointer(a + uintptr(i)*32))).FpExpr /* pCol->szEst = ... // Column size est for SELECT tables never used */ (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, p) + for int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) && (*TSelect)(unsafe.Pointer(pS2)).FpNext != uintptr(0) { + m |= _sqlite3ExprDataType(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext + (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + } if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) { (*TColumn)(unsafe.Pointer(pCol)).Faffinity = aff } - if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && (*TSelect)(unsafe.Pointer(pSelect)).FpNext != 0 { - m = 0 - m = 0 - pS2 = (*TSelect)(unsafe.Pointer(pSelect)).FpNext + if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && ((*TSelect)(unsafe.Pointer(pS2)).FpNext != 0 || pS2 != pSelect) { + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext for { if !(pS2 != 0) { break @@ -119107,7 +119945,7 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS zType = _columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0)) if zType == uintptr(0) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) != int32(_sqlite3AffinityType(tls, zType, uintptr(0))) { if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_NUMERIC) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_FLEXNUM) { - zType = __ccgo_ts + 19235 + zType = __ccgo_ts + 19367 } else { zType = uintptr(0) j = int32(1) @@ -119127,13 +119965,13 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS } } if zType != 0 { - m1 = int64(_sqlite3Strlen30(tls, zType)) + k = int64(_sqlite3Strlen30(tls, zType)) n = int64(_sqlite3Strlen30(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) - (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+m1+int64(2))) + (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+k+int64(2))) p4 = pCol + 14 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) & ^(libc.Int32FromInt32(COLFLAG_HASTYPE) | libc.Int32FromInt32(COLFLAG_HASCOLL))) if (*TColumn)(unsafe.Pointer(pCol)).FzCnName != 0 { - libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(m1+int64(1))) + libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(k+int64(1))) p5 = pCol + 14 *(*Tu16)(unsafe.Pointer(p5)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p5))) | libc.Int32FromInt32(COLFLAG_HASTYPE)) } @@ -119422,7 +120260,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest iDistinct = 0 /* To ensure unique results if UNION */ eDest = int32(SRT_Fifo) /* Registers used by LIMIT and OFFSET */ if (*TSelect)(unsafe.Pointer(p)).FpWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19239, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19371, 0) return } /* Obtain authorization to do a recursive query */ @@ -119515,7 +120353,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest break } if (*TSelect)(unsafe.Pointer(pFirstRec)).FselFlags&uint32(SF_Aggregate) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19288, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19420, 0) goto end_of_recursive_query } (*TSelect)(unsafe.Pointer(pFirstRec)).Fop = uint8(TK_ALL) @@ -119530,7 +120368,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest /* Store the results of the setup-query in Queue. */ pSetup = (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior (*TSelect)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19330, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19462, 0) rc = _sqlite3Select(tls, pParse, pSetup, bp) (*TSelect)(unsafe.Pointer(pSetup)).FpNext = p if rc != 0 { @@ -119558,7 +120396,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest ** the value for the recursive-table. Store the results in the Queue. */ (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19336, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19468, 0) _sqlite3Select(tls, pParse, p, bp) (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup /* Keep running the loop until the Queue is empty */ @@ -119611,11 +120449,11 @@ func _multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) nRow += bShowAll } if nRow == int32(1) { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } else { - v1 = __ccgo_ts + 19351 + v1 = __ccgo_ts + 19483 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19353, libc.VaList(bp+8, nRow, v1)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19485, libc.VaList(bp+8, nRow, v1)) for p != 0 { _selectInnerLoop(tls, pParse, p, -int32(1), uintptr(0), uintptr(0), pDest, int32(1), int32(1)) if !(bShowAll != 0) { @@ -119723,8 +120561,8 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in return _multiSelectOrderBy(tls, pParse, p, pDest) } else { if (*TSelect)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19376, 0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19391, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19508, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19523, 0) } /* Generate code for the left and right SELECT statements. */ @@ -119749,7 +120587,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in _sqlite3VdbeAddOp3(tls, v, int32(OP_OffsetLimit), (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TSelect)(unsafe.Pointer(p)).FiOffset+int32(1), (*TSelect)(unsafe.Pointer(p)).FiOffset) } } - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19116, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19203, 0) rc = _sqlite3Select(tls, pParse, p, bp) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -119801,7 +120639,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 48))).FeDest = op - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19410, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19542, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+48) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -119859,7 +120697,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit1 = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 88))).FiSDParm = tab2 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19410, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19542, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+88) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -119982,9 +120820,9 @@ func _sqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) bp := tls.Alloc(16) defer tls.Free(16) if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Values) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19431, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19563, 0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19477, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19609, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) } } @@ -120353,8 +121191,8 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr (*TSelect)(unsafe.Pointer(pSplit)).FpPrior = uintptr(0) (*TSelect)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy = _sqlite3ExprListDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0) - _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7369) - _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7369) + _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7494) + _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7494) /* Compute the limit registers */ _computeLimitRegisters(tls, pParse, p, labelEnd) if (*TSelect)(unsafe.Pointer(p)).FiLimit != 0 && op == int32(TK_ALL) { @@ -120398,14 +121236,14 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr regOutB = v21 _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), regAddrA) _sqlite3SelectDestInit(tls, bp+40, int32(SRT_Coroutine), regAddrB) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19559, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19691, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) /* Generate a coroutine to evaluate the SELECT statement to the ** left of the compound operator - the "A" select. */ addrSelectA = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regAddrA, 0, addrSelectA) (*TSelect)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19570, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19702, 0) _sqlite3Select(tls, pParse, pPrior, bp) _sqlite3VdbeEndCoroutine(tls, v, regAddrA) _sqlite3VdbeJumpHere(tls, v, addr1) @@ -120418,7 +121256,7 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr savedOffset = (*TSelect)(unsafe.Pointer(p)).FiOffset (*TSelect)(unsafe.Pointer(p)).FiLimit = regLimitB (*TSelect)(unsafe.Pointer(p)).FiOffset = 0 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19575, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19707, 0) _sqlite3Select(tls, pParse, p, bp+40) (*TSelect)(unsafe.Pointer(p)).FiLimit = savedLimit (*TSelect)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -120633,7 +121471,7 @@ func _substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) (r uintptr) { if pColl != 0 { v1 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v1 = __ccgo_ts + 5088 + v1 = __ccgo_ts + 5152 } pExpr = _sqlite3ExprAddCollateString(tls, (*TSubstContext)(unsafe.Pointer(pSubst)).FpParse, pExpr, v1) } @@ -121669,10 +122507,10 @@ func _findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft - if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pLeft) != 0 { + if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pLeft) != 0 { _constInsert(tls, pConst, pRight, pLeft, pExpr) } - if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pRight) != 0 { + if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pRight) != 0 { _constInsert(tls, pConst, pLeft, pRight, pExpr) } } @@ -121905,6 +122743,18 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** The hope is that the terms added to the inner query will make it more // ** efficient. // ** +// ** NAME AMBIGUITY +// ** +// ** This optimization is called the "WHERE-clause push-down optimization". +// ** +// ** Do not confuse this optimization with another unrelated optimization +// ** with a similar name: The "MySQL push-down optimization" causes WHERE +// ** clause terms that can be evaluated using only the index and without +// ** reference to the table are run first, so that if they are false, +// ** unnecessary table seeks are avoided. +// ** +// ** RULES +// ** // ** Do not attempt this optimization if: // ** // ** (1) (** This restriction was removed on 2017-09-29. We used to @@ -121970,10 +122820,10 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** (9c) There is a RIGHT JOIN (or FULL JOIN) in between the ON/USING // ** clause and the subquery. // ** -// ** Without this restriction, the push-down optimization might move -// ** the ON/USING filter expression from the left side of a RIGHT JOIN -// ** over to the right side, which leads to incorrect answers. See -// ** also restriction (6) in sqlite3ExprIsSingleTableConstraint(). +// ** Without this restriction, the WHERE-clause push-down optimization +// ** might move the ON/USING filter expression from the left side of a +// ** RIGHT JOIN over to the right side, which leads to incorrect answers. +// ** See also restriction (6) in sqlite3ExprIsSingleTableConstraint(). // ** // ** (10) The inner query is not the right-hand table of a RIGHT JOIN. // ** @@ -122066,7 +122916,7 @@ func _pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere ui nChng += _pushDownWhereTerms(tls, pParse, pSubq, (*TExpr)(unsafe.Pointer(pWhere)).FpRight, pSrcList, iSrc) pWhere = (*TExpr)(unsafe.Pointer(pWhere)).FpLeft } - if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc) != 0 { + if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc, int32(1)) != 0 { nChng++ *(*Tu32)(unsafe.Pointer(pSubq + 4)) |= uint32(SF_PushDown) for pSubq != 0 { @@ -122236,13 +123086,13 @@ func _minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) (r return uint8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8)) - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15552) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15645) == 0 { eRet = int32(WHERE_ORDERBY_MIN) if _sqlite3ExprCanBeNull(tls, (*(*TExprList_item)(unsafe.Pointer(pEList + 8))).FpExpr) != 0 { sortFlags = uint8(KEYINFO_ORDER_BIGNULL) } } else { - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15556) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15649) == 0 { eRet = int32(WHERE_ORDERBY_MAX) sortFlags = uint8(KEYINFO_ORDER_DESC) } else { @@ -122330,7 +123180,7 @@ func _sqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r in pIdx = (*TIndex)(unsafe.Pointer(pIdx)).FpNext } if !(pIdx != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19581, libc.VaList(bp+8, zIndexedBy, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19713, libc.VaList(bp+8, zIndexedBy, 0)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) return int32(SQLITE_ERROR) } @@ -122454,7 +123304,7 @@ func _cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19599, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19731, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) return int32(1) } return 0 @@ -122629,7 +123479,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } *(*Tu32)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= uint32(SF_CopyCte) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19622, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19754, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) return int32(2) } libc.SetBitFieldPtr16Uint32(pFrom+60+4, libc.Uint32FromInt32(1), 8, 0x100) @@ -122653,7 +123503,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ libc.SetBitFieldPtr16Uint32(pItem+60+4, libc.Uint32FromInt32(1), 6, 0x40) if (*TSelect)(unsafe.Pointer(pRecTerm)).FselFlags&uint32(SF_Recursive) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19642, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19774, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) return int32(2) } *(*Tu32)(unsafe.Pointer(pRecTerm + 4)) |= uint32(SF_Recursive) @@ -122675,7 +123525,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } pRecTerm = (*TSelect)(unsafe.Pointer(pRecTerm)).FpPrior } - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19685 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19817 pSavedWith = (*TParse)(unsafe.Pointer(pParse)).FpWith (*TParse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp)) if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { @@ -122706,7 +123556,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pEList = (*TSelect)(unsafe.Pointer(pLeft)).FpEList if (*TCte)(unsafe.Pointer(pCte)).FpCols != 0 { if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr != (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19708, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19840, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*TParse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return int32(2) } @@ -122715,9 +123565,9 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom _sqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8) if bMayRecursive != 0 { if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19746 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19878 } else { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19780 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19912 } _sqlite3WalkSelect(tls, pWalker, pSel) } @@ -122776,7 +123626,7 @@ func _sqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int if (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 { (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3DbStrDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias) } else { - (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19818, libc.VaList(bp+8, pFrom)) + (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19950, libc.VaList(bp+8, pFrom)) } for (*TSelect)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*TSelect)(unsafe.Pointer(pSel)).FpPrior @@ -122932,7 +123782,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { return int32(WRC_Abort) } if (*TTable)(unsafe.Pointer(pTab)).FnTabRef >= uint32(0xffff) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19822, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19954, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) (*TSrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return int32(WRC_Abort) } @@ -122947,7 +123797,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) && (*TTable)(unsafe.Pointer(pTab)).FpSchema != (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19861, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19993, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } (*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect = _sqlite3SelectDup(tls, db, (*(*struct { FpSelect uintptr @@ -122962,7 +123812,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).Fp)).FeVtabRisk) > libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15111, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15204, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } } nCol = (*TTable)(unsafe.Pointer(pTab)).FnCol @@ -123084,7 +123934,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if iDb >= 0 { v10 = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName } else { - v10 = __ccgo_ts + 6592 + v10 = __ccgo_ts + 6656 } zSchemaName = v10 } @@ -123101,7 +123951,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { pNew = _sqlite3ExprListAppend(tls, pParse, pNew, pRight) if pNew != 0 { pX = pNew + 8 + uintptr((*TExprList)(unsafe.Pointer(pNew)).FnExpr-int32(1))*32 - (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19892, libc.VaList(bp+8, zUName)) + (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20024, libc.VaList(bp+8, zUName)) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(ENAME_TAB), 0, 0x3) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(1), 7, 0x80) } @@ -123180,7 +124030,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if pNestedFrom != 0 && libc.Bool(libc.Bool(!(libc.Int32FromInt32(ViewCanHaveRowid) != 0)) || j < (*TExprList)(unsafe.Pointer(pNestedFrom)).FnExpr) { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, (*(*TExprList_item)(unsafe.Pointer(pNestedFrom + 8 + uintptr(j)*32))).FzEName) } else { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19897, libc.VaList(bp+8, zSchemaName, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20029, libc.VaList(bp+8, zSchemaName, zTabName, zName)) } if j == int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) { v13 = int32(ENAME_ROWID) @@ -123193,7 +124043,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } } else { if longNames != 0 { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12383, libc.VaList(bp+8, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12508, libc.VaList(bp+8, zTabName, zName)) libc.SetBitFieldPtr16Uint32(pX1+16+4, libc.Uint32FromInt32(ENAME_NAME), 0, 0x3) } else { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, zName) @@ -123213,9 +124063,9 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if !(tableSeen != 0) { if zTName != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19906, libc.VaList(bp+8, zTName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20038, libc.VaList(bp+8, zTName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19924, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20056, 0) } } } @@ -123229,7 +124079,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if (*TSelect)(unsafe.Pointer(p)).FpEList != 0 { if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19944, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20076, 0) return int32(WRC_Abort) } if elistFlags&uint32(libc.Int32FromInt32(EP_HasFunc)|libc.Int32FromInt32(EP_Subquery)) != uint32(0) { @@ -123570,12 +124420,12 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct >= 0 { pE = (*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFExpr if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19975, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20107, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -int32(1) } else { pKeyInfo = _sqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20026, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20158, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab >= 0 { @@ -123596,7 +124446,7 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { (*TKeyInfo)(unsafe.Pointer(pKeyInfo1)).FnKeyField++ } _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab, (*TExprList)(unsafe.Pointer(pOBList)).FnExpr+nExtra, 0, pKeyInfo1, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20059, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20191, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } goto _1 _1: @@ -123901,16 +124751,16 @@ func _explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintp if int32((*TParse)(unsafe.Pointer(pParse)).Fexplain) == int32(2) { bCover = libc.BoolInt32(pIdx != uintptr(0) && ((*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) || !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == libc.Int32FromInt32(SQLITE_IDXTYPE_PRIMARYKEY)))) if bCover != 0 { - v1 = __ccgo_ts + 20092 + v1 = __ccgo_ts + 20224 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } if bCover != 0 { v2 = (*TIndex)(unsafe.Pointer(pIdx)).FzName } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20115, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20247, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) } } @@ -123942,7 +124792,7 @@ func _havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3 ** statements AggInfo structure. */ if _sqlite3ExprIsConstantOrGroupBy(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*TSelect)(unsafe.Pointer(pS)).FpGroupBy) != 0 && libc.BoolInt32((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse)) == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8132) + pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8257) if pNew != 0 { pWhere = (*TSelect)(unsafe.Pointer(pS)).FpWhere t = *(*TExpr)(unsafe.Pointer(pNew)) @@ -124098,7 +124948,7 @@ func _countOfViewOptimization(tls *libc.TLS, pParse uintptr, p uintptr) (r int32 if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { return 0 } /* Result is an aggregate */ - if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15846) != 0 { + if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15939) != 0 { return 0 } /* Is count() */ if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != uintptr(0) { @@ -124361,7 +125211,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { v1 = (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p0)).FpTab)).FzName } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20127, libc.VaList(bp+176, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20259, libc.VaList(bp+176, v1)) goto select_end } /* Clear the SF_UFSrcCheck flag. The check has already been performed, @@ -124462,7 +125312,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r /* Catch mismatch in the declared columns of a view and the number of ** columns in the SELECT on the RHS */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) != (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20181, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20313, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end } /* Do not attempt the usual optimizations (flattening and ORDER BY @@ -124599,12 +125449,12 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r ** string for the fake column name seems safer. */ if (*TSrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0) && (*TSrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0) { - _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1650, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1664, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) } /* Generate code for all sub-queries in the FROM clause */ pSub1 = (*TSrcItem)(unsafe.Pointer(pItem1)).FpSelect - if pSub1 == uintptr(0) { + if pSub1 == uintptr(0) || (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub != 0 { goto _10 } /* The code for a subquery should only be generated once. */ @@ -124643,7 +125493,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop _sqlite3SelectDestInit(tls, bp+72, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20221, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20353, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60+4, libc.Uint32FromInt32(1), 5, 0x20) @@ -124691,7 +125541,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { } _sqlite3SelectDestInit(tls, bp+72, int32(SRT_EphemTab), (*TSrcItem)(unsafe.Pointer(pItem1)).FiCursor) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20236, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20368, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow if onceAddr != 0 { @@ -125101,11 +125951,11 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r groupBySort = 0 } else { if (*(*TDistinctCtx)(unsafe.Pointer(bp))).FisTnct != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Distinct) == uint32(0) { - v44 = __ccgo_ts + 20252 + v44 = __ccgo_ts + 20384 } else { - v44 = __ccgo_ts + 20261 + v44 = __ccgo_ts + 20393 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19149, libc.VaList(bp+176, v44)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19236, libc.VaList(bp+176, v44)) groupBySort = int32(1) nGroupBy = (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr nCol = nGroupBy @@ -125424,7 +126274,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeResolveLabel(tls, v, addrEnd) } /* endif aggregate query */ if int32((*(*TDistinctCtx)(unsafe.Pointer(bp))).FeTnctType) == int32(WHERE_DISTINCT_UNORDERED) { - _explainTempTable(tls, pParse, __ccgo_ts+20252) + _explainTempTable(tls, pParse, __ccgo_ts+20384) } /* If there is an ORDER BY clause, then we need to sort the results ** and send them to the callback one by one. @@ -125530,7 +126380,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr if !(i < nCol) { break } - z = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if z == uintptr(0) { goto malloc_failed } @@ -125546,7 +126396,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr } else { if int32((*TTabResult)(unsafe.Pointer(p)).FnColumn) != nCol { Xsqlite3_free(tls, (*TTabResult)(unsafe.Pointer(p)).FzErrMsg) - (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20270, 0) + (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20402, 0) (*TTabResult)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) return int32(1) } @@ -125636,7 +126486,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) } Xsqlite3_free(tls, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg) } @@ -125798,7 +126648,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if isTemp != 0 { /* If TEMP was specified, then the trigger name may not be qualified. */ if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20335, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20467, 0) goto trigger_cleanup } iDb = int32(1) @@ -125838,7 +126688,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto trigger_cleanup } - _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20381, *(*uintptr)(unsafe.Pointer(bp))) + _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20513, *(*uintptr)(unsafe.Pointer(bp))) if _sqlite3FixSrcList(tls, bp+8, pTableName) != 0 { goto trigger_cleanup } @@ -125848,11 +126698,11 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_orphan_error } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20389, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20521, 0) goto trigger_orphan_error } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, db) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20430, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20562, 0) goto trigger_orphan_error } /* Check that the trigger name is not reserved and that no trigger of the @@ -125861,13 +126711,13 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if zName == uintptr(0) { goto trigger_cleanup } - if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20381, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { + if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20513, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { goto trigger_cleanup } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema+56, zName) != 0 { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20470, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20602, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) } @@ -125875,8 +126725,8 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 } } /* Do not create a trigger on a system table */ - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6527, int32(7)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20496, 0) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6591, int32(7)) == 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20628, 0) goto trigger_cleanup } /* INSTEAD of triggers are only for views and views only support INSTEAD @@ -125884,15 +126734,15 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && tr_tm != int32(TK_INSTEAD) { if tr_tm == int32(TK_BEFORE) { - v1 = __ccgo_ts + 20534 + v1 = __ccgo_ts + 20666 } else { - v1 = __ccgo_ts + 20541 + v1 = __ccgo_ts + 20673 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20547, libc.VaList(bp+112, v1, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20679, libc.VaList(bp+112, v1, pTableName+8)) goto trigger_orphan_error } if !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) && tr_tm == int32(TK_INSTEAD) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20584, libc.VaList(bp+112, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20716, libc.VaList(bp+112, pTableName+8)) goto trigger_orphan_error } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -125912,9 +126762,9 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iTabDb == int32(1) { - v3 = __ccgo_ts + 6535 + v3 = __ccgo_ts + 6599 } else { - v3 = __ccgo_ts + 6068 + v3 = __ccgo_ts + 6132 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto trigger_cleanup @@ -126014,7 +126864,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl pStepList = (*TTriggerStep)(unsafe.Pointer(pStepList)).FpNext } _sqlite3TokenInit(tls, bp+96, (*TTrigger)(unsafe.Pointer(pTrig)).FzName) - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20381, bp+96) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20513, bp+96) if _sqlite3FixTriggerStep(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 || _sqlite3FixExpr(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).FpWhen) != 0 { goto triggerfinish_cleanup } @@ -126036,7 +126886,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl break } if (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget != uintptr(0) && _sqlite3ShadowTableName(tls, db, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20630, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20762, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) goto triggerfinish_cleanup } goto _1 @@ -126052,10 +126902,10 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl } _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) z = _sqlite3DbStrNDup(tls, db, (*TToken)(unsafe.Pointer(pAll)).Fz, uint64((*TToken)(unsafe.Pointer(pAll)).Fn)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20678, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20810, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) _sqlite3DbFree(tls, db, z) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20753, libc.VaList(bp+120, zName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20885, libc.VaList(bp+120, zName)), uint16(0)) } } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { @@ -126323,7 +127173,7 @@ func _sqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int } if !(pTrigger != 0) { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20782, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20914, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, zDb) } @@ -126365,9 +127215,9 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { code = int32(SQLITE_DROP_TRIGGER) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6535 + v1 = __ccgo_ts + 6599 } else { - v1 = __ccgo_ts + 6068 + v1 = __ccgo_ts + 6132 } zTab = v1 if iDb == int32(1) { @@ -126382,7 +127232,7 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { v2 = _sqlite3GetVdbe(tls, pParse) v = v2 if v2 != uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20802, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20934, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropTrigger), iDb, 0, 0, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName, 0) } @@ -126515,11 +127365,11 @@ func _triggersReallyExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { if op != int32(TK_INSERT) { if op == int32(TK_DELETE) { - v1 = __ccgo_ts + 20864 + v1 = __ccgo_ts + 20996 } else { - v1 = __ccgo_ts + 20871 + v1 = __ccgo_ts + 21003 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20878, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21010, libc.VaList(bp+8, v1)) } (*TTrigger)(unsafe.Pointer(p)).Ftr_tm = uint8(TRIGGER_BEFORE) } else { @@ -126620,7 +127470,7 @@ func _isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != int32(TK_ASTERISK) { return 0 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20926, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21058, 0) return int32(1) } @@ -126685,6 +127535,79 @@ func _sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab return pNew } +// C documentation +// +// /* If the Expr node is a subquery or an EXISTS operator or an IN operator that +// ** uses a subquery, and if the subquery is SF_Correlated, then mark the +// ** expression as EP_VarSelect. +// */ +func _sqlite3ReturningSubqueryVarSelect(tls *libc.TLS, NotUsed uintptr, pExpr uintptr) (r int32) { + _ = NotUsed + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) && (*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FselFlags&uint32(SF_Correlated) != uint32(0) { + *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** If the SELECT references the table pWalker->u.pTab, then do two things: +// ** +// ** (1) Mark the SELECT as as SF_Correlated. +// ** (2) Set pWalker->eCode to non-zero so that the caller will know +// ** that (1) has happened. +// */ +func _sqlite3ReturningSubqueryCorrelated(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + var i int32 + var pSrc uintptr + _, _ = i, pSrc + pSrc = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + i = 0 + for { + if !(i < (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) { + break + } + if (*(*TSrcItem)(unsafe.Pointer(pSrc + 8 + uintptr(i)*104))).FpTab == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { + *(*Tu32)(unsafe.Pointer(pSelect + 4)) |= uint32(SF_Correlated) + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + break + } + goto _1 + _1: + ; + i++ + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Scan the expression list that is the argument to RETURNING looking +// ** for subqueries that depend on the table which is being modified in the +// ** statement that is hosting the RETURNING clause (pTab). Mark all such +// ** subqueries as SF_Correlated. If the subqueries are part of an +// ** expression, mark the expression as EP_VarSelect. +// ** +// ** https://sqlite.org/forum/forumpost/2c83569ce8945d39 +// */ +func _sqlite3ProcessReturningSubqueries(tls *libc.TLS, pEList uintptr, pTab uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ExprWalkNoop) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3ReturningSubqueryCorrelated) + *(*uintptr)(unsafe.Pointer(bp + 40)) = pTab + _sqlite3WalkExprList(tls, bp, pEList) + if (*(*TWalker)(unsafe.Pointer(bp))).FeCode != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ReturningSubqueryVarSelect) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop) + _sqlite3WalkExprList(tls, bp, pEList) + } +} + // C documentation // // /* @@ -126719,6 +127642,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab (*(*TSelect)(unsafe.Pointer(bp))).FpSrc = bp + 128 (*(*TSrcList)(unsafe.Pointer(bp + 128))).FnSrc = int32(1) (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FpTab = pTab + (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FzName = (*TTable)(unsafe.Pointer(pTab)).FzName /* tag-20240424-1 */ (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FiCursor = -int32(1) _sqlite3SelectPrep(tls, pParse, bp, uintptr(0)) if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { @@ -126743,6 +127667,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab if _sqlite3ResolveExprListNames(tls, bp+240, pNew) == SQLITE_OK && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { nCol = (*TExprList)(unsafe.Pointer(pNew)).FnExpr reg = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(1) + _sqlite3ProcessReturningSubqueries(tls, pNew, pTab) *(*int32)(unsafe.Pointer(pParse + 56)) += nCol + int32(2) (*TReturning)(unsafe.Pointer(pReturning)).FiRetReg = reg i = 0 @@ -126811,7 +127736,7 @@ func _codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orcon } (*TParse)(unsafe.Pointer(pParse)).FeOrconf = uint8(v2) if (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6265, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6329, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) } switch int32((*TTriggerStep)(unsafe.Pointer(pStep)).Fop) { case int32(TK_UPDATE): @@ -126913,7 +127838,7 @@ func _codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintp v = _sqlite3GetVdbe(tls, bp+56) if v != 0 { if (*TTrigger)(unsafe.Pointer(pTrigger)).FzName != 0 { - _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+20968, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) + _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+21100, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) } /* If one was specified, code the WHEN clause. If it evaluates to false ** (or NULL) the sub-vdbe is immediately halted by jumping to the @@ -127602,7 +128527,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui chngPk = uint8(1) } else { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20982, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21114, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto update_cleanup } } @@ -127622,13 +128547,13 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui pRowidExpr = (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FpExpr iRowidExpr = i } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21018, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21150, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto update_cleanup } } if j < 0 { - v11 = __ccgo_ts + 7907 + v11 = __ccgo_ts + 8032 } else { v11 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName } @@ -128310,7 +129235,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui ** that information. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21037) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21169) } goto update_cleanup update_cleanup: @@ -128744,9 +129669,9 @@ func _sqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr if nClause == 0 && (*TUpsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) { (*(*[16]uint8)(unsafe.Pointer(bp + 200)))[0] = uint8(0) } else { - Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21050, libc.VaList(bp+224, nClause+int32(1))) + Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21182, libc.VaList(bp+224, nClause+int32(1))) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21054, libc.VaList(bp+224, bp+200)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21186, libc.VaList(bp+224, bp+200)) return int32(SQLITE_ERROR) } goto _1 @@ -128849,7 +129774,7 @@ func _sqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i++ } i = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), iDataCur, 0, iPk, nPk) - _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12472, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12597, -int32(1)) _sqlite3MayAbort(tls, pParse) _sqlite3VdbeJumpHere(tls, v, i) } @@ -128931,7 +129856,7 @@ func _execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) (r int3 ** corrupt the sqlite_schema.sql field with other kinds of statements ** then run VACUUM to get those statements to execute at inappropriate ** times. */ - if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21127, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21131, uint64(3)) == 0) { + if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21259, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21263, uint64(3)) == 0) { rc = _execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -129059,24 +129984,24 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p pDb = uintptr(0) /* Name of output file */ pgflags = uint32(PAGER_SYNCHRONOUS_OFF) /* sync flags for output db */ if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21135) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21267) return int32(SQLITE_ERROR) /* IMP: R-12218-18073 */ } if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive > int32(1) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21175) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21307) return int32(SQLITE_ERROR) /* IMP: R-15610-35227 */ } saved_openFlags = (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags if pOut != 0 { if Xsqlite3_value_type(tls, pOut) != int32(SQLITE_TEXT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21218) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21350) return int32(SQLITE_ERROR) } zOut = Xsqlite3_value_text(tls, pOut) *(*uint32)(unsafe.Pointer(db + 76)) &= uint32(^libc.Int32FromInt32(SQLITE_OPEN_READONLY)) *(*uint32)(unsafe.Pointer(db + 76)) |= uint32(libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE)) } else { - zOut = __ccgo_ts + 1650 + zOut = __ccgo_ts + 1664 } /* Save the current value of the database flags so that it can be ** restored before returning. Then set the writable-schema flag, and @@ -129108,7 +130033,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** to write the journal header file. */ nDb = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21236, libc.VaList(bp+24, zOut)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21368, libc.VaList(bp+24, zOut)) (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if rc != SQLITE_OK { goto end_of_vacuum @@ -129120,7 +130045,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p *(*Ti64)(unsafe.Pointer(bp)) = 0 if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0) && (_sqlite3OsFileSize(tls, id, bp) != SQLITE_OK || *(*Ti64)(unsafe.Pointer(bp)) > 0) { rc = int32(SQLITE_ERROR) - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21259) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21391) goto end_of_vacuum } *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_VacuumInto) @@ -129137,7 +130062,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, ** to ensure that we do not try to change the page-size on a WAL database. */ - rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14881) + rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14974) if rc != SQLITE_OK { goto end_of_vacuum } @@ -129168,11 +130093,11 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** in the temporary database. */ (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(nDb) /* force new CREATE statements into vacuum_db */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21286, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21418, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21394, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21526, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } @@ -129181,7 +130106,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy ** the contents to the temporary database. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21448, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21580, libc.VaList(bp+24, zDbMain)) *(*Tu32)(unsafe.Pointer(db + 44)) &= uint32(^libc.Int32FromInt32(DBFLAG_Vacuum)) if rc != SQLITE_OK { goto end_of_vacuum @@ -129191,7 +130116,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** associated storage, so all we have to do is copy their entries ** from the schema table. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21599, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21731, libc.VaList(bp+24, zDbMain)) if rc != 0 { goto end_of_vacuum } @@ -129718,7 +130643,7 @@ func _addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uint FazArg uintptr Fp uintptr })(unsafe.Pointer(pTable + 64))).FnArg+int32(3) >= *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12702, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12827, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = _sqlite3DbRealloc(tls, db, (*(*struct { FnArg int32 @@ -129841,7 +130766,7 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { if pEnd != 0 { (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32(int64((*TToken)(unsafe.Pointer(pEnd)).Fz)-int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz))) + (*TToken)(unsafe.Pointer(pEnd)).Fn } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21729, libc.VaList(bp+8, pParse+272)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21861, libc.VaList(bp+8, pParse+272)) /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. @@ -129851,11 +130776,11 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { ** by sqlite3StartTable(). */ iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+21753, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+21885, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) v = _sqlite3GetVdbe(tls, pParse) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) - zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21852, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21984, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) _sqlite3DbFree(tls, db, zStmt) v2 = pParse + 56 @@ -129942,7 +130867,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, break } if (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21871, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22003, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(SQLITE_LOCKED) } goto _1 @@ -129984,9 +130909,9 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, } if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21913, libc.VaList(bp+48, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22045, libc.VaList(bp+48, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3797, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3861, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) } _sqlite3DbFree(tls, db, pVTable) @@ -129999,8 +130924,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*TModule)(unsafe.Pointer(pMod)).FnRefModule++ (*TVTable)(unsafe.Pointer(pVTable)).FnRef = int32(1) if (*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared == 0 { - zFormat = __ccgo_ts + 21943 - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + zFormat = __ccgo_ts + 22075 + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, zModuleName)) _sqlite3VtabUnlock(tls, pVTable) rc = int32(SQLITE_ERROR) } else { @@ -130025,7 +130950,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(iCol < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } - zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1650) + zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1664) i = 0 nType = _sqlite3Strlen30(tls, zType) i = 0 @@ -130033,7 +130958,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(i < nType) { break } - if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16587, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { + if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16674, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { break } goto _3 @@ -130114,13 +131039,13 @@ func _sqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).FazArg)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21989, libc.VaList(bp+16, zModule)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22121, libc.VaList(bp+16, zModule)) rc = int32(SQLITE_ERROR) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3797, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3861, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) (*TParse)(unsafe.Pointer(pParse)).Frc = rc } _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) @@ -130201,7 +131126,7 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, ** error. Otherwise, do nothing. */ if pMod == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21989, libc.VaList(bp+8, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22121, libc.VaList(bp+8, zMod)) rc = int32(SQLITE_ERROR) } else { rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr) @@ -130227,18 +131152,42 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r int32) { bp := tls.Alloc(448) defer tls.Free(448) - var initBusy, rc int32 - var pCtx, pIdx, pNew, pTab, v2 uintptr - var v1 Ti16 + var i, initBusy, rc int32 + var pCtx, pIdx, pNew, pTab, z, v3 uintptr + var v2 Ti16 var _ /* sParse at bp+0 */ TParse - _, _, _, _, _, _, _, _ = initBusy, pCtx, pIdx, pNew, pTab, rc, v1, v2 + var _ /* tokenType at bp+424 */ int32 + _, _, _, _, _, _, _, _, _, _ = i, initBusy, pCtx, pIdx, pNew, pTab, rc, z, v2, v3 rc = SQLITE_OK + /* Verify that the first two keywords in the CREATE TABLE statement + ** really are "CREATE" and "TABLE". If this is not the case, then + ** sqlite3_declare_vtab() is being misused. + */ + z = zCreateTable + i = 0 + for { + if !(_aKeyword1[i] != 0) { + break + } + *(*int32)(unsafe.Pointer(bp + 424)) = 0 + for cond := true; cond; cond = *(*int32)(unsafe.Pointer(bp + 424)) == int32(TK_SPACE) { + z += uintptr(_sqlite3GetToken(tls, z, bp+424)) + } + if *(*int32)(unsafe.Pointer(bp + 424)) != int32(_aKeyword1[i]) { + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+22140, 0) + return int32(SQLITE_ERROR) + } + goto _1 + _1: + ; + i++ + } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { - _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(155155))) + _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(156227))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) - return _sqlite3MisuseError(tls, int32(155157)) + return _sqlite3MisuseError(tls, int32(156229)) } pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab _sqlite3ParseObjectInit(tls, bp, db) @@ -130250,7 +131199,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i initBusy = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) (*(*TParse)(unsafe.Pointer(bp))).FnQueryLoop = int16(1) - if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) && (*(*TParse)(unsafe.Pointer(bp))).FpNewTable != uintptr(0) && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && int32((*TTable)(unsafe.Pointer((*(*TParse)(unsafe.Pointer(bp))).FpNewTable)).FeTabType) == TABTYP_NORM { + if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) { if !((*TTable)(unsafe.Pointer(pTab)).FaCol != 0) { pNew = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable (*TTable)(unsafe.Pointer(pTab)).FaCol = (*TTable)(unsafe.Pointer(pNew)).FaCol @@ -130259,9 +131208,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpDfltList) - v1 = (*TTable)(unsafe.Pointer(pNew)).FnCol - (*TTable)(unsafe.Pointer(pTab)).FnCol = v1 - (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v1 + v2 = (*TTable)(unsafe.Pointer(pNew)).FnCol + (*TTable)(unsafe.Pointer(pTab)).FnCol = v2 + (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v2 *(*Tu32)(unsafe.Pointer(pTab + 48)) |= (*TTable)(unsafe.Pointer(pNew)).FtabFlags & uint32(libc.Int32FromInt32(TF_WithoutRowid)|libc.Int32FromInt32(TF_NoVisibleRowid)) (*TTable)(unsafe.Pointer(pNew)).FnCol = 0 (*TTable)(unsafe.Pointer(pNew)).FaCol = uintptr(0) @@ -130280,11 +131229,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = int32(1) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - v2 = __ccgo_ts + 3797 + v3 = __ccgo_ts + 3861 } else { - v2 = uintptr(0) + v3 = uintptr(0) } - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v2, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v3, libc.VaList(bp+440, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) rc = int32(SQLITE_ERROR) } @@ -130300,6 +131249,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i return rc } +var _aKeyword1 = [3]Tu8{ + 0: uint8(TK_CREATE), + 1: uint8(TK_TABLE), +} + // C documentation // // /* @@ -130751,7 +131705,7 @@ func _sqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) _addModuleArgument(tls, pParse, pTab, _sqlite3DbStrDup(tls, db, (*TTable)(unsafe.Pointer(pTab)).FzName)) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp) if rc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3797, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3861, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3VtabEponymousTableClear(tls, db, pMod) } @@ -130815,7 +131769,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = _sqlite3MisuseError(tls, int32(155651)) + rc = _sqlite3MisuseError(tls, int32(156723)) } else { ap = va switch op { @@ -130828,7 +131782,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in case int32(SQLITE_VTAB_USES_ALL_SCHEMAS): (*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1) default: - rc = _sqlite3MisuseError(tls, int32(155673)) + rc = _sqlite3MisuseError(tls, int32(156745)) break } _ = ap @@ -131550,10 +132504,10 @@ type WhereInfo1 = TWhereInfo1 func _explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) (r uintptr) { i = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -int32(2) { - return __ccgo_ts + 22008 + return __ccgo_ts + 22153 } if i == -int32(1) { - return __ccgo_ts + 16696 + return __ccgo_ts + 16783 } return (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*16))).FzCnName } @@ -131572,10 +132526,10 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, var i int32 _ = i if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22015, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22160, int32(5)) } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22021, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22166, int32(1)) } i = 0 for { @@ -131583,7 +132537,7 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13092, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13217, int32(1)) } Xsqlite3_str_appendall(tls, pStr, _explainIndexColumnName(tls, pIdx, iTerm+i)) goto _1 @@ -131592,11 +132546,11 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5172, int32(1)) } Xsqlite3_str_append(tls, pStr, zOp, int32(1)) if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22021, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22166, int32(1)) } i = 0 for { @@ -131604,16 +132558,16 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13092, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13217, int32(1)) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5110, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5174, int32(1)) goto _2 _2: ; i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5172, int32(1)) } } @@ -131646,7 +132600,7 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { if int32(nEq) == 0 && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_BTM_LIMIT)|libc.Int32FromInt32(WHERE_TOP_LIMIT)) == uint32(0) { return } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22023, int32(2)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22168, int32(2)) i = 0 for { if !(i < int32(nEq)) { @@ -131654,12 +132608,12 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } z = _explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22015, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22160, int32(5)) } if i >= int32(nSkip) { - v2 = __ccgo_ts + 22026 + v2 = __ccgo_ts + 22171 } else { - v2 = __ccgo_ts + 22031 + v2 = __ccgo_ts + 22176 } Xsqlite3_str_appendf(tls, pStr, v2, libc.VaList(bp+8, z)) goto _1 @@ -131669,13 +132623,13 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } j = i if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_BTM_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22039) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22184) i = int32(1) } if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_TOP_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22041) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22186) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5172, int32(1)) } // C documentation @@ -131718,47 +132672,47 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if isSearch != 0 { - v2 = __ccgo_ts + 22043 + v2 = __ccgo_ts + 22188 } else { - v2 = __ccgo_ts + 22050 + v2 = __ccgo_ts + 22195 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22055, libc.VaList(bp+144, v2, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22200, libc.VaList(bp+144, v2, pItem)) if flags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_VIRTUALTABLE)) == uint32(0) { zFmt = uintptr(0) pIdx = (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex if !((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) && int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = __ccgo_ts + 11255 + zFmt = __ccgo_ts + 11380 } } else { if flags&uint32(WHERE_PARTIALIDX) != 0 { - zFmt = __ccgo_ts + 22061 + zFmt = __ccgo_ts + 22206 } else { if flags&uint32(WHERE_AUTO_INDEX) != 0 { - zFmt = __ccgo_ts + 22094 + zFmt = __ccgo_ts + 22239 } else { if flags&uint32(WHERE_IDX_ONLY) != 0 { - zFmt = __ccgo_ts + 22119 + zFmt = __ccgo_ts + 22264 } else { - zFmt = __ccgo_ts + 22137 + zFmt = __ccgo_ts + 22282 } } } } if zFmt != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22146, int32(7)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22291, int32(7)) Xsqlite3_str_appendf(tls, bp, zFmt, libc.VaList(bp+144, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) _explainIndexRange(tls, bp, pLoop) } } else { if flags&uint32(WHERE_IPK) != uint32(0) && flags&uint32(WHERE_CONSTRAINT) != uint32(0) { - zRowid = __ccgo_ts + 16696 - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22154, libc.VaList(bp+144, zRowid)) + zRowid = __ccgo_ts + 16783 + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22299, libc.VaList(bp+144, zRowid)) if flags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != 0 { cRangeOp = uint8('=') } else { if flags&uint32(WHERE_BOTH_LIMIT) == uint32(WHERE_BOTH_LIMIT) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22185, libc.VaList(bp+144, zRowid)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22330, libc.VaList(bp+144, zRowid)) cRangeOp = uint8('<') } else { if flags&uint32(WHERE_BTM_LIMIT) != 0 { @@ -131768,10 +132722,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22195, libc.VaList(bp+144, int32(cRangeOp))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22340, libc.VaList(bp+144, int32(cRangeOp))) } else { if flags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22200, libc.VaList(bp+144, (*(*struct { + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22345, libc.VaList(bp+144, (*(*struct { FidxNum int32 F__ccgo4 uint8 FisOrdered Ti8 @@ -131790,7 +132744,7 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } if int32((*TSrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&int32(JT_LEFT) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22227, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22372, 0) } zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) @@ -131824,14 +132778,14 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Initial space for EQP output string */ _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22238, libc.VaList(bp+144, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22383, libc.VaList(bp+144, pItem)) pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_IPK) != 0 { pTab = (*TSrcItem)(unsafe.Pointer(pItem)).FpTab if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22026, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22171, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) } else { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22259, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22404, 0) } } else { i = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) @@ -131841,16 +132795,16 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp } z = _explainIndexColumnName(tls, (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex, i) if i > int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22015, int32(5)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22160, int32(5)) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22026, libc.VaList(bp+144, z)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22171, libc.VaList(bp+144, z)) goto _1 _1: ; i++ } } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5172, int32(1)) zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) return ret @@ -132681,6 +133635,35 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32 } } +// C documentation +// +// /* +// ** Loop pLoop is a WHERE_INDEXED level that uses at least one IN(...) +// ** operator. Return true if level pLoop is guaranteed to visit only one +// ** row for each key generated for the index. +// */ +func _whereLoopIsOneRow(tls *libc.TLS, pLoop uintptr) (r int32) { + var ii int32 + _ = ii + if (*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FonError != 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) == 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq) == int32((*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FnKeyCol) { + ii = 0 + for { + if !(ii < int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq)) { + break + } + if int32((*TWhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(ii)*8)))).FeOperator)&(libc.Int32FromInt32(WO_IS)|libc.Int32FromInt32(WO_ISNULL)) != 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) + } + return 0 +} + // C documentation // // /* @@ -133369,7 +134352,10 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** a LEFT JOIN: */ } /* Record the instruction used to terminate the loop. */ - if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 { + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 || (*(*struct { + FnIn int32 + FaInLoop uintptr + })(unsafe.Pointer(pLevel + 72))).FnIn != 0 && regBignull == 0 && _whereLoopIsOneRow(tls, pLoop) != 0 { (*TWhereLevel)(unsafe.Pointer(pLevel)).Fop = uint8(OP_Noop) } else { if bRev != 0 { @@ -133542,7 +134528,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22267, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22412, 0) ii = 0 for { if !(ii < (*TWhereClause)(unsafe.Pointer(pOrWc)).FnTerm) { @@ -133565,7 +134551,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } /* Loop through table entries that match term pOrTerm. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22282, libc.VaList(bp+96, ii+int32(1))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22427, libc.VaList(bp+96, ii+int32(1))) pSubWInfo = _sqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) if pSubWInfo != 0 { addrExplain = _sqlite3WhereExplainOneScan(tls, pParse, pOrTab, pSubWInfo+856, uint16(0)) @@ -133728,6 +134714,12 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** iLoop==3: Code all remaining expressions. ** ** An effort is made to skip unnecessary iterations of the loop. + ** + ** This optimization of causing simple query restrictions to occur before + ** more complex one is call the "push-down" optimization in MySQL. Here + ** in SQLite, the name is "MySQL push-down", since there is also another + ** totally unrelated optimization called "WHERE-clause push-down". + ** Sometimes the qualifier is omitted, resulting in an ambiguity, so beware. */ if pIdx != 0 { v60 = int32(1) @@ -134027,9 +135019,9 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe defer tls.Free(128) var addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, nPk, r, v3 int32 var mAll TBitmask - var pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr + var pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr var _ /* sFrom at bp+0 */ TSrcList - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pRJ = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpRJ @@ -134038,13 +135030,17 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop pTabItem = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 mAll = uint64(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22291, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22436, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) k = 0 for { if !(k < iLevel) { break } + pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*104 mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf + if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x20>>5)) != 0 { + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pRight)).FpSelect)).FpEList)).FnExpr-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiTabCur) iIdxCur = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiIdxCur if iIdxCur != 0 { @@ -134542,19 +135538,19 @@ var _aOp = [4]struct { FeOp2 uint8 }{ 0: { - FzOp: __ccgo_ts + 16545, + FzOp: __ccgo_ts + 16632, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH), }, 1: { - FzOp: __ccgo_ts + 15876, + FzOp: __ccgo_ts + 15969, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB), }, 2: { - FzOp: __ccgo_ts + 15355, + FzOp: __ccgo_ts + 15448, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE), }, 3: { - FzOp: __ccgo_ts + 22305, + FzOp: __ccgo_ts + 22450, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP), }, } @@ -135188,7 +136184,7 @@ func _exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, aiCurCol uintptr, pExpr if int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) != -int32(2) { goto _4 } - if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_STRING) { + if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && !(_sqlite3ExprIsConstant(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr) != 0) { *(*int32)(unsafe.Pointer(aiCurCol)) = iCur *(*int32)(unsafe.Pointer(aiCurCol + 1*4)) = -int32(2) return int32(1) @@ -135341,7 +136337,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { extraRight = x - uint64(1) /* ON clause terms may not be used with an index ** on left table of a LEFT JOIN. Ticket #3015 */ if prereqAll>>libc.Int32FromInt32(1) >= x { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22312, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22457, 0) return } } else { @@ -135353,7 +136349,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { ** if there is a RIGHT or FULL JOIN in the query. This makes SQLite ** more like other systems, and also preserves legacy. */ if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*(*TSrcItem)(unsafe.Pointer(pSrc + 8))).Ffg.Fjointype)&int32(JT_LTORJ) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22312, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22457, 0) return } *(*Tu32)(unsafe.Pointer(pExpr + 4)) &= uint32(^libc.Int32FromInt32(EP_InnerON)) @@ -135437,7 +136433,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { } else { if op == int32(TK_ISNULL) && !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)) != libc.Uint32FromInt32(0)) && 0 == _sqlite3ExprCanBeNull(tls, pLeft) { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_TRUEFALSE) /* See tag-20230504-1 */ - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 7893 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8018 *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_IsFalse)) (*TWhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator = uint16(0) @@ -135533,7 +136529,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { *(*Tu8)(unsafe.Pointer(pC)) = uint8(int32(c1) + int32(1)) } if *(*int32)(unsafe.Pointer(bp + 12)) != 0 { - v13 = __ccgo_ts + 22353 + v13 = __ccgo_ts + 22498 } else { v13 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) } @@ -135803,6 +136799,9 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FleftCursor != iCsr { return } + if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FprereqRight != uint64(0) { + return + } goto _1 _1: ; @@ -135832,10 +136831,12 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { } } /* All conditions are met. Add the terms to the where-clause object. */ - _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) - if (*TSelect)(unsafe.Pointer(p)).FiOffset > 0 { + if (*TSelect)(unsafe.Pointer(p)).FiOffset != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiOffset, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpRight, iCsr, int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } + if (*TSelect)(unsafe.Pointer(p)).FiOffset == 0 || (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { + _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) + } } } @@ -136059,7 +137060,7 @@ func _sqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22360, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22505, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) return } pColRef = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_COLUMN), uintptr(0), 0) @@ -136493,6 +137494,48 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { return uintptr(0) } +// C documentation +// +// /* +// ** Term pTerm is guaranteed to be a WO_IN term. It may be a component term +// ** of a vector IN expression of the form "(x, y, ...) IN (SELECT ...)". +// ** This function checks to see if the term is compatible with an index +// ** column with affinity idxaff (one of the SQLITE_AFF_XYZ values). If so, +// ** it returns a pointer to the name of the collation sequence (e.g. "BINARY" +// ** or "NOCASE") used by the comparison in pTerm. If it is not compatible +// ** with affinity idxaff, NULL is returned. +// */ +func _indexInAffinityOk(tls *libc.TLS, pParse uintptr, pTerm uintptr, idxaff Tu8) (r uintptr) { + bp := tls.Alloc(80) + defer tls.Free(80) + var iField int32 + var pRet, pX, v1 uintptr + var _ /* inexpr at bp+0 */ TExpr + _, _, _, _ = iField, pRet, pX, v1 + pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr + if _sqlite3ExprIsVector(tls, (*TExpr)(unsafe.Pointer(pX)).FpLeft) != 0 { + iField = (*(*struct { + FleftColumn int32 + FiField int32 + })(unsafe.Pointer(pTerm + 32))).FiField - int32(1) + (*(*TExpr)(unsafe.Pointer(bp))).Fflags = uint32(0) + (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_EQ) + (*(*TExpr)(unsafe.Pointer(bp))).FpLeft = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pX)).FpLeft + 32)) + 8 + uintptr(iField)*32))).FpExpr + (*(*TExpr)(unsafe.Pointer(bp))).FpRight = (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pX + 32)))).FpEList + 8 + uintptr(iField)*32))).FpExpr + pX = bp + } + if _sqlite3IndexAffinityOk(tls, pX, idxaff) != 0 { + pRet = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pRet != 0 { + v1 = (*TCollSeq)(unsafe.Pointer(pRet)).FzName + } else { + v1 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + return v1 + } + return uintptr(0) +} + // C documentation // // /* @@ -136503,10 +137546,10 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { var iColumn Ti16 var iCur, j, k int32 - var pColl, pParse, pTerm, pWC, pX, v2 uintptr - var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, v2, v3, v5 /* The term being tested */ - k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ + var pColl, pParse, pTerm, pWC, pX, zCollName, v2, v5 uintptr + var v3, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, zCollName, v2, v3, v5, v6 /* The term being tested */ + k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ pWC = (*TWhereScan)(unsafe.Pointer(pScan)).FpWC for int32(1) != 0 { iColumn = *(*Ti16)(unsafe.Pointer(pScan + 88 + uintptr(int32((*TWhereScan)(unsafe.Pointer(pScan)).FiEquiv)-int32(1))*2)) @@ -136550,21 +137593,31 @@ func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { if (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName != 0 && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_ISNULL) == 0 { pParse = (*TWhereInfo)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr - if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { - goto _1 - } - pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) - if pColl == uintptr(0) { - pColl = (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_IN) != 0 { + zCollName = _indexInAffinityOk(tls, pParse, pTerm, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) + if !(zCollName != 0) { + goto _1 + } + } else { + if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { + goto _1 + } + pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pColl != 0 { + v5 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName + } else { + v5 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + zCollName = v5 } - if _sqlite3StrICmp(tls, (*TCollSeq)(unsafe.Pointer(pColl)).FzName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { + if _sqlite3StrICmp(tls, zCollName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { goto _1 } } - if v5 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v5 { + if v6 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v6 { pX = (*TExpr)(unsafe.Pointer((*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpRight } - if v5 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { + if v6 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { goto _1 } (*TWhereScan)(unsafe.Pointer(pScan)).FpWC = pWC @@ -137052,7 +138105,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea /* Make the automatic index a partial index if there are terms in the ** WHERE clause (or the ON clause of a LEFT join) that constrain which ** rows of the target table (pSrc) that can be used. */ - if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)) != 0 { + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom), 0) != 0 { pPartial = _sqlite3ExprAnd(tls, pParse, pPartial, _sqlite3ExprDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr, 0)) } if _termCanDriveIndex(tls, pTerm, pSrc, notReady) != 0 { @@ -137067,7 +138120,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea } cMask = v2 if !(sentWarning != 0) { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_WARNING)|libc.Int32FromInt32(1)<>14)) != 0) { eDistinct = int32(2) + libc.BoolInt32(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_SORTBYGROUP) != 0) } else { if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_GROUPBY) != 0 { @@ -137538,7 +138591,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB */ pIdxInfo = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(96)+(libc.Uint64FromInt64(12)+libc.Uint64FromInt64(8))*uint64(nTerm)+uint64(8)*uint64(nOrderBy)+uint64(40)+uint64(8)*uint64(nTerm)) if pIdxInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1620, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1634, 0) return uintptr(0) } pHidden = pIdxInfo + 1*96 @@ -137623,7 +138676,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB break } pExpr1 = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr - if _sqlite3ExprIsConstant(tls, pExpr1) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr1) != 0 { goto _11 } (*(*Tsqlite3_index_orderby)(unsafe.Pointer(pIdxOrderBy + uintptr(j)*8))).FiColumn = int32((*TExpr)(unsafe.Pointer(pExpr1)).FiColumn) @@ -137698,9 +138751,9 @@ func _vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) (r i _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) } else { if !((*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3797, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3861, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3797, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3861, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } } @@ -139037,7 +140090,7 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x4>>2)) != 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GE)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LE)-libc.Int32FromInt32(TK_EQ))) } - if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 { + if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 && int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x2>>1)) == 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ) | libc.Int32FromInt32(WO_IN) | libc.Int32FromInt32(WO_IS)) } } @@ -139276,10 +140329,13 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } } } - /* Set rCostIdx to the cost of visiting selected rows in index. Add - ** it to pNew->rRun, which is currently set to the cost of the index - ** seek only. Then, if this is a non-covering index, add the cost of - ** visiting the rows in the main table. */ + /* Set rCostIdx to the estimated cost of visiting selected rows in the + ** index. The estimate is the sum of two values: + ** 1. The cost of doing one search-by-key to find the first matching + ** entry + ** 2. Stepping forward in the index pNew->nOut times to find all + ** additional matching entries. + */ if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_IPK) { /* The pProbe->szIdxRow is low for an IPK table since the interior ** pages are small. Thus szIdxRow gives a good estimate of seek cost. @@ -139289,7 +140345,14 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } else { rCostIdx = int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut) + int32(1) + int32(15)*int32((*TIndex)(unsafe.Pointer(pProbe)).FszIdxRow)/int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FszTabRow)) } - (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + rCostIdx = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + /* Estimate the cost of running the loop. If all data is coming + ** from the index, then this is just the cost of doing the index + ** lookup and scan. But if some data is coming out of the main table, + ** we also have to add in the cost of doing pNew->nOut searches to + ** locate the row in the main table that corresponds to the index entry. + */ + (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = rCostIdx if (*TWhereLoop)(unsafe.Pointer(pNew)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IDX_ONLY)|libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_EXPRIDX)) == uint32(0) { (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun, int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut)+int32(16))) } @@ -139394,7 +140457,7 @@ func _indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, if pExpr == uintptr(0) { goto _2 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { + if (int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) || int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_COLUMN)) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { return int32(1) } @@ -139729,7 +140792,7 @@ func _wherePartIdxExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, pPart uintpt if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) != int32(TK_COLUMN) { return } - if !(_sqlite3ExprIsConstant(tls, pRight) != 0) { + if !(_sqlite3ExprIsConstant(tls, uintptr(0), pRight) != 0) { return } if !(_sqlite3IsBinary(tls, _sqlite3ExprCompareCollSeq(tls, pParse, pPart)) != 0) { @@ -140058,7 +141121,7 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in ** unique index is used (making the index functionally non-unique) ** then the sqlite_stat1 data becomes important for scoring the ** plan */ - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) } _sqlite3Stat4ProbeFree(tls, (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec) (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid = 0 @@ -140086,6 +141149,31 @@ func _isLimitTerm(tls *libc.TLS, pTerm uintptr) (r int32) { return libc.BoolInt32(int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= int32(SQLITE_INDEX_CONSTRAINT_LIMIT) && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } +// C documentation +// +// /* +// ** Return true if the first nCons constraints in the pUsage array are +// ** marked as in-use (have argvIndex>0). False otherwise. +// */ +func _allConstraintsUsed(tls *libc.TLS, aUsage uintptr, nCons int32) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < nCons) { + break + } + if (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer(aUsage + uintptr(ii)*8))).FargvIndex <= 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + // C documentation // // /* @@ -140180,7 +141268,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if v3 >= 0 { j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).FiTermOffset if iTerm >= nConstraint || j < 0 || j >= (*TWhereClause)(unsafe.Pointer(pWC)).FnTerm || *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) || int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22433, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22578, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } pTerm1 = (*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(j)*56 @@ -140225,12 +141313,16 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, *(*int32)(unsafe.Pointer(pbIn)) = int32(1) } } - if _isLimitTerm(tls, pTerm1) != 0 && *(*int32)(unsafe.Pointer(pbIn)) != 0 { + /* Unless pbRetryLimit is non-NULL, there should be no LIMIT/OFFSET + ** terms. And if there are any, they should follow all other terms. */ + if _isLimitTerm(tls, pTerm1) != 0 && (*(*int32)(unsafe.Pointer(pbIn)) != 0 || !(_allConstraintsUsed(tls, pUsage, i) != 0)) { /* If there is an IN(...) term handled as an == (separate call to ** xFilter for each value on the RHS of the IN) and a LIMIT or - ** OFFSET term handled as well, the plan is unusable. Set output - ** variable *pbRetryLimit to true to tell the caller to retry with - ** LIMIT and OFFSET disabled. */ + ** OFFSET term handled as well, the plan is unusable. Similarly, + ** if there is a LIMIT/OFFSET and there are other unused terms, + ** the plan cannot be used. In these cases set variable *pbRetryLimit + ** to true to tell the caller to retry with LIMIT and OFFSET + ** disabled. */ if (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr != 0 { Xsqlite3_free(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = uintptr(0) @@ -140255,7 +141347,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { /* The non-zero argvIdx values must be contiguous. Raise an ** error if they are not */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22433, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22578, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } goto _6 @@ -140407,7 +141499,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal pVal = uintptr(0) rc = SQLITE_OK if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { - rc = _sqlite3MisuseError(tls, int32(165251)) /* EV: R-30545-25046 */ + rc = _sqlite3MisuseError(tls, int32(166453)) /* EV: R-30545-25046 */ } else { if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) { pTerm = (*TWhereClause)(unsafe.Pointer((*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC)).Fa + uintptr((*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)*56 @@ -140845,7 +141937,7 @@ func _whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) (r int32) { if rc != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { if rc == int32(SQLITE_DONE) { /* We hit the query planner search limit set by iPlanLimit */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22459, 0) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22604, 0) rc = SQLITE_OK } else { break @@ -141227,7 +142319,7 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } p = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr mTerm = _sqlite3WhereExprUsage(tls, pWInfo+592, p) - if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, p) != 0) { + if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, uintptr(0), p) != 0) { goto _9 } if mTerm & ^orderDistinctMask == uint64(0) { @@ -141637,7 +142729,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) iLoop++ } if nFrom == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22494, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22639, 0) _sqlite3DbFreeNN(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pSpace) return int32(SQLITE_ERROR) } @@ -141686,9 +142778,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) if int32((*TWherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*TExprList)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_ORDERED) } - if (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 && int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr { - (*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = int8((*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr) - } + /* vvv--- See check-in [12ad822d9b827777] on 2023-03-16 ---vvv */ } else { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*TWherePath)(unsafe.Pointer(pFrom)).FrevLoop if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 { @@ -141725,6 +142815,97 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) return SQLITE_OK } +// C documentation +// +// /* +// ** This routine implements a heuristic designed to improve query planning. +// ** This routine is called in between the first and second call to +// ** wherePathSolver(). Hence the name "Interstage" "Heuristic". +// ** +// ** The first call to wherePathSolver() (hereafter just "solver()") computes +// ** the best path without regard to the order of the outputs. The second call +// ** to the solver() builds upon the first call to try to find an alternative +// ** path that satisfies the ORDER BY clause. +// ** +// ** This routine looks at the results of the first solver() run, and for +// ** every FROM clause term in the resulting query plan that uses an equality +// ** constraint against an index, disable other WhereLoops for that same +// ** FROM clause term that would try to do a full-table scan. This prevents +// ** an index search from being converted into a full-table scan in order to +// ** satisfy an ORDER BY clause, since even though we might get slightly better +// ** performance using the full-scan without sorting if the output size +// ** estimates are very precise, we might also get severe performance +// ** degradation using the full-scan if the output size estimate is too large. +// ** It is better to err on the side of caution. +// ** +// ** Except, if the first solver() call generated a full-table scan in an outer +// ** loop then stop this analysis at the first full-scan, since the second +// ** solver() run might try to swap that full-scan for another in order to +// ** get the output into the correct order. In other words, we allow a +// ** rewrite like this: +// ** +// ** First Solver() Second Solver() +// ** |-- SCAN t1 |-- SCAN t2 +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** The purpose of this routine is to disallow rewrites such as: +// ** +// ** First Solver() Second Solver() +// ** |-- SEARCH t1 |-- SCAN t2 <--- bad! +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** See test cases in test/whereN.test for the real-world query that +// ** originally provoked this heuristic. +// */ +func _whereInterstageHeuristic(tls *libc.TLS, pWInfo uintptr) { + var i int32 + var iTab Tu8 + var p, pLoop uintptr + _, _, _, _ = i, iTab, p, pLoop + i = 0 + for { + if !(i < int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnLevel)) { + break + } + p = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(i)*104))).FpWLoop + if p == uintptr(0) { + break + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { + goto _1 + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_NULL)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != uint32(0) { + iTab = (*TWhereLoop)(unsafe.Pointer(p)).FiTab + pLoop = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpLoops + for { + if !(pLoop != 0) { + break + } + if int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab) != int32(iTab) { + goto _2 + } + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_CONSTRAINT)|libc.Int32FromInt32(WHERE_AUTO_INDEX)) != uint32(0) { + /* Auto-index and index-constrained loops allowed to remain */ + goto _2 + } + (*TWhereLoop)(unsafe.Pointer(pLoop)).Fprereq = uint64(-libc.Int32FromInt32(1)) /* Prevent 2nd solver() from using this one */ + goto _2 + _2: + ; + pLoop = (*TWhereLoop)(unsafe.Pointer(pLoop)).FpNextLoop + } + } else { + break + } + goto _1 + _1: + ; + i++ + } +} + // C documentation // // /* @@ -142033,7 +143214,7 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasStat1) == uint32(0) { break } - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) if i >= int32(1) && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&reqFlags == reqFlags && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_INDEXED)) != uint32(0) { if int32(nSearch) > int32((*TTable)(unsafe.Pointer(pTab)).FnRowLogEst) { *(*Tu32)(unsafe.Pointer(pLoop + 48)) |= uint32(WHERE_BLOOMFILTER) @@ -142048,6 +143229,68 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { } } +// C documentation +// +// /* +// ** Expression Node callback for sqlite3ExprCanReturnSubtype(). +// ** +// ** Only a function call is able to return a subtype. So if the node +// ** is not a function call, return WRC_Prune immediately. +// ** +// ** A function call is able to return a subtype if it has the +// ** SQLITE_RESULT_SUBTYPE property. +// ** +// ** Assume that every function is able to pass-through a subtype from +// ** one of its argument (using sqlite3_result_value()). Most functions +// ** are not this way, but we don't have a mechanism to distinguish those +// ** that are from those that are not, so assume they all work this way. +// ** That means that if one of its arguments is another function and that +// ** other function is able to return a subtype, then this function is +// ** able to return a subtype. +// */ +func _exprNodeCanReturnSubtype(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef uintptr + var n, v1 int32 + _, _, _, _ = db, n, pDef, v1 + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_FUNCTION) { + return int32(WRC_Prune) + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { + v1 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr + } else { + v1 = 0 + } + n = v1 + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + return int32(WRC_Prune) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Return TRUE if expression pExpr is able to return a subtype. +// ** +// ** A TRUE return does not guarantee that a subtype will be returned. +// ** It only indicates that a subtype return is possible. False positives +// ** are acceptable as they only disable an optimization. False negatives, +// ** on the other hand, can lead to incorrect answers. +// */ +func _sqlite3ExprCanReturnSubtype(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeCanReturnSubtype) + _sqlite3WalkExpr(tls, bp, pExpr) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) +} + // C documentation // // /* @@ -142062,9 +143305,9 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { // ** references to the corresponding column of the index. // */ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur int32, pTabItem uintptr) { - var db, p, pArg, pDef, pExpr, pTab uintptr - var i, j, n, v2 int32 - _, _, _, _, _, _, _, _, _, _ = db, i, j, n, p, pArg, pDef, pExpr, pTab, v2 + var i, j int32 + var p, pArg, pExpr, pTab uintptr + _, _, _, _, _, _ = i, j, p, pArg, pExpr, pTab pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable i = 0 for { @@ -142081,21 +143324,14 @@ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur i goto _1 } } - if _sqlite3ExprIsConstant(tls, pExpr) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) != 0 { goto _1 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) { - db = (*TParse)(unsafe.Pointer(pParse)).Fdb - if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { - v2 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr - } else { - v2 = 0 - } - n = v2 - pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) - if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { - goto _1 - } + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) && _sqlite3ExprCanReturnSubtype(tls, pParse, pExpr) != 0 { + /* Functions that might set a subtype should not be replaced by the + ** value taken from an expression index since the index omits the + ** subtype. https://sqlite.org/forum/forumpost/68d284c86b082c3e */ + goto _1 } p = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(32)) if p == uintptr(0) { @@ -142267,7 +143503,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** bits in a Bitmask */ if (*TSrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22512, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22657, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) return uintptr(0) } /* This function normally generates a nested loop for all tables in @@ -142339,7 +143575,9 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere if int32(wctrlFlags)&int32(WHERE_WANT_DISTINCT) != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_DistinctOpt)) == uint32(0) { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_UNIQUE) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22540, 0) + if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FselFlags&uint32(SF_MultiValue) == uint32(0) { + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22685, 0) + } } else { /* Assign a bit from the bitmask to every term in the FROM clause. ** @@ -142471,6 +143709,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere goto whereBeginError } if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy != 0 { + _whereInterstageHeuristic(tls, pWInfo) _wherePathSolver(tls, pWInfo, int16(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut)+int32(1))) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto whereBeginError @@ -142779,10 +144018,10 @@ whereBeginError: // ** sqlite3WhereBegin() for additional information. // */ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { - var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, r1, ws, x, v4, v7 int32 - var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr + var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, r1, ws, x, v4, v7 int32 + var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pTabList = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList @@ -142923,6 +144162,12 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { ws = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags) addr = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfPos), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) if ws&int32(WHERE_IDX_ONLY) == 0 { + pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 + if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x20>>5)) != 0 { + n1 = (*TSrcItem)(unsafe.Pointer(pSrc)).FregResult + m = int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FnCol) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, n1, n1+m-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) } if ws&int32(WHERE_INDEXED) != 0 || ws&int32(WHERE_MULTI_OR) != 0 && *(*uintptr)(unsafe.Pointer(&(*TWhereLevel)(unsafe.Pointer(pLevel)).Fu)) != 0 { @@ -143339,7 +144584,7 @@ func _nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) goto error_out error_out: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22558, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22703, -int32(1)) } func _nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { @@ -143521,7 +144766,7 @@ func _ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { if (*TNtileCtx)(unsafe.Pointer(p)).FnTotal == 0 { (*TNtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg))) if (*TNtileCtx)(unsafe.Pointer(p)).FnParam <= 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22614, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22759, -int32(1)) } } (*TNtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -143847,7 +145092,7 @@ func _windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) (r p = (*TWindow)(unsafe.Pointer(p)).FpNextWin } if p == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22659, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22804, libc.VaList(bp+8, zName)) } return p } @@ -143898,12 +145143,12 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin _sqlite3WindowChain(tls, pParse, pWin, pList) } if int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) == int32(TK_RANGE) && ((*TWindow)(unsafe.Pointer(pWin)).FpStart != 0 || (*TWindow)(unsafe.Pointer(pWin)).FpEnd != 0) && ((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*TExprList)(unsafe.Pointer((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != int32(1)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22678, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22823, 0) } else { if (*TFuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TWindow)(unsafe.Pointer(pWin)).FpFilter != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22749, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22894, 0) } else { aUp = [8]struct { FzFunc uintptr @@ -143976,7 +145221,7 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*TWindow)(unsafe.Pointer(pWin)).FeEnd = uint8(aUp[i].FeEnd) (*TWindow)(unsafe.Pointer(pWin)).FeExclude = uint8(0) if int32((*TWindow)(unsafe.Pointer(pWin)).FeStart) == int32(TK_FOLLOWING) { - (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8132) + (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8257) } break } @@ -144258,7 +145503,7 @@ func _disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintpt bp := tls.Alloc(16) defer tls.Free(16) if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_FUNCTION) && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22812, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) + _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22957, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) } return WRC_Continue } @@ -144399,7 +145644,7 @@ func _sqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { ** keep everything legal in this case. */ if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1724)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1784)) } pSub = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(bp)), pSrc, pWhere, pGroupBy, pHaving, pSort, uint32(0), uintptr(0)) (*TSelect)(unsafe.Pointer(p)).FpSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), uintptr(0), uintptr(0)) @@ -144503,7 +145748,7 @@ func _sqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { // ** variable values in the expression tree. // */ func _sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r uintptr) { - if 0 == _sqlite3ExprIsConstant(tls, pExpr) { + if 0 == _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) { if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameExprUnmap(tls, pParse, pExpr) } @@ -144544,7 +145789,7 @@ func _sqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int3 ** frame boundary. */ if eStart == int32(TK_CURRENT) && eEnd == int32(TK_PRECEDING) || eStart == int32(TK_FOLLOWING) && (eEnd == int32(TK_PRECEDING) || eEnd == int32(TK_CURRENT)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22838, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22983, 0) goto windowAllocErr } pWin = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) @@ -144612,18 +145857,18 @@ func _sqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint zErr = uintptr(0) /* Check for errors */ if (*TWindow)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = __ccgo_ts + 22870 + zErr = __ccgo_ts + 23015 } else { if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*TWindow)(unsafe.Pointer(pWin)).FpOrderBy != 0 { - zErr = __ccgo_ts + 22887 + zErr = __ccgo_ts + 23032 } else { if int32((*TWindow)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = __ccgo_ts + 22903 + zErr = __ccgo_ts + 23048 } } } if zErr != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22923, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23068, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) } else { (*TWindow)(unsafe.Pointer(pWin)).FpPartition = _sqlite3ExprListDup(tls, db, (*TWindow)(unsafe.Pointer(pExist)).FpPartition, 0) if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 { @@ -144647,7 +145892,7 @@ func _sqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(libc.Int32FromInt32(EP_WinFunc) | libc.Int32FromInt32(EP_FullSize)) (*TWindow)(unsafe.Pointer(pWin)).FpOwner = p if (*TExpr)(unsafe.Pointer(p)).Fflags&uint32(EP_Distinct) != 0 && int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) != int32(TK_FILTER) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22956, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23101, 0) } } else { _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -144846,7 +146091,7 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regZero) if eCond >= int32(WINDOW_STARTING_NUM) { regString = _sqlite3GetTempReg(tls, pParse) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1650, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1664, -int32(1)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, _sqlite3VdbeCurrentAddr(tls, v)+int32(2), reg) _sqlite3VdbeChangeP5(tls, v, uint16(libc.Int32FromInt32(SQLITE_AFF_NUMERIC)|libc.Int32FromInt32(SQLITE_JUMPIFNULL))) } else { @@ -144865,11 +146110,11 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { } var _azErr = [5]uintptr{ - 0: __ccgo_ts + 23003, - 1: __ccgo_ts + 23056, - 2: __ccgo_ts + 22558, - 3: __ccgo_ts + 23107, - 4: __ccgo_ts + 23159, + 0: __ccgo_ts + 23148, + 1: __ccgo_ts + 23201, + 2: __ccgo_ts + 22703, + 3: __ccgo_ts + 23252, + 4: __ccgo_ts + 23304, } var _aOp1 = [5]int32{ @@ -145621,7 +146866,7 @@ func _windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal ** the add/subtract is skipped for these, as required. If reg1 is a NULL, ** then the arithmetic is performed, but since adding or subtracting from ** NULL is always NULL anyway, this case is handled as required too. */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1650, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1664, -int32(1)) addrGe = _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, 0, reg1) if op == int32(OP_Ge) && arith == int32(OP_Add) || op == int32(OP_Le) && arith == int32(OP_Subtract) { _sqlite3VdbeAddOp3(tls, v, op, reg2, lbl, reg1) @@ -146649,11 +147894,11 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { cnt++ if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*TSelect)(unsafe.Pointer(pLoop)).FpLimit != 0 { if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - v1 = __ccgo_ts + 23209 + v1 = __ccgo_ts + 23354 } else { - v1 = __ccgo_ts + 23218 + v1 = __ccgo_ts + 23363 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23224, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23369, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) break } } @@ -146662,7 +147907,7 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { mxSelect = v2 } if v3 && v2 > 0 && cnt > mxSelect { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23266, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23411, 0) } } } @@ -146682,6 +147927,23 @@ func _attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith u return pSelect } +// C documentation +// +// /* Memory allocator for parser stack resizing. This is a thin wrapper around +// ** sqlite3_realloc() that includes a call to sqlite3FaultSim() to facilitate +// ** testing. +// */ +func _parserStackRealloc(tls *libc.TLS, pOld uintptr, newSize Tsqlite3_uint64) (r uintptr) { + var v1 uintptr + _ = v1 + if _sqlite3FaultSim(tls, int32(700)) != 0 { + v1 = uintptr(0) + } else { + v1 = Xsqlite3_realloc(tls, pOld, int32(newSize)) + } + return v1 +} + // C documentation // // /* Construct a new Expr object from a single token */ @@ -146751,7 +148013,7 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId _ = p p = _sqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if (hasCollate != 0 || sortOrder != -int32(1)) && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23300, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23445, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) } _sqlite3ExprListSetName(tls, pParse, p, pIdToken, int32(1)) return p @@ -146801,6 +148063,9 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser // ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser // ** sqlite3ParserCTX_* As sqlite3ParserARG_ except for %extra_context +// ** YYREALLOC Name of the realloc() function to use +// ** YYFREE Name of the free() function to use +// ** YYDYNSTACK True if stack space should be extended on heap // ** YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** YYNSTATE the combined number of states. @@ -146814,31 +148079,33 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** YY_NO_ACTION The yy_action[] code for no-op // ** YY_MIN_REDUCE Minimum value for reduce actions // ** YY_MAX_REDUCE Maximum value for reduce actions +// ** YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type TYYMINORTYPE = struct { Fyy0 [0]TToken - Fyy33 [0]uintptr - Fyy41 [0]uintptr - Fyy47 [0]uintptr - Fyy131 [0]uintptr - Fyy180 [0]TTrigEvent - Fyy231 [0]struct { + Fyy14 [0]uintptr + Fyy59 [0]uintptr + Fyy67 [0]uintptr + Fyy122 [0]uintptr + Fyy132 [0]uintptr + Fyy144 [0]int32 + Fyy168 [0]uintptr + Fyy203 [0]uintptr + Fyy211 [0]uintptr + Fyy269 [0]TOnOrUsing + Fyy286 [0]TTrigEvent + Fyy383 [0]struct { Fvalue int32 Fmask int32 } - Fyy254 [0]uintptr - Fyy285 [0]Tu32 - Fyy322 [0]uintptr - Fyy385 [0]uintptr - Fyy394 [0]int32 - Fyy444 [0]uintptr - Fyy516 [0]Tu8 - Fyy521 [0]uintptr - Fyy522 [0]uintptr - Fyy528 [0]uintptr - Fyy561 [0]TOnOrUsing - Fyy595 [0]TFrameBound + Fyy391 [0]Tu32 + Fyy427 [0]uintptr + Fyy454 [0]uintptr + Fyy462 [0]Tu8 + Fyy509 [0]TFrameBound + Fyy555 [0]uintptr Fyyinit int32 F__ccgo_pad20 [12]byte } @@ -146856,6 +148123,13 @@ type YYMINORTYPE = TYYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -146908,2152 +148182,2194 @@ type YYMINORTYPE = TYYMINORTYPE // ** yy_default[] Default action for each state. // ** // *********** Begin parsing tables **********************************************/ -var _yy_action = [2100]uint16{ - 0: uint16(572), - 1: uint16(210), - 2: uint16(572), - 3: uint16(119), - 4: uint16(116), - 5: uint16(231), - 6: uint16(572), - 7: uint16(119), - 8: uint16(116), - 9: uint16(231), - 10: uint16(572), - 11: uint16(1317), - 12: uint16(379), - 13: uint16(1296), - 14: uint16(410), - 15: uint16(566), - 16: uint16(566), - 17: uint16(566), - 18: uint16(572), - 19: uint16(411), - 20: uint16(380), - 21: uint16(1317), - 22: uint16(1279), - 23: uint16(42), - 24: uint16(42), - 25: uint16(42), - 26: uint16(42), - 27: uint16(210), - 28: uint16(1529), - 29: uint16(72), - 30: uint16(72), - 31: uint16(974), - 32: uint16(421), - 33: uint16(42), - 34: uint16(42), - 35: uint16(495), - 36: uint16(305), - 37: uint16(281), - 38: uint16(305), - 39: uint16(975), - 40: uint16(399), - 41: uint16(72), - 42: uint16(72), - 43: uint16(126), - 44: uint16(127), - 45: uint16(81), - 46: uint16(1217), - 47: uint16(1217), - 48: uint16(1054), - 49: uint16(1057), - 50: uint16(1044), - 51: uint16(1044), - 52: uint16(124), - 53: uint16(124), - 54: uint16(125), - 55: uint16(125), - 56: uint16(125), - 57: uint16(125), - 58: uint16(480), - 59: uint16(411), - 60: uint16(1244), - 61: uint16(1), - 62: uint16(1), - 63: uint16(578), - 64: uint16(2), - 65: uint16(1248), - 66: uint16(554), - 67: uint16(119), - 68: uint16(116), - 69: uint16(231), - 70: uint16(319), - 71: uint16(484), - 72: uint16(147), - 73: uint16(484), - 74: uint16(528), - 75: uint16(119), - 76: uint16(116), - 77: uint16(231), - 78: uint16(533), - 79: uint16(1330), - 80: uint16(419), - 81: uint16(527), - 82: uint16(143), - 83: uint16(126), - 84: uint16(127), - 85: uint16(81), - 86: uint16(1217), - 87: uint16(1217), - 88: uint16(1054), - 89: uint16(1057), - 90: uint16(1044), - 91: uint16(1044), - 92: uint16(124), - 93: uint16(124), - 94: uint16(125), - 95: uint16(125), - 96: uint16(125), - 97: uint16(125), - 98: uint16(119), - 99: uint16(116), - 100: uint16(231), - 101: uint16(329), - 102: uint16(123), - 103: uint16(123), - 104: uint16(123), - 105: uint16(123), - 106: uint16(122), - 107: uint16(122), - 108: uint16(121), - 109: uint16(121), - 110: uint16(121), - 111: uint16(120), - 112: uint16(117), - 113: uint16(448), - 114: uint16(286), - 115: uint16(286), - 116: uint16(286), - 117: uint16(286), - 118: uint16(446), - 119: uint16(446), - 120: uint16(446), - 121: uint16(1568), - 122: uint16(378), - 123: uint16(1570), - 124: uint16(1193), - 125: uint16(377), - 126: uint16(1164), - 127: uint16(569), - 128: uint16(1164), - 129: uint16(569), - 130: uint16(411), - 131: uint16(1568), - 132: uint16(541), - 133: uint16(261), - 134: uint16(228), - 135: uint16(448), - 136: uint16(102), - 137: uint16(146), - 138: uint16(453), - 139: uint16(318), - 140: uint16(563), - 141: uint16(242), - 142: uint16(123), - 143: uint16(123), - 144: uint16(123), - 145: uint16(123), - 146: uint16(122), - 147: uint16(122), - 148: uint16(121), - 149: uint16(121), - 150: uint16(121), - 151: uint16(120), - 152: uint16(117), - 153: uint16(448), - 154: uint16(126), - 155: uint16(127), - 156: uint16(81), - 157: uint16(1217), - 158: uint16(1217), - 159: uint16(1054), - 160: uint16(1057), - 161: uint16(1044), - 162: uint16(1044), - 163: uint16(124), - 164: uint16(124), - 165: uint16(125), - 166: uint16(125), - 167: uint16(125), - 168: uint16(125), - 169: uint16(143), - 170: uint16(296), - 171: uint16(1193), - 172: uint16(341), - 173: uint16(452), - 174: uint16(121), - 175: uint16(121), - 176: uint16(121), - 177: uint16(120), - 178: uint16(117), - 179: uint16(448), - 180: uint16(128), - 181: uint16(1193), - 182: uint16(1194), - 183: uint16(1193), - 184: uint16(149), - 185: uint16(445), - 186: uint16(444), - 187: uint16(572), - 188: uint16(120), - 189: uint16(117), - 190: uint16(448), - 191: uint16(125), - 192: uint16(125), - 193: uint16(125), - 194: uint16(125), - 195: uint16(118), - 196: uint16(123), - 197: uint16(123), - 198: uint16(123), - 199: uint16(123), - 200: uint16(122), - 201: uint16(122), - 202: uint16(121), - 203: uint16(121), - 204: uint16(121), - 205: uint16(120), - 206: uint16(117), - 207: uint16(448), - 208: uint16(458), - 209: uint16(114), - 210: uint16(13), - 211: uint16(13), - 212: uint16(550), - 213: uint16(123), - 214: uint16(123), - 215: uint16(123), - 216: uint16(123), - 217: uint16(122), - 218: uint16(122), - 219: uint16(121), - 220: uint16(121), - 221: uint16(121), - 222: uint16(120), - 223: uint16(117), - 224: uint16(448), - 225: uint16(424), - 226: uint16(318), - 227: uint16(563), - 228: uint16(1193), - 229: uint16(1194), - 230: uint16(1193), - 231: uint16(150), - 232: uint16(1225), - 233: uint16(411), - 234: uint16(1225), - 235: uint16(125), - 236: uint16(125), - 237: uint16(125), - 238: uint16(125), - 239: uint16(123), - 240: uint16(123), - 241: uint16(123), - 242: uint16(123), - 243: uint16(122), - 244: uint16(122), - 245: uint16(121), - 246: uint16(121), - 247: uint16(121), - 248: uint16(120), - 249: uint16(117), - 250: uint16(448), - 251: uint16(469), - 252: uint16(344), - 253: uint16(1041), - 254: uint16(1041), - 255: uint16(1055), - 256: uint16(1058), - 257: uint16(126), - 258: uint16(127), - 259: uint16(81), - 260: uint16(1217), - 261: uint16(1217), - 262: uint16(1054), - 263: uint16(1057), - 264: uint16(1044), - 265: uint16(1044), - 266: uint16(124), - 267: uint16(124), - 268: uint16(125), - 269: uint16(125), - 270: uint16(125), - 271: uint16(125), - 272: uint16(1282), - 273: uint16(526), - 274: uint16(224), - 275: uint16(1193), - 276: uint16(572), - 277: uint16(411), - 278: uint16(226), - 279: uint16(519), - 280: uint16(177), - 281: uint16(83), - 282: uint16(84), - 283: uint16(123), - 284: uint16(123), - 285: uint16(123), - 286: uint16(123), - 287: uint16(122), - 288: uint16(122), - 289: uint16(121), - 290: uint16(121), - 291: uint16(121), - 292: uint16(120), - 293: uint16(117), - 294: uint16(448), - 295: uint16(1010), - 296: uint16(16), - 297: uint16(16), - 298: uint16(1193), - 299: uint16(134), - 300: uint16(134), - 301: uint16(126), - 302: uint16(127), - 303: uint16(81), - 304: uint16(1217), - 305: uint16(1217), - 306: uint16(1054), - 307: uint16(1057), - 308: uint16(1044), - 309: uint16(1044), - 310: uint16(124), - 311: uint16(124), - 312: uint16(125), - 313: uint16(125), - 314: uint16(125), - 315: uint16(125), - 316: uint16(123), - 317: uint16(123), - 318: uint16(123), - 319: uint16(123), - 320: uint16(122), - 321: uint16(122), - 322: uint16(121), - 323: uint16(121), - 324: uint16(121), - 325: uint16(120), - 326: uint16(117), - 327: uint16(448), - 328: uint16(1045), - 329: uint16(550), - 330: uint16(1193), - 331: uint16(375), - 332: uint16(1193), - 333: uint16(1194), - 334: uint16(1193), - 335: uint16(254), - 336: uint16(1438), - 337: uint16(401), - 338: uint16(508), - 339: uint16(505), - 340: uint16(504), - 341: uint16(112), - 342: uint16(564), - 343: uint16(570), +var _yy_action = [2142]uint16{ + 0: uint16(576), + 1: uint16(128), + 2: uint16(125), + 3: uint16(232), + 4: uint16(1622), + 5: uint16(549), + 6: uint16(576), + 7: uint16(1290), + 8: uint16(1281), + 9: uint16(576), + 10: uint16(328), + 11: uint16(576), + 12: uint16(1300), + 13: uint16(212), + 14: uint16(576), + 15: uint16(128), + 16: uint16(125), + 17: uint16(232), + 18: uint16(578), + 19: uint16(412), + 20: uint16(578), + 21: uint16(391), + 22: uint16(1542), + 23: uint16(51), + 24: uint16(51), + 25: uint16(523), + 26: uint16(405), + 27: uint16(1293), + 28: uint16(529), + 29: uint16(51), + 30: uint16(51), + 31: uint16(983), + 32: uint16(51), + 33: uint16(51), + 34: uint16(81), + 35: uint16(81), + 36: uint16(1107), + 37: uint16(61), + 38: uint16(61), + 39: uint16(984), + 40: uint16(1107), + 41: uint16(1292), + 42: uint16(380), + 43: uint16(135), + 44: uint16(136), + 45: uint16(90), + 46: uint16(1228), + 47: uint16(1228), + 48: uint16(1063), + 49: uint16(1066), + 50: uint16(1053), + 51: uint16(1053), + 52: uint16(133), + 53: uint16(133), + 54: uint16(134), + 55: uint16(134), + 56: uint16(134), + 57: uint16(134), + 58: uint16(1577), + 59: uint16(412), + 60: uint16(287), + 61: uint16(287), + 62: uint16(7), + 63: uint16(287), + 64: uint16(287), + 65: uint16(422), + 66: uint16(1050), + 67: uint16(1050), + 68: uint16(1064), + 69: uint16(1067), + 70: uint16(289), + 71: uint16(556), + 72: uint16(492), + 73: uint16(573), + 74: uint16(524), + 75: uint16(561), + 76: uint16(573), + 77: uint16(497), + 78: uint16(561), + 79: uint16(482), + 80: uint16(530), + 81: uint16(262), + 82: uint16(229), + 83: uint16(135), + 84: uint16(136), + 85: uint16(90), + 86: uint16(1228), + 87: uint16(1228), + 88: uint16(1063), + 89: uint16(1066), + 90: uint16(1053), + 91: uint16(1053), + 92: uint16(133), + 93: uint16(133), + 94: uint16(134), + 95: uint16(134), + 96: uint16(134), + 97: uint16(134), + 98: uint16(128), + 99: uint16(125), + 100: uint16(232), + 101: uint16(1506), + 102: uint16(132), + 103: uint16(132), + 104: uint16(132), + 105: uint16(132), + 106: uint16(131), + 107: uint16(131), + 108: uint16(130), + 109: uint16(130), + 110: uint16(130), + 111: uint16(129), + 112: uint16(126), + 113: uint16(450), + 114: uint16(1204), + 115: uint16(1255), + 116: uint16(1), + 117: uint16(1), + 118: uint16(582), + 119: uint16(2), + 120: uint16(1259), + 121: uint16(1571), + 122: uint16(420), + 123: uint16(1582), + 124: uint16(379), + 125: uint16(320), + 126: uint16(1174), + 127: uint16(153), + 128: uint16(1174), + 129: uint16(1584), + 130: uint16(412), + 131: uint16(378), + 132: uint16(1582), + 133: uint16(543), + 134: uint16(1341), + 135: uint16(330), + 136: uint16(111), + 137: uint16(570), + 138: uint16(570), + 139: uint16(570), + 140: uint16(293), + 141: uint16(1054), + 142: uint16(132), + 143: uint16(132), + 144: uint16(132), + 145: uint16(132), + 146: uint16(131), + 147: uint16(131), + 148: uint16(130), + 149: uint16(130), + 150: uint16(130), + 151: uint16(129), + 152: uint16(126), + 153: uint16(450), + 154: uint16(135), + 155: uint16(136), + 156: uint16(90), + 157: uint16(1228), + 158: uint16(1228), + 159: uint16(1063), + 160: uint16(1066), + 161: uint16(1053), + 162: uint16(1053), + 163: uint16(133), + 164: uint16(133), + 165: uint16(134), + 166: uint16(134), + 167: uint16(134), + 168: uint16(134), + 169: uint16(287), + 170: uint16(287), + 171: uint16(1204), + 172: uint16(1205), + 173: uint16(1204), + 174: uint16(255), + 175: uint16(287), + 176: uint16(287), + 177: uint16(510), + 178: uint16(507), + 179: uint16(506), + 180: uint16(137), + 181: uint16(455), + 182: uint16(573), + 183: uint16(212), + 184: uint16(561), + 185: uint16(447), + 186: uint16(446), + 187: uint16(505), + 188: uint16(573), + 189: uint16(1616), + 190: uint16(561), + 191: uint16(134), + 192: uint16(134), + 193: uint16(134), + 194: uint16(134), + 195: uint16(127), + 196: uint16(400), + 197: uint16(243), + 198: uint16(132), + 199: uint16(132), + 200: uint16(132), + 201: uint16(132), + 202: uint16(131), + 203: uint16(131), + 204: uint16(130), + 205: uint16(130), + 206: uint16(130), + 207: uint16(129), + 208: uint16(126), + 209: uint16(450), + 210: uint16(282), + 211: uint16(471), + 212: uint16(345), + 213: uint16(132), + 214: uint16(132), + 215: uint16(132), + 216: uint16(132), + 217: uint16(131), + 218: uint16(131), + 219: uint16(130), + 220: uint16(130), + 221: uint16(130), + 222: uint16(129), + 223: uint16(126), + 224: uint16(450), + 225: uint16(574), + 226: uint16(155), + 227: uint16(936), + 228: uint16(936), + 229: uint16(454), + 230: uint16(227), + 231: uint16(521), + 232: uint16(1236), + 233: uint16(412), + 234: uint16(1236), + 235: uint16(134), + 236: uint16(134), + 237: uint16(134), + 238: uint16(134), + 239: uint16(132), + 240: uint16(132), + 241: uint16(132), + 242: uint16(132), + 243: uint16(131), + 244: uint16(131), + 245: uint16(130), + 246: uint16(130), + 247: uint16(130), + 248: uint16(129), + 249: uint16(126), + 250: uint16(450), + 251: uint16(130), + 252: uint16(130), + 253: uint16(130), + 254: uint16(129), + 255: uint16(126), + 256: uint16(450), + 257: uint16(135), + 258: uint16(136), + 259: uint16(90), + 260: uint16(1228), + 261: uint16(1228), + 262: uint16(1063), + 263: uint16(1066), + 264: uint16(1053), + 265: uint16(1053), + 266: uint16(133), + 267: uint16(133), + 268: uint16(134), + 269: uint16(134), + 270: uint16(134), + 271: uint16(134), + 272: uint16(128), + 273: uint16(125), + 274: uint16(232), + 275: uint16(450), + 276: uint16(576), + 277: uint16(412), + 278: uint16(397), + 279: uint16(1249), + 280: uint16(180), + 281: uint16(92), + 282: uint16(93), + 283: uint16(132), + 284: uint16(132), + 285: uint16(132), + 286: uint16(132), + 287: uint16(131), + 288: uint16(131), + 289: uint16(130), + 290: uint16(130), + 291: uint16(130), + 292: uint16(129), + 293: uint16(126), + 294: uint16(450), + 295: uint16(381), + 296: uint16(387), + 297: uint16(1204), + 298: uint16(383), + 299: uint16(81), + 300: uint16(81), + 301: uint16(135), + 302: uint16(136), + 303: uint16(90), + 304: uint16(1228), + 305: uint16(1228), + 306: uint16(1063), + 307: uint16(1066), + 308: uint16(1053), + 309: uint16(1053), + 310: uint16(133), + 311: uint16(133), + 312: uint16(134), + 313: uint16(134), + 314: uint16(134), + 315: uint16(134), + 316: uint16(132), + 317: uint16(132), + 318: uint16(132), + 319: uint16(132), + 320: uint16(131), + 321: uint16(131), + 322: uint16(130), + 323: uint16(130), + 324: uint16(130), + 325: uint16(129), + 326: uint16(126), + 327: uint16(450), + 328: uint16(131), + 329: uint16(131), + 330: uint16(130), + 331: uint16(130), + 332: uint16(130), + 333: uint16(129), + 334: uint16(126), + 335: uint16(450), + 336: uint16(556), + 337: uint16(1204), + 338: uint16(302), + 339: uint16(319), + 340: uint16(567), + 341: uint16(121), + 342: uint16(568), + 343: uint16(480), 344: uint16(4), - 345: uint16(929), - 346: uint16(929), - 347: uint16(435), - 348: uint16(503), - 349: uint16(342), - 350: uint16(464), - 351: uint16(330), - 352: uint16(362), - 353: uint16(396), - 354: uint16(1238), - 355: uint16(1193), - 356: uint16(1194), - 357: uint16(1193), - 358: uint16(567), - 359: uint16(572), - 360: uint16(123), - 361: uint16(123), - 362: uint16(123), - 363: uint16(123), - 364: uint16(122), - 365: uint16(122), - 366: uint16(121), - 367: uint16(121), - 368: uint16(121), - 369: uint16(120), - 370: uint16(117), - 371: uint16(448), - 372: uint16(286), - 373: uint16(286), - 374: uint16(371), - 375: uint16(1581), - 376: uint16(1607), - 377: uint16(445), - 378: uint16(444), - 379: uint16(155), - 380: uint16(411), - 381: uint16(449), - 382: uint16(72), - 383: uint16(72), - 384: uint16(1289), - 385: uint16(569), - 386: uint16(1222), - 387: uint16(1193), - 388: uint16(1194), - 389: uint16(1193), - 390: uint16(86), - 391: uint16(1224), - 392: uint16(273), - 393: uint16(561), - 394: uint16(547), - 395: uint16(520), - 396: uint16(520), - 397: uint16(572), - 398: uint16(99), - 399: uint16(1223), - 400: uint16(6), - 401: uint16(1281), - 402: uint16(476), - 403: uint16(143), - 404: uint16(126), - 405: uint16(127), - 406: uint16(81), - 407: uint16(1217), - 408: uint16(1217), - 409: uint16(1054), - 410: uint16(1057), - 411: uint16(1044), - 412: uint16(1044), - 413: uint16(124), - 414: uint16(124), - 415: uint16(125), - 416: uint16(125), - 417: uint16(125), - 418: uint16(125), - 419: uint16(554), - 420: uint16(13), - 421: uint16(13), - 422: uint16(1031), - 423: uint16(511), - 424: uint16(1225), - 425: uint16(1193), - 426: uint16(1225), - 427: uint16(553), - 428: uint16(110), - 429: uint16(110), - 430: uint16(224), - 431: uint16(572), - 432: uint16(1239), - 433: uint16(177), - 434: uint16(572), - 435: uint16(429), - 436: uint16(111), - 437: uint16(199), - 438: uint16(449), - 439: uint16(573), - 440: uint16(449), - 441: uint16(432), - 442: uint16(1555), - 443: uint16(1019), - 444: uint16(327), - 445: uint16(555), - 446: uint16(1193), - 447: uint16(272), - 448: uint16(289), - 449: uint16(370), - 450: uint16(514), - 451: uint16(365), - 452: uint16(513), - 453: uint16(259), - 454: uint16(72), - 455: uint16(72), - 456: uint16(547), - 457: uint16(72), - 458: uint16(72), - 459: uint16(361), - 460: uint16(318), - 461: uint16(563), - 462: uint16(1613), - 463: uint16(123), - 464: uint16(123), - 465: uint16(123), - 466: uint16(123), - 467: uint16(122), - 468: uint16(122), - 469: uint16(121), - 470: uint16(121), - 471: uint16(121), - 472: uint16(120), - 473: uint16(117), - 474: uint16(448), - 475: uint16(1019), - 476: uint16(1019), - 477: uint16(1021), - 478: uint16(1022), - 479: uint16(28), - 480: uint16(286), - 481: uint16(286), - 482: uint16(1193), - 483: uint16(1194), - 484: uint16(1193), - 485: uint16(1159), - 486: uint16(572), - 487: uint16(1612), - 488: uint16(411), - 489: uint16(904), - 490: uint16(192), - 491: uint16(554), - 492: uint16(358), - 493: uint16(569), - 494: uint16(554), - 495: uint16(940), - 496: uint16(537), - 497: uint16(521), - 498: uint16(1159), - 499: uint16(437), - 500: uint16(415), - 501: uint16(1159), - 502: uint16(556), - 503: uint16(1193), - 504: uint16(1194), - 505: uint16(1193), - 506: uint16(572), - 507: uint16(548), - 508: uint16(548), - 509: uint16(52), - 510: uint16(52), - 511: uint16(216), - 512: uint16(126), - 513: uint16(127), - 514: uint16(81), - 515: uint16(1217), - 516: uint16(1217), - 517: uint16(1054), - 518: uint16(1057), - 519: uint16(1044), - 520: uint16(1044), - 521: uint16(124), - 522: uint16(124), - 523: uint16(125), - 524: uint16(125), - 525: uint16(125), - 526: uint16(125), - 527: uint16(1193), - 528: uint16(478), - 529: uint16(136), - 530: uint16(136), - 531: uint16(411), - 532: uint16(286), - 533: uint16(286), - 534: uint16(1493), - 535: uint16(509), - 536: uint16(122), - 537: uint16(122), - 538: uint16(121), - 539: uint16(121), - 540: uint16(121), - 541: uint16(120), - 542: uint16(117), - 543: uint16(448), - 544: uint16(1010), - 545: uint16(569), - 546: uint16(522), - 547: uint16(219), - 548: uint16(545), - 549: uint16(545), - 550: uint16(318), - 551: uint16(563), - 552: uint16(143), - 553: uint16(6), - 554: uint16(536), - 555: uint16(126), - 556: uint16(127), - 557: uint16(81), - 558: uint16(1217), - 559: uint16(1217), - 560: uint16(1054), - 561: uint16(1057), - 562: uint16(1044), - 563: uint16(1044), - 564: uint16(124), - 565: uint16(124), - 566: uint16(125), - 567: uint16(125), - 568: uint16(125), - 569: uint16(125), - 570: uint16(1557), - 571: uint16(123), - 572: uint16(123), - 573: uint16(123), - 574: uint16(123), - 575: uint16(122), - 576: uint16(122), - 577: uint16(121), - 578: uint16(121), - 579: uint16(121), - 580: uint16(120), - 581: uint16(117), - 582: uint16(448), - 583: uint16(489), - 584: uint16(1193), - 585: uint16(1194), - 586: uint16(1193), - 587: uint16(486), - 588: uint16(283), - 589: uint16(1270), - 590: uint16(960), - 591: uint16(254), - 592: uint16(1193), - 593: uint16(375), - 594: uint16(508), - 595: uint16(505), - 596: uint16(504), - 597: uint16(1193), - 598: uint16(342), - 599: uint16(574), - 600: uint16(1193), - 601: uint16(574), - 602: uint16(411), - 603: uint16(294), - 604: uint16(503), - 605: uint16(960), - 606: uint16(879), - 607: uint16(193), - 608: uint16(484), - 609: uint16(318), - 610: uint16(563), - 611: uint16(386), - 612: uint16(292), - 613: uint16(382), - 614: uint16(123), - 615: uint16(123), - 616: uint16(123), - 617: uint16(123), - 618: uint16(122), - 619: uint16(122), - 620: uint16(121), - 621: uint16(121), - 622: uint16(121), - 623: uint16(120), - 624: uint16(117), - 625: uint16(448), - 626: uint16(126), - 627: uint16(127), - 628: uint16(81), - 629: uint16(1217), - 630: uint16(1217), - 631: uint16(1054), - 632: uint16(1057), - 633: uint16(1044), - 634: uint16(1044), - 635: uint16(124), - 636: uint16(124), - 637: uint16(125), - 638: uint16(125), - 639: uint16(125), - 640: uint16(125), - 641: uint16(411), - 642: uint16(396), - 643: uint16(1139), - 644: uint16(1193), - 645: uint16(872), - 646: uint16(101), - 647: uint16(286), - 648: uint16(286), - 649: uint16(1193), - 650: uint16(1194), - 651: uint16(1193), - 652: uint16(375), - 653: uint16(1096), - 654: uint16(1193), - 655: uint16(1194), - 656: uint16(1193), - 657: uint16(1193), - 658: uint16(1194), - 659: uint16(1193), - 660: uint16(569), - 661: uint16(459), - 662: uint16(33), - 663: uint16(375), - 664: uint16(235), - 665: uint16(126), - 666: uint16(127), - 667: uint16(81), - 668: uint16(1217), - 669: uint16(1217), - 670: uint16(1054), - 671: uint16(1057), - 672: uint16(1044), - 673: uint16(1044), - 674: uint16(124), - 675: uint16(124), - 676: uint16(125), - 677: uint16(125), - 678: uint16(125), - 679: uint16(125), - 680: uint16(1437), - 681: uint16(962), - 682: uint16(572), - 683: uint16(230), - 684: uint16(961), - 685: uint16(123), - 686: uint16(123), - 687: uint16(123), - 688: uint16(123), - 689: uint16(122), - 690: uint16(122), - 691: uint16(121), - 692: uint16(121), - 693: uint16(121), - 694: uint16(120), - 695: uint16(117), - 696: uint16(448), - 697: uint16(1159), - 698: uint16(230), - 699: uint16(1193), - 700: uint16(158), - 701: uint16(1193), - 702: uint16(1194), - 703: uint16(1193), - 704: uint16(1556), - 705: uint16(13), - 706: uint16(13), - 707: uint16(303), - 708: uint16(960), - 709: uint16(1233), - 710: uint16(1159), - 711: uint16(154), - 712: uint16(411), - 713: uint16(1159), - 714: uint16(375), - 715: uint16(1584), - 716: uint16(1177), - 717: uint16(5), - 718: uint16(371), - 719: uint16(1581), - 720: uint16(431), - 721: uint16(1239), - 722: uint16(3), - 723: uint16(960), - 724: uint16(123), - 725: uint16(123), - 726: uint16(123), - 727: uint16(123), - 728: uint16(122), - 729: uint16(122), - 730: uint16(121), - 731: uint16(121), - 732: uint16(121), - 733: uint16(120), - 734: uint16(117), - 735: uint16(448), - 736: uint16(126), - 737: uint16(127), - 738: uint16(81), - 739: uint16(1217), - 740: uint16(1217), - 741: uint16(1054), - 742: uint16(1057), - 743: uint16(1044), - 744: uint16(1044), - 745: uint16(124), - 746: uint16(124), - 747: uint16(125), - 748: uint16(125), - 749: uint16(125), - 750: uint16(125), - 751: uint16(411), - 752: uint16(210), - 753: uint16(571), - 754: uint16(1193), - 755: uint16(1032), - 756: uint16(1193), - 757: uint16(1194), - 758: uint16(1193), - 759: uint16(1193), - 760: uint16(390), - 761: uint16(855), - 762: uint16(156), - 763: uint16(1555), - 764: uint16(376), - 765: uint16(404), - 766: uint16(1101), - 767: uint16(1101), - 768: uint16(492), - 769: uint16(572), - 770: uint16(469), - 771: uint16(344), - 772: uint16(1322), - 773: uint16(1322), - 774: uint16(1555), - 775: uint16(126), - 776: uint16(127), - 777: uint16(81), - 778: uint16(1217), - 779: uint16(1217), - 780: uint16(1054), - 781: uint16(1057), - 782: uint16(1044), - 783: uint16(1044), - 784: uint16(124), - 785: uint16(124), - 786: uint16(125), - 787: uint16(125), - 788: uint16(125), - 789: uint16(125), - 790: uint16(130), - 791: uint16(572), - 792: uint16(13), - 793: uint16(13), - 794: uint16(532), - 795: uint16(123), - 796: uint16(123), - 797: uint16(123), - 798: uint16(123), - 799: uint16(122), - 800: uint16(122), - 801: uint16(121), - 802: uint16(121), - 803: uint16(121), - 804: uint16(120), - 805: uint16(117), - 806: uint16(448), - 807: uint16(304), - 808: uint16(572), - 809: uint16(457), - 810: uint16(229), - 811: uint16(1193), - 812: uint16(1194), - 813: uint16(1193), - 814: uint16(13), - 815: uint16(13), - 816: uint16(1193), - 817: uint16(1194), - 818: uint16(1193), - 819: uint16(1300), - 820: uint16(467), - 821: uint16(1270), - 822: uint16(411), - 823: uint16(1320), - 824: uint16(1320), - 825: uint16(1555), - 826: uint16(1015), - 827: uint16(457), - 828: uint16(456), - 829: uint16(436), - 830: uint16(301), - 831: uint16(72), - 832: uint16(72), - 833: uint16(1268), - 834: uint16(123), - 835: uint16(123), - 836: uint16(123), - 837: uint16(123), - 838: uint16(122), - 839: uint16(122), - 840: uint16(121), - 841: uint16(121), - 842: uint16(121), - 843: uint16(120), - 844: uint16(117), - 845: uint16(448), - 846: uint16(126), - 847: uint16(127), - 848: uint16(81), - 849: uint16(1217), - 850: uint16(1217), - 851: uint16(1054), - 852: uint16(1057), - 853: uint16(1044), - 854: uint16(1044), - 855: uint16(124), - 856: uint16(124), - 857: uint16(125), - 858: uint16(125), - 859: uint16(125), - 860: uint16(125), - 861: uint16(411), - 862: uint16(384), - 863: uint16(1076), - 864: uint16(1159), - 865: uint16(286), - 866: uint16(286), - 867: uint16(421), - 868: uint16(314), - 869: uint16(280), - 870: uint16(280), - 871: uint16(287), - 872: uint16(287), - 873: uint16(461), - 874: uint16(408), - 875: uint16(407), - 876: uint16(1539), - 877: uint16(1159), - 878: uint16(569), - 879: uint16(572), - 880: uint16(1159), - 881: uint16(1196), - 882: uint16(569), - 883: uint16(409), - 884: uint16(569), - 885: uint16(126), - 886: uint16(127), - 887: uint16(81), - 888: uint16(1217), - 889: uint16(1217), - 890: uint16(1054), - 891: uint16(1057), - 892: uint16(1044), - 893: uint16(1044), - 894: uint16(124), - 895: uint16(124), - 896: uint16(125), - 897: uint16(125), - 898: uint16(125), - 899: uint16(125), - 900: uint16(457), - 901: uint16(1485), - 902: uint16(13), - 903: uint16(13), - 904: uint16(1541), - 905: uint16(123), - 906: uint16(123), - 907: uint16(123), - 908: uint16(123), - 909: uint16(122), - 910: uint16(122), - 911: uint16(121), - 912: uint16(121), - 913: uint16(121), - 914: uint16(120), - 915: uint16(117), - 916: uint16(448), - 917: uint16(202), - 918: uint16(572), - 919: uint16(462), - 920: uint16(1587), - 921: uint16(578), - 922: uint16(2), - 923: uint16(1248), - 924: uint16(843), - 925: uint16(844), - 926: uint16(845), - 927: uint16(1563), - 928: uint16(319), - 929: uint16(409), - 930: uint16(147), - 931: uint16(6), - 932: uint16(411), - 933: uint16(257), - 934: uint16(256), - 935: uint16(255), - 936: uint16(208), - 937: uint16(1330), - 938: uint16(9), - 939: uint16(1196), - 940: uint16(264), - 941: uint16(72), - 942: uint16(72), - 943: uint16(1436), - 944: uint16(123), - 945: uint16(123), - 946: uint16(123), - 947: uint16(123), - 948: uint16(122), - 949: uint16(122), - 950: uint16(121), - 951: uint16(121), - 952: uint16(121), - 953: uint16(120), - 954: uint16(117), - 955: uint16(448), - 956: uint16(126), - 957: uint16(127), - 958: uint16(81), - 959: uint16(1217), - 960: uint16(1217), - 961: uint16(1054), - 962: uint16(1057), - 963: uint16(1044), - 964: uint16(1044), - 965: uint16(124), - 966: uint16(124), - 967: uint16(125), - 968: uint16(125), - 969: uint16(125), - 970: uint16(125), - 971: uint16(572), - 972: uint16(286), - 973: uint16(286), - 974: uint16(572), - 975: uint16(1213), - 976: uint16(411), - 977: uint16(577), - 978: uint16(315), - 979: uint16(1248), - 980: uint16(421), - 981: uint16(371), - 982: uint16(1581), - 983: uint16(356), - 984: uint16(319), - 985: uint16(569), - 986: uint16(147), - 987: uint16(495), - 988: uint16(529), - 989: uint16(1644), - 990: uint16(397), - 991: uint16(935), - 992: uint16(495), - 993: uint16(1330), - 994: uint16(71), - 995: uint16(71), - 996: uint16(934), - 997: uint16(72), - 998: uint16(72), - 999: uint16(242), - 1000: uint16(1328), - 1001: uint16(105), - 1002: uint16(81), - 1003: uint16(1217), - 1004: uint16(1217), - 1005: uint16(1054), - 1006: uint16(1057), - 1007: uint16(1044), - 1008: uint16(1044), - 1009: uint16(124), - 1010: uint16(124), - 1011: uint16(125), - 1012: uint16(125), - 1013: uint16(125), - 1014: uint16(125), - 1015: uint16(123), - 1016: uint16(123), - 1017: uint16(123), - 1018: uint16(123), - 1019: uint16(122), - 1020: uint16(122), - 1021: uint16(121), - 1022: uint16(121), - 1023: uint16(121), - 1024: uint16(120), - 1025: uint16(117), - 1026: uint16(448), - 1027: uint16(1117), - 1028: uint16(286), - 1029: uint16(286), - 1030: uint16(1422), - 1031: uint16(452), - 1032: uint16(1528), - 1033: uint16(1213), - 1034: uint16(443), - 1035: uint16(286), - 1036: uint16(286), - 1037: uint16(1492), - 1038: uint16(1355), - 1039: uint16(313), - 1040: uint16(478), - 1041: uint16(569), - 1042: uint16(1118), - 1043: uint16(454), - 1044: uint16(351), - 1045: uint16(495), - 1046: uint16(354), - 1047: uint16(1266), - 1048: uint16(569), - 1049: uint16(209), - 1050: uint16(572), - 1051: uint16(418), - 1052: uint16(179), - 1053: uint16(572), - 1054: uint16(1031), - 1055: uint16(242), - 1056: uint16(385), - 1057: uint16(1119), - 1058: uint16(523), - 1059: uint16(123), - 1060: uint16(123), - 1061: uint16(123), - 1062: uint16(123), - 1063: uint16(122), - 1064: uint16(122), - 1065: uint16(121), - 1066: uint16(121), - 1067: uint16(121), - 1068: uint16(120), - 1069: uint16(117), - 1070: uint16(448), - 1071: uint16(1020), - 1072: uint16(108), - 1073: uint16(72), - 1074: uint16(72), - 1075: uint16(1019), - 1076: uint16(13), - 1077: uint16(13), - 1078: uint16(915), - 1079: uint16(572), - 1080: uint16(1498), - 1081: uint16(572), - 1082: uint16(286), - 1083: uint16(286), - 1084: uint16(98), - 1085: uint16(530), - 1086: uint16(1537), - 1087: uint16(452), - 1088: uint16(916), - 1089: uint16(1334), - 1090: uint16(1329), - 1091: uint16(203), - 1092: uint16(411), - 1093: uint16(286), - 1094: uint16(286), - 1095: uint16(569), - 1096: uint16(152), - 1097: uint16(211), - 1098: uint16(1498), - 1099: uint16(1500), - 1100: uint16(426), - 1101: uint16(569), - 1102: uint16(56), - 1103: uint16(56), - 1104: uint16(57), - 1105: uint16(57), - 1106: uint16(569), - 1107: uint16(1019), - 1108: uint16(1019), - 1109: uint16(1021), - 1110: uint16(447), - 1111: uint16(572), - 1112: uint16(411), - 1113: uint16(531), - 1114: uint16(12), - 1115: uint16(297), - 1116: uint16(126), - 1117: uint16(127), - 1118: uint16(81), - 1119: uint16(1217), - 1120: uint16(1217), - 1121: uint16(1054), - 1122: uint16(1057), - 1123: uint16(1044), - 1124: uint16(1044), - 1125: uint16(124), - 1126: uint16(124), - 1127: uint16(125), - 1128: uint16(125), - 1129: uint16(125), - 1130: uint16(125), - 1131: uint16(572), - 1132: uint16(411), - 1133: uint16(867), - 1134: uint16(15), - 1135: uint16(15), - 1136: uint16(126), - 1137: uint16(127), - 1138: uint16(81), - 1139: uint16(1217), - 1140: uint16(1217), - 1141: uint16(1054), - 1142: uint16(1057), - 1143: uint16(1044), - 1144: uint16(1044), - 1145: uint16(124), - 1146: uint16(124), - 1147: uint16(125), - 1148: uint16(125), - 1149: uint16(125), - 1150: uint16(125), - 1151: uint16(373), - 1152: uint16(529), - 1153: uint16(264), - 1154: uint16(44), - 1155: uint16(44), - 1156: uint16(126), - 1157: uint16(115), - 1158: uint16(81), - 1159: uint16(1217), - 1160: uint16(1217), - 1161: uint16(1054), - 1162: uint16(1057), - 1163: uint16(1044), - 1164: uint16(1044), - 1165: uint16(124), - 1166: uint16(124), - 1167: uint16(125), - 1168: uint16(125), - 1169: uint16(125), - 1170: uint16(125), - 1171: uint16(1498), - 1172: uint16(478), - 1173: uint16(1271), - 1174: uint16(417), - 1175: uint16(123), - 1176: uint16(123), - 1177: uint16(123), - 1178: uint16(123), - 1179: uint16(122), - 1180: uint16(122), - 1181: uint16(121), - 1182: uint16(121), - 1183: uint16(121), - 1184: uint16(120), - 1185: uint16(117), - 1186: uint16(448), - 1187: uint16(205), - 1188: uint16(1213), - 1189: uint16(495), - 1190: uint16(430), - 1191: uint16(867), - 1192: uint16(468), - 1193: uint16(322), - 1194: uint16(495), - 1195: uint16(123), - 1196: uint16(123), - 1197: uint16(123), - 1198: uint16(123), - 1199: uint16(122), - 1200: uint16(122), - 1201: uint16(121), - 1202: uint16(121), - 1203: uint16(121), - 1204: uint16(120), - 1205: uint16(117), - 1206: uint16(448), - 1207: uint16(572), - 1208: uint16(557), - 1209: uint16(1140), - 1210: uint16(1642), - 1211: uint16(1422), - 1212: uint16(1642), - 1213: uint16(543), - 1214: uint16(572), - 1215: uint16(123), - 1216: uint16(123), - 1217: uint16(123), - 1218: uint16(123), - 1219: uint16(122), - 1220: uint16(122), - 1221: uint16(121), - 1222: uint16(121), - 1223: uint16(121), - 1224: uint16(120), - 1225: uint16(117), - 1226: uint16(448), - 1227: uint16(572), - 1228: uint16(1422), - 1229: uint16(572), - 1230: uint16(13), - 1231: uint16(13), - 1232: uint16(542), - 1233: uint16(323), - 1234: uint16(1325), - 1235: uint16(411), - 1236: uint16(334), - 1237: uint16(58), - 1238: uint16(58), - 1239: uint16(349), - 1240: uint16(1422), - 1241: uint16(1170), - 1242: uint16(326), - 1243: uint16(286), - 1244: uint16(286), - 1245: uint16(549), - 1246: uint16(1213), - 1247: uint16(300), - 1248: uint16(895), - 1249: uint16(530), - 1250: uint16(45), - 1251: uint16(45), - 1252: uint16(59), - 1253: uint16(59), - 1254: uint16(1140), - 1255: uint16(1643), - 1256: uint16(569), - 1257: uint16(1643), - 1258: uint16(565), - 1259: uint16(417), - 1260: uint16(127), - 1261: uint16(81), - 1262: uint16(1217), - 1263: uint16(1217), - 1264: uint16(1054), - 1265: uint16(1057), - 1266: uint16(1044), - 1267: uint16(1044), - 1268: uint16(124), - 1269: uint16(124), - 1270: uint16(125), - 1271: uint16(125), - 1272: uint16(125), - 1273: uint16(125), - 1274: uint16(1367), - 1275: uint16(373), - 1276: uint16(500), - 1277: uint16(290), - 1278: uint16(1193), - 1279: uint16(512), - 1280: uint16(1366), - 1281: uint16(427), - 1282: uint16(394), - 1283: uint16(394), - 1284: uint16(393), - 1285: uint16(275), - 1286: uint16(391), - 1287: uint16(896), - 1288: uint16(1138), - 1289: uint16(852), - 1290: uint16(478), - 1291: uint16(258), - 1292: uint16(1422), - 1293: uint16(1170), - 1294: uint16(463), - 1295: uint16(1159), - 1296: uint16(12), - 1297: uint16(331), - 1298: uint16(428), - 1299: uint16(333), - 1300: uint16(1117), - 1301: uint16(460), - 1302: uint16(236), - 1303: uint16(258), - 1304: uint16(325), - 1305: uint16(460), - 1306: uint16(544), - 1307: uint16(1544), - 1308: uint16(1159), - 1309: uint16(1098), - 1310: uint16(491), - 1311: uint16(1159), - 1312: uint16(324), - 1313: uint16(1098), - 1314: uint16(440), - 1315: uint16(1118), - 1316: uint16(335), - 1317: uint16(516), - 1318: uint16(123), - 1319: uint16(123), - 1320: uint16(123), - 1321: uint16(123), - 1322: uint16(122), - 1323: uint16(122), - 1324: uint16(121), - 1325: uint16(121), - 1326: uint16(121), - 1327: uint16(120), - 1328: uint16(117), - 1329: uint16(448), - 1330: uint16(1119), - 1331: uint16(318), - 1332: uint16(563), - 1333: uint16(1138), - 1334: uint16(572), - 1335: uint16(1193), - 1336: uint16(1194), - 1337: uint16(1193), - 1338: uint16(112), - 1339: uint16(564), - 1340: uint16(201), + 345: uint16(555), + 346: uint16(1149), + 347: uint16(1657), + 348: uint16(1628), + 349: uint16(1657), + 350: uint16(45), + 351: uint16(128), + 352: uint16(125), + 353: uint16(232), + 354: uint16(1204), + 355: uint16(1205), + 356: uint16(1204), + 357: uint16(1250), + 358: uint16(571), + 359: uint16(1169), + 360: uint16(132), + 361: uint16(132), + 362: uint16(132), + 363: uint16(132), + 364: uint16(131), + 365: uint16(131), + 366: uint16(130), + 367: uint16(130), + 368: uint16(130), + 369: uint16(129), + 370: uint16(126), + 371: uint16(450), + 372: uint16(1169), + 373: uint16(287), + 374: uint16(287), + 375: uint16(1169), + 376: uint16(1019), + 377: uint16(576), + 378: uint16(422), + 379: uint16(1019), + 380: uint16(412), + 381: uint16(451), + 382: uint16(1602), + 383: uint16(582), + 384: uint16(2), + 385: uint16(1259), + 386: uint16(573), + 387: uint16(44), + 388: uint16(561), + 389: uint16(95), + 390: uint16(320), + 391: uint16(110), + 392: uint16(153), + 393: uint16(565), + 394: uint16(1204), + 395: uint16(1205), + 396: uint16(1204), + 397: uint16(522), + 398: uint16(522), + 399: uint16(1341), + 400: uint16(81), + 401: uint16(81), + 402: uint16(7), + 403: uint16(44), + 404: uint16(135), + 405: uint16(136), + 406: uint16(90), + 407: uint16(1228), + 408: uint16(1228), + 409: uint16(1063), + 410: uint16(1066), + 411: uint16(1053), + 412: uint16(1053), + 413: uint16(133), + 414: uint16(133), + 415: uint16(134), + 416: uint16(134), + 417: uint16(134), + 418: uint16(134), + 419: uint16(295), + 420: uint16(1149), + 421: uint16(1658), + 422: uint16(1040), + 423: uint16(1658), + 424: uint16(1204), + 425: uint16(1147), + 426: uint16(319), + 427: uint16(567), + 428: uint16(119), + 429: uint16(119), + 430: uint16(343), + 431: uint16(466), + 432: uint16(331), + 433: uint16(343), + 434: uint16(287), + 435: uint16(287), + 436: uint16(120), + 437: uint16(556), + 438: uint16(451), + 439: uint16(577), + 440: uint16(451), + 441: uint16(1169), + 442: uint16(1169), + 443: uint16(1028), + 444: uint16(319), + 445: uint16(567), + 446: uint16(438), + 447: uint16(573), + 448: uint16(210), + 449: uint16(561), + 450: uint16(1339), + 451: uint16(1451), + 452: uint16(546), + 453: uint16(531), + 454: uint16(1169), + 455: uint16(1169), + 456: uint16(1598), + 457: uint16(1169), + 458: uint16(1169), + 459: uint16(416), + 460: uint16(319), + 461: uint16(567), + 462: uint16(243), + 463: uint16(132), + 464: uint16(132), + 465: uint16(132), + 466: uint16(132), + 467: uint16(131), + 468: uint16(131), + 469: uint16(130), + 470: uint16(130), + 471: uint16(130), + 472: uint16(129), + 473: uint16(126), + 474: uint16(450), + 475: uint16(1028), + 476: uint16(1028), + 477: uint16(1030), + 478: uint16(1031), + 479: uint16(35), + 480: uint16(44), + 481: uint16(1204), + 482: uint16(1205), + 483: uint16(1204), + 484: uint16(472), + 485: uint16(287), + 486: uint16(287), + 487: uint16(1328), + 488: uint16(412), + 489: uint16(1307), + 490: uint16(372), + 491: uint16(1595), + 492: uint16(359), + 493: uint16(225), + 494: uint16(454), + 495: uint16(1204), + 496: uint16(195), + 497: uint16(1328), + 498: uint16(573), + 499: uint16(1147), + 500: uint16(561), + 501: uint16(1333), + 502: uint16(1333), + 503: uint16(274), + 504: uint16(576), + 505: uint16(1188), + 506: uint16(576), + 507: uint16(340), + 508: uint16(46), + 509: uint16(196), + 510: uint16(537), + 511: uint16(217), + 512: uint16(135), + 513: uint16(136), + 514: uint16(90), + 515: uint16(1228), + 516: uint16(1228), + 517: uint16(1063), + 518: uint16(1066), + 519: uint16(1053), + 520: uint16(1053), + 521: uint16(133), + 522: uint16(133), + 523: uint16(134), + 524: uint16(134), + 525: uint16(134), + 526: uint16(134), + 527: uint16(19), + 528: uint16(19), + 529: uint16(19), + 530: uint16(19), + 531: uint16(412), + 532: uint16(581), + 533: uint16(1204), + 534: uint16(1259), + 535: uint16(511), + 536: uint16(1204), + 537: uint16(319), + 538: uint16(567), + 539: uint16(320), + 540: uint16(944), + 541: uint16(153), + 542: uint16(425), + 543: uint16(491), + 544: uint16(430), + 545: uint16(943), + 546: uint16(1204), + 547: uint16(488), + 548: uint16(1341), + 549: uint16(1450), + 550: uint16(532), + 551: uint16(1277), + 552: uint16(1204), + 553: uint16(1205), + 554: uint16(1204), + 555: uint16(135), + 556: uint16(136), + 557: uint16(90), + 558: uint16(1228), + 559: uint16(1228), + 560: uint16(1063), + 561: uint16(1066), + 562: uint16(1053), + 563: uint16(1053), + 564: uint16(133), + 565: uint16(133), + 566: uint16(134), + 567: uint16(134), + 568: uint16(134), + 569: uint16(134), + 570: uint16(575), + 571: uint16(132), + 572: uint16(132), + 573: uint16(132), + 574: uint16(132), + 575: uint16(131), + 576: uint16(131), + 577: uint16(130), + 578: uint16(130), + 579: uint16(130), + 580: uint16(129), + 581: uint16(126), + 582: uint16(450), + 583: uint16(287), + 584: uint16(287), + 585: uint16(528), + 586: uint16(287), + 587: uint16(287), + 588: uint16(372), + 589: uint16(1595), + 590: uint16(1204), + 591: uint16(1205), + 592: uint16(1204), + 593: uint16(1204), + 594: uint16(1205), + 595: uint16(1204), + 596: uint16(573), + 597: uint16(486), + 598: uint16(561), + 599: uint16(573), + 600: uint16(889), + 601: uint16(561), + 602: uint16(412), + 603: uint16(1204), + 604: uint16(1205), + 605: uint16(1204), + 606: uint16(886), + 607: uint16(40), + 608: uint16(22), + 609: uint16(22), + 610: uint16(220), + 611: uint16(243), + 612: uint16(525), + 613: uint16(1449), + 614: uint16(132), + 615: uint16(132), + 616: uint16(132), + 617: uint16(132), + 618: uint16(131), + 619: uint16(131), + 620: uint16(130), + 621: uint16(130), + 622: uint16(130), + 623: uint16(129), + 624: uint16(126), + 625: uint16(450), + 626: uint16(135), + 627: uint16(136), + 628: uint16(90), + 629: uint16(1228), + 630: uint16(1228), + 631: uint16(1063), + 632: uint16(1066), + 633: uint16(1053), + 634: uint16(1053), + 635: uint16(133), + 636: uint16(133), + 637: uint16(134), + 638: uint16(134), + 639: uint16(134), + 640: uint16(134), + 641: uint16(412), + 642: uint16(180), + 643: uint16(454), + 644: uint16(1204), + 645: uint16(879), + 646: uint16(255), + 647: uint16(287), + 648: uint16(287), + 649: uint16(510), + 650: uint16(507), + 651: uint16(506), + 652: uint16(372), + 653: uint16(1595), + 654: uint16(1568), + 655: uint16(1331), + 656: uint16(1331), + 657: uint16(576), + 658: uint16(889), + 659: uint16(505), + 660: uint16(573), + 661: uint16(44), + 662: uint16(561), + 663: uint16(559), + 664: uint16(1207), + 665: uint16(135), + 666: uint16(136), + 667: uint16(90), + 668: uint16(1228), + 669: uint16(1228), + 670: uint16(1063), + 671: uint16(1066), + 672: uint16(1053), + 673: uint16(1053), + 674: uint16(133), + 675: uint16(133), + 676: uint16(134), + 677: uint16(134), + 678: uint16(134), + 679: uint16(134), + 680: uint16(81), + 681: uint16(81), + 682: uint16(422), + 683: uint16(576), + 684: uint16(377), + 685: uint16(132), + 686: uint16(132), + 687: uint16(132), + 688: uint16(132), + 689: uint16(131), + 690: uint16(131), + 691: uint16(130), + 692: uint16(130), + 693: uint16(130), + 694: uint16(129), + 695: uint16(126), + 696: uint16(450), + 697: uint16(297), + 698: uint16(287), + 699: uint16(287), + 700: uint16(460), + 701: uint16(1204), + 702: uint16(1205), + 703: uint16(1204), + 704: uint16(1204), + 705: uint16(534), + 706: uint16(19), + 707: uint16(19), + 708: uint16(448), + 709: uint16(448), + 710: uint16(448), + 711: uint16(573), + 712: uint16(412), + 713: uint16(561), + 714: uint16(230), + 715: uint16(436), + 716: uint16(1187), + 717: uint16(535), + 718: uint16(319), + 719: uint16(567), + 720: uint16(363), + 721: uint16(432), + 722: uint16(1207), + 723: uint16(1435), + 724: uint16(132), + 725: uint16(132), + 726: uint16(132), + 727: uint16(132), + 728: uint16(131), + 729: uint16(131), + 730: uint16(130), + 731: uint16(130), + 732: uint16(130), + 733: uint16(129), + 734: uint16(126), + 735: uint16(450), + 736: uint16(135), + 737: uint16(136), + 738: uint16(90), + 739: uint16(1228), + 740: uint16(1228), + 741: uint16(1063), + 742: uint16(1066), + 743: uint16(1053), + 744: uint16(1053), + 745: uint16(133), + 746: uint16(133), + 747: uint16(134), + 748: uint16(134), + 749: uint16(134), + 750: uint16(134), + 751: uint16(412), + 752: uint16(211), + 753: uint16(949), + 754: uint16(1169), + 755: uint16(1041), + 756: uint16(1110), + 757: uint16(1110), + 758: uint16(494), + 759: uint16(547), + 760: uint16(547), + 761: uint16(1204), + 762: uint16(1205), + 763: uint16(1204), + 764: uint16(7), + 765: uint16(539), + 766: uint16(1570), + 767: uint16(1169), + 768: uint16(376), + 769: uint16(576), + 770: uint16(1169), + 771: uint16(5), + 772: uint16(1204), + 773: uint16(486), + 774: uint16(3), + 775: uint16(135), + 776: uint16(136), + 777: uint16(90), + 778: uint16(1228), + 779: uint16(1228), + 780: uint16(1063), + 781: uint16(1066), + 782: uint16(1053), + 783: uint16(1053), + 784: uint16(133), + 785: uint16(133), + 786: uint16(134), + 787: uint16(134), + 788: uint16(134), + 789: uint16(134), + 790: uint16(576), + 791: uint16(513), + 792: uint16(19), + 793: uint16(19), + 794: uint16(427), + 795: uint16(132), + 796: uint16(132), + 797: uint16(132), + 798: uint16(132), + 799: uint16(131), + 800: uint16(131), + 801: uint16(130), + 802: uint16(130), + 803: uint16(130), + 804: uint16(129), + 805: uint16(126), + 806: uint16(450), + 807: uint16(305), + 808: uint16(1204), + 809: uint16(433), + 810: uint16(225), + 811: uint16(1204), + 812: uint16(385), + 813: uint16(19), + 814: uint16(19), + 815: uint16(273), + 816: uint16(290), + 817: uint16(371), + 818: uint16(516), + 819: uint16(366), + 820: uint16(515), + 821: uint16(260), + 822: uint16(412), + 823: uint16(538), + 824: uint16(1568), + 825: uint16(549), + 826: uint16(1024), + 827: uint16(362), + 828: uint16(437), + 829: uint16(1204), + 830: uint16(1205), + 831: uint16(1204), + 832: uint16(902), + 833: uint16(1552), + 834: uint16(132), + 835: uint16(132), + 836: uint16(132), + 837: uint16(132), + 838: uint16(131), + 839: uint16(131), + 840: uint16(130), + 841: uint16(130), + 842: uint16(130), + 843: uint16(129), + 844: uint16(126), + 845: uint16(450), + 846: uint16(135), + 847: uint16(136), + 848: uint16(90), + 849: uint16(1228), + 850: uint16(1228), + 851: uint16(1063), + 852: uint16(1066), + 853: uint16(1053), + 854: uint16(1053), + 855: uint16(133), + 856: uint16(133), + 857: uint16(134), + 858: uint16(134), + 859: uint16(134), + 860: uint16(134), + 861: uint16(412), + 862: uint16(1435), + 863: uint16(514), + 864: uint16(1281), + 865: uint16(1204), + 866: uint16(1205), + 867: uint16(1204), + 868: uint16(1204), + 869: uint16(1205), + 870: uint16(1204), + 871: uint16(903), + 872: uint16(48), + 873: uint16(342), + 874: uint16(1568), + 875: uint16(1568), + 876: uint16(1279), + 877: uint16(1627), + 878: uint16(1568), + 879: uint16(911), + 880: uint16(576), + 881: uint16(129), + 882: uint16(126), + 883: uint16(450), + 884: uint16(110), + 885: uint16(135), + 886: uint16(136), + 887: uint16(90), + 888: uint16(1228), + 889: uint16(1228), + 890: uint16(1063), + 891: uint16(1066), + 892: uint16(1053), + 893: uint16(1053), + 894: uint16(133), + 895: uint16(133), + 896: uint16(134), + 897: uint16(134), + 898: uint16(134), + 899: uint16(134), + 900: uint16(265), + 901: uint16(576), + 902: uint16(459), + 903: uint16(19), + 904: uint16(19), + 905: uint16(132), + 906: uint16(132), + 907: uint16(132), + 908: uint16(132), + 909: uint16(131), + 910: uint16(131), + 911: uint16(130), + 912: uint16(130), + 913: uint16(130), + 914: uint16(129), + 915: uint16(126), + 916: uint16(450), + 917: uint16(1345), + 918: uint16(204), + 919: uint16(576), + 920: uint16(459), + 921: uint16(458), + 922: uint16(50), + 923: uint16(47), + 924: uint16(19), + 925: uint16(19), + 926: uint16(49), + 927: uint16(434), + 928: uint16(1105), + 929: uint16(573), + 930: uint16(497), + 931: uint16(561), + 932: uint16(412), + 933: uint16(428), + 934: uint16(108), + 935: uint16(1224), + 936: uint16(1569), + 937: uint16(1554), + 938: uint16(376), + 939: uint16(205), + 940: uint16(550), + 941: uint16(550), + 942: uint16(81), + 943: uint16(81), + 944: uint16(132), + 945: uint16(132), + 946: uint16(132), + 947: uint16(132), + 948: uint16(131), + 949: uint16(131), + 950: uint16(130), + 951: uint16(130), + 952: uint16(130), + 953: uint16(129), + 954: uint16(126), + 955: uint16(450), + 956: uint16(135), + 957: uint16(136), + 958: uint16(90), + 959: uint16(1228), + 960: uint16(1228), + 961: uint16(1063), + 962: uint16(1066), + 963: uint16(1053), + 964: uint16(1053), + 965: uint16(133), + 966: uint16(133), + 967: uint16(134), + 968: uint16(134), + 969: uint16(134), + 970: uint16(134), + 971: uint16(480), + 972: uint16(576), + 973: uint16(1204), + 974: uint16(576), + 975: uint16(1541), + 976: uint16(412), + 977: uint16(1435), + 978: uint16(969), + 979: uint16(315), + 980: uint16(1659), + 981: uint16(398), + 982: uint16(284), + 983: uint16(497), + 984: uint16(969), + 985: uint16(893), + 986: uint16(1569), + 987: uint16(1569), + 988: uint16(376), + 989: uint16(376), + 990: uint16(1569), + 991: uint16(461), + 992: uint16(376), + 993: uint16(1224), + 994: uint16(459), + 995: uint16(80), + 996: uint16(80), + 997: uint16(81), + 998: uint16(81), + 999: uint16(497), + 1000: uint16(374), + 1001: uint16(114), + 1002: uint16(90), + 1003: uint16(1228), + 1004: uint16(1228), + 1005: uint16(1063), + 1006: uint16(1066), + 1007: uint16(1053), + 1008: uint16(1053), + 1009: uint16(133), + 1010: uint16(133), + 1011: uint16(134), + 1012: uint16(134), + 1013: uint16(134), + 1014: uint16(134), + 1015: uint16(132), + 1016: uint16(132), + 1017: uint16(132), + 1018: uint16(132), + 1019: uint16(131), + 1020: uint16(131), + 1021: uint16(130), + 1022: uint16(130), + 1023: uint16(130), + 1024: uint16(129), + 1025: uint16(126), + 1026: uint16(450), + 1027: uint16(1204), + 1028: uint16(1505), + 1029: uint16(576), + 1030: uint16(1204), + 1031: uint16(1205), + 1032: uint16(1204), + 1033: uint16(1366), + 1034: uint16(316), + 1035: uint16(486), + 1036: uint16(281), + 1037: uint16(281), + 1038: uint16(497), + 1039: uint16(431), + 1040: uint16(557), + 1041: uint16(288), + 1042: uint16(288), + 1043: uint16(402), + 1044: uint16(1340), + 1045: uint16(471), + 1046: uint16(345), + 1047: uint16(298), + 1048: uint16(429), + 1049: uint16(573), + 1050: uint16(576), + 1051: uint16(561), + 1052: uint16(81), + 1053: uint16(81), + 1054: uint16(573), + 1055: uint16(374), + 1056: uint16(561), + 1057: uint16(971), + 1058: uint16(386), + 1059: uint16(132), + 1060: uint16(132), + 1061: uint16(132), + 1062: uint16(132), + 1063: uint16(131), + 1064: uint16(131), + 1065: uint16(130), + 1066: uint16(130), + 1067: uint16(130), + 1068: uint16(129), + 1069: uint16(126), + 1070: uint16(450), + 1071: uint16(231), + 1072: uint16(117), + 1073: uint16(81), + 1074: uint16(81), + 1075: uint16(287), + 1076: uint16(287), + 1077: uint16(231), + 1078: uint16(287), + 1079: uint16(287), + 1080: uint16(576), + 1081: uint16(1511), + 1082: uint16(576), + 1083: uint16(1336), + 1084: uint16(1204), + 1085: uint16(1205), + 1086: uint16(1204), + 1087: uint16(139), + 1088: uint16(573), + 1089: uint16(556), + 1090: uint16(561), + 1091: uint16(573), + 1092: uint16(412), + 1093: uint16(561), + 1094: uint16(441), + 1095: uint16(456), + 1096: uint16(969), + 1097: uint16(213), + 1098: uint16(558), + 1099: uint16(1511), + 1100: uint16(1513), + 1101: uint16(1550), + 1102: uint16(969), + 1103: uint16(143), + 1104: uint16(143), + 1105: uint16(145), + 1106: uint16(145), + 1107: uint16(1368), + 1108: uint16(314), + 1109: uint16(478), + 1110: uint16(444), + 1111: uint16(970), + 1112: uint16(412), + 1113: uint16(850), + 1114: uint16(851), + 1115: uint16(852), + 1116: uint16(135), + 1117: uint16(136), + 1118: uint16(90), + 1119: uint16(1228), + 1120: uint16(1228), + 1121: uint16(1063), + 1122: uint16(1066), + 1123: uint16(1053), + 1124: uint16(1053), + 1125: uint16(133), + 1126: uint16(133), + 1127: uint16(134), + 1128: uint16(134), + 1129: uint16(134), + 1130: uint16(134), + 1131: uint16(357), + 1132: uint16(412), + 1133: uint16(397), + 1134: uint16(1148), + 1135: uint16(304), + 1136: uint16(135), + 1137: uint16(136), + 1138: uint16(90), + 1139: uint16(1228), + 1140: uint16(1228), + 1141: uint16(1063), + 1142: uint16(1066), + 1143: uint16(1053), + 1144: uint16(1053), + 1145: uint16(133), + 1146: uint16(133), + 1147: uint16(134), + 1148: uint16(134), + 1149: uint16(134), + 1150: uint16(134), + 1151: uint16(1575), + 1152: uint16(323), + 1153: uint16(6), + 1154: uint16(862), + 1155: uint16(7), + 1156: uint16(135), + 1157: uint16(124), + 1158: uint16(90), + 1159: uint16(1228), + 1160: uint16(1228), + 1161: uint16(1063), + 1162: uint16(1066), + 1163: uint16(1053), + 1164: uint16(1053), + 1165: uint16(133), + 1166: uint16(133), + 1167: uint16(134), + 1168: uint16(134), + 1169: uint16(134), + 1170: uint16(134), + 1171: uint16(409), + 1172: uint16(408), + 1173: uint16(1511), + 1174: uint16(212), + 1175: uint16(132), + 1176: uint16(132), + 1177: uint16(132), + 1178: uint16(132), + 1179: uint16(131), + 1180: uint16(131), + 1181: uint16(130), + 1182: uint16(130), + 1183: uint16(130), + 1184: uint16(129), + 1185: uint16(126), + 1186: uint16(450), + 1187: uint16(411), + 1188: uint16(118), + 1189: uint16(1204), + 1190: uint16(116), + 1191: uint16(10), + 1192: uint16(352), + 1193: uint16(265), + 1194: uint16(355), + 1195: uint16(132), + 1196: uint16(132), + 1197: uint16(132), + 1198: uint16(132), + 1199: uint16(131), + 1200: uint16(131), + 1201: uint16(130), + 1202: uint16(130), + 1203: uint16(130), + 1204: uint16(129), + 1205: uint16(126), + 1206: uint16(450), + 1207: uint16(576), + 1208: uint16(324), + 1209: uint16(306), + 1210: uint16(576), + 1211: uint16(306), + 1212: uint16(1250), + 1213: uint16(469), + 1214: uint16(158), + 1215: uint16(132), + 1216: uint16(132), + 1217: uint16(132), + 1218: uint16(132), + 1219: uint16(131), + 1220: uint16(131), + 1221: uint16(130), + 1222: uint16(130), + 1223: uint16(130), + 1224: uint16(129), + 1225: uint16(126), + 1226: uint16(450), + 1227: uint16(207), + 1228: uint16(1224), + 1229: uint16(1126), + 1230: uint16(65), + 1231: uint16(65), + 1232: uint16(470), + 1233: uint16(66), + 1234: uint16(66), + 1235: uint16(412), + 1236: uint16(447), + 1237: uint16(446), + 1238: uint16(882), + 1239: uint16(531), + 1240: uint16(335), + 1241: uint16(258), + 1242: uint16(257), + 1243: uint16(256), + 1244: uint16(1127), + 1245: uint16(1233), + 1246: uint16(1204), + 1247: uint16(1205), + 1248: uint16(1204), + 1249: uint16(327), + 1250: uint16(1235), + 1251: uint16(874), + 1252: uint16(159), + 1253: uint16(576), + 1254: uint16(16), + 1255: uint16(480), + 1256: uint16(1085), + 1257: uint16(1040), + 1258: uint16(1234), + 1259: uint16(1128), + 1260: uint16(136), + 1261: uint16(90), + 1262: uint16(1228), + 1263: uint16(1228), + 1264: uint16(1063), + 1265: uint16(1066), + 1266: uint16(1053), + 1267: uint16(1053), + 1268: uint16(133), + 1269: uint16(133), + 1270: uint16(134), + 1271: uint16(134), + 1272: uint16(134), + 1273: uint16(134), + 1274: uint16(1029), + 1275: uint16(576), + 1276: uint16(81), + 1277: uint16(81), + 1278: uint16(1028), + 1279: uint16(1040), + 1280: uint16(922), + 1281: uint16(576), + 1282: uint16(463), + 1283: uint16(1236), + 1284: uint16(576), + 1285: uint16(1236), + 1286: uint16(1224), + 1287: uint16(502), + 1288: uint16(107), + 1289: uint16(1435), + 1290: uint16(923), + 1291: uint16(6), + 1292: uint16(576), + 1293: uint16(410), + 1294: uint16(1498), + 1295: uint16(882), + 1296: uint16(1029), + 1297: uint16(480), + 1298: uint16(21), + 1299: uint16(21), + 1300: uint16(1028), + 1301: uint16(332), + 1302: uint16(1380), + 1303: uint16(334), + 1304: uint16(53), + 1305: uint16(53), + 1306: uint16(497), + 1307: uint16(81), + 1308: uint16(81), + 1309: uint16(874), + 1310: uint16(1028), + 1311: uint16(1028), + 1312: uint16(1030), + 1313: uint16(445), + 1314: uint16(259), + 1315: uint16(19), + 1316: uint16(19), + 1317: uint16(533), + 1318: uint16(132), + 1319: uint16(132), + 1320: uint16(132), + 1321: uint16(132), + 1322: uint16(131), + 1323: uint16(131), + 1324: uint16(130), + 1325: uint16(130), + 1326: uint16(130), + 1327: uint16(129), + 1328: uint16(126), + 1329: uint16(450), + 1330: uint16(551), + 1331: uint16(301), + 1332: uint16(1028), + 1333: uint16(1028), + 1334: uint16(1030), + 1335: uint16(107), + 1336: uint16(532), + 1337: uint16(545), + 1338: uint16(121), + 1339: uint16(568), + 1340: uint16(1188), 1341: uint16(4), - 1342: uint16(238), - 1343: uint16(433), - 1344: uint16(935), - 1345: uint16(490), - 1346: uint16(285), - 1347: uint16(228), - 1348: uint16(1517), - 1349: uint16(934), - 1350: uint16(170), - 1351: uint16(560), - 1352: uint16(572), - 1353: uint16(142), - 1354: uint16(1516), - 1355: uint16(567), - 1356: uint16(572), - 1357: uint16(60), - 1358: uint16(60), - 1359: uint16(572), - 1360: uint16(416), - 1361: uint16(572), - 1362: uint16(441), - 1363: uint16(572), - 1364: uint16(535), - 1365: uint16(302), - 1366: uint16(875), - 1367: uint16(8), - 1368: uint16(487), - 1369: uint16(572), - 1370: uint16(237), - 1371: uint16(572), - 1372: uint16(416), - 1373: uint16(572), - 1374: uint16(485), - 1375: uint16(61), - 1376: uint16(61), - 1377: uint16(572), - 1378: uint16(449), - 1379: uint16(62), - 1380: uint16(62), - 1381: uint16(332), - 1382: uint16(63), - 1383: uint16(63), - 1384: uint16(46), - 1385: uint16(46), - 1386: uint16(47), - 1387: uint16(47), - 1388: uint16(361), - 1389: uint16(572), - 1390: uint16(561), - 1391: uint16(572), - 1392: uint16(48), - 1393: uint16(48), - 1394: uint16(50), - 1395: uint16(50), - 1396: uint16(51), - 1397: uint16(51), - 1398: uint16(572), - 1399: uint16(295), - 1400: uint16(64), - 1401: uint16(64), - 1402: uint16(482), - 1403: uint16(295), - 1404: uint16(539), - 1405: uint16(412), - 1406: uint16(471), - 1407: uint16(1031), - 1408: uint16(572), - 1409: uint16(538), - 1410: uint16(318), - 1411: uint16(563), - 1412: uint16(65), - 1413: uint16(65), - 1414: uint16(66), - 1415: uint16(66), - 1416: uint16(409), - 1417: uint16(475), - 1418: uint16(572), - 1419: uint16(1031), - 1420: uint16(572), - 1421: uint16(14), - 1422: uint16(14), - 1423: uint16(875), - 1424: uint16(1020), - 1425: uint16(110), - 1426: uint16(110), - 1427: uint16(409), - 1428: uint16(1019), - 1429: uint16(572), - 1430: uint16(474), - 1431: uint16(67), - 1432: uint16(67), - 1433: uint16(111), - 1434: uint16(455), - 1435: uint16(449), - 1436: uint16(573), - 1437: uint16(449), - 1438: uint16(98), - 1439: uint16(317), - 1440: uint16(1019), - 1441: uint16(132), - 1442: uint16(132), - 1443: uint16(133), - 1444: uint16(133), - 1445: uint16(572), - 1446: uint16(1561), - 1447: uint16(572), - 1448: uint16(974), - 1449: uint16(409), - 1450: uint16(6), - 1451: uint16(1562), - 1452: uint16(68), - 1453: uint16(68), - 1454: uint16(1560), - 1455: uint16(6), - 1456: uint16(975), - 1457: uint16(572), - 1458: uint16(6), - 1459: uint16(1559), - 1460: uint16(1019), - 1461: uint16(1019), - 1462: uint16(1021), - 1463: uint16(6), - 1464: uint16(346), - 1465: uint16(218), - 1466: uint16(101), - 1467: uint16(531), - 1468: uint16(53), - 1469: uint16(53), - 1470: uint16(69), - 1471: uint16(69), - 1472: uint16(1019), - 1473: uint16(1019), - 1474: uint16(1021), - 1475: uint16(1022), - 1476: uint16(28), - 1477: uint16(1586), - 1478: uint16(1181), - 1479: uint16(451), - 1480: uint16(70), - 1481: uint16(70), - 1482: uint16(290), - 1483: uint16(87), - 1484: uint16(215), - 1485: uint16(31), - 1486: uint16(1363), - 1487: uint16(394), - 1488: uint16(394), - 1489: uint16(393), - 1490: uint16(275), - 1491: uint16(391), - 1492: uint16(350), - 1493: uint16(109), - 1494: uint16(852), - 1495: uint16(107), - 1496: uint16(572), - 1497: uint16(112), - 1498: uint16(564), - 1499: uint16(483), - 1500: uint16(4), - 1501: uint16(1212), - 1502: uint16(572), - 1503: uint16(239), - 1504: uint16(153), - 1505: uint16(572), - 1506: uint16(39), - 1507: uint16(236), - 1508: uint16(1299), - 1509: uint16(325), - 1510: uint16(112), - 1511: uint16(564), - 1512: uint16(1298), - 1513: uint16(4), - 1514: uint16(567), - 1515: uint16(572), - 1516: uint16(32), - 1517: uint16(324), - 1518: uint16(572), - 1519: uint16(54), - 1520: uint16(54), - 1521: uint16(572), - 1522: uint16(1135), - 1523: uint16(353), - 1524: uint16(398), - 1525: uint16(165), - 1526: uint16(165), - 1527: uint16(567), - 1528: uint16(166), - 1529: uint16(166), - 1530: uint16(572), - 1531: uint16(291), - 1532: uint16(355), - 1533: uint16(572), - 1534: uint16(17), - 1535: uint16(357), - 1536: uint16(572), - 1537: uint16(449), - 1538: uint16(77), - 1539: uint16(77), - 1540: uint16(1313), - 1541: uint16(55), - 1542: uint16(55), - 1543: uint16(1297), - 1544: uint16(73), - 1545: uint16(73), - 1546: uint16(572), - 1547: uint16(238), - 1548: uint16(470), - 1549: uint16(561), - 1550: uint16(449), - 1551: uint16(472), - 1552: uint16(364), - 1553: uint16(135), - 1554: uint16(135), - 1555: uint16(170), - 1556: uint16(74), - 1557: uint16(74), - 1558: uint16(142), - 1559: uint16(163), - 1560: uint16(163), - 1561: uint16(374), - 1562: uint16(561), - 1563: uint16(539), - 1564: uint16(572), - 1565: uint16(321), - 1566: uint16(572), - 1567: uint16(886), - 1568: uint16(540), - 1569: uint16(137), - 1570: uint16(137), - 1571: uint16(339), - 1572: uint16(1353), - 1573: uint16(422), - 1574: uint16(298), - 1575: uint16(237), - 1576: uint16(539), - 1577: uint16(572), - 1578: uint16(1031), - 1579: uint16(572), - 1580: uint16(340), - 1581: uint16(538), - 1582: uint16(101), - 1583: uint16(369), - 1584: uint16(110), - 1585: uint16(110), - 1586: uint16(162), - 1587: uint16(131), - 1588: uint16(131), - 1589: uint16(164), - 1590: uint16(164), - 1591: uint16(1031), - 1592: uint16(111), - 1593: uint16(368), - 1594: uint16(449), - 1595: uint16(573), - 1596: uint16(449), + 1342: uint16(1126), + 1343: uint16(1576), + 1344: uint16(449), + 1345: uint16(576), + 1346: uint16(462), + 1347: uint16(7), + 1348: uint16(1282), + 1349: uint16(418), + 1350: uint16(462), + 1351: uint16(350), + 1352: uint16(1435), + 1353: uint16(576), + 1354: uint16(518), + 1355: uint16(571), + 1356: uint16(544), + 1357: uint16(1127), + 1358: uint16(121), + 1359: uint16(568), + 1360: uint16(442), + 1361: uint16(4), + 1362: uint16(1188), + 1363: uint16(464), + 1364: uint16(533), + 1365: uint16(1180), + 1366: uint16(1223), + 1367: uint16(9), + 1368: uint16(67), + 1369: uint16(67), + 1370: uint16(487), + 1371: uint16(576), + 1372: uint16(1128), + 1373: uint16(303), + 1374: uint16(410), + 1375: uint16(571), + 1376: uint16(54), + 1377: uint16(54), + 1378: uint16(451), + 1379: uint16(576), + 1380: uint16(123), + 1381: uint16(944), + 1382: uint16(576), + 1383: uint16(417), + 1384: uint16(576), + 1385: uint16(333), + 1386: uint16(943), + 1387: uint16(1379), + 1388: uint16(576), + 1389: uint16(236), + 1390: uint16(565), + 1391: uint16(576), + 1392: uint16(1574), + 1393: uint16(564), + 1394: uint16(68), + 1395: uint16(68), + 1396: uint16(7), + 1397: uint16(576), + 1398: uint16(451), + 1399: uint16(362), + 1400: uint16(419), + 1401: uint16(182), + 1402: uint16(69), + 1403: uint16(69), + 1404: uint16(541), + 1405: uint16(70), + 1406: uint16(70), + 1407: uint16(71), + 1408: uint16(71), + 1409: uint16(540), + 1410: uint16(565), + 1411: uint16(72), + 1412: uint16(72), + 1413: uint16(484), + 1414: uint16(55), + 1415: uint16(55), + 1416: uint16(473), + 1417: uint16(1180), + 1418: uint16(296), + 1419: uint16(1040), + 1420: uint16(56), + 1421: uint16(56), + 1422: uint16(296), + 1423: uint16(493), + 1424: uint16(541), + 1425: uint16(119), + 1426: uint16(119), + 1427: uint16(410), + 1428: uint16(1573), + 1429: uint16(542), + 1430: uint16(569), + 1431: uint16(418), + 1432: uint16(7), + 1433: uint16(120), + 1434: uint16(1244), + 1435: uint16(451), + 1436: uint16(577), + 1437: uint16(451), + 1438: uint16(465), + 1439: uint16(1040), + 1440: uint16(1028), + 1441: uint16(576), + 1442: uint16(1557), + 1443: uint16(552), + 1444: uint16(476), + 1445: uint16(119), + 1446: uint16(119), + 1447: uint16(527), + 1448: uint16(259), + 1449: uint16(121), + 1450: uint16(568), + 1451: uint16(240), + 1452: uint16(4), + 1453: uint16(120), + 1454: uint16(576), + 1455: uint16(451), + 1456: uint16(577), + 1457: uint16(451), + 1458: uint16(576), + 1459: uint16(477), + 1460: uint16(1028), + 1461: uint16(576), + 1462: uint16(156), + 1463: uint16(576), + 1464: uint16(57), + 1465: uint16(57), + 1466: uint16(571), + 1467: uint16(576), + 1468: uint16(286), + 1469: uint16(229), + 1470: uint16(410), + 1471: uint16(336), + 1472: uint16(1028), + 1473: uint16(1028), + 1474: uint16(1030), + 1475: uint16(1031), + 1476: uint16(35), + 1477: uint16(59), + 1478: uint16(59), + 1479: uint16(219), + 1480: uint16(983), + 1481: uint16(60), + 1482: uint16(60), + 1483: uint16(220), + 1484: uint16(73), + 1485: uint16(73), + 1486: uint16(74), + 1487: uint16(74), + 1488: uint16(984), + 1489: uint16(451), + 1490: uint16(75), + 1491: uint16(75), + 1492: uint16(1028), + 1493: uint16(1028), + 1494: uint16(1030), + 1495: uint16(1031), + 1496: uint16(35), + 1497: uint16(96), + 1498: uint16(216), + 1499: uint16(291), + 1500: uint16(552), + 1501: uint16(565), + 1502: uint16(1188), + 1503: uint16(318), + 1504: uint16(395), + 1505: uint16(395), + 1506: uint16(394), + 1507: uint16(276), + 1508: uint16(392), + 1509: uint16(576), + 1510: uint16(485), + 1511: uint16(859), + 1512: uint16(474), + 1513: uint16(1311), + 1514: uint16(410), + 1515: uint16(541), + 1516: uint16(576), + 1517: uint16(417), + 1518: uint16(1530), + 1519: uint16(1144), + 1520: uint16(540), + 1521: uint16(399), + 1522: uint16(1188), + 1523: uint16(292), + 1524: uint16(237), + 1525: uint16(1153), + 1526: uint16(326), + 1527: uint16(38), + 1528: uint16(23), + 1529: uint16(576), + 1530: uint16(1040), + 1531: uint16(576), + 1532: uint16(20), + 1533: uint16(20), + 1534: uint16(325), + 1535: uint16(299), + 1536: uint16(119), + 1537: uint16(119), + 1538: uint16(164), + 1539: uint16(76), + 1540: uint16(76), + 1541: uint16(1529), + 1542: uint16(121), + 1543: uint16(568), + 1544: uint16(120), + 1545: uint16(4), + 1546: uint16(451), + 1547: uint16(577), + 1548: uint16(451), + 1549: uint16(203), + 1550: uint16(576), + 1551: uint16(1028), + 1552: uint16(141), + 1553: uint16(141), + 1554: uint16(142), + 1555: uint16(142), + 1556: uint16(576), + 1557: uint16(322), + 1558: uint16(39), + 1559: uint16(571), + 1560: uint16(341), + 1561: uint16(1021), + 1562: uint16(110), + 1563: uint16(264), + 1564: uint16(239), + 1565: uint16(901), + 1566: uint16(900), + 1567: uint16(423), + 1568: uint16(242), + 1569: uint16(908), + 1570: uint16(909), + 1571: uint16(370), + 1572: uint16(173), + 1573: uint16(77), + 1574: uint16(77), + 1575: uint16(43), + 1576: uint16(479), + 1577: uint16(1310), + 1578: uint16(264), + 1579: uint16(62), + 1580: uint16(62), + 1581: uint16(369), + 1582: uint16(451), + 1583: uint16(1028), + 1584: uint16(1028), + 1585: uint16(1030), + 1586: uint16(1031), + 1587: uint16(35), + 1588: uint16(1601), + 1589: uint16(1192), + 1590: uint16(453), + 1591: uint16(1092), + 1592: uint16(238), + 1593: uint16(291), + 1594: uint16(565), + 1595: uint16(163), + 1596: uint16(1309), 1597: uint16(110), - 1598: uint16(110), - 1599: uint16(1019), - 1600: uint16(157), - 1601: uint16(157), - 1602: uint16(141), - 1603: uint16(141), - 1604: uint16(572), - 1605: uint16(111), - 1606: uint16(572), - 1607: uint16(449), - 1608: uint16(573), - 1609: uint16(449), - 1610: uint16(412), - 1611: uint16(288), - 1612: uint16(1019), - 1613: uint16(572), - 1614: uint16(882), - 1615: uint16(318), - 1616: uint16(563), - 1617: uint16(572), - 1618: uint16(219), - 1619: uint16(572), - 1620: uint16(241), - 1621: uint16(1012), - 1622: uint16(477), - 1623: uint16(263), - 1624: uint16(263), - 1625: uint16(894), - 1626: uint16(893), - 1627: uint16(140), - 1628: uint16(140), - 1629: uint16(138), - 1630: uint16(138), - 1631: uint16(1019), - 1632: uint16(1019), - 1633: uint16(1021), - 1634: uint16(1022), - 1635: uint16(28), - 1636: uint16(139), - 1637: uint16(139), - 1638: uint16(525), - 1639: uint16(455), - 1640: uint16(76), - 1641: uint16(76), - 1642: uint16(78), - 1643: uint16(78), - 1644: uint16(1019), - 1645: uint16(1019), - 1646: uint16(1021), - 1647: uint16(1022), - 1648: uint16(28), - 1649: uint16(1181), - 1650: uint16(451), - 1651: uint16(572), - 1652: uint16(1083), - 1653: uint16(290), - 1654: uint16(112), - 1655: uint16(564), - 1656: uint16(1575), - 1657: uint16(4), - 1658: uint16(394), - 1659: uint16(394), - 1660: uint16(393), - 1661: uint16(275), - 1662: uint16(391), - 1663: uint16(572), - 1664: uint16(1023), - 1665: uint16(852), - 1666: uint16(572), - 1667: uint16(479), - 1668: uint16(345), - 1669: uint16(263), - 1670: uint16(101), - 1671: uint16(567), - 1672: uint16(882), - 1673: uint16(1376), - 1674: uint16(75), - 1675: uint16(75), - 1676: uint16(1421), - 1677: uint16(501), - 1678: uint16(236), - 1679: uint16(260), - 1680: uint16(325), - 1681: uint16(112), - 1682: uint16(564), - 1683: uint16(359), - 1684: uint16(4), - 1685: uint16(101), - 1686: uint16(43), - 1687: uint16(43), - 1688: uint16(324), - 1689: uint16(49), - 1690: uint16(49), - 1691: uint16(901), - 1692: uint16(902), - 1693: uint16(161), - 1694: uint16(449), - 1695: uint16(101), - 1696: uint16(977), - 1697: uint16(978), - 1698: uint16(567), - 1699: uint16(1079), - 1700: uint16(1349), - 1701: uint16(260), - 1702: uint16(965), - 1703: uint16(932), - 1704: uint16(263), - 1705: uint16(114), - 1706: uint16(561), - 1707: uint16(1095), - 1708: uint16(517), - 1709: uint16(1095), - 1710: uint16(1083), - 1711: uint16(1094), - 1712: uint16(865), - 1713: uint16(1094), - 1714: uint16(151), - 1715: uint16(933), - 1716: uint16(1144), - 1717: uint16(114), - 1718: uint16(238), - 1719: uint16(1361), - 1720: uint16(558), - 1721: uint16(449), - 1722: uint16(1023), - 1723: uint16(559), - 1724: uint16(1426), - 1725: uint16(1278), - 1726: uint16(170), - 1727: uint16(1269), - 1728: uint16(1257), - 1729: uint16(142), - 1730: uint16(1601), - 1731: uint16(1256), - 1732: uint16(1258), - 1733: uint16(561), - 1734: uint16(1594), - 1735: uint16(1031), - 1736: uint16(496), - 1737: uint16(278), - 1738: uint16(213), - 1739: uint16(1346), - 1740: uint16(310), - 1741: uint16(110), - 1742: uint16(110), - 1743: uint16(939), - 1744: uint16(311), - 1745: uint16(312), - 1746: uint16(237), - 1747: uint16(11), - 1748: uint16(234), - 1749: uint16(111), - 1750: uint16(221), - 1751: uint16(449), - 1752: uint16(573), - 1753: uint16(449), - 1754: uint16(293), - 1755: uint16(395), - 1756: uint16(1019), - 1757: uint16(1408), - 1758: uint16(337), - 1759: uint16(1403), - 1760: uint16(1396), - 1761: uint16(338), - 1762: uint16(1031), - 1763: uint16(299), - 1764: uint16(343), - 1765: uint16(1413), - 1766: uint16(1412), - 1767: uint16(481), - 1768: uint16(110), - 1769: uint16(110), - 1770: uint16(506), - 1771: uint16(402), - 1772: uint16(225), - 1773: uint16(1296), - 1774: uint16(206), - 1775: uint16(367), - 1776: uint16(111), - 1777: uint16(1358), - 1778: uint16(449), - 1779: uint16(573), - 1780: uint16(449), - 1781: uint16(412), - 1782: uint16(1359), - 1783: uint16(1019), - 1784: uint16(1489), - 1785: uint16(1488), - 1786: uint16(318), - 1787: uint16(563), - 1788: uint16(1019), - 1789: uint16(1019), - 1790: uint16(1021), - 1791: uint16(1022), - 1792: uint16(28), - 1793: uint16(562), - 1794: uint16(207), - 1795: uint16(220), - 1796: uint16(80), - 1797: uint16(564), - 1798: uint16(389), - 1799: uint16(4), - 1800: uint16(1597), - 1801: uint16(1357), - 1802: uint16(552), - 1803: uint16(1356), - 1804: uint16(1233), - 1805: uint16(181), - 1806: uint16(267), - 1807: uint16(232), - 1808: uint16(1536), - 1809: uint16(1534), - 1810: uint16(455), - 1811: uint16(1230), - 1812: uint16(420), - 1813: uint16(567), - 1814: uint16(82), - 1815: uint16(1019), - 1816: uint16(1019), - 1817: uint16(1021), - 1818: uint16(1022), - 1819: uint16(28), - 1820: uint16(86), - 1821: uint16(217), - 1822: uint16(85), - 1823: uint16(1494), - 1824: uint16(190), - 1825: uint16(175), - 1826: uint16(183), - 1827: uint16(465), - 1828: uint16(185), - 1829: uint16(466), - 1830: uint16(36), - 1831: uint16(1409), - 1832: uint16(186), - 1833: uint16(187), - 1834: uint16(188), - 1835: uint16(499), - 1836: uint16(449), - 1837: uint16(244), - 1838: uint16(37), - 1839: uint16(99), - 1840: uint16(400), - 1841: uint16(1415), - 1842: uint16(1414), - 1843: uint16(488), - 1844: uint16(1417), - 1845: uint16(194), - 1846: uint16(473), - 1847: uint16(403), - 1848: uint16(561), - 1849: uint16(1483), - 1850: uint16(248), - 1851: uint16(92), - 1852: uint16(1505), - 1853: uint16(494), - 1854: uint16(198), - 1855: uint16(279), - 1856: uint16(112), - 1857: uint16(564), - 1858: uint16(250), - 1859: uint16(4), - 1860: uint16(348), - 1861: uint16(497), - 1862: uint16(405), - 1863: uint16(352), - 1864: uint16(1259), - 1865: uint16(251), - 1866: uint16(252), - 1867: uint16(515), - 1868: uint16(1316), - 1869: uint16(434), - 1870: uint16(1315), - 1871: uint16(1314), - 1872: uint16(94), - 1873: uint16(567), - 1874: uint16(1307), - 1875: uint16(886), - 1876: uint16(1306), - 1877: uint16(1031), - 1878: uint16(226), - 1879: uint16(406), - 1880: uint16(1611), - 1881: uint16(1610), - 1882: uint16(438), - 1883: uint16(110), - 1884: uint16(110), - 1885: uint16(1580), - 1886: uint16(1286), - 1887: uint16(524), - 1888: uint16(439), - 1889: uint16(308), - 1890: uint16(266), - 1891: uint16(111), - 1892: uint16(1285), - 1893: uint16(449), - 1894: uint16(573), - 1895: uint16(449), - 1896: uint16(449), - 1897: uint16(309), - 1898: uint16(1019), - 1899: uint16(366), - 1900: uint16(1284), - 1901: uint16(1609), - 1902: uint16(265), - 1903: uint16(1566), - 1904: uint16(1565), - 1905: uint16(442), - 1906: uint16(372), - 1907: uint16(1381), - 1908: uint16(561), - 1909: uint16(129), - 1910: uint16(550), - 1911: uint16(1380), - 1912: uint16(10), - 1913: uint16(1470), - 1914: uint16(383), - 1915: uint16(106), - 1916: uint16(316), - 1917: uint16(551), - 1918: uint16(100), - 1919: uint16(35), - 1920: uint16(534), - 1921: uint16(575), - 1922: uint16(212), - 1923: uint16(1339), - 1924: uint16(381), - 1925: uint16(387), - 1926: uint16(1187), - 1927: uint16(1338), - 1928: uint16(274), - 1929: uint16(276), - 1930: uint16(1019), - 1931: uint16(1019), - 1932: uint16(1021), - 1933: uint16(1022), - 1934: uint16(28), - 1935: uint16(277), - 1936: uint16(413), - 1937: uint16(1031), - 1938: uint16(576), - 1939: uint16(1254), - 1940: uint16(388), - 1941: uint16(1521), - 1942: uint16(1249), - 1943: uint16(110), - 1944: uint16(110), - 1945: uint16(167), - 1946: uint16(1522), - 1947: uint16(168), - 1948: uint16(148), - 1949: uint16(1520), - 1950: uint16(1519), - 1951: uint16(111), - 1952: uint16(306), - 1953: uint16(449), - 1954: uint16(573), - 1955: uint16(449), - 1956: uint16(222), - 1957: uint16(223), - 1958: uint16(1019), - 1959: uint16(839), - 1960: uint16(169), - 1961: uint16(79), - 1962: uint16(450), - 1963: uint16(214), - 1964: uint16(414), - 1965: uint16(233), - 1966: uint16(320), - 1967: uint16(145), - 1968: uint16(1093), - 1969: uint16(1091), - 1970: uint16(328), - 1971: uint16(182), - 1972: uint16(171), - 1973: uint16(1212), - 1974: uint16(918), - 1975: uint16(184), - 1976: uint16(240), - 1977: uint16(336), - 1978: uint16(243), - 1979: uint16(1107), - 1980: uint16(189), - 1981: uint16(172), - 1982: uint16(173), - 1983: uint16(423), - 1984: uint16(425), - 1985: uint16(88), - 1986: uint16(180), - 1987: uint16(191), - 1988: uint16(89), - 1989: uint16(90), - 1990: uint16(1019), - 1991: uint16(1019), - 1992: uint16(1021), - 1993: uint16(1022), - 1994: uint16(28), - 1995: uint16(91), - 1996: uint16(174), - 1997: uint16(1110), - 1998: uint16(245), - 1999: uint16(1106), - 2000: uint16(246), - 2001: uint16(159), - 2002: uint16(18), - 2003: uint16(247), - 2004: uint16(347), - 2005: uint16(1099), - 2006: uint16(263), - 2007: uint16(195), - 2008: uint16(1227), - 2009: uint16(493), - 2010: uint16(249), - 2011: uint16(196), - 2012: uint16(38), - 2013: uint16(854), - 2014: uint16(498), - 2015: uint16(368), - 2016: uint16(253), - 2017: uint16(360), - 2018: uint16(897), - 2019: uint16(197), - 2020: uint16(502), - 2021: uint16(93), - 2022: uint16(19), - 2023: uint16(20), - 2024: uint16(507), - 2025: uint16(884), - 2026: uint16(363), - 2027: uint16(510), - 2028: uint16(95), - 2029: uint16(307), - 2030: uint16(160), - 2031: uint16(96), - 2032: uint16(518), - 2033: uint16(97), - 2034: uint16(1175), - 2035: uint16(1060), - 2036: uint16(1146), - 2037: uint16(40), - 2038: uint16(21), - 2039: uint16(227), - 2040: uint16(176), - 2041: uint16(1145), - 2042: uint16(282), - 2043: uint16(284), - 2044: uint16(969), - 2045: uint16(200), - 2046: uint16(963), - 2047: uint16(114), - 2048: uint16(262), - 2049: uint16(1165), - 2050: uint16(22), - 2051: uint16(23), - 2052: uint16(24), - 2053: uint16(1161), - 2054: uint16(1169), - 2055: uint16(25), - 2056: uint16(1163), - 2057: uint16(1150), - 2058: uint16(34), - 2059: uint16(26), - 2060: uint16(1168), - 2061: uint16(546), - 2062: uint16(27), - 2063: uint16(204), - 2064: uint16(101), - 2065: uint16(103), - 2066: uint16(104), - 2067: uint16(1074), - 2068: uint16(7), - 2069: uint16(1061), - 2070: uint16(1059), - 2071: uint16(1063), - 2072: uint16(1116), - 2073: uint16(1064), - 2074: uint16(1115), - 2075: uint16(268), - 2076: uint16(269), - 2077: uint16(29), - 2078: uint16(41), - 2079: uint16(270), - 2080: uint16(1024), - 2081: uint16(866), - 2082: uint16(113), - 2083: uint16(30), - 2084: uint16(568), - 2085: uint16(392), - 2086: uint16(1183), - 2087: uint16(144), - 2088: uint16(178), - 2089: uint16(1182), - 2090: uint16(271), - 2091: uint16(928), - 2092: uint16(1245), - 2093: uint16(1245), - 2094: uint16(1245), - 2095: uint16(1245), - 2096: uint16(1245), - 2097: uint16(1245), - 2098: uint16(1245), - 2099: uint16(1602), -} -var _yy_lookahead = [2285]uint16{ - 0: uint16(193), - 1: uint16(193), - 2: uint16(193), - 3: uint16(274), - 4: uint16(275), - 5: uint16(276), - 6: uint16(193), - 7: uint16(274), - 8: uint16(275), - 9: uint16(276), - 10: uint16(193), - 11: uint16(223), - 12: uint16(219), - 13: uint16(225), - 14: uint16(206), - 15: uint16(210), - 16: uint16(211), - 17: uint16(212), - 18: uint16(193), + 1598: uint16(395), + 1599: uint16(395), + 1600: uint16(394), + 1601: uint16(276), + 1602: uint16(392), + 1603: uint16(986), + 1604: uint16(987), + 1605: uint16(859), + 1606: uint16(481), + 1607: uint16(346), + 1608: uint16(264), + 1609: uint16(110), + 1610: uint16(1032), + 1611: uint16(489), + 1612: uint16(576), + 1613: uint16(1188), + 1614: uint16(503), + 1615: uint16(1088), + 1616: uint16(261), + 1617: uint16(261), + 1618: uint16(237), + 1619: uint16(576), + 1620: uint16(326), + 1621: uint16(121), + 1622: uint16(568), + 1623: uint16(1040), + 1624: uint16(4), + 1625: uint16(347), + 1626: uint16(1376), + 1627: uint16(413), + 1628: uint16(325), + 1629: uint16(119), + 1630: uint16(119), + 1631: uint16(948), + 1632: uint16(319), + 1633: uint16(567), + 1634: uint16(351), + 1635: uint16(78), + 1636: uint16(78), + 1637: uint16(120), + 1638: uint16(571), + 1639: uint16(451), + 1640: uint16(577), + 1641: uint16(451), + 1642: uint16(79), + 1643: uint16(79), + 1644: uint16(1028), + 1645: uint16(354), + 1646: uint16(356), + 1647: uint16(576), + 1648: uint16(360), + 1649: uint16(1092), + 1650: uint16(110), + 1651: uint16(576), + 1652: uint16(974), + 1653: uint16(942), + 1654: uint16(264), + 1655: uint16(123), + 1656: uint16(457), + 1657: uint16(358), + 1658: uint16(239), + 1659: uint16(576), + 1660: uint16(519), + 1661: uint16(451), + 1662: uint16(939), + 1663: uint16(1104), + 1664: uint16(123), + 1665: uint16(1104), + 1666: uint16(173), + 1667: uint16(576), + 1668: uint16(1032), + 1669: uint16(43), + 1670: uint16(63), + 1671: uint16(63), + 1672: uint16(1324), + 1673: uint16(565), + 1674: uint16(168), + 1675: uint16(168), + 1676: uint16(1028), + 1677: uint16(1028), + 1678: uint16(1030), + 1679: uint16(1031), + 1680: uint16(35), + 1681: uint16(576), + 1682: uint16(169), + 1683: uint16(169), + 1684: uint16(1308), + 1685: uint16(872), + 1686: uint16(238), + 1687: uint16(157), + 1688: uint16(1589), + 1689: uint16(576), + 1690: uint16(86), + 1691: uint16(86), + 1692: uint16(365), + 1693: uint16(89), + 1694: uint16(568), + 1695: uint16(375), + 1696: uint16(4), + 1697: uint16(1103), + 1698: uint16(941), + 1699: uint16(1103), + 1700: uint16(123), + 1701: uint16(576), + 1702: uint16(1040), + 1703: uint16(1389), + 1704: uint16(64), + 1705: uint16(64), + 1706: uint16(1188), + 1707: uint16(1434), + 1708: uint16(119), + 1709: uint16(119), + 1710: uint16(571), + 1711: uint16(576), + 1712: uint16(82), + 1713: uint16(82), + 1714: uint16(563), + 1715: uint16(576), + 1716: uint16(120), + 1717: uint16(165), + 1718: uint16(451), + 1719: uint16(577), + 1720: uint16(451), + 1721: uint16(413), + 1722: uint16(1362), + 1723: uint16(1028), + 1724: uint16(144), + 1725: uint16(144), + 1726: uint16(319), + 1727: uint16(567), + 1728: uint16(576), + 1729: uint16(1374), + 1730: uint16(562), + 1731: uint16(498), + 1732: uint16(279), + 1733: uint16(451), + 1734: uint16(83), + 1735: uint16(83), + 1736: uint16(1439), + 1737: uint16(576), + 1738: uint16(166), + 1739: uint16(166), + 1740: uint16(576), + 1741: uint16(1289), + 1742: uint16(554), + 1743: uint16(576), + 1744: uint16(1280), + 1745: uint16(565), + 1746: uint16(576), + 1747: uint16(12), + 1748: uint16(576), + 1749: uint16(1268), + 1750: uint16(457), + 1751: uint16(146), + 1752: uint16(146), + 1753: uint16(1267), + 1754: uint16(576), + 1755: uint16(1028), + 1756: uint16(1028), + 1757: uint16(1030), + 1758: uint16(1031), + 1759: uint16(35), + 1760: uint16(140), + 1761: uint16(140), + 1762: uint16(1269), + 1763: uint16(167), + 1764: uint16(167), + 1765: uint16(1609), + 1766: uint16(160), + 1767: uint16(160), + 1768: uint16(1359), + 1769: uint16(150), + 1770: uint16(150), + 1771: uint16(149), + 1772: uint16(149), + 1773: uint16(311), + 1774: uint16(1040), + 1775: uint16(576), + 1776: uint16(312), + 1777: uint16(147), + 1778: uint16(147), + 1779: uint16(313), + 1780: uint16(119), + 1781: uint16(119), + 1782: uint16(222), + 1783: uint16(235), + 1784: uint16(576), + 1785: uint16(1188), + 1786: uint16(396), + 1787: uint16(576), + 1788: uint16(120), + 1789: uint16(576), + 1790: uint16(451), + 1791: uint16(577), + 1792: uint16(451), + 1793: uint16(1192), + 1794: uint16(453), + 1795: uint16(1028), + 1796: uint16(508), + 1797: uint16(291), + 1798: uint16(148), + 1799: uint16(148), + 1800: uint16(1421), + 1801: uint16(1612), + 1802: uint16(395), + 1803: uint16(395), + 1804: uint16(394), + 1805: uint16(276), + 1806: uint16(392), + 1807: uint16(85), + 1808: uint16(85), + 1809: uint16(859), + 1810: uint16(87), + 1811: uint16(87), + 1812: uint16(84), + 1813: uint16(84), + 1814: uint16(553), + 1815: uint16(576), + 1816: uint16(294), + 1817: uint16(576), + 1818: uint16(1426), + 1819: uint16(338), + 1820: uint16(339), + 1821: uint16(1425), + 1822: uint16(237), + 1823: uint16(300), + 1824: uint16(326), + 1825: uint16(1416), + 1826: uint16(1409), + 1827: uint16(1028), + 1828: uint16(1028), + 1829: uint16(1030), + 1830: uint16(1031), + 1831: uint16(35), + 1832: uint16(325), + 1833: uint16(344), + 1834: uint16(403), + 1835: uint16(483), + 1836: uint16(226), + 1837: uint16(1307), + 1838: uint16(52), + 1839: uint16(52), + 1840: uint16(58), + 1841: uint16(58), + 1842: uint16(368), + 1843: uint16(1371), + 1844: uint16(1502), + 1845: uint16(566), + 1846: uint16(1501), + 1847: uint16(121), + 1848: uint16(568), + 1849: uint16(221), + 1850: uint16(4), + 1851: uint16(208), + 1852: uint16(268), + 1853: uint16(209), + 1854: uint16(390), + 1855: uint16(1244), + 1856: uint16(1549), + 1857: uint16(1188), + 1858: uint16(1372), + 1859: uint16(1370), + 1860: uint16(1369), + 1861: uint16(1547), + 1862: uint16(239), + 1863: uint16(184), + 1864: uint16(571), + 1865: uint16(233), + 1866: uint16(421), + 1867: uint16(1241), + 1868: uint16(95), + 1869: uint16(218), + 1870: uint16(173), + 1871: uint16(1507), + 1872: uint16(193), + 1873: uint16(43), + 1874: uint16(91), + 1875: uint16(94), + 1876: uint16(178), + 1877: uint16(186), + 1878: uint16(467), + 1879: uint16(188), + 1880: uint16(468), + 1881: uint16(1422), + 1882: uint16(13), + 1883: uint16(189), + 1884: uint16(190), + 1885: uint16(191), + 1886: uint16(501), + 1887: uint16(451), + 1888: uint16(245), + 1889: uint16(108), + 1890: uint16(238), + 1891: uint16(401), + 1892: uint16(1428), + 1893: uint16(1427), + 1894: uint16(1430), + 1895: uint16(475), + 1896: uint16(404), + 1897: uint16(1496), + 1898: uint16(197), + 1899: uint16(565), + 1900: uint16(14), + 1901: uint16(490), + 1902: uint16(249), + 1903: uint16(101), + 1904: uint16(1518), + 1905: uint16(496), + 1906: uint16(349), + 1907: uint16(280), + 1908: uint16(251), + 1909: uint16(201), + 1910: uint16(353), + 1911: uint16(499), + 1912: uint16(252), + 1913: uint16(406), + 1914: uint16(1270), + 1915: uint16(253), + 1916: uint16(517), + 1917: uint16(1327), + 1918: uint16(1326), + 1919: uint16(435), + 1920: uint16(1325), + 1921: uint16(1318), + 1922: uint16(103), + 1923: uint16(893), + 1924: uint16(1296), + 1925: uint16(413), + 1926: uint16(227), + 1927: uint16(407), + 1928: uint16(1040), + 1929: uint16(1626), + 1930: uint16(319), + 1931: uint16(567), + 1932: uint16(1625), + 1933: uint16(1297), + 1934: uint16(119), + 1935: uint16(119), + 1936: uint16(439), + 1937: uint16(367), + 1938: uint16(1317), + 1939: uint16(1295), + 1940: uint16(1624), + 1941: uint16(526), + 1942: uint16(120), + 1943: uint16(440), + 1944: uint16(451), + 1945: uint16(577), + 1946: uint16(451), + 1947: uint16(1594), + 1948: uint16(309), + 1949: uint16(1028), + 1950: uint16(310), + 1951: uint16(373), + 1952: uint16(266), + 1953: uint16(267), + 1954: uint16(457), + 1955: uint16(1580), + 1956: uint16(1579), + 1957: uint16(443), + 1958: uint16(138), + 1959: uint16(1394), + 1960: uint16(552), + 1961: uint16(1393), + 1962: uint16(11), + 1963: uint16(1483), + 1964: uint16(384), + 1965: uint16(115), + 1966: uint16(317), + 1967: uint16(1350), + 1968: uint16(109), + 1969: uint16(536), + 1970: uint16(42), + 1971: uint16(579), + 1972: uint16(382), + 1973: uint16(214), + 1974: uint16(1349), + 1975: uint16(388), + 1976: uint16(1198), + 1977: uint16(389), + 1978: uint16(275), + 1979: uint16(277), + 1980: uint16(278), + 1981: uint16(1028), + 1982: uint16(1028), + 1983: uint16(1030), + 1984: uint16(1031), + 1985: uint16(35), + 1986: uint16(580), + 1987: uint16(1265), + 1988: uint16(414), + 1989: uint16(1260), + 1990: uint16(170), + 1991: uint16(415), + 1992: uint16(183), + 1993: uint16(1534), + 1994: uint16(1535), + 1995: uint16(1533), + 1996: uint16(171), + 1997: uint16(154), + 1998: uint16(307), + 1999: uint16(1532), + 2000: uint16(846), + 2001: uint16(223), + 2002: uint16(224), + 2003: uint16(88), + 2004: uint16(452), + 2005: uint16(215), + 2006: uint16(172), + 2007: uint16(321), + 2008: uint16(234), + 2009: uint16(1102), + 2010: uint16(152), + 2011: uint16(1188), + 2012: uint16(1100), + 2013: uint16(329), + 2014: uint16(185), + 2015: uint16(174), + 2016: uint16(1223), + 2017: uint16(925), + 2018: uint16(187), + 2019: uint16(241), + 2020: uint16(337), + 2021: uint16(244), + 2022: uint16(1116), + 2023: uint16(192), + 2024: uint16(175), + 2025: uint16(176), + 2026: uint16(424), + 2027: uint16(426), + 2028: uint16(97), + 2029: uint16(194), + 2030: uint16(98), + 2031: uint16(99), + 2032: uint16(100), + 2033: uint16(177), + 2034: uint16(1119), + 2035: uint16(1115), + 2036: uint16(246), + 2037: uint16(247), + 2038: uint16(161), + 2039: uint16(24), + 2040: uint16(248), + 2041: uint16(348), + 2042: uint16(1238), + 2043: uint16(264), + 2044: uint16(1108), + 2045: uint16(250), + 2046: uint16(495), + 2047: uint16(199), + 2048: uint16(198), + 2049: uint16(15), + 2050: uint16(861), + 2051: uint16(500), + 2052: uint16(369), + 2053: uint16(254), + 2054: uint16(504), + 2055: uint16(509), + 2056: uint16(512), + 2057: uint16(200), + 2058: uint16(102), + 2059: uint16(25), + 2060: uint16(179), + 2061: uint16(361), + 2062: uint16(26), + 2063: uint16(364), + 2064: uint16(104), + 2065: uint16(891), + 2066: uint16(308), + 2067: uint16(162), + 2068: uint16(105), + 2069: uint16(904), + 2070: uint16(520), + 2071: uint16(106), + 2072: uint16(1185), + 2073: uint16(1069), + 2074: uint16(1155), + 2075: uint16(17), + 2076: uint16(228), + 2077: uint16(27), + 2078: uint16(1154), + 2079: uint16(283), + 2080: uint16(285), + 2081: uint16(263), + 2082: uint16(978), + 2083: uint16(202), + 2084: uint16(972), + 2085: uint16(123), + 2086: uint16(28), + 2087: uint16(1175), + 2088: uint16(29), + 2089: uint16(30), + 2090: uint16(1179), + 2091: uint16(1171), + 2092: uint16(31), + 2093: uint16(1173), + 2094: uint16(1160), + 2095: uint16(41), + 2096: uint16(32), + 2097: uint16(206), + 2098: uint16(548), + 2099: uint16(33), + 2100: uint16(110), + 2101: uint16(1178), + 2102: uint16(1083), + 2103: uint16(8), + 2104: uint16(112), + 2105: uint16(1070), + 2106: uint16(113), + 2107: uint16(1068), + 2108: uint16(1072), + 2109: uint16(34), + 2110: uint16(1073), + 2111: uint16(560), + 2112: uint16(1125), + 2113: uint16(269), + 2114: uint16(1124), + 2115: uint16(270), + 2116: uint16(36), + 2117: uint16(18), + 2118: uint16(1194), + 2119: uint16(1033), + 2120: uint16(873), + 2121: uint16(151), + 2122: uint16(122), + 2123: uint16(37), + 2124: uint16(393), + 2125: uint16(271), + 2126: uint16(272), + 2127: uint16(572), + 2128: uint16(181), + 2129: uint16(1193), + 2130: uint16(1256), + 2131: uint16(1256), + 2132: uint16(1256), + 2133: uint16(935), + 2134: uint16(1256), + 2135: uint16(1256), + 2136: uint16(1256), + 2137: uint16(1256), + 2138: uint16(1256), + 2139: uint16(1256), + 2140: uint16(1256), + 2141: uint16(1617), +} +var _yy_lookahead = [2328]uint16{ + 0: uint16(194), + 1: uint16(276), + 2: uint16(277), + 3: uint16(278), + 4: uint16(216), + 5: uint16(194), + 6: uint16(194), + 7: uint16(217), + 8: uint16(194), + 9: uint16(194), + 10: uint16(194), + 11: uint16(194), + 12: uint16(224), + 13: uint16(194), + 14: uint16(194), + 15: uint16(276), + 16: uint16(277), + 17: uint16(278), + 18: uint16(204), 19: uint16(19), - 20: uint16(219), - 21: uint16(233), - 22: uint16(216), - 23: uint16(216), - 24: uint16(217), - 25: uint16(216), - 26: uint16(217), - 27: uint16(193), - 28: uint16(295), - 29: uint16(216), - 30: uint16(217), + 20: uint16(206), + 21: uint16(202), + 22: uint16(297), + 23: uint16(217), + 24: uint16(218), + 25: uint16(205), + 26: uint16(207), + 27: uint16(217), + 28: uint16(205), + 29: uint16(217), + 30: uint16(218), 31: uint16(31), - 32: uint16(193), - 33: uint16(216), + 32: uint16(217), + 33: uint16(218), 34: uint16(217), - 35: uint16(193), - 36: uint16(228), - 37: uint16(213), - 38: uint16(230), + 35: uint16(218), + 36: uint16(29), + 37: uint16(217), + 38: uint16(218), 39: uint16(39), - 40: uint16(206), - 41: uint16(216), - 42: uint16(217), + 40: uint16(33), + 41: uint16(217), + 42: uint16(220), 43: uint16(43), 44: uint16(44), 45: uint16(45), @@ -149069,31 +150385,31 @@ var _yy_lookahead = [2285]uint16{ 55: uint16(55), 56: uint16(56), 57: uint16(57), - 58: uint16(193), + 58: uint16(312), 59: uint16(19), - 60: uint16(185), - 61: uint16(186), - 62: uint16(187), - 63: uint16(188), - 64: uint16(189), - 65: uint16(190), - 66: uint16(253), - 67: uint16(274), - 68: uint16(275), - 69: uint16(276), - 70: uint16(195), - 71: uint16(193), - 72: uint16(197), - 73: uint16(193), - 74: uint16(261), - 75: uint16(274), - 76: uint16(275), - 77: uint16(276), - 78: uint16(253), - 79: uint16(204), - 80: uint16(238), - 81: uint16(204), - 82: uint16(81), + 60: uint16(240), + 61: uint16(241), + 62: uint16(316), + 63: uint16(240), + 64: uint16(241), + 65: uint16(194), + 66: uint16(46), + 67: uint16(47), + 68: uint16(48), + 69: uint16(49), + 70: uint16(22), + 71: uint16(254), + 72: uint16(65), + 73: uint16(253), + 74: uint16(254), + 75: uint16(255), + 76: uint16(253), + 77: uint16(194), + 78: uint16(255), + 79: uint16(194), + 80: uint16(263), + 81: uint16(258), + 82: uint16(259), 83: uint16(43), 84: uint16(44), 85: uint16(45), @@ -149109,10 +150425,10 @@ var _yy_lookahead = [2285]uint16{ 95: uint16(55), 96: uint16(56), 97: uint16(57), - 98: uint16(274), - 99: uint16(275), - 100: uint16(276), - 101: uint16(262), + 98: uint16(276), + 99: uint16(277), + 100: uint16(278), + 101: uint16(285), 102: uint16(102), 103: uint16(103), 104: uint16(104), @@ -149125,34 +150441,34 @@ var _yy_lookahead = [2285]uint16{ 111: uint16(111), 112: uint16(112), 113: uint16(113), - 114: uint16(239), - 115: uint16(240), - 116: uint16(239), - 117: uint16(240), - 118: uint16(210), - 119: uint16(211), - 120: uint16(212), - 121: uint16(314), - 122: uint16(315), - 123: uint16(314), - 124: uint16(59), - 125: uint16(316), + 114: uint16(59), + 115: uint16(186), + 116: uint16(187), + 117: uint16(188), + 118: uint16(189), + 119: uint16(190), + 120: uint16(191), + 121: uint16(310), + 122: uint16(239), + 123: uint16(317), + 124: uint16(318), + 125: uint16(196), 126: uint16(86), - 127: uint16(252), + 127: uint16(198), 128: uint16(88), - 129: uint16(252), + 129: uint16(317), 130: uint16(19), - 131: uint16(314), - 132: uint16(315), - 133: uint16(256), - 134: uint16(257), - 135: uint16(113), + 131: uint16(319), + 132: uint16(317), + 133: uint16(318), + 134: uint16(205), + 135: uint16(264), 136: uint16(25), - 137: uint16(72), - 138: uint16(296), - 139: uint16(138), - 140: uint16(139), - 141: uint16(266), + 137: uint16(211), + 138: uint16(212), + 139: uint16(213), + 140: uint16(205), + 141: uint16(121), 142: uint16(102), 143: uint16(103), 144: uint16(104), @@ -149180,50 +150496,50 @@ var _yy_lookahead = [2285]uint16{ 166: uint16(55), 167: uint16(56), 168: uint16(57), - 169: uint16(81), - 170: uint16(292), - 171: uint16(59), - 172: uint16(292), - 173: uint16(298), - 174: uint16(108), - 175: uint16(109), - 176: uint16(110), - 177: uint16(111), - 178: uint16(112), - 179: uint16(113), + 169: uint16(240), + 170: uint16(241), + 171: uint16(116), + 172: uint16(117), + 173: uint16(118), + 174: uint16(119), + 175: uint16(240), + 176: uint16(241), + 177: uint16(122), + 178: uint16(123), + 179: uint16(124), 180: uint16(69), - 181: uint16(116), - 182: uint16(117), - 183: uint16(118), - 184: uint16(72), + 181: uint16(298), + 182: uint16(253), + 183: uint16(194), + 184: uint16(255), 185: uint16(106), 186: uint16(107), - 187: uint16(193), - 188: uint16(111), - 189: uint16(112), - 190: uint16(113), + 187: uint16(132), + 188: uint16(253), + 189: uint16(141), + 190: uint16(255), 191: uint16(54), 192: uint16(55), 193: uint16(56), 194: uint16(57), 195: uint16(58), - 196: uint16(102), - 197: uint16(103), - 198: uint16(104), - 199: uint16(105), - 200: uint16(106), - 201: uint16(107), - 202: uint16(108), - 203: uint16(109), - 204: uint16(110), - 205: uint16(111), - 206: uint16(112), - 207: uint16(113), - 208: uint16(120), - 209: uint16(25), - 210: uint16(216), - 211: uint16(217), - 212: uint16(145), + 196: uint16(207), + 197: uint16(268), + 198: uint16(102), + 199: uint16(103), + 200: uint16(104), + 201: uint16(105), + 202: uint16(106), + 203: uint16(107), + 204: uint16(108), + 205: uint16(109), + 206: uint16(110), + 207: uint16(111), + 208: uint16(112), + 209: uint16(113), + 210: uint16(214), + 211: uint16(128), + 212: uint16(129), 213: uint16(102), 214: uint16(103), 215: uint16(104), @@ -149236,13 +150552,13 @@ var _yy_lookahead = [2285]uint16{ 222: uint16(111), 223: uint16(112), 224: uint16(113), - 225: uint16(231), - 226: uint16(138), - 227: uint16(139), - 228: uint16(116), - 229: uint16(117), - 230: uint16(118), - 231: uint16(164), + 225: uint16(134), + 226: uint16(25), + 227: uint16(136), + 228: uint16(137), + 229: uint16(300), + 230: uint16(165), + 231: uint16(166), 232: uint16(153), 233: uint16(19), 234: uint16(155), @@ -149262,12 +150578,12 @@ var _yy_lookahead = [2285]uint16{ 248: uint16(111), 249: uint16(112), 250: uint16(113), - 251: uint16(128), - 252: uint16(129), - 253: uint16(46), - 254: uint16(47), - 255: uint16(48), - 256: uint16(49), + 251: uint16(108), + 252: uint16(109), + 253: uint16(110), + 254: uint16(111), + 255: uint16(112), + 256: uint16(113), 257: uint16(43), 258: uint16(44), 259: uint16(45), @@ -149283,15 +150599,15 @@ var _yy_lookahead = [2285]uint16{ 269: uint16(55), 270: uint16(56), 271: uint16(57), - 272: uint16(216), - 273: uint16(193), - 274: uint16(25), - 275: uint16(59), - 276: uint16(193), + 272: uint16(276), + 273: uint16(277), + 274: uint16(278), + 275: uint16(113), + 276: uint16(194), 277: uint16(19), - 278: uint16(165), - 279: uint16(166), - 280: uint16(193), + 278: uint16(22), + 279: uint16(23), + 280: uint16(194), 281: uint16(67), 282: uint16(24), 283: uint16(102), @@ -149306,12 +150622,12 @@ var _yy_lookahead = [2285]uint16{ 292: uint16(111), 293: uint16(112), 294: uint16(113), - 295: uint16(73), - 296: uint16(216), - 297: uint16(217), - 298: uint16(59), - 299: uint16(216), - 300: uint16(217), + 295: uint16(220), + 296: uint16(250), + 297: uint16(59), + 298: uint16(252), + 299: uint16(217), + 300: uint16(218), 301: uint16(43), 302: uint16(44), 303: uint16(45), @@ -149339,38 +150655,38 @@ var _yy_lookahead = [2285]uint16{ 325: uint16(111), 326: uint16(112), 327: uint16(113), - 328: uint16(121), - 329: uint16(145), - 330: uint16(59), - 331: uint16(193), - 332: uint16(116), - 333: uint16(117), - 334: uint16(118), - 335: uint16(119), - 336: uint16(273), - 337: uint16(204), - 338: uint16(122), - 339: uint16(123), - 340: uint16(124), + 328: uint16(106), + 329: uint16(107), + 330: uint16(108), + 331: uint16(109), + 332: uint16(110), + 333: uint16(111), + 334: uint16(112), + 335: uint16(113), + 336: uint16(254), + 337: uint16(59), + 338: uint16(205), + 339: uint16(138), + 340: uint16(139), 341: uint16(19), 342: uint16(20), - 343: uint16(134), + 343: uint16(194), 344: uint16(22), - 345: uint16(136), - 346: uint16(137), - 347: uint16(19), - 348: uint16(132), - 349: uint16(127), - 350: uint16(128), - 351: uint16(129), - 352: uint16(24), - 353: uint16(22), - 354: uint16(23), - 355: uint16(116), - 356: uint16(117), - 357: uint16(118), + 345: uint16(263), + 346: uint16(22), + 347: uint16(23), + 348: uint16(231), + 349: uint16(25), + 350: uint16(72), + 351: uint16(276), + 352: uint16(277), + 353: uint16(278), + 354: uint16(116), + 355: uint16(117), + 356: uint16(118), + 357: uint16(101), 358: uint16(36), - 359: uint16(193), + 359: uint16(76), 360: uint16(102), 361: uint16(103), 362: uint16(104), @@ -149383,37 +150699,37 @@ var _yy_lookahead = [2285]uint16{ 369: uint16(111), 370: uint16(112), 371: uint16(113), - 372: uint16(239), + 372: uint16(89), 373: uint16(240), - 374: uint16(311), - 375: uint16(312), - 376: uint16(215), - 377: uint16(106), - 378: uint16(107), - 379: uint16(241), + 374: uint16(241), + 375: uint16(92), + 376: uint16(73), + 377: uint16(194), + 378: uint16(194), + 379: uint16(73), 380: uint16(19), 381: uint16(59), - 382: uint16(216), - 383: uint16(217), - 384: uint16(223), - 385: uint16(252), - 386: uint16(115), - 387: uint16(116), - 388: uint16(117), - 389: uint16(118), - 390: uint16(151), - 391: uint16(120), - 392: uint16(26), + 382: uint16(188), + 383: uint16(189), + 384: uint16(190), + 385: uint16(191), + 386: uint16(253), + 387: uint16(81), + 388: uint16(255), + 389: uint16(151), + 390: uint16(196), + 391: uint16(25), + 392: uint16(198), 393: uint16(71), - 394: uint16(193), - 395: uint16(308), - 396: uint16(309), - 397: uint16(193), - 398: uint16(149), - 399: uint16(128), - 400: uint16(313), - 401: uint16(216), - 402: uint16(269), + 394: uint16(116), + 395: uint16(117), + 396: uint16(118), + 397: uint16(311), + 398: uint16(312), + 399: uint16(205), + 400: uint16(217), + 401: uint16(218), + 402: uint16(316), 403: uint16(81), 404: uint16(43), 405: uint16(44), @@ -149430,50 +150746,50 @@ var _yy_lookahead = [2285]uint16{ 416: uint16(55), 417: uint16(56), 418: uint16(57), - 419: uint16(253), - 420: uint16(216), - 421: uint16(217), + 419: uint16(270), + 420: uint16(22), + 421: uint16(23), 422: uint16(100), - 423: uint16(95), - 424: uint16(153), - 425: uint16(59), - 426: uint16(155), - 427: uint16(261), + 423: uint16(25), + 424: uint16(59), + 425: uint16(101), + 426: uint16(138), + 427: uint16(139), 428: uint16(106), 429: uint16(107), - 430: uint16(25), - 431: uint16(193), - 432: uint16(101), - 433: uint16(193), - 434: uint16(193), - 435: uint16(231), + 430: uint16(127), + 431: uint16(128), + 432: uint16(129), + 433: uint16(127), + 434: uint16(240), + 435: uint16(241), 436: uint16(114), - 437: uint16(25), + 437: uint16(254), 438: uint16(116), 439: uint16(117), 440: uint16(118), - 441: uint16(113), - 442: uint16(304), + 441: uint16(76), + 442: uint16(76), 443: uint16(121), - 444: uint16(193), - 445: uint16(204), - 446: uint16(59), - 447: uint16(119), - 448: uint16(120), - 449: uint16(121), - 450: uint16(122), - 451: uint16(123), - 452: uint16(124), - 453: uint16(125), - 454: uint16(216), - 455: uint16(217), - 456: uint16(193), - 457: uint16(216), - 458: uint16(217), - 459: uint16(131), + 444: uint16(138), + 445: uint16(139), + 446: uint16(263), + 447: uint16(253), + 448: uint16(264), + 449: uint16(255), + 450: uint16(205), + 451: uint16(275), + 452: uint16(87), + 453: uint16(19), + 454: uint16(89), + 455: uint16(89), + 456: uint16(194), + 457: uint16(92), + 458: uint16(92), + 459: uint16(199), 460: uint16(138), 461: uint16(139), - 462: uint16(230), + 462: uint16(268), 463: uint16(102), 464: uint16(103), 465: uint16(104), @@ -149491,37 +150807,37 @@ var _yy_lookahead = [2285]uint16{ 477: uint16(155), 478: uint16(156), 479: uint16(157), - 480: uint16(239), - 481: uint16(240), - 482: uint16(116), - 483: uint16(117), - 484: uint16(118), - 485: uint16(76), - 486: uint16(193), - 487: uint16(23), + 480: uint16(81), + 481: uint16(116), + 482: uint16(117), + 483: uint16(118), + 484: uint16(129), + 485: uint16(240), + 486: uint16(241), + 487: uint16(224), 488: uint16(19), - 489: uint16(25), - 490: uint16(22), - 491: uint16(253), + 489: uint16(226), + 490: uint16(314), + 491: uint16(315), 492: uint16(23), - 493: uint16(252), - 494: uint16(253), - 495: uint16(108), - 496: uint16(87), - 497: uint16(204), - 498: uint16(89), - 499: uint16(261), - 500: uint16(198), - 501: uint16(92), - 502: uint16(261), - 503: uint16(116), - 504: uint16(117), - 505: uint16(118), - 506: uint16(193), - 507: uint16(306), - 508: uint16(307), - 509: uint16(216), - 510: uint16(217), + 493: uint16(25), + 494: uint16(300), + 495: uint16(59), + 496: uint16(22), + 497: uint16(234), + 498: uint16(253), + 499: uint16(101), + 500: uint16(255), + 501: uint16(236), + 502: uint16(237), + 503: uint16(26), + 504: uint16(194), + 505: uint16(183), + 506: uint16(194), + 507: uint16(152), + 508: uint16(72), + 509: uint16(22), + 510: uint16(145), 511: uint16(150), 512: uint16(43), 513: uint16(44), @@ -149538,34 +150854,34 @@ var _yy_lookahead = [2285]uint16{ 524: uint16(55), 525: uint16(56), 526: uint16(57), - 527: uint16(59), - 528: uint16(193), - 529: uint16(216), - 530: uint16(217), + 527: uint16(217), + 528: uint16(218), + 529: uint16(217), + 530: uint16(218), 531: uint16(19), - 532: uint16(239), - 533: uint16(240), - 534: uint16(283), + 532: uint16(189), + 533: uint16(59), + 534: uint16(191), 535: uint16(23), - 536: uint16(106), - 537: uint16(107), - 538: uint16(108), - 539: uint16(109), - 540: uint16(110), - 541: uint16(111), - 542: uint16(112), - 543: uint16(113), - 544: uint16(73), - 545: uint16(252), - 546: uint16(253), - 547: uint16(142), - 548: uint16(308), - 549: uint16(309), - 550: uint16(138), - 551: uint16(139), - 552: uint16(81), - 553: uint16(313), - 554: uint16(145), + 536: uint16(59), + 537: uint16(138), + 538: uint16(139), + 539: uint16(196), + 540: uint16(135), + 541: uint16(198), + 542: uint16(232), + 543: uint16(283), + 544: uint16(232), + 545: uint16(140), + 546: uint16(59), + 547: uint16(287), + 548: uint16(205), + 549: uint16(275), + 550: uint16(116), + 551: uint16(205), + 552: uint16(116), + 553: uint16(117), + 554: uint16(118), 555: uint16(43), 556: uint16(44), 557: uint16(45), @@ -149581,7 +150897,7 @@ var _yy_lookahead = [2285]uint16{ 567: uint16(55), 568: uint16(56), 569: uint16(57), - 570: uint16(307), + 570: uint16(194), 571: uint16(102), 572: uint16(103), 573: uint16(104), @@ -149594,37 +150910,37 @@ var _yy_lookahead = [2285]uint16{ 580: uint16(111), 581: uint16(112), 582: uint16(113), - 583: uint16(281), - 584: uint16(116), - 585: uint16(117), - 586: uint16(118), - 587: uint16(285), - 588: uint16(23), - 589: uint16(193), - 590: uint16(25), - 591: uint16(119), - 592: uint16(59), - 593: uint16(193), - 594: uint16(122), - 595: uint16(123), - 596: uint16(124), - 597: uint16(59), - 598: uint16(127), - 599: uint16(203), + 583: uint16(240), + 584: uint16(241), + 585: uint16(194), + 586: uint16(240), + 587: uint16(241), + 588: uint16(314), + 589: uint16(315), + 590: uint16(116), + 591: uint16(117), + 592: uint16(118), + 593: uint16(116), + 594: uint16(117), + 595: uint16(118), + 596: uint16(253), + 597: uint16(194), + 598: uint16(255), + 599: uint16(253), 600: uint16(59), - 601: uint16(205), + 601: uint16(255), 602: uint16(19), - 603: uint16(268), - 604: uint16(132), - 605: uint16(25), + 603: uint16(116), + 604: uint16(117), + 605: uint16(118), 606: uint16(23), 607: uint16(22), - 608: uint16(193), - 609: uint16(138), - 610: uint16(139), - 611: uint16(249), - 612: uint16(204), - 613: uint16(251), + 608: uint16(217), + 609: uint16(218), + 610: uint16(142), + 611: uint16(268), + 612: uint16(205), + 613: uint16(275), 614: uint16(102), 615: uint16(103), 616: uint16(104), @@ -149653,29 +150969,29 @@ var _yy_lookahead = [2285]uint16{ 639: uint16(56), 640: uint16(57), 641: uint16(19), - 642: uint16(22), - 643: uint16(23), + 642: uint16(194), + 643: uint16(300), 644: uint16(59), 645: uint16(23), - 646: uint16(25), - 647: uint16(239), - 648: uint16(240), - 649: uint16(116), - 650: uint16(117), - 651: uint16(118), - 652: uint16(193), - 653: uint16(11), - 654: uint16(116), - 655: uint16(117), - 656: uint16(118), - 657: uint16(116), + 646: uint16(119), + 647: uint16(240), + 648: uint16(241), + 649: uint16(122), + 650: uint16(123), + 651: uint16(124), + 652: uint16(314), + 653: uint16(315), + 654: uint16(194), + 655: uint16(236), + 656: uint16(237), + 657: uint16(194), 658: uint16(117), - 659: uint16(118), - 660: uint16(252), - 661: uint16(269), - 662: uint16(22), - 663: uint16(193), - 664: uint16(15), + 659: uint16(132), + 660: uint16(253), + 661: uint16(81), + 662: uint16(255), + 663: uint16(205), + 664: uint16(59), 665: uint16(43), 666: uint16(44), 667: uint16(45), @@ -149691,11 +151007,11 @@ var _yy_lookahead = [2285]uint16{ 677: uint16(55), 678: uint16(56), 679: uint16(57), - 680: uint16(273), - 681: uint16(143), - 682: uint16(193), - 683: uint16(118), - 684: uint16(143), + 680: uint16(217), + 681: uint16(218), + 682: uint16(194), + 683: uint16(194), + 684: uint16(194), 685: uint16(102), 686: uint16(103), 687: uint16(104), @@ -149708,33 +151024,33 @@ var _yy_lookahead = [2285]uint16{ 694: uint16(111), 695: uint16(112), 696: uint16(113), - 697: uint16(76), - 698: uint16(118), - 699: uint16(59), - 700: uint16(241), + 697: uint16(294), + 698: uint16(240), + 699: uint16(241), + 700: uint16(120), 701: uint16(116), 702: uint16(117), 703: uint16(118), - 704: uint16(304), - 705: uint16(216), + 704: uint16(59), + 705: uint16(194), 706: uint16(217), - 707: uint16(292), - 708: uint16(143), - 709: uint16(60), - 710: uint16(89), - 711: uint16(241), + 707: uint16(218), + 708: uint16(211), + 709: uint16(212), + 710: uint16(213), + 711: uint16(253), 712: uint16(19), - 713: uint16(92), - 714: uint16(193), - 715: uint16(193), + 713: uint16(255), + 714: uint16(194), + 715: uint16(19), 716: uint16(23), - 717: uint16(22), - 718: uint16(311), - 719: uint16(312), - 720: uint16(231), - 721: uint16(101), - 722: uint16(22), - 723: uint16(143), + 717: uint16(254), + 718: uint16(138), + 719: uint16(139), + 720: uint16(24), + 721: uint16(232), + 722: uint16(117), + 723: uint16(194), 724: uint16(102), 725: uint16(103), 726: uint16(104), @@ -149763,29 +151079,29 @@ var _yy_lookahead = [2285]uint16{ 749: uint16(56), 750: uint16(57), 751: uint16(19), - 752: uint16(193), - 753: uint16(193), - 754: uint16(59), + 752: uint16(264), + 753: uint16(108), + 754: uint16(76), 755: uint16(23), - 756: uint16(116), - 757: uint16(117), - 758: uint16(118), - 759: uint16(59), - 760: uint16(201), - 761: uint16(21), - 762: uint16(241), - 763: uint16(304), - 764: uint16(193), - 765: uint16(206), - 766: uint16(127), - 767: uint16(128), - 768: uint16(129), - 769: uint16(193), - 770: uint16(128), - 771: uint16(129), - 772: uint16(235), - 773: uint16(236), - 774: uint16(304), + 756: uint16(127), + 757: uint16(128), + 758: uint16(129), + 759: uint16(311), + 760: uint16(312), + 761: uint16(116), + 762: uint16(117), + 763: uint16(118), + 764: uint16(316), + 765: uint16(87), + 766: uint16(306), + 767: uint16(89), + 768: uint16(308), + 769: uint16(194), + 770: uint16(92), + 771: uint16(22), + 772: uint16(59), + 773: uint16(194), + 774: uint16(22), 775: uint16(43), 776: uint16(44), 777: uint16(45), @@ -149801,11 +151117,11 @@ var _yy_lookahead = [2285]uint16{ 787: uint16(55), 788: uint16(56), 789: uint16(57), - 790: uint16(22), - 791: uint16(193), - 792: uint16(216), - 793: uint16(217), - 794: uint16(193), + 790: uint16(194), + 791: uint16(95), + 792: uint16(217), + 793: uint16(218), + 794: uint16(265), 795: uint16(102), 796: uint16(103), 797: uint16(104), @@ -149818,33 +151134,33 @@ var _yy_lookahead = [2285]uint16{ 804: uint16(111), 805: uint16(112), 806: uint16(113), - 807: uint16(231), - 808: uint16(193), - 809: uint16(193), - 810: uint16(193), - 811: uint16(116), - 812: uint16(117), - 813: uint16(118), - 814: uint16(216), - 815: uint16(217), - 816: uint16(116), - 817: uint16(117), - 818: uint16(118), - 819: uint16(226), - 820: uint16(80), - 821: uint16(193), + 807: uint16(232), + 808: uint16(59), + 809: uint16(113), + 810: uint16(25), + 811: uint16(59), + 812: uint16(194), + 813: uint16(217), + 814: uint16(218), + 815: uint16(119), + 816: uint16(120), + 817: uint16(121), + 818: uint16(122), + 819: uint16(123), + 820: uint16(124), + 821: uint16(125), 822: uint16(19), - 823: uint16(235), - 824: uint16(236), - 825: uint16(304), + 823: uint16(145), + 824: uint16(194), + 825: uint16(194), 826: uint16(23), - 827: uint16(211), - 828: uint16(212), - 829: uint16(231), - 830: uint16(204), - 831: uint16(216), - 832: uint16(217), - 833: uint16(205), + 827: uint16(131), + 828: uint16(232), + 829: uint16(116), + 830: uint16(117), + 831: uint16(118), + 832: uint16(35), + 833: uint16(194), 834: uint16(102), 835: uint16(103), 836: uint16(104), @@ -149873,29 +151189,29 @@ var _yy_lookahead = [2285]uint16{ 859: uint16(56), 860: uint16(57), 861: uint16(19), - 862: uint16(193), - 863: uint16(123), - 864: uint16(76), - 865: uint16(239), - 866: uint16(240), - 867: uint16(193), - 868: uint16(253), - 869: uint16(239), - 870: uint16(240), - 871: uint16(239), - 872: uint16(240), - 873: uint16(244), - 874: uint16(106), - 875: uint16(107), - 876: uint16(193), - 877: uint16(89), - 878: uint16(252), - 879: uint16(193), - 880: uint16(92), - 881: uint16(59), - 882: uint16(252), - 883: uint16(254), - 884: uint16(252), + 862: uint16(194), + 863: uint16(66), + 864: uint16(194), + 865: uint16(116), + 866: uint16(117), + 867: uint16(118), + 868: uint16(116), + 869: uint16(117), + 870: uint16(118), + 871: uint16(74), + 872: uint16(242), + 873: uint16(294), + 874: uint16(194), + 875: uint16(194), + 876: uint16(206), + 877: uint16(23), + 878: uint16(194), + 879: uint16(25), + 880: uint16(194), + 881: uint16(111), + 882: uint16(112), + 883: uint16(113), + 884: uint16(25), 885: uint16(43), 886: uint16(44), 887: uint16(45), @@ -149911,11 +151227,11 @@ var _yy_lookahead = [2285]uint16{ 897: uint16(55), 898: uint16(56), 899: uint16(57), - 900: uint16(284), - 901: uint16(161), - 902: uint16(216), + 900: uint16(24), + 901: uint16(194), + 902: uint16(194), 903: uint16(217), - 904: uint16(193), + 904: uint16(218), 905: uint16(102), 906: uint16(103), 907: uint16(104), @@ -149928,33 +151244,33 @@ var _yy_lookahead = [2285]uint16{ 914: uint16(111), 915: uint16(112), 916: uint16(113), - 917: uint16(231), - 918: uint16(193), - 919: uint16(244), - 920: uint16(187), - 921: uint16(188), - 922: uint16(189), - 923: uint16(190), - 924: uint16(7), - 925: uint16(8), - 926: uint16(9), - 927: uint16(309), - 928: uint16(195), - 929: uint16(254), - 930: uint16(197), - 931: uint16(313), + 917: uint16(241), + 918: uint16(232), + 919: uint16(194), + 920: uint16(212), + 921: uint16(213), + 922: uint16(242), + 923: uint16(242), + 924: uint16(217), + 925: uint16(218), + 926: uint16(242), + 927: uint16(130), + 928: uint16(11), + 929: uint16(253), + 930: uint16(194), + 931: uint16(255), 932: uint16(19), - 933: uint16(127), - 934: uint16(128), - 935: uint16(129), - 936: uint16(262), - 937: uint16(204), - 938: uint16(22), - 939: uint16(117), - 940: uint16(24), - 941: uint16(216), + 933: uint16(265), + 934: uint16(149), + 935: uint16(59), + 936: uint16(306), + 937: uint16(194), + 938: uint16(308), + 939: uint16(232), + 940: uint16(309), + 941: uint16(310), 942: uint16(217), - 943: uint16(273), + 943: uint16(218), 944: uint16(102), 945: uint16(103), 946: uint16(104), @@ -149982,36 +151298,36 @@ var _yy_lookahead = [2285]uint16{ 968: uint16(55), 969: uint16(56), 970: uint16(57), - 971: uint16(193), - 972: uint16(239), - 973: uint16(240), - 974: uint16(193), - 975: uint16(59), + 971: uint16(194), + 972: uint16(194), + 973: uint16(59), + 974: uint16(194), + 975: uint16(239), 976: uint16(19), - 977: uint16(188), - 978: uint16(253), - 979: uint16(190), - 980: uint16(193), - 981: uint16(311), - 982: uint16(312), - 983: uint16(16), - 984: uint16(195), - 985: uint16(252), - 986: uint16(197), - 987: uint16(193), - 988: uint16(19), - 989: uint16(301), - 990: uint16(302), - 991: uint16(135), - 992: uint16(193), - 993: uint16(204), - 994: uint16(216), + 977: uint16(194), + 978: uint16(25), + 979: uint16(254), + 980: uint16(303), + 981: uint16(304), + 982: uint16(23), + 983: uint16(194), + 984: uint16(25), + 985: uint16(126), + 986: uint16(306), + 987: uint16(306), + 988: uint16(308), + 989: uint16(308), + 990: uint16(306), + 991: uint16(271), + 992: uint16(308), + 993: uint16(117), + 994: uint16(286), 995: uint16(217), - 996: uint16(140), - 997: uint16(216), - 998: uint16(217), - 999: uint16(266), - 1000: uint16(204), + 996: uint16(218), + 997: uint16(217), + 998: uint16(218), + 999: uint16(194), + 1000: uint16(194), 1001: uint16(159), 1002: uint16(45), 1003: uint16(46), @@ -150038,38 +151354,38 @@ var _yy_lookahead = [2285]uint16{ 1024: uint16(111), 1025: uint16(112), 1026: uint16(113), - 1027: uint16(12), + 1027: uint16(59), 1028: uint16(239), - 1029: uint16(240), - 1030: uint16(193), - 1031: uint16(298), - 1032: uint16(238), - 1033: uint16(117), - 1034: uint16(253), - 1035: uint16(239), + 1029: uint16(194), + 1030: uint16(116), + 1031: uint16(117), + 1032: uint16(118), + 1033: uint16(260), + 1034: uint16(254), + 1035: uint16(194), 1036: uint16(240), - 1037: uint16(238), - 1038: uint16(259), - 1039: uint16(260), - 1040: uint16(193), - 1041: uint16(252), - 1042: uint16(27), - 1043: uint16(193), - 1044: uint16(77), - 1045: uint16(193), - 1046: uint16(79), - 1047: uint16(204), - 1048: uint16(252), - 1049: uint16(262), - 1050: uint16(193), - 1051: uint16(299), - 1052: uint16(300), - 1053: uint16(193), - 1054: uint16(100), - 1055: uint16(266), - 1056: uint16(278), - 1057: uint16(42), - 1058: uint16(204), + 1037: uint16(241), + 1038: uint16(194), + 1039: uint16(233), + 1040: uint16(205), + 1041: uint16(240), + 1042: uint16(241), + 1043: uint16(205), + 1044: uint16(239), + 1045: uint16(128), + 1046: uint16(129), + 1047: uint16(270), + 1048: uint16(265), + 1049: uint16(253), + 1050: uint16(194), + 1051: uint16(255), + 1052: uint16(217), + 1053: uint16(218), + 1054: uint16(253), + 1055: uint16(194), + 1056: uint16(255), + 1057: uint16(143), + 1058: uint16(280), 1059: uint16(102), 1060: uint16(103), 1061: uint16(104), @@ -150082,51 +151398,51 @@ var _yy_lookahead = [2285]uint16{ 1068: uint16(111), 1069: uint16(112), 1070: uint16(113), - 1071: uint16(117), + 1071: uint16(118), 1072: uint16(159), - 1073: uint16(216), - 1074: uint16(217), - 1075: uint16(121), - 1076: uint16(216), - 1077: uint16(217), - 1078: uint16(63), - 1079: uint16(193), - 1080: uint16(193), - 1081: uint16(193), - 1082: uint16(239), - 1083: uint16(240), - 1084: uint16(115), - 1085: uint16(116), - 1086: uint16(193), - 1087: uint16(298), - 1088: uint16(73), - 1089: uint16(240), - 1090: uint16(238), - 1091: uint16(231), + 1073: uint16(217), + 1074: uint16(218), + 1075: uint16(240), + 1076: uint16(241), + 1077: uint16(118), + 1078: uint16(240), + 1079: uint16(241), + 1080: uint16(194), + 1081: uint16(194), + 1082: uint16(194), + 1083: uint16(239), + 1084: uint16(116), + 1085: uint16(117), + 1086: uint16(118), + 1087: uint16(22), + 1088: uint16(253), + 1089: uint16(254), + 1090: uint16(255), + 1091: uint16(253), 1092: uint16(19), - 1093: uint16(239), - 1094: uint16(240), - 1095: uint16(252), - 1096: uint16(22), + 1093: uint16(255), + 1094: uint16(233), + 1095: uint16(194), + 1096: uint16(143), 1097: uint16(24), - 1098: uint16(211), + 1098: uint16(263), 1099: uint16(212), - 1100: uint16(263), - 1101: uint16(252), - 1102: uint16(216), + 1100: uint16(213), + 1101: uint16(194), + 1102: uint16(143), 1103: uint16(217), - 1104: uint16(216), + 1104: uint16(218), 1105: uint16(217), - 1106: uint16(252), - 1107: uint16(153), - 1108: uint16(154), - 1109: uint16(155), - 1110: uint16(253), - 1111: uint16(193), + 1106: uint16(218), + 1107: uint16(261), + 1108: uint16(262), + 1109: uint16(271), + 1110: uint16(254), + 1111: uint16(143), 1112: uint16(19), - 1113: uint16(144), - 1114: uint16(213), - 1115: uint16(268), + 1113: uint16(7), + 1114: uint16(8), + 1115: uint16(9), 1116: uint16(43), 1117: uint16(44), 1118: uint16(45), @@ -150142,11 +151458,11 @@ var _yy_lookahead = [2285]uint16{ 1128: uint16(55), 1129: uint16(56), 1130: uint16(57), - 1131: uint16(193), + 1131: uint16(16), 1132: uint16(19), - 1133: uint16(59), - 1134: uint16(216), - 1135: uint16(217), + 1133: uint16(22), + 1134: uint16(23), + 1135: uint16(294), 1136: uint16(43), 1137: uint16(44), 1138: uint16(45), @@ -150162,11 +151478,11 @@ var _yy_lookahead = [2285]uint16{ 1148: uint16(55), 1149: uint16(56), 1150: uint16(57), - 1151: uint16(193), - 1152: uint16(19), - 1153: uint16(24), - 1154: uint16(216), - 1155: uint16(217), + 1151: uint16(312), + 1152: uint16(194), + 1153: uint16(214), + 1154: uint16(21), + 1155: uint16(316), 1156: uint16(43), 1157: uint16(44), 1158: uint16(45), @@ -150182,10 +151498,10 @@ var _yy_lookahead = [2285]uint16{ 1168: uint16(55), 1169: uint16(56), 1170: uint16(57), - 1171: uint16(284), - 1172: uint16(193), - 1173: uint16(208), - 1174: uint16(209), + 1171: uint16(106), + 1172: uint16(107), + 1173: uint16(286), + 1174: uint16(194), 1175: uint16(102), 1176: uint16(103), 1177: uint16(104), @@ -150198,14 +151514,14 @@ var _yy_lookahead = [2285]uint16{ 1184: uint16(111), 1185: uint16(112), 1186: uint16(113), - 1187: uint16(286), - 1188: uint16(59), - 1189: uint16(193), - 1190: uint16(232), - 1191: uint16(117), - 1192: uint16(291), - 1193: uint16(193), - 1194: uint16(193), + 1187: uint16(207), + 1188: uint16(158), + 1189: uint16(59), + 1190: uint16(160), + 1191: uint16(22), + 1192: uint16(77), + 1193: uint16(24), + 1194: uint16(79), 1195: uint16(102), 1196: uint16(103), 1197: uint16(104), @@ -150218,14 +151534,14 @@ var _yy_lookahead = [2285]uint16{ 1204: uint16(111), 1205: uint16(112), 1206: uint16(113), - 1207: uint16(193), - 1208: uint16(204), - 1209: uint16(22), - 1210: uint16(23), - 1211: uint16(193), - 1212: uint16(25), - 1213: uint16(66), - 1214: uint16(193), + 1207: uint16(194), + 1208: uint16(194), + 1209: uint16(229), + 1210: uint16(194), + 1211: uint16(231), + 1212: uint16(101), + 1213: uint16(80), + 1214: uint16(22), 1215: uint16(102), 1216: uint16(103), 1217: uint16(104), @@ -150238,39 +151554,39 @@ var _yy_lookahead = [2285]uint16{ 1224: uint16(111), 1225: uint16(112), 1226: uint16(113), - 1227: uint16(193), - 1228: uint16(193), - 1229: uint16(193), - 1230: uint16(216), - 1231: uint16(217), - 1232: uint16(85), - 1233: uint16(193), - 1234: uint16(238), + 1227: uint16(288), + 1228: uint16(59), + 1229: uint16(12), + 1230: uint16(217), + 1231: uint16(218), + 1232: uint16(293), + 1233: uint16(217), + 1234: uint16(218), 1235: uint16(19), - 1236: uint16(16), - 1237: uint16(216), - 1238: uint16(217), - 1239: uint16(238), - 1240: uint16(193), - 1241: uint16(94), - 1242: uint16(193), - 1243: uint16(239), - 1244: uint16(240), - 1245: uint16(231), - 1246: uint16(117), - 1247: uint16(268), - 1248: uint16(35), - 1249: uint16(116), - 1250: uint16(216), - 1251: uint16(217), - 1252: uint16(216), - 1253: uint16(217), - 1254: uint16(22), - 1255: uint16(23), - 1256: uint16(252), - 1257: uint16(25), - 1258: uint16(208), - 1259: uint16(209), + 1236: uint16(106), + 1237: uint16(107), + 1238: uint16(59), + 1239: uint16(19), + 1240: uint16(16), + 1241: uint16(127), + 1242: uint16(128), + 1243: uint16(129), + 1244: uint16(27), + 1245: uint16(115), + 1246: uint16(116), + 1247: uint16(117), + 1248: uint16(118), + 1249: uint16(194), + 1250: uint16(120), + 1251: uint16(59), + 1252: uint16(22), + 1253: uint16(194), + 1254: uint16(24), + 1255: uint16(194), + 1256: uint16(123), + 1257: uint16(100), + 1258: uint16(128), + 1259: uint16(42), 1260: uint16(44), 1261: uint16(45), 1262: uint16(46), @@ -150285,50 +151601,50 @@ var _yy_lookahead = [2285]uint16{ 1271: uint16(55), 1272: uint16(56), 1273: uint16(57), - 1274: uint16(193), - 1275: uint16(193), - 1276: uint16(19), - 1277: uint16(5), - 1278: uint16(59), - 1279: uint16(66), - 1280: uint16(193), - 1281: uint16(263), - 1282: uint16(10), - 1283: uint16(11), - 1284: uint16(12), - 1285: uint16(13), - 1286: uint16(14), - 1287: uint16(74), - 1288: uint16(101), - 1289: uint16(17), - 1290: uint16(193), - 1291: uint16(46), - 1292: uint16(193), - 1293: uint16(146), - 1294: uint16(193), - 1295: uint16(76), - 1296: uint16(213), - 1297: uint16(77), - 1298: uint16(263), - 1299: uint16(79), - 1300: uint16(12), - 1301: uint16(260), - 1302: uint16(30), - 1303: uint16(46), - 1304: uint16(32), - 1305: uint16(264), - 1306: uint16(87), - 1307: uint16(193), - 1308: uint16(89), - 1309: uint16(29), - 1310: uint16(263), - 1311: uint16(92), - 1312: uint16(40), - 1313: uint16(33), - 1314: uint16(232), - 1315: uint16(27), - 1316: uint16(193), - 1317: uint16(108), + 1274: uint16(117), + 1275: uint16(194), + 1276: uint16(217), + 1277: uint16(218), + 1278: uint16(121), + 1279: uint16(100), + 1280: uint16(63), + 1281: uint16(194), + 1282: uint16(245), + 1283: uint16(153), + 1284: uint16(194), + 1285: uint16(155), + 1286: uint16(117), + 1287: uint16(19), + 1288: uint16(115), + 1289: uint16(194), + 1290: uint16(73), + 1291: uint16(214), + 1292: uint16(194), + 1293: uint16(256), + 1294: uint16(161), + 1295: uint16(116), + 1296: uint16(117), + 1297: uint16(194), + 1298: uint16(217), + 1299: uint16(218), + 1300: uint16(121), + 1301: uint16(77), + 1302: uint16(194), + 1303: uint16(79), + 1304: uint16(217), + 1305: uint16(218), + 1306: uint16(194), + 1307: uint16(217), + 1308: uint16(218), + 1309: uint16(117), + 1310: uint16(153), + 1311: uint16(154), + 1312: uint16(155), + 1313: uint16(254), + 1314: uint16(46), + 1315: uint16(217), + 1316: uint16(218), + 1317: uint16(144), 1318: uint16(102), 1319: uint16(103), 1320: uint16(104), @@ -150341,1025 +151657,1068 @@ var _yy_lookahead = [2285]uint16{ 1327: uint16(111), 1328: uint16(112), 1329: uint16(113), - 1330: uint16(42), - 1331: uint16(138), - 1332: uint16(139), - 1333: uint16(101), - 1334: uint16(193), - 1335: uint16(116), - 1336: uint16(117), - 1337: uint16(118), + 1330: uint16(232), + 1331: uint16(270), + 1332: uint16(153), + 1333: uint16(154), + 1334: uint16(155), + 1335: uint16(115), + 1336: uint16(116), + 1337: uint16(66), 1338: uint16(19), 1339: uint16(20), - 1340: uint16(255), + 1340: uint16(183), 1341: uint16(22), - 1342: uint16(70), - 1343: uint16(130), - 1344: uint16(135), - 1345: uint16(65), - 1346: uint16(256), - 1347: uint16(257), - 1348: uint16(193), - 1349: uint16(140), - 1350: uint16(78), - 1351: uint16(63), - 1352: uint16(193), - 1353: uint16(81), - 1354: uint16(193), + 1342: uint16(12), + 1343: uint16(312), + 1344: uint16(254), + 1345: uint16(194), + 1346: uint16(262), + 1347: uint16(316), + 1348: uint16(209), + 1349: uint16(210), + 1350: uint16(266), + 1351: uint16(239), + 1352: uint16(194), + 1353: uint16(194), + 1354: uint16(108), 1355: uint16(36), - 1356: uint16(193), - 1357: uint16(216), - 1358: uint16(217), - 1359: uint16(193), - 1360: uint16(115), - 1361: uint16(193), - 1362: uint16(263), - 1363: uint16(193), - 1364: uint16(145), - 1365: uint16(268), - 1366: uint16(59), + 1356: uint16(85), + 1357: uint16(27), + 1358: uint16(19), + 1359: uint16(20), + 1360: uint16(265), + 1361: uint16(22), + 1362: uint16(183), + 1363: uint16(245), + 1364: uint16(144), + 1365: uint16(94), + 1366: uint16(25), 1367: uint16(48), - 1368: uint16(193), - 1369: uint16(193), - 1370: uint16(98), - 1371: uint16(193), - 1372: uint16(115), - 1373: uint16(193), - 1374: uint16(291), - 1375: uint16(216), + 1368: uint16(217), + 1369: uint16(218), + 1370: uint16(293), + 1371: uint16(194), + 1372: uint16(42), + 1373: uint16(270), + 1374: uint16(256), + 1375: uint16(36), 1376: uint16(217), - 1377: uint16(193), + 1377: uint16(218), 1378: uint16(59), - 1379: uint16(216), - 1380: uint16(217), - 1381: uint16(161), - 1382: uint16(216), - 1383: uint16(217), - 1384: uint16(216), - 1385: uint16(217), - 1386: uint16(216), - 1387: uint16(217), - 1388: uint16(131), - 1389: uint16(193), + 1379: uint16(194), + 1380: uint16(25), + 1381: uint16(135), + 1382: uint16(194), + 1383: uint16(115), + 1384: uint16(194), + 1385: uint16(161), + 1386: uint16(140), + 1387: uint16(194), + 1388: uint16(194), + 1389: uint16(15), 1390: uint16(71), - 1391: uint16(193), - 1392: uint16(216), - 1393: uint16(217), - 1394: uint16(216), - 1395: uint16(217), - 1396: uint16(216), - 1397: uint16(217), - 1398: uint16(193), - 1399: uint16(260), - 1400: uint16(216), - 1401: uint16(217), - 1402: uint16(19), - 1403: uint16(264), + 1391: uint16(194), + 1392: uint16(312), + 1393: uint16(63), + 1394: uint16(217), + 1395: uint16(218), + 1396: uint16(316), + 1397: uint16(194), + 1398: uint16(59), + 1399: uint16(131), + 1400: uint16(301), + 1401: uint16(302), + 1402: uint16(217), + 1403: uint16(218), 1404: uint16(85), - 1405: uint16(133), - 1406: uint16(244), - 1407: uint16(100), - 1408: uint16(193), + 1405: uint16(217), + 1406: uint16(218), + 1407: uint16(217), + 1408: uint16(218), 1409: uint16(90), - 1410: uint16(138), - 1411: uint16(139), - 1412: uint16(216), - 1413: uint16(217), - 1414: uint16(216), - 1415: uint16(217), - 1416: uint16(254), - 1417: uint16(244), - 1418: uint16(193), + 1410: uint16(71), + 1411: uint16(217), + 1412: uint16(218), + 1413: uint16(19), + 1414: uint16(217), + 1415: uint16(218), + 1416: uint16(245), + 1417: uint16(146), + 1418: uint16(262), 1419: uint16(100), - 1420: uint16(193), - 1421: uint16(216), - 1422: uint16(217), - 1423: uint16(116), - 1424: uint16(117), + 1420: uint16(217), + 1421: uint16(218), + 1422: uint16(266), + 1423: uint16(265), + 1424: uint16(85), 1425: uint16(106), 1426: uint16(107), - 1427: uint16(254), - 1428: uint16(121), - 1429: uint16(193), - 1430: uint16(115), - 1431: uint16(216), - 1432: uint16(217), + 1427: uint16(256), + 1428: uint16(312), + 1429: uint16(90), + 1430: uint16(209), + 1431: uint16(210), + 1432: uint16(316), 1433: uint16(114), - 1434: uint16(162), + 1434: uint16(60), 1435: uint16(116), 1436: uint16(117), 1437: uint16(118), - 1438: uint16(115), - 1439: uint16(244), + 1438: uint16(194), + 1439: uint16(100), 1440: uint16(121), - 1441: uint16(216), - 1442: uint16(217), - 1443: uint16(216), - 1444: uint16(217), - 1445: uint16(193), - 1446: uint16(309), - 1447: uint16(193), - 1448: uint16(31), - 1449: uint16(254), - 1450: uint16(313), - 1451: uint16(309), - 1452: uint16(216), - 1453: uint16(217), - 1454: uint16(309), - 1455: uint16(313), - 1456: uint16(39), - 1457: uint16(193), - 1458: uint16(313), - 1459: uint16(309), - 1460: uint16(153), - 1461: uint16(154), - 1462: uint16(155), - 1463: uint16(313), - 1464: uint16(193), - 1465: uint16(150), - 1466: uint16(25), - 1467: uint16(144), - 1468: uint16(216), - 1469: uint16(217), - 1470: uint16(216), - 1471: uint16(217), + 1441: uint16(194), + 1442: uint16(194), + 1443: uint16(145), + 1444: uint16(115), + 1445: uint16(106), + 1446: uint16(107), + 1447: uint16(19), + 1448: uint16(46), + 1449: uint16(19), + 1450: uint16(20), + 1451: uint16(24), + 1452: uint16(22), + 1453: uint16(114), + 1454: uint16(194), + 1455: uint16(116), + 1456: uint16(117), + 1457: uint16(118), + 1458: uint16(194), + 1459: uint16(245), + 1460: uint16(121), + 1461: uint16(194), + 1462: uint16(164), + 1463: uint16(194), + 1464: uint16(217), + 1465: uint16(218), + 1466: uint16(36), + 1467: uint16(194), + 1468: uint16(258), + 1469: uint16(259), + 1470: uint16(256), + 1471: uint16(194), 1472: uint16(153), 1473: uint16(154), 1474: uint16(155), 1475: uint16(156), 1476: uint16(157), - 1478: uint16(1), - 1479: uint16(2), - 1480: uint16(216), + 1477: uint16(217), + 1478: uint16(218), + 1479: uint16(150), + 1480: uint16(31), 1481: uint16(217), - 1482: uint16(5), - 1483: uint16(149), - 1484: uint16(150), - 1485: uint16(22), - 1486: uint16(193), - 1487: uint16(10), - 1488: uint16(11), - 1489: uint16(12), - 1490: uint16(13), - 1491: uint16(14), - 1492: uint16(193), - 1493: uint16(158), - 1494: uint16(17), - 1495: uint16(160), - 1496: uint16(193), - 1497: uint16(19), - 1498: uint16(20), - 1499: uint16(116), - 1500: uint16(22), - 1501: uint16(25), - 1502: uint16(193), - 1503: uint16(24), - 1504: uint16(22), - 1505: uint16(193), - 1506: uint16(24), - 1507: uint16(30), - 1508: uint16(226), - 1509: uint16(32), - 1510: uint16(19), - 1511: uint16(20), - 1512: uint16(226), - 1513: uint16(22), - 1514: uint16(36), - 1515: uint16(193), - 1516: uint16(53), - 1517: uint16(40), - 1518: uint16(193), - 1519: uint16(216), - 1520: uint16(217), - 1521: uint16(193), - 1522: uint16(23), - 1523: uint16(193), - 1524: uint16(25), - 1525: uint16(216), - 1526: uint16(217), - 1527: uint16(36), - 1528: uint16(216), - 1529: uint16(217), - 1530: uint16(193), - 1531: uint16(99), - 1532: uint16(193), - 1533: uint16(193), - 1534: uint16(22), - 1535: uint16(193), - 1536: uint16(193), - 1537: uint16(59), - 1538: uint16(216), + 1482: uint16(218), + 1483: uint16(142), + 1484: uint16(217), + 1485: uint16(218), + 1486: uint16(217), + 1487: uint16(218), + 1488: uint16(39), + 1489: uint16(59), + 1490: uint16(217), + 1491: uint16(218), + 1492: uint16(153), + 1493: uint16(154), + 1494: uint16(155), + 1495: uint16(156), + 1496: uint16(157), + 1497: uint16(149), + 1498: uint16(150), + 1499: uint16(5), + 1500: uint16(145), + 1501: uint16(71), + 1502: uint16(183), + 1503: uint16(245), + 1504: uint16(10), + 1505: uint16(11), + 1506: uint16(12), + 1507: uint16(13), + 1508: uint16(14), + 1509: uint16(194), + 1510: uint16(116), + 1511: uint16(17), + 1512: uint16(129), + 1513: uint16(227), + 1514: uint16(256), + 1515: uint16(85), + 1516: uint16(194), + 1517: uint16(115), + 1518: uint16(194), + 1519: uint16(23), + 1520: uint16(90), + 1521: uint16(25), + 1522: uint16(183), + 1523: uint16(99), + 1524: uint16(30), + 1525: uint16(97), + 1526: uint16(32), + 1527: uint16(22), + 1528: uint16(22), + 1529: uint16(194), + 1530: uint16(100), + 1531: uint16(194), + 1532: uint16(217), + 1533: uint16(218), + 1534: uint16(40), + 1535: uint16(152), + 1536: uint16(106), + 1537: uint16(107), + 1538: uint16(23), 1539: uint16(217), - 1540: uint16(193), - 1541: uint16(216), - 1542: uint16(217), - 1543: uint16(193), - 1544: uint16(216), - 1545: uint16(217), - 1546: uint16(193), - 1547: uint16(70), - 1548: uint16(129), - 1549: uint16(71), - 1550: uint16(59), - 1551: uint16(129), - 1552: uint16(193), - 1553: uint16(216), + 1540: uint16(218), + 1541: uint16(194), + 1542: uint16(19), + 1543: uint16(20), + 1544: uint16(114), + 1545: uint16(22), + 1546: uint16(116), + 1547: uint16(117), + 1548: uint16(118), + 1549: uint16(257), + 1550: uint16(194), + 1551: uint16(121), + 1552: uint16(217), + 1553: uint16(218), 1554: uint16(217), - 1555: uint16(78), - 1556: uint16(216), - 1557: uint16(217), - 1558: uint16(81), - 1559: uint16(216), - 1560: uint16(217), - 1561: uint16(193), - 1562: uint16(71), - 1563: uint16(85), - 1564: uint16(193), - 1565: uint16(133), - 1566: uint16(193), - 1567: uint16(126), - 1568: uint16(90), - 1569: uint16(216), - 1570: uint16(217), - 1571: uint16(152), - 1572: uint16(258), - 1573: uint16(61), - 1574: uint16(152), - 1575: uint16(98), - 1576: uint16(85), - 1577: uint16(193), - 1578: uint16(100), - 1579: uint16(193), - 1580: uint16(23), - 1581: uint16(90), - 1582: uint16(25), - 1583: uint16(121), - 1584: uint16(106), - 1585: uint16(107), - 1586: uint16(23), - 1587: uint16(216), - 1588: uint16(217), - 1589: uint16(216), - 1590: uint16(217), - 1591: uint16(100), - 1592: uint16(114), - 1593: uint16(131), - 1594: uint16(116), - 1595: uint16(117), - 1596: uint16(118), - 1597: uint16(106), - 1598: uint16(107), - 1599: uint16(121), - 1600: uint16(216), - 1601: uint16(217), - 1602: uint16(216), - 1603: uint16(217), - 1604: uint16(193), - 1605: uint16(114), - 1606: uint16(193), - 1607: uint16(116), - 1608: uint16(117), - 1609: uint16(118), - 1610: uint16(133), - 1611: uint16(22), - 1612: uint16(121), - 1613: uint16(193), - 1614: uint16(59), - 1615: uint16(138), - 1616: uint16(139), - 1617: uint16(193), - 1618: uint16(142), - 1619: uint16(193), - 1620: uint16(141), - 1621: uint16(23), - 1622: uint16(23), - 1623: uint16(25), - 1624: uint16(25), - 1625: uint16(120), - 1626: uint16(121), - 1627: uint16(216), - 1628: uint16(217), - 1629: uint16(216), - 1630: uint16(217), - 1631: uint16(153), - 1632: uint16(154), - 1633: uint16(155), - 1634: uint16(156), - 1635: uint16(157), - 1636: uint16(216), - 1637: uint16(217), - 1638: uint16(19), - 1639: uint16(162), - 1640: uint16(216), - 1641: uint16(217), - 1642: uint16(216), - 1643: uint16(217), - 1644: uint16(153), - 1645: uint16(154), - 1646: uint16(155), - 1647: uint16(156), - 1648: uint16(157), - 1649: uint16(1), - 1650: uint16(2), - 1651: uint16(193), - 1652: uint16(59), - 1653: uint16(5), - 1654: uint16(19), - 1655: uint16(20), - 1656: uint16(318), - 1657: uint16(22), - 1658: uint16(10), - 1659: uint16(11), - 1660: uint16(12), - 1661: uint16(13), - 1662: uint16(14), - 1663: uint16(193), - 1664: uint16(59), - 1665: uint16(17), - 1666: uint16(193), - 1667: uint16(23), - 1668: uint16(23), - 1669: uint16(25), - 1670: uint16(25), - 1671: uint16(36), - 1672: uint16(117), - 1673: uint16(193), - 1674: uint16(216), - 1675: uint16(217), - 1676: uint16(193), - 1677: uint16(23), - 1678: uint16(30), - 1679: uint16(25), - 1680: uint16(32), - 1681: uint16(19), - 1682: uint16(20), - 1683: uint16(23), - 1684: uint16(22), - 1685: uint16(25), - 1686: uint16(216), - 1687: uint16(217), - 1688: uint16(40), - 1689: uint16(216), + 1555: uint16(218), + 1556: uint16(194), + 1557: uint16(133), + 1558: uint16(53), + 1559: uint16(36), + 1560: uint16(23), + 1561: uint16(23), + 1562: uint16(25), + 1563: uint16(25), + 1564: uint16(70), + 1565: uint16(120), + 1566: uint16(121), + 1567: uint16(61), + 1568: uint16(141), + 1569: uint16(7), + 1570: uint16(8), + 1571: uint16(121), + 1572: uint16(78), + 1573: uint16(217), + 1574: uint16(218), + 1575: uint16(81), + 1576: uint16(23), + 1577: uint16(227), + 1578: uint16(25), + 1579: uint16(217), + 1580: uint16(218), + 1581: uint16(131), + 1582: uint16(59), + 1583: uint16(153), + 1584: uint16(154), + 1585: uint16(155), + 1586: uint16(156), + 1587: uint16(157), + 1589: uint16(1), + 1590: uint16(2), + 1591: uint16(59), + 1592: uint16(98), + 1593: uint16(5), + 1594: uint16(71), + 1595: uint16(23), + 1596: uint16(227), + 1597: uint16(25), + 1598: uint16(10), + 1599: uint16(11), + 1600: uint16(12), + 1601: uint16(13), + 1602: uint16(14), + 1603: uint16(83), + 1604: uint16(84), + 1605: uint16(17), + 1606: uint16(23), + 1607: uint16(23), + 1608: uint16(25), + 1609: uint16(25), + 1610: uint16(59), + 1611: uint16(194), + 1612: uint16(194), + 1613: uint16(183), + 1614: uint16(23), + 1615: uint16(23), + 1616: uint16(25), + 1617: uint16(25), + 1618: uint16(30), + 1619: uint16(194), + 1620: uint16(32), + 1621: uint16(19), + 1622: uint16(20), + 1623: uint16(100), + 1624: uint16(22), + 1625: uint16(194), + 1626: uint16(194), + 1627: uint16(133), + 1628: uint16(40), + 1629: uint16(106), + 1630: uint16(107), + 1631: uint16(108), + 1632: uint16(138), + 1633: uint16(139), + 1634: uint16(194), + 1635: uint16(217), + 1636: uint16(218), + 1637: uint16(114), + 1638: uint16(36), + 1639: uint16(116), + 1640: uint16(117), + 1641: uint16(118), + 1642: uint16(217), + 1643: uint16(218), + 1644: uint16(121), + 1645: uint16(194), + 1646: uint16(194), + 1647: uint16(194), + 1648: uint16(23), + 1649: uint16(117), + 1650: uint16(25), + 1651: uint16(194), + 1652: uint16(23), + 1653: uint16(23), + 1654: uint16(25), + 1655: uint16(25), + 1656: uint16(162), + 1657: uint16(194), + 1658: uint16(70), + 1659: uint16(194), + 1660: uint16(145), + 1661: uint16(59), + 1662: uint16(23), + 1663: uint16(153), + 1664: uint16(25), + 1665: uint16(155), + 1666: uint16(78), + 1667: uint16(194), + 1668: uint16(117), + 1669: uint16(81), + 1670: uint16(217), + 1671: uint16(218), + 1672: uint16(194), + 1673: uint16(71), + 1674: uint16(217), + 1675: uint16(218), + 1676: uint16(153), + 1677: uint16(154), + 1678: uint16(155), + 1679: uint16(156), + 1680: uint16(157), + 1681: uint16(194), + 1682: uint16(217), + 1683: uint16(218), + 1684: uint16(194), + 1685: uint16(23), + 1686: uint16(98), + 1687: uint16(25), + 1688: uint16(321), + 1689: uint16(194), 1690: uint16(217), - 1691: uint16(7), - 1692: uint16(8), - 1693: uint16(23), - 1694: uint16(59), - 1695: uint16(25), - 1696: uint16(83), - 1697: uint16(84), - 1698: uint16(36), - 1699: uint16(23), - 1700: uint16(193), - 1701: uint16(25), - 1702: uint16(23), - 1703: uint16(23), - 1704: uint16(25), - 1705: uint16(25), - 1706: uint16(71), - 1707: uint16(153), - 1708: uint16(145), - 1709: uint16(155), - 1710: uint16(117), - 1711: uint16(153), - 1712: uint16(23), - 1713: uint16(155), - 1714: uint16(25), - 1715: uint16(23), - 1716: uint16(97), - 1717: uint16(25), - 1718: uint16(70), - 1719: uint16(193), - 1720: uint16(193), - 1721: uint16(59), - 1722: uint16(117), - 1723: uint16(236), - 1724: uint16(193), - 1725: uint16(193), - 1726: uint16(78), - 1727: uint16(193), - 1728: uint16(193), - 1729: uint16(81), - 1730: uint16(141), - 1731: uint16(193), - 1732: uint16(193), - 1733: uint16(71), - 1734: uint16(193), - 1735: uint16(100), - 1736: uint16(288), - 1737: uint16(287), - 1738: uint16(242), - 1739: uint16(255), - 1740: uint16(255), - 1741: uint16(106), - 1742: uint16(107), - 1743: uint16(108), - 1744: uint16(255), - 1745: uint16(255), - 1746: uint16(98), - 1747: uint16(243), - 1748: uint16(297), - 1749: uint16(114), - 1750: uint16(214), - 1751: uint16(116), - 1752: uint16(117), - 1753: uint16(118), - 1754: uint16(245), - 1755: uint16(191), - 1756: uint16(121), - 1757: uint16(271), - 1758: uint16(293), - 1759: uint16(267), - 1760: uint16(267), - 1761: uint16(246), - 1762: uint16(100), - 1763: uint16(246), - 1764: uint16(245), - 1765: uint16(271), - 1766: uint16(271), - 1767: uint16(293), - 1768: uint16(106), - 1769: uint16(107), - 1770: uint16(220), - 1771: uint16(271), - 1772: uint16(229), - 1773: uint16(225), - 1774: uint16(249), - 1775: uint16(219), - 1776: uint16(114), - 1777: uint16(259), - 1778: uint16(116), - 1779: uint16(117), - 1780: uint16(118), - 1781: uint16(133), - 1782: uint16(259), - 1783: uint16(121), - 1784: uint16(219), - 1785: uint16(219), - 1786: uint16(138), - 1787: uint16(139), - 1788: uint16(153), - 1789: uint16(154), - 1790: uint16(155), - 1791: uint16(156), - 1792: uint16(157), - 1793: uint16(280), - 1794: uint16(249), - 1795: uint16(243), - 1796: uint16(19), - 1797: uint16(20), - 1798: uint16(245), - 1799: uint16(22), - 1800: uint16(196), - 1801: uint16(259), - 1802: uint16(140), - 1803: uint16(259), - 1804: uint16(60), - 1805: uint16(297), - 1806: uint16(141), - 1807: uint16(297), - 1808: uint16(200), - 1809: uint16(200), - 1810: uint16(162), - 1811: uint16(38), - 1812: uint16(200), - 1813: uint16(36), - 1814: uint16(294), - 1815: uint16(153), - 1816: uint16(154), - 1817: uint16(155), - 1818: uint16(156), - 1819: uint16(157), - 1820: uint16(151), - 1821: uint16(150), - 1822: uint16(294), - 1823: uint16(283), - 1824: uint16(22), - 1825: uint16(43), - 1826: uint16(234), - 1827: uint16(18), - 1828: uint16(237), - 1829: uint16(200), - 1830: uint16(270), - 1831: uint16(272), - 1832: uint16(237), - 1833: uint16(237), - 1834: uint16(237), - 1835: uint16(18), - 1836: uint16(59), - 1837: uint16(199), - 1838: uint16(270), - 1839: uint16(149), - 1840: uint16(246), - 1841: uint16(272), - 1842: uint16(272), - 1843: uint16(200), - 1844: uint16(234), - 1845: uint16(234), - 1846: uint16(246), - 1847: uint16(246), - 1848: uint16(71), - 1849: uint16(246), - 1850: uint16(199), - 1851: uint16(158), - 1852: uint16(290), - 1853: uint16(62), - 1854: uint16(22), - 1855: uint16(200), - 1856: uint16(19), - 1857: uint16(20), - 1858: uint16(199), - 1859: uint16(22), - 1860: uint16(289), - 1861: uint16(221), - 1862: uint16(221), - 1863: uint16(200), - 1864: uint16(200), - 1865: uint16(199), - 1866: uint16(199), - 1867: uint16(115), - 1868: uint16(218), - 1869: uint16(64), - 1870: uint16(218), - 1871: uint16(218), + 1691: uint16(218), + 1692: uint16(194), + 1693: uint16(19), + 1694: uint16(20), + 1695: uint16(194), + 1696: uint16(22), + 1697: uint16(153), + 1698: uint16(23), + 1699: uint16(155), + 1700: uint16(25), + 1701: uint16(194), + 1702: uint16(100), + 1703: uint16(194), + 1704: uint16(217), + 1705: uint16(218), + 1706: uint16(183), + 1707: uint16(194), + 1708: uint16(106), + 1709: uint16(107), + 1710: uint16(36), + 1711: uint16(194), + 1712: uint16(217), + 1713: uint16(218), + 1714: uint16(237), + 1715: uint16(194), + 1716: uint16(114), + 1717: uint16(243), + 1718: uint16(116), + 1719: uint16(117), + 1720: uint16(118), + 1721: uint16(133), + 1722: uint16(194), + 1723: uint16(121), + 1724: uint16(217), + 1725: uint16(218), + 1726: uint16(138), + 1727: uint16(139), + 1728: uint16(194), + 1729: uint16(194), + 1730: uint16(194), + 1731: uint16(290), + 1732: uint16(289), + 1733: uint16(59), + 1734: uint16(217), + 1735: uint16(218), + 1736: uint16(194), + 1737: uint16(194), + 1738: uint16(217), + 1739: uint16(218), + 1740: uint16(194), + 1741: uint16(194), + 1742: uint16(140), + 1743: uint16(194), + 1744: uint16(194), + 1745: uint16(71), + 1746: uint16(194), + 1747: uint16(244), + 1748: uint16(194), + 1749: uint16(194), + 1750: uint16(162), + 1751: uint16(217), + 1752: uint16(218), + 1753: uint16(194), + 1754: uint16(194), + 1755: uint16(153), + 1756: uint16(154), + 1757: uint16(155), + 1758: uint16(156), + 1759: uint16(157), + 1760: uint16(217), + 1761: uint16(218), + 1762: uint16(194), + 1763: uint16(217), + 1764: uint16(218), + 1765: uint16(194), + 1766: uint16(217), + 1767: uint16(218), + 1768: uint16(257), + 1769: uint16(217), + 1770: uint16(218), + 1771: uint16(217), + 1772: uint16(218), + 1773: uint16(257), + 1774: uint16(100), + 1775: uint16(194), + 1776: uint16(257), + 1777: uint16(217), + 1778: uint16(218), + 1779: uint16(257), + 1780: uint16(106), + 1781: uint16(107), + 1782: uint16(215), + 1783: uint16(299), + 1784: uint16(194), + 1785: uint16(183), + 1786: uint16(192), + 1787: uint16(194), + 1788: uint16(114), + 1789: uint16(194), + 1790: uint16(116), + 1791: uint16(117), + 1792: uint16(118), + 1793: uint16(1), + 1794: uint16(2), + 1795: uint16(121), + 1796: uint16(221), + 1797: uint16(5), + 1798: uint16(217), + 1799: uint16(218), + 1800: uint16(273), + 1801: uint16(197), + 1802: uint16(10), + 1803: uint16(11), + 1804: uint16(12), + 1805: uint16(13), + 1806: uint16(14), + 1807: uint16(217), + 1808: uint16(218), + 1809: uint16(17), + 1810: uint16(217), + 1811: uint16(218), + 1812: uint16(217), + 1813: uint16(218), + 1814: uint16(140), + 1815: uint16(194), + 1816: uint16(246), + 1817: uint16(194), + 1818: uint16(273), + 1819: uint16(295), + 1820: uint16(247), + 1821: uint16(273), + 1822: uint16(30), + 1823: uint16(247), + 1824: uint16(32), + 1825: uint16(269), + 1826: uint16(269), + 1827: uint16(153), + 1828: uint16(154), + 1829: uint16(155), + 1830: uint16(156), + 1831: uint16(157), + 1832: uint16(40), + 1833: uint16(246), + 1834: uint16(273), + 1835: uint16(295), + 1836: uint16(230), + 1837: uint16(226), + 1838: uint16(217), + 1839: uint16(218), + 1840: uint16(217), + 1841: uint16(218), + 1842: uint16(220), + 1843: uint16(261), + 1844: uint16(220), + 1845: uint16(282), + 1846: uint16(220), + 1847: uint16(19), + 1848: uint16(20), + 1849: uint16(244), + 1850: uint16(22), + 1851: uint16(250), + 1852: uint16(141), + 1853: uint16(250), + 1854: uint16(246), + 1855: uint16(60), + 1856: uint16(201), + 1857: uint16(183), + 1858: uint16(261), + 1859: uint16(261), + 1860: uint16(261), + 1861: uint16(201), + 1862: uint16(70), + 1863: uint16(299), + 1864: uint16(36), + 1865: uint16(299), + 1866: uint16(201), + 1867: uint16(38), + 1868: uint16(151), + 1869: uint16(150), + 1870: uint16(78), + 1871: uint16(285), 1872: uint16(22), - 1873: uint16(36), - 1874: uint16(227), - 1875: uint16(126), - 1876: uint16(227), - 1877: uint16(100), - 1878: uint16(165), - 1879: uint16(221), - 1880: uint16(224), - 1881: uint16(224), - 1882: uint16(24), - 1883: uint16(106), - 1884: uint16(107), - 1885: uint16(312), - 1886: uint16(218), - 1887: uint16(305), - 1888: uint16(113), - 1889: uint16(282), - 1890: uint16(91), - 1891: uint16(114), - 1892: uint16(220), - 1893: uint16(116), - 1894: uint16(117), - 1895: uint16(118), - 1896: uint16(59), - 1897: uint16(282), - 1898: uint16(121), - 1899: uint16(218), - 1900: uint16(218), - 1901: uint16(218), + 1873: uint16(81), + 1874: uint16(296), + 1875: uint16(296), + 1876: uint16(43), + 1877: uint16(235), + 1878: uint16(18), + 1879: uint16(238), + 1880: uint16(201), + 1881: uint16(274), + 1882: uint16(272), + 1883: uint16(238), + 1884: uint16(238), + 1885: uint16(238), + 1886: uint16(18), + 1887: uint16(59), + 1888: uint16(200), + 1889: uint16(149), + 1890: uint16(98), + 1891: uint16(247), + 1892: uint16(274), + 1893: uint16(274), + 1894: uint16(235), + 1895: uint16(247), + 1896: uint16(247), + 1897: uint16(247), + 1898: uint16(235), + 1899: uint16(71), + 1900: uint16(272), + 1901: uint16(201), 1902: uint16(200), - 1903: uint16(317), - 1904: uint16(317), - 1905: uint16(82), - 1906: uint16(221), - 1907: uint16(265), - 1908: uint16(71), - 1909: uint16(148), - 1910: uint16(145), - 1911: uint16(265), - 1912: uint16(22), - 1913: uint16(277), - 1914: uint16(200), - 1915: uint16(158), - 1916: uint16(279), - 1917: uint16(140), - 1918: uint16(147), - 1919: uint16(25), - 1920: uint16(146), - 1921: uint16(202), - 1922: uint16(248), - 1923: uint16(250), - 1924: uint16(249), - 1925: uint16(247), - 1926: uint16(13), - 1927: uint16(250), - 1928: uint16(194), - 1929: uint16(194), - 1930: uint16(153), - 1931: uint16(154), - 1932: uint16(155), - 1933: uint16(156), - 1934: uint16(157), - 1935: uint16(6), - 1936: uint16(303), - 1937: uint16(100), - 1938: uint16(192), - 1939: uint16(192), - 1940: uint16(246), - 1941: uint16(213), - 1942: uint16(192), - 1943: uint16(106), - 1944: uint16(107), - 1945: uint16(207), - 1946: uint16(213), - 1947: uint16(207), - 1948: uint16(222), - 1949: uint16(213), - 1950: uint16(213), - 1951: uint16(114), - 1952: uint16(222), - 1953: uint16(116), - 1954: uint16(117), - 1955: uint16(118), - 1956: uint16(214), - 1957: uint16(214), - 1958: uint16(121), - 1959: uint16(4), - 1960: uint16(207), - 1961: uint16(213), - 1962: uint16(3), - 1963: uint16(22), - 1964: uint16(303), - 1965: uint16(15), - 1966: uint16(163), - 1967: uint16(16), - 1968: uint16(23), - 1969: uint16(23), - 1970: uint16(139), - 1971: uint16(151), - 1972: uint16(130), - 1973: uint16(25), - 1974: uint16(20), - 1975: uint16(142), - 1976: uint16(24), - 1977: uint16(16), - 1978: uint16(144), - 1979: uint16(1), - 1980: uint16(142), - 1981: uint16(130), - 1982: uint16(130), - 1983: uint16(61), - 1984: uint16(37), - 1985: uint16(53), - 1986: uint16(300), - 1987: uint16(151), - 1988: uint16(53), - 1989: uint16(53), - 1990: uint16(153), - 1991: uint16(154), - 1992: uint16(155), - 1993: uint16(156), - 1994: uint16(157), - 1995: uint16(53), - 1996: uint16(130), - 1997: uint16(116), - 1998: uint16(34), - 1999: uint16(1), - 2000: uint16(141), - 2001: uint16(5), - 2002: uint16(22), - 2003: uint16(115), - 2004: uint16(161), - 2005: uint16(68), - 2006: uint16(25), - 2007: uint16(68), - 2008: uint16(75), - 2009: uint16(41), - 2010: uint16(141), - 2011: uint16(115), - 2012: uint16(24), - 2013: uint16(20), - 2014: uint16(19), - 2015: uint16(131), - 2016: uint16(125), - 2017: uint16(23), - 2018: uint16(28), - 2019: uint16(22), - 2020: uint16(67), - 2021: uint16(22), - 2022: uint16(22), - 2023: uint16(22), - 2024: uint16(67), - 2025: uint16(59), - 2026: uint16(24), - 2027: uint16(96), - 2028: uint16(22), - 2029: uint16(67), - 2030: uint16(23), - 2031: uint16(149), - 2032: uint16(22), - 2033: uint16(25), - 2034: uint16(23), - 2035: uint16(23), - 2036: uint16(23), - 2037: uint16(22), - 2038: uint16(34), - 2039: uint16(141), - 2040: uint16(37), - 2041: uint16(97), - 2042: uint16(23), - 2043: uint16(23), - 2044: uint16(116), - 2045: uint16(22), - 2046: uint16(143), - 2047: uint16(25), - 2048: uint16(34), - 2049: uint16(75), - 2050: uint16(34), - 2051: uint16(34), - 2052: uint16(34), - 2053: uint16(88), - 2054: uint16(75), - 2055: uint16(34), - 2056: uint16(86), - 2057: uint16(23), + 1903: uint16(158), + 1904: uint16(292), + 1905: uint16(62), + 1906: uint16(291), + 1907: uint16(201), + 1908: uint16(200), + 1909: uint16(22), + 1910: uint16(201), + 1911: uint16(222), + 1912: uint16(200), + 1913: uint16(222), + 1914: uint16(201), + 1915: uint16(200), + 1916: uint16(115), + 1917: uint16(219), + 1918: uint16(219), + 1919: uint16(64), + 1920: uint16(219), + 1921: uint16(228), + 1922: uint16(22), + 1923: uint16(126), + 1924: uint16(221), + 1925: uint16(133), + 1926: uint16(165), + 1927: uint16(222), + 1928: uint16(100), + 1929: uint16(225), + 1930: uint16(138), + 1931: uint16(139), + 1932: uint16(225), + 1933: uint16(219), + 1934: uint16(106), + 1935: uint16(107), + 1936: uint16(24), + 1937: uint16(219), + 1938: uint16(228), + 1939: uint16(219), + 1940: uint16(219), + 1941: uint16(307), + 1942: uint16(114), + 1943: uint16(113), + 1944: uint16(116), + 1945: uint16(117), + 1946: uint16(118), + 1947: uint16(315), + 1948: uint16(284), + 1949: uint16(121), + 1950: uint16(284), + 1951: uint16(222), + 1952: uint16(201), + 1953: uint16(91), + 1954: uint16(162), + 1955: uint16(320), + 1956: uint16(320), + 1957: uint16(82), + 1958: uint16(148), + 1959: uint16(267), + 1960: uint16(145), + 1961: uint16(267), + 1962: uint16(22), + 1963: uint16(279), + 1964: uint16(201), + 1965: uint16(158), + 1966: uint16(281), + 1967: uint16(251), + 1968: uint16(147), + 1969: uint16(146), + 1970: uint16(25), + 1971: uint16(203), + 1972: uint16(250), + 1973: uint16(249), + 1974: uint16(251), + 1975: uint16(248), + 1976: uint16(13), + 1977: uint16(247), + 1978: uint16(195), + 1979: uint16(195), + 1980: uint16(6), + 1981: uint16(153), + 1982: uint16(154), + 1983: uint16(155), + 1984: uint16(156), + 1985: uint16(157), + 1986: uint16(193), + 1987: uint16(193), + 1988: uint16(305), + 1989: uint16(193), + 1990: uint16(208), + 1991: uint16(305), + 1992: uint16(302), + 1993: uint16(214), + 1994: uint16(214), + 1995: uint16(214), + 1996: uint16(208), + 1997: uint16(223), + 1998: uint16(223), + 1999: uint16(214), + 2000: uint16(4), + 2001: uint16(215), + 2002: uint16(215), + 2003: uint16(214), + 2004: uint16(3), + 2005: uint16(22), + 2006: uint16(208), + 2007: uint16(163), + 2008: uint16(15), + 2009: uint16(23), + 2010: uint16(16), + 2011: uint16(183), + 2012: uint16(23), + 2013: uint16(139), + 2014: uint16(151), + 2015: uint16(130), + 2016: uint16(25), + 2017: uint16(20), + 2018: uint16(142), + 2019: uint16(24), + 2020: uint16(16), + 2021: uint16(144), + 2022: uint16(1), + 2023: uint16(142), + 2024: uint16(130), + 2025: uint16(130), + 2026: uint16(61), + 2027: uint16(37), + 2028: uint16(53), + 2029: uint16(151), + 2030: uint16(53), + 2031: uint16(53), + 2032: uint16(53), + 2033: uint16(130), + 2034: uint16(116), + 2035: uint16(1), + 2036: uint16(34), + 2037: uint16(141), + 2038: uint16(5), + 2039: uint16(22), + 2040: uint16(115), + 2041: uint16(161), + 2042: uint16(75), + 2043: uint16(25), + 2044: uint16(68), + 2045: uint16(141), + 2046: uint16(41), + 2047: uint16(115), + 2048: uint16(68), + 2049: uint16(24), + 2050: uint16(20), + 2051: uint16(19), + 2052: uint16(131), + 2053: uint16(125), + 2054: uint16(67), + 2055: uint16(67), + 2056: uint16(96), + 2057: uint16(22), 2058: uint16(22), - 2059: uint16(34), - 2060: uint16(93), - 2061: uint16(24), - 2062: uint16(34), - 2063: uint16(25), - 2064: uint16(25), - 2065: uint16(142), - 2066: uint16(142), + 2059: uint16(22), + 2060: uint16(37), + 2061: uint16(23), + 2062: uint16(22), + 2063: uint16(24), + 2064: uint16(22), + 2065: uint16(59), + 2066: uint16(67), 2067: uint16(23), - 2068: uint16(44), - 2069: uint16(23), - 2070: uint16(23), - 2071: uint16(23), + 2068: uint16(149), + 2069: uint16(28), + 2070: uint16(22), + 2071: uint16(25), 2072: uint16(23), - 2073: uint16(11), + 2073: uint16(23), 2074: uint16(23), - 2075: uint16(25), - 2076: uint16(22), - 2077: uint16(22), - 2078: uint16(22), - 2079: uint16(141), + 2075: uint16(22), + 2076: uint16(141), + 2077: uint16(34), + 2078: uint16(97), + 2079: uint16(23), 2080: uint16(23), - 2081: uint16(23), - 2082: uint16(22), + 2081: uint16(34), + 2082: uint16(116), 2083: uint16(22), - 2084: uint16(25), - 2085: uint16(15), - 2086: uint16(1), - 2087: uint16(23), - 2088: uint16(25), - 2089: uint16(1), - 2090: uint16(141), - 2091: uint16(135), - 2092: uint16(319), - 2093: uint16(319), - 2094: uint16(319), - 2095: uint16(319), - 2096: uint16(319), - 2097: uint16(319), - 2098: uint16(319), - 2099: uint16(141), - 2100: uint16(319), - 2101: uint16(319), - 2102: uint16(319), - 2103: uint16(319), - 2104: uint16(319), - 2105: uint16(319), - 2106: uint16(319), - 2107: uint16(319), - 2108: uint16(319), - 2109: uint16(319), - 2110: uint16(319), - 2111: uint16(319), - 2112: uint16(319), - 2113: uint16(319), - 2114: uint16(319), - 2115: uint16(319), - 2116: uint16(319), - 2117: uint16(319), - 2118: uint16(319), - 2119: uint16(319), - 2120: uint16(319), - 2121: uint16(319), - 2122: uint16(319), - 2123: uint16(319), - 2124: uint16(319), - 2125: uint16(319), - 2126: uint16(319), - 2127: uint16(319), - 2128: uint16(319), - 2129: uint16(319), - 2130: uint16(319), - 2131: uint16(319), - 2132: uint16(319), - 2133: uint16(319), - 2134: uint16(319), - 2135: uint16(319), - 2136: uint16(319), - 2137: uint16(319), - 2138: uint16(319), - 2139: uint16(319), - 2140: uint16(319), - 2141: uint16(319), - 2142: uint16(319), - 2143: uint16(319), - 2144: uint16(319), - 2145: uint16(319), - 2146: uint16(319), - 2147: uint16(319), - 2148: uint16(319), - 2149: uint16(319), - 2150: uint16(319), - 2151: uint16(319), - 2152: uint16(319), - 2153: uint16(319), - 2154: uint16(319), - 2155: uint16(319), - 2156: uint16(319), - 2157: uint16(319), - 2158: uint16(319), - 2159: uint16(319), - 2160: uint16(319), - 2161: uint16(319), - 2162: uint16(319), - 2163: uint16(319), - 2164: uint16(319), - 2165: uint16(319), - 2166: uint16(319), - 2167: uint16(319), - 2168: uint16(319), - 2169: uint16(319), - 2170: uint16(319), - 2171: uint16(319), - 2172: uint16(319), - 2173: uint16(319), - 2174: uint16(319), - 2175: uint16(319), - 2176: uint16(319), - 2177: uint16(319), - 2178: uint16(319), - 2179: uint16(319), - 2180: uint16(319), - 2181: uint16(319), - 2182: uint16(319), - 2183: uint16(319), - 2184: uint16(319), - 2185: uint16(319), - 2186: uint16(319), - 2187: uint16(319), - 2188: uint16(319), - 2189: uint16(319), - 2190: uint16(319), - 2191: uint16(319), - 2192: uint16(319), - 2193: uint16(319), - 2194: uint16(319), - 2195: uint16(319), - 2196: uint16(319), - 2197: uint16(319), - 2198: uint16(319), - 2199: uint16(319), - 2200: uint16(319), - 2201: uint16(319), - 2202: uint16(319), - 2203: uint16(319), - 2204: uint16(319), - 2205: uint16(319), - 2206: uint16(319), - 2207: uint16(319), - 2208: uint16(319), - 2209: uint16(319), - 2210: uint16(319), - 2211: uint16(319), - 2212: uint16(319), - 2213: uint16(319), - 2214: uint16(319), - 2215: uint16(319), - 2216: uint16(319), - 2217: uint16(319), - 2218: uint16(319), - 2219: uint16(319), - 2220: uint16(319), - 2221: uint16(319), - 2222: uint16(319), - 2223: uint16(319), - 2224: uint16(319), - 2225: uint16(319), - 2226: uint16(319), - 2227: uint16(319), - 2228: uint16(319), - 2229: uint16(319), - 2230: uint16(319), - 2231: uint16(319), - 2232: uint16(319), - 2233: uint16(319), - 2234: uint16(319), - 2235: uint16(319), - 2236: uint16(319), - 2237: uint16(319), - 2238: uint16(319), - 2239: uint16(319), - 2240: uint16(319), - 2241: uint16(319), - 2242: uint16(319), - 2243: uint16(319), - 2244: uint16(319), - 2245: uint16(319), - 2246: uint16(319), - 2247: uint16(319), - 2248: uint16(319), - 2249: uint16(319), - 2250: uint16(319), - 2251: uint16(319), - 2252: uint16(319), - 2253: uint16(319), - 2254: uint16(319), - 2255: uint16(319), - 2256: uint16(319), - 2257: uint16(319), - 2258: uint16(319), - 2259: uint16(319), - 2260: uint16(319), - 2261: uint16(319), - 2262: uint16(319), - 2263: uint16(319), - 2264: uint16(319), - 2265: uint16(319), - 2266: uint16(319), - 2267: uint16(319), - 2268: uint16(319), - 2269: uint16(319), - 2270: uint16(319), - 2271: uint16(319), - 2272: uint16(319), - 2273: uint16(319), - 2274: uint16(319), - 2275: uint16(319), - 2276: uint16(319), - 2277: uint16(319), - 2278: uint16(319), - 2279: uint16(319), - 2280: uint16(319), - 2281: uint16(319), - 2282: uint16(319), - 2283: uint16(319), - 2284: uint16(319), -} -var _yy_shift_ofst = [579]uint16{ - 0: uint16(1648), - 1: uint16(1477), - 2: uint16(1272), + 2084: uint16(143), + 2085: uint16(25), + 2086: uint16(34), + 2087: uint16(75), + 2088: uint16(34), + 2089: uint16(34), + 2090: uint16(75), + 2091: uint16(88), + 2092: uint16(34), + 2093: uint16(86), + 2094: uint16(23), + 2095: uint16(22), + 2096: uint16(34), + 2097: uint16(25), + 2098: uint16(24), + 2099: uint16(34), + 2100: uint16(25), + 2101: uint16(93), + 2102: uint16(23), + 2103: uint16(44), + 2104: uint16(142), + 2105: uint16(23), + 2106: uint16(142), + 2107: uint16(23), + 2108: uint16(23), + 2109: uint16(22), + 2110: uint16(11), + 2111: uint16(25), + 2112: uint16(23), + 2113: uint16(25), + 2114: uint16(23), + 2115: uint16(22), + 2116: uint16(22), + 2117: uint16(22), + 2118: uint16(1), + 2119: uint16(23), + 2120: uint16(23), + 2121: uint16(23), + 2122: uint16(22), + 2123: uint16(22), + 2124: uint16(15), + 2125: uint16(141), + 2126: uint16(141), + 2127: uint16(25), + 2128: uint16(25), + 2129: uint16(1), + 2130: uint16(322), + 2131: uint16(322), + 2132: uint16(322), + 2133: uint16(135), + 2134: uint16(322), + 2135: uint16(322), + 2136: uint16(322), + 2137: uint16(322), + 2138: uint16(322), + 2139: uint16(322), + 2140: uint16(322), + 2141: uint16(141), + 2142: uint16(322), + 2143: uint16(322), + 2144: uint16(322), + 2145: uint16(322), + 2146: uint16(322), + 2147: uint16(322), + 2148: uint16(322), + 2149: uint16(322), + 2150: uint16(322), + 2151: uint16(322), + 2152: uint16(322), + 2153: uint16(322), + 2154: uint16(322), + 2155: uint16(322), + 2156: uint16(322), + 2157: uint16(322), + 2158: uint16(322), + 2159: uint16(322), + 2160: uint16(322), + 2161: uint16(322), + 2162: uint16(322), + 2163: uint16(322), + 2164: uint16(322), + 2165: uint16(322), + 2166: uint16(322), + 2167: uint16(322), + 2168: uint16(322), + 2169: uint16(322), + 2170: uint16(322), + 2171: uint16(322), + 2172: uint16(322), + 2173: uint16(322), + 2174: uint16(322), + 2175: uint16(322), + 2176: uint16(322), + 2177: uint16(322), + 2178: uint16(322), + 2179: uint16(322), + 2180: uint16(322), + 2181: uint16(322), + 2182: uint16(322), + 2183: uint16(322), + 2184: uint16(322), + 2185: uint16(322), + 2186: uint16(322), + 2187: uint16(322), + 2188: uint16(322), + 2189: uint16(322), + 2190: uint16(322), + 2191: uint16(322), + 2192: uint16(322), + 2193: uint16(322), + 2194: uint16(322), + 2195: uint16(322), + 2196: uint16(322), + 2197: uint16(322), + 2198: uint16(322), + 2199: uint16(322), + 2200: uint16(322), + 2201: uint16(322), + 2202: uint16(322), + 2203: uint16(322), + 2204: uint16(322), + 2205: uint16(322), + 2206: uint16(322), + 2207: uint16(322), + 2208: uint16(322), + 2209: uint16(322), + 2210: uint16(322), + 2211: uint16(322), + 2212: uint16(322), + 2213: uint16(322), + 2214: uint16(322), + 2215: uint16(322), + 2216: uint16(322), + 2217: uint16(322), + 2218: uint16(322), + 2219: uint16(322), + 2220: uint16(322), + 2221: uint16(322), + 2222: uint16(322), + 2223: uint16(322), + 2224: uint16(322), + 2225: uint16(322), + 2226: uint16(322), + 2227: uint16(322), + 2228: uint16(322), + 2229: uint16(322), + 2230: uint16(322), + 2231: uint16(322), + 2232: uint16(322), + 2233: uint16(322), + 2234: uint16(322), + 2235: uint16(322), + 2236: uint16(322), + 2237: uint16(322), + 2238: uint16(322), + 2239: uint16(322), + 2240: uint16(322), + 2241: uint16(322), + 2242: uint16(322), + 2243: uint16(322), + 2244: uint16(322), + 2245: uint16(322), + 2246: uint16(322), + 2247: uint16(322), + 2248: uint16(322), + 2249: uint16(322), + 2250: uint16(322), + 2251: uint16(322), + 2252: uint16(322), + 2253: uint16(322), + 2254: uint16(322), + 2255: uint16(322), + 2256: uint16(322), + 2257: uint16(322), + 2258: uint16(322), + 2259: uint16(322), + 2260: uint16(322), + 2261: uint16(322), + 2262: uint16(322), + 2263: uint16(322), + 2264: uint16(322), + 2265: uint16(322), + 2266: uint16(322), + 2267: uint16(322), + 2268: uint16(322), + 2269: uint16(322), + 2270: uint16(322), + 2271: uint16(322), + 2272: uint16(322), + 2273: uint16(322), + 2274: uint16(322), + 2275: uint16(322), + 2276: uint16(322), + 2277: uint16(322), + 2278: uint16(322), + 2279: uint16(322), + 2280: uint16(322), + 2281: uint16(322), + 2282: uint16(322), + 2283: uint16(322), + 2284: uint16(322), + 2285: uint16(322), + 2286: uint16(322), + 2287: uint16(322), + 2288: uint16(322), + 2289: uint16(322), + 2290: uint16(322), + 2291: uint16(322), + 2292: uint16(322), + 2293: uint16(322), + 2294: uint16(322), + 2295: uint16(322), + 2296: uint16(322), + 2297: uint16(322), + 2298: uint16(322), + 2299: uint16(322), + 2300: uint16(322), + 2301: uint16(322), + 2302: uint16(322), + 2303: uint16(322), + 2304: uint16(322), + 2305: uint16(322), + 2306: uint16(322), + 2307: uint16(322), + 2308: uint16(322), + 2309: uint16(322), + 2310: uint16(322), + 2311: uint16(322), + 2312: uint16(322), + 2313: uint16(322), + 2314: uint16(322), + 2315: uint16(322), + 2316: uint16(322), + 2317: uint16(322), + 2318: uint16(322), + 2319: uint16(322), + 2320: uint16(322), + 2321: uint16(322), + 2322: uint16(322), + 2323: uint16(322), + 2324: uint16(322), + 2325: uint16(322), + 2326: uint16(322), + 2327: uint16(322), +} +var _yy_shift_ofst = [583]uint16{ + 0: uint16(1792), + 1: uint16(1588), + 2: uint16(1494), 3: uint16(322), 4: uint16(322), - 5: uint16(1), - 6: uint16(1319), - 7: uint16(1478), - 8: uint16(1491), - 9: uint16(1837), - 10: uint16(1837), - 11: uint16(1837), - 12: uint16(471), - 15: uint16(214), - 16: uint16(1093), - 17: uint16(1837), - 18: uint16(1837), - 19: uint16(1837), - 20: uint16(1837), - 21: uint16(1837), - 22: uint16(1837), - 23: uint16(1837), - 24: uint16(1837), - 25: uint16(1837), - 26: uint16(1837), - 27: uint16(1837), - 28: uint16(1837), - 29: uint16(1837), - 30: uint16(1837), - 31: uint16(271), - 32: uint16(271), - 33: uint16(1219), - 34: uint16(1219), - 35: uint16(216), - 36: uint16(88), - 37: uint16(1), - 38: uint16(1), - 39: uint16(1), - 40: uint16(1), - 41: uint16(1), - 42: uint16(40), - 43: uint16(111), - 44: uint16(258), - 45: uint16(361), - 46: uint16(469), - 47: uint16(512), - 48: uint16(583), - 49: uint16(622), - 50: uint16(693), - 51: uint16(732), - 52: uint16(803), - 53: uint16(842), - 54: uint16(913), - 55: uint16(1073), - 56: uint16(1093), - 57: uint16(1093), - 58: uint16(1093), - 59: uint16(1093), - 60: uint16(1093), - 61: uint16(1093), - 62: uint16(1093), - 63: uint16(1093), - 64: uint16(1093), + 5: uint16(399), + 6: uint16(306), + 7: uint16(1319), + 8: uint16(1339), + 9: uint16(1430), + 10: uint16(1828), + 11: uint16(1828), + 12: uint16(1828), + 13: uint16(580), + 14: uint16(399), + 15: uint16(399), + 16: uint16(399), + 17: uint16(399), + 18: uint16(399), + 21: uint16(214), + 22: uint16(1093), + 23: uint16(1828), + 24: uint16(1828), + 25: uint16(1828), + 26: uint16(1828), + 27: uint16(1828), + 28: uint16(1828), + 29: uint16(1828), + 30: uint16(1828), + 31: uint16(1828), + 32: uint16(1828), + 33: uint16(1828), + 34: uint16(1828), + 35: uint16(1828), + 36: uint16(1828), + 37: uint16(1828), + 38: uint16(1130), + 39: uint16(1130), + 40: uint16(365), + 41: uint16(365), + 42: uint16(55), + 43: uint16(278), + 44: uint16(436), + 45: uint16(713), + 46: uint16(713), + 47: uint16(201), + 48: uint16(201), + 49: uint16(201), + 50: uint16(201), + 51: uint16(40), + 52: uint16(111), + 53: uint16(258), + 54: uint16(361), + 55: uint16(469), + 56: uint16(512), + 57: uint16(583), + 58: uint16(622), + 59: uint16(693), + 60: uint16(732), + 61: uint16(803), + 62: uint16(842), + 63: uint16(913), + 64: uint16(1073), 65: uint16(1093), 66: uint16(1093), 67: uint16(1093), @@ -151369,1505 +152728,1514 @@ var _yy_shift_ofst = [579]uint16{ 71: uint16(1093), 72: uint16(1093), 73: uint16(1093), - 74: uint16(1113), + 74: uint16(1093), 75: uint16(1093), - 76: uint16(1216), - 77: uint16(957), - 78: uint16(957), - 79: uint16(1635), - 80: uint16(1662), - 81: uint16(1777), - 82: uint16(1837), - 83: uint16(1837), - 84: uint16(1837), - 85: uint16(1837), - 86: uint16(1837), - 87: uint16(1837), - 88: uint16(1837), - 89: uint16(1837), - 90: uint16(1837), - 91: uint16(1837), - 92: uint16(1837), - 93: uint16(1837), - 94: uint16(1837), - 95: uint16(1837), - 96: uint16(1837), - 97: uint16(1837), - 98: uint16(1837), - 99: uint16(1837), - 100: uint16(1837), - 101: uint16(1837), - 102: uint16(1837), - 103: uint16(1837), - 104: uint16(1837), - 105: uint16(1837), - 106: uint16(1837), - 107: uint16(1837), - 108: uint16(1837), - 109: uint16(1837), - 110: uint16(1837), - 111: uint16(1837), - 112: uint16(1837), - 113: uint16(1837), - 114: uint16(1837), - 115: uint16(1837), - 116: uint16(1837), - 117: uint16(1837), - 118: uint16(1837), - 119: uint16(1837), - 120: uint16(1837), - 121: uint16(1837), - 122: uint16(1837), - 123: uint16(1837), - 124: uint16(1837), - 125: uint16(1837), - 126: uint16(1837), - 127: uint16(1837), - 128: uint16(1837), - 129: uint16(1837), - 130: uint16(1837), - 131: uint16(137), - 132: uint16(181), - 133: uint16(181), - 134: uint16(181), - 135: uint16(181), - 136: uint16(181), - 137: uint16(181), - 138: uint16(181), - 139: uint16(94), - 140: uint16(430), - 141: uint16(66), - 142: uint16(65), - 143: uint16(112), - 144: uint16(366), - 145: uint16(533), - 146: uint16(533), - 147: uint16(740), - 148: uint16(1257), - 149: uint16(533), - 150: uint16(533), - 151: uint16(79), - 152: uint16(79), - 153: uint16(533), - 154: uint16(412), - 155: uint16(412), - 156: uint16(412), - 157: uint16(77), - 158: uint16(412), - 159: uint16(123), - 160: uint16(113), - 161: uint16(113), - 162: uint16(113), - 163: uint16(22), - 164: uint16(22), - 165: uint16(2100), - 166: uint16(2100), - 167: uint16(328), - 168: uint16(328), - 169: uint16(328), - 170: uint16(239), - 171: uint16(468), - 172: uint16(468), - 173: uint16(468), - 174: uint16(468), - 175: uint16(1015), - 176: uint16(1015), - 177: uint16(409), - 178: uint16(366), - 179: uint16(1187), - 180: uint16(1232), - 181: uint16(533), - 182: uint16(533), - 183: uint16(533), - 184: uint16(533), - 185: uint16(533), - 186: uint16(533), - 187: uint16(533), - 188: uint16(533), - 189: uint16(533), - 190: uint16(533), - 191: uint16(533), - 192: uint16(533), - 193: uint16(533), - 194: uint16(533), - 195: uint16(533), - 196: uint16(533), - 197: uint16(533), - 198: uint16(533), - 199: uint16(533), - 200: uint16(533), - 201: uint16(969), - 202: uint16(621), - 203: uint16(621), - 204: uint16(533), - 205: uint16(642), - 206: uint16(788), - 207: uint16(788), - 208: uint16(1133), - 209: uint16(1133), - 210: uint16(822), - 211: uint16(822), - 212: uint16(67), - 213: uint16(1193), - 214: uint16(2100), - 215: uint16(2100), - 216: uint16(2100), - 217: uint16(2100), - 218: uint16(2100), - 219: uint16(2100), - 220: uint16(2100), - 221: uint16(1307), - 222: uint16(954), - 223: uint16(954), - 224: uint16(585), - 225: uint16(472), - 226: uint16(640), - 227: uint16(387), - 228: uint16(695), - 229: uint16(538), - 230: uint16(541), - 231: uint16(700), - 232: uint16(533), - 233: uint16(533), - 234: uint16(533), - 235: uint16(533), - 236: uint16(533), - 237: uint16(533), - 238: uint16(533), - 239: uint16(533), - 240: uint16(533), - 241: uint16(533), - 242: uint16(222), - 243: uint16(533), - 244: uint16(533), - 245: uint16(533), - 246: uint16(533), - 247: uint16(533), - 248: uint16(533), - 249: uint16(533), - 250: uint16(533), - 251: uint16(533), - 252: uint16(533), - 253: uint16(533), - 254: uint16(533), - 255: uint16(1213), - 256: uint16(1213), - 257: uint16(1213), - 258: uint16(533), - 259: uint16(533), - 260: uint16(533), - 261: uint16(565), - 262: uint16(533), - 263: uint16(533), - 264: uint16(533), - 265: uint16(916), - 266: uint16(1147), - 267: uint16(533), - 268: uint16(533), - 269: uint16(1288), - 270: uint16(533), - 271: uint16(533), - 272: uint16(533), - 273: uint16(533), - 274: uint16(533), - 275: uint16(533), - 276: uint16(533), - 277: uint16(533), - 278: uint16(639), - 279: uint16(1280), - 280: uint16(209), - 281: uint16(1129), - 282: uint16(1129), - 283: uint16(1129), - 284: uint16(1129), - 285: uint16(580), - 286: uint16(209), - 287: uint16(209), - 288: uint16(1209), - 289: uint16(768), - 290: uint16(917), - 291: uint16(649), - 292: uint16(1315), - 293: uint16(1334), - 294: uint16(405), - 295: uint16(1334), - 296: uint16(1383), - 297: uint16(249), - 298: uint16(1315), - 299: uint16(1315), - 300: uint16(249), - 301: uint16(1315), - 302: uint16(405), - 303: uint16(1383), - 304: uint16(1441), - 305: uint16(464), - 306: uint16(1245), - 307: uint16(1417), - 308: uint16(1417), - 309: uint16(1417), - 310: uint16(1323), - 311: uint16(1323), - 312: uint16(1323), - 313: uint16(1323), - 314: uint16(184), - 315: uint16(184), - 316: uint16(1335), - 317: uint16(1476), - 318: uint16(856), - 319: uint16(1482), - 320: uint16(1744), - 321: uint16(1744), - 322: uint16(1665), - 323: uint16(1665), - 324: uint16(1773), - 325: uint16(1773), - 326: uint16(1665), - 327: uint16(1669), - 328: uint16(1671), - 329: uint16(1802), - 330: uint16(1782), - 331: uint16(1809), - 332: uint16(1809), - 333: uint16(1809), - 334: uint16(1809), - 335: uint16(1665), - 336: uint16(1817), - 337: uint16(1690), - 338: uint16(1671), - 339: uint16(1671), - 340: uint16(1690), - 341: uint16(1802), - 342: uint16(1782), - 343: uint16(1690), - 344: uint16(1782), - 345: uint16(1690), - 346: uint16(1665), - 347: uint16(1817), - 348: uint16(1693), - 349: uint16(1791), - 350: uint16(1665), - 351: uint16(1817), - 352: uint16(1832), - 353: uint16(1665), - 354: uint16(1817), - 355: uint16(1665), - 356: uint16(1817), - 357: uint16(1832), - 358: uint16(1752), - 359: uint16(1752), - 360: uint16(1752), - 361: uint16(1805), - 362: uint16(1850), - 363: uint16(1850), - 364: uint16(1832), - 365: uint16(1752), - 366: uint16(1749), - 367: uint16(1752), - 368: uint16(1805), - 369: uint16(1752), - 370: uint16(1752), - 371: uint16(1713), - 372: uint16(1858), - 373: uint16(1775), - 374: uint16(1775), - 375: uint16(1832), - 376: uint16(1665), - 377: uint16(1799), - 378: uint16(1799), - 379: uint16(1823), - 380: uint16(1823), - 381: uint16(1761), - 382: uint16(1765), - 383: uint16(1890), - 384: uint16(1665), - 385: uint16(1757), - 386: uint16(1761), - 387: uint16(1771), - 388: uint16(1774), - 389: uint16(1690), - 390: uint16(1894), - 391: uint16(1913), - 392: uint16(1913), - 393: uint16(1929), - 394: uint16(1929), - 395: uint16(1929), - 396: uint16(2100), - 397: uint16(2100), - 398: uint16(2100), - 399: uint16(2100), - 400: uint16(2100), - 401: uint16(2100), - 402: uint16(2100), - 403: uint16(2100), - 404: uint16(2100), - 405: uint16(2100), - 406: uint16(2100), - 407: uint16(2100), - 408: uint16(2100), - 409: uint16(2100), - 410: uint16(2100), - 411: uint16(207), - 412: uint16(1220), - 413: uint16(331), - 414: uint16(620), - 415: uint16(967), - 416: uint16(806), - 417: uint16(1074), - 418: uint16(1499), - 419: uint16(1432), - 420: uint16(1463), - 421: uint16(1479), - 422: uint16(1419), - 423: uint16(1422), - 424: uint16(1557), - 425: uint16(1512), - 426: uint16(1598), - 427: uint16(1599), - 428: uint16(1644), - 429: uint16(1645), - 430: uint16(1654), - 431: uint16(1660), - 432: uint16(1555), - 433: uint16(1505), - 434: uint16(1684), - 435: uint16(1462), - 436: uint16(1670), - 437: uint16(1563), - 438: uint16(1619), - 439: uint16(1593), - 440: uint16(1676), - 441: uint16(1679), - 442: uint16(1613), - 443: uint16(1680), - 444: uint16(1554), - 445: uint16(1558), - 446: uint16(1689), - 447: uint16(1692), - 448: uint16(1605), - 449: uint16(1589), - 450: uint16(1955), - 451: uint16(1959), - 452: uint16(1941), - 453: uint16(1803), - 454: uint16(1950), - 455: uint16(1951), - 456: uint16(1945), - 457: uint16(1946), - 458: uint16(1831), - 459: uint16(1820), - 460: uint16(1842), - 461: uint16(1948), - 462: uint16(1948), - 463: uint16(1952), - 464: uint16(1833), - 465: uint16(1954), - 466: uint16(1834), - 467: uint16(1961), - 468: uint16(1978), - 469: uint16(1838), - 470: uint16(1851), - 471: uint16(1948), - 472: uint16(1852), - 473: uint16(1922), - 474: uint16(1947), - 475: uint16(1948), - 476: uint16(1836), - 477: uint16(1932), - 478: uint16(1935), - 479: uint16(1936), - 480: uint16(1942), - 481: uint16(1866), - 482: uint16(1881), - 483: uint16(1964), - 484: uint16(1859), - 485: uint16(1998), - 486: uint16(1996), - 487: uint16(1980), - 488: uint16(1888), - 489: uint16(1843), - 490: uint16(1937), - 491: uint16(1981), - 492: uint16(1939), - 493: uint16(1933), - 494: uint16(1968), - 495: uint16(1869), - 496: uint16(1896), - 497: uint16(1988), - 498: uint16(1993), - 499: uint16(1995), - 500: uint16(1884), - 501: uint16(1891), - 502: uint16(1997), - 503: uint16(1953), - 504: uint16(1999), - 505: uint16(2000), - 506: uint16(1994), - 507: uint16(2001), - 508: uint16(1957), - 509: uint16(1966), - 510: uint16(2002), - 511: uint16(1931), - 512: uint16(1990), - 513: uint16(2006), - 514: uint16(1962), - 515: uint16(2003), - 516: uint16(2007), - 517: uint16(2004), - 518: uint16(1882), - 519: uint16(2010), - 520: uint16(2011), - 521: uint16(2012), - 522: uint16(2008), - 523: uint16(2013), - 524: uint16(2015), - 525: uint16(1944), - 526: uint16(1898), - 527: uint16(2019), - 528: uint16(2020), - 529: uint16(1928), - 530: uint16(2014), - 531: uint16(2023), - 532: uint16(1903), - 533: uint16(2022), - 534: uint16(2016), - 535: uint16(2017), - 536: uint16(2018), - 537: uint16(2021), - 538: uint16(1965), - 539: uint16(1974), - 540: uint16(1970), - 541: uint16(2024), - 542: uint16(1979), - 543: uint16(1967), - 544: uint16(2025), - 545: uint16(2034), - 546: uint16(2036), - 547: uint16(2037), - 548: uint16(2038), - 549: uint16(2039), - 550: uint16(2028), - 551: uint16(1923), - 552: uint16(1924), - 553: uint16(2044), - 554: uint16(2022), - 555: uint16(2046), - 556: uint16(2047), - 557: uint16(2048), - 558: uint16(2049), - 559: uint16(2050), - 560: uint16(2051), - 561: uint16(2054), - 562: uint16(2062), - 563: uint16(2055), - 564: uint16(2056), - 565: uint16(2057), - 566: uint16(2058), - 567: uint16(2060), - 568: uint16(2061), - 569: uint16(2059), - 570: uint16(1956), - 571: uint16(1938), - 572: uint16(1949), - 573: uint16(1958), - 574: uint16(2063), - 575: uint16(2064), - 576: uint16(2070), - 577: uint16(2085), - 578: uint16(2088), -} -var _yy_reduce_ofst = [411]int16{ - 0: int16(-int32(125)), - 1: int16(733), - 2: int16(789), - 3: int16(241), - 4: int16(293), - 5: int16(-int32(123)), - 6: int16(-int32(193)), - 7: int16(-int32(191)), - 8: int16(-int32(183)), - 9: int16(-int32(187)), - 10: int16(166), - 11: int16(238), - 12: int16(133), - 13: int16(-int32(207)), - 14: int16(-int32(199)), - 15: int16(-int32(267)), - 16: int16(-int32(176)), - 17: int16(-int32(6)), - 18: int16(204), - 19: int16(489), - 20: int16(576), - 21: int16(598), - 22: int16(-int32(175)), - 23: int16(686), - 24: int16(860), - 25: int16(615), - 26: int16(725), - 27: int16(1014), - 28: int16(778), - 29: int16(781), - 30: int16(857), - 31: int16(616), - 32: int16(887), - 33: int16(87), - 34: int16(240), - 35: int16(-int32(192)), - 36: int16(408), - 37: int16(626), - 38: int16(796), - 39: int16(843), - 40: int16(854), - 41: int16(1004), - 42: int16(-int32(271)), - 43: int16(-int32(271)), - 44: int16(-int32(271)), - 45: int16(-int32(271)), - 46: int16(-int32(271)), - 47: int16(-int32(271)), - 48: int16(-int32(271)), - 49: int16(-int32(271)), - 50: int16(-int32(271)), - 51: int16(-int32(271)), - 52: int16(-int32(271)), - 53: int16(-int32(271)), - 54: int16(-int32(271)), - 55: int16(-int32(271)), - 56: int16(-int32(271)), - 57: int16(-int32(271)), - 58: int16(-int32(271)), - 59: int16(-int32(271)), - 60: int16(-int32(271)), - 61: int16(-int32(271)), - 62: int16(-int32(271)), - 63: int16(-int32(271)), - 64: int16(-int32(271)), - 65: int16(-int32(271)), - 66: int16(-int32(271)), - 67: int16(-int32(271)), - 68: int16(-int32(271)), - 69: int16(-int32(271)), - 70: int16(-int32(271)), - 71: int16(-int32(271)), - 72: int16(-int32(271)), - 73: int16(-int32(271)), - 74: int16(-int32(271)), - 75: int16(-int32(271)), - 76: int16(-int32(271)), - 77: int16(-int32(271)), - 78: int16(-int32(271)), - 79: int16(80), - 80: int16(83), - 81: int16(313), - 82: int16(886), - 83: int16(888), - 84: int16(918), - 85: int16(938), - 86: int16(1021), - 87: int16(1034), - 88: int16(1036), - 89: int16(1141), - 90: int16(1159), - 91: int16(1163), - 92: int16(1166), - 93: int16(1168), - 94: int16(1170), - 95: int16(1176), - 96: int16(1178), - 97: int16(1180), - 98: int16(1184), - 99: int16(1196), - 100: int16(1198), - 101: int16(1205), - 102: int16(1215), - 103: int16(1225), - 104: int16(1227), - 105: int16(1236), - 106: int16(1252), - 107: int16(1254), - 108: int16(1264), - 109: int16(1303), - 110: int16(1309), - 111: int16(1312), - 112: int16(1322), - 113: int16(1325), - 114: int16(1328), - 115: int16(1337), - 116: int16(1340), - 117: int16(1343), - 118: int16(1353), - 119: int16(1371), - 120: int16(1373), - 121: int16(1384), - 122: int16(1386), - 123: int16(1411), - 124: int16(1413), - 125: int16(1420), - 126: int16(1424), - 127: int16(1426), - 128: int16(1458), - 129: int16(1470), - 130: int16(1473), - 131: int16(-int32(271)), - 132: int16(-int32(271)), - 133: int16(-int32(271)), - 134: int16(-int32(271)), - 135: int16(-int32(271)), - 136: int16(-int32(271)), - 137: int16(-int32(271)), - 138: int16(-int32(271)), - 139: int16(-int32(271)), - 140: int16(-int32(271)), - 141: int16(-int32(271)), - 142: int16(138), - 143: int16(459), - 144: int16(396), - 145: int16(-int32(158)), - 146: int16(470), - 147: int16(302), - 148: int16(-int32(212)), - 149: int16(521), - 150: int16(201), - 151: int16(-int32(195)), - 152: int16(-int32(92)), - 153: int16(559), - 154: int16(630), - 155: int16(632), - 156: int16(630), - 157: int16(-int32(271)), - 158: int16(632), - 159: int16(901), - 160: int16(63), - 161: int16(407), - 162: int16(670), - 163: int16(-int32(271)), - 164: int16(-int32(271)), - 165: int16(-int32(271)), - 166: int16(-int32(271)), - 167: int16(161), - 168: int16(161), - 169: int16(161), - 170: int16(251), - 171: int16(335), - 172: int16(847), - 173: int16(979), - 174: int16(1097), - 175: int16(537), - 176: int16(588), - 177: int16(618), - 178: int16(628), - 179: int16(688), - 180: int16(688), - 181: int16(-int32(166)), - 182: int16(-int32(161)), - 183: int16(674), - 184: int16(787), - 185: int16(794), - 186: int16(799), - 187: int16(852), - 188: int16(996), - 189: int16(-int32(122)), - 190: int16(837), - 191: int16(-int32(120)), - 192: int16(1018), - 193: int16(1035), - 194: int16(415), - 195: int16(1047), - 196: int16(1001), - 197: int16(958), - 198: int16(1082), - 199: int16(400), - 200: int16(1099), - 201: int16(779), - 202: int16(1137), - 203: int16(1142), - 204: int16(263), - 205: int16(1083), - 206: int16(1145), - 207: int16(1150), - 208: int16(1041), - 209: int16(1139), - 210: int16(965), - 211: int16(1050), - 212: int16(362), - 213: int16(849), - 214: int16(752), - 215: int16(629), - 216: int16(675), - 217: int16(1162), - 218: int16(1173), - 219: int16(1090), - 220: int16(1195), - 221: int16(-int32(194)), - 222: int16(56), - 223: int16(185), - 224: int16(-int32(135)), - 225: int16(232), - 226: int16(522), - 227: int16(560), - 228: int16(571), - 229: int16(601), - 230: int16(617), - 231: int16(669), - 232: int16(683), - 233: int16(711), - 234: int16(850), - 235: int16(893), - 236: int16(1000), - 237: int16(1040), - 238: int16(1049), - 239: int16(1081), - 240: int16(1087), - 241: int16(1101), - 242: int16(392), - 243: int16(1114), - 244: int16(1123), - 245: int16(1155), - 246: int16(1161), - 247: int16(1175), - 248: int16(1271), - 249: int16(1293), - 250: int16(1299), - 251: int16(1330), - 252: int16(1339), - 253: int16(1342), - 254: int16(1347), - 255: int16(593), - 256: int16(1282), - 257: int16(1286), - 258: int16(1350), - 259: int16(1359), - 260: int16(1368), - 261: int16(1314), - 262: int16(1480), - 263: int16(1483), - 264: int16(1507), - 265: int16(1085), - 266: int16(1338), - 267: int16(1526), - 268: int16(1527), - 269: int16(1487), - 270: int16(1531), - 271: int16(560), - 272: int16(1532), - 273: int16(1534), - 274: int16(1535), - 275: int16(1538), - 276: int16(1539), - 277: int16(1541), - 278: int16(1448), - 279: int16(1450), - 280: int16(1496), - 281: int16(1484), - 282: int16(1485), - 283: int16(1489), - 284: int16(1490), - 285: int16(1314), - 286: int16(1496), - 287: int16(1496), - 288: int16(1504), - 289: int16(1536), - 290: int16(1564), - 291: int16(1451), - 292: int16(1486), - 293: int16(1492), - 294: int16(1509), - 295: int16(1493), - 296: int16(1465), - 297: int16(1515), - 298: int16(1494), - 299: int16(1495), - 300: int16(1517), - 301: int16(1500), - 302: int16(1519), - 303: int16(1474), - 304: int16(1550), - 305: int16(1543), - 306: int16(1548), - 307: int16(1556), - 308: int16(1565), - 309: int16(1566), - 310: int16(1518), - 311: int16(1523), - 312: int16(1542), - 313: int16(1544), - 314: int16(1525), - 315: int16(1545), - 316: int16(1513), - 317: int16(1553), - 318: int16(1552), - 319: int16(1604), - 320: int16(1508), - 321: int16(1510), - 322: int16(1608), - 323: int16(1609), - 324: int16(1520), - 325: int16(1528), - 326: int16(1612), - 327: int16(1540), - 328: int16(1559), - 329: int16(1560), - 330: int16(1592), - 331: int16(1591), - 332: int16(1595), - 333: int16(1596), - 334: int16(1597), - 335: int16(1629), - 336: int16(1638), - 337: int16(1594), - 338: int16(1569), - 339: int16(1570), - 340: int16(1600), - 341: int16(1568), - 342: int16(1610), - 343: int16(1601), - 344: int16(1611), - 345: int16(1603), - 346: int16(1643), - 347: int16(1651), - 348: int16(1562), - 349: int16(1571), - 350: int16(1655), - 351: int16(1659), - 352: int16(1640), - 353: int16(1663), - 354: int16(1666), - 355: int16(1664), - 356: int16(1667), - 357: int16(1641), - 358: int16(1650), - 359: int16(1652), - 360: int16(1653), - 361: int16(1647), - 362: int16(1656), - 363: int16(1657), - 364: int16(1658), - 365: int16(1668), - 366: int16(1672), - 367: int16(1681), - 368: int16(1649), - 369: int16(1682), - 370: int16(1683), - 371: int16(1573), - 372: int16(1582), - 373: int16(1607), - 374: int16(1615), - 375: int16(1685), - 376: int16(1702), - 377: int16(1586), - 378: int16(1587), - 379: int16(1642), - 380: int16(1646), - 381: int16(1673), - 382: int16(1675), - 383: int16(1636), - 384: int16(1714), - 385: int16(1637), - 386: int16(1677), - 387: int16(1674), - 388: int16(1678), - 389: int16(1694), - 390: int16(1719), - 391: int16(1734), - 392: int16(1735), - 393: int16(1746), - 394: int16(1747), - 395: int16(1750), - 396: int16(1633), - 397: int16(1661), + 76: uint16(1093), + 77: uint16(1093), + 78: uint16(1093), + 79: uint16(1093), + 80: uint16(1093), + 81: uint16(1093), + 82: uint16(1093), + 83: uint16(1113), + 84: uint16(1093), + 85: uint16(1216), + 86: uint16(957), + 87: uint16(957), + 88: uint16(1523), + 89: uint16(1602), + 90: uint16(1674), + 91: uint16(1828), + 92: uint16(1828), + 93: uint16(1828), + 94: uint16(1828), + 95: uint16(1828), + 96: uint16(1828), + 97: uint16(1828), + 98: uint16(1828), + 99: uint16(1828), + 100: uint16(1828), + 101: uint16(1828), + 102: uint16(1828), + 103: uint16(1828), + 104: uint16(1828), + 105: uint16(1828), + 106: uint16(1828), + 107: uint16(1828), + 108: uint16(1828), + 109: uint16(1828), + 110: uint16(1828), + 111: uint16(1828), + 112: uint16(1828), + 113: uint16(1828), + 114: uint16(1828), + 115: uint16(1828), + 116: uint16(1828), + 117: uint16(1828), + 118: uint16(1828), + 119: uint16(1828), + 120: uint16(1828), + 121: uint16(1828), + 122: uint16(1828), + 123: uint16(1828), + 124: uint16(1828), + 125: uint16(1828), + 126: uint16(1828), + 127: uint16(1828), + 128: uint16(1828), + 129: uint16(1828), + 130: uint16(1828), + 131: uint16(1828), + 132: uint16(1828), + 133: uint16(1828), + 134: uint16(1828), + 135: uint16(1828), + 136: uint16(1828), + 137: uint16(1828), + 138: uint16(1828), + 139: uint16(1828), + 140: uint16(137), + 141: uint16(181), + 142: uint16(181), + 143: uint16(181), + 144: uint16(181), + 145: uint16(181), + 146: uint16(181), + 147: uint16(181), + 148: uint16(96), + 149: uint16(222), + 150: uint16(143), + 151: uint16(477), + 152: uint16(713), + 153: uint16(1133), + 154: uint16(1268), + 155: uint16(713), + 156: uint16(713), + 157: uint16(79), + 158: uint16(79), + 159: uint16(713), + 160: uint16(770), + 161: uint16(83), + 162: uint16(65), + 163: uint16(65), + 164: uint16(65), + 165: uint16(288), + 166: uint16(162), + 167: uint16(162), + 168: uint16(2142), + 169: uint16(2142), + 170: uint16(696), + 171: uint16(696), + 172: uint16(696), + 173: uint16(238), + 174: uint16(474), + 175: uint16(474), + 176: uint16(474), + 177: uint16(474), + 178: uint16(1217), + 179: uint16(1217), + 180: uint16(678), + 181: uint16(477), + 182: uint16(324), + 183: uint16(398), + 184: uint16(713), + 185: uint16(713), + 186: uint16(713), + 187: uint16(713), + 188: uint16(713), + 189: uint16(713), + 190: uint16(713), + 191: uint16(713), + 192: uint16(713), + 193: uint16(713), + 194: uint16(713), + 195: uint16(713), + 196: uint16(713), + 197: uint16(713), + 198: uint16(713), + 199: uint16(713), + 200: uint16(713), + 201: uint16(713), + 202: uint16(713), + 203: uint16(1220), + 204: uint16(366), + 205: uint16(366), + 206: uint16(713), + 207: uint16(917), + 208: uint16(283), + 209: uint16(283), + 210: uint16(434), + 211: uint16(434), + 212: uint16(605), + 213: uint16(605), + 214: uint16(1298), + 215: uint16(2142), + 216: uint16(2142), + 217: uint16(2142), + 218: uint16(2142), + 219: uint16(2142), + 220: uint16(2142), + 221: uint16(2142), + 222: uint16(1179), + 223: uint16(1157), + 224: uint16(1157), + 225: uint16(487), + 226: uint16(527), + 227: uint16(585), + 228: uint16(645), + 229: uint16(749), + 230: uint16(914), + 231: uint16(968), + 232: uint16(752), + 233: uint16(713), + 234: uint16(713), + 235: uint16(713), + 236: uint16(713), + 237: uint16(713), + 238: uint16(713), + 239: uint16(713), + 240: uint16(713), + 241: uint16(713), + 242: uint16(713), + 243: uint16(303), + 244: uint16(713), + 245: uint16(713), + 246: uint16(713), + 247: uint16(713), + 248: uint16(713), + 249: uint16(713), + 250: uint16(713), + 251: uint16(713), + 252: uint16(713), + 253: uint16(713), + 254: uint16(713), + 255: uint16(713), + 256: uint16(797), + 257: uint16(797), + 258: uint16(797), + 259: uint16(713), + 260: uint16(713), + 261: uint16(713), + 262: uint16(959), + 263: uint16(713), + 264: uint16(713), + 265: uint16(713), + 266: uint16(1169), + 267: uint16(1271), + 268: uint16(713), + 269: uint16(713), + 270: uint16(1330), + 271: uint16(713), + 272: uint16(713), + 273: uint16(713), + 274: uint16(713), + 275: uint16(713), + 276: uint16(713), + 277: uint16(713), + 278: uint16(713), + 279: uint16(629), + 280: uint16(7), + 281: uint16(91), + 282: uint16(876), + 283: uint16(876), + 284: uint16(876), + 285: uint16(876), + 286: uint16(953), + 287: uint16(91), + 288: uint16(91), + 289: uint16(1246), + 290: uint16(1065), + 291: uint16(1106), + 292: uint16(1374), + 293: uint16(1329), + 294: uint16(1348), + 295: uint16(468), + 296: uint16(1348), + 297: uint16(1394), + 298: uint16(785), + 299: uint16(1329), + 300: uint16(1329), + 301: uint16(785), + 302: uint16(1329), + 303: uint16(468), + 304: uint16(1394), + 305: uint16(859), + 306: uint16(854), + 307: uint16(1402), + 308: uint16(1449), + 309: uint16(1449), + 310: uint16(1449), + 311: uint16(1173), + 312: uint16(1173), + 313: uint16(1173), + 314: uint16(1173), + 315: uint16(1355), + 316: uint16(1355), + 317: uint16(1030), + 318: uint16(1341), + 319: uint16(405), + 320: uint16(1230), + 321: uint16(1795), + 322: uint16(1795), + 323: uint16(1711), + 324: uint16(1711), + 325: uint16(1829), + 326: uint16(1829), + 327: uint16(1711), + 328: uint16(1717), + 329: uint16(1719), + 330: uint16(1850), + 331: uint16(1833), + 332: uint16(1860), + 333: uint16(1860), + 334: uint16(1860), + 335: uint16(1860), + 336: uint16(1711), + 337: uint16(1868), + 338: uint16(1740), + 339: uint16(1719), + 340: uint16(1719), + 341: uint16(1740), + 342: uint16(1850), + 343: uint16(1833), + 344: uint16(1740), + 345: uint16(1833), + 346: uint16(1740), + 347: uint16(1711), + 348: uint16(1868), + 349: uint16(1745), + 350: uint16(1843), + 351: uint16(1711), + 352: uint16(1868), + 353: uint16(1887), + 354: uint16(1711), + 355: uint16(1868), + 356: uint16(1711), + 357: uint16(1868), + 358: uint16(1887), + 359: uint16(1801), + 360: uint16(1801), + 361: uint16(1801), + 362: uint16(1855), + 363: uint16(1900), + 364: uint16(1900), + 365: uint16(1887), + 366: uint16(1801), + 367: uint16(1797), + 368: uint16(1801), + 369: uint16(1855), + 370: uint16(1801), + 371: uint16(1801), + 372: uint16(1761), + 373: uint16(1912), + 374: uint16(1830), + 375: uint16(1830), + 376: uint16(1887), + 377: uint16(1711), + 378: uint16(1862), + 379: uint16(1862), + 380: uint16(1875), + 381: uint16(1875), + 382: uint16(1810), + 383: uint16(1815), + 384: uint16(1940), + 385: uint16(1711), + 386: uint16(1807), + 387: uint16(1810), + 388: uint16(1821), + 389: uint16(1823), + 390: uint16(1740), + 391: uint16(1945), + 392: uint16(1963), + 393: uint16(1963), + 394: uint16(1974), + 395: uint16(1974), + 396: uint16(1974), + 397: uint16(2142), + 398: uint16(2142), + 399: uint16(2142), + 400: uint16(2142), + 401: uint16(2142), + 402: uint16(2142), + 403: uint16(2142), + 404: uint16(2142), + 405: uint16(2142), + 406: uint16(2142), + 407: uint16(2142), + 408: uint16(2142), + 409: uint16(2142), + 410: uint16(2142), + 411: uint16(2142), + 412: uint16(20), + 413: uint16(1224), + 414: uint16(256), + 415: uint16(1111), + 416: uint16(1115), + 417: uint16(1114), + 418: uint16(1192), + 419: uint16(1496), + 420: uint16(1424), + 421: uint16(1505), + 422: uint16(1427), + 423: uint16(355), + 424: uint16(1383), + 425: uint16(1537), + 426: uint16(1506), + 427: uint16(1538), + 428: uint16(1553), + 429: uint16(1583), + 430: uint16(1584), + 431: uint16(1591), + 432: uint16(1625), + 433: uint16(541), + 434: uint16(1445), + 435: uint16(1562), + 436: uint16(1450), + 437: uint16(1572), + 438: uint16(1515), + 439: uint16(1428), + 440: uint16(1532), + 441: uint16(1592), + 442: uint16(1629), + 443: uint16(1520), + 444: uint16(1630), + 445: uint16(1639), + 446: uint16(1510), + 447: uint16(1544), + 448: uint16(1662), + 449: uint16(1675), + 450: uint16(1551), + 451: uint16(48), + 452: uint16(1996), + 453: uint16(2001), + 454: uint16(1983), + 455: uint16(1844), + 456: uint16(1993), + 457: uint16(1994), + 458: uint16(1986), + 459: uint16(1989), + 460: uint16(1874), + 461: uint16(1863), + 462: uint16(1885), + 463: uint16(1991), + 464: uint16(1991), + 465: uint16(1995), + 466: uint16(1876), + 467: uint16(1997), + 468: uint16(1877), + 469: uint16(2004), + 470: uint16(2021), + 471: uint16(1881), + 472: uint16(1894), + 473: uint16(1991), + 474: uint16(1895), + 475: uint16(1965), + 476: uint16(1990), + 477: uint16(1991), + 478: uint16(1878), + 479: uint16(1975), + 480: uint16(1977), + 481: uint16(1978), + 482: uint16(1979), + 483: uint16(1903), + 484: uint16(1918), + 485: uint16(2002), + 486: uint16(1896), + 487: uint16(2034), + 488: uint16(2033), + 489: uint16(2017), + 490: uint16(1925), + 491: uint16(1880), + 492: uint16(1976), + 493: uint16(2018), + 494: uint16(1980), + 495: uint16(1967), + 496: uint16(2005), + 497: uint16(1904), + 498: uint16(1932), + 499: uint16(2025), + 500: uint16(2030), + 501: uint16(2032), + 502: uint16(1921), + 503: uint16(1928), + 504: uint16(2035), + 505: uint16(1987), + 506: uint16(2036), + 507: uint16(2037), + 508: uint16(2038), + 509: uint16(2040), + 510: uint16(1988), + 511: uint16(2006), + 512: uint16(2039), + 513: uint16(1960), + 514: uint16(2041), + 515: uint16(2042), + 516: uint16(1999), + 517: uint16(2023), + 518: uint16(2044), + 519: uint16(2043), + 520: uint16(1919), + 521: uint16(2048), + 522: uint16(2049), + 523: uint16(2050), + 524: uint16(2046), + 525: uint16(2051), + 526: uint16(2053), + 527: uint16(1981), + 528: uint16(1935), + 529: uint16(2056), + 530: uint16(2057), + 531: uint16(1966), + 532: uint16(2047), + 533: uint16(2061), + 534: uint16(1941), + 535: uint16(2060), + 536: uint16(2052), + 537: uint16(2054), + 538: uint16(2055), + 539: uint16(2058), + 540: uint16(2003), + 541: uint16(2012), + 542: uint16(2007), + 543: uint16(2059), + 544: uint16(2015), + 545: uint16(2008), + 546: uint16(2062), + 547: uint16(2071), + 548: uint16(2073), + 549: uint16(2074), + 550: uint16(2072), + 551: uint16(2075), + 552: uint16(2065), + 553: uint16(1962), + 554: uint16(1964), + 555: uint16(2079), + 556: uint16(2060), + 557: uint16(2082), + 558: uint16(2084), + 559: uint16(2085), + 560: uint16(2087), + 561: uint16(2086), + 562: uint16(2089), + 563: uint16(2088), + 564: uint16(2091), + 565: uint16(2093), + 566: uint16(2099), + 567: uint16(2094), + 568: uint16(2095), + 569: uint16(2096), + 570: uint16(2097), + 571: uint16(2100), + 572: uint16(2101), + 573: uint16(2102), + 574: uint16(1998), + 575: uint16(1984), + 576: uint16(1985), + 577: uint16(2000), + 578: uint16(2103), + 579: uint16(2098), + 580: uint16(2109), + 581: uint16(2117), + 582: uint16(2128), +} +var _yy_reduce_ofst = [412]int16{ + 0: int16(-int32(71)), + 1: int16(194), + 2: int16(343), + 3: int16(835), + 4: int16(-int32(180)), + 5: int16(-int32(177)), + 6: int16(838), + 7: int16(-int32(194)), + 8: int16(-int32(188)), + 9: int16(-int32(185)), + 10: int16(-int32(183)), + 11: int16(82), + 12: int16(183), + 13: int16(-int32(65)), + 14: int16(133), + 15: int16(245), + 16: int16(346), + 17: int16(407), + 18: int16(458), + 19: int16(-int32(178)), + 20: int16(75), + 21: int16(-int32(275)), + 22: int16(-int32(4)), + 23: int16(310), + 24: int16(312), + 25: int16(489), + 26: int16(575), + 27: int16(596), + 28: int16(463), + 29: int16(686), + 30: int16(707), + 31: int16(725), + 32: int16(780), + 33: int16(1098), + 34: int16(856), + 35: int16(778), + 36: int16(1059), + 37: int16(1090), + 38: int16(708), + 39: int16(887), + 40: int16(86), + 41: int16(448), + 42: int16(980), + 43: int16(630), + 44: int16(680), + 45: int16(681), + 46: int16(684), + 47: int16(796), + 48: int16(801), + 49: int16(796), + 50: int16(801), + 51: int16(-int32(261)), + 52: int16(-int32(261)), + 53: int16(-int32(261)), + 54: int16(-int32(261)), + 55: int16(-int32(261)), + 56: int16(-int32(261)), + 57: int16(-int32(261)), + 58: int16(-int32(261)), + 59: int16(-int32(261)), + 60: int16(-int32(261)), + 61: int16(-int32(261)), + 62: int16(-int32(261)), + 63: int16(-int32(261)), + 64: int16(-int32(261)), + 65: int16(-int32(261)), + 66: int16(-int32(261)), + 67: int16(-int32(261)), + 68: int16(-int32(261)), + 69: int16(-int32(261)), + 70: int16(-int32(261)), + 71: int16(-int32(261)), + 72: int16(-int32(261)), + 73: int16(-int32(261)), + 74: int16(-int32(261)), + 75: int16(-int32(261)), + 76: int16(-int32(261)), + 77: int16(-int32(261)), + 78: int16(-int32(261)), + 79: int16(-int32(261)), + 80: int16(-int32(261)), + 81: int16(-int32(261)), + 82: int16(-int32(261)), + 83: int16(-int32(261)), + 84: int16(-int32(261)), + 85: int16(-int32(261)), + 86: int16(-int32(261)), + 87: int16(-int32(261)), + 88: int16(391), + 89: int16(886), + 90: int16(888), + 91: int16(1013), + 92: int16(1016), + 93: int16(1081), + 94: int16(1087), + 95: int16(1151), + 96: int16(1159), + 97: int16(1177), + 98: int16(1185), + 99: int16(1188), + 100: int16(1190), + 101: int16(1194), + 102: int16(1197), + 103: int16(1203), + 104: int16(1247), + 105: int16(1260), + 106: int16(1264), + 107: int16(1267), + 108: int16(1269), + 109: int16(1273), + 110: int16(1315), + 111: int16(1322), + 112: int16(1335), + 113: int16(1337), + 114: int16(1356), + 115: int16(1362), + 116: int16(1418), + 117: int16(1425), + 118: int16(1453), + 119: int16(1457), + 120: int16(1465), + 121: int16(1473), + 122: int16(1487), + 123: int16(1495), + 124: int16(1507), + 125: int16(1517), + 126: int16(1521), + 127: int16(1534), + 128: int16(1543), + 129: int16(1546), + 130: int16(1549), + 131: int16(1552), + 132: int16(1554), + 133: int16(1560), + 134: int16(1581), + 135: int16(1590), + 136: int16(1593), + 137: int16(1595), + 138: int16(1621), + 139: int16(1623), + 140: int16(-int32(261)), + 141: int16(-int32(261)), + 142: int16(-int32(261)), + 143: int16(-int32(261)), + 144: int16(-int32(261)), + 145: int16(-int32(261)), + 146: int16(-int32(261)), + 147: int16(-int32(261)), + 148: int16(-int32(261)), + 149: int16(-int32(261)), + 150: int16(-int32(261)), + 151: int16(-int32(186)), + 152: int16(-int32(117)), + 153: int16(260), + 154: int16(263), + 155: int16(460), + 156: int16(631), + 157: int16(-int32(74)), + 158: int16(497), + 159: int16(-int32(181)), + 160: int16(-int32(261)), + 161: int16(939), + 162: int16(176), + 163: int16(274), + 164: int16(338), + 165: int16(676), + 166: int16(-int32(261)), + 167: int16(-int32(261)), + 168: int16(-int32(261)), + 169: int16(-int32(261)), + 170: int16(-int32(212)), + 171: int16(-int32(212)), + 172: int16(-int32(212)), + 173: int16(-int32(184)), + 174: int16(149), + 175: int16(777), + 176: int16(1061), + 177: int16(1103), + 178: int16(265), + 179: int16(419), + 180: int16(-int32(254)), + 181: int16(670), + 182: int16(677), + 183: int16(677), + 184: int16(-int32(11)), + 185: int16(-int32(129)), + 186: int16(184), + 187: int16(488), + 188: int16(736), + 189: int16(789), + 190: int16(805), + 191: int16(844), + 192: int16(403), + 193: int16(529), + 194: int16(579), + 195: int16(668), + 196: int16(783), + 197: int16(841), + 198: int16(1158), + 199: int16(1112), + 200: int16(806), + 201: int16(861), + 202: int16(1095), + 203: int16(846), + 204: int16(839), + 205: int16(1031), + 206: int16(-int32(189)), + 207: int16(1077), + 208: int16(1080), + 209: int16(1116), + 210: int16(1084), + 211: int16(1156), + 212: int16(1139), + 213: int16(1221), + 214: int16(46), + 215: int16(1099), + 216: int16(1037), + 217: int16(1118), + 218: int16(1171), + 219: int16(1214), + 220: int16(1210), + 221: int16(1258), + 222: int16(-int32(210)), + 223: int16(-int32(190)), + 224: int16(-int32(176)), + 225: int16(-int32(115)), + 226: int16(117), + 227: int16(262), + 228: int16(376), + 229: int16(490), + 230: int16(511), + 231: int16(520), + 232: int16(618), + 233: int16(639), + 234: int16(743), + 235: int16(901), + 236: int16(907), + 237: int16(958), + 238: int16(1014), + 239: int16(1055), + 240: int16(1108), + 241: int16(1193), + 242: int16(1244), + 243: int16(720), + 244: int16(1248), + 245: int16(1277), + 246: int16(1324), + 247: int16(1347), + 248: int16(1417), + 249: int16(1431), + 250: int16(1432), + 251: int16(1440), + 252: int16(1451), + 253: int16(1452), + 254: int16(1463), + 255: int16(1478), + 256: int16(1286), + 257: int16(1350), + 258: int16(1369), + 259: int16(1490), + 260: int16(1498), + 261: int16(1501), + 262: int16(773), + 263: int16(1509), + 264: int16(1513), + 265: int16(1528), + 266: int16(1292), + 267: int16(1367), + 268: int16(1535), + 269: int16(1536), + 270: int16(1477), + 271: int16(1542), + 272: int16(376), + 273: int16(1547), + 274: int16(1550), + 275: int16(1555), + 276: int16(1559), + 277: int16(1568), + 278: int16(1571), + 279: int16(1441), + 280: int16(1443), + 281: int16(1474), + 282: int16(1511), + 283: int16(1516), + 284: int16(1519), + 285: int16(1522), + 286: int16(773), + 287: int16(1474), + 288: int16(1474), + 289: int16(1503), + 290: int16(1567), + 291: int16(1594), + 292: int16(1484), + 293: int16(1527), + 294: int16(1556), + 295: int16(1570), + 296: int16(1557), + 297: int16(1524), + 298: int16(1573), + 299: int16(1545), + 300: int16(1548), + 301: int16(1576), + 302: int16(1561), + 303: int16(1587), + 304: int16(1540), + 305: int16(1575), + 306: int16(1606), + 307: int16(1611), + 308: int16(1622), + 309: int16(1624), + 310: int16(1626), + 311: int16(1582), + 312: int16(1597), + 313: int16(1598), + 314: int16(1599), + 315: int16(1601), + 316: int16(1603), + 317: int16(1563), + 318: int16(1608), + 319: int16(1605), + 320: int16(1604), + 321: int16(1564), + 322: int16(1566), + 323: int16(1655), + 324: int16(1660), + 325: int16(1578), + 326: int16(1579), + 327: int16(1665), + 328: int16(1586), + 329: int16(1607), + 330: int16(1610), + 331: int16(1642), + 332: int16(1641), + 333: int16(1645), + 334: int16(1646), + 335: int16(1647), + 336: int16(1679), + 337: int16(1688), + 338: int16(1644), + 339: int16(1618), + 340: int16(1619), + 341: int16(1648), + 342: int16(1628), + 343: int16(1659), + 344: int16(1649), + 345: int16(1663), + 346: int16(1650), + 347: int16(1700), + 348: int16(1702), + 349: int16(1612), + 350: int16(1615), + 351: int16(1706), + 352: int16(1708), + 353: int16(1689), + 354: int16(1709), + 355: int16(1712), + 356: int16(1713), + 357: int16(1715), + 358: int16(1691), + 359: int16(1698), + 360: int16(1699), + 361: int16(1701), + 362: int16(1693), + 363: int16(1704), + 364: int16(1707), + 365: int16(1705), + 366: int16(1714), + 367: int16(1703), + 368: int16(1718), + 369: int16(1710), + 370: int16(1720), + 371: int16(1721), + 372: int16(1632), + 373: int16(1634), + 374: int16(1664), + 375: int16(1666), + 376: int16(1729), + 377: int16(1751), + 378: int16(1635), + 379: int16(1636), + 380: int16(1692), + 381: int16(1694), + 382: int16(1716), + 383: int16(1722), + 384: int16(1684), + 385: int16(1763), + 386: int16(1685), + 387: int16(1723), + 388: int16(1724), + 389: int16(1727), + 390: int16(1730), + 391: int16(1768), + 392: int16(1783), + 393: int16(1784), + 394: int16(1793), + 395: int16(1794), + 396: int16(1796), + 397: int16(1683), 398: int16(1686), - 399: int16(1738), - 400: int16(1728), - 401: int16(1733), - 402: int16(1736), - 403: int16(1737), - 404: int16(1740), - 405: int16(1726), - 406: int16(1730), - 407: int16(1742), - 408: int16(1743), - 409: int16(1748), - 410: int16(1753), -} -var _yy_default = [579]uint16{ - 0: uint16(1648), - 1: uint16(1648), - 2: uint16(1648), - 3: uint16(1478), - 4: uint16(1243), - 5: uint16(1354), - 6: uint16(1243), - 7: uint16(1243), - 8: uint16(1243), - 9: uint16(1478), - 10: uint16(1478), - 11: uint16(1478), - 12: uint16(1243), - 13: uint16(1384), - 14: uint16(1384), - 15: uint16(1531), - 16: uint16(1276), - 17: uint16(1243), - 18: uint16(1243), - 19: uint16(1243), - 20: uint16(1243), - 21: uint16(1243), - 22: uint16(1243), - 23: uint16(1243), - 24: uint16(1243), - 25: uint16(1243), - 26: uint16(1243), - 27: uint16(1243), - 28: uint16(1477), - 29: uint16(1243), - 30: uint16(1243), - 31: uint16(1243), - 32: uint16(1243), - 33: uint16(1564), - 34: uint16(1564), - 35: uint16(1243), - 36: uint16(1243), - 37: uint16(1243), - 38: uint16(1243), - 39: uint16(1243), - 40: uint16(1243), - 41: uint16(1243), - 42: uint16(1243), - 43: uint16(1393), - 44: uint16(1243), - 45: uint16(1400), - 46: uint16(1243), - 47: uint16(1243), - 48: uint16(1243), - 49: uint16(1243), - 50: uint16(1243), - 51: uint16(1479), - 52: uint16(1480), - 53: uint16(1243), - 54: uint16(1243), - 55: uint16(1243), - 56: uint16(1530), - 57: uint16(1532), - 58: uint16(1495), - 59: uint16(1407), - 60: uint16(1406), - 61: uint16(1405), - 62: uint16(1404), - 63: uint16(1513), - 64: uint16(1372), - 65: uint16(1398), - 66: uint16(1391), - 67: uint16(1395), - 68: uint16(1474), - 69: uint16(1475), - 70: uint16(1473), - 71: uint16(1626), - 72: uint16(1480), - 73: uint16(1479), - 74: uint16(1243), - 75: uint16(1394), - 76: uint16(1442), - 77: uint16(1458), - 78: uint16(1441), - 79: uint16(1243), - 80: uint16(1243), - 81: uint16(1243), - 82: uint16(1243), - 83: uint16(1243), - 84: uint16(1243), - 85: uint16(1243), - 86: uint16(1243), - 87: uint16(1243), - 88: uint16(1243), - 89: uint16(1243), - 90: uint16(1243), - 91: uint16(1243), - 92: uint16(1243), - 93: uint16(1243), - 94: uint16(1243), - 95: uint16(1243), - 96: uint16(1243), - 97: uint16(1243), - 98: uint16(1243), - 99: uint16(1243), - 100: uint16(1243), - 101: uint16(1243), - 102: uint16(1243), - 103: uint16(1243), - 104: uint16(1243), - 105: uint16(1243), - 106: uint16(1243), - 107: uint16(1243), - 108: uint16(1243), - 109: uint16(1243), - 110: uint16(1243), - 111: uint16(1243), - 112: uint16(1243), - 113: uint16(1243), - 114: uint16(1243), - 115: uint16(1243), - 116: uint16(1243), - 117: uint16(1243), - 118: uint16(1243), - 119: uint16(1243), - 120: uint16(1243), - 121: uint16(1243), - 122: uint16(1243), - 123: uint16(1243), - 124: uint16(1243), - 125: uint16(1243), - 126: uint16(1243), - 127: uint16(1243), - 128: uint16(1243), - 129: uint16(1243), - 130: uint16(1243), - 131: uint16(1450), - 132: uint16(1457), - 133: uint16(1456), - 134: uint16(1455), - 135: uint16(1464), - 136: uint16(1454), - 137: uint16(1451), - 138: uint16(1444), - 139: uint16(1443), - 140: uint16(1445), - 141: uint16(1446), - 142: uint16(1243), - 143: uint16(1243), - 144: uint16(1267), - 145: uint16(1243), - 146: uint16(1243), - 147: uint16(1264), - 148: uint16(1318), - 149: uint16(1243), - 150: uint16(1243), - 151: uint16(1243), - 152: uint16(1243), - 153: uint16(1243), - 154: uint16(1550), - 155: uint16(1549), - 156: uint16(1243), - 157: uint16(1447), - 158: uint16(1243), - 159: uint16(1276), - 160: uint16(1435), - 161: uint16(1434), - 162: uint16(1433), - 163: uint16(1461), - 164: uint16(1448), - 165: uint16(1460), - 166: uint16(1459), - 167: uint16(1538), - 168: uint16(1600), - 169: uint16(1599), - 170: uint16(1496), - 171: uint16(1243), - 172: uint16(1243), - 173: uint16(1243), - 174: uint16(1243), - 175: uint16(1243), - 176: uint16(1243), - 177: uint16(1564), - 178: uint16(1243), - 179: uint16(1243), - 180: uint16(1243), - 181: uint16(1243), - 182: uint16(1243), - 183: uint16(1243), - 184: uint16(1243), - 185: uint16(1243), - 186: uint16(1243), - 187: uint16(1243), - 188: uint16(1243), - 189: uint16(1243), - 190: uint16(1243), - 191: uint16(1243), - 192: uint16(1243), - 193: uint16(1243), - 194: uint16(1243), - 195: uint16(1243), - 196: uint16(1243), - 197: uint16(1243), - 198: uint16(1243), - 199: uint16(1243), - 200: uint16(1243), - 201: uint16(1374), - 202: uint16(1564), - 203: uint16(1564), - 204: uint16(1243), - 205: uint16(1276), - 206: uint16(1564), - 207: uint16(1564), - 208: uint16(1375), - 209: uint16(1375), - 210: uint16(1272), - 211: uint16(1272), - 212: uint16(1378), - 213: uint16(1243), - 214: uint16(1545), - 215: uint16(1345), - 216: uint16(1345), - 217: uint16(1345), - 218: uint16(1345), - 219: uint16(1354), - 220: uint16(1345), - 221: uint16(1243), - 222: uint16(1243), - 223: uint16(1243), - 224: uint16(1243), - 225: uint16(1243), - 226: uint16(1243), - 227: uint16(1243), - 228: uint16(1243), - 229: uint16(1243), - 230: uint16(1243), - 231: uint16(1243), - 232: uint16(1243), - 233: uint16(1243), - 234: uint16(1243), - 235: uint16(1243), - 236: uint16(1535), - 237: uint16(1533), - 238: uint16(1243), - 239: uint16(1243), - 240: uint16(1243), - 241: uint16(1243), - 242: uint16(1243), - 243: uint16(1243), - 244: uint16(1243), - 245: uint16(1243), - 246: uint16(1243), - 247: uint16(1243), - 248: uint16(1243), - 249: uint16(1243), - 250: uint16(1243), - 251: uint16(1243), - 252: uint16(1243), - 253: uint16(1243), - 254: uint16(1243), - 255: uint16(1243), - 256: uint16(1243), - 257: uint16(1243), - 258: uint16(1243), - 259: uint16(1243), - 260: uint16(1243), - 261: uint16(1243), - 262: uint16(1243), - 263: uint16(1243), - 264: uint16(1243), - 265: uint16(1350), - 266: uint16(1243), - 267: uint16(1243), - 268: uint16(1243), - 269: uint16(1243), - 270: uint16(1243), - 271: uint16(1243), - 272: uint16(1243), - 273: uint16(1243), - 274: uint16(1243), - 275: uint16(1243), - 276: uint16(1243), - 277: uint16(1593), - 278: uint16(1243), - 279: uint16(1508), - 280: uint16(1332), - 281: uint16(1350), - 282: uint16(1350), - 283: uint16(1350), - 284: uint16(1350), - 285: uint16(1352), - 286: uint16(1333), - 287: uint16(1331), - 288: uint16(1344), - 289: uint16(1277), - 290: uint16(1250), - 291: uint16(1640), - 292: uint16(1410), - 293: uint16(1399), - 294: uint16(1351), - 295: uint16(1399), - 296: uint16(1637), - 297: uint16(1397), + 399: int16(1690), + 400: int16(1782), + 401: int16(1779), + 402: int16(1780), + 403: int16(1781), + 404: int16(1785), + 405: int16(1788), + 406: int16(1774), + 407: int16(1775), + 408: int16(1786), + 409: int16(1787), + 410: int16(1789), + 411: int16(1798), +} +var _yy_default = [583]uint16{ + 0: uint16(1663), + 1: uint16(1663), + 2: uint16(1663), + 3: uint16(1491), + 4: uint16(1254), + 5: uint16(1367), + 6: uint16(1254), + 7: uint16(1254), + 8: uint16(1254), + 9: uint16(1254), + 10: uint16(1491), + 11: uint16(1491), + 12: uint16(1491), + 13: uint16(1254), + 14: uint16(1254), + 15: uint16(1254), + 16: uint16(1254), + 17: uint16(1254), + 18: uint16(1254), + 19: uint16(1397), + 20: uint16(1397), + 21: uint16(1544), + 22: uint16(1287), + 23: uint16(1254), + 24: uint16(1254), + 25: uint16(1254), + 26: uint16(1254), + 27: uint16(1254), + 28: uint16(1254), + 29: uint16(1254), + 30: uint16(1254), + 31: uint16(1254), + 32: uint16(1254), + 33: uint16(1254), + 34: uint16(1254), + 35: uint16(1490), + 36: uint16(1254), + 37: uint16(1254), + 38: uint16(1254), + 39: uint16(1254), + 40: uint16(1578), + 41: uint16(1578), + 42: uint16(1254), + 43: uint16(1254), + 44: uint16(1254), + 45: uint16(1254), + 46: uint16(1254), + 47: uint16(1563), + 48: uint16(1562), + 49: uint16(1254), + 50: uint16(1254), + 51: uint16(1254), + 52: uint16(1406), + 53: uint16(1254), + 54: uint16(1413), + 55: uint16(1254), + 56: uint16(1254), + 57: uint16(1254), + 58: uint16(1254), + 59: uint16(1254), + 60: uint16(1492), + 61: uint16(1493), + 62: uint16(1254), + 63: uint16(1254), + 64: uint16(1254), + 65: uint16(1543), + 66: uint16(1545), + 67: uint16(1508), + 68: uint16(1420), + 69: uint16(1419), + 70: uint16(1418), + 71: uint16(1417), + 72: uint16(1526), + 73: uint16(1385), + 74: uint16(1411), + 75: uint16(1404), + 76: uint16(1408), + 77: uint16(1487), + 78: uint16(1488), + 79: uint16(1486), + 80: uint16(1641), + 81: uint16(1493), + 82: uint16(1492), + 83: uint16(1254), + 84: uint16(1407), + 85: uint16(1455), + 86: uint16(1471), + 87: uint16(1454), + 88: uint16(1254), + 89: uint16(1254), + 90: uint16(1254), + 91: uint16(1254), + 92: uint16(1254), + 93: uint16(1254), + 94: uint16(1254), + 95: uint16(1254), + 96: uint16(1254), + 97: uint16(1254), + 98: uint16(1254), + 99: uint16(1254), + 100: uint16(1254), + 101: uint16(1254), + 102: uint16(1254), + 103: uint16(1254), + 104: uint16(1254), + 105: uint16(1254), + 106: uint16(1254), + 107: uint16(1254), + 108: uint16(1254), + 109: uint16(1254), + 110: uint16(1254), + 111: uint16(1254), + 112: uint16(1254), + 113: uint16(1254), + 114: uint16(1254), + 115: uint16(1254), + 116: uint16(1254), + 117: uint16(1254), + 118: uint16(1254), + 119: uint16(1254), + 120: uint16(1254), + 121: uint16(1254), + 122: uint16(1254), + 123: uint16(1254), + 124: uint16(1254), + 125: uint16(1254), + 126: uint16(1254), + 127: uint16(1254), + 128: uint16(1254), + 129: uint16(1254), + 130: uint16(1254), + 131: uint16(1254), + 132: uint16(1254), + 133: uint16(1254), + 134: uint16(1254), + 135: uint16(1254), + 136: uint16(1254), + 137: uint16(1254), + 138: uint16(1254), + 139: uint16(1254), + 140: uint16(1463), + 141: uint16(1470), + 142: uint16(1469), + 143: uint16(1468), + 144: uint16(1477), + 145: uint16(1467), + 146: uint16(1464), + 147: uint16(1457), + 148: uint16(1456), + 149: uint16(1458), + 150: uint16(1459), + 151: uint16(1278), + 152: uint16(1254), + 153: uint16(1275), + 154: uint16(1329), + 155: uint16(1254), + 156: uint16(1254), + 157: uint16(1254), + 158: uint16(1254), + 159: uint16(1254), + 160: uint16(1460), + 161: uint16(1287), + 162: uint16(1448), + 163: uint16(1447), + 164: uint16(1446), + 165: uint16(1254), + 166: uint16(1474), + 167: uint16(1461), + 168: uint16(1473), + 169: uint16(1472), + 170: uint16(1551), + 171: uint16(1615), + 172: uint16(1614), + 173: uint16(1509), + 174: uint16(1254), + 175: uint16(1254), + 176: uint16(1254), + 177: uint16(1254), + 178: uint16(1254), + 179: uint16(1254), + 180: uint16(1578), + 181: uint16(1254), + 182: uint16(1254), + 183: uint16(1254), + 184: uint16(1254), + 185: uint16(1254), + 186: uint16(1254), + 187: uint16(1254), + 188: uint16(1254), + 189: uint16(1254), + 190: uint16(1254), + 191: uint16(1254), + 192: uint16(1254), + 193: uint16(1254), + 194: uint16(1254), + 195: uint16(1254), + 196: uint16(1254), + 197: uint16(1254), + 198: uint16(1254), + 199: uint16(1254), + 200: uint16(1254), + 201: uint16(1254), + 202: uint16(1254), + 203: uint16(1387), + 204: uint16(1578), + 205: uint16(1578), + 206: uint16(1254), + 207: uint16(1287), + 208: uint16(1578), + 209: uint16(1578), + 210: uint16(1388), + 211: uint16(1388), + 212: uint16(1283), + 213: uint16(1283), + 214: uint16(1391), + 215: uint16(1558), + 216: uint16(1358), + 217: uint16(1358), + 218: uint16(1358), + 219: uint16(1358), + 220: uint16(1367), + 221: uint16(1358), + 222: uint16(1254), + 223: uint16(1254), + 224: uint16(1254), + 225: uint16(1254), + 226: uint16(1254), + 227: uint16(1254), + 228: uint16(1254), + 229: uint16(1254), + 230: uint16(1254), + 231: uint16(1254), + 232: uint16(1254), + 233: uint16(1254), + 234: uint16(1254), + 235: uint16(1254), + 236: uint16(1254), + 237: uint16(1548), + 238: uint16(1546), + 239: uint16(1254), + 240: uint16(1254), + 241: uint16(1254), + 242: uint16(1254), + 243: uint16(1254), + 244: uint16(1254), + 245: uint16(1254), + 246: uint16(1254), + 247: uint16(1254), + 248: uint16(1254), + 249: uint16(1254), + 250: uint16(1254), + 251: uint16(1254), + 252: uint16(1254), + 253: uint16(1254), + 254: uint16(1254), + 255: uint16(1254), + 256: uint16(1254), + 257: uint16(1254), + 258: uint16(1254), + 259: uint16(1254), + 260: uint16(1254), + 261: uint16(1254), + 262: uint16(1254), + 263: uint16(1254), + 264: uint16(1254), + 265: uint16(1254), + 266: uint16(1363), + 267: uint16(1254), + 268: uint16(1254), + 269: uint16(1254), + 270: uint16(1254), + 271: uint16(1254), + 272: uint16(1254), + 273: uint16(1254), + 274: uint16(1254), + 275: uint16(1254), + 276: uint16(1254), + 277: uint16(1254), + 278: uint16(1608), + 279: uint16(1254), + 280: uint16(1521), + 281: uint16(1343), + 282: uint16(1363), + 283: uint16(1363), + 284: uint16(1363), + 285: uint16(1363), + 286: uint16(1365), + 287: uint16(1344), + 288: uint16(1342), + 289: uint16(1357), + 290: uint16(1288), + 291: uint16(1261), + 292: uint16(1655), + 293: uint16(1423), + 294: uint16(1412), + 295: uint16(1364), + 296: uint16(1412), + 297: uint16(1652), 298: uint16(1410), - 299: uint16(1410), - 300: uint16(1397), + 299: uint16(1423), + 300: uint16(1423), 301: uint16(1410), - 302: uint16(1351), - 303: uint16(1637), - 304: uint16(1293), - 305: uint16(1615), - 306: uint16(1288), - 307: uint16(1384), - 308: uint16(1384), - 309: uint16(1384), - 310: uint16(1374), - 311: uint16(1374), - 312: uint16(1374), - 313: uint16(1374), - 314: uint16(1378), - 315: uint16(1378), - 316: uint16(1476), - 317: uint16(1351), - 318: uint16(1344), - 319: uint16(1243), - 320: uint16(1640), - 321: uint16(1640), - 322: uint16(1360), - 323: uint16(1360), - 324: uint16(1639), - 325: uint16(1639), - 326: uint16(1360), - 327: uint16(1496), - 328: uint16(1623), - 329: uint16(1419), - 330: uint16(1321), - 331: uint16(1327), - 332: uint16(1327), - 333: uint16(1327), - 334: uint16(1327), - 335: uint16(1360), - 336: uint16(1261), - 337: uint16(1397), - 338: uint16(1623), - 339: uint16(1623), - 340: uint16(1397), - 341: uint16(1419), - 342: uint16(1321), - 343: uint16(1397), - 344: uint16(1321), - 345: uint16(1397), - 346: uint16(1360), - 347: uint16(1261), - 348: uint16(1512), - 349: uint16(1634), - 350: uint16(1360), - 351: uint16(1261), - 352: uint16(1486), - 353: uint16(1360), - 354: uint16(1261), - 355: uint16(1360), - 356: uint16(1261), - 357: uint16(1486), - 358: uint16(1319), - 359: uint16(1319), - 360: uint16(1319), - 361: uint16(1308), - 362: uint16(1243), - 363: uint16(1243), - 364: uint16(1486), - 365: uint16(1319), - 366: uint16(1293), - 367: uint16(1319), - 368: uint16(1308), + 302: uint16(1423), + 303: uint16(1364), + 304: uint16(1652), + 305: uint16(1304), + 306: uint16(1630), + 307: uint16(1299), + 308: uint16(1397), + 309: uint16(1397), + 310: uint16(1397), + 311: uint16(1387), + 312: uint16(1387), + 313: uint16(1387), + 314: uint16(1387), + 315: uint16(1391), + 316: uint16(1391), + 317: uint16(1489), + 318: uint16(1364), + 319: uint16(1357), + 320: uint16(1254), + 321: uint16(1655), + 322: uint16(1655), + 323: uint16(1373), + 324: uint16(1373), + 325: uint16(1654), + 326: uint16(1654), + 327: uint16(1373), + 328: uint16(1509), + 329: uint16(1638), + 330: uint16(1432), + 331: uint16(1332), + 332: uint16(1338), + 333: uint16(1338), + 334: uint16(1338), + 335: uint16(1338), + 336: uint16(1373), + 337: uint16(1272), + 338: uint16(1410), + 339: uint16(1638), + 340: uint16(1638), + 341: uint16(1410), + 342: uint16(1432), + 343: uint16(1332), + 344: uint16(1410), + 345: uint16(1332), + 346: uint16(1410), + 347: uint16(1373), + 348: uint16(1272), + 349: uint16(1525), + 350: uint16(1649), + 351: uint16(1373), + 352: uint16(1272), + 353: uint16(1499), + 354: uint16(1373), + 355: uint16(1272), + 356: uint16(1373), + 357: uint16(1272), + 358: uint16(1499), + 359: uint16(1330), + 360: uint16(1330), + 361: uint16(1330), + 362: uint16(1319), + 363: uint16(1254), + 364: uint16(1254), + 365: uint16(1499), + 366: uint16(1330), + 367: uint16(1304), + 368: uint16(1330), 369: uint16(1319), - 370: uint16(1319), - 371: uint16(1582), - 372: uint16(1243), - 373: uint16(1490), - 374: uint16(1490), - 375: uint16(1486), - 376: uint16(1360), - 377: uint16(1574), - 378: uint16(1574), - 379: uint16(1387), - 380: uint16(1387), - 381: uint16(1392), - 382: uint16(1378), - 383: uint16(1481), - 384: uint16(1360), - 385: uint16(1243), - 386: uint16(1392), - 387: uint16(1390), - 388: uint16(1388), - 389: uint16(1397), - 390: uint16(1311), - 391: uint16(1596), - 392: uint16(1596), - 393: uint16(1592), - 394: uint16(1592), - 395: uint16(1592), - 396: uint16(1645), - 397: uint16(1645), - 398: uint16(1545), - 399: uint16(1608), - 400: uint16(1276), - 401: uint16(1276), - 402: uint16(1276), - 403: uint16(1276), - 404: uint16(1608), - 405: uint16(1295), - 406: uint16(1295), - 407: uint16(1277), - 408: uint16(1277), - 409: uint16(1276), - 410: uint16(1608), - 411: uint16(1243), - 412: uint16(1243), - 413: uint16(1243), - 414: uint16(1243), - 415: uint16(1243), - 416: uint16(1243), - 417: uint16(1603), - 418: uint16(1243), - 419: uint16(1540), - 420: uint16(1497), - 421: uint16(1364), - 422: uint16(1243), - 423: uint16(1243), - 424: uint16(1243), - 425: uint16(1243), - 426: uint16(1243), - 427: uint16(1243), - 428: uint16(1243), - 429: uint16(1243), - 430: uint16(1243), - 431: uint16(1243), - 432: uint16(1243), - 433: uint16(1243), - 434: uint16(1243), - 435: uint16(1243), - 436: uint16(1243), - 437: uint16(1243), - 438: uint16(1551), - 439: uint16(1243), - 440: uint16(1243), - 441: uint16(1243), - 442: uint16(1243), - 443: uint16(1243), - 444: uint16(1243), - 445: uint16(1243), - 446: uint16(1243), - 447: uint16(1243), - 448: uint16(1243), - 449: uint16(1424), - 450: uint16(1243), - 451: uint16(1246), - 452: uint16(1542), - 453: uint16(1243), - 454: uint16(1243), - 455: uint16(1243), - 456: uint16(1243), - 457: uint16(1243), - 458: uint16(1243), - 459: uint16(1243), - 460: uint16(1243), - 461: uint16(1401), - 462: uint16(1402), - 463: uint16(1365), - 464: uint16(1243), - 465: uint16(1243), - 466: uint16(1243), - 467: uint16(1243), - 468: uint16(1243), - 469: uint16(1243), - 470: uint16(1243), - 471: uint16(1416), - 472: uint16(1243), - 473: uint16(1243), - 474: uint16(1243), - 475: uint16(1411), - 476: uint16(1243), - 477: uint16(1243), - 478: uint16(1243), - 479: uint16(1243), - 480: uint16(1243), - 481: uint16(1243), - 482: uint16(1243), - 483: uint16(1243), - 484: uint16(1636), - 485: uint16(1243), - 486: uint16(1243), - 487: uint16(1243), - 488: uint16(1243), - 489: uint16(1243), - 490: uint16(1243), - 491: uint16(1511), - 492: uint16(1510), - 493: uint16(1243), - 494: uint16(1243), - 495: uint16(1362), - 496: uint16(1243), - 497: uint16(1243), - 498: uint16(1243), - 499: uint16(1243), - 500: uint16(1243), - 501: uint16(1243), - 502: uint16(1243), - 503: uint16(1243), - 504: uint16(1243), - 505: uint16(1243), - 506: uint16(1243), - 507: uint16(1243), - 508: uint16(1243), - 509: uint16(1291), - 510: uint16(1243), - 511: uint16(1243), - 512: uint16(1243), - 513: uint16(1243), - 514: uint16(1243), - 515: uint16(1243), - 516: uint16(1243), - 517: uint16(1243), - 518: uint16(1243), - 519: uint16(1243), - 520: uint16(1243), - 521: uint16(1243), - 522: uint16(1243), - 523: uint16(1243), - 524: uint16(1243), - 525: uint16(1243), - 526: uint16(1243), - 527: uint16(1243), - 528: uint16(1243), - 529: uint16(1243), - 530: uint16(1243), - 531: uint16(1243), - 532: uint16(1243), - 533: uint16(1389), - 534: uint16(1243), - 535: uint16(1243), - 536: uint16(1243), - 537: uint16(1243), - 538: uint16(1243), - 539: uint16(1243), - 540: uint16(1243), - 541: uint16(1243), - 542: uint16(1243), - 543: uint16(1243), - 544: uint16(1243), - 545: uint16(1243), - 546: uint16(1243), - 547: uint16(1243), - 548: uint16(1579), - 549: uint16(1379), - 550: uint16(1243), - 551: uint16(1243), - 552: uint16(1243), - 553: uint16(1243), - 554: uint16(1627), - 555: uint16(1243), - 556: uint16(1243), - 557: uint16(1243), - 558: uint16(1243), - 559: uint16(1243), - 560: uint16(1243), - 561: uint16(1243), - 562: uint16(1243), - 563: uint16(1243), - 564: uint16(1243), - 565: uint16(1243), - 566: uint16(1243), - 567: uint16(1243), - 568: uint16(1243), - 569: uint16(1619), - 570: uint16(1335), - 571: uint16(1425), - 572: uint16(1243), - 573: uint16(1428), - 574: uint16(1265), - 575: uint16(1243), - 576: uint16(1255), - 577: uint16(1243), - 578: uint16(1243), + 370: uint16(1330), + 371: uint16(1330), + 372: uint16(1596), + 373: uint16(1254), + 374: uint16(1503), + 375: uint16(1503), + 376: uint16(1499), + 377: uint16(1373), + 378: uint16(1588), + 379: uint16(1588), + 380: uint16(1400), + 381: uint16(1400), + 382: uint16(1405), + 383: uint16(1391), + 384: uint16(1494), + 385: uint16(1373), + 386: uint16(1254), + 387: uint16(1405), + 388: uint16(1403), + 389: uint16(1401), + 390: uint16(1410), + 391: uint16(1322), + 392: uint16(1611), + 393: uint16(1611), + 394: uint16(1607), + 395: uint16(1607), + 396: uint16(1607), + 397: uint16(1660), + 398: uint16(1660), + 399: uint16(1558), + 400: uint16(1623), + 401: uint16(1287), + 402: uint16(1287), + 403: uint16(1287), + 404: uint16(1287), + 405: uint16(1623), + 406: uint16(1306), + 407: uint16(1306), + 408: uint16(1288), + 409: uint16(1288), + 410: uint16(1287), + 411: uint16(1623), + 412: uint16(1254), + 413: uint16(1254), + 414: uint16(1254), + 415: uint16(1254), + 416: uint16(1254), + 417: uint16(1254), + 418: uint16(1618), + 419: uint16(1254), + 420: uint16(1553), + 421: uint16(1510), + 422: uint16(1377), + 423: uint16(1254), + 424: uint16(1254), + 425: uint16(1254), + 426: uint16(1254), + 427: uint16(1254), + 428: uint16(1254), + 429: uint16(1254), + 430: uint16(1254), + 431: uint16(1254), + 432: uint16(1254), + 433: uint16(1254), + 434: uint16(1254), + 435: uint16(1254), + 436: uint16(1254), + 437: uint16(1254), + 438: uint16(1254), + 439: uint16(1564), + 440: uint16(1254), + 441: uint16(1254), + 442: uint16(1254), + 443: uint16(1254), + 444: uint16(1254), + 445: uint16(1254), + 446: uint16(1254), + 447: uint16(1254), + 448: uint16(1254), + 449: uint16(1254), + 450: uint16(1254), + 451: uint16(1437), + 452: uint16(1254), + 453: uint16(1257), + 454: uint16(1555), + 455: uint16(1254), + 456: uint16(1254), + 457: uint16(1254), + 458: uint16(1254), + 459: uint16(1254), + 460: uint16(1254), + 461: uint16(1254), + 462: uint16(1254), + 463: uint16(1414), + 464: uint16(1415), + 465: uint16(1378), + 466: uint16(1254), + 467: uint16(1254), + 468: uint16(1254), + 469: uint16(1254), + 470: uint16(1254), + 471: uint16(1254), + 472: uint16(1254), + 473: uint16(1429), + 474: uint16(1254), + 475: uint16(1254), + 476: uint16(1254), + 477: uint16(1424), + 478: uint16(1254), + 479: uint16(1254), + 480: uint16(1254), + 481: uint16(1254), + 482: uint16(1254), + 483: uint16(1254), + 484: uint16(1254), + 485: uint16(1254), + 486: uint16(1651), + 487: uint16(1254), + 488: uint16(1254), + 489: uint16(1254), + 490: uint16(1254), + 491: uint16(1254), + 492: uint16(1254), + 493: uint16(1524), + 494: uint16(1523), + 495: uint16(1254), + 496: uint16(1254), + 497: uint16(1375), + 498: uint16(1254), + 499: uint16(1254), + 500: uint16(1254), + 501: uint16(1254), + 502: uint16(1254), + 503: uint16(1254), + 504: uint16(1254), + 505: uint16(1254), + 506: uint16(1254), + 507: uint16(1254), + 508: uint16(1254), + 509: uint16(1254), + 510: uint16(1254), + 511: uint16(1302), + 512: uint16(1254), + 513: uint16(1254), + 514: uint16(1254), + 515: uint16(1254), + 516: uint16(1254), + 517: uint16(1254), + 518: uint16(1254), + 519: uint16(1254), + 520: uint16(1254), + 521: uint16(1254), + 522: uint16(1254), + 523: uint16(1254), + 524: uint16(1254), + 525: uint16(1254), + 526: uint16(1254), + 527: uint16(1254), + 528: uint16(1254), + 529: uint16(1254), + 530: uint16(1254), + 531: uint16(1254), + 532: uint16(1254), + 533: uint16(1254), + 534: uint16(1254), + 535: uint16(1402), + 536: uint16(1254), + 537: uint16(1254), + 538: uint16(1254), + 539: uint16(1254), + 540: uint16(1254), + 541: uint16(1254), + 542: uint16(1254), + 543: uint16(1254), + 544: uint16(1254), + 545: uint16(1254), + 546: uint16(1254), + 547: uint16(1254), + 548: uint16(1254), + 549: uint16(1254), + 550: uint16(1593), + 551: uint16(1392), + 552: uint16(1254), + 553: uint16(1254), + 554: uint16(1254), + 555: uint16(1254), + 556: uint16(1642), + 557: uint16(1254), + 558: uint16(1254), + 559: uint16(1254), + 560: uint16(1254), + 561: uint16(1352), + 562: uint16(1254), + 563: uint16(1254), + 564: uint16(1254), + 565: uint16(1254), + 566: uint16(1254), + 567: uint16(1254), + 568: uint16(1254), + 569: uint16(1254), + 570: uint16(1254), + 571: uint16(1254), + 572: uint16(1254), + 573: uint16(1634), + 574: uint16(1346), + 575: uint16(1438), + 576: uint16(1254), + 577: uint16(1441), + 578: uint16(1276), + 579: uint16(1254), + 580: uint16(1266), + 581: uint16(1254), + 582: uint16(1254), } /********** End of lemon-generated parsing tables *****************************/ @@ -152888,7 +154256,7 @@ var _yy_default = [579]uint16{ // ** to revert to identifiers if they keyword does not apply in the context where // ** it appears. // */ -var _yyFallback = [185]uint16{ +var _yyFallback = [186]uint16{ 2: uint16(59), 3: uint16(59), 4: uint16(59), @@ -153001,8 +154369,9 @@ type yyStackEntry = TyyStackEntry type TyyParser1 = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser1 = TyyParser1 @@ -153010,14 +154379,46 @@ type yyParser1 = TyyParser1 type TyyParser = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser = TyyParser /* #include */ +// C documentation +// +// /* +// ** Try to increase the size of the parser stack. Return the number +// ** of errors. Return 0 on success. +// */ +func _yyGrowStack(tls *libc.TLS, p uintptr) (r int32) { + var idx, newSize, oldSize int32 + var pNew uintptr + _, _, _, _ = idx, newSize, oldSize, pNew + oldSize = int32(1) + int32((int64((*TyyParser)(unsafe.Pointer(p)).FyystackEnd)-int64((*TyyParser)(unsafe.Pointer(p)).Fyystack))/24) + newSize = oldSize*int32(2) + int32(100) + idx = int32((int64((*TyyParser)(unsafe.Pointer(p)).Fyytos) - int64((*TyyParser)(unsafe.Pointer(p)).Fyystack)) / 24) + if (*TyyParser)(unsafe.Pointer(p)).Fyystack == p+32 { + pNew = _parserStackRealloc(tls, uintptr(0), uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + libc.Xmemcpy(tls, pNew, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(oldSize)*uint64(24)) + } else { + pNew = _parserStackRealloc(tls, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + } + (*TyyParser)(unsafe.Pointer(p)).Fyystack = pNew + (*TyyParser)(unsafe.Pointer(p)).Fyytos = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(idx)*24 + (*TyyParser)(unsafe.Pointer(p)).FyystackEnd = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(newSize-int32(1))*24 + return 0 +} + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -153033,10 +154434,11 @@ func _sqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { _ = yypParser yypParser = yypRawParser (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fstateno = uint16(0) - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fmajor = uint16(0) - (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = yypParser + 16 + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack = yypParser + 32 + (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fstateno = uint16(0) + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fmajor = uint16(0) } // C documentation @@ -153064,103 +154466,105 @@ func _yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor u ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case int32(204): /* select */ + case int32(205): /* select */ + fallthrough + case int32(240): /* selectnowith */ fallthrough - case int32(239): /* selectnowith */ + case int32(241): /* oneselect */ fallthrough - case int32(240): /* oneselect */ + case int32(253): /* values */ fallthrough - case int32(252): /* values */ + case int32(255): /* mvalues */ _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(216): /* term */ + case int32(217): /* term */ fallthrough - case int32(217): /* expr */ + case int32(218): /* expr */ fallthrough - case int32(246): /* where_opt */ + case int32(247): /* where_opt */ fallthrough - case int32(248): /* having_opt */ + case int32(249): /* having_opt */ fallthrough - case int32(267): /* where_opt_ret */ + case int32(269): /* where_opt_ret */ fallthrough - case int32(278): /* case_operand */ + case int32(280): /* case_operand */ fallthrough - case int32(280): /* case_else */ + case int32(282): /* case_else */ fallthrough - case int32(283): /* vinto */ + case int32(285): /* vinto */ fallthrough - case int32(290): /* when_clause */ + case int32(292): /* when_clause */ fallthrough - case int32(295): /* key_opt */ + case int32(297): /* key_opt */ fallthrough - case int32(311): /* filter_clause */ + case int32(314): /* filter_clause */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(221): /* eidlist_opt */ + case int32(222): /* eidlist_opt */ fallthrough - case int32(231): /* sortlist */ + case int32(232): /* sortlist */ fallthrough - case int32(232): /* eidlist */ + case int32(233): /* eidlist */ fallthrough - case int32(244): /* selcollist */ + case int32(245): /* selcollist */ fallthrough - case int32(247): /* groupby_opt */ + case int32(248): /* groupby_opt */ fallthrough - case int32(249): /* orderby_opt */ + case int32(250): /* orderby_opt */ fallthrough - case int32(253): /* nexprlist */ + case int32(254): /* nexprlist */ fallthrough - case int32(254): /* sclp */ + case int32(256): /* sclp */ fallthrough - case int32(261): /* exprlist */ + case int32(263): /* exprlist */ fallthrough - case int32(268): /* setlist */ + case int32(270): /* setlist */ fallthrough - case int32(277): /* paren_exprlist */ + case int32(279): /* paren_exprlist */ fallthrough - case int32(279): /* case_exprlist */ + case int32(281): /* case_exprlist */ fallthrough - case int32(310): /* part_opt */ + case int32(313): /* part_opt */ _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(238): /* fullname */ + case int32(239): /* fullname */ fallthrough - case int32(245): /* from */ + case int32(246): /* from */ fallthrough - case int32(256): /* seltablist */ + case int32(258): /* seltablist */ fallthrough - case int32(257): /* stl_prefix */ + case int32(259): /* stl_prefix */ fallthrough - case int32(262): /* xfullname */ + case int32(264): /* xfullname */ _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(241): /* wqlist */ + case int32(242): /* wqlist */ _sqlite3WithDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(251): /* window_clause */ + case int32(252): /* window_clause */ fallthrough - case int32(306): /* windowdefn_list */ + case int32(309): /* windowdefn_list */ _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(263): /* idlist */ + case int32(265): /* idlist */ fallthrough - case int32(270): /* idlist_opt */ + case int32(272): /* idlist_opt */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(273): /* filter_over */ + case int32(275): /* filter_over */ fallthrough - case int32(307): /* windowdefn */ + case int32(310): /* windowdefn */ fallthrough - case int32(308): /* window */ + case int32(311): /* window */ fallthrough - case int32(309): /* frame_opt */ + case int32(312): /* frame_opt */ fallthrough - case int32(312): /* over_clause */ + case int32(315): /* over_clause */ _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(286): /* trigger_cmd_list */ + case int32(288): /* trigger_cmd_list */ fallthrough - case int32(291): /* trigger_cmd */ + case int32(293): /* trigger_cmd */ _sqlite3DeleteTriggerStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(288): /* trigger_event */ + case int32(290): /* trigger_event */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TTrigEvent)(unsafe.Pointer(yypminor))).Fb) - case int32(314): /* frame_bound */ + case int32(317): /* frame_bound */ fallthrough - case int32(315): /* frame_bound_s */ + case int32(318): /* frame_bound_s */ fallthrough - case int32(316): /* frame_bound_e */ + case int32(319): /* frame_bound_e */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TFrameBound)(unsafe.Pointer(yypminor))).FpExpr) break /********* End destructor definitions *****************************************/ @@ -153194,11 +154598,20 @@ func _yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var pParser, yytos uintptr + _, _ = pParser, yytos pParser = p - for (*TyyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { - _yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling yy_pop_parser_stack() for each + ** element left in the stack */ + yytos = (*TyyParser)(unsafe.Pointer(pParser)).Fyytos + for yytos > (*TyyParser)(unsafe.Pointer(pParser)).Fyystack { + if int32((*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor) >= int32(YY_MIN_DSTRCTR) { + _yy_destructor(tls, pParser, (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor, yytos+8) + } + yytos -= 24 + } + if (*TyyParser)(unsafe.Pointer(pParser)).Fyystack != pParser+32 { + Xsqlite3_free(tls, (*TyyParser)(unsafe.Pointer(pParser)).Fyystack) } } @@ -153279,13 +154692,13 @@ func _yyStackOverflow(tls *libc.TLS, yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*TyyParser)(unsafe.Pointer(yypParser)).FpParse - for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { + for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack { _yy_pop_parser_stack(tls, yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23338, 0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) /******** End %stack_overflow code ********************************************/ /* Suppress warning about unused %extra_argument var */ (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -153304,15 +154717,18 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint var yytos uintptr _ = yytos (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 - if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 - _yyStackOverflow(tls, yypParser) - return + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + if yytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { + if _yyGrowStack(tls, yypParser) != 0 { + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 + _yyStackOverflow(tls, yypParser) + return + } + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos } if int32(yyNewState) > int32(YY_MAX_SHIFT) { yyNewState = uint16(int32(yyNewState) + (libc.Int32FromInt32(YY_MIN_REDUCE) - libc.Int32FromInt32(YY_MIN_SHIFTREDUCE))) } - yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos (*TyyStackEntry)(unsafe.Pointer(yytos)).Fstateno = yyNewState (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor = yyMajor *(*TToken)(unsafe.Pointer(yytos + 8)) = yyMinor @@ -153322,419 +154738,423 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint // // /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side // ** of that rule */ -var _yyRuleInfoLhs = [405]uint16{ - 0: uint16(189), - 1: uint16(189), - 2: uint16(188), - 3: uint16(190), - 4: uint16(191), - 5: uint16(191), - 6: uint16(191), - 7: uint16(191), - 8: uint16(190), - 9: uint16(190), - 10: uint16(190), - 11: uint16(190), - 12: uint16(190), - 13: uint16(195), - 14: uint16(197), - 15: uint16(199), - 16: uint16(199), - 17: uint16(198), - 18: uint16(198), - 19: uint16(196), - 20: uint16(196), - 21: uint16(203), - 22: uint16(203), - 23: uint16(205), - 24: uint16(205), - 25: uint16(206), - 26: uint16(208), - 27: uint16(208), - 28: uint16(208), - 29: uint16(209), - 30: uint16(213), - 31: uint16(214), - 32: uint16(215), - 33: uint16(215), - 34: uint16(215), - 35: uint16(215), - 36: uint16(215), - 37: uint16(215), - 38: uint16(215), - 39: uint16(215), - 40: uint16(215), - 41: uint16(215), - 42: uint16(215), - 43: uint16(215), - 44: uint16(215), - 45: uint16(224), - 46: uint16(224), - 47: uint16(220), - 48: uint16(220), - 49: uint16(222), - 50: uint16(222), - 51: uint16(225), - 52: uint16(225), - 53: uint16(225), - 54: uint16(225), - 55: uint16(226), - 56: uint16(226), - 57: uint16(226), - 58: uint16(226), - 59: uint16(226), - 60: uint16(223), - 61: uint16(223), - 62: uint16(227), - 63: uint16(227), - 64: uint16(227), - 65: uint16(202), - 66: uint16(229), - 67: uint16(230), - 68: uint16(230), - 69: uint16(230), - 70: uint16(230), - 71: uint16(230), - 72: uint16(233), - 73: uint16(218), - 74: uint16(218), - 75: uint16(234), - 76: uint16(234), - 77: uint16(235), - 78: uint16(235), - 79: uint16(190), - 80: uint16(237), - 81: uint16(237), - 82: uint16(190), - 83: uint16(190), - 84: uint16(190), - 85: uint16(204), - 86: uint16(204), - 87: uint16(204), - 88: uint16(239), - 89: uint16(242), - 90: uint16(242), - 91: uint16(242), - 92: uint16(240), - 93: uint16(240), - 94: uint16(252), - 95: uint16(252), - 96: uint16(243), - 97: uint16(243), - 98: uint16(243), - 99: uint16(254), +var _yyRuleInfoLhs = [409]uint16{ + 0: uint16(190), + 1: uint16(190), + 2: uint16(189), + 3: uint16(191), + 4: uint16(192), + 5: uint16(192), + 6: uint16(192), + 7: uint16(192), + 8: uint16(191), + 9: uint16(191), + 10: uint16(191), + 11: uint16(191), + 12: uint16(191), + 13: uint16(196), + 14: uint16(198), + 15: uint16(200), + 16: uint16(200), + 17: uint16(199), + 18: uint16(199), + 19: uint16(197), + 20: uint16(197), + 21: uint16(204), + 22: uint16(204), + 23: uint16(206), + 24: uint16(206), + 25: uint16(207), + 26: uint16(209), + 27: uint16(209), + 28: uint16(209), + 29: uint16(210), + 30: uint16(214), + 31: uint16(215), + 32: uint16(216), + 33: uint16(216), + 34: uint16(216), + 35: uint16(216), + 36: uint16(216), + 37: uint16(216), + 38: uint16(216), + 39: uint16(216), + 40: uint16(216), + 41: uint16(216), + 42: uint16(216), + 43: uint16(216), + 44: uint16(216), + 45: uint16(225), + 46: uint16(225), + 47: uint16(221), + 48: uint16(221), + 49: uint16(223), + 50: uint16(223), + 51: uint16(226), + 52: uint16(226), + 53: uint16(226), + 54: uint16(226), + 55: uint16(227), + 56: uint16(227), + 57: uint16(227), + 58: uint16(227), + 59: uint16(227), + 60: uint16(224), + 61: uint16(224), + 62: uint16(228), + 63: uint16(228), + 64: uint16(228), + 65: uint16(203), + 66: uint16(230), + 67: uint16(231), + 68: uint16(231), + 69: uint16(231), + 70: uint16(231), + 71: uint16(231), + 72: uint16(234), + 73: uint16(219), + 74: uint16(219), + 75: uint16(235), + 76: uint16(235), + 77: uint16(236), + 78: uint16(236), + 79: uint16(191), + 80: uint16(238), + 81: uint16(238), + 82: uint16(191), + 83: uint16(191), + 84: uint16(191), + 85: uint16(205), + 86: uint16(205), + 87: uint16(205), + 88: uint16(240), + 89: uint16(243), + 90: uint16(243), + 91: uint16(243), + 92: uint16(241), + 93: uint16(241), + 94: uint16(253), + 95: uint16(241), + 96: uint16(255), + 97: uint16(255), + 98: uint16(244), + 99: uint16(244), 100: uint16(244), - 101: uint16(244), - 102: uint16(244), - 103: uint16(255), - 104: uint16(255), - 105: uint16(245), - 106: uint16(245), - 107: uint16(257), - 108: uint16(257), - 109: uint16(256), - 110: uint16(256), - 111: uint16(256), - 112: uint16(256), - 113: uint16(256), - 114: uint16(200), - 115: uint16(200), - 116: uint16(238), - 117: uint16(238), - 118: uint16(262), - 119: uint16(262), - 120: uint16(262), - 121: uint16(262), - 122: uint16(258), - 123: uint16(258), - 124: uint16(258), - 125: uint16(258), - 126: uint16(259), - 127: uint16(259), - 128: uint16(259), - 129: uint16(264), - 130: uint16(260), - 131: uint16(260), - 132: uint16(249), - 133: uint16(249), - 134: uint16(231), - 135: uint16(231), - 136: uint16(219), - 137: uint16(219), - 138: uint16(219), - 139: uint16(265), - 140: uint16(265), - 141: uint16(265), - 142: uint16(247), - 143: uint16(247), + 101: uint16(256), + 102: uint16(245), + 103: uint16(245), + 104: uint16(245), + 105: uint16(257), + 106: uint16(257), + 107: uint16(246), + 108: uint16(246), + 109: uint16(259), + 110: uint16(259), + 111: uint16(258), + 112: uint16(258), + 113: uint16(258), + 114: uint16(258), + 115: uint16(258), + 116: uint16(201), + 117: uint16(201), + 118: uint16(239), + 119: uint16(239), + 120: uint16(264), + 121: uint16(264), + 122: uint16(264), + 123: uint16(264), + 124: uint16(260), + 125: uint16(260), + 126: uint16(260), + 127: uint16(260), + 128: uint16(261), + 129: uint16(261), + 130: uint16(261), + 131: uint16(266), + 132: uint16(262), + 133: uint16(262), + 134: uint16(250), + 135: uint16(250), + 136: uint16(232), + 137: uint16(232), + 138: uint16(220), + 139: uint16(220), + 140: uint16(220), + 141: uint16(267), + 142: uint16(267), + 143: uint16(267), 144: uint16(248), 145: uint16(248), - 146: uint16(250), - 147: uint16(250), - 148: uint16(250), - 149: uint16(250), - 150: uint16(190), - 151: uint16(246), - 152: uint16(246), - 153: uint16(267), - 154: uint16(267), - 155: uint16(267), - 156: uint16(267), - 157: uint16(190), - 158: uint16(268), - 159: uint16(268), - 160: uint16(268), - 161: uint16(268), - 162: uint16(190), - 163: uint16(190), - 164: uint16(271), - 165: uint16(271), - 166: uint16(271), - 167: uint16(271), - 168: uint16(271), - 169: uint16(271), - 170: uint16(272), - 171: uint16(269), - 172: uint16(269), - 173: uint16(270), - 174: uint16(270), - 175: uint16(263), - 176: uint16(263), - 177: uint16(217), - 178: uint16(217), - 179: uint16(217), - 180: uint16(217), - 181: uint16(216), - 182: uint16(216), - 183: uint16(216), + 146: uint16(249), + 147: uint16(249), + 148: uint16(251), + 149: uint16(251), + 150: uint16(251), + 151: uint16(251), + 152: uint16(191), + 153: uint16(247), + 154: uint16(247), + 155: uint16(269), + 156: uint16(269), + 157: uint16(269), + 158: uint16(269), + 159: uint16(191), + 160: uint16(270), + 161: uint16(270), + 162: uint16(270), + 163: uint16(270), + 164: uint16(191), + 165: uint16(191), + 166: uint16(273), + 167: uint16(273), + 168: uint16(273), + 169: uint16(273), + 170: uint16(273), + 171: uint16(273), + 172: uint16(274), + 173: uint16(271), + 174: uint16(271), + 175: uint16(272), + 176: uint16(272), + 177: uint16(265), + 178: uint16(265), + 179: uint16(218), + 180: uint16(218), + 181: uint16(218), + 182: uint16(218), + 183: uint16(217), 184: uint16(217), 185: uint16(217), - 186: uint16(217), - 187: uint16(217), - 188: uint16(217), - 189: uint16(217), - 190: uint16(217), - 191: uint16(217), - 192: uint16(217), - 193: uint16(216), - 194: uint16(217), + 186: uint16(218), + 187: uint16(218), + 188: uint16(218), + 189: uint16(218), + 190: uint16(218), + 191: uint16(218), + 192: uint16(218), + 193: uint16(218), + 194: uint16(218), 195: uint16(217), - 196: uint16(217), - 197: uint16(217), - 198: uint16(217), - 199: uint16(217), - 200: uint16(217), - 201: uint16(217), - 202: uint16(217), - 203: uint16(274), - 204: uint16(217), - 205: uint16(217), - 206: uint16(217), - 207: uint16(217), - 208: uint16(217), - 209: uint16(217), - 210: uint16(217), - 211: uint16(217), - 212: uint16(217), - 213: uint16(217), - 214: uint16(217), - 215: uint16(217), - 216: uint16(275), - 217: uint16(275), - 218: uint16(217), - 219: uint16(276), - 220: uint16(276), - 221: uint16(217), - 222: uint16(217), - 223: uint16(217), - 224: uint16(217), - 225: uint16(217), - 226: uint16(217), - 227: uint16(279), - 228: uint16(279), - 229: uint16(280), - 230: uint16(280), - 231: uint16(278), - 232: uint16(261), - 233: uint16(253), - 234: uint16(253), - 235: uint16(277), - 236: uint16(277), - 237: uint16(190), - 238: uint16(281), - 239: uint16(281), - 240: uint16(221), - 241: uint16(221), - 242: uint16(232), - 243: uint16(232), - 244: uint16(282), - 245: uint16(282), - 246: uint16(190), - 247: uint16(190), - 248: uint16(190), - 249: uint16(283), - 250: uint16(283), - 251: uint16(190), - 252: uint16(190), - 253: uint16(190), - 254: uint16(190), - 255: uint16(190), - 256: uint16(211), - 257: uint16(212), - 258: uint16(190), - 259: uint16(285), - 260: uint16(287), + 196: uint16(218), + 197: uint16(218), + 198: uint16(218), + 199: uint16(218), + 200: uint16(218), + 201: uint16(218), + 202: uint16(218), + 203: uint16(218), + 204: uint16(218), + 205: uint16(276), + 206: uint16(218), + 207: uint16(218), + 208: uint16(218), + 209: uint16(218), + 210: uint16(218), + 211: uint16(218), + 212: uint16(218), + 213: uint16(218), + 214: uint16(218), + 215: uint16(218), + 216: uint16(218), + 217: uint16(218), + 218: uint16(277), + 219: uint16(277), + 220: uint16(218), + 221: uint16(278), + 222: uint16(278), + 223: uint16(218), + 224: uint16(218), + 225: uint16(218), + 226: uint16(218), + 227: uint16(218), + 228: uint16(218), + 229: uint16(281), + 230: uint16(281), + 231: uint16(282), + 232: uint16(282), + 233: uint16(280), + 234: uint16(263), + 235: uint16(254), + 236: uint16(254), + 237: uint16(279), + 238: uint16(279), + 239: uint16(191), + 240: uint16(283), + 241: uint16(283), + 242: uint16(222), + 243: uint16(222), + 244: uint16(233), + 245: uint16(233), + 246: uint16(284), + 247: uint16(284), + 248: uint16(191), + 249: uint16(191), + 250: uint16(191), + 251: uint16(285), + 252: uint16(285), + 253: uint16(191), + 254: uint16(191), + 255: uint16(191), + 256: uint16(191), + 257: uint16(191), + 258: uint16(212), + 259: uint16(213), + 260: uint16(191), 261: uint16(287), - 262: uint16(287), - 263: uint16(288), - 264: uint16(288), - 265: uint16(288), + 262: uint16(289), + 263: uint16(289), + 264: uint16(289), + 265: uint16(290), 266: uint16(290), 267: uint16(290), - 268: uint16(286), - 269: uint16(286), - 270: uint16(292), - 271: uint16(293), - 272: uint16(293), - 273: uint16(291), - 274: uint16(291), - 275: uint16(291), - 276: uint16(291), - 277: uint16(217), - 278: uint16(217), - 279: uint16(236), - 280: uint16(236), - 281: uint16(236), - 282: uint16(190), - 283: uint16(190), - 284: uint16(190), - 285: uint16(295), - 286: uint16(295), - 287: uint16(190), - 288: uint16(190), - 289: uint16(190), - 290: uint16(190), - 291: uint16(190), - 292: uint16(190), - 293: uint16(190), - 294: uint16(296), - 295: uint16(190), - 296: uint16(190), - 297: uint16(190), - 298: uint16(298), - 299: uint16(300), - 300: uint16(301), - 301: uint16(301), - 302: uint16(302), - 303: uint16(266), - 304: uint16(266), - 305: uint16(305), - 306: uint16(305), - 307: uint16(305), - 308: uint16(304), - 309: uint16(241), - 310: uint16(241), - 311: uint16(306), - 312: uint16(307), - 313: uint16(308), - 314: uint16(308), - 315: uint16(308), - 316: uint16(308), - 317: uint16(308), - 318: uint16(309), - 319: uint16(309), - 320: uint16(309), - 321: uint16(313), - 322: uint16(315), - 323: uint16(315), + 268: uint16(292), + 269: uint16(292), + 270: uint16(288), + 271: uint16(288), + 272: uint16(294), + 273: uint16(295), + 274: uint16(295), + 275: uint16(293), + 276: uint16(293), + 277: uint16(293), + 278: uint16(293), + 279: uint16(218), + 280: uint16(218), + 281: uint16(237), + 282: uint16(237), + 283: uint16(237), + 284: uint16(191), + 285: uint16(191), + 286: uint16(191), + 287: uint16(297), + 288: uint16(297), + 289: uint16(191), + 290: uint16(191), + 291: uint16(191), + 292: uint16(191), + 293: uint16(191), + 294: uint16(191), + 295: uint16(191), + 296: uint16(298), + 297: uint16(191), + 298: uint16(191), + 299: uint16(191), + 300: uint16(300), + 301: uint16(302), + 302: uint16(303), + 303: uint16(303), + 304: uint16(304), + 305: uint16(268), + 306: uint16(268), + 307: uint16(307), + 308: uint16(307), + 309: uint16(307), + 310: uint16(306), + 311: uint16(308), + 312: uint16(242), + 313: uint16(242), + 314: uint16(309), + 315: uint16(310), + 316: uint16(311), + 317: uint16(311), + 318: uint16(311), + 319: uint16(311), + 320: uint16(311), + 321: uint16(312), + 322: uint16(312), + 323: uint16(312), 324: uint16(316), - 325: uint16(316), - 326: uint16(314), - 327: uint16(314), - 328: uint16(317), + 325: uint16(318), + 326: uint16(318), + 327: uint16(319), + 328: uint16(319), 329: uint16(317), - 330: uint16(318), - 331: uint16(318), - 332: uint16(318), - 333: uint16(251), - 334: uint16(273), - 335: uint16(273), - 336: uint16(273), - 337: uint16(312), - 338: uint16(312), - 339: uint16(311), - 340: uint16(185), - 341: uint16(186), - 342: uint16(186), - 343: uint16(187), - 344: uint16(187), + 330: uint16(317), + 331: uint16(320), + 332: uint16(320), + 333: uint16(321), + 334: uint16(321), + 335: uint16(321), + 336: uint16(252), + 337: uint16(275), + 338: uint16(275), + 339: uint16(275), + 340: uint16(315), + 341: uint16(315), + 342: uint16(314), + 343: uint16(217), + 344: uint16(186), 345: uint16(187), - 346: uint16(192), - 347: uint16(192), - 348: uint16(192), - 349: uint16(194), - 350: uint16(194), - 351: uint16(190), - 352: uint16(203), - 353: uint16(201), - 354: uint16(201), - 355: uint16(193), - 356: uint16(193), - 357: uint16(208), - 358: uint16(209), - 359: uint16(210), - 360: uint16(210), - 361: uint16(207), - 362: uint16(207), - 363: uint16(215), - 364: uint16(215), - 365: uint16(215), - 366: uint16(202), - 367: uint16(228), - 368: uint16(228), - 369: uint16(229), - 370: uint16(233), - 371: uint16(235), - 372: uint16(239), - 373: uint16(240), - 374: uint16(254), - 375: uint16(255), - 376: uint16(264), - 377: uint16(272), - 378: uint16(217), - 379: uint16(274), - 380: uint16(278), - 381: uint16(261), - 382: uint16(284), - 383: uint16(284), - 384: uint16(284), - 385: uint16(284), - 386: uint16(284), - 387: uint16(211), - 388: uint16(289), - 389: uint16(289), - 390: uint16(292), - 391: uint16(293), - 392: uint16(294), - 393: uint16(294), - 394: uint16(297), - 395: uint16(297), - 396: uint16(299), - 397: uint16(299), - 398: uint16(300), - 399: uint16(303), - 400: uint16(303), - 401: uint16(303), - 402: uint16(266), - 403: uint16(306), - 404: uint16(308), + 346: uint16(187), + 347: uint16(188), + 348: uint16(188), + 349: uint16(188), + 350: uint16(193), + 351: uint16(193), + 352: uint16(193), + 353: uint16(195), + 354: uint16(195), + 355: uint16(191), + 356: uint16(204), + 357: uint16(202), + 358: uint16(202), + 359: uint16(194), + 360: uint16(194), + 361: uint16(209), + 362: uint16(210), + 363: uint16(211), + 364: uint16(211), + 365: uint16(208), + 366: uint16(208), + 367: uint16(216), + 368: uint16(216), + 369: uint16(216), + 370: uint16(203), + 371: uint16(229), + 372: uint16(229), + 373: uint16(230), + 374: uint16(234), + 375: uint16(236), + 376: uint16(240), + 377: uint16(241), + 378: uint16(256), + 379: uint16(257), + 380: uint16(266), + 381: uint16(274), + 382: uint16(218), + 383: uint16(276), + 384: uint16(280), + 385: uint16(263), + 386: uint16(286), + 387: uint16(286), + 388: uint16(286), + 389: uint16(286), + 390: uint16(286), + 391: uint16(212), + 392: uint16(291), + 393: uint16(291), + 394: uint16(294), + 395: uint16(295), + 396: uint16(296), + 397: uint16(296), + 398: uint16(299), + 399: uint16(299), + 400: uint16(301), + 401: uint16(301), + 402: uint16(302), + 403: uint16(305), + 404: uint16(305), + 405: uint16(305), + 406: uint16(268), + 407: uint16(309), + 408: uint16(311), } // C documentation // // /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number // ** of symbols on the right-hand side of that rule. */ -var _yyRuleInfoNRhs = [405]int8{ +var _yyRuleInfoNRhs = [409]int8{ 0: int8(-int32(1)), 1: int8(-int32(3)), 2: int8(-int32(1)), @@ -153815,273 +155235,277 @@ var _yyRuleInfoNRhs = [405]int8{ 92: int8(-int32(9)), 93: int8(-int32(10)), 94: int8(-int32(4)), - 95: int8(-int32(5)), - 96: int8(-int32(1)), - 97: int8(-int32(1)), - 100: int8(-int32(5)), - 101: int8(-int32(3)), + 95: int8(-int32(1)), + 96: int8(-int32(5)), + 97: int8(-int32(5)), + 98: int8(-int32(1)), + 99: int8(-int32(1)), 102: int8(-int32(5)), - 103: int8(-int32(2)), - 106: int8(-int32(2)), - 107: int8(-int32(2)), - 109: int8(-int32(5)), - 110: int8(-int32(6)), - 111: int8(-int32(8)), + 103: int8(-int32(3)), + 104: int8(-int32(5)), + 105: int8(-int32(2)), + 108: int8(-int32(2)), + 109: int8(-int32(2)), + 111: int8(-int32(5)), 112: int8(-int32(6)), - 113: int8(-int32(6)), - 115: int8(-int32(2)), - 116: int8(-int32(1)), - 117: int8(-int32(3)), + 113: int8(-int32(8)), + 114: int8(-int32(6)), + 115: int8(-int32(6)), + 117: int8(-int32(2)), 118: int8(-int32(1)), 119: int8(-int32(3)), - 120: int8(-int32(5)), + 120: int8(-int32(1)), 121: int8(-int32(3)), - 122: int8(-int32(1)), - 123: int8(-int32(2)), - 124: int8(-int32(3)), - 125: int8(-int32(4)), - 126: int8(-int32(2)), + 122: int8(-int32(5)), + 123: int8(-int32(3)), + 124: int8(-int32(1)), + 125: int8(-int32(2)), + 126: int8(-int32(3)), 127: int8(-int32(4)), - 130: int8(-int32(3)), - 131: int8(-int32(2)), - 133: int8(-int32(3)), - 134: int8(-int32(5)), + 128: int8(-int32(2)), + 129: int8(-int32(4)), + 132: int8(-int32(3)), + 133: int8(-int32(2)), 135: int8(-int32(3)), - 136: int8(-int32(1)), - 137: int8(-int32(1)), - 139: int8(-int32(2)), - 140: int8(-int32(2)), - 143: int8(-int32(3)), - 145: int8(-int32(2)), + 136: int8(-int32(5)), + 137: int8(-int32(3)), + 138: int8(-int32(1)), + 139: int8(-int32(1)), + 141: int8(-int32(2)), + 142: int8(-int32(2)), + 145: int8(-int32(3)), 147: int8(-int32(2)), - 148: int8(-int32(4)), - 149: int8(-int32(4)), - 150: int8(-int32(6)), - 152: int8(-int32(2)), + 149: int8(-int32(2)), + 150: int8(-int32(4)), + 151: int8(-int32(4)), + 152: int8(-int32(6)), 154: int8(-int32(2)), - 155: int8(-int32(2)), - 156: int8(-int32(4)), - 157: int8(-int32(9)), - 158: int8(-int32(5)), - 159: int8(-int32(7)), - 160: int8(-int32(3)), - 161: int8(-int32(5)), - 162: int8(-int32(7)), - 163: int8(-int32(8)), - 165: int8(-int32(2)), - 166: int8(-int32(12)), - 167: int8(-int32(9)), - 168: int8(-int32(5)), - 169: int8(-int32(8)), - 170: int8(-int32(2)), - 171: int8(-int32(2)), - 172: int8(-int32(1)), - 174: int8(-int32(3)), - 175: int8(-int32(3)), - 176: int8(-int32(1)), + 156: int8(-int32(2)), + 157: int8(-int32(2)), + 158: int8(-int32(4)), + 159: int8(-int32(9)), + 160: int8(-int32(5)), + 161: int8(-int32(7)), + 162: int8(-int32(3)), + 163: int8(-int32(5)), + 164: int8(-int32(7)), + 165: int8(-int32(8)), + 167: int8(-int32(2)), + 168: int8(-int32(12)), + 169: int8(-int32(9)), + 170: int8(-int32(5)), + 171: int8(-int32(8)), + 172: int8(-int32(2)), + 173: int8(-int32(2)), + 174: int8(-int32(1)), + 176: int8(-int32(3)), 177: int8(-int32(3)), 178: int8(-int32(1)), 179: int8(-int32(3)), - 180: int8(-int32(5)), - 181: int8(-int32(1)), - 182: int8(-int32(1)), + 180: int8(-int32(1)), + 181: int8(-int32(3)), + 182: int8(-int32(5)), 183: int8(-int32(1)), 184: int8(-int32(1)), - 185: int8(-int32(3)), - 186: int8(-int32(6)), - 187: int8(-int32(5)), - 188: int8(-int32(8)), - 189: int8(-int32(4)), - 190: int8(-int32(6)), - 191: int8(-int32(9)), - 192: int8(-int32(5)), - 193: int8(-int32(1)), + 185: int8(-int32(1)), + 186: int8(-int32(1)), + 187: int8(-int32(3)), + 188: int8(-int32(6)), + 189: int8(-int32(5)), + 190: int8(-int32(8)), + 191: int8(-int32(4)), + 192: int8(-int32(6)), + 193: int8(-int32(9)), 194: int8(-int32(5)), - 195: int8(-int32(3)), - 196: int8(-int32(3)), + 195: int8(-int32(1)), + 196: int8(-int32(5)), 197: int8(-int32(3)), 198: int8(-int32(3)), 199: int8(-int32(3)), 200: int8(-int32(3)), 201: int8(-int32(3)), 202: int8(-int32(3)), - 203: int8(-int32(2)), + 203: int8(-int32(3)), 204: int8(-int32(3)), - 205: int8(-int32(5)), - 206: int8(-int32(2)), - 207: int8(-int32(3)), - 208: int8(-int32(3)), - 209: int8(-int32(4)), - 210: int8(-int32(6)), - 211: int8(-int32(5)), - 212: int8(-int32(2)), - 213: int8(-int32(2)), + 205: int8(-int32(2)), + 206: int8(-int32(3)), + 207: int8(-int32(5)), + 208: int8(-int32(2)), + 209: int8(-int32(3)), + 210: int8(-int32(3)), + 211: int8(-int32(4)), + 212: int8(-int32(6)), + 213: int8(-int32(5)), 214: int8(-int32(2)), - 215: int8(-int32(3)), - 216: int8(-int32(1)), - 217: int8(-int32(2)), - 218: int8(-int32(5)), - 219: int8(-int32(1)), - 220: int8(-int32(2)), - 221: int8(-int32(5)), - 222: int8(-int32(3)), + 215: int8(-int32(2)), + 216: int8(-int32(2)), + 217: int8(-int32(3)), + 218: int8(-int32(1)), + 219: int8(-int32(2)), + 220: int8(-int32(5)), + 221: int8(-int32(1)), + 222: int8(-int32(2)), 223: int8(-int32(5)), - 224: int8(-int32(5)), - 225: int8(-int32(4)), + 224: int8(-int32(3)), + 225: int8(-int32(5)), 226: int8(-int32(5)), - 227: int8(-int32(5)), - 228: int8(-int32(4)), - 229: int8(-int32(2)), - 233: int8(-int32(3)), - 234: int8(-int32(1)), - 236: int8(-int32(3)), - 237: int8(-int32(12)), - 238: int8(-int32(1)), - 241: int8(-int32(3)), - 242: int8(-int32(5)), + 227: int8(-int32(4)), + 228: int8(-int32(5)), + 229: int8(-int32(5)), + 230: int8(-int32(4)), + 231: int8(-int32(2)), + 235: int8(-int32(3)), + 236: int8(-int32(1)), + 238: int8(-int32(3)), + 239: int8(-int32(12)), + 240: int8(-int32(1)), 243: int8(-int32(3)), - 245: int8(-int32(2)), - 246: int8(-int32(4)), + 244: int8(-int32(5)), + 245: int8(-int32(3)), 247: int8(-int32(2)), - 248: int8(-int32(3)), + 248: int8(-int32(4)), 249: int8(-int32(2)), - 251: int8(-int32(3)), - 252: int8(-int32(5)), - 253: int8(-int32(6)), + 250: int8(-int32(3)), + 251: int8(-int32(2)), + 253: int8(-int32(3)), 254: int8(-int32(5)), 255: int8(-int32(6)), - 256: int8(-int32(2)), - 257: int8(-int32(2)), - 258: int8(-int32(5)), - 259: int8(-int32(11)), - 260: int8(-int32(1)), - 261: int8(-int32(2)), - 263: int8(-int32(1)), - 264: int8(-int32(1)), - 265: int8(-int32(3)), - 267: int8(-int32(2)), - 268: int8(-int32(3)), + 256: int8(-int32(5)), + 257: int8(-int32(6)), + 258: int8(-int32(2)), + 259: int8(-int32(2)), + 260: int8(-int32(5)), + 261: int8(-int32(11)), + 262: int8(-int32(1)), + 263: int8(-int32(2)), + 265: int8(-int32(1)), + 266: int8(-int32(1)), + 267: int8(-int32(3)), 269: int8(-int32(2)), 270: int8(-int32(3)), - 271: int8(-int32(3)), - 272: int8(-int32(2)), - 273: int8(-int32(9)), - 274: int8(-int32(8)), - 275: int8(-int32(6)), - 276: int8(-int32(3)), - 277: int8(-int32(4)), - 278: int8(-int32(6)), - 279: int8(-int32(1)), - 280: int8(-int32(1)), + 271: int8(-int32(2)), + 272: int8(-int32(3)), + 273: int8(-int32(3)), + 274: int8(-int32(2)), + 275: int8(-int32(9)), + 276: int8(-int32(8)), + 277: int8(-int32(6)), + 278: int8(-int32(3)), + 279: int8(-int32(4)), + 280: int8(-int32(6)), 281: int8(-int32(1)), - 282: int8(-int32(4)), - 283: int8(-int32(6)), - 284: int8(-int32(3)), - 286: int8(-int32(2)), - 287: int8(-int32(1)), - 288: int8(-int32(3)), + 282: int8(-int32(1)), + 283: int8(-int32(1)), + 284: int8(-int32(4)), + 285: int8(-int32(6)), + 286: int8(-int32(3)), + 288: int8(-int32(2)), 289: int8(-int32(1)), 290: int8(-int32(3)), - 291: int8(-int32(6)), - 292: int8(-int32(7)), + 291: int8(-int32(1)), + 292: int8(-int32(3)), 293: int8(-int32(6)), - 294: int8(-int32(1)), - 295: int8(-int32(8)), + 294: int8(-int32(7)), + 295: int8(-int32(6)), 296: int8(-int32(1)), - 297: int8(-int32(4)), - 298: int8(-int32(8)), - 300: int8(-int32(1)), - 301: int8(-int32(3)), + 297: int8(-int32(8)), + 298: int8(-int32(1)), + 299: int8(-int32(4)), + 300: int8(-int32(8)), 302: int8(-int32(1)), - 303: int8(-int32(2)), - 304: int8(-int32(3)), - 305: int8(-int32(1)), - 306: int8(-int32(2)), - 307: int8(-int32(3)), - 308: int8(-int32(6)), - 309: int8(-int32(1)), - 310: int8(-int32(3)), - 311: int8(-int32(3)), - 312: int8(-int32(5)), - 313: int8(-int32(5)), - 314: int8(-int32(6)), - 315: int8(-int32(4)), + 303: int8(-int32(3)), + 304: int8(-int32(1)), + 305: int8(-int32(2)), + 306: int8(-int32(3)), + 307: int8(-int32(1)), + 308: int8(-int32(2)), + 309: int8(-int32(3)), + 310: int8(-int32(6)), + 311: int8(-int32(1)), + 312: int8(-int32(1)), + 313: int8(-int32(3)), + 314: int8(-int32(3)), + 315: int8(-int32(5)), 316: int8(-int32(5)), - 317: int8(-int32(2)), - 319: int8(-int32(3)), - 320: int8(-int32(6)), - 321: int8(-int32(1)), - 322: int8(-int32(1)), - 323: int8(-int32(2)), + 317: int8(-int32(6)), + 318: int8(-int32(4)), + 319: int8(-int32(5)), + 320: int8(-int32(2)), + 322: int8(-int32(3)), + 323: int8(-int32(6)), 324: int8(-int32(1)), - 325: int8(-int32(2)), + 325: int8(-int32(1)), 326: int8(-int32(2)), - 327: int8(-int32(2)), + 327: int8(-int32(1)), + 328: int8(-int32(2)), 329: int8(-int32(2)), 330: int8(-int32(2)), - 331: int8(-int32(2)), - 332: int8(-int32(1)), + 332: int8(-int32(2)), 333: int8(-int32(2)), 334: int8(-int32(2)), 335: int8(-int32(1)), - 336: int8(-int32(1)), - 337: int8(-int32(4)), - 338: int8(-int32(2)), - 339: int8(-int32(5)), - 340: int8(-int32(1)), + 336: int8(-int32(2)), + 337: int8(-int32(2)), + 338: int8(-int32(1)), + 339: int8(-int32(1)), + 340: int8(-int32(4)), 341: int8(-int32(2)), - 342: int8(-int32(1)), + 342: int8(-int32(5)), 343: int8(-int32(1)), - 344: int8(-int32(2)), - 345: int8(-int32(3)), + 344: int8(-int32(1)), + 345: int8(-int32(2)), + 346: int8(-int32(1)), 347: int8(-int32(1)), 348: int8(-int32(2)), - 349: int8(-int32(1)), - 351: int8(-int32(2)), - 352: int8(-int32(1)), - 353: int8(-int32(4)), - 354: int8(-int32(2)), - 355: int8(-int32(1)), + 349: int8(-int32(3)), + 351: int8(-int32(1)), + 352: int8(-int32(2)), + 353: int8(-int32(1)), + 355: int8(-int32(2)), 356: int8(-int32(1)), - 357: int8(-int32(1)), - 358: int8(-int32(1)), + 357: int8(-int32(4)), + 358: int8(-int32(2)), 359: int8(-int32(1)), 360: int8(-int32(1)), - 361: int8(-int32(2)), - 363: int8(-int32(2)), - 364: int8(-int32(4)), + 361: int8(-int32(1)), + 362: int8(-int32(1)), + 363: int8(-int32(1)), + 364: int8(-int32(1)), 365: int8(-int32(2)), - 366: int8(-int32(2)), - 367: int8(-int32(3)), - 368: int8(-int32(1)), - 370: int8(-int32(1)), - 371: int8(-int32(1)), + 367: int8(-int32(2)), + 368: int8(-int32(4)), + 369: int8(-int32(2)), + 370: int8(-int32(2)), + 371: int8(-int32(3)), 372: int8(-int32(1)), - 373: int8(-int32(1)), - 374: int8(-int32(2)), + 374: int8(-int32(1)), 375: int8(-int32(1)), 376: int8(-int32(1)), - 378: int8(-int32(1)), + 377: int8(-int32(1)), + 378: int8(-int32(2)), 379: int8(-int32(1)), 380: int8(-int32(1)), - 381: int8(-int32(1)), 382: int8(-int32(1)), 383: int8(-int32(1)), 384: int8(-int32(1)), 385: int8(-int32(1)), 386: int8(-int32(1)), 387: int8(-int32(1)), - 389: int8(-int32(3)), + 388: int8(-int32(1)), + 389: int8(-int32(1)), 390: int8(-int32(1)), - 392: int8(-int32(1)), - 395: int8(-int32(1)), + 391: int8(-int32(1)), + 393: int8(-int32(3)), + 394: int8(-int32(1)), 396: int8(-int32(1)), - 397: int8(-int32(3)), - 398: int8(-int32(2)), - 400: int8(-int32(4)), - 401: int8(-int32(2)), - 403: int8(-int32(1)), - 404: int8(-int32(1)), + 399: int8(-int32(1)), + 400: int8(-int32(1)), + 401: int8(-int32(3)), + 402: int8(-int32(2)), + 404: int8(-int32(4)), + 405: int8(-int32(2)), + 407: int8(-int32(1)), + 408: int8(-int32(1)), } // C documentation @@ -154099,18 +155523,19 @@ var _yyRuleInfoNRhs = [405]int8{ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken TToken, pParse uintptr) (r uint16) { bp := tls.Alloc(144) defer tls.Free(144) - var bNot, bNot1, nExpr, yygoto, yysize, v344 int32 + var bNot, bNot1, nExpr, yygoto, yysize int32 var n Tu32 - var p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v343, v345, v346, v347, v348 uintptr + var op Tu8 + var p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v347, v348, v349, v350, v351 uintptr var yyact uint16 - var v349 TToken + var v352 TToken var _ /* all at bp+104 */ TToken var _ /* as at bp+72 */ TToken var _ /* dest at bp+16 */ TSelectDest var _ /* t at bp+88 */ TToken var _ /* x at bp+56 */ TToken var _ /* yylhsminor at bp+0 */ TYYMINORTYPE - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v343, v344, v345, v346, v347, v348, v349 /* Amount to pop the stack */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, op, p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v347, v348, v349, v350, v351, v352 /* Amount to pop the stack */ _ = yyLookahead _ = yyLookaheadToken yymsp = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos @@ -154131,7 +155556,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _7 case uint32(7): goto _8 - case uint32(321): + case uint32(324): goto _9 case uint32(9): goto _10 @@ -154159,9 +155584,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _21 case uint32(81): goto _22 - case uint32(98): + case uint32(100): goto _23 - case uint32(244): + case uint32(246): goto _24 case uint32(16): goto _25 @@ -154185,7 +155610,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _34 case uint32(26): goto _35 - case uint32(104): + case uint32(106): goto _36 case uint32(27): goto _37 @@ -154259,17 +155684,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _71 case uint32(61): goto _72 - case uint32(171): + case uint32(173): goto _73 case uint32(80): goto _74 case uint32(63): goto _75 - case uint32(217): + case uint32(219): goto _76 - case uint32(220): + case uint32(222): goto _77 - case uint32(245): + case uint32(247): goto _78 case uint32(64): goto _79 @@ -154291,7 +155716,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _87 case uint32(77): goto _88 - case uint32(172): + case uint32(174): goto _89 case uint32(78): goto _90 @@ -154325,47 +155750,47 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _104 case uint32(95): goto _105 - case uint32(96): - goto _106 case uint32(97): + goto _106 + case uint32(96): goto _107 - case uint32(132): + case uint32(98): goto _108 case uint32(99): goto _109 - case uint32(142): + case uint32(134): goto _110 - case uint32(232): + case uint32(101): goto _111 - case uint32(235): + case uint32(144): goto _112 - case uint32(240): + case uint32(234): goto _113 - case uint32(100): + case uint32(237): goto _114 - case uint32(101): + case uint32(242): goto _115 case uint32(102): goto _116 - case uint32(115): - goto _117 case uint32(103): + goto _117 + case uint32(104): goto _118 - case uint32(256): + case uint32(117): goto _119 - case uint32(257): + case uint32(105): goto _120 - case uint32(108): + case uint32(258): goto _121 - case uint32(105): + case uint32(259): goto _122 - case uint32(106): + case uint32(110): goto _123 case uint32(107): goto _124 - case uint32(109): + case uint32(108): goto _125 - case uint32(110): + case uint32(109): goto _126 case uint32(111): goto _127 @@ -154373,13 +155798,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _128 case uint32(113): goto _129 - case uint32(129): - goto _130 case uint32(114): + goto _130 + case uint32(115): goto _131 - case uint32(116): + case uint32(131): goto _132 - case uint32(117): + case uint32(116): goto _133 case uint32(118): goto _134 @@ -154403,15 +155828,15 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _143 case uint32(128): goto _144 - case uint32(130): + case uint32(129): goto _145 - case uint32(131): + case uint32(130): goto _146 - case uint32(143): + case uint32(132): goto _147 case uint32(133): goto _148 - case uint32(134): + case uint32(145): goto _149 case uint32(135): goto _150 @@ -154419,49 +155844,49 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _151 case uint32(137): goto _152 - case uint32(141): - goto _153 case uint32(138): - goto _154 + goto _153 case uint32(139): + goto _154 + case uint32(143): goto _155 case uint32(140): goto _156 - case uint32(146): + case uint32(141): goto _157 - case uint32(144): + case uint32(142): goto _158 - case uint32(151): + case uint32(148): goto _159 - case uint32(153): + case uint32(146): goto _160 - case uint32(230): + case uint32(153): goto _161 - case uint32(231): + case uint32(155): goto _162 - case uint32(250): + case uint32(232): goto _163 - case uint32(152): + case uint32(233): goto _164 - case uint32(145): + case uint32(252): goto _165 case uint32(154): goto _166 - case uint32(229): + case uint32(147): goto _167 - case uint32(249): + case uint32(156): goto _168 - case uint32(147): + case uint32(231): goto _169 - case uint32(148): + case uint32(251): goto _170 case uint32(149): goto _171 case uint32(150): goto _172 - case uint32(155): + case uint32(151): goto _173 - case uint32(156): + case uint32(152): goto _174 case uint32(157): goto _175 @@ -154491,9 +155916,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _187 case uint32(170): goto _188 - case uint32(173): + case uint32(171): goto _189 - case uint32(174): + case uint32(172): goto _190 case uint32(175): goto _191 @@ -154507,13 +155932,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _195 case uint32(180): goto _196 - case uint32(182): - goto _197 case uint32(181): + goto _197 + case uint32(182): goto _198 - case uint32(183): - goto _199 case uint32(184): + goto _199 + case uint32(183): goto _200 case uint32(185): goto _201 @@ -154537,13 +155962,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _210 case uint32(195): goto _211 - case uint32(197): - goto _212 case uint32(196): + goto _212 + case uint32(197): goto _213 - case uint32(198): - goto _214 case uint32(199): + goto _214 + case uint32(198): goto _215 case uint32(200): goto _216 @@ -154569,23 +155994,23 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _226 case uint32(211): goto _227 - case uint32(213): - goto _228 case uint32(212): + goto _228 + case uint32(213): goto _229 - case uint32(214): - goto _230 case uint32(215): + goto _230 + case uint32(214): goto _231 - case uint32(219): - goto _232 case uint32(216): + goto _232 + case uint32(217): goto _233 - case uint32(218): - goto _234 case uint32(221): + goto _234 + case uint32(218): goto _235 - case uint32(222): + case uint32(220): goto _236 case uint32(223): goto _237 @@ -154599,35 +156024,35 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _241 case uint32(228): goto _242 - case uint32(233): + case uint32(229): goto _243 - case uint32(234): + case uint32(230): goto _244 - case uint32(241): + case uint32(235): goto _245 case uint32(236): goto _246 - case uint32(237): + case uint32(243): goto _247 - case uint32(280): - goto _248 case uint32(238): - goto _249 + goto _248 case uint32(239): + goto _249 + case uint32(282): goto _250 - case uint32(242): + case uint32(240): goto _251 - case uint32(243): + case uint32(241): goto _252 - case uint32(246): + case uint32(244): goto _253 - case uint32(247): + case uint32(245): goto _254 case uint32(248): goto _255 - case uint32(251): + case uint32(249): goto _256 - case uint32(252): + case uint32(250): goto _257 case uint32(253): goto _258 @@ -154635,9 +156060,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _259 case uint32(255): goto _260 - case uint32(258): + case uint32(256): goto _261 - case uint32(259): + case uint32(257): goto _262 case uint32(260): goto _263 @@ -154645,21 +156070,21 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _264 case uint32(262): goto _265 - case uint32(264): - goto _266 case uint32(263): + goto _266 + case uint32(264): goto _267 - case uint32(265): + case uint32(266): goto _268 - case uint32(285): + case uint32(265): goto _269 - case uint32(266): + case uint32(267): goto _270 - case uint32(286): + case uint32(287): goto _271 - case uint32(267): - goto _272 case uint32(268): + goto _272 + case uint32(288): goto _273 case uint32(269): goto _274 @@ -154683,17 +156108,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _283 case uint32(279): goto _284 - case uint32(281): + case uint32(280): goto _285 - case uint32(282): + case uint32(281): goto _286 case uint32(283): goto _287 case uint32(284): goto _288 - case uint32(287): + case uint32(285): goto _289 - case uint32(288): + case uint32(286): goto _290 case uint32(289): goto _291 @@ -154717,19 +156142,19 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _300 case uint32(299): goto _301 - case uint32(301): - goto _302 case uint32(300): + goto _302 + case uint32(301): goto _303 - case uint32(302): + case uint32(303): goto _304 - case uint32(304): + case uint32(302): goto _305 - case uint32(303): + case uint32(304): goto _306 - case uint32(305): - goto _307 case uint32(306): + goto _307 + case uint32(305): goto _308 case uint32(307): goto _309 @@ -154759,31 +156184,31 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _321 case uint32(320): goto _322 - case uint32(324): + case uint32(321): goto _323 case uint32(322): goto _324 - case uint32(325): - goto _325 case uint32(323): - goto _326 + goto _325 case uint32(327): + goto _326 + case uint32(325): goto _327 - case uint32(326): - goto _328 case uint32(328): + goto _328 + case uint32(326): goto _329 - case uint32(329): + case uint32(330): goto _330 - case uint32(331): + case uint32(329): goto _331 - case uint32(330): + case uint32(331): goto _332 case uint32(332): goto _333 - case uint32(333): - goto _334 case uint32(334): + goto _334 + case uint32(333): goto _335 case uint32(335): goto _336 @@ -154795,34 +156220,42 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _339 case uint32(339): goto _340 - default: + case uint32(340): goto _341 + case uint32(341): + goto _342 + case uint32(342): + goto _343 + case uint32(343): + goto _344 + default: + goto _345 } - goto _342 + goto _346 _1: ; /* explain ::= EXPLAIN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(1) } - goto _342 + goto _346 _2: ; /* explain ::= EXPLAIN QUERY PLAN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(2) } - goto _342 + goto _346 _3: ; /* cmdx ::= cmd */ _sqlite3FinishCoding(tls, pParse) - goto _342 + goto _346 _4: ; /* cmd ::= BEGIN transtype trans_opt */ _sqlite3BeginTransaction(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _5: ; /* transtype ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_DEFERRED) - goto _342 + goto _346 _7: ; /* transtype ::= DEFERRED */ _6: @@ -154832,33 +156265,33 @@ _8: _9: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 + goto _346 _11: ; /* cmd ::= COMMIT|END trans_opt */ _10: ; _sqlite3EndTransaction(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor)) - goto _342 + goto _346 _12: ; /* cmd ::= SAVEPOINT nm */ _sqlite3Savepoint(tls, pParse, SAVEPOINT_BEGIN, yymsp+8) - goto _342 + goto _346 _13: ; /* cmd ::= RELEASE savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_RELEASE), yymsp+8) - goto _342 + goto _346 _14: ; /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_ROLLBACK), yymsp+8) - goto _342 + goto _346 _15: ; /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ _sqlite3StartTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), 0, 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _16: ; /* createkw ::= CREATE */ _disableLookaside(tls, pParse) - goto _342 + goto _346 _18: ; /* ifnotexists ::= */ _17: @@ -154876,56 +156309,56 @@ _23: _24: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = 0 - goto _342 + goto _346 _25: ; /* ifnotexists ::= IF NOT EXISTS */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(1) - goto _342 + goto _346 _26: ; /* temp ::= TEMP */ *(*int32)(unsafe.Pointer(yymsp + 8)) = libc.BoolInt32(int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0) - goto _342 + goto _346 _27: ; /* create_table_args ::= LP columnlist conslist_opt RP table_option_set */ _sqlite3EndTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*Tu32)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 + goto _346 _28: ; /* create_table_args ::= AS select */ _sqlite3EndTable(tls, pParse, uintptr(0), uintptr(0), uint32(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _29: ; /* table_option_set ::= */ *(*Tu32)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint32(0) - goto _342 + goto _346 _30: ; /* table_option_set ::= table_option_set COMMA table_option */ *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) | *(*Tu32)(unsafe.Pointer(yymsp + 8)) *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _31: ; /* table_option ::= WITHOUT nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16696, int32(5)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16783, int32(5)) == 0 { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) } else { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23360, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23483, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } - goto _342 + goto _346 _32: ; /* table_option ::= nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16609, int32(6)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16696, int32(6)) == 0 { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(TF_Strict) } else { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23360, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23483, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } *(*Tu32)(unsafe.Pointer(yymsp + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _33: ; /* columnname ::= nm typetoken */ _sqlite3AddColumn(tls, pParse, *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*TToken)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _35: ; /* typetoken ::= */ _34: @@ -154934,50 +156367,50 @@ _36: ; *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 + goto _346 _37: ; /* typetoken ::= typename LP signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) - goto _342 + goto _346 _38: ; /* typetoken ::= typename LP signed COMMA signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))))) - goto _342 + goto _346 _39: ; /* typename ::= typename ID|STRING */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) + uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) - goto _342 + goto _346 _40: ; /* scanpt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken.Fz - goto _342 + goto _346 _41: ; /* scantok ::= */ *(*TToken)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken - goto _342 + goto _346 _43: ; /* ccons ::= CONSTRAINT nm */ _42: ; (*TParse)(unsafe.Pointer(pParse)).FconstraintName = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _44: ; /* ccons ::= DEFAULT scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _45: ; /* ccons ::= DEFAULT LP expr RP */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))+uintptr(1), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _46: ; /* ccons ::= DEFAULT PLUS scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _47: ; /* ccons ::= DEFAULT MINUS scantok term */ p = _sqlite3PExpr(tls, pParse, int32(TK_UMINUS), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) _sqlite3AddDefaultValue(tls, pParse, p, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _48: ; /* ccons ::= DEFAULT scantok ID|INDEXED */ p1 = _tokenExpr(tls, pParse, int32(TK_STRING), *(*TToken)(unsafe.Pointer(yymsp + 8))) @@ -154985,99 +156418,99 @@ _48: _sqlite3ExprIdToTrueFalse(tls, p1) } _sqlite3AddDefaultValue(tls, pParse, p1, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - goto _342 + goto _346 _49: ; /* ccons ::= NOT NULL onconf */ _sqlite3AddNotNull(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _50: ; /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ _sqlite3AddPrimaryKey(tls, pParse, uintptr(0), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _51: ; /* ccons ::= UNIQUE onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _52: ; /* ccons ::= CHECK LP expr RP */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _53: ; /* ccons ::= REFERENCES nm eidlist_opt refargs */ _sqlite3CreateForeignKey(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _54: ; /* ccons ::= defer_subclause */ _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _55: ; /* ccons ::= COLLATE ID|STRING */ _sqlite3AddCollateType(tls, pParse, yymsp+8) - goto _342 + goto _346 _56: ; /* generated ::= LP expr RP */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 + goto _346 _57: ; /* generated ::= LP expr RP ID */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 + goto _346 _58: ; /* autoinc ::= AUTOINCR */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(1) - goto _342 + goto _346 _59: ; /* refargs ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = libc.Int32FromInt32(OE_None) * libc.Int32FromInt32(0x0101) /* EV: R-19803-45884 */ - goto _342 + goto _346 _60: ; /* refargs ::= refargs refarg */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) & ^*(*int32)(unsafe.Pointer(yymsp + 8 + 4)) | *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _61: ; /* refarg ::= MATCH nm */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _62: ; /* refarg ::= ON INSERT refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _63: ; /* refarg ::= ON DELETE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x0000ff) - goto _342 + goto _346 _64: ; /* refarg ::= ON UPDATE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) << int32(8) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x00ff00) - goto _342 + goto _346 _65: ; /* refact ::= SET NULL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetNull) /* EV: R-33326-45252 */ - goto _342 + goto _346 _66: ; /* refact ::= SET DEFAULT */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetDflt) /* EV: R-33326-45252 */ - goto _342 + goto _346 _67: ; /* refact ::= CASCADE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Cascade) /* EV: R-33326-45252 */ - goto _342 + goto _346 _68: ; /* refact ::= RESTRICT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Restrict) /* EV: R-33326-45252 */ - goto _342 + goto _346 _69: ; /* refact ::= NO ACTION */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = OE_None /* EV: R-33326-45252 */ - goto _342 + goto _346 _70: ; /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 - goto _342 + goto _346 _72: ; /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ _71: @@ -155085,7 +156518,7 @@ _71: _73: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _75: ; /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ _74: @@ -155097,64 +156530,64 @@ _77: _78: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(1) - goto _342 + goto _346 _79: ; /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 - goto _342 + goto _346 _80: ; /* tconscomma ::= COMMA */ (*TParse)(unsafe.Pointer(pParse)).FconstraintName.Fn = uint32(0) - goto _342 + goto _346 _81: ; /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ _sqlite3AddPrimaryKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), 0) - goto _342 + goto _346 _82: ; /* tcons ::= UNIQUE LP sortlist RP onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _83: ; /* tcons ::= CHECK LP expr RP onconf */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _84: ; /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ _sqlite3CreateForeignKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _86: ; /* onconf ::= */ _85: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(OE_Default) - goto _342 + goto _346 _87: ; /* onconf ::= ON CONFLICT resolvetype */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _88: ; /* resolvetype ::= IGNORE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Ignore) - goto _342 + goto _346 _90: ; /* resolvetype ::= REPLACE */ _89: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Replace) - goto _342 + goto _346 _91: ; /* cmd ::= DROP TABLE ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _92: ; /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ _sqlite3CreateView(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) - goto _342 + goto _346 _93: ; /* cmd ::= DROP VIEW ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), int32(1), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _94: ; /* cmd ::= select */ *(*TSelectDest)(unsafe.Pointer(bp + 16)) = TSelectDest{ @@ -155162,22 +156595,22 @@ _94: } _sqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), bp+16) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _95: ; /* select ::= WITH wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _96: ; /* select ::= WITH RECURSIVE wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _97: ; /* select ::= selectnowith */ p2 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) if p2 != 0 { _parserDoubleLinkSelect(tls, pParse, p2) } - goto _342 + goto _346 _98: ; /* selectnowith ::= selectnowith multiselect_op oneselect */ pRhs = *(*uintptr)(unsafe.Pointer(yymsp + 8)) @@ -155202,21 +156635,21 @@ _98: _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pLhs) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = pRhs - goto _342 + goto _346 _100: ; /* multiselect_op ::= UNION */ _99: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-OP*/ - goto _342 + goto _346 _101: ; /* multiselect_op ::= UNION ALL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_ALL) - goto _342 + goto _346 _102: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _103: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(9))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -155225,116 +156658,111 @@ _103: } else { _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) } - goto _342 + goto _346 _104: ; /* values ::= VALUES LP nexprlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) - goto _342 + goto _346 _105: - ; /* values ::= values COMMA LP nexprlist RP */ - pLeft = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) - pRight = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(libc.Int32FromInt32(SF_Values)|libc.Int32FromInt32(SF_MultiValue)), uintptr(0)) - if pLeft != 0 { - *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) - } - if pRight != 0 { - (*TSelect)(unsafe.Pointer(pRight)).Fop = uint8(TK_ALL) - (*TSelect)(unsafe.Pointer(pRight)).FpPrior = pLeft - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pRight - } else { - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pLeft - } - goto _342 + ; /* oneselect ::= mvalues */ + _sqlite3MultiValuesEnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_107: + ; /* mvalues ::= values COMMA LP nexprlist RP */ _106: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3MultiValues(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_108: ; /* distinct ::= DISTINCT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_Distinct) - goto _342 -_107: + goto _346 +_109: ; /* distinct ::= ALL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_All) - goto _342 -_109: + goto _346 +_111: ; /* sclp ::= */ -_108: - ; _110: ; -_111: - ; _112: ; _113: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 _114: + ; +_115: + ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 +_116: ; /* selcollist ::= sclp scanpt expr scanpt as */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) > uint32(0) { _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+8, int32(1)) } _sqlite3ExprListSetSpan(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_115: + goto _346 +_117: ; /* selcollist ::= sclp scanpt STAR */ p3 = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_ASTERISK), uintptr(0)) _sqlite3ExprSetErrorOffset(tls, p3, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), p3) - goto _342 -_116: + goto _346 +_118: ; /* selcollist ::= sclp scanpt nm DOT STAR */ - pRight1 = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) - _sqlite3ExprSetErrorOffset(tls, pRight1, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) - pLeft1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft1, pRight1) + pRight = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) + _sqlite3ExprSetErrorOffset(tls, pRight, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) + pLeft = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) + pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft, pRight) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pDot) - goto _342 -_118: + goto _346 +_120: ; /* as ::= AS nm */ -_117: - ; _119: ; -_120: +_121: ; - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 _122: + ; + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) + goto _346 +_124: ; /* from ::= */ -_121: +_123: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_123: + goto _346 +_125: ; /* from ::= FROM seltablist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) _sqlite3SrcListShiftJoinType(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_124: + goto _346 +_126: ; /* stl_prefix ::= seltablist joinop */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 && (*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc > 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8 + uintptr((*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc-int32(1))*104))).Ffg.Fjointype = uint8(*(*int32)(unsafe.Pointer(yymsp + 8))) } - goto _342 -_125: + goto _346 +_127: ; /* seltablist ::= stl_prefix nm dbnm as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) - goto _342 -_126: + goto _346 +_128: ; /* seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_127: + goto _346 +_129: ; /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListFuncArgs(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) - goto _342 -_128: + goto _346 +_130: ; /* seltablist ::= stl_prefix LP select RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_129: + goto _346 +_131: ; /* seltablist ::= stl_prefix LP seltablist RP as on_using */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) == uintptr(0) && *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) == uint32(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8)) == uintptr(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) @@ -155356,9 +156784,9 @@ _129: libc.SetBitFieldPtr16Uint32(pOld+60+4, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pNew+60+4, libc.Uint32FromInt32(1), 2, 0x4) } - v343 = libc.UintptrFromInt32(0) - (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v343 - (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v343 + v347 = libc.UintptrFromInt32(0) + (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v347 + (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v347 (*TSrcItem)(unsafe.Pointer(pOld)).FpSelect = uintptr(0) } _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) @@ -155368,189 +156796,189 @@ _129: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, pSubquery, yymsp+8) } } - goto _342 -_131: + goto _346 +_133: ; /* dbnm ::= */ -_130: +_132: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) - goto _342 -_132: + goto _346 +_134: ; /* fullname ::= nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_133: + goto _346 +_135: ; /* fullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_134: + goto _346 +_136: ; /* xfullname ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) /*A-overwrites-X*/ - goto _342 -_135: + goto _346 +_137: ; /* xfullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) /*A-overwrites-X*/ - goto _342 -_136: + goto _346 +_138: ; /* xfullname ::= nm DOT nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_137: + goto _346 +_139: ; /* xfullname ::= nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0)) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_138: + goto _346 +_140: ; /* joinop ::= COMMA|JOIN */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(JT_INNER) - goto _342 -_139: + goto _346 +_141: ; /* joinop ::= JOIN_KW JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), uintptr(0)) /*X-overwrites-A*/ - goto _342 -_140: + goto _346 +_142: ; /* joinop ::= JOIN_KW nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0)) /*X-overwrites-A*/ - goto _342 -_141: + goto _346 +_143: ; /* joinop ::= JOIN_KW nm nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) /*X-overwrites-A*/ - goto _342 -_142: + goto _346 +_144: ; /* on_using ::= ON expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uintptr(0) - goto _342 -_143: + goto _346 +_145: ; /* on_using ::= USING LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_144: + goto _346 +_146: ; /* on_using ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uintptr(0) - goto _342 -_145: + goto _346 +_147: ; /* indexed_by ::= INDEXED BY nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 -_146: + goto _346 +_148: ; /* indexed_by ::= NOT INDEXED */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(1) - goto _342 -_148: + goto _346 +_150: ; /* orderby_opt ::= ORDER BY sortlist */ -_147: +_149: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_149: + goto _346 +_151: ; /* sortlist ::= sortlist COMMA expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_150: + goto _346 +_152: ; /* sortlist ::= expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) /*A-overwrites-Y*/ _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_151: + goto _346 +_153: ; /* sortorder ::= ASC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = SQLITE_SO_ASC - goto _342 -_152: + goto _346 +_154: ; /* sortorder ::= DESC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_154: + goto _346 +_156: ; /* sortorder ::= */ -_153: +_155: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = -int32(1) - goto _342 -_155: + goto _346 +_157: ; /* nulls ::= NULLS FIRST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = SQLITE_SO_ASC - goto _342 -_156: + goto _346 +_158: ; /* nulls ::= NULLS LAST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_158: + goto _346 +_160: ; /* having_opt ::= */ -_157: - ; _159: ; -_160: - ; _161: ; _162: ; _163: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_165: - ; /* having_opt ::= HAVING expr */ _164: ; -_166: +_165: ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 _167: + ; /* having_opt ::= HAVING expr */ +_166: ; _168: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 _169: + ; +_170: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + goto _346 +_171: ; /* limit_opt ::= LIMIT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 -_170: + goto _346 +_172: ; /* limit_opt ::= LIMIT expr OFFSET expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_171: + goto _346 +_173: ; /* limit_opt ::= LIMIT expr COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 -_172: + goto _346 +_174: ; /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) _sqlite3DeleteFrom(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0)) - goto _342 -_173: + goto _346 +_175: ; /* where_opt_ret ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) - goto _342 -_174: + goto _346 +_176: ; /* where_opt_ret ::= WHERE expr RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) - goto _342 -_175: + goto _346 +_177: ; /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) - _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23387) + _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23510) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { pFromClause = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) if (*TSrcList)(unsafe.Pointer(pFromClause)).FnSrc > int32(1) { @@ -155562,95 +156990,95 @@ _175: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), pFromClause) } _sqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_176: + goto _346 +_178: ; /* setlist ::= setlist COMMA nm EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) - goto _342 -_177: + goto _346 +_179: ; /* setlist ::= setlist COMMA LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_178: + goto _346 +_180: ; /* setlist ::= nm EQ expr */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_179: + goto _346 +_181: ; /* setlist ::= LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_180: + goto _346 +_182: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_181: + goto _346 +_183: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0)) - goto _342 -_182: + goto _346 +_184: ; /* upsert ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_183: + goto _346 +_185: ; /* upsert ::= RETURNING selcollist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_184: + goto _346 +_186: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(11))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_185: + goto _346 +_187: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_186: + goto _346 +_188: ; /* upsert ::= ON CONFLICT DO NOTHING returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_187: + goto _346 +_189: ; /* upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_188: + goto _346 +_190: ; /* returning ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_189: + goto _346 +_191: ; /* idlist_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_190: + goto _346 +_192: ; /* idlist_opt ::= LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_191: + goto _346 +_193: ; /* idlist ::= idlist COMMA nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3IdListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 -_192: + goto _346 +_194: ; /* idlist ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3IdListAppend(tls, pParse, uintptr(0), yymsp+8) /*A-overwrites-Y*/ - goto _342 -_193: + goto _346 +_195: ; /* expr ::= LP expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_194: + goto _346 +_196: ; /* expr ::= ID|INDEXED|JOIN_KW */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_195: + goto _346 +_197: ; /* expr ::= nm DOT nm */ temp1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) temp2 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp1, temp2) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_196: + goto _346 +_198: ; /* expr ::= nm DOT nm DOT nm */ temp11 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) temp21 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) @@ -155661,22 +157089,22 @@ _196: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp11, temp4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_198: + goto _346 +_200: ; /* term ::= NULL|FLOAT|BLOB */ -_197: +_199: ; *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_199: + goto _346 +_201: ; /* term ::= INTEGER */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), yymsp+8, int32(1)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 52)) = int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8))) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_200: + goto _346 +_202: ; /* expr ::= VARIABLE */ if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8))))) == int32('#') && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)) + 1))])&int32(0x04) != 0) { n = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) @@ -155688,7 +157116,7 @@ _200: ** in the virtual machine. #N is the N-th register. */ *(*TToken)(unsafe.Pointer(bp + 88)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) /*A-overwrites-X*/ if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23396, libc.VaList(bp+128, bp+88)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23519, libc.VaList(bp+128, bp+88)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_REGISTER), uintptr(0), uintptr(0)) @@ -155697,57 +157125,57 @@ _200: } } } - goto _342 -_201: + goto _346 +_203: ; /* expr ::= expr COLLATE ID|STRING */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAddCollateToken(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8, int32(1)) - goto _342 -_202: + goto _346 +_204: ; /* expr ::= CAST LP expr AS typetoken RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_CAST), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) _sqlite3ExprAttachSubtrees(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) - goto _342 -_203: + goto _346 +_205: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_204: + goto _346 +_206: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_205: + goto _346 +_207: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_206: + goto _346 +_208: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_207: + goto _346 +_209: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_208: + goto _346 +_210: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, 0) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_209: + goto _346 +_211: ; /* term ::= CTIME_KW */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_210: + goto _346 +_212: ; /* expr ::= LP nexprlist COMMA expr RP */ pList = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_VECTOR), uintptr(0), uintptr(0)) @@ -155759,33 +157187,33 @@ _210: } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pList) } - goto _342 -_211: + goto _346 +_213: ; /* expr ::= expr AND expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_213: + goto _346 +_215: ; /* expr ::= expr OR expr */ -_212: - ; _214: ; -_215: - ; _216: ; _217: ; _218: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 _219: + ; +_220: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_221: ; /* likeop ::= NOT LIKE_KW|MATCH */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) |= uint32(0x80000000) /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/ - goto _342 -_220: + goto _346 +_222: ; /* expr ::= expr likeop expr */ bNot = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -155798,8 +157226,8 @@ _220: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_221: + goto _346 +_223: ; /* expr ::= expr likeop expr ESCAPE expr */ bNot1 = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -155813,65 +157241,67 @@ _221: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_222: + goto _346 +_224: ; /* expr ::= expr ISNULL|NOTNULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_223: + goto _346 +_225: ; /* expr ::= expr NOT NULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOTNULL), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uintptr(0)) - goto _342 -_224: + goto _346 +_226: ; /* expr ::= expr IS expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_225: + goto _346 +_227: ; /* expr ::= expr IS NOT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_226: + goto _346 +_228: ; /* expr ::= expr IS NOT DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_227: + goto _346 +_229: ; /* expr ::= expr IS DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_229: + goto _346 +_231: ; /* expr ::= NOT expr */ -_228: +_230: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) /*A-overwrites-B*/ - goto _342 -_230: + goto _346 +_232: ; /* expr ::= PLUS|MINUS expr */ - if int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) == int32(TK_PLUS) { - v344 = int32(TK_UPLUS) + p4 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + op = uint8(int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) + (libc.Int32FromInt32(TK_UPLUS) - libc.Int32FromInt32(TK_PLUS))) + if p4 != 0 && int32((*TExpr)(unsafe.Pointer(p4)).Fop) == int32(TK_UPLUS) { + (*TExpr)(unsafe.Pointer(p4)).Fop = op + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = p4 } else { - v344 = int32(TK_UMINUS) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(op), p4, uintptr(0)) + /*A-overwrites-B*/ } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, v344, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - /*A-overwrites-B*/ - goto _342 -_231: + goto _346 +_233: ; /* expr ::= expr PTR expr */ pList3 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList3 = _sqlite3ExprListAppend(tls, pParse, pList3, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, pList3, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_233: + goto _346 +_235: ; /* between_op ::= BETWEEN */ -_232: +_234: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = 0 - goto _342 -_234: + goto _346 +_236: ; /* expr ::= expr between_op expr AND expr */ pList4 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList4 = _sqlite3ExprListAppend(tls, pParse, pList4, *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -155884,8 +157314,8 @@ _234: if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_235: + goto _346 +_237: ; /* expr ::= expr in_op LP exprlist RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) == uintptr(0) { /* Expressions of the form @@ -155898,17 +157328,17 @@ _235: */ _sqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { - v345 = __ccgo_ts + 7888 + v348 = __ccgo_ts + 8013 } else { - v345 = __ccgo_ts + 7893 + v348 = __ccgo_ts + 8018 } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v345) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v348) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { _sqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } } else { pRHS = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr - if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { + if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pParse, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr = uintptr(0) _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) pRHS = _sqlite3PExpr(tls, pParse, int32(TK_UPLUS), pRHS, uintptr(0)) @@ -155942,460 +157372,464 @@ _235: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } } - goto _342 -_236: + goto _346 +_238: ; /* expr ::= LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_SELECT), uintptr(0), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_237: + goto _346 +_239: ; /* expr ::= expr in_op LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_238: + goto _346 +_240: ; /* expr ::= expr in_op nm dbnm paren_exprlist */ pSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) pSelect = _sqlite3SelectNew(tls, pParse, uintptr(0), pSrc, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { if pSelect != 0 { - v346 = pSrc + v349 = pSrc } else { - v346 = uintptr(0) + v349 = uintptr(0) } - _sqlite3SrcListFuncArgs(tls, pParse, v346, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + _sqlite3SrcListFuncArgs(tls, pParse, v349, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pSelect) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_239: + goto _346 +_241: ; /* expr ::= EXISTS LP select RP */ - v347 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v347 - p4 = v347 - _sqlite3PExprAddSelect(tls, pParse, p4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_240: + v350 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v350 + p5 = v350 + _sqlite3PExprAddSelect(tls, pParse, p5, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_242: ; /* expr ::= CASE case_operand case_exprlist case_else END */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_CASE), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { - v348 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + v351 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } else { - v348 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + v351 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) } - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v348 + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v351 _sqlite3ExprSetHeightAndFlags(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } - goto _342 -_241: + goto _346 +_243: ; /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_242: + goto _346 +_244: ; /* case_exprlist ::= WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_243: + goto _346 +_245: ; /* nexprlist ::= nexprlist COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_244: + goto _346 +_246: ; /* nexprlist ::= expr */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_246: + goto _346 +_248: ; /* paren_exprlist ::= LP exprlist RP */ -_245: +_247: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_247: + goto _346 +_249: ; /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ _sqlite3CreateIndex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, uintptr(0)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(11))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8)), SQLITE_SO_ASC, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), uint8(SQLITE_IDXTYPE_APPDEF)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && (*TParse)(unsafe.Pointer(pParse)).FpNewIndex != 0 { _sqlite3RenameTokenMap(tls, pParse, (*TIndex)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpNewIndex)).FzName, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) } - goto _342 -_249: + goto _346 +_251: ; /* uniqueflag ::= UNIQUE */ -_248: +_250: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Abort) - goto _342 -_250: + goto _346 +_252: ; /* uniqueflag ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = OE_None - goto _342 -_251: + goto _346 +_253: ; /* eidlist ::= eidlist COMMA nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_252: + goto _346 +_254: ; /* eidlist ::= nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_253: + goto _346 +_255: ; /* cmd ::= DROP INDEX ifexists fullname */ _sqlite3DropIndex(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_254: + goto _346 +_256: ; /* cmd ::= VACUUM vinto */ _sqlite3Vacuum(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_255: + goto _346 +_257: ; /* cmd ::= VACUUM nm vinto */ _sqlite3Vacuum(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_256: + goto _346 +_258: ; /* cmd ::= PRAGMA nm dbnm */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, uintptr(0), 0) - goto _342 -_257: + goto _346 +_259: ; /* cmd ::= PRAGMA nm dbnm EQ nmnum */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, 0) - goto _342 -_258: + goto _346 +_260: ; /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) - goto _342 -_259: + goto _346 +_261: ; /* cmd ::= PRAGMA nm dbnm EQ minus_num */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, int32(1)) - goto _342 -_260: + goto _346 +_262: ; /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) - goto _342 -_261: + goto _346 +_263: ; /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ (*(*TToken)(unsafe.Pointer(bp + 104))).Fz = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) (*(*TToken)(unsafe.Pointer(bp + 104))).Fn = uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) + *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) _sqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), bp+104) - goto _342 -_262: + goto _346 +_264: ; /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ _sqlite3BeginTrigger(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8 + 8)) == uint32(0) { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) } else { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) } - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v349 /*A-overwrites-T*/ - goto _342 -_263: + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v352 /*A-overwrites-T*/ + goto _346 +_265: ; /* trigger_time ::= BEFORE|AFTER */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_264: + goto _346 +_266: ; /* trigger_time ::= INSTEAD OF */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_INSTEAD) - goto _342 -_265: + goto _346 +_267: ; /* trigger_time ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_BEFORE) - goto _342 -_267: + goto _346 +_269: ; /* trigger_event ::= DELETE|INSERT */ -_266: +_268: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) = uintptr(0) - goto _342 -_268: + goto _346 +_270: ; /* trigger_event ::= UPDATE OF idlist */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(TK_UPDATE) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_270: + goto _346 +_272: ; /* when_clause ::= */ -_269: +_271: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_272: + goto _346 +_274: ; /* when_clause ::= WHEN expr */ -_271: +_273: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_273: + goto _346 +_275: ; /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ (*TTriggerStep)(unsafe.Pointer((*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast)).FpNext = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_274: + goto _346 +_276: ; /* trigger_cmd_list ::= trigger_cmd SEMI */ (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_275: + goto _346 +_277: ; /* trnm ::= nm DOT nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23420, 0) - goto _342 -_276: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23543, 0) + goto _346 +_278: ; /* tridxby ::= INDEXED BY nm */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23515, 0) - goto _342 -_277: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23638, 0) + goto _346 +_279: ; /* tridxby ::= NOT INDEXED */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23599, 0) - goto _342 -_278: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23722, 0) + goto _346 +_280: ; /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerUpdateStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_279: + goto _346 +_281: ; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-6].minor.yy394*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_280: + goto _346 +_282: ; /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerDeleteStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_281: + goto _346 +_283: ; /* trigger_cmd ::= scanpt select scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-1].minor.yy47*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-1].minor.yy555*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_282: + goto _346 +_284: ; /* expr ::= RAISE LP IGNORE RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_RAISE), uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)))).FaffExpr = uint8(OE_Ignore) } - goto _342 -_283: + goto _346 +_285: ; /* expr ::= RAISE LP raisetype COMMA nm RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_RAISE), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)))).FaffExpr = uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) } - goto _342 -_284: + goto _346 +_286: ; /* raisetype ::= ROLLBACK */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Rollback) - goto _342 -_285: + goto _346 +_287: ; /* raisetype ::= FAIL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Fail) - goto _342 -_286: + goto _346 +_288: ; /* cmd ::= DROP TRIGGER ifexists fullname */ _sqlite3DropTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_287: + goto _346 +_289: ; /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ _sqlite3Attach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_288: + goto _346 +_290: ; /* cmd ::= DETACH database_kw_opt expr */ _sqlite3Detach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_289: + goto _346 +_291: ; /* cmd ::= REINDEX */ _sqlite3Reindex(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_290: + goto _346 +_292: ; /* cmd ::= REINDEX nm dbnm */ _sqlite3Reindex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_291: + goto _346 +_293: ; /* cmd ::= ANALYZE */ _sqlite3Analyze(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_292: + goto _346 +_294: ; /* cmd ::= ANALYZE nm dbnm */ _sqlite3Analyze(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_293: + goto _346 +_295: ; /* cmd ::= ALTER TABLE fullname RENAME TO nm */ _sqlite3AlterRenameTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_294: + goto _346 +_296: ; /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(int32(int64((*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fz)-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) + (*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fn _sqlite3AlterFinishAddColumn(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_295: + goto _346 +_297: ; /* cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ _sqlite3AlterDropColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_296: + goto _346 +_298: ; /* add_column_fullname ::= fullname */ _disableLookaside(tls, pParse) _sqlite3AlterBeginAddColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_297: + goto _346 +_299: ; /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ _sqlite3AlterRenameColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) - goto _342 -_298: + goto _346 +_300: ; /* cmd ::= create_vtab */ _sqlite3VtabFinishParse(tls, pParse, uintptr(0)) - goto _342 -_299: + goto _346 +_301: ; /* cmd ::= create_vtab LP vtabarglist RP */ _sqlite3VtabFinishParse(tls, pParse, yymsp+8) - goto _342 -_300: + goto _346 +_302: ; /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ _sqlite3VtabBeginParse(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) - goto _342 -_301: + goto _346 +_303: ; /* vtabarg ::= */ _sqlite3VtabArgInit(tls, pParse) - goto _342 -_303: + goto _346 +_305: ; /* vtabargtoken ::= ANY */ -_302: - ; _304: ; - _sqlite3VtabArgExtend(tls, pParse, yymsp+8) - goto _342 _306: + ; + _sqlite3VtabArgExtend(tls, pParse, yymsp+8) + goto _346 +_308: ; /* with ::= WITH wqlist */ -_305: +_307: ; _sqlite3WithPush(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint8(1)) - goto _342 -_307: + goto _346 +_309: ; /* wqas ::= AS */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8(M10d_Any) - goto _342 -_308: + goto _346 +_310: ; /* wqas ::= AS MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8(M10d_Yes) - goto _342 -_309: + goto _346 +_311: ; /* wqas ::= AS NOT MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = uint8(M10d_No) - goto _342 -_310: - ; /* wqitem ::= nm eidlist_opt wqas LP select RP */ + goto _346 +_312: + ; /* wqitem ::= withnm eidlist_opt wqas LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) /*A-overwrites-X*/ - goto _342 -_311: + goto _346 +_313: + ; /* withnm ::= nm */ + (*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1) + goto _346 +_314: ; /* wqlist ::= wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_312: + goto _346 +_315: ; /* wqlist ::= wqlist COMMA wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3WithAdd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_313: + goto _346 +_316: ; /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ _sqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_314: + goto _346 +_317: ; /* windowdefn ::= nm AS LP window RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)))) } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_315: + goto _346 +_318: ; /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_316: + goto _346 +_319: ; /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_317: + goto _346 +_320: ; /* window ::= ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_318: + goto _346 +_321: ; /* window ::= nm ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_319: + goto _346 +_322: ; /* window ::= nm frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_320: + goto _346 +_323: ; /* frame_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = _sqlite3WindowAlloc(tls, pParse, 0, int32(TK_UNBOUNDED), uintptr(0), int32(TK_CURRENT), uintptr(0), uint8(0)) - goto _342 -_321: + goto _346 +_324: ; /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), int32(TK_CURRENT), uintptr(0), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_322: + goto _346 +_325: ; /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_324: + goto _346 +_327: ; /* frame_bound_s ::= frame_bound */ -_323: +_326: ; *(*TFrameBound)(unsafe.Pointer(bp)) = *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_326: + goto _346 +_329: ; /* frame_bound_s ::= UNBOUNDED PRECEDING */ -_325: +_328: ; -_327: +_330: ; (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = uintptr(0) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_328: + goto _346 +_331: ; /* frame_bound ::= expr PRECEDING|FOLLOWING */ (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_329: + goto _346 +_332: ; /* frame_exclude_opt ::= */ *(*Tu8)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint8(0) - goto _342 -_330: + goto _346 +_333: ; /* frame_exclude_opt ::= EXCLUDE frame_exclude */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*Tu8)(unsafe.Pointer(yymsp + 8)) - goto _342 -_332: + goto _346 +_335: ; /* frame_exclude ::= NO OTHERS */ -_331: +_334: ; *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) /*A-overwrites-X*/ - goto _342 -_333: + goto _346 +_336: ; /* frame_exclude ::= GROUP|TIES */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_334: + goto _346 +_337: ; /* window_clause ::= WINDOW windowdefn_list */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_335: + goto _346 +_338: ; /* filter_over ::= filter_clause over_clause */ if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) @@ -156404,13 +157838,13 @@ _335: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_336: + goto _346 +_339: ; /* filter_over ::= over_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_337: + goto _346 +_340: ; /* filter_over ::= filter_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { @@ -156420,27 +157854,33 @@ _337: _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_338: + goto _346 +_341: ; /* over_clause ::= OVER LP window RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_339: + goto _346 +_342: ; /* over_clause ::= OVER nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) } - goto _342 -_340: + goto _346 +_343: ; /* filter_clause ::= FILTER LP WHERE expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_341: + goto _346 +_344: + ; /* term ::= QNUMBER */ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) + _sqlite3DequoteNumber(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))) + *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + goto _346 +_345: ; - goto _342 + goto _346 /********** End reduce actions ************************************************/ -_342: +_346: ; yygoto = int32(_yyRuleInfoLhs[yyruleno]) yysize = int32(_yyRuleInfoNRhs[yyruleno]) @@ -156474,9 +157914,9 @@ func _yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, _yyminor /************ Begin %syntax_error code ****************************************/ _ = yymajor /* Silence some compiler warnings */ if *(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp))).Fz)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23396, libc.VaList(bp+24, bp)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23519, libc.VaList(bp+24, bp)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23684, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23807, 0) } /************ End %syntax_error code ******************************************/ /* Suppress warning about unused %extra_argument variable */ @@ -156541,8 +157981,10 @@ func _sqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor TToken) { ** enough on the stack to push the LHS value */ if int32(_yyRuleInfoNRhs[yyruleno]) == 0 { if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos >= (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - _yyStackOverflow(tls, yypParser) - break + if _yyGrowStack(tls, yypParser) != 0 { + _yyStackOverflow(tls, yypParser) + break + } } } yyact = _yy_reduce(tls, yypParser, yyruleno, yymajor, yyminor, pParse) @@ -158691,9 +160133,9 @@ func _analyzeFilterKeyword(tls *libc.TLS, _z uintptr, lastToken int32) (r int32) // ** Store the token type in *tokenType before returning. // */ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { - var c, delim, i, n, v10, v14, v16, v19, v20, v3, v5, v7, v8 int32 - var v15, v6 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v14, v15, v16, v19, v20, v3, v5, v6, v7, v8 + var c, delim, i, n, v10, v16, v18, v21, v22, v3, v5, v7, v8 int32 + var v17, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v16, v17, v18, v21, v22, v3, v5, v6, v7, v8 switch int32(_aiClass[*(*uint8)(unsafe.Pointer(z))]) { /* Switch on the character-class of the first byte ** of the token. See the comment on the CC_ defines ** above. */ @@ -158891,39 +160333,83 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('X')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 2))])&int32(0x08) != 0 { i = int32(3) for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { + if !(int32(1) != 0) { break } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } goto _11 _11: ; i++ } - return i - } - i = 0 - for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _12 - _12: - ; - i++ - } - if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { - i++ - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + } else { + i = 0 + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _12 + _12: + ; i++ } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) - } - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { - i += int32(2) - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } i++ + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _13 + _13: + ; + i++ + } + } + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } + i += int32(2) + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _14 + _14: + ; + i++ + } } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) } for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x46) != 0 { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_ILLEGAL) @@ -158934,24 +160420,24 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { i = int32(1) c = int32(*(*uint8)(unsafe.Pointer(z))) for { - if v15 = c != int32(']'); v15 { - v14 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v14 + if v17 = c != int32(']'); v17 { + v16 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v16 } - if !(v15 && v14 != 0) { + if !(v17 && v16 != 0) { break } - goto _13 - _13: + goto _15 + _15: ; i++ } if c == int32(']') { - v16 = int32(TK_ID) + v18 = int32(TK_ID) } else { - v16 = int32(TK_ILLEGAL) + v18 = int32(TK_ILLEGAL) } - *(*int32)(unsafe.Pointer(tokenType)) = v16 + *(*int32)(unsafe.Pointer(tokenType)) = v18 return i case int32(CC_VARNUM): *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) @@ -158960,8 +160446,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { break } - goto _17 - _17: + goto _19 + _19: ; i++ } @@ -158973,9 +160459,9 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) i = int32(1) for { - v19 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v19 - if !(v19 != 0) { + v21 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v21 + if !(v21 != 0) { break } if int32(_sqlite3CtypeMap[uint8(c)])&int32(0x46) != 0 { @@ -158984,12 +160470,12 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if c == int32('(') && n > 0 { for { i++ - goto _21 - _21: + goto _23 + _23: ; - v20 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v20 - if !(v20 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { + v22 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v22 + if !(v22 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { break } } @@ -159007,8 +160493,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { } } } - goto _18 - _18: + goto _20 + _20: ; i++ } @@ -159026,8 +160512,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_aiClass[*(*uint8)(unsafe.Pointer(z + uintptr(i)))]) <= int32(CC_KYWD)) { break } - goto _22 - _22: + goto _24 + _24: ; i++ } @@ -159048,8 +160534,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { break } - goto _23 - _23: + goto _25 + _25: ; i++ } @@ -159103,7 +160589,7 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { var lastTokenParsed, mxSqlLen, n, nErr int32 var _ /* sEngine at bp+8 */ TyyParser var _ /* tokenType at bp+0 */ int32 - var _ /* x at bp+2432 */ TToken + var _ /* x at bp+2440 */ TToken _, _, _, _, _, _, _ = db, lastTokenParsed, mxSqlLen, n, nErr, pEngine, pParentParse nErr = 0 /* The LEMON-generated LALR(1) parser */ n = 0 /* type of the next token */ @@ -159161,10 +160647,12 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp)) == int32(TK_FILTER) { *(*int32)(unsafe.Pointer(bp)) = _analyzeFilterKeyword(tls, zSql+6, lastTokenParsed) } else { - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fz = zSql - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fn = uint32(n) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23701, libc.VaList(bp+2456, bp+2432)) - break + if *(*int32)(unsafe.Pointer(bp)) != int32(TK_QNUMBER) { + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fz = zSql + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fn = uint32(n) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23824, libc.VaList(bp+2464, bp+2440)) + break + } } } } @@ -159185,9 +160673,9 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { } if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg != 0 || (*TParse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK && (*TParse)(unsafe.Pointer(pParse)).Frc != int32(SQLITE_DONE) { if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) { - (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3797, libc.VaList(bp+2456, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) + (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3861, libc.VaList(bp+2464, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) } - Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23726, libc.VaList(bp+2456, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) + Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23849, libc.VaList(bp+2464, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) nErr++ } (*TParse)(unsafe.Pointer(pParse)).FzTail = zSql @@ -159379,7 +160867,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('c'): fallthrough case int32('C'): - if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23737, int32(6)) == 0 { + if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23860, int32(6)) == 0 { token = uint8(tkCREATE) } else { token = uint8(tkOTHER) @@ -159387,13 +160875,13 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('t'): fallthrough case int32('T'): - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20381, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20513, int32(7)) == 0 { token = uint8(tkTRIGGER) } else { - if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23744, int32(4)) == 0 { + if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23867, int32(4)) == 0 { token = uint8(tkTEMP) } else { - if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23749, int32(9)) == 0 { + if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23872, int32(9)) == 0 { token = uint8(tkTEMP) } else { token = uint8(tkOTHER) @@ -159403,10 +160891,10 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('e'): fallthrough case int32('E'): - if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23759, int32(3)) == 0 { + if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23882, int32(3)) == 0 { token = uint8(tkEND) } else { - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23763, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23886, int32(7)) == 0 { token = uint8(tkEXPLAIN) } else { token = uint8(tkOTHER) @@ -159846,7 +161334,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) { */ if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 { if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)<= 0 && rc < int32(libc.Uint64FromInt64(232)/libc.Uint64FromInt64(8)) && _aMsg[rc] != uintptr(0) { @@ -160984,31 +162472,31 @@ func _sqlite3ErrStr(tls *libc.TLS, rc int32) (r uintptr) { } var _aMsg = [29]uintptr{ - 0: __ccgo_ts + 23839, - 1: __ccgo_ts + 23852, - 3: __ccgo_ts + 23868, - 4: __ccgo_ts + 23893, - 5: __ccgo_ts + 23907, - 6: __ccgo_ts + 23926, - 7: __ccgo_ts + 1620, - 8: __ccgo_ts + 23951, - 9: __ccgo_ts + 23988, - 10: __ccgo_ts + 24000, - 11: __ccgo_ts + 24015, - 12: __ccgo_ts + 24048, - 13: __ccgo_ts + 24066, - 14: __ccgo_ts + 24091, - 15: __ccgo_ts + 24120, - 17: __ccgo_ts + 6023, - 18: __ccgo_ts + 5425, - 19: __ccgo_ts + 24137, - 20: __ccgo_ts + 24155, - 21: __ccgo_ts + 24173, - 23: __ccgo_ts + 24207, - 25: __ccgo_ts + 24228, - 26: __ccgo_ts + 24254, - 27: __ccgo_ts + 24277, - 28: __ccgo_ts + 24298, + 0: __ccgo_ts + 23962, + 1: __ccgo_ts + 23975, + 3: __ccgo_ts + 23991, + 4: __ccgo_ts + 24016, + 5: __ccgo_ts + 24030, + 6: __ccgo_ts + 24049, + 7: __ccgo_ts + 1634, + 8: __ccgo_ts + 24074, + 9: __ccgo_ts + 24111, + 10: __ccgo_ts + 24123, + 11: __ccgo_ts + 24138, + 12: __ccgo_ts + 24171, + 13: __ccgo_ts + 24189, + 14: __ccgo_ts + 24214, + 15: __ccgo_ts + 24243, + 17: __ccgo_ts + 6087, + 18: __ccgo_ts + 5489, + 19: __ccgo_ts + 24260, + 20: __ccgo_ts + 24278, + 21: __ccgo_ts + 24296, + 23: __ccgo_ts + 24330, + 25: __ccgo_ts + 24351, + 26: __ccgo_ts + 24377, + 27: __ccgo_ts + 24400, + 28: __ccgo_ts + 24421, } // C documentation @@ -161187,7 +162675,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i var p, v1 uintptr _, _, _, _ = extraFlags, p, rc, v1 if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) { - return _sqlite3MisuseError(tls, int32(180244)) + return _sqlite3MisuseError(tls, int32(181689)) } extraFlags = enc & (libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_INNOCUOUS) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)) enc &= libc.Int32FromInt32(SQLITE_FUNC_ENCMASK) | libc.Int32FromInt32(SQLITE_ANY) @@ -161230,7 +162718,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i p = _sqlite3FindFunction(tls, db, zFunctionName, nArg, uint8(enc), uint8(0)) if p != 0 && (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) == uint32(enc) && int32((*TFuncDef)(unsafe.Pointer(p)).FnArg) == nArg { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24395, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24518, 0) return int32(SQLITE_BUSY) } else { _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -161356,7 +162844,7 @@ func _sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotU zName = Xsqlite3_user_data(tls, context) _ = NotUsed _ = NotUsed2 - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24458, libc.VaList(bp+8, zName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24581, libc.VaList(bp+8, zName)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -161387,7 +162875,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i if rc != 0 { return SQLITE_OK } - zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, zName)) + zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, zName)) if zCopy == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -161631,7 +163119,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) { /* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint ** mode: */ - return _sqlite3MisuseError(tls, int32(180859)) + return _sqlite3MisuseError(tls, int32(182304)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if zDb != 0 && *(*uint8)(unsafe.Pointer(zDb)) != 0 { @@ -161641,7 +163129,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in } if iDb < 0 { rc = int32(SQLITE_ERROR) - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24509, libc.VaList(bp+8, zDb)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24632, libc.VaList(bp+8, zDb)) } else { (*Tsqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = _sqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -161763,7 +163251,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) { return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM)) } if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(180995))) + return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(182440))) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -161895,7 +163383,7 @@ var _misuse = [34]Tu16{ // */ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181074)) + return _sqlite3MisuseError(tls, int32(182519)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -161905,7 +163393,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181083)) + return _sqlite3MisuseError(tls, int32(182528)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -161954,7 +163442,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui enc2 = int32(SQLITE_UTF16LE) } if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) { - return _sqlite3MisuseError(tls, int32(181131)) + return _sqlite3MisuseError(tls, int32(182576)) } /* Check if this call is removing or replacing an existing collation ** sequence. If so, and there are active VMs, return busy. If there @@ -161963,7 +163451,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui pColl = _sqlite3FindCollSeq(tls, db, uint8(enc2), zName, 0) if pColl != 0 && (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24530, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24653, 0) return int32(SQLITE_BUSY) } _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -162110,7 +163598,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u flags = *(*uint32)(unsafe.Pointer(pFlags)) zVfs = zDefaultVfs nUri = _sqlite3Strlen30(tls, zUri) - if (flags&uint32(SQLITE_OPEN_URI) != 0 || *(*Tu8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_sqlite3Config)) + 6)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24598, uint64(5)) == 0 { /* Input character index */ + if (flags&uint32(SQLITE_OPEN_URI) != 0 || *(*Tu8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_sqlite3Config)) + 6)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24721, uint64(5)) == 0 { /* Input character index */ iOut = 0 /* Output character index */ nByte = uint64(nUri + int32(8)) /* Bytes of space to allocate */ /* Make sure the SQLITE_OPEN_URI flag is set to indicate to the VFS xOpen @@ -162140,8 +163628,8 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u for *(*uint8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0 && int32(*(*uint8)(unsafe.Pointer(zUri + uintptr(iIn)))) != int32('/') { iIn++ } - if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24604, zUri+7, uint64(9)) != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24614, libc.VaList(bp+8, iIn-int32(7), zUri+7)) + if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24727, zUri+7, uint64(9)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24737, libc.VaList(bp+8, iIn-int32(7), zUri+7)) rc = int32(SQLITE_ERROR) goto parse_uri_out } @@ -162230,24 +163718,24 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u nOpt = _sqlite3Strlen30(tls, zOpt) zVal = zOpt + uintptr(nOpt+int32(1)) nVal = _sqlite3Strlen30(tls, zVal) - if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24642, zOpt, uint64(3)) == 0 { + if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24765, zOpt, uint64(3)) == 0 { zVfs = zVal } else { aMode = uintptr(0) zModeType = uintptr(0) mask = 0 limit = 0 - if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24646, zOpt, uint64(5)) == 0 { + if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24769, zOpt, uint64(5)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_SHAREDCACHE) | libc.Int32FromInt32(SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&_aCacheMode)) limit = mask - zModeType = __ccgo_ts + 24646 + zModeType = __ccgo_ts + 24769 } - if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24667, zOpt, uint64(4)) == 0 { + if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24790, zOpt, uint64(4)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_READONLY) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&_aOpenMode)) limit = int32(uint32(mask) & flags) - zModeType = __ccgo_ts + 3406 + zModeType = __ccgo_ts + 3470 } if aMode != 0 { mode = 0 @@ -162276,12 +163764,12 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u i++ } if mode == 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24682, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24805, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_ERROR) goto parse_uri_out } if mode & ^libc.Int32FromInt32(SQLITE_OPEN_MEMORY) > limit { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24702, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24825, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_PERM) goto parse_uri_out } @@ -162305,7 +163793,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u } *(*uintptr)(unsafe.Pointer(ppVfs)) = Xsqlite3_vfs_find(tls, zVfs) if *(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24726, libc.VaList(bp+8, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24849, libc.VaList(bp+8, zVfs)) rc = int32(SQLITE_ERROR) } goto parse_uri_out @@ -162325,11 +163813,11 @@ var _aCacheMode = [3]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24652, + Fz: __ccgo_ts + 24775, Fmode: int32(SQLITE_OPEN_SHAREDCACHE), }, 1: { - Fz: __ccgo_ts + 24659, + Fz: __ccgo_ts + 24782, Fmode: int32(SQLITE_OPEN_PRIVATECACHE), }, 2: {}, @@ -162340,19 +163828,19 @@ var _aOpenMode = [5]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24672, + Fz: __ccgo_ts + 24795, Fmode: int32(SQLITE_OPEN_READONLY), }, 1: { - Fz: __ccgo_ts + 24675, + Fz: __ccgo_ts + 24798, Fmode: int32(SQLITE_OPEN_READWRITE), }, 2: { - Fz: __ccgo_ts + 24678, + Fz: __ccgo_ts + 24801, Fmode: libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE), }, 3: { - Fz: __ccgo_ts + 17766, + Fz: __ccgo_ts + 17853, Fmode: int32(SQLITE_OPEN_MEMORY), }, 4: {}, @@ -162480,8 +163968,8 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16BE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+22353, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+24742, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+22498, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+24865, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto opendb_out } @@ -162502,7 +163990,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* READWRITE */ /* READWRITE | CREATE */ if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 { - rc = _sqlite3MisuseError(tls, int32(181803)) /* IMP: R-18321-05872 */ + rc = _sqlite3MisuseError(tls, int32(183248)) /* IMP: R-18321-05872 */ } else { rc = _sqlite3ParseUri(tls, zVfs, zFilename, bp, db, bp+8, bp+16) } @@ -162511,7 +163999,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _sqlite3OomFault(tls, db) } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { - v2 = __ccgo_ts + 3797 + v2 = __ccgo_ts + 3861 } else { v2 = uintptr(0) } @@ -162538,9 +164026,9 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* The default safety_level for the main database is FULL; for the temp ** database it is OFF. This matches the pager layer defaults. */ - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6587 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6651 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).Fsafety_level = uint8(libc.Int32FromInt32(SQLITE_DEFAULT_SYNCHRONOUS) + libc.Int32FromInt32(1)) - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23744 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23867 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).Fsafety_level = uint8(PAGER_SYNCHRONOUS_OFF) (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState = uint8(SQLITE_STATE_OPEN) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -162634,7 +164122,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) { return rc } if zFilename == uintptr(0) { - zFilename = __ccgo_ts + 24748 + zFilename = __ccgo_ts + 24871 } pVal = _sqlite3ValueNew(tls, uintptr(0)) _sqlite3ValueSetStr(tls, pVal, -int32(1), zFilename, uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(0)) @@ -162851,20 +164339,20 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) (r int32) { func _sqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, __ccgo_ts+24751, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) + Xsqlite3_log(tls, iErr, __ccgo_ts+24874, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) return iErr } func _sqlite3CorruptError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24776) + return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24899) } func _sqlite3MisuseError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24796) + return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24919) } func _sqlite3CantopenError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24803) + return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24926) } // C documentation @@ -162995,11 +164483,11 @@ error_out: } if SQLITE_OK == rc && !(pTab != 0) { _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24820, libc.VaList(bp+16, zTableName, zColumnName)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24943, libc.VaList(bp+16, zTableName, zColumnName)) rc = int32(SQLITE_ERROR) } if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - v3 = __ccgo_ts + 3797 + v3 = __ccgo_ts + 3861 } else { v3 = uintptr(0) } @@ -164023,7 +165511,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) (r int32) { var _ /* nOpt at bp+0 */ int32 _, _, _ = azCompileOpt, i, n azCompileOpt = _sqlite3CompileOptions(tls, bp) - if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24848, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24971, int32(7)) == 0 { zOptName += uintptr(7) } n = _sqlite3Strlen30(tls, zOptName) @@ -164241,7 +165729,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui } _leaveMutex(tls) if rc != 0 { - v2 = __ccgo_ts + 24856 + v2 = __ccgo_ts + 24979 } else { v2 = uintptr(0) } @@ -165121,23 +166609,23 @@ func _sqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { // ** string must correspond to the JSONB_* integer above. // */ var _jsonbType = [17]uintptr{ - 0: __ccgo_ts + 1636, - 1: __ccgo_ts + 7888, - 2: __ccgo_ts + 7893, - 3: __ccgo_ts + 6308, - 4: __ccgo_ts + 6308, - 5: __ccgo_ts + 6303, - 6: __ccgo_ts + 6303, - 7: __ccgo_ts + 8199, - 8: __ccgo_ts + 8199, - 9: __ccgo_ts + 8199, - 10: __ccgo_ts + 8199, - 11: __ccgo_ts + 24879, - 12: __ccgo_ts + 24885, - 13: __ccgo_ts + 1650, - 14: __ccgo_ts + 1650, - 15: __ccgo_ts + 1650, - 16: __ccgo_ts + 1650, + 0: __ccgo_ts + 1650, + 1: __ccgo_ts + 8013, + 2: __ccgo_ts + 8018, + 3: __ccgo_ts + 6372, + 4: __ccgo_ts + 6372, + 5: __ccgo_ts + 6367, + 6: __ccgo_ts + 6367, + 7: __ccgo_ts + 8324, + 8: __ccgo_ts + 8324, + 9: __ccgo_ts + 8324, + 10: __ccgo_ts + 8324, + 11: __ccgo_ts + 25002, + 12: __ccgo_ts + 25008, + 13: __ccgo_ts + 1664, + 14: __ccgo_ts + 1664, + 15: __ccgo_ts + 1664, + 16: __ccgo_ts + 1664, } // C documentation @@ -165900,6 +167388,38 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { _jsonAppendChar(tls, p, uint8(',')) } +// C documentation +// +// /* c is a control character. Append the canonical JSON representation +// ** of that control character to p. +// ** +// ** This routine assumes that the output buffer has already been enlarged +// ** sufficiently to hold the worst-case encoding plus a nul terminator. +// */ +func _jsonAppendControlChar(tls *libc.TLS, p uintptr, c Tu8) { + if _aSpecial[c] != 0 { + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = uint8('\\') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = _aSpecial[c] + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(2) + } else { + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = uint8('\\') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = uint8('u') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(2)))) = uint8('0') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(3)))) = uint8('0') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(4)))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 25015 + uintptr(int32(c)>>int32(4)))) + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(5)))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 25015 + uintptr(int32(c)&int32(0xf)))) + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(6) + } +} + +var _aSpecial = [32]uint8{ + 8: uint8('b'), + 9: uint8('t'), + 10: uint8('n'), + 12: uint8('f'), + 13: uint8('r'), +} + // C documentation // // /* Append the N-byte string in zIn to the end of the JsonString string @@ -165913,9 +167433,9 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { var c Tu8 var k Tu32 - var z, v10, v12, v14, v16, v18, v2, v20, v22, v24, v6, v8 uintptr - var v1, v11, v13, v15, v17, v19, v21, v23, v5, v7, v9 Tu64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v5, v6, v7, v8, v9 + var z, v10, v2, v4, v6, v8 uintptr + var v1, v3, v5, v7, v9 Tu64 + _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v2, v3, v4, v5, v6, v7, v8, v9 z = zIn if z == uintptr(0) { return @@ -165972,81 +167492,38 @@ func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { N -= k } c = *(*Tu8)(unsafe.Pointer(z)) - if !(int32(c) == int32('"') || int32(c) == int32('\\')) { - goto _3 - } - goto json_simple_escape - json_simple_escape: - ; - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { - return - } - v6 = p + 24 - v5 = *(*Tu64)(unsafe.Pointer(v6)) - *(*Tu64)(unsafe.Pointer(v6))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = uint8('\\') - v8 = p + 24 - v7 = *(*Tu64)(unsafe.Pointer(v8)) - *(*Tu64)(unsafe.Pointer(v8))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = c - goto _4 - _3: - ; - if int32(c) == int32('\'') { - v10 = p + 24 - v9 = *(*Tu64)(unsafe.Pointer(v10)) - *(*Tu64)(unsafe.Pointer(v10))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = c - } else { - if _aSpecial[c] != 0 { - c = _aSpecial[c] - goto json_simple_escape - } - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + if int32(c) == int32('"') || int32(c) == int32('\\') { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { return } - v12 = p + 24 - v11 = *(*Tu64)(unsafe.Pointer(v12)) - *(*Tu64)(unsafe.Pointer(v12))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v11))) = uint8('\\') - v14 = p + 24 - v13 = *(*Tu64)(unsafe.Pointer(v14)) - *(*Tu64)(unsafe.Pointer(v14))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v13))) = uint8('u') - v16 = p + 24 - v15 = *(*Tu64)(unsafe.Pointer(v16)) - *(*Tu64)(unsafe.Pointer(v16))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v15))) = uint8('0') - v18 = p + 24 - v17 = *(*Tu64)(unsafe.Pointer(v18)) - *(*Tu64)(unsafe.Pointer(v18))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v17))) = uint8('0') - v20 = p + 24 - v19 = *(*Tu64)(unsafe.Pointer(v20)) - *(*Tu64)(unsafe.Pointer(v20))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v19))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 24892 + uintptr(int32(c)>>int32(4)))) - v22 = p + 24 - v21 = *(*Tu64)(unsafe.Pointer(v22)) - *(*Tu64)(unsafe.Pointer(v22))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v21))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 24892 + uintptr(int32(c)&int32(0xf)))) + v4 = p + 24 + v3 = *(*Tu64)(unsafe.Pointer(v4)) + *(*Tu64)(unsafe.Pointer(v4))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v3))) = uint8('\\') + v6 = p + 24 + v5 = *(*Tu64)(unsafe.Pointer(v6)) + *(*Tu64)(unsafe.Pointer(v6))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = c + } else { + if int32(c) == int32('\'') { + v8 = p + 24 + v7 = *(*Tu64)(unsafe.Pointer(v8)) + *(*Tu64)(unsafe.Pointer(v8))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = c + } else { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + return + } + _jsonAppendControlChar(tls, p, c) + } } - _4: - ; z++ N-- } - v24 = p + 24 - v23 = *(*Tu64)(unsafe.Pointer(v24)) - *(*Tu64)(unsafe.Pointer(v24))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v23))) = uint8('"') -} - -var _aSpecial = [32]uint8{ - 8: uint8('b'), - 9: uint8('t'), - 10: uint8('n'), - 12: uint8('f'), - 13: uint8('r'), + v10 = p + 24 + v9 = *(*Tu64)(unsafe.Pointer(v10)) + *(*Tu64)(unsafe.Pointer(v10))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = uint8('"') } // C documentation @@ -166064,9 +167541,9 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _, _, _, _ = n, n1, z, z1 switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_NULL): - _jsonAppendRawNZ(tls, p, __ccgo_ts+1636, uint32(4)) + _jsonAppendRawNZ(tls, p, __ccgo_ts+1650, uint32(4)) case int32(SQLITE_FLOAT): - _jsonPrintf(tls, int32(100), p, __ccgo_ts+15325, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) + _jsonPrintf(tls, int32(100), p, __ccgo_ts+15418, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) case int32(SQLITE_INTEGER): z = Xsqlite3_value_text(tls, pValue) n = uint32(Xsqlite3_value_bytes(tls, pValue)) @@ -166087,7 +167564,7 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _jsonTranslateBlobToText(tls, bp, uint32(0), p) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr) == 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24909, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25032, -int32(1)) (*TJsonString)(unsafe.Pointer(p)).FeErr = uint8(JSTRING_ERR) _jsonStringReset(tls, p) } @@ -166141,7 +167618,7 @@ func _jsonReturnString(tls *libc.TLS, p uintptr, pParse uintptr, ctx uintptr) { Xsqlite3_result_error_nomem(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr)&int32(JSTRING_MALFORMED) != 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25061, -int32(1)) } } } @@ -166424,8 +167901,8 @@ var _aNanInfName = [5]TNanInfName{ Fn: uint8(3), FeType: uint8(JSONB_FLOAT), FnRepl: uint8(7), - FzMatch: __ccgo_ts + 24953, - FzRepl: __ccgo_ts + 24957, + FzMatch: __ccgo_ts + 25076, + FzRepl: __ccgo_ts + 25080, }, 1: { Fc1: uint8('i'), @@ -166433,32 +167910,32 @@ var _aNanInfName = [5]TNanInfName{ Fn: uint8(8), FeType: uint8(JSONB_FLOAT), FnRepl: uint8(7), - FzMatch: __ccgo_ts + 24965, - FzRepl: __ccgo_ts + 24957, + FzMatch: __ccgo_ts + 25088, + FzRepl: __ccgo_ts + 25080, }, 2: { Fc1: uint8('n'), Fc2: uint8('N'), Fn: uint8(3), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 1641, - FzRepl: __ccgo_ts + 1636, + FzMatch: __ccgo_ts + 1655, + FzRepl: __ccgo_ts + 1650, }, 3: { Fc1: uint8('q'), Fc2: uint8('Q'), Fn: uint8(4), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 24974, - FzRepl: __ccgo_ts + 1636, + FzMatch: __ccgo_ts + 25097, + FzRepl: __ccgo_ts + 1650, }, 4: { Fc1: uint8('s'), Fc2: uint8('S'), Fn: uint8(4), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 24979, - FzRepl: __ccgo_ts + 1636, + FzMatch: __ccgo_ts + 25102, + FzRepl: __ccgo_ts + 1650, }, } @@ -166473,7 +167950,7 @@ func _jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24984, libc.VaList(bp+8, zFuncName)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25107, libc.VaList(bp+8, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) } @@ -166922,30 +168399,37 @@ func _jsonbValidityCheck(tls *libc.TLS, pParse uintptr, i Tu32, iEnd Tu32, iDept return j + uint32(1) } } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) <= int32(0x1f) { + /* Control characters in JSON5 string literals are ok */ + if int32(x) == int32(JSONB_TEXTJ) { + return j + uint32(1) + } } else { - if libc.Xstrchr(tls, __ccgo_ts+25027, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { - j++ + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { + return j + uint32(1) } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { - if j+uint32(5) >= k { - return j + uint32(1) - } - if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { - return j + uint32(1) - } + if libc.Xstrchr(tls, __ccgo_ts+25150, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { j++ } else { - if int32(x) != int32(JSONB_TEXT5) { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { + if j+uint32(5) >= k { + return j + uint32(1) + } + if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { + return j + uint32(1) + } + j++ } else { - *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) - szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) - if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + if int32(x) != int32(JSONB_TEXT5) { return j + uint32(1) + } else { + *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) + szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) + if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + return j + uint32(1) + } + j += szC - uint32(1) } - j += szC - uint32(1) } } } @@ -167372,9 +168856,14 @@ parse_string: } } else { if int32(c) <= int32(0x1f) { - /* Control characters are not allowed in strings */ - (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j - return -int32(1) + if int32(c) == 0 { + (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j + return -int32(1) + } + /* Control characters are not allowed in canonical JSON string + ** literals, but are allowed in JSON5 string literals. */ + opcode = uint8(JSONB_TEXT5) + (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) } else { if int32(c) == int32('"') { opcode = uint8(JSONB_TEXT5) @@ -167388,7 +168877,7 @@ parse_string: return int32(j + uint32(1)) _5: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7888, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8013, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_TRUE)) return int32(i + uint32(4)) } @@ -167396,7 +168885,7 @@ _5: return -int32(1) _6: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7893, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(5))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8018, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(5))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_FALSE)) return int32(i + uint32(5)) } @@ -167473,14 +168962,14 @@ parse_number: /* JSON5 allows for "+Infinity" and "-Infinity" using exactly ** that case. SQLite also allows these in any case and it allows ** "+inf" and "-inf". */ - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+24953, int32(3)) == 0 { + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+25076, int32(3)) == 0 { (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('-') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25036) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25159) } else { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25043) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25166) } - if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25049, int32(5)) == 0 { + if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25172, int32(5)) == 0 { v48 = int32(9) } else { v48 = int32(4) @@ -167641,7 +169130,7 @@ _29: return -int32(1) _37: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1636, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1650, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) return int32(i + uint32(4)) } @@ -167665,7 +169154,7 @@ _38: goto _51 } if int32(_aNanInfName[k1].FeType) == int32(JSONB_FLOAT) { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25043) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25166) } else { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) } @@ -167710,7 +169199,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 i += _json5Whitespace(tls, zJson+uintptr(i)) if *(*uint8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { if pCtx != 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25061, -int32(1)) } _jsonParseReset(tls, pParse) return int32(1) @@ -167723,7 +169212,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 if (*TJsonParse)(unsafe.Pointer(pParse)).Foom != 0 { Xsqlite3_result_error_nomem(tls, pCtx) } else { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25061, -int32(1)) } } _jsonParseReset(tls, pParse) @@ -167886,15 +169375,15 @@ func _jsonTranslateBlobToText(tls *libc.TLS, pParse uintptr, i Tu32, pOut uintpt goto _16 _2: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1636, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1650, uint32(4)) return i + uint32(1) _3: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7888, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8013, uint32(4)) return i + uint32(1) _4: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7893, uint32(5)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8018, uint32(5)) return i + uint32(1) _6: ; @@ -167943,9 +169432,9 @@ _7: k++ } if bOverflow != 0 { - v19 = __ccgo_ts + 24957 + v19 = __ccgo_ts + 25080 } else { - v19 = __ccgo_ts + 11755 + v19 = __ccgo_ts + 11880 } _jsonPrintf(tls, int32(100), pOut, v19, libc.VaList(bp+16, u)) goto _16 @@ -167993,7 +169482,7 @@ _11: for sz2 > uint32(0) { k2 = uint32(0) for { - if !(k2 < sz2 && int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('\\') && int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('"')) { + if !(k2 < sz2 && (_jsonIsOk[*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))] != 0 || int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) == int32('\''))) { break } goto _21 @@ -168010,7 +169499,16 @@ _11: sz2 -= k2 } if int32(*(*uint8)(unsafe.Pointer(zIn2))) == int32('"') { - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25055, uint32(2)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25178, uint32(2)) + zIn2++ + sz2-- + continue + } + if int32(*(*uint8)(unsafe.Pointer(zIn2))) <= int32(0x1f) { + if (*TJsonString)(unsafe.Pointer(pOut)).FnUsed+uint64(7) > (*TJsonString)(unsafe.Pointer(pOut)).FnAlloc && _jsonStringGrow(tls, pOut, uint32(7)) != 0 { + break + } + _jsonAppendControlChar(tls, pOut, *(*uint8)(unsafe.Pointer(zIn2))) zIn2++ sz2-- continue @@ -168024,7 +169522,7 @@ _11: case int32('\''): _jsonAppendChar(tls, pOut, uint8('\'')) case int32('v'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25058, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25181, uint32(6)) case int32('x'): if sz2 < uint32(4) { p23 = pOut + 33 @@ -168032,12 +169530,12 @@ _11: sz2 = uint32(2) break } - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25065, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25188, uint32(4)) _jsonAppendRawNZ(tls, pOut, zIn2+2, uint32(2)) zIn2 += uintptr(2) sz2 -= uint32(2) case int32('0'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25070, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25193, uint32(6)) case int32('\r'): if sz2 > uint32(2) && int32(*(*uint8)(unsafe.Pointer(zIn2 + 2))) == int32('\n') { zIn2++ @@ -168126,6 +169624,140 @@ _16: return i + n + *(*Tu32)(unsafe.Pointer(bp)) } +// C documentation +// +// /* Context for recursion of json_pretty() +// */ +type TJsonPretty = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty = TJsonPretty + +type TJsonPretty1 = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty1 = TJsonPretty1 + +// C documentation +// +// /* Append indentation to the pretty JSON under construction */ +func _jsonPrettyIndent(tls *libc.TLS, pPretty uintptr) { + var jj Tu32 + _ = jj + jj = uint32(0) + for { + if !(jj < (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent) { + break + } + _jsonAppendRaw(tls, (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut, (*TJsonPretty)(unsafe.Pointer(pPretty)).FzIndent, (*TJsonPretty)(unsafe.Pointer(pPretty)).FszIndent) + goto _1 + _1: + ; + jj++ + } +} + +// C documentation +// +// /* +// ** Translate the binary JSONB representation of JSON beginning at +// ** pParse->aBlob[i] into a JSON text string. Append the JSON +// ** text onto the end of pOut. Return the index in pParse->aBlob[] +// ** of the first byte past the end of the element that is translated. +// ** +// ** This is a variant of jsonTranslateBlobToText() that "pretty-prints" +// ** the output. Extra whitespace is inserted to make the JSON easier +// ** for humans to read. +// ** +// ** If an error is detected in the BLOB input, the pOut->eErr flag +// ** might get set to JSTRING_MALFORMED. But not all BLOB input errors +// ** are detected. So a malformed JSONB input might either result +// ** in an error, or in incorrect JSON. +// ** +// ** The pOut->eErr JSTRING_OOM flag is set on a OOM. +// */ +func _jsonTranslateBlobToPrettyText(tls *libc.TLS, pPretty uintptr, i Tu32) (r Tu32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var iEnd, j, n Tu32 + var pOut, pParse, p1, p2 uintptr + var _ /* sz at bp+0 */ Tu32 + _, _, _, _, _, _, _ = iEnd, j, n, pOut, pParse, p1, p2 + pParse = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpParse + pOut = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut + n = _jsonbPayloadSize(tls, pParse, i, bp) + if n == uint32(0) { + p1 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + return (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob + uint32(1) + } + switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { + case int32(JSONB_ARRAY): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, uint8('[')) + if j < iEnd { + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25200, uint32(2)) + } + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, uint8(']')) + i = iEnd + case int32(JSONB_OBJECT): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, uint8('{')) + if j < iEnd { + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToText(tls, pParse, j, pOut) + if j > iEnd { + p2 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p2)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p2))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25203, uint32(2)) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25200, uint32(2)) + } + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, uint8('}')) + i = iEnd + default: + i = _jsonTranslateBlobToText(tls, pParse, i, pOut) + break + } + return i +} + // C documentation // // /* Return true if the input pJson @@ -168843,7 +170475,7 @@ func _jsonReturnFromBlob(tls *libc.TLS, pParse uintptr, i Tu32, pCtx uintptr, te db = Xsqlite3_context_db_handle(tls, pCtx) n = _jsonbPayloadSize(tls, pParse, i, bp) if n == uint32(0) { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25061, -int32(1)) return } switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { @@ -169079,7 +170711,7 @@ returnfromblob_oom: goto returnfromblob_malformed returnfromblob_malformed: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25061, -int32(1)) return } @@ -169120,7 +170752,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob = Xsqlite3_value_blob(tls, pArg) (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob = uint32(Xsqlite3_value_bytes(tls, pArg)) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24909, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25032, -int32(1)) return int32(1) } case int32(SQLITE_TEXT): @@ -169133,7 +170765,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FzJson = zJson (*TJsonParse)(unsafe.Pointer(pParse)).FnJson = nJson if _jsonConvertTextToBlob(tls, pParse, ctx) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) _sqlite3DbFree(tls, (*TJsonParse)(unsafe.Pointer(pParse)).Fdb, (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob) libc.Xmemset(tls, pParse, 0, uint64(72)) return int32(1) @@ -169152,10 +170784,10 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin return int32(1) } if int32(*(*uint8)(unsafe.Pointer(z))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25043) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25166) } else { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('-') && int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25036) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25159) } else { _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(n), z) } @@ -169194,7 +170826,7 @@ func _jsonBadPathError(tls *libc.TLS, ctx uintptr, zPath uintptr) (r uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25077, libc.VaList(bp+8, zPath)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25206, libc.VaList(bp+8, zPath)) if ctx == uintptr(0) { return zMsg } @@ -169291,7 +170923,7 @@ jsonInsertIntoBlob_patherror: ; _jsonParseFree(tls, p) if rc == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) } else { _jsonBadPathError(tls, ctx, zPath) } @@ -169473,7 +171105,7 @@ json_pfa_malformed: return p } else { _jsonParseFree(tls, p) - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) return uintptr(0) } goto json_pfa_oom @@ -169608,7 +171240,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if int32(*(*uint8)(unsafe.Pointer(zPath))) == int32('$') { v1 = zPath + uintptr(1) } else { - v1 = __ccgo_ts + 25095 + v1 = __ccgo_ts + 25224 } i = _jsonLookupStep(tls, p, uint32(0), v1, uint32(0)) if i >= uint32(JSON_LOOKUP_PATHERROR) { @@ -169618,7 +171250,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) } } eErr = uint8(1) @@ -169636,25 +171268,6 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) _jsonParseFree(tls, p) } -// C documentation -// -// /* True if the string is all digits */ -func _jsonAllDigits(tls *libc.TLS, z uintptr, n int32) (r int32) { - var i int32 - _ = i - i = 0 - for { - if !(i < n && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _1 - _1: - ; - i++ - } - return libc.BoolInt32(i == n) -} - // C documentation // // /* True if the string is all alphanumerics and underscores */ @@ -169741,21 +171354,21 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { ** [NUMBER] ==> $[NUMBER] // Not PG. Purely for convenience */ _jsonStringInit(tls, bp, ctx) - if _jsonAllDigits(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25097, uint32(1)) + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) == int32(SQLITE_INTEGER) { + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25226, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+5163, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+5227, uint32(2)) } else { if _jsonAllAlphanum(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1663, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1677, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { if int32(*(*uint8)(unsafe.Pointer(zPath))) == int32('[') && nPath >= int32(3) && int32(*(*uint8)(unsafe.Pointer(zPath + uintptr(nPath-int32(1))))) == int32(']') { _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25099, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25228, uint32(2)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25102, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25231, uint32(1)) } } } @@ -169791,11 +171404,11 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { goto json_extract_error /* Return NULL if not found */ } else { _jsonAppendSeparator(tls, bp) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1636, uint32(4)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1650, uint32(4)) } } else { if j == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) goto json_extract_error } else { _jsonBadPathError(tls, ctx, zPath) @@ -170063,7 +171676,7 @@ func _jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == int32(JSON_MERGE_OOM) { Xsqlite3_result_error_nomem(tls, ctx) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) } } _jsonParseFree(tls, pPatch) @@ -170087,7 +171700,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { var _ /* jx at bp+0 */ TJsonString _, _, _ = i, n, z if argc&int32(1) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25104, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25233, -int32(1)) return } _jsonStringInit(tls, bp, ctx) @@ -170098,7 +171711,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { break } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != int32(SQLITE_TEXT) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25155, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25284, -int32(1)) _jsonStringReset(tls, bp) return } @@ -170170,7 +171783,7 @@ func _jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) } } goto json_remove_done @@ -170207,7 +171820,7 @@ func _jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { return } if argc&int32(1) == 0 { - _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15798) + _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15891) return } _jsonInsertIntoBlob(tls, ctx, argc, argv, int32(JEDIT_REPL)) @@ -170238,9 +171851,9 @@ func _jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { } if argc&int32(1) == 0 { if bIsSet != 0 { - v1 = __ccgo_ts + 25189 + v1 = __ccgo_ts + 25318 } else { - v1 = __ccgo_ts + 25193 + v1 = __ccgo_ts + 25322 } _jsonWrongNumArgs(tls, ctx, v1) return @@ -170288,7 +171901,7 @@ func _jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24938, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25061, -int32(1)) } } goto json_type_done @@ -170303,6 +171916,48 @@ json_type_done: _jsonParseFree(tls, p) } +// C documentation +// +// /* +// ** json_pretty(JSON) +// ** json_pretty(JSON, INDENT) +// ** +// ** Return text that is a pretty-printed rendering of the input JSON. +// ** If the argument is not valid JSON, return NULL. +// ** +// ** The INDENT argument is text that is used for indentation. If omitted, +// ** it defaults to four spaces (the same as PostgreSQL). +// */ +func _jsonPrettyFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { + bp := tls.Alloc(176) + defer tls.Free(176) + var v1 uintptr + var v2 bool + var _ /* s at bp+0 */ TJsonString + var _ /* x at bp+136 */ TJsonPretty + _, _ = v1, v2 /* Pretty printing context */ + libc.Xmemset(tls, bp+136, 0, uint64(32)) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse = _jsonParseFuncArg(tls, ctx, *(*uintptr)(unsafe.Pointer(argv)), uint32(0)) + if (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse == uintptr(0) { + return + } + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpOut = bp + _jsonStringInit(tls, bp, ctx) + if v2 = argc == int32(1); !v2 { + v1 = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = v1 + } + if v2 || v1 == uintptr(0) { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = __ccgo_ts + 25329 + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(4) + } else { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(libc.Xstrlen(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent)) + } + _jsonTranslateBlobToPrettyText(tls, bp+136, uint32(0)) + _jsonReturnString(tls, bp, uintptr(0), uintptr(0)) + _jsonParseFree(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse) +} + // C documentation // // /* @@ -170377,7 +172032,7 @@ func _jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if argc == int32(2) { f = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if f < int64(1) || f > int64(15) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25200, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25334, -int32(1)) return } flags = uint8(f & int64(0x0f)) @@ -170568,7 +172223,7 @@ func _jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25257, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25391, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -170717,7 +172372,7 @@ func _jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25260, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25394, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -170820,7 +172475,7 @@ func _jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argv _ = argc _ = pAux - rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25263) + rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25397) if rc == SQLITE_OK { pNew = _sqlite3DbMallocZero(tls, db, uint64(32)) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -170954,7 +172609,7 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { var _ /* sz at bp+0 */ Tu32 _, _, _, _, _ = i, k, n, needQuote, z if int32((*TJsonEachCursor)(unsafe.Pointer(p)).FeType) == int32(JSONB_ARRAY) { - _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25346, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) + _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25480, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) } else { *(*Tu32)(unsafe.Pointer(bp)) = uint32(0) needQuote = 0 @@ -170980,9 +172635,9 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { } } if needQuote != 0 { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25353, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25487, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } else { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25361, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25495, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } } } @@ -171368,7 +173023,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a i = v5 (*TJsonEachCursor)(unsafe.Pointer(p)).FeType = uint8(0) (*TJsonEachCursor)(unsafe.Pointer(p)).FnRoot = uint32(1) - _jsonAppendRaw(tls, p+56, __ccgo_ts+25367, uint32(1)) + _jsonAppendRaw(tls, p+56, __ccgo_ts+25501, uint32(1)) } (*TJsonEachCursor)(unsafe.Pointer(p)).FnParent = uint32(0) n = _jsonbPayloadSize(tls, p+192, i, bp) @@ -171392,7 +173047,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a json_each_malformed_input: ; Xsqlite3_free(tls, (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg) - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24938, 0) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25061, 0) _jsonEachCursorReset(tls, p) if (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { v6 = int32(SQLITE_ERROR) @@ -171446,183 +173101,193 @@ func init() { // ** Register JSON functions. // */ func _sqlite3RegisterJsonFunctions(tls *libc.TLS) { - _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2304)/libc.Uint64FromInt64(72))) + _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2448)/libc.Uint64FromInt64(72))) } -var _aJsonFunc = [32]TFuncDef{ +var _aJsonFunc = [34]TFuncDef{ 0: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25369, + FzName: __ccgo_ts + 25503, }, 1: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25374, + FzName: __ccgo_ts + 25508, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25380, + FzName: __ccgo_ts + 25514, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25391, + FzName: __ccgo_ts + 25525, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25403, + FzName: __ccgo_ts + 25537, }, 5: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25403, + FzName: __ccgo_ts + 25537, }, 6: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25421, + FzName: __ccgo_ts + 25555, }, 7: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25441, + FzName: __ccgo_ts + 25575, }, 8: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25454, + FzName: __ccgo_ts + 25588, }, 9: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_JSON) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25468, + FzName: __ccgo_ts + 25602, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_SQL) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25471, + FzName: __ccgo_ts + 25605, }, 11: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25475, + FzName: __ccgo_ts + 25609, }, 12: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25487, + FzName: __ccgo_ts + 25621, }, 13: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25500, + FzName: __ccgo_ts + 25634, }, 14: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25512, + FzName: __ccgo_ts + 25646, }, 15: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25525, + FzName: __ccgo_ts + 25659, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25536, + FzName: __ccgo_ts + 25670, }, 17: { FnArg: int8(1), - FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25548, + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25682, }, 18: { + FnArg: int8(2), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25682, + }, + 19: { + FnArg: int8(1), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25694, + }, + 20: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25559, + FzName: __ccgo_ts + 25705, }, - 19: { + 21: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25571, + FzName: __ccgo_ts + 25717, }, - 20: { + 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25584, + FzName: __ccgo_ts + 25730, }, - 21: { + 23: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25597, + FzName: __ccgo_ts + 25743, }, - 22: { + 24: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25611, + FzName: __ccgo_ts + 25757, }, - 23: { + 25: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25620, + FzName: __ccgo_ts + 25766, }, - 24: { + 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25630, + FzName: __ccgo_ts + 25776, }, - 25: { + 27: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25630, + FzName: __ccgo_ts + 25776, }, - 26: { + 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25640, + FzName: __ccgo_ts + 25786, }, - 27: { + 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25640, + FzName: __ccgo_ts + 25786, }, - 28: { + 30: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25651, + FzName: __ccgo_ts + 25797, }, - 29: { + 31: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25668, + FzName: __ccgo_ts + 25814, }, - 30: { + 32: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25686, + FzName: __ccgo_ts + 25832, }, - 31: { + 33: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25704, + FzName: __ccgo_ts + 25850, }, } @@ -171645,33 +173310,35 @@ func init() { *(*uintptr)(unsafe.Add(p, 1032)) = __ccgo_fp(_jsonObjectFunc) *(*uintptr)(unsafe.Add(p, 1104)) = __ccgo_fp(_jsonPatchFunc) *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonPatchFunc) - *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonQuoteFunc) - *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2048)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2056)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2064)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2120)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2128)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2136)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonQuoteFunc) + *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2208)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2280)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2328)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2336)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2344)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2352)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2400)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2408)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2416)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2424)) = __ccgo_fp(_jsonGroupInverse) } // C documentation @@ -171703,11 +173370,11 @@ var _aMod = [2]struct { FpModule uintptr }{ 0: { - FzName: __ccgo_ts + 25723, + FzName: __ccgo_ts + 25869, FpModule: uintptr(unsafe.Pointer(&_jsonEachModule)), }, 1: { - FzName: __ccgo_ts + 25733, + FzName: __ccgo_ts + 25879, FpModule: uintptr(unsafe.Pointer(&_jsonTreeModule)), }, } @@ -172354,7 +174021,7 @@ func _nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode Ti64, pParent uintptr, pp } } if (*TRtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) { - rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25743, iNode, 0, pRtree+112) + rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25889, iNode, 0, pRtree+112) } if rc != 0 { *(*uintptr)(unsafe.Pointer(ppNode)) = uintptr(0) @@ -172659,7 +174326,7 @@ func _rtreeDestroy(tls *libc.TLS, pVtab uintptr) (r int32) { var rc int32 _, _, _ = pRtree, rc, zCreate pRtree = pVtab - zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25748, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25894, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if !(zCreate != 0) { rc = int32(SQLITE_NOMEM) } else { @@ -173581,7 +175248,7 @@ func _findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid Ti64, ppLeaf uintptr, p func _deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) (r int32) { var pBlob, pInfo, pSrc uintptr _, _, _ = pBlob, pInfo, pSrc /* Callback information */ - pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25830) + pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25976) if pSrc == uintptr(0) { return int32(SQLITE_ERROR) } @@ -173636,7 +175303,7 @@ func _rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp iRowid = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) *(*Ti64)(unsafe.Pointer(bp + 24)) = 0 eType = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) == float64(iRowid) { + if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && 0 == _sqlite3IntFloatCompare(tls, iRowid, Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))) { rc = _findLeafNode(tls, pRtree, iRowid, bp+16, bp+24) } else { rc = SQLITE_OK @@ -175116,7 +176783,7 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) var _ /* pStmt at bp+0 */ uintptr _, _, _, _, _, _ = rc, zCol, zCol1, zCol2, zSql, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25844, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25990, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -int32(1), bp, uintptr(0)) } else { @@ -175126,11 +176793,11 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) if rc == SQLITE_OK { if iCol == 0 { zCol = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25864, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26010, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { zCol1 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol) zCol2 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol+int32(1)) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25896, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26042, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -175344,7 +177011,7 @@ func _rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) (r int32) { _, _, _ = pRtree, rc, zSql pRtree = pVtab rc = int32(SQLITE_NOMEM) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25933, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26079, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) if zSql != 0 { _nodeBlobReset(tls, pRtree) rc = Xsqlite3_exec(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -175398,9 +177065,9 @@ func _rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) (r int32) { var v2 int64 var _ /* p at bp+0 */ uintptr _, _, _, _, _, _ = nRow, rc, zFmt, zSql, v1, v2 - zFmt = __ccgo_ts + 26078 + zFmt = __ccgo_ts + 26224 nRow = int64(RTREE_MIN_ROWEST) - rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11584, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11709, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == int32(SQLITE_ERROR) { @@ -175458,9 +177125,9 @@ func _rtreeShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName1 = [3]uintptr{ - 0: __ccgo_ts + 26134, - 1: __ccgo_ts + 5486, - 2: __ccgo_ts + 16696, + 0: __ccgo_ts + 26280, + 1: __ccgo_ts + 5550, + 2: __ccgo_ts + 16783, } var _rtreeModule = Tsqlite3_module{ @@ -175504,21 +177171,21 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref (*TRtree)(unsafe.Pointer(pRtree)).Fdb = db if isCreate != 0 { p = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26548, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26694, libc.VaList(bp+8, zDb, zPrefix)) ii = 0 for { if !(ii < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26610, libc.VaList(bp+8, ii)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26756, libc.VaList(bp+8, ii)) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26615, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26679, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26749, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26761, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26825, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26895, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return int32(SQLITE_NOMEM) @@ -175548,7 +177215,7 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } else { /* An UPSERT is very slightly slower than REPLACE, but it is needed ** if there are auxiliary columns */ - zFormat = __ccgo_ts + 26798 + zFormat = __ccgo_ts + 26944 } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+8, zDb, zPrefix)) if zSql != 0 { @@ -175563,31 +177230,31 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref i++ } if (*TRtree)(unsafe.Pointer(pRtree)).FnAux != 0 && rc != int32(SQLITE_NOMEM) { - (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+26906, libc.VaList(bp+8, zDb, zPrefix)) + (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+27052, libc.VaList(bp+8, zDb, zPrefix)) if (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { p1 = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26951, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27097, libc.VaList(bp+8, zDb, zPrefix)) ii1 = 0 for { if !(ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } if ii1 != 0 { - Xsqlite3_str_append(tls, p1, __ccgo_ts+13092, int32(1)) + Xsqlite3_str_append(tls, p1, __ccgo_ts+13217, int32(1)) } if ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26978, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27124, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) } else { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27000, libc.VaList(bp+8, ii1, ii1+int32(2))) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27146, libc.VaList(bp+8, ii1, ii1+int32(2))) } goto _3 _3: ; ii1++ } - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27008, 0) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27154, 0) zSql1 = Xsqlite3_str_finish(tls, p1) if zSql1 == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -175601,14 +177268,14 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } var _azSql = [8]uintptr{ - 0: __ccgo_ts + 26139, - 1: __ccgo_ts + 26192, - 2: __ccgo_ts + 26237, - 3: __ccgo_ts + 26289, - 4: __ccgo_ts + 26343, - 5: __ccgo_ts + 26388, - 6: __ccgo_ts + 26446, - 7: __ccgo_ts + 26501, + 0: __ccgo_ts + 26285, + 1: __ccgo_ts + 26338, + 2: __ccgo_ts + 26383, + 3: __ccgo_ts + 26435, + 4: __ccgo_ts + 26489, + 5: __ccgo_ts + 26534, + 6: __ccgo_ts + 26592, + 7: __ccgo_ts + 26647, } // C documentation @@ -175666,7 +177333,7 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE _, _ = rc, zSql if isCreate != 0 { *(*int32)(unsafe.Pointer(bp)) = 0 - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27024, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27170, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) rc = _getIntFromStmt(tls, db, zSql, bp) if rc == SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp)) - int32(64) @@ -175674,17 +177341,17 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = int32(4) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*int32(RTREE_MAXCELLS) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27044, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27190, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) rc = _getIntFromStmt(tls, db, zSql, pRtree+32) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } else { if (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize < libc.Int32FromInt32(512)-libc.Int32FromInt32(64) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< libc.Int32FromInt32(RTREE_MAX_AUX_COLUMN)+libc.Int32FromInt32(3) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) return int32(SQLITE_ERROR) } Xsqlite3_vtab_config(tls, db, int32(SQLITE_VTAB_CONSTRAINT_SUPPORT), libc.VaList(bp+8, int32(1))) @@ -175761,13 +177428,13 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27287, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27433, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27293, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27439, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = int32(4) for { if !(ii < argc) { @@ -175776,7 +177443,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt zArg = *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)) if int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('+') { (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27317, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27463, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) } else { if int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux) > 0 { break @@ -175790,19 +177457,19 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27344, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27490, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) } else { if ii < argc { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, aErrMsg[int32(4)])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, aErrMsg[int32(4)])) rc = int32(SQLITE_ERROR) } else { v3 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v3 if SQLITE_OK != v3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } } @@ -175825,7 +177492,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } } if iErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, aErrMsg[iErr])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, aErrMsg[iErr])) goto rtreeInit_fail } (*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell = uint8(int32(8) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnDim2)*int32(4)) @@ -175836,7 +177503,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -175852,8 +177519,8 @@ rtreeInit_fail: } var _azFormat = [2]uintptr{ - 0: __ccgo_ts + 27323, - 1: __ccgo_ts + 27334, + 0: __ccgo_ts + 27469, + 1: __ccgo_ts + 27480, } // C documentation @@ -175911,21 +177578,21 @@ func _rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { } _nodeGetCell(tls, bp+40, bp, ii, bp+1008) if ii > 0 { - Xsqlite3_str_append(tls, pOut, __ccgo_ts+11204, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+11329, int32(1)) } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27347, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27493, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) jj = 0 for { if !(jj < int32((*(*TRtree)(unsafe.Pointer(bp + 40))).FnDim2)) { break } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27353, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27499, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) goto _2 _2: ; jj++ } - Xsqlite3_str_append(tls, pOut, __ccgo_ts+27357, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+27503, int32(1)) goto _1 _1: ; @@ -175952,7 +177619,7 @@ func _rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { _ = zBlob _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != int32(SQLITE_BLOB) || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+27359, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+27505, -int32(1)) } else { zBlob = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -176070,11 +177737,11 @@ func _rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintpt (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } else { if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - v1 = __ccgo_ts + 4205 + v1 = __ccgo_ts + 4269 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27392, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27538, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } @@ -176108,7 +177775,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt _, _, _ = nNode, pNode, pRet pRet = uintptr(0) /* Return value */ if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) { - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27399, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27545, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { Xsqlite3_bind_int64(tls, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode, int32(1), iNode) @@ -176125,7 +177792,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt } _rtreeCheckReset(tls, pCheck, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27444, libc.VaList(bp+8, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27590, libc.VaList(bp+8, iNode)) } } return pRet @@ -176154,8 +177821,8 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i var rc int32 _, _, _, _, _, _ = azSql, ii, pStmt, rc, v1, v2 azSql = [2]uintptr{ - 0: __ccgo_ts + 27476, - 1: __ccgo_ts + 27530, + 0: __ccgo_ts + 27622, + 1: __ccgo_ts + 27676, } if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) = _rtreeCheckPrepare(tls, pCheck, azSql[bLeaf], libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) @@ -176168,21 +177835,21 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i rc = Xsqlite3_step(tls, pStmt) if rc == int32(SQLITE_DONE) { if bLeaf != 0 { - v1 = __ccgo_ts + 27578 + v1 = __ccgo_ts + 27724 } else { - v1 = __ccgo_ts + 27586 + v1 = __ccgo_ts + 27732 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27595, libc.VaList(bp+8, iKey, iVal, v1)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27741, libc.VaList(bp+8, iKey, iVal, v1)) } else { if rc == int32(SQLITE_ROW) { ii = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { if bLeaf != 0 { - v2 = __ccgo_ts + 27578 + v2 = __ccgo_ts + 27724 } else { - v2 = __ccgo_ts + 27586 + v2 = __ccgo_ts + 27732 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27640, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27786, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) } } } @@ -176227,7 +177894,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 v2 = libc.BoolInt32(*(*TRtreeValue)(unsafe.Pointer(bp)) > *(*TRtreeValue)(unsafe.Pointer(bp + 4))) } if v2 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27698, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27844, libc.VaList(bp+24, i, iCell, iNode)) } if pParent != 0 { _readCoord(tls, pParent+uintptr(libc.Int32FromInt32(4)*libc.Int32FromInt32(2)*i), bp+8) @@ -176245,7 +177912,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 } } if v5 || v4 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27746, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27892, libc.VaList(bp+24, i, iCell, iNode)) } } goto _1 @@ -176278,19 +177945,19 @@ func _rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintpt aNode = _rtreeCheckGetNode(tls, pCheck, iNode, bp) if aNode != 0 { if *(*int32)(unsafe.Pointer(bp)) < int32(4) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27813, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27959, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) } else { /* Used to iterate through cells */ if aParent == uintptr(0) { iDepth = _readInt16(tls, aNode) if iDepth > int32(RTREE_MAX_DEPTH) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27847, libc.VaList(bp+16, iDepth)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27993, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = _readInt16(tls, aNode+2) if int32(4)+nCell*(int32(8)+(*TRtreeCheck)(unsafe.Pointer(pCheck)).FnDim*int32(2)*int32(4)) > *(*int32)(unsafe.Pointer(bp)) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27877, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28023, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) } else { i = 0 for { @@ -176335,12 +178002,12 @@ func _rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect Ti64) var pCount uintptr _, _ = nActual, pCount if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { - pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27932, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) + pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28078, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) if pCount != 0 { if Xsqlite3_step(tls, pCount) == int32(SQLITE_ROW) { nActual = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27963, libc.VaList(bp+8, zTbl, nExpect, nActual)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28109, libc.VaList(bp+8, zTbl, nExpect, nActual)) } } (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -176369,7 +178036,7 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzDb = zDb (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzTab = zTab /* Find the number of auxiliary columns */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28030, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28176, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { nAux = Xsqlite3_column_count(tls, pStmt) - int32(2) Xsqlite3_finalize(tls, pStmt) @@ -176379,11 +178046,11 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe } } /* Find number of dimensions in the rtree table. */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25844, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25990, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim = (Xsqlite3_column_count(tls, pStmt) - int32(1) - nAux) / int32(2) if (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim < int32(1) { - _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28058, 0) + _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28204, 0) } else { if int32(SQLITE_ROW) == Xsqlite3_step(tls, pStmt) { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FbInt = libc.BoolInt32(Xsqlite3_column_type(tls, pStmt, int32(1)) == int32(SQLITE_INTEGER)) @@ -176399,8 +178066,8 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe if (*(*TRtreeCheck)(unsafe.Pointer(bp))).Frc == SQLITE_OK { _rtreeCheckNode(tls, bp, 0, uintptr(0), int64(1)) } - _rtreeCheckCount(tls, bp, __ccgo_ts+28089, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) - _rtreeCheckCount(tls, bp, __ccgo_ts+28096, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28235, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28242, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) } /* Finalize SQL statements used by the integrity-check */ Xsqlite3_finalize(tls, (*(*TRtreeCheck)(unsafe.Pointer(bp))).FpGetNode) @@ -176427,7 +178094,7 @@ func _rtreeIntegrity(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zName uintpt _ = isQuick rc = _rtreeCheckTable(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, pzErr) if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28104, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28250, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) if *(*uintptr)(unsafe.Pointer(pzErr)) == uintptr(0) { rc = int32(SQLITE_NOMEM) } @@ -176478,13 +178145,13 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { var _ /* zReport at bp+0 */ uintptr _, _, _, _ = rc, zDb, zTab, v1 if nArg != int32(1) && nArg != int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+28123, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+28269, -int32(1)) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zDb = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg))) if nArg == int32(1) { zTab = zDb - zDb = __ccgo_ts + 6587 + zDb = __ccgo_ts + 6651 } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -176493,7 +178160,7 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { if *(*uintptr)(unsafe.Pointer(bp)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(bp)) } else { - v1 = __ccgo_ts + 18463 + v1 = __ccgo_ts + 18550 } Xsqlite3_result_text(tls, ctx, v1, -int32(1), uintptr(-libc.Int32FromInt32(1))) } else { @@ -176960,19 +178627,19 @@ func _geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) if p != 0 { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) - Xsqlite3_str_append(tls, x, __ccgo_ts+25097, int32(1)) + Xsqlite3_str_append(tls, x, __ccgo_ts+25226, int32(1)) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28174, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28320, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28185, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28331, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -177001,20 +178668,20 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) cSep = uint8('\'') - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28196, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28342, 0) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28214, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28360, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) cSep = uint8(' ') goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28222, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28368, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) i = int32(1) for { if !(i < argc) { @@ -177022,14 +178689,14 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if z != 0 && *(*uint8)(unsafe.Pointer(z)) != 0 { - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28230, libc.VaList(bp+8, z)) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28376, libc.VaList(bp+8, z)) } goto _2 _2: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28234, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28380, 0) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -178158,13 +179825,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27287, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27433, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28247, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28393, 0) (*TRtree)(unsafe.Pointer(pRtree)).FnAux = uint8(1) /* Add one for _shape */ (*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = uint8(1) /* The _shape column is always not-null */ ii = int32(3) @@ -178173,13 +179840,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint break } (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28269, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28415, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27344, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27490, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) @@ -178187,7 +179854,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint v2 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v2 if SQLITE_OK != v2 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } Xsqlite3_free(tls, zSql) @@ -178202,7 +179869,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -178414,7 +180081,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iRowidTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(1) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16696 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16783 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).Fomit = uint8(1) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(30) @@ -178424,7 +180091,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iFuncTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28273 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28419 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).Fomit = uint8(0) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(300) @@ -178432,7 +180099,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { return SQLITE_OK } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(4) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28279 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28425 (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(3e+06) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -178552,7 +180219,7 @@ func _geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pR _geopolyBBox(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(aData + 2*8)), bp+8+8, bp) if *(*int32)(unsafe.Pointer(bp)) != 0 { if *(*int32)(unsafe.Pointer(bp)) == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28288, 0) + (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28434, 0) } goto geopoly_update_end } @@ -178655,12 +180322,12 @@ geopoly_update_end: func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) { _ = pVtab _ = nArg - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28328) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28474) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION) } - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28344) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28490) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1) @@ -178731,7 +180398,7 @@ func _sqlite3_geopoly_init(tls *libc.TLS, db uintptr) (r int32) { i++ } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28521, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28667, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -178745,61 +180412,61 @@ var _aFunc = [12]struct { 0: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28359, + FzName: __ccgo_ts + 28505, }, 1: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28372, + FzName: __ccgo_ts + 28518, }, 2: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28385, + FzName: __ccgo_ts + 28531, }, 3: { FnArg: int8(-int32(1)), FbPure: uint8(1), - FzName: __ccgo_ts + 28398, + FzName: __ccgo_ts + 28544, }, 4: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28344, + FzName: __ccgo_ts + 28490, }, 5: { FnArg: int8(3), FbPure: uint8(1), - FzName: __ccgo_ts + 28410, + FzName: __ccgo_ts + 28556, }, 6: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28328, + FzName: __ccgo_ts + 28474, }, 7: { FnArg: int8(1), - FzName: __ccgo_ts + 28433, + FzName: __ccgo_ts + 28579, }, 8: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28447, + FzName: __ccgo_ts + 28593, }, 9: { FnArg: int8(7), FbPure: uint8(1), - FzName: __ccgo_ts + 28460, + FzName: __ccgo_ts + 28606, }, 10: { FnArg: int8(4), FbPure: uint8(1), - FzName: __ccgo_ts + 28474, + FzName: __ccgo_ts + 28620, }, 11: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28490, + FzName: __ccgo_ts + 28636, }, } @@ -178825,7 +180492,7 @@ var _aAgg = [1]struct { FzName uintptr }{ 0: { - FzName: __ccgo_ts + 28502, + FzName: __ccgo_ts + 28648, }, } @@ -178850,20 +180517,20 @@ func _sqlite3RtreeInit(tls *libc.TLS, db uintptr) (r int32) { var rc, utf8 int32 _, _, _, _ = c, c1, rc, utf8 utf8 = int32(SQLITE_UTF8) - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28529, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28675, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28539, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28685, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28550, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28696, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { c = libc.UintptrFromInt32(RTREE_COORD_REAL32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28273, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28419, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { c1 = libc.UintptrFromInt32(RTREE_COORD_INT32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28561, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28707, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) } if rc == SQLITE_OK { rc = _sqlite3_geopoly_init(tls, db) @@ -178965,7 +180632,7 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { Xsqlite3_result_error_nomem(tls, ctx) _rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25830, __ccgo_fp(_rtreeMatchArgFree)) + Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25976, __ccgo_fp(_rtreeMatchArgFree)) } } } @@ -180182,7 +181849,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt /* Figure out the size of the output */ nOut = _rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+28571, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28717, -int32(1)) return } aOut = Xsqlite3_malloc(tls, nOut+int32(1)) @@ -180192,7 +181859,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt nOut2 = _rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut) if nOut2 != nOut { Xsqlite3_free(tls, aOut) - Xsqlite3_result_error(tls, context, __ccgo_ts+28571, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28717, -int32(1)) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, __ccgo_fp(Xsqlite3_free)) } @@ -180218,7 +181885,7 @@ func _prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg _ = rc rc = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -180241,7 +181908,7 @@ func _resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) (r in _ = rc rc = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -180373,7 +182040,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { /* Free any SQLite statements used while processing the previous object */ _rbuObjIterClearStatements(tls, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28592, uintptr(0), uintptr(0), p+64) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28738, uintptr(0), uintptr(0), p+64) } if rc == SQLITE_OK { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 { @@ -180383,6 +182050,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { if rc != int32(SQLITE_ROW) { rc = _resetAndCollectError(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, p+64) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = uintptr(0) + (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = uintptr(0) } else { (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, 0) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, int32(1)) @@ -180461,7 +182129,7 @@ func _rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { Xsqlite3_result_text(tls, pCtx, zIn, -int32(1), libc.UintptrFromInt32(0)) } } else { - if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25743, zIn, uint64(4)) == 0 { + if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25889, zIn, uint64(4)) == 0 { i = int32(4) for { if !(int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) <= int32('9')) { @@ -180498,13 +182166,13 @@ func _rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { _, _ = rc, v1 libc.Xmemset(tls, pIter, 0, uint64(192)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 28763 + v1 = __ccgo_ts + 28909 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28804, libc.VaList(bp+8, v1))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28950, libc.VaList(bp+8, v1))) if rc == SQLITE_OK { - rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+28954) + rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+29100) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = int32(1) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -180671,7 +182339,7 @@ func _rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { rc = Xsqlite3_finalize(tls, pStmt) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && rc != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } @@ -180732,7 +182400,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu *(*[4]uintptr)(unsafe.Pointer(bp)) = [4]uintptr{} *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29079, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29225, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0]) != int32(SQLITE_ROW) { /* Either an error, or no such table. */ goto rbuTableType_end @@ -180742,7 +182410,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0], int32(1)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29198, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29344, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { goto rbuTableType_end } @@ -180750,7 +182418,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu zOrig = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(3)) zIdx = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(1)) if zOrig != 0 && zIdx != 0 && int32(*(*Tu8)(unsafe.Pointer(zOrig))) == int32('p') { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29219, libc.VaList(bp+40, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29365, libc.VaList(bp+40, zIdx))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)]) == int32(SQLITE_ROW) { *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)], 0) @@ -180762,7 +182430,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29270, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29416, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { for Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)]) == int32(SQLITE_ROW) { if Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)], int32(5)) > 0 { @@ -180806,7 +182474,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { bIndex = 0 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.Xmemcpy(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29291, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29437, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -180819,7 +182487,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { if bPartial != 0 { libc.Xmemset(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, int32(0x01), uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29319, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29465, libc.VaList(bp+24, zIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) if iCid >= 0 { @@ -180872,7 +182540,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 _rbuTableType(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+8, pIter+108) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+19906, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+20038, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc @@ -180883,7 +182551,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 /* Populate the azTblCol[] and nTblCol variables based on the columns ** of the input table. Ignore any input table columns that begin with ** "rbu_". */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29348, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29494, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp))) _rbuAllocateIterArrays(tls, p, pIter, nCol) @@ -180894,7 +182562,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 break } zName = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), i) - if Xsqlite3_strnicmp(tls, __ccgo_ts+29367, zName, int32(4)) != 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+29513, zName, int32(4)) != 0 { zCopy = _rbuStrndup(tls, zName, p+56) *(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol v3 = pIter + 16 @@ -180902,7 +182570,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 *(*int32)(unsafe.Pointer(v3))++ *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(v2)*8)) = zCopy } else { - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29372, zName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29518, zName) { bRbuRowid = int32(1) } } @@ -180916,17 +182584,17 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && bRbuRowid != libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) if bRbuRowid != 0 { - v4 = __ccgo_ts + 29382 + v4 = __ccgo_ts + 29528 } else { - v4 = __ccgo_ts + 29395 + v4 = __ccgo_ts + 29541 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29404, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29550, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) } /* Check that all non-HIDDEN columns in the destination table are also ** present in the input table. Populate the abTblPk[], azTblType[] and ** aiTblOrder[] arrays at the same time. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29433, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29579, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zName1 = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -180948,7 +182616,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 } if i == (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29455, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29601, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) } else { iPk = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) bNotNull = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) @@ -180987,15 +182655,15 @@ func _rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) var z, zList, zSep uintptr _, _, _, _ = i, z, zList, zSep zList = uintptr(0) - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } z = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+29482, libc.VaList(bp+8, zList, zSep, z)) - zSep = __ccgo_ts + 14992 + zList = _rbuMPrintf(tls, p, __ccgo_ts+29628, libc.VaList(bp+8, zList, zSep, z)) + zSep = __ccgo_ts + 15085 goto _1 _1: ; @@ -181020,7 +182688,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, _, _, _, _, _ = i, iPk, zCol, zRet, zSep iPk = int32(1) zRet = uintptr(0) - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 for int32(1) != 0 { i = 0 for { @@ -181029,7 +182697,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, } if int32(*(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29491, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29637, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -181077,21 +182745,21 @@ func _rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zRet = uintptr(0) if bRowid != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29504, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29650, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iMax = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29536, libc.VaList(bp+16, iMax)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29682, libc.VaList(bp+16, iMax)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1650, __ccgo_ts+14992, __ccgo_ts+29559) - zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29565, __ccgo_ts+29572, __ccgo_ts+5108) - zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1650, __ccgo_ts+14992, __ccgo_ts+1650) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1664, __ccgo_ts+15085, __ccgo_ts+29705) + zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29711, __ccgo_ts+29718, __ccgo_ts+5172) + zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1664, __ccgo_ts+15085, __ccgo_ts+1664) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29580, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29726, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zVal = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29622, libc.VaList(bp+16, zList, zVal)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29768, libc.VaList(bp+16, zList, zVal)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } @@ -181140,10 +182808,10 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 iCol = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29319, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29465, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(4)) @@ -181165,15 +182833,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { - zCol = __ccgo_ts + 29642 + zCol = __ccgo_ts + 29788 } } else { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) } - zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29650, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29671, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29707, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) - zSep = __ccgo_ts + 14992 + zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29796, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29817, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) + zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29853, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) + zSep = __ccgo_ts + 15085 iCol++ } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) @@ -181182,9 +182850,9 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29734, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29880, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 iCol = 0 for { if !(iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -181199,15 +182867,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { break } } - zVector = _rbuMPrintf(tls, p, __ccgo_ts+29782, libc.VaList(bp+24, zVector, zSep, zQuoted)) - zSep = __ccgo_ts + 14992 + zVector = _rbuMPrintf(tls, p, __ccgo_ts+29928, libc.VaList(bp+24, zVector, zSep, zQuoted)) + zSep = __ccgo_ts + 15085 goto _2 _2: ; iCol++ } if !(bFailed != 0) { - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29789, libc.VaList(bp+24, zLhs, zVector)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29935, libc.VaList(bp+24, zLhs, zVector)) } } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -181261,11 +182929,11 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zImpPK = uintptr(0) /* String to return via *pzImposterPK */ zWhere = uintptr(0) /* String to return via *pzWhere */ nBind = 0 /* Value to return via *pnBind */ - zCom = __ccgo_ts + 1650 /* Set to ", " later on */ - zAnd = __ccgo_ts + 1650 /* Set to " AND " later on */ + zCom = __ccgo_ts + 1664 /* Set to ", " later on */ + zAnd = __ccgo_ts + 1664 /* Set to " AND " later on */ *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_xinfo = ? */ if rc == SQLITE_OK { - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29319, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29465, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -181274,8 +182942,8 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = uintptr(0) if iCid == -int32(2) { iSeq = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29801, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) - zType = __ccgo_ts + 1650 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29947, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) + zType = __ccgo_ts + 1664 } else { if iCid < 0 { /* An integer primary key. If the table has an explicit IPK, use @@ -181294,9 +182962,9 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - zCol = __ccgo_ts + 29642 + zCol = __ccgo_ts + 29788 } else { - zCol = __ccgo_ts + 29372 + zCol = __ccgo_ts + 29518 } } zType = __ccgo_ts + 1138 @@ -181304,24 +182972,24 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) zType = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)) } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29823, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29969, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) } if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) != 0 { if bDesc != 0 { - v2 = __ccgo_ts + 29559 + v2 = __ccgo_ts + 29705 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } zOrder = v2 - zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29843, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) + zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29989, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+29864, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) - zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+29897, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) + zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+30010, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) + zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+30043, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) { rc = int32(SQLITE_NOMEM) } - zCom = __ccgo_ts + 14992 - zAnd = __ccgo_ts + 22015 + zCom = __ccgo_ts + 15085 + zAnd = __ccgo_ts + 22160 nBind++ } rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -181367,7 +183035,7 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr _, _, _, _ = i, zCol, zList, zS zList = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zS = __ccgo_ts + 1650 + zS = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -181375,11 +183043,11 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29921, libc.VaList(bp+8, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30067, libc.VaList(bp+8, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29933, libc.VaList(bp+8, zList, zS)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30079, libc.VaList(bp+8, zList, zS)) } - zS = __ccgo_ts + 14992 + zS = __ccgo_ts + 15085 if zList == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) break @@ -181391,7 +183059,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 (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29942, libc.VaList(bp+8, zList, zObj)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30088, libc.VaList(bp+8, zList, zObj)) } } return zList @@ -181417,27 +183085,27 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _ = i, i1, zCol, zList, zSep, zSep1 zList = uintptr(0) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29957, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30103, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29971, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) - zSep = __ccgo_ts + 22015 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30117, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) + zSep = __ccgo_ts + 22160 } goto _1 _1: ; i++ } - zList = _rbuMPrintf(tls, p, __ccgo_ts+29983, libc.VaList(bp+8, zList)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30129, libc.VaList(bp+8, zList)) } else { - zSep1 = __ccgo_ts + 1650 + zSep1 = __ccgo_ts + 1664 i1 = 0 for { if !(i1 < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -181445,8 +183113,8 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i1))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i1)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+30033, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) - zSep1 = __ccgo_ts + 22015 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30179, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) + zSep1 = __ccgo_ts + 22160 } goto _2 _2: @@ -181469,7 +183137,7 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { // */ func _rbuBadControlError(tls *libc.TLS, p uintptr) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30046, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30192, 0) } // C documentation @@ -181503,7 +183171,7 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt if int32(libc.Xstrlen(tls, zMask)) != (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { _rbuBadControlError(tls, p) } else { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -181511,16 +183179,16 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt } c = *(*uint8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) if int32(c) == int32('x') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30033, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14992 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30179, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15085 } else { if int32(c) == int32('d') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30072, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14992 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30218, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15085 } else { if int32(c) == int32('f') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30102, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14992 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30248, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15085 } } } @@ -181604,16 +183272,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _, _ = z, zCol, zDesc, zIdx, zOrig, zSep, v1 z = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zSep = __ccgo_ts + 30139 + zSep = __ccgo_ts + 30285 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_list = (pIter->zTbl) */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA index_xinfo = */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29291, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29437, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) - if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16584) == 0 { + if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16671) == 0 { zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29319, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29465, libc.VaList(bp+24, zIdx))) } break } @@ -181624,16 +183292,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { /* int iCid = sqlite3_column_int(pXInfo, 0); */ zCol = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(2)) if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) != 0 { - v1 = __ccgo_ts + 29559 + v1 = __ccgo_ts + 29705 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } zDesc = v1 - z = _rbuMPrintf(tls, p, __ccgo_ts+30152, libc.VaList(bp+24, z, zSep, zCol, zDesc)) - zSep = __ccgo_ts + 14992 + z = _rbuMPrintf(tls, p, __ccgo_ts+30298, libc.VaList(bp+24, z, zSep, zCol, zDesc)) + zSep = __ccgo_ts + 15085 } } - z = _rbuMPrintf(tls, p, __ccgo_ts+30163, libc.VaList(bp+24, z)) + z = _rbuMPrintf(tls, p, __ccgo_ts+30309, libc.VaList(bp+24, z)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) } return z @@ -181673,13 +183341,13 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* SELECT name ... WHERE rootpage = $tnum */ zIdx = uintptr(0) /* Name of PK index */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA main.index_xinfo = $zIdx */ - zComma = __ccgo_ts + 1650 + zComma = __ccgo_ts + 1664 zCols = uintptr(0) /* Used to build up list of table cols */ zPk = uintptr(0) /* Used to build up table PK declaration */ /* 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. */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30167) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30313) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), tnum) if int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -181687,7 +183355,7 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { } } if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29319, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29465, libc.VaList(bp+24, zIdx))) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { @@ -181696,21 +183364,21 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) bDesc = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(4)) - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30217, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30363, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) if bDesc != 0 { - v1 = __ccgo_ts + 29559 + v1 = __ccgo_ts + 29705 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - zPk = _rbuMPrintf(tls, p, __ccgo_ts+30239, libc.VaList(bp+24, zPk, zComma, iCid, v1)) - zComma = __ccgo_ts + 14992 + zPk = _rbuMPrintf(tls, p, __ccgo_ts+30385, libc.VaList(bp+24, zPk, zComma, iCid, v1)) + zComma = __ccgo_ts + 15085 } } - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30249, libc.VaList(bp+24, zCols)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30395, libc.VaList(bp+24, zCols)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30264, libc.VaList(bp+24, zCols, zPk)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30410, libc.VaList(bp+24, zCols, zPk)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, 0, 0)) } } @@ -181745,30 +183413,30 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { _, _, _, _, _, _, _, _, _ = iCol, tnum, zCol, zComma, zPk, zPk1, zSql, v2, v3 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { tnum = (*TRbuObjIter)(unsafe.Pointer(pIter)).FiTnum - zComma = __ccgo_ts + 1650 + zComma = __ccgo_ts + 1664 zSql = uintptr(0) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, 0, int32(1))) iCol = 0 for { if !((*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } - zPk = __ccgo_ts + 1650 + zPk = __ccgo_ts + 1664 zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_IPK) && *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 { /* If the target table column is an "INTEGER PRIMARY KEY", add ** "PRIMARY KEY" to the imposter table column declaration. */ - zPk = __ccgo_ts + 30326 + zPk = __ccgo_ts + 30472 } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - v2 = __ccgo_ts + 30339 + v2 = __ccgo_ts + 30485 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30349, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) - zComma = __ccgo_ts + 14992 + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30495, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) + zComma = __ccgo_ts + 15085 goto _1 _1: ; @@ -181777,17 +183445,17 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { zPk1 = _rbuWithoutRowidPK(tls, p, pIter) if zPk1 != 0 { - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30376, libc.VaList(bp+16, zSql, zPk1)) + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30522, libc.VaList(bp+16, zSql, zPk1)) } } - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, int32(1), tnum)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, int32(1), tnum)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { - v3 = __ccgo_ts + 30383 + v3 = __ccgo_ts + 30529 } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30398, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, 0, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30544, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, 0, 0)) } } @@ -181813,7 +183481,7 @@ func _rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zColli bRbuRowid = libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) zBind = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1)+bRbuRowid) if zBind != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30430, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30576, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -181859,7 +183527,7 @@ func _rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintpt *(*int32)(unsafe.Pointer(bp + 8)) = (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc zRet = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30487) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30633) } if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx, -int32(1), libc.UintptrFromInt32(0)) @@ -182028,7 +183696,7 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zIdx = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx zLimit = uintptr(0) if nOffset != 0 { - zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30553, libc.VaList(bp+40, nOffset)) + zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30699, libc.VaList(bp+40, nOffset)) if !(zLimit != 0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) } @@ -182045,18 +183713,18 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zCollist = _rbuObjIterGetIndexCols(tls, p, pIter, bp, bp+8, bp+16, bp+24) zBind = _rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 24))) /* Create the imposter table used to write to this index. */ - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, 0, int32(1))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30573, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30719, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, 0, 0)) /* Create the statement to insert index entries */ (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 24)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30638, libc.VaList(bp+40, zTbl, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30784, libc.VaList(bp+40, zTbl, zBind))) } /* And to delete index entries */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30674, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30820, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) } /* Create the SELECT statement to read keys in sorted order */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -182071,26 +183739,26 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } if zStart != 0 { if zPart != 0 { - v2 = __ccgo_ts + 30708 + v2 = __ccgo_ts + 30854 } else { - v2 = __ccgo_ts + 30712 + v2 = __ccgo_ts + 30858 } v1 = v2 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30718, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30864, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) Xsqlite3_free(tls, zStart) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30779, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30925, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { if zPart != 0 { - v3 = __ccgo_ts + 30708 + v3 = __ccgo_ts + 30854 } else { - v3 = __ccgo_ts + 30712 + v3 = __ccgo_ts + 30858 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30840, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30986, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -182109,62 +183777,62 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zTbl1 = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl /* Imposter table name */ zBindings = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+bRbuRowid) zWhere1 = _rbuObjIterGetWhere(tls, p, pIter) - zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6598) - zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6594) + zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6662) + zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6658) zCollist = _rbuObjIterGetCollist(tls, p, pIter) (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol /* Create the imposter table or tables (if required). */ _rbuCreateImposterTable(tls, p, pIter) _rbuCreateImposterTable2(tls, p, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) { - v4 = __ccgo_ts + 1650 + v4 = __ccgo_ts + 1664 } else { - v4 = __ccgo_ts + 30999 + v4 = __ccgo_ts + 31145 } zWrite = v4 /* Create the INSERT statement to write to the target PK b-tree */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if bRbuRowid != 0 { - v5 = __ccgo_ts + 31008 + v5 = __ccgo_ts + 31154 } else { - v5 = __ccgo_ts + 1650 + v5 = __ccgo_ts + 1664 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31018, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31164, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) } /* Create the DELETE statement to write to the target PK b-tree. ** Because it only performs INSERT operations, this is not required for ** an rbu vacuum handle. */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31054, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31200, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) } if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zRbuRowid = __ccgo_ts + 1650 + zRbuRowid = __ccgo_ts + 1664 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zRbuRowid = __ccgo_ts + 31082 + zRbuRowid = __ccgo_ts + 31228 } /* Create the rbu_tmp_xxx table and the triggers to populate it. */ if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - v6 = __ccgo_ts + 31094 + v6 = __ccgo_ts + 31240 } else { - v6 = __ccgo_ts + 1650 + v6 = __ccgo_ts + 1664 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31111, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31187, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31257, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31333, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31486, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31632, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) } _rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) } /* Create the SELECT statement to read keys from data_xxx */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zRbuRowid1 = __ccgo_ts + 1650 + zRbuRowid1 = __ccgo_ts + 1664 zStart1 = uintptr(0) zOrder = uintptr(0) if bRbuRowid != 0 { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v7 = __ccgo_ts + 31585 + v7 = __ccgo_ts + 31731 } else { - v7 = __ccgo_ts + 31595 + v7 = __ccgo_ts + 31741 } zRbuRowid1 = v7 } @@ -182177,28 +183845,28 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } } if bRbuRowid != 0 { - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29642, 0) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29788, 0) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1650, __ccgo_ts+14992, __ccgo_ts+1650) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1664, __ccgo_ts+15085, __ccgo_ts+1664) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v8 = __ccgo_ts + 31606 + v8 = __ccgo_ts + 31752 } else { - v8 = __ccgo_ts + 1650 + v8 = __ccgo_ts + 1664 } if zStart1 != 0 { v9 = zStart1 } else { - v9 = __ccgo_ts + 1650 + v9 = __ccgo_ts + 1664 } if zOrder != 0 { - v10 = __ccgo_ts + 23209 + v10 = __ccgo_ts + 23354 } else { - v10 = __ccgo_ts + 1650 + v10 = __ccgo_ts + 1664 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31612, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31758, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) } Xsqlite3_free(tls, zStart1) Xsqlite3_free(tls, zOrder) @@ -182284,11 +183952,11 @@ func _rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, p (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpNext = (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - zPrefix = __ccgo_ts + 1650 + zPrefix = __ccgo_ts + 1664 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { - zPrefix = __ccgo_ts + 30999 + zPrefix = __ccgo_ts + 31145 } - zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31660, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) + zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31806, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate) *(*uintptr)(unsafe.Pointer(ppStmt)) = (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpUpdate } @@ -182315,7 +183983,7 @@ func _rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) (r } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp, flags, v1) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp))) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) } @@ -182362,7 +184030,7 @@ func _rbuLoadState(tls *libc.TLS, p uintptr) (r uintptr) { if pRet == uintptr(0) { return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31690, libc.VaList(bp+24, p+48))) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31836, libc.VaList(bp+24, p+48))) for *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) { case int32(RBU_STATE_STAGE): @@ -182421,27 +184089,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu = _rbuOpenDbhandle(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, int32(1)) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain = dbMain if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6587, int32(SQLITE_FCNTL_RBUCNT), p) + Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6651, int32(SQLITE_FCNTL_RBUCNT), p) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) { - zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6587) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31720, libc.VaList(bp+8, zFile, zFile)) + zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6651) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31866, libc.VaList(bp+8, zFile, zFile)) } } /* If using separate RBU and state databases, attach the state database to ** the RBU db handle now. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31748, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48, __ccgo_ts+3420, uint64(4)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31894, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+3484, uint64(4)) } else { - libc.Xmemcpy(tls, p+48, __ccgo_ts+6587, uint64(4)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+6651, uint64(4)) } /* If it has not already been created, create the rbu_state table */ - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31766, libc.VaList(bp+8, p+48)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31912, libc.VaList(bp+8, p+48)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { bOpen = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6587, int32(SQLITE_FCNTL_RBUCNT), p) + rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6651, int32(SQLITE_FCNTL_RBUCNT), p) if rc != int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -182474,10 +184142,10 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) return } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31832, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31978, 0) } else { zExtra = uintptr(0) - if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24598, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { + if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24721, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { zExtra = (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5 for *(*uint8)(unsafe.Pointer(zExtra)) != 0 { v1 = zExtra @@ -182491,16 +184159,16 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if zExtra == uintptr(0) { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } else { - v2 = __ccgo_ts + 31864 + v2 = __ccgo_ts + 32010 } if zExtra == uintptr(0) { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } else { v3 = zExtra } - zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+31866, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6587), v2, v3)) + zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+32012, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6651), v2, v3)) if zTarget == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) return @@ -182511,27 +184179,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31898, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32044, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31913, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32059, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31930, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32076, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, int32(SQLITE_FCNTL_RBU), p) } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31946, 0) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32092, 0) /* Mark the database file just opened as an RBU target database. If ** this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. ** This is an error. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6587, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6651, int32(SQLITE_FCNTL_RBU), p) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31974, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32120, 0) } } @@ -182581,7 +184249,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) { pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = int64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))<= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+32974, zState+uintptr(n-int32(7)), uint64(7)) { + if n >= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33120, zState+uintptr(n-int32(7)), uint64(7)) { return _rbuMisuseError(tls) } } @@ -183801,7 +185469,7 @@ func _rbuEditErrmsg(tls *libc.TLS, p uintptr) { if !(uint64(i) < nErrmsg-uint64(8)) { break } - if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+30999, uint64(8)) == 0 { + if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31145, uint64(8)) == 0 { nDel = int32(8) for int32(*(*uint8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= int32('9') { nDel++ @@ -183829,7 +185497,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { if p != 0 { /* Commit the transaction to the *-oal file. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14896, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14989, uintptr(0), uintptr(0), p+64) } /* Sync the db file if currently doing an incremental checkpoint */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) { @@ -183838,7 +185506,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { } _rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14896, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14989, uintptr(0), uintptr(0), p+64) } /* Close any open statement handles. */ _rbuObjIterFinalize(tls, p+80) @@ -183848,7 +185516,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { ** specifying the current target and state databases to start a new ** vacuum from scratch. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 { - rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32982, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33128, uintptr(0), uintptr(0), uintptr(0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_DONE) && rc2 != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -183949,7 +185617,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14896, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14989, uintptr(0), uintptr(0), uintptr(0)) } } /* Sync the db file */ @@ -183962,19 +185630,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { rc = (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14896, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14989, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 14881 + v1 = __ccgo_ts + 14974 } else { - v1 = __ccgo_ts + 32934 + v1 = __ccgo_ts + 33080 } zBegin = v1 rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32934, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33080, uintptr(0), uintptr(0), uintptr(0)) } } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -184540,7 +186208,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xControl})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, int32(SQLITE_FCNTL_ZIPVFS), bp) if rc == SQLITE_OK { rc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33009, 0) + (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33155, 0) } else { if rc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p @@ -184566,7 +186234,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r if rc == SQLITE_OK && op == int32(SQLITE_FCNTL_VFSNAME) { pRbuVfs = (*Trbu_file)(unsafe.Pointer(p)).FpRbuVfs zIn = *(*uintptr)(unsafe.Pointer(pArg)) - zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33032, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33178, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -184761,7 +186429,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag if pDb != 0 { if (*Trbu_file)(unsafe.Pointer(pDb)).FpRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FeStage == int32(RBU_STAGE_OAL) { if (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6587) + zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6651) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -184775,7 +186443,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag } else { (*Trbu_file)(unsafe.Pointer(pFd)).FpRbu = (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRbu } - if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33043, 0) != 0 { + if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33189, 0) != 0 { oflags = libc.Int32FromInt32(SQLITE_OPEN_TEMP_DB) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_EXCLUSIVE) | libc.Int32FromInt32(SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) } @@ -185328,7 +186996,7 @@ func _statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint _sqlite3TokenInit(tls, bp, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = _sqlite3FindDb(tls, db, bp) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12193, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12318, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return int32(SQLITE_ERROR) } } else { @@ -185827,7 +187495,7 @@ statNextRestart: (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiPgno = iRoot (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33054, 0) + v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33200, 0) z = v1 (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FzPath = v1 if z == uintptr(0) { @@ -185865,8 +187533,8 @@ statNextRestart: if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { (*TStatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*TStatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*TStatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*Tu32)(unsafe.Pointer((*TStatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33056 - v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33065, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33202 + v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33211, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) z = v2 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v2 if z == uintptr(0) { @@ -185895,7 +187563,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage++ if (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage >= int32(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) { _statResetCsr(tls, pCsr) - return _sqlite3CorruptError(tls, int32(222551)) + return _sqlite3CorruptError(tls, int32(224206)) } if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell { (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiPgno = (*TStatPage)(unsafe.Pointer(p)).FiRightChildPg @@ -185906,7 +187574,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnPage++ (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33077, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) + v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33223, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) z = v4 (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FzPath = v4 if z == uintptr(0) { @@ -185929,13 +187597,13 @@ statNextRestart: case int32(0x05): /* table internal */ fallthrough case int32(0x02): /* index internal */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33085 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33231 case int32(0x0D): /* table leaf */ fallthrough case int32(0x0A): /* index leaf */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33094 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33240 default: - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33099 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33245 break } *(*int32)(unsafe.Pointer(pCsr + 2108)) += (*TStatPage)(unsafe.Pointer(p1)).FnCell @@ -185944,7 +187612,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnMxPayload = (*TStatPage)(unsafe.Pointer(p1)).FnMxPayload } if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) + v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) z = v5 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v5 if z == uintptr(0) { @@ -186033,12 +187701,12 @@ func _statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, a (*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg = uint8(0) } pSql = Xsqlite3_str_new(tls, (*TStatTable)(unsafe.Pointer(pTab)).Fdb) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33109, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33255, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33264, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33410, libc.VaList(bp+8, zName)) } if idxNum&int32(0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33278, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33424, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -186115,7 +187783,7 @@ func _statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) (r int32) { // ** Invoke this routine to register the "dbstat" virtual table module // */ func _sqlite3DbstatRegister(tls *libc.TLS, db uintptr) (r int32) { - return Xsqlite3_create_module(tls, db, __ccgo_ts+33293, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, __ccgo_ts+33439, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) } var _dbstat_module = Tsqlite3_module{} @@ -187386,20 +189054,20 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, *(*uintptr)(unsafe.Pointer(pazDflt)) = uintptr(0) } nThis = _sqlite3Strlen30(tls, zThis) - if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11584, zThis) { + if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11709, zThis) { rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { /* For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. */ - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33300, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33446, 0) } else { if rc == int32(SQLITE_ERROR) { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1650, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1664, 0) } else { return rc } } } else { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33421, libc.VaList(bp+16, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33567, libc.VaList(bp+16, zDb, zThis)) } if !(zPragma != 0) { return int32(SQLITE_NOMEM) @@ -187423,7 +189091,7 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, bRowid = 0 } nDbCol += bRowid - nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+29642)) + nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+29788)) rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == SQLITE_OK { nByte = Tsqlite3_int64(uint64(nByte) + uint64(nDbCol)*(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(2)+libc.Uint64FromInt64(1)+libc.Uint64FromInt32(1)+libc.Uint64FromInt32(1))) @@ -187447,8 +189115,8 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 if bRowid != 0 { - nName = libc.Xstrlen(tls, __ccgo_ts+29642) - libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29642, nName+uint64(1)) + nName = libc.Xstrlen(tls, __ccgo_ts+29788) + libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29788, nName+uint64(1)) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc pAlloc += uintptr(nName + uint64(1)) *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) = uint8(1) @@ -187540,7 +189208,7 @@ func _sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr, db uintptr ; i++ } - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11584, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11709, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { (*TSessionTable)(unsafe.Pointer(pTab)).FbStat1 = int32(1) } if pSession != 0 && (*Tsqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { @@ -187829,10 +189497,10 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin _, _, _, _ = ii, zDflt, zSep, v2 *(*TSessionBuffer)(unsafe.Pointer(bp)) = TSessionBuffer{} *(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK - zSep = __ccgo_ts + 11204 + zSep = __ccgo_ts + 11329 ii = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33450, 0) + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33596, 0) ii = 0 for { if !(ii < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol) { @@ -187841,11 +189509,11 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin if *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) != 0 { v2 = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) } else { - v2 = __ccgo_ts + 1651 + v2 = __ccgo_ts + 1665 } zDflt = v2 - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5078, libc.VaList(bp+32, zSep, zDflt)) - zSep = __ccgo_ts + 14992 + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5142, libc.VaList(bp+32, zSep, zDflt)) + zSep = __ccgo_ts + 15085 goto _1 _1: ; @@ -188163,7 +189831,7 @@ func _sessionPreupdateOneChange(tls *libc.TLS, op int32, iRowid Ti64, pSession u rc = int32(SQLITE_NOMEM) goto error_out } - _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1650, uint8(0), libc.UintptrFromInt32(0)) + _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1664, uint8(0), libc.UintptrFromInt32(0)) (*Tsqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p } } @@ -188484,7 +190152,7 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr var i int32 var zRet, zSep uintptr _, _, _ = i, zRet, zSep - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 zRet = uintptr(0) i = 0 for { @@ -188492,8 +190160,8 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr break } if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33457, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 22015 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33603, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 22160 if zRet == uintptr(0) { break } @@ -188512,7 +190180,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint var bHave, i int32 var zRet, zSep uintptr _, _, _, _ = bHave, i, zRet, zSep - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 zRet = uintptr(0) bHave = 0 i = 0 @@ -188522,8 +190190,8 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if int32(*(*Tu8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = int32(1) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33491, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 33532 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33637, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 33678 if zRet == uintptr(0) { break } @@ -188534,7 +190202,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint i++ } if bHave == 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1724, 0) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1784, 0) } return zRet } @@ -188545,12 +190213,12 @@ func _sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, bRowid int var zRet, zSel, v1 uintptr _, _, _ = zRet, zSel, v1 if bRowid != 0 { - v1 = __ccgo_ts + 33537 + v1 = __ccgo_ts + 33683 } else { - v1 = __ccgo_ts + 6592 + v1 = __ccgo_ts + 6656 } zSel = v1 - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33548, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33694, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -188611,11 +190279,11 @@ func _sessionAllCols(tls *libc.TLS, zDb uintptr, pTab uintptr) (r uintptr) { break } if zRet != 0 { - v2 = __ccgo_ts + 14992 + v2 = __ccgo_ts + 15085 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33627, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33773, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) if !(zRet != 0) { break } @@ -188643,7 +190311,7 @@ func _sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFr } else { z1 = _sessionAllCols(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, pTab) z2 = _sessionAllCols(tls, zFrom, pTab) - zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33646, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) + zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33792, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) if zStmt == uintptr(0) || z1 == uintptr(0) || z2 == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -188743,7 +190411,7 @@ func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl u Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if bMismatch != 0 { if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33703, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33849, 0) } rc = int32(SQLITE_SCHEMA) } @@ -189075,7 +190743,7 @@ func _sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* aBuf at bp+0 */ [24]uint8 - Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5140, libc.VaList(bp+32, iVal)) + Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5204, libc.VaList(bp+32, iVal)) _sessionAppendStr(tls, p, bp, pRc) } @@ -189366,23 +191034,23 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt _, _, _, _, _, _, _ = i, nSql, zCols, zSep, zSql, v1, v3 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK zSql = uintptr(0) - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 if bRowid != 0 { - v1 = __ccgo_ts + 33537 + v1 = __ccgo_ts + 33683 } else { - v1 = __ccgo_ts + 6592 + v1 = __ccgo_ts + 6656 } zCols = v1 nSql = -int32(1) *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 24)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 40)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+33730, bp) - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11584, zTab) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+33734, bp) - _sessionAppendStr(tls, bp+24, __ccgo_ts+33758, bp) - _sessionAppendStr(tls, bp+40, __ccgo_ts+33767, bp) - zCols = __ccgo_ts + 33812 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33876, bp) + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11709, zTab) { + _sessionAppendStr(tls, bp+8, __ccgo_ts+33880, bp) + _sessionAppendStr(tls, bp+24, __ccgo_ts+33904, bp) + _sessionAppendStr(tls, bp+40, __ccgo_ts+33913, bp) + zCols = __ccgo_ts + 33958 } else { i = 0 for { @@ -189392,11 +191060,11 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { _sessionAppendStr(tls, bp+24, zSep, bp) _sessionAppendStr(tls, bp+40, zSep, bp) - zSep = __ccgo_ts + 14992 + zSep = __ccgo_ts + 15085 _sessionAppendIdent(tls, bp+24, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp) - _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33826, libc.VaList(bp+64, i+int32(1))) + _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33972, libc.VaList(bp+64, i+int32(1))) } else { - _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33830, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33976, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) } goto _2 _2: @@ -189408,9 +191076,9 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if bIgnoreNoop != 0 { v3 = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+33857, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+34003, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) if zSql == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } @@ -189551,7 +191219,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+33899, uintptr(0), uintptr(0), uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+34045, uintptr(0), uintptr(0), uintptr(0)) if *(*int32)(unsafe.Pointer(bp + 16)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -189657,7 +191325,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, } } Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf) - Xsqlite3_exec(tls, db, __ccgo_ts+33919, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34065, uintptr(0), uintptr(0), uintptr(0)) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -190074,7 +191742,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, int32(9)) if rc == SQLITE_OK { if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData { - rc = _sqlite3CorruptError(tls, int32(226700)) + rc = _sqlite3CorruptError(tls, int32(228355)) } else { v3 = pIn + 8 v2 = *(*int32)(unsafe.Pointer(v3)) @@ -190098,7 +191766,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = _sqlite3CorruptError(tls, int32(226720)) + rc = _sqlite3CorruptError(tls, int32(228375)) } else { if eType == int32(SQLITE_TEXT) { v4 = int32(SQLITE_UTF8) @@ -190113,7 +191781,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap } if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) { if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) { - rc = _sqlite3CorruptError(tls, int32(226730)) + rc = _sqlite3CorruptError(tls, int32(228385)) } else { *(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal) if eType == int32(SQLITE_INTEGER) { @@ -190169,7 +191837,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) ( ** large value for nCol may cause nRead to wrap around and become ** negative. Leading to a crash. */ if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) { - rc = _sqlite3CorruptError(tls, int32(226778)) + rc = _sqlite3CorruptError(tls, int32(228433)) } else { rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100)) nRead += *(*int32)(unsafe.Pointer(bp)) @@ -190274,7 +191942,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) { (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 _sessionBufferGrow(tls, p+72, int64(nByte), bp) } else { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(226866)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(228521)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -190345,12 +192013,12 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { return (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc } + _sessionDiscardData(tls, p) + (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext /* If the iterator is already at the end of the changeset, return DONE. */ if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { return int32(SQLITE_DONE) } - _sessionDiscardData(tls, p) - (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext v3 = p + 8 v2 = *(*int32)(unsafe.Pointer(v3)) *(*int32)(unsafe.Pointer(v3))++ @@ -190380,7 +192048,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { /* The first record in the changeset is not a table header. Must be a ** corrupt changeset. */ - v7 = _sqlite3CorruptError(tls, int32(226952)) + v7 = _sqlite3CorruptError(tls, int32(228607)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7 return v7 } @@ -190390,7 +192058,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin *(*int32)(unsafe.Pointer(v9))++ (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8)))) if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) { - v10 = _sqlite3CorruptError(tls, int32(226958)) + v10 = _sqlite3CorruptError(tls, int32(228613)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10 return v10 } @@ -190469,7 +192137,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if *(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - v16 = _sqlite3CorruptError(tls, int32(227002)) + v16 = _sqlite3CorruptError(tls, int32(228657)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16 return v16 } @@ -190879,7 +192547,7 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu goto finished_invert } default: - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(227367)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(229022)) goto finished_invert } if xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size { @@ -191082,18 +192750,18 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 } if pUp == uintptr(0) { nByte = int32(uint64(24) * uint64(nU32) * uint64(4)) - bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11584) == 0) + bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11709) == 0) pUp = Xsqlite3_malloc(tls, nByte) if pUp == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } else { - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 libc.Xmemset(tls, bp+8, 0, uint64(16)) (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24 libc.Xmemcpy(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*TSessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(4)) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33937, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34083, bp) _sessionAppendIdent(tls, bp+8, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33950, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34096, bp) /* Create the assignments part of the UPDATE */ ii = 0 for { @@ -191103,9 +192771,9 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if int32(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33956, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34102, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(1), bp) - zSep = __ccgo_ts + 14992 + zSep = __ccgo_ts + 15085 } goto _2 _2: @@ -191113,8 +192781,8 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 ii++ } /* Create the WHERE clause part of the UPDATE */ - zSep = __ccgo_ts + 1650 - _sessionAppendStr(tls, bp+8, __ccgo_ts+33961, bp) + zSep = __ccgo_ts + 1664 + _sessionAppendStr(tls, bp+8, __ccgo_ts+34107, bp) ii = 0 for { if !(ii < (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { @@ -191123,13 +192791,13 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if *(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) if bStat1 != 0 && ii == int32(1) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+33969, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34115, bp) } else { _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34044, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34190, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(2), bp) } - zSep = __ccgo_ts + 22015 + zSep = __ccgo_ts + 22160 } goto _3 _3: @@ -191212,13 +192880,13 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in var _ /* buf at bp+8 */ TSessionBuffer var _ /* rc at bp+0 */ int32 _, _, _ = i, nPk, zSep - zSep = __ccgo_ts + 1650 + zSep = __ccgo_ts + 1664 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} nPk = 0 - _sessionAppendStr(tls, bp+8, __ccgo_ts+34050, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34196, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33961, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34107, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -191228,9 +192896,9 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in nPk++ _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33956, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34102, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 22015 + zSep = __ccgo_ts + 22160 } goto _1 _1: @@ -191238,10 +192906,10 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in i++ } if nPk < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol { - _sessionAppendStr(tls, bp+8, __ccgo_ts+34068, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34214, bp) _sessionAppendInteger(tls, bp+8, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol+int32(1), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33532, bp) - zSep = __ccgo_ts + 1650 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33678, bp) + zSep = __ccgo_ts + 1664 i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -191250,16 +192918,16 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in if !(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34044, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34190, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 34076 + zSep = __ccgo_ts + 34222 } goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5108, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5172, bp) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+8, uintptr(0)) @@ -191285,7 +192953,7 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in // */ func _sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r int32) { /* TODO */ - return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6587, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) + return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6651, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } // C documentation @@ -191308,16 +192976,16 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+34081, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34227, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+22021, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+22166, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } if i != 0 { - _sessionAppendStr(tls, bp+8, __ccgo_ts+14992, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+15085, bp) } _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) goto _1 @@ -191325,19 +192993,19 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34099, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34245, bp) i = int32(1) for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34110, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34256, bp) goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5108, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5172, bp) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+16, uintptr(0)) } @@ -191360,12 +193028,12 @@ func _sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) (r int func _sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) (r int32) { var rc int32 _ = rc - rc = _sessionSelectRow(tls, db, __ccgo_ts+11584, p) + rc = _sessionSelectRow(tls, db, __ccgo_ts+11709, p) if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34114) + rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34260) } if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34227) + rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34373) } return rc } @@ -191431,7 +193099,7 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { /* The value in the changeset was "undefined". This indicates a ** corrupt changeset blob. */ - rc = _sqlite3CorruptError(tls, int32(227849)) + rc = _sqlite3CorruptError(tls, int32(229504)) } else { rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp))) } @@ -191847,7 +193515,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } else { if *(*int32)(unsafe.Pointer(bp)) != 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34371, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34517, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = _sessionBindRow(tls, pIter, __ccgo_fp(Xsqlite3changeset_new), (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) Xsqlite3_bind_int(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol+int32(1), int32(1)) @@ -191860,7 +193528,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34392, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34538, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -191954,10 +193622,10 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbIgnoreNoop = libc.BoolUint8(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_IGNORENOOP) != 0)) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34411, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34557, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34437, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34583, uintptr(0), uintptr(0), uintptr(0)) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) { Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0)) @@ -191988,7 +193656,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui ** non-zero, proceed. */ schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144)))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) + *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { rc = int32(SQLITE_NOMEM) break @@ -191998,7 +193666,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } else { nMinCol = 0 Xsqlite3changeset_pk(tls, pIter, bp+152, uintptr(0)) - rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6587, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) + rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6651, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) if rc != SQLITE_OK { break } @@ -192017,18 +193685,18 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol == 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34467, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34613, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol < *(*int32)(unsafe.Pointer(bp + 136)) { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34511, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34657, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) } else { if *(*int32)(unsafe.Pointer(bp + 136)) < nMinCol || libc.Xmemcmp(tls, (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FabPK, *(*uintptr)(unsafe.Pointer(bp + 152)), uint64(*(*int32)(unsafe.Pointer(bp + 136)))) != 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34582, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34728, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol = *(*int32)(unsafe.Pointer(bp + 136)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11584) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11709) { v2 = _sessionStat1Sql(tls, db, bp+8) rc = v2 if v2 != 0 { @@ -192085,13 +193753,13 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } } } - Xsqlite3_exec(tls, db, __ccgo_ts+34642, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34788, uintptr(0), uintptr(0), uintptr(0)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34672, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34818, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, __ccgo_ts+34696, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, __ccgo_ts+34672, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34842, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34818, uintptr(0), uintptr(0), uintptr(0)) } } if rc == SQLITE_OK && bPatchset == 0 && (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbRebase != 0 { @@ -192183,6 +193851,7 @@ type Tsqlite3_changegroup1 = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -192539,116 +194208,143 @@ func _sessionChangesetExtendRecord(tls *libc.TLS, pGrp uintptr, pTab uintptr, nC // C documentation // // /* -// ** Add all changes in the changeset traversed by the iterator passed as -// ** the first argument to the changegroup hash tables. +// ** Locate or create a SessionTable object that may be used to add the +// ** change currently pointed to by iterator pIter to changegroup pGrp. +// ** If successful, set output variable (*ppTab) to point to the table +// ** object and return SQLITE_OK. Otherwise, if some error occurs, return +// ** an SQLite error code and leave (*ppTab) set to NULL. // */ -func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { - bp := tls.Alloc(80) - defer tls.Free(80) - var bPkOnly1, bPkOnly2, iHash, nNew, rc int32 - var pExist, pTab, pp, ppTab uintptr - var _ /* aRec at bp+0 */ uintptr - var _ /* abPK at bp+64 */ uintptr - var _ /* bIndirect at bp+48 */ int32 - var _ /* nCol at bp+40 */ int32 - var _ /* nRec at bp+8 */ int32 - var _ /* op at bp+44 */ int32 - var _ /* pChange at bp+56 */ uintptr - var _ /* rec at bp+16 */ TSessionBuffer - var _ /* zNew at bp+32 */ uintptr - _, _, _, _, _, _, _, _, _ = bPkOnly1, bPkOnly2, iHash, nNew, pExist, pTab, pp, ppTab, rc +func _sessionChangesetFindTable(tls *libc.TLS, pGrp uintptr, zTab uintptr, pIter uintptr, ppTab uintptr) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var nTab, rc int32 + var pTab, ppNew uintptr + var _ /* abPK at bp+0 */ uintptr + var _ /* nCol at bp+8 */ int32 + _, _, _, _ = nTab, pTab, ppNew, rc rc = SQLITE_OK pTab = uintptr(0) - *(*TSessionBuffer)(unsafe.Pointer(bp + 16)) = TSessionBuffer{} - for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { - pExist = uintptr(0) - /* Ensure that only changesets, or only patchsets, but not a mixture - ** of both, are being combined. It is an error to try to combine a - ** changeset and a patchset. */ - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset - } else { - if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { - rc = int32(SQLITE_ERROR) - break - } + nTab = int32(libc.Xstrlen(tls, zTab)) + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(ppTab)) = uintptr(0) + Xsqlite3changeset_pk(tls, pIter, bp, bp+8) + /* Search the list for an existing table */ + pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList + for { + if !(pTab != 0) { + break } - Xsqlite3changeset_op(tls, pIter, bp+32, bp+40, bp+44, bp+48) - if !(pTab != 0) || Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), (*TSessionTable)(unsafe.Pointer(pTab)).FzName) != 0 { - /* Search the list for a matching table */ - nNew = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))) - Xsqlite3changeset_pk(tls, pIter, bp+64, uintptr(0)) - pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList - for { - if !(pTab != 0) { - break - } - if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), nNew+int32(1)) { - break - } - goto _1 - _1: - ; - pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext - } - if !(pTab != 0) { - pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 40)))+uint64(nNew)+uint64(1)) - if !(pTab != 0) { - rc = int32(SQLITE_NOMEM) - break - } - libc.Xmemset(tls, pTab, 0, uint64(80)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 40)) - (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 64)), uint64(*(*int32)(unsafe.Pointer(bp + 40)))) - (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 40))) - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), uint64(nNew+int32(1))) - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 - rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) - if rc != 0 { - Xsqlite3_free(tls, pTab) - break - } - } - /* The new object must be linked on to the end of the list, not - ** simply added to the start of it. This is to ensure that the - ** tables within the output of sqlite3changegroup_output() are in - ** the right order. */ - ppTab = pGrp + 8 - for { - if !(*(*uintptr)(unsafe.Pointer(ppTab)) != 0) { - break - } - goto _2 - _2: - ; - ppTab = *(*uintptr)(unsafe.Pointer(ppTab)) - } - *(*uintptr)(unsafe.Pointer(ppTab)) = pTab - } - if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*uintptr)(unsafe.Pointer(bp + 64))) != 0) { - rc = int32(SQLITE_SCHEMA) - break - } + if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, nTab+int32(1)) { + break + } + goto _1 + _1: + ; + pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext + } + /* If one was not found above, create a new table now */ + if !(pTab != 0) { + pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 8)))+uint64(nTab)+uint64(1)) + if !(pTab != 0) { + return int32(SQLITE_NOMEM) } - if *(*int32)(unsafe.Pointer(bp + 40)) < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol { - rc = _sessionChangesetExtendRecord(tls, pGrp, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*int32)(unsafe.Pointer(bp + 44)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+16) + libc.Xmemset(tls, pTab, 0, uint64(80)) + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 8)) + (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp)), uint64(*(*int32)(unsafe.Pointer(bp + 8)))) + (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 8))) + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, uint64(nTab+int32(1))) + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 + rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) if rc != 0 { + Xsqlite3_free(tls, pTab) + return rc + } + } + /* The new object must be linked on to the end of the list, not + ** simply added to the start of it. This is to ensure that the + ** tables within the output of sqlite3changegroup_output() are in + ** the right order. */ + ppNew = pGrp + 8 + for { + if !(*(*uintptr)(unsafe.Pointer(ppNew)) != 0) { break } - *(*uintptr)(unsafe.Pointer(bp)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf - *(*int32)(unsafe.Pointer(bp + 8)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf + goto _2 + _2: + ; + ppNew = *(*uintptr)(unsafe.Pointer(ppNew)) } - if _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { - rc = int32(SQLITE_NOMEM) - break + *(*uintptr)(unsafe.Pointer(ppNew)) = pTab + } + /* Check that the table is compatible. */ + if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp))) != 0) { + rc = int32(SQLITE_SCHEMA) + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + return rc +} + +// C documentation +// +// /* +// ** Add the change currently indicated by iterator pIter to the hash table +// ** belonging to changegroup pGrp. +// */ +func _sessionOneChangeToHash(tls *libc.TLS, pGrp uintptr, pIter uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var aRec, pBuf, pExist, pp uintptr + var bPkOnly1, bPkOnly2, iHash, nRec, rc int32 + var _ /* bIndirect at bp+8 */ int32 + var _ /* nCol at bp+0 */ int32 + var _ /* op at bp+4 */ int32 + var _ /* pChange at bp+16 */ uintptr + var _ /* pTab at bp+24 */ uintptr + var _ /* zTab at bp+32 */ uintptr + _, _, _, _, _, _, _, _, _ = aRec, bPkOnly1, bPkOnly2, iHash, nRec, pBuf, pExist, pp, rc + rc = SQLITE_OK + *(*int32)(unsafe.Pointer(bp)) = 0 + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + iHash = 0 + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) + pExist = uintptr(0) + pp = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) + aRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent+int32(2)) + nRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent - int32(2) + /* Ensure that only changesets, or only patchsets, but not a mixture + ** of both, are being combined. It is an error to try to combine a + ** changeset and a patchset. */ + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = int32(SQLITE_ERROR) } - iHash = int32(_sessionChangeHash(tls, pTab, libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)), *(*uintptr)(unsafe.Pointer(bp)), (*TSessionTable)(unsafe.Pointer(pTab)).FnChange)) + } + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0) + Xsqlite3changeset_op(tls, pIter, bp+32, bp, bp+4, bp+8) + rc = _sessionChangesetFindTable(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 32)), pIter, bp+24) + } + if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) < (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnCol { + pBuf = pGrp + 16 + rc = _sessionChangesetExtendRecord(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), aRec, nRec, pBuf) + aRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + nRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FnBuf + } + if rc == SQLITE_OK && _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 24))) != 0 { + rc = int32(SQLITE_NOMEM) + } + if rc == SQLITE_OK { /* Search for existing entry. If found, remove it from the hash table. - ** Code below may link it back in. - */ - pp = (*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8 + ** Code below may link it back in. */ + iHash = int32(_sessionChangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)), aRec, (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnChange)) + pp = (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8 for { if !(*(*uintptr)(unsafe.Pointer(pp)) != 0) { break @@ -192657,30 +194353,54 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase bPkOnly2 = 0 if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { bPkOnly1 = libc.BoolInt32(int32((*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fop) == int32(SQLITE_DELETE)) - bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)) + bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)) } - if _sessionChangeEqual(tls, pTab, bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp))) != 0 { + if _sessionChangeEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, aRec) != 0 { pExist = *(*uintptr)(unsafe.Pointer(pp)) *(*uintptr)(unsafe.Pointer(pp)) = (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry-- + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry-- break } - goto _3 - _3: + goto _1 + _1: ; pp = *(*uintptr)(unsafe.Pointer(pp)) + 24 } - rc = _sessionChangeMerge(tls, pTab, bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 44)), *(*int32)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+56) - if rc != 0 { + } + if rc == SQLITE_OK { + rc = _sessionChangeMerge(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 4)), *(*int32)(unsafe.Pointer(bp + 8)), aRec, nRec, bp+16) + } + if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { + (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 16)) + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry++ + } + if rc == SQLITE_OK { + rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// C documentation +// +// /* +// ** Add all changes in the changeset traversed by the iterator passed as +// ** the first argument to the changegroup hash tables. +// */ +func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var rc int32 + var _ /* aRec at bp+0 */ uintptr + var _ /* nRec at bp+8 */ int32 + _ = rc + rc = SQLITE_OK + for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { + rc = _sessionOneChangeToHash(tls, pGrp, pIter, bRebase) + if rc != SQLITE_OK { break } - if *(*uintptr)(unsafe.Pointer(bp + 56)) != 0 { - (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) - *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 56)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry++ - } } - Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf) if rc == SQLITE_OK { rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc } @@ -192790,11 +194510,11 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) (r int32) { var rc int32 _, _ = p, rc rc = SQLITE_OK /* New object */ - p = Xsqlite3_malloc(tls, int32(32)) + p = Xsqlite3_malloc(tls, int32(48)) if p == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, p, 0, uint64(32)) + libc.Xmemset(tls, p, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(pp)) = p return rc @@ -192816,7 +194536,7 @@ func Xsqlite3changegroup_schema(tls *libc.TLS, pGrp uintptr, db uintptr, zDb uin ** or after sqlite3changegroup_schema() has already been called. */ rc = int32(SQLITE_MISUSE) } else { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, zDb)) + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, zDb)) if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -192846,6 +194566,19 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin return rc } +// C documentation +// +// /* +// ** Add a single change to a changeset-group. +// */ +func Xsqlite3changegroup_add_change(tls *libc.TLS, pGrp uintptr, pIter uintptr) (r int32) { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent == (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc != SQLITE_OK || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbInvert != 0 { + /* Iterator does not point to any valid entry or is an INVERT iterator. */ + return int32(SQLITE_ERROR) + } + return _sessionOneChangeToHash(tls, pGrp, pIter, 0) +} + // C documentation // // /* @@ -192893,6 +194626,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { if pGrp != 0 { Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Frec.FaBuf) Xsqlite3_free(tls, pGrp) } } @@ -193257,11 +194991,11 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) (r int32) { var rc int32 _, _ = pNew, rc rc = SQLITE_OK - pNew = Xsqlite3_malloc(tls, int32(32)) + pNew = Xsqlite3_malloc(tls, int32(48)) if pNew == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, pNew, 0, uint64(32)) + libc.Xmemset(tls, pNew, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(ppNew)) = pNew return rc @@ -193335,6 +195069,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { if p != 0 { _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.Frec.FaBuf) Xsqlite3_free(tls, p) } } @@ -193966,6 +195701,9 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** sqlite3Fts5ParserARG_STORE Code to store %extra_argument into fts5yypParser // ** sqlite3Fts5ParserARG_FETCH Code to extract %extra_argument from fts5yypParser // ** sqlite3Fts5ParserCTX_* As sqlite3Fts5ParserARG_ except for %extra_context +// ** fts5YYREALLOC Name of the realloc() function to use +// ** fts5YYFREE Name of the free() function to use +// ** fts5YYDYNSTACK True if stack space should be extended on heap // ** fts5YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** fts5YYNSTATE the combined number of states. @@ -193979,6 +195717,8 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** fts5YY_NO_ACTION The fts5yy_action[] code for no-op // ** fts5YY_MIN_REDUCE Minimum value for reduce actions // ** fts5YY_MAX_REDUCE Maximum value for reduce actions +// ** fts5YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** fts5YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type Tfts5YYMINORTYPE = struct { @@ -194005,6 +195745,13 @@ type fts5YYMINORTYPE = Tfts5YYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -194434,8 +196181,9 @@ type fts5yyStackEntry = Tfts5yyStackEntry type Tfts5yyParser1 = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser1 = Tfts5yyParser1 @@ -194443,14 +196191,19 @@ type fts5yyParser1 = Tfts5yyParser1 type Tfts5yyParser = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser = Tfts5yyParser /* #include */ +/* For builds that do no have a growable stack, fts5yyGrowStack always +** returns an error. + */ + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3Fts5ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -194465,10 +196218,11 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { var fts5yypParser uintptr _ = fts5yypParser fts5yypParser = fts5yypRawParser - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fstateno = uint8(0) - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fmajor = uint8(0) - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = fts5yypParser + 16 + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack = fts5yypParser + 32 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fstateno = uint8(0) + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fmajor = uint8(0) } // C documentation @@ -194488,7 +196242,7 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) { var fts5yypParser uintptr _ = fts5yypParser - fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2424)) + fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432)) if fts5yypParser != 0 { _sqlite3Fts5ParserInit(tls, fts5yypParser) } @@ -194570,11 +196324,17 @@ func _fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var fts5yytos, pParser uintptr + _, _ = fts5yytos, pParser pParser = p - for (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { - _fts5yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling fts5yy_pop_parser_stack() for each + ** element left in the stack */ + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos + for fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yystack { + if int32((*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor) >= int32(fts5YY_MIN_DSTRCTR) { + _fts5yy_destructor(tls, pParser, (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor, fts5yytos+8) + } + fts5yytos -= 24 } } @@ -194662,13 +196422,13 @@ func _fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse - for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { + for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack { _fts5yy_pop_parser_stack(tls, fts5yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34724, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34870, 0) /******** End %stack_overflow code ********************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument var */ } @@ -194686,15 +196446,18 @@ func _fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, f var fts5yytos uintptr _ = fts5yytos (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 - if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 - _fts5yyStackOverflow(tls, fts5yypParser) - return + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + if fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { + if int32(1) != 0 { + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 + _fts5yyStackOverflow(tls, fts5yypParser) + return + } + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos } if int32(fts5yyNewState) > int32(fts5YY_MAX_SHIFT) { fts5yyNewState = uint8(int32(fts5yyNewState) + (libc.Int32FromInt32(fts5YY_MIN_REDUCE) - libc.Int32FromInt32(fts5YY_MIN_SHIFTREDUCE))) } - fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fstateno = fts5yyNewState (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor = fts5yyMajor *(*TFts5Token)(unsafe.Pointer(fts5yytos + 8)) = fts5yyMinor @@ -195021,7 +196784,7 @@ func _fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int3 pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse /************ Begin %syntax_error code ****************************************/ _ = fts5yymajor /* Silence a compiler warning */ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34752, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34898, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) /************ End %syntax_error code ******************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument variable */ } @@ -195083,8 +196846,10 @@ func _sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5y ** enough on the stack to push the LHS value */ if int32(_fts5yyRuleInfoNRhs[fts5yyruleno]) == 0 { if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos >= (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - _fts5yyStackOverflow(tls, fts5yypParser) - break + if int32(1) != 0 { + _fts5yyStackOverflow(tls, fts5yypParser) + break + } } } fts5yyact = _fts5yy_reduce(tls, fts5yypParser, fts5yyruleno, fts5yymajor, fts5yyminor) @@ -195317,7 +197082,7 @@ func _fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n in if n < 0 { n = int32(libc.Xstrlen(tls, z)) } - (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34783, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34929, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*THighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = int32(SQLITE_NOMEM) } @@ -195414,7 +197179,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint var _ /* rc at bp+104 */ int32 _, _ = iCol, zErr if nVal != int32(3) { - zErr = __ccgo_ts + 34790 + zErr = __ccgo_ts + 34936 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -195425,7 +197190,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint (*(*THighlightContext)(unsafe.Pointer(bp))).FiRangeEnd = -int32(1) *(*int32)(unsafe.Pointer(bp + 104)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})))(tls, pFts, iCol, bp+24, bp+32) if *(*int32)(unsafe.Pointer(bp + 104)) == int32(SQLITE_RANGE) { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1650, -int32(1), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1664, -int32(1), libc.UintptrFromInt32(0)) *(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_OK } else { if (*(*THighlightContext)(unsafe.Pointer(bp))).FzIn != 0 { @@ -195626,7 +197391,7 @@ func _fts5ValueToText(tls *libc.TLS, pVal uintptr) (r uintptr) { if zRet != 0 { v1 = zRet } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } return v1 } @@ -195660,7 +197425,7 @@ func _fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintpt nBestScore = 0 /* Score of best snippet */ *(*int32)(unsafe.Pointer(bp + 112)) = 0 if nVal != int32(5) { - zErr = __ccgo_ts + 34840 + zErr = __ccgo_ts + 34986 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -196040,15 +197805,15 @@ func _sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) (r int32) { FxDestroy uintptr }{ 0: { - FzFunc: __ccgo_ts + 34888, + FzFunc: __ccgo_ts + 35034, FxFunc: __ccgo_fp(_fts5SnippetFunction), }, 1: { - FzFunc: __ccgo_ts + 34896, + FzFunc: __ccgo_ts + 35042, FxFunc: __ccgo_fp(_fts5HighlightFunction), }, 2: { - FzFunc: __ccgo_ts + 34906, + FzFunc: __ccgo_ts + 35052, FxFunc: __ccgo_fp(_fts5Bm25Function), }, } @@ -196708,7 +198473,7 @@ func _fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) (r uintptr) { case int32('n'): fallthrough case int32('N'): - if Xsqlite3_strnicmp(tls, __ccgo_ts+1636, p, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+1650, p, int32(4)) == 0 { p = p + 4 } else { p = uintptr(0) @@ -196912,7 +198677,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _, _, _, _, _, _, _, _, _, _, _, _ = azArg, bFirst, nArg, nByte, nCmd, nPre, p, p1, p2, pDel, pSpace, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK nCmd = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, __ccgo_ts+34911, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35057, zCmd, nCmd) == 0 { nByte = int32(libc.Uint64FromInt64(4) * libc.Uint64FromInt32(FTS5_MAX_PREFIX_INDEXES)) bFirst = int32(1) if (*TFts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { @@ -196938,12 +198703,12 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } } if int32(*(*uint8)(unsafe.Pointer(p))) < int32('0') || int32(*(*uint8)(unsafe.Pointer(p))) > int32('9') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34918, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35064, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } if (*TFts5Config)(unsafe.Pointer(pConfig)).FnPrefix == int32(FTS5_MAX_PREFIX_INDEXES) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34949, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35095, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -196952,7 +198717,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC p++ } if nPre <= 0 || nPre >= int32(1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34982, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35128, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -196962,7 +198727,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35019, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35165, zCmd, nCmd) == 0 { p1 = zArg nArg = int64(libc.Xstrlen(tls, zArg) + uint64(1)) azArg = _sqlite3Fts5MallocZero(tls, bp, int64(uint64(8)*uint64(nArg))) @@ -196970,7 +198735,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC pSpace = pDel if azArg != 0 && pSpace != 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35028, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35174, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { nArg = 0 @@ -196997,7 +198762,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC nArg++ } if p1 == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35061, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35207, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(nArg), pConfig, pzErr) @@ -197008,58 +198773,58 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC Xsqlite3_free(tls, pDel) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35095, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35241, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35103, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35249, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if *(*uint8)(unsafe.Pointer(zArg)) != 0 { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_EXTERNAL) - (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35135, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35281, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_NONE) } } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35141, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35287, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35160, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35306, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35203, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35349, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35217, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35363, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, zArg, -int32(1)) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35255, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35401, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35266, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35412, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+5501, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+5565, zCmd, nCmd) == 0 { *(*[4]TFts5Enum)(unsafe.Pointer(bp + 8)) = [4]TFts5Enum{ 0: { - FzName: __ccgo_ts + 8220, + FzName: __ccgo_ts + 8345, FeVal: int32(FTS5_DETAIL_NONE), }, 1: { - FzName: __ccgo_ts + 17749, + FzName: __ccgo_ts + 17836, }, 2: { - FzName: __ccgo_ts + 35301, + FzName: __ccgo_ts + 35447, FeVal: int32(FTS5_DETAIL_COLUMNS), }, 3: {}, @@ -197067,20 +198832,20 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC v2 = _fts5ConfigSetEnum(tls, bp+8, zArg, pConfig+96) *(*int32)(unsafe.Pointer(bp)) = v2 if v2 != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35309, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35455, 0) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35340, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35486, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35350, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35496, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbTokendata = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35384, libc.VaList(bp+80, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35530, libc.VaList(bp+80, nCmd, zCmd)) return int32(SQLITE_ERROR) } @@ -197152,15 +198917,15 @@ func _fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr var v2 uintptr _, _, _ = rc, v1, v2 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35412) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16696) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35417, libc.VaList(bp+8, zCol)) + if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35558) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16783) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35563, libc.VaList(bp+8, zCol)) rc = int32(SQLITE_ERROR) } else { if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35447) { + if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35593) { *(*Tu8)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*TFts5Config)(unsafe.Pointer(p)).FnCol))) = uint8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35457, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35603, libc.VaList(bp+8, zArg)) rc = int32(SQLITE_ERROR) } } @@ -197186,7 +198951,7 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TFts5Buffer)(unsafe.Pointer(bp + 8)) = TFts5Buffer{} - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35488, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35634, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*TFts5Config)(unsafe.Pointer(p)).FeContent != int32(FTS5_CONTENT_NONE) { i = 0 for { @@ -197194,9 +198959,9 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { break } if (*TFts5Config)(unsafe.Pointer(p)).FeContent == int32(FTS5_CONTENT_EXTERNAL) { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35493, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35639, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35500, libc.VaList(bp+32, i)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35646, libc.VaList(bp+32, i)) } goto _1 _1: @@ -197256,8 +199021,8 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in (*TFts5Config)(unsafe.Pointer(pRet)).FzName = _sqlite3Fts5Strndup(tls, bp, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -int32(1)) (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize = int32(1) (*TFts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35412) == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35508, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) + if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35558) == 0 { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35654, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } i = int32(3) @@ -197288,19 +199053,19 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35537, libc.VaList(bp+40, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35683, libc.VaList(bp+40, zOrig)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bOption != 0 { if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { v4 = *(*uintptr)(unsafe.Pointer(bp + 8)) } else { - v4 = __ccgo_ts + 1650 + v4 = __ccgo_ts + 1664 } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { v5 = *(*uintptr)(unsafe.Pointer(bp + 16)) } else { - v5 = __ccgo_ts + 1650 + v5 = __ccgo_ts + 1664 } *(*int32)(unsafe.Pointer(bp)) = _fts5ConfigParseSpecial(tls, pGlobal, pRet, v4, v5, pzErr) } else { @@ -197318,7 +199083,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } /* We only allow contentless_delete=1 if the table is indeed contentless. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FeContent != int32(FTS5_CONTENT_NONE) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35557, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35703, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* We only allow contentless_delete=1 if columnsize=0 is not present. @@ -197326,7 +199091,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in ** This restriction may be removed at some point. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35607, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35753, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* If a tokenizer= option was successfully parsed, the tokenizer has @@ -197339,18 +199104,18 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContent == uintptr(0) { zTail = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { - zTail = __ccgo_ts + 35095 + zTail = __ccgo_ts + 35241 } else { if (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = __ccgo_ts + 35662 + zTail = __ccgo_ts + 35808 } } if zTail != 0 { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35670, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35816, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0) { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16696, -int32(1)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16783, -int32(1)) } /* Formulate the zContentExprlist text */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -197414,25 +199179,25 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) { var _ /* rc at bp+0 */ int32 _, _, _, _ = i, zSep, zSql, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35681, 0) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35827, 0) i = 0 for { if !(zSql != 0 && i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } if i == 0 { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } else { - v2 = __ccgo_ts + 14992 + v2 = __ccgo_ts + 15085 } zSep = v2 - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35697, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35843, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) goto _1 _1: ; i++ } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35704, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35412)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35850, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35558)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_declare_vtab(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) Xsqlite3_free(tls, zSql) @@ -197578,7 +199343,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV var _ /* zRankArgs at bp+8 */ uintptr _, _, _, _, _, _, _, _, _, _ = bVal, nAutomerge, nCrisisMerge, nHashSize, nUsermerge, nVal, pgsz, rc, zIn, v1 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35730) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35876) { pgsz = 0 if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -197589,7 +199354,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35735) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35881) { nHashSize = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -197600,7 +199365,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35744) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35890) { nAutomerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -197614,7 +199379,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35754) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35900) { nUsermerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -197625,7 +199390,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35764) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35910) { nCrisisMerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -197642,7 +199407,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35776) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35922) { nVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nVal = Xsqlite3_value_int(tls, pVal) @@ -197657,7 +199422,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } (*TFts5Config)(unsafe.Pointer(pConfig)).FnDeleteMerge = nVal } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35412) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35558) { zIn = Xsqlite3_value_text(tls, pVal) rc = _sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8) if rc == SQLITE_OK { @@ -197672,7 +199437,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35788) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35934) { bVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { bVal = Xsqlite3_value_int(tls, pVal) @@ -197714,7 +199479,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in var _ /* p at bp+0 */ uintptr var _ /* rc at bp+8 */ int32 _, _, _, _, _ = iVersion, pVal, zK, zSelect, zSql - zSelect = __ccgo_ts + 35802 + zSelect = __ccgo_ts + 35948 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_OK iVersion = 0 @@ -197734,7 +199499,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in for int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zK = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) pVal = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) - if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35834) { + if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35980) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 12)) = 0 @@ -197746,7 +199511,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && iVersion != int32(FTS5_CURRENT_VERSION) && iVersion != int32(FTS5_CURRENT_VERSION_SECUREDELETE) { *(*int32)(unsafe.Pointer(bp + 8)) = int32(SQLITE_ERROR) if (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35842, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35988, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = iVersion @@ -197967,7 +199732,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr } } if int32(*(*uint8)(unsafe.Pointer(z2))) == int32('\000') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35913, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36059, 0) return FTS5_EOF } goto _1 @@ -197978,7 +199743,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z2) - int64(z)) default: if _sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z))) == 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35933, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36079, libc.VaList(bp+8, z)) return FTS5_EOF } tok = int32(FTS5_STRING) @@ -197993,13 +199758,13 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr z21++ } (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z21) - int64(z)) - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35964, uint64(2)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36110, uint64(2)) == 0 { tok = int32(FTS5_OR) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35967, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36113, uint64(3)) == 0 { tok = int32(FTS5_NOT) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30708, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30854, uint64(3)) == 0 { tok = int32(FTS5_AND) } break @@ -200071,8 +201836,8 @@ func _sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, pp func _sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+35971, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34752, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) + if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36117, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34898, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -200092,7 +201857,7 @@ func _sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, } c = *(*uint8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) if int32(c) < int32('0') || int32(c) > int32('9') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35976, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36122, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) return } nNear = nNear*int32(10) + (int32(*(*uint8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - int32('0')) @@ -200230,7 +201995,7 @@ func _sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p u iCol++ } if iCol == (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21018, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21150, libc.VaList(bp+8, z)) } else { pRet = _fts5ParseColset(tls, pParse, pColset, iCol) } @@ -200354,7 +202119,7 @@ func _sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pC var _ /* pFree at bp+0 */ uintptr *(*uintptr)(unsafe.Pointer(bp)) = pColset if (*TFts5Config)(unsafe.Pointer((*TFts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == int32(FTS5_DETAIL_NONE) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36005, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36151, 0) } else { _fts5ParseSetColset(tls, pParse, pExpr, pColset, bp) } @@ -200547,11 +202312,11 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin pPhrase = *(*uintptr)(unsafe.Pointer(pNear + 24)) if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase != int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*(*TFts5ExprTerm)(unsafe.Pointer(pPhrase + 32))).FbFirst != 0 { if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == int32(1) { - v2 = __ccgo_ts + 36058 + v2 = __ccgo_ts + 36204 } else { - v2 = __ccgo_ts + 35971 + v2 = __ccgo_ts + 36117 } - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36065, libc.VaList(bp+8, v2)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36211, libc.VaList(bp+8, v2)) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -200560,7 +202325,7 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin _fts5ExprAddChildren(tls, pRet, pLeft) _fts5ExprAddChildren(tls, pRet, pRight) if (*TFts5ExprNode)(unsafe.Pointer(pRet)).FiHeight > int32(SQLITE_FTS5_MAX_EXPR_DEPTH) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36115, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36261, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -202708,7 +204473,7 @@ func _fts5DataRead(tls *libc.TLS, p uintptr, iRowid Ti64) (r uintptr) { ** to the requested entry. */ if (*TFts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36168, iRowid, 0, p+72) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36314, iRowid, 0, p+72) } /* If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls ** above returned SQLITE_ERROR, return SQLITE_CORRUPT_VTAB instead. @@ -202801,7 +204566,7 @@ func _fts5DataWrite(tls *libc.TLS, p uintptr, iRowid Ti64, pData uintptr, nData } if (*TFts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36174, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36320, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return } @@ -202830,7 +204595,7 @@ func _fts5DataDelete(tls *libc.TLS, p uintptr, iFirst Ti64, iLast Ti64) { } if (*TFts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36225, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36371, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if _fts5IndexPrepareStmt(tls, p, p+88, zSql) != 0 { return } @@ -202864,7 +204629,7 @@ func _fts5DataRemoveSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { } if (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36274, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36420, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter, int32(1), iSegid) @@ -203033,7 +204798,7 @@ func _fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie ui } i = int32(4) /* Check if this is a V2 structure record. Set bStructureV2 if it is. */ - if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36314, uint64(4)) { + if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36460, uint64(4)) { i += int32(4) bStructureV2 = int32(1) } @@ -203224,7 +204989,7 @@ func _fts5IndexDataVersion(tls *libc.TLS, p uintptr) (r Ti64) { iVersion = 0 if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*TFts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) { - (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36319, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36465, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return 0 } @@ -203308,7 +205073,7 @@ func _fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { _sqlite3Fts5Put32(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, iCookie) (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = int32(4) if (*TFts5Structure)(unsafe.Pointer(pStruct)).FnOriginCntr > uint64(0) { - libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36314, uint64(4)) + libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36460, uint64(4)) *(*int32)(unsafe.Pointer(bp + 8)) += int32(4) } *(*int32)(unsafe.Pointer(bp + 8)) += _sqlite3Fts5PutVarint(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), uint64((*TFts5Structure)(unsafe.Pointer(pStruct)).FnLevel)) @@ -204683,7 +206448,7 @@ func _fts5IdxSelectStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36342, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36488, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect } @@ -204772,7 +206537,7 @@ func _fts5IdxNextStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36426, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36572, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect } @@ -206388,7 +208153,7 @@ func _fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { if (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { v1 = (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } z = v1 /* The following was already done in fts5WriteInit(): */ @@ -206743,7 +208508,7 @@ func _fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { _sqlite3Fts5BufferSize(tls, p+60, pWriter+8+8, uint32(nBuffer)) if (*TFts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36508, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36654, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { /* Initialize the 4-byte leaf-page header to 0x00. */ @@ -207233,7 +208998,7 @@ func _fts5SecureDeleteIdxEntry(tls *libc.TLS, p uintptr, iSegid int32, iPgno int defer tls.Free(32) if iPgno != int32(1) { if (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx == uintptr(0) { - _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36565, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36711, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx, int32(1), iSegid) @@ -208723,7 +210488,7 @@ func _sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) (r int32) { if (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FbContentlessDelete != 0 { (*(*TFts5Structure)(unsafe.Pointer(bp))).FnOriginCntr = uint64(1) } - _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1650, 0) + _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1664, 0) _fts5StructureWrite(tls, p, bp) return _fts5IndexReturn(tls, p) } @@ -208750,11 +210515,11 @@ func _sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uin if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*TFts5Index)(unsafe.Pointer(p)).FnWorkUnit = int32(FTS5_WORK_UNIT) - (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36626, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36772, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25743, __ccgo_ts+36634, 0, pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25889, __ccgo_ts+36780, 0, pzErr) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11795, __ccgo_ts+36669, int32(1), pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11920, __ccgo_ts+36815, int32(1), pzErr) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5IndexReinit(tls, p) @@ -209288,7 +211053,7 @@ func _fts5SetupTokendataIter(tls *libc.TLS, p uintptr, pToken uintptr, nToken in pNew = _fts5MultiIterAlloc(tls, p, (*TFts5Structure)(unsafe.Pointer(pStruct)).FnSegment) if pSmall != 0 { _sqlite3Fts5BufferSet(tls, p+60, bp, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fn, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36713) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36859) } else { _sqlite3Fts5BufferSet(tls, p+60, bp, nToken, pToken) } @@ -209808,7 +211573,7 @@ func _sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) (r int32) pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig /* Binary representation of iNew */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) _sqlite3Fts5Put32(tls, bp, iNew) - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36168, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36314, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, int32(4), 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -210402,7 +212167,7 @@ func _fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { if (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { return } - _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36715, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) + _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36861, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) /* Iterate through the b-tree hierarchy. */ for (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { /* Data for this leaf */ zIdxTerm = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -210633,7 +212398,7 @@ func _sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum Tu64, bUseC } else { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = 0 _fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16))+104+uintptr((*(*TFts5CResult)(unsafe.Pointer((*TFts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FaFirst + 1*4))).FiFirst)*128, uintptr(0), bp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36801) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36947) for 0 == _sqlite3Fts5PoslistNext64(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn, bp+40, bp+32) { iCol = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) >> libc.Int32FromInt32(32)) iTokOff = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) & libc.Int64FromInt32(0x7FFFFFFF)) @@ -211221,7 +212986,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) bSeenMatch = 0 bSeenRank = 0 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36806, 0) + (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36952, 0) return int32(SQLITE_ERROR) } idxStr = Xsqlite3_malloc(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pInfo)).FnConstraint*int32(8)+int32(1)) @@ -211260,7 +213025,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v3 = iIdxStr iIdxStr++ *(*uint8)(unsafe.Pointer(idxStr + uintptr(v3))) = uint8('M') - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5140, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5204, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) } } @@ -211280,7 +213045,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v6 = int32('G') } *(*uint8)(unsafe.Pointer(idxStr + uintptr(v5))) = uint8(v6) - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5140, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5204, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) iCons++ v7 = iCons @@ -211718,7 +213483,7 @@ func _fts5NextMethod(tls *libc.TLS, pCursor uintptr) (r int32) { *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_EOF) rc = Xsqlite3_reset(tls, (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -211745,7 +213510,7 @@ func _fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt } else { rc = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -211780,21 +213545,21 @@ func _fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ if zRankArgs != 0 { - v1 = __ccgo_ts + 14992 + v1 = __ccgo_ts + 15085 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } if zRankArgs != 0 { v2 = zRankArgs } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } if bDesc != 0 { - v3 = __ccgo_ts + 36845 + v3 = __ccgo_ts + 36991 } else { - v3 = __ccgo_ts + 36850 + v3 = __ccgo_ts + 36996 } - rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+36854, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) + rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+37000, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter if rc == SQLITE_OK { (*TFts5FullTable)(unsafe.Pointer(pTab)).FpSortCsr = pCsr @@ -211852,14 +213617,14 @@ func _fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr n++ } (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan = int32(FTS5_PLAN_SPECIAL) - if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+36909, z, n) { + if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+37055, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = int64(_sqlite3Fts5IndexReads(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex)) } else { - if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5483, z, n) { + if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5547, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { /* An unrecognized directive. Return an error message. */ - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36915, libc.VaList(bp+8, n, z)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37061, libc.VaList(bp+8, n, z)) rc = int32(SQLITE_ERROR) } } @@ -211909,7 +213674,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { zRank = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank zRankArgs = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36943, libc.VaList(bp+24, zRankArgs)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37089, libc.VaList(bp+24, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp+8, uintptr(0)) @@ -211942,7 +213707,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { pAux = _fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36953, libc.VaList(bp+24, zRank)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37099, libc.VaList(bp+24, zRank)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -211976,7 +213741,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_FREE_ZRANK) } else { if rc == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36974, libc.VaList(bp+24, z)) + (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37120, libc.VaList(bp+24, z)) } } } else { @@ -211984,7 +213749,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRank (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRankArgs } else { - (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 34906 + (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 35052 (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -212035,7 +213800,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint iIdxStr = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36806, 0) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36952, 0) return int32(SQLITE_ERROR) } if (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan != 0 { @@ -212057,7 +213822,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint case int32('M'): zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))) if zText == uintptr(0) { - zText = __ccgo_ts + 1650 + zText = __ccgo_ts + 1664 } iCol = 0 for cond := true; cond; cond = int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= int32('9') { @@ -212179,7 +213944,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint } } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent == uintptr(0) { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37007, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37153, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = int32(SQLITE_ERROR) } else { /* This is either a full-table scan (ePlan==FTS5_PLAN_SCAN) or a lookup @@ -212317,7 +214082,7 @@ func _fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) (r int32) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< int32(1) { - v1 = __ccgo_ts + 20871 + v1 = __ccgo_ts + 21003 } else { - v1 = __ccgo_ts + 37285 + v1 = __ccgo_ts + 37431 } - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37297, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37443, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if nArg == int32(1) { @@ -212574,7 +214339,7 @@ func _fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && bUpdateOrDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FbSecureDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion == int32(FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35834, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35980, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = int32(FTS5_CURRENT_VERSION_SECUREDELETE) } @@ -213370,7 +215135,7 @@ func _fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) iCsrId = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) pCsr = _fts5CursorFromCsrid(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId) if pCsr == uintptr(0) || (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37334, libc.VaList(bp+8, iCsrId)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37480, libc.VaList(bp+8, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } else { @@ -213561,7 +215326,7 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = uintptr(0) } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 && Xsqlite3_vtab_nochange(tls, pCtx) != 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37355, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37501, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -213803,7 +215568,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr pMod = _fts5LocateTokenizer(tls, pGlobal, v1) if pMod == uintptr(0) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37426, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37572, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) } else { if azArg != 0 { v2 = azArg + 1*8 @@ -213819,7 +215584,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr (*TFts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16 if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37448, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37594, 0) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FePattern = _sqlite3Fts5TokenizerPattern(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate, (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok) @@ -213874,7 +215639,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { _, _ = pGlobal, ppApi pGlobal = Xsqlite3_user_data(tls, pCtx) _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37479) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37625) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal } @@ -213888,7 +215653,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { func _fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37492, -int32(1), uintptr(-libc.Int32FromInt32(1))) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37638, -int32(1), uintptr(-libc.Int32FromInt32(1))) } // C documentation @@ -213917,11 +215682,11 @@ func _fts5ShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName2 = [5]uintptr{ - 0: __ccgo_ts + 37583, - 1: __ccgo_ts + 35095, - 2: __ccgo_ts + 25743, - 3: __ccgo_ts + 35662, - 4: __ccgo_ts + 11795, + 0: __ccgo_ts + 37729, + 1: __ccgo_ts + 35241, + 2: __ccgo_ts + 25889, + 3: __ccgo_ts + 35808, + 4: __ccgo_ts + 11920, } // C documentation @@ -213935,20 +215700,26 @@ func _fts5IntegrityMethod(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zTabnam bp := tls.Alloc(32) defer tls.Free(32) var pTab uintptr - var rc int32 - _, _ = pTab, rc + var rc, v1 int32 + _, _, _ = pTab, rc, v1 pTab = pVtab _ = isQuick rc = _sqlite3Fts5StorageIntegrity(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, 0) if rc&int32(0xff) == int32(SQLITE_CORRUPT) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37590, libc.VaList(bp+8, zSchema, zTabname)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37736, libc.VaList(bp+8, zSchema, zTabname)) + if *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { + v1 = SQLITE_OK + } else { + v1 = int32(SQLITE_NOMEM) + } + rc = v1 } else { if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37636, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37782, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) } } _sqlite3Fts5IndexCloseReader(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) - return SQLITE_OK + return rc } func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { @@ -213967,7 +215738,7 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateFunction = __ccgo_fp(_fts5CreateAux) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateTokenizer = __ccgo_fp(_fts5CreateTokenizer) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = __ccgo_fp(_fts5FindTokenizer) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37699, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37845, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) if rc == SQLITE_OK { rc = _sqlite3Fts5IndexInit(tls, db) } @@ -213984,10 +215755,10 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { rc = _sqlite3Fts5VocabInit(tls, pGlobal, db) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37699, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37845, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37704, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37850, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) } } /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file @@ -214090,17 +215861,17 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, ** statements to operate on it. */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { azStmt = [11]uintptr{ - 0: __ccgo_ts + 37719, - 1: __ccgo_ts + 37787, - 2: __ccgo_ts + 37856, - 3: __ccgo_ts + 37889, - 4: __ccgo_ts + 37928, - 5: __ccgo_ts + 37968, - 6: __ccgo_ts + 38007, - 7: __ccgo_ts + 38050, - 8: __ccgo_ts + 38089, - 9: __ccgo_ts + 38133, - 10: __ccgo_ts + 38173, + 0: __ccgo_ts + 37865, + 1: __ccgo_ts + 37933, + 2: __ccgo_ts + 38002, + 3: __ccgo_ts + 38035, + 4: __ccgo_ts + 38074, + 5: __ccgo_ts + 38114, + 6: __ccgo_ts + 38153, + 7: __ccgo_ts + 38196, + 8: __ccgo_ts + 38235, + 9: __ccgo_ts + 38279, + 10: __ccgo_ts + 38319, } pC = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig zSql = uintptr(0) @@ -214137,16 +215908,16 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, } case int32(FTS5_STMT_REPLACE_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v2 = __ccgo_ts + 38196 + v2 = __ccgo_ts + 38342 } else { - v2 = __ccgo_ts + 1650 + v2 = __ccgo_ts + 1664 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName, v2)) case int32(FTS5_STMT_LOOKUP_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v3 = __ccgo_ts + 38199 + v3 = __ccgo_ts + 38345 } else { - v3 = __ccgo_ts + 1650 + v3 = __ccgo_ts + 1664 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, v3, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName)) default: @@ -214165,7 +215936,7 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, (*TFts5Config)(unsafe.Pointer((*TFts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if rc != SQLITE_OK && pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3797, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3861, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -214202,12 +215973,12 @@ func _sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) (r int32) { defer tls.Free(64) var rc int32 _ = rc - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38207, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38353, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38311, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38457, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38349, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38495, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } @@ -214216,7 +215987,7 @@ func _fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail ui bp := tls.Alloc(48) defer tls.Free(48) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38387, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) + *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38533, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -214228,14 +215999,14 @@ func _sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) ( _ = pConfig pConfig = (*TFts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageSync(tls, pStorage) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25743, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11795, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37583, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25889, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11920, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37729, zName) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35662, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35808, zName) } if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35095, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35241, zName) } return *(*int32)(unsafe.Pointer(bp)) } @@ -214255,13 +216026,13 @@ func _sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDef _, _ = rc, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if bWithout != 0 { - v1 = __ccgo_ts + 30383 + v1 = __ccgo_ts + 30529 } else { - v1 = __ccgo_ts + 1650 + v1 = __ccgo_ts + 1664 } - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38429, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38575, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38459, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38605, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) } return rc @@ -214302,36 +216073,36 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr if zDefn == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38503, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38649, 0) iOff = int32(libc.Xstrlen(tls, zDefn)) i = 0 for { if !(i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } - Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38526, libc.VaList(bp+8, i)) + Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38672, libc.VaList(bp+8, i)) iOff += int32(libc.Xstrlen(tls, zDefn+uintptr(iOff))) goto _2 _2: ; i++ } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35095, zDefn, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35241, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - zCols = __ccgo_ts + 38532 + zCols = __ccgo_ts + 38678 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 { - zCols = __ccgo_ts + 38564 + zCols = __ccgo_ts + 38710 } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35662, zCols, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35808, zCols, 0, pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37583, __ccgo_ts+38612, int32(1), pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37729, __ccgo_ts+38758, int32(1), pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35834, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35980, uintptr(0), int32(FTS5_CURRENT_VERSION)) } } if rc != 0 { @@ -214673,9 +216444,9 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig (*TFts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 /* Delete the contents of the %_data and %_docsize tables. */ - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38629, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38775, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38679, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38825, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } /* Reinitialize the %_data table. This call creates the initial structure ** and averages records. */ @@ -214683,7 +216454,7 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3Fts5IndexReinit(tls, (*TFts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35834, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35980, uintptr(0), int32(FTS5_CURRENT_VERSION)) } return rc } @@ -214897,7 +216668,7 @@ func _fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var _ /* pCnt at bp+0 */ uintptr _, _, _ = pConfig, rc, zSql pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38708, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38854, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -215107,14 +216878,14 @@ func _sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) (r int32 ** number of rows. */ if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { *(*Ti64)(unsafe.Pointer(bp + 48)) = 0 - rc = _fts5StorageCount(tls, p, __ccgo_ts+35095, bp+48) + rc = _fts5StorageCount(tls, p, __ccgo_ts+35241, bp+48) if rc == SQLITE_OK && *(*Ti64)(unsafe.Pointer(bp + 48)) != (*TFts5Storage)(unsafe.Pointer(p)).FnTotalRow { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) } @@ -216316,64 +218087,64 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38810, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38956, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38813, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38959, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38818, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38964, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('e'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38823, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38969, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38826, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38972, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('l'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38829, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38975, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38834, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38980, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38839, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38985, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38843, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38989, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38849, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38995, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38854, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39000, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -216382,49 +218153,49 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38858, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39004, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38862, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39008, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } } case int32('s'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38865, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39011, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('t'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38869, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39015, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38873, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39019, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38877, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39023, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38881, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39027, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('z'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38885, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39031, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -216441,20 +218212,20 @@ func _fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38889, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38869, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39035, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39015, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('b'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38892, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38895, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39038, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39041, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38899, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38885, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39045, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39031, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } @@ -216470,75 +218241,75 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38902, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39048, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38869, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39015, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38910, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39056, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38917, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39063, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(4) } } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38922, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39068, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38818, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38964, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38927, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39073, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38813, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38959, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } } case int32('e'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38932, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39078, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38885, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39031, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('g'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38937, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39083, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15909, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15988, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('l'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38942, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39088, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38895, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39041, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38946, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39092, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38810, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38956, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38951, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39097, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38854, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39000, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38957, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39103, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38961, uint64(1)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39107, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(1) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38963, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39109, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38877, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39023, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } @@ -216547,48 +218318,48 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38969, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39115, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38885, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39031, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38977, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39123, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38869, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39015, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38983, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39129, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38869, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39015, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } } } case int32('s'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38988, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39134, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38810, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38956, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38994, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39140, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38881, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39027, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39002, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39148, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39010, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39156, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39014, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39160, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38877, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39023, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } @@ -216596,21 +218367,21 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39022, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39168, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38810, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38956, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39028, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39174, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38881, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39027, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39034, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39180, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38895, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39041, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(3) } } @@ -216628,48 +218399,48 @@ func _fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39041, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39187, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38826, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38972, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } case int32('s'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39046, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39192, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39051, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39197, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38826, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38972, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39057, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39203, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38826, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38972, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39010, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39156, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39063, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39209, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } case int32('z'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39069, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39215, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38810, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38956, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } @@ -216685,13 +218456,13 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('e'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39075, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39221, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39079, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39225, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(2) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39082, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39228, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) ret = int32(1) @@ -216699,7 +218470,7 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39085, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39231, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) ret = int32(1) @@ -216860,14 +218631,14 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p break } zArg = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+int32(1))*8)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39089) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39235) { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { (*TTrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('0')) } } else { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38782) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38928) { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('2') || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { @@ -217141,7 +218912,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { Fx Tfts5_tokenizer }{ 0: { - FzName: __ccgo_ts + 38800, + FzName: __ccgo_ts + 38946, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5UnicodeCreate), FxDelete: __ccgo_fp(_fts5UnicodeDelete), @@ -217149,7 +218920,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 1: { - FzName: __ccgo_ts + 39104, + FzName: __ccgo_ts + 39250, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5AsciiCreate), FxDelete: __ccgo_fp(_fts5AsciiDelete), @@ -217157,7 +218928,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 2: { - FzName: __ccgo_ts + 39110, + FzName: __ccgo_ts + 39256, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5PorterCreate), FxDelete: __ccgo_fp(_fts5PorterDelete), @@ -217165,7 +218936,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 3: { - FzName: __ccgo_ts + 39117, + FzName: __ccgo_ts + 39263, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5TriCreate), FxDelete: __ccgo_fp(_fts5TriDelete), @@ -222699,16 +224470,16 @@ func _fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uin zCopy = _sqlite3Fts5Strndup(tls, bp, zType, -int32(1)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { _sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39125) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39271) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39129) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39275) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_ROW) } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39133) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39279) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_INSTANCE) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39142, libc.VaList(bp+16, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39288, libc.VaList(bp+16, zCopy)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -222777,15 +224548,15 @@ func _fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg var _ /* rc at bp+0 */ int32 _, _, _, _, _, _, _, _, _, _, _, _ = azSchema, bDb, nByte, nDb, nTab, pRet, zDb, zTab, zType, v1, v2, v3 azSchema = [3]uintptr{ - 0: __ccgo_ts + 39176, - 1: __ccgo_ts + 39216, - 2: __ccgo_ts + 39251, + 0: __ccgo_ts + 39322, + 1: __ccgo_ts + 39362, + 2: __ccgo_ts + 39397, } pRet = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23744, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) + bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23867, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) if argc != int32(5) && bDb == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39294, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39440, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bDb != 0 { @@ -222955,10 +224726,10 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) zSql = uintptr(0) if (*TFts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39327, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39473, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return int32(SQLITE_ERROR) } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39358, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39504, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, (*TFts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), bp+8, uintptr(0)) } @@ -222977,7 +224748,7 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39409, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39555, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } else { @@ -223279,7 +225050,7 @@ func _fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnuse if pLe != 0 { zCopy = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = __ccgo_ts + 1650 + zCopy = __ccgo_ts + 1664 } (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm+int32(1)) @@ -223403,7 +225174,7 @@ func _sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) (r int32) var p uintptr _ = p p = pGlobal - return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39435, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39581, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) } var _fts5Vocab = Tsqlite3_module{ @@ -223456,7 +225227,7 @@ func init() { // /************** End of stmt.c ************************************************/ // /* Return the source-id for this library */ func Xsqlite3_sourceid(tls *libc.TLS) (r uintptr) { - return __ccgo_ts + 39445 + return __ccgo_ts + 39591 } type TAggInfo_col = struct { @@ -223738,11 +225509,11 @@ var Xsqlite3_temp_directory uintptr // ** // ** See also: [sqlite_version()] and [sqlite_source_id()]. // */ -var Xsqlite3_version = [7]uint8{'3', '.', '4', '5', '.', '3'} +var Xsqlite3_version = [7]uint8{'3', '.', '4', '6', '.', '0'} var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data -var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-16.0.6\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%04d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00PRAGMA \"%w\".integrity_check(%Q)\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00RIGHT PART OF \x00USE TEMP B-TREE FOR %sORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00" +var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-16.0.6\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00" type Sqlite3_int64 = sqlite3_int64 type Sqlite3_mutex_methods = sqlite3_mutex_methods diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go index 4d7a2c3d2a..a454f23710 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go @@ -1,4 +1,4 @@ -// Code generated for linux/386 by 'generator -mlong-double-64 --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -extended-errors -o sqlite3.go sqlite3.c -I/tmp/libsqlite3/sqlite-amalgamation-3450300/ccgo -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. +// Code generated for linux/386 by 'generator -mlong-double-64 --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libz/include/linux/386 -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libtcl8.6/include/linux/386 -extended-errors -o sqlite3.go sqlite3.c -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. //go:build linux && 386 // +build linux,386 @@ -1061,6 +1061,7 @@ const OPFLG_IN1 = 2 const OPFLG_IN2 = 4 const OPFLG_IN3 = 8 const OPFLG_JUMP = 1 +const OPFLG_JUMP0 = 128 const OPFLG_NCYCLE = 64 const OPFLG_OUT2 = 16 const OPFLG_OUT3 = 32 @@ -1138,7 +1139,7 @@ const OP_IfNotOpen = 25 const OP_IfNotZero = 60 const OP_IfNullRow = 20 const OP_IfPos = 59 -const OP_IfSmaller = 33 +const OP_IfSizeBetween = 33 const OP_IncrVacuum = 62 const OP_Init = 8 const OP_InitCoroutine = 11 @@ -1542,6 +1543,7 @@ const SF_ComplexResult = 262144 const SF_Compound = 256 const SF_Converted = 65536 const SF_CopyCte = 67108864 +const SF_Correlated = 536870912 const SF_Distinct = 1 const SF_Expanded = 64 const SF_FixedLimit = 16384 @@ -1816,6 +1818,7 @@ const SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT = -1 const SQLITE_DEFAULT_LOOKASIDE = 40 const SQLITE_DEFAULT_MEMSTATUS = 0 const SQLITE_DEFAULT_MMAP_SIZE = 0 +const SQLITE_DEFAULT_OPTIMIZE_LIMIT = 2000 const SQLITE_DEFAULT_PAGE_SIZE = 4096 const SQLITE_DEFAULT_PCACHE_INITSZ = 20 const SQLITE_DEFAULT_PROXYDIR_PERMISSIONS = 493 @@ -1833,6 +1836,7 @@ const SQLITE_DESERIALIZE_READONLY = 4 const SQLITE_DESERIALIZE_RESIZEABLE = 2 const SQLITE_DETACH = 25 const SQLITE_DETERMINISTIC = 2048 +const SQLITE_DIGIT_SEPARATOR = 95 const SQLITE_DIRECTONLY = 524288 const SQLITE_DIRECT_OVERFLOW_READ = 1 const SQLITE_DONE = 101 @@ -2257,7 +2261,7 @@ const SQLITE_SHM_SHARED = 4 const SQLITE_SHM_UNLOCK = 1 const SQLITE_SORTER_PMASZ = 250 const SQLITE_SOUNDEX = 1 -const SQLITE_SOURCE_ID = "2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355" +const SQLITE_SOURCE_ID = "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e" const SQLITE_SO_ASC = 0 const SQLITE_SO_DESC = 1 const SQLITE_SO_UNDEFINED = -1 @@ -2365,8 +2369,8 @@ const SQLITE_UTF16LE = 2 const SQLITE_UTF16NATIVE = 2 const SQLITE_UTF16_ALIGNED = 8 const SQLITE_UTF8 = 1 -const SQLITE_VERSION = "3.45.3" -const SQLITE_VERSION_NUMBER = 3045003 +const SQLITE_VERSION = "3.46.0" +const SQLITE_VERSION_NUMBER = 3046000 const SQLITE_VTABRISK_High = 2 const SQLITE_VTABRISK_Low = 0 const SQLITE_VTABRISK_Normal = 1 @@ -2527,11 +2531,11 @@ const TF_HasStat1 = 16 const TF_HasStat4 = 8192 const TF_HasStored = 64 const TF_HasVirtual = 32 +const TF_MaybeReanalyze = 256 const TF_NoVisibleRowid = 512 const TF_OOOHidden = 1024 const TF_Readonly = 1 const TF_Shadow = 4096 -const TF_StatsUsed = 256 const TF_Strict = 65536 const TF_WithoutRowid = 128 const TIMER_ABSTIME = 1 @@ -2688,7 +2692,7 @@ const TK_ID = 59 const TK_IF = 18 const TK_IF_NULL_ROW = 179 const TK_IGNORE = 63 -const TK_ILLEGAL = 184 +const TK_ILLEGAL = 185 const TK_IMMEDIATE = 8 const TK_IN = 49 const TK_INDEX = 161 @@ -2736,6 +2740,7 @@ const TK_PRAGMA = 70 const TK_PRECEDING = 88 const TK_PRIMARY = 122 const TK_PTR = 112 +const TK_QNUMBER = 183 const TK_QUERY = 3 const TK_RAISE = 71 const TK_RANGE = 89 @@ -2760,7 +2765,7 @@ const TK_SELECT_COLUMN = 178 const TK_SEMI = 1 const TK_SET = 130 const TK_SLASH = 109 -const TK_SPACE = 183 +const TK_SPACE = 184 const TK_SPAN = 181 const TK_STAR = 108 const TK_STRING = 117 @@ -2773,12 +2778,12 @@ const TK_TRANSACTION = 6 const TK_TRIGGER = 77 const TK_TRUEFALSE = 170 const TK_TRUTH = 175 -const TK_UMINUS = 173 +const TK_UMINUS = 174 const TK_UNBOUNDED = 90 const TK_UNION = 134 const TK_UNIQUE = 123 const TK_UPDATE = 129 -const TK_UPLUS = 174 +const TK_UPLUS = 173 const TK_USING = 144 const TK_VACUUM = 78 const TK_VALUES = 139 @@ -2934,31 +2939,37 @@ const W_OK = 2 const XN_EXPR = -2 const XN_ROWID = -1 const X_OK = 1 +const YYDYNSTACK = 1 const YYFALLBACK = 1 +const YYFREE = 0 +const YYGROWABLESTACK = 1 const YYMALLOCARGTYPE = 0 -const YYNOCODE = 319 +const YYNOCODE = 322 const YYNOERRORRECOVERY = 1 -const YYNRULE = 405 -const YYNRULE_WITH_ACTION = 340 -const YYNSTATE = 579 -const YYNTOKEN = 185 +const YYNRULE = 409 +const YYNRULE_WITH_ACTION = 344 +const YYNSTATE = 583 +const YYNTOKEN = 186 const YYPARSEFREENEVERNULL = 1 +const YYREALLOC = 0 const YYSTACKDEPTH = 100 const YYWILDCARD = 101 -const YY_ACCEPT_ACTION = 1244 -const YY_ACTTAB_COUNT = 2100 -const YY_ERROR_ACTION = 1243 -const YY_MAX_REDUCE = 1650 -const YY_MAX_SHIFT = 578 -const YY_MAX_SHIFTREDUCE = 1242 -const YY_MIN_REDUCE = 1246 -const YY_MIN_SHIFTREDUCE = 838 -const YY_NO_ACTION = 1245 -const YY_REDUCE_COUNT = 410 -const YY_REDUCE_MAX = 1753 -const YY_REDUCE_MIN = -271 -const YY_SHIFT_COUNT = 578 -const YY_SHIFT_MAX = 2088 +const YY_ACCEPT_ACTION = 1255 +const YY_ACTTAB_COUNT = 2142 +const YY_ERROR_ACTION = 1254 +const YY_MAX_DSTRCTR = 319 +const YY_MAX_REDUCE = 1665 +const YY_MAX_SHIFT = 582 +const YY_MAX_SHIFTREDUCE = 1253 +const YY_MIN_DSTRCTR = 205 +const YY_MIN_REDUCE = 1257 +const YY_MIN_SHIFTREDUCE = 845 +const YY_NO_ACTION = 1256 +const YY_REDUCE_COUNT = 411 +const YY_REDUCE_MAX = 1798 +const YY_REDUCE_MIN = -275 +const YY_SHIFT_COUNT = 582 +const YY_SHIFT_MAX = 2128 const YY_SHIFT_MIN = 0 const _ALLOCA_H = 1 const _ASSERT_H = 1 @@ -3622,6 +3633,9 @@ const fdatasync = 0 const first_valueInvFunc = 0 const first_valueValueFunc = 0 const fts5GetVarint = 0 +const fts5YYDYNSTACK = 0 +const fts5YYFREE = 0 +const fts5YYGROWABLESTACK = 0 const fts5YYMALLOCARGTYPE = 0 const fts5YYNFTS5TOKEN = 16 const fts5YYNOCODE = 27 @@ -3630,13 +3644,16 @@ const fts5YYNRULE = 28 const fts5YYNRULE_WITH_ACTION = 28 const fts5YYNSTATE = 35 const fts5YYPARSEFREENOTNULL = 1 +const fts5YYREALLOC = 0 const fts5YYSTACKDEPTH = 100 const fts5YY_ACCEPT_ACTION = 81 const fts5YY_ACTTAB_COUNT = 105 const fts5YY_ERROR_ACTION = 80 +const fts5YY_MAX_DSTRCTR = 24 const fts5YY_MAX_REDUCE = 110 const fts5YY_MAX_SHIFT = 34 const fts5YY_MAX_SHIFTREDUCE = 79 +const fts5YY_MIN_DSTRCTR = 16 const fts5YY_MIN_REDUCE = 83 const fts5YY_MIN_SHIFTREDUCE = 52 const fts5YY_NO_ACTION = 82 @@ -4059,11 +4076,11 @@ type sqlite3_file1 = Tsqlite3_file1 // ** // ** xLock() upgrades the database file lock. In other words, xLock() moves the // ** database file lock in the direction NONE toward EXCLUSIVE. The argument to -// ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never +// ** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never // ** SQLITE_LOCK_NONE. If the database file lock is already at or above the // ** requested lock, then the call to xLock() is a no-op. // ** xUnlock() downgrades the database file lock to either SHARED or NONE. -// * If the lock is already at or below the requested lock state, then the call +// ** If the lock is already at or below the requested lock state, then the call // ** to xUnlock() is a no-op. // ** The xCheckReservedLock() method checks whether any database connection, // ** either in this process or in some other process, is holding a RESERVED, @@ -5843,6 +5860,7 @@ type Tsqlite3_changegroup = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -6169,8 +6187,8 @@ type Fts5PhraseIter1 = TFts5PhraseIter1 ** EXTENSION API FUNCTIONS ** ** xUserData(pFts): -** Return a copy of the context pointer the extension function was -** registered with. +** Return a copy of the pUserData pointer passed to the xCreateFunction() +** API when the extension function was registered. ** ** xColumnTotalSize(pFts, iCol, pnToken): ** If parameter iCol is less than zero, set output variable *pnToken @@ -7932,7 +7950,7 @@ type uptr = Tuptr ** 0x00000010 Display sqlite3_index_info xBestIndex calls ** 0x00000020 Range an equality scan metrics ** 0x00000040 IN operator decisions -** 0x00000080 WhereLoop cost adjustements +** 0x00000080 WhereLoop cost adjustments ** 0x00000100 ** 0x00000200 Covering index decisions ** 0x00000400 OR optimization @@ -8445,6 +8463,7 @@ type TParse = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -8663,6 +8682,7 @@ type TSrcItem = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -10942,10 +10962,12 @@ type IdList1 = TIdList1 ** ** Union member validity: ** -** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc -** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy -** u2.pIBIndex fg.isIndexedBy && !fg.isCte -** u2.pCteUse fg.isCte && !fg.isIndexedBy +** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc +** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy +** u1.nRow !fg.isTabFunc && !fg.isIndexedBy +** +** u2.pIBIndex fg.isIndexedBy && !fg.isCte +** u2.pCteUse fg.isCte && !fg.isIndexedBy */ type TSrcItem1 = struct { FpSchema uintptr @@ -10971,6 +10993,7 @@ type TSrcItem1 = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -11374,6 +11397,7 @@ type TParse1 = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -12735,12 +12759,12 @@ var _sqlite3WhereTrace = uint32(0) var _sqlite3OpcodeProperty = [190]uint8{ 4: uint8(0x10), 6: uint8(0x41), - 8: uint8(0x01), + 8: uint8(0x81), 9: uint8(0x01), 10: uint8(0x01), - 11: uint8(0x01), - 12: uint8(0x03), - 13: uint8(0x03), + 11: uint8(0x81), + 12: uint8(0x83), + 13: uint8(0x83), 14: uint8(0x01), 15: uint8(0x01), 16: uint8(0x03), @@ -12748,22 +12772,22 @@ var _sqlite3OpcodeProperty = [190]uint8{ 18: uint8(0x01), 19: uint8(0x12), 20: uint8(0x01), - 21: uint8(0x49), - 22: uint8(0x49), - 23: uint8(0x49), - 24: uint8(0x49), + 21: uint8(0xc9), + 22: uint8(0xc9), + 23: uint8(0xc9), + 24: uint8(0xc9), 25: uint8(0x01), 26: uint8(0x49), 27: uint8(0x49), 28: uint8(0x49), 29: uint8(0x49), - 30: uint8(0x49), + 30: uint8(0xc9), 31: uint8(0x49), - 32: uint8(0x41), + 32: uint8(0xc1), 33: uint8(0x01), 34: uint8(0x41), 35: uint8(0x41), - 36: uint8(0x41), + 36: uint8(0xc1), 37: uint8(0x01), 38: uint8(0x41), 39: uint8(0x41), @@ -12775,7 +12799,7 @@ var _sqlite3OpcodeProperty = [190]uint8{ 45: uint8(0x41), 46: uint8(0x23), 47: uint8(0x0b), - 48: uint8(0x01), + 48: uint8(0x81), 49: uint8(0x01), 50: uint8(0x03), 51: uint8(0x03), @@ -13645,7 +13669,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin var pMutex, v1 uintptr _, _ = pMutex, v1 if op < 0 || op >= int32(libc.Uint32FromInt64(40)/libc.Uint32FromInt64(4)) { - return _sqlite3MisuseError(tls, int32(23890)) + return _sqlite3MisuseError(tls, int32(23961)) } if _statMutex[op] != 0 { v1 = _sqlite3Pcache1Mutex(tls) @@ -14008,43 +14032,37 @@ type itimerspec = Titimerspec // ** A structure for holding a single date and time. // */ type TDateTime = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - FuseSubsec int8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FvalidYMD int8 + FvalidHMS int8 + FnFloor int8 + F__ccgo44 uint8 } type DateTime = TDateTime type TDateTime1 = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - FuseSubsec int8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FvalidYMD int8 + FvalidHMS int8 + FnFloor int8 + F__ccgo44 uint8 } type DateTime1 = TDateTime1 @@ -14171,6 +14189,8 @@ func _parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { } else { if c == int32('Z') || c == int32('z') { zDate++ + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) goto zulu_time } else { return libc.BoolInt32(c != 0) @@ -14189,7 +14209,6 @@ zulu_time: for int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate)))])&int32(0x01) != 0 { zDate++ } - (*TDateTime)(unsafe.Pointer(p)).FtzSet = int8(1) return libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zDate))) != 0) } @@ -14206,11 +14225,10 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var ms, rScale float64 - var v1 int32 var _ /* h at bp+0 */ int32 var _ /* m at bp+4 */ int32 var _ /* s at bp+8 */ int32 - _, _, _ = ms, rScale, v1 + _, _ = ms, rScale ms = float64(0) if _getDigits(tls, zDate, __ccgo_ts+1162, libc.VaList(bp+24, bp, bp+4)) != int32(2) { return int32(1) @@ -14236,7 +14254,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { *(*int32)(unsafe.Pointer(bp + 8)) = 0 } (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) (*TDateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp)) (*TDateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 4)) @@ -14244,12 +14262,6 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { if _parseTimezone(tls, zDate, p) != 0 { return int32(1) } - if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { - v1 = int32(1) - } else { - v1 = 0 - } - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = int8(v1) return 0 } @@ -14260,7 +14272,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { // */ func _datetimeError(tls *libc.TLS, p uintptr) { libc.Xmemset(tls, p, 0, uint32(48)) - (*TDateTime)(unsafe.Pointer(p)).FisError = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 1, 0x2) } // C documentation @@ -14286,7 +14298,7 @@ func _computeJD(tls *libc.TLS, p uintptr) { M = int32(1) D = int32(1) } - if Y < -int32(4713) || Y > int32(9999) || (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Y < -int32(4713) || Y > int32(9999) || int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { _datetimeError(tls, p) return } @@ -14302,11 +14314,44 @@ func _computeJD(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) if (*TDateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) += int64((*TDateTime)(unsafe.Pointer(p)).Fh*int32(3600000)+(*TDateTime)(unsafe.Pointer(p)).Fm*int32(60000)) + int64((*TDateTime)(unsafe.Pointer(p)).Fs*libc.Float64FromInt32(1000)+libc.Float64FromFloat64(0.5)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64((*TDateTime)(unsafe.Pointer(p)).Ftz * int32(60000)) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + } + } +} + +// C documentation +// +// /* +// ** Given the YYYY-MM-DD information current in p, determine if there +// ** is day-of-month overflow and set nFloor to the number of days that +// ** would need to be subtracted from the date in order to bring the +// ** date back to the end of the month. +// */ +func _computeFloor(tls *libc.TLS, p uintptr) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if (*TDateTime)(unsafe.Pointer(p)).FD <= int32(28) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } else { + if int32(1)<<(*TDateTime)(unsafe.Pointer(p)).FM&int32(0x15aa) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } else { + if (*TDateTime)(unsafe.Pointer(p)).FM != int32(2) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = libc.BoolInt8((*TDateTime)(unsafe.Pointer(p)).FD == libc.Int32FromInt32(31)) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FY%int32(4) != 0 || (*TDateTime)(unsafe.Pointer(p)).FY%int32(100) == 0 && (*TDateTime)(unsafe.Pointer(p)).FY%int32(400) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = int8((*TDateTime)(unsafe.Pointer(p)).FD - int32(28)) + } else { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = int8((*TDateTime)(unsafe.Pointer(p)).FD - int32(29)) + } + } } } } @@ -14365,12 +14410,15 @@ func _parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FY = v1 (*TDateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 4)) (*TDateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 8)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + _computeFloor(tls, p) + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { _computeJD(tls, p) } return 0 } +/* Forward declaration */ + // C documentation // // /* @@ -14382,6 +14430,9 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) (*TDateTime)(unsafe.Pointer(p)).FiJD = _sqlite3StmtCurrentTime(tls, context) if (*TDateTime)(unsafe.Pointer(p)).FiJD > 0 { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + _clearYMD_HMS_TZ(tls, p) return 0 } else { return int32(1) @@ -14399,7 +14450,7 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) // */ func _setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { (*TDateTime)(unsafe.Pointer(p)).Fs = r - (*TDateTime)(unsafe.Pointer(p)).FrawS = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 0, 0x1) if r >= float64(0) && r < float64(5.3734845e+06) { (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r*libc.Float64FromFloat64(8.64e+07) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) @@ -14442,7 +14493,7 @@ func _parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) return 0 } else { if (_sqlite3StrICmp(tls, zDate, __ccgo_ts+1190) == 0 || _sqlite3StrICmp(tls, zDate, __ccgo_ts+1197) == 0) && _sqlite3NotPureFunc(tls, context) != 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) return _setDateTimeToCurrent(tls, context, p) } } @@ -14534,7 +14585,7 @@ func _computeHMS(tls *libc.TLS, p uintptr) { day_min = day_ms / int32(60000) (*TDateTime)(unsafe.Pointer(p)).Fm = day_min % int32(60) (*TDateTime)(unsafe.Pointer(p)).Fh = day_min / int32(60) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) } @@ -14556,7 +14607,7 @@ func _computeYMD_HMS(tls *libc.TLS, p uintptr) { func _clearYMD_HMS_TZ(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 } /* @@ -14657,9 +14708,9 @@ func _toLocaltime(tls *libc.TLS, p uintptr, pCtx uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = int8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 - (*TDateTime)(unsafe.Pointer(p)).FisError = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 1, 0x2) return SQLITE_OK } @@ -14707,13 +14758,13 @@ var _aXformType = [6]struct { FnName: uint8(5), FzName: [7]int8{'m', 'o', 'n', 't', 'h'}, FrLimit: float32(176546), - FrXform: float32(2.592e+06), + FrXform: float32(libc.Float64FromFloat64(30) * libc.Float64FromFloat64(86400)), }, 5: { FnName: uint8(4), FzName: [7]int8{'y', 'e', 'a', 'r'}, FrLimit: float32(14713), - FrXform: float32(3.1536e+07), + FrXform: float32(libc.Float64FromFloat64(365) * libc.Float64FromFloat64(86400)), }, } @@ -14727,15 +14778,15 @@ var _aXformType = [6]struct { func _autoAdjustDate(tls *libc.TLS, p uintptr) { var r float64 _ = r - if !((*TDateTime)(unsafe.Pointer(p)).FrawS != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + if !(int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } else { if (*TDateTime)(unsafe.Pointer(p)).Fs >= float64(int64(-libc.Int32FromInt32(21086676))*libc.Int64FromInt32(10000)) && (*TDateTime)(unsafe.Pointer(p)).Fs <= float64(libc.Int64FromInt32(25340230)*libc.Int64FromInt32(10000)+libc.Int64FromInt32(799)) { r = (*TDateTime)(unsafe.Pointer(p)).Fs*float64(1000) + float64(2.1086676e+14) _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } } @@ -14752,14 +14803,20 @@ func _autoAdjustDate(tls *libc.TLS, p uintptr) { // ** NNN.NNNN seconds // ** NNN months // ** NNN years +// ** +/-YYYY-MM-DD HH:MM:SS.SSS +// ** ceiling +// ** floor // ** start of month // ** start of year // ** start of week // ** start of day // ** weekday N // ** unixepoch +// ** auto // ** localtime // ** utc +// ** subsec +// ** subsecond // ** // ** Return 0 on success and 1 if there is any kind of error. If the error // ** is in a system call (i.e. localtime()), then an error message is written @@ -14770,12 +14827,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, bp := tls.Alloc(160) defer tls.Free(160) var Z, day Tsqlite3_int64 - var cnt, i, rc, x, y, v12, v2, v5, v7, v9 int32 - var iErr, iGuess, iOrigJD, v1 Ti64 - var rRounder, v10 float64 + var cnt, i, rc, x, y, v1, v10, v13, v3, v6, v8 int32 + var iErr, iGuess, iOrigJD, v2 Ti64 + var rRounder, v11 float64 var z0 int8 var z2 uintptr - var v3, v6 bool + var v4, v7 bool var _ /* D at bp+64 */ int32 var _ /* M at bp+60 */ int32 var _ /* Y at bp+56 */ int32 @@ -14784,7 +14841,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, var _ /* new at bp+8 */ TDateTime var _ /* r at bp+0 */ float64 var _ /* tx at bp+76 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v12, v2, v3, v5, v6, v7, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v11, v13, v2, v3, v4, v6, v7, v8 rc = int32(1) switch int32(_sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z)))]) { case int32('a'): @@ -14801,6 +14858,33 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _autoAdjustDate(tls, p) rc = 0 } + case int32('c'): + /* + ** ceiling + ** + ** Resolve day-of-month overflow by rolling forward into the next + ** month. As this is the default action, this modifier is really + ** a no-op that is only included for symmetry. See "floor". + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1235) == 0 { + _computeJD(tls, p) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } + case int32('f'): + /* + ** floor + ** + ** Resolve day-of-month overflow by rolling back to the end of the + ** previous month. + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1243) == 0 { + _computeJD(tls, p) + *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64(int32((*TDateTime)(unsafe.Pointer(p)).FnFloor) * int32(86400000)) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + } case int32('j'): /* ** julianday @@ -14810,13 +14894,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** value in the allowed range of julian day numbers understood by ** SQLite (0..5373484.5) then the result will be NULL. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1235) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1249) == 0 { if idx > int32(1) { return int32(1) } /* IMP: R-31176-64601 */ - if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { rc = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } case int32('l'): @@ -14825,8 +14909,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Assuming the current time value is UTC (a.k.a. GMT), shift it to ** show local time. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1245) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - rc = _toLocaltime(tls, p, pCtx) + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1259) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x10>>4)) != 0 { + v1 = SQLITE_OK + } else { + v1 = _toLocaltime(tls, p, pCtx) + } + rc = v1 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 4, 0x10) } case int32('u'): /* @@ -14835,7 +14926,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Treat the current value of p->s as the number of ** seconds since 1970. Convert to a real julian day number. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1255) == 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1269) == 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { if idx > int32(1) { return int32(1) } /* IMP: R-49255-55373 */ @@ -14844,17 +14935,17 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(*(*float64)(unsafe.Pointer(bp)) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) rc = 0 } } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1265) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - if int32((*TDateTime)(unsafe.Pointer(p)).FtzSet) == 0 { /* Guess at the corresponding utc time */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1279) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x8>>3)) == 0 { /* Guess at the corresponding utc time */ cnt = 0 /* Guess is off by this much */ _computeJD(tls, p) - v1 = (*TDateTime)(unsafe.Pointer(p)).FiJD - iOrigJD = v1 - iGuess = v1 + v2 = (*TDateTime)(unsafe.Pointer(p)).FiJD + iOrigJD = v2 + iGuess = v2 iErr = 0 for { libc.Xmemset(tls, bp+8, 0, uint32(48)) @@ -14867,21 +14958,22 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, bp+8) iErr = (*(*TDateTime)(unsafe.Pointer(bp + 8))).FiJD - iOrigJD - goto _4 - _4: + goto _5 + _5: ; - if v3 = iErr != 0; v3 { - v2 = cnt + if v4 = iErr != 0; v4 { + v3 = cnt cnt++ } - if !(v3 && v2 < int32(3)) { + if !(v4 && v3 < int32(3)) { break } } libc.Xmemset(tls, p, 0, uint32(48)) (*TDateTime)(unsafe.Pointer(p)).FiJD = iGuess (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FtzSet = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) } rc = SQLITE_OK } @@ -14894,13 +14986,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** weekday N where 0==Sunday, 1==Monday, and so forth. If the ** date is already on the appropriate weekday, this is a no-op. */ - if v6 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1269, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v6 { - v5 = int32(*(*float64)(unsafe.Pointer(bp))) - n = v5 + if v7 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1283, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v7 { + v6 = int32(*(*float64)(unsafe.Pointer(bp))) + n = v6 } - if v6 && float64(v5) == *(*float64)(unsafe.Pointer(bp)) { + if v7 && float64(v6) == *(*float64)(unsafe.Pointer(bp)) { _computeYMD_HMS(tls, p) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 _computeJD(tls, p) Z = ((*TDateTime)(unsafe.Pointer(p)).FiJD + int64(129600000)) / int64(86400000) % int64(7) @@ -14924,9 +15016,9 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Show subsecond precision in the output of datetime() and ** unixepoch() and strftime('%s'). */ - if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1278, int32(9)) != 0 { + if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1292, int32(9)) != 0 { if Xsqlite3_stricmp(tls, z, __ccgo_ts+1190) == 0 || Xsqlite3_stricmp(tls, z, __ccgo_ts+1197) == 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) rc = 0 } break @@ -14937,23 +15029,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z += uintptr(9) _computeYMD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) - v7 = libc.Int32FromInt32(0) - (*TDateTime)(unsafe.Pointer(p)).Fm = v7 - (*TDateTime)(unsafe.Pointer(p)).Fh = v7 + v8 = libc.Int32FromInt32(0) + (*TDateTime)(unsafe.Pointer(p)).Fm = v8 + (*TDateTime)(unsafe.Pointer(p)).Fh = v8 (*TDateTime)(unsafe.Pointer(p)).Fs = float64(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1288) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1302) == 0 { (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1294) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1308) == 0 { (*TDateTime)(unsafe.Pointer(p)).FM = int32(1) (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1299) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1313) == 0 { rc = 0 } } @@ -14995,15 +15087,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == int32('-') { - if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1303, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1317, libc.VaList(bp+136, bp+56)) == int32(1) { break } - if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1307, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1321, libc.VaList(bp+136, bp+56)) == int32(1) { break } } - goto _8 - _8: + goto _9 + _9: ; n++ } @@ -15020,12 +15112,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } /* Must start with +/- */ if n == int32(5) { - if _getDigits(tls, z+1, __ccgo_ts+1311, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1325, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } } else { _ = libc.Int32FromInt32(0) - if _getDigits(tls, z+1, __ccgo_ts+1323, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1337, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } z++ @@ -15047,13 +15139,14 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, *(*int32)(unsafe.Pointer(p + 12)) += *(*int32)(unsafe.Pointer(bp + 60)) } if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v9 + x = v10 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) _computeJD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 @@ -15097,7 +15190,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z++ } n = _sqlite3Strlen30(tls, z) - if n > int32(10) || n < int32(3) { + if n < int32(3) || n > int32(10) { break } if int32(_sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z + uintptr(n-int32(1)))))]) == int32('s') { @@ -15106,11 +15199,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeJD(tls, p) _ = libc.Int32FromInt32(0) if *(*float64)(unsafe.Pointer(bp)) < libc.Float64FromInt32(0) { - v10 = -libc.Float64FromFloat64(0.5) + v11 = -libc.Float64FromFloat64(0.5) } else { - v10 = +libc.Float64FromFloat64(0.5) + v11 = +libc.Float64FromFloat64(0.5) } - rRounder = v10 + rRounder = v11 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 i = 0 for { if !(i < int32(libc.Uint32FromInt64(96)/libc.Uint32FromInt64(16))) { @@ -15123,20 +15217,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 12)) += int32(*(*float64)(unsafe.Pointer(bp))) if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v12 + x = v13 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) case int32(5): /* Special processing to add years */ y = int32(*(*float64)(unsafe.Pointer(bp))) _ = libc.Int32FromInt32(0) _computeYMD_HMS(tls, p) + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(p + 8)) += y + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) break @@ -15146,8 +15243,8 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, rc = 0 break } - goto _11 - _11: + goto _12 + _12: ; i++ } @@ -15206,7 +15303,7 @@ func _isDate(tls *libc.TLS, context uintptr, argc int32, argv uintptr, p uintptr i++ } _computeJD(tls, p) - if (*TDateTime)(unsafe.Pointer(p)).FisError != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x2>>1)) != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { return int32(1) } if argc == int32(1) && (*TDateTime)(unsafe.Pointer(p)).FvalidYMD != 0 && (*TDateTime)(unsafe.Pointer(p)).FD > int32(28) { @@ -15254,7 +15351,7 @@ func _unixepochFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _ /* x at bp+0 */ TDateTime if _isDate(tls, context, argc, argv, bp) == 0 { _computeJD(tls, bp) - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { Xsqlite3_result_double(tls, context, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000)) } else { Xsqlite3_result_int64(tls, context, (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/int64(1000)-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000)) @@ -15299,7 +15396,7 @@ func _datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(15)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(16)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(17)] = int8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(18)] = int8(int32('0') + s/int32(10000)%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(19)] = int8(int32('0') + s/int32(1000)%int32(10)) @@ -15347,7 +15444,7 @@ func _timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(3)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(4)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(5)] = int8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(6)] = int8(int32('0') + s/int32(10000)%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(7)] = int8(int32('0') + s/int32(1000)%int32(10)) @@ -15408,6 +15505,62 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } +// C documentation +// +// /* +// ** Compute the number of days after the most recent January 1. +// ** +// ** In other words, compute the zero-based day number for the +// ** current year: +// ** +// ** Jan01 = 0, Jan02 = 1, ..., Jan31 = 30, Feb01 = 31, ... +// ** Dec31 = 364 or 365. +// */ +func _daysAfterJan01(tls *libc.TLS, pDate uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* jan01 at bp+0 */ TDateTime + *(*TDateTime)(unsafe.Pointer(bp)) = *(*TDateTime)(unsafe.Pointer(pDate)) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + (*(*TDateTime)(unsafe.Pointer(bp))).FvalidJD = 0 + (*(*TDateTime)(unsafe.Pointer(bp))).FM = int32(1) + (*(*TDateTime)(unsafe.Pointer(bp))).FD = int32(1) + _computeJD(tls, bp) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD - (*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Monday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Monday, 1=Tuesday, 2=Wednesday, ..., 6=Sunday. +// */ +func _daysAfterMonday(tls *libc.TLS, pDate uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(43200000))/libc.Int64FromInt32(86400000)) % int32(7) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Sunday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Sunday, 1=Monday, 2=Tues, ..., 6=Saturday +// */ +func _daysAfterSunday(tls *libc.TLS, pDate uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)) % int32(7) +} + // C documentation // // /* @@ -15415,33 +15568,48 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // ** // ** Return a string described by FORMAT. Conversions as follows: // ** -// ** %d day of month +// ** %d day of month 01-31 +// ** %e day of month 1-31 // ** %f ** fractional seconds SS.SSS +// ** %F ISO date. YYYY-MM-DD +// ** %G ISO year corresponding to %V 0000-9999. +// ** %g 2-digit ISO year corresponding to %V 00-99 // ** %H hour 00-24 -// ** %j day of year 000-366 +// ** %k hour 0-24 (leading zero converted to space) +// ** %I hour 01-12 +// ** %j day of year 001-366 // ** %J ** julian day number +// ** %l hour 1-12 (leading zero converted to space) // ** %m month 01-12 // ** %M minute 00-59 +// ** %p "am" or "pm" +// ** %P "AM" or "PM" +// ** %R time as HH:MM // ** %s seconds since 1970-01-01 // ** %S seconds 00-59 -// ** %w day of week 0-6 Sunday==0 -// ** %W week of year 00-53 +// ** %T time as HH:MM:SS +// ** %u day of week 1-7 Monday==1, Sunday==7 +// ** %w day of week 0-6 Sunday==0, Monday==1 +// ** %U week of year 00-53 (First Sunday is start of week 01) +// ** %V week of year 01-53 (First week containing Thursday is week 01) +// ** %W week of year 00-53 (First Monday is start of week 01) // ** %Y year 0000-9999 // ** %% % // */ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(208) + defer tls.Free(208) var c, cf int8 var db, zFmt, v3, v4, v5, v6, v7 uintptr - var h, nDay, wd int32 + var h int32 var i, j, v2 Tsize_t var iS Ti64 var s float64 var _ /* sRes at bp+48 */ Tsqlite3_str var _ /* x at bp+0 */ TDateTime + var _ /* y at bp+120 */ TDateTime var _ /* y at bp+72 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, nDay, s, wd, zFmt, v2, v3, v4, v5, v6, v7 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, s, zFmt, v2, v3, v4, v5, v6, v7 if argc == 0 { return } @@ -15474,28 +15642,42 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { fallthrough case int32('e'): if int32(cf) == int32('d') { - v3 = __ccgo_ts + 1335 + v3 = __ccgo_ts + 1349 } else { - v3 = __ccgo_ts + 1340 + v3 = __ccgo_ts + 1354 } - Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) - case int32('f'): + Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('f'): /* Fractional seconds. (Non-standard) */ s = (*(*TDateTime)(unsafe.Pointer(bp))).Fs if s > float64(59.999) { s = float64(59.999) } - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1344, libc.VaList(bp+128, s)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+176, s)) case int32('F'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1365, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('G'): /* Fall thru */ + fallthrough + case int32('g'): + *(*TDateTime)(unsafe.Pointer(bp + 72)) = *(*TDateTime)(unsafe.Pointer(bp)) + _ = libc.Int32FromInt32(0) + /* Move y so that it is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 72))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 72))).FvalidYMD = 0 + _computeYMD(tls, bp+72) + if int32(cf) == int32('g') { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp + 72))).FY%int32(100))) + } else { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1380, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp + 72))).FY)) + } case int32('H'): fallthrough case int32('k'): if int32(cf) == int32('H') { - v4 = __ccgo_ts + 1335 + v4 = __ccgo_ts + 1349 } else { - v4 = __ccgo_ts + 1340 + v4 = __ccgo_ts + 1354 } - Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) + Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) case int32('I'): /* Fall thru */ fallthrough case int32('l'): @@ -15507,73 +15689,72 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { h = int32(12) } if int32(cf) == int32('I') { - v5 = __ccgo_ts + 1335 + v5 = __ccgo_ts + 1349 } else { - v5 = __ccgo_ts + 1340 + v5 = __ccgo_ts + 1354 } - Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+128, h)) - case int32('W'): /* Fall thru */ - fallthrough - case int32('j'): /* Number of days since 1st day of year */ - *(*TDateTime)(unsafe.Pointer(bp + 72)) = *(*TDateTime)(unsafe.Pointer(bp)) - (*(*TDateTime)(unsafe.Pointer(bp + 72))).FvalidJD = 0 - (*(*TDateTime)(unsafe.Pointer(bp + 72))).FM = int32(1) - (*(*TDateTime)(unsafe.Pointer(bp + 72))).FD = int32(1) - _computeJD(tls, bp+72) - nDay = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD - (*(*TDateTime)(unsafe.Pointer(bp + 72))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) - if int32(cf) == int32('W') { /* 0=Monday, 1=Tuesday, ... 6=Sunday */ - wd = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000) % libc.Int64FromInt32(7)) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+128, (nDay+int32(7)-wd)/int32(7))) - } else { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1366, libc.VaList(bp+128, nDay+int32(1))) - } - case int32('J'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1371, libc.VaList(bp+128, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) + Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+176, h)) + case int32('j'): /* Day of year. Jan01==1, Jan02==2, and so forth */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1385, libc.VaList(bp+176, _daysAfterJan01(tls, bp)+int32(1))) + case int32('J'): /* Julian day number. (Non-standard) */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1390, libc.VaList(bp+176, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) case int32('m'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) case int32('M'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('p'): /* Fall thru */ fallthrough case int32('P'): if (*(*TDateTime)(unsafe.Pointer(bp))).Fh >= int32(12) { if int32(cf) == int32('p') { - v6 = __ccgo_ts + 1377 + v6 = __ccgo_ts + 1396 } else { - v6 = __ccgo_ts + 1380 + v6 = __ccgo_ts + 1399 } Xsqlite3_str_append(tls, bp+48, v6, int32(2)) } else { if int32(cf) == int32('p') { - v7 = __ccgo_ts + 1383 + v7 = __ccgo_ts + 1402 } else { - v7 = __ccgo_ts + 1386 + v7 = __ccgo_ts + 1405 } Xsqlite3_str_append(tls, bp+48, v7, int32(2)) } case int32('R'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1389, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1408, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('s'): - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1399, libc.VaList(bp+128, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1418, libc.VaList(bp+176, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) } else { iS = (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/libc.Int64FromInt32(1000) - libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1404, libc.VaList(bp+128, iS)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1423, libc.VaList(bp+176, iS)) } case int32('S'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+128, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+176, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) case int32('T'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1409, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) - case int32('u'): /* Fall thru */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1428, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + case int32('u'): /* Day of week. 1 to 7. Monday==1, Sunday==7 */ fallthrough - case int32('w'): - c = int8(int32(int8(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)%libc.Int64FromInt32(7))) + int32('0')) + case int32('w'): /* Day of week. 0 to 6. Sunday==0, Monday==1 */ + c = int8(int32(int8(_daysAfterSunday(tls, bp))) + int32('0')) if int32(c) == int32('0') && int32(cf) == int32('u') { c = int8('7') } Xsqlite3_str_appendchar(tls, bp+48, int32(1), c) + case int32('U'): /* Week num. 00-53. First Sun of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+176, (_daysAfterJan01(tls, bp)-_daysAfterSunday(tls, bp)+int32(7))/int32(7))) + case int32('V'): /* Week num. 01-53. First week with a Thur is week 01 */ + *(*TDateTime)(unsafe.Pointer(bp + 120)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Adjust y so that is the Thursday in the same week as x */ + _ = libc.Int32FromInt32(0) + (*(*TDateTime)(unsafe.Pointer(bp + 120))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 120))).FvalidYMD = 0 + _computeYMD(tls, bp+120) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+176, _daysAfterJan01(tls, bp+120)/int32(7)+int32(1))) + case int32('W'): /* Week num. 00-53. First Mon of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+176, (_daysAfterJan01(tls, bp)-_daysAfterMonday(tls, bp)+int32(7))/int32(7))) case int32('Y'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1424, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1380, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) case int32('%'): Xsqlite3_str_appendchar(tls, bp+48, int32(1), int8('%')) default: @@ -15726,12 +15907,10 @@ func _timediffFunc(tls *libc.TLS, context uintptr, NotUsed1 int32, argv uintptr) p2 = bp *(*Tsqlite3_int64)(unsafe.Pointer(p2)) = Tsqlite3_int64(uint64(*(*Tsqlite3_int64)(unsafe.Pointer(p2))) + libc.Uint64FromInt32(1486995408)*libc.Uint64FromInt32(100000)) } - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidYMD = 0 - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidHMS = 0 - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidTZ = 0 + _clearYMD_HMS_TZ(tls, bp) _computeYMD_HMS(tls, bp) _sqlite3StrAccumInit(tls, bp+96, uintptr(0), uintptr(0), 0, int32(100)) - Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1429, libc.VaList(bp+128, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) + Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1443, libc.VaList(bp+128, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) _sqlite3ResultStrAccum(tls, context, bp+96) } @@ -15764,55 +15943,55 @@ var _aDateTimeFuncs = [10]TFuncDef{ FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1235, + FzName: __ccgo_ts + 1249, }, 1: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1255, + FzName: __ccgo_ts + 1269, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1463, + FzName: __ccgo_ts + 1477, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1468, + FzName: __ccgo_ts + 1482, }, 4: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1473, + FzName: __ccgo_ts + 1487, }, 5: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1482, + FzName: __ccgo_ts + 1496, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1491, + FzName: __ccgo_ts + 1505, }, 7: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1500, + FzName: __ccgo_ts + 1514, }, 8: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1513, + FzName: __ccgo_ts + 1527, }, 9: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1531, + FzName: __ccgo_ts + 1545, }, } @@ -16494,7 +16673,7 @@ func _sqlite3MemMalloc(tls *libc.TLS, nByte int32) (r uintptr) { *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1544, libc.VaList(bp+8, nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1558, libc.VaList(bp+8, nByte)) } return p } @@ -16559,7 +16738,7 @@ func _sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) (r uintptr) *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1582, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1596, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) } return p } @@ -17975,7 +18154,7 @@ func _sqlite3OomFault(tls *libc.TLS, db uintptr) (r uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = uint16(0) if (*Tsqlite3)(unsafe.Pointer(db)).FpParse != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1632, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) pParse = (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).FpOuterParse for { @@ -18402,7 +18581,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li v3 = int32(*(*int8)(unsafe.Pointer(v4))) c = v3 if v3 == 0 { - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1632, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1646, int32(1)) break } /* Find out what flags are present */ @@ -18819,9 +18998,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial != 0 { if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial) == int32(2) { if flag_zeropad != 0 { - v57 = __ccgo_ts + 1634 + v57 = __ccgo_ts + 1648 } else { - v57 = __ccgo_ts + 1639 + v57 = __ccgo_ts + 1653 } bufpt = v57 length = _sqlite3Strlen30(tls, bufpt) @@ -18832,7 +19011,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP = int32(1000) (*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fn = int32(1) } else { - libc.Xmemcpy(tls, bp, __ccgo_ts+1643, uint32(5)) + libc.Xmemcpy(tls, bp, __ccgo_ts+1657, uint32(5)) bufpt = bp if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fsign) == int32('-') { /* no-op */ @@ -18854,14 +19033,13 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li prefix = int8(flag_prefix) } exp = (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP - int32(1) - if int32(xtype) == int32(etGENERIC) && precision > 0 { - precision-- - } /* ** If the field type is etGENERIC, then convert to either etEXP ** or etFLOAT, as appropriate. */ if int32(xtype) == int32(etGENERIC) { + _ = libc.Int32FromInt32(0) + precision-- flag_rtz = libc.BoolUint8(!(flag_alternateform != 0)) if exp < -int32(4) || exp > precision { xtype = uint8(etEXP) @@ -19168,7 +19346,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li bufpt = libc.VaUintptr(&ap) } if bufpt == uintptr(0) { - bufpt = __ccgo_ts + 1648 + bufpt = __ccgo_ts + 1662 } else { if int32(xtype) == int32(etDYNSTRING) { if (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FnChar == uint32(0) && (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FmxAlloc != 0 && width == 0 && precision < 0 && int32((*Tsqlite3_str)(unsafe.Pointer(pAccum)).FaccError) == 0 { @@ -19257,9 +19435,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li isnull = libc.BoolInt32(escarg == uintptr(0)) if isnull != 0 { if int32(xtype) == int32(etSQLESCAPE2) { - v98 = __ccgo_ts + 1649 + v98 = __ccgo_ts + 1663 } else { - v98 = __ccgo_ts + 1654 + v98 = __ccgo_ts + 1668 } escarg = v98 } @@ -19379,7 +19557,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*TSrcItem)(unsafe.Pointer(pItem)).FzName != 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1661, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1675, int32(1)) } Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzName) } else { @@ -19387,11 +19565,16 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzAlias) } else { pSel = (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect - _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* Because of tag-20240424-1 */ if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_NestedFrom) != 0 { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1663, libc.VaList(bp+120, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1677, libc.VaList(bp+120, (*TSelect)(unsafe.Pointer(pSel)).FselId)) } else { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1673, libc.VaList(bp+120, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_MultiValue) != 0 { + _ = libc.Int32FromInt32(0) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1687, libc.VaList(bp+120, *(*Tu32)(unsafe.Pointer(pItem + 60)))) + } else { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1708, libc.VaList(bp+120, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + } } } } @@ -19680,7 +19863,7 @@ func _sqlite3ResultStrAccum(tls *libc.TLS, pCtx uintptr, p uintptr) { if int32((*TStrAccum)(unsafe.Pointer(p)).FprintfFlags)&int32(SQLITE_PRINTF_MALLOCED) != 0 { Xsqlite3_result_text(tls, pCtx, (*TStrAccum)(unsafe.Pointer(p)).FzText, int32((*TStrAccum)(unsafe.Pointer(p)).FnChar), __ccgo_fp(_sqlite3OomClear)) } else { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1648, 0, libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1662, 0, libc.UintptrFromInt32(0)) Xsqlite3_str_reset(tls, p) } } @@ -21573,6 +21756,62 @@ func _sqlite3DequoteExpr(tls *libc.TLS, p uintptr) { _sqlite3Dequote(tls, *(*uintptr)(unsafe.Pointer(p + 8))) } +// C documentation +// +// /* +// ** Expression p is a QNUMBER (quoted number). Dequote the value in p->u.zToken +// ** and set the type to INTEGER or FLOAT. "Quoted" integers or floats are those +// ** that contain '_' characters that must be removed before further processing. +// */ +func _sqlite3DequoteNumber(tls *libc.TLS, pParse uintptr, p uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var bHex int32 + var pIn, pOut, v1, v3 uintptr + var _ /* iValue at bp+0 */ int32 + _, _, _, _, _ = bHex, pIn, pOut, v1, v3 + _ = libc.Int32FromInt32(0) + if p != 0 { + pIn = *(*uintptr)(unsafe.Pointer(p + 8)) + pOut = *(*uintptr)(unsafe.Pointer(p + 8)) + bHex = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(pIn))) == int32('0') && (int32(*(*int8)(unsafe.Pointer(pIn + 1))) == int32('x') || int32(*(*int8)(unsafe.Pointer(pIn + 1))) == int32('X'))) + _ = libc.Int32FromInt32(0) + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + for { + if int32(*(*int8)(unsafe.Pointer(pIn))) != int32('_') { + v3 = pOut + pOut++ + *(*int8)(unsafe.Pointer(v3)) = *(*int8)(unsafe.Pointer(pIn)) + if int32(*(*int8)(unsafe.Pointer(pIn))) == int32('e') || int32(*(*int8)(unsafe.Pointer(pIn))) == int32('E') || int32(*(*int8)(unsafe.Pointer(pIn))) == int32('.') { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_FLOAT) + } + } else { + if bHex == 0 && (!(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1)))))])&libc.Int32FromInt32(0x04) != 0) || !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + 1)))])&libc.Int32FromInt32(0x04) != 0)) || bHex == int32(1) && (!(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1)))))])&libc.Int32FromInt32(0x08) != 0) || !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + 1)))])&libc.Int32FromInt32(0x08) != 0)) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1722, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(p + 8)))) + } + } + goto _2 + _2: + ; + v1 = pIn + pIn++ + if !(*(*int8)(unsafe.Pointer(v1)) != 0) { + break + } + } + if bHex != 0 { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + } + /* tag-20240227-a: If after dequoting, the number is an integer that + ** fits in 32 bits, then it must be converted into EP_IntValue. Other + ** parts of the code expect this. See also tag-20240227-b. */ + if int32((*TExpr)(unsafe.Pointer(p)).Fop) == int32(TK_INTEGER) && _sqlite3GetInt32(tls, *(*uintptr)(unsafe.Pointer(p + 8)), bp) != 0 { + *(*int32)(unsafe.Pointer(p + 8)) = *(*int32)(unsafe.Pointer(bp)) + *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(EP_IntValue) + } + } +} + // C documentation // // /* @@ -22127,7 +22366,7 @@ func _compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) (r int32) { _, _, _ = c, i, pow63 c = 0 /* 012345678901234567 */ - pow63 = __ccgo_ts + 1687 + pow63 = __ccgo_ts + 1747 i = 0 for { if !(c == 0 && i < int32(18)) { @@ -22359,7 +22598,7 @@ func _sqlite3DecOrHexToI64(tls *libc.TLS, z uintptr, pOut uintptr) (r int32) { } return 0 } else { - n = int32(libc.Uint32FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1706)) + n = int32(libc.Uint32FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1766)) if *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 { n++ } @@ -22517,7 +22756,7 @@ func _sqlite3FpDecode(tls *libc.TLS, p uintptr, _r float64, iRound int32, mxRoun (*TFpDecode)(unsafe.Pointer(p)).Fsign = int8('+') (*TFpDecode)(unsafe.Pointer(p)).Fn = int32(1) (*TFpDecode)(unsafe.Pointer(p)).FiDP = int32(1) - (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1722 + (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1782 return } else { (*TFpDecode)(unsafe.Pointer(p)).Fsign = int8('+') @@ -23078,7 +23317,7 @@ func _sqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) (r uintptr func _logBadConnection(tls *libc.TLS, zType uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1724, libc.VaList(bp+8, zType)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1784, libc.VaList(bp+8, zType)) } // C documentation @@ -23101,13 +23340,13 @@ func _sqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) (r int32) { var eOpenState Tu8 _ = eOpenState if db == uintptr(0) { - _logBadConnection(tls, __ccgo_ts+1649) + _logBadConnection(tls, __ccgo_ts+1663) return 0 } eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_OPEN) { if _sqlite3SafetyCheckSickOrOk(tls, db) != 0 { - _logBadConnection(tls, __ccgo_ts+1769) + _logBadConnection(tls, __ccgo_ts+1829) } return 0 } else { @@ -23121,7 +23360,7 @@ func _sqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) (r int32) { _ = eOpenState eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_SICK) && int32(eOpenState) != int32(SQLITE_STATE_OPEN) && int32(eOpenState) != int32(SQLITE_STATE_BUSY) { - _logBadConnection(tls, __ccgo_ts+1778) + _logBadConnection(tls, __ccgo_ts+1838) return 0 } else { return int32(1) @@ -23780,196 +24019,196 @@ func _sqlite3OpcodeName(tls *libc.TLS, i int32) (r uintptr) { } var _azName = [190]uintptr{ - 0: __ccgo_ts + 1786, - 1: __ccgo_ts + 1796, - 2: __ccgo_ts + 1807, - 3: __ccgo_ts + 1819, - 4: __ccgo_ts + 1830, - 5: __ccgo_ts + 1842, - 6: __ccgo_ts + 1849, - 7: __ccgo_ts + 1857, - 8: __ccgo_ts + 1865, - 9: __ccgo_ts + 1870, - 10: __ccgo_ts + 1875, - 11: __ccgo_ts + 1881, - 12: __ccgo_ts + 1895, - 13: __ccgo_ts + 1901, - 14: __ccgo_ts + 1911, - 15: __ccgo_ts + 1916, - 16: __ccgo_ts + 1921, - 17: __ccgo_ts + 1924, - 18: __ccgo_ts + 1930, - 19: __ccgo_ts + 1937, - 20: __ccgo_ts + 1941, - 21: __ccgo_ts + 1951, - 22: __ccgo_ts + 1958, - 23: __ccgo_ts + 1965, - 24: __ccgo_ts + 1972, - 25: __ccgo_ts + 1979, - 26: __ccgo_ts + 1989, - 27: __ccgo_ts + 1998, - 28: __ccgo_ts + 2009, - 29: __ccgo_ts + 2018, - 30: __ccgo_ts + 2024, - 31: __ccgo_ts + 2034, - 32: __ccgo_ts + 2044, - 33: __ccgo_ts + 2049, - 34: __ccgo_ts + 2059, - 35: __ccgo_ts + 2070, - 36: __ccgo_ts + 2075, - 37: __ccgo_ts + 2082, - 38: __ccgo_ts + 2093, - 39: __ccgo_ts + 2098, - 40: __ccgo_ts + 2103, - 41: __ccgo_ts + 2109, - 42: __ccgo_ts + 2115, - 43: __ccgo_ts + 2121, - 44: __ccgo_ts + 2124, - 45: __ccgo_ts + 2128, - 46: __ccgo_ts + 2134, - 47: __ccgo_ts + 2145, - 48: __ccgo_ts + 2156, - 49: __ccgo_ts + 2164, - 50: __ccgo_ts + 2173, - 51: __ccgo_ts + 2180, - 52: __ccgo_ts + 2188, - 53: __ccgo_ts + 2191, - 54: __ccgo_ts + 2194, - 55: __ccgo_ts + 2197, - 56: __ccgo_ts + 2200, - 57: __ccgo_ts + 2203, - 58: __ccgo_ts + 2206, - 59: __ccgo_ts + 2213, - 60: __ccgo_ts + 2219, - 61: __ccgo_ts + 2229, - 62: __ccgo_ts + 2242, - 63: __ccgo_ts + 2253, - 64: __ccgo_ts + 2259, - 65: __ccgo_ts + 2266, - 66: __ccgo_ts + 2275, - 67: __ccgo_ts + 2284, - 68: __ccgo_ts + 2291, - 69: __ccgo_ts + 2304, - 70: __ccgo_ts + 2315, - 71: __ccgo_ts + 2320, - 72: __ccgo_ts + 2328, - 73: __ccgo_ts + 2334, - 74: __ccgo_ts + 2341, - 75: __ccgo_ts + 2353, - 76: __ccgo_ts + 2358, - 77: __ccgo_ts + 2367, - 78: __ccgo_ts + 2372, - 79: __ccgo_ts + 2381, - 80: __ccgo_ts + 2386, - 81: __ccgo_ts + 2391, - 82: __ccgo_ts + 2397, - 83: __ccgo_ts + 2405, - 84: __ccgo_ts + 2413, - 85: __ccgo_ts + 2423, - 86: __ccgo_ts + 2431, - 87: __ccgo_ts + 2438, - 88: __ccgo_ts + 2451, - 89: __ccgo_ts + 2456, - 90: __ccgo_ts + 2468, - 91: __ccgo_ts + 2476, - 92: __ccgo_ts + 2483, - 93: __ccgo_ts + 2494, - 94: __ccgo_ts + 2501, - 95: __ccgo_ts + 2508, - 96: __ccgo_ts + 2518, - 97: __ccgo_ts + 2527, - 98: __ccgo_ts + 2538, - 99: __ccgo_ts + 2544, - 100: __ccgo_ts + 2555, - 101: __ccgo_ts + 2565, - 102: __ccgo_ts + 2575, - 103: __ccgo_ts + 2582, - 104: __ccgo_ts + 2588, - 105: __ccgo_ts + 2598, - 106: __ccgo_ts + 2609, - 107: __ccgo_ts + 2613, - 108: __ccgo_ts + 2622, - 109: __ccgo_ts + 2631, - 110: __ccgo_ts + 2638, - 111: __ccgo_ts + 2648, - 112: __ccgo_ts + 2655, - 113: __ccgo_ts + 2664, - 114: __ccgo_ts + 2674, - 115: __ccgo_ts + 2681, - 116: __ccgo_ts + 2689, - 117: __ccgo_ts + 2703, - 118: __ccgo_ts + 2711, - 119: __ccgo_ts + 2725, - 120: __ccgo_ts + 2736, - 121: __ccgo_ts + 2749, - 122: __ccgo_ts + 2760, - 123: __ccgo_ts + 2766, - 124: __ccgo_ts + 2778, - 125: __ccgo_ts + 2787, - 126: __ccgo_ts + 2795, - 127: __ccgo_ts + 2804, - 128: __ccgo_ts + 2813, - 129: __ccgo_ts + 2820, - 130: __ccgo_ts + 2828, - 131: __ccgo_ts + 2835, - 132: __ccgo_ts + 2846, - 133: __ccgo_ts + 2860, - 134: __ccgo_ts + 2871, - 135: __ccgo_ts + 2879, - 136: __ccgo_ts + 2885, - 137: __ccgo_ts + 2893, - 138: __ccgo_ts + 2901, - 139: __ccgo_ts + 2911, - 140: __ccgo_ts + 2924, - 141: __ccgo_ts + 2934, - 142: __ccgo_ts + 2947, - 143: __ccgo_ts + 2956, - 144: __ccgo_ts + 2967, - 145: __ccgo_ts + 2975, - 146: __ccgo_ts + 2981, - 147: __ccgo_ts + 2993, - 148: __ccgo_ts + 3005, - 149: __ccgo_ts + 3013, - 150: __ccgo_ts + 3025, - 151: __ccgo_ts + 3038, - 152: __ccgo_ts + 3048, - 153: __ccgo_ts + 3058, - 154: __ccgo_ts + 3063, - 155: __ccgo_ts + 3075, - 156: __ccgo_ts + 3087, - 157: __ccgo_ts + 3097, - 158: __ccgo_ts + 3103, - 159: __ccgo_ts + 3113, - 160: __ccgo_ts + 3120, - 161: __ccgo_ts + 3132, - 162: __ccgo_ts + 3143, - 163: __ccgo_ts + 3151, - 164: __ccgo_ts + 3160, - 165: __ccgo_ts + 3169, - 166: __ccgo_ts + 3178, - 167: __ccgo_ts + 3185, - 168: __ccgo_ts + 3196, - 169: __ccgo_ts + 3209, - 170: __ccgo_ts + 3219, - 171: __ccgo_ts + 3226, - 172: __ccgo_ts + 3234, - 173: __ccgo_ts + 3243, - 174: __ccgo_ts + 3249, - 175: __ccgo_ts + 3256, - 176: __ccgo_ts + 3264, - 177: __ccgo_ts + 3272, - 178: __ccgo_ts + 3280, - 179: __ccgo_ts + 3290, - 180: __ccgo_ts + 3299, - 181: __ccgo_ts + 3310, - 182: __ccgo_ts + 3321, - 183: __ccgo_ts + 3332, - 184: __ccgo_ts + 3342, - 185: __ccgo_ts + 3348, - 186: __ccgo_ts + 3359, - 187: __ccgo_ts + 3370, - 188: __ccgo_ts + 3375, - 189: __ccgo_ts + 3383, + 0: __ccgo_ts + 1846, + 1: __ccgo_ts + 1856, + 2: __ccgo_ts + 1867, + 3: __ccgo_ts + 1879, + 4: __ccgo_ts + 1890, + 5: __ccgo_ts + 1902, + 6: __ccgo_ts + 1909, + 7: __ccgo_ts + 1917, + 8: __ccgo_ts + 1925, + 9: __ccgo_ts + 1930, + 10: __ccgo_ts + 1935, + 11: __ccgo_ts + 1941, + 12: __ccgo_ts + 1955, + 13: __ccgo_ts + 1961, + 14: __ccgo_ts + 1971, + 15: __ccgo_ts + 1976, + 16: __ccgo_ts + 1981, + 17: __ccgo_ts + 1984, + 18: __ccgo_ts + 1990, + 19: __ccgo_ts + 1997, + 20: __ccgo_ts + 2001, + 21: __ccgo_ts + 2011, + 22: __ccgo_ts + 2018, + 23: __ccgo_ts + 2025, + 24: __ccgo_ts + 2032, + 25: __ccgo_ts + 2039, + 26: __ccgo_ts + 2049, + 27: __ccgo_ts + 2058, + 28: __ccgo_ts + 2069, + 29: __ccgo_ts + 2078, + 30: __ccgo_ts + 2084, + 31: __ccgo_ts + 2094, + 32: __ccgo_ts + 2104, + 33: __ccgo_ts + 2109, + 34: __ccgo_ts + 2123, + 35: __ccgo_ts + 2134, + 36: __ccgo_ts + 2139, + 37: __ccgo_ts + 2146, + 38: __ccgo_ts + 2157, + 39: __ccgo_ts + 2162, + 40: __ccgo_ts + 2167, + 41: __ccgo_ts + 2173, + 42: __ccgo_ts + 2179, + 43: __ccgo_ts + 2185, + 44: __ccgo_ts + 2188, + 45: __ccgo_ts + 2192, + 46: __ccgo_ts + 2198, + 47: __ccgo_ts + 2209, + 48: __ccgo_ts + 2220, + 49: __ccgo_ts + 2228, + 50: __ccgo_ts + 2237, + 51: __ccgo_ts + 2244, + 52: __ccgo_ts + 2252, + 53: __ccgo_ts + 2255, + 54: __ccgo_ts + 2258, + 55: __ccgo_ts + 2261, + 56: __ccgo_ts + 2264, + 57: __ccgo_ts + 2267, + 58: __ccgo_ts + 2270, + 59: __ccgo_ts + 2277, + 60: __ccgo_ts + 2283, + 61: __ccgo_ts + 2293, + 62: __ccgo_ts + 2306, + 63: __ccgo_ts + 2317, + 64: __ccgo_ts + 2323, + 65: __ccgo_ts + 2330, + 66: __ccgo_ts + 2339, + 67: __ccgo_ts + 2348, + 68: __ccgo_ts + 2355, + 69: __ccgo_ts + 2368, + 70: __ccgo_ts + 2379, + 71: __ccgo_ts + 2384, + 72: __ccgo_ts + 2392, + 73: __ccgo_ts + 2398, + 74: __ccgo_ts + 2405, + 75: __ccgo_ts + 2417, + 76: __ccgo_ts + 2422, + 77: __ccgo_ts + 2431, + 78: __ccgo_ts + 2436, + 79: __ccgo_ts + 2445, + 80: __ccgo_ts + 2450, + 81: __ccgo_ts + 2455, + 82: __ccgo_ts + 2461, + 83: __ccgo_ts + 2469, + 84: __ccgo_ts + 2477, + 85: __ccgo_ts + 2487, + 86: __ccgo_ts + 2495, + 87: __ccgo_ts + 2502, + 88: __ccgo_ts + 2515, + 89: __ccgo_ts + 2520, + 90: __ccgo_ts + 2532, + 91: __ccgo_ts + 2540, + 92: __ccgo_ts + 2547, + 93: __ccgo_ts + 2558, + 94: __ccgo_ts + 2565, + 95: __ccgo_ts + 2572, + 96: __ccgo_ts + 2582, + 97: __ccgo_ts + 2591, + 98: __ccgo_ts + 2602, + 99: __ccgo_ts + 2608, + 100: __ccgo_ts + 2619, + 101: __ccgo_ts + 2629, + 102: __ccgo_ts + 2639, + 103: __ccgo_ts + 2646, + 104: __ccgo_ts + 2652, + 105: __ccgo_ts + 2662, + 106: __ccgo_ts + 2673, + 107: __ccgo_ts + 2677, + 108: __ccgo_ts + 2686, + 109: __ccgo_ts + 2695, + 110: __ccgo_ts + 2702, + 111: __ccgo_ts + 2712, + 112: __ccgo_ts + 2719, + 113: __ccgo_ts + 2728, + 114: __ccgo_ts + 2738, + 115: __ccgo_ts + 2745, + 116: __ccgo_ts + 2753, + 117: __ccgo_ts + 2767, + 118: __ccgo_ts + 2775, + 119: __ccgo_ts + 2789, + 120: __ccgo_ts + 2800, + 121: __ccgo_ts + 2813, + 122: __ccgo_ts + 2824, + 123: __ccgo_ts + 2830, + 124: __ccgo_ts + 2842, + 125: __ccgo_ts + 2851, + 126: __ccgo_ts + 2859, + 127: __ccgo_ts + 2868, + 128: __ccgo_ts + 2877, + 129: __ccgo_ts + 2884, + 130: __ccgo_ts + 2892, + 131: __ccgo_ts + 2899, + 132: __ccgo_ts + 2910, + 133: __ccgo_ts + 2924, + 134: __ccgo_ts + 2935, + 135: __ccgo_ts + 2943, + 136: __ccgo_ts + 2949, + 137: __ccgo_ts + 2957, + 138: __ccgo_ts + 2965, + 139: __ccgo_ts + 2975, + 140: __ccgo_ts + 2988, + 141: __ccgo_ts + 2998, + 142: __ccgo_ts + 3011, + 143: __ccgo_ts + 3020, + 144: __ccgo_ts + 3031, + 145: __ccgo_ts + 3039, + 146: __ccgo_ts + 3045, + 147: __ccgo_ts + 3057, + 148: __ccgo_ts + 3069, + 149: __ccgo_ts + 3077, + 150: __ccgo_ts + 3089, + 151: __ccgo_ts + 3102, + 152: __ccgo_ts + 3112, + 153: __ccgo_ts + 3122, + 154: __ccgo_ts + 3127, + 155: __ccgo_ts + 3139, + 156: __ccgo_ts + 3151, + 157: __ccgo_ts + 3161, + 158: __ccgo_ts + 3167, + 159: __ccgo_ts + 3177, + 160: __ccgo_ts + 3184, + 161: __ccgo_ts + 3196, + 162: __ccgo_ts + 3207, + 163: __ccgo_ts + 3215, + 164: __ccgo_ts + 3224, + 165: __ccgo_ts + 3233, + 166: __ccgo_ts + 3242, + 167: __ccgo_ts + 3249, + 168: __ccgo_ts + 3260, + 169: __ccgo_ts + 3273, + 170: __ccgo_ts + 3283, + 171: __ccgo_ts + 3290, + 172: __ccgo_ts + 3298, + 173: __ccgo_ts + 3307, + 174: __ccgo_ts + 3313, + 175: __ccgo_ts + 3320, + 176: __ccgo_ts + 3328, + 177: __ccgo_ts + 3336, + 178: __ccgo_ts + 3344, + 179: __ccgo_ts + 3354, + 180: __ccgo_ts + 3363, + 181: __ccgo_ts + 3374, + 182: __ccgo_ts + 3385, + 183: __ccgo_ts + 3396, + 184: __ccgo_ts + 3406, + 185: __ccgo_ts + 3412, + 186: __ccgo_ts + 3423, + 187: __ccgo_ts + 3434, + 188: __ccgo_ts + 3439, + 189: __ccgo_ts + 3447, } type Tstat = struct { @@ -24713,91 +24952,91 @@ type unix_syscall = Tunix_syscall // */ var _aSyscall = [29]Tunix_syscall{ 0: { - FzName: __ccgo_ts + 3393, + FzName: __ccgo_ts + 3457, }, 1: { - FzName: __ccgo_ts + 3398, + FzName: __ccgo_ts + 3462, }, 2: { - FzName: __ccgo_ts + 3404, + FzName: __ccgo_ts + 3468, }, 3: { - FzName: __ccgo_ts + 3411, + FzName: __ccgo_ts + 3475, }, 4: { - FzName: __ccgo_ts + 3418, + FzName: __ccgo_ts + 3482, }, 5: { - FzName: __ccgo_ts + 3423, + FzName: __ccgo_ts + 3487, }, 6: { - FzName: __ccgo_ts + 3429, + FzName: __ccgo_ts + 3493, }, 7: { - FzName: __ccgo_ts + 3439, + FzName: __ccgo_ts + 3503, }, 8: { - FzName: __ccgo_ts + 3445, + FzName: __ccgo_ts + 3509, }, 9: { - FzName: __ccgo_ts + 3450, + FzName: __ccgo_ts + 3514, }, 10: { - FzName: __ccgo_ts + 3456, + FzName: __ccgo_ts + 3520, }, 11: { - FzName: __ccgo_ts + 3464, + FzName: __ccgo_ts + 3528, }, 12: { - FzName: __ccgo_ts + 3470, + FzName: __ccgo_ts + 3534, }, 13: { - FzName: __ccgo_ts + 3477, + FzName: __ccgo_ts + 3541, }, 14: { - FzName: __ccgo_ts + 3486, + FzName: __ccgo_ts + 3550, }, 15: { - FzName: __ccgo_ts + 3493, + FzName: __ccgo_ts + 3557, }, 16: { - FzName: __ccgo_ts + 3503, + FzName: __ccgo_ts + 3567, }, 17: { - FzName: __ccgo_ts + 3510, + FzName: __ccgo_ts + 3574, }, 18: { - FzName: __ccgo_ts + 3524, + FzName: __ccgo_ts + 3588, }, 19: { - FzName: __ccgo_ts + 3530, + FzName: __ccgo_ts + 3594, }, 20: { - FzName: __ccgo_ts + 3536, + FzName: __ccgo_ts + 3600, }, 21: { - FzName: __ccgo_ts + 3543, + FzName: __ccgo_ts + 3607, }, 22: { - FzName: __ccgo_ts + 3551, + FzName: __ccgo_ts + 3615, }, 23: { - FzName: __ccgo_ts + 3556, + FzName: __ccgo_ts + 3620, }, 24: { - FzName: __ccgo_ts + 3563, + FzName: __ccgo_ts + 3627, }, 25: { - FzName: __ccgo_ts + 3570, + FzName: __ccgo_ts + 3634, }, 26: { - FzName: __ccgo_ts + 3582, + FzName: __ccgo_ts + 3646, }, 27: { - FzName: __ccgo_ts + 3591, + FzName: __ccgo_ts + 3655, }, 28: { - FzName: __ccgo_ts + 3597, + FzName: __ccgo_ts + 3661, }, } @@ -25036,9 +25275,9 @@ func _robust_open(tls *libc.TLS, z uintptr, f int32, m Tmode_t) (r int32) { (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, z) } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(1)].FpCurrent})))(tls, fd) - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3603, libc.VaList(bp+104, z, fd)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3667, libc.VaList(bp+104, z, fd)) fd = -int32(1) - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3646, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3710, O_RDONLY, int32(m)) < 0 { break } } @@ -25356,11 +25595,11 @@ func _unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uint ** equivalent to errno. Otherwise, use strerror_r(). */ /* This is a threadsafe build, but strerror_r() is not available. */ - zErr = __ccgo_ts + 1648 + zErr = __ccgo_ts + 1662 if zPath == uintptr(0) { - zPath = __ccgo_ts + 1648 + zPath = __ccgo_ts + 1662 } - Xsqlite3_log(tls, errcode, __ccgo_ts+3656, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) + Xsqlite3_log(tls, errcode, __ccgo_ts+3720, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) return errcode } @@ -25388,7 +25627,7 @@ func _robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { } else { v1 = uintptr(0) } - _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(16)< uint32(1) { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3740, libc.VaList(bp+104, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3804, libc.VaList(bp+104, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } if _fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3767, libc.VaList(bp+104, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3831, libc.VaList(bp+104, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -26082,7 +26321,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) { pFile = id _unixUnmapfile(tls, pFile) if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 { - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40172)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40505)) (*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1) } Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -26709,7 +26948,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { var _ /* zDirname at bp+0 */ [513]int8 _, _ = fd, ii fd = -int32(1) - Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3795, libc.VaList(bp+528, zFilename)) + Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3859, libc.VaList(bp+528, zFilename)) ii = int32(libc.Xstrlen(tls, bp)) for { if !(ii > 0 && int32((*(*[513]int8)(unsafe.Pointer(bp)))[ii]) != int32('/')) { @@ -26735,7 +26974,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { if fd >= 0 { return SQLITE_OK } - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(41778)), __ccgo_ts+3510, bp, int32(41778)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42111)), __ccgo_ts+3574, bp, int32(42111)) } // C documentation @@ -26774,7 +27013,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) { rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if rc != 0 { _storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<= nSize { iWrite = nSize - int64(1) } - nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1648, int32(1)) + nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1662, int32(1)) if nWrite != int32(1) { return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(3)<= 0 { - _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42583)) + _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42916)) (*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1) } (*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0) @@ -27397,7 +27636,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in ** help detect if a -shm file truncation is legitimate or is the work ** or a rogue process. */ if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 { - rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<= 0 { - _robust_close(tls, pNew, h, int32(43994)) + _robust_close(tls, pNew, h, int32(44327)) } } else { (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -28445,10 +28684,10 @@ func _fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilenam // ** Directories to consider for temp files. // */ var _azTempDirs = [6]uintptr{ - 2: __ccgo_ts + 3852, - 3: __ccgo_ts + 3861, - 4: __ccgo_ts + 3870, - 5: __ccgo_ts + 1661, + 2: __ccgo_ts + 3916, + 3: __ccgo_ts + 3925, + 4: __ccgo_ts + 3934, + 5: __ccgo_ts + 1675, } // C documentation @@ -28457,8 +28696,8 @@ var _azTempDirs = [6]uintptr{ // ** Initialize first two members of azTempDirs[] array. // */ func _unixTempFileInit(tls *libc.TLS) { - _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3875) - _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3889) + _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3939) + _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3953) } // C documentation @@ -28521,7 +28760,7 @@ func _unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) (r int32) { Xsqlite3_randomness(tls, int32(8), bp) _ = libc.Int32FromInt32(0) *(*int8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2)))) = 0 - Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3896, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) + Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3960, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) if v2 = int32(*(*int8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2))))) != 0; !v2 { v1 = iLimit iLimit++ @@ -28694,7 +28933,7 @@ func _findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintpt ** filename, check for the "modeof" parameter. If present, interpret ** its value as a filename and try to copy the mode, uid and gid from ** that file. */ - z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3913) + z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3977) if z != 0 { rc = _getFileMode(tls, z, pMode, pUid, pGid) } @@ -28732,12 +28971,12 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags bp := tls.Alloc(528) defer tls.Free(528) var ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, rc, rc2 int32 - var p, pUnused, zName uintptr + var p, pReadonly, pUnused, zName uintptr var _ /* gid at bp+524 */ Tgid_t var _ /* openMode at bp+516 */ Tmode_t var _ /* uid at bp+520 */ Tuid_t var _ /* zTmpname at bp+0 */ [514]int8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pUnused, rc, rc2, zName + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pReadonly, pUnused, rc, rc2, zName p = pFile fd = -int32(1) /* File descriptor returned by open() */ openFlags = 0 /* Flags to pass to open() */ @@ -28847,17 +29086,24 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags } else { if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != int32(EISDIR) && isReadWrite != 0 { /* Failed to open the file for read/write access. Try read-only. */ + pReadonly = uintptr(0) flags &= ^(libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE)) openFlags &= ^(libc.Int32FromInt32(O_RDWR) | libc.Int32FromInt32(O_CREAT)) flags |= int32(SQLITE_OPEN_READONLY) openFlags |= O_RDONLY isReadonly = int32(1) - fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + pReadonly = _findReusableFd(tls, zName, flags) + if pReadonly != 0 { + fd = (*TUnixUnusedFd)(unsafe.Pointer(pReadonly)).Ffd + Xsqlite3_free(tls, pReadonly) + } else { + fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + } } } } if fd < 0 { - rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44435)), __ccgo_ts+3393, zName, int32(44435)) + rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44775)), __ccgo_ts+3457, zName, int32(44775)) if rc == SQLITE_OK { rc = rc2 } @@ -28936,7 +29182,7 @@ func _unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) ( if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(ENOENT) { rc = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(23)< int32(SQLITE_MAX_SYMLINK) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(44686)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45026)) return } got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+96, libc.Uint32FromInt64(4098)-libc.Uint32FromInt32(2)) if got <= 0 || got >= libc.Int32FromInt64(4098)-libc.Int32FromInt32(2) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44691)), __ccgo_ts+3582, zIn, int32(44691)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45031)), __ccgo_ts+3646, zIn, int32(45031)) return } (*(*[4098]int8)(unsafe.Pointer(bp + 96)))[got] = 0 @@ -29140,14 +29386,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z (*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut if int32(*(*int8)(unsafe.Pointer(zPath))) != int32('/') { if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+20, libc.Uint32FromInt64(4098)-libc.Uint32FromInt32(2)) == uintptr(0) { - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44749)), __ccgo_ts+3411, zPath, int32(44749)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45089)), __ccgo_ts+3475, zPath, int32(45089)) } _appendAllPathElements(tls, bp, bp+20) } _appendAllPathElements(tls, bp, zPath) *(*int8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = 0 if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) { - return _sqlite3CantopenError(tls, int32(44755)) + return _sqlite3CantopenError(tls, int32(45095)) } if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 { return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)< int64(1) { _sqlite3PagerUnrefNotNull(tls, pPgOld) - return _sqlite3CorruptError(tls, int32(63973)) + return _sqlite3CorruptError(tls, int32(64313)) } p4 = pPg + 28 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | int32((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC)) @@ -41411,7 +41657,7 @@ func _sqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in ** sqlite3_wal_checkpoint() call, but it happens very rarely. ** https://sqlite.org/forum/forumpost/fd0f19d229156939 */ - Xsqlite3_exec(tls, db, __ccgo_ts+4109, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+4173, uintptr(0), uintptr(0), uintptr(0)) } if (*TPager)(unsafe.Pointer(pPager)).FpWal != 0 { if eMode == SQLITE_CHECKPOINT_PASSIVE { @@ -42892,7 +43138,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in v2 = nCollide nCollide-- if v2 == 0 { - return _sqlite3CorruptError(tls, int32(65899)) + return _sqlite3CorruptError(tls, int32(66239)) } goto _1 _1: @@ -42984,7 +43230,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) { ** are able to understand */ version = _sqlite3Get4byte(tls, bp+8+4) if version != uint32(WAL_MAX_VERSION) { - rc = _sqlite3CantopenError(tls, int32(66031)) + rc = _sqlite3CantopenError(tls, int32(66371)) goto finished } /* Malloc a buffer to read frames into. */ @@ -43126,7 +43372,7 @@ finished: ** checkpointing the log file. */ if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FnPage != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(1)< int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = _sqlite3CorruptError(tls, int32(71032)) + rc = _sqlite3CorruptError(tls, int32(71421)) } else { rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -47886,7 +48139,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if key == uint32(0) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71230)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71619)) return } iPtrmap = _ptrmapPageno(tls, pBt, key) @@ -47899,12 +48152,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, /* The first byte of the extra data is the MemPage.isInit byte. ** If that byte is set, it means this page is also being used ** as a btree page. */ - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71243)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71632)) goto ptrmap_exit } offset = int32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1))) if offset < 0 { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71248)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71637)) goto ptrmap_exit } _ = libc.Int32FromInt32(0) @@ -47950,7 +48203,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin offset = int32(libc.Uint32FromInt32(5) * (key - uint32(iPtrmap) - libc.Uint32FromInt32(1))) if offset < 0 { _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) - return _sqlite3CorruptError(tls, int32(71293)) + return _sqlite3CorruptError(tls, int32(71682)) } _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -47960,7 +48213,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin } _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) if int32(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || int32(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) { - return _sqlite3CorruptError(tls, int32(71301)) + return _sqlite3CorruptError(tls, int32(71690)) } return SQLITE_OK } @@ -48399,7 +48652,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if uint32(pCell) < uint32((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint32(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint32((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71741)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72130)) return } ovfl = _sqlite3Get4byte(tls, pCell+uintptr(int32((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4))) @@ -48445,12 +48698,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag { iFree = int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71799)) + return _sqlite3CorruptError(tls, int32(72188)) } if iFree != 0 { iFree2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71802)) + return _sqlite3CorruptError(tls, int32(72191)) } if 0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 { pEnd = data + uintptr(cellOffset+nCell*int32(2)) @@ -48458,21 +48711,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { sz = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree { - return _sqlite3CorruptError(tls, int32(71810)) + return _sqlite3CorruptError(tls, int32(72199)) } if iFree2 != 0 { if iFree+sz > iFree2 { - return _sqlite3CorruptError(tls, int32(71813)) + return _sqlite3CorruptError(tls, int32(72202)) } sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize { - return _sqlite3CorruptError(tls, int32(71815)) + return _sqlite3CorruptError(tls, int32(72204)) } libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint32(iFree2-(iFree+sz))) sz += sz2 } else { if iFree+sz > usableSize { - return _sqlite3CorruptError(tls, int32(71819)) + return _sqlite3CorruptError(tls, int32(72208)) } } cbrk = top + sz @@ -48520,13 +48773,13 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { ** if PRAGMA cell_size_check=ON. */ if pc > iCellLast { - return _sqlite3CorruptError(tls, int32(71852)) + return _sqlite3CorruptError(tls, int32(72241)) } _ = libc.Int32FromInt32(0) size = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc))) cbrk -= size if cbrk < iCellStart || pc+size > usableSize { - return _sqlite3CorruptError(tls, int32(71858)) + return _sqlite3CorruptError(tls, int32(72247)) } _ = libc.Int32FromInt32(0) *(*Tu8)(unsafe.Pointer(pAddr1)) = uint8(cbrk >> libc.Int32FromInt32(8)) @@ -48544,7 +48797,7 @@ defragment_out: ; _ = libc.Int32FromInt32(0) if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree { - return _sqlite3CorruptError(tls, int32(71872)) + return _sqlite3CorruptError(tls, int32(72261)) } _ = libc.Int32FromInt32(0) *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = uint8(cbrk >> libc.Int32FromInt32(8)) @@ -48607,7 +48860,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint } else { if x+pc > maxPC { /* This slot extends off the end of the usable part of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71929)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72318)) return uintptr(0) } else { /* The slot remains on the free-list. Reduce its size to account @@ -48624,14 +48877,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint if pc <= iAddr { if pc != 0 { /* The next slot in the chain comes before the current slot */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71944)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72333)) } return uintptr(0) } } if pc > maxPC+nByte-int32(4) { /* The free slot chain extends off the end of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71951)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72340)) } return uintptr(0) } @@ -48682,11 +48935,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) { top = int32(65536) } else { - return _sqlite3CorruptError(tls, int32(71999)) + return _sqlite3CorruptError(tls, int32(72388)) } } else { if top > int32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(72002)) + return _sqlite3CorruptError(tls, int32(72391)) } } /* If there is enough space between gap and top for one more cell pointer, @@ -48701,7 +48954,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r g2 = v1 *(*int32)(unsafe.Pointer(pIdx)) = v1 if g2 <= gap { - return _sqlite3CorruptError(tls, int32(72019)) + return _sqlite3CorruptError(tls, int32(72408)) } else { return SQLITE_OK } @@ -48794,12 +49047,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if int32(iFreeBlk) == 0 { break } /* TH3: corrupt082.100 */ - return _sqlite3CorruptError(tls, int32(72098)) + return _sqlite3CorruptError(tls, int32(72487)) } iPtr = iFreeBlk } if uint32(iFreeBlk) > (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-uint32(4) { /* TH3: corrupt081.100 */ - return _sqlite3CorruptError(tls, int32(72103)) + return _sqlite3CorruptError(tls, int32(72492)) } _ = libc.Int32FromInt32(0) /* At this point: @@ -48811,11 +49064,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if iFreeBlk != 0 && iEnd+uint32(3) >= uint32(iFreeBlk) { nFrag = uint8(uint32(iFreeBlk) - iEnd) if iEnd > uint32(iFreeBlk) { - return _sqlite3CorruptError(tls, int32(72115)) + return _sqlite3CorruptError(tls, int32(72504)) } iEnd = uint32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+int32(2)))))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return _sqlite3CorruptError(tls, int32(72118)) + return _sqlite3CorruptError(tls, int32(72507)) } iSize = uint16(iEnd - uint32(iStart)) iFreeBlk = uint16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= int32(iStart) { if iPtrEnd > int32(iStart) { - return _sqlite3CorruptError(tls, int32(72131)) + return _sqlite3CorruptError(tls, int32(72520)) } nFrag = Tu8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = uint16(iEnd - uint32(iPtr)) @@ -48836,7 +49089,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(7))))) { - return _sqlite3CorruptError(tls, int32(72137)) + return _sqlite3CorruptError(tls, int32(72526)) } p2 = data + uintptr(int32(hdr)+int32(7)) *(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - int32(nFrag)) @@ -48853,10 +49106,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) ** so just extend the cell content area rather than create another ** freelist entry */ if int32(iStart) < int32(x) { - return _sqlite3CorruptError(tls, int32(72151)) + return _sqlite3CorruptError(tls, int32(72540)) } if int32(iPtr) != int32(hdr)+int32(1) { - return _sqlite3CorruptError(tls, int32(72152)) + return _sqlite3CorruptError(tls, int32(72541)) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)))) = uint8(int32(iFreeBlk) >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)) + 1)) = uint8(iFreeBlk) @@ -48919,7 +49172,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72206)) + return _sqlite3CorruptError(tls, int32(72595)) } } } else { @@ -48945,7 +49198,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72230)) + return _sqlite3CorruptError(tls, int32(72619)) } } } @@ -48992,12 +49245,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will ** always be at least one cell before the first freeblock. */ - return _sqlite3CorruptError(tls, int32(72281)) + return _sqlite3CorruptError(tls, int32(72670)) } for int32(1) != 0 { if pc > iCellLast { /* Freeblock off the end of the page */ - return _sqlite3CorruptError(tls, int32(72286)) + return _sqlite3CorruptError(tls, int32(72675)) } next = uint32(int32(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) { /* Freeblock not in ascending order */ - return _sqlite3CorruptError(tls, int32(72296)) + return _sqlite3CorruptError(tls, int32(72685)) } if uint32(pc)+size > uint32(usableSize) { /* Last freeblock extends past page end */ - return _sqlite3CorruptError(tls, int32(72300)) + return _sqlite3CorruptError(tls, int32(72689)) } } /* At this point, nFree contains the sum of the offset to the start @@ -49024,7 +49277,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { ** area, according to the page header, lies within the page. */ if nFree > usableSize || nFree < iCellFirst { - return _sqlite3CorruptError(tls, int32(72312)) + return _sqlite3CorruptError(tls, int32(72701)) } (*TMemPage)(unsafe.Pointer(pPage)).FnFree = int32(uint16(nFree - iCellFirst)) return SQLITE_OK @@ -49055,11 +49308,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) { } pc = int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))) if pc < iCellFirst || pc > iCellLast { - return _sqlite3CorruptError(tls, int32(72343)) + return _sqlite3CorruptError(tls, int32(72732)) } sz = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return _sqlite3CorruptError(tls, int32(72348)) + return _sqlite3CorruptError(tls, int32(72737)) } goto _1 _1: @@ -49095,7 +49348,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating ** the b-tree page type. */ if _decodeFlags(tls, pPage, int32(*(*Tu8)(unsafe.Pointer(data)))) != 0 { - return _sqlite3CorruptError(tls, int32(72380)) + return _sqlite3CorruptError(tls, int32(72769)) } _ = libc.Int32FromInt32(0) (*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1)) @@ -49109,7 +49362,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FnCell = uint16(int32(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) { /* To many cells for a single page. The page must be corrupt */ - return _sqlite3CorruptError(tls, int32(72394)) + return _sqlite3CorruptError(tls, int32(72783)) } /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only ** possible for a root page of a table that contains no rows) then the @@ -49275,7 +49528,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe _ = libc.Int32FromInt32(0) if pgno > _btreePagecount(tls, pBt) { *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72537)) + return _sqlite3CorruptError(tls, int32(72926)) } rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly) if rc != 0 { @@ -49352,7 +49605,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) { _releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72609)) + return _sqlite3CorruptError(tls, int32(72998)) } (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0) } else { @@ -49444,7 +49697,7 @@ func _sqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt /* Set the variable isMemdb to true for an in-memory database, or ** false for a file-based database. */ - isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4190) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) + isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4254) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -50265,7 +50518,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { ** The original design allowed these amounts to vary, but as of ** version 3.6.0, we require them to be fixed. */ - if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4199, uint32(3)) != 0 { + if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4263, uint32(3)) != 0 { goto page1_init_failed } /* EVIDENCE-OF: R-51873-39618 The page size for a database file is @@ -50304,7 +50557,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { } if nPage > *(*Tu32)(unsafe.Pointer(bp + 4)) { if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 { - rc = _sqlite3CorruptError(tls, int32(73547)) + rc = _sqlite3CorruptError(tls, int32(73936)) goto page1_init_failed } else { nPage = *(*Tu32)(unsafe.Pointer(bp + 4)) @@ -50766,7 +51019,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT if int32(eType) == int32(PTRMAP_OVERFLOW2) { /* The pointer is always the first 4 bytes of the page in this case. */ if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return _sqlite3CorruptError(tls, int32(73995)) + return _sqlite3CorruptError(tls, int32(74384)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -50790,7 +51043,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74014)) + return _sqlite3CorruptError(tls, int32(74403)) } if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) { _sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo) @@ -50799,7 +51052,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } } else { if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74023)) + return _sqlite3CorruptError(tls, int32(74412)) } if _sqlite3Get4byte(tls, pCell) == iFrom { _sqlite3Put4byte(tls, pCell, iTo) @@ -50813,7 +51066,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } if i == nCell { if int32(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom { - return _sqlite3CorruptError(tls, int32(74035)) + return _sqlite3CorruptError(tls, int32(74424)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo) } @@ -50846,7 +51099,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iDbPage < uint32(3) { - return _sqlite3CorruptError(tls, int32(74070)) + return _sqlite3CorruptError(tls, int32(74459)) } /* Move page iDbPage from its current location to page number iFreePage */ *(*int32)(unsafe.Pointer(bp + 4)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit) @@ -50944,7 +51197,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom return rc } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) { - return _sqlite3CorruptError(tls, int32(74168)) + return _sqlite3CorruptError(tls, int32(74557)) } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) { if bCommit == 0 { @@ -50983,7 +51236,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) if *(*TPgno)(unsafe.Pointer(bp + 16)) > dbSize { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 20))) - return _sqlite3CorruptError(tls, int32(74220)) + return _sqlite3CorruptError(tls, int32(74609)) } } _ = libc.Int32FromInt32(0) @@ -51052,7 +51305,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) { nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) nFin = _finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = _sqlite3CorruptError(tls, int32(74288)) + rc = _sqlite3CorruptError(tls, int32(74677)) } else { if nFree > uint32(0) { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -51098,7 +51351,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { ** is either a pointer-map page or the pending-byte page. If one ** is encountered, this indicates corruption. */ - return _sqlite3CorruptError(tls, int32(74339)) + return _sqlite3CorruptError(tls, int32(74728)) } nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) db = (*TBtree)(unsafe.Pointer(p)).Fdb @@ -51128,7 +51381,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { } nFin = _finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return _sqlite3CorruptError(tls, int32(74366)) + return _sqlite3CorruptError(tls, int32(74755)) } if nFin < nOrig { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -51626,7 +51879,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo _ = libc.Int32FromInt32(0) if iTable <= uint32(1) { if iTable < uint32(1) { - return _sqlite3CorruptError(tls, int32(74830)) + return _sqlite3CorruptError(tls, int32(75219)) } else { if _btreePagecount(tls, pBt) == uint32(0) { _ = libc.Int32FromInt32(0) @@ -52040,7 +52293,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(75235)) + return _sqlite3CorruptError(tls, int32(75624)) } _ = libc.Int32FromInt32(0) _getCellInfo(tls, pCur) @@ -52053,7 +52306,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ** but is recast into its current form to avoid integer overflow problems */ - return _sqlite3CorruptError(tls, int32(75250)) + return _sqlite3CorruptError(tls, int32(75639)) } /* Check if data must be read/written to/from the btree page itself. */ if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) { @@ -52081,7 +52334,11 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_ValidOvfl) == 0 { nOvfl = int32(((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload - uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) + ovflSize - uint32(1)) / ovflSize) if (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow == uintptr(0) || nOvfl*libc.Int32FromInt64(4) > _sqlite3MallocSize(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow) { - aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(uint32(nOvfl*int32(2))*uint32(4))) + if _sqlite3FaultSim(tls, int32(413)) != 0 { + aNew = uintptr(0) + } else { + aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(uint32(nOvfl*int32(2))*uint32(4))) + } if aNew == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -52092,6 +52349,9 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin p1 = pCur + 1 *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(BTCF_ValidOvfl)) } else { + /* Sanity check the validity of the overflow page cache */ + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* If the overflow page-list cache has been allocated and the ** entry for the first required overflow page is valid, skip ** directly to it. @@ -52106,7 +52366,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin for *(*TPgno)(unsafe.Pointer(bp)) != 0 { /* If required, populate the overflow page-list cache. */ if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(75312)) + return _sqlite3CorruptError(tls, int32(75710)) } _ = libc.Int32FromInt32(0) *(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp)) @@ -52183,7 +52443,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin } if rc == SQLITE_OK && amt > uint32(0) { /* Overflow chain ends prematurely */ - return _sqlite3CorruptError(tls, int32(75396)) + return _sqlite3CorruptError(tls, int32(75794)) } return rc } @@ -52336,7 +52596,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(75534)) + return _sqlite3CorruptError(tls, int32(75932)) } (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) p1 = pCur + 1 @@ -52349,7 +52609,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(75548)) + rc = _sqlite3CorruptError(tls, int32(75946)) } if rc != 0 { v3 = pCur + 60 @@ -52479,7 +52739,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) { ** (or the freelist). */ _ = libc.Int32FromInt32(0) if int32((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) { - return _sqlite3CorruptError(tls, int32(75683)) + return _sqlite3CorruptError(tls, int32(76081)) } goto skip_init skip_init: @@ -52493,7 +52753,7 @@ skip_init: } else { if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) { if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) { - return _sqlite3CorruptError(tls, int32(75695)) + return _sqlite3CorruptError(tls, int32(76093)) } subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8))) (*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID) @@ -52642,6 +52902,7 @@ func _sqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) (r int32) { _ = libc.Int32FromInt32(0) /* If the cursor already points to the last entry, this is a no-op. */ if CURSOR_VALID == int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) && int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_AtLast) != 0 { + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pRes)) = 0 return SQLITE_OK } @@ -52695,6 +52956,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh } if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey < intKey { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_AtLast) != 0 { + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pRes)) = -int32(1) return SQLITE_OK } @@ -52757,7 +53019,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh break } if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(75937)) + return _sqlite3CorruptError(tls, int32(76342)) } } } @@ -52973,7 +53235,7 @@ func _sqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes p3 = pCur + 1 *(*Tu8)(unsafe.Pointer(p3)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p3))) & ^libc.Int32FromInt32(BTCF_ValidOvfl)) if !((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76133)) + return _sqlite3CorruptError(tls, int32(76538)) } goto bypass_moveto_root /* Start search on the current page */ } @@ -53045,7 +53307,7 @@ bypass_moveto_root: /* Invalid key size: 0x80 0x80 0x01 */ /* Minimum legal index key size */ if nCell < int32(2) || uint32(nCell)/(*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage { - rc = _sqlite3CorruptError(tls, int32(76220)) + rc = _sqlite3CorruptError(tls, int32(76625)) goto moveto_index_finish } pCellKey = _sqlite3Malloc(tls, uint64(nCell+nOverrun)) @@ -53078,7 +53340,7 @@ bypass_moveto_root: rc = SQLITE_OK (*TBtCursor)(unsafe.Pointer(pCur)).Fix = uint16(idx) if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 { - rc = _sqlite3CorruptError(tls, int32(76252)) + rc = _sqlite3CorruptError(tls, int32(76657)) } goto moveto_index_finish } @@ -53115,7 +53377,7 @@ bypass_moveto_root: p9 = pCur + 1 *(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl))) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(76283)) + return _sqlite3CorruptError(tls, int32(76688)) } *(*Tu16)(unsafe.Pointer(pCur + 64 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = uint16(lwr) *(*uintptr)(unsafe.Pointer(pCur + 112 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*4)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage @@ -53124,7 +53386,7 @@ bypass_moveto_root: rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+108, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(76294)) + rc = _sqlite3CorruptError(tls, int32(76699)) } if rc != 0 { v11 = pCur + 60 @@ -53176,11 +53438,11 @@ func _sqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) (r Ti64) { _, _ = i, n _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - /* Currently this interface is only called by the OP_IfSmaller - ** opcode, and it that case the cursor will always be valid and - ** will always point to a leaf node. */ + /* Currently this interface is only called by the OP_IfSizeBetween + ** opcode and the OP_Count opcode with P3=1. In either case, + ** the cursor will always be valid unless the btree is empty. */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return int64(-int32(1)) + return 0 } if int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).Fleaf) == 0 { return int64(-int32(1)) @@ -53258,7 +53520,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76395)) + return _sqlite3CorruptError(tls, int32(76800)) } if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { @@ -53373,7 +53635,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76488)) + return _sqlite3CorruptError(tls, int32(76893)) } if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { idx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) @@ -53467,7 +53729,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt ** stores the total number of pages on the freelist. */ n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36) if n >= mxPage { - return _sqlite3CorruptError(tls, int32(76578)) + return _sqlite3CorruptError(tls, int32(76983)) } if n > uint32(0) { searchList = uint8(0) /* If the free-list must be searched for 'nearby' */ @@ -53524,7 +53786,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt nSearch++ } if v2 || v1 > n { - rc = _sqlite3CorruptError(tls, int32(76634)) + rc = _sqlite3CorruptError(tls, int32(77039)) } else { rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0) } @@ -53553,7 +53815,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) { /* Value of k is out of range. Database corruption */ - rc = _sqlite3CorruptError(tls, int32(76663)) + rc = _sqlite3CorruptError(tls, int32(77068)) goto end_allocate_page } else { if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -53580,7 +53842,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8) if iNewTrunk > mxPage { - rc = _sqlite3CorruptError(tls, int32(76697)) + rc = _sqlite3CorruptError(tls, int32(77102)) goto end_allocate_page } rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+8, 0) @@ -53652,7 +53914,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4))) if iPage > mxPage || iPage < uint32(2) { - rc = _sqlite3CorruptError(tls, int32(76762)) + rc = _sqlite3CorruptError(tls, int32(77167)) goto end_allocate_page } if !(searchList != 0) || (iPage == nearby || iPage < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -53798,7 +54060,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(76889)) + return _sqlite3CorruptError(tls, int32(77294)) } if pMemPage != 0 { *(*uintptr)(unsafe.Pointer(bp + 4)) = pMemPage @@ -53849,7 +54111,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */ iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32) if iTrunk > _btreePagecount(tls, pBt) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(76936)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(77341)) goto freepage_out } *(*int32)(unsafe.Pointer(bp + 8)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0) @@ -53859,7 +54121,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4) _ = libc.Int32FromInt32(0) if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(76947)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(77352)) goto freepage_out } if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) { @@ -53951,7 +54213,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp _ = libc.Int32FromInt32(0) if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { /* Cell extends past end of page */ - return _sqlite3CorruptError(tls, int32(77036)) + return _sqlite3CorruptError(tls, int32(77441)) } ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt @@ -53971,7 +54233,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp /* 0 is not a legal page number and page 1 cannot be an ** overflow page. Therefore if ovflPgno<2 or past the end of the ** file the database must be corrupt. */ - return _sqlite3CorruptError(tls, int32(77053)) + return _sqlite3CorruptError(tls, int32(77458)) } if nOvfl != 0 { rc = _getOverflowPage(tls, pBt, ovflPgno, bp+4, bp) @@ -53994,7 +54256,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp ** caller is iterating through or using in some other way, this ** can be problematic. */ - rc = _sqlite3CorruptError(tls, int32(77073)) + rc = _sqlite3CorruptError(tls, int32(77478)) } else { rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 4)), ovflPgno) } @@ -54230,7 +54492,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { pc = uint32(int32(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77329)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77734)) return } rc = _freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -54665,12 +54927,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg _ = libc.Int32FromInt32(0) if uint32(pCell) >= uint32(aData+uintptr(j)) && uint32(pCell) < uint32(pEnd) { if uint32(pCell+uintptr(sz)) > uint32(pEnd) { - return _sqlite3CorruptError(tls, int32(77718)) + return _sqlite3CorruptError(tls, int32(78123)) } pCell = pTmp + uintptr(int32(pCell)-int32(aData)) } else { if uint32(pCell+uintptr(sz)) > uint32(pSrcEnd) && uint32(pCell) < uint32(pSrcEnd) { - return _sqlite3CorruptError(tls, int32(77723)) + return _sqlite3CorruptError(tls, int32(78128)) } } pData -= uintptr(sz) @@ -54678,7 +54940,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*Tu8)(unsafe.Pointer(pCellptr + 1)) = uint8(int32(pData) - int32(aData)) pCellptr += uintptr(2) if pData < pCellptr { - return _sqlite3CorruptError(tls, int32(77729)) + return _sqlite3CorruptError(tls, int32(78134)) } libc.Xmemmove(tls, pData, pCell, uint32(sz)) _ = libc.Int32FromInt32(0) @@ -54777,7 +55039,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr _ = libc.Int32FromInt32(0) if uint32(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))+uintptr(sz)) > uint32(pEnd) && uint32(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))) < uint32(pEnd) { _ = libc.Int32FromInt32(0) - _sqlite3CorruptError(tls, int32(77814)) + _sqlite3CorruptError(tls, int32(78219)) return int32(1) } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4)), uint32(sz)) @@ -54927,7 +55189,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p if iOld < iNew { nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray) if nShift > nCell { - return _sqlite3CorruptError(tls, int32(77936)) + return _sqlite3CorruptError(tls, int32(78341)) } libc.Xmemmove(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), uint32(nCell*int32(2))) nCell -= nShift @@ -55002,7 +55264,7 @@ editpage_fail: ; /* Unable to edit this page. Rebuild it from scratch instead. */ if nNew < int32(1) { - return _sqlite3CorruptError(tls, int32(78010)) + return _sqlite3CorruptError(tls, int32(78415)) } _populateCellCache(tls, pCArray, iNew, nNew) return _rebuildPage(tls, pCArray, iNew, nNew, pPg) @@ -55050,7 +55312,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return _sqlite3CorruptError(tls, int32(78050)) + return _sqlite3CorruptError(tls, int32(78455)) } /* dbfuzz001.test */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -55426,7 +55688,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa ** table-interior, index-leaf, or index-interior). */ if int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 4)))[0])).FaData))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78471)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78876)) goto balance_cleanup } /* Load b.apCell[] with pointers to all cells in pOld. If pOld @@ -55449,7 +55711,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa libc.Xmemset(tls, (*(*TCellArray)(unsafe.Pointer(bp + 68))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 68))).FnCell)*2, 0, uint32(2)*uint32(limit+int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow))) if int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 { if limit < int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78495)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78900)) goto balance_cleanup } limit = int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) @@ -55592,7 +55854,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa if i+int32(1) >= k { k = i + int32(2) if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78596)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79001)) goto balance_cleanup } (*(*[5]int32)(unsafe.Pointer(bp + 36)))[k-int32(1)] = 0 @@ -55635,7 +55897,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v10 = 0 } if cntNew[i] <= v10 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78629)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79034)) goto balance_cleanup } } @@ -55696,7 +55958,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v15 = 0 } if cntNew[i-int32(1)] <= v15 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78673)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79078)) goto balance_cleanup } goto _11 @@ -55729,7 +55991,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 132)))).FpDbPage) nNew++ if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 132)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78706)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79111)) } if *(*int32)(unsafe.Pointer(bp)) != 0 { goto balance_cleanup @@ -55972,7 +56234,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa } pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 68 + 16 + uintptr(k)*4)) if uint32(pCell1) < uint32(pSrcEnd) && uint32(pCell1+uintptr(sz2)) > uint32(pSrcEnd) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78906)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79311)) goto balance_cleanup } *(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno) @@ -56237,7 +56499,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) { break } if pOther != pCur && int32((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage { - return _sqlite3CorruptError(tls, int32(79138)) + return _sqlite3CorruptError(tls, int32(79543)) } goto _1 _1: @@ -56312,7 +56574,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) { /* The page being written is not a root page, and there is currently ** more than one reference to it. This only happens if the page is one ** of its own ancestor pages. Corruption. */ - rc = _sqlite3CorruptError(tls, int32(79198)) + rc = _sqlite3CorruptError(tls, int32(79603)) } else { pParent = *(*uintptr)(unsafe.Pointer(pCur + 112 + uintptr(iPage-int32(1))*4)) iIdx = int32(*(*Tu16)(unsafe.Pointer(pCur + 64 + uintptr(iPage-int32(1))*2))) @@ -56475,7 +56737,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int return rc } if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = _sqlite3CorruptError(tls, int32(79362)) + rc = _sqlite3CorruptError(tls, int32(79767)) } else { if uint32(iOffset)+ovflPageSize < uint32(nTotal) { ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData) @@ -56506,7 +56768,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) { nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */ pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */ if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) { - return _sqlite3CorruptError(tls, int32(79390)) + return _sqlite3CorruptError(tls, int32(79795)) } if int32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal { /* The entire cell is local */ @@ -56593,7 +56855,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** Which can only happen if the SQLITE_NoSchemaError flag was set when ** the schema was loaded. This cannot be asserted though, as a user might ** set the flag, load the schema, and then unset the flag. */ - return _sqlite3CorruptError(tls, int32(79471)) + return _sqlite3CorruptError(tls, int32(79876)) } } /* Ensure that the cursor is not in the CURSOR_FAULT state and that it @@ -56696,7 +56958,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) { /* ^^^^^--- due to the moveToRoot() call above */ - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79594)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79999)) } else { *(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage) } @@ -56738,7 +57000,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if *(*int32)(unsafe.Pointer(bp + 4)) == 0 { _ = libc.Int32FromInt32(0) if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79636)) + return _sqlite3CorruptError(tls, int32(80041)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -56768,10 +57030,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ _ = libc.Int32FromInt32(0) /* clearCell never fails when nLocal==nPayload */ if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) { - return _sqlite3CorruptError(tls, int32(79663)) + return _sqlite3CorruptError(tls, int32(80068)) } if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79666)) + return _sqlite3CorruptError(tls, int32(80071)) } libc.Xmemcpy(tls, oldCell, newCell, uint32(*(*int32)(unsafe.Pointer(bp + 8)))) return SQLITE_OK @@ -56896,7 +57158,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79768)) + return _sqlite3CorruptError(tls, int32(80173)) } nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -56918,7 +57180,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T } if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79793)) + return _sqlite3CorruptError(tls, int32(80198)) } ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -57027,7 +57289,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { return *(*int32)(unsafe.Pointer(bp)) } } else { - return _sqlite3CorruptError(tls, int32(79889)) + return _sqlite3CorruptError(tls, int32(80294)) } } _ = libc.Int32FromInt32(0) @@ -57035,14 +57297,14 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { iCellIdx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return _sqlite3CorruptError(tls, int32(79898)) + return _sqlite3CorruptError(tls, int32(80303)) } pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx)))))) if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 && _btreeComputeFreeSpace(tls, pPage) != 0 { - return _sqlite3CorruptError(tls, int32(79902)) + return _sqlite3CorruptError(tls, int32(80307)) } if pCell < (*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79905)) + return _sqlite3CorruptError(tls, int32(80310)) } /* If the BTREE_SAVEPOSITION bit is on, then the cursor position must ** be preserved following this delete operation. If the current delete @@ -57137,7 +57399,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { } pCell = (*TMemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(int32(2)*(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FnCell)-int32(1)))))))) if pCell < (*TMemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return _sqlite3CorruptError(tls, int32(79996)) + return _sqlite3CorruptError(tls, int32(80401)) } nCell = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pLeaf)).FxCellSize})))(tls, pLeaf, pCell)) _ = libc.Int32FromInt32(0) @@ -57257,7 +57519,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags */ _sqlite3BtreeGetMeta(tls, p, int32(BTREE_LARGEST_ROOT_PAGE), bp+4) if *(*TPgno)(unsafe.Pointer(bp + 4)) > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80112)) + return _sqlite3CorruptError(tls, int32(80517)) } *(*TPgno)(unsafe.Pointer(bp + 4))++ /* The new root-page may not be allocated on a pointer-map page, or the @@ -57299,7 +57561,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 8)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 4)), bp+20, bp+24) if int32(*(*Tu8)(unsafe.Pointer(bp + 20))) == int32(PTRMAP_ROOTPAGE) || int32(*(*Tu8)(unsafe.Pointer(bp + 20))) == int32(PTRMAP_FREEPAGE) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80160)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80565)) } if *(*int32)(unsafe.Pointer(bp + 8)) != SQLITE_OK { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -57386,14 +57648,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int _, _, _, _ = hdr, i, pCell, v2 _ = libc.Int32FromInt32(0) if pgno > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80250)) + return _sqlite3CorruptError(tls, int32(80655)) } *(*int32)(unsafe.Pointer(bp + 4)) = _getAndInitPage(tls, pBt, pgno, bp, 0) if *(*int32)(unsafe.Pointer(bp + 4)) != 0 { return *(*int32)(unsafe.Pointer(bp + 4)) } if int32((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) { - *(*int32)(unsafe.Pointer(bp + 4)) = _sqlite3CorruptError(tls, int32(80257)) + *(*int32)(unsafe.Pointer(bp + 4)) = _sqlite3CorruptError(tls, int32(80662)) goto cleardatabasepage_out } hdr = int32((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset) @@ -57534,7 +57796,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iTable > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80361)) + return _sqlite3CorruptError(tls, int32(80766)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -57810,7 +58072,7 @@ func _checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, pCheck+48, __ccgo_ts+4203, int32(1)) + Xsqlite3_str_append(tls, pCheck+48, __ccgo_ts+4267, int32(1)) } if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, pCheck+48, (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp+8, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv0, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -57862,11 +58124,11 @@ func _checkRef(tls *libc.TLS, pCheck uintptr, iPage TPgno) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if iPage > (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnCkPage || iPage == uint32(0) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4205, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4269, libc.VaList(bp+8, iPage)) return int32(1) } if _getPageReferenced(tls, pCheck, iPage) != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4228, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4292, libc.VaList(bp+8, iPage)) return int32(1) } _setPageReferenced(tls, pCheck, iPage) @@ -57892,11 +58154,11 @@ func _checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild TPgno, eType Tu8, iParen if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< (*TBtShared)(unsafe.Pointer((*TIntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize/uint32(4)-uint32(2) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4358, libc.VaList(bp+16, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4422, libc.VaList(bp+16, iPage)) N-- } else { i = 0 @@ -57968,11 +58230,11 @@ func _checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage TPgno, N } if N != 0 && nErrAtStart == (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr { if isFreeList != 0 { - v2 = __ccgo_ts + 4397 + v2 = __ccgo_ts + 4461 } else { - v2 = __ccgo_ts + 4402 + v2 = __ccgo_ts + 4466 } - _checkAppendMsg(tls, pCheck, __ccgo_ts+4423, libc.VaList(bp+16, v2, expected-N, expected)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4487, libc.VaList(bp+16, v2, expected-N, expected)) } } @@ -58109,12 +58371,12 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr if _checkRef(tls, pCheck, iPage) != 0 { return 0 } - (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4449 + (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4513 (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage v1 = _btreeGetPage(tls, pBt, iPage, bp+8, 0) rc = v1 if v1 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4467, libc.VaList(bp+48, rc)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4531, libc.VaList(bp+48, rc)) if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< usableSize-uint32(4) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4621, libc.VaList(bp+48, pc, contentOffset, usableSize-uint32(4))) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4685, libc.VaList(bp+48, pc, contentOffset, usableSize-uint32(4))) doCoverageCheck = 0 goto _4 } pCell = data + uintptr(pc) (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FxParseCell})))(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), pCell, bp+16) if pc+uint32((*(*TCellInfo)(unsafe.Pointer(bp + 16))).FnSize) > usableSize { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4651, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4715, 0) doCoverageCheck = 0 goto _4 } @@ -58200,7 +58465,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr v5 = libc.BoolInt32((*(*TCellInfo)(unsafe.Pointer(bp + 16))).FnKey >= *(*Ti64)(unsafe.Pointer(bp))) } if v5 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4675, libc.VaList(bp+48, (*(*TCellInfo)(unsafe.Pointer(bp + 16))).FnKey)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4739, libc.VaList(bp+48, (*(*TCellInfo)(unsafe.Pointer(bp + 16))).FnKey)) } *(*Ti64)(unsafe.Pointer(bp)) = (*(*TCellInfo)(unsafe.Pointer(bp + 16))).FnKey keyCanBeEqual = 0 /* Only the first key on the page may ==maxKey */ @@ -58224,7 +58489,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr d2 = _checkTreePage(tls, pCheck, uint32(pgno), bp, *(*Ti64)(unsafe.Pointer(bp))) keyCanBeEqual = 0 if d2 != depth { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4699, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4763, 0) depth = d2 } } else { @@ -58261,6 +58526,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr i-- } } + _ = libc.Int32FromInt32(0) /* Add the freeblocks to the min-heap ** ** EVIDENCE-OF: R-20690-50594 The second field of the b-tree page header @@ -58301,7 +58567,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr prev = contentOffset - uint32(1) /* Implied first min-heap entry */ for _btreeHeapPull(tls, heap, bp+12) != 0 { if prev&uint32(0xffff) >= *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(16) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4724, libc.VaList(bp+48, *(*Tu32)(unsafe.Pointer(bp + 12))>>int32(16), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4788, libc.VaList(bp+48, *(*Tu32)(unsafe.Pointer(bp + 12))>>int32(16), iPage)) break } else { nFrag = int32(uint32(nFrag) + (*(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(16) - prev&libc.Uint32FromInt32(0xffff) - libc.Uint32FromInt32(1))) @@ -58315,7 +58581,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr ** number of fragmented free bytes within the cell content area. */ if *(*Tu32)(unsafe.Pointer(heap)) == uint32(0) && nFrag != int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4761, libc.VaList(bp+48, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4825, libc.VaList(bp+48, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) } } goto end_of_check @@ -58355,22 +58621,23 @@ end_of_check: // ** the unverified btrees. Except, if aRoot[1] is 1, then the freelist // ** checks are still performed. // */ -func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { +func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, aCnt uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { bp := tls.Alloc(224) defer tls.Free(224) var bCkFreelist, bPartial int32 var i, mx, mxInHdr TPgno var pBt uintptr var savedDbFlags Tu64 - var _ /* notUsed at bp+184 */ Ti64 + var _ /* notUsed at bp+192 */ Ti64 var _ /* sCheck at bp+0 */ TIntegrityCk - var _ /* zErr at bp+80 */ [100]int8 + var _ /* zErr at bp+88 */ [100]int8 _, _, _, _, _, _, _ = bCkFreelist, bPartial, i, mx, mxInHdr, pBt, savedDbFlags pBt = (*TBtree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Tsqlite3)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags bPartial = 0 /* True if not checking all btrees */ bCkFreelist = int32(1) /* True to scan the freelist */ _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* aRoot[0]==0 means this is a partial check */ if *(*TPgno)(unsafe.Pointer(aRoot)) == uint32(0) { _ = libc.Int32FromInt32(0) @@ -58382,13 +58649,13 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin _sqlite3BtreeEnter(tls, p) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - libc.Xmemset(tls, bp, 0, uint32(80)) + libc.Xmemset(tls, bp, 0, uint32(88)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fdb = db (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt = pBt (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage = _btreePagecount(tls, (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr = mxErr - _sqlite3StrAccumInit(tls, bp+48, uintptr(0), bp+80, int32(100), int32(SQLITE_MAX_LENGTH)) + _sqlite3StrAccumInit(tls, bp+48, uintptr(0), bp+88, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FerrMsg.FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage == uint32(0) { goto integrity_ck_cleanup @@ -58410,7 +58677,7 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin /* Check the integrity of the freelist */ if bCkFreelist != 0 { - (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4813 + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4877 _checkList(tls, bp, int32(1), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = uintptr(0) } @@ -58434,11 +58701,11 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } mxInHdr = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+52) if mx != mxInHdr { - _checkAppendMsg(tls, bp, __ccgo_ts+4824, libc.VaList(bp+200, mx, mxInHdr)) + _checkAppendMsg(tls, bp, __ccgo_ts+4888, libc.VaList(bp+208, mx, mxInHdr)) } } else { if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64) != uint32(0) { - _checkAppendMsg(tls, bp, __ccgo_ts+4869, 0) + _checkAppendMsg(tls, bp, __ccgo_ts+4933, 0) } } } @@ -58448,14 +58715,15 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin if !(int32(i) < nRoot && (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr != 0) { break } - if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == uint32(0) { - goto _2 - } - if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { - _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnRow = 0 + if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) != 0 { + if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { + _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + } + (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fv0 = *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) + _checkTreePage(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+192, libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)< nRec || iHdr >= *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84303)) + iHdr = uint32(uint8(v1)) + if *(*Tu32)(unsafe.Pointer(bp + 4)) > uint32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84745)) } - iField = *(*int32)(unsafe.Pointer(bp + 4)) + iField = int64(*(*Tu32)(unsafe.Pointer(bp + 4))) i = 0 for { if !(i <= iCol) { @@ -61634,19 +61934,19 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC } else { v3 = int32(_sqlite3GetVarint32(tls, a+uintptr(iHdr), bp)) } - iHdr += int32(uint8(v3)) - if iHdr > *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84309)) + iHdr += uint32(uint8(v3)) + if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84751)) } - szField = int32(_sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))) - iField += szField + szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp))) + iField += int64(szField) goto _2 _2: ; i++ } - if iField > nRec { - return _sqlite3CorruptError(tls, int32(84315)) + if iField > int64(nRec) { + return _sqlite3CorruptError(tls, int32(84757)) } if pMem == uintptr(0) { v4 = _sqlite3ValueNew(tls, db) @@ -61656,7 +61956,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return int32(SQLITE_NOMEM) } } - _sqlite3VdbeSerialGet(tls, a+uintptr(iField-szField), *(*Tu32)(unsafe.Pointer(bp)), pMem) + _sqlite3VdbeSerialGet(tls, a+uintptr(iField-int64(szField)), *(*Tu32)(unsafe.Pointer(bp)), pMem) (*TMem)(unsafe.Pointer(pMem)).Fenc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc return SQLITE_OK } @@ -62471,6 +62771,11 @@ func _resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { _ = libc.Int32FromInt32(0) /* True because of tag-20230419-1 */ (*TOp)(unsafe.Pointer(pOp)).Fp2 = *(*int32)(unsafe.Pointer(aLabel + uintptr(^(*TOp)(unsafe.Pointer(pOp)).Fp2)*4)) } + /* OPFLG_JUMP opcodes never have P2==0, though OPFLG_JUMP0 opcodes + ** might */ + _ = libc.Int32FromInt32(0) + /* Jumps never go off the end of the bytecode array */ + _ = libc.Int32FromInt32(0) break } /* The mkopcodeh.tcl script has so arranged things that the only @@ -63022,7 +63327,7 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { case -int32(8): pKeyInfo = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5081, libc.VaList(bp+32, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5145, libc.VaList(bp+32, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) j = 0 for { if !(j < int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)) { @@ -63032,68 +63337,68 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { if pColl != 0 { v2 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } zColl = v2 - if libc.Xstrcmp(tls, zColl, __ccgo_ts+5086) == 0 { - zColl = __ccgo_ts + 5093 + if libc.Xstrcmp(tls, zColl, __ccgo_ts+5150) == 0 { + zColl = __ccgo_ts + 5157 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_DESC) != 0 { - v3 = __ccgo_ts + 5074 + v3 = __ccgo_ts + 5138 } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_BIGNULL) != 0 { - v4 = __ccgo_ts + 5095 + v4 = __ccgo_ts + 5159 } else { - v4 = __ccgo_ts + 1648 + v4 = __ccgo_ts + 1662 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5098, libc.VaList(bp+32, v3, v4, zColl)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5162, libc.VaList(bp+32, v3, v4, zColl)) goto _1 _1: ; j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5170, int32(1)) case -int32(2): pColl1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5122, libc.VaList(bp+32, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5186, libc.VaList(bp+32, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) case -int32(7): pDef = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5131, libc.VaList(bp+32, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5195, libc.VaList(bp+32, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) case -int32(15): pDef1 = (*Tsqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpFunc - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5131, libc.VaList(bp+32, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5195, libc.VaList(bp+32, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) case -int32(13): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1404, libc.VaList(bp+32, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1423, libc.VaList(bp+32, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(3): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5138, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pOp + 16)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5202, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pOp + 16)))) case -int32(12): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1371, libc.VaList(bp+32, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1390, libc.VaList(bp+32, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(10): pMem = *(*uintptr)(unsafe.Pointer(pOp + 16)) if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Str) != 0 { zP4 = (*TMem)(unsafe.Pointer(pMem)).Fz } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1404, libc.VaList(bp+32, *(*Ti64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1423, libc.VaList(bp+32, *(*Ti64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1371, libc.VaList(bp+32, *(*float64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1390, libc.VaList(bp+32, *(*float64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Null) != 0 { - zP4 = __ccgo_ts + 1649 + zP4 = __ccgo_ts + 1663 } else { _ = libc.Int32FromInt32(0) - zP4 = __ccgo_ts + 5141 + zP4 = __ccgo_ts + 5205 } } } } case -int32(11): pVtab = (*TVTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpVtab - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5148, libc.VaList(bp+32, pVtab)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5212, libc.VaList(bp+32, pVtab)) case -int32(14): ai = *(*uintptr)(unsafe.Pointer(pOp + 16)) n = *(*Tu32)(unsafe.Pointer(ai)) /* The first element of an INTARRAY is always the @@ -63108,15 +63413,15 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } else { v6 = int32(',') } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5156, libc.VaList(bp+32, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5220, libc.VaList(bp+32, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) goto _5 _5: ; i++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5161, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5225, int32(1)) case -int32(4): - zP4 = __ccgo_ts + 5163 + zP4 = __ccgo_ts + 5227 case -int32(5): zP4 = (*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FzName default: @@ -63132,10 +63437,10 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } var _encnames = [4]uintptr{ - 0: __ccgo_ts + 5108, - 1: __ccgo_ts + 5110, - 2: __ccgo_ts + 5112, - 3: __ccgo_ts + 5117, + 0: __ccgo_ts + 5172, + 1: __ccgo_ts + 5174, + 2: __ccgo_ts + 5176, + 3: __ccgo_ts + 5181, } // C documentation @@ -64127,7 +64432,7 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { retryCount = 0 /* Select a super-journal file name */ nMainFile = _sqlite3Strlen30(tls, zMainFile) - zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5171, libc.VaList(bp+24, 0, zMainFile, 0)) + zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5235, libc.VaList(bp+24, 0, zMainFile, 0)) if zSuper == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -64135,18 +64440,18 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { for cond := true; cond; cond = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 4)) != 0 { if retryCount != 0 { if retryCount > int32(100) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5183, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5247, libc.VaList(bp+24, zSuper)) _sqlite3OsDelete(tls, pVfs, zSuper, 0) break } else { if retryCount == int32(1) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5197, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5261, libc.VaList(bp+24, zSuper)) } } } retryCount++ Xsqlite3_randomness(tls, int32(4), bp+8) - Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5212, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 8))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 8))&uint32(0xff))) + Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5276, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 8))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 8))&uint32(0xff))) /* The antipenultimate character of the super-journal name must ** be "9" to avoid name collisions when using 8+3 filenames. */ _ = libc.Int32FromInt32(0) @@ -64383,7 +64688,7 @@ func _sqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) (r int32) { if deferred != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > 0 || !(deferred != 0) && (*TVdbe)(unsafe.Pointer(p)).FnFkConstraint > 0 { (*TVdbe)(unsafe.Pointer(p)).Frc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(3)< y { return +libc.Int32FromInt32(1) } - s = float64(i) - if s < r { + if float64(i) < r { v2 = -int32(1) } else { - v2 = libc.BoolInt32(s > r) + v2 = libc.BoolInt32(float64(i) > r) } return v2 } @@ -65729,7 +66033,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89131))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89580))) return 0 /* Corruption */ } /* Only needed by assert() statements */ @@ -65824,7 +66128,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr pKeyInfo = v4 } if v5 || int32((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89212))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89661))) return 0 /* Corruption */ } else { if *(*uintptr)(unsafe.Pointer(pKeyInfo + 20 + uintptr(i)*4)) != 0 { @@ -65860,7 +66164,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } else { nStr = int32((*(*Tu32)(unsafe.Pointer(bp + 48)) - uint32(12)) / uint32(2)) if d1+uint32(nStr) > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89242))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89691))) return 0 /* Corruption */ } else { if int32((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 { @@ -65916,7 +66220,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } idx1 += uint32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 48))))) if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89293))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89742))) return 0 /* Corrupt index */ } } @@ -66057,7 +66361,7 @@ vrcs_restart: szHdr = int32(*(*Tu8)(unsafe.Pointer(aKey1))) nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2) if szHdr+nStr > nKey1 { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89456))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89905))) return 0 /* Corruption */ } if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr { @@ -66214,7 +66518,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr idx_rowid_corruption: ; _sqlite3VdbeMemReleaseMalloc(tls, bp+8) - return _sqlite3CorruptError(tls, int32(89614)) + return _sqlite3CorruptError(tls, int32(90063)) } // C documentation @@ -66247,7 +66551,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked ** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */ if nCellKey <= 0 || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return _sqlite3CorruptError(tls, int32(89647)) + return _sqlite3CorruptError(tls, int32(90096)) } _sqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, uint32(nCellKey), bp) @@ -66403,15 +66707,15 @@ func _sqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) (r int32) { pOp = (*TVdbe)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe)).FaOp + uintptr((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FiOp)*20 if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fopcode) == int32(OP_PureFunc) { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_IsCheck) != 0 { - zContext = __ccgo_ts + 5255 + zContext = __ccgo_ts + 5319 } else { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_GenCol) != 0 { - zContext = __ccgo_ts + 5274 + zContext = __ccgo_ts + 5338 } else { - zContext = __ccgo_ts + 5293 + zContext = __ccgo_ts + 5357 } } - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5302, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5366, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) return 0 @@ -66590,7 +66894,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) (r int32) { // */ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { if (*TVdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5338, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5402, 0) return int32(1) } else { return 0 @@ -66600,7 +66904,7 @@ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { func _vdbeSafetyNotNull(tls *libc.TLS, p uintptr) (r int32) { if p == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5383, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5447, 0) return int32(1) } else { return _vdbeSafety(tls, p) @@ -66662,7 +66966,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt db = (*TVdbe)(unsafe.Pointer(v)).Fdb if _vdbeSafety(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90035)) + return _sqlite3MisuseError(tls, int32(90484)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 { @@ -67193,7 +67497,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { _ = libc.Int32FromInt32(0) (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FisError = int32(SQLITE_TOOBIG) - _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5423, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) + _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5487, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) } // C documentation @@ -67404,7 +67708,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt /* the prepared statement */ cnt = 0 /* The database connection */ if _vdbeSafetyNotNull(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90829)) + return _sqlite3MisuseError(tls, int32(91278)) } db = (*TVdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) @@ -67538,7 +67842,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32 _, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1 *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) if pVal == uintptr(0) { - return _sqlite3MisuseError(tls, int32(90950)) + return _sqlite3MisuseError(tls, int32(91399)) } if int32((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) { return int32(SQLITE_ERROR) @@ -68011,18 +68315,18 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) (r int32) { // ** Column names appropriate for EXPLAIN or EXPLAIN QUERY PLAN. // */ var _azExplainColNames8 = [12]uintptr{ - 0: __ccgo_ts + 5446, - 1: __ccgo_ts + 5451, - 2: __ccgo_ts + 5458, - 3: __ccgo_ts + 5461, - 4: __ccgo_ts + 5464, - 5: __ccgo_ts + 5467, - 6: __ccgo_ts + 5470, - 7: __ccgo_ts + 5473, - 8: __ccgo_ts + 5481, - 9: __ccgo_ts + 5484, - 10: __ccgo_ts + 5491, - 11: __ccgo_ts + 5499, + 0: __ccgo_ts + 5510, + 1: __ccgo_ts + 5515, + 2: __ccgo_ts + 5522, + 3: __ccgo_ts + 5525, + 4: __ccgo_ts + 5528, + 5: __ccgo_ts + 5531, + 6: __ccgo_ts + 5534, + 7: __ccgo_ts + 5537, + 8: __ccgo_ts + 5545, + 9: __ccgo_ts + 5548, + 10: __ccgo_ts + 5555, + 11: __ccgo_ts + 5563, } var _azExplainColNames16data = [60]Tu16{ 0: uint16('a'), @@ -68268,14 +68572,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) { var v2 bool _, _, _ = pVar, v1, v2 if _vdbeSafetyNotNull(tls, p) != 0 { - return _sqlite3MisuseError(tls, int32(91554)) + return _sqlite3MisuseError(tls, int32(92003)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if int32((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) { - _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(91558))) + _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(92007))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5506, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) - return _sqlite3MisuseError(tls, int32(91562)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5570, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) + return _sqlite3MisuseError(tls, int32(92011)) } if i >= uint32((*TVdbe)(unsafe.Pointer(p)).FnVar) { _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE)) @@ -68849,7 +69153,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp /* Test that this call is being made from within an SQLITE_DELETE or ** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */ if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) { - rc = _sqlite3MisuseError(tls, int32(92098)) + rc = _sqlite3MisuseError(tls, int32(92547)) goto preupdate_old_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 { @@ -68980,7 +69284,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp rc = SQLITE_OK p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) { - rc = _sqlite3MisuseError(tls, int32(92221)) + rc = _sqlite3MisuseError(tls, int32(92670)) goto preupdate_new_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) { @@ -69157,7 +69461,7 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr break } } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5546, int32(3)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5610, int32(3)) _ = libc.Int32FromInt32(0) Xsqlite3_str_append(tls, bp+8, zStart, int32(zRawSql)-int32(zStart)) } @@ -69196,13 +69500,13 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr _ = libc.Int32FromInt32(0) pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(*(*int32)(unsafe.Pointer(bp))-int32(1))*40 if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1649, int32(4)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1663, int32(4)) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1404, libc.VaList(bp+80, *(*Ti64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1423, libc.VaList(bp+80, *(*Ti64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5067, libc.VaList(bp+80, *(*float64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5131, libc.VaList(bp+80, *(*float64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Str) != 0 { /* Number of bytes of the string text to include in output */ enc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc @@ -69217,29 +69521,29 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr pVar = bp + 32 } nOut = (*TMem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5550, libc.VaList(bp+80, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5614, libc.VaList(bp+80, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != int32(SQLITE_UTF8) { _sqlite3VdbeMemRelease(tls, bp+32) } } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5557, libc.VaList(bp+80, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5621, libc.VaList(bp+80, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) } else { /* Number of bytes of the blob to include in output */ _ = libc.Int32FromInt32(0) - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5570, int32(2)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5634, int32(2)) nOut1 = (*TMem)(unsafe.Pointer(pVar)).Fn i = 0 for { if !(i < nOut1) { break } - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5573, libc.VaList(bp+80, int32(*(*int8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5637, libc.VaList(bp+80, int32(*(*int8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) goto _3 _3: ; i++ } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5578, int32(1)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5642, int32(1)) } } } @@ -69854,7 +70158,7 @@ var _azTypes = [5]uintptr{ 1: __ccgo_ts + 1144, 2: __ccgo_ts + 1149, 3: __ccgo_ts + 1127, - 4: __ccgo_ts + 1649, + 4: __ccgo_ts + 1663, } // C documentation @@ -69868,7 +70172,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { defer tls.Free(704) var aCol, aMem, aOffset, aOp, aPermute, aRoot, apArg, apArg1, db, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pnErr, t1, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v240, v241, v242, v250, v251, v252, v253, v255, v263, v278, v279, v286, v288, v297, v298, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 uintptr var affinity int8 - var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 + var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, savedAnalysisLimit, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 var colCacheCtr, iAddr, iMap, iPrior, idx, len11, n3, p22, p23, serialType, serial_type, v213, v214, v216, v221, v222 Tu32 var encoding, isWriteLock, mTrace, op, p5, resetSchemaOnFault, vtabOnConflict, v225 Tu8 var flags1, flags11, flags2, flags3, flags31, newType, nullFlag, type1, type2, typeMask, v190 Tu16 @@ -69925,7 +70229,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { var _ /* z at bp+496 */ uintptr var _ /* zErr at bp+460 */ uintptr var _ /* zErr at bp+576 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, savedAnalysisLimit, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 aOp = (*TVdbe)(unsafe.Pointer(p)).FaOp /* Copy of p->aOp */ pOp = aOp /* Current operation */ rc = SQLITE_OK /* Value to return */ @@ -70201,7 +70505,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto _109 case int32(OP_SeekEnd): goto _110 - case int32(OP_IfSmaller): + case int32(OP_IfSizeBetween): goto _111 case int32(OP_Sort): goto _112 @@ -70498,7 +70802,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: EndCoroutine */ _5: - ; /* jump */ + ; /* jump0 */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -70522,7 +70826,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** ** The instruction at the address in register P1 is a Yield. ** Jump to the P2 parameter of that Yield. - ** After the jump, register P1 becomes undefined. + ** After the jump, the value register P1 is left with a value + ** such that subsequent OP_Yields go back to the this same + ** OP_EndCoroutine instruction. ** ** See also: InitCoroutine */ @@ -70534,8 +70840,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pCaller = aOp + uintptr(*(*Ti64)(unsafe.Pointer(pIn1)))*20 _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) + *(*Ti64)(unsafe.Pointer(pIn1)) = int64((int32(pOp)-int32((*TVdbe)(unsafe.Pointer(p)).FaOp))/20 - int32(1)) pOp = aOp + uintptr((*TVdbeOp)(unsafe.Pointer(pCaller)).Fp2-int32(1))*20 - (*TMem)(unsafe.Pointer(pIn1)).Fflags = uint16(MEM_Undefined) goto _187 /* Opcode: Yield P1 P2 * * * ** @@ -70634,15 +70940,15 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) if (*TVdbe)(unsafe.Pointer(p)).Frc != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+5614, libc.VaList(bp+672, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) + _sqlite3VdbeError(tls, p, __ccgo_ts+5678, libc.VaList(bp+672, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) if *(*uintptr)(unsafe.Pointer(pOp + 16)) != 0 { - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5635, libc.VaList(bp+672, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5699, libc.VaList(bp+672, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } } else { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+672, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+672, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } pcx = (int32(pOp) - int32(aOp)) / 20 - Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5642, libc.VaList(bp+672, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5706, libc.VaList(bp+672, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) } rc = _sqlite3VdbeHalt(tls, p) _ = libc.Int32FromInt32(0) @@ -70847,18 +71153,14 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } (*TMem)(unsafe.Pointer(pOut)).Fenc = encoding goto _187 - /* Opcode: Variable P1 P2 * P4 * - ** Synopsis: r[P2]=parameter(P1,P4) + /* Opcode: Variable P1 P2 * * * + ** Synopsis: r[P2]=parameter(P1) ** ** Transfer the values of bound parameter P1 into register P2 - ** - ** If the parameter is named, then its name appears in P4. - ** The P4 value is used by sqlite3_bind_parameter_name(). */ _19: ; /* Value being transferred */ _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1-int32(1))*40 if _sqlite3VdbeMemTooBig(tls, pVar) != 0 { goto too_big @@ -71395,7 +71697,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** raise an SQLITE_MISMATCH exception. */ _38: - ; /* jump, in1 */ + ; /* jump0, in1 */ pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*40 if int32((*TMem)(unsafe.Pointer(pIn1)).Fflags)&int32(MEM_Int) == 0 { _applyAffinity(tls, pIn1, int8(SQLITE_AFF_NUMERIC), encoding) @@ -72460,7 +72762,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*20 goto _187 } else { - rc = _sqlite3CorruptError(tls, int32(95863)) + rc = _sqlite3CorruptError(tls, int32(96311)) goto abort_due_to_error } /* Opcode: TypeCheck P1 P2 P3 P4 * @@ -72569,7 +72871,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_type_error vdbe_type_error: ; - _sqlite3VdbeError(tls, p, __ccgo_ts+5666, libc.VaList(bp+672, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*12 + 4))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*12))).FzCnName)) + _sqlite3VdbeError(tls, p, __ccgo_ts+5730, libc.VaList(bp+672, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*12 + 4))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*12))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(12)< 0 && p12 == int32(SAVEPOINT_RELEASE) { /* It is not possible to release (commit) a savepoint if there are ** active write statements. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5780, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5844, 0) rc = int32(SQLITE_BUSY) } else { /* Determine whether or not this is a transaction savepoint. If so, @@ -73202,7 +73504,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If this instruction implements a COMMIT and other VMs are writing ** return an error indicating that the other VMs must complete first. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5834, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5898, 0) rc = int32(SQLITE_BUSY) goto abort_due_to_error } else { @@ -73232,12 +73534,12 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_return } else { if !(desiredAutoCommit != 0) { - v250 = __ccgo_ts + 5889 + v250 = __ccgo_ts + 5953 } else { if iRollback != 0 { - v251 = __ccgo_ts + 5937 + v251 = __ccgo_ts + 6001 } else { - v251 = __ccgo_ts + 5980 + v251 = __ccgo_ts + 6044 } v250 = v251 } @@ -73339,7 +73641,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** SQL statement was prepared. */ _sqlite3DbFree(tls, db, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg) - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6021) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6085) /* If the schema-cookie from the database file matches the cookie ** stored with the in-memory representation of the schema, do ** not reload the schema from the database file. @@ -73697,7 +73999,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*40))).Fn = 0 - (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*40))).Fz = __ccgo_ts + 1648 + (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*40))).Fz = __ccgo_ts + 1662 } pCx1 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*4)) if pCx1 != 0 && !(int32(TBool(*(*uint8)(unsafe.Pointer(pCx1 + 8))&0x8>>3)) != 0) && (*TOp)(unsafe.Pointer(pOp)).Fp2 <= int32((*TVdbeCursor)(unsafe.Pointer(pCx1)).FnField) { @@ -73813,7 +74115,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** is the only cursor opcode that works with a pseudo-table. ** ** P3 is the number of fields in the records that will be stored by - ** the pseudo-table. + ** the pseudo-table. If P2 is 0 or negative then the pseudo-cursor + ** will return NULL for every column. */ _83: ; @@ -73935,11 +74238,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: Found, NotFound, SeekGt, SeekGe, SeekLt */ _88: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _87: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _86: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _85: ; /* Only interested in == results */ _ = libc.Int32FromInt32(0) @@ -74565,7 +74868,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp + 188)) != 0 { _ = libc.Int32FromInt32(0) if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 { - rc = _sqlite3CorruptError(tls, int32(98111)) + rc = _sqlite3CorruptError(tls, int32(98565)) } else { goto jump_to_p2 } @@ -75240,14 +75543,20 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } goto _187 - /* Opcode: IfSmaller P1 P2 P3 * * + /* Opcode: IfSizeBetween P1 P2 P3 P4 * + ** + ** Let N be the approximate number of rows in the table or index + ** with cursor P1 and let X be 10*log2(N) if N is positive or -1 + ** if N is zero. ** - ** Estimate the number of rows in the table P1. Jump to P2 if that - ** estimate is less than approximately 2**(0.1*P3). + ** Jump to P2 if X is in between P3 and P4, inclusive. */ _111: ; _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) pC20 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*4)) _ = libc.Int32FromInt32(0) pCrsr5 = *(*uintptr)(unsafe.Pointer(pC20 + 36)) @@ -75256,12 +75565,14 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { goto abort_due_to_error } - if *(*int32)(unsafe.Pointer(bp + 292)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 292)) != 0 { + sz = int64(-int32(1)) /* -Infinity encoding */ + } else { sz = _sqlite3BtreeRowCountEst(tls, pCrsr5) - if sz >= 0 && int32(_sqlite3LogEst(tls, uint64(sz))) < (*TOp)(unsafe.Pointer(pOp)).Fp3 { - *(*int32)(unsafe.Pointer(bp + 292)) = int32(1) - } + _ = libc.Int32FromInt32(0) + sz = int64(_sqlite3LogEst(tls, uint64(sz))) } + *(*int32)(unsafe.Pointer(bp + 292)) = libc.BoolInt32(sz >= int64((*TOp)(unsafe.Pointer(pOp)).Fp3) && sz <= int64(*(*int32)(unsafe.Pointer(pOp + 16)))) if *(*int32)(unsafe.Pointer(bp + 292)) != 0 { goto jump_to_p2 } @@ -75568,7 +75879,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } else { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) { - rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) { - rc = _sqlite3CorruptError(tls, int32(99398)) + rc = _sqlite3CorruptError(tls, int32(99862)) goto abort_due_to_error } _sqlite3VdbeMemInit(tls, bp+404, db, uint16(0)) @@ -75914,11 +76225,18 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } *(*Ti64)(unsafe.Pointer(pOut)) = int64(*(*TPgno)(unsafe.Pointer(bp + 456))) goto _187 - /* Opcode: SqlExec * * * P4 * + /* Opcode: SqlExec P1 P2 * P4 * ** ** Run the SQL statement or statements specified in the P4 string. - ** Disable Auth and Trace callbacks while those statements are running if - ** P1 is true. + ** + ** The P1 parameter is a bitmask of options: + ** + ** 0x0001 Disable Auth and Trace callbacks while the statements + ** in P4 are running. + ** + ** 0x0002 Set db->nAnalysisLimit to P2 while the statements in + ** P4 are running. + ** */ _132: ; @@ -75926,16 +76244,21 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*uintptr)(unsafe.Pointer(bp + 460)) = uintptr(0) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth mTrace = (*Tsqlite3)(unsafe.Pointer(db)).FmTrace - if (*TOp)(unsafe.Pointer(pOp)).Fp1 != 0 { + savedAnalysisLimit = (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0001) != 0 { (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(0) } + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0002) != 0 { + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (*TOp)(unsafe.Pointer(pOp)).Fp2 + } rc = Xsqlite3_exec(tls, db, *(*uintptr)(unsafe.Pointer(pOp + 16)), uintptr(0), uintptr(0), bp+460) (*Tsqlite3)(unsafe.Pointer(db)).FnSqlExec-- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = mTrace + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = savedAnalysisLimit if *(*uintptr)(unsafe.Pointer(bp + 460)) != 0 || rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+672, *(*uintptr)(unsafe.Pointer(bp + 460)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+672, *(*uintptr)(unsafe.Pointer(bp + 460)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 460))) if rc == int32(SQLITE_NOMEM) { goto no_mem @@ -75968,13 +76291,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*Tu32)(unsafe.Pointer(db + 24)) |= uint32(DBFLAG_SchemaChange) libc.SetBitFieldPtr16Uint32(p+144, libc.Uint32FromInt32(0), 0, 0x3) } else { - zSchema = __ccgo_ts + 6066 + zSchema = __ccgo_ts + 6130 (*(*TInitData)(unsafe.Pointer(bp + 464))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 464))).FiDb = iDb3 (*(*TInitData)(unsafe.Pointer(bp + 464))).FpzErrMsg = p + 120 (*(*TInitData)(unsafe.Pointer(bp + 464))).FmInitFlags = uint32(0) (*(*TInitData)(unsafe.Pointer(bp + 464))).FmxPage = _sqlite3BtreeLastPage(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*16))).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6080, libc.VaList(bp+672, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*16))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6144, libc.VaList(bp+672, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*16))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -75991,7 +76314,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* The OP_ParseSchema opcode with a non-NULL P4 argument should parse ** at least one SQL statement. Any less than that indicates that ** the sqlite_schema table is corrupt. */ - rc = _sqlite3CorruptError(tls, int32(99678)) + rc = _sqlite3CorruptError(tls, int32(100155)) } _sqlite3DbFreeNN(tls, db, zSql) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) @@ -76058,11 +76381,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* Opcode: IntegrityCk P1 P2 P3 P4 P5 ** ** Do an analysis of the currently open database. Store in - ** register P1 the text of an error message describing any problems. - ** If no problems are found, store a NULL in register P1. + ** register (P1+1) the text of an error message describing any problems. + ** If no problems are found, store a NULL in register (P1+1). ** - ** The register P3 contains one less than the maximum number of allowed errors. - ** At most reg(P3) errors will be reported. + ** The register (P1) contains one less than the maximum number of allowed + ** errors. At most reg(P1) errors will be reported. ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. ** @@ -76077,18 +76400,20 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _138: ; /* Register keeping track of errors remaining */ _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) nRoot = (*TOp)(unsafe.Pointer(pOp)).Fp2 aRoot = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*40 _ = libc.Int32FromInt32(0) + pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*40 _ = libc.Int32FromInt32(0) - pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*40 + _ = libc.Int32FromInt32(0) + pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1+int32(1))*40 _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*16))).FpBt, aRoot+1*4, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+492, bp+496) + rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*16))).FpBt, aRoot+1*4, aMem+uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*40, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+492, bp+496) _sqlite3VdbeMemSetNull(tls, pIn1) if *(*int32)(unsafe.Pointer(bp + 492)) == 0 { _ = libc.Int32FromInt32(0) @@ -76202,7 +76527,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** P1 contains the address of the memory cell that contains the first memory ** cell in an array of values used as arguments to the sub-program. P2 ** contains the address to jump to if the sub-program throws an IGNORE - ** exception using the RAISE() function. Register P3 contains the address + ** exception using the RAISE() function. P2 might be zero, if there is + ** no possibility that an IGNORE exception will be raised. + ** Register P3 contains the address ** of a memory cell in this (the parent) VM that is used to allocate the ** memory required by the sub-vdbe at runtime. ** @@ -76244,7 +76571,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } if (*TVdbe)(unsafe.Pointer(p)).FnFrame >= *(*int32)(unsafe.Pointer(db + 116 + 10*4)) { rc = int32(SQLITE_ERROR) - _sqlite3VdbeError(tls, p, __ccgo_ts+6123, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6187, 0) goto abort_due_to_error } /* Register pRt is used to store the memory required to save the state @@ -76628,7 +76955,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } /* IMP: R-24505-23230 */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+672, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+672, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError } if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FskipFlag != 0 { @@ -76690,7 +77017,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3VdbeMemFinalize(tls, pMem3, *(*uintptr)(unsafe.Pointer(pOp + 16))) } if rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+672, Xsqlite3_value_text(tls, pMem3))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+672, Xsqlite3_value_text(tls, pMem3))) goto abort_due_to_error } _sqlite3VdbeChangeEncoding(tls, pMem3, int32(encoding)) @@ -76775,11 +77102,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeRead > int32(1) { rc = int32(SQLITE_ERROR) if eNew == int32(PAGER_JOURNALMODE_WAL) { - v286 = __ccgo_ts + 6160 + v286 = __ccgo_ts + 6224 } else { - v286 = __ccgo_ts + 6165 + v286 = __ccgo_ts + 6229 } - _sqlite3VdbeError(tls, p, __ccgo_ts+6172, libc.VaList(bp+672, v286)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6236, libc.VaList(bp+672, v286)) goto abort_due_to_error } else { if eOld == int32(PAGER_JOURNALMODE_WAL) { @@ -76947,7 +77274,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { if rc&int32(0xFF) == int32(SQLITE_LOCKED) { z1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - _sqlite3VdbeError(tls, p, __ccgo_ts+6224, libc.VaList(bp+672, z1)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6288, libc.VaList(bp+672, z1)) } goto abort_due_to_error } @@ -77125,7 +77452,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TValueList)(unsafe.Pointer(pRhs)).FpOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*40 pOut = _out2Prerelease(tls, p, pOp) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null) - _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6253, __ccgo_fp(_sqlite3VdbeValueListFree)) + _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6317, __ccgo_fp(_sqlite3VdbeValueListFree)) goto _187 /* Opcode: VFilter P1 P2 P3 P4 * ** Synopsis: iplan=r[P3] zplan='P4' @@ -77230,7 +77557,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_module)(unsafe.Pointer(pModule4)).FxColumn})))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 36)), bp+580, (*TOp)(unsafe.Pointer(pOp)).Fp2) _sqlite3VtabImportErrmsg(tls, p, pVtab4) if (*(*Tsqlite3_context)(unsafe.Pointer(bp + 580))).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+672, Xsqlite3_value_text(tls, pDest2))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+672, Xsqlite3_value_text(tls, pDest2))) rc = (*(*Tsqlite3_context)(unsafe.Pointer(bp + 580))).FisError } _sqlite3VdbeChangeEncoding(tls, pDest2, int32(encoding)) @@ -77499,7 +77826,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If the function returned an error, throw an exception */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+672, Xsqlite3_value_text(tls, pOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+672, Xsqlite3_value_text(tls, pOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError } _sqlite3VdbeDeleteAuxData(tls, db, p+220, (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FiOp, (*TOp)(unsafe.Pointer(pOp)).Fp1) @@ -77661,7 +77988,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { Xsqlite3_free(tls, z2) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeExec > int32(1) { - z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6263, libc.VaList(bp+672, zTrace)) + z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6327, libc.VaList(bp+672, zTrace)) (*(*func(*libc.TLS, Tu32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(&(*Tsqlite3)(unsafe.Pointer(db)).Ftrace))})))(tls, uint32(SQLITE_TRACE_STMT), (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) _sqlite3DbFree(tls, db, z3) } else { @@ -77735,16 +78062,16 @@ abort_due_to_error: rc = int32(SQLITE_NOMEM) } else { if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)<op on success */ - pTab = uintptr(0) /* A column of pTab */ - *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ - _ = libc.Int32FromInt32(0) /* the name context cannot be NULL. */ - _ = libc.Int32FromInt32(0) /* The Z in X.Y.Z cannot be NULL */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, cntTab, db, eNewExprOp, hCol, hCol1, hit, i, iCol, j, nSubquery, op, pCol, pEList, pItem, pMatch, pOrig, pSchema, pSrcList, pTab, pTopNC, pUpsert, zAs, zCol, zErr, v10, v5, v7, v8 /* Loop counters */ + cnt = 0 /* Number of matching column names */ + cntTab = 0 /* Number of potential "rowid" matches */ + nSubquery = 0 /* How many levels of subquery */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Use for looping over pSrcList items */ + pMatch = uintptr(0) /* The matching pSrcList item */ + pTopNC = pNC /* First namecontext in the list */ + pSchema = uintptr(0) /* Schema of the expression */ + eNewExprOp = int32(TK_COLUMN) /* New value for pExpr->op on success */ + pTab = uintptr(0) /* A column of pTab */ + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + zCol = *(*uintptr)(unsafe.Pointer(pRight + 8)) + _ = libc.Int32FromInt32(0) /* the name context cannot be NULL. */ + _ = libc.Int32FromInt32(0) /* The Z in X.Y.Z cannot be NULL */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) /* Initialize the node to no-match */ @@ -82747,7 +83075,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ; i++ } - if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6585, zDb) == 0 { + if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6649, zDb) == 0 { /* This branch is taken when the main database has been renamed ** using SQLITE_DBCONFIG_MAINDBNAME. */ pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema @@ -82849,7 +83177,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TTable)(unsafe.Pointer(pTab)).FpSchema != pSchema { goto _2 } - if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6590) != 0 { + if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6654) != 0 { goto _2 } } @@ -82964,16 +83292,16 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol op = int32((*TParse)(unsafe.Pointer(pParse)).FeTriggerOp) _ = libc.Int32FromInt32(0) if (*TParse)(unsafe.Pointer(pParse)).FbReturning != 0 { - if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0) { + if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0 || _isValidSchemaTableName(tls, zTab, (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab, uintptr(0)) != 0) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = libc.BoolInt32(op != int32(TK_DELETE)) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } } else { - if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6592, zTab) == 0 { + if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6656, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(1) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } else { - if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6596, zTab) == 0 { + if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6660, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = 0 pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } @@ -82982,7 +83310,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UUpsert) != 0 && zTab != uintptr(0) { pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 8)) - if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6600, zTab) == 0 { + if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6664, zTab) == 0 { pTab = (*(*TSrcItem)(unsafe.Pointer((*TUpsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8))).FpTab (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(EXCLUDED_TABLE_NUMBER) } @@ -83104,15 +83432,15 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol _ = libc.Int32FromInt32(0) pOrig = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(j)*20))).FpExpr if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 && (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6609, libc.VaList(bp+16, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6673, libc.VaList(bp+16, zAs)) return int32(WRC_Abort) } if (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Win)) != uint32(0) && ((*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 || pNC != pTopNC) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6640, libc.VaList(bp+16, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6704, libc.VaList(bp+16, zAs)) return int32(WRC_Abort) } if _sqlite3ExprVectorSize(tls, pOrig) != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) return int32(WRC_Abort) } _resolveAlias(tls, pParse, pEList, j, pExpr, nSubquery) @@ -83166,7 +83494,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** a huge amount of legacy SQL that uses it. So for now, we just ** issue a warning. */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6695, libc.VaList(bp+16, zCol)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6759, libc.VaList(bp+16, zCol)) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_STRING) libc.Xmemset(tls, pExpr+44, 0, uint32(8)) return int32(WRC_Prune) @@ -83197,7 +83525,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } _extendFJMatch(tls, pParse, bp, pMatch, (*TExpr)(unsafe.Pointer(pExpr)).FiColumn) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_FUNCTION) - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6730 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6794 *(*uintptr)(unsafe.Pointer(pExpr + 20)) = *(*uintptr)(unsafe.Pointer(bp)) cnt = int32(1) goto lookupname_end @@ -83207,18 +83535,22 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } } if cnt == 0 { - v10 = __ccgo_ts + 6739 + v10 = __ccgo_ts + 6803 } else { - v10 = __ccgo_ts + 6754 + v10 = __ccgo_ts + 6818 } zErr = v10 if zDb != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6776, libc.VaList(bp+16, zErr, zDb, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6840, libc.VaList(bp+16, zErr, zDb, zTab, zCol)) } else { if zTab != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6789, libc.VaList(bp+16, zErr, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6853, libc.VaList(bp+16, zErr, zTab, zCol)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6799, libc.VaList(bp+16, zErr, zCol)) + if cnt == 0 && (*TExpr)(unsafe.Pointer(pRight)).Fflags&uint32(libc.Int32FromInt32(EP_DblQuoted)) != uint32(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6863, libc.VaList(bp+16, zErr, zCol)) + } else { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6924, libc.VaList(bp+16, zErr, zCol)) + } } } _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -83249,8 +83581,12 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** If a generated column is referenced, set bits for every column ** of the table. */ - if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 && cnt == int32(1) && pMatch != uintptr(0) { - *(*TBitmask)(unsafe.Pointer(pMatch + 52)) |= _sqlite3ExprColUsed(tls, pExpr) + if pMatch != 0 { + if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { + *(*TBitmask)(unsafe.Pointer(pMatch + 52)) |= _sqlite3ExprColUsed(tls, pExpr) + } else { + libc.SetBitFieldPtr16Uint32(pMatch+36+4, libc.Uint32FromInt32(1), 14, 0x4000) + } } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(eNewExprOp) goto lookupname_end @@ -83346,19 +83682,19 @@ func _notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pEx defer tls.Free(32) var zIn uintptr _ = zIn - zIn = __ccgo_ts + 6806 + zIn = __ccgo_ts + 6931 if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IdxExpr) != 0 { - zIn = __ccgo_ts + 6834 + zIn = __ccgo_ts + 6959 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IsCheck) != 0 { - zIn = __ccgo_ts + 6852 + zIn = __ccgo_ts + 6977 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_GenCol) != 0 { - zIn = __ccgo_ts + 6870 + zIn = __ccgo_ts + 6995 } } } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6888, libc.VaList(bp+8, zMsg, zIn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7013, libc.VaList(bp+8, zMsg, zIn)) if pExpr != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } @@ -83408,8 +83744,8 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { var anRef [8]int32 var auth, i, is_agg, n, nLeft, nRef, nRight, no_such_func, rc, savedAllowFlags, wrong_num_args, v12, v4, v6, v7 int32 var enc Tu8 - var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zColumn, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zColumn, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 + var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 pNC = *(*uintptr)(unsafe.Pointer(pWalker + 24)) _ = libc.Int32FromInt32(0) pParse = (*TNameContext)(unsafe.Pointer(pNC)).FpParse @@ -83534,12 +83870,12 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { zDb = uintptr(0) zTable = uintptr(0) _ = libc.Int32FromInt32(0) - zColumn = *(*uintptr)(unsafe.Pointer(pExpr + 8)) + pRight = pExpr } else { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+6908, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7033, uintptr(0), pExpr) } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_ID) { @@ -83553,14 +83889,13 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { } _ = libc.Int32FromInt32(0) zTable = *(*uintptr)(unsafe.Pointer(pLeft + 8)) - zColumn = *(*uintptr)(unsafe.Pointer(pRight + 8)) _ = libc.Int32FromInt32(0) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameTokenRemap(tls, pParse, pExpr, pRight) _sqlite3RenameTokenRemap(tls, pParse, pExpr+44, pLeft) } } - return _lookupName(tls, pParse, zDb, zTable, zColumn, pNC, pExpr) + return _lookupName(tls, pParse, zDb, zTable, pRight, pNC, pExpr) /* Resolve function names */ fallthrough @@ -83601,7 +83936,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if n == int32(2) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = _exprProbability(tls, (*(*TExprList_item)(unsafe.Pointer(pList + 8 + 1*20))).FpExpr) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6925, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7050, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -83625,7 +83960,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { auth = _sqlite3AuthCheck(tls, pParse, int32(SQLITE_FUNCTION), uintptr(0), (*TFuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0)) if auth != SQLITE_OK { if auth == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6989, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7114, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) @@ -83647,7 +83982,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { ** all this. */ _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7025, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7150, uintptr(0), pExpr) } } else { _ = libc.Int32FromInt32(0) /* Must fit in 8 bits */ @@ -83672,29 +84007,29 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if 0 == libc.BoolInt32(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME)) { _ = libc.Int32FromInt32(0) if pDef != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7053, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7178, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 || is_agg != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) || is_agg != 0 && pWin != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 { if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 { - zType = __ccgo_ts + 7096 + zType = __ccgo_ts + 7221 } else { - zType = __ccgo_ts + 7103 + zType = __ccgo_ts + 7228 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7113, libc.VaList(bp+8, zType, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7238, libc.VaList(bp+8, zType, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else { if no_such_func != 0 && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7141, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7266, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if wrong_num_args != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7163, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7288, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7207, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7332, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { @@ -83718,7 +84053,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { *(*int32)(unsafe.Pointer(pNC + 24)) &= ^(libc.Int32FromInt32(NC_AllowWin) | v7) } } else { - if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { is_agg = int32(1) } } @@ -83784,21 +84119,23 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { case int32(TK_IN): if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) { nRef = (*TNameContext)(unsafe.Pointer(pNC)).FnRef + _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_SelfRef) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7255, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7380, pExpr, pExpr) } else { _sqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 20))) } _ = libc.Int32FromInt32(0) if nRef != (*TNameContext)(unsafe.Pointer(pNC)).FnRef { *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20)) + 4)) |= uint32(SF_Correlated) } *(*int32)(unsafe.Pointer(pNC + 24)) |= int32(NC_Subquery) } case int32(TK_VARIABLE): _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IsCheck)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7266, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7391, pExpr, pExpr) } case int32(TK_IS): fallthrough @@ -83848,7 +84185,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { nRight = _sqlite3ExprVectorSize(tls, (*TExpr)(unsafe.Pointer(pExpr)).FpRight) } if nLeft != nRight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } break @@ -83976,7 +84313,7 @@ func _resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintpt func _resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7277, libc.VaList(bp+8, i, zType, mx)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7402, libc.VaList(bp+8, i, zType, mx)) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pError) } @@ -84011,7 +84348,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 116 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7333, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7458, 0) return int32(1) } i = 0 @@ -84050,7 +84387,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } if _sqlite3ExprIsInteger(tls, pE, bp) != 0 { if *(*int32)(unsafe.Pointer(bp)) <= 0 || *(*int32)(unsafe.Pointer(bp)) > (*TExprList)(unsafe.Pointer(pEList)).FnExpr { - _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7367, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) + _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7492, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) return int32(1) } } else { @@ -84123,7 +84460,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r break } if int32(uint32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*20 + 8 + 4))&0x4>>2)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7373, libc.VaList(bp+16, i+int32(1))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7498, libc.VaList(bp+16, i+int32(1))) return int32(1) } goto _3 @@ -84157,7 +84494,7 @@ func _sqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 116 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7434, libc.VaList(bp+8, zType)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7559, libc.VaList(bp+8, zType)) return int32(1) } pEList = (*TSelect)(unsafe.Pointer(pSelect)).FpEList @@ -84409,6 +84746,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } pItem = (*TSelect)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*68 + _ = libc.Int32FromInt32(0) /* Test of tag-20240424-1*/ if (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselFlags&uint32(SF_Resolved) == uint32(0) { if pOuterNC != 0 { v3 = (*TNameContext)(unsafe.Pointer(pOuterNC)).FnRef @@ -84481,7 +84819,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { (*(*TNameContext)(unsafe.Pointer(bp))).FncFlags |= int32(NC_UEList) if (*TSelect)(unsafe.Pointer(p)).FpHaving != 0 { if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Aggregate) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7465, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7590, 0) return int32(WRC_Abort) } if _sqlite3ResolveExprNames(tls, bp, (*TSelect)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -84548,7 +84886,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** is not detected until much later, and so we need to go ahead and ** resolve those symbols on the incorrect ORDER BY for consistency. */ - if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7367) != 0 { + if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7492) != 0 { return int32(WRC_Abort) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -84559,7 +84897,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** the GROUP BY clause does not contain aggregate functions. */ if pGroupBy != 0 { - if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7504) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { + if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7629) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(WRC_Abort) } i = 0 @@ -84569,7 +84907,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } if (*TExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(pItem2)).FpExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7510, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7635, 0) return int32(WRC_Abort) } goto _6 @@ -85600,7 +85938,7 @@ func _codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32 return } if nLeft != _sqlite3ExprVectorSize(tls, pRight) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) return } _ = libc.Int32FromInt32(0) @@ -85685,7 +86023,7 @@ func _sqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) (r in rc = SQLITE_OK mxHeight = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 116 + 3*4)) if nHeight > mxHeight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7569, libc.VaList(bp+8, mxHeight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7694, libc.VaList(bp+8, mxHeight)) rc = int32(SQLITE_ERROR) } return rc @@ -85851,11 +86189,12 @@ func _sqlite3ExprSetErrorOffset(tls *libc.TLS, pExpr uintptr, iOfst int32) { // ** appear to be quoted. If the quotes were of the form "..." (double-quotes) // ** then the EP_DblQuoted flag is set on the expression node. // ** -// ** Special case: If op==TK_INTEGER and pToken points to a string that -// ** can be translated into a 32-bit integer, then the token is not -// ** stored in u.zToken. Instead, the integer values is written -// ** into u.iValue and the EP_IntValue flag is set. No extra storage +// ** Special case (tag-20240227-a): If op==TK_INTEGER and pToken points to +// ** a string that can be translated into a 32-bit integer, then the token is +// ** not stored in u.zToken. Instead, the integer values is written +// ** into u.iValue and the EP_IntValue flag is set. No extra storage // ** is allocated to hold the integer text and the dequote flag is ignored. +// ** See also tag-20240227-b. // */ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) (r uintptr) { bp := tls.Alloc(16) @@ -85869,7 +86208,7 @@ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ _ = libc.Int32FromInt32(0) if pToken != 0 { if op != int32(TK_INTEGER) || (*TToken)(unsafe.Pointer(pToken)).Fz == uintptr(0) || _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pToken)).Fz, bp) == 0 { - nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) + nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) /* tag-20240227-a */ _ = libc.Int32FromInt32(0) } } @@ -86038,11 +86377,11 @@ func _sqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList } if nExprElem != nElem { if nExprElem > int32(1) { - v2 = __ccgo_ts + 7617 + v2 = __ccgo_ts + 7742 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7619, libc.VaList(bp+8, nExprElem, v2, nElem)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7744, libc.VaList(bp+8, nExprElem, v2, nElem)) break } _ = libc.Int32FromInt32(0) @@ -86092,7 +86431,7 @@ func _sqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt if f&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_InnerON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { _sqlite3ExprDeferredDelete(tls, pParse, pLeft) _sqlite3ExprDeferredDelete(tls, pParse, pRight) - return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1722) + return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1782) } else { return _sqlite3PExpr(tls, pParse, int32(TK_AND), pLeft, pRight) } @@ -86122,7 +86461,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pNew + 36)) = int32((*TToken)(unsafe.Pointer(pToken)).Fz) - int32((*TParse)(unsafe.Pointer(pParse)).FzTail) if pList != 0 && (*TExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 116 + 6*4)) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7663, libc.VaList(bp+8, pToken)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7788, libc.VaList(bp+8, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 20)) = pList *(*Tu32)(unsafe.Pointer(pNew + 4)) |= uint32(libc.Int32FromInt32(EP_HasFunc)) @@ -86143,7 +86482,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u func _sqlite3ExprOrderByAggregateError(tls *libc.TLS, pParse uintptr, p uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7697, libc.VaList(bp+8, p)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7822, libc.VaList(bp+8, p)) } // C documentation @@ -86222,7 +86561,7 @@ func _sqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD ** SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning ** that the schema is possibly tainted). */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7747, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7872, libc.VaList(bp+8, pExpr)) } } } @@ -86279,7 +86618,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n bOk = libc.BoolInt32(0 == _sqlite3Atoi64(tls, z+1, bp, int32(n-uint32(1)), uint8(SQLITE_UTF8))) } if bOk == 0 || *(*Ti64)(unsafe.Pointer(bp)) < int64(1) || *(*Ti64)(unsafe.Pointer(bp)) > int64(*(*int32)(unsafe.Pointer(db + 116 + 9*4))) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7767, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 116 + 9*4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7892, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 116 + 9*4)))) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) return } @@ -86312,7 +86651,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*TExpr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer(db + 116 + 9*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7810, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7935, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } } @@ -86323,8 +86662,13 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n // ** Recursively delete an expression tree. // */ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { + var pLeft uintptr + _ = pLeft _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) + goto exprDeleteRestart +exprDeleteRestart: + ; _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -86332,9 +86676,6 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)|libc.Int32FromInt32(EP_Leaf)) != libc.Uint32FromInt32(0)) { /* The Expr.x union is never used at the same time as Expr.pRight */ _ = libc.Int32FromInt32(0) - if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { - _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpLeft) - } if (*TExpr)(unsafe.Pointer(p)).FpRight != 0 { _ = libc.Int32FromInt32(0) _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpRight) @@ -86349,6 +86690,17 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { } } } + if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { + pLeft = (*TExpr)(unsafe.Pointer(p)).FpLeft + if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) && !((*TExpr)(unsafe.Pointer(pLeft)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { + /* Avoid unnecessary recursion on unary operators */ + _sqlite3DbNNFreeNN(tls, db, p) + p = pLeft + goto exprDeleteRestart + } else { + _sqlite3ExprDeleteNN(tls, db, pLeft) + } + } } if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { _sqlite3DbNNFreeNN(tls, db, p) @@ -86395,11 +86747,11 @@ func _sqlite3ClearOnOrUsing(tls *libc.TLS, db uintptr, p uintptr) { // ** // ** The pExpr might be deleted immediately on an OOM error. // ** -// ** The deferred delete is (currently) implemented by adding the -// ** pExpr to the pParse->pConstExpr list with a register number of 0. +// ** Return 0 if the delete was successfully deferred. Return non-zero +// ** if the delete happened immediately because of an OOM. // */ -func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { - _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr) +func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + return libc.BoolInt32(uintptr(0) == _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr)) } // C documentation @@ -86918,16 +87270,20 @@ func _sqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) (r ui (*TSrcItem)(unsafe.Pointer(pNewItem)).FiCursor = (*TSrcItem)(unsafe.Pointer(pOldItem)).FiCursor (*TSrcItem)(unsafe.Pointer(pNewItem)).FaddrFillSub = (*TSrcItem)(unsafe.Pointer(pOldItem)).FaddrFillSub (*TSrcItem)(unsafe.Pointer(pNewItem)).FregReturn = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregReturn + (*TSrcItem)(unsafe.Pointer(pNewItem)).FregResult = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregResult if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 36 + 4))&0x2>>1)) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 60)) = _sqlite3DbStrDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 60))) + } else { + if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 36 + 4))&0x4>>2)) != 0 { + *(*uintptr)(unsafe.Pointer(pNewItem + 60)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 60)), flags) + } else { + *(*Tu32)(unsafe.Pointer(pNewItem + 60)) = *(*Tu32)(unsafe.Pointer(pOldItem + 60)) + } } (*TSrcItem)(unsafe.Pointer(pNewItem)).Fu2 = (*TSrcItem)(unsafe.Pointer(pOldItem)).Fu2 if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 36 + 4))&0x100>>8)) != 0 { (*TCteUse)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNewItem + 64)))).FnUse++ } - if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 36 + 4))&0x4>>2)) != 0 { - *(*uintptr)(unsafe.Pointer(pNewItem + 60)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 60)), flags) - } v4 = (*TSrcItem)(unsafe.Pointer(pOldItem)).FpTab (*TSrcItem)(unsafe.Pointer(pNewItem)).FpTab = v4 pTab = v4 @@ -87193,7 +87549,7 @@ func _sqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, n = v2 } if v3 && (*TIdList)(unsafe.Pointer(pColumns)).FnId != v2 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7833, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7958, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error } i = 0 @@ -87338,7 +87694,7 @@ func _sqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, _ = mx mx = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 116 + 2*4)) if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr > mx { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7863, libc.VaList(bp+8, zObject)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7988, libc.VaList(bp+8, zObject)) } } @@ -87440,10 +87796,10 @@ func _sqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) (r // ** anything else 0 // */ func _sqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) (r Tu32) { - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7886) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8011) == 0 { return uint32(EP_IsTrue) } - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7891) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8016) == 0 { return uint32(EP_IsFalse) } return uint32(0) @@ -87530,6 +87886,52 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { return pExpr } +// C documentation +// +// /* +// ** pExpr is a TK_FUNCTION node. Try to determine whether or not the +// ** function is a constant function. A function is constant if all of +// ** the following are true: +// ** +// ** (1) It is a scalar function (not an aggregate or window function) +// ** (2) It has either the SQLITE_FUNC_CONSTANT or SQLITE_FUNC_SLOCHNG +// ** property. +// ** (3) All of its arguments are constants +// ** +// ** This routine sets pWalker->eCode to 0 if pExpr is not a constant. +// ** It makes no changes to pWalker->eCode if pExpr is constant. In +// ** every case, it returns WRC_Abort. +// ** +// ** Called as a service subroutine from exprNodeIsConstant(). +// */ +func _exprNodeIsConstantFunction(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef, pList, v1 uintptr + var n int32 + var v2 bool + _, _, _, _, _, _ = db, n, pDef, pList, v1, v2 /* The database */ + _ = libc.Int32FromInt32(0) + if v2 = (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)) != uint32(0); !v2 { + v1 = *(*uintptr)(unsafe.Pointer(pExpr + 20)) + pList = v1 + } + if v2 || v1 == uintptr(0) { + n = 0 + } else { + n = (*TExprList)(unsafe.Pointer(pList)).FnExpr + _sqlite3WalkExprList(tls, pWalker, pList) + if int32((*TWalker)(unsafe.Pointer(pWalker)).FeCode) == 0 { + return int32(WRC_Abort) + } + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)|libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG)) == uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) +} + // C documentation // // /* @@ -87559,6 +87961,7 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { // ** malformed schema error. // */ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + _ = libc.Int32FromInt32(0) /* If pWalker->eCode is 2 then any term of the expression that comes from ** the ON or USING clauses of an outer join disqualifies the expression ** from being considered constant. */ @@ -87577,8 +87980,12 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 } return WRC_Continue } else { - (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) - return int32(WRC_Abort) + if (*TWalker)(unsafe.Pointer(pWalker)).FpParse != 0 { + return _exprNodeIsConstantFunction(tls, pWalker, pExpr) + } else { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } } fallthrough case int32(TK_ID): @@ -87605,6 +88012,8 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 case int32(TK_REGISTER): fallthrough case int32(TK_DOT): + fallthrough + case int32(TK_RAISE): (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) return int32(WRC_Abort) case int32(TK_VARIABLE): @@ -87630,14 +88039,14 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 return r } -func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32) { +func _exprIsConst(tls *libc.TLS, pParse uintptr, p uintptr, initFlag int32) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) var _ /* w at bp+0 */ TWalker (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(initFlag) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) - *(*int32)(unsafe.Pointer(bp + 24)) = iCur _sqlite3WalkExpr(tls, bp, p) return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } @@ -87651,9 +88060,15 @@ func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32 // ** For the purposes of this function, a double-quoted string (ex: "abc") // ** is considered a variable but a single-quoted string (ex: 'abc') is // ** a constant. +// ** +// ** The pParse parameter may be NULL. But if it is NULL, there is no way +// ** to determine if function calls are constant or not, and hence all +// ** function calls will be considered to be non-constant. If pParse is +// ** not NULL, then a function call might be constant, depending on the +// ** function and on its parameters. // */ -func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(1), 0) +func _sqlite3ExprIsConstant(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(1)) } // C documentation @@ -87671,8 +88086,26 @@ func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { // ** can be added to the pParse->pConstExpr list and evaluated once when // ** the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). // */ -func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(2), 0) +func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(2)) +} + +// C documentation +// +// /* +// ** This routine examines sub-SELECT statements as an expression is being +// ** walked as part of sqlite3ExprIsTableConstant(). Sub-SELECTs are considered +// ** constant as long as they are uncorrelated - meaning that they do not +// ** contain any terms from outer contexts. +// */ +func _exprSelectWalkTableConstant(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if (*TSelect)(unsafe.Pointer(pSelect)).FselFlags&uint32(SF_Correlated) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) } // C documentation @@ -87682,9 +88115,25 @@ func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { // ** for any single row of the table with cursor iCur. In other words, the // ** expression must not refer to any non-deterministic function nor any // ** table other than iCur. +// ** +// ** Consider uncorrelated subqueries to be constants if the bAllowSubq +// ** parameter is true. // */ -func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) { - return _exprIsConst(tls, p, int32(3), iCur) +func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32, bAllowSubq int32) (r int32) { + bp := tls.Alloc(32) + defer tls.Free(32) + var _ /* w at bp+0 */ TWalker + (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(3) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = uintptr(0) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) + if bAllowSubq != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_exprSelectWalkTableConstant) + } else { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) + } + *(*int32)(unsafe.Pointer(bp + 24)) = iCur + _sqlite3WalkExpr(tls, bp, p) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } // C documentation @@ -87704,7 +88153,10 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** // ** (1) pExpr cannot refer to any table other than pSrc->iCursor. // ** -// ** (2) pExpr cannot use subqueries or non-deterministic functions. +// ** (2a) pExpr cannot use subqueries unless the bAllowSubq parameter is +// ** true and the subquery is non-correlated +// ** +// ** (2b) pExpr cannot use non-deterministic functions. // ** // ** (3) pSrc cannot be part of the left operand for a RIGHT JOIN. // ** (Is there some way to relax this constraint?) @@ -87730,7 +88182,7 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** which leads to incorrect answers. See also restriction (9) // ** on push-down. // */ -func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32) (r int32) { +func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32, bAllowSubq int32) (r int32) { var jj int32 var pSrc uintptr _, _ = jj, pSrc @@ -87768,7 +88220,8 @@ func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList jj++ } } - return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor) /* rules (1), (2) */ + /* Rules (1), (2a), and (2b) handled by the following: */ + return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor, bAllowSubq) } // C documentation @@ -87867,7 +88320,7 @@ func _sqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // */ func _sqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit Tu8) (r int32) { _ = libc.Int32FromInt32(0) - return _exprIsConst(tls, p, int32(4)+int32(isInit), 0) + return _exprIsConst(tls, uintptr(0), p, int32(4)+int32(isInit)) } // C documentation @@ -88011,13 +88464,13 @@ func _sqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) (r in // ** Return TRUE if the given string is a row-id column name. // */ func _sqlite3IsRowid(tls *libc.TLS, z uintptr) (r int32) { - if _sqlite3StrICmp(tls, z, __ccgo_ts+7897) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8022) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7905) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8030) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7911) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8036) == 0 { return int32(1) } return 0 @@ -88035,9 +88488,9 @@ func _sqlite3RowidAlias(tls *libc.TLS, pTab uintptr) (r uintptr) { var iCol, ii int32 _, _, _ = azOpt, iCol, ii azOpt = [3]uintptr{ - 0: __ccgo_ts + 7897, - 1: __ccgo_ts + 7905, - 2: __ccgo_ts + 7911, + 0: __ccgo_ts + 8022, + 1: __ccgo_ts + 8030, + 2: __ccgo_ts + 8036, } _ = libc.Int32FromInt32(0) ii = 0 @@ -88161,14 +88614,14 @@ func _sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int // ** The argument is an IN operator with a list (not a subquery) on the // ** right-hand side. Return TRUE if that list is constant. // */ -func _sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) (r int32) { +func _sqlite3InRhsIsConstant(tls *libc.TLS, pParse uintptr, pIn uintptr) (r int32) { var pLHS uintptr var res int32 _, _ = pLHS, res _ = libc.Int32FromInt32(0) pLHS = (*TExpr)(unsafe.Pointer(pIn)).FpLeft (*TExpr)(unsafe.Pointer(pIn)).FpLeft = uintptr(0) - res = _sqlite3ExprIsConstant(tls, pIn) + res = _sqlite3ExprIsConstant(tls, pParse, pIn) (*TExpr)(unsafe.Pointer(pIn)).FpLeft = pLHS return res } @@ -88326,7 +88779,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 iAddr = _sqlite3VdbeAddOp0(tls, v, int32(OP_Once)) _sqlite3OpenTable(tls, pParse, iTab, iDb, pTab, int32(OP_OpenRead)) eType = int32(IN_INDEX_ROWID) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+7915, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+8040, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) _sqlite3VdbeJumpHere(tls, v, iAddr) } else { /* Iterator variable */ affinity_ok = int32(1) @@ -88429,7 +88882,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 if colUsed == libc.Uint64FromInt32(1)<0 so that the new limit is either 1 or 0 */ db = (*TParse)(unsafe.Pointer(pParse)).Fdb - pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1722) + pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1782) if pLimit != 0 { (*TExpr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = _sqlite3PExpr(tls, pParse, int32(TK_NE), _sqlite3ExprDup(tls, db, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft, 0), pLimit) @@ -88940,7 +89393,7 @@ func _sqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int3 (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { /* If there is no pre-existing limit add a limit of 1 */ - pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8130) + pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8255) (*TSelect)(unsafe.Pointer(pSel)).FpLimit = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), pLimit, uintptr(0)) } (*TSelect)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -89336,13 +89789,13 @@ func _codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, i _ = libc.Int32FromInt32(0) c = _sqlite3DecOrHexToI64(tls, z, bp) if c == int32(3) && !(negFlag != 0) || c == int32(2) || negFlag != 0 && *(*Ti64)(unsafe.Pointer(bp)) == int64(-libc.Int32FromInt32(1))-(libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)<= (*TAggInfo)(unsafe.Pointer(pInfo)).FnFunc { _ = libc.Int32FromInt32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8223, libc.VaList(bp+120, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8348, libc.VaList(bp+120, pExpr)) } else { _ = libc.Int32FromInt32(0) return (*TAggInfo)(unsafe.Pointer(pInfo)).FiFirstReg + (*TAggInfo)(unsafe.Pointer(pInfo)).FnColumn + int32((*TExpr)(unsafe.Pointer(pExpr)).FiAgg) @@ -90143,7 +90590,7 @@ expr_code_doover: if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { return (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(pExpr)).Fy)))).FregResult } - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { /* SQL functions can be expensive. So try to avoid running them ** multiple times if we know they always give the same result */ return _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) @@ -90161,7 +90608,7 @@ expr_code_doover: zId = *(*uintptr)(unsafe.Pointer(pExpr + 8)) pDef = _sqlite3FindFunction(tls, db, zId, nFarg, enc, uint8(0)) if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8250, libc.VaList(bp+120, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8375, libc.VaList(bp+120, pExpr)) break } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_INLINE) != uint32(0) && pFarg != uintptr(0) { @@ -90178,7 +90625,7 @@ expr_code_doover: if !(i < nFarg) { break } - if i < int32(32) && _sqlite3ExprIsConstant(tls, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*20))).FpExpr) != 0 { + if i < int32(32) && _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*20))).FpExpr) != 0 { constMask |= libc.Uint32FromInt32(1) << i } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_NEEDCOLL) != uint32(0) && !(pColl != 0) { @@ -90275,7 +90722,7 @@ expr_code_doover: _ = libc.Int32FromInt32(0) n1 = _sqlite3ExprVectorSize(tls, pLeft2) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != n1 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7833, libc.VaList(bp+120, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7958, libc.VaList(bp+120, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) } return (*TExpr)(unsafe.Pointer(pLeft2)).FiTable + int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) case int32(TK_IN): @@ -90307,8 +90754,9 @@ expr_code_doover: if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Collate)) != libc.Uint32FromInt32(0)) { /* A TK_COLLATE Expr node without the EP_Collate tag is a so-called ** "SOFT-COLLATE" that is added to constraints that are pushed down - ** from outer queries into sub-queries by the push-down optimization. - ** Clear subtypes as subtypes may not cross a subquery boundary. + ** from outer queries into sub-queries by the WHERE-clause push-down + ** optimization. Clear subtypes as subtypes may not cross a subquery + ** boundary. */ _ = libc.Int32FromInt32(0) _sqlite3ExprCode(tls, pParse, (*TExpr)(unsafe.Pointer(pExpr)).FpLeft, target) @@ -90343,7 +90791,7 @@ expr_code_doover: _sqlite3VdbeAddOp1(tls, v, int32(OP_RealAffinity), target) } case int32(TK_VECTOR): - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) break /* TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions ** that derive from the right-hand table of a LEFT JOIN. The @@ -90465,7 +90913,7 @@ expr_code_doover: case int32(TK_RAISE): _ = libc.Int32FromInt32(0) if !((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != 0) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8274, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8399, 0) return 0 } if int32((*TExpr)(unsafe.Pointer(pExpr)).FaffExpr) == int32(OE_Abort) { @@ -90589,7 +91037,7 @@ func _sqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin var r1, r2 int32 _, _ = r1, r2 pExpr = _sqlite3ExprSkipCollateAndLikely(tls, pExpr) - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { *(*int32)(unsafe.Pointer(pReg)) = 0 r2 = _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) } else { @@ -90662,7 +91110,7 @@ func _sqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // ** might choose to code the expression at initialization time. // */ func _sqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { _sqlite3ExprCodeCopy(tls, pParse, pExpr, target) @@ -90733,7 +91181,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ _sqlite3VdbeAddOp2(tls, v, int32(copyOp), j+srcReg-int32(1), target+i) } } else { - if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target+i) } else { inReg = _sqlite3ExprCodeTarget(tls, pParse, pExpr, target+i) @@ -92078,18 +92526,16 @@ func _agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnColumn && (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*16))).FpCExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*16))).FpCExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } else { _ = libc.Int32FromInt32(0) if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnFunc && (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*24))).FpFExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*24))).FpFExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } @@ -92659,8 +93105,8 @@ func _sqlite3FirstAvailableRegister(tls *libc.TLS, pParse uintptr, iMin int32) ( func _isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) - if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8324, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8449, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -92679,9 +93125,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, bp := tls.Alloc(48) defer tls.Free(48) (*TParse)(unsafe.Pointer(pParse)).FcolNamesSet = uint8(1) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8352, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8477, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8527, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8652, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) } } @@ -92697,9 +93143,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, func _renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8701, libc.VaList(bp+8, zDb, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8826, libc.VaList(bp+8, zDb, zDb)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8848, 0) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8973, 0) } } @@ -92757,7 +93203,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName ** in database iDb. If so, this is an error. */ if _sqlite3FindTable(tls, db, zName, zDb) != 0 || _sqlite3FindIndex(tls, db, zName, zDb) != 0 || _sqlite3IsShadowTableOf(tls, db, pTab, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8999, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9124, libc.VaList(bp+8, zName)) goto exit_rename_table } /* Make sure it is not a system table being altered, or a reserved name @@ -92766,11 +93212,11 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { goto exit_rename_table } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9058, zName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9183, zName) { goto exit_rename_table } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9064, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9189, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table } /* Invoke the authorization callback. */ @@ -92800,21 +93246,21 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName nTabName = _sqlite3Utf8CharLen(tls, zTabName, -int32(1)) /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in ** the schema to use the new table name. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9091, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9216, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) /* Update the tbl_name and name columns of the sqlite_schema table ** as required. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9275, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9400, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) /* If the sqlite_sequence table exists in this database, then update ** it with the new table name. */ - if _sqlite3FindTable(tls, db, __ccgo_ts+9580, zDb) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9596, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if _sqlite3FindTable(tls, db, __ccgo_ts+9705, zDb) != 0 { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9721, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* If the table being renamed is not itself part of the temp database, ** edit view and trigger definitions within the temp database ** as required. */ if iDb != int32(1) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9654, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9779, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) } /* If this is a virtual table, invoke the xRename() function if ** one is defined. The xRename() callback will modify the names @@ -92830,7 +93276,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName _sqlite3VdbeAddOp4(tls, v, int32(OP_VRename), i, 0, 0, pVTab, -int32(11)) } _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+9919, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+10044, 0) goto exit_rename_table exit_rename_table: ; @@ -92847,7 +93293,7 @@ exit_rename_table: func _sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9932, libc.VaList(bp+8, zErr, zDb, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10057, libc.VaList(bp+8, zErr, zDb, zTab)) } // C documentation @@ -92892,11 +93338,11 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** column must not be NULL. */ if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9970, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10095, 0) return } if (*TTable)(unsafe.Pointer(pNew)).FpIndex != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10002, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10127, 0) return } if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) == 0 { @@ -92914,10 +93360,10 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 44))).FpFKey != 0 && pDflt != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10029) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10154) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 4))&0xf>>0)) != 0 && !(pDflt != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10088) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10213) } /* Ensure the default expression is something that sqlite3ValueFromExpr() ** can handle (i.e. not CURRENT_TIME etc.) @@ -92931,13 +93377,13 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr return } if !(*(*uintptr)(unsafe.Pointer(bp)) != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10141) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10266) } _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp))) } } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_STORED) != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10187) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10312) } } /* Modify the CREATE TABLE statement. */ @@ -92953,7 +93399,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** have to use printf() to translate between these units: */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10214, libc.VaList(bp+16, zDb, (*(*struct { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10339, libc.VaList(bp+16, zDb, (*(*struct { FaddColOffset int32 FpFKey uintptr FpDfltList uintptr @@ -92981,7 +93427,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterAdd)) /* Verify that constraints are still satisfied */ if (*TTable)(unsafe.Pointer(pNew)).FpCheck != uintptr(0) || int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 4))&0xf>>0)) != 0 && int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Strict) != uint32(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10360, libc.VaList(bp+16, zTab, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10485, libc.VaList(bp+16, zTab, zDb)) } } } @@ -93021,12 +93467,12 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { goto exit_begin_add_column } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10713, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10838, 0) goto exit_begin_add_column } /* Make sure this is not an attempt to ALTER a view. */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10747, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10872, 0) goto exit_begin_add_column } if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { @@ -93054,7 +93500,7 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { nAlloc = (int32((*TTable)(unsafe.Pointer(pNew)).FnCol)-int32(1))/int32(8)*int32(8) + int32(8) _ = libc.Int32FromInt32(0) (*TTable)(unsafe.Pointer(pNew)).FaCol = _sqlite3DbMallocZero(tls, db, uint64(uint32(12)*uint32(nAlloc))) - (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10777, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10902, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !((*TTable)(unsafe.Pointer(pNew)).FaCol != 0) || !((*TTable)(unsafe.Pointer(pNew)).FzName != 0) { _ = libc.Int32FromInt32(0) goto exit_begin_add_column @@ -93118,18 +93564,18 @@ func _isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) (r i _, _ = zType, v1 zType = uintptr(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10796 + zType = __ccgo_ts + 10921 } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 10801 + zType = __ccgo_ts + 10926 } if zType != 0 { if bDrop != 0 { - v1 = __ccgo_ts + 10815 + v1 = __ccgo_ts + 10940 } else { - v1 = __ccgo_ts + 10832 + v1 = __ccgo_ts + 10957 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10850, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10975, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -93191,11 +93637,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld iCol++ } if iCol == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10868, libc.VaList(bp+8, pOld)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10993, libc.VaList(bp+8, pOld)) goto exit_rename_column } /* Ensure the schema contains no double-quoted strings */ - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1648, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1662, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1))) /* Do the rename operation using a recursive UPDATE statement that ** uses the sqlite_rename_column() SQL function to compute the new @@ -93208,11 +93654,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld } _ = libc.Int32FromInt32(0) bQuote = int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pNew)).Fz)))]) & int32(0x80) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10889, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11071, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11014, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11196, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+9919, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+10044, int32(1)) goto exit_rename_column exit_rename_column: ; @@ -93691,11 +94137,11 @@ func _renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType u zT = Xsqlite3_value_text(tls, pType) zN = Xsqlite3_value_text(tls, pObject) if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - v1 = __ccgo_ts + 11202 + v1 = __ccgo_ts + 11327 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11204, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) + zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11329, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, zErr) } @@ -93772,8 +94218,8 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin if zSql == uintptr(0) { return int32(SQLITE_NOMEM) } - if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11227, int32(7)) != 0 { - return _sqlite3CorruptError(tls, int32(116682)) + if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11352, int32(7)) != 0 { + return _sqlite3CorruptError(tls, int32(117285)) } if bTemp != 0 { v1 = int32(1) @@ -93789,7 +94235,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin rc = int32(SQLITE_NOMEM) } if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = _sqlite3CorruptError(tls, int32(116693)) + rc = _sqlite3CorruptError(tls, int32(117296)) } (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0) return rc @@ -93828,7 +94274,7 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, ** ALTER TABLE statement was quoted (bQuote==1), then set zNew to ** point to zQuot so that all substitutions are made using the ** quoted version of the new column name. */ - zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11235, libc.VaList(bp+8, zNew)) + zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11360, libc.VaList(bp+8, zNew)) if zQuot == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -93874,11 +94320,11 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = 0 _sqlite3Dequote(tls, zBuf1) if int32(*(*int8)(unsafe.Pointer((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == int32('\'') { - v1 = __ccgo_ts + 11202 + v1 = __ccgo_ts + 11327 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11241, libc.VaList(bp+8, zBuf1, v1)) + Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11366, libc.VaList(bp+8, zBuf1, v1)) zReplace = zBuf2 nReplace = uint32(_sqlite3Strlen30(tls, zReplace)) } @@ -94370,7 +94816,7 @@ renameColumnFunc_done: Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv))) } else { if (*(*TParse)(unsafe.Pointer(bp + 20))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1648, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+20) + _renameColumnParseError(tls, context, __ccgo_ts+1662, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+20) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -94599,7 +95045,7 @@ func _renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintpt Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + 3*4))) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1648, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp) + _renameColumnParseError(tls, context, __ccgo_ts+1662, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -94861,7 +95307,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { /* This can happen if the sqlite_schema table is corrupt */ - rc = _sqlite3CorruptError(tls, int32(117652)) + rc = _sqlite3CorruptError(tls, int32(118255)) goto drop_column_done } pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FzCnName) @@ -94879,7 +95325,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr (*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz-- } } - zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11246, libc.VaList(bp+296, int32((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int32(zSql), zSql, zEnd)) + zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11371, libc.VaList(bp+296, int32((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int32(zSql), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -int32(1), uintptr(-libc.Int32FromInt32(1))) Xsqlite3_free(tls, zNew) goto drop_column_done @@ -94906,8 +95352,9 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName bp := tls.Alloc(48) defer tls.Free(48) var addr, i, iCol, iColPos, iCur, iDb, iPos, nField, reg, regOut, regRec, v2, v4, v7 int32 + var aff int8 var db, pPk, pTab, v, zCol, zDb, v1, v3, v5, v8 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, aff, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Database containing pTab ("main" etc.) */ zCol = uintptr(0) /* Index of column zCol in pTab->aCol[] */ /* Look up the table being altered. */ @@ -94936,23 +95383,23 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName } iCol = _sqlite3ColumnIndex(tls, pTab, zCol) if iCol < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10868, libc.VaList(bp+8, pName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10993, libc.VaList(bp+8, pName)) goto exit_drop_column } /* Do not allow the user to drop a PRIMARY KEY column or a column ** constrained by a UNIQUE constraint. */ if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_PRIMKEY)|libc.Int32FromInt32(COLFLAG_UNIQUE)) != 0 { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - v1 = __ccgo_ts + 11253 + v1 = __ccgo_ts + 11378 } else { - v1 = __ccgo_ts + 5589 + v1 = __ccgo_ts + 5653 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11265, libc.VaList(bp+8, v1, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11390, libc.VaList(bp+8, v1, zCol)) goto exit_drop_column } /* Do not allow the number of columns to go to zero */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) <= int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11293, libc.VaList(bp+8, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11418, libc.VaList(bp+8, zCol)) goto exit_drop_column } /* Edit the sqlite_schema table */ @@ -94963,12 +95410,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_ALTER_TABLE), zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol) != 0 { goto exit_drop_column } - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1648, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1662, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1))) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11341, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11466, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11462, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11587, int32(1)) /* Edit rows of table on disk */ if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 && int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { pPk = uintptr(0) @@ -95026,7 +95473,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if i == int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regOut) } else { + aff = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*12))).Faffinity + if int32(aff) == int32(SQLITE_AFF_REAL) { + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*12))).Faffinity = int8(SQLITE_AFF_NUMERIC) + } _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab, iCur, i, regOut) + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*12))).Faffinity = aff } nField++ } @@ -95071,27 +95523,27 @@ var _aAlterTableFuncs = [5]TFuncDef{ 0: { FnArg: int8(9), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11480, + FzName: __ccgo_ts + 11605, }, 1: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11501, + FzName: __ccgo_ts + 11626, }, 2: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11521, + FzName: __ccgo_ts + 11646, }, 3: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11540, + FzName: __ccgo_ts + 11665, }, 4: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11559, + FzName: __ccgo_ts + 11684, }, } @@ -95304,7 +95756,7 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW ** side-effect of the CREATE TABLE statement is to leave the rootpage ** of the new table in register pParse->regRoot. This is important ** because the OpenWrite opcode below will be needing it. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11662, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11787, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) aRoot[i] = uint32((*TParse)(unsafe.Pointer(pParse)).FregRoot) aCreateTbl[i] = uint8(OPFLAG_P2ISREG) } @@ -95315,10 +95767,10 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW aRoot[i] = (*TTable)(unsafe.Pointer(pStat)).Ftnum _sqlite3TableLock(tls, pParse, iDb, aRoot[i], uint8(1), zTab) if zWhere != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11685, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11810, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11715, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11840, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { /* The sqlite_stat[134] table already exists. Delete all rows. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Clear), int32(aRoot[i]), iDb) @@ -95351,15 +95803,15 @@ var _aTable = [3]struct { FzCols uintptr }{ 0: { - FzName: __ccgo_ts + 11582, - FzCols: __ccgo_ts + 11595, + FzName: __ccgo_ts + 11707, + FzCols: __ccgo_ts + 11720, }, 1: { - FzName: __ccgo_ts + 11608, - FzCols: __ccgo_ts + 11621, + FzName: __ccgo_ts + 11733, + FzCols: __ccgo_ts + 11746, }, 2: { - FzName: __ccgo_ts + 11649, + FzName: __ccgo_ts + 11774, }, } @@ -95668,7 +96120,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statInitFuncdef = TFuncDef{ FnArg: int8(4), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11733, + FzName: __ccgo_ts + 11858, } func init() { @@ -96054,7 +96506,7 @@ func _statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statPushFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(2) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11743, + FzName: __ccgo_ts + 11868, } func init() { @@ -96107,7 +96559,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { v1 = (*TStatAccum)(unsafe.Pointer(p)).FnRow } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11753, libc.VaList(bp+56, v1)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11878, libc.VaList(bp+56, v1)) i = 0 for { if !(i < (*TStatAccum)(unsafe.Pointer(p)).FnKeyCol) { @@ -96118,7 +96570,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if iVal == uint64(2) && (*TStatAccum)(unsafe.Pointer(p)).FnRow*uint64(10) <= nDistinct*uint64(11) { iVal = uint64(1) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11758, libc.VaList(bp+56, iVal)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11883, libc.VaList(bp+56, iVal)) _ = libc.Int32FromInt32(0) goto _2 _2: @@ -96159,7 +96611,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if !(i1 < (*TStatAccum)(unsafe.Pointer(p)).FnCol) { break } - Xsqlite3_str_appendf(tls, bp+24, __ccgo_ts+11764, libc.VaList(bp+56, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) + Xsqlite3_str_appendf(tls, bp+24, __ccgo_ts+11889, libc.VaList(bp+56, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) goto _3 _3: ; @@ -96177,7 +96629,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statGetFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(1) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11770, + FzName: __ccgo_ts + 11895, } func init() { @@ -96199,9 +96651,9 @@ func _callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, re // */ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { var aGotoChng, db, pColl, pIdx, pPk, pStat1, pX, v, zIdxName uintptr - var addrIsNull, addrNext, addrNextRow, addrRewind, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 + var addrGotoEnd, addrIsNull, addrNext, addrNextRow, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 var needTableCnt, seekOp Tu8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrIsNull, addrNext, addrNextRow, addrRewind, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrGotoEnd, addrIsNull, addrNext, addrNextRow, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Loop counter */ jZeroRows = -int32(1) /* Index of database containing pTab */ needTableCnt = uint8(1) @@ -96245,7 +96697,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Do not gather statistics on views or virtual tables */ return } - if Xsqlite3_strlike(tls, __ccgo_ts+11779, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, __ccgo_ts+11904, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { /* Do not gather statistics on system tables */ return } @@ -96262,7 +96714,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint return } (*TTable)(unsafe.Pointer(pStat1)).FzName = pStat1 + 1*64 - libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11582, uint32(13)) + libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11707, uint32(13)) (*TTable)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*TTable)(unsafe.Pointer(pStat1)).FiPKey = int16(-int32(1)) _sqlite3VdbeAddOp4(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Noop), 0, 0, 0, pStat1, -int32(6)) @@ -96316,9 +96768,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* ** Pseudo-code for loop that calls stat_push(): ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() ** goto chng_addr_0; ** ** next_row: @@ -96353,34 +96810,31 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _ = libc.Int32FromInt32(0) _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenRead), iIdxCur, int32((*TIndex)(unsafe.Pointer(pIdx)).Ftnum), iDb) _sqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - /* Invoke the stat_init() function. The arguments are: + /* Implementation of the following: ** + ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() + ** goto chng_addr_0; + */ + _ = libc.Int32FromInt32(0) + _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + /* Arguments to stat_init(): ** (1) the number of columns in the index including the rowid ** (or for a WITHOUT ROWID table, the number of PK columns), ** (2) the number of columns in the key without the rowid/pk - ** (3) estimated number of rows in the index, - */ + ** (3) estimated number of rows in the index. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), nCol, regStat+int32(1)) _ = libc.Int32FromInt32(0) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol), regRowid) - if (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0) { - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iIdxCur, regTemp) - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - } else { - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, int32(1)) - } - _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) != uint32(0))) _sqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat+int32(1), regStat, int32(4), uintptr(unsafe.Pointer(&_statInitFuncdef)), 0) - /* Implementation of the following: - ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; - ** regChng = 0 - ** goto next_push_0; - ** - */ + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regChng) addrNextRow = _sqlite3VdbeCurrentAddr(tls, v) if nColTest > 0 { @@ -96492,9 +96946,15 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), iIdxCur, addrNextRow) } /* Add the entry to the stat1 table. */ + if (*TIndex)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { + /* Partial indexes might get a zero-entry in sqlite_stat1. But + ** an empty table is omitted from sqlite_stat1. */ + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + addrGotoEnd = 0 + } _callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11789, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11914, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP4(tls, v, -int32(1), pStat1, -int32(5)) @@ -96513,6 +96973,11 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint v18 = int32(OP_NotFound) } seekOp = uint8(v18) + /* No STAT4 data is generated if the number of rows is zero */ + if addrGotoEnd == 0 { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Cast), regStat1, int32(SQLITE_AFF_INTEGER)) + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) + } if doOnce != 0 { mxCol = nCol /* Compute the maximum number of columns in any index */ @@ -96567,7 +97032,9 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeJumpHere(tls, v, addrIsNull) } /* End of analysis */ - _sqlite3VdbeJumpHere(tls, v, addrRewind) + if addrGotoEnd != 0 { + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + } goto _13 _13: ; @@ -96581,7 +97048,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint jZeroRows = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regIdxname) _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11789, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11914, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -96656,9 +97123,9 @@ func _analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr iStatCur = (*TParse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 40)) += int32(3) if pOnlyIdx != 0 { - _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11793) + _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11918) } else { - _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11797) + _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11922) } _analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, (*TParse)(unsafe.Pointer(pParse)).FnMem+int32(1), (*TParse)(unsafe.Pointer(pParse)).FnTab) _loadAnalysis(tls, pParse, iDb) @@ -96789,7 +97256,7 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, _, _, _, _, _, _ = c, i, sz, v, z, v2 z = zIntArray if z == uintptr(0) { - z = __ccgo_ts + 1648 + z = __ccgo_ts + 1662 } i = 0 for { @@ -96824,17 +97291,17 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+56, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+56, libc.Uint32FromInt32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, __ccgo_ts+11801, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11926, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+56, libc.Uint32FromInt32(1), 2, 0x4) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11812, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11937, z) == 0 { sz = _sqlite3Atoi(tls, z+uintptr(3)) if sz < int32(2) { sz = int32(2) } (*TIndex)(unsafe.Pointer(pIndex)).FszIdxRow = _sqlite3LogEst(tls, uint64(sz)) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11822, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11947, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+56, libc.Uint32FromInt32(1), 6, 0x40) } } @@ -97218,11 +97685,11 @@ func _loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) (r int32) { rc = SQLITE_OK _ = libc.Int32FromInt32(0) if v2 = (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0); v2 { - v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11608, zDb) + v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11733, zDb) pStat4 = v1 } if v2 && v1 != uintptr(0) && int32((*TTable)(unsafe.Pointer(pStat4)).FeTabType) == TABTYP_NORM { - rc = _loadStatTbl(tls, db, __ccgo_ts+11834, __ccgo_ts+11903, zDb) + rc = _loadStatTbl(tls, db, __ccgo_ts+11959, __ccgo_ts+12028, zDb) } return rc } @@ -97291,10 +97758,10 @@ func _sqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) (r int32) { /* Load new statistics out of the sqlite_stat1 table */ (*(*TanalysisInfo)(unsafe.Pointer(bp))).Fdb = db (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName - v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11582, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) + v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11707, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) pStat1 = v3 if v3 != 0 && int32((*TTable)(unsafe.Pointer(pStat1)).FeTabType) == TABTYP_NORM { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+11955, libc.VaList(bp+16, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+12080, libc.VaList(bp+16, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -97408,7 +97875,7 @@ func _resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) (r int32) { // ** database iDb attached to handle db. // */ func _sqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) (r int32) { - return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6585, zName) == 0) + return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6649, zName) == 0) } // C documentation @@ -97450,21 +97917,21 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) if zFile == uintptr(0) { - zFile = __ccgo_ts + 1648 + zFile = __ccgo_ts + 1662 } if zName == uintptr(0) { - zName = __ccgo_ts + 1648 + zName = __ccgo_ts + 1662 } if int32(uint32(*(*uint8)(unsafe.Pointer(db + 168 + 8))&0x4>>2)) != 0 { /* 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 + 20)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 16)) = Xsqlite3_vfs_find(tls, __ccgo_ts+3967) + *(*uintptr)(unsafe.Pointer(bp + 16)) = Xsqlite3_vfs_find(tls, __ccgo_ts+4031) if *(*uintptr)(unsafe.Pointer(bp + 16)) == uintptr(0) { return } - rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), __ccgo_ts+11996, db, bp+20, 0, int32(SQLITE_OPEN_MAIN_DB)) + rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), __ccgo_ts+12121, db, bp+20, 0, int32(SQLITE_OPEN_MAIN_DB)) if rc == SQLITE_OK { pNewSchema = _sqlite3SchemaGet(tls, db, *(*uintptr)(unsafe.Pointer(bp + 20))) if pNewSchema != 0 { @@ -97495,7 +97962,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { ** * Specified database name already being used. */ if (*Tsqlite3)(unsafe.Pointer(db)).FnDb >= *(*int32)(unsafe.Pointer(db + 116 + 7*4))+int32(2) { - *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+11999, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(db + 116 + 7*4)))) + *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12124, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(db + 116 + 7*4)))) goto attach_error } i = 0 @@ -97505,7 +97972,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } _ = libc.Int32FromInt32(0) if _sqlite3DbIsNamed(tls, db, i, zName) != 0 { - *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12036, libc.VaList(bp+32, zName)) + *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12161, libc.VaList(bp+32, zName)) goto attach_error } goto _1 @@ -97554,7 +98021,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FnoSharedCache = uint8(0) if rc == int32(SQLITE_CONSTRAINT) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12066, 0) + *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12191, 0) } else { if rc == SQLITE_OK { (*TDb)(unsafe.Pointer(pNew)).FpSchema = _sqlite3SchemaGet(tls, db, (*TDb)(unsafe.Pointer(pNew)).FpBt) @@ -97562,7 +98029,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { rc = int32(SQLITE_NOMEM) } else { if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0 && int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12095, 0) + *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12220, 0) rc = int32(SQLITE_ERROR) } } @@ -97608,10 +98075,10 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)<= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12191, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12316, libc.VaList(bp+136, zName)) goto detach_error } if i < int32(2) { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12212, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12337, libc.VaList(bp+136, zName)) goto detach_error } if _sqlite3BtreeTxnState(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != SQLITE_TXN_NONE || _sqlite3BtreeIsInBackup(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != 0 { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12238, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12363, libc.VaList(bp+136, zName)) goto detach_error } /* If any TEMP triggers reference the schema being detached, move those @@ -97779,7 +98246,7 @@ func _sqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { var _detach_func = TFuncDef{ FnArg: int8(1), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12260, + FzName: __ccgo_ts + 12385, } func init() { @@ -97801,7 +98268,7 @@ func _sqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, p var _attach_func = TFuncDef{ FnArg: int8(3), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12274, + FzName: __ccgo_ts + 12399, } func init() { @@ -97827,7 +98294,7 @@ func _fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) (r int32) { if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer((*TDbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit1.Fbusy != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } else { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12288, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12413, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) return int32(WRC_Abort) } } @@ -97861,7 +98328,7 @@ func _fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) (r int32) { if int32((*TDbFixer)(unsafe.Pointer(pFix)).FbTemp) == 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != _sqlite3FindDbName(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12312, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12437, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return int32(WRC_Abort) } _sqlite3DbFree(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) @@ -98078,7 +98545,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // ** user-supplied authorization function returned an illegal value. // */ func _sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12358, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12483, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) } @@ -98106,11 +98573,11 @@ func _sqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, int32(SQLITE_READ), zTab, zCol, zDb, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12381, libc.VaList(bp+8, zTab, zCol)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12506, libc.VaList(bp+8, zTab, zCol)) if (*Tsqlite3)(unsafe.Pointer(db)).FnDb > int32(2) || iDb != 0 { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12387, libc.VaList(bp+8, zDb, z)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12512, libc.VaList(bp+8, zDb, z)) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12393, libc.VaList(bp+8, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12518, libc.VaList(bp+8, z)) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != int32(SQLITE_IGNORE) && rc != SQLITE_OK { @@ -98176,7 +98643,7 @@ func _sqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint _ = libc.Int32FromInt32(0) zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*12))).FzCnName } else { - zCol = __ccgo_ts + 7905 + zCol = __ccgo_ts + 8030 } } _ = libc.Int32FromInt32(0) @@ -98213,7 +98680,7 @@ func _sqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, ** parameters can be either NULL or a string. */ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12420, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12545, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != SQLITE_OK && rc != int32(SQLITE_IGNORE) { @@ -98648,21 +99115,21 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { /* No match against the official names. But always match "main" ** to schema 0 as a legacy fallback. */ - if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6585) == 0 { + if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6649) == 0 { i = 0 } else { return uintptr(0) } } p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16))).FpSchema+8, zName) - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) == 0 { + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) == 0 { if i == int32(1) { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6552+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6571+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6066+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpSchema+8, __ccgo_ts+6533) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6616+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6635+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6130+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpSchema+8, __ccgo_ts+6597) } } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6571+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16))).FpSchema+8, __ccgo_ts+6066) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6635+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16))).FpSchema+8, __ccgo_ts+6130) } } } @@ -98693,12 +99160,12 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp ; i++ } - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6571+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6066) + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6635+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6130) } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6552+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpSchema+8, __ccgo_ts+6533) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6616+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpSchema+8, __ccgo_ts+6597) } } } @@ -98736,7 +99203,7 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt ** can be an eponymous virtual table. */ if int32((*TParse)(unsafe.Pointer(pParse)).FprepFlags)&int32(SQLITE_PREPARE_NO_VTAB) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 { pMod = _sqlite3HashFind(tls, db+396, zName) - if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12435, int32(7)) == 0 { + if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12560, int32(7)) == 0 { pMod = _sqlite3PragmaVtabRegister(tls, db, zName) } if pMod != 0 && _sqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0 { @@ -98754,15 +99221,15 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt } if p == uintptr(0) { if flags&uint32(LOCATE_VIEW) != 0 { - v1 = __ccgo_ts + 12443 + v1 = __ccgo_ts + 12568 } else { - v1 = __ccgo_ts + 12456 + v1 = __ccgo_ts + 12581 } zMsg = v1 if zDbase != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6789, libc.VaList(bp+8, zMsg, zDbase, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6853, libc.VaList(bp+8, zMsg, zDbase, zName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6799, libc.VaList(bp+8, zMsg, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6924, libc.VaList(bp+8, zMsg, zName)) } } else { _ = libc.Int32FromInt32(0) @@ -98802,12 +99269,12 @@ func _sqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags Tu32, p uintpt // ** names into the new preferred names, as appropriate. // */ func _sqlite3PreferredTableName(tls *libc.TLS, zName uintptr) (r uintptr) { - if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6066+7) == 0 { - return __ccgo_ts + 6571 + if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6130+7) == 0 { + return __ccgo_ts + 6635 } - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6533+7) == 0 { - return __ccgo_ts + 6552 + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6597+7) == 0 { + return __ccgo_ts + 6616 } } return zName @@ -99353,7 +99820,7 @@ func _sqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { var v uintptr _ = v v = _sqlite3GetVdbe(tls, p) - _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6066) + _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6130) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_OpenWrite), 0, int32(SCHEMA_ROOT), iDb, int32(5)) if (*TParse)(unsafe.Pointer(p)).FnTab == 0 { (*TParse)(unsafe.Pointer(p)).FnTab = int32(1) @@ -99385,7 +99852,7 @@ func _sqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) { } /* "main" is always an acceptable alias for the primary database ** even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. */ - if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6585, zName) { + if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6649, zName) { break } goto _1 @@ -99444,13 +99911,13 @@ func _sqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u _ = libc.Int32FromInt32(0) if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12470, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12595, 0) return -int32(1) } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = _sqlite3FindDb(tls, db, pName1) if iDb < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12487, libc.VaList(bp+8, pName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12612, libc.VaList(bp+8, pName1)) return -int32(1) } } else { @@ -99495,12 +99962,12 @@ func _sqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit))) != 0 || Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 1*4))) != 0 || Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 2*4))) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1648, 0) /* corruptSchema() will supply the error */ + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1662, 0) /* corruptSchema() will supply the error */ return int32(SQLITE_ERROR) } } else { - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12507, libc.VaList(bp+8, zName)) + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12632, libc.VaList(bp+8, zName)) return int32(SQLITE_ERROR) } } @@ -99716,9 +100183,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui /* Special case: Parsing the sqlite_schema or sqlite_temp_schema schema */ iDb = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zName = _sqlite3DbStrDup(tls, db, v1) *(*uintptr)(unsafe.Pointer(bp)) = pName1 @@ -99731,7 +100198,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 && (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) && iDb != int32(1) { /* If creating a temp table, the name may not be qualified. Unless ** the database name is "temp" anyway. */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12549, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12674, 0) return } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 { @@ -99747,9 +100214,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui return } if isView != 0 { - v2 = __ccgo_ts + 10796 + v2 = __ccgo_ts + 10921 } else { - v2 = __ccgo_ts + 9058 + v2 = __ccgo_ts + 9183 } if _sqlite3CheckObjectName(tls, pParse, zName, v2, zName) != 0 { goto begin_table_error @@ -99761,9 +100228,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui _ = libc.Int32FromInt32(0) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp == int32(1) { - v3 = __ccgo_ts + 6533 + v3 = __ccgo_ts + 6597 } else { - v3 = __ccgo_ts + 6066 + v3 = __ccgo_ts + 6130 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto begin_table_error @@ -99787,11 +100254,11 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if pTable != 0 { if !(noErr != 0) { if int32((*TTable)(unsafe.Pointer(pTable)).FeTabType) == int32(TABTYP_VIEW) { - v4 = __ccgo_ts + 10796 + v4 = __ccgo_ts + 10921 } else { - v4 = __ccgo_ts + 9058 + v4 = __ccgo_ts + 9183 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12590, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12715, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -99800,7 +100267,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui goto begin_table_error } if _sqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12611, libc.VaList(bp+16, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12736, libc.VaList(bp+16, zName)) goto begin_table_error } } @@ -99956,7 +100423,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { _, _, _ = db, pHash, pRet db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TParse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12646, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12771, 0) } else { _ = libc.Int32FromInt32(0) } @@ -99973,7 +100440,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - Xsqlite3_snprintf(tls, int32(40), pRet+104, __ccgo_ts+12680, libc.VaList(bp+8, pParse)) + Xsqlite3_snprintf(tls, int32(40), pRet+104, __ccgo_ts+12805, libc.VaList(bp+8, pParse)) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.FzName = pRet + 104 (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Fop = uint8(TK_RETURNING) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = uint8(TRIGGER_AFTER) @@ -100021,7 +100488,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok return } if int32((*TTable)(unsafe.Pointer(p)).FnCol)+int32(1) > *(*int32)(unsafe.Pointer(db + 116 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12700, libc.VaList(bp+24, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12825, libc.VaList(bp+24, (*TTable)(unsafe.Pointer(p)).FzName)) return } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -100031,12 +100498,12 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok ** by the parser, we can sometimes end up with a typename that ends ** with "generated always". Check for this case and omit the surplus ** text. */ - if (*(*TToken)(unsafe.Pointer(bp + 8))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 8))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 8))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12723, int32(6)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 8))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 8))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 8))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12848, int32(6)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 8))).Fn -= uint32(6) for (*(*TToken)(unsafe.Pointer(bp + 8))).Fn > uint32(0) && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 8))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 8))).Fn-uint32(1)))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 8))).Fn-- } - if (*(*TToken)(unsafe.Pointer(bp + 8))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 8))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 8))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12730, int32(9)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 8))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 8))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 8))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12855, int32(9)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 8))).Fn -= uint32(9) for (*(*TToken)(unsafe.Pointer(bp + 8))).Fn > uint32(0) && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 8))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 8))).Fn-uint32(1)))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 8))).Fn-- @@ -100085,7 +100552,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok break } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*12))).FhName) == int32(hName) && _sqlite3StrICmp(tls, z, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*12))).FzCnName) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12740, libc.VaList(bp+24, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12865, libc.VaList(bp+24, z)) _sqlite3DbFree(tls, db, z) return } @@ -100295,10 +100762,10 @@ func _sqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar isInit = libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) != int32(1)) pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(p)).FnCol)-int32(1))*12 if !(_sqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12766, libc.VaList(bp+64, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12891, libc.VaList(bp+64, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12811, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12936, 0) } else { libc.Xmemset(tls, bp, 0, uint32(52)) (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_SPAN) @@ -100356,7 +100823,7 @@ func _makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { p1 = pCol + 10 *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(COLFLAG_PRIMKEY)) if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12852, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12977, 0) } } @@ -100393,7 +100860,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError goto primary_key_exit } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasPrimaryKey) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12904, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13029, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit } *(*Tu32)(unsafe.Pointer(pTab + 28)) |= uint32(TF_HasPrimaryKey) @@ -100452,7 +100919,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError _sqlite3HasExplicitNulls(tls, pParse, pList) } else { if autoInc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12945, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13070, 0) } else { _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), uintptr(0), sortOrder, 0, uint8(SQLITE_IDXTYPE_PRIMARYKEY)) pList = uintptr(0) @@ -100569,17 +101036,17 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui } pCol = (*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-int32(1))*12 if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) == int32(PARSE_MODE_DECLARE_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13001, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13126, 0) goto generated_done } if int32((*TColumn)(unsafe.Pointer(pCol)).FiDflt) > 0 { goto generated_error } if pType != 0 { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13044, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13169, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { /* no-op */ } else { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13052, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13177, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { eType = uint8(COLFLAG_STORED) } else { goto generated_error @@ -100613,7 +101080,7 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui goto generated_error generated_error: ; - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13059, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13184, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) goto generated_done generated_done: ; @@ -100777,13 +101244,13 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { } n += _identLength(tls, (*TTable)(unsafe.Pointer(p)).FzName) if n < int32(50) { - zSep = __ccgo_ts + 1648 - zSep2 = __ccgo_ts + 13090 - zEnd = __ccgo_ts + 5106 + zSep = __ccgo_ts + 1662 + zSep2 = __ccgo_ts + 13215 + zEnd = __ccgo_ts + 5170 } else { - zSep = __ccgo_ts + 13092 - zSep2 = __ccgo_ts + 13096 - zEnd = __ccgo_ts + 13101 + zSep = __ccgo_ts + 13217 + zSep2 = __ccgo_ts + 13221 + zEnd = __ccgo_ts + 13226 } n += int32(35) + int32(6)*int32((*TTable)(unsafe.Pointer(p)).FnCol) zStmt = _sqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -100791,7 +101258,7 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { _sqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13104, 0) + Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13229, 0) *(*int32)(unsafe.Pointer(bp)) = _sqlite3Strlen30(tls, zStmt) _identPut(tls, zStmt, bp, (*TTable)(unsafe.Pointer(p)).FzName) v2 = *(*int32)(unsafe.Pointer(bp)) @@ -100821,17 +101288,17 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { i++ pCol += 12 } - Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3795, libc.VaList(bp+16, zEnd)) + Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3859, libc.VaList(bp+16, zEnd)) return zStmt } var _azType1 = [6]uintptr{ - 0: __ccgo_ts + 1648, - 1: __ccgo_ts + 13118, - 2: __ccgo_ts + 13124, - 3: __ccgo_ts + 13129, - 4: __ccgo_ts + 13134, - 5: __ccgo_ts + 13124, + 0: __ccgo_ts + 1662, + 1: __ccgo_ts + 13243, + 2: __ccgo_ts + 13249, + 3: __ccgo_ts + 13254, + 4: __ccgo_ts + 13259, + 5: __ccgo_ts + 13249, } // C documentation @@ -101430,13 +101897,13 @@ func _sqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts Tu32, pSelect uintptr) { bp := tls.Alloc(96) defer tls.Free(96) - var addrInsLoop, addrTop, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v4, v6, v8 int32 + var addrInsLoop, addrTop, iCsr, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v10, v4, v6, v8 int32 var colFlags Tu32 - var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v5, v7, v9 uintptr - var v10 Ti16 + var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v13, v5, v7, v9 uintptr + var v12 Ti16 var _ /* dest at bp+0 */ TSelectDest - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v4, v5, v6, v7, v8, v9 /* The new table */ - db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iCsr, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v12, v13, v4, v5, v6, v7, v8, v9 /* The new table */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ if pEnd == uintptr(0) && pSelect == uintptr(0) { return } @@ -101458,7 +101925,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if pSelect != 0 || !(int32((*TTable)(unsafe.Pointer(p)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) && (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1648, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1662, 0) return } (*TTable)(unsafe.Pointer(p)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum @@ -101485,9 +101952,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(ii)*12 if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 4))&0xf0>>4)) == COLTYPE_CUSTOM { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_HASTYPE) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13140, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1648))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13265, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1662))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13173, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13298, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } return } else { @@ -101510,11 +101977,11 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* Special processing for WITHOUT ROWID Tables */ if tabOpts&uint32(TF_WithoutRowid) != 0 { if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13200, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13325, 0) return } if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasPrimaryKey) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13250, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13375, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) return } *(*Tu32)(unsafe.Pointer(p + 28)) |= uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) @@ -101561,7 +102028,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ii1++ } if nNG == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13282, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13407, 0) return } } @@ -101595,12 +102062,12 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if int32((*TTable)(unsafe.Pointer(p)).FeTabType) == TABTYP_NORM { /* A regular table */ - zType = __ccgo_ts + 9058 - zType2 = __ccgo_ts + 13326 + zType = __ccgo_ts + 9183 + zType2 = __ccgo_ts + 13451 } else { /* A view */ - zType = __ccgo_ts + 10796 - zType2 = __ccgo_ts + 13332 + zType = __ccgo_ts + 10921 + zType2 = __ccgo_ts + 13457 } /* If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT ** statement to populate the new table. The root-page number for the @@ -101615,29 +102082,31 @@ func _sqlite3EndTable(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 { /* A table that describes the SELECT results */ + if pSelect != 0 { /* Write cursor on the new table */ if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) (*TParse)(unsafe.Pointer(pParse)).FnErr++ return } - v5 = pParse + 44 - *(*int32)(unsafe.Pointer(v5))++ + v5 = pParse + 40 v4 = *(*int32)(unsafe.Pointer(v5)) - regYield = v4 + *(*int32)(unsafe.Pointer(v5))++ + iCsr = v4 v7 = pParse + 44 *(*int32)(unsafe.Pointer(v7))++ v6 = *(*int32)(unsafe.Pointer(v7)) - regRec = v6 + regYield = v6 v9 = pParse + 44 *(*int32)(unsafe.Pointer(v9))++ v8 = *(*int32)(unsafe.Pointer(v9)) - regRowid = v8 - _ = libc.Int32FromInt32(0) + regRec = v8 + v11 = pParse + 44 + *(*int32)(unsafe.Pointer(v11))++ + v10 = *(*int32)(unsafe.Pointer(v11)) + regRowid = v10 _sqlite3MayAbort(tls, pParse) - _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), int32(1), (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) + _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), iCsr, (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_P2ISREG)) - (*TParse)(unsafe.Pointer(pParse)).FnTab = int32(2) addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -101648,9 +102117,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr return } _ = libc.Int32FromInt32(0) - v10 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol - (*TTable)(unsafe.Pointer(p)).FnNVCol = v10 - (*TTable)(unsafe.Pointer(p)).FnCol = v10 + v12 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol + (*TTable)(unsafe.Pointer(p)).FnNVCol = v12 + (*TTable)(unsafe.Pointer(p)).FnCol = v12 (*TTable)(unsafe.Pointer(p)).FaCol = (*TTable)(unsafe.Pointer(pSelTab)).FaCol (*TTable)(unsafe.Pointer(pSelTab)).FnCol = 0 (*TTable)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) @@ -101665,33 +102134,33 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr addrInsLoop = _sqlite3VdbeAddOp1(tls, v, int32(OP_Yield), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSDParm) _sqlite3VdbeAddOp3(tls, v, int32(OP_MakeRecord), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst, (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst, regRec) _sqlite3TableAffinity(tls, v, p, 0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), int32(1), regRowid) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), int32(1), regRec, regRowid) + _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iCsr, regRowid) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iCsr, regRec, regRowid) _sqlite3VdbeGoto(tls, v, addrInsLoop) _sqlite3VdbeJumpHere(tls, v, addrInsLoop) - _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), int32(1)) + _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), iCsr) } /* Compute the complete text of the CREATE statement */ if pSelect != 0 { zStmt = _createTableStmt(tls, db, p) } else { if tabOpts != 0 { - v11 = pParse + 208 + v13 = pParse + 208 } else { - v11 = pEnd + v13 = pEnd } - pEnd2 = v11 + pEnd2 = v13 n = int32((*TToken)(unsafe.Pointer(pEnd2)).Fz) - int32((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz) if int32(*(*int8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pEnd2)).Fz))) != int32(';') { n = int32(uint32(n) + (*TToken)(unsafe.Pointer(pEnd2)).Fn) } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13337, libc.VaList(bp+40, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13462, libc.VaList(bp+40, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13352, libc.VaList(bp+40, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13477, libc.VaList(bp+40, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) _sqlite3DbFree(tls, db, zStmt) _sqlite3ChangeCookie(tls, pParse, iDb) /* Check to see if we need to create an sqlite_sequence table for @@ -101701,17 +102170,16 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16 _ = libc.Int32FromInt32(0) if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13450, libc.VaList(bp+40, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13575, libc.VaList(bp+40, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) } } /* Reparse everything to update our internal data structures */ - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13492, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13617, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) /* Test for cycles in generated columns and illegal expressions ** in CHECK constraints and in DEFAULT clauses. */ if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasGenerated) != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13526, libc.VaList(bp+40, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(0x0001), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13651, libc.VaList(bp+40, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13547, libc.VaList(bp+40, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } /* Add the table to the in-memory representation of the database. */ @@ -101731,7 +102199,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ** then record a pointer to this table in the main database structure ** so that INSERT can find the table easily. */ _ = libc.Int32FromInt32(0) - if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9580) == 0 { + if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9705) == 0 { _ = libc.Int32FromInt32(0) (*TSchema)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -101766,7 +102234,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*uintptr)(unsafe.Pointer(bp + 60)) = uintptr(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if int32((*TParse)(unsafe.Pointer(pParse)).FnVar) > 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13579, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13672, 0) goto create_view_fail } _sqlite3StartTable(tls, pParse, pName1, pName2, isTemp, int32(1), 0, noErr) @@ -101783,7 +102251,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*Tu32)(unsafe.Pointer(p + 28)) |= uint32(TF_NoVisibleRowid) /* Never allow rowid in view */ _sqlite3TwoPartName(tls, pParse, pName1, pName2, bp+60) iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(p)).FpSchema) - _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+10796, *(*uintptr)(unsafe.Pointer(bp + 60))) + _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+10921, *(*uintptr)(unsafe.Pointer(bp + 60))) if _sqlite3FixSelect(tls, bp+8, pSelect) != 0 { goto create_view_fail } @@ -101883,7 +102351,7 @@ func _viewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) (r int32 ** SELECT * FROM temp.ex1; */ if int32((*TTable)(unsafe.Pointer(pTable)).FnCol) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13615, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13708, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) return int32(1) } _ = libc.Int32FromInt32(0) @@ -102075,7 +102543,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { v = _sqlite3GetVdbe(tls, pParse) r1 = _sqlite3GetTempReg(tls, pParse) if iTable < int32(2) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13645, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13738, 0) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Destroy), iTable, r1, iDb) _sqlite3MayAbort(tls, pParse) @@ -102088,7 +102556,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { ** is in register NNN. See grammar rules associated with the TK_REGISTER ** token for additional information. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13660, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*16))).FzDbSName, iTable, r1, r1)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13753, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*16))).FzDbSName, iTable, r1, r1)) _sqlite3ReleaseTempReg(tls, pParse, r1) } @@ -102173,9 +102641,9 @@ func _sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uin if !(i <= int32(4)) { break } - Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13727, libc.VaList(bp+32, i)) + Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13820, libc.VaList(bp+32, i)) if _sqlite3FindTable(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, bp, zDbName) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11685, libc.VaList(bp+32, zDbName, bp, zType, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11810, libc.VaList(bp+32, zDbName, bp, zType, zName)) } goto _1 _1: @@ -102218,7 +102686,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** move as a result of the drop (can happen in auto-vacuum mode). */ if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13741, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13834, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* Drop all entries in the schema table that refer to the ** table. The program name loops through the schema table and deletes @@ -102227,7 +102695,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** created in the temp database that refers to a table in another ** database. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13786, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13879, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { _destroyTable(tls, pParse, pTab) } @@ -102262,11 +102730,11 @@ func _sqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) (r int32) { // ** Return true if it is not allowed to drop the given table // */ func _tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) (r int32) { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) == 0 { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3418, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3482, int32(4)) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7266, int32(10)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7391, int32(10)) == 0 { return 0 } return int32(1) @@ -102325,9 +102793,9 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zTab = v1 zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName @@ -102360,18 +102828,18 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if _tableMayNotBeDropped(tls, db, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13853, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13946, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Ensure DROP TABLE is not used on a view, and DROP VIEW is not used ** on a table. */ if isView != 0 && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13881, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13974, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } if !(isView != 0) && int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13915, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14008, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Generate code to remove the table from the schema table @@ -102381,7 +102849,7 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) if !(isView != 0) { - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11797, (*TTable)(unsafe.Pointer(pTab)).FzName) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11922, (*TTable)(unsafe.Pointer(pTab)).FzName) _sqlite3FkDropTable(tls, pParse, pName, pTab) } _sqlite3CodeDropTable(tls, pParse, pTab, iDb, isView) @@ -102430,13 +102898,13 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p goto fk_end } if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13947, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*12))).FzCnName, pTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14040, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*12))).FzCnName, pTo)) goto fk_end } nCol = int32(1) } else { if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14010, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14103, 0) goto fk_end } else { nCol = (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr @@ -102500,7 +102968,7 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p j++ } if j >= int32((*TTable)(unsafe.Pointer(p)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14104, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*20))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14197, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*20))).FzEName)) goto fk_end } if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { @@ -102764,11 +103232,11 @@ func _sqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) (r i if int32(uint32(*(*uint16)(unsafe.Pointer(pList + 8 + uintptr(i)*20 + 8 + 4))&0x20>>5)) != 0 { sf = (*(*TExprList_item)(unsafe.Pointer(pList + 8 + uintptr(i)*20))).Ffg.FsortFlags if int32(sf) == 0 || int32(sf) == int32(3) { - v2 = __ccgo_ts + 14150 + v2 = __ccgo_ts + 14243 } else { - v2 = __ccgo_ts + 14156 + v2 = __ccgo_ts + 14249 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14161, libc.VaList(bp+8, v2)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14254, libc.VaList(bp+8, v2)) return int32(1) } goto _1 @@ -102850,7 +103318,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = int32(1) } } - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14189, *(*uintptr)(unsafe.Pointer(bp + 52))) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14282, *(*uintptr)(unsafe.Pointer(bp + 52))) if _sqlite3FixSrcList(tls, bp, pTblName) != 0 { /* Because the parser constructs pTblName from a single identifier, ** sqlite3FixSrcList can never fail. */ @@ -102862,7 +103330,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } if iDb == int32(1) && (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FpSchema != (*TTable)(unsafe.Pointer(pTab)).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14195, libc.VaList(bp+80, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14288, libc.VaList(bp+80, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if !((*TTable)(unsafe.Pointer(pTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { @@ -102879,16 +103347,16 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16 _ = libc.Int32FromInt32(0) - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14245, libc.VaList(bp+80, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14338, libc.VaList(bp+80, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14273, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14366, 0) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14298, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14391, 0) goto exit_create_index } /* @@ -102910,19 +103378,19 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } _ = libc.Int32FromInt32(0) - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14189, (*TTable)(unsafe.Pointer(pTab)).FzName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14282, (*TTable)(unsafe.Pointer(pTab)).FzName) { goto exit_create_index } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if !((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0) { if _sqlite3FindTable(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14332, libc.VaList(bp+80, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14425, libc.VaList(bp+80, zName)) goto exit_create_index } } if _sqlite3FindIndex(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { if !(ifNotExist != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14366, libc.VaList(bp+80, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14459, libc.VaList(bp+80, zName)) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -102944,7 +103412,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pLoop = (*TIndex)(unsafe.Pointer(pLoop)).FpNext n++ } - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14390, libc.VaList(bp+80, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14483, libc.VaList(bp+80, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) if zName == uintptr(0) { goto exit_create_index } @@ -102962,9 +103430,9 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { zDb = (*TDb)(unsafe.Pointer(pDb)).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6533 + v2 = __ccgo_ts + 6597 } else { - v2 = __ccgo_ts + 6066 + v2 = __ccgo_ts + 6130 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v2, uintptr(0), zDb) != 0 { goto exit_create_index @@ -102993,7 +103461,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u _ = libc.Int32FromInt32(0) _sqlite3ExprListSetSortOrder(tls, pList, sortOrder, -int32(1)) } else { - _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14189) + _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14282) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { goto exit_create_index } @@ -103083,7 +103551,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pCExpr = _sqlite3ExprSkipCollate(tls, (*TExprList_item)(unsafe.Pointer(pListItem)).FpExpr) if int32((*TExpr)(unsafe.Pointer(pCExpr)).Fop) != int32(TK_COLUMN) { if pTab == (*TParse)(unsafe.Pointer(pParse)).FpNewTable { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14413, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14506, 0) goto exit_create_index } if (*TIndex)(unsafe.Pointer(pIndex)).FaColExpr == uintptr(0) { @@ -103240,7 +103708,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u ** explicitly specified behavior for the index. */ if !(int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) || int32((*TIndex)(unsafe.Pointer(pIndex)).FonError) == int32(OE_Default)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14474, libc.VaList(bp+80, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14567, libc.VaList(bp+80, 0)) } if int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) { (*TIndex)(unsafe.Pointer(pIdx)).FonError = (*TIndex)(unsafe.Pointer(pIndex)).FonError @@ -103273,8 +103741,8 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != uintptr(0) { (*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14516, 0) - (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125123)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14609, 0) + (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125741)) goto exit_create_index } } @@ -103315,11 +103783,11 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* A named index with an explicit CREATE INDEX statement */ if onError == OE_None { - v13 = __ccgo_ts + 1648 + v13 = __ccgo_ts + 1662 } else { - v13 = __ccgo_ts + 14533 + v13 = __ccgo_ts + 14626 } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14541, libc.VaList(bp+80, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 52)))).Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14634, libc.VaList(bp+80, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 52)))).Fz)) } else { /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ /* zStmt = sqlite3MPrintf(""); */ @@ -103327,7 +103795,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* Add an entry in sqlite_schema for this index */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14561, libc.VaList(bp+80, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14654, libc.VaList(bp+80, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) _sqlite3DbFree(tls, db, zStmt) /* Fill the index with data and reparse the schema. Code an OP_Expire ** to invalidate all pre-compiled statements. @@ -103335,7 +103803,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != 0 { _sqlite3RefillIndex(tls, pParse, pIndex, iMem) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14620, libc.VaList(bp+80, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14713, libc.VaList(bp+80, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Expire), 0, int32(1)) } _sqlite3VdbeJumpHere(tls, v, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum)) @@ -103505,7 +103973,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pIndex = _sqlite3FindIndex(tls, db, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzName, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) if pIndex == uintptr(0) { if !(ifExists != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14647, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14740, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) _sqlite3ForceNotReadOnly(tls, pParse) @@ -103514,7 +103982,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in goto exit_drop_index } if int32(uint32(*(*uint16)(unsafe.Pointer(pIndex + 56))&0x3>>0)) != SQLITE_IDXTYPE_APPDEF { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14665, libc.VaList(bp+8, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14758, libc.VaList(bp+8, 0)) goto exit_drop_index } iDb = _sqlite3SchemaToIndex(tls, db, (*TIndex)(unsafe.Pointer(pIndex)).FpSchema) @@ -103522,9 +103990,9 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pTab = (*TIndex)(unsafe.Pointer(pIndex)).FpTable zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zTab = v1 if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_DELETE), zTab, uintptr(0), zDb) != 0 { @@ -103540,8 +104008,8 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in v = _sqlite3GetVdbe(tls, pParse) if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14738, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11793, (*TIndex)(unsafe.Pointer(pIndex)).FzName) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14831, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11918, (*TIndex)(unsafe.Pointer(pIndex)).FzName) _sqlite3ChangeCookie(tls, pParse, iDb) _destroyRootPage(tls, pParse, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum), iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropIndex), iDb, 0, 0, (*TIndex)(unsafe.Pointer(pIndex)).FzName, 0) @@ -103738,7 +104206,7 @@ func _sqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra nAlloc = int64(2)*int64((*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) + int64(nExtra) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc+nExtra >= int32(SQLITE_MAX_SRCLIST) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14798, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14891, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) return uintptr(0) } if nAlloc > int64(SQLITE_MAX_SRCLIST) { @@ -103975,11 +104443,11 @@ func _sqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa db = (*TParse)(unsafe.Pointer(pParse)).Fdb if !(p != 0) && pOnUsing != uintptr(0) && ((*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 || (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpUsing != 0) { if (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 { - v1 = __ccgo_ts + 14834 + v1 = __ccgo_ts + 14927 } else { - v1 = __ccgo_ts + 14837 + v1 = __ccgo_ts + 14930 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14843, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14936, libc.VaList(bp+8, v1)) goto append_from_error } p = _sqlite3SrcListAppend(tls, pParse, p, pTable, pDatabase) @@ -104196,7 +104664,7 @@ func _sqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { _ = libc.Int32FromInt32(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb _ = libc.Int32FromInt32(0) - if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14879, uintptr(0), uintptr(0)) != 0 { + if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14972, uintptr(0), uintptr(0)) != 0 { return } v = _sqlite3GetVdbe(tls, pParse) @@ -104246,9 +104714,9 @@ func _sqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { _ = libc.Int32FromInt32(0) isRollback = libc.BoolInt32(eType == int32(TK_ROLLBACK)) if isRollback != 0 { - v1 = __ccgo_ts + 14885 + v1 = __ccgo_ts + 14978 } else { - v1 = __ccgo_ts + 14894 + v1 = __ccgo_ts + 14987 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), v1, uintptr(0), uintptr(0)) != 0 { return @@ -104281,9 +104749,9 @@ func _sqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } var _az = [3]uintptr{ - 0: __ccgo_ts + 14879, - 1: __ccgo_ts + 14901, - 2: __ccgo_ts + 14885, + 0: __ccgo_ts + 14972, + 1: __ccgo_ts + 14994, + 2: __ccgo_ts + 14978, } // C documentation @@ -104303,7 +104771,7 @@ func _sqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) (r int32) { if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpBt == uintptr(0) && !((*TParse)(unsafe.Pointer(pParse)).Fexplain != 0) { rc = _sqlite3BtreeOpen(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp, 0, _flags) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14909, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15002, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = rc return int32(1) } @@ -104494,7 +104962,7 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable _sqlite3StrAccumInit(tls, bp, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 116))) if (*TIndex)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+14979, libc.VaList(bp+32, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15072, libc.VaList(bp+32, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) } else { j = 0 for { @@ -104504,10 +104972,10 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx _ = libc.Int32FromInt32(0) zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*12))).FzCnName if j != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+14990, int32(2)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+15083, int32(2)) } Xsqlite3_str_appendall(tls, bp, (*TTable)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp, __ccgo_ts+1661, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+1675, int32(1)) Xsqlite3_str_appendall(tls, bp, zCol) goto _1 _1: @@ -104536,10 +105004,10 @@ func _sqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr _, _ = rc, zMsg if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12381, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*12))).FzCnName)) + zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12506, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*12))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(6)< libc.BoolInt32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15109, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15202, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } return 0 } @@ -105668,11 +106136,11 @@ func _sqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger ui bp := tls.Alloc(16) defer tls.Free(16) if _tabIsReadOnly(tls, pParse, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15142, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15235, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && (pTrigger == uintptr(0) || (*TTrigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 && (*TTrigger)(unsafe.Pointer(pTrigger)).FpNext == uintptr(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15171, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15264, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -106097,7 +106565,7 @@ func _sqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** invoke the callback function. */ if memCnt != 0 { - _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15209) + _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15302) } goto delete_from_cleanup delete_from_cleanup: @@ -106246,7 +106714,7 @@ func _sqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri v3 = 0 } _sqlite3VdbeAddOp2(tls, v, int32(OP_Delete), iDataCur, v3) - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11582) { + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11707) { _sqlite3VdbeAppendP4(tls, v, pTab, -int32(5)) } if int32(eMode) != ONEPASS_OFF { @@ -106564,11 +107032,11 @@ func _typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } var _azType2 = [5]uintptr{ - 0: __ccgo_ts + 6306, - 1: __ccgo_ts + 6301, - 2: __ccgo_ts + 8197, - 3: __ccgo_ts + 8192, - 4: __ccgo_ts + 1634, + 0: __ccgo_ts + 6370, + 1: __ccgo_ts + 6365, + 2: __ccgo_ts + 8322, + 3: __ccgo_ts + 8317, + 4: __ccgo_ts + 1648, } // C documentation @@ -106685,7 +107153,7 @@ func _absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* IMP: R-31676-45509 If X is the integer -9223372036854775808 ** then abs(X) throws an integer overflow error since there is no ** equivalent positive 64-bit two complement value. */ - Xsqlite3_result_error(tls, context, __ccgo_ts+15222, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15315, -int32(1)) return } iVal = -iVal @@ -107004,7 +107472,7 @@ func _roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } *(*float64)(unsafe.Pointer(bp)) = float64(int64(*(*float64)(unsafe.Pointer(bp)) + v1)) } else { - zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15239, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) + zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15332, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -107588,7 +108056,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { */ nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer(db + 116 + 8*4)) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15245, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15338, -int32(1)) return } if argc == int32(3) { @@ -107600,7 +108068,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { return } if _sqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), -int32(1)) != int32(1) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15278, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15371, -int32(1)) return } escape = _sqlite3Utf8Read(tls, bp+4) @@ -107682,7 +108150,7 @@ func _errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { defer tls.Free(16) _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))))) } // C documentation @@ -107772,17 +108240,17 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_FLOAT): r1 = Xsqlite3_value_double(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15323, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15416, libc.VaList(bp+16, r1)) zVal = Xsqlite3_str_value(tls, pStr) if zVal != 0 { _sqlite3AtoF(tls, zVal, bp, int32((*TStrAccum)(unsafe.Pointer(pStr)).FnChar), uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp)) { Xsqlite3_str_reset(tls, pStr) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15331, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15424, libc.VaList(bp+16, r1)) } } case int32(SQLITE_INTEGER): - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1404, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1423, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) case int32(SQLITE_BLOB): zBlob = Xsqlite3_value_blob(tls, pValue) nBlob = int64(Xsqlite3_value_bytes(tls, pValue)) @@ -107810,10 +108278,10 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { } case int32(SQLITE_TEXT): zArg = Xsqlite3_value_text(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15339, libc.VaList(bp+16, zArg)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15432, libc.VaList(bp+16, zArg)) default: _ = libc.Int32FromInt32(0) - Xsqlite3_str_append(tls, pStr, __ccgo_ts+1649, int32(4)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+1663, int32(4)) break } } @@ -108052,7 +108520,7 @@ func _unhexFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { var v3 uint32 var _ /* zHex at bp+0 */ uintptr _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ch, d, nHex, nPass, p, pBlob, zPass, v1, v2, v3, v4, v5, v6 - zPass = __ccgo_ts + 1648 + zPass = __ccgo_ts + 1662 nPass = 0 *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) nHex = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -108378,7 +108846,7 @@ var _lenOne = [1]uint32{ } var _azOne = [1]uintptr{ - 0: __ccgo_ts + 11202, + 0: __ccgo_ts + 11327, } // C documentation @@ -108447,7 +108915,7 @@ func _concatFuncCore(tls *libc.TLS, context uintptr, argc int32, argv uintptr, n // ** concatentation of all non-null arguments. // */ func _concatFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1648) + _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1662) } // C documentation @@ -108494,7 +108962,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { _ = libc.Int32FromInt32(0) zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = __ccgo_ts + 1648 + zIn = __ccgo_ts + 1662 } i = 0 for { @@ -108540,7 +109008,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { /* IMP: R-64894-50321 The string "?000" is returned if the argument ** is NULL or contains no ASCII alphabetic characters. */ - Xsqlite3_result_text(tls, context, __ccgo_ts+15342, int32(4), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, context, __ccgo_ts+15435, int32(4), libc.UintptrFromInt32(0)) } } @@ -108601,7 +109069,7 @@ func _loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { ** flag is set. See the sqlite3_enable_load_extension() API. */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_LoadExtFunc) == uint64(0) { - Xsqlite3_result_error(tls, context, __ccgo_ts+12420, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+12545, -int32(1)) return } if argc == int32(2) { @@ -108793,7 +109261,7 @@ func _sumFinalize(tls *libc.TLS, context uintptr) { if p != 0 && (*TSumCtx)(unsafe.Pointer(p)).Fcnt > 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fapprox != 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fovrfl != 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+15222, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15315, -int32(1)) } else { if !(_sqlite3IsOverflow(tls, (*TSumCtx)(unsafe.Pointer(p)).FrErr) != 0) { Xsqlite3_result_double(tls, context, (*TSumCtx)(unsafe.Pointer(p)).FrSum+(*TSumCtx)(unsafe.Pointer(p)).FrErr) @@ -109139,7 +109607,7 @@ func _groupConcatValue(tls *libc.TLS, context uintptr) { func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { var rc int32 _ = rc - rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15347, int32(2)) + rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15440, int32(2)) _ = libc.Int32FromInt32(0) if rc == int32(SQLITE_NOMEM) { _sqlite3OomFault(tls, db) @@ -109169,8 +109637,8 @@ func _sqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 if !(nArg <= int32(3)) { break } - _sqlite3CreateFunc(tls, db, __ccgo_ts+15353, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15353, nArg, uint8(SQLITE_UTF8), uint8(0)) + _sqlite3CreateFunc(tls, db, __ccgo_ts+15446, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15446, nArg, uint8(SQLITE_UTF8), uint8(0)) *(*Tu32)(unsafe.Pointer(pDef + 4)) |= uint32(flags) *(*Tu32)(unsafe.Pointer(pDef + 4)) &= uint32(^libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)) goto _1 @@ -109490,562 +109958,562 @@ var _aBuiltinFunc = [110]TFuncDef{ FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_implies_nonnull_row)), - FzName: __ccgo_ts + 15358, + FzName: __ccgo_ts + 15451, }, 1: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_expr_compare)), - FzName: __ccgo_ts + 15378, + FzName: __ccgo_ts + 15471, }, 2: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_expr_implies_expr)), - FzName: __ccgo_ts + 15391, + FzName: __ccgo_ts + 15484, }, 3: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_affinity)), - FzName: __ccgo_ts + 15409, + FzName: __ccgo_ts + 15502, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15418, + FzName: __ccgo_ts + 15511, }, 5: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15426, + FzName: __ccgo_ts + 15519, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15426, + FzName: __ccgo_ts + 15519, }, 7: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15441, + FzName: __ccgo_ts + 15534, }, 8: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15467, + FzName: __ccgo_ts + 15560, }, 9: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_unlikely)), - FzName: __ccgo_ts + 15492, + FzName: __ccgo_ts + 15585, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_unlikely)), - FzName: __ccgo_ts + 15501, + FzName: __ccgo_ts + 15594, }, 11: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_unlikely)), - FzName: __ccgo_ts + 15512, + FzName: __ccgo_ts + 15605, }, 12: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_sqlite_offset)), - FzName: __ccgo_ts + 15519, + FzName: __ccgo_ts + 15612, }, 13: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(1)), - FzName: __ccgo_ts + 15533, + FzName: __ccgo_ts + 15626, }, 14: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(1)), - FzName: __ccgo_ts + 15533, + FzName: __ccgo_ts + 15626, }, 15: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(2)), - FzName: __ccgo_ts + 15539, + FzName: __ccgo_ts + 15632, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(2)), - FzName: __ccgo_ts + 15539, + FzName: __ccgo_ts + 15632, }, 17: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(3)), - FzName: __ccgo_ts + 15545, + FzName: __ccgo_ts + 15638, }, 18: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(3)), - FzName: __ccgo_ts + 15545, + FzName: __ccgo_ts + 15638, }, 19: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15550, + FzName: __ccgo_ts + 15643, }, 20: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15550, + FzName: __ccgo_ts + 15643, }, 21: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15550, + FzName: __ccgo_ts + 15643, }, 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(1)), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 23: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(1)), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 24: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), FpUserData: uintptr(libc.Int32FromInt32(1)), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 25: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15558, + FzName: __ccgo_ts + 15651, }, 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15565, + FzName: __ccgo_ts + 15658, }, 27: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_LENGTH)), - FzName: __ccgo_ts + 15573, + FzName: __ccgo_ts + 15666, }, 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_BYTELEN)), - FzName: __ccgo_ts + 15580, + FzName: __ccgo_ts + 15673, }, 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15593, + FzName: __ccgo_ts + 15686, }, 30: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15599, + FzName: __ccgo_ts + 15692, }, 31: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15606, + FzName: __ccgo_ts + 15699, }, 32: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15613, + FzName: __ccgo_ts + 15706, }, 33: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15621, + FzName: __ccgo_ts + 15714, }, 34: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15626, + FzName: __ccgo_ts + 15719, }, 35: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15630, + FzName: __ccgo_ts + 15723, }, 36: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15630, + FzName: __ccgo_ts + 15723, }, 37: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15636, + FzName: __ccgo_ts + 15729, }, 38: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15642, + FzName: __ccgo_ts + 15735, }, 39: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15648, + FzName: __ccgo_ts + 15741, }, 40: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15652, + FzName: __ccgo_ts + 15745, }, 41: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15652, + FzName: __ccgo_ts + 15745, }, 42: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15658, + FzName: __ccgo_ts + 15751, }, 43: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15658, + FzName: __ccgo_ts + 15751, }, 44: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15665, + FzName: __ccgo_ts + 15758, }, 45: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15665, + FzName: __ccgo_ts + 15758, }, 46: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15665, + FzName: __ccgo_ts + 15758, }, 47: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15675, + FzName: __ccgo_ts + 15768, }, 48: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15682, + FzName: __ccgo_ts + 15775, }, 49: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15689, + FzName: __ccgo_ts + 15782, }, 50: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15700, + FzName: __ccgo_ts + 15793, }, 51: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15707, + FzName: __ccgo_ts + 15800, }, 52: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15722, + FzName: __ccgo_ts + 15815, }, 53: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15739, + FzName: __ccgo_ts + 15832, }, 54: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15750, + FzName: __ccgo_ts + 15843, }, 55: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15756, + FzName: __ccgo_ts + 15849, }, 56: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15774, + FzName: __ccgo_ts + 15867, }, 57: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15782, + FzName: __ccgo_ts + 15875, }, 58: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15796, + FzName: __ccgo_ts + 15889, }, 59: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15804, + FzName: __ccgo_ts + 15897, }, 60: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15813, + FzName: __ccgo_ts + 15906, }, 61: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15813, + FzName: __ccgo_ts + 15906, }, 62: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15820, + FzName: __ccgo_ts + 15913, }, 63: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15820, + FzName: __ccgo_ts + 15913, }, 64: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15830, + FzName: __ccgo_ts + 15923, }, 65: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15834, + FzName: __ccgo_ts + 15927, }, 66: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15840, + FzName: __ccgo_ts + 15933, }, 67: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_COUNT) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15844, + FzName: __ccgo_ts + 15937, }, 68: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15844, + FzName: __ccgo_ts + 15937, }, 69: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15850, + FzName: __ccgo_ts + 15943, }, 70: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15850, + FzName: __ccgo_ts + 15943, }, 71: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15863, + FzName: __ccgo_ts + 15956, }, 72: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE) | libc.Int32FromInt32(SQLITE_FUNC_CASE)), FpUserData: uintptr(unsafe.Pointer(&_globInfo)), - FzName: __ccgo_ts + 15874, + FzName: __ccgo_ts + 15967, }, 73: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15353, + FzName: __ccgo_ts + 15446, }, 74: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15353, + FzName: __ccgo_ts + 15446, }, 75: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6730, + FzName: __ccgo_ts + 6794, }, 76: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6730, + FzName: __ccgo_ts + 6794, }, 77: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15879, + FzName: __ccgo_ts + 15972, }, 78: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15884, + FzName: __ccgo_ts + 1235, }, 79: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15892, + FzName: __ccgo_ts + 1243, }, 80: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15898, + FzName: __ccgo_ts + 15977, }, 81: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15904, + FzName: __ccgo_ts + 15983, }, 82: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(1)), - FzName: __ccgo_ts + 15907, + FzName: __ccgo_ts + 15986, }, 83: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(1)), - FzName: __ccgo_ts + 15911, + FzName: __ccgo_ts + 15990, }, 84: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(2)), - FzName: __ccgo_ts + 15917, + FzName: __ccgo_ts + 15996, }, 85: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15907, + FzName: __ccgo_ts + 15986, }, 86: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15922, + FzName: __ccgo_ts + 16001, }, 87: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15926, + FzName: __ccgo_ts + 16005, }, 88: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15930, + FzName: __ccgo_ts + 16009, }, 89: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15936, + FzName: __ccgo_ts + 16015, }, 90: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15940, + FzName: __ccgo_ts + 16019, }, 91: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15945, + FzName: __ccgo_ts + 16024, }, 92: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15950, + FzName: __ccgo_ts + 16029, }, 93: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15955, + FzName: __ccgo_ts + 16034, }, 94: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15961, + FzName: __ccgo_ts + 16040, }, 95: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15965, + FzName: __ccgo_ts + 16044, }, 96: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15969, + FzName: __ccgo_ts + 16048, }, 97: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15973, + FzName: __ccgo_ts + 16052, }, 98: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15978, + FzName: __ccgo_ts + 16057, }, 99: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15983, + FzName: __ccgo_ts + 16062, }, 100: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15988, + FzName: __ccgo_ts + 16067, }, 101: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15994, + FzName: __ccgo_ts + 16073, }, 102: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16000, + FzName: __ccgo_ts + 16079, }, 103: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16006, + FzName: __ccgo_ts + 16085, }, 104: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16011, + FzName: __ccgo_ts + 16090, }, 105: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16019, + FzName: __ccgo_ts + 16098, }, 106: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16027, + FzName: __ccgo_ts + 16106, }, 107: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16030, + FzName: __ccgo_ts + 16109, }, 108: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 6730, + FzName: __ccgo_ts + 6794, }, 109: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_iif)), - FzName: __ccgo_ts + 16035, + FzName: __ccgo_ts + 16114, }, } @@ -110526,7 +110994,7 @@ func _sqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey } if !(pIdx != 0) { if !((*TParse)(unsafe.Pointer(pParse)).FdisableTriggers != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16039, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16118, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) } _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, aiCol) return int32(1) @@ -111658,11 +112126,11 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr break } *(*TToken)(unsafe.Pointer(bp + 8)) = TToken{ - Fz: __ccgo_ts + 6596, + Fz: __ccgo_ts + 6660, Fn: uint32(3), } /* Literal "old" token */ *(*TToken)(unsafe.Pointer(bp + 16)) = TToken{ - Fz: __ccgo_ts + 6592, + Fz: __ccgo_ts + 6656, Fn: uint32(3), } /* tFromCol = OLD.tToCol */ if *(*uintptr)(unsafe.Pointer(bp + 4)) != 0 { @@ -111729,7 +112197,7 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr nFrom = _sqlite3Strlen30(tls, zFrom) if action == int32(OE_Restrict) { iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5225) + pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5289) if pRaise != 0 { (*TExpr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -112337,7 +112805,7 @@ func _sqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8162, libc.VaList(bp+40, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8287, libc.VaList(bp+40, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) } (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -112604,6 +113072,226 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { } } +// C documentation +// +// /* +// ** If argument pVal is a Select object returned by an sqlite3MultiValues() +// ** that was able to use the co-routine optimization, finish coding the +// ** co-routine. +// */ +func _sqlite3MultiValuesEnd(tls *libc.TLS, pParse uintptr, pVal uintptr) { + var pItem uintptr + _ = pItem + if pVal != 0 && (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pVal)).FpSrc)).FnSrc > 0 { + pItem = (*TSelect)(unsafe.Pointer(pVal)).FpSrc + 8 + _sqlite3VdbeEndCoroutine(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn) + _sqlite3VdbeJumpHere(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FaddrFillSub-int32(1)) + } +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are constant. +// */ +func _exprListIsConstant(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + if 0 == _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*20))).FpExpr) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are both constant and have no affinity. +// */ +func _exprListIsNoAffinity(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + var pExpr uintptr + _, _ = ii, pExpr + if _exprListIsConstant(tls, pParse, pRow) == 0 { + return 0 + } + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + pExpr = (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*20))).FpExpr + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if 0 != int32(_sqlite3ExprAffinity(tls, pExpr)) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** This function is called by the parser for the second and subsequent +// ** rows of a multi-row VALUES clause. Argument pLeft is the part of +// ** the VALUES clause already parsed, argument pRow is the vector of values +// ** for the new row. The Select object returned represents the complete +// ** VALUES clause, including the new row. +// ** +// ** There are two ways in which this may be achieved - by incremental +// ** coding of a co-routine (the "co-routine" method) or by returning a +// ** Select object equivalent to the following (the "UNION ALL" method): +// ** +// ** "pLeft UNION ALL SELECT pRow" +// ** +// ** If the VALUES clause contains a lot of rows, this compound Select +// ** object may consume a lot of memory. +// ** +// ** When the co-routine method is used, each row that will be returned +// ** by the VALUES clause is coded into part of a co-routine as it is +// ** passed to this function. The returned Select object is equivalent to: +// ** +// ** SELECT * FROM ( +// ** Select object to read co-routine +// ** ) +// ** +// ** The co-routine method is used in most cases. Exceptions are: +// ** +// ** a) If the current statement has a WITH clause. This is to avoid +// ** statements like: +// ** +// ** WITH cte AS ( VALUES('x'), ('y') ... ) +// ** SELECT * FROM cte AS a, cte AS b; +// ** +// ** This will not work, as the co-routine uses a hard-coded register +// ** for its OP_Yield instructions, and so it is not possible for two +// ** cursors to iterate through it concurrently. +// ** +// ** b) The schema is currently being parsed (i.e. the VALUES clause is part +// ** of a schema item like a VIEW or TRIGGER). In this case there is no VM +// ** being generated when parsing is taking place, and so generating +// ** a co-routine is not possible. +// ** +// ** c) There are non-constant expressions in the VALUES clause (e.g. +// ** the VALUES clause is part of a correlated sub-query). +// ** +// ** d) One or more of the values in the first row of the VALUES clause +// ** has an affinity (i.e. is a CAST expression). This causes problems +// ** because the complex rules SQLite uses (see function +// ** sqlite3SubqueryColumnTypes() in select.c) to determine the effective +// ** affinity of such a column for all rows require access to all values in +// ** the column simultaneously. +// */ +func _sqlite3MultiValues(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRow uintptr) (r uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var f, v1 int32 + var p, pRet, pSelect, v, v2 uintptr + var _ /* dest at bp+0 */ TSelectDest + _, _, _, _, _, _, _ = f, p, pRet, pSelect, v, v1, v2 + if (*TParse)(unsafe.Pointer(pParse)).FbHasWith != 0 || (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy != 0 || _exprListIsConstant(tls, pParse, pRow) == 0 || (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 && _exprListIsNoAffinity(tls, pParse, (*TSelect)(unsafe.Pointer(pLeft)).FpEList) == 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { + /* The co-routine method cannot be used. Fall back to UNION ALL. */ + pSelect = uintptr(0) + f = libc.Int32FromInt32(SF_Values) | libc.Int32FromInt32(SF_MultiValue) + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc != 0 { + _sqlite3MultiValuesEnd(tls, pParse, pLeft) + f = int32(SF_Values) + } else { + if (*TSelect)(unsafe.Pointer(pLeft)).FpPrior != 0 { + /* In this case set the SF_MultiValue flag only if it was set on pLeft */ + f = int32(uint32(f) & (*TSelect)(unsafe.Pointer(pLeft)).FselFlags) + } + } + pSelect = _sqlite3SelectNew(tls, pParse, pRow, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(f), uintptr(0)) + *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) + if pSelect != 0 { + (*TSelect)(unsafe.Pointer(pSelect)).Fop = uint8(TK_ALL) + (*TSelect)(unsafe.Pointer(pSelect)).FpPrior = pLeft + pLeft = pSelect + } + } else { + p = uintptr(0) /* SrcItem that reads from co-routine */ + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 { + /* Co-routine has not yet been started and the special Select object + ** that accesses the co-routine has not yet been created. This block + ** does both those things. */ + v = _sqlite3GetVdbe(tls, pParse) + pRet = _sqlite3SelectNew(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) + /* Ensure the database schema has been read. This is to ensure we have + ** the correct text encoding. */ + if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmDbFlags&uint32(DBFLAG_SchemaKnownOk) == uint32(0) { + _sqlite3ReadSchema(tls, pParse) + } + if pRet != 0 { + (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pRet)).FpSrc)).FnSrc = int32(1) + (*TSelect)(unsafe.Pointer(pRet)).FpPrior = (*TSelect)(unsafe.Pointer(pLeft)).FpPrior + (*TSelect)(unsafe.Pointer(pRet)).Fop = (*TSelect)(unsafe.Pointer(pLeft)).Fop + (*TSelect)(unsafe.Pointer(pLeft)).FpPrior = uintptr(0) + (*TSelect)(unsafe.Pointer(pLeft)).Fop = uint8(TK_SELECT) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + p = (*TSelect)(unsafe.Pointer(pRet)).FpSrc + 8 + (*TSrcItem)(unsafe.Pointer(p)).FpSelect = pLeft + libc.SetBitFieldPtr16Uint32(p+36+4, libc.Uint32FromInt32(1), 5, 0x20) + (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + v2 = pParse + 44 + *(*int32)(unsafe.Pointer(v2))++ + v1 = *(*int32)(unsafe.Pointer(v2)) + (*TSrcItem)(unsafe.Pointer(p)).FregReturn = v1 + (*TSrcItem)(unsafe.Pointer(p)).FiCursor = -int32(1) + *(*Tu32)(unsafe.Pointer(p + 60)) = uint32(2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn, 0, (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub) + _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + /* Allocate registers for the output of the co-routine. Do so so + ** that there are two unused registers immediately before those + ** used by the co-routine. This allows the code in sqlite3Insert() + ** to use these registers directly, instead of copying the output + ** of the co-routine to a separate array for processing. */ + (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(3) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpEList)).FnExpr + *(*int32)(unsafe.Pointer(pParse + 44)) += int32(2) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst + *(*Tu32)(unsafe.Pointer(pLeft + 4)) |= uint32(SF_MultiValue) + _sqlite3Select(tls, pParse, pLeft, bp) + (*TSrcItem)(unsafe.Pointer(p)).FregResult = (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst + _ = libc.Int32FromInt32(0) + pLeft = pRet + } + } else { + p = (*TSelect)(unsafe.Pointer(pLeft)).FpSrc + 8 + _ = libc.Int32FromInt32(0) + *(*Tu32)(unsafe.Pointer(p + 60))++ + } + if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { + _ = libc.Int32FromInt32(0) + if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p)).FpSelect)).FpEList)).FnExpr != (*TExprList)(unsafe.Pointer(pRow)).FnExpr { + _sqlite3SelectWrongNumTermsError(tls, pParse, (*TSrcItem)(unsafe.Pointer(p)).FpSelect) + } else { + _sqlite3ExprCodeExprList(tls, pParse, pRow, (*TSrcItem)(unsafe.Pointer(p)).FregResult, 0, uint8(0)) + _sqlite3VdbeAddOp1(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Yield), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + } + } + _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pRow) + } + return pLeft +} + // C documentation // // /* @@ -112706,27 +113394,27 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { bp := tls.Alloc(112) defer tls.Free(112) - var aRegIdx, db, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, v, v13, v16, v18, v6, v9 uintptr - var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v12, v15, v17, v19, v23, v24, v5, v7, v8 int32 + var aRegIdx, db, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, v, v10, v14, v17, v19, v7 uintptr + var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v13, v16, v18, v20, v24, v25, v5, v6, v8, v9 int32 var appendFlag, bIdListInOrder, useTempTable, withoutRowid Tu8 - var colFlags, v21 Tu32 + var colFlags, v22 Tu32 var _ /* dest at bp+8 */ TSelectDest var _ /* iDataCur at bp+0 */ int32 var _ /* iIdxCur at bp+4 */ int32 var _ /* isReplace at bp+76 */ int32 var _ /* sNC at bp+40 */ TNameContext var _ /* tmask at bp+36 */ int32 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v12, v13, v15, v16, v17, v18, v19, v21, v23, v24, v5, v6, v7, v8, v9 /* Number of columns in the data */ - nHidden = 0 /* Number of hidden columns if TABLE is virtual */ - *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ - *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ - ipkColumn = -int32(1) /* Label for the end of the insertion loop */ - srcTab = 0 /* Data comes from this temporary cursor if >=0 */ - addrInsTop = 0 /* Jump to label "D" */ - addrCont = 0 /* Index of database holding TABLE */ - useTempTable = uint8(0) /* Store SELECT results in intermediate table */ - appendFlag = uint8(0) /* True if IDLIST is in table order */ - pList = uintptr(0) /* Register in which to store next column */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v10, v13, v14, v16, v17, v18, v19, v20, v22, v24, v25, v5, v6, v7, v8, v9 /* Number of columns in the data */ + nHidden = 0 /* Number of hidden columns if TABLE is virtual */ + *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ + *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ + ipkColumn = -int32(1) /* Label for the end of the insertion loop */ + srcTab = 0 /* Data comes from this temporary cursor if >=0 */ + addrInsTop = 0 /* Jump to label "D" */ + addrCont = 0 /* Index of database holding TABLE */ + useTempTable = uint8(0) /* Store SELECT results in intermediate table */ + appendFlag = uint8(0) /* True if IDLIST is in table order */ + pList = uintptr(0) /* Register in which to store next column */ /* Register allocations */ regFromSelect = 0 /* Base register for data coming from SELECT */ regAutoinc = 0 /* Register holding the AUTOINCREMENT counter */ @@ -112873,7 +113561,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _ = libc.Int32FromInt32(0) } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*12))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_STORED)|libc.Int32FromInt32(COLFLAG_VIRTUAL)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16084, libc.VaList(bp+88, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*12))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16163, libc.VaList(bp+88, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*12))).FzCnName)) goto insert_cleanup } break @@ -112888,7 +113576,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i bIdListInOrder = uint8(0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16125, libc.VaList(bp+88, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*8))).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16204, libc.VaList(bp+88, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*8))).FzName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto insert_cleanup } @@ -112905,31 +113593,49 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** co-routine is the common header to the 3rd and 4th templates. */ if pSelect != 0 { /* Result code */ - v6 = pParse + 44 - *(*int32)(unsafe.Pointer(v6))++ - v5 = *(*int32)(unsafe.Pointer(v6)) - regYield = v5 - addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) - _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) - _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) - if bIdListInOrder != 0 { - v7 = regData + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc)).FnSrc == int32(1) && int32(uint32(*(*uint16)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + 36 + 4))&0x20>>5)) != 0 && (*TSelect)(unsafe.Pointer(pSelect)).FpPrior == uintptr(0) { + pItem = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSDParm = (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn + regFromSelect = (*TSrcItem)(unsafe.Pointer(pItem)).FregResult + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FpEList)).FnExpr + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+16236, libc.VaList(bp+88, pItem)) + if bIdListInOrder != 0 && nColumn == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { + regData = regFromSelect + regRowid = regData - int32(1) + if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { + v5 = int32(1) + } else { + v5 = 0 + } + regIns = regRowid - v5 + } } else { - v7 = 0 - } - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v7 - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) - rc = _sqlite3Select(tls, pParse, pSelect, bp+8) - regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst - _ = libc.Int32FromInt32(0) - if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { - goto insert_cleanup + v7 = pParse + 44 + *(*int32)(unsafe.Pointer(v7))++ + v6 = *(*int32)(unsafe.Pointer(v7)) /* Top of the co-routine */ + regYield = v6 + addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) + _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) + if bIdListInOrder != 0 { + v8 = regData + } else { + v8 = 0 + } + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) + rc = _sqlite3Select(tls, pParse, pSelect, bp+8) + regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst + _ = libc.Int32FromInt32(0) + if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { + goto insert_cleanup + } + _ = libc.Int32FromInt32(0) + _sqlite3VdbeEndCoroutine(tls, v, regYield) + _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ + _ = libc.Int32FromInt32(0) + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr } - _ = libc.Int32FromInt32(0) - _sqlite3VdbeEndCoroutine(tls, v, regYield) - _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ - _ = libc.Int32FromInt32(0) - nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr /* Set useTempTable to TRUE if the result of the SELECT statement ** should be written into a temporary table (template 4). Set to ** FALSE if each output row of the SELECT can be written directly into @@ -112943,10 +113649,10 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin useTempTable = uint8(1) } if useTempTable != 0 { /* Label "L" */ - v9 = pParse + 40 - v8 = *(*int32)(unsafe.Pointer(v9)) - *(*int32)(unsafe.Pointer(v9))++ - srcTab = v8 + v10 = pParse + 40 + v9 = *(*int32)(unsafe.Pointer(v10)) + *(*int32)(unsafe.Pointer(v10))++ + srcTab = v9 regRec = _sqlite3GetTempReg(tls, pParse) regTempRowid = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp2(tls, v, int32(OP_OpenEphemeral), srcTab, nColumn) @@ -112988,8 +113694,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*12))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { ipkColumn-- } - goto _10 - _10: + goto _11 + _11: ; i-- } @@ -113009,28 +113715,28 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*12))).FcolFlags)&int32(COLFLAG_NOINSERT) != 0 { nHidden++ } - goto _11 - _11: + goto _12 + _12: ; i++ } } if nColumn != int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16157, libc.VaList(bp+88, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16244, libc.VaList(bp+88, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) goto insert_cleanup } } if pColumn != uintptr(0) && nColumn != (*TIdList)(unsafe.Pointer(pColumn)).FnId { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16209, libc.VaList(bp+88, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16296, libc.VaList(bp+88, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup } /* Initialize the count of rows to be inserted */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&(uint64(libc.Int32FromInt32(0x00001))<= 0 { /* tag-20191021-001: If the INTEGER PRIMARY KEY is being generated by the ** SELECT, go ahead and copy the value into the rowid slot now, so that @@ -113146,18 +113852,18 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** using excess space. The file format definition requires this extra ** NULL - we cannot optimize further by skipping the column completely */ _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) - goto _20 + goto _21 } - v21 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*12))).FcolFlags) - colFlags = v21 - if v21&uint32(COLFLAG_NOINSERT) != uint32(0) { + v22 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*12))).FcolFlags) + colFlags = v22 + if v22&uint32(COLFLAG_NOINSERT) != uint32(0) { nHidden++ if colFlags&uint32(COLFLAG_VIRTUAL) != uint32(0) { /* Virtual columns do not participate in OP_MakeRecord. So back up ** iRegStore by one slot to compensate for the iRegStore++ in the ** outer for() loop */ iRegStore-- - goto _20 + goto _21 } else { if colFlags&uint32(COLFLAG_STORED) != uint32(0) { /* Stored columns are computed later. But if there are BEFORE @@ -113167,13 +113873,13 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if *(*int32)(unsafe.Pointer(bp + 36))&int32(TRIGGER_BEFORE) != 0 { _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) } - goto _20 + goto _21 } else { if pColumn == uintptr(0) { /* Hidden columns that are not explicitly named in the INSERT ** get there default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*12), iRegStore) - goto _20 + goto _21 } } } @@ -113185,8 +113891,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if !(j < (*TIdList)(unsafe.Pointer(pColumn)).FnId && *(*int32)(unsafe.Pointer(pColumn + 8 + uintptr(j)*8 + 4)) != i) { break } - goto _22 - _22: + goto _23 + _23: ; j++ } @@ -113194,14 +113900,14 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin /* A column not named in the insert column list gets its ** default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*12), iRegStore) - goto _20 + goto _21 } k = j } else { if nColumn == 0 { /* This is INSERT INTO ... DEFAULT VALUES. Load the default value. */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*12), iRegStore) - goto _20 + goto _21 } else { k = i - nHidden } @@ -113218,16 +113924,16 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin y = _sqlite3ExprCodeTarget(tls, pParse, pX, iRegStore) if y != iRegStore { if (*TExpr)(unsafe.Pointer(pX)).Fflags&uint32(libc.Int32FromInt32(EP_Subquery)) != uint32(0) { - v23 = int32(OP_Copy) + v24 = int32(OP_Copy) } else { - v23 = int32(OP_SCopy) + v24 = int32(OP_SCopy) } - _sqlite3VdbeAddOp2(tls, v, v23, y, iRegStore) + _sqlite3VdbeAddOp2(tls, v, v24, y, iRegStore) } } } - goto _20 - _20: + goto _21 + _21: ; i++ iRegStore++ @@ -113340,11 +114046,11 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _sqlite3VtabMakeWritable(tls, pParse, pTab) _sqlite3VdbeAddOp4(tls, v, int32(OP_VUpdate), int32(1), int32((*TTable)(unsafe.Pointer(pTab)).FnCol)+int32(2), regIns, pVTab, -int32(11)) if onError == int32(OE_Default) { - v24 = int32(OE_Abort) + v25 = int32(OE_Abort) } else { - v24 = onError + v25 = onError } - _sqlite3VdbeChangeP5(tls, v, uint16(v24)) + _sqlite3VdbeChangeP5(tls, v, uint16(v25)) _sqlite3MayAbort(tls, pParse) } else { *(*int32)(unsafe.Pointer(bp + 76)) = 0 /* True to use OPFLAG_SEEKRESULT */ @@ -113403,7 +114109,7 @@ insert_end: ** invoke the callback function. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16301) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16388) } goto insert_cleanup insert_cleanup: @@ -113802,7 +114508,7 @@ func _sqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case int32(OE_Rollback): fallthrough case int32(OE_Fail): - zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12381, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12506, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) _sqlite3VdbeAddOp3(tls, v, int32(OP_HaltIfNull), libc.Int32FromInt32(SQLITE_CONSTRAINT)|libc.Int32FromInt32(5)<= 0 && !(int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile)))) == libc.Int32FromUint8('/'))) { @@ -116078,7 +116784,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp iFile-- } iFile++ - if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16350, int32(3)) == 0 { + if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16437, int32(3)) == 0 { iFile += int32(3) } iEntry = int32(8) @@ -116098,7 +116804,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp ; iFile++ } - libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16354, uint32(6)) + libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16441, uint32(6)) zEntry = zAltEntry xInit = _sqlite3OsDlSym(tls, pVfs, handle, zEntry) } @@ -116110,7 +116816,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v7 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16360, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16447, libc.VaList(bp+16, zEntry, zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116125,7 +116831,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp return SQLITE_OK } if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16403, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16490, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3OsDlClose(tls, pVfs, handle) @@ -116156,7 +116862,7 @@ extension_not_found: *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v10 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16435, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16522, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116165,7 +116871,7 @@ extension_not_found: /* Shared library endings to try if zFile cannot be loaded as written */ var _azEndings = [1]uintptr{ - 0: __ccgo_ts + 16315, + 0: __ccgo_ts + 16402, } func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) (r int32) { @@ -116400,7 +117106,7 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { rc = v2 } if v3 && v2 != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16472, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16559, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -116454,63 +117160,63 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { // ** result column is different from the name of the pragma // */ var _pragCName = [57]uintptr{ - 0: __ccgo_ts + 5481, - 1: __ccgo_ts + 16511, - 2: __ccgo_ts + 9058, - 3: __ccgo_ts + 16515, - 4: __ccgo_ts + 16520, - 5: __ccgo_ts + 16523, - 6: __ccgo_ts + 16533, - 7: __ccgo_ts + 16543, - 8: __ccgo_ts + 16549, - 9: __ccgo_ts + 16553, - 10: __ccgo_ts + 16558, - 11: __ccgo_ts + 16563, - 12: __ccgo_ts + 16571, - 13: __ccgo_ts + 16582, - 14: __ccgo_ts + 16585, - 15: __ccgo_ts + 16592, - 16: __ccgo_ts + 16553, - 17: __ccgo_ts + 16558, - 18: __ccgo_ts + 16599, - 19: __ccgo_ts + 16604, - 20: __ccgo_ts + 16607, - 21: __ccgo_ts + 16614, - 22: __ccgo_ts + 16549, - 23: __ccgo_ts + 16553, - 24: __ccgo_ts + 16620, - 25: __ccgo_ts + 16625, - 26: __ccgo_ts + 16630, - 27: __ccgo_ts + 16553, - 28: __ccgo_ts + 16634, - 29: __ccgo_ts + 16558, - 30: __ccgo_ts + 16642, - 31: __ccgo_ts + 16646, - 32: __ccgo_ts + 16651, - 33: __ccgo_ts + 11797, - 34: __ccgo_ts + 11793, - 35: __ccgo_ts + 16657, - 36: __ccgo_ts + 16662, - 37: __ccgo_ts + 16667, - 38: __ccgo_ts + 16511, - 39: __ccgo_ts + 16553, - 40: __ccgo_ts + 16672, - 41: __ccgo_ts + 16679, - 42: __ccgo_ts + 16686, - 43: __ccgo_ts + 9058, - 44: __ccgo_ts + 16694, - 45: __ccgo_ts + 5484, - 46: __ccgo_ts + 16700, - 47: __ccgo_ts + 16511, - 48: __ccgo_ts + 16553, - 49: __ccgo_ts + 16705, - 50: __ccgo_ts + 16710, - 51: __ccgo_ts + 15907, - 52: __ccgo_ts + 16715, - 53: __ccgo_ts + 16728, - 54: __ccgo_ts + 16737, - 55: __ccgo_ts + 16744, - 56: __ccgo_ts + 16755, + 0: __ccgo_ts + 5545, + 1: __ccgo_ts + 16598, + 2: __ccgo_ts + 9183, + 3: __ccgo_ts + 16602, + 4: __ccgo_ts + 16607, + 5: __ccgo_ts + 16610, + 6: __ccgo_ts + 16620, + 7: __ccgo_ts + 16630, + 8: __ccgo_ts + 16636, + 9: __ccgo_ts + 16640, + 10: __ccgo_ts + 16645, + 11: __ccgo_ts + 16650, + 12: __ccgo_ts + 16658, + 13: __ccgo_ts + 16669, + 14: __ccgo_ts + 16672, + 15: __ccgo_ts + 16679, + 16: __ccgo_ts + 16640, + 17: __ccgo_ts + 16645, + 18: __ccgo_ts + 16686, + 19: __ccgo_ts + 16691, + 20: __ccgo_ts + 16694, + 21: __ccgo_ts + 16701, + 22: __ccgo_ts + 16636, + 23: __ccgo_ts + 16640, + 24: __ccgo_ts + 16707, + 25: __ccgo_ts + 16712, + 26: __ccgo_ts + 16717, + 27: __ccgo_ts + 16640, + 28: __ccgo_ts + 16721, + 29: __ccgo_ts + 16645, + 30: __ccgo_ts + 16729, + 31: __ccgo_ts + 16733, + 32: __ccgo_ts + 16738, + 33: __ccgo_ts + 11922, + 34: __ccgo_ts + 11918, + 35: __ccgo_ts + 16744, + 36: __ccgo_ts + 16749, + 37: __ccgo_ts + 16754, + 38: __ccgo_ts + 16598, + 39: __ccgo_ts + 16640, + 40: __ccgo_ts + 16759, + 41: __ccgo_ts + 16766, + 42: __ccgo_ts + 16773, + 43: __ccgo_ts + 9183, + 44: __ccgo_ts + 16781, + 45: __ccgo_ts + 5548, + 46: __ccgo_ts + 16787, + 47: __ccgo_ts + 16598, + 48: __ccgo_ts + 16640, + 49: __ccgo_ts + 16792, + 50: __ccgo_ts + 16797, + 51: __ccgo_ts + 15986, + 52: __ccgo_ts + 16802, + 53: __ccgo_ts + 16815, + 54: __ccgo_ts + 16824, + 55: __ccgo_ts + 16831, + 56: __ccgo_ts + 16842, } // C documentation @@ -116529,191 +117235,191 @@ type PragmaName = TPragmaName var _aPragmaName = [66]TPragmaName{ 0: { - FzName: __ccgo_ts + 16763, + FzName: __ccgo_ts + 16850, FePragTyp: uint8(PragTyp_ANALYSIS_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 1: { - FzName: __ccgo_ts + 16778, + FzName: __ccgo_ts + 16865, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_APPLICATION_ID), }, 2: { - FzName: __ccgo_ts + 16793, + FzName: __ccgo_ts + 16880, FePragTyp: uint8(PragTyp_AUTO_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 3: { - FzName: __ccgo_ts + 16805, + FzName: __ccgo_ts + 16892, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_AutoIndex), }, 4: { - FzName: __ccgo_ts + 16821, + FzName: __ccgo_ts + 16908, FePragTyp: uint8(PragTyp_BUSY_TIMEOUT), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(56), FnPragCName: uint8(1), }, 5: { - FzName: __ccgo_ts + 16744, + FzName: __ccgo_ts + 16831, FePragTyp: uint8(PragTyp_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 6: { - FzName: __ccgo_ts + 16834, + FzName: __ccgo_ts + 16921, FePragTyp: uint8(PragTyp_CACHE_SPILL), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 7: { - FzName: __ccgo_ts + 16846, + FzName: __ccgo_ts + 16933, FePragTyp: uint8(PragTyp_CASE_SENSITIVE_LIKE), FmPragFlg: uint8(PragFlg_NoColumns), }, 8: { - FzName: __ccgo_ts + 16866, + FzName: __ccgo_ts + 16953, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CellSizeCk), }, 9: { - FzName: __ccgo_ts + 16882, + FzName: __ccgo_ts + 16969, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CkptFullFSync), }, 10: { - FzName: __ccgo_ts + 16903, + FzName: __ccgo_ts + 16990, FePragTyp: uint8(PragTyp_COLLATION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(38), FnPragCName: uint8(2), }, 11: { - FzName: __ccgo_ts + 16918, + FzName: __ccgo_ts + 17005, FePragTyp: uint8(PragTyp_COMPILE_OPTIONS), FmPragFlg: uint8(PragFlg_Result0), }, 12: { - FzName: __ccgo_ts + 16934, + FzName: __ccgo_ts + 17021, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00001)) << libc.Int32FromInt32(32), }, 13: { - FzName: __ccgo_ts + 16948, + FzName: __ccgo_ts + 17035, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_DATA_VERSION), }, 14: { - FzName: __ccgo_ts + 16961, + FzName: __ccgo_ts + 17048, FePragTyp: uint8(PragTyp_DATABASE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(47), FnPragCName: uint8(3), }, 15: { - FzName: __ccgo_ts + 16975, + FzName: __ccgo_ts + 17062, FePragTyp: uint8(PragTyp_DEFAULT_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiPragCName: uint8(55), FnPragCName: uint8(1), }, 16: { - FzName: __ccgo_ts + 16994, + FzName: __ccgo_ts + 17081, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_DeferFKs), }, 17: { - FzName: __ccgo_ts + 17013, + FzName: __ccgo_ts + 17100, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_NullCallback), }, 18: { - FzName: __ccgo_ts + 17036, + FzName: __ccgo_ts + 17123, FePragTyp: uint8(PragTyp_ENCODING), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 19: { - FzName: __ccgo_ts + 17045, + FzName: __ccgo_ts + 17132, FePragTyp: uint8(PragTyp_FOREIGN_KEY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(43), FnPragCName: uint8(4), }, 20: { - FzName: __ccgo_ts + 17063, + FzName: __ccgo_ts + 17150, FePragTyp: uint8(PragTyp_FOREIGN_KEY_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FnPragCName: uint8(8), }, 21: { - FzName: __ccgo_ts + 17080, + FzName: __ccgo_ts + 17167, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ForeignKeys), }, 22: { - FzName: __ccgo_ts + 17093, + FzName: __ccgo_ts + 17180, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), }, 23: { - FzName: __ccgo_ts + 17108, + FzName: __ccgo_ts + 17195, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullColNames), }, 24: { - FzName: __ccgo_ts + 17126, + FzName: __ccgo_ts + 17213, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullFSync), }, 25: { - FzName: __ccgo_ts + 17136, + FzName: __ccgo_ts + 17223, FePragTyp: uint8(PragTyp_FUNCTION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(27), FnPragCName: uint8(6), }, 26: { - FzName: __ccgo_ts + 17150, + FzName: __ccgo_ts + 17237, FePragTyp: uint8(PragTyp_HARD_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 27: { - FzName: __ccgo_ts + 17166, + FzName: __ccgo_ts + 17253, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_IgnoreChecks), }, 28: { - FzName: __ccgo_ts + 17191, + FzName: __ccgo_ts + 17278, FePragTyp: uint8(PragTyp_INCREMENTAL_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_NoColumns)), }, 29: { - FzName: __ccgo_ts + 17210, + FzName: __ccgo_ts + 17297, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), FnPragCName: uint8(3), }, 30: { - FzName: __ccgo_ts + 17221, + FzName: __ccgo_ts + 17308, FePragTyp: uint8(PragTyp_INDEX_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(38), FnPragCName: uint8(5), }, 31: { - FzName: __ccgo_ts + 17232, + FzName: __ccgo_ts + 17319, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), @@ -116721,146 +117427,146 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 32: { - FzName: __ccgo_ts + 17244, + FzName: __ccgo_ts + 17331, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 33: { - FzName: __ccgo_ts + 17260, + FzName: __ccgo_ts + 17347, FePragTyp: uint8(PragTyp_JOURNAL_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 34: { - FzName: __ccgo_ts + 17273, + FzName: __ccgo_ts + 17360, FePragTyp: uint8(PragTyp_JOURNAL_SIZE_LIMIT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 35: { - FzName: __ccgo_ts + 17292, + FzName: __ccgo_ts + 17379, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_LegacyAlter), }, 36: { - FzName: __ccgo_ts + 17311, + FzName: __ccgo_ts + 17398, FePragTyp: uint8(PragTyp_LOCKING_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 37: { - FzName: __ccgo_ts + 17324, + FzName: __ccgo_ts + 17411, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 38: { - FzName: __ccgo_ts + 17339, + FzName: __ccgo_ts + 17426, FePragTyp: uint8(PragTyp_MMAP_SIZE), }, 39: { - FzName: __ccgo_ts + 17349, + FzName: __ccgo_ts + 17436, FePragTyp: uint8(PragTyp_MODULE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 40: { - FzName: __ccgo_ts + 17361, + FzName: __ccgo_ts + 17448, FePragTyp: uint8(PragTyp_OPTIMIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_NeedSchema)), }, 41: { - FzName: __ccgo_ts + 17370, + FzName: __ccgo_ts + 17457, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 42: { - FzName: __ccgo_ts + 17381, + FzName: __ccgo_ts + 17468, FePragTyp: uint8(PragTyp_PAGE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 43: { - FzName: __ccgo_ts + 17391, + FzName: __ccgo_ts + 17478, FePragTyp: uint8(PragTyp_PRAGMA_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 44: { - FzName: __ccgo_ts + 17403, + FzName: __ccgo_ts + 17490, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_QueryOnly), }, 45: { - FzName: __ccgo_ts + 17414, + FzName: __ccgo_ts + 17501, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 46: { - FzName: __ccgo_ts + 17426, + FzName: __ccgo_ts + 17513, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00004)) << libc.Int32FromInt32(32), }, 47: { - FzName: __ccgo_ts + 17443, + FzName: __ccgo_ts + 17530, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_RecTriggers), }, 48: { - FzName: __ccgo_ts + 17462, + FzName: __ccgo_ts + 17549, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ReverseOrder), }, 49: { - FzName: __ccgo_ts + 17488, + FzName: __ccgo_ts + 17575, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_SCHEMA_VERSION), }, 50: { - FzName: __ccgo_ts + 17503, + FzName: __ccgo_ts + 17590, FePragTyp: uint8(PragTyp_SECURE_DELETE), FmPragFlg: uint8(PragFlg_Result0), }, 51: { - FzName: __ccgo_ts + 17517, + FzName: __ccgo_ts + 17604, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ShortColNames), }, 52: { - FzName: __ccgo_ts + 17536, + FzName: __ccgo_ts + 17623, FePragTyp: uint8(PragTyp_SHRINK_MEMORY), FmPragFlg: uint8(PragFlg_NoColumns), }, 53: { - FzName: __ccgo_ts + 17550, + FzName: __ccgo_ts + 17637, FePragTyp: uint8(PragTyp_SOFT_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 54: { - FzName: __ccgo_ts + 17566, + FzName: __ccgo_ts + 17653, FePragTyp: uint8(PragTyp_SYNCHRONOUS), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 55: { - FzName: __ccgo_ts + 17578, + FzName: __ccgo_ts + 17665, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), FnPragCName: uint8(6), }, 56: { - FzName: __ccgo_ts + 17589, + FzName: __ccgo_ts + 17676, FePragTyp: uint8(PragTyp_TABLE_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1)), FiPragCName: uint8(15), FnPragCName: uint8(6), }, 57: { - FzName: __ccgo_ts + 17600, + FzName: __ccgo_ts + 17687, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), @@ -116868,45 +117574,45 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 58: { - FzName: __ccgo_ts + 17612, + FzName: __ccgo_ts + 17699, FePragTyp: uint8(PragTyp_TEMP_STORE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 59: { - FzName: __ccgo_ts + 17623, + FzName: __ccgo_ts + 17710, FePragTyp: uint8(PragTyp_TEMP_STORE_DIRECTORY), FmPragFlg: uint8(PragFlg_NoColumns1), }, 60: { - FzName: __ccgo_ts + 17644, + FzName: __ccgo_ts + 17731, FePragTyp: uint8(PragTyp_THREADS), FmPragFlg: uint8(PragFlg_Result0), }, 61: { - FzName: __ccgo_ts + 17652, + FzName: __ccgo_ts + 17739, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_TrustedSchema), }, 62: { - FzName: __ccgo_ts + 17667, + FzName: __ccgo_ts + 17754, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_USER_VERSION), }, 63: { - FzName: __ccgo_ts + 17680, + FzName: __ccgo_ts + 17767, FePragTyp: uint8(PragTyp_WAL_AUTOCHECKPOINT), }, 64: { - FzName: __ccgo_ts + 17699, + FzName: __ccgo_ts + 17786, FePragTyp: uint8(PragTyp_WAL_CHECKPOINT), FmPragFlg: uint8(PragFlg_NeedSchema), FiPragCName: uint8(50), FnPragCName: uint8(3), }, 65: { - FzName: __ccgo_ts + 17714, + FzName: __ccgo_ts + 17801, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(SQLITE_WriteSchema) | libc.Int32FromInt32(SQLITE_NoSchemaError)), @@ -116918,6 +117624,31 @@ var _aPragmaName = [66]TPragmaName{ /************** End of pragma.h **********************************************/ /************** Continuing where we left off in pragma.c *********************/ +/* +** When the 0x10 bit of PRAGMA optimize is set, any ANALYZE commands +** will be run with an analysis_limit set to the lessor of the value of +** the following macro or to the actual analysis_limit if it is non-zero, +** in order to prevent PRAGMA optimize from running for too long. +** +** The value of 2000 is chosen emperically so that the worst-case run-time +** for PRAGMA optimize does not exceed 100 milliseconds against a variety +** of test databases on a RaspberryPI-4 compiled using -Os and without +** -DSQLITE_DEBUG. Of course, your mileage may vary. For the purpose of +** this paragraph, "worst-case" means that ANALYZE ends up being +** run on every table in the database. The worst case typically only +** happens if PRAGMA optimize is run on a database file for which ANALYZE +** has not been previously run and the 0x10000 flag is included so that +** all tables are analyzed. The usual case for PRAGMA optimize is that +** no ANALYZE commands will be run at all, or if any ANALYZE happens it +** will be against a single table, so that expected timing for PRAGMA +** optimize on a PI-4 is more like 1 millisecond or less with the 0x10000 +** flag or less than 100 microseconds without the 0x10000 flag. +** +** An analysis limit of 2000 is almost always sufficient for the query +** planner to fully characterize an index. The additional accuracy from +** a larger analysis is not usually helpful. + */ + // C documentation // // /* @@ -117007,10 +117738,10 @@ func _sqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt Tu8) (r Tu8) { // */ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { if z != 0 { - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17730) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17817) { return int32(PAGER_LOCKINGMODE_EXCLUSIVE) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17740) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17827) { return PAGER_LOCKINGMODE_NORMAL } } @@ -117028,13 +117759,13 @@ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { func _getAutoVacuum(tls *libc.TLS, z uintptr) (r int32) { var i, v1 int32 _, _ = i, v1 - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8218) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8343) { return BTREE_AUTOVACUUM_NONE } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17747) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17834) { return int32(BTREE_AUTOVACUUM_FULL) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17752) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17839) { return int32(BTREE_AUTOVACUUM_INCR) } i = _sqlite3Atoi(tls, z) @@ -117057,10 +117788,10 @@ func _getTempStore(tls *libc.TLS, z uintptr) (r int32) { if int32(*(*int8)(unsafe.Pointer(z))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(z))) <= int32('2') { return int32(*(*int8)(unsafe.Pointer(z))) - int32('0') } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+16705) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+16792) == 0 { return int32(1) } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+17764) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+17851) == 0 { return int32(2) } else { return 0 @@ -117082,7 +117813,7 @@ func _invalidateTempStorage(tls *libc.TLS, pParse uintptr) (r int32) { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpBt != uintptr(0) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || _sqlite3BtreeTxnState(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpBt) != SQLITE_TXN_NONE { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17771, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17858, 0) return int32(SQLITE_ERROR) } _sqlite3BtreeClose(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpBt) @@ -117217,15 +117948,15 @@ func _actionName(tls *libc.TLS, action Tu8) (r uintptr) { _ = zName switch int32(action) { case int32(OE_SetNull): - zName = __ccgo_ts + 17833 + zName = __ccgo_ts + 17920 case int32(OE_SetDflt): - zName = __ccgo_ts + 17842 + zName = __ccgo_ts + 17929 case int32(OE_Cascade): - zName = __ccgo_ts + 17854 + zName = __ccgo_ts + 17941 case int32(OE_Restrict): - zName = __ccgo_ts + 17862 + zName = __ccgo_ts + 17949 default: - zName = __ccgo_ts + 17871 + zName = __ccgo_ts + 17958 _ = libc.Int32FromInt32(0) break } @@ -117254,12 +117985,12 @@ func _sqlite3JournalModename(tls *libc.TLS, eMode int32) (r uintptr) { } var _azModeName = [6]uintptr{ - 0: __ccgo_ts + 17881, - 1: __ccgo_ts + 17888, - 2: __ccgo_ts + 17896, - 3: __ccgo_ts + 17900, - 4: __ccgo_ts + 17764, - 5: __ccgo_ts + 17909, + 0: __ccgo_ts + 17968, + 1: __ccgo_ts + 17975, + 2: __ccgo_ts + 17983, + 3: __ccgo_ts + 17987, + 4: __ccgo_ts + 17851, + 5: __ccgo_ts + 17996, } // C documentation @@ -117325,15 +118056,15 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s goto _1 } if (*TFuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = __ccgo_ts + 17934 + zType = __ccgo_ts + 18021 } else { if (*TFuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = __ccgo_ts + 17936 + zType = __ccgo_ts + 18023 } else { - zType = __ccgo_ts + 7617 + zType = __ccgo_ts + 7742 } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+17938, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18025, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) goto _1 _1: ; @@ -117342,9 +118073,9 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s } var _azEnc = [4]uintptr{ - 1: __ccgo_ts + 17913, - 2: __ccgo_ts + 17918, - 3: __ccgo_ts + 17926, + 1: __ccgo_ts + 18000, + 2: __ccgo_ts + 18005, + 3: __ccgo_ts + 18013, } // C documentation @@ -117385,15 +118116,15 @@ func _integrityCheckResultRow(tls *libc.TLS, v uintptr) (r int32) { func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { bp := tls.Alloc(208) defer tls.Free(208) - var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, mxIdx, n, nHidden, nIdx, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v60, v62, v63, v64, v65, v68 int32 - var aOp, aOp1, aOp2, aOp3, aOp4, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v61, v66, v8 uintptr + var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v48, v50, v64, v66, v67, v68, v69, v72, v75, v76 int32 + var aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v65, v70, v8 uintptr var azOrigin [3]uintptr var cnum Ti16 var enc Tu8 var iPrior Tsqlite3_int64 + var iRange, szThreshold TLogEst var mask Tu64 var opMask Tu32 - var szThreshold TLogEst var _ /* N at bp+104 */ Tsqlite3_int64 var _ /* N at bp+112 */ Tsqlite3_int64 var _ /* N at bp+120 */ Tsqlite3_int64 @@ -117414,7 +118145,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var _ /* size at bp+44 */ int32 var _ /* sz at bp+48 */ Tsqlite3_int64 var _ /* x at bp+24 */ Ti64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iPrior, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, mxIdx, n, nHidden, nIdx, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v5, v60, v61, v62, v63, v64, v65, v66, v68, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iPrior, iRange, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v48, v5, v50, v64, v65, v66, v67, v68, v69, v70, v72, v75, v76, v8 zLeft = uintptr(0) /* Nul-terminated UTF-8 string */ zRight = uintptr(0) /* Nul-terminated UTF-8 string , or NULL */ zDb = uintptr(0) /* return value form SQLITE_FCNTL_PRAGMA */ @@ -117443,7 +118174,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p return } if minusFlag != 0 { - zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+17945, libc.VaList(bp+136, pValue)) + zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+18032, libc.VaList(bp+136, pValue)) } else { zRight = _sqlite3NameFromToken(tls, db, pValue) } @@ -117487,7 +118218,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } if rc != int32(SQLITE_NOTFOUND) { if (*(*[4]uintptr)(unsafe.Pointer(bp + 4)))[0] != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+136, (*(*[4]uintptr)(unsafe.Pointer(bp + 4)))[0])) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+136, (*(*[4]uintptr)(unsafe.Pointer(bp + 4)))[0])) Xsqlite3_free(tls, (*(*[4]uintptr)(unsafe.Pointer(bp + 4)))[0]) } (*TParse)(unsafe.Pointer(pParse)).FnErr++ @@ -117594,7 +118325,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p b = -int32(1) _ = libc.Int32FromInt32(0) if zRight != 0 { - if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+17949) == 0 { + if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18036) == 0 { b = int32(2) } else { b = int32(_sqlite3GetBoolean(tls, zRight, uint8(0))) @@ -117665,7 +118396,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p */ fallthrough case int32(PragTyp_LOCKING_MODE): - zRet = __ccgo_ts + 17740 + zRet = __ccgo_ts + 17827 eMode = _getLockingMode(tls, zRight) if (*TToken)(unsafe.Pointer(pId2)).Fn == uint32(0) && eMode == -int32(1) { /* Simple "PRAGMA locking_mode;" statement. This is a query for @@ -117695,7 +118426,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } _ = libc.Int32FromInt32(0) if eMode == int32(PAGER_LOCKINGMODE_EXCLUSIVE) { - zRet = __ccgo_ts + 17730 + zRet = __ccgo_ts + 17817 } _returnSingleText(tls, v, zRet) break @@ -117990,7 +118721,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if *(*int8)(unsafe.Pointer(zRight)) != 0 { rc = _sqlite3OsAccess(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, zRight, int32(SQLITE_ACCESS_READWRITE), bp+56) if rc != SQLITE_OK || *(*int32)(unsafe.Pointer(bp + 56)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17954, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18041, 0) Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) goto pragma_out } @@ -118000,7 +118731,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } Xsqlite3_free(tls, Xsqlite3_temp_directory) if *(*int8)(unsafe.Pointer(zRight)) != 0 { - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+136, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+136, zRight)) } else { Xsqlite3_temp_directory = uintptr(0) } @@ -118022,7 +118753,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _returnSingleInt(tls, v, int64(int32((*TDb)(unsafe.Pointer(pDb)).Fsafety_level)-int32(1))) } else { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17979, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18066, 0) } else { if iDb != int32(1) { iLevel = (int32(_getSafetyLevel(tls, zRight, 0, uint8(1))) + int32(1)) & int32(PAGER_SYNCHRONOUS_MASK) @@ -118055,7 +118786,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if mask == uint64(SQLITE_DeferFKs) { (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons = 0 } - if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18032) == 0 { + if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18119) == 0 { /* IMP: R-60817-01178 If the argument is "RESET" then schema ** writing is disabled (as with "PRAGMA writable_schema=OFF") and, ** in addition, the schema is reloaded. */ @@ -118138,9 +118869,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - v14 = __ccgo_ts + 18038 + v14 = __ccgo_ts + 18125 } else { - v14 = __ccgo_ts + 18046 + v14 = __ccgo_ts + 18133 } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 4))&0xf>>0)) != 0 { v15 = int32(1) @@ -118152,7 +118883,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v16 = *(*uintptr)(unsafe.Pointer(pColExpr + 8)) } - _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+136, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1648), v15, v16, k, isHidden)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+136, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1662), v15, v16, k, isHidden)) goto _12 _12: ; @@ -118211,7 +118942,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pTab1 = (*THashElem)(unsafe.Pointer(k1)).Fdata if int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) == 0 { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18053, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab1)).FzName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18140, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab1)).FzName)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 60)) = uintptr(0) Xsqlite3_prepare(tls, db, zSql, -int32(1), bp+60, uintptr(0)) @@ -118219,7 +118950,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3DbFree(tls, db, zSql) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1632, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) } pHash = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*16))).FpSchema + 8 @@ -118241,19 +118972,19 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _20 } if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10796 + zType = __ccgo_ts + 10921 } else { if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 13044 + zType = __ccgo_ts + 13169 } else { if (*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Shadow) != 0 { - zType = __ccgo_ts + 18069 + zType = __ccgo_ts + 18156 } else { - zType = __ccgo_ts + 9058 + zType = __ccgo_ts + 9183 } } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18076, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*16))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18163, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*16))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) goto _20 _20: ; @@ -118301,9 +119032,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v22 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab3)).FaCol + uintptr(cnum)*12))).FzCnName } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18083, libc.VaList(bp+136, i1, int32(cnum), v22)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18170, libc.VaList(bp+136, i1, int32(cnum), v22)) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18088, libc.VaList(bp+136, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*4)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) + _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18175, libc.VaList(bp+136, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*4)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) } _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), int32(1), (*TParse)(unsafe.Pointer(pParse)).FnMem) goto _21 @@ -118327,11 +119058,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } azOrigin = [3]uintptr{ - 0: __ccgo_ts + 18093, - 1: __ccgo_ts + 18095, - 2: __ccgo_ts + 16582, + 0: __ccgo_ts + 18180, + 1: __ccgo_ts + 18182, + 2: __ccgo_ts + 16669, } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18097, libc.VaList(bp+136, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 56))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18184, libc.VaList(bp+136, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 56))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) goto _23 _23: ; @@ -118351,7 +119082,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _24 } _ = libc.Int32FromInt32(0) - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18103, libc.VaList(bp+136, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*16))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*16))).FpBt))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18190, libc.VaList(bp+136, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*16))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*16))).FpBt))) goto _24 _24: ; @@ -118368,7 +119099,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pColl = (*THashElem)(unsafe.Pointer(p)).Fdata v26 = i4 i4++ - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18107, libc.VaList(bp+136, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18194, libc.VaList(bp+136, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) goto _25 _25: ; @@ -118420,7 +119151,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } pMod = (*THashElem)(unsafe.Pointer(j1)).Fdata - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7617, libc.VaList(bp+136, (*TModule)(unsafe.Pointer(pMod)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7742, libc.VaList(bp+136, (*TModule)(unsafe.Pointer(pMod)).FzName)) goto _30 _30: ; @@ -118432,7 +119163,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i6 < int32(libc.Uint32FromInt64(1056)/libc.Uint32FromInt64(16))) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7617, libc.VaList(bp+136, _aPragmaName[i6].FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7742, libc.VaList(bp+136, _aPragmaName[i6].FzName)) goto _31 _31: ; @@ -118458,7 +119189,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(j2 < (*TFKey)(unsafe.Pointer(pFK)).FnCol) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18110, libc.VaList(bp+136, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 36 + uintptr(j2)*8))).FiFrom)*12))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 36 + uintptr(j2)*8))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 25 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 25))), __ccgo_ts+18119)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18197, libc.VaList(bp+136, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 36 + uintptr(j2)*8))).FiFrom)*12))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 36 + uintptr(j2)*8))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 25 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 25))), __ccgo_ts+18206)) goto _32 _32: ; @@ -118604,7 +119335,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regResult+int32(1)) } - _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18124, libc.VaList(bp+136, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) + _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18211, libc.VaList(bp+136, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), regResult, int32(4)) _sqlite3VdbeResolveLabel(tls, v, addrOk) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 68))) @@ -118674,7 +119405,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p /* Set the maximum error count */ *(*int32)(unsafe.Pointer(bp + 72)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) if zRight != 0 { - if _sqlite3GetInt32(tls, zRight, bp+72) != 0 { + if _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pValue)).Fz, bp+72) != 0 { if *(*int32)(unsafe.Pointer(bp + 72)) <= 0 { *(*int32)(unsafe.Pointer(bp + 72)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) } @@ -118694,8 +119425,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i9 < (*Tsqlite3)(unsafe.Pointer(db)).FnDb) { break } /* Array of root page numbers of all btrees */ - cnt = 0 /* Number of entries in aRoot[] */ - mxIdx = 0 /* Maximum number of indexes for any table */ + cnt = 0 /* Number of entries in aRoot[] */ if libc.Bool(OMIT_TEMPDB != 0) && i9 == int32(1) { goto _40 } @@ -118737,9 +119467,6 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pIdx3 = (*TIndex)(unsafe.Pointer(pIdx3)).FpNext nIdx++ } - if nIdx > mxIdx { - mxIdx = nIdx - } goto _41 _41: ; @@ -118795,16 +119522,78 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } *(*int32)(unsafe.Pointer(aRoot)) = cnt /* Make sure sufficient number of registers have been allocated */ - _sqlite3TouchRegister(tls, pParse, int32(8)+mxIdx) + _sqlite3TouchRegister(tls, pParse, int32(8)+cnt) _sqlite3ClearTempRegCache(tls, pParse) /* Do the b-tree integrity checks */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(2), cnt, int32(1), aRoot, -int32(14)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(1), cnt, int32(8), aRoot, -int32(14)) _sqlite3VdbeChangeP5(tls, v, uint16(uint8(i9))) addr1 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(2)) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18128, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*16))).FzDbSName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18215, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*16))).FzDbSName)), -int32(6)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(2), int32(3), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, addr1) + /* Check that the indexes all have the right number of rows */ + if pObjTab != 0 { + v48 = int32(1) + } else { + v48 = 0 + } + cnt = v48 + _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18239) + x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst + for { + if !(x2 != 0) { + break + } + iTab = 0 + pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab9 { + goto _49 + } + if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + v50 = cnt + cnt++ + iTab = v50 + } else { + iTab = cnt + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx5 + 56))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { + break + } + iTab++ + goto _51 + _51: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + } + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if (*TIndex)(unsafe.Pointer(pIdx5)).FpPartIdxWhere == uintptr(0) { + addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+cnt, 0, int32(8)+iTab) + _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) + _integrityCheckResultRow(tls, v) + _sqlite3VdbeJumpHere(tls, v, addr1) + } + cnt++ + goto _52 + _52: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + goto _49 + _49: + ; + x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext + } /* Make sure all the indices are constructed correctly. */ x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst @@ -118812,39 +119601,39 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata pPrior = uintptr(0) r1 = -int32(1) /* Maximum non-virtual column number */ - if pObjTab != 0 && pObjTab != pTab9 { - goto _48 + if pObjTab != 0 && pObjTab != pTab10 { + goto _53 } - if !(int32((*TTable)(unsafe.Pointer(pTab9)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { - goto _48 + if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _53 } - if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { pPk1 = uintptr(0) r2 = 0 } else { - pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab9) + pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab10) r2 = _sqlite3GetTempRange(tls, pParse, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), int32(1), r2, r2+int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)-int32(1)) } - _sqlite3OpenTableAndIndices(tls, pParse, pTab9, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+76, bp+80) + _sqlite3OpenTableAndIndices(tls, pParse, pTab10, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+76, bp+80) /* reg[7] counts the number of entries in the table. ** reg[8+i] counts the number of entries in the i-th index */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(7)) j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(8)+j4) /* index entries counter */ - goto _49 - _49: + goto _54 + _54: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } _ = libc.Int32FromInt32(0) @@ -118857,29 +119646,29 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** by the OP_IsType code, so it is a required step. */ _ = libc.Int32FromInt32(0) - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { mxCol = -int32(1) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*12))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { + if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*12))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { mxCol++ } - goto _50 - _50: + goto _55 + _55: ; j4++ } - if mxCol == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { + if mxCol == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { mxCol-- } } else { /* COLFLAG_VIRTUAL columns are not included in the WITHOUT ROWID ** PK index column-count, so there is no need to account for them ** in this case. */ - mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab9))).FnColumn) - int32(1) + mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab10))).FnColumn) - int32(1) } if mxCol >= 0 { _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 76)), mxCol, int32(3)) @@ -118889,7 +119678,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if pPk1 != 0 { a1 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 76)), 0, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), r2) - zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18152, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18268, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a1) @@ -118900,8 +119689,8 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprCodeLoadIndexColumn(tls, pParse, pPk1, *(*int32)(unsafe.Pointer(bp + 76)), j4, r2+j4) - goto _51 - _51: + goto _56 + _56: ; j4++ } @@ -118916,15 +119705,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** (4) Datatype for numeric columns in non-STRICT tables must not ** be a TEXT value that can be losslessly converted to numeric. */ - bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_Strict) != uint32(0)) + bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_Strict) != uint32(0)) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - pCol1 = (*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*12 /* Check datatypes (besides NOT NULL) */ - if j4 == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { - goto _52 + pCol1 = (*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*12 /* Check datatypes (besides NOT NULL) */ + if j4 == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { + goto _57 } if bStrict != 0 { doTypeCheck = libc.BoolInt32(int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 4))&0xf0>>4)) > int32(COLTYPE_ANY)) @@ -118932,28 +119721,28 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p doTypeCheck = libc.BoolInt32(int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) > int32(SQLITE_AFF_BLOB)) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 4))&0xf>>0)) == 0 && !(doTypeCheck != 0) { - goto _52 + goto _57 } /* Compute the operands that will be needed for OP_IsType */ p4 = int32(SQLITE_NULL) if int32((*TColumn)(unsafe.Pointer(pCol1)).FcolFlags)&int32(COLFLAG_VIRTUAL) != 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 76)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 76)), j4, int32(3)) p11 = -int32(1) p3 = int32(3) } else { if (*TColumn)(unsafe.Pointer(pCol1)).FiDflt != 0 { *(*uintptr)(unsafe.Pointer(bp + 84)) = uintptr(0) - _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab9, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8((*TColumn)(unsafe.Pointer(pCol1)).Faffinity), bp+84) + _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab10, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8((*TColumn)(unsafe.Pointer(pCol1)).Faffinity), bp+84) if *(*uintptr)(unsafe.Pointer(bp + 84)) != 0 { p4 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 84))) _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 84))) } } p11 = *(*int32)(unsafe.Pointer(bp + 76)) - if !((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { - p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab9), int16(j4))) + if !((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { + p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab10), int16(j4))) } else { - p3 = int32(_sqlite3TableColumnToStorage(tls, pTab9, int16(j4))) + p3 = int32(_sqlite3TableColumnToStorage(tls, pTab10, int16(j4))) } } labelError = _sqlite3VdbeMakeLabel(tls, pParse) @@ -118970,10 +119759,10 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** is REAL, we have to load the actual data using OP_Column ** to reliably determine if the value is a NULL. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), p11, p3, int32(3)) - _sqlite3ColumnDefault(tls, v, pTab9, j4, int32(3)) + _sqlite3ColumnDefault(tls, v, pTab10, j4, int32(3)) jmp3 = _sqlite3VdbeAddOp2(tls, v, int32(OP_NotNull), int32(3), labelOk) } - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18188, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18304, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) if doTypeCheck != 0 { _sqlite3VdbeGoto(tls, v, labelError) @@ -118987,7 +119776,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _ = libc.Int32FromInt32(0) _sqlite3VdbeChangeP5(tls, v, uint16(_aStdTypeMask[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 4))&0xf0>>4))-int32(1)])) - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18208, libc.VaList(bp+136, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 4))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*12))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18324, libc.VaList(bp+136, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 4))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*12))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) == int32(SQLITE_AFF_TEXT) { @@ -118995,7 +119784,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** NULL, TEXT, or BLOB. */ _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18230, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*12))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18346, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*12))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) >= int32(SQLITE_AFF_NUMERIC) { @@ -119004,12 +119793,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1b)) /* NULL, INT, FLOAT, or BLOB */ if p11 >= 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 76)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 76)), j4, int32(3)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18253, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18369, -int32(1)) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), -int32(1), labelOk, int32(3), p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18255, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*12))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18371, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*12))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } } @@ -119017,14 +119806,14 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeResolveLabel(tls, v, labelError) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, labelOk) - goto _52 - _52: + goto _57 + _57: ; j4++ } /* Verify CHECK constraints */ - if (*TTable)(unsafe.Pointer(pTab9)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { - pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab9)).FpCheck, 0) + if (*TTable)(unsafe.Pointer(pTab10)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { + pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab10)).FpCheck, 0) if int32((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { addrCkFault = _sqlite3VdbeMakeLabel(tls, pParse) addrCkOk = _sqlite3VdbeMakeLabel(tls, pParse) @@ -119035,15 +119824,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprIfFalse(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8 + uintptr(k3)*20))).FpExpr, addrCkFault, 0) - goto _53 - _53: + goto _58 + _58: ; k3-- } _sqlite3ExprIfTrue(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8))).FpExpr, addrCkOk, int32(SQLITE_JUMPIFNULL)) _sqlite3VdbeResolveLabel(tls, v, addrCkFault) (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18275, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18391, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr2, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -119053,25 +119842,25 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(isQuick != 0) { /* Omit the remaining tests for quick_check */ /* Validate index entries for the current row */ j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } ckUniq = _sqlite3VdbeMakeLabel(tls, pParse) - if pPk1 == pIdx5 { - goto _54 + if pPk1 == pIdx6 { + goto _59 } - r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 76)), 0, 0, bp+88, pPrior, r1) - pPrior = pIdx5 + r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx6, *(*int32)(unsafe.Pointer(bp + 76)), 0, 0, bp+88, pPrior, r1) + pPrior = pIdx6 _sqlite3VdbeAddOp2(tls, v, int32(OP_AddImm), int32(8)+j4, int32(1)) /* increment entry count */ /* Verify that an index entry exists for the current table row */ - jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 80))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18305) + jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 80))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18421) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18310) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18426) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) - jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx6)).FzName) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) jmp4 = _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, jmp21) @@ -119079,12 +119868,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** that extracts the rowid off the end of the index record. ** But it only works correctly if index record does not have ** any extra bytes at the end. Verify that this is the case. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { _sqlite3VdbeAddOp2(tls, v, int32(OP_IdxRowid), *(*int32)(unsafe.Pointer(bp + 80))+j4, int32(3)) - jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)-int32(1)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18331) + jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)-int32(1)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18447) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18367) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18483) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp7) } @@ -119093,101 +119882,77 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p label6 = 0 kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*4)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { - goto _55 + if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FazColl + uintptr(kk)*4)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { + goto _60 } if label6 == 0 { label6 = _sqlite3VdbeMakeLabel(tls, pParse) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 80))+j4, kk, int32(3)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ne), int32(3), label6, r1+kk) - goto _55 - _55: + goto _60 + _60: ; kk++ } if label6 != 0 { jmp6 = _sqlite3VdbeAddOp0(tls, v, int32(OP_Goto)) _sqlite3VdbeResolveLabel(tls, v, label6) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18305) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18421) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18378) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18494) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp6) } /* For UNIQUE indexes, verify that only one entry exists with the ** current key. The entry is unique if (1) any column is NULL ** or (2) the next entry has a different key */ - if int32((*TIndex)(unsafe.Pointer(pIdx5)).FonError) != OE_None { + if int32((*TIndex)(unsafe.Pointer(pIdx6)).FonError) != OE_None { uniqOk = _sqlite3VdbeMakeLabel(tls, pParse) kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2))) + iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FaiColumn + uintptr(kk)*2))) _ = libc.Int32FromInt32(0) - if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*12 + 4))&0xf>>0)) != 0 { - goto _56 + if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(iCol1)*12 + 4))&0xf>>0)) != 0 { + goto _61 } _sqlite3VdbeAddOp2(tls, v, int32(OP_IsNull), r1+kk, uniqOk) - goto _56 - _56: + goto _61 + _61: ; kk++ } jmp61 = _sqlite3VdbeAddOp1(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 80))+j4) _sqlite3VdbeGoto(tls, v, uniqOk) _sqlite3VdbeJumpHere(tls, v, jmp61) - _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 80))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18405) + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 80))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18521) _sqlite3VdbeGoto(tls, v, jmp5) _sqlite3VdbeResolveLabel(tls, v, uniqOk) } _sqlite3VdbeJumpHere(tls, v, jmp4) _sqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 88))) - goto _54 - _54: + goto _59 + _59: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } } _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 76)), loopTop) _sqlite3VdbeJumpHere(tls, v, loopTop-int32(1)) - if !(isQuick != 0) { - _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18432) - j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex - for { - if !(pIdx5 != 0) { - break - } - if pPk1 == pIdx5 { - goto _57 - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), *(*int32)(unsafe.Pointer(bp + 80))+j4, int32(3)) - addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+j4, 0, int32(3)) - _sqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) - _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) - _integrityCheckResultRow(tls, v) - _sqlite3VdbeJumpHere(tls, v, addr1) - goto _57 - _57: - ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext - j4++ - } - if pPk1 != 0 { - _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) - } + if pPk1 != 0 { + _ = libc.Int32FromInt32(0) + _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) } - goto _48 - _48: + goto _53 + _53: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -119199,60 +119964,60 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata - if pObjTab != 0 && pObjTab != pTab10 { - goto _58 + pTab11 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab11 { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == TABTYP_NORM { - goto _58 + if int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == TABTYP_NORM { + goto _62 } - if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { - goto _58 + if !(int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FnCol) <= 0 { + if int32((*TTable)(unsafe.Pointer(pTab11)).FnCol) <= 0 { zMod = *(*uintptr)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 44))).FazArg)) + })(unsafe.Pointer(pTab11 + 44))).FazArg)) if _sqlite3HashFind(tls, db+396, zMod) == uintptr(0) { - goto _58 + goto _62 } } - _sqlite3ViewGetColumnNames(tls, pParse, pTab10) + _sqlite3ViewGetColumnNames(tls, pParse, pTab11) if (*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 44))).Fp == uintptr(0) { - goto _58 + })(unsafe.Pointer(pTab11 + 44))).Fp == uintptr(0) { + goto _62 } pVTab = (*TVTable)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 44))).Fp)).FpVtab + })(unsafe.Pointer(pTab11 + 44))).Fp)).FpVtab if pVTab == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FiVersion < int32(4) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FxIntegrity == uintptr(0) { - goto _58 + goto _62 } _sqlite3VdbeAddOp3(tls, v, int32(OP_VCheck), i9, int32(3), isQuick) - (*TTable)(unsafe.Pointer(pTab10)).FnTabRef++ - _sqlite3VdbeAppendP4(tls, v, pTab10, -int32(16)) + (*TTable)(unsafe.Pointer(pTab11)).FnTabRef++ + _sqlite3VdbeAppendP4(tls, v, pTab11, -int32(16)) a11 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a11) - goto _58 - goto _58 - _58: + goto _62 + goto _62 + _62: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -119265,7 +120030,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if aOp2 != 0 { (*(*TVdbeOp)(unsafe.Pointer(aOp2))).Fp2 = int32(1) - *(*int32)(unsafe.Pointer(bp + 72)) (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 2*20))).Fp4type = int8(-libc.Int32FromInt32(1)) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16)) = __ccgo_ts + 18461 + *(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16)) = __ccgo_ts + 18548 (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 5*20))).Fp4type = int8(-libc.Int32FromInt32(1)) *(*uintptr)(unsafe.Pointer(aOp2 + 5*20 + 16)) = _sqlite3ErrStr(tls, int32(SQLITE_CORRUPT)) } @@ -119326,20 +120091,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc != 0 { - v60 = int32((*struct { + v64 = int32((*struct { FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc) } else { - v60 = int32(SQLITE_UTF16LE) + v64 = int32(SQLITE_UTF16LE) } - enc = uint8(v60) + enc = uint8(v64) (*TSchema)(unsafe.Pointer((*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema)).Fenc = enc _sqlite3SetTextEncoding(tls, db, enc) break } - goto _59 - _59: + goto _63 + _63: ; pEnc += 8 } @@ -119347,7 +120112,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).FzName != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18522, libc.VaList(bp+136, zRight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18609, libc.VaList(bp+136, zRight)) } } } @@ -119425,11 +120190,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p i10 = 0 (*TParse)(unsafe.Pointer(pParse)).FnMem = int32(1) for { - v62 = i10 + v66 = i10 i10++ - v61 = Xsqlite3_compileoption_get(tls, v62) - zOpt = v61 - if !(v61 != uintptr(0)) { + v65 = Xsqlite3_compileoption_get(tls, v66) + zOpt = v65 + if !(v65 != uintptr(0)) { break } _sqlite3VdbeLoadString(tls, v, int32(1), zOpt) @@ -119445,20 +120210,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p fallthrough case int32(PragTyp_WAL_CHECKPOINT): if (*TToken)(unsafe.Pointer(pId2)).Fz != 0 { - v63 = iDb + v67 = iDb } else { - v63 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) + v67 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) } - iBt = v63 + iBt = v67 eMode2 = SQLITE_CHECKPOINT_PASSIVE if zRight != 0 { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17747) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17834) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_FULL) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18547) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18634) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_RESTART) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17900) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17987) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_TRUNCATE) } } @@ -119482,11 +120247,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p Xsqlite3_wal_autocheckpoint(tls, db, _sqlite3Atoi(tls, zRight)) } if (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback == __ccgo_fp(_sqlite3WalDefaultHook) { - v64 = int32((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg) + v68 = int32((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg) } else { - v64 = 0 + v68 = 0 } - _returnSingleInt(tls, v, int64(v64)) + _returnSingleInt(tls, v, int64(v68)) break /* ** PRAGMA shrink_memory @@ -119514,47 +120279,68 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** ** The optional argument is a bitmask of optimizations to perform: ** - ** 0x0001 Debugging mode. Do not actually perform any optimizations - ** but instead return one line of text for each optimization - ** that would have been done. Off by default. + ** 0x00001 Debugging mode. Do not actually perform any optimizations + ** but instead return one line of text for each optimization + ** that would have been done. Off by default. ** - ** 0x0002 Run ANALYZE on tables that might benefit. On by default. - ** See below for additional information. + ** 0x00002 Run ANALYZE on tables that might benefit. On by default. + ** See below for additional information. ** - ** 0x0004 (Not yet implemented) Record usage and performance - ** information from the current session in the - ** database file so that it will be available to "optimize" - ** pragmas run by future database connections. + ** 0x00010 Run all ANALYZE operations using an analysis_limit that + ** is the lessor of the current analysis_limit and the + ** SQLITE_DEFAULT_OPTIMIZE_LIMIT compile-time option. + ** The default value of SQLITE_DEFAULT_OPTIMIZE_LIMIT is + ** currently (2024-02-19) set to 2000, which is such that + ** the worst case run-time for PRAGMA optimize on a 100MB + ** database will usually be less than 100 milliseconds on + ** a RaspberryPI-4 class machine. On by default. ** - ** 0x0008 (Not yet implemented) Create indexes that might have - ** been helpful to recent queries + ** 0x10000 Look at tables to see if they need to be reanalyzed + ** due to growth or shrinkage even if they have not been + ** queried during the current connection. Off by default. ** - ** The default MASK is and always shall be 0xfffe. 0xfffe means perform all - ** of the optimizations listed above except Debug Mode, including new - ** optimizations that have not yet been invented. If new optimizations are - ** ever added that should be off by default, those off-by-default - ** optimizations will have bitmasks of 0x10000 or larger. + ** The default MASK is and always shall be 0x0fffe. In the current + ** implementation, the default mask only covers the 0x00002 optimization, + ** though additional optimizations that are covered by 0x0fffe might be + ** added in the future. Optimizations that are off by default and must + ** be explicitly requested have masks of 0x10000 or greater. ** ** DETERMINATION OF WHEN TO RUN ANALYZE ** ** In the current implementation, a table is analyzed if only if all of ** the following are true: ** - ** (1) MASK bit 0x02 is set. + ** (1) MASK bit 0x00002 is set. + ** + ** (2) The table is an ordinary table, not a virtual table or view. ** - ** (2) The query planner used sqlite_stat1-style statistics for one or - ** more indexes of the table at some point during the lifetime of - ** the current connection. + ** (3) The table name does not begin with "sqlite_". ** - ** (3) One or more indexes of the table are currently unanalyzed OR - ** the number of rows in the table has increased by 25 times or more - ** since the last time ANALYZE was run. + ** (4) One or more of the following is true: + ** (4a) The 0x10000 MASK bit is set. + ** (4b) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. + ** (4c) The query planner used sqlite_stat1-style statistics for one + ** or more indexes of the table at some point during the lifetime + ** of the current connection. + ** + ** (5) One or more of the following is true: + ** (5a) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. (Same as 4a) + ** (5b) The number of rows in the table has increased or decreased by + ** 10-fold. In other words, the current size of the table is + ** 10 times larger than the size in sqlite_stat1 or else the + ** current size is less than 1/10th the size in sqlite_stat1. ** ** The rules for when tables are analyzed are likely to change in - ** future releases. + ** future releases. Future versions of SQLite might accept a string + ** literal argument to this pragma that contains a mnemonic description + ** of the options rather than a bitmap. */ fallthrough - case int32(PragTyp_OPTIMIZE): /* Mask of operations to perform */ + case int32(PragTyp_OPTIMIZE): /* Analysis limit to use */ + nCheck = 0 /* Number of tables to be optimized */ + nBtree = 0 /* Number of indexes on the current table */ if zRight != 0 { opMask = uint32(_sqlite3Atoi(tls, zRight)) if opMask&uint32(0x02) == uint32(0) { @@ -119563,22 +120349,31 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { opMask = uint32(0xfffe) } - v66 = pParse + 40 - v65 = *(*int32)(unsafe.Pointer(v66)) - *(*int32)(unsafe.Pointer(v66))++ - iTabCur = v65 + if opMask&uint32(0x10) == uint32(0) { + nLimit = 0 + } else { + if (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit > 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit < int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) { + nLimit = 0 + } else { + nLimit = int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) + } + } + v70 = pParse + 40 + v69 = *(*int32)(unsafe.Pointer(v70)) + *(*int32)(unsafe.Pointer(v70))++ + iTabCur = v69 if zDb != 0 { - v68 = iDb + v72 = iDb } else { - v68 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) + v72 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) } - iDbLast = v68 + iDbLast = v72 for { if !(iDb <= iDbLast) { break } if iDb == int32(1) { - goto _67 + goto _71 } _sqlite3CodeVerifySchema(tls, pParse, iDb) pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FpSchema @@ -119587,53 +120382,122 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(k4 != 0) { break } - pTab11 = (*THashElem)(unsafe.Pointer(k4)).Fdata - /* If table pTab has not been used in a way that would benefit from - ** having analysis statistics during the current session, then skip it. - ** This also has the effect of skipping virtual tables and views */ - if (*TTable)(unsafe.Pointer(pTab11)).FtabFlags&uint32(TF_StatsUsed) == uint32(0) { - goto _69 + pTab12 = (*THashElem)(unsafe.Pointer(k4)).Fdata + /* This only works for ordinary tables */ + if !(int32((*TTable)(unsafe.Pointer(pTab12)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _73 } - /* Reanalyze if the table is 25 times larger than the last analysis */ - szThreshold = int16(int32((*TTable)(unsafe.Pointer(pTab11)).FnRowLogEst) + int32(46)) - _ = libc.Int32FromInt32(0) - pIdx6 = (*TTable)(unsafe.Pointer(pTab11)).FpIndex + /* Do not scan system tables */ + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab12)).FzName, __ccgo_ts+6589, int32(7)) { + goto _73 + } + /* Find the size of the table as last recorded in sqlite_stat1. + ** If any index is unanalyzed, then the threshold is -1 to + ** indicate a new, unanalyzed index + */ + szThreshold = (*TTable)(unsafe.Pointer(pTab12)).FnRowLogEst + nIndex = 0 + pIdx7 = (*TTable)(unsafe.Pointer(pTab12)).FpIndex for { - if !(pIdx6 != 0) { + if !(pIdx7 != 0) { break } - if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx6 + 56))&0x80>>7)) != 0) { - szThreshold = 0 /* Always analyze if any index lacks statistics */ - break + nIndex++ + if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx7 + 56))&0x80>>7)) != 0) { + szThreshold = int16(-int32(1)) /* Always analyze if any index lacks statistics */ } - goto _70 - _70: + goto _74 + _74: ; - pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext + pIdx7 = (*TIndex)(unsafe.Pointer(pIdx7)).FpNext + } + /* If table pTab has not been used in a way that would benefit from + ** having analysis statistics during the current session, then skip it, + ** unless the 0x10000 MASK bit is set. */ + if (*TTable)(unsafe.Pointer(pTab12)).FtabFlags&uint32(TF_MaybeReanalyze) != uint32(0) { + /* Check for size change if stat1 has been used for a query */ + } else { + if opMask&uint32(0x10000) != 0 { + /* Check for size change if 0x10000 is set */ + } else { + if (*TTable)(unsafe.Pointer(pTab12)).FpIndex != uintptr(0) && int32(szThreshold) < 0 { + /* Do analysis if unanalyzed indexes exists */ + } else { + /* Otherwise, we can skip this table */ + goto _73 + } + } } - if szThreshold != 0 { - _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab11, int32(OP_OpenRead)) - _sqlite3VdbeAddOp3(tls, v, int32(OP_IfSmaller), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), int32(szThreshold)) + nCheck++ + if nCheck == int32(2) { + /* If ANALYZE might be invoked two or more times, hold a write + ** transaction for efficiency */ + _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) + } + nBtree += nIndex + int32(1) + /* Reanalyze if the table is 10 times larger or smaller than + ** the last analysis. Unconditional reanalysis if there are + ** unanalyzed indexes. */ + _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab12, int32(OP_OpenRead)) + if int32(szThreshold) >= 0 { + iRange = int16(33) /* 10x size change */ + if int32(szThreshold) >= int32(iRange) { + v75 = int32(szThreshold) - int32(iRange) + } else { + v75 = -int32(1) + } + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IfSizeBetween), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), v75, int32(szThreshold)+int32(iRange)) + } else { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1))) } - zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18555, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTable)(unsafe.Pointer(pTab11)).FzName)) + zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18642, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTable)(unsafe.Pointer(pTab12)).FzName)) if opMask&uint32(0x01) != 0 { r11 = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, r11, 0, zSubSql, -int32(6)) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), r11, int32(1)) } else { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), 0, 0, 0, zSubSql, -int32(6)) + if nLimit != 0 { + v76 = int32(0x02) + } else { + v76 = 00 + } + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), v76, nLimit, 0, zSubSql, -int32(6)) } - goto _69 - _69: + goto _73 + _73: ; k4 = (*THashElem)(unsafe.Pointer(k4)).Fnext } - goto _67 - _67: + goto _71 + _71: ; iDb++ } _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) + /* In a schema with a large number of tables and indexes, scale back + ** the analysis_limit to avoid excess run-time in the worst case. + */ + if !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && nLimit > 0 && nBtree > int32(100) { + nLimit = int32(100) * nLimit / nBtree + if nLimit < int32(100) { + nLimit = int32(100) + } + aOp5 = _sqlite3VdbeGetOp(tls, v, 0) + iEnd = _sqlite3VdbeCurrentAddr(tls, v) + iAddr1 = 0 + for { + if !(iAddr1 < iEnd) { + break + } + if int32((*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*20))).Fopcode) == int32(OP_SqlExec) { + (*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*20))).Fp2 = nLimit + } + goto _77 + _77: + ; + iAddr1++ + } + } break /* ** PRAGMA busy_timeout @@ -119860,34 +120724,34 @@ var _encnames1 = [9]struct { Fenc Tu8 }{ 0: { - FzName: __ccgo_ts + 18464, + FzName: __ccgo_ts + 18551, Fenc: uint8(SQLITE_UTF8), }, 1: { - FzName: __ccgo_ts + 18469, + FzName: __ccgo_ts + 18556, Fenc: uint8(SQLITE_UTF8), }, 2: { - FzName: __ccgo_ts + 18475, + FzName: __ccgo_ts + 18562, Fenc: uint8(SQLITE_UTF16LE), }, 3: { - FzName: __ccgo_ts + 18484, + FzName: __ccgo_ts + 18571, Fenc: uint8(SQLITE_UTF16BE), }, 4: { - FzName: __ccgo_ts + 18493, + FzName: __ccgo_ts + 18580, Fenc: uint8(SQLITE_UTF16LE), }, 5: { - FzName: __ccgo_ts + 18501, + FzName: __ccgo_ts + 18588, Fenc: uint8(SQLITE_UTF16BE), }, 6: { - FzName: __ccgo_ts + 18509, + FzName: __ccgo_ts + 18596, }, 7: { - FzName: __ccgo_ts + 18516, + FzName: __ccgo_ts + 18603, }, 8: {}, } @@ -119983,14 +120847,14 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg _ = argc _ = argv _sqlite3StrAccumInit(tls, bp, uintptr(0), bp+24, int32(200), 0) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18573) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18660) i = 0 j = int32((*TPragmaName)(unsafe.Pointer(pPragma)).FiPragCName) for { if !(i < int32((*TPragmaName)(unsafe.Pointer(pPragma)).FnPragCName)) { break } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18588, libc.VaList(bp+232, int32(cSep), _pragCName[j])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18675, libc.VaList(bp+232, int32(cSep), _pragCName[j])) cSep = int8(',') goto _1 _1: @@ -119999,19 +120863,19 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg j++ } if i == 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18595, libc.VaList(bp+232, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18682, libc.VaList(bp+232, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&int32(PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18601) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18688) j++ } if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(libc.Int32FromInt32(PragFlg_SchemaOpt)|libc.Int32FromInt32(PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18613) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18700) j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5170, int32(1)) _sqlite3StrAccumFinish(tls, bp) _ = libc.Int32FromInt32(0) rc = Xsqlite3_declare_vtab(tls, db, bp+24) @@ -120027,7 +120891,7 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg (*TPragmaVtab)(unsafe.Pointer(pTab)).FnHidden = uint8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+232, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+232, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab return rc @@ -120073,14 +120937,14 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 if !(i < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { break } - if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { goto _1 } if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != int32(SQLITE_INDEX_CONSTRAINT_EQ) { goto _1 } - if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { - goto _1 + if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + return int32(SQLITE_CONSTRAINT) } j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn - int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) _ = libc.Int32FromInt32(0) @@ -120099,16 +120963,13 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 j = seen[0] - int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) - if seen[int32(1)] == 0 { - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(1000) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000) - return SQLITE_OK - } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(20) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(20) - j = seen[int32(1)] - int32(1) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + if seen[int32(1)] != 0 { + j = seen[int32(1)] - int32(1) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + } return SQLITE_OK } @@ -120136,6 +120997,7 @@ func _pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { _ = i Xsqlite3_finalize(tls, (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) + (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid = 0 i = 0 for { if !(i < int32(libc.Uint32FromInt64(8)/libc.Uint32FromInt64(4))) { @@ -120214,7 +121076,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if zText != 0 { - *(*uintptr)(unsafe.Pointer(pCsr + 16 + uintptr(j)*4)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+32, zText)) + *(*uintptr)(unsafe.Pointer(pCsr + 16 + uintptr(j)*4)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+32, zText)) if *(*uintptr)(unsafe.Pointer(pCsr + 16 + uintptr(j)*4)) == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -120226,13 +121088,13 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr j++ } _sqlite3StrAccumInit(tls, bp, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb + 116 + 1*4))) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18628) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18715) if *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18636, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18723, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4)))) } Xsqlite3_str_appendall(tls, bp, (*TPragmaName)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer(pCsr + 16)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18640, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pCsr + 16)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18727, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pCsr + 16)))) } zSql = _sqlite3StrAccumFinish(tls, bp) if zSql == uintptr(0) { @@ -120241,7 +121103,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr rc = Xsqlite3_prepare_v2(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), pCsr+4, uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+32, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+32, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return _pragmaVtabNext(tls, pVtabCursor) @@ -120369,24 +121231,24 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) /* A error message has already been generated. Do not overwrite it */ } else { if (*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(libc.Int32FromInt32(INITFLAG_AlterMask)) != 0 { - *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18674, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) + *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18761, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) (*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR) } else { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140891)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141840)) } else { if *(*uintptr)(unsafe.Pointer(azObj + 1*4)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*4)) } else { - v1 = __ccgo_ts + 5108 + v1 = __ccgo_ts + 5172 } zObj = v1 - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18702, libc.VaList(bp+8, zObj)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18789, libc.VaList(bp+8, zObj)) if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 { - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18733, libc.VaList(bp+8, z, zExtra)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18820, libc.VaList(bp+8, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140898)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141847)) } } } @@ -120394,9 +121256,9 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } var _azAlterType = [3]uintptr{ - 0: __ccgo_ts + 18644, - 1: __ccgo_ts + 18651, - 2: __ccgo_ts + 18663, + 0: __ccgo_ts + 18731, + 1: __ccgo_ts + 18738, + 2: __ccgo_ts + 18750, } // C documentation @@ -120476,7 +121338,7 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(iDb) if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), db+168) == 0 || (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage && (*TInitData)(unsafe.Pointer(pData)).FmxPage > uint32(0) { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14516) + _corruptSchema(tls, pData, argv, __ccgo_ts+14609) } } libc.SetBitFieldPtr8Uint32(db+168+8, libc.Uint32FromInt32(0), 0, 0x1) @@ -120511,11 +121373,11 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr } else { pIndex = _sqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*4)), (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName) if pIndex == uintptr(0) { - _corruptSchema(tls, pData, argv, __ccgo_ts+18741) + _corruptSchema(tls, pData, argv, __ccgo_ts+18828) } else { if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), pIndex+44) == 0 || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum < uint32(2) || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage || _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14516) + _corruptSchema(tls, pData, argv, __ccgo_ts+14609) } } } @@ -120559,18 +121421,18 @@ func _sqlite3InitOne(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. */ - (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9058 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9183 if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6533 + v2 = __ccgo_ts + 6597 } else { - v2 = __ccgo_ts + 6066 + v2 = __ccgo_ts + 6130 } v1 = v2 zSchemaTabName = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(2)] = (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8130 - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18754 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8255 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18841 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(5)] = uintptr(0) (*(*TInitData)(unsafe.Pointer(bp + 44))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 44))).FiDb = iDb @@ -120660,7 +121522,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl } else { /* If opening an attached database, the encoding much match ENC(db) */ if (*(*[5]int32)(unsafe.Pointer(bp + 24)))[libc.Int32FromInt32(BTREE_TEXT_ENCODING)-libc.Int32FromInt32(1)]&int32(3) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12095) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12220) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -120686,7 +121548,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = uint8(1) } if int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > int32(SQLITE_MAX_FILE_FORMAT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18826) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18913) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -120702,7 +121564,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl */ _ = libc.Int32FromInt32(0) (*(*TInitData)(unsafe.Pointer(bp + 44))).FmxPage = _sqlite3BtreeLastPage(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18850, libc.VaList(bp+80, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zSchemaTabName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18937, libc.VaList(bp+80, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zSchemaTabName)) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, __ccgo_fp(_sqlite3InitCallback), bp+44, uintptr(0)) @@ -121019,7 +121881,12 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) { var pCleanup uintptr _ = pCleanup - pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(12)) + if _sqlite3FaultSim(tls, int32(300)) != 0 { + pCleanup = uintptr(0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) + } else { + pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(12)) + } if pCleanup != 0 { (*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup (*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup @@ -121051,7 +121918,7 @@ func _sqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FpParse = pParse (*TParse)(unsafe.Pointer(pParse)).Fdb = db if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1632, 0) } } @@ -121087,7 +121954,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } _ = libc.Int32FromInt32(0) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1632, 0) v1 = libc.Int32FromInt32(SQLITE_NOMEM) rc = v1 (*Tsqlite3)(unsafe.Pointer(db)).FerrCode = v1 @@ -121138,7 +122005,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep rc = _sqlite3BtreeSchemaLocked(tls, pBt) if rc != 0 { zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16))).FzDbSName - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18884, libc.VaList(bp+296, zDb)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18971, libc.VaList(bp+296, zDb)) goto end_prepare } } @@ -121154,7 +122021,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep if nBytes >= 0 && (nBytes == 0 || int32(*(*int8)(unsafe.Pointer(zSql + uintptr(nBytes-int32(1))))) != 0) { mxLen = *(*int32)(unsafe.Pointer(db + 116 + 1*4)) if nBytes > mxLen { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+18914, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+19001, 0) rc = _sqlite3ApiExit(tls, db, int32(SQLITE_TOOBIG)) goto end_prepare } @@ -121190,7 +122057,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep _ = libc.Int32FromInt32(0) rc = (*(*TParse)(unsafe.Pointer(bp))).Frc if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3795, libc.VaList(bp+296, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3859, libc.VaList(bp+296, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) } else { _sqlite3Error(tls, db, rc) @@ -121221,7 +122088,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3 cnt = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141699)) + return _sqlite3MisuseError(tls, int32(142654)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) _sqlite3BtreeEnterAll(tls, db) @@ -121364,7 +122231,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr rc = SQLITE_OK *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141848)) + return _sqlite3MisuseError(tls, int32(142803)) } if nBytes >= 0 { z = zSql @@ -121774,15 +122641,15 @@ func _sqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC i++ } if jointype&(libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER)) == libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER) || jointype&int32(JT_ERROR) != 0 || jointype&(libc.Int32FromInt32(JT_OUTER)|libc.Int32FromInt32(JT_LEFT)|libc.Int32FromInt32(JT_RIGHT)) == int32(JT_OUTER) { - zSp1 = __ccgo_ts + 11202 - zSp2 = __ccgo_ts + 11202 + zSp1 = __ccgo_ts + 11327 + zSp2 = __ccgo_ts + 11327 if pB == uintptr(0) { zSp1++ } if pC == uintptr(0) { zSp2++ } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18933, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19020, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) jointype = int32(JT_INNER) } return jointype @@ -122085,7 +122952,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { if int32((*TSrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype)&int32(JT_NATURAL) != 0 { pUsing = uintptr(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 48)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18963, libc.VaList(bp+16, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19050, libc.VaList(bp+16, 0)) return int32(1) } j = 0 @@ -122138,7 +123005,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { zName1 = (*(*TIdList_item)(unsafe.Pointer(pList + 8 + uintptr(j)*8))).FzName iRightCol = _sqlite3ColumnIndex(tls, pRightTab, zName1) if iRightCol < 0 || _tableAndColumnIndex(tls, pSrc, 0, i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x1000>>12))) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19013, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19100, libc.VaList(bp+16, zName1)) return int32(1) } pE1 = _sqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4))) @@ -122160,7 +123027,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { pFuncArgs = uintptr(0) /* Arguments to the coalesce() */ for _tableAndColumnIndex(tls, pSrc, *(*int32)(unsafe.Pointer(bp))+int32(1), i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x1000>>12))) != 0 { if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*68 + 36 + 4))&0x400>>10)) == 0 || _sqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*68 + 48)), zName1) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19077, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19164, libc.VaList(bp+16, zName1)) break } pFuncArgs = _sqlite3ExprListAppend(tls, pParse, pFuncArgs, pE1) @@ -122206,7 +123073,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { } var _tkCoalesce = TToken{ - Fz: __ccgo_ts + 6730, + Fz: __ccgo_ts + 6794, Fn: uint32(8), } @@ -123006,13 +123873,13 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { _ = z switch id { case int32(TK_ALL): - z = __ccgo_ts + 19114 + z = __ccgo_ts + 19201 case int32(TK_INTERSECT): - z = __ccgo_ts + 19124 + z = __ccgo_ts + 19211 case int32(TK_EXCEPT): - z = __ccgo_ts + 19134 + z = __ccgo_ts + 19221 default: - z = __ccgo_ts + 19141 + z = __ccgo_ts + 19228 break } return z @@ -123033,7 +123900,7 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { func _explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19147, libc.VaList(bp+8, zUsage)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19234, libc.VaList(bp+8, zUsage)) } /* @@ -123067,12 +123934,17 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, iParm = (*TSelectDest)(unsafe.Pointer(pDest)).FiSDParm /* True if sorter record includes seq. no. */ nRefKey = 0 aOutEx = (*TSelect)(unsafe.Pointer(p)).FpEList + 8 - if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 { - v1 = __ccgo_ts + 19170 + nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat == 0 || nKey == int32(1) { + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat != 0 { + v1 = __ccgo_ts + 19257 + } else { + v1 = __ccgo_ts + 1662 + } + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19271, libc.VaList(bp+8, v1)) } else { - v1 = __ccgo_ts + 1648 + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19302, libc.VaList(bp+8, nKey)) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19185, libc.VaList(bp+8, v1)) _ = libc.Int32FromInt32(0) if (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut != 0 { _sqlite3VdbeAddOp2(tls, v, int32(OP_Gosub), (*TSortCtx)(unsafe.Pointer(pSort)).FregReturn, (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut) @@ -123095,7 +123967,6 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, regRow = _sqlite3GetTempRange(tls, pParse, nColumn) } } - nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat if int32((*TSortCtx)(unsafe.Pointer(pSort)).FsortFlags)&int32(SORTFLAG_UseSorter) != 0 { v3 = pParse + 44 *(*int32)(unsafe.Pointer(v3))++ @@ -123321,7 +124192,7 @@ func _columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr _ = libc.Int32FromInt32(0) if iCol < 0 { zType = __ccgo_ts + 1136 - *(*uintptr)(unsafe.Pointer(bp + 8)) = __ccgo_ts + 16694 + *(*uintptr)(unsafe.Pointer(bp + 8)) = __ccgo_ts + 16781 } else { *(*uintptr)(unsafe.Pointer(bp + 8)) = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FzCnName zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*12, uintptr(0)) @@ -123474,13 +124345,13 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } _ = libc.Int32FromInt32(0) if iCol < 0 { - zCol = __ccgo_ts + 16694 + zCol = __ccgo_ts + 16781 } else { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FzCnName } if fullName != 0 { zName1 = uintptr(0) - zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12381, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) + zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12506, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName1, __ccgo_fp(_sqlite3OomClear)) } else { _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, uintptr(-libc.Int32FromInt32(1))) @@ -123488,7 +124359,7 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { z = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*20))).FzEName if z == uintptr(0) { - v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19216, libc.VaList(bp+8, i+int32(1))) + v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19348, libc.VaList(bp+8, i+int32(1))) } else { v2 = _sqlite3DbStrDup(tls, db, z) } @@ -123582,7 +124453,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if iCol >= 0 { v3 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FzCnName } else { - v3 = __ccgo_ts + 16694 + v3 = __ccgo_ts + 16781 } zName = v3 } else { @@ -123598,7 +124469,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if zName != 0 && !(_sqlite3IsTrueOrFalse(tls, zName) != 0) { zName = _sqlite3DbStrDup(tls, db, zName) } else { - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19216, libc.VaList(bp+32, i+int32(1))) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19348, libc.VaList(bp+32, i+int32(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. @@ -123634,7 +124505,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, } *(*Tu32)(unsafe.Pointer(bp))++ v8 = *(*Tu32)(unsafe.Pointer(bp)) - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19225, libc.VaList(bp+32, nName, zName, v8)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19357, libc.VaList(bp+32, nName, zName, v8)) _sqlite3ProgressCheck(tls, pParse) if *(*Tu32)(unsafe.Pointer(bp)) > uint32(3) { Xsqlite3_randomness(tls, int32(4), bp) @@ -123694,9 +124565,9 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS defer tls.Free(48) var a, db, p, pCol, pColl, pS2, zType, p4, p5 uintptr var i, j, m int32 - var m1, n Ti64 + var k, n Ti64 var _ /* sNC at bp+0 */ TNameContext - _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, m, m1, n, p, pCol, pColl, pS2, zType, p4, p5 + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, k, m, n, p, pCol, pColl, pS2, zType, p4, p5 db = (*TParse)(unsafe.Pointer(pParse)).Fdb _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -123717,17 +124588,22 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS if !(i < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } + m = 0 + pS2 = pSelect *(*Tu32)(unsafe.Pointer(pTab + 28)) |= uint32(int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags) & libc.Int32FromInt32(COLFLAG_NOINSERT)) p = (*(*TExprList_item)(unsafe.Pointer(a + uintptr(i)*20))).FpExpr /* pCol->szEst = ... // Column size est for SELECT tables never used */ (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, p) + for int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) && (*TSelect)(unsafe.Pointer(pS2)).FpNext != uintptr(0) { + m |= _sqlite3ExprDataType(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*20))).FpExpr) + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext + (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*20))).FpExpr) + } if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) { (*TColumn)(unsafe.Pointer(pCol)).Faffinity = aff } - if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && (*TSelect)(unsafe.Pointer(pSelect)).FpNext != 0 { - m = 0 - m = 0 - pS2 = (*TSelect)(unsafe.Pointer(pSelect)).FpNext + if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && ((*TSelect)(unsafe.Pointer(pS2)).FpNext != 0 || pS2 != pSelect) { + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext for { if !(pS2 != 0) { break @@ -123752,7 +124628,7 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS zType = _columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0)) if zType == uintptr(0) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) != int32(_sqlite3AffinityType(tls, zType, uintptr(0))) { if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_NUMERIC) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_FLEXNUM) { - zType = __ccgo_ts + 19233 + zType = __ccgo_ts + 19365 } else { zType = uintptr(0) j = int32(1) @@ -123772,13 +124648,13 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS } } if zType != 0 { - m1 = int64(_sqlite3Strlen30(tls, zType)) + k = int64(_sqlite3Strlen30(tls, zType)) n = int64(_sqlite3Strlen30(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) - (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+m1+int64(2))) + (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+k+int64(2))) p4 = pCol + 10 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) & ^(libc.Int32FromInt32(COLFLAG_HASTYPE) | libc.Int32FromInt32(COLFLAG_HASCOLL))) if (*TColumn)(unsafe.Pointer(pCol)).FzCnName != 0 { - libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint32(m1+int64(1))) + libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint32(k+int64(1))) p5 = pCol + 10 *(*Tu16)(unsafe.Pointer(p5)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p5))) | libc.Int32FromInt32(COLFLAG_HASTYPE)) } @@ -124074,7 +124950,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest iDistinct = 0 /* To ensure unique results if UNION */ eDest = int32(SRT_Fifo) /* Registers used by LIMIT and OFFSET */ if (*TSelect)(unsafe.Pointer(p)).FpWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19237, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19369, 0) return } /* Obtain authorization to do a recursive query */ @@ -124167,7 +125043,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest break } if (*TSelect)(unsafe.Pointer(pFirstRec)).FselFlags&uint32(SF_Aggregate) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19286, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19418, 0) goto end_of_recursive_query } (*TSelect)(unsafe.Pointer(pFirstRec)).Fop = uint8(TK_ALL) @@ -124182,7 +125058,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest /* Store the results of the setup-query in Queue. */ pSetup = (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior (*TSelect)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19328, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19460, 0) rc = _sqlite3Select(tls, pParse, pSetup, bp) (*TSelect)(unsafe.Pointer(pSetup)).FpNext = p if rc != 0 { @@ -124210,7 +125086,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest ** the value for the recursive-table. Store the results in the Queue. */ (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19334, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19466, 0) _sqlite3Select(tls, pParse, p, bp) _ = libc.Int32FromInt32(0) (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -124269,11 +125145,11 @@ func _multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) nRow += bShowAll } if nRow == int32(1) { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } else { - v1 = __ccgo_ts + 19349 + v1 = __ccgo_ts + 19481 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19351, libc.VaList(bp+8, nRow, v1)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19483, libc.VaList(bp+8, nRow, v1)) for p != 0 { _selectInnerLoop(tls, pParse, p, -int32(1), uintptr(0), uintptr(0), pDest, int32(1), int32(1)) if !(bShowAll != 0) { @@ -124388,8 +125264,8 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in return _multiSelectOrderBy(tls, pParse, p, pDest) } else { if (*TSelect)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19374, 0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19389, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19506, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19521, 0) } /* Generate code for the left and right SELECT statements. */ @@ -124415,7 +125291,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in _sqlite3VdbeAddOp3(tls, v, int32(OP_OffsetLimit), (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TSelect)(unsafe.Pointer(p)).FiOffset+int32(1), (*TSelect)(unsafe.Pointer(p)).FiOffset) } } - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19114, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19201, 0) rc = _sqlite3Select(tls, pParse, p, bp) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124472,7 +125348,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 32))).FeDest = op - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19408, libc.VaList(bp+96, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19540, libc.VaList(bp+96, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+32) _ = libc.Int32FromInt32(0) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior @@ -124538,7 +125414,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit1 = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 60))).FiSDParm = tab2 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19408, libc.VaList(bp+96, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19540, libc.VaList(bp+96, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+60) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124665,9 +125541,9 @@ func _sqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) bp := tls.Alloc(16) defer tls.Free(16) if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Values) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19429, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19561, 0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19475, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19607, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) } } @@ -125053,8 +125929,8 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy = _sqlite3ExprListDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0) - _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7367) - _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7367) + _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7492) + _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7492) /* Compute the limit registers */ _computeLimitRegisters(tls, pParse, p, labelEnd) if (*TSelect)(unsafe.Pointer(p)).FiLimit != 0 && op == int32(TK_ALL) { @@ -125098,14 +125974,14 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr regOutB = v21 _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), regAddrA) _sqlite3SelectDestInit(tls, bp+28, int32(SRT_Coroutine), regAddrB) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19557, libc.VaList(bp+64, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19689, libc.VaList(bp+64, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) /* Generate a coroutine to evaluate the SELECT statement to the ** left of the compound operator - the "A" select. */ addrSelectA = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regAddrA, 0, addrSelectA) (*TSelect)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19568, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19700, 0) _sqlite3Select(tls, pParse, pPrior, bp) _sqlite3VdbeEndCoroutine(tls, v, regAddrA) _sqlite3VdbeJumpHere(tls, v, addr1) @@ -125118,7 +125994,7 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr savedOffset = (*TSelect)(unsafe.Pointer(p)).FiOffset (*TSelect)(unsafe.Pointer(p)).FiLimit = regLimitB (*TSelect)(unsafe.Pointer(p)).FiOffset = 0 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19573, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19705, 0) _sqlite3Select(tls, pParse, p, bp+28) (*TSelect)(unsafe.Pointer(p)).FiLimit = savedLimit (*TSelect)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -125336,7 +126212,7 @@ func _substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) (r uintptr) { if pColl != 0 { v1 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v1 = __ccgo_ts + 5086 + v1 = __ccgo_ts + 5150 } pExpr = _sqlite3ExprAddCollateString(tls, (*TSubstContext)(unsafe.Pointer(pSubst)).FpParse, pExpr, v1) } @@ -126400,10 +127276,10 @@ func _findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pLeft) != 0 { + if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pLeft) != 0 { _constInsert(tls, pConst, pRight, pLeft, pExpr) } - if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pRight) != 0 { + if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pRight) != 0 { _constInsert(tls, pConst, pLeft, pRight, pExpr) } } @@ -126644,6 +127520,18 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** The hope is that the terms added to the inner query will make it more // ** efficient. // ** +// ** NAME AMBIGUITY +// ** +// ** This optimization is called the "WHERE-clause push-down optimization". +// ** +// ** Do not confuse this optimization with another unrelated optimization +// ** with a similar name: The "MySQL push-down optimization" causes WHERE +// ** clause terms that can be evaluated using only the index and without +// ** reference to the table are run first, so that if they are false, +// ** unnecessary table seeks are avoided. +// ** +// ** RULES +// ** // ** Do not attempt this optimization if: // ** // ** (1) (** This restriction was removed on 2017-09-29. We used to @@ -126709,10 +127597,10 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** (9c) There is a RIGHT JOIN (or FULL JOIN) in between the ON/USING // ** clause and the subquery. // ** -// ** Without this restriction, the push-down optimization might move -// ** the ON/USING filter expression from the left side of a RIGHT JOIN -// ** over to the right side, which leads to incorrect answers. See -// ** also restriction (6) in sqlite3ExprIsSingleTableConstraint(). +// ** Without this restriction, the WHERE-clause push-down optimization +// ** might move the ON/USING filter expression from the left side of a +// ** RIGHT JOIN over to the right side, which leads to incorrect answers. +// ** See also restriction (6) in sqlite3ExprIsSingleTableConstraint(). // ** // ** (10) The inner query is not the right-hand table of a RIGHT JOIN. // ** @@ -126807,7 +127695,7 @@ func _pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere ui nChng += _pushDownWhereTerms(tls, pParse, pSubq, (*TExpr)(unsafe.Pointer(pWhere)).FpRight, pSrcList, iSrc) pWhere = (*TExpr)(unsafe.Pointer(pWhere)).FpLeft } - if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc) != 0 { + if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc, int32(1)) != 0 { nChng++ *(*Tu32)(unsafe.Pointer(pSubq + 4)) |= uint32(SF_PushDown) for pSubq != 0 { @@ -126986,13 +127874,13 @@ func _minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) (r } _ = libc.Int32FromInt32(0) zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8)) - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15550) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15643) == 0 { eRet = int32(WHERE_ORDERBY_MIN) if _sqlite3ExprCanBeNull(tls, (*(*TExprList_item)(unsafe.Pointer(pEList + 8))).FpExpr) != 0 { sortFlags = uint8(KEYINFO_ORDER_BIGNULL) } } else { - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15554) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15647) == 0 { eRet = int32(WHERE_ORDERBY_MAX) sortFlags = uint8(KEYINFO_ORDER_DESC) } else { @@ -127088,7 +127976,7 @@ func _sqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r in pIdx = (*TIndex)(unsafe.Pointer(pIdx)).FpNext } if !(pIdx != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19579, libc.VaList(bp+8, zIndexedBy, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19711, libc.VaList(bp+8, zIndexedBy, 0)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) return int32(SQLITE_ERROR) } @@ -127215,7 +128103,7 @@ func _cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 36 + 4))&0x4>>2)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19597, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19729, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) return int32(1) } return 0 @@ -127397,7 +128285,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom *(*Tu32)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= uint32(SF_CopyCte) _ = libc.Int32FromInt32(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 36 + 4))&0x2>>1)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19620, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 60)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19752, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 60)))) return int32(2) } libc.SetBitFieldPtr16Uint32(pFrom+36+4, libc.Uint32FromInt32(1), 8, 0x100) @@ -127422,7 +128310,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ libc.SetBitFieldPtr16Uint32(pItem+36+4, libc.Uint32FromInt32(1), 6, 0x40) if (*TSelect)(unsafe.Pointer(pRecTerm)).FselFlags&uint32(SF_Recursive) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19640, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19772, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) return int32(2) } *(*Tu32)(unsafe.Pointer(pRecTerm + 4)) |= uint32(SF_Recursive) @@ -127444,7 +128332,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } pRecTerm = (*TSelect)(unsafe.Pointer(pRecTerm)).FpPrior } - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19683 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19815 pSavedWith = (*TParse)(unsafe.Pointer(pParse)).FpWith (*TParse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp)) if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { @@ -127480,7 +128368,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pEList = (*TSelect)(unsafe.Pointer(pLeft)).FpEList if (*TCte)(unsafe.Pointer(pCte)).FpCols != 0 { if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr != (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19706, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19838, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*TParse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return int32(2) } @@ -127489,9 +128377,9 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom _sqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+34, pTab+4) if bMayRecursive != 0 { if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19744 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19876 } else { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19778 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19910 } _sqlite3WalkSelect(tls, pWalker, pSel) } @@ -127552,7 +128440,7 @@ func _sqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int if (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 { (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3DbStrDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias) } else { - (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19816, libc.VaList(bp+8, pFrom)) + (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19948, libc.VaList(bp+8, pFrom)) } for (*TSelect)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*TSelect)(unsafe.Pointer(pSel)).FpPrior @@ -127716,7 +128604,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { return int32(WRC_Abort) } if (*TTable)(unsafe.Pointer(pTab)).FnTabRef >= uint32(0xffff) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19820, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19952, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) (*TSrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return int32(WRC_Abort) } @@ -127732,7 +128620,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) && (*TTable)(unsafe.Pointer(pTab)).FpSchema != (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19859, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19991, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } (*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect = _sqlite3SelectDup(tls, db, (*(*struct { FpSelect uintptr @@ -127747,7 +128635,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 44))).Fp)).FeVtabRisk) > libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15109, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15202, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } } _ = libc.Int32FromInt32(0) @@ -127884,7 +128772,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if iDb >= 0 { v10 = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName } else { - v10 = __ccgo_ts + 6590 + v10 = __ccgo_ts + 6654 } zSchemaName = v10 } @@ -127902,7 +128790,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if pNew != 0 { pX = pNew + 8 + uintptr((*TExprList)(unsafe.Pointer(pNew)).FnExpr-int32(1))*20 _ = libc.Int32FromInt32(0) - (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19890, libc.VaList(bp+8, zUName)) + (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20022, libc.VaList(bp+8, zUName)) libc.SetBitFieldPtr16Uint32(pX+8+4, libc.Uint32FromInt32(ENAME_TAB), 0, 0x3) libc.SetBitFieldPtr16Uint32(pX+8+4, libc.Uint32FromInt32(1), 7, 0x80) } @@ -127984,7 +128872,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, (*(*TExprList_item)(unsafe.Pointer(pNestedFrom + 8 + uintptr(j)*20))).FzEName) } else { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19895, libc.VaList(bp+8, zSchemaName, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20027, libc.VaList(bp+8, zSchemaName, zTabName, zName)) } if j == int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) { v13 = int32(ENAME_ROWID) @@ -127997,7 +128885,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } } else { if longNames != 0 { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12381, libc.VaList(bp+8, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12506, libc.VaList(bp+8, zTabName, zName)) libc.SetBitFieldPtr16Uint32(pX1+8+4, libc.Uint32FromInt32(ENAME_NAME), 0, 0x3) } else { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, zName) @@ -128017,9 +128905,9 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if !(tableSeen != 0) { if zTName != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19904, libc.VaList(bp+8, zTName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20036, libc.VaList(bp+8, zTName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19922, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20054, 0) } } } @@ -128033,7 +128921,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if (*TSelect)(unsafe.Pointer(p)).FpEList != 0 { if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 116 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19942, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20074, 0) return int32(WRC_Abort) } if elistFlags&uint32(libc.Int32FromInt32(EP_HasFunc)|libc.Int32FromInt32(EP_Subquery)) != uint32(0) { @@ -128395,12 +129283,12 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { pE = (*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFExpr _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(pE + 20)) == uintptr(0) || (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 20)))).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19973, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20105, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -int32(1) } else { pKeyInfo = _sqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 20)), 0, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20024, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20156, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab >= 0 { @@ -128426,7 +129314,7 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { (*TKeyInfo)(unsafe.Pointer(pKeyInfo1)).FnKeyField++ } _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab, (*TExprList)(unsafe.Pointer(pOBList)).FnExpr+nExtra, 0, pKeyInfo1, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20057, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20189, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } goto _1 _1: @@ -128751,16 +129639,16 @@ func _explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintp if int32((*TParse)(unsafe.Pointer(pParse)).Fexplain) == int32(2) { bCover = libc.BoolInt32(pIdx != uintptr(0) && ((*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) || !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 56))&0x3>>0)) == libc.Int32FromInt32(SQLITE_IDXTYPE_PRIMARYKEY)))) if bCover != 0 { - v1 = __ccgo_ts + 20090 + v1 = __ccgo_ts + 20222 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } if bCover != 0 { v2 = (*TIndex)(unsafe.Pointer(pIdx)).FzName } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20113, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20245, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) } } @@ -128792,7 +129680,7 @@ func _havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3 ** statements AggInfo structure. */ if _sqlite3ExprIsConstantOrGroupBy(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*TSelect)(unsafe.Pointer(pS)).FpGroupBy) != 0 && libc.BoolInt32((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse)) == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8130) + pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8255) if pNew != 0 { pWhere = (*TSelect)(unsafe.Pointer(pS)).FpWhere t = *(*TExpr)(unsafe.Pointer(pNew)) @@ -128952,7 +129840,7 @@ func _countOfViewOptimization(tls *libc.TLS, pParse uintptr, p uintptr) (r int32 return 0 } /* Result is an aggregate */ _ = libc.Int32FromInt32(0) - if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15844) != 0 { + if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15937) != 0 { return 0 } /* Is count() */ _ = libc.Int32FromInt32(0) @@ -129225,7 +130113,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { v1 = (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p0)).FpTab)).FzName } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20125, libc.VaList(bp+128, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20257, libc.VaList(bp+128, v1)) goto select_end } /* Clear the SF_UFSrcCheck flag. The check has already been performed, @@ -129328,7 +130216,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r /* Catch mismatch in the declared columns of a view and the number of ** columns in the SELECT on the RHS */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) != (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20179, libc.VaList(bp+128, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20311, libc.VaList(bp+128, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end } /* Do not attempt the usual optimizations (flattening and ORDER BY @@ -129466,12 +130354,12 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r ** string for the fake column name seems safer. */ if (*TSrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0) && (*TSrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0) { - _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1648, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1662, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) } /* Generate code for all sub-queries in the FROM clause */ pSub1 = (*TSrcItem)(unsafe.Pointer(pItem1)).FpSelect - if pSub1 == uintptr(0) { + if pSub1 == uintptr(0) || (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub != 0 { goto _10 } /* The code for a subquery should only be generated once. */ @@ -129512,7 +130400,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop _sqlite3SelectDestInit(tls, bp+56, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20219, libc.VaList(bp+128, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20351, libc.VaList(bp+128, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+56) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+36+4, libc.Uint32FromInt32(1), 5, 0x20) @@ -129560,7 +130448,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { } _sqlite3SelectDestInit(tls, bp+56, int32(SRT_EphemTab), (*TSrcItem)(unsafe.Pointer(pItem1)).FiCursor) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20234, libc.VaList(bp+128, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20366, libc.VaList(bp+128, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+56) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow if onceAddr != 0 { @@ -129978,11 +130866,11 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r groupBySort = 0 } else { if (*(*TDistinctCtx)(unsafe.Pointer(bp))).FisTnct != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Distinct) == uint32(0) { - v44 = __ccgo_ts + 20250 + v44 = __ccgo_ts + 20382 } else { - v44 = __ccgo_ts + 20259 + v44 = __ccgo_ts + 20391 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19147, libc.VaList(bp+128, v44)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19234, libc.VaList(bp+128, v44)) groupBySort = int32(1) nGroupBy = (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr nCol = nGroupBy @@ -130306,7 +131194,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeResolveLabel(tls, v, addrEnd) } /* endif aggregate query */ if int32((*(*TDistinctCtx)(unsafe.Pointer(bp))).FeTnctType) == int32(WHERE_DISTINCT_UNORDERED) { - _explainTempTable(tls, pParse, __ccgo_ts+20250) + _explainTempTable(tls, pParse, __ccgo_ts+20382) } /* If there is an ORDER BY clause, then we need to sort the results ** and send them to the callback one by one. @@ -130415,7 +131303,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr if !(i < nCol) { break } - z = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*4)))) + z = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*4)))) if z == uintptr(0) { goto malloc_failed } @@ -130431,7 +131319,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr } else { if int32((*TTabResult)(unsafe.Pointer(p)).FnColumn) != nCol { Xsqlite3_free(tls, (*TTabResult)(unsafe.Pointer(p)).FzErrMsg) - (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20268, 0) + (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20400, 0) (*TTabResult)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) return int32(1) } @@ -130522,7 +131410,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+40, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+40, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) } Xsqlite3_free(tls, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg) } @@ -130692,7 +131580,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if isTemp != 0 { /* If TEMP was specified, then the trigger name may not be qualified. */ if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20333, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20465, 0) goto trigger_cleanup } iDb = int32(1) @@ -130733,7 +131621,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } _ = libc.Int32FromInt32(0) - _sqlite3FixInit(tls, bp+4, pParse, iDb, __ccgo_ts+20379, *(*uintptr)(unsafe.Pointer(bp))) + _sqlite3FixInit(tls, bp+4, pParse, iDb, __ccgo_ts+20511, *(*uintptr)(unsafe.Pointer(bp))) if _sqlite3FixSrcList(tls, bp+4, pTableName) != 0 { goto trigger_cleanup } @@ -130743,11 +131631,11 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_orphan_error } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20387, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20519, 0) goto trigger_orphan_error } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, db) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20428, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20560, 0) goto trigger_orphan_error } /* Check that the trigger name is not reserved and that no trigger of the @@ -130757,14 +131645,14 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 _ = libc.Int32FromInt32(0) goto trigger_cleanup } - if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20379, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { + if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20511, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { goto trigger_cleanup } _ = libc.Int32FromInt32(0) if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FpSchema+40, zName) != 0 { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20468, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20600, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp)))) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -130773,8 +131661,8 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 } } /* Do not create a trigger on a system table */ - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20494, 0) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) == 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20626, 0) goto trigger_cleanup } /* INSTEAD of triggers are only for views and views only support INSTEAD @@ -130782,15 +131670,15 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && tr_tm != int32(TK_INSTEAD) { if tr_tm == int32(TK_BEFORE) { - v1 = __ccgo_ts + 20532 + v1 = __ccgo_ts + 20664 } else { - v1 = __ccgo_ts + 20539 + v1 = __ccgo_ts + 20671 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20545, libc.VaList(bp+64, v1, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20677, libc.VaList(bp+64, v1, pTableName+8)) goto trigger_orphan_error } if !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) && tr_tm == int32(TK_INSTEAD) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20582, libc.VaList(bp+64, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20714, libc.VaList(bp+64, pTableName+8)) goto trigger_orphan_error } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -130810,9 +131698,9 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iTabDb == int32(1) { - v3 = __ccgo_ts + 6533 + v3 = __ccgo_ts + 6597 } else { - v3 = __ccgo_ts + 6066 + v3 = __ccgo_ts + 6130 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto trigger_cleanup @@ -130914,7 +131802,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl pStepList = (*TTriggerStep)(unsafe.Pointer(pStepList)).FpNext } _sqlite3TokenInit(tls, bp+56, (*TTrigger)(unsafe.Pointer(pTrig)).FzName) - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20379, bp+56) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20511, bp+56) if _sqlite3FixTriggerStep(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 || _sqlite3FixExpr(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).FpWhen) != 0 { goto triggerfinish_cleanup } @@ -130937,7 +131825,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl break } if (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget != uintptr(0) && _sqlite3ShadowTableName(tls, db, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20628, libc.VaList(bp+72, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20760, libc.VaList(bp+72, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) goto triggerfinish_cleanup } goto _1 @@ -130953,10 +131841,10 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl } _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) z = _sqlite3DbStrNDup(tls, db, (*TToken)(unsafe.Pointer(pAll)).Fz, uint64((*TToken)(unsafe.Pointer(pAll)).Fn)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20676, libc.VaList(bp+72, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20808, libc.VaList(bp+72, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) _sqlite3DbFree(tls, db, z) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20751, libc.VaList(bp+72, zName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20883, libc.VaList(bp+72, zName)), uint16(0)) } } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { @@ -131232,7 +132120,7 @@ func _sqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int } if !(pTrigger != 0) { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20780, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20912, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, zDb) } @@ -131276,9 +132164,9 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { code = int32(SQLITE_DROP_TRIGGER) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zTab = v1 if iDb == int32(1) { @@ -131293,7 +132181,7 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { v2 = _sqlite3GetVdbe(tls, pParse) v = v2 if v2 != uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20800, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20932, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropTrigger), iDb, 0, 0, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName, 0) } @@ -131429,11 +132317,11 @@ func _triggersReallyExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { if op != int32(TK_INSERT) { if op == int32(TK_DELETE) { - v1 = __ccgo_ts + 20862 + v1 = __ccgo_ts + 20994 } else { - v1 = __ccgo_ts + 20869 + v1 = __ccgo_ts + 21001 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20876, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21008, libc.VaList(bp+8, v1)) } (*TTrigger)(unsafe.Pointer(p)).Ftr_tm = uint8(TRIGGER_BEFORE) } else { @@ -131540,7 +132428,7 @@ func _isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != int32(TK_ASTERISK) { return 0 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20924, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21056, 0) return int32(1) } @@ -131605,6 +132493,81 @@ func _sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab return pNew } +// C documentation +// +// /* If the Expr node is a subquery or an EXISTS operator or an IN operator that +// ** uses a subquery, and if the subquery is SF_Correlated, then mark the +// ** expression as EP_VarSelect. +// */ +func _sqlite3ReturningSubqueryVarSelect(tls *libc.TLS, NotUsed uintptr, pExpr uintptr) (r int32) { + _ = NotUsed + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) && (*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20)))).FselFlags&uint32(SF_Correlated) != uint32(0) { + *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** If the SELECT references the table pWalker->u.pTab, then do two things: +// ** +// ** (1) Mark the SELECT as as SF_Correlated. +// ** (2) Set pWalker->eCode to non-zero so that the caller will know +// ** that (1) has happened. +// */ +func _sqlite3ReturningSubqueryCorrelated(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + var i int32 + var pSrc uintptr + _, _ = i, pSrc + _ = libc.Int32FromInt32(0) + pSrc = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + _ = libc.Int32FromInt32(0) + i = 0 + for { + if !(i < (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) { + break + } + if (*(*TSrcItem)(unsafe.Pointer(pSrc + 8 + uintptr(i)*68))).FpTab == *(*uintptr)(unsafe.Pointer(pWalker + 24)) { + *(*Tu32)(unsafe.Pointer(pSelect + 4)) |= uint32(SF_Correlated) + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + break + } + goto _1 + _1: + ; + i++ + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Scan the expression list that is the argument to RETURNING looking +// ** for subqueries that depend on the table which is being modified in the +// ** statement that is hosting the RETURNING clause (pTab). Mark all such +// ** subqueries as SF_Correlated. If the subqueries are part of an +// ** expression, mark the expression as EP_VarSelect. +// ** +// ** https://sqlite.org/forum/forumpost/2c83569ce8945d39 +// */ +func _sqlite3ProcessReturningSubqueries(tls *libc.TLS, pEList uintptr, pTab uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint32(28)) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ExprWalkNoop) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3ReturningSubqueryCorrelated) + *(*uintptr)(unsafe.Pointer(bp + 24)) = pTab + _sqlite3WalkExprList(tls, bp, pEList) + if (*(*TWalker)(unsafe.Pointer(bp))).FeCode != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ReturningSubqueryVarSelect) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop) + _sqlite3WalkExprList(tls, bp, pEList) + } +} + // C documentation // // /* @@ -131641,6 +132604,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab (*(*TSelect)(unsafe.Pointer(bp))).FpSrc = bp + 76 (*(*TSrcList)(unsafe.Pointer(bp + 76))).FnSrc = int32(1) (*(*TSrcItem)(unsafe.Pointer(bp + 76 + 8))).FpTab = pTab + (*(*TSrcItem)(unsafe.Pointer(bp + 76 + 8))).FzName = (*TTable)(unsafe.Pointer(pTab)).FzName /* tag-20240424-1 */ (*(*TSrcItem)(unsafe.Pointer(bp + 76 + 8))).FiCursor = -int32(1) _sqlite3SelectPrep(tls, pParse, bp, uintptr(0)) if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { @@ -131666,6 +132630,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab if _sqlite3ResolveExprListNames(tls, bp+152, pNew) == SQLITE_OK && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { nCol = (*TExprList)(unsafe.Pointer(pNew)).FnExpr reg = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(1) + _sqlite3ProcessReturningSubqueries(tls, pNew, pTab) *(*int32)(unsafe.Pointer(pParse + 44)) += nCol + int32(2) (*TReturning)(unsafe.Pointer(pReturning)).FiRetReg = reg i = 0 @@ -131738,7 +132703,7 @@ func _codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orcon (*TParse)(unsafe.Pointer(pParse)).FeOrconf = uint8(v2) _ = libc.Int32FromInt32(0) if (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6263, libc.VaList(bp+40, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6327, libc.VaList(bp+40, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) } switch int32((*TTriggerStep)(unsafe.Pointer(pStep)).Fop) { case int32(TK_UPDATE): @@ -131845,7 +132810,7 @@ func _codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintp v = _sqlite3GetVdbe(tls, bp+36) if v != 0 { if (*TTrigger)(unsafe.Pointer(pTrigger)).FzName != 0 { - _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+20966, libc.VaList(bp+328, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) + _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+21098, libc.VaList(bp+328, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) } /* If one was specified, code the WHEN clause. If it evaluates to false ** (or NULL) the sub-vdbe is immediately halted by jumping to the @@ -132559,7 +133524,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui chngPk = uint8(1) } else { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*12))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20980, libc.VaList(bp+80, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*12))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21112, libc.VaList(bp+80, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*12))).FzCnName)) goto update_cleanup } } @@ -132579,13 +133544,13 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui pRowidExpr = (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*20))).FpExpr iRowidExpr = i } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21016, libc.VaList(bp+80, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*20))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21148, libc.VaList(bp+80, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*20))).FzEName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto update_cleanup } } if j < 0 { - v11 = __ccgo_ts + 7905 + v11 = __ccgo_ts + 8030 } else { v11 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*12))).FzCnName } @@ -133281,7 +134246,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui ** that information. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21035) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21167) } goto update_cleanup update_cleanup: @@ -133730,9 +134695,9 @@ func _sqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr if nClause == 0 && (*TUpsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) { (*(*[16]int8)(unsafe.Pointer(bp + 140)))[0] = 0 } else { - Xsqlite3_snprintf(tls, int32(16), bp+140, __ccgo_ts+21048, libc.VaList(bp+168, nClause+int32(1))) + Xsqlite3_snprintf(tls, int32(16), bp+140, __ccgo_ts+21180, libc.VaList(bp+168, nClause+int32(1))) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21052, libc.VaList(bp+168, bp+140)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21184, libc.VaList(bp+168, bp+140)) return int32(SQLITE_ERROR) } goto _1 @@ -133838,7 +134803,7 @@ func _sqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i++ } i = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), iDataCur, 0, iPk, nPk) - _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12470, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12595, -int32(1)) _sqlite3MayAbort(tls, pParse) _sqlite3VdbeJumpHere(tls, v, i) } @@ -133921,7 +134886,7 @@ func _execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) (r int3 ** corrupt the sqlite_schema.sql field with other kinds of statements ** then run VACUUM to get those statements to execute at inappropriate ** times. */ - if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21125, uint32(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21129, uint32(3)) == 0) { + if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21257, uint32(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21261, uint32(3)) == 0) { rc = _execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -134050,24 +135015,24 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p pDb = uintptr(0) /* Name of output file */ pgflags = uint32(PAGER_SYNCHRONOUS_OFF) /* sync flags for output db */ if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21133) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21265) return int32(SQLITE_ERROR) /* IMP: R-12218-18073 */ } if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive > int32(1) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21173) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21305) return int32(SQLITE_ERROR) /* IMP: R-15610-35227 */ } saved_openFlags = (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags if pOut != 0 { if Xsqlite3_value_type(tls, pOut) != int32(SQLITE_TEXT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21216) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21348) return int32(SQLITE_ERROR) } zOut = Xsqlite3_value_text(tls, pOut) *(*uint32)(unsafe.Pointer(db + 56)) &= uint32(^libc.Int32FromInt32(SQLITE_OPEN_READONLY)) *(*uint32)(unsafe.Pointer(db + 56)) |= uint32(libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE)) } else { - zOut = __ccgo_ts + 1648 + zOut = __ccgo_ts + 1662 } /* Save the current value of the database flags so that it can be ** restored before returning. Then set the writable-schema flag, and @@ -134099,7 +135064,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** to write the journal header file. */ nDb = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21234, libc.VaList(bp+24, zOut)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21366, libc.VaList(bp+24, zOut)) (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if rc != SQLITE_OK { goto end_of_vacuum @@ -134113,7 +135078,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p *(*Ti64)(unsafe.Pointer(bp)) = 0 if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0) && (_sqlite3OsFileSize(tls, id, bp) != SQLITE_OK || *(*Ti64)(unsafe.Pointer(bp)) > 0) { rc = int32(SQLITE_ERROR) - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21257) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21389) goto end_of_vacuum } *(*Tu32)(unsafe.Pointer(db + 24)) |= uint32(DBFLAG_VacuumInto) @@ -134130,7 +135095,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, ** to ensure that we do not try to change the page-size on a WAL database. */ - rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14879) + rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14972) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134161,11 +135126,11 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** in the temporary database. */ (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(nDb) /* force new CREATE statements into vacuum_db */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21284, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21416, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21392, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21524, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134174,7 +135139,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy ** the contents to the temporary database. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21446, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21578, libc.VaList(bp+24, zDbMain)) _ = libc.Int32FromInt32(0) *(*Tu32)(unsafe.Pointer(db + 24)) &= uint32(^libc.Int32FromInt32(DBFLAG_Vacuum)) if rc != SQLITE_OK { @@ -134185,7 +135150,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** associated storage, so all we have to do is copy their entries ** from the schema table. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21597, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21729, libc.VaList(bp+24, zDbMain)) if rc != 0 { goto end_of_vacuum } @@ -134733,7 +135698,7 @@ func _addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uint FazArg uintptr Fp uintptr })(unsafe.Pointer(pTable + 44))).FnArg+int32(3) >= *(*int32)(unsafe.Pointer(db + 116 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12700, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12825, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = _sqlite3DbRealloc(tls, db, (*(*struct { FnArg int32 @@ -134860,7 +135825,7 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { if pEnd != 0 { (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((*TToken)(unsafe.Pointer(pEnd)).Fz)-int32((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + (*TToken)(unsafe.Pointer(pEnd)).Fn } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21727, libc.VaList(bp+8, pParse+200)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21859, libc.VaList(bp+8, pParse+200)) /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. @@ -134870,11 +135835,11 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { ** by sqlite3StartTable(). */ iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+21751, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+21883, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) v = _sqlite3GetVdbe(tls, pParse) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) - zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21850, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21982, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) _sqlite3DbFree(tls, db, zStmt) v2 = pParse + 44 @@ -134964,7 +135929,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, break } if (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21869, libc.VaList(bp+32, (*TTable)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22001, libc.VaList(bp+32, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(SQLITE_LOCKED) } goto _1 @@ -135001,6 +135966,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+8, bp+16) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _sqlite3DeleteTable(tls, db, pTab) (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*(*TVtabCtx)(unsafe.Pointer(bp))).FpPrior if rc == int32(SQLITE_NOMEM) { @@ -135009,9 +135976,9 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, _ = libc.Int32FromInt32(0) if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 16)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21911, libc.VaList(bp+32, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22043, libc.VaList(bp+32, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3795, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 16)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3859, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 16)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) } _sqlite3DbFree(tls, db, pVTable) @@ -135024,8 +135991,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*TModule)(unsafe.Pointer(pMod)).FnRefModule++ (*TVTable)(unsafe.Pointer(pVTable)).FnRef = int32(1) if (*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared == 0 { - zFormat = __ccgo_ts + 21941 - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+32, (*TTable)(unsafe.Pointer(pTab)).FzName)) + zFormat = __ccgo_ts + 22073 + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+32, zModuleName)) _sqlite3VtabUnlock(tls, pVTable) rc = int32(SQLITE_ERROR) } else { @@ -135050,7 +136017,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(iCol < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } - zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*12, __ccgo_ts+1648) + zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*12, __ccgo_ts+1662) i = 0 nType = _sqlite3Strlen30(tls, zType) i = 0 @@ -135058,7 +136025,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(i < nType) { break } - if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16585, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { + if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16672, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { break } goto _3 @@ -135142,13 +136109,13 @@ func _sqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 44))).FazArg)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21987, libc.VaList(bp+16, zModule)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22119, libc.VaList(bp+16, zModule)) rc = int32(SQLITE_ERROR) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) (*TParse)(unsafe.Pointer(pParse)).Frc = rc } _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) @@ -135230,7 +136197,7 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, ** error. Otherwise, do nothing. */ if pMod == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21987, libc.VaList(bp+8, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22119, libc.VaList(bp+8, zMod)) rc = int32(SQLITE_ERROR) } else { rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr) @@ -135256,18 +136223,42 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r int32) { bp := tls.Alloc(304) defer tls.Free(304) - var initBusy, rc int32 - var pCtx, pIdx, pNew, pTab, v2 uintptr - var v1 Ti16 + var i, initBusy, rc int32 + var pCtx, pIdx, pNew, pTab, z, v3 uintptr + var v2 Ti16 var _ /* sParse at bp+0 */ TParse - _, _, _, _, _, _, _, _ = initBusy, pCtx, pIdx, pNew, pTab, rc, v1, v2 + var _ /* tokenType at bp+284 */ int32 + _, _, _, _, _, _, _, _, _, _ = i, initBusy, pCtx, pIdx, pNew, pTab, rc, z, v2, v3 rc = SQLITE_OK + /* Verify that the first two keywords in the CREATE TABLE statement + ** really are "CREATE" and "TABLE". If this is not the case, then + ** sqlite3_declare_vtab() is being misused. + */ + z = zCreateTable + i = 0 + for { + if !(_aKeyword1[i] != 0) { + break + } + *(*int32)(unsafe.Pointer(bp + 284)) = 0 + for cond := true; cond; cond = *(*int32)(unsafe.Pointer(bp + 284)) == int32(TK_SPACE) { + z += uintptr(_sqlite3GetToken(tls, z, bp+284)) + } + if *(*int32)(unsafe.Pointer(bp + 284)) != int32(_aKeyword1[i]) { + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+22138, 0) + return int32(SQLITE_ERROR) + } + goto _1 + _1: + ; + i++ + } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { - _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(155155))) + _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(156227))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) - return _sqlite3MisuseError(tls, int32(155157)) + return _sqlite3MisuseError(tls, int32(156229)) } pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab _ = libc.Int32FromInt32(0) @@ -135281,7 +136272,10 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i initBusy = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) (*(*TParse)(unsafe.Pointer(bp))).FnQueryLoop = int16(1) - if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) && (*(*TParse)(unsafe.Pointer(bp))).FpNewTable != uintptr(0) && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && int32((*TTable)(unsafe.Pointer((*(*TParse)(unsafe.Pointer(bp))).FpNewTable)).FeTabType) == TABTYP_NORM { + if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if !((*TTable)(unsafe.Pointer(pTab)).FaCol != 0) { pNew = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable @@ -135291,9 +136285,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 44))).FpDfltList) - v1 = (*TTable)(unsafe.Pointer(pNew)).FnCol - (*TTable)(unsafe.Pointer(pTab)).FnCol = v1 - (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v1 + v2 = (*TTable)(unsafe.Pointer(pNew)).FnCol + (*TTable)(unsafe.Pointer(pTab)).FnCol = v2 + (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v2 *(*Tu32)(unsafe.Pointer(pTab + 28)) |= (*TTable)(unsafe.Pointer(pNew)).FtabFlags & uint32(libc.Int32FromInt32(TF_WithoutRowid)|libc.Int32FromInt32(TF_NoVisibleRowid)) (*TTable)(unsafe.Pointer(pNew)).FnCol = 0 (*TTable)(unsafe.Pointer(pNew)).FaCol = uintptr(0) @@ -135315,11 +136309,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = int32(1) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - v2 = __ccgo_ts + 3795 + v3 = __ccgo_ts + 3859 } else { - v2 = uintptr(0) + v3 = uintptr(0) } - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v2, libc.VaList(bp+296, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v3, libc.VaList(bp+296, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) rc = int32(SQLITE_ERROR) } @@ -135336,6 +136330,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i return rc } +var _aKeyword1 = [3]Tu8{ + 0: uint8(TK_CREATE), + 1: uint8(TK_TABLE), +} + // C documentation // // /* @@ -135797,7 +136796,7 @@ func _sqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) _addModuleArgument(tls, pParse, pTab, _sqlite3DbStrDup(tls, db, (*TTable)(unsafe.Pointer(pTab)).FzName)) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp) if rc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3VtabEponymousTableClear(tls, db, pMod) } @@ -135864,7 +136863,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = _sqlite3MisuseError(tls, int32(155651)) + rc = _sqlite3MisuseError(tls, int32(156723)) } else { _ = libc.Int32FromInt32(0) ap = va @@ -135878,7 +136877,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in case int32(SQLITE_VTAB_USES_ALL_SCHEMAS): (*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1) default: - rc = _sqlite3MisuseError(tls, int32(155673)) + rc = _sqlite3MisuseError(tls, int32(156745)) break } _ = ap @@ -136600,10 +137599,10 @@ type WhereInfo1 = TWhereInfo1 func _explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) (r uintptr) { i = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -int32(2) { - return __ccgo_ts + 22006 + return __ccgo_ts + 22151 } if i == -int32(1) { - return __ccgo_ts + 16694 + return __ccgo_ts + 16781 } return (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*12))).FzCnName } @@ -136623,10 +137622,10 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, _ = i _ = libc.Int32FromInt32(0) if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22013, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22158, int32(5)) } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22019, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22164, int32(1)) } i = 0 for { @@ -136634,7 +137633,7 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13090, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13215, int32(1)) } Xsqlite3_str_appendall(tls, pStr, _explainIndexColumnName(tls, pIdx, iTerm+i)) goto _1 @@ -136643,11 +137642,11 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5170, int32(1)) } Xsqlite3_str_append(tls, pStr, zOp, int32(1)) if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22019, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22164, int32(1)) } i = 0 for { @@ -136655,16 +137654,16 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13090, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13215, int32(1)) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5172, int32(1)) goto _2 _2: ; i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5170, int32(1)) } } @@ -136697,7 +137696,7 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { if int32(nEq) == 0 && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_BTM_LIMIT)|libc.Int32FromInt32(WHERE_TOP_LIMIT)) == uint32(0) { return } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22021, int32(2)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22166, int32(2)) i = 0 for { if !(i < int32(nEq)) { @@ -136705,12 +137704,12 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } z = _explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22013, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22158, int32(5)) } if i >= int32(nSkip) { - v2 = __ccgo_ts + 22024 + v2 = __ccgo_ts + 22169 } else { - v2 = __ccgo_ts + 22029 + v2 = __ccgo_ts + 22174 } Xsqlite3_str_appendf(tls, pStr, v2, libc.VaList(bp+8, z)) goto _1 @@ -136720,13 +137719,13 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } j = i if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_BTM_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22037) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22182) i = int32(1) } if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_TOP_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22039) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22184) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5170, int32(1)) } // C documentation @@ -136769,11 +137768,11 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _sqlite3StrAccumInit(tls, bp, db, bp+24, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if isSearch != 0 { - v2 = __ccgo_ts + 22041 + v2 = __ccgo_ts + 22186 } else { - v2 = __ccgo_ts + 22048 + v2 = __ccgo_ts + 22193 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22053, libc.VaList(bp+136, v2, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22198, libc.VaList(bp+136, v2, pItem)) if flags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_VIRTUALTABLE)) == uint32(0) { zFmt = uintptr(0) _ = libc.Int32FromInt32(0) @@ -136781,37 +137780,37 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _ = libc.Int32FromInt32(0) if !((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) && int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 56))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = __ccgo_ts + 11253 + zFmt = __ccgo_ts + 11378 } } else { if flags&uint32(WHERE_PARTIALIDX) != 0 { - zFmt = __ccgo_ts + 22059 + zFmt = __ccgo_ts + 22204 } else { if flags&uint32(WHERE_AUTO_INDEX) != 0 { - zFmt = __ccgo_ts + 22092 + zFmt = __ccgo_ts + 22237 } else { if flags&uint32(WHERE_IDX_ONLY) != 0 { - zFmt = __ccgo_ts + 22117 + zFmt = __ccgo_ts + 22262 } else { - zFmt = __ccgo_ts + 22135 + zFmt = __ccgo_ts + 22280 } } } } if zFmt != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22144, int32(7)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22289, int32(7)) Xsqlite3_str_appendf(tls, bp, zFmt, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) _explainIndexRange(tls, bp, pLoop) } } else { if flags&uint32(WHERE_IPK) != uint32(0) && flags&uint32(WHERE_CONSTRAINT) != uint32(0) { - zRowid = __ccgo_ts + 16694 - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22152, libc.VaList(bp+136, zRowid)) + zRowid = __ccgo_ts + 16781 + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22297, libc.VaList(bp+136, zRowid)) if flags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != 0 { cRangeOp = int8('=') } else { if flags&uint32(WHERE_BOTH_LIMIT) == uint32(WHERE_BOTH_LIMIT) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22183, libc.VaList(bp+136, zRowid)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22328, libc.VaList(bp+136, zRowid)) cRangeOp = int8('<') } else { if flags&uint32(WHERE_BTM_LIMIT) != 0 { @@ -136822,10 +137821,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22193, libc.VaList(bp+136, int32(cRangeOp))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22338, libc.VaList(bp+136, int32(cRangeOp))) } else { if flags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22198, libc.VaList(bp+136, (*(*struct { + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22343, libc.VaList(bp+136, (*(*struct { FidxNum int32 F__ccgo4 uint8 FisOrdered Ti8 @@ -136844,7 +137843,7 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } if int32((*TSrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&int32(JT_LEFT) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22225, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22370, 0) } zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) @@ -136878,14 +137877,14 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Initial space for EQP output string */ _sqlite3StrAccumInit(tls, bp, db, bp+24, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22236, libc.VaList(bp+136, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22381, libc.VaList(bp+136, pItem)) pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_IPK) != 0 { pTab = (*TSrcItem)(unsafe.Pointer(pItem)).FpTab if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22024, libc.VaList(bp+136, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*12))).FzCnName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22169, libc.VaList(bp+136, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*12))).FzCnName)) } else { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22257, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22402, 0) } } else { i = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) @@ -136895,16 +137894,16 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp } z = _explainIndexColumnName(tls, (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex, i) if i > int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22013, int32(5)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22158, int32(5)) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22024, libc.VaList(bp+136, z)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22169, libc.VaList(bp+136, z)) goto _1 _1: ; i++ } } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5170, int32(1)) zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) return ret @@ -137770,6 +138769,35 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32 } } +// C documentation +// +// /* +// ** Loop pLoop is a WHERE_INDEXED level that uses at least one IN(...) +// ** operator. Return true if level pLoop is guaranteed to visit only one +// ** row for each key generated for the index. +// */ +func _whereLoopIsOneRow(tls *libc.TLS, pLoop uintptr) (r int32) { + var ii int32 + _ = ii + if (*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FonError != 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) == 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq) == int32((*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FnKeyCol) { + ii = 0 + for { + if !(ii < int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq)) { + break + } + if int32((*TWhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(ii)*4)))).FeOperator)&(libc.Int32FromInt32(WO_IS)|libc.Int32FromInt32(WO_ISNULL)) != 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) + } + return 0 +} + // C documentation // // /* @@ -138500,7 +139528,10 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI _ = libc.Int32FromInt32(0) } /* Record the instruction used to terminate the loop. */ - if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 { + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 || (*(*struct { + FnIn int32 + FaInLoop uintptr + })(unsafe.Pointer(pLevel + 64))).FnIn != 0 && regBignull == 0 && _whereLoopIsOneRow(tls, pLoop) != 0 { (*TWhereLevel)(unsafe.Pointer(pLevel)).Fop = uint8(OP_Noop) } else { if bRev != 0 { @@ -138677,7 +139708,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22265, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22410, 0) ii = 0 for { if !(ii < (*TWhereClause)(unsafe.Pointer(pOrWc)).FnTerm) { @@ -138700,7 +139731,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } /* Loop through table entries that match term pOrTerm. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22280, libc.VaList(bp+72, ii+int32(1))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22425, libc.VaList(bp+72, ii+int32(1))) pSubWInfo = _sqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) _ = libc.Int32FromInt32(0) if pSubWInfo != 0 { @@ -138871,6 +139902,12 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** iLoop==3: Code all remaining expressions. ** ** An effort is made to skip unnecessary iterations of the loop. + ** + ** This optimization of causing simple query restrictions to occur before + ** more complex one is call the "push-down" optimization in MySQL. Here + ** in SQLite, the name is "MySQL push-down", since there is also another + ** totally unrelated optimization called "WHERE-clause push-down". + ** Sometimes the qualifier is omitted, resulting in an ambiguity, so beware. */ if pIdx != 0 { v60 = int32(1) @@ -139177,9 +140214,9 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe defer tls.Free(96) var addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, nPk, r, v3 int32 var mAll TBitmask - var pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr + var pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr var _ /* sFrom at bp+0 */ TSrcList - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pRJ = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpRJ @@ -139188,13 +140225,18 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop pTabItem = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*68 mAll = uint64(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22289, libc.VaList(bp+88, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22434, libc.VaList(bp+88, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) k = 0 for { if !(k < iLevel) { break } + _ = libc.Int32FromInt32(0) + pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 752 + uintptr(k)*84))).FiFrom)*68 mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 752 + uintptr(k)*84))).FpWLoop)).FmaskSelf + if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x20>>5)) != 0 { + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pRight)).FpSelect)).FpEList)).FnExpr-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 752 + uintptr(k)*84))).FiTabCur) iIdxCur = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 752 + uintptr(k)*84))).FiIdxCur if iIdxCur != 0 { @@ -139729,19 +140771,19 @@ var _aOp = [4]struct { FeOp2 uint8 }{ 0: { - FzOp: __ccgo_ts + 16543, + FzOp: __ccgo_ts + 16630, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH), }, 1: { - FzOp: __ccgo_ts + 15874, + FzOp: __ccgo_ts + 15967, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB), }, 2: { - FzOp: __ccgo_ts + 15353, + FzOp: __ccgo_ts + 15446, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE), }, 3: { - FzOp: __ccgo_ts + 22303, + FzOp: __ccgo_ts + 22448, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP), }, } @@ -140400,7 +141442,7 @@ func _exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, aiCurCol uintptr, pExpr goto _4 } _ = libc.Int32FromInt32(0) - if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*20))).FpExpr, iCur) == 0 && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_STRING) { + if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*20))).FpExpr, iCur) == 0 && !(_sqlite3ExprIsConstant(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*20))).FpExpr) != 0) { *(*int32)(unsafe.Pointer(aiCurCol)) = iCur *(*int32)(unsafe.Pointer(aiCurCol + 1*4)) = -int32(2) return int32(1) @@ -140560,7 +141602,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { extraRight = x - uint64(1) /* ON clause terms may not be used with an index ** on left table of a LEFT JOIN. Ticket #3015 */ if prereqAll>>libc.Int32FromInt32(1) >= x { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22310, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22455, 0) return } } else { @@ -140572,7 +141614,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { ** if there is a RIGHT or FULL JOIN in the query. This makes SQLite ** more like other systems, and also preserves legacy. */ if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*(*TSrcItem)(unsafe.Pointer(pSrc + 8))).Ffg.Fjointype)&int32(JT_LTORJ) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22310, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22455, 0) return } *(*Tu32)(unsafe.Pointer(pExpr + 4)) &= uint32(^libc.Int32FromInt32(EP_InnerON)) @@ -140663,7 +141705,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { if op == int32(TK_ISNULL) && !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)) != libc.Uint32FromInt32(0)) && 0 == _sqlite3ExprCanBeNull(tls, pLeft) { _ = libc.Int32FromInt32(0) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_TRUEFALSE) /* See tag-20230504-1 */ - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 7891 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8016 *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_IsFalse)) (*TWhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator = uint16(0) @@ -140766,7 +141808,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { *(*Tu8)(unsafe.Pointer(pC)) = uint8(int32(c1) + int32(1)) } if *(*int32)(unsafe.Pointer(bp + 8)) != 0 { - v13 = __ccgo_ts + 22351 + v13 = __ccgo_ts + 22496 } else { v13 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) } @@ -141039,6 +142081,9 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*48))).FleftCursor != iCsr { return } + if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*48))).FprereqRight != uint64(0) { + return + } goto _1 _1: ; @@ -141069,10 +142114,12 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { } /* All conditions are met. Add the terms to the where-clause object. */ _ = libc.Int32FromInt32(0) - _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) - if (*TSelect)(unsafe.Pointer(p)).FiOffset > 0 { + if (*TSelect)(unsafe.Pointer(p)).FiOffset != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiOffset, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpRight, iCsr, int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } + if (*TSelect)(unsafe.Pointer(p)).FiOffset == 0 || (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { + _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) + } } } @@ -141304,7 +142351,7 @@ func _sqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22358, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22503, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) return } pColRef = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_COLUMN), uintptr(0), 0) @@ -141746,6 +142793,50 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { return uintptr(0) } +// C documentation +// +// /* +// ** Term pTerm is guaranteed to be a WO_IN term. It may be a component term +// ** of a vector IN expression of the form "(x, y, ...) IN (SELECT ...)". +// ** This function checks to see if the term is compatible with an index +// ** column with affinity idxaff (one of the SQLITE_AFF_XYZ values). If so, +// ** it returns a pointer to the name of the collation sequence (e.g. "BINARY" +// ** or "NOCASE") used by the comparison in pTerm. If it is not compatible +// ** with affinity idxaff, NULL is returned. +// */ +func _indexInAffinityOk(tls *libc.TLS, pParse uintptr, pTerm uintptr, idxaff Tu8) (r uintptr) { + bp := tls.Alloc(64) + defer tls.Free(64) + var iField int32 + var pRet, pX, v1 uintptr + var _ /* inexpr at bp+0 */ TExpr + _, _, _, _ = iField, pRet, pX, v1 + pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr + _ = libc.Int32FromInt32(0) + if _sqlite3ExprIsVector(tls, (*TExpr)(unsafe.Pointer(pX)).FpLeft) != 0 { + iField = (*(*struct { + FleftColumn int32 + FiField int32 + })(unsafe.Pointer(pTerm + 24))).FiField - int32(1) + (*(*TExpr)(unsafe.Pointer(bp))).Fflags = uint32(0) + (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_EQ) + (*(*TExpr)(unsafe.Pointer(bp))).FpLeft = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pX)).FpLeft + 20)) + 8 + uintptr(iField)*20))).FpExpr + _ = libc.Int32FromInt32(0) + (*(*TExpr)(unsafe.Pointer(bp))).FpRight = (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pX + 20)))).FpEList + 8 + uintptr(iField)*20))).FpExpr + pX = bp + } + if _sqlite3IndexAffinityOk(tls, pX, int8(idxaff)) != 0 { + pRet = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pRet != 0 { + v1 = (*TCollSeq)(unsafe.Pointer(pRet)).FzName + } else { + v1 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + return v1 + } + return uintptr(0) +} + // C documentation // // /* @@ -141756,10 +142847,10 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { var iColumn Ti16 var iCur, j, k int32 - var pColl, pParse, pTerm, pWC, pX, v2 uintptr - var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, v2, v3, v5 /* The term being tested */ - k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ + var pColl, pParse, pTerm, pWC, pX, zCollName, v2, v5 uintptr + var v3, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, zCollName, v2, v3, v5, v6 /* The term being tested */ + k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ _ = libc.Int32FromInt32(0) pWC = (*TWhereScan)(unsafe.Pointer(pScan)).FpWC for int32(1) != 0 { @@ -141807,22 +142898,32 @@ func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { if (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName != 0 && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_ISNULL) == 0 { pParse = (*TWhereInfo)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr - if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { - goto _1 - } - _ = libc.Int32FromInt32(0) - pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) - if pColl == uintptr(0) { - pColl = (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_IN) != 0 { + zCollName = _indexInAffinityOk(tls, pParse, pTerm, uint8((*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff)) + if !(zCollName != 0) { + goto _1 + } + } else { + if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { + goto _1 + } + _ = libc.Int32FromInt32(0) + pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pColl != 0 { + v5 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName + } else { + v5 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + zCollName = v5 } - if _sqlite3StrICmp(tls, (*TCollSeq)(unsafe.Pointer(pColl)).FzName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { + if _sqlite3StrICmp(tls, zCollName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { goto _1 } } - if v5 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v5 { + if v6 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v6 { pX = (*TExpr)(unsafe.Pointer((*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpRight } - if v5 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 28)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 72))) { + if v6 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 28)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 72))) { goto _1 } (*TWhereScan)(unsafe.Pointer(pScan)).FpWC = pWC @@ -142316,7 +143417,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea /* Make the automatic index a partial index if there are terms in the ** WHERE clause (or the ON clause of a LEFT join) that constrain which ** rows of the target table (pSrc) that can be used. */ - if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)) != 0 { + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom), 0) != 0 { pPartial = _sqlite3ExprAnd(tls, pParse, pPartial, _sqlite3ExprDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr, 0)) } if _termCanDriveIndex(tls, pTerm, pSrc, notReady) != 0 { @@ -142332,7 +143433,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea } cMask = v2 if !(sentWarning != 0) { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_WARNING)|libc.Int32FromInt32(1)<>14)) != 0) { eDistinct = int32(2) + libc.BoolInt32(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_SORTBYGROUP) != 0) } else { if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_GROUPBY) != 0 { @@ -142828,7 +143929,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB */ pIdxInfo = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(uint32(64)+(libc.Uint32FromInt64(12)+libc.Uint32FromInt64(8))*uint32(nTerm)+uint32(8)*uint32(nOrderBy)+uint32(24)+uint32(4)*uint32(nTerm))) if pIdxInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1632, 0) return uintptr(0) } pHidden = pIdxInfo + 1*64 @@ -142920,7 +144021,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB break } pExpr1 = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*20))).FpExpr - if _sqlite3ExprIsConstant(tls, pExpr1) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr1) != 0 { goto _11 } _ = libc.Int32FromInt32(0) @@ -142999,9 +144100,9 @@ func _vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) (r i _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) } else { if !((*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } } @@ -144373,7 +145474,7 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 56))&0x4>>2)) != 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GE)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LE)-libc.Int32FromInt32(TK_EQ))) } - if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 56))&0x100>>8)) != 0 { + if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 56))&0x100>>8)) != 0 && int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 36 + 4))&0x2>>1)) == 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ) | libc.Int32FromInt32(WO_IN) | libc.Int32FromInt32(WO_IS)) } } @@ -144625,10 +145726,13 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } } } - /* Set rCostIdx to the cost of visiting selected rows in index. Add - ** it to pNew->rRun, which is currently set to the cost of the index - ** seek only. Then, if this is a non-covering index, add the cost of - ** visiting the rows in the main table. */ + /* Set rCostIdx to the estimated cost of visiting selected rows in the + ** index. The estimate is the sum of two values: + ** 1. The cost of doing one search-by-key to find the first matching + ** entry + ** 2. Stepping forward in the index pNew->nOut times to find all + ** additional matching entries. + */ _ = libc.Int32FromInt32(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 56))&0x3>>0)) == int32(SQLITE_IDXTYPE_IPK) { /* The pProbe->szIdxRow is low for an IPK table since the interior @@ -144639,7 +145743,14 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } else { rCostIdx = int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut) + int32(1) + int32(15)*int32((*TIndex)(unsafe.Pointer(pProbe)).FszIdxRow)/int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FszTabRow)) } - (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + rCostIdx = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + /* Estimate the cost of running the loop. If all data is coming + ** from the index, then this is just the cost of doing the index + ** lookup and scan. But if some data is coming out of the main table, + ** we also have to add in the cost of doing pNew->nOut searches to + ** locate the row in the main table that corresponds to the index entry. + */ + (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = rCostIdx if (*TWhereLoop)(unsafe.Pointer(pNew)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IDX_ONLY)|libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_EXPRIDX)) == uint32(0) { (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun, int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut)+int32(16))) } @@ -144745,7 +145856,7 @@ func _indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, if pExpr == uintptr(0) { goto _2 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { + if (int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) || int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_COLUMN)) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { return int32(1) } @@ -145082,7 +146193,7 @@ func _wherePartIdxExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, pPart uintpt if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) != int32(TK_COLUMN) { return } - if !(_sqlite3ExprIsConstant(tls, pRight) != 0) { + if !(_sqlite3ExprIsConstant(tls, uintptr(0), pRight) != 0) { return } if !(_sqlite3IsBinary(tls, _sqlite3ExprCompareCollSeq(tls, pParse, pPart)) != 0) { @@ -145417,7 +146528,7 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in ** unique index is used (making the index functionally non-unique) ** then the sqlite_stat1 data becomes important for scoring the ** plan */ - *(*Tu32)(unsafe.Pointer(pTab + 28)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 28)) |= uint32(TF_MaybeReanalyze) } _sqlite3Stat4ProbeFree(tls, (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec) (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid = 0 @@ -145446,6 +146557,31 @@ func _isLimitTerm(tls *libc.TLS, pTerm uintptr) (r int32) { return libc.BoolInt32(int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= int32(SQLITE_INDEX_CONSTRAINT_LIMIT) && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } +// C documentation +// +// /* +// ** Return true if the first nCons constraints in the pUsage array are +// ** marked as in-use (have argvIndex>0). False otherwise. +// */ +func _allConstraintsUsed(tls *libc.TLS, aUsage uintptr, nCons int32) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < nCons) { + break + } + if (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer(aUsage + uintptr(ii)*8))).FargvIndex <= 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + // C documentation // // /* @@ -145543,7 +146679,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if v3 >= 0 { j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).FiTermOffset if iTerm >= nConstraint || j < 0 || j >= (*TWhereClause)(unsafe.Pointer(pWC)).FnTerm || *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*4)) != uintptr(0) || int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22431, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22576, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } pTerm1 = (*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(j)*48 @@ -145590,13 +146726,19 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, _ = libc.Int32FromInt32(0) } } + /* Unless pbRetryLimit is non-NULL, there should be no LIMIT/OFFSET + ** terms. And if there are any, they should follow all other terms. */ + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - if _isLimitTerm(tls, pTerm1) != 0 && *(*int32)(unsafe.Pointer(pbIn)) != 0 { + if _isLimitTerm(tls, pTerm1) != 0 && (*(*int32)(unsafe.Pointer(pbIn)) != 0 || !(_allConstraintsUsed(tls, pUsage, i) != 0)) { /* If there is an IN(...) term handled as an == (separate call to ** xFilter for each value on the RHS of the IN) and a LIMIT or - ** OFFSET term handled as well, the plan is unusable. Set output - ** variable *pbRetryLimit to true to tell the caller to retry with - ** LIMIT and OFFSET disabled. */ + ** OFFSET term handled as well, the plan is unusable. Similarly, + ** if there is a LIMIT/OFFSET and there are other unused terms, + ** the plan cannot be used. In these cases set variable *pbRetryLimit + ** to true to tell the caller to retry with LIMIT and OFFSET + ** disabled. */ if (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr != 0 { Xsqlite3_free(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = uintptr(0) @@ -145621,7 +146763,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*4)) == uintptr(0) { /* The non-zero argvIdx values must be contiguous. Raise an ** error if they are not */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22431, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22576, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } goto _6 @@ -145774,7 +146916,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal pVal = uintptr(0) rc = SQLITE_OK if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { - rc = _sqlite3MisuseError(tls, int32(165251)) /* EV: R-30545-25046 */ + rc = _sqlite3MisuseError(tls, int32(166453)) /* EV: R-30545-25046 */ } else { if *(*uintptr)(unsafe.Pointer(pH + 20 + uintptr(iCons)*4)) == uintptr(0) { pTerm = (*TWhereClause)(unsafe.Pointer((*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC)).Fa + uintptr((*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)*48 @@ -146222,7 +147364,7 @@ func _whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) (r int32) { if rc != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { if rc == int32(SQLITE_DONE) { /* We hit the query planner search limit set by iPlanLimit */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22457, 0) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22602, 0) rc = SQLITE_OK } else { break @@ -146611,7 +147753,7 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } p = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*20))).FpExpr mTerm = _sqlite3WhereExprUsage(tls, pWInfo+488, p) - if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, p) != 0) { + if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, uintptr(0), p) != 0) { goto _9 } if mTerm & ^orderDistinctMask == uint64(0) { @@ -147032,7 +148174,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) iLoop++ } if nFrom == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22492, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22637, 0) _sqlite3DbFreeNN(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pSpace) return int32(SQLITE_ERROR) } @@ -147082,9 +148224,8 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) if int32((*TWherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*TExprList)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_ORDERED) } - if (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 && int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr { - (*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = int8((*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr) - } + /* vvv--- See check-in [12ad822d9b827777] on 2023-03-16 ---vvv */ + _ = libc.Int32FromInt32(0) } else { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*TWherePath)(unsafe.Pointer(pFrom)).FrevLoop if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 { @@ -147122,6 +148263,97 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) return SQLITE_OK } +// C documentation +// +// /* +// ** This routine implements a heuristic designed to improve query planning. +// ** This routine is called in between the first and second call to +// ** wherePathSolver(). Hence the name "Interstage" "Heuristic". +// ** +// ** The first call to wherePathSolver() (hereafter just "solver()") computes +// ** the best path without regard to the order of the outputs. The second call +// ** to the solver() builds upon the first call to try to find an alternative +// ** path that satisfies the ORDER BY clause. +// ** +// ** This routine looks at the results of the first solver() run, and for +// ** every FROM clause term in the resulting query plan that uses an equality +// ** constraint against an index, disable other WhereLoops for that same +// ** FROM clause term that would try to do a full-table scan. This prevents +// ** an index search from being converted into a full-table scan in order to +// ** satisfy an ORDER BY clause, since even though we might get slightly better +// ** performance using the full-scan without sorting if the output size +// ** estimates are very precise, we might also get severe performance +// ** degradation using the full-scan if the output size estimate is too large. +// ** It is better to err on the side of caution. +// ** +// ** Except, if the first solver() call generated a full-table scan in an outer +// ** loop then stop this analysis at the first full-scan, since the second +// ** solver() run might try to swap that full-scan for another in order to +// ** get the output into the correct order. In other words, we allow a +// ** rewrite like this: +// ** +// ** First Solver() Second Solver() +// ** |-- SCAN t1 |-- SCAN t2 +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** The purpose of this routine is to disallow rewrites such as: +// ** +// ** First Solver() Second Solver() +// ** |-- SEARCH t1 |-- SCAN t2 <--- bad! +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** See test cases in test/whereN.test for the real-world query that +// ** originally provoked this heuristic. +// */ +func _whereInterstageHeuristic(tls *libc.TLS, pWInfo uintptr) { + var i int32 + var iTab Tu8 + var p, pLoop uintptr + _, _, _, _ = i, iTab, p, pLoop + i = 0 + for { + if !(i < int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnLevel)) { + break + } + p = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 752 + uintptr(i)*84))).FpWLoop + if p == uintptr(0) { + break + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { + goto _1 + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_NULL)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != uint32(0) { + iTab = (*TWhereLoop)(unsafe.Pointer(p)).FiTab + pLoop = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpLoops + for { + if !(pLoop != 0) { + break + } + if int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab) != int32(iTab) { + goto _2 + } + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_CONSTRAINT)|libc.Int32FromInt32(WHERE_AUTO_INDEX)) != uint32(0) { + /* Auto-index and index-constrained loops allowed to remain */ + goto _2 + } + (*TWhereLoop)(unsafe.Pointer(pLoop)).Fprereq = uint64(-libc.Int32FromInt32(1)) /* Prevent 2nd solver() from using this one */ + goto _2 + _2: + ; + pLoop = (*TWhereLoop)(unsafe.Pointer(pLoop)).FpNextLoop + } + } else { + break + } + goto _1 + _1: + ; + i++ + } +} + // C documentation // // /* @@ -147440,7 +148672,7 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasStat1) == uint32(0) { break } - *(*Tu32)(unsafe.Pointer(pTab + 28)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 28)) |= uint32(TF_MaybeReanalyze) if i >= int32(1) && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&reqFlags == reqFlags && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_INDEXED)) != uint32(0) { if int32(nSearch) > int32((*TTable)(unsafe.Pointer(pTab)).FnRowLogEst) { *(*Tu32)(unsafe.Pointer(pLoop + 40)) |= uint32(WHERE_BLOOMFILTER) @@ -147455,6 +148687,69 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { } } +// C documentation +// +// /* +// ** Expression Node callback for sqlite3ExprCanReturnSubtype(). +// ** +// ** Only a function call is able to return a subtype. So if the node +// ** is not a function call, return WRC_Prune immediately. +// ** +// ** A function call is able to return a subtype if it has the +// ** SQLITE_RESULT_SUBTYPE property. +// ** +// ** Assume that every function is able to pass-through a subtype from +// ** one of its argument (using sqlite3_result_value()). Most functions +// ** are not this way, but we don't have a mechanism to distinguish those +// ** that are from those that are not, so assume they all work this way. +// ** That means that if one of its arguments is another function and that +// ** other function is able to return a subtype, then this function is +// ** able to return a subtype. +// */ +func _exprNodeCanReturnSubtype(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef uintptr + var n, v1 int32 + _, _, _, _ = db, n, pDef, v1 + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_FUNCTION) { + return int32(WRC_Prune) + } + _ = libc.Int32FromInt32(0) + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + if *(*uintptr)(unsafe.Pointer(pExpr + 20)) != 0 { + v1 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20)))).FnExpr + } else { + v1 = 0 + } + n = v1 + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + return int32(WRC_Prune) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Return TRUE if expression pExpr is able to return a subtype. +// ** +// ** A TRUE return does not guarantee that a subtype will be returned. +// ** It only indicates that a subtype return is possible. False positives +// ** are acceptable as they only disable an optimization. False negatives, +// ** on the other hand, can lead to incorrect answers. +// */ +func _sqlite3ExprCanReturnSubtype(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + bp := tls.Alloc(32) + defer tls.Free(32) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint32(28)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeCanReturnSubtype) + _sqlite3WalkExpr(tls, bp, pExpr) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) +} + // C documentation // // /* @@ -147469,9 +148764,9 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { // ** references to the corresponding column of the index. // */ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur int32, pTabItem uintptr) { - var db, p, pArg, pDef, pExpr, pTab uintptr - var i, j, n, v2 int32 - _, _, _, _, _, _, _, _, _, _ = db, i, j, n, p, pArg, pDef, pExpr, pTab, v2 + var i, j int32 + var p, pArg, pExpr, pTab uintptr + _, _, _, _, _, _ = i, j, p, pArg, pExpr, pTab _ = libc.Int32FromInt32(0) pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable i = 0 @@ -147489,22 +148784,14 @@ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur i goto _1 } } - if _sqlite3ExprIsConstant(tls, pExpr) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) != 0 { goto _1 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) { - db = (*TParse)(unsafe.Pointer(pParse)).Fdb - _ = libc.Int32FromInt32(0) - if *(*uintptr)(unsafe.Pointer(pExpr + 20)) != 0 { - v2 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20)))).FnExpr - } else { - v2 = 0 - } - n = v2 - pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) - if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { - goto _1 - } + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) && _sqlite3ExprCanReturnSubtype(tls, pParse, pExpr) != 0 { + /* Functions that might set a subtype should not be replaced by the + ** value taken from an expression index since the index omits the + ** subtype. https://sqlite.org/forum/forumpost/68d284c86b082c3e */ + goto _1 } p = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) if p == uintptr(0) { @@ -147678,7 +148965,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** bits in a Bitmask */ if (*TSrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(libc.Uint32FromInt64(8)*libc.Uint32FromInt32(8)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22510, libc.VaList(bp+40, int32(libc.Uint32FromInt64(8)*libc.Uint32FromInt32(8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22655, libc.VaList(bp+40, int32(libc.Uint32FromInt64(8)*libc.Uint32FromInt32(8)))) return uintptr(0) } /* This function normally generates a nested loop for all tables in @@ -147751,7 +149038,9 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere if int32(wctrlFlags)&int32(WHERE_WANT_DISTINCT) != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_DistinctOpt)) == uint32(0) { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_UNIQUE) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22538, 0) + if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FselFlags&uint32(SF_MultiValue) == uint32(0) { + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22683, 0) + } } else { /* Assign a bit from the bitmask to every term in the FROM clause. ** @@ -147885,6 +149174,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere goto whereBeginError } if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy != 0 { + _whereInterstageHeuristic(tls, pWInfo) _wherePathSolver(tls, pWInfo, int16(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut)+int32(1))) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto whereBeginError @@ -148207,10 +149497,10 @@ whereBeginError: // ** sqlite3WhereBegin() for additional information. // */ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { - var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, r1, ws, x, v4, v7 int32 - var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr + var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, r1, ws, x, v4, v7 int32 + var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pTabList = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList @@ -148353,7 +149643,14 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { addr = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfPos), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) _ = libc.Int32FromInt32(0) if ws&int32(WHERE_IDX_ONLY) == 0 { + pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*68 _ = libc.Int32FromInt32(0) + if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 36 + 4))&0x20>>5)) != 0 { + n1 = (*TSrcItem)(unsafe.Pointer(pSrc)).FregResult + _ = libc.Int32FromInt32(0) + m = int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FnCol) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, n1, n1+m-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) } if ws&int32(WHERE_INDEXED) != 0 || ws&int32(WHERE_MULTI_OR) != 0 && *(*uintptr)(unsafe.Pointer(&(*TWhereLevel)(unsafe.Pointer(pLevel)).Fu)) != 0 { @@ -148402,6 +149699,7 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { ** OP_Rowid becomes OP_Null. */ if int32(uint32(*(*uint16)(unsafe.Pointer(pTabItem + 36 + 4))&0x20>>5)) != 0 { + _ = libc.Int32FromInt32(0) _translateColumnToCopy(tls, pParse, (*TWhereLevel)(unsafe.Pointer(pLevel)).FaddrBody, (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur, (*TSrcItem)(unsafe.Pointer(pTabItem)).FregResult, 0) goto _9 } @@ -148776,7 +150074,7 @@ func _nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) goto error_out error_out: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22556, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22701, -int32(1)) } func _nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { @@ -148963,7 +150261,7 @@ func _ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { if (*TNtileCtx)(unsafe.Pointer(p)).FnTotal == 0 { (*TNtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg))) if (*TNtileCtx)(unsafe.Pointer(p)).FnParam <= 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22612, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22757, -int32(1)) } } (*TNtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -149291,7 +150589,7 @@ func _windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) (r p = (*TWindow)(unsafe.Pointer(p)).FpNextWin } if p == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22657, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22802, libc.VaList(bp+8, zName)) } return p } @@ -149342,12 +150640,12 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin _sqlite3WindowChain(tls, pParse, pWin, pList) } if int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) == int32(TK_RANGE) && ((*TWindow)(unsafe.Pointer(pWin)).FpStart != 0 || (*TWindow)(unsafe.Pointer(pWin)).FpEnd != 0) && ((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*TExprList)(unsafe.Pointer((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != int32(1)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22676, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22821, 0) } else { if (*TFuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TWindow)(unsafe.Pointer(pWin)).FpFilter != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22747, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22892, 0) } else { aUp = [8]struct { FzFunc uintptr @@ -149420,7 +150718,7 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*TWindow)(unsafe.Pointer(pWin)).FeEnd = uint8(aUp[i].FeEnd) (*TWindow)(unsafe.Pointer(pWin)).FeExclude = uint8(0) if int32((*TWindow)(unsafe.Pointer(pWin)).FeStart) == int32(TK_FOLLOWING) { - (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8130) + (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8255) } break } @@ -149708,7 +151006,7 @@ func _disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintpt defer tls.Free(16) if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_FUNCTION) && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { _ = libc.Int32FromInt32(0) - _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22810, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) + _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22955, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) } return WRC_Continue } @@ -149851,7 +151149,7 @@ func _sqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { ** keep everything legal in this case. */ if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1722)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1782)) } pSub = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(bp)), pSrc, pWhere, pGroupBy, pHaving, pSort, uint32(0), uintptr(0)) (*TSelect)(unsafe.Pointer(p)).FpSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), uintptr(0), uintptr(0)) @@ -149956,7 +151254,7 @@ func _sqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { // ** variable values in the expression tree. // */ func _sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r uintptr) { - if 0 == _sqlite3ExprIsConstant(tls, pExpr) { + if 0 == _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) { if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameExprUnmap(tls, pParse, pExpr) } @@ -150002,7 +151300,7 @@ func _sqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int3 ** frame boundary. */ if eStart == int32(TK_CURRENT) && eEnd == int32(TK_PRECEDING) || eStart == int32(TK_FOLLOWING) && (eEnd == int32(TK_PRECEDING) || eEnd == int32(TK_CURRENT)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22836, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22981, 0) goto windowAllocErr } pWin = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(100)) @@ -150070,18 +151368,18 @@ func _sqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint zErr = uintptr(0) /* Check for errors */ if (*TWindow)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = __ccgo_ts + 22868 + zErr = __ccgo_ts + 23013 } else { if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*TWindow)(unsafe.Pointer(pWin)).FpOrderBy != 0 { - zErr = __ccgo_ts + 22885 + zErr = __ccgo_ts + 23030 } else { if int32((*TWindow)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = __ccgo_ts + 22901 + zErr = __ccgo_ts + 23046 } } } if zErr != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22921, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23066, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) } else { (*TWindow)(unsafe.Pointer(pWin)).FpPartition = _sqlite3ExprListDup(tls, db, (*TWindow)(unsafe.Pointer(pExist)).FpPartition, 0) if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 { @@ -150109,7 +151407,7 @@ func _sqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(libc.Int32FromInt32(EP_WinFunc) | libc.Int32FromInt32(EP_FullSize)) (*TWindow)(unsafe.Pointer(pWin)).FpOwner = p if (*TExpr)(unsafe.Pointer(p)).Fflags&uint32(EP_Distinct) != 0 && int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) != int32(TK_FILTER) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22954, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23099, 0) } } else { _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -150311,7 +151609,7 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regZero) if eCond >= int32(WINDOW_STARTING_NUM) { regString = _sqlite3GetTempReg(tls, pParse) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1648, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1662, -int32(1)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, _sqlite3VdbeCurrentAddr(tls, v)+int32(2), reg) _sqlite3VdbeChangeP5(tls, v, uint16(libc.Int32FromInt32(SQLITE_AFF_NUMERIC)|libc.Int32FromInt32(SQLITE_JUMPIFNULL))) _ = libc.Int32FromInt32(0) @@ -150332,11 +151630,11 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { } var _azErr = [5]uintptr{ - 0: __ccgo_ts + 23001, - 1: __ccgo_ts + 23054, - 2: __ccgo_ts + 22556, - 3: __ccgo_ts + 23105, - 4: __ccgo_ts + 23157, + 0: __ccgo_ts + 23146, + 1: __ccgo_ts + 23199, + 2: __ccgo_ts + 22701, + 3: __ccgo_ts + 23250, + 4: __ccgo_ts + 23302, } var _aOp1 = [5]int32{ @@ -151108,7 +152406,7 @@ func _windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal ** the add/subtract is skipped for these, as required. If reg1 is a NULL, ** then the arithmetic is performed, but since adding or subtracting from ** NULL is always NULL anyway, this case is handled as required too. */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1648, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1662, -int32(1)) addrGe = _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, 0, reg1) if op == int32(OP_Ge) && arith == int32(OP_Add) || op == int32(OP_Le) && arith == int32(OP_Subtract) { _sqlite3VdbeAddOp3(tls, v, op, reg2, lbl, reg1) @@ -152149,11 +153447,11 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { cnt++ if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*TSelect)(unsafe.Pointer(pLoop)).FpLimit != 0 { if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - v1 = __ccgo_ts + 23207 + v1 = __ccgo_ts + 23352 } else { - v1 = __ccgo_ts + 23216 + v1 = __ccgo_ts + 23361 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23222, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23367, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) break } } @@ -152162,7 +153460,7 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { mxSelect = v2 } if v3 && v2 > 0 && cnt > mxSelect { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23264, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23409, 0) } } } @@ -152182,6 +153480,23 @@ func _attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith u return pSelect } +// C documentation +// +// /* Memory allocator for parser stack resizing. This is a thin wrapper around +// ** sqlite3_realloc() that includes a call to sqlite3FaultSim() to facilitate +// ** testing. +// */ +func _parserStackRealloc(tls *libc.TLS, pOld uintptr, newSize Tsqlite3_uint64) (r uintptr) { + var v1 uintptr + _ = v1 + if _sqlite3FaultSim(tls, int32(700)) != 0 { + v1 = uintptr(0) + } else { + v1 = Xsqlite3_realloc(tls, pOld, int32(newSize)) + } + return v1 +} + // C documentation // // /* Construct a new Expr object from a single token */ @@ -152251,7 +153566,7 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId _ = p p = _sqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if (hasCollate != 0 || sortOrder != -int32(1)) && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23298, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23443, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) } _sqlite3ExprListSetName(tls, pParse, p, pIdToken, int32(1)) return p @@ -152301,6 +153616,9 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser // ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser // ** sqlite3ParserCTX_* As sqlite3ParserARG_ except for %extra_context +// ** YYREALLOC Name of the realloc() function to use +// ** YYFREE Name of the free() function to use +// ** YYDYNSTACK True if stack space should be extended on heap // ** YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** YYNSTATE the combined number of states. @@ -152314,31 +153632,33 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** YY_NO_ACTION The yy_action[] code for no-op // ** YY_MIN_REDUCE Minimum value for reduce actions // ** YY_MAX_REDUCE Maximum value for reduce actions +// ** YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type TYYMINORTYPE = struct { Fyy0 [0]TToken - Fyy33 [0]uintptr - Fyy41 [0]uintptr - Fyy47 [0]uintptr - Fyy131 [0]uintptr - Fyy180 [0]TTrigEvent - Fyy231 [0]struct { + Fyy14 [0]uintptr + Fyy59 [0]uintptr + Fyy67 [0]uintptr + Fyy122 [0]uintptr + Fyy132 [0]uintptr + Fyy144 [0]int32 + Fyy168 [0]uintptr + Fyy203 [0]uintptr + Fyy211 [0]uintptr + Fyy269 [0]TOnOrUsing + Fyy286 [0]TTrigEvent + Fyy383 [0]struct { Fvalue int32 Fmask int32 } - Fyy254 [0]uintptr - Fyy285 [0]Tu32 - Fyy322 [0]uintptr - Fyy385 [0]uintptr - Fyy394 [0]int32 - Fyy444 [0]uintptr - Fyy516 [0]Tu8 - Fyy521 [0]uintptr - Fyy522 [0]uintptr - Fyy528 [0]uintptr - Fyy561 [0]TOnOrUsing - Fyy595 [0]TFrameBound + Fyy391 [0]Tu32 + Fyy427 [0]uintptr + Fyy454 [0]uintptr + Fyy462 [0]Tu8 + Fyy509 [0]TFrameBound + Fyy555 [0]uintptr Fyyinit int32 F__ccgo_pad20 [4]byte } @@ -152356,6 +153676,13 @@ type YYMINORTYPE = TYYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -152408,2152 +153735,2194 @@ type YYMINORTYPE = TYYMINORTYPE // ** yy_default[] Default action for each state. // ** // *********** Begin parsing tables **********************************************/ -var _yy_action = [2100]uint16{ - 0: uint16(572), - 1: uint16(210), - 2: uint16(572), - 3: uint16(119), - 4: uint16(116), - 5: uint16(231), - 6: uint16(572), - 7: uint16(119), - 8: uint16(116), - 9: uint16(231), - 10: uint16(572), - 11: uint16(1317), - 12: uint16(379), - 13: uint16(1296), - 14: uint16(410), - 15: uint16(566), - 16: uint16(566), - 17: uint16(566), - 18: uint16(572), - 19: uint16(411), - 20: uint16(380), - 21: uint16(1317), - 22: uint16(1279), - 23: uint16(42), - 24: uint16(42), - 25: uint16(42), - 26: uint16(42), - 27: uint16(210), - 28: uint16(1529), - 29: uint16(72), - 30: uint16(72), - 31: uint16(974), - 32: uint16(421), - 33: uint16(42), - 34: uint16(42), - 35: uint16(495), - 36: uint16(305), - 37: uint16(281), - 38: uint16(305), - 39: uint16(975), - 40: uint16(399), - 41: uint16(72), - 42: uint16(72), - 43: uint16(126), - 44: uint16(127), - 45: uint16(81), - 46: uint16(1217), - 47: uint16(1217), - 48: uint16(1054), - 49: uint16(1057), - 50: uint16(1044), - 51: uint16(1044), - 52: uint16(124), - 53: uint16(124), - 54: uint16(125), - 55: uint16(125), - 56: uint16(125), - 57: uint16(125), - 58: uint16(480), - 59: uint16(411), - 60: uint16(1244), - 61: uint16(1), - 62: uint16(1), - 63: uint16(578), - 64: uint16(2), - 65: uint16(1248), - 66: uint16(554), - 67: uint16(119), - 68: uint16(116), - 69: uint16(231), - 70: uint16(319), - 71: uint16(484), - 72: uint16(147), - 73: uint16(484), - 74: uint16(528), - 75: uint16(119), - 76: uint16(116), - 77: uint16(231), - 78: uint16(533), - 79: uint16(1330), - 80: uint16(419), - 81: uint16(527), - 82: uint16(143), - 83: uint16(126), - 84: uint16(127), - 85: uint16(81), - 86: uint16(1217), - 87: uint16(1217), - 88: uint16(1054), - 89: uint16(1057), - 90: uint16(1044), - 91: uint16(1044), - 92: uint16(124), - 93: uint16(124), - 94: uint16(125), - 95: uint16(125), - 96: uint16(125), - 97: uint16(125), - 98: uint16(119), - 99: uint16(116), - 100: uint16(231), - 101: uint16(329), - 102: uint16(123), - 103: uint16(123), - 104: uint16(123), - 105: uint16(123), - 106: uint16(122), - 107: uint16(122), - 108: uint16(121), - 109: uint16(121), - 110: uint16(121), - 111: uint16(120), - 112: uint16(117), - 113: uint16(448), - 114: uint16(286), - 115: uint16(286), - 116: uint16(286), - 117: uint16(286), - 118: uint16(446), - 119: uint16(446), - 120: uint16(446), - 121: uint16(1568), - 122: uint16(378), - 123: uint16(1570), - 124: uint16(1193), - 125: uint16(377), - 126: uint16(1164), - 127: uint16(569), - 128: uint16(1164), - 129: uint16(569), - 130: uint16(411), - 131: uint16(1568), - 132: uint16(541), - 133: uint16(261), - 134: uint16(228), - 135: uint16(448), - 136: uint16(102), - 137: uint16(146), - 138: uint16(453), - 139: uint16(318), - 140: uint16(563), - 141: uint16(242), - 142: uint16(123), - 143: uint16(123), - 144: uint16(123), - 145: uint16(123), - 146: uint16(122), - 147: uint16(122), - 148: uint16(121), - 149: uint16(121), - 150: uint16(121), - 151: uint16(120), - 152: uint16(117), - 153: uint16(448), - 154: uint16(126), - 155: uint16(127), - 156: uint16(81), - 157: uint16(1217), - 158: uint16(1217), - 159: uint16(1054), - 160: uint16(1057), - 161: uint16(1044), - 162: uint16(1044), - 163: uint16(124), - 164: uint16(124), - 165: uint16(125), - 166: uint16(125), - 167: uint16(125), - 168: uint16(125), - 169: uint16(143), - 170: uint16(296), - 171: uint16(1193), - 172: uint16(341), - 173: uint16(452), - 174: uint16(121), - 175: uint16(121), - 176: uint16(121), - 177: uint16(120), - 178: uint16(117), - 179: uint16(448), - 180: uint16(128), - 181: uint16(1193), - 182: uint16(1194), - 183: uint16(1193), - 184: uint16(149), - 185: uint16(445), - 186: uint16(444), - 187: uint16(572), - 188: uint16(120), - 189: uint16(117), - 190: uint16(448), - 191: uint16(125), - 192: uint16(125), - 193: uint16(125), - 194: uint16(125), - 195: uint16(118), - 196: uint16(123), - 197: uint16(123), - 198: uint16(123), - 199: uint16(123), - 200: uint16(122), - 201: uint16(122), - 202: uint16(121), - 203: uint16(121), - 204: uint16(121), - 205: uint16(120), - 206: uint16(117), - 207: uint16(448), - 208: uint16(458), - 209: uint16(114), - 210: uint16(13), - 211: uint16(13), - 212: uint16(550), - 213: uint16(123), - 214: uint16(123), - 215: uint16(123), - 216: uint16(123), - 217: uint16(122), - 218: uint16(122), - 219: uint16(121), - 220: uint16(121), - 221: uint16(121), - 222: uint16(120), - 223: uint16(117), - 224: uint16(448), - 225: uint16(424), - 226: uint16(318), - 227: uint16(563), - 228: uint16(1193), - 229: uint16(1194), - 230: uint16(1193), - 231: uint16(150), - 232: uint16(1225), - 233: uint16(411), - 234: uint16(1225), - 235: uint16(125), - 236: uint16(125), - 237: uint16(125), - 238: uint16(125), - 239: uint16(123), - 240: uint16(123), - 241: uint16(123), - 242: uint16(123), - 243: uint16(122), - 244: uint16(122), - 245: uint16(121), - 246: uint16(121), - 247: uint16(121), - 248: uint16(120), - 249: uint16(117), - 250: uint16(448), - 251: uint16(469), - 252: uint16(344), - 253: uint16(1041), - 254: uint16(1041), - 255: uint16(1055), - 256: uint16(1058), - 257: uint16(126), - 258: uint16(127), - 259: uint16(81), - 260: uint16(1217), - 261: uint16(1217), - 262: uint16(1054), - 263: uint16(1057), - 264: uint16(1044), - 265: uint16(1044), - 266: uint16(124), - 267: uint16(124), - 268: uint16(125), - 269: uint16(125), - 270: uint16(125), - 271: uint16(125), - 272: uint16(1282), - 273: uint16(526), - 274: uint16(224), - 275: uint16(1193), - 276: uint16(572), - 277: uint16(411), - 278: uint16(226), - 279: uint16(519), - 280: uint16(177), - 281: uint16(83), - 282: uint16(84), - 283: uint16(123), - 284: uint16(123), - 285: uint16(123), - 286: uint16(123), - 287: uint16(122), - 288: uint16(122), - 289: uint16(121), - 290: uint16(121), - 291: uint16(121), - 292: uint16(120), - 293: uint16(117), - 294: uint16(448), - 295: uint16(1010), - 296: uint16(16), - 297: uint16(16), - 298: uint16(1193), - 299: uint16(134), - 300: uint16(134), - 301: uint16(126), - 302: uint16(127), - 303: uint16(81), - 304: uint16(1217), - 305: uint16(1217), - 306: uint16(1054), - 307: uint16(1057), - 308: uint16(1044), - 309: uint16(1044), - 310: uint16(124), - 311: uint16(124), - 312: uint16(125), - 313: uint16(125), - 314: uint16(125), - 315: uint16(125), - 316: uint16(123), - 317: uint16(123), - 318: uint16(123), - 319: uint16(123), - 320: uint16(122), - 321: uint16(122), - 322: uint16(121), - 323: uint16(121), - 324: uint16(121), - 325: uint16(120), - 326: uint16(117), - 327: uint16(448), - 328: uint16(1045), - 329: uint16(550), - 330: uint16(1193), - 331: uint16(375), - 332: uint16(1193), - 333: uint16(1194), - 334: uint16(1193), - 335: uint16(254), - 336: uint16(1438), - 337: uint16(401), - 338: uint16(508), - 339: uint16(505), - 340: uint16(504), - 341: uint16(112), - 342: uint16(564), - 343: uint16(570), +var _yy_action = [2142]uint16{ + 0: uint16(576), + 1: uint16(128), + 2: uint16(125), + 3: uint16(232), + 4: uint16(1622), + 5: uint16(549), + 6: uint16(576), + 7: uint16(1290), + 8: uint16(1281), + 9: uint16(576), + 10: uint16(328), + 11: uint16(576), + 12: uint16(1300), + 13: uint16(212), + 14: uint16(576), + 15: uint16(128), + 16: uint16(125), + 17: uint16(232), + 18: uint16(578), + 19: uint16(412), + 20: uint16(578), + 21: uint16(391), + 22: uint16(1542), + 23: uint16(51), + 24: uint16(51), + 25: uint16(523), + 26: uint16(405), + 27: uint16(1293), + 28: uint16(529), + 29: uint16(51), + 30: uint16(51), + 31: uint16(983), + 32: uint16(51), + 33: uint16(51), + 34: uint16(81), + 35: uint16(81), + 36: uint16(1107), + 37: uint16(61), + 38: uint16(61), + 39: uint16(984), + 40: uint16(1107), + 41: uint16(1292), + 42: uint16(380), + 43: uint16(135), + 44: uint16(136), + 45: uint16(90), + 46: uint16(1228), + 47: uint16(1228), + 48: uint16(1063), + 49: uint16(1066), + 50: uint16(1053), + 51: uint16(1053), + 52: uint16(133), + 53: uint16(133), + 54: uint16(134), + 55: uint16(134), + 56: uint16(134), + 57: uint16(134), + 58: uint16(1577), + 59: uint16(412), + 60: uint16(287), + 61: uint16(287), + 62: uint16(7), + 63: uint16(287), + 64: uint16(287), + 65: uint16(422), + 66: uint16(1050), + 67: uint16(1050), + 68: uint16(1064), + 69: uint16(1067), + 70: uint16(289), + 71: uint16(556), + 72: uint16(492), + 73: uint16(573), + 74: uint16(524), + 75: uint16(561), + 76: uint16(573), + 77: uint16(497), + 78: uint16(561), + 79: uint16(482), + 80: uint16(530), + 81: uint16(262), + 82: uint16(229), + 83: uint16(135), + 84: uint16(136), + 85: uint16(90), + 86: uint16(1228), + 87: uint16(1228), + 88: uint16(1063), + 89: uint16(1066), + 90: uint16(1053), + 91: uint16(1053), + 92: uint16(133), + 93: uint16(133), + 94: uint16(134), + 95: uint16(134), + 96: uint16(134), + 97: uint16(134), + 98: uint16(128), + 99: uint16(125), + 100: uint16(232), + 101: uint16(1506), + 102: uint16(132), + 103: uint16(132), + 104: uint16(132), + 105: uint16(132), + 106: uint16(131), + 107: uint16(131), + 108: uint16(130), + 109: uint16(130), + 110: uint16(130), + 111: uint16(129), + 112: uint16(126), + 113: uint16(450), + 114: uint16(1204), + 115: uint16(1255), + 116: uint16(1), + 117: uint16(1), + 118: uint16(582), + 119: uint16(2), + 120: uint16(1259), + 121: uint16(1571), + 122: uint16(420), + 123: uint16(1582), + 124: uint16(379), + 125: uint16(320), + 126: uint16(1174), + 127: uint16(153), + 128: uint16(1174), + 129: uint16(1584), + 130: uint16(412), + 131: uint16(378), + 132: uint16(1582), + 133: uint16(543), + 134: uint16(1341), + 135: uint16(330), + 136: uint16(111), + 137: uint16(570), + 138: uint16(570), + 139: uint16(570), + 140: uint16(293), + 141: uint16(1054), + 142: uint16(132), + 143: uint16(132), + 144: uint16(132), + 145: uint16(132), + 146: uint16(131), + 147: uint16(131), + 148: uint16(130), + 149: uint16(130), + 150: uint16(130), + 151: uint16(129), + 152: uint16(126), + 153: uint16(450), + 154: uint16(135), + 155: uint16(136), + 156: uint16(90), + 157: uint16(1228), + 158: uint16(1228), + 159: uint16(1063), + 160: uint16(1066), + 161: uint16(1053), + 162: uint16(1053), + 163: uint16(133), + 164: uint16(133), + 165: uint16(134), + 166: uint16(134), + 167: uint16(134), + 168: uint16(134), + 169: uint16(287), + 170: uint16(287), + 171: uint16(1204), + 172: uint16(1205), + 173: uint16(1204), + 174: uint16(255), + 175: uint16(287), + 176: uint16(287), + 177: uint16(510), + 178: uint16(507), + 179: uint16(506), + 180: uint16(137), + 181: uint16(455), + 182: uint16(573), + 183: uint16(212), + 184: uint16(561), + 185: uint16(447), + 186: uint16(446), + 187: uint16(505), + 188: uint16(573), + 189: uint16(1616), + 190: uint16(561), + 191: uint16(134), + 192: uint16(134), + 193: uint16(134), + 194: uint16(134), + 195: uint16(127), + 196: uint16(400), + 197: uint16(243), + 198: uint16(132), + 199: uint16(132), + 200: uint16(132), + 201: uint16(132), + 202: uint16(131), + 203: uint16(131), + 204: uint16(130), + 205: uint16(130), + 206: uint16(130), + 207: uint16(129), + 208: uint16(126), + 209: uint16(450), + 210: uint16(282), + 211: uint16(471), + 212: uint16(345), + 213: uint16(132), + 214: uint16(132), + 215: uint16(132), + 216: uint16(132), + 217: uint16(131), + 218: uint16(131), + 219: uint16(130), + 220: uint16(130), + 221: uint16(130), + 222: uint16(129), + 223: uint16(126), + 224: uint16(450), + 225: uint16(574), + 226: uint16(155), + 227: uint16(936), + 228: uint16(936), + 229: uint16(454), + 230: uint16(227), + 231: uint16(521), + 232: uint16(1236), + 233: uint16(412), + 234: uint16(1236), + 235: uint16(134), + 236: uint16(134), + 237: uint16(134), + 238: uint16(134), + 239: uint16(132), + 240: uint16(132), + 241: uint16(132), + 242: uint16(132), + 243: uint16(131), + 244: uint16(131), + 245: uint16(130), + 246: uint16(130), + 247: uint16(130), + 248: uint16(129), + 249: uint16(126), + 250: uint16(450), + 251: uint16(130), + 252: uint16(130), + 253: uint16(130), + 254: uint16(129), + 255: uint16(126), + 256: uint16(450), + 257: uint16(135), + 258: uint16(136), + 259: uint16(90), + 260: uint16(1228), + 261: uint16(1228), + 262: uint16(1063), + 263: uint16(1066), + 264: uint16(1053), + 265: uint16(1053), + 266: uint16(133), + 267: uint16(133), + 268: uint16(134), + 269: uint16(134), + 270: uint16(134), + 271: uint16(134), + 272: uint16(128), + 273: uint16(125), + 274: uint16(232), + 275: uint16(450), + 276: uint16(576), + 277: uint16(412), + 278: uint16(397), + 279: uint16(1249), + 280: uint16(180), + 281: uint16(92), + 282: uint16(93), + 283: uint16(132), + 284: uint16(132), + 285: uint16(132), + 286: uint16(132), + 287: uint16(131), + 288: uint16(131), + 289: uint16(130), + 290: uint16(130), + 291: uint16(130), + 292: uint16(129), + 293: uint16(126), + 294: uint16(450), + 295: uint16(381), + 296: uint16(387), + 297: uint16(1204), + 298: uint16(383), + 299: uint16(81), + 300: uint16(81), + 301: uint16(135), + 302: uint16(136), + 303: uint16(90), + 304: uint16(1228), + 305: uint16(1228), + 306: uint16(1063), + 307: uint16(1066), + 308: uint16(1053), + 309: uint16(1053), + 310: uint16(133), + 311: uint16(133), + 312: uint16(134), + 313: uint16(134), + 314: uint16(134), + 315: uint16(134), + 316: uint16(132), + 317: uint16(132), + 318: uint16(132), + 319: uint16(132), + 320: uint16(131), + 321: uint16(131), + 322: uint16(130), + 323: uint16(130), + 324: uint16(130), + 325: uint16(129), + 326: uint16(126), + 327: uint16(450), + 328: uint16(131), + 329: uint16(131), + 330: uint16(130), + 331: uint16(130), + 332: uint16(130), + 333: uint16(129), + 334: uint16(126), + 335: uint16(450), + 336: uint16(556), + 337: uint16(1204), + 338: uint16(302), + 339: uint16(319), + 340: uint16(567), + 341: uint16(121), + 342: uint16(568), + 343: uint16(480), 344: uint16(4), - 345: uint16(929), - 346: uint16(929), - 347: uint16(435), - 348: uint16(503), - 349: uint16(342), - 350: uint16(464), - 351: uint16(330), - 352: uint16(362), - 353: uint16(396), - 354: uint16(1238), - 355: uint16(1193), - 356: uint16(1194), - 357: uint16(1193), - 358: uint16(567), - 359: uint16(572), - 360: uint16(123), - 361: uint16(123), - 362: uint16(123), - 363: uint16(123), - 364: uint16(122), - 365: uint16(122), - 366: uint16(121), - 367: uint16(121), - 368: uint16(121), - 369: uint16(120), - 370: uint16(117), - 371: uint16(448), - 372: uint16(286), - 373: uint16(286), - 374: uint16(371), - 375: uint16(1581), - 376: uint16(1607), - 377: uint16(445), - 378: uint16(444), - 379: uint16(155), - 380: uint16(411), - 381: uint16(449), - 382: uint16(72), - 383: uint16(72), - 384: uint16(1289), - 385: uint16(569), - 386: uint16(1222), - 387: uint16(1193), - 388: uint16(1194), - 389: uint16(1193), - 390: uint16(86), - 391: uint16(1224), - 392: uint16(273), - 393: uint16(561), - 394: uint16(547), - 395: uint16(520), - 396: uint16(520), - 397: uint16(572), - 398: uint16(99), - 399: uint16(1223), - 400: uint16(6), - 401: uint16(1281), - 402: uint16(476), - 403: uint16(143), - 404: uint16(126), - 405: uint16(127), - 406: uint16(81), - 407: uint16(1217), - 408: uint16(1217), - 409: uint16(1054), - 410: uint16(1057), - 411: uint16(1044), - 412: uint16(1044), - 413: uint16(124), - 414: uint16(124), - 415: uint16(125), - 416: uint16(125), - 417: uint16(125), - 418: uint16(125), - 419: uint16(554), - 420: uint16(13), - 421: uint16(13), - 422: uint16(1031), - 423: uint16(511), - 424: uint16(1225), - 425: uint16(1193), - 426: uint16(1225), - 427: uint16(553), - 428: uint16(110), - 429: uint16(110), - 430: uint16(224), - 431: uint16(572), - 432: uint16(1239), - 433: uint16(177), - 434: uint16(572), - 435: uint16(429), - 436: uint16(111), - 437: uint16(199), - 438: uint16(449), - 439: uint16(573), - 440: uint16(449), - 441: uint16(432), - 442: uint16(1555), - 443: uint16(1019), - 444: uint16(327), - 445: uint16(555), - 446: uint16(1193), - 447: uint16(272), - 448: uint16(289), - 449: uint16(370), - 450: uint16(514), - 451: uint16(365), - 452: uint16(513), - 453: uint16(259), - 454: uint16(72), - 455: uint16(72), - 456: uint16(547), - 457: uint16(72), - 458: uint16(72), - 459: uint16(361), - 460: uint16(318), - 461: uint16(563), - 462: uint16(1613), - 463: uint16(123), - 464: uint16(123), - 465: uint16(123), - 466: uint16(123), - 467: uint16(122), - 468: uint16(122), - 469: uint16(121), - 470: uint16(121), - 471: uint16(121), - 472: uint16(120), - 473: uint16(117), - 474: uint16(448), - 475: uint16(1019), - 476: uint16(1019), - 477: uint16(1021), - 478: uint16(1022), - 479: uint16(28), - 480: uint16(286), - 481: uint16(286), - 482: uint16(1193), - 483: uint16(1194), - 484: uint16(1193), - 485: uint16(1159), - 486: uint16(572), - 487: uint16(1612), - 488: uint16(411), - 489: uint16(904), - 490: uint16(192), - 491: uint16(554), - 492: uint16(358), - 493: uint16(569), - 494: uint16(554), - 495: uint16(940), - 496: uint16(537), - 497: uint16(521), - 498: uint16(1159), - 499: uint16(437), - 500: uint16(415), - 501: uint16(1159), - 502: uint16(556), - 503: uint16(1193), - 504: uint16(1194), - 505: uint16(1193), - 506: uint16(572), - 507: uint16(548), - 508: uint16(548), - 509: uint16(52), - 510: uint16(52), - 511: uint16(216), - 512: uint16(126), - 513: uint16(127), - 514: uint16(81), - 515: uint16(1217), - 516: uint16(1217), - 517: uint16(1054), - 518: uint16(1057), - 519: uint16(1044), - 520: uint16(1044), - 521: uint16(124), - 522: uint16(124), - 523: uint16(125), - 524: uint16(125), - 525: uint16(125), - 526: uint16(125), - 527: uint16(1193), - 528: uint16(478), - 529: uint16(136), - 530: uint16(136), - 531: uint16(411), - 532: uint16(286), - 533: uint16(286), - 534: uint16(1493), - 535: uint16(509), - 536: uint16(122), - 537: uint16(122), - 538: uint16(121), - 539: uint16(121), - 540: uint16(121), - 541: uint16(120), - 542: uint16(117), - 543: uint16(448), - 544: uint16(1010), - 545: uint16(569), - 546: uint16(522), - 547: uint16(219), - 548: uint16(545), - 549: uint16(545), - 550: uint16(318), - 551: uint16(563), - 552: uint16(143), - 553: uint16(6), - 554: uint16(536), - 555: uint16(126), - 556: uint16(127), - 557: uint16(81), - 558: uint16(1217), - 559: uint16(1217), - 560: uint16(1054), - 561: uint16(1057), - 562: uint16(1044), - 563: uint16(1044), - 564: uint16(124), - 565: uint16(124), - 566: uint16(125), - 567: uint16(125), - 568: uint16(125), - 569: uint16(125), - 570: uint16(1557), - 571: uint16(123), - 572: uint16(123), - 573: uint16(123), - 574: uint16(123), - 575: uint16(122), - 576: uint16(122), - 577: uint16(121), - 578: uint16(121), - 579: uint16(121), - 580: uint16(120), - 581: uint16(117), - 582: uint16(448), - 583: uint16(489), - 584: uint16(1193), - 585: uint16(1194), - 586: uint16(1193), - 587: uint16(486), - 588: uint16(283), - 589: uint16(1270), - 590: uint16(960), - 591: uint16(254), - 592: uint16(1193), - 593: uint16(375), - 594: uint16(508), - 595: uint16(505), - 596: uint16(504), - 597: uint16(1193), - 598: uint16(342), - 599: uint16(574), - 600: uint16(1193), - 601: uint16(574), - 602: uint16(411), - 603: uint16(294), - 604: uint16(503), - 605: uint16(960), - 606: uint16(879), - 607: uint16(193), - 608: uint16(484), - 609: uint16(318), - 610: uint16(563), - 611: uint16(386), - 612: uint16(292), - 613: uint16(382), - 614: uint16(123), - 615: uint16(123), - 616: uint16(123), - 617: uint16(123), - 618: uint16(122), - 619: uint16(122), - 620: uint16(121), - 621: uint16(121), - 622: uint16(121), - 623: uint16(120), - 624: uint16(117), - 625: uint16(448), - 626: uint16(126), - 627: uint16(127), - 628: uint16(81), - 629: uint16(1217), - 630: uint16(1217), - 631: uint16(1054), - 632: uint16(1057), - 633: uint16(1044), - 634: uint16(1044), - 635: uint16(124), - 636: uint16(124), - 637: uint16(125), - 638: uint16(125), - 639: uint16(125), - 640: uint16(125), - 641: uint16(411), - 642: uint16(396), - 643: uint16(1139), - 644: uint16(1193), - 645: uint16(872), - 646: uint16(101), - 647: uint16(286), - 648: uint16(286), - 649: uint16(1193), - 650: uint16(1194), - 651: uint16(1193), - 652: uint16(375), - 653: uint16(1096), - 654: uint16(1193), - 655: uint16(1194), - 656: uint16(1193), - 657: uint16(1193), - 658: uint16(1194), - 659: uint16(1193), - 660: uint16(569), - 661: uint16(459), - 662: uint16(33), - 663: uint16(375), - 664: uint16(235), - 665: uint16(126), - 666: uint16(127), - 667: uint16(81), - 668: uint16(1217), - 669: uint16(1217), - 670: uint16(1054), - 671: uint16(1057), - 672: uint16(1044), - 673: uint16(1044), - 674: uint16(124), - 675: uint16(124), - 676: uint16(125), - 677: uint16(125), - 678: uint16(125), - 679: uint16(125), - 680: uint16(1437), - 681: uint16(962), - 682: uint16(572), - 683: uint16(230), - 684: uint16(961), - 685: uint16(123), - 686: uint16(123), - 687: uint16(123), - 688: uint16(123), - 689: uint16(122), - 690: uint16(122), - 691: uint16(121), - 692: uint16(121), - 693: uint16(121), - 694: uint16(120), - 695: uint16(117), - 696: uint16(448), - 697: uint16(1159), - 698: uint16(230), - 699: uint16(1193), - 700: uint16(158), - 701: uint16(1193), - 702: uint16(1194), - 703: uint16(1193), - 704: uint16(1556), - 705: uint16(13), - 706: uint16(13), - 707: uint16(303), - 708: uint16(960), - 709: uint16(1233), - 710: uint16(1159), - 711: uint16(154), - 712: uint16(411), - 713: uint16(1159), - 714: uint16(375), - 715: uint16(1584), - 716: uint16(1177), - 717: uint16(5), - 718: uint16(371), - 719: uint16(1581), - 720: uint16(431), - 721: uint16(1239), - 722: uint16(3), - 723: uint16(960), - 724: uint16(123), - 725: uint16(123), - 726: uint16(123), - 727: uint16(123), - 728: uint16(122), - 729: uint16(122), - 730: uint16(121), - 731: uint16(121), - 732: uint16(121), - 733: uint16(120), - 734: uint16(117), - 735: uint16(448), - 736: uint16(126), - 737: uint16(127), - 738: uint16(81), - 739: uint16(1217), - 740: uint16(1217), - 741: uint16(1054), - 742: uint16(1057), - 743: uint16(1044), - 744: uint16(1044), - 745: uint16(124), - 746: uint16(124), - 747: uint16(125), - 748: uint16(125), - 749: uint16(125), - 750: uint16(125), - 751: uint16(411), - 752: uint16(210), - 753: uint16(571), - 754: uint16(1193), - 755: uint16(1032), - 756: uint16(1193), - 757: uint16(1194), - 758: uint16(1193), - 759: uint16(1193), - 760: uint16(390), - 761: uint16(855), - 762: uint16(156), - 763: uint16(1555), - 764: uint16(376), - 765: uint16(404), - 766: uint16(1101), - 767: uint16(1101), - 768: uint16(492), - 769: uint16(572), - 770: uint16(469), - 771: uint16(344), - 772: uint16(1322), - 773: uint16(1322), - 774: uint16(1555), - 775: uint16(126), - 776: uint16(127), - 777: uint16(81), - 778: uint16(1217), - 779: uint16(1217), - 780: uint16(1054), - 781: uint16(1057), - 782: uint16(1044), - 783: uint16(1044), - 784: uint16(124), - 785: uint16(124), - 786: uint16(125), - 787: uint16(125), - 788: uint16(125), - 789: uint16(125), - 790: uint16(130), - 791: uint16(572), - 792: uint16(13), - 793: uint16(13), - 794: uint16(532), - 795: uint16(123), - 796: uint16(123), - 797: uint16(123), - 798: uint16(123), - 799: uint16(122), - 800: uint16(122), - 801: uint16(121), - 802: uint16(121), - 803: uint16(121), - 804: uint16(120), - 805: uint16(117), - 806: uint16(448), - 807: uint16(304), - 808: uint16(572), - 809: uint16(457), - 810: uint16(229), - 811: uint16(1193), - 812: uint16(1194), - 813: uint16(1193), - 814: uint16(13), - 815: uint16(13), - 816: uint16(1193), - 817: uint16(1194), - 818: uint16(1193), - 819: uint16(1300), - 820: uint16(467), - 821: uint16(1270), - 822: uint16(411), - 823: uint16(1320), - 824: uint16(1320), - 825: uint16(1555), - 826: uint16(1015), - 827: uint16(457), - 828: uint16(456), - 829: uint16(436), - 830: uint16(301), - 831: uint16(72), - 832: uint16(72), - 833: uint16(1268), - 834: uint16(123), - 835: uint16(123), - 836: uint16(123), - 837: uint16(123), - 838: uint16(122), - 839: uint16(122), - 840: uint16(121), - 841: uint16(121), - 842: uint16(121), - 843: uint16(120), - 844: uint16(117), - 845: uint16(448), - 846: uint16(126), - 847: uint16(127), - 848: uint16(81), - 849: uint16(1217), - 850: uint16(1217), - 851: uint16(1054), - 852: uint16(1057), - 853: uint16(1044), - 854: uint16(1044), - 855: uint16(124), - 856: uint16(124), - 857: uint16(125), - 858: uint16(125), - 859: uint16(125), - 860: uint16(125), - 861: uint16(411), - 862: uint16(384), - 863: uint16(1076), - 864: uint16(1159), - 865: uint16(286), - 866: uint16(286), - 867: uint16(421), - 868: uint16(314), - 869: uint16(280), - 870: uint16(280), - 871: uint16(287), - 872: uint16(287), - 873: uint16(461), - 874: uint16(408), - 875: uint16(407), - 876: uint16(1539), - 877: uint16(1159), - 878: uint16(569), - 879: uint16(572), - 880: uint16(1159), - 881: uint16(1196), - 882: uint16(569), - 883: uint16(409), - 884: uint16(569), - 885: uint16(126), - 886: uint16(127), - 887: uint16(81), - 888: uint16(1217), - 889: uint16(1217), - 890: uint16(1054), - 891: uint16(1057), - 892: uint16(1044), - 893: uint16(1044), - 894: uint16(124), - 895: uint16(124), - 896: uint16(125), - 897: uint16(125), - 898: uint16(125), - 899: uint16(125), - 900: uint16(457), - 901: uint16(1485), - 902: uint16(13), - 903: uint16(13), - 904: uint16(1541), - 905: uint16(123), - 906: uint16(123), - 907: uint16(123), - 908: uint16(123), - 909: uint16(122), - 910: uint16(122), - 911: uint16(121), - 912: uint16(121), - 913: uint16(121), - 914: uint16(120), - 915: uint16(117), - 916: uint16(448), - 917: uint16(202), - 918: uint16(572), - 919: uint16(462), - 920: uint16(1587), - 921: uint16(578), - 922: uint16(2), - 923: uint16(1248), - 924: uint16(843), - 925: uint16(844), - 926: uint16(845), - 927: uint16(1563), - 928: uint16(319), - 929: uint16(409), - 930: uint16(147), - 931: uint16(6), - 932: uint16(411), - 933: uint16(257), - 934: uint16(256), - 935: uint16(255), - 936: uint16(208), - 937: uint16(1330), - 938: uint16(9), - 939: uint16(1196), - 940: uint16(264), - 941: uint16(72), - 942: uint16(72), - 943: uint16(1436), - 944: uint16(123), - 945: uint16(123), - 946: uint16(123), - 947: uint16(123), - 948: uint16(122), - 949: uint16(122), - 950: uint16(121), - 951: uint16(121), - 952: uint16(121), - 953: uint16(120), - 954: uint16(117), - 955: uint16(448), - 956: uint16(126), - 957: uint16(127), - 958: uint16(81), - 959: uint16(1217), - 960: uint16(1217), - 961: uint16(1054), - 962: uint16(1057), - 963: uint16(1044), - 964: uint16(1044), - 965: uint16(124), - 966: uint16(124), - 967: uint16(125), - 968: uint16(125), - 969: uint16(125), - 970: uint16(125), - 971: uint16(572), - 972: uint16(286), - 973: uint16(286), - 974: uint16(572), - 975: uint16(1213), - 976: uint16(411), - 977: uint16(577), - 978: uint16(315), - 979: uint16(1248), - 980: uint16(421), - 981: uint16(371), - 982: uint16(1581), - 983: uint16(356), - 984: uint16(319), - 985: uint16(569), - 986: uint16(147), - 987: uint16(495), - 988: uint16(529), - 989: uint16(1644), - 990: uint16(397), - 991: uint16(935), - 992: uint16(495), - 993: uint16(1330), - 994: uint16(71), - 995: uint16(71), - 996: uint16(934), - 997: uint16(72), - 998: uint16(72), - 999: uint16(242), - 1000: uint16(1328), - 1001: uint16(105), - 1002: uint16(81), - 1003: uint16(1217), - 1004: uint16(1217), - 1005: uint16(1054), - 1006: uint16(1057), - 1007: uint16(1044), - 1008: uint16(1044), - 1009: uint16(124), - 1010: uint16(124), - 1011: uint16(125), - 1012: uint16(125), - 1013: uint16(125), - 1014: uint16(125), - 1015: uint16(123), - 1016: uint16(123), - 1017: uint16(123), - 1018: uint16(123), - 1019: uint16(122), - 1020: uint16(122), - 1021: uint16(121), - 1022: uint16(121), - 1023: uint16(121), - 1024: uint16(120), - 1025: uint16(117), - 1026: uint16(448), - 1027: uint16(1117), - 1028: uint16(286), - 1029: uint16(286), - 1030: uint16(1422), - 1031: uint16(452), - 1032: uint16(1528), - 1033: uint16(1213), - 1034: uint16(443), - 1035: uint16(286), - 1036: uint16(286), - 1037: uint16(1492), - 1038: uint16(1355), - 1039: uint16(313), - 1040: uint16(478), - 1041: uint16(569), - 1042: uint16(1118), - 1043: uint16(454), - 1044: uint16(351), - 1045: uint16(495), - 1046: uint16(354), - 1047: uint16(1266), - 1048: uint16(569), - 1049: uint16(209), - 1050: uint16(572), - 1051: uint16(418), - 1052: uint16(179), - 1053: uint16(572), - 1054: uint16(1031), - 1055: uint16(242), - 1056: uint16(385), - 1057: uint16(1119), - 1058: uint16(523), - 1059: uint16(123), - 1060: uint16(123), - 1061: uint16(123), - 1062: uint16(123), - 1063: uint16(122), - 1064: uint16(122), - 1065: uint16(121), - 1066: uint16(121), - 1067: uint16(121), - 1068: uint16(120), - 1069: uint16(117), - 1070: uint16(448), - 1071: uint16(1020), - 1072: uint16(108), - 1073: uint16(72), - 1074: uint16(72), - 1075: uint16(1019), - 1076: uint16(13), - 1077: uint16(13), - 1078: uint16(915), - 1079: uint16(572), - 1080: uint16(1498), - 1081: uint16(572), - 1082: uint16(286), - 1083: uint16(286), - 1084: uint16(98), - 1085: uint16(530), - 1086: uint16(1537), - 1087: uint16(452), - 1088: uint16(916), - 1089: uint16(1334), - 1090: uint16(1329), - 1091: uint16(203), - 1092: uint16(411), - 1093: uint16(286), - 1094: uint16(286), - 1095: uint16(569), - 1096: uint16(152), - 1097: uint16(211), - 1098: uint16(1498), - 1099: uint16(1500), - 1100: uint16(426), - 1101: uint16(569), - 1102: uint16(56), - 1103: uint16(56), - 1104: uint16(57), - 1105: uint16(57), - 1106: uint16(569), - 1107: uint16(1019), - 1108: uint16(1019), - 1109: uint16(1021), - 1110: uint16(447), - 1111: uint16(572), - 1112: uint16(411), - 1113: uint16(531), - 1114: uint16(12), - 1115: uint16(297), - 1116: uint16(126), - 1117: uint16(127), - 1118: uint16(81), - 1119: uint16(1217), - 1120: uint16(1217), - 1121: uint16(1054), - 1122: uint16(1057), - 1123: uint16(1044), - 1124: uint16(1044), - 1125: uint16(124), - 1126: uint16(124), - 1127: uint16(125), - 1128: uint16(125), - 1129: uint16(125), - 1130: uint16(125), - 1131: uint16(572), - 1132: uint16(411), - 1133: uint16(867), - 1134: uint16(15), - 1135: uint16(15), - 1136: uint16(126), - 1137: uint16(127), - 1138: uint16(81), - 1139: uint16(1217), - 1140: uint16(1217), - 1141: uint16(1054), - 1142: uint16(1057), - 1143: uint16(1044), - 1144: uint16(1044), - 1145: uint16(124), - 1146: uint16(124), - 1147: uint16(125), - 1148: uint16(125), - 1149: uint16(125), - 1150: uint16(125), - 1151: uint16(373), - 1152: uint16(529), - 1153: uint16(264), - 1154: uint16(44), - 1155: uint16(44), - 1156: uint16(126), - 1157: uint16(115), - 1158: uint16(81), - 1159: uint16(1217), - 1160: uint16(1217), - 1161: uint16(1054), - 1162: uint16(1057), - 1163: uint16(1044), - 1164: uint16(1044), - 1165: uint16(124), - 1166: uint16(124), - 1167: uint16(125), - 1168: uint16(125), - 1169: uint16(125), - 1170: uint16(125), - 1171: uint16(1498), - 1172: uint16(478), - 1173: uint16(1271), - 1174: uint16(417), - 1175: uint16(123), - 1176: uint16(123), - 1177: uint16(123), - 1178: uint16(123), - 1179: uint16(122), - 1180: uint16(122), - 1181: uint16(121), - 1182: uint16(121), - 1183: uint16(121), - 1184: uint16(120), - 1185: uint16(117), - 1186: uint16(448), - 1187: uint16(205), - 1188: uint16(1213), - 1189: uint16(495), - 1190: uint16(430), - 1191: uint16(867), - 1192: uint16(468), - 1193: uint16(322), - 1194: uint16(495), - 1195: uint16(123), - 1196: uint16(123), - 1197: uint16(123), - 1198: uint16(123), - 1199: uint16(122), - 1200: uint16(122), - 1201: uint16(121), - 1202: uint16(121), - 1203: uint16(121), - 1204: uint16(120), - 1205: uint16(117), - 1206: uint16(448), - 1207: uint16(572), - 1208: uint16(557), - 1209: uint16(1140), - 1210: uint16(1642), - 1211: uint16(1422), - 1212: uint16(1642), - 1213: uint16(543), - 1214: uint16(572), - 1215: uint16(123), - 1216: uint16(123), - 1217: uint16(123), - 1218: uint16(123), - 1219: uint16(122), - 1220: uint16(122), - 1221: uint16(121), - 1222: uint16(121), - 1223: uint16(121), - 1224: uint16(120), - 1225: uint16(117), - 1226: uint16(448), - 1227: uint16(572), - 1228: uint16(1422), - 1229: uint16(572), - 1230: uint16(13), - 1231: uint16(13), - 1232: uint16(542), - 1233: uint16(323), - 1234: uint16(1325), - 1235: uint16(411), - 1236: uint16(334), - 1237: uint16(58), - 1238: uint16(58), - 1239: uint16(349), - 1240: uint16(1422), - 1241: uint16(1170), - 1242: uint16(326), - 1243: uint16(286), - 1244: uint16(286), - 1245: uint16(549), - 1246: uint16(1213), - 1247: uint16(300), - 1248: uint16(895), - 1249: uint16(530), - 1250: uint16(45), - 1251: uint16(45), - 1252: uint16(59), - 1253: uint16(59), - 1254: uint16(1140), - 1255: uint16(1643), - 1256: uint16(569), - 1257: uint16(1643), - 1258: uint16(565), - 1259: uint16(417), - 1260: uint16(127), - 1261: uint16(81), - 1262: uint16(1217), - 1263: uint16(1217), - 1264: uint16(1054), - 1265: uint16(1057), - 1266: uint16(1044), - 1267: uint16(1044), - 1268: uint16(124), - 1269: uint16(124), - 1270: uint16(125), - 1271: uint16(125), - 1272: uint16(125), - 1273: uint16(125), - 1274: uint16(1367), - 1275: uint16(373), - 1276: uint16(500), - 1277: uint16(290), - 1278: uint16(1193), - 1279: uint16(512), - 1280: uint16(1366), - 1281: uint16(427), - 1282: uint16(394), - 1283: uint16(394), - 1284: uint16(393), - 1285: uint16(275), - 1286: uint16(391), - 1287: uint16(896), - 1288: uint16(1138), - 1289: uint16(852), - 1290: uint16(478), - 1291: uint16(258), - 1292: uint16(1422), - 1293: uint16(1170), - 1294: uint16(463), - 1295: uint16(1159), - 1296: uint16(12), - 1297: uint16(331), - 1298: uint16(428), - 1299: uint16(333), - 1300: uint16(1117), - 1301: uint16(460), - 1302: uint16(236), - 1303: uint16(258), - 1304: uint16(325), - 1305: uint16(460), - 1306: uint16(544), - 1307: uint16(1544), - 1308: uint16(1159), - 1309: uint16(1098), - 1310: uint16(491), - 1311: uint16(1159), - 1312: uint16(324), - 1313: uint16(1098), - 1314: uint16(440), - 1315: uint16(1118), - 1316: uint16(335), - 1317: uint16(516), - 1318: uint16(123), - 1319: uint16(123), - 1320: uint16(123), - 1321: uint16(123), - 1322: uint16(122), - 1323: uint16(122), - 1324: uint16(121), - 1325: uint16(121), - 1326: uint16(121), - 1327: uint16(120), - 1328: uint16(117), - 1329: uint16(448), - 1330: uint16(1119), - 1331: uint16(318), - 1332: uint16(563), - 1333: uint16(1138), - 1334: uint16(572), - 1335: uint16(1193), - 1336: uint16(1194), - 1337: uint16(1193), - 1338: uint16(112), - 1339: uint16(564), - 1340: uint16(201), + 345: uint16(555), + 346: uint16(1149), + 347: uint16(1657), + 348: uint16(1628), + 349: uint16(1657), + 350: uint16(45), + 351: uint16(128), + 352: uint16(125), + 353: uint16(232), + 354: uint16(1204), + 355: uint16(1205), + 356: uint16(1204), + 357: uint16(1250), + 358: uint16(571), + 359: uint16(1169), + 360: uint16(132), + 361: uint16(132), + 362: uint16(132), + 363: uint16(132), + 364: uint16(131), + 365: uint16(131), + 366: uint16(130), + 367: uint16(130), + 368: uint16(130), + 369: uint16(129), + 370: uint16(126), + 371: uint16(450), + 372: uint16(1169), + 373: uint16(287), + 374: uint16(287), + 375: uint16(1169), + 376: uint16(1019), + 377: uint16(576), + 378: uint16(422), + 379: uint16(1019), + 380: uint16(412), + 381: uint16(451), + 382: uint16(1602), + 383: uint16(582), + 384: uint16(2), + 385: uint16(1259), + 386: uint16(573), + 387: uint16(44), + 388: uint16(561), + 389: uint16(95), + 390: uint16(320), + 391: uint16(110), + 392: uint16(153), + 393: uint16(565), + 394: uint16(1204), + 395: uint16(1205), + 396: uint16(1204), + 397: uint16(522), + 398: uint16(522), + 399: uint16(1341), + 400: uint16(81), + 401: uint16(81), + 402: uint16(7), + 403: uint16(44), + 404: uint16(135), + 405: uint16(136), + 406: uint16(90), + 407: uint16(1228), + 408: uint16(1228), + 409: uint16(1063), + 410: uint16(1066), + 411: uint16(1053), + 412: uint16(1053), + 413: uint16(133), + 414: uint16(133), + 415: uint16(134), + 416: uint16(134), + 417: uint16(134), + 418: uint16(134), + 419: uint16(295), + 420: uint16(1149), + 421: uint16(1658), + 422: uint16(1040), + 423: uint16(1658), + 424: uint16(1204), + 425: uint16(1147), + 426: uint16(319), + 427: uint16(567), + 428: uint16(119), + 429: uint16(119), + 430: uint16(343), + 431: uint16(466), + 432: uint16(331), + 433: uint16(343), + 434: uint16(287), + 435: uint16(287), + 436: uint16(120), + 437: uint16(556), + 438: uint16(451), + 439: uint16(577), + 440: uint16(451), + 441: uint16(1169), + 442: uint16(1169), + 443: uint16(1028), + 444: uint16(319), + 445: uint16(567), + 446: uint16(438), + 447: uint16(573), + 448: uint16(210), + 449: uint16(561), + 450: uint16(1339), + 451: uint16(1451), + 452: uint16(546), + 453: uint16(531), + 454: uint16(1169), + 455: uint16(1169), + 456: uint16(1598), + 457: uint16(1169), + 458: uint16(1169), + 459: uint16(416), + 460: uint16(319), + 461: uint16(567), + 462: uint16(243), + 463: uint16(132), + 464: uint16(132), + 465: uint16(132), + 466: uint16(132), + 467: uint16(131), + 468: uint16(131), + 469: uint16(130), + 470: uint16(130), + 471: uint16(130), + 472: uint16(129), + 473: uint16(126), + 474: uint16(450), + 475: uint16(1028), + 476: uint16(1028), + 477: uint16(1030), + 478: uint16(1031), + 479: uint16(35), + 480: uint16(44), + 481: uint16(1204), + 482: uint16(1205), + 483: uint16(1204), + 484: uint16(472), + 485: uint16(287), + 486: uint16(287), + 487: uint16(1328), + 488: uint16(412), + 489: uint16(1307), + 490: uint16(372), + 491: uint16(1595), + 492: uint16(359), + 493: uint16(225), + 494: uint16(454), + 495: uint16(1204), + 496: uint16(195), + 497: uint16(1328), + 498: uint16(573), + 499: uint16(1147), + 500: uint16(561), + 501: uint16(1333), + 502: uint16(1333), + 503: uint16(274), + 504: uint16(576), + 505: uint16(1188), + 506: uint16(576), + 507: uint16(340), + 508: uint16(46), + 509: uint16(196), + 510: uint16(537), + 511: uint16(217), + 512: uint16(135), + 513: uint16(136), + 514: uint16(90), + 515: uint16(1228), + 516: uint16(1228), + 517: uint16(1063), + 518: uint16(1066), + 519: uint16(1053), + 520: uint16(1053), + 521: uint16(133), + 522: uint16(133), + 523: uint16(134), + 524: uint16(134), + 525: uint16(134), + 526: uint16(134), + 527: uint16(19), + 528: uint16(19), + 529: uint16(19), + 530: uint16(19), + 531: uint16(412), + 532: uint16(581), + 533: uint16(1204), + 534: uint16(1259), + 535: uint16(511), + 536: uint16(1204), + 537: uint16(319), + 538: uint16(567), + 539: uint16(320), + 540: uint16(944), + 541: uint16(153), + 542: uint16(425), + 543: uint16(491), + 544: uint16(430), + 545: uint16(943), + 546: uint16(1204), + 547: uint16(488), + 548: uint16(1341), + 549: uint16(1450), + 550: uint16(532), + 551: uint16(1277), + 552: uint16(1204), + 553: uint16(1205), + 554: uint16(1204), + 555: uint16(135), + 556: uint16(136), + 557: uint16(90), + 558: uint16(1228), + 559: uint16(1228), + 560: uint16(1063), + 561: uint16(1066), + 562: uint16(1053), + 563: uint16(1053), + 564: uint16(133), + 565: uint16(133), + 566: uint16(134), + 567: uint16(134), + 568: uint16(134), + 569: uint16(134), + 570: uint16(575), + 571: uint16(132), + 572: uint16(132), + 573: uint16(132), + 574: uint16(132), + 575: uint16(131), + 576: uint16(131), + 577: uint16(130), + 578: uint16(130), + 579: uint16(130), + 580: uint16(129), + 581: uint16(126), + 582: uint16(450), + 583: uint16(287), + 584: uint16(287), + 585: uint16(528), + 586: uint16(287), + 587: uint16(287), + 588: uint16(372), + 589: uint16(1595), + 590: uint16(1204), + 591: uint16(1205), + 592: uint16(1204), + 593: uint16(1204), + 594: uint16(1205), + 595: uint16(1204), + 596: uint16(573), + 597: uint16(486), + 598: uint16(561), + 599: uint16(573), + 600: uint16(889), + 601: uint16(561), + 602: uint16(412), + 603: uint16(1204), + 604: uint16(1205), + 605: uint16(1204), + 606: uint16(886), + 607: uint16(40), + 608: uint16(22), + 609: uint16(22), + 610: uint16(220), + 611: uint16(243), + 612: uint16(525), + 613: uint16(1449), + 614: uint16(132), + 615: uint16(132), + 616: uint16(132), + 617: uint16(132), + 618: uint16(131), + 619: uint16(131), + 620: uint16(130), + 621: uint16(130), + 622: uint16(130), + 623: uint16(129), + 624: uint16(126), + 625: uint16(450), + 626: uint16(135), + 627: uint16(136), + 628: uint16(90), + 629: uint16(1228), + 630: uint16(1228), + 631: uint16(1063), + 632: uint16(1066), + 633: uint16(1053), + 634: uint16(1053), + 635: uint16(133), + 636: uint16(133), + 637: uint16(134), + 638: uint16(134), + 639: uint16(134), + 640: uint16(134), + 641: uint16(412), + 642: uint16(180), + 643: uint16(454), + 644: uint16(1204), + 645: uint16(879), + 646: uint16(255), + 647: uint16(287), + 648: uint16(287), + 649: uint16(510), + 650: uint16(507), + 651: uint16(506), + 652: uint16(372), + 653: uint16(1595), + 654: uint16(1568), + 655: uint16(1331), + 656: uint16(1331), + 657: uint16(576), + 658: uint16(889), + 659: uint16(505), + 660: uint16(573), + 661: uint16(44), + 662: uint16(561), + 663: uint16(559), + 664: uint16(1207), + 665: uint16(135), + 666: uint16(136), + 667: uint16(90), + 668: uint16(1228), + 669: uint16(1228), + 670: uint16(1063), + 671: uint16(1066), + 672: uint16(1053), + 673: uint16(1053), + 674: uint16(133), + 675: uint16(133), + 676: uint16(134), + 677: uint16(134), + 678: uint16(134), + 679: uint16(134), + 680: uint16(81), + 681: uint16(81), + 682: uint16(422), + 683: uint16(576), + 684: uint16(377), + 685: uint16(132), + 686: uint16(132), + 687: uint16(132), + 688: uint16(132), + 689: uint16(131), + 690: uint16(131), + 691: uint16(130), + 692: uint16(130), + 693: uint16(130), + 694: uint16(129), + 695: uint16(126), + 696: uint16(450), + 697: uint16(297), + 698: uint16(287), + 699: uint16(287), + 700: uint16(460), + 701: uint16(1204), + 702: uint16(1205), + 703: uint16(1204), + 704: uint16(1204), + 705: uint16(534), + 706: uint16(19), + 707: uint16(19), + 708: uint16(448), + 709: uint16(448), + 710: uint16(448), + 711: uint16(573), + 712: uint16(412), + 713: uint16(561), + 714: uint16(230), + 715: uint16(436), + 716: uint16(1187), + 717: uint16(535), + 718: uint16(319), + 719: uint16(567), + 720: uint16(363), + 721: uint16(432), + 722: uint16(1207), + 723: uint16(1435), + 724: uint16(132), + 725: uint16(132), + 726: uint16(132), + 727: uint16(132), + 728: uint16(131), + 729: uint16(131), + 730: uint16(130), + 731: uint16(130), + 732: uint16(130), + 733: uint16(129), + 734: uint16(126), + 735: uint16(450), + 736: uint16(135), + 737: uint16(136), + 738: uint16(90), + 739: uint16(1228), + 740: uint16(1228), + 741: uint16(1063), + 742: uint16(1066), + 743: uint16(1053), + 744: uint16(1053), + 745: uint16(133), + 746: uint16(133), + 747: uint16(134), + 748: uint16(134), + 749: uint16(134), + 750: uint16(134), + 751: uint16(412), + 752: uint16(211), + 753: uint16(949), + 754: uint16(1169), + 755: uint16(1041), + 756: uint16(1110), + 757: uint16(1110), + 758: uint16(494), + 759: uint16(547), + 760: uint16(547), + 761: uint16(1204), + 762: uint16(1205), + 763: uint16(1204), + 764: uint16(7), + 765: uint16(539), + 766: uint16(1570), + 767: uint16(1169), + 768: uint16(376), + 769: uint16(576), + 770: uint16(1169), + 771: uint16(5), + 772: uint16(1204), + 773: uint16(486), + 774: uint16(3), + 775: uint16(135), + 776: uint16(136), + 777: uint16(90), + 778: uint16(1228), + 779: uint16(1228), + 780: uint16(1063), + 781: uint16(1066), + 782: uint16(1053), + 783: uint16(1053), + 784: uint16(133), + 785: uint16(133), + 786: uint16(134), + 787: uint16(134), + 788: uint16(134), + 789: uint16(134), + 790: uint16(576), + 791: uint16(513), + 792: uint16(19), + 793: uint16(19), + 794: uint16(427), + 795: uint16(132), + 796: uint16(132), + 797: uint16(132), + 798: uint16(132), + 799: uint16(131), + 800: uint16(131), + 801: uint16(130), + 802: uint16(130), + 803: uint16(130), + 804: uint16(129), + 805: uint16(126), + 806: uint16(450), + 807: uint16(305), + 808: uint16(1204), + 809: uint16(433), + 810: uint16(225), + 811: uint16(1204), + 812: uint16(385), + 813: uint16(19), + 814: uint16(19), + 815: uint16(273), + 816: uint16(290), + 817: uint16(371), + 818: uint16(516), + 819: uint16(366), + 820: uint16(515), + 821: uint16(260), + 822: uint16(412), + 823: uint16(538), + 824: uint16(1568), + 825: uint16(549), + 826: uint16(1024), + 827: uint16(362), + 828: uint16(437), + 829: uint16(1204), + 830: uint16(1205), + 831: uint16(1204), + 832: uint16(902), + 833: uint16(1552), + 834: uint16(132), + 835: uint16(132), + 836: uint16(132), + 837: uint16(132), + 838: uint16(131), + 839: uint16(131), + 840: uint16(130), + 841: uint16(130), + 842: uint16(130), + 843: uint16(129), + 844: uint16(126), + 845: uint16(450), + 846: uint16(135), + 847: uint16(136), + 848: uint16(90), + 849: uint16(1228), + 850: uint16(1228), + 851: uint16(1063), + 852: uint16(1066), + 853: uint16(1053), + 854: uint16(1053), + 855: uint16(133), + 856: uint16(133), + 857: uint16(134), + 858: uint16(134), + 859: uint16(134), + 860: uint16(134), + 861: uint16(412), + 862: uint16(1435), + 863: uint16(514), + 864: uint16(1281), + 865: uint16(1204), + 866: uint16(1205), + 867: uint16(1204), + 868: uint16(1204), + 869: uint16(1205), + 870: uint16(1204), + 871: uint16(903), + 872: uint16(48), + 873: uint16(342), + 874: uint16(1568), + 875: uint16(1568), + 876: uint16(1279), + 877: uint16(1627), + 878: uint16(1568), + 879: uint16(911), + 880: uint16(576), + 881: uint16(129), + 882: uint16(126), + 883: uint16(450), + 884: uint16(110), + 885: uint16(135), + 886: uint16(136), + 887: uint16(90), + 888: uint16(1228), + 889: uint16(1228), + 890: uint16(1063), + 891: uint16(1066), + 892: uint16(1053), + 893: uint16(1053), + 894: uint16(133), + 895: uint16(133), + 896: uint16(134), + 897: uint16(134), + 898: uint16(134), + 899: uint16(134), + 900: uint16(265), + 901: uint16(576), + 902: uint16(459), + 903: uint16(19), + 904: uint16(19), + 905: uint16(132), + 906: uint16(132), + 907: uint16(132), + 908: uint16(132), + 909: uint16(131), + 910: uint16(131), + 911: uint16(130), + 912: uint16(130), + 913: uint16(130), + 914: uint16(129), + 915: uint16(126), + 916: uint16(450), + 917: uint16(1345), + 918: uint16(204), + 919: uint16(576), + 920: uint16(459), + 921: uint16(458), + 922: uint16(50), + 923: uint16(47), + 924: uint16(19), + 925: uint16(19), + 926: uint16(49), + 927: uint16(434), + 928: uint16(1105), + 929: uint16(573), + 930: uint16(497), + 931: uint16(561), + 932: uint16(412), + 933: uint16(428), + 934: uint16(108), + 935: uint16(1224), + 936: uint16(1569), + 937: uint16(1554), + 938: uint16(376), + 939: uint16(205), + 940: uint16(550), + 941: uint16(550), + 942: uint16(81), + 943: uint16(81), + 944: uint16(132), + 945: uint16(132), + 946: uint16(132), + 947: uint16(132), + 948: uint16(131), + 949: uint16(131), + 950: uint16(130), + 951: uint16(130), + 952: uint16(130), + 953: uint16(129), + 954: uint16(126), + 955: uint16(450), + 956: uint16(135), + 957: uint16(136), + 958: uint16(90), + 959: uint16(1228), + 960: uint16(1228), + 961: uint16(1063), + 962: uint16(1066), + 963: uint16(1053), + 964: uint16(1053), + 965: uint16(133), + 966: uint16(133), + 967: uint16(134), + 968: uint16(134), + 969: uint16(134), + 970: uint16(134), + 971: uint16(480), + 972: uint16(576), + 973: uint16(1204), + 974: uint16(576), + 975: uint16(1541), + 976: uint16(412), + 977: uint16(1435), + 978: uint16(969), + 979: uint16(315), + 980: uint16(1659), + 981: uint16(398), + 982: uint16(284), + 983: uint16(497), + 984: uint16(969), + 985: uint16(893), + 986: uint16(1569), + 987: uint16(1569), + 988: uint16(376), + 989: uint16(376), + 990: uint16(1569), + 991: uint16(461), + 992: uint16(376), + 993: uint16(1224), + 994: uint16(459), + 995: uint16(80), + 996: uint16(80), + 997: uint16(81), + 998: uint16(81), + 999: uint16(497), + 1000: uint16(374), + 1001: uint16(114), + 1002: uint16(90), + 1003: uint16(1228), + 1004: uint16(1228), + 1005: uint16(1063), + 1006: uint16(1066), + 1007: uint16(1053), + 1008: uint16(1053), + 1009: uint16(133), + 1010: uint16(133), + 1011: uint16(134), + 1012: uint16(134), + 1013: uint16(134), + 1014: uint16(134), + 1015: uint16(132), + 1016: uint16(132), + 1017: uint16(132), + 1018: uint16(132), + 1019: uint16(131), + 1020: uint16(131), + 1021: uint16(130), + 1022: uint16(130), + 1023: uint16(130), + 1024: uint16(129), + 1025: uint16(126), + 1026: uint16(450), + 1027: uint16(1204), + 1028: uint16(1505), + 1029: uint16(576), + 1030: uint16(1204), + 1031: uint16(1205), + 1032: uint16(1204), + 1033: uint16(1366), + 1034: uint16(316), + 1035: uint16(486), + 1036: uint16(281), + 1037: uint16(281), + 1038: uint16(497), + 1039: uint16(431), + 1040: uint16(557), + 1041: uint16(288), + 1042: uint16(288), + 1043: uint16(402), + 1044: uint16(1340), + 1045: uint16(471), + 1046: uint16(345), + 1047: uint16(298), + 1048: uint16(429), + 1049: uint16(573), + 1050: uint16(576), + 1051: uint16(561), + 1052: uint16(81), + 1053: uint16(81), + 1054: uint16(573), + 1055: uint16(374), + 1056: uint16(561), + 1057: uint16(971), + 1058: uint16(386), + 1059: uint16(132), + 1060: uint16(132), + 1061: uint16(132), + 1062: uint16(132), + 1063: uint16(131), + 1064: uint16(131), + 1065: uint16(130), + 1066: uint16(130), + 1067: uint16(130), + 1068: uint16(129), + 1069: uint16(126), + 1070: uint16(450), + 1071: uint16(231), + 1072: uint16(117), + 1073: uint16(81), + 1074: uint16(81), + 1075: uint16(287), + 1076: uint16(287), + 1077: uint16(231), + 1078: uint16(287), + 1079: uint16(287), + 1080: uint16(576), + 1081: uint16(1511), + 1082: uint16(576), + 1083: uint16(1336), + 1084: uint16(1204), + 1085: uint16(1205), + 1086: uint16(1204), + 1087: uint16(139), + 1088: uint16(573), + 1089: uint16(556), + 1090: uint16(561), + 1091: uint16(573), + 1092: uint16(412), + 1093: uint16(561), + 1094: uint16(441), + 1095: uint16(456), + 1096: uint16(969), + 1097: uint16(213), + 1098: uint16(558), + 1099: uint16(1511), + 1100: uint16(1513), + 1101: uint16(1550), + 1102: uint16(969), + 1103: uint16(143), + 1104: uint16(143), + 1105: uint16(145), + 1106: uint16(145), + 1107: uint16(1368), + 1108: uint16(314), + 1109: uint16(478), + 1110: uint16(444), + 1111: uint16(970), + 1112: uint16(412), + 1113: uint16(850), + 1114: uint16(851), + 1115: uint16(852), + 1116: uint16(135), + 1117: uint16(136), + 1118: uint16(90), + 1119: uint16(1228), + 1120: uint16(1228), + 1121: uint16(1063), + 1122: uint16(1066), + 1123: uint16(1053), + 1124: uint16(1053), + 1125: uint16(133), + 1126: uint16(133), + 1127: uint16(134), + 1128: uint16(134), + 1129: uint16(134), + 1130: uint16(134), + 1131: uint16(357), + 1132: uint16(412), + 1133: uint16(397), + 1134: uint16(1148), + 1135: uint16(304), + 1136: uint16(135), + 1137: uint16(136), + 1138: uint16(90), + 1139: uint16(1228), + 1140: uint16(1228), + 1141: uint16(1063), + 1142: uint16(1066), + 1143: uint16(1053), + 1144: uint16(1053), + 1145: uint16(133), + 1146: uint16(133), + 1147: uint16(134), + 1148: uint16(134), + 1149: uint16(134), + 1150: uint16(134), + 1151: uint16(1575), + 1152: uint16(323), + 1153: uint16(6), + 1154: uint16(862), + 1155: uint16(7), + 1156: uint16(135), + 1157: uint16(124), + 1158: uint16(90), + 1159: uint16(1228), + 1160: uint16(1228), + 1161: uint16(1063), + 1162: uint16(1066), + 1163: uint16(1053), + 1164: uint16(1053), + 1165: uint16(133), + 1166: uint16(133), + 1167: uint16(134), + 1168: uint16(134), + 1169: uint16(134), + 1170: uint16(134), + 1171: uint16(409), + 1172: uint16(408), + 1173: uint16(1511), + 1174: uint16(212), + 1175: uint16(132), + 1176: uint16(132), + 1177: uint16(132), + 1178: uint16(132), + 1179: uint16(131), + 1180: uint16(131), + 1181: uint16(130), + 1182: uint16(130), + 1183: uint16(130), + 1184: uint16(129), + 1185: uint16(126), + 1186: uint16(450), + 1187: uint16(411), + 1188: uint16(118), + 1189: uint16(1204), + 1190: uint16(116), + 1191: uint16(10), + 1192: uint16(352), + 1193: uint16(265), + 1194: uint16(355), + 1195: uint16(132), + 1196: uint16(132), + 1197: uint16(132), + 1198: uint16(132), + 1199: uint16(131), + 1200: uint16(131), + 1201: uint16(130), + 1202: uint16(130), + 1203: uint16(130), + 1204: uint16(129), + 1205: uint16(126), + 1206: uint16(450), + 1207: uint16(576), + 1208: uint16(324), + 1209: uint16(306), + 1210: uint16(576), + 1211: uint16(306), + 1212: uint16(1250), + 1213: uint16(469), + 1214: uint16(158), + 1215: uint16(132), + 1216: uint16(132), + 1217: uint16(132), + 1218: uint16(132), + 1219: uint16(131), + 1220: uint16(131), + 1221: uint16(130), + 1222: uint16(130), + 1223: uint16(130), + 1224: uint16(129), + 1225: uint16(126), + 1226: uint16(450), + 1227: uint16(207), + 1228: uint16(1224), + 1229: uint16(1126), + 1230: uint16(65), + 1231: uint16(65), + 1232: uint16(470), + 1233: uint16(66), + 1234: uint16(66), + 1235: uint16(412), + 1236: uint16(447), + 1237: uint16(446), + 1238: uint16(882), + 1239: uint16(531), + 1240: uint16(335), + 1241: uint16(258), + 1242: uint16(257), + 1243: uint16(256), + 1244: uint16(1127), + 1245: uint16(1233), + 1246: uint16(1204), + 1247: uint16(1205), + 1248: uint16(1204), + 1249: uint16(327), + 1250: uint16(1235), + 1251: uint16(874), + 1252: uint16(159), + 1253: uint16(576), + 1254: uint16(16), + 1255: uint16(480), + 1256: uint16(1085), + 1257: uint16(1040), + 1258: uint16(1234), + 1259: uint16(1128), + 1260: uint16(136), + 1261: uint16(90), + 1262: uint16(1228), + 1263: uint16(1228), + 1264: uint16(1063), + 1265: uint16(1066), + 1266: uint16(1053), + 1267: uint16(1053), + 1268: uint16(133), + 1269: uint16(133), + 1270: uint16(134), + 1271: uint16(134), + 1272: uint16(134), + 1273: uint16(134), + 1274: uint16(1029), + 1275: uint16(576), + 1276: uint16(81), + 1277: uint16(81), + 1278: uint16(1028), + 1279: uint16(1040), + 1280: uint16(922), + 1281: uint16(576), + 1282: uint16(463), + 1283: uint16(1236), + 1284: uint16(576), + 1285: uint16(1236), + 1286: uint16(1224), + 1287: uint16(502), + 1288: uint16(107), + 1289: uint16(1435), + 1290: uint16(923), + 1291: uint16(6), + 1292: uint16(576), + 1293: uint16(410), + 1294: uint16(1498), + 1295: uint16(882), + 1296: uint16(1029), + 1297: uint16(480), + 1298: uint16(21), + 1299: uint16(21), + 1300: uint16(1028), + 1301: uint16(332), + 1302: uint16(1380), + 1303: uint16(334), + 1304: uint16(53), + 1305: uint16(53), + 1306: uint16(497), + 1307: uint16(81), + 1308: uint16(81), + 1309: uint16(874), + 1310: uint16(1028), + 1311: uint16(1028), + 1312: uint16(1030), + 1313: uint16(445), + 1314: uint16(259), + 1315: uint16(19), + 1316: uint16(19), + 1317: uint16(533), + 1318: uint16(132), + 1319: uint16(132), + 1320: uint16(132), + 1321: uint16(132), + 1322: uint16(131), + 1323: uint16(131), + 1324: uint16(130), + 1325: uint16(130), + 1326: uint16(130), + 1327: uint16(129), + 1328: uint16(126), + 1329: uint16(450), + 1330: uint16(551), + 1331: uint16(301), + 1332: uint16(1028), + 1333: uint16(1028), + 1334: uint16(1030), + 1335: uint16(107), + 1336: uint16(532), + 1337: uint16(545), + 1338: uint16(121), + 1339: uint16(568), + 1340: uint16(1188), 1341: uint16(4), - 1342: uint16(238), - 1343: uint16(433), - 1344: uint16(935), - 1345: uint16(490), - 1346: uint16(285), - 1347: uint16(228), - 1348: uint16(1517), - 1349: uint16(934), - 1350: uint16(170), - 1351: uint16(560), - 1352: uint16(572), - 1353: uint16(142), - 1354: uint16(1516), - 1355: uint16(567), - 1356: uint16(572), - 1357: uint16(60), - 1358: uint16(60), - 1359: uint16(572), - 1360: uint16(416), - 1361: uint16(572), - 1362: uint16(441), - 1363: uint16(572), - 1364: uint16(535), - 1365: uint16(302), - 1366: uint16(875), - 1367: uint16(8), - 1368: uint16(487), - 1369: uint16(572), - 1370: uint16(237), - 1371: uint16(572), - 1372: uint16(416), - 1373: uint16(572), - 1374: uint16(485), - 1375: uint16(61), - 1376: uint16(61), - 1377: uint16(572), - 1378: uint16(449), - 1379: uint16(62), - 1380: uint16(62), - 1381: uint16(332), - 1382: uint16(63), - 1383: uint16(63), - 1384: uint16(46), - 1385: uint16(46), - 1386: uint16(47), - 1387: uint16(47), - 1388: uint16(361), - 1389: uint16(572), - 1390: uint16(561), - 1391: uint16(572), - 1392: uint16(48), - 1393: uint16(48), - 1394: uint16(50), - 1395: uint16(50), - 1396: uint16(51), - 1397: uint16(51), - 1398: uint16(572), - 1399: uint16(295), - 1400: uint16(64), - 1401: uint16(64), - 1402: uint16(482), - 1403: uint16(295), - 1404: uint16(539), - 1405: uint16(412), - 1406: uint16(471), - 1407: uint16(1031), - 1408: uint16(572), - 1409: uint16(538), - 1410: uint16(318), - 1411: uint16(563), - 1412: uint16(65), - 1413: uint16(65), - 1414: uint16(66), - 1415: uint16(66), - 1416: uint16(409), - 1417: uint16(475), - 1418: uint16(572), - 1419: uint16(1031), - 1420: uint16(572), - 1421: uint16(14), - 1422: uint16(14), - 1423: uint16(875), - 1424: uint16(1020), - 1425: uint16(110), - 1426: uint16(110), - 1427: uint16(409), - 1428: uint16(1019), - 1429: uint16(572), - 1430: uint16(474), - 1431: uint16(67), - 1432: uint16(67), - 1433: uint16(111), - 1434: uint16(455), - 1435: uint16(449), - 1436: uint16(573), - 1437: uint16(449), - 1438: uint16(98), - 1439: uint16(317), - 1440: uint16(1019), - 1441: uint16(132), - 1442: uint16(132), - 1443: uint16(133), - 1444: uint16(133), - 1445: uint16(572), - 1446: uint16(1561), - 1447: uint16(572), - 1448: uint16(974), - 1449: uint16(409), - 1450: uint16(6), - 1451: uint16(1562), - 1452: uint16(68), - 1453: uint16(68), - 1454: uint16(1560), - 1455: uint16(6), - 1456: uint16(975), - 1457: uint16(572), - 1458: uint16(6), - 1459: uint16(1559), - 1460: uint16(1019), - 1461: uint16(1019), - 1462: uint16(1021), - 1463: uint16(6), - 1464: uint16(346), - 1465: uint16(218), - 1466: uint16(101), - 1467: uint16(531), - 1468: uint16(53), - 1469: uint16(53), - 1470: uint16(69), - 1471: uint16(69), - 1472: uint16(1019), - 1473: uint16(1019), - 1474: uint16(1021), - 1475: uint16(1022), - 1476: uint16(28), - 1477: uint16(1586), - 1478: uint16(1181), - 1479: uint16(451), - 1480: uint16(70), - 1481: uint16(70), - 1482: uint16(290), - 1483: uint16(87), - 1484: uint16(215), - 1485: uint16(31), - 1486: uint16(1363), - 1487: uint16(394), - 1488: uint16(394), - 1489: uint16(393), - 1490: uint16(275), - 1491: uint16(391), - 1492: uint16(350), - 1493: uint16(109), - 1494: uint16(852), - 1495: uint16(107), - 1496: uint16(572), - 1497: uint16(112), - 1498: uint16(564), - 1499: uint16(483), - 1500: uint16(4), - 1501: uint16(1212), - 1502: uint16(572), - 1503: uint16(239), - 1504: uint16(153), - 1505: uint16(572), - 1506: uint16(39), - 1507: uint16(236), - 1508: uint16(1299), - 1509: uint16(325), - 1510: uint16(112), - 1511: uint16(564), - 1512: uint16(1298), - 1513: uint16(4), - 1514: uint16(567), - 1515: uint16(572), - 1516: uint16(32), - 1517: uint16(324), - 1518: uint16(572), - 1519: uint16(54), - 1520: uint16(54), - 1521: uint16(572), - 1522: uint16(1135), - 1523: uint16(353), - 1524: uint16(398), - 1525: uint16(165), - 1526: uint16(165), - 1527: uint16(567), - 1528: uint16(166), - 1529: uint16(166), - 1530: uint16(572), - 1531: uint16(291), - 1532: uint16(355), - 1533: uint16(572), - 1534: uint16(17), - 1535: uint16(357), - 1536: uint16(572), - 1537: uint16(449), - 1538: uint16(77), - 1539: uint16(77), - 1540: uint16(1313), - 1541: uint16(55), - 1542: uint16(55), - 1543: uint16(1297), - 1544: uint16(73), - 1545: uint16(73), - 1546: uint16(572), - 1547: uint16(238), - 1548: uint16(470), - 1549: uint16(561), - 1550: uint16(449), - 1551: uint16(472), - 1552: uint16(364), - 1553: uint16(135), - 1554: uint16(135), - 1555: uint16(170), - 1556: uint16(74), - 1557: uint16(74), - 1558: uint16(142), - 1559: uint16(163), - 1560: uint16(163), - 1561: uint16(374), - 1562: uint16(561), - 1563: uint16(539), - 1564: uint16(572), - 1565: uint16(321), - 1566: uint16(572), - 1567: uint16(886), - 1568: uint16(540), - 1569: uint16(137), - 1570: uint16(137), - 1571: uint16(339), - 1572: uint16(1353), - 1573: uint16(422), - 1574: uint16(298), - 1575: uint16(237), - 1576: uint16(539), - 1577: uint16(572), - 1578: uint16(1031), - 1579: uint16(572), - 1580: uint16(340), - 1581: uint16(538), - 1582: uint16(101), - 1583: uint16(369), - 1584: uint16(110), - 1585: uint16(110), - 1586: uint16(162), - 1587: uint16(131), - 1588: uint16(131), - 1589: uint16(164), - 1590: uint16(164), - 1591: uint16(1031), - 1592: uint16(111), - 1593: uint16(368), - 1594: uint16(449), - 1595: uint16(573), - 1596: uint16(449), + 1342: uint16(1126), + 1343: uint16(1576), + 1344: uint16(449), + 1345: uint16(576), + 1346: uint16(462), + 1347: uint16(7), + 1348: uint16(1282), + 1349: uint16(418), + 1350: uint16(462), + 1351: uint16(350), + 1352: uint16(1435), + 1353: uint16(576), + 1354: uint16(518), + 1355: uint16(571), + 1356: uint16(544), + 1357: uint16(1127), + 1358: uint16(121), + 1359: uint16(568), + 1360: uint16(442), + 1361: uint16(4), + 1362: uint16(1188), + 1363: uint16(464), + 1364: uint16(533), + 1365: uint16(1180), + 1366: uint16(1223), + 1367: uint16(9), + 1368: uint16(67), + 1369: uint16(67), + 1370: uint16(487), + 1371: uint16(576), + 1372: uint16(1128), + 1373: uint16(303), + 1374: uint16(410), + 1375: uint16(571), + 1376: uint16(54), + 1377: uint16(54), + 1378: uint16(451), + 1379: uint16(576), + 1380: uint16(123), + 1381: uint16(944), + 1382: uint16(576), + 1383: uint16(417), + 1384: uint16(576), + 1385: uint16(333), + 1386: uint16(943), + 1387: uint16(1379), + 1388: uint16(576), + 1389: uint16(236), + 1390: uint16(565), + 1391: uint16(576), + 1392: uint16(1574), + 1393: uint16(564), + 1394: uint16(68), + 1395: uint16(68), + 1396: uint16(7), + 1397: uint16(576), + 1398: uint16(451), + 1399: uint16(362), + 1400: uint16(419), + 1401: uint16(182), + 1402: uint16(69), + 1403: uint16(69), + 1404: uint16(541), + 1405: uint16(70), + 1406: uint16(70), + 1407: uint16(71), + 1408: uint16(71), + 1409: uint16(540), + 1410: uint16(565), + 1411: uint16(72), + 1412: uint16(72), + 1413: uint16(484), + 1414: uint16(55), + 1415: uint16(55), + 1416: uint16(473), + 1417: uint16(1180), + 1418: uint16(296), + 1419: uint16(1040), + 1420: uint16(56), + 1421: uint16(56), + 1422: uint16(296), + 1423: uint16(493), + 1424: uint16(541), + 1425: uint16(119), + 1426: uint16(119), + 1427: uint16(410), + 1428: uint16(1573), + 1429: uint16(542), + 1430: uint16(569), + 1431: uint16(418), + 1432: uint16(7), + 1433: uint16(120), + 1434: uint16(1244), + 1435: uint16(451), + 1436: uint16(577), + 1437: uint16(451), + 1438: uint16(465), + 1439: uint16(1040), + 1440: uint16(1028), + 1441: uint16(576), + 1442: uint16(1557), + 1443: uint16(552), + 1444: uint16(476), + 1445: uint16(119), + 1446: uint16(119), + 1447: uint16(527), + 1448: uint16(259), + 1449: uint16(121), + 1450: uint16(568), + 1451: uint16(240), + 1452: uint16(4), + 1453: uint16(120), + 1454: uint16(576), + 1455: uint16(451), + 1456: uint16(577), + 1457: uint16(451), + 1458: uint16(576), + 1459: uint16(477), + 1460: uint16(1028), + 1461: uint16(576), + 1462: uint16(156), + 1463: uint16(576), + 1464: uint16(57), + 1465: uint16(57), + 1466: uint16(571), + 1467: uint16(576), + 1468: uint16(286), + 1469: uint16(229), + 1470: uint16(410), + 1471: uint16(336), + 1472: uint16(1028), + 1473: uint16(1028), + 1474: uint16(1030), + 1475: uint16(1031), + 1476: uint16(35), + 1477: uint16(59), + 1478: uint16(59), + 1479: uint16(219), + 1480: uint16(983), + 1481: uint16(60), + 1482: uint16(60), + 1483: uint16(220), + 1484: uint16(73), + 1485: uint16(73), + 1486: uint16(74), + 1487: uint16(74), + 1488: uint16(984), + 1489: uint16(451), + 1490: uint16(75), + 1491: uint16(75), + 1492: uint16(1028), + 1493: uint16(1028), + 1494: uint16(1030), + 1495: uint16(1031), + 1496: uint16(35), + 1497: uint16(96), + 1498: uint16(216), + 1499: uint16(291), + 1500: uint16(552), + 1501: uint16(565), + 1502: uint16(1188), + 1503: uint16(318), + 1504: uint16(395), + 1505: uint16(395), + 1506: uint16(394), + 1507: uint16(276), + 1508: uint16(392), + 1509: uint16(576), + 1510: uint16(485), + 1511: uint16(859), + 1512: uint16(474), + 1513: uint16(1311), + 1514: uint16(410), + 1515: uint16(541), + 1516: uint16(576), + 1517: uint16(417), + 1518: uint16(1530), + 1519: uint16(1144), + 1520: uint16(540), + 1521: uint16(399), + 1522: uint16(1188), + 1523: uint16(292), + 1524: uint16(237), + 1525: uint16(1153), + 1526: uint16(326), + 1527: uint16(38), + 1528: uint16(23), + 1529: uint16(576), + 1530: uint16(1040), + 1531: uint16(576), + 1532: uint16(20), + 1533: uint16(20), + 1534: uint16(325), + 1535: uint16(299), + 1536: uint16(119), + 1537: uint16(119), + 1538: uint16(164), + 1539: uint16(76), + 1540: uint16(76), + 1541: uint16(1529), + 1542: uint16(121), + 1543: uint16(568), + 1544: uint16(120), + 1545: uint16(4), + 1546: uint16(451), + 1547: uint16(577), + 1548: uint16(451), + 1549: uint16(203), + 1550: uint16(576), + 1551: uint16(1028), + 1552: uint16(141), + 1553: uint16(141), + 1554: uint16(142), + 1555: uint16(142), + 1556: uint16(576), + 1557: uint16(322), + 1558: uint16(39), + 1559: uint16(571), + 1560: uint16(341), + 1561: uint16(1021), + 1562: uint16(110), + 1563: uint16(264), + 1564: uint16(239), + 1565: uint16(901), + 1566: uint16(900), + 1567: uint16(423), + 1568: uint16(242), + 1569: uint16(908), + 1570: uint16(909), + 1571: uint16(370), + 1572: uint16(173), + 1573: uint16(77), + 1574: uint16(77), + 1575: uint16(43), + 1576: uint16(479), + 1577: uint16(1310), + 1578: uint16(264), + 1579: uint16(62), + 1580: uint16(62), + 1581: uint16(369), + 1582: uint16(451), + 1583: uint16(1028), + 1584: uint16(1028), + 1585: uint16(1030), + 1586: uint16(1031), + 1587: uint16(35), + 1588: uint16(1601), + 1589: uint16(1192), + 1590: uint16(453), + 1591: uint16(1092), + 1592: uint16(238), + 1593: uint16(291), + 1594: uint16(565), + 1595: uint16(163), + 1596: uint16(1309), 1597: uint16(110), - 1598: uint16(110), - 1599: uint16(1019), - 1600: uint16(157), - 1601: uint16(157), - 1602: uint16(141), - 1603: uint16(141), - 1604: uint16(572), - 1605: uint16(111), - 1606: uint16(572), - 1607: uint16(449), - 1608: uint16(573), - 1609: uint16(449), - 1610: uint16(412), - 1611: uint16(288), - 1612: uint16(1019), - 1613: uint16(572), - 1614: uint16(882), - 1615: uint16(318), - 1616: uint16(563), - 1617: uint16(572), - 1618: uint16(219), - 1619: uint16(572), - 1620: uint16(241), - 1621: uint16(1012), - 1622: uint16(477), - 1623: uint16(263), - 1624: uint16(263), - 1625: uint16(894), - 1626: uint16(893), - 1627: uint16(140), - 1628: uint16(140), - 1629: uint16(138), - 1630: uint16(138), - 1631: uint16(1019), - 1632: uint16(1019), - 1633: uint16(1021), - 1634: uint16(1022), - 1635: uint16(28), - 1636: uint16(139), - 1637: uint16(139), - 1638: uint16(525), - 1639: uint16(455), - 1640: uint16(76), - 1641: uint16(76), - 1642: uint16(78), - 1643: uint16(78), - 1644: uint16(1019), - 1645: uint16(1019), - 1646: uint16(1021), - 1647: uint16(1022), - 1648: uint16(28), - 1649: uint16(1181), - 1650: uint16(451), - 1651: uint16(572), - 1652: uint16(1083), - 1653: uint16(290), - 1654: uint16(112), - 1655: uint16(564), - 1656: uint16(1575), - 1657: uint16(4), - 1658: uint16(394), - 1659: uint16(394), - 1660: uint16(393), - 1661: uint16(275), - 1662: uint16(391), - 1663: uint16(572), - 1664: uint16(1023), - 1665: uint16(852), - 1666: uint16(572), - 1667: uint16(479), - 1668: uint16(345), - 1669: uint16(263), - 1670: uint16(101), - 1671: uint16(567), - 1672: uint16(882), - 1673: uint16(1376), - 1674: uint16(75), - 1675: uint16(75), - 1676: uint16(1421), - 1677: uint16(501), - 1678: uint16(236), - 1679: uint16(260), - 1680: uint16(325), - 1681: uint16(112), - 1682: uint16(564), - 1683: uint16(359), - 1684: uint16(4), - 1685: uint16(101), - 1686: uint16(43), - 1687: uint16(43), - 1688: uint16(324), - 1689: uint16(49), - 1690: uint16(49), - 1691: uint16(901), - 1692: uint16(902), - 1693: uint16(161), - 1694: uint16(449), - 1695: uint16(101), - 1696: uint16(977), - 1697: uint16(978), - 1698: uint16(567), - 1699: uint16(1079), - 1700: uint16(1349), - 1701: uint16(260), - 1702: uint16(965), - 1703: uint16(932), - 1704: uint16(263), - 1705: uint16(114), - 1706: uint16(561), - 1707: uint16(1095), - 1708: uint16(517), - 1709: uint16(1095), - 1710: uint16(1083), - 1711: uint16(1094), - 1712: uint16(865), - 1713: uint16(1094), - 1714: uint16(151), - 1715: uint16(933), - 1716: uint16(1144), - 1717: uint16(114), - 1718: uint16(238), - 1719: uint16(1361), - 1720: uint16(558), - 1721: uint16(449), - 1722: uint16(1023), - 1723: uint16(559), - 1724: uint16(1426), - 1725: uint16(1278), - 1726: uint16(170), - 1727: uint16(1269), - 1728: uint16(1257), - 1729: uint16(142), - 1730: uint16(1601), - 1731: uint16(1256), - 1732: uint16(1258), - 1733: uint16(561), - 1734: uint16(1594), - 1735: uint16(1031), - 1736: uint16(496), - 1737: uint16(278), - 1738: uint16(213), - 1739: uint16(1346), - 1740: uint16(310), - 1741: uint16(110), - 1742: uint16(110), - 1743: uint16(939), - 1744: uint16(311), - 1745: uint16(312), - 1746: uint16(237), - 1747: uint16(11), - 1748: uint16(234), - 1749: uint16(111), - 1750: uint16(221), - 1751: uint16(449), - 1752: uint16(573), - 1753: uint16(449), - 1754: uint16(293), - 1755: uint16(395), - 1756: uint16(1019), - 1757: uint16(1408), - 1758: uint16(337), - 1759: uint16(1403), - 1760: uint16(1396), - 1761: uint16(338), - 1762: uint16(1031), - 1763: uint16(299), - 1764: uint16(343), - 1765: uint16(1413), - 1766: uint16(1412), - 1767: uint16(481), - 1768: uint16(110), - 1769: uint16(110), - 1770: uint16(506), - 1771: uint16(402), - 1772: uint16(225), - 1773: uint16(1296), - 1774: uint16(206), - 1775: uint16(367), - 1776: uint16(111), - 1777: uint16(1358), - 1778: uint16(449), - 1779: uint16(573), - 1780: uint16(449), - 1781: uint16(412), - 1782: uint16(1359), - 1783: uint16(1019), - 1784: uint16(1489), - 1785: uint16(1488), - 1786: uint16(318), - 1787: uint16(563), - 1788: uint16(1019), - 1789: uint16(1019), - 1790: uint16(1021), - 1791: uint16(1022), - 1792: uint16(28), - 1793: uint16(562), - 1794: uint16(207), - 1795: uint16(220), - 1796: uint16(80), - 1797: uint16(564), - 1798: uint16(389), - 1799: uint16(4), - 1800: uint16(1597), - 1801: uint16(1357), - 1802: uint16(552), - 1803: uint16(1356), - 1804: uint16(1233), - 1805: uint16(181), - 1806: uint16(267), - 1807: uint16(232), - 1808: uint16(1536), - 1809: uint16(1534), - 1810: uint16(455), - 1811: uint16(1230), - 1812: uint16(420), - 1813: uint16(567), - 1814: uint16(82), - 1815: uint16(1019), - 1816: uint16(1019), - 1817: uint16(1021), - 1818: uint16(1022), - 1819: uint16(28), - 1820: uint16(86), - 1821: uint16(217), - 1822: uint16(85), - 1823: uint16(1494), - 1824: uint16(190), - 1825: uint16(175), - 1826: uint16(183), - 1827: uint16(465), - 1828: uint16(185), - 1829: uint16(466), - 1830: uint16(36), - 1831: uint16(1409), - 1832: uint16(186), - 1833: uint16(187), - 1834: uint16(188), - 1835: uint16(499), - 1836: uint16(449), - 1837: uint16(244), - 1838: uint16(37), - 1839: uint16(99), - 1840: uint16(400), - 1841: uint16(1415), - 1842: uint16(1414), - 1843: uint16(488), - 1844: uint16(1417), - 1845: uint16(194), - 1846: uint16(473), - 1847: uint16(403), - 1848: uint16(561), - 1849: uint16(1483), - 1850: uint16(248), - 1851: uint16(92), - 1852: uint16(1505), - 1853: uint16(494), - 1854: uint16(198), - 1855: uint16(279), - 1856: uint16(112), - 1857: uint16(564), - 1858: uint16(250), - 1859: uint16(4), - 1860: uint16(348), - 1861: uint16(497), - 1862: uint16(405), - 1863: uint16(352), - 1864: uint16(1259), - 1865: uint16(251), - 1866: uint16(252), - 1867: uint16(515), - 1868: uint16(1316), - 1869: uint16(434), - 1870: uint16(1315), - 1871: uint16(1314), - 1872: uint16(94), - 1873: uint16(567), - 1874: uint16(1307), - 1875: uint16(886), - 1876: uint16(1306), - 1877: uint16(1031), - 1878: uint16(226), - 1879: uint16(406), - 1880: uint16(1611), - 1881: uint16(1610), - 1882: uint16(438), - 1883: uint16(110), - 1884: uint16(110), - 1885: uint16(1580), - 1886: uint16(1286), - 1887: uint16(524), - 1888: uint16(439), - 1889: uint16(308), - 1890: uint16(266), - 1891: uint16(111), - 1892: uint16(1285), - 1893: uint16(449), - 1894: uint16(573), - 1895: uint16(449), - 1896: uint16(449), - 1897: uint16(309), - 1898: uint16(1019), - 1899: uint16(366), - 1900: uint16(1284), - 1901: uint16(1609), - 1902: uint16(265), - 1903: uint16(1566), - 1904: uint16(1565), - 1905: uint16(442), - 1906: uint16(372), - 1907: uint16(1381), - 1908: uint16(561), - 1909: uint16(129), - 1910: uint16(550), - 1911: uint16(1380), - 1912: uint16(10), - 1913: uint16(1470), - 1914: uint16(383), - 1915: uint16(106), - 1916: uint16(316), - 1917: uint16(551), - 1918: uint16(100), - 1919: uint16(35), - 1920: uint16(534), - 1921: uint16(575), - 1922: uint16(212), - 1923: uint16(1339), - 1924: uint16(381), - 1925: uint16(387), - 1926: uint16(1187), - 1927: uint16(1338), - 1928: uint16(274), - 1929: uint16(276), - 1930: uint16(1019), - 1931: uint16(1019), - 1932: uint16(1021), - 1933: uint16(1022), - 1934: uint16(28), - 1935: uint16(277), - 1936: uint16(413), - 1937: uint16(1031), - 1938: uint16(576), - 1939: uint16(1254), - 1940: uint16(388), - 1941: uint16(1521), - 1942: uint16(1249), - 1943: uint16(110), - 1944: uint16(110), - 1945: uint16(167), - 1946: uint16(1522), - 1947: uint16(168), - 1948: uint16(148), - 1949: uint16(1520), - 1950: uint16(1519), - 1951: uint16(111), - 1952: uint16(306), - 1953: uint16(449), - 1954: uint16(573), - 1955: uint16(449), - 1956: uint16(222), - 1957: uint16(223), - 1958: uint16(1019), - 1959: uint16(839), - 1960: uint16(169), - 1961: uint16(79), - 1962: uint16(450), - 1963: uint16(214), - 1964: uint16(414), - 1965: uint16(233), - 1966: uint16(320), - 1967: uint16(145), - 1968: uint16(1093), - 1969: uint16(1091), - 1970: uint16(328), - 1971: uint16(182), - 1972: uint16(171), - 1973: uint16(1212), - 1974: uint16(918), - 1975: uint16(184), - 1976: uint16(240), - 1977: uint16(336), - 1978: uint16(243), - 1979: uint16(1107), - 1980: uint16(189), - 1981: uint16(172), - 1982: uint16(173), - 1983: uint16(423), - 1984: uint16(425), - 1985: uint16(88), - 1986: uint16(180), - 1987: uint16(191), - 1988: uint16(89), - 1989: uint16(90), - 1990: uint16(1019), - 1991: uint16(1019), - 1992: uint16(1021), - 1993: uint16(1022), - 1994: uint16(28), - 1995: uint16(91), - 1996: uint16(174), - 1997: uint16(1110), - 1998: uint16(245), - 1999: uint16(1106), - 2000: uint16(246), - 2001: uint16(159), - 2002: uint16(18), - 2003: uint16(247), - 2004: uint16(347), - 2005: uint16(1099), - 2006: uint16(263), - 2007: uint16(195), - 2008: uint16(1227), - 2009: uint16(493), - 2010: uint16(249), - 2011: uint16(196), - 2012: uint16(38), - 2013: uint16(854), - 2014: uint16(498), - 2015: uint16(368), - 2016: uint16(253), - 2017: uint16(360), - 2018: uint16(897), - 2019: uint16(197), - 2020: uint16(502), - 2021: uint16(93), - 2022: uint16(19), - 2023: uint16(20), - 2024: uint16(507), - 2025: uint16(884), - 2026: uint16(363), - 2027: uint16(510), - 2028: uint16(95), - 2029: uint16(307), - 2030: uint16(160), - 2031: uint16(96), - 2032: uint16(518), - 2033: uint16(97), - 2034: uint16(1175), - 2035: uint16(1060), - 2036: uint16(1146), - 2037: uint16(40), - 2038: uint16(21), - 2039: uint16(227), - 2040: uint16(176), - 2041: uint16(1145), - 2042: uint16(282), - 2043: uint16(284), - 2044: uint16(969), - 2045: uint16(200), - 2046: uint16(963), - 2047: uint16(114), - 2048: uint16(262), - 2049: uint16(1165), - 2050: uint16(22), - 2051: uint16(23), - 2052: uint16(24), - 2053: uint16(1161), - 2054: uint16(1169), - 2055: uint16(25), - 2056: uint16(1163), - 2057: uint16(1150), - 2058: uint16(34), - 2059: uint16(26), - 2060: uint16(1168), - 2061: uint16(546), - 2062: uint16(27), - 2063: uint16(204), - 2064: uint16(101), - 2065: uint16(103), - 2066: uint16(104), - 2067: uint16(1074), - 2068: uint16(7), - 2069: uint16(1061), - 2070: uint16(1059), - 2071: uint16(1063), - 2072: uint16(1116), - 2073: uint16(1064), - 2074: uint16(1115), - 2075: uint16(268), - 2076: uint16(269), - 2077: uint16(29), - 2078: uint16(41), - 2079: uint16(270), - 2080: uint16(1024), - 2081: uint16(866), - 2082: uint16(113), - 2083: uint16(30), - 2084: uint16(568), - 2085: uint16(392), - 2086: uint16(1183), - 2087: uint16(144), - 2088: uint16(178), - 2089: uint16(1182), - 2090: uint16(271), - 2091: uint16(928), - 2092: uint16(1245), - 2093: uint16(1245), - 2094: uint16(1245), - 2095: uint16(1245), - 2096: uint16(1245), - 2097: uint16(1245), - 2098: uint16(1245), - 2099: uint16(1602), -} -var _yy_lookahead = [2285]uint16{ - 0: uint16(193), - 1: uint16(193), - 2: uint16(193), - 3: uint16(274), - 4: uint16(275), - 5: uint16(276), - 6: uint16(193), - 7: uint16(274), - 8: uint16(275), - 9: uint16(276), - 10: uint16(193), - 11: uint16(223), - 12: uint16(219), - 13: uint16(225), - 14: uint16(206), - 15: uint16(210), - 16: uint16(211), - 17: uint16(212), - 18: uint16(193), + 1598: uint16(395), + 1599: uint16(395), + 1600: uint16(394), + 1601: uint16(276), + 1602: uint16(392), + 1603: uint16(986), + 1604: uint16(987), + 1605: uint16(859), + 1606: uint16(481), + 1607: uint16(346), + 1608: uint16(264), + 1609: uint16(110), + 1610: uint16(1032), + 1611: uint16(489), + 1612: uint16(576), + 1613: uint16(1188), + 1614: uint16(503), + 1615: uint16(1088), + 1616: uint16(261), + 1617: uint16(261), + 1618: uint16(237), + 1619: uint16(576), + 1620: uint16(326), + 1621: uint16(121), + 1622: uint16(568), + 1623: uint16(1040), + 1624: uint16(4), + 1625: uint16(347), + 1626: uint16(1376), + 1627: uint16(413), + 1628: uint16(325), + 1629: uint16(119), + 1630: uint16(119), + 1631: uint16(948), + 1632: uint16(319), + 1633: uint16(567), + 1634: uint16(351), + 1635: uint16(78), + 1636: uint16(78), + 1637: uint16(120), + 1638: uint16(571), + 1639: uint16(451), + 1640: uint16(577), + 1641: uint16(451), + 1642: uint16(79), + 1643: uint16(79), + 1644: uint16(1028), + 1645: uint16(354), + 1646: uint16(356), + 1647: uint16(576), + 1648: uint16(360), + 1649: uint16(1092), + 1650: uint16(110), + 1651: uint16(576), + 1652: uint16(974), + 1653: uint16(942), + 1654: uint16(264), + 1655: uint16(123), + 1656: uint16(457), + 1657: uint16(358), + 1658: uint16(239), + 1659: uint16(576), + 1660: uint16(519), + 1661: uint16(451), + 1662: uint16(939), + 1663: uint16(1104), + 1664: uint16(123), + 1665: uint16(1104), + 1666: uint16(173), + 1667: uint16(576), + 1668: uint16(1032), + 1669: uint16(43), + 1670: uint16(63), + 1671: uint16(63), + 1672: uint16(1324), + 1673: uint16(565), + 1674: uint16(168), + 1675: uint16(168), + 1676: uint16(1028), + 1677: uint16(1028), + 1678: uint16(1030), + 1679: uint16(1031), + 1680: uint16(35), + 1681: uint16(576), + 1682: uint16(169), + 1683: uint16(169), + 1684: uint16(1308), + 1685: uint16(872), + 1686: uint16(238), + 1687: uint16(157), + 1688: uint16(1589), + 1689: uint16(576), + 1690: uint16(86), + 1691: uint16(86), + 1692: uint16(365), + 1693: uint16(89), + 1694: uint16(568), + 1695: uint16(375), + 1696: uint16(4), + 1697: uint16(1103), + 1698: uint16(941), + 1699: uint16(1103), + 1700: uint16(123), + 1701: uint16(576), + 1702: uint16(1040), + 1703: uint16(1389), + 1704: uint16(64), + 1705: uint16(64), + 1706: uint16(1188), + 1707: uint16(1434), + 1708: uint16(119), + 1709: uint16(119), + 1710: uint16(571), + 1711: uint16(576), + 1712: uint16(82), + 1713: uint16(82), + 1714: uint16(563), + 1715: uint16(576), + 1716: uint16(120), + 1717: uint16(165), + 1718: uint16(451), + 1719: uint16(577), + 1720: uint16(451), + 1721: uint16(413), + 1722: uint16(1362), + 1723: uint16(1028), + 1724: uint16(144), + 1725: uint16(144), + 1726: uint16(319), + 1727: uint16(567), + 1728: uint16(576), + 1729: uint16(1374), + 1730: uint16(562), + 1731: uint16(498), + 1732: uint16(279), + 1733: uint16(451), + 1734: uint16(83), + 1735: uint16(83), + 1736: uint16(1439), + 1737: uint16(576), + 1738: uint16(166), + 1739: uint16(166), + 1740: uint16(576), + 1741: uint16(1289), + 1742: uint16(554), + 1743: uint16(576), + 1744: uint16(1280), + 1745: uint16(565), + 1746: uint16(576), + 1747: uint16(12), + 1748: uint16(576), + 1749: uint16(1268), + 1750: uint16(457), + 1751: uint16(146), + 1752: uint16(146), + 1753: uint16(1267), + 1754: uint16(576), + 1755: uint16(1028), + 1756: uint16(1028), + 1757: uint16(1030), + 1758: uint16(1031), + 1759: uint16(35), + 1760: uint16(140), + 1761: uint16(140), + 1762: uint16(1269), + 1763: uint16(167), + 1764: uint16(167), + 1765: uint16(1609), + 1766: uint16(160), + 1767: uint16(160), + 1768: uint16(1359), + 1769: uint16(150), + 1770: uint16(150), + 1771: uint16(149), + 1772: uint16(149), + 1773: uint16(311), + 1774: uint16(1040), + 1775: uint16(576), + 1776: uint16(312), + 1777: uint16(147), + 1778: uint16(147), + 1779: uint16(313), + 1780: uint16(119), + 1781: uint16(119), + 1782: uint16(222), + 1783: uint16(235), + 1784: uint16(576), + 1785: uint16(1188), + 1786: uint16(396), + 1787: uint16(576), + 1788: uint16(120), + 1789: uint16(576), + 1790: uint16(451), + 1791: uint16(577), + 1792: uint16(451), + 1793: uint16(1192), + 1794: uint16(453), + 1795: uint16(1028), + 1796: uint16(508), + 1797: uint16(291), + 1798: uint16(148), + 1799: uint16(148), + 1800: uint16(1421), + 1801: uint16(1612), + 1802: uint16(395), + 1803: uint16(395), + 1804: uint16(394), + 1805: uint16(276), + 1806: uint16(392), + 1807: uint16(85), + 1808: uint16(85), + 1809: uint16(859), + 1810: uint16(87), + 1811: uint16(87), + 1812: uint16(84), + 1813: uint16(84), + 1814: uint16(553), + 1815: uint16(576), + 1816: uint16(294), + 1817: uint16(576), + 1818: uint16(1426), + 1819: uint16(338), + 1820: uint16(339), + 1821: uint16(1425), + 1822: uint16(237), + 1823: uint16(300), + 1824: uint16(326), + 1825: uint16(1416), + 1826: uint16(1409), + 1827: uint16(1028), + 1828: uint16(1028), + 1829: uint16(1030), + 1830: uint16(1031), + 1831: uint16(35), + 1832: uint16(325), + 1833: uint16(344), + 1834: uint16(403), + 1835: uint16(483), + 1836: uint16(226), + 1837: uint16(1307), + 1838: uint16(52), + 1839: uint16(52), + 1840: uint16(58), + 1841: uint16(58), + 1842: uint16(368), + 1843: uint16(1371), + 1844: uint16(1502), + 1845: uint16(566), + 1846: uint16(1501), + 1847: uint16(121), + 1848: uint16(568), + 1849: uint16(221), + 1850: uint16(4), + 1851: uint16(208), + 1852: uint16(268), + 1853: uint16(209), + 1854: uint16(390), + 1855: uint16(1244), + 1856: uint16(1549), + 1857: uint16(1188), + 1858: uint16(1372), + 1859: uint16(1370), + 1860: uint16(1369), + 1861: uint16(1547), + 1862: uint16(239), + 1863: uint16(184), + 1864: uint16(571), + 1865: uint16(233), + 1866: uint16(421), + 1867: uint16(1241), + 1868: uint16(95), + 1869: uint16(218), + 1870: uint16(173), + 1871: uint16(1507), + 1872: uint16(193), + 1873: uint16(43), + 1874: uint16(91), + 1875: uint16(94), + 1876: uint16(178), + 1877: uint16(186), + 1878: uint16(467), + 1879: uint16(188), + 1880: uint16(468), + 1881: uint16(1422), + 1882: uint16(13), + 1883: uint16(189), + 1884: uint16(190), + 1885: uint16(191), + 1886: uint16(501), + 1887: uint16(451), + 1888: uint16(245), + 1889: uint16(108), + 1890: uint16(238), + 1891: uint16(401), + 1892: uint16(1428), + 1893: uint16(1427), + 1894: uint16(1430), + 1895: uint16(475), + 1896: uint16(404), + 1897: uint16(1496), + 1898: uint16(197), + 1899: uint16(565), + 1900: uint16(14), + 1901: uint16(490), + 1902: uint16(249), + 1903: uint16(101), + 1904: uint16(1518), + 1905: uint16(496), + 1906: uint16(349), + 1907: uint16(280), + 1908: uint16(251), + 1909: uint16(201), + 1910: uint16(353), + 1911: uint16(499), + 1912: uint16(252), + 1913: uint16(406), + 1914: uint16(1270), + 1915: uint16(253), + 1916: uint16(517), + 1917: uint16(1327), + 1918: uint16(1326), + 1919: uint16(435), + 1920: uint16(1325), + 1921: uint16(1318), + 1922: uint16(103), + 1923: uint16(893), + 1924: uint16(1296), + 1925: uint16(413), + 1926: uint16(227), + 1927: uint16(407), + 1928: uint16(1040), + 1929: uint16(1626), + 1930: uint16(319), + 1931: uint16(567), + 1932: uint16(1625), + 1933: uint16(1297), + 1934: uint16(119), + 1935: uint16(119), + 1936: uint16(439), + 1937: uint16(367), + 1938: uint16(1317), + 1939: uint16(1295), + 1940: uint16(1624), + 1941: uint16(526), + 1942: uint16(120), + 1943: uint16(440), + 1944: uint16(451), + 1945: uint16(577), + 1946: uint16(451), + 1947: uint16(1594), + 1948: uint16(309), + 1949: uint16(1028), + 1950: uint16(310), + 1951: uint16(373), + 1952: uint16(266), + 1953: uint16(267), + 1954: uint16(457), + 1955: uint16(1580), + 1956: uint16(1579), + 1957: uint16(443), + 1958: uint16(138), + 1959: uint16(1394), + 1960: uint16(552), + 1961: uint16(1393), + 1962: uint16(11), + 1963: uint16(1483), + 1964: uint16(384), + 1965: uint16(115), + 1966: uint16(317), + 1967: uint16(1350), + 1968: uint16(109), + 1969: uint16(536), + 1970: uint16(42), + 1971: uint16(579), + 1972: uint16(382), + 1973: uint16(214), + 1974: uint16(1349), + 1975: uint16(388), + 1976: uint16(1198), + 1977: uint16(389), + 1978: uint16(275), + 1979: uint16(277), + 1980: uint16(278), + 1981: uint16(1028), + 1982: uint16(1028), + 1983: uint16(1030), + 1984: uint16(1031), + 1985: uint16(35), + 1986: uint16(580), + 1987: uint16(1265), + 1988: uint16(414), + 1989: uint16(1260), + 1990: uint16(170), + 1991: uint16(415), + 1992: uint16(183), + 1993: uint16(1534), + 1994: uint16(1535), + 1995: uint16(1533), + 1996: uint16(171), + 1997: uint16(154), + 1998: uint16(307), + 1999: uint16(1532), + 2000: uint16(846), + 2001: uint16(223), + 2002: uint16(224), + 2003: uint16(88), + 2004: uint16(452), + 2005: uint16(215), + 2006: uint16(172), + 2007: uint16(321), + 2008: uint16(234), + 2009: uint16(1102), + 2010: uint16(152), + 2011: uint16(1188), + 2012: uint16(1100), + 2013: uint16(329), + 2014: uint16(185), + 2015: uint16(174), + 2016: uint16(1223), + 2017: uint16(925), + 2018: uint16(187), + 2019: uint16(241), + 2020: uint16(337), + 2021: uint16(244), + 2022: uint16(1116), + 2023: uint16(192), + 2024: uint16(175), + 2025: uint16(176), + 2026: uint16(424), + 2027: uint16(426), + 2028: uint16(97), + 2029: uint16(194), + 2030: uint16(98), + 2031: uint16(99), + 2032: uint16(100), + 2033: uint16(177), + 2034: uint16(1119), + 2035: uint16(1115), + 2036: uint16(246), + 2037: uint16(247), + 2038: uint16(161), + 2039: uint16(24), + 2040: uint16(248), + 2041: uint16(348), + 2042: uint16(1238), + 2043: uint16(264), + 2044: uint16(1108), + 2045: uint16(250), + 2046: uint16(495), + 2047: uint16(199), + 2048: uint16(198), + 2049: uint16(15), + 2050: uint16(861), + 2051: uint16(500), + 2052: uint16(369), + 2053: uint16(254), + 2054: uint16(504), + 2055: uint16(509), + 2056: uint16(512), + 2057: uint16(200), + 2058: uint16(102), + 2059: uint16(25), + 2060: uint16(179), + 2061: uint16(361), + 2062: uint16(26), + 2063: uint16(364), + 2064: uint16(104), + 2065: uint16(891), + 2066: uint16(308), + 2067: uint16(162), + 2068: uint16(105), + 2069: uint16(904), + 2070: uint16(520), + 2071: uint16(106), + 2072: uint16(1185), + 2073: uint16(1069), + 2074: uint16(1155), + 2075: uint16(17), + 2076: uint16(228), + 2077: uint16(27), + 2078: uint16(1154), + 2079: uint16(283), + 2080: uint16(285), + 2081: uint16(263), + 2082: uint16(978), + 2083: uint16(202), + 2084: uint16(972), + 2085: uint16(123), + 2086: uint16(28), + 2087: uint16(1175), + 2088: uint16(29), + 2089: uint16(30), + 2090: uint16(1179), + 2091: uint16(1171), + 2092: uint16(31), + 2093: uint16(1173), + 2094: uint16(1160), + 2095: uint16(41), + 2096: uint16(32), + 2097: uint16(206), + 2098: uint16(548), + 2099: uint16(33), + 2100: uint16(110), + 2101: uint16(1178), + 2102: uint16(1083), + 2103: uint16(8), + 2104: uint16(112), + 2105: uint16(1070), + 2106: uint16(113), + 2107: uint16(1068), + 2108: uint16(1072), + 2109: uint16(34), + 2110: uint16(1073), + 2111: uint16(560), + 2112: uint16(1125), + 2113: uint16(269), + 2114: uint16(1124), + 2115: uint16(270), + 2116: uint16(36), + 2117: uint16(18), + 2118: uint16(1194), + 2119: uint16(1033), + 2120: uint16(873), + 2121: uint16(151), + 2122: uint16(122), + 2123: uint16(37), + 2124: uint16(393), + 2125: uint16(271), + 2126: uint16(272), + 2127: uint16(572), + 2128: uint16(181), + 2129: uint16(1193), + 2130: uint16(1256), + 2131: uint16(1256), + 2132: uint16(1256), + 2133: uint16(935), + 2134: uint16(1256), + 2135: uint16(1256), + 2136: uint16(1256), + 2137: uint16(1256), + 2138: uint16(1256), + 2139: uint16(1256), + 2140: uint16(1256), + 2141: uint16(1617), +} +var _yy_lookahead = [2328]uint16{ + 0: uint16(194), + 1: uint16(276), + 2: uint16(277), + 3: uint16(278), + 4: uint16(216), + 5: uint16(194), + 6: uint16(194), + 7: uint16(217), + 8: uint16(194), + 9: uint16(194), + 10: uint16(194), + 11: uint16(194), + 12: uint16(224), + 13: uint16(194), + 14: uint16(194), + 15: uint16(276), + 16: uint16(277), + 17: uint16(278), + 18: uint16(204), 19: uint16(19), - 20: uint16(219), - 21: uint16(233), - 22: uint16(216), - 23: uint16(216), - 24: uint16(217), - 25: uint16(216), - 26: uint16(217), - 27: uint16(193), - 28: uint16(295), - 29: uint16(216), - 30: uint16(217), + 20: uint16(206), + 21: uint16(202), + 22: uint16(297), + 23: uint16(217), + 24: uint16(218), + 25: uint16(205), + 26: uint16(207), + 27: uint16(217), + 28: uint16(205), + 29: uint16(217), + 30: uint16(218), 31: uint16(31), - 32: uint16(193), - 33: uint16(216), + 32: uint16(217), + 33: uint16(218), 34: uint16(217), - 35: uint16(193), - 36: uint16(228), - 37: uint16(213), - 38: uint16(230), + 35: uint16(218), + 36: uint16(29), + 37: uint16(217), + 38: uint16(218), 39: uint16(39), - 40: uint16(206), - 41: uint16(216), - 42: uint16(217), + 40: uint16(33), + 41: uint16(217), + 42: uint16(220), 43: uint16(43), 44: uint16(44), 45: uint16(45), @@ -154569,31 +155938,31 @@ var _yy_lookahead = [2285]uint16{ 55: uint16(55), 56: uint16(56), 57: uint16(57), - 58: uint16(193), + 58: uint16(312), 59: uint16(19), - 60: uint16(185), - 61: uint16(186), - 62: uint16(187), - 63: uint16(188), - 64: uint16(189), - 65: uint16(190), - 66: uint16(253), - 67: uint16(274), - 68: uint16(275), - 69: uint16(276), - 70: uint16(195), - 71: uint16(193), - 72: uint16(197), - 73: uint16(193), - 74: uint16(261), - 75: uint16(274), - 76: uint16(275), - 77: uint16(276), - 78: uint16(253), - 79: uint16(204), - 80: uint16(238), - 81: uint16(204), - 82: uint16(81), + 60: uint16(240), + 61: uint16(241), + 62: uint16(316), + 63: uint16(240), + 64: uint16(241), + 65: uint16(194), + 66: uint16(46), + 67: uint16(47), + 68: uint16(48), + 69: uint16(49), + 70: uint16(22), + 71: uint16(254), + 72: uint16(65), + 73: uint16(253), + 74: uint16(254), + 75: uint16(255), + 76: uint16(253), + 77: uint16(194), + 78: uint16(255), + 79: uint16(194), + 80: uint16(263), + 81: uint16(258), + 82: uint16(259), 83: uint16(43), 84: uint16(44), 85: uint16(45), @@ -154609,10 +155978,10 @@ var _yy_lookahead = [2285]uint16{ 95: uint16(55), 96: uint16(56), 97: uint16(57), - 98: uint16(274), - 99: uint16(275), - 100: uint16(276), - 101: uint16(262), + 98: uint16(276), + 99: uint16(277), + 100: uint16(278), + 101: uint16(285), 102: uint16(102), 103: uint16(103), 104: uint16(104), @@ -154625,34 +155994,34 @@ var _yy_lookahead = [2285]uint16{ 111: uint16(111), 112: uint16(112), 113: uint16(113), - 114: uint16(239), - 115: uint16(240), - 116: uint16(239), - 117: uint16(240), - 118: uint16(210), - 119: uint16(211), - 120: uint16(212), - 121: uint16(314), - 122: uint16(315), - 123: uint16(314), - 124: uint16(59), - 125: uint16(316), + 114: uint16(59), + 115: uint16(186), + 116: uint16(187), + 117: uint16(188), + 118: uint16(189), + 119: uint16(190), + 120: uint16(191), + 121: uint16(310), + 122: uint16(239), + 123: uint16(317), + 124: uint16(318), + 125: uint16(196), 126: uint16(86), - 127: uint16(252), + 127: uint16(198), 128: uint16(88), - 129: uint16(252), + 129: uint16(317), 130: uint16(19), - 131: uint16(314), - 132: uint16(315), - 133: uint16(256), - 134: uint16(257), - 135: uint16(113), + 131: uint16(319), + 132: uint16(317), + 133: uint16(318), + 134: uint16(205), + 135: uint16(264), 136: uint16(25), - 137: uint16(72), - 138: uint16(296), - 139: uint16(138), - 140: uint16(139), - 141: uint16(266), + 137: uint16(211), + 138: uint16(212), + 139: uint16(213), + 140: uint16(205), + 141: uint16(121), 142: uint16(102), 143: uint16(103), 144: uint16(104), @@ -154680,50 +156049,50 @@ var _yy_lookahead = [2285]uint16{ 166: uint16(55), 167: uint16(56), 168: uint16(57), - 169: uint16(81), - 170: uint16(292), - 171: uint16(59), - 172: uint16(292), - 173: uint16(298), - 174: uint16(108), - 175: uint16(109), - 176: uint16(110), - 177: uint16(111), - 178: uint16(112), - 179: uint16(113), + 169: uint16(240), + 170: uint16(241), + 171: uint16(116), + 172: uint16(117), + 173: uint16(118), + 174: uint16(119), + 175: uint16(240), + 176: uint16(241), + 177: uint16(122), + 178: uint16(123), + 179: uint16(124), 180: uint16(69), - 181: uint16(116), - 182: uint16(117), - 183: uint16(118), - 184: uint16(72), + 181: uint16(298), + 182: uint16(253), + 183: uint16(194), + 184: uint16(255), 185: uint16(106), 186: uint16(107), - 187: uint16(193), - 188: uint16(111), - 189: uint16(112), - 190: uint16(113), + 187: uint16(132), + 188: uint16(253), + 189: uint16(141), + 190: uint16(255), 191: uint16(54), 192: uint16(55), 193: uint16(56), 194: uint16(57), 195: uint16(58), - 196: uint16(102), - 197: uint16(103), - 198: uint16(104), - 199: uint16(105), - 200: uint16(106), - 201: uint16(107), - 202: uint16(108), - 203: uint16(109), - 204: uint16(110), - 205: uint16(111), - 206: uint16(112), - 207: uint16(113), - 208: uint16(120), - 209: uint16(25), - 210: uint16(216), - 211: uint16(217), - 212: uint16(145), + 196: uint16(207), + 197: uint16(268), + 198: uint16(102), + 199: uint16(103), + 200: uint16(104), + 201: uint16(105), + 202: uint16(106), + 203: uint16(107), + 204: uint16(108), + 205: uint16(109), + 206: uint16(110), + 207: uint16(111), + 208: uint16(112), + 209: uint16(113), + 210: uint16(214), + 211: uint16(128), + 212: uint16(129), 213: uint16(102), 214: uint16(103), 215: uint16(104), @@ -154736,13 +156105,13 @@ var _yy_lookahead = [2285]uint16{ 222: uint16(111), 223: uint16(112), 224: uint16(113), - 225: uint16(231), - 226: uint16(138), - 227: uint16(139), - 228: uint16(116), - 229: uint16(117), - 230: uint16(118), - 231: uint16(164), + 225: uint16(134), + 226: uint16(25), + 227: uint16(136), + 228: uint16(137), + 229: uint16(300), + 230: uint16(165), + 231: uint16(166), 232: uint16(153), 233: uint16(19), 234: uint16(155), @@ -154762,12 +156131,12 @@ var _yy_lookahead = [2285]uint16{ 248: uint16(111), 249: uint16(112), 250: uint16(113), - 251: uint16(128), - 252: uint16(129), - 253: uint16(46), - 254: uint16(47), - 255: uint16(48), - 256: uint16(49), + 251: uint16(108), + 252: uint16(109), + 253: uint16(110), + 254: uint16(111), + 255: uint16(112), + 256: uint16(113), 257: uint16(43), 258: uint16(44), 259: uint16(45), @@ -154783,15 +156152,15 @@ var _yy_lookahead = [2285]uint16{ 269: uint16(55), 270: uint16(56), 271: uint16(57), - 272: uint16(216), - 273: uint16(193), - 274: uint16(25), - 275: uint16(59), - 276: uint16(193), + 272: uint16(276), + 273: uint16(277), + 274: uint16(278), + 275: uint16(113), + 276: uint16(194), 277: uint16(19), - 278: uint16(165), - 279: uint16(166), - 280: uint16(193), + 278: uint16(22), + 279: uint16(23), + 280: uint16(194), 281: uint16(67), 282: uint16(24), 283: uint16(102), @@ -154806,12 +156175,12 @@ var _yy_lookahead = [2285]uint16{ 292: uint16(111), 293: uint16(112), 294: uint16(113), - 295: uint16(73), - 296: uint16(216), - 297: uint16(217), - 298: uint16(59), - 299: uint16(216), - 300: uint16(217), + 295: uint16(220), + 296: uint16(250), + 297: uint16(59), + 298: uint16(252), + 299: uint16(217), + 300: uint16(218), 301: uint16(43), 302: uint16(44), 303: uint16(45), @@ -154839,38 +156208,38 @@ var _yy_lookahead = [2285]uint16{ 325: uint16(111), 326: uint16(112), 327: uint16(113), - 328: uint16(121), - 329: uint16(145), - 330: uint16(59), - 331: uint16(193), - 332: uint16(116), - 333: uint16(117), - 334: uint16(118), - 335: uint16(119), - 336: uint16(273), - 337: uint16(204), - 338: uint16(122), - 339: uint16(123), - 340: uint16(124), + 328: uint16(106), + 329: uint16(107), + 330: uint16(108), + 331: uint16(109), + 332: uint16(110), + 333: uint16(111), + 334: uint16(112), + 335: uint16(113), + 336: uint16(254), + 337: uint16(59), + 338: uint16(205), + 339: uint16(138), + 340: uint16(139), 341: uint16(19), 342: uint16(20), - 343: uint16(134), + 343: uint16(194), 344: uint16(22), - 345: uint16(136), - 346: uint16(137), - 347: uint16(19), - 348: uint16(132), - 349: uint16(127), - 350: uint16(128), - 351: uint16(129), - 352: uint16(24), - 353: uint16(22), - 354: uint16(23), - 355: uint16(116), - 356: uint16(117), - 357: uint16(118), + 345: uint16(263), + 346: uint16(22), + 347: uint16(23), + 348: uint16(231), + 349: uint16(25), + 350: uint16(72), + 351: uint16(276), + 352: uint16(277), + 353: uint16(278), + 354: uint16(116), + 355: uint16(117), + 356: uint16(118), + 357: uint16(101), 358: uint16(36), - 359: uint16(193), + 359: uint16(76), 360: uint16(102), 361: uint16(103), 362: uint16(104), @@ -154883,37 +156252,37 @@ var _yy_lookahead = [2285]uint16{ 369: uint16(111), 370: uint16(112), 371: uint16(113), - 372: uint16(239), + 372: uint16(89), 373: uint16(240), - 374: uint16(311), - 375: uint16(312), - 376: uint16(215), - 377: uint16(106), - 378: uint16(107), - 379: uint16(241), + 374: uint16(241), + 375: uint16(92), + 376: uint16(73), + 377: uint16(194), + 378: uint16(194), + 379: uint16(73), 380: uint16(19), 381: uint16(59), - 382: uint16(216), - 383: uint16(217), - 384: uint16(223), - 385: uint16(252), - 386: uint16(115), - 387: uint16(116), - 388: uint16(117), - 389: uint16(118), - 390: uint16(151), - 391: uint16(120), - 392: uint16(26), + 382: uint16(188), + 383: uint16(189), + 384: uint16(190), + 385: uint16(191), + 386: uint16(253), + 387: uint16(81), + 388: uint16(255), + 389: uint16(151), + 390: uint16(196), + 391: uint16(25), + 392: uint16(198), 393: uint16(71), - 394: uint16(193), - 395: uint16(308), - 396: uint16(309), - 397: uint16(193), - 398: uint16(149), - 399: uint16(128), - 400: uint16(313), - 401: uint16(216), - 402: uint16(269), + 394: uint16(116), + 395: uint16(117), + 396: uint16(118), + 397: uint16(311), + 398: uint16(312), + 399: uint16(205), + 400: uint16(217), + 401: uint16(218), + 402: uint16(316), 403: uint16(81), 404: uint16(43), 405: uint16(44), @@ -154930,50 +156299,50 @@ var _yy_lookahead = [2285]uint16{ 416: uint16(55), 417: uint16(56), 418: uint16(57), - 419: uint16(253), - 420: uint16(216), - 421: uint16(217), + 419: uint16(270), + 420: uint16(22), + 421: uint16(23), 422: uint16(100), - 423: uint16(95), - 424: uint16(153), - 425: uint16(59), - 426: uint16(155), - 427: uint16(261), + 423: uint16(25), + 424: uint16(59), + 425: uint16(101), + 426: uint16(138), + 427: uint16(139), 428: uint16(106), 429: uint16(107), - 430: uint16(25), - 431: uint16(193), - 432: uint16(101), - 433: uint16(193), - 434: uint16(193), - 435: uint16(231), + 430: uint16(127), + 431: uint16(128), + 432: uint16(129), + 433: uint16(127), + 434: uint16(240), + 435: uint16(241), 436: uint16(114), - 437: uint16(25), + 437: uint16(254), 438: uint16(116), 439: uint16(117), 440: uint16(118), - 441: uint16(113), - 442: uint16(304), + 441: uint16(76), + 442: uint16(76), 443: uint16(121), - 444: uint16(193), - 445: uint16(204), - 446: uint16(59), - 447: uint16(119), - 448: uint16(120), - 449: uint16(121), - 450: uint16(122), - 451: uint16(123), - 452: uint16(124), - 453: uint16(125), - 454: uint16(216), - 455: uint16(217), - 456: uint16(193), - 457: uint16(216), - 458: uint16(217), - 459: uint16(131), + 444: uint16(138), + 445: uint16(139), + 446: uint16(263), + 447: uint16(253), + 448: uint16(264), + 449: uint16(255), + 450: uint16(205), + 451: uint16(275), + 452: uint16(87), + 453: uint16(19), + 454: uint16(89), + 455: uint16(89), + 456: uint16(194), + 457: uint16(92), + 458: uint16(92), + 459: uint16(199), 460: uint16(138), 461: uint16(139), - 462: uint16(230), + 462: uint16(268), 463: uint16(102), 464: uint16(103), 465: uint16(104), @@ -154991,37 +156360,37 @@ var _yy_lookahead = [2285]uint16{ 477: uint16(155), 478: uint16(156), 479: uint16(157), - 480: uint16(239), - 481: uint16(240), - 482: uint16(116), - 483: uint16(117), - 484: uint16(118), - 485: uint16(76), - 486: uint16(193), - 487: uint16(23), + 480: uint16(81), + 481: uint16(116), + 482: uint16(117), + 483: uint16(118), + 484: uint16(129), + 485: uint16(240), + 486: uint16(241), + 487: uint16(224), 488: uint16(19), - 489: uint16(25), - 490: uint16(22), - 491: uint16(253), + 489: uint16(226), + 490: uint16(314), + 491: uint16(315), 492: uint16(23), - 493: uint16(252), - 494: uint16(253), - 495: uint16(108), - 496: uint16(87), - 497: uint16(204), - 498: uint16(89), - 499: uint16(261), - 500: uint16(198), - 501: uint16(92), - 502: uint16(261), - 503: uint16(116), - 504: uint16(117), - 505: uint16(118), - 506: uint16(193), - 507: uint16(306), - 508: uint16(307), - 509: uint16(216), - 510: uint16(217), + 493: uint16(25), + 494: uint16(300), + 495: uint16(59), + 496: uint16(22), + 497: uint16(234), + 498: uint16(253), + 499: uint16(101), + 500: uint16(255), + 501: uint16(236), + 502: uint16(237), + 503: uint16(26), + 504: uint16(194), + 505: uint16(183), + 506: uint16(194), + 507: uint16(152), + 508: uint16(72), + 509: uint16(22), + 510: uint16(145), 511: uint16(150), 512: uint16(43), 513: uint16(44), @@ -155038,34 +156407,34 @@ var _yy_lookahead = [2285]uint16{ 524: uint16(55), 525: uint16(56), 526: uint16(57), - 527: uint16(59), - 528: uint16(193), - 529: uint16(216), - 530: uint16(217), + 527: uint16(217), + 528: uint16(218), + 529: uint16(217), + 530: uint16(218), 531: uint16(19), - 532: uint16(239), - 533: uint16(240), - 534: uint16(283), + 532: uint16(189), + 533: uint16(59), + 534: uint16(191), 535: uint16(23), - 536: uint16(106), - 537: uint16(107), - 538: uint16(108), - 539: uint16(109), - 540: uint16(110), - 541: uint16(111), - 542: uint16(112), - 543: uint16(113), - 544: uint16(73), - 545: uint16(252), - 546: uint16(253), - 547: uint16(142), - 548: uint16(308), - 549: uint16(309), - 550: uint16(138), - 551: uint16(139), - 552: uint16(81), - 553: uint16(313), - 554: uint16(145), + 536: uint16(59), + 537: uint16(138), + 538: uint16(139), + 539: uint16(196), + 540: uint16(135), + 541: uint16(198), + 542: uint16(232), + 543: uint16(283), + 544: uint16(232), + 545: uint16(140), + 546: uint16(59), + 547: uint16(287), + 548: uint16(205), + 549: uint16(275), + 550: uint16(116), + 551: uint16(205), + 552: uint16(116), + 553: uint16(117), + 554: uint16(118), 555: uint16(43), 556: uint16(44), 557: uint16(45), @@ -155081,7 +156450,7 @@ var _yy_lookahead = [2285]uint16{ 567: uint16(55), 568: uint16(56), 569: uint16(57), - 570: uint16(307), + 570: uint16(194), 571: uint16(102), 572: uint16(103), 573: uint16(104), @@ -155094,37 +156463,37 @@ var _yy_lookahead = [2285]uint16{ 580: uint16(111), 581: uint16(112), 582: uint16(113), - 583: uint16(281), - 584: uint16(116), - 585: uint16(117), - 586: uint16(118), - 587: uint16(285), - 588: uint16(23), - 589: uint16(193), - 590: uint16(25), - 591: uint16(119), - 592: uint16(59), - 593: uint16(193), - 594: uint16(122), - 595: uint16(123), - 596: uint16(124), - 597: uint16(59), - 598: uint16(127), - 599: uint16(203), + 583: uint16(240), + 584: uint16(241), + 585: uint16(194), + 586: uint16(240), + 587: uint16(241), + 588: uint16(314), + 589: uint16(315), + 590: uint16(116), + 591: uint16(117), + 592: uint16(118), + 593: uint16(116), + 594: uint16(117), + 595: uint16(118), + 596: uint16(253), + 597: uint16(194), + 598: uint16(255), + 599: uint16(253), 600: uint16(59), - 601: uint16(205), + 601: uint16(255), 602: uint16(19), - 603: uint16(268), - 604: uint16(132), - 605: uint16(25), + 603: uint16(116), + 604: uint16(117), + 605: uint16(118), 606: uint16(23), 607: uint16(22), - 608: uint16(193), - 609: uint16(138), - 610: uint16(139), - 611: uint16(249), - 612: uint16(204), - 613: uint16(251), + 608: uint16(217), + 609: uint16(218), + 610: uint16(142), + 611: uint16(268), + 612: uint16(205), + 613: uint16(275), 614: uint16(102), 615: uint16(103), 616: uint16(104), @@ -155153,29 +156522,29 @@ var _yy_lookahead = [2285]uint16{ 639: uint16(56), 640: uint16(57), 641: uint16(19), - 642: uint16(22), - 643: uint16(23), + 642: uint16(194), + 643: uint16(300), 644: uint16(59), 645: uint16(23), - 646: uint16(25), - 647: uint16(239), - 648: uint16(240), - 649: uint16(116), - 650: uint16(117), - 651: uint16(118), - 652: uint16(193), - 653: uint16(11), - 654: uint16(116), - 655: uint16(117), - 656: uint16(118), - 657: uint16(116), + 646: uint16(119), + 647: uint16(240), + 648: uint16(241), + 649: uint16(122), + 650: uint16(123), + 651: uint16(124), + 652: uint16(314), + 653: uint16(315), + 654: uint16(194), + 655: uint16(236), + 656: uint16(237), + 657: uint16(194), 658: uint16(117), - 659: uint16(118), - 660: uint16(252), - 661: uint16(269), - 662: uint16(22), - 663: uint16(193), - 664: uint16(15), + 659: uint16(132), + 660: uint16(253), + 661: uint16(81), + 662: uint16(255), + 663: uint16(205), + 664: uint16(59), 665: uint16(43), 666: uint16(44), 667: uint16(45), @@ -155191,11 +156560,11 @@ var _yy_lookahead = [2285]uint16{ 677: uint16(55), 678: uint16(56), 679: uint16(57), - 680: uint16(273), - 681: uint16(143), - 682: uint16(193), - 683: uint16(118), - 684: uint16(143), + 680: uint16(217), + 681: uint16(218), + 682: uint16(194), + 683: uint16(194), + 684: uint16(194), 685: uint16(102), 686: uint16(103), 687: uint16(104), @@ -155208,33 +156577,33 @@ var _yy_lookahead = [2285]uint16{ 694: uint16(111), 695: uint16(112), 696: uint16(113), - 697: uint16(76), - 698: uint16(118), - 699: uint16(59), - 700: uint16(241), + 697: uint16(294), + 698: uint16(240), + 699: uint16(241), + 700: uint16(120), 701: uint16(116), 702: uint16(117), 703: uint16(118), - 704: uint16(304), - 705: uint16(216), + 704: uint16(59), + 705: uint16(194), 706: uint16(217), - 707: uint16(292), - 708: uint16(143), - 709: uint16(60), - 710: uint16(89), - 711: uint16(241), + 707: uint16(218), + 708: uint16(211), + 709: uint16(212), + 710: uint16(213), + 711: uint16(253), 712: uint16(19), - 713: uint16(92), - 714: uint16(193), - 715: uint16(193), + 713: uint16(255), + 714: uint16(194), + 715: uint16(19), 716: uint16(23), - 717: uint16(22), - 718: uint16(311), - 719: uint16(312), - 720: uint16(231), - 721: uint16(101), - 722: uint16(22), - 723: uint16(143), + 717: uint16(254), + 718: uint16(138), + 719: uint16(139), + 720: uint16(24), + 721: uint16(232), + 722: uint16(117), + 723: uint16(194), 724: uint16(102), 725: uint16(103), 726: uint16(104), @@ -155263,29 +156632,29 @@ var _yy_lookahead = [2285]uint16{ 749: uint16(56), 750: uint16(57), 751: uint16(19), - 752: uint16(193), - 753: uint16(193), - 754: uint16(59), + 752: uint16(264), + 753: uint16(108), + 754: uint16(76), 755: uint16(23), - 756: uint16(116), - 757: uint16(117), - 758: uint16(118), - 759: uint16(59), - 760: uint16(201), - 761: uint16(21), - 762: uint16(241), - 763: uint16(304), - 764: uint16(193), - 765: uint16(206), - 766: uint16(127), - 767: uint16(128), - 768: uint16(129), - 769: uint16(193), - 770: uint16(128), - 771: uint16(129), - 772: uint16(235), - 773: uint16(236), - 774: uint16(304), + 756: uint16(127), + 757: uint16(128), + 758: uint16(129), + 759: uint16(311), + 760: uint16(312), + 761: uint16(116), + 762: uint16(117), + 763: uint16(118), + 764: uint16(316), + 765: uint16(87), + 766: uint16(306), + 767: uint16(89), + 768: uint16(308), + 769: uint16(194), + 770: uint16(92), + 771: uint16(22), + 772: uint16(59), + 773: uint16(194), + 774: uint16(22), 775: uint16(43), 776: uint16(44), 777: uint16(45), @@ -155301,11 +156670,11 @@ var _yy_lookahead = [2285]uint16{ 787: uint16(55), 788: uint16(56), 789: uint16(57), - 790: uint16(22), - 791: uint16(193), - 792: uint16(216), - 793: uint16(217), - 794: uint16(193), + 790: uint16(194), + 791: uint16(95), + 792: uint16(217), + 793: uint16(218), + 794: uint16(265), 795: uint16(102), 796: uint16(103), 797: uint16(104), @@ -155318,33 +156687,33 @@ var _yy_lookahead = [2285]uint16{ 804: uint16(111), 805: uint16(112), 806: uint16(113), - 807: uint16(231), - 808: uint16(193), - 809: uint16(193), - 810: uint16(193), - 811: uint16(116), - 812: uint16(117), - 813: uint16(118), - 814: uint16(216), - 815: uint16(217), - 816: uint16(116), - 817: uint16(117), - 818: uint16(118), - 819: uint16(226), - 820: uint16(80), - 821: uint16(193), + 807: uint16(232), + 808: uint16(59), + 809: uint16(113), + 810: uint16(25), + 811: uint16(59), + 812: uint16(194), + 813: uint16(217), + 814: uint16(218), + 815: uint16(119), + 816: uint16(120), + 817: uint16(121), + 818: uint16(122), + 819: uint16(123), + 820: uint16(124), + 821: uint16(125), 822: uint16(19), - 823: uint16(235), - 824: uint16(236), - 825: uint16(304), + 823: uint16(145), + 824: uint16(194), + 825: uint16(194), 826: uint16(23), - 827: uint16(211), - 828: uint16(212), - 829: uint16(231), - 830: uint16(204), - 831: uint16(216), - 832: uint16(217), - 833: uint16(205), + 827: uint16(131), + 828: uint16(232), + 829: uint16(116), + 830: uint16(117), + 831: uint16(118), + 832: uint16(35), + 833: uint16(194), 834: uint16(102), 835: uint16(103), 836: uint16(104), @@ -155373,29 +156742,29 @@ var _yy_lookahead = [2285]uint16{ 859: uint16(56), 860: uint16(57), 861: uint16(19), - 862: uint16(193), - 863: uint16(123), - 864: uint16(76), - 865: uint16(239), - 866: uint16(240), - 867: uint16(193), - 868: uint16(253), - 869: uint16(239), - 870: uint16(240), - 871: uint16(239), - 872: uint16(240), - 873: uint16(244), - 874: uint16(106), - 875: uint16(107), - 876: uint16(193), - 877: uint16(89), - 878: uint16(252), - 879: uint16(193), - 880: uint16(92), - 881: uint16(59), - 882: uint16(252), - 883: uint16(254), - 884: uint16(252), + 862: uint16(194), + 863: uint16(66), + 864: uint16(194), + 865: uint16(116), + 866: uint16(117), + 867: uint16(118), + 868: uint16(116), + 869: uint16(117), + 870: uint16(118), + 871: uint16(74), + 872: uint16(242), + 873: uint16(294), + 874: uint16(194), + 875: uint16(194), + 876: uint16(206), + 877: uint16(23), + 878: uint16(194), + 879: uint16(25), + 880: uint16(194), + 881: uint16(111), + 882: uint16(112), + 883: uint16(113), + 884: uint16(25), 885: uint16(43), 886: uint16(44), 887: uint16(45), @@ -155411,11 +156780,11 @@ var _yy_lookahead = [2285]uint16{ 897: uint16(55), 898: uint16(56), 899: uint16(57), - 900: uint16(284), - 901: uint16(161), - 902: uint16(216), + 900: uint16(24), + 901: uint16(194), + 902: uint16(194), 903: uint16(217), - 904: uint16(193), + 904: uint16(218), 905: uint16(102), 906: uint16(103), 907: uint16(104), @@ -155428,33 +156797,33 @@ var _yy_lookahead = [2285]uint16{ 914: uint16(111), 915: uint16(112), 916: uint16(113), - 917: uint16(231), - 918: uint16(193), - 919: uint16(244), - 920: uint16(187), - 921: uint16(188), - 922: uint16(189), - 923: uint16(190), - 924: uint16(7), - 925: uint16(8), - 926: uint16(9), - 927: uint16(309), - 928: uint16(195), - 929: uint16(254), - 930: uint16(197), - 931: uint16(313), + 917: uint16(241), + 918: uint16(232), + 919: uint16(194), + 920: uint16(212), + 921: uint16(213), + 922: uint16(242), + 923: uint16(242), + 924: uint16(217), + 925: uint16(218), + 926: uint16(242), + 927: uint16(130), + 928: uint16(11), + 929: uint16(253), + 930: uint16(194), + 931: uint16(255), 932: uint16(19), - 933: uint16(127), - 934: uint16(128), - 935: uint16(129), - 936: uint16(262), - 937: uint16(204), - 938: uint16(22), - 939: uint16(117), - 940: uint16(24), - 941: uint16(216), + 933: uint16(265), + 934: uint16(149), + 935: uint16(59), + 936: uint16(306), + 937: uint16(194), + 938: uint16(308), + 939: uint16(232), + 940: uint16(309), + 941: uint16(310), 942: uint16(217), - 943: uint16(273), + 943: uint16(218), 944: uint16(102), 945: uint16(103), 946: uint16(104), @@ -155482,36 +156851,36 @@ var _yy_lookahead = [2285]uint16{ 968: uint16(55), 969: uint16(56), 970: uint16(57), - 971: uint16(193), - 972: uint16(239), - 973: uint16(240), - 974: uint16(193), - 975: uint16(59), + 971: uint16(194), + 972: uint16(194), + 973: uint16(59), + 974: uint16(194), + 975: uint16(239), 976: uint16(19), - 977: uint16(188), - 978: uint16(253), - 979: uint16(190), - 980: uint16(193), - 981: uint16(311), - 982: uint16(312), - 983: uint16(16), - 984: uint16(195), - 985: uint16(252), - 986: uint16(197), - 987: uint16(193), - 988: uint16(19), - 989: uint16(301), - 990: uint16(302), - 991: uint16(135), - 992: uint16(193), - 993: uint16(204), - 994: uint16(216), + 977: uint16(194), + 978: uint16(25), + 979: uint16(254), + 980: uint16(303), + 981: uint16(304), + 982: uint16(23), + 983: uint16(194), + 984: uint16(25), + 985: uint16(126), + 986: uint16(306), + 987: uint16(306), + 988: uint16(308), + 989: uint16(308), + 990: uint16(306), + 991: uint16(271), + 992: uint16(308), + 993: uint16(117), + 994: uint16(286), 995: uint16(217), - 996: uint16(140), - 997: uint16(216), - 998: uint16(217), - 999: uint16(266), - 1000: uint16(204), + 996: uint16(218), + 997: uint16(217), + 998: uint16(218), + 999: uint16(194), + 1000: uint16(194), 1001: uint16(159), 1002: uint16(45), 1003: uint16(46), @@ -155538,38 +156907,38 @@ var _yy_lookahead = [2285]uint16{ 1024: uint16(111), 1025: uint16(112), 1026: uint16(113), - 1027: uint16(12), + 1027: uint16(59), 1028: uint16(239), - 1029: uint16(240), - 1030: uint16(193), - 1031: uint16(298), - 1032: uint16(238), - 1033: uint16(117), - 1034: uint16(253), - 1035: uint16(239), + 1029: uint16(194), + 1030: uint16(116), + 1031: uint16(117), + 1032: uint16(118), + 1033: uint16(260), + 1034: uint16(254), + 1035: uint16(194), 1036: uint16(240), - 1037: uint16(238), - 1038: uint16(259), - 1039: uint16(260), - 1040: uint16(193), - 1041: uint16(252), - 1042: uint16(27), - 1043: uint16(193), - 1044: uint16(77), - 1045: uint16(193), - 1046: uint16(79), - 1047: uint16(204), - 1048: uint16(252), - 1049: uint16(262), - 1050: uint16(193), - 1051: uint16(299), - 1052: uint16(300), - 1053: uint16(193), - 1054: uint16(100), - 1055: uint16(266), - 1056: uint16(278), - 1057: uint16(42), - 1058: uint16(204), + 1037: uint16(241), + 1038: uint16(194), + 1039: uint16(233), + 1040: uint16(205), + 1041: uint16(240), + 1042: uint16(241), + 1043: uint16(205), + 1044: uint16(239), + 1045: uint16(128), + 1046: uint16(129), + 1047: uint16(270), + 1048: uint16(265), + 1049: uint16(253), + 1050: uint16(194), + 1051: uint16(255), + 1052: uint16(217), + 1053: uint16(218), + 1054: uint16(253), + 1055: uint16(194), + 1056: uint16(255), + 1057: uint16(143), + 1058: uint16(280), 1059: uint16(102), 1060: uint16(103), 1061: uint16(104), @@ -155582,51 +156951,51 @@ var _yy_lookahead = [2285]uint16{ 1068: uint16(111), 1069: uint16(112), 1070: uint16(113), - 1071: uint16(117), + 1071: uint16(118), 1072: uint16(159), - 1073: uint16(216), - 1074: uint16(217), - 1075: uint16(121), - 1076: uint16(216), - 1077: uint16(217), - 1078: uint16(63), - 1079: uint16(193), - 1080: uint16(193), - 1081: uint16(193), - 1082: uint16(239), - 1083: uint16(240), - 1084: uint16(115), - 1085: uint16(116), - 1086: uint16(193), - 1087: uint16(298), - 1088: uint16(73), - 1089: uint16(240), - 1090: uint16(238), - 1091: uint16(231), + 1073: uint16(217), + 1074: uint16(218), + 1075: uint16(240), + 1076: uint16(241), + 1077: uint16(118), + 1078: uint16(240), + 1079: uint16(241), + 1080: uint16(194), + 1081: uint16(194), + 1082: uint16(194), + 1083: uint16(239), + 1084: uint16(116), + 1085: uint16(117), + 1086: uint16(118), + 1087: uint16(22), + 1088: uint16(253), + 1089: uint16(254), + 1090: uint16(255), + 1091: uint16(253), 1092: uint16(19), - 1093: uint16(239), - 1094: uint16(240), - 1095: uint16(252), - 1096: uint16(22), + 1093: uint16(255), + 1094: uint16(233), + 1095: uint16(194), + 1096: uint16(143), 1097: uint16(24), - 1098: uint16(211), + 1098: uint16(263), 1099: uint16(212), - 1100: uint16(263), - 1101: uint16(252), - 1102: uint16(216), + 1100: uint16(213), + 1101: uint16(194), + 1102: uint16(143), 1103: uint16(217), - 1104: uint16(216), + 1104: uint16(218), 1105: uint16(217), - 1106: uint16(252), - 1107: uint16(153), - 1108: uint16(154), - 1109: uint16(155), - 1110: uint16(253), - 1111: uint16(193), + 1106: uint16(218), + 1107: uint16(261), + 1108: uint16(262), + 1109: uint16(271), + 1110: uint16(254), + 1111: uint16(143), 1112: uint16(19), - 1113: uint16(144), - 1114: uint16(213), - 1115: uint16(268), + 1113: uint16(7), + 1114: uint16(8), + 1115: uint16(9), 1116: uint16(43), 1117: uint16(44), 1118: uint16(45), @@ -155642,11 +157011,11 @@ var _yy_lookahead = [2285]uint16{ 1128: uint16(55), 1129: uint16(56), 1130: uint16(57), - 1131: uint16(193), + 1131: uint16(16), 1132: uint16(19), - 1133: uint16(59), - 1134: uint16(216), - 1135: uint16(217), + 1133: uint16(22), + 1134: uint16(23), + 1135: uint16(294), 1136: uint16(43), 1137: uint16(44), 1138: uint16(45), @@ -155662,11 +157031,11 @@ var _yy_lookahead = [2285]uint16{ 1148: uint16(55), 1149: uint16(56), 1150: uint16(57), - 1151: uint16(193), - 1152: uint16(19), - 1153: uint16(24), - 1154: uint16(216), - 1155: uint16(217), + 1151: uint16(312), + 1152: uint16(194), + 1153: uint16(214), + 1154: uint16(21), + 1155: uint16(316), 1156: uint16(43), 1157: uint16(44), 1158: uint16(45), @@ -155682,10 +157051,10 @@ var _yy_lookahead = [2285]uint16{ 1168: uint16(55), 1169: uint16(56), 1170: uint16(57), - 1171: uint16(284), - 1172: uint16(193), - 1173: uint16(208), - 1174: uint16(209), + 1171: uint16(106), + 1172: uint16(107), + 1173: uint16(286), + 1174: uint16(194), 1175: uint16(102), 1176: uint16(103), 1177: uint16(104), @@ -155698,14 +157067,14 @@ var _yy_lookahead = [2285]uint16{ 1184: uint16(111), 1185: uint16(112), 1186: uint16(113), - 1187: uint16(286), - 1188: uint16(59), - 1189: uint16(193), - 1190: uint16(232), - 1191: uint16(117), - 1192: uint16(291), - 1193: uint16(193), - 1194: uint16(193), + 1187: uint16(207), + 1188: uint16(158), + 1189: uint16(59), + 1190: uint16(160), + 1191: uint16(22), + 1192: uint16(77), + 1193: uint16(24), + 1194: uint16(79), 1195: uint16(102), 1196: uint16(103), 1197: uint16(104), @@ -155718,14 +157087,14 @@ var _yy_lookahead = [2285]uint16{ 1204: uint16(111), 1205: uint16(112), 1206: uint16(113), - 1207: uint16(193), - 1208: uint16(204), - 1209: uint16(22), - 1210: uint16(23), - 1211: uint16(193), - 1212: uint16(25), - 1213: uint16(66), - 1214: uint16(193), + 1207: uint16(194), + 1208: uint16(194), + 1209: uint16(229), + 1210: uint16(194), + 1211: uint16(231), + 1212: uint16(101), + 1213: uint16(80), + 1214: uint16(22), 1215: uint16(102), 1216: uint16(103), 1217: uint16(104), @@ -155738,39 +157107,39 @@ var _yy_lookahead = [2285]uint16{ 1224: uint16(111), 1225: uint16(112), 1226: uint16(113), - 1227: uint16(193), - 1228: uint16(193), - 1229: uint16(193), - 1230: uint16(216), - 1231: uint16(217), - 1232: uint16(85), - 1233: uint16(193), - 1234: uint16(238), + 1227: uint16(288), + 1228: uint16(59), + 1229: uint16(12), + 1230: uint16(217), + 1231: uint16(218), + 1232: uint16(293), + 1233: uint16(217), + 1234: uint16(218), 1235: uint16(19), - 1236: uint16(16), - 1237: uint16(216), - 1238: uint16(217), - 1239: uint16(238), - 1240: uint16(193), - 1241: uint16(94), - 1242: uint16(193), - 1243: uint16(239), - 1244: uint16(240), - 1245: uint16(231), - 1246: uint16(117), - 1247: uint16(268), - 1248: uint16(35), - 1249: uint16(116), - 1250: uint16(216), - 1251: uint16(217), - 1252: uint16(216), - 1253: uint16(217), - 1254: uint16(22), - 1255: uint16(23), - 1256: uint16(252), - 1257: uint16(25), - 1258: uint16(208), - 1259: uint16(209), + 1236: uint16(106), + 1237: uint16(107), + 1238: uint16(59), + 1239: uint16(19), + 1240: uint16(16), + 1241: uint16(127), + 1242: uint16(128), + 1243: uint16(129), + 1244: uint16(27), + 1245: uint16(115), + 1246: uint16(116), + 1247: uint16(117), + 1248: uint16(118), + 1249: uint16(194), + 1250: uint16(120), + 1251: uint16(59), + 1252: uint16(22), + 1253: uint16(194), + 1254: uint16(24), + 1255: uint16(194), + 1256: uint16(123), + 1257: uint16(100), + 1258: uint16(128), + 1259: uint16(42), 1260: uint16(44), 1261: uint16(45), 1262: uint16(46), @@ -155785,50 +157154,50 @@ var _yy_lookahead = [2285]uint16{ 1271: uint16(55), 1272: uint16(56), 1273: uint16(57), - 1274: uint16(193), - 1275: uint16(193), - 1276: uint16(19), - 1277: uint16(5), - 1278: uint16(59), - 1279: uint16(66), - 1280: uint16(193), - 1281: uint16(263), - 1282: uint16(10), - 1283: uint16(11), - 1284: uint16(12), - 1285: uint16(13), - 1286: uint16(14), - 1287: uint16(74), - 1288: uint16(101), - 1289: uint16(17), - 1290: uint16(193), - 1291: uint16(46), - 1292: uint16(193), - 1293: uint16(146), - 1294: uint16(193), - 1295: uint16(76), - 1296: uint16(213), - 1297: uint16(77), - 1298: uint16(263), - 1299: uint16(79), - 1300: uint16(12), - 1301: uint16(260), - 1302: uint16(30), - 1303: uint16(46), - 1304: uint16(32), - 1305: uint16(264), - 1306: uint16(87), - 1307: uint16(193), - 1308: uint16(89), - 1309: uint16(29), - 1310: uint16(263), - 1311: uint16(92), - 1312: uint16(40), - 1313: uint16(33), - 1314: uint16(232), - 1315: uint16(27), - 1316: uint16(193), - 1317: uint16(108), + 1274: uint16(117), + 1275: uint16(194), + 1276: uint16(217), + 1277: uint16(218), + 1278: uint16(121), + 1279: uint16(100), + 1280: uint16(63), + 1281: uint16(194), + 1282: uint16(245), + 1283: uint16(153), + 1284: uint16(194), + 1285: uint16(155), + 1286: uint16(117), + 1287: uint16(19), + 1288: uint16(115), + 1289: uint16(194), + 1290: uint16(73), + 1291: uint16(214), + 1292: uint16(194), + 1293: uint16(256), + 1294: uint16(161), + 1295: uint16(116), + 1296: uint16(117), + 1297: uint16(194), + 1298: uint16(217), + 1299: uint16(218), + 1300: uint16(121), + 1301: uint16(77), + 1302: uint16(194), + 1303: uint16(79), + 1304: uint16(217), + 1305: uint16(218), + 1306: uint16(194), + 1307: uint16(217), + 1308: uint16(218), + 1309: uint16(117), + 1310: uint16(153), + 1311: uint16(154), + 1312: uint16(155), + 1313: uint16(254), + 1314: uint16(46), + 1315: uint16(217), + 1316: uint16(218), + 1317: uint16(144), 1318: uint16(102), 1319: uint16(103), 1320: uint16(104), @@ -155841,1025 +157210,1068 @@ var _yy_lookahead = [2285]uint16{ 1327: uint16(111), 1328: uint16(112), 1329: uint16(113), - 1330: uint16(42), - 1331: uint16(138), - 1332: uint16(139), - 1333: uint16(101), - 1334: uint16(193), - 1335: uint16(116), - 1336: uint16(117), - 1337: uint16(118), + 1330: uint16(232), + 1331: uint16(270), + 1332: uint16(153), + 1333: uint16(154), + 1334: uint16(155), + 1335: uint16(115), + 1336: uint16(116), + 1337: uint16(66), 1338: uint16(19), 1339: uint16(20), - 1340: uint16(255), + 1340: uint16(183), 1341: uint16(22), - 1342: uint16(70), - 1343: uint16(130), - 1344: uint16(135), - 1345: uint16(65), - 1346: uint16(256), - 1347: uint16(257), - 1348: uint16(193), - 1349: uint16(140), - 1350: uint16(78), - 1351: uint16(63), - 1352: uint16(193), - 1353: uint16(81), - 1354: uint16(193), + 1342: uint16(12), + 1343: uint16(312), + 1344: uint16(254), + 1345: uint16(194), + 1346: uint16(262), + 1347: uint16(316), + 1348: uint16(209), + 1349: uint16(210), + 1350: uint16(266), + 1351: uint16(239), + 1352: uint16(194), + 1353: uint16(194), + 1354: uint16(108), 1355: uint16(36), - 1356: uint16(193), - 1357: uint16(216), - 1358: uint16(217), - 1359: uint16(193), - 1360: uint16(115), - 1361: uint16(193), - 1362: uint16(263), - 1363: uint16(193), - 1364: uint16(145), - 1365: uint16(268), - 1366: uint16(59), + 1356: uint16(85), + 1357: uint16(27), + 1358: uint16(19), + 1359: uint16(20), + 1360: uint16(265), + 1361: uint16(22), + 1362: uint16(183), + 1363: uint16(245), + 1364: uint16(144), + 1365: uint16(94), + 1366: uint16(25), 1367: uint16(48), - 1368: uint16(193), - 1369: uint16(193), - 1370: uint16(98), - 1371: uint16(193), - 1372: uint16(115), - 1373: uint16(193), - 1374: uint16(291), - 1375: uint16(216), + 1368: uint16(217), + 1369: uint16(218), + 1370: uint16(293), + 1371: uint16(194), + 1372: uint16(42), + 1373: uint16(270), + 1374: uint16(256), + 1375: uint16(36), 1376: uint16(217), - 1377: uint16(193), + 1377: uint16(218), 1378: uint16(59), - 1379: uint16(216), - 1380: uint16(217), - 1381: uint16(161), - 1382: uint16(216), - 1383: uint16(217), - 1384: uint16(216), - 1385: uint16(217), - 1386: uint16(216), - 1387: uint16(217), - 1388: uint16(131), - 1389: uint16(193), + 1379: uint16(194), + 1380: uint16(25), + 1381: uint16(135), + 1382: uint16(194), + 1383: uint16(115), + 1384: uint16(194), + 1385: uint16(161), + 1386: uint16(140), + 1387: uint16(194), + 1388: uint16(194), + 1389: uint16(15), 1390: uint16(71), - 1391: uint16(193), - 1392: uint16(216), - 1393: uint16(217), - 1394: uint16(216), - 1395: uint16(217), - 1396: uint16(216), - 1397: uint16(217), - 1398: uint16(193), - 1399: uint16(260), - 1400: uint16(216), - 1401: uint16(217), - 1402: uint16(19), - 1403: uint16(264), + 1391: uint16(194), + 1392: uint16(312), + 1393: uint16(63), + 1394: uint16(217), + 1395: uint16(218), + 1396: uint16(316), + 1397: uint16(194), + 1398: uint16(59), + 1399: uint16(131), + 1400: uint16(301), + 1401: uint16(302), + 1402: uint16(217), + 1403: uint16(218), 1404: uint16(85), - 1405: uint16(133), - 1406: uint16(244), - 1407: uint16(100), - 1408: uint16(193), + 1405: uint16(217), + 1406: uint16(218), + 1407: uint16(217), + 1408: uint16(218), 1409: uint16(90), - 1410: uint16(138), - 1411: uint16(139), - 1412: uint16(216), - 1413: uint16(217), - 1414: uint16(216), - 1415: uint16(217), - 1416: uint16(254), - 1417: uint16(244), - 1418: uint16(193), + 1410: uint16(71), + 1411: uint16(217), + 1412: uint16(218), + 1413: uint16(19), + 1414: uint16(217), + 1415: uint16(218), + 1416: uint16(245), + 1417: uint16(146), + 1418: uint16(262), 1419: uint16(100), - 1420: uint16(193), - 1421: uint16(216), - 1422: uint16(217), - 1423: uint16(116), - 1424: uint16(117), + 1420: uint16(217), + 1421: uint16(218), + 1422: uint16(266), + 1423: uint16(265), + 1424: uint16(85), 1425: uint16(106), 1426: uint16(107), - 1427: uint16(254), - 1428: uint16(121), - 1429: uint16(193), - 1430: uint16(115), - 1431: uint16(216), - 1432: uint16(217), + 1427: uint16(256), + 1428: uint16(312), + 1429: uint16(90), + 1430: uint16(209), + 1431: uint16(210), + 1432: uint16(316), 1433: uint16(114), - 1434: uint16(162), + 1434: uint16(60), 1435: uint16(116), 1436: uint16(117), 1437: uint16(118), - 1438: uint16(115), - 1439: uint16(244), + 1438: uint16(194), + 1439: uint16(100), 1440: uint16(121), - 1441: uint16(216), - 1442: uint16(217), - 1443: uint16(216), - 1444: uint16(217), - 1445: uint16(193), - 1446: uint16(309), - 1447: uint16(193), - 1448: uint16(31), - 1449: uint16(254), - 1450: uint16(313), - 1451: uint16(309), - 1452: uint16(216), - 1453: uint16(217), - 1454: uint16(309), - 1455: uint16(313), - 1456: uint16(39), - 1457: uint16(193), - 1458: uint16(313), - 1459: uint16(309), - 1460: uint16(153), - 1461: uint16(154), - 1462: uint16(155), - 1463: uint16(313), - 1464: uint16(193), - 1465: uint16(150), - 1466: uint16(25), - 1467: uint16(144), - 1468: uint16(216), - 1469: uint16(217), - 1470: uint16(216), - 1471: uint16(217), + 1441: uint16(194), + 1442: uint16(194), + 1443: uint16(145), + 1444: uint16(115), + 1445: uint16(106), + 1446: uint16(107), + 1447: uint16(19), + 1448: uint16(46), + 1449: uint16(19), + 1450: uint16(20), + 1451: uint16(24), + 1452: uint16(22), + 1453: uint16(114), + 1454: uint16(194), + 1455: uint16(116), + 1456: uint16(117), + 1457: uint16(118), + 1458: uint16(194), + 1459: uint16(245), + 1460: uint16(121), + 1461: uint16(194), + 1462: uint16(164), + 1463: uint16(194), + 1464: uint16(217), + 1465: uint16(218), + 1466: uint16(36), + 1467: uint16(194), + 1468: uint16(258), + 1469: uint16(259), + 1470: uint16(256), + 1471: uint16(194), 1472: uint16(153), 1473: uint16(154), 1474: uint16(155), 1475: uint16(156), 1476: uint16(157), - 1478: uint16(1), - 1479: uint16(2), - 1480: uint16(216), + 1477: uint16(217), + 1478: uint16(218), + 1479: uint16(150), + 1480: uint16(31), 1481: uint16(217), - 1482: uint16(5), - 1483: uint16(149), - 1484: uint16(150), - 1485: uint16(22), - 1486: uint16(193), - 1487: uint16(10), - 1488: uint16(11), - 1489: uint16(12), - 1490: uint16(13), - 1491: uint16(14), - 1492: uint16(193), - 1493: uint16(158), - 1494: uint16(17), - 1495: uint16(160), - 1496: uint16(193), - 1497: uint16(19), - 1498: uint16(20), - 1499: uint16(116), - 1500: uint16(22), - 1501: uint16(25), - 1502: uint16(193), - 1503: uint16(24), - 1504: uint16(22), - 1505: uint16(193), - 1506: uint16(24), - 1507: uint16(30), - 1508: uint16(226), - 1509: uint16(32), - 1510: uint16(19), - 1511: uint16(20), - 1512: uint16(226), - 1513: uint16(22), - 1514: uint16(36), - 1515: uint16(193), - 1516: uint16(53), - 1517: uint16(40), - 1518: uint16(193), - 1519: uint16(216), - 1520: uint16(217), - 1521: uint16(193), - 1522: uint16(23), - 1523: uint16(193), - 1524: uint16(25), - 1525: uint16(216), - 1526: uint16(217), - 1527: uint16(36), - 1528: uint16(216), - 1529: uint16(217), - 1530: uint16(193), - 1531: uint16(99), - 1532: uint16(193), - 1533: uint16(193), - 1534: uint16(22), - 1535: uint16(193), - 1536: uint16(193), - 1537: uint16(59), - 1538: uint16(216), + 1482: uint16(218), + 1483: uint16(142), + 1484: uint16(217), + 1485: uint16(218), + 1486: uint16(217), + 1487: uint16(218), + 1488: uint16(39), + 1489: uint16(59), + 1490: uint16(217), + 1491: uint16(218), + 1492: uint16(153), + 1493: uint16(154), + 1494: uint16(155), + 1495: uint16(156), + 1496: uint16(157), + 1497: uint16(149), + 1498: uint16(150), + 1499: uint16(5), + 1500: uint16(145), + 1501: uint16(71), + 1502: uint16(183), + 1503: uint16(245), + 1504: uint16(10), + 1505: uint16(11), + 1506: uint16(12), + 1507: uint16(13), + 1508: uint16(14), + 1509: uint16(194), + 1510: uint16(116), + 1511: uint16(17), + 1512: uint16(129), + 1513: uint16(227), + 1514: uint16(256), + 1515: uint16(85), + 1516: uint16(194), + 1517: uint16(115), + 1518: uint16(194), + 1519: uint16(23), + 1520: uint16(90), + 1521: uint16(25), + 1522: uint16(183), + 1523: uint16(99), + 1524: uint16(30), + 1525: uint16(97), + 1526: uint16(32), + 1527: uint16(22), + 1528: uint16(22), + 1529: uint16(194), + 1530: uint16(100), + 1531: uint16(194), + 1532: uint16(217), + 1533: uint16(218), + 1534: uint16(40), + 1535: uint16(152), + 1536: uint16(106), + 1537: uint16(107), + 1538: uint16(23), 1539: uint16(217), - 1540: uint16(193), - 1541: uint16(216), - 1542: uint16(217), - 1543: uint16(193), - 1544: uint16(216), - 1545: uint16(217), - 1546: uint16(193), - 1547: uint16(70), - 1548: uint16(129), - 1549: uint16(71), - 1550: uint16(59), - 1551: uint16(129), - 1552: uint16(193), - 1553: uint16(216), + 1540: uint16(218), + 1541: uint16(194), + 1542: uint16(19), + 1543: uint16(20), + 1544: uint16(114), + 1545: uint16(22), + 1546: uint16(116), + 1547: uint16(117), + 1548: uint16(118), + 1549: uint16(257), + 1550: uint16(194), + 1551: uint16(121), + 1552: uint16(217), + 1553: uint16(218), 1554: uint16(217), - 1555: uint16(78), - 1556: uint16(216), - 1557: uint16(217), - 1558: uint16(81), - 1559: uint16(216), - 1560: uint16(217), - 1561: uint16(193), - 1562: uint16(71), - 1563: uint16(85), - 1564: uint16(193), - 1565: uint16(133), - 1566: uint16(193), - 1567: uint16(126), - 1568: uint16(90), - 1569: uint16(216), - 1570: uint16(217), - 1571: uint16(152), - 1572: uint16(258), - 1573: uint16(61), - 1574: uint16(152), - 1575: uint16(98), - 1576: uint16(85), - 1577: uint16(193), - 1578: uint16(100), - 1579: uint16(193), - 1580: uint16(23), - 1581: uint16(90), - 1582: uint16(25), - 1583: uint16(121), - 1584: uint16(106), - 1585: uint16(107), - 1586: uint16(23), - 1587: uint16(216), - 1588: uint16(217), - 1589: uint16(216), - 1590: uint16(217), - 1591: uint16(100), - 1592: uint16(114), - 1593: uint16(131), - 1594: uint16(116), - 1595: uint16(117), - 1596: uint16(118), - 1597: uint16(106), - 1598: uint16(107), - 1599: uint16(121), - 1600: uint16(216), - 1601: uint16(217), - 1602: uint16(216), - 1603: uint16(217), - 1604: uint16(193), - 1605: uint16(114), - 1606: uint16(193), - 1607: uint16(116), - 1608: uint16(117), - 1609: uint16(118), - 1610: uint16(133), - 1611: uint16(22), - 1612: uint16(121), - 1613: uint16(193), - 1614: uint16(59), - 1615: uint16(138), - 1616: uint16(139), - 1617: uint16(193), - 1618: uint16(142), - 1619: uint16(193), - 1620: uint16(141), - 1621: uint16(23), - 1622: uint16(23), - 1623: uint16(25), - 1624: uint16(25), - 1625: uint16(120), - 1626: uint16(121), - 1627: uint16(216), - 1628: uint16(217), - 1629: uint16(216), - 1630: uint16(217), - 1631: uint16(153), - 1632: uint16(154), - 1633: uint16(155), - 1634: uint16(156), - 1635: uint16(157), - 1636: uint16(216), - 1637: uint16(217), - 1638: uint16(19), - 1639: uint16(162), - 1640: uint16(216), - 1641: uint16(217), - 1642: uint16(216), - 1643: uint16(217), - 1644: uint16(153), - 1645: uint16(154), - 1646: uint16(155), - 1647: uint16(156), - 1648: uint16(157), - 1649: uint16(1), - 1650: uint16(2), - 1651: uint16(193), - 1652: uint16(59), - 1653: uint16(5), - 1654: uint16(19), - 1655: uint16(20), - 1656: uint16(318), - 1657: uint16(22), - 1658: uint16(10), - 1659: uint16(11), - 1660: uint16(12), - 1661: uint16(13), - 1662: uint16(14), - 1663: uint16(193), - 1664: uint16(59), - 1665: uint16(17), - 1666: uint16(193), - 1667: uint16(23), - 1668: uint16(23), - 1669: uint16(25), - 1670: uint16(25), - 1671: uint16(36), - 1672: uint16(117), - 1673: uint16(193), - 1674: uint16(216), - 1675: uint16(217), - 1676: uint16(193), - 1677: uint16(23), - 1678: uint16(30), - 1679: uint16(25), - 1680: uint16(32), - 1681: uint16(19), - 1682: uint16(20), - 1683: uint16(23), - 1684: uint16(22), - 1685: uint16(25), - 1686: uint16(216), - 1687: uint16(217), - 1688: uint16(40), - 1689: uint16(216), + 1555: uint16(218), + 1556: uint16(194), + 1557: uint16(133), + 1558: uint16(53), + 1559: uint16(36), + 1560: uint16(23), + 1561: uint16(23), + 1562: uint16(25), + 1563: uint16(25), + 1564: uint16(70), + 1565: uint16(120), + 1566: uint16(121), + 1567: uint16(61), + 1568: uint16(141), + 1569: uint16(7), + 1570: uint16(8), + 1571: uint16(121), + 1572: uint16(78), + 1573: uint16(217), + 1574: uint16(218), + 1575: uint16(81), + 1576: uint16(23), + 1577: uint16(227), + 1578: uint16(25), + 1579: uint16(217), + 1580: uint16(218), + 1581: uint16(131), + 1582: uint16(59), + 1583: uint16(153), + 1584: uint16(154), + 1585: uint16(155), + 1586: uint16(156), + 1587: uint16(157), + 1589: uint16(1), + 1590: uint16(2), + 1591: uint16(59), + 1592: uint16(98), + 1593: uint16(5), + 1594: uint16(71), + 1595: uint16(23), + 1596: uint16(227), + 1597: uint16(25), + 1598: uint16(10), + 1599: uint16(11), + 1600: uint16(12), + 1601: uint16(13), + 1602: uint16(14), + 1603: uint16(83), + 1604: uint16(84), + 1605: uint16(17), + 1606: uint16(23), + 1607: uint16(23), + 1608: uint16(25), + 1609: uint16(25), + 1610: uint16(59), + 1611: uint16(194), + 1612: uint16(194), + 1613: uint16(183), + 1614: uint16(23), + 1615: uint16(23), + 1616: uint16(25), + 1617: uint16(25), + 1618: uint16(30), + 1619: uint16(194), + 1620: uint16(32), + 1621: uint16(19), + 1622: uint16(20), + 1623: uint16(100), + 1624: uint16(22), + 1625: uint16(194), + 1626: uint16(194), + 1627: uint16(133), + 1628: uint16(40), + 1629: uint16(106), + 1630: uint16(107), + 1631: uint16(108), + 1632: uint16(138), + 1633: uint16(139), + 1634: uint16(194), + 1635: uint16(217), + 1636: uint16(218), + 1637: uint16(114), + 1638: uint16(36), + 1639: uint16(116), + 1640: uint16(117), + 1641: uint16(118), + 1642: uint16(217), + 1643: uint16(218), + 1644: uint16(121), + 1645: uint16(194), + 1646: uint16(194), + 1647: uint16(194), + 1648: uint16(23), + 1649: uint16(117), + 1650: uint16(25), + 1651: uint16(194), + 1652: uint16(23), + 1653: uint16(23), + 1654: uint16(25), + 1655: uint16(25), + 1656: uint16(162), + 1657: uint16(194), + 1658: uint16(70), + 1659: uint16(194), + 1660: uint16(145), + 1661: uint16(59), + 1662: uint16(23), + 1663: uint16(153), + 1664: uint16(25), + 1665: uint16(155), + 1666: uint16(78), + 1667: uint16(194), + 1668: uint16(117), + 1669: uint16(81), + 1670: uint16(217), + 1671: uint16(218), + 1672: uint16(194), + 1673: uint16(71), + 1674: uint16(217), + 1675: uint16(218), + 1676: uint16(153), + 1677: uint16(154), + 1678: uint16(155), + 1679: uint16(156), + 1680: uint16(157), + 1681: uint16(194), + 1682: uint16(217), + 1683: uint16(218), + 1684: uint16(194), + 1685: uint16(23), + 1686: uint16(98), + 1687: uint16(25), + 1688: uint16(321), + 1689: uint16(194), 1690: uint16(217), - 1691: uint16(7), - 1692: uint16(8), - 1693: uint16(23), - 1694: uint16(59), - 1695: uint16(25), - 1696: uint16(83), - 1697: uint16(84), - 1698: uint16(36), - 1699: uint16(23), - 1700: uint16(193), - 1701: uint16(25), - 1702: uint16(23), - 1703: uint16(23), - 1704: uint16(25), - 1705: uint16(25), - 1706: uint16(71), - 1707: uint16(153), - 1708: uint16(145), - 1709: uint16(155), - 1710: uint16(117), - 1711: uint16(153), - 1712: uint16(23), - 1713: uint16(155), - 1714: uint16(25), - 1715: uint16(23), - 1716: uint16(97), - 1717: uint16(25), - 1718: uint16(70), - 1719: uint16(193), - 1720: uint16(193), - 1721: uint16(59), - 1722: uint16(117), - 1723: uint16(236), - 1724: uint16(193), - 1725: uint16(193), - 1726: uint16(78), - 1727: uint16(193), - 1728: uint16(193), - 1729: uint16(81), - 1730: uint16(141), - 1731: uint16(193), - 1732: uint16(193), - 1733: uint16(71), - 1734: uint16(193), - 1735: uint16(100), - 1736: uint16(288), - 1737: uint16(287), - 1738: uint16(242), - 1739: uint16(255), - 1740: uint16(255), - 1741: uint16(106), - 1742: uint16(107), - 1743: uint16(108), - 1744: uint16(255), - 1745: uint16(255), - 1746: uint16(98), - 1747: uint16(243), - 1748: uint16(297), - 1749: uint16(114), - 1750: uint16(214), - 1751: uint16(116), - 1752: uint16(117), - 1753: uint16(118), - 1754: uint16(245), - 1755: uint16(191), - 1756: uint16(121), - 1757: uint16(271), - 1758: uint16(293), - 1759: uint16(267), - 1760: uint16(267), - 1761: uint16(246), - 1762: uint16(100), - 1763: uint16(246), - 1764: uint16(245), - 1765: uint16(271), - 1766: uint16(271), - 1767: uint16(293), - 1768: uint16(106), - 1769: uint16(107), - 1770: uint16(220), - 1771: uint16(271), - 1772: uint16(229), - 1773: uint16(225), - 1774: uint16(249), - 1775: uint16(219), - 1776: uint16(114), - 1777: uint16(259), - 1778: uint16(116), - 1779: uint16(117), - 1780: uint16(118), - 1781: uint16(133), - 1782: uint16(259), - 1783: uint16(121), - 1784: uint16(219), - 1785: uint16(219), - 1786: uint16(138), - 1787: uint16(139), - 1788: uint16(153), - 1789: uint16(154), - 1790: uint16(155), - 1791: uint16(156), - 1792: uint16(157), - 1793: uint16(280), - 1794: uint16(249), - 1795: uint16(243), - 1796: uint16(19), - 1797: uint16(20), - 1798: uint16(245), - 1799: uint16(22), - 1800: uint16(196), - 1801: uint16(259), - 1802: uint16(140), - 1803: uint16(259), - 1804: uint16(60), - 1805: uint16(297), - 1806: uint16(141), - 1807: uint16(297), - 1808: uint16(200), - 1809: uint16(200), - 1810: uint16(162), - 1811: uint16(38), - 1812: uint16(200), - 1813: uint16(36), - 1814: uint16(294), - 1815: uint16(153), - 1816: uint16(154), - 1817: uint16(155), - 1818: uint16(156), - 1819: uint16(157), - 1820: uint16(151), - 1821: uint16(150), - 1822: uint16(294), - 1823: uint16(283), - 1824: uint16(22), - 1825: uint16(43), - 1826: uint16(234), - 1827: uint16(18), - 1828: uint16(237), - 1829: uint16(200), - 1830: uint16(270), - 1831: uint16(272), - 1832: uint16(237), - 1833: uint16(237), - 1834: uint16(237), - 1835: uint16(18), - 1836: uint16(59), - 1837: uint16(199), - 1838: uint16(270), - 1839: uint16(149), - 1840: uint16(246), - 1841: uint16(272), - 1842: uint16(272), - 1843: uint16(200), - 1844: uint16(234), - 1845: uint16(234), - 1846: uint16(246), - 1847: uint16(246), - 1848: uint16(71), - 1849: uint16(246), - 1850: uint16(199), - 1851: uint16(158), - 1852: uint16(290), - 1853: uint16(62), - 1854: uint16(22), - 1855: uint16(200), - 1856: uint16(19), - 1857: uint16(20), - 1858: uint16(199), - 1859: uint16(22), - 1860: uint16(289), - 1861: uint16(221), - 1862: uint16(221), - 1863: uint16(200), - 1864: uint16(200), - 1865: uint16(199), - 1866: uint16(199), - 1867: uint16(115), - 1868: uint16(218), - 1869: uint16(64), - 1870: uint16(218), - 1871: uint16(218), + 1691: uint16(218), + 1692: uint16(194), + 1693: uint16(19), + 1694: uint16(20), + 1695: uint16(194), + 1696: uint16(22), + 1697: uint16(153), + 1698: uint16(23), + 1699: uint16(155), + 1700: uint16(25), + 1701: uint16(194), + 1702: uint16(100), + 1703: uint16(194), + 1704: uint16(217), + 1705: uint16(218), + 1706: uint16(183), + 1707: uint16(194), + 1708: uint16(106), + 1709: uint16(107), + 1710: uint16(36), + 1711: uint16(194), + 1712: uint16(217), + 1713: uint16(218), + 1714: uint16(237), + 1715: uint16(194), + 1716: uint16(114), + 1717: uint16(243), + 1718: uint16(116), + 1719: uint16(117), + 1720: uint16(118), + 1721: uint16(133), + 1722: uint16(194), + 1723: uint16(121), + 1724: uint16(217), + 1725: uint16(218), + 1726: uint16(138), + 1727: uint16(139), + 1728: uint16(194), + 1729: uint16(194), + 1730: uint16(194), + 1731: uint16(290), + 1732: uint16(289), + 1733: uint16(59), + 1734: uint16(217), + 1735: uint16(218), + 1736: uint16(194), + 1737: uint16(194), + 1738: uint16(217), + 1739: uint16(218), + 1740: uint16(194), + 1741: uint16(194), + 1742: uint16(140), + 1743: uint16(194), + 1744: uint16(194), + 1745: uint16(71), + 1746: uint16(194), + 1747: uint16(244), + 1748: uint16(194), + 1749: uint16(194), + 1750: uint16(162), + 1751: uint16(217), + 1752: uint16(218), + 1753: uint16(194), + 1754: uint16(194), + 1755: uint16(153), + 1756: uint16(154), + 1757: uint16(155), + 1758: uint16(156), + 1759: uint16(157), + 1760: uint16(217), + 1761: uint16(218), + 1762: uint16(194), + 1763: uint16(217), + 1764: uint16(218), + 1765: uint16(194), + 1766: uint16(217), + 1767: uint16(218), + 1768: uint16(257), + 1769: uint16(217), + 1770: uint16(218), + 1771: uint16(217), + 1772: uint16(218), + 1773: uint16(257), + 1774: uint16(100), + 1775: uint16(194), + 1776: uint16(257), + 1777: uint16(217), + 1778: uint16(218), + 1779: uint16(257), + 1780: uint16(106), + 1781: uint16(107), + 1782: uint16(215), + 1783: uint16(299), + 1784: uint16(194), + 1785: uint16(183), + 1786: uint16(192), + 1787: uint16(194), + 1788: uint16(114), + 1789: uint16(194), + 1790: uint16(116), + 1791: uint16(117), + 1792: uint16(118), + 1793: uint16(1), + 1794: uint16(2), + 1795: uint16(121), + 1796: uint16(221), + 1797: uint16(5), + 1798: uint16(217), + 1799: uint16(218), + 1800: uint16(273), + 1801: uint16(197), + 1802: uint16(10), + 1803: uint16(11), + 1804: uint16(12), + 1805: uint16(13), + 1806: uint16(14), + 1807: uint16(217), + 1808: uint16(218), + 1809: uint16(17), + 1810: uint16(217), + 1811: uint16(218), + 1812: uint16(217), + 1813: uint16(218), + 1814: uint16(140), + 1815: uint16(194), + 1816: uint16(246), + 1817: uint16(194), + 1818: uint16(273), + 1819: uint16(295), + 1820: uint16(247), + 1821: uint16(273), + 1822: uint16(30), + 1823: uint16(247), + 1824: uint16(32), + 1825: uint16(269), + 1826: uint16(269), + 1827: uint16(153), + 1828: uint16(154), + 1829: uint16(155), + 1830: uint16(156), + 1831: uint16(157), + 1832: uint16(40), + 1833: uint16(246), + 1834: uint16(273), + 1835: uint16(295), + 1836: uint16(230), + 1837: uint16(226), + 1838: uint16(217), + 1839: uint16(218), + 1840: uint16(217), + 1841: uint16(218), + 1842: uint16(220), + 1843: uint16(261), + 1844: uint16(220), + 1845: uint16(282), + 1846: uint16(220), + 1847: uint16(19), + 1848: uint16(20), + 1849: uint16(244), + 1850: uint16(22), + 1851: uint16(250), + 1852: uint16(141), + 1853: uint16(250), + 1854: uint16(246), + 1855: uint16(60), + 1856: uint16(201), + 1857: uint16(183), + 1858: uint16(261), + 1859: uint16(261), + 1860: uint16(261), + 1861: uint16(201), + 1862: uint16(70), + 1863: uint16(299), + 1864: uint16(36), + 1865: uint16(299), + 1866: uint16(201), + 1867: uint16(38), + 1868: uint16(151), + 1869: uint16(150), + 1870: uint16(78), + 1871: uint16(285), 1872: uint16(22), - 1873: uint16(36), - 1874: uint16(227), - 1875: uint16(126), - 1876: uint16(227), - 1877: uint16(100), - 1878: uint16(165), - 1879: uint16(221), - 1880: uint16(224), - 1881: uint16(224), - 1882: uint16(24), - 1883: uint16(106), - 1884: uint16(107), - 1885: uint16(312), - 1886: uint16(218), - 1887: uint16(305), - 1888: uint16(113), - 1889: uint16(282), - 1890: uint16(91), - 1891: uint16(114), - 1892: uint16(220), - 1893: uint16(116), - 1894: uint16(117), - 1895: uint16(118), - 1896: uint16(59), - 1897: uint16(282), - 1898: uint16(121), - 1899: uint16(218), - 1900: uint16(218), - 1901: uint16(218), + 1873: uint16(81), + 1874: uint16(296), + 1875: uint16(296), + 1876: uint16(43), + 1877: uint16(235), + 1878: uint16(18), + 1879: uint16(238), + 1880: uint16(201), + 1881: uint16(274), + 1882: uint16(272), + 1883: uint16(238), + 1884: uint16(238), + 1885: uint16(238), + 1886: uint16(18), + 1887: uint16(59), + 1888: uint16(200), + 1889: uint16(149), + 1890: uint16(98), + 1891: uint16(247), + 1892: uint16(274), + 1893: uint16(274), + 1894: uint16(235), + 1895: uint16(247), + 1896: uint16(247), + 1897: uint16(247), + 1898: uint16(235), + 1899: uint16(71), + 1900: uint16(272), + 1901: uint16(201), 1902: uint16(200), - 1903: uint16(317), - 1904: uint16(317), - 1905: uint16(82), - 1906: uint16(221), - 1907: uint16(265), - 1908: uint16(71), - 1909: uint16(148), - 1910: uint16(145), - 1911: uint16(265), - 1912: uint16(22), - 1913: uint16(277), - 1914: uint16(200), - 1915: uint16(158), - 1916: uint16(279), - 1917: uint16(140), - 1918: uint16(147), - 1919: uint16(25), - 1920: uint16(146), - 1921: uint16(202), - 1922: uint16(248), - 1923: uint16(250), - 1924: uint16(249), - 1925: uint16(247), - 1926: uint16(13), - 1927: uint16(250), - 1928: uint16(194), - 1929: uint16(194), - 1930: uint16(153), - 1931: uint16(154), - 1932: uint16(155), - 1933: uint16(156), - 1934: uint16(157), - 1935: uint16(6), - 1936: uint16(303), - 1937: uint16(100), - 1938: uint16(192), - 1939: uint16(192), - 1940: uint16(246), - 1941: uint16(213), - 1942: uint16(192), - 1943: uint16(106), - 1944: uint16(107), - 1945: uint16(207), - 1946: uint16(213), - 1947: uint16(207), - 1948: uint16(222), - 1949: uint16(213), - 1950: uint16(213), - 1951: uint16(114), - 1952: uint16(222), - 1953: uint16(116), - 1954: uint16(117), - 1955: uint16(118), - 1956: uint16(214), - 1957: uint16(214), - 1958: uint16(121), - 1959: uint16(4), - 1960: uint16(207), - 1961: uint16(213), - 1962: uint16(3), - 1963: uint16(22), - 1964: uint16(303), - 1965: uint16(15), - 1966: uint16(163), - 1967: uint16(16), - 1968: uint16(23), - 1969: uint16(23), - 1970: uint16(139), - 1971: uint16(151), - 1972: uint16(130), - 1973: uint16(25), - 1974: uint16(20), - 1975: uint16(142), - 1976: uint16(24), - 1977: uint16(16), - 1978: uint16(144), - 1979: uint16(1), - 1980: uint16(142), - 1981: uint16(130), - 1982: uint16(130), - 1983: uint16(61), - 1984: uint16(37), - 1985: uint16(53), - 1986: uint16(300), - 1987: uint16(151), - 1988: uint16(53), - 1989: uint16(53), - 1990: uint16(153), - 1991: uint16(154), - 1992: uint16(155), - 1993: uint16(156), - 1994: uint16(157), - 1995: uint16(53), - 1996: uint16(130), - 1997: uint16(116), - 1998: uint16(34), - 1999: uint16(1), - 2000: uint16(141), - 2001: uint16(5), - 2002: uint16(22), - 2003: uint16(115), - 2004: uint16(161), - 2005: uint16(68), - 2006: uint16(25), - 2007: uint16(68), - 2008: uint16(75), - 2009: uint16(41), - 2010: uint16(141), - 2011: uint16(115), - 2012: uint16(24), - 2013: uint16(20), - 2014: uint16(19), - 2015: uint16(131), - 2016: uint16(125), - 2017: uint16(23), - 2018: uint16(28), - 2019: uint16(22), - 2020: uint16(67), - 2021: uint16(22), - 2022: uint16(22), - 2023: uint16(22), - 2024: uint16(67), - 2025: uint16(59), - 2026: uint16(24), - 2027: uint16(96), - 2028: uint16(22), - 2029: uint16(67), - 2030: uint16(23), - 2031: uint16(149), - 2032: uint16(22), - 2033: uint16(25), - 2034: uint16(23), - 2035: uint16(23), - 2036: uint16(23), - 2037: uint16(22), - 2038: uint16(34), - 2039: uint16(141), - 2040: uint16(37), - 2041: uint16(97), - 2042: uint16(23), - 2043: uint16(23), - 2044: uint16(116), - 2045: uint16(22), - 2046: uint16(143), - 2047: uint16(25), - 2048: uint16(34), - 2049: uint16(75), - 2050: uint16(34), - 2051: uint16(34), - 2052: uint16(34), - 2053: uint16(88), - 2054: uint16(75), - 2055: uint16(34), - 2056: uint16(86), - 2057: uint16(23), + 1903: uint16(158), + 1904: uint16(292), + 1905: uint16(62), + 1906: uint16(291), + 1907: uint16(201), + 1908: uint16(200), + 1909: uint16(22), + 1910: uint16(201), + 1911: uint16(222), + 1912: uint16(200), + 1913: uint16(222), + 1914: uint16(201), + 1915: uint16(200), + 1916: uint16(115), + 1917: uint16(219), + 1918: uint16(219), + 1919: uint16(64), + 1920: uint16(219), + 1921: uint16(228), + 1922: uint16(22), + 1923: uint16(126), + 1924: uint16(221), + 1925: uint16(133), + 1926: uint16(165), + 1927: uint16(222), + 1928: uint16(100), + 1929: uint16(225), + 1930: uint16(138), + 1931: uint16(139), + 1932: uint16(225), + 1933: uint16(219), + 1934: uint16(106), + 1935: uint16(107), + 1936: uint16(24), + 1937: uint16(219), + 1938: uint16(228), + 1939: uint16(219), + 1940: uint16(219), + 1941: uint16(307), + 1942: uint16(114), + 1943: uint16(113), + 1944: uint16(116), + 1945: uint16(117), + 1946: uint16(118), + 1947: uint16(315), + 1948: uint16(284), + 1949: uint16(121), + 1950: uint16(284), + 1951: uint16(222), + 1952: uint16(201), + 1953: uint16(91), + 1954: uint16(162), + 1955: uint16(320), + 1956: uint16(320), + 1957: uint16(82), + 1958: uint16(148), + 1959: uint16(267), + 1960: uint16(145), + 1961: uint16(267), + 1962: uint16(22), + 1963: uint16(279), + 1964: uint16(201), + 1965: uint16(158), + 1966: uint16(281), + 1967: uint16(251), + 1968: uint16(147), + 1969: uint16(146), + 1970: uint16(25), + 1971: uint16(203), + 1972: uint16(250), + 1973: uint16(249), + 1974: uint16(251), + 1975: uint16(248), + 1976: uint16(13), + 1977: uint16(247), + 1978: uint16(195), + 1979: uint16(195), + 1980: uint16(6), + 1981: uint16(153), + 1982: uint16(154), + 1983: uint16(155), + 1984: uint16(156), + 1985: uint16(157), + 1986: uint16(193), + 1987: uint16(193), + 1988: uint16(305), + 1989: uint16(193), + 1990: uint16(208), + 1991: uint16(305), + 1992: uint16(302), + 1993: uint16(214), + 1994: uint16(214), + 1995: uint16(214), + 1996: uint16(208), + 1997: uint16(223), + 1998: uint16(223), + 1999: uint16(214), + 2000: uint16(4), + 2001: uint16(215), + 2002: uint16(215), + 2003: uint16(214), + 2004: uint16(3), + 2005: uint16(22), + 2006: uint16(208), + 2007: uint16(163), + 2008: uint16(15), + 2009: uint16(23), + 2010: uint16(16), + 2011: uint16(183), + 2012: uint16(23), + 2013: uint16(139), + 2014: uint16(151), + 2015: uint16(130), + 2016: uint16(25), + 2017: uint16(20), + 2018: uint16(142), + 2019: uint16(24), + 2020: uint16(16), + 2021: uint16(144), + 2022: uint16(1), + 2023: uint16(142), + 2024: uint16(130), + 2025: uint16(130), + 2026: uint16(61), + 2027: uint16(37), + 2028: uint16(53), + 2029: uint16(151), + 2030: uint16(53), + 2031: uint16(53), + 2032: uint16(53), + 2033: uint16(130), + 2034: uint16(116), + 2035: uint16(1), + 2036: uint16(34), + 2037: uint16(141), + 2038: uint16(5), + 2039: uint16(22), + 2040: uint16(115), + 2041: uint16(161), + 2042: uint16(75), + 2043: uint16(25), + 2044: uint16(68), + 2045: uint16(141), + 2046: uint16(41), + 2047: uint16(115), + 2048: uint16(68), + 2049: uint16(24), + 2050: uint16(20), + 2051: uint16(19), + 2052: uint16(131), + 2053: uint16(125), + 2054: uint16(67), + 2055: uint16(67), + 2056: uint16(96), + 2057: uint16(22), 2058: uint16(22), - 2059: uint16(34), - 2060: uint16(93), - 2061: uint16(24), - 2062: uint16(34), - 2063: uint16(25), - 2064: uint16(25), - 2065: uint16(142), - 2066: uint16(142), + 2059: uint16(22), + 2060: uint16(37), + 2061: uint16(23), + 2062: uint16(22), + 2063: uint16(24), + 2064: uint16(22), + 2065: uint16(59), + 2066: uint16(67), 2067: uint16(23), - 2068: uint16(44), - 2069: uint16(23), - 2070: uint16(23), - 2071: uint16(23), + 2068: uint16(149), + 2069: uint16(28), + 2070: uint16(22), + 2071: uint16(25), 2072: uint16(23), - 2073: uint16(11), + 2073: uint16(23), 2074: uint16(23), - 2075: uint16(25), - 2076: uint16(22), - 2077: uint16(22), - 2078: uint16(22), - 2079: uint16(141), + 2075: uint16(22), + 2076: uint16(141), + 2077: uint16(34), + 2078: uint16(97), + 2079: uint16(23), 2080: uint16(23), - 2081: uint16(23), - 2082: uint16(22), + 2081: uint16(34), + 2082: uint16(116), 2083: uint16(22), - 2084: uint16(25), - 2085: uint16(15), - 2086: uint16(1), - 2087: uint16(23), - 2088: uint16(25), - 2089: uint16(1), - 2090: uint16(141), - 2091: uint16(135), - 2092: uint16(319), - 2093: uint16(319), - 2094: uint16(319), - 2095: uint16(319), - 2096: uint16(319), - 2097: uint16(319), - 2098: uint16(319), - 2099: uint16(141), - 2100: uint16(319), - 2101: uint16(319), - 2102: uint16(319), - 2103: uint16(319), - 2104: uint16(319), - 2105: uint16(319), - 2106: uint16(319), - 2107: uint16(319), - 2108: uint16(319), - 2109: uint16(319), - 2110: uint16(319), - 2111: uint16(319), - 2112: uint16(319), - 2113: uint16(319), - 2114: uint16(319), - 2115: uint16(319), - 2116: uint16(319), - 2117: uint16(319), - 2118: uint16(319), - 2119: uint16(319), - 2120: uint16(319), - 2121: uint16(319), - 2122: uint16(319), - 2123: uint16(319), - 2124: uint16(319), - 2125: uint16(319), - 2126: uint16(319), - 2127: uint16(319), - 2128: uint16(319), - 2129: uint16(319), - 2130: uint16(319), - 2131: uint16(319), - 2132: uint16(319), - 2133: uint16(319), - 2134: uint16(319), - 2135: uint16(319), - 2136: uint16(319), - 2137: uint16(319), - 2138: uint16(319), - 2139: uint16(319), - 2140: uint16(319), - 2141: uint16(319), - 2142: uint16(319), - 2143: uint16(319), - 2144: uint16(319), - 2145: uint16(319), - 2146: uint16(319), - 2147: uint16(319), - 2148: uint16(319), - 2149: uint16(319), - 2150: uint16(319), - 2151: uint16(319), - 2152: uint16(319), - 2153: uint16(319), - 2154: uint16(319), - 2155: uint16(319), - 2156: uint16(319), - 2157: uint16(319), - 2158: uint16(319), - 2159: uint16(319), - 2160: uint16(319), - 2161: uint16(319), - 2162: uint16(319), - 2163: uint16(319), - 2164: uint16(319), - 2165: uint16(319), - 2166: uint16(319), - 2167: uint16(319), - 2168: uint16(319), - 2169: uint16(319), - 2170: uint16(319), - 2171: uint16(319), - 2172: uint16(319), - 2173: uint16(319), - 2174: uint16(319), - 2175: uint16(319), - 2176: uint16(319), - 2177: uint16(319), - 2178: uint16(319), - 2179: uint16(319), - 2180: uint16(319), - 2181: uint16(319), - 2182: uint16(319), - 2183: uint16(319), - 2184: uint16(319), - 2185: uint16(319), - 2186: uint16(319), - 2187: uint16(319), - 2188: uint16(319), - 2189: uint16(319), - 2190: uint16(319), - 2191: uint16(319), - 2192: uint16(319), - 2193: uint16(319), - 2194: uint16(319), - 2195: uint16(319), - 2196: uint16(319), - 2197: uint16(319), - 2198: uint16(319), - 2199: uint16(319), - 2200: uint16(319), - 2201: uint16(319), - 2202: uint16(319), - 2203: uint16(319), - 2204: uint16(319), - 2205: uint16(319), - 2206: uint16(319), - 2207: uint16(319), - 2208: uint16(319), - 2209: uint16(319), - 2210: uint16(319), - 2211: uint16(319), - 2212: uint16(319), - 2213: uint16(319), - 2214: uint16(319), - 2215: uint16(319), - 2216: uint16(319), - 2217: uint16(319), - 2218: uint16(319), - 2219: uint16(319), - 2220: uint16(319), - 2221: uint16(319), - 2222: uint16(319), - 2223: uint16(319), - 2224: uint16(319), - 2225: uint16(319), - 2226: uint16(319), - 2227: uint16(319), - 2228: uint16(319), - 2229: uint16(319), - 2230: uint16(319), - 2231: uint16(319), - 2232: uint16(319), - 2233: uint16(319), - 2234: uint16(319), - 2235: uint16(319), - 2236: uint16(319), - 2237: uint16(319), - 2238: uint16(319), - 2239: uint16(319), - 2240: uint16(319), - 2241: uint16(319), - 2242: uint16(319), - 2243: uint16(319), - 2244: uint16(319), - 2245: uint16(319), - 2246: uint16(319), - 2247: uint16(319), - 2248: uint16(319), - 2249: uint16(319), - 2250: uint16(319), - 2251: uint16(319), - 2252: uint16(319), - 2253: uint16(319), - 2254: uint16(319), - 2255: uint16(319), - 2256: uint16(319), - 2257: uint16(319), - 2258: uint16(319), - 2259: uint16(319), - 2260: uint16(319), - 2261: uint16(319), - 2262: uint16(319), - 2263: uint16(319), - 2264: uint16(319), - 2265: uint16(319), - 2266: uint16(319), - 2267: uint16(319), - 2268: uint16(319), - 2269: uint16(319), - 2270: uint16(319), - 2271: uint16(319), - 2272: uint16(319), - 2273: uint16(319), - 2274: uint16(319), - 2275: uint16(319), - 2276: uint16(319), - 2277: uint16(319), - 2278: uint16(319), - 2279: uint16(319), - 2280: uint16(319), - 2281: uint16(319), - 2282: uint16(319), - 2283: uint16(319), - 2284: uint16(319), -} -var _yy_shift_ofst = [579]uint16{ - 0: uint16(1648), - 1: uint16(1477), - 2: uint16(1272), + 2084: uint16(143), + 2085: uint16(25), + 2086: uint16(34), + 2087: uint16(75), + 2088: uint16(34), + 2089: uint16(34), + 2090: uint16(75), + 2091: uint16(88), + 2092: uint16(34), + 2093: uint16(86), + 2094: uint16(23), + 2095: uint16(22), + 2096: uint16(34), + 2097: uint16(25), + 2098: uint16(24), + 2099: uint16(34), + 2100: uint16(25), + 2101: uint16(93), + 2102: uint16(23), + 2103: uint16(44), + 2104: uint16(142), + 2105: uint16(23), + 2106: uint16(142), + 2107: uint16(23), + 2108: uint16(23), + 2109: uint16(22), + 2110: uint16(11), + 2111: uint16(25), + 2112: uint16(23), + 2113: uint16(25), + 2114: uint16(23), + 2115: uint16(22), + 2116: uint16(22), + 2117: uint16(22), + 2118: uint16(1), + 2119: uint16(23), + 2120: uint16(23), + 2121: uint16(23), + 2122: uint16(22), + 2123: uint16(22), + 2124: uint16(15), + 2125: uint16(141), + 2126: uint16(141), + 2127: uint16(25), + 2128: uint16(25), + 2129: uint16(1), + 2130: uint16(322), + 2131: uint16(322), + 2132: uint16(322), + 2133: uint16(135), + 2134: uint16(322), + 2135: uint16(322), + 2136: uint16(322), + 2137: uint16(322), + 2138: uint16(322), + 2139: uint16(322), + 2140: uint16(322), + 2141: uint16(141), + 2142: uint16(322), + 2143: uint16(322), + 2144: uint16(322), + 2145: uint16(322), + 2146: uint16(322), + 2147: uint16(322), + 2148: uint16(322), + 2149: uint16(322), + 2150: uint16(322), + 2151: uint16(322), + 2152: uint16(322), + 2153: uint16(322), + 2154: uint16(322), + 2155: uint16(322), + 2156: uint16(322), + 2157: uint16(322), + 2158: uint16(322), + 2159: uint16(322), + 2160: uint16(322), + 2161: uint16(322), + 2162: uint16(322), + 2163: uint16(322), + 2164: uint16(322), + 2165: uint16(322), + 2166: uint16(322), + 2167: uint16(322), + 2168: uint16(322), + 2169: uint16(322), + 2170: uint16(322), + 2171: uint16(322), + 2172: uint16(322), + 2173: uint16(322), + 2174: uint16(322), + 2175: uint16(322), + 2176: uint16(322), + 2177: uint16(322), + 2178: uint16(322), + 2179: uint16(322), + 2180: uint16(322), + 2181: uint16(322), + 2182: uint16(322), + 2183: uint16(322), + 2184: uint16(322), + 2185: uint16(322), + 2186: uint16(322), + 2187: uint16(322), + 2188: uint16(322), + 2189: uint16(322), + 2190: uint16(322), + 2191: uint16(322), + 2192: uint16(322), + 2193: uint16(322), + 2194: uint16(322), + 2195: uint16(322), + 2196: uint16(322), + 2197: uint16(322), + 2198: uint16(322), + 2199: uint16(322), + 2200: uint16(322), + 2201: uint16(322), + 2202: uint16(322), + 2203: uint16(322), + 2204: uint16(322), + 2205: uint16(322), + 2206: uint16(322), + 2207: uint16(322), + 2208: uint16(322), + 2209: uint16(322), + 2210: uint16(322), + 2211: uint16(322), + 2212: uint16(322), + 2213: uint16(322), + 2214: uint16(322), + 2215: uint16(322), + 2216: uint16(322), + 2217: uint16(322), + 2218: uint16(322), + 2219: uint16(322), + 2220: uint16(322), + 2221: uint16(322), + 2222: uint16(322), + 2223: uint16(322), + 2224: uint16(322), + 2225: uint16(322), + 2226: uint16(322), + 2227: uint16(322), + 2228: uint16(322), + 2229: uint16(322), + 2230: uint16(322), + 2231: uint16(322), + 2232: uint16(322), + 2233: uint16(322), + 2234: uint16(322), + 2235: uint16(322), + 2236: uint16(322), + 2237: uint16(322), + 2238: uint16(322), + 2239: uint16(322), + 2240: uint16(322), + 2241: uint16(322), + 2242: uint16(322), + 2243: uint16(322), + 2244: uint16(322), + 2245: uint16(322), + 2246: uint16(322), + 2247: uint16(322), + 2248: uint16(322), + 2249: uint16(322), + 2250: uint16(322), + 2251: uint16(322), + 2252: uint16(322), + 2253: uint16(322), + 2254: uint16(322), + 2255: uint16(322), + 2256: uint16(322), + 2257: uint16(322), + 2258: uint16(322), + 2259: uint16(322), + 2260: uint16(322), + 2261: uint16(322), + 2262: uint16(322), + 2263: uint16(322), + 2264: uint16(322), + 2265: uint16(322), + 2266: uint16(322), + 2267: uint16(322), + 2268: uint16(322), + 2269: uint16(322), + 2270: uint16(322), + 2271: uint16(322), + 2272: uint16(322), + 2273: uint16(322), + 2274: uint16(322), + 2275: uint16(322), + 2276: uint16(322), + 2277: uint16(322), + 2278: uint16(322), + 2279: uint16(322), + 2280: uint16(322), + 2281: uint16(322), + 2282: uint16(322), + 2283: uint16(322), + 2284: uint16(322), + 2285: uint16(322), + 2286: uint16(322), + 2287: uint16(322), + 2288: uint16(322), + 2289: uint16(322), + 2290: uint16(322), + 2291: uint16(322), + 2292: uint16(322), + 2293: uint16(322), + 2294: uint16(322), + 2295: uint16(322), + 2296: uint16(322), + 2297: uint16(322), + 2298: uint16(322), + 2299: uint16(322), + 2300: uint16(322), + 2301: uint16(322), + 2302: uint16(322), + 2303: uint16(322), + 2304: uint16(322), + 2305: uint16(322), + 2306: uint16(322), + 2307: uint16(322), + 2308: uint16(322), + 2309: uint16(322), + 2310: uint16(322), + 2311: uint16(322), + 2312: uint16(322), + 2313: uint16(322), + 2314: uint16(322), + 2315: uint16(322), + 2316: uint16(322), + 2317: uint16(322), + 2318: uint16(322), + 2319: uint16(322), + 2320: uint16(322), + 2321: uint16(322), + 2322: uint16(322), + 2323: uint16(322), + 2324: uint16(322), + 2325: uint16(322), + 2326: uint16(322), + 2327: uint16(322), +} +var _yy_shift_ofst = [583]uint16{ + 0: uint16(1792), + 1: uint16(1588), + 2: uint16(1494), 3: uint16(322), 4: uint16(322), - 5: uint16(1), - 6: uint16(1319), - 7: uint16(1478), - 8: uint16(1491), - 9: uint16(1837), - 10: uint16(1837), - 11: uint16(1837), - 12: uint16(471), - 15: uint16(214), - 16: uint16(1093), - 17: uint16(1837), - 18: uint16(1837), - 19: uint16(1837), - 20: uint16(1837), - 21: uint16(1837), - 22: uint16(1837), - 23: uint16(1837), - 24: uint16(1837), - 25: uint16(1837), - 26: uint16(1837), - 27: uint16(1837), - 28: uint16(1837), - 29: uint16(1837), - 30: uint16(1837), - 31: uint16(271), - 32: uint16(271), - 33: uint16(1219), - 34: uint16(1219), - 35: uint16(216), - 36: uint16(88), - 37: uint16(1), - 38: uint16(1), - 39: uint16(1), - 40: uint16(1), - 41: uint16(1), - 42: uint16(40), - 43: uint16(111), - 44: uint16(258), - 45: uint16(361), - 46: uint16(469), - 47: uint16(512), - 48: uint16(583), - 49: uint16(622), - 50: uint16(693), - 51: uint16(732), - 52: uint16(803), - 53: uint16(842), - 54: uint16(913), - 55: uint16(1073), - 56: uint16(1093), - 57: uint16(1093), - 58: uint16(1093), - 59: uint16(1093), - 60: uint16(1093), - 61: uint16(1093), - 62: uint16(1093), - 63: uint16(1093), - 64: uint16(1093), + 5: uint16(399), + 6: uint16(306), + 7: uint16(1319), + 8: uint16(1339), + 9: uint16(1430), + 10: uint16(1828), + 11: uint16(1828), + 12: uint16(1828), + 13: uint16(580), + 14: uint16(399), + 15: uint16(399), + 16: uint16(399), + 17: uint16(399), + 18: uint16(399), + 21: uint16(214), + 22: uint16(1093), + 23: uint16(1828), + 24: uint16(1828), + 25: uint16(1828), + 26: uint16(1828), + 27: uint16(1828), + 28: uint16(1828), + 29: uint16(1828), + 30: uint16(1828), + 31: uint16(1828), + 32: uint16(1828), + 33: uint16(1828), + 34: uint16(1828), + 35: uint16(1828), + 36: uint16(1828), + 37: uint16(1828), + 38: uint16(1130), + 39: uint16(1130), + 40: uint16(365), + 41: uint16(365), + 42: uint16(55), + 43: uint16(278), + 44: uint16(436), + 45: uint16(713), + 46: uint16(713), + 47: uint16(201), + 48: uint16(201), + 49: uint16(201), + 50: uint16(201), + 51: uint16(40), + 52: uint16(111), + 53: uint16(258), + 54: uint16(361), + 55: uint16(469), + 56: uint16(512), + 57: uint16(583), + 58: uint16(622), + 59: uint16(693), + 60: uint16(732), + 61: uint16(803), + 62: uint16(842), + 63: uint16(913), + 64: uint16(1073), 65: uint16(1093), 66: uint16(1093), 67: uint16(1093), @@ -156869,1505 +158281,1514 @@ var _yy_shift_ofst = [579]uint16{ 71: uint16(1093), 72: uint16(1093), 73: uint16(1093), - 74: uint16(1113), + 74: uint16(1093), 75: uint16(1093), - 76: uint16(1216), - 77: uint16(957), - 78: uint16(957), - 79: uint16(1635), - 80: uint16(1662), - 81: uint16(1777), - 82: uint16(1837), - 83: uint16(1837), - 84: uint16(1837), - 85: uint16(1837), - 86: uint16(1837), - 87: uint16(1837), - 88: uint16(1837), - 89: uint16(1837), - 90: uint16(1837), - 91: uint16(1837), - 92: uint16(1837), - 93: uint16(1837), - 94: uint16(1837), - 95: uint16(1837), - 96: uint16(1837), - 97: uint16(1837), - 98: uint16(1837), - 99: uint16(1837), - 100: uint16(1837), - 101: uint16(1837), - 102: uint16(1837), - 103: uint16(1837), - 104: uint16(1837), - 105: uint16(1837), - 106: uint16(1837), - 107: uint16(1837), - 108: uint16(1837), - 109: uint16(1837), - 110: uint16(1837), - 111: uint16(1837), - 112: uint16(1837), - 113: uint16(1837), - 114: uint16(1837), - 115: uint16(1837), - 116: uint16(1837), - 117: uint16(1837), - 118: uint16(1837), - 119: uint16(1837), - 120: uint16(1837), - 121: uint16(1837), - 122: uint16(1837), - 123: uint16(1837), - 124: uint16(1837), - 125: uint16(1837), - 126: uint16(1837), - 127: uint16(1837), - 128: uint16(1837), - 129: uint16(1837), - 130: uint16(1837), - 131: uint16(137), - 132: uint16(181), - 133: uint16(181), - 134: uint16(181), - 135: uint16(181), - 136: uint16(181), - 137: uint16(181), - 138: uint16(181), - 139: uint16(94), - 140: uint16(430), - 141: uint16(66), - 142: uint16(65), - 143: uint16(112), - 144: uint16(366), - 145: uint16(533), - 146: uint16(533), - 147: uint16(740), - 148: uint16(1257), - 149: uint16(533), - 150: uint16(533), - 151: uint16(79), - 152: uint16(79), - 153: uint16(533), - 154: uint16(412), - 155: uint16(412), - 156: uint16(412), - 157: uint16(77), - 158: uint16(412), - 159: uint16(123), - 160: uint16(113), - 161: uint16(113), - 162: uint16(113), - 163: uint16(22), - 164: uint16(22), - 165: uint16(2100), - 166: uint16(2100), - 167: uint16(328), - 168: uint16(328), - 169: uint16(328), - 170: uint16(239), - 171: uint16(468), - 172: uint16(468), - 173: uint16(468), - 174: uint16(468), - 175: uint16(1015), - 176: uint16(1015), - 177: uint16(409), - 178: uint16(366), - 179: uint16(1187), - 180: uint16(1232), - 181: uint16(533), - 182: uint16(533), - 183: uint16(533), - 184: uint16(533), - 185: uint16(533), - 186: uint16(533), - 187: uint16(533), - 188: uint16(533), - 189: uint16(533), - 190: uint16(533), - 191: uint16(533), - 192: uint16(533), - 193: uint16(533), - 194: uint16(533), - 195: uint16(533), - 196: uint16(533), - 197: uint16(533), - 198: uint16(533), - 199: uint16(533), - 200: uint16(533), - 201: uint16(969), - 202: uint16(621), - 203: uint16(621), - 204: uint16(533), - 205: uint16(642), - 206: uint16(788), - 207: uint16(788), - 208: uint16(1133), - 209: uint16(1133), - 210: uint16(822), - 211: uint16(822), - 212: uint16(67), - 213: uint16(1193), - 214: uint16(2100), - 215: uint16(2100), - 216: uint16(2100), - 217: uint16(2100), - 218: uint16(2100), - 219: uint16(2100), - 220: uint16(2100), - 221: uint16(1307), - 222: uint16(954), - 223: uint16(954), - 224: uint16(585), - 225: uint16(472), - 226: uint16(640), - 227: uint16(387), - 228: uint16(695), - 229: uint16(538), - 230: uint16(541), - 231: uint16(700), - 232: uint16(533), - 233: uint16(533), - 234: uint16(533), - 235: uint16(533), - 236: uint16(533), - 237: uint16(533), - 238: uint16(533), - 239: uint16(533), - 240: uint16(533), - 241: uint16(533), - 242: uint16(222), - 243: uint16(533), - 244: uint16(533), - 245: uint16(533), - 246: uint16(533), - 247: uint16(533), - 248: uint16(533), - 249: uint16(533), - 250: uint16(533), - 251: uint16(533), - 252: uint16(533), - 253: uint16(533), - 254: uint16(533), - 255: uint16(1213), - 256: uint16(1213), - 257: uint16(1213), - 258: uint16(533), - 259: uint16(533), - 260: uint16(533), - 261: uint16(565), - 262: uint16(533), - 263: uint16(533), - 264: uint16(533), - 265: uint16(916), - 266: uint16(1147), - 267: uint16(533), - 268: uint16(533), - 269: uint16(1288), - 270: uint16(533), - 271: uint16(533), - 272: uint16(533), - 273: uint16(533), - 274: uint16(533), - 275: uint16(533), - 276: uint16(533), - 277: uint16(533), - 278: uint16(639), - 279: uint16(1280), - 280: uint16(209), - 281: uint16(1129), - 282: uint16(1129), - 283: uint16(1129), - 284: uint16(1129), - 285: uint16(580), - 286: uint16(209), - 287: uint16(209), - 288: uint16(1209), - 289: uint16(768), - 290: uint16(917), - 291: uint16(649), - 292: uint16(1315), - 293: uint16(1334), - 294: uint16(405), - 295: uint16(1334), - 296: uint16(1383), - 297: uint16(249), - 298: uint16(1315), - 299: uint16(1315), - 300: uint16(249), - 301: uint16(1315), - 302: uint16(405), - 303: uint16(1383), - 304: uint16(1441), - 305: uint16(464), - 306: uint16(1245), - 307: uint16(1417), - 308: uint16(1417), - 309: uint16(1417), - 310: uint16(1323), - 311: uint16(1323), - 312: uint16(1323), - 313: uint16(1323), - 314: uint16(184), - 315: uint16(184), - 316: uint16(1335), - 317: uint16(1476), - 318: uint16(856), - 319: uint16(1482), - 320: uint16(1744), - 321: uint16(1744), - 322: uint16(1665), - 323: uint16(1665), - 324: uint16(1773), - 325: uint16(1773), - 326: uint16(1665), - 327: uint16(1669), - 328: uint16(1671), - 329: uint16(1802), - 330: uint16(1782), - 331: uint16(1809), - 332: uint16(1809), - 333: uint16(1809), - 334: uint16(1809), - 335: uint16(1665), - 336: uint16(1817), - 337: uint16(1690), - 338: uint16(1671), - 339: uint16(1671), - 340: uint16(1690), - 341: uint16(1802), - 342: uint16(1782), - 343: uint16(1690), - 344: uint16(1782), - 345: uint16(1690), - 346: uint16(1665), - 347: uint16(1817), - 348: uint16(1693), - 349: uint16(1791), - 350: uint16(1665), - 351: uint16(1817), - 352: uint16(1832), - 353: uint16(1665), - 354: uint16(1817), - 355: uint16(1665), - 356: uint16(1817), - 357: uint16(1832), - 358: uint16(1752), - 359: uint16(1752), - 360: uint16(1752), - 361: uint16(1805), - 362: uint16(1850), - 363: uint16(1850), - 364: uint16(1832), - 365: uint16(1752), - 366: uint16(1749), - 367: uint16(1752), - 368: uint16(1805), - 369: uint16(1752), - 370: uint16(1752), - 371: uint16(1713), - 372: uint16(1858), - 373: uint16(1775), - 374: uint16(1775), - 375: uint16(1832), - 376: uint16(1665), - 377: uint16(1799), - 378: uint16(1799), - 379: uint16(1823), - 380: uint16(1823), - 381: uint16(1761), - 382: uint16(1765), - 383: uint16(1890), - 384: uint16(1665), - 385: uint16(1757), - 386: uint16(1761), - 387: uint16(1771), - 388: uint16(1774), - 389: uint16(1690), - 390: uint16(1894), - 391: uint16(1913), - 392: uint16(1913), - 393: uint16(1929), - 394: uint16(1929), - 395: uint16(1929), - 396: uint16(2100), - 397: uint16(2100), - 398: uint16(2100), - 399: uint16(2100), - 400: uint16(2100), - 401: uint16(2100), - 402: uint16(2100), - 403: uint16(2100), - 404: uint16(2100), - 405: uint16(2100), - 406: uint16(2100), - 407: uint16(2100), - 408: uint16(2100), - 409: uint16(2100), - 410: uint16(2100), - 411: uint16(207), - 412: uint16(1220), - 413: uint16(331), - 414: uint16(620), - 415: uint16(967), - 416: uint16(806), - 417: uint16(1074), - 418: uint16(1499), - 419: uint16(1432), - 420: uint16(1463), - 421: uint16(1479), - 422: uint16(1419), - 423: uint16(1422), - 424: uint16(1557), - 425: uint16(1512), - 426: uint16(1598), - 427: uint16(1599), - 428: uint16(1644), - 429: uint16(1645), - 430: uint16(1654), - 431: uint16(1660), - 432: uint16(1555), - 433: uint16(1505), - 434: uint16(1684), - 435: uint16(1462), - 436: uint16(1670), - 437: uint16(1563), - 438: uint16(1619), - 439: uint16(1593), - 440: uint16(1676), - 441: uint16(1679), - 442: uint16(1613), - 443: uint16(1680), - 444: uint16(1554), - 445: uint16(1558), - 446: uint16(1689), - 447: uint16(1692), - 448: uint16(1605), - 449: uint16(1589), - 450: uint16(1955), - 451: uint16(1959), - 452: uint16(1941), - 453: uint16(1803), - 454: uint16(1950), - 455: uint16(1951), - 456: uint16(1945), - 457: uint16(1946), - 458: uint16(1831), - 459: uint16(1820), - 460: uint16(1842), - 461: uint16(1948), - 462: uint16(1948), - 463: uint16(1952), - 464: uint16(1833), - 465: uint16(1954), - 466: uint16(1834), - 467: uint16(1961), - 468: uint16(1978), - 469: uint16(1838), - 470: uint16(1851), - 471: uint16(1948), - 472: uint16(1852), - 473: uint16(1922), - 474: uint16(1947), - 475: uint16(1948), - 476: uint16(1836), - 477: uint16(1932), - 478: uint16(1935), - 479: uint16(1936), - 480: uint16(1942), - 481: uint16(1866), - 482: uint16(1881), - 483: uint16(1964), - 484: uint16(1859), - 485: uint16(1998), - 486: uint16(1996), - 487: uint16(1980), - 488: uint16(1888), - 489: uint16(1843), - 490: uint16(1937), - 491: uint16(1981), - 492: uint16(1939), - 493: uint16(1933), - 494: uint16(1968), - 495: uint16(1869), - 496: uint16(1896), - 497: uint16(1988), - 498: uint16(1993), - 499: uint16(1995), - 500: uint16(1884), - 501: uint16(1891), - 502: uint16(1997), - 503: uint16(1953), - 504: uint16(1999), - 505: uint16(2000), - 506: uint16(1994), - 507: uint16(2001), - 508: uint16(1957), - 509: uint16(1966), - 510: uint16(2002), - 511: uint16(1931), - 512: uint16(1990), - 513: uint16(2006), - 514: uint16(1962), - 515: uint16(2003), - 516: uint16(2007), - 517: uint16(2004), - 518: uint16(1882), - 519: uint16(2010), - 520: uint16(2011), - 521: uint16(2012), - 522: uint16(2008), - 523: uint16(2013), - 524: uint16(2015), - 525: uint16(1944), - 526: uint16(1898), - 527: uint16(2019), - 528: uint16(2020), - 529: uint16(1928), - 530: uint16(2014), - 531: uint16(2023), - 532: uint16(1903), - 533: uint16(2022), - 534: uint16(2016), - 535: uint16(2017), - 536: uint16(2018), - 537: uint16(2021), - 538: uint16(1965), - 539: uint16(1974), - 540: uint16(1970), - 541: uint16(2024), - 542: uint16(1979), - 543: uint16(1967), - 544: uint16(2025), - 545: uint16(2034), - 546: uint16(2036), - 547: uint16(2037), - 548: uint16(2038), - 549: uint16(2039), - 550: uint16(2028), - 551: uint16(1923), - 552: uint16(1924), - 553: uint16(2044), - 554: uint16(2022), - 555: uint16(2046), - 556: uint16(2047), - 557: uint16(2048), - 558: uint16(2049), - 559: uint16(2050), - 560: uint16(2051), - 561: uint16(2054), - 562: uint16(2062), - 563: uint16(2055), - 564: uint16(2056), - 565: uint16(2057), - 566: uint16(2058), - 567: uint16(2060), - 568: uint16(2061), - 569: uint16(2059), - 570: uint16(1956), - 571: uint16(1938), - 572: uint16(1949), - 573: uint16(1958), - 574: uint16(2063), - 575: uint16(2064), - 576: uint16(2070), - 577: uint16(2085), - 578: uint16(2088), -} -var _yy_reduce_ofst = [411]int16{ - 0: int16(-int32(125)), - 1: int16(733), - 2: int16(789), - 3: int16(241), - 4: int16(293), - 5: int16(-int32(123)), - 6: int16(-int32(193)), - 7: int16(-int32(191)), - 8: int16(-int32(183)), - 9: int16(-int32(187)), - 10: int16(166), - 11: int16(238), - 12: int16(133), - 13: int16(-int32(207)), - 14: int16(-int32(199)), - 15: int16(-int32(267)), - 16: int16(-int32(176)), - 17: int16(-int32(6)), - 18: int16(204), - 19: int16(489), - 20: int16(576), - 21: int16(598), - 22: int16(-int32(175)), - 23: int16(686), - 24: int16(860), - 25: int16(615), - 26: int16(725), - 27: int16(1014), - 28: int16(778), - 29: int16(781), - 30: int16(857), - 31: int16(616), - 32: int16(887), - 33: int16(87), - 34: int16(240), - 35: int16(-int32(192)), - 36: int16(408), - 37: int16(626), - 38: int16(796), - 39: int16(843), - 40: int16(854), - 41: int16(1004), - 42: int16(-int32(271)), - 43: int16(-int32(271)), - 44: int16(-int32(271)), - 45: int16(-int32(271)), - 46: int16(-int32(271)), - 47: int16(-int32(271)), - 48: int16(-int32(271)), - 49: int16(-int32(271)), - 50: int16(-int32(271)), - 51: int16(-int32(271)), - 52: int16(-int32(271)), - 53: int16(-int32(271)), - 54: int16(-int32(271)), - 55: int16(-int32(271)), - 56: int16(-int32(271)), - 57: int16(-int32(271)), - 58: int16(-int32(271)), - 59: int16(-int32(271)), - 60: int16(-int32(271)), - 61: int16(-int32(271)), - 62: int16(-int32(271)), - 63: int16(-int32(271)), - 64: int16(-int32(271)), - 65: int16(-int32(271)), - 66: int16(-int32(271)), - 67: int16(-int32(271)), - 68: int16(-int32(271)), - 69: int16(-int32(271)), - 70: int16(-int32(271)), - 71: int16(-int32(271)), - 72: int16(-int32(271)), - 73: int16(-int32(271)), - 74: int16(-int32(271)), - 75: int16(-int32(271)), - 76: int16(-int32(271)), - 77: int16(-int32(271)), - 78: int16(-int32(271)), - 79: int16(80), - 80: int16(83), - 81: int16(313), - 82: int16(886), - 83: int16(888), - 84: int16(918), - 85: int16(938), - 86: int16(1021), - 87: int16(1034), - 88: int16(1036), - 89: int16(1141), - 90: int16(1159), - 91: int16(1163), - 92: int16(1166), - 93: int16(1168), - 94: int16(1170), - 95: int16(1176), - 96: int16(1178), - 97: int16(1180), - 98: int16(1184), - 99: int16(1196), - 100: int16(1198), - 101: int16(1205), - 102: int16(1215), - 103: int16(1225), - 104: int16(1227), - 105: int16(1236), - 106: int16(1252), - 107: int16(1254), - 108: int16(1264), - 109: int16(1303), - 110: int16(1309), - 111: int16(1312), - 112: int16(1322), - 113: int16(1325), - 114: int16(1328), - 115: int16(1337), - 116: int16(1340), - 117: int16(1343), - 118: int16(1353), - 119: int16(1371), - 120: int16(1373), - 121: int16(1384), - 122: int16(1386), - 123: int16(1411), - 124: int16(1413), - 125: int16(1420), - 126: int16(1424), - 127: int16(1426), - 128: int16(1458), - 129: int16(1470), - 130: int16(1473), - 131: int16(-int32(271)), - 132: int16(-int32(271)), - 133: int16(-int32(271)), - 134: int16(-int32(271)), - 135: int16(-int32(271)), - 136: int16(-int32(271)), - 137: int16(-int32(271)), - 138: int16(-int32(271)), - 139: int16(-int32(271)), - 140: int16(-int32(271)), - 141: int16(-int32(271)), - 142: int16(138), - 143: int16(459), - 144: int16(396), - 145: int16(-int32(158)), - 146: int16(470), - 147: int16(302), - 148: int16(-int32(212)), - 149: int16(521), - 150: int16(201), - 151: int16(-int32(195)), - 152: int16(-int32(92)), - 153: int16(559), - 154: int16(630), - 155: int16(632), - 156: int16(630), - 157: int16(-int32(271)), - 158: int16(632), - 159: int16(901), - 160: int16(63), - 161: int16(407), - 162: int16(670), - 163: int16(-int32(271)), - 164: int16(-int32(271)), - 165: int16(-int32(271)), - 166: int16(-int32(271)), - 167: int16(161), - 168: int16(161), - 169: int16(161), - 170: int16(251), - 171: int16(335), - 172: int16(847), - 173: int16(979), - 174: int16(1097), - 175: int16(537), - 176: int16(588), - 177: int16(618), - 178: int16(628), - 179: int16(688), - 180: int16(688), - 181: int16(-int32(166)), - 182: int16(-int32(161)), - 183: int16(674), - 184: int16(787), - 185: int16(794), - 186: int16(799), - 187: int16(852), - 188: int16(996), - 189: int16(-int32(122)), - 190: int16(837), - 191: int16(-int32(120)), - 192: int16(1018), - 193: int16(1035), - 194: int16(415), - 195: int16(1047), - 196: int16(1001), - 197: int16(958), - 198: int16(1082), - 199: int16(400), - 200: int16(1099), - 201: int16(779), - 202: int16(1137), - 203: int16(1142), - 204: int16(263), - 205: int16(1083), - 206: int16(1145), - 207: int16(1150), - 208: int16(1041), - 209: int16(1139), - 210: int16(965), - 211: int16(1050), - 212: int16(362), - 213: int16(849), - 214: int16(752), - 215: int16(629), - 216: int16(675), - 217: int16(1162), - 218: int16(1173), - 219: int16(1090), - 220: int16(1195), - 221: int16(-int32(194)), - 222: int16(56), - 223: int16(185), - 224: int16(-int32(135)), - 225: int16(232), - 226: int16(522), - 227: int16(560), - 228: int16(571), - 229: int16(601), - 230: int16(617), - 231: int16(669), - 232: int16(683), - 233: int16(711), - 234: int16(850), - 235: int16(893), - 236: int16(1000), - 237: int16(1040), - 238: int16(1049), - 239: int16(1081), - 240: int16(1087), - 241: int16(1101), - 242: int16(392), - 243: int16(1114), - 244: int16(1123), - 245: int16(1155), - 246: int16(1161), - 247: int16(1175), - 248: int16(1271), - 249: int16(1293), - 250: int16(1299), - 251: int16(1330), - 252: int16(1339), - 253: int16(1342), - 254: int16(1347), - 255: int16(593), - 256: int16(1282), - 257: int16(1286), - 258: int16(1350), - 259: int16(1359), - 260: int16(1368), - 261: int16(1314), - 262: int16(1480), - 263: int16(1483), - 264: int16(1507), - 265: int16(1085), - 266: int16(1338), - 267: int16(1526), - 268: int16(1527), - 269: int16(1487), - 270: int16(1531), - 271: int16(560), - 272: int16(1532), - 273: int16(1534), - 274: int16(1535), - 275: int16(1538), - 276: int16(1539), - 277: int16(1541), - 278: int16(1448), - 279: int16(1450), - 280: int16(1496), - 281: int16(1484), - 282: int16(1485), - 283: int16(1489), - 284: int16(1490), - 285: int16(1314), - 286: int16(1496), - 287: int16(1496), - 288: int16(1504), - 289: int16(1536), - 290: int16(1564), - 291: int16(1451), - 292: int16(1486), - 293: int16(1492), - 294: int16(1509), - 295: int16(1493), - 296: int16(1465), - 297: int16(1515), - 298: int16(1494), - 299: int16(1495), - 300: int16(1517), - 301: int16(1500), - 302: int16(1519), - 303: int16(1474), - 304: int16(1550), - 305: int16(1543), - 306: int16(1548), - 307: int16(1556), - 308: int16(1565), - 309: int16(1566), - 310: int16(1518), - 311: int16(1523), - 312: int16(1542), - 313: int16(1544), - 314: int16(1525), - 315: int16(1545), - 316: int16(1513), - 317: int16(1553), - 318: int16(1552), - 319: int16(1604), - 320: int16(1508), - 321: int16(1510), - 322: int16(1608), - 323: int16(1609), - 324: int16(1520), - 325: int16(1528), - 326: int16(1612), - 327: int16(1540), - 328: int16(1559), - 329: int16(1560), - 330: int16(1592), - 331: int16(1591), - 332: int16(1595), - 333: int16(1596), - 334: int16(1597), - 335: int16(1629), - 336: int16(1638), - 337: int16(1594), - 338: int16(1569), - 339: int16(1570), - 340: int16(1600), - 341: int16(1568), - 342: int16(1610), - 343: int16(1601), - 344: int16(1611), - 345: int16(1603), - 346: int16(1643), - 347: int16(1651), - 348: int16(1562), - 349: int16(1571), - 350: int16(1655), - 351: int16(1659), - 352: int16(1640), - 353: int16(1663), - 354: int16(1666), - 355: int16(1664), - 356: int16(1667), - 357: int16(1641), - 358: int16(1650), - 359: int16(1652), - 360: int16(1653), - 361: int16(1647), - 362: int16(1656), - 363: int16(1657), - 364: int16(1658), - 365: int16(1668), - 366: int16(1672), - 367: int16(1681), - 368: int16(1649), - 369: int16(1682), - 370: int16(1683), - 371: int16(1573), - 372: int16(1582), - 373: int16(1607), - 374: int16(1615), - 375: int16(1685), - 376: int16(1702), - 377: int16(1586), - 378: int16(1587), - 379: int16(1642), - 380: int16(1646), - 381: int16(1673), - 382: int16(1675), - 383: int16(1636), - 384: int16(1714), - 385: int16(1637), - 386: int16(1677), - 387: int16(1674), - 388: int16(1678), - 389: int16(1694), - 390: int16(1719), - 391: int16(1734), - 392: int16(1735), - 393: int16(1746), - 394: int16(1747), - 395: int16(1750), - 396: int16(1633), - 397: int16(1661), + 76: uint16(1093), + 77: uint16(1093), + 78: uint16(1093), + 79: uint16(1093), + 80: uint16(1093), + 81: uint16(1093), + 82: uint16(1093), + 83: uint16(1113), + 84: uint16(1093), + 85: uint16(1216), + 86: uint16(957), + 87: uint16(957), + 88: uint16(1523), + 89: uint16(1602), + 90: uint16(1674), + 91: uint16(1828), + 92: uint16(1828), + 93: uint16(1828), + 94: uint16(1828), + 95: uint16(1828), + 96: uint16(1828), + 97: uint16(1828), + 98: uint16(1828), + 99: uint16(1828), + 100: uint16(1828), + 101: uint16(1828), + 102: uint16(1828), + 103: uint16(1828), + 104: uint16(1828), + 105: uint16(1828), + 106: uint16(1828), + 107: uint16(1828), + 108: uint16(1828), + 109: uint16(1828), + 110: uint16(1828), + 111: uint16(1828), + 112: uint16(1828), + 113: uint16(1828), + 114: uint16(1828), + 115: uint16(1828), + 116: uint16(1828), + 117: uint16(1828), + 118: uint16(1828), + 119: uint16(1828), + 120: uint16(1828), + 121: uint16(1828), + 122: uint16(1828), + 123: uint16(1828), + 124: uint16(1828), + 125: uint16(1828), + 126: uint16(1828), + 127: uint16(1828), + 128: uint16(1828), + 129: uint16(1828), + 130: uint16(1828), + 131: uint16(1828), + 132: uint16(1828), + 133: uint16(1828), + 134: uint16(1828), + 135: uint16(1828), + 136: uint16(1828), + 137: uint16(1828), + 138: uint16(1828), + 139: uint16(1828), + 140: uint16(137), + 141: uint16(181), + 142: uint16(181), + 143: uint16(181), + 144: uint16(181), + 145: uint16(181), + 146: uint16(181), + 147: uint16(181), + 148: uint16(96), + 149: uint16(222), + 150: uint16(143), + 151: uint16(477), + 152: uint16(713), + 153: uint16(1133), + 154: uint16(1268), + 155: uint16(713), + 156: uint16(713), + 157: uint16(79), + 158: uint16(79), + 159: uint16(713), + 160: uint16(770), + 161: uint16(83), + 162: uint16(65), + 163: uint16(65), + 164: uint16(65), + 165: uint16(288), + 166: uint16(162), + 167: uint16(162), + 168: uint16(2142), + 169: uint16(2142), + 170: uint16(696), + 171: uint16(696), + 172: uint16(696), + 173: uint16(238), + 174: uint16(474), + 175: uint16(474), + 176: uint16(474), + 177: uint16(474), + 178: uint16(1217), + 179: uint16(1217), + 180: uint16(678), + 181: uint16(477), + 182: uint16(324), + 183: uint16(398), + 184: uint16(713), + 185: uint16(713), + 186: uint16(713), + 187: uint16(713), + 188: uint16(713), + 189: uint16(713), + 190: uint16(713), + 191: uint16(713), + 192: uint16(713), + 193: uint16(713), + 194: uint16(713), + 195: uint16(713), + 196: uint16(713), + 197: uint16(713), + 198: uint16(713), + 199: uint16(713), + 200: uint16(713), + 201: uint16(713), + 202: uint16(713), + 203: uint16(1220), + 204: uint16(366), + 205: uint16(366), + 206: uint16(713), + 207: uint16(917), + 208: uint16(283), + 209: uint16(283), + 210: uint16(434), + 211: uint16(434), + 212: uint16(605), + 213: uint16(605), + 214: uint16(1298), + 215: uint16(2142), + 216: uint16(2142), + 217: uint16(2142), + 218: uint16(2142), + 219: uint16(2142), + 220: uint16(2142), + 221: uint16(2142), + 222: uint16(1179), + 223: uint16(1157), + 224: uint16(1157), + 225: uint16(487), + 226: uint16(527), + 227: uint16(585), + 228: uint16(645), + 229: uint16(749), + 230: uint16(914), + 231: uint16(968), + 232: uint16(752), + 233: uint16(713), + 234: uint16(713), + 235: uint16(713), + 236: uint16(713), + 237: uint16(713), + 238: uint16(713), + 239: uint16(713), + 240: uint16(713), + 241: uint16(713), + 242: uint16(713), + 243: uint16(303), + 244: uint16(713), + 245: uint16(713), + 246: uint16(713), + 247: uint16(713), + 248: uint16(713), + 249: uint16(713), + 250: uint16(713), + 251: uint16(713), + 252: uint16(713), + 253: uint16(713), + 254: uint16(713), + 255: uint16(713), + 256: uint16(797), + 257: uint16(797), + 258: uint16(797), + 259: uint16(713), + 260: uint16(713), + 261: uint16(713), + 262: uint16(959), + 263: uint16(713), + 264: uint16(713), + 265: uint16(713), + 266: uint16(1169), + 267: uint16(1271), + 268: uint16(713), + 269: uint16(713), + 270: uint16(1330), + 271: uint16(713), + 272: uint16(713), + 273: uint16(713), + 274: uint16(713), + 275: uint16(713), + 276: uint16(713), + 277: uint16(713), + 278: uint16(713), + 279: uint16(629), + 280: uint16(7), + 281: uint16(91), + 282: uint16(876), + 283: uint16(876), + 284: uint16(876), + 285: uint16(876), + 286: uint16(953), + 287: uint16(91), + 288: uint16(91), + 289: uint16(1246), + 290: uint16(1065), + 291: uint16(1106), + 292: uint16(1374), + 293: uint16(1329), + 294: uint16(1348), + 295: uint16(468), + 296: uint16(1348), + 297: uint16(1394), + 298: uint16(785), + 299: uint16(1329), + 300: uint16(1329), + 301: uint16(785), + 302: uint16(1329), + 303: uint16(468), + 304: uint16(1394), + 305: uint16(859), + 306: uint16(854), + 307: uint16(1402), + 308: uint16(1449), + 309: uint16(1449), + 310: uint16(1449), + 311: uint16(1173), + 312: uint16(1173), + 313: uint16(1173), + 314: uint16(1173), + 315: uint16(1355), + 316: uint16(1355), + 317: uint16(1030), + 318: uint16(1341), + 319: uint16(405), + 320: uint16(1230), + 321: uint16(1795), + 322: uint16(1795), + 323: uint16(1711), + 324: uint16(1711), + 325: uint16(1829), + 326: uint16(1829), + 327: uint16(1711), + 328: uint16(1717), + 329: uint16(1719), + 330: uint16(1850), + 331: uint16(1833), + 332: uint16(1860), + 333: uint16(1860), + 334: uint16(1860), + 335: uint16(1860), + 336: uint16(1711), + 337: uint16(1868), + 338: uint16(1740), + 339: uint16(1719), + 340: uint16(1719), + 341: uint16(1740), + 342: uint16(1850), + 343: uint16(1833), + 344: uint16(1740), + 345: uint16(1833), + 346: uint16(1740), + 347: uint16(1711), + 348: uint16(1868), + 349: uint16(1745), + 350: uint16(1843), + 351: uint16(1711), + 352: uint16(1868), + 353: uint16(1887), + 354: uint16(1711), + 355: uint16(1868), + 356: uint16(1711), + 357: uint16(1868), + 358: uint16(1887), + 359: uint16(1801), + 360: uint16(1801), + 361: uint16(1801), + 362: uint16(1855), + 363: uint16(1900), + 364: uint16(1900), + 365: uint16(1887), + 366: uint16(1801), + 367: uint16(1797), + 368: uint16(1801), + 369: uint16(1855), + 370: uint16(1801), + 371: uint16(1801), + 372: uint16(1761), + 373: uint16(1912), + 374: uint16(1830), + 375: uint16(1830), + 376: uint16(1887), + 377: uint16(1711), + 378: uint16(1862), + 379: uint16(1862), + 380: uint16(1875), + 381: uint16(1875), + 382: uint16(1810), + 383: uint16(1815), + 384: uint16(1940), + 385: uint16(1711), + 386: uint16(1807), + 387: uint16(1810), + 388: uint16(1821), + 389: uint16(1823), + 390: uint16(1740), + 391: uint16(1945), + 392: uint16(1963), + 393: uint16(1963), + 394: uint16(1974), + 395: uint16(1974), + 396: uint16(1974), + 397: uint16(2142), + 398: uint16(2142), + 399: uint16(2142), + 400: uint16(2142), + 401: uint16(2142), + 402: uint16(2142), + 403: uint16(2142), + 404: uint16(2142), + 405: uint16(2142), + 406: uint16(2142), + 407: uint16(2142), + 408: uint16(2142), + 409: uint16(2142), + 410: uint16(2142), + 411: uint16(2142), + 412: uint16(20), + 413: uint16(1224), + 414: uint16(256), + 415: uint16(1111), + 416: uint16(1115), + 417: uint16(1114), + 418: uint16(1192), + 419: uint16(1496), + 420: uint16(1424), + 421: uint16(1505), + 422: uint16(1427), + 423: uint16(355), + 424: uint16(1383), + 425: uint16(1537), + 426: uint16(1506), + 427: uint16(1538), + 428: uint16(1553), + 429: uint16(1583), + 430: uint16(1584), + 431: uint16(1591), + 432: uint16(1625), + 433: uint16(541), + 434: uint16(1445), + 435: uint16(1562), + 436: uint16(1450), + 437: uint16(1572), + 438: uint16(1515), + 439: uint16(1428), + 440: uint16(1532), + 441: uint16(1592), + 442: uint16(1629), + 443: uint16(1520), + 444: uint16(1630), + 445: uint16(1639), + 446: uint16(1510), + 447: uint16(1544), + 448: uint16(1662), + 449: uint16(1675), + 450: uint16(1551), + 451: uint16(48), + 452: uint16(1996), + 453: uint16(2001), + 454: uint16(1983), + 455: uint16(1844), + 456: uint16(1993), + 457: uint16(1994), + 458: uint16(1986), + 459: uint16(1989), + 460: uint16(1874), + 461: uint16(1863), + 462: uint16(1885), + 463: uint16(1991), + 464: uint16(1991), + 465: uint16(1995), + 466: uint16(1876), + 467: uint16(1997), + 468: uint16(1877), + 469: uint16(2004), + 470: uint16(2021), + 471: uint16(1881), + 472: uint16(1894), + 473: uint16(1991), + 474: uint16(1895), + 475: uint16(1965), + 476: uint16(1990), + 477: uint16(1991), + 478: uint16(1878), + 479: uint16(1975), + 480: uint16(1977), + 481: uint16(1978), + 482: uint16(1979), + 483: uint16(1903), + 484: uint16(1918), + 485: uint16(2002), + 486: uint16(1896), + 487: uint16(2034), + 488: uint16(2033), + 489: uint16(2017), + 490: uint16(1925), + 491: uint16(1880), + 492: uint16(1976), + 493: uint16(2018), + 494: uint16(1980), + 495: uint16(1967), + 496: uint16(2005), + 497: uint16(1904), + 498: uint16(1932), + 499: uint16(2025), + 500: uint16(2030), + 501: uint16(2032), + 502: uint16(1921), + 503: uint16(1928), + 504: uint16(2035), + 505: uint16(1987), + 506: uint16(2036), + 507: uint16(2037), + 508: uint16(2038), + 509: uint16(2040), + 510: uint16(1988), + 511: uint16(2006), + 512: uint16(2039), + 513: uint16(1960), + 514: uint16(2041), + 515: uint16(2042), + 516: uint16(1999), + 517: uint16(2023), + 518: uint16(2044), + 519: uint16(2043), + 520: uint16(1919), + 521: uint16(2048), + 522: uint16(2049), + 523: uint16(2050), + 524: uint16(2046), + 525: uint16(2051), + 526: uint16(2053), + 527: uint16(1981), + 528: uint16(1935), + 529: uint16(2056), + 530: uint16(2057), + 531: uint16(1966), + 532: uint16(2047), + 533: uint16(2061), + 534: uint16(1941), + 535: uint16(2060), + 536: uint16(2052), + 537: uint16(2054), + 538: uint16(2055), + 539: uint16(2058), + 540: uint16(2003), + 541: uint16(2012), + 542: uint16(2007), + 543: uint16(2059), + 544: uint16(2015), + 545: uint16(2008), + 546: uint16(2062), + 547: uint16(2071), + 548: uint16(2073), + 549: uint16(2074), + 550: uint16(2072), + 551: uint16(2075), + 552: uint16(2065), + 553: uint16(1962), + 554: uint16(1964), + 555: uint16(2079), + 556: uint16(2060), + 557: uint16(2082), + 558: uint16(2084), + 559: uint16(2085), + 560: uint16(2087), + 561: uint16(2086), + 562: uint16(2089), + 563: uint16(2088), + 564: uint16(2091), + 565: uint16(2093), + 566: uint16(2099), + 567: uint16(2094), + 568: uint16(2095), + 569: uint16(2096), + 570: uint16(2097), + 571: uint16(2100), + 572: uint16(2101), + 573: uint16(2102), + 574: uint16(1998), + 575: uint16(1984), + 576: uint16(1985), + 577: uint16(2000), + 578: uint16(2103), + 579: uint16(2098), + 580: uint16(2109), + 581: uint16(2117), + 582: uint16(2128), +} +var _yy_reduce_ofst = [412]int16{ + 0: int16(-int32(71)), + 1: int16(194), + 2: int16(343), + 3: int16(835), + 4: int16(-int32(180)), + 5: int16(-int32(177)), + 6: int16(838), + 7: int16(-int32(194)), + 8: int16(-int32(188)), + 9: int16(-int32(185)), + 10: int16(-int32(183)), + 11: int16(82), + 12: int16(183), + 13: int16(-int32(65)), + 14: int16(133), + 15: int16(245), + 16: int16(346), + 17: int16(407), + 18: int16(458), + 19: int16(-int32(178)), + 20: int16(75), + 21: int16(-int32(275)), + 22: int16(-int32(4)), + 23: int16(310), + 24: int16(312), + 25: int16(489), + 26: int16(575), + 27: int16(596), + 28: int16(463), + 29: int16(686), + 30: int16(707), + 31: int16(725), + 32: int16(780), + 33: int16(1098), + 34: int16(856), + 35: int16(778), + 36: int16(1059), + 37: int16(1090), + 38: int16(708), + 39: int16(887), + 40: int16(86), + 41: int16(448), + 42: int16(980), + 43: int16(630), + 44: int16(680), + 45: int16(681), + 46: int16(684), + 47: int16(796), + 48: int16(801), + 49: int16(796), + 50: int16(801), + 51: int16(-int32(261)), + 52: int16(-int32(261)), + 53: int16(-int32(261)), + 54: int16(-int32(261)), + 55: int16(-int32(261)), + 56: int16(-int32(261)), + 57: int16(-int32(261)), + 58: int16(-int32(261)), + 59: int16(-int32(261)), + 60: int16(-int32(261)), + 61: int16(-int32(261)), + 62: int16(-int32(261)), + 63: int16(-int32(261)), + 64: int16(-int32(261)), + 65: int16(-int32(261)), + 66: int16(-int32(261)), + 67: int16(-int32(261)), + 68: int16(-int32(261)), + 69: int16(-int32(261)), + 70: int16(-int32(261)), + 71: int16(-int32(261)), + 72: int16(-int32(261)), + 73: int16(-int32(261)), + 74: int16(-int32(261)), + 75: int16(-int32(261)), + 76: int16(-int32(261)), + 77: int16(-int32(261)), + 78: int16(-int32(261)), + 79: int16(-int32(261)), + 80: int16(-int32(261)), + 81: int16(-int32(261)), + 82: int16(-int32(261)), + 83: int16(-int32(261)), + 84: int16(-int32(261)), + 85: int16(-int32(261)), + 86: int16(-int32(261)), + 87: int16(-int32(261)), + 88: int16(391), + 89: int16(886), + 90: int16(888), + 91: int16(1013), + 92: int16(1016), + 93: int16(1081), + 94: int16(1087), + 95: int16(1151), + 96: int16(1159), + 97: int16(1177), + 98: int16(1185), + 99: int16(1188), + 100: int16(1190), + 101: int16(1194), + 102: int16(1197), + 103: int16(1203), + 104: int16(1247), + 105: int16(1260), + 106: int16(1264), + 107: int16(1267), + 108: int16(1269), + 109: int16(1273), + 110: int16(1315), + 111: int16(1322), + 112: int16(1335), + 113: int16(1337), + 114: int16(1356), + 115: int16(1362), + 116: int16(1418), + 117: int16(1425), + 118: int16(1453), + 119: int16(1457), + 120: int16(1465), + 121: int16(1473), + 122: int16(1487), + 123: int16(1495), + 124: int16(1507), + 125: int16(1517), + 126: int16(1521), + 127: int16(1534), + 128: int16(1543), + 129: int16(1546), + 130: int16(1549), + 131: int16(1552), + 132: int16(1554), + 133: int16(1560), + 134: int16(1581), + 135: int16(1590), + 136: int16(1593), + 137: int16(1595), + 138: int16(1621), + 139: int16(1623), + 140: int16(-int32(261)), + 141: int16(-int32(261)), + 142: int16(-int32(261)), + 143: int16(-int32(261)), + 144: int16(-int32(261)), + 145: int16(-int32(261)), + 146: int16(-int32(261)), + 147: int16(-int32(261)), + 148: int16(-int32(261)), + 149: int16(-int32(261)), + 150: int16(-int32(261)), + 151: int16(-int32(186)), + 152: int16(-int32(117)), + 153: int16(260), + 154: int16(263), + 155: int16(460), + 156: int16(631), + 157: int16(-int32(74)), + 158: int16(497), + 159: int16(-int32(181)), + 160: int16(-int32(261)), + 161: int16(939), + 162: int16(176), + 163: int16(274), + 164: int16(338), + 165: int16(676), + 166: int16(-int32(261)), + 167: int16(-int32(261)), + 168: int16(-int32(261)), + 169: int16(-int32(261)), + 170: int16(-int32(212)), + 171: int16(-int32(212)), + 172: int16(-int32(212)), + 173: int16(-int32(184)), + 174: int16(149), + 175: int16(777), + 176: int16(1061), + 177: int16(1103), + 178: int16(265), + 179: int16(419), + 180: int16(-int32(254)), + 181: int16(670), + 182: int16(677), + 183: int16(677), + 184: int16(-int32(11)), + 185: int16(-int32(129)), + 186: int16(184), + 187: int16(488), + 188: int16(736), + 189: int16(789), + 190: int16(805), + 191: int16(844), + 192: int16(403), + 193: int16(529), + 194: int16(579), + 195: int16(668), + 196: int16(783), + 197: int16(841), + 198: int16(1158), + 199: int16(1112), + 200: int16(806), + 201: int16(861), + 202: int16(1095), + 203: int16(846), + 204: int16(839), + 205: int16(1031), + 206: int16(-int32(189)), + 207: int16(1077), + 208: int16(1080), + 209: int16(1116), + 210: int16(1084), + 211: int16(1156), + 212: int16(1139), + 213: int16(1221), + 214: int16(46), + 215: int16(1099), + 216: int16(1037), + 217: int16(1118), + 218: int16(1171), + 219: int16(1214), + 220: int16(1210), + 221: int16(1258), + 222: int16(-int32(210)), + 223: int16(-int32(190)), + 224: int16(-int32(176)), + 225: int16(-int32(115)), + 226: int16(117), + 227: int16(262), + 228: int16(376), + 229: int16(490), + 230: int16(511), + 231: int16(520), + 232: int16(618), + 233: int16(639), + 234: int16(743), + 235: int16(901), + 236: int16(907), + 237: int16(958), + 238: int16(1014), + 239: int16(1055), + 240: int16(1108), + 241: int16(1193), + 242: int16(1244), + 243: int16(720), + 244: int16(1248), + 245: int16(1277), + 246: int16(1324), + 247: int16(1347), + 248: int16(1417), + 249: int16(1431), + 250: int16(1432), + 251: int16(1440), + 252: int16(1451), + 253: int16(1452), + 254: int16(1463), + 255: int16(1478), + 256: int16(1286), + 257: int16(1350), + 258: int16(1369), + 259: int16(1490), + 260: int16(1498), + 261: int16(1501), + 262: int16(773), + 263: int16(1509), + 264: int16(1513), + 265: int16(1528), + 266: int16(1292), + 267: int16(1367), + 268: int16(1535), + 269: int16(1536), + 270: int16(1477), + 271: int16(1542), + 272: int16(376), + 273: int16(1547), + 274: int16(1550), + 275: int16(1555), + 276: int16(1559), + 277: int16(1568), + 278: int16(1571), + 279: int16(1441), + 280: int16(1443), + 281: int16(1474), + 282: int16(1511), + 283: int16(1516), + 284: int16(1519), + 285: int16(1522), + 286: int16(773), + 287: int16(1474), + 288: int16(1474), + 289: int16(1503), + 290: int16(1567), + 291: int16(1594), + 292: int16(1484), + 293: int16(1527), + 294: int16(1556), + 295: int16(1570), + 296: int16(1557), + 297: int16(1524), + 298: int16(1573), + 299: int16(1545), + 300: int16(1548), + 301: int16(1576), + 302: int16(1561), + 303: int16(1587), + 304: int16(1540), + 305: int16(1575), + 306: int16(1606), + 307: int16(1611), + 308: int16(1622), + 309: int16(1624), + 310: int16(1626), + 311: int16(1582), + 312: int16(1597), + 313: int16(1598), + 314: int16(1599), + 315: int16(1601), + 316: int16(1603), + 317: int16(1563), + 318: int16(1608), + 319: int16(1605), + 320: int16(1604), + 321: int16(1564), + 322: int16(1566), + 323: int16(1655), + 324: int16(1660), + 325: int16(1578), + 326: int16(1579), + 327: int16(1665), + 328: int16(1586), + 329: int16(1607), + 330: int16(1610), + 331: int16(1642), + 332: int16(1641), + 333: int16(1645), + 334: int16(1646), + 335: int16(1647), + 336: int16(1679), + 337: int16(1688), + 338: int16(1644), + 339: int16(1618), + 340: int16(1619), + 341: int16(1648), + 342: int16(1628), + 343: int16(1659), + 344: int16(1649), + 345: int16(1663), + 346: int16(1650), + 347: int16(1700), + 348: int16(1702), + 349: int16(1612), + 350: int16(1615), + 351: int16(1706), + 352: int16(1708), + 353: int16(1689), + 354: int16(1709), + 355: int16(1712), + 356: int16(1713), + 357: int16(1715), + 358: int16(1691), + 359: int16(1698), + 360: int16(1699), + 361: int16(1701), + 362: int16(1693), + 363: int16(1704), + 364: int16(1707), + 365: int16(1705), + 366: int16(1714), + 367: int16(1703), + 368: int16(1718), + 369: int16(1710), + 370: int16(1720), + 371: int16(1721), + 372: int16(1632), + 373: int16(1634), + 374: int16(1664), + 375: int16(1666), + 376: int16(1729), + 377: int16(1751), + 378: int16(1635), + 379: int16(1636), + 380: int16(1692), + 381: int16(1694), + 382: int16(1716), + 383: int16(1722), + 384: int16(1684), + 385: int16(1763), + 386: int16(1685), + 387: int16(1723), + 388: int16(1724), + 389: int16(1727), + 390: int16(1730), + 391: int16(1768), + 392: int16(1783), + 393: int16(1784), + 394: int16(1793), + 395: int16(1794), + 396: int16(1796), + 397: int16(1683), 398: int16(1686), - 399: int16(1738), - 400: int16(1728), - 401: int16(1733), - 402: int16(1736), - 403: int16(1737), - 404: int16(1740), - 405: int16(1726), - 406: int16(1730), - 407: int16(1742), - 408: int16(1743), - 409: int16(1748), - 410: int16(1753), -} -var _yy_default = [579]uint16{ - 0: uint16(1648), - 1: uint16(1648), - 2: uint16(1648), - 3: uint16(1478), - 4: uint16(1243), - 5: uint16(1354), - 6: uint16(1243), - 7: uint16(1243), - 8: uint16(1243), - 9: uint16(1478), - 10: uint16(1478), - 11: uint16(1478), - 12: uint16(1243), - 13: uint16(1384), - 14: uint16(1384), - 15: uint16(1531), - 16: uint16(1276), - 17: uint16(1243), - 18: uint16(1243), - 19: uint16(1243), - 20: uint16(1243), - 21: uint16(1243), - 22: uint16(1243), - 23: uint16(1243), - 24: uint16(1243), - 25: uint16(1243), - 26: uint16(1243), - 27: uint16(1243), - 28: uint16(1477), - 29: uint16(1243), - 30: uint16(1243), - 31: uint16(1243), - 32: uint16(1243), - 33: uint16(1564), - 34: uint16(1564), - 35: uint16(1243), - 36: uint16(1243), - 37: uint16(1243), - 38: uint16(1243), - 39: uint16(1243), - 40: uint16(1243), - 41: uint16(1243), - 42: uint16(1243), - 43: uint16(1393), - 44: uint16(1243), - 45: uint16(1400), - 46: uint16(1243), - 47: uint16(1243), - 48: uint16(1243), - 49: uint16(1243), - 50: uint16(1243), - 51: uint16(1479), - 52: uint16(1480), - 53: uint16(1243), - 54: uint16(1243), - 55: uint16(1243), - 56: uint16(1530), - 57: uint16(1532), - 58: uint16(1495), - 59: uint16(1407), - 60: uint16(1406), - 61: uint16(1405), - 62: uint16(1404), - 63: uint16(1513), - 64: uint16(1372), - 65: uint16(1398), - 66: uint16(1391), - 67: uint16(1395), - 68: uint16(1474), - 69: uint16(1475), - 70: uint16(1473), - 71: uint16(1626), - 72: uint16(1480), - 73: uint16(1479), - 74: uint16(1243), - 75: uint16(1394), - 76: uint16(1442), - 77: uint16(1458), - 78: uint16(1441), - 79: uint16(1243), - 80: uint16(1243), - 81: uint16(1243), - 82: uint16(1243), - 83: uint16(1243), - 84: uint16(1243), - 85: uint16(1243), - 86: uint16(1243), - 87: uint16(1243), - 88: uint16(1243), - 89: uint16(1243), - 90: uint16(1243), - 91: uint16(1243), - 92: uint16(1243), - 93: uint16(1243), - 94: uint16(1243), - 95: uint16(1243), - 96: uint16(1243), - 97: uint16(1243), - 98: uint16(1243), - 99: uint16(1243), - 100: uint16(1243), - 101: uint16(1243), - 102: uint16(1243), - 103: uint16(1243), - 104: uint16(1243), - 105: uint16(1243), - 106: uint16(1243), - 107: uint16(1243), - 108: uint16(1243), - 109: uint16(1243), - 110: uint16(1243), - 111: uint16(1243), - 112: uint16(1243), - 113: uint16(1243), - 114: uint16(1243), - 115: uint16(1243), - 116: uint16(1243), - 117: uint16(1243), - 118: uint16(1243), - 119: uint16(1243), - 120: uint16(1243), - 121: uint16(1243), - 122: uint16(1243), - 123: uint16(1243), - 124: uint16(1243), - 125: uint16(1243), - 126: uint16(1243), - 127: uint16(1243), - 128: uint16(1243), - 129: uint16(1243), - 130: uint16(1243), - 131: uint16(1450), - 132: uint16(1457), - 133: uint16(1456), - 134: uint16(1455), - 135: uint16(1464), - 136: uint16(1454), - 137: uint16(1451), - 138: uint16(1444), - 139: uint16(1443), - 140: uint16(1445), - 141: uint16(1446), - 142: uint16(1243), - 143: uint16(1243), - 144: uint16(1267), - 145: uint16(1243), - 146: uint16(1243), - 147: uint16(1264), - 148: uint16(1318), - 149: uint16(1243), - 150: uint16(1243), - 151: uint16(1243), - 152: uint16(1243), - 153: uint16(1243), - 154: uint16(1550), - 155: uint16(1549), - 156: uint16(1243), - 157: uint16(1447), - 158: uint16(1243), - 159: uint16(1276), - 160: uint16(1435), - 161: uint16(1434), - 162: uint16(1433), - 163: uint16(1461), - 164: uint16(1448), - 165: uint16(1460), - 166: uint16(1459), - 167: uint16(1538), - 168: uint16(1600), - 169: uint16(1599), - 170: uint16(1496), - 171: uint16(1243), - 172: uint16(1243), - 173: uint16(1243), - 174: uint16(1243), - 175: uint16(1243), - 176: uint16(1243), - 177: uint16(1564), - 178: uint16(1243), - 179: uint16(1243), - 180: uint16(1243), - 181: uint16(1243), - 182: uint16(1243), - 183: uint16(1243), - 184: uint16(1243), - 185: uint16(1243), - 186: uint16(1243), - 187: uint16(1243), - 188: uint16(1243), - 189: uint16(1243), - 190: uint16(1243), - 191: uint16(1243), - 192: uint16(1243), - 193: uint16(1243), - 194: uint16(1243), - 195: uint16(1243), - 196: uint16(1243), - 197: uint16(1243), - 198: uint16(1243), - 199: uint16(1243), - 200: uint16(1243), - 201: uint16(1374), - 202: uint16(1564), - 203: uint16(1564), - 204: uint16(1243), - 205: uint16(1276), - 206: uint16(1564), - 207: uint16(1564), - 208: uint16(1375), - 209: uint16(1375), - 210: uint16(1272), - 211: uint16(1272), - 212: uint16(1378), - 213: uint16(1243), - 214: uint16(1545), - 215: uint16(1345), - 216: uint16(1345), - 217: uint16(1345), - 218: uint16(1345), - 219: uint16(1354), - 220: uint16(1345), - 221: uint16(1243), - 222: uint16(1243), - 223: uint16(1243), - 224: uint16(1243), - 225: uint16(1243), - 226: uint16(1243), - 227: uint16(1243), - 228: uint16(1243), - 229: uint16(1243), - 230: uint16(1243), - 231: uint16(1243), - 232: uint16(1243), - 233: uint16(1243), - 234: uint16(1243), - 235: uint16(1243), - 236: uint16(1535), - 237: uint16(1533), - 238: uint16(1243), - 239: uint16(1243), - 240: uint16(1243), - 241: uint16(1243), - 242: uint16(1243), - 243: uint16(1243), - 244: uint16(1243), - 245: uint16(1243), - 246: uint16(1243), - 247: uint16(1243), - 248: uint16(1243), - 249: uint16(1243), - 250: uint16(1243), - 251: uint16(1243), - 252: uint16(1243), - 253: uint16(1243), - 254: uint16(1243), - 255: uint16(1243), - 256: uint16(1243), - 257: uint16(1243), - 258: uint16(1243), - 259: uint16(1243), - 260: uint16(1243), - 261: uint16(1243), - 262: uint16(1243), - 263: uint16(1243), - 264: uint16(1243), - 265: uint16(1350), - 266: uint16(1243), - 267: uint16(1243), - 268: uint16(1243), - 269: uint16(1243), - 270: uint16(1243), - 271: uint16(1243), - 272: uint16(1243), - 273: uint16(1243), - 274: uint16(1243), - 275: uint16(1243), - 276: uint16(1243), - 277: uint16(1593), - 278: uint16(1243), - 279: uint16(1508), - 280: uint16(1332), - 281: uint16(1350), - 282: uint16(1350), - 283: uint16(1350), - 284: uint16(1350), - 285: uint16(1352), - 286: uint16(1333), - 287: uint16(1331), - 288: uint16(1344), - 289: uint16(1277), - 290: uint16(1250), - 291: uint16(1640), - 292: uint16(1410), - 293: uint16(1399), - 294: uint16(1351), - 295: uint16(1399), - 296: uint16(1637), - 297: uint16(1397), + 399: int16(1690), + 400: int16(1782), + 401: int16(1779), + 402: int16(1780), + 403: int16(1781), + 404: int16(1785), + 405: int16(1788), + 406: int16(1774), + 407: int16(1775), + 408: int16(1786), + 409: int16(1787), + 410: int16(1789), + 411: int16(1798), +} +var _yy_default = [583]uint16{ + 0: uint16(1663), + 1: uint16(1663), + 2: uint16(1663), + 3: uint16(1491), + 4: uint16(1254), + 5: uint16(1367), + 6: uint16(1254), + 7: uint16(1254), + 8: uint16(1254), + 9: uint16(1254), + 10: uint16(1491), + 11: uint16(1491), + 12: uint16(1491), + 13: uint16(1254), + 14: uint16(1254), + 15: uint16(1254), + 16: uint16(1254), + 17: uint16(1254), + 18: uint16(1254), + 19: uint16(1397), + 20: uint16(1397), + 21: uint16(1544), + 22: uint16(1287), + 23: uint16(1254), + 24: uint16(1254), + 25: uint16(1254), + 26: uint16(1254), + 27: uint16(1254), + 28: uint16(1254), + 29: uint16(1254), + 30: uint16(1254), + 31: uint16(1254), + 32: uint16(1254), + 33: uint16(1254), + 34: uint16(1254), + 35: uint16(1490), + 36: uint16(1254), + 37: uint16(1254), + 38: uint16(1254), + 39: uint16(1254), + 40: uint16(1578), + 41: uint16(1578), + 42: uint16(1254), + 43: uint16(1254), + 44: uint16(1254), + 45: uint16(1254), + 46: uint16(1254), + 47: uint16(1563), + 48: uint16(1562), + 49: uint16(1254), + 50: uint16(1254), + 51: uint16(1254), + 52: uint16(1406), + 53: uint16(1254), + 54: uint16(1413), + 55: uint16(1254), + 56: uint16(1254), + 57: uint16(1254), + 58: uint16(1254), + 59: uint16(1254), + 60: uint16(1492), + 61: uint16(1493), + 62: uint16(1254), + 63: uint16(1254), + 64: uint16(1254), + 65: uint16(1543), + 66: uint16(1545), + 67: uint16(1508), + 68: uint16(1420), + 69: uint16(1419), + 70: uint16(1418), + 71: uint16(1417), + 72: uint16(1526), + 73: uint16(1385), + 74: uint16(1411), + 75: uint16(1404), + 76: uint16(1408), + 77: uint16(1487), + 78: uint16(1488), + 79: uint16(1486), + 80: uint16(1641), + 81: uint16(1493), + 82: uint16(1492), + 83: uint16(1254), + 84: uint16(1407), + 85: uint16(1455), + 86: uint16(1471), + 87: uint16(1454), + 88: uint16(1254), + 89: uint16(1254), + 90: uint16(1254), + 91: uint16(1254), + 92: uint16(1254), + 93: uint16(1254), + 94: uint16(1254), + 95: uint16(1254), + 96: uint16(1254), + 97: uint16(1254), + 98: uint16(1254), + 99: uint16(1254), + 100: uint16(1254), + 101: uint16(1254), + 102: uint16(1254), + 103: uint16(1254), + 104: uint16(1254), + 105: uint16(1254), + 106: uint16(1254), + 107: uint16(1254), + 108: uint16(1254), + 109: uint16(1254), + 110: uint16(1254), + 111: uint16(1254), + 112: uint16(1254), + 113: uint16(1254), + 114: uint16(1254), + 115: uint16(1254), + 116: uint16(1254), + 117: uint16(1254), + 118: uint16(1254), + 119: uint16(1254), + 120: uint16(1254), + 121: uint16(1254), + 122: uint16(1254), + 123: uint16(1254), + 124: uint16(1254), + 125: uint16(1254), + 126: uint16(1254), + 127: uint16(1254), + 128: uint16(1254), + 129: uint16(1254), + 130: uint16(1254), + 131: uint16(1254), + 132: uint16(1254), + 133: uint16(1254), + 134: uint16(1254), + 135: uint16(1254), + 136: uint16(1254), + 137: uint16(1254), + 138: uint16(1254), + 139: uint16(1254), + 140: uint16(1463), + 141: uint16(1470), + 142: uint16(1469), + 143: uint16(1468), + 144: uint16(1477), + 145: uint16(1467), + 146: uint16(1464), + 147: uint16(1457), + 148: uint16(1456), + 149: uint16(1458), + 150: uint16(1459), + 151: uint16(1278), + 152: uint16(1254), + 153: uint16(1275), + 154: uint16(1329), + 155: uint16(1254), + 156: uint16(1254), + 157: uint16(1254), + 158: uint16(1254), + 159: uint16(1254), + 160: uint16(1460), + 161: uint16(1287), + 162: uint16(1448), + 163: uint16(1447), + 164: uint16(1446), + 165: uint16(1254), + 166: uint16(1474), + 167: uint16(1461), + 168: uint16(1473), + 169: uint16(1472), + 170: uint16(1551), + 171: uint16(1615), + 172: uint16(1614), + 173: uint16(1509), + 174: uint16(1254), + 175: uint16(1254), + 176: uint16(1254), + 177: uint16(1254), + 178: uint16(1254), + 179: uint16(1254), + 180: uint16(1578), + 181: uint16(1254), + 182: uint16(1254), + 183: uint16(1254), + 184: uint16(1254), + 185: uint16(1254), + 186: uint16(1254), + 187: uint16(1254), + 188: uint16(1254), + 189: uint16(1254), + 190: uint16(1254), + 191: uint16(1254), + 192: uint16(1254), + 193: uint16(1254), + 194: uint16(1254), + 195: uint16(1254), + 196: uint16(1254), + 197: uint16(1254), + 198: uint16(1254), + 199: uint16(1254), + 200: uint16(1254), + 201: uint16(1254), + 202: uint16(1254), + 203: uint16(1387), + 204: uint16(1578), + 205: uint16(1578), + 206: uint16(1254), + 207: uint16(1287), + 208: uint16(1578), + 209: uint16(1578), + 210: uint16(1388), + 211: uint16(1388), + 212: uint16(1283), + 213: uint16(1283), + 214: uint16(1391), + 215: uint16(1558), + 216: uint16(1358), + 217: uint16(1358), + 218: uint16(1358), + 219: uint16(1358), + 220: uint16(1367), + 221: uint16(1358), + 222: uint16(1254), + 223: uint16(1254), + 224: uint16(1254), + 225: uint16(1254), + 226: uint16(1254), + 227: uint16(1254), + 228: uint16(1254), + 229: uint16(1254), + 230: uint16(1254), + 231: uint16(1254), + 232: uint16(1254), + 233: uint16(1254), + 234: uint16(1254), + 235: uint16(1254), + 236: uint16(1254), + 237: uint16(1548), + 238: uint16(1546), + 239: uint16(1254), + 240: uint16(1254), + 241: uint16(1254), + 242: uint16(1254), + 243: uint16(1254), + 244: uint16(1254), + 245: uint16(1254), + 246: uint16(1254), + 247: uint16(1254), + 248: uint16(1254), + 249: uint16(1254), + 250: uint16(1254), + 251: uint16(1254), + 252: uint16(1254), + 253: uint16(1254), + 254: uint16(1254), + 255: uint16(1254), + 256: uint16(1254), + 257: uint16(1254), + 258: uint16(1254), + 259: uint16(1254), + 260: uint16(1254), + 261: uint16(1254), + 262: uint16(1254), + 263: uint16(1254), + 264: uint16(1254), + 265: uint16(1254), + 266: uint16(1363), + 267: uint16(1254), + 268: uint16(1254), + 269: uint16(1254), + 270: uint16(1254), + 271: uint16(1254), + 272: uint16(1254), + 273: uint16(1254), + 274: uint16(1254), + 275: uint16(1254), + 276: uint16(1254), + 277: uint16(1254), + 278: uint16(1608), + 279: uint16(1254), + 280: uint16(1521), + 281: uint16(1343), + 282: uint16(1363), + 283: uint16(1363), + 284: uint16(1363), + 285: uint16(1363), + 286: uint16(1365), + 287: uint16(1344), + 288: uint16(1342), + 289: uint16(1357), + 290: uint16(1288), + 291: uint16(1261), + 292: uint16(1655), + 293: uint16(1423), + 294: uint16(1412), + 295: uint16(1364), + 296: uint16(1412), + 297: uint16(1652), 298: uint16(1410), - 299: uint16(1410), - 300: uint16(1397), + 299: uint16(1423), + 300: uint16(1423), 301: uint16(1410), - 302: uint16(1351), - 303: uint16(1637), - 304: uint16(1293), - 305: uint16(1615), - 306: uint16(1288), - 307: uint16(1384), - 308: uint16(1384), - 309: uint16(1384), - 310: uint16(1374), - 311: uint16(1374), - 312: uint16(1374), - 313: uint16(1374), - 314: uint16(1378), - 315: uint16(1378), - 316: uint16(1476), - 317: uint16(1351), - 318: uint16(1344), - 319: uint16(1243), - 320: uint16(1640), - 321: uint16(1640), - 322: uint16(1360), - 323: uint16(1360), - 324: uint16(1639), - 325: uint16(1639), - 326: uint16(1360), - 327: uint16(1496), - 328: uint16(1623), - 329: uint16(1419), - 330: uint16(1321), - 331: uint16(1327), - 332: uint16(1327), - 333: uint16(1327), - 334: uint16(1327), - 335: uint16(1360), - 336: uint16(1261), - 337: uint16(1397), - 338: uint16(1623), - 339: uint16(1623), - 340: uint16(1397), - 341: uint16(1419), - 342: uint16(1321), - 343: uint16(1397), - 344: uint16(1321), - 345: uint16(1397), - 346: uint16(1360), - 347: uint16(1261), - 348: uint16(1512), - 349: uint16(1634), - 350: uint16(1360), - 351: uint16(1261), - 352: uint16(1486), - 353: uint16(1360), - 354: uint16(1261), - 355: uint16(1360), - 356: uint16(1261), - 357: uint16(1486), - 358: uint16(1319), - 359: uint16(1319), - 360: uint16(1319), - 361: uint16(1308), - 362: uint16(1243), - 363: uint16(1243), - 364: uint16(1486), - 365: uint16(1319), - 366: uint16(1293), - 367: uint16(1319), - 368: uint16(1308), + 302: uint16(1423), + 303: uint16(1364), + 304: uint16(1652), + 305: uint16(1304), + 306: uint16(1630), + 307: uint16(1299), + 308: uint16(1397), + 309: uint16(1397), + 310: uint16(1397), + 311: uint16(1387), + 312: uint16(1387), + 313: uint16(1387), + 314: uint16(1387), + 315: uint16(1391), + 316: uint16(1391), + 317: uint16(1489), + 318: uint16(1364), + 319: uint16(1357), + 320: uint16(1254), + 321: uint16(1655), + 322: uint16(1655), + 323: uint16(1373), + 324: uint16(1373), + 325: uint16(1654), + 326: uint16(1654), + 327: uint16(1373), + 328: uint16(1509), + 329: uint16(1638), + 330: uint16(1432), + 331: uint16(1332), + 332: uint16(1338), + 333: uint16(1338), + 334: uint16(1338), + 335: uint16(1338), + 336: uint16(1373), + 337: uint16(1272), + 338: uint16(1410), + 339: uint16(1638), + 340: uint16(1638), + 341: uint16(1410), + 342: uint16(1432), + 343: uint16(1332), + 344: uint16(1410), + 345: uint16(1332), + 346: uint16(1410), + 347: uint16(1373), + 348: uint16(1272), + 349: uint16(1525), + 350: uint16(1649), + 351: uint16(1373), + 352: uint16(1272), + 353: uint16(1499), + 354: uint16(1373), + 355: uint16(1272), + 356: uint16(1373), + 357: uint16(1272), + 358: uint16(1499), + 359: uint16(1330), + 360: uint16(1330), + 361: uint16(1330), + 362: uint16(1319), + 363: uint16(1254), + 364: uint16(1254), + 365: uint16(1499), + 366: uint16(1330), + 367: uint16(1304), + 368: uint16(1330), 369: uint16(1319), - 370: uint16(1319), - 371: uint16(1582), - 372: uint16(1243), - 373: uint16(1490), - 374: uint16(1490), - 375: uint16(1486), - 376: uint16(1360), - 377: uint16(1574), - 378: uint16(1574), - 379: uint16(1387), - 380: uint16(1387), - 381: uint16(1392), - 382: uint16(1378), - 383: uint16(1481), - 384: uint16(1360), - 385: uint16(1243), - 386: uint16(1392), - 387: uint16(1390), - 388: uint16(1388), - 389: uint16(1397), - 390: uint16(1311), - 391: uint16(1596), - 392: uint16(1596), - 393: uint16(1592), - 394: uint16(1592), - 395: uint16(1592), - 396: uint16(1645), - 397: uint16(1645), - 398: uint16(1545), - 399: uint16(1608), - 400: uint16(1276), - 401: uint16(1276), - 402: uint16(1276), - 403: uint16(1276), - 404: uint16(1608), - 405: uint16(1295), - 406: uint16(1295), - 407: uint16(1277), - 408: uint16(1277), - 409: uint16(1276), - 410: uint16(1608), - 411: uint16(1243), - 412: uint16(1243), - 413: uint16(1243), - 414: uint16(1243), - 415: uint16(1243), - 416: uint16(1243), - 417: uint16(1603), - 418: uint16(1243), - 419: uint16(1540), - 420: uint16(1497), - 421: uint16(1364), - 422: uint16(1243), - 423: uint16(1243), - 424: uint16(1243), - 425: uint16(1243), - 426: uint16(1243), - 427: uint16(1243), - 428: uint16(1243), - 429: uint16(1243), - 430: uint16(1243), - 431: uint16(1243), - 432: uint16(1243), - 433: uint16(1243), - 434: uint16(1243), - 435: uint16(1243), - 436: uint16(1243), - 437: uint16(1243), - 438: uint16(1551), - 439: uint16(1243), - 440: uint16(1243), - 441: uint16(1243), - 442: uint16(1243), - 443: uint16(1243), - 444: uint16(1243), - 445: uint16(1243), - 446: uint16(1243), - 447: uint16(1243), - 448: uint16(1243), - 449: uint16(1424), - 450: uint16(1243), - 451: uint16(1246), - 452: uint16(1542), - 453: uint16(1243), - 454: uint16(1243), - 455: uint16(1243), - 456: uint16(1243), - 457: uint16(1243), - 458: uint16(1243), - 459: uint16(1243), - 460: uint16(1243), - 461: uint16(1401), - 462: uint16(1402), - 463: uint16(1365), - 464: uint16(1243), - 465: uint16(1243), - 466: uint16(1243), - 467: uint16(1243), - 468: uint16(1243), - 469: uint16(1243), - 470: uint16(1243), - 471: uint16(1416), - 472: uint16(1243), - 473: uint16(1243), - 474: uint16(1243), - 475: uint16(1411), - 476: uint16(1243), - 477: uint16(1243), - 478: uint16(1243), - 479: uint16(1243), - 480: uint16(1243), - 481: uint16(1243), - 482: uint16(1243), - 483: uint16(1243), - 484: uint16(1636), - 485: uint16(1243), - 486: uint16(1243), - 487: uint16(1243), - 488: uint16(1243), - 489: uint16(1243), - 490: uint16(1243), - 491: uint16(1511), - 492: uint16(1510), - 493: uint16(1243), - 494: uint16(1243), - 495: uint16(1362), - 496: uint16(1243), - 497: uint16(1243), - 498: uint16(1243), - 499: uint16(1243), - 500: uint16(1243), - 501: uint16(1243), - 502: uint16(1243), - 503: uint16(1243), - 504: uint16(1243), - 505: uint16(1243), - 506: uint16(1243), - 507: uint16(1243), - 508: uint16(1243), - 509: uint16(1291), - 510: uint16(1243), - 511: uint16(1243), - 512: uint16(1243), - 513: uint16(1243), - 514: uint16(1243), - 515: uint16(1243), - 516: uint16(1243), - 517: uint16(1243), - 518: uint16(1243), - 519: uint16(1243), - 520: uint16(1243), - 521: uint16(1243), - 522: uint16(1243), - 523: uint16(1243), - 524: uint16(1243), - 525: uint16(1243), - 526: uint16(1243), - 527: uint16(1243), - 528: uint16(1243), - 529: uint16(1243), - 530: uint16(1243), - 531: uint16(1243), - 532: uint16(1243), - 533: uint16(1389), - 534: uint16(1243), - 535: uint16(1243), - 536: uint16(1243), - 537: uint16(1243), - 538: uint16(1243), - 539: uint16(1243), - 540: uint16(1243), - 541: uint16(1243), - 542: uint16(1243), - 543: uint16(1243), - 544: uint16(1243), - 545: uint16(1243), - 546: uint16(1243), - 547: uint16(1243), - 548: uint16(1579), - 549: uint16(1379), - 550: uint16(1243), - 551: uint16(1243), - 552: uint16(1243), - 553: uint16(1243), - 554: uint16(1627), - 555: uint16(1243), - 556: uint16(1243), - 557: uint16(1243), - 558: uint16(1243), - 559: uint16(1243), - 560: uint16(1243), - 561: uint16(1243), - 562: uint16(1243), - 563: uint16(1243), - 564: uint16(1243), - 565: uint16(1243), - 566: uint16(1243), - 567: uint16(1243), - 568: uint16(1243), - 569: uint16(1619), - 570: uint16(1335), - 571: uint16(1425), - 572: uint16(1243), - 573: uint16(1428), - 574: uint16(1265), - 575: uint16(1243), - 576: uint16(1255), - 577: uint16(1243), - 578: uint16(1243), + 370: uint16(1330), + 371: uint16(1330), + 372: uint16(1596), + 373: uint16(1254), + 374: uint16(1503), + 375: uint16(1503), + 376: uint16(1499), + 377: uint16(1373), + 378: uint16(1588), + 379: uint16(1588), + 380: uint16(1400), + 381: uint16(1400), + 382: uint16(1405), + 383: uint16(1391), + 384: uint16(1494), + 385: uint16(1373), + 386: uint16(1254), + 387: uint16(1405), + 388: uint16(1403), + 389: uint16(1401), + 390: uint16(1410), + 391: uint16(1322), + 392: uint16(1611), + 393: uint16(1611), + 394: uint16(1607), + 395: uint16(1607), + 396: uint16(1607), + 397: uint16(1660), + 398: uint16(1660), + 399: uint16(1558), + 400: uint16(1623), + 401: uint16(1287), + 402: uint16(1287), + 403: uint16(1287), + 404: uint16(1287), + 405: uint16(1623), + 406: uint16(1306), + 407: uint16(1306), + 408: uint16(1288), + 409: uint16(1288), + 410: uint16(1287), + 411: uint16(1623), + 412: uint16(1254), + 413: uint16(1254), + 414: uint16(1254), + 415: uint16(1254), + 416: uint16(1254), + 417: uint16(1254), + 418: uint16(1618), + 419: uint16(1254), + 420: uint16(1553), + 421: uint16(1510), + 422: uint16(1377), + 423: uint16(1254), + 424: uint16(1254), + 425: uint16(1254), + 426: uint16(1254), + 427: uint16(1254), + 428: uint16(1254), + 429: uint16(1254), + 430: uint16(1254), + 431: uint16(1254), + 432: uint16(1254), + 433: uint16(1254), + 434: uint16(1254), + 435: uint16(1254), + 436: uint16(1254), + 437: uint16(1254), + 438: uint16(1254), + 439: uint16(1564), + 440: uint16(1254), + 441: uint16(1254), + 442: uint16(1254), + 443: uint16(1254), + 444: uint16(1254), + 445: uint16(1254), + 446: uint16(1254), + 447: uint16(1254), + 448: uint16(1254), + 449: uint16(1254), + 450: uint16(1254), + 451: uint16(1437), + 452: uint16(1254), + 453: uint16(1257), + 454: uint16(1555), + 455: uint16(1254), + 456: uint16(1254), + 457: uint16(1254), + 458: uint16(1254), + 459: uint16(1254), + 460: uint16(1254), + 461: uint16(1254), + 462: uint16(1254), + 463: uint16(1414), + 464: uint16(1415), + 465: uint16(1378), + 466: uint16(1254), + 467: uint16(1254), + 468: uint16(1254), + 469: uint16(1254), + 470: uint16(1254), + 471: uint16(1254), + 472: uint16(1254), + 473: uint16(1429), + 474: uint16(1254), + 475: uint16(1254), + 476: uint16(1254), + 477: uint16(1424), + 478: uint16(1254), + 479: uint16(1254), + 480: uint16(1254), + 481: uint16(1254), + 482: uint16(1254), + 483: uint16(1254), + 484: uint16(1254), + 485: uint16(1254), + 486: uint16(1651), + 487: uint16(1254), + 488: uint16(1254), + 489: uint16(1254), + 490: uint16(1254), + 491: uint16(1254), + 492: uint16(1254), + 493: uint16(1524), + 494: uint16(1523), + 495: uint16(1254), + 496: uint16(1254), + 497: uint16(1375), + 498: uint16(1254), + 499: uint16(1254), + 500: uint16(1254), + 501: uint16(1254), + 502: uint16(1254), + 503: uint16(1254), + 504: uint16(1254), + 505: uint16(1254), + 506: uint16(1254), + 507: uint16(1254), + 508: uint16(1254), + 509: uint16(1254), + 510: uint16(1254), + 511: uint16(1302), + 512: uint16(1254), + 513: uint16(1254), + 514: uint16(1254), + 515: uint16(1254), + 516: uint16(1254), + 517: uint16(1254), + 518: uint16(1254), + 519: uint16(1254), + 520: uint16(1254), + 521: uint16(1254), + 522: uint16(1254), + 523: uint16(1254), + 524: uint16(1254), + 525: uint16(1254), + 526: uint16(1254), + 527: uint16(1254), + 528: uint16(1254), + 529: uint16(1254), + 530: uint16(1254), + 531: uint16(1254), + 532: uint16(1254), + 533: uint16(1254), + 534: uint16(1254), + 535: uint16(1402), + 536: uint16(1254), + 537: uint16(1254), + 538: uint16(1254), + 539: uint16(1254), + 540: uint16(1254), + 541: uint16(1254), + 542: uint16(1254), + 543: uint16(1254), + 544: uint16(1254), + 545: uint16(1254), + 546: uint16(1254), + 547: uint16(1254), + 548: uint16(1254), + 549: uint16(1254), + 550: uint16(1593), + 551: uint16(1392), + 552: uint16(1254), + 553: uint16(1254), + 554: uint16(1254), + 555: uint16(1254), + 556: uint16(1642), + 557: uint16(1254), + 558: uint16(1254), + 559: uint16(1254), + 560: uint16(1254), + 561: uint16(1352), + 562: uint16(1254), + 563: uint16(1254), + 564: uint16(1254), + 565: uint16(1254), + 566: uint16(1254), + 567: uint16(1254), + 568: uint16(1254), + 569: uint16(1254), + 570: uint16(1254), + 571: uint16(1254), + 572: uint16(1254), + 573: uint16(1634), + 574: uint16(1346), + 575: uint16(1438), + 576: uint16(1254), + 577: uint16(1441), + 578: uint16(1276), + 579: uint16(1254), + 580: uint16(1266), + 581: uint16(1254), + 582: uint16(1254), } /********** End of lemon-generated parsing tables *****************************/ @@ -158388,7 +159809,7 @@ var _yy_default = [579]uint16{ // ** to revert to identifiers if they keyword does not apply in the context where // ** it appears. // */ -var _yyFallback = [185]uint16{ +var _yyFallback = [186]uint16{ 2: uint16(59), 3: uint16(59), 4: uint16(59), @@ -158501,8 +159922,9 @@ type yyStackEntry = TyyStackEntry type TyyParser1 = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser1 = TyyParser1 @@ -158510,14 +159932,46 @@ type yyParser1 = TyyParser1 type TyyParser = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser = TyyParser /* #include */ +// C documentation +// +// /* +// ** Try to increase the size of the parser stack. Return the number +// ** of errors. Return 0 on success. +// */ +func _yyGrowStack(tls *libc.TLS, p uintptr) (r int32) { + var idx, newSize, oldSize int32 + var pNew uintptr + _, _, _, _ = idx, newSize, oldSize, pNew + oldSize = int32(1) + (int32((*TyyParser)(unsafe.Pointer(p)).FyystackEnd)-int32((*TyyParser)(unsafe.Pointer(p)).Fyystack))/12 + newSize = oldSize*int32(2) + int32(100) + idx = (int32((*TyyParser)(unsafe.Pointer(p)).Fyytos) - int32((*TyyParser)(unsafe.Pointer(p)).Fyystack)) / 12 + if (*TyyParser)(unsafe.Pointer(p)).Fyystack == p+16 { + pNew = _parserStackRealloc(tls, uintptr(0), uint64(uint32(newSize)*uint32(12))) + if pNew == uintptr(0) { + return int32(1) + } + libc.Xmemcpy(tls, pNew, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint32(oldSize)*uint32(12)) + } else { + pNew = _parserStackRealloc(tls, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(uint32(newSize)*uint32(12))) + if pNew == uintptr(0) { + return int32(1) + } + } + (*TyyParser)(unsafe.Pointer(p)).Fyystack = pNew + (*TyyParser)(unsafe.Pointer(p)).Fyytos = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(idx)*12 + (*TyyParser)(unsafe.Pointer(p)).FyystackEnd = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(newSize-int32(1))*12 + return 0 +} + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -158533,10 +159987,11 @@ func _sqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { _ = yypParser yypParser = yypRawParser (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 8 - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 8))).Fstateno = uint16(0) - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 8))).Fmajor = uint16(0) - (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = yypParser + 8 + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*12 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack = yypParser + 16 + (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*12 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fstateno = uint16(0) + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fmajor = uint16(0) } // C documentation @@ -158564,103 +160019,105 @@ func _yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor u ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case int32(204): /* select */ + case int32(205): /* select */ fallthrough - case int32(239): /* selectnowith */ + case int32(240): /* selectnowith */ fallthrough - case int32(240): /* oneselect */ + case int32(241): /* oneselect */ fallthrough - case int32(252): /* values */ + case int32(253): /* values */ + fallthrough + case int32(255): /* mvalues */ _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(216): /* term */ + case int32(217): /* term */ fallthrough - case int32(217): /* expr */ + case int32(218): /* expr */ fallthrough - case int32(246): /* where_opt */ + case int32(247): /* where_opt */ fallthrough - case int32(248): /* having_opt */ + case int32(249): /* having_opt */ fallthrough - case int32(267): /* where_opt_ret */ + case int32(269): /* where_opt_ret */ fallthrough - case int32(278): /* case_operand */ + case int32(280): /* case_operand */ fallthrough - case int32(280): /* case_else */ + case int32(282): /* case_else */ fallthrough - case int32(283): /* vinto */ + case int32(285): /* vinto */ fallthrough - case int32(290): /* when_clause */ + case int32(292): /* when_clause */ fallthrough - case int32(295): /* key_opt */ + case int32(297): /* key_opt */ fallthrough - case int32(311): /* filter_clause */ + case int32(314): /* filter_clause */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(221): /* eidlist_opt */ + case int32(222): /* eidlist_opt */ fallthrough - case int32(231): /* sortlist */ + case int32(232): /* sortlist */ fallthrough - case int32(232): /* eidlist */ + case int32(233): /* eidlist */ fallthrough - case int32(244): /* selcollist */ + case int32(245): /* selcollist */ fallthrough - case int32(247): /* groupby_opt */ + case int32(248): /* groupby_opt */ fallthrough - case int32(249): /* orderby_opt */ + case int32(250): /* orderby_opt */ fallthrough - case int32(253): /* nexprlist */ + case int32(254): /* nexprlist */ fallthrough - case int32(254): /* sclp */ + case int32(256): /* sclp */ fallthrough - case int32(261): /* exprlist */ + case int32(263): /* exprlist */ fallthrough - case int32(268): /* setlist */ + case int32(270): /* setlist */ fallthrough - case int32(277): /* paren_exprlist */ + case int32(279): /* paren_exprlist */ fallthrough - case int32(279): /* case_exprlist */ + case int32(281): /* case_exprlist */ fallthrough - case int32(310): /* part_opt */ + case int32(313): /* part_opt */ _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(238): /* fullname */ + case int32(239): /* fullname */ fallthrough - case int32(245): /* from */ + case int32(246): /* from */ fallthrough - case int32(256): /* seltablist */ + case int32(258): /* seltablist */ fallthrough - case int32(257): /* stl_prefix */ + case int32(259): /* stl_prefix */ fallthrough - case int32(262): /* xfullname */ + case int32(264): /* xfullname */ _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(241): /* wqlist */ + case int32(242): /* wqlist */ _sqlite3WithDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(251): /* window_clause */ + case int32(252): /* window_clause */ fallthrough - case int32(306): /* windowdefn_list */ + case int32(309): /* windowdefn_list */ _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(263): /* idlist */ + case int32(265): /* idlist */ fallthrough - case int32(270): /* idlist_opt */ + case int32(272): /* idlist_opt */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(273): /* filter_over */ + case int32(275): /* filter_over */ fallthrough - case int32(307): /* windowdefn */ + case int32(310): /* windowdefn */ fallthrough - case int32(308): /* window */ + case int32(311): /* window */ fallthrough - case int32(309): /* frame_opt */ + case int32(312): /* frame_opt */ fallthrough - case int32(312): /* over_clause */ + case int32(315): /* over_clause */ _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(286): /* trigger_cmd_list */ + case int32(288): /* trigger_cmd_list */ fallthrough - case int32(291): /* trigger_cmd */ + case int32(293): /* trigger_cmd */ _sqlite3DeleteTriggerStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(288): /* trigger_event */ + case int32(290): /* trigger_event */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TTrigEvent)(unsafe.Pointer(yypminor))).Fb) - case int32(314): /* frame_bound */ + case int32(317): /* frame_bound */ fallthrough - case int32(315): /* frame_bound_s */ + case int32(318): /* frame_bound_s */ fallthrough - case int32(316): /* frame_bound_e */ + case int32(319): /* frame_bound_e */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TFrameBound)(unsafe.Pointer(yypminor))).FpExpr) break /********* End destructor definitions *****************************************/ @@ -158696,11 +160153,20 @@ func _yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var pParser, yytos uintptr + _, _ = pParser, yytos pParser = p - for (*TyyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+8 { - _yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling yy_pop_parser_stack() for each + ** element left in the stack */ + yytos = (*TyyParser)(unsafe.Pointer(pParser)).Fyytos + for yytos > (*TyyParser)(unsafe.Pointer(pParser)).Fyystack { + if int32((*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor) >= int32(YY_MIN_DSTRCTR) { + _yy_destructor(tls, pParser, (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor, yytos+4) + } + yytos -= 12 + } + if (*TyyParser)(unsafe.Pointer(pParser)).Fyystack != pParser+16 { + Xsqlite3_free(tls, (*TyyParser)(unsafe.Pointer(pParser)).Fyystack) } } @@ -158795,13 +160261,13 @@ func _yyStackOverflow(tls *libc.TLS, yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*TyyParser)(unsafe.Pointer(yypParser)).FpParse - for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+8 { + for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack { _yy_pop_parser_stack(tls, yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23336, 0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) /******** End %stack_overflow code ********************************************/ /* Suppress warning about unused %extra_argument var */ (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -158820,15 +160286,19 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint var yytos uintptr _ = yytos (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos += 12 - if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 12 - _yyStackOverflow(tls, yypParser) - return + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + if yytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { + if _yyGrowStack(tls, yypParser) != 0 { + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 12 + _yyStackOverflow(tls, yypParser) + return + } + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + _ = libc.Int32FromInt32(0) } if int32(yyNewState) > int32(YY_MAX_SHIFT) { yyNewState = uint16(int32(yyNewState) + (libc.Int32FromInt32(YY_MIN_REDUCE) - libc.Int32FromInt32(YY_MIN_SHIFTREDUCE))) } - yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos (*TyyStackEntry)(unsafe.Pointer(yytos)).Fstateno = yyNewState (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor = yyMajor *(*TToken)(unsafe.Pointer(yytos + 4)) = yyMinor @@ -158838,419 +160308,423 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint // // /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side // ** of that rule */ -var _yyRuleInfoLhs = [405]uint16{ - 0: uint16(189), - 1: uint16(189), - 2: uint16(188), - 3: uint16(190), - 4: uint16(191), - 5: uint16(191), - 6: uint16(191), - 7: uint16(191), - 8: uint16(190), - 9: uint16(190), - 10: uint16(190), - 11: uint16(190), - 12: uint16(190), - 13: uint16(195), - 14: uint16(197), - 15: uint16(199), - 16: uint16(199), - 17: uint16(198), - 18: uint16(198), - 19: uint16(196), - 20: uint16(196), - 21: uint16(203), - 22: uint16(203), - 23: uint16(205), - 24: uint16(205), - 25: uint16(206), - 26: uint16(208), - 27: uint16(208), - 28: uint16(208), - 29: uint16(209), - 30: uint16(213), - 31: uint16(214), - 32: uint16(215), - 33: uint16(215), - 34: uint16(215), - 35: uint16(215), - 36: uint16(215), - 37: uint16(215), - 38: uint16(215), - 39: uint16(215), - 40: uint16(215), - 41: uint16(215), - 42: uint16(215), - 43: uint16(215), - 44: uint16(215), - 45: uint16(224), - 46: uint16(224), - 47: uint16(220), - 48: uint16(220), - 49: uint16(222), - 50: uint16(222), - 51: uint16(225), - 52: uint16(225), - 53: uint16(225), - 54: uint16(225), - 55: uint16(226), - 56: uint16(226), - 57: uint16(226), - 58: uint16(226), - 59: uint16(226), - 60: uint16(223), - 61: uint16(223), - 62: uint16(227), - 63: uint16(227), - 64: uint16(227), - 65: uint16(202), - 66: uint16(229), - 67: uint16(230), - 68: uint16(230), - 69: uint16(230), - 70: uint16(230), - 71: uint16(230), - 72: uint16(233), - 73: uint16(218), - 74: uint16(218), - 75: uint16(234), - 76: uint16(234), - 77: uint16(235), - 78: uint16(235), - 79: uint16(190), - 80: uint16(237), - 81: uint16(237), - 82: uint16(190), - 83: uint16(190), - 84: uint16(190), - 85: uint16(204), - 86: uint16(204), - 87: uint16(204), - 88: uint16(239), - 89: uint16(242), - 90: uint16(242), - 91: uint16(242), - 92: uint16(240), - 93: uint16(240), - 94: uint16(252), - 95: uint16(252), - 96: uint16(243), - 97: uint16(243), - 98: uint16(243), - 99: uint16(254), +var _yyRuleInfoLhs = [409]uint16{ + 0: uint16(190), + 1: uint16(190), + 2: uint16(189), + 3: uint16(191), + 4: uint16(192), + 5: uint16(192), + 6: uint16(192), + 7: uint16(192), + 8: uint16(191), + 9: uint16(191), + 10: uint16(191), + 11: uint16(191), + 12: uint16(191), + 13: uint16(196), + 14: uint16(198), + 15: uint16(200), + 16: uint16(200), + 17: uint16(199), + 18: uint16(199), + 19: uint16(197), + 20: uint16(197), + 21: uint16(204), + 22: uint16(204), + 23: uint16(206), + 24: uint16(206), + 25: uint16(207), + 26: uint16(209), + 27: uint16(209), + 28: uint16(209), + 29: uint16(210), + 30: uint16(214), + 31: uint16(215), + 32: uint16(216), + 33: uint16(216), + 34: uint16(216), + 35: uint16(216), + 36: uint16(216), + 37: uint16(216), + 38: uint16(216), + 39: uint16(216), + 40: uint16(216), + 41: uint16(216), + 42: uint16(216), + 43: uint16(216), + 44: uint16(216), + 45: uint16(225), + 46: uint16(225), + 47: uint16(221), + 48: uint16(221), + 49: uint16(223), + 50: uint16(223), + 51: uint16(226), + 52: uint16(226), + 53: uint16(226), + 54: uint16(226), + 55: uint16(227), + 56: uint16(227), + 57: uint16(227), + 58: uint16(227), + 59: uint16(227), + 60: uint16(224), + 61: uint16(224), + 62: uint16(228), + 63: uint16(228), + 64: uint16(228), + 65: uint16(203), + 66: uint16(230), + 67: uint16(231), + 68: uint16(231), + 69: uint16(231), + 70: uint16(231), + 71: uint16(231), + 72: uint16(234), + 73: uint16(219), + 74: uint16(219), + 75: uint16(235), + 76: uint16(235), + 77: uint16(236), + 78: uint16(236), + 79: uint16(191), + 80: uint16(238), + 81: uint16(238), + 82: uint16(191), + 83: uint16(191), + 84: uint16(191), + 85: uint16(205), + 86: uint16(205), + 87: uint16(205), + 88: uint16(240), + 89: uint16(243), + 90: uint16(243), + 91: uint16(243), + 92: uint16(241), + 93: uint16(241), + 94: uint16(253), + 95: uint16(241), + 96: uint16(255), + 97: uint16(255), + 98: uint16(244), + 99: uint16(244), 100: uint16(244), - 101: uint16(244), - 102: uint16(244), - 103: uint16(255), - 104: uint16(255), - 105: uint16(245), - 106: uint16(245), - 107: uint16(257), - 108: uint16(257), - 109: uint16(256), - 110: uint16(256), - 111: uint16(256), - 112: uint16(256), - 113: uint16(256), - 114: uint16(200), - 115: uint16(200), - 116: uint16(238), - 117: uint16(238), - 118: uint16(262), - 119: uint16(262), - 120: uint16(262), - 121: uint16(262), - 122: uint16(258), - 123: uint16(258), - 124: uint16(258), - 125: uint16(258), - 126: uint16(259), - 127: uint16(259), - 128: uint16(259), - 129: uint16(264), - 130: uint16(260), - 131: uint16(260), - 132: uint16(249), - 133: uint16(249), - 134: uint16(231), - 135: uint16(231), - 136: uint16(219), - 137: uint16(219), - 138: uint16(219), - 139: uint16(265), - 140: uint16(265), - 141: uint16(265), - 142: uint16(247), - 143: uint16(247), + 101: uint16(256), + 102: uint16(245), + 103: uint16(245), + 104: uint16(245), + 105: uint16(257), + 106: uint16(257), + 107: uint16(246), + 108: uint16(246), + 109: uint16(259), + 110: uint16(259), + 111: uint16(258), + 112: uint16(258), + 113: uint16(258), + 114: uint16(258), + 115: uint16(258), + 116: uint16(201), + 117: uint16(201), + 118: uint16(239), + 119: uint16(239), + 120: uint16(264), + 121: uint16(264), + 122: uint16(264), + 123: uint16(264), + 124: uint16(260), + 125: uint16(260), + 126: uint16(260), + 127: uint16(260), + 128: uint16(261), + 129: uint16(261), + 130: uint16(261), + 131: uint16(266), + 132: uint16(262), + 133: uint16(262), + 134: uint16(250), + 135: uint16(250), + 136: uint16(232), + 137: uint16(232), + 138: uint16(220), + 139: uint16(220), + 140: uint16(220), + 141: uint16(267), + 142: uint16(267), + 143: uint16(267), 144: uint16(248), 145: uint16(248), - 146: uint16(250), - 147: uint16(250), - 148: uint16(250), - 149: uint16(250), - 150: uint16(190), - 151: uint16(246), - 152: uint16(246), - 153: uint16(267), - 154: uint16(267), - 155: uint16(267), - 156: uint16(267), - 157: uint16(190), - 158: uint16(268), - 159: uint16(268), - 160: uint16(268), - 161: uint16(268), - 162: uint16(190), - 163: uint16(190), - 164: uint16(271), - 165: uint16(271), - 166: uint16(271), - 167: uint16(271), - 168: uint16(271), - 169: uint16(271), - 170: uint16(272), - 171: uint16(269), - 172: uint16(269), - 173: uint16(270), - 174: uint16(270), - 175: uint16(263), - 176: uint16(263), - 177: uint16(217), - 178: uint16(217), - 179: uint16(217), - 180: uint16(217), - 181: uint16(216), - 182: uint16(216), - 183: uint16(216), + 146: uint16(249), + 147: uint16(249), + 148: uint16(251), + 149: uint16(251), + 150: uint16(251), + 151: uint16(251), + 152: uint16(191), + 153: uint16(247), + 154: uint16(247), + 155: uint16(269), + 156: uint16(269), + 157: uint16(269), + 158: uint16(269), + 159: uint16(191), + 160: uint16(270), + 161: uint16(270), + 162: uint16(270), + 163: uint16(270), + 164: uint16(191), + 165: uint16(191), + 166: uint16(273), + 167: uint16(273), + 168: uint16(273), + 169: uint16(273), + 170: uint16(273), + 171: uint16(273), + 172: uint16(274), + 173: uint16(271), + 174: uint16(271), + 175: uint16(272), + 176: uint16(272), + 177: uint16(265), + 178: uint16(265), + 179: uint16(218), + 180: uint16(218), + 181: uint16(218), + 182: uint16(218), + 183: uint16(217), 184: uint16(217), 185: uint16(217), - 186: uint16(217), - 187: uint16(217), - 188: uint16(217), - 189: uint16(217), - 190: uint16(217), - 191: uint16(217), - 192: uint16(217), - 193: uint16(216), - 194: uint16(217), + 186: uint16(218), + 187: uint16(218), + 188: uint16(218), + 189: uint16(218), + 190: uint16(218), + 191: uint16(218), + 192: uint16(218), + 193: uint16(218), + 194: uint16(218), 195: uint16(217), - 196: uint16(217), - 197: uint16(217), - 198: uint16(217), - 199: uint16(217), - 200: uint16(217), - 201: uint16(217), - 202: uint16(217), - 203: uint16(274), - 204: uint16(217), - 205: uint16(217), - 206: uint16(217), - 207: uint16(217), - 208: uint16(217), - 209: uint16(217), - 210: uint16(217), - 211: uint16(217), - 212: uint16(217), - 213: uint16(217), - 214: uint16(217), - 215: uint16(217), - 216: uint16(275), - 217: uint16(275), - 218: uint16(217), - 219: uint16(276), - 220: uint16(276), - 221: uint16(217), - 222: uint16(217), - 223: uint16(217), - 224: uint16(217), - 225: uint16(217), - 226: uint16(217), - 227: uint16(279), - 228: uint16(279), - 229: uint16(280), - 230: uint16(280), - 231: uint16(278), - 232: uint16(261), - 233: uint16(253), - 234: uint16(253), - 235: uint16(277), - 236: uint16(277), - 237: uint16(190), - 238: uint16(281), - 239: uint16(281), - 240: uint16(221), - 241: uint16(221), - 242: uint16(232), - 243: uint16(232), - 244: uint16(282), - 245: uint16(282), - 246: uint16(190), - 247: uint16(190), - 248: uint16(190), - 249: uint16(283), - 250: uint16(283), - 251: uint16(190), - 252: uint16(190), - 253: uint16(190), - 254: uint16(190), - 255: uint16(190), - 256: uint16(211), - 257: uint16(212), - 258: uint16(190), - 259: uint16(285), - 260: uint16(287), + 196: uint16(218), + 197: uint16(218), + 198: uint16(218), + 199: uint16(218), + 200: uint16(218), + 201: uint16(218), + 202: uint16(218), + 203: uint16(218), + 204: uint16(218), + 205: uint16(276), + 206: uint16(218), + 207: uint16(218), + 208: uint16(218), + 209: uint16(218), + 210: uint16(218), + 211: uint16(218), + 212: uint16(218), + 213: uint16(218), + 214: uint16(218), + 215: uint16(218), + 216: uint16(218), + 217: uint16(218), + 218: uint16(277), + 219: uint16(277), + 220: uint16(218), + 221: uint16(278), + 222: uint16(278), + 223: uint16(218), + 224: uint16(218), + 225: uint16(218), + 226: uint16(218), + 227: uint16(218), + 228: uint16(218), + 229: uint16(281), + 230: uint16(281), + 231: uint16(282), + 232: uint16(282), + 233: uint16(280), + 234: uint16(263), + 235: uint16(254), + 236: uint16(254), + 237: uint16(279), + 238: uint16(279), + 239: uint16(191), + 240: uint16(283), + 241: uint16(283), + 242: uint16(222), + 243: uint16(222), + 244: uint16(233), + 245: uint16(233), + 246: uint16(284), + 247: uint16(284), + 248: uint16(191), + 249: uint16(191), + 250: uint16(191), + 251: uint16(285), + 252: uint16(285), + 253: uint16(191), + 254: uint16(191), + 255: uint16(191), + 256: uint16(191), + 257: uint16(191), + 258: uint16(212), + 259: uint16(213), + 260: uint16(191), 261: uint16(287), - 262: uint16(287), - 263: uint16(288), - 264: uint16(288), - 265: uint16(288), + 262: uint16(289), + 263: uint16(289), + 264: uint16(289), + 265: uint16(290), 266: uint16(290), 267: uint16(290), - 268: uint16(286), - 269: uint16(286), - 270: uint16(292), - 271: uint16(293), - 272: uint16(293), - 273: uint16(291), - 274: uint16(291), - 275: uint16(291), - 276: uint16(291), - 277: uint16(217), - 278: uint16(217), - 279: uint16(236), - 280: uint16(236), - 281: uint16(236), - 282: uint16(190), - 283: uint16(190), - 284: uint16(190), - 285: uint16(295), - 286: uint16(295), - 287: uint16(190), - 288: uint16(190), - 289: uint16(190), - 290: uint16(190), - 291: uint16(190), - 292: uint16(190), - 293: uint16(190), - 294: uint16(296), - 295: uint16(190), - 296: uint16(190), - 297: uint16(190), - 298: uint16(298), - 299: uint16(300), - 300: uint16(301), - 301: uint16(301), - 302: uint16(302), - 303: uint16(266), - 304: uint16(266), - 305: uint16(305), - 306: uint16(305), - 307: uint16(305), - 308: uint16(304), - 309: uint16(241), - 310: uint16(241), - 311: uint16(306), - 312: uint16(307), - 313: uint16(308), - 314: uint16(308), - 315: uint16(308), - 316: uint16(308), - 317: uint16(308), - 318: uint16(309), - 319: uint16(309), - 320: uint16(309), - 321: uint16(313), - 322: uint16(315), - 323: uint16(315), + 268: uint16(292), + 269: uint16(292), + 270: uint16(288), + 271: uint16(288), + 272: uint16(294), + 273: uint16(295), + 274: uint16(295), + 275: uint16(293), + 276: uint16(293), + 277: uint16(293), + 278: uint16(293), + 279: uint16(218), + 280: uint16(218), + 281: uint16(237), + 282: uint16(237), + 283: uint16(237), + 284: uint16(191), + 285: uint16(191), + 286: uint16(191), + 287: uint16(297), + 288: uint16(297), + 289: uint16(191), + 290: uint16(191), + 291: uint16(191), + 292: uint16(191), + 293: uint16(191), + 294: uint16(191), + 295: uint16(191), + 296: uint16(298), + 297: uint16(191), + 298: uint16(191), + 299: uint16(191), + 300: uint16(300), + 301: uint16(302), + 302: uint16(303), + 303: uint16(303), + 304: uint16(304), + 305: uint16(268), + 306: uint16(268), + 307: uint16(307), + 308: uint16(307), + 309: uint16(307), + 310: uint16(306), + 311: uint16(308), + 312: uint16(242), + 313: uint16(242), + 314: uint16(309), + 315: uint16(310), + 316: uint16(311), + 317: uint16(311), + 318: uint16(311), + 319: uint16(311), + 320: uint16(311), + 321: uint16(312), + 322: uint16(312), + 323: uint16(312), 324: uint16(316), - 325: uint16(316), - 326: uint16(314), - 327: uint16(314), - 328: uint16(317), + 325: uint16(318), + 326: uint16(318), + 327: uint16(319), + 328: uint16(319), 329: uint16(317), - 330: uint16(318), - 331: uint16(318), - 332: uint16(318), - 333: uint16(251), - 334: uint16(273), - 335: uint16(273), - 336: uint16(273), - 337: uint16(312), - 338: uint16(312), - 339: uint16(311), - 340: uint16(185), - 341: uint16(186), - 342: uint16(186), - 343: uint16(187), - 344: uint16(187), + 330: uint16(317), + 331: uint16(320), + 332: uint16(320), + 333: uint16(321), + 334: uint16(321), + 335: uint16(321), + 336: uint16(252), + 337: uint16(275), + 338: uint16(275), + 339: uint16(275), + 340: uint16(315), + 341: uint16(315), + 342: uint16(314), + 343: uint16(217), + 344: uint16(186), 345: uint16(187), - 346: uint16(192), - 347: uint16(192), - 348: uint16(192), - 349: uint16(194), - 350: uint16(194), - 351: uint16(190), - 352: uint16(203), - 353: uint16(201), - 354: uint16(201), - 355: uint16(193), - 356: uint16(193), - 357: uint16(208), - 358: uint16(209), - 359: uint16(210), - 360: uint16(210), - 361: uint16(207), - 362: uint16(207), - 363: uint16(215), - 364: uint16(215), - 365: uint16(215), - 366: uint16(202), - 367: uint16(228), - 368: uint16(228), - 369: uint16(229), - 370: uint16(233), - 371: uint16(235), - 372: uint16(239), - 373: uint16(240), - 374: uint16(254), - 375: uint16(255), - 376: uint16(264), - 377: uint16(272), - 378: uint16(217), - 379: uint16(274), - 380: uint16(278), - 381: uint16(261), - 382: uint16(284), - 383: uint16(284), - 384: uint16(284), - 385: uint16(284), - 386: uint16(284), - 387: uint16(211), - 388: uint16(289), - 389: uint16(289), - 390: uint16(292), - 391: uint16(293), - 392: uint16(294), - 393: uint16(294), - 394: uint16(297), - 395: uint16(297), - 396: uint16(299), - 397: uint16(299), - 398: uint16(300), - 399: uint16(303), - 400: uint16(303), - 401: uint16(303), - 402: uint16(266), - 403: uint16(306), - 404: uint16(308), + 346: uint16(187), + 347: uint16(188), + 348: uint16(188), + 349: uint16(188), + 350: uint16(193), + 351: uint16(193), + 352: uint16(193), + 353: uint16(195), + 354: uint16(195), + 355: uint16(191), + 356: uint16(204), + 357: uint16(202), + 358: uint16(202), + 359: uint16(194), + 360: uint16(194), + 361: uint16(209), + 362: uint16(210), + 363: uint16(211), + 364: uint16(211), + 365: uint16(208), + 366: uint16(208), + 367: uint16(216), + 368: uint16(216), + 369: uint16(216), + 370: uint16(203), + 371: uint16(229), + 372: uint16(229), + 373: uint16(230), + 374: uint16(234), + 375: uint16(236), + 376: uint16(240), + 377: uint16(241), + 378: uint16(256), + 379: uint16(257), + 380: uint16(266), + 381: uint16(274), + 382: uint16(218), + 383: uint16(276), + 384: uint16(280), + 385: uint16(263), + 386: uint16(286), + 387: uint16(286), + 388: uint16(286), + 389: uint16(286), + 390: uint16(286), + 391: uint16(212), + 392: uint16(291), + 393: uint16(291), + 394: uint16(294), + 395: uint16(295), + 396: uint16(296), + 397: uint16(296), + 398: uint16(299), + 399: uint16(299), + 400: uint16(301), + 401: uint16(301), + 402: uint16(302), + 403: uint16(305), + 404: uint16(305), + 405: uint16(305), + 406: uint16(268), + 407: uint16(309), + 408: uint16(311), } // C documentation // // /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number // ** of symbols on the right-hand side of that rule. */ -var _yyRuleInfoNRhs = [405]int8{ +var _yyRuleInfoNRhs = [409]int8{ 0: int8(-int32(1)), 1: int8(-int32(3)), 2: int8(-int32(1)), @@ -159331,273 +160805,277 @@ var _yyRuleInfoNRhs = [405]int8{ 92: int8(-int32(9)), 93: int8(-int32(10)), 94: int8(-int32(4)), - 95: int8(-int32(5)), - 96: int8(-int32(1)), - 97: int8(-int32(1)), - 100: int8(-int32(5)), - 101: int8(-int32(3)), + 95: int8(-int32(1)), + 96: int8(-int32(5)), + 97: int8(-int32(5)), + 98: int8(-int32(1)), + 99: int8(-int32(1)), 102: int8(-int32(5)), - 103: int8(-int32(2)), - 106: int8(-int32(2)), - 107: int8(-int32(2)), - 109: int8(-int32(5)), - 110: int8(-int32(6)), - 111: int8(-int32(8)), + 103: int8(-int32(3)), + 104: int8(-int32(5)), + 105: int8(-int32(2)), + 108: int8(-int32(2)), + 109: int8(-int32(2)), + 111: int8(-int32(5)), 112: int8(-int32(6)), - 113: int8(-int32(6)), - 115: int8(-int32(2)), - 116: int8(-int32(1)), - 117: int8(-int32(3)), + 113: int8(-int32(8)), + 114: int8(-int32(6)), + 115: int8(-int32(6)), + 117: int8(-int32(2)), 118: int8(-int32(1)), 119: int8(-int32(3)), - 120: int8(-int32(5)), + 120: int8(-int32(1)), 121: int8(-int32(3)), - 122: int8(-int32(1)), - 123: int8(-int32(2)), - 124: int8(-int32(3)), - 125: int8(-int32(4)), - 126: int8(-int32(2)), + 122: int8(-int32(5)), + 123: int8(-int32(3)), + 124: int8(-int32(1)), + 125: int8(-int32(2)), + 126: int8(-int32(3)), 127: int8(-int32(4)), - 130: int8(-int32(3)), - 131: int8(-int32(2)), - 133: int8(-int32(3)), - 134: int8(-int32(5)), + 128: int8(-int32(2)), + 129: int8(-int32(4)), + 132: int8(-int32(3)), + 133: int8(-int32(2)), 135: int8(-int32(3)), - 136: int8(-int32(1)), - 137: int8(-int32(1)), - 139: int8(-int32(2)), - 140: int8(-int32(2)), - 143: int8(-int32(3)), - 145: int8(-int32(2)), + 136: int8(-int32(5)), + 137: int8(-int32(3)), + 138: int8(-int32(1)), + 139: int8(-int32(1)), + 141: int8(-int32(2)), + 142: int8(-int32(2)), + 145: int8(-int32(3)), 147: int8(-int32(2)), - 148: int8(-int32(4)), - 149: int8(-int32(4)), - 150: int8(-int32(6)), - 152: int8(-int32(2)), + 149: int8(-int32(2)), + 150: int8(-int32(4)), + 151: int8(-int32(4)), + 152: int8(-int32(6)), 154: int8(-int32(2)), - 155: int8(-int32(2)), - 156: int8(-int32(4)), - 157: int8(-int32(9)), - 158: int8(-int32(5)), - 159: int8(-int32(7)), - 160: int8(-int32(3)), - 161: int8(-int32(5)), - 162: int8(-int32(7)), - 163: int8(-int32(8)), - 165: int8(-int32(2)), - 166: int8(-int32(12)), - 167: int8(-int32(9)), - 168: int8(-int32(5)), - 169: int8(-int32(8)), - 170: int8(-int32(2)), - 171: int8(-int32(2)), - 172: int8(-int32(1)), - 174: int8(-int32(3)), - 175: int8(-int32(3)), - 176: int8(-int32(1)), + 156: int8(-int32(2)), + 157: int8(-int32(2)), + 158: int8(-int32(4)), + 159: int8(-int32(9)), + 160: int8(-int32(5)), + 161: int8(-int32(7)), + 162: int8(-int32(3)), + 163: int8(-int32(5)), + 164: int8(-int32(7)), + 165: int8(-int32(8)), + 167: int8(-int32(2)), + 168: int8(-int32(12)), + 169: int8(-int32(9)), + 170: int8(-int32(5)), + 171: int8(-int32(8)), + 172: int8(-int32(2)), + 173: int8(-int32(2)), + 174: int8(-int32(1)), + 176: int8(-int32(3)), 177: int8(-int32(3)), 178: int8(-int32(1)), 179: int8(-int32(3)), - 180: int8(-int32(5)), - 181: int8(-int32(1)), - 182: int8(-int32(1)), + 180: int8(-int32(1)), + 181: int8(-int32(3)), + 182: int8(-int32(5)), 183: int8(-int32(1)), 184: int8(-int32(1)), - 185: int8(-int32(3)), - 186: int8(-int32(6)), - 187: int8(-int32(5)), - 188: int8(-int32(8)), - 189: int8(-int32(4)), - 190: int8(-int32(6)), - 191: int8(-int32(9)), - 192: int8(-int32(5)), - 193: int8(-int32(1)), + 185: int8(-int32(1)), + 186: int8(-int32(1)), + 187: int8(-int32(3)), + 188: int8(-int32(6)), + 189: int8(-int32(5)), + 190: int8(-int32(8)), + 191: int8(-int32(4)), + 192: int8(-int32(6)), + 193: int8(-int32(9)), 194: int8(-int32(5)), - 195: int8(-int32(3)), - 196: int8(-int32(3)), + 195: int8(-int32(1)), + 196: int8(-int32(5)), 197: int8(-int32(3)), 198: int8(-int32(3)), 199: int8(-int32(3)), 200: int8(-int32(3)), 201: int8(-int32(3)), 202: int8(-int32(3)), - 203: int8(-int32(2)), + 203: int8(-int32(3)), 204: int8(-int32(3)), - 205: int8(-int32(5)), - 206: int8(-int32(2)), - 207: int8(-int32(3)), - 208: int8(-int32(3)), - 209: int8(-int32(4)), - 210: int8(-int32(6)), - 211: int8(-int32(5)), - 212: int8(-int32(2)), - 213: int8(-int32(2)), + 205: int8(-int32(2)), + 206: int8(-int32(3)), + 207: int8(-int32(5)), + 208: int8(-int32(2)), + 209: int8(-int32(3)), + 210: int8(-int32(3)), + 211: int8(-int32(4)), + 212: int8(-int32(6)), + 213: int8(-int32(5)), 214: int8(-int32(2)), - 215: int8(-int32(3)), - 216: int8(-int32(1)), - 217: int8(-int32(2)), - 218: int8(-int32(5)), - 219: int8(-int32(1)), - 220: int8(-int32(2)), - 221: int8(-int32(5)), - 222: int8(-int32(3)), + 215: int8(-int32(2)), + 216: int8(-int32(2)), + 217: int8(-int32(3)), + 218: int8(-int32(1)), + 219: int8(-int32(2)), + 220: int8(-int32(5)), + 221: int8(-int32(1)), + 222: int8(-int32(2)), 223: int8(-int32(5)), - 224: int8(-int32(5)), - 225: int8(-int32(4)), + 224: int8(-int32(3)), + 225: int8(-int32(5)), 226: int8(-int32(5)), - 227: int8(-int32(5)), - 228: int8(-int32(4)), - 229: int8(-int32(2)), - 233: int8(-int32(3)), - 234: int8(-int32(1)), - 236: int8(-int32(3)), - 237: int8(-int32(12)), - 238: int8(-int32(1)), - 241: int8(-int32(3)), - 242: int8(-int32(5)), + 227: int8(-int32(4)), + 228: int8(-int32(5)), + 229: int8(-int32(5)), + 230: int8(-int32(4)), + 231: int8(-int32(2)), + 235: int8(-int32(3)), + 236: int8(-int32(1)), + 238: int8(-int32(3)), + 239: int8(-int32(12)), + 240: int8(-int32(1)), 243: int8(-int32(3)), - 245: int8(-int32(2)), - 246: int8(-int32(4)), + 244: int8(-int32(5)), + 245: int8(-int32(3)), 247: int8(-int32(2)), - 248: int8(-int32(3)), + 248: int8(-int32(4)), 249: int8(-int32(2)), - 251: int8(-int32(3)), - 252: int8(-int32(5)), - 253: int8(-int32(6)), + 250: int8(-int32(3)), + 251: int8(-int32(2)), + 253: int8(-int32(3)), 254: int8(-int32(5)), 255: int8(-int32(6)), - 256: int8(-int32(2)), - 257: int8(-int32(2)), - 258: int8(-int32(5)), - 259: int8(-int32(11)), - 260: int8(-int32(1)), - 261: int8(-int32(2)), - 263: int8(-int32(1)), - 264: int8(-int32(1)), - 265: int8(-int32(3)), - 267: int8(-int32(2)), - 268: int8(-int32(3)), + 256: int8(-int32(5)), + 257: int8(-int32(6)), + 258: int8(-int32(2)), + 259: int8(-int32(2)), + 260: int8(-int32(5)), + 261: int8(-int32(11)), + 262: int8(-int32(1)), + 263: int8(-int32(2)), + 265: int8(-int32(1)), + 266: int8(-int32(1)), + 267: int8(-int32(3)), 269: int8(-int32(2)), 270: int8(-int32(3)), - 271: int8(-int32(3)), - 272: int8(-int32(2)), - 273: int8(-int32(9)), - 274: int8(-int32(8)), - 275: int8(-int32(6)), - 276: int8(-int32(3)), - 277: int8(-int32(4)), - 278: int8(-int32(6)), - 279: int8(-int32(1)), - 280: int8(-int32(1)), + 271: int8(-int32(2)), + 272: int8(-int32(3)), + 273: int8(-int32(3)), + 274: int8(-int32(2)), + 275: int8(-int32(9)), + 276: int8(-int32(8)), + 277: int8(-int32(6)), + 278: int8(-int32(3)), + 279: int8(-int32(4)), + 280: int8(-int32(6)), 281: int8(-int32(1)), - 282: int8(-int32(4)), - 283: int8(-int32(6)), - 284: int8(-int32(3)), - 286: int8(-int32(2)), - 287: int8(-int32(1)), - 288: int8(-int32(3)), + 282: int8(-int32(1)), + 283: int8(-int32(1)), + 284: int8(-int32(4)), + 285: int8(-int32(6)), + 286: int8(-int32(3)), + 288: int8(-int32(2)), 289: int8(-int32(1)), 290: int8(-int32(3)), - 291: int8(-int32(6)), - 292: int8(-int32(7)), + 291: int8(-int32(1)), + 292: int8(-int32(3)), 293: int8(-int32(6)), - 294: int8(-int32(1)), - 295: int8(-int32(8)), + 294: int8(-int32(7)), + 295: int8(-int32(6)), 296: int8(-int32(1)), - 297: int8(-int32(4)), - 298: int8(-int32(8)), - 300: int8(-int32(1)), - 301: int8(-int32(3)), + 297: int8(-int32(8)), + 298: int8(-int32(1)), + 299: int8(-int32(4)), + 300: int8(-int32(8)), 302: int8(-int32(1)), - 303: int8(-int32(2)), - 304: int8(-int32(3)), - 305: int8(-int32(1)), - 306: int8(-int32(2)), - 307: int8(-int32(3)), - 308: int8(-int32(6)), - 309: int8(-int32(1)), - 310: int8(-int32(3)), - 311: int8(-int32(3)), - 312: int8(-int32(5)), - 313: int8(-int32(5)), - 314: int8(-int32(6)), - 315: int8(-int32(4)), + 303: int8(-int32(3)), + 304: int8(-int32(1)), + 305: int8(-int32(2)), + 306: int8(-int32(3)), + 307: int8(-int32(1)), + 308: int8(-int32(2)), + 309: int8(-int32(3)), + 310: int8(-int32(6)), + 311: int8(-int32(1)), + 312: int8(-int32(1)), + 313: int8(-int32(3)), + 314: int8(-int32(3)), + 315: int8(-int32(5)), 316: int8(-int32(5)), - 317: int8(-int32(2)), - 319: int8(-int32(3)), - 320: int8(-int32(6)), - 321: int8(-int32(1)), - 322: int8(-int32(1)), - 323: int8(-int32(2)), + 317: int8(-int32(6)), + 318: int8(-int32(4)), + 319: int8(-int32(5)), + 320: int8(-int32(2)), + 322: int8(-int32(3)), + 323: int8(-int32(6)), 324: int8(-int32(1)), - 325: int8(-int32(2)), + 325: int8(-int32(1)), 326: int8(-int32(2)), - 327: int8(-int32(2)), + 327: int8(-int32(1)), + 328: int8(-int32(2)), 329: int8(-int32(2)), 330: int8(-int32(2)), - 331: int8(-int32(2)), - 332: int8(-int32(1)), + 332: int8(-int32(2)), 333: int8(-int32(2)), 334: int8(-int32(2)), 335: int8(-int32(1)), - 336: int8(-int32(1)), - 337: int8(-int32(4)), - 338: int8(-int32(2)), - 339: int8(-int32(5)), - 340: int8(-int32(1)), + 336: int8(-int32(2)), + 337: int8(-int32(2)), + 338: int8(-int32(1)), + 339: int8(-int32(1)), + 340: int8(-int32(4)), 341: int8(-int32(2)), - 342: int8(-int32(1)), + 342: int8(-int32(5)), 343: int8(-int32(1)), - 344: int8(-int32(2)), - 345: int8(-int32(3)), + 344: int8(-int32(1)), + 345: int8(-int32(2)), + 346: int8(-int32(1)), 347: int8(-int32(1)), 348: int8(-int32(2)), - 349: int8(-int32(1)), - 351: int8(-int32(2)), - 352: int8(-int32(1)), - 353: int8(-int32(4)), - 354: int8(-int32(2)), - 355: int8(-int32(1)), + 349: int8(-int32(3)), + 351: int8(-int32(1)), + 352: int8(-int32(2)), + 353: int8(-int32(1)), + 355: int8(-int32(2)), 356: int8(-int32(1)), - 357: int8(-int32(1)), - 358: int8(-int32(1)), + 357: int8(-int32(4)), + 358: int8(-int32(2)), 359: int8(-int32(1)), 360: int8(-int32(1)), - 361: int8(-int32(2)), - 363: int8(-int32(2)), - 364: int8(-int32(4)), + 361: int8(-int32(1)), + 362: int8(-int32(1)), + 363: int8(-int32(1)), + 364: int8(-int32(1)), 365: int8(-int32(2)), - 366: int8(-int32(2)), - 367: int8(-int32(3)), - 368: int8(-int32(1)), - 370: int8(-int32(1)), - 371: int8(-int32(1)), + 367: int8(-int32(2)), + 368: int8(-int32(4)), + 369: int8(-int32(2)), + 370: int8(-int32(2)), + 371: int8(-int32(3)), 372: int8(-int32(1)), - 373: int8(-int32(1)), - 374: int8(-int32(2)), + 374: int8(-int32(1)), 375: int8(-int32(1)), 376: int8(-int32(1)), - 378: int8(-int32(1)), + 377: int8(-int32(1)), + 378: int8(-int32(2)), 379: int8(-int32(1)), 380: int8(-int32(1)), - 381: int8(-int32(1)), 382: int8(-int32(1)), 383: int8(-int32(1)), 384: int8(-int32(1)), 385: int8(-int32(1)), 386: int8(-int32(1)), 387: int8(-int32(1)), - 389: int8(-int32(3)), + 388: int8(-int32(1)), + 389: int8(-int32(1)), 390: int8(-int32(1)), - 392: int8(-int32(1)), - 395: int8(-int32(1)), + 391: int8(-int32(1)), + 393: int8(-int32(3)), + 394: int8(-int32(1)), 396: int8(-int32(1)), - 397: int8(-int32(3)), - 398: int8(-int32(2)), - 400: int8(-int32(4)), - 401: int8(-int32(2)), - 403: int8(-int32(1)), - 404: int8(-int32(1)), + 399: int8(-int32(1)), + 400: int8(-int32(1)), + 401: int8(-int32(3)), + 402: int8(-int32(2)), + 404: int8(-int32(4)), + 405: int8(-int32(2)), + 407: int8(-int32(1)), + 408: int8(-int32(1)), } // C documentation @@ -159615,18 +161093,19 @@ var _yyRuleInfoNRhs = [405]int8{ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken TToken, pParse uintptr) (r uint16) { bp := tls.Alloc(96) defer tls.Free(96) - var bNot, bNot1, nExpr, yygoto, yysize, v344 int32 + var bNot, bNot1, nExpr, yygoto, yysize int32 var n Tu32 - var p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v343, v345, v346, v347, v348 uintptr + var op Tu8 + var p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v347, v348, v349, v350, v351 uintptr var yyact uint16 - var v349 TToken + var v352 TToken var _ /* all at bp+64 */ TToken var _ /* as at bp+48 */ TToken var _ /* dest at bp+8 */ TSelectDest var _ /* t at bp+56 */ TToken var _ /* x at bp+40 */ TToken var _ /* yylhsminor at bp+0 */ TYYMINORTYPE - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v343, v344, v345, v346, v347, v348, v349 /* Amount to pop the stack */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, op, p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v347, v348, v349, v350, v351, v352 /* Amount to pop the stack */ _ = yyLookahead _ = yyLookaheadToken yymsp = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos @@ -159647,7 +161126,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _7 case uint32(7): goto _8 - case uint32(321): + case uint32(324): goto _9 case uint32(9): goto _10 @@ -159675,9 +161154,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _21 case uint32(81): goto _22 - case uint32(98): + case uint32(100): goto _23 - case uint32(244): + case uint32(246): goto _24 case uint32(16): goto _25 @@ -159701,7 +161180,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _34 case uint32(26): goto _35 - case uint32(104): + case uint32(106): goto _36 case uint32(27): goto _37 @@ -159775,17 +161254,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _71 case uint32(61): goto _72 - case uint32(171): + case uint32(173): goto _73 case uint32(80): goto _74 case uint32(63): goto _75 - case uint32(217): + case uint32(219): goto _76 - case uint32(220): + case uint32(222): goto _77 - case uint32(245): + case uint32(247): goto _78 case uint32(64): goto _79 @@ -159807,7 +161286,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _87 case uint32(77): goto _88 - case uint32(172): + case uint32(174): goto _89 case uint32(78): goto _90 @@ -159841,47 +161320,47 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _104 case uint32(95): goto _105 - case uint32(96): - goto _106 case uint32(97): + goto _106 + case uint32(96): goto _107 - case uint32(132): + case uint32(98): goto _108 case uint32(99): goto _109 - case uint32(142): + case uint32(134): goto _110 - case uint32(232): + case uint32(101): goto _111 - case uint32(235): + case uint32(144): goto _112 - case uint32(240): + case uint32(234): goto _113 - case uint32(100): + case uint32(237): goto _114 - case uint32(101): + case uint32(242): goto _115 case uint32(102): goto _116 - case uint32(115): - goto _117 case uint32(103): + goto _117 + case uint32(104): goto _118 - case uint32(256): + case uint32(117): goto _119 - case uint32(257): + case uint32(105): goto _120 - case uint32(108): + case uint32(258): goto _121 - case uint32(105): + case uint32(259): goto _122 - case uint32(106): + case uint32(110): goto _123 case uint32(107): goto _124 - case uint32(109): + case uint32(108): goto _125 - case uint32(110): + case uint32(109): goto _126 case uint32(111): goto _127 @@ -159889,13 +161368,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _128 case uint32(113): goto _129 - case uint32(129): - goto _130 case uint32(114): + goto _130 + case uint32(115): goto _131 - case uint32(116): + case uint32(131): goto _132 - case uint32(117): + case uint32(116): goto _133 case uint32(118): goto _134 @@ -159919,15 +161398,15 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _143 case uint32(128): goto _144 - case uint32(130): + case uint32(129): goto _145 - case uint32(131): + case uint32(130): goto _146 - case uint32(143): + case uint32(132): goto _147 case uint32(133): goto _148 - case uint32(134): + case uint32(145): goto _149 case uint32(135): goto _150 @@ -159935,49 +161414,49 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _151 case uint32(137): goto _152 - case uint32(141): - goto _153 case uint32(138): - goto _154 + goto _153 case uint32(139): + goto _154 + case uint32(143): goto _155 case uint32(140): goto _156 - case uint32(146): + case uint32(141): goto _157 - case uint32(144): + case uint32(142): goto _158 - case uint32(151): + case uint32(148): goto _159 - case uint32(153): + case uint32(146): goto _160 - case uint32(230): + case uint32(153): goto _161 - case uint32(231): + case uint32(155): goto _162 - case uint32(250): + case uint32(232): goto _163 - case uint32(152): + case uint32(233): goto _164 - case uint32(145): + case uint32(252): goto _165 case uint32(154): goto _166 - case uint32(229): + case uint32(147): goto _167 - case uint32(249): + case uint32(156): goto _168 - case uint32(147): + case uint32(231): goto _169 - case uint32(148): + case uint32(251): goto _170 case uint32(149): goto _171 case uint32(150): goto _172 - case uint32(155): + case uint32(151): goto _173 - case uint32(156): + case uint32(152): goto _174 case uint32(157): goto _175 @@ -160007,9 +161486,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _187 case uint32(170): goto _188 - case uint32(173): + case uint32(171): goto _189 - case uint32(174): + case uint32(172): goto _190 case uint32(175): goto _191 @@ -160023,13 +161502,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _195 case uint32(180): goto _196 - case uint32(182): - goto _197 case uint32(181): + goto _197 + case uint32(182): goto _198 - case uint32(183): - goto _199 case uint32(184): + goto _199 + case uint32(183): goto _200 case uint32(185): goto _201 @@ -160053,13 +161532,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _210 case uint32(195): goto _211 - case uint32(197): - goto _212 case uint32(196): + goto _212 + case uint32(197): goto _213 - case uint32(198): - goto _214 case uint32(199): + goto _214 + case uint32(198): goto _215 case uint32(200): goto _216 @@ -160085,23 +161564,23 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _226 case uint32(211): goto _227 - case uint32(213): - goto _228 case uint32(212): + goto _228 + case uint32(213): goto _229 - case uint32(214): - goto _230 case uint32(215): + goto _230 + case uint32(214): goto _231 - case uint32(219): - goto _232 case uint32(216): + goto _232 + case uint32(217): goto _233 - case uint32(218): - goto _234 case uint32(221): + goto _234 + case uint32(218): goto _235 - case uint32(222): + case uint32(220): goto _236 case uint32(223): goto _237 @@ -160115,35 +161594,35 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _241 case uint32(228): goto _242 - case uint32(233): + case uint32(229): goto _243 - case uint32(234): + case uint32(230): goto _244 - case uint32(241): + case uint32(235): goto _245 case uint32(236): goto _246 - case uint32(237): + case uint32(243): goto _247 - case uint32(280): - goto _248 case uint32(238): - goto _249 + goto _248 case uint32(239): + goto _249 + case uint32(282): goto _250 - case uint32(242): + case uint32(240): goto _251 - case uint32(243): + case uint32(241): goto _252 - case uint32(246): + case uint32(244): goto _253 - case uint32(247): + case uint32(245): goto _254 case uint32(248): goto _255 - case uint32(251): + case uint32(249): goto _256 - case uint32(252): + case uint32(250): goto _257 case uint32(253): goto _258 @@ -160151,9 +161630,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _259 case uint32(255): goto _260 - case uint32(258): + case uint32(256): goto _261 - case uint32(259): + case uint32(257): goto _262 case uint32(260): goto _263 @@ -160161,21 +161640,21 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _264 case uint32(262): goto _265 - case uint32(264): - goto _266 case uint32(263): + goto _266 + case uint32(264): goto _267 - case uint32(265): + case uint32(266): goto _268 - case uint32(285): + case uint32(265): goto _269 - case uint32(266): + case uint32(267): goto _270 - case uint32(286): + case uint32(287): goto _271 - case uint32(267): - goto _272 case uint32(268): + goto _272 + case uint32(288): goto _273 case uint32(269): goto _274 @@ -160199,17 +161678,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _283 case uint32(279): goto _284 - case uint32(281): + case uint32(280): goto _285 - case uint32(282): + case uint32(281): goto _286 case uint32(283): goto _287 case uint32(284): goto _288 - case uint32(287): + case uint32(285): goto _289 - case uint32(288): + case uint32(286): goto _290 case uint32(289): goto _291 @@ -160233,19 +161712,19 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _300 case uint32(299): goto _301 - case uint32(301): - goto _302 case uint32(300): + goto _302 + case uint32(301): goto _303 - case uint32(302): + case uint32(303): goto _304 - case uint32(304): + case uint32(302): goto _305 - case uint32(303): + case uint32(304): goto _306 - case uint32(305): - goto _307 case uint32(306): + goto _307 + case uint32(305): goto _308 case uint32(307): goto _309 @@ -160275,31 +161754,31 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _321 case uint32(320): goto _322 - case uint32(324): + case uint32(321): goto _323 case uint32(322): goto _324 - case uint32(325): - goto _325 case uint32(323): - goto _326 + goto _325 case uint32(327): + goto _326 + case uint32(325): goto _327 - case uint32(326): - goto _328 case uint32(328): + goto _328 + case uint32(326): goto _329 - case uint32(329): + case uint32(330): goto _330 - case uint32(331): + case uint32(329): goto _331 - case uint32(330): + case uint32(331): goto _332 case uint32(332): goto _333 - case uint32(333): - goto _334 case uint32(334): + goto _334 + case uint32(333): goto _335 case uint32(335): goto _336 @@ -160311,34 +161790,42 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _339 case uint32(339): goto _340 - default: + case uint32(340): goto _341 + case uint32(341): + goto _342 + case uint32(342): + goto _343 + case uint32(343): + goto _344 + default: + goto _345 } - goto _342 + goto _346 _1: ; /* explain ::= EXPLAIN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(1) } - goto _342 + goto _346 _2: ; /* explain ::= EXPLAIN QUERY PLAN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(2) } - goto _342 + goto _346 _3: ; /* cmdx ::= cmd */ _sqlite3FinishCoding(tls, pParse) - goto _342 + goto _346 _4: ; /* cmd ::= BEGIN transtype trans_opt */ _sqlite3BeginTransaction(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 + goto _346 _5: ; /* transtype ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*12 + 4)) = int32(TK_DEFERRED) - goto _342 + goto _346 _7: ; /* transtype ::= DEFERRED */ _6: @@ -160348,33 +161835,33 @@ _8: _9: ; *(*int32)(unsafe.Pointer(yymsp + 4)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 + goto _346 _11: ; /* cmd ::= COMMIT|END trans_opt */ _10: ; _sqlite3EndTransaction(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor)) - goto _342 + goto _346 _12: ; /* cmd ::= SAVEPOINT nm */ _sqlite3Savepoint(tls, pParse, SAVEPOINT_BEGIN, yymsp+4) - goto _342 + goto _346 _13: ; /* cmd ::= RELEASE savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_RELEASE), yymsp+4) - goto _342 + goto _346 _14: ; /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_ROLLBACK), yymsp+4) - goto _342 + goto _346 _15: ; /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ _sqlite3StartTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, yymsp+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), 0, 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) - goto _342 + goto _346 _16: ; /* createkw ::= CREATE */ _disableLookaside(tls, pParse) - goto _342 + goto _346 _18: ; /* ifnotexists ::= */ _17: @@ -160392,56 +161879,56 @@ _23: _24: ; *(*int32)(unsafe.Pointer(yymsp + 1*12 + 4)) = 0 - goto _342 + goto _346 _25: ; /* ifnotexists ::= IF NOT EXISTS */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = int32(1) - goto _342 + goto _346 _26: ; /* temp ::= TEMP */ *(*int32)(unsafe.Pointer(yymsp + 4)) = libc.BoolInt32(int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0) - goto _342 + goto _346 _27: ; /* create_table_args ::= LP columnlist conslist_opt RP table_option_set */ _sqlite3EndTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, *(*Tu32)(unsafe.Pointer(yymsp + 4)), uintptr(0)) - goto _342 + goto _346 _28: ; /* create_table_args ::= AS select */ _sqlite3EndTable(tls, pParse, uintptr(0), uintptr(0), uint32(0), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _29: ; /* table_option_set ::= */ *(*Tu32)(unsafe.Pointer(yymsp + 1*12 + 4)) = uint32(0) - goto _342 + goto _346 _30: ; /* table_option_set ::= table_option_set COMMA table_option */ *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) | *(*Tu32)(unsafe.Pointer(yymsp + 4)) *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _31: ; /* table_option ::= WITHOUT nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 4)), __ccgo_ts+16694, int32(5)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 4)), __ccgo_ts+16781, int32(5)) == 0 { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) } else { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23358, libc.VaList(bp+80, *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23481, libc.VaList(bp+80, *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)))) } - goto _342 + goto _346 _32: ; /* table_option ::= nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 4)), __ccgo_ts+16607, int32(6)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 4)), __ccgo_ts+16694, int32(6)) == 0 { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(TF_Strict) } else { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23358, libc.VaList(bp+80, *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23481, libc.VaList(bp+80, *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)))) } *(*Tu32)(unsafe.Pointer(yymsp + 4)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _33: ; /* columnname ::= nm typetoken */ _sqlite3AddColumn(tls, pParse, *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*TToken)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _35: ; /* typetoken ::= */ _34: @@ -160450,52 +161937,52 @@ _36: ; *(*uint32)(unsafe.Pointer(yymsp + 1*12 + 4 + 4)) = uint32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) - goto _342 + goto _346 _37: ; /* typetoken ::= typename LP signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4 + 4)) = uint32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 4))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 4 + 4)))) - int32(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)))) - goto _342 + goto _346 _38: ; /* typetoken ::= typename LP signed COMMA signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4 + 4)) = uint32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 4))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 4 + 4)))) - int32(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)))) - goto _342 + goto _346 _39: ; /* typename ::= typename ID|STRING */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) = *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) + uint32(int32(*(*uintptr)(unsafe.Pointer(yymsp + 4)))-int32(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))) - goto _342 + goto _346 _40: ; /* scanpt ::= */ _ = libc.Int32FromInt32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = yyLookaheadToken.Fz - goto _342 + goto _346 _41: ; /* scantok ::= */ _ = libc.Int32FromInt32(0) *(*TToken)(unsafe.Pointer(yymsp + 1*12 + 4)) = yyLookaheadToken - goto _342 + goto _346 _43: ; /* ccons ::= CONSTRAINT nm */ _42: ; (*TParse)(unsafe.Pointer(pParse)).FconstraintName = *(*TToken)(unsafe.Pointer(yymsp + 4)) - goto _342 + goto _346 _44: ; /* ccons ::= DEFAULT scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)))) - goto _342 + goto _346 _45: ; /* ccons ::= DEFAULT LP expr RP */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))+uintptr(1), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _46: ; /* ccons ::= DEFAULT PLUS scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)))) - goto _342 + goto _346 _47: ; /* ccons ::= DEFAULT MINUS scantok term */ p = _sqlite3PExpr(tls, pParse, int32(TK_UMINUS), *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0)) _sqlite3AddDefaultValue(tls, pParse, p, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)))) - goto _342 + goto _346 _48: ; /* ccons ::= DEFAULT scantok ID|INDEXED */ p1 = _tokenExpr(tls, pParse, int32(TK_STRING), *(*TToken)(unsafe.Pointer(yymsp + 4))) @@ -160503,99 +161990,99 @@ _48: _sqlite3ExprIdToTrueFalse(tls, p1) } _sqlite3AddDefaultValue(tls, pParse, p1, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 4 + 4)))) - goto _342 + goto _346 _49: ; /* ccons ::= NOT NULL onconf */ _sqlite3AddNotNull(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _50: ; /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ _sqlite3AddPrimaryKey(tls, pParse, uintptr(0), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) - goto _342 + goto _346 _51: ; /* ccons ::= UNIQUE onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), *(*int32)(unsafe.Pointer(yymsp + 4)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _52: ; /* ccons ::= CHECK LP expr RP */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _53: ; /* ccons ::= REFERENCES nm eidlist_opt refargs */ _sqlite3CreateForeignKey(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _54: ; /* ccons ::= defer_subclause */ _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _55: ; /* ccons ::= COLLATE ID|STRING */ _sqlite3AddCollateType(tls, pParse, yymsp+4) - goto _342 + goto _346 _56: ; /* generated ::= LP expr RP */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uintptr(0)) - goto _342 + goto _346 _57: ; /* generated ::= LP expr RP ID */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), yymsp+4) - goto _342 + goto _346 _58: ; /* autoinc ::= AUTOINCR */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(1) - goto _342 + goto _346 _59: ; /* refargs ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*12 + 4)) = libc.Int32FromInt32(OE_None) * libc.Int32FromInt32(0x0101) /* EV: R-19803-45884 */ - goto _342 + goto _346 _60: ; /* refargs ::= refargs refarg */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) & ^*(*int32)(unsafe.Pointer(yymsp + 4 + 4)) | *(*int32)(unsafe.Pointer(yymsp + 4)) - goto _342 + goto _346 _61: ; /* refarg ::= MATCH nm */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) = 0x000000 - goto _342 + goto _346 _62: ; /* refarg ::= ON INSERT refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4 + 4)) = 0x000000 - goto _342 + goto _346 _63: ; /* refarg ::= ON DELETE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*int32)(unsafe.Pointer(yymsp + 4)) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4 + 4)) = int32(0x0000ff) - goto _342 + goto _346 _64: ; /* refarg ::= ON UPDATE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*int32)(unsafe.Pointer(yymsp + 4)) << int32(8) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4 + 4)) = int32(0x00ff00) - goto _342 + goto _346 _65: ; /* refact ::= SET NULL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = int32(OE_SetNull) /* EV: R-33326-45252 */ - goto _342 + goto _346 _66: ; /* refact ::= SET DEFAULT */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = int32(OE_SetDflt) /* EV: R-33326-45252 */ - goto _342 + goto _346 _67: ; /* refact ::= CASCADE */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(OE_Cascade) /* EV: R-33326-45252 */ - goto _342 + goto _346 _68: ; /* refact ::= RESTRICT */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(OE_Restrict) /* EV: R-33326-45252 */ - goto _342 + goto _346 _69: ; /* refact ::= NO ACTION */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = OE_None /* EV: R-33326-45252 */ - goto _342 + goto _346 _70: ; /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = 0 - goto _342 + goto _346 _72: ; /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ _71: @@ -160603,7 +162090,7 @@ _71: _73: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*int32)(unsafe.Pointer(yymsp + 4)) - goto _342 + goto _346 _75: ; /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ _74: @@ -160615,64 +162102,64 @@ _77: _78: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = int32(1) - goto _342 + goto _346 _79: ; /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = 0 - goto _342 + goto _346 _80: ; /* tconscomma ::= COMMA */ (*TParse)(unsafe.Pointer(pParse)).FconstraintName.Fn = uint32(0) - goto _342 + goto _346 _81: ; /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ _sqlite3AddPrimaryKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), 0) - goto _342 + goto _346 _82: ; /* tcons ::= UNIQUE LP sortlist RP onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _83: ; /* tcons ::= CHECK LP expr RP onconf */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 + goto _346 _84: ; /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ _sqlite3CreateForeignKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _86: ; /* onconf ::= */ _85: ; *(*int32)(unsafe.Pointer(yymsp + 1*12 + 4)) = int32(OE_Default) - goto _342 + goto _346 _87: ; /* onconf ::= ON CONFLICT resolvetype */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*int32)(unsafe.Pointer(yymsp + 4)) - goto _342 + goto _346 _88: ; /* resolvetype ::= IGNORE */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(OE_Ignore) - goto _342 + goto _346 _90: ; /* resolvetype ::= REPLACE */ _89: ; *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(OE_Replace) - goto _342 + goto _346 _91: ; /* cmd ::= DROP TABLE ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 + goto _346 _92: ; /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ _sqlite3CreateView(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(8))*12+4, yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4))) - goto _342 + goto _346 _93: ; /* cmd ::= DROP VIEW ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), int32(1), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 + goto _346 _94: ; /* cmd ::= select */ *(*TSelectDest)(unsafe.Pointer(bp + 8)) = TSelectDest{ @@ -160680,22 +162167,22 @@ _94: } _sqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), bp+8) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _95: ; /* select ::= WITH wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 + goto _346 _96: ; /* select ::= WITH RECURSIVE wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 + goto _346 _97: ; /* select ::= selectnowith */ p2 = *(*uintptr)(unsafe.Pointer(yymsp + 4)) if p2 != 0 { _parserDoubleLinkSelect(tls, pParse, p2) } - goto _342 + goto _346 _98: ; /* selectnowith ::= selectnowith multiselect_op oneselect */ pRhs = *(*uintptr)(unsafe.Pointer(yymsp + 4)) @@ -160720,21 +162207,21 @@ _98: _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pLhs) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = pRhs - goto _342 + goto _346 _100: ; /* multiselect_op ::= UNION */ _99: ; *(*int32)(unsafe.Pointer(yymsp + 4)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-OP*/ - goto _342 + goto _346 _101: ; /* multiselect_op ::= UNION ALL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = int32(TK_ALL) - goto _342 + goto _346 _102: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4))), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _103: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(9))*12 + 4)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4))), *(*uintptr)(unsafe.Pointer(yymsp + 4))) @@ -160743,116 +162230,111 @@ _103: } else { _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) } - goto _342 + goto _346 _104: ; /* values ::= VALUES LP nexprlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) - goto _342 + goto _346 _105: - ; /* values ::= values COMMA LP nexprlist RP */ - pLeft = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) - pRight = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(libc.Int32FromInt32(SF_Values)|libc.Int32FromInt32(SF_MultiValue)), uintptr(0)) - if pLeft != 0 { - *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) - } - if pRight != 0 { - (*TSelect)(unsafe.Pointer(pRight)).Fop = uint8(TK_ALL) - (*TSelect)(unsafe.Pointer(pRight)).FpPrior = pLeft - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = pRight - } else { - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = pLeft - } - goto _342 + ; /* oneselect ::= mvalues */ + _sqlite3MultiValuesEnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4))) + goto _346 +_107: + ; /* mvalues ::= values COMMA LP nexprlist RP */ _106: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3MultiValues(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) + goto _346 +_108: ; /* distinct ::= DISTINCT */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(SF_Distinct) - goto _342 -_107: + goto _346 +_109: ; /* distinct ::= ALL */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(SF_All) - goto _342 -_109: + goto _346 +_111: ; /* sclp ::= */ -_108: - ; _110: ; -_111: - ; _112: ; _113: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) - goto _342 _114: + ; +_115: + ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) + goto _346 +_116: ; /* selcollist ::= sclp scanpt expr scanpt as */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) if *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) > uint32(0) { _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), yymsp+4, int32(1)) } _sqlite3ExprListSetSpan(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 -_115: + goto _346 +_117: ; /* selcollist ::= sclp scanpt STAR */ p3 = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_ASTERISK), uintptr(0)) _sqlite3ExprSetErrorOffset(tls, p3, int32(*(*uintptr)(unsafe.Pointer(yymsp + 4)))-int32((*TParse)(unsafe.Pointer(pParse)).FzTail)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), p3) - goto _342 -_116: + goto _346 +_118: ; /* selcollist ::= sclp scanpt nm DOT STAR */ - pRight1 = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) - _sqlite3ExprSetErrorOffset(tls, pRight1, int32(*(*uintptr)(unsafe.Pointer(yymsp + 4)))-int32((*TParse)(unsafe.Pointer(pParse)).FzTail)) - pLeft1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) - pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft1, pRight1) + pRight = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) + _sqlite3ExprSetErrorOffset(tls, pRight, int32(*(*uintptr)(unsafe.Pointer(yymsp + 4)))-int32((*TParse)(unsafe.Pointer(pParse)).FzTail)) + pLeft = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) + pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft, pRight) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), pDot) - goto _342 -_118: + goto _346 +_120: ; /* as ::= AS nm */ -_117: - ; _119: ; -_120: +_121: ; - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*TToken)(unsafe.Pointer(yymsp + 4)) - goto _342 _122: + ; + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*TToken)(unsafe.Pointer(yymsp + 4)) + goto _346 +_124: ; /* from ::= */ -_121: +_123: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) - goto _342 -_123: + goto _346 +_125: ; /* from ::= FROM seltablist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) _sqlite3SrcListShiftJoinType(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 -_124: + goto _346 +_126: ; /* stl_prefix ::= seltablist joinop */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) != 0 && (*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))).FnSrc > 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) + 8 + uintptr((*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))).FnSrc-int32(1))*68))).Ffg.Fjointype = uint8(*(*int32)(unsafe.Pointer(yymsp + 4))) } - goto _342 -_125: + goto _346 +_127: ; /* seltablist ::= stl_prefix nm dbnm as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, uintptr(0), yymsp+4) - goto _342 -_126: + goto _346 +_128: ; /* seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, uintptr(0), yymsp+4) _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(1))*12+4) - goto _342 -_127: + goto _346 +_129: ; /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(6))*12+4, yymsp+uintptr(-libc.Int32FromInt32(5))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, uintptr(0), yymsp+4) _sqlite3SrcListFuncArgs(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4))) - goto _342 -_128: + goto _346 +_130: ; /* seltablist ::= stl_prefix LP select RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), yymsp+4) - goto _342 -_129: + goto _346 +_131: ; /* seltablist ::= stl_prefix LP seltablist RP as on_using */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) == uintptr(0) && *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) == uint32(0) && *(*uintptr)(unsafe.Pointer(yymsp + 4)) == uintptr(0) && *(*uintptr)(unsafe.Pointer(yymsp + 4 + 4)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) @@ -160874,9 +162356,9 @@ _129: libc.SetBitFieldPtr16Uint32(pOld+36+4, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pNew+36+4, libc.Uint32FromInt32(1), 2, 0x4) } - v343 = libc.UintptrFromInt32(0) - (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v343 - (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v343 + v347 = libc.UintptrFromInt32(0) + (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v347 + (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v347 (*TSrcItem)(unsafe.Pointer(pOld)).FpSelect = uintptr(0) } _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4))) @@ -160886,189 +162368,189 @@ _129: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, pSubquery, yymsp+4) } } - goto _342 -_131: + goto _346 +_133: ; /* dbnm ::= */ -_130: +_132: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + 1*12 + 4 + 4)) = uint32(0) - goto _342 -_132: + goto _346 +_134: ; /* fullname ::= nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+4, uintptr(0)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+4) } *(*uintptr)(unsafe.Pointer(yymsp + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_133: + goto _346 +_135: ; /* fullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+4) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+4) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_134: + goto _346 +_136: ; /* xfullname ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 4)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+4, uintptr(0)) /*A-overwrites-X*/ - goto _342 -_135: + goto _346 +_137: ; /* xfullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+4) /*A-overwrites-X*/ - goto _342 -_136: + goto _346 +_138: ; /* xfullname ::= nm DOT nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+4) } - goto _342 -_137: + goto _346 +_139: ; /* xfullname ::= nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, uintptr(0)) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+4) } - goto _342 -_138: + goto _346 +_140: ; /* joinop ::= COMMA|JOIN */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(JT_INNER) - goto _342 -_139: + goto _346 +_141: ; /* joinop ::= JOIN_KW JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, uintptr(0), uintptr(0)) /*X-overwrites-A*/ - goto _342 -_140: + goto _346 +_142: ; /* joinop ::= JOIN_KW nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, uintptr(0)) /*X-overwrites-A*/ - goto _342 -_141: + goto _346 +_143: ; /* joinop ::= JOIN_KW nm nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4) /*X-overwrites-A*/ - goto _342 -_142: + goto _346 +_144: ; /* on_using ::= ON expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) = uintptr(0) - goto _342 -_143: + goto _346 +_145: ; /* on_using ::= USING LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) - goto _342 -_144: + goto _346 +_146: ; /* on_using ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4 + 4)) = uintptr(0) - goto _342 -_145: + goto _346 +_147: ; /* indexed_by ::= INDEXED BY nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*TToken)(unsafe.Pointer(yymsp + 4)) - goto _342 -_146: + goto _346 +_148: ; /* indexed_by ::= NOT INDEXED */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) = uint32(1) - goto _342 -_148: + goto _346 +_150: ; /* orderby_opt ::= ORDER BY sortlist */ -_147: +_149: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) - goto _342 -_149: + goto _346 +_151: ; /* sortlist ::= sortlist COMMA expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4))) - goto _342 -_150: + goto _346 +_152: ; /* sortlist ::= expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) /*A-overwrites-Y*/ _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4))) - goto _342 -_151: + goto _346 +_153: ; /* sortorder ::= ASC */ *(*int32)(unsafe.Pointer(yymsp + 4)) = SQLITE_SO_ASC - goto _342 -_152: + goto _346 +_154: ; /* sortorder ::= DESC */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(SQLITE_SO_DESC) - goto _342 -_154: + goto _346 +_156: ; /* sortorder ::= */ -_153: +_155: ; *(*int32)(unsafe.Pointer(yymsp + 1*12 + 4)) = -int32(1) - goto _342 -_155: + goto _346 +_157: ; /* nulls ::= NULLS FIRST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = SQLITE_SO_ASC - goto _342 -_156: + goto _346 +_158: ; /* nulls ::= NULLS LAST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = int32(SQLITE_SO_DESC) - goto _342 -_158: + goto _346 +_160: ; /* having_opt ::= */ -_157: - ; _159: ; -_160: - ; _161: ; _162: ; _163: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) - goto _342 -_165: - ; /* having_opt ::= HAVING expr */ _164: ; -_166: +_165: ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) + goto _346 _167: + ; /* having_opt ::= HAVING expr */ +_166: ; _168: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) - goto _342 _169: + ; +_170: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) + goto _346 +_171: ; /* limit_opt ::= LIMIT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0)) - goto _342 -_170: + goto _346 +_172: ; /* limit_opt ::= LIMIT expr OFFSET expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_171: + goto _346 +_173: ; /* limit_opt ::= LIMIT expr COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) - goto _342 -_172: + goto _346 +_174: ; /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(1))*12+4) _sqlite3DeleteFrom(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0), uintptr(0)) - goto _342 -_173: + goto _346 +_175: ; /* where_opt_ret ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = uintptr(0) - goto _342 -_174: + goto _346 +_176: ; /* where_opt_ret ::= WHERE expr RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) - goto _342 -_175: + goto _346 +_177: ; /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4) - _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), __ccgo_ts+23385) + _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), __ccgo_ts+23508) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) != 0 { pFromClause = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) if (*TSrcList)(unsafe.Pointer(pFromClause)).FnSrc > int32(1) { @@ -161080,95 +162562,95 @@ _175: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), pFromClause) } _sqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_176: + goto _346 +_178: ; /* setlist ::= setlist COMMA nm EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, int32(1)) - goto _342 -_177: + goto _346 +_179: ; /* setlist ::= setlist COMMA LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)) = _sqlite3ExprListAppendVector(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_178: + goto _346 +_180: ; /* setlist ::= nm EQ expr */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, int32(1)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_179: + goto _346 +_181: ; /* setlist ::= LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3ExprListAppendVector(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_180: + goto _346 +_182: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_181: + goto _346 +_183: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)), uintptr(0)) - goto _342 -_182: + goto _346 +_184: ; /* upsert ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) - goto _342 -_183: + goto _346 +_185: ; /* upsert ::= RETURNING selcollist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = uintptr(0) _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_184: + goto _346 +_186: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(11))*12 + 4)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_185: + goto _346 +_187: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_186: + goto _346 +_188: ; /* upsert ::= ON CONFLICT DO NOTHING returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_187: + goto _346 +_189: ; /* upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uintptr(0)) - goto _342 -_188: + goto _346 +_190: ; /* returning ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_189: + goto _346 +_191: ; /* idlist_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) - goto _342 -_190: + goto _346 +_192: ; /* idlist_opt ::= LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) - goto _342 -_191: + goto _346 +_193: ; /* idlist ::= idlist COMMA nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3IdListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), yymsp+4) - goto _342 -_192: + goto _346 +_194: ; /* idlist ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 4)) = _sqlite3IdListAppend(tls, pParse, uintptr(0), yymsp+4) /*A-overwrites-Y*/ - goto _342 -_193: + goto _346 +_195: ; /* expr ::= LP expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) - goto _342 -_194: + goto _346 +_196: ; /* expr ::= ID|INDEXED|JOIN_KW */ *(*uintptr)(unsafe.Pointer(yymsp + 4)) = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 4))) /*A-overwrites-X*/ - goto _342 -_195: + goto _346 +_197: ; /* expr ::= nm DOT nm */ temp1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) temp2 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp1, temp2) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_196: + goto _346 +_198: ; /* expr ::= nm DOT nm DOT nm */ temp11 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4))) temp21 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) @@ -161179,22 +162661,22 @@ _196: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp11, temp4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_198: + goto _346 +_200: ; /* term ::= NULL|FLOAT|BLOB */ -_197: +_199: ; *(*uintptr)(unsafe.Pointer(yymsp + 4)) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 4))) /*A-overwrites-X*/ - goto _342 -_199: + goto _346 +_201: ; /* term ::= INTEGER */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), yymsp+4, int32(1)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 36)) = int32(*(*uintptr)(unsafe.Pointer(yymsp + 4))) - int32((*TParse)(unsafe.Pointer(pParse)).FzTail) } *(*uintptr)(unsafe.Pointer(yymsp + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_200: + goto _346 +_202: ; /* expr ::= VARIABLE */ if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 4))))) == int32('#') && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 4)) + 1)))])&int32(0x04) != 0) { n = *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) @@ -161207,7 +162689,7 @@ _200: *(*TToken)(unsafe.Pointer(bp + 56)) = *(*TToken)(unsafe.Pointer(yymsp + 4)) /*A-overwrites-X*/ _ = libc.Int32FromInt32(0) if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23394, libc.VaList(bp+80, bp+56)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23517, libc.VaList(bp+80, bp+56)) *(*uintptr)(unsafe.Pointer(yymsp + 4)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_REGISTER), uintptr(0), uintptr(0)) @@ -161216,57 +162698,57 @@ _200: } } } - goto _342 -_201: + goto _346 +_203: ; /* expr ::= expr COLLATE ID|STRING */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3ExprAddCollateToken(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), yymsp+4, int32(1)) - goto _342 -_202: + goto _346 +_204: ; /* expr ::= CAST LP expr AS typetoken RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_CAST), yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, int32(1)) _sqlite3ExprAttachSubtrees(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), uintptr(0)) - goto _342 -_203: + goto _346 +_205: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_204: + goto _346 +_206: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(7))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_205: + goto _346 +_207: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_206: + goto _346 +_208: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(5))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_207: + goto _346 +_209: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(8))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_208: + goto _346 +_210: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, 0) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_209: + goto _346 +_211: ; /* term ::= CTIME_KW */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+4, 0) *(*uintptr)(unsafe.Pointer(yymsp + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_210: + goto _346 +_212: ; /* expr ::= LP nexprlist COMMA expr RP */ pList = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_VECTOR), uintptr(0), uintptr(0)) @@ -161278,33 +162760,33 @@ _210: } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pList) } - goto _342 -_211: + goto _346 +_213: ; /* expr ::= expr AND expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3ExprAnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_213: + goto _346 +_215: ; /* expr ::= expr OR expr */ -_212: - ; _214: ; -_215: - ; _216: ; _217: ; _218: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 _219: + ; +_220: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) + goto _346 +_221: ; /* likeop ::= NOT LIKE_KW|MATCH */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*TToken)(unsafe.Pointer(yymsp + 4)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) |= uint32(0x80000000) /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/ - goto _342 -_220: + goto _346 +_222: ; /* expr ::= expr likeop expr */ bNot = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) &= uint32(0x7fffffff) @@ -161317,8 +162799,8 @@ _220: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_221: + goto _346 +_223: ; /* expr ::= expr likeop expr ESCAPE expr */ bNot1 = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4 + 4)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4 + 4)) &= uint32(0x7fffffff) @@ -161332,65 +162814,69 @@ _221: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_222: + goto _346 +_224: ; /* expr ::= expr ISNULL|NOTNULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uintptr(0)) - goto _342 -_223: + goto _346 +_225: ; /* expr ::= expr NOT NULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_NOTNULL), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), uintptr(0)) - goto _342 -_224: + goto _346 +_226: ; /* expr ::= expr IS expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), int32(TK_ISNULL)) - goto _342 -_225: + goto _346 +_227: ; /* expr ::= expr IS NOT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), int32(TK_NOTNULL)) - goto _342 -_226: + goto _346 +_228: ; /* expr ::= expr IS NOT DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), int32(TK_ISNULL)) - goto _342 -_227: + goto _346 +_229: ; /* expr ::= expr IS DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), int32(TK_NOTNULL)) - goto _342 -_229: + goto _346 +_231: ; /* expr ::= NOT expr */ -_228: +_230: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0)) /*A-overwrites-B*/ - goto _342 -_230: + goto _346 +_232: ; /* expr ::= PLUS|MINUS expr */ - if int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor) == int32(TK_PLUS) { - v344 = int32(TK_UPLUS) + p4 = *(*uintptr)(unsafe.Pointer(yymsp + 4)) + op = uint8(int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor) + (libc.Int32FromInt32(TK_UPLUS) - libc.Int32FromInt32(TK_PLUS))) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if p4 != 0 && int32((*TExpr)(unsafe.Pointer(p4)).Fop) == int32(TK_UPLUS) { + (*TExpr)(unsafe.Pointer(p4)).Fop = op + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = p4 } else { - v344 = int32(TK_UMINUS) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(op), p4, uintptr(0)) + /*A-overwrites-B*/ } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = _sqlite3PExpr(tls, pParse, v344, *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0)) - /*A-overwrites-B*/ - goto _342 -_231: + goto _346 +_233: ; /* expr ::= expr PTR expr */ pList3 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) pList3 = _sqlite3ExprListAppend(tls, pParse, pList3, *(*uintptr)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, pList3, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_233: + goto _346 +_235: ; /* between_op ::= BETWEEN */ -_232: +_234: ; *(*int32)(unsafe.Pointer(yymsp + 4)) = 0 - goto _342 -_234: + goto _346 +_236: ; /* expr ::= expr between_op expr AND expr */ pList4 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) pList4 = _sqlite3ExprListAppend(tls, pParse, pList4, *(*uintptr)(unsafe.Pointer(yymsp + 4))) @@ -161403,8 +162889,8 @@ _234: if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uintptr(0)) } - goto _342 -_235: + goto _346 +_237: ; /* expr ::= expr in_op LP exprlist RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) == uintptr(0) { /* Expressions of the form @@ -161417,17 +162903,17 @@ _235: */ _sqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) != 0 { - v345 = __ccgo_ts + 7886 + v348 = __ccgo_ts + 8011 } else { - v345 = __ccgo_ts + 7891 + v348 = __ccgo_ts + 8016 } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v345) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v348) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) != 0 { _sqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4))) } } else { pRHS = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) + 8))).FpExpr - if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)))).Fop) != int32(TK_VECTOR) { + if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pParse, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)))).Fop) != int32(TK_VECTOR) { (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) + 8))).FpExpr = uintptr(0) _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) pRHS = _sqlite3PExpr(tls, pParse, int32(TK_UPLUS), pRHS, uintptr(0)) @@ -161461,463 +162947,467 @@ _235: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uintptr(0)) } } - goto _342 -_236: + goto _346 +_238: ; /* expr ::= LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_SELECT), uintptr(0), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 -_237: + goto _346 +_239: ; /* expr ::= expr in_op LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uintptr(0)) } - goto _342 -_238: + goto _346 +_240: ; /* expr ::= expr in_op nm dbnm paren_exprlist */ pSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4) pSelect = _sqlite3SelectNew(tls, pParse, uintptr(0), pSrc, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 4)) != 0 { if pSelect != 0 { - v346 = pSrc + v349 = pSrc } else { - v346 = uintptr(0) + v349 = uintptr(0) } - _sqlite3SrcListFuncArgs(tls, pParse, v346, *(*uintptr)(unsafe.Pointer(yymsp + 4))) + _sqlite3SrcListFuncArgs(tls, pParse, v349, *(*uintptr)(unsafe.Pointer(yymsp + 4))) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), pSelect) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uintptr(0)) } - goto _342 -_239: + goto _346 +_241: ; /* expr ::= EXISTS LP select RP */ - v347 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = v347 - p4 = v347 - _sqlite3PExprAddSelect(tls, pParse, p4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 -_240: + v350 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = v350 + p5 = v350 + _sqlite3PExprAddSelect(tls, pParse, p5, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) + goto _346 +_242: ; /* expr ::= CASE case_operand case_exprlist case_else END */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_CASE), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) != 0 { if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) != 0 { - v348 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) + v351 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) } else { - v348 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) + v351 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) } - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) + 20)) = v348 + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) + 20)) = v351 _sqlite3ExprSetHeightAndFlags(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4))) } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) } - goto _342 -_241: + goto _346 +_243: ; /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_242: + goto _346 +_244: ; /* case_exprlist ::= WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_243: + goto _346 +_245: ; /* nexprlist ::= nexprlist COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_244: + goto _346 +_246: ; /* nexprlist ::= expr */ *(*uintptr)(unsafe.Pointer(yymsp + 4)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 4))) /*A-overwrites-Y*/ - goto _342 -_246: + goto _346 +_248: ; /* paren_exprlist ::= LP exprlist RP */ -_245: +_247: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) - goto _342 -_247: + goto _346 +_249: ; /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ _sqlite3CreateIndex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*12+4, yymsp+uintptr(-libc.Int32FromInt32(6))*12+4, _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, uintptr(0)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(11))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + 4)), SQLITE_SO_ASC, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)), uint8(SQLITE_IDXTYPE_APPDEF)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && (*TParse)(unsafe.Pointer(pParse)).FpNewIndex != 0 { _sqlite3RenameTokenMap(tls, pParse, (*TIndex)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpNewIndex)).FzName, yymsp+uintptr(-libc.Int32FromInt32(4))*12+4) } - goto _342 -_249: + goto _346 +_251: ; /* uniqueflag ::= UNIQUE */ -_248: +_250: ; *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(OE_Abort) - goto _342 -_250: + goto _346 +_252: ; /* uniqueflag ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*12 + 4)) = OE_None - goto _342 -_251: + goto _346 +_253: ; /* eidlist ::= eidlist COMMA nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4))) - goto _342 -_252: + goto _346 +_254: ; /* eidlist ::= nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4))) /*A-overwrites-Y*/ - goto _342 -_253: + goto _346 +_255: ; /* cmd ::= DROP INDEX ifexists fullname */ _sqlite3DropIndex(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 -_254: + goto _346 +_256: ; /* cmd ::= VACUUM vinto */ _sqlite3Vacuum(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_255: + goto _346 +_257: ; /* cmd ::= VACUUM nm vinto */ _sqlite3Vacuum(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_256: + goto _346 +_258: ; /* cmd ::= PRAGMA nm dbnm */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, yymsp+4, uintptr(0), 0) - goto _342 -_257: + goto _346 +_259: ; /* cmd ::= PRAGMA nm dbnm EQ nmnum */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+4, 0) - goto _342 -_258: + goto _346 +_260: ; /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, 0) - goto _342 -_259: + goto _346 +_261: ; /* cmd ::= PRAGMA nm dbnm EQ minus_num */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+4, int32(1)) - goto _342 -_260: + goto _346 +_262: ; /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, int32(1)) - goto _342 -_261: + goto _346 +_263: ; /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ (*(*TToken)(unsafe.Pointer(bp + 64))).Fz = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) (*(*TToken)(unsafe.Pointer(bp + 64))).Fn = uint32(int32(*(*uintptr)(unsafe.Pointer(yymsp + 4)))-int32(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)))) + *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) _sqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), bp+64) - goto _342 -_262: + goto _346 +_264: ; /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ _sqlite3BeginTrigger(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*12+4, yymsp+uintptr(-libc.Int32FromInt32(6))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4))) if *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4 + 4)) == uint32(0) { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)) } else { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)) } - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*12 + 4)) = v349 /*A-overwrites-T*/ - goto _342 -_263: + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*12 + 4)) = v352 /*A-overwrites-T*/ + goto _346 +_265: ; /* trigger_time ::= BEFORE|AFTER */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_264: + goto _346 +_266: ; /* trigger_time ::= INSTEAD OF */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = int32(TK_INSTEAD) - goto _342 -_265: + goto _346 +_267: ; /* trigger_time ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*12 + 4)) = int32(TK_BEFORE) - goto _342 -_267: + goto _346 +_269: ; /* trigger_event ::= DELETE|INSERT */ -_266: +_268: ; *(*int32)(unsafe.Pointer(yymsp + 4)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ *(*uintptr)(unsafe.Pointer(yymsp + 4 + 4)) = uintptr(0) - goto _342 -_268: + goto _346 +_270: ; /* trigger_event ::= UPDATE OF idlist */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = int32(TK_UPDATE) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) - goto _342 -_270: + goto _346 +_272: ; /* when_clause ::= */ -_269: +_271: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) - goto _342 -_272: + goto _346 +_274: ; /* when_clause ::= WHEN expr */ -_271: +_273: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) - goto _342 -_273: + goto _346 +_275: ; /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ _ = libc.Int32FromInt32(0) (*TTriggerStep)(unsafe.Pointer((*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)))).FpLast)).FpNext = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) - goto _342 -_274: + goto _346 +_276: ; /* trigger_cmd_list ::= trigger_cmd SEMI */ _ = libc.Int32FromInt32(0) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) - goto _342 -_275: + goto _346 +_277: ; /* trnm ::= nm DOT nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*TToken)(unsafe.Pointer(yymsp + 4)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23418, 0) - goto _342 -_276: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23541, 0) + goto _346 +_278: ; /* tridxby ::= INDEXED BY nm */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23513, 0) - goto _342 -_277: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23636, 0) + goto _346 +_279: ; /* tridxby ::= NOT INDEXED */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23597, 0) - goto _342 -_278: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23720, 0) + goto _346 +_280: ; /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerUpdateStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(6))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_279: + goto _346 +_281: ; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) /*yylhsminor.yy33-overwrites-yymsp[-6].minor.yy394*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_280: + goto _346 +_282: ; /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerDeleteStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_281: + goto _346 +_283: ; /* trigger_cmd ::= scanpt select scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) /*yylhsminor.yy33-overwrites-yymsp[-1].minor.yy47*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) /*yylhsminor.yy427-overwrites-yymsp[-1].minor.yy555*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_282: + goto _346 +_284: ; /* expr ::= RAISE LP IGNORE RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_RAISE), uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)))).FaffExpr = int8(OE_Ignore) } - goto _342 -_283: + goto _346 +_285: ; /* expr ::= RAISE LP raisetype COMMA nm RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_RAISE), yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, int32(1)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)))).FaffExpr = int8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4))) } - goto _342 -_284: + goto _346 +_286: ; /* raisetype ::= ROLLBACK */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(OE_Rollback) - goto _342 -_285: + goto _346 +_287: ; /* raisetype ::= FAIL */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(OE_Fail) - goto _342 -_286: + goto _346 +_288: ; /* cmd ::= DROP TRIGGER ifexists fullname */ _sqlite3DropTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 -_287: + goto _346 +_289: ; /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ _sqlite3Attach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_288: + goto _346 +_290: ; /* cmd ::= DETACH database_kw_opt expr */ _sqlite3Detach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_289: + goto _346 +_291: ; /* cmd ::= REINDEX */ _sqlite3Reindex(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_290: + goto _346 +_292: ; /* cmd ::= REINDEX nm dbnm */ _sqlite3Reindex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, yymsp+4) - goto _342 -_291: + goto _346 +_293: ; /* cmd ::= ANALYZE */ _sqlite3Analyze(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_292: + goto _346 +_294: ; /* cmd ::= ANALYZE nm dbnm */ _sqlite3Analyze(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, yymsp+4) - goto _342 -_293: + goto _346 +_295: ; /* cmd ::= ALTER TABLE fullname RENAME TO nm */ _sqlite3AlterRenameTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), yymsp+4) - goto _342 -_294: + goto _346 +_296: ; /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) = uint32(int32((*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fz)-int32(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))) + (*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fn _sqlite3AlterFinishAddColumn(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4) - goto _342 -_295: + goto _346 +_297: ; /* cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ _sqlite3AlterDropColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), yymsp+4) - goto _342 -_296: + goto _346 +_298: ; /* add_column_fullname ::= fullname */ _disableLookaside(tls, pParse) _sqlite3AlterBeginAddColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_297: + goto _346 +_299: ; /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ _sqlite3AlterRenameColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+4) - goto _342 -_298: + goto _346 +_300: ; /* cmd ::= create_vtab */ _sqlite3VtabFinishParse(tls, pParse, uintptr(0)) - goto _342 -_299: + goto _346 +_301: ; /* cmd ::= create_vtab LP vtabarglist RP */ _sqlite3VtabFinishParse(tls, pParse, yymsp+4) - goto _342 -_300: + goto _346 +_302: ; /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ _sqlite3VtabBeginParse(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4))) - goto _342 -_301: + goto _346 +_303: ; /* vtabarg ::= */ _sqlite3VtabArgInit(tls, pParse) - goto _342 -_303: + goto _346 +_305: ; /* vtabargtoken ::= ANY */ -_302: - ; _304: ; - _sqlite3VtabArgExtend(tls, pParse, yymsp+4) - goto _342 _306: + ; + _sqlite3VtabArgExtend(tls, pParse, yymsp+4) + goto _346 +_308: ; /* with ::= WITH wqlist */ -_305: +_307: ; _sqlite3WithPush(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), uint8(1)) - goto _342 -_307: + goto _346 +_309: ; /* wqas ::= AS */ *(*Tu8)(unsafe.Pointer(yymsp + 4)) = uint8(M10d_Any) - goto _342 -_308: + goto _346 +_310: ; /* wqas ::= AS MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = uint8(M10d_Yes) - goto _342 -_309: + goto _346 +_311: ; /* wqas ::= AS NOT MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = uint8(M10d_No) - goto _342 -_310: - ; /* wqitem ::= nm eidlist_opt wqas LP select RP */ + goto _346 +_312: + ; /* wqitem ::= withnm eidlist_opt wqas LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4))) /*A-overwrites-X*/ - goto _342 -_311: + goto _346 +_313: + ; /* withnm ::= nm */ + (*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1) + goto _346 +_314: ; /* wqlist ::= wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + 4)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 4))) /*A-overwrites-X*/ - goto _342 -_312: + goto _346 +_315: ; /* wqlist ::= wqlist COMMA wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3WithAdd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_313: + goto _346 +_316: ; /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ _ = libc.Int32FromInt32(0) _sqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 4)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_314: + goto _346 +_317: ; /* windowdefn ::= nm AS LP window RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uint64(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4 + 4)))) } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_315: + goto _346 +_318: ; /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uintptr(0)) - goto _342 -_316: + goto _346 +_319: ; /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(5))*12+4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_317: + goto _346 +_320: ; /* window ::= ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uintptr(0)) - goto _342 -_318: + goto _346 +_321: ; /* window ::= nm ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_319: + goto _346 +_322: ; /* window ::= nm frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*12+4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_320: + goto _346 +_323: ; /* frame_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = _sqlite3WindowAlloc(tls, pParse, 0, int32(TK_UNBOUNDED), uintptr(0), int32(TK_CURRENT), uintptr(0), uint8(0)) - goto _342 -_321: + goto _346 +_324: ; /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)), int32(TK_CURRENT), uintptr(0), *(*Tu8)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_322: + goto _346 +_325: ; /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)), *(*Tu8)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_324: + goto _346 +_327: ; /* frame_bound_s ::= frame_bound */ -_323: +_326: ; *(*TFrameBound)(unsafe.Pointer(bp)) = *(*TFrameBound)(unsafe.Pointer(yymsp + 4)) *(*TFrameBound)(unsafe.Pointer(yymsp + 4)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_326: + goto _346 +_329: ; /* frame_bound_s ::= UNBOUNDED PRECEDING */ -_325: +_328: ; -_327: +_330: ; (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = uintptr(0) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_328: + goto _346 +_331: ; /* frame_bound ::= expr PRECEDING|FOLLOWING */ (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_329: + goto _346 +_332: ; /* frame_exclude_opt ::= */ *(*Tu8)(unsafe.Pointer(yymsp + 1*12 + 4)) = uint8(0) - goto _342 -_330: + goto _346 +_333: ; /* frame_exclude_opt ::= EXCLUDE frame_exclude */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*Tu8)(unsafe.Pointer(yymsp + 4)) - goto _342 -_332: + goto _346 +_335: ; /* frame_exclude ::= NO OTHERS */ -_331: +_334: ; *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor) /*A-overwrites-X*/ - goto _342 -_333: + goto _346 +_336: ; /* frame_exclude ::= GROUP|TIES */ *(*Tu8)(unsafe.Pointer(yymsp + 4)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_334: + goto _346 +_337: ; /* window_clause ::= WINDOW windowdefn_list */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) - goto _342 -_335: + goto _346 +_338: ; /* filter_over ::= filter_clause over_clause */ if *(*uintptr)(unsafe.Pointer(yymsp + 4)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 4)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) @@ -161926,13 +163416,13 @@ _335: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_336: + goto _346 +_339: ; /* filter_over ::= over_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) *(*uintptr)(unsafe.Pointer(yymsp + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_337: + goto _346 +_340: ; /* filter_over ::= filter_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(100)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { @@ -161942,24 +163432,30 @@ _337: _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 4))) } *(*uintptr)(unsafe.Pointer(yymsp + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_338: + goto _346 +_341: ; /* over_clause ::= OVER LP window RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) _ = libc.Int32FromInt32(0) - goto _342 -_339: + goto _346 +_342: ; /* over_clause ::= OVER nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(100)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 4)), uint64(*(*uint32)(unsafe.Pointer(yymsp + 4 + 4)))) } - goto _342 -_340: + goto _346 +_343: ; /* filter_clause ::= FILTER LP WHERE expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) - goto _342 -_341: + goto _346 +_344: + ; /* term ::= QNUMBER */ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 4))) + _sqlite3DequoteNumber(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))) + *(*uintptr)(unsafe.Pointer(yymsp + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + goto _346 +_345: ; _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -161976,9 +163472,9 @@ _341: _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - goto _342 + goto _346 /********** End reduce actions ************************************************/ -_342: +_346: ; _ = libc.Int32FromInt32(0) yygoto = int32(_yyRuleInfoLhs[yyruleno]) @@ -162015,9 +163511,9 @@ func _yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, _yyminor /************ Begin %syntax_error code ****************************************/ _ = yymajor /* Silence some compiler warnings */ if *(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp))).Fz)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23394, libc.VaList(bp+16, bp)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23517, libc.VaList(bp+16, bp)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23682, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23805, 0) } /************ End %syntax_error code ******************************************/ /* Suppress warning about unused %extra_argument variable */ @@ -162086,8 +163582,10 @@ func _sqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor TToken) { ** enough on the stack to push the LHS value */ if int32(_yyRuleInfoNRhs[yyruleno]) == 0 { if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos >= (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - _yyStackOverflow(tls, yypParser) - break + if _yyGrowStack(tls, yypParser) != 0 { + _yyStackOverflow(tls, yypParser) + break + } } } yyact = _yy_reduce(tls, yypParser, yyruleno, yymajor, yyminor, pParse) @@ -164239,9 +165737,9 @@ func _analyzeFilterKeyword(tls *libc.TLS, _z uintptr, lastToken int32) (r int32) // ** Store the token type in *tokenType before returning. // */ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { - var c, delim, i, n, v10, v14, v16, v19, v20, v3, v5, v7, v8 int32 - var v15, v6 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v14, v15, v16, v19, v20, v3, v5, v6, v7, v8 + var c, delim, i, n, v10, v16, v18, v21, v22, v3, v5, v7, v8 int32 + var v17, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v16, v17, v18, v21, v22, v3, v5, v6, v7, v8 switch int32(_aiClass[*(*uint8)(unsafe.Pointer(z))]) { /* Switch on the character-class of the first byte ** of the token. See the comment on the CC_ defines ** above. */ @@ -164437,39 +165935,83 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('X')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 2))])&int32(0x08) != 0 { i = int32(3) for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { + if !(int32(1) != 0) { break } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } goto _11 _11: ; i++ } - return i - } - i = 0 - for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _12 - _12: - ; - i++ - } - if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { - i++ - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + } else { + i = 0 + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _12 + _12: + ; i++ } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) - } - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { - i += int32(2) - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } i++ + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _13 + _13: + ; + i++ + } + } + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } + i += int32(2) + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _14 + _14: + ; + i++ + } } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) } for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x46) != 0 { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_ILLEGAL) @@ -164480,24 +166022,24 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { i = int32(1) c = int32(*(*uint8)(unsafe.Pointer(z))) for { - if v15 = c != int32(']'); v15 { - v14 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v14 + if v17 = c != int32(']'); v17 { + v16 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v16 } - if !(v15 && v14 != 0) { + if !(v17 && v16 != 0) { break } - goto _13 - _13: + goto _15 + _15: ; i++ } if c == int32(']') { - v16 = int32(TK_ID) + v18 = int32(TK_ID) } else { - v16 = int32(TK_ILLEGAL) + v18 = int32(TK_ILLEGAL) } - *(*int32)(unsafe.Pointer(tokenType)) = v16 + *(*int32)(unsafe.Pointer(tokenType)) = v18 return i case int32(CC_VARNUM): *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) @@ -164506,8 +166048,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { break } - goto _17 - _17: + goto _19 + _19: ; i++ } @@ -164519,9 +166061,9 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) i = int32(1) for { - v19 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v19 - if !(v19 != 0) { + v21 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v21 + if !(v21 != 0) { break } if int32(_sqlite3CtypeMap[uint8(c)])&int32(0x46) != 0 { @@ -164530,12 +166072,12 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if c == int32('(') && n > 0 { for { i++ - goto _21 - _21: + goto _23 + _23: ; - v20 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v20 - if !(v20 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { + v22 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v22 + if !(v22 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { break } } @@ -164553,8 +166095,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { } } } - goto _18 - _18: + goto _20 + _20: ; i++ } @@ -164572,8 +166114,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_aiClass[*(*uint8)(unsafe.Pointer(z + uintptr(i)))]) <= int32(CC_KYWD)) { break } - goto _22 - _22: + goto _24 + _24: ; i++ } @@ -164594,8 +166136,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { break } - goto _23 - _23: + goto _25 + _25: ; i++ } @@ -164641,13 +166183,13 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { // ** Run the parser on the given SQL string. // */ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { - bp := tls.Alloc(1248) - defer tls.Free(1248) + bp := tls.Alloc(1264) + defer tls.Free(1264) var db, pEngine, pParentParse uintptr var lastTokenParsed, mxSqlLen, n, nErr int32 var _ /* sEngine at bp+4 */ TyyParser var _ /* tokenType at bp+0 */ int32 - var _ /* x at bp+1216 */ TToken + var _ /* x at bp+1224 */ TToken _, _, _, _, _, _, _ = db, lastTokenParsed, mxSqlLen, n, nErr, pEngine, pParentParse nErr = 0 /* The LEMON-generated LALR(1) parser */ n = 0 /* type of the next token */ @@ -164714,10 +166256,12 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(bp)) = _analyzeFilterKeyword(tls, zSql+6, lastTokenParsed) } else { - (*(*TToken)(unsafe.Pointer(bp + 1216))).Fz = zSql - (*(*TToken)(unsafe.Pointer(bp + 1216))).Fn = uint32(n) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23699, libc.VaList(bp+1232, bp+1216)) - break + if *(*int32)(unsafe.Pointer(bp)) != int32(TK_QNUMBER) { + (*(*TToken)(unsafe.Pointer(bp + 1224))).Fz = zSql + (*(*TToken)(unsafe.Pointer(bp + 1224))).Fn = uint32(n) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23822, libc.VaList(bp+1240, bp+1224)) + break + } } } } @@ -164740,9 +166284,9 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { } if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg != 0 || (*TParse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK && (*TParse)(unsafe.Pointer(pParse)).Frc != int32(SQLITE_DONE) { if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) { - (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3795, libc.VaList(bp+1232, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) + (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3859, libc.VaList(bp+1240, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) } - Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23724, libc.VaList(bp+1232, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) + Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23847, libc.VaList(bp+1240, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) nErr++ } (*TParse)(unsafe.Pointer(pParse)).FzTail = zSql @@ -164935,7 +166479,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('c'): fallthrough case int32('C'): - if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23735, int32(6)) == 0 { + if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23858, int32(6)) == 0 { token = uint8(tkCREATE) } else { token = uint8(tkOTHER) @@ -164943,13 +166487,13 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('t'): fallthrough case int32('T'): - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20379, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20511, int32(7)) == 0 { token = uint8(tkTRIGGER) } else { - if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23742, int32(4)) == 0 { + if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23865, int32(4)) == 0 { token = uint8(tkTEMP) } else { - if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23747, int32(9)) == 0 { + if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23870, int32(9)) == 0 { token = uint8(tkTEMP) } else { token = uint8(tkOTHER) @@ -164959,10 +166503,10 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('e'): fallthrough case int32('E'): - if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23757, int32(3)) == 0 { + if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23880, int32(3)) == 0 { token = uint8(tkEND) } else { - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23761, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23884, int32(7)) == 0 { token = uint8(tkEXPLAIN) } else { token = uint8(tkOTHER) @@ -165404,7 +166948,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) { */ if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+208) != 0 { if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)<= 0 && rc < int32(libc.Uint32FromInt64(116)/libc.Uint32FromInt64(4)) && _aMsg[rc] != uintptr(0) { @@ -166554,31 +168098,31 @@ func _sqlite3ErrStr(tls *libc.TLS, rc int32) (r uintptr) { } var _aMsg = [29]uintptr{ - 0: __ccgo_ts + 23837, - 1: __ccgo_ts + 23850, - 3: __ccgo_ts + 23866, - 4: __ccgo_ts + 23891, - 5: __ccgo_ts + 23905, - 6: __ccgo_ts + 23924, - 7: __ccgo_ts + 1618, - 8: __ccgo_ts + 23949, - 9: __ccgo_ts + 23986, - 10: __ccgo_ts + 23998, - 11: __ccgo_ts + 24013, - 12: __ccgo_ts + 24046, - 13: __ccgo_ts + 24064, - 14: __ccgo_ts + 24089, - 15: __ccgo_ts + 24118, - 17: __ccgo_ts + 6021, - 18: __ccgo_ts + 5423, - 19: __ccgo_ts + 24135, - 20: __ccgo_ts + 24153, - 21: __ccgo_ts + 24171, - 23: __ccgo_ts + 24205, - 25: __ccgo_ts + 24226, - 26: __ccgo_ts + 24252, - 27: __ccgo_ts + 24275, - 28: __ccgo_ts + 24296, + 0: __ccgo_ts + 23960, + 1: __ccgo_ts + 23973, + 3: __ccgo_ts + 23989, + 4: __ccgo_ts + 24014, + 5: __ccgo_ts + 24028, + 6: __ccgo_ts + 24047, + 7: __ccgo_ts + 1632, + 8: __ccgo_ts + 24072, + 9: __ccgo_ts + 24109, + 10: __ccgo_ts + 24121, + 11: __ccgo_ts + 24136, + 12: __ccgo_ts + 24169, + 13: __ccgo_ts + 24187, + 14: __ccgo_ts + 24212, + 15: __ccgo_ts + 24241, + 17: __ccgo_ts + 6085, + 18: __ccgo_ts + 5487, + 19: __ccgo_ts + 24258, + 20: __ccgo_ts + 24276, + 21: __ccgo_ts + 24294, + 23: __ccgo_ts + 24328, + 25: __ccgo_ts + 24349, + 26: __ccgo_ts + 24375, + 27: __ccgo_ts + 24398, + 28: __ccgo_ts + 24419, } // C documentation @@ -166760,7 +168304,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) { - return _sqlite3MisuseError(tls, int32(180244)) + return _sqlite3MisuseError(tls, int32(181689)) } _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -166806,7 +168350,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i p = _sqlite3FindFunction(tls, db, zFunctionName, nArg, uint8(enc), uint8(0)) if p != 0 && (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) == uint32(enc) && int32((*TFuncDef)(unsafe.Pointer(p)).FnArg) == nArg { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24393, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24516, 0) _ = libc.Int32FromInt32(0) return int32(SQLITE_BUSY) } else { @@ -166936,7 +168480,7 @@ func _sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotU zName = Xsqlite3_user_data(tls, context) _ = NotUsed _ = NotUsed2 - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24456, libc.VaList(bp+8, zName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24579, libc.VaList(bp+8, zName)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -166967,7 +168511,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i if rc != 0 { return SQLITE_OK } - zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, zName)) + zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, zName)) if zCopy == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -167215,7 +168759,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) { /* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint ** mode: */ - return _sqlite3MisuseError(tls, int32(180859)) + return _sqlite3MisuseError(tls, int32(182304)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if zDb != 0 && *(*int8)(unsafe.Pointer(zDb)) != 0 { @@ -167225,7 +168769,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in } if iDb < 0 { rc = int32(SQLITE_ERROR) - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24507, libc.VaList(bp+8, zDb)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24630, libc.VaList(bp+8, zDb)) } else { (*Tsqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = _sqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -167350,7 +168894,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) { return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM)) } if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(180995))) + return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(182440))) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -167483,7 +169027,7 @@ var _misuse = [34]Tu16{ // */ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181074)) + return _sqlite3MisuseError(tls, int32(182519)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -167493,7 +169037,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181083)) + return _sqlite3MisuseError(tls, int32(182528)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -167543,7 +169087,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui enc2 = int32(SQLITE_UTF16LE) } if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) { - return _sqlite3MisuseError(tls, int32(181131)) + return _sqlite3MisuseError(tls, int32(182576)) } /* Check if this call is removing or replacing an existing collation ** sequence. If so, and there are active VMs, return busy. If there @@ -167552,7 +169096,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui pColl = _sqlite3FindCollSeq(tls, db, uint8(enc2), zName, 0) if pColl != 0 && (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24528, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24651, 0) return int32(SQLITE_BUSY) } _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -167713,7 +169257,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u zVfs = zDefaultVfs nUri = _sqlite3Strlen30(tls, zUri) _ = libc.Int32FromInt32(0) - if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24596, uint32(5)) == 0 { /* Input character index */ + if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24719, uint32(5)) == 0 { /* Input character index */ iOut = 0 /* Output character index */ nByte = uint64(nUri + int32(8)) /* Bytes of space to allocate */ /* Make sure the SQLITE_OPEN_URI flag is set to indicate to the VFS xOpen @@ -167743,8 +169287,8 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u for *(*int8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0 && int32(*(*int8)(unsafe.Pointer(zUri + uintptr(iIn)))) != int32('/') { iIn++ } - if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24602, zUri+7, uint32(9)) != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24612, libc.VaList(bp+8, iIn-int32(7), zUri+7)) + if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24725, zUri+7, uint32(9)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24735, libc.VaList(bp+8, iIn-int32(7), zUri+7)) rc = int32(SQLITE_ERROR) goto parse_uri_out } @@ -167834,24 +169378,24 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u nOpt = _sqlite3Strlen30(tls, zOpt) zVal = zOpt + uintptr(nOpt+int32(1)) nVal = _sqlite3Strlen30(tls, zVal) - if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24640, zOpt, uint32(3)) == 0 { + if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24763, zOpt, uint32(3)) == 0 { zVfs = zVal } else { aMode = uintptr(0) zModeType = uintptr(0) mask = 0 limit = 0 - if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24644, zOpt, uint32(5)) == 0 { + if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24767, zOpt, uint32(5)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_SHAREDCACHE) | libc.Int32FromInt32(SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&_aCacheMode)) limit = mask - zModeType = __ccgo_ts + 24644 + zModeType = __ccgo_ts + 24767 } - if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24665, zOpt, uint32(4)) == 0 { + if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24788, zOpt, uint32(4)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_READONLY) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&_aOpenMode)) limit = int32(uint32(mask) & flags) - zModeType = __ccgo_ts + 3404 + zModeType = __ccgo_ts + 3468 } if aMode != 0 { mode = 0 @@ -167880,12 +169424,12 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u i++ } if mode == 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24680, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24803, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_ERROR) goto parse_uri_out } if mode & ^libc.Int32FromInt32(SQLITE_OPEN_MEMORY) > limit { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24700, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24823, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_PERM) goto parse_uri_out } @@ -167909,7 +169453,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u } *(*uintptr)(unsafe.Pointer(ppVfs)) = Xsqlite3_vfs_find(tls, zVfs) if *(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24724, libc.VaList(bp+8, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24847, libc.VaList(bp+8, zVfs)) rc = int32(SQLITE_ERROR) } goto parse_uri_out @@ -167929,11 +169473,11 @@ var _aCacheMode = [3]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24650, + Fz: __ccgo_ts + 24773, Fmode: int32(SQLITE_OPEN_SHAREDCACHE), }, 1: { - Fz: __ccgo_ts + 24657, + Fz: __ccgo_ts + 24780, Fmode: int32(SQLITE_OPEN_PRIVATECACHE), }, 2: {}, @@ -167944,19 +169488,19 @@ var _aOpenMode = [5]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24670, + Fz: __ccgo_ts + 24793, Fmode: int32(SQLITE_OPEN_READONLY), }, 1: { - Fz: __ccgo_ts + 24673, + Fz: __ccgo_ts + 24796, Fmode: int32(SQLITE_OPEN_READWRITE), }, 2: { - Fz: __ccgo_ts + 24676, + Fz: __ccgo_ts + 24799, Fmode: libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE), }, 3: { - Fz: __ccgo_ts + 17764, + Fz: __ccgo_ts + 17851, Fmode: int32(SQLITE_OPEN_MEMORY), }, 4: {}, @@ -168085,8 +169629,8 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16BE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+22351, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+24740, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+22496, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+24863, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto opendb_out } @@ -168110,7 +169654,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* READWRITE */ /* READWRITE | CREATE */ if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 { - rc = _sqlite3MisuseError(tls, int32(181803)) /* IMP: R-18321-05872 */ + rc = _sqlite3MisuseError(tls, int32(183248)) /* IMP: R-18321-05872 */ } else { rc = _sqlite3ParseUri(tls, zVfs, zFilename, bp, db, bp+4, bp+8) } @@ -168119,7 +169663,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _sqlite3OomFault(tls, db) } if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { - v2 = __ccgo_ts + 3795 + v2 = __ccgo_ts + 3859 } else { v2 = uintptr(0) } @@ -168147,9 +169691,9 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* The default safety_level for the main database is FULL; for the temp ** database it is OFF. This matches the pager layer defaults. */ - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6585 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6649 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).Fsafety_level = uint8(libc.Int32FromInt32(SQLITE_DEFAULT_SYNCHRONOUS) + libc.Int32FromInt32(1)) - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FzDbSName = __ccgo_ts + 23742 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FzDbSName = __ccgo_ts + 23865 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).Fsafety_level = uint8(PAGER_SYNCHRONOUS_OFF) (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState = uint8(SQLITE_STATE_OPEN) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -168245,7 +169789,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) { return rc } if zFilename == uintptr(0) { - zFilename = __ccgo_ts + 24746 + zFilename = __ccgo_ts + 24869 } pVal = _sqlite3ValueNew(tls, uintptr(0)) _sqlite3ValueSetStr(tls, pVal, -int32(1), zFilename, uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(0)) @@ -168466,20 +170010,20 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) (r int32) { func _sqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, __ccgo_ts+24749, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) + Xsqlite3_log(tls, iErr, __ccgo_ts+24872, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) return iErr } func _sqlite3CorruptError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24774) + return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24897) } func _sqlite3MisuseError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24794) + return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24917) } func _sqlite3CantopenError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24801) + return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24924) } // C documentation @@ -168610,11 +170154,11 @@ error_out: } if SQLITE_OK == rc && !(pTab != 0) { _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24818, libc.VaList(bp+16, zTableName, zColumnName)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24941, libc.VaList(bp+16, zTableName, zColumnName)) rc = int32(SQLITE_ERROR) } if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - v3 = __ccgo_ts + 3795 + v3 = __ccgo_ts + 3859 } else { v3 = uintptr(0) } @@ -169643,7 +171187,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) (r int32) { var _ /* nOpt at bp+0 */ int32 _, _, _ = azCompileOpt, i, n azCompileOpt = _sqlite3CompileOptions(tls, bp) - if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24846, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24969, int32(7)) == 0 { zOptName += uintptr(7) } n = _sqlite3Strlen30(tls, zOptName) @@ -169865,7 +171409,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui _leaveMutex(tls) _ = libc.Int32FromInt32(0) if rc != 0 { - v2 = __ccgo_ts + 24854 + v2 = __ccgo_ts + 24977 } else { v2 = uintptr(0) } @@ -170748,23 +172292,23 @@ func _sqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { // ** string must correspond to the JSONB_* integer above. // */ var _jsonbType = [17]uintptr{ - 0: __ccgo_ts + 1634, - 1: __ccgo_ts + 7886, - 2: __ccgo_ts + 7891, - 3: __ccgo_ts + 6306, - 4: __ccgo_ts + 6306, - 5: __ccgo_ts + 6301, - 6: __ccgo_ts + 6301, - 7: __ccgo_ts + 8197, - 8: __ccgo_ts + 8197, - 9: __ccgo_ts + 8197, - 10: __ccgo_ts + 8197, - 11: __ccgo_ts + 24877, - 12: __ccgo_ts + 24883, - 13: __ccgo_ts + 1648, - 14: __ccgo_ts + 1648, - 15: __ccgo_ts + 1648, - 16: __ccgo_ts + 1648, + 0: __ccgo_ts + 1648, + 1: __ccgo_ts + 8011, + 2: __ccgo_ts + 8016, + 3: __ccgo_ts + 6370, + 4: __ccgo_ts + 6370, + 5: __ccgo_ts + 6365, + 6: __ccgo_ts + 6365, + 7: __ccgo_ts + 8322, + 8: __ccgo_ts + 8322, + 9: __ccgo_ts + 8322, + 10: __ccgo_ts + 8322, + 11: __ccgo_ts + 25000, + 12: __ccgo_ts + 25006, + 13: __ccgo_ts + 1662, + 14: __ccgo_ts + 1662, + 15: __ccgo_ts + 1662, + 16: __ccgo_ts + 1662, } // C documentation @@ -171535,6 +173079,46 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { _jsonAppendChar(tls, p, int8(',')) } +// C documentation +// +// /* c is a control character. Append the canonical JSON representation +// ** of that control character to p. +// ** +// ** This routine assumes that the output buffer has already been enlarged +// ** sufficiently to hold the worst-case encoding plus a nul terminator. +// */ +func _jsonAppendControlChar(tls *libc.TLS, p uintptr, c Tu8) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if _aSpecial[c] != 0 { + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = int8('\\') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = _aSpecial[c] + *(*Tu64)(unsafe.Pointer(p + 16)) += uint64(2) + } else { + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = int8('\\') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = int8('u') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(2)))) = int8('0') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(3)))) = int8('0') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(4)))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25013 + uintptr(int32(c)>>int32(4)))) + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(5)))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25013 + uintptr(int32(c)&int32(0xf)))) + *(*Tu64)(unsafe.Pointer(p + 16)) += uint64(6) + } +} + +var _aSpecial = [32]int8{ + 8: int8('b'), + 9: int8('t'), + 10: int8('n'), + 12: int8('f'), + 13: int8('r'), +} + // C documentation // // /* Append the N-byte string in zIn to the end of the JsonString string @@ -171548,9 +173132,9 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { var c Tu8 var k Tu32 - var z, v10, v12, v14, v16, v18, v2, v20, v22, v24, v6, v8 uintptr - var v1, v11, v13, v15, v17, v19, v21, v23, v5, v7, v9 Tu64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v5, v6, v7, v8, v9 + var z, v10, v2, v4, v6, v8 uintptr + var v1, v3, v5, v7, v9 Tu64 + _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v2, v3, v4, v5, v6, v7, v8, v9 z = zIn if z == uintptr(0) { return @@ -171607,91 +173191,41 @@ func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { N -= k } c = *(*Tu8)(unsafe.Pointer(z)) - if !(int32(c) == int32('"') || int32(c) == int32('\\')) { - goto _3 - } - goto json_simple_escape - json_simple_escape: - ; - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { - return - } - v6 = p + 16 - v5 = *(*Tu64)(unsafe.Pointer(v6)) - *(*Tu64)(unsafe.Pointer(v6))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = int8('\\') - v8 = p + 16 - v7 = *(*Tu64)(unsafe.Pointer(v8)) - *(*Tu64)(unsafe.Pointer(v8))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = int8(c) - goto _4 - _3: - ; - if int32(c) == int32('\'') { - v10 = p + 16 - v9 = *(*Tu64)(unsafe.Pointer(v10)) - *(*Tu64)(unsafe.Pointer(v10))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = int8(c) - } else { - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - if _aSpecial[c] != 0 { - c = uint8(_aSpecial[c]) - goto json_simple_escape - } - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + if int32(c) == int32('"') || int32(c) == int32('\\') { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { return } - v12 = p + 16 - v11 = *(*Tu64)(unsafe.Pointer(v12)) - *(*Tu64)(unsafe.Pointer(v12))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v11))) = int8('\\') - v14 = p + 16 - v13 = *(*Tu64)(unsafe.Pointer(v14)) - *(*Tu64)(unsafe.Pointer(v14))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v13))) = int8('u') - v16 = p + 16 - v15 = *(*Tu64)(unsafe.Pointer(v16)) - *(*Tu64)(unsafe.Pointer(v16))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v15))) = int8('0') - v18 = p + 16 - v17 = *(*Tu64)(unsafe.Pointer(v18)) - *(*Tu64)(unsafe.Pointer(v18))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v17))) = int8('0') - v20 = p + 16 - v19 = *(*Tu64)(unsafe.Pointer(v20)) - *(*Tu64)(unsafe.Pointer(v20))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v19))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 24890 + uintptr(int32(c)>>int32(4)))) - v22 = p + 16 - v21 = *(*Tu64)(unsafe.Pointer(v22)) - *(*Tu64)(unsafe.Pointer(v22))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v21))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 24890 + uintptr(int32(c)&int32(0xf)))) + v4 = p + 16 + v3 = *(*Tu64)(unsafe.Pointer(v4)) + *(*Tu64)(unsafe.Pointer(v4))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v3))) = int8('\\') + v6 = p + 16 + v5 = *(*Tu64)(unsafe.Pointer(v6)) + *(*Tu64)(unsafe.Pointer(v6))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = int8(c) + } else { + if int32(c) == int32('\'') { + v8 = p + 16 + v7 = *(*Tu64)(unsafe.Pointer(v8)) + *(*Tu64)(unsafe.Pointer(v8))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = int8(c) + } else { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + return + } + _jsonAppendControlChar(tls, p, c) + } } - _4: - ; z++ N-- } - v24 = p + 16 - v23 = *(*Tu64)(unsafe.Pointer(v24)) - *(*Tu64)(unsafe.Pointer(v24))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v23))) = int8('"') + v10 = p + 16 + v9 = *(*Tu64)(unsafe.Pointer(v10)) + *(*Tu64)(unsafe.Pointer(v10))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = int8('"') _ = libc.Int32FromInt32(0) } -var _aSpecial = [32]int8{ - 8: int8('b'), - 9: int8('t'), - 10: int8('n'), - 12: int8('f'), - 13: int8('r'), -} - // C documentation // // /* @@ -171707,9 +173241,9 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _, _, _, _ = n, n1, z, z1 switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_NULL): - _jsonAppendRawNZ(tls, p, __ccgo_ts+1634, uint32(4)) + _jsonAppendRawNZ(tls, p, __ccgo_ts+1648, uint32(4)) case int32(SQLITE_FLOAT): - _jsonPrintf(tls, int32(100), p, __ccgo_ts+15323, libc.VaList(bp+64, Xsqlite3_value_double(tls, pValue))) + _jsonPrintf(tls, int32(100), p, __ccgo_ts+15416, libc.VaList(bp+64, Xsqlite3_value_double(tls, pValue))) case int32(SQLITE_INTEGER): z = Xsqlite3_value_text(tls, pValue) n = uint32(Xsqlite3_value_bytes(tls, pValue)) @@ -171730,7 +173264,7 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _jsonTranslateBlobToText(tls, bp, uint32(0), p) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr) == 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24907, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25030, -int32(1)) (*TJsonString)(unsafe.Pointer(p)).FeErr = uint8(JSTRING_ERR) _jsonStringReset(tls, p) } @@ -171786,7 +173320,7 @@ func _jsonReturnString(tls *libc.TLS, p uintptr, pParse uintptr, ctx uintptr) { Xsqlite3_result_error_nomem(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr)&int32(JSTRING_MALFORMED) != 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25059, -int32(1)) } } } @@ -172070,8 +173604,8 @@ var _aNanInfName = [5]TNanInfName{ Fn: int8(3), FeType: int8(JSONB_FLOAT), FnRepl: int8(7), - FzMatch: __ccgo_ts + 24951, - FzRepl: __ccgo_ts + 24955, + FzMatch: __ccgo_ts + 25074, + FzRepl: __ccgo_ts + 25078, }, 1: { Fc1: int8('i'), @@ -172079,32 +173613,32 @@ var _aNanInfName = [5]TNanInfName{ Fn: int8(8), FeType: int8(JSONB_FLOAT), FnRepl: int8(7), - FzMatch: __ccgo_ts + 24963, - FzRepl: __ccgo_ts + 24955, + FzMatch: __ccgo_ts + 25086, + FzRepl: __ccgo_ts + 25078, }, 2: { Fc1: int8('n'), Fc2: int8('N'), Fn: int8(3), FnRepl: int8(4), - FzMatch: __ccgo_ts + 1639, - FzRepl: __ccgo_ts + 1634, + FzMatch: __ccgo_ts + 1653, + FzRepl: __ccgo_ts + 1648, }, 3: { Fc1: int8('q'), Fc2: int8('Q'), Fn: int8(4), FnRepl: int8(4), - FzMatch: __ccgo_ts + 24972, - FzRepl: __ccgo_ts + 1634, + FzMatch: __ccgo_ts + 25095, + FzRepl: __ccgo_ts + 1648, }, 4: { Fc1: int8('s'), Fc2: int8('S'), Fn: int8(4), FnRepl: int8(4), - FzMatch: __ccgo_ts + 24977, - FzRepl: __ccgo_ts + 1634, + FzMatch: __ccgo_ts + 25100, + FzRepl: __ccgo_ts + 1648, }, } @@ -172119,7 +173653,7 @@ func _jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24982, libc.VaList(bp+8, zFuncName)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25105, libc.VaList(bp+8, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) } @@ -172573,30 +174107,37 @@ func _jsonbValidityCheck(tls *libc.TLS, pParse uintptr, i Tu32, iEnd Tu32, iDept return j + uint32(1) } } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) <= int32(0x1f) { + /* Control characters in JSON5 string literals are ok */ + if int32(x) == int32(JSONB_TEXTJ) { + return j + uint32(1) + } } else { - if libc.Xstrchr(tls, __ccgo_ts+25025, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { - j++ + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { + return j + uint32(1) } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { - if j+uint32(5) >= k { - return j + uint32(1) - } - if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { - return j + uint32(1) - } + if libc.Xstrchr(tls, __ccgo_ts+25148, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { j++ } else { - if int32(x) != int32(JSONB_TEXT5) { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { + if j+uint32(5) >= k { + return j + uint32(1) + } + if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { + return j + uint32(1) + } + j++ } else { - *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) - szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) - if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + if int32(x) != int32(JSONB_TEXT5) { return j + uint32(1) + } else { + *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) + szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) + if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + return j + uint32(1) + } + j += szC - uint32(1) } - j += szC - uint32(1) } } } @@ -173027,9 +174568,14 @@ parse_string: } } else { if int32(c) <= int32(0x1f) { - /* Control characters are not allowed in strings */ - (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j - return -int32(1) + if int32(c) == 0 { + (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j + return -int32(1) + } + /* Control characters are not allowed in canonical JSON string + ** literals, but are allowed in JSON5 string literals. */ + opcode = uint8(JSONB_TEXT5) + (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) } else { if int32(c) == int32('"') { opcode = uint8(JSONB_TEXT5) @@ -173043,7 +174589,7 @@ parse_string: return int32(j + uint32(1)) _5: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7886, uint32(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8011, uint32(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_TRUE)) return int32(i + uint32(4)) } @@ -173051,7 +174597,7 @@ _5: return -int32(1) _6: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7891, uint32(5)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(5)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8016, uint32(5)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(5)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_FALSE)) return int32(i + uint32(5)) } @@ -173132,14 +174678,14 @@ parse_number: /* JSON5 allows for "+Infinity" and "-Infinity" using exactly ** that case. SQLite also allows these in any case and it allows ** "+inf" and "-inf". */ - if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+24951, int32(3)) == 0 { + if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+25074, int32(3)) == 0 { (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) if int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == int32('-') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25034) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25157) } else { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25041) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25164) } - if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25047, int32(5)) == 0 { + if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25170, int32(5)) == 0 { v48 = int32(9) } else { v48 = int32(4) @@ -173303,11 +174849,10 @@ _29: return -int32(1) _37: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1634, uint32(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1648, uint32(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) return int32(i + uint32(4)) } - /* fall-through into the default case that checks for NaN */ _38: ; c = *(*int8)(unsafe.Pointer(z + uintptr(i))) @@ -173327,7 +174872,7 @@ _38: goto _51 } if int32(_aNanInfName[k1].FeType) == int32(JSONB_FLOAT) { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25041) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25164) } else { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) } @@ -173372,7 +174917,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 i += _json5Whitespace(tls, zJson+uintptr(i)) if *(*int8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { if pCtx != 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) } _jsonParseReset(tls, pParse) return int32(1) @@ -173385,7 +174930,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 if (*TJsonParse)(unsafe.Pointer(pParse)).Foom != 0 { Xsqlite3_result_error_nomem(tls, pCtx) } else { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) } } _jsonParseReset(tls, pParse) @@ -173550,15 +175095,15 @@ func _jsonTranslateBlobToText(tls *libc.TLS, pParse uintptr, i Tu32, pOut uintpt goto _16 _2: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1634, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1648, uint32(4)) return i + uint32(1) _3: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7886, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8011, uint32(4)) return i + uint32(1) _4: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7891, uint32(5)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8016, uint32(5)) return i + uint32(1) _6: ; @@ -173607,9 +175152,9 @@ _7: k++ } if bOverflow != 0 { - v19 = __ccgo_ts + 24955 + v19 = __ccgo_ts + 25078 } else { - v19 = __ccgo_ts + 11753 + v19 = __ccgo_ts + 11878 } _jsonPrintf(tls, int32(100), pOut, v19, libc.VaList(bp+16, u)) goto _16 @@ -173657,7 +175202,7 @@ _11: for sz2 > uint32(0) { k2 = uint32(0) for { - if !(k2 < sz2 && int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('\\') && int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('"')) { + if !(k2 < sz2 && (_jsonIsOk[uint8(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2))))] != 0 || int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) == int32('\''))) { break } goto _21 @@ -173674,7 +175219,16 @@ _11: sz2 -= k2 } if int32(*(*int8)(unsafe.Pointer(zIn2))) == int32('"') { - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25053, uint32(2)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25176, uint32(2)) + zIn2++ + sz2-- + continue + } + if int32(*(*int8)(unsafe.Pointer(zIn2))) <= int32(0x1f) { + if (*TJsonString)(unsafe.Pointer(pOut)).FnUsed+uint64(7) > (*TJsonString)(unsafe.Pointer(pOut)).FnAlloc && _jsonStringGrow(tls, pOut, uint32(7)) != 0 { + break + } + _jsonAppendControlChar(tls, pOut, uint8(*(*int8)(unsafe.Pointer(zIn2)))) zIn2++ sz2-- continue @@ -173690,7 +175244,7 @@ _11: case int32('\''): _jsonAppendChar(tls, pOut, int8('\'')) case int32('v'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25056, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25179, uint32(6)) case int32('x'): if sz2 < uint32(4) { p23 = pOut + 25 @@ -173698,12 +175252,12 @@ _11: sz2 = uint32(2) break } - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25063, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25186, uint32(4)) _jsonAppendRawNZ(tls, pOut, zIn2+2, uint32(2)) zIn2 += uintptr(2) sz2 -= uint32(2) case int32('0'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25068, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25191, uint32(6)) case int32('\r'): if sz2 > uint32(2) && int32(*(*int8)(unsafe.Pointer(zIn2 + 2))) == int32('\n') { zIn2++ @@ -173793,6 +175347,140 @@ _16: return i + n + *(*Tu32)(unsafe.Pointer(bp)) } +// C documentation +// +// /* Context for recursion of json_pretty() +// */ +type TJsonPretty = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty = TJsonPretty + +type TJsonPretty1 = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty1 = TJsonPretty1 + +// C documentation +// +// /* Append indentation to the pretty JSON under construction */ +func _jsonPrettyIndent(tls *libc.TLS, pPretty uintptr) { + var jj Tu32 + _ = jj + jj = uint32(0) + for { + if !(jj < (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent) { + break + } + _jsonAppendRaw(tls, (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut, (*TJsonPretty)(unsafe.Pointer(pPretty)).FzIndent, (*TJsonPretty)(unsafe.Pointer(pPretty)).FszIndent) + goto _1 + _1: + ; + jj++ + } +} + +// C documentation +// +// /* +// ** Translate the binary JSONB representation of JSON beginning at +// ** pParse->aBlob[i] into a JSON text string. Append the JSON +// ** text onto the end of pOut. Return the index in pParse->aBlob[] +// ** of the first byte past the end of the element that is translated. +// ** +// ** This is a variant of jsonTranslateBlobToText() that "pretty-prints" +// ** the output. Extra whitespace is inserted to make the JSON easier +// ** for humans to read. +// ** +// ** If an error is detected in the BLOB input, the pOut->eErr flag +// ** might get set to JSTRING_MALFORMED. But not all BLOB input errors +// ** are detected. So a malformed JSONB input might either result +// ** in an error, or in incorrect JSON. +// ** +// ** The pOut->eErr JSTRING_OOM flag is set on a OOM. +// */ +func _jsonTranslateBlobToPrettyText(tls *libc.TLS, pPretty uintptr, i Tu32) (r Tu32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var iEnd, j, n Tu32 + var pOut, pParse, p1, p2 uintptr + var _ /* sz at bp+0 */ Tu32 + _, _, _, _, _, _, _ = iEnd, j, n, pOut, pParse, p1, p2 + pParse = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpParse + pOut = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut + n = _jsonbPayloadSize(tls, pParse, i, bp) + if n == uint32(0) { + p1 = pOut + 25 + *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + return (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob + uint32(1) + } + switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { + case int32(JSONB_ARRAY): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, int8('[')) + if j < iEnd { + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25198, uint32(2)) + } + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, int8(']')) + i = iEnd + case int32(JSONB_OBJECT): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, int8('{')) + if j < iEnd { + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToText(tls, pParse, j, pOut) + if j > iEnd { + p2 = pOut + 25 + *(*Tu8)(unsafe.Pointer(p2)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p2))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25201, uint32(2)) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25198, uint32(2)) + } + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, int8('}')) + i = iEnd + default: + i = _jsonTranslateBlobToText(tls, pParse, i, pOut) + break + } + return i +} + // C documentation // // /* Return true if the input pJson @@ -174520,7 +176208,7 @@ func _jsonReturnFromBlob(tls *libc.TLS, pParse uintptr, i Tu32, pCtx uintptr, te db = Xsqlite3_context_db_handle(tls, pCtx) n = _jsonbPayloadSize(tls, pParse, i, bp) if n == uint32(0) { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) return } switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { @@ -174760,7 +176448,7 @@ returnfromblob_oom: goto returnfromblob_malformed returnfromblob_malformed: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) return } @@ -174801,7 +176489,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob = Xsqlite3_value_blob(tls, pArg) (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob = uint32(Xsqlite3_value_bytes(tls, pArg)) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24907, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25030, -int32(1)) return int32(1) } case int32(SQLITE_TEXT): @@ -174814,7 +176502,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FzJson = zJson (*TJsonParse)(unsafe.Pointer(pParse)).FnJson = nJson if _jsonConvertTextToBlob(tls, pParse, ctx) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) _sqlite3DbFree(tls, (*TJsonParse)(unsafe.Pointer(pParse)).Fdb, (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob) libc.Xmemset(tls, pParse, 0, uint32(56)) return int32(1) @@ -174833,10 +176521,10 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin return int32(1) } if int32(*(*int8)(unsafe.Pointer(z))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25041) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25164) } else { if int32(*(*int8)(unsafe.Pointer(z))) == int32('-') && int32(*(*int8)(unsafe.Pointer(z + 1))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25034) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25157) } else { _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(n), z) } @@ -174875,7 +176563,7 @@ func _jsonBadPathError(tls *libc.TLS, ctx uintptr, zPath uintptr) (r uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25075, libc.VaList(bp+8, zPath)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25204, libc.VaList(bp+8, zPath)) if ctx == uintptr(0) { return zMsg } @@ -174973,7 +176661,7 @@ jsonInsertIntoBlob_patherror: ; _jsonParseFree(tls, p) if rc == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } else { _jsonBadPathError(tls, ctx, zPath) } @@ -175157,7 +176845,7 @@ json_pfa_malformed: return p } else { _jsonParseFree(tls, p) - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) return uintptr(0) } goto json_pfa_oom @@ -175292,7 +176980,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if int32(*(*int8)(unsafe.Pointer(zPath))) == int32('$') { v1 = zPath + uintptr(1) } else { - v1 = __ccgo_ts + 25093 + v1 = __ccgo_ts + 25222 } i = _jsonLookupStep(tls, p, uint32(0), v1, uint32(0)) if i >= uint32(JSON_LOOKUP_PATHERROR) { @@ -175302,7 +176990,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } eErr = uint8(1) @@ -175320,25 +177008,6 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) _jsonParseFree(tls, p) } -// C documentation -// -// /* True if the string is all digits */ -func _jsonAllDigits(tls *libc.TLS, z uintptr, n int32) (r int32) { - var i int32 - _ = i - i = 0 - for { - if !(i < n && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&int32(0x04) != 0) { - break - } - goto _1 - _1: - ; - i++ - } - return libc.BoolInt32(i == n) -} - // C documentation // // /* True if the string is all alphanumerics and underscores */ @@ -175425,21 +177094,21 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { ** [NUMBER] ==> $[NUMBER] // Not PG. Purely for convenience */ _jsonStringInit(tls, bp, ctx) - if _jsonAllDigits(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25095, uint32(1)) + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) == int32(SQLITE_INTEGER) { + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25224, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+5161, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+5225, uint32(2)) } else { if _jsonAllAlphanum(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1661, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1675, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { if int32(*(*int8)(unsafe.Pointer(zPath))) == int32('[') && nPath >= int32(3) && int32(*(*int8)(unsafe.Pointer(zPath + uintptr(nPath-int32(1))))) == int32(']') { _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25097, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25226, uint32(2)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25100, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25229, uint32(1)) } } } @@ -175476,11 +177145,11 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { goto json_extract_error /* Return NULL if not found */ } else { _jsonAppendSeparator(tls, bp) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1634, uint32(4)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1648, uint32(4)) } } else { if j == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) goto json_extract_error } else { _jsonBadPathError(tls, ctx, zPath) @@ -175751,7 +177420,7 @@ func _jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == int32(JSON_MERGE_OOM) { Xsqlite3_result_error_nomem(tls, ctx) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } _jsonParseFree(tls, pPatch) @@ -175775,7 +177444,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { var _ /* jx at bp+0 */ TJsonString _, _, _ = i, n, z if argc&int32(1) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25102, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25231, -int32(1)) return } _jsonStringInit(tls, bp, ctx) @@ -175786,7 +177455,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { break } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) != int32(SQLITE_TEXT) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25153, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25282, -int32(1)) _jsonStringReset(tls, bp) return } @@ -175858,7 +177527,7 @@ func _jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } goto json_remove_done @@ -175895,7 +177564,7 @@ func _jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { return } if argc&int32(1) == 0 { - _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15796) + _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15889) return } _jsonInsertIntoBlob(tls, ctx, argc, argv, int32(JEDIT_REPL)) @@ -175926,9 +177595,9 @@ func _jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { } if argc&int32(1) == 0 { if bIsSet != 0 { - v1 = __ccgo_ts + 25187 + v1 = __ccgo_ts + 25316 } else { - v1 = __ccgo_ts + 25191 + v1 = __ccgo_ts + 25320 } _jsonWrongNumArgs(tls, ctx, v1) return @@ -175976,7 +177645,7 @@ func _jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } goto json_type_done @@ -175991,6 +177660,48 @@ json_type_done: _jsonParseFree(tls, p) } +// C documentation +// +// /* +// ** json_pretty(JSON) +// ** json_pretty(JSON, INDENT) +// ** +// ** Return text that is a pretty-printed rendering of the input JSON. +// ** If the argument is not valid JSON, return NULL. +// ** +// ** The INDENT argument is text that is used for indentation. If omitted, +// ** it defaults to four spaces (the same as PostgreSQL). +// */ +func _jsonPrettyFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { + bp := tls.Alloc(160) + defer tls.Free(160) + var v1 uintptr + var v2 bool + var _ /* s at bp+0 */ TJsonString + var _ /* x at bp+128 */ TJsonPretty + _, _ = v1, v2 /* Pretty printing context */ + libc.Xmemset(tls, bp+128, 0, uint32(20)) + (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FpParse = _jsonParseFuncArg(tls, ctx, *(*uintptr)(unsafe.Pointer(argv)), uint32(0)) + if (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FpParse == uintptr(0) { + return + } + (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FpOut = bp + _jsonStringInit(tls, bp, ctx) + if v2 = argc == int32(1); !v2 { + v1 = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) + (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FzIndent = v1 + } + if v2 || v1 == uintptr(0) { + (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FzIndent = __ccgo_ts + 25327 + (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FszIndent = uint32(4) + } else { + (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FszIndent = libc.Xstrlen(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FzIndent) + } + _jsonTranslateBlobToPrettyText(tls, bp+128, uint32(0)) + _jsonReturnString(tls, bp, uintptr(0), uintptr(0)) + _jsonParseFree(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FpParse) +} + // C documentation // // /* @@ -176065,7 +177776,7 @@ func _jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if argc == int32(2) { f = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) if f < int64(1) || f > int64(15) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25198, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25332, -int32(1)) return } flags = uint8(f & int64(0x0f)) @@ -176255,7 +177966,7 @@ func _jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25255, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25389, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -176404,7 +178115,7 @@ func _jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25258, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25392, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -176507,7 +178218,7 @@ func _jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argv _ = argc _ = pAux - rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25261) + rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25395) if rc == SQLITE_OK { pNew = _sqlite3DbMallocZero(tls, db, uint64(16)) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -176643,7 +178354,7 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TJsonEachCursor)(unsafe.Pointer(p)).FeType) == int32(JSONB_ARRAY) { - _jsonPrintf(tls, int32(30), p+40, __ccgo_ts+25344, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) + _jsonPrintf(tls, int32(30), p+40, __ccgo_ts+25478, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) } else { *(*Tu32)(unsafe.Pointer(bp)) = uint32(0) needQuote = 0 @@ -176669,9 +178380,9 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { } } if needQuote != 0 { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+40, __ccgo_ts+25351, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+40, __ccgo_ts+25485, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } else { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+40, __ccgo_ts+25359, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+40, __ccgo_ts+25493, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } } } @@ -177061,7 +178772,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a i = v5 (*TJsonEachCursor)(unsafe.Pointer(p)).FeType = uint8(0) (*TJsonEachCursor)(unsafe.Pointer(p)).FnRoot = uint32(1) - _jsonAppendRaw(tls, p+40, __ccgo_ts+25365, uint32(1)) + _jsonAppendRaw(tls, p+40, __ccgo_ts+25499, uint32(1)) } (*TJsonEachCursor)(unsafe.Pointer(p)).FnParent = uint32(0) n = _jsonbPayloadSize(tls, p+168, i, bp) @@ -177085,7 +178796,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a json_each_malformed_input: ; Xsqlite3_free(tls, (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg) - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24936, 0) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25059, 0) _jsonEachCursorReset(tls, p) if (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { v6 = int32(SQLITE_ERROR) @@ -177139,183 +178850,193 @@ func init() { // ** Register JSON functions. // */ func _sqlite3RegisterJsonFunctions(tls *libc.TLS) { - _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint32FromInt64(1280)/libc.Uint32FromInt64(40))) + _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint32FromInt64(1360)/libc.Uint32FromInt64(40))) } -var _aJsonFunc = [32]TFuncDef{ +var _aJsonFunc = [34]TFuncDef{ 0: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25367, + FzName: __ccgo_ts + 25501, }, 1: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25372, + FzName: __ccgo_ts + 25506, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25378, + FzName: __ccgo_ts + 25512, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25389, + FzName: __ccgo_ts + 25523, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25401, + FzName: __ccgo_ts + 25535, }, 5: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25401, + FzName: __ccgo_ts + 25535, }, 6: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25419, + FzName: __ccgo_ts + 25553, }, 7: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25439, + FzName: __ccgo_ts + 25573, }, 8: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25452, + FzName: __ccgo_ts + 25586, }, 9: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(JSON_JSON) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25466, + FzName: __ccgo_ts + 25600, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(JSON_SQL) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25469, + FzName: __ccgo_ts + 25603, }, 11: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25473, + FzName: __ccgo_ts + 25607, }, 12: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25485, + FzName: __ccgo_ts + 25619, }, 13: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25498, + FzName: __ccgo_ts + 25632, }, 14: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25510, + FzName: __ccgo_ts + 25644, }, 15: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25523, + FzName: __ccgo_ts + 25657, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25534, + FzName: __ccgo_ts + 25668, }, 17: { FnArg: int8(1), - FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25546, + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25680, }, 18: { + FnArg: int8(2), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25680, + }, + 19: { + FnArg: int8(1), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25692, + }, + 20: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25557, + FzName: __ccgo_ts + 25703, }, - 19: { + 21: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25569, + FzName: __ccgo_ts + 25715, }, - 20: { + 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25582, + FzName: __ccgo_ts + 25728, }, - 21: { + 23: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25595, + FzName: __ccgo_ts + 25741, }, - 22: { + 24: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25609, + FzName: __ccgo_ts + 25755, }, - 23: { + 25: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25618, + FzName: __ccgo_ts + 25764, }, - 24: { + 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25628, + FzName: __ccgo_ts + 25774, }, - 25: { + 27: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25628, + FzName: __ccgo_ts + 25774, }, - 26: { + 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25638, + FzName: __ccgo_ts + 25784, }, - 27: { + 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25638, + FzName: __ccgo_ts + 25784, }, - 28: { + 30: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25649, + FzName: __ccgo_ts + 25795, }, - 29: { + 31: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25666, + FzName: __ccgo_ts + 25812, }, - 30: { + 32: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25684, + FzName: __ccgo_ts + 25830, }, - 31: { + 33: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25702, + FzName: __ccgo_ts + 25848, }, } @@ -177338,33 +179059,35 @@ func init() { *(*uintptr)(unsafe.Add(p, 576)) = __ccgo_fp(_jsonObjectFunc) *(*uintptr)(unsafe.Add(p, 616)) = __ccgo_fp(_jsonPatchFunc) *(*uintptr)(unsafe.Add(p, 656)) = __ccgo_fp(_jsonPatchFunc) - *(*uintptr)(unsafe.Add(p, 696)) = __ccgo_fp(_jsonQuoteFunc) - *(*uintptr)(unsafe.Add(p, 736)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 776)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 816)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 856)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 896)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 936)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 976)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1016)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1056)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1096)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1136)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 1140)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 1144)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 1148)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 1180)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 1184)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 1188)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 1216)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 1220)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 1224)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 696)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 736)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 776)) = __ccgo_fp(_jsonQuoteFunc) + *(*uintptr)(unsafe.Add(p, 816)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 856)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 896)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 936)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 976)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1016)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1056)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1096)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1136)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 1216)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 1220)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 1224)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 1228)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 1256)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 1260)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 1264)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1256)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 1260)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 1264)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 1268)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 1296)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 1300)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 1304)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1308)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 1336)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 1340)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 1344)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1348)) = __ccgo_fp(_jsonGroupInverse) } // C documentation @@ -177396,11 +179119,11 @@ var _aMod = [2]struct { FpModule uintptr }{ 0: { - FzName: __ccgo_ts + 25721, + FzName: __ccgo_ts + 25867, FpModule: uintptr(unsafe.Pointer(&_jsonEachModule)), }, 1: { - FzName: __ccgo_ts + 25731, + FzName: __ccgo_ts + 25877, FpModule: uintptr(unsafe.Pointer(&_jsonTreeModule)), }, } @@ -178053,7 +179776,7 @@ func _nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode Ti64, pParent uintptr, pp } } if (*TRtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) { - rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25741, iNode, 0, pRtree+72) + rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25887, iNode, 0, pRtree+72) } if rc != 0 { *(*uintptr)(unsafe.Pointer(ppNode)) = uintptr(0) @@ -178365,7 +180088,7 @@ func _rtreeDestroy(tls *libc.TLS, pVtab uintptr) (r int32) { var rc int32 _, _, _ = pRtree, rc, zCreate pRtree = pVtab - zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25746, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25892, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if !(zCreate != 0) { rc = int32(SQLITE_NOMEM) } else { @@ -179299,7 +181022,7 @@ func _findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid Ti64, ppLeaf uintptr, p func _deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) (r int32) { var pBlob, pInfo, pSrc uintptr _, _, _ = pBlob, pInfo, pSrc /* Callback information */ - pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25828) + pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25974) if pSrc == uintptr(0) { return int32(SQLITE_ERROR) } @@ -179354,7 +181077,7 @@ func _rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp iRowid = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) *(*Ti64)(unsafe.Pointer(bp + 16)) = 0 eType = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) == float64(iRowid) { + if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && 0 == _sqlite3IntFloatCompare(tls, iRowid, Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))) { rc = _findLeafNode(tls, pRtree, iRowid, bp+8, bp+16) } else { rc = SQLITE_OK @@ -180843,7 +182566,7 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) _, _, _, _, _, _ = rc, zCol, zCol1, zCol2, zSql, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) _ = libc.Int32FromInt32(0) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25842, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25988, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -int32(1), bp, uintptr(0)) } else { @@ -180853,11 +182576,11 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) if rc == SQLITE_OK { if iCol == 0 { zCol = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25862, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26008, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { zCol1 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol) zCol2 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol+int32(1)) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25894, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26040, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -181036,6 +182759,7 @@ func _rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) (r int32) { var pRtree uintptr _ = pRtree pRtree = pVtab + _ = libc.Int32FromInt32(0) (*TRtree)(unsafe.Pointer(pRtree)).FinWrTrans = uint8(1) return SQLITE_OK } @@ -181072,7 +182796,7 @@ func _rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) (r int32) { _, _, _ = pRtree, rc, zSql pRtree = pVtab rc = int32(SQLITE_NOMEM) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25931, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26077, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) if zSql != 0 { _nodeBlobReset(tls, pRtree) rc = Xsqlite3_exec(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -181126,9 +182850,9 @@ func _rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) (r int32) { var v2 int64 var _ /* p at bp+0 */ uintptr _, _, _, _, _, _ = nRow, rc, zFmt, zSql, v1, v2 - zFmt = __ccgo_ts + 26076 + zFmt = __ccgo_ts + 26222 nRow = int64(RTREE_MIN_ROWEST) - rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11582, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11707, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == int32(SQLITE_ERROR) { @@ -181186,9 +182910,9 @@ func _rtreeShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName1 = [3]uintptr{ - 0: __ccgo_ts + 26132, - 1: __ccgo_ts + 5484, - 2: __ccgo_ts + 16694, + 0: __ccgo_ts + 26278, + 1: __ccgo_ts + 5548, + 2: __ccgo_ts + 16781, } var _rtreeModule = Tsqlite3_module{ @@ -181232,21 +182956,21 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref (*TRtree)(unsafe.Pointer(pRtree)).Fdb = db if isCreate != 0 { p = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26546, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26692, libc.VaList(bp+8, zDb, zPrefix)) ii = 0 for { if !(ii < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26608, libc.VaList(bp+8, ii)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26754, libc.VaList(bp+8, ii)) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26613, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26677, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26747, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26759, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26823, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26893, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return int32(SQLITE_NOMEM) @@ -181276,7 +183000,7 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } else { /* An UPSERT is very slightly slower than REPLACE, but it is needed ** if there are auxiliary columns */ - zFormat = __ccgo_ts + 26796 + zFormat = __ccgo_ts + 26942 } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+8, zDb, zPrefix)) if zSql != 0 { @@ -181291,31 +183015,31 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref i++ } if (*TRtree)(unsafe.Pointer(pRtree)).FnAux != 0 && rc != int32(SQLITE_NOMEM) { - (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+26904, libc.VaList(bp+8, zDb, zPrefix)) + (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+27050, libc.VaList(bp+8, zDb, zPrefix)) if (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { p1 = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26949, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27095, libc.VaList(bp+8, zDb, zPrefix)) ii1 = 0 for { if !(ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } if ii1 != 0 { - Xsqlite3_str_append(tls, p1, __ccgo_ts+13090, int32(1)) + Xsqlite3_str_append(tls, p1, __ccgo_ts+13215, int32(1)) } if ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26976, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27122, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) } else { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26998, libc.VaList(bp+8, ii1, ii1+int32(2))) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27144, libc.VaList(bp+8, ii1, ii1+int32(2))) } goto _3 _3: ; ii1++ } - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27006, 0) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27152, 0) zSql1 = Xsqlite3_str_finish(tls, p1) if zSql1 == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -181329,14 +183053,14 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } var _azSql = [8]uintptr{ - 0: __ccgo_ts + 26137, - 1: __ccgo_ts + 26190, - 2: __ccgo_ts + 26235, - 3: __ccgo_ts + 26287, - 4: __ccgo_ts + 26341, - 5: __ccgo_ts + 26386, - 6: __ccgo_ts + 26444, - 7: __ccgo_ts + 26499, + 0: __ccgo_ts + 26283, + 1: __ccgo_ts + 26336, + 2: __ccgo_ts + 26381, + 3: __ccgo_ts + 26433, + 4: __ccgo_ts + 26487, + 5: __ccgo_ts + 26532, + 6: __ccgo_ts + 26590, + 7: __ccgo_ts + 26645, } // C documentation @@ -181394,7 +183118,7 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE _, _ = rc, zSql if isCreate != 0 { *(*int32)(unsafe.Pointer(bp)) = 0 - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27022, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27168, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) rc = _getIntFromStmt(tls, db, zSql, bp) if rc == SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp)) - int32(64) @@ -181402,17 +183126,17 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = int32(4) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*int32(RTREE_MAXCELLS) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27042, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27188, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) rc = _getIntFromStmt(tls, db, zSql, pRtree+16) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } else { if (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize < libc.Int32FromInt32(512)-libc.Int32FromInt32(64) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< libc.Int32FromInt32(RTREE_MAX_AUX_COLUMN)+libc.Int32FromInt32(3) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) return int32(SQLITE_ERROR) } Xsqlite3_vtab_config(tls, db, int32(SQLITE_VTAB_CONSTRAINT_SUPPORT), libc.VaList(bp+8, int32(1))) @@ -181489,13 +183213,13 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27285, uint32(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27431, uint32(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27291, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4))), *(*uintptr)(unsafe.Pointer(argv + 3*4)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27437, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4))), *(*uintptr)(unsafe.Pointer(argv + 3*4)))) ii = int32(4) for { if !(ii < argc) { @@ -181504,7 +183228,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt zArg = *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)) if int32(*(*int8)(unsafe.Pointer(zArg))) == int32('+') { (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27315, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27461, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) } else { if int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux) > 0 { break @@ -181518,19 +183242,19 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27342, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27488, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) } else { if ii < argc { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, aErrMsg[int32(4)])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, aErrMsg[int32(4)])) rc = int32(SQLITE_ERROR) } else { v3 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v3 if SQLITE_OK != v3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } } @@ -181553,7 +183277,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } } if iErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, aErrMsg[iErr])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, aErrMsg[iErr])) goto rtreeInit_fail } (*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell = uint8(int32(8) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnDim2)*int32(4)) @@ -181564,7 +183288,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -181582,8 +183306,8 @@ rtreeInit_fail: } var _azFormat = [2]uintptr{ - 0: __ccgo_ts + 27321, - 1: __ccgo_ts + 27332, + 0: __ccgo_ts + 27467, + 1: __ccgo_ts + 27478, } // C documentation @@ -181641,21 +183365,21 @@ func _rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { } _nodeGetCell(tls, bp+28, bp, ii, bp+528) if ii > 0 { - Xsqlite3_str_append(tls, pOut, __ccgo_ts+11202, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+11327, int32(1)) } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27345, libc.VaList(bp+584, (*(*TRtreeCell)(unsafe.Pointer(bp + 528))).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27491, libc.VaList(bp+584, (*(*TRtreeCell)(unsafe.Pointer(bp + 528))).FiRowid)) jj = 0 for { if !(jj < int32((*(*TRtree)(unsafe.Pointer(bp + 28))).FnDim2)) { break } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27351, libc.VaList(bp+584, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 528 + 8 + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27497, libc.VaList(bp+584, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 528 + 8 + uintptr(jj)*4))))) goto _2 _2: ; jj++ } - Xsqlite3_str_append(tls, pOut, __ccgo_ts+27355, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+27501, int32(1)) goto _1 _1: ; @@ -181682,7 +183406,7 @@ func _rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { _ = zBlob _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != int32(SQLITE_BLOB) || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+27357, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+27503, -int32(1)) } else { zBlob = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -181800,11 +183524,11 @@ func _rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintpt (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } else { if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - v1 = __ccgo_ts + 4203 + v1 = __ccgo_ts + 4267 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27390, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27536, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } @@ -181838,7 +183562,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt _, _, _ = nNode, pNode, pRet pRet = uintptr(0) /* Return value */ if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) { - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27397, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27543, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { Xsqlite3_bind_int64(tls, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode, int32(1), iNode) @@ -181855,7 +183579,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt } _rtreeCheckReset(tls, pCheck, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27442, libc.VaList(bp+8, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27588, libc.VaList(bp+8, iNode)) } } return pRet @@ -181884,8 +183608,8 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i var rc int32 _, _, _, _, _, _ = azSql, ii, pStmt, rc, v1, v2 azSql = [2]uintptr{ - 0: __ccgo_ts + 27474, - 1: __ccgo_ts + 27528, + 0: __ccgo_ts + 27620, + 1: __ccgo_ts + 27674, } _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(pCheck + 24 + uintptr(bLeaf)*4)) == uintptr(0) { @@ -181899,21 +183623,21 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i rc = Xsqlite3_step(tls, pStmt) if rc == int32(SQLITE_DONE) { if bLeaf != 0 { - v1 = __ccgo_ts + 27576 + v1 = __ccgo_ts + 27722 } else { - v1 = __ccgo_ts + 27584 + v1 = __ccgo_ts + 27730 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27593, libc.VaList(bp+8, iKey, iVal, v1)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27739, libc.VaList(bp+8, iKey, iVal, v1)) } else { if rc == int32(SQLITE_ROW) { ii = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { if bLeaf != 0 { - v2 = __ccgo_ts + 27576 + v2 = __ccgo_ts + 27722 } else { - v2 = __ccgo_ts + 27584 + v2 = __ccgo_ts + 27730 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27638, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27784, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) } } } @@ -181958,7 +183682,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 v2 = libc.BoolInt32(*(*TRtreeValue)(unsafe.Pointer(bp)) > *(*TRtreeValue)(unsafe.Pointer(bp + 4))) } if v2 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27696, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27842, libc.VaList(bp+24, i, iCell, iNode)) } if pParent != 0 { _readCoord(tls, pParent+uintptr(libc.Int32FromInt32(4)*libc.Int32FromInt32(2)*i), bp+8) @@ -181976,7 +183700,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 } } if v5 || v4 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27744, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27890, libc.VaList(bp+24, i, iCell, iNode)) } } goto _1 @@ -182011,19 +183735,19 @@ func _rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintpt aNode = _rtreeCheckGetNode(tls, pCheck, iNode, bp) if aNode != 0 { if *(*int32)(unsafe.Pointer(bp)) < int32(4) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27811, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27957, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) } else { /* Used to iterate through cells */ if aParent == uintptr(0) { iDepth = _readInt16(tls, aNode) if iDepth > int32(RTREE_MAX_DEPTH) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27845, libc.VaList(bp+16, iDepth)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27991, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = _readInt16(tls, aNode+2) if int32(4)+nCell*(int32(8)+(*TRtreeCheck)(unsafe.Pointer(pCheck)).FnDim*int32(2)*int32(4)) > *(*int32)(unsafe.Pointer(bp)) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27875, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28021, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) } else { i = 0 for { @@ -182068,12 +183792,12 @@ func _rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect Ti64) var pCount uintptr _, _ = nActual, pCount if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { - pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27930, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) + pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28076, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) if pCount != 0 { if Xsqlite3_step(tls, pCount) == int32(SQLITE_ROW) { nActual = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27961, libc.VaList(bp+8, zTbl, nExpect, nActual)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28107, libc.VaList(bp+8, zTbl, nExpect, nActual)) } } (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -182102,7 +183826,7 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzDb = zDb (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzTab = zTab /* Find the number of auxiliary columns */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28028, libc.VaList(bp+64, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28174, libc.VaList(bp+64, zDb, zTab)) if pStmt != 0 { nAux = Xsqlite3_column_count(tls, pStmt) - int32(2) Xsqlite3_finalize(tls, pStmt) @@ -182112,11 +183836,11 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe } } /* Find number of dimensions in the rtree table. */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25842, libc.VaList(bp+64, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25988, libc.VaList(bp+64, zDb, zTab)) if pStmt != 0 { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim = (Xsqlite3_column_count(tls, pStmt) - int32(1) - nAux) / int32(2) if (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim < int32(1) { - _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28056, 0) + _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28202, 0) } else { if int32(SQLITE_ROW) == Xsqlite3_step(tls, pStmt) { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FbInt = libc.BoolInt32(Xsqlite3_column_type(tls, pStmt, int32(1)) == int32(SQLITE_INTEGER)) @@ -182132,8 +183856,8 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe if (*(*TRtreeCheck)(unsafe.Pointer(bp))).Frc == SQLITE_OK { _rtreeCheckNode(tls, bp, 0, uintptr(0), int64(1)) } - _rtreeCheckCount(tls, bp, __ccgo_ts+28087, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) - _rtreeCheckCount(tls, bp, __ccgo_ts+28094, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28233, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28240, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) } /* Finalize SQL statements used by the integrity-check */ Xsqlite3_finalize(tls, (*(*TRtreeCheck)(unsafe.Pointer(bp))).FpGetNode) @@ -182161,7 +183885,7 @@ func _rtreeIntegrity(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zName uintpt _ = isQuick rc = _rtreeCheckTable(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, pzErr) if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28102, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28248, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) if *(*uintptr)(unsafe.Pointer(pzErr)) == uintptr(0) { rc = int32(SQLITE_NOMEM) } @@ -182212,13 +183936,13 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { var _ /* zReport at bp+0 */ uintptr _, _, _, _ = rc, zDb, zTab, v1 if nArg != int32(1) && nArg != int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+28121, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+28267, -int32(1)) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zDb = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg))) if nArg == int32(1) { zTab = zDb - zDb = __ccgo_ts + 6585 + zDb = __ccgo_ts + 6649 } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*4))) } @@ -182227,7 +183951,7 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { if *(*uintptr)(unsafe.Pointer(bp)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(bp)) } else { - v1 = __ccgo_ts + 18461 + v1 = __ccgo_ts + 18548 } Xsqlite3_result_text(tls, ctx, v1, -int32(1), uintptr(-libc.Int32FromInt32(1))) } else { @@ -182694,19 +184418,19 @@ func _geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) if p != 0 { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) - Xsqlite3_str_append(tls, x, __ccgo_ts+25095, int32(1)) + Xsqlite3_str_append(tls, x, __ccgo_ts+25224, int32(1)) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28172, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28318, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28183, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28329, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -182735,20 +184459,20 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) cSep = int8('\'') - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28194, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28340, 0) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28212, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28358, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) cSep = int8(' ') goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28220, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28366, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) i = int32(1) for { if !(i < argc) { @@ -182756,14 +184480,14 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 { - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28228, libc.VaList(bp+8, z)) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28374, libc.VaList(bp+8, z)) } goto _2 _2: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28232, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28378, 0) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -183893,13 +185617,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27285, uint32(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27431, uint32(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28245, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28391, 0) (*TRtree)(unsafe.Pointer(pRtree)).FnAux = uint8(1) /* Add one for _shape */ (*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = uint8(1) /* The _shape column is always not-null */ ii = int32(3) @@ -183908,13 +185632,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint break } (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28267, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28413, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)))) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27342, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27488, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) @@ -183922,7 +185646,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint v2 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v2 if SQLITE_OK != v2 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } Xsqlite3_free(tls, zSql) @@ -183937,7 +185661,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -184154,7 +185878,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iRowidTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(1) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16694 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16781 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).Fomit = uint8(1) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(30) @@ -184164,7 +185888,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iFuncTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28271 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28417 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).Fomit = uint8(0) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(300) @@ -184172,7 +185896,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { return SQLITE_OK } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(4) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28277 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28423 (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(3e+06) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -184294,7 +186018,7 @@ func _geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pR _geopolyBBox(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(aData + 2*4)), bp+4+8, bp) if *(*int32)(unsafe.Pointer(bp)) != 0 { if *(*int32)(unsafe.Pointer(bp)) == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28286, 0) + (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28432, 0) } goto geopoly_update_end } @@ -184398,12 +186122,12 @@ geopoly_update_end: func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) { _ = pVtab _ = nArg - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28326) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28472) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION) } - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28342) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28488) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1) @@ -184474,7 +186198,7 @@ func _sqlite3_geopoly_init(tls *libc.TLS, db uintptr) (r int32) { i++ } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28519, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28665, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -184488,61 +186212,61 @@ var _aFunc = [12]struct { 0: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28357, + FzName: __ccgo_ts + 28503, }, 1: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28370, + FzName: __ccgo_ts + 28516, }, 2: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28383, + FzName: __ccgo_ts + 28529, }, 3: { FnArg: int8(-int32(1)), FbPure: uint8(1), - FzName: __ccgo_ts + 28396, + FzName: __ccgo_ts + 28542, }, 4: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28342, + FzName: __ccgo_ts + 28488, }, 5: { FnArg: int8(3), FbPure: uint8(1), - FzName: __ccgo_ts + 28408, + FzName: __ccgo_ts + 28554, }, 6: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28326, + FzName: __ccgo_ts + 28472, }, 7: { FnArg: int8(1), - FzName: __ccgo_ts + 28431, + FzName: __ccgo_ts + 28577, }, 8: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28445, + FzName: __ccgo_ts + 28591, }, 9: { FnArg: int8(7), FbPure: uint8(1), - FzName: __ccgo_ts + 28458, + FzName: __ccgo_ts + 28604, }, 10: { FnArg: int8(4), FbPure: uint8(1), - FzName: __ccgo_ts + 28472, + FzName: __ccgo_ts + 28618, }, 11: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28488, + FzName: __ccgo_ts + 28634, }, } @@ -184568,7 +186292,7 @@ var _aAgg = [1]struct { FzName uintptr }{ 0: { - FzName: __ccgo_ts + 28500, + FzName: __ccgo_ts + 28646, }, } @@ -184593,20 +186317,20 @@ func _sqlite3RtreeInit(tls *libc.TLS, db uintptr) (r int32) { var rc, utf8 int32 _, _, _, _ = c, c1, rc, utf8 utf8 = int32(SQLITE_UTF8) - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28527, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28673, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28537, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28683, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28548, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28694, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { c = libc.UintptrFromInt32(RTREE_COORD_REAL32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28271, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28417, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { c1 = libc.UintptrFromInt32(RTREE_COORD_INT32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28559, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28705, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) } if rc == SQLITE_OK { rc = _sqlite3_geopoly_init(tls, db) @@ -184708,7 +186432,7 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { Xsqlite3_result_error_nomem(tls, ctx) _rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25828, __ccgo_fp(_rtreeMatchArgFree)) + Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25974, __ccgo_fp(_rtreeMatchArgFree)) } } } @@ -185925,7 +187649,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt /* Figure out the size of the output */ nOut = _rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+28569, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28715, -int32(1)) return } aOut = Xsqlite3_malloc(tls, nOut+int32(1)) @@ -185935,7 +187659,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt nOut2 = _rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut) if nOut2 != nOut { Xsqlite3_free(tls, aOut) - Xsqlite3_result_error(tls, context, __ccgo_ts+28569, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28715, -int32(1)) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, __ccgo_fp(Xsqlite3_free)) } @@ -185961,7 +187685,7 @@ func _prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg _ = rc rc = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -185984,7 +187708,7 @@ func _resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) (r in _ = rc rc = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -186117,7 +187841,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { /* Free any SQLite statements used while processing the previous object */ _rbuObjIterClearStatements(tls, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28590, uintptr(0), uintptr(0), p+36) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28736, uintptr(0), uintptr(0), p+36) } if rc == SQLITE_OK { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 { @@ -186127,6 +187851,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { if rc != int32(SQLITE_ROW) { rc = _resetAndCollectError(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, p+36) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = uintptr(0) + (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = uintptr(0) } else { (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, 0) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, int32(1)) @@ -186207,7 +187932,7 @@ func _rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { Xsqlite3_result_text(tls, pCtx, zIn, -int32(1), libc.UintptrFromInt32(0)) } } else { - if libc.Xstrlen(tls, zIn) > uint32(4) && libc.Xmemcmp(tls, __ccgo_ts+25741, zIn, uint32(4)) == 0 { + if libc.Xstrlen(tls, zIn) > uint32(4) && libc.Xmemcmp(tls, __ccgo_ts+25887, zIn, uint32(4)) == 0 { i = int32(4) for { if !(int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= int32('9')) { @@ -186244,13 +187969,13 @@ func _rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { _, _ = rc, v1 libc.Xmemset(tls, pIter, 0, uint32(108)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 28761 + v1 = __ccgo_ts + 28907 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+28802, libc.VaList(bp+8, v1))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+28948, libc.VaList(bp+8, v1))) if rc == SQLITE_OK { - rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+4, p+36, __ccgo_ts+28952) + rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+4, p+36, __ccgo_ts+29098) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = int32(1) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -186418,7 +188143,7 @@ func _rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { rc = Xsqlite3_finalize(tls, pStmt) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && rc != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } @@ -186480,7 +188205,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 _ = libc.Int32FromInt32(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29077, libc.VaList(bp+24, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29223, libc.VaList(bp+24, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0]) != int32(SQLITE_ROW) { /* Either an error, or no such table. */ goto rbuTableType_end @@ -186490,7 +188215,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0], int32(1)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29196, libc.VaList(bp+24, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29342, libc.VaList(bp+24, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { goto rbuTableType_end } @@ -186498,7 +188223,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu zOrig = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(3)) zIdx = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(1)) if zOrig != 0 && zIdx != 0 && int32(*(*Tu8)(unsafe.Pointer(zOrig))) == int32('p') { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29217, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29363, libc.VaList(bp+24, zIdx))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)]) == int32(SQLITE_ROW) { *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)], 0) @@ -186510,7 +188235,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29268, libc.VaList(bp+24, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29414, libc.VaList(bp+24, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { for Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)]) == int32(SQLITE_ROW) { if Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)], int32(5)) > 0 { @@ -186554,7 +188279,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { bIndex = 0 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.Xmemcpy(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint32(1)*uint32((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29289, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29435, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -186567,7 +188292,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { if bPartial != 0 { libc.Xmemset(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, int32(0x01), uint32(1)*uint32((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+16, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+16, zIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 4))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), int32(1)) if iCid >= 0 { @@ -186621,7 +188346,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 _rbuTableType(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+36, bp+4, pIter+60) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+19904, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+20036, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc @@ -186633,7 +188358,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 /* Populate the azTblCol[] and nTblCol variables based on the columns ** of the input table. Ignore any input table columns that begin with ** "rbu_". */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29346, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29492, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp))) _rbuAllocateIterArrays(tls, p, pIter, nCol) @@ -186644,7 +188369,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 break } zName = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), i) - if Xsqlite3_strnicmp(tls, __ccgo_ts+29365, zName, int32(4)) != 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+29511, zName, int32(4)) != 0 { zCopy = _rbuStrndup(tls, zName, p+32) *(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol v3 = pIter + 8 @@ -186652,7 +188377,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 *(*int32)(unsafe.Pointer(v3))++ *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(v2)*4)) = zCopy } else { - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29370, zName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29516, zName) { bRbuRowid = int32(1) } } @@ -186666,17 +188391,17 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && bRbuRowid != libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) if bRbuRowid != 0 { - v4 = __ccgo_ts + 29380 + v4 = __ccgo_ts + 29526 } else { - v4 = __ccgo_ts + 29393 + v4 = __ccgo_ts + 29539 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29402, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29548, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) } /* Check that all non-HIDDEN columns in the destination table are also ** present in the input table. Populate the abTblPk[], azTblType[] and ** aiTblOrder[] arrays at the same time. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29431, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29577, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zName1 = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -186698,7 +188423,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 } if i == (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29453, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29599, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) } else { iPk = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) bNotNull = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) @@ -186740,15 +188465,15 @@ func _rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) var z, zList, zSep uintptr _, _, _, _ = i, z, zList, zSep zList = uintptr(0) - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } z = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+29480, libc.VaList(bp+8, zList, zSep, z)) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+29626, libc.VaList(bp+8, zList, zSep, z)) + zSep = __ccgo_ts + 15083 goto _1 _1: ; @@ -186773,7 +188498,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, _, _, _, _, _ = i, iPk, zCol, zRet, zSep iPk = int32(1) zRet = uintptr(0) - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 for int32(1) != 0 { i = 0 for { @@ -186782,7 +188507,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, } if int32(*(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29489, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29635, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -186830,21 +188555,21 @@ func _rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zRet = uintptr(0) if bRowid != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29502, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29648, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iMax = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29534, libc.VaList(bp+16, iMax)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29680, libc.VaList(bp+16, iMax)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1648, __ccgo_ts+14990, __ccgo_ts+29557) - zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29563, __ccgo_ts+29570, __ccgo_ts+5106) - zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1648, __ccgo_ts+14990, __ccgo_ts+1648) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1662, __ccgo_ts+15083, __ccgo_ts+29703) + zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29709, __ccgo_ts+29716, __ccgo_ts+5170) + zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1662, __ccgo_ts+15083, __ccgo_ts+1662) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29578, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29724, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zVal = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29620, libc.VaList(bp+16, zList, zVal)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29766, libc.VaList(bp+16, zList, zVal)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } @@ -186893,10 +188618,10 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 iCol = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(4)) @@ -186919,15 +188644,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _ = libc.Int32FromInt32(0) zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) } else { - zCol = __ccgo_ts + 29640 + zCol = __ccgo_ts + 29786 } } else { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*4)) } - zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29648, libc.VaList(bp+16, zLhs, zSep, zCol, zCollate)) - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29669, libc.VaList(bp+16, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29705, libc.VaList(bp+16, zSelect, zSep, iCol, zCol)) - zSep = __ccgo_ts + 14990 + zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29794, libc.VaList(bp+16, zLhs, zSep, zCol, zCollate)) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29815, libc.VaList(bp+16, zOrder, zSep, iCol, zCol, zCollate)) + zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29851, libc.VaList(bp+16, zSelect, zSep, iCol, zCol)) + zSep = __ccgo_ts + 15083 iCol++ } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) @@ -186936,9 +188661,9 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29732, libc.VaList(bp+16, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29878, libc.VaList(bp+16, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 4))) { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 iCol = 0 for { if !(iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -186953,15 +188678,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { break } } - zVector = _rbuMPrintf(tls, p, __ccgo_ts+29780, libc.VaList(bp+16, zVector, zSep, zQuoted)) - zSep = __ccgo_ts + 14990 + zVector = _rbuMPrintf(tls, p, __ccgo_ts+29926, libc.VaList(bp+16, zVector, zSep, zQuoted)) + zSep = __ccgo_ts + 15083 goto _2 _2: ; iCol++ } if !(bFailed != 0) { - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29787, libc.VaList(bp+16, zLhs, zVector)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29933, libc.VaList(bp+16, zLhs, zVector)) } } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4))) @@ -187015,12 +188740,12 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zImpPK = uintptr(0) /* String to return via *pzImposterPK */ zWhere = uintptr(0) /* String to return via *pzWhere */ nBind = 0 /* Value to return via *pnBind */ - zCom = __ccgo_ts + 1648 /* Set to ", " later on */ - zAnd = __ccgo_ts + 1648 /* Set to " AND " later on */ + zCom = __ccgo_ts + 1662 /* Set to ", " later on */ + zAnd = __ccgo_ts + 1662 /* Set to " AND " later on */ *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_xinfo = ? */ if rc == SQLITE_OK { _ = libc.Int32FromInt32(0) - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -187029,8 +188754,8 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = uintptr(0) if iCid == -int32(2) { iSeq = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29799, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*8))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*8))).FzSpan, zCollate)) - zType = __ccgo_ts + 1648 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29945, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*8))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*8))).FzSpan, zCollate)) + zType = __ccgo_ts + 1662 } else { if iCid < 0 { /* An integer primary key. If the table has an explicit IPK, use @@ -187050,9 +188775,9 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) } else { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - zCol = __ccgo_ts + 29640 + zCol = __ccgo_ts + 29786 } else { - zCol = __ccgo_ts + 29370 + zCol = __ccgo_ts + 29516 } } zType = __ccgo_ts + 1136 @@ -187060,24 +188785,24 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*4)) zType = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4)) } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29821, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29967, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) } if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) != 0 { if bDesc != 0 { - v2 = __ccgo_ts + 29557 + v2 = __ccgo_ts + 29703 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } zOrder = v2 - zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29841, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) + zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29987, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+29862, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) - zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+29895, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) + zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+30008, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) + zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+30041, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) { rc = int32(SQLITE_NOMEM) } - zCom = __ccgo_ts + 14990 - zAnd = __ccgo_ts + 22013 + zCom = __ccgo_ts + 15083 + zAnd = __ccgo_ts + 22158 nBind++ } rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -187123,7 +188848,7 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr _, _, _, _ = i, zCol, zList, zS zList = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zS = __ccgo_ts + 1648 + zS = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187131,11 +188856,11 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29919, libc.VaList(bp+8, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30065, libc.VaList(bp+8, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29931, libc.VaList(bp+8, zList, zS)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30077, libc.VaList(bp+8, zList, zS)) } - zS = __ccgo_ts + 14990 + zS = __ccgo_ts + 15083 if zList == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) break @@ -187147,7 +188872,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 (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29940, libc.VaList(bp+8, zList, zObj)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30086, libc.VaList(bp+8, zList, zObj)) } } return zList @@ -187173,27 +188898,27 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _ = i, i1, zCol, zList, zSep, zSep1 zList = uintptr(0) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29955, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30101, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29969, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) - zSep = __ccgo_ts + 22013 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30115, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) + zSep = __ccgo_ts + 22158 } goto _1 _1: ; i++ } - zList = _rbuMPrintf(tls, p, __ccgo_ts+29981, libc.VaList(bp+8, zList)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30127, libc.VaList(bp+8, zList)) } else { - zSep1 = __ccgo_ts + 1648 + zSep1 = __ccgo_ts + 1662 i1 = 0 for { if !(i1 < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187201,8 +188926,8 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i1))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i1)*4)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+30031, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) - zSep1 = __ccgo_ts + 22013 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30177, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) + zSep1 = __ccgo_ts + 22158 } goto _2 _2: @@ -187225,7 +188950,7 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { // */ func _rbuBadControlError(tls *libc.TLS, p uintptr) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30044, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30190, 0) } // C documentation @@ -187259,7 +188984,7 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt if int32(libc.Xstrlen(tls, zMask)) != (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { _rbuBadControlError(tls, p) } else { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187267,16 +188992,16 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt } c = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) if int32(c) == int32('x') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30031, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+int32(1))) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30177, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+int32(1))) + zSep = __ccgo_ts + 15083 } else { if int32(c) == int32('d') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30070, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+int32(1))) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30216, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+int32(1))) + zSep = __ccgo_ts + 15083 } else { if int32(c) == int32('f') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30100, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+int32(1))) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30246, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+int32(1))) + zSep = __ccgo_ts + 15083 } } } @@ -187361,16 +189086,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { z = uintptr(0) _ = libc.Int32FromInt32(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zSep = __ccgo_ts + 30137 + zSep = __ccgo_ts + 30283 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_list = (pIter->zTbl) */ *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) /* PRAGMA index_xinfo = */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29289, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29435, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) - if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16582) == 0 { + if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16669) == 0 { zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+16, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+16, zIdx))) } break } @@ -187381,16 +189106,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { /* int iCid = sqlite3_column_int(pXInfo, 0); */ zCol = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), int32(2)) if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), int32(3)) != 0 { - v1 = __ccgo_ts + 29557 + v1 = __ccgo_ts + 29703 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } zDesc = v1 - z = _rbuMPrintf(tls, p, __ccgo_ts+30150, libc.VaList(bp+16, z, zSep, zCol, zDesc)) - zSep = __ccgo_ts + 14990 + z = _rbuMPrintf(tls, p, __ccgo_ts+30296, libc.VaList(bp+16, z, zSep, zCol, zDesc)) + zSep = __ccgo_ts + 15083 } } - z = _rbuMPrintf(tls, p, __ccgo_ts+30161, libc.VaList(bp+16, z)) + z = _rbuMPrintf(tls, p, __ccgo_ts+30307, libc.VaList(bp+16, z)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4))) } return z @@ -187430,13 +189155,13 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* SELECT name ... WHERE rootpage = $tnum */ zIdx = uintptr(0) /* Name of PK index */ *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) /* PRAGMA main.index_xinfo = $zIdx */ - zComma = __ccgo_ts + 1648 + zComma = __ccgo_ts + 1662 zCols = uintptr(0) /* Used to build up list of table cols */ zPk = uintptr(0) /* Used to build up table PK declaration */ /* 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. */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, __ccgo_ts+30165) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, __ccgo_ts+30311) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), tnum) if int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -187444,7 +189169,7 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { } } if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+16, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+16, zIdx))) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 4))) { @@ -187453,21 +189178,21 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), int32(1)) bDesc = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), int32(3)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), int32(4)) - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30215, libc.VaList(bp+16, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4)), zCollate)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30361, libc.VaList(bp+16, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4)), zCollate)) if bDesc != 0 { - v1 = __ccgo_ts + 29557 + v1 = __ccgo_ts + 29703 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - zPk = _rbuMPrintf(tls, p, __ccgo_ts+30237, libc.VaList(bp+16, zPk, zComma, iCid, v1)) - zComma = __ccgo_ts + 14990 + zPk = _rbuMPrintf(tls, p, __ccgo_ts+30383, libc.VaList(bp+16, zPk, zComma, iCid, v1)) + zComma = __ccgo_ts + 15083 } } - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30247, libc.VaList(bp+16, zCols)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30393, libc.VaList(bp+16, zCols)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30262, libc.VaList(bp+16, zCols, zPk)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30408, libc.VaList(bp+16, zCols, zPk)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, 0)) } } @@ -187502,30 +189227,30 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { _, _, _, _, _, _, _, _, _ = iCol, tnum, zCol, zComma, zPk, zPk1, zSql, v2, v3 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { tnum = (*TRbuObjIter)(unsafe.Pointer(pIter)).FiTnum - zComma = __ccgo_ts + 1648 + zComma = __ccgo_ts + 1662 zSql = uintptr(0) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, int32(1))) iCol = 0 for { if !((*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } - zPk = __ccgo_ts + 1648 + zPk = __ccgo_ts + 1662 zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*4)) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_IPK) && *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 { /* If the target table column is an "INTEGER PRIMARY KEY", add ** "PRIMARY KEY" to the imposter table column declaration. */ - zPk = __ccgo_ts + 30324 + zPk = __ccgo_ts + 30470 } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - v2 = __ccgo_ts + 30337 + v2 = __ccgo_ts + 30483 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30347, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*4)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) - zComma = __ccgo_ts + 14990 + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30493, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*4)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) + zComma = __ccgo_ts + 15083 goto _1 _1: ; @@ -187534,17 +189259,17 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { zPk1 = _rbuWithoutRowidPK(tls, p, pIter) if zPk1 != 0 { - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30374, libc.VaList(bp+16, zSql, zPk1)) + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30520, libc.VaList(bp+16, zSql, zPk1)) } } - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(1), tnum)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(1), tnum)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { - v3 = __ccgo_ts + 30381 + v3 = __ccgo_ts + 30527 } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30396, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30542, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, 0)) } } @@ -187571,7 +189296,7 @@ func _rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zColli zBind = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1)+bRbuRowid) if zBind != 0 { _ = libc.Int32FromInt32(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+88, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+30428, libc.VaList(bp+8, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+88, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+30574, libc.VaList(bp+8, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -187619,7 +189344,7 @@ func _rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintpt zRet = uintptr(0) _ = libc.Int32FromInt32(0) if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 4)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, __ccgo_ts+30485) + *(*int32)(unsafe.Pointer(bp + 4)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, __ccgo_ts+30631) } if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx, -int32(1), libc.UintptrFromInt32(0)) @@ -187790,7 +189515,7 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zIdx = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx zLimit = uintptr(0) if nOffset != 0 { - zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30551, libc.VaList(bp+24, nOffset)) + zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30697, libc.VaList(bp+24, nOffset)) if !(zLimit != 0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) } @@ -187808,18 +189533,18 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zCollist = _rbuObjIterGetIndexCols(tls, p, pIter, bp, bp+4, bp+8, bp+12) zBind = _rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 12))) /* Create the imposter table used to write to this index. */ - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, int32(1))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30571, libc.VaList(bp+24, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 4)))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30717, libc.VaList(bp+24, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 4)))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, 0)) /* Create the statement to insert index entries */ (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 12)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+30636, libc.VaList(bp+24, zTbl, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+30782, libc.VaList(bp+24, zTbl, zBind))) } /* And to delete index entries */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+30672, libc.VaList(bp+24, zTbl, *(*uintptr)(unsafe.Pointer(bp + 8))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+30818, libc.VaList(bp+24, zTbl, *(*uintptr)(unsafe.Pointer(bp + 8))))) } /* Create the SELECT statement to read keys in sorted order */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -187834,26 +189559,26 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } if zStart != 0 { if zPart != 0 { - v2 = __ccgo_ts + 30706 + v2 = __ccgo_ts + 30852 } else { - v2 = __ccgo_ts + 30710 + v2 = __ccgo_ts + 30856 } v1 = v2 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30716, libc.VaList(bp+24, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30862, libc.VaList(bp+24, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) Xsqlite3_free(tls, zStart) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30777, libc.VaList(bp+24, zCollist, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30923, libc.VaList(bp+24, zCollist, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { if zPart != 0 { - v3 = __ccgo_ts + 30706 + v3 = __ccgo_ts + 30852 } else { - v3 = __ccgo_ts + 30710 + v3 = __ccgo_ts + 30856 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30838, libc.VaList(bp+24, zCollist, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30984, libc.VaList(bp+24, zCollist, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -187872,62 +189597,62 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zTbl1 = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl /* Imposter table name */ zBindings = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+bRbuRowid) zWhere1 = _rbuObjIterGetWhere(tls, p, pIter) - zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6596) - zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6592) + zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6660) + zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6656) zCollist = _rbuObjIterGetCollist(tls, p, pIter) (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol /* Create the imposter table or tables (if required). */ _rbuCreateImposterTable(tls, p, pIter) _rbuCreateImposterTable2(tls, p, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) { - v4 = __ccgo_ts + 1648 + v4 = __ccgo_ts + 1662 } else { - v4 = __ccgo_ts + 30997 + v4 = __ccgo_ts + 31143 } zWrite = v4 /* Create the INSERT statement to write to the target PK b-tree */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if bRbuRowid != 0 { - v5 = __ccgo_ts + 31006 + v5 = __ccgo_ts + 31152 } else { - v5 = __ccgo_ts + 1648 + v5 = __ccgo_ts + 1662 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31016, libc.VaList(bp+24, zWrite, zTbl1, zCollist, v5, zBindings))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31162, libc.VaList(bp+24, zWrite, zTbl1, zCollist, v5, zBindings))) } /* Create the DELETE statement to write to the target PK b-tree. ** Because it only performs INSERT operations, this is not required for ** an rbu vacuum handle. */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31052, libc.VaList(bp+24, zWrite, zTbl1, zWhere1))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31198, libc.VaList(bp+24, zWrite, zTbl1, zWhere1))) } if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zRbuRowid = __ccgo_ts + 1648 + zRbuRowid = __ccgo_ts + 1662 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zRbuRowid = __ccgo_ts + 31080 + zRbuRowid = __ccgo_ts + 31226 } /* Create the rbu_tmp_xxx table and the triggers to populate it. */ if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - v6 = __ccgo_ts + 31092 + v6 = __ccgo_ts + 31238 } else { - v6 = __ccgo_ts + 1648 + v6 = __ccgo_ts + 1662 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31109, libc.VaList(bp+24, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31185, libc.VaList(bp+24, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31255, libc.VaList(bp+24, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31331, libc.VaList(bp+24, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31484, libc.VaList(bp+24, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31630, libc.VaList(bp+24, zWrite, zTbl1, zNewlist)) } _rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) } /* Create the SELECT statement to read keys from data_xxx */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zRbuRowid1 = __ccgo_ts + 1648 + zRbuRowid1 = __ccgo_ts + 1662 zStart1 = uintptr(0) zOrder = uintptr(0) if bRbuRowid != 0 { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v7 = __ccgo_ts + 31583 + v7 = __ccgo_ts + 31729 } else { - v7 = __ccgo_ts + 31593 + v7 = __ccgo_ts + 31739 } zRbuRowid1 = v7 } @@ -187940,28 +189665,28 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } } if bRbuRowid != 0 { - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29640, 0) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29786, 0) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1648, __ccgo_ts+14990, __ccgo_ts+1648) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1662, __ccgo_ts+15083, __ccgo_ts+1662) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v8 = __ccgo_ts + 31604 + v8 = __ccgo_ts + 31750 } else { - v8 = __ccgo_ts + 1648 + v8 = __ccgo_ts + 1662 } if zStart1 != 0 { v9 = zStart1 } else { - v9 = __ccgo_ts + 1648 + v9 = __ccgo_ts + 1662 } if zOrder != 0 { - v10 = __ccgo_ts + 23207 + v10 = __ccgo_ts + 23352 } else { - v10 = __ccgo_ts + 1648 + v10 = __ccgo_ts + 1662 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+76, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31610, libc.VaList(bp+24, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+76, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31756, libc.VaList(bp+24, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) } Xsqlite3_free(tls, zStart1) Xsqlite3_free(tls, zOrder) @@ -188048,11 +189773,11 @@ func _rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, p (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpNext = (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - zPrefix = __ccgo_ts + 1648 + zPrefix = __ccgo_ts + 1662 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { - zPrefix = __ccgo_ts + 30997 + zPrefix = __ccgo_ts + 31143 } - zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31658, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) + zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31804, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+4, p+36, zUpdate) *(*uintptr)(unsafe.Pointer(ppStmt)) = (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpUpdate } @@ -188079,7 +189804,7 @@ func _rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) (r } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp, flags, v1) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp))) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) } @@ -188126,7 +189851,7 @@ func _rbuLoadState(tls *libc.TLS, p uintptr) (r uintptr) { if pRet == uintptr(0) { return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 4)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+31688, libc.VaList(bp+16, p+24))) + *(*int32)(unsafe.Pointer(bp + 4)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+31834, libc.VaList(bp+16, p+24))) for *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) { case int32(RBU_STATE_STAGE): @@ -188188,27 +189913,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu = _rbuOpenDbhandle(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, int32(1)) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain = dbMain if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBUCNT), p) + Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBUCNT), p) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) { - zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31718, libc.VaList(bp+8, zFile, zFile)) + zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31864, libc.VaList(bp+8, zFile, zFile)) } } /* If using separate RBU and state databases, attach the state database to ** the RBU db handle now. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31746, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+24, __ccgo_ts+3418, uint32(4)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31892, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+24, __ccgo_ts+3482, uint32(4)) } else { - libc.Xmemcpy(tls, p+24, __ccgo_ts+6585, uint32(4)) + libc.Xmemcpy(tls, p+24, __ccgo_ts+6649, uint32(4)) } /* If it has not already been created, create the rbu_state table */ - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31764, libc.VaList(bp+8, p+24)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31910, libc.VaList(bp+8, p+24)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { bOpen = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBUCNT), p) + rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBUCNT), p) if rc != int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -188241,10 +189966,10 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) return } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31830, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31976, 0) } else { zExtra = uintptr(0) - if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24596, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5)) { + if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24719, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5)) { zExtra = (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5 for *(*int8)(unsafe.Pointer(zExtra)) != 0 { v1 = zExtra @@ -188258,16 +189983,16 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if zExtra == uintptr(0) { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } else { - v2 = __ccgo_ts + 31862 + v2 = __ccgo_ts + 32008 } if zExtra == uintptr(0) { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } else { v3 = zExtra } - zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+31864, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585), v2, v3)) + zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+32010, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649), v2, v3)) if zTarget == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) return @@ -188278,27 +190003,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31896, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32042, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31911, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32057, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31928, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32074, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBU), p) } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31944, 0) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32090, 0) /* Mark the database file just opened as an RBU target database. If ** this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. ** This is an error. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBU), p) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31972, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32118, 0) } } @@ -188348,7 +190073,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) { pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = int64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))<= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+32972, zState+uintptr(n-int32(7)), uint32(7)) { + if n >= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33118, zState+uintptr(n-int32(7)), uint32(7)) { return _rbuMisuseError(tls) } } @@ -189590,7 +191315,7 @@ func _rbuEditErrmsg(tls *libc.TLS, p uintptr) { if !(i < nErrmsg-uint32(8)) { break } - if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+30997, uint32(8)) == 0 { + if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31143, uint32(8)) == 0 { nDel = int32(8) for int32(*(*int8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= int32('0') && int32(*(*int8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= int32('9') { nDel++ @@ -189618,7 +191343,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { if p != 0 { /* Commit the transaction to the *-oal file. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14894, uintptr(0), uintptr(0), p+36) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14987, uintptr(0), uintptr(0), p+36) } /* Sync the db file if currently doing an incremental checkpoint */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) { @@ -189627,7 +191352,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { } _rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14894, uintptr(0), uintptr(0), p+36) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14987, uintptr(0), uintptr(0), p+36) } /* Close any open statement handles. */ _rbuObjIterFinalize(tls, p+48) @@ -189637,7 +191362,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { ** specifying the current target and state databases to start a new ** vacuum from scratch. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 { - rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32980, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33126, uintptr(0), uintptr(0), uintptr(0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_DONE) && rc2 != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -189752,7 +191477,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14894, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14987, uintptr(0), uintptr(0), uintptr(0)) } } /* Sync the db file */ @@ -189766,19 +191491,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14894, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14987, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 14879 + v1 = __ccgo_ts + 14972 } else { - v1 = __ccgo_ts + 32932 + v1 = __ccgo_ts + 33078 } zBegin = v1 rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32932, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33078, uintptr(0), uintptr(0), uintptr(0)) } } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -190352,7 +192077,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xControl})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, int32(SQLITE_FCNTL_ZIPVFS), bp) if rc == SQLITE_OK { rc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33007, 0) + (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33153, 0) } else { if rc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p @@ -190378,7 +192103,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r if rc == SQLITE_OK && op == int32(SQLITE_FCNTL_VFSNAME) { pRbuVfs = (*Trbu_file)(unsafe.Pointer(p)).FpRbuVfs zIn = *(*uintptr)(unsafe.Pointer(pArg)) - zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33030, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33176, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -190579,7 +192304,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag if pDb != 0 { if (*Trbu_file)(unsafe.Pointer(pDb)).FpRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FeStage == int32(RBU_STAGE_OAL) { if (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6585) + zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6649) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -190593,7 +192318,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag } else { (*Trbu_file)(unsafe.Pointer(pFd)).FpRbu = (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRbu } - if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33041, 0) != 0 { + if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33187, 0) != 0 { _ = libc.Int32FromInt32(0) oflags = libc.Int32FromInt32(SQLITE_OPEN_TEMP_DB) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_EXCLUSIVE) | libc.Int32FromInt32(SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -191148,7 +192873,7 @@ func _statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint _sqlite3TokenInit(tls, bp, *(*uintptr)(unsafe.Pointer(argv + 3*4))) iDb = _sqlite3FindDb(tls, db, bp) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12191, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 3*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12316, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 3*4)))) return int32(SQLITE_ERROR) } } else { @@ -191651,7 +193376,7 @@ statNextRestart: (*(*TStatPage)(unsafe.Pointer(pCsr + 16))).FiPgno = iRoot (*(*TStatPage)(unsafe.Pointer(pCsr + 16))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33052, 0) + v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33198, 0) z = v1 (*(*TStatPage)(unsafe.Pointer(pCsr + 16))).FzPath = v1 if z == uintptr(0) { @@ -191689,8 +193414,8 @@ statNextRestart: if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { (*TStatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*TStatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*TStatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*Tu32)(unsafe.Pointer((*TStatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33054 - v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33063, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33200 + v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33209, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) z = v2 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v2 if z == uintptr(0) { @@ -191719,7 +193444,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage++ if (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage >= int32(libc.Uint32FromInt64(1280)/libc.Uint32FromInt64(40)) { _statResetCsr(tls, pCsr) - return _sqlite3CorruptError(tls, int32(222551)) + return _sqlite3CorruptError(tls, int32(224206)) } _ = libc.Int32FromInt32(0) if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell { @@ -191731,7 +193456,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnPage++ (*(*TStatPage)(unsafe.Pointer(p + 1*40))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33075, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) + v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33221, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) z = v4 (*(*TStatPage)(unsafe.Pointer(p + 1*40))).FzPath = v4 if z == uintptr(0) { @@ -191754,13 +193479,13 @@ statNextRestart: case int32(0x05): /* table internal */ fallthrough case int32(0x02): /* index internal */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33083 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33229 case int32(0x0D): /* table leaf */ fallthrough case int32(0x0A): /* index leaf */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33092 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33238 default: - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33097 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33243 break } *(*int32)(unsafe.Pointer(pCsr + 1320)) += (*TStatPage)(unsafe.Pointer(p1)).FnCell @@ -191769,7 +193494,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnMxPayload = (*TStatPage)(unsafe.Pointer(p1)).FnMxPayload } if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) + v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) z = v5 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v5 if z == uintptr(0) { @@ -191858,12 +193583,12 @@ func _statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, a (*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg = uint8(0) } pSql = Xsqlite3_str_new(tls, (*TStatTable)(unsafe.Pointer(pTab)).Fdb) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33107, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*16))).FzDbSName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33253, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*16))).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33262, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33408, libc.VaList(bp+8, zName)) } if idxNum&int32(0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33276, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33422, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -191940,7 +193665,7 @@ func _statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) (r int32) { // ** Invoke this routine to register the "dbstat" virtual table module // */ func _sqlite3DbstatRegister(tls *libc.TLS, db uintptr) (r int32) { - return Xsqlite3_create_module(tls, db, __ccgo_ts+33291, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, __ccgo_ts+33437, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) } var _dbstat_module = Tsqlite3_module{} @@ -193229,20 +194954,20 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, *(*uintptr)(unsafe.Pointer(pazDflt)) = uintptr(0) } nThis = _sqlite3Strlen30(tls, zThis) - if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11582, zThis) { + if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11707, zThis) { rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { /* For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. */ - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33298, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33444, 0) } else { if rc == int32(SQLITE_ERROR) { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1648, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1662, 0) } else { return rc } } } else { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33419, libc.VaList(bp+16, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33565, libc.VaList(bp+16, zDb, zThis)) } if !(zPragma != 0) { return int32(SQLITE_NOMEM) @@ -193266,7 +194991,7 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, bRowid = 0 } nDbCol += bRowid - nByte += int64(libc.Xstrlen(tls, __ccgo_ts+29640)) + nByte += int64(libc.Xstrlen(tls, __ccgo_ts+29786)) rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == SQLITE_OK { nByte += int64(uint32(nDbCol) * (libc.Uint32FromInt64(4)*libc.Uint32FromInt32(2) + libc.Uint32FromInt64(1) + libc.Uint32FromInt32(1) + libc.Uint32FromInt32(1))) @@ -193290,8 +195015,8 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 if bRowid != 0 { - nName = libc.Xstrlen(tls, __ccgo_ts+29640) - libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29640, nName+uint32(1)) + nName = libc.Xstrlen(tls, __ccgo_ts+29786) + libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29786, nName+uint32(1)) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)) = pAlloc pAlloc += uintptr(nName + uint32(1)) *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) = uint8(1) @@ -193384,7 +195109,7 @@ func _sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr, db uintptr ; i++ } - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11582, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11707, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { (*TSessionTable)(unsafe.Pointer(pTab)).FbStat1 = int32(1) } if pSession != 0 && (*Tsqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { @@ -193675,10 +195400,10 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin _, _, _, _ = ii, zDflt, zSep, v2 *(*TSessionBuffer)(unsafe.Pointer(bp)) = TSessionBuffer{} *(*int32)(unsafe.Pointer(bp + 12)) = SQLITE_OK - zSep = __ccgo_ts + 11202 + zSep = __ccgo_ts + 11327 ii = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) - _sessionAppendPrintf(tls, bp, bp+12, __ccgo_ts+33448, 0) + _sessionAppendPrintf(tls, bp, bp+12, __ccgo_ts+33594, 0) ii = 0 for { if !(ii < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol) { @@ -193687,11 +195412,11 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin if *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*4)) != 0 { v2 = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*4)) } else { - v2 = __ccgo_ts + 1649 + v2 = __ccgo_ts + 1663 } zDflt = v2 - _sessionAppendPrintf(tls, bp, bp+12, __ccgo_ts+5076, libc.VaList(bp+24, zSep, zDflt)) - zSep = __ccgo_ts + 14990 + _sessionAppendPrintf(tls, bp, bp+12, __ccgo_ts+5140, libc.VaList(bp+24, zSep, zDflt)) + zSep = __ccgo_ts + 15083 goto _1 _1: ; @@ -194010,7 +195735,7 @@ func _sessionPreupdateOneChange(tls *libc.TLS, op int32, iRowid Ti64, pSession u rc = int32(SQLITE_NOMEM) goto error_out } - _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1648, uint8(0), libc.UintptrFromInt32(0)) + _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1662, uint8(0), libc.UintptrFromInt32(0)) (*Tsqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p } } @@ -194341,7 +196066,7 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr var i int32 var zRet, zSep uintptr _, _, _ = i, zRet, zSep - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 zRet = uintptr(0) i = 0 for { @@ -194349,8 +196074,8 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr break } if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33455, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)))) - zSep = __ccgo_ts + 22013 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33601, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)))) + zSep = __ccgo_ts + 22158 if zRet == uintptr(0) { break } @@ -194369,7 +196094,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint var bHave, i int32 var zRet, zSep uintptr _, _, _, _ = bHave, i, zRet, zSep - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 zRet = uintptr(0) bHave = 0 i = 0 @@ -194379,8 +196104,8 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if int32(*(*Tu8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = int32(1) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33489, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)))) - zSep = __ccgo_ts + 33530 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33635, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)))) + zSep = __ccgo_ts + 33676 if zRet == uintptr(0) { break } @@ -194392,7 +196117,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if bHave == 0 { _ = libc.Int32FromInt32(0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1722, 0) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1782, 0) } return zRet } @@ -194403,12 +196128,12 @@ func _sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, bRowid int var zRet, zSel, v1 uintptr _, _, _ = zRet, zSel, v1 if bRowid != 0 { - v1 = __ccgo_ts + 33535 + v1 = __ccgo_ts + 33681 } else { - v1 = __ccgo_ts + 6590 + v1 = __ccgo_ts + 6654 } zSel = v1 - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33546, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33692, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -194469,11 +196194,11 @@ func _sessionAllCols(tls *libc.TLS, zDb uintptr, pTab uintptr) (r uintptr) { break } if zRet != 0 { - v2 = __ccgo_ts + 14990 + v2 = __ccgo_ts + 15083 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33625, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*4)))) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33771, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*4)))) if !(zRet != 0) { break } @@ -194501,7 +196226,7 @@ func _sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFr } else { z1 = _sessionAllCols(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, pTab) z2 = _sessionAllCols(tls, zFrom, pTab) - zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33644, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) + zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33790, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) if zStmt == uintptr(0) || z1 == uintptr(0) || z2 == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -194601,7 +196326,7 @@ func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl u Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 28))) if bMismatch != 0 { if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33701, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33847, 0) } rc = int32(SQLITE_SCHEMA) } @@ -194933,7 +196658,7 @@ func _sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* aBuf at bp+0 */ [24]int8 - Xsqlite3_snprintf(tls, int32(libc.Uint32FromInt64(24)-libc.Uint32FromInt32(1)), bp, __ccgo_ts+5138, libc.VaList(bp+32, iVal)) + Xsqlite3_snprintf(tls, int32(libc.Uint32FromInt64(24)-libc.Uint32FromInt32(1)), bp, __ccgo_ts+5202, libc.VaList(bp+32, iVal)) _sessionAppendStr(tls, p, bp, pRc) } @@ -195228,23 +196953,23 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt _, _, _, _, _, _, _ = i, nSql, zCols, zSep, zSql, v1, v3 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK zSql = uintptr(0) - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 if bRowid != 0 { - v1 = __ccgo_ts + 33535 + v1 = __ccgo_ts + 33681 } else { - v1 = __ccgo_ts + 6590 + v1 = __ccgo_ts + 6654 } zCols = v1 nSql = -int32(1) *(*TSessionBuffer)(unsafe.Pointer(bp + 4)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 16)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 28)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+4, __ccgo_ts+33728, bp) - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11582, zTab) { - _sessionAppendStr(tls, bp+4, __ccgo_ts+33732, bp) - _sessionAppendStr(tls, bp+16, __ccgo_ts+33756, bp) - _sessionAppendStr(tls, bp+28, __ccgo_ts+33765, bp) - zCols = __ccgo_ts + 33810 + _sessionAppendStr(tls, bp+4, __ccgo_ts+33874, bp) + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11707, zTab) { + _sessionAppendStr(tls, bp+4, __ccgo_ts+33878, bp) + _sessionAppendStr(tls, bp+16, __ccgo_ts+33902, bp) + _sessionAppendStr(tls, bp+28, __ccgo_ts+33911, bp) + zCols = __ccgo_ts + 33956 } else { i = 0 for { @@ -195254,11 +196979,11 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { _sessionAppendStr(tls, bp+16, zSep, bp) _sessionAppendStr(tls, bp+28, zSep, bp) - zSep = __ccgo_ts + 14990 + zSep = __ccgo_ts + 15083 _sessionAppendIdent(tls, bp+16, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), bp) - _sessionAppendPrintf(tls, bp+28, bp, __ccgo_ts+33824, libc.VaList(bp+48, i+int32(1))) + _sessionAppendPrintf(tls, bp+28, bp, __ccgo_ts+33970, libc.VaList(bp+48, i+int32(1))) } else { - _sessionAppendPrintf(tls, bp+4, bp, __ccgo_ts+33828, libc.VaList(bp+48, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)))) + _sessionAppendPrintf(tls, bp+4, bp, __ccgo_ts+33974, libc.VaList(bp+48, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)))) } goto _2 _2: @@ -195270,9 +196995,9 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if bIgnoreNoop != 0 { v3 = (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+33855, libc.VaList(bp+48, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 28))).FaBuf)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+34001, libc.VaList(bp+48, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 28))).FaBuf)) if zSql == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } @@ -195418,7 +197143,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+33897, uintptr(0), uintptr(0), uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+34043, uintptr(0), uintptr(0), uintptr(0)) if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp + 12)) } @@ -195525,7 +197250,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, } } Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf) - Xsqlite3_exec(tls, db, __ccgo_ts+33917, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34063, uintptr(0), uintptr(0), uintptr(0)) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return *(*int32)(unsafe.Pointer(bp + 12)) } @@ -195946,7 +197671,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, int32(9)) if rc == SQLITE_OK { if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData { - rc = _sqlite3CorruptError(tls, int32(226700)) + rc = _sqlite3CorruptError(tls, int32(228355)) } else { v3 = pIn + 8 v2 = *(*int32)(unsafe.Pointer(v3)) @@ -195971,7 +197696,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = _sqlite3CorruptError(tls, int32(226720)) + rc = _sqlite3CorruptError(tls, int32(228375)) } else { if eType == int32(SQLITE_TEXT) { v4 = int32(SQLITE_UTF8) @@ -195986,7 +197711,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap } if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) { if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) { - rc = _sqlite3CorruptError(tls, int32(226730)) + rc = _sqlite3CorruptError(tls, int32(228385)) } else { *(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal) if eType == int32(SQLITE_INTEGER) { @@ -196042,7 +197767,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) ( ** large value for nCol may cause nRead to wrap around and become ** negative. Leading to a crash. */ if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) { - rc = _sqlite3CorruptError(tls, int32(226778)) + rc = _sqlite3CorruptError(tls, int32(228433)) } else { rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100)) nRead += *(*int32)(unsafe.Pointer(bp)) @@ -196148,7 +197873,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) { (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 _sessionBufferGrow(tls, p+44, int64(nByte), bp) } else { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(226866)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(228521)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -196221,12 +197946,12 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { return (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc } + _sessionDiscardData(tls, p) + (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext /* If the iterator is already at the end of the changeset, return DONE. */ if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { return int32(SQLITE_DONE) } - _sessionDiscardData(tls, p) - (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext v3 = p + 8 v2 = *(*int32)(unsafe.Pointer(v3)) *(*int32)(unsafe.Pointer(v3))++ @@ -196257,7 +197982,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin /* The first record in the changeset is not a table header. Must be a ** corrupt changeset. */ _ = libc.Int32FromInt32(0) - v7 = _sqlite3CorruptError(tls, int32(226952)) + v7 = _sqlite3CorruptError(tls, int32(228607)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7 return v7 } @@ -196267,7 +197992,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin *(*int32)(unsafe.Pointer(v9))++ (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8)))) if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) { - v10 = _sqlite3CorruptError(tls, int32(226958)) + v10 = _sqlite3CorruptError(tls, int32(228613)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10 return v10 } @@ -196348,7 +198073,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin _ = libc.Int32FromInt32(0) *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4)) if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) == uintptr(0) { - v16 = _sqlite3CorruptError(tls, int32(227002)) + v16 = _sqlite3CorruptError(tls, int32(228657)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16 return v16 } @@ -196759,7 +198484,7 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu goto finished_invert } default: - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(227367)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(229022)) goto finished_invert } _ = libc.Int32FromInt32(0) @@ -196964,18 +198689,18 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 } if pUp == uintptr(0) { nByte = int32(uint32(12) * uint32(nU32) * uint32(4)) - bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11582) == 0) + bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11707) == 0) pUp = Xsqlite3_malloc(tls, nByte) if pUp == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } else { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 libc.Xmemset(tls, bp+4, 0, uint32(12)) (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*12 libc.Xmemcpy(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*TSessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint32(nU32)*uint32(4)) - _sessionAppendStr(tls, bp+4, __ccgo_ts+33935, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34081, bp) _sessionAppendIdent(tls, bp+4, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+33948, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34094, bp) /* Create the assignments part of the UPDATE */ ii = 0 for { @@ -196985,9 +198710,9 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if int32(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*4)) != 0 { _sessionAppendStr(tls, bp+4, zSep, bp) _sessionAppendIdent(tls, bp+4, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+33954, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34100, bp) _sessionAppendInteger(tls, bp+4, ii*int32(2)+int32(1), bp) - zSep = __ccgo_ts + 14990 + zSep = __ccgo_ts + 15083 } goto _2 _2: @@ -196995,8 +198720,8 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 ii++ } /* Create the WHERE clause part of the UPDATE */ - zSep = __ccgo_ts + 1648 - _sessionAppendStr(tls, bp+4, __ccgo_ts+33959, bp) + zSep = __ccgo_ts + 1662 + _sessionAppendStr(tls, bp+4, __ccgo_ts+34105, bp) ii = 0 for { if !(ii < (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { @@ -197006,13 +198731,13 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 _sessionAppendStr(tls, bp+4, zSep, bp) if bStat1 != 0 && ii == int32(1) { _ = libc.Int32FromInt32(0) - _sessionAppendStr(tls, bp+4, __ccgo_ts+33967, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34113, bp) } else { _sessionAppendIdent(tls, bp+4, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+34042, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34188, bp) _sessionAppendInteger(tls, bp+4, ii*int32(2)+int32(2), bp) } - zSep = __ccgo_ts + 22013 + zSep = __ccgo_ts + 22158 } goto _3 _3: @@ -197096,13 +198821,13 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in var _ /* buf at bp+4 */ TSessionBuffer var _ /* rc at bp+0 */ int32 _, _, _ = i, nPk, zSep - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 4)) = TSessionBuffer{} nPk = 0 - _sessionAppendStr(tls, bp+4, __ccgo_ts+34048, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34194, bp) _sessionAppendIdent(tls, bp+4, zTab, bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+33959, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34105, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -197112,9 +198837,9 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in nPk++ _sessionAppendStr(tls, bp+4, zSep, bp) _sessionAppendIdent(tls, bp+4, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+33954, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34100, bp) _sessionAppendInteger(tls, bp+4, i+int32(1), bp) - zSep = __ccgo_ts + 22013 + zSep = __ccgo_ts + 22158 } goto _1 _1: @@ -197122,10 +198847,10 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in i++ } if nPk < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol { - _sessionAppendStr(tls, bp+4, __ccgo_ts+34066, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34212, bp) _sessionAppendInteger(tls, bp+4, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol+int32(1), bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+33530, bp) - zSep = __ccgo_ts + 1648 + _sessionAppendStr(tls, bp+4, __ccgo_ts+33676, bp) + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -197134,16 +198859,16 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in if !(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) { _sessionAppendStr(tls, bp+4, zSep, bp) _sessionAppendIdent(tls, bp+4, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+34042, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34188, bp) _sessionAppendInteger(tls, bp+4, i+int32(1), bp) - zSep = __ccgo_ts + 34074 + zSep = __ccgo_ts + 34220 } goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+4, __ccgo_ts+5106, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+5170, bp) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf, p+4, uintptr(0)) @@ -197169,7 +198894,7 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in // */ func _sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r int32) { /* TODO */ - return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6585, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+12) + return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6649, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+12) } // C documentation @@ -197192,16 +198917,16 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 4)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+4, __ccgo_ts+34079, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34225, bp) _sessionAppendIdent(tls, bp+4, zTab, bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+22019, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+22164, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } if i != 0 { - _sessionAppendStr(tls, bp+4, __ccgo_ts+14990, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+15083, bp) } _sessionAppendIdent(tls, bp+4, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp) goto _1 @@ -197209,19 +198934,19 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in ; i++ } - _sessionAppendStr(tls, bp+4, __ccgo_ts+34097, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34243, bp) i = int32(1) for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } - _sessionAppendStr(tls, bp+4, __ccgo_ts+34108, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34254, bp) goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+4, __ccgo_ts+5106, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+5170, bp) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf, p+8, uintptr(0)) } @@ -197244,12 +198969,12 @@ func _sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) (r int func _sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) (r int32) { var rc int32 _ = rc - rc = _sessionSelectRow(tls, db, __ccgo_ts+11582, p) + rc = _sessionSelectRow(tls, db, __ccgo_ts+11707, p) if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34112) + rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34258) } if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+4, __ccgo_ts+34225) + rc = _sessionPrepare(tls, db, p+4, __ccgo_ts+34371) } return rc } @@ -197316,7 +199041,7 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { /* The value in the changeset was "undefined". This indicates a ** corrupt changeset blob. */ - rc = _sqlite3CorruptError(tls, int32(227849)) + rc = _sqlite3CorruptError(tls, int32(229504)) } else { rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp))) } @@ -197744,7 +199469,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply } else { if *(*int32)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34369, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34515, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = _sessionBindRow(tls, pIter, __ccgo_fp(Xsqlite3changeset_new), (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) Xsqlite3_bind_int(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol+int32(1), int32(1)) @@ -197757,7 +199482,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34390, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34536, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -197853,10 +199578,10 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 4))).FbIgnoreNoop = libc.BoolUint8(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_IGNORENOOP) != 0)) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34409, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34555, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34435, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34581, uintptr(0), uintptr(0), uintptr(0)) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) { Xsqlite3changeset_op(tls, pIter, bp+92, bp+84, bp+88, uintptr(0)) @@ -197887,7 +199612,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui ** non-zero, proceed. */ schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 92)))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp + 92)))) + *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp + 92)))) if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { rc = int32(SQLITE_NOMEM) break @@ -197897,7 +199622,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } else { nMinCol = 0 Xsqlite3changeset_pk(tls, pIter, bp+96, uintptr(0)) - rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6585, *(*uintptr)(unsafe.Pointer(bp + 92)), bp+4+16, bp, bp+4+20, uintptr(0), bp+4+24, bp+4+76) + rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6649, *(*uintptr)(unsafe.Pointer(bp + 92)), bp+4+16, bp, bp+4+20, uintptr(0), bp+4+24, bp+4+76) if rc != SQLITE_OK { break } @@ -197916,18 +199641,18 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 4))).FnCol == 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34465, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34611, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp)))) } else { if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 4))).FnCol < *(*int32)(unsafe.Pointer(bp + 84)) { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34509, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 4))).FnCol, *(*int32)(unsafe.Pointer(bp + 84)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34655, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 4))).FnCol, *(*int32)(unsafe.Pointer(bp + 84)))) } else { if *(*int32)(unsafe.Pointer(bp + 84)) < nMinCol || libc.Xmemcmp(tls, (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 4))).FabPK, *(*uintptr)(unsafe.Pointer(bp + 96)), uint32(*(*int32)(unsafe.Pointer(bp + 84)))) != 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34580, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34726, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp)))) } else { (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 4))).FnCol = *(*int32)(unsafe.Pointer(bp + 84)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11582) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11707) { v2 = _sessionStat1Sql(tls, db, bp+4) rc = v2 if v2 != 0 { @@ -197984,13 +199709,13 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } } } - Xsqlite3_exec(tls, db, __ccgo_ts+34640, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34786, uintptr(0), uintptr(0), uintptr(0)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34670, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34816, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, __ccgo_ts+34694, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, __ccgo_ts+34670, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34840, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34816, uintptr(0), uintptr(0), uintptr(0)) } } _ = libc.Int32FromInt32(0) @@ -198084,6 +199809,7 @@ type Tsqlite3_changegroup1 = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -198450,118 +200176,145 @@ func _sessionChangesetExtendRecord(tls *libc.TLS, pGrp uintptr, pTab uintptr, nC // C documentation // // /* -// ** Add all changes in the changeset traversed by the iterator passed as -// ** the first argument to the changegroup hash tables. +// ** Locate or create a SessionTable object that may be used to add the +// ** change currently pointed to by iterator pIter to changegroup pGrp. +// ** If successful, set output variable (*ppTab) to point to the table +// ** object and return SQLITE_OK. Otherwise, if some error occurs, return +// ** an SQLite error code and leave (*ppTab) set to NULL. // */ -func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { - bp := tls.Alloc(48) - defer tls.Free(48) - var bPkOnly1, bPkOnly2, iHash, nNew, rc int32 - var pExist, pTab, pp, ppTab uintptr - var _ /* aRec at bp+0 */ uintptr - var _ /* abPK at bp+40 */ uintptr - var _ /* bIndirect at bp+32 */ int32 - var _ /* nCol at bp+24 */ int32 - var _ /* nRec at bp+4 */ int32 - var _ /* op at bp+28 */ int32 - var _ /* pChange at bp+36 */ uintptr - var _ /* rec at bp+8 */ TSessionBuffer - var _ /* zNew at bp+20 */ uintptr - _, _, _, _, _, _, _, _, _ = bPkOnly1, bPkOnly2, iHash, nNew, pExist, pTab, pp, ppTab, rc +func _sessionChangesetFindTable(tls *libc.TLS, pGrp uintptr, zTab uintptr, pIter uintptr, ppTab uintptr) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var nTab, rc int32 + var pTab, ppNew uintptr + var _ /* abPK at bp+0 */ uintptr + var _ /* nCol at bp+4 */ int32 + _, _, _, _ = nTab, pTab, ppNew, rc rc = SQLITE_OK pTab = uintptr(0) - *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} - for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+4, uintptr(0)) { - pExist = uintptr(0) - /* Ensure that only changesets, or only patchsets, but not a mixture - ** of both, are being combined. It is an error to try to combine a - ** changeset and a patchset. */ - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset - } else { - if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { - rc = int32(SQLITE_ERROR) - break - } + nTab = int32(libc.Xstrlen(tls, zTab)) + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + *(*uintptr)(unsafe.Pointer(ppTab)) = uintptr(0) + Xsqlite3changeset_pk(tls, pIter, bp, bp+4) + /* Search the list for an existing table */ + pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList + for { + if !(pTab != 0) { + break } - Xsqlite3changeset_op(tls, pIter, bp+20, bp+24, bp+28, bp+32) - if !(pTab != 0) || Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 20)), (*TSessionTable)(unsafe.Pointer(pTab)).FzName) != 0 { - /* Search the list for a matching table */ - nNew = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 20)))) - Xsqlite3changeset_pk(tls, pIter, bp+40, uintptr(0)) - pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList - for { - if !(pTab != 0) { - break - } - if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 20)), nNew+int32(1)) { - break - } - goto _1 - _1: - ; - pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext - } - if !(pTab != 0) { - pTab = Xsqlite3_malloc64(tls, uint64(uint32(48)+uint32(*(*int32)(unsafe.Pointer(bp + 24)))+uint32(nNew)+uint32(1))) - if !(pTab != 0) { - rc = int32(SQLITE_NOMEM) - break - } - libc.Xmemset(tls, pTab, 0, uint32(48)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 24)) - (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*48 - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40)), uint32(*(*int32)(unsafe.Pointer(bp + 24)))) - (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 24))) - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 20)), uint32(nNew+int32(1))) - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 - rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) - if rc != 0 { - _ = libc.Int32FromInt32(0) - Xsqlite3_free(tls, pTab) - break - } - } - /* The new object must be linked on to the end of the list, not - ** simply added to the start of it. This is to ensure that the - ** tables within the output of sqlite3changegroup_output() are in - ** the right order. */ - ppTab = pGrp + 8 - for { - if !(*(*uintptr)(unsafe.Pointer(ppTab)) != 0) { - break - } - goto _2 - _2: - ; - ppTab = *(*uintptr)(unsafe.Pointer(ppTab)) - } - *(*uintptr)(unsafe.Pointer(ppTab)) = pTab - } - if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 24)), *(*uintptr)(unsafe.Pointer(bp + 40))) != 0) { - rc = int32(SQLITE_SCHEMA) - break - } + if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, nTab+int32(1)) { + break } - if *(*int32)(unsafe.Pointer(bp + 24)) < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol { - _ = libc.Int32FromInt32(0) - rc = _sessionChangesetExtendRecord(tls, pGrp, pTab, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), bp+8) + goto _1 + _1: + ; + pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext + } + /* If one was not found above, create a new table now */ + if !(pTab != 0) { + pTab = Xsqlite3_malloc64(tls, uint64(uint32(48)+uint32(*(*int32)(unsafe.Pointer(bp + 4)))+uint32(nTab)+uint32(1))) + if !(pTab != 0) { + return int32(SQLITE_NOMEM) + } + libc.Xmemset(tls, pTab, 0, uint32(48)) + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 4)) + (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*48 + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp)), uint32(*(*int32)(unsafe.Pointer(bp + 4)))) + (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 4))) + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, uint32(nTab+int32(1))) + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 + rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) if rc != 0 { + _ = libc.Int32FromInt32(0) + Xsqlite3_free(tls, pTab) + return rc + } + } + /* The new object must be linked on to the end of the list, not + ** simply added to the start of it. This is to ensure that the + ** tables within the output of sqlite3changegroup_output() are in + ** the right order. */ + ppNew = pGrp + 8 + for { + if !(*(*uintptr)(unsafe.Pointer(ppNew)) != 0) { break } - *(*uintptr)(unsafe.Pointer(bp)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf - *(*int32)(unsafe.Pointer(bp + 4)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf + goto _2 + _2: + ; + ppNew = *(*uintptr)(unsafe.Pointer(ppNew)) } - if _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { - rc = int32(SQLITE_NOMEM) - break + *(*uintptr)(unsafe.Pointer(ppNew)) = pTab + } + /* Check that the table is compatible. */ + if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 4)), *(*uintptr)(unsafe.Pointer(bp))) != 0) { + rc = int32(SQLITE_SCHEMA) + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + return rc +} + +// C documentation +// +// /* +// ** Add the change currently indicated by iterator pIter to the hash table +// ** belonging to changegroup pGrp. +// */ +func _sessionOneChangeToHash(tls *libc.TLS, pGrp uintptr, pIter uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(32) + defer tls.Free(32) + var aRec, pBuf, pExist, pp uintptr + var bPkOnly1, bPkOnly2, iHash, nRec, rc int32 + var _ /* bIndirect at bp+8 */ int32 + var _ /* nCol at bp+0 */ int32 + var _ /* op at bp+4 */ int32 + var _ /* pChange at bp+12 */ uintptr + var _ /* pTab at bp+16 */ uintptr + var _ /* zTab at bp+20 */ uintptr + _, _, _, _, _, _, _, _, _ = aRec, bPkOnly1, bPkOnly2, iHash, nRec, pBuf, pExist, pp, rc + rc = SQLITE_OK + *(*int32)(unsafe.Pointer(bp)) = 0 + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + iHash = 0 + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 12)) = uintptr(0) + pExist = uintptr(0) + pp = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) + aRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent+int32(2)) + nRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent - int32(2) + /* Ensure that only changesets, or only patchsets, but not a mixture + ** of both, are being combined. It is an error to try to combine a + ** changeset and a patchset. */ + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = int32(SQLITE_ERROR) } - iHash = int32(_sessionChangeHash(tls, pTab, libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 28)) == int32(SQLITE_DELETE)), *(*uintptr)(unsafe.Pointer(bp)), (*TSessionTable)(unsafe.Pointer(pTab)).FnChange)) + } + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(bp + 20)) = uintptr(0) + Xsqlite3changeset_op(tls, pIter, bp+20, bp, bp+4, bp+8) + rc = _sessionChangesetFindTable(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 20)), pIter, bp+16) + } + if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) < (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FnCol { + pBuf = pGrp + 12 + rc = _sessionChangesetExtendRecord(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 16)), *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), aRec, nRec, pBuf) + aRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + nRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FnBuf + _ = libc.Int32FromInt32(0) + } + if rc == SQLITE_OK && _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 16))) != 0 { + rc = int32(SQLITE_NOMEM) + } + if rc == SQLITE_OK { /* Search for existing entry. If found, remove it from the hash table. - ** Code below may link it back in. - */ - pp = (*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4 + ** Code below may link it back in. */ + iHash = int32(_sessionChangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)), aRec, (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FnChange)) + pp = (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FapChange + uintptr(iHash)*4 for { if !(*(*uintptr)(unsafe.Pointer(pp)) != 0) { break @@ -198570,30 +200323,54 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase bPkOnly2 = 0 if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { bPkOnly1 = libc.BoolInt32(int32((*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fop) == int32(SQLITE_DELETE)) - bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 28)) == int32(SQLITE_DELETE)) + bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)) } - if _sessionChangeEqual(tls, pTab, bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp))) != 0 { + if _sessionChangeEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, aRec) != 0 { pExist = *(*uintptr)(unsafe.Pointer(pp)) *(*uintptr)(unsafe.Pointer(pp)) = (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry-- + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FnEntry-- break } - goto _3 - _3: + goto _1 + _1: ; pp = *(*uintptr)(unsafe.Pointer(pp)) + 16 } - rc = _sessionChangeMerge(tls, pTab, bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 28)), *(*int32)(unsafe.Pointer(bp + 32)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), bp+36) - if rc != 0 { + } + if rc == SQLITE_OK { + rc = _sessionChangeMerge(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 4)), *(*int32)(unsafe.Pointer(bp + 8)), aRec, nRec, bp+12) + } + if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 12)) != 0 { + (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FapChange + uintptr(iHash)*4)) + *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FapChange + uintptr(iHash)*4)) = *(*uintptr)(unsafe.Pointer(bp + 12)) + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FnEntry++ + } + if rc == SQLITE_OK { + rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// C documentation +// +// /* +// ** Add all changes in the changeset traversed by the iterator passed as +// ** the first argument to the changegroup hash tables. +// */ +func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var rc int32 + var _ /* aRec at bp+0 */ uintptr + var _ /* nRec at bp+4 */ int32 + _ = rc + rc = SQLITE_OK + for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+4, uintptr(0)) { + rc = _sessionOneChangeToHash(tls, pGrp, pIter, bRebase) + if rc != SQLITE_OK { break } - if *(*uintptr)(unsafe.Pointer(bp + 36)) != 0 { - (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 36)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)) - *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)) = *(*uintptr)(unsafe.Pointer(bp + 36)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry++ - } } - Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf) if rc == SQLITE_OK { rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc } @@ -198704,11 +200481,11 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) (r int32) { var rc int32 _, _ = p, rc rc = SQLITE_OK /* New object */ - p = Xsqlite3_malloc(tls, int32(20)) + p = Xsqlite3_malloc(tls, int32(32)) if p == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, p, 0, uint32(20)) + libc.Xmemset(tls, p, 0, uint32(32)) } *(*uintptr)(unsafe.Pointer(pp)) = p return rc @@ -198730,7 +200507,7 @@ func Xsqlite3changegroup_schema(tls *libc.TLS, pGrp uintptr, db uintptr, zDb uin ** or after sqlite3changegroup_schema() has already been called. */ rc = int32(SQLITE_MISUSE) } else { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, zDb)) + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, zDb)) if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -198760,6 +200537,19 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin return rc } +// C documentation +// +// /* +// ** Add a single change to a changeset-group. +// */ +func Xsqlite3changegroup_add_change(tls *libc.TLS, pGrp uintptr, pIter uintptr) (r int32) { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent == (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc != SQLITE_OK || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbInvert != 0 { + /* Iterator does not point to any valid entry or is an INVERT iterator. */ + return int32(SQLITE_ERROR) + } + return _sessionOneChangeToHash(tls, pGrp, pIter, 0) +} + // C documentation // // /* @@ -198807,6 +200597,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { if pGrp != 0 { Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Frec.FaBuf) Xsqlite3_free(tls, pGrp) } } @@ -199174,11 +200965,11 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) (r int32) { var rc int32 _, _ = pNew, rc rc = SQLITE_OK - pNew = Xsqlite3_malloc(tls, int32(20)) + pNew = Xsqlite3_malloc(tls, int32(32)) if pNew == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, pNew, 0, uint32(20)) + libc.Xmemset(tls, pNew, 0, uint32(32)) } *(*uintptr)(unsafe.Pointer(ppNew)) = pNew return rc @@ -199252,6 +201043,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { if p != 0 { _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.Frec.FaBuf) Xsqlite3_free(tls, p) } } @@ -199883,6 +201675,9 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** sqlite3Fts5ParserARG_STORE Code to store %extra_argument into fts5yypParser // ** sqlite3Fts5ParserARG_FETCH Code to extract %extra_argument from fts5yypParser // ** sqlite3Fts5ParserCTX_* As sqlite3Fts5ParserARG_ except for %extra_context +// ** fts5YYREALLOC Name of the realloc() function to use +// ** fts5YYFREE Name of the free() function to use +// ** fts5YYDYNSTACK True if stack space should be extended on heap // ** fts5YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** fts5YYNSTATE the combined number of states. @@ -199896,6 +201691,8 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** fts5YY_NO_ACTION The fts5yy_action[] code for no-op // ** fts5YY_MIN_REDUCE Minimum value for reduce actions // ** fts5YY_MAX_REDUCE Maximum value for reduce actions +// ** fts5YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** fts5YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type Tfts5YYMINORTYPE = struct { @@ -199922,6 +201719,13 @@ type fts5YYMINORTYPE = Tfts5YYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -200351,8 +202155,9 @@ type fts5yyStackEntry = Tfts5yyStackEntry type Tfts5yyParser1 = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser1 = Tfts5yyParser1 @@ -200360,14 +202165,19 @@ type fts5yyParser1 = Tfts5yyParser1 type Tfts5yyParser = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser = Tfts5yyParser /* #include */ +/* For builds that do no have a growable stack, fts5yyGrowStack always +** returns an error. + */ + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3Fts5ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -200382,10 +202192,11 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { var fts5yypParser uintptr _ = fts5yypParser fts5yypParser = fts5yypRawParser - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 8 - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 8))).Fstateno = uint8(0) - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 8))).Fmajor = uint8(0) - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = fts5yypParser + 8 + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*12 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack = fts5yypParser + 16 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*12 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fstateno = uint8(0) + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fmajor = uint8(0) } // C documentation @@ -200405,7 +202216,7 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) { var fts5yypParser uintptr _ = fts5yypParser - fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(1212)) + fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(1216)) if fts5yypParser != 0 { _sqlite3Fts5ParserInit(tls, fts5yypParser) } @@ -200489,11 +202300,17 @@ func _fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var fts5yytos, pParser uintptr + _, _ = fts5yytos, pParser pParser = p - for (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+8 { - _fts5yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling fts5yy_pop_parser_stack() for each + ** element left in the stack */ + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos + for fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yystack { + if int32((*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor) >= int32(fts5YY_MIN_DSTRCTR) { + _fts5yy_destructor(tls, pParser, (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor, fts5yytos+4) + } + fts5yytos -= 12 } } @@ -200593,13 +202410,13 @@ func _fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse - for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+8 { + for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack { _fts5yy_pop_parser_stack(tls, fts5yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34722, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34868, 0) /******** End %stack_overflow code ********************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument var */ } @@ -200617,15 +202434,19 @@ func _fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, f var fts5yytos uintptr _ = fts5yytos (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 12 - if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 12 - _fts5yyStackOverflow(tls, fts5yypParser) - return + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + if fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { + if int32(1) != 0 { + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 12 + _fts5yyStackOverflow(tls, fts5yypParser) + return + } + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + _ = libc.Int32FromInt32(0) } if int32(fts5yyNewState) > int32(fts5YY_MAX_SHIFT) { fts5yyNewState = uint8(int32(fts5yyNewState) + (libc.Int32FromInt32(fts5YY_MIN_REDUCE) - libc.Int32FromInt32(fts5YY_MIN_SHIFTREDUCE))) } - fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fstateno = fts5yyNewState (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor = fts5yyMajor *(*TFts5Token)(unsafe.Pointer(fts5yytos + 4)) = fts5yyMinor @@ -200955,7 +202776,7 @@ func _fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int3 pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse /************ Begin %syntax_error code ****************************************/ _ = fts5yymajor /* Silence a compiler warning */ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34750, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34896, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) /************ End %syntax_error code ******************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument variable */ } @@ -201021,8 +202842,10 @@ func _sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5y ** enough on the stack to push the LHS value */ if int32(_fts5yyRuleInfoNRhs[fts5yyruleno]) == 0 { if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos >= (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - _fts5yyStackOverflow(tls, fts5yypParser) - break + if int32(1) != 0 { + _fts5yyStackOverflow(tls, fts5yypParser) + break + } } } fts5yyact = _fts5yy_reduce(tls, fts5yypParser, fts5yyruleno, fts5yymajor, fts5yyminor) @@ -201263,7 +203086,7 @@ func _fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n in if n < 0 { n = int32(libc.Xstrlen(tls, z)) } - (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34781, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34927, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*THighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = int32(SQLITE_NOMEM) } @@ -201361,7 +203184,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint var _ /* rc at bp+68 */ int32 _, _ = iCol, zErr if nVal != int32(3) { - zErr = __ccgo_ts + 34788 + zErr = __ccgo_ts + 34934 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -201372,7 +203195,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint (*(*THighlightContext)(unsafe.Pointer(bp))).FiRangeEnd = -int32(1) *(*int32)(unsafe.Pointer(bp + 68)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})))(tls, pFts, iCol, bp+16, bp+20) if *(*int32)(unsafe.Pointer(bp + 68)) == int32(SQLITE_RANGE) { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1648, -int32(1), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1662, -int32(1), libc.UintptrFromInt32(0)) *(*int32)(unsafe.Pointer(bp + 68)) = SQLITE_OK } else { if (*(*THighlightContext)(unsafe.Pointer(bp))).FzIn != 0 { @@ -201573,7 +203396,7 @@ func _fts5ValueToText(tls *libc.TLS, pVal uintptr) (r uintptr) { if zRet != 0 { v1 = zRet } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } return v1 } @@ -201607,7 +203430,7 @@ func _fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintpt nBestScore = 0 /* Score of best snippet */ *(*int32)(unsafe.Pointer(bp + 76)) = 0 if nVal != int32(5) { - zErr = __ccgo_ts + 34838 + zErr = __ccgo_ts + 34984 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -201988,15 +203811,15 @@ func _sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) (r int32) { FxDestroy uintptr }{ 0: { - FzFunc: __ccgo_ts + 34886, + FzFunc: __ccgo_ts + 35032, FxFunc: __ccgo_fp(_fts5SnippetFunction), }, 1: { - FzFunc: __ccgo_ts + 34894, + FzFunc: __ccgo_ts + 35040, FxFunc: __ccgo_fp(_fts5HighlightFunction), }, 2: { - FzFunc: __ccgo_ts + 34904, + FzFunc: __ccgo_ts + 35050, FxFunc: __ccgo_fp(_fts5Bm25Function), }, } @@ -202661,7 +204484,7 @@ func _fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) (r uintptr) { case int32('n'): fallthrough case int32('N'): - if Xsqlite3_strnicmp(tls, __ccgo_ts+1634, p, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+1648, p, int32(4)) == 0 { p = p + 4 } else { p = uintptr(0) @@ -202867,7 +204690,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _, _, _, _, _, _, _, _, _, _, _, _ = azArg, bFirst, nArg, nByte, nCmd, nPre, p, p1, p2, pDel, pSpace, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK nCmd = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, __ccgo_ts+34909, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35055, zCmd, nCmd) == 0 { nByte = int32(libc.Uint32FromInt64(4) * libc.Uint32FromInt32(FTS5_MAX_PREFIX_INDEXES)) bFirst = int32(1) if (*TFts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { @@ -202893,12 +204716,12 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } } if int32(*(*int8)(unsafe.Pointer(p))) < int32('0') || int32(*(*int8)(unsafe.Pointer(p))) > int32('9') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34916, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35062, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } if (*TFts5Config)(unsafe.Pointer(pConfig)).FnPrefix == int32(FTS5_MAX_PREFIX_INDEXES) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34947, libc.VaList(bp+48, int32(FTS5_MAX_PREFIX_INDEXES))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35093, libc.VaList(bp+48, int32(FTS5_MAX_PREFIX_INDEXES))) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -202907,7 +204730,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC p++ } if nPre <= 0 || nPre >= int32(1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34980, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35126, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -202918,7 +204741,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _ = libc.Int32FromInt32(0) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35017, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35163, zCmd, nCmd) == 0 { p1 = zArg nArg = int64(libc.Xstrlen(tls, zArg) + uint32(1)) azArg = _sqlite3Fts5MallocZero(tls, bp, int64(4)*nArg) @@ -202926,7 +204749,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC pSpace = pDel if azArg != 0 && pSpace != 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35026, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35172, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { nArg = 0 @@ -202953,7 +204776,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC nArg++ } if p1 == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35059, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35205, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(nArg), pConfig, pzErr) @@ -202964,58 +204787,58 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC Xsqlite3_free(tls, pDel) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35093, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35239, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35101, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35247, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if *(*int8)(unsafe.Pointer(zArg)) != 0 { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_EXTERNAL) - (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35133, libc.VaList(bp+48, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35279, libc.VaList(bp+48, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_NONE) } } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35139, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35285, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35158, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35304, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35201, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35347, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35215, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35361, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, zArg, -int32(1)) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35253, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35399, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35264, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35410, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+5499, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+5563, zCmd, nCmd) == 0 { *(*[4]TFts5Enum)(unsafe.Pointer(bp + 4)) = [4]TFts5Enum{ 0: { - FzName: __ccgo_ts + 8218, + FzName: __ccgo_ts + 8343, FeVal: int32(FTS5_DETAIL_NONE), }, 1: { - FzName: __ccgo_ts + 17747, + FzName: __ccgo_ts + 17834, }, 2: { - FzName: __ccgo_ts + 35299, + FzName: __ccgo_ts + 35445, FeVal: int32(FTS5_DETAIL_COLUMNS), }, 3: {}, @@ -203023,20 +204846,20 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC v2 = _fts5ConfigSetEnum(tls, bp+4, zArg, pConfig+56) *(*int32)(unsafe.Pointer(bp)) = v2 if v2 != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35307, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35453, 0) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35338, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35484, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35348, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35494, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbTokendata = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35382, libc.VaList(bp+48, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35528, libc.VaList(bp+48, nCmd, zCmd)) return int32(SQLITE_ERROR) } @@ -203110,15 +204933,15 @@ func _fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr var v2 uintptr _, _, _ = rc, v1, v2 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35410) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16694) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35415, libc.VaList(bp+8, zCol)) + if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35556) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16781) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35561, libc.VaList(bp+8, zCol)) rc = int32(SQLITE_ERROR) } else { if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35445) { + if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35591) { *(*Tu8)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*TFts5Config)(unsafe.Pointer(p)).FnCol))) = uint8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35455, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35601, libc.VaList(bp+8, zArg)) rc = int32(SQLITE_ERROR) } } @@ -203144,7 +204967,7 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TFts5Buffer)(unsafe.Pointer(bp + 4)) = TFts5Buffer{} - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+4, __ccgo_ts+35486, libc.VaList(bp+24, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+4, __ccgo_ts+35632, libc.VaList(bp+24, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*TFts5Config)(unsafe.Pointer(p)).FeContent != int32(FTS5_CONTENT_NONE) { i = 0 for { @@ -203152,9 +204975,9 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { break } if (*TFts5Config)(unsafe.Pointer(p)).FeContent == int32(FTS5_CONTENT_EXTERNAL) { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+4, __ccgo_ts+35491, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)))) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+4, __ccgo_ts+35637, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)))) } else { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+4, __ccgo_ts+35498, libc.VaList(bp+24, i)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+4, __ccgo_ts+35644, libc.VaList(bp+24, i)) } goto _1 _1: @@ -203215,8 +205038,8 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in (*TFts5Config)(unsafe.Pointer(pRet)).FzName = _sqlite3Fts5Strndup(tls, bp, *(*uintptr)(unsafe.Pointer(azArg + 2*4)), -int32(1)) (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize = int32(1) (*TFts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35410) == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35506, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) + if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35556) == 0 { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35652, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } _ = libc.Int32FromInt32(0) @@ -203249,19 +205072,19 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35535, libc.VaList(bp+32, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35681, libc.VaList(bp+32, zOrig)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bOption != 0 { if *(*uintptr)(unsafe.Pointer(bp + 4)) != 0 { v4 = *(*uintptr)(unsafe.Pointer(bp + 4)) } else { - v4 = __ccgo_ts + 1648 + v4 = __ccgo_ts + 1662 } if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { v5 = *(*uintptr)(unsafe.Pointer(bp + 8)) } else { - v5 = __ccgo_ts + 1648 + v5 = __ccgo_ts + 1662 } *(*int32)(unsafe.Pointer(bp)) = _fts5ConfigParseSpecial(tls, pGlobal, pRet, v4, v5, pzErr) } else { @@ -203279,7 +205102,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } /* We only allow contentless_delete=1 if the table is indeed contentless. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FeContent != int32(FTS5_CONTENT_NONE) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35555, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35701, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* We only allow contentless_delete=1 if columnsize=0 is not present. @@ -203287,7 +205110,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in ** This restriction may be removed at some point. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35605, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35751, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* If a tokenizer= option was successfully parsed, the tokenizer has @@ -203301,18 +205124,18 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in zTail = uintptr(0) _ = libc.Int32FromInt32(0) if (*TFts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { - zTail = __ccgo_ts + 35093 + zTail = __ccgo_ts + 35239 } else { if (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = __ccgo_ts + 35660 + zTail = __ccgo_ts + 35806 } } if zTail != 0 { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35668, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35814, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0) { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16694, -int32(1)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16781, -int32(1)) } /* Formulate the zContentExprlist text */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -203376,25 +205199,25 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) { var _ /* rc at bp+0 */ int32 _, _, _, _ = i, zSep, zSql, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35679, 0) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35825, 0) i = 0 for { if !(zSql != 0 && i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } if i == 0 { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } else { - v2 = __ccgo_ts + 14990 + v2 = __ccgo_ts + 15083 } zSep = v2 - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35695, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4)))) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35841, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4)))) goto _1 _1: ; i++ } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35702, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35410)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35848, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35556)) _ = libc.Int32FromInt32(0) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_declare_vtab(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -203542,7 +205365,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV var _ /* zRankArgs at bp+4 */ uintptr _, _, _, _, _, _, _, _, _, _ = bVal, nAutomerge, nCrisisMerge, nHashSize, nUsermerge, nVal, pgsz, rc, zIn, v1 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35728) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35874) { pgsz = 0 if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -203553,7 +205376,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35733) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35879) { nHashSize = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -203564,7 +205387,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35742) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35888) { nAutomerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -203578,7 +205401,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35752) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35898) { nUsermerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -203589,7 +205412,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35762) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35908) { nCrisisMerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -203606,7 +205429,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35774) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35920) { nVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nVal = Xsqlite3_value_int(tls, pVal) @@ -203621,7 +205444,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } (*TFts5Config)(unsafe.Pointer(pConfig)).FnDeleteMerge = nVal } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35410) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35556) { zIn = Xsqlite3_value_text(tls, pVal) rc = _sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+4) if rc == SQLITE_OK { @@ -203636,7 +205459,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35786) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35932) { bVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { bVal = Xsqlite3_value_int(tls, pVal) @@ -203678,7 +205501,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in var _ /* p at bp+0 */ uintptr var _ /* rc at bp+4 */ int32 _, _, _, _, _ = iVersion, pVal, zK, zSelect, zSql - zSelect = __ccgo_ts + 35800 + zSelect = __ccgo_ts + 35946 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 4)) = SQLITE_OK iVersion = 0 @@ -203699,7 +205522,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in for int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zK = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) pVal = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) - if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35832) { + if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35978) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 8)) = 0 @@ -203712,7 +205535,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in *(*int32)(unsafe.Pointer(bp + 4)) = int32(SQLITE_ERROR) if (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { _ = libc.Int32FromInt32(0) - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35840, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35986, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = iVersion @@ -203934,7 +205757,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr } } if int32(*(*int8)(unsafe.Pointer(z2))) == int32('\000') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35911, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36057, 0) return FTS5_EOF } goto _1 @@ -203945,7 +205768,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(z2) - int32(z) default: if _sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35931, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36077, libc.VaList(bp+8, z)) return FTS5_EOF } tok = int32(FTS5_STRING) @@ -203960,13 +205783,13 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr z21++ } (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(z21) - int32(z) - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35962, uint32(2)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36108, uint32(2)) == 0 { tok = int32(FTS5_OR) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35965, uint32(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36111, uint32(3)) == 0 { tok = int32(FTS5_NOT) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30706, uint32(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30852, uint32(3)) == 0 { tok = int32(FTS5_AND) } break @@ -206074,8 +207897,8 @@ func _sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, pp func _sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+35969, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34750, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) + if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36115, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0 { + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34896, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -206095,7 +207918,7 @@ func _sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, } c = *(*int8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) if int32(c) < int32('0') || int32(c) > int32('9') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35974, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36120, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) return } nNear = nNear*int32(10) + (int32(*(*int8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - int32('0')) @@ -206235,7 +208058,7 @@ func _sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p u iCol++ } if iCol == (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21016, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21148, libc.VaList(bp+8, z)) } else { pRet = _fts5ParseColset(tls, pParse, pColset, iCol) } @@ -206362,7 +208185,7 @@ func _sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pC var _ /* pFree at bp+0 */ uintptr *(*uintptr)(unsafe.Pointer(bp)) = pColset if (*TFts5Config)(unsafe.Pointer((*TFts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == int32(FTS5_DETAIL_NONE) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36003, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36149, 0) } else { _fts5ParseSetColset(tls, pParse, pExpr, pColset, bp) } @@ -206559,11 +208382,11 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin pPhrase = *(*uintptr)(unsafe.Pointer(pNear + 12)) if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase != int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*(*TFts5ExprTerm)(unsafe.Pointer(pPhrase + 20))).FbFirst != 0 { if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == int32(1) { - v2 = __ccgo_ts + 36056 + v2 = __ccgo_ts + 36202 } else { - v2 = __ccgo_ts + 35969 + v2 = __ccgo_ts + 36115 } - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36063, libc.VaList(bp+8, v2)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36209, libc.VaList(bp+8, v2)) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -206572,7 +208395,7 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin _fts5ExprAddChildren(tls, pRet, pLeft) _fts5ExprAddChildren(tls, pRet, pRight) if (*TFts5ExprNode)(unsafe.Pointer(pRet)).FiHeight > int32(SQLITE_FTS5_MAX_EXPR_DEPTH) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36113, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36259, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -208741,7 +210564,7 @@ func _fts5DataRead(tls *libc.TLS, p uintptr, iRowid Ti64) (r uintptr) { ** to the requested entry. */ if (*TFts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36166, iRowid, 0, p+48) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36312, iRowid, 0, p+48) } /* If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls ** above returned SQLITE_ERROR, return SQLITE_CORRUPT_VTAB instead. @@ -208835,7 +210658,7 @@ func _fts5DataWrite(tls *libc.TLS, p uintptr, iRowid Ti64, pData uintptr, nData } if (*TFts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+52, Xsqlite3_mprintf(tls, __ccgo_ts+36172, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+52, Xsqlite3_mprintf(tls, __ccgo_ts+36318, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return } @@ -208864,7 +210687,7 @@ func _fts5DataDelete(tls *libc.TLS, p uintptr, iFirst Ti64, iLast Ti64) { } if (*TFts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36223, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36369, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if _fts5IndexPrepareStmt(tls, p, p+56, zSql) != 0 { return } @@ -208898,7 +210721,7 @@ func _fts5DataRemoveSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { } if (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+36272, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+36418, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter, int32(1), iSegid) @@ -209068,7 +210891,7 @@ func _fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie ui } i = int32(4) /* Check if this is a V2 structure record. Set bStructureV2 if it is. */ - if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36312, uint32(4)) { + if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36458, uint32(4)) { i += int32(4) bStructureV2 = int32(1) } @@ -209261,7 +211084,7 @@ func _fts5IndexDataVersion(tls *libc.TLS, p uintptr) (r Ti64) { iVersion = 0 if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*TFts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) { - (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+84, Xsqlite3_mprintf(tls, __ccgo_ts+36317, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+84, Xsqlite3_mprintf(tls, __ccgo_ts+36463, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return 0 } @@ -209349,7 +211172,7 @@ func _fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = int32(4) if (*TFts5Structure)(unsafe.Pointer(pStruct)).FnOriginCntr > uint64(0) { _ = libc.Int32FromInt32(0) - libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36312, uint32(4)) + libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36458, uint32(4)) *(*int32)(unsafe.Pointer(bp + 4)) += int32(4) } *(*int32)(unsafe.Pointer(bp + 4)) += _sqlite3Fts5PutVarint(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), uint64((*TFts5Structure)(unsafe.Pointer(pStruct)).FnLevel)) @@ -210766,7 +212589,7 @@ func _fts5IdxSelectStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+68, Xsqlite3_mprintf(tls, __ccgo_ts+36340, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+68, Xsqlite3_mprintf(tls, __ccgo_ts+36486, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect } @@ -210858,7 +212681,7 @@ func _fts5IdxNextStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+72, Xsqlite3_mprintf(tls, __ccgo_ts+36424, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+72, Xsqlite3_mprintf(tls, __ccgo_ts+36570, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect } @@ -212536,7 +214359,7 @@ func _fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { if (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { v1 = (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } z = v1 /* The following was already done in fts5WriteInit(): */ @@ -212905,7 +214728,7 @@ func _fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { _sqlite3Fts5BufferSize(tls, p+40, pWriter+4+8, uint32(nBuffer)) if (*TFts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+60, Xsqlite3_mprintf(tls, __ccgo_ts+36506, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+60, Xsqlite3_mprintf(tls, __ccgo_ts+36652, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { /* Initialize the 4-byte leaf-page header to 0x00. */ @@ -213406,7 +215229,7 @@ func _fts5SecureDeleteIdxEntry(tls *libc.TLS, p uintptr, iSegid int32, iPgno int if iPgno != int32(1) { _ = libc.Int32FromInt32(0) if (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx == uintptr(0) { - _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36563, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36709, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx, int32(1), iSegid) @@ -214946,7 +216769,7 @@ func _sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) (r int32) { if (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FbContentlessDelete != 0 { (*(*TFts5Structure)(unsafe.Pointer(bp))).FnOriginCntr = uint64(1) } - _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1648, 0) + _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1662, 0) _fts5StructureWrite(tls, p, bp) return _fts5IndexReturn(tls, p) } @@ -214973,11 +216796,11 @@ func _sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uin if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*TFts5Index)(unsafe.Pointer(p)).FnWorkUnit = int32(FTS5_WORK_UNIT) - (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36624, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36770, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25741, __ccgo_ts+36632, 0, pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25887, __ccgo_ts+36778, 0, pzErr) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11793, __ccgo_ts+36667, int32(1), pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11918, __ccgo_ts+36813, int32(1), pzErr) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5IndexReinit(tls, p) @@ -215516,7 +217339,7 @@ func _fts5SetupTokendataIter(tls *libc.TLS, p uintptr, pToken uintptr, nToken in pNew = _fts5MultiIterAlloc(tls, p, (*TFts5Structure)(unsafe.Pointer(pStruct)).FnSegment) if pSmall != 0 { _sqlite3Fts5BufferSet(tls, p+40, bp, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fn, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fp) - _sqlite3Fts5BufferAppendBlob(tls, p+40, bp, uint32(1), __ccgo_ts+36711) + _sqlite3Fts5BufferAppendBlob(tls, p+40, bp, uint32(1), __ccgo_ts+36857) } else { _sqlite3Fts5BufferSet(tls, p+40, bp, nToken, pToken) } @@ -216046,7 +217869,7 @@ func _sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) (r int32) *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) _ = libc.Int32FromInt32(0) _sqlite3Fts5Put32(tls, bp, iNew) - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36166, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+4) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36312, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+4) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), bp, int32(4), 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 4))) @@ -216645,7 +218468,7 @@ func _fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { if (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { return } - _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36713, libc.VaList(bp+24, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) + _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36859, libc.VaList(bp+24, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) /* Iterate through the b-tree hierarchy. */ for (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { /* Data for this leaf */ zIdxTerm = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -216878,7 +218701,7 @@ func _sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum Tu64, bUseC } else { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = 0 _fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp + 12))+72+uintptr((*(*TFts5CResult)(unsafe.Pointer((*TFts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12)))).FaFirst + 1*4))).FiFirst)*96, uintptr(0), bp) - _sqlite3Fts5BufferAppendBlob(tls, p+40, bp, uint32(4), __ccgo_ts+36799) + _sqlite3Fts5BufferAppendBlob(tls, p+40, bp, uint32(4), __ccgo_ts+36945) for 0 == _sqlite3Fts5PoslistNext64(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn, bp+32, bp+24) { iCol = int32(*(*Ti64)(unsafe.Pointer(bp + 24)) >> libc.Int32FromInt32(32)) iTokOff = int32(*(*Ti64)(unsafe.Pointer(bp + 24)) & libc.Int64FromInt32(0x7FFFFFFF)) @@ -217476,7 +219299,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36804, 0) + (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36950, 0) return int32(SQLITE_ERROR) } idxStr = Xsqlite3_malloc(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pInfo)).FnConstraint*int32(8)+int32(1)) @@ -217516,7 +219339,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v3 = iIdxStr iIdxStr++ *(*int8)(unsafe.Pointer(idxStr + uintptr(v3))) = int8('M') - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5138, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5202, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) _ = libc.Int32FromInt32(0) } @@ -217538,7 +219361,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v6 = int32('G') } *(*int8)(unsafe.Pointer(idxStr + uintptr(v5))) = int8(v6) - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5138, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5202, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) iCons++ v7 = iCons @@ -217980,7 +219803,7 @@ func _fts5NextMethod(tls *libc.TLS, pCursor uintptr) (r int32) { *(*int32)(unsafe.Pointer(pCsr + 56)) |= int32(FTS5CSR_EOF) rc = Xsqlite3_reset(tls, (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -218007,7 +219830,7 @@ func _fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt } else { rc = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -218042,21 +219865,21 @@ func _fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ if zRankArgs != 0 { - v1 = __ccgo_ts + 14990 + v1 = __ccgo_ts + 15083 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } if zRankArgs != 0 { v2 = zRankArgs } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } if bDesc != 0 { - v3 = __ccgo_ts + 36843 + v3 = __ccgo_ts + 36989 } else { - v3 = __ccgo_ts + 36848 + v3 = __ccgo_ts + 36994 } - rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+36852, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) + rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+36998, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter if rc == SQLITE_OK { _ = libc.Int32FromInt32(0) @@ -218116,14 +219939,14 @@ func _fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr } _ = libc.Int32FromInt32(0) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan = int32(FTS5_PLAN_SPECIAL) - if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+36907, z, n) { + if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+37053, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = int64(_sqlite3Fts5IndexReads(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex)) } else { - if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5481, z, n) { + if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5545, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { /* An unrecognized directive. Return an error message. */ - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36913, libc.VaList(bp+8, n, z)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37059, libc.VaList(bp+8, n, z)) rc = int32(SQLITE_ERROR) } } @@ -218173,7 +219996,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { zRank = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank zRankArgs = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36941, libc.VaList(bp+16, zRankArgs)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37087, libc.VaList(bp+16, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp+4, uintptr(0)) @@ -218209,7 +220032,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { pAux = _fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { _ = libc.Int32FromInt32(0) - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36951, libc.VaList(bp+16, zRank)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37097, libc.VaList(bp+16, zRank)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -218243,7 +220066,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui *(*int32)(unsafe.Pointer(pCsr + 56)) |= int32(FTS5CSR_FREE_ZRANK) } else { if rc == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36972, libc.VaList(bp+16, z)) + (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37118, libc.VaList(bp+16, z)) } } } else { @@ -218251,7 +220074,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRank (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRankArgs } else { - (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 34904 + (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 35050 (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -218302,7 +220125,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint iIdxStr = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36804, 0) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36950, 0) return int32(SQLITE_ERROR) } if (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan != 0 { @@ -218332,7 +220155,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint case int32('M'): zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*4))) if zText == uintptr(0) { - zText = __ccgo_ts + 1648 + zText = __ccgo_ts + 1662 } iCol = 0 for cond := true; cond; cond = int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= int32('9') { @@ -218460,7 +220283,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint } } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent == uintptr(0) { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37005, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37151, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = int32(SQLITE_ERROR) } else { /* This is either a full-table scan (ePlan==FTS5_PLAN_SCAN) or a lookup @@ -218604,7 +220427,7 @@ func _fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) (r int32) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< int32(1) { - v1 = __ccgo_ts + 20869 + v1 = __ccgo_ts + 21001 } else { - v1 = __ccgo_ts + 37283 + v1 = __ccgo_ts + 37429 } - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37295, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37441, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if nArg == int32(1) { @@ -218869,7 +220692,7 @@ func _fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && bUpdateOrDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FbSecureDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion == int32(FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35832, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35978, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = int32(FTS5_CURRENT_VERSION_SECUREDELETE) } @@ -219670,7 +221493,7 @@ func _fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) iCsrId = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) pCsr = _fts5CursorFromCsrid(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId) if pCsr == uintptr(0) || (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37332, libc.VaList(bp+8, iCsrId)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37478, libc.VaList(bp+8, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } else { @@ -219862,7 +221685,7 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = uintptr(0) } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 && Xsqlite3_vtab_nochange(tls, pCtx) != 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37353, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37499, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -220105,7 +221928,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr if pMod == uintptr(0) { _ = libc.Int32FromInt32(0) rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37424, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37570, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) } else { if azArg != 0 { v2 = azArg + 1*4 @@ -220121,7 +221944,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr (*TFts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 8 if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37446, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37592, 0) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FePattern = _sqlite3Fts5TokenizerPattern(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate, (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok) @@ -220177,7 +222000,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { pGlobal = Xsqlite3_user_data(tls, pCtx) _ = nArg _ = libc.Int32FromInt32(0) - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37477) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37623) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal } @@ -220192,7 +222015,7 @@ func _fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr _ = libc.Int32FromInt32(0) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37490, -int32(1), uintptr(-libc.Int32FromInt32(1))) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37636, -int32(1), uintptr(-libc.Int32FromInt32(1))) } // C documentation @@ -220221,11 +222044,11 @@ func _fts5ShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName2 = [5]uintptr{ - 0: __ccgo_ts + 37581, - 1: __ccgo_ts + 35093, - 2: __ccgo_ts + 25741, - 3: __ccgo_ts + 35660, - 4: __ccgo_ts + 11793, + 0: __ccgo_ts + 37727, + 1: __ccgo_ts + 35239, + 2: __ccgo_ts + 25887, + 3: __ccgo_ts + 35806, + 4: __ccgo_ts + 11918, } // C documentation @@ -220239,21 +222062,27 @@ func _fts5IntegrityMethod(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zTabnam bp := tls.Alloc(32) defer tls.Free(32) var pTab uintptr - var rc int32 - _, _ = pTab, rc + var rc, v1 int32 + _, _, _ = pTab, rc, v1 pTab = pVtab _ = libc.Int32FromInt32(0) _ = isQuick rc = _sqlite3Fts5StorageIntegrity(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, 0) if rc&int32(0xff) == int32(SQLITE_CORRUPT) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37588, libc.VaList(bp+8, zSchema, zTabname)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37734, libc.VaList(bp+8, zSchema, zTabname)) + if *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { + v1 = SQLITE_OK + } else { + v1 = int32(SQLITE_NOMEM) + } + rc = v1 } else { if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37634, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37780, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) } } _sqlite3Fts5IndexCloseReader(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) - return SQLITE_OK + return rc } func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { @@ -220272,7 +222101,7 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateFunction = __ccgo_fp(_fts5CreateAux) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateTokenizer = __ccgo_fp(_fts5CreateTokenizer) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = __ccgo_fp(_fts5FindTokenizer) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37697, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37843, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) if rc == SQLITE_OK { rc = _sqlite3Fts5IndexInit(tls, db) } @@ -220289,10 +222118,10 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { rc = _sqlite3Fts5VocabInit(tls, pGlobal, db) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37697, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37843, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37702, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37848, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) } } /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file @@ -220397,17 +222226,17 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(p + 24 + uintptr(eStmt)*4)) == uintptr(0) { azStmt = [11]uintptr{ - 0: __ccgo_ts + 37717, - 1: __ccgo_ts + 37785, - 2: __ccgo_ts + 37854, - 3: __ccgo_ts + 37887, - 4: __ccgo_ts + 37926, - 5: __ccgo_ts + 37966, - 6: __ccgo_ts + 38005, - 7: __ccgo_ts + 38048, - 8: __ccgo_ts + 38087, - 9: __ccgo_ts + 38131, - 10: __ccgo_ts + 38171, + 0: __ccgo_ts + 37863, + 1: __ccgo_ts + 37931, + 2: __ccgo_ts + 38000, + 3: __ccgo_ts + 38033, + 4: __ccgo_ts + 38072, + 5: __ccgo_ts + 38112, + 6: __ccgo_ts + 38151, + 7: __ccgo_ts + 38194, + 8: __ccgo_ts + 38233, + 9: __ccgo_ts + 38277, + 10: __ccgo_ts + 38317, } pC = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig zSql = uintptr(0) @@ -220444,16 +222273,16 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, } case int32(FTS5_STMT_REPLACE_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v2 = __ccgo_ts + 38194 + v2 = __ccgo_ts + 38340 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName, v2)) case int32(FTS5_STMT_LOOKUP_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v3 = __ccgo_ts + 38197 + v3 = __ccgo_ts + 38343 } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, v3, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName)) default: @@ -220472,7 +222301,7 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, (*TFts5Config)(unsafe.Pointer((*TFts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if rc != SQLITE_OK && pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -220509,12 +222338,12 @@ func _sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) (r int32) { defer tls.Free(64) var rc int32 _ = rc - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38205, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38351, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38309, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38455, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38347, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38493, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } @@ -220523,7 +222352,7 @@ func _fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail ui bp := tls.Alloc(48) defer tls.Free(48) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38385, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) + *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38531, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -220535,14 +222364,14 @@ func _sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) ( _ = pConfig pConfig = (*TFts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageSync(tls, pStorage) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25741, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11793, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37581, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25887, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11918, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37727, zName) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35660, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35806, zName) } if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35093, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35239, zName) } return *(*int32)(unsafe.Pointer(bp)) } @@ -220562,13 +222391,13 @@ func _sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDef _, _ = rc, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if bWithout != 0 { - v1 = __ccgo_ts + 30381 + v1 = __ccgo_ts + 30527 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38427, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38573, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38457, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38603, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) } return rc @@ -220609,36 +222438,36 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr if zDefn == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38501, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38647, 0) iOff = int32(libc.Xstrlen(tls, zDefn)) i = 0 for { if !(i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } - Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38524, libc.VaList(bp+8, i)) + Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38670, libc.VaList(bp+8, i)) iOff += int32(libc.Xstrlen(tls, zDefn+uintptr(iOff))) goto _2 _2: ; i++ } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35093, zDefn, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35239, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - zCols = __ccgo_ts + 38530 + zCols = __ccgo_ts + 38676 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 { - zCols = __ccgo_ts + 38562 + zCols = __ccgo_ts + 38708 } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35660, zCols, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35806, zCols, 0, pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37581, __ccgo_ts+38610, int32(1), pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37727, __ccgo_ts+38756, int32(1), pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35832, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35978, uintptr(0), int32(FTS5_CURRENT_VERSION)) } } if rc != 0 { @@ -220985,9 +222814,9 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig (*TFts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 /* Delete the contents of the %_data and %_docsize tables. */ - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38627, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38773, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38677, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38823, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } /* Reinitialize the %_data table. This call creates the initial structure ** and averages records. */ @@ -220995,7 +222824,7 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3Fts5IndexReinit(tls, (*TFts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35832, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35978, uintptr(0), int32(FTS5_CURRENT_VERSION)) } return rc } @@ -221209,7 +223038,7 @@ func _fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var _ /* pCnt at bp+0 */ uintptr _, _, _ = pConfig, rc, zSql pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38706, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38852, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -221420,14 +223249,14 @@ func _sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) (r int32 ** number of rows. */ if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { *(*Ti64)(unsafe.Pointer(bp + 40)) = 0 - rc = _fts5StorageCount(tls, p, __ccgo_ts+35093, bp+40) + rc = _fts5StorageCount(tls, p, __ccgo_ts+35239, bp+40) if rc == SQLITE_OK && *(*Ti64)(unsafe.Pointer(bp + 40)) != (*TFts5Storage)(unsafe.Pointer(p)).FnTotalRow { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) } @@ -222640,64 +224469,64 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38808, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38954, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38811, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38957, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38816, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38962, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('e'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38821, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38967, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38824, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38970, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('l'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38827, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38973, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38832, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38978, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38837, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38983, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38841, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38987, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38847, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38993, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38852, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38998, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -222706,49 +224535,49 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38856, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39002, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38860, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39006, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } } case int32('s'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38863, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39009, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('t'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38867, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39013, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38871, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39017, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38875, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39021, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38879, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39025, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('z'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38883, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39029, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -222765,20 +224594,20 @@ func _fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38887, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38867, uint32(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39033, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39013, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('b'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38890, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38893, uint32(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39036, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39039, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38897, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38883, uint32(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39043, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39029, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } @@ -222794,75 +224623,75 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38900, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39046, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38867, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39013, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38908, aBuf+uintptr(nBuf-int32(6)), uint32(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39054, aBuf+uintptr(nBuf-int32(6)), uint32(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38915, uint32(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39061, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(4) } } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38920, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39066, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38816, uint32(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38962, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38925, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39071, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38811, uint32(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38957, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } } case int32('e'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38930, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39076, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38883, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39029, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('g'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38935, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39081, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15907, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15986, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('l'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38940, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39086, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38893, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39039, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38944, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39090, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38808, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38954, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38949, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39095, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38852, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38998, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38955, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39101, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38959, uint32(1)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39105, uint32(1)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(1) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38961, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39107, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38875, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39021, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } @@ -222871,48 +224700,48 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38967, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39113, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38883, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39029, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38975, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39121, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38867, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39013, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38981, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39127, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38867, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39013, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } } } case int32('s'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38986, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39132, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38808, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38954, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38992, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39138, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38879, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39025, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39000, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39146, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39008, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39154, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39012, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39158, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38875, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39021, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } @@ -222920,21 +224749,21 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39020, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39166, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38808, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38954, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39026, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39172, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38879, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39025, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39032, aBuf+uintptr(nBuf-int32(6)), uint32(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39178, aBuf+uintptr(nBuf-int32(6)), uint32(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38893, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39039, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(3) } } @@ -222952,48 +224781,48 @@ func _fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39039, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39185, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38824, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38970, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } case int32('s'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39044, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39190, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39049, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39195, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38824, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38970, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39055, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39201, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38824, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38970, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39008, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39154, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39061, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39207, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } case int32('z'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39067, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39213, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38808, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38954, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } @@ -223009,13 +224838,13 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('e'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39073, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39219, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39077, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39223, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(2) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39080, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39226, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) ret = int32(1) @@ -223023,7 +224852,7 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39083, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39229, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) ret = int32(1) @@ -223185,14 +225014,14 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p break } zArg = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+int32(1))*4)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), __ccgo_ts+39087) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), __ccgo_ts+39233) { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { (*TTrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('0')) } } else { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), __ccgo_ts+38780) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), __ccgo_ts+38926) { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('2') || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { @@ -223467,7 +225296,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { Fx Tfts5_tokenizer }{ 0: { - FzName: __ccgo_ts + 38798, + FzName: __ccgo_ts + 38944, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5UnicodeCreate), FxDelete: __ccgo_fp(_fts5UnicodeDelete), @@ -223475,7 +225304,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 1: { - FzName: __ccgo_ts + 39102, + FzName: __ccgo_ts + 39248, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5AsciiCreate), FxDelete: __ccgo_fp(_fts5AsciiDelete), @@ -223483,7 +225312,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 2: { - FzName: __ccgo_ts + 39108, + FzName: __ccgo_ts + 39254, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5PorterCreate), FxDelete: __ccgo_fp(_fts5PorterDelete), @@ -223491,7 +225320,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 3: { - FzName: __ccgo_ts + 39115, + FzName: __ccgo_ts + 39261, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5TriCreate), FxDelete: __ccgo_fp(_fts5TriDelete), @@ -229036,16 +230865,16 @@ func _fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uin zCopy = _sqlite3Fts5Strndup(tls, bp, zType, -int32(1)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { _sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39123) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39269) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39127) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39273) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_ROW) } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39131) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39277) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_INSTANCE) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39140, libc.VaList(bp+16, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39286, libc.VaList(bp+16, zCopy)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -229114,15 +230943,15 @@ func _fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg var _ /* rc at bp+0 */ int32 _, _, _, _, _, _, _, _, _, _, _, _ = azSchema, bDb, nByte, nDb, nTab, pRet, zDb, zTab, zType, v1, v2, v3 azSchema = [3]uintptr{ - 0: __ccgo_ts + 39174, - 1: __ccgo_ts + 39214, - 2: __ccgo_ts + 39249, + 0: __ccgo_ts + 39320, + 1: __ccgo_ts + 39360, + 2: __ccgo_ts + 39395, } pRet = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == uint32(4) && libc.Xmemcmp(tls, __ccgo_ts+23742, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0) + bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == uint32(4) && libc.Xmemcmp(tls, __ccgo_ts+23865, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0) if argc != int32(5) && bDb == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39292, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39438, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bDb != 0 { @@ -229293,10 +231122,10 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) zSql = uintptr(0) if (*TFts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39325, libc.VaList(bp+16, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39471, libc.VaList(bp+16, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return int32(SQLITE_ERROR) } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39356, libc.VaList(bp+16, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39502, libc.VaList(bp+16, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, (*TFts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), bp+4, uintptr(0)) } @@ -229316,7 +231145,7 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 4))) *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39407, libc.VaList(bp+16, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39553, libc.VaList(bp+16, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } else { @@ -229625,7 +231454,7 @@ func _fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnuse if pLe != 0 { zCopy = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = __ccgo_ts + 1648 + zCopy = __ccgo_ts + 1662 } (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm+int32(1)) @@ -229753,7 +231582,7 @@ func _sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) (r int32) var p uintptr _ = p p = pGlobal - return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39433, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39579, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) } var _fts5Vocab = Tsqlite3_module{ @@ -229806,7 +231635,7 @@ func init() { // /************** End of stmt.c ************************************************/ // /* Return the source-id for this library */ func Xsqlite3_sourceid(tls *libc.TLS) (r uintptr) { - return __ccgo_ts + 39443 + return __ccgo_ts + 39589 } type TAggInfo_col = struct { @@ -230086,11 +231915,11 @@ var Xsqlite3_temp_directory uintptr // ** // ** See also: [sqlite_version()] and [sqlite_source_id()]. // */ -var Xsqlite3_version = [7]int8{'3', '.', '4', '5', '.', '3'} +var Xsqlite3_version = [7]int8{'3', '.', '4', '6', '.', '0'} var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data -var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-12.2.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%04d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00PRAGMA \"%w\".integrity_check(%Q)\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00RIGHT PART OF \x00USE TEMP B-TREE FOR %sORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00" +var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-12.2.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00" type Sqlite3_int64 = sqlite3_int64 type Sqlite3_mutex_methods = sqlite3_mutex_methods diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go index 3f11b375b4..bc096baf78 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go @@ -1,4 +1,4 @@ -// Code generated for linux/amd64 by 'generator -mlong-double-64 --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -extended-errors -o sqlite3.go sqlite3.c -I/tmp/libsqlite3/sqlite-amalgamation-3450300/ccgo -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. +// Code generated for linux/amd64 by 'generator -mlong-double-64 --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libz/include/linux/amd64 -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libtcl8.6/include/linux/amd64 -extended-errors -o sqlite3.go sqlite3.c -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. //go:build linux && amd64 // +build linux,amd64 @@ -939,6 +939,7 @@ const OPFLG_IN1 = 2 const OPFLG_IN2 = 4 const OPFLG_IN3 = 8 const OPFLG_JUMP = 1 +const OPFLG_JUMP0 = 128 const OPFLG_NCYCLE = 64 const OPFLG_OUT2 = 16 const OPFLG_OUT3 = 32 @@ -1016,7 +1017,7 @@ const OP_IfNotOpen = 25 const OP_IfNotZero = 60 const OP_IfNullRow = 20 const OP_IfPos = 59 -const OP_IfSmaller = 33 +const OP_IfSizeBetween = 33 const OP_IncrVacuum = 62 const OP_Init = 8 const OP_InitCoroutine = 11 @@ -1445,6 +1446,7 @@ const SF_ComplexResult = 262144 const SF_Compound = 256 const SF_Converted = 65536 const SF_CopyCte = 67108864 +const SF_Correlated = 536870912 const SF_Distinct = 1 const SF_Expanded = 64 const SF_FixedLimit = 16384 @@ -1716,6 +1718,7 @@ const SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT = -1 const SQLITE_DEFAULT_LOOKASIDE = 40 const SQLITE_DEFAULT_MEMSTATUS = 0 const SQLITE_DEFAULT_MMAP_SIZE = 0 +const SQLITE_DEFAULT_OPTIMIZE_LIMIT = 2000 const SQLITE_DEFAULT_PAGE_SIZE = 4096 const SQLITE_DEFAULT_PCACHE_INITSZ = 20 const SQLITE_DEFAULT_PROXYDIR_PERMISSIONS = 493 @@ -1733,6 +1736,7 @@ const SQLITE_DESERIALIZE_READONLY = 4 const SQLITE_DESERIALIZE_RESIZEABLE = 2 const SQLITE_DETACH = 25 const SQLITE_DETERMINISTIC = 2048 +const SQLITE_DIGIT_SEPARATOR = 95 const SQLITE_DIRECTONLY = 524288 const SQLITE_DIRECT_OVERFLOW_READ = 1 const SQLITE_DONE = 101 @@ -2157,7 +2161,7 @@ const SQLITE_SHM_SHARED = 4 const SQLITE_SHM_UNLOCK = 1 const SQLITE_SORTER_PMASZ = 250 const SQLITE_SOUNDEX = 1 -const SQLITE_SOURCE_ID = "2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355" +const SQLITE_SOURCE_ID = "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e" const SQLITE_SO_ASC = 0 const SQLITE_SO_DESC = 1 const SQLITE_SO_UNDEFINED = -1 @@ -2266,8 +2270,8 @@ const SQLITE_UTF16LE = 2 const SQLITE_UTF16NATIVE = 2 const SQLITE_UTF16_ALIGNED = 8 const SQLITE_UTF8 = 1 -const SQLITE_VERSION = "3.45.3" -const SQLITE_VERSION_NUMBER = 3045003 +const SQLITE_VERSION = "3.46.0" +const SQLITE_VERSION_NUMBER = 3046000 const SQLITE_VTABRISK_High = 2 const SQLITE_VTABRISK_Low = 0 const SQLITE_VTABRISK_Normal = 1 @@ -2394,11 +2398,11 @@ const TF_HasStat1 = 16 const TF_HasStat4 = 8192 const TF_HasStored = 64 const TF_HasVirtual = 32 +const TF_MaybeReanalyze = 256 const TF_NoVisibleRowid = 512 const TF_OOOHidden = 1024 const TF_Readonly = 1 const TF_Shadow = 4096 -const TF_StatsUsed = 256 const TF_Strict = 65536 const TF_WithoutRowid = 128 const TIMER_ABSTIME = 1 @@ -2558,7 +2562,7 @@ const TK_ID = 59 const TK_IF = 18 const TK_IF_NULL_ROW = 179 const TK_IGNORE = 63 -const TK_ILLEGAL = 184 +const TK_ILLEGAL = 185 const TK_IMMEDIATE = 8 const TK_IN = 49 const TK_INDEX = 161 @@ -2606,6 +2610,7 @@ const TK_PRAGMA = 70 const TK_PRECEDING = 88 const TK_PRIMARY = 122 const TK_PTR = 112 +const TK_QNUMBER = 183 const TK_QUERY = 3 const TK_RAISE = 71 const TK_RANGE = 89 @@ -2630,7 +2635,7 @@ const TK_SELECT_COLUMN = 178 const TK_SEMI = 1 const TK_SET = 130 const TK_SLASH = 109 -const TK_SPACE = 183 +const TK_SPACE = 184 const TK_SPAN = 181 const TK_STAR = 108 const TK_STRING = 117 @@ -2643,12 +2648,12 @@ const TK_TRANSACTION = 6 const TK_TRIGGER = 77 const TK_TRUEFALSE = 170 const TK_TRUTH = 175 -const TK_UMINUS = 173 +const TK_UMINUS = 174 const TK_UNBOUNDED = 90 const TK_UNION = 134 const TK_UNIQUE = 123 const TK_UPDATE = 129 -const TK_UPLUS = 174 +const TK_UPLUS = 173 const TK_USING = 144 const TK_VACUUM = 78 const TK_VALUES = 139 @@ -2795,31 +2800,37 @@ const W_OK = 2 const XN_EXPR = -2 const XN_ROWID = -1 const X_OK = 1 +const YYDYNSTACK = 1 const YYFALLBACK = 1 +const YYFREE = 0 +const YYGROWABLESTACK = 1 const YYMALLOCARGTYPE = 0 -const YYNOCODE = 319 +const YYNOCODE = 322 const YYNOERRORRECOVERY = 1 -const YYNRULE = 405 -const YYNRULE_WITH_ACTION = 340 -const YYNSTATE = 579 -const YYNTOKEN = 185 +const YYNRULE = 409 +const YYNRULE_WITH_ACTION = 344 +const YYNSTATE = 583 +const YYNTOKEN = 186 const YYPARSEFREENEVERNULL = 1 +const YYREALLOC = 0 const YYSTACKDEPTH = 100 const YYWILDCARD = 101 -const YY_ACCEPT_ACTION = 1244 -const YY_ACTTAB_COUNT = 2100 -const YY_ERROR_ACTION = 1243 -const YY_MAX_REDUCE = 1650 -const YY_MAX_SHIFT = 578 -const YY_MAX_SHIFTREDUCE = 1242 -const YY_MIN_REDUCE = 1246 -const YY_MIN_SHIFTREDUCE = 838 -const YY_NO_ACTION = 1245 -const YY_REDUCE_COUNT = 410 -const YY_REDUCE_MAX = 1753 -const YY_REDUCE_MIN = -271 -const YY_SHIFT_COUNT = 578 -const YY_SHIFT_MAX = 2088 +const YY_ACCEPT_ACTION = 1255 +const YY_ACTTAB_COUNT = 2142 +const YY_ERROR_ACTION = 1254 +const YY_MAX_DSTRCTR = 319 +const YY_MAX_REDUCE = 1665 +const YY_MAX_SHIFT = 582 +const YY_MAX_SHIFTREDUCE = 1253 +const YY_MIN_DSTRCTR = 205 +const YY_MIN_REDUCE = 1257 +const YY_MIN_SHIFTREDUCE = 845 +const YY_NO_ACTION = 1256 +const YY_REDUCE_COUNT = 411 +const YY_REDUCE_MAX = 1798 +const YY_REDUCE_MIN = -275 +const YY_SHIFT_COUNT = 582 +const YY_SHIFT_MAX = 2128 const YY_SHIFT_MIN = 0 const _CS_GNU_LIBC_VERSION = 2 const _CS_GNU_LIBPTHREAD_VERSION = 3 @@ -3458,6 +3469,9 @@ const fdatasync = 0 const first_valueInvFunc = 0 const first_valueValueFunc = 0 const fts5GetVarint = 0 +const fts5YYDYNSTACK = 0 +const fts5YYFREE = 0 +const fts5YYGROWABLESTACK = 0 const fts5YYMALLOCARGTYPE = 0 const fts5YYNFTS5TOKEN = 16 const fts5YYNOCODE = 27 @@ -3466,13 +3480,16 @@ const fts5YYNRULE = 28 const fts5YYNRULE_WITH_ACTION = 28 const fts5YYNSTATE = 35 const fts5YYPARSEFREENOTNULL = 1 +const fts5YYREALLOC = 0 const fts5YYSTACKDEPTH = 100 const fts5YY_ACCEPT_ACTION = 81 const fts5YY_ACTTAB_COUNT = 105 const fts5YY_ERROR_ACTION = 80 +const fts5YY_MAX_DSTRCTR = 24 const fts5YY_MAX_REDUCE = 110 const fts5YY_MAX_SHIFT = 34 const fts5YY_MAX_SHIFTREDUCE = 79 +const fts5YY_MIN_DSTRCTR = 16 const fts5YY_MIN_REDUCE = 83 const fts5YY_MIN_SHIFTREDUCE = 52 const fts5YY_NO_ACTION = 82 @@ -3894,11 +3911,11 @@ type sqlite3_file1 = Tsqlite3_file1 // ** // ** xLock() upgrades the database file lock. In other words, xLock() moves the // ** database file lock in the direction NONE toward EXCLUSIVE. The argument to -// ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never +// ** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never // ** SQLITE_LOCK_NONE. If the database file lock is already at or above the // ** requested lock, then the call to xLock() is a no-op. // ** xUnlock() downgrades the database file lock to either SHARED or NONE. -// * If the lock is already at or below the requested lock state, then the call +// ** If the lock is already at or below the requested lock state, then the call // ** to xUnlock() is a no-op. // ** The xCheckReservedLock() method checks whether any database connection, // ** either in this process or in some other process, is holding a RESERVED, @@ -6042,6 +6059,7 @@ type Tsqlite3_changegroup = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -6368,8 +6386,8 @@ type Fts5PhraseIter1 = TFts5PhraseIter1 ** EXTENSION API FUNCTIONS ** ** xUserData(pFts): -** Return a copy of the context pointer the extension function was -** registered with. +** Return a copy of the pUserData pointer passed to the xCreateFunction() +** API when the extension function was registered. ** ** xColumnTotalSize(pFts, iCol, pnToken): ** If parameter iCol is less than zero, set output variable *pnToken @@ -7450,7 +7468,7 @@ type uptr = Tuptr ** 0x00000010 Display sqlite3_index_info xBestIndex calls ** 0x00000020 Range an equality scan metrics ** 0x00000040 IN operator decisions -** 0x00000080 WhereLoop cost adjustements +** 0x00000080 WhereLoop cost adjustments ** 0x00000100 ** 0x00000200 Covering index decisions ** 0x00000400 OR optimization @@ -7962,6 +7980,7 @@ type TParse = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -8183,6 +8202,7 @@ type TSrcItem = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -10459,10 +10479,12 @@ type IdList1 = TIdList1 ** ** Union member validity: ** -** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc -** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy -** u2.pIBIndex fg.isIndexedBy && !fg.isCte -** u2.pCteUse fg.isCte && !fg.isIndexedBy +** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc +** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy +** u1.nRow !fg.isTabFunc && !fg.isIndexedBy +** +** u2.pIBIndex fg.isIndexedBy && !fg.isCte +** u2.pCteUse fg.isCte && !fg.isIndexedBy */ type TSrcItem1 = struct { FpSchema uintptr @@ -10488,6 +10510,7 @@ type TSrcItem1 = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -10891,6 +10914,7 @@ type TParse1 = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -12253,12 +12277,12 @@ var _sqlite3WhereTrace = uint32(0) var _sqlite3OpcodeProperty = [190]uint8{ 4: uint8(0x10), 6: uint8(0x41), - 8: uint8(0x01), + 8: uint8(0x81), 9: uint8(0x01), 10: uint8(0x01), - 11: uint8(0x01), - 12: uint8(0x03), - 13: uint8(0x03), + 11: uint8(0x81), + 12: uint8(0x83), + 13: uint8(0x83), 14: uint8(0x01), 15: uint8(0x01), 16: uint8(0x03), @@ -12266,22 +12290,22 @@ var _sqlite3OpcodeProperty = [190]uint8{ 18: uint8(0x01), 19: uint8(0x12), 20: uint8(0x01), - 21: uint8(0x49), - 22: uint8(0x49), - 23: uint8(0x49), - 24: uint8(0x49), + 21: uint8(0xc9), + 22: uint8(0xc9), + 23: uint8(0xc9), + 24: uint8(0xc9), 25: uint8(0x01), 26: uint8(0x49), 27: uint8(0x49), 28: uint8(0x49), 29: uint8(0x49), - 30: uint8(0x49), + 30: uint8(0xc9), 31: uint8(0x49), - 32: uint8(0x41), + 32: uint8(0xc1), 33: uint8(0x01), 34: uint8(0x41), 35: uint8(0x41), - 36: uint8(0x41), + 36: uint8(0xc1), 37: uint8(0x01), 38: uint8(0x41), 39: uint8(0x41), @@ -12293,7 +12317,7 @@ var _sqlite3OpcodeProperty = [190]uint8{ 45: uint8(0x41), 46: uint8(0x23), 47: uint8(0x0b), - 48: uint8(0x01), + 48: uint8(0x81), 49: uint8(0x01), 50: uint8(0x03), 51: uint8(0x03), @@ -13148,7 +13172,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin var pMutex, v1 uintptr _, _ = pMutex, v1 if op < 0 || op >= int32(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) { - return _sqlite3MisuseError(tls, int32(23890)) + return _sqlite3MisuseError(tls, int32(23961)) } if _statMutex[op] != 0 { v1 = _sqlite3Pcache1Mutex(tls) @@ -13496,43 +13520,37 @@ type itimerspec = Titimerspec // ** A structure for holding a single date and time. // */ type TDateTime = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - FuseSubsec int8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FvalidYMD int8 + FvalidHMS int8 + FnFloor int8 + F__ccgo44 uint8 } type DateTime = TDateTime type TDateTime1 = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - FuseSubsec int8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FvalidYMD int8 + FvalidHMS int8 + FnFloor int8 + F__ccgo44 uint8 } type DateTime1 = TDateTime1 @@ -13658,6 +13676,8 @@ func _parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { } else { if c == int32('Z') || c == int32('z') { zDate++ + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) goto zulu_time } else { return libc.BoolInt32(c != 0) @@ -13676,7 +13696,6 @@ zulu_time: for int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate)))])&int32(0x01) != 0 { zDate++ } - (*TDateTime)(unsafe.Pointer(p)).FtzSet = int8(1) return libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zDate))) != 0) } @@ -13693,11 +13712,10 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var ms, rScale float64 - var v1 int32 var _ /* h at bp+0 */ int32 var _ /* m at bp+4 */ int32 var _ /* s at bp+8 */ int32 - _, _, _ = ms, rScale, v1 + _, _ = ms, rScale ms = float64(0) if _getDigits(tls, zDate, __ccgo_ts+1166, libc.VaList(bp+24, bp, bp+4)) != int32(2) { return int32(1) @@ -13723,7 +13741,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { *(*int32)(unsafe.Pointer(bp + 8)) = 0 } (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) (*TDateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp)) (*TDateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 4)) @@ -13731,12 +13749,6 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { if _parseTimezone(tls, zDate, p) != 0 { return int32(1) } - if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { - v1 = int32(1) - } else { - v1 = 0 - } - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = int8(v1) return 0 } @@ -13747,7 +13759,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { // */ func _datetimeError(tls *libc.TLS, p uintptr) { libc.Xmemset(tls, p, 0, uint64(48)) - (*TDateTime)(unsafe.Pointer(p)).FisError = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 1, 0x2) } // C documentation @@ -13773,7 +13785,7 @@ func _computeJD(tls *libc.TLS, p uintptr) { M = int32(1) D = int32(1) } - if Y < -int32(4713) || Y > int32(9999) || (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Y < -int32(4713) || Y > int32(9999) || int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { _datetimeError(tls, p) return } @@ -13789,11 +13801,41 @@ func _computeJD(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) if (*TDateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) += int64((*TDateTime)(unsafe.Pointer(p)).Fh*int32(3600000)+(*TDateTime)(unsafe.Pointer(p)).Fm*int32(60000)) + int64((*TDateTime)(unsafe.Pointer(p)).Fs*libc.Float64FromInt32(1000)+libc.Float64FromFloat64(0.5)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64((*TDateTime)(unsafe.Pointer(p)).Ftz * int32(60000)) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + } + } +} + +// C documentation +// +// /* +// ** Given the YYYY-MM-DD information current in p, determine if there +// ** is day-of-month overflow and set nFloor to the number of days that +// ** would need to be subtracted from the date in order to bring the +// ** date back to the end of the month. +// */ +func _computeFloor(tls *libc.TLS, p uintptr) { + if (*TDateTime)(unsafe.Pointer(p)).FD <= int32(28) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } else { + if int32(1)<<(*TDateTime)(unsafe.Pointer(p)).FM&int32(0x15aa) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } else { + if (*TDateTime)(unsafe.Pointer(p)).FM != int32(2) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = libc.BoolInt8((*TDateTime)(unsafe.Pointer(p)).FD == libc.Int32FromInt32(31)) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FY%int32(4) != 0 || (*TDateTime)(unsafe.Pointer(p)).FY%int32(100) == 0 && (*TDateTime)(unsafe.Pointer(p)).FY%int32(400) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = int8((*TDateTime)(unsafe.Pointer(p)).FD - int32(28)) + } else { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = int8((*TDateTime)(unsafe.Pointer(p)).FD - int32(29)) + } + } } } } @@ -13852,12 +13894,15 @@ func _parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FY = v1 (*TDateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 4)) (*TDateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 8)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + _computeFloor(tls, p) + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { _computeJD(tls, p) } return 0 } +/* Forward declaration */ + // C documentation // // /* @@ -13869,6 +13914,9 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) (*TDateTime)(unsafe.Pointer(p)).FiJD = _sqlite3StmtCurrentTime(tls, context) if (*TDateTime)(unsafe.Pointer(p)).FiJD > 0 { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + _clearYMD_HMS_TZ(tls, p) return 0 } else { return int32(1) @@ -13886,7 +13934,7 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) // */ func _setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { (*TDateTime)(unsafe.Pointer(p)).Fs = r - (*TDateTime)(unsafe.Pointer(p)).FrawS = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 0, 0x1) if r >= float64(0) && r < float64(5.3734845e+06) { (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r*libc.Float64FromFloat64(8.64e+07) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) @@ -13929,7 +13977,7 @@ func _parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) return 0 } else { if (_sqlite3StrICmp(tls, zDate, __ccgo_ts+1194) == 0 || _sqlite3StrICmp(tls, zDate, __ccgo_ts+1201) == 0) && _sqlite3NotPureFunc(tls, context) != 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) return _setDateTimeToCurrent(tls, context, p) } } @@ -14021,7 +14069,7 @@ func _computeHMS(tls *libc.TLS, p uintptr) { day_min = day_ms / int32(60000) (*TDateTime)(unsafe.Pointer(p)).Fm = day_min % int32(60) (*TDateTime)(unsafe.Pointer(p)).Fh = day_min / int32(60) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) } @@ -14043,7 +14091,7 @@ func _computeYMD_HMS(tls *libc.TLS, p uintptr) { func _clearYMD_HMS_TZ(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 } /* @@ -14144,9 +14192,9 @@ func _toLocaltime(tls *libc.TLS, p uintptr, pCtx uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = int8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 - (*TDateTime)(unsafe.Pointer(p)).FisError = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 1, 0x2) return SQLITE_OK } @@ -14194,13 +14242,13 @@ var _aXformType = [6]struct { FnName: uint8(5), FzName: [7]int8{'m', 'o', 'n', 't', 'h'}, FrLimit: float32(176546), - FrXform: float32(2.592e+06), + FrXform: float32(libc.Float64FromFloat64(30) * libc.Float64FromFloat64(86400)), }, 5: { FnName: uint8(4), FzName: [7]int8{'y', 'e', 'a', 'r'}, FrLimit: float32(14713), - FrXform: float32(3.1536e+07), + FrXform: float32(libc.Float64FromFloat64(365) * libc.Float64FromFloat64(86400)), }, } @@ -14214,15 +14262,15 @@ var _aXformType = [6]struct { func _autoAdjustDate(tls *libc.TLS, p uintptr) { var r float64 _ = r - if !((*TDateTime)(unsafe.Pointer(p)).FrawS != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + if !(int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } else { if (*TDateTime)(unsafe.Pointer(p)).Fs >= float64(int64(-libc.Int32FromInt32(21086676))*libc.Int64FromInt32(10000)) && (*TDateTime)(unsafe.Pointer(p)).Fs <= float64(libc.Int64FromInt32(25340230)*libc.Int64FromInt32(10000)+libc.Int64FromInt32(799)) { r = (*TDateTime)(unsafe.Pointer(p)).Fs*float64(1000) + float64(2.1086676e+14) _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } } @@ -14239,14 +14287,20 @@ func _autoAdjustDate(tls *libc.TLS, p uintptr) { // ** NNN.NNNN seconds // ** NNN months // ** NNN years +// ** +/-YYYY-MM-DD HH:MM:SS.SSS +// ** ceiling +// ** floor // ** start of month // ** start of year // ** start of week // ** start of day // ** weekday N // ** unixepoch +// ** auto // ** localtime // ** utc +// ** subsec +// ** subsecond // ** // ** Return 0 on success and 1 if there is any kind of error. If the error // ** is in a system call (i.e. localtime()), then an error message is written @@ -14257,12 +14311,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, bp := tls.Alloc(160) defer tls.Free(160) var Z, day Tsqlite3_int64 - var cnt, i, rc, x, y, v12, v2, v5, v7, v9 int32 - var iErr, iGuess, iOrigJD, v1 Ti64 - var rRounder, v10 float64 + var cnt, i, rc, x, y, v1, v10, v13, v3, v6, v8 int32 + var iErr, iGuess, iOrigJD, v2 Ti64 + var rRounder, v11 float64 var z0 int8 var z2 uintptr - var v3, v6 bool + var v4, v7 bool var _ /* D at bp+64 */ int32 var _ /* M at bp+60 */ int32 var _ /* Y at bp+56 */ int32 @@ -14271,7 +14325,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, var _ /* new at bp+8 */ TDateTime var _ /* r at bp+0 */ float64 var _ /* tx at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v12, v2, v3, v5, v6, v7, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v11, v13, v2, v3, v4, v6, v7, v8 rc = int32(1) switch int32(_sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z)))]) { case int32('a'): @@ -14288,6 +14342,33 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _autoAdjustDate(tls, p) rc = 0 } + case int32('c'): + /* + ** ceiling + ** + ** Resolve day-of-month overflow by rolling forward into the next + ** month. As this is the default action, this modifier is really + ** a no-op that is only included for symmetry. See "floor". + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1239) == 0 { + _computeJD(tls, p) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } + case int32('f'): + /* + ** floor + ** + ** Resolve day-of-month overflow by rolling back to the end of the + ** previous month. + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1247) == 0 { + _computeJD(tls, p) + *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64(int32((*TDateTime)(unsafe.Pointer(p)).FnFloor) * int32(86400000)) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + } case int32('j'): /* ** julianday @@ -14297,13 +14378,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** value in the allowed range of julian day numbers understood by ** SQLite (0..5373484.5) then the result will be NULL. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1239) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1253) == 0 { if idx > int32(1) { return int32(1) } /* IMP: R-31176-64601 */ - if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { rc = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } case int32('l'): @@ -14312,8 +14393,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Assuming the current time value is UTC (a.k.a. GMT), shift it to ** show local time. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1249) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - rc = _toLocaltime(tls, p, pCtx) + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1263) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x10>>4)) != 0 { + v1 = SQLITE_OK + } else { + v1 = _toLocaltime(tls, p, pCtx) + } + rc = v1 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 4, 0x10) } case int32('u'): /* @@ -14322,7 +14410,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Treat the current value of p->s as the number of ** seconds since 1970. Convert to a real julian day number. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1259) == 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1273) == 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { if idx > int32(1) { return int32(1) } /* IMP: R-49255-55373 */ @@ -14331,17 +14419,17 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(*(*float64)(unsafe.Pointer(bp)) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) rc = 0 } } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1269) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - if int32((*TDateTime)(unsafe.Pointer(p)).FtzSet) == 0 { /* Guess at the corresponding utc time */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1283) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x8>>3)) == 0 { /* Guess at the corresponding utc time */ cnt = 0 /* Guess is off by this much */ _computeJD(tls, p) - v1 = (*TDateTime)(unsafe.Pointer(p)).FiJD - iOrigJD = v1 - iGuess = v1 + v2 = (*TDateTime)(unsafe.Pointer(p)).FiJD + iOrigJD = v2 + iGuess = v2 iErr = 0 for { libc.Xmemset(tls, bp+8, 0, uint64(48)) @@ -14354,21 +14442,22 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, bp+8) iErr = (*(*TDateTime)(unsafe.Pointer(bp + 8))).FiJD - iOrigJD - goto _4 - _4: + goto _5 + _5: ; - if v3 = iErr != 0; v3 { - v2 = cnt + if v4 = iErr != 0; v4 { + v3 = cnt cnt++ } - if !(v3 && v2 < int32(3)) { + if !(v4 && v3 < int32(3)) { break } } libc.Xmemset(tls, p, 0, uint64(48)) (*TDateTime)(unsafe.Pointer(p)).FiJD = iGuess (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FtzSet = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) } rc = SQLITE_OK } @@ -14381,13 +14470,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** weekday N where 0==Sunday, 1==Monday, and so forth. If the ** date is already on the appropriate weekday, this is a no-op. */ - if v6 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1273, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v6 { - v5 = int32(*(*float64)(unsafe.Pointer(bp))) - n = v5 + if v7 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1287, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v7 { + v6 = int32(*(*float64)(unsafe.Pointer(bp))) + n = v6 } - if v6 && float64(v5) == *(*float64)(unsafe.Pointer(bp)) { + if v7 && float64(v6) == *(*float64)(unsafe.Pointer(bp)) { _computeYMD_HMS(tls, p) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 _computeJD(tls, p) Z = ((*TDateTime)(unsafe.Pointer(p)).FiJD + int64(129600000)) / int64(86400000) % int64(7) @@ -14411,9 +14500,9 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Show subsecond precision in the output of datetime() and ** unixepoch() and strftime('%s'). */ - if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1282, int32(9)) != 0 { + if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1296, int32(9)) != 0 { if Xsqlite3_stricmp(tls, z, __ccgo_ts+1194) == 0 || Xsqlite3_stricmp(tls, z, __ccgo_ts+1201) == 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) rc = 0 } break @@ -14424,23 +14513,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z += uintptr(9) _computeYMD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) - v7 = libc.Int32FromInt32(0) - (*TDateTime)(unsafe.Pointer(p)).Fm = v7 - (*TDateTime)(unsafe.Pointer(p)).Fh = v7 + v8 = libc.Int32FromInt32(0) + (*TDateTime)(unsafe.Pointer(p)).Fm = v8 + (*TDateTime)(unsafe.Pointer(p)).Fh = v8 (*TDateTime)(unsafe.Pointer(p)).Fs = float64(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1292) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1306) == 0 { (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1298) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1312) == 0 { (*TDateTime)(unsafe.Pointer(p)).FM = int32(1) (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1303) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1317) == 0 { rc = 0 } } @@ -14482,15 +14571,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == int32('-') { - if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1307, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1321, libc.VaList(bp+136, bp+56)) == int32(1) { break } - if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1311, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1325, libc.VaList(bp+136, bp+56)) == int32(1) { break } } - goto _8 - _8: + goto _9 + _9: ; n++ } @@ -14506,11 +14595,11 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } /* Must start with +/- */ if n == int32(5) { - if _getDigits(tls, z+1, __ccgo_ts+1315, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1329, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } } else { - if _getDigits(tls, z+1, __ccgo_ts+1327, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1341, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } z++ @@ -14532,13 +14621,14 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, *(*int32)(unsafe.Pointer(p + 12)) += *(*int32)(unsafe.Pointer(bp + 60)) } if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v9 + x = v10 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) _computeJD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 @@ -14582,7 +14672,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z++ } n = _sqlite3Strlen30(tls, z) - if n > int32(10) || n < int32(3) { + if n < int32(3) || n > int32(10) { break } if int32(_sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z + uintptr(n-int32(1)))))]) == int32('s') { @@ -14590,11 +14680,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, p) if *(*float64)(unsafe.Pointer(bp)) < libc.Float64FromInt32(0) { - v10 = -libc.Float64FromFloat64(0.5) + v11 = -libc.Float64FromFloat64(0.5) } else { - v10 = +libc.Float64FromFloat64(0.5) + v11 = +libc.Float64FromFloat64(0.5) } - rRounder = v10 + rRounder = v11 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) { @@ -14606,19 +14697,21 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 12)) += int32(*(*float64)(unsafe.Pointer(bp))) if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v12 + x = v13 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) case int32(5): /* Special processing to add years */ y = int32(*(*float64)(unsafe.Pointer(bp))) _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 8)) += y + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) break @@ -14628,8 +14721,8 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, rc = 0 break } - goto _11 - _11: + goto _12 + _12: ; i++ } @@ -14688,7 +14781,7 @@ func _isDate(tls *libc.TLS, context uintptr, argc int32, argv uintptr, p uintptr i++ } _computeJD(tls, p) - if (*TDateTime)(unsafe.Pointer(p)).FisError != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x2>>1)) != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { return int32(1) } if argc == int32(1) && (*TDateTime)(unsafe.Pointer(p)).FvalidYMD != 0 && (*TDateTime)(unsafe.Pointer(p)).FD > int32(28) { @@ -14735,7 +14828,7 @@ func _unixepochFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _ /* x at bp+0 */ TDateTime if _isDate(tls, context, argc, argv, bp) == 0 { _computeJD(tls, bp) - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { Xsqlite3_result_double(tls, context, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000)) } else { Xsqlite3_result_int64(tls, context, (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/int64(1000)-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000)) @@ -14780,7 +14873,7 @@ func _datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(15)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(16)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(17)] = int8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(18)] = int8(int32('0') + s/int32(10000)%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(19)] = int8(int32('0') + s/int32(1000)%int32(10)) @@ -14828,7 +14921,7 @@ func _timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(3)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(4)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(5)] = int8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(6)] = int8(int32('0') + s/int32(10000)%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(7)] = int8(int32('0') + s/int32(1000)%int32(10)) @@ -14889,6 +14982,57 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } +// C documentation +// +// /* +// ** Compute the number of days after the most recent January 1. +// ** +// ** In other words, compute the zero-based day number for the +// ** current year: +// ** +// ** Jan01 = 0, Jan02 = 1, ..., Jan31 = 30, Feb01 = 31, ... +// ** Dec31 = 364 or 365. +// */ +func _daysAfterJan01(tls *libc.TLS, pDate uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* jan01 at bp+0 */ TDateTime + *(*TDateTime)(unsafe.Pointer(bp)) = *(*TDateTime)(unsafe.Pointer(pDate)) + (*(*TDateTime)(unsafe.Pointer(bp))).FvalidJD = 0 + (*(*TDateTime)(unsafe.Pointer(bp))).FM = int32(1) + (*(*TDateTime)(unsafe.Pointer(bp))).FD = int32(1) + _computeJD(tls, bp) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD - (*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Monday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Monday, 1=Tuesday, 2=Wednesday, ..., 6=Sunday. +// */ +func _daysAfterMonday(tls *libc.TLS, pDate uintptr) (r int32) { + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(43200000))/libc.Int64FromInt32(86400000)) % int32(7) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Sunday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Sunday, 1=Monday, 2=Tues, ..., 6=Saturday +// */ +func _daysAfterSunday(tls *libc.TLS, pDate uintptr) (r int32) { + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)) % int32(7) +} + // C documentation // // /* @@ -14896,33 +15040,48 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // ** // ** Return a string described by FORMAT. Conversions as follows: // ** -// ** %d day of month +// ** %d day of month 01-31 +// ** %e day of month 1-31 // ** %f ** fractional seconds SS.SSS +// ** %F ISO date. YYYY-MM-DD +// ** %G ISO year corresponding to %V 0000-9999. +// ** %g 2-digit ISO year corresponding to %V 00-99 // ** %H hour 00-24 -// ** %j day of year 000-366 +// ** %k hour 0-24 (leading zero converted to space) +// ** %I hour 01-12 +// ** %j day of year 001-366 // ** %J ** julian day number +// ** %l hour 1-12 (leading zero converted to space) // ** %m month 01-12 // ** %M minute 00-59 +// ** %p "am" or "pm" +// ** %P "AM" or "PM" +// ** %R time as HH:MM // ** %s seconds since 1970-01-01 // ** %S seconds 00-59 -// ** %w day of week 0-6 Sunday==0 -// ** %W week of year 00-53 +// ** %T time as HH:MM:SS +// ** %u day of week 1-7 Monday==1, Sunday==7 +// ** %w day of week 0-6 Sunday==0, Monday==1 +// ** %U week of year 00-53 (First Sunday is start of week 01) +// ** %V week of year 01-53 (First week containing Thursday is week 01) +// ** %W week of year 00-53 (First Monday is start of week 01) // ** %Y year 0000-9999 // ** %% % // */ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(208) + defer tls.Free(208) var c, cf int8 var db, zFmt, v3, v4, v5, v6, v7 uintptr - var h, nDay, wd int32 + var h int32 var i, j, v2 Tsize_t var iS Ti64 var s float64 var _ /* sRes at bp+48 */ Tsqlite3_str var _ /* x at bp+0 */ TDateTime + var _ /* y at bp+128 */ TDateTime var _ /* y at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, nDay, s, wd, zFmt, v2, v3, v4, v5, v6, v7 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, s, zFmt, v2, v3, v4, v5, v6, v7 if argc == 0 { return } @@ -14955,28 +15114,41 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { fallthrough case int32('e'): if int32(int32(cf)) == int32('d') { - v3 = __ccgo_ts + 1339 + v3 = __ccgo_ts + 1353 } else { - v3 = __ccgo_ts + 1344 + v3 = __ccgo_ts + 1358 } - Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) - case int32('f'): + Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('f'): /* Fractional seconds. (Non-standard) */ s = (*(*TDateTime)(unsafe.Pointer(bp))).Fs if s > float64(59.999) { s = float64(59.999) } - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1348, libc.VaList(bp+136, s)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1362, libc.VaList(bp+184, s)) case int32('F'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1355, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1369, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('G'): /* Fall thru */ + fallthrough + case int32('g'): + *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Move y so that it is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidYMD = 0 + _computeYMD(tls, bp+80) + if int32(int32(cf)) == int32('g') { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1353, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY%int32(100))) + } else { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1384, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY)) + } case int32('H'): fallthrough case int32('k'): if int32(int32(cf)) == int32('H') { - v4 = __ccgo_ts + 1339 + v4 = __ccgo_ts + 1353 } else { - v4 = __ccgo_ts + 1344 + v4 = __ccgo_ts + 1358 } - Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) + Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) case int32('I'): /* Fall thru */ fallthrough case int32('l'): @@ -14988,73 +15160,71 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { h = int32(12) } if int32(int32(cf)) == int32('I') { - v5 = __ccgo_ts + 1339 + v5 = __ccgo_ts + 1353 } else { - v5 = __ccgo_ts + 1344 + v5 = __ccgo_ts + 1358 } - Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+136, h)) - case int32('W'): /* Fall thru */ - fallthrough - case int32('j'): /* Number of days since 1st day of year */ - *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidJD = 0 - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FM = int32(1) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FD = int32(1) - _computeJD(tls, bp+80) - nDay = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) - if int32(int32(cf)) == int32('W') { /* 0=Monday, 1=Tuesday, ... 6=Sunday */ - wd = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000) % libc.Int64FromInt32(7)) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1339, libc.VaList(bp+136, (nDay+int32(7)-wd)/int32(7))) - } else { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1370, libc.VaList(bp+136, nDay+int32(1))) - } - case int32('J'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1375, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) + Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+184, h)) + case int32('j'): /* Day of year. Jan01==1, Jan02==2, and so forth */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1389, libc.VaList(bp+184, _daysAfterJan01(tls, bp)+int32(1))) + case int32('J'): /* Julian day number. (Non-standard) */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1394, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) case int32('m'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1339, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1353, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) case int32('M'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1339, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1353, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('p'): /* Fall thru */ fallthrough case int32('P'): if (*(*TDateTime)(unsafe.Pointer(bp))).Fh >= int32(12) { if int32(int32(cf)) == int32('p') { - v6 = __ccgo_ts + 1381 + v6 = __ccgo_ts + 1400 } else { - v6 = __ccgo_ts + 1384 + v6 = __ccgo_ts + 1403 } Xsqlite3_str_append(tls, bp+48, v6, int32(2)) } else { if int32(int32(cf)) == int32('p') { - v7 = __ccgo_ts + 1387 + v7 = __ccgo_ts + 1406 } else { - v7 = __ccgo_ts + 1390 + v7 = __ccgo_ts + 1409 } Xsqlite3_str_append(tls, bp+48, v7, int32(2)) } case int32('R'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1393, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1412, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('s'): - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1403, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1422, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) } else { iS = (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/libc.Int64FromInt32(1000) - libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1408, libc.VaList(bp+136, iS)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1427, libc.VaList(bp+184, iS)) } case int32('S'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1339, libc.VaList(bp+136, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1353, libc.VaList(bp+184, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) case int32('T'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1413, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) - case int32('u'): /* Fall thru */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1432, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + case int32('u'): /* Day of week. 1 to 7. Monday==1, Sunday==7 */ fallthrough - case int32('w'): - c = int8(int32(int8(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)%libc.Int64FromInt32(7))) + int32('0')) + case int32('w'): /* Day of week. 0 to 6. Sunday==0, Monday==1 */ + c = int8(int32(int8(_daysAfterSunday(tls, bp))) + int32('0')) if int32(int32(c)) == int32('0') && int32(int32(cf)) == int32('u') { c = int8('7') } Xsqlite3_str_appendchar(tls, bp+48, int32(1), c) + case int32('U'): /* Week num. 00-53. First Sun of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1353, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterSunday(tls, bp)+int32(7))/int32(7))) + case int32('V'): /* Week num. 01-53. First week with a Thur is week 01 */ + *(*TDateTime)(unsafe.Pointer(bp + 128)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Adjust y so that is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FvalidYMD = 0 + _computeYMD(tls, bp+128) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1353, libc.VaList(bp+184, _daysAfterJan01(tls, bp+128)/int32(7)+int32(1))) + case int32('W'): /* Week num. 00-53. First Mon of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1353, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterMonday(tls, bp)+int32(7))/int32(7))) case int32('Y'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1428, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1384, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) case int32('%'): Xsqlite3_str_appendchar(tls, bp+48, int32(1), int8('%')) default: @@ -15207,12 +15377,10 @@ func _timediffFunc(tls *libc.TLS, context uintptr, NotUsed1 int32, argv uintptr) p2 = bp *(*Tsqlite3_int64)(unsafe.Pointer(p2)) = Tsqlite3_int64(uint64(*(*Tsqlite3_int64)(unsafe.Pointer(p2))) + libc.Uint64FromInt32(1486995408)*libc.Uint64FromInt32(100000)) } - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidYMD = 0 - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidHMS = 0 - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidTZ = 0 + _clearYMD_HMS_TZ(tls, bp) _computeYMD_HMS(tls, bp) _sqlite3StrAccumInit(tls, bp+96, uintptr(0), uintptr(0), 0, int32(100)) - Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1433, libc.VaList(bp+136, int32(int32(sign)), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) + Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1447, libc.VaList(bp+136, int32(int32(sign)), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) _sqlite3ResultStrAccum(tls, context, bp+96) } @@ -15245,55 +15413,55 @@ var _aDateTimeFuncs = [10]TFuncDef{ FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1239, + FzName: __ccgo_ts + 1253, }, 1: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1259, + FzName: __ccgo_ts + 1273, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1467, + FzName: __ccgo_ts + 1481, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1472, + FzName: __ccgo_ts + 1486, }, 4: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1477, + FzName: __ccgo_ts + 1491, }, 5: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1486, + FzName: __ccgo_ts + 1500, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1495, + FzName: __ccgo_ts + 1509, }, 7: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1504, + FzName: __ccgo_ts + 1518, }, 8: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1517, + FzName: __ccgo_ts + 1531, }, 9: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1535, + FzName: __ccgo_ts + 1549, }, } @@ -15964,7 +16132,7 @@ func _sqlite3MemMalloc(tls *libc.TLS, nByte int32) (r uintptr) { *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(int64(nByte)) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1548, libc.VaList(bp+8, nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1562, libc.VaList(bp+8, nByte)) } return p } @@ -16026,7 +16194,7 @@ func _sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) (r uintptr) *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(int64(nByte)) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1586, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1600, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) } return p } @@ -17697,7 +17865,7 @@ func _sqlite3OomFault(tls *libc.TLS, db uintptr) (r uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = uint16(0) if (*Tsqlite3)(unsafe.Pointer(db)).FpParse != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1622, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1636, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) pParse = (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).FpOuterParse for { @@ -18119,7 +18287,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li v3 = int32(*(*int8)(unsafe.Pointer(v4))) c = v3 if v3 == 0 { - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1636, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1650, int32(1)) break } /* Find out what flags are present */ @@ -18534,9 +18702,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial != 0 { if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial) == int32(2) { if flag_zeropad != 0 { - v57 = __ccgo_ts + 1638 + v57 = __ccgo_ts + 1652 } else { - v57 = __ccgo_ts + 1643 + v57 = __ccgo_ts + 1657 } bufpt = v57 length = _sqlite3Strlen30(tls, bufpt) @@ -18547,7 +18715,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP = int32(1000) (*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fn = int32(1) } else { - libc.Xmemcpy(tls, bp, __ccgo_ts+1647, uint64(5)) + libc.Xmemcpy(tls, bp, __ccgo_ts+1661, uint64(5)) bufpt = bp if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fsign) == int32('-') { /* no-op */ @@ -18569,14 +18737,12 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li prefix = int8(int8(flag_prefix)) } exp = (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP - int32(1) - if int32(int32(xtype)) == int32(etGENERIC) && precision > 0 { - precision-- - } /* ** If the field type is etGENERIC, then convert to either etEXP ** or etFLOAT, as appropriate. */ if int32(int32(xtype)) == int32(etGENERIC) { + precision-- flag_rtz = libc.BoolUint8(!(flag_alternateform != 0)) if exp < -int32(4) || exp > precision { xtype = uint8(etEXP) @@ -18882,7 +19048,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li bufpt = libc.VaUintptr(&ap) } if bufpt == uintptr(0) { - bufpt = __ccgo_ts + 1652 + bufpt = __ccgo_ts + 1666 } else { if int32(int32(xtype)) == int32(etDYNSTRING) { if (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FnChar == uint32(0) && (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FmxAlloc != 0 && width == 0 && precision < 0 && int32((*Tsqlite3_str)(unsafe.Pointer(pAccum)).FaccError) == 0 { @@ -18970,9 +19136,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li isnull = libc.BoolInt32(escarg == uintptr(0)) if isnull != 0 { if int32(int32(xtype)) == int32(etSQLESCAPE2) { - v98 = __ccgo_ts + 1653 + v98 = __ccgo_ts + 1667 } else { - v98 = __ccgo_ts + 1658 + v98 = __ccgo_ts + 1672 } escarg = v98 } @@ -19090,7 +19256,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*TSrcItem)(unsafe.Pointer(pItem)).FzName != 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1665, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1679, int32(1)) } Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzName) } else { @@ -19098,10 +19264,15 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzAlias) } else { pSel = (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect + /* Because of tag-20240424-1 */ if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_NestedFrom) != 0 { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1667, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1681, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) } else { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1677, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_MultiValue) != 0 { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1691, libc.VaList(bp+128, *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pItem)).Fu1)))) + } else { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1712, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + } } } } @@ -19380,7 +19551,7 @@ func _sqlite3ResultStrAccum(tls *libc.TLS, pCtx uintptr, p uintptr) { if int32((*TStrAccum)(unsafe.Pointer(p)).FprintfFlags)&int32(SQLITE_PRINTF_MALLOCED) != 0 { Xsqlite3_result_text(tls, pCtx, (*TStrAccum)(unsafe.Pointer(p)).FzText, int32((*TStrAccum)(unsafe.Pointer(p)).FnChar), __ccgo_fp(_sqlite3OomClear)) } else { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1652, 0, libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1666, 0, libc.UintptrFromInt32(0)) Xsqlite3_str_reset(tls, p) } } @@ -21210,6 +21381,60 @@ func _sqlite3DequoteExpr(tls *libc.TLS, p uintptr) { _sqlite3Dequote(tls, *(*uintptr)(unsafe.Pointer(p + 8))) } +// C documentation +// +// /* +// ** Expression p is a QNUMBER (quoted number). Dequote the value in p->u.zToken +// ** and set the type to INTEGER or FLOAT. "Quoted" integers or floats are those +// ** that contain '_' characters that must be removed before further processing. +// */ +func _sqlite3DequoteNumber(tls *libc.TLS, pParse uintptr, p uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var bHex int32 + var pIn, pOut, v1, v3 uintptr + var _ /* iValue at bp+0 */ int32 + _, _, _, _, _ = bHex, pIn, pOut, v1, v3 + if p != 0 { + pIn = *(*uintptr)(unsafe.Pointer(p + 8)) + pOut = *(*uintptr)(unsafe.Pointer(p + 8)) + bHex = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(pIn))) == int32('0') && (int32(*(*int8)(unsafe.Pointer(pIn + 1))) == int32('x') || int32(*(*int8)(unsafe.Pointer(pIn + 1))) == int32('X'))) + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + for { + if int32(*(*int8)(unsafe.Pointer(pIn))) != int32('_') { + v3 = pOut + pOut++ + *(*int8)(unsafe.Pointer(v3)) = *(*int8)(unsafe.Pointer(pIn)) + if int32(*(*int8)(unsafe.Pointer(pIn))) == int32('e') || int32(*(*int8)(unsafe.Pointer(pIn))) == int32('E') || int32(*(*int8)(unsafe.Pointer(pIn))) == int32('.') { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_FLOAT) + } + } else { + if bHex == 0 && (!(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1)))))])&libc.Int32FromInt32(0x04) != 0) || !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + 1)))])&libc.Int32FromInt32(0x04) != 0)) || bHex == int32(1) && (!(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1)))))])&libc.Int32FromInt32(0x08) != 0) || !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + 1)))])&libc.Int32FromInt32(0x08) != 0)) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1726, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(p + 8)))) + } + } + goto _2 + _2: + ; + v1 = pIn + pIn++ + if !(*(*int8)(unsafe.Pointer(v1)) != 0) { + break + } + } + if bHex != 0 { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + } + /* tag-20240227-a: If after dequoting, the number is an integer that + ** fits in 32 bits, then it must be converted into EP_IntValue. Other + ** parts of the code expect this. See also tag-20240227-b. */ + if int32((*TExpr)(unsafe.Pointer(p)).Fop) == int32(TK_INTEGER) && _sqlite3GetInt32(tls, *(*uintptr)(unsafe.Pointer(p + 8)), bp) != 0 { + *(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(p)).Fu)) = *(*int32)(unsafe.Pointer(bp)) + *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(EP_IntValue) + } + } +} + // C documentation // // /* @@ -21760,7 +21985,7 @@ func _compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) (r int32) { _, _, _ = c, i, pow63 c = 0 /* 012345678901234567 */ - pow63 = __ccgo_ts + 1691 + pow63 = __ccgo_ts + 1751 i = 0 for { if !(c == 0 && i < int32(18)) { @@ -21987,7 +22212,7 @@ func _sqlite3DecOrHexToI64(tls *libc.TLS, z uintptr, pOut uintptr) (r int32) { } return 0 } else { - n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1710)) + n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1770)) if *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 { n++ } @@ -22145,7 +22370,7 @@ func _sqlite3FpDecode(tls *libc.TLS, p uintptr, _r float64, iRound int32, mxRoun (*TFpDecode)(unsafe.Pointer(p)).Fsign = int8('+') (*TFpDecode)(unsafe.Pointer(p)).Fn = int32(1) (*TFpDecode)(unsafe.Pointer(p)).FiDP = int32(1) - (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1726 + (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1786 return } else { (*TFpDecode)(unsafe.Pointer(p)).Fsign = int8('+') @@ -22694,7 +22919,7 @@ func _sqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) (r uintptr func _logBadConnection(tls *libc.TLS, zType uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1728, libc.VaList(bp+8, zType)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1788, libc.VaList(bp+8, zType)) } // C documentation @@ -22717,13 +22942,13 @@ func _sqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) (r int32) { var eOpenState Tu8 _ = eOpenState if db == uintptr(0) { - _logBadConnection(tls, __ccgo_ts+1653) + _logBadConnection(tls, __ccgo_ts+1667) return 0 } eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(int32(eOpenState)) != int32(SQLITE_STATE_OPEN) { if _sqlite3SafetyCheckSickOrOk(tls, db) != 0 { - _logBadConnection(tls, __ccgo_ts+1773) + _logBadConnection(tls, __ccgo_ts+1833) } return 0 } else { @@ -22737,7 +22962,7 @@ func _sqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) (r int32) { _ = eOpenState eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(int32(eOpenState)) != int32(SQLITE_STATE_SICK) && int32(int32(eOpenState)) != int32(SQLITE_STATE_OPEN) && int32(int32(eOpenState)) != int32(SQLITE_STATE_BUSY) { - _logBadConnection(tls, __ccgo_ts+1782) + _logBadConnection(tls, __ccgo_ts+1842) return 0 } else { return int32(1) @@ -23383,196 +23608,196 @@ func _sqlite3OpcodeName(tls *libc.TLS, i int32) (r uintptr) { } var _azName = [190]uintptr{ - 0: __ccgo_ts + 1790, - 1: __ccgo_ts + 1800, - 2: __ccgo_ts + 1811, - 3: __ccgo_ts + 1823, - 4: __ccgo_ts + 1834, - 5: __ccgo_ts + 1846, - 6: __ccgo_ts + 1853, - 7: __ccgo_ts + 1861, - 8: __ccgo_ts + 1869, - 9: __ccgo_ts + 1874, - 10: __ccgo_ts + 1879, - 11: __ccgo_ts + 1885, - 12: __ccgo_ts + 1899, - 13: __ccgo_ts + 1905, - 14: __ccgo_ts + 1915, - 15: __ccgo_ts + 1920, - 16: __ccgo_ts + 1925, - 17: __ccgo_ts + 1928, - 18: __ccgo_ts + 1934, - 19: __ccgo_ts + 1941, - 20: __ccgo_ts + 1945, - 21: __ccgo_ts + 1955, - 22: __ccgo_ts + 1962, - 23: __ccgo_ts + 1969, - 24: __ccgo_ts + 1976, - 25: __ccgo_ts + 1983, - 26: __ccgo_ts + 1993, - 27: __ccgo_ts + 2002, - 28: __ccgo_ts + 2013, - 29: __ccgo_ts + 2022, - 30: __ccgo_ts + 2028, - 31: __ccgo_ts + 2038, - 32: __ccgo_ts + 2048, - 33: __ccgo_ts + 2053, - 34: __ccgo_ts + 2063, - 35: __ccgo_ts + 2074, - 36: __ccgo_ts + 2079, - 37: __ccgo_ts + 2086, - 38: __ccgo_ts + 2097, - 39: __ccgo_ts + 2102, - 40: __ccgo_ts + 2107, - 41: __ccgo_ts + 2113, - 42: __ccgo_ts + 2119, - 43: __ccgo_ts + 2125, - 44: __ccgo_ts + 2128, - 45: __ccgo_ts + 2132, - 46: __ccgo_ts + 2138, - 47: __ccgo_ts + 2149, - 48: __ccgo_ts + 2160, - 49: __ccgo_ts + 2168, - 50: __ccgo_ts + 2177, - 51: __ccgo_ts + 2184, - 52: __ccgo_ts + 2192, - 53: __ccgo_ts + 2195, - 54: __ccgo_ts + 2198, - 55: __ccgo_ts + 2201, - 56: __ccgo_ts + 2204, - 57: __ccgo_ts + 2207, - 58: __ccgo_ts + 2210, - 59: __ccgo_ts + 2217, - 60: __ccgo_ts + 2223, - 61: __ccgo_ts + 2233, - 62: __ccgo_ts + 2246, - 63: __ccgo_ts + 2257, - 64: __ccgo_ts + 2263, - 65: __ccgo_ts + 2270, - 66: __ccgo_ts + 2279, - 67: __ccgo_ts + 2288, - 68: __ccgo_ts + 2295, - 69: __ccgo_ts + 2308, - 70: __ccgo_ts + 2319, - 71: __ccgo_ts + 2324, - 72: __ccgo_ts + 2332, - 73: __ccgo_ts + 2338, - 74: __ccgo_ts + 2345, - 75: __ccgo_ts + 2357, - 76: __ccgo_ts + 2362, - 77: __ccgo_ts + 2371, - 78: __ccgo_ts + 2376, - 79: __ccgo_ts + 2385, - 80: __ccgo_ts + 2390, - 81: __ccgo_ts + 2395, - 82: __ccgo_ts + 2401, - 83: __ccgo_ts + 2409, - 84: __ccgo_ts + 2417, - 85: __ccgo_ts + 2427, - 86: __ccgo_ts + 2435, - 87: __ccgo_ts + 2442, - 88: __ccgo_ts + 2455, - 89: __ccgo_ts + 2460, - 90: __ccgo_ts + 2472, - 91: __ccgo_ts + 2480, - 92: __ccgo_ts + 2487, - 93: __ccgo_ts + 2498, - 94: __ccgo_ts + 2505, - 95: __ccgo_ts + 2512, - 96: __ccgo_ts + 2522, - 97: __ccgo_ts + 2531, - 98: __ccgo_ts + 2542, - 99: __ccgo_ts + 2548, - 100: __ccgo_ts + 2559, - 101: __ccgo_ts + 2569, - 102: __ccgo_ts + 2579, - 103: __ccgo_ts + 2586, - 104: __ccgo_ts + 2592, - 105: __ccgo_ts + 2602, - 106: __ccgo_ts + 2613, - 107: __ccgo_ts + 2617, - 108: __ccgo_ts + 2626, - 109: __ccgo_ts + 2635, - 110: __ccgo_ts + 2642, - 111: __ccgo_ts + 2652, - 112: __ccgo_ts + 2659, - 113: __ccgo_ts + 2668, - 114: __ccgo_ts + 2678, - 115: __ccgo_ts + 2685, - 116: __ccgo_ts + 2693, - 117: __ccgo_ts + 2707, - 118: __ccgo_ts + 2715, - 119: __ccgo_ts + 2729, - 120: __ccgo_ts + 2740, - 121: __ccgo_ts + 2753, - 122: __ccgo_ts + 2764, - 123: __ccgo_ts + 2770, - 124: __ccgo_ts + 2782, - 125: __ccgo_ts + 2791, - 126: __ccgo_ts + 2799, - 127: __ccgo_ts + 2808, - 128: __ccgo_ts + 2817, - 129: __ccgo_ts + 2824, - 130: __ccgo_ts + 2832, - 131: __ccgo_ts + 2839, - 132: __ccgo_ts + 2850, - 133: __ccgo_ts + 2864, - 134: __ccgo_ts + 2875, - 135: __ccgo_ts + 2883, - 136: __ccgo_ts + 2889, - 137: __ccgo_ts + 2897, - 138: __ccgo_ts + 2905, - 139: __ccgo_ts + 2915, - 140: __ccgo_ts + 2928, - 141: __ccgo_ts + 2938, - 142: __ccgo_ts + 2951, - 143: __ccgo_ts + 2960, - 144: __ccgo_ts + 2971, - 145: __ccgo_ts + 2979, - 146: __ccgo_ts + 2985, - 147: __ccgo_ts + 2997, - 148: __ccgo_ts + 3009, - 149: __ccgo_ts + 3017, - 150: __ccgo_ts + 3029, - 151: __ccgo_ts + 3042, - 152: __ccgo_ts + 3052, - 153: __ccgo_ts + 3062, - 154: __ccgo_ts + 3067, - 155: __ccgo_ts + 3079, - 156: __ccgo_ts + 3091, - 157: __ccgo_ts + 3101, - 158: __ccgo_ts + 3107, - 159: __ccgo_ts + 3117, - 160: __ccgo_ts + 3124, - 161: __ccgo_ts + 3136, - 162: __ccgo_ts + 3147, - 163: __ccgo_ts + 3155, - 164: __ccgo_ts + 3164, - 165: __ccgo_ts + 3173, - 166: __ccgo_ts + 3182, - 167: __ccgo_ts + 3189, - 168: __ccgo_ts + 3200, - 169: __ccgo_ts + 3213, - 170: __ccgo_ts + 3223, - 171: __ccgo_ts + 3230, - 172: __ccgo_ts + 3238, - 173: __ccgo_ts + 3247, - 174: __ccgo_ts + 3253, - 175: __ccgo_ts + 3260, - 176: __ccgo_ts + 3268, - 177: __ccgo_ts + 3276, - 178: __ccgo_ts + 3284, - 179: __ccgo_ts + 3294, - 180: __ccgo_ts + 3303, - 181: __ccgo_ts + 3314, - 182: __ccgo_ts + 3325, - 183: __ccgo_ts + 3336, - 184: __ccgo_ts + 3346, - 185: __ccgo_ts + 3352, - 186: __ccgo_ts + 3363, - 187: __ccgo_ts + 3374, - 188: __ccgo_ts + 3379, - 189: __ccgo_ts + 3387, + 0: __ccgo_ts + 1850, + 1: __ccgo_ts + 1860, + 2: __ccgo_ts + 1871, + 3: __ccgo_ts + 1883, + 4: __ccgo_ts + 1894, + 5: __ccgo_ts + 1906, + 6: __ccgo_ts + 1913, + 7: __ccgo_ts + 1921, + 8: __ccgo_ts + 1929, + 9: __ccgo_ts + 1934, + 10: __ccgo_ts + 1939, + 11: __ccgo_ts + 1945, + 12: __ccgo_ts + 1959, + 13: __ccgo_ts + 1965, + 14: __ccgo_ts + 1975, + 15: __ccgo_ts + 1980, + 16: __ccgo_ts + 1985, + 17: __ccgo_ts + 1988, + 18: __ccgo_ts + 1994, + 19: __ccgo_ts + 2001, + 20: __ccgo_ts + 2005, + 21: __ccgo_ts + 2015, + 22: __ccgo_ts + 2022, + 23: __ccgo_ts + 2029, + 24: __ccgo_ts + 2036, + 25: __ccgo_ts + 2043, + 26: __ccgo_ts + 2053, + 27: __ccgo_ts + 2062, + 28: __ccgo_ts + 2073, + 29: __ccgo_ts + 2082, + 30: __ccgo_ts + 2088, + 31: __ccgo_ts + 2098, + 32: __ccgo_ts + 2108, + 33: __ccgo_ts + 2113, + 34: __ccgo_ts + 2127, + 35: __ccgo_ts + 2138, + 36: __ccgo_ts + 2143, + 37: __ccgo_ts + 2150, + 38: __ccgo_ts + 2161, + 39: __ccgo_ts + 2166, + 40: __ccgo_ts + 2171, + 41: __ccgo_ts + 2177, + 42: __ccgo_ts + 2183, + 43: __ccgo_ts + 2189, + 44: __ccgo_ts + 2192, + 45: __ccgo_ts + 2196, + 46: __ccgo_ts + 2202, + 47: __ccgo_ts + 2213, + 48: __ccgo_ts + 2224, + 49: __ccgo_ts + 2232, + 50: __ccgo_ts + 2241, + 51: __ccgo_ts + 2248, + 52: __ccgo_ts + 2256, + 53: __ccgo_ts + 2259, + 54: __ccgo_ts + 2262, + 55: __ccgo_ts + 2265, + 56: __ccgo_ts + 2268, + 57: __ccgo_ts + 2271, + 58: __ccgo_ts + 2274, + 59: __ccgo_ts + 2281, + 60: __ccgo_ts + 2287, + 61: __ccgo_ts + 2297, + 62: __ccgo_ts + 2310, + 63: __ccgo_ts + 2321, + 64: __ccgo_ts + 2327, + 65: __ccgo_ts + 2334, + 66: __ccgo_ts + 2343, + 67: __ccgo_ts + 2352, + 68: __ccgo_ts + 2359, + 69: __ccgo_ts + 2372, + 70: __ccgo_ts + 2383, + 71: __ccgo_ts + 2388, + 72: __ccgo_ts + 2396, + 73: __ccgo_ts + 2402, + 74: __ccgo_ts + 2409, + 75: __ccgo_ts + 2421, + 76: __ccgo_ts + 2426, + 77: __ccgo_ts + 2435, + 78: __ccgo_ts + 2440, + 79: __ccgo_ts + 2449, + 80: __ccgo_ts + 2454, + 81: __ccgo_ts + 2459, + 82: __ccgo_ts + 2465, + 83: __ccgo_ts + 2473, + 84: __ccgo_ts + 2481, + 85: __ccgo_ts + 2491, + 86: __ccgo_ts + 2499, + 87: __ccgo_ts + 2506, + 88: __ccgo_ts + 2519, + 89: __ccgo_ts + 2524, + 90: __ccgo_ts + 2536, + 91: __ccgo_ts + 2544, + 92: __ccgo_ts + 2551, + 93: __ccgo_ts + 2562, + 94: __ccgo_ts + 2569, + 95: __ccgo_ts + 2576, + 96: __ccgo_ts + 2586, + 97: __ccgo_ts + 2595, + 98: __ccgo_ts + 2606, + 99: __ccgo_ts + 2612, + 100: __ccgo_ts + 2623, + 101: __ccgo_ts + 2633, + 102: __ccgo_ts + 2643, + 103: __ccgo_ts + 2650, + 104: __ccgo_ts + 2656, + 105: __ccgo_ts + 2666, + 106: __ccgo_ts + 2677, + 107: __ccgo_ts + 2681, + 108: __ccgo_ts + 2690, + 109: __ccgo_ts + 2699, + 110: __ccgo_ts + 2706, + 111: __ccgo_ts + 2716, + 112: __ccgo_ts + 2723, + 113: __ccgo_ts + 2732, + 114: __ccgo_ts + 2742, + 115: __ccgo_ts + 2749, + 116: __ccgo_ts + 2757, + 117: __ccgo_ts + 2771, + 118: __ccgo_ts + 2779, + 119: __ccgo_ts + 2793, + 120: __ccgo_ts + 2804, + 121: __ccgo_ts + 2817, + 122: __ccgo_ts + 2828, + 123: __ccgo_ts + 2834, + 124: __ccgo_ts + 2846, + 125: __ccgo_ts + 2855, + 126: __ccgo_ts + 2863, + 127: __ccgo_ts + 2872, + 128: __ccgo_ts + 2881, + 129: __ccgo_ts + 2888, + 130: __ccgo_ts + 2896, + 131: __ccgo_ts + 2903, + 132: __ccgo_ts + 2914, + 133: __ccgo_ts + 2928, + 134: __ccgo_ts + 2939, + 135: __ccgo_ts + 2947, + 136: __ccgo_ts + 2953, + 137: __ccgo_ts + 2961, + 138: __ccgo_ts + 2969, + 139: __ccgo_ts + 2979, + 140: __ccgo_ts + 2992, + 141: __ccgo_ts + 3002, + 142: __ccgo_ts + 3015, + 143: __ccgo_ts + 3024, + 144: __ccgo_ts + 3035, + 145: __ccgo_ts + 3043, + 146: __ccgo_ts + 3049, + 147: __ccgo_ts + 3061, + 148: __ccgo_ts + 3073, + 149: __ccgo_ts + 3081, + 150: __ccgo_ts + 3093, + 151: __ccgo_ts + 3106, + 152: __ccgo_ts + 3116, + 153: __ccgo_ts + 3126, + 154: __ccgo_ts + 3131, + 155: __ccgo_ts + 3143, + 156: __ccgo_ts + 3155, + 157: __ccgo_ts + 3165, + 158: __ccgo_ts + 3171, + 159: __ccgo_ts + 3181, + 160: __ccgo_ts + 3188, + 161: __ccgo_ts + 3200, + 162: __ccgo_ts + 3211, + 163: __ccgo_ts + 3219, + 164: __ccgo_ts + 3228, + 165: __ccgo_ts + 3237, + 166: __ccgo_ts + 3246, + 167: __ccgo_ts + 3253, + 168: __ccgo_ts + 3264, + 169: __ccgo_ts + 3277, + 170: __ccgo_ts + 3287, + 171: __ccgo_ts + 3294, + 172: __ccgo_ts + 3302, + 173: __ccgo_ts + 3311, + 174: __ccgo_ts + 3317, + 175: __ccgo_ts + 3324, + 176: __ccgo_ts + 3332, + 177: __ccgo_ts + 3340, + 178: __ccgo_ts + 3348, + 179: __ccgo_ts + 3358, + 180: __ccgo_ts + 3367, + 181: __ccgo_ts + 3378, + 182: __ccgo_ts + 3389, + 183: __ccgo_ts + 3400, + 184: __ccgo_ts + 3410, + 185: __ccgo_ts + 3416, + 186: __ccgo_ts + 3427, + 187: __ccgo_ts + 3438, + 188: __ccgo_ts + 3443, + 189: __ccgo_ts + 3451, } type Tregister_t = int64 @@ -24108,91 +24333,91 @@ type unix_syscall = Tunix_syscall // */ var _aSyscall = [29]Tunix_syscall{ 0: { - FzName: __ccgo_ts + 3397, + FzName: __ccgo_ts + 3461, }, 1: { - FzName: __ccgo_ts + 3402, + FzName: __ccgo_ts + 3466, }, 2: { - FzName: __ccgo_ts + 3408, + FzName: __ccgo_ts + 3472, }, 3: { - FzName: __ccgo_ts + 3415, + FzName: __ccgo_ts + 3479, }, 4: { - FzName: __ccgo_ts + 3422, + FzName: __ccgo_ts + 3486, }, 5: { - FzName: __ccgo_ts + 3427, + FzName: __ccgo_ts + 3491, }, 6: { - FzName: __ccgo_ts + 3433, + FzName: __ccgo_ts + 3497, }, 7: { - FzName: __ccgo_ts + 3443, + FzName: __ccgo_ts + 3507, }, 8: { - FzName: __ccgo_ts + 3449, + FzName: __ccgo_ts + 3513, }, 9: { - FzName: __ccgo_ts + 3454, + FzName: __ccgo_ts + 3518, }, 10: { - FzName: __ccgo_ts + 3460, + FzName: __ccgo_ts + 3524, }, 11: { - FzName: __ccgo_ts + 3468, + FzName: __ccgo_ts + 3532, }, 12: { - FzName: __ccgo_ts + 3474, + FzName: __ccgo_ts + 3538, }, 13: { - FzName: __ccgo_ts + 3481, + FzName: __ccgo_ts + 3545, }, 14: { - FzName: __ccgo_ts + 3490, + FzName: __ccgo_ts + 3554, }, 15: { - FzName: __ccgo_ts + 3497, + FzName: __ccgo_ts + 3561, }, 16: { - FzName: __ccgo_ts + 3507, + FzName: __ccgo_ts + 3571, }, 17: { - FzName: __ccgo_ts + 3514, + FzName: __ccgo_ts + 3578, }, 18: { - FzName: __ccgo_ts + 3528, + FzName: __ccgo_ts + 3592, }, 19: { - FzName: __ccgo_ts + 3534, + FzName: __ccgo_ts + 3598, }, 20: { - FzName: __ccgo_ts + 3540, + FzName: __ccgo_ts + 3604, }, 21: { - FzName: __ccgo_ts + 3547, + FzName: __ccgo_ts + 3611, }, 22: { - FzName: __ccgo_ts + 3555, + FzName: __ccgo_ts + 3619, }, 23: { - FzName: __ccgo_ts + 3560, + FzName: __ccgo_ts + 3624, }, 24: { - FzName: __ccgo_ts + 3567, + FzName: __ccgo_ts + 3631, }, 25: { - FzName: __ccgo_ts + 3574, + FzName: __ccgo_ts + 3638, }, 26: { - FzName: __ccgo_ts + 3586, + FzName: __ccgo_ts + 3650, }, 27: { - FzName: __ccgo_ts + 3595, + FzName: __ccgo_ts + 3659, }, 28: { - FzName: __ccgo_ts + 3601, + FzName: __ccgo_ts + 3665, }, } @@ -24431,9 +24656,9 @@ func _robust_open(tls *libc.TLS, z uintptr, f int32, m Tmode_t) (r int32) { (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, z) } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(1)].FpCurrent})))(tls, fd) - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3607, libc.VaList(bp+152, z, fd)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3671, libc.VaList(bp+152, z, fd)) fd = -int32(1) - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3650, O_RDONLY, int32(int32(m))) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3714, O_RDONLY, int32(int32(m))) < 0 { break } } @@ -24749,11 +24974,11 @@ func _unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uint ** equivalent to errno. Otherwise, use strerror_r(). */ /* This is a threadsafe build, but strerror_r() is not available. */ - zErr = __ccgo_ts + 1652 + zErr = __ccgo_ts + 1666 if zPath == uintptr(0) { - zPath = __ccgo_ts + 1652 + zPath = __ccgo_ts + 1666 } - Xsqlite3_log(tls, errcode, __ccgo_ts+3660, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) + Xsqlite3_log(tls, errcode, __ccgo_ts+3724, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) return errcode } @@ -24781,7 +25006,7 @@ func _robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { } else { v1 = uintptr(0) } - _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(16)< uint64(1) { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3744, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3808, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } if _fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3771, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3835, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -25439,7 +25664,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) { pFile = id _unixUnmapfile(tls, pFile) if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 { - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40172)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40505)) (*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1) } Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -26047,7 +26272,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { var _ /* zDirname at bp+0 */ [513]int8 _, _ = fd, ii fd = -int32(1) - Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3799, libc.VaList(bp+528, zFilename)) + Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3863, libc.VaList(bp+528, zFilename)) ii = int32(libc.Xstrlen(tls, bp)) for { if !(ii > 0 && int32((*(*[513]int8)(unsafe.Pointer(bp)))[ii]) != int32('/')) { @@ -26073,7 +26298,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { if fd >= 0 { return SQLITE_OK } - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(41778)), __ccgo_ts+3514, bp, int32(41778)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42111)), __ccgo_ts+3578, bp, int32(42111)) } // C documentation @@ -26110,7 +26335,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) { rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if rc != 0 { _storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<= nSize { iWrite = nSize - int64(1) } - nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1652, int32(1)) + nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1666, int32(1)) if nWrite != int32(1) { return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(3)<= 0 { - _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42583)) + _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42916)) (*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1) } (*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0) @@ -26716,7 +26941,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in ** help detect if a -shm file truncation is legitimate or is the work ** or a rogue process. */ if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 { - rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<= 0 { - _robust_close(tls, pNew, h, int32(43994)) + _robust_close(tls, pNew, h, int32(44327)) } } else { (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -27717,10 +27942,10 @@ func _fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilenam // ** Directories to consider for temp files. // */ var _azTempDirs = [6]uintptr{ - 2: __ccgo_ts + 3856, - 3: __ccgo_ts + 3865, - 4: __ccgo_ts + 3874, - 5: __ccgo_ts + 1665, + 2: __ccgo_ts + 3920, + 3: __ccgo_ts + 3929, + 4: __ccgo_ts + 3938, + 5: __ccgo_ts + 1679, } // C documentation @@ -27729,8 +27954,8 @@ var _azTempDirs = [6]uintptr{ // ** Initialize first two members of azTempDirs[] array. // */ func _unixTempFileInit(tls *libc.TLS) { - _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3879) - _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3893) + _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3943) + _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3957) } // C documentation @@ -27792,7 +28017,7 @@ func _unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) (r int32) { for cond := true; cond; cond = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(2)].FpCurrent})))(tls, zBuf, 0) == 0 { Xsqlite3_randomness(tls, int32(8), bp) *(*int8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2)))) = 0 - Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3900, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) + Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3964, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) if v2 = int32(*(*int8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2))))) != 0; !v2 { v1 = iLimit iLimit++ @@ -27964,7 +28189,7 @@ func _findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintpt ** filename, check for the "modeof" parameter. If present, interpret ** its value as a filename and try to copy the mode, uid and gid from ** that file. */ - z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3917) + z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3981) if z != 0 { rc = _getFileMode(tls, z, pMode, pUid, pGid) } @@ -28002,12 +28227,12 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags bp := tls.Alloc(528) defer tls.Free(528) var ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, rc, rc2 int32 - var p, pUnused, zName uintptr + var p, pReadonly, pUnused, zName uintptr var _ /* gid at bp+524 */ Tgid_t var _ /* openMode at bp+516 */ Tmode_t var _ /* uid at bp+520 */ Tuid_t var _ /* zTmpname at bp+0 */ [514]int8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pUnused, rc, rc2, zName + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pReadonly, pUnused, rc, rc2, zName p = pFile fd = -int32(1) /* File descriptor returned by open() */ openFlags = 0 /* Flags to pass to open() */ @@ -28102,17 +28327,24 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags } else { if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != int32(EISDIR) && isReadWrite != 0 { /* Failed to open the file for read/write access. Try read-only. */ + pReadonly = uintptr(0) flags &= ^(libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE)) openFlags &= ^(libc.Int32FromInt32(O_RDWR) | libc.Int32FromInt32(O_CREAT)) flags |= int32(SQLITE_OPEN_READONLY) openFlags |= O_RDONLY isReadonly = int32(1) - fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + pReadonly = _findReusableFd(tls, zName, flags) + if pReadonly != 0 { + fd = (*TUnixUnusedFd)(unsafe.Pointer(pReadonly)).Ffd + Xsqlite3_free(tls, pReadonly) + } else { + fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + } } } } if fd < 0 { - rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44435)), __ccgo_ts+3397, zName, int32(44435)) + rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44775)), __ccgo_ts+3461, zName, int32(44775)) if rc == SQLITE_OK { rc = rc2 } @@ -28189,7 +28421,7 @@ func _unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) ( if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(ENOENT) { rc = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(23)< int32(SQLITE_MAX_SYMLINK) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(44686)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45026)) return } got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+144, libc.Uint64FromInt64(4098)-libc.Uint64FromInt32(2)) if got <= 0 || got >= libc.Int64FromInt64(4098)-libc.Int64FromInt32(2) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44691)), __ccgo_ts+3586, zIn, int32(44691)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45031)), __ccgo_ts+3650, zIn, int32(45031)) return } (*(*[4098]int8)(unsafe.Pointer(bp + 144)))[got] = 0 @@ -28387,14 +28619,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z (*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut if int32(*(*int8)(unsafe.Pointer(zPath))) != int32('/') { if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(4098)-libc.Uint64FromInt32(2)) == uintptr(0) { - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44749)), __ccgo_ts+3415, zPath, int32(44749)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45089)), __ccgo_ts+3479, zPath, int32(45089)) } _appendAllPathElements(tls, bp, bp+24) } _appendAllPathElements(tls, bp, zPath) *(*int8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = 0 if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) { - return _sqlite3CantopenError(tls, int32(44755)) + return _sqlite3CantopenError(tls, int32(45095)) } if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 { return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)< int64(1) { _sqlite3PagerUnrefNotNull(tls, pPgOld) - return _sqlite3CorruptError(tls, int32(63973)) + return _sqlite3CorruptError(tls, int32(64313)) } p4 = pPg + 52 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | int32((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC)) @@ -40187,7 +40419,7 @@ func _sqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in ** sqlite3_wal_checkpoint() call, but it happens very rarely. ** https://sqlite.org/forum/forumpost/fd0f19d229156939 */ - Xsqlite3_exec(tls, db, __ccgo_ts+4113, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+4177, uintptr(0), uintptr(0), uintptr(0)) } if (*TPager)(unsafe.Pointer(pPager)).FpWal != 0 { if eMode == SQLITE_CHECKPOINT_PASSIVE { @@ -41628,7 +41860,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in v2 = nCollide nCollide-- if v2 == 0 { - return _sqlite3CorruptError(tls, int32(65899)) + return _sqlite3CorruptError(tls, int32(66239)) } goto _1 _1: @@ -41716,7 +41948,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) { ** are able to understand */ version = _sqlite3Get4byte(tls, bp+8+4) if version != uint32(WAL_MAX_VERSION) { - rc = _sqlite3CantopenError(tls, int32(66031)) + rc = _sqlite3CantopenError(tls, int32(66371)) goto finished } /* Malloc a buffer to read frames into. */ @@ -41855,7 +42087,7 @@ finished: ** checkpointing the log file. */ if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FnPage != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(1)< int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = _sqlite3CorruptError(tls, int32(71032)) + rc = _sqlite3CorruptError(tls, int32(71421)) } else { rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -46414,7 +46653,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, } /* The super-journal page number must never be used as a pointer map page */ if key == uint32(0) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71230)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71619)) return } iPtrmap = _ptrmapPageno(tls, pBt, key) @@ -46427,12 +46666,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, /* The first byte of the extra data is the MemPage.isInit byte. ** If that byte is set, it means this page is also being used ** as a btree page. */ - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71243)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71632)) goto ptrmap_exit } offset = int32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1))) if offset < 0 { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71248)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71637)) goto ptrmap_exit } pPtrmap = _sqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -46476,7 +46715,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin offset = int32(libc.Uint32FromInt32(5) * (key - uint32(uint32(iPtrmap)) - libc.Uint32FromInt32(1))) if offset < 0 { _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) - return _sqlite3CorruptError(tls, int32(71293)) + return _sqlite3CorruptError(tls, int32(71682)) } *(*Tu8)(unsafe.Pointer(pEType)) = *(*Tu8)(unsafe.Pointer(pPtrmap + uintptr(offset))) if pPgno != 0 { @@ -46484,7 +46723,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin } _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) if int32(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || int32(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) { - return _sqlite3CorruptError(tls, int32(71301)) + return _sqlite3CorruptError(tls, int32(71690)) } return SQLITE_OK } @@ -46904,7 +47143,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71741)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72130)) return } ovfl = _sqlite3Get4byte(tls, pCell+uintptr(int32((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4))) @@ -46944,12 +47183,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag { iFree = int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71799)) + return _sqlite3CorruptError(tls, int32(72188)) } if iFree != 0 { iFree2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71802)) + return _sqlite3CorruptError(tls, int32(72191)) } if 0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 { pEnd = data + uintptr(cellOffset+nCell*int32(2)) @@ -46957,21 +47196,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { sz = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree { - return _sqlite3CorruptError(tls, int32(71810)) + return _sqlite3CorruptError(tls, int32(72199)) } if iFree2 != 0 { if iFree+sz > iFree2 { - return _sqlite3CorruptError(tls, int32(71813)) + return _sqlite3CorruptError(tls, int32(72202)) } sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize { - return _sqlite3CorruptError(tls, int32(71815)) + return _sqlite3CorruptError(tls, int32(72204)) } libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) sz += sz2 } else { if iFree+sz > usableSize { - return _sqlite3CorruptError(tls, int32(71819)) + return _sqlite3CorruptError(tls, int32(72208)) } } cbrk = top + sz @@ -47018,12 +47257,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { ** if PRAGMA cell_size_check=ON. */ if pc > iCellLast { - return _sqlite3CorruptError(tls, int32(71852)) + return _sqlite3CorruptError(tls, int32(72241)) } size = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc))) cbrk -= size if cbrk < iCellStart || pc+size > usableSize { - return _sqlite3CorruptError(tls, int32(71858)) + return _sqlite3CorruptError(tls, int32(72247)) } *(*Tu8)(unsafe.Pointer(pAddr1)) = uint8(cbrk >> libc.Int32FromInt32(8)) *(*Tu8)(unsafe.Pointer(pAddr1 + 1)) = uint8(cbrk) @@ -47039,7 +47278,7 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { defragment_out: ; if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree { - return _sqlite3CorruptError(tls, int32(71872)) + return _sqlite3CorruptError(tls, int32(72261)) } *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = uint8(cbrk >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)) + 1)) = uint8(cbrk) @@ -47099,7 +47338,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint } else { if x+pc > maxPC { /* This slot extends off the end of the usable part of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71929)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72318)) return uintptr(0) } else { /* The slot remains on the free-list. Reduce its size to account @@ -47116,14 +47355,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint if pc <= iAddr { if pc != 0 { /* The next slot in the chain comes before the current slot */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71944)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72333)) } return uintptr(0) } } if pc > maxPC+nByte-int32(4) { /* The free slot chain extends off the end of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71951)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72340)) } return uintptr(0) } @@ -47166,11 +47405,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) { top = int32(65536) } else { - return _sqlite3CorruptError(tls, int32(71999)) + return _sqlite3CorruptError(tls, int32(72388)) } } else { if top > int32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(72002)) + return _sqlite3CorruptError(tls, int32(72391)) } } /* If there is enough space between gap and top for one more cell pointer, @@ -47184,7 +47423,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r g2 = v1 *(*int32)(unsafe.Pointer(pIdx)) = v1 if g2 <= gap { - return _sqlite3CorruptError(tls, int32(72019)) + return _sqlite3CorruptError(tls, int32(72408)) } else { return SQLITE_OK } @@ -47267,12 +47506,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if int32(int32(iFreeBlk)) == 0 { break } /* TH3: corrupt082.100 */ - return _sqlite3CorruptError(tls, int32(72098)) + return _sqlite3CorruptError(tls, int32(72487)) } iPtr = iFreeBlk } if uint32(uint32(iFreeBlk)) > (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-uint32(4) { /* TH3: corrupt081.100 */ - return _sqlite3CorruptError(tls, int32(72103)) + return _sqlite3CorruptError(tls, int32(72492)) } /* At this point: ** iFreeBlk: First freeblock after iStart, or zero if none @@ -47283,11 +47522,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if iFreeBlk != 0 && iEnd+uint32(3) >= uint32(uint32(iFreeBlk)) { nFrag = uint8(uint32(uint32(iFreeBlk)) - iEnd) if iEnd > uint32(uint32(iFreeBlk)) { - return _sqlite3CorruptError(tls, int32(72115)) + return _sqlite3CorruptError(tls, int32(72504)) } iEnd = uint32(int32(int32(iFreeBlk)) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(int32(iFreeBlk))+int32(2)))))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return _sqlite3CorruptError(tls, int32(72118)) + return _sqlite3CorruptError(tls, int32(72507)) } iSize = uint16(iEnd - uint32(uint32(iStart))) iFreeBlk = uint16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= int32(int32(iStart)) { if iPtrEnd > int32(int32(iStart)) { - return _sqlite3CorruptError(tls, int32(72131)) + return _sqlite3CorruptError(tls, int32(72520)) } nFrag = Tu8(int32(nFrag) + (int32(int32(iStart)) - iPtrEnd)) iSize = uint16(iEnd - uint32(uint32(iPtr))) @@ -47308,7 +47547,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) } } if int32(int32(nFrag)) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(int32(hdr))+int32(7))))) { - return _sqlite3CorruptError(tls, int32(72137)) + return _sqlite3CorruptError(tls, int32(72526)) } p2 = data + uintptr(int32(int32(hdr))+int32(7)) *(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - int32(int32(nFrag))) @@ -47325,10 +47564,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) ** so just extend the cell content area rather than create another ** freelist entry */ if int32(int32(iStart)) < int32(int32(x)) { - return _sqlite3CorruptError(tls, int32(72151)) + return _sqlite3CorruptError(tls, int32(72540)) } if int32(int32(iPtr)) != int32(int32(hdr))+int32(1) { - return _sqlite3CorruptError(tls, int32(72152)) + return _sqlite3CorruptError(tls, int32(72541)) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(int32(hdr))+int32(1)))) = uint8(int32(iFreeBlk) >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(int32(int32(hdr))+int32(1)) + 1)) = uint8(iFreeBlk) @@ -47389,7 +47628,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72206)) + return _sqlite3CorruptError(tls, int32(72595)) } } } else { @@ -47415,7 +47654,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72230)) + return _sqlite3CorruptError(tls, int32(72619)) } } } @@ -47454,12 +47693,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will ** always be at least one cell before the first freeblock. */ - return _sqlite3CorruptError(tls, int32(72281)) + return _sqlite3CorruptError(tls, int32(72670)) } for int32(1) != 0 { if pc > iCellLast { /* Freeblock off the end of the page */ - return _sqlite3CorruptError(tls, int32(72286)) + return _sqlite3CorruptError(tls, int32(72675)) } next = uint32(int32(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) { /* Freeblock not in ascending order */ - return _sqlite3CorruptError(tls, int32(72296)) + return _sqlite3CorruptError(tls, int32(72685)) } if uint32(uint32(pc))+size > uint32(uint32(usableSize)) { /* Last freeblock extends past page end */ - return _sqlite3CorruptError(tls, int32(72300)) + return _sqlite3CorruptError(tls, int32(72689)) } } /* At this point, nFree contains the sum of the offset to the start @@ -47486,7 +47725,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { ** area, according to the page header, lies within the page. */ if nFree > usableSize || nFree < iCellFirst { - return _sqlite3CorruptError(tls, int32(72312)) + return _sqlite3CorruptError(tls, int32(72701)) } (*TMemPage)(unsafe.Pointer(pPage)).FnFree = int32(uint16(nFree - iCellFirst)) return SQLITE_OK @@ -47517,11 +47756,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) { } pc = int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))) if pc < iCellFirst || pc > iCellLast { - return _sqlite3CorruptError(tls, int32(72343)) + return _sqlite3CorruptError(tls, int32(72732)) } sz = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return _sqlite3CorruptError(tls, int32(72348)) + return _sqlite3CorruptError(tls, int32(72737)) } goto _1 _1: @@ -47550,7 +47789,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating ** the b-tree page type. */ if _decodeFlags(tls, pPage, int32(*(*Tu8)(unsafe.Pointer(data)))) != 0 { - return _sqlite3CorruptError(tls, int32(72380)) + return _sqlite3CorruptError(tls, int32(72769)) } (*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1)) (*TMemPage)(unsafe.Pointer(pPage)).FnOverflow = uint8(0) @@ -47563,7 +47802,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FnCell = uint16(int32(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) { /* To many cells for a single page. The page must be corrupt */ - return _sqlite3CorruptError(tls, int32(72394)) + return _sqlite3CorruptError(tls, int32(72783)) } /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only ** possible for a root page of a table that contains no rows) then the @@ -47716,7 +47955,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe _, _ = pPage, rc if pgno > _btreePagecount(tls, pBt) { *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72537)) + return _sqlite3CorruptError(tls, int32(72926)) } rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly) if rc != 0 { @@ -47778,7 +48017,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) { _releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72609)) + return _sqlite3CorruptError(tls, int32(72998)) } (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0) } else { @@ -47866,7 +48105,7 @@ func _sqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt /* Set the variable isMemdb to true for an in-memory database, or ** false for a file-based database. */ - isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4194) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) + isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4258) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) /* flags fit in 8 bits */ /* Only a BTREE_SINGLE database can be BTREE_UNORDERED */ /* A BTREE_SINGLE database is always a temporary and/or ephemeral */ @@ -48652,7 +48891,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { ** The original design allowed these amounts to vary, but as of ** version 3.6.0, we require them to be fixed. */ - if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4203, uint64(3)) != 0 { + if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4267, uint64(3)) != 0 { goto page1_init_failed } /* EVIDENCE-OF: R-51873-39618 The page size for a database file is @@ -48690,7 +48929,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { } if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) { if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 { - rc = _sqlite3CorruptError(tls, int32(73547)) + rc = _sqlite3CorruptError(tls, int32(73936)) goto page1_init_failed } else { nPage = *(*Tu32)(unsafe.Pointer(bp + 8)) @@ -49131,7 +49370,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT if int32(int32(eType)) == int32(PTRMAP_OVERFLOW2) { /* The pointer is always the first 4 bytes of the page in this case. */ if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return _sqlite3CorruptError(tls, int32(73995)) + return _sqlite3CorruptError(tls, int32(74384)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -49155,7 +49394,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74014)) + return _sqlite3CorruptError(tls, int32(74403)) } if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) { _sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo) @@ -49164,7 +49403,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } } else { if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74023)) + return _sqlite3CorruptError(tls, int32(74412)) } if _sqlite3Get4byte(tls, pCell) == iFrom { _sqlite3Put4byte(tls, pCell, iTo) @@ -49178,7 +49417,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } if i == nCell { if int32(int32(eType)) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom { - return _sqlite3CorruptError(tls, int32(74035)) + return _sqlite3CorruptError(tls, int32(74424)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo) } @@ -49208,7 +49447,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP iDbPage = (*TMemPage)(unsafe.Pointer(pDbPage)).Fpgno pPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager if iDbPage < uint32(3) { - return _sqlite3CorruptError(tls, int32(74070)) + return _sqlite3CorruptError(tls, int32(74459)) } /* Move page iDbPage from its current location to page number iFreePage */ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit) @@ -49304,7 +49543,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom return rc } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) { - return _sqlite3CorruptError(tls, int32(74168)) + return _sqlite3CorruptError(tls, int32(74557)) } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) { if bCommit == 0 { @@ -49342,7 +49581,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) - return _sqlite3CorruptError(tls, int32(74220)) + return _sqlite3CorruptError(tls, int32(74609)) } } rc = _relocatePage(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*Tu8)(unsafe.Pointer(bp)), *(*TPgno)(unsafe.Pointer(bp + 4)), *(*TPgno)(unsafe.Pointer(bp + 24)), bCommit) @@ -49409,7 +49648,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) { nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) nFin = _finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = _sqlite3CorruptError(tls, int32(74288)) + rc = _sqlite3CorruptError(tls, int32(74677)) } else { if nFree > uint32(0) { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -49452,7 +49691,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { ** is either a pointer-map page or the pending-byte page. If one ** is encountered, this indicates corruption. */ - return _sqlite3CorruptError(tls, int32(74339)) + return _sqlite3CorruptError(tls, int32(74728)) } nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) db = (*TBtree)(unsafe.Pointer(p)).Fdb @@ -49482,7 +49721,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { } nFin = _finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return _sqlite3CorruptError(tls, int32(74366)) + return _sqlite3CorruptError(tls, int32(74755)) } if nFin < nOrig { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -49948,7 +50187,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo /* Assert that the caller has opened the required transaction. */ if iTable <= uint32(1) { if iTable < uint32(1) { - return _sqlite3CorruptError(tls, int32(74830)) + return _sqlite3CorruptError(tls, int32(75219)) } else { if _btreePagecount(tls, pBt) == uint32(0) { iTable = uint32(0) @@ -50340,7 +50579,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin pBt = (*TBtCursor)(unsafe.Pointer(pCur)).FpBt /* Btree this cursor belongs to */ pBufStart = pBuf /* Start of original out buffer */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(75235)) + return _sqlite3CorruptError(tls, int32(75624)) } _getCellInfo(tls, pCur) aPayload = (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload @@ -50350,7 +50589,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ** but is recast into its current form to avoid integer overflow problems */ - return _sqlite3CorruptError(tls, int32(75250)) + return _sqlite3CorruptError(tls, int32(75639)) } /* Check if data must be read/written to/from the btree page itself. */ if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) { @@ -50378,7 +50617,11 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_ValidOvfl) == 0 { nOvfl = int32(((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload - uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) + ovflSize - uint32(1)) / ovflSize) if (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow == uintptr(0) || nOvfl*libc.Int32FromInt64(4) > _sqlite3MallocSize(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow) { - aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(uint64(nOvfl*int32(2))*uint64(4))) + if _sqlite3FaultSim(tls, int32(413)) != 0 { + aNew = uintptr(0) + } else { + aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(uint64(nOvfl*int32(2))*uint64(4))) + } if aNew == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -50389,6 +50632,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin p1 = pCur + 1 *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(BTCF_ValidOvfl)) } else { + /* Sanity check the validity of the overflow page cache */ /* If the overflow page-list cache has been allocated and the ** entry for the first required overflow page is valid, skip ** directly to it. @@ -50402,7 +50646,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin for *(*TPgno)(unsafe.Pointer(bp)) != 0 { /* If required, populate the overflow page-list cache. */ if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(75312)) + return _sqlite3CorruptError(tls, int32(75710)) } *(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp)) if offset >= ovflSize { @@ -50476,7 +50720,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin } if rc == SQLITE_OK && amt > uint32(0) { /* Overflow chain ends prematurely */ - return _sqlite3CorruptError(tls, int32(75396)) + return _sqlite3CorruptError(tls, int32(75794)) } return rc } @@ -50611,7 +50855,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { var v3, p1 uintptr _, _, _, _ = rc, v2, v3, p1 if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(75534)) + return _sqlite3CorruptError(tls, int32(75932)) } (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) p1 = pCur + 1 @@ -50623,7 +50867,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, newPgno, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(75548)) + rc = _sqlite3CorruptError(tls, int32(75946)) } if rc != 0 { v3 = pCur + 84 @@ -50739,7 +50983,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) { ** in such a way that page pRoot is linked into a second b-tree table ** (or the freelist). */ if int32((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) { - return _sqlite3CorruptError(tls, int32(75683)) + return _sqlite3CorruptError(tls, int32(76081)) } goto skip_init skip_init: @@ -50753,7 +50997,7 @@ skip_init: } else { if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) { if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) { - return _sqlite3CorruptError(tls, int32(75695)) + return _sqlite3CorruptError(tls, int32(76093)) } subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8))) (*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID) @@ -50987,7 +51231,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh break } if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(75937)) + return _sqlite3CorruptError(tls, int32(76342)) } } } @@ -51191,7 +51435,7 @@ func _sqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes p3 = pCur + 1 *(*Tu8)(unsafe.Pointer(p3)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p3))) & ^libc.Int32FromInt32(BTCF_ValidOvfl)) if !((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76133)) + return _sqlite3CorruptError(tls, int32(76538)) } goto bypass_moveto_root /* Start search on the current page */ } @@ -51254,7 +51498,7 @@ bypass_moveto_root: /* Invalid key size: 0x80 0x80 0x01 */ /* Minimum legal index key size */ if nCell < int32(2) || uint32(uint32(nCell))/(*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage { - rc = _sqlite3CorruptError(tls, int32(76220)) + rc = _sqlite3CorruptError(tls, int32(76625)) goto moveto_index_finish } pCellKey = _sqlite3Malloc(tls, uint64(nCell+nOverrun)) @@ -51285,7 +51529,7 @@ bypass_moveto_root: rc = SQLITE_OK (*TBtCursor)(unsafe.Pointer(pCur)).Fix = uint16(uint16(idx)) if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 { - rc = _sqlite3CorruptError(tls, int32(76252)) + rc = _sqlite3CorruptError(tls, int32(76657)) } goto moveto_index_finish } @@ -51318,7 +51562,7 @@ bypass_moveto_root: p9 = pCur + 1 *(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl))) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(76283)) + return _sqlite3CorruptError(tls, int32(76688)) } *(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = uint16(uint16(lwr)) *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage @@ -51327,7 +51571,7 @@ bypass_moveto_root: rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(76294)) + rc = _sqlite3CorruptError(tls, int32(76699)) } if rc != 0 { v11 = pCur + 84 @@ -51376,11 +51620,11 @@ func _sqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) (r Ti64) { var i Tu8 var n Ti64 _, _ = i, n - /* Currently this interface is only called by the OP_IfSmaller - ** opcode, and it that case the cursor will always be valid and - ** will always point to a leaf node. */ + /* Currently this interface is only called by the OP_IfSizeBetween + ** opcode and the OP_Count opcode with P3=1. In either case, + ** the cursor will always be valid unless the btree is empty. */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return int64(-int32(1)) + return 0 } if int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).Fleaf) == 0 { return int64(-int32(1)) @@ -51456,7 +51700,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76395)) + return _sqlite3CorruptError(tls, int32(76800)) } if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { @@ -51566,7 +51810,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76488)) + return _sqlite3CorruptError(tls, int32(76893)) } if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { idx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) @@ -51654,7 +51898,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt ** stores the total number of pages on the freelist. */ n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36) if n >= mxPage { - return _sqlite3CorruptError(tls, int32(76578)) + return _sqlite3CorruptError(tls, int32(76983)) } if n > uint32(0) { searchList = uint8(0) /* If the free-list must be searched for 'nearby' */ @@ -51709,7 +51953,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt nSearch++ } if v2 || v1 > n { - rc = _sqlite3CorruptError(tls, int32(76634)) + rc = _sqlite3CorruptError(tls, int32(77039)) } else { rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0) } @@ -51735,7 +51979,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) { /* Value of k is out of range. Database corruption */ - rc = _sqlite3CorruptError(tls, int32(76663)) + rc = _sqlite3CorruptError(tls, int32(77068)) goto end_allocate_page } else { if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && int32(int32(eMode)) == int32(BTALLOC_LE)) { @@ -51762,7 +52006,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8) if iNewTrunk > mxPage { - rc = _sqlite3CorruptError(tls, int32(76697)) + rc = _sqlite3CorruptError(tls, int32(77102)) goto end_allocate_page } rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0) @@ -51833,7 +52077,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4))) if iPage > mxPage || iPage < uint32(2) { - rc = _sqlite3CorruptError(tls, int32(76762)) + rc = _sqlite3CorruptError(tls, int32(77167)) goto end_allocate_page } if !(searchList != 0) || (iPage == nearby || iPage < nearby && int32(int32(eMode)) == int32(BTALLOC_LE)) { @@ -51971,7 +52215,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in iTrunk = uint32(0) /* Page number of free-list trunk page */ pPage1 = (*TBtShared)(unsafe.Pointer(pBt)).FpPage1 /* Initial number of pages on free-list */ if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(76889)) + return _sqlite3CorruptError(tls, int32(77294)) } if pMemPage != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage @@ -52022,7 +52266,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */ iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32) if iTrunk > _btreePagecount(tls, pBt) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76936)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77341)) goto freepage_out } *(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0) @@ -52031,7 +52275,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in } nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4) if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76947)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77352)) goto freepage_out } if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) { @@ -52121,7 +52365,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp _, _, _, _, _, _, _, _ = nOvfl, ovflPageSize, ovflPgno, pBt, rc, v1, v2, v3 if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { /* Cell extends past end of page */ - return _sqlite3CorruptError(tls, int32(77036)) + return _sqlite3CorruptError(tls, int32(77441)) } ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt @@ -52139,7 +52383,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp /* 0 is not a legal page number and page 1 cannot be an ** overflow page. Therefore if ovflPgno<2 or past the end of the ** file the database must be corrupt. */ - return _sqlite3CorruptError(tls, int32(77053)) + return _sqlite3CorruptError(tls, int32(77458)) } if nOvfl != 0 { rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp) @@ -52162,7 +52406,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp ** caller is iterating through or using in some other way, this ** can be problematic. */ - rc = _sqlite3CorruptError(tls, int32(77073)) + rc = _sqlite3CorruptError(tls, int32(77478)) } else { rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno) } @@ -52383,7 +52627,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { pc = uint32(int32(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77329)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77734)) return } rc = _freeSpace(tls, pPage, uint16(uint16(pc)), uint16(uint16(sz))) @@ -52777,12 +53021,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg sz = *(*Tu16)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FszCell + uintptr(i)*2)) if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) { if uint64(pCell+uintptr(sz)) > uint64(uint64(pEnd)) { - return _sqlite3CorruptError(tls, int32(77718)) + return _sqlite3CorruptError(tls, int32(78123)) } pCell = pTmp + uintptr(int64(int64(pCell))-int64(int64(aData))) } else { if uint64(pCell+uintptr(sz)) > uint64(uint64(pSrcEnd)) && uint64(pCell) < uint64(uint64(pSrcEnd)) { - return _sqlite3CorruptError(tls, int32(77723)) + return _sqlite3CorruptError(tls, int32(78128)) } } pData -= uintptr(sz) @@ -52790,7 +53034,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*Tu8)(unsafe.Pointer(pCellptr + 1)) = uint8(int64(int64(pData)) - int64(int64(aData))) pCellptr += uintptr(2) if pData < pCellptr { - return _sqlite3CorruptError(tls, int32(77729)) + return _sqlite3CorruptError(tls, int32(78134)) } libc.Xmemmove(tls, pData, pCell, uint64(uint64(sz))) i++ @@ -52885,7 +53129,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr ** database. But they might for a corrupt database. Hence use memmove() ** since memcpy() sends SIGABORT with overlapping buffers on OpenBSD */ if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(uint64(pEnd)) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(uint64(pEnd)) { - _sqlite3CorruptError(tls, int32(77814)) + _sqlite3CorruptError(tls, int32(78219)) return int32(1) } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(uint64(sz))) @@ -53033,7 +53277,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p if iOld < iNew { nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray) if nShift > nCell { - return _sqlite3CorruptError(tls, int32(77936)) + return _sqlite3CorruptError(tls, int32(78341)) } libc.Xmemmove(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), uint64(nCell*int32(2))) nCell -= nShift @@ -53104,7 +53348,7 @@ editpage_fail: ; /* Unable to edit this page. Rebuild it from scratch instead. */ if nNew < int32(1) { - return _sqlite3CorruptError(tls, int32(78010)) + return _sqlite3CorruptError(tls, int32(78415)) } _populateCellCache(tls, pCArray, iNew, nNew) return _rebuildPage(tls, pCArray, iNew, nNew, pPg) @@ -53149,7 +53393,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt _, _, _, _, _, _, _ = pBt, pOut, pStop, v1, v2, v3, v4 pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt /* Page number of pNew */ if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return _sqlite3CorruptError(tls, int32(78050)) + return _sqlite3CorruptError(tls, int32(78455)) } /* dbfuzz001.test */ /* Allocate a new page. This page will become the right-sibling of ** pPage. Make the parent page writable, so that the new divider cell @@ -53510,7 +53754,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa ** table-interior, index-leaf, or index-interior). */ if int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78471)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78876)) goto balance_cleanup } /* Load b.apCell[] with pointers to all cells in pOld. If pOld @@ -53533,7 +53777,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa libc.Xmemset(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*uint64(limit+int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow))) if int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 { if limit < int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78495)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78900)) goto balance_cleanup } limit = int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) @@ -53664,7 +53908,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa if i+int32(1) >= k { k = i + int32(2) if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78596)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79001)) goto balance_cleanup } (*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0 @@ -53707,7 +53951,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v10 = 0 } if cntNew[i] <= v10 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78629)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79034)) goto balance_cleanup } } @@ -53766,7 +54010,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v15 = 0 } if cntNew[i-int32(1)] <= v15 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78673)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79078)) goto balance_cleanup } goto _11 @@ -53798,7 +54042,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) nNew++ if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78706)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79111)) } if *(*int32)(unsafe.Pointer(bp)) != 0 { goto balance_cleanup @@ -54028,7 +54272,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa } pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8)) if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78906)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79311)) goto balance_cleanup } *(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno) @@ -54274,7 +54518,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) { break } if pOther != pCur && int32((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage { - return _sqlite3CorruptError(tls, int32(79138)) + return _sqlite3CorruptError(tls, int32(79543)) } goto _1 _1: @@ -54347,7 +54591,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) { /* The page being written is not a root page, and there is currently ** more than one reference to it. This only happens if the page is one ** of its own ancestor pages. Corruption. */ - rc = _sqlite3CorruptError(tls, int32(79198)) + rc = _sqlite3CorruptError(tls, int32(79603)) } else { pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8)) iIdx = int32(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2))) @@ -54506,7 +54750,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int return rc } if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = _sqlite3CorruptError(tls, int32(79362)) + rc = _sqlite3CorruptError(tls, int32(79767)) } else { if uint32(uint32(iOffset))+ovflPageSize < uint32(uint32(nTotal)) { ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData) @@ -54537,7 +54781,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) { nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */ pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */ if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) { - return _sqlite3CorruptError(tls, int32(79390)) + return _sqlite3CorruptError(tls, int32(79795)) } if int32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal { /* The entire cell is local */ @@ -54622,7 +54866,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** Which can only happen if the SQLITE_NoSchemaError flag was set when ** the schema was loaded. This cannot be asserted though, as a user might ** set the flag, load the schema, and then unset the flag. */ - return _sqlite3CorruptError(tls, int32(79471)) + return _sqlite3CorruptError(tls, int32(79876)) } } /* Ensure that the cursor is not in the CURSOR_FAULT state and that it @@ -54714,7 +54958,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) { /* ^^^^^--- due to the moveToRoot() call above */ - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79594)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79999)) } else { *(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage) } @@ -54750,7 +54994,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) if *(*int32)(unsafe.Pointer(bp + 4)) == 0 { if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79636)) + return _sqlite3CorruptError(tls, int32(80041)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -54780,10 +55024,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ /* clearCell never fails when nLocal==nPayload */ if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) { - return _sqlite3CorruptError(tls, int32(79663)) + return _sqlite3CorruptError(tls, int32(80068)) } if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79666)) + return _sqlite3CorruptError(tls, int32(80071)) } libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 8)))) return SQLITE_OK @@ -54901,7 +55145,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79768)) + return _sqlite3CorruptError(tls, int32(80173)) } nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -54923,7 +55167,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T } if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79793)) + return _sqlite3CorruptError(tls, int32(80198)) } ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -55023,21 +55267,21 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { return *(*int32)(unsafe.Pointer(bp)) } } else { - return _sqlite3CorruptError(tls, int32(79889)) + return _sqlite3CorruptError(tls, int32(80294)) } } iCellDepth = int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) iCellIdx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return _sqlite3CorruptError(tls, int32(79898)) + return _sqlite3CorruptError(tls, int32(80303)) } pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx)))))) if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 && _btreeComputeFreeSpace(tls, pPage) != 0 { - return _sqlite3CorruptError(tls, int32(79902)) + return _sqlite3CorruptError(tls, int32(80307)) } if pCell < (*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79905)) + return _sqlite3CorruptError(tls, int32(80310)) } /* If the BTREE_SAVEPOSITION bit is on, then the cursor position must ** be preserved following this delete operation. If the current delete @@ -55131,7 +55375,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { } pCell = (*TMemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(int32(2)*(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FnCell)-int32(1)))))))) if pCell < (*TMemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return _sqlite3CorruptError(tls, int32(79996)) + return _sqlite3CorruptError(tls, int32(80401)) } nCell = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pLeaf)).FxCellSize})))(tls, pLeaf, pCell)) pTmp = (*TBtShared)(unsafe.Pointer(pBt)).FpTmpSpace @@ -55241,7 +55485,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags */ _sqlite3BtreeGetMeta(tls, p, int32(BTREE_LARGEST_ROOT_PAGE), bp+8) if *(*TPgno)(unsafe.Pointer(bp + 8)) > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80112)) + return _sqlite3CorruptError(tls, int32(80517)) } *(*TPgno)(unsafe.Pointer(bp + 8))++ /* The new root-page may not be allocated on a pointer-map page, or the @@ -55282,7 +55526,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36) if int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) { - *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80160)) + *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80565)) } if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -55363,14 +55607,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int var _ /* rc at bp+8 */ int32 _, _, _, _ = hdr, i, pCell, v2 if pgno > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80250)) + return _sqlite3CorruptError(tls, int32(80655)) } *(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0) if *(*int32)(unsafe.Pointer(bp + 8)) != 0 { return *(*int32)(unsafe.Pointer(bp + 8)) } if int32((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80257)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80662)) goto cleardatabasepage_out } hdr = int32((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset) @@ -55507,7 +55751,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) pBt = (*TBtree)(unsafe.Pointer(p)).FpBt if iTable > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80361)) + return _sqlite3CorruptError(tls, int32(80766)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, int32(int32(iTable)), uintptr(0)) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -55772,7 +56016,7 @@ func _checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4207, int32(1)) + Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4271, int32(1)) } if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, pCheck+72, (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp+8, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv0, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -55820,11 +56064,11 @@ func _checkRef(tls *libc.TLS, pCheck uintptr, iPage TPgno) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if iPage > (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnCkPage || iPage == uint32(0) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4209, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4273, libc.VaList(bp+8, iPage)) return int32(1) } if _getPageReferenced(tls, pCheck, iPage) != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4232, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4296, libc.VaList(bp+8, iPage)) return int32(1) } _setPageReferenced(tls, pCheck, iPage) @@ -55850,11 +56094,11 @@ func _checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild TPgno, eType Tu8, iParen if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< (*TBtShared)(unsafe.Pointer((*TIntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize/uint32(4)-uint32(2) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4362, libc.VaList(bp+16, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4426, libc.VaList(bp+16, iPage)) N-- } else { i = 0 @@ -55926,11 +56170,11 @@ func _checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage TPgno, N } if N != 0 && nErrAtStart == (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr { if isFreeList != 0 { - v2 = __ccgo_ts + 4401 + v2 = __ccgo_ts + 4465 } else { - v2 = __ccgo_ts + 4406 + v2 = __ccgo_ts + 4470 } - _checkAppendMsg(tls, pCheck, __ccgo_ts+4427, libc.VaList(bp+16, v2, expected-N, expected)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4491, libc.VaList(bp+16, v2, expected-N, expected)) } } @@ -56066,12 +56310,12 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr if _checkRef(tls, pCheck, iPage) != 0 { return 0 } - (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4453 + (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4517 (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage v1 = _btreeGetPage(tls, pBt, iPage, bp+8, 0) rc = v1 if v1 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4471, libc.VaList(bp+56, rc)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4535, libc.VaList(bp+56, rc)) if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< usableSize-uint32(4) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4625, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4689, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) doCoverageCheck = 0 goto _4 } pCell = data + uintptr(pc) (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FxParseCell})))(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), pCell, bp+24) if pc+uint32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnSize) > usableSize { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4655, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4719, 0) doCoverageCheck = 0 goto _4 } @@ -56153,7 +56400,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr v5 = libc.BoolInt32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey >= *(*Ti64)(unsafe.Pointer(bp))) } if v5 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4679, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4743, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) } *(*Ti64)(unsafe.Pointer(bp)) = (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey keyCanBeEqual = 0 /* Only the first key on the page may ==maxKey */ @@ -56176,7 +56423,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr d2 = _checkTreePage(tls, pCheck, uint32(uint32(pgno)), bp, *(*Ti64)(unsafe.Pointer(bp))) keyCanBeEqual = 0 if d2 != depth { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4703, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4767, 0) depth = d2 } } else { @@ -56253,7 +56500,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr prev = contentOffset - uint32(1) /* Implied first min-heap entry */ for _btreeHeapPull(tls, heap, bp+16) != 0 { if prev&uint32(0xffff) >= *(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4728, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4792, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) break } else { nFrag = int32(uint32(nFrag) + (*(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) - prev&libc.Uint32FromInt32(0xffff) - libc.Uint32FromInt32(1))) @@ -56267,7 +56514,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr ** number of fragmented free bytes within the cell content area. */ if *(*Tu32)(unsafe.Pointer(heap)) == uint32(0) && nFrag != int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4765, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4829, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) } } goto end_of_check @@ -56307,16 +56554,16 @@ end_of_check: // ** the unverified btrees. Except, if aRoot[1] is 1, then the freelist // ** checks are still performed. // */ -func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { - bp := tls.Alloc(256) - defer tls.Free(256) +func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, aCnt uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { + bp := tls.Alloc(272) + defer tls.Free(272) var bCkFreelist, bPartial int32 var i, mx, mxInHdr TPgno var pBt uintptr var savedDbFlags Tu64 - var _ /* notUsed at bp+224 */ Ti64 + var _ /* notUsed at bp+232 */ Ti64 var _ /* sCheck at bp+0 */ TIntegrityCk - var _ /* zErr at bp+120 */ [100]int8 + var _ /* zErr at bp+128 */ [100]int8 _, _, _, _, _, _, _ = bCkFreelist, bPartial, i, mx, mxInHdr, pBt, savedDbFlags pBt = (*TBtree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Tsqlite3)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags @@ -56330,13 +56577,13 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } } _sqlite3BtreeEnter(tls, p) - libc.Xmemset(tls, bp, 0, uint64(120)) + libc.Xmemset(tls, bp, 0, uint64(128)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fdb = db (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt = pBt (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage = _btreePagecount(tls, (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr = mxErr - _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+120, int32(100), int32(SQLITE_MAX_LENGTH)) + _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+128, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FerrMsg.FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage == uint32(0) { goto integrity_ck_cleanup @@ -56358,7 +56605,7 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin /* Check the integrity of the freelist */ if bCkFreelist != 0 { - (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4817 + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4881 _checkList(tls, bp, int32(1), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = uintptr(0) } @@ -56382,11 +56629,11 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } mxInHdr = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+52) if mx != mxInHdr { - _checkAppendMsg(tls, bp, __ccgo_ts+4828, libc.VaList(bp+240, mx, mxInHdr)) + _checkAppendMsg(tls, bp, __ccgo_ts+4892, libc.VaList(bp+248, mx, mxInHdr)) } } else { if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64) != uint32(0) { - _checkAppendMsg(tls, bp, __ccgo_ts+4873, 0) + _checkAppendMsg(tls, bp, __ccgo_ts+4937, 0) } } } @@ -56396,14 +56643,15 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin if !(int32(int32(i)) < nRoot && (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr != 0) { break } - if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == uint32(0) { - goto _2 - } - if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { - _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnRow = 0 + if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) != 0 { + if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { + _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + } + (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fv0 = *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) + _checkTreePage(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+232, libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)< nRec || iHdr >= *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84303)) + iHdr = uint32(uint8(v1)) + if *(*Tu32)(unsafe.Pointer(bp + 4)) > uint32(uint32(nRec)) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84745)) } - iField = *(*int32)(unsafe.Pointer(bp + 4)) + iField = int64(*(*Tu32)(unsafe.Pointer(bp + 4))) i = 0 for { if !(i <= iCol) { @@ -59396,19 +59675,19 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC } else { v3 = int32(_sqlite3GetVarint32(tls, a+uintptr(iHdr), bp)) } - iHdr += int32(uint8(v3)) - if iHdr > *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84309)) + iHdr += uint32(uint8(v3)) + if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84751)) } - szField = int32(_sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))) - iField += szField + szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp))) + iField += int64(int64(szField)) goto _2 _2: ; i++ } - if iField > nRec { - return _sqlite3CorruptError(tls, int32(84315)) + if iField > int64(int64(nRec)) { + return _sqlite3CorruptError(tls, int32(84757)) } if pMem == uintptr(0) { v4 = _sqlite3ValueNew(tls, db) @@ -59418,7 +59697,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return int32(SQLITE_NOMEM) } } - _sqlite3VdbeSerialGet(tls, a+uintptr(iField-szField), *(*Tu32)(unsafe.Pointer(bp)), pMem) + _sqlite3VdbeSerialGet(tls, a+uintptr(iField-int64(int64(szField))), *(*Tu32)(unsafe.Pointer(bp)), pMem) (*TMem)(unsafe.Pointer(pMem)).Fenc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc return SQLITE_OK } @@ -60205,6 +60484,9 @@ func _resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* True because of tag-20230419-1 */ (*TOp)(unsafe.Pointer(pOp)).Fp2 = *(*int32)(unsafe.Pointer(aLabel + uintptr(^(*TOp)(unsafe.Pointer(pOp)).Fp2)*4)) } + /* OPFLG_JUMP opcodes never have P2==0, though OPFLG_JUMP0 opcodes + ** might */ + /* Jumps never go off the end of the bytecode array */ break } /* The mkopcodeh.tcl script has so arranged things that the only @@ -60717,7 +60999,7 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { switch int32((*TOp)(unsafe.Pointer(pOp)).Fp4type) { case -int32(8): pKeyInfo = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5085, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5149, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) j = 0 for { if !(j < int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)) { @@ -60727,66 +61009,66 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { if pColl != 0 { v2 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v2 = __ccgo_ts + 1652 + v2 = __ccgo_ts + 1666 } zColl = v2 - if libc.Xstrcmp(tls, zColl, __ccgo_ts+5090) == 0 { - zColl = __ccgo_ts + 5097 + if libc.Xstrcmp(tls, zColl, __ccgo_ts+5154) == 0 { + zColl = __ccgo_ts + 5161 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_DESC) != 0 { - v3 = __ccgo_ts + 5078 + v3 = __ccgo_ts + 5142 } else { - v3 = __ccgo_ts + 1652 + v3 = __ccgo_ts + 1666 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_BIGNULL) != 0 { - v4 = __ccgo_ts + 5099 + v4 = __ccgo_ts + 5163 } else { - v4 = __ccgo_ts + 1652 + v4 = __ccgo_ts + 1666 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5102, libc.VaList(bp+40, v3, v4, zColl)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5166, libc.VaList(bp+40, v3, v4, zColl)) goto _1 _1: ; j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5110, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5174, int32(1)) case -int32(2): pColl1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5126, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5190, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) case -int32(7): pDef = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5135, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5199, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) case -int32(15): pDef1 = (*Tsqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpFunc - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5135, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5199, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) case -int32(13): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1408, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1427, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(3): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5142, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5206, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) case -int32(12): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1375, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1394, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(10): pMem = *(*uintptr)(unsafe.Pointer(pOp + 16)) if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Str) != 0 { zP4 = (*TMem)(unsafe.Pointer(pMem)).Fz } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1408, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1427, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1375, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1394, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Null) != 0 { - zP4 = __ccgo_ts + 1653 + zP4 = __ccgo_ts + 1667 } else { - zP4 = __ccgo_ts + 5145 + zP4 = __ccgo_ts + 5209 } } } } case -int32(11): pVtab = (*TVTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpVtab - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5152, libc.VaList(bp+40, pVtab)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5216, libc.VaList(bp+40, pVtab)) case -int32(14): ai = *(*uintptr)(unsafe.Pointer(pOp + 16)) n = *(*Tu32)(unsafe.Pointer(ai)) /* The first element of an INTARRAY is always the @@ -60801,15 +61083,15 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } else { v6 = int32(',') } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5160, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5224, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) goto _5 _5: ; i++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5165, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5229, int32(1)) case -int32(4): - zP4 = __ccgo_ts + 5167 + zP4 = __ccgo_ts + 5231 case -int32(5): zP4 = (*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FzName default: @@ -60825,10 +61107,10 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } var _encnames = [4]uintptr{ - 0: __ccgo_ts + 5112, - 1: __ccgo_ts + 5114, - 2: __ccgo_ts + 5116, - 3: __ccgo_ts + 5121, + 0: __ccgo_ts + 5176, + 1: __ccgo_ts + 5178, + 2: __ccgo_ts + 5180, + 3: __ccgo_ts + 5185, } // C documentation @@ -61779,7 +62061,7 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { retryCount = 0 /* Select a super-journal file name */ nMainFile = _sqlite3Strlen30(tls, zMainFile) - zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5175, libc.VaList(bp+24, 0, zMainFile, 0)) + zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5239, libc.VaList(bp+24, 0, zMainFile, 0)) if zSuper == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -61787,18 +62069,18 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { for cond := true; cond; cond = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8)) != 0 { if retryCount != 0 { if retryCount > int32(100) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5187, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5251, libc.VaList(bp+24, zSuper)) _sqlite3OsDelete(tls, pVfs, zSuper, 0) break } else { if retryCount == int32(1) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5201, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5265, libc.VaList(bp+24, zSuper)) } } } retryCount++ Xsqlite3_randomness(tls, int32(4), bp+12) - Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5216, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) + Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5280, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) /* The antipenultimate character of the super-journal name must ** be "9" to avoid name collisions when using 8+3 filenames. */ rc = _sqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+8) @@ -62029,7 +62311,7 @@ func _sqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) (r int32) { if deferred != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > 0 || !(deferred != 0) && (*TVdbe)(unsafe.Pointer(p)).FnFkConstraint > 0 { (*TVdbe)(unsafe.Pointer(p)).Frc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(3)< y { return +libc.Int32FromInt32(1) } - s = float64(float64(i)) - if s < r { + if float64(float64(i)) < r { v2 = -int32(1) } else { - v2 = libc.BoolInt32(s > r) + v2 = libc.BoolInt32(float64(float64(i)) > r) } return v2 } @@ -63338,7 +63619,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(uint32(nKey1)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89131))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89580))) return 0 /* Corruption */ } /* Only needed by assert() statements */ @@ -63428,7 +63709,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr pKeyInfo = v4 } if v5 || int32((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89212))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89661))) return 0 /* Corruption */ } else { if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { @@ -63463,7 +63744,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } else { nStr = int32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2)) if d1+uint32(uint32(nStr)) > uint32(uint32(nKey1)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89242))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89691))) return 0 /* Corruption */ } else { if int32((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 { @@ -63517,7 +63798,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } idx1 += uint32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68))))) if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89293))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89742))) return 0 /* Corrupt index */ } } @@ -63649,7 +63930,7 @@ vrcs_restart: szHdr = int32(*(*Tu8)(unsafe.Pointer(aKey1))) nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2) if szHdr+nStr > nKey1 { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89456))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89905))) return 0 /* Corruption */ } if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr { @@ -63801,7 +64082,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr idx_rowid_corruption: ; _sqlite3VdbeMemReleaseMalloc(tls, bp+8) - return _sqlite3CorruptError(tls, int32(89614)) + return _sqlite3CorruptError(tls, int32(90063)) } // C documentation @@ -63832,7 +64113,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked ** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */ if nCellKey <= 0 || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return _sqlite3CorruptError(tls, int32(89647)) + return _sqlite3CorruptError(tls, int32(90096)) } _sqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, uint32(uint32(nCellKey)), bp) @@ -63983,15 +64264,15 @@ func _sqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) (r int32) { pOp = (*TVdbe)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe)).FaOp + uintptr((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FiOp)*24 if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fopcode) == int32(OP_PureFunc) { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_IsCheck) != 0 { - zContext = __ccgo_ts + 5259 + zContext = __ccgo_ts + 5323 } else { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_GenCol) != 0 { - zContext = __ccgo_ts + 5278 + zContext = __ccgo_ts + 5342 } else { - zContext = __ccgo_ts + 5297 + zContext = __ccgo_ts + 5361 } } - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5306, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5370, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) return 0 @@ -64165,7 +64446,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) (r int32) { // */ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { if (*TVdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5342, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5406, 0) return int32(1) } else { return 0 @@ -64175,7 +64456,7 @@ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { func _vdbeSafetyNotNull(tls *libc.TLS, p uintptr) (r int32) { if p == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5387, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5451, 0) return int32(1) } else { return _vdbeSafety(tls, p) @@ -64233,7 +64514,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt db = (*TVdbe)(unsafe.Pointer(v)).Fdb if _vdbeSafety(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90035)) + return _sqlite3MisuseError(tls, int32(90484)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 { @@ -64736,7 +65017,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { // /* Force an SQLITE_TOOBIG error. */ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FisError = int32(SQLITE_TOOBIG) - _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5427, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) + _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5491, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) } // C documentation @@ -64937,7 +65218,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt /* the prepared statement */ cnt = 0 /* The database connection */ if _vdbeSafetyNotNull(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90829)) + return _sqlite3MisuseError(tls, int32(91278)) } db = (*TVdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) @@ -65067,7 +65348,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32 _, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1 *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) if pVal == uintptr(0) { - return _sqlite3MisuseError(tls, int32(90950)) + return _sqlite3MisuseError(tls, int32(91399)) } if int32((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) { return int32(SQLITE_ERROR) @@ -65527,18 +65808,18 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) (r int32) { // ** Column names appropriate for EXPLAIN or EXPLAIN QUERY PLAN. // */ var _azExplainColNames8 = [12]uintptr{ - 0: __ccgo_ts + 5450, - 1: __ccgo_ts + 5455, - 2: __ccgo_ts + 5462, - 3: __ccgo_ts + 5465, - 4: __ccgo_ts + 5468, - 5: __ccgo_ts + 5471, - 6: __ccgo_ts + 5474, - 7: __ccgo_ts + 5477, - 8: __ccgo_ts + 5485, - 9: __ccgo_ts + 5488, - 10: __ccgo_ts + 5495, - 11: __ccgo_ts + 5503, + 0: __ccgo_ts + 5514, + 1: __ccgo_ts + 5519, + 2: __ccgo_ts + 5526, + 3: __ccgo_ts + 5529, + 4: __ccgo_ts + 5532, + 5: __ccgo_ts + 5535, + 6: __ccgo_ts + 5538, + 7: __ccgo_ts + 5541, + 8: __ccgo_ts + 5549, + 9: __ccgo_ts + 5552, + 10: __ccgo_ts + 5559, + 11: __ccgo_ts + 5567, } var _azExplainColNames16data = [60]Tu16{ 0: uint16('a'), @@ -65782,14 +66063,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) { var v2 bool _, _, _ = pVar, v1, v2 if _vdbeSafetyNotNull(tls, p) != 0 { - return _sqlite3MisuseError(tls, int32(91554)) + return _sqlite3MisuseError(tls, int32(92003)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if int32((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) { - _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(91558))) + _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(92007))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5510, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) - return _sqlite3MisuseError(tls, int32(91562)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5574, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) + return _sqlite3MisuseError(tls, int32(92011)) } if i >= uint32((*TVdbe)(unsafe.Pointer(p)).FnVar) { _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE)) @@ -66353,7 +66634,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp /* Test that this call is being made from within an SQLITE_DELETE or ** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */ if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) { - rc = _sqlite3MisuseError(tls, int32(92098)) + rc = _sqlite3MisuseError(tls, int32(92547)) goto preupdate_old_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 { @@ -66483,7 +66764,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp rc = SQLITE_OK p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) { - rc = _sqlite3MisuseError(tls, int32(92221)) + rc = _sqlite3MisuseError(tls, int32(92670)) goto preupdate_new_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) { @@ -66657,7 +66938,7 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr break } } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5550, int32(3)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5614, int32(3)) Xsqlite3_str_append(tls, bp+8, zStart, int32(int64(int64(zRawSql))-int64(int64(zStart)))) } } else { @@ -66689,13 +66970,13 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr nextIndex = v2 pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(*(*int32)(unsafe.Pointer(bp))-int32(1))*56 if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1653, int32(4)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1667, int32(4)) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1408, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1427, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5071, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5135, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Str) != 0 { /* Number of bytes of the string text to include in output */ enc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc @@ -66710,28 +66991,28 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr pVar = bp + 40 } nOut = (*TMem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5554, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5618, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) if int32(int32(enc)) != int32(SQLITE_UTF8) { _sqlite3VdbeMemRelease(tls, bp+40) } } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5561, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5625, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) } else { /* Number of bytes of the blob to include in output */ - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5574, int32(2)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5638, int32(2)) nOut1 = (*TMem)(unsafe.Pointer(pVar)).Fn i = 0 for { if !(i < nOut1) { break } - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5577, libc.VaList(bp+104, int32(*(*int8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5641, libc.VaList(bp+104, int32(*(*int8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) goto _3 _3: ; i++ } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5582, int32(1)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5646, int32(1)) } } } @@ -67331,7 +67612,7 @@ var _azTypes = [5]uintptr{ 1: __ccgo_ts + 1148, 2: __ccgo_ts + 1153, 3: __ccgo_ts + 1131, - 4: __ccgo_ts + 1653, + 4: __ccgo_ts + 1667, } // C documentation @@ -67345,7 +67626,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { defer tls.Free(976) var aCol, aMem, aOffset, aOp, aPermute, aRoot, apArg, apArg1, db, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pnErr, t1, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v240, v241, v242, v250, v251, v252, v253, v255, v263, v278, v279, v286, v288, v297, v298, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 uintptr var affinity int8 - var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 + var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, savedAnalysisLimit, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 var colCacheCtr, iAddr, iMap, iPrior, idx, len11, n3, p22, p23, serialType, serial_type, v213, v214, v216, v221, v222 Tu32 var encoding, isWriteLock, mTrace, op, p5, resetSchemaOnFault, vtabOnConflict, v225 Tu8 var flags1, flags11, flags2, flags3, flags31, newType, nullFlag, type1, type2, typeMask, v190 Tu16 @@ -67402,7 +67683,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { var _ /* z at bp+688 */ uintptr var _ /* zErr at bp+632 */ uintptr var _ /* zErr at bp+792 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, savedAnalysisLimit, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 aOp = (*TVdbe)(unsafe.Pointer(p)).FaOp /* Copy of p->aOp */ pOp = aOp /* Current operation */ rc = SQLITE_OK /* Value to return */ @@ -67672,7 +67953,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto _109 case int32(OP_SeekEnd): goto _110 - case int32(OP_IfSmaller): + case int32(OP_IfSizeBetween): goto _111 case int32(OP_Sort): goto _112 @@ -67966,7 +68247,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: EndCoroutine */ _5: - ; /* jump */ + ; /* jump0 */ pOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 *(*Ti64)(unsafe.Pointer(pOut)) = int64((*TOp)(unsafe.Pointer(pOp)).Fp3 - int32(1)) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Int) @@ -67986,7 +68267,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** ** The instruction at the address in register P1 is a Yield. ** Jump to the P2 parameter of that Yield. - ** After the jump, register P1 becomes undefined. + ** After the jump, the value register P1 is left with a value + ** such that subsequent OP_Yields go back to the this same + ** OP_EndCoroutine instruction. ** ** See also: InitCoroutine */ @@ -67994,8 +68277,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ; pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 pCaller = aOp + uintptr(*(*Ti64)(unsafe.Pointer(pIn1)))*24 + *(*Ti64)(unsafe.Pointer(pIn1)) = int64(int32((int64(int64(pOp))-int64((*TVdbe)(unsafe.Pointer(p)).FaOp))/24) - int32(1)) pOp = aOp + uintptr((*TVdbeOp)(unsafe.Pointer(pCaller)).Fp2-int32(1))*24 - (*TMem)(unsafe.Pointer(pIn1)).Fflags = uint16(MEM_Undefined) goto _187 /* Opcode: Yield P1 P2 * * * ** @@ -68091,15 +68374,15 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TVdbe)(unsafe.Pointer(p)).FerrorAction = uint8((*TOp)(unsafe.Pointer(pOp)).Fp2) if (*TVdbe)(unsafe.Pointer(p)).Frc != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+5618, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) + _sqlite3VdbeError(tls, p, __ccgo_ts+5682, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) if *(*uintptr)(unsafe.Pointer(pOp + 16)) != 0 { - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5639, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5703, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } } else { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } pcx = int32((int64(int64(pOp)) - int64(int64(aOp))) / 24) - Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5646, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5710, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) } rc = _sqlite3VdbeHalt(tls, p) if rc == int32(SQLITE_BUSY) { @@ -68290,13 +68573,10 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } (*TMem)(unsafe.Pointer(pOut)).Fenc = encoding goto _187 - /* Opcode: Variable P1 P2 * P4 * - ** Synopsis: r[P2]=parameter(P1,P4) + /* Opcode: Variable P1 P2 * * * + ** Synopsis: r[P2]=parameter(P1) ** ** Transfer the values of bound parameter P1 into register P2 - ** - ** If the parameter is named, then its name appears in P4. - ** The P4 value is used by sqlite3_bind_parameter_name(). */ _19: ; /* Value being transferred */ @@ -68819,7 +69099,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** raise an SQLITE_MISMATCH exception. */ _38: - ; /* jump, in1 */ + ; /* jump0, in1 */ pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 if int32((*TMem)(unsafe.Pointer(pIn1)).Fflags)&int32(MEM_Int) == 0 { _applyAffinity(tls, pIn1, int8(SQLITE_AFF_NUMERIC), encoding) @@ -69824,7 +70104,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24 goto _187 } else { - rc = _sqlite3CorruptError(tls, int32(95863)) + rc = _sqlite3CorruptError(tls, int32(96311)) goto abort_due_to_error } /* Opcode: TypeCheck P1 P2 P3 P4 * @@ -69927,7 +70207,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_type_error vdbe_type_error: ; - _sqlite3VdbeError(tls, p, __ccgo_ts+5670, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) + _sqlite3VdbeError(tls, p, __ccgo_ts+5734, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(12)< 0 && p12 == int32(SAVEPOINT_RELEASE) { /* It is not possible to release (commit) a savepoint if there are ** active write statements. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5784, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5848, 0) rc = int32(SQLITE_BUSY) } else { /* Determine whether or not this is a transaction savepoint. If so, @@ -70523,7 +70803,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If this instruction implements a COMMIT and other VMs are writing ** return an error indicating that the other VMs must complete first. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5838, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5902, 0) rc = int32(SQLITE_BUSY) goto abort_due_to_error } else { @@ -70553,12 +70833,12 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_return } else { if !(desiredAutoCommit != 0) { - v250 = __ccgo_ts + 5893 + v250 = __ccgo_ts + 5957 } else { if iRollback != 0 { - v251 = __ccgo_ts + 5941 + v251 = __ccgo_ts + 6005 } else { - v251 = __ccgo_ts + 5984 + v251 = __ccgo_ts + 6048 } v250 = v251 } @@ -70650,7 +70930,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** SQL statement was prepared. */ _sqlite3DbFree(tls, db, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg) - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6025) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6089) /* If the schema-cookie from the database file matches the cookie ** stored with the in-memory representation of the schema, do ** not reload the schema from the database file. @@ -70968,7 +71248,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** form sqlite3BtreeInsert() where the length of the data is zero. */ /* Only used when number of columns is zero */ (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fn = 0 - (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1652 + (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1666 } pCx1 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) if pCx1 != 0 && !(int32(TBool(*(*uint8)(unsafe.Pointer(pCx1 + 8))&0x8>>3)) != 0) && (*TOp)(unsafe.Pointer(pOp)).Fp2 <= int32((*TVdbeCursor)(unsafe.Pointer(pCx1)).FnField) { @@ -71073,7 +71353,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** is the only cursor opcode that works with a pseudo-table. ** ** P3 is the number of fields in the records that will be stored by - ** the pseudo-table. + ** the pseudo-table. If P2 is 0 or negative then the pseudo-cursor + ** will return NULL for every column. */ _83: ; @@ -71191,11 +71472,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: Found, NotFound, SeekGt, SeekGe, SeekLt */ _88: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _87: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _86: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _85: ; /* Only interested in == results */ pC5 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -71756,7 +72037,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TVdbeCursor)(unsafe.Pointer(pC10)).FseekResult = *(*int32)(unsafe.Pointer(bp + 248)) if *(*int32)(unsafe.Pointer(bp + 248)) != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 { - rc = _sqlite3CorruptError(tls, int32(98111)) + rc = _sqlite3CorruptError(tls, int32(98565)) } else { goto jump_to_p2 } @@ -72356,10 +72637,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } goto _187 - /* Opcode: IfSmaller P1 P2 P3 * * + /* Opcode: IfSizeBetween P1 P2 P3 P4 * + ** + ** Let N be the approximate number of rows in the table or index + ** with cursor P1 and let X be 10*log2(N) if N is positive or -1 + ** if N is zero. ** - ** Estimate the number of rows in the table P1. Jump to P2 if that - ** estimate is less than approximately 2**(0.1*P3). + ** Jump to P2 if X is in between P3 and P4, inclusive. */ _111: ; @@ -72369,12 +72653,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { goto abort_due_to_error } - if *(*int32)(unsafe.Pointer(bp + 396)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { + sz = int64(-int32(1)) /* -Infinity encoding */ + } else { sz = _sqlite3BtreeRowCountEst(tls, pCrsr5) - if sz >= 0 && int32(_sqlite3LogEst(tls, uint64(uint64(sz)))) < (*TOp)(unsafe.Pointer(pOp)).Fp3 { - *(*int32)(unsafe.Pointer(bp + 396)) = int32(1) - } + sz = int64(_sqlite3LogEst(tls, uint64(uint64(sz)))) } + *(*int32)(unsafe.Pointer(bp + 396)) = libc.BoolInt32(sz >= int64((*TOp)(unsafe.Pointer(pOp)).Fp3) && sz <= int64((*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { goto jump_to_p2 } @@ -72643,7 +72928,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } else { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) { - rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) { - rc = _sqlite3CorruptError(tls, int32(99398)) + rc = _sqlite3CorruptError(tls, int32(99862)) goto abort_due_to_error } _sqlite3VdbeMemInit(tls, bp+552, db, uint16(0)) @@ -72940,11 +73225,18 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } *(*Ti64)(unsafe.Pointer(pOut)) = int64(*(*TPgno)(unsafe.Pointer(bp + 624))) goto _187 - /* Opcode: SqlExec * * * P4 * + /* Opcode: SqlExec P1 P2 * P4 * ** ** Run the SQL statement or statements specified in the P4 string. - ** Disable Auth and Trace callbacks while those statements are running if - ** P1 is true. + ** + ** The P1 parameter is a bitmask of options: + ** + ** 0x0001 Disable Auth and Trace callbacks while the statements + ** in P4 are running. + ** + ** 0x0002 Set db->nAnalysisLimit to P2 while the statements in + ** P4 are running. + ** */ _132: ; @@ -72952,16 +73244,21 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*uintptr)(unsafe.Pointer(bp + 632)) = uintptr(0) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth mTrace = (*Tsqlite3)(unsafe.Pointer(db)).FmTrace - if (*TOp)(unsafe.Pointer(pOp)).Fp1 != 0 { + savedAnalysisLimit = (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0001) != 0 { (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(0) } + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0002) != 0 { + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (*TOp)(unsafe.Pointer(pOp)).Fp2 + } rc = Xsqlite3_exec(tls, db, *(*uintptr)(unsafe.Pointer(pOp + 16)), uintptr(0), uintptr(0), bp+632) (*Tsqlite3)(unsafe.Pointer(db)).FnSqlExec-- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = mTrace + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = savedAnalysisLimit if *(*uintptr)(unsafe.Pointer(bp + 632)) != 0 || rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 632))) if rc == int32(SQLITE_NOMEM) { goto no_mem @@ -72992,13 +73289,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_SchemaChange) libc.SetBitFieldPtr16Uint32(p+200, libc.Uint32FromInt32(0), 0, 0x3) } else { - zSchema = __ccgo_ts + 6070 + zSchema = __ccgo_ts + 6134 (*(*TInitData)(unsafe.Pointer(bp + 640))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 640))).FiDb = iDb3 (*(*TInitData)(unsafe.Pointer(bp + 640))).FpzErrMsg = p + 168 (*(*TInitData)(unsafe.Pointer(bp + 640))).FmInitFlags = uint32(0) (*(*TInitData)(unsafe.Pointer(bp + 640))).FmxPage = _sqlite3BtreeLastPage(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6084, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6148, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -73013,7 +73310,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* The OP_ParseSchema opcode with a non-NULL P4 argument should parse ** at least one SQL statement. Any less than that indicates that ** the sqlite_schema table is corrupt. */ - rc = _sqlite3CorruptError(tls, int32(99678)) + rc = _sqlite3CorruptError(tls, int32(100155)) } _sqlite3DbFreeNN(tls, db, zSql) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) @@ -73079,11 +73376,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* Opcode: IntegrityCk P1 P2 P3 P4 P5 ** ** Do an analysis of the currently open database. Store in - ** register P1 the text of an error message describing any problems. - ** If no problems are found, store a NULL in register P1. + ** register (P1+1) the text of an error message describing any problems. + ** If no problems are found, store a NULL in register (P1+1). ** - ** The register P3 contains one less than the maximum number of allowed errors. - ** At most reg(P3) errors will be reported. + ** The register (P1) contains one less than the maximum number of allowed + ** errors. At most reg(P1) errors will be reported. ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. ** @@ -73099,9 +73396,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ; /* Register keeping track of errors remaining */ nRoot = (*TOp)(unsafe.Pointer(pOp)).Fp2 aRoot = *(*uintptr)(unsafe.Pointer(pOp + 16)) - pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 - pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 - rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) + pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 + pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1+int32(1))*56 + rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, aMem+uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) _sqlite3VdbeMemSetNull(tls, pIn1) if *(*int32)(unsafe.Pointer(bp + 680)) == 0 { } else { @@ -73207,7 +73504,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** P1 contains the address of the memory cell that contains the first memory ** cell in an array of values used as arguments to the sub-program. P2 ** contains the address to jump to if the sub-program throws an IGNORE - ** exception using the RAISE() function. Register P3 contains the address + ** exception using the RAISE() function. P2 might be zero, if there is + ** no possibility that an IGNORE exception will be raised. + ** Register P3 contains the address ** of a memory cell in this (the parent) VM that is used to allocate the ** memory required by the sub-vdbe at runtime. ** @@ -73248,7 +73547,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } if (*TVdbe)(unsafe.Pointer(p)).FnFrame >= *(*int32)(unsafe.Pointer(db + 136 + 10*4)) { rc = int32(SQLITE_ERROR) - _sqlite3VdbeError(tls, p, __ccgo_ts+6127, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6191, 0) goto abort_due_to_error } /* Register pRt is used to store the memory required to save the state @@ -73611,7 +73910,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } /* IMP: R-24505-23230 */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError } if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FskipFlag != 0 { @@ -73667,7 +73966,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3VdbeMemFinalize(tls, pMem3, *(*uintptr)(unsafe.Pointer(pOp + 16))) } if rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) goto abort_due_to_error } _sqlite3VdbeChangeEncoding(tls, pMem3, int32(int32(encoding))) @@ -73746,11 +74045,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeRead > int32(1) { rc = int32(SQLITE_ERROR) if eNew == int32(PAGER_JOURNALMODE_WAL) { - v286 = __ccgo_ts + 6164 + v286 = __ccgo_ts + 6228 } else { - v286 = __ccgo_ts + 6169 + v286 = __ccgo_ts + 6233 } - _sqlite3VdbeError(tls, p, __ccgo_ts+6176, libc.VaList(bp+944, v286)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6240, libc.VaList(bp+944, v286)) goto abort_due_to_error } else { if eOld == int32(PAGER_JOURNALMODE_WAL) { @@ -73903,7 +74202,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { if rc&int32(0xFF) == int32(SQLITE_LOCKED) { z1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - _sqlite3VdbeError(tls, p, __ccgo_ts+6228, libc.VaList(bp+944, z1)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6292, libc.VaList(bp+944, z1)) } goto abort_due_to_error } @@ -74065,7 +74364,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TValueList)(unsafe.Pointer(pRhs)).FpOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 pOut = _out2Prerelease(tls, p, pOp) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null) - _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6257, __ccgo_fp(_sqlite3VdbeValueListFree)) + _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6321, __ccgo_fp(_sqlite3VdbeValueListFree)) goto _187 /* Opcode: VFilter P1 P2 P3 P4 * ** Synopsis: iplan=r[P3] zplan='P4' @@ -74161,7 +74460,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_module)(unsafe.Pointer(pModule4)).FxColumn})))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 48)), bp+800, (*TOp)(unsafe.Pointer(pOp)).Fp2) _sqlite3VtabImportErrmsg(tls, p, pVtab4) if (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) rc = (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError } _sqlite3VdbeChangeEncoding(tls, pDest2, int32(int32(encoding))) @@ -74415,7 +74714,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If the function returned an error, throw an exception */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3799, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3863, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError } _sqlite3VdbeDeleteAuxData(tls, db, p+296, (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FiOp, (*TOp)(unsafe.Pointer(pOp)).Fp1) @@ -74566,7 +74865,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { Xsqlite3_free(tls, z2) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeExec > int32(1) { - z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6267, libc.VaList(bp+944, zTrace)) + z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6331, libc.VaList(bp+944, zTrace)) (*(*func(*libc.TLS, Tu32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(&(*Tsqlite3)(unsafe.Pointer(db)).Ftrace))})))(tls, uint32(SQLITE_TRACE_STMT), (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) _sqlite3DbFree(tls, db, z3) } else { @@ -74638,15 +74937,15 @@ abort_due_to_error: rc = int32(SQLITE_NOMEM) } else { if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)<op on success */ - pTab = uintptr(0) /* A column of pTab */ - *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, cntTab, db, eNewExprOp, hCol, hCol1, hit, i, iCol, j, nSubquery, op, pCol, pEList, pItem, pMatch, pOrig, pSchema, pSrcList, pTab, pTopNC, pUpsert, zAs, zCol, zErr, v10, v5, v7, v8 /* Loop counters */ + cnt = 0 /* Number of matching column names */ + cntTab = 0 /* Number of potential "rowid" matches */ + nSubquery = 0 /* How many levels of subquery */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Use for looping over pSrcList items */ + pMatch = uintptr(0) /* The matching pSrcList item */ + pTopNC = pNC /* First namecontext in the list */ + pSchema = uintptr(0) /* Schema of the expression */ + eNewExprOp = int32(TK_COLUMN) /* New value for pExpr->op on success */ + pTab = uintptr(0) /* A column of pTab */ + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + zCol = *(*uintptr)(unsafe.Pointer(pRight + 8)) /* the name context cannot be NULL. */ /* The Z in X.Y.Z cannot be NULL */ /* Initialize the node to no-match */ @@ -79531,7 +79831,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ; i++ } - if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6589, zDb) == 0 { + if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6653, zDb) == 0 { /* This branch is taken when the main database has been renamed ** using SQLITE_DBCONFIG_MAINDBNAME. */ pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema @@ -79624,7 +79924,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TTable)(unsafe.Pointer(pTab)).FpSchema != pSchema { goto _2 } - if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6594) != 0 { + if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6658) != 0 { goto _2 } } @@ -79736,16 +80036,16 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != uintptr(0) { op = int32((*TParse)(unsafe.Pointer(pParse)).FeTriggerOp) if (*TParse)(unsafe.Pointer(pParse)).FbReturning != 0 { - if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0) { + if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0 || _isValidSchemaTableName(tls, zTab, (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab, uintptr(0)) != 0) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = libc.BoolInt32(op != int32(TK_DELETE)) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } } else { - if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6596, zTab) == 0 { + if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6660, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(1) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } else { - if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6600, zTab) == 0 { + if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6664, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = 0 pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } @@ -79754,7 +80054,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UUpsert) != 0 && zTab != uintptr(0) { pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16)) - if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6604, zTab) == 0 { + if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6668, zTab) == 0 { pTab = (*(*TSrcItem)(unsafe.Pointer((*TUpsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8))).FpTab (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(EXCLUDED_TABLE_NUMBER) } @@ -79870,15 +80170,15 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if int32(uint32(*(*uint16)(unsafe.Pointer(pEList + 8 + uintptr(j)*32 + 16 + 4))&0x3>>0)) == ENAME_NAME && Xsqlite3_stricmp(tls, zAs, zCol) == 0 { pOrig = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(j)*32))).FpExpr if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 && (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6613, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Win)) != uint32(0) && ((*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 || pNC != pTopNC) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6644, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6708, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if _sqlite3ExprVectorSize(tls, pOrig) != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6681, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6745, 0) return int32(WRC_Abort) } _resolveAlias(tls, pParse, pEList, j, pExpr, nSubquery) @@ -79930,7 +80230,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** a huge amount of legacy SQL that uses it. So for now, we just ** issue a warning. */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6699, libc.VaList(bp+24, zCol)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6763, libc.VaList(bp+24, zCol)) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_STRING) libc.Xmemset(tls, pExpr+64, 0, uint64(8)) return int32(WRC_Prune) @@ -79959,7 +80259,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } _extendFJMatch(tls, pParse, bp, pMatch, (*TExpr)(unsafe.Pointer(pExpr)).FiColumn) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_FUNCTION) - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6734 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6798 *(*uintptr)(unsafe.Pointer(pExpr + 32)) = *(*uintptr)(unsafe.Pointer(bp)) cnt = int32(1) goto lookupname_end @@ -79969,18 +80269,22 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } } if cnt == 0 { - v10 = __ccgo_ts + 6743 + v10 = __ccgo_ts + 6807 } else { - v10 = __ccgo_ts + 6758 + v10 = __ccgo_ts + 6822 } zErr = v10 if zDb != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6780, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6844, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) } else { if zTab != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6793, libc.VaList(bp+24, zErr, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6857, libc.VaList(bp+24, zErr, zTab, zCol)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6803, libc.VaList(bp+24, zErr, zCol)) + if cnt == 0 && (*TExpr)(unsafe.Pointer(pRight)).Fflags&uint32(libc.Int32FromInt32(EP_DblQuoted)) != uint32(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6867, libc.VaList(bp+24, zErr, zCol)) + } else { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6928, libc.VaList(bp+24, zErr, zCol)) + } } } _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -80010,8 +80314,12 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** If a generated column is referenced, set bits for every column ** of the table. */ - if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 && cnt == int32(1) && pMatch != uintptr(0) { - *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + if pMatch != 0 { + if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { + *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + } else { + libc.SetBitFieldPtr16Uint32(pMatch+60+4, libc.Uint32FromInt32(1), 14, 0x4000) + } } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(uint8(eNewExprOp)) goto lookupname_end @@ -80104,19 +80412,19 @@ func _notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pEx defer tls.Free(32) var zIn uintptr _ = zIn - zIn = __ccgo_ts + 6810 + zIn = __ccgo_ts + 6935 if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IdxExpr) != 0 { - zIn = __ccgo_ts + 6838 + zIn = __ccgo_ts + 6963 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IsCheck) != 0 { - zIn = __ccgo_ts + 6856 + zIn = __ccgo_ts + 6981 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_GenCol) != 0 { - zIn = __ccgo_ts + 6874 + zIn = __ccgo_ts + 6999 } } } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6892, libc.VaList(bp+8, zMsg, zIn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7017, libc.VaList(bp+8, zMsg, zIn)) if pExpr != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } @@ -80164,8 +80472,8 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { var anRef [8]int32 var auth, i, is_agg, n, nLeft, nRef, nRight, no_such_func, rc, savedAllowFlags, wrong_num_args, v12, v4, v6, v7 int32 var enc Tu8 - var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zColumn, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zColumn, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 + var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 pNC = *(*uintptr)(unsafe.Pointer(pWalker + 40)) pParse = (*TNameContext)(unsafe.Pointer(pNC)).FpParse switch int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) { @@ -80284,11 +80592,11 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_ID) { zDb = uintptr(0) zTable = uintptr(0) - zColumn = *(*uintptr)(unsafe.Pointer(pExpr + 8)) + pRight = pExpr } else { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+6912, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7037, uintptr(0), pExpr) } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_ID) { @@ -80299,13 +80607,12 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { pRight = (*TExpr)(unsafe.Pointer(pRight)).FpRight } zTable = *(*uintptr)(unsafe.Pointer(pLeft + 8)) - zColumn = *(*uintptr)(unsafe.Pointer(pRight + 8)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameTokenRemap(tls, pParse, pExpr, pRight) _sqlite3RenameTokenRemap(tls, pParse, pExpr+64, pLeft) } } - return _lookupName(tls, pParse, zDb, zTable, zColumn, pNC, pExpr) + return _lookupName(tls, pParse, zDb, zTable, pRight, pNC, pExpr) /* Resolve function names */ fallthrough @@ -80344,7 +80651,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if n == int32(2) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = _exprProbability(tls, (*(*TExprList_item)(unsafe.Pointer(pList + 8 + 1*32))).FpExpr) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6929, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7054, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -80368,7 +80675,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { auth = _sqlite3AuthCheck(tls, pParse, int32(SQLITE_FUNCTION), uintptr(0), (*TFuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0)) if auth != SQLITE_OK { if auth == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6993, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7118, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) @@ -80389,7 +80696,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { ** in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all ** all this. */ if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7029, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7154, uintptr(0), pExpr) } } else { /* Must fit in 8 bits */ @@ -80413,29 +80720,29 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { } if 0 == libc.BoolInt32(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME)) { if pDef != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7057, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7182, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 || is_agg != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) || is_agg != 0 && pWin != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 { if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 { - zType = __ccgo_ts + 7100 + zType = __ccgo_ts + 7225 } else { - zType = __ccgo_ts + 7107 + zType = __ccgo_ts + 7232 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7117, libc.VaList(bp+8, zType, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7242, libc.VaList(bp+8, zType, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else { if no_such_func != 0 && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7145, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7270, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if wrong_num_args != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7167, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7292, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7211, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7336, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { @@ -80459,7 +80766,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { *(*int32)(unsafe.Pointer(pNC + 40)) &= ^(libc.Int32FromInt32(NC_AllowWin) | v7) } } else { - if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { is_agg = int32(1) } } @@ -80520,18 +80827,19 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) { nRef = (*TNameContext)(unsafe.Pointer(pNC)).FnRef if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_SelfRef) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7259, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7384, pExpr, pExpr) } else { _sqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32))) } if nRef != (*TNameContext)(unsafe.Pointer(pNC)).FnRef { *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 4)) |= uint32(SF_Correlated) } *(*int32)(unsafe.Pointer(pNC + 40)) |= int32(NC_Subquery) } case int32(TK_VARIABLE): if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IsCheck)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7270, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7395, pExpr, pExpr) } case int32(TK_IS): fallthrough @@ -80577,7 +80885,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { nRight = _sqlite3ExprVectorSize(tls, (*TExpr)(unsafe.Pointer(pExpr)).FpRight) } if nLeft != nRight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6681, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6745, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } break @@ -80702,7 +81010,7 @@ func _resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintpt func _resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7281, libc.VaList(bp+8, i, zType, mx)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7406, libc.VaList(bp+8, i, zType, mx)) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pError) } @@ -80737,7 +81045,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7337, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7462, 0) return int32(1) } i = 0 @@ -80775,7 +81083,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } if _sqlite3ExprIsInteger(tls, pE, bp) != 0 { if *(*int32)(unsafe.Pointer(bp)) <= 0 || *(*int32)(unsafe.Pointer(bp)) > (*TExprList)(unsafe.Pointer(pEList)).FnExpr { - _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7371, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) + _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7496, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) return int32(1) } } else { @@ -80845,7 +81153,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r break } if int32(uint32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7377, libc.VaList(bp+16, i+int32(1))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7502, libc.VaList(bp+16, i+int32(1))) return int32(1) } goto _3 @@ -80879,7 +81187,7 @@ func _sqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7438, libc.VaList(bp+8, zType)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7563, libc.VaList(bp+8, zType)) return int32(1) } pEList = (*TSelect)(unsafe.Pointer(pSelect)).FpEList @@ -81125,6 +81433,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } pItem = (*TSelect)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*104 + /* Test of tag-20240424-1*/ if (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselFlags&uint32(SF_Resolved) == uint32(0) { if pOuterNC != 0 { v3 = (*TNameContext)(unsafe.Pointer(pOuterNC)).FnRef @@ -81191,7 +81500,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { (*(*TNameContext)(unsafe.Pointer(bp))).FncFlags |= int32(NC_UEList) if (*TSelect)(unsafe.Pointer(p)).FpHaving != 0 { if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Aggregate) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7469, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7594, 0) return int32(WRC_Abort) } if _sqlite3ResolveExprNames(tls, bp, (*TSelect)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -81258,7 +81567,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** is not detected until much later, and so we need to go ahead and ** resolve those symbols on the incorrect ORDER BY for consistency. */ - if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7371) != 0 { + if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7496) != 0 { return int32(WRC_Abort) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -81269,7 +81578,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** the GROUP BY clause does not contain aggregate functions. */ if pGroupBy != 0 { - if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7508) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { + if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7633) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(WRC_Abort) } i = 0 @@ -81279,7 +81588,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } if (*TExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(pItem2)).FpExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7514, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7639, 0) return int32(WRC_Abort) } goto _6 @@ -82260,7 +82569,7 @@ func _codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32 return } if nLeft != _sqlite3ExprVectorSize(tls, pRight) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6681, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6745, 0) return } if int32(int32(op)) == int32(TK_LE) { @@ -82339,7 +82648,7 @@ func _sqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) (r in rc = SQLITE_OK mxHeight = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4)) if nHeight > mxHeight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7573, libc.VaList(bp+8, mxHeight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7698, libc.VaList(bp+8, mxHeight)) rc = int32(SQLITE_ERROR) } return rc @@ -82505,11 +82814,12 @@ func _sqlite3ExprSetErrorOffset(tls *libc.TLS, pExpr uintptr, iOfst int32) { // ** appear to be quoted. If the quotes were of the form "..." (double-quotes) // ** then the EP_DblQuoted flag is set on the expression node. // ** -// ** Special case: If op==TK_INTEGER and pToken points to a string that -// ** can be translated into a 32-bit integer, then the token is not -// ** stored in u.zToken. Instead, the integer values is written -// ** into u.iValue and the EP_IntValue flag is set. No extra storage +// ** Special case (tag-20240227-a): If op==TK_INTEGER and pToken points to +// ** a string that can be translated into a 32-bit integer, then the token is +// ** not stored in u.zToken. Instead, the integer values is written +// ** into u.iValue and the EP_IntValue flag is set. No extra storage // ** is allocated to hold the integer text and the dequote flag is ignored. +// ** See also tag-20240227-b. // */ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) (r uintptr) { bp := tls.Alloc(16) @@ -82522,7 +82832,7 @@ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ *(*int32)(unsafe.Pointer(bp)) = 0 if pToken != 0 { if op != int32(TK_INTEGER) || (*TToken)(unsafe.Pointer(pToken)).Fz == uintptr(0) || _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pToken)).Fz, bp) == 0 { - nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) + nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) /* tag-20240227-a */ } } pNew = _sqlite3DbMallocRawNN(tls, db, uint64(uint64(72)+uint64(uint64(nExtra)))) @@ -82683,11 +82993,11 @@ func _sqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList } if nExprElem != nElem { if nExprElem > int32(1) { - v2 = __ccgo_ts + 7621 + v2 = __ccgo_ts + 7746 } else { - v2 = __ccgo_ts + 1652 + v2 = __ccgo_ts + 1666 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7623, libc.VaList(bp+8, nExprElem, v2, nElem)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7748, libc.VaList(bp+8, nExprElem, v2, nElem)) break } pSel = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(pExpr + 32)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) @@ -82736,7 +83046,7 @@ func _sqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt if f&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_InnerON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { _sqlite3ExprDeferredDelete(tls, pParse, pLeft) _sqlite3ExprDeferredDelete(tls, pParse, pRight) - return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1726) + return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1786) } else { return _sqlite3PExpr(tls, pParse, int32(TK_AND), pLeft, pRight) } @@ -82764,7 +83074,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } *(*int32)(unsafe.Pointer(pNew + 52)) = int32(int64((*TToken)(unsafe.Pointer(pToken)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) if pList != 0 && (*TExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7667, libc.VaList(bp+8, pToken)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7792, libc.VaList(bp+8, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32)) = pList *(*Tu32)(unsafe.Pointer(pNew + 4)) |= uint32(libc.Int32FromInt32(EP_HasFunc)) @@ -82784,7 +83094,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u func _sqlite3ExprOrderByAggregateError(tls *libc.TLS, pParse uintptr, p uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7701, libc.VaList(bp+8, p)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7826, libc.VaList(bp+8, p)) } // C documentation @@ -82855,7 +83165,7 @@ func _sqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD ** SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning ** that the schema is possibly tainted). */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7751, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7876, libc.VaList(bp+8, pExpr)) } } } @@ -82907,7 +83217,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n bOk = libc.BoolInt32(0 == _sqlite3Atoi64(tls, z+1, bp, int32(n-uint32(1)), uint8(SQLITE_UTF8))) } if bOk == 0 || *(*Ti64)(unsafe.Pointer(bp)) < int64(1) || *(*Ti64)(unsafe.Pointer(bp)) > int64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7771, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7896, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) return } @@ -82940,7 +83250,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*TExpr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(int32(x)) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7814, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7939, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } } @@ -82951,11 +83261,13 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n // ** Recursively delete an expression tree. // */ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { + var pLeft uintptr + _ = pLeft + goto exprDeleteRestart +exprDeleteRestart: + ; if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)|libc.Int32FromInt32(EP_Leaf)) != libc.Uint32FromInt32(0)) { /* The Expr.x union is never used at the same time as Expr.pRight */ - if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { - _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpLeft) - } if (*TExpr)(unsafe.Pointer(p)).FpRight != 0 { _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpRight) } else { @@ -82968,6 +83280,17 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { } } } + if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { + pLeft = (*TExpr)(unsafe.Pointer(p)).FpLeft + if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) && !((*TExpr)(unsafe.Pointer(pLeft)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { + /* Avoid unnecessary recursion on unary operators */ + _sqlite3DbNNFreeNN(tls, db, p) + p = pLeft + goto exprDeleteRestart + } else { + _sqlite3ExprDeleteNN(tls, db, pLeft) + } + } } if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { _sqlite3DbNNFreeNN(tls, db, p) @@ -83014,11 +83337,11 @@ func _sqlite3ClearOnOrUsing(tls *libc.TLS, db uintptr, p uintptr) { // ** // ** The pExpr might be deleted immediately on an OOM error. // ** -// ** The deferred delete is (currently) implemented by adding the -// ** pExpr to the pParse->pConstExpr list with a register number of 0. +// ** Return 0 if the delete was successfully deferred. Return non-zero +// ** if the delete happened immediately because of an OOM. // */ -func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { - _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr) +func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + return libc.BoolInt32(uintptr(0) == _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr)) } // C documentation @@ -83507,16 +83830,20 @@ func _sqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) (r ui (*TSrcItem)(unsafe.Pointer(pNewItem)).FiCursor = (*TSrcItem)(unsafe.Pointer(pOldItem)).FiCursor (*TSrcItem)(unsafe.Pointer(pNewItem)).FaddrFillSub = (*TSrcItem)(unsafe.Pointer(pOldItem)).FaddrFillSub (*TSrcItem)(unsafe.Pointer(pNewItem)).FregReturn = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregReturn + (*TSrcItem)(unsafe.Pointer(pNewItem)).FregResult = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregResult if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x2>>1)) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3DbStrDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88))) + } else { + if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { + *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) + } else { + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pNewItem)).Fu1)) = *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pOldItem)).Fu1)) + } } (*TSrcItem)(unsafe.Pointer(pNewItem)).Fu2 = (*TSrcItem)(unsafe.Pointer(pOldItem)).Fu2 if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x100>>8)) != 0 { (*TCteUse)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNewItem + 96)))).FnUse++ } - if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { - *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) - } v4 = (*TSrcItem)(unsafe.Pointer(pOldItem)).FpTab (*TSrcItem)(unsafe.Pointer(pNewItem)).FpTab = v4 pTab = v4 @@ -83778,7 +84105,7 @@ func _sqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, n = v2 } if v3 && (*TIdList)(unsafe.Pointer(pColumns)).FnId != v2 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7837, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7962, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error } i = 0 @@ -83907,7 +84234,7 @@ func _sqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, _ = mx mx = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4)) if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr > mx { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7867, libc.VaList(bp+8, zObject)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7992, libc.VaList(bp+8, zObject)) } } @@ -84005,10 +84332,10 @@ func _sqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) (r // ** anything else 0 // */ func _sqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) (r Tu32) { - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7890) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8015) == 0 { return uint32(EP_IsTrue) } - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7895) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8020) == 0 { return uint32(EP_IsFalse) } return uint32(0) @@ -84090,6 +84417,51 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { return pExpr } +// C documentation +// +// /* +// ** pExpr is a TK_FUNCTION node. Try to determine whether or not the +// ** function is a constant function. A function is constant if all of +// ** the following are true: +// ** +// ** (1) It is a scalar function (not an aggregate or window function) +// ** (2) It has either the SQLITE_FUNC_CONSTANT or SQLITE_FUNC_SLOCHNG +// ** property. +// ** (3) All of its arguments are constants +// ** +// ** This routine sets pWalker->eCode to 0 if pExpr is not a constant. +// ** It makes no changes to pWalker->eCode if pExpr is constant. In +// ** every case, it returns WRC_Abort. +// ** +// ** Called as a service subroutine from exprNodeIsConstant(). +// */ +func _exprNodeIsConstantFunction(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef, pList, v1 uintptr + var n int32 + var v2 bool + _, _, _, _, _, _ = db, n, pDef, pList, v1, v2 /* The database */ + if v2 = (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)) != uint32(0); !v2 { + v1 = *(*uintptr)(unsafe.Pointer(pExpr + 32)) + pList = v1 + } + if v2 || v1 == uintptr(0) { + n = 0 + } else { + n = (*TExprList)(unsafe.Pointer(pList)).FnExpr + _sqlite3WalkExprList(tls, pWalker, pList) + if int32((*TWalker)(unsafe.Pointer(pWalker)).FeCode) == 0 { + return int32(WRC_Abort) + } + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)|libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG)) == uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) +} + // C documentation // // /* @@ -84137,8 +84509,12 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 } return WRC_Continue } else { - (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) - return int32(WRC_Abort) + if (*TWalker)(unsafe.Pointer(pWalker)).FpParse != 0 { + return _exprNodeIsConstantFunction(tls, pWalker, pExpr) + } else { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } } fallthrough case int32(TK_ID): @@ -84165,6 +84541,8 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 case int32(TK_REGISTER): fallthrough case int32(TK_DOT): + fallthrough + case int32(TK_RAISE): (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) return int32(WRC_Abort) case int32(TK_VARIABLE): @@ -84190,14 +84568,14 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 return r } -func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32) { +func _exprIsConst(tls *libc.TLS, pParse uintptr, p uintptr, initFlag int32) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* w at bp+0 */ TWalker (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(uint16(initFlag)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) - *(*int32)(unsafe.Pointer(bp + 40)) = iCur _sqlite3WalkExpr(tls, bp, p) return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } @@ -84211,9 +84589,15 @@ func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32 // ** For the purposes of this function, a double-quoted string (ex: "abc") // ** is considered a variable but a single-quoted string (ex: 'abc') is // ** a constant. +// ** +// ** The pParse parameter may be NULL. But if it is NULL, there is no way +// ** to determine if function calls are constant or not, and hence all +// ** function calls will be considered to be non-constant. If pParse is +// ** not NULL, then a function call might be constant, depending on the +// ** function and on its parameters. // */ -func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(1), 0) +func _sqlite3ExprIsConstant(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(1)) } // C documentation @@ -84231,8 +84615,24 @@ func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { // ** can be added to the pParse->pConstExpr list and evaluated once when // ** the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). // */ -func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(2), 0) +func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(2)) +} + +// C documentation +// +// /* +// ** This routine examines sub-SELECT statements as an expression is being +// ** walked as part of sqlite3ExprIsTableConstant(). Sub-SELECTs are considered +// ** constant as long as they are uncorrelated - meaning that they do not +// ** contain any terms from outer contexts. +// */ +func _exprSelectWalkTableConstant(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + if (*TSelect)(unsafe.Pointer(pSelect)).FselFlags&uint32(SF_Correlated) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) } // C documentation @@ -84242,9 +84642,25 @@ func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { // ** for any single row of the table with cursor iCur. In other words, the // ** expression must not refer to any non-deterministic function nor any // ** table other than iCur. +// ** +// ** Consider uncorrelated subqueries to be constants if the bAllowSubq +// ** parameter is true. // */ -func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) { - return _exprIsConst(tls, p, int32(3), iCur) +func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32, bAllowSubq int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(3) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = uintptr(0) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) + if bAllowSubq != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_exprSelectWalkTableConstant) + } else { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) + } + *(*int32)(unsafe.Pointer(bp + 40)) = iCur + _sqlite3WalkExpr(tls, bp, p) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } // C documentation @@ -84264,7 +84680,10 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** // ** (1) pExpr cannot refer to any table other than pSrc->iCursor. // ** -// ** (2) pExpr cannot use subqueries or non-deterministic functions. +// ** (2a) pExpr cannot use subqueries unless the bAllowSubq parameter is +// ** true and the subquery is non-correlated +// ** +// ** (2b) pExpr cannot use non-deterministic functions. // ** // ** (3) pSrc cannot be part of the left operand for a RIGHT JOIN. // ** (Is there some way to relax this constraint?) @@ -84290,7 +84709,7 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** which leads to incorrect answers. See also restriction (9) // ** on push-down. // */ -func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32) (r int32) { +func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32, bAllowSubq int32) (r int32) { var jj int32 var pSrc uintptr _, _ = jj, pSrc @@ -84328,7 +84747,8 @@ func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList jj++ } } - return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor) /* rules (1), (2) */ + /* Rules (1), (2a), and (2b) handled by the following: */ + return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor, bAllowSubq) } // C documentation @@ -84426,7 +84846,7 @@ func _sqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // ** a constant. // */ func _sqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit Tu8) (r int32) { - return _exprIsConst(tls, p, int32(4)+int32(int32(isInit)), 0) + return _exprIsConst(tls, uintptr(0), p, int32(4)+int32(int32(isInit))) } // C documentation @@ -84565,13 +84985,13 @@ func _sqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) (r in // ** Return TRUE if the given string is a row-id column name. // */ func _sqlite3IsRowid(tls *libc.TLS, z uintptr) (r int32) { - if _sqlite3StrICmp(tls, z, __ccgo_ts+7901) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8026) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7909) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8034) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7915) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8040) == 0 { return int32(1) } return 0 @@ -84589,9 +85009,9 @@ func _sqlite3RowidAlias(tls *libc.TLS, pTab uintptr) (r uintptr) { var iCol, ii int32 _, _, _ = azOpt, iCol, ii azOpt = [3]uintptr{ - 0: __ccgo_ts + 7901, - 1: __ccgo_ts + 7909, - 2: __ccgo_ts + 7915, + 0: __ccgo_ts + 8026, + 1: __ccgo_ts + 8034, + 2: __ccgo_ts + 8040, } ii = 0 for { @@ -84711,13 +85131,13 @@ func _sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int // ** The argument is an IN operator with a list (not a subquery) on the // ** right-hand side. Return TRUE if that list is constant. // */ -func _sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) (r int32) { +func _sqlite3InRhsIsConstant(tls *libc.TLS, pParse uintptr, pIn uintptr) (r int32) { var pLHS uintptr var res int32 _, _ = pLHS, res pLHS = (*TExpr)(unsafe.Pointer(pIn)).FpLeft (*TExpr)(unsafe.Pointer(pIn)).FpLeft = uintptr(0) - res = _sqlite3ExprIsConstant(tls, pIn) + res = _sqlite3ExprIsConstant(tls, pParse, pIn) (*TExpr)(unsafe.Pointer(pIn)).FpLeft = pLHS return res } @@ -84873,7 +85293,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 iAddr = _sqlite3VdbeAddOp0(tls, v, int32(OP_Once)) _sqlite3OpenTable(tls, pParse, iTab, iDb, pTab, int32(OP_OpenRead)) eType = int32(IN_INDEX_ROWID) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+7919, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+8044, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) _sqlite3VdbeJumpHere(tls, v, iAddr) } else { /* Iterator variable */ affinity_ok = int32(1) @@ -84973,7 +85393,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 if colUsed == libc.Uint64FromInt32(1)<0 so that the new limit is either 1 or 0 */ db = (*TParse)(unsafe.Pointer(pParse)).Fdb - pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1726) + pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1786) if pLimit != 0 { (*TExpr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = _sqlite3PExpr(tls, pParse, int32(TK_NE), _sqlite3ExprDup(tls, db, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft, 0), pLimit) @@ -85464,7 +85884,7 @@ func _sqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int3 (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { /* If there is no pre-existing limit add a limit of 1 */ - pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8134) + pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8259) (*TSelect)(unsafe.Pointer(pSel)).FpLimit = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), pLimit, uintptr(0)) } (*TSelect)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -85851,13 +86271,13 @@ func _codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, i z = *(*uintptr)(unsafe.Pointer(pExpr + 8)) c = _sqlite3DecOrHexToI64(tls, z, bp) if c == int32(3) && !(negFlag != 0) || c == int32(2) || negFlag != 0 && *(*Ti64)(unsafe.Pointer(bp)) == int64(-libc.Int32FromInt32(1))-(libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)<= (*TAggInfo)(unsafe.Pointer(pInfo)).FnFunc { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8227, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8352, libc.VaList(bp+160, pExpr)) } else { return (*TAggInfo)(unsafe.Pointer(pInfo)).FiFirstReg + (*TAggInfo)(unsafe.Pointer(pInfo)).FnColumn + int32((*TExpr)(unsafe.Pointer(pExpr)).FiAgg) } @@ -86581,7 +86996,7 @@ expr_code_doover: if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { return (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64)))).FregResult } - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { /* SQL functions can be expensive. So try to avoid running them ** multiple times if we know they always give the same result */ return _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) @@ -86596,7 +87011,7 @@ expr_code_doover: zId = *(*uintptr)(unsafe.Pointer(pExpr + 8)) pDef = _sqlite3FindFunction(tls, db, zId, nFarg, enc, uint8(0)) if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8254, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8379, libc.VaList(bp+160, pExpr)) break } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_INLINE) != uint32(0) && pFarg != uintptr(0) { @@ -86611,7 +87026,7 @@ expr_code_doover: if !(i < nFarg) { break } - if i < int32(32) && _sqlite3ExprIsConstant(tls, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { + if i < int32(32) && _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { constMask |= libc.Uint32FromInt32(1) << i } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_NEEDCOLL) != uint32(0) && !(pColl != 0) { @@ -86701,7 +87116,7 @@ expr_code_doover: } n1 = _sqlite3ExprVectorSize(tls, pLeft2) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != n1 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7837, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7962, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) } return (*TExpr)(unsafe.Pointer(pLeft2)).FiTable + int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) case int32(TK_IN): @@ -86733,8 +87148,9 @@ expr_code_doover: if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Collate)) != libc.Uint32FromInt32(0)) { /* A TK_COLLATE Expr node without the EP_Collate tag is a so-called ** "SOFT-COLLATE" that is added to constraints that are pushed down - ** from outer queries into sub-queries by the push-down optimization. - ** Clear subtypes as subtypes may not cross a subquery boundary. + ** from outer queries into sub-queries by the WHERE-clause push-down + ** optimization. Clear subtypes as subtypes may not cross a subquery + ** boundary. */ _sqlite3ExprCode(tls, pParse, (*TExpr)(unsafe.Pointer(pExpr)).FpLeft, target) _sqlite3VdbeAddOp1(tls, v, int32(OP_ClrSubtype), target) @@ -86763,7 +87179,7 @@ expr_code_doover: _sqlite3VdbeAddOp1(tls, v, int32(OP_RealAffinity), target) } case int32(TK_VECTOR): - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6681, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6745, 0) break /* TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions ** that derive from the right-hand table of a LEFT JOIN. The @@ -86878,7 +87294,7 @@ expr_code_doover: _sqlite3VdbeResolveLabel(tls, v, endLabel) case int32(TK_RAISE): if !((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != 0) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8278, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8403, 0) return 0 } if int32((*TExpr)(unsafe.Pointer(pExpr)).FaffExpr) == int32(OE_Abort) { @@ -86998,7 +87414,7 @@ func _sqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin var r1, r2 int32 _, _ = r1, r2 pExpr = _sqlite3ExprSkipCollateAndLikely(tls, pExpr) - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { *(*int32)(unsafe.Pointer(pReg)) = 0 r2 = _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) } else { @@ -87068,7 +87484,7 @@ func _sqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // ** might choose to code the expression at initialization time. // */ func _sqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { _sqlite3ExprCodeCopy(tls, pParse, pExpr, target) @@ -87137,7 +87553,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ _sqlite3VdbeAddOp2(tls, v, int32(int32(copyOp)), j+srcReg-int32(1), target+i) } } else { - if int32(int32(flags))&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if int32(int32(flags))&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target+i) } else { inReg = _sqlite3ExprCodeTarget(tls, pParse, pExpr, target+i) @@ -88434,17 +88850,15 @@ func _agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnColumn && (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } else { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnFunc && (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } @@ -88994,8 +89408,8 @@ func _sqlite3FirstAvailableRegister(tls *libc.TLS, pParse uintptr, iMin int32) ( func _isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) - if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6529, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8328, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6593, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8453, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -89014,9 +89428,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, bp := tls.Alloc(48) defer tls.Free(48) (*TParse)(unsafe.Pointer(pParse)).FcolNamesSet = uint8(1) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8356, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8481, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8531, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8656, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) } } @@ -89032,9 +89446,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, func _renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8705, libc.VaList(bp+8, zDb, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8830, libc.VaList(bp+8, zDb, zDb)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8852, 0) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8977, 0) } } @@ -89090,7 +89504,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName ** in database iDb. If so, this is an error. */ if _sqlite3FindTable(tls, db, zName, zDb) != 0 || _sqlite3FindIndex(tls, db, zName, zDb) != 0 || _sqlite3IsShadowTableOf(tls, db, pTab, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9003, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9128, libc.VaList(bp+8, zName)) goto exit_rename_table } /* Make sure it is not a system table being altered, or a reserved name @@ -89099,11 +89513,11 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { goto exit_rename_table } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9062, zName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9187, zName) { goto exit_rename_table } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9068, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9193, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table } /* Invoke the authorization callback. */ @@ -89133,21 +89547,21 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName nTabName = _sqlite3Utf8CharLen(tls, zTabName, -int32(1)) /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in ** the schema to use the new table name. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9095, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9220, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) /* Update the tbl_name and name columns of the sqlite_schema table ** as required. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9279, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9404, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) /* If the sqlite_sequence table exists in this database, then update ** it with the new table name. */ - if _sqlite3FindTable(tls, db, __ccgo_ts+9584, zDb) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9600, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if _sqlite3FindTable(tls, db, __ccgo_ts+9709, zDb) != 0 { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9725, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* If the table being renamed is not itself part of the temp database, ** edit view and trigger definitions within the temp database ** as required. */ if iDb != int32(1) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9658, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9783, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) } /* If this is a virtual table, invoke the xRename() function if ** one is defined. The xRename() callback will modify the names @@ -89163,7 +89577,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName _sqlite3VdbeAddOp4(tls, v, int32(OP_VRename), i, 0, 0, pVTab, -int32(11)) } _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+9923, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+10048, 0) goto exit_rename_table exit_rename_table: ; @@ -89180,7 +89594,7 @@ exit_rename_table: func _sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9936, libc.VaList(bp+8, zErr, zDb, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10061, libc.VaList(bp+8, zErr, zDb, zTab)) } // C documentation @@ -89220,11 +89634,11 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** column must not be NULL. */ if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9974, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10099, 0) return } if (*TTable)(unsafe.Pointer(pNew)).FpIndex != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10006, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10131, 0) return } if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) == 0 { @@ -89240,10 +89654,10 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpFKey != 0 && pDflt != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10033) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10158) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && !(pDflt != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10092) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10217) } /* Ensure the default expression is something that sqlite3ValueFromExpr() ** can handle (i.e. not CURRENT_TIME etc.) @@ -89255,13 +89669,13 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr return } if !(*(*uintptr)(unsafe.Pointer(bp)) != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10145) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10270) } _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp))) } } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_STORED) != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10191) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10316) } } /* Modify the CREATE TABLE statement. */ @@ -89275,7 +89689,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } /* substr() operations on characters, but addColOffset is in bytes. So we ** have to use printf() to translate between these units: */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10218, libc.VaList(bp+16, zDb, (*(*struct { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10343, libc.VaList(bp+16, zDb, (*(*struct { FaddColOffset int32 FpFKey uintptr FpDfltList uintptr @@ -89303,7 +89717,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterAdd)) /* Verify that constraints are still satisfied */ if (*TTable)(unsafe.Pointer(pNew)).FpCheck != uintptr(0) || int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Strict) != uint32(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10364, libc.VaList(bp+16, zTab, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10489, libc.VaList(bp+16, zTab, zDb)) } } } @@ -89341,12 +89755,12 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { goto exit_begin_add_column } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10717, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10842, 0) goto exit_begin_add_column } /* Make sure this is not an attempt to ALTER a view. */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10751, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10876, 0) goto exit_begin_add_column } if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { @@ -89370,7 +89784,7 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { (*TTable)(unsafe.Pointer(pNew)).FnCol = (*TTable)(unsafe.Pointer(pTab)).FnCol nAlloc = (int32((*TTable)(unsafe.Pointer(pNew)).FnCol)-int32(1))/int32(8)*int32(8) + int32(8) (*TTable)(unsafe.Pointer(pNew)).FaCol = _sqlite3DbMallocZero(tls, db, uint64(uint64(16)*uint64(uint64(nAlloc)))) - (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10781, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10906, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !((*TTable)(unsafe.Pointer(pNew)).FaCol != 0) || !((*TTable)(unsafe.Pointer(pNew)).FzName != 0) { goto exit_begin_add_column } @@ -89431,18 +89845,18 @@ func _isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) (r i _, _ = zType, v1 zType = uintptr(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10800 + zType = __ccgo_ts + 10925 } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 10805 + zType = __ccgo_ts + 10930 } if zType != 0 { if bDrop != 0 { - v1 = __ccgo_ts + 10819 + v1 = __ccgo_ts + 10944 } else { - v1 = __ccgo_ts + 10836 + v1 = __ccgo_ts + 10961 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10854, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10979, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -89503,11 +89917,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld iCol++ } if iCol == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10872, libc.VaList(bp+8, pOld)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10997, libc.VaList(bp+8, pOld)) goto exit_rename_column } /* Ensure the schema contains no double-quoted strings */ - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1652, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1666, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1))) /* Do the rename operation using a recursive UPDATE statement that ** uses the sqlite_rename_column() SQL function to compute the new @@ -89519,11 +89933,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld goto exit_rename_column } bQuote = int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pNew)).Fz)))]) & int32(0x80) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10893, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11075, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11018, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11200, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+9923, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+10048, int32(1)) goto exit_rename_column exit_rename_column: ; @@ -89999,11 +90413,11 @@ func _renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType u zT = Xsqlite3_value_text(tls, pType) zN = Xsqlite3_value_text(tls, pObject) if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - v1 = __ccgo_ts + 11206 + v1 = __ccgo_ts + 11331 } else { - v1 = __ccgo_ts + 1652 + v1 = __ccgo_ts + 1666 } - zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11208, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) + zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11333, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, zErr) } @@ -90080,8 +90494,8 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin if zSql == uintptr(0) { return int32(SQLITE_NOMEM) } - if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11231, int32(7)) != 0 { - return _sqlite3CorruptError(tls, int32(116682)) + if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11356, int32(7)) != 0 { + return _sqlite3CorruptError(tls, int32(117285)) } if bTemp != 0 { v1 = int32(1) @@ -90097,7 +90511,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin rc = int32(SQLITE_NOMEM) } if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = _sqlite3CorruptError(tls, int32(116693)) + rc = _sqlite3CorruptError(tls, int32(117296)) } (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0) return rc @@ -90136,7 +90550,7 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, ** ALTER TABLE statement was quoted (bQuote==1), then set zNew to ** point to zQuot so that all substitutions are made using the ** quoted version of the new column name. */ - zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11239, libc.VaList(bp+8, zNew)) + zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11364, libc.VaList(bp+8, zNew)) if zQuot == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -90181,11 +90595,11 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = 0 _sqlite3Dequote(tls, zBuf1) if int32(*(*int8)(unsafe.Pointer((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == int32('\'') { - v1 = __ccgo_ts + 11206 + v1 = __ccgo_ts + 11331 } else { - v1 = __ccgo_ts + 1652 + v1 = __ccgo_ts + 1666 } - Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11245, libc.VaList(bp+8, zBuf1, v1)) + Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11370, libc.VaList(bp+8, zBuf1, v1)) zReplace = zBuf2 nReplace = uint32(_sqlite3Strlen30(tls, zReplace)) } @@ -90670,7 +91084,7 @@ renameColumnFunc_done: Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv))) } else { if (*(*TParse)(unsafe.Pointer(bp + 32))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1652, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) + _renameColumnParseError(tls, context, __ccgo_ts+1666, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -90896,7 +91310,7 @@ func _renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintpt Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + 3*8))) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1652, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) + _renameColumnParseError(tls, context, __ccgo_ts+1666, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -91158,7 +91572,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { /* This can happen if the sqlite_schema table is corrupt */ - rc = _sqlite3CorruptError(tls, int32(117652)) + rc = _sqlite3CorruptError(tls, int32(118255)) goto drop_column_done } pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName) @@ -91175,7 +91589,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr (*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz-- } } - zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11250, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(int64(zSql)), zSql, zEnd)) + zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11375, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(int64(zSql)), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -int32(1), uintptr(-libc.Int32FromInt32(1))) Xsqlite3_free(tls, zNew) goto drop_column_done @@ -91202,8 +91616,9 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName bp := tls.Alloc(48) defer tls.Free(48) var addr, i, iCol, iColPos, iCur, iDb, iPos, nField, reg, regOut, regRec, v2, v4, v7 int32 + var aff int8 var db, pPk, pTab, v, zCol, zDb, v1, v3, v5, v8 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, aff, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Database containing pTab ("main" etc.) */ zCol = uintptr(0) /* Index of column zCol in pTab->aCol[] */ /* Look up the table being altered. */ @@ -91229,23 +91644,23 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName } iCol = _sqlite3ColumnIndex(tls, pTab, zCol) if iCol < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10872, libc.VaList(bp+8, pName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10997, libc.VaList(bp+8, pName)) goto exit_drop_column } /* Do not allow the user to drop a PRIMARY KEY column or a column ** constrained by a UNIQUE constraint. */ if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_PRIMKEY)|libc.Int32FromInt32(COLFLAG_UNIQUE)) != 0 { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - v1 = __ccgo_ts + 11257 + v1 = __ccgo_ts + 11382 } else { - v1 = __ccgo_ts + 5593 + v1 = __ccgo_ts + 5657 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11269, libc.VaList(bp+8, v1, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11394, libc.VaList(bp+8, v1, zCol)) goto exit_drop_column } /* Do not allow the number of columns to go to zero */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) <= int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11297, libc.VaList(bp+8, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11422, libc.VaList(bp+8, zCol)) goto exit_drop_column } /* Edit the sqlite_schema table */ @@ -91255,12 +91670,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_ALTER_TABLE), zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol) != 0 { goto exit_drop_column } - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1652, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1666, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1))) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11345, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11470, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11466, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11591, int32(1)) /* Edit rows of table on disk */ if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 && int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { pPk = uintptr(0) @@ -91318,7 +91733,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if i == int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regOut) } else { + aff = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity + if int32(int32(aff)) == int32(SQLITE_AFF_REAL) { + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = int8(SQLITE_AFF_NUMERIC) + } _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab, iCur, i, regOut) + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = aff } nField++ } @@ -91363,27 +91783,27 @@ var _aAlterTableFuncs = [5]TFuncDef{ 0: { FnArg: int8(9), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11484, + FzName: __ccgo_ts + 11609, }, 1: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11505, + FzName: __ccgo_ts + 11630, }, 2: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11525, + FzName: __ccgo_ts + 11650, }, 3: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11544, + FzName: __ccgo_ts + 11669, }, 4: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11563, + FzName: __ccgo_ts + 11688, }, } @@ -91594,7 +92014,7 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW ** side-effect of the CREATE TABLE statement is to leave the rootpage ** of the new table in register pParse->regRoot. This is important ** because the OpenWrite opcode below will be needing it. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11666, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11791, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) aRoot[i] = uint32((*TParse)(unsafe.Pointer(pParse)).FregRoot) aCreateTbl[i] = uint8(OPFLAG_P2ISREG) } @@ -91605,10 +92025,10 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW aRoot[i] = (*TTable)(unsafe.Pointer(pStat)).Ftnum _sqlite3TableLock(tls, pParse, iDb, aRoot[i], uint8(1), zTab) if zWhere != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11689, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11814, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11719, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11844, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { /* The sqlite_stat[134] table already exists. Delete all rows. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Clear), int32(aRoot[i]), iDb) @@ -91640,15 +92060,15 @@ var _aTable = [3]struct { FzCols uintptr }{ 0: { - FzName: __ccgo_ts + 11586, - FzCols: __ccgo_ts + 11599, + FzName: __ccgo_ts + 11711, + FzCols: __ccgo_ts + 11724, }, 1: { - FzName: __ccgo_ts + 11612, - FzCols: __ccgo_ts + 11625, + FzName: __ccgo_ts + 11737, + FzCols: __ccgo_ts + 11750, }, 2: { - FzName: __ccgo_ts + 11653, + FzName: __ccgo_ts + 11778, }, } @@ -91950,7 +92370,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statInitFuncdef = TFuncDef{ FnArg: int8(4), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11737, + FzName: __ccgo_ts + 11862, } func init() { @@ -92324,7 +92744,7 @@ func _statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statPushFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(2) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11747, + FzName: __ccgo_ts + 11872, } func init() { @@ -92374,7 +92794,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { v1 = (*TStatAccum)(unsafe.Pointer(p)).FnRow } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11757, libc.VaList(bp+72, v1)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11882, libc.VaList(bp+72, v1)) i = 0 for { if !(i < (*TStatAccum)(unsafe.Pointer(p)).FnKeyCol) { @@ -92385,7 +92805,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if iVal == uint64(2) && (*TStatAccum)(unsafe.Pointer(p)).FnRow*uint64(10) <= nDistinct*uint64(11) { iVal = uint64(1) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11762, libc.VaList(bp+72, iVal)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11887, libc.VaList(bp+72, iVal)) goto _2 _2: ; @@ -92424,7 +92844,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if !(i1 < (*TStatAccum)(unsafe.Pointer(p)).FnCol) { break } - Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11768, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) + Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11893, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) goto _3 _3: ; @@ -92442,7 +92862,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statGetFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(1) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11774, + FzName: __ccgo_ts + 11899, } func init() { @@ -92463,9 +92883,9 @@ func _callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, re // */ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { var aGotoChng, db, pColl, pIdx, pPk, pStat1, pX, v, zIdxName uintptr - var addrIsNull, addrNext, addrNextRow, addrRewind, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 + var addrGotoEnd, addrIsNull, addrNext, addrNextRow, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 var needTableCnt, seekOp Tu8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrIsNull, addrNext, addrNextRow, addrRewind, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrGotoEnd, addrIsNull, addrNext, addrNextRow, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Loop counter */ jZeroRows = -int32(1) /* Index of database containing pTab */ needTableCnt = uint8(1) @@ -92508,7 +92928,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Do not gather statistics on views or virtual tables */ return } - if Xsqlite3_strlike(tls, __ccgo_ts+11783, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, __ccgo_ts+11908, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { /* Do not gather statistics on system tables */ return } @@ -92522,7 +92942,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint return } (*TTable)(unsafe.Pointer(pStat1)).FzName = pStat1 + 1*104 - libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11586, uint64(13)) + libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11711, uint64(13)) (*TTable)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*TTable)(unsafe.Pointer(pStat1)).FiPKey = int16(-int32(1)) _sqlite3VdbeAddOp4(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Noop), 0, 0, 0, pStat1, -int32(6)) @@ -92576,9 +92996,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* ** Pseudo-code for loop that calls stat_push(): ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() ** goto chng_addr_0; ** ** next_row: @@ -92612,32 +93037,29 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Open a read-only cursor on the index being analyzed. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenRead), iIdxCur, int32((*TIndex)(unsafe.Pointer(pIdx)).Ftnum), iDb) _sqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - /* Invoke the stat_init() function. The arguments are: + /* Implementation of the following: ** + ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() + ** goto chng_addr_0; + */ + _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + /* Arguments to stat_init(): ** (1) the number of columns in the index including the rowid ** (or for a WITHOUT ROWID table, the number of PK columns), ** (2) the number of columns in the key without the rowid/pk - ** (3) estimated number of rows in the index, - */ + ** (3) estimated number of rows in the index. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), nCol, regStat+int32(1)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol), regRowid) - if (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0) { - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iIdxCur, regTemp) - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - } else { - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, int32(1)) - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) != uint32(0))) _sqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat+int32(1), regStat, int32(4), uintptr(unsafe.Pointer(&_statInitFuncdef)), 0) - /* Implementation of the following: - ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; - ** regChng = 0 - ** goto next_push_0; - ** - */ + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regChng) addrNextRow = _sqlite3VdbeCurrentAddr(tls, v) if nColTest > 0 { @@ -92746,8 +93168,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), iIdxCur, addrNextRow) } /* Add the entry to the stat1 table. */ + if (*TIndex)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { + /* Partial indexes might get a zero-entry in sqlite_stat1. But + ** an empty table is omitted from sqlite_stat1. */ + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + addrGotoEnd = 0 + } _callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11793, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11918, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP4(tls, v, -int32(1), pStat1, -int32(5)) @@ -92766,6 +93194,11 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint v18 = int32(OP_NotFound) } seekOp = uint8(v18) + /* No STAT4 data is generated if the number of rows is zero */ + if addrGotoEnd == 0 { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Cast), regStat1, int32(SQLITE_AFF_INTEGER)) + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) + } if doOnce != 0 { mxCol = nCol /* Compute the maximum number of columns in any index */ @@ -92818,7 +93251,9 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeJumpHere(tls, v, addrIsNull) } /* End of analysis */ - _sqlite3VdbeJumpHere(tls, v, addrRewind) + if addrGotoEnd != 0 { + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + } goto _13 _13: ; @@ -92831,7 +93266,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iTabCur, regStat1) jZeroRows = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regIdxname) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11793, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11918, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -92903,9 +93338,9 @@ func _analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr iStatCur = (*TParse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52)) += int32(3) if pOnlyIdx != 0 { - _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11797) + _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11922) } else { - _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11801) + _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11926) } _analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, (*TParse)(unsafe.Pointer(pParse)).FnMem+int32(1), (*TParse)(unsafe.Pointer(pParse)).FnTab) _loadAnalysis(tls, pParse, iDb) @@ -93034,7 +93469,7 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, _, _, _, _, _, _ = c, i, sz, v, z, v2 z = zIntArray if z == uintptr(0) { - z = __ccgo_ts + 1652 + z = __ccgo_ts + 1666 } i = 0 for { @@ -93069,17 +93504,17 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, __ccgo_ts+11805, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11930, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 2, 0x4) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11816, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11941, z) == 0 { sz = _sqlite3Atoi(tls, z+uintptr(3)) if sz < int32(2) { sz = int32(2) } (*TIndex)(unsafe.Pointer(pIndex)).FszIdxRow = _sqlite3LogEst(tls, uint64(uint64(sz))) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11826, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11951, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 6, 0x40) } } @@ -93455,11 +93890,11 @@ func _loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) (r int32) { _, _, _, _ = pStat4, rc, v1, v2 rc = SQLITE_OK if v2 = (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0); v2 { - v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11612, zDb) + v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11737, zDb) pStat4 = v1 } if v2 && v1 != uintptr(0) && int32((*TTable)(unsafe.Pointer(pStat4)).FeTabType) == TABTYP_NORM { - rc = _loadStatTbl(tls, db, __ccgo_ts+11838, __ccgo_ts+11907, zDb) + rc = _loadStatTbl(tls, db, __ccgo_ts+11963, __ccgo_ts+12032, zDb) } return rc } @@ -93525,10 +93960,10 @@ func _sqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) (r int32) { /* Load new statistics out of the sqlite_stat1 table */ (*(*TanalysisInfo)(unsafe.Pointer(bp))).Fdb = db (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName - v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11586, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) + v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11711, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) pStat1 = v3 if v3 != 0 && int32((*TTable)(unsafe.Pointer(pStat1)).FeTabType) == TABTYP_NORM { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+11959, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+12084, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -93641,7 +94076,7 @@ func _resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) (r int32) { // ** database iDb attached to handle db. // */ func _sqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) (r int32) { - return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6589, zName) == 0) + return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6653, zName) == 0) } // C documentation @@ -93683,21 +94118,21 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if zFile == uintptr(0) { - zFile = __ccgo_ts + 1652 + zFile = __ccgo_ts + 1666 } if zName == uintptr(0) { - zName = __ccgo_ts + 1652 + zName = __ccgo_ts + 1666 } if int32(uint32(*(*uint8)(unsafe.Pointer(db + 192 + 8))&0x4>>2)) != 0 { /* 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 + 40)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+3971) + *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+4035) if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { return } - rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12000, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) + rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12125, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) if rc == SQLITE_OK { pNewSchema = _sqlite3SchemaGet(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40))) if pNewSchema != 0 { @@ -93728,7 +94163,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { ** * Specified database name already being used. */ if (*Tsqlite3)(unsafe.Pointer(db)).FnDb >= *(*int32)(unsafe.Pointer(db + 136 + 7*4))+int32(2) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12003, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12128, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) goto attach_error } i = 0 @@ -93737,7 +94172,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { break } if _sqlite3DbIsNamed(tls, db, i, zName) != 0 { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12040, libc.VaList(bp+56, zName)) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12165, libc.VaList(bp+56, zName)) goto attach_error } goto _1 @@ -93785,7 +94220,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FnoSharedCache = uint8(0) if rc == int32(SQLITE_CONSTRAINT) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12070, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12195, 0) } else { if rc == SQLITE_OK { (*TDb)(unsafe.Pointer(pNew)).FpSchema = _sqlite3SchemaGet(tls, db, (*TDb)(unsafe.Pointer(pNew)).FpBt) @@ -93793,7 +94228,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { rc = int32(SQLITE_NOMEM) } else { if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0 && int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12099, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12224, 0) rc = int32(SQLITE_ERROR) } } @@ -93837,10 +94272,10 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)<= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12195, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12320, libc.VaList(bp+136, zName)) goto detach_error } if i < int32(2) { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12216, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12341, libc.VaList(bp+136, zName)) goto detach_error } if _sqlite3BtreeTxnState(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != SQLITE_TXN_NONE || _sqlite3BtreeIsInBackup(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != 0 { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12242, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12367, libc.VaList(bp+136, zName)) goto detach_error } /* If any TEMP triggers reference the schema being detached, move those @@ -94005,7 +94440,7 @@ func _sqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { var _detach_func = TFuncDef{ FnArg: int8(1), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12264, + FzName: __ccgo_ts + 12389, } func init() { @@ -94027,7 +94462,7 @@ func _sqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, p var _attach_func = TFuncDef{ FnArg: int8(3), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12278, + FzName: __ccgo_ts + 12403, } func init() { @@ -94053,7 +94488,7 @@ func _fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) (r int32) { if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer((*TDbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit1.Fbusy != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } else { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12292, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12417, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) return int32(WRC_Abort) } } @@ -94087,7 +94522,7 @@ func _fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) (r int32) { if int32((*TDbFixer)(unsafe.Pointer(pFix)).FbTemp) == 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != _sqlite3FindDbName(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12316, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12441, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return int32(WRC_Abort) } _sqlite3DbFree(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) @@ -94303,7 +94738,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // ** user-supplied authorization function returned an illegal value. // */ func _sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12362, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12487, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) } @@ -94331,11 +94766,11 @@ func _sqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, int32(SQLITE_READ), zTab, zCol, zDb, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12385, libc.VaList(bp+8, zTab, zCol)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12510, libc.VaList(bp+8, zTab, zCol)) if (*Tsqlite3)(unsafe.Pointer(db)).FnDb > int32(2) || iDb != 0 { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12391, libc.VaList(bp+8, zDb, z)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12516, libc.VaList(bp+8, zDb, z)) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12397, libc.VaList(bp+8, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12522, libc.VaList(bp+8, z)) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != int32(SQLITE_IGNORE) && rc != SQLITE_OK { @@ -94395,7 +94830,7 @@ func _sqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName } else { - zCol = __ccgo_ts + 7909 + zCol = __ccgo_ts + 8034 } } if int32(SQLITE_IGNORE) == _sqlite3AuthReadCol(tls, pParse, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -94430,7 +94865,7 @@ func _sqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, ** parameters can be either NULL or a string. */ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12424, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12549, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != SQLITE_OK && rc != int32(SQLITE_IGNORE) { @@ -94851,21 +95286,21 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { /* No match against the official names. But always match "main" ** to schema 0 as a legacy fallback. */ - if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6589) == 0 { + if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6653) == 0 { i = 0 } else { return uintptr(0) } } p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, zName) - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6529, int32(7)) == 0 { + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6593, int32(7)) == 0 { if i == int32(1) { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6556+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6575+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6070+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6537) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6620+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6639+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6134+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6601) } } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6575+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6070) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6639+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6134) } } } @@ -94895,12 +95330,12 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp ; i++ } - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6529, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6575+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6070) + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6593, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6639+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6134) } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6556+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6537) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6620+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6601) } } } @@ -94938,7 +95373,7 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt ** can be an eponymous virtual table. */ if int32((*TParse)(unsafe.Pointer(pParse)).FprepFlags)&int32(SQLITE_PREPARE_NO_VTAB) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 { pMod = _sqlite3HashFind(tls, db+576, zName) - if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12439, int32(7)) == 0 { + if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12564, int32(7)) == 0 { pMod = _sqlite3PragmaVtabRegister(tls, db, zName) } if pMod != 0 && _sqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0 { @@ -94956,15 +95391,15 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt } if p == uintptr(0) { if flags&uint32(LOCATE_VIEW) != 0 { - v1 = __ccgo_ts + 12447 + v1 = __ccgo_ts + 12572 } else { - v1 = __ccgo_ts + 12460 + v1 = __ccgo_ts + 12585 } zMsg = v1 if zDbase != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6793, libc.VaList(bp+8, zMsg, zDbase, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6857, libc.VaList(bp+8, zMsg, zDbase, zName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6803, libc.VaList(bp+8, zMsg, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6928, libc.VaList(bp+8, zMsg, zName)) } } else { } @@ -95002,12 +95437,12 @@ func _sqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags Tu32, p uintpt // ** names into the new preferred names, as appropriate. // */ func _sqlite3PreferredTableName(tls *libc.TLS, zName uintptr) (r uintptr) { - if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6529, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6070+7) == 0 { - return __ccgo_ts + 6575 + if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6593, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6134+7) == 0 { + return __ccgo_ts + 6639 } - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6537+7) == 0 { - return __ccgo_ts + 6556 + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6601+7) == 0 { + return __ccgo_ts + 6620 } } return zName @@ -95532,7 +95967,7 @@ func _sqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { var v uintptr _ = v v = _sqlite3GetVdbe(tls, p) - _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6070) + _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6134) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_OpenWrite), 0, int32(SCHEMA_ROOT), iDb, int32(5)) if (*TParse)(unsafe.Pointer(p)).FnTab == 0 { (*TParse)(unsafe.Pointer(p)).FnTab = int32(1) @@ -95564,7 +95999,7 @@ func _sqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) { } /* "main" is always an acceptable alias for the primary database ** even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. */ - if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6589, zName) { + if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6653, zName) { break } goto _1 @@ -95622,13 +96057,13 @@ func _sqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12474, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12599, 0) return -int32(1) } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = _sqlite3FindDb(tls, db, pName1) if iDb < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12491, libc.VaList(bp+8, pName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12616, libc.VaList(bp+8, pName1)) return -int32(1) } } else { @@ -95672,12 +96107,12 @@ func _sqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit))) != 0 || Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 1*8))) != 0 || Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 2*8))) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1652, 0) /* corruptSchema() will supply the error */ + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1666, 0) /* corruptSchema() will supply the error */ return int32(SQLITE_ERROR) } } else { - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6529, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12511, libc.VaList(bp+8, zName)) + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6593, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12636, libc.VaList(bp+8, zName)) return int32(SQLITE_ERROR) } } @@ -95892,9 +96327,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui /* Special case: Parsing the sqlite_schema or sqlite_temp_schema schema */ iDb = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6537 + v1 = __ccgo_ts + 6601 } else { - v1 = __ccgo_ts + 6070 + v1 = __ccgo_ts + 6134 } zName = _sqlite3DbStrDup(tls, db, v1) *(*uintptr)(unsafe.Pointer(bp)) = pName1 @@ -95907,7 +96342,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 && (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) && iDb != int32(1) { /* If creating a temp table, the name may not be qualified. Unless ** the database name is "temp" anyway. */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12553, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12678, 0) return } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 { @@ -95923,9 +96358,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui return } if isView != 0 { - v2 = __ccgo_ts + 10800 + v2 = __ccgo_ts + 10925 } else { - v2 = __ccgo_ts + 9062 + v2 = __ccgo_ts + 9187 } if _sqlite3CheckObjectName(tls, pParse, zName, v2, zName) != 0 { goto begin_table_error @@ -95935,9 +96370,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui } zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp == int32(1) { - v3 = __ccgo_ts + 6537 + v3 = __ccgo_ts + 6601 } else { - v3 = __ccgo_ts + 6070 + v3 = __ccgo_ts + 6134 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto begin_table_error @@ -95961,11 +96396,11 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if pTable != 0 { if !(noErr != 0) { if int32((*TTable)(unsafe.Pointer(pTable)).FeTabType) == int32(TABTYP_VIEW) { - v4 = __ccgo_ts + 10800 + v4 = __ccgo_ts + 10925 } else { - v4 = __ccgo_ts + 9062 + v4 = __ccgo_ts + 9187 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12594, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12719, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) _sqlite3ForceNotReadOnly(tls, pParse) @@ -95973,7 +96408,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui goto begin_table_error } if _sqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12615, libc.VaList(bp+16, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12740, libc.VaList(bp+16, zName)) goto begin_table_error } } @@ -96125,7 +96560,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { _, _, _ = db, pHash, pRet db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TParse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12650, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12775, 0) } else { } (*TParse)(unsafe.Pointer(pParse)).FbReturning = uint8(1) @@ -96141,7 +96576,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12684, libc.VaList(bp+8, pParse)) + Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12809, libc.VaList(bp+8, pParse)) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.FzName = pRet + 196 (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Fop = uint8(TK_RETURNING) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = uint8(TRIGGER_AFTER) @@ -96188,7 +96623,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok return } if int32((*TTable)(unsafe.Pointer(p)).FnCol)+int32(1) > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12704, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12829, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) return } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -96198,12 +96633,12 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok ** by the parser, we can sometimes end up with a typename that ends ** with "generated always". Check for this case and omit the surplus ** text. */ - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12727, int32(6)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12852, int32(6)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(6) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1)))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- } - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12734, int32(9)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12859, int32(9)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(9) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1)))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- @@ -96252,7 +96687,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok break } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FhName) == int32(int32(hName)) && _sqlite3StrICmp(tls, z, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FzCnName) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12744, libc.VaList(bp+40, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12869, libc.VaList(bp+40, z)) _sqlite3DbFree(tls, db, z) return } @@ -96460,10 +96895,10 @@ func _sqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar isInit = libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) != int32(1)) pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(p)).FnCol)-int32(1))*16 if !(_sqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(uint8(isInit))) != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12770, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12895, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12815, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12940, 0) } else { libc.Xmemset(tls, bp, 0, uint64(72)) (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_SPAN) @@ -96521,7 +96956,7 @@ func _makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { p1 = pCol + 14 *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(COLFLAG_PRIMKEY)) if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12856, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12981, 0) } } @@ -96558,7 +96993,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError goto primary_key_exit } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasPrimaryKey) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12908, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13033, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit } *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_HasPrimaryKey) @@ -96614,7 +97049,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError _sqlite3HasExplicitNulls(tls, pParse, pList) } else { if autoInc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12949, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13074, 0) } else { _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), uintptr(0), sortOrder, 0, uint8(SQLITE_IDXTYPE_PRIMARYKEY)) pList = uintptr(0) @@ -96730,17 +97165,17 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui } pCol = (*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-int32(1))*16 if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) == int32(PARSE_MODE_DECLARE_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13005, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13130, 0) goto generated_done } if int32((*TColumn)(unsafe.Pointer(pCol)).FiDflt) > 0 { goto generated_error } if pType != 0 { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13048, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13173, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { /* no-op */ } else { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13056, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13181, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { eType = uint8(COLFLAG_STORED) } else { goto generated_error @@ -96772,7 +97207,7 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui goto generated_error generated_error: ; - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13063, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13188, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) goto generated_done generated_done: ; @@ -96935,13 +97370,13 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { } n += _identLength(tls, (*TTable)(unsafe.Pointer(p)).FzName) if n < int32(50) { - zSep = __ccgo_ts + 1652 - zSep2 = __ccgo_ts + 13094 - zEnd = __ccgo_ts + 5110 + zSep = __ccgo_ts + 1666 + zSep2 = __ccgo_ts + 13219 + zEnd = __ccgo_ts + 5174 } else { - zSep = __ccgo_ts + 13096 - zSep2 = __ccgo_ts + 13100 - zEnd = __ccgo_ts + 13105 + zSep = __ccgo_ts + 13221 + zSep2 = __ccgo_ts + 13225 + zEnd = __ccgo_ts + 13230 } n += int32(35) + int32(6)*int32((*TTable)(unsafe.Pointer(p)).FnCol) zStmt = _sqlite3DbMallocRaw(tls, uintptr(0), uint64(uint64(n))) @@ -96949,7 +97384,7 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { _sqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13108, 0) + Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13233, 0) *(*int32)(unsafe.Pointer(bp)) = _sqlite3Strlen30(tls, zStmt) _identPut(tls, zStmt, bp, (*TTable)(unsafe.Pointer(p)).FzName) v2 = *(*int32)(unsafe.Pointer(bp)) @@ -96975,17 +97410,17 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { i++ pCol += 16 } - Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3799, libc.VaList(bp+16, zEnd)) + Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3863, libc.VaList(bp+16, zEnd)) return zStmt } var _azType1 = [6]uintptr{ - 0: __ccgo_ts + 1652, - 1: __ccgo_ts + 13122, - 2: __ccgo_ts + 13128, - 3: __ccgo_ts + 13133, - 4: __ccgo_ts + 13138, - 5: __ccgo_ts + 13128, + 0: __ccgo_ts + 1666, + 1: __ccgo_ts + 13247, + 2: __ccgo_ts + 13253, + 3: __ccgo_ts + 13258, + 4: __ccgo_ts + 13263, + 5: __ccgo_ts + 13253, } // C documentation @@ -97559,13 +97994,13 @@ func _sqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts Tu32, pSelect uintptr) { bp := tls.Alloc(112) defer tls.Free(112) - var addrInsLoop, addrTop, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v4, v6, v8 int32 + var addrInsLoop, addrTop, iCsr, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v10, v4, v6, v8 int32 var colFlags Tu32 - var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v5, v7, v9 uintptr - var v10 Ti16 + var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v13, v5, v7, v9 uintptr + var v12 Ti16 var _ /* dest at bp+0 */ TSelectDest - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v4, v5, v6, v7, v8, v9 /* The new table */ - db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iCsr, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v12, v13, v4, v5, v6, v7, v8, v9 /* The new table */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ if pEnd == uintptr(0) && pSelect == uintptr(0) { return } @@ -97587,7 +98022,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if pSelect != 0 || !(int32((*TTable)(unsafe.Pointer(p)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) && (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1652, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1666, 0) return } (*TTable)(unsafe.Pointer(p)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum @@ -97614,9 +98049,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(ii)*16 if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf0>>4)) == COLTYPE_CUSTOM { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_HASTYPE) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13144, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1652))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13269, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1666))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13177, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13302, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } return } else { @@ -97637,11 +98072,11 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* Special processing for WITHOUT ROWID Tables */ if tabOpts&uint32(TF_WithoutRowid) != 0 { if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13204, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13329, 0) return } if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasPrimaryKey) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13254, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13379, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) return } *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) @@ -97688,7 +98123,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ii1++ } if nNG == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13286, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13411, 0) return } } @@ -97722,12 +98157,12 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if int32((*TTable)(unsafe.Pointer(p)).FeTabType) == TABTYP_NORM { /* A regular table */ - zType = __ccgo_ts + 9062 - zType2 = __ccgo_ts + 13330 + zType = __ccgo_ts + 9187 + zType2 = __ccgo_ts + 13455 } else { /* A view */ - zType = __ccgo_ts + 10800 - zType2 = __ccgo_ts + 13336 + zType = __ccgo_ts + 10925 + zType2 = __ccgo_ts + 13461 } /* If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT ** statement to populate the new table. The root-page number for the @@ -97742,28 +98177,31 @@ func _sqlite3EndTable(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 { /* A table that describes the SELECT results */ + if pSelect != 0 { /* Write cursor on the new table */ if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) (*TParse)(unsafe.Pointer(pParse)).FnErr++ return } - v5 = pParse + 56 - *(*int32)(unsafe.Pointer(v5))++ + v5 = pParse + 52 v4 = *(*int32)(unsafe.Pointer(v5)) - regYield = v4 + *(*int32)(unsafe.Pointer(v5))++ + iCsr = v4 v7 = pParse + 56 *(*int32)(unsafe.Pointer(v7))++ v6 = *(*int32)(unsafe.Pointer(v7)) - regRec = v6 + regYield = v6 v9 = pParse + 56 *(*int32)(unsafe.Pointer(v9))++ v8 = *(*int32)(unsafe.Pointer(v9)) - regRowid = v8 + regRec = v8 + v11 = pParse + 56 + *(*int32)(unsafe.Pointer(v11))++ + v10 = *(*int32)(unsafe.Pointer(v11)) + regRowid = v10 _sqlite3MayAbort(tls, pParse) - _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), int32(1), (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) + _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), iCsr, (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_P2ISREG)) - (*TParse)(unsafe.Pointer(pParse)).FnTab = int32(2) addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -97773,9 +98211,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if pSelTab == uintptr(0) { return } - v10 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol - (*TTable)(unsafe.Pointer(p)).FnNVCol = v10 - (*TTable)(unsafe.Pointer(p)).FnCol = v10 + v12 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol + (*TTable)(unsafe.Pointer(p)).FnNVCol = v12 + (*TTable)(unsafe.Pointer(p)).FnCol = v12 (*TTable)(unsafe.Pointer(p)).FaCol = (*TTable)(unsafe.Pointer(pSelTab)).FaCol (*TTable)(unsafe.Pointer(pSelTab)).FnCol = 0 (*TTable)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) @@ -97790,33 +98228,33 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr addrInsLoop = _sqlite3VdbeAddOp1(tls, v, int32(OP_Yield), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSDParm) _sqlite3VdbeAddOp3(tls, v, int32(OP_MakeRecord), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst, (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst, regRec) _sqlite3TableAffinity(tls, v, p, 0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), int32(1), regRowid) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), int32(1), regRec, regRowid) + _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iCsr, regRowid) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iCsr, regRec, regRowid) _sqlite3VdbeGoto(tls, v, addrInsLoop) _sqlite3VdbeJumpHere(tls, v, addrInsLoop) - _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), int32(1)) + _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), iCsr) } /* Compute the complete text of the CREATE statement */ if pSelect != 0 { zStmt = _createTableStmt(tls, db, p) } else { if tabOpts != 0 { - v11 = pParse + 288 + v13 = pParse + 288 } else { - v11 = pEnd + v13 = pEnd } - pEnd2 = v11 + pEnd2 = v13 n = int32(int64((*TToken)(unsafe.Pointer(pEnd2)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) if int32(*(*int8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pEnd2)).Fz))) != int32(';') { n = int32(uint32(n) + (*TToken)(unsafe.Pointer(pEnd2)).Fn) } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13341, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13466, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13356, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13481, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) _sqlite3DbFree(tls, db, zStmt) _sqlite3ChangeCookie(tls, pParse, iDb) /* Check to see if we need to create an sqlite_sequence table for @@ -97825,17 +98263,16 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != uint32(0) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != libc.Int32FromInt32(PARSE_MODE_NORMAL)) { pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13454, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13579, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) } } /* Reparse everything to update our internal data structures */ - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13496, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13621, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) /* Test for cycles in generated columns and illegal expressions ** in CHECK constraints and in DEFAULT clauses. */ if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasGenerated) != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13530, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(0x0001), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13655, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13551, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } /* Add the table to the in-memory representation of the database. */ @@ -97852,7 +98289,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* If this is the magic sqlite_sequence table used by autoincrement, ** then record a pointer to this table in the main database structure ** so that INSERT can find the table easily. */ - if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9584) == 0 { + if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9709) == 0 { (*TSchema)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } } @@ -97885,7 +98322,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*uintptr)(unsafe.Pointer(bp + 112)) = uintptr(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if int32((*TParse)(unsafe.Pointer(pParse)).FnVar) > 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13583, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13676, 0) goto create_view_fail } _sqlite3StartTable(tls, pParse, pName1, pName2, isTemp, int32(1), 0, noErr) @@ -97902,7 +98339,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(TF_NoVisibleRowid) /* Never allow rowid in view */ _sqlite3TwoPartName(tls, pParse, pName1, pName2, bp+112) iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(p)).FpSchema) - _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10800, *(*uintptr)(unsafe.Pointer(bp + 112))) + _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10925, *(*uintptr)(unsafe.Pointer(bp + 112))) if _sqlite3FixSelect(tls, bp+16, pSelect) != 0 { goto create_view_fail } @@ -97998,7 +98435,7 @@ func _viewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) (r int32 ** SELECT * FROM temp.ex1; */ if int32((*TTable)(unsafe.Pointer(pTable)).FnCol) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13619, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13712, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) return int32(1) } /* If we get this far, it means we need to compute the table names. @@ -98182,7 +98619,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { v = _sqlite3GetVdbe(tls, pParse) r1 = _sqlite3GetTempReg(tls, pParse) if iTable < int32(2) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13649, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13742, 0) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Destroy), iTable, r1, iDb) _sqlite3MayAbort(tls, pParse) @@ -98195,7 +98632,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { ** is in register NNN. See grammar rules associated with the TK_REGISTER ** token for additional information. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13664, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13757, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) _sqlite3ReleaseTempReg(tls, pParse, r1) } @@ -98278,9 +98715,9 @@ func _sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uin if !(i <= int32(4)) { break } - Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13731, libc.VaList(bp+32, i)) + Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13824, libc.VaList(bp+32, i)) if _sqlite3FindTable(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, bp, zDbName) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11689, libc.VaList(bp+32, zDbName, bp, zType, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11814, libc.VaList(bp+32, zDbName, bp, zType, zName)) } goto _1 _1: @@ -98321,7 +98758,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** move as a result of the drop (can happen in auto-vacuum mode). */ if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13745, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13838, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* Drop all entries in the schema table that refer to the ** table. The program name loops through the schema table and deletes @@ -98330,7 +98767,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** created in the temp database that refers to a table in another ** database. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13790, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13883, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { _destroyTable(tls, pParse, pTab) } @@ -98365,11 +98802,11 @@ func _sqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) (r int32) { // ** Return true if it is not allowed to drop the given table // */ func _tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) (r int32) { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6529, int32(7)) == 0 { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3422, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6593, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3486, int32(4)) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7270, int32(10)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7395, int32(10)) == 0 { return 0 } return int32(1) @@ -98424,9 +98861,9 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6537 + v1 = __ccgo_ts + 6601 } else { - v1 = __ccgo_ts + 6070 + v1 = __ccgo_ts + 6134 } zTab = v1 zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName @@ -98459,18 +98896,18 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if _tableMayNotBeDropped(tls, db, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13857, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13950, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Ensure DROP TABLE is not used on a view, and DROP VIEW is not used ** on a table. */ if isView != 0 && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13885, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13978, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } if !(isView != 0) && int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13919, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14012, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Generate code to remove the table from the schema table @@ -98480,7 +98917,7 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) if !(isView != 0) { - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11801, (*TTable)(unsafe.Pointer(pTab)).FzName) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11926, (*TTable)(unsafe.Pointer(pTab)).FzName) _sqlite3FkDropTable(tls, pParse, pName, pTab) } _sqlite3CodeDropTable(tls, pParse, pTab, iDb, isView) @@ -98528,13 +98965,13 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p goto fk_end } if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13951, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14044, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) goto fk_end } nCol = int32(1) } else { if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14014, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14107, 0) goto fk_end } else { nCol = (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr @@ -98597,7 +99034,7 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p j++ } if j >= int32((*TTable)(unsafe.Pointer(p)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14108, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14201, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) goto fk_end } if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { @@ -98857,11 +99294,11 @@ func _sqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) (r i if int32(uint32(*(*uint16)(unsafe.Pointer(pList + 8 + uintptr(i)*32 + 16 + 4))&0x20>>5)) != 0 { sf = (*(*TExprList_item)(unsafe.Pointer(pList + 8 + uintptr(i)*32))).Ffg.FsortFlags if int32(int32(sf)) == 0 || int32(int32(sf)) == int32(3) { - v2 = __ccgo_ts + 14154 + v2 = __ccgo_ts + 14247 } else { - v2 = __ccgo_ts + 14160 + v2 = __ccgo_ts + 14253 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14165, libc.VaList(bp+8, v2)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14258, libc.VaList(bp+8, v2)) return int32(1) } goto _1 @@ -98939,7 +99376,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = int32(1) } } - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14193, *(*uintptr)(unsafe.Pointer(bp + 96))) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14286, *(*uintptr)(unsafe.Pointer(bp + 96))) if _sqlite3FixSrcList(tls, bp, pTblName) != 0 { /* Because the parser constructs pTblName from a single identifier, ** sqlite3FixSrcList can never fail. */ @@ -98949,7 +99386,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } if iDb == int32(1) && (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema != (*TTable)(unsafe.Pointer(pTab)).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14199, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14292, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if !((*TTable)(unsafe.Pointer(pTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { @@ -98963,16 +99400,16 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) } pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6529, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14249, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6593, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14342, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14277, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14370, 0) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14302, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14395, 0) goto exit_create_index } /* @@ -98993,19 +99430,19 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if zName == uintptr(0) { goto exit_create_index } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14193, (*TTable)(unsafe.Pointer(pTab)).FzName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14286, (*TTable)(unsafe.Pointer(pTab)).FzName) { goto exit_create_index } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if !((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0) { if _sqlite3FindTable(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14336, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14429, libc.VaList(bp+136, zName)) goto exit_create_index } } if _sqlite3FindIndex(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { if !(ifNotExist != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14370, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14463, libc.VaList(bp+136, zName)) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) _sqlite3ForceNotReadOnly(tls, pParse) @@ -99026,7 +99463,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pLoop = (*TIndex)(unsafe.Pointer(pLoop)).FpNext n++ } - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14394, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14487, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) if zName == uintptr(0) { goto exit_create_index } @@ -99044,9 +99481,9 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { zDb = (*TDb)(unsafe.Pointer(pDb)).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6537 + v2 = __ccgo_ts + 6601 } else { - v2 = __ccgo_ts + 6070 + v2 = __ccgo_ts + 6134 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v2, uintptr(0), zDb) != 0 { goto exit_create_index @@ -99074,7 +99511,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } _sqlite3ExprListSetSortOrder(tls, pList, sortOrder, -int32(1)) } else { - _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14193) + _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14286) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { goto exit_create_index } @@ -99158,7 +99595,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pCExpr = _sqlite3ExprSkipCollate(tls, (*TExprList_item)(unsafe.Pointer(pListItem)).FpExpr) if int32((*TExpr)(unsafe.Pointer(pCExpr)).Fop) != int32(TK_COLUMN) { if pTab == (*TParse)(unsafe.Pointer(pParse)).FpNewTable { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14417, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14510, 0) goto exit_create_index } if (*TIndex)(unsafe.Pointer(pIndex)).FaColExpr == uintptr(0) { @@ -99305,7 +99742,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u ** explicitly specified behavior for the index. */ if !(int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) || int32((*TIndex)(unsafe.Pointer(pIndex)).FonError) == int32(OE_Default)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14478, libc.VaList(bp+136, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14571, libc.VaList(bp+136, 0)) } if int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) { (*TIndex)(unsafe.Pointer(pIdx)).FonError = (*TIndex)(unsafe.Pointer(pIndex)).FonError @@ -99335,8 +99772,8 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != uintptr(0) { (*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14520, 0) - (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125123)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14613, 0) + (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125741)) goto exit_create_index } } @@ -99376,11 +99813,11 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* A named index with an explicit CREATE INDEX statement */ if onError == OE_None { - v13 = __ccgo_ts + 1652 + v13 = __ccgo_ts + 1666 } else { - v13 = __ccgo_ts + 14537 + v13 = __ccgo_ts + 14630 } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14545, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14638, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) } else { /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ /* zStmt = sqlite3MPrintf(""); */ @@ -99388,7 +99825,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* Add an entry in sqlite_schema for this index */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14565, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14658, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) _sqlite3DbFree(tls, db, zStmt) /* Fill the index with data and reparse the schema. Code an OP_Expire ** to invalidate all pre-compiled statements. @@ -99396,7 +99833,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != 0 { _sqlite3RefillIndex(tls, pParse, pIndex, iMem) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14624, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14717, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Expire), 0, int32(1)) } _sqlite3VdbeJumpHere(tls, v, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum)) @@ -99559,7 +99996,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pIndex = _sqlite3FindIndex(tls, db, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzName, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) if pIndex == uintptr(0) { if !(ifExists != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14651, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14744, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) _sqlite3ForceNotReadOnly(tls, pParse) @@ -99568,7 +100005,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in goto exit_drop_index } if int32(uint32(*(*uint16)(unsafe.Pointer(pIndex + 100))&0x3>>0)) != SQLITE_IDXTYPE_APPDEF { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14669, libc.VaList(bp+8, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14762, libc.VaList(bp+8, 0)) goto exit_drop_index } iDb = _sqlite3SchemaToIndex(tls, db, (*TIndex)(unsafe.Pointer(pIndex)).FpSchema) @@ -99576,9 +100013,9 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pTab = (*TIndex)(unsafe.Pointer(pIndex)).FpTable zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6537 + v1 = __ccgo_ts + 6601 } else { - v1 = __ccgo_ts + 6070 + v1 = __ccgo_ts + 6134 } zTab = v1 if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_DELETE), zTab, uintptr(0), zDb) != 0 { @@ -99594,8 +100031,8 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in v = _sqlite3GetVdbe(tls, pParse) if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14742, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11797, (*TIndex)(unsafe.Pointer(pIndex)).FzName) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14835, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11922, (*TIndex)(unsafe.Pointer(pIndex)).FzName) _sqlite3ChangeCookie(tls, pParse, iDb) _destroyRootPage(tls, pParse, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum), iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropIndex), iDb, 0, 0, (*TIndex)(unsafe.Pointer(pIndex)).FzName, 0) @@ -99786,7 +100223,7 @@ func _sqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra nAlloc = int64(2)*int64((*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) + int64(int64(nExtra)) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc+nExtra >= int32(SQLITE_MAX_SRCLIST) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14802, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14895, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) return uintptr(0) } if nAlloc > int64(SQLITE_MAX_SRCLIST) { @@ -100018,11 +100455,11 @@ func _sqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa db = (*TParse)(unsafe.Pointer(pParse)).Fdb if !(p != 0) && pOnUsing != uintptr(0) && ((*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 || (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpUsing != 0) { if (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 { - v1 = __ccgo_ts + 14838 + v1 = __ccgo_ts + 14931 } else { - v1 = __ccgo_ts + 14841 + v1 = __ccgo_ts + 14934 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14847, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14940, libc.VaList(bp+8, v1)) goto append_from_error } p = _sqlite3SrcListAppend(tls, pParse, p, pTable, pDatabase) @@ -100220,7 +100657,7 @@ func _sqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { var eTxnType, i int32 _, _, _, _, _ = db, eTxnType, i, pBt, v db = (*TParse)(unsafe.Pointer(pParse)).Fdb - if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14883, uintptr(0), uintptr(0)) != 0 { + if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14976, uintptr(0), uintptr(0)) != 0 { return } v = _sqlite3GetVdbe(tls, pParse) @@ -100267,9 +100704,9 @@ func _sqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { _, _, _ = isRollback, v, v1 isRollback = libc.BoolInt32(eType == int32(TK_ROLLBACK)) if isRollback != 0 { - v1 = __ccgo_ts + 14889 + v1 = __ccgo_ts + 14982 } else { - v1 = __ccgo_ts + 14898 + v1 = __ccgo_ts + 14991 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), v1, uintptr(0), uintptr(0)) != 0 { return @@ -100301,9 +100738,9 @@ func _sqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } var _az = [3]uintptr{ - 0: __ccgo_ts + 14883, - 1: __ccgo_ts + 14905, - 2: __ccgo_ts + 14889, + 0: __ccgo_ts + 14976, + 1: __ccgo_ts + 14998, + 2: __ccgo_ts + 14982, } // C documentation @@ -100323,7 +100760,7 @@ func _sqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) (r int32) { if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt == uintptr(0) && !((*TParse)(unsafe.Pointer(pParse)).Fexplain != 0) { rc = _sqlite3BtreeOpen(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp, 0, _flags) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14913, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15006, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = rc return int32(1) } @@ -100507,7 +100944,7 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable _sqlite3StrAccumInit(tls, bp, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136))) if (*TIndex)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+14983, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15076, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) } else { j = 0 for { @@ -100516,10 +100953,10 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx } zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*16))).FzCnName if j != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+14994, int32(2)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+15087, int32(2)) } Xsqlite3_str_appendall(tls, bp, (*TTable)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp, __ccgo_ts+1665, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+1679, int32(1)) Xsqlite3_str_appendall(tls, bp, zCol) goto _1 _1: @@ -100548,10 +100985,10 @@ func _sqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr _, _ = rc, zMsg if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12385, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12510, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(6)< libc.BoolInt32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15113, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15206, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } return 0 } @@ -101654,11 +102091,11 @@ func _sqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger ui bp := tls.Alloc(16) defer tls.Free(16) if _tabIsReadOnly(tls, pParse, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15146, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15239, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && (pTrigger == uintptr(0) || (*TTrigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 && (*TTrigger)(unsafe.Pointer(pTrigger)).FpNext == uintptr(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15175, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15268, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -102061,7 +102498,7 @@ func _sqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** invoke the callback function. */ if memCnt != 0 { - _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15213) + _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15306) } goto delete_from_cleanup delete_from_cleanup: @@ -102209,7 +102646,7 @@ func _sqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri v3 = 0 } _sqlite3VdbeAddOp2(tls, v, int32(OP_Delete), iDataCur, v3) - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11586) { + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11711) { _sqlite3VdbeAppendP4(tls, v, pTab, -int32(5)) } if int32(int32(eMode)) != ONEPASS_OFF { @@ -102513,11 +102950,11 @@ func _typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } var _azType2 = [5]uintptr{ - 0: __ccgo_ts + 6310, - 1: __ccgo_ts + 6305, - 2: __ccgo_ts + 8201, - 3: __ccgo_ts + 8196, - 4: __ccgo_ts + 1638, + 0: __ccgo_ts + 6374, + 1: __ccgo_ts + 6369, + 2: __ccgo_ts + 8326, + 3: __ccgo_ts + 8321, + 4: __ccgo_ts + 1652, } // C documentation @@ -102631,7 +103068,7 @@ func _absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* IMP: R-31676-45509 If X is the integer -9223372036854775808 ** then abs(X) throws an integer overflow error since there is no ** equivalent positive 64-bit two complement value. */ - Xsqlite3_result_error(tls, context, __ccgo_ts+15226, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15319, -int32(1)) return } iVal = -iVal @@ -102946,7 +103383,7 @@ func _roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } *(*float64)(unsafe.Pointer(bp)) = float64(int64(*(*float64)(unsafe.Pointer(bp)) + v1)) } else { - zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15243, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) + zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15336, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -103526,7 +103963,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { */ nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer(db + 136 + 8*4)) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15249, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15342, -int32(1)) return } if argc == int32(3) { @@ -103538,7 +103975,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { return } if _sqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), -int32(1)) != int32(1) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15282, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15375, -int32(1)) return } escape = _sqlite3Utf8Read(tls, bp+8) @@ -103620,7 +104057,7 @@ func _errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { defer tls.Free(16) _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // C documentation @@ -103707,17 +104144,17 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_FLOAT): r1 = Xsqlite3_value_double(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15327, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15420, libc.VaList(bp+16, r1)) zVal = Xsqlite3_str_value(tls, pStr) if zVal != 0 { _sqlite3AtoF(tls, zVal, bp, int32((*TStrAccum)(unsafe.Pointer(pStr)).FnChar), uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp)) { Xsqlite3_str_reset(tls, pStr) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15335, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15428, libc.VaList(bp+16, r1)) } } case int32(SQLITE_INTEGER): - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1408, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1427, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) case int32(SQLITE_BLOB): zBlob = Xsqlite3_value_blob(tls, pValue) nBlob = int64(Xsqlite3_value_bytes(tls, pValue)) @@ -103745,9 +104182,9 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { } case int32(SQLITE_TEXT): zArg = Xsqlite3_value_text(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15343, libc.VaList(bp+16, zArg)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15436, libc.VaList(bp+16, zArg)) default: - Xsqlite3_str_append(tls, pStr, __ccgo_ts+1653, int32(4)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+1667, int32(4)) break } } @@ -103984,7 +104421,7 @@ func _unhexFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { var v3 uint32 var _ /* zHex at bp+0 */ uintptr _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ch, d, nHex, nPass, p, pBlob, zPass, v1, v2, v3, v4, v5, v6 - zPass = __ccgo_ts + 1652 + zPass = __ccgo_ts + 1666 nPass = 0 *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) nHex = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -104297,7 +104734,7 @@ var _lenOne = [1]uint32{ } var _azOne = [1]uintptr{ - 0: __ccgo_ts + 11206, + 0: __ccgo_ts + 11331, } // C documentation @@ -104365,7 +104802,7 @@ func _concatFuncCore(tls *libc.TLS, context uintptr, argc int32, argv uintptr, n // ** concatentation of all non-null arguments. // */ func _concatFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1652) + _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1666) } // C documentation @@ -104411,7 +104848,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { _, _, _, _, _, _, _ = code, i, j, prevcode, zIn, v3, v4 zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = __ccgo_ts + 1652 + zIn = __ccgo_ts + 1666 } i = 0 for { @@ -104457,7 +104894,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { /* IMP: R-64894-50321 The string "?000" is returned if the argument ** is NULL or contains no ASCII alphabetic characters. */ - Xsqlite3_result_text(tls, context, __ccgo_ts+15346, int32(4), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, context, __ccgo_ts+15439, int32(4), libc.UintptrFromInt32(0)) } } @@ -104518,7 +104955,7 @@ func _loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { ** flag is set. See the sqlite3_enable_load_extension() API. */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_LoadExtFunc) == uint64(0) { - Xsqlite3_result_error(tls, context, __ccgo_ts+12424, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+12549, -int32(1)) return } if argc == int32(2) { @@ -104707,7 +105144,7 @@ func _sumFinalize(tls *libc.TLS, context uintptr) { if p != 0 && (*TSumCtx)(unsafe.Pointer(p)).Fcnt > 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fapprox != 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fovrfl != 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+15226, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15319, -int32(1)) } else { if !(_sqlite3IsOverflow(tls, (*TSumCtx)(unsafe.Pointer(p)).FrErr) != 0) { Xsqlite3_result_double(tls, context, (*TSumCtx)(unsafe.Pointer(p)).FrSum+(*TSumCtx)(unsafe.Pointer(p)).FrErr) @@ -105049,7 +105486,7 @@ func _groupConcatValue(tls *libc.TLS, context uintptr) { func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { var rc int32 _ = rc - rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15351, int32(2)) + rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15444, int32(2)) if rc == int32(SQLITE_NOMEM) { _sqlite3OomFault(tls, db) } @@ -105078,8 +105515,8 @@ func _sqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 if !(nArg <= int32(3)) { break } - _sqlite3CreateFunc(tls, db, __ccgo_ts+15357, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15357, nArg, uint8(SQLITE_UTF8), uint8(0)) + _sqlite3CreateFunc(tls, db, __ccgo_ts+15450, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15450, nArg, uint8(SQLITE_UTF8), uint8(0)) *(*Tu32)(unsafe.Pointer(pDef + 4)) |= uint32(uint32(flags)) *(*Tu32)(unsafe.Pointer(pDef + 4)) &= uint32(^libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)) goto _1 @@ -105385,562 +105822,562 @@ var _aBuiltinFunc = [110]TFuncDef{ FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_implies_nonnull_row))), - FzName: __ccgo_ts + 15362, + FzName: __ccgo_ts + 15455, }, 1: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_compare))), - FzName: __ccgo_ts + 15382, + FzName: __ccgo_ts + 15475, }, 2: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_implies_expr))), - FzName: __ccgo_ts + 15395, + FzName: __ccgo_ts + 15488, }, 3: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_affinity))), - FzName: __ccgo_ts + 15413, + FzName: __ccgo_ts + 15506, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15422, + FzName: __ccgo_ts + 15515, }, 5: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15430, + FzName: __ccgo_ts + 15523, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15430, + FzName: __ccgo_ts + 15523, }, 7: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15445, + FzName: __ccgo_ts + 15538, }, 8: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15471, + FzName: __ccgo_ts + 15564, }, 9: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15496, + FzName: __ccgo_ts + 15589, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15505, + FzName: __ccgo_ts + 15598, }, 11: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15516, + FzName: __ccgo_ts + 15609, }, 12: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_sqlite_offset))), - FzName: __ccgo_ts + 15523, + FzName: __ccgo_ts + 15616, }, 13: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15537, + FzName: __ccgo_ts + 15630, }, 14: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15537, + FzName: __ccgo_ts + 15630, }, 15: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15543, + FzName: __ccgo_ts + 15636, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15543, + FzName: __ccgo_ts + 15636, }, 17: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15549, + FzName: __ccgo_ts + 15642, }, 18: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15549, + FzName: __ccgo_ts + 15642, }, 19: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 20: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 21: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15558, + FzName: __ccgo_ts + 15651, }, 23: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15558, + FzName: __ccgo_ts + 15651, }, 24: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15558, + FzName: __ccgo_ts + 15651, }, 25: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15562, + FzName: __ccgo_ts + 15655, }, 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15569, + FzName: __ccgo_ts + 15662, }, 27: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_LENGTH)), - FzName: __ccgo_ts + 15577, + FzName: __ccgo_ts + 15670, }, 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_BYTELEN)), - FzName: __ccgo_ts + 15584, + FzName: __ccgo_ts + 15677, }, 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15597, + FzName: __ccgo_ts + 15690, }, 30: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15603, + FzName: __ccgo_ts + 15696, }, 31: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15610, + FzName: __ccgo_ts + 15703, }, 32: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15617, + FzName: __ccgo_ts + 15710, }, 33: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15625, + FzName: __ccgo_ts + 15718, }, 34: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15630, + FzName: __ccgo_ts + 15723, }, 35: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15634, + FzName: __ccgo_ts + 15727, }, 36: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15634, + FzName: __ccgo_ts + 15727, }, 37: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15640, + FzName: __ccgo_ts + 15733, }, 38: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15646, + FzName: __ccgo_ts + 15739, }, 39: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15652, + FzName: __ccgo_ts + 15745, }, 40: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15656, + FzName: __ccgo_ts + 15749, }, 41: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15656, + FzName: __ccgo_ts + 15749, }, 42: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15662, + FzName: __ccgo_ts + 15755, }, 43: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15662, + FzName: __ccgo_ts + 15755, }, 44: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15669, + FzName: __ccgo_ts + 15762, }, 45: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15669, + FzName: __ccgo_ts + 15762, }, 46: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15669, + FzName: __ccgo_ts + 15762, }, 47: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15679, + FzName: __ccgo_ts + 15772, }, 48: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15686, + FzName: __ccgo_ts + 15779, }, 49: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15693, + FzName: __ccgo_ts + 15786, }, 50: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15704, + FzName: __ccgo_ts + 15797, }, 51: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15711, + FzName: __ccgo_ts + 15804, }, 52: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15726, + FzName: __ccgo_ts + 15819, }, 53: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15743, + FzName: __ccgo_ts + 15836, }, 54: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15754, + FzName: __ccgo_ts + 15847, }, 55: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15760, + FzName: __ccgo_ts + 15853, }, 56: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15778, + FzName: __ccgo_ts + 15871, }, 57: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15786, + FzName: __ccgo_ts + 15879, }, 58: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15800, + FzName: __ccgo_ts + 15893, }, 59: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15808, + FzName: __ccgo_ts + 15901, }, 60: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15817, + FzName: __ccgo_ts + 15910, }, 61: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15817, + FzName: __ccgo_ts + 15910, }, 62: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15824, + FzName: __ccgo_ts + 15917, }, 63: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15824, + FzName: __ccgo_ts + 15917, }, 64: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15834, + FzName: __ccgo_ts + 15927, }, 65: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15838, + FzName: __ccgo_ts + 15931, }, 66: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15844, + FzName: __ccgo_ts + 15937, }, 67: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_COUNT) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15848, + FzName: __ccgo_ts + 15941, }, 68: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15848, + FzName: __ccgo_ts + 15941, }, 69: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15854, + FzName: __ccgo_ts + 15947, }, 70: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15854, + FzName: __ccgo_ts + 15947, }, 71: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15867, + FzName: __ccgo_ts + 15960, }, 72: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE) | libc.Int32FromInt32(SQLITE_FUNC_CASE)), FpUserData: uintptr(unsafe.Pointer(&_globInfo)), - FzName: __ccgo_ts + 15878, + FzName: __ccgo_ts + 15971, }, 73: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15357, + FzName: __ccgo_ts + 15450, }, 74: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15357, + FzName: __ccgo_ts + 15450, }, 75: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6734, + FzName: __ccgo_ts + 6798, }, 76: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6734, + FzName: __ccgo_ts + 6798, }, 77: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15883, + FzName: __ccgo_ts + 15976, }, 78: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15888, + FzName: __ccgo_ts + 1239, }, 79: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15896, + FzName: __ccgo_ts + 1247, }, 80: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15902, + FzName: __ccgo_ts + 15981, }, 81: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15908, + FzName: __ccgo_ts + 15987, }, 82: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15911, + FzName: __ccgo_ts + 15990, }, 83: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15915, + FzName: __ccgo_ts + 15994, }, 84: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15921, + FzName: __ccgo_ts + 16000, }, 85: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15911, + FzName: __ccgo_ts + 15990, }, 86: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15926, + FzName: __ccgo_ts + 16005, }, 87: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15930, + FzName: __ccgo_ts + 16009, }, 88: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15934, + FzName: __ccgo_ts + 16013, }, 89: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15940, + FzName: __ccgo_ts + 16019, }, 90: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15944, + FzName: __ccgo_ts + 16023, }, 91: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15949, + FzName: __ccgo_ts + 16028, }, 92: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15954, + FzName: __ccgo_ts + 16033, }, 93: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15959, + FzName: __ccgo_ts + 16038, }, 94: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15965, + FzName: __ccgo_ts + 16044, }, 95: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15969, + FzName: __ccgo_ts + 16048, }, 96: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15973, + FzName: __ccgo_ts + 16052, }, 97: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15977, + FzName: __ccgo_ts + 16056, }, 98: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15982, + FzName: __ccgo_ts + 16061, }, 99: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15987, + FzName: __ccgo_ts + 16066, }, 100: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15992, + FzName: __ccgo_ts + 16071, }, 101: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15998, + FzName: __ccgo_ts + 16077, }, 102: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16004, + FzName: __ccgo_ts + 16083, }, 103: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16010, + FzName: __ccgo_ts + 16089, }, 104: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16015, + FzName: __ccgo_ts + 16094, }, 105: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16023, + FzName: __ccgo_ts + 16102, }, 106: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16031, + FzName: __ccgo_ts + 16110, }, 107: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16034, + FzName: __ccgo_ts + 16113, }, 108: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 6734, + FzName: __ccgo_ts + 6798, }, 109: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_iif))), - FzName: __ccgo_ts + 16039, + FzName: __ccgo_ts + 16118, }, } @@ -106417,7 +106854,7 @@ func _sqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey } if !(pIdx != 0) { if !((*TParse)(unsafe.Pointer(pParse)).FdisableTriggers != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16043, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16122, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) } _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, aiCol) return int32(1) @@ -107528,11 +107965,11 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr break } *(*TToken)(unsafe.Pointer(bp + 16)) = TToken{ - Fz: __ccgo_ts + 6600, + Fz: __ccgo_ts + 6664, Fn: uint32(3), } /* Literal "old" token */ *(*TToken)(unsafe.Pointer(bp + 32)) = TToken{ - Fz: __ccgo_ts + 6596, + Fz: __ccgo_ts + 6660, Fn: uint32(3), } /* tFromCol = OLD.tToCol */ if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { @@ -107596,7 +108033,7 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr nFrom = _sqlite3Strlen30(tls, zFrom) if action == int32(OE_Restrict) { iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5229) + pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5293) if pRaise != 0 { (*TExpr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -108177,7 +108614,7 @@ func _sqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8166, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8291, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) } (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -108438,6 +108875,219 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { } } +// C documentation +// +// /* +// ** If argument pVal is a Select object returned by an sqlite3MultiValues() +// ** that was able to use the co-routine optimization, finish coding the +// ** co-routine. +// */ +func _sqlite3MultiValuesEnd(tls *libc.TLS, pParse uintptr, pVal uintptr) { + var pItem uintptr + _ = pItem + if pVal != 0 && (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pVal)).FpSrc)).FnSrc > 0 { + pItem = (*TSelect)(unsafe.Pointer(pVal)).FpSrc + 8 + _sqlite3VdbeEndCoroutine(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn) + _sqlite3VdbeJumpHere(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FaddrFillSub-int32(1)) + } +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are constant. +// */ +func _exprListIsConstant(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + if 0 == _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are both constant and have no affinity. +// */ +func _exprListIsNoAffinity(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + var pExpr uintptr + _, _ = ii, pExpr + if _exprListIsConstant(tls, pParse, pRow) == 0 { + return 0 + } + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + pExpr = (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr + if 0 != int32(_sqlite3ExprAffinity(tls, pExpr)) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** This function is called by the parser for the second and subsequent +// ** rows of a multi-row VALUES clause. Argument pLeft is the part of +// ** the VALUES clause already parsed, argument pRow is the vector of values +// ** for the new row. The Select object returned represents the complete +// ** VALUES clause, including the new row. +// ** +// ** There are two ways in which this may be achieved - by incremental +// ** coding of a co-routine (the "co-routine" method) or by returning a +// ** Select object equivalent to the following (the "UNION ALL" method): +// ** +// ** "pLeft UNION ALL SELECT pRow" +// ** +// ** If the VALUES clause contains a lot of rows, this compound Select +// ** object may consume a lot of memory. +// ** +// ** When the co-routine method is used, each row that will be returned +// ** by the VALUES clause is coded into part of a co-routine as it is +// ** passed to this function. The returned Select object is equivalent to: +// ** +// ** SELECT * FROM ( +// ** Select object to read co-routine +// ** ) +// ** +// ** The co-routine method is used in most cases. Exceptions are: +// ** +// ** a) If the current statement has a WITH clause. This is to avoid +// ** statements like: +// ** +// ** WITH cte AS ( VALUES('x'), ('y') ... ) +// ** SELECT * FROM cte AS a, cte AS b; +// ** +// ** This will not work, as the co-routine uses a hard-coded register +// ** for its OP_Yield instructions, and so it is not possible for two +// ** cursors to iterate through it concurrently. +// ** +// ** b) The schema is currently being parsed (i.e. the VALUES clause is part +// ** of a schema item like a VIEW or TRIGGER). In this case there is no VM +// ** being generated when parsing is taking place, and so generating +// ** a co-routine is not possible. +// ** +// ** c) There are non-constant expressions in the VALUES clause (e.g. +// ** the VALUES clause is part of a correlated sub-query). +// ** +// ** d) One or more of the values in the first row of the VALUES clause +// ** has an affinity (i.e. is a CAST expression). This causes problems +// ** because the complex rules SQLite uses (see function +// ** sqlite3SubqueryColumnTypes() in select.c) to determine the effective +// ** affinity of such a column for all rows require access to all values in +// ** the column simultaneously. +// */ +func _sqlite3MultiValues(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRow uintptr) (r uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var f, v1 int32 + var p, pRet, pSelect, v, v2 uintptr + var _ /* dest at bp+0 */ TSelectDest + _, _, _, _, _, _, _ = f, p, pRet, pSelect, v, v1, v2 + if (*TParse)(unsafe.Pointer(pParse)).FbHasWith != 0 || (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy != 0 || _exprListIsConstant(tls, pParse, pRow) == 0 || (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 && _exprListIsNoAffinity(tls, pParse, (*TSelect)(unsafe.Pointer(pLeft)).FpEList) == 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { + /* The co-routine method cannot be used. Fall back to UNION ALL. */ + pSelect = uintptr(0) + f = libc.Int32FromInt32(SF_Values) | libc.Int32FromInt32(SF_MultiValue) + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc != 0 { + _sqlite3MultiValuesEnd(tls, pParse, pLeft) + f = int32(SF_Values) + } else { + if (*TSelect)(unsafe.Pointer(pLeft)).FpPrior != 0 { + /* In this case set the SF_MultiValue flag only if it was set on pLeft */ + f = int32(uint32(uint32(f)) & (*TSelect)(unsafe.Pointer(pLeft)).FselFlags) + } + } + pSelect = _sqlite3SelectNew(tls, pParse, pRow, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(uint32(f)), uintptr(0)) + *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) + if pSelect != 0 { + (*TSelect)(unsafe.Pointer(pSelect)).Fop = uint8(TK_ALL) + (*TSelect)(unsafe.Pointer(pSelect)).FpPrior = pLeft + pLeft = pSelect + } + } else { + p = uintptr(0) /* SrcItem that reads from co-routine */ + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 { + /* Co-routine has not yet been started and the special Select object + ** that accesses the co-routine has not yet been created. This block + ** does both those things. */ + v = _sqlite3GetVdbe(tls, pParse) + pRet = _sqlite3SelectNew(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) + /* Ensure the database schema has been read. This is to ensure we have + ** the correct text encoding. */ + if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmDbFlags&uint32(DBFLAG_SchemaKnownOk) == uint32(0) { + _sqlite3ReadSchema(tls, pParse) + } + if pRet != 0 { + (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pRet)).FpSrc)).FnSrc = int32(1) + (*TSelect)(unsafe.Pointer(pRet)).FpPrior = (*TSelect)(unsafe.Pointer(pLeft)).FpPrior + (*TSelect)(unsafe.Pointer(pRet)).Fop = (*TSelect)(unsafe.Pointer(pLeft)).Fop + (*TSelect)(unsafe.Pointer(pLeft)).FpPrior = uintptr(0) + (*TSelect)(unsafe.Pointer(pLeft)).Fop = uint8(TK_SELECT) + p = (*TSelect)(unsafe.Pointer(pRet)).FpSrc + 8 + (*TSrcItem)(unsafe.Pointer(p)).FpSelect = pLeft + libc.SetBitFieldPtr16Uint32(p+60+4, libc.Uint32FromInt32(1), 5, 0x20) + (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + v2 = pParse + 56 + *(*int32)(unsafe.Pointer(v2))++ + v1 = *(*int32)(unsafe.Pointer(v2)) + (*TSrcItem)(unsafe.Pointer(p)).FregReturn = v1 + (*TSrcItem)(unsafe.Pointer(p)).FiCursor = -int32(1) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1)) = uint32(2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn, 0, (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub) + _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + /* Allocate registers for the output of the co-routine. Do so so + ** that there are two unused registers immediately before those + ** used by the co-routine. This allows the code in sqlite3Insert() + ** to use these registers directly, instead of copying the output + ** of the co-routine to a separate array for processing. */ + (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(3) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpEList)).FnExpr + *(*int32)(unsafe.Pointer(pParse + 56)) += int32(2) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst + *(*Tu32)(unsafe.Pointer(pLeft + 4)) |= uint32(SF_MultiValue) + _sqlite3Select(tls, pParse, pLeft, bp) + (*TSrcItem)(unsafe.Pointer(p)).FregResult = (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst + pLeft = pRet + } + } else { + p = (*TSelect)(unsafe.Pointer(pLeft)).FpSrc + 8 + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1))++ + } + if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { + if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p)).FpSelect)).FpEList)).FnExpr != (*TExprList)(unsafe.Pointer(pRow)).FnExpr { + _sqlite3SelectWrongNumTermsError(tls, pParse, (*TSrcItem)(unsafe.Pointer(p)).FpSelect) + } else { + _sqlite3ExprCodeExprList(tls, pParse, pRow, (*TSrcItem)(unsafe.Pointer(p)).FregResult, 0, uint8(0)) + _sqlite3VdbeAddOp1(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Yield), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + } + } + _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pRow) + } + return pLeft +} + // C documentation // // /* @@ -108540,27 +109190,27 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { bp := tls.Alloc(160) defer tls.Free(160) - var aRegIdx, db, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, v, v13, v16, v18, v6, v9 uintptr - var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v12, v15, v17, v19, v23, v24, v5, v7, v8 int32 + var aRegIdx, db, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, v, v10, v14, v17, v19, v7 uintptr + var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v13, v16, v18, v20, v24, v25, v5, v6, v8, v9 int32 var appendFlag, bIdListInOrder, useTempTable, withoutRowid Tu8 - var colFlags, v21 Tu32 + var colFlags, v22 Tu32 var _ /* dest at bp+8 */ TSelectDest var _ /* iDataCur at bp+0 */ int32 var _ /* iIdxCur at bp+4 */ int32 var _ /* isReplace at bp+112 */ int32 var _ /* sNC at bp+56 */ TNameContext var _ /* tmask at bp+48 */ int32 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v12, v13, v15, v16, v17, v18, v19, v21, v23, v24, v5, v6, v7, v8, v9 /* Number of columns in the data */ - nHidden = 0 /* Number of hidden columns if TABLE is virtual */ - *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ - *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ - ipkColumn = -int32(1) /* Label for the end of the insertion loop */ - srcTab = 0 /* Data comes from this temporary cursor if >=0 */ - addrInsTop = 0 /* Jump to label "D" */ - addrCont = 0 /* Index of database holding TABLE */ - useTempTable = uint8(0) /* Store SELECT results in intermediate table */ - appendFlag = uint8(0) /* True if IDLIST is in table order */ - pList = uintptr(0) /* Register in which to store next column */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v10, v13, v14, v16, v17, v18, v19, v20, v22, v24, v25, v5, v6, v7, v8, v9 /* Number of columns in the data */ + nHidden = 0 /* Number of hidden columns if TABLE is virtual */ + *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ + *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ + ipkColumn = -int32(1) /* Label for the end of the insertion loop */ + srcTab = 0 /* Data comes from this temporary cursor if >=0 */ + addrInsTop = 0 /* Jump to label "D" */ + addrCont = 0 /* Index of database holding TABLE */ + useTempTable = uint8(0) /* Store SELECT results in intermediate table */ + appendFlag = uint8(0) /* True if IDLIST is in table order */ + pList = uintptr(0) /* Register in which to store next column */ /* Register allocations */ regFromSelect = 0 /* Base register for data coming from SELECT */ regAutoinc = 0 /* Register holding the AUTOINCREMENT counter */ @@ -108698,7 +109348,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_STORED)|libc.Int32FromInt32(COLFLAG_VIRTUAL)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16088, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16167, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto insert_cleanup } break @@ -108713,7 +109363,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i bIdListInOrder = uint8(0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16129, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16208, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto insert_cleanup } @@ -108730,28 +109380,46 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** co-routine is the common header to the 3rd and 4th templates. */ if pSelect != 0 { /* Result code */ - v6 = pParse + 56 - *(*int32)(unsafe.Pointer(v6))++ - v5 = *(*int32)(unsafe.Pointer(v6)) - regYield = v5 - addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) - _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) - _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) - if bIdListInOrder != 0 { - v7 = regData - } else { - v7 = 0 - } - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v7 - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) - rc = _sqlite3Select(tls, pParse, pSelect, bp+8) - regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst - if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { - goto insert_cleanup + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc)).FnSrc == int32(1) && int32(uint32(*(*uint16)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + 60 + 4))&0x20>>5)) != 0 && (*TSelect)(unsafe.Pointer(pSelect)).FpPrior == uintptr(0) { + pItem = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSDParm = (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn + regFromSelect = (*TSrcItem)(unsafe.Pointer(pItem)).FregResult + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FpEList)).FnExpr + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+16240, libc.VaList(bp+128, pItem)) + if bIdListInOrder != 0 && nColumn == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { + regData = regFromSelect + regRowid = regData - int32(1) + if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { + v5 = int32(1) + } else { + v5 = 0 + } + regIns = regRowid - v5 + } + } else { + v7 = pParse + 56 + *(*int32)(unsafe.Pointer(v7))++ + v6 = *(*int32)(unsafe.Pointer(v7)) /* Top of the co-routine */ + regYield = v6 + addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) + _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) + if bIdListInOrder != 0 { + v8 = regData + } else { + v8 = 0 + } + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) + rc = _sqlite3Select(tls, pParse, pSelect, bp+8) + regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst + if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { + goto insert_cleanup + } + _sqlite3VdbeEndCoroutine(tls, v, regYield) + _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr } - _sqlite3VdbeEndCoroutine(tls, v, regYield) - _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ - nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr /* Set useTempTable to TRUE if the result of the SELECT statement ** should be written into a temporary table (template 4). Set to ** FALSE if each output row of the SELECT can be written directly into @@ -108765,10 +109433,10 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin useTempTable = uint8(1) } if useTempTable != 0 { /* Label "L" */ - v9 = pParse + 52 - v8 = *(*int32)(unsafe.Pointer(v9)) - *(*int32)(unsafe.Pointer(v9))++ - srcTab = v8 + v10 = pParse + 52 + v9 = *(*int32)(unsafe.Pointer(v10)) + *(*int32)(unsafe.Pointer(v10))++ + srcTab = v9 regRec = _sqlite3GetTempReg(tls, pParse) regTempRowid = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp2(tls, v, int32(OP_OpenEphemeral), srcTab, nColumn) @@ -108809,8 +109477,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { ipkColumn-- } - goto _10 - _10: + goto _11 + _11: ; i-- } @@ -108827,28 +109495,28 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_NOINSERT) != 0 { nHidden++ } - goto _11 - _11: + goto _12 + _12: ; i++ } } if nColumn != int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16161, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16248, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) goto insert_cleanup } } if pColumn != uintptr(0) && nColumn != (*TIdList)(unsafe.Pointer(pColumn)).FnId { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16213, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16300, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup } /* Initialize the count of rows to be inserted */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&(uint64(libc.Int32FromInt32(0x00001))<= 0 { /* tag-20191021-001: If the INTEGER PRIMARY KEY is being generated by the ** SELECT, go ahead and copy the value into the rowid slot now, so that @@ -108961,18 +109629,18 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** using excess space. The file format definition requires this extra ** NULL - we cannot optimize further by skipping the column completely */ _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) - goto _20 + goto _21 } - v21 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) - colFlags = v21 - if v21&uint32(COLFLAG_NOINSERT) != uint32(0) { + v22 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) + colFlags = v22 + if v22&uint32(COLFLAG_NOINSERT) != uint32(0) { nHidden++ if colFlags&uint32(COLFLAG_VIRTUAL) != uint32(0) { /* Virtual columns do not participate in OP_MakeRecord. So back up ** iRegStore by one slot to compensate for the iRegStore++ in the ** outer for() loop */ iRegStore-- - goto _20 + goto _21 } else { if colFlags&uint32(COLFLAG_STORED) != uint32(0) { /* Stored columns are computed later. But if there are BEFORE @@ -108982,13 +109650,13 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if *(*int32)(unsafe.Pointer(bp + 48))&int32(TRIGGER_BEFORE) != 0 { _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) } - goto _20 + goto _21 } else { if pColumn == uintptr(0) { /* Hidden columns that are not explicitly named in the INSERT ** get there default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } } } @@ -108999,8 +109667,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if !(j < (*TIdList)(unsafe.Pointer(pColumn)).FnId && *(*int32)(unsafe.Pointer(pColumn + 8 + uintptr(j)*16 + 8)) != i) { break } - goto _22 - _22: + goto _23 + _23: ; j++ } @@ -109008,14 +109676,14 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin /* A column not named in the insert column list gets its ** default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } k = j } else { if nColumn == 0 { /* This is INSERT INTO ... DEFAULT VALUES. Load the default value. */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } else { k = i - nHidden } @@ -109032,16 +109700,16 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin y = _sqlite3ExprCodeTarget(tls, pParse, pX, iRegStore) if y != iRegStore { if (*TExpr)(unsafe.Pointer(pX)).Fflags&uint32(libc.Int32FromInt32(EP_Subquery)) != uint32(0) { - v23 = int32(OP_Copy) + v24 = int32(OP_Copy) } else { - v23 = int32(OP_SCopy) + v24 = int32(OP_SCopy) } - _sqlite3VdbeAddOp2(tls, v, v23, y, iRegStore) + _sqlite3VdbeAddOp2(tls, v, v24, y, iRegStore) } } } - goto _20 - _20: + goto _21 + _21: ; i++ iRegStore++ @@ -109152,11 +109820,11 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _sqlite3VtabMakeWritable(tls, pParse, pTab) _sqlite3VdbeAddOp4(tls, v, int32(OP_VUpdate), int32(1), int32((*TTable)(unsafe.Pointer(pTab)).FnCol)+int32(2), regIns, pVTab, -int32(11)) if onError == int32(OE_Default) { - v24 = int32(OE_Abort) + v25 = int32(OE_Abort) } else { - v24 = onError + v25 = onError } - _sqlite3VdbeChangeP5(tls, v, uint16(v24)) + _sqlite3VdbeChangeP5(tls, v, uint16(v25)) _sqlite3MayAbort(tls, pParse) } else { *(*int32)(unsafe.Pointer(bp + 112)) = 0 /* True to use OPFLAG_SEEKRESULT */ @@ -109215,7 +109883,7 @@ insert_end: ** invoke the callback function. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16305) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16392) } goto insert_cleanup insert_cleanup: @@ -109608,7 +110276,7 @@ func _sqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case int32(OE_Rollback): fallthrough case int32(OE_Fail): - zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12385, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12510, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) _sqlite3VdbeAddOp3(tls, v, int32(OP_HaltIfNull), libc.Int32FromInt32(SQLITE_CONSTRAINT)|libc.Int32FromInt32(5)<= 0 && !(int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile)))) == libc.Int32FromUint8('/'))) { @@ -111842,7 +112510,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp iFile-- } iFile++ - if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16354, int32(3)) == 0 { + if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16441, int32(3)) == 0 { iFile += int32(3) } iEntry = int32(8) @@ -111862,7 +112530,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp ; iFile++ } - libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16358, uint64(6)) + libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16445, uint64(6)) zEntry = zAltEntry xInit = _sqlite3OsDlSym(tls, pVfs, handle, zEntry) } @@ -111874,7 +112542,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v7 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(int32(nMsg)), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16364, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3_snprintf(tls, int32(int32(nMsg)), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16451, libc.VaList(bp+16, zEntry, zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -111889,7 +112557,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp return SQLITE_OK } if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16407, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16494, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3OsDlClose(tls, pVfs, handle) @@ -111920,7 +112588,7 @@ extension_not_found: *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v10 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(int32(nMsg)), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16439, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) + Xsqlite3_snprintf(tls, int32(int32(nMsg)), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16526, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -111929,7 +112597,7 @@ extension_not_found: /* Shared library endings to try if zFile cannot be loaded as written */ var _azEndings = [1]uintptr{ - 0: __ccgo_ts + 16319, + 0: __ccgo_ts + 16406, } func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) (r int32) { @@ -112162,7 +112830,7 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { rc = v2 } if v3 && v2 != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16476, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16563, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -112216,63 +112884,63 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { // ** result column is different from the name of the pragma // */ var _pragCName = [57]uintptr{ - 0: __ccgo_ts + 5485, - 1: __ccgo_ts + 16515, - 2: __ccgo_ts + 9062, - 3: __ccgo_ts + 16519, - 4: __ccgo_ts + 16524, - 5: __ccgo_ts + 16527, - 6: __ccgo_ts + 16537, - 7: __ccgo_ts + 16547, - 8: __ccgo_ts + 16553, - 9: __ccgo_ts + 16557, - 10: __ccgo_ts + 16562, - 11: __ccgo_ts + 16567, - 12: __ccgo_ts + 16575, - 13: __ccgo_ts + 16586, - 14: __ccgo_ts + 16589, - 15: __ccgo_ts + 16596, - 16: __ccgo_ts + 16557, - 17: __ccgo_ts + 16562, - 18: __ccgo_ts + 16603, - 19: __ccgo_ts + 16608, - 20: __ccgo_ts + 16611, - 21: __ccgo_ts + 16618, - 22: __ccgo_ts + 16553, - 23: __ccgo_ts + 16557, - 24: __ccgo_ts + 16624, - 25: __ccgo_ts + 16629, - 26: __ccgo_ts + 16634, - 27: __ccgo_ts + 16557, - 28: __ccgo_ts + 16638, - 29: __ccgo_ts + 16562, - 30: __ccgo_ts + 16646, - 31: __ccgo_ts + 16650, - 32: __ccgo_ts + 16655, - 33: __ccgo_ts + 11801, - 34: __ccgo_ts + 11797, - 35: __ccgo_ts + 16661, - 36: __ccgo_ts + 16666, - 37: __ccgo_ts + 16671, - 38: __ccgo_ts + 16515, - 39: __ccgo_ts + 16557, - 40: __ccgo_ts + 16676, - 41: __ccgo_ts + 16683, - 42: __ccgo_ts + 16690, - 43: __ccgo_ts + 9062, - 44: __ccgo_ts + 16698, - 45: __ccgo_ts + 5488, - 46: __ccgo_ts + 16704, - 47: __ccgo_ts + 16515, - 48: __ccgo_ts + 16557, - 49: __ccgo_ts + 16709, - 50: __ccgo_ts + 16714, - 51: __ccgo_ts + 15911, - 52: __ccgo_ts + 16719, - 53: __ccgo_ts + 16732, - 54: __ccgo_ts + 16741, - 55: __ccgo_ts + 16748, - 56: __ccgo_ts + 16759, + 0: __ccgo_ts + 5549, + 1: __ccgo_ts + 16602, + 2: __ccgo_ts + 9187, + 3: __ccgo_ts + 16606, + 4: __ccgo_ts + 16611, + 5: __ccgo_ts + 16614, + 6: __ccgo_ts + 16624, + 7: __ccgo_ts + 16634, + 8: __ccgo_ts + 16640, + 9: __ccgo_ts + 16644, + 10: __ccgo_ts + 16649, + 11: __ccgo_ts + 16654, + 12: __ccgo_ts + 16662, + 13: __ccgo_ts + 16673, + 14: __ccgo_ts + 16676, + 15: __ccgo_ts + 16683, + 16: __ccgo_ts + 16644, + 17: __ccgo_ts + 16649, + 18: __ccgo_ts + 16690, + 19: __ccgo_ts + 16695, + 20: __ccgo_ts + 16698, + 21: __ccgo_ts + 16705, + 22: __ccgo_ts + 16640, + 23: __ccgo_ts + 16644, + 24: __ccgo_ts + 16711, + 25: __ccgo_ts + 16716, + 26: __ccgo_ts + 16721, + 27: __ccgo_ts + 16644, + 28: __ccgo_ts + 16725, + 29: __ccgo_ts + 16649, + 30: __ccgo_ts + 16733, + 31: __ccgo_ts + 16737, + 32: __ccgo_ts + 16742, + 33: __ccgo_ts + 11926, + 34: __ccgo_ts + 11922, + 35: __ccgo_ts + 16748, + 36: __ccgo_ts + 16753, + 37: __ccgo_ts + 16758, + 38: __ccgo_ts + 16602, + 39: __ccgo_ts + 16644, + 40: __ccgo_ts + 16763, + 41: __ccgo_ts + 16770, + 42: __ccgo_ts + 16777, + 43: __ccgo_ts + 9187, + 44: __ccgo_ts + 16785, + 45: __ccgo_ts + 5552, + 46: __ccgo_ts + 16791, + 47: __ccgo_ts + 16602, + 48: __ccgo_ts + 16644, + 49: __ccgo_ts + 16796, + 50: __ccgo_ts + 16801, + 51: __ccgo_ts + 15990, + 52: __ccgo_ts + 16806, + 53: __ccgo_ts + 16819, + 54: __ccgo_ts + 16828, + 55: __ccgo_ts + 16835, + 56: __ccgo_ts + 16846, } // C documentation @@ -112291,191 +112959,191 @@ type PragmaName = TPragmaName var _aPragmaName = [66]TPragmaName{ 0: { - FzName: __ccgo_ts + 16767, + FzName: __ccgo_ts + 16854, FePragTyp: uint8(PragTyp_ANALYSIS_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 1: { - FzName: __ccgo_ts + 16782, + FzName: __ccgo_ts + 16869, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_APPLICATION_ID), }, 2: { - FzName: __ccgo_ts + 16797, + FzName: __ccgo_ts + 16884, FePragTyp: uint8(PragTyp_AUTO_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 3: { - FzName: __ccgo_ts + 16809, + FzName: __ccgo_ts + 16896, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_AutoIndex), }, 4: { - FzName: __ccgo_ts + 16825, + FzName: __ccgo_ts + 16912, FePragTyp: uint8(PragTyp_BUSY_TIMEOUT), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(56), FnPragCName: uint8(1), }, 5: { - FzName: __ccgo_ts + 16748, + FzName: __ccgo_ts + 16835, FePragTyp: uint8(PragTyp_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 6: { - FzName: __ccgo_ts + 16838, + FzName: __ccgo_ts + 16925, FePragTyp: uint8(PragTyp_CACHE_SPILL), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 7: { - FzName: __ccgo_ts + 16850, + FzName: __ccgo_ts + 16937, FePragTyp: uint8(PragTyp_CASE_SENSITIVE_LIKE), FmPragFlg: uint8(PragFlg_NoColumns), }, 8: { - FzName: __ccgo_ts + 16870, + FzName: __ccgo_ts + 16957, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CellSizeCk), }, 9: { - FzName: __ccgo_ts + 16886, + FzName: __ccgo_ts + 16973, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CkptFullFSync), }, 10: { - FzName: __ccgo_ts + 16907, + FzName: __ccgo_ts + 16994, FePragTyp: uint8(PragTyp_COLLATION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(38), FnPragCName: uint8(2), }, 11: { - FzName: __ccgo_ts + 16922, + FzName: __ccgo_ts + 17009, FePragTyp: uint8(PragTyp_COMPILE_OPTIONS), FmPragFlg: uint8(PragFlg_Result0), }, 12: { - FzName: __ccgo_ts + 16938, + FzName: __ccgo_ts + 17025, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00001)) << libc.Int32FromInt32(32), }, 13: { - FzName: __ccgo_ts + 16952, + FzName: __ccgo_ts + 17039, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_DATA_VERSION), }, 14: { - FzName: __ccgo_ts + 16965, + FzName: __ccgo_ts + 17052, FePragTyp: uint8(PragTyp_DATABASE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(47), FnPragCName: uint8(3), }, 15: { - FzName: __ccgo_ts + 16979, + FzName: __ccgo_ts + 17066, FePragTyp: uint8(PragTyp_DEFAULT_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiPragCName: uint8(55), FnPragCName: uint8(1), }, 16: { - FzName: __ccgo_ts + 16998, + FzName: __ccgo_ts + 17085, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_DeferFKs), }, 17: { - FzName: __ccgo_ts + 17017, + FzName: __ccgo_ts + 17104, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_NullCallback), }, 18: { - FzName: __ccgo_ts + 17040, + FzName: __ccgo_ts + 17127, FePragTyp: uint8(PragTyp_ENCODING), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 19: { - FzName: __ccgo_ts + 17049, + FzName: __ccgo_ts + 17136, FePragTyp: uint8(PragTyp_FOREIGN_KEY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(43), FnPragCName: uint8(4), }, 20: { - FzName: __ccgo_ts + 17067, + FzName: __ccgo_ts + 17154, FePragTyp: uint8(PragTyp_FOREIGN_KEY_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FnPragCName: uint8(8), }, 21: { - FzName: __ccgo_ts + 17084, + FzName: __ccgo_ts + 17171, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ForeignKeys), }, 22: { - FzName: __ccgo_ts + 17097, + FzName: __ccgo_ts + 17184, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), }, 23: { - FzName: __ccgo_ts + 17112, + FzName: __ccgo_ts + 17199, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullColNames), }, 24: { - FzName: __ccgo_ts + 17130, + FzName: __ccgo_ts + 17217, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullFSync), }, 25: { - FzName: __ccgo_ts + 17140, + FzName: __ccgo_ts + 17227, FePragTyp: uint8(PragTyp_FUNCTION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(27), FnPragCName: uint8(6), }, 26: { - FzName: __ccgo_ts + 17154, + FzName: __ccgo_ts + 17241, FePragTyp: uint8(PragTyp_HARD_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 27: { - FzName: __ccgo_ts + 17170, + FzName: __ccgo_ts + 17257, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_IgnoreChecks), }, 28: { - FzName: __ccgo_ts + 17195, + FzName: __ccgo_ts + 17282, FePragTyp: uint8(PragTyp_INCREMENTAL_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_NoColumns)), }, 29: { - FzName: __ccgo_ts + 17214, + FzName: __ccgo_ts + 17301, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), FnPragCName: uint8(3), }, 30: { - FzName: __ccgo_ts + 17225, + FzName: __ccgo_ts + 17312, FePragTyp: uint8(PragTyp_INDEX_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(38), FnPragCName: uint8(5), }, 31: { - FzName: __ccgo_ts + 17236, + FzName: __ccgo_ts + 17323, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), @@ -112483,146 +113151,146 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 32: { - FzName: __ccgo_ts + 17248, + FzName: __ccgo_ts + 17335, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 33: { - FzName: __ccgo_ts + 17264, + FzName: __ccgo_ts + 17351, FePragTyp: uint8(PragTyp_JOURNAL_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 34: { - FzName: __ccgo_ts + 17277, + FzName: __ccgo_ts + 17364, FePragTyp: uint8(PragTyp_JOURNAL_SIZE_LIMIT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 35: { - FzName: __ccgo_ts + 17296, + FzName: __ccgo_ts + 17383, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_LegacyAlter), }, 36: { - FzName: __ccgo_ts + 17315, + FzName: __ccgo_ts + 17402, FePragTyp: uint8(PragTyp_LOCKING_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 37: { - FzName: __ccgo_ts + 17328, + FzName: __ccgo_ts + 17415, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 38: { - FzName: __ccgo_ts + 17343, + FzName: __ccgo_ts + 17430, FePragTyp: uint8(PragTyp_MMAP_SIZE), }, 39: { - FzName: __ccgo_ts + 17353, + FzName: __ccgo_ts + 17440, FePragTyp: uint8(PragTyp_MODULE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 40: { - FzName: __ccgo_ts + 17365, + FzName: __ccgo_ts + 17452, FePragTyp: uint8(PragTyp_OPTIMIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_NeedSchema)), }, 41: { - FzName: __ccgo_ts + 17374, + FzName: __ccgo_ts + 17461, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 42: { - FzName: __ccgo_ts + 17385, + FzName: __ccgo_ts + 17472, FePragTyp: uint8(PragTyp_PAGE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 43: { - FzName: __ccgo_ts + 17395, + FzName: __ccgo_ts + 17482, FePragTyp: uint8(PragTyp_PRAGMA_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 44: { - FzName: __ccgo_ts + 17407, + FzName: __ccgo_ts + 17494, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_QueryOnly), }, 45: { - FzName: __ccgo_ts + 17418, + FzName: __ccgo_ts + 17505, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 46: { - FzName: __ccgo_ts + 17430, + FzName: __ccgo_ts + 17517, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00004)) << libc.Int32FromInt32(32), }, 47: { - FzName: __ccgo_ts + 17447, + FzName: __ccgo_ts + 17534, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_RecTriggers), }, 48: { - FzName: __ccgo_ts + 17466, + FzName: __ccgo_ts + 17553, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ReverseOrder), }, 49: { - FzName: __ccgo_ts + 17492, + FzName: __ccgo_ts + 17579, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_SCHEMA_VERSION), }, 50: { - FzName: __ccgo_ts + 17507, + FzName: __ccgo_ts + 17594, FePragTyp: uint8(PragTyp_SECURE_DELETE), FmPragFlg: uint8(PragFlg_Result0), }, 51: { - FzName: __ccgo_ts + 17521, + FzName: __ccgo_ts + 17608, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ShortColNames), }, 52: { - FzName: __ccgo_ts + 17540, + FzName: __ccgo_ts + 17627, FePragTyp: uint8(PragTyp_SHRINK_MEMORY), FmPragFlg: uint8(PragFlg_NoColumns), }, 53: { - FzName: __ccgo_ts + 17554, + FzName: __ccgo_ts + 17641, FePragTyp: uint8(PragTyp_SOFT_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 54: { - FzName: __ccgo_ts + 17570, + FzName: __ccgo_ts + 17657, FePragTyp: uint8(PragTyp_SYNCHRONOUS), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 55: { - FzName: __ccgo_ts + 17582, + FzName: __ccgo_ts + 17669, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), FnPragCName: uint8(6), }, 56: { - FzName: __ccgo_ts + 17593, + FzName: __ccgo_ts + 17680, FePragTyp: uint8(PragTyp_TABLE_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1)), FiPragCName: uint8(15), FnPragCName: uint8(6), }, 57: { - FzName: __ccgo_ts + 17604, + FzName: __ccgo_ts + 17691, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), @@ -112630,45 +113298,45 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 58: { - FzName: __ccgo_ts + 17616, + FzName: __ccgo_ts + 17703, FePragTyp: uint8(PragTyp_TEMP_STORE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 59: { - FzName: __ccgo_ts + 17627, + FzName: __ccgo_ts + 17714, FePragTyp: uint8(PragTyp_TEMP_STORE_DIRECTORY), FmPragFlg: uint8(PragFlg_NoColumns1), }, 60: { - FzName: __ccgo_ts + 17648, + FzName: __ccgo_ts + 17735, FePragTyp: uint8(PragTyp_THREADS), FmPragFlg: uint8(PragFlg_Result0), }, 61: { - FzName: __ccgo_ts + 17656, + FzName: __ccgo_ts + 17743, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_TrustedSchema), }, 62: { - FzName: __ccgo_ts + 17671, + FzName: __ccgo_ts + 17758, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_USER_VERSION), }, 63: { - FzName: __ccgo_ts + 17684, + FzName: __ccgo_ts + 17771, FePragTyp: uint8(PragTyp_WAL_AUTOCHECKPOINT), }, 64: { - FzName: __ccgo_ts + 17703, + FzName: __ccgo_ts + 17790, FePragTyp: uint8(PragTyp_WAL_CHECKPOINT), FmPragFlg: uint8(PragFlg_NeedSchema), FiPragCName: uint8(50), FnPragCName: uint8(3), }, 65: { - FzName: __ccgo_ts + 17718, + FzName: __ccgo_ts + 17805, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(SQLITE_WriteSchema) | libc.Int32FromInt32(SQLITE_NoSchemaError)), @@ -112680,6 +113348,31 @@ var _aPragmaName = [66]TPragmaName{ /************** End of pragma.h **********************************************/ /************** Continuing where we left off in pragma.c *********************/ +/* +** When the 0x10 bit of PRAGMA optimize is set, any ANALYZE commands +** will be run with an analysis_limit set to the lessor of the value of +** the following macro or to the actual analysis_limit if it is non-zero, +** in order to prevent PRAGMA optimize from running for too long. +** +** The value of 2000 is chosen emperically so that the worst-case run-time +** for PRAGMA optimize does not exceed 100 milliseconds against a variety +** of test databases on a RaspberryPI-4 compiled using -Os and without +** -DSQLITE_DEBUG. Of course, your mileage may vary. For the purpose of +** this paragraph, "worst-case" means that ANALYZE ends up being +** run on every table in the database. The worst case typically only +** happens if PRAGMA optimize is run on a database file for which ANALYZE +** has not been previously run and the 0x10000 flag is included so that +** all tables are analyzed. The usual case for PRAGMA optimize is that +** no ANALYZE commands will be run at all, or if any ANALYZE happens it +** will be against a single table, so that expected timing for PRAGMA +** optimize on a PI-4 is more like 1 millisecond or less with the 0x10000 +** flag or less than 100 microseconds without the 0x10000 flag. +** +** An analysis limit of 2000 is almost always sufficient for the query +** planner to fully characterize an index. The additional accuracy from +** a larger analysis is not usually helpful. + */ + // C documentation // // /* @@ -112769,10 +113462,10 @@ func _sqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt Tu8) (r Tu8) { // */ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { if z != 0 { - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17734) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17821) { return int32(PAGER_LOCKINGMODE_EXCLUSIVE) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17744) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17831) { return PAGER_LOCKINGMODE_NORMAL } } @@ -112790,13 +113483,13 @@ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { func _getAutoVacuum(tls *libc.TLS, z uintptr) (r int32) { var i, v1 int32 _, _ = i, v1 - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8222) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8347) { return BTREE_AUTOVACUUM_NONE } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17751) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17838) { return int32(BTREE_AUTOVACUUM_FULL) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17756) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17843) { return int32(BTREE_AUTOVACUUM_INCR) } i = _sqlite3Atoi(tls, z) @@ -112819,10 +113512,10 @@ func _getTempStore(tls *libc.TLS, z uintptr) (r int32) { if int32(*(*int8)(unsafe.Pointer(z))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(z))) <= int32('2') { return int32(*(*int8)(unsafe.Pointer(z))) - int32('0') } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+16709) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+16796) == 0 { return int32(1) } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+17768) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+17855) == 0 { return int32(2) } else { return 0 @@ -112844,7 +113537,7 @@ func _invalidateTempStorage(tls *libc.TLS, pParse uintptr) (r int32) { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt != uintptr(0) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || _sqlite3BtreeTxnState(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) != SQLITE_TXN_NONE { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17775, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17862, 0) return int32(SQLITE_ERROR) } _sqlite3BtreeClose(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) @@ -112974,15 +113667,15 @@ func _actionName(tls *libc.TLS, action Tu8) (r uintptr) { _ = zName switch int32(int32(action)) { case int32(OE_SetNull): - zName = __ccgo_ts + 17837 + zName = __ccgo_ts + 17924 case int32(OE_SetDflt): - zName = __ccgo_ts + 17846 + zName = __ccgo_ts + 17933 case int32(OE_Cascade): - zName = __ccgo_ts + 17858 + zName = __ccgo_ts + 17945 case int32(OE_Restrict): - zName = __ccgo_ts + 17866 + zName = __ccgo_ts + 17953 default: - zName = __ccgo_ts + 17875 + zName = __ccgo_ts + 17962 break } return zName @@ -113003,12 +113696,12 @@ func _sqlite3JournalModename(tls *libc.TLS, eMode int32) (r uintptr) { } var _azModeName = [6]uintptr{ - 0: __ccgo_ts + 17885, - 1: __ccgo_ts + 17892, - 2: __ccgo_ts + 17900, - 3: __ccgo_ts + 17904, - 4: __ccgo_ts + 17768, - 5: __ccgo_ts + 17913, + 0: __ccgo_ts + 17972, + 1: __ccgo_ts + 17979, + 2: __ccgo_ts + 17987, + 3: __ccgo_ts + 17991, + 4: __ccgo_ts + 17855, + 5: __ccgo_ts + 18000, } // C documentation @@ -113070,15 +113763,15 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s goto _1 } if (*TFuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = __ccgo_ts + 17938 + zType = __ccgo_ts + 18025 } else { if (*TFuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = __ccgo_ts + 17940 + zType = __ccgo_ts + 18027 } else { - zType = __ccgo_ts + 7621 + zType = __ccgo_ts + 7746 } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+17942, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18029, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) goto _1 _1: ; @@ -113087,9 +113780,9 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s } var _azEnc = [4]uintptr{ - 1: __ccgo_ts + 17917, - 2: __ccgo_ts + 17922, - 3: __ccgo_ts + 17930, + 1: __ccgo_ts + 18004, + 2: __ccgo_ts + 18009, + 3: __ccgo_ts + 18017, } // C documentation @@ -113130,15 +113823,15 @@ func _integrityCheckResultRow(tls *libc.TLS, v uintptr) (r int32) { func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { bp := tls.Alloc(240) defer tls.Free(240) - var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, mxIdx, n, nHidden, nIdx, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v60, v62, v63, v64, v65, v68 int32 - var aOp, aOp1, aOp2, aOp3, aOp4, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v61, v66, v8 uintptr + var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v48, v50, v64, v66, v67, v68, v69, v72, v75, v76 int32 + var aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v65, v70, v8 uintptr var azOrigin [3]uintptr var cnum Ti16 var enc Tu8 var iPrior Tsqlite3_int64 + var iRange, szThreshold TLogEst var mask Tu64 var opMask Tu32 - var szThreshold TLogEst var _ /* N at bp+136 */ Tsqlite3_int64 var _ /* N at bp+144 */ Tsqlite3_int64 var _ /* N at bp+152 */ Tsqlite3_int64 @@ -113159,7 +113852,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var _ /* size at bp+60 */ int32 var _ /* sz at bp+64 */ Tsqlite3_int64 var _ /* x at bp+40 */ Ti64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iPrior, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, mxIdx, n, nHidden, nIdx, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v5, v60, v61, v62, v63, v64, v65, v66, v68, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iPrior, iRange, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v48, v5, v50, v64, v65, v66, v67, v68, v69, v70, v72, v75, v76, v8 zLeft = uintptr(0) /* Nul-terminated UTF-8 string */ zRight = uintptr(0) /* Nul-terminated UTF-8 string , or NULL */ zDb = uintptr(0) /* return value form SQLITE_FCNTL_PRAGMA */ @@ -113188,7 +113881,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p return } if minusFlag != 0 { - zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+17949, libc.VaList(bp+176, pValue)) + zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+18036, libc.VaList(bp+176, pValue)) } else { zRight = _sqlite3NameFromToken(tls, db, pValue) } @@ -113231,7 +113924,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } if rc != int32(SQLITE_NOTFOUND) { if (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0] != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) Xsqlite3_free(tls, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0]) } (*TParse)(unsafe.Pointer(pParse)).FnErr++ @@ -113335,7 +114028,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pBt1 = (*TDb)(unsafe.Pointer(pDb)).FpBt b = -int32(1) if zRight != 0 { - if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+17953) == 0 { + if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18040) == 0 { b = int32(2) } else { b = int32(_sqlite3GetBoolean(tls, zRight, uint8(0))) @@ -113406,7 +114099,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p */ fallthrough case int32(PragTyp_LOCKING_MODE): - zRet = __ccgo_ts + 17744 + zRet = __ccgo_ts + 17831 eMode = _getLockingMode(tls, zRight) if (*TToken)(unsafe.Pointer(pId2)).Fn == uint32(0) && eMode == -int32(1) { /* Simple "PRAGMA locking_mode;" statement. This is a query for @@ -113434,7 +114127,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p eMode = _sqlite3PagerLockingMode(tls, pPager, eMode) } if eMode == int32(PAGER_LOCKINGMODE_EXCLUSIVE) { - zRet = __ccgo_ts + 17734 + zRet = __ccgo_ts + 17821 } _returnSingleText(tls, v, zRet) break @@ -113724,7 +114417,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if *(*int8)(unsafe.Pointer(zRight)) != 0 { rc = _sqlite3OsAccess(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, zRight, int32(SQLITE_ACCESS_READWRITE), bp+72) if rc != SQLITE_OK || *(*int32)(unsafe.Pointer(bp + 72)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17958, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18045, 0) Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) goto pragma_out } @@ -113734,7 +114427,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } Xsqlite3_free(tls, Xsqlite3_temp_directory) if *(*int8)(unsafe.Pointer(zRight)) != 0 { - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+176, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+176, zRight)) } else { Xsqlite3_temp_directory = uintptr(0) } @@ -113756,7 +114449,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _returnSingleInt(tls, v, int64(int32((*TDb)(unsafe.Pointer(pDb)).Fsafety_level)-int32(1))) } else { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17983, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18070, 0) } else { if iDb != int32(1) { iLevel = (int32(_getSafetyLevel(tls, zRight, 0, uint8(1))) + int32(1)) & int32(PAGER_SYNCHRONOUS_MASK) @@ -113789,7 +114482,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if mask == uint64(SQLITE_DeferFKs) { (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons = 0 } - if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18036) == 0 { + if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18123) == 0 { /* IMP: R-60817-01178 If the argument is "RESET" then schema ** writing is disabled (as with "PRAGMA writable_schema=OFF") and, ** in addition, the schema is reloaded. */ @@ -113869,9 +114562,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pColExpr = _sqlite3ColumnExpr(tls, pTab, pCol) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - v14 = __ccgo_ts + 18042 + v14 = __ccgo_ts + 18129 } else { - v14 = __ccgo_ts + 18050 + v14 = __ccgo_ts + 18137 } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 { v15 = int32(1) @@ -113883,7 +114576,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v16 = *(*uintptr)(unsafe.Pointer(pColExpr + 8)) } - _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1652), v15, v16, k, isHidden)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1666), v15, v16, k, isHidden)) goto _12 _12: ; @@ -113942,7 +114635,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pTab1 = (*THashElem)(unsafe.Pointer(k1)).Fdata if int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) == 0 { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18057, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18144, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 80)) = uintptr(0) Xsqlite3_prepare(tls, db, zSql, -int32(1), bp+80, uintptr(0)) @@ -113950,7 +114643,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3DbFree(tls, db, zSql) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1622, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1636, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) } pHash = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FpSchema + 8 @@ -113972,19 +114665,19 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _20 } if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10800 + zType = __ccgo_ts + 10925 } else { if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 13048 + zType = __ccgo_ts + 13173 } else { if (*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Shadow) != 0 { - zType = __ccgo_ts + 18073 + zType = __ccgo_ts + 18160 } else { - zType = __ccgo_ts + 9062 + zType = __ccgo_ts + 9187 } } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18080, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18167, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) goto _20 _20: ; @@ -114031,9 +114724,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v22 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab3)).FaCol + uintptr(cnum)*16))).FzCnName } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18087, libc.VaList(bp+176, i1, int32(int32(cnum)), v22)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18174, libc.VaList(bp+176, i1, int32(int32(cnum)), v22)) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18092, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) + _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18179, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) } _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), int32(1), (*TParse)(unsafe.Pointer(pParse)).FnMem) goto _21 @@ -114057,11 +114750,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } azOrigin = [3]uintptr{ - 0: __ccgo_ts + 18097, - 1: __ccgo_ts + 18099, - 2: __ccgo_ts + 16586, + 0: __ccgo_ts + 18184, + 1: __ccgo_ts + 18186, + 2: __ccgo_ts + 16673, } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18101, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18188, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) goto _23 _23: ; @@ -114080,7 +114773,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt == uintptr(0) { goto _24 } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18107, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18194, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) goto _24 _24: ; @@ -114097,7 +114790,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pColl = (*THashElem)(unsafe.Pointer(p)).Fdata v26 = i4 i4++ - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18111, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18198, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) goto _25 _25: ; @@ -114147,7 +114840,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } pMod = (*THashElem)(unsafe.Pointer(j1)).Fdata - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7621, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7746, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) goto _30 _30: ; @@ -114159,7 +114852,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i6 < int32(libc.Uint64FromInt64(1584)/libc.Uint64FromInt64(24))) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7621, libc.VaList(bp+176, _aPragmaName[i6].FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7746, libc.VaList(bp+176, _aPragmaName[i6].FzName)) goto _31 _31: ; @@ -114185,7 +114878,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(j2 < (*TFKey)(unsafe.Pointer(pFK)).FnCol) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18114, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18123)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18201, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18210)) goto _32 _32: ; @@ -114326,7 +115019,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regResult+int32(1)) } - _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18128, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) + _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18215, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), regResult, int32(4)) _sqlite3VdbeResolveLabel(tls, v, addrOk) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 96))) @@ -114394,7 +115087,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p /* Set the maximum error count */ *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) if zRight != 0 { - if _sqlite3GetInt32(tls, zRight, bp+104) != 0 { + if _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pValue)).Fz, bp+104) != 0 { if *(*int32)(unsafe.Pointer(bp + 104)) <= 0 { *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) } @@ -114414,8 +115107,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i9 < (*Tsqlite3)(unsafe.Pointer(db)).FnDb) { break } /* Array of root page numbers of all btrees */ - cnt = 0 /* Number of entries in aRoot[] */ - mxIdx = 0 /* Maximum number of indexes for any table */ + cnt = 0 /* Number of entries in aRoot[] */ if libc.Bool(OMIT_TEMPDB != 0) && i9 == int32(1) { goto _40 } @@ -114456,9 +115148,6 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pIdx3 = (*TIndex)(unsafe.Pointer(pIdx3)).FpNext nIdx++ } - if nIdx > mxIdx { - mxIdx = nIdx - } goto _41 _41: ; @@ -114514,16 +115203,78 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } *(*int32)(unsafe.Pointer(aRoot)) = cnt /* Make sure sufficient number of registers have been allocated */ - _sqlite3TouchRegister(tls, pParse, int32(8)+mxIdx) + _sqlite3TouchRegister(tls, pParse, int32(8)+cnt) _sqlite3ClearTempRegCache(tls, pParse) /* Do the b-tree integrity checks */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(2), cnt, int32(1), aRoot, -int32(14)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(1), cnt, int32(8), aRoot, -int32(14)) _sqlite3VdbeChangeP5(tls, v, uint16(uint8(uint8(i9)))) addr1 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(2)) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18132, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18219, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(2), int32(3), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, addr1) + /* Check that the indexes all have the right number of rows */ + if pObjTab != 0 { + v48 = int32(1) + } else { + v48 = 0 + } + cnt = v48 + _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18243) + x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst + for { + if !(x2 != 0) { + break + } + iTab = 0 + pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab9 { + goto _49 + } + if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + v50 = cnt + cnt++ + iTab = v50 + } else { + iTab = cnt + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx5 + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { + break + } + iTab++ + goto _51 + _51: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + } + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if (*TIndex)(unsafe.Pointer(pIdx5)).FpPartIdxWhere == uintptr(0) { + addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+cnt, 0, int32(8)+iTab) + _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) + _integrityCheckResultRow(tls, v) + _sqlite3VdbeJumpHere(tls, v, addr1) + } + cnt++ + goto _52 + _52: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + goto _49 + _49: + ; + x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext + } /* Make sure all the indices are constructed correctly. */ x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst @@ -114531,39 +115282,39 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata pPrior = uintptr(0) r1 = -int32(1) /* Maximum non-virtual column number */ - if pObjTab != 0 && pObjTab != pTab9 { - goto _48 + if pObjTab != 0 && pObjTab != pTab10 { + goto _53 } - if !(int32((*TTable)(unsafe.Pointer(pTab9)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { - goto _48 + if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _53 } - if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { pPk1 = uintptr(0) r2 = 0 } else { - pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab9) + pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab10) r2 = _sqlite3GetTempRange(tls, pParse, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), int32(1), r2, r2+int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)-int32(1)) } - _sqlite3OpenTableAndIndices(tls, pParse, pTab9, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) + _sqlite3OpenTableAndIndices(tls, pParse, pTab10, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) /* reg[7] counts the number of entries in the table. ** reg[8+i] counts the number of entries in the i-th index */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(7)) j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(8)+j4) /* index entries counter */ - goto _49 - _49: + goto _54 + _54: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), *(*int32)(unsafe.Pointer(bp + 108)), 0) @@ -114573,29 +115324,29 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** will also prepopulate the cursor column cache that is used ** by the OP_IsType code, so it is a required step. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { mxCol = -int32(1) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { + if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { mxCol++ } - goto _50 - _50: + goto _55 + _55: ; j4++ } - if mxCol == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { + if mxCol == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { mxCol-- } } else { /* COLFLAG_VIRTUAL columns are not included in the WITHOUT ROWID ** PK index column-count, so there is no need to account for them ** in this case. */ - mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab9))).FnColumn) - int32(1) + mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab10))).FnColumn) - int32(1) } if mxCol >= 0 { _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 108)), mxCol, int32(3)) @@ -114605,7 +115356,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if pPk1 != 0 { a1 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 108)), 0, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), r2) - zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18156, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18272, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a1) @@ -114616,8 +115367,8 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprCodeLoadIndexColumn(tls, pParse, pPk1, *(*int32)(unsafe.Pointer(bp + 108)), j4, r2+j4) - goto _51 - _51: + goto _56 + _56: ; j4++ } @@ -114632,15 +115383,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** (4) Datatype for numeric columns in non-STRICT tables must not ** be a TEXT value that can be losslessly converted to numeric. */ - bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_Strict) != uint32(0)) + bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_Strict) != uint32(0)) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - pCol1 = (*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ - if j4 == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { - goto _52 + pCol1 = (*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ + if j4 == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { + goto _57 } if bStrict != 0 { doTypeCheck = libc.BoolInt32(int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4)) > int32(COLTYPE_ANY)) @@ -114648,28 +115399,28 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p doTypeCheck = libc.BoolInt32(int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) > int32(SQLITE_AFF_BLOB)) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf>>0)) == 0 && !(doTypeCheck != 0) { - goto _52 + goto _57 } /* Compute the operands that will be needed for OP_IsType */ p4 = int32(SQLITE_NULL) if int32((*TColumn)(unsafe.Pointer(pCol1)).FcolFlags)&int32(COLFLAG_VIRTUAL) != 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) p11 = -int32(1) p3 = int32(3) } else { if (*TColumn)(unsafe.Pointer(pCol1)).FiDflt != 0 { *(*uintptr)(unsafe.Pointer(bp + 120)) = uintptr(0) - _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab9, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8((*TColumn)(unsafe.Pointer(pCol1)).Faffinity), bp+120) + _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab10, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8((*TColumn)(unsafe.Pointer(pCol1)).Faffinity), bp+120) if *(*uintptr)(unsafe.Pointer(bp + 120)) != 0 { p4 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) } } p11 = *(*int32)(unsafe.Pointer(bp + 108)) - if !((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { - p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab9), int16(int16(j4)))) + if !((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { + p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab10), int16(int16(j4)))) } else { - p3 = int32(_sqlite3TableColumnToStorage(tls, pTab9, int16(int16(j4)))) + p3 = int32(_sqlite3TableColumnToStorage(tls, pTab10, int16(int16(j4)))) } } labelError = _sqlite3VdbeMakeLabel(tls, pParse) @@ -114686,10 +115437,10 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** is REAL, we have to load the actual data using OP_Column ** to reliably determine if the value is a NULL. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), p11, p3, int32(3)) - _sqlite3ColumnDefault(tls, v, pTab9, j4, int32(3)) + _sqlite3ColumnDefault(tls, v, pTab10, j4, int32(3)) jmp3 = _sqlite3VdbeAddOp2(tls, v, int32(OP_NotNull), int32(3), labelOk) } - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18192, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18308, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) if doTypeCheck != 0 { _sqlite3VdbeGoto(tls, v, labelError) @@ -114702,7 +115453,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if bStrict != 0 && doTypeCheck != 0 { _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(_aStdTypeMask[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)])) - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18212, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18328, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) == int32(SQLITE_AFF_TEXT) { @@ -114710,7 +115461,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** NULL, TEXT, or BLOB. */ _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18234, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18350, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) >= int32(SQLITE_AFF_NUMERIC) { @@ -114719,12 +115470,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1b)) /* NULL, INT, FLOAT, or BLOB */ if p11 >= 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18257, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18373, -int32(1)) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), -int32(1), labelOk, int32(3), p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18259, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18375, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } } @@ -114732,14 +115483,14 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeResolveLabel(tls, v, labelError) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, labelOk) - goto _52 - _52: + goto _57 + _57: ; j4++ } /* Verify CHECK constraints */ - if (*TTable)(unsafe.Pointer(pTab9)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { - pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab9)).FpCheck, 0) + if (*TTable)(unsafe.Pointer(pTab10)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { + pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab10)).FpCheck, 0) if int32((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { addrCkFault = _sqlite3VdbeMakeLabel(tls, pParse) addrCkOk = _sqlite3VdbeMakeLabel(tls, pParse) @@ -114750,15 +115501,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprIfFalse(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8 + uintptr(k3)*32))).FpExpr, addrCkFault, 0) - goto _53 - _53: + goto _58 + _58: ; k3-- } _sqlite3ExprIfTrue(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8))).FpExpr, addrCkOk, int32(SQLITE_JUMPIFNULL)) _sqlite3VdbeResolveLabel(tls, v, addrCkFault) (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18279, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18395, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr2, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -114768,25 +115519,25 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(isQuick != 0) { /* Omit the remaining tests for quick_check */ /* Validate index entries for the current row */ j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } ckUniq = _sqlite3VdbeMakeLabel(tls, pParse) - if pPk1 == pIdx5 { - goto _54 + if pPk1 == pIdx6 { + goto _59 } - r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) - pPrior = pIdx5 + r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx6, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) + pPrior = pIdx6 _sqlite3VdbeAddOp2(tls, v, int32(OP_AddImm), int32(8)+j4, int32(1)) /* increment entry count */ /* Verify that an index entry exists for the current table row */ - jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18309) + jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18425) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18314) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18430) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) - jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx6)).FzName) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) jmp4 = _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, jmp21) @@ -114794,12 +115545,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** that extracts the rowid off the end of the index record. ** But it only works correctly if index record does not have ** any extra bytes at the end. Verify that this is the case. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { _sqlite3VdbeAddOp2(tls, v, int32(OP_IdxRowid), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)-int32(1)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18335) + jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)-int32(1)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18451) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18371) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18487) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp7) } @@ -114808,100 +115559,75 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p label6 = 0 kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { - goto _55 + if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { + goto _60 } if label6 == 0 { label6 = _sqlite3VdbeMakeLabel(tls, pParse) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 112))+j4, kk, int32(3)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ne), int32(3), label6, r1+kk) - goto _55 - _55: + goto _60 + _60: ; kk++ } if label6 != 0 { jmp6 = _sqlite3VdbeAddOp0(tls, v, int32(OP_Goto)) _sqlite3VdbeResolveLabel(tls, v, label6) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18309) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18425) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18382) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18498) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp6) } /* For UNIQUE indexes, verify that only one entry exists with the ** current key. The entry is unique if (1) any column is NULL ** or (2) the next entry has a different key */ - if int32((*TIndex)(unsafe.Pointer(pIdx5)).FonError) != OE_None { + if int32((*TIndex)(unsafe.Pointer(pIdx6)).FonError) != OE_None { uniqOk = _sqlite3VdbeMakeLabel(tls, pParse) kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2))) - if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { - goto _56 + iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FaiColumn + uintptr(kk)*2))) + if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { + goto _61 } _sqlite3VdbeAddOp2(tls, v, int32(OP_IsNull), r1+kk, uniqOk) - goto _56 - _56: + goto _61 + _61: ; kk++ } jmp61 = _sqlite3VdbeAddOp1(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 112))+j4) _sqlite3VdbeGoto(tls, v, uniqOk) _sqlite3VdbeJumpHere(tls, v, jmp61) - _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18409) + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18525) _sqlite3VdbeGoto(tls, v, jmp5) _sqlite3VdbeResolveLabel(tls, v, uniqOk) } _sqlite3VdbeJumpHere(tls, v, jmp4) _sqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 128))) - goto _54 - _54: + goto _59 + _59: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } } _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 108)), loopTop) _sqlite3VdbeJumpHere(tls, v, loopTop-int32(1)) - if !(isQuick != 0) { - _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18436) - j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex - for { - if !(pIdx5 != 0) { - break - } - if pPk1 == pIdx5 { - goto _57 - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+j4, 0, int32(3)) - _sqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) - _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) - _integrityCheckResultRow(tls, v) - _sqlite3VdbeJumpHere(tls, v, addr1) - goto _57 - _57: - ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext - j4++ - } - if pPk1 != 0 { - _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) - } + if pPk1 != 0 { + _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) } - goto _48 - _48: + goto _53 + _53: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -114913,60 +115639,60 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata - if pObjTab != 0 && pObjTab != pTab10 { - goto _58 + pTab11 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab11 { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == TABTYP_NORM { - goto _58 + if int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == TABTYP_NORM { + goto _62 } - if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { - goto _58 + if !(int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FnCol) <= 0 { + if int32((*TTable)(unsafe.Pointer(pTab11)).FnCol) <= 0 { zMod = *(*uintptr)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).FazArg)) + })(unsafe.Pointer(pTab11 + 64))).FazArg)) if _sqlite3HashFind(tls, db+576, zMod) == uintptr(0) { - goto _58 + goto _62 } } - _sqlite3ViewGetColumnNames(tls, pParse, pTab10) + _sqlite3ViewGetColumnNames(tls, pParse, pTab11) if (*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp == uintptr(0) { - goto _58 + })(unsafe.Pointer(pTab11 + 64))).Fp == uintptr(0) { + goto _62 } pVTab = (*TVTable)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp)).FpVtab + })(unsafe.Pointer(pTab11 + 64))).Fp)).FpVtab if pVTab == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FiVersion < int32(4) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FxIntegrity == uintptr(0) { - goto _58 + goto _62 } _sqlite3VdbeAddOp3(tls, v, int32(OP_VCheck), i9, int32(3), isQuick) - (*TTable)(unsafe.Pointer(pTab10)).FnTabRef++ - _sqlite3VdbeAppendP4(tls, v, pTab10, -int32(16)) + (*TTable)(unsafe.Pointer(pTab11)).FnTabRef++ + _sqlite3VdbeAppendP4(tls, v, pTab11, -int32(16)) a11 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a11) - goto _58 - goto _58 - _58: + goto _62 + goto _62 + _62: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -114979,7 +115705,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if aOp2 != 0 { (*(*TVdbeOp)(unsafe.Pointer(aOp2))).Fp2 = int32(1) - *(*int32)(unsafe.Pointer(bp + 104)) (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 2*24))).Fp4type = int8(-libc.Int32FromInt32(1)) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18465 + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18552 (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 5*24))).Fp4type = int8(-libc.Int32FromInt32(1)) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = _sqlite3ErrStr(tls, int32(SQLITE_CORRUPT)) } @@ -115037,20 +115763,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc != 0 { - v60 = int32((*struct { + v64 = int32((*struct { FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc) } else { - v60 = int32(SQLITE_UTF16LE) + v64 = int32(SQLITE_UTF16LE) } - enc = uint8(v60) + enc = uint8(v64) (*TSchema)(unsafe.Pointer((*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema)).Fenc = enc _sqlite3SetTextEncoding(tls, db, enc) break } - goto _59 - _59: + goto _63 + _63: ; pEnc += 16 } @@ -115058,7 +115784,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).FzName != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18526, libc.VaList(bp+176, zRight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18613, libc.VaList(bp+176, zRight)) } } } @@ -115136,11 +115862,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p i10 = 0 (*TParse)(unsafe.Pointer(pParse)).FnMem = int32(1) for { - v62 = i10 + v66 = i10 i10++ - v61 = Xsqlite3_compileoption_get(tls, v62) - zOpt = v61 - if !(v61 != uintptr(0)) { + v65 = Xsqlite3_compileoption_get(tls, v66) + zOpt = v65 + if !(v65 != uintptr(0)) { break } _sqlite3VdbeLoadString(tls, v, int32(1), zOpt) @@ -115156,20 +115882,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p fallthrough case int32(PragTyp_WAL_CHECKPOINT): if (*TToken)(unsafe.Pointer(pId2)).Fz != 0 { - v63 = iDb + v67 = iDb } else { - v63 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) + v67 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) } - iBt = v63 + iBt = v67 eMode2 = SQLITE_CHECKPOINT_PASSIVE if zRight != 0 { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17751) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17838) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_FULL) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18551) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18638) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_RESTART) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17904) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17991) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_TRUNCATE) } } @@ -115193,11 +115919,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p Xsqlite3_wal_autocheckpoint(tls, db, _sqlite3Atoi(tls, zRight)) } if (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback == __ccgo_fp(_sqlite3WalDefaultHook) { - v64 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) + v68 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) } else { - v64 = 0 + v68 = 0 } - _returnSingleInt(tls, v, int64(v64)) + _returnSingleInt(tls, v, int64(v68)) break /* ** PRAGMA shrink_memory @@ -115225,47 +115951,68 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** ** The optional argument is a bitmask of optimizations to perform: ** - ** 0x0001 Debugging mode. Do not actually perform any optimizations - ** but instead return one line of text for each optimization - ** that would have been done. Off by default. + ** 0x00001 Debugging mode. Do not actually perform any optimizations + ** but instead return one line of text for each optimization + ** that would have been done. Off by default. ** - ** 0x0002 Run ANALYZE on tables that might benefit. On by default. - ** See below for additional information. + ** 0x00002 Run ANALYZE on tables that might benefit. On by default. + ** See below for additional information. ** - ** 0x0004 (Not yet implemented) Record usage and performance - ** information from the current session in the - ** database file so that it will be available to "optimize" - ** pragmas run by future database connections. + ** 0x00010 Run all ANALYZE operations using an analysis_limit that + ** is the lessor of the current analysis_limit and the + ** SQLITE_DEFAULT_OPTIMIZE_LIMIT compile-time option. + ** The default value of SQLITE_DEFAULT_OPTIMIZE_LIMIT is + ** currently (2024-02-19) set to 2000, which is such that + ** the worst case run-time for PRAGMA optimize on a 100MB + ** database will usually be less than 100 milliseconds on + ** a RaspberryPI-4 class machine. On by default. ** - ** 0x0008 (Not yet implemented) Create indexes that might have - ** been helpful to recent queries + ** 0x10000 Look at tables to see if they need to be reanalyzed + ** due to growth or shrinkage even if they have not been + ** queried during the current connection. Off by default. ** - ** The default MASK is and always shall be 0xfffe. 0xfffe means perform all - ** of the optimizations listed above except Debug Mode, including new - ** optimizations that have not yet been invented. If new optimizations are - ** ever added that should be off by default, those off-by-default - ** optimizations will have bitmasks of 0x10000 or larger. + ** The default MASK is and always shall be 0x0fffe. In the current + ** implementation, the default mask only covers the 0x00002 optimization, + ** though additional optimizations that are covered by 0x0fffe might be + ** added in the future. Optimizations that are off by default and must + ** be explicitly requested have masks of 0x10000 or greater. ** ** DETERMINATION OF WHEN TO RUN ANALYZE ** ** In the current implementation, a table is analyzed if only if all of ** the following are true: ** - ** (1) MASK bit 0x02 is set. + ** (1) MASK bit 0x00002 is set. ** - ** (2) The query planner used sqlite_stat1-style statistics for one or - ** more indexes of the table at some point during the lifetime of - ** the current connection. + ** (2) The table is an ordinary table, not a virtual table or view. ** - ** (3) One or more indexes of the table are currently unanalyzed OR - ** the number of rows in the table has increased by 25 times or more - ** since the last time ANALYZE was run. + ** (3) The table name does not begin with "sqlite_". + ** + ** (4) One or more of the following is true: + ** (4a) The 0x10000 MASK bit is set. + ** (4b) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. + ** (4c) The query planner used sqlite_stat1-style statistics for one + ** or more indexes of the table at some point during the lifetime + ** of the current connection. + ** + ** (5) One or more of the following is true: + ** (5a) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. (Same as 4a) + ** (5b) The number of rows in the table has increased or decreased by + ** 10-fold. In other words, the current size of the table is + ** 10 times larger than the size in sqlite_stat1 or else the + ** current size is less than 1/10th the size in sqlite_stat1. ** ** The rules for when tables are analyzed are likely to change in - ** future releases. + ** future releases. Future versions of SQLite might accept a string + ** literal argument to this pragma that contains a mnemonic description + ** of the options rather than a bitmap. */ fallthrough - case int32(PragTyp_OPTIMIZE): /* Mask of operations to perform */ + case int32(PragTyp_OPTIMIZE): /* Analysis limit to use */ + nCheck = 0 /* Number of tables to be optimized */ + nBtree = 0 /* Number of indexes on the current table */ if zRight != 0 { opMask = uint32(_sqlite3Atoi(tls, zRight)) if opMask&uint32(0x02) == uint32(0) { @@ -115274,22 +116021,31 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { opMask = uint32(0xfffe) } - v66 = pParse + 52 - v65 = *(*int32)(unsafe.Pointer(v66)) - *(*int32)(unsafe.Pointer(v66))++ - iTabCur = v65 + if opMask&uint32(0x10) == uint32(0) { + nLimit = 0 + } else { + if (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit > 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit < int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) { + nLimit = 0 + } else { + nLimit = int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) + } + } + v70 = pParse + 52 + v69 = *(*int32)(unsafe.Pointer(v70)) + *(*int32)(unsafe.Pointer(v70))++ + iTabCur = v69 if zDb != 0 { - v68 = iDb + v72 = iDb } else { - v68 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) + v72 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) } - iDbLast = v68 + iDbLast = v72 for { if !(iDb <= iDbLast) { break } if iDb == int32(1) { - goto _67 + goto _71 } _sqlite3CodeVerifySchema(tls, pParse, iDb) pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema @@ -115298,52 +116054,122 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(k4 != 0) { break } - pTab11 = (*THashElem)(unsafe.Pointer(k4)).Fdata - /* If table pTab has not been used in a way that would benefit from - ** having analysis statistics during the current session, then skip it. - ** This also has the effect of skipping virtual tables and views */ - if (*TTable)(unsafe.Pointer(pTab11)).FtabFlags&uint32(TF_StatsUsed) == uint32(0) { - goto _69 - } - /* Reanalyze if the table is 25 times larger than the last analysis */ - szThreshold = int16(int32((*TTable)(unsafe.Pointer(pTab11)).FnRowLogEst) + int32(46)) - pIdx6 = (*TTable)(unsafe.Pointer(pTab11)).FpIndex + pTab12 = (*THashElem)(unsafe.Pointer(k4)).Fdata + /* This only works for ordinary tables */ + if !(int32((*TTable)(unsafe.Pointer(pTab12)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _73 + } + /* Do not scan system tables */ + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab12)).FzName, __ccgo_ts+6593, int32(7)) { + goto _73 + } + /* Find the size of the table as last recorded in sqlite_stat1. + ** If any index is unanalyzed, then the threshold is -1 to + ** indicate a new, unanalyzed index + */ + szThreshold = (*TTable)(unsafe.Pointer(pTab12)).FnRowLogEst + nIndex = 0 + pIdx7 = (*TTable)(unsafe.Pointer(pTab12)).FpIndex for { - if !(pIdx6 != 0) { + if !(pIdx7 != 0) { break } - if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7)) != 0) { - szThreshold = 0 /* Always analyze if any index lacks statistics */ - break + nIndex++ + if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx7 + 100))&0x80>>7)) != 0) { + szThreshold = int16(-int32(1)) /* Always analyze if any index lacks statistics */ } - goto _70 - _70: + goto _74 + _74: ; - pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext + pIdx7 = (*TIndex)(unsafe.Pointer(pIdx7)).FpNext } - if szThreshold != 0 { - _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab11, int32(OP_OpenRead)) - _sqlite3VdbeAddOp3(tls, v, int32(OP_IfSmaller), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), int32(int32(szThreshold))) + /* If table pTab has not been used in a way that would benefit from + ** having analysis statistics during the current session, then skip it, + ** unless the 0x10000 MASK bit is set. */ + if (*TTable)(unsafe.Pointer(pTab12)).FtabFlags&uint32(TF_MaybeReanalyze) != uint32(0) { + /* Check for size change if stat1 has been used for a query */ + } else { + if opMask&uint32(0x10000) != 0 { + /* Check for size change if 0x10000 is set */ + } else { + if (*TTable)(unsafe.Pointer(pTab12)).FpIndex != uintptr(0) && int32(int32(szThreshold)) < 0 { + /* Do analysis if unanalyzed indexes exists */ + } else { + /* Otherwise, we can skip this table */ + goto _73 + } + } + } + nCheck++ + if nCheck == int32(2) { + /* If ANALYZE might be invoked two or more times, hold a write + ** transaction for efficiency */ + _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) + } + nBtree += nIndex + int32(1) + /* Reanalyze if the table is 10 times larger or smaller than + ** the last analysis. Unconditional reanalysis if there are + ** unanalyzed indexes. */ + _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab12, int32(OP_OpenRead)) + if int32(int32(szThreshold)) >= 0 { + iRange = int16(33) /* 10x size change */ + if int32(int32(szThreshold)) >= int32(int32(iRange)) { + v75 = int32(int32(szThreshold)) - int32(int32(iRange)) + } else { + v75 = -int32(1) + } + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IfSizeBetween), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), v75, int32(int32(szThreshold))+int32(int32(iRange))) + } else { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1))) } - zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18559, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab11)).FzName)) + zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18646, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab12)).FzName)) if opMask&uint32(0x01) != 0 { r11 = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, r11, 0, zSubSql, -int32(6)) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), r11, int32(1)) } else { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), 0, 0, 0, zSubSql, -int32(6)) + if nLimit != 0 { + v76 = int32(0x02) + } else { + v76 = 00 + } + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), v76, nLimit, 0, zSubSql, -int32(6)) } - goto _69 - _69: + goto _73 + _73: ; k4 = (*THashElem)(unsafe.Pointer(k4)).Fnext } - goto _67 - _67: + goto _71 + _71: ; iDb++ } _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) + /* In a schema with a large number of tables and indexes, scale back + ** the analysis_limit to avoid excess run-time in the worst case. + */ + if !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && nLimit > 0 && nBtree > int32(100) { + nLimit = int32(100) * nLimit / nBtree + if nLimit < int32(100) { + nLimit = int32(100) + } + aOp5 = _sqlite3VdbeGetOp(tls, v, 0) + iEnd = _sqlite3VdbeCurrentAddr(tls, v) + iAddr1 = 0 + for { + if !(iAddr1 < iEnd) { + break + } + if int32((*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fopcode) == int32(OP_SqlExec) { + (*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fp2 = nLimit + } + goto _77 + _77: + ; + iAddr1++ + } + } break /* ** PRAGMA busy_timeout @@ -115569,34 +116395,34 @@ var _encnames1 = [9]struct { Fenc Tu8 }{ 0: { - FzName: __ccgo_ts + 18468, + FzName: __ccgo_ts + 18555, Fenc: uint8(SQLITE_UTF8), }, 1: { - FzName: __ccgo_ts + 18473, + FzName: __ccgo_ts + 18560, Fenc: uint8(SQLITE_UTF8), }, 2: { - FzName: __ccgo_ts + 18479, + FzName: __ccgo_ts + 18566, Fenc: uint8(SQLITE_UTF16LE), }, 3: { - FzName: __ccgo_ts + 18488, + FzName: __ccgo_ts + 18575, Fenc: uint8(SQLITE_UTF16BE), }, 4: { - FzName: __ccgo_ts + 18497, + FzName: __ccgo_ts + 18584, Fenc: uint8(SQLITE_UTF16LE), }, 5: { - FzName: __ccgo_ts + 18505, + FzName: __ccgo_ts + 18592, Fenc: uint8(SQLITE_UTF16BE), }, 6: { - FzName: __ccgo_ts + 18513, + FzName: __ccgo_ts + 18600, }, 7: { - FzName: __ccgo_ts + 18520, + FzName: __ccgo_ts + 18607, }, 8: {}, } @@ -115692,14 +116518,14 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg _ = argc _ = argv _sqlite3StrAccumInit(tls, bp, uintptr(0), bp+32, int32(200), 0) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18577) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18664) i = 0 j = int32((*TPragmaName)(unsafe.Pointer(pPragma)).FiPragCName) for { if !(i < int32((*TPragmaName)(unsafe.Pointer(pPragma)).FnPragCName)) { break } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18592, libc.VaList(bp+240, int32(int32(cSep)), _pragCName[j])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18679, libc.VaList(bp+240, int32(int32(cSep)), _pragCName[j])) cSep = int8(',') goto _1 _1: @@ -115708,19 +116534,19 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg j++ } if i == 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18599, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18686, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&int32(PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18605) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18692) j++ } if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(libc.Int32FromInt32(PragFlg_SchemaOpt)|libc.Int32FromInt32(PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18617) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18704) j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5110, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5174, int32(1)) _sqlite3StrAccumFinish(tls, bp) rc = Xsqlite3_declare_vtab(tls, db, bp+32) if rc == SQLITE_OK { @@ -115735,7 +116561,7 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg (*TPragmaVtab)(unsafe.Pointer(pTab)).FnHidden = uint8(uint8(j)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab return rc @@ -115781,14 +116607,14 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 if !(i < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { break } - if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { goto _1 } if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != int32(SQLITE_INDEX_CONSTRAINT_EQ) { goto _1 } - if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { - goto _1 + if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + return int32(SQLITE_CONSTRAINT) } j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn - int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) seen[j] = i + int32(1) @@ -115806,16 +116632,13 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 j = seen[0] - int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) - if seen[int32(1)] == 0 { - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(1000) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000) - return SQLITE_OK - } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(20) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(20) - j = seen[int32(1)] - int32(1) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + if seen[int32(1)] != 0 { + j = seen[int32(1)] - int32(1) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + } return SQLITE_OK } @@ -115843,6 +116666,7 @@ func _pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { _ = i Xsqlite3_finalize(tls, (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) + (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(16)/libc.Uint64FromInt64(8))) { @@ -115918,7 +116742,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr } zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+40, zText)) + *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+40, zText)) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -115930,13 +116754,13 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr j++ } _sqlite3StrAccumInit(tls, bp, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4))) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18632) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18719) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18640, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18727, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) } Xsqlite3_str_appendall(tls, bp, (*TPragmaName)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18644, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18731, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) } zSql = _sqlite3StrAccumFinish(tls, bp) if zSql == uintptr(0) { @@ -115945,7 +116769,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr rc = Xsqlite3_prepare_v2(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), pCsr+8, uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return _pragmaVtabNext(tls, pVtabCursor) @@ -116071,24 +116895,24 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) /* A error message has already been generated. Do not overwrite it */ } else { if (*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(libc.Int32FromInt32(INITFLAG_AlterMask)) != 0 { - *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18678, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) + *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18765, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) (*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR) } else { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140891)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141840)) } else { if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - v1 = __ccgo_ts + 5112 + v1 = __ccgo_ts + 5176 } zObj = v1 - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18706, libc.VaList(bp+8, zObj)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18793, libc.VaList(bp+8, zObj)) if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 { - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18737, libc.VaList(bp+8, z, zExtra)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18824, libc.VaList(bp+8, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140898)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141847)) } } } @@ -116096,9 +116920,9 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } var _azAlterType = [3]uintptr{ - 0: __ccgo_ts + 18648, - 1: __ccgo_ts + 18655, - 2: __ccgo_ts + 18667, + 0: __ccgo_ts + 18735, + 1: __ccgo_ts + 18742, + 2: __ccgo_ts + 18754, } // C documentation @@ -116174,7 +116998,7 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(uint8(iDb)) if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), db+192) == 0 || (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage && (*TInitData)(unsafe.Pointer(pData)).FmxPage > uint32(0) { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14520) + _corruptSchema(tls, pData, argv, __ccgo_ts+14613) } } libc.SetBitFieldPtr8Uint32(db+192+8, libc.Uint32FromInt32(0), 0, 0x1) @@ -116207,11 +117031,11 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr } else { pIndex = _sqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName) if pIndex == uintptr(0) { - _corruptSchema(tls, pData, argv, __ccgo_ts+18745) + _corruptSchema(tls, pData, argv, __ccgo_ts+18832) } else { if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum < uint32(2) || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage || _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14520) + _corruptSchema(tls, pData, argv, __ccgo_ts+14613) } } } @@ -116250,18 +117074,18 @@ func _sqlite3InitOne(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. */ - (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9062 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9187 if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6537 + v2 = __ccgo_ts + 6601 } else { - v2 = __ccgo_ts + 6070 + v2 = __ccgo_ts + 6134 } v1 = v2 zSchemaTabName = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(2)] = (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8134 - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18758 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8259 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18845 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(5)] = uintptr(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 72))).FiDb = iDb @@ -116350,7 +117174,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl } else { /* If opening an attached database, the encoding much match ENC(db) */ if (*(*[5]int32)(unsafe.Pointer(bp + 48)))[libc.Int32FromInt32(BTREE_TEXT_ENCODING)-libc.Int32FromInt32(1)]&int32(3) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12099) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12224) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -116376,7 +117200,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = uint8(1) } if int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > int32(SQLITE_MAX_FILE_FORMAT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18830) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18917) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -116391,7 +117215,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl /* Read the schema information out of the schema tables */ (*(*TInitData)(unsafe.Pointer(bp + 72))).FmxPage = _sqlite3BtreeLastPage(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18854, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18941, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, __ccgo_fp(_sqlite3InitCallback), bp+72, uintptr(0)) @@ -116690,7 +117514,12 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) { var pCleanup uintptr _ = pCleanup - pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + if _sqlite3FaultSim(tls, int32(300)) != 0 { + pCleanup = uintptr(0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) + } else { + pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + } if pCleanup != 0 { (*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup (*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup @@ -116721,7 +117550,7 @@ func _sqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FpParse = pParse (*TParse)(unsafe.Pointer(pParse)).Fdb = db if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1622, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1636, 0) } } @@ -116755,7 +117584,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } else { } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1622, 0) + _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1636, 0) v1 = libc.Int32FromInt32(SQLITE_NOMEM) rc = v1 (*Tsqlite3)(unsafe.Pointer(db)).FerrCode = v1 @@ -116804,7 +117633,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep rc = _sqlite3BtreeSchemaLocked(tls, pBt) if rc != 0 { zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FzDbSName - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18888, libc.VaList(bp+432, zDb)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18975, libc.VaList(bp+432, zDb)) goto end_prepare } } @@ -116820,7 +117649,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep if nBytes >= 0 && (nBytes == 0 || int32(*(*int8)(unsafe.Pointer(zSql + uintptr(nBytes-int32(1))))) != 0) { mxLen = *(*int32)(unsafe.Pointer(db + 136 + 1*4)) if nBytes > mxLen { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+18918, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+19005, 0) rc = _sqlite3ApiExit(tls, db, int32(SQLITE_TOOBIG)) goto end_prepare } @@ -116854,7 +117683,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } rc = (*(*TParse)(unsafe.Pointer(bp))).Frc if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3799, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3863, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) } else { _sqlite3Error(tls, db, rc) @@ -116884,7 +117713,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3 cnt = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141699)) + return _sqlite3MisuseError(tls, int32(142654)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) _sqlite3BtreeEnterAll(tls, db) @@ -117018,7 +117847,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr rc = SQLITE_OK *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141848)) + return _sqlite3MisuseError(tls, int32(142803)) } if nBytes >= 0 { z = zSql @@ -117424,15 +118253,15 @@ func _sqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC i++ } if jointype&(libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER)) == libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER) || jointype&int32(JT_ERROR) != 0 || jointype&(libc.Int32FromInt32(JT_OUTER)|libc.Int32FromInt32(JT_LEFT)|libc.Int32FromInt32(JT_RIGHT)) == int32(JT_OUTER) { - zSp1 = __ccgo_ts + 11206 - zSp2 = __ccgo_ts + 11206 + zSp1 = __ccgo_ts + 11331 + zSp2 = __ccgo_ts + 11331 if pB == uintptr(0) { zSp1++ } if pC == uintptr(0) { zSp2++ } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18937, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19024, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) jointype = int32(JT_INNER) } return jointype @@ -117723,7 +118552,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { if int32((*TSrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype)&int32(JT_NATURAL) != 0 { pUsing = uintptr(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18967, libc.VaList(bp+16, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19054, libc.VaList(bp+16, 0)) return int32(1) } j = 0 @@ -117773,7 +118602,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { zName1 = (*(*TIdList_item)(unsafe.Pointer(pList + 8 + uintptr(j)*16))).FzName iRightCol = _sqlite3ColumnIndex(tls, pRightTab, zName1) if iRightCol < 0 || _tableAndColumnIndex(tls, pSrc, 0, i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19017, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19104, libc.VaList(bp+16, zName1)) return int32(1) } pE1 = _sqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4))) @@ -117795,7 +118624,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { pFuncArgs = uintptr(0) /* Arguments to the coalesce() */ for _tableAndColumnIndex(tls, pSrc, *(*int32)(unsafe.Pointer(bp))+int32(1), i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) != 0 { if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 60 + 4))&0x400>>10)) == 0 || _sqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 72)), zName1) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19081, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19168, libc.VaList(bp+16, zName1)) break } pFuncArgs = _sqlite3ExprListAppend(tls, pParse, pFuncArgs, pE1) @@ -117839,7 +118668,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { } var _tkCoalesce = TToken{ - Fz: __ccgo_ts + 6734, + Fz: __ccgo_ts + 6798, Fn: uint32(8), } @@ -118615,13 +119444,13 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { _ = z switch id { case int32(TK_ALL): - z = __ccgo_ts + 19118 + z = __ccgo_ts + 19205 case int32(TK_INTERSECT): - z = __ccgo_ts + 19128 + z = __ccgo_ts + 19215 case int32(TK_EXCEPT): - z = __ccgo_ts + 19138 + z = __ccgo_ts + 19225 default: - z = __ccgo_ts + 19145 + z = __ccgo_ts + 19232 break } return z @@ -118642,7 +119471,7 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { func _explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19151, libc.VaList(bp+8, zUsage)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19238, libc.VaList(bp+8, zUsage)) } /* @@ -118676,12 +119505,17 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, iParm = (*TSelectDest)(unsafe.Pointer(pDest)).FiSDParm /* True if sorter record includes seq. no. */ nRefKey = 0 aOutEx = (*TSelect)(unsafe.Pointer(p)).FpEList + 8 - if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 { - v1 = __ccgo_ts + 19174 + nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat == 0 || nKey == int32(1) { + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat != 0 { + v1 = __ccgo_ts + 19261 + } else { + v1 = __ccgo_ts + 1666 + } + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19275, libc.VaList(bp+8, v1)) } else { - v1 = __ccgo_ts + 1652 + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19306, libc.VaList(bp+8, nKey)) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19189, libc.VaList(bp+8, v1)) if (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut != 0 { _sqlite3VdbeAddOp2(tls, v, int32(OP_Gosub), (*TSortCtx)(unsafe.Pointer(pSort)).FregReturn, (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut) _sqlite3VdbeGoto(tls, v, addrBreak) @@ -118703,7 +119537,6 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, regRow = _sqlite3GetTempRange(tls, pParse, nColumn) } } - nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat if int32((*TSortCtx)(unsafe.Pointer(pSort)).FsortFlags)&int32(SORTFLAG_UseSorter) != 0 { v3 = pParse + 56 *(*int32)(unsafe.Pointer(v3))++ @@ -118921,7 +119754,7 @@ func _columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr } if iCol < 0 { zType = __ccgo_ts + 1140 - *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16698 + *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16785 } else { *(*uintptr)(unsafe.Pointer(bp + 16)) = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, uintptr(0)) @@ -119067,13 +119900,13 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) iCol = int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) } if iCol < 0 { - zCol = __ccgo_ts + 16698 + zCol = __ccgo_ts + 16785 } else { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } if fullName != 0 { zName1 = uintptr(0) - zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12385, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) + zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12510, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName1, __ccgo_fp(_sqlite3OomClear)) } else { _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, uintptr(-libc.Int32FromInt32(1))) @@ -119081,7 +119914,7 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { z = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32))).FzEName if z == uintptr(0) { - v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19220, libc.VaList(bp+8, i+int32(1))) + v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19352, libc.VaList(bp+8, i+int32(1))) } else { v2 = _sqlite3DbStrDup(tls, db, z) } @@ -119173,7 +120006,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if iCol >= 0 { v3 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } else { - v3 = __ccgo_ts + 16698 + v3 = __ccgo_ts + 16785 } zName = v3 } else { @@ -119188,7 +120021,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if zName != 0 && !(_sqlite3IsTrueOrFalse(tls, zName) != 0) { zName = _sqlite3DbStrDup(tls, db, zName) } else { - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19220, libc.VaList(bp+40, i+int32(1))) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19352, libc.VaList(bp+40, i+int32(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. @@ -119224,7 +120057,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, } *(*Tu32)(unsafe.Pointer(bp))++ v8 = *(*Tu32)(unsafe.Pointer(bp)) - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19229, libc.VaList(bp+40, nName, zName, v8)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19361, libc.VaList(bp+40, nName, zName, v8)) _sqlite3ProgressCheck(tls, pParse) if *(*Tu32)(unsafe.Pointer(bp)) > uint32(3) { Xsqlite3_randomness(tls, int32(4), bp) @@ -119284,9 +120117,9 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS defer tls.Free(64) var a, db, p, pCol, pColl, pS2, zType, p4, p5 uintptr var i, j, m int32 - var m1, n Ti64 + var k, n Ti64 var _ /* sNC at bp+0 */ TNameContext - _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, m, m1, n, p, pCol, pColl, pS2, zType, p4, p5 + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, k, m, n, p, pCol, pColl, pS2, zType, p4, p5 db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { return @@ -119303,17 +120136,22 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS if !(i < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } + m = 0 + pS2 = pSelect *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags) & libc.Int32FromInt32(COLFLAG_NOINSERT)) p = (*(*TExprList_item)(unsafe.Pointer(a + uintptr(i)*32))).FpExpr /* pCol->szEst = ... // Column size est for SELECT tables never used */ (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, p) + for int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) && (*TSelect)(unsafe.Pointer(pS2)).FpNext != uintptr(0) { + m |= _sqlite3ExprDataType(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext + (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + } if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) { (*TColumn)(unsafe.Pointer(pCol)).Faffinity = aff } - if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && (*TSelect)(unsafe.Pointer(pSelect)).FpNext != 0 { - m = 0 - m = 0 - pS2 = (*TSelect)(unsafe.Pointer(pSelect)).FpNext + if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && ((*TSelect)(unsafe.Pointer(pS2)).FpNext != 0 || pS2 != pSelect) { + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext for { if !(pS2 != 0) { break @@ -119338,7 +120176,7 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS zType = _columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0)) if zType == uintptr(0) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) != int32(_sqlite3AffinityType(tls, zType, uintptr(0))) { if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_NUMERIC) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_FLEXNUM) { - zType = __ccgo_ts + 19237 + zType = __ccgo_ts + 19369 } else { zType = uintptr(0) j = int32(1) @@ -119358,13 +120196,13 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS } } if zType != 0 { - m1 = int64(_sqlite3Strlen30(tls, zType)) + k = int64(_sqlite3Strlen30(tls, zType)) n = int64(_sqlite3Strlen30(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) - (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+m1+int64(2))) + (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+k+int64(2))) p4 = pCol + 14 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) & ^(libc.Int32FromInt32(COLFLAG_HASTYPE) | libc.Int32FromInt32(COLFLAG_HASCOLL))) if (*TColumn)(unsafe.Pointer(pCol)).FzCnName != 0 { - libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(m1+int64(1))) + libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(k+int64(1))) p5 = pCol + 14 *(*Tu16)(unsafe.Pointer(p5)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p5))) | libc.Int32FromInt32(COLFLAG_HASTYPE)) } @@ -119653,7 +120491,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest iDistinct = 0 /* To ensure unique results if UNION */ eDest = int32(SRT_Fifo) /* Registers used by LIMIT and OFFSET */ if (*TSelect)(unsafe.Pointer(p)).FpWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19241, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19373, 0) return } /* Obtain authorization to do a recursive query */ @@ -119746,7 +120584,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest break } if (*TSelect)(unsafe.Pointer(pFirstRec)).FselFlags&uint32(SF_Aggregate) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19290, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19422, 0) goto end_of_recursive_query } (*TSelect)(unsafe.Pointer(pFirstRec)).Fop = uint8(TK_ALL) @@ -119761,7 +120599,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest /* Store the results of the setup-query in Queue. */ pSetup = (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior (*TSelect)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19332, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19464, 0) rc = _sqlite3Select(tls, pParse, pSetup, bp) (*TSelect)(unsafe.Pointer(pSetup)).FpNext = p if rc != 0 { @@ -119789,7 +120627,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest ** the value for the recursive-table. Store the results in the Queue. */ (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19338, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19470, 0) _sqlite3Select(tls, pParse, p, bp) (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup /* Keep running the loop until the Queue is empty */ @@ -119842,11 +120680,11 @@ func _multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) nRow += bShowAll } if nRow == int32(1) { - v1 = __ccgo_ts + 1652 + v1 = __ccgo_ts + 1666 } else { - v1 = __ccgo_ts + 19353 + v1 = __ccgo_ts + 19485 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19355, libc.VaList(bp+8, nRow, v1)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19487, libc.VaList(bp+8, nRow, v1)) for p != 0 { _selectInnerLoop(tls, pParse, p, -int32(1), uintptr(0), uintptr(0), pDest, int32(1), int32(1)) if !(bShowAll != 0) { @@ -119954,8 +120792,8 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in return _multiSelectOrderBy(tls, pParse, p, pDest) } else { if (*TSelect)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19378, 0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19393, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19510, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19525, 0) } /* Generate code for the left and right SELECT statements. */ @@ -119980,7 +120818,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in _sqlite3VdbeAddOp3(tls, v, int32(OP_OffsetLimit), (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TSelect)(unsafe.Pointer(p)).FiOffset+int32(1), (*TSelect)(unsafe.Pointer(p)).FiOffset) } } - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19118, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19205, 0) rc = _sqlite3Select(tls, pParse, p, bp) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -120032,7 +120870,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 48))).FeDest = op - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19412, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19544, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+48) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -120090,7 +120928,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit1 = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 88))).FiSDParm = tab2 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19412, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19544, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+88) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -120213,9 +121051,9 @@ func _sqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) bp := tls.Alloc(16) defer tls.Free(16) if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Values) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19433, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19565, 0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19479, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19611, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) } } @@ -120584,8 +121422,8 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr (*TSelect)(unsafe.Pointer(pSplit)).FpPrior = uintptr(0) (*TSelect)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy = _sqlite3ExprListDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0) - _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7371) - _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7371) + _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7496) + _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7496) /* Compute the limit registers */ _computeLimitRegisters(tls, pParse, p, labelEnd) if (*TSelect)(unsafe.Pointer(p)).FiLimit != 0 && op == int32(TK_ALL) { @@ -120629,14 +121467,14 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr regOutB = v21 _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), regAddrA) _sqlite3SelectDestInit(tls, bp+40, int32(SRT_Coroutine), regAddrB) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19561, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19693, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) /* Generate a coroutine to evaluate the SELECT statement to the ** left of the compound operator - the "A" select. */ addrSelectA = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regAddrA, 0, addrSelectA) (*TSelect)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19572, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19704, 0) _sqlite3Select(tls, pParse, pPrior, bp) _sqlite3VdbeEndCoroutine(tls, v, regAddrA) _sqlite3VdbeJumpHere(tls, v, addr1) @@ -120649,7 +121487,7 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr savedOffset = (*TSelect)(unsafe.Pointer(p)).FiOffset (*TSelect)(unsafe.Pointer(p)).FiLimit = regLimitB (*TSelect)(unsafe.Pointer(p)).FiOffset = 0 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19577, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19709, 0) _sqlite3Select(tls, pParse, p, bp+40) (*TSelect)(unsafe.Pointer(p)).FiLimit = savedLimit (*TSelect)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -120864,7 +121702,7 @@ func _substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) (r uintptr) { if pColl != 0 { v1 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v1 = __ccgo_ts + 5090 + v1 = __ccgo_ts + 5154 } pExpr = _sqlite3ExprAddCollateString(tls, (*TSubstContext)(unsafe.Pointer(pSubst)).FpParse, pExpr, v1) } @@ -121900,10 +122738,10 @@ func _findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft - if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pLeft) != 0 { + if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pLeft) != 0 { _constInsert(tls, pConst, pRight, pLeft, pExpr) } - if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pRight) != 0 { + if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pRight) != 0 { _constInsert(tls, pConst, pLeft, pRight, pExpr) } } @@ -122136,6 +122974,18 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** The hope is that the terms added to the inner query will make it more // ** efficient. // ** +// ** NAME AMBIGUITY +// ** +// ** This optimization is called the "WHERE-clause push-down optimization". +// ** +// ** Do not confuse this optimization with another unrelated optimization +// ** with a similar name: The "MySQL push-down optimization" causes WHERE +// ** clause terms that can be evaluated using only the index and without +// ** reference to the table are run first, so that if they are false, +// ** unnecessary table seeks are avoided. +// ** +// ** RULES +// ** // ** Do not attempt this optimization if: // ** // ** (1) (** This restriction was removed on 2017-09-29. We used to @@ -122201,10 +123051,10 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** (9c) There is a RIGHT JOIN (or FULL JOIN) in between the ON/USING // ** clause and the subquery. // ** -// ** Without this restriction, the push-down optimization might move -// ** the ON/USING filter expression from the left side of a RIGHT JOIN -// ** over to the right side, which leads to incorrect answers. See -// ** also restriction (6) in sqlite3ExprIsSingleTableConstraint(). +// ** Without this restriction, the WHERE-clause push-down optimization +// ** might move the ON/USING filter expression from the left side of a +// ** RIGHT JOIN over to the right side, which leads to incorrect answers. +// ** See also restriction (6) in sqlite3ExprIsSingleTableConstraint(). // ** // ** (10) The inner query is not the right-hand table of a RIGHT JOIN. // ** @@ -122297,7 +123147,7 @@ func _pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere ui nChng += _pushDownWhereTerms(tls, pParse, pSubq, (*TExpr)(unsafe.Pointer(pWhere)).FpRight, pSrcList, iSrc) pWhere = (*TExpr)(unsafe.Pointer(pWhere)).FpLeft } - if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc) != 0 { + if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc, int32(1)) != 0 { nChng++ *(*Tu32)(unsafe.Pointer(pSubq + 4)) |= uint32(SF_PushDown) for pSubq != 0 { @@ -122467,13 +123317,13 @@ func _minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) (r return uint8(uint8(eRet)) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8)) - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15554) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15647) == 0 { eRet = int32(WHERE_ORDERBY_MIN) if _sqlite3ExprCanBeNull(tls, (*(*TExprList_item)(unsafe.Pointer(pEList + 8))).FpExpr) != 0 { sortFlags = uint8(KEYINFO_ORDER_BIGNULL) } } else { - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15558) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15651) == 0 { eRet = int32(WHERE_ORDERBY_MAX) sortFlags = uint8(KEYINFO_ORDER_DESC) } else { @@ -122561,7 +123411,7 @@ func _sqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r in pIdx = (*TIndex)(unsafe.Pointer(pIdx)).FpNext } if !(pIdx != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19583, libc.VaList(bp+8, zIndexedBy, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19715, libc.VaList(bp+8, zIndexedBy, 0)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) return int32(SQLITE_ERROR) } @@ -122685,7 +123535,7 @@ func _cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19601, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19733, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) return int32(1) } return 0 @@ -122860,7 +123710,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } *(*Tu32)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= uint32(SF_CopyCte) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19624, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19756, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) return int32(2) } libc.SetBitFieldPtr16Uint32(pFrom+60+4, libc.Uint32FromInt32(1), 8, 0x100) @@ -122884,7 +123734,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ libc.SetBitFieldPtr16Uint32(pItem+60+4, libc.Uint32FromInt32(1), 6, 0x40) if (*TSelect)(unsafe.Pointer(pRecTerm)).FselFlags&uint32(SF_Recursive) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19644, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19776, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) return int32(2) } *(*Tu32)(unsafe.Pointer(pRecTerm + 4)) |= uint32(SF_Recursive) @@ -122906,7 +123756,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } pRecTerm = (*TSelect)(unsafe.Pointer(pRecTerm)).FpPrior } - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19687 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19819 pSavedWith = (*TParse)(unsafe.Pointer(pParse)).FpWith (*TParse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp)) if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { @@ -122937,7 +123787,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pEList = (*TSelect)(unsafe.Pointer(pLeft)).FpEList if (*TCte)(unsafe.Pointer(pCte)).FpCols != 0 { if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr != (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19710, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19842, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*TParse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return int32(2) } @@ -122946,9 +123796,9 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom _sqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8) if bMayRecursive != 0 { if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19748 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19880 } else { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19782 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19914 } _sqlite3WalkSelect(tls, pWalker, pSel) } @@ -123007,7 +123857,7 @@ func _sqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int if (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 { (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3DbStrDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias) } else { - (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19820, libc.VaList(bp+8, pFrom)) + (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19952, libc.VaList(bp+8, pFrom)) } for (*TSelect)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*TSelect)(unsafe.Pointer(pSel)).FpPrior @@ -123163,7 +124013,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { return int32(WRC_Abort) } if (*TTable)(unsafe.Pointer(pTab)).FnTabRef >= uint32(0xffff) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19824, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19956, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) (*TSrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return int32(WRC_Abort) } @@ -123178,7 +124028,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) && (*TTable)(unsafe.Pointer(pTab)).FpSchema != (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19863, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19995, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } (*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect = _sqlite3SelectDup(tls, db, (*(*struct { FpSelect uintptr @@ -123193,7 +124043,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).Fp)).FeVtabRisk) > libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15113, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15206, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } } nCol = (*TTable)(unsafe.Pointer(pTab)).FnCol @@ -123315,7 +124165,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if iDb >= 0 { v10 = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName } else { - v10 = __ccgo_ts + 6594 + v10 = __ccgo_ts + 6658 } zSchemaName = v10 } @@ -123332,7 +124182,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { pNew = _sqlite3ExprListAppend(tls, pParse, pNew, pRight) if pNew != 0 { pX = pNew + 8 + uintptr((*TExprList)(unsafe.Pointer(pNew)).FnExpr-int32(1))*32 - (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19894, libc.VaList(bp+8, zUName)) + (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20026, libc.VaList(bp+8, zUName)) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(ENAME_TAB), 0, 0x3) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(1), 7, 0x80) } @@ -123411,7 +124261,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if pNestedFrom != 0 && libc.Bool(libc.Bool(!(libc.Int32FromInt32(ViewCanHaveRowid) != 0)) || j < (*TExprList)(unsafe.Pointer(pNestedFrom)).FnExpr) { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, (*(*TExprList_item)(unsafe.Pointer(pNestedFrom + 8 + uintptr(j)*32))).FzEName) } else { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19899, libc.VaList(bp+8, zSchemaName, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20031, libc.VaList(bp+8, zSchemaName, zTabName, zName)) } if j == int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) { v13 = int32(ENAME_ROWID) @@ -123424,7 +124274,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } } else { if longNames != 0 { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12385, libc.VaList(bp+8, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12510, libc.VaList(bp+8, zTabName, zName)) libc.SetBitFieldPtr16Uint32(pX1+16+4, libc.Uint32FromInt32(ENAME_NAME), 0, 0x3) } else { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, zName) @@ -123444,9 +124294,9 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if !(tableSeen != 0) { if zTName != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19908, libc.VaList(bp+8, zTName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20040, libc.VaList(bp+8, zTName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19926, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20058, 0) } } } @@ -123460,7 +124310,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if (*TSelect)(unsafe.Pointer(p)).FpEList != 0 { if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19946, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20078, 0) return int32(WRC_Abort) } if elistFlags&uint32(libc.Int32FromInt32(EP_HasFunc)|libc.Int32FromInt32(EP_Subquery)) != uint32(0) { @@ -123801,12 +124651,12 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct >= 0 { pE = (*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFExpr if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19977, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20109, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -int32(1) } else { pKeyInfo = _sqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20028, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20160, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab >= 0 { @@ -123827,7 +124677,7 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { (*TKeyInfo)(unsafe.Pointer(pKeyInfo1)).FnKeyField++ } _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab, (*TExprList)(unsafe.Pointer(pOBList)).FnExpr+nExtra, 0, pKeyInfo1, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20061, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20193, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } goto _1 _1: @@ -124132,16 +124982,16 @@ func _explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintp if int32((*TParse)(unsafe.Pointer(pParse)).Fexplain) == int32(2) { bCover = libc.BoolInt32(pIdx != uintptr(0) && ((*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) || !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == libc.Int32FromInt32(SQLITE_IDXTYPE_PRIMARYKEY)))) if bCover != 0 { - v1 = __ccgo_ts + 20094 + v1 = __ccgo_ts + 20226 } else { - v1 = __ccgo_ts + 1652 + v1 = __ccgo_ts + 1666 } if bCover != 0 { v2 = (*TIndex)(unsafe.Pointer(pIdx)).FzName } else { - v2 = __ccgo_ts + 1652 + v2 = __ccgo_ts + 1666 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20117, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20249, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) } } @@ -124173,7 +125023,7 @@ func _havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3 ** statements AggInfo structure. */ if _sqlite3ExprIsConstantOrGroupBy(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*TSelect)(unsafe.Pointer(pS)).FpGroupBy) != 0 && libc.BoolInt32((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse)) == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8134) + pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8259) if pNew != 0 { pWhere = (*TSelect)(unsafe.Pointer(pS)).FpWhere t = *(*TExpr)(unsafe.Pointer(pNew)) @@ -124329,7 +125179,7 @@ func _countOfViewOptimization(tls *libc.TLS, pParse uintptr, p uintptr) (r int32 if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { return 0 } /* Result is an aggregate */ - if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15848) != 0 { + if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15941) != 0 { return 0 } /* Is count() */ if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != uintptr(0) { @@ -124592,7 +125442,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { v1 = (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p0)).FpTab)).FzName } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20129, libc.VaList(bp+176, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20261, libc.VaList(bp+176, v1)) goto select_end } /* Clear the SF_UFSrcCheck flag. The check has already been performed, @@ -124693,7 +125543,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r /* Catch mismatch in the declared columns of a view and the number of ** columns in the SELECT on the RHS */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) != (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20183, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20315, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end } /* Do not attempt the usual optimizations (flattening and ORDER BY @@ -124830,12 +125680,12 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r ** string for the fake column name seems safer. */ if (*TSrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0) && (*TSrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0) { - _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1652, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1666, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) } /* Generate code for all sub-queries in the FROM clause */ pSub1 = (*TSrcItem)(unsafe.Pointer(pItem1)).FpSelect - if pSub1 == uintptr(0) { + if pSub1 == uintptr(0) || (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub != 0 { goto _10 } /* The code for a subquery should only be generated once. */ @@ -124874,7 +125724,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop _sqlite3SelectDestInit(tls, bp+72, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20223, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20355, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60+4, libc.Uint32FromInt32(1), 5, 0x20) @@ -124922,7 +125772,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { } _sqlite3SelectDestInit(tls, bp+72, int32(SRT_EphemTab), (*TSrcItem)(unsafe.Pointer(pItem1)).FiCursor) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20238, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20370, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow if onceAddr != 0 { @@ -125332,11 +126182,11 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r groupBySort = 0 } else { if (*(*TDistinctCtx)(unsafe.Pointer(bp))).FisTnct != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Distinct) == uint32(0) { - v44 = __ccgo_ts + 20254 + v44 = __ccgo_ts + 20386 } else { - v44 = __ccgo_ts + 20263 + v44 = __ccgo_ts + 20395 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19151, libc.VaList(bp+176, v44)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19238, libc.VaList(bp+176, v44)) groupBySort = int32(1) nGroupBy = (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr nCol = nGroupBy @@ -125655,7 +126505,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeResolveLabel(tls, v, addrEnd) } /* endif aggregate query */ if int32((*(*TDistinctCtx)(unsafe.Pointer(bp))).FeTnctType) == int32(WHERE_DISTINCT_UNORDERED) { - _explainTempTable(tls, pParse, __ccgo_ts+20254) + _explainTempTable(tls, pParse, __ccgo_ts+20386) } /* If there is an ORDER BY clause, then we need to sort the results ** and send them to the callback one by one. @@ -125761,7 +126611,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr if !(i < nCol) { break } - z = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if z == uintptr(0) { goto malloc_failed } @@ -125777,7 +126627,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr } else { if int32((*TTabResult)(unsafe.Pointer(p)).FnColumn) != nCol { Xsqlite3_free(tls, (*TTabResult)(unsafe.Pointer(p)).FzErrMsg) - (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20272, 0) + (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20404, 0) (*TTabResult)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) return int32(1) } @@ -125867,7 +126717,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) } Xsqlite3_free(tls, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg) } @@ -126029,7 +126879,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if isTemp != 0 { /* If TEMP was specified, then the trigger name may not be qualified. */ if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20337, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20469, 0) goto trigger_cleanup } iDb = int32(1) @@ -126069,7 +126919,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto trigger_cleanup } - _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20383, *(*uintptr)(unsafe.Pointer(bp))) + _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20515, *(*uintptr)(unsafe.Pointer(bp))) if _sqlite3FixSrcList(tls, bp+8, pTableName) != 0 { goto trigger_cleanup } @@ -126079,11 +126929,11 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_orphan_error } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20391, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20523, 0) goto trigger_orphan_error } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, db) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20432, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20564, 0) goto trigger_orphan_error } /* Check that the trigger name is not reserved and that no trigger of the @@ -126092,13 +126942,13 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if zName == uintptr(0) { goto trigger_cleanup } - if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20383, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { + if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20515, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { goto trigger_cleanup } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema+56, zName) != 0 { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20472, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20604, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) } @@ -126106,8 +126956,8 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 } } /* Do not create a trigger on a system table */ - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6529, int32(7)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20498, 0) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6593, int32(7)) == 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20630, 0) goto trigger_cleanup } /* INSTEAD of triggers are only for views and views only support INSTEAD @@ -126115,15 +126965,15 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && tr_tm != int32(TK_INSTEAD) { if tr_tm == int32(TK_BEFORE) { - v1 = __ccgo_ts + 20536 + v1 = __ccgo_ts + 20668 } else { - v1 = __ccgo_ts + 20543 + v1 = __ccgo_ts + 20675 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20549, libc.VaList(bp+112, v1, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20681, libc.VaList(bp+112, v1, pTableName+8)) goto trigger_orphan_error } if !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) && tr_tm == int32(TK_INSTEAD) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20586, libc.VaList(bp+112, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20718, libc.VaList(bp+112, pTableName+8)) goto trigger_orphan_error } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -126143,9 +126993,9 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iTabDb == int32(1) { - v3 = __ccgo_ts + 6537 + v3 = __ccgo_ts + 6601 } else { - v3 = __ccgo_ts + 6070 + v3 = __ccgo_ts + 6134 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto trigger_cleanup @@ -126245,7 +127095,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl pStepList = (*TTriggerStep)(unsafe.Pointer(pStepList)).FpNext } _sqlite3TokenInit(tls, bp+96, (*TTrigger)(unsafe.Pointer(pTrig)).FzName) - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20383, bp+96) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20515, bp+96) if _sqlite3FixTriggerStep(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 || _sqlite3FixExpr(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).FpWhen) != 0 { goto triggerfinish_cleanup } @@ -126267,7 +127117,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl break } if (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget != uintptr(0) && _sqlite3ShadowTableName(tls, db, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20632, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20764, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) goto triggerfinish_cleanup } goto _1 @@ -126283,10 +127133,10 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl } _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) z = _sqlite3DbStrNDup(tls, db, (*TToken)(unsafe.Pointer(pAll)).Fz, uint64((*TToken)(unsafe.Pointer(pAll)).Fn)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20680, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20812, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) _sqlite3DbFree(tls, db, z) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20755, libc.VaList(bp+120, zName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20887, libc.VaList(bp+120, zName)), uint16(0)) } } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { @@ -126554,7 +127404,7 @@ func _sqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int } if !(pTrigger != 0) { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20784, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20916, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, zDb) } @@ -126596,9 +127446,9 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { code = int32(SQLITE_DROP_TRIGGER) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6537 + v1 = __ccgo_ts + 6601 } else { - v1 = __ccgo_ts + 6070 + v1 = __ccgo_ts + 6134 } zTab = v1 if iDb == int32(1) { @@ -126613,7 +127463,7 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { v2 = _sqlite3GetVdbe(tls, pParse) v = v2 if v2 != uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20804, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20936, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropTrigger), iDb, 0, 0, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName, 0) } @@ -126746,11 +127596,11 @@ func _triggersReallyExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { if op != int32(TK_INSERT) { if op == int32(TK_DELETE) { - v1 = __ccgo_ts + 20866 + v1 = __ccgo_ts + 20998 } else { - v1 = __ccgo_ts + 20873 + v1 = __ccgo_ts + 21005 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20880, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21012, libc.VaList(bp+8, v1)) } (*TTrigger)(unsafe.Pointer(p)).Ftr_tm = uint8(TRIGGER_BEFORE) } else { @@ -126851,7 +127701,7 @@ func _isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != int32(TK_ASTERISK) { return 0 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20928, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21060, 0) return int32(1) } @@ -126916,6 +127766,79 @@ func _sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab return pNew } +// C documentation +// +// /* If the Expr node is a subquery or an EXISTS operator or an IN operator that +// ** uses a subquery, and if the subquery is SF_Correlated, then mark the +// ** expression as EP_VarSelect. +// */ +func _sqlite3ReturningSubqueryVarSelect(tls *libc.TLS, NotUsed uintptr, pExpr uintptr) (r int32) { + _ = NotUsed + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) && (*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FselFlags&uint32(SF_Correlated) != uint32(0) { + *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** If the SELECT references the table pWalker->u.pTab, then do two things: +// ** +// ** (1) Mark the SELECT as as SF_Correlated. +// ** (2) Set pWalker->eCode to non-zero so that the caller will know +// ** that (1) has happened. +// */ +func _sqlite3ReturningSubqueryCorrelated(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + var i int32 + var pSrc uintptr + _, _ = i, pSrc + pSrc = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + i = 0 + for { + if !(i < (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) { + break + } + if (*(*TSrcItem)(unsafe.Pointer(pSrc + 8 + uintptr(i)*104))).FpTab == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { + *(*Tu32)(unsafe.Pointer(pSelect + 4)) |= uint32(SF_Correlated) + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + break + } + goto _1 + _1: + ; + i++ + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Scan the expression list that is the argument to RETURNING looking +// ** for subqueries that depend on the table which is being modified in the +// ** statement that is hosting the RETURNING clause (pTab). Mark all such +// ** subqueries as SF_Correlated. If the subqueries are part of an +// ** expression, mark the expression as EP_VarSelect. +// ** +// ** https://sqlite.org/forum/forumpost/2c83569ce8945d39 +// */ +func _sqlite3ProcessReturningSubqueries(tls *libc.TLS, pEList uintptr, pTab uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ExprWalkNoop) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3ReturningSubqueryCorrelated) + *(*uintptr)(unsafe.Pointer(bp + 40)) = pTab + _sqlite3WalkExprList(tls, bp, pEList) + if (*(*TWalker)(unsafe.Pointer(bp))).FeCode != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ReturningSubqueryVarSelect) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop) + _sqlite3WalkExprList(tls, bp, pEList) + } +} + // C documentation // // /* @@ -126950,6 +127873,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab (*(*TSelect)(unsafe.Pointer(bp))).FpSrc = bp + 128 (*(*TSrcList)(unsafe.Pointer(bp + 128))).FnSrc = int32(1) (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FpTab = pTab + (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FzName = (*TTable)(unsafe.Pointer(pTab)).FzName /* tag-20240424-1 */ (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FiCursor = -int32(1) _sqlite3SelectPrep(tls, pParse, bp, uintptr(0)) if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { @@ -126974,6 +127898,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab if _sqlite3ResolveExprListNames(tls, bp+240, pNew) == SQLITE_OK && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { nCol = (*TExprList)(unsafe.Pointer(pNew)).FnExpr reg = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(1) + _sqlite3ProcessReturningSubqueries(tls, pNew, pTab) *(*int32)(unsafe.Pointer(pParse + 56)) += nCol + int32(2) (*TReturning)(unsafe.Pointer(pReturning)).FiRetReg = reg i = 0 @@ -127042,7 +127967,7 @@ func _codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orcon } (*TParse)(unsafe.Pointer(pParse)).FeOrconf = uint8(v2) if (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6267, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6331, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) } switch int32((*TTriggerStep)(unsafe.Pointer(pStep)).Fop) { case int32(TK_UPDATE): @@ -127144,7 +128069,7 @@ func _codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintp v = _sqlite3GetVdbe(tls, bp+56) if v != 0 { if (*TTrigger)(unsafe.Pointer(pTrigger)).FzName != 0 { - _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+20970, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) + _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+21102, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) } /* If one was specified, code the WHEN clause. If it evaluates to false ** (or NULL) the sub-vdbe is immediately halted by jumping to the @@ -127833,7 +128758,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui chngPk = uint8(1) } else { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20984, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21116, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto update_cleanup } } @@ -127853,13 +128778,13 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui pRowidExpr = (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FpExpr iRowidExpr = i } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21020, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21152, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto update_cleanup } } if j < 0 { - v11 = __ccgo_ts + 7909 + v11 = __ccgo_ts + 8034 } else { v11 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName } @@ -128541,7 +129466,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui ** that information. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21039) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21171) } goto update_cleanup update_cleanup: @@ -128975,9 +129900,9 @@ func _sqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr if nClause == 0 && (*TUpsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) { (*(*[16]int8)(unsafe.Pointer(bp + 200)))[0] = 0 } else { - Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21052, libc.VaList(bp+224, nClause+int32(1))) + Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21184, libc.VaList(bp+224, nClause+int32(1))) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21056, libc.VaList(bp+224, bp+200)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21188, libc.VaList(bp+224, bp+200)) return int32(SQLITE_ERROR) } goto _1 @@ -129080,7 +130005,7 @@ func _sqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i++ } i = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), iDataCur, 0, iPk, nPk) - _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12474, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12599, -int32(1)) _sqlite3MayAbort(tls, pParse) _sqlite3VdbeJumpHere(tls, v, i) } @@ -129162,7 +130087,7 @@ func _execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) (r int3 ** corrupt the sqlite_schema.sql field with other kinds of statements ** then run VACUUM to get those statements to execute at inappropriate ** times. */ - if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21129, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21133, uint64(3)) == 0) { + if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21261, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21265, uint64(3)) == 0) { rc = _execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -129290,24 +130215,24 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p pDb = uintptr(0) /* Name of output file */ pgflags = uint32(PAGER_SYNCHRONOUS_OFF) /* sync flags for output db */ if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21137) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21269) return int32(SQLITE_ERROR) /* IMP: R-12218-18073 */ } if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive > int32(1) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21177) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21309) return int32(SQLITE_ERROR) /* IMP: R-15610-35227 */ } saved_openFlags = (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags if pOut != 0 { if Xsqlite3_value_type(tls, pOut) != int32(SQLITE_TEXT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21220) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21352) return int32(SQLITE_ERROR) } zOut = Xsqlite3_value_text(tls, pOut) *(*uint32)(unsafe.Pointer(db + 76)) &= uint32(^libc.Int32FromInt32(SQLITE_OPEN_READONLY)) *(*uint32)(unsafe.Pointer(db + 76)) |= uint32(libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE)) } else { - zOut = __ccgo_ts + 1652 + zOut = __ccgo_ts + 1666 } /* Save the current value of the database flags so that it can be ** restored before returning. Then set the writable-schema flag, and @@ -129339,7 +130264,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** to write the journal header file. */ nDb = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21238, libc.VaList(bp+24, zOut)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21370, libc.VaList(bp+24, zOut)) (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if rc != SQLITE_OK { goto end_of_vacuum @@ -129351,7 +130276,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p *(*Ti64)(unsafe.Pointer(bp)) = 0 if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0) && (_sqlite3OsFileSize(tls, id, bp) != SQLITE_OK || *(*Ti64)(unsafe.Pointer(bp)) > 0) { rc = int32(SQLITE_ERROR) - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21261) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21393) goto end_of_vacuum } *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_VacuumInto) @@ -129368,7 +130293,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, ** to ensure that we do not try to change the page-size on a WAL database. */ - rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14883) + rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14976) if rc != SQLITE_OK { goto end_of_vacuum } @@ -129399,11 +130324,11 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** in the temporary database. */ (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(uint8(nDb)) /* force new CREATE statements into vacuum_db */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21288, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21420, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21396, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21528, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } @@ -129412,7 +130337,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy ** the contents to the temporary database. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21450, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21582, libc.VaList(bp+24, zDbMain)) *(*Tu32)(unsafe.Pointer(db + 44)) &= uint32(^libc.Int32FromInt32(DBFLAG_Vacuum)) if rc != SQLITE_OK { goto end_of_vacuum @@ -129422,7 +130347,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** associated storage, so all we have to do is copy their entries ** from the schema table. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21601, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21733, libc.VaList(bp+24, zDbMain)) if rc != 0 { goto end_of_vacuum } @@ -129949,7 +130874,7 @@ func _addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uint FazArg uintptr Fp uintptr })(unsafe.Pointer(pTable + 64))).FnArg+int32(3) >= *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12704, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12829, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = _sqlite3DbRealloc(tls, db, (*(*struct { FnArg int32 @@ -130072,7 +130997,7 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { if pEnd != 0 { (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32(int64((*TToken)(unsafe.Pointer(pEnd)).Fz)-int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz))) + (*TToken)(unsafe.Pointer(pEnd)).Fn } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21731, libc.VaList(bp+8, pParse+272)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21863, libc.VaList(bp+8, pParse+272)) /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. @@ -130082,11 +131007,11 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { ** by sqlite3StartTable(). */ iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+21755, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+21887, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) v = _sqlite3GetVdbe(tls, pParse) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) - zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21854, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21986, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) _sqlite3DbFree(tls, db, zStmt) v2 = pParse + 56 @@ -130173,7 +131098,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, break } if (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21873, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22005, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(SQLITE_LOCKED) } goto _1 @@ -130215,9 +131140,9 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, } if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21915, libc.VaList(bp+48, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22047, libc.VaList(bp+48, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3799, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3863, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) } _sqlite3DbFree(tls, db, pVTable) @@ -130230,8 +131155,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*TModule)(unsafe.Pointer(pMod)).FnRefModule++ (*TVTable)(unsafe.Pointer(pVTable)).FnRef = int32(1) if (*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared == 0 { - zFormat = __ccgo_ts + 21945 - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + zFormat = __ccgo_ts + 22077 + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, zModuleName)) _sqlite3VtabUnlock(tls, pVTable) rc = int32(SQLITE_ERROR) } else { @@ -130256,7 +131181,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(iCol < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } - zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1652) + zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1666) i = 0 nType = _sqlite3Strlen30(tls, zType) i = 0 @@ -130264,7 +131189,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(i < nType) { break } - if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16589, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { + if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16676, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { break } goto _3 @@ -130345,13 +131270,13 @@ func _sqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).FazArg)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21991, libc.VaList(bp+16, zModule)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22123, libc.VaList(bp+16, zModule)) rc = int32(SQLITE_ERROR) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) (*TParse)(unsafe.Pointer(pParse)).Frc = rc } _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) @@ -130432,7 +131357,7 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, ** error. Otherwise, do nothing. */ if pMod == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21991, libc.VaList(bp+8, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22123, libc.VaList(bp+8, zMod)) rc = int32(SQLITE_ERROR) } else { rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr) @@ -130458,18 +131383,42 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r int32) { bp := tls.Alloc(448) defer tls.Free(448) - var initBusy, rc int32 - var pCtx, pIdx, pNew, pTab, v2 uintptr - var v1 Ti16 + var i, initBusy, rc int32 + var pCtx, pIdx, pNew, pTab, z, v3 uintptr + var v2 Ti16 var _ /* sParse at bp+0 */ TParse - _, _, _, _, _, _, _, _ = initBusy, pCtx, pIdx, pNew, pTab, rc, v1, v2 + var _ /* tokenType at bp+424 */ int32 + _, _, _, _, _, _, _, _, _, _ = i, initBusy, pCtx, pIdx, pNew, pTab, rc, z, v2, v3 rc = SQLITE_OK + /* Verify that the first two keywords in the CREATE TABLE statement + ** really are "CREATE" and "TABLE". If this is not the case, then + ** sqlite3_declare_vtab() is being misused. + */ + z = zCreateTable + i = 0 + for { + if !(_aKeyword1[i] != 0) { + break + } + *(*int32)(unsafe.Pointer(bp + 424)) = 0 + for cond := true; cond; cond = *(*int32)(unsafe.Pointer(bp + 424)) == int32(TK_SPACE) { + z += uintptr(_sqlite3GetToken(tls, z, bp+424)) + } + if *(*int32)(unsafe.Pointer(bp + 424)) != int32(_aKeyword1[i]) { + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+22142, 0) + return int32(SQLITE_ERROR) + } + goto _1 + _1: + ; + i++ + } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { - _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(155155))) + _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(156227))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) - return _sqlite3MisuseError(tls, int32(155157)) + return _sqlite3MisuseError(tls, int32(156229)) } pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab _sqlite3ParseObjectInit(tls, bp, db) @@ -130481,7 +131430,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i initBusy = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) (*(*TParse)(unsafe.Pointer(bp))).FnQueryLoop = int16(1) - if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) && (*(*TParse)(unsafe.Pointer(bp))).FpNewTable != uintptr(0) && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && int32((*TTable)(unsafe.Pointer((*(*TParse)(unsafe.Pointer(bp))).FpNewTable)).FeTabType) == TABTYP_NORM { + if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) { if !((*TTable)(unsafe.Pointer(pTab)).FaCol != 0) { pNew = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable (*TTable)(unsafe.Pointer(pTab)).FaCol = (*TTable)(unsafe.Pointer(pNew)).FaCol @@ -130490,9 +131439,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpDfltList) - v1 = (*TTable)(unsafe.Pointer(pNew)).FnCol - (*TTable)(unsafe.Pointer(pTab)).FnCol = v1 - (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v1 + v2 = (*TTable)(unsafe.Pointer(pNew)).FnCol + (*TTable)(unsafe.Pointer(pTab)).FnCol = v2 + (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v2 *(*Tu32)(unsafe.Pointer(pTab + 48)) |= (*TTable)(unsafe.Pointer(pNew)).FtabFlags & uint32(libc.Int32FromInt32(TF_WithoutRowid)|libc.Int32FromInt32(TF_NoVisibleRowid)) (*TTable)(unsafe.Pointer(pNew)).FnCol = 0 (*TTable)(unsafe.Pointer(pNew)).FaCol = uintptr(0) @@ -130511,11 +131460,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = int32(1) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - v2 = __ccgo_ts + 3799 + v3 = __ccgo_ts + 3863 } else { - v2 = uintptr(0) + v3 = uintptr(0) } - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v2, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v3, libc.VaList(bp+440, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) rc = int32(SQLITE_ERROR) } @@ -130531,6 +131480,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i return rc } +var _aKeyword1 = [3]Tu8{ + 0: uint8(TK_CREATE), + 1: uint8(TK_TABLE), +} + // C documentation // // /* @@ -130982,7 +131936,7 @@ func _sqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) _addModuleArgument(tls, pParse, pTab, _sqlite3DbStrDup(tls, db, (*TTable)(unsafe.Pointer(pTab)).FzName)) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp) if rc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3VtabEponymousTableClear(tls, db, pMod) } @@ -131046,7 +132000,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = _sqlite3MisuseError(tls, int32(155651)) + rc = _sqlite3MisuseError(tls, int32(156723)) } else { ap = va switch op { @@ -131059,7 +132013,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in case int32(SQLITE_VTAB_USES_ALL_SCHEMAS): (*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1) default: - rc = _sqlite3MisuseError(tls, int32(155673)) + rc = _sqlite3MisuseError(tls, int32(156745)) break } _ = ap @@ -131781,10 +132735,10 @@ type WhereInfo1 = TWhereInfo1 func _explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) (r uintptr) { i = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -int32(2) { - return __ccgo_ts + 22010 + return __ccgo_ts + 22155 } if i == -int32(1) { - return __ccgo_ts + 16698 + return __ccgo_ts + 16785 } return (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*16))).FzCnName } @@ -131803,10 +132757,10 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, var i int32 _ = i if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22017, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22162, int32(5)) } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22023, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22168, int32(1)) } i = 0 for { @@ -131814,7 +132768,7 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13094, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13219, int32(1)) } Xsqlite3_str_appendall(tls, pStr, _explainIndexColumnName(tls, pIdx, iTerm+i)) goto _1 @@ -131823,11 +132777,11 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5110, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5174, int32(1)) } Xsqlite3_str_append(tls, pStr, zOp, int32(1)) if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22023, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22168, int32(1)) } i = 0 for { @@ -131835,16 +132789,16 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13094, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13219, int32(1)) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5112, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5176, int32(1)) goto _2 _2: ; i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5110, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5174, int32(1)) } } @@ -131877,7 +132831,7 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { if int32(int32(nEq)) == 0 && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_BTM_LIMIT)|libc.Int32FromInt32(WHERE_TOP_LIMIT)) == uint32(0) { return } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22025, int32(2)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22170, int32(2)) i = 0 for { if !(i < int32(int32(nEq))) { @@ -131885,12 +132839,12 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } z = _explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22017, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22162, int32(5)) } if i >= int32(int32(nSkip)) { - v2 = __ccgo_ts + 22028 + v2 = __ccgo_ts + 22173 } else { - v2 = __ccgo_ts + 22033 + v2 = __ccgo_ts + 22178 } Xsqlite3_str_appendf(tls, pStr, v2, libc.VaList(bp+8, z)) goto _1 @@ -131900,13 +132854,13 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } j = i if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_BTM_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22041) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22186) i = int32(1) } if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_TOP_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22043) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22188) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5110, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5174, int32(1)) } // C documentation @@ -131949,47 +132903,47 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if isSearch != 0 { - v2 = __ccgo_ts + 22045 + v2 = __ccgo_ts + 22190 } else { - v2 = __ccgo_ts + 22052 + v2 = __ccgo_ts + 22197 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22057, libc.VaList(bp+144, v2, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22202, libc.VaList(bp+144, v2, pItem)) if flags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_VIRTUALTABLE)) == uint32(0) { zFmt = uintptr(0) pIdx = (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex if !((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) && int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = __ccgo_ts + 11257 + zFmt = __ccgo_ts + 11382 } } else { if flags&uint32(WHERE_PARTIALIDX) != 0 { - zFmt = __ccgo_ts + 22063 + zFmt = __ccgo_ts + 22208 } else { if flags&uint32(WHERE_AUTO_INDEX) != 0 { - zFmt = __ccgo_ts + 22096 + zFmt = __ccgo_ts + 22241 } else { if flags&uint32(WHERE_IDX_ONLY) != 0 { - zFmt = __ccgo_ts + 22121 + zFmt = __ccgo_ts + 22266 } else { - zFmt = __ccgo_ts + 22139 + zFmt = __ccgo_ts + 22284 } } } } if zFmt != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22148, int32(7)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22293, int32(7)) Xsqlite3_str_appendf(tls, bp, zFmt, libc.VaList(bp+144, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) _explainIndexRange(tls, bp, pLoop) } } else { if flags&uint32(WHERE_IPK) != uint32(0) && flags&uint32(WHERE_CONSTRAINT) != uint32(0) { - zRowid = __ccgo_ts + 16698 - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22156, libc.VaList(bp+144, zRowid)) + zRowid = __ccgo_ts + 16785 + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22301, libc.VaList(bp+144, zRowid)) if flags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != 0 { cRangeOp = int8('=') } else { if flags&uint32(WHERE_BOTH_LIMIT) == uint32(WHERE_BOTH_LIMIT) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22187, libc.VaList(bp+144, zRowid)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22332, libc.VaList(bp+144, zRowid)) cRangeOp = int8('<') } else { if flags&uint32(WHERE_BTM_LIMIT) != 0 { @@ -131999,10 +132953,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22197, libc.VaList(bp+144, int32(int32(cRangeOp)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22342, libc.VaList(bp+144, int32(int32(cRangeOp)))) } else { if flags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22202, libc.VaList(bp+144, (*(*struct { + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22347, libc.VaList(bp+144, (*(*struct { FidxNum int32 F__ccgo4 uint8 FisOrdered Ti8 @@ -132021,7 +132975,7 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } if int32((*TSrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&int32(JT_LEFT) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22229, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22374, 0) } zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) @@ -132055,14 +133009,14 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Initial space for EQP output string */ _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22240, libc.VaList(bp+144, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22385, libc.VaList(bp+144, pItem)) pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_IPK) != 0 { pTab = (*TSrcItem)(unsafe.Pointer(pItem)).FpTab if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22028, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22173, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) } else { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22261, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22406, 0) } } else { i = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) @@ -132072,16 +133026,16 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp } z = _explainIndexColumnName(tls, (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex, i) if i > int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22017, int32(5)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22162, int32(5)) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22028, libc.VaList(bp+144, z)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22173, libc.VaList(bp+144, z)) goto _1 _1: ; i++ } } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5110, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5174, int32(1)) zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) return ret @@ -132912,6 +133866,35 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32 } } +// C documentation +// +// /* +// ** Loop pLoop is a WHERE_INDEXED level that uses at least one IN(...) +// ** operator. Return true if level pLoop is guaranteed to visit only one +// ** row for each key generated for the index. +// */ +func _whereLoopIsOneRow(tls *libc.TLS, pLoop uintptr) (r int32) { + var ii int32 + _ = ii + if (*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FonError != 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) == 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq) == int32((*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FnKeyCol) { + ii = 0 + for { + if !(ii < int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq)) { + break + } + if int32((*TWhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(ii)*8)))).FeOperator)&(libc.Int32FromInt32(WO_IS)|libc.Int32FromInt32(WO_ISNULL)) != 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) + } + return 0 +} + // C documentation // // /* @@ -133600,7 +134583,10 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** a LEFT JOIN: */ } /* Record the instruction used to terminate the loop. */ - if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 { + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 || (*(*struct { + FnIn int32 + FaInLoop uintptr + })(unsafe.Pointer(pLevel + 72))).FnIn != 0 && regBignull == 0 && _whereLoopIsOneRow(tls, pLoop) != 0 { (*TWhereLevel)(unsafe.Pointer(pLevel)).Fop = uint8(OP_Noop) } else { if bRev != 0 { @@ -133773,7 +134759,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22269, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22414, 0) ii = 0 for { if !(ii < (*TWhereClause)(unsafe.Pointer(pOrWc)).FnTerm) { @@ -133796,7 +134782,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } /* Loop through table entries that match term pOrTerm. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22284, libc.VaList(bp+96, ii+int32(1))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22429, libc.VaList(bp+96, ii+int32(1))) pSubWInfo = _sqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) if pSubWInfo != 0 { addrExplain = _sqlite3WhereExplainOneScan(tls, pParse, pOrTab, pSubWInfo+856, uint16(0)) @@ -133959,6 +134945,12 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** iLoop==3: Code all remaining expressions. ** ** An effort is made to skip unnecessary iterations of the loop. + ** + ** This optimization of causing simple query restrictions to occur before + ** more complex one is call the "push-down" optimization in MySQL. Here + ** in SQLite, the name is "MySQL push-down", since there is also another + ** totally unrelated optimization called "WHERE-clause push-down". + ** Sometimes the qualifier is omitted, resulting in an ambiguity, so beware. */ if pIdx != 0 { v60 = int32(1) @@ -134258,9 +135250,9 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe defer tls.Free(128) var addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, nPk, r, v3 int32 var mAll TBitmask - var pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr + var pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr var _ /* sFrom at bp+0 */ TSrcList - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pRJ = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpRJ @@ -134269,13 +135261,17 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop pTabItem = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 mAll = uint64(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22293, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22438, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) k = 0 for { if !(k < iLevel) { break } + pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*104 mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf + if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x20>>5)) != 0 { + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pRight)).FpSelect)).FpEList)).FnExpr-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiTabCur) iIdxCur = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiIdxCur if iIdxCur != 0 { @@ -134773,19 +135769,19 @@ var _aOp = [4]struct { FeOp2 uint8 }{ 0: { - FzOp: __ccgo_ts + 16547, + FzOp: __ccgo_ts + 16634, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH), }, 1: { - FzOp: __ccgo_ts + 15878, + FzOp: __ccgo_ts + 15971, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB), }, 2: { - FzOp: __ccgo_ts + 15357, + FzOp: __ccgo_ts + 15450, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE), }, 3: { - FzOp: __ccgo_ts + 22307, + FzOp: __ccgo_ts + 22452, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP), }, } @@ -135419,7 +136415,7 @@ func _exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, aiCurCol uintptr, pExpr if int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) != -int32(2) { goto _4 } - if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_STRING) { + if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && !(_sqlite3ExprIsConstant(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr) != 0) { *(*int32)(unsafe.Pointer(aiCurCol)) = iCur *(*int32)(unsafe.Pointer(aiCurCol + 1*4)) = -int32(2) return int32(1) @@ -135572,7 +136568,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { extraRight = x - uint64(1) /* ON clause terms may not be used with an index ** on left table of a LEFT JOIN. Ticket #3015 */ if prereqAll>>libc.Int32FromInt32(1) >= x { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22314, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22459, 0) return } } else { @@ -135584,7 +136580,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { ** if there is a RIGHT or FULL JOIN in the query. This makes SQLite ** more like other systems, and also preserves legacy. */ if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*(*TSrcItem)(unsafe.Pointer(pSrc + 8))).Ffg.Fjointype)&int32(JT_LTORJ) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22314, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22459, 0) return } *(*Tu32)(unsafe.Pointer(pExpr + 4)) &= uint32(^libc.Int32FromInt32(EP_InnerON)) @@ -135668,7 +136664,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { } else { if op == int32(TK_ISNULL) && !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)) != libc.Uint32FromInt32(0)) && 0 == _sqlite3ExprCanBeNull(tls, pLeft) { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_TRUEFALSE) /* See tag-20230504-1 */ - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 7895 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8020 *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_IsFalse)) (*TWhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator = uint16(0) @@ -135764,7 +136760,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { *(*Tu8)(unsafe.Pointer(pC)) = uint8(int32(int32(c1)) + int32(1)) } if *(*int32)(unsafe.Pointer(bp + 12)) != 0 { - v13 = __ccgo_ts + 22355 + v13 = __ccgo_ts + 22500 } else { v13 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) } @@ -136034,6 +137030,9 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FleftCursor != iCsr { return } + if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FprereqRight != uint64(0) { + return + } goto _1 _1: ; @@ -136063,10 +137062,12 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { } } /* All conditions are met. Add the terms to the where-clause object. */ - _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) - if (*TSelect)(unsafe.Pointer(p)).FiOffset > 0 { + if (*TSelect)(unsafe.Pointer(p)).FiOffset != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiOffset, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpRight, iCsr, int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } + if (*TSelect)(unsafe.Pointer(p)).FiOffset == 0 || (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { + _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) + } } } @@ -136290,7 +137291,7 @@ func _sqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22362, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22507, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) return } pColRef = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_COLUMN), uintptr(0), 0) @@ -136724,6 +137725,48 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { return uintptr(0) } +// C documentation +// +// /* +// ** Term pTerm is guaranteed to be a WO_IN term. It may be a component term +// ** of a vector IN expression of the form "(x, y, ...) IN (SELECT ...)". +// ** This function checks to see if the term is compatible with an index +// ** column with affinity idxaff (one of the SQLITE_AFF_XYZ values). If so, +// ** it returns a pointer to the name of the collation sequence (e.g. "BINARY" +// ** or "NOCASE") used by the comparison in pTerm. If it is not compatible +// ** with affinity idxaff, NULL is returned. +// */ +func _indexInAffinityOk(tls *libc.TLS, pParse uintptr, pTerm uintptr, idxaff Tu8) (r uintptr) { + bp := tls.Alloc(80) + defer tls.Free(80) + var iField int32 + var pRet, pX, v1 uintptr + var _ /* inexpr at bp+0 */ TExpr + _, _, _, _ = iField, pRet, pX, v1 + pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr + if _sqlite3ExprIsVector(tls, (*TExpr)(unsafe.Pointer(pX)).FpLeft) != 0 { + iField = (*(*struct { + FleftColumn int32 + FiField int32 + })(unsafe.Pointer(pTerm + 32))).FiField - int32(1) + (*(*TExpr)(unsafe.Pointer(bp))).Fflags = uint32(0) + (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_EQ) + (*(*TExpr)(unsafe.Pointer(bp))).FpLeft = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pX)).FpLeft + 32)) + 8 + uintptr(iField)*32))).FpExpr + (*(*TExpr)(unsafe.Pointer(bp))).FpRight = (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pX + 32)))).FpEList + 8 + uintptr(iField)*32))).FpExpr + pX = bp + } + if _sqlite3IndexAffinityOk(tls, pX, int8(int8(idxaff))) != 0 { + pRet = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pRet != 0 { + v1 = (*TCollSeq)(unsafe.Pointer(pRet)).FzName + } else { + v1 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + return v1 + } + return uintptr(0) +} + // C documentation // // /* @@ -136734,10 +137777,10 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { var iColumn Ti16 var iCur, j, k int32 - var pColl, pParse, pTerm, pWC, pX, v2 uintptr - var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, v2, v3, v5 /* The term being tested */ - k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ + var pColl, pParse, pTerm, pWC, pX, zCollName, v2, v5 uintptr + var v3, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, zCollName, v2, v3, v5, v6 /* The term being tested */ + k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ pWC = (*TWhereScan)(unsafe.Pointer(pScan)).FpWC for int32(1) != 0 { iColumn = *(*Ti16)(unsafe.Pointer(pScan + 88 + uintptr(int32((*TWhereScan)(unsafe.Pointer(pScan)).FiEquiv)-int32(1))*2)) @@ -136781,21 +137824,31 @@ func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { if (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName != 0 && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_ISNULL) == 0 { pParse = (*TWhereInfo)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr - if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { - goto _1 - } - pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) - if pColl == uintptr(0) { - pColl = (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_IN) != 0 { + zCollName = _indexInAffinityOk(tls, pParse, pTerm, uint8((*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff)) + if !(zCollName != 0) { + goto _1 + } + } else { + if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { + goto _1 + } + pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pColl != 0 { + v5 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName + } else { + v5 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + zCollName = v5 } - if _sqlite3StrICmp(tls, (*TCollSeq)(unsafe.Pointer(pColl)).FzName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { + if _sqlite3StrICmp(tls, zCollName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { goto _1 } } - if v5 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v5 { + if v6 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v6 { pX = (*TExpr)(unsafe.Pointer((*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpRight } - if v5 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { + if v6 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { goto _1 } (*TWhereScan)(unsafe.Pointer(pScan)).FpWC = pWC @@ -137283,7 +138336,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea /* Make the automatic index a partial index if there are terms in the ** WHERE clause (or the ON clause of a LEFT join) that constrain which ** rows of the target table (pSrc) that can be used. */ - if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)) != 0 { + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom), 0) != 0 { pPartial = _sqlite3ExprAnd(tls, pParse, pPartial, _sqlite3ExprDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr, 0)) } if _termCanDriveIndex(tls, pTerm, pSrc, notReady) != 0 { @@ -137298,7 +138351,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea } cMask = v2 if !(sentWarning != 0) { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_WARNING)|libc.Int32FromInt32(1)<>14)) != 0) { eDistinct = int32(2) + libc.BoolInt32(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_SORTBYGROUP) != 0) } else { if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_GROUPBY) != 0 { @@ -137769,7 +138822,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB */ pIdxInfo = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(uint64(96)+(libc.Uint64FromInt64(12)+libc.Uint64FromInt64(8))*uint64(uint64(nTerm))+uint64(8)*uint64(uint64(nOrderBy))+uint64(40)+uint64(8)*uint64(uint64(nTerm)))) if pIdxInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1622, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1636, 0) return uintptr(0) } pHidden = pIdxInfo + 1*96 @@ -137854,7 +138907,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB break } pExpr1 = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr - if _sqlite3ExprIsConstant(tls, pExpr1) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr1) != 0 { goto _11 } (*(*Tsqlite3_index_orderby)(unsafe.Pointer(pIdxOrderBy + uintptr(j)*8))).FiColumn = int32((*TExpr)(unsafe.Pointer(pExpr1)).FiColumn) @@ -137929,9 +138982,9 @@ func _vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) (r i _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) } else { if !((*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3799, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3863, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } } @@ -139268,7 +140321,7 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x4>>2)) != 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GE)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LE)-libc.Int32FromInt32(TK_EQ))) } - if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 { + if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 && int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x2>>1)) == 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ) | libc.Int32FromInt32(WO_IN) | libc.Int32FromInt32(WO_IS)) } } @@ -139507,10 +140560,13 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } } } - /* Set rCostIdx to the cost of visiting selected rows in index. Add - ** it to pNew->rRun, which is currently set to the cost of the index - ** seek only. Then, if this is a non-covering index, add the cost of - ** visiting the rows in the main table. */ + /* Set rCostIdx to the estimated cost of visiting selected rows in the + ** index. The estimate is the sum of two values: + ** 1. The cost of doing one search-by-key to find the first matching + ** entry + ** 2. Stepping forward in the index pNew->nOut times to find all + ** additional matching entries. + */ if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_IPK) { /* The pProbe->szIdxRow is low for an IPK table since the interior ** pages are small. Thus szIdxRow gives a good estimate of seek cost. @@ -139520,7 +140576,14 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } else { rCostIdx = int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut) + int32(1) + int32(15)*int32((*TIndex)(unsafe.Pointer(pProbe)).FszIdxRow)/int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FszTabRow)) } - (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + rCostIdx = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + /* Estimate the cost of running the loop. If all data is coming + ** from the index, then this is just the cost of doing the index + ** lookup and scan. But if some data is coming out of the main table, + ** we also have to add in the cost of doing pNew->nOut searches to + ** locate the row in the main table that corresponds to the index entry. + */ + (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = rCostIdx if (*TWhereLoop)(unsafe.Pointer(pNew)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IDX_ONLY)|libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_EXPRIDX)) == uint32(0) { (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun, int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut)+int32(16))) } @@ -139625,7 +140688,7 @@ func _indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, if pExpr == uintptr(0) { goto _2 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { + if (int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) || int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_COLUMN)) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { return int32(1) } @@ -139960,7 +141023,7 @@ func _wherePartIdxExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, pPart uintpt if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) != int32(TK_COLUMN) { return } - if !(_sqlite3ExprIsConstant(tls, pRight) != 0) { + if !(_sqlite3ExprIsConstant(tls, uintptr(0), pRight) != 0) { return } if !(_sqlite3IsBinary(tls, _sqlite3ExprCompareCollSeq(tls, pParse, pPart)) != 0) { @@ -140289,7 +141352,7 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in ** unique index is used (making the index functionally non-unique) ** then the sqlite_stat1 data becomes important for scoring the ** plan */ - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) } _sqlite3Stat4ProbeFree(tls, (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec) (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid = 0 @@ -140317,6 +141380,31 @@ func _isLimitTerm(tls *libc.TLS, pTerm uintptr) (r int32) { return libc.BoolInt32(int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= int32(SQLITE_INDEX_CONSTRAINT_LIMIT) && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } +// C documentation +// +// /* +// ** Return true if the first nCons constraints in the pUsage array are +// ** marked as in-use (have argvIndex>0). False otherwise. +// */ +func _allConstraintsUsed(tls *libc.TLS, aUsage uintptr, nCons int32) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < nCons) { + break + } + if (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer(aUsage + uintptr(ii)*8))).FargvIndex <= 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + // C documentation // // /* @@ -140411,7 +141499,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if v3 >= 0 { j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).FiTermOffset if iTerm >= nConstraint || j < 0 || j >= (*TWhereClause)(unsafe.Pointer(pWC)).FnTerm || *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) || int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22435, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22580, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } pTerm1 = (*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(j)*56 @@ -140456,12 +141544,16 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, *(*int32)(unsafe.Pointer(pbIn)) = int32(1) } } - if _isLimitTerm(tls, pTerm1) != 0 && *(*int32)(unsafe.Pointer(pbIn)) != 0 { + /* Unless pbRetryLimit is non-NULL, there should be no LIMIT/OFFSET + ** terms. And if there are any, they should follow all other terms. */ + if _isLimitTerm(tls, pTerm1) != 0 && (*(*int32)(unsafe.Pointer(pbIn)) != 0 || !(_allConstraintsUsed(tls, pUsage, i) != 0)) { /* If there is an IN(...) term handled as an == (separate call to ** xFilter for each value on the RHS of the IN) and a LIMIT or - ** OFFSET term handled as well, the plan is unusable. Set output - ** variable *pbRetryLimit to true to tell the caller to retry with - ** LIMIT and OFFSET disabled. */ + ** OFFSET term handled as well, the plan is unusable. Similarly, + ** if there is a LIMIT/OFFSET and there are other unused terms, + ** the plan cannot be used. In these cases set variable *pbRetryLimit + ** to true to tell the caller to retry with LIMIT and OFFSET + ** disabled. */ if (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr != 0 { Xsqlite3_free(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = uintptr(0) @@ -140486,7 +141578,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { /* The non-zero argvIdx values must be contiguous. Raise an ** error if they are not */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22435, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22580, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } goto _6 @@ -140638,7 +141730,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal pVal = uintptr(0) rc = SQLITE_OK if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { - rc = _sqlite3MisuseError(tls, int32(165251)) /* EV: R-30545-25046 */ + rc = _sqlite3MisuseError(tls, int32(166453)) /* EV: R-30545-25046 */ } else { if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) { pTerm = (*TWhereClause)(unsafe.Pointer((*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC)).Fa + uintptr((*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)*56 @@ -141076,7 +142168,7 @@ func _whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) (r int32) { if rc != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { if rc == int32(SQLITE_DONE) { /* We hit the query planner search limit set by iPlanLimit */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22461, 0) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22606, 0) rc = SQLITE_OK } else { break @@ -141458,7 +142550,7 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } p = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr mTerm = _sqlite3WhereExprUsage(tls, pWInfo+592, p) - if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, p) != 0) { + if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, uintptr(0), p) != 0) { goto _9 } if mTerm & ^orderDistinctMask == uint64(0) { @@ -141868,7 +142960,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) iLoop++ } if nFrom == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22496, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22641, 0) _sqlite3DbFreeNN(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pSpace) return int32(SQLITE_ERROR) } @@ -141917,9 +143009,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) if int32((*TWherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*TExprList)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_ORDERED) } - if (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 && int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr { - (*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = int8((*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr) - } + /* vvv--- See check-in [12ad822d9b827777] on 2023-03-16 ---vvv */ } else { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*TWherePath)(unsafe.Pointer(pFrom)).FrevLoop if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 { @@ -141956,6 +143046,97 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) return SQLITE_OK } +// C documentation +// +// /* +// ** This routine implements a heuristic designed to improve query planning. +// ** This routine is called in between the first and second call to +// ** wherePathSolver(). Hence the name "Interstage" "Heuristic". +// ** +// ** The first call to wherePathSolver() (hereafter just "solver()") computes +// ** the best path without regard to the order of the outputs. The second call +// ** to the solver() builds upon the first call to try to find an alternative +// ** path that satisfies the ORDER BY clause. +// ** +// ** This routine looks at the results of the first solver() run, and for +// ** every FROM clause term in the resulting query plan that uses an equality +// ** constraint against an index, disable other WhereLoops for that same +// ** FROM clause term that would try to do a full-table scan. This prevents +// ** an index search from being converted into a full-table scan in order to +// ** satisfy an ORDER BY clause, since even though we might get slightly better +// ** performance using the full-scan without sorting if the output size +// ** estimates are very precise, we might also get severe performance +// ** degradation using the full-scan if the output size estimate is too large. +// ** It is better to err on the side of caution. +// ** +// ** Except, if the first solver() call generated a full-table scan in an outer +// ** loop then stop this analysis at the first full-scan, since the second +// ** solver() run might try to swap that full-scan for another in order to +// ** get the output into the correct order. In other words, we allow a +// ** rewrite like this: +// ** +// ** First Solver() Second Solver() +// ** |-- SCAN t1 |-- SCAN t2 +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** The purpose of this routine is to disallow rewrites such as: +// ** +// ** First Solver() Second Solver() +// ** |-- SEARCH t1 |-- SCAN t2 <--- bad! +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** See test cases in test/whereN.test for the real-world query that +// ** originally provoked this heuristic. +// */ +func _whereInterstageHeuristic(tls *libc.TLS, pWInfo uintptr) { + var i int32 + var iTab Tu8 + var p, pLoop uintptr + _, _, _, _ = i, iTab, p, pLoop + i = 0 + for { + if !(i < int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnLevel)) { + break + } + p = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(i)*104))).FpWLoop + if p == uintptr(0) { + break + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { + goto _1 + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_NULL)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != uint32(0) { + iTab = (*TWhereLoop)(unsafe.Pointer(p)).FiTab + pLoop = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpLoops + for { + if !(pLoop != 0) { + break + } + if int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab) != int32(int32(iTab)) { + goto _2 + } + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_CONSTRAINT)|libc.Int32FromInt32(WHERE_AUTO_INDEX)) != uint32(0) { + /* Auto-index and index-constrained loops allowed to remain */ + goto _2 + } + (*TWhereLoop)(unsafe.Pointer(pLoop)).Fprereq = uint64(-libc.Int32FromInt32(1)) /* Prevent 2nd solver() from using this one */ + goto _2 + _2: + ; + pLoop = (*TWhereLoop)(unsafe.Pointer(pLoop)).FpNextLoop + } + } else { + break + } + goto _1 + _1: + ; + i++ + } +} + // C documentation // // /* @@ -142264,7 +143445,7 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasStat1) == uint32(0) { break } - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) if i >= int32(1) && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&reqFlags == reqFlags && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_INDEXED)) != uint32(0) { if int32(int32(nSearch)) > int32((*TTable)(unsafe.Pointer(pTab)).FnRowLogEst) { *(*Tu32)(unsafe.Pointer(pLoop + 48)) |= uint32(WHERE_BLOOMFILTER) @@ -142279,6 +143460,68 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { } } +// C documentation +// +// /* +// ** Expression Node callback for sqlite3ExprCanReturnSubtype(). +// ** +// ** Only a function call is able to return a subtype. So if the node +// ** is not a function call, return WRC_Prune immediately. +// ** +// ** A function call is able to return a subtype if it has the +// ** SQLITE_RESULT_SUBTYPE property. +// ** +// ** Assume that every function is able to pass-through a subtype from +// ** one of its argument (using sqlite3_result_value()). Most functions +// ** are not this way, but we don't have a mechanism to distinguish those +// ** that are from those that are not, so assume they all work this way. +// ** That means that if one of its arguments is another function and that +// ** other function is able to return a subtype, then this function is +// ** able to return a subtype. +// */ +func _exprNodeCanReturnSubtype(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef uintptr + var n, v1 int32 + _, _, _, _ = db, n, pDef, v1 + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_FUNCTION) { + return int32(WRC_Prune) + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { + v1 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr + } else { + v1 = 0 + } + n = v1 + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + return int32(WRC_Prune) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Return TRUE if expression pExpr is able to return a subtype. +// ** +// ** A TRUE return does not guarantee that a subtype will be returned. +// ** It only indicates that a subtype return is possible. False positives +// ** are acceptable as they only disable an optimization. False negatives, +// ** on the other hand, can lead to incorrect answers. +// */ +func _sqlite3ExprCanReturnSubtype(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeCanReturnSubtype) + _sqlite3WalkExpr(tls, bp, pExpr) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) +} + // C documentation // // /* @@ -142293,9 +143536,9 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { // ** references to the corresponding column of the index. // */ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur int32, pTabItem uintptr) { - var db, p, pArg, pDef, pExpr, pTab uintptr - var i, j, n, v2 int32 - _, _, _, _, _, _, _, _, _, _ = db, i, j, n, p, pArg, pDef, pExpr, pTab, v2 + var i, j int32 + var p, pArg, pExpr, pTab uintptr + _, _, _, _, _, _ = i, j, p, pArg, pExpr, pTab pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable i = 0 for { @@ -142312,21 +143555,14 @@ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur i goto _1 } } - if _sqlite3ExprIsConstant(tls, pExpr) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) != 0 { goto _1 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) { - db = (*TParse)(unsafe.Pointer(pParse)).Fdb - if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { - v2 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr - } else { - v2 = 0 - } - n = v2 - pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) - if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { - goto _1 - } + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) && _sqlite3ExprCanReturnSubtype(tls, pParse, pExpr) != 0 { + /* Functions that might set a subtype should not be replaced by the + ** value taken from an expression index since the index omits the + ** subtype. https://sqlite.org/forum/forumpost/68d284c86b082c3e */ + goto _1 } p = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(32)) if p == uintptr(0) { @@ -142498,7 +143734,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** bits in a Bitmask */ if (*TSrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22514, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22659, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) return uintptr(0) } /* This function normally generates a nested loop for all tables in @@ -142570,7 +143806,9 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere if int32(int32(wctrlFlags))&int32(WHERE_WANT_DISTINCT) != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_DistinctOpt)) == uint32(0) { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_UNIQUE) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22542, 0) + if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FselFlags&uint32(SF_MultiValue) == uint32(0) { + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22687, 0) + } } else { /* Assign a bit from the bitmask to every term in the FROM clause. ** @@ -142702,6 +143940,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere goto whereBeginError } if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy != 0 { + _whereInterstageHeuristic(tls, pWInfo) _wherePathSolver(tls, pWInfo, int16(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut)+int32(1))) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto whereBeginError @@ -143010,10 +144249,10 @@ whereBeginError: // ** sqlite3WhereBegin() for additional information. // */ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { - var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, r1, ws, x, v4, v7 int32 - var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr + var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, r1, ws, x, v4, v7 int32 + var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pTabList = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList @@ -143154,6 +144393,12 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { ws = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags) addr = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfPos), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) if ws&int32(WHERE_IDX_ONLY) == 0 { + pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 + if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x20>>5)) != 0 { + n1 = (*TSrcItem)(unsafe.Pointer(pSrc)).FregResult + m = int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FnCol) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, n1, n1+m-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) } if ws&int32(WHERE_INDEXED) != 0 || ws&int32(WHERE_MULTI_OR) != 0 && *(*uintptr)(unsafe.Pointer(&(*TWhereLevel)(unsafe.Pointer(pLevel)).Fu)) != 0 { @@ -143570,7 +144815,7 @@ func _nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) goto error_out error_out: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22560, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22705, -int32(1)) } func _nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { @@ -143752,7 +144997,7 @@ func _ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { if (*TNtileCtx)(unsafe.Pointer(p)).FnTotal == 0 { (*TNtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg))) if (*TNtileCtx)(unsafe.Pointer(p)).FnParam <= 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22616, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22761, -int32(1)) } } (*TNtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -144078,7 +145323,7 @@ func _windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) (r p = (*TWindow)(unsafe.Pointer(p)).FpNextWin } if p == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22661, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22806, libc.VaList(bp+8, zName)) } return p } @@ -144129,12 +145374,12 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin _sqlite3WindowChain(tls, pParse, pWin, pList) } if int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) == int32(TK_RANGE) && ((*TWindow)(unsafe.Pointer(pWin)).FpStart != 0 || (*TWindow)(unsafe.Pointer(pWin)).FpEnd != 0) && ((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*TExprList)(unsafe.Pointer((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != int32(1)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22680, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22825, 0) } else { if (*TFuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TWindow)(unsafe.Pointer(pWin)).FpFilter != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22751, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22896, 0) } else { aUp = [8]struct { FzFunc uintptr @@ -144207,7 +145452,7 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*TWindow)(unsafe.Pointer(pWin)).FeEnd = uint8(aUp[i].FeEnd) (*TWindow)(unsafe.Pointer(pWin)).FeExclude = uint8(0) if int32((*TWindow)(unsafe.Pointer(pWin)).FeStart) == int32(TK_FOLLOWING) { - (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8134) + (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8259) } break } @@ -144489,7 +145734,7 @@ func _disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintpt bp := tls.Alloc(16) defer tls.Free(16) if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_FUNCTION) && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22814, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) + _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22959, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) } return WRC_Continue } @@ -144630,7 +145875,7 @@ func _sqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { ** keep everything legal in this case. */ if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1726)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1786)) } pSub = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(bp)), pSrc, pWhere, pGroupBy, pHaving, pSort, uint32(0), uintptr(0)) (*TSelect)(unsafe.Pointer(p)).FpSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), uintptr(0), uintptr(0)) @@ -144734,7 +145979,7 @@ func _sqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { // ** variable values in the expression tree. // */ func _sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r uintptr) { - if 0 == _sqlite3ExprIsConstant(tls, pExpr) { + if 0 == _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) { if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameExprUnmap(tls, pParse, pExpr) } @@ -144775,7 +146020,7 @@ func _sqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int3 ** frame boundary. */ if eStart == int32(TK_CURRENT) && eEnd == int32(TK_PRECEDING) || eStart == int32(TK_FOLLOWING) && (eEnd == int32(TK_PRECEDING) || eEnd == int32(TK_CURRENT)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22840, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22985, 0) goto windowAllocErr } pWin = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) @@ -144843,18 +146088,18 @@ func _sqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint zErr = uintptr(0) /* Check for errors */ if (*TWindow)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = __ccgo_ts + 22872 + zErr = __ccgo_ts + 23017 } else { if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*TWindow)(unsafe.Pointer(pWin)).FpOrderBy != 0 { - zErr = __ccgo_ts + 22889 + zErr = __ccgo_ts + 23034 } else { if int32((*TWindow)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = __ccgo_ts + 22905 + zErr = __ccgo_ts + 23050 } } } if zErr != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22925, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23070, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) } else { (*TWindow)(unsafe.Pointer(pWin)).FpPartition = _sqlite3ExprListDup(tls, db, (*TWindow)(unsafe.Pointer(pExist)).FpPartition, 0) if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 { @@ -144878,7 +146123,7 @@ func _sqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(libc.Int32FromInt32(EP_WinFunc) | libc.Int32FromInt32(EP_FullSize)) (*TWindow)(unsafe.Pointer(pWin)).FpOwner = p if (*TExpr)(unsafe.Pointer(p)).Fflags&uint32(EP_Distinct) != 0 && int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) != int32(TK_FILTER) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22958, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23103, 0) } } else { _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -145077,7 +146322,7 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regZero) if eCond >= int32(WINDOW_STARTING_NUM) { regString = _sqlite3GetTempReg(tls, pParse) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1652, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1666, -int32(1)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, _sqlite3VdbeCurrentAddr(tls, v)+int32(2), reg) _sqlite3VdbeChangeP5(tls, v, uint16(libc.Int32FromInt32(SQLITE_AFF_NUMERIC)|libc.Int32FromInt32(SQLITE_JUMPIFNULL))) } else { @@ -145096,11 +146341,11 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { } var _azErr = [5]uintptr{ - 0: __ccgo_ts + 23005, - 1: __ccgo_ts + 23058, - 2: __ccgo_ts + 22560, - 3: __ccgo_ts + 23109, - 4: __ccgo_ts + 23161, + 0: __ccgo_ts + 23150, + 1: __ccgo_ts + 23203, + 2: __ccgo_ts + 22705, + 3: __ccgo_ts + 23254, + 4: __ccgo_ts + 23306, } var _aOp1 = [5]int32{ @@ -145852,7 +147097,7 @@ func _windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal ** the add/subtract is skipped for these, as required. If reg1 is a NULL, ** then the arithmetic is performed, but since adding or subtracting from ** NULL is always NULL anyway, this case is handled as required too. */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1652, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1666, -int32(1)) addrGe = _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, 0, reg1) if op == int32(OP_Ge) && arith == int32(OP_Add) || op == int32(OP_Le) && arith == int32(OP_Subtract) { _sqlite3VdbeAddOp3(tls, v, op, reg2, lbl, reg1) @@ -146880,11 +148125,11 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { cnt++ if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*TSelect)(unsafe.Pointer(pLoop)).FpLimit != 0 { if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - v1 = __ccgo_ts + 23211 + v1 = __ccgo_ts + 23356 } else { - v1 = __ccgo_ts + 23220 + v1 = __ccgo_ts + 23365 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23226, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23371, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) break } } @@ -146893,7 +148138,7 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { mxSelect = v2 } if v3 && v2 > 0 && cnt > mxSelect { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23268, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23413, 0) } } } @@ -146913,6 +148158,23 @@ func _attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith u return pSelect } +// C documentation +// +// /* Memory allocator for parser stack resizing. This is a thin wrapper around +// ** sqlite3_realloc() that includes a call to sqlite3FaultSim() to facilitate +// ** testing. +// */ +func _parserStackRealloc(tls *libc.TLS, pOld uintptr, newSize Tsqlite3_uint64) (r uintptr) { + var v1 uintptr + _ = v1 + if _sqlite3FaultSim(tls, int32(700)) != 0 { + v1 = uintptr(0) + } else { + v1 = Xsqlite3_realloc(tls, pOld, int32(int32(newSize))) + } + return v1 +} + // C documentation // // /* Construct a new Expr object from a single token */ @@ -146982,7 +148244,7 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId _ = p p = _sqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if (hasCollate != 0 || sortOrder != -int32(1)) && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23302, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23447, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) } _sqlite3ExprListSetName(tls, pParse, p, pIdToken, int32(1)) return p @@ -147032,6 +148294,9 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser // ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser // ** sqlite3ParserCTX_* As sqlite3ParserARG_ except for %extra_context +// ** YYREALLOC Name of the realloc() function to use +// ** YYFREE Name of the free() function to use +// ** YYDYNSTACK True if stack space should be extended on heap // ** YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** YYNSTATE the combined number of states. @@ -147045,31 +148310,33 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** YY_NO_ACTION The yy_action[] code for no-op // ** YY_MIN_REDUCE Minimum value for reduce actions // ** YY_MAX_REDUCE Maximum value for reduce actions +// ** YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type TYYMINORTYPE = struct { Fyy0 [0]TToken - Fyy33 [0]uintptr - Fyy41 [0]uintptr - Fyy47 [0]uintptr - Fyy131 [0]uintptr - Fyy180 [0]TTrigEvent - Fyy231 [0]struct { + Fyy14 [0]uintptr + Fyy59 [0]uintptr + Fyy67 [0]uintptr + Fyy122 [0]uintptr + Fyy132 [0]uintptr + Fyy144 [0]int32 + Fyy168 [0]uintptr + Fyy203 [0]uintptr + Fyy211 [0]uintptr + Fyy269 [0]TOnOrUsing + Fyy286 [0]TTrigEvent + Fyy383 [0]struct { Fvalue int32 Fmask int32 } - Fyy254 [0]uintptr - Fyy285 [0]Tu32 - Fyy322 [0]uintptr - Fyy385 [0]uintptr - Fyy394 [0]int32 - Fyy444 [0]uintptr - Fyy516 [0]Tu8 - Fyy521 [0]uintptr - Fyy522 [0]uintptr - Fyy528 [0]uintptr - Fyy561 [0]TOnOrUsing - Fyy595 [0]TFrameBound + Fyy391 [0]Tu32 + Fyy427 [0]uintptr + Fyy454 [0]uintptr + Fyy462 [0]Tu8 + Fyy509 [0]TFrameBound + Fyy555 [0]uintptr Fyyinit int32 F__ccgo_pad20 [12]byte } @@ -147087,6 +148354,13 @@ type YYMINORTYPE = TYYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -147139,2152 +148413,2194 @@ type YYMINORTYPE = TYYMINORTYPE // ** yy_default[] Default action for each state. // ** // *********** Begin parsing tables **********************************************/ -var _yy_action = [2100]uint16{ - 0: uint16(572), - 1: uint16(210), - 2: uint16(572), - 3: uint16(119), - 4: uint16(116), - 5: uint16(231), - 6: uint16(572), - 7: uint16(119), - 8: uint16(116), - 9: uint16(231), - 10: uint16(572), - 11: uint16(1317), - 12: uint16(379), - 13: uint16(1296), - 14: uint16(410), - 15: uint16(566), - 16: uint16(566), - 17: uint16(566), - 18: uint16(572), - 19: uint16(411), - 20: uint16(380), - 21: uint16(1317), - 22: uint16(1279), - 23: uint16(42), - 24: uint16(42), - 25: uint16(42), - 26: uint16(42), - 27: uint16(210), - 28: uint16(1529), - 29: uint16(72), - 30: uint16(72), - 31: uint16(974), - 32: uint16(421), - 33: uint16(42), - 34: uint16(42), - 35: uint16(495), - 36: uint16(305), - 37: uint16(281), - 38: uint16(305), - 39: uint16(975), - 40: uint16(399), - 41: uint16(72), - 42: uint16(72), - 43: uint16(126), - 44: uint16(127), - 45: uint16(81), - 46: uint16(1217), - 47: uint16(1217), - 48: uint16(1054), - 49: uint16(1057), - 50: uint16(1044), - 51: uint16(1044), - 52: uint16(124), - 53: uint16(124), - 54: uint16(125), - 55: uint16(125), - 56: uint16(125), - 57: uint16(125), - 58: uint16(480), - 59: uint16(411), - 60: uint16(1244), - 61: uint16(1), - 62: uint16(1), - 63: uint16(578), - 64: uint16(2), - 65: uint16(1248), - 66: uint16(554), - 67: uint16(119), - 68: uint16(116), - 69: uint16(231), - 70: uint16(319), - 71: uint16(484), - 72: uint16(147), - 73: uint16(484), - 74: uint16(528), - 75: uint16(119), - 76: uint16(116), - 77: uint16(231), - 78: uint16(533), - 79: uint16(1330), - 80: uint16(419), - 81: uint16(527), - 82: uint16(143), - 83: uint16(126), - 84: uint16(127), - 85: uint16(81), - 86: uint16(1217), - 87: uint16(1217), - 88: uint16(1054), - 89: uint16(1057), - 90: uint16(1044), - 91: uint16(1044), - 92: uint16(124), - 93: uint16(124), - 94: uint16(125), - 95: uint16(125), - 96: uint16(125), - 97: uint16(125), - 98: uint16(119), - 99: uint16(116), - 100: uint16(231), - 101: uint16(329), - 102: uint16(123), - 103: uint16(123), - 104: uint16(123), - 105: uint16(123), - 106: uint16(122), - 107: uint16(122), - 108: uint16(121), - 109: uint16(121), - 110: uint16(121), - 111: uint16(120), - 112: uint16(117), - 113: uint16(448), - 114: uint16(286), - 115: uint16(286), - 116: uint16(286), - 117: uint16(286), - 118: uint16(446), - 119: uint16(446), - 120: uint16(446), - 121: uint16(1568), - 122: uint16(378), - 123: uint16(1570), - 124: uint16(1193), - 125: uint16(377), - 126: uint16(1164), - 127: uint16(569), - 128: uint16(1164), - 129: uint16(569), - 130: uint16(411), - 131: uint16(1568), - 132: uint16(541), - 133: uint16(261), - 134: uint16(228), - 135: uint16(448), - 136: uint16(102), - 137: uint16(146), - 138: uint16(453), - 139: uint16(318), - 140: uint16(563), - 141: uint16(242), - 142: uint16(123), - 143: uint16(123), - 144: uint16(123), - 145: uint16(123), - 146: uint16(122), - 147: uint16(122), - 148: uint16(121), - 149: uint16(121), - 150: uint16(121), - 151: uint16(120), - 152: uint16(117), - 153: uint16(448), - 154: uint16(126), - 155: uint16(127), - 156: uint16(81), - 157: uint16(1217), - 158: uint16(1217), - 159: uint16(1054), - 160: uint16(1057), - 161: uint16(1044), - 162: uint16(1044), - 163: uint16(124), - 164: uint16(124), - 165: uint16(125), - 166: uint16(125), - 167: uint16(125), - 168: uint16(125), - 169: uint16(143), - 170: uint16(296), - 171: uint16(1193), - 172: uint16(341), - 173: uint16(452), - 174: uint16(121), - 175: uint16(121), - 176: uint16(121), - 177: uint16(120), - 178: uint16(117), - 179: uint16(448), - 180: uint16(128), - 181: uint16(1193), - 182: uint16(1194), - 183: uint16(1193), - 184: uint16(149), - 185: uint16(445), - 186: uint16(444), - 187: uint16(572), - 188: uint16(120), - 189: uint16(117), - 190: uint16(448), - 191: uint16(125), - 192: uint16(125), - 193: uint16(125), - 194: uint16(125), - 195: uint16(118), - 196: uint16(123), - 197: uint16(123), - 198: uint16(123), - 199: uint16(123), - 200: uint16(122), - 201: uint16(122), - 202: uint16(121), - 203: uint16(121), - 204: uint16(121), - 205: uint16(120), - 206: uint16(117), - 207: uint16(448), - 208: uint16(458), - 209: uint16(114), - 210: uint16(13), - 211: uint16(13), - 212: uint16(550), - 213: uint16(123), - 214: uint16(123), - 215: uint16(123), - 216: uint16(123), - 217: uint16(122), - 218: uint16(122), - 219: uint16(121), - 220: uint16(121), - 221: uint16(121), - 222: uint16(120), - 223: uint16(117), - 224: uint16(448), - 225: uint16(424), - 226: uint16(318), - 227: uint16(563), - 228: uint16(1193), - 229: uint16(1194), - 230: uint16(1193), - 231: uint16(150), - 232: uint16(1225), - 233: uint16(411), - 234: uint16(1225), - 235: uint16(125), - 236: uint16(125), - 237: uint16(125), - 238: uint16(125), - 239: uint16(123), - 240: uint16(123), - 241: uint16(123), - 242: uint16(123), - 243: uint16(122), - 244: uint16(122), - 245: uint16(121), - 246: uint16(121), - 247: uint16(121), - 248: uint16(120), - 249: uint16(117), - 250: uint16(448), - 251: uint16(469), - 252: uint16(344), - 253: uint16(1041), - 254: uint16(1041), - 255: uint16(1055), - 256: uint16(1058), - 257: uint16(126), - 258: uint16(127), - 259: uint16(81), - 260: uint16(1217), - 261: uint16(1217), - 262: uint16(1054), - 263: uint16(1057), - 264: uint16(1044), - 265: uint16(1044), - 266: uint16(124), - 267: uint16(124), - 268: uint16(125), - 269: uint16(125), - 270: uint16(125), - 271: uint16(125), - 272: uint16(1282), - 273: uint16(526), - 274: uint16(224), - 275: uint16(1193), - 276: uint16(572), - 277: uint16(411), - 278: uint16(226), - 279: uint16(519), - 280: uint16(177), - 281: uint16(83), - 282: uint16(84), - 283: uint16(123), - 284: uint16(123), - 285: uint16(123), - 286: uint16(123), - 287: uint16(122), - 288: uint16(122), - 289: uint16(121), - 290: uint16(121), - 291: uint16(121), - 292: uint16(120), - 293: uint16(117), - 294: uint16(448), - 295: uint16(1010), - 296: uint16(16), - 297: uint16(16), - 298: uint16(1193), - 299: uint16(134), - 300: uint16(134), - 301: uint16(126), - 302: uint16(127), - 303: uint16(81), - 304: uint16(1217), - 305: uint16(1217), - 306: uint16(1054), - 307: uint16(1057), - 308: uint16(1044), - 309: uint16(1044), - 310: uint16(124), - 311: uint16(124), - 312: uint16(125), - 313: uint16(125), - 314: uint16(125), - 315: uint16(125), - 316: uint16(123), - 317: uint16(123), - 318: uint16(123), - 319: uint16(123), - 320: uint16(122), - 321: uint16(122), - 322: uint16(121), - 323: uint16(121), - 324: uint16(121), - 325: uint16(120), - 326: uint16(117), - 327: uint16(448), - 328: uint16(1045), - 329: uint16(550), - 330: uint16(1193), - 331: uint16(375), - 332: uint16(1193), - 333: uint16(1194), - 334: uint16(1193), - 335: uint16(254), - 336: uint16(1438), - 337: uint16(401), - 338: uint16(508), - 339: uint16(505), - 340: uint16(504), - 341: uint16(112), - 342: uint16(564), - 343: uint16(570), +var _yy_action = [2142]uint16{ + 0: uint16(576), + 1: uint16(128), + 2: uint16(125), + 3: uint16(232), + 4: uint16(1622), + 5: uint16(549), + 6: uint16(576), + 7: uint16(1290), + 8: uint16(1281), + 9: uint16(576), + 10: uint16(328), + 11: uint16(576), + 12: uint16(1300), + 13: uint16(212), + 14: uint16(576), + 15: uint16(128), + 16: uint16(125), + 17: uint16(232), + 18: uint16(578), + 19: uint16(412), + 20: uint16(578), + 21: uint16(391), + 22: uint16(1542), + 23: uint16(51), + 24: uint16(51), + 25: uint16(523), + 26: uint16(405), + 27: uint16(1293), + 28: uint16(529), + 29: uint16(51), + 30: uint16(51), + 31: uint16(983), + 32: uint16(51), + 33: uint16(51), + 34: uint16(81), + 35: uint16(81), + 36: uint16(1107), + 37: uint16(61), + 38: uint16(61), + 39: uint16(984), + 40: uint16(1107), + 41: uint16(1292), + 42: uint16(380), + 43: uint16(135), + 44: uint16(136), + 45: uint16(90), + 46: uint16(1228), + 47: uint16(1228), + 48: uint16(1063), + 49: uint16(1066), + 50: uint16(1053), + 51: uint16(1053), + 52: uint16(133), + 53: uint16(133), + 54: uint16(134), + 55: uint16(134), + 56: uint16(134), + 57: uint16(134), + 58: uint16(1577), + 59: uint16(412), + 60: uint16(287), + 61: uint16(287), + 62: uint16(7), + 63: uint16(287), + 64: uint16(287), + 65: uint16(422), + 66: uint16(1050), + 67: uint16(1050), + 68: uint16(1064), + 69: uint16(1067), + 70: uint16(289), + 71: uint16(556), + 72: uint16(492), + 73: uint16(573), + 74: uint16(524), + 75: uint16(561), + 76: uint16(573), + 77: uint16(497), + 78: uint16(561), + 79: uint16(482), + 80: uint16(530), + 81: uint16(262), + 82: uint16(229), + 83: uint16(135), + 84: uint16(136), + 85: uint16(90), + 86: uint16(1228), + 87: uint16(1228), + 88: uint16(1063), + 89: uint16(1066), + 90: uint16(1053), + 91: uint16(1053), + 92: uint16(133), + 93: uint16(133), + 94: uint16(134), + 95: uint16(134), + 96: uint16(134), + 97: uint16(134), + 98: uint16(128), + 99: uint16(125), + 100: uint16(232), + 101: uint16(1506), + 102: uint16(132), + 103: uint16(132), + 104: uint16(132), + 105: uint16(132), + 106: uint16(131), + 107: uint16(131), + 108: uint16(130), + 109: uint16(130), + 110: uint16(130), + 111: uint16(129), + 112: uint16(126), + 113: uint16(450), + 114: uint16(1204), + 115: uint16(1255), + 116: uint16(1), + 117: uint16(1), + 118: uint16(582), + 119: uint16(2), + 120: uint16(1259), + 121: uint16(1571), + 122: uint16(420), + 123: uint16(1582), + 124: uint16(379), + 125: uint16(320), + 126: uint16(1174), + 127: uint16(153), + 128: uint16(1174), + 129: uint16(1584), + 130: uint16(412), + 131: uint16(378), + 132: uint16(1582), + 133: uint16(543), + 134: uint16(1341), + 135: uint16(330), + 136: uint16(111), + 137: uint16(570), + 138: uint16(570), + 139: uint16(570), + 140: uint16(293), + 141: uint16(1054), + 142: uint16(132), + 143: uint16(132), + 144: uint16(132), + 145: uint16(132), + 146: uint16(131), + 147: uint16(131), + 148: uint16(130), + 149: uint16(130), + 150: uint16(130), + 151: uint16(129), + 152: uint16(126), + 153: uint16(450), + 154: uint16(135), + 155: uint16(136), + 156: uint16(90), + 157: uint16(1228), + 158: uint16(1228), + 159: uint16(1063), + 160: uint16(1066), + 161: uint16(1053), + 162: uint16(1053), + 163: uint16(133), + 164: uint16(133), + 165: uint16(134), + 166: uint16(134), + 167: uint16(134), + 168: uint16(134), + 169: uint16(287), + 170: uint16(287), + 171: uint16(1204), + 172: uint16(1205), + 173: uint16(1204), + 174: uint16(255), + 175: uint16(287), + 176: uint16(287), + 177: uint16(510), + 178: uint16(507), + 179: uint16(506), + 180: uint16(137), + 181: uint16(455), + 182: uint16(573), + 183: uint16(212), + 184: uint16(561), + 185: uint16(447), + 186: uint16(446), + 187: uint16(505), + 188: uint16(573), + 189: uint16(1616), + 190: uint16(561), + 191: uint16(134), + 192: uint16(134), + 193: uint16(134), + 194: uint16(134), + 195: uint16(127), + 196: uint16(400), + 197: uint16(243), + 198: uint16(132), + 199: uint16(132), + 200: uint16(132), + 201: uint16(132), + 202: uint16(131), + 203: uint16(131), + 204: uint16(130), + 205: uint16(130), + 206: uint16(130), + 207: uint16(129), + 208: uint16(126), + 209: uint16(450), + 210: uint16(282), + 211: uint16(471), + 212: uint16(345), + 213: uint16(132), + 214: uint16(132), + 215: uint16(132), + 216: uint16(132), + 217: uint16(131), + 218: uint16(131), + 219: uint16(130), + 220: uint16(130), + 221: uint16(130), + 222: uint16(129), + 223: uint16(126), + 224: uint16(450), + 225: uint16(574), + 226: uint16(155), + 227: uint16(936), + 228: uint16(936), + 229: uint16(454), + 230: uint16(227), + 231: uint16(521), + 232: uint16(1236), + 233: uint16(412), + 234: uint16(1236), + 235: uint16(134), + 236: uint16(134), + 237: uint16(134), + 238: uint16(134), + 239: uint16(132), + 240: uint16(132), + 241: uint16(132), + 242: uint16(132), + 243: uint16(131), + 244: uint16(131), + 245: uint16(130), + 246: uint16(130), + 247: uint16(130), + 248: uint16(129), + 249: uint16(126), + 250: uint16(450), + 251: uint16(130), + 252: uint16(130), + 253: uint16(130), + 254: uint16(129), + 255: uint16(126), + 256: uint16(450), + 257: uint16(135), + 258: uint16(136), + 259: uint16(90), + 260: uint16(1228), + 261: uint16(1228), + 262: uint16(1063), + 263: uint16(1066), + 264: uint16(1053), + 265: uint16(1053), + 266: uint16(133), + 267: uint16(133), + 268: uint16(134), + 269: uint16(134), + 270: uint16(134), + 271: uint16(134), + 272: uint16(128), + 273: uint16(125), + 274: uint16(232), + 275: uint16(450), + 276: uint16(576), + 277: uint16(412), + 278: uint16(397), + 279: uint16(1249), + 280: uint16(180), + 281: uint16(92), + 282: uint16(93), + 283: uint16(132), + 284: uint16(132), + 285: uint16(132), + 286: uint16(132), + 287: uint16(131), + 288: uint16(131), + 289: uint16(130), + 290: uint16(130), + 291: uint16(130), + 292: uint16(129), + 293: uint16(126), + 294: uint16(450), + 295: uint16(381), + 296: uint16(387), + 297: uint16(1204), + 298: uint16(383), + 299: uint16(81), + 300: uint16(81), + 301: uint16(135), + 302: uint16(136), + 303: uint16(90), + 304: uint16(1228), + 305: uint16(1228), + 306: uint16(1063), + 307: uint16(1066), + 308: uint16(1053), + 309: uint16(1053), + 310: uint16(133), + 311: uint16(133), + 312: uint16(134), + 313: uint16(134), + 314: uint16(134), + 315: uint16(134), + 316: uint16(132), + 317: uint16(132), + 318: uint16(132), + 319: uint16(132), + 320: uint16(131), + 321: uint16(131), + 322: uint16(130), + 323: uint16(130), + 324: uint16(130), + 325: uint16(129), + 326: uint16(126), + 327: uint16(450), + 328: uint16(131), + 329: uint16(131), + 330: uint16(130), + 331: uint16(130), + 332: uint16(130), + 333: uint16(129), + 334: uint16(126), + 335: uint16(450), + 336: uint16(556), + 337: uint16(1204), + 338: uint16(302), + 339: uint16(319), + 340: uint16(567), + 341: uint16(121), + 342: uint16(568), + 343: uint16(480), 344: uint16(4), - 345: uint16(929), - 346: uint16(929), - 347: uint16(435), - 348: uint16(503), - 349: uint16(342), - 350: uint16(464), - 351: uint16(330), - 352: uint16(362), - 353: uint16(396), - 354: uint16(1238), - 355: uint16(1193), - 356: uint16(1194), - 357: uint16(1193), - 358: uint16(567), - 359: uint16(572), - 360: uint16(123), - 361: uint16(123), - 362: uint16(123), - 363: uint16(123), - 364: uint16(122), - 365: uint16(122), - 366: uint16(121), - 367: uint16(121), - 368: uint16(121), - 369: uint16(120), - 370: uint16(117), - 371: uint16(448), - 372: uint16(286), - 373: uint16(286), - 374: uint16(371), - 375: uint16(1581), - 376: uint16(1607), - 377: uint16(445), - 378: uint16(444), - 379: uint16(155), - 380: uint16(411), - 381: uint16(449), - 382: uint16(72), - 383: uint16(72), - 384: uint16(1289), - 385: uint16(569), - 386: uint16(1222), - 387: uint16(1193), - 388: uint16(1194), - 389: uint16(1193), - 390: uint16(86), - 391: uint16(1224), - 392: uint16(273), - 393: uint16(561), - 394: uint16(547), - 395: uint16(520), - 396: uint16(520), - 397: uint16(572), - 398: uint16(99), - 399: uint16(1223), - 400: uint16(6), - 401: uint16(1281), - 402: uint16(476), - 403: uint16(143), - 404: uint16(126), - 405: uint16(127), - 406: uint16(81), - 407: uint16(1217), - 408: uint16(1217), - 409: uint16(1054), - 410: uint16(1057), - 411: uint16(1044), - 412: uint16(1044), - 413: uint16(124), - 414: uint16(124), - 415: uint16(125), - 416: uint16(125), - 417: uint16(125), - 418: uint16(125), - 419: uint16(554), - 420: uint16(13), - 421: uint16(13), - 422: uint16(1031), - 423: uint16(511), - 424: uint16(1225), - 425: uint16(1193), - 426: uint16(1225), - 427: uint16(553), - 428: uint16(110), - 429: uint16(110), - 430: uint16(224), - 431: uint16(572), - 432: uint16(1239), - 433: uint16(177), - 434: uint16(572), - 435: uint16(429), - 436: uint16(111), - 437: uint16(199), - 438: uint16(449), - 439: uint16(573), - 440: uint16(449), - 441: uint16(432), - 442: uint16(1555), - 443: uint16(1019), - 444: uint16(327), - 445: uint16(555), - 446: uint16(1193), - 447: uint16(272), - 448: uint16(289), - 449: uint16(370), - 450: uint16(514), - 451: uint16(365), - 452: uint16(513), - 453: uint16(259), - 454: uint16(72), - 455: uint16(72), - 456: uint16(547), - 457: uint16(72), - 458: uint16(72), - 459: uint16(361), - 460: uint16(318), - 461: uint16(563), - 462: uint16(1613), - 463: uint16(123), - 464: uint16(123), - 465: uint16(123), - 466: uint16(123), - 467: uint16(122), - 468: uint16(122), - 469: uint16(121), - 470: uint16(121), - 471: uint16(121), - 472: uint16(120), - 473: uint16(117), - 474: uint16(448), - 475: uint16(1019), - 476: uint16(1019), - 477: uint16(1021), - 478: uint16(1022), - 479: uint16(28), - 480: uint16(286), - 481: uint16(286), - 482: uint16(1193), - 483: uint16(1194), - 484: uint16(1193), - 485: uint16(1159), - 486: uint16(572), - 487: uint16(1612), - 488: uint16(411), - 489: uint16(904), - 490: uint16(192), - 491: uint16(554), - 492: uint16(358), - 493: uint16(569), - 494: uint16(554), - 495: uint16(940), - 496: uint16(537), - 497: uint16(521), - 498: uint16(1159), - 499: uint16(437), - 500: uint16(415), - 501: uint16(1159), - 502: uint16(556), - 503: uint16(1193), - 504: uint16(1194), - 505: uint16(1193), - 506: uint16(572), - 507: uint16(548), - 508: uint16(548), - 509: uint16(52), - 510: uint16(52), - 511: uint16(216), - 512: uint16(126), - 513: uint16(127), - 514: uint16(81), - 515: uint16(1217), - 516: uint16(1217), - 517: uint16(1054), - 518: uint16(1057), - 519: uint16(1044), - 520: uint16(1044), - 521: uint16(124), - 522: uint16(124), - 523: uint16(125), - 524: uint16(125), - 525: uint16(125), - 526: uint16(125), - 527: uint16(1193), - 528: uint16(478), - 529: uint16(136), - 530: uint16(136), - 531: uint16(411), - 532: uint16(286), - 533: uint16(286), - 534: uint16(1493), - 535: uint16(509), - 536: uint16(122), - 537: uint16(122), - 538: uint16(121), - 539: uint16(121), - 540: uint16(121), - 541: uint16(120), - 542: uint16(117), - 543: uint16(448), - 544: uint16(1010), - 545: uint16(569), - 546: uint16(522), - 547: uint16(219), - 548: uint16(545), - 549: uint16(545), - 550: uint16(318), - 551: uint16(563), - 552: uint16(143), - 553: uint16(6), - 554: uint16(536), - 555: uint16(126), - 556: uint16(127), - 557: uint16(81), - 558: uint16(1217), - 559: uint16(1217), - 560: uint16(1054), - 561: uint16(1057), - 562: uint16(1044), - 563: uint16(1044), - 564: uint16(124), - 565: uint16(124), - 566: uint16(125), - 567: uint16(125), - 568: uint16(125), - 569: uint16(125), - 570: uint16(1557), - 571: uint16(123), - 572: uint16(123), - 573: uint16(123), - 574: uint16(123), - 575: uint16(122), - 576: uint16(122), - 577: uint16(121), - 578: uint16(121), - 579: uint16(121), - 580: uint16(120), - 581: uint16(117), - 582: uint16(448), - 583: uint16(489), - 584: uint16(1193), - 585: uint16(1194), - 586: uint16(1193), - 587: uint16(486), - 588: uint16(283), - 589: uint16(1270), - 590: uint16(960), - 591: uint16(254), - 592: uint16(1193), - 593: uint16(375), - 594: uint16(508), - 595: uint16(505), - 596: uint16(504), - 597: uint16(1193), - 598: uint16(342), - 599: uint16(574), - 600: uint16(1193), - 601: uint16(574), - 602: uint16(411), - 603: uint16(294), - 604: uint16(503), - 605: uint16(960), - 606: uint16(879), - 607: uint16(193), - 608: uint16(484), - 609: uint16(318), - 610: uint16(563), - 611: uint16(386), - 612: uint16(292), - 613: uint16(382), - 614: uint16(123), - 615: uint16(123), - 616: uint16(123), - 617: uint16(123), - 618: uint16(122), - 619: uint16(122), - 620: uint16(121), - 621: uint16(121), - 622: uint16(121), - 623: uint16(120), - 624: uint16(117), - 625: uint16(448), - 626: uint16(126), - 627: uint16(127), - 628: uint16(81), - 629: uint16(1217), - 630: uint16(1217), - 631: uint16(1054), - 632: uint16(1057), - 633: uint16(1044), - 634: uint16(1044), - 635: uint16(124), - 636: uint16(124), - 637: uint16(125), - 638: uint16(125), - 639: uint16(125), - 640: uint16(125), - 641: uint16(411), - 642: uint16(396), - 643: uint16(1139), - 644: uint16(1193), - 645: uint16(872), - 646: uint16(101), - 647: uint16(286), - 648: uint16(286), - 649: uint16(1193), - 650: uint16(1194), - 651: uint16(1193), - 652: uint16(375), - 653: uint16(1096), - 654: uint16(1193), - 655: uint16(1194), - 656: uint16(1193), - 657: uint16(1193), - 658: uint16(1194), - 659: uint16(1193), - 660: uint16(569), - 661: uint16(459), - 662: uint16(33), - 663: uint16(375), - 664: uint16(235), - 665: uint16(126), - 666: uint16(127), - 667: uint16(81), - 668: uint16(1217), - 669: uint16(1217), - 670: uint16(1054), - 671: uint16(1057), - 672: uint16(1044), - 673: uint16(1044), - 674: uint16(124), - 675: uint16(124), - 676: uint16(125), - 677: uint16(125), - 678: uint16(125), - 679: uint16(125), - 680: uint16(1437), - 681: uint16(962), - 682: uint16(572), - 683: uint16(230), - 684: uint16(961), - 685: uint16(123), - 686: uint16(123), - 687: uint16(123), - 688: uint16(123), - 689: uint16(122), - 690: uint16(122), - 691: uint16(121), - 692: uint16(121), - 693: uint16(121), - 694: uint16(120), - 695: uint16(117), - 696: uint16(448), - 697: uint16(1159), - 698: uint16(230), - 699: uint16(1193), - 700: uint16(158), - 701: uint16(1193), - 702: uint16(1194), - 703: uint16(1193), - 704: uint16(1556), - 705: uint16(13), - 706: uint16(13), - 707: uint16(303), - 708: uint16(960), - 709: uint16(1233), - 710: uint16(1159), - 711: uint16(154), - 712: uint16(411), - 713: uint16(1159), - 714: uint16(375), - 715: uint16(1584), - 716: uint16(1177), - 717: uint16(5), - 718: uint16(371), - 719: uint16(1581), - 720: uint16(431), - 721: uint16(1239), - 722: uint16(3), - 723: uint16(960), - 724: uint16(123), - 725: uint16(123), - 726: uint16(123), - 727: uint16(123), - 728: uint16(122), - 729: uint16(122), - 730: uint16(121), - 731: uint16(121), - 732: uint16(121), - 733: uint16(120), - 734: uint16(117), - 735: uint16(448), - 736: uint16(126), - 737: uint16(127), - 738: uint16(81), - 739: uint16(1217), - 740: uint16(1217), - 741: uint16(1054), - 742: uint16(1057), - 743: uint16(1044), - 744: uint16(1044), - 745: uint16(124), - 746: uint16(124), - 747: uint16(125), - 748: uint16(125), - 749: uint16(125), - 750: uint16(125), - 751: uint16(411), - 752: uint16(210), - 753: uint16(571), - 754: uint16(1193), - 755: uint16(1032), - 756: uint16(1193), - 757: uint16(1194), - 758: uint16(1193), - 759: uint16(1193), - 760: uint16(390), - 761: uint16(855), - 762: uint16(156), - 763: uint16(1555), - 764: uint16(376), - 765: uint16(404), - 766: uint16(1101), - 767: uint16(1101), - 768: uint16(492), - 769: uint16(572), - 770: uint16(469), - 771: uint16(344), - 772: uint16(1322), - 773: uint16(1322), - 774: uint16(1555), - 775: uint16(126), - 776: uint16(127), - 777: uint16(81), - 778: uint16(1217), - 779: uint16(1217), - 780: uint16(1054), - 781: uint16(1057), - 782: uint16(1044), - 783: uint16(1044), - 784: uint16(124), - 785: uint16(124), - 786: uint16(125), - 787: uint16(125), - 788: uint16(125), - 789: uint16(125), - 790: uint16(130), - 791: uint16(572), - 792: uint16(13), - 793: uint16(13), - 794: uint16(532), - 795: uint16(123), - 796: uint16(123), - 797: uint16(123), - 798: uint16(123), - 799: uint16(122), - 800: uint16(122), - 801: uint16(121), - 802: uint16(121), - 803: uint16(121), - 804: uint16(120), - 805: uint16(117), - 806: uint16(448), - 807: uint16(304), - 808: uint16(572), - 809: uint16(457), - 810: uint16(229), - 811: uint16(1193), - 812: uint16(1194), - 813: uint16(1193), - 814: uint16(13), - 815: uint16(13), - 816: uint16(1193), - 817: uint16(1194), - 818: uint16(1193), - 819: uint16(1300), - 820: uint16(467), - 821: uint16(1270), - 822: uint16(411), - 823: uint16(1320), - 824: uint16(1320), - 825: uint16(1555), - 826: uint16(1015), - 827: uint16(457), - 828: uint16(456), - 829: uint16(436), - 830: uint16(301), - 831: uint16(72), - 832: uint16(72), - 833: uint16(1268), - 834: uint16(123), - 835: uint16(123), - 836: uint16(123), - 837: uint16(123), - 838: uint16(122), - 839: uint16(122), - 840: uint16(121), - 841: uint16(121), - 842: uint16(121), - 843: uint16(120), - 844: uint16(117), - 845: uint16(448), - 846: uint16(126), - 847: uint16(127), - 848: uint16(81), - 849: uint16(1217), - 850: uint16(1217), - 851: uint16(1054), - 852: uint16(1057), - 853: uint16(1044), - 854: uint16(1044), - 855: uint16(124), - 856: uint16(124), - 857: uint16(125), - 858: uint16(125), - 859: uint16(125), - 860: uint16(125), - 861: uint16(411), - 862: uint16(384), - 863: uint16(1076), - 864: uint16(1159), - 865: uint16(286), - 866: uint16(286), - 867: uint16(421), - 868: uint16(314), - 869: uint16(280), - 870: uint16(280), - 871: uint16(287), - 872: uint16(287), - 873: uint16(461), - 874: uint16(408), - 875: uint16(407), - 876: uint16(1539), - 877: uint16(1159), - 878: uint16(569), - 879: uint16(572), - 880: uint16(1159), - 881: uint16(1196), - 882: uint16(569), - 883: uint16(409), - 884: uint16(569), - 885: uint16(126), - 886: uint16(127), - 887: uint16(81), - 888: uint16(1217), - 889: uint16(1217), - 890: uint16(1054), - 891: uint16(1057), - 892: uint16(1044), - 893: uint16(1044), - 894: uint16(124), - 895: uint16(124), - 896: uint16(125), - 897: uint16(125), - 898: uint16(125), - 899: uint16(125), - 900: uint16(457), - 901: uint16(1485), - 902: uint16(13), - 903: uint16(13), - 904: uint16(1541), - 905: uint16(123), - 906: uint16(123), - 907: uint16(123), - 908: uint16(123), - 909: uint16(122), - 910: uint16(122), - 911: uint16(121), - 912: uint16(121), - 913: uint16(121), - 914: uint16(120), - 915: uint16(117), - 916: uint16(448), - 917: uint16(202), - 918: uint16(572), - 919: uint16(462), - 920: uint16(1587), - 921: uint16(578), - 922: uint16(2), - 923: uint16(1248), - 924: uint16(843), - 925: uint16(844), - 926: uint16(845), - 927: uint16(1563), - 928: uint16(319), - 929: uint16(409), - 930: uint16(147), - 931: uint16(6), - 932: uint16(411), - 933: uint16(257), - 934: uint16(256), - 935: uint16(255), - 936: uint16(208), - 937: uint16(1330), - 938: uint16(9), - 939: uint16(1196), - 940: uint16(264), - 941: uint16(72), - 942: uint16(72), - 943: uint16(1436), - 944: uint16(123), - 945: uint16(123), - 946: uint16(123), - 947: uint16(123), - 948: uint16(122), - 949: uint16(122), - 950: uint16(121), - 951: uint16(121), - 952: uint16(121), - 953: uint16(120), - 954: uint16(117), - 955: uint16(448), - 956: uint16(126), - 957: uint16(127), - 958: uint16(81), - 959: uint16(1217), - 960: uint16(1217), - 961: uint16(1054), - 962: uint16(1057), - 963: uint16(1044), - 964: uint16(1044), - 965: uint16(124), - 966: uint16(124), - 967: uint16(125), - 968: uint16(125), - 969: uint16(125), - 970: uint16(125), - 971: uint16(572), - 972: uint16(286), - 973: uint16(286), - 974: uint16(572), - 975: uint16(1213), - 976: uint16(411), - 977: uint16(577), - 978: uint16(315), - 979: uint16(1248), - 980: uint16(421), - 981: uint16(371), - 982: uint16(1581), - 983: uint16(356), - 984: uint16(319), - 985: uint16(569), - 986: uint16(147), - 987: uint16(495), - 988: uint16(529), - 989: uint16(1644), - 990: uint16(397), - 991: uint16(935), - 992: uint16(495), - 993: uint16(1330), - 994: uint16(71), - 995: uint16(71), - 996: uint16(934), - 997: uint16(72), - 998: uint16(72), - 999: uint16(242), - 1000: uint16(1328), - 1001: uint16(105), - 1002: uint16(81), - 1003: uint16(1217), - 1004: uint16(1217), - 1005: uint16(1054), - 1006: uint16(1057), - 1007: uint16(1044), - 1008: uint16(1044), - 1009: uint16(124), - 1010: uint16(124), - 1011: uint16(125), - 1012: uint16(125), - 1013: uint16(125), - 1014: uint16(125), - 1015: uint16(123), - 1016: uint16(123), - 1017: uint16(123), - 1018: uint16(123), - 1019: uint16(122), - 1020: uint16(122), - 1021: uint16(121), - 1022: uint16(121), - 1023: uint16(121), - 1024: uint16(120), - 1025: uint16(117), - 1026: uint16(448), - 1027: uint16(1117), - 1028: uint16(286), - 1029: uint16(286), - 1030: uint16(1422), - 1031: uint16(452), - 1032: uint16(1528), - 1033: uint16(1213), - 1034: uint16(443), - 1035: uint16(286), - 1036: uint16(286), - 1037: uint16(1492), - 1038: uint16(1355), - 1039: uint16(313), - 1040: uint16(478), - 1041: uint16(569), - 1042: uint16(1118), - 1043: uint16(454), - 1044: uint16(351), - 1045: uint16(495), - 1046: uint16(354), - 1047: uint16(1266), - 1048: uint16(569), - 1049: uint16(209), - 1050: uint16(572), - 1051: uint16(418), - 1052: uint16(179), - 1053: uint16(572), - 1054: uint16(1031), - 1055: uint16(242), - 1056: uint16(385), - 1057: uint16(1119), - 1058: uint16(523), - 1059: uint16(123), - 1060: uint16(123), - 1061: uint16(123), - 1062: uint16(123), - 1063: uint16(122), - 1064: uint16(122), - 1065: uint16(121), - 1066: uint16(121), - 1067: uint16(121), - 1068: uint16(120), - 1069: uint16(117), - 1070: uint16(448), - 1071: uint16(1020), - 1072: uint16(108), - 1073: uint16(72), - 1074: uint16(72), - 1075: uint16(1019), - 1076: uint16(13), - 1077: uint16(13), - 1078: uint16(915), - 1079: uint16(572), - 1080: uint16(1498), - 1081: uint16(572), - 1082: uint16(286), - 1083: uint16(286), - 1084: uint16(98), - 1085: uint16(530), - 1086: uint16(1537), - 1087: uint16(452), - 1088: uint16(916), - 1089: uint16(1334), - 1090: uint16(1329), - 1091: uint16(203), - 1092: uint16(411), - 1093: uint16(286), - 1094: uint16(286), - 1095: uint16(569), - 1096: uint16(152), - 1097: uint16(211), - 1098: uint16(1498), - 1099: uint16(1500), - 1100: uint16(426), - 1101: uint16(569), - 1102: uint16(56), - 1103: uint16(56), - 1104: uint16(57), - 1105: uint16(57), - 1106: uint16(569), - 1107: uint16(1019), - 1108: uint16(1019), - 1109: uint16(1021), - 1110: uint16(447), - 1111: uint16(572), - 1112: uint16(411), - 1113: uint16(531), - 1114: uint16(12), - 1115: uint16(297), - 1116: uint16(126), - 1117: uint16(127), - 1118: uint16(81), - 1119: uint16(1217), - 1120: uint16(1217), - 1121: uint16(1054), - 1122: uint16(1057), - 1123: uint16(1044), - 1124: uint16(1044), - 1125: uint16(124), - 1126: uint16(124), - 1127: uint16(125), - 1128: uint16(125), - 1129: uint16(125), - 1130: uint16(125), - 1131: uint16(572), - 1132: uint16(411), - 1133: uint16(867), - 1134: uint16(15), - 1135: uint16(15), - 1136: uint16(126), - 1137: uint16(127), - 1138: uint16(81), - 1139: uint16(1217), - 1140: uint16(1217), - 1141: uint16(1054), - 1142: uint16(1057), - 1143: uint16(1044), - 1144: uint16(1044), - 1145: uint16(124), - 1146: uint16(124), - 1147: uint16(125), - 1148: uint16(125), - 1149: uint16(125), - 1150: uint16(125), - 1151: uint16(373), - 1152: uint16(529), - 1153: uint16(264), - 1154: uint16(44), - 1155: uint16(44), - 1156: uint16(126), - 1157: uint16(115), - 1158: uint16(81), - 1159: uint16(1217), - 1160: uint16(1217), - 1161: uint16(1054), - 1162: uint16(1057), - 1163: uint16(1044), - 1164: uint16(1044), - 1165: uint16(124), - 1166: uint16(124), - 1167: uint16(125), - 1168: uint16(125), - 1169: uint16(125), - 1170: uint16(125), - 1171: uint16(1498), - 1172: uint16(478), - 1173: uint16(1271), - 1174: uint16(417), - 1175: uint16(123), - 1176: uint16(123), - 1177: uint16(123), - 1178: uint16(123), - 1179: uint16(122), - 1180: uint16(122), - 1181: uint16(121), - 1182: uint16(121), - 1183: uint16(121), - 1184: uint16(120), - 1185: uint16(117), - 1186: uint16(448), - 1187: uint16(205), - 1188: uint16(1213), - 1189: uint16(495), - 1190: uint16(430), - 1191: uint16(867), - 1192: uint16(468), - 1193: uint16(322), - 1194: uint16(495), - 1195: uint16(123), - 1196: uint16(123), - 1197: uint16(123), - 1198: uint16(123), - 1199: uint16(122), - 1200: uint16(122), - 1201: uint16(121), - 1202: uint16(121), - 1203: uint16(121), - 1204: uint16(120), - 1205: uint16(117), - 1206: uint16(448), - 1207: uint16(572), - 1208: uint16(557), - 1209: uint16(1140), - 1210: uint16(1642), - 1211: uint16(1422), - 1212: uint16(1642), - 1213: uint16(543), - 1214: uint16(572), - 1215: uint16(123), - 1216: uint16(123), - 1217: uint16(123), - 1218: uint16(123), - 1219: uint16(122), - 1220: uint16(122), - 1221: uint16(121), - 1222: uint16(121), - 1223: uint16(121), - 1224: uint16(120), - 1225: uint16(117), - 1226: uint16(448), - 1227: uint16(572), - 1228: uint16(1422), - 1229: uint16(572), - 1230: uint16(13), - 1231: uint16(13), - 1232: uint16(542), - 1233: uint16(323), - 1234: uint16(1325), - 1235: uint16(411), - 1236: uint16(334), - 1237: uint16(58), - 1238: uint16(58), - 1239: uint16(349), - 1240: uint16(1422), - 1241: uint16(1170), - 1242: uint16(326), - 1243: uint16(286), - 1244: uint16(286), - 1245: uint16(549), - 1246: uint16(1213), - 1247: uint16(300), - 1248: uint16(895), - 1249: uint16(530), - 1250: uint16(45), - 1251: uint16(45), - 1252: uint16(59), - 1253: uint16(59), - 1254: uint16(1140), - 1255: uint16(1643), - 1256: uint16(569), - 1257: uint16(1643), - 1258: uint16(565), - 1259: uint16(417), - 1260: uint16(127), - 1261: uint16(81), - 1262: uint16(1217), - 1263: uint16(1217), - 1264: uint16(1054), - 1265: uint16(1057), - 1266: uint16(1044), - 1267: uint16(1044), - 1268: uint16(124), - 1269: uint16(124), - 1270: uint16(125), - 1271: uint16(125), - 1272: uint16(125), - 1273: uint16(125), - 1274: uint16(1367), - 1275: uint16(373), - 1276: uint16(500), - 1277: uint16(290), - 1278: uint16(1193), - 1279: uint16(512), - 1280: uint16(1366), - 1281: uint16(427), - 1282: uint16(394), - 1283: uint16(394), - 1284: uint16(393), - 1285: uint16(275), - 1286: uint16(391), - 1287: uint16(896), - 1288: uint16(1138), - 1289: uint16(852), - 1290: uint16(478), - 1291: uint16(258), - 1292: uint16(1422), - 1293: uint16(1170), - 1294: uint16(463), - 1295: uint16(1159), - 1296: uint16(12), - 1297: uint16(331), - 1298: uint16(428), - 1299: uint16(333), - 1300: uint16(1117), - 1301: uint16(460), - 1302: uint16(236), - 1303: uint16(258), - 1304: uint16(325), - 1305: uint16(460), - 1306: uint16(544), - 1307: uint16(1544), - 1308: uint16(1159), - 1309: uint16(1098), - 1310: uint16(491), - 1311: uint16(1159), - 1312: uint16(324), - 1313: uint16(1098), - 1314: uint16(440), - 1315: uint16(1118), - 1316: uint16(335), - 1317: uint16(516), - 1318: uint16(123), - 1319: uint16(123), - 1320: uint16(123), - 1321: uint16(123), - 1322: uint16(122), - 1323: uint16(122), - 1324: uint16(121), - 1325: uint16(121), - 1326: uint16(121), - 1327: uint16(120), - 1328: uint16(117), - 1329: uint16(448), - 1330: uint16(1119), - 1331: uint16(318), - 1332: uint16(563), - 1333: uint16(1138), - 1334: uint16(572), - 1335: uint16(1193), - 1336: uint16(1194), - 1337: uint16(1193), - 1338: uint16(112), - 1339: uint16(564), - 1340: uint16(201), + 345: uint16(555), + 346: uint16(1149), + 347: uint16(1657), + 348: uint16(1628), + 349: uint16(1657), + 350: uint16(45), + 351: uint16(128), + 352: uint16(125), + 353: uint16(232), + 354: uint16(1204), + 355: uint16(1205), + 356: uint16(1204), + 357: uint16(1250), + 358: uint16(571), + 359: uint16(1169), + 360: uint16(132), + 361: uint16(132), + 362: uint16(132), + 363: uint16(132), + 364: uint16(131), + 365: uint16(131), + 366: uint16(130), + 367: uint16(130), + 368: uint16(130), + 369: uint16(129), + 370: uint16(126), + 371: uint16(450), + 372: uint16(1169), + 373: uint16(287), + 374: uint16(287), + 375: uint16(1169), + 376: uint16(1019), + 377: uint16(576), + 378: uint16(422), + 379: uint16(1019), + 380: uint16(412), + 381: uint16(451), + 382: uint16(1602), + 383: uint16(582), + 384: uint16(2), + 385: uint16(1259), + 386: uint16(573), + 387: uint16(44), + 388: uint16(561), + 389: uint16(95), + 390: uint16(320), + 391: uint16(110), + 392: uint16(153), + 393: uint16(565), + 394: uint16(1204), + 395: uint16(1205), + 396: uint16(1204), + 397: uint16(522), + 398: uint16(522), + 399: uint16(1341), + 400: uint16(81), + 401: uint16(81), + 402: uint16(7), + 403: uint16(44), + 404: uint16(135), + 405: uint16(136), + 406: uint16(90), + 407: uint16(1228), + 408: uint16(1228), + 409: uint16(1063), + 410: uint16(1066), + 411: uint16(1053), + 412: uint16(1053), + 413: uint16(133), + 414: uint16(133), + 415: uint16(134), + 416: uint16(134), + 417: uint16(134), + 418: uint16(134), + 419: uint16(295), + 420: uint16(1149), + 421: uint16(1658), + 422: uint16(1040), + 423: uint16(1658), + 424: uint16(1204), + 425: uint16(1147), + 426: uint16(319), + 427: uint16(567), + 428: uint16(119), + 429: uint16(119), + 430: uint16(343), + 431: uint16(466), + 432: uint16(331), + 433: uint16(343), + 434: uint16(287), + 435: uint16(287), + 436: uint16(120), + 437: uint16(556), + 438: uint16(451), + 439: uint16(577), + 440: uint16(451), + 441: uint16(1169), + 442: uint16(1169), + 443: uint16(1028), + 444: uint16(319), + 445: uint16(567), + 446: uint16(438), + 447: uint16(573), + 448: uint16(210), + 449: uint16(561), + 450: uint16(1339), + 451: uint16(1451), + 452: uint16(546), + 453: uint16(531), + 454: uint16(1169), + 455: uint16(1169), + 456: uint16(1598), + 457: uint16(1169), + 458: uint16(1169), + 459: uint16(416), + 460: uint16(319), + 461: uint16(567), + 462: uint16(243), + 463: uint16(132), + 464: uint16(132), + 465: uint16(132), + 466: uint16(132), + 467: uint16(131), + 468: uint16(131), + 469: uint16(130), + 470: uint16(130), + 471: uint16(130), + 472: uint16(129), + 473: uint16(126), + 474: uint16(450), + 475: uint16(1028), + 476: uint16(1028), + 477: uint16(1030), + 478: uint16(1031), + 479: uint16(35), + 480: uint16(44), + 481: uint16(1204), + 482: uint16(1205), + 483: uint16(1204), + 484: uint16(472), + 485: uint16(287), + 486: uint16(287), + 487: uint16(1328), + 488: uint16(412), + 489: uint16(1307), + 490: uint16(372), + 491: uint16(1595), + 492: uint16(359), + 493: uint16(225), + 494: uint16(454), + 495: uint16(1204), + 496: uint16(195), + 497: uint16(1328), + 498: uint16(573), + 499: uint16(1147), + 500: uint16(561), + 501: uint16(1333), + 502: uint16(1333), + 503: uint16(274), + 504: uint16(576), + 505: uint16(1188), + 506: uint16(576), + 507: uint16(340), + 508: uint16(46), + 509: uint16(196), + 510: uint16(537), + 511: uint16(217), + 512: uint16(135), + 513: uint16(136), + 514: uint16(90), + 515: uint16(1228), + 516: uint16(1228), + 517: uint16(1063), + 518: uint16(1066), + 519: uint16(1053), + 520: uint16(1053), + 521: uint16(133), + 522: uint16(133), + 523: uint16(134), + 524: uint16(134), + 525: uint16(134), + 526: uint16(134), + 527: uint16(19), + 528: uint16(19), + 529: uint16(19), + 530: uint16(19), + 531: uint16(412), + 532: uint16(581), + 533: uint16(1204), + 534: uint16(1259), + 535: uint16(511), + 536: uint16(1204), + 537: uint16(319), + 538: uint16(567), + 539: uint16(320), + 540: uint16(944), + 541: uint16(153), + 542: uint16(425), + 543: uint16(491), + 544: uint16(430), + 545: uint16(943), + 546: uint16(1204), + 547: uint16(488), + 548: uint16(1341), + 549: uint16(1450), + 550: uint16(532), + 551: uint16(1277), + 552: uint16(1204), + 553: uint16(1205), + 554: uint16(1204), + 555: uint16(135), + 556: uint16(136), + 557: uint16(90), + 558: uint16(1228), + 559: uint16(1228), + 560: uint16(1063), + 561: uint16(1066), + 562: uint16(1053), + 563: uint16(1053), + 564: uint16(133), + 565: uint16(133), + 566: uint16(134), + 567: uint16(134), + 568: uint16(134), + 569: uint16(134), + 570: uint16(575), + 571: uint16(132), + 572: uint16(132), + 573: uint16(132), + 574: uint16(132), + 575: uint16(131), + 576: uint16(131), + 577: uint16(130), + 578: uint16(130), + 579: uint16(130), + 580: uint16(129), + 581: uint16(126), + 582: uint16(450), + 583: uint16(287), + 584: uint16(287), + 585: uint16(528), + 586: uint16(287), + 587: uint16(287), + 588: uint16(372), + 589: uint16(1595), + 590: uint16(1204), + 591: uint16(1205), + 592: uint16(1204), + 593: uint16(1204), + 594: uint16(1205), + 595: uint16(1204), + 596: uint16(573), + 597: uint16(486), + 598: uint16(561), + 599: uint16(573), + 600: uint16(889), + 601: uint16(561), + 602: uint16(412), + 603: uint16(1204), + 604: uint16(1205), + 605: uint16(1204), + 606: uint16(886), + 607: uint16(40), + 608: uint16(22), + 609: uint16(22), + 610: uint16(220), + 611: uint16(243), + 612: uint16(525), + 613: uint16(1449), + 614: uint16(132), + 615: uint16(132), + 616: uint16(132), + 617: uint16(132), + 618: uint16(131), + 619: uint16(131), + 620: uint16(130), + 621: uint16(130), + 622: uint16(130), + 623: uint16(129), + 624: uint16(126), + 625: uint16(450), + 626: uint16(135), + 627: uint16(136), + 628: uint16(90), + 629: uint16(1228), + 630: uint16(1228), + 631: uint16(1063), + 632: uint16(1066), + 633: uint16(1053), + 634: uint16(1053), + 635: uint16(133), + 636: uint16(133), + 637: uint16(134), + 638: uint16(134), + 639: uint16(134), + 640: uint16(134), + 641: uint16(412), + 642: uint16(180), + 643: uint16(454), + 644: uint16(1204), + 645: uint16(879), + 646: uint16(255), + 647: uint16(287), + 648: uint16(287), + 649: uint16(510), + 650: uint16(507), + 651: uint16(506), + 652: uint16(372), + 653: uint16(1595), + 654: uint16(1568), + 655: uint16(1331), + 656: uint16(1331), + 657: uint16(576), + 658: uint16(889), + 659: uint16(505), + 660: uint16(573), + 661: uint16(44), + 662: uint16(561), + 663: uint16(559), + 664: uint16(1207), + 665: uint16(135), + 666: uint16(136), + 667: uint16(90), + 668: uint16(1228), + 669: uint16(1228), + 670: uint16(1063), + 671: uint16(1066), + 672: uint16(1053), + 673: uint16(1053), + 674: uint16(133), + 675: uint16(133), + 676: uint16(134), + 677: uint16(134), + 678: uint16(134), + 679: uint16(134), + 680: uint16(81), + 681: uint16(81), + 682: uint16(422), + 683: uint16(576), + 684: uint16(377), + 685: uint16(132), + 686: uint16(132), + 687: uint16(132), + 688: uint16(132), + 689: uint16(131), + 690: uint16(131), + 691: uint16(130), + 692: uint16(130), + 693: uint16(130), + 694: uint16(129), + 695: uint16(126), + 696: uint16(450), + 697: uint16(297), + 698: uint16(287), + 699: uint16(287), + 700: uint16(460), + 701: uint16(1204), + 702: uint16(1205), + 703: uint16(1204), + 704: uint16(1204), + 705: uint16(534), + 706: uint16(19), + 707: uint16(19), + 708: uint16(448), + 709: uint16(448), + 710: uint16(448), + 711: uint16(573), + 712: uint16(412), + 713: uint16(561), + 714: uint16(230), + 715: uint16(436), + 716: uint16(1187), + 717: uint16(535), + 718: uint16(319), + 719: uint16(567), + 720: uint16(363), + 721: uint16(432), + 722: uint16(1207), + 723: uint16(1435), + 724: uint16(132), + 725: uint16(132), + 726: uint16(132), + 727: uint16(132), + 728: uint16(131), + 729: uint16(131), + 730: uint16(130), + 731: uint16(130), + 732: uint16(130), + 733: uint16(129), + 734: uint16(126), + 735: uint16(450), + 736: uint16(135), + 737: uint16(136), + 738: uint16(90), + 739: uint16(1228), + 740: uint16(1228), + 741: uint16(1063), + 742: uint16(1066), + 743: uint16(1053), + 744: uint16(1053), + 745: uint16(133), + 746: uint16(133), + 747: uint16(134), + 748: uint16(134), + 749: uint16(134), + 750: uint16(134), + 751: uint16(412), + 752: uint16(211), + 753: uint16(949), + 754: uint16(1169), + 755: uint16(1041), + 756: uint16(1110), + 757: uint16(1110), + 758: uint16(494), + 759: uint16(547), + 760: uint16(547), + 761: uint16(1204), + 762: uint16(1205), + 763: uint16(1204), + 764: uint16(7), + 765: uint16(539), + 766: uint16(1570), + 767: uint16(1169), + 768: uint16(376), + 769: uint16(576), + 770: uint16(1169), + 771: uint16(5), + 772: uint16(1204), + 773: uint16(486), + 774: uint16(3), + 775: uint16(135), + 776: uint16(136), + 777: uint16(90), + 778: uint16(1228), + 779: uint16(1228), + 780: uint16(1063), + 781: uint16(1066), + 782: uint16(1053), + 783: uint16(1053), + 784: uint16(133), + 785: uint16(133), + 786: uint16(134), + 787: uint16(134), + 788: uint16(134), + 789: uint16(134), + 790: uint16(576), + 791: uint16(513), + 792: uint16(19), + 793: uint16(19), + 794: uint16(427), + 795: uint16(132), + 796: uint16(132), + 797: uint16(132), + 798: uint16(132), + 799: uint16(131), + 800: uint16(131), + 801: uint16(130), + 802: uint16(130), + 803: uint16(130), + 804: uint16(129), + 805: uint16(126), + 806: uint16(450), + 807: uint16(305), + 808: uint16(1204), + 809: uint16(433), + 810: uint16(225), + 811: uint16(1204), + 812: uint16(385), + 813: uint16(19), + 814: uint16(19), + 815: uint16(273), + 816: uint16(290), + 817: uint16(371), + 818: uint16(516), + 819: uint16(366), + 820: uint16(515), + 821: uint16(260), + 822: uint16(412), + 823: uint16(538), + 824: uint16(1568), + 825: uint16(549), + 826: uint16(1024), + 827: uint16(362), + 828: uint16(437), + 829: uint16(1204), + 830: uint16(1205), + 831: uint16(1204), + 832: uint16(902), + 833: uint16(1552), + 834: uint16(132), + 835: uint16(132), + 836: uint16(132), + 837: uint16(132), + 838: uint16(131), + 839: uint16(131), + 840: uint16(130), + 841: uint16(130), + 842: uint16(130), + 843: uint16(129), + 844: uint16(126), + 845: uint16(450), + 846: uint16(135), + 847: uint16(136), + 848: uint16(90), + 849: uint16(1228), + 850: uint16(1228), + 851: uint16(1063), + 852: uint16(1066), + 853: uint16(1053), + 854: uint16(1053), + 855: uint16(133), + 856: uint16(133), + 857: uint16(134), + 858: uint16(134), + 859: uint16(134), + 860: uint16(134), + 861: uint16(412), + 862: uint16(1435), + 863: uint16(514), + 864: uint16(1281), + 865: uint16(1204), + 866: uint16(1205), + 867: uint16(1204), + 868: uint16(1204), + 869: uint16(1205), + 870: uint16(1204), + 871: uint16(903), + 872: uint16(48), + 873: uint16(342), + 874: uint16(1568), + 875: uint16(1568), + 876: uint16(1279), + 877: uint16(1627), + 878: uint16(1568), + 879: uint16(911), + 880: uint16(576), + 881: uint16(129), + 882: uint16(126), + 883: uint16(450), + 884: uint16(110), + 885: uint16(135), + 886: uint16(136), + 887: uint16(90), + 888: uint16(1228), + 889: uint16(1228), + 890: uint16(1063), + 891: uint16(1066), + 892: uint16(1053), + 893: uint16(1053), + 894: uint16(133), + 895: uint16(133), + 896: uint16(134), + 897: uint16(134), + 898: uint16(134), + 899: uint16(134), + 900: uint16(265), + 901: uint16(576), + 902: uint16(459), + 903: uint16(19), + 904: uint16(19), + 905: uint16(132), + 906: uint16(132), + 907: uint16(132), + 908: uint16(132), + 909: uint16(131), + 910: uint16(131), + 911: uint16(130), + 912: uint16(130), + 913: uint16(130), + 914: uint16(129), + 915: uint16(126), + 916: uint16(450), + 917: uint16(1345), + 918: uint16(204), + 919: uint16(576), + 920: uint16(459), + 921: uint16(458), + 922: uint16(50), + 923: uint16(47), + 924: uint16(19), + 925: uint16(19), + 926: uint16(49), + 927: uint16(434), + 928: uint16(1105), + 929: uint16(573), + 930: uint16(497), + 931: uint16(561), + 932: uint16(412), + 933: uint16(428), + 934: uint16(108), + 935: uint16(1224), + 936: uint16(1569), + 937: uint16(1554), + 938: uint16(376), + 939: uint16(205), + 940: uint16(550), + 941: uint16(550), + 942: uint16(81), + 943: uint16(81), + 944: uint16(132), + 945: uint16(132), + 946: uint16(132), + 947: uint16(132), + 948: uint16(131), + 949: uint16(131), + 950: uint16(130), + 951: uint16(130), + 952: uint16(130), + 953: uint16(129), + 954: uint16(126), + 955: uint16(450), + 956: uint16(135), + 957: uint16(136), + 958: uint16(90), + 959: uint16(1228), + 960: uint16(1228), + 961: uint16(1063), + 962: uint16(1066), + 963: uint16(1053), + 964: uint16(1053), + 965: uint16(133), + 966: uint16(133), + 967: uint16(134), + 968: uint16(134), + 969: uint16(134), + 970: uint16(134), + 971: uint16(480), + 972: uint16(576), + 973: uint16(1204), + 974: uint16(576), + 975: uint16(1541), + 976: uint16(412), + 977: uint16(1435), + 978: uint16(969), + 979: uint16(315), + 980: uint16(1659), + 981: uint16(398), + 982: uint16(284), + 983: uint16(497), + 984: uint16(969), + 985: uint16(893), + 986: uint16(1569), + 987: uint16(1569), + 988: uint16(376), + 989: uint16(376), + 990: uint16(1569), + 991: uint16(461), + 992: uint16(376), + 993: uint16(1224), + 994: uint16(459), + 995: uint16(80), + 996: uint16(80), + 997: uint16(81), + 998: uint16(81), + 999: uint16(497), + 1000: uint16(374), + 1001: uint16(114), + 1002: uint16(90), + 1003: uint16(1228), + 1004: uint16(1228), + 1005: uint16(1063), + 1006: uint16(1066), + 1007: uint16(1053), + 1008: uint16(1053), + 1009: uint16(133), + 1010: uint16(133), + 1011: uint16(134), + 1012: uint16(134), + 1013: uint16(134), + 1014: uint16(134), + 1015: uint16(132), + 1016: uint16(132), + 1017: uint16(132), + 1018: uint16(132), + 1019: uint16(131), + 1020: uint16(131), + 1021: uint16(130), + 1022: uint16(130), + 1023: uint16(130), + 1024: uint16(129), + 1025: uint16(126), + 1026: uint16(450), + 1027: uint16(1204), + 1028: uint16(1505), + 1029: uint16(576), + 1030: uint16(1204), + 1031: uint16(1205), + 1032: uint16(1204), + 1033: uint16(1366), + 1034: uint16(316), + 1035: uint16(486), + 1036: uint16(281), + 1037: uint16(281), + 1038: uint16(497), + 1039: uint16(431), + 1040: uint16(557), + 1041: uint16(288), + 1042: uint16(288), + 1043: uint16(402), + 1044: uint16(1340), + 1045: uint16(471), + 1046: uint16(345), + 1047: uint16(298), + 1048: uint16(429), + 1049: uint16(573), + 1050: uint16(576), + 1051: uint16(561), + 1052: uint16(81), + 1053: uint16(81), + 1054: uint16(573), + 1055: uint16(374), + 1056: uint16(561), + 1057: uint16(971), + 1058: uint16(386), + 1059: uint16(132), + 1060: uint16(132), + 1061: uint16(132), + 1062: uint16(132), + 1063: uint16(131), + 1064: uint16(131), + 1065: uint16(130), + 1066: uint16(130), + 1067: uint16(130), + 1068: uint16(129), + 1069: uint16(126), + 1070: uint16(450), + 1071: uint16(231), + 1072: uint16(117), + 1073: uint16(81), + 1074: uint16(81), + 1075: uint16(287), + 1076: uint16(287), + 1077: uint16(231), + 1078: uint16(287), + 1079: uint16(287), + 1080: uint16(576), + 1081: uint16(1511), + 1082: uint16(576), + 1083: uint16(1336), + 1084: uint16(1204), + 1085: uint16(1205), + 1086: uint16(1204), + 1087: uint16(139), + 1088: uint16(573), + 1089: uint16(556), + 1090: uint16(561), + 1091: uint16(573), + 1092: uint16(412), + 1093: uint16(561), + 1094: uint16(441), + 1095: uint16(456), + 1096: uint16(969), + 1097: uint16(213), + 1098: uint16(558), + 1099: uint16(1511), + 1100: uint16(1513), + 1101: uint16(1550), + 1102: uint16(969), + 1103: uint16(143), + 1104: uint16(143), + 1105: uint16(145), + 1106: uint16(145), + 1107: uint16(1368), + 1108: uint16(314), + 1109: uint16(478), + 1110: uint16(444), + 1111: uint16(970), + 1112: uint16(412), + 1113: uint16(850), + 1114: uint16(851), + 1115: uint16(852), + 1116: uint16(135), + 1117: uint16(136), + 1118: uint16(90), + 1119: uint16(1228), + 1120: uint16(1228), + 1121: uint16(1063), + 1122: uint16(1066), + 1123: uint16(1053), + 1124: uint16(1053), + 1125: uint16(133), + 1126: uint16(133), + 1127: uint16(134), + 1128: uint16(134), + 1129: uint16(134), + 1130: uint16(134), + 1131: uint16(357), + 1132: uint16(412), + 1133: uint16(397), + 1134: uint16(1148), + 1135: uint16(304), + 1136: uint16(135), + 1137: uint16(136), + 1138: uint16(90), + 1139: uint16(1228), + 1140: uint16(1228), + 1141: uint16(1063), + 1142: uint16(1066), + 1143: uint16(1053), + 1144: uint16(1053), + 1145: uint16(133), + 1146: uint16(133), + 1147: uint16(134), + 1148: uint16(134), + 1149: uint16(134), + 1150: uint16(134), + 1151: uint16(1575), + 1152: uint16(323), + 1153: uint16(6), + 1154: uint16(862), + 1155: uint16(7), + 1156: uint16(135), + 1157: uint16(124), + 1158: uint16(90), + 1159: uint16(1228), + 1160: uint16(1228), + 1161: uint16(1063), + 1162: uint16(1066), + 1163: uint16(1053), + 1164: uint16(1053), + 1165: uint16(133), + 1166: uint16(133), + 1167: uint16(134), + 1168: uint16(134), + 1169: uint16(134), + 1170: uint16(134), + 1171: uint16(409), + 1172: uint16(408), + 1173: uint16(1511), + 1174: uint16(212), + 1175: uint16(132), + 1176: uint16(132), + 1177: uint16(132), + 1178: uint16(132), + 1179: uint16(131), + 1180: uint16(131), + 1181: uint16(130), + 1182: uint16(130), + 1183: uint16(130), + 1184: uint16(129), + 1185: uint16(126), + 1186: uint16(450), + 1187: uint16(411), + 1188: uint16(118), + 1189: uint16(1204), + 1190: uint16(116), + 1191: uint16(10), + 1192: uint16(352), + 1193: uint16(265), + 1194: uint16(355), + 1195: uint16(132), + 1196: uint16(132), + 1197: uint16(132), + 1198: uint16(132), + 1199: uint16(131), + 1200: uint16(131), + 1201: uint16(130), + 1202: uint16(130), + 1203: uint16(130), + 1204: uint16(129), + 1205: uint16(126), + 1206: uint16(450), + 1207: uint16(576), + 1208: uint16(324), + 1209: uint16(306), + 1210: uint16(576), + 1211: uint16(306), + 1212: uint16(1250), + 1213: uint16(469), + 1214: uint16(158), + 1215: uint16(132), + 1216: uint16(132), + 1217: uint16(132), + 1218: uint16(132), + 1219: uint16(131), + 1220: uint16(131), + 1221: uint16(130), + 1222: uint16(130), + 1223: uint16(130), + 1224: uint16(129), + 1225: uint16(126), + 1226: uint16(450), + 1227: uint16(207), + 1228: uint16(1224), + 1229: uint16(1126), + 1230: uint16(65), + 1231: uint16(65), + 1232: uint16(470), + 1233: uint16(66), + 1234: uint16(66), + 1235: uint16(412), + 1236: uint16(447), + 1237: uint16(446), + 1238: uint16(882), + 1239: uint16(531), + 1240: uint16(335), + 1241: uint16(258), + 1242: uint16(257), + 1243: uint16(256), + 1244: uint16(1127), + 1245: uint16(1233), + 1246: uint16(1204), + 1247: uint16(1205), + 1248: uint16(1204), + 1249: uint16(327), + 1250: uint16(1235), + 1251: uint16(874), + 1252: uint16(159), + 1253: uint16(576), + 1254: uint16(16), + 1255: uint16(480), + 1256: uint16(1085), + 1257: uint16(1040), + 1258: uint16(1234), + 1259: uint16(1128), + 1260: uint16(136), + 1261: uint16(90), + 1262: uint16(1228), + 1263: uint16(1228), + 1264: uint16(1063), + 1265: uint16(1066), + 1266: uint16(1053), + 1267: uint16(1053), + 1268: uint16(133), + 1269: uint16(133), + 1270: uint16(134), + 1271: uint16(134), + 1272: uint16(134), + 1273: uint16(134), + 1274: uint16(1029), + 1275: uint16(576), + 1276: uint16(81), + 1277: uint16(81), + 1278: uint16(1028), + 1279: uint16(1040), + 1280: uint16(922), + 1281: uint16(576), + 1282: uint16(463), + 1283: uint16(1236), + 1284: uint16(576), + 1285: uint16(1236), + 1286: uint16(1224), + 1287: uint16(502), + 1288: uint16(107), + 1289: uint16(1435), + 1290: uint16(923), + 1291: uint16(6), + 1292: uint16(576), + 1293: uint16(410), + 1294: uint16(1498), + 1295: uint16(882), + 1296: uint16(1029), + 1297: uint16(480), + 1298: uint16(21), + 1299: uint16(21), + 1300: uint16(1028), + 1301: uint16(332), + 1302: uint16(1380), + 1303: uint16(334), + 1304: uint16(53), + 1305: uint16(53), + 1306: uint16(497), + 1307: uint16(81), + 1308: uint16(81), + 1309: uint16(874), + 1310: uint16(1028), + 1311: uint16(1028), + 1312: uint16(1030), + 1313: uint16(445), + 1314: uint16(259), + 1315: uint16(19), + 1316: uint16(19), + 1317: uint16(533), + 1318: uint16(132), + 1319: uint16(132), + 1320: uint16(132), + 1321: uint16(132), + 1322: uint16(131), + 1323: uint16(131), + 1324: uint16(130), + 1325: uint16(130), + 1326: uint16(130), + 1327: uint16(129), + 1328: uint16(126), + 1329: uint16(450), + 1330: uint16(551), + 1331: uint16(301), + 1332: uint16(1028), + 1333: uint16(1028), + 1334: uint16(1030), + 1335: uint16(107), + 1336: uint16(532), + 1337: uint16(545), + 1338: uint16(121), + 1339: uint16(568), + 1340: uint16(1188), 1341: uint16(4), - 1342: uint16(238), - 1343: uint16(433), - 1344: uint16(935), - 1345: uint16(490), - 1346: uint16(285), - 1347: uint16(228), - 1348: uint16(1517), - 1349: uint16(934), - 1350: uint16(170), - 1351: uint16(560), - 1352: uint16(572), - 1353: uint16(142), - 1354: uint16(1516), - 1355: uint16(567), - 1356: uint16(572), - 1357: uint16(60), - 1358: uint16(60), - 1359: uint16(572), - 1360: uint16(416), - 1361: uint16(572), - 1362: uint16(441), - 1363: uint16(572), - 1364: uint16(535), - 1365: uint16(302), - 1366: uint16(875), - 1367: uint16(8), - 1368: uint16(487), - 1369: uint16(572), - 1370: uint16(237), - 1371: uint16(572), - 1372: uint16(416), - 1373: uint16(572), - 1374: uint16(485), - 1375: uint16(61), - 1376: uint16(61), - 1377: uint16(572), - 1378: uint16(449), - 1379: uint16(62), - 1380: uint16(62), - 1381: uint16(332), - 1382: uint16(63), - 1383: uint16(63), - 1384: uint16(46), - 1385: uint16(46), - 1386: uint16(47), - 1387: uint16(47), - 1388: uint16(361), - 1389: uint16(572), - 1390: uint16(561), - 1391: uint16(572), - 1392: uint16(48), - 1393: uint16(48), - 1394: uint16(50), - 1395: uint16(50), - 1396: uint16(51), - 1397: uint16(51), - 1398: uint16(572), - 1399: uint16(295), - 1400: uint16(64), - 1401: uint16(64), - 1402: uint16(482), - 1403: uint16(295), - 1404: uint16(539), - 1405: uint16(412), - 1406: uint16(471), - 1407: uint16(1031), - 1408: uint16(572), - 1409: uint16(538), - 1410: uint16(318), - 1411: uint16(563), - 1412: uint16(65), - 1413: uint16(65), - 1414: uint16(66), - 1415: uint16(66), - 1416: uint16(409), - 1417: uint16(475), - 1418: uint16(572), - 1419: uint16(1031), - 1420: uint16(572), - 1421: uint16(14), - 1422: uint16(14), - 1423: uint16(875), - 1424: uint16(1020), - 1425: uint16(110), - 1426: uint16(110), - 1427: uint16(409), - 1428: uint16(1019), - 1429: uint16(572), - 1430: uint16(474), - 1431: uint16(67), - 1432: uint16(67), - 1433: uint16(111), - 1434: uint16(455), - 1435: uint16(449), - 1436: uint16(573), - 1437: uint16(449), - 1438: uint16(98), - 1439: uint16(317), - 1440: uint16(1019), - 1441: uint16(132), - 1442: uint16(132), - 1443: uint16(133), - 1444: uint16(133), - 1445: uint16(572), - 1446: uint16(1561), - 1447: uint16(572), - 1448: uint16(974), - 1449: uint16(409), - 1450: uint16(6), - 1451: uint16(1562), - 1452: uint16(68), - 1453: uint16(68), - 1454: uint16(1560), - 1455: uint16(6), - 1456: uint16(975), - 1457: uint16(572), - 1458: uint16(6), - 1459: uint16(1559), - 1460: uint16(1019), - 1461: uint16(1019), - 1462: uint16(1021), - 1463: uint16(6), - 1464: uint16(346), - 1465: uint16(218), - 1466: uint16(101), - 1467: uint16(531), - 1468: uint16(53), - 1469: uint16(53), - 1470: uint16(69), - 1471: uint16(69), - 1472: uint16(1019), - 1473: uint16(1019), - 1474: uint16(1021), - 1475: uint16(1022), - 1476: uint16(28), - 1477: uint16(1586), - 1478: uint16(1181), - 1479: uint16(451), - 1480: uint16(70), - 1481: uint16(70), - 1482: uint16(290), - 1483: uint16(87), - 1484: uint16(215), - 1485: uint16(31), - 1486: uint16(1363), - 1487: uint16(394), - 1488: uint16(394), - 1489: uint16(393), - 1490: uint16(275), - 1491: uint16(391), - 1492: uint16(350), - 1493: uint16(109), - 1494: uint16(852), - 1495: uint16(107), - 1496: uint16(572), - 1497: uint16(112), - 1498: uint16(564), - 1499: uint16(483), - 1500: uint16(4), - 1501: uint16(1212), - 1502: uint16(572), - 1503: uint16(239), - 1504: uint16(153), - 1505: uint16(572), - 1506: uint16(39), - 1507: uint16(236), - 1508: uint16(1299), - 1509: uint16(325), - 1510: uint16(112), - 1511: uint16(564), - 1512: uint16(1298), - 1513: uint16(4), - 1514: uint16(567), - 1515: uint16(572), - 1516: uint16(32), - 1517: uint16(324), - 1518: uint16(572), - 1519: uint16(54), - 1520: uint16(54), - 1521: uint16(572), - 1522: uint16(1135), - 1523: uint16(353), - 1524: uint16(398), - 1525: uint16(165), - 1526: uint16(165), - 1527: uint16(567), - 1528: uint16(166), - 1529: uint16(166), - 1530: uint16(572), - 1531: uint16(291), - 1532: uint16(355), - 1533: uint16(572), - 1534: uint16(17), - 1535: uint16(357), - 1536: uint16(572), - 1537: uint16(449), - 1538: uint16(77), - 1539: uint16(77), - 1540: uint16(1313), - 1541: uint16(55), - 1542: uint16(55), - 1543: uint16(1297), - 1544: uint16(73), - 1545: uint16(73), - 1546: uint16(572), - 1547: uint16(238), - 1548: uint16(470), - 1549: uint16(561), - 1550: uint16(449), - 1551: uint16(472), - 1552: uint16(364), - 1553: uint16(135), - 1554: uint16(135), - 1555: uint16(170), - 1556: uint16(74), - 1557: uint16(74), - 1558: uint16(142), - 1559: uint16(163), - 1560: uint16(163), - 1561: uint16(374), - 1562: uint16(561), - 1563: uint16(539), - 1564: uint16(572), - 1565: uint16(321), - 1566: uint16(572), - 1567: uint16(886), - 1568: uint16(540), - 1569: uint16(137), - 1570: uint16(137), - 1571: uint16(339), - 1572: uint16(1353), - 1573: uint16(422), - 1574: uint16(298), - 1575: uint16(237), - 1576: uint16(539), - 1577: uint16(572), - 1578: uint16(1031), - 1579: uint16(572), - 1580: uint16(340), - 1581: uint16(538), - 1582: uint16(101), - 1583: uint16(369), - 1584: uint16(110), - 1585: uint16(110), - 1586: uint16(162), - 1587: uint16(131), - 1588: uint16(131), - 1589: uint16(164), - 1590: uint16(164), - 1591: uint16(1031), - 1592: uint16(111), - 1593: uint16(368), - 1594: uint16(449), - 1595: uint16(573), - 1596: uint16(449), + 1342: uint16(1126), + 1343: uint16(1576), + 1344: uint16(449), + 1345: uint16(576), + 1346: uint16(462), + 1347: uint16(7), + 1348: uint16(1282), + 1349: uint16(418), + 1350: uint16(462), + 1351: uint16(350), + 1352: uint16(1435), + 1353: uint16(576), + 1354: uint16(518), + 1355: uint16(571), + 1356: uint16(544), + 1357: uint16(1127), + 1358: uint16(121), + 1359: uint16(568), + 1360: uint16(442), + 1361: uint16(4), + 1362: uint16(1188), + 1363: uint16(464), + 1364: uint16(533), + 1365: uint16(1180), + 1366: uint16(1223), + 1367: uint16(9), + 1368: uint16(67), + 1369: uint16(67), + 1370: uint16(487), + 1371: uint16(576), + 1372: uint16(1128), + 1373: uint16(303), + 1374: uint16(410), + 1375: uint16(571), + 1376: uint16(54), + 1377: uint16(54), + 1378: uint16(451), + 1379: uint16(576), + 1380: uint16(123), + 1381: uint16(944), + 1382: uint16(576), + 1383: uint16(417), + 1384: uint16(576), + 1385: uint16(333), + 1386: uint16(943), + 1387: uint16(1379), + 1388: uint16(576), + 1389: uint16(236), + 1390: uint16(565), + 1391: uint16(576), + 1392: uint16(1574), + 1393: uint16(564), + 1394: uint16(68), + 1395: uint16(68), + 1396: uint16(7), + 1397: uint16(576), + 1398: uint16(451), + 1399: uint16(362), + 1400: uint16(419), + 1401: uint16(182), + 1402: uint16(69), + 1403: uint16(69), + 1404: uint16(541), + 1405: uint16(70), + 1406: uint16(70), + 1407: uint16(71), + 1408: uint16(71), + 1409: uint16(540), + 1410: uint16(565), + 1411: uint16(72), + 1412: uint16(72), + 1413: uint16(484), + 1414: uint16(55), + 1415: uint16(55), + 1416: uint16(473), + 1417: uint16(1180), + 1418: uint16(296), + 1419: uint16(1040), + 1420: uint16(56), + 1421: uint16(56), + 1422: uint16(296), + 1423: uint16(493), + 1424: uint16(541), + 1425: uint16(119), + 1426: uint16(119), + 1427: uint16(410), + 1428: uint16(1573), + 1429: uint16(542), + 1430: uint16(569), + 1431: uint16(418), + 1432: uint16(7), + 1433: uint16(120), + 1434: uint16(1244), + 1435: uint16(451), + 1436: uint16(577), + 1437: uint16(451), + 1438: uint16(465), + 1439: uint16(1040), + 1440: uint16(1028), + 1441: uint16(576), + 1442: uint16(1557), + 1443: uint16(552), + 1444: uint16(476), + 1445: uint16(119), + 1446: uint16(119), + 1447: uint16(527), + 1448: uint16(259), + 1449: uint16(121), + 1450: uint16(568), + 1451: uint16(240), + 1452: uint16(4), + 1453: uint16(120), + 1454: uint16(576), + 1455: uint16(451), + 1456: uint16(577), + 1457: uint16(451), + 1458: uint16(576), + 1459: uint16(477), + 1460: uint16(1028), + 1461: uint16(576), + 1462: uint16(156), + 1463: uint16(576), + 1464: uint16(57), + 1465: uint16(57), + 1466: uint16(571), + 1467: uint16(576), + 1468: uint16(286), + 1469: uint16(229), + 1470: uint16(410), + 1471: uint16(336), + 1472: uint16(1028), + 1473: uint16(1028), + 1474: uint16(1030), + 1475: uint16(1031), + 1476: uint16(35), + 1477: uint16(59), + 1478: uint16(59), + 1479: uint16(219), + 1480: uint16(983), + 1481: uint16(60), + 1482: uint16(60), + 1483: uint16(220), + 1484: uint16(73), + 1485: uint16(73), + 1486: uint16(74), + 1487: uint16(74), + 1488: uint16(984), + 1489: uint16(451), + 1490: uint16(75), + 1491: uint16(75), + 1492: uint16(1028), + 1493: uint16(1028), + 1494: uint16(1030), + 1495: uint16(1031), + 1496: uint16(35), + 1497: uint16(96), + 1498: uint16(216), + 1499: uint16(291), + 1500: uint16(552), + 1501: uint16(565), + 1502: uint16(1188), + 1503: uint16(318), + 1504: uint16(395), + 1505: uint16(395), + 1506: uint16(394), + 1507: uint16(276), + 1508: uint16(392), + 1509: uint16(576), + 1510: uint16(485), + 1511: uint16(859), + 1512: uint16(474), + 1513: uint16(1311), + 1514: uint16(410), + 1515: uint16(541), + 1516: uint16(576), + 1517: uint16(417), + 1518: uint16(1530), + 1519: uint16(1144), + 1520: uint16(540), + 1521: uint16(399), + 1522: uint16(1188), + 1523: uint16(292), + 1524: uint16(237), + 1525: uint16(1153), + 1526: uint16(326), + 1527: uint16(38), + 1528: uint16(23), + 1529: uint16(576), + 1530: uint16(1040), + 1531: uint16(576), + 1532: uint16(20), + 1533: uint16(20), + 1534: uint16(325), + 1535: uint16(299), + 1536: uint16(119), + 1537: uint16(119), + 1538: uint16(164), + 1539: uint16(76), + 1540: uint16(76), + 1541: uint16(1529), + 1542: uint16(121), + 1543: uint16(568), + 1544: uint16(120), + 1545: uint16(4), + 1546: uint16(451), + 1547: uint16(577), + 1548: uint16(451), + 1549: uint16(203), + 1550: uint16(576), + 1551: uint16(1028), + 1552: uint16(141), + 1553: uint16(141), + 1554: uint16(142), + 1555: uint16(142), + 1556: uint16(576), + 1557: uint16(322), + 1558: uint16(39), + 1559: uint16(571), + 1560: uint16(341), + 1561: uint16(1021), + 1562: uint16(110), + 1563: uint16(264), + 1564: uint16(239), + 1565: uint16(901), + 1566: uint16(900), + 1567: uint16(423), + 1568: uint16(242), + 1569: uint16(908), + 1570: uint16(909), + 1571: uint16(370), + 1572: uint16(173), + 1573: uint16(77), + 1574: uint16(77), + 1575: uint16(43), + 1576: uint16(479), + 1577: uint16(1310), + 1578: uint16(264), + 1579: uint16(62), + 1580: uint16(62), + 1581: uint16(369), + 1582: uint16(451), + 1583: uint16(1028), + 1584: uint16(1028), + 1585: uint16(1030), + 1586: uint16(1031), + 1587: uint16(35), + 1588: uint16(1601), + 1589: uint16(1192), + 1590: uint16(453), + 1591: uint16(1092), + 1592: uint16(238), + 1593: uint16(291), + 1594: uint16(565), + 1595: uint16(163), + 1596: uint16(1309), 1597: uint16(110), - 1598: uint16(110), - 1599: uint16(1019), - 1600: uint16(157), - 1601: uint16(157), - 1602: uint16(141), - 1603: uint16(141), - 1604: uint16(572), - 1605: uint16(111), - 1606: uint16(572), - 1607: uint16(449), - 1608: uint16(573), - 1609: uint16(449), - 1610: uint16(412), - 1611: uint16(288), - 1612: uint16(1019), - 1613: uint16(572), - 1614: uint16(882), - 1615: uint16(318), - 1616: uint16(563), - 1617: uint16(572), - 1618: uint16(219), - 1619: uint16(572), - 1620: uint16(241), - 1621: uint16(1012), - 1622: uint16(477), - 1623: uint16(263), - 1624: uint16(263), - 1625: uint16(894), - 1626: uint16(893), - 1627: uint16(140), - 1628: uint16(140), - 1629: uint16(138), - 1630: uint16(138), - 1631: uint16(1019), - 1632: uint16(1019), - 1633: uint16(1021), - 1634: uint16(1022), - 1635: uint16(28), - 1636: uint16(139), - 1637: uint16(139), - 1638: uint16(525), - 1639: uint16(455), - 1640: uint16(76), - 1641: uint16(76), - 1642: uint16(78), - 1643: uint16(78), - 1644: uint16(1019), - 1645: uint16(1019), - 1646: uint16(1021), - 1647: uint16(1022), - 1648: uint16(28), - 1649: uint16(1181), - 1650: uint16(451), - 1651: uint16(572), - 1652: uint16(1083), - 1653: uint16(290), - 1654: uint16(112), - 1655: uint16(564), - 1656: uint16(1575), - 1657: uint16(4), - 1658: uint16(394), - 1659: uint16(394), - 1660: uint16(393), - 1661: uint16(275), - 1662: uint16(391), - 1663: uint16(572), - 1664: uint16(1023), - 1665: uint16(852), - 1666: uint16(572), - 1667: uint16(479), - 1668: uint16(345), - 1669: uint16(263), - 1670: uint16(101), - 1671: uint16(567), - 1672: uint16(882), - 1673: uint16(1376), - 1674: uint16(75), - 1675: uint16(75), - 1676: uint16(1421), - 1677: uint16(501), - 1678: uint16(236), - 1679: uint16(260), - 1680: uint16(325), - 1681: uint16(112), - 1682: uint16(564), - 1683: uint16(359), - 1684: uint16(4), - 1685: uint16(101), - 1686: uint16(43), - 1687: uint16(43), - 1688: uint16(324), - 1689: uint16(49), - 1690: uint16(49), - 1691: uint16(901), - 1692: uint16(902), - 1693: uint16(161), - 1694: uint16(449), - 1695: uint16(101), - 1696: uint16(977), - 1697: uint16(978), - 1698: uint16(567), - 1699: uint16(1079), - 1700: uint16(1349), - 1701: uint16(260), - 1702: uint16(965), - 1703: uint16(932), - 1704: uint16(263), - 1705: uint16(114), - 1706: uint16(561), - 1707: uint16(1095), - 1708: uint16(517), - 1709: uint16(1095), - 1710: uint16(1083), - 1711: uint16(1094), - 1712: uint16(865), - 1713: uint16(1094), - 1714: uint16(151), - 1715: uint16(933), - 1716: uint16(1144), - 1717: uint16(114), - 1718: uint16(238), - 1719: uint16(1361), - 1720: uint16(558), - 1721: uint16(449), - 1722: uint16(1023), - 1723: uint16(559), - 1724: uint16(1426), - 1725: uint16(1278), - 1726: uint16(170), - 1727: uint16(1269), - 1728: uint16(1257), - 1729: uint16(142), - 1730: uint16(1601), - 1731: uint16(1256), - 1732: uint16(1258), - 1733: uint16(561), - 1734: uint16(1594), - 1735: uint16(1031), - 1736: uint16(496), - 1737: uint16(278), - 1738: uint16(213), - 1739: uint16(1346), - 1740: uint16(310), - 1741: uint16(110), - 1742: uint16(110), - 1743: uint16(939), - 1744: uint16(311), - 1745: uint16(312), - 1746: uint16(237), - 1747: uint16(11), - 1748: uint16(234), - 1749: uint16(111), - 1750: uint16(221), - 1751: uint16(449), - 1752: uint16(573), - 1753: uint16(449), - 1754: uint16(293), - 1755: uint16(395), - 1756: uint16(1019), - 1757: uint16(1408), - 1758: uint16(337), - 1759: uint16(1403), - 1760: uint16(1396), - 1761: uint16(338), - 1762: uint16(1031), - 1763: uint16(299), - 1764: uint16(343), - 1765: uint16(1413), - 1766: uint16(1412), - 1767: uint16(481), - 1768: uint16(110), - 1769: uint16(110), - 1770: uint16(506), - 1771: uint16(402), - 1772: uint16(225), - 1773: uint16(1296), - 1774: uint16(206), - 1775: uint16(367), - 1776: uint16(111), - 1777: uint16(1358), - 1778: uint16(449), - 1779: uint16(573), - 1780: uint16(449), - 1781: uint16(412), - 1782: uint16(1359), - 1783: uint16(1019), - 1784: uint16(1489), - 1785: uint16(1488), - 1786: uint16(318), - 1787: uint16(563), - 1788: uint16(1019), - 1789: uint16(1019), - 1790: uint16(1021), - 1791: uint16(1022), - 1792: uint16(28), - 1793: uint16(562), - 1794: uint16(207), - 1795: uint16(220), - 1796: uint16(80), - 1797: uint16(564), - 1798: uint16(389), - 1799: uint16(4), - 1800: uint16(1597), - 1801: uint16(1357), - 1802: uint16(552), - 1803: uint16(1356), - 1804: uint16(1233), - 1805: uint16(181), - 1806: uint16(267), - 1807: uint16(232), - 1808: uint16(1536), - 1809: uint16(1534), - 1810: uint16(455), - 1811: uint16(1230), - 1812: uint16(420), - 1813: uint16(567), - 1814: uint16(82), - 1815: uint16(1019), - 1816: uint16(1019), - 1817: uint16(1021), - 1818: uint16(1022), - 1819: uint16(28), - 1820: uint16(86), - 1821: uint16(217), - 1822: uint16(85), - 1823: uint16(1494), - 1824: uint16(190), - 1825: uint16(175), - 1826: uint16(183), - 1827: uint16(465), - 1828: uint16(185), - 1829: uint16(466), - 1830: uint16(36), - 1831: uint16(1409), - 1832: uint16(186), - 1833: uint16(187), - 1834: uint16(188), - 1835: uint16(499), - 1836: uint16(449), - 1837: uint16(244), - 1838: uint16(37), - 1839: uint16(99), - 1840: uint16(400), - 1841: uint16(1415), - 1842: uint16(1414), - 1843: uint16(488), - 1844: uint16(1417), - 1845: uint16(194), - 1846: uint16(473), - 1847: uint16(403), - 1848: uint16(561), - 1849: uint16(1483), - 1850: uint16(248), - 1851: uint16(92), - 1852: uint16(1505), - 1853: uint16(494), - 1854: uint16(198), - 1855: uint16(279), - 1856: uint16(112), - 1857: uint16(564), - 1858: uint16(250), - 1859: uint16(4), - 1860: uint16(348), - 1861: uint16(497), - 1862: uint16(405), - 1863: uint16(352), - 1864: uint16(1259), - 1865: uint16(251), - 1866: uint16(252), - 1867: uint16(515), - 1868: uint16(1316), - 1869: uint16(434), - 1870: uint16(1315), - 1871: uint16(1314), - 1872: uint16(94), - 1873: uint16(567), - 1874: uint16(1307), - 1875: uint16(886), - 1876: uint16(1306), - 1877: uint16(1031), - 1878: uint16(226), - 1879: uint16(406), - 1880: uint16(1611), - 1881: uint16(1610), - 1882: uint16(438), - 1883: uint16(110), - 1884: uint16(110), - 1885: uint16(1580), - 1886: uint16(1286), - 1887: uint16(524), - 1888: uint16(439), - 1889: uint16(308), - 1890: uint16(266), - 1891: uint16(111), - 1892: uint16(1285), - 1893: uint16(449), - 1894: uint16(573), - 1895: uint16(449), - 1896: uint16(449), - 1897: uint16(309), - 1898: uint16(1019), - 1899: uint16(366), - 1900: uint16(1284), - 1901: uint16(1609), - 1902: uint16(265), - 1903: uint16(1566), - 1904: uint16(1565), - 1905: uint16(442), - 1906: uint16(372), - 1907: uint16(1381), - 1908: uint16(561), - 1909: uint16(129), - 1910: uint16(550), - 1911: uint16(1380), - 1912: uint16(10), - 1913: uint16(1470), - 1914: uint16(383), - 1915: uint16(106), - 1916: uint16(316), - 1917: uint16(551), - 1918: uint16(100), - 1919: uint16(35), - 1920: uint16(534), - 1921: uint16(575), - 1922: uint16(212), - 1923: uint16(1339), - 1924: uint16(381), - 1925: uint16(387), - 1926: uint16(1187), - 1927: uint16(1338), - 1928: uint16(274), - 1929: uint16(276), - 1930: uint16(1019), - 1931: uint16(1019), - 1932: uint16(1021), - 1933: uint16(1022), - 1934: uint16(28), - 1935: uint16(277), - 1936: uint16(413), - 1937: uint16(1031), - 1938: uint16(576), - 1939: uint16(1254), - 1940: uint16(388), - 1941: uint16(1521), - 1942: uint16(1249), - 1943: uint16(110), - 1944: uint16(110), - 1945: uint16(167), - 1946: uint16(1522), - 1947: uint16(168), - 1948: uint16(148), - 1949: uint16(1520), - 1950: uint16(1519), - 1951: uint16(111), - 1952: uint16(306), - 1953: uint16(449), - 1954: uint16(573), - 1955: uint16(449), - 1956: uint16(222), - 1957: uint16(223), - 1958: uint16(1019), - 1959: uint16(839), - 1960: uint16(169), - 1961: uint16(79), - 1962: uint16(450), - 1963: uint16(214), - 1964: uint16(414), - 1965: uint16(233), - 1966: uint16(320), - 1967: uint16(145), - 1968: uint16(1093), - 1969: uint16(1091), - 1970: uint16(328), - 1971: uint16(182), - 1972: uint16(171), - 1973: uint16(1212), - 1974: uint16(918), - 1975: uint16(184), - 1976: uint16(240), - 1977: uint16(336), - 1978: uint16(243), - 1979: uint16(1107), - 1980: uint16(189), - 1981: uint16(172), - 1982: uint16(173), - 1983: uint16(423), - 1984: uint16(425), - 1985: uint16(88), - 1986: uint16(180), - 1987: uint16(191), - 1988: uint16(89), - 1989: uint16(90), - 1990: uint16(1019), - 1991: uint16(1019), - 1992: uint16(1021), - 1993: uint16(1022), - 1994: uint16(28), - 1995: uint16(91), - 1996: uint16(174), - 1997: uint16(1110), - 1998: uint16(245), - 1999: uint16(1106), - 2000: uint16(246), - 2001: uint16(159), - 2002: uint16(18), - 2003: uint16(247), - 2004: uint16(347), - 2005: uint16(1099), - 2006: uint16(263), - 2007: uint16(195), - 2008: uint16(1227), - 2009: uint16(493), - 2010: uint16(249), - 2011: uint16(196), - 2012: uint16(38), - 2013: uint16(854), - 2014: uint16(498), - 2015: uint16(368), - 2016: uint16(253), - 2017: uint16(360), - 2018: uint16(897), - 2019: uint16(197), - 2020: uint16(502), - 2021: uint16(93), - 2022: uint16(19), - 2023: uint16(20), - 2024: uint16(507), - 2025: uint16(884), - 2026: uint16(363), - 2027: uint16(510), - 2028: uint16(95), - 2029: uint16(307), - 2030: uint16(160), - 2031: uint16(96), - 2032: uint16(518), - 2033: uint16(97), - 2034: uint16(1175), - 2035: uint16(1060), - 2036: uint16(1146), - 2037: uint16(40), - 2038: uint16(21), - 2039: uint16(227), - 2040: uint16(176), - 2041: uint16(1145), - 2042: uint16(282), - 2043: uint16(284), - 2044: uint16(969), - 2045: uint16(200), - 2046: uint16(963), - 2047: uint16(114), - 2048: uint16(262), - 2049: uint16(1165), - 2050: uint16(22), - 2051: uint16(23), - 2052: uint16(24), - 2053: uint16(1161), - 2054: uint16(1169), - 2055: uint16(25), - 2056: uint16(1163), - 2057: uint16(1150), - 2058: uint16(34), - 2059: uint16(26), - 2060: uint16(1168), - 2061: uint16(546), - 2062: uint16(27), - 2063: uint16(204), - 2064: uint16(101), - 2065: uint16(103), - 2066: uint16(104), - 2067: uint16(1074), - 2068: uint16(7), - 2069: uint16(1061), - 2070: uint16(1059), - 2071: uint16(1063), - 2072: uint16(1116), - 2073: uint16(1064), - 2074: uint16(1115), - 2075: uint16(268), - 2076: uint16(269), - 2077: uint16(29), - 2078: uint16(41), - 2079: uint16(270), - 2080: uint16(1024), - 2081: uint16(866), - 2082: uint16(113), - 2083: uint16(30), - 2084: uint16(568), - 2085: uint16(392), - 2086: uint16(1183), - 2087: uint16(144), - 2088: uint16(178), - 2089: uint16(1182), - 2090: uint16(271), - 2091: uint16(928), - 2092: uint16(1245), - 2093: uint16(1245), - 2094: uint16(1245), - 2095: uint16(1245), - 2096: uint16(1245), - 2097: uint16(1245), - 2098: uint16(1245), - 2099: uint16(1602), -} -var _yy_lookahead = [2285]uint16{ - 0: uint16(193), - 1: uint16(193), - 2: uint16(193), - 3: uint16(274), - 4: uint16(275), - 5: uint16(276), - 6: uint16(193), - 7: uint16(274), - 8: uint16(275), - 9: uint16(276), - 10: uint16(193), - 11: uint16(223), - 12: uint16(219), - 13: uint16(225), - 14: uint16(206), - 15: uint16(210), - 16: uint16(211), - 17: uint16(212), - 18: uint16(193), + 1598: uint16(395), + 1599: uint16(395), + 1600: uint16(394), + 1601: uint16(276), + 1602: uint16(392), + 1603: uint16(986), + 1604: uint16(987), + 1605: uint16(859), + 1606: uint16(481), + 1607: uint16(346), + 1608: uint16(264), + 1609: uint16(110), + 1610: uint16(1032), + 1611: uint16(489), + 1612: uint16(576), + 1613: uint16(1188), + 1614: uint16(503), + 1615: uint16(1088), + 1616: uint16(261), + 1617: uint16(261), + 1618: uint16(237), + 1619: uint16(576), + 1620: uint16(326), + 1621: uint16(121), + 1622: uint16(568), + 1623: uint16(1040), + 1624: uint16(4), + 1625: uint16(347), + 1626: uint16(1376), + 1627: uint16(413), + 1628: uint16(325), + 1629: uint16(119), + 1630: uint16(119), + 1631: uint16(948), + 1632: uint16(319), + 1633: uint16(567), + 1634: uint16(351), + 1635: uint16(78), + 1636: uint16(78), + 1637: uint16(120), + 1638: uint16(571), + 1639: uint16(451), + 1640: uint16(577), + 1641: uint16(451), + 1642: uint16(79), + 1643: uint16(79), + 1644: uint16(1028), + 1645: uint16(354), + 1646: uint16(356), + 1647: uint16(576), + 1648: uint16(360), + 1649: uint16(1092), + 1650: uint16(110), + 1651: uint16(576), + 1652: uint16(974), + 1653: uint16(942), + 1654: uint16(264), + 1655: uint16(123), + 1656: uint16(457), + 1657: uint16(358), + 1658: uint16(239), + 1659: uint16(576), + 1660: uint16(519), + 1661: uint16(451), + 1662: uint16(939), + 1663: uint16(1104), + 1664: uint16(123), + 1665: uint16(1104), + 1666: uint16(173), + 1667: uint16(576), + 1668: uint16(1032), + 1669: uint16(43), + 1670: uint16(63), + 1671: uint16(63), + 1672: uint16(1324), + 1673: uint16(565), + 1674: uint16(168), + 1675: uint16(168), + 1676: uint16(1028), + 1677: uint16(1028), + 1678: uint16(1030), + 1679: uint16(1031), + 1680: uint16(35), + 1681: uint16(576), + 1682: uint16(169), + 1683: uint16(169), + 1684: uint16(1308), + 1685: uint16(872), + 1686: uint16(238), + 1687: uint16(157), + 1688: uint16(1589), + 1689: uint16(576), + 1690: uint16(86), + 1691: uint16(86), + 1692: uint16(365), + 1693: uint16(89), + 1694: uint16(568), + 1695: uint16(375), + 1696: uint16(4), + 1697: uint16(1103), + 1698: uint16(941), + 1699: uint16(1103), + 1700: uint16(123), + 1701: uint16(576), + 1702: uint16(1040), + 1703: uint16(1389), + 1704: uint16(64), + 1705: uint16(64), + 1706: uint16(1188), + 1707: uint16(1434), + 1708: uint16(119), + 1709: uint16(119), + 1710: uint16(571), + 1711: uint16(576), + 1712: uint16(82), + 1713: uint16(82), + 1714: uint16(563), + 1715: uint16(576), + 1716: uint16(120), + 1717: uint16(165), + 1718: uint16(451), + 1719: uint16(577), + 1720: uint16(451), + 1721: uint16(413), + 1722: uint16(1362), + 1723: uint16(1028), + 1724: uint16(144), + 1725: uint16(144), + 1726: uint16(319), + 1727: uint16(567), + 1728: uint16(576), + 1729: uint16(1374), + 1730: uint16(562), + 1731: uint16(498), + 1732: uint16(279), + 1733: uint16(451), + 1734: uint16(83), + 1735: uint16(83), + 1736: uint16(1439), + 1737: uint16(576), + 1738: uint16(166), + 1739: uint16(166), + 1740: uint16(576), + 1741: uint16(1289), + 1742: uint16(554), + 1743: uint16(576), + 1744: uint16(1280), + 1745: uint16(565), + 1746: uint16(576), + 1747: uint16(12), + 1748: uint16(576), + 1749: uint16(1268), + 1750: uint16(457), + 1751: uint16(146), + 1752: uint16(146), + 1753: uint16(1267), + 1754: uint16(576), + 1755: uint16(1028), + 1756: uint16(1028), + 1757: uint16(1030), + 1758: uint16(1031), + 1759: uint16(35), + 1760: uint16(140), + 1761: uint16(140), + 1762: uint16(1269), + 1763: uint16(167), + 1764: uint16(167), + 1765: uint16(1609), + 1766: uint16(160), + 1767: uint16(160), + 1768: uint16(1359), + 1769: uint16(150), + 1770: uint16(150), + 1771: uint16(149), + 1772: uint16(149), + 1773: uint16(311), + 1774: uint16(1040), + 1775: uint16(576), + 1776: uint16(312), + 1777: uint16(147), + 1778: uint16(147), + 1779: uint16(313), + 1780: uint16(119), + 1781: uint16(119), + 1782: uint16(222), + 1783: uint16(235), + 1784: uint16(576), + 1785: uint16(1188), + 1786: uint16(396), + 1787: uint16(576), + 1788: uint16(120), + 1789: uint16(576), + 1790: uint16(451), + 1791: uint16(577), + 1792: uint16(451), + 1793: uint16(1192), + 1794: uint16(453), + 1795: uint16(1028), + 1796: uint16(508), + 1797: uint16(291), + 1798: uint16(148), + 1799: uint16(148), + 1800: uint16(1421), + 1801: uint16(1612), + 1802: uint16(395), + 1803: uint16(395), + 1804: uint16(394), + 1805: uint16(276), + 1806: uint16(392), + 1807: uint16(85), + 1808: uint16(85), + 1809: uint16(859), + 1810: uint16(87), + 1811: uint16(87), + 1812: uint16(84), + 1813: uint16(84), + 1814: uint16(553), + 1815: uint16(576), + 1816: uint16(294), + 1817: uint16(576), + 1818: uint16(1426), + 1819: uint16(338), + 1820: uint16(339), + 1821: uint16(1425), + 1822: uint16(237), + 1823: uint16(300), + 1824: uint16(326), + 1825: uint16(1416), + 1826: uint16(1409), + 1827: uint16(1028), + 1828: uint16(1028), + 1829: uint16(1030), + 1830: uint16(1031), + 1831: uint16(35), + 1832: uint16(325), + 1833: uint16(344), + 1834: uint16(403), + 1835: uint16(483), + 1836: uint16(226), + 1837: uint16(1307), + 1838: uint16(52), + 1839: uint16(52), + 1840: uint16(58), + 1841: uint16(58), + 1842: uint16(368), + 1843: uint16(1371), + 1844: uint16(1502), + 1845: uint16(566), + 1846: uint16(1501), + 1847: uint16(121), + 1848: uint16(568), + 1849: uint16(221), + 1850: uint16(4), + 1851: uint16(208), + 1852: uint16(268), + 1853: uint16(209), + 1854: uint16(390), + 1855: uint16(1244), + 1856: uint16(1549), + 1857: uint16(1188), + 1858: uint16(1372), + 1859: uint16(1370), + 1860: uint16(1369), + 1861: uint16(1547), + 1862: uint16(239), + 1863: uint16(184), + 1864: uint16(571), + 1865: uint16(233), + 1866: uint16(421), + 1867: uint16(1241), + 1868: uint16(95), + 1869: uint16(218), + 1870: uint16(173), + 1871: uint16(1507), + 1872: uint16(193), + 1873: uint16(43), + 1874: uint16(91), + 1875: uint16(94), + 1876: uint16(178), + 1877: uint16(186), + 1878: uint16(467), + 1879: uint16(188), + 1880: uint16(468), + 1881: uint16(1422), + 1882: uint16(13), + 1883: uint16(189), + 1884: uint16(190), + 1885: uint16(191), + 1886: uint16(501), + 1887: uint16(451), + 1888: uint16(245), + 1889: uint16(108), + 1890: uint16(238), + 1891: uint16(401), + 1892: uint16(1428), + 1893: uint16(1427), + 1894: uint16(1430), + 1895: uint16(475), + 1896: uint16(404), + 1897: uint16(1496), + 1898: uint16(197), + 1899: uint16(565), + 1900: uint16(14), + 1901: uint16(490), + 1902: uint16(249), + 1903: uint16(101), + 1904: uint16(1518), + 1905: uint16(496), + 1906: uint16(349), + 1907: uint16(280), + 1908: uint16(251), + 1909: uint16(201), + 1910: uint16(353), + 1911: uint16(499), + 1912: uint16(252), + 1913: uint16(406), + 1914: uint16(1270), + 1915: uint16(253), + 1916: uint16(517), + 1917: uint16(1327), + 1918: uint16(1326), + 1919: uint16(435), + 1920: uint16(1325), + 1921: uint16(1318), + 1922: uint16(103), + 1923: uint16(893), + 1924: uint16(1296), + 1925: uint16(413), + 1926: uint16(227), + 1927: uint16(407), + 1928: uint16(1040), + 1929: uint16(1626), + 1930: uint16(319), + 1931: uint16(567), + 1932: uint16(1625), + 1933: uint16(1297), + 1934: uint16(119), + 1935: uint16(119), + 1936: uint16(439), + 1937: uint16(367), + 1938: uint16(1317), + 1939: uint16(1295), + 1940: uint16(1624), + 1941: uint16(526), + 1942: uint16(120), + 1943: uint16(440), + 1944: uint16(451), + 1945: uint16(577), + 1946: uint16(451), + 1947: uint16(1594), + 1948: uint16(309), + 1949: uint16(1028), + 1950: uint16(310), + 1951: uint16(373), + 1952: uint16(266), + 1953: uint16(267), + 1954: uint16(457), + 1955: uint16(1580), + 1956: uint16(1579), + 1957: uint16(443), + 1958: uint16(138), + 1959: uint16(1394), + 1960: uint16(552), + 1961: uint16(1393), + 1962: uint16(11), + 1963: uint16(1483), + 1964: uint16(384), + 1965: uint16(115), + 1966: uint16(317), + 1967: uint16(1350), + 1968: uint16(109), + 1969: uint16(536), + 1970: uint16(42), + 1971: uint16(579), + 1972: uint16(382), + 1973: uint16(214), + 1974: uint16(1349), + 1975: uint16(388), + 1976: uint16(1198), + 1977: uint16(389), + 1978: uint16(275), + 1979: uint16(277), + 1980: uint16(278), + 1981: uint16(1028), + 1982: uint16(1028), + 1983: uint16(1030), + 1984: uint16(1031), + 1985: uint16(35), + 1986: uint16(580), + 1987: uint16(1265), + 1988: uint16(414), + 1989: uint16(1260), + 1990: uint16(170), + 1991: uint16(415), + 1992: uint16(183), + 1993: uint16(1534), + 1994: uint16(1535), + 1995: uint16(1533), + 1996: uint16(171), + 1997: uint16(154), + 1998: uint16(307), + 1999: uint16(1532), + 2000: uint16(846), + 2001: uint16(223), + 2002: uint16(224), + 2003: uint16(88), + 2004: uint16(452), + 2005: uint16(215), + 2006: uint16(172), + 2007: uint16(321), + 2008: uint16(234), + 2009: uint16(1102), + 2010: uint16(152), + 2011: uint16(1188), + 2012: uint16(1100), + 2013: uint16(329), + 2014: uint16(185), + 2015: uint16(174), + 2016: uint16(1223), + 2017: uint16(925), + 2018: uint16(187), + 2019: uint16(241), + 2020: uint16(337), + 2021: uint16(244), + 2022: uint16(1116), + 2023: uint16(192), + 2024: uint16(175), + 2025: uint16(176), + 2026: uint16(424), + 2027: uint16(426), + 2028: uint16(97), + 2029: uint16(194), + 2030: uint16(98), + 2031: uint16(99), + 2032: uint16(100), + 2033: uint16(177), + 2034: uint16(1119), + 2035: uint16(1115), + 2036: uint16(246), + 2037: uint16(247), + 2038: uint16(161), + 2039: uint16(24), + 2040: uint16(248), + 2041: uint16(348), + 2042: uint16(1238), + 2043: uint16(264), + 2044: uint16(1108), + 2045: uint16(250), + 2046: uint16(495), + 2047: uint16(199), + 2048: uint16(198), + 2049: uint16(15), + 2050: uint16(861), + 2051: uint16(500), + 2052: uint16(369), + 2053: uint16(254), + 2054: uint16(504), + 2055: uint16(509), + 2056: uint16(512), + 2057: uint16(200), + 2058: uint16(102), + 2059: uint16(25), + 2060: uint16(179), + 2061: uint16(361), + 2062: uint16(26), + 2063: uint16(364), + 2064: uint16(104), + 2065: uint16(891), + 2066: uint16(308), + 2067: uint16(162), + 2068: uint16(105), + 2069: uint16(904), + 2070: uint16(520), + 2071: uint16(106), + 2072: uint16(1185), + 2073: uint16(1069), + 2074: uint16(1155), + 2075: uint16(17), + 2076: uint16(228), + 2077: uint16(27), + 2078: uint16(1154), + 2079: uint16(283), + 2080: uint16(285), + 2081: uint16(263), + 2082: uint16(978), + 2083: uint16(202), + 2084: uint16(972), + 2085: uint16(123), + 2086: uint16(28), + 2087: uint16(1175), + 2088: uint16(29), + 2089: uint16(30), + 2090: uint16(1179), + 2091: uint16(1171), + 2092: uint16(31), + 2093: uint16(1173), + 2094: uint16(1160), + 2095: uint16(41), + 2096: uint16(32), + 2097: uint16(206), + 2098: uint16(548), + 2099: uint16(33), + 2100: uint16(110), + 2101: uint16(1178), + 2102: uint16(1083), + 2103: uint16(8), + 2104: uint16(112), + 2105: uint16(1070), + 2106: uint16(113), + 2107: uint16(1068), + 2108: uint16(1072), + 2109: uint16(34), + 2110: uint16(1073), + 2111: uint16(560), + 2112: uint16(1125), + 2113: uint16(269), + 2114: uint16(1124), + 2115: uint16(270), + 2116: uint16(36), + 2117: uint16(18), + 2118: uint16(1194), + 2119: uint16(1033), + 2120: uint16(873), + 2121: uint16(151), + 2122: uint16(122), + 2123: uint16(37), + 2124: uint16(393), + 2125: uint16(271), + 2126: uint16(272), + 2127: uint16(572), + 2128: uint16(181), + 2129: uint16(1193), + 2130: uint16(1256), + 2131: uint16(1256), + 2132: uint16(1256), + 2133: uint16(935), + 2134: uint16(1256), + 2135: uint16(1256), + 2136: uint16(1256), + 2137: uint16(1256), + 2138: uint16(1256), + 2139: uint16(1256), + 2140: uint16(1256), + 2141: uint16(1617), +} +var _yy_lookahead = [2328]uint16{ + 0: uint16(194), + 1: uint16(276), + 2: uint16(277), + 3: uint16(278), + 4: uint16(216), + 5: uint16(194), + 6: uint16(194), + 7: uint16(217), + 8: uint16(194), + 9: uint16(194), + 10: uint16(194), + 11: uint16(194), + 12: uint16(224), + 13: uint16(194), + 14: uint16(194), + 15: uint16(276), + 16: uint16(277), + 17: uint16(278), + 18: uint16(204), 19: uint16(19), - 20: uint16(219), - 21: uint16(233), - 22: uint16(216), - 23: uint16(216), - 24: uint16(217), - 25: uint16(216), - 26: uint16(217), - 27: uint16(193), - 28: uint16(295), - 29: uint16(216), - 30: uint16(217), + 20: uint16(206), + 21: uint16(202), + 22: uint16(297), + 23: uint16(217), + 24: uint16(218), + 25: uint16(205), + 26: uint16(207), + 27: uint16(217), + 28: uint16(205), + 29: uint16(217), + 30: uint16(218), 31: uint16(31), - 32: uint16(193), - 33: uint16(216), + 32: uint16(217), + 33: uint16(218), 34: uint16(217), - 35: uint16(193), - 36: uint16(228), - 37: uint16(213), - 38: uint16(230), + 35: uint16(218), + 36: uint16(29), + 37: uint16(217), + 38: uint16(218), 39: uint16(39), - 40: uint16(206), - 41: uint16(216), - 42: uint16(217), + 40: uint16(33), + 41: uint16(217), + 42: uint16(220), 43: uint16(43), 44: uint16(44), 45: uint16(45), @@ -149300,31 +150616,31 @@ var _yy_lookahead = [2285]uint16{ 55: uint16(55), 56: uint16(56), 57: uint16(57), - 58: uint16(193), + 58: uint16(312), 59: uint16(19), - 60: uint16(185), - 61: uint16(186), - 62: uint16(187), - 63: uint16(188), - 64: uint16(189), - 65: uint16(190), - 66: uint16(253), - 67: uint16(274), - 68: uint16(275), - 69: uint16(276), - 70: uint16(195), - 71: uint16(193), - 72: uint16(197), - 73: uint16(193), - 74: uint16(261), - 75: uint16(274), - 76: uint16(275), - 77: uint16(276), - 78: uint16(253), - 79: uint16(204), - 80: uint16(238), - 81: uint16(204), - 82: uint16(81), + 60: uint16(240), + 61: uint16(241), + 62: uint16(316), + 63: uint16(240), + 64: uint16(241), + 65: uint16(194), + 66: uint16(46), + 67: uint16(47), + 68: uint16(48), + 69: uint16(49), + 70: uint16(22), + 71: uint16(254), + 72: uint16(65), + 73: uint16(253), + 74: uint16(254), + 75: uint16(255), + 76: uint16(253), + 77: uint16(194), + 78: uint16(255), + 79: uint16(194), + 80: uint16(263), + 81: uint16(258), + 82: uint16(259), 83: uint16(43), 84: uint16(44), 85: uint16(45), @@ -149340,10 +150656,10 @@ var _yy_lookahead = [2285]uint16{ 95: uint16(55), 96: uint16(56), 97: uint16(57), - 98: uint16(274), - 99: uint16(275), - 100: uint16(276), - 101: uint16(262), + 98: uint16(276), + 99: uint16(277), + 100: uint16(278), + 101: uint16(285), 102: uint16(102), 103: uint16(103), 104: uint16(104), @@ -149356,34 +150672,34 @@ var _yy_lookahead = [2285]uint16{ 111: uint16(111), 112: uint16(112), 113: uint16(113), - 114: uint16(239), - 115: uint16(240), - 116: uint16(239), - 117: uint16(240), - 118: uint16(210), - 119: uint16(211), - 120: uint16(212), - 121: uint16(314), - 122: uint16(315), - 123: uint16(314), - 124: uint16(59), - 125: uint16(316), + 114: uint16(59), + 115: uint16(186), + 116: uint16(187), + 117: uint16(188), + 118: uint16(189), + 119: uint16(190), + 120: uint16(191), + 121: uint16(310), + 122: uint16(239), + 123: uint16(317), + 124: uint16(318), + 125: uint16(196), 126: uint16(86), - 127: uint16(252), + 127: uint16(198), 128: uint16(88), - 129: uint16(252), + 129: uint16(317), 130: uint16(19), - 131: uint16(314), - 132: uint16(315), - 133: uint16(256), - 134: uint16(257), - 135: uint16(113), + 131: uint16(319), + 132: uint16(317), + 133: uint16(318), + 134: uint16(205), + 135: uint16(264), 136: uint16(25), - 137: uint16(72), - 138: uint16(296), - 139: uint16(138), - 140: uint16(139), - 141: uint16(266), + 137: uint16(211), + 138: uint16(212), + 139: uint16(213), + 140: uint16(205), + 141: uint16(121), 142: uint16(102), 143: uint16(103), 144: uint16(104), @@ -149411,50 +150727,50 @@ var _yy_lookahead = [2285]uint16{ 166: uint16(55), 167: uint16(56), 168: uint16(57), - 169: uint16(81), - 170: uint16(292), - 171: uint16(59), - 172: uint16(292), - 173: uint16(298), - 174: uint16(108), - 175: uint16(109), - 176: uint16(110), - 177: uint16(111), - 178: uint16(112), - 179: uint16(113), + 169: uint16(240), + 170: uint16(241), + 171: uint16(116), + 172: uint16(117), + 173: uint16(118), + 174: uint16(119), + 175: uint16(240), + 176: uint16(241), + 177: uint16(122), + 178: uint16(123), + 179: uint16(124), 180: uint16(69), - 181: uint16(116), - 182: uint16(117), - 183: uint16(118), - 184: uint16(72), + 181: uint16(298), + 182: uint16(253), + 183: uint16(194), + 184: uint16(255), 185: uint16(106), 186: uint16(107), - 187: uint16(193), - 188: uint16(111), - 189: uint16(112), - 190: uint16(113), + 187: uint16(132), + 188: uint16(253), + 189: uint16(141), + 190: uint16(255), 191: uint16(54), 192: uint16(55), 193: uint16(56), 194: uint16(57), 195: uint16(58), - 196: uint16(102), - 197: uint16(103), - 198: uint16(104), - 199: uint16(105), - 200: uint16(106), - 201: uint16(107), - 202: uint16(108), - 203: uint16(109), - 204: uint16(110), - 205: uint16(111), - 206: uint16(112), - 207: uint16(113), - 208: uint16(120), - 209: uint16(25), - 210: uint16(216), - 211: uint16(217), - 212: uint16(145), + 196: uint16(207), + 197: uint16(268), + 198: uint16(102), + 199: uint16(103), + 200: uint16(104), + 201: uint16(105), + 202: uint16(106), + 203: uint16(107), + 204: uint16(108), + 205: uint16(109), + 206: uint16(110), + 207: uint16(111), + 208: uint16(112), + 209: uint16(113), + 210: uint16(214), + 211: uint16(128), + 212: uint16(129), 213: uint16(102), 214: uint16(103), 215: uint16(104), @@ -149467,13 +150783,13 @@ var _yy_lookahead = [2285]uint16{ 222: uint16(111), 223: uint16(112), 224: uint16(113), - 225: uint16(231), - 226: uint16(138), - 227: uint16(139), - 228: uint16(116), - 229: uint16(117), - 230: uint16(118), - 231: uint16(164), + 225: uint16(134), + 226: uint16(25), + 227: uint16(136), + 228: uint16(137), + 229: uint16(300), + 230: uint16(165), + 231: uint16(166), 232: uint16(153), 233: uint16(19), 234: uint16(155), @@ -149493,12 +150809,12 @@ var _yy_lookahead = [2285]uint16{ 248: uint16(111), 249: uint16(112), 250: uint16(113), - 251: uint16(128), - 252: uint16(129), - 253: uint16(46), - 254: uint16(47), - 255: uint16(48), - 256: uint16(49), + 251: uint16(108), + 252: uint16(109), + 253: uint16(110), + 254: uint16(111), + 255: uint16(112), + 256: uint16(113), 257: uint16(43), 258: uint16(44), 259: uint16(45), @@ -149514,15 +150830,15 @@ var _yy_lookahead = [2285]uint16{ 269: uint16(55), 270: uint16(56), 271: uint16(57), - 272: uint16(216), - 273: uint16(193), - 274: uint16(25), - 275: uint16(59), - 276: uint16(193), + 272: uint16(276), + 273: uint16(277), + 274: uint16(278), + 275: uint16(113), + 276: uint16(194), 277: uint16(19), - 278: uint16(165), - 279: uint16(166), - 280: uint16(193), + 278: uint16(22), + 279: uint16(23), + 280: uint16(194), 281: uint16(67), 282: uint16(24), 283: uint16(102), @@ -149537,12 +150853,12 @@ var _yy_lookahead = [2285]uint16{ 292: uint16(111), 293: uint16(112), 294: uint16(113), - 295: uint16(73), - 296: uint16(216), - 297: uint16(217), - 298: uint16(59), - 299: uint16(216), - 300: uint16(217), + 295: uint16(220), + 296: uint16(250), + 297: uint16(59), + 298: uint16(252), + 299: uint16(217), + 300: uint16(218), 301: uint16(43), 302: uint16(44), 303: uint16(45), @@ -149570,38 +150886,38 @@ var _yy_lookahead = [2285]uint16{ 325: uint16(111), 326: uint16(112), 327: uint16(113), - 328: uint16(121), - 329: uint16(145), - 330: uint16(59), - 331: uint16(193), - 332: uint16(116), - 333: uint16(117), - 334: uint16(118), - 335: uint16(119), - 336: uint16(273), - 337: uint16(204), - 338: uint16(122), - 339: uint16(123), - 340: uint16(124), + 328: uint16(106), + 329: uint16(107), + 330: uint16(108), + 331: uint16(109), + 332: uint16(110), + 333: uint16(111), + 334: uint16(112), + 335: uint16(113), + 336: uint16(254), + 337: uint16(59), + 338: uint16(205), + 339: uint16(138), + 340: uint16(139), 341: uint16(19), 342: uint16(20), - 343: uint16(134), + 343: uint16(194), 344: uint16(22), - 345: uint16(136), - 346: uint16(137), - 347: uint16(19), - 348: uint16(132), - 349: uint16(127), - 350: uint16(128), - 351: uint16(129), - 352: uint16(24), - 353: uint16(22), - 354: uint16(23), - 355: uint16(116), - 356: uint16(117), - 357: uint16(118), + 345: uint16(263), + 346: uint16(22), + 347: uint16(23), + 348: uint16(231), + 349: uint16(25), + 350: uint16(72), + 351: uint16(276), + 352: uint16(277), + 353: uint16(278), + 354: uint16(116), + 355: uint16(117), + 356: uint16(118), + 357: uint16(101), 358: uint16(36), - 359: uint16(193), + 359: uint16(76), 360: uint16(102), 361: uint16(103), 362: uint16(104), @@ -149614,37 +150930,37 @@ var _yy_lookahead = [2285]uint16{ 369: uint16(111), 370: uint16(112), 371: uint16(113), - 372: uint16(239), + 372: uint16(89), 373: uint16(240), - 374: uint16(311), - 375: uint16(312), - 376: uint16(215), - 377: uint16(106), - 378: uint16(107), - 379: uint16(241), + 374: uint16(241), + 375: uint16(92), + 376: uint16(73), + 377: uint16(194), + 378: uint16(194), + 379: uint16(73), 380: uint16(19), 381: uint16(59), - 382: uint16(216), - 383: uint16(217), - 384: uint16(223), - 385: uint16(252), - 386: uint16(115), - 387: uint16(116), - 388: uint16(117), - 389: uint16(118), - 390: uint16(151), - 391: uint16(120), - 392: uint16(26), + 382: uint16(188), + 383: uint16(189), + 384: uint16(190), + 385: uint16(191), + 386: uint16(253), + 387: uint16(81), + 388: uint16(255), + 389: uint16(151), + 390: uint16(196), + 391: uint16(25), + 392: uint16(198), 393: uint16(71), - 394: uint16(193), - 395: uint16(308), - 396: uint16(309), - 397: uint16(193), - 398: uint16(149), - 399: uint16(128), - 400: uint16(313), - 401: uint16(216), - 402: uint16(269), + 394: uint16(116), + 395: uint16(117), + 396: uint16(118), + 397: uint16(311), + 398: uint16(312), + 399: uint16(205), + 400: uint16(217), + 401: uint16(218), + 402: uint16(316), 403: uint16(81), 404: uint16(43), 405: uint16(44), @@ -149661,50 +150977,50 @@ var _yy_lookahead = [2285]uint16{ 416: uint16(55), 417: uint16(56), 418: uint16(57), - 419: uint16(253), - 420: uint16(216), - 421: uint16(217), + 419: uint16(270), + 420: uint16(22), + 421: uint16(23), 422: uint16(100), - 423: uint16(95), - 424: uint16(153), - 425: uint16(59), - 426: uint16(155), - 427: uint16(261), + 423: uint16(25), + 424: uint16(59), + 425: uint16(101), + 426: uint16(138), + 427: uint16(139), 428: uint16(106), 429: uint16(107), - 430: uint16(25), - 431: uint16(193), - 432: uint16(101), - 433: uint16(193), - 434: uint16(193), - 435: uint16(231), + 430: uint16(127), + 431: uint16(128), + 432: uint16(129), + 433: uint16(127), + 434: uint16(240), + 435: uint16(241), 436: uint16(114), - 437: uint16(25), + 437: uint16(254), 438: uint16(116), 439: uint16(117), 440: uint16(118), - 441: uint16(113), - 442: uint16(304), + 441: uint16(76), + 442: uint16(76), 443: uint16(121), - 444: uint16(193), - 445: uint16(204), - 446: uint16(59), - 447: uint16(119), - 448: uint16(120), - 449: uint16(121), - 450: uint16(122), - 451: uint16(123), - 452: uint16(124), - 453: uint16(125), - 454: uint16(216), - 455: uint16(217), - 456: uint16(193), - 457: uint16(216), - 458: uint16(217), - 459: uint16(131), + 444: uint16(138), + 445: uint16(139), + 446: uint16(263), + 447: uint16(253), + 448: uint16(264), + 449: uint16(255), + 450: uint16(205), + 451: uint16(275), + 452: uint16(87), + 453: uint16(19), + 454: uint16(89), + 455: uint16(89), + 456: uint16(194), + 457: uint16(92), + 458: uint16(92), + 459: uint16(199), 460: uint16(138), 461: uint16(139), - 462: uint16(230), + 462: uint16(268), 463: uint16(102), 464: uint16(103), 465: uint16(104), @@ -149722,37 +151038,37 @@ var _yy_lookahead = [2285]uint16{ 477: uint16(155), 478: uint16(156), 479: uint16(157), - 480: uint16(239), - 481: uint16(240), - 482: uint16(116), - 483: uint16(117), - 484: uint16(118), - 485: uint16(76), - 486: uint16(193), - 487: uint16(23), + 480: uint16(81), + 481: uint16(116), + 482: uint16(117), + 483: uint16(118), + 484: uint16(129), + 485: uint16(240), + 486: uint16(241), + 487: uint16(224), 488: uint16(19), - 489: uint16(25), - 490: uint16(22), - 491: uint16(253), + 489: uint16(226), + 490: uint16(314), + 491: uint16(315), 492: uint16(23), - 493: uint16(252), - 494: uint16(253), - 495: uint16(108), - 496: uint16(87), - 497: uint16(204), - 498: uint16(89), - 499: uint16(261), - 500: uint16(198), - 501: uint16(92), - 502: uint16(261), - 503: uint16(116), - 504: uint16(117), - 505: uint16(118), - 506: uint16(193), - 507: uint16(306), - 508: uint16(307), - 509: uint16(216), - 510: uint16(217), + 493: uint16(25), + 494: uint16(300), + 495: uint16(59), + 496: uint16(22), + 497: uint16(234), + 498: uint16(253), + 499: uint16(101), + 500: uint16(255), + 501: uint16(236), + 502: uint16(237), + 503: uint16(26), + 504: uint16(194), + 505: uint16(183), + 506: uint16(194), + 507: uint16(152), + 508: uint16(72), + 509: uint16(22), + 510: uint16(145), 511: uint16(150), 512: uint16(43), 513: uint16(44), @@ -149769,34 +151085,34 @@ var _yy_lookahead = [2285]uint16{ 524: uint16(55), 525: uint16(56), 526: uint16(57), - 527: uint16(59), - 528: uint16(193), - 529: uint16(216), - 530: uint16(217), + 527: uint16(217), + 528: uint16(218), + 529: uint16(217), + 530: uint16(218), 531: uint16(19), - 532: uint16(239), - 533: uint16(240), - 534: uint16(283), + 532: uint16(189), + 533: uint16(59), + 534: uint16(191), 535: uint16(23), - 536: uint16(106), - 537: uint16(107), - 538: uint16(108), - 539: uint16(109), - 540: uint16(110), - 541: uint16(111), - 542: uint16(112), - 543: uint16(113), - 544: uint16(73), - 545: uint16(252), - 546: uint16(253), - 547: uint16(142), - 548: uint16(308), - 549: uint16(309), - 550: uint16(138), - 551: uint16(139), - 552: uint16(81), - 553: uint16(313), - 554: uint16(145), + 536: uint16(59), + 537: uint16(138), + 538: uint16(139), + 539: uint16(196), + 540: uint16(135), + 541: uint16(198), + 542: uint16(232), + 543: uint16(283), + 544: uint16(232), + 545: uint16(140), + 546: uint16(59), + 547: uint16(287), + 548: uint16(205), + 549: uint16(275), + 550: uint16(116), + 551: uint16(205), + 552: uint16(116), + 553: uint16(117), + 554: uint16(118), 555: uint16(43), 556: uint16(44), 557: uint16(45), @@ -149812,7 +151128,7 @@ var _yy_lookahead = [2285]uint16{ 567: uint16(55), 568: uint16(56), 569: uint16(57), - 570: uint16(307), + 570: uint16(194), 571: uint16(102), 572: uint16(103), 573: uint16(104), @@ -149825,37 +151141,37 @@ var _yy_lookahead = [2285]uint16{ 580: uint16(111), 581: uint16(112), 582: uint16(113), - 583: uint16(281), - 584: uint16(116), - 585: uint16(117), - 586: uint16(118), - 587: uint16(285), - 588: uint16(23), - 589: uint16(193), - 590: uint16(25), - 591: uint16(119), - 592: uint16(59), - 593: uint16(193), - 594: uint16(122), - 595: uint16(123), - 596: uint16(124), - 597: uint16(59), - 598: uint16(127), - 599: uint16(203), + 583: uint16(240), + 584: uint16(241), + 585: uint16(194), + 586: uint16(240), + 587: uint16(241), + 588: uint16(314), + 589: uint16(315), + 590: uint16(116), + 591: uint16(117), + 592: uint16(118), + 593: uint16(116), + 594: uint16(117), + 595: uint16(118), + 596: uint16(253), + 597: uint16(194), + 598: uint16(255), + 599: uint16(253), 600: uint16(59), - 601: uint16(205), + 601: uint16(255), 602: uint16(19), - 603: uint16(268), - 604: uint16(132), - 605: uint16(25), + 603: uint16(116), + 604: uint16(117), + 605: uint16(118), 606: uint16(23), 607: uint16(22), - 608: uint16(193), - 609: uint16(138), - 610: uint16(139), - 611: uint16(249), - 612: uint16(204), - 613: uint16(251), + 608: uint16(217), + 609: uint16(218), + 610: uint16(142), + 611: uint16(268), + 612: uint16(205), + 613: uint16(275), 614: uint16(102), 615: uint16(103), 616: uint16(104), @@ -149884,29 +151200,29 @@ var _yy_lookahead = [2285]uint16{ 639: uint16(56), 640: uint16(57), 641: uint16(19), - 642: uint16(22), - 643: uint16(23), + 642: uint16(194), + 643: uint16(300), 644: uint16(59), 645: uint16(23), - 646: uint16(25), - 647: uint16(239), - 648: uint16(240), - 649: uint16(116), - 650: uint16(117), - 651: uint16(118), - 652: uint16(193), - 653: uint16(11), - 654: uint16(116), - 655: uint16(117), - 656: uint16(118), - 657: uint16(116), + 646: uint16(119), + 647: uint16(240), + 648: uint16(241), + 649: uint16(122), + 650: uint16(123), + 651: uint16(124), + 652: uint16(314), + 653: uint16(315), + 654: uint16(194), + 655: uint16(236), + 656: uint16(237), + 657: uint16(194), 658: uint16(117), - 659: uint16(118), - 660: uint16(252), - 661: uint16(269), - 662: uint16(22), - 663: uint16(193), - 664: uint16(15), + 659: uint16(132), + 660: uint16(253), + 661: uint16(81), + 662: uint16(255), + 663: uint16(205), + 664: uint16(59), 665: uint16(43), 666: uint16(44), 667: uint16(45), @@ -149922,11 +151238,11 @@ var _yy_lookahead = [2285]uint16{ 677: uint16(55), 678: uint16(56), 679: uint16(57), - 680: uint16(273), - 681: uint16(143), - 682: uint16(193), - 683: uint16(118), - 684: uint16(143), + 680: uint16(217), + 681: uint16(218), + 682: uint16(194), + 683: uint16(194), + 684: uint16(194), 685: uint16(102), 686: uint16(103), 687: uint16(104), @@ -149939,33 +151255,33 @@ var _yy_lookahead = [2285]uint16{ 694: uint16(111), 695: uint16(112), 696: uint16(113), - 697: uint16(76), - 698: uint16(118), - 699: uint16(59), - 700: uint16(241), + 697: uint16(294), + 698: uint16(240), + 699: uint16(241), + 700: uint16(120), 701: uint16(116), 702: uint16(117), 703: uint16(118), - 704: uint16(304), - 705: uint16(216), + 704: uint16(59), + 705: uint16(194), 706: uint16(217), - 707: uint16(292), - 708: uint16(143), - 709: uint16(60), - 710: uint16(89), - 711: uint16(241), + 707: uint16(218), + 708: uint16(211), + 709: uint16(212), + 710: uint16(213), + 711: uint16(253), 712: uint16(19), - 713: uint16(92), - 714: uint16(193), - 715: uint16(193), + 713: uint16(255), + 714: uint16(194), + 715: uint16(19), 716: uint16(23), - 717: uint16(22), - 718: uint16(311), - 719: uint16(312), - 720: uint16(231), - 721: uint16(101), - 722: uint16(22), - 723: uint16(143), + 717: uint16(254), + 718: uint16(138), + 719: uint16(139), + 720: uint16(24), + 721: uint16(232), + 722: uint16(117), + 723: uint16(194), 724: uint16(102), 725: uint16(103), 726: uint16(104), @@ -149994,29 +151310,29 @@ var _yy_lookahead = [2285]uint16{ 749: uint16(56), 750: uint16(57), 751: uint16(19), - 752: uint16(193), - 753: uint16(193), - 754: uint16(59), + 752: uint16(264), + 753: uint16(108), + 754: uint16(76), 755: uint16(23), - 756: uint16(116), - 757: uint16(117), - 758: uint16(118), - 759: uint16(59), - 760: uint16(201), - 761: uint16(21), - 762: uint16(241), - 763: uint16(304), - 764: uint16(193), - 765: uint16(206), - 766: uint16(127), - 767: uint16(128), - 768: uint16(129), - 769: uint16(193), - 770: uint16(128), - 771: uint16(129), - 772: uint16(235), - 773: uint16(236), - 774: uint16(304), + 756: uint16(127), + 757: uint16(128), + 758: uint16(129), + 759: uint16(311), + 760: uint16(312), + 761: uint16(116), + 762: uint16(117), + 763: uint16(118), + 764: uint16(316), + 765: uint16(87), + 766: uint16(306), + 767: uint16(89), + 768: uint16(308), + 769: uint16(194), + 770: uint16(92), + 771: uint16(22), + 772: uint16(59), + 773: uint16(194), + 774: uint16(22), 775: uint16(43), 776: uint16(44), 777: uint16(45), @@ -150032,11 +151348,11 @@ var _yy_lookahead = [2285]uint16{ 787: uint16(55), 788: uint16(56), 789: uint16(57), - 790: uint16(22), - 791: uint16(193), - 792: uint16(216), - 793: uint16(217), - 794: uint16(193), + 790: uint16(194), + 791: uint16(95), + 792: uint16(217), + 793: uint16(218), + 794: uint16(265), 795: uint16(102), 796: uint16(103), 797: uint16(104), @@ -150049,33 +151365,33 @@ var _yy_lookahead = [2285]uint16{ 804: uint16(111), 805: uint16(112), 806: uint16(113), - 807: uint16(231), - 808: uint16(193), - 809: uint16(193), - 810: uint16(193), - 811: uint16(116), - 812: uint16(117), - 813: uint16(118), - 814: uint16(216), - 815: uint16(217), - 816: uint16(116), - 817: uint16(117), - 818: uint16(118), - 819: uint16(226), - 820: uint16(80), - 821: uint16(193), + 807: uint16(232), + 808: uint16(59), + 809: uint16(113), + 810: uint16(25), + 811: uint16(59), + 812: uint16(194), + 813: uint16(217), + 814: uint16(218), + 815: uint16(119), + 816: uint16(120), + 817: uint16(121), + 818: uint16(122), + 819: uint16(123), + 820: uint16(124), + 821: uint16(125), 822: uint16(19), - 823: uint16(235), - 824: uint16(236), - 825: uint16(304), + 823: uint16(145), + 824: uint16(194), + 825: uint16(194), 826: uint16(23), - 827: uint16(211), - 828: uint16(212), - 829: uint16(231), - 830: uint16(204), - 831: uint16(216), - 832: uint16(217), - 833: uint16(205), + 827: uint16(131), + 828: uint16(232), + 829: uint16(116), + 830: uint16(117), + 831: uint16(118), + 832: uint16(35), + 833: uint16(194), 834: uint16(102), 835: uint16(103), 836: uint16(104), @@ -150104,29 +151420,29 @@ var _yy_lookahead = [2285]uint16{ 859: uint16(56), 860: uint16(57), 861: uint16(19), - 862: uint16(193), - 863: uint16(123), - 864: uint16(76), - 865: uint16(239), - 866: uint16(240), - 867: uint16(193), - 868: uint16(253), - 869: uint16(239), - 870: uint16(240), - 871: uint16(239), - 872: uint16(240), - 873: uint16(244), - 874: uint16(106), - 875: uint16(107), - 876: uint16(193), - 877: uint16(89), - 878: uint16(252), - 879: uint16(193), - 880: uint16(92), - 881: uint16(59), - 882: uint16(252), - 883: uint16(254), - 884: uint16(252), + 862: uint16(194), + 863: uint16(66), + 864: uint16(194), + 865: uint16(116), + 866: uint16(117), + 867: uint16(118), + 868: uint16(116), + 869: uint16(117), + 870: uint16(118), + 871: uint16(74), + 872: uint16(242), + 873: uint16(294), + 874: uint16(194), + 875: uint16(194), + 876: uint16(206), + 877: uint16(23), + 878: uint16(194), + 879: uint16(25), + 880: uint16(194), + 881: uint16(111), + 882: uint16(112), + 883: uint16(113), + 884: uint16(25), 885: uint16(43), 886: uint16(44), 887: uint16(45), @@ -150142,11 +151458,11 @@ var _yy_lookahead = [2285]uint16{ 897: uint16(55), 898: uint16(56), 899: uint16(57), - 900: uint16(284), - 901: uint16(161), - 902: uint16(216), + 900: uint16(24), + 901: uint16(194), + 902: uint16(194), 903: uint16(217), - 904: uint16(193), + 904: uint16(218), 905: uint16(102), 906: uint16(103), 907: uint16(104), @@ -150159,33 +151475,33 @@ var _yy_lookahead = [2285]uint16{ 914: uint16(111), 915: uint16(112), 916: uint16(113), - 917: uint16(231), - 918: uint16(193), - 919: uint16(244), - 920: uint16(187), - 921: uint16(188), - 922: uint16(189), - 923: uint16(190), - 924: uint16(7), - 925: uint16(8), - 926: uint16(9), - 927: uint16(309), - 928: uint16(195), - 929: uint16(254), - 930: uint16(197), - 931: uint16(313), + 917: uint16(241), + 918: uint16(232), + 919: uint16(194), + 920: uint16(212), + 921: uint16(213), + 922: uint16(242), + 923: uint16(242), + 924: uint16(217), + 925: uint16(218), + 926: uint16(242), + 927: uint16(130), + 928: uint16(11), + 929: uint16(253), + 930: uint16(194), + 931: uint16(255), 932: uint16(19), - 933: uint16(127), - 934: uint16(128), - 935: uint16(129), - 936: uint16(262), - 937: uint16(204), - 938: uint16(22), - 939: uint16(117), - 940: uint16(24), - 941: uint16(216), + 933: uint16(265), + 934: uint16(149), + 935: uint16(59), + 936: uint16(306), + 937: uint16(194), + 938: uint16(308), + 939: uint16(232), + 940: uint16(309), + 941: uint16(310), 942: uint16(217), - 943: uint16(273), + 943: uint16(218), 944: uint16(102), 945: uint16(103), 946: uint16(104), @@ -150213,36 +151529,36 @@ var _yy_lookahead = [2285]uint16{ 968: uint16(55), 969: uint16(56), 970: uint16(57), - 971: uint16(193), - 972: uint16(239), - 973: uint16(240), - 974: uint16(193), - 975: uint16(59), + 971: uint16(194), + 972: uint16(194), + 973: uint16(59), + 974: uint16(194), + 975: uint16(239), 976: uint16(19), - 977: uint16(188), - 978: uint16(253), - 979: uint16(190), - 980: uint16(193), - 981: uint16(311), - 982: uint16(312), - 983: uint16(16), - 984: uint16(195), - 985: uint16(252), - 986: uint16(197), - 987: uint16(193), - 988: uint16(19), - 989: uint16(301), - 990: uint16(302), - 991: uint16(135), - 992: uint16(193), - 993: uint16(204), - 994: uint16(216), + 977: uint16(194), + 978: uint16(25), + 979: uint16(254), + 980: uint16(303), + 981: uint16(304), + 982: uint16(23), + 983: uint16(194), + 984: uint16(25), + 985: uint16(126), + 986: uint16(306), + 987: uint16(306), + 988: uint16(308), + 989: uint16(308), + 990: uint16(306), + 991: uint16(271), + 992: uint16(308), + 993: uint16(117), + 994: uint16(286), 995: uint16(217), - 996: uint16(140), - 997: uint16(216), - 998: uint16(217), - 999: uint16(266), - 1000: uint16(204), + 996: uint16(218), + 997: uint16(217), + 998: uint16(218), + 999: uint16(194), + 1000: uint16(194), 1001: uint16(159), 1002: uint16(45), 1003: uint16(46), @@ -150269,38 +151585,38 @@ var _yy_lookahead = [2285]uint16{ 1024: uint16(111), 1025: uint16(112), 1026: uint16(113), - 1027: uint16(12), + 1027: uint16(59), 1028: uint16(239), - 1029: uint16(240), - 1030: uint16(193), - 1031: uint16(298), - 1032: uint16(238), - 1033: uint16(117), - 1034: uint16(253), - 1035: uint16(239), + 1029: uint16(194), + 1030: uint16(116), + 1031: uint16(117), + 1032: uint16(118), + 1033: uint16(260), + 1034: uint16(254), + 1035: uint16(194), 1036: uint16(240), - 1037: uint16(238), - 1038: uint16(259), - 1039: uint16(260), - 1040: uint16(193), - 1041: uint16(252), - 1042: uint16(27), - 1043: uint16(193), - 1044: uint16(77), - 1045: uint16(193), - 1046: uint16(79), - 1047: uint16(204), - 1048: uint16(252), - 1049: uint16(262), - 1050: uint16(193), - 1051: uint16(299), - 1052: uint16(300), - 1053: uint16(193), - 1054: uint16(100), - 1055: uint16(266), - 1056: uint16(278), - 1057: uint16(42), - 1058: uint16(204), + 1037: uint16(241), + 1038: uint16(194), + 1039: uint16(233), + 1040: uint16(205), + 1041: uint16(240), + 1042: uint16(241), + 1043: uint16(205), + 1044: uint16(239), + 1045: uint16(128), + 1046: uint16(129), + 1047: uint16(270), + 1048: uint16(265), + 1049: uint16(253), + 1050: uint16(194), + 1051: uint16(255), + 1052: uint16(217), + 1053: uint16(218), + 1054: uint16(253), + 1055: uint16(194), + 1056: uint16(255), + 1057: uint16(143), + 1058: uint16(280), 1059: uint16(102), 1060: uint16(103), 1061: uint16(104), @@ -150313,51 +151629,51 @@ var _yy_lookahead = [2285]uint16{ 1068: uint16(111), 1069: uint16(112), 1070: uint16(113), - 1071: uint16(117), + 1071: uint16(118), 1072: uint16(159), - 1073: uint16(216), - 1074: uint16(217), - 1075: uint16(121), - 1076: uint16(216), - 1077: uint16(217), - 1078: uint16(63), - 1079: uint16(193), - 1080: uint16(193), - 1081: uint16(193), - 1082: uint16(239), - 1083: uint16(240), - 1084: uint16(115), - 1085: uint16(116), - 1086: uint16(193), - 1087: uint16(298), - 1088: uint16(73), - 1089: uint16(240), - 1090: uint16(238), - 1091: uint16(231), + 1073: uint16(217), + 1074: uint16(218), + 1075: uint16(240), + 1076: uint16(241), + 1077: uint16(118), + 1078: uint16(240), + 1079: uint16(241), + 1080: uint16(194), + 1081: uint16(194), + 1082: uint16(194), + 1083: uint16(239), + 1084: uint16(116), + 1085: uint16(117), + 1086: uint16(118), + 1087: uint16(22), + 1088: uint16(253), + 1089: uint16(254), + 1090: uint16(255), + 1091: uint16(253), 1092: uint16(19), - 1093: uint16(239), - 1094: uint16(240), - 1095: uint16(252), - 1096: uint16(22), + 1093: uint16(255), + 1094: uint16(233), + 1095: uint16(194), + 1096: uint16(143), 1097: uint16(24), - 1098: uint16(211), + 1098: uint16(263), 1099: uint16(212), - 1100: uint16(263), - 1101: uint16(252), - 1102: uint16(216), + 1100: uint16(213), + 1101: uint16(194), + 1102: uint16(143), 1103: uint16(217), - 1104: uint16(216), + 1104: uint16(218), 1105: uint16(217), - 1106: uint16(252), - 1107: uint16(153), - 1108: uint16(154), - 1109: uint16(155), - 1110: uint16(253), - 1111: uint16(193), + 1106: uint16(218), + 1107: uint16(261), + 1108: uint16(262), + 1109: uint16(271), + 1110: uint16(254), + 1111: uint16(143), 1112: uint16(19), - 1113: uint16(144), - 1114: uint16(213), - 1115: uint16(268), + 1113: uint16(7), + 1114: uint16(8), + 1115: uint16(9), 1116: uint16(43), 1117: uint16(44), 1118: uint16(45), @@ -150373,11 +151689,11 @@ var _yy_lookahead = [2285]uint16{ 1128: uint16(55), 1129: uint16(56), 1130: uint16(57), - 1131: uint16(193), + 1131: uint16(16), 1132: uint16(19), - 1133: uint16(59), - 1134: uint16(216), - 1135: uint16(217), + 1133: uint16(22), + 1134: uint16(23), + 1135: uint16(294), 1136: uint16(43), 1137: uint16(44), 1138: uint16(45), @@ -150393,11 +151709,11 @@ var _yy_lookahead = [2285]uint16{ 1148: uint16(55), 1149: uint16(56), 1150: uint16(57), - 1151: uint16(193), - 1152: uint16(19), - 1153: uint16(24), - 1154: uint16(216), - 1155: uint16(217), + 1151: uint16(312), + 1152: uint16(194), + 1153: uint16(214), + 1154: uint16(21), + 1155: uint16(316), 1156: uint16(43), 1157: uint16(44), 1158: uint16(45), @@ -150413,10 +151729,10 @@ var _yy_lookahead = [2285]uint16{ 1168: uint16(55), 1169: uint16(56), 1170: uint16(57), - 1171: uint16(284), - 1172: uint16(193), - 1173: uint16(208), - 1174: uint16(209), + 1171: uint16(106), + 1172: uint16(107), + 1173: uint16(286), + 1174: uint16(194), 1175: uint16(102), 1176: uint16(103), 1177: uint16(104), @@ -150429,14 +151745,14 @@ var _yy_lookahead = [2285]uint16{ 1184: uint16(111), 1185: uint16(112), 1186: uint16(113), - 1187: uint16(286), - 1188: uint16(59), - 1189: uint16(193), - 1190: uint16(232), - 1191: uint16(117), - 1192: uint16(291), - 1193: uint16(193), - 1194: uint16(193), + 1187: uint16(207), + 1188: uint16(158), + 1189: uint16(59), + 1190: uint16(160), + 1191: uint16(22), + 1192: uint16(77), + 1193: uint16(24), + 1194: uint16(79), 1195: uint16(102), 1196: uint16(103), 1197: uint16(104), @@ -150449,14 +151765,14 @@ var _yy_lookahead = [2285]uint16{ 1204: uint16(111), 1205: uint16(112), 1206: uint16(113), - 1207: uint16(193), - 1208: uint16(204), - 1209: uint16(22), - 1210: uint16(23), - 1211: uint16(193), - 1212: uint16(25), - 1213: uint16(66), - 1214: uint16(193), + 1207: uint16(194), + 1208: uint16(194), + 1209: uint16(229), + 1210: uint16(194), + 1211: uint16(231), + 1212: uint16(101), + 1213: uint16(80), + 1214: uint16(22), 1215: uint16(102), 1216: uint16(103), 1217: uint16(104), @@ -150469,39 +151785,39 @@ var _yy_lookahead = [2285]uint16{ 1224: uint16(111), 1225: uint16(112), 1226: uint16(113), - 1227: uint16(193), - 1228: uint16(193), - 1229: uint16(193), - 1230: uint16(216), - 1231: uint16(217), - 1232: uint16(85), - 1233: uint16(193), - 1234: uint16(238), + 1227: uint16(288), + 1228: uint16(59), + 1229: uint16(12), + 1230: uint16(217), + 1231: uint16(218), + 1232: uint16(293), + 1233: uint16(217), + 1234: uint16(218), 1235: uint16(19), - 1236: uint16(16), - 1237: uint16(216), - 1238: uint16(217), - 1239: uint16(238), - 1240: uint16(193), - 1241: uint16(94), - 1242: uint16(193), - 1243: uint16(239), - 1244: uint16(240), - 1245: uint16(231), - 1246: uint16(117), - 1247: uint16(268), - 1248: uint16(35), - 1249: uint16(116), - 1250: uint16(216), - 1251: uint16(217), - 1252: uint16(216), - 1253: uint16(217), - 1254: uint16(22), - 1255: uint16(23), - 1256: uint16(252), - 1257: uint16(25), - 1258: uint16(208), - 1259: uint16(209), + 1236: uint16(106), + 1237: uint16(107), + 1238: uint16(59), + 1239: uint16(19), + 1240: uint16(16), + 1241: uint16(127), + 1242: uint16(128), + 1243: uint16(129), + 1244: uint16(27), + 1245: uint16(115), + 1246: uint16(116), + 1247: uint16(117), + 1248: uint16(118), + 1249: uint16(194), + 1250: uint16(120), + 1251: uint16(59), + 1252: uint16(22), + 1253: uint16(194), + 1254: uint16(24), + 1255: uint16(194), + 1256: uint16(123), + 1257: uint16(100), + 1258: uint16(128), + 1259: uint16(42), 1260: uint16(44), 1261: uint16(45), 1262: uint16(46), @@ -150516,50 +151832,50 @@ var _yy_lookahead = [2285]uint16{ 1271: uint16(55), 1272: uint16(56), 1273: uint16(57), - 1274: uint16(193), - 1275: uint16(193), - 1276: uint16(19), - 1277: uint16(5), - 1278: uint16(59), - 1279: uint16(66), - 1280: uint16(193), - 1281: uint16(263), - 1282: uint16(10), - 1283: uint16(11), - 1284: uint16(12), - 1285: uint16(13), - 1286: uint16(14), - 1287: uint16(74), - 1288: uint16(101), - 1289: uint16(17), - 1290: uint16(193), - 1291: uint16(46), - 1292: uint16(193), - 1293: uint16(146), - 1294: uint16(193), - 1295: uint16(76), - 1296: uint16(213), - 1297: uint16(77), - 1298: uint16(263), - 1299: uint16(79), - 1300: uint16(12), - 1301: uint16(260), - 1302: uint16(30), - 1303: uint16(46), - 1304: uint16(32), - 1305: uint16(264), - 1306: uint16(87), - 1307: uint16(193), - 1308: uint16(89), - 1309: uint16(29), - 1310: uint16(263), - 1311: uint16(92), - 1312: uint16(40), - 1313: uint16(33), - 1314: uint16(232), - 1315: uint16(27), - 1316: uint16(193), - 1317: uint16(108), + 1274: uint16(117), + 1275: uint16(194), + 1276: uint16(217), + 1277: uint16(218), + 1278: uint16(121), + 1279: uint16(100), + 1280: uint16(63), + 1281: uint16(194), + 1282: uint16(245), + 1283: uint16(153), + 1284: uint16(194), + 1285: uint16(155), + 1286: uint16(117), + 1287: uint16(19), + 1288: uint16(115), + 1289: uint16(194), + 1290: uint16(73), + 1291: uint16(214), + 1292: uint16(194), + 1293: uint16(256), + 1294: uint16(161), + 1295: uint16(116), + 1296: uint16(117), + 1297: uint16(194), + 1298: uint16(217), + 1299: uint16(218), + 1300: uint16(121), + 1301: uint16(77), + 1302: uint16(194), + 1303: uint16(79), + 1304: uint16(217), + 1305: uint16(218), + 1306: uint16(194), + 1307: uint16(217), + 1308: uint16(218), + 1309: uint16(117), + 1310: uint16(153), + 1311: uint16(154), + 1312: uint16(155), + 1313: uint16(254), + 1314: uint16(46), + 1315: uint16(217), + 1316: uint16(218), + 1317: uint16(144), 1318: uint16(102), 1319: uint16(103), 1320: uint16(104), @@ -150572,1025 +151888,1068 @@ var _yy_lookahead = [2285]uint16{ 1327: uint16(111), 1328: uint16(112), 1329: uint16(113), - 1330: uint16(42), - 1331: uint16(138), - 1332: uint16(139), - 1333: uint16(101), - 1334: uint16(193), - 1335: uint16(116), - 1336: uint16(117), - 1337: uint16(118), + 1330: uint16(232), + 1331: uint16(270), + 1332: uint16(153), + 1333: uint16(154), + 1334: uint16(155), + 1335: uint16(115), + 1336: uint16(116), + 1337: uint16(66), 1338: uint16(19), 1339: uint16(20), - 1340: uint16(255), + 1340: uint16(183), 1341: uint16(22), - 1342: uint16(70), - 1343: uint16(130), - 1344: uint16(135), - 1345: uint16(65), - 1346: uint16(256), - 1347: uint16(257), - 1348: uint16(193), - 1349: uint16(140), - 1350: uint16(78), - 1351: uint16(63), - 1352: uint16(193), - 1353: uint16(81), - 1354: uint16(193), + 1342: uint16(12), + 1343: uint16(312), + 1344: uint16(254), + 1345: uint16(194), + 1346: uint16(262), + 1347: uint16(316), + 1348: uint16(209), + 1349: uint16(210), + 1350: uint16(266), + 1351: uint16(239), + 1352: uint16(194), + 1353: uint16(194), + 1354: uint16(108), 1355: uint16(36), - 1356: uint16(193), - 1357: uint16(216), - 1358: uint16(217), - 1359: uint16(193), - 1360: uint16(115), - 1361: uint16(193), - 1362: uint16(263), - 1363: uint16(193), - 1364: uint16(145), - 1365: uint16(268), - 1366: uint16(59), + 1356: uint16(85), + 1357: uint16(27), + 1358: uint16(19), + 1359: uint16(20), + 1360: uint16(265), + 1361: uint16(22), + 1362: uint16(183), + 1363: uint16(245), + 1364: uint16(144), + 1365: uint16(94), + 1366: uint16(25), 1367: uint16(48), - 1368: uint16(193), - 1369: uint16(193), - 1370: uint16(98), - 1371: uint16(193), - 1372: uint16(115), - 1373: uint16(193), - 1374: uint16(291), - 1375: uint16(216), + 1368: uint16(217), + 1369: uint16(218), + 1370: uint16(293), + 1371: uint16(194), + 1372: uint16(42), + 1373: uint16(270), + 1374: uint16(256), + 1375: uint16(36), 1376: uint16(217), - 1377: uint16(193), + 1377: uint16(218), 1378: uint16(59), - 1379: uint16(216), - 1380: uint16(217), - 1381: uint16(161), - 1382: uint16(216), - 1383: uint16(217), - 1384: uint16(216), - 1385: uint16(217), - 1386: uint16(216), - 1387: uint16(217), - 1388: uint16(131), - 1389: uint16(193), + 1379: uint16(194), + 1380: uint16(25), + 1381: uint16(135), + 1382: uint16(194), + 1383: uint16(115), + 1384: uint16(194), + 1385: uint16(161), + 1386: uint16(140), + 1387: uint16(194), + 1388: uint16(194), + 1389: uint16(15), 1390: uint16(71), - 1391: uint16(193), - 1392: uint16(216), - 1393: uint16(217), - 1394: uint16(216), - 1395: uint16(217), - 1396: uint16(216), - 1397: uint16(217), - 1398: uint16(193), - 1399: uint16(260), - 1400: uint16(216), - 1401: uint16(217), - 1402: uint16(19), - 1403: uint16(264), + 1391: uint16(194), + 1392: uint16(312), + 1393: uint16(63), + 1394: uint16(217), + 1395: uint16(218), + 1396: uint16(316), + 1397: uint16(194), + 1398: uint16(59), + 1399: uint16(131), + 1400: uint16(301), + 1401: uint16(302), + 1402: uint16(217), + 1403: uint16(218), 1404: uint16(85), - 1405: uint16(133), - 1406: uint16(244), - 1407: uint16(100), - 1408: uint16(193), + 1405: uint16(217), + 1406: uint16(218), + 1407: uint16(217), + 1408: uint16(218), 1409: uint16(90), - 1410: uint16(138), - 1411: uint16(139), - 1412: uint16(216), - 1413: uint16(217), - 1414: uint16(216), - 1415: uint16(217), - 1416: uint16(254), - 1417: uint16(244), - 1418: uint16(193), + 1410: uint16(71), + 1411: uint16(217), + 1412: uint16(218), + 1413: uint16(19), + 1414: uint16(217), + 1415: uint16(218), + 1416: uint16(245), + 1417: uint16(146), + 1418: uint16(262), 1419: uint16(100), - 1420: uint16(193), - 1421: uint16(216), - 1422: uint16(217), - 1423: uint16(116), - 1424: uint16(117), + 1420: uint16(217), + 1421: uint16(218), + 1422: uint16(266), + 1423: uint16(265), + 1424: uint16(85), 1425: uint16(106), 1426: uint16(107), - 1427: uint16(254), - 1428: uint16(121), - 1429: uint16(193), - 1430: uint16(115), - 1431: uint16(216), - 1432: uint16(217), + 1427: uint16(256), + 1428: uint16(312), + 1429: uint16(90), + 1430: uint16(209), + 1431: uint16(210), + 1432: uint16(316), 1433: uint16(114), - 1434: uint16(162), + 1434: uint16(60), 1435: uint16(116), 1436: uint16(117), 1437: uint16(118), - 1438: uint16(115), - 1439: uint16(244), + 1438: uint16(194), + 1439: uint16(100), 1440: uint16(121), - 1441: uint16(216), - 1442: uint16(217), - 1443: uint16(216), - 1444: uint16(217), - 1445: uint16(193), - 1446: uint16(309), - 1447: uint16(193), - 1448: uint16(31), - 1449: uint16(254), - 1450: uint16(313), - 1451: uint16(309), - 1452: uint16(216), - 1453: uint16(217), - 1454: uint16(309), - 1455: uint16(313), - 1456: uint16(39), - 1457: uint16(193), - 1458: uint16(313), - 1459: uint16(309), - 1460: uint16(153), - 1461: uint16(154), - 1462: uint16(155), - 1463: uint16(313), - 1464: uint16(193), - 1465: uint16(150), - 1466: uint16(25), - 1467: uint16(144), - 1468: uint16(216), - 1469: uint16(217), - 1470: uint16(216), - 1471: uint16(217), + 1441: uint16(194), + 1442: uint16(194), + 1443: uint16(145), + 1444: uint16(115), + 1445: uint16(106), + 1446: uint16(107), + 1447: uint16(19), + 1448: uint16(46), + 1449: uint16(19), + 1450: uint16(20), + 1451: uint16(24), + 1452: uint16(22), + 1453: uint16(114), + 1454: uint16(194), + 1455: uint16(116), + 1456: uint16(117), + 1457: uint16(118), + 1458: uint16(194), + 1459: uint16(245), + 1460: uint16(121), + 1461: uint16(194), + 1462: uint16(164), + 1463: uint16(194), + 1464: uint16(217), + 1465: uint16(218), + 1466: uint16(36), + 1467: uint16(194), + 1468: uint16(258), + 1469: uint16(259), + 1470: uint16(256), + 1471: uint16(194), 1472: uint16(153), 1473: uint16(154), 1474: uint16(155), 1475: uint16(156), 1476: uint16(157), - 1478: uint16(1), - 1479: uint16(2), - 1480: uint16(216), + 1477: uint16(217), + 1478: uint16(218), + 1479: uint16(150), + 1480: uint16(31), 1481: uint16(217), - 1482: uint16(5), - 1483: uint16(149), - 1484: uint16(150), - 1485: uint16(22), - 1486: uint16(193), - 1487: uint16(10), - 1488: uint16(11), - 1489: uint16(12), - 1490: uint16(13), - 1491: uint16(14), - 1492: uint16(193), - 1493: uint16(158), - 1494: uint16(17), - 1495: uint16(160), - 1496: uint16(193), - 1497: uint16(19), - 1498: uint16(20), - 1499: uint16(116), - 1500: uint16(22), - 1501: uint16(25), - 1502: uint16(193), - 1503: uint16(24), - 1504: uint16(22), - 1505: uint16(193), - 1506: uint16(24), - 1507: uint16(30), - 1508: uint16(226), - 1509: uint16(32), - 1510: uint16(19), - 1511: uint16(20), - 1512: uint16(226), - 1513: uint16(22), - 1514: uint16(36), - 1515: uint16(193), - 1516: uint16(53), - 1517: uint16(40), - 1518: uint16(193), - 1519: uint16(216), - 1520: uint16(217), - 1521: uint16(193), - 1522: uint16(23), - 1523: uint16(193), - 1524: uint16(25), - 1525: uint16(216), - 1526: uint16(217), - 1527: uint16(36), - 1528: uint16(216), - 1529: uint16(217), - 1530: uint16(193), - 1531: uint16(99), - 1532: uint16(193), - 1533: uint16(193), - 1534: uint16(22), - 1535: uint16(193), - 1536: uint16(193), - 1537: uint16(59), - 1538: uint16(216), + 1482: uint16(218), + 1483: uint16(142), + 1484: uint16(217), + 1485: uint16(218), + 1486: uint16(217), + 1487: uint16(218), + 1488: uint16(39), + 1489: uint16(59), + 1490: uint16(217), + 1491: uint16(218), + 1492: uint16(153), + 1493: uint16(154), + 1494: uint16(155), + 1495: uint16(156), + 1496: uint16(157), + 1497: uint16(149), + 1498: uint16(150), + 1499: uint16(5), + 1500: uint16(145), + 1501: uint16(71), + 1502: uint16(183), + 1503: uint16(245), + 1504: uint16(10), + 1505: uint16(11), + 1506: uint16(12), + 1507: uint16(13), + 1508: uint16(14), + 1509: uint16(194), + 1510: uint16(116), + 1511: uint16(17), + 1512: uint16(129), + 1513: uint16(227), + 1514: uint16(256), + 1515: uint16(85), + 1516: uint16(194), + 1517: uint16(115), + 1518: uint16(194), + 1519: uint16(23), + 1520: uint16(90), + 1521: uint16(25), + 1522: uint16(183), + 1523: uint16(99), + 1524: uint16(30), + 1525: uint16(97), + 1526: uint16(32), + 1527: uint16(22), + 1528: uint16(22), + 1529: uint16(194), + 1530: uint16(100), + 1531: uint16(194), + 1532: uint16(217), + 1533: uint16(218), + 1534: uint16(40), + 1535: uint16(152), + 1536: uint16(106), + 1537: uint16(107), + 1538: uint16(23), 1539: uint16(217), - 1540: uint16(193), - 1541: uint16(216), - 1542: uint16(217), - 1543: uint16(193), - 1544: uint16(216), - 1545: uint16(217), - 1546: uint16(193), - 1547: uint16(70), - 1548: uint16(129), - 1549: uint16(71), - 1550: uint16(59), - 1551: uint16(129), - 1552: uint16(193), - 1553: uint16(216), + 1540: uint16(218), + 1541: uint16(194), + 1542: uint16(19), + 1543: uint16(20), + 1544: uint16(114), + 1545: uint16(22), + 1546: uint16(116), + 1547: uint16(117), + 1548: uint16(118), + 1549: uint16(257), + 1550: uint16(194), + 1551: uint16(121), + 1552: uint16(217), + 1553: uint16(218), 1554: uint16(217), - 1555: uint16(78), - 1556: uint16(216), - 1557: uint16(217), - 1558: uint16(81), - 1559: uint16(216), - 1560: uint16(217), - 1561: uint16(193), - 1562: uint16(71), - 1563: uint16(85), - 1564: uint16(193), - 1565: uint16(133), - 1566: uint16(193), - 1567: uint16(126), - 1568: uint16(90), - 1569: uint16(216), - 1570: uint16(217), - 1571: uint16(152), - 1572: uint16(258), - 1573: uint16(61), - 1574: uint16(152), - 1575: uint16(98), - 1576: uint16(85), - 1577: uint16(193), - 1578: uint16(100), - 1579: uint16(193), - 1580: uint16(23), - 1581: uint16(90), - 1582: uint16(25), - 1583: uint16(121), - 1584: uint16(106), - 1585: uint16(107), - 1586: uint16(23), - 1587: uint16(216), - 1588: uint16(217), - 1589: uint16(216), - 1590: uint16(217), - 1591: uint16(100), - 1592: uint16(114), - 1593: uint16(131), - 1594: uint16(116), - 1595: uint16(117), - 1596: uint16(118), - 1597: uint16(106), - 1598: uint16(107), - 1599: uint16(121), - 1600: uint16(216), - 1601: uint16(217), - 1602: uint16(216), - 1603: uint16(217), - 1604: uint16(193), - 1605: uint16(114), - 1606: uint16(193), - 1607: uint16(116), - 1608: uint16(117), - 1609: uint16(118), - 1610: uint16(133), - 1611: uint16(22), - 1612: uint16(121), - 1613: uint16(193), - 1614: uint16(59), - 1615: uint16(138), - 1616: uint16(139), - 1617: uint16(193), - 1618: uint16(142), - 1619: uint16(193), - 1620: uint16(141), - 1621: uint16(23), - 1622: uint16(23), - 1623: uint16(25), - 1624: uint16(25), - 1625: uint16(120), - 1626: uint16(121), - 1627: uint16(216), - 1628: uint16(217), - 1629: uint16(216), - 1630: uint16(217), - 1631: uint16(153), - 1632: uint16(154), - 1633: uint16(155), - 1634: uint16(156), - 1635: uint16(157), - 1636: uint16(216), - 1637: uint16(217), - 1638: uint16(19), - 1639: uint16(162), - 1640: uint16(216), - 1641: uint16(217), - 1642: uint16(216), - 1643: uint16(217), - 1644: uint16(153), - 1645: uint16(154), - 1646: uint16(155), - 1647: uint16(156), - 1648: uint16(157), - 1649: uint16(1), - 1650: uint16(2), - 1651: uint16(193), - 1652: uint16(59), - 1653: uint16(5), - 1654: uint16(19), - 1655: uint16(20), - 1656: uint16(318), - 1657: uint16(22), - 1658: uint16(10), - 1659: uint16(11), - 1660: uint16(12), - 1661: uint16(13), - 1662: uint16(14), - 1663: uint16(193), - 1664: uint16(59), - 1665: uint16(17), - 1666: uint16(193), - 1667: uint16(23), - 1668: uint16(23), - 1669: uint16(25), - 1670: uint16(25), - 1671: uint16(36), - 1672: uint16(117), - 1673: uint16(193), - 1674: uint16(216), - 1675: uint16(217), - 1676: uint16(193), - 1677: uint16(23), - 1678: uint16(30), - 1679: uint16(25), - 1680: uint16(32), - 1681: uint16(19), - 1682: uint16(20), - 1683: uint16(23), - 1684: uint16(22), - 1685: uint16(25), - 1686: uint16(216), - 1687: uint16(217), - 1688: uint16(40), - 1689: uint16(216), + 1555: uint16(218), + 1556: uint16(194), + 1557: uint16(133), + 1558: uint16(53), + 1559: uint16(36), + 1560: uint16(23), + 1561: uint16(23), + 1562: uint16(25), + 1563: uint16(25), + 1564: uint16(70), + 1565: uint16(120), + 1566: uint16(121), + 1567: uint16(61), + 1568: uint16(141), + 1569: uint16(7), + 1570: uint16(8), + 1571: uint16(121), + 1572: uint16(78), + 1573: uint16(217), + 1574: uint16(218), + 1575: uint16(81), + 1576: uint16(23), + 1577: uint16(227), + 1578: uint16(25), + 1579: uint16(217), + 1580: uint16(218), + 1581: uint16(131), + 1582: uint16(59), + 1583: uint16(153), + 1584: uint16(154), + 1585: uint16(155), + 1586: uint16(156), + 1587: uint16(157), + 1589: uint16(1), + 1590: uint16(2), + 1591: uint16(59), + 1592: uint16(98), + 1593: uint16(5), + 1594: uint16(71), + 1595: uint16(23), + 1596: uint16(227), + 1597: uint16(25), + 1598: uint16(10), + 1599: uint16(11), + 1600: uint16(12), + 1601: uint16(13), + 1602: uint16(14), + 1603: uint16(83), + 1604: uint16(84), + 1605: uint16(17), + 1606: uint16(23), + 1607: uint16(23), + 1608: uint16(25), + 1609: uint16(25), + 1610: uint16(59), + 1611: uint16(194), + 1612: uint16(194), + 1613: uint16(183), + 1614: uint16(23), + 1615: uint16(23), + 1616: uint16(25), + 1617: uint16(25), + 1618: uint16(30), + 1619: uint16(194), + 1620: uint16(32), + 1621: uint16(19), + 1622: uint16(20), + 1623: uint16(100), + 1624: uint16(22), + 1625: uint16(194), + 1626: uint16(194), + 1627: uint16(133), + 1628: uint16(40), + 1629: uint16(106), + 1630: uint16(107), + 1631: uint16(108), + 1632: uint16(138), + 1633: uint16(139), + 1634: uint16(194), + 1635: uint16(217), + 1636: uint16(218), + 1637: uint16(114), + 1638: uint16(36), + 1639: uint16(116), + 1640: uint16(117), + 1641: uint16(118), + 1642: uint16(217), + 1643: uint16(218), + 1644: uint16(121), + 1645: uint16(194), + 1646: uint16(194), + 1647: uint16(194), + 1648: uint16(23), + 1649: uint16(117), + 1650: uint16(25), + 1651: uint16(194), + 1652: uint16(23), + 1653: uint16(23), + 1654: uint16(25), + 1655: uint16(25), + 1656: uint16(162), + 1657: uint16(194), + 1658: uint16(70), + 1659: uint16(194), + 1660: uint16(145), + 1661: uint16(59), + 1662: uint16(23), + 1663: uint16(153), + 1664: uint16(25), + 1665: uint16(155), + 1666: uint16(78), + 1667: uint16(194), + 1668: uint16(117), + 1669: uint16(81), + 1670: uint16(217), + 1671: uint16(218), + 1672: uint16(194), + 1673: uint16(71), + 1674: uint16(217), + 1675: uint16(218), + 1676: uint16(153), + 1677: uint16(154), + 1678: uint16(155), + 1679: uint16(156), + 1680: uint16(157), + 1681: uint16(194), + 1682: uint16(217), + 1683: uint16(218), + 1684: uint16(194), + 1685: uint16(23), + 1686: uint16(98), + 1687: uint16(25), + 1688: uint16(321), + 1689: uint16(194), 1690: uint16(217), - 1691: uint16(7), - 1692: uint16(8), - 1693: uint16(23), - 1694: uint16(59), - 1695: uint16(25), - 1696: uint16(83), - 1697: uint16(84), - 1698: uint16(36), - 1699: uint16(23), - 1700: uint16(193), - 1701: uint16(25), - 1702: uint16(23), - 1703: uint16(23), - 1704: uint16(25), - 1705: uint16(25), - 1706: uint16(71), - 1707: uint16(153), - 1708: uint16(145), - 1709: uint16(155), - 1710: uint16(117), - 1711: uint16(153), - 1712: uint16(23), - 1713: uint16(155), - 1714: uint16(25), - 1715: uint16(23), - 1716: uint16(97), - 1717: uint16(25), - 1718: uint16(70), - 1719: uint16(193), - 1720: uint16(193), - 1721: uint16(59), - 1722: uint16(117), - 1723: uint16(236), - 1724: uint16(193), - 1725: uint16(193), - 1726: uint16(78), - 1727: uint16(193), - 1728: uint16(193), - 1729: uint16(81), - 1730: uint16(141), - 1731: uint16(193), - 1732: uint16(193), - 1733: uint16(71), - 1734: uint16(193), - 1735: uint16(100), - 1736: uint16(288), - 1737: uint16(287), - 1738: uint16(242), - 1739: uint16(255), - 1740: uint16(255), - 1741: uint16(106), - 1742: uint16(107), - 1743: uint16(108), - 1744: uint16(255), - 1745: uint16(255), - 1746: uint16(98), - 1747: uint16(243), - 1748: uint16(297), - 1749: uint16(114), - 1750: uint16(214), - 1751: uint16(116), - 1752: uint16(117), - 1753: uint16(118), - 1754: uint16(245), - 1755: uint16(191), - 1756: uint16(121), - 1757: uint16(271), - 1758: uint16(293), - 1759: uint16(267), - 1760: uint16(267), - 1761: uint16(246), - 1762: uint16(100), - 1763: uint16(246), - 1764: uint16(245), - 1765: uint16(271), - 1766: uint16(271), - 1767: uint16(293), - 1768: uint16(106), - 1769: uint16(107), - 1770: uint16(220), - 1771: uint16(271), - 1772: uint16(229), - 1773: uint16(225), - 1774: uint16(249), - 1775: uint16(219), - 1776: uint16(114), - 1777: uint16(259), - 1778: uint16(116), - 1779: uint16(117), - 1780: uint16(118), - 1781: uint16(133), - 1782: uint16(259), - 1783: uint16(121), - 1784: uint16(219), - 1785: uint16(219), - 1786: uint16(138), - 1787: uint16(139), - 1788: uint16(153), - 1789: uint16(154), - 1790: uint16(155), - 1791: uint16(156), - 1792: uint16(157), - 1793: uint16(280), - 1794: uint16(249), - 1795: uint16(243), - 1796: uint16(19), - 1797: uint16(20), - 1798: uint16(245), - 1799: uint16(22), - 1800: uint16(196), - 1801: uint16(259), - 1802: uint16(140), - 1803: uint16(259), - 1804: uint16(60), - 1805: uint16(297), - 1806: uint16(141), - 1807: uint16(297), - 1808: uint16(200), - 1809: uint16(200), - 1810: uint16(162), - 1811: uint16(38), - 1812: uint16(200), - 1813: uint16(36), - 1814: uint16(294), - 1815: uint16(153), - 1816: uint16(154), - 1817: uint16(155), - 1818: uint16(156), - 1819: uint16(157), - 1820: uint16(151), - 1821: uint16(150), - 1822: uint16(294), - 1823: uint16(283), - 1824: uint16(22), - 1825: uint16(43), - 1826: uint16(234), - 1827: uint16(18), - 1828: uint16(237), - 1829: uint16(200), - 1830: uint16(270), - 1831: uint16(272), - 1832: uint16(237), - 1833: uint16(237), - 1834: uint16(237), - 1835: uint16(18), - 1836: uint16(59), - 1837: uint16(199), - 1838: uint16(270), - 1839: uint16(149), - 1840: uint16(246), - 1841: uint16(272), - 1842: uint16(272), - 1843: uint16(200), - 1844: uint16(234), - 1845: uint16(234), - 1846: uint16(246), - 1847: uint16(246), - 1848: uint16(71), - 1849: uint16(246), - 1850: uint16(199), - 1851: uint16(158), - 1852: uint16(290), - 1853: uint16(62), - 1854: uint16(22), - 1855: uint16(200), - 1856: uint16(19), - 1857: uint16(20), - 1858: uint16(199), - 1859: uint16(22), - 1860: uint16(289), - 1861: uint16(221), - 1862: uint16(221), - 1863: uint16(200), - 1864: uint16(200), - 1865: uint16(199), - 1866: uint16(199), - 1867: uint16(115), - 1868: uint16(218), - 1869: uint16(64), - 1870: uint16(218), - 1871: uint16(218), + 1691: uint16(218), + 1692: uint16(194), + 1693: uint16(19), + 1694: uint16(20), + 1695: uint16(194), + 1696: uint16(22), + 1697: uint16(153), + 1698: uint16(23), + 1699: uint16(155), + 1700: uint16(25), + 1701: uint16(194), + 1702: uint16(100), + 1703: uint16(194), + 1704: uint16(217), + 1705: uint16(218), + 1706: uint16(183), + 1707: uint16(194), + 1708: uint16(106), + 1709: uint16(107), + 1710: uint16(36), + 1711: uint16(194), + 1712: uint16(217), + 1713: uint16(218), + 1714: uint16(237), + 1715: uint16(194), + 1716: uint16(114), + 1717: uint16(243), + 1718: uint16(116), + 1719: uint16(117), + 1720: uint16(118), + 1721: uint16(133), + 1722: uint16(194), + 1723: uint16(121), + 1724: uint16(217), + 1725: uint16(218), + 1726: uint16(138), + 1727: uint16(139), + 1728: uint16(194), + 1729: uint16(194), + 1730: uint16(194), + 1731: uint16(290), + 1732: uint16(289), + 1733: uint16(59), + 1734: uint16(217), + 1735: uint16(218), + 1736: uint16(194), + 1737: uint16(194), + 1738: uint16(217), + 1739: uint16(218), + 1740: uint16(194), + 1741: uint16(194), + 1742: uint16(140), + 1743: uint16(194), + 1744: uint16(194), + 1745: uint16(71), + 1746: uint16(194), + 1747: uint16(244), + 1748: uint16(194), + 1749: uint16(194), + 1750: uint16(162), + 1751: uint16(217), + 1752: uint16(218), + 1753: uint16(194), + 1754: uint16(194), + 1755: uint16(153), + 1756: uint16(154), + 1757: uint16(155), + 1758: uint16(156), + 1759: uint16(157), + 1760: uint16(217), + 1761: uint16(218), + 1762: uint16(194), + 1763: uint16(217), + 1764: uint16(218), + 1765: uint16(194), + 1766: uint16(217), + 1767: uint16(218), + 1768: uint16(257), + 1769: uint16(217), + 1770: uint16(218), + 1771: uint16(217), + 1772: uint16(218), + 1773: uint16(257), + 1774: uint16(100), + 1775: uint16(194), + 1776: uint16(257), + 1777: uint16(217), + 1778: uint16(218), + 1779: uint16(257), + 1780: uint16(106), + 1781: uint16(107), + 1782: uint16(215), + 1783: uint16(299), + 1784: uint16(194), + 1785: uint16(183), + 1786: uint16(192), + 1787: uint16(194), + 1788: uint16(114), + 1789: uint16(194), + 1790: uint16(116), + 1791: uint16(117), + 1792: uint16(118), + 1793: uint16(1), + 1794: uint16(2), + 1795: uint16(121), + 1796: uint16(221), + 1797: uint16(5), + 1798: uint16(217), + 1799: uint16(218), + 1800: uint16(273), + 1801: uint16(197), + 1802: uint16(10), + 1803: uint16(11), + 1804: uint16(12), + 1805: uint16(13), + 1806: uint16(14), + 1807: uint16(217), + 1808: uint16(218), + 1809: uint16(17), + 1810: uint16(217), + 1811: uint16(218), + 1812: uint16(217), + 1813: uint16(218), + 1814: uint16(140), + 1815: uint16(194), + 1816: uint16(246), + 1817: uint16(194), + 1818: uint16(273), + 1819: uint16(295), + 1820: uint16(247), + 1821: uint16(273), + 1822: uint16(30), + 1823: uint16(247), + 1824: uint16(32), + 1825: uint16(269), + 1826: uint16(269), + 1827: uint16(153), + 1828: uint16(154), + 1829: uint16(155), + 1830: uint16(156), + 1831: uint16(157), + 1832: uint16(40), + 1833: uint16(246), + 1834: uint16(273), + 1835: uint16(295), + 1836: uint16(230), + 1837: uint16(226), + 1838: uint16(217), + 1839: uint16(218), + 1840: uint16(217), + 1841: uint16(218), + 1842: uint16(220), + 1843: uint16(261), + 1844: uint16(220), + 1845: uint16(282), + 1846: uint16(220), + 1847: uint16(19), + 1848: uint16(20), + 1849: uint16(244), + 1850: uint16(22), + 1851: uint16(250), + 1852: uint16(141), + 1853: uint16(250), + 1854: uint16(246), + 1855: uint16(60), + 1856: uint16(201), + 1857: uint16(183), + 1858: uint16(261), + 1859: uint16(261), + 1860: uint16(261), + 1861: uint16(201), + 1862: uint16(70), + 1863: uint16(299), + 1864: uint16(36), + 1865: uint16(299), + 1866: uint16(201), + 1867: uint16(38), + 1868: uint16(151), + 1869: uint16(150), + 1870: uint16(78), + 1871: uint16(285), 1872: uint16(22), - 1873: uint16(36), - 1874: uint16(227), - 1875: uint16(126), - 1876: uint16(227), - 1877: uint16(100), - 1878: uint16(165), - 1879: uint16(221), - 1880: uint16(224), - 1881: uint16(224), - 1882: uint16(24), - 1883: uint16(106), - 1884: uint16(107), - 1885: uint16(312), - 1886: uint16(218), - 1887: uint16(305), - 1888: uint16(113), - 1889: uint16(282), - 1890: uint16(91), - 1891: uint16(114), - 1892: uint16(220), - 1893: uint16(116), - 1894: uint16(117), - 1895: uint16(118), - 1896: uint16(59), - 1897: uint16(282), - 1898: uint16(121), - 1899: uint16(218), - 1900: uint16(218), - 1901: uint16(218), + 1873: uint16(81), + 1874: uint16(296), + 1875: uint16(296), + 1876: uint16(43), + 1877: uint16(235), + 1878: uint16(18), + 1879: uint16(238), + 1880: uint16(201), + 1881: uint16(274), + 1882: uint16(272), + 1883: uint16(238), + 1884: uint16(238), + 1885: uint16(238), + 1886: uint16(18), + 1887: uint16(59), + 1888: uint16(200), + 1889: uint16(149), + 1890: uint16(98), + 1891: uint16(247), + 1892: uint16(274), + 1893: uint16(274), + 1894: uint16(235), + 1895: uint16(247), + 1896: uint16(247), + 1897: uint16(247), + 1898: uint16(235), + 1899: uint16(71), + 1900: uint16(272), + 1901: uint16(201), 1902: uint16(200), - 1903: uint16(317), - 1904: uint16(317), - 1905: uint16(82), - 1906: uint16(221), - 1907: uint16(265), - 1908: uint16(71), - 1909: uint16(148), - 1910: uint16(145), - 1911: uint16(265), - 1912: uint16(22), - 1913: uint16(277), - 1914: uint16(200), - 1915: uint16(158), - 1916: uint16(279), - 1917: uint16(140), - 1918: uint16(147), - 1919: uint16(25), - 1920: uint16(146), - 1921: uint16(202), - 1922: uint16(248), - 1923: uint16(250), - 1924: uint16(249), - 1925: uint16(247), - 1926: uint16(13), - 1927: uint16(250), - 1928: uint16(194), - 1929: uint16(194), - 1930: uint16(153), - 1931: uint16(154), - 1932: uint16(155), - 1933: uint16(156), - 1934: uint16(157), - 1935: uint16(6), - 1936: uint16(303), - 1937: uint16(100), - 1938: uint16(192), - 1939: uint16(192), - 1940: uint16(246), - 1941: uint16(213), - 1942: uint16(192), - 1943: uint16(106), - 1944: uint16(107), - 1945: uint16(207), - 1946: uint16(213), - 1947: uint16(207), - 1948: uint16(222), - 1949: uint16(213), - 1950: uint16(213), - 1951: uint16(114), - 1952: uint16(222), - 1953: uint16(116), - 1954: uint16(117), - 1955: uint16(118), - 1956: uint16(214), - 1957: uint16(214), - 1958: uint16(121), - 1959: uint16(4), - 1960: uint16(207), - 1961: uint16(213), - 1962: uint16(3), - 1963: uint16(22), - 1964: uint16(303), - 1965: uint16(15), - 1966: uint16(163), - 1967: uint16(16), - 1968: uint16(23), - 1969: uint16(23), - 1970: uint16(139), - 1971: uint16(151), - 1972: uint16(130), - 1973: uint16(25), - 1974: uint16(20), - 1975: uint16(142), - 1976: uint16(24), - 1977: uint16(16), - 1978: uint16(144), - 1979: uint16(1), - 1980: uint16(142), - 1981: uint16(130), - 1982: uint16(130), - 1983: uint16(61), - 1984: uint16(37), - 1985: uint16(53), - 1986: uint16(300), - 1987: uint16(151), - 1988: uint16(53), - 1989: uint16(53), - 1990: uint16(153), - 1991: uint16(154), - 1992: uint16(155), - 1993: uint16(156), - 1994: uint16(157), - 1995: uint16(53), - 1996: uint16(130), - 1997: uint16(116), - 1998: uint16(34), - 1999: uint16(1), - 2000: uint16(141), - 2001: uint16(5), - 2002: uint16(22), - 2003: uint16(115), - 2004: uint16(161), - 2005: uint16(68), - 2006: uint16(25), - 2007: uint16(68), - 2008: uint16(75), - 2009: uint16(41), - 2010: uint16(141), - 2011: uint16(115), - 2012: uint16(24), - 2013: uint16(20), - 2014: uint16(19), - 2015: uint16(131), - 2016: uint16(125), - 2017: uint16(23), - 2018: uint16(28), - 2019: uint16(22), - 2020: uint16(67), - 2021: uint16(22), - 2022: uint16(22), - 2023: uint16(22), - 2024: uint16(67), - 2025: uint16(59), - 2026: uint16(24), - 2027: uint16(96), - 2028: uint16(22), - 2029: uint16(67), - 2030: uint16(23), - 2031: uint16(149), - 2032: uint16(22), - 2033: uint16(25), - 2034: uint16(23), - 2035: uint16(23), - 2036: uint16(23), - 2037: uint16(22), - 2038: uint16(34), - 2039: uint16(141), - 2040: uint16(37), - 2041: uint16(97), - 2042: uint16(23), - 2043: uint16(23), - 2044: uint16(116), - 2045: uint16(22), - 2046: uint16(143), - 2047: uint16(25), - 2048: uint16(34), - 2049: uint16(75), - 2050: uint16(34), - 2051: uint16(34), - 2052: uint16(34), - 2053: uint16(88), - 2054: uint16(75), - 2055: uint16(34), - 2056: uint16(86), - 2057: uint16(23), + 1903: uint16(158), + 1904: uint16(292), + 1905: uint16(62), + 1906: uint16(291), + 1907: uint16(201), + 1908: uint16(200), + 1909: uint16(22), + 1910: uint16(201), + 1911: uint16(222), + 1912: uint16(200), + 1913: uint16(222), + 1914: uint16(201), + 1915: uint16(200), + 1916: uint16(115), + 1917: uint16(219), + 1918: uint16(219), + 1919: uint16(64), + 1920: uint16(219), + 1921: uint16(228), + 1922: uint16(22), + 1923: uint16(126), + 1924: uint16(221), + 1925: uint16(133), + 1926: uint16(165), + 1927: uint16(222), + 1928: uint16(100), + 1929: uint16(225), + 1930: uint16(138), + 1931: uint16(139), + 1932: uint16(225), + 1933: uint16(219), + 1934: uint16(106), + 1935: uint16(107), + 1936: uint16(24), + 1937: uint16(219), + 1938: uint16(228), + 1939: uint16(219), + 1940: uint16(219), + 1941: uint16(307), + 1942: uint16(114), + 1943: uint16(113), + 1944: uint16(116), + 1945: uint16(117), + 1946: uint16(118), + 1947: uint16(315), + 1948: uint16(284), + 1949: uint16(121), + 1950: uint16(284), + 1951: uint16(222), + 1952: uint16(201), + 1953: uint16(91), + 1954: uint16(162), + 1955: uint16(320), + 1956: uint16(320), + 1957: uint16(82), + 1958: uint16(148), + 1959: uint16(267), + 1960: uint16(145), + 1961: uint16(267), + 1962: uint16(22), + 1963: uint16(279), + 1964: uint16(201), + 1965: uint16(158), + 1966: uint16(281), + 1967: uint16(251), + 1968: uint16(147), + 1969: uint16(146), + 1970: uint16(25), + 1971: uint16(203), + 1972: uint16(250), + 1973: uint16(249), + 1974: uint16(251), + 1975: uint16(248), + 1976: uint16(13), + 1977: uint16(247), + 1978: uint16(195), + 1979: uint16(195), + 1980: uint16(6), + 1981: uint16(153), + 1982: uint16(154), + 1983: uint16(155), + 1984: uint16(156), + 1985: uint16(157), + 1986: uint16(193), + 1987: uint16(193), + 1988: uint16(305), + 1989: uint16(193), + 1990: uint16(208), + 1991: uint16(305), + 1992: uint16(302), + 1993: uint16(214), + 1994: uint16(214), + 1995: uint16(214), + 1996: uint16(208), + 1997: uint16(223), + 1998: uint16(223), + 1999: uint16(214), + 2000: uint16(4), + 2001: uint16(215), + 2002: uint16(215), + 2003: uint16(214), + 2004: uint16(3), + 2005: uint16(22), + 2006: uint16(208), + 2007: uint16(163), + 2008: uint16(15), + 2009: uint16(23), + 2010: uint16(16), + 2011: uint16(183), + 2012: uint16(23), + 2013: uint16(139), + 2014: uint16(151), + 2015: uint16(130), + 2016: uint16(25), + 2017: uint16(20), + 2018: uint16(142), + 2019: uint16(24), + 2020: uint16(16), + 2021: uint16(144), + 2022: uint16(1), + 2023: uint16(142), + 2024: uint16(130), + 2025: uint16(130), + 2026: uint16(61), + 2027: uint16(37), + 2028: uint16(53), + 2029: uint16(151), + 2030: uint16(53), + 2031: uint16(53), + 2032: uint16(53), + 2033: uint16(130), + 2034: uint16(116), + 2035: uint16(1), + 2036: uint16(34), + 2037: uint16(141), + 2038: uint16(5), + 2039: uint16(22), + 2040: uint16(115), + 2041: uint16(161), + 2042: uint16(75), + 2043: uint16(25), + 2044: uint16(68), + 2045: uint16(141), + 2046: uint16(41), + 2047: uint16(115), + 2048: uint16(68), + 2049: uint16(24), + 2050: uint16(20), + 2051: uint16(19), + 2052: uint16(131), + 2053: uint16(125), + 2054: uint16(67), + 2055: uint16(67), + 2056: uint16(96), + 2057: uint16(22), 2058: uint16(22), - 2059: uint16(34), - 2060: uint16(93), - 2061: uint16(24), - 2062: uint16(34), - 2063: uint16(25), - 2064: uint16(25), - 2065: uint16(142), - 2066: uint16(142), + 2059: uint16(22), + 2060: uint16(37), + 2061: uint16(23), + 2062: uint16(22), + 2063: uint16(24), + 2064: uint16(22), + 2065: uint16(59), + 2066: uint16(67), 2067: uint16(23), - 2068: uint16(44), - 2069: uint16(23), - 2070: uint16(23), - 2071: uint16(23), + 2068: uint16(149), + 2069: uint16(28), + 2070: uint16(22), + 2071: uint16(25), 2072: uint16(23), - 2073: uint16(11), + 2073: uint16(23), 2074: uint16(23), - 2075: uint16(25), - 2076: uint16(22), - 2077: uint16(22), - 2078: uint16(22), - 2079: uint16(141), + 2075: uint16(22), + 2076: uint16(141), + 2077: uint16(34), + 2078: uint16(97), + 2079: uint16(23), 2080: uint16(23), - 2081: uint16(23), - 2082: uint16(22), + 2081: uint16(34), + 2082: uint16(116), 2083: uint16(22), - 2084: uint16(25), - 2085: uint16(15), - 2086: uint16(1), - 2087: uint16(23), - 2088: uint16(25), - 2089: uint16(1), - 2090: uint16(141), - 2091: uint16(135), - 2092: uint16(319), - 2093: uint16(319), - 2094: uint16(319), - 2095: uint16(319), - 2096: uint16(319), - 2097: uint16(319), - 2098: uint16(319), - 2099: uint16(141), - 2100: uint16(319), - 2101: uint16(319), - 2102: uint16(319), - 2103: uint16(319), - 2104: uint16(319), - 2105: uint16(319), - 2106: uint16(319), - 2107: uint16(319), - 2108: uint16(319), - 2109: uint16(319), - 2110: uint16(319), - 2111: uint16(319), - 2112: uint16(319), - 2113: uint16(319), - 2114: uint16(319), - 2115: uint16(319), - 2116: uint16(319), - 2117: uint16(319), - 2118: uint16(319), - 2119: uint16(319), - 2120: uint16(319), - 2121: uint16(319), - 2122: uint16(319), - 2123: uint16(319), - 2124: uint16(319), - 2125: uint16(319), - 2126: uint16(319), - 2127: uint16(319), - 2128: uint16(319), - 2129: uint16(319), - 2130: uint16(319), - 2131: uint16(319), - 2132: uint16(319), - 2133: uint16(319), - 2134: uint16(319), - 2135: uint16(319), - 2136: uint16(319), - 2137: uint16(319), - 2138: uint16(319), - 2139: uint16(319), - 2140: uint16(319), - 2141: uint16(319), - 2142: uint16(319), - 2143: uint16(319), - 2144: uint16(319), - 2145: uint16(319), - 2146: uint16(319), - 2147: uint16(319), - 2148: uint16(319), - 2149: uint16(319), - 2150: uint16(319), - 2151: uint16(319), - 2152: uint16(319), - 2153: uint16(319), - 2154: uint16(319), - 2155: uint16(319), - 2156: uint16(319), - 2157: uint16(319), - 2158: uint16(319), - 2159: uint16(319), - 2160: uint16(319), - 2161: uint16(319), - 2162: uint16(319), - 2163: uint16(319), - 2164: uint16(319), - 2165: uint16(319), - 2166: uint16(319), - 2167: uint16(319), - 2168: uint16(319), - 2169: uint16(319), - 2170: uint16(319), - 2171: uint16(319), - 2172: uint16(319), - 2173: uint16(319), - 2174: uint16(319), - 2175: uint16(319), - 2176: uint16(319), - 2177: uint16(319), - 2178: uint16(319), - 2179: uint16(319), - 2180: uint16(319), - 2181: uint16(319), - 2182: uint16(319), - 2183: uint16(319), - 2184: uint16(319), - 2185: uint16(319), - 2186: uint16(319), - 2187: uint16(319), - 2188: uint16(319), - 2189: uint16(319), - 2190: uint16(319), - 2191: uint16(319), - 2192: uint16(319), - 2193: uint16(319), - 2194: uint16(319), - 2195: uint16(319), - 2196: uint16(319), - 2197: uint16(319), - 2198: uint16(319), - 2199: uint16(319), - 2200: uint16(319), - 2201: uint16(319), - 2202: uint16(319), - 2203: uint16(319), - 2204: uint16(319), - 2205: uint16(319), - 2206: uint16(319), - 2207: uint16(319), - 2208: uint16(319), - 2209: uint16(319), - 2210: uint16(319), - 2211: uint16(319), - 2212: uint16(319), - 2213: uint16(319), - 2214: uint16(319), - 2215: uint16(319), - 2216: uint16(319), - 2217: uint16(319), - 2218: uint16(319), - 2219: uint16(319), - 2220: uint16(319), - 2221: uint16(319), - 2222: uint16(319), - 2223: uint16(319), - 2224: uint16(319), - 2225: uint16(319), - 2226: uint16(319), - 2227: uint16(319), - 2228: uint16(319), - 2229: uint16(319), - 2230: uint16(319), - 2231: uint16(319), - 2232: uint16(319), - 2233: uint16(319), - 2234: uint16(319), - 2235: uint16(319), - 2236: uint16(319), - 2237: uint16(319), - 2238: uint16(319), - 2239: uint16(319), - 2240: uint16(319), - 2241: uint16(319), - 2242: uint16(319), - 2243: uint16(319), - 2244: uint16(319), - 2245: uint16(319), - 2246: uint16(319), - 2247: uint16(319), - 2248: uint16(319), - 2249: uint16(319), - 2250: uint16(319), - 2251: uint16(319), - 2252: uint16(319), - 2253: uint16(319), - 2254: uint16(319), - 2255: uint16(319), - 2256: uint16(319), - 2257: uint16(319), - 2258: uint16(319), - 2259: uint16(319), - 2260: uint16(319), - 2261: uint16(319), - 2262: uint16(319), - 2263: uint16(319), - 2264: uint16(319), - 2265: uint16(319), - 2266: uint16(319), - 2267: uint16(319), - 2268: uint16(319), - 2269: uint16(319), - 2270: uint16(319), - 2271: uint16(319), - 2272: uint16(319), - 2273: uint16(319), - 2274: uint16(319), - 2275: uint16(319), - 2276: uint16(319), - 2277: uint16(319), - 2278: uint16(319), - 2279: uint16(319), - 2280: uint16(319), - 2281: uint16(319), - 2282: uint16(319), - 2283: uint16(319), - 2284: uint16(319), -} -var _yy_shift_ofst = [579]uint16{ - 0: uint16(1648), - 1: uint16(1477), - 2: uint16(1272), + 2084: uint16(143), + 2085: uint16(25), + 2086: uint16(34), + 2087: uint16(75), + 2088: uint16(34), + 2089: uint16(34), + 2090: uint16(75), + 2091: uint16(88), + 2092: uint16(34), + 2093: uint16(86), + 2094: uint16(23), + 2095: uint16(22), + 2096: uint16(34), + 2097: uint16(25), + 2098: uint16(24), + 2099: uint16(34), + 2100: uint16(25), + 2101: uint16(93), + 2102: uint16(23), + 2103: uint16(44), + 2104: uint16(142), + 2105: uint16(23), + 2106: uint16(142), + 2107: uint16(23), + 2108: uint16(23), + 2109: uint16(22), + 2110: uint16(11), + 2111: uint16(25), + 2112: uint16(23), + 2113: uint16(25), + 2114: uint16(23), + 2115: uint16(22), + 2116: uint16(22), + 2117: uint16(22), + 2118: uint16(1), + 2119: uint16(23), + 2120: uint16(23), + 2121: uint16(23), + 2122: uint16(22), + 2123: uint16(22), + 2124: uint16(15), + 2125: uint16(141), + 2126: uint16(141), + 2127: uint16(25), + 2128: uint16(25), + 2129: uint16(1), + 2130: uint16(322), + 2131: uint16(322), + 2132: uint16(322), + 2133: uint16(135), + 2134: uint16(322), + 2135: uint16(322), + 2136: uint16(322), + 2137: uint16(322), + 2138: uint16(322), + 2139: uint16(322), + 2140: uint16(322), + 2141: uint16(141), + 2142: uint16(322), + 2143: uint16(322), + 2144: uint16(322), + 2145: uint16(322), + 2146: uint16(322), + 2147: uint16(322), + 2148: uint16(322), + 2149: uint16(322), + 2150: uint16(322), + 2151: uint16(322), + 2152: uint16(322), + 2153: uint16(322), + 2154: uint16(322), + 2155: uint16(322), + 2156: uint16(322), + 2157: uint16(322), + 2158: uint16(322), + 2159: uint16(322), + 2160: uint16(322), + 2161: uint16(322), + 2162: uint16(322), + 2163: uint16(322), + 2164: uint16(322), + 2165: uint16(322), + 2166: uint16(322), + 2167: uint16(322), + 2168: uint16(322), + 2169: uint16(322), + 2170: uint16(322), + 2171: uint16(322), + 2172: uint16(322), + 2173: uint16(322), + 2174: uint16(322), + 2175: uint16(322), + 2176: uint16(322), + 2177: uint16(322), + 2178: uint16(322), + 2179: uint16(322), + 2180: uint16(322), + 2181: uint16(322), + 2182: uint16(322), + 2183: uint16(322), + 2184: uint16(322), + 2185: uint16(322), + 2186: uint16(322), + 2187: uint16(322), + 2188: uint16(322), + 2189: uint16(322), + 2190: uint16(322), + 2191: uint16(322), + 2192: uint16(322), + 2193: uint16(322), + 2194: uint16(322), + 2195: uint16(322), + 2196: uint16(322), + 2197: uint16(322), + 2198: uint16(322), + 2199: uint16(322), + 2200: uint16(322), + 2201: uint16(322), + 2202: uint16(322), + 2203: uint16(322), + 2204: uint16(322), + 2205: uint16(322), + 2206: uint16(322), + 2207: uint16(322), + 2208: uint16(322), + 2209: uint16(322), + 2210: uint16(322), + 2211: uint16(322), + 2212: uint16(322), + 2213: uint16(322), + 2214: uint16(322), + 2215: uint16(322), + 2216: uint16(322), + 2217: uint16(322), + 2218: uint16(322), + 2219: uint16(322), + 2220: uint16(322), + 2221: uint16(322), + 2222: uint16(322), + 2223: uint16(322), + 2224: uint16(322), + 2225: uint16(322), + 2226: uint16(322), + 2227: uint16(322), + 2228: uint16(322), + 2229: uint16(322), + 2230: uint16(322), + 2231: uint16(322), + 2232: uint16(322), + 2233: uint16(322), + 2234: uint16(322), + 2235: uint16(322), + 2236: uint16(322), + 2237: uint16(322), + 2238: uint16(322), + 2239: uint16(322), + 2240: uint16(322), + 2241: uint16(322), + 2242: uint16(322), + 2243: uint16(322), + 2244: uint16(322), + 2245: uint16(322), + 2246: uint16(322), + 2247: uint16(322), + 2248: uint16(322), + 2249: uint16(322), + 2250: uint16(322), + 2251: uint16(322), + 2252: uint16(322), + 2253: uint16(322), + 2254: uint16(322), + 2255: uint16(322), + 2256: uint16(322), + 2257: uint16(322), + 2258: uint16(322), + 2259: uint16(322), + 2260: uint16(322), + 2261: uint16(322), + 2262: uint16(322), + 2263: uint16(322), + 2264: uint16(322), + 2265: uint16(322), + 2266: uint16(322), + 2267: uint16(322), + 2268: uint16(322), + 2269: uint16(322), + 2270: uint16(322), + 2271: uint16(322), + 2272: uint16(322), + 2273: uint16(322), + 2274: uint16(322), + 2275: uint16(322), + 2276: uint16(322), + 2277: uint16(322), + 2278: uint16(322), + 2279: uint16(322), + 2280: uint16(322), + 2281: uint16(322), + 2282: uint16(322), + 2283: uint16(322), + 2284: uint16(322), + 2285: uint16(322), + 2286: uint16(322), + 2287: uint16(322), + 2288: uint16(322), + 2289: uint16(322), + 2290: uint16(322), + 2291: uint16(322), + 2292: uint16(322), + 2293: uint16(322), + 2294: uint16(322), + 2295: uint16(322), + 2296: uint16(322), + 2297: uint16(322), + 2298: uint16(322), + 2299: uint16(322), + 2300: uint16(322), + 2301: uint16(322), + 2302: uint16(322), + 2303: uint16(322), + 2304: uint16(322), + 2305: uint16(322), + 2306: uint16(322), + 2307: uint16(322), + 2308: uint16(322), + 2309: uint16(322), + 2310: uint16(322), + 2311: uint16(322), + 2312: uint16(322), + 2313: uint16(322), + 2314: uint16(322), + 2315: uint16(322), + 2316: uint16(322), + 2317: uint16(322), + 2318: uint16(322), + 2319: uint16(322), + 2320: uint16(322), + 2321: uint16(322), + 2322: uint16(322), + 2323: uint16(322), + 2324: uint16(322), + 2325: uint16(322), + 2326: uint16(322), + 2327: uint16(322), +} +var _yy_shift_ofst = [583]uint16{ + 0: uint16(1792), + 1: uint16(1588), + 2: uint16(1494), 3: uint16(322), 4: uint16(322), - 5: uint16(1), - 6: uint16(1319), - 7: uint16(1478), - 8: uint16(1491), - 9: uint16(1837), - 10: uint16(1837), - 11: uint16(1837), - 12: uint16(471), - 15: uint16(214), - 16: uint16(1093), - 17: uint16(1837), - 18: uint16(1837), - 19: uint16(1837), - 20: uint16(1837), - 21: uint16(1837), - 22: uint16(1837), - 23: uint16(1837), - 24: uint16(1837), - 25: uint16(1837), - 26: uint16(1837), - 27: uint16(1837), - 28: uint16(1837), - 29: uint16(1837), - 30: uint16(1837), - 31: uint16(271), - 32: uint16(271), - 33: uint16(1219), - 34: uint16(1219), - 35: uint16(216), - 36: uint16(88), - 37: uint16(1), - 38: uint16(1), - 39: uint16(1), - 40: uint16(1), - 41: uint16(1), - 42: uint16(40), - 43: uint16(111), - 44: uint16(258), - 45: uint16(361), - 46: uint16(469), - 47: uint16(512), - 48: uint16(583), - 49: uint16(622), - 50: uint16(693), - 51: uint16(732), - 52: uint16(803), - 53: uint16(842), - 54: uint16(913), - 55: uint16(1073), - 56: uint16(1093), - 57: uint16(1093), - 58: uint16(1093), - 59: uint16(1093), - 60: uint16(1093), - 61: uint16(1093), - 62: uint16(1093), - 63: uint16(1093), - 64: uint16(1093), + 5: uint16(399), + 6: uint16(306), + 7: uint16(1319), + 8: uint16(1339), + 9: uint16(1430), + 10: uint16(1828), + 11: uint16(1828), + 12: uint16(1828), + 13: uint16(580), + 14: uint16(399), + 15: uint16(399), + 16: uint16(399), + 17: uint16(399), + 18: uint16(399), + 21: uint16(214), + 22: uint16(1093), + 23: uint16(1828), + 24: uint16(1828), + 25: uint16(1828), + 26: uint16(1828), + 27: uint16(1828), + 28: uint16(1828), + 29: uint16(1828), + 30: uint16(1828), + 31: uint16(1828), + 32: uint16(1828), + 33: uint16(1828), + 34: uint16(1828), + 35: uint16(1828), + 36: uint16(1828), + 37: uint16(1828), + 38: uint16(1130), + 39: uint16(1130), + 40: uint16(365), + 41: uint16(365), + 42: uint16(55), + 43: uint16(278), + 44: uint16(436), + 45: uint16(713), + 46: uint16(713), + 47: uint16(201), + 48: uint16(201), + 49: uint16(201), + 50: uint16(201), + 51: uint16(40), + 52: uint16(111), + 53: uint16(258), + 54: uint16(361), + 55: uint16(469), + 56: uint16(512), + 57: uint16(583), + 58: uint16(622), + 59: uint16(693), + 60: uint16(732), + 61: uint16(803), + 62: uint16(842), + 63: uint16(913), + 64: uint16(1073), 65: uint16(1093), 66: uint16(1093), 67: uint16(1093), @@ -151600,1505 +152959,1514 @@ var _yy_shift_ofst = [579]uint16{ 71: uint16(1093), 72: uint16(1093), 73: uint16(1093), - 74: uint16(1113), + 74: uint16(1093), 75: uint16(1093), - 76: uint16(1216), - 77: uint16(957), - 78: uint16(957), - 79: uint16(1635), - 80: uint16(1662), - 81: uint16(1777), - 82: uint16(1837), - 83: uint16(1837), - 84: uint16(1837), - 85: uint16(1837), - 86: uint16(1837), - 87: uint16(1837), - 88: uint16(1837), - 89: uint16(1837), - 90: uint16(1837), - 91: uint16(1837), - 92: uint16(1837), - 93: uint16(1837), - 94: uint16(1837), - 95: uint16(1837), - 96: uint16(1837), - 97: uint16(1837), - 98: uint16(1837), - 99: uint16(1837), - 100: uint16(1837), - 101: uint16(1837), - 102: uint16(1837), - 103: uint16(1837), - 104: uint16(1837), - 105: uint16(1837), - 106: uint16(1837), - 107: uint16(1837), - 108: uint16(1837), - 109: uint16(1837), - 110: uint16(1837), - 111: uint16(1837), - 112: uint16(1837), - 113: uint16(1837), - 114: uint16(1837), - 115: uint16(1837), - 116: uint16(1837), - 117: uint16(1837), - 118: uint16(1837), - 119: uint16(1837), - 120: uint16(1837), - 121: uint16(1837), - 122: uint16(1837), - 123: uint16(1837), - 124: uint16(1837), - 125: uint16(1837), - 126: uint16(1837), - 127: uint16(1837), - 128: uint16(1837), - 129: uint16(1837), - 130: uint16(1837), - 131: uint16(137), - 132: uint16(181), - 133: uint16(181), - 134: uint16(181), - 135: uint16(181), - 136: uint16(181), - 137: uint16(181), - 138: uint16(181), - 139: uint16(94), - 140: uint16(430), - 141: uint16(66), - 142: uint16(65), - 143: uint16(112), - 144: uint16(366), - 145: uint16(533), - 146: uint16(533), - 147: uint16(740), - 148: uint16(1257), - 149: uint16(533), - 150: uint16(533), - 151: uint16(79), - 152: uint16(79), - 153: uint16(533), - 154: uint16(412), - 155: uint16(412), - 156: uint16(412), - 157: uint16(77), - 158: uint16(412), - 159: uint16(123), - 160: uint16(113), - 161: uint16(113), - 162: uint16(113), - 163: uint16(22), - 164: uint16(22), - 165: uint16(2100), - 166: uint16(2100), - 167: uint16(328), - 168: uint16(328), - 169: uint16(328), - 170: uint16(239), - 171: uint16(468), - 172: uint16(468), - 173: uint16(468), - 174: uint16(468), - 175: uint16(1015), - 176: uint16(1015), - 177: uint16(409), - 178: uint16(366), - 179: uint16(1187), - 180: uint16(1232), - 181: uint16(533), - 182: uint16(533), - 183: uint16(533), - 184: uint16(533), - 185: uint16(533), - 186: uint16(533), - 187: uint16(533), - 188: uint16(533), - 189: uint16(533), - 190: uint16(533), - 191: uint16(533), - 192: uint16(533), - 193: uint16(533), - 194: uint16(533), - 195: uint16(533), - 196: uint16(533), - 197: uint16(533), - 198: uint16(533), - 199: uint16(533), - 200: uint16(533), - 201: uint16(969), - 202: uint16(621), - 203: uint16(621), - 204: uint16(533), - 205: uint16(642), - 206: uint16(788), - 207: uint16(788), - 208: uint16(1133), - 209: uint16(1133), - 210: uint16(822), - 211: uint16(822), - 212: uint16(67), - 213: uint16(1193), - 214: uint16(2100), - 215: uint16(2100), - 216: uint16(2100), - 217: uint16(2100), - 218: uint16(2100), - 219: uint16(2100), - 220: uint16(2100), - 221: uint16(1307), - 222: uint16(954), - 223: uint16(954), - 224: uint16(585), - 225: uint16(472), - 226: uint16(640), - 227: uint16(387), - 228: uint16(695), - 229: uint16(538), - 230: uint16(541), - 231: uint16(700), - 232: uint16(533), - 233: uint16(533), - 234: uint16(533), - 235: uint16(533), - 236: uint16(533), - 237: uint16(533), - 238: uint16(533), - 239: uint16(533), - 240: uint16(533), - 241: uint16(533), - 242: uint16(222), - 243: uint16(533), - 244: uint16(533), - 245: uint16(533), - 246: uint16(533), - 247: uint16(533), - 248: uint16(533), - 249: uint16(533), - 250: uint16(533), - 251: uint16(533), - 252: uint16(533), - 253: uint16(533), - 254: uint16(533), - 255: uint16(1213), - 256: uint16(1213), - 257: uint16(1213), - 258: uint16(533), - 259: uint16(533), - 260: uint16(533), - 261: uint16(565), - 262: uint16(533), - 263: uint16(533), - 264: uint16(533), - 265: uint16(916), - 266: uint16(1147), - 267: uint16(533), - 268: uint16(533), - 269: uint16(1288), - 270: uint16(533), - 271: uint16(533), - 272: uint16(533), - 273: uint16(533), - 274: uint16(533), - 275: uint16(533), - 276: uint16(533), - 277: uint16(533), - 278: uint16(639), - 279: uint16(1280), - 280: uint16(209), - 281: uint16(1129), - 282: uint16(1129), - 283: uint16(1129), - 284: uint16(1129), - 285: uint16(580), - 286: uint16(209), - 287: uint16(209), - 288: uint16(1209), - 289: uint16(768), - 290: uint16(917), - 291: uint16(649), - 292: uint16(1315), - 293: uint16(1334), - 294: uint16(405), - 295: uint16(1334), - 296: uint16(1383), - 297: uint16(249), - 298: uint16(1315), - 299: uint16(1315), - 300: uint16(249), - 301: uint16(1315), - 302: uint16(405), - 303: uint16(1383), - 304: uint16(1441), - 305: uint16(464), - 306: uint16(1245), - 307: uint16(1417), - 308: uint16(1417), - 309: uint16(1417), - 310: uint16(1323), - 311: uint16(1323), - 312: uint16(1323), - 313: uint16(1323), - 314: uint16(184), - 315: uint16(184), - 316: uint16(1335), - 317: uint16(1476), - 318: uint16(856), - 319: uint16(1482), - 320: uint16(1744), - 321: uint16(1744), - 322: uint16(1665), - 323: uint16(1665), - 324: uint16(1773), - 325: uint16(1773), - 326: uint16(1665), - 327: uint16(1669), - 328: uint16(1671), - 329: uint16(1802), - 330: uint16(1782), - 331: uint16(1809), - 332: uint16(1809), - 333: uint16(1809), - 334: uint16(1809), - 335: uint16(1665), - 336: uint16(1817), - 337: uint16(1690), - 338: uint16(1671), - 339: uint16(1671), - 340: uint16(1690), - 341: uint16(1802), - 342: uint16(1782), - 343: uint16(1690), - 344: uint16(1782), - 345: uint16(1690), - 346: uint16(1665), - 347: uint16(1817), - 348: uint16(1693), - 349: uint16(1791), - 350: uint16(1665), - 351: uint16(1817), - 352: uint16(1832), - 353: uint16(1665), - 354: uint16(1817), - 355: uint16(1665), - 356: uint16(1817), - 357: uint16(1832), - 358: uint16(1752), - 359: uint16(1752), - 360: uint16(1752), - 361: uint16(1805), - 362: uint16(1850), - 363: uint16(1850), - 364: uint16(1832), - 365: uint16(1752), - 366: uint16(1749), - 367: uint16(1752), - 368: uint16(1805), - 369: uint16(1752), - 370: uint16(1752), - 371: uint16(1713), - 372: uint16(1858), - 373: uint16(1775), - 374: uint16(1775), - 375: uint16(1832), - 376: uint16(1665), - 377: uint16(1799), - 378: uint16(1799), - 379: uint16(1823), - 380: uint16(1823), - 381: uint16(1761), - 382: uint16(1765), - 383: uint16(1890), - 384: uint16(1665), - 385: uint16(1757), - 386: uint16(1761), - 387: uint16(1771), - 388: uint16(1774), - 389: uint16(1690), - 390: uint16(1894), - 391: uint16(1913), - 392: uint16(1913), - 393: uint16(1929), - 394: uint16(1929), - 395: uint16(1929), - 396: uint16(2100), - 397: uint16(2100), - 398: uint16(2100), - 399: uint16(2100), - 400: uint16(2100), - 401: uint16(2100), - 402: uint16(2100), - 403: uint16(2100), - 404: uint16(2100), - 405: uint16(2100), - 406: uint16(2100), - 407: uint16(2100), - 408: uint16(2100), - 409: uint16(2100), - 410: uint16(2100), - 411: uint16(207), - 412: uint16(1220), - 413: uint16(331), - 414: uint16(620), - 415: uint16(967), - 416: uint16(806), - 417: uint16(1074), - 418: uint16(1499), - 419: uint16(1432), - 420: uint16(1463), - 421: uint16(1479), - 422: uint16(1419), - 423: uint16(1422), - 424: uint16(1557), - 425: uint16(1512), - 426: uint16(1598), - 427: uint16(1599), - 428: uint16(1644), - 429: uint16(1645), - 430: uint16(1654), - 431: uint16(1660), - 432: uint16(1555), - 433: uint16(1505), - 434: uint16(1684), - 435: uint16(1462), - 436: uint16(1670), - 437: uint16(1563), - 438: uint16(1619), - 439: uint16(1593), - 440: uint16(1676), - 441: uint16(1679), - 442: uint16(1613), - 443: uint16(1680), - 444: uint16(1554), - 445: uint16(1558), - 446: uint16(1689), - 447: uint16(1692), - 448: uint16(1605), - 449: uint16(1589), - 450: uint16(1955), - 451: uint16(1959), - 452: uint16(1941), - 453: uint16(1803), - 454: uint16(1950), - 455: uint16(1951), - 456: uint16(1945), - 457: uint16(1946), - 458: uint16(1831), - 459: uint16(1820), - 460: uint16(1842), - 461: uint16(1948), - 462: uint16(1948), - 463: uint16(1952), - 464: uint16(1833), - 465: uint16(1954), - 466: uint16(1834), - 467: uint16(1961), - 468: uint16(1978), - 469: uint16(1838), - 470: uint16(1851), - 471: uint16(1948), - 472: uint16(1852), - 473: uint16(1922), - 474: uint16(1947), - 475: uint16(1948), - 476: uint16(1836), - 477: uint16(1932), - 478: uint16(1935), - 479: uint16(1936), - 480: uint16(1942), - 481: uint16(1866), - 482: uint16(1881), - 483: uint16(1964), - 484: uint16(1859), - 485: uint16(1998), - 486: uint16(1996), - 487: uint16(1980), - 488: uint16(1888), - 489: uint16(1843), - 490: uint16(1937), - 491: uint16(1981), - 492: uint16(1939), - 493: uint16(1933), - 494: uint16(1968), - 495: uint16(1869), - 496: uint16(1896), - 497: uint16(1988), - 498: uint16(1993), - 499: uint16(1995), - 500: uint16(1884), - 501: uint16(1891), - 502: uint16(1997), - 503: uint16(1953), - 504: uint16(1999), - 505: uint16(2000), - 506: uint16(1994), - 507: uint16(2001), - 508: uint16(1957), - 509: uint16(1966), - 510: uint16(2002), - 511: uint16(1931), - 512: uint16(1990), - 513: uint16(2006), - 514: uint16(1962), - 515: uint16(2003), - 516: uint16(2007), - 517: uint16(2004), - 518: uint16(1882), - 519: uint16(2010), - 520: uint16(2011), - 521: uint16(2012), - 522: uint16(2008), - 523: uint16(2013), - 524: uint16(2015), - 525: uint16(1944), - 526: uint16(1898), - 527: uint16(2019), - 528: uint16(2020), - 529: uint16(1928), - 530: uint16(2014), - 531: uint16(2023), - 532: uint16(1903), - 533: uint16(2022), - 534: uint16(2016), - 535: uint16(2017), - 536: uint16(2018), - 537: uint16(2021), - 538: uint16(1965), - 539: uint16(1974), - 540: uint16(1970), - 541: uint16(2024), - 542: uint16(1979), - 543: uint16(1967), - 544: uint16(2025), - 545: uint16(2034), - 546: uint16(2036), - 547: uint16(2037), - 548: uint16(2038), - 549: uint16(2039), - 550: uint16(2028), - 551: uint16(1923), - 552: uint16(1924), - 553: uint16(2044), - 554: uint16(2022), - 555: uint16(2046), - 556: uint16(2047), - 557: uint16(2048), - 558: uint16(2049), - 559: uint16(2050), - 560: uint16(2051), - 561: uint16(2054), - 562: uint16(2062), - 563: uint16(2055), - 564: uint16(2056), - 565: uint16(2057), - 566: uint16(2058), - 567: uint16(2060), - 568: uint16(2061), - 569: uint16(2059), - 570: uint16(1956), - 571: uint16(1938), - 572: uint16(1949), - 573: uint16(1958), - 574: uint16(2063), - 575: uint16(2064), - 576: uint16(2070), - 577: uint16(2085), - 578: uint16(2088), -} -var _yy_reduce_ofst = [411]int16{ - 0: int16(-int32(125)), - 1: int16(733), - 2: int16(789), - 3: int16(241), - 4: int16(293), - 5: int16(-int32(123)), - 6: int16(-int32(193)), - 7: int16(-int32(191)), - 8: int16(-int32(183)), - 9: int16(-int32(187)), - 10: int16(166), - 11: int16(238), - 12: int16(133), - 13: int16(-int32(207)), - 14: int16(-int32(199)), - 15: int16(-int32(267)), - 16: int16(-int32(176)), - 17: int16(-int32(6)), - 18: int16(204), - 19: int16(489), - 20: int16(576), - 21: int16(598), - 22: int16(-int32(175)), - 23: int16(686), - 24: int16(860), - 25: int16(615), - 26: int16(725), - 27: int16(1014), - 28: int16(778), - 29: int16(781), - 30: int16(857), - 31: int16(616), - 32: int16(887), - 33: int16(87), - 34: int16(240), - 35: int16(-int32(192)), - 36: int16(408), - 37: int16(626), - 38: int16(796), - 39: int16(843), - 40: int16(854), - 41: int16(1004), - 42: int16(-int32(271)), - 43: int16(-int32(271)), - 44: int16(-int32(271)), - 45: int16(-int32(271)), - 46: int16(-int32(271)), - 47: int16(-int32(271)), - 48: int16(-int32(271)), - 49: int16(-int32(271)), - 50: int16(-int32(271)), - 51: int16(-int32(271)), - 52: int16(-int32(271)), - 53: int16(-int32(271)), - 54: int16(-int32(271)), - 55: int16(-int32(271)), - 56: int16(-int32(271)), - 57: int16(-int32(271)), - 58: int16(-int32(271)), - 59: int16(-int32(271)), - 60: int16(-int32(271)), - 61: int16(-int32(271)), - 62: int16(-int32(271)), - 63: int16(-int32(271)), - 64: int16(-int32(271)), - 65: int16(-int32(271)), - 66: int16(-int32(271)), - 67: int16(-int32(271)), - 68: int16(-int32(271)), - 69: int16(-int32(271)), - 70: int16(-int32(271)), - 71: int16(-int32(271)), - 72: int16(-int32(271)), - 73: int16(-int32(271)), - 74: int16(-int32(271)), - 75: int16(-int32(271)), - 76: int16(-int32(271)), - 77: int16(-int32(271)), - 78: int16(-int32(271)), - 79: int16(80), - 80: int16(83), - 81: int16(313), - 82: int16(886), - 83: int16(888), - 84: int16(918), - 85: int16(938), - 86: int16(1021), - 87: int16(1034), - 88: int16(1036), - 89: int16(1141), - 90: int16(1159), - 91: int16(1163), - 92: int16(1166), - 93: int16(1168), - 94: int16(1170), - 95: int16(1176), - 96: int16(1178), - 97: int16(1180), - 98: int16(1184), - 99: int16(1196), - 100: int16(1198), - 101: int16(1205), - 102: int16(1215), - 103: int16(1225), - 104: int16(1227), - 105: int16(1236), - 106: int16(1252), - 107: int16(1254), - 108: int16(1264), - 109: int16(1303), - 110: int16(1309), - 111: int16(1312), - 112: int16(1322), - 113: int16(1325), - 114: int16(1328), - 115: int16(1337), - 116: int16(1340), - 117: int16(1343), - 118: int16(1353), - 119: int16(1371), - 120: int16(1373), - 121: int16(1384), - 122: int16(1386), - 123: int16(1411), - 124: int16(1413), - 125: int16(1420), - 126: int16(1424), - 127: int16(1426), - 128: int16(1458), - 129: int16(1470), - 130: int16(1473), - 131: int16(-int32(271)), - 132: int16(-int32(271)), - 133: int16(-int32(271)), - 134: int16(-int32(271)), - 135: int16(-int32(271)), - 136: int16(-int32(271)), - 137: int16(-int32(271)), - 138: int16(-int32(271)), - 139: int16(-int32(271)), - 140: int16(-int32(271)), - 141: int16(-int32(271)), - 142: int16(138), - 143: int16(459), - 144: int16(396), - 145: int16(-int32(158)), - 146: int16(470), - 147: int16(302), - 148: int16(-int32(212)), - 149: int16(521), - 150: int16(201), - 151: int16(-int32(195)), - 152: int16(-int32(92)), - 153: int16(559), - 154: int16(630), - 155: int16(632), - 156: int16(630), - 157: int16(-int32(271)), - 158: int16(632), - 159: int16(901), - 160: int16(63), - 161: int16(407), - 162: int16(670), - 163: int16(-int32(271)), - 164: int16(-int32(271)), - 165: int16(-int32(271)), - 166: int16(-int32(271)), - 167: int16(161), - 168: int16(161), - 169: int16(161), - 170: int16(251), - 171: int16(335), - 172: int16(847), - 173: int16(979), - 174: int16(1097), - 175: int16(537), - 176: int16(588), - 177: int16(618), - 178: int16(628), - 179: int16(688), - 180: int16(688), - 181: int16(-int32(166)), - 182: int16(-int32(161)), - 183: int16(674), - 184: int16(787), - 185: int16(794), - 186: int16(799), - 187: int16(852), - 188: int16(996), - 189: int16(-int32(122)), - 190: int16(837), - 191: int16(-int32(120)), - 192: int16(1018), - 193: int16(1035), - 194: int16(415), - 195: int16(1047), - 196: int16(1001), - 197: int16(958), - 198: int16(1082), - 199: int16(400), - 200: int16(1099), - 201: int16(779), - 202: int16(1137), - 203: int16(1142), - 204: int16(263), - 205: int16(1083), - 206: int16(1145), - 207: int16(1150), - 208: int16(1041), - 209: int16(1139), - 210: int16(965), - 211: int16(1050), - 212: int16(362), - 213: int16(849), - 214: int16(752), - 215: int16(629), - 216: int16(675), - 217: int16(1162), - 218: int16(1173), - 219: int16(1090), - 220: int16(1195), - 221: int16(-int32(194)), - 222: int16(56), - 223: int16(185), - 224: int16(-int32(135)), - 225: int16(232), - 226: int16(522), - 227: int16(560), - 228: int16(571), - 229: int16(601), - 230: int16(617), - 231: int16(669), - 232: int16(683), - 233: int16(711), - 234: int16(850), - 235: int16(893), - 236: int16(1000), - 237: int16(1040), - 238: int16(1049), - 239: int16(1081), - 240: int16(1087), - 241: int16(1101), - 242: int16(392), - 243: int16(1114), - 244: int16(1123), - 245: int16(1155), - 246: int16(1161), - 247: int16(1175), - 248: int16(1271), - 249: int16(1293), - 250: int16(1299), - 251: int16(1330), - 252: int16(1339), - 253: int16(1342), - 254: int16(1347), - 255: int16(593), - 256: int16(1282), - 257: int16(1286), - 258: int16(1350), - 259: int16(1359), - 260: int16(1368), - 261: int16(1314), - 262: int16(1480), - 263: int16(1483), - 264: int16(1507), - 265: int16(1085), - 266: int16(1338), - 267: int16(1526), - 268: int16(1527), - 269: int16(1487), - 270: int16(1531), - 271: int16(560), - 272: int16(1532), - 273: int16(1534), - 274: int16(1535), - 275: int16(1538), - 276: int16(1539), - 277: int16(1541), - 278: int16(1448), - 279: int16(1450), - 280: int16(1496), - 281: int16(1484), - 282: int16(1485), - 283: int16(1489), - 284: int16(1490), - 285: int16(1314), - 286: int16(1496), - 287: int16(1496), - 288: int16(1504), - 289: int16(1536), - 290: int16(1564), - 291: int16(1451), - 292: int16(1486), - 293: int16(1492), - 294: int16(1509), - 295: int16(1493), - 296: int16(1465), - 297: int16(1515), - 298: int16(1494), - 299: int16(1495), - 300: int16(1517), - 301: int16(1500), - 302: int16(1519), - 303: int16(1474), - 304: int16(1550), - 305: int16(1543), - 306: int16(1548), - 307: int16(1556), - 308: int16(1565), - 309: int16(1566), - 310: int16(1518), - 311: int16(1523), - 312: int16(1542), - 313: int16(1544), - 314: int16(1525), - 315: int16(1545), - 316: int16(1513), - 317: int16(1553), - 318: int16(1552), - 319: int16(1604), - 320: int16(1508), - 321: int16(1510), - 322: int16(1608), - 323: int16(1609), - 324: int16(1520), - 325: int16(1528), - 326: int16(1612), - 327: int16(1540), - 328: int16(1559), - 329: int16(1560), - 330: int16(1592), - 331: int16(1591), - 332: int16(1595), - 333: int16(1596), - 334: int16(1597), - 335: int16(1629), - 336: int16(1638), - 337: int16(1594), - 338: int16(1569), - 339: int16(1570), - 340: int16(1600), - 341: int16(1568), - 342: int16(1610), - 343: int16(1601), - 344: int16(1611), - 345: int16(1603), - 346: int16(1643), - 347: int16(1651), - 348: int16(1562), - 349: int16(1571), - 350: int16(1655), - 351: int16(1659), - 352: int16(1640), - 353: int16(1663), - 354: int16(1666), - 355: int16(1664), - 356: int16(1667), - 357: int16(1641), - 358: int16(1650), - 359: int16(1652), - 360: int16(1653), - 361: int16(1647), - 362: int16(1656), - 363: int16(1657), - 364: int16(1658), - 365: int16(1668), - 366: int16(1672), - 367: int16(1681), - 368: int16(1649), - 369: int16(1682), - 370: int16(1683), - 371: int16(1573), - 372: int16(1582), - 373: int16(1607), - 374: int16(1615), - 375: int16(1685), - 376: int16(1702), - 377: int16(1586), - 378: int16(1587), - 379: int16(1642), - 380: int16(1646), - 381: int16(1673), - 382: int16(1675), - 383: int16(1636), - 384: int16(1714), - 385: int16(1637), - 386: int16(1677), - 387: int16(1674), - 388: int16(1678), - 389: int16(1694), - 390: int16(1719), - 391: int16(1734), - 392: int16(1735), - 393: int16(1746), - 394: int16(1747), - 395: int16(1750), - 396: int16(1633), - 397: int16(1661), + 76: uint16(1093), + 77: uint16(1093), + 78: uint16(1093), + 79: uint16(1093), + 80: uint16(1093), + 81: uint16(1093), + 82: uint16(1093), + 83: uint16(1113), + 84: uint16(1093), + 85: uint16(1216), + 86: uint16(957), + 87: uint16(957), + 88: uint16(1523), + 89: uint16(1602), + 90: uint16(1674), + 91: uint16(1828), + 92: uint16(1828), + 93: uint16(1828), + 94: uint16(1828), + 95: uint16(1828), + 96: uint16(1828), + 97: uint16(1828), + 98: uint16(1828), + 99: uint16(1828), + 100: uint16(1828), + 101: uint16(1828), + 102: uint16(1828), + 103: uint16(1828), + 104: uint16(1828), + 105: uint16(1828), + 106: uint16(1828), + 107: uint16(1828), + 108: uint16(1828), + 109: uint16(1828), + 110: uint16(1828), + 111: uint16(1828), + 112: uint16(1828), + 113: uint16(1828), + 114: uint16(1828), + 115: uint16(1828), + 116: uint16(1828), + 117: uint16(1828), + 118: uint16(1828), + 119: uint16(1828), + 120: uint16(1828), + 121: uint16(1828), + 122: uint16(1828), + 123: uint16(1828), + 124: uint16(1828), + 125: uint16(1828), + 126: uint16(1828), + 127: uint16(1828), + 128: uint16(1828), + 129: uint16(1828), + 130: uint16(1828), + 131: uint16(1828), + 132: uint16(1828), + 133: uint16(1828), + 134: uint16(1828), + 135: uint16(1828), + 136: uint16(1828), + 137: uint16(1828), + 138: uint16(1828), + 139: uint16(1828), + 140: uint16(137), + 141: uint16(181), + 142: uint16(181), + 143: uint16(181), + 144: uint16(181), + 145: uint16(181), + 146: uint16(181), + 147: uint16(181), + 148: uint16(96), + 149: uint16(222), + 150: uint16(143), + 151: uint16(477), + 152: uint16(713), + 153: uint16(1133), + 154: uint16(1268), + 155: uint16(713), + 156: uint16(713), + 157: uint16(79), + 158: uint16(79), + 159: uint16(713), + 160: uint16(770), + 161: uint16(83), + 162: uint16(65), + 163: uint16(65), + 164: uint16(65), + 165: uint16(288), + 166: uint16(162), + 167: uint16(162), + 168: uint16(2142), + 169: uint16(2142), + 170: uint16(696), + 171: uint16(696), + 172: uint16(696), + 173: uint16(238), + 174: uint16(474), + 175: uint16(474), + 176: uint16(474), + 177: uint16(474), + 178: uint16(1217), + 179: uint16(1217), + 180: uint16(678), + 181: uint16(477), + 182: uint16(324), + 183: uint16(398), + 184: uint16(713), + 185: uint16(713), + 186: uint16(713), + 187: uint16(713), + 188: uint16(713), + 189: uint16(713), + 190: uint16(713), + 191: uint16(713), + 192: uint16(713), + 193: uint16(713), + 194: uint16(713), + 195: uint16(713), + 196: uint16(713), + 197: uint16(713), + 198: uint16(713), + 199: uint16(713), + 200: uint16(713), + 201: uint16(713), + 202: uint16(713), + 203: uint16(1220), + 204: uint16(366), + 205: uint16(366), + 206: uint16(713), + 207: uint16(917), + 208: uint16(283), + 209: uint16(283), + 210: uint16(434), + 211: uint16(434), + 212: uint16(605), + 213: uint16(605), + 214: uint16(1298), + 215: uint16(2142), + 216: uint16(2142), + 217: uint16(2142), + 218: uint16(2142), + 219: uint16(2142), + 220: uint16(2142), + 221: uint16(2142), + 222: uint16(1179), + 223: uint16(1157), + 224: uint16(1157), + 225: uint16(487), + 226: uint16(527), + 227: uint16(585), + 228: uint16(645), + 229: uint16(749), + 230: uint16(914), + 231: uint16(968), + 232: uint16(752), + 233: uint16(713), + 234: uint16(713), + 235: uint16(713), + 236: uint16(713), + 237: uint16(713), + 238: uint16(713), + 239: uint16(713), + 240: uint16(713), + 241: uint16(713), + 242: uint16(713), + 243: uint16(303), + 244: uint16(713), + 245: uint16(713), + 246: uint16(713), + 247: uint16(713), + 248: uint16(713), + 249: uint16(713), + 250: uint16(713), + 251: uint16(713), + 252: uint16(713), + 253: uint16(713), + 254: uint16(713), + 255: uint16(713), + 256: uint16(797), + 257: uint16(797), + 258: uint16(797), + 259: uint16(713), + 260: uint16(713), + 261: uint16(713), + 262: uint16(959), + 263: uint16(713), + 264: uint16(713), + 265: uint16(713), + 266: uint16(1169), + 267: uint16(1271), + 268: uint16(713), + 269: uint16(713), + 270: uint16(1330), + 271: uint16(713), + 272: uint16(713), + 273: uint16(713), + 274: uint16(713), + 275: uint16(713), + 276: uint16(713), + 277: uint16(713), + 278: uint16(713), + 279: uint16(629), + 280: uint16(7), + 281: uint16(91), + 282: uint16(876), + 283: uint16(876), + 284: uint16(876), + 285: uint16(876), + 286: uint16(953), + 287: uint16(91), + 288: uint16(91), + 289: uint16(1246), + 290: uint16(1065), + 291: uint16(1106), + 292: uint16(1374), + 293: uint16(1329), + 294: uint16(1348), + 295: uint16(468), + 296: uint16(1348), + 297: uint16(1394), + 298: uint16(785), + 299: uint16(1329), + 300: uint16(1329), + 301: uint16(785), + 302: uint16(1329), + 303: uint16(468), + 304: uint16(1394), + 305: uint16(859), + 306: uint16(854), + 307: uint16(1402), + 308: uint16(1449), + 309: uint16(1449), + 310: uint16(1449), + 311: uint16(1173), + 312: uint16(1173), + 313: uint16(1173), + 314: uint16(1173), + 315: uint16(1355), + 316: uint16(1355), + 317: uint16(1030), + 318: uint16(1341), + 319: uint16(405), + 320: uint16(1230), + 321: uint16(1795), + 322: uint16(1795), + 323: uint16(1711), + 324: uint16(1711), + 325: uint16(1829), + 326: uint16(1829), + 327: uint16(1711), + 328: uint16(1717), + 329: uint16(1719), + 330: uint16(1850), + 331: uint16(1833), + 332: uint16(1860), + 333: uint16(1860), + 334: uint16(1860), + 335: uint16(1860), + 336: uint16(1711), + 337: uint16(1868), + 338: uint16(1740), + 339: uint16(1719), + 340: uint16(1719), + 341: uint16(1740), + 342: uint16(1850), + 343: uint16(1833), + 344: uint16(1740), + 345: uint16(1833), + 346: uint16(1740), + 347: uint16(1711), + 348: uint16(1868), + 349: uint16(1745), + 350: uint16(1843), + 351: uint16(1711), + 352: uint16(1868), + 353: uint16(1887), + 354: uint16(1711), + 355: uint16(1868), + 356: uint16(1711), + 357: uint16(1868), + 358: uint16(1887), + 359: uint16(1801), + 360: uint16(1801), + 361: uint16(1801), + 362: uint16(1855), + 363: uint16(1900), + 364: uint16(1900), + 365: uint16(1887), + 366: uint16(1801), + 367: uint16(1797), + 368: uint16(1801), + 369: uint16(1855), + 370: uint16(1801), + 371: uint16(1801), + 372: uint16(1761), + 373: uint16(1912), + 374: uint16(1830), + 375: uint16(1830), + 376: uint16(1887), + 377: uint16(1711), + 378: uint16(1862), + 379: uint16(1862), + 380: uint16(1875), + 381: uint16(1875), + 382: uint16(1810), + 383: uint16(1815), + 384: uint16(1940), + 385: uint16(1711), + 386: uint16(1807), + 387: uint16(1810), + 388: uint16(1821), + 389: uint16(1823), + 390: uint16(1740), + 391: uint16(1945), + 392: uint16(1963), + 393: uint16(1963), + 394: uint16(1974), + 395: uint16(1974), + 396: uint16(1974), + 397: uint16(2142), + 398: uint16(2142), + 399: uint16(2142), + 400: uint16(2142), + 401: uint16(2142), + 402: uint16(2142), + 403: uint16(2142), + 404: uint16(2142), + 405: uint16(2142), + 406: uint16(2142), + 407: uint16(2142), + 408: uint16(2142), + 409: uint16(2142), + 410: uint16(2142), + 411: uint16(2142), + 412: uint16(20), + 413: uint16(1224), + 414: uint16(256), + 415: uint16(1111), + 416: uint16(1115), + 417: uint16(1114), + 418: uint16(1192), + 419: uint16(1496), + 420: uint16(1424), + 421: uint16(1505), + 422: uint16(1427), + 423: uint16(355), + 424: uint16(1383), + 425: uint16(1537), + 426: uint16(1506), + 427: uint16(1538), + 428: uint16(1553), + 429: uint16(1583), + 430: uint16(1584), + 431: uint16(1591), + 432: uint16(1625), + 433: uint16(541), + 434: uint16(1445), + 435: uint16(1562), + 436: uint16(1450), + 437: uint16(1572), + 438: uint16(1515), + 439: uint16(1428), + 440: uint16(1532), + 441: uint16(1592), + 442: uint16(1629), + 443: uint16(1520), + 444: uint16(1630), + 445: uint16(1639), + 446: uint16(1510), + 447: uint16(1544), + 448: uint16(1662), + 449: uint16(1675), + 450: uint16(1551), + 451: uint16(48), + 452: uint16(1996), + 453: uint16(2001), + 454: uint16(1983), + 455: uint16(1844), + 456: uint16(1993), + 457: uint16(1994), + 458: uint16(1986), + 459: uint16(1989), + 460: uint16(1874), + 461: uint16(1863), + 462: uint16(1885), + 463: uint16(1991), + 464: uint16(1991), + 465: uint16(1995), + 466: uint16(1876), + 467: uint16(1997), + 468: uint16(1877), + 469: uint16(2004), + 470: uint16(2021), + 471: uint16(1881), + 472: uint16(1894), + 473: uint16(1991), + 474: uint16(1895), + 475: uint16(1965), + 476: uint16(1990), + 477: uint16(1991), + 478: uint16(1878), + 479: uint16(1975), + 480: uint16(1977), + 481: uint16(1978), + 482: uint16(1979), + 483: uint16(1903), + 484: uint16(1918), + 485: uint16(2002), + 486: uint16(1896), + 487: uint16(2034), + 488: uint16(2033), + 489: uint16(2017), + 490: uint16(1925), + 491: uint16(1880), + 492: uint16(1976), + 493: uint16(2018), + 494: uint16(1980), + 495: uint16(1967), + 496: uint16(2005), + 497: uint16(1904), + 498: uint16(1932), + 499: uint16(2025), + 500: uint16(2030), + 501: uint16(2032), + 502: uint16(1921), + 503: uint16(1928), + 504: uint16(2035), + 505: uint16(1987), + 506: uint16(2036), + 507: uint16(2037), + 508: uint16(2038), + 509: uint16(2040), + 510: uint16(1988), + 511: uint16(2006), + 512: uint16(2039), + 513: uint16(1960), + 514: uint16(2041), + 515: uint16(2042), + 516: uint16(1999), + 517: uint16(2023), + 518: uint16(2044), + 519: uint16(2043), + 520: uint16(1919), + 521: uint16(2048), + 522: uint16(2049), + 523: uint16(2050), + 524: uint16(2046), + 525: uint16(2051), + 526: uint16(2053), + 527: uint16(1981), + 528: uint16(1935), + 529: uint16(2056), + 530: uint16(2057), + 531: uint16(1966), + 532: uint16(2047), + 533: uint16(2061), + 534: uint16(1941), + 535: uint16(2060), + 536: uint16(2052), + 537: uint16(2054), + 538: uint16(2055), + 539: uint16(2058), + 540: uint16(2003), + 541: uint16(2012), + 542: uint16(2007), + 543: uint16(2059), + 544: uint16(2015), + 545: uint16(2008), + 546: uint16(2062), + 547: uint16(2071), + 548: uint16(2073), + 549: uint16(2074), + 550: uint16(2072), + 551: uint16(2075), + 552: uint16(2065), + 553: uint16(1962), + 554: uint16(1964), + 555: uint16(2079), + 556: uint16(2060), + 557: uint16(2082), + 558: uint16(2084), + 559: uint16(2085), + 560: uint16(2087), + 561: uint16(2086), + 562: uint16(2089), + 563: uint16(2088), + 564: uint16(2091), + 565: uint16(2093), + 566: uint16(2099), + 567: uint16(2094), + 568: uint16(2095), + 569: uint16(2096), + 570: uint16(2097), + 571: uint16(2100), + 572: uint16(2101), + 573: uint16(2102), + 574: uint16(1998), + 575: uint16(1984), + 576: uint16(1985), + 577: uint16(2000), + 578: uint16(2103), + 579: uint16(2098), + 580: uint16(2109), + 581: uint16(2117), + 582: uint16(2128), +} +var _yy_reduce_ofst = [412]int16{ + 0: int16(-int32(71)), + 1: int16(194), + 2: int16(343), + 3: int16(835), + 4: int16(-int32(180)), + 5: int16(-int32(177)), + 6: int16(838), + 7: int16(-int32(194)), + 8: int16(-int32(188)), + 9: int16(-int32(185)), + 10: int16(-int32(183)), + 11: int16(82), + 12: int16(183), + 13: int16(-int32(65)), + 14: int16(133), + 15: int16(245), + 16: int16(346), + 17: int16(407), + 18: int16(458), + 19: int16(-int32(178)), + 20: int16(75), + 21: int16(-int32(275)), + 22: int16(-int32(4)), + 23: int16(310), + 24: int16(312), + 25: int16(489), + 26: int16(575), + 27: int16(596), + 28: int16(463), + 29: int16(686), + 30: int16(707), + 31: int16(725), + 32: int16(780), + 33: int16(1098), + 34: int16(856), + 35: int16(778), + 36: int16(1059), + 37: int16(1090), + 38: int16(708), + 39: int16(887), + 40: int16(86), + 41: int16(448), + 42: int16(980), + 43: int16(630), + 44: int16(680), + 45: int16(681), + 46: int16(684), + 47: int16(796), + 48: int16(801), + 49: int16(796), + 50: int16(801), + 51: int16(-int32(261)), + 52: int16(-int32(261)), + 53: int16(-int32(261)), + 54: int16(-int32(261)), + 55: int16(-int32(261)), + 56: int16(-int32(261)), + 57: int16(-int32(261)), + 58: int16(-int32(261)), + 59: int16(-int32(261)), + 60: int16(-int32(261)), + 61: int16(-int32(261)), + 62: int16(-int32(261)), + 63: int16(-int32(261)), + 64: int16(-int32(261)), + 65: int16(-int32(261)), + 66: int16(-int32(261)), + 67: int16(-int32(261)), + 68: int16(-int32(261)), + 69: int16(-int32(261)), + 70: int16(-int32(261)), + 71: int16(-int32(261)), + 72: int16(-int32(261)), + 73: int16(-int32(261)), + 74: int16(-int32(261)), + 75: int16(-int32(261)), + 76: int16(-int32(261)), + 77: int16(-int32(261)), + 78: int16(-int32(261)), + 79: int16(-int32(261)), + 80: int16(-int32(261)), + 81: int16(-int32(261)), + 82: int16(-int32(261)), + 83: int16(-int32(261)), + 84: int16(-int32(261)), + 85: int16(-int32(261)), + 86: int16(-int32(261)), + 87: int16(-int32(261)), + 88: int16(391), + 89: int16(886), + 90: int16(888), + 91: int16(1013), + 92: int16(1016), + 93: int16(1081), + 94: int16(1087), + 95: int16(1151), + 96: int16(1159), + 97: int16(1177), + 98: int16(1185), + 99: int16(1188), + 100: int16(1190), + 101: int16(1194), + 102: int16(1197), + 103: int16(1203), + 104: int16(1247), + 105: int16(1260), + 106: int16(1264), + 107: int16(1267), + 108: int16(1269), + 109: int16(1273), + 110: int16(1315), + 111: int16(1322), + 112: int16(1335), + 113: int16(1337), + 114: int16(1356), + 115: int16(1362), + 116: int16(1418), + 117: int16(1425), + 118: int16(1453), + 119: int16(1457), + 120: int16(1465), + 121: int16(1473), + 122: int16(1487), + 123: int16(1495), + 124: int16(1507), + 125: int16(1517), + 126: int16(1521), + 127: int16(1534), + 128: int16(1543), + 129: int16(1546), + 130: int16(1549), + 131: int16(1552), + 132: int16(1554), + 133: int16(1560), + 134: int16(1581), + 135: int16(1590), + 136: int16(1593), + 137: int16(1595), + 138: int16(1621), + 139: int16(1623), + 140: int16(-int32(261)), + 141: int16(-int32(261)), + 142: int16(-int32(261)), + 143: int16(-int32(261)), + 144: int16(-int32(261)), + 145: int16(-int32(261)), + 146: int16(-int32(261)), + 147: int16(-int32(261)), + 148: int16(-int32(261)), + 149: int16(-int32(261)), + 150: int16(-int32(261)), + 151: int16(-int32(186)), + 152: int16(-int32(117)), + 153: int16(260), + 154: int16(263), + 155: int16(460), + 156: int16(631), + 157: int16(-int32(74)), + 158: int16(497), + 159: int16(-int32(181)), + 160: int16(-int32(261)), + 161: int16(939), + 162: int16(176), + 163: int16(274), + 164: int16(338), + 165: int16(676), + 166: int16(-int32(261)), + 167: int16(-int32(261)), + 168: int16(-int32(261)), + 169: int16(-int32(261)), + 170: int16(-int32(212)), + 171: int16(-int32(212)), + 172: int16(-int32(212)), + 173: int16(-int32(184)), + 174: int16(149), + 175: int16(777), + 176: int16(1061), + 177: int16(1103), + 178: int16(265), + 179: int16(419), + 180: int16(-int32(254)), + 181: int16(670), + 182: int16(677), + 183: int16(677), + 184: int16(-int32(11)), + 185: int16(-int32(129)), + 186: int16(184), + 187: int16(488), + 188: int16(736), + 189: int16(789), + 190: int16(805), + 191: int16(844), + 192: int16(403), + 193: int16(529), + 194: int16(579), + 195: int16(668), + 196: int16(783), + 197: int16(841), + 198: int16(1158), + 199: int16(1112), + 200: int16(806), + 201: int16(861), + 202: int16(1095), + 203: int16(846), + 204: int16(839), + 205: int16(1031), + 206: int16(-int32(189)), + 207: int16(1077), + 208: int16(1080), + 209: int16(1116), + 210: int16(1084), + 211: int16(1156), + 212: int16(1139), + 213: int16(1221), + 214: int16(46), + 215: int16(1099), + 216: int16(1037), + 217: int16(1118), + 218: int16(1171), + 219: int16(1214), + 220: int16(1210), + 221: int16(1258), + 222: int16(-int32(210)), + 223: int16(-int32(190)), + 224: int16(-int32(176)), + 225: int16(-int32(115)), + 226: int16(117), + 227: int16(262), + 228: int16(376), + 229: int16(490), + 230: int16(511), + 231: int16(520), + 232: int16(618), + 233: int16(639), + 234: int16(743), + 235: int16(901), + 236: int16(907), + 237: int16(958), + 238: int16(1014), + 239: int16(1055), + 240: int16(1108), + 241: int16(1193), + 242: int16(1244), + 243: int16(720), + 244: int16(1248), + 245: int16(1277), + 246: int16(1324), + 247: int16(1347), + 248: int16(1417), + 249: int16(1431), + 250: int16(1432), + 251: int16(1440), + 252: int16(1451), + 253: int16(1452), + 254: int16(1463), + 255: int16(1478), + 256: int16(1286), + 257: int16(1350), + 258: int16(1369), + 259: int16(1490), + 260: int16(1498), + 261: int16(1501), + 262: int16(773), + 263: int16(1509), + 264: int16(1513), + 265: int16(1528), + 266: int16(1292), + 267: int16(1367), + 268: int16(1535), + 269: int16(1536), + 270: int16(1477), + 271: int16(1542), + 272: int16(376), + 273: int16(1547), + 274: int16(1550), + 275: int16(1555), + 276: int16(1559), + 277: int16(1568), + 278: int16(1571), + 279: int16(1441), + 280: int16(1443), + 281: int16(1474), + 282: int16(1511), + 283: int16(1516), + 284: int16(1519), + 285: int16(1522), + 286: int16(773), + 287: int16(1474), + 288: int16(1474), + 289: int16(1503), + 290: int16(1567), + 291: int16(1594), + 292: int16(1484), + 293: int16(1527), + 294: int16(1556), + 295: int16(1570), + 296: int16(1557), + 297: int16(1524), + 298: int16(1573), + 299: int16(1545), + 300: int16(1548), + 301: int16(1576), + 302: int16(1561), + 303: int16(1587), + 304: int16(1540), + 305: int16(1575), + 306: int16(1606), + 307: int16(1611), + 308: int16(1622), + 309: int16(1624), + 310: int16(1626), + 311: int16(1582), + 312: int16(1597), + 313: int16(1598), + 314: int16(1599), + 315: int16(1601), + 316: int16(1603), + 317: int16(1563), + 318: int16(1608), + 319: int16(1605), + 320: int16(1604), + 321: int16(1564), + 322: int16(1566), + 323: int16(1655), + 324: int16(1660), + 325: int16(1578), + 326: int16(1579), + 327: int16(1665), + 328: int16(1586), + 329: int16(1607), + 330: int16(1610), + 331: int16(1642), + 332: int16(1641), + 333: int16(1645), + 334: int16(1646), + 335: int16(1647), + 336: int16(1679), + 337: int16(1688), + 338: int16(1644), + 339: int16(1618), + 340: int16(1619), + 341: int16(1648), + 342: int16(1628), + 343: int16(1659), + 344: int16(1649), + 345: int16(1663), + 346: int16(1650), + 347: int16(1700), + 348: int16(1702), + 349: int16(1612), + 350: int16(1615), + 351: int16(1706), + 352: int16(1708), + 353: int16(1689), + 354: int16(1709), + 355: int16(1712), + 356: int16(1713), + 357: int16(1715), + 358: int16(1691), + 359: int16(1698), + 360: int16(1699), + 361: int16(1701), + 362: int16(1693), + 363: int16(1704), + 364: int16(1707), + 365: int16(1705), + 366: int16(1714), + 367: int16(1703), + 368: int16(1718), + 369: int16(1710), + 370: int16(1720), + 371: int16(1721), + 372: int16(1632), + 373: int16(1634), + 374: int16(1664), + 375: int16(1666), + 376: int16(1729), + 377: int16(1751), + 378: int16(1635), + 379: int16(1636), + 380: int16(1692), + 381: int16(1694), + 382: int16(1716), + 383: int16(1722), + 384: int16(1684), + 385: int16(1763), + 386: int16(1685), + 387: int16(1723), + 388: int16(1724), + 389: int16(1727), + 390: int16(1730), + 391: int16(1768), + 392: int16(1783), + 393: int16(1784), + 394: int16(1793), + 395: int16(1794), + 396: int16(1796), + 397: int16(1683), 398: int16(1686), - 399: int16(1738), - 400: int16(1728), - 401: int16(1733), - 402: int16(1736), - 403: int16(1737), - 404: int16(1740), - 405: int16(1726), - 406: int16(1730), - 407: int16(1742), - 408: int16(1743), - 409: int16(1748), - 410: int16(1753), -} -var _yy_default = [579]uint16{ - 0: uint16(1648), - 1: uint16(1648), - 2: uint16(1648), - 3: uint16(1478), - 4: uint16(1243), - 5: uint16(1354), - 6: uint16(1243), - 7: uint16(1243), - 8: uint16(1243), - 9: uint16(1478), - 10: uint16(1478), - 11: uint16(1478), - 12: uint16(1243), - 13: uint16(1384), - 14: uint16(1384), - 15: uint16(1531), - 16: uint16(1276), - 17: uint16(1243), - 18: uint16(1243), - 19: uint16(1243), - 20: uint16(1243), - 21: uint16(1243), - 22: uint16(1243), - 23: uint16(1243), - 24: uint16(1243), - 25: uint16(1243), - 26: uint16(1243), - 27: uint16(1243), - 28: uint16(1477), - 29: uint16(1243), - 30: uint16(1243), - 31: uint16(1243), - 32: uint16(1243), - 33: uint16(1564), - 34: uint16(1564), - 35: uint16(1243), - 36: uint16(1243), - 37: uint16(1243), - 38: uint16(1243), - 39: uint16(1243), - 40: uint16(1243), - 41: uint16(1243), - 42: uint16(1243), - 43: uint16(1393), - 44: uint16(1243), - 45: uint16(1400), - 46: uint16(1243), - 47: uint16(1243), - 48: uint16(1243), - 49: uint16(1243), - 50: uint16(1243), - 51: uint16(1479), - 52: uint16(1480), - 53: uint16(1243), - 54: uint16(1243), - 55: uint16(1243), - 56: uint16(1530), - 57: uint16(1532), - 58: uint16(1495), - 59: uint16(1407), - 60: uint16(1406), - 61: uint16(1405), - 62: uint16(1404), - 63: uint16(1513), - 64: uint16(1372), - 65: uint16(1398), - 66: uint16(1391), - 67: uint16(1395), - 68: uint16(1474), - 69: uint16(1475), - 70: uint16(1473), - 71: uint16(1626), - 72: uint16(1480), - 73: uint16(1479), - 74: uint16(1243), - 75: uint16(1394), - 76: uint16(1442), - 77: uint16(1458), - 78: uint16(1441), - 79: uint16(1243), - 80: uint16(1243), - 81: uint16(1243), - 82: uint16(1243), - 83: uint16(1243), - 84: uint16(1243), - 85: uint16(1243), - 86: uint16(1243), - 87: uint16(1243), - 88: uint16(1243), - 89: uint16(1243), - 90: uint16(1243), - 91: uint16(1243), - 92: uint16(1243), - 93: uint16(1243), - 94: uint16(1243), - 95: uint16(1243), - 96: uint16(1243), - 97: uint16(1243), - 98: uint16(1243), - 99: uint16(1243), - 100: uint16(1243), - 101: uint16(1243), - 102: uint16(1243), - 103: uint16(1243), - 104: uint16(1243), - 105: uint16(1243), - 106: uint16(1243), - 107: uint16(1243), - 108: uint16(1243), - 109: uint16(1243), - 110: uint16(1243), - 111: uint16(1243), - 112: uint16(1243), - 113: uint16(1243), - 114: uint16(1243), - 115: uint16(1243), - 116: uint16(1243), - 117: uint16(1243), - 118: uint16(1243), - 119: uint16(1243), - 120: uint16(1243), - 121: uint16(1243), - 122: uint16(1243), - 123: uint16(1243), - 124: uint16(1243), - 125: uint16(1243), - 126: uint16(1243), - 127: uint16(1243), - 128: uint16(1243), - 129: uint16(1243), - 130: uint16(1243), - 131: uint16(1450), - 132: uint16(1457), - 133: uint16(1456), - 134: uint16(1455), - 135: uint16(1464), - 136: uint16(1454), - 137: uint16(1451), - 138: uint16(1444), - 139: uint16(1443), - 140: uint16(1445), - 141: uint16(1446), - 142: uint16(1243), - 143: uint16(1243), - 144: uint16(1267), - 145: uint16(1243), - 146: uint16(1243), - 147: uint16(1264), - 148: uint16(1318), - 149: uint16(1243), - 150: uint16(1243), - 151: uint16(1243), - 152: uint16(1243), - 153: uint16(1243), - 154: uint16(1550), - 155: uint16(1549), - 156: uint16(1243), - 157: uint16(1447), - 158: uint16(1243), - 159: uint16(1276), - 160: uint16(1435), - 161: uint16(1434), - 162: uint16(1433), - 163: uint16(1461), - 164: uint16(1448), - 165: uint16(1460), - 166: uint16(1459), - 167: uint16(1538), - 168: uint16(1600), - 169: uint16(1599), - 170: uint16(1496), - 171: uint16(1243), - 172: uint16(1243), - 173: uint16(1243), - 174: uint16(1243), - 175: uint16(1243), - 176: uint16(1243), - 177: uint16(1564), - 178: uint16(1243), - 179: uint16(1243), - 180: uint16(1243), - 181: uint16(1243), - 182: uint16(1243), - 183: uint16(1243), - 184: uint16(1243), - 185: uint16(1243), - 186: uint16(1243), - 187: uint16(1243), - 188: uint16(1243), - 189: uint16(1243), - 190: uint16(1243), - 191: uint16(1243), - 192: uint16(1243), - 193: uint16(1243), - 194: uint16(1243), - 195: uint16(1243), - 196: uint16(1243), - 197: uint16(1243), - 198: uint16(1243), - 199: uint16(1243), - 200: uint16(1243), - 201: uint16(1374), - 202: uint16(1564), - 203: uint16(1564), - 204: uint16(1243), - 205: uint16(1276), - 206: uint16(1564), - 207: uint16(1564), - 208: uint16(1375), - 209: uint16(1375), - 210: uint16(1272), - 211: uint16(1272), - 212: uint16(1378), - 213: uint16(1243), - 214: uint16(1545), - 215: uint16(1345), - 216: uint16(1345), - 217: uint16(1345), - 218: uint16(1345), - 219: uint16(1354), - 220: uint16(1345), - 221: uint16(1243), - 222: uint16(1243), - 223: uint16(1243), - 224: uint16(1243), - 225: uint16(1243), - 226: uint16(1243), - 227: uint16(1243), - 228: uint16(1243), - 229: uint16(1243), - 230: uint16(1243), - 231: uint16(1243), - 232: uint16(1243), - 233: uint16(1243), - 234: uint16(1243), - 235: uint16(1243), - 236: uint16(1535), - 237: uint16(1533), - 238: uint16(1243), - 239: uint16(1243), - 240: uint16(1243), - 241: uint16(1243), - 242: uint16(1243), - 243: uint16(1243), - 244: uint16(1243), - 245: uint16(1243), - 246: uint16(1243), - 247: uint16(1243), - 248: uint16(1243), - 249: uint16(1243), - 250: uint16(1243), - 251: uint16(1243), - 252: uint16(1243), - 253: uint16(1243), - 254: uint16(1243), - 255: uint16(1243), - 256: uint16(1243), - 257: uint16(1243), - 258: uint16(1243), - 259: uint16(1243), - 260: uint16(1243), - 261: uint16(1243), - 262: uint16(1243), - 263: uint16(1243), - 264: uint16(1243), - 265: uint16(1350), - 266: uint16(1243), - 267: uint16(1243), - 268: uint16(1243), - 269: uint16(1243), - 270: uint16(1243), - 271: uint16(1243), - 272: uint16(1243), - 273: uint16(1243), - 274: uint16(1243), - 275: uint16(1243), - 276: uint16(1243), - 277: uint16(1593), - 278: uint16(1243), - 279: uint16(1508), - 280: uint16(1332), - 281: uint16(1350), - 282: uint16(1350), - 283: uint16(1350), - 284: uint16(1350), - 285: uint16(1352), - 286: uint16(1333), - 287: uint16(1331), - 288: uint16(1344), - 289: uint16(1277), - 290: uint16(1250), - 291: uint16(1640), - 292: uint16(1410), - 293: uint16(1399), - 294: uint16(1351), - 295: uint16(1399), - 296: uint16(1637), - 297: uint16(1397), + 399: int16(1690), + 400: int16(1782), + 401: int16(1779), + 402: int16(1780), + 403: int16(1781), + 404: int16(1785), + 405: int16(1788), + 406: int16(1774), + 407: int16(1775), + 408: int16(1786), + 409: int16(1787), + 410: int16(1789), + 411: int16(1798), +} +var _yy_default = [583]uint16{ + 0: uint16(1663), + 1: uint16(1663), + 2: uint16(1663), + 3: uint16(1491), + 4: uint16(1254), + 5: uint16(1367), + 6: uint16(1254), + 7: uint16(1254), + 8: uint16(1254), + 9: uint16(1254), + 10: uint16(1491), + 11: uint16(1491), + 12: uint16(1491), + 13: uint16(1254), + 14: uint16(1254), + 15: uint16(1254), + 16: uint16(1254), + 17: uint16(1254), + 18: uint16(1254), + 19: uint16(1397), + 20: uint16(1397), + 21: uint16(1544), + 22: uint16(1287), + 23: uint16(1254), + 24: uint16(1254), + 25: uint16(1254), + 26: uint16(1254), + 27: uint16(1254), + 28: uint16(1254), + 29: uint16(1254), + 30: uint16(1254), + 31: uint16(1254), + 32: uint16(1254), + 33: uint16(1254), + 34: uint16(1254), + 35: uint16(1490), + 36: uint16(1254), + 37: uint16(1254), + 38: uint16(1254), + 39: uint16(1254), + 40: uint16(1578), + 41: uint16(1578), + 42: uint16(1254), + 43: uint16(1254), + 44: uint16(1254), + 45: uint16(1254), + 46: uint16(1254), + 47: uint16(1563), + 48: uint16(1562), + 49: uint16(1254), + 50: uint16(1254), + 51: uint16(1254), + 52: uint16(1406), + 53: uint16(1254), + 54: uint16(1413), + 55: uint16(1254), + 56: uint16(1254), + 57: uint16(1254), + 58: uint16(1254), + 59: uint16(1254), + 60: uint16(1492), + 61: uint16(1493), + 62: uint16(1254), + 63: uint16(1254), + 64: uint16(1254), + 65: uint16(1543), + 66: uint16(1545), + 67: uint16(1508), + 68: uint16(1420), + 69: uint16(1419), + 70: uint16(1418), + 71: uint16(1417), + 72: uint16(1526), + 73: uint16(1385), + 74: uint16(1411), + 75: uint16(1404), + 76: uint16(1408), + 77: uint16(1487), + 78: uint16(1488), + 79: uint16(1486), + 80: uint16(1641), + 81: uint16(1493), + 82: uint16(1492), + 83: uint16(1254), + 84: uint16(1407), + 85: uint16(1455), + 86: uint16(1471), + 87: uint16(1454), + 88: uint16(1254), + 89: uint16(1254), + 90: uint16(1254), + 91: uint16(1254), + 92: uint16(1254), + 93: uint16(1254), + 94: uint16(1254), + 95: uint16(1254), + 96: uint16(1254), + 97: uint16(1254), + 98: uint16(1254), + 99: uint16(1254), + 100: uint16(1254), + 101: uint16(1254), + 102: uint16(1254), + 103: uint16(1254), + 104: uint16(1254), + 105: uint16(1254), + 106: uint16(1254), + 107: uint16(1254), + 108: uint16(1254), + 109: uint16(1254), + 110: uint16(1254), + 111: uint16(1254), + 112: uint16(1254), + 113: uint16(1254), + 114: uint16(1254), + 115: uint16(1254), + 116: uint16(1254), + 117: uint16(1254), + 118: uint16(1254), + 119: uint16(1254), + 120: uint16(1254), + 121: uint16(1254), + 122: uint16(1254), + 123: uint16(1254), + 124: uint16(1254), + 125: uint16(1254), + 126: uint16(1254), + 127: uint16(1254), + 128: uint16(1254), + 129: uint16(1254), + 130: uint16(1254), + 131: uint16(1254), + 132: uint16(1254), + 133: uint16(1254), + 134: uint16(1254), + 135: uint16(1254), + 136: uint16(1254), + 137: uint16(1254), + 138: uint16(1254), + 139: uint16(1254), + 140: uint16(1463), + 141: uint16(1470), + 142: uint16(1469), + 143: uint16(1468), + 144: uint16(1477), + 145: uint16(1467), + 146: uint16(1464), + 147: uint16(1457), + 148: uint16(1456), + 149: uint16(1458), + 150: uint16(1459), + 151: uint16(1278), + 152: uint16(1254), + 153: uint16(1275), + 154: uint16(1329), + 155: uint16(1254), + 156: uint16(1254), + 157: uint16(1254), + 158: uint16(1254), + 159: uint16(1254), + 160: uint16(1460), + 161: uint16(1287), + 162: uint16(1448), + 163: uint16(1447), + 164: uint16(1446), + 165: uint16(1254), + 166: uint16(1474), + 167: uint16(1461), + 168: uint16(1473), + 169: uint16(1472), + 170: uint16(1551), + 171: uint16(1615), + 172: uint16(1614), + 173: uint16(1509), + 174: uint16(1254), + 175: uint16(1254), + 176: uint16(1254), + 177: uint16(1254), + 178: uint16(1254), + 179: uint16(1254), + 180: uint16(1578), + 181: uint16(1254), + 182: uint16(1254), + 183: uint16(1254), + 184: uint16(1254), + 185: uint16(1254), + 186: uint16(1254), + 187: uint16(1254), + 188: uint16(1254), + 189: uint16(1254), + 190: uint16(1254), + 191: uint16(1254), + 192: uint16(1254), + 193: uint16(1254), + 194: uint16(1254), + 195: uint16(1254), + 196: uint16(1254), + 197: uint16(1254), + 198: uint16(1254), + 199: uint16(1254), + 200: uint16(1254), + 201: uint16(1254), + 202: uint16(1254), + 203: uint16(1387), + 204: uint16(1578), + 205: uint16(1578), + 206: uint16(1254), + 207: uint16(1287), + 208: uint16(1578), + 209: uint16(1578), + 210: uint16(1388), + 211: uint16(1388), + 212: uint16(1283), + 213: uint16(1283), + 214: uint16(1391), + 215: uint16(1558), + 216: uint16(1358), + 217: uint16(1358), + 218: uint16(1358), + 219: uint16(1358), + 220: uint16(1367), + 221: uint16(1358), + 222: uint16(1254), + 223: uint16(1254), + 224: uint16(1254), + 225: uint16(1254), + 226: uint16(1254), + 227: uint16(1254), + 228: uint16(1254), + 229: uint16(1254), + 230: uint16(1254), + 231: uint16(1254), + 232: uint16(1254), + 233: uint16(1254), + 234: uint16(1254), + 235: uint16(1254), + 236: uint16(1254), + 237: uint16(1548), + 238: uint16(1546), + 239: uint16(1254), + 240: uint16(1254), + 241: uint16(1254), + 242: uint16(1254), + 243: uint16(1254), + 244: uint16(1254), + 245: uint16(1254), + 246: uint16(1254), + 247: uint16(1254), + 248: uint16(1254), + 249: uint16(1254), + 250: uint16(1254), + 251: uint16(1254), + 252: uint16(1254), + 253: uint16(1254), + 254: uint16(1254), + 255: uint16(1254), + 256: uint16(1254), + 257: uint16(1254), + 258: uint16(1254), + 259: uint16(1254), + 260: uint16(1254), + 261: uint16(1254), + 262: uint16(1254), + 263: uint16(1254), + 264: uint16(1254), + 265: uint16(1254), + 266: uint16(1363), + 267: uint16(1254), + 268: uint16(1254), + 269: uint16(1254), + 270: uint16(1254), + 271: uint16(1254), + 272: uint16(1254), + 273: uint16(1254), + 274: uint16(1254), + 275: uint16(1254), + 276: uint16(1254), + 277: uint16(1254), + 278: uint16(1608), + 279: uint16(1254), + 280: uint16(1521), + 281: uint16(1343), + 282: uint16(1363), + 283: uint16(1363), + 284: uint16(1363), + 285: uint16(1363), + 286: uint16(1365), + 287: uint16(1344), + 288: uint16(1342), + 289: uint16(1357), + 290: uint16(1288), + 291: uint16(1261), + 292: uint16(1655), + 293: uint16(1423), + 294: uint16(1412), + 295: uint16(1364), + 296: uint16(1412), + 297: uint16(1652), 298: uint16(1410), - 299: uint16(1410), - 300: uint16(1397), + 299: uint16(1423), + 300: uint16(1423), 301: uint16(1410), - 302: uint16(1351), - 303: uint16(1637), - 304: uint16(1293), - 305: uint16(1615), - 306: uint16(1288), - 307: uint16(1384), - 308: uint16(1384), - 309: uint16(1384), - 310: uint16(1374), - 311: uint16(1374), - 312: uint16(1374), - 313: uint16(1374), - 314: uint16(1378), - 315: uint16(1378), - 316: uint16(1476), - 317: uint16(1351), - 318: uint16(1344), - 319: uint16(1243), - 320: uint16(1640), - 321: uint16(1640), - 322: uint16(1360), - 323: uint16(1360), - 324: uint16(1639), - 325: uint16(1639), - 326: uint16(1360), - 327: uint16(1496), - 328: uint16(1623), - 329: uint16(1419), - 330: uint16(1321), - 331: uint16(1327), - 332: uint16(1327), - 333: uint16(1327), - 334: uint16(1327), - 335: uint16(1360), - 336: uint16(1261), - 337: uint16(1397), - 338: uint16(1623), - 339: uint16(1623), - 340: uint16(1397), - 341: uint16(1419), - 342: uint16(1321), - 343: uint16(1397), - 344: uint16(1321), - 345: uint16(1397), - 346: uint16(1360), - 347: uint16(1261), - 348: uint16(1512), - 349: uint16(1634), - 350: uint16(1360), - 351: uint16(1261), - 352: uint16(1486), - 353: uint16(1360), - 354: uint16(1261), - 355: uint16(1360), - 356: uint16(1261), - 357: uint16(1486), - 358: uint16(1319), - 359: uint16(1319), - 360: uint16(1319), - 361: uint16(1308), - 362: uint16(1243), - 363: uint16(1243), - 364: uint16(1486), - 365: uint16(1319), - 366: uint16(1293), - 367: uint16(1319), - 368: uint16(1308), + 302: uint16(1423), + 303: uint16(1364), + 304: uint16(1652), + 305: uint16(1304), + 306: uint16(1630), + 307: uint16(1299), + 308: uint16(1397), + 309: uint16(1397), + 310: uint16(1397), + 311: uint16(1387), + 312: uint16(1387), + 313: uint16(1387), + 314: uint16(1387), + 315: uint16(1391), + 316: uint16(1391), + 317: uint16(1489), + 318: uint16(1364), + 319: uint16(1357), + 320: uint16(1254), + 321: uint16(1655), + 322: uint16(1655), + 323: uint16(1373), + 324: uint16(1373), + 325: uint16(1654), + 326: uint16(1654), + 327: uint16(1373), + 328: uint16(1509), + 329: uint16(1638), + 330: uint16(1432), + 331: uint16(1332), + 332: uint16(1338), + 333: uint16(1338), + 334: uint16(1338), + 335: uint16(1338), + 336: uint16(1373), + 337: uint16(1272), + 338: uint16(1410), + 339: uint16(1638), + 340: uint16(1638), + 341: uint16(1410), + 342: uint16(1432), + 343: uint16(1332), + 344: uint16(1410), + 345: uint16(1332), + 346: uint16(1410), + 347: uint16(1373), + 348: uint16(1272), + 349: uint16(1525), + 350: uint16(1649), + 351: uint16(1373), + 352: uint16(1272), + 353: uint16(1499), + 354: uint16(1373), + 355: uint16(1272), + 356: uint16(1373), + 357: uint16(1272), + 358: uint16(1499), + 359: uint16(1330), + 360: uint16(1330), + 361: uint16(1330), + 362: uint16(1319), + 363: uint16(1254), + 364: uint16(1254), + 365: uint16(1499), + 366: uint16(1330), + 367: uint16(1304), + 368: uint16(1330), 369: uint16(1319), - 370: uint16(1319), - 371: uint16(1582), - 372: uint16(1243), - 373: uint16(1490), - 374: uint16(1490), - 375: uint16(1486), - 376: uint16(1360), - 377: uint16(1574), - 378: uint16(1574), - 379: uint16(1387), - 380: uint16(1387), - 381: uint16(1392), - 382: uint16(1378), - 383: uint16(1481), - 384: uint16(1360), - 385: uint16(1243), - 386: uint16(1392), - 387: uint16(1390), - 388: uint16(1388), - 389: uint16(1397), - 390: uint16(1311), - 391: uint16(1596), - 392: uint16(1596), - 393: uint16(1592), - 394: uint16(1592), - 395: uint16(1592), - 396: uint16(1645), - 397: uint16(1645), - 398: uint16(1545), - 399: uint16(1608), - 400: uint16(1276), - 401: uint16(1276), - 402: uint16(1276), - 403: uint16(1276), - 404: uint16(1608), - 405: uint16(1295), - 406: uint16(1295), - 407: uint16(1277), - 408: uint16(1277), - 409: uint16(1276), - 410: uint16(1608), - 411: uint16(1243), - 412: uint16(1243), - 413: uint16(1243), - 414: uint16(1243), - 415: uint16(1243), - 416: uint16(1243), - 417: uint16(1603), - 418: uint16(1243), - 419: uint16(1540), - 420: uint16(1497), - 421: uint16(1364), - 422: uint16(1243), - 423: uint16(1243), - 424: uint16(1243), - 425: uint16(1243), - 426: uint16(1243), - 427: uint16(1243), - 428: uint16(1243), - 429: uint16(1243), - 430: uint16(1243), - 431: uint16(1243), - 432: uint16(1243), - 433: uint16(1243), - 434: uint16(1243), - 435: uint16(1243), - 436: uint16(1243), - 437: uint16(1243), - 438: uint16(1551), - 439: uint16(1243), - 440: uint16(1243), - 441: uint16(1243), - 442: uint16(1243), - 443: uint16(1243), - 444: uint16(1243), - 445: uint16(1243), - 446: uint16(1243), - 447: uint16(1243), - 448: uint16(1243), - 449: uint16(1424), - 450: uint16(1243), - 451: uint16(1246), - 452: uint16(1542), - 453: uint16(1243), - 454: uint16(1243), - 455: uint16(1243), - 456: uint16(1243), - 457: uint16(1243), - 458: uint16(1243), - 459: uint16(1243), - 460: uint16(1243), - 461: uint16(1401), - 462: uint16(1402), - 463: uint16(1365), - 464: uint16(1243), - 465: uint16(1243), - 466: uint16(1243), - 467: uint16(1243), - 468: uint16(1243), - 469: uint16(1243), - 470: uint16(1243), - 471: uint16(1416), - 472: uint16(1243), - 473: uint16(1243), - 474: uint16(1243), - 475: uint16(1411), - 476: uint16(1243), - 477: uint16(1243), - 478: uint16(1243), - 479: uint16(1243), - 480: uint16(1243), - 481: uint16(1243), - 482: uint16(1243), - 483: uint16(1243), - 484: uint16(1636), - 485: uint16(1243), - 486: uint16(1243), - 487: uint16(1243), - 488: uint16(1243), - 489: uint16(1243), - 490: uint16(1243), - 491: uint16(1511), - 492: uint16(1510), - 493: uint16(1243), - 494: uint16(1243), - 495: uint16(1362), - 496: uint16(1243), - 497: uint16(1243), - 498: uint16(1243), - 499: uint16(1243), - 500: uint16(1243), - 501: uint16(1243), - 502: uint16(1243), - 503: uint16(1243), - 504: uint16(1243), - 505: uint16(1243), - 506: uint16(1243), - 507: uint16(1243), - 508: uint16(1243), - 509: uint16(1291), - 510: uint16(1243), - 511: uint16(1243), - 512: uint16(1243), - 513: uint16(1243), - 514: uint16(1243), - 515: uint16(1243), - 516: uint16(1243), - 517: uint16(1243), - 518: uint16(1243), - 519: uint16(1243), - 520: uint16(1243), - 521: uint16(1243), - 522: uint16(1243), - 523: uint16(1243), - 524: uint16(1243), - 525: uint16(1243), - 526: uint16(1243), - 527: uint16(1243), - 528: uint16(1243), - 529: uint16(1243), - 530: uint16(1243), - 531: uint16(1243), - 532: uint16(1243), - 533: uint16(1389), - 534: uint16(1243), - 535: uint16(1243), - 536: uint16(1243), - 537: uint16(1243), - 538: uint16(1243), - 539: uint16(1243), - 540: uint16(1243), - 541: uint16(1243), - 542: uint16(1243), - 543: uint16(1243), - 544: uint16(1243), - 545: uint16(1243), - 546: uint16(1243), - 547: uint16(1243), - 548: uint16(1579), - 549: uint16(1379), - 550: uint16(1243), - 551: uint16(1243), - 552: uint16(1243), - 553: uint16(1243), - 554: uint16(1627), - 555: uint16(1243), - 556: uint16(1243), - 557: uint16(1243), - 558: uint16(1243), - 559: uint16(1243), - 560: uint16(1243), - 561: uint16(1243), - 562: uint16(1243), - 563: uint16(1243), - 564: uint16(1243), - 565: uint16(1243), - 566: uint16(1243), - 567: uint16(1243), - 568: uint16(1243), - 569: uint16(1619), - 570: uint16(1335), - 571: uint16(1425), - 572: uint16(1243), - 573: uint16(1428), - 574: uint16(1265), - 575: uint16(1243), - 576: uint16(1255), - 577: uint16(1243), - 578: uint16(1243), + 370: uint16(1330), + 371: uint16(1330), + 372: uint16(1596), + 373: uint16(1254), + 374: uint16(1503), + 375: uint16(1503), + 376: uint16(1499), + 377: uint16(1373), + 378: uint16(1588), + 379: uint16(1588), + 380: uint16(1400), + 381: uint16(1400), + 382: uint16(1405), + 383: uint16(1391), + 384: uint16(1494), + 385: uint16(1373), + 386: uint16(1254), + 387: uint16(1405), + 388: uint16(1403), + 389: uint16(1401), + 390: uint16(1410), + 391: uint16(1322), + 392: uint16(1611), + 393: uint16(1611), + 394: uint16(1607), + 395: uint16(1607), + 396: uint16(1607), + 397: uint16(1660), + 398: uint16(1660), + 399: uint16(1558), + 400: uint16(1623), + 401: uint16(1287), + 402: uint16(1287), + 403: uint16(1287), + 404: uint16(1287), + 405: uint16(1623), + 406: uint16(1306), + 407: uint16(1306), + 408: uint16(1288), + 409: uint16(1288), + 410: uint16(1287), + 411: uint16(1623), + 412: uint16(1254), + 413: uint16(1254), + 414: uint16(1254), + 415: uint16(1254), + 416: uint16(1254), + 417: uint16(1254), + 418: uint16(1618), + 419: uint16(1254), + 420: uint16(1553), + 421: uint16(1510), + 422: uint16(1377), + 423: uint16(1254), + 424: uint16(1254), + 425: uint16(1254), + 426: uint16(1254), + 427: uint16(1254), + 428: uint16(1254), + 429: uint16(1254), + 430: uint16(1254), + 431: uint16(1254), + 432: uint16(1254), + 433: uint16(1254), + 434: uint16(1254), + 435: uint16(1254), + 436: uint16(1254), + 437: uint16(1254), + 438: uint16(1254), + 439: uint16(1564), + 440: uint16(1254), + 441: uint16(1254), + 442: uint16(1254), + 443: uint16(1254), + 444: uint16(1254), + 445: uint16(1254), + 446: uint16(1254), + 447: uint16(1254), + 448: uint16(1254), + 449: uint16(1254), + 450: uint16(1254), + 451: uint16(1437), + 452: uint16(1254), + 453: uint16(1257), + 454: uint16(1555), + 455: uint16(1254), + 456: uint16(1254), + 457: uint16(1254), + 458: uint16(1254), + 459: uint16(1254), + 460: uint16(1254), + 461: uint16(1254), + 462: uint16(1254), + 463: uint16(1414), + 464: uint16(1415), + 465: uint16(1378), + 466: uint16(1254), + 467: uint16(1254), + 468: uint16(1254), + 469: uint16(1254), + 470: uint16(1254), + 471: uint16(1254), + 472: uint16(1254), + 473: uint16(1429), + 474: uint16(1254), + 475: uint16(1254), + 476: uint16(1254), + 477: uint16(1424), + 478: uint16(1254), + 479: uint16(1254), + 480: uint16(1254), + 481: uint16(1254), + 482: uint16(1254), + 483: uint16(1254), + 484: uint16(1254), + 485: uint16(1254), + 486: uint16(1651), + 487: uint16(1254), + 488: uint16(1254), + 489: uint16(1254), + 490: uint16(1254), + 491: uint16(1254), + 492: uint16(1254), + 493: uint16(1524), + 494: uint16(1523), + 495: uint16(1254), + 496: uint16(1254), + 497: uint16(1375), + 498: uint16(1254), + 499: uint16(1254), + 500: uint16(1254), + 501: uint16(1254), + 502: uint16(1254), + 503: uint16(1254), + 504: uint16(1254), + 505: uint16(1254), + 506: uint16(1254), + 507: uint16(1254), + 508: uint16(1254), + 509: uint16(1254), + 510: uint16(1254), + 511: uint16(1302), + 512: uint16(1254), + 513: uint16(1254), + 514: uint16(1254), + 515: uint16(1254), + 516: uint16(1254), + 517: uint16(1254), + 518: uint16(1254), + 519: uint16(1254), + 520: uint16(1254), + 521: uint16(1254), + 522: uint16(1254), + 523: uint16(1254), + 524: uint16(1254), + 525: uint16(1254), + 526: uint16(1254), + 527: uint16(1254), + 528: uint16(1254), + 529: uint16(1254), + 530: uint16(1254), + 531: uint16(1254), + 532: uint16(1254), + 533: uint16(1254), + 534: uint16(1254), + 535: uint16(1402), + 536: uint16(1254), + 537: uint16(1254), + 538: uint16(1254), + 539: uint16(1254), + 540: uint16(1254), + 541: uint16(1254), + 542: uint16(1254), + 543: uint16(1254), + 544: uint16(1254), + 545: uint16(1254), + 546: uint16(1254), + 547: uint16(1254), + 548: uint16(1254), + 549: uint16(1254), + 550: uint16(1593), + 551: uint16(1392), + 552: uint16(1254), + 553: uint16(1254), + 554: uint16(1254), + 555: uint16(1254), + 556: uint16(1642), + 557: uint16(1254), + 558: uint16(1254), + 559: uint16(1254), + 560: uint16(1254), + 561: uint16(1352), + 562: uint16(1254), + 563: uint16(1254), + 564: uint16(1254), + 565: uint16(1254), + 566: uint16(1254), + 567: uint16(1254), + 568: uint16(1254), + 569: uint16(1254), + 570: uint16(1254), + 571: uint16(1254), + 572: uint16(1254), + 573: uint16(1634), + 574: uint16(1346), + 575: uint16(1438), + 576: uint16(1254), + 577: uint16(1441), + 578: uint16(1276), + 579: uint16(1254), + 580: uint16(1266), + 581: uint16(1254), + 582: uint16(1254), } /********** End of lemon-generated parsing tables *****************************/ @@ -153119,7 +154487,7 @@ var _yy_default = [579]uint16{ // ** to revert to identifiers if they keyword does not apply in the context where // ** it appears. // */ -var _yyFallback = [185]uint16{ +var _yyFallback = [186]uint16{ 2: uint16(59), 3: uint16(59), 4: uint16(59), @@ -153232,8 +154600,9 @@ type yyStackEntry = TyyStackEntry type TyyParser1 = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser1 = TyyParser1 @@ -153241,14 +154610,46 @@ type yyParser1 = TyyParser1 type TyyParser = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser = TyyParser /* #include */ +// C documentation +// +// /* +// ** Try to increase the size of the parser stack. Return the number +// ** of errors. Return 0 on success. +// */ +func _yyGrowStack(tls *libc.TLS, p uintptr) (r int32) { + var idx, newSize, oldSize int32 + var pNew uintptr + _, _, _, _ = idx, newSize, oldSize, pNew + oldSize = int32(1) + int32((int64((*TyyParser)(unsafe.Pointer(p)).FyystackEnd)-int64((*TyyParser)(unsafe.Pointer(p)).Fyystack))/24) + newSize = oldSize*int32(2) + int32(100) + idx = int32((int64((*TyyParser)(unsafe.Pointer(p)).Fyytos) - int64((*TyyParser)(unsafe.Pointer(p)).Fyystack)) / 24) + if (*TyyParser)(unsafe.Pointer(p)).Fyystack == p+32 { + pNew = _parserStackRealloc(tls, uintptr(0), uint64(uint64(uint64(newSize))*uint64(24))) + if pNew == uintptr(0) { + return int32(1) + } + libc.Xmemcpy(tls, pNew, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(uint64(oldSize))*uint64(24)) + } else { + pNew = _parserStackRealloc(tls, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(uint64(uint64(newSize))*uint64(24))) + if pNew == uintptr(0) { + return int32(1) + } + } + (*TyyParser)(unsafe.Pointer(p)).Fyystack = pNew + (*TyyParser)(unsafe.Pointer(p)).Fyytos = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(idx)*24 + (*TyyParser)(unsafe.Pointer(p)).FyystackEnd = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(newSize-int32(1))*24 + return 0 +} + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -153264,10 +154665,11 @@ func _sqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { _ = yypParser yypParser = yypRawParser (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fstateno = uint16(0) - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fmajor = uint16(0) - (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = yypParser + 16 + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack = yypParser + 32 + (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fstateno = uint16(0) + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fmajor = uint16(0) } // C documentation @@ -153295,103 +154697,105 @@ func _yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor u ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case int32(204): /* select */ + case int32(205): /* select */ + fallthrough + case int32(240): /* selectnowith */ fallthrough - case int32(239): /* selectnowith */ + case int32(241): /* oneselect */ fallthrough - case int32(240): /* oneselect */ + case int32(253): /* values */ fallthrough - case int32(252): /* values */ + case int32(255): /* mvalues */ _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(216): /* term */ + case int32(217): /* term */ fallthrough - case int32(217): /* expr */ + case int32(218): /* expr */ fallthrough - case int32(246): /* where_opt */ + case int32(247): /* where_opt */ fallthrough - case int32(248): /* having_opt */ + case int32(249): /* having_opt */ fallthrough - case int32(267): /* where_opt_ret */ + case int32(269): /* where_opt_ret */ fallthrough - case int32(278): /* case_operand */ + case int32(280): /* case_operand */ fallthrough - case int32(280): /* case_else */ + case int32(282): /* case_else */ fallthrough - case int32(283): /* vinto */ + case int32(285): /* vinto */ fallthrough - case int32(290): /* when_clause */ + case int32(292): /* when_clause */ fallthrough - case int32(295): /* key_opt */ + case int32(297): /* key_opt */ fallthrough - case int32(311): /* filter_clause */ + case int32(314): /* filter_clause */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(221): /* eidlist_opt */ + case int32(222): /* eidlist_opt */ fallthrough - case int32(231): /* sortlist */ + case int32(232): /* sortlist */ fallthrough - case int32(232): /* eidlist */ + case int32(233): /* eidlist */ fallthrough - case int32(244): /* selcollist */ + case int32(245): /* selcollist */ fallthrough - case int32(247): /* groupby_opt */ + case int32(248): /* groupby_opt */ fallthrough - case int32(249): /* orderby_opt */ + case int32(250): /* orderby_opt */ fallthrough - case int32(253): /* nexprlist */ + case int32(254): /* nexprlist */ fallthrough - case int32(254): /* sclp */ + case int32(256): /* sclp */ fallthrough - case int32(261): /* exprlist */ + case int32(263): /* exprlist */ fallthrough - case int32(268): /* setlist */ + case int32(270): /* setlist */ fallthrough - case int32(277): /* paren_exprlist */ + case int32(279): /* paren_exprlist */ fallthrough - case int32(279): /* case_exprlist */ + case int32(281): /* case_exprlist */ fallthrough - case int32(310): /* part_opt */ + case int32(313): /* part_opt */ _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(238): /* fullname */ + case int32(239): /* fullname */ fallthrough - case int32(245): /* from */ + case int32(246): /* from */ fallthrough - case int32(256): /* seltablist */ + case int32(258): /* seltablist */ fallthrough - case int32(257): /* stl_prefix */ + case int32(259): /* stl_prefix */ fallthrough - case int32(262): /* xfullname */ + case int32(264): /* xfullname */ _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(241): /* wqlist */ + case int32(242): /* wqlist */ _sqlite3WithDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(251): /* window_clause */ + case int32(252): /* window_clause */ fallthrough - case int32(306): /* windowdefn_list */ + case int32(309): /* windowdefn_list */ _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(263): /* idlist */ + case int32(265): /* idlist */ fallthrough - case int32(270): /* idlist_opt */ + case int32(272): /* idlist_opt */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(273): /* filter_over */ + case int32(275): /* filter_over */ fallthrough - case int32(307): /* windowdefn */ + case int32(310): /* windowdefn */ fallthrough - case int32(308): /* window */ + case int32(311): /* window */ fallthrough - case int32(309): /* frame_opt */ + case int32(312): /* frame_opt */ fallthrough - case int32(312): /* over_clause */ + case int32(315): /* over_clause */ _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(286): /* trigger_cmd_list */ + case int32(288): /* trigger_cmd_list */ fallthrough - case int32(291): /* trigger_cmd */ + case int32(293): /* trigger_cmd */ _sqlite3DeleteTriggerStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(288): /* trigger_event */ + case int32(290): /* trigger_event */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TTrigEvent)(unsafe.Pointer(yypminor))).Fb) - case int32(314): /* frame_bound */ + case int32(317): /* frame_bound */ fallthrough - case int32(315): /* frame_bound_s */ + case int32(318): /* frame_bound_s */ fallthrough - case int32(316): /* frame_bound_e */ + case int32(319): /* frame_bound_e */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TFrameBound)(unsafe.Pointer(yypminor))).FpExpr) break /********* End destructor definitions *****************************************/ @@ -153425,11 +154829,20 @@ func _yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var pParser, yytos uintptr + _, _ = pParser, yytos pParser = p - for (*TyyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { - _yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling yy_pop_parser_stack() for each + ** element left in the stack */ + yytos = (*TyyParser)(unsafe.Pointer(pParser)).Fyytos + for yytos > (*TyyParser)(unsafe.Pointer(pParser)).Fyystack { + if int32((*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor) >= int32(YY_MIN_DSTRCTR) { + _yy_destructor(tls, pParser, (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor, yytos+8) + } + yytos -= 24 + } + if (*TyyParser)(unsafe.Pointer(pParser)).Fyystack != pParser+32 { + Xsqlite3_free(tls, (*TyyParser)(unsafe.Pointer(pParser)).Fyystack) } } @@ -153510,13 +154923,13 @@ func _yyStackOverflow(tls *libc.TLS, yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*TyyParser)(unsafe.Pointer(yypParser)).FpParse - for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { + for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack { _yy_pop_parser_stack(tls, yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23340, 0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) /******** End %stack_overflow code ********************************************/ /* Suppress warning about unused %extra_argument var */ (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -153535,15 +154948,18 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint var yytos uintptr _ = yytos (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 - if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 - _yyStackOverflow(tls, yypParser) - return + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + if yytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { + if _yyGrowStack(tls, yypParser) != 0 { + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 + _yyStackOverflow(tls, yypParser) + return + } + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos } if int32(int32(yyNewState)) > int32(YY_MAX_SHIFT) { yyNewState = uint16(int32(yyNewState) + (libc.Int32FromInt32(YY_MIN_REDUCE) - libc.Int32FromInt32(YY_MIN_SHIFTREDUCE))) } - yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos (*TyyStackEntry)(unsafe.Pointer(yytos)).Fstateno = yyNewState (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor = yyMajor *(*TToken)(unsafe.Pointer(yytos + 8)) = yyMinor @@ -153553,419 +154969,423 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint // // /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side // ** of that rule */ -var _yyRuleInfoLhs = [405]uint16{ - 0: uint16(189), - 1: uint16(189), - 2: uint16(188), - 3: uint16(190), - 4: uint16(191), - 5: uint16(191), - 6: uint16(191), - 7: uint16(191), - 8: uint16(190), - 9: uint16(190), - 10: uint16(190), - 11: uint16(190), - 12: uint16(190), - 13: uint16(195), - 14: uint16(197), - 15: uint16(199), - 16: uint16(199), - 17: uint16(198), - 18: uint16(198), - 19: uint16(196), - 20: uint16(196), - 21: uint16(203), - 22: uint16(203), - 23: uint16(205), - 24: uint16(205), - 25: uint16(206), - 26: uint16(208), - 27: uint16(208), - 28: uint16(208), - 29: uint16(209), - 30: uint16(213), - 31: uint16(214), - 32: uint16(215), - 33: uint16(215), - 34: uint16(215), - 35: uint16(215), - 36: uint16(215), - 37: uint16(215), - 38: uint16(215), - 39: uint16(215), - 40: uint16(215), - 41: uint16(215), - 42: uint16(215), - 43: uint16(215), - 44: uint16(215), - 45: uint16(224), - 46: uint16(224), - 47: uint16(220), - 48: uint16(220), - 49: uint16(222), - 50: uint16(222), - 51: uint16(225), - 52: uint16(225), - 53: uint16(225), - 54: uint16(225), - 55: uint16(226), - 56: uint16(226), - 57: uint16(226), - 58: uint16(226), - 59: uint16(226), - 60: uint16(223), - 61: uint16(223), - 62: uint16(227), - 63: uint16(227), - 64: uint16(227), - 65: uint16(202), - 66: uint16(229), - 67: uint16(230), - 68: uint16(230), - 69: uint16(230), - 70: uint16(230), - 71: uint16(230), - 72: uint16(233), - 73: uint16(218), - 74: uint16(218), - 75: uint16(234), - 76: uint16(234), - 77: uint16(235), - 78: uint16(235), - 79: uint16(190), - 80: uint16(237), - 81: uint16(237), - 82: uint16(190), - 83: uint16(190), - 84: uint16(190), - 85: uint16(204), - 86: uint16(204), - 87: uint16(204), - 88: uint16(239), - 89: uint16(242), - 90: uint16(242), - 91: uint16(242), - 92: uint16(240), - 93: uint16(240), - 94: uint16(252), - 95: uint16(252), - 96: uint16(243), - 97: uint16(243), - 98: uint16(243), - 99: uint16(254), +var _yyRuleInfoLhs = [409]uint16{ + 0: uint16(190), + 1: uint16(190), + 2: uint16(189), + 3: uint16(191), + 4: uint16(192), + 5: uint16(192), + 6: uint16(192), + 7: uint16(192), + 8: uint16(191), + 9: uint16(191), + 10: uint16(191), + 11: uint16(191), + 12: uint16(191), + 13: uint16(196), + 14: uint16(198), + 15: uint16(200), + 16: uint16(200), + 17: uint16(199), + 18: uint16(199), + 19: uint16(197), + 20: uint16(197), + 21: uint16(204), + 22: uint16(204), + 23: uint16(206), + 24: uint16(206), + 25: uint16(207), + 26: uint16(209), + 27: uint16(209), + 28: uint16(209), + 29: uint16(210), + 30: uint16(214), + 31: uint16(215), + 32: uint16(216), + 33: uint16(216), + 34: uint16(216), + 35: uint16(216), + 36: uint16(216), + 37: uint16(216), + 38: uint16(216), + 39: uint16(216), + 40: uint16(216), + 41: uint16(216), + 42: uint16(216), + 43: uint16(216), + 44: uint16(216), + 45: uint16(225), + 46: uint16(225), + 47: uint16(221), + 48: uint16(221), + 49: uint16(223), + 50: uint16(223), + 51: uint16(226), + 52: uint16(226), + 53: uint16(226), + 54: uint16(226), + 55: uint16(227), + 56: uint16(227), + 57: uint16(227), + 58: uint16(227), + 59: uint16(227), + 60: uint16(224), + 61: uint16(224), + 62: uint16(228), + 63: uint16(228), + 64: uint16(228), + 65: uint16(203), + 66: uint16(230), + 67: uint16(231), + 68: uint16(231), + 69: uint16(231), + 70: uint16(231), + 71: uint16(231), + 72: uint16(234), + 73: uint16(219), + 74: uint16(219), + 75: uint16(235), + 76: uint16(235), + 77: uint16(236), + 78: uint16(236), + 79: uint16(191), + 80: uint16(238), + 81: uint16(238), + 82: uint16(191), + 83: uint16(191), + 84: uint16(191), + 85: uint16(205), + 86: uint16(205), + 87: uint16(205), + 88: uint16(240), + 89: uint16(243), + 90: uint16(243), + 91: uint16(243), + 92: uint16(241), + 93: uint16(241), + 94: uint16(253), + 95: uint16(241), + 96: uint16(255), + 97: uint16(255), + 98: uint16(244), + 99: uint16(244), 100: uint16(244), - 101: uint16(244), - 102: uint16(244), - 103: uint16(255), - 104: uint16(255), - 105: uint16(245), - 106: uint16(245), - 107: uint16(257), - 108: uint16(257), - 109: uint16(256), - 110: uint16(256), - 111: uint16(256), - 112: uint16(256), - 113: uint16(256), - 114: uint16(200), - 115: uint16(200), - 116: uint16(238), - 117: uint16(238), - 118: uint16(262), - 119: uint16(262), - 120: uint16(262), - 121: uint16(262), - 122: uint16(258), - 123: uint16(258), - 124: uint16(258), - 125: uint16(258), - 126: uint16(259), - 127: uint16(259), - 128: uint16(259), - 129: uint16(264), - 130: uint16(260), - 131: uint16(260), - 132: uint16(249), - 133: uint16(249), - 134: uint16(231), - 135: uint16(231), - 136: uint16(219), - 137: uint16(219), - 138: uint16(219), - 139: uint16(265), - 140: uint16(265), - 141: uint16(265), - 142: uint16(247), - 143: uint16(247), + 101: uint16(256), + 102: uint16(245), + 103: uint16(245), + 104: uint16(245), + 105: uint16(257), + 106: uint16(257), + 107: uint16(246), + 108: uint16(246), + 109: uint16(259), + 110: uint16(259), + 111: uint16(258), + 112: uint16(258), + 113: uint16(258), + 114: uint16(258), + 115: uint16(258), + 116: uint16(201), + 117: uint16(201), + 118: uint16(239), + 119: uint16(239), + 120: uint16(264), + 121: uint16(264), + 122: uint16(264), + 123: uint16(264), + 124: uint16(260), + 125: uint16(260), + 126: uint16(260), + 127: uint16(260), + 128: uint16(261), + 129: uint16(261), + 130: uint16(261), + 131: uint16(266), + 132: uint16(262), + 133: uint16(262), + 134: uint16(250), + 135: uint16(250), + 136: uint16(232), + 137: uint16(232), + 138: uint16(220), + 139: uint16(220), + 140: uint16(220), + 141: uint16(267), + 142: uint16(267), + 143: uint16(267), 144: uint16(248), 145: uint16(248), - 146: uint16(250), - 147: uint16(250), - 148: uint16(250), - 149: uint16(250), - 150: uint16(190), - 151: uint16(246), - 152: uint16(246), - 153: uint16(267), - 154: uint16(267), - 155: uint16(267), - 156: uint16(267), - 157: uint16(190), - 158: uint16(268), - 159: uint16(268), - 160: uint16(268), - 161: uint16(268), - 162: uint16(190), - 163: uint16(190), - 164: uint16(271), - 165: uint16(271), - 166: uint16(271), - 167: uint16(271), - 168: uint16(271), - 169: uint16(271), - 170: uint16(272), - 171: uint16(269), - 172: uint16(269), - 173: uint16(270), - 174: uint16(270), - 175: uint16(263), - 176: uint16(263), - 177: uint16(217), - 178: uint16(217), - 179: uint16(217), - 180: uint16(217), - 181: uint16(216), - 182: uint16(216), - 183: uint16(216), + 146: uint16(249), + 147: uint16(249), + 148: uint16(251), + 149: uint16(251), + 150: uint16(251), + 151: uint16(251), + 152: uint16(191), + 153: uint16(247), + 154: uint16(247), + 155: uint16(269), + 156: uint16(269), + 157: uint16(269), + 158: uint16(269), + 159: uint16(191), + 160: uint16(270), + 161: uint16(270), + 162: uint16(270), + 163: uint16(270), + 164: uint16(191), + 165: uint16(191), + 166: uint16(273), + 167: uint16(273), + 168: uint16(273), + 169: uint16(273), + 170: uint16(273), + 171: uint16(273), + 172: uint16(274), + 173: uint16(271), + 174: uint16(271), + 175: uint16(272), + 176: uint16(272), + 177: uint16(265), + 178: uint16(265), + 179: uint16(218), + 180: uint16(218), + 181: uint16(218), + 182: uint16(218), + 183: uint16(217), 184: uint16(217), 185: uint16(217), - 186: uint16(217), - 187: uint16(217), - 188: uint16(217), - 189: uint16(217), - 190: uint16(217), - 191: uint16(217), - 192: uint16(217), - 193: uint16(216), - 194: uint16(217), + 186: uint16(218), + 187: uint16(218), + 188: uint16(218), + 189: uint16(218), + 190: uint16(218), + 191: uint16(218), + 192: uint16(218), + 193: uint16(218), + 194: uint16(218), 195: uint16(217), - 196: uint16(217), - 197: uint16(217), - 198: uint16(217), - 199: uint16(217), - 200: uint16(217), - 201: uint16(217), - 202: uint16(217), - 203: uint16(274), - 204: uint16(217), - 205: uint16(217), - 206: uint16(217), - 207: uint16(217), - 208: uint16(217), - 209: uint16(217), - 210: uint16(217), - 211: uint16(217), - 212: uint16(217), - 213: uint16(217), - 214: uint16(217), - 215: uint16(217), - 216: uint16(275), - 217: uint16(275), - 218: uint16(217), - 219: uint16(276), - 220: uint16(276), - 221: uint16(217), - 222: uint16(217), - 223: uint16(217), - 224: uint16(217), - 225: uint16(217), - 226: uint16(217), - 227: uint16(279), - 228: uint16(279), - 229: uint16(280), - 230: uint16(280), - 231: uint16(278), - 232: uint16(261), - 233: uint16(253), - 234: uint16(253), - 235: uint16(277), - 236: uint16(277), - 237: uint16(190), - 238: uint16(281), - 239: uint16(281), - 240: uint16(221), - 241: uint16(221), - 242: uint16(232), - 243: uint16(232), - 244: uint16(282), - 245: uint16(282), - 246: uint16(190), - 247: uint16(190), - 248: uint16(190), - 249: uint16(283), - 250: uint16(283), - 251: uint16(190), - 252: uint16(190), - 253: uint16(190), - 254: uint16(190), - 255: uint16(190), - 256: uint16(211), - 257: uint16(212), - 258: uint16(190), - 259: uint16(285), - 260: uint16(287), + 196: uint16(218), + 197: uint16(218), + 198: uint16(218), + 199: uint16(218), + 200: uint16(218), + 201: uint16(218), + 202: uint16(218), + 203: uint16(218), + 204: uint16(218), + 205: uint16(276), + 206: uint16(218), + 207: uint16(218), + 208: uint16(218), + 209: uint16(218), + 210: uint16(218), + 211: uint16(218), + 212: uint16(218), + 213: uint16(218), + 214: uint16(218), + 215: uint16(218), + 216: uint16(218), + 217: uint16(218), + 218: uint16(277), + 219: uint16(277), + 220: uint16(218), + 221: uint16(278), + 222: uint16(278), + 223: uint16(218), + 224: uint16(218), + 225: uint16(218), + 226: uint16(218), + 227: uint16(218), + 228: uint16(218), + 229: uint16(281), + 230: uint16(281), + 231: uint16(282), + 232: uint16(282), + 233: uint16(280), + 234: uint16(263), + 235: uint16(254), + 236: uint16(254), + 237: uint16(279), + 238: uint16(279), + 239: uint16(191), + 240: uint16(283), + 241: uint16(283), + 242: uint16(222), + 243: uint16(222), + 244: uint16(233), + 245: uint16(233), + 246: uint16(284), + 247: uint16(284), + 248: uint16(191), + 249: uint16(191), + 250: uint16(191), + 251: uint16(285), + 252: uint16(285), + 253: uint16(191), + 254: uint16(191), + 255: uint16(191), + 256: uint16(191), + 257: uint16(191), + 258: uint16(212), + 259: uint16(213), + 260: uint16(191), 261: uint16(287), - 262: uint16(287), - 263: uint16(288), - 264: uint16(288), - 265: uint16(288), + 262: uint16(289), + 263: uint16(289), + 264: uint16(289), + 265: uint16(290), 266: uint16(290), 267: uint16(290), - 268: uint16(286), - 269: uint16(286), - 270: uint16(292), - 271: uint16(293), - 272: uint16(293), - 273: uint16(291), - 274: uint16(291), - 275: uint16(291), - 276: uint16(291), - 277: uint16(217), - 278: uint16(217), - 279: uint16(236), - 280: uint16(236), - 281: uint16(236), - 282: uint16(190), - 283: uint16(190), - 284: uint16(190), - 285: uint16(295), - 286: uint16(295), - 287: uint16(190), - 288: uint16(190), - 289: uint16(190), - 290: uint16(190), - 291: uint16(190), - 292: uint16(190), - 293: uint16(190), - 294: uint16(296), - 295: uint16(190), - 296: uint16(190), - 297: uint16(190), - 298: uint16(298), - 299: uint16(300), - 300: uint16(301), - 301: uint16(301), - 302: uint16(302), - 303: uint16(266), - 304: uint16(266), - 305: uint16(305), - 306: uint16(305), - 307: uint16(305), - 308: uint16(304), - 309: uint16(241), - 310: uint16(241), - 311: uint16(306), - 312: uint16(307), - 313: uint16(308), - 314: uint16(308), - 315: uint16(308), - 316: uint16(308), - 317: uint16(308), - 318: uint16(309), - 319: uint16(309), - 320: uint16(309), - 321: uint16(313), - 322: uint16(315), - 323: uint16(315), + 268: uint16(292), + 269: uint16(292), + 270: uint16(288), + 271: uint16(288), + 272: uint16(294), + 273: uint16(295), + 274: uint16(295), + 275: uint16(293), + 276: uint16(293), + 277: uint16(293), + 278: uint16(293), + 279: uint16(218), + 280: uint16(218), + 281: uint16(237), + 282: uint16(237), + 283: uint16(237), + 284: uint16(191), + 285: uint16(191), + 286: uint16(191), + 287: uint16(297), + 288: uint16(297), + 289: uint16(191), + 290: uint16(191), + 291: uint16(191), + 292: uint16(191), + 293: uint16(191), + 294: uint16(191), + 295: uint16(191), + 296: uint16(298), + 297: uint16(191), + 298: uint16(191), + 299: uint16(191), + 300: uint16(300), + 301: uint16(302), + 302: uint16(303), + 303: uint16(303), + 304: uint16(304), + 305: uint16(268), + 306: uint16(268), + 307: uint16(307), + 308: uint16(307), + 309: uint16(307), + 310: uint16(306), + 311: uint16(308), + 312: uint16(242), + 313: uint16(242), + 314: uint16(309), + 315: uint16(310), + 316: uint16(311), + 317: uint16(311), + 318: uint16(311), + 319: uint16(311), + 320: uint16(311), + 321: uint16(312), + 322: uint16(312), + 323: uint16(312), 324: uint16(316), - 325: uint16(316), - 326: uint16(314), - 327: uint16(314), - 328: uint16(317), + 325: uint16(318), + 326: uint16(318), + 327: uint16(319), + 328: uint16(319), 329: uint16(317), - 330: uint16(318), - 331: uint16(318), - 332: uint16(318), - 333: uint16(251), - 334: uint16(273), - 335: uint16(273), - 336: uint16(273), - 337: uint16(312), - 338: uint16(312), - 339: uint16(311), - 340: uint16(185), - 341: uint16(186), - 342: uint16(186), - 343: uint16(187), - 344: uint16(187), + 330: uint16(317), + 331: uint16(320), + 332: uint16(320), + 333: uint16(321), + 334: uint16(321), + 335: uint16(321), + 336: uint16(252), + 337: uint16(275), + 338: uint16(275), + 339: uint16(275), + 340: uint16(315), + 341: uint16(315), + 342: uint16(314), + 343: uint16(217), + 344: uint16(186), 345: uint16(187), - 346: uint16(192), - 347: uint16(192), - 348: uint16(192), - 349: uint16(194), - 350: uint16(194), - 351: uint16(190), - 352: uint16(203), - 353: uint16(201), - 354: uint16(201), - 355: uint16(193), - 356: uint16(193), - 357: uint16(208), - 358: uint16(209), - 359: uint16(210), - 360: uint16(210), - 361: uint16(207), - 362: uint16(207), - 363: uint16(215), - 364: uint16(215), - 365: uint16(215), - 366: uint16(202), - 367: uint16(228), - 368: uint16(228), - 369: uint16(229), - 370: uint16(233), - 371: uint16(235), - 372: uint16(239), - 373: uint16(240), - 374: uint16(254), - 375: uint16(255), - 376: uint16(264), - 377: uint16(272), - 378: uint16(217), - 379: uint16(274), - 380: uint16(278), - 381: uint16(261), - 382: uint16(284), - 383: uint16(284), - 384: uint16(284), - 385: uint16(284), - 386: uint16(284), - 387: uint16(211), - 388: uint16(289), - 389: uint16(289), - 390: uint16(292), - 391: uint16(293), - 392: uint16(294), - 393: uint16(294), - 394: uint16(297), - 395: uint16(297), - 396: uint16(299), - 397: uint16(299), - 398: uint16(300), - 399: uint16(303), - 400: uint16(303), - 401: uint16(303), - 402: uint16(266), - 403: uint16(306), - 404: uint16(308), + 346: uint16(187), + 347: uint16(188), + 348: uint16(188), + 349: uint16(188), + 350: uint16(193), + 351: uint16(193), + 352: uint16(193), + 353: uint16(195), + 354: uint16(195), + 355: uint16(191), + 356: uint16(204), + 357: uint16(202), + 358: uint16(202), + 359: uint16(194), + 360: uint16(194), + 361: uint16(209), + 362: uint16(210), + 363: uint16(211), + 364: uint16(211), + 365: uint16(208), + 366: uint16(208), + 367: uint16(216), + 368: uint16(216), + 369: uint16(216), + 370: uint16(203), + 371: uint16(229), + 372: uint16(229), + 373: uint16(230), + 374: uint16(234), + 375: uint16(236), + 376: uint16(240), + 377: uint16(241), + 378: uint16(256), + 379: uint16(257), + 380: uint16(266), + 381: uint16(274), + 382: uint16(218), + 383: uint16(276), + 384: uint16(280), + 385: uint16(263), + 386: uint16(286), + 387: uint16(286), + 388: uint16(286), + 389: uint16(286), + 390: uint16(286), + 391: uint16(212), + 392: uint16(291), + 393: uint16(291), + 394: uint16(294), + 395: uint16(295), + 396: uint16(296), + 397: uint16(296), + 398: uint16(299), + 399: uint16(299), + 400: uint16(301), + 401: uint16(301), + 402: uint16(302), + 403: uint16(305), + 404: uint16(305), + 405: uint16(305), + 406: uint16(268), + 407: uint16(309), + 408: uint16(311), } // C documentation // // /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number // ** of symbols on the right-hand side of that rule. */ -var _yyRuleInfoNRhs = [405]int8{ +var _yyRuleInfoNRhs = [409]int8{ 0: int8(-int32(1)), 1: int8(-int32(3)), 2: int8(-int32(1)), @@ -154046,273 +155466,277 @@ var _yyRuleInfoNRhs = [405]int8{ 92: int8(-int32(9)), 93: int8(-int32(10)), 94: int8(-int32(4)), - 95: int8(-int32(5)), - 96: int8(-int32(1)), - 97: int8(-int32(1)), - 100: int8(-int32(5)), - 101: int8(-int32(3)), + 95: int8(-int32(1)), + 96: int8(-int32(5)), + 97: int8(-int32(5)), + 98: int8(-int32(1)), + 99: int8(-int32(1)), 102: int8(-int32(5)), - 103: int8(-int32(2)), - 106: int8(-int32(2)), - 107: int8(-int32(2)), - 109: int8(-int32(5)), - 110: int8(-int32(6)), - 111: int8(-int32(8)), + 103: int8(-int32(3)), + 104: int8(-int32(5)), + 105: int8(-int32(2)), + 108: int8(-int32(2)), + 109: int8(-int32(2)), + 111: int8(-int32(5)), 112: int8(-int32(6)), - 113: int8(-int32(6)), - 115: int8(-int32(2)), - 116: int8(-int32(1)), - 117: int8(-int32(3)), + 113: int8(-int32(8)), + 114: int8(-int32(6)), + 115: int8(-int32(6)), + 117: int8(-int32(2)), 118: int8(-int32(1)), 119: int8(-int32(3)), - 120: int8(-int32(5)), + 120: int8(-int32(1)), 121: int8(-int32(3)), - 122: int8(-int32(1)), - 123: int8(-int32(2)), - 124: int8(-int32(3)), - 125: int8(-int32(4)), - 126: int8(-int32(2)), + 122: int8(-int32(5)), + 123: int8(-int32(3)), + 124: int8(-int32(1)), + 125: int8(-int32(2)), + 126: int8(-int32(3)), 127: int8(-int32(4)), - 130: int8(-int32(3)), - 131: int8(-int32(2)), - 133: int8(-int32(3)), - 134: int8(-int32(5)), + 128: int8(-int32(2)), + 129: int8(-int32(4)), + 132: int8(-int32(3)), + 133: int8(-int32(2)), 135: int8(-int32(3)), - 136: int8(-int32(1)), - 137: int8(-int32(1)), - 139: int8(-int32(2)), - 140: int8(-int32(2)), - 143: int8(-int32(3)), - 145: int8(-int32(2)), + 136: int8(-int32(5)), + 137: int8(-int32(3)), + 138: int8(-int32(1)), + 139: int8(-int32(1)), + 141: int8(-int32(2)), + 142: int8(-int32(2)), + 145: int8(-int32(3)), 147: int8(-int32(2)), - 148: int8(-int32(4)), - 149: int8(-int32(4)), - 150: int8(-int32(6)), - 152: int8(-int32(2)), + 149: int8(-int32(2)), + 150: int8(-int32(4)), + 151: int8(-int32(4)), + 152: int8(-int32(6)), 154: int8(-int32(2)), - 155: int8(-int32(2)), - 156: int8(-int32(4)), - 157: int8(-int32(9)), - 158: int8(-int32(5)), - 159: int8(-int32(7)), - 160: int8(-int32(3)), - 161: int8(-int32(5)), - 162: int8(-int32(7)), - 163: int8(-int32(8)), - 165: int8(-int32(2)), - 166: int8(-int32(12)), - 167: int8(-int32(9)), - 168: int8(-int32(5)), - 169: int8(-int32(8)), - 170: int8(-int32(2)), - 171: int8(-int32(2)), - 172: int8(-int32(1)), - 174: int8(-int32(3)), - 175: int8(-int32(3)), - 176: int8(-int32(1)), + 156: int8(-int32(2)), + 157: int8(-int32(2)), + 158: int8(-int32(4)), + 159: int8(-int32(9)), + 160: int8(-int32(5)), + 161: int8(-int32(7)), + 162: int8(-int32(3)), + 163: int8(-int32(5)), + 164: int8(-int32(7)), + 165: int8(-int32(8)), + 167: int8(-int32(2)), + 168: int8(-int32(12)), + 169: int8(-int32(9)), + 170: int8(-int32(5)), + 171: int8(-int32(8)), + 172: int8(-int32(2)), + 173: int8(-int32(2)), + 174: int8(-int32(1)), + 176: int8(-int32(3)), 177: int8(-int32(3)), 178: int8(-int32(1)), 179: int8(-int32(3)), - 180: int8(-int32(5)), - 181: int8(-int32(1)), - 182: int8(-int32(1)), + 180: int8(-int32(1)), + 181: int8(-int32(3)), + 182: int8(-int32(5)), 183: int8(-int32(1)), 184: int8(-int32(1)), - 185: int8(-int32(3)), - 186: int8(-int32(6)), - 187: int8(-int32(5)), - 188: int8(-int32(8)), - 189: int8(-int32(4)), - 190: int8(-int32(6)), - 191: int8(-int32(9)), - 192: int8(-int32(5)), - 193: int8(-int32(1)), + 185: int8(-int32(1)), + 186: int8(-int32(1)), + 187: int8(-int32(3)), + 188: int8(-int32(6)), + 189: int8(-int32(5)), + 190: int8(-int32(8)), + 191: int8(-int32(4)), + 192: int8(-int32(6)), + 193: int8(-int32(9)), 194: int8(-int32(5)), - 195: int8(-int32(3)), - 196: int8(-int32(3)), + 195: int8(-int32(1)), + 196: int8(-int32(5)), 197: int8(-int32(3)), 198: int8(-int32(3)), 199: int8(-int32(3)), 200: int8(-int32(3)), 201: int8(-int32(3)), 202: int8(-int32(3)), - 203: int8(-int32(2)), + 203: int8(-int32(3)), 204: int8(-int32(3)), - 205: int8(-int32(5)), - 206: int8(-int32(2)), - 207: int8(-int32(3)), - 208: int8(-int32(3)), - 209: int8(-int32(4)), - 210: int8(-int32(6)), - 211: int8(-int32(5)), - 212: int8(-int32(2)), - 213: int8(-int32(2)), + 205: int8(-int32(2)), + 206: int8(-int32(3)), + 207: int8(-int32(5)), + 208: int8(-int32(2)), + 209: int8(-int32(3)), + 210: int8(-int32(3)), + 211: int8(-int32(4)), + 212: int8(-int32(6)), + 213: int8(-int32(5)), 214: int8(-int32(2)), - 215: int8(-int32(3)), - 216: int8(-int32(1)), - 217: int8(-int32(2)), - 218: int8(-int32(5)), - 219: int8(-int32(1)), - 220: int8(-int32(2)), - 221: int8(-int32(5)), - 222: int8(-int32(3)), + 215: int8(-int32(2)), + 216: int8(-int32(2)), + 217: int8(-int32(3)), + 218: int8(-int32(1)), + 219: int8(-int32(2)), + 220: int8(-int32(5)), + 221: int8(-int32(1)), + 222: int8(-int32(2)), 223: int8(-int32(5)), - 224: int8(-int32(5)), - 225: int8(-int32(4)), + 224: int8(-int32(3)), + 225: int8(-int32(5)), 226: int8(-int32(5)), - 227: int8(-int32(5)), - 228: int8(-int32(4)), - 229: int8(-int32(2)), - 233: int8(-int32(3)), - 234: int8(-int32(1)), - 236: int8(-int32(3)), - 237: int8(-int32(12)), - 238: int8(-int32(1)), - 241: int8(-int32(3)), - 242: int8(-int32(5)), + 227: int8(-int32(4)), + 228: int8(-int32(5)), + 229: int8(-int32(5)), + 230: int8(-int32(4)), + 231: int8(-int32(2)), + 235: int8(-int32(3)), + 236: int8(-int32(1)), + 238: int8(-int32(3)), + 239: int8(-int32(12)), + 240: int8(-int32(1)), 243: int8(-int32(3)), - 245: int8(-int32(2)), - 246: int8(-int32(4)), + 244: int8(-int32(5)), + 245: int8(-int32(3)), 247: int8(-int32(2)), - 248: int8(-int32(3)), + 248: int8(-int32(4)), 249: int8(-int32(2)), - 251: int8(-int32(3)), - 252: int8(-int32(5)), - 253: int8(-int32(6)), + 250: int8(-int32(3)), + 251: int8(-int32(2)), + 253: int8(-int32(3)), 254: int8(-int32(5)), 255: int8(-int32(6)), - 256: int8(-int32(2)), - 257: int8(-int32(2)), - 258: int8(-int32(5)), - 259: int8(-int32(11)), - 260: int8(-int32(1)), - 261: int8(-int32(2)), - 263: int8(-int32(1)), - 264: int8(-int32(1)), - 265: int8(-int32(3)), - 267: int8(-int32(2)), - 268: int8(-int32(3)), + 256: int8(-int32(5)), + 257: int8(-int32(6)), + 258: int8(-int32(2)), + 259: int8(-int32(2)), + 260: int8(-int32(5)), + 261: int8(-int32(11)), + 262: int8(-int32(1)), + 263: int8(-int32(2)), + 265: int8(-int32(1)), + 266: int8(-int32(1)), + 267: int8(-int32(3)), 269: int8(-int32(2)), 270: int8(-int32(3)), - 271: int8(-int32(3)), - 272: int8(-int32(2)), - 273: int8(-int32(9)), - 274: int8(-int32(8)), - 275: int8(-int32(6)), - 276: int8(-int32(3)), - 277: int8(-int32(4)), - 278: int8(-int32(6)), - 279: int8(-int32(1)), - 280: int8(-int32(1)), + 271: int8(-int32(2)), + 272: int8(-int32(3)), + 273: int8(-int32(3)), + 274: int8(-int32(2)), + 275: int8(-int32(9)), + 276: int8(-int32(8)), + 277: int8(-int32(6)), + 278: int8(-int32(3)), + 279: int8(-int32(4)), + 280: int8(-int32(6)), 281: int8(-int32(1)), - 282: int8(-int32(4)), - 283: int8(-int32(6)), - 284: int8(-int32(3)), - 286: int8(-int32(2)), - 287: int8(-int32(1)), - 288: int8(-int32(3)), + 282: int8(-int32(1)), + 283: int8(-int32(1)), + 284: int8(-int32(4)), + 285: int8(-int32(6)), + 286: int8(-int32(3)), + 288: int8(-int32(2)), 289: int8(-int32(1)), 290: int8(-int32(3)), - 291: int8(-int32(6)), - 292: int8(-int32(7)), + 291: int8(-int32(1)), + 292: int8(-int32(3)), 293: int8(-int32(6)), - 294: int8(-int32(1)), - 295: int8(-int32(8)), + 294: int8(-int32(7)), + 295: int8(-int32(6)), 296: int8(-int32(1)), - 297: int8(-int32(4)), - 298: int8(-int32(8)), - 300: int8(-int32(1)), - 301: int8(-int32(3)), + 297: int8(-int32(8)), + 298: int8(-int32(1)), + 299: int8(-int32(4)), + 300: int8(-int32(8)), 302: int8(-int32(1)), - 303: int8(-int32(2)), - 304: int8(-int32(3)), - 305: int8(-int32(1)), - 306: int8(-int32(2)), - 307: int8(-int32(3)), - 308: int8(-int32(6)), - 309: int8(-int32(1)), - 310: int8(-int32(3)), - 311: int8(-int32(3)), - 312: int8(-int32(5)), - 313: int8(-int32(5)), - 314: int8(-int32(6)), - 315: int8(-int32(4)), + 303: int8(-int32(3)), + 304: int8(-int32(1)), + 305: int8(-int32(2)), + 306: int8(-int32(3)), + 307: int8(-int32(1)), + 308: int8(-int32(2)), + 309: int8(-int32(3)), + 310: int8(-int32(6)), + 311: int8(-int32(1)), + 312: int8(-int32(1)), + 313: int8(-int32(3)), + 314: int8(-int32(3)), + 315: int8(-int32(5)), 316: int8(-int32(5)), - 317: int8(-int32(2)), - 319: int8(-int32(3)), - 320: int8(-int32(6)), - 321: int8(-int32(1)), - 322: int8(-int32(1)), - 323: int8(-int32(2)), + 317: int8(-int32(6)), + 318: int8(-int32(4)), + 319: int8(-int32(5)), + 320: int8(-int32(2)), + 322: int8(-int32(3)), + 323: int8(-int32(6)), 324: int8(-int32(1)), - 325: int8(-int32(2)), + 325: int8(-int32(1)), 326: int8(-int32(2)), - 327: int8(-int32(2)), + 327: int8(-int32(1)), + 328: int8(-int32(2)), 329: int8(-int32(2)), 330: int8(-int32(2)), - 331: int8(-int32(2)), - 332: int8(-int32(1)), + 332: int8(-int32(2)), 333: int8(-int32(2)), 334: int8(-int32(2)), 335: int8(-int32(1)), - 336: int8(-int32(1)), - 337: int8(-int32(4)), - 338: int8(-int32(2)), - 339: int8(-int32(5)), - 340: int8(-int32(1)), + 336: int8(-int32(2)), + 337: int8(-int32(2)), + 338: int8(-int32(1)), + 339: int8(-int32(1)), + 340: int8(-int32(4)), 341: int8(-int32(2)), - 342: int8(-int32(1)), + 342: int8(-int32(5)), 343: int8(-int32(1)), - 344: int8(-int32(2)), - 345: int8(-int32(3)), + 344: int8(-int32(1)), + 345: int8(-int32(2)), + 346: int8(-int32(1)), 347: int8(-int32(1)), 348: int8(-int32(2)), - 349: int8(-int32(1)), - 351: int8(-int32(2)), - 352: int8(-int32(1)), - 353: int8(-int32(4)), - 354: int8(-int32(2)), - 355: int8(-int32(1)), + 349: int8(-int32(3)), + 351: int8(-int32(1)), + 352: int8(-int32(2)), + 353: int8(-int32(1)), + 355: int8(-int32(2)), 356: int8(-int32(1)), - 357: int8(-int32(1)), - 358: int8(-int32(1)), + 357: int8(-int32(4)), + 358: int8(-int32(2)), 359: int8(-int32(1)), 360: int8(-int32(1)), - 361: int8(-int32(2)), - 363: int8(-int32(2)), - 364: int8(-int32(4)), + 361: int8(-int32(1)), + 362: int8(-int32(1)), + 363: int8(-int32(1)), + 364: int8(-int32(1)), 365: int8(-int32(2)), - 366: int8(-int32(2)), - 367: int8(-int32(3)), - 368: int8(-int32(1)), - 370: int8(-int32(1)), - 371: int8(-int32(1)), + 367: int8(-int32(2)), + 368: int8(-int32(4)), + 369: int8(-int32(2)), + 370: int8(-int32(2)), + 371: int8(-int32(3)), 372: int8(-int32(1)), - 373: int8(-int32(1)), - 374: int8(-int32(2)), + 374: int8(-int32(1)), 375: int8(-int32(1)), 376: int8(-int32(1)), - 378: int8(-int32(1)), + 377: int8(-int32(1)), + 378: int8(-int32(2)), 379: int8(-int32(1)), 380: int8(-int32(1)), - 381: int8(-int32(1)), 382: int8(-int32(1)), 383: int8(-int32(1)), 384: int8(-int32(1)), 385: int8(-int32(1)), 386: int8(-int32(1)), 387: int8(-int32(1)), - 389: int8(-int32(3)), + 388: int8(-int32(1)), + 389: int8(-int32(1)), 390: int8(-int32(1)), - 392: int8(-int32(1)), - 395: int8(-int32(1)), + 391: int8(-int32(1)), + 393: int8(-int32(3)), + 394: int8(-int32(1)), 396: int8(-int32(1)), - 397: int8(-int32(3)), - 398: int8(-int32(2)), - 400: int8(-int32(4)), - 401: int8(-int32(2)), - 403: int8(-int32(1)), - 404: int8(-int32(1)), + 399: int8(-int32(1)), + 400: int8(-int32(1)), + 401: int8(-int32(3)), + 402: int8(-int32(2)), + 404: int8(-int32(4)), + 405: int8(-int32(2)), + 407: int8(-int32(1)), + 408: int8(-int32(1)), } // C documentation @@ -154330,18 +155754,19 @@ var _yyRuleInfoNRhs = [405]int8{ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken TToken, pParse uintptr) (r uint16) { bp := tls.Alloc(144) defer tls.Free(144) - var bNot, bNot1, nExpr, yygoto, yysize, v344 int32 + var bNot, bNot1, nExpr, yygoto, yysize int32 var n Tu32 - var p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v343, v345, v346, v347, v348 uintptr + var op Tu8 + var p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v347, v348, v349, v350, v351 uintptr var yyact uint16 - var v349 TToken + var v352 TToken var _ /* all at bp+104 */ TToken var _ /* as at bp+72 */ TToken var _ /* dest at bp+16 */ TSelectDest var _ /* t at bp+88 */ TToken var _ /* x at bp+56 */ TToken var _ /* yylhsminor at bp+0 */ TYYMINORTYPE - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v343, v344, v345, v346, v347, v348, v349 /* Amount to pop the stack */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, op, p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v347, v348, v349, v350, v351, v352 /* Amount to pop the stack */ _ = yyLookahead _ = yyLookaheadToken yymsp = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos @@ -154362,7 +155787,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _7 case uint32(7): goto _8 - case uint32(321): + case uint32(324): goto _9 case uint32(9): goto _10 @@ -154390,9 +155815,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _21 case uint32(81): goto _22 - case uint32(98): + case uint32(100): goto _23 - case uint32(244): + case uint32(246): goto _24 case uint32(16): goto _25 @@ -154416,7 +155841,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _34 case uint32(26): goto _35 - case uint32(104): + case uint32(106): goto _36 case uint32(27): goto _37 @@ -154490,17 +155915,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _71 case uint32(61): goto _72 - case uint32(171): + case uint32(173): goto _73 case uint32(80): goto _74 case uint32(63): goto _75 - case uint32(217): + case uint32(219): goto _76 - case uint32(220): + case uint32(222): goto _77 - case uint32(245): + case uint32(247): goto _78 case uint32(64): goto _79 @@ -154522,7 +155947,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _87 case uint32(77): goto _88 - case uint32(172): + case uint32(174): goto _89 case uint32(78): goto _90 @@ -154556,47 +155981,47 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _104 case uint32(95): goto _105 - case uint32(96): - goto _106 case uint32(97): + goto _106 + case uint32(96): goto _107 - case uint32(132): + case uint32(98): goto _108 case uint32(99): goto _109 - case uint32(142): + case uint32(134): goto _110 - case uint32(232): + case uint32(101): goto _111 - case uint32(235): + case uint32(144): goto _112 - case uint32(240): + case uint32(234): goto _113 - case uint32(100): + case uint32(237): goto _114 - case uint32(101): + case uint32(242): goto _115 case uint32(102): goto _116 - case uint32(115): - goto _117 case uint32(103): + goto _117 + case uint32(104): goto _118 - case uint32(256): + case uint32(117): goto _119 - case uint32(257): + case uint32(105): goto _120 - case uint32(108): + case uint32(258): goto _121 - case uint32(105): + case uint32(259): goto _122 - case uint32(106): + case uint32(110): goto _123 case uint32(107): goto _124 - case uint32(109): + case uint32(108): goto _125 - case uint32(110): + case uint32(109): goto _126 case uint32(111): goto _127 @@ -154604,13 +156029,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _128 case uint32(113): goto _129 - case uint32(129): - goto _130 case uint32(114): + goto _130 + case uint32(115): goto _131 - case uint32(116): + case uint32(131): goto _132 - case uint32(117): + case uint32(116): goto _133 case uint32(118): goto _134 @@ -154634,15 +156059,15 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _143 case uint32(128): goto _144 - case uint32(130): + case uint32(129): goto _145 - case uint32(131): + case uint32(130): goto _146 - case uint32(143): + case uint32(132): goto _147 case uint32(133): goto _148 - case uint32(134): + case uint32(145): goto _149 case uint32(135): goto _150 @@ -154650,49 +156075,49 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _151 case uint32(137): goto _152 - case uint32(141): - goto _153 case uint32(138): - goto _154 + goto _153 case uint32(139): + goto _154 + case uint32(143): goto _155 case uint32(140): goto _156 - case uint32(146): + case uint32(141): goto _157 - case uint32(144): + case uint32(142): goto _158 - case uint32(151): + case uint32(148): goto _159 - case uint32(153): + case uint32(146): goto _160 - case uint32(230): + case uint32(153): goto _161 - case uint32(231): + case uint32(155): goto _162 - case uint32(250): + case uint32(232): goto _163 - case uint32(152): + case uint32(233): goto _164 - case uint32(145): + case uint32(252): goto _165 case uint32(154): goto _166 - case uint32(229): + case uint32(147): goto _167 - case uint32(249): + case uint32(156): goto _168 - case uint32(147): + case uint32(231): goto _169 - case uint32(148): + case uint32(251): goto _170 case uint32(149): goto _171 case uint32(150): goto _172 - case uint32(155): + case uint32(151): goto _173 - case uint32(156): + case uint32(152): goto _174 case uint32(157): goto _175 @@ -154722,9 +156147,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _187 case uint32(170): goto _188 - case uint32(173): + case uint32(171): goto _189 - case uint32(174): + case uint32(172): goto _190 case uint32(175): goto _191 @@ -154738,13 +156163,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _195 case uint32(180): goto _196 - case uint32(182): - goto _197 case uint32(181): + goto _197 + case uint32(182): goto _198 - case uint32(183): - goto _199 case uint32(184): + goto _199 + case uint32(183): goto _200 case uint32(185): goto _201 @@ -154768,13 +156193,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _210 case uint32(195): goto _211 - case uint32(197): - goto _212 case uint32(196): + goto _212 + case uint32(197): goto _213 - case uint32(198): - goto _214 case uint32(199): + goto _214 + case uint32(198): goto _215 case uint32(200): goto _216 @@ -154800,23 +156225,23 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _226 case uint32(211): goto _227 - case uint32(213): - goto _228 case uint32(212): + goto _228 + case uint32(213): goto _229 - case uint32(214): - goto _230 case uint32(215): + goto _230 + case uint32(214): goto _231 - case uint32(219): - goto _232 case uint32(216): + goto _232 + case uint32(217): goto _233 - case uint32(218): - goto _234 case uint32(221): + goto _234 + case uint32(218): goto _235 - case uint32(222): + case uint32(220): goto _236 case uint32(223): goto _237 @@ -154830,35 +156255,35 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _241 case uint32(228): goto _242 - case uint32(233): + case uint32(229): goto _243 - case uint32(234): + case uint32(230): goto _244 - case uint32(241): + case uint32(235): goto _245 case uint32(236): goto _246 - case uint32(237): + case uint32(243): goto _247 - case uint32(280): - goto _248 case uint32(238): - goto _249 + goto _248 case uint32(239): + goto _249 + case uint32(282): goto _250 - case uint32(242): + case uint32(240): goto _251 - case uint32(243): + case uint32(241): goto _252 - case uint32(246): + case uint32(244): goto _253 - case uint32(247): + case uint32(245): goto _254 case uint32(248): goto _255 - case uint32(251): + case uint32(249): goto _256 - case uint32(252): + case uint32(250): goto _257 case uint32(253): goto _258 @@ -154866,9 +156291,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _259 case uint32(255): goto _260 - case uint32(258): + case uint32(256): goto _261 - case uint32(259): + case uint32(257): goto _262 case uint32(260): goto _263 @@ -154876,21 +156301,21 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _264 case uint32(262): goto _265 - case uint32(264): - goto _266 case uint32(263): + goto _266 + case uint32(264): goto _267 - case uint32(265): + case uint32(266): goto _268 - case uint32(285): + case uint32(265): goto _269 - case uint32(266): + case uint32(267): goto _270 - case uint32(286): + case uint32(287): goto _271 - case uint32(267): - goto _272 case uint32(268): + goto _272 + case uint32(288): goto _273 case uint32(269): goto _274 @@ -154914,17 +156339,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _283 case uint32(279): goto _284 - case uint32(281): + case uint32(280): goto _285 - case uint32(282): + case uint32(281): goto _286 case uint32(283): goto _287 case uint32(284): goto _288 - case uint32(287): + case uint32(285): goto _289 - case uint32(288): + case uint32(286): goto _290 case uint32(289): goto _291 @@ -154948,19 +156373,19 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _300 case uint32(299): goto _301 - case uint32(301): - goto _302 case uint32(300): + goto _302 + case uint32(301): goto _303 - case uint32(302): + case uint32(303): goto _304 - case uint32(304): + case uint32(302): goto _305 - case uint32(303): + case uint32(304): goto _306 - case uint32(305): - goto _307 case uint32(306): + goto _307 + case uint32(305): goto _308 case uint32(307): goto _309 @@ -154990,31 +156415,31 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _321 case uint32(320): goto _322 - case uint32(324): + case uint32(321): goto _323 case uint32(322): goto _324 - case uint32(325): - goto _325 case uint32(323): - goto _326 + goto _325 case uint32(327): + goto _326 + case uint32(325): goto _327 - case uint32(326): - goto _328 case uint32(328): + goto _328 + case uint32(326): goto _329 - case uint32(329): + case uint32(330): goto _330 - case uint32(331): + case uint32(329): goto _331 - case uint32(330): + case uint32(331): goto _332 case uint32(332): goto _333 - case uint32(333): - goto _334 case uint32(334): + goto _334 + case uint32(333): goto _335 case uint32(335): goto _336 @@ -155026,34 +156451,42 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _339 case uint32(339): goto _340 - default: + case uint32(340): goto _341 + case uint32(341): + goto _342 + case uint32(342): + goto _343 + case uint32(343): + goto _344 + default: + goto _345 } - goto _342 + goto _346 _1: ; /* explain ::= EXPLAIN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(1) } - goto _342 + goto _346 _2: ; /* explain ::= EXPLAIN QUERY PLAN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(2) } - goto _342 + goto _346 _3: ; /* cmdx ::= cmd */ _sqlite3FinishCoding(tls, pParse) - goto _342 + goto _346 _4: ; /* cmd ::= BEGIN transtype trans_opt */ _sqlite3BeginTransaction(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _5: ; /* transtype ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_DEFERRED) - goto _342 + goto _346 _7: ; /* transtype ::= DEFERRED */ _6: @@ -155063,33 +156496,33 @@ _8: _9: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 + goto _346 _11: ; /* cmd ::= COMMIT|END trans_opt */ _10: ; _sqlite3EndTransaction(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor)) - goto _342 + goto _346 _12: ; /* cmd ::= SAVEPOINT nm */ _sqlite3Savepoint(tls, pParse, SAVEPOINT_BEGIN, yymsp+8) - goto _342 + goto _346 _13: ; /* cmd ::= RELEASE savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_RELEASE), yymsp+8) - goto _342 + goto _346 _14: ; /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_ROLLBACK), yymsp+8) - goto _342 + goto _346 _15: ; /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ _sqlite3StartTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), 0, 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _16: ; /* createkw ::= CREATE */ _disableLookaside(tls, pParse) - goto _342 + goto _346 _18: ; /* ifnotexists ::= */ _17: @@ -155107,56 +156540,56 @@ _23: _24: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = 0 - goto _342 + goto _346 _25: ; /* ifnotexists ::= IF NOT EXISTS */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(1) - goto _342 + goto _346 _26: ; /* temp ::= TEMP */ *(*int32)(unsafe.Pointer(yymsp + 8)) = libc.BoolInt32(int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0) - goto _342 + goto _346 _27: ; /* create_table_args ::= LP columnlist conslist_opt RP table_option_set */ _sqlite3EndTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*Tu32)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 + goto _346 _28: ; /* create_table_args ::= AS select */ _sqlite3EndTable(tls, pParse, uintptr(0), uintptr(0), uint32(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _29: ; /* table_option_set ::= */ *(*Tu32)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint32(0) - goto _342 + goto _346 _30: ; /* table_option_set ::= table_option_set COMMA table_option */ *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) | *(*Tu32)(unsafe.Pointer(yymsp + 8)) *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _31: ; /* table_option ::= WITHOUT nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16698, int32(5)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16785, int32(5)) == 0 { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) } else { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23362, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23485, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } - goto _342 + goto _346 _32: ; /* table_option ::= nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16611, int32(6)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16698, int32(6)) == 0 { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(TF_Strict) } else { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23362, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23485, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } *(*Tu32)(unsafe.Pointer(yymsp + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _33: ; /* columnname ::= nm typetoken */ _sqlite3AddColumn(tls, pParse, *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*TToken)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _35: ; /* typetoken ::= */ _34: @@ -155165,50 +156598,50 @@ _36: ; *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 + goto _346 _37: ; /* typetoken ::= typename LP signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) - goto _342 + goto _346 _38: ; /* typetoken ::= typename LP signed COMMA signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))))) - goto _342 + goto _346 _39: ; /* typename ::= typename ID|STRING */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) + uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) - goto _342 + goto _346 _40: ; /* scanpt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken.Fz - goto _342 + goto _346 _41: ; /* scantok ::= */ *(*TToken)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken - goto _342 + goto _346 _43: ; /* ccons ::= CONSTRAINT nm */ _42: ; (*TParse)(unsafe.Pointer(pParse)).FconstraintName = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _44: ; /* ccons ::= DEFAULT scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _45: ; /* ccons ::= DEFAULT LP expr RP */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))+uintptr(1), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _46: ; /* ccons ::= DEFAULT PLUS scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _47: ; /* ccons ::= DEFAULT MINUS scantok term */ p = _sqlite3PExpr(tls, pParse, int32(TK_UMINUS), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) _sqlite3AddDefaultValue(tls, pParse, p, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _48: ; /* ccons ::= DEFAULT scantok ID|INDEXED */ p1 = _tokenExpr(tls, pParse, int32(TK_STRING), *(*TToken)(unsafe.Pointer(yymsp + 8))) @@ -155216,99 +156649,99 @@ _48: _sqlite3ExprIdToTrueFalse(tls, p1) } _sqlite3AddDefaultValue(tls, pParse, p1, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - goto _342 + goto _346 _49: ; /* ccons ::= NOT NULL onconf */ _sqlite3AddNotNull(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _50: ; /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ _sqlite3AddPrimaryKey(tls, pParse, uintptr(0), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _51: ; /* ccons ::= UNIQUE onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _52: ; /* ccons ::= CHECK LP expr RP */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _53: ; /* ccons ::= REFERENCES nm eidlist_opt refargs */ _sqlite3CreateForeignKey(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _54: ; /* ccons ::= defer_subclause */ _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _55: ; /* ccons ::= COLLATE ID|STRING */ _sqlite3AddCollateType(tls, pParse, yymsp+8) - goto _342 + goto _346 _56: ; /* generated ::= LP expr RP */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 + goto _346 _57: ; /* generated ::= LP expr RP ID */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 + goto _346 _58: ; /* autoinc ::= AUTOINCR */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(1) - goto _342 + goto _346 _59: ; /* refargs ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = libc.Int32FromInt32(OE_None) * libc.Int32FromInt32(0x0101) /* EV: R-19803-45884 */ - goto _342 + goto _346 _60: ; /* refargs ::= refargs refarg */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) & ^*(*int32)(unsafe.Pointer(yymsp + 8 + 4)) | *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _61: ; /* refarg ::= MATCH nm */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _62: ; /* refarg ::= ON INSERT refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _63: ; /* refarg ::= ON DELETE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x0000ff) - goto _342 + goto _346 _64: ; /* refarg ::= ON UPDATE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) << int32(8) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x00ff00) - goto _342 + goto _346 _65: ; /* refact ::= SET NULL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetNull) /* EV: R-33326-45252 */ - goto _342 + goto _346 _66: ; /* refact ::= SET DEFAULT */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetDflt) /* EV: R-33326-45252 */ - goto _342 + goto _346 _67: ; /* refact ::= CASCADE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Cascade) /* EV: R-33326-45252 */ - goto _342 + goto _346 _68: ; /* refact ::= RESTRICT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Restrict) /* EV: R-33326-45252 */ - goto _342 + goto _346 _69: ; /* refact ::= NO ACTION */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = OE_None /* EV: R-33326-45252 */ - goto _342 + goto _346 _70: ; /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 - goto _342 + goto _346 _72: ; /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ _71: @@ -155316,7 +156749,7 @@ _71: _73: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _75: ; /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ _74: @@ -155328,64 +156761,64 @@ _77: _78: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(1) - goto _342 + goto _346 _79: ; /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 - goto _342 + goto _346 _80: ; /* tconscomma ::= COMMA */ (*TParse)(unsafe.Pointer(pParse)).FconstraintName.Fn = uint32(0) - goto _342 + goto _346 _81: ; /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ _sqlite3AddPrimaryKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), 0) - goto _342 + goto _346 _82: ; /* tcons ::= UNIQUE LP sortlist RP onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _83: ; /* tcons ::= CHECK LP expr RP onconf */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _84: ; /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ _sqlite3CreateForeignKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _86: ; /* onconf ::= */ _85: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(OE_Default) - goto _342 + goto _346 _87: ; /* onconf ::= ON CONFLICT resolvetype */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _88: ; /* resolvetype ::= IGNORE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Ignore) - goto _342 + goto _346 _90: ; /* resolvetype ::= REPLACE */ _89: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Replace) - goto _342 + goto _346 _91: ; /* cmd ::= DROP TABLE ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _92: ; /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ _sqlite3CreateView(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) - goto _342 + goto _346 _93: ; /* cmd ::= DROP VIEW ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), int32(1), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _94: ; /* cmd ::= select */ *(*TSelectDest)(unsafe.Pointer(bp + 16)) = TSelectDest{ @@ -155393,22 +156826,22 @@ _94: } _sqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), bp+16) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _95: ; /* select ::= WITH wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _96: ; /* select ::= WITH RECURSIVE wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _97: ; /* select ::= selectnowith */ p2 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) if p2 != 0 { _parserDoubleLinkSelect(tls, pParse, p2) } - goto _342 + goto _346 _98: ; /* selectnowith ::= selectnowith multiselect_op oneselect */ pRhs = *(*uintptr)(unsafe.Pointer(yymsp + 8)) @@ -155433,21 +156866,21 @@ _98: _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pLhs) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = pRhs - goto _342 + goto _346 _100: ; /* multiselect_op ::= UNION */ _99: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-OP*/ - goto _342 + goto _346 _101: ; /* multiselect_op ::= UNION ALL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_ALL) - goto _342 + goto _346 _102: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _103: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(9))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -155456,116 +156889,111 @@ _103: } else { _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) } - goto _342 + goto _346 _104: ; /* values ::= VALUES LP nexprlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) - goto _342 + goto _346 _105: - ; /* values ::= values COMMA LP nexprlist RP */ - pLeft = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) - pRight = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(libc.Int32FromInt32(SF_Values)|libc.Int32FromInt32(SF_MultiValue)), uintptr(0)) - if pLeft != 0 { - *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) - } - if pRight != 0 { - (*TSelect)(unsafe.Pointer(pRight)).Fop = uint8(TK_ALL) - (*TSelect)(unsafe.Pointer(pRight)).FpPrior = pLeft - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pRight - } else { - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pLeft - } - goto _342 + ; /* oneselect ::= mvalues */ + _sqlite3MultiValuesEnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_107: + ; /* mvalues ::= values COMMA LP nexprlist RP */ _106: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3MultiValues(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_108: ; /* distinct ::= DISTINCT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_Distinct) - goto _342 -_107: + goto _346 +_109: ; /* distinct ::= ALL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_All) - goto _342 -_109: + goto _346 +_111: ; /* sclp ::= */ -_108: - ; _110: ; -_111: - ; _112: ; _113: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 _114: + ; +_115: + ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 +_116: ; /* selcollist ::= sclp scanpt expr scanpt as */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) > uint32(0) { _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+8, int32(1)) } _sqlite3ExprListSetSpan(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_115: + goto _346 +_117: ; /* selcollist ::= sclp scanpt STAR */ p3 = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_ASTERISK), uintptr(0)) _sqlite3ExprSetErrorOffset(tls, p3, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), p3) - goto _342 -_116: + goto _346 +_118: ; /* selcollist ::= sclp scanpt nm DOT STAR */ - pRight1 = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) - _sqlite3ExprSetErrorOffset(tls, pRight1, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) - pLeft1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft1, pRight1) + pRight = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) + _sqlite3ExprSetErrorOffset(tls, pRight, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) + pLeft = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) + pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft, pRight) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pDot) - goto _342 -_118: + goto _346 +_120: ; /* as ::= AS nm */ -_117: - ; _119: ; -_120: +_121: ; - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 _122: + ; + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) + goto _346 +_124: ; /* from ::= */ -_121: +_123: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_123: + goto _346 +_125: ; /* from ::= FROM seltablist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) _sqlite3SrcListShiftJoinType(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_124: + goto _346 +_126: ; /* stl_prefix ::= seltablist joinop */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 && (*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc > 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8 + uintptr((*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc-int32(1))*104))).Ffg.Fjointype = uint8(*(*int32)(unsafe.Pointer(yymsp + 8))) } - goto _342 -_125: + goto _346 +_127: ; /* seltablist ::= stl_prefix nm dbnm as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) - goto _342 -_126: + goto _346 +_128: ; /* seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_127: + goto _346 +_129: ; /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListFuncArgs(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) - goto _342 -_128: + goto _346 +_130: ; /* seltablist ::= stl_prefix LP select RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_129: + goto _346 +_131: ; /* seltablist ::= stl_prefix LP seltablist RP as on_using */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) == uintptr(0) && *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) == uint32(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8)) == uintptr(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) @@ -155587,9 +157015,9 @@ _129: libc.SetBitFieldPtr16Uint32(pOld+60+4, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pNew+60+4, libc.Uint32FromInt32(1), 2, 0x4) } - v343 = libc.UintptrFromInt32(0) - (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v343 - (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v343 + v347 = libc.UintptrFromInt32(0) + (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v347 + (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v347 (*TSrcItem)(unsafe.Pointer(pOld)).FpSelect = uintptr(0) } _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) @@ -155599,189 +157027,189 @@ _129: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, pSubquery, yymsp+8) } } - goto _342 -_131: + goto _346 +_133: ; /* dbnm ::= */ -_130: +_132: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) - goto _342 -_132: + goto _346 +_134: ; /* fullname ::= nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_133: + goto _346 +_135: ; /* fullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_134: + goto _346 +_136: ; /* xfullname ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) /*A-overwrites-X*/ - goto _342 -_135: + goto _346 +_137: ; /* xfullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) /*A-overwrites-X*/ - goto _342 -_136: + goto _346 +_138: ; /* xfullname ::= nm DOT nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_137: + goto _346 +_139: ; /* xfullname ::= nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0)) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_138: + goto _346 +_140: ; /* joinop ::= COMMA|JOIN */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(JT_INNER) - goto _342 -_139: + goto _346 +_141: ; /* joinop ::= JOIN_KW JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), uintptr(0)) /*X-overwrites-A*/ - goto _342 -_140: + goto _346 +_142: ; /* joinop ::= JOIN_KW nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0)) /*X-overwrites-A*/ - goto _342 -_141: + goto _346 +_143: ; /* joinop ::= JOIN_KW nm nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) /*X-overwrites-A*/ - goto _342 -_142: + goto _346 +_144: ; /* on_using ::= ON expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uintptr(0) - goto _342 -_143: + goto _346 +_145: ; /* on_using ::= USING LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_144: + goto _346 +_146: ; /* on_using ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uintptr(0) - goto _342 -_145: + goto _346 +_147: ; /* indexed_by ::= INDEXED BY nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 -_146: + goto _346 +_148: ; /* indexed_by ::= NOT INDEXED */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(1) - goto _342 -_148: + goto _346 +_150: ; /* orderby_opt ::= ORDER BY sortlist */ -_147: +_149: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_149: + goto _346 +_151: ; /* sortlist ::= sortlist COMMA expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_150: + goto _346 +_152: ; /* sortlist ::= expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) /*A-overwrites-Y*/ _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_151: + goto _346 +_153: ; /* sortorder ::= ASC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = SQLITE_SO_ASC - goto _342 -_152: + goto _346 +_154: ; /* sortorder ::= DESC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_154: + goto _346 +_156: ; /* sortorder ::= */ -_153: +_155: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = -int32(1) - goto _342 -_155: + goto _346 +_157: ; /* nulls ::= NULLS FIRST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = SQLITE_SO_ASC - goto _342 -_156: + goto _346 +_158: ; /* nulls ::= NULLS LAST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_158: + goto _346 +_160: ; /* having_opt ::= */ -_157: - ; _159: ; -_160: - ; _161: ; _162: ; _163: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_165: - ; /* having_opt ::= HAVING expr */ _164: ; -_166: +_165: ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 _167: + ; /* having_opt ::= HAVING expr */ +_166: ; _168: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 _169: + ; +_170: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + goto _346 +_171: ; /* limit_opt ::= LIMIT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 -_170: + goto _346 +_172: ; /* limit_opt ::= LIMIT expr OFFSET expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_171: + goto _346 +_173: ; /* limit_opt ::= LIMIT expr COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 -_172: + goto _346 +_174: ; /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) _sqlite3DeleteFrom(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0)) - goto _342 -_173: + goto _346 +_175: ; /* where_opt_ret ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) - goto _342 -_174: + goto _346 +_176: ; /* where_opt_ret ::= WHERE expr RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) - goto _342 -_175: + goto _346 +_177: ; /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) - _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23389) + _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23512) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { pFromClause = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) if (*TSrcList)(unsafe.Pointer(pFromClause)).FnSrc > int32(1) { @@ -155793,95 +157221,95 @@ _175: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), pFromClause) } _sqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_176: + goto _346 +_178: ; /* setlist ::= setlist COMMA nm EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) - goto _342 -_177: + goto _346 +_179: ; /* setlist ::= setlist COMMA LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_178: + goto _346 +_180: ; /* setlist ::= nm EQ expr */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_179: + goto _346 +_181: ; /* setlist ::= LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_180: + goto _346 +_182: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_181: + goto _346 +_183: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0)) - goto _342 -_182: + goto _346 +_184: ; /* upsert ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_183: + goto _346 +_185: ; /* upsert ::= RETURNING selcollist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_184: + goto _346 +_186: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(11))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_185: + goto _346 +_187: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_186: + goto _346 +_188: ; /* upsert ::= ON CONFLICT DO NOTHING returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_187: + goto _346 +_189: ; /* upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_188: + goto _346 +_190: ; /* returning ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_189: + goto _346 +_191: ; /* idlist_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_190: + goto _346 +_192: ; /* idlist_opt ::= LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_191: + goto _346 +_193: ; /* idlist ::= idlist COMMA nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3IdListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 -_192: + goto _346 +_194: ; /* idlist ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3IdListAppend(tls, pParse, uintptr(0), yymsp+8) /*A-overwrites-Y*/ - goto _342 -_193: + goto _346 +_195: ; /* expr ::= LP expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_194: + goto _346 +_196: ; /* expr ::= ID|INDEXED|JOIN_KW */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_195: + goto _346 +_197: ; /* expr ::= nm DOT nm */ temp1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) temp2 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp1, temp2) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_196: + goto _346 +_198: ; /* expr ::= nm DOT nm DOT nm */ temp11 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) temp21 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) @@ -155892,22 +157320,22 @@ _196: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp11, temp4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_198: + goto _346 +_200: ; /* term ::= NULL|FLOAT|BLOB */ -_197: +_199: ; *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_199: + goto _346 +_201: ; /* term ::= INTEGER */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), yymsp+8, int32(1)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 52)) = int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8))) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_200: + goto _346 +_202: ; /* expr ::= VARIABLE */ if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8))))) == int32('#') && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)) + 1)))])&int32(0x04) != 0) { n = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) @@ -155919,7 +157347,7 @@ _200: ** in the virtual machine. #N is the N-th register. */ *(*TToken)(unsafe.Pointer(bp + 88)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) /*A-overwrites-X*/ if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23398, libc.VaList(bp+128, bp+88)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23521, libc.VaList(bp+128, bp+88)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_REGISTER), uintptr(0), uintptr(0)) @@ -155928,57 +157356,57 @@ _200: } } } - goto _342 -_201: + goto _346 +_203: ; /* expr ::= expr COLLATE ID|STRING */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAddCollateToken(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8, int32(1)) - goto _342 -_202: + goto _346 +_204: ; /* expr ::= CAST LP expr AS typetoken RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_CAST), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) _sqlite3ExprAttachSubtrees(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) - goto _342 -_203: + goto _346 +_205: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_204: + goto _346 +_206: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_205: + goto _346 +_207: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_206: + goto _346 +_208: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_207: + goto _346 +_209: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_208: + goto _346 +_210: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, 0) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_209: + goto _346 +_211: ; /* term ::= CTIME_KW */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_210: + goto _346 +_212: ; /* expr ::= LP nexprlist COMMA expr RP */ pList = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_VECTOR), uintptr(0), uintptr(0)) @@ -155990,33 +157418,33 @@ _210: } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pList) } - goto _342 -_211: + goto _346 +_213: ; /* expr ::= expr AND expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_213: + goto _346 +_215: ; /* expr ::= expr OR expr */ -_212: - ; _214: ; -_215: - ; _216: ; _217: ; _218: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 _219: + ; +_220: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_221: ; /* likeop ::= NOT LIKE_KW|MATCH */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) |= uint32(0x80000000) /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/ - goto _342 -_220: + goto _346 +_222: ; /* expr ::= expr likeop expr */ bNot = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -156029,8 +157457,8 @@ _220: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_221: + goto _346 +_223: ; /* expr ::= expr likeop expr ESCAPE expr */ bNot1 = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -156044,65 +157472,67 @@ _221: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_222: + goto _346 +_224: ; /* expr ::= expr ISNULL|NOTNULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_223: + goto _346 +_225: ; /* expr ::= expr NOT NULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOTNULL), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uintptr(0)) - goto _342 -_224: + goto _346 +_226: ; /* expr ::= expr IS expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_225: + goto _346 +_227: ; /* expr ::= expr IS NOT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_226: + goto _346 +_228: ; /* expr ::= expr IS NOT DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_227: + goto _346 +_229: ; /* expr ::= expr IS DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_229: + goto _346 +_231: ; /* expr ::= NOT expr */ -_228: +_230: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) /*A-overwrites-B*/ - goto _342 -_230: + goto _346 +_232: ; /* expr ::= PLUS|MINUS expr */ - if int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) == int32(TK_PLUS) { - v344 = int32(TK_UPLUS) + p4 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + op = uint8(int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) + (libc.Int32FromInt32(TK_UPLUS) - libc.Int32FromInt32(TK_PLUS))) + if p4 != 0 && int32((*TExpr)(unsafe.Pointer(p4)).Fop) == int32(TK_UPLUS) { + (*TExpr)(unsafe.Pointer(p4)).Fop = op + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = p4 } else { - v344 = int32(TK_UMINUS) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(int32(op)), p4, uintptr(0)) + /*A-overwrites-B*/ } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, v344, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - /*A-overwrites-B*/ - goto _342 -_231: + goto _346 +_233: ; /* expr ::= expr PTR expr */ pList3 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList3 = _sqlite3ExprListAppend(tls, pParse, pList3, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, pList3, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_233: + goto _346 +_235: ; /* between_op ::= BETWEEN */ -_232: +_234: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = 0 - goto _342 -_234: + goto _346 +_236: ; /* expr ::= expr between_op expr AND expr */ pList4 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList4 = _sqlite3ExprListAppend(tls, pParse, pList4, *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -156115,8 +157545,8 @@ _234: if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_235: + goto _346 +_237: ; /* expr ::= expr in_op LP exprlist RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) == uintptr(0) { /* Expressions of the form @@ -156129,17 +157559,17 @@ _235: */ _sqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { - v345 = __ccgo_ts + 7890 + v348 = __ccgo_ts + 8015 } else { - v345 = __ccgo_ts + 7895 + v348 = __ccgo_ts + 8020 } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v345) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v348) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { _sqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } } else { pRHS = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr - if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { + if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pParse, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr = uintptr(0) _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) pRHS = _sqlite3PExpr(tls, pParse, int32(TK_UPLUS), pRHS, uintptr(0)) @@ -156173,460 +157603,464 @@ _235: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } } - goto _342 -_236: + goto _346 +_238: ; /* expr ::= LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_SELECT), uintptr(0), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_237: + goto _346 +_239: ; /* expr ::= expr in_op LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_238: + goto _346 +_240: ; /* expr ::= expr in_op nm dbnm paren_exprlist */ pSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) pSelect = _sqlite3SelectNew(tls, pParse, uintptr(0), pSrc, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { if pSelect != 0 { - v346 = pSrc + v349 = pSrc } else { - v346 = uintptr(0) + v349 = uintptr(0) } - _sqlite3SrcListFuncArgs(tls, pParse, v346, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + _sqlite3SrcListFuncArgs(tls, pParse, v349, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pSelect) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_239: + goto _346 +_241: ; /* expr ::= EXISTS LP select RP */ - v347 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v347 - p4 = v347 - _sqlite3PExprAddSelect(tls, pParse, p4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_240: + v350 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v350 + p5 = v350 + _sqlite3PExprAddSelect(tls, pParse, p5, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_242: ; /* expr ::= CASE case_operand case_exprlist case_else END */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_CASE), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { - v348 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + v351 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } else { - v348 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + v351 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) } - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v348 + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v351 _sqlite3ExprSetHeightAndFlags(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } - goto _342 -_241: + goto _346 +_243: ; /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_242: + goto _346 +_244: ; /* case_exprlist ::= WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_243: + goto _346 +_245: ; /* nexprlist ::= nexprlist COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_244: + goto _346 +_246: ; /* nexprlist ::= expr */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_246: + goto _346 +_248: ; /* paren_exprlist ::= LP exprlist RP */ -_245: +_247: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_247: + goto _346 +_249: ; /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ _sqlite3CreateIndex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, uintptr(0)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(11))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8)), SQLITE_SO_ASC, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), uint8(SQLITE_IDXTYPE_APPDEF)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && (*TParse)(unsafe.Pointer(pParse)).FpNewIndex != 0 { _sqlite3RenameTokenMap(tls, pParse, (*TIndex)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpNewIndex)).FzName, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) } - goto _342 -_249: + goto _346 +_251: ; /* uniqueflag ::= UNIQUE */ -_248: +_250: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Abort) - goto _342 -_250: + goto _346 +_252: ; /* uniqueflag ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = OE_None - goto _342 -_251: + goto _346 +_253: ; /* eidlist ::= eidlist COMMA nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_252: + goto _346 +_254: ; /* eidlist ::= nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_253: + goto _346 +_255: ; /* cmd ::= DROP INDEX ifexists fullname */ _sqlite3DropIndex(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_254: + goto _346 +_256: ; /* cmd ::= VACUUM vinto */ _sqlite3Vacuum(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_255: + goto _346 +_257: ; /* cmd ::= VACUUM nm vinto */ _sqlite3Vacuum(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_256: + goto _346 +_258: ; /* cmd ::= PRAGMA nm dbnm */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, uintptr(0), 0) - goto _342 -_257: + goto _346 +_259: ; /* cmd ::= PRAGMA nm dbnm EQ nmnum */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, 0) - goto _342 -_258: + goto _346 +_260: ; /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) - goto _342 -_259: + goto _346 +_261: ; /* cmd ::= PRAGMA nm dbnm EQ minus_num */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, int32(1)) - goto _342 -_260: + goto _346 +_262: ; /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) - goto _342 -_261: + goto _346 +_263: ; /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ (*(*TToken)(unsafe.Pointer(bp + 104))).Fz = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) (*(*TToken)(unsafe.Pointer(bp + 104))).Fn = uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) + *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) _sqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), bp+104) - goto _342 -_262: + goto _346 +_264: ; /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ _sqlite3BeginTrigger(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8 + 8)) == uint32(0) { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) } else { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) } - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v349 /*A-overwrites-T*/ - goto _342 -_263: + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v352 /*A-overwrites-T*/ + goto _346 +_265: ; /* trigger_time ::= BEFORE|AFTER */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_264: + goto _346 +_266: ; /* trigger_time ::= INSTEAD OF */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_INSTEAD) - goto _342 -_265: + goto _346 +_267: ; /* trigger_time ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_BEFORE) - goto _342 -_267: + goto _346 +_269: ; /* trigger_event ::= DELETE|INSERT */ -_266: +_268: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) = uintptr(0) - goto _342 -_268: + goto _346 +_270: ; /* trigger_event ::= UPDATE OF idlist */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(TK_UPDATE) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_270: + goto _346 +_272: ; /* when_clause ::= */ -_269: +_271: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_272: + goto _346 +_274: ; /* when_clause ::= WHEN expr */ -_271: +_273: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_273: + goto _346 +_275: ; /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ (*TTriggerStep)(unsafe.Pointer((*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast)).FpNext = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_274: + goto _346 +_276: ; /* trigger_cmd_list ::= trigger_cmd SEMI */ (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_275: + goto _346 +_277: ; /* trnm ::= nm DOT nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23422, 0) - goto _342 -_276: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23545, 0) + goto _346 +_278: ; /* tridxby ::= INDEXED BY nm */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23517, 0) - goto _342 -_277: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23640, 0) + goto _346 +_279: ; /* tridxby ::= NOT INDEXED */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23601, 0) - goto _342 -_278: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23724, 0) + goto _346 +_280: ; /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerUpdateStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_279: + goto _346 +_281: ; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-6].minor.yy394*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_280: + goto _346 +_282: ; /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerDeleteStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_281: + goto _346 +_283: ; /* trigger_cmd ::= scanpt select scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-1].minor.yy47*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-1].minor.yy555*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_282: + goto _346 +_284: ; /* expr ::= RAISE LP IGNORE RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_RAISE), uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)))).FaffExpr = int8(OE_Ignore) } - goto _342 -_283: + goto _346 +_285: ; /* expr ::= RAISE LP raisetype COMMA nm RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_RAISE), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)))).FaffExpr = int8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) } - goto _342 -_284: + goto _346 +_286: ; /* raisetype ::= ROLLBACK */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Rollback) - goto _342 -_285: + goto _346 +_287: ; /* raisetype ::= FAIL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Fail) - goto _342 -_286: + goto _346 +_288: ; /* cmd ::= DROP TRIGGER ifexists fullname */ _sqlite3DropTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_287: + goto _346 +_289: ; /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ _sqlite3Attach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_288: + goto _346 +_290: ; /* cmd ::= DETACH database_kw_opt expr */ _sqlite3Detach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_289: + goto _346 +_291: ; /* cmd ::= REINDEX */ _sqlite3Reindex(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_290: + goto _346 +_292: ; /* cmd ::= REINDEX nm dbnm */ _sqlite3Reindex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_291: + goto _346 +_293: ; /* cmd ::= ANALYZE */ _sqlite3Analyze(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_292: + goto _346 +_294: ; /* cmd ::= ANALYZE nm dbnm */ _sqlite3Analyze(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_293: + goto _346 +_295: ; /* cmd ::= ALTER TABLE fullname RENAME TO nm */ _sqlite3AlterRenameTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_294: + goto _346 +_296: ; /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(int32(int64((*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fz)-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) + (*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fn _sqlite3AlterFinishAddColumn(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_295: + goto _346 +_297: ; /* cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ _sqlite3AlterDropColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_296: + goto _346 +_298: ; /* add_column_fullname ::= fullname */ _disableLookaside(tls, pParse) _sqlite3AlterBeginAddColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_297: + goto _346 +_299: ; /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ _sqlite3AlterRenameColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) - goto _342 -_298: + goto _346 +_300: ; /* cmd ::= create_vtab */ _sqlite3VtabFinishParse(tls, pParse, uintptr(0)) - goto _342 -_299: + goto _346 +_301: ; /* cmd ::= create_vtab LP vtabarglist RP */ _sqlite3VtabFinishParse(tls, pParse, yymsp+8) - goto _342 -_300: + goto _346 +_302: ; /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ _sqlite3VtabBeginParse(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) - goto _342 -_301: + goto _346 +_303: ; /* vtabarg ::= */ _sqlite3VtabArgInit(tls, pParse) - goto _342 -_303: + goto _346 +_305: ; /* vtabargtoken ::= ANY */ -_302: - ; _304: ; - _sqlite3VtabArgExtend(tls, pParse, yymsp+8) - goto _342 _306: + ; + _sqlite3VtabArgExtend(tls, pParse, yymsp+8) + goto _346 +_308: ; /* with ::= WITH wqlist */ -_305: +_307: ; _sqlite3WithPush(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint8(1)) - goto _342 -_307: + goto _346 +_309: ; /* wqas ::= AS */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8(M10d_Any) - goto _342 -_308: + goto _346 +_310: ; /* wqas ::= AS MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8(M10d_Yes) - goto _342 -_309: + goto _346 +_311: ; /* wqas ::= AS NOT MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = uint8(M10d_No) - goto _342 -_310: - ; /* wqitem ::= nm eidlist_opt wqas LP select RP */ + goto _346 +_312: + ; /* wqitem ::= withnm eidlist_opt wqas LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) /*A-overwrites-X*/ - goto _342 -_311: + goto _346 +_313: + ; /* withnm ::= nm */ + (*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1) + goto _346 +_314: ; /* wqlist ::= wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_312: + goto _346 +_315: ; /* wqlist ::= wqlist COMMA wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3WithAdd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_313: + goto _346 +_316: ; /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ _sqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_314: + goto _346 +_317: ; /* windowdefn ::= nm AS LP window RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)))) } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_315: + goto _346 +_318: ; /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_316: + goto _346 +_319: ; /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_317: + goto _346 +_320: ; /* window ::= ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_318: + goto _346 +_321: ; /* window ::= nm ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_319: + goto _346 +_322: ; /* window ::= nm frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_320: + goto _346 +_323: ; /* frame_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = _sqlite3WindowAlloc(tls, pParse, 0, int32(TK_UNBOUNDED), uintptr(0), int32(TK_CURRENT), uintptr(0), uint8(0)) - goto _342 -_321: + goto _346 +_324: ; /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), int32(TK_CURRENT), uintptr(0), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_322: + goto _346 +_325: ; /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_324: + goto _346 +_327: ; /* frame_bound_s ::= frame_bound */ -_323: +_326: ; *(*TFrameBound)(unsafe.Pointer(bp)) = *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_326: + goto _346 +_329: ; /* frame_bound_s ::= UNBOUNDED PRECEDING */ -_325: +_328: ; -_327: +_330: ; (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = uintptr(0) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_328: + goto _346 +_331: ; /* frame_bound ::= expr PRECEDING|FOLLOWING */ (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_329: + goto _346 +_332: ; /* frame_exclude_opt ::= */ *(*Tu8)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint8(0) - goto _342 -_330: + goto _346 +_333: ; /* frame_exclude_opt ::= EXCLUDE frame_exclude */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*Tu8)(unsafe.Pointer(yymsp + 8)) - goto _342 -_332: + goto _346 +_335: ; /* frame_exclude ::= NO OTHERS */ -_331: +_334: ; *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) /*A-overwrites-X*/ - goto _342 -_333: + goto _346 +_336: ; /* frame_exclude ::= GROUP|TIES */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_334: + goto _346 +_337: ; /* window_clause ::= WINDOW windowdefn_list */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_335: + goto _346 +_338: ; /* filter_over ::= filter_clause over_clause */ if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) @@ -156635,13 +158069,13 @@ _335: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_336: + goto _346 +_339: ; /* filter_over ::= over_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_337: + goto _346 +_340: ; /* filter_over ::= filter_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { @@ -156651,27 +158085,33 @@ _337: _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_338: + goto _346 +_341: ; /* over_clause ::= OVER LP window RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_339: + goto _346 +_342: ; /* over_clause ::= OVER nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) } - goto _342 -_340: + goto _346 +_343: ; /* filter_clause ::= FILTER LP WHERE expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_341: + goto _346 +_344: + ; /* term ::= QNUMBER */ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) + _sqlite3DequoteNumber(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))) + *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + goto _346 +_345: ; - goto _342 + goto _346 /********** End reduce actions ************************************************/ -_342: +_346: ; yygoto = int32(_yyRuleInfoLhs[yyruleno]) yysize = int32(_yyRuleInfoNRhs[yyruleno]) @@ -156705,9 +158145,9 @@ func _yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, _yyminor /************ Begin %syntax_error code ****************************************/ _ = yymajor /* Silence some compiler warnings */ if *(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp))).Fz)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23398, libc.VaList(bp+24, bp)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23521, libc.VaList(bp+24, bp)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23686, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23809, 0) } /************ End %syntax_error code ******************************************/ /* Suppress warning about unused %extra_argument variable */ @@ -156772,8 +158212,10 @@ func _sqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor TToken) { ** enough on the stack to push the LHS value */ if int32(_yyRuleInfoNRhs[yyruleno]) == 0 { if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos >= (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - _yyStackOverflow(tls, yypParser) - break + if _yyGrowStack(tls, yypParser) != 0 { + _yyStackOverflow(tls, yypParser) + break + } } } yyact = _yy_reduce(tls, yypParser, yyruleno, yymajor, yyminor, pParse) @@ -158922,9 +160364,9 @@ func _analyzeFilterKeyword(tls *libc.TLS, _z uintptr, lastToken int32) (r int32) // ** Store the token type in *tokenType before returning. // */ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { - var c, delim, i, n, v10, v14, v16, v19, v20, v3, v5, v7, v8 int32 - var v15, v6 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v14, v15, v16, v19, v20, v3, v5, v6, v7, v8 + var c, delim, i, n, v10, v16, v18, v21, v22, v3, v5, v7, v8 int32 + var v17, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v16, v17, v18, v21, v22, v3, v5, v6, v7, v8 switch int32(_aiClass[*(*uint8)(unsafe.Pointer(z))]) { /* Switch on the character-class of the first byte ** of the token. See the comment on the CC_ defines ** above. */ @@ -159120,39 +160562,83 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('X')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 2))])&int32(0x08) != 0 { i = int32(3) for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { + if !(int32(1) != 0) { break } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } goto _11 _11: ; i++ } - return i - } - i = 0 - for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _12 - _12: - ; - i++ - } - if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { - i++ - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + } else { + i = 0 + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _12 + _12: + ; i++ } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) - } - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { - i += int32(2) - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } i++ + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _13 + _13: + ; + i++ + } + } + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } + i += int32(2) + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _14 + _14: + ; + i++ + } } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) } for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x46) != 0 { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_ILLEGAL) @@ -159163,24 +160649,24 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { i = int32(1) c = int32(*(*uint8)(unsafe.Pointer(z))) for { - if v15 = c != int32(']'); v15 { - v14 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v14 + if v17 = c != int32(']'); v17 { + v16 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v16 } - if !(v15 && v14 != 0) { + if !(v17 && v16 != 0) { break } - goto _13 - _13: + goto _15 + _15: ; i++ } if c == int32(']') { - v16 = int32(TK_ID) + v18 = int32(TK_ID) } else { - v16 = int32(TK_ILLEGAL) + v18 = int32(TK_ILLEGAL) } - *(*int32)(unsafe.Pointer(tokenType)) = v16 + *(*int32)(unsafe.Pointer(tokenType)) = v18 return i case int32(CC_VARNUM): *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) @@ -159189,8 +160675,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { break } - goto _17 - _17: + goto _19 + _19: ; i++ } @@ -159202,9 +160688,9 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) i = int32(1) for { - v19 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v19 - if !(v19 != 0) { + v21 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v21 + if !(v21 != 0) { break } if int32(_sqlite3CtypeMap[uint8(uint8(c))])&int32(0x46) != 0 { @@ -159213,12 +160699,12 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if c == int32('(') && n > 0 { for { i++ - goto _21 - _21: + goto _23 + _23: ; - v20 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v20 - if !(v20 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { + v22 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v22 + if !(v22 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { break } } @@ -159236,8 +160722,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { } } } - goto _18 - _18: + goto _20 + _20: ; i++ } @@ -159255,8 +160741,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_aiClass[*(*uint8)(unsafe.Pointer(z + uintptr(i)))]) <= int32(CC_KYWD)) { break } - goto _22 - _22: + goto _24 + _24: ; i++ } @@ -159277,8 +160763,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { break } - goto _23 - _23: + goto _25 + _25: ; i++ } @@ -159330,7 +160816,7 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { var lastTokenParsed, mxSqlLen, n, nErr int32 var _ /* sEngine at bp+8 */ TyyParser var _ /* tokenType at bp+0 */ int32 - var _ /* x at bp+2432 */ TToken + var _ /* x at bp+2440 */ TToken _, _, _, _, _, _, _ = db, lastTokenParsed, mxSqlLen, n, nErr, pEngine, pParentParse nErr = 0 /* The LEMON-generated LALR(1) parser */ n = 0 /* type of the next token */ @@ -159388,10 +160874,12 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp)) == int32(TK_FILTER) { *(*int32)(unsafe.Pointer(bp)) = _analyzeFilterKeyword(tls, zSql+6, lastTokenParsed) } else { - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fz = zSql - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fn = uint32(uint32(n)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23703, libc.VaList(bp+2456, bp+2432)) - break + if *(*int32)(unsafe.Pointer(bp)) != int32(TK_QNUMBER) { + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fz = zSql + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fn = uint32(uint32(n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23826, libc.VaList(bp+2464, bp+2440)) + break + } } } } @@ -159412,9 +160900,9 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { } if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg != 0 || (*TParse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK && (*TParse)(unsafe.Pointer(pParse)).Frc != int32(SQLITE_DONE) { if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) { - (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3799, libc.VaList(bp+2456, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) + (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3863, libc.VaList(bp+2464, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) } - Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23728, libc.VaList(bp+2456, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) + Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23851, libc.VaList(bp+2464, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) nErr++ } (*TParse)(unsafe.Pointer(pParse)).FzTail = zSql @@ -159606,7 +161094,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('c'): fallthrough case int32('C'): - if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23739, int32(6)) == 0 { + if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23862, int32(6)) == 0 { token = uint8(tkCREATE) } else { token = uint8(tkOTHER) @@ -159614,13 +161102,13 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('t'): fallthrough case int32('T'): - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20383, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20515, int32(7)) == 0 { token = uint8(tkTRIGGER) } else { - if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23746, int32(4)) == 0 { + if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23869, int32(4)) == 0 { token = uint8(tkTEMP) } else { - if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23751, int32(9)) == 0 { + if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23874, int32(9)) == 0 { token = uint8(tkTEMP) } else { token = uint8(tkOTHER) @@ -159630,10 +161118,10 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('e'): fallthrough case int32('E'): - if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23761, int32(3)) == 0 { + if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23884, int32(3)) == 0 { token = uint8(tkEND) } else { - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23765, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23888, int32(7)) == 0 { token = uint8(tkEXPLAIN) } else { token = uint8(tkOTHER) @@ -160075,7 +161563,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) { */ if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 { if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)<= 0 && rc < int32(libc.Uint64FromInt64(232)/libc.Uint64FromInt64(8)) && _aMsg[rc] != uintptr(0) { @@ -161213,31 +162701,31 @@ func _sqlite3ErrStr(tls *libc.TLS, rc int32) (r uintptr) { } var _aMsg = [29]uintptr{ - 0: __ccgo_ts + 23841, - 1: __ccgo_ts + 23854, - 3: __ccgo_ts + 23870, - 4: __ccgo_ts + 23895, - 5: __ccgo_ts + 23909, - 6: __ccgo_ts + 23928, - 7: __ccgo_ts + 1622, - 8: __ccgo_ts + 23953, - 9: __ccgo_ts + 23990, - 10: __ccgo_ts + 24002, - 11: __ccgo_ts + 24017, - 12: __ccgo_ts + 24050, - 13: __ccgo_ts + 24068, - 14: __ccgo_ts + 24093, - 15: __ccgo_ts + 24122, - 17: __ccgo_ts + 6025, - 18: __ccgo_ts + 5427, - 19: __ccgo_ts + 24139, - 20: __ccgo_ts + 24157, - 21: __ccgo_ts + 24175, - 23: __ccgo_ts + 24209, - 25: __ccgo_ts + 24230, - 26: __ccgo_ts + 24256, - 27: __ccgo_ts + 24279, - 28: __ccgo_ts + 24300, + 0: __ccgo_ts + 23964, + 1: __ccgo_ts + 23977, + 3: __ccgo_ts + 23993, + 4: __ccgo_ts + 24018, + 5: __ccgo_ts + 24032, + 6: __ccgo_ts + 24051, + 7: __ccgo_ts + 1636, + 8: __ccgo_ts + 24076, + 9: __ccgo_ts + 24113, + 10: __ccgo_ts + 24125, + 11: __ccgo_ts + 24140, + 12: __ccgo_ts + 24173, + 13: __ccgo_ts + 24191, + 14: __ccgo_ts + 24216, + 15: __ccgo_ts + 24245, + 17: __ccgo_ts + 6089, + 18: __ccgo_ts + 5491, + 19: __ccgo_ts + 24262, + 20: __ccgo_ts + 24280, + 21: __ccgo_ts + 24298, + 23: __ccgo_ts + 24332, + 25: __ccgo_ts + 24353, + 26: __ccgo_ts + 24379, + 27: __ccgo_ts + 24402, + 28: __ccgo_ts + 24423, } // C documentation @@ -161416,7 +162904,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i var p, v1 uintptr _, _, _, _ = extraFlags, p, rc, v1 if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) { - return _sqlite3MisuseError(tls, int32(180244)) + return _sqlite3MisuseError(tls, int32(181689)) } extraFlags = enc & (libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_INNOCUOUS) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)) enc &= libc.Int32FromInt32(SQLITE_FUNC_ENCMASK) | libc.Int32FromInt32(SQLITE_ANY) @@ -161459,7 +162947,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i p = _sqlite3FindFunction(tls, db, zFunctionName, nArg, uint8(uint8(enc)), uint8(0)) if p != 0 && (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) == uint32(uint32(enc)) && int32((*TFuncDef)(unsafe.Pointer(p)).FnArg) == nArg { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24397, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24520, 0) return int32(SQLITE_BUSY) } else { _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -161585,7 +163073,7 @@ func _sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotU zName = Xsqlite3_user_data(tls, context) _ = NotUsed _ = NotUsed2 - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24460, libc.VaList(bp+8, zName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24583, libc.VaList(bp+8, zName)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -161616,7 +163104,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i if rc != 0 { return SQLITE_OK } - zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, zName)) + zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, zName)) if zCopy == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -161860,7 +163348,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) { /* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint ** mode: */ - return _sqlite3MisuseError(tls, int32(180859)) + return _sqlite3MisuseError(tls, int32(182304)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if zDb != 0 && *(*int8)(unsafe.Pointer(zDb)) != 0 { @@ -161870,7 +163358,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in } if iDb < 0 { rc = int32(SQLITE_ERROR) - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24511, libc.VaList(bp+8, zDb)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24634, libc.VaList(bp+8, zDb)) } else { (*Tsqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = _sqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -161992,7 +163480,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) { return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM)) } if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(180995))) + return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(182440))) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -162124,7 +163612,7 @@ var _misuse = [34]Tu16{ // */ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181074)) + return _sqlite3MisuseError(tls, int32(182519)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -162134,7 +163622,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181083)) + return _sqlite3MisuseError(tls, int32(182528)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -162183,7 +163671,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui enc2 = int32(SQLITE_UTF16LE) } if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) { - return _sqlite3MisuseError(tls, int32(181131)) + return _sqlite3MisuseError(tls, int32(182576)) } /* Check if this call is removing or replacing an existing collation ** sequence. If so, and there are active VMs, return busy. If there @@ -162192,7 +163680,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui pColl = _sqlite3FindCollSeq(tls, db, uint8(uint8(enc2)), zName, 0) if pColl != 0 && (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24532, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24655, 0) return int32(SQLITE_BUSY) } _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -162339,7 +163827,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u flags = *(*uint32)(unsafe.Pointer(pFlags)) zVfs = zDefaultVfs nUri = _sqlite3Strlen30(tls, zUri) - if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24600, uint64(5)) == 0 { /* Input character index */ + if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24723, uint64(5)) == 0 { /* Input character index */ iOut = 0 /* Output character index */ nByte = uint64(nUri + int32(8)) /* Bytes of space to allocate */ /* Make sure the SQLITE_OPEN_URI flag is set to indicate to the VFS xOpen @@ -162369,8 +163857,8 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u for *(*int8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0 && int32(*(*int8)(unsafe.Pointer(zUri + uintptr(iIn)))) != int32('/') { iIn++ } - if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24606, zUri+7, uint64(9)) != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24616, libc.VaList(bp+8, iIn-int32(7), zUri+7)) + if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24729, zUri+7, uint64(9)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24739, libc.VaList(bp+8, iIn-int32(7), zUri+7)) rc = int32(SQLITE_ERROR) goto parse_uri_out } @@ -162459,24 +163947,24 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u nOpt = _sqlite3Strlen30(tls, zOpt) zVal = zOpt + uintptr(nOpt+int32(1)) nVal = _sqlite3Strlen30(tls, zVal) - if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24644, zOpt, uint64(3)) == 0 { + if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24767, zOpt, uint64(3)) == 0 { zVfs = zVal } else { aMode = uintptr(0) zModeType = uintptr(0) mask = 0 limit = 0 - if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24648, zOpt, uint64(5)) == 0 { + if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24771, zOpt, uint64(5)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_SHAREDCACHE) | libc.Int32FromInt32(SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&_aCacheMode)) limit = mask - zModeType = __ccgo_ts + 24648 + zModeType = __ccgo_ts + 24771 } - if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24669, zOpt, uint64(4)) == 0 { + if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24792, zOpt, uint64(4)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_READONLY) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&_aOpenMode)) limit = int32(uint32(uint32(mask)) & flags) - zModeType = __ccgo_ts + 3408 + zModeType = __ccgo_ts + 3472 } if aMode != 0 { mode = 0 @@ -162505,12 +163993,12 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u i++ } if mode == 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24684, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24807, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_ERROR) goto parse_uri_out } if mode & ^libc.Int32FromInt32(SQLITE_OPEN_MEMORY) > limit { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24704, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24827, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_PERM) goto parse_uri_out } @@ -162534,7 +164022,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u } *(*uintptr)(unsafe.Pointer(ppVfs)) = Xsqlite3_vfs_find(tls, zVfs) if *(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24728, libc.VaList(bp+8, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24851, libc.VaList(bp+8, zVfs)) rc = int32(SQLITE_ERROR) } goto parse_uri_out @@ -162554,11 +164042,11 @@ var _aCacheMode = [3]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24654, + Fz: __ccgo_ts + 24777, Fmode: int32(SQLITE_OPEN_SHAREDCACHE), }, 1: { - Fz: __ccgo_ts + 24661, + Fz: __ccgo_ts + 24784, Fmode: int32(SQLITE_OPEN_PRIVATECACHE), }, 2: {}, @@ -162569,19 +164057,19 @@ var _aOpenMode = [5]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24674, + Fz: __ccgo_ts + 24797, Fmode: int32(SQLITE_OPEN_READONLY), }, 1: { - Fz: __ccgo_ts + 24677, + Fz: __ccgo_ts + 24800, Fmode: int32(SQLITE_OPEN_READWRITE), }, 2: { - Fz: __ccgo_ts + 24680, + Fz: __ccgo_ts + 24803, Fmode: libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE), }, 3: { - Fz: __ccgo_ts + 17768, + Fz: __ccgo_ts + 17855, Fmode: int32(SQLITE_OPEN_MEMORY), }, 4: {}, @@ -162709,8 +164197,8 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16BE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+22355, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+24744, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+22500, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+24867, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto opendb_out } @@ -162731,7 +164219,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* READWRITE */ /* READWRITE | CREATE */ if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 { - rc = _sqlite3MisuseError(tls, int32(181803)) /* IMP: R-18321-05872 */ + rc = _sqlite3MisuseError(tls, int32(183248)) /* IMP: R-18321-05872 */ } else { rc = _sqlite3ParseUri(tls, zVfs, zFilename, bp, db, bp+8, bp+16) } @@ -162740,7 +164228,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _sqlite3OomFault(tls, db) } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { - v2 = __ccgo_ts + 3799 + v2 = __ccgo_ts + 3863 } else { v2 = uintptr(0) } @@ -162767,9 +164255,9 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* The default safety_level for the main database is FULL; for the temp ** database it is OFF. This matches the pager layer defaults. */ - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6589 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6653 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).Fsafety_level = uint8(libc.Int32FromInt32(SQLITE_DEFAULT_SYNCHRONOUS) + libc.Int32FromInt32(1)) - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23746 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23869 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).Fsafety_level = uint8(PAGER_SYNCHRONOUS_OFF) (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState = uint8(SQLITE_STATE_OPEN) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -162863,7 +164351,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) { return rc } if zFilename == uintptr(0) { - zFilename = __ccgo_ts + 24750 + zFilename = __ccgo_ts + 24873 } pVal = _sqlite3ValueNew(tls, uintptr(0)) _sqlite3ValueSetStr(tls, pVal, -int32(1), zFilename, uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(0)) @@ -163080,20 +164568,20 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) (r int32) { func _sqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, __ccgo_ts+24753, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) + Xsqlite3_log(tls, iErr, __ccgo_ts+24876, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) return iErr } func _sqlite3CorruptError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24778) + return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24901) } func _sqlite3MisuseError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24798) + return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24921) } func _sqlite3CantopenError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24805) + return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24928) } // C documentation @@ -163224,11 +164712,11 @@ error_out: } if SQLITE_OK == rc && !(pTab != 0) { _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24822, libc.VaList(bp+16, zTableName, zColumnName)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24945, libc.VaList(bp+16, zTableName, zColumnName)) rc = int32(SQLITE_ERROR) } if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - v3 = __ccgo_ts + 3799 + v3 = __ccgo_ts + 3863 } else { v3 = uintptr(0) } @@ -164252,7 +165740,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) (r int32) { var _ /* nOpt at bp+0 */ int32 _, _, _ = azCompileOpt, i, n azCompileOpt = _sqlite3CompileOptions(tls, bp) - if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24850, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24973, int32(7)) == 0 { zOptName += uintptr(7) } n = _sqlite3Strlen30(tls, zOptName) @@ -164470,7 +165958,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui } _leaveMutex(tls) if rc != 0 { - v2 = __ccgo_ts + 24858 + v2 = __ccgo_ts + 24981 } else { v2 = uintptr(0) } @@ -165350,23 +166838,23 @@ func _sqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { // ** string must correspond to the JSONB_* integer above. // */ var _jsonbType = [17]uintptr{ - 0: __ccgo_ts + 1638, - 1: __ccgo_ts + 7890, - 2: __ccgo_ts + 7895, - 3: __ccgo_ts + 6310, - 4: __ccgo_ts + 6310, - 5: __ccgo_ts + 6305, - 6: __ccgo_ts + 6305, - 7: __ccgo_ts + 8201, - 8: __ccgo_ts + 8201, - 9: __ccgo_ts + 8201, - 10: __ccgo_ts + 8201, - 11: __ccgo_ts + 24881, - 12: __ccgo_ts + 24887, - 13: __ccgo_ts + 1652, - 14: __ccgo_ts + 1652, - 15: __ccgo_ts + 1652, - 16: __ccgo_ts + 1652, + 0: __ccgo_ts + 1652, + 1: __ccgo_ts + 8015, + 2: __ccgo_ts + 8020, + 3: __ccgo_ts + 6374, + 4: __ccgo_ts + 6374, + 5: __ccgo_ts + 6369, + 6: __ccgo_ts + 6369, + 7: __ccgo_ts + 8326, + 8: __ccgo_ts + 8326, + 9: __ccgo_ts + 8326, + 10: __ccgo_ts + 8326, + 11: __ccgo_ts + 25004, + 12: __ccgo_ts + 25010, + 13: __ccgo_ts + 1666, + 14: __ccgo_ts + 1666, + 15: __ccgo_ts + 1666, + 16: __ccgo_ts + 1666, } // C documentation @@ -166129,6 +167617,38 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { _jsonAppendChar(tls, p, int8(',')) } +// C documentation +// +// /* c is a control character. Append the canonical JSON representation +// ** of that control character to p. +// ** +// ** This routine assumes that the output buffer has already been enlarged +// ** sufficiently to hold the worst-case encoding plus a nul terminator. +// */ +func _jsonAppendControlChar(tls *libc.TLS, p uintptr, c Tu8) { + if _aSpecial[c] != 0 { + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = int8('\\') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = _aSpecial[c] + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(2) + } else { + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = int8('\\') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = int8('u') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(2)))) = int8('0') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(3)))) = int8('0') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(4)))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25017 + uintptr(int32(int32(c))>>int32(4)))) + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(5)))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25017 + uintptr(int32(int32(c))&int32(0xf)))) + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(6) + } +} + +var _aSpecial = [32]int8{ + 8: int8('b'), + 9: int8('t'), + 10: int8('n'), + 12: int8('f'), + 13: int8('r'), +} + // C documentation // // /* Append the N-byte string in zIn to the end of the JsonString string @@ -166142,9 +167662,9 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { var c Tu8 var k Tu32 - var z, v10, v12, v14, v16, v18, v2, v20, v22, v24, v6, v8 uintptr - var v1, v11, v13, v15, v17, v19, v21, v23, v5, v7, v9 Tu64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v5, v6, v7, v8, v9 + var z, v10, v2, v4, v6, v8 uintptr + var v1, v3, v5, v7, v9 Tu64 + _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v2, v3, v4, v5, v6, v7, v8, v9 z = zIn if z == uintptr(0) { return @@ -166201,81 +167721,38 @@ func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { N -= k } c = *(*Tu8)(unsafe.Pointer(z)) - if !(int32(int32(c)) == int32('"') || int32(int32(c)) == int32('\\')) { - goto _3 - } - goto json_simple_escape - json_simple_escape: - ; - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(uint64(N))+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { - return - } - v6 = p + 24 - v5 = *(*Tu64)(unsafe.Pointer(v6)) - *(*Tu64)(unsafe.Pointer(v6))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = int8('\\') - v8 = p + 24 - v7 = *(*Tu64)(unsafe.Pointer(v8)) - *(*Tu64)(unsafe.Pointer(v8))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = int8(int8(c)) - goto _4 - _3: - ; - if int32(int32(c)) == int32('\'') { - v10 = p + 24 - v9 = *(*Tu64)(unsafe.Pointer(v10)) - *(*Tu64)(unsafe.Pointer(v10))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = int8(int8(c)) - } else { - if _aSpecial[c] != 0 { - c = uint8(_aSpecial[c]) - goto json_simple_escape - } - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(uint64(N))+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + if int32(int32(c)) == int32('"') || int32(int32(c)) == int32('\\') { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(uint64(N))+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { return } - v12 = p + 24 - v11 = *(*Tu64)(unsafe.Pointer(v12)) - *(*Tu64)(unsafe.Pointer(v12))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v11))) = int8('\\') - v14 = p + 24 - v13 = *(*Tu64)(unsafe.Pointer(v14)) - *(*Tu64)(unsafe.Pointer(v14))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v13))) = int8('u') - v16 = p + 24 - v15 = *(*Tu64)(unsafe.Pointer(v16)) - *(*Tu64)(unsafe.Pointer(v16))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v15))) = int8('0') - v18 = p + 24 - v17 = *(*Tu64)(unsafe.Pointer(v18)) - *(*Tu64)(unsafe.Pointer(v18))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v17))) = int8('0') - v20 = p + 24 - v19 = *(*Tu64)(unsafe.Pointer(v20)) - *(*Tu64)(unsafe.Pointer(v20))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v19))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 24894 + uintptr(int32(int32(c))>>int32(4)))) - v22 = p + 24 - v21 = *(*Tu64)(unsafe.Pointer(v22)) - *(*Tu64)(unsafe.Pointer(v22))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v21))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 24894 + uintptr(int32(int32(c))&int32(0xf)))) + v4 = p + 24 + v3 = *(*Tu64)(unsafe.Pointer(v4)) + *(*Tu64)(unsafe.Pointer(v4))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v3))) = int8('\\') + v6 = p + 24 + v5 = *(*Tu64)(unsafe.Pointer(v6)) + *(*Tu64)(unsafe.Pointer(v6))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = int8(int8(c)) + } else { + if int32(int32(c)) == int32('\'') { + v8 = p + 24 + v7 = *(*Tu64)(unsafe.Pointer(v8)) + *(*Tu64)(unsafe.Pointer(v8))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = int8(int8(c)) + } else { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(uint64(N))+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + return + } + _jsonAppendControlChar(tls, p, c) + } } - _4: - ; z++ N-- } - v24 = p + 24 - v23 = *(*Tu64)(unsafe.Pointer(v24)) - *(*Tu64)(unsafe.Pointer(v24))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v23))) = int8('"') -} - -var _aSpecial = [32]int8{ - 8: int8('b'), - 9: int8('t'), - 10: int8('n'), - 12: int8('f'), - 13: int8('r'), + v10 = p + 24 + v9 = *(*Tu64)(unsafe.Pointer(v10)) + *(*Tu64)(unsafe.Pointer(v10))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = int8('"') } // C documentation @@ -166293,9 +167770,9 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _, _, _, _ = n, n1, z, z1 switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_NULL): - _jsonAppendRawNZ(tls, p, __ccgo_ts+1638, uint32(4)) + _jsonAppendRawNZ(tls, p, __ccgo_ts+1652, uint32(4)) case int32(SQLITE_FLOAT): - _jsonPrintf(tls, int32(100), p, __ccgo_ts+15327, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) + _jsonPrintf(tls, int32(100), p, __ccgo_ts+15420, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) case int32(SQLITE_INTEGER): z = Xsqlite3_value_text(tls, pValue) n = uint32(Xsqlite3_value_bytes(tls, pValue)) @@ -166316,7 +167793,7 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _jsonTranslateBlobToText(tls, bp, uint32(0), p) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr) == 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24911, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25034, -int32(1)) (*TJsonString)(unsafe.Pointer(p)).FeErr = uint8(JSTRING_ERR) _jsonStringReset(tls, p) } @@ -166370,7 +167847,7 @@ func _jsonReturnString(tls *libc.TLS, p uintptr, pParse uintptr, ctx uintptr) { Xsqlite3_result_error_nomem(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr)&int32(JSTRING_MALFORMED) != 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24940, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25063, -int32(1)) } } } @@ -166653,8 +168130,8 @@ var _aNanInfName = [5]TNanInfName{ Fn: int8(3), FeType: int8(JSONB_FLOAT), FnRepl: int8(7), - FzMatch: __ccgo_ts + 24955, - FzRepl: __ccgo_ts + 24959, + FzMatch: __ccgo_ts + 25078, + FzRepl: __ccgo_ts + 25082, }, 1: { Fc1: int8('i'), @@ -166662,32 +168139,32 @@ var _aNanInfName = [5]TNanInfName{ Fn: int8(8), FeType: int8(JSONB_FLOAT), FnRepl: int8(7), - FzMatch: __ccgo_ts + 24967, - FzRepl: __ccgo_ts + 24959, + FzMatch: __ccgo_ts + 25090, + FzRepl: __ccgo_ts + 25082, }, 2: { Fc1: int8('n'), Fc2: int8('N'), Fn: int8(3), FnRepl: int8(4), - FzMatch: __ccgo_ts + 1643, - FzRepl: __ccgo_ts + 1638, + FzMatch: __ccgo_ts + 1657, + FzRepl: __ccgo_ts + 1652, }, 3: { Fc1: int8('q'), Fc2: int8('Q'), Fn: int8(4), FnRepl: int8(4), - FzMatch: __ccgo_ts + 24976, - FzRepl: __ccgo_ts + 1638, + FzMatch: __ccgo_ts + 25099, + FzRepl: __ccgo_ts + 1652, }, 4: { Fc1: int8('s'), Fc2: int8('S'), Fn: int8(4), FnRepl: int8(4), - FzMatch: __ccgo_ts + 24981, - FzRepl: __ccgo_ts + 1638, + FzMatch: __ccgo_ts + 25104, + FzRepl: __ccgo_ts + 1652, }, } @@ -166702,7 +168179,7 @@ func _jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24986, libc.VaList(bp+8, zFuncName)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25109, libc.VaList(bp+8, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) } @@ -167151,30 +168628,37 @@ func _jsonbValidityCheck(tls *libc.TLS, pParse uintptr, i Tu32, iEnd Tu32, iDept return j + uint32(1) } } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) <= int32(0x1f) { + /* Control characters in JSON5 string literals are ok */ + if int32(int32(x)) == int32(JSONB_TEXTJ) { + return j + uint32(1) + } } else { - if libc.Xstrchr(tls, __ccgo_ts+25029, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { - j++ + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { + return j + uint32(1) } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { - if j+uint32(5) >= k { - return j + uint32(1) - } - if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { - return j + uint32(1) - } + if libc.Xstrchr(tls, __ccgo_ts+25152, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { j++ } else { - if int32(int32(x)) != int32(JSONB_TEXT5) { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { + if j+uint32(5) >= k { + return j + uint32(1) + } + if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { + return j + uint32(1) + } + j++ } else { - *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) - szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) - if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + if int32(int32(x)) != int32(JSONB_TEXT5) { return j + uint32(1) + } else { + *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) + szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) + if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + return j + uint32(1) + } + j += szC - uint32(1) } - j += szC - uint32(1) } } } @@ -167601,9 +169085,14 @@ parse_string: } } else { if int32(int32(c)) <= int32(0x1f) { - /* Control characters are not allowed in strings */ - (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j - return -int32(1) + if int32(int32(c)) == 0 { + (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j + return -int32(1) + } + /* Control characters are not allowed in canonical JSON string + ** literals, but are allowed in JSON5 string literals. */ + opcode = uint8(JSONB_TEXT5) + (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) } else { if int32(int32(c)) == int32('"') { opcode = uint8(JSONB_TEXT5) @@ -167617,7 +169106,7 @@ parse_string: return int32(j + uint32(1)) _5: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7890, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8015, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_TRUE)) return int32(i + uint32(4)) } @@ -167625,7 +169114,7 @@ _5: return -int32(1) _6: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7895, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(5)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8020, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(5)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_FALSE)) return int32(i + uint32(5)) } @@ -167702,14 +169191,14 @@ parse_number: /* JSON5 allows for "+Infinity" and "-Infinity" using exactly ** that case. SQLite also allows these in any case and it allows ** "+inf" and "-inf". */ - if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+24955, int32(3)) == 0 { + if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+25078, int32(3)) == 0 { (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) if int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == int32('-') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25038) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25161) } else { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25045) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25168) } - if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25051, int32(5)) == 0 { + if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25174, int32(5)) == 0 { v48 = int32(9) } else { v48 = int32(4) @@ -167870,11 +169359,10 @@ _29: return -int32(1) _37: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1638, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1652, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) return int32(i + uint32(4)) } - /* fall-through into the default case that checks for NaN */ _38: ; c = *(*int8)(unsafe.Pointer(z + uintptr(i))) @@ -167894,7 +169382,7 @@ _38: goto _51 } if int32(_aNanInfName[k1].FeType) == int32(JSONB_FLOAT) { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25045) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25168) } else { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) } @@ -167939,7 +169427,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 i += _json5Whitespace(tls, zJson+uintptr(i)) if *(*int8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { if pCtx != 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24940, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25063, -int32(1)) } _jsonParseReset(tls, pParse) return int32(1) @@ -167952,7 +169440,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 if (*TJsonParse)(unsafe.Pointer(pParse)).Foom != 0 { Xsqlite3_result_error_nomem(tls, pCtx) } else { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24940, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25063, -int32(1)) } } _jsonParseReset(tls, pParse) @@ -168115,15 +169603,15 @@ func _jsonTranslateBlobToText(tls *libc.TLS, pParse uintptr, i Tu32, pOut uintpt goto _16 _2: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1638, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1652, uint32(4)) return i + uint32(1) _3: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7890, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8015, uint32(4)) return i + uint32(1) _4: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7895, uint32(5)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8020, uint32(5)) return i + uint32(1) _6: ; @@ -168172,9 +169660,9 @@ _7: k++ } if bOverflow != 0 { - v19 = __ccgo_ts + 24959 + v19 = __ccgo_ts + 25082 } else { - v19 = __ccgo_ts + 11757 + v19 = __ccgo_ts + 11882 } _jsonPrintf(tls, int32(100), pOut, v19, libc.VaList(bp+16, u)) goto _16 @@ -168222,7 +169710,7 @@ _11: for sz2 > uint32(0) { k2 = uint32(0) for { - if !(k2 < sz2 && int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('\\') && int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('"')) { + if !(k2 < sz2 && (_jsonIsOk[uint8(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2))))] != 0 || int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) == int32('\''))) { break } goto _21 @@ -168239,7 +169727,16 @@ _11: sz2 -= k2 } if int32(*(*int8)(unsafe.Pointer(zIn2))) == int32('"') { - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25057, uint32(2)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25180, uint32(2)) + zIn2++ + sz2-- + continue + } + if int32(*(*int8)(unsafe.Pointer(zIn2))) <= int32(0x1f) { + if (*TJsonString)(unsafe.Pointer(pOut)).FnUsed+uint64(7) > (*TJsonString)(unsafe.Pointer(pOut)).FnAlloc && _jsonStringGrow(tls, pOut, uint32(7)) != 0 { + break + } + _jsonAppendControlChar(tls, pOut, uint8(*(*int8)(unsafe.Pointer(zIn2)))) zIn2++ sz2-- continue @@ -168253,7 +169750,7 @@ _11: case int32('\''): _jsonAppendChar(tls, pOut, int8('\'')) case int32('v'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25060, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25183, uint32(6)) case int32('x'): if sz2 < uint32(4) { p23 = pOut + 33 @@ -168261,12 +169758,12 @@ _11: sz2 = uint32(2) break } - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25067, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25190, uint32(4)) _jsonAppendRawNZ(tls, pOut, zIn2+2, uint32(2)) zIn2 += uintptr(2) sz2 -= uint32(2) case int32('0'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25072, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25195, uint32(6)) case int32('\r'): if sz2 > uint32(2) && int32(*(*int8)(unsafe.Pointer(zIn2 + 2))) == int32('\n') { zIn2++ @@ -168355,6 +169852,140 @@ _16: return i + n + *(*Tu32)(unsafe.Pointer(bp)) } +// C documentation +// +// /* Context for recursion of json_pretty() +// */ +type TJsonPretty = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty = TJsonPretty + +type TJsonPretty1 = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty1 = TJsonPretty1 + +// C documentation +// +// /* Append indentation to the pretty JSON under construction */ +func _jsonPrettyIndent(tls *libc.TLS, pPretty uintptr) { + var jj Tu32 + _ = jj + jj = uint32(0) + for { + if !(jj < (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent) { + break + } + _jsonAppendRaw(tls, (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut, (*TJsonPretty)(unsafe.Pointer(pPretty)).FzIndent, (*TJsonPretty)(unsafe.Pointer(pPretty)).FszIndent) + goto _1 + _1: + ; + jj++ + } +} + +// C documentation +// +// /* +// ** Translate the binary JSONB representation of JSON beginning at +// ** pParse->aBlob[i] into a JSON text string. Append the JSON +// ** text onto the end of pOut. Return the index in pParse->aBlob[] +// ** of the first byte past the end of the element that is translated. +// ** +// ** This is a variant of jsonTranslateBlobToText() that "pretty-prints" +// ** the output. Extra whitespace is inserted to make the JSON easier +// ** for humans to read. +// ** +// ** If an error is detected in the BLOB input, the pOut->eErr flag +// ** might get set to JSTRING_MALFORMED. But not all BLOB input errors +// ** are detected. So a malformed JSONB input might either result +// ** in an error, or in incorrect JSON. +// ** +// ** The pOut->eErr JSTRING_OOM flag is set on a OOM. +// */ +func _jsonTranslateBlobToPrettyText(tls *libc.TLS, pPretty uintptr, i Tu32) (r Tu32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var iEnd, j, n Tu32 + var pOut, pParse, p1, p2 uintptr + var _ /* sz at bp+0 */ Tu32 + _, _, _, _, _, _, _ = iEnd, j, n, pOut, pParse, p1, p2 + pParse = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpParse + pOut = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut + n = _jsonbPayloadSize(tls, pParse, i, bp) + if n == uint32(0) { + p1 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + return (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob + uint32(1) + } + switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { + case int32(JSONB_ARRAY): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, int8('[')) + if j < iEnd { + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25202, uint32(2)) + } + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, int8(']')) + i = iEnd + case int32(JSONB_OBJECT): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, int8('{')) + if j < iEnd { + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToText(tls, pParse, j, pOut) + if j > iEnd { + p2 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p2)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p2))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25205, uint32(2)) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25202, uint32(2)) + } + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, int8('}')) + i = iEnd + default: + i = _jsonTranslateBlobToText(tls, pParse, i, pOut) + break + } + return i +} + // C documentation // // /* Return true if the input pJson @@ -169072,7 +170703,7 @@ func _jsonReturnFromBlob(tls *libc.TLS, pParse uintptr, i Tu32, pCtx uintptr, te db = Xsqlite3_context_db_handle(tls, pCtx) n = _jsonbPayloadSize(tls, pParse, i, bp) if n == uint32(0) { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24940, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25063, -int32(1)) return } switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { @@ -169308,7 +170939,7 @@ returnfromblob_oom: goto returnfromblob_malformed returnfromblob_malformed: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24940, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25063, -int32(1)) return } @@ -169349,7 +170980,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob = Xsqlite3_value_blob(tls, pArg) (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob = uint32(Xsqlite3_value_bytes(tls, pArg)) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24911, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25034, -int32(1)) return int32(1) } case int32(SQLITE_TEXT): @@ -169362,7 +170993,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FzJson = zJson (*TJsonParse)(unsafe.Pointer(pParse)).FnJson = nJson if _jsonConvertTextToBlob(tls, pParse, ctx) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24940, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25063, -int32(1)) _sqlite3DbFree(tls, (*TJsonParse)(unsafe.Pointer(pParse)).Fdb, (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob) libc.Xmemset(tls, pParse, 0, uint64(72)) return int32(1) @@ -169381,10 +171012,10 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin return int32(1) } if int32(*(*int8)(unsafe.Pointer(z))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25045) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25168) } else { if int32(*(*int8)(unsafe.Pointer(z))) == int32('-') && int32(*(*int8)(unsafe.Pointer(z + 1))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25038) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25161) } else { _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(uint32(n)), z) } @@ -169423,7 +171054,7 @@ func _jsonBadPathError(tls *libc.TLS, ctx uintptr, zPath uintptr) (r uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25079, libc.VaList(bp+8, zPath)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25208, libc.VaList(bp+8, zPath)) if ctx == uintptr(0) { return zMsg } @@ -169520,7 +171151,7 @@ jsonInsertIntoBlob_patherror: ; _jsonParseFree(tls, p) if rc == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24940, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25063, -int32(1)) } else { _jsonBadPathError(tls, ctx, zPath) } @@ -169702,7 +171333,7 @@ json_pfa_malformed: return p } else { _jsonParseFree(tls, p) - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24940, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25063, -int32(1)) return uintptr(0) } goto json_pfa_oom @@ -169837,7 +171468,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if int32(*(*int8)(unsafe.Pointer(zPath))) == int32('$') { v1 = zPath + uintptr(1) } else { - v1 = __ccgo_ts + 25097 + v1 = __ccgo_ts + 25226 } i = _jsonLookupStep(tls, p, uint32(0), v1, uint32(0)) if i >= uint32(JSON_LOOKUP_PATHERROR) { @@ -169847,7 +171478,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24940, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25063, -int32(1)) } } eErr = uint8(1) @@ -169865,25 +171496,6 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) _jsonParseFree(tls, p) } -// C documentation -// -// /* True if the string is all digits */ -func _jsonAllDigits(tls *libc.TLS, z uintptr, n int32) (r int32) { - var i int32 - _ = i - i = 0 - for { - if !(i < n && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&int32(0x04) != 0) { - break - } - goto _1 - _1: - ; - i++ - } - return libc.BoolInt32(i == n) -} - // C documentation // // /* True if the string is all alphanumerics and underscores */ @@ -169970,21 +171582,21 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { ** [NUMBER] ==> $[NUMBER] // Not PG. Purely for convenience */ _jsonStringInit(tls, bp, ctx) - if _jsonAllDigits(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25099, uint32(1)) + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) == int32(SQLITE_INTEGER) { + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25228, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(uint32(nPath))) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+5165, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+5229, uint32(2)) } else { if _jsonAllAlphanum(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1665, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1679, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(uint32(nPath))) } else { if int32(*(*int8)(unsafe.Pointer(zPath))) == int32('[') && nPath >= int32(3) && int32(*(*int8)(unsafe.Pointer(zPath + uintptr(nPath-int32(1))))) == int32(']') { _jsonAppendRaw(tls, bp, zPath, uint32(uint32(nPath))) } else { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25101, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25230, uint32(2)) _jsonAppendRaw(tls, bp, zPath, uint32(uint32(nPath))) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25104, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25233, uint32(1)) } } } @@ -170020,11 +171632,11 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { goto json_extract_error /* Return NULL if not found */ } else { _jsonAppendSeparator(tls, bp) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1638, uint32(4)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1652, uint32(4)) } } else { if j == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24940, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25063, -int32(1)) goto json_extract_error } else { _jsonBadPathError(tls, ctx, zPath) @@ -170292,7 +171904,7 @@ func _jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == int32(JSON_MERGE_OOM) { Xsqlite3_result_error_nomem(tls, ctx) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24940, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25063, -int32(1)) } } _jsonParseFree(tls, pPatch) @@ -170316,7 +171928,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { var _ /* jx at bp+0 */ TJsonString _, _, _ = i, n, z if argc&int32(1) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25106, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25235, -int32(1)) return } _jsonStringInit(tls, bp, ctx) @@ -170327,7 +171939,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { break } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != int32(SQLITE_TEXT) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25157, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25286, -int32(1)) _jsonStringReset(tls, bp) return } @@ -170399,7 +172011,7 @@ func _jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24940, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25063, -int32(1)) } } goto json_remove_done @@ -170436,7 +172048,7 @@ func _jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { return } if argc&int32(1) == 0 { - _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15800) + _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15893) return } _jsonInsertIntoBlob(tls, ctx, argc, argv, int32(JEDIT_REPL)) @@ -170467,9 +172079,9 @@ func _jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { } if argc&int32(1) == 0 { if bIsSet != 0 { - v1 = __ccgo_ts + 25191 + v1 = __ccgo_ts + 25320 } else { - v1 = __ccgo_ts + 25195 + v1 = __ccgo_ts + 25324 } _jsonWrongNumArgs(tls, ctx, v1) return @@ -170517,7 +172129,7 @@ func _jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24940, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25063, -int32(1)) } } goto json_type_done @@ -170532,6 +172144,48 @@ json_type_done: _jsonParseFree(tls, p) } +// C documentation +// +// /* +// ** json_pretty(JSON) +// ** json_pretty(JSON, INDENT) +// ** +// ** Return text that is a pretty-printed rendering of the input JSON. +// ** If the argument is not valid JSON, return NULL. +// ** +// ** The INDENT argument is text that is used for indentation. If omitted, +// ** it defaults to four spaces (the same as PostgreSQL). +// */ +func _jsonPrettyFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { + bp := tls.Alloc(176) + defer tls.Free(176) + var v1 uintptr + var v2 bool + var _ /* s at bp+0 */ TJsonString + var _ /* x at bp+136 */ TJsonPretty + _, _ = v1, v2 /* Pretty printing context */ + libc.Xmemset(tls, bp+136, 0, uint64(32)) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse = _jsonParseFuncArg(tls, ctx, *(*uintptr)(unsafe.Pointer(argv)), uint32(0)) + if (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse == uintptr(0) { + return + } + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpOut = bp + _jsonStringInit(tls, bp, ctx) + if v2 = argc == int32(1); !v2 { + v1 = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = v1 + } + if v2 || v1 == uintptr(0) { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = __ccgo_ts + 25331 + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(4) + } else { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(libc.Xstrlen(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent)) + } + _jsonTranslateBlobToPrettyText(tls, bp+136, uint32(0)) + _jsonReturnString(tls, bp, uintptr(0), uintptr(0)) + _jsonParseFree(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse) +} + // C documentation // // /* @@ -170606,7 +172260,7 @@ func _jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if argc == int32(2) { f = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if f < int64(1) || f > int64(15) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25202, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25336, -int32(1)) return } flags = uint8(f & int64(0x0f)) @@ -170795,7 +172449,7 @@ func _jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25259, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25393, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -170944,7 +172598,7 @@ func _jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25262, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25396, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -171047,7 +172701,7 @@ func _jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argv _ = argc _ = pAux - rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25265) + rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25399) if rc == SQLITE_OK { pNew = _sqlite3DbMallocZero(tls, db, uint64(32)) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -171181,7 +172835,7 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { var _ /* sz at bp+0 */ Tu32 _, _, _, _, _ = i, k, n, needQuote, z if int32((*TJsonEachCursor)(unsafe.Pointer(p)).FeType) == int32(JSONB_ARRAY) { - _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25348, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) + _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25482, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) } else { *(*Tu32)(unsafe.Pointer(bp)) = uint32(0) needQuote = 0 @@ -171207,9 +172861,9 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { } } if needQuote != 0 { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25355, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25489, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } else { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25363, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25497, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } } } @@ -171595,7 +173249,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a i = v5 (*TJsonEachCursor)(unsafe.Pointer(p)).FeType = uint8(0) (*TJsonEachCursor)(unsafe.Pointer(p)).FnRoot = uint32(1) - _jsonAppendRaw(tls, p+56, __ccgo_ts+25369, uint32(1)) + _jsonAppendRaw(tls, p+56, __ccgo_ts+25503, uint32(1)) } (*TJsonEachCursor)(unsafe.Pointer(p)).FnParent = uint32(0) n = _jsonbPayloadSize(tls, p+192, i, bp) @@ -171619,7 +173273,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a json_each_malformed_input: ; Xsqlite3_free(tls, (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg) - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24940, 0) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25063, 0) _jsonEachCursorReset(tls, p) if (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { v6 = int32(SQLITE_ERROR) @@ -171673,183 +173327,193 @@ func init() { // ** Register JSON functions. // */ func _sqlite3RegisterJsonFunctions(tls *libc.TLS) { - _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2304)/libc.Uint64FromInt64(72))) + _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2448)/libc.Uint64FromInt64(72))) } -var _aJsonFunc = [32]TFuncDef{ +var _aJsonFunc = [34]TFuncDef{ 0: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25371, + FzName: __ccgo_ts + 25505, }, 1: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25376, + FzName: __ccgo_ts + 25510, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25382, + FzName: __ccgo_ts + 25516, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25393, + FzName: __ccgo_ts + 25527, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25405, + FzName: __ccgo_ts + 25539, }, 5: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25405, + FzName: __ccgo_ts + 25539, }, 6: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25423, + FzName: __ccgo_ts + 25557, }, 7: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25443, + FzName: __ccgo_ts + 25577, }, 8: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25456, + FzName: __ccgo_ts + 25590, }, 9: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_JSON) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25470, + FzName: __ccgo_ts + 25604, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_SQL) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25473, + FzName: __ccgo_ts + 25607, }, 11: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25477, + FzName: __ccgo_ts + 25611, }, 12: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25489, + FzName: __ccgo_ts + 25623, }, 13: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25502, + FzName: __ccgo_ts + 25636, }, 14: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25514, + FzName: __ccgo_ts + 25648, }, 15: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25527, + FzName: __ccgo_ts + 25661, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25538, + FzName: __ccgo_ts + 25672, }, 17: { FnArg: int8(1), - FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25550, + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25684, }, 18: { + FnArg: int8(2), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25684, + }, + 19: { + FnArg: int8(1), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25696, + }, + 20: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25561, + FzName: __ccgo_ts + 25707, }, - 19: { + 21: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25573, + FzName: __ccgo_ts + 25719, }, - 20: { + 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25586, + FzName: __ccgo_ts + 25732, }, - 21: { + 23: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25599, + FzName: __ccgo_ts + 25745, }, - 22: { + 24: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25613, + FzName: __ccgo_ts + 25759, }, - 23: { + 25: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25622, + FzName: __ccgo_ts + 25768, }, - 24: { + 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25632, + FzName: __ccgo_ts + 25778, }, - 25: { + 27: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25632, + FzName: __ccgo_ts + 25778, }, - 26: { + 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25642, + FzName: __ccgo_ts + 25788, }, - 27: { + 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25642, + FzName: __ccgo_ts + 25788, }, - 28: { + 30: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25653, + FzName: __ccgo_ts + 25799, }, - 29: { + 31: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25670, + FzName: __ccgo_ts + 25816, }, - 30: { + 32: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25688, + FzName: __ccgo_ts + 25834, }, - 31: { + 33: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25706, + FzName: __ccgo_ts + 25852, }, } @@ -171872,33 +173536,35 @@ func init() { *(*uintptr)(unsafe.Add(p, 1032)) = __ccgo_fp(_jsonObjectFunc) *(*uintptr)(unsafe.Add(p, 1104)) = __ccgo_fp(_jsonPatchFunc) *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonPatchFunc) - *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonQuoteFunc) - *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2048)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2056)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2064)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2120)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2128)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2136)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonQuoteFunc) + *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2208)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2280)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2328)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2336)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2344)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2352)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2400)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2408)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2416)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2424)) = __ccgo_fp(_jsonGroupInverse) } // C documentation @@ -171930,11 +173596,11 @@ var _aMod = [2]struct { FpModule uintptr }{ 0: { - FzName: __ccgo_ts + 25725, + FzName: __ccgo_ts + 25871, FpModule: uintptr(unsafe.Pointer(&_jsonEachModule)), }, 1: { - FzName: __ccgo_ts + 25735, + FzName: __ccgo_ts + 25881, FpModule: uintptr(unsafe.Pointer(&_jsonTreeModule)), }, } @@ -172580,7 +174246,7 @@ func _nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode Ti64, pParent uintptr, pp } } if (*TRtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) { - rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25745, iNode, 0, pRtree+112) + rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25891, iNode, 0, pRtree+112) } if rc != 0 { *(*uintptr)(unsafe.Pointer(ppNode)) = uintptr(0) @@ -172885,7 +174551,7 @@ func _rtreeDestroy(tls *libc.TLS, pVtab uintptr) (r int32) { var rc int32 _, _, _ = pRtree, rc, zCreate pRtree = pVtab - zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25750, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25896, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if !(zCreate != 0) { rc = int32(SQLITE_NOMEM) } else { @@ -173802,7 +175468,7 @@ func _findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid Ti64, ppLeaf uintptr, p func _deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) (r int32) { var pBlob, pInfo, pSrc uintptr _, _, _ = pBlob, pInfo, pSrc /* Callback information */ - pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25832) + pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25978) if pSrc == uintptr(0) { return int32(SQLITE_ERROR) } @@ -173857,7 +175523,7 @@ func _rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp iRowid = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) *(*Ti64)(unsafe.Pointer(bp + 24)) = 0 eType = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) == float64(float64(iRowid)) { + if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && 0 == _sqlite3IntFloatCompare(tls, iRowid, Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))) { rc = _findLeafNode(tls, pRtree, iRowid, bp+16, bp+24) } else { rc = SQLITE_OK @@ -175337,7 +177003,7 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) var _ /* pStmt at bp+0 */ uintptr _, _, _, _, _, _ = rc, zCol, zCol1, zCol2, zSql, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25846, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25992, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -int32(1), bp, uintptr(0)) } else { @@ -175347,11 +177013,11 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) if rc == SQLITE_OK { if iCol == 0 { zCol = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25866, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26012, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { zCol1 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol) zCol2 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol+int32(1)) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25898, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26044, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -175565,7 +177231,7 @@ func _rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) (r int32) { _, _, _ = pRtree, rc, zSql pRtree = pVtab rc = int32(SQLITE_NOMEM) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25935, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26081, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) if zSql != 0 { _nodeBlobReset(tls, pRtree) rc = Xsqlite3_exec(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -175619,9 +177285,9 @@ func _rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) (r int32) { var v2 int64 var _ /* p at bp+0 */ uintptr _, _, _, _, _, _ = nRow, rc, zFmt, zSql, v1, v2 - zFmt = __ccgo_ts + 26080 + zFmt = __ccgo_ts + 26226 nRow = int64(RTREE_MIN_ROWEST) - rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11586, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11711, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == int32(SQLITE_ERROR) { @@ -175679,9 +177345,9 @@ func _rtreeShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName1 = [3]uintptr{ - 0: __ccgo_ts + 26136, - 1: __ccgo_ts + 5488, - 2: __ccgo_ts + 16698, + 0: __ccgo_ts + 26282, + 1: __ccgo_ts + 5552, + 2: __ccgo_ts + 16785, } var _rtreeModule = Tsqlite3_module{ @@ -175725,21 +177391,21 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref (*TRtree)(unsafe.Pointer(pRtree)).Fdb = db if isCreate != 0 { p = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26550, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26696, libc.VaList(bp+8, zDb, zPrefix)) ii = 0 for { if !(ii < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26612, libc.VaList(bp+8, ii)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26758, libc.VaList(bp+8, ii)) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26617, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26681, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26751, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26763, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26827, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26897, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return int32(SQLITE_NOMEM) @@ -175769,7 +177435,7 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } else { /* An UPSERT is very slightly slower than REPLACE, but it is needed ** if there are auxiliary columns */ - zFormat = __ccgo_ts + 26800 + zFormat = __ccgo_ts + 26946 } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+8, zDb, zPrefix)) if zSql != 0 { @@ -175784,31 +177450,31 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref i++ } if (*TRtree)(unsafe.Pointer(pRtree)).FnAux != 0 && rc != int32(SQLITE_NOMEM) { - (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+26908, libc.VaList(bp+8, zDb, zPrefix)) + (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+27054, libc.VaList(bp+8, zDb, zPrefix)) if (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { p1 = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26953, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27099, libc.VaList(bp+8, zDb, zPrefix)) ii1 = 0 for { if !(ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } if ii1 != 0 { - Xsqlite3_str_append(tls, p1, __ccgo_ts+13094, int32(1)) + Xsqlite3_str_append(tls, p1, __ccgo_ts+13219, int32(1)) } if ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26980, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27126, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) } else { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27002, libc.VaList(bp+8, ii1, ii1+int32(2))) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27148, libc.VaList(bp+8, ii1, ii1+int32(2))) } goto _3 _3: ; ii1++ } - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27010, 0) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27156, 0) zSql1 = Xsqlite3_str_finish(tls, p1) if zSql1 == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -175822,14 +177488,14 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } var _azSql = [8]uintptr{ - 0: __ccgo_ts + 26141, - 1: __ccgo_ts + 26194, - 2: __ccgo_ts + 26239, - 3: __ccgo_ts + 26291, - 4: __ccgo_ts + 26345, - 5: __ccgo_ts + 26390, - 6: __ccgo_ts + 26448, - 7: __ccgo_ts + 26503, + 0: __ccgo_ts + 26287, + 1: __ccgo_ts + 26340, + 2: __ccgo_ts + 26385, + 3: __ccgo_ts + 26437, + 4: __ccgo_ts + 26491, + 5: __ccgo_ts + 26536, + 6: __ccgo_ts + 26594, + 7: __ccgo_ts + 26649, } // C documentation @@ -175887,7 +177553,7 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE _, _ = rc, zSql if isCreate != 0 { *(*int32)(unsafe.Pointer(bp)) = 0 - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27026, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27172, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) rc = _getIntFromStmt(tls, db, zSql, bp) if rc == SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp)) - int32(64) @@ -175895,17 +177561,17 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = int32(4) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*int32(RTREE_MAXCELLS) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27046, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27192, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) rc = _getIntFromStmt(tls, db, zSql, pRtree+32) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } else { if (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize < libc.Int32FromInt32(512)-libc.Int32FromInt32(64) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< libc.Int32FromInt32(RTREE_MAX_AUX_COLUMN)+libc.Int32FromInt32(3) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) return int32(SQLITE_ERROR) } Xsqlite3_vtab_config(tls, db, int32(SQLITE_VTAB_CONSTRAINT_SUPPORT), libc.VaList(bp+8, int32(1))) @@ -175982,13 +177648,13 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(uint64(nDb))) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(uint64(nName))) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(uint64(nName))) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27289, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27435, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27295, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27441, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = int32(4) for { if !(ii < argc) { @@ -175997,7 +177663,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt zArg = *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)) if int32(*(*int8)(unsafe.Pointer(zArg))) == int32('+') { (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27319, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27465, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) } else { if int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux) > 0 { break @@ -176011,19 +177677,19 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27346, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27492, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) } else { if ii < argc { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, aErrMsg[int32(4)])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, aErrMsg[int32(4)])) rc = int32(SQLITE_ERROR) } else { v3 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v3 if SQLITE_OK != v3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } } @@ -176046,7 +177712,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } } if iErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, aErrMsg[iErr])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, aErrMsg[iErr])) goto rtreeInit_fail } (*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell = uint8(int32(8) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnDim2)*int32(4)) @@ -176057,7 +177723,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -176073,8 +177739,8 @@ rtreeInit_fail: } var _azFormat = [2]uintptr{ - 0: __ccgo_ts + 27325, - 1: __ccgo_ts + 27336, + 0: __ccgo_ts + 27471, + 1: __ccgo_ts + 27482, } // C documentation @@ -176132,21 +177798,21 @@ func _rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { } _nodeGetCell(tls, bp+40, bp, ii, bp+1008) if ii > 0 { - Xsqlite3_str_append(tls, pOut, __ccgo_ts+11206, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+11331, int32(1)) } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27349, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27495, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) jj = 0 for { if !(jj < int32((*(*TRtree)(unsafe.Pointer(bp + 40))).FnDim2)) { break } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27355, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27501, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) goto _2 _2: ; jj++ } - Xsqlite3_str_append(tls, pOut, __ccgo_ts+27359, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+27505, int32(1)) goto _1 _1: ; @@ -176173,7 +177839,7 @@ func _rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { _ = zBlob _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != int32(SQLITE_BLOB) || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+27361, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+27507, -int32(1)) } else { zBlob = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -176291,11 +177957,11 @@ func _rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintpt (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } else { if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - v1 = __ccgo_ts + 4207 + v1 = __ccgo_ts + 4271 } else { - v1 = __ccgo_ts + 1652 + v1 = __ccgo_ts + 1666 } - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27394, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27540, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } @@ -176329,7 +177995,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt _, _, _ = nNode, pNode, pRet pRet = uintptr(0) /* Return value */ if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) { - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27401, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27547, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { Xsqlite3_bind_int64(tls, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode, int32(1), iNode) @@ -176346,7 +178012,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt } _rtreeCheckReset(tls, pCheck, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27446, libc.VaList(bp+8, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27592, libc.VaList(bp+8, iNode)) } } return pRet @@ -176375,8 +178041,8 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i var rc int32 _, _, _, _, _, _ = azSql, ii, pStmt, rc, v1, v2 azSql = [2]uintptr{ - 0: __ccgo_ts + 27478, - 1: __ccgo_ts + 27532, + 0: __ccgo_ts + 27624, + 1: __ccgo_ts + 27678, } if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) = _rtreeCheckPrepare(tls, pCheck, azSql[bLeaf], libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) @@ -176389,21 +178055,21 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i rc = Xsqlite3_step(tls, pStmt) if rc == int32(SQLITE_DONE) { if bLeaf != 0 { - v1 = __ccgo_ts + 27580 + v1 = __ccgo_ts + 27726 } else { - v1 = __ccgo_ts + 27588 + v1 = __ccgo_ts + 27734 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27597, libc.VaList(bp+8, iKey, iVal, v1)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27743, libc.VaList(bp+8, iKey, iVal, v1)) } else { if rc == int32(SQLITE_ROW) { ii = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { if bLeaf != 0 { - v2 = __ccgo_ts + 27580 + v2 = __ccgo_ts + 27726 } else { - v2 = __ccgo_ts + 27588 + v2 = __ccgo_ts + 27734 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27642, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27788, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) } } } @@ -176448,7 +178114,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 v2 = libc.BoolInt32(*(*TRtreeValue)(unsafe.Pointer(bp)) > *(*TRtreeValue)(unsafe.Pointer(bp + 4))) } if v2 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27700, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27846, libc.VaList(bp+24, i, iCell, iNode)) } if pParent != 0 { _readCoord(tls, pParent+uintptr(libc.Int32FromInt32(4)*libc.Int32FromInt32(2)*i), bp+8) @@ -176466,7 +178132,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 } } if v5 || v4 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27748, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27894, libc.VaList(bp+24, i, iCell, iNode)) } } goto _1 @@ -176499,19 +178165,19 @@ func _rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintpt aNode = _rtreeCheckGetNode(tls, pCheck, iNode, bp) if aNode != 0 { if *(*int32)(unsafe.Pointer(bp)) < int32(4) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27815, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27961, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) } else { /* Used to iterate through cells */ if aParent == uintptr(0) { iDepth = _readInt16(tls, aNode) if iDepth > int32(RTREE_MAX_DEPTH) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27849, libc.VaList(bp+16, iDepth)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27995, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = _readInt16(tls, aNode+2) if int32(4)+nCell*(int32(8)+(*TRtreeCheck)(unsafe.Pointer(pCheck)).FnDim*int32(2)*int32(4)) > *(*int32)(unsafe.Pointer(bp)) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27879, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28025, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) } else { i = 0 for { @@ -176556,12 +178222,12 @@ func _rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect Ti64) var pCount uintptr _, _ = nActual, pCount if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { - pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27934, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) + pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28080, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) if pCount != 0 { if Xsqlite3_step(tls, pCount) == int32(SQLITE_ROW) { nActual = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27965, libc.VaList(bp+8, zTbl, nExpect, nActual)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28111, libc.VaList(bp+8, zTbl, nExpect, nActual)) } } (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -176590,7 +178256,7 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzDb = zDb (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzTab = zTab /* Find the number of auxiliary columns */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28032, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28178, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { nAux = Xsqlite3_column_count(tls, pStmt) - int32(2) Xsqlite3_finalize(tls, pStmt) @@ -176600,11 +178266,11 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe } } /* Find number of dimensions in the rtree table. */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25846, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25992, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim = (Xsqlite3_column_count(tls, pStmt) - int32(1) - nAux) / int32(2) if (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim < int32(1) { - _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28060, 0) + _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28206, 0) } else { if int32(SQLITE_ROW) == Xsqlite3_step(tls, pStmt) { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FbInt = libc.BoolInt32(Xsqlite3_column_type(tls, pStmt, int32(1)) == int32(SQLITE_INTEGER)) @@ -176620,8 +178286,8 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe if (*(*TRtreeCheck)(unsafe.Pointer(bp))).Frc == SQLITE_OK { _rtreeCheckNode(tls, bp, 0, uintptr(0), int64(1)) } - _rtreeCheckCount(tls, bp, __ccgo_ts+28091, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) - _rtreeCheckCount(tls, bp, __ccgo_ts+28098, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28237, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28244, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) } /* Finalize SQL statements used by the integrity-check */ Xsqlite3_finalize(tls, (*(*TRtreeCheck)(unsafe.Pointer(bp))).FpGetNode) @@ -176648,7 +178314,7 @@ func _rtreeIntegrity(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zName uintpt _ = isQuick rc = _rtreeCheckTable(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, pzErr) if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28106, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28252, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) if *(*uintptr)(unsafe.Pointer(pzErr)) == uintptr(0) { rc = int32(SQLITE_NOMEM) } @@ -176699,13 +178365,13 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { var _ /* zReport at bp+0 */ uintptr _, _, _, _ = rc, zDb, zTab, v1 if nArg != int32(1) && nArg != int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+28125, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+28271, -int32(1)) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zDb = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg))) if nArg == int32(1) { zTab = zDb - zDb = __ccgo_ts + 6589 + zDb = __ccgo_ts + 6653 } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -176714,7 +178380,7 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { if *(*uintptr)(unsafe.Pointer(bp)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(bp)) } else { - v1 = __ccgo_ts + 18465 + v1 = __ccgo_ts + 18552 } Xsqlite3_result_text(tls, ctx, v1, -int32(1), uintptr(-libc.Int32FromInt32(1))) } else { @@ -177181,19 +178847,19 @@ func _geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) if p != 0 { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) - Xsqlite3_str_append(tls, x, __ccgo_ts+25099, int32(1)) + Xsqlite3_str_append(tls, x, __ccgo_ts+25228, int32(1)) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28176, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28322, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28187, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28333, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -177222,20 +178888,20 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) cSep = int8('\'') - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28198, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28344, 0) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28216, libc.VaList(bp+8, int32(int32(cSep)), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28362, libc.VaList(bp+8, int32(int32(cSep)), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) cSep = int8(' ') goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28224, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28370, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) i = int32(1) for { if !(i < argc) { @@ -177243,14 +178909,14 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 { - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28232, libc.VaList(bp+8, z)) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28378, libc.VaList(bp+8, z)) } goto _2 _2: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28236, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28382, 0) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -178379,13 +180045,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(uint64(nDb))) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(uint64(nName))) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(uint64(nName))) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27289, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27435, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28249, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28395, 0) (*TRtree)(unsafe.Pointer(pRtree)).FnAux = uint8(1) /* Add one for _shape */ (*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = uint8(1) /* The _shape column is always not-null */ ii = int32(3) @@ -178394,13 +180060,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint break } (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28271, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28417, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27346, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27492, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) @@ -178408,7 +180074,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint v2 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v2 if SQLITE_OK != v2 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } Xsqlite3_free(tls, zSql) @@ -178423,7 +180089,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -178635,7 +180301,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iRowidTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(1) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16698 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16785 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).Fomit = uint8(1) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(30) @@ -178645,7 +180311,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iFuncTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28275 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28421 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).Fomit = uint8(0) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(300) @@ -178653,7 +180319,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { return SQLITE_OK } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(4) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28281 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28427 (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(3e+06) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -178773,7 +180439,7 @@ func _geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pR _geopolyBBox(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(aData + 2*8)), bp+8+8, bp) if *(*int32)(unsafe.Pointer(bp)) != 0 { if *(*int32)(unsafe.Pointer(bp)) == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28290, 0) + (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28436, 0) } goto geopoly_update_end } @@ -178876,12 +180542,12 @@ geopoly_update_end: func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) { _ = pVtab _ = nArg - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28330) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28476) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION) } - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28346) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28492) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1) @@ -178952,7 +180618,7 @@ func _sqlite3_geopoly_init(tls *libc.TLS, db uintptr) (r int32) { i++ } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28523, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28669, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -178966,61 +180632,61 @@ var _aFunc = [12]struct { 0: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28361, + FzName: __ccgo_ts + 28507, }, 1: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28374, + FzName: __ccgo_ts + 28520, }, 2: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28387, + FzName: __ccgo_ts + 28533, }, 3: { FnArg: int8(-int32(1)), FbPure: uint8(1), - FzName: __ccgo_ts + 28400, + FzName: __ccgo_ts + 28546, }, 4: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28346, + FzName: __ccgo_ts + 28492, }, 5: { FnArg: int8(3), FbPure: uint8(1), - FzName: __ccgo_ts + 28412, + FzName: __ccgo_ts + 28558, }, 6: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28330, + FzName: __ccgo_ts + 28476, }, 7: { FnArg: int8(1), - FzName: __ccgo_ts + 28435, + FzName: __ccgo_ts + 28581, }, 8: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28449, + FzName: __ccgo_ts + 28595, }, 9: { FnArg: int8(7), FbPure: uint8(1), - FzName: __ccgo_ts + 28462, + FzName: __ccgo_ts + 28608, }, 10: { FnArg: int8(4), FbPure: uint8(1), - FzName: __ccgo_ts + 28476, + FzName: __ccgo_ts + 28622, }, 11: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28492, + FzName: __ccgo_ts + 28638, }, } @@ -179046,7 +180712,7 @@ var _aAgg = [1]struct { FzName uintptr }{ 0: { - FzName: __ccgo_ts + 28504, + FzName: __ccgo_ts + 28650, }, } @@ -179071,20 +180737,20 @@ func _sqlite3RtreeInit(tls *libc.TLS, db uintptr) (r int32) { var rc, utf8 int32 _, _, _, _ = c, c1, rc, utf8 utf8 = int32(SQLITE_UTF8) - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28531, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28677, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28541, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28687, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28552, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28698, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { c = libc.UintptrFromInt32(RTREE_COORD_REAL32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28275, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28421, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { c1 = libc.UintptrFromInt32(RTREE_COORD_INT32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28563, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28709, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) } if rc == SQLITE_OK { rc = _sqlite3_geopoly_init(tls, db) @@ -179186,7 +180852,7 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { Xsqlite3_result_error_nomem(tls, ctx) _rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25832, __ccgo_fp(_rtreeMatchArgFree)) + Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25978, __ccgo_fp(_rtreeMatchArgFree)) } } } @@ -180403,7 +182069,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt /* Figure out the size of the output */ nOut = _rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+28573, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28719, -int32(1)) return } aOut = Xsqlite3_malloc(tls, nOut+int32(1)) @@ -180413,7 +182079,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt nOut2 = _rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut) if nOut2 != nOut { Xsqlite3_free(tls, aOut) - Xsqlite3_result_error(tls, context, __ccgo_ts+28573, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28719, -int32(1)) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, __ccgo_fp(Xsqlite3_free)) } @@ -180439,7 +182105,7 @@ func _prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg _ = rc rc = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -180462,7 +182128,7 @@ func _resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) (r in _ = rc rc = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -180594,7 +182260,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { /* Free any SQLite statements used while processing the previous object */ _rbuObjIterClearStatements(tls, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28594, uintptr(0), uintptr(0), p+64) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28740, uintptr(0), uintptr(0), p+64) } if rc == SQLITE_OK { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 { @@ -180604,6 +182270,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { if rc != int32(SQLITE_ROW) { rc = _resetAndCollectError(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, p+64) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = uintptr(0) + (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = uintptr(0) } else { (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, 0) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, int32(1)) @@ -180682,7 +182349,7 @@ func _rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { Xsqlite3_result_text(tls, pCtx, zIn, -int32(1), libc.UintptrFromInt32(0)) } } else { - if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25745, zIn, uint64(4)) == 0 { + if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25891, zIn, uint64(4)) == 0 { i = int32(4) for { if !(int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= int32('9')) { @@ -180719,13 +182386,13 @@ func _rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { _, _ = rc, v1 libc.Xmemset(tls, pIter, 0, uint64(192)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 28765 + v1 = __ccgo_ts + 28911 } else { - v1 = __ccgo_ts + 1652 + v1 = __ccgo_ts + 1666 } - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28806, libc.VaList(bp+8, v1))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28952, libc.VaList(bp+8, v1))) if rc == SQLITE_OK { - rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+28956) + rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+29102) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = int32(1) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -180892,7 +182559,7 @@ func _rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { rc = Xsqlite3_finalize(tls, pStmt) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && rc != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } @@ -180953,7 +182620,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu *(*[4]uintptr)(unsafe.Pointer(bp)) = [4]uintptr{} *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29081, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29227, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0]) != int32(SQLITE_ROW) { /* Either an error, or no such table. */ goto rbuTableType_end @@ -180963,7 +182630,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0], int32(1)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29200, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29346, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { goto rbuTableType_end } @@ -180971,7 +182638,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu zOrig = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(3)) zIdx = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(1)) if zOrig != 0 && zIdx != 0 && int32(*(*Tu8)(unsafe.Pointer(zOrig))) == int32('p') { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29221, libc.VaList(bp+40, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29367, libc.VaList(bp+40, zIdx))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)]) == int32(SQLITE_ROW) { *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)], 0) @@ -180983,7 +182650,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29272, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29418, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { for Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)]) == int32(SQLITE_ROW) { if Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)], int32(5)) > 0 { @@ -181027,7 +182694,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { bIndex = 0 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.Xmemcpy(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29293, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29439, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -181040,7 +182707,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { if bPartial != 0 { libc.Xmemset(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, int32(0x01), uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29321, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29467, libc.VaList(bp+24, zIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) if iCid >= 0 { @@ -181093,7 +182760,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 _rbuTableType(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+8, pIter+108) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+19908, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+20040, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc @@ -181104,7 +182771,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 /* Populate the azTblCol[] and nTblCol variables based on the columns ** of the input table. Ignore any input table columns that begin with ** "rbu_". */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29350, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29496, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp))) _rbuAllocateIterArrays(tls, p, pIter, nCol) @@ -181115,7 +182782,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 break } zName = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), i) - if Xsqlite3_strnicmp(tls, __ccgo_ts+29369, zName, int32(4)) != 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+29515, zName, int32(4)) != 0 { zCopy = _rbuStrndup(tls, zName, p+56) *(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol v3 = pIter + 16 @@ -181123,7 +182790,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 *(*int32)(unsafe.Pointer(v3))++ *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(v2)*8)) = zCopy } else { - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29374, zName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29520, zName) { bRbuRowid = int32(1) } } @@ -181137,17 +182804,17 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && bRbuRowid != libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) if bRbuRowid != 0 { - v4 = __ccgo_ts + 29384 + v4 = __ccgo_ts + 29530 } else { - v4 = __ccgo_ts + 29397 + v4 = __ccgo_ts + 29543 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29406, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29552, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) } /* Check that all non-HIDDEN columns in the destination table are also ** present in the input table. Populate the abTblPk[], azTblType[] and ** aiTblOrder[] arrays at the same time. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29435, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29581, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zName1 = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -181169,7 +182836,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 } if i == (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29457, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29603, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) } else { iPk = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) bNotNull = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) @@ -181208,15 +182875,15 @@ func _rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) var z, zList, zSep uintptr _, _, _, _ = i, z, zList, zSep zList = uintptr(0) - zSep = __ccgo_ts + 1652 + zSep = __ccgo_ts + 1666 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } z = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+29484, libc.VaList(bp+8, zList, zSep, z)) - zSep = __ccgo_ts + 14994 + zList = _rbuMPrintf(tls, p, __ccgo_ts+29630, libc.VaList(bp+8, zList, zSep, z)) + zSep = __ccgo_ts + 15087 goto _1 _1: ; @@ -181241,7 +182908,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, _, _, _, _, _ = i, iPk, zCol, zRet, zSep iPk = int32(1) zRet = uintptr(0) - zSep = __ccgo_ts + 1652 + zSep = __ccgo_ts + 1666 for int32(1) != 0 { i = 0 for { @@ -181250,7 +182917,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, } if int32(*(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29493, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29639, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -181298,21 +182965,21 @@ func _rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zRet = uintptr(0) if bRowid != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29506, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29652, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iMax = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29538, libc.VaList(bp+16, iMax)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29684, libc.VaList(bp+16, iMax)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1652, __ccgo_ts+14994, __ccgo_ts+29561) - zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29567, __ccgo_ts+29574, __ccgo_ts+5110) - zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1652, __ccgo_ts+14994, __ccgo_ts+1652) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1666, __ccgo_ts+15087, __ccgo_ts+29707) + zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29713, __ccgo_ts+29720, __ccgo_ts+5174) + zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1666, __ccgo_ts+15087, __ccgo_ts+1666) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29582, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29728, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zVal = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29624, libc.VaList(bp+16, zList, zVal)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29770, libc.VaList(bp+16, zList, zVal)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } @@ -181361,10 +183028,10 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = __ccgo_ts + 1652 + zSep = __ccgo_ts + 1666 iCol = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29321, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29467, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(4)) @@ -181386,15 +183053,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { - zCol = __ccgo_ts + 29644 + zCol = __ccgo_ts + 29790 } } else { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) } - zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29652, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29673, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29709, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) - zSep = __ccgo_ts + 14994 + zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29798, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29819, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) + zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29855, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) + zSep = __ccgo_ts + 15087 iCol++ } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) @@ -181403,9 +183070,9 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29736, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29882, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { - zSep = __ccgo_ts + 1652 + zSep = __ccgo_ts + 1666 iCol = 0 for { if !(iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -181420,15 +183087,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { break } } - zVector = _rbuMPrintf(tls, p, __ccgo_ts+29784, libc.VaList(bp+24, zVector, zSep, zQuoted)) - zSep = __ccgo_ts + 14994 + zVector = _rbuMPrintf(tls, p, __ccgo_ts+29930, libc.VaList(bp+24, zVector, zSep, zQuoted)) + zSep = __ccgo_ts + 15087 goto _2 _2: ; iCol++ } if !(bFailed != 0) { - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29791, libc.VaList(bp+24, zLhs, zVector)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29937, libc.VaList(bp+24, zLhs, zVector)) } } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -181482,11 +183149,11 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zImpPK = uintptr(0) /* String to return via *pzImposterPK */ zWhere = uintptr(0) /* String to return via *pzWhere */ nBind = 0 /* Value to return via *pnBind */ - zCom = __ccgo_ts + 1652 /* Set to ", " later on */ - zAnd = __ccgo_ts + 1652 /* Set to " AND " later on */ + zCom = __ccgo_ts + 1666 /* Set to ", " later on */ + zAnd = __ccgo_ts + 1666 /* Set to " AND " later on */ *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_xinfo = ? */ if rc == SQLITE_OK { - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29321, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29467, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -181495,8 +183162,8 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = uintptr(0) if iCid == -int32(2) { iSeq = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29803, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) - zType = __ccgo_ts + 1652 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29949, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) + zType = __ccgo_ts + 1666 } else { if iCid < 0 { /* An integer primary key. If the table has an explicit IPK, use @@ -181515,9 +183182,9 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - zCol = __ccgo_ts + 29644 + zCol = __ccgo_ts + 29790 } else { - zCol = __ccgo_ts + 29374 + zCol = __ccgo_ts + 29520 } } zType = __ccgo_ts + 1140 @@ -181525,24 +183192,24 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) zType = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)) } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29825, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29971, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) } if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) != 0 { if bDesc != 0 { - v2 = __ccgo_ts + 29561 + v2 = __ccgo_ts + 29707 } else { - v2 = __ccgo_ts + 1652 + v2 = __ccgo_ts + 1666 } zOrder = v2 - zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29845, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) + zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29991, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+29866, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) - zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+29899, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) + zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+30012, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) + zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+30045, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) { rc = int32(SQLITE_NOMEM) } - zCom = __ccgo_ts + 14994 - zAnd = __ccgo_ts + 22017 + zCom = __ccgo_ts + 15087 + zAnd = __ccgo_ts + 22162 nBind++ } rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -181588,7 +183255,7 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr _, _, _, _ = i, zCol, zList, zS zList = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zS = __ccgo_ts + 1652 + zS = __ccgo_ts + 1666 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -181596,11 +183263,11 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29923, libc.VaList(bp+8, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30069, libc.VaList(bp+8, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29935, libc.VaList(bp+8, zList, zS)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30081, libc.VaList(bp+8, zList, zS)) } - zS = __ccgo_ts + 14994 + zS = __ccgo_ts + 15087 if zList == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) break @@ -181612,7 +183279,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 (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29944, libc.VaList(bp+8, zList, zObj)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30090, libc.VaList(bp+8, zList, zObj)) } } return zList @@ -181638,27 +183305,27 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _ = i, i1, zCol, zList, zSep, zSep1 zList = uintptr(0) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29959, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30105, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - zSep = __ccgo_ts + 1652 + zSep = __ccgo_ts + 1666 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29973, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) - zSep = __ccgo_ts + 22017 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30119, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) + zSep = __ccgo_ts + 22162 } goto _1 _1: ; i++ } - zList = _rbuMPrintf(tls, p, __ccgo_ts+29985, libc.VaList(bp+8, zList)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30131, libc.VaList(bp+8, zList)) } else { - zSep1 = __ccgo_ts + 1652 + zSep1 = __ccgo_ts + 1666 i1 = 0 for { if !(i1 < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -181666,8 +183333,8 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i1))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i1)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+30035, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) - zSep1 = __ccgo_ts + 22017 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30181, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) + zSep1 = __ccgo_ts + 22162 } goto _2 _2: @@ -181690,7 +183357,7 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { // */ func _rbuBadControlError(tls *libc.TLS, p uintptr) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30048, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30194, 0) } // C documentation @@ -181724,7 +183391,7 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt if int32(libc.Xstrlen(tls, zMask)) != (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { _rbuBadControlError(tls, p) } else { - zSep = __ccgo_ts + 1652 + zSep = __ccgo_ts + 1666 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -181732,16 +183399,16 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt } c = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) if int32(int32(c)) == int32('x') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30035, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14994 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30181, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15087 } else { if int32(int32(c)) == int32('d') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30074, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14994 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30220, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15087 } else { if int32(int32(c)) == int32('f') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30104, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14994 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30250, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15087 } } } @@ -181825,16 +183492,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _, _ = z, zCol, zDesc, zIdx, zOrig, zSep, v1 z = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zSep = __ccgo_ts + 30141 + zSep = __ccgo_ts + 30287 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_list = (pIter->zTbl) */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA index_xinfo = */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29293, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29439, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) - if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16586) == 0 { + if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16673) == 0 { zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29321, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29467, libc.VaList(bp+24, zIdx))) } break } @@ -181845,16 +183512,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { /* int iCid = sqlite3_column_int(pXInfo, 0); */ zCol = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(2)) if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) != 0 { - v1 = __ccgo_ts + 29561 + v1 = __ccgo_ts + 29707 } else { - v1 = __ccgo_ts + 1652 + v1 = __ccgo_ts + 1666 } zDesc = v1 - z = _rbuMPrintf(tls, p, __ccgo_ts+30154, libc.VaList(bp+24, z, zSep, zCol, zDesc)) - zSep = __ccgo_ts + 14994 + z = _rbuMPrintf(tls, p, __ccgo_ts+30300, libc.VaList(bp+24, z, zSep, zCol, zDesc)) + zSep = __ccgo_ts + 15087 } } - z = _rbuMPrintf(tls, p, __ccgo_ts+30165, libc.VaList(bp+24, z)) + z = _rbuMPrintf(tls, p, __ccgo_ts+30311, libc.VaList(bp+24, z)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) } return z @@ -181894,13 +183561,13 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* SELECT name ... WHERE rootpage = $tnum */ zIdx = uintptr(0) /* Name of PK index */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA main.index_xinfo = $zIdx */ - zComma = __ccgo_ts + 1652 + zComma = __ccgo_ts + 1666 zCols = uintptr(0) /* Used to build up list of table cols */ zPk = uintptr(0) /* Used to build up table PK declaration */ /* 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. */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30169) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30315) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), tnum) if int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -181908,7 +183575,7 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { } } if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29321, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29467, libc.VaList(bp+24, zIdx))) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { @@ -181917,21 +183584,21 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) bDesc = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(4)) - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30219, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30365, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) if bDesc != 0 { - v1 = __ccgo_ts + 29561 + v1 = __ccgo_ts + 29707 } else { - v1 = __ccgo_ts + 1652 + v1 = __ccgo_ts + 1666 } - zPk = _rbuMPrintf(tls, p, __ccgo_ts+30241, libc.VaList(bp+24, zPk, zComma, iCid, v1)) - zComma = __ccgo_ts + 14994 + zPk = _rbuMPrintf(tls, p, __ccgo_ts+30387, libc.VaList(bp+24, zPk, zComma, iCid, v1)) + zComma = __ccgo_ts + 15087 } } - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30251, libc.VaList(bp+24, zCols)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30397, libc.VaList(bp+24, zCols)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6589, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30266, libc.VaList(bp+24, zCols, zPk)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6589, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6653, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30412, libc.VaList(bp+24, zCols, zPk)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6653, 0, 0)) } } @@ -181966,30 +183633,30 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { _, _, _, _, _, _, _, _, _ = iCol, tnum, zCol, zComma, zPk, zPk1, zSql, v2, v3 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { tnum = (*TRbuObjIter)(unsafe.Pointer(pIter)).FiTnum - zComma = __ccgo_ts + 1652 + zComma = __ccgo_ts + 1666 zSql = uintptr(0) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6589, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6653, 0, int32(1))) iCol = 0 for { if !((*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } - zPk = __ccgo_ts + 1652 + zPk = __ccgo_ts + 1666 zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6589, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6653, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_IPK) && *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 { /* If the target table column is an "INTEGER PRIMARY KEY", add ** "PRIMARY KEY" to the imposter table column declaration. */ - zPk = __ccgo_ts + 30328 + zPk = __ccgo_ts + 30474 } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - v2 = __ccgo_ts + 30341 + v2 = __ccgo_ts + 30487 } else { - v2 = __ccgo_ts + 1652 + v2 = __ccgo_ts + 1666 } - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30351, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) - zComma = __ccgo_ts + 14994 + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30497, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) + zComma = __ccgo_ts + 15087 goto _1 _1: ; @@ -181998,17 +183665,17 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { zPk1 = _rbuWithoutRowidPK(tls, p, pIter) if zPk1 != 0 { - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30378, libc.VaList(bp+16, zSql, zPk1)) + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30524, libc.VaList(bp+16, zSql, zPk1)) } } - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6589, int32(1), tnum)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6653, int32(1), tnum)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { - v3 = __ccgo_ts + 30385 + v3 = __ccgo_ts + 30531 } else { - v3 = __ccgo_ts + 1652 + v3 = __ccgo_ts + 1666 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30400, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6589, 0, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30546, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6653, 0, 0)) } } @@ -182034,7 +183701,7 @@ func _rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zColli bRbuRowid = libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) zBind = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1)+bRbuRowid) if zBind != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30432, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30578, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -182080,7 +183747,7 @@ func _rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintpt *(*int32)(unsafe.Pointer(bp + 8)) = (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc zRet = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30489) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30635) } if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx, -int32(1), libc.UintptrFromInt32(0)) @@ -182249,7 +183916,7 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zIdx = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx zLimit = uintptr(0) if nOffset != 0 { - zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30555, libc.VaList(bp+40, nOffset)) + zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30701, libc.VaList(bp+40, nOffset)) if !(zLimit != 0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) } @@ -182266,18 +183933,18 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zCollist = _rbuObjIterGetIndexCols(tls, p, pIter, bp, bp+8, bp+16, bp+24) zBind = _rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 24))) /* Create the imposter table used to write to this index. */ - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6589, 0, int32(1))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6589, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30575, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6589, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6653, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6653, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30721, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6653, 0, 0)) /* Create the statement to insert index entries */ (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 24)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30640, libc.VaList(bp+40, zTbl, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30786, libc.VaList(bp+40, zTbl, zBind))) } /* And to delete index entries */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30676, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30822, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) } /* Create the SELECT statement to read keys in sorted order */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -182292,26 +183959,26 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } if zStart != 0 { if zPart != 0 { - v2 = __ccgo_ts + 30710 + v2 = __ccgo_ts + 30856 } else { - v2 = __ccgo_ts + 30714 + v2 = __ccgo_ts + 30860 } v1 = v2 } else { - v1 = __ccgo_ts + 1652 + v1 = __ccgo_ts + 1666 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30720, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30866, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) Xsqlite3_free(tls, zStart) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30781, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30927, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { if zPart != 0 { - v3 = __ccgo_ts + 30710 + v3 = __ccgo_ts + 30856 } else { - v3 = __ccgo_ts + 30714 + v3 = __ccgo_ts + 30860 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30842, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30988, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -182330,62 +183997,62 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zTbl1 = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl /* Imposter table name */ zBindings = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+bRbuRowid) zWhere1 = _rbuObjIterGetWhere(tls, p, pIter) - zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6600) - zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6596) + zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6664) + zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6660) zCollist = _rbuObjIterGetCollist(tls, p, pIter) (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol /* Create the imposter table or tables (if required). */ _rbuCreateImposterTable(tls, p, pIter) _rbuCreateImposterTable2(tls, p, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) { - v4 = __ccgo_ts + 1652 + v4 = __ccgo_ts + 1666 } else { - v4 = __ccgo_ts + 31001 + v4 = __ccgo_ts + 31147 } zWrite = v4 /* Create the INSERT statement to write to the target PK b-tree */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if bRbuRowid != 0 { - v5 = __ccgo_ts + 31010 + v5 = __ccgo_ts + 31156 } else { - v5 = __ccgo_ts + 1652 + v5 = __ccgo_ts + 1666 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31020, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31166, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) } /* Create the DELETE statement to write to the target PK b-tree. ** Because it only performs INSERT operations, this is not required for ** an rbu vacuum handle. */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31056, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31202, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) } if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zRbuRowid = __ccgo_ts + 1652 + zRbuRowid = __ccgo_ts + 1666 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zRbuRowid = __ccgo_ts + 31084 + zRbuRowid = __ccgo_ts + 31230 } /* Create the rbu_tmp_xxx table and the triggers to populate it. */ if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - v6 = __ccgo_ts + 31096 + v6 = __ccgo_ts + 31242 } else { - v6 = __ccgo_ts + 1652 + v6 = __ccgo_ts + 1666 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31113, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31189, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31259, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31335, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31488, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31634, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) } _rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) } /* Create the SELECT statement to read keys from data_xxx */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zRbuRowid1 = __ccgo_ts + 1652 + zRbuRowid1 = __ccgo_ts + 1666 zStart1 = uintptr(0) zOrder = uintptr(0) if bRbuRowid != 0 { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v7 = __ccgo_ts + 31587 + v7 = __ccgo_ts + 31733 } else { - v7 = __ccgo_ts + 31597 + v7 = __ccgo_ts + 31743 } zRbuRowid1 = v7 } @@ -182398,28 +184065,28 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } } if bRbuRowid != 0 { - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29644, 0) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29790, 0) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1652, __ccgo_ts+14994, __ccgo_ts+1652) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1666, __ccgo_ts+15087, __ccgo_ts+1666) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v8 = __ccgo_ts + 31608 + v8 = __ccgo_ts + 31754 } else { - v8 = __ccgo_ts + 1652 + v8 = __ccgo_ts + 1666 } if zStart1 != 0 { v9 = zStart1 } else { - v9 = __ccgo_ts + 1652 + v9 = __ccgo_ts + 1666 } if zOrder != 0 { - v10 = __ccgo_ts + 23211 + v10 = __ccgo_ts + 23356 } else { - v10 = __ccgo_ts + 1652 + v10 = __ccgo_ts + 1666 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31614, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31760, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) } Xsqlite3_free(tls, zStart1) Xsqlite3_free(tls, zOrder) @@ -182505,11 +184172,11 @@ func _rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, p (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpNext = (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - zPrefix = __ccgo_ts + 1652 + zPrefix = __ccgo_ts + 1666 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { - zPrefix = __ccgo_ts + 31001 + zPrefix = __ccgo_ts + 31147 } - zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31662, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) + zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31808, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate) *(*uintptr)(unsafe.Pointer(ppStmt)) = (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpUpdate } @@ -182536,7 +184203,7 @@ func _rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) (r } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp, flags, v1) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp))) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) } @@ -182583,7 +184250,7 @@ func _rbuLoadState(tls *libc.TLS, p uintptr) (r uintptr) { if pRet == uintptr(0) { return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31692, libc.VaList(bp+24, p+48))) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31838, libc.VaList(bp+24, p+48))) for *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) { case int32(RBU_STATE_STAGE): @@ -182642,27 +184309,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu = _rbuOpenDbhandle(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, int32(1)) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain = dbMain if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6589, int32(SQLITE_FCNTL_RBUCNT), p) + Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6653, int32(SQLITE_FCNTL_RBUCNT), p) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) { - zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6589) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31722, libc.VaList(bp+8, zFile, zFile)) + zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6653) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31868, libc.VaList(bp+8, zFile, zFile)) } } /* If using separate RBU and state databases, attach the state database to ** the RBU db handle now. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31750, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48, __ccgo_ts+3422, uint64(4)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31896, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+3486, uint64(4)) } else { - libc.Xmemcpy(tls, p+48, __ccgo_ts+6589, uint64(4)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+6653, uint64(4)) } /* If it has not already been created, create the rbu_state table */ - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31768, libc.VaList(bp+8, p+48)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31914, libc.VaList(bp+8, p+48)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { bOpen = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6589, int32(SQLITE_FCNTL_RBUCNT), p) + rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6653, int32(SQLITE_FCNTL_RBUCNT), p) if rc != int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -182695,10 +184362,10 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) return } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31834, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31980, 0) } else { zExtra = uintptr(0) - if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24600, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { + if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24723, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { zExtra = (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5 for *(*int8)(unsafe.Pointer(zExtra)) != 0 { v1 = zExtra @@ -182712,16 +184379,16 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if zExtra == uintptr(0) { - v2 = __ccgo_ts + 1652 + v2 = __ccgo_ts + 1666 } else { - v2 = __ccgo_ts + 31866 + v2 = __ccgo_ts + 32012 } if zExtra == uintptr(0) { - v3 = __ccgo_ts + 1652 + v3 = __ccgo_ts + 1666 } else { v3 = zExtra } - zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+31868, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6589), v2, v3)) + zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+32014, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6653), v2, v3)) if zTarget == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) return @@ -182732,27 +184399,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31900, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32046, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31915, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32061, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31932, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32078, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6589, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6653, int32(SQLITE_FCNTL_RBU), p) } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31948, 0) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32094, 0) /* Mark the database file just opened as an RBU target database. If ** this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. ** This is an error. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6589, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6653, int32(SQLITE_FCNTL_RBU), p) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31976, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32122, 0) } } @@ -182802,7 +184469,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) { pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = int64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))<= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+32976, zState+uintptr(n-int32(7)), uint64(7)) { + if n >= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33122, zState+uintptr(n-int32(7)), uint64(7)) { return _rbuMisuseError(tls) } } @@ -184022,7 +185689,7 @@ func _rbuEditErrmsg(tls *libc.TLS, p uintptr) { if !(uint64(uint64(i)) < nErrmsg-uint64(8)) { break } - if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31001, uint64(8)) == 0 { + if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31147, uint64(8)) == 0 { nDel = int32(8) for int32(*(*int8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(uint32(nDel)))))) >= int32('0') && int32(*(*int8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(uint32(nDel)))))) <= int32('9') { nDel++ @@ -184050,7 +185717,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { if p != 0 { /* Commit the transaction to the *-oal file. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14898, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14991, uintptr(0), uintptr(0), p+64) } /* Sync the db file if currently doing an incremental checkpoint */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) { @@ -184059,7 +185726,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { } _rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14898, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14991, uintptr(0), uintptr(0), p+64) } /* Close any open statement handles. */ _rbuObjIterFinalize(tls, p+80) @@ -184069,7 +185736,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { ** specifying the current target and state databases to start a new ** vacuum from scratch. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 { - rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32984, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33130, uintptr(0), uintptr(0), uintptr(0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_DONE) && rc2 != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -184170,7 +185837,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14898, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14991, uintptr(0), uintptr(0), uintptr(0)) } } /* Sync the db file */ @@ -184183,19 +185850,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { rc = (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14898, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14991, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 14883 + v1 = __ccgo_ts + 14976 } else { - v1 = __ccgo_ts + 32936 + v1 = __ccgo_ts + 33082 } zBegin = v1 rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32936, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33082, uintptr(0), uintptr(0), uintptr(0)) } } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -184761,7 +186428,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xControl})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, int32(SQLITE_FCNTL_ZIPVFS), bp) if rc == SQLITE_OK { rc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33011, 0) + (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33157, 0) } else { if rc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p @@ -184787,7 +186454,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r if rc == SQLITE_OK && op == int32(SQLITE_FCNTL_VFSNAME) { pRbuVfs = (*Trbu_file)(unsafe.Pointer(p)).FpRbuVfs zIn = *(*uintptr)(unsafe.Pointer(pArg)) - zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33034, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33180, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -184982,7 +186649,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag if pDb != 0 { if (*Trbu_file)(unsafe.Pointer(pDb)).FpRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FeStage == int32(RBU_STAGE_OAL) { if (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6589) + zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6653) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -184996,7 +186663,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag } else { (*Trbu_file)(unsafe.Pointer(pFd)).FpRbu = (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRbu } - if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33045, 0) != 0 { + if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33191, 0) != 0 { oflags = libc.Int32FromInt32(SQLITE_OPEN_TEMP_DB) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_EXCLUSIVE) | libc.Int32FromInt32(SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) } @@ -185549,7 +187216,7 @@ func _statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint _sqlite3TokenInit(tls, bp, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = _sqlite3FindDb(tls, db, bp) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12195, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12320, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return int32(SQLITE_ERROR) } } else { @@ -186048,7 +187715,7 @@ statNextRestart: (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiPgno = iRoot (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33056, 0) + v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33202, 0) z = v1 (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FzPath = v1 if z == uintptr(0) { @@ -186086,8 +187753,8 @@ statNextRestart: if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { (*TStatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*TStatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*TStatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*Tu32)(unsafe.Pointer((*TStatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33058 - v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33067, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33204 + v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33213, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) z = v2 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v2 if z == uintptr(0) { @@ -186116,7 +187783,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage++ if (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage >= int32(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) { _statResetCsr(tls, pCsr) - return _sqlite3CorruptError(tls, int32(222551)) + return _sqlite3CorruptError(tls, int32(224206)) } if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell { (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiPgno = (*TStatPage)(unsafe.Pointer(p)).FiRightChildPg @@ -186127,7 +187794,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnPage++ (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33079, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) + v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33225, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) z = v4 (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FzPath = v4 if z == uintptr(0) { @@ -186150,13 +187817,13 @@ statNextRestart: case int32(0x05): /* table internal */ fallthrough case int32(0x02): /* index internal */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33087 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33233 case int32(0x0D): /* table leaf */ fallthrough case int32(0x0A): /* index leaf */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33096 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33242 default: - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33101 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33247 break } *(*int32)(unsafe.Pointer(pCsr + 2108)) += (*TStatPage)(unsafe.Pointer(p1)).FnCell @@ -186165,7 +187832,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnMxPayload = (*TStatPage)(unsafe.Pointer(p1)).FnMxPayload } if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) + v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) z = v5 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v5 if z == uintptr(0) { @@ -186254,12 +187921,12 @@ func _statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, a (*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg = uint8(0) } pSql = Xsqlite3_str_new(tls, (*TStatTable)(unsafe.Pointer(pTab)).Fdb) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33111, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33257, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33266, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33412, libc.VaList(bp+8, zName)) } if idxNum&int32(0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33280, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33426, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -186336,7 +188003,7 @@ func _statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) (r int32) { // ** Invoke this routine to register the "dbstat" virtual table module // */ func _sqlite3DbstatRegister(tls *libc.TLS, db uintptr) (r int32) { - return Xsqlite3_create_module(tls, db, __ccgo_ts+33295, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, __ccgo_ts+33441, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) } var _dbstat_module = Tsqlite3_module{} @@ -187607,20 +189274,20 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, *(*uintptr)(unsafe.Pointer(pazDflt)) = uintptr(0) } nThis = _sqlite3Strlen30(tls, zThis) - if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11586, zThis) { + if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11711, zThis) { rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { /* For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. */ - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33302, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33448, 0) } else { if rc == int32(SQLITE_ERROR) { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1652, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1666, 0) } else { return rc } } } else { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33423, libc.VaList(bp+16, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33569, libc.VaList(bp+16, zDb, zThis)) } if !(zPragma != 0) { return int32(SQLITE_NOMEM) @@ -187644,7 +189311,7 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, bRowid = 0 } nDbCol += bRowid - nByte = Tsqlite3_int64(uint64(nByte) + uint64(libc.Xstrlen(tls, __ccgo_ts+29644))) + nByte = Tsqlite3_int64(uint64(nByte) + uint64(libc.Xstrlen(tls, __ccgo_ts+29790))) rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == SQLITE_OK { nByte = Tsqlite3_int64(uint64(nByte) + uint64(uint64(uint64(nDbCol))*(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(2)+libc.Uint64FromInt64(1)+libc.Uint64FromInt32(1)+libc.Uint64FromInt32(1)))) @@ -187668,8 +189335,8 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 if bRowid != 0 { - nName = libc.Xstrlen(tls, __ccgo_ts+29644) - libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29644, nName+uint64(1)) + nName = libc.Xstrlen(tls, __ccgo_ts+29790) + libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29790, nName+uint64(1)) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc pAlloc += uintptr(nName + uint64(1)) *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) = uint8(1) @@ -187761,7 +189428,7 @@ func _sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr, db uintptr ; i++ } - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11586, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11711, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { (*TSessionTable)(unsafe.Pointer(pTab)).FbStat1 = int32(1) } if pSession != 0 && (*Tsqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { @@ -188050,10 +189717,10 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin _, _, _, _ = ii, zDflt, zSep, v2 *(*TSessionBuffer)(unsafe.Pointer(bp)) = TSessionBuffer{} *(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK - zSep = __ccgo_ts + 11206 + zSep = __ccgo_ts + 11331 ii = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33452, 0) + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33598, 0) ii = 0 for { if !(ii < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol) { @@ -188062,11 +189729,11 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin if *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) != 0 { v2 = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) } else { - v2 = __ccgo_ts + 1653 + v2 = __ccgo_ts + 1667 } zDflt = v2 - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5080, libc.VaList(bp+32, zSep, zDflt)) - zSep = __ccgo_ts + 14994 + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5144, libc.VaList(bp+32, zSep, zDflt)) + zSep = __ccgo_ts + 15087 goto _1 _1: ; @@ -188384,7 +190051,7 @@ func _sessionPreupdateOneChange(tls *libc.TLS, op int32, iRowid Ti64, pSession u rc = int32(SQLITE_NOMEM) goto error_out } - _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1652, uint8(0), libc.UintptrFromInt32(0)) + _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1666, uint8(0), libc.UintptrFromInt32(0)) (*Tsqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p } } @@ -188705,7 +190372,7 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr var i int32 var zRet, zSep uintptr _, _, _ = i, zRet, zSep - zSep = __ccgo_ts + 1652 + zSep = __ccgo_ts + 1666 zRet = uintptr(0) i = 0 for { @@ -188713,8 +190380,8 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr break } if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33459, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 22017 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33605, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 22162 if zRet == uintptr(0) { break } @@ -188733,7 +190400,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint var bHave, i int32 var zRet, zSep uintptr _, _, _, _ = bHave, i, zRet, zSep - zSep = __ccgo_ts + 1652 + zSep = __ccgo_ts + 1666 zRet = uintptr(0) bHave = 0 i = 0 @@ -188743,8 +190410,8 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if int32(*(*Tu8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = int32(1) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33493, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 33534 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33639, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 33680 if zRet == uintptr(0) { break } @@ -188755,7 +190422,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint i++ } if bHave == 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1726, 0) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1786, 0) } return zRet } @@ -188766,12 +190433,12 @@ func _sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, bRowid int var zRet, zSel, v1 uintptr _, _, _ = zRet, zSel, v1 if bRowid != 0 { - v1 = __ccgo_ts + 33539 + v1 = __ccgo_ts + 33685 } else { - v1 = __ccgo_ts + 6594 + v1 = __ccgo_ts + 6658 } zSel = v1 - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33550, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33696, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -188832,11 +190499,11 @@ func _sessionAllCols(tls *libc.TLS, zDb uintptr, pTab uintptr) (r uintptr) { break } if zRet != 0 { - v2 = __ccgo_ts + 14994 + v2 = __ccgo_ts + 15087 } else { - v2 = __ccgo_ts + 1652 + v2 = __ccgo_ts + 1666 } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33629, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33775, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) if !(zRet != 0) { break } @@ -188864,7 +190531,7 @@ func _sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFr } else { z1 = _sessionAllCols(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, pTab) z2 = _sessionAllCols(tls, zFrom, pTab) - zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33648, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) + zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33794, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) if zStmt == uintptr(0) || z1 == uintptr(0) || z2 == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -188964,7 +190631,7 @@ func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl u Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if bMismatch != 0 { if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33705, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33851, 0) } rc = int32(SQLITE_SCHEMA) } @@ -189296,7 +190963,7 @@ func _sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* aBuf at bp+0 */ [24]int8 - Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5142, libc.VaList(bp+32, iVal)) + Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5206, libc.VaList(bp+32, iVal)) _sessionAppendStr(tls, p, bp, pRc) } @@ -189587,23 +191254,23 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt _, _, _, _, _, _, _ = i, nSql, zCols, zSep, zSql, v1, v3 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK zSql = uintptr(0) - zSep = __ccgo_ts + 1652 + zSep = __ccgo_ts + 1666 if bRowid != 0 { - v1 = __ccgo_ts + 33539 + v1 = __ccgo_ts + 33685 } else { - v1 = __ccgo_ts + 6594 + v1 = __ccgo_ts + 6658 } zCols = v1 nSql = -int32(1) *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 24)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 40)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+33732, bp) - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11586, zTab) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+33736, bp) - _sessionAppendStr(tls, bp+24, __ccgo_ts+33760, bp) - _sessionAppendStr(tls, bp+40, __ccgo_ts+33769, bp) - zCols = __ccgo_ts + 33814 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33878, bp) + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11711, zTab) { + _sessionAppendStr(tls, bp+8, __ccgo_ts+33882, bp) + _sessionAppendStr(tls, bp+24, __ccgo_ts+33906, bp) + _sessionAppendStr(tls, bp+40, __ccgo_ts+33915, bp) + zCols = __ccgo_ts + 33960 } else { i = 0 for { @@ -189613,11 +191280,11 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { _sessionAppendStr(tls, bp+24, zSep, bp) _sessionAppendStr(tls, bp+40, zSep, bp) - zSep = __ccgo_ts + 14994 + zSep = __ccgo_ts + 15087 _sessionAppendIdent(tls, bp+24, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp) - _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33828, libc.VaList(bp+64, i+int32(1))) + _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33974, libc.VaList(bp+64, i+int32(1))) } else { - _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33832, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33978, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) } goto _2 _2: @@ -189629,9 +191296,9 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if bIgnoreNoop != 0 { v3 = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf } else { - v3 = __ccgo_ts + 1652 + v3 = __ccgo_ts + 1666 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+33859, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+34005, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) if zSql == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } @@ -189772,7 +191439,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+33901, uintptr(0), uintptr(0), uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+34047, uintptr(0), uintptr(0), uintptr(0)) if *(*int32)(unsafe.Pointer(bp + 16)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -189878,7 +191545,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, } } Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf) - Xsqlite3_exec(tls, db, __ccgo_ts+33921, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34067, uintptr(0), uintptr(0), uintptr(0)) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -190295,7 +191962,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, int32(9)) if rc == SQLITE_OK { if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData { - rc = _sqlite3CorruptError(tls, int32(226700)) + rc = _sqlite3CorruptError(tls, int32(228355)) } else { v3 = pIn + 8 v2 = *(*int32)(unsafe.Pointer(v3)) @@ -190319,7 +191986,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = _sqlite3CorruptError(tls, int32(226720)) + rc = _sqlite3CorruptError(tls, int32(228375)) } else { if eType == int32(SQLITE_TEXT) { v4 = int32(SQLITE_UTF8) @@ -190334,7 +192001,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap } if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) { if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) { - rc = _sqlite3CorruptError(tls, int32(226730)) + rc = _sqlite3CorruptError(tls, int32(228385)) } else { *(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal) if eType == int32(SQLITE_INTEGER) { @@ -190390,7 +192057,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) ( ** large value for nCol may cause nRead to wrap around and become ** negative. Leading to a crash. */ if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) { - rc = _sqlite3CorruptError(tls, int32(226778)) + rc = _sqlite3CorruptError(tls, int32(228433)) } else { rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100)) nRead += *(*int32)(unsafe.Pointer(bp)) @@ -190495,7 +192162,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) { (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 _sessionBufferGrow(tls, p+72, int64(int64(nByte)), bp) } else { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(226866)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(228521)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -190566,12 +192233,12 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { return (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc } + _sessionDiscardData(tls, p) + (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext /* If the iterator is already at the end of the changeset, return DONE. */ if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { return int32(SQLITE_DONE) } - _sessionDiscardData(tls, p) - (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext v3 = p + 8 v2 = *(*int32)(unsafe.Pointer(v3)) *(*int32)(unsafe.Pointer(v3))++ @@ -190601,7 +192268,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { /* The first record in the changeset is not a table header. Must be a ** corrupt changeset. */ - v7 = _sqlite3CorruptError(tls, int32(226952)) + v7 = _sqlite3CorruptError(tls, int32(228607)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7 return v7 } @@ -190611,7 +192278,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin *(*int32)(unsafe.Pointer(v9))++ (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8)))) if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) { - v10 = _sqlite3CorruptError(tls, int32(226958)) + v10 = _sqlite3CorruptError(tls, int32(228613)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10 return v10 } @@ -190690,7 +192357,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if *(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - v16 = _sqlite3CorruptError(tls, int32(227002)) + v16 = _sqlite3CorruptError(tls, int32(228657)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16 return v16 } @@ -191100,7 +192767,7 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu goto finished_invert } default: - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(227367)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(229022)) goto finished_invert } if xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size { @@ -191303,18 +192970,18 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 } if pUp == uintptr(0) { nByte = int32(uint64(24) * uint64(uint64(nU32)) * uint64(4)) - bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11586) == 0) + bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11711) == 0) pUp = Xsqlite3_malloc(tls, nByte) if pUp == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } else { - zSep = __ccgo_ts + 1652 + zSep = __ccgo_ts + 1666 libc.Xmemset(tls, bp+8, 0, uint64(16)) (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24 libc.Xmemcpy(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*TSessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(uint64(nU32))*uint64(4)) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33939, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34085, bp) _sessionAppendIdent(tls, bp+8, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33952, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34098, bp) /* Create the assignments part of the UPDATE */ ii = 0 for { @@ -191324,9 +192991,9 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if int32(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33958, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34104, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(1), bp) - zSep = __ccgo_ts + 14994 + zSep = __ccgo_ts + 15087 } goto _2 _2: @@ -191334,8 +193001,8 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 ii++ } /* Create the WHERE clause part of the UPDATE */ - zSep = __ccgo_ts + 1652 - _sessionAppendStr(tls, bp+8, __ccgo_ts+33963, bp) + zSep = __ccgo_ts + 1666 + _sessionAppendStr(tls, bp+8, __ccgo_ts+34109, bp) ii = 0 for { if !(ii < (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { @@ -191344,13 +193011,13 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if *(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) if bStat1 != 0 && ii == int32(1) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+33971, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34117, bp) } else { _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34046, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34192, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(2), bp) } - zSep = __ccgo_ts + 22017 + zSep = __ccgo_ts + 22162 } goto _3 _3: @@ -191433,13 +193100,13 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in var _ /* buf at bp+8 */ TSessionBuffer var _ /* rc at bp+0 */ int32 _, _, _ = i, nPk, zSep - zSep = __ccgo_ts + 1652 + zSep = __ccgo_ts + 1666 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} nPk = 0 - _sessionAppendStr(tls, bp+8, __ccgo_ts+34052, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34198, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33963, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34109, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -191449,9 +193116,9 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in nPk++ _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33958, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34104, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 22017 + zSep = __ccgo_ts + 22162 } goto _1 _1: @@ -191459,10 +193126,10 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in i++ } if nPk < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol { - _sessionAppendStr(tls, bp+8, __ccgo_ts+34070, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34216, bp) _sessionAppendInteger(tls, bp+8, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol+int32(1), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33534, bp) - zSep = __ccgo_ts + 1652 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33680, bp) + zSep = __ccgo_ts + 1666 i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -191471,16 +193138,16 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in if !(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34046, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34192, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 34078 + zSep = __ccgo_ts + 34224 } goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5110, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5174, bp) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+8, uintptr(0)) @@ -191506,7 +193173,7 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in // */ func _sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r int32) { /* TODO */ - return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6589, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) + return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6653, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } // C documentation @@ -191529,16 +193196,16 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+34083, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34229, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+22023, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+22168, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } if i != 0 { - _sessionAppendStr(tls, bp+8, __ccgo_ts+14994, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+15087, bp) } _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) goto _1 @@ -191546,19 +193213,19 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34101, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34247, bp) i = int32(1) for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34112, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34258, bp) goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5110, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5174, bp) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+16, uintptr(0)) } @@ -191581,12 +193248,12 @@ func _sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) (r int func _sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) (r int32) { var rc int32 _ = rc - rc = _sessionSelectRow(tls, db, __ccgo_ts+11586, p) + rc = _sessionSelectRow(tls, db, __ccgo_ts+11711, p) if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34116) + rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34262) } if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34229) + rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34375) } return rc } @@ -191652,7 +193319,7 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { /* The value in the changeset was "undefined". This indicates a ** corrupt changeset blob. */ - rc = _sqlite3CorruptError(tls, int32(227849)) + rc = _sqlite3CorruptError(tls, int32(229504)) } else { rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp))) } @@ -192068,7 +193735,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } else { if *(*int32)(unsafe.Pointer(bp)) != 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34373, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34519, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = _sessionBindRow(tls, pIter, __ccgo_fp(Xsqlite3changeset_new), (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) Xsqlite3_bind_int(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol+int32(1), int32(1)) @@ -192081,7 +193748,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34394, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34540, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -192175,10 +193842,10 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbIgnoreNoop = libc.BoolUint8(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_IGNORENOOP) != 0)) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34413, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34559, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34439, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34585, uintptr(0), uintptr(0), uintptr(0)) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) { Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0)) @@ -192209,7 +193876,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui ** non-zero, proceed. */ schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144)))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) + *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { rc = int32(SQLITE_NOMEM) break @@ -192219,7 +193886,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } else { nMinCol = 0 Xsqlite3changeset_pk(tls, pIter, bp+152, uintptr(0)) - rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6589, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) + rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6653, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) if rc != SQLITE_OK { break } @@ -192238,18 +193905,18 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol == 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34469, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34615, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol < *(*int32)(unsafe.Pointer(bp + 136)) { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34513, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34659, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) } else { if *(*int32)(unsafe.Pointer(bp + 136)) < nMinCol || libc.Xmemcmp(tls, (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FabPK, *(*uintptr)(unsafe.Pointer(bp + 152)), uint64(*(*int32)(unsafe.Pointer(bp + 136)))) != 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34584, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34730, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol = *(*int32)(unsafe.Pointer(bp + 136)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11586) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11711) { v2 = _sessionStat1Sql(tls, db, bp+8) rc = v2 if v2 != 0 { @@ -192306,13 +193973,13 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } } } - Xsqlite3_exec(tls, db, __ccgo_ts+34644, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34790, uintptr(0), uintptr(0), uintptr(0)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34674, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34820, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, __ccgo_ts+34698, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, __ccgo_ts+34674, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34844, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34820, uintptr(0), uintptr(0), uintptr(0)) } } if rc == SQLITE_OK && bPatchset == 0 && (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbRebase != 0 { @@ -192404,6 +194071,7 @@ type Tsqlite3_changegroup1 = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -192760,116 +194428,143 @@ func _sessionChangesetExtendRecord(tls *libc.TLS, pGrp uintptr, pTab uintptr, nC // C documentation // // /* -// ** Add all changes in the changeset traversed by the iterator passed as -// ** the first argument to the changegroup hash tables. +// ** Locate or create a SessionTable object that may be used to add the +// ** change currently pointed to by iterator pIter to changegroup pGrp. +// ** If successful, set output variable (*ppTab) to point to the table +// ** object and return SQLITE_OK. Otherwise, if some error occurs, return +// ** an SQLite error code and leave (*ppTab) set to NULL. // */ -func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { - bp := tls.Alloc(80) - defer tls.Free(80) - var bPkOnly1, bPkOnly2, iHash, nNew, rc int32 - var pExist, pTab, pp, ppTab uintptr - var _ /* aRec at bp+0 */ uintptr - var _ /* abPK at bp+64 */ uintptr - var _ /* bIndirect at bp+48 */ int32 - var _ /* nCol at bp+40 */ int32 - var _ /* nRec at bp+8 */ int32 - var _ /* op at bp+44 */ int32 - var _ /* pChange at bp+56 */ uintptr - var _ /* rec at bp+16 */ TSessionBuffer - var _ /* zNew at bp+32 */ uintptr - _, _, _, _, _, _, _, _, _ = bPkOnly1, bPkOnly2, iHash, nNew, pExist, pTab, pp, ppTab, rc +func _sessionChangesetFindTable(tls *libc.TLS, pGrp uintptr, zTab uintptr, pIter uintptr, ppTab uintptr) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var nTab, rc int32 + var pTab, ppNew uintptr + var _ /* abPK at bp+0 */ uintptr + var _ /* nCol at bp+8 */ int32 + _, _, _, _ = nTab, pTab, ppNew, rc rc = SQLITE_OK pTab = uintptr(0) - *(*TSessionBuffer)(unsafe.Pointer(bp + 16)) = TSessionBuffer{} - for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { - pExist = uintptr(0) - /* Ensure that only changesets, or only patchsets, but not a mixture - ** of both, are being combined. It is an error to try to combine a - ** changeset and a patchset. */ - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset - } else { - if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { - rc = int32(SQLITE_ERROR) - break - } + nTab = int32(libc.Xstrlen(tls, zTab)) + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(ppTab)) = uintptr(0) + Xsqlite3changeset_pk(tls, pIter, bp, bp+8) + /* Search the list for an existing table */ + pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList + for { + if !(pTab != 0) { + break } - Xsqlite3changeset_op(tls, pIter, bp+32, bp+40, bp+44, bp+48) - if !(pTab != 0) || Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), (*TSessionTable)(unsafe.Pointer(pTab)).FzName) != 0 { - /* Search the list for a matching table */ - nNew = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))) - Xsqlite3changeset_pk(tls, pIter, bp+64, uintptr(0)) - pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList - for { - if !(pTab != 0) { - break - } - if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), nNew+int32(1)) { - break - } - goto _1 - _1: - ; - pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext - } - if !(pTab != 0) { - pTab = Xsqlite3_malloc64(tls, uint64(uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 40)))+uint64(uint64(nNew))+uint64(1))) - if !(pTab != 0) { - rc = int32(SQLITE_NOMEM) - break - } - libc.Xmemset(tls, pTab, 0, uint64(80)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 40)) - (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 64)), uint64(*(*int32)(unsafe.Pointer(bp + 40)))) - (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 40))) - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), uint64(nNew+int32(1))) - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 - rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) - if rc != 0 { - Xsqlite3_free(tls, pTab) - break - } - } - /* The new object must be linked on to the end of the list, not - ** simply added to the start of it. This is to ensure that the - ** tables within the output of sqlite3changegroup_output() are in - ** the right order. */ - ppTab = pGrp + 8 - for { - if !(*(*uintptr)(unsafe.Pointer(ppTab)) != 0) { - break - } - goto _2 - _2: - ; - ppTab = *(*uintptr)(unsafe.Pointer(ppTab)) - } - *(*uintptr)(unsafe.Pointer(ppTab)) = pTab - } - if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*uintptr)(unsafe.Pointer(bp + 64))) != 0) { - rc = int32(SQLITE_SCHEMA) - break - } + if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, nTab+int32(1)) { + break + } + goto _1 + _1: + ; + pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext + } + /* If one was not found above, create a new table now */ + if !(pTab != 0) { + pTab = Xsqlite3_malloc64(tls, uint64(uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 8)))+uint64(uint64(nTab))+uint64(1))) + if !(pTab != 0) { + return int32(SQLITE_NOMEM) } - if *(*int32)(unsafe.Pointer(bp + 40)) < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol { - rc = _sessionChangesetExtendRecord(tls, pGrp, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*int32)(unsafe.Pointer(bp + 44)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+16) + libc.Xmemset(tls, pTab, 0, uint64(80)) + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 8)) + (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp)), uint64(*(*int32)(unsafe.Pointer(bp + 8)))) + (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 8))) + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, uint64(nTab+int32(1))) + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 + rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) if rc != 0 { + Xsqlite3_free(tls, pTab) + return rc + } + } + /* The new object must be linked on to the end of the list, not + ** simply added to the start of it. This is to ensure that the + ** tables within the output of sqlite3changegroup_output() are in + ** the right order. */ + ppNew = pGrp + 8 + for { + if !(*(*uintptr)(unsafe.Pointer(ppNew)) != 0) { break } - *(*uintptr)(unsafe.Pointer(bp)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf - *(*int32)(unsafe.Pointer(bp + 8)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf + goto _2 + _2: + ; + ppNew = *(*uintptr)(unsafe.Pointer(ppNew)) } - if _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { - rc = int32(SQLITE_NOMEM) - break + *(*uintptr)(unsafe.Pointer(ppNew)) = pTab + } + /* Check that the table is compatible. */ + if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp))) != 0) { + rc = int32(SQLITE_SCHEMA) + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + return rc +} + +// C documentation +// +// /* +// ** Add the change currently indicated by iterator pIter to the hash table +// ** belonging to changegroup pGrp. +// */ +func _sessionOneChangeToHash(tls *libc.TLS, pGrp uintptr, pIter uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var aRec, pBuf, pExist, pp uintptr + var bPkOnly1, bPkOnly2, iHash, nRec, rc int32 + var _ /* bIndirect at bp+8 */ int32 + var _ /* nCol at bp+0 */ int32 + var _ /* op at bp+4 */ int32 + var _ /* pChange at bp+16 */ uintptr + var _ /* pTab at bp+24 */ uintptr + var _ /* zTab at bp+32 */ uintptr + _, _, _, _, _, _, _, _, _ = aRec, bPkOnly1, bPkOnly2, iHash, nRec, pBuf, pExist, pp, rc + rc = SQLITE_OK + *(*int32)(unsafe.Pointer(bp)) = 0 + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + iHash = 0 + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) + pExist = uintptr(0) + pp = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) + aRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent+int32(2)) + nRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent - int32(2) + /* Ensure that only changesets, or only patchsets, but not a mixture + ** of both, are being combined. It is an error to try to combine a + ** changeset and a patchset. */ + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = int32(SQLITE_ERROR) } - iHash = int32(_sessionChangeHash(tls, pTab, libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)), *(*uintptr)(unsafe.Pointer(bp)), (*TSessionTable)(unsafe.Pointer(pTab)).FnChange)) + } + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0) + Xsqlite3changeset_op(tls, pIter, bp+32, bp, bp+4, bp+8) + rc = _sessionChangesetFindTable(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 32)), pIter, bp+24) + } + if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) < (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnCol { + pBuf = pGrp + 16 + rc = _sessionChangesetExtendRecord(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), aRec, nRec, pBuf) + aRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + nRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FnBuf + } + if rc == SQLITE_OK && _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 24))) != 0 { + rc = int32(SQLITE_NOMEM) + } + if rc == SQLITE_OK { /* Search for existing entry. If found, remove it from the hash table. - ** Code below may link it back in. - */ - pp = (*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8 + ** Code below may link it back in. */ + iHash = int32(_sessionChangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)), aRec, (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnChange)) + pp = (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8 for { if !(*(*uintptr)(unsafe.Pointer(pp)) != 0) { break @@ -192878,30 +194573,54 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase bPkOnly2 = 0 if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { bPkOnly1 = libc.BoolInt32(int32((*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fop) == int32(SQLITE_DELETE)) - bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)) + bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)) } - if _sessionChangeEqual(tls, pTab, bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp))) != 0 { + if _sessionChangeEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, aRec) != 0 { pExist = *(*uintptr)(unsafe.Pointer(pp)) *(*uintptr)(unsafe.Pointer(pp)) = (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry-- + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry-- break } - goto _3 - _3: + goto _1 + _1: ; pp = *(*uintptr)(unsafe.Pointer(pp)) + 24 } - rc = _sessionChangeMerge(tls, pTab, bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 44)), *(*int32)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+56) - if rc != 0 { + } + if rc == SQLITE_OK { + rc = _sessionChangeMerge(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 4)), *(*int32)(unsafe.Pointer(bp + 8)), aRec, nRec, bp+16) + } + if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { + (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 16)) + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry++ + } + if rc == SQLITE_OK { + rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// C documentation +// +// /* +// ** Add all changes in the changeset traversed by the iterator passed as +// ** the first argument to the changegroup hash tables. +// */ +func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var rc int32 + var _ /* aRec at bp+0 */ uintptr + var _ /* nRec at bp+8 */ int32 + _ = rc + rc = SQLITE_OK + for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { + rc = _sessionOneChangeToHash(tls, pGrp, pIter, bRebase) + if rc != SQLITE_OK { break } - if *(*uintptr)(unsafe.Pointer(bp + 56)) != 0 { - (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) - *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 56)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry++ - } } - Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf) if rc == SQLITE_OK { rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc } @@ -193011,11 +194730,11 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) (r int32) { var rc int32 _, _ = p, rc rc = SQLITE_OK /* New object */ - p = Xsqlite3_malloc(tls, int32(32)) + p = Xsqlite3_malloc(tls, int32(48)) if p == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, p, 0, uint64(32)) + libc.Xmemset(tls, p, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(pp)) = p return rc @@ -193037,7 +194756,7 @@ func Xsqlite3changegroup_schema(tls *libc.TLS, pGrp uintptr, db uintptr, zDb uin ** or after sqlite3changegroup_schema() has already been called. */ rc = int32(SQLITE_MISUSE) } else { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, zDb)) + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, zDb)) if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -193067,6 +194786,19 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin return rc } +// C documentation +// +// /* +// ** Add a single change to a changeset-group. +// */ +func Xsqlite3changegroup_add_change(tls *libc.TLS, pGrp uintptr, pIter uintptr) (r int32) { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent == (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc != SQLITE_OK || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbInvert != 0 { + /* Iterator does not point to any valid entry or is an INVERT iterator. */ + return int32(SQLITE_ERROR) + } + return _sessionOneChangeToHash(tls, pGrp, pIter, 0) +} + // C documentation // // /* @@ -193114,6 +194846,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { if pGrp != 0 { Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Frec.FaBuf) Xsqlite3_free(tls, pGrp) } } @@ -193478,11 +195211,11 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) (r int32) { var rc int32 _, _ = pNew, rc rc = SQLITE_OK - pNew = Xsqlite3_malloc(tls, int32(32)) + pNew = Xsqlite3_malloc(tls, int32(48)) if pNew == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, pNew, 0, uint64(32)) + libc.Xmemset(tls, pNew, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(ppNew)) = pNew return rc @@ -193556,6 +195289,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { if p != 0 { _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.Frec.FaBuf) Xsqlite3_free(tls, p) } } @@ -194187,6 +195921,9 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** sqlite3Fts5ParserARG_STORE Code to store %extra_argument into fts5yypParser // ** sqlite3Fts5ParserARG_FETCH Code to extract %extra_argument from fts5yypParser // ** sqlite3Fts5ParserCTX_* As sqlite3Fts5ParserARG_ except for %extra_context +// ** fts5YYREALLOC Name of the realloc() function to use +// ** fts5YYFREE Name of the free() function to use +// ** fts5YYDYNSTACK True if stack space should be extended on heap // ** fts5YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** fts5YYNSTATE the combined number of states. @@ -194200,6 +195937,8 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** fts5YY_NO_ACTION The fts5yy_action[] code for no-op // ** fts5YY_MIN_REDUCE Minimum value for reduce actions // ** fts5YY_MAX_REDUCE Maximum value for reduce actions +// ** fts5YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** fts5YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type Tfts5YYMINORTYPE = struct { @@ -194226,6 +195965,13 @@ type fts5YYMINORTYPE = Tfts5YYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -194655,8 +196401,9 @@ type fts5yyStackEntry = Tfts5yyStackEntry type Tfts5yyParser1 = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser1 = Tfts5yyParser1 @@ -194664,14 +196411,19 @@ type fts5yyParser1 = Tfts5yyParser1 type Tfts5yyParser = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser = Tfts5yyParser /* #include */ +/* For builds that do no have a growable stack, fts5yyGrowStack always +** returns an error. + */ + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3Fts5ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -194686,10 +196438,11 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { var fts5yypParser uintptr _ = fts5yypParser fts5yypParser = fts5yypRawParser - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fstateno = uint8(0) - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fmajor = uint8(0) - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = fts5yypParser + 16 + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack = fts5yypParser + 32 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fstateno = uint8(0) + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fmajor = uint8(0) } // C documentation @@ -194709,7 +196462,7 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) { var fts5yypParser uintptr _ = fts5yypParser - fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2424)) + fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432)) if fts5yypParser != 0 { _sqlite3Fts5ParserInit(tls, fts5yypParser) } @@ -194791,11 +196544,17 @@ func _fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var fts5yytos, pParser uintptr + _, _ = fts5yytos, pParser pParser = p - for (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { - _fts5yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling fts5yy_pop_parser_stack() for each + ** element left in the stack */ + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos + for fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yystack { + if int32((*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor) >= int32(fts5YY_MIN_DSTRCTR) { + _fts5yy_destructor(tls, pParser, (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor, fts5yytos+8) + } + fts5yytos -= 24 } } @@ -194883,13 +196642,13 @@ func _fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse - for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { + for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack { _fts5yy_pop_parser_stack(tls, fts5yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34726, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34872, 0) /******** End %stack_overflow code ********************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument var */ } @@ -194907,15 +196666,18 @@ func _fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, f var fts5yytos uintptr _ = fts5yytos (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 - if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 - _fts5yyStackOverflow(tls, fts5yypParser) - return + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + if fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { + if int32(1) != 0 { + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 + _fts5yyStackOverflow(tls, fts5yypParser) + return + } + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos } if int32(int32(fts5yyNewState)) > int32(fts5YY_MAX_SHIFT) { fts5yyNewState = uint8(int32(fts5yyNewState) + (libc.Int32FromInt32(fts5YY_MIN_REDUCE) - libc.Int32FromInt32(fts5YY_MIN_SHIFTREDUCE))) } - fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fstateno = fts5yyNewState (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor = fts5yyMajor *(*TFts5Token)(unsafe.Pointer(fts5yytos + 8)) = fts5yyMinor @@ -195242,7 +197004,7 @@ func _fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int3 pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse /************ Begin %syntax_error code ****************************************/ _ = fts5yymajor /* Silence a compiler warning */ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34754, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34900, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) /************ End %syntax_error code ******************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument variable */ } @@ -195304,8 +197066,10 @@ func _sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5y ** enough on the stack to push the LHS value */ if int32(_fts5yyRuleInfoNRhs[fts5yyruleno]) == 0 { if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos >= (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - _fts5yyStackOverflow(tls, fts5yypParser) - break + if int32(1) != 0 { + _fts5yyStackOverflow(tls, fts5yypParser) + break + } } } fts5yyact = _fts5yy_reduce(tls, fts5yypParser, fts5yyruleno, fts5yymajor, fts5yyminor) @@ -195524,7 +197288,7 @@ func _fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n in if n < 0 { n = int32(libc.Xstrlen(tls, z)) } - (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34785, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34931, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*THighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = int32(SQLITE_NOMEM) } @@ -195621,7 +197385,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint var _ /* rc at bp+104 */ int32 _, _ = iCol, zErr if nVal != int32(3) { - zErr = __ccgo_ts + 34792 + zErr = __ccgo_ts + 34938 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -195632,7 +197396,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint (*(*THighlightContext)(unsafe.Pointer(bp))).FiRangeEnd = -int32(1) *(*int32)(unsafe.Pointer(bp + 104)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})))(tls, pFts, iCol, bp+24, bp+32) if *(*int32)(unsafe.Pointer(bp + 104)) == int32(SQLITE_RANGE) { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1652, -int32(1), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1666, -int32(1), libc.UintptrFromInt32(0)) *(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_OK } else { if (*(*THighlightContext)(unsafe.Pointer(bp))).FzIn != 0 { @@ -195833,7 +197597,7 @@ func _fts5ValueToText(tls *libc.TLS, pVal uintptr) (r uintptr) { if zRet != 0 { v1 = zRet } else { - v1 = __ccgo_ts + 1652 + v1 = __ccgo_ts + 1666 } return v1 } @@ -195867,7 +197631,7 @@ func _fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintpt nBestScore = 0 /* Score of best snippet */ *(*int32)(unsafe.Pointer(bp + 112)) = 0 if nVal != int32(5) { - zErr = __ccgo_ts + 34842 + zErr = __ccgo_ts + 34988 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -196247,15 +198011,15 @@ func _sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) (r int32) { FxDestroy uintptr }{ 0: { - FzFunc: __ccgo_ts + 34890, + FzFunc: __ccgo_ts + 35036, FxFunc: __ccgo_fp(_fts5SnippetFunction), }, 1: { - FzFunc: __ccgo_ts + 34898, + FzFunc: __ccgo_ts + 35044, FxFunc: __ccgo_fp(_fts5HighlightFunction), }, 2: { - FzFunc: __ccgo_ts + 34908, + FzFunc: __ccgo_ts + 35054, FxFunc: __ccgo_fp(_fts5Bm25Function), }, } @@ -196915,7 +198679,7 @@ func _fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) (r uintptr) { case int32('n'): fallthrough case int32('N'): - if Xsqlite3_strnicmp(tls, __ccgo_ts+1638, p, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+1652, p, int32(4)) == 0 { p = p + 4 } else { p = uintptr(0) @@ -197119,7 +198883,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _, _, _, _, _, _, _, _, _, _, _, _ = azArg, bFirst, nArg, nByte, nCmd, nPre, p, p1, p2, pDel, pSpace, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK nCmd = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, __ccgo_ts+34913, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35059, zCmd, nCmd) == 0 { nByte = int32(libc.Uint64FromInt64(4) * libc.Uint64FromInt32(FTS5_MAX_PREFIX_INDEXES)) bFirst = int32(1) if (*TFts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { @@ -197145,12 +198909,12 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } } if int32(*(*int8)(unsafe.Pointer(p))) < int32('0') || int32(*(*int8)(unsafe.Pointer(p))) > int32('9') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34920, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35066, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } if (*TFts5Config)(unsafe.Pointer(pConfig)).FnPrefix == int32(FTS5_MAX_PREFIX_INDEXES) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34951, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35097, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -197159,7 +198923,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC p++ } if nPre <= 0 || nPre >= int32(1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34984, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35130, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -197169,7 +198933,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35021, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35167, zCmd, nCmd) == 0 { p1 = zArg nArg = int64(libc.Xstrlen(tls, zArg) + uint64(1)) azArg = _sqlite3Fts5MallocZero(tls, bp, int64(uint64(8)*uint64(uint64(nArg)))) @@ -197177,7 +198941,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC pSpace = pDel if azArg != 0 && pSpace != 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35030, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35176, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { nArg = 0 @@ -197204,7 +198968,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC nArg++ } if p1 == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35063, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35209, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(int32(nArg)), pConfig, pzErr) @@ -197215,58 +198979,58 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC Xsqlite3_free(tls, pDel) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35097, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35243, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35105, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35251, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if *(*int8)(unsafe.Pointer(zArg)) != 0 { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_EXTERNAL) - (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35137, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35283, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_NONE) } } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35143, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35289, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35162, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35308, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35205, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35351, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35219, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35365, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, zArg, -int32(1)) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35257, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35403, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35268, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35414, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+5503, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+5567, zCmd, nCmd) == 0 { *(*[4]TFts5Enum)(unsafe.Pointer(bp + 8)) = [4]TFts5Enum{ 0: { - FzName: __ccgo_ts + 8222, + FzName: __ccgo_ts + 8347, FeVal: int32(FTS5_DETAIL_NONE), }, 1: { - FzName: __ccgo_ts + 17751, + FzName: __ccgo_ts + 17838, }, 2: { - FzName: __ccgo_ts + 35303, + FzName: __ccgo_ts + 35449, FeVal: int32(FTS5_DETAIL_COLUMNS), }, 3: {}, @@ -197274,20 +199038,20 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC v2 = _fts5ConfigSetEnum(tls, bp+8, zArg, pConfig+96) *(*int32)(unsafe.Pointer(bp)) = v2 if v2 != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35311, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35457, 0) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35342, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35488, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35352, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35498, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbTokendata = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35386, libc.VaList(bp+80, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35532, libc.VaList(bp+80, nCmd, zCmd)) return int32(SQLITE_ERROR) } @@ -197359,15 +199123,15 @@ func _fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr var v2 uintptr _, _, _ = rc, v1, v2 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35414) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16698) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35419, libc.VaList(bp+8, zCol)) + if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35560) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16785) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35565, libc.VaList(bp+8, zCol)) rc = int32(SQLITE_ERROR) } else { if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35449) { + if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35595) { *(*Tu8)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*TFts5Config)(unsafe.Pointer(p)).FnCol))) = uint8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35459, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35605, libc.VaList(bp+8, zArg)) rc = int32(SQLITE_ERROR) } } @@ -197393,7 +199157,7 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TFts5Buffer)(unsafe.Pointer(bp + 8)) = TFts5Buffer{} - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35490, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35636, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*TFts5Config)(unsafe.Pointer(p)).FeContent != int32(FTS5_CONTENT_NONE) { i = 0 for { @@ -197401,9 +199165,9 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { break } if (*TFts5Config)(unsafe.Pointer(p)).FeContent == int32(FTS5_CONTENT_EXTERNAL) { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35495, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35641, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35502, libc.VaList(bp+32, i)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35648, libc.VaList(bp+32, i)) } goto _1 _1: @@ -197463,8 +199227,8 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in (*TFts5Config)(unsafe.Pointer(pRet)).FzName = _sqlite3Fts5Strndup(tls, bp, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -int32(1)) (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize = int32(1) (*TFts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35414) == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35510, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) + if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35560) == 0 { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35656, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } i = int32(3) @@ -197495,19 +199259,19 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35539, libc.VaList(bp+40, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35685, libc.VaList(bp+40, zOrig)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bOption != 0 { if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { v4 = *(*uintptr)(unsafe.Pointer(bp + 8)) } else { - v4 = __ccgo_ts + 1652 + v4 = __ccgo_ts + 1666 } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { v5 = *(*uintptr)(unsafe.Pointer(bp + 16)) } else { - v5 = __ccgo_ts + 1652 + v5 = __ccgo_ts + 1666 } *(*int32)(unsafe.Pointer(bp)) = _fts5ConfigParseSpecial(tls, pGlobal, pRet, v4, v5, pzErr) } else { @@ -197525,7 +199289,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } /* We only allow contentless_delete=1 if the table is indeed contentless. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FeContent != int32(FTS5_CONTENT_NONE) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35559, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35705, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* We only allow contentless_delete=1 if columnsize=0 is not present. @@ -197533,7 +199297,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in ** This restriction may be removed at some point. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35609, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35755, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* If a tokenizer= option was successfully parsed, the tokenizer has @@ -197546,18 +199310,18 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContent == uintptr(0) { zTail = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { - zTail = __ccgo_ts + 35097 + zTail = __ccgo_ts + 35243 } else { if (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = __ccgo_ts + 35664 + zTail = __ccgo_ts + 35810 } } if zTail != 0 { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35672, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35818, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0) { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16698, -int32(1)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16785, -int32(1)) } /* Formulate the zContentExprlist text */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -197621,25 +199385,25 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) { var _ /* rc at bp+0 */ int32 _, _, _, _ = i, zSep, zSql, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35683, 0) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35829, 0) i = 0 for { if !(zSql != 0 && i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } if i == 0 { - v2 = __ccgo_ts + 1652 + v2 = __ccgo_ts + 1666 } else { - v2 = __ccgo_ts + 14994 + v2 = __ccgo_ts + 15087 } zSep = v2 - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35699, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35845, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) goto _1 _1: ; i++ } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35706, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35414)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35852, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35560)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_declare_vtab(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) Xsqlite3_free(tls, zSql) @@ -197785,7 +199549,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV var _ /* zRankArgs at bp+8 */ uintptr _, _, _, _, _, _, _, _, _, _ = bVal, nAutomerge, nCrisisMerge, nHashSize, nUsermerge, nVal, pgsz, rc, zIn, v1 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35732) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35878) { pgsz = 0 if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -197796,7 +199560,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35737) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35883) { nHashSize = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -197807,7 +199571,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35746) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35892) { nAutomerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -197821,7 +199585,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35756) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35902) { nUsermerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -197832,7 +199596,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35766) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35912) { nCrisisMerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -197849,7 +199613,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35778) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35924) { nVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nVal = Xsqlite3_value_int(tls, pVal) @@ -197864,7 +199628,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } (*TFts5Config)(unsafe.Pointer(pConfig)).FnDeleteMerge = nVal } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35414) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35560) { zIn = Xsqlite3_value_text(tls, pVal) rc = _sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8) if rc == SQLITE_OK { @@ -197879,7 +199643,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35790) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35936) { bVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { bVal = Xsqlite3_value_int(tls, pVal) @@ -197921,7 +199685,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in var _ /* p at bp+0 */ uintptr var _ /* rc at bp+8 */ int32 _, _, _, _, _ = iVersion, pVal, zK, zSelect, zSql - zSelect = __ccgo_ts + 35804 + zSelect = __ccgo_ts + 35950 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_OK iVersion = 0 @@ -197941,7 +199705,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in for int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zK = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) pVal = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) - if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35836) { + if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35982) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 12)) = 0 @@ -197953,7 +199717,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && iVersion != int32(FTS5_CURRENT_VERSION) && iVersion != int32(FTS5_CURRENT_VERSION_SECUREDELETE) { *(*int32)(unsafe.Pointer(bp + 8)) = int32(SQLITE_ERROR) if (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35844, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35990, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = iVersion @@ -198174,7 +199938,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr } } if int32(*(*int8)(unsafe.Pointer(z2))) == int32('\000') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35915, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36061, 0) return FTS5_EOF } goto _1 @@ -198185,7 +199949,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(int64(z2)) - int64(int64(z))) default: if _sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35935, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36081, libc.VaList(bp+8, z)) return FTS5_EOF } tok = int32(FTS5_STRING) @@ -198200,13 +199964,13 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr z21++ } (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(int64(z21)) - int64(int64(z))) - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35966, uint64(2)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36112, uint64(2)) == 0 { tok = int32(FTS5_OR) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35969, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36115, uint64(3)) == 0 { tok = int32(FTS5_NOT) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30710, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30856, uint64(3)) == 0 { tok = int32(FTS5_AND) } break @@ -200278,8 +202042,8 @@ func _sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, pp func _sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+35973, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34754, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) + if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36119, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34900, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -200299,7 +202063,7 @@ func _sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, } c = *(*int8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) if int32(int32(c)) < int32('0') || int32(int32(c)) > int32('9') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35978, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36124, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) return } nNear = nNear*int32(10) + (int32(*(*int8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - int32('0')) @@ -200437,7 +202201,7 @@ func _sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p u iCol++ } if iCol == (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21020, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21152, libc.VaList(bp+8, z)) } else { pRet = _fts5ParseColset(tls, pParse, pColset, iCol) } @@ -200561,7 +202325,7 @@ func _sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pC var _ /* pFree at bp+0 */ uintptr *(*uintptr)(unsafe.Pointer(bp)) = pColset if (*TFts5Config)(unsafe.Pointer((*TFts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == int32(FTS5_DETAIL_NONE) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36007, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36153, 0) } else { _fts5ParseSetColset(tls, pParse, pExpr, pColset, bp) } @@ -200754,11 +202518,11 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin pPhrase = *(*uintptr)(unsafe.Pointer(pNear + 24)) if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase != int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*(*TFts5ExprTerm)(unsafe.Pointer(pPhrase + 32))).FbFirst != 0 { if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == int32(1) { - v2 = __ccgo_ts + 36060 + v2 = __ccgo_ts + 36206 } else { - v2 = __ccgo_ts + 35973 + v2 = __ccgo_ts + 36119 } - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36067, libc.VaList(bp+8, v2)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36213, libc.VaList(bp+8, v2)) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -200767,7 +202531,7 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin _fts5ExprAddChildren(tls, pRet, pLeft) _fts5ExprAddChildren(tls, pRet, pRight) if (*TFts5ExprNode)(unsafe.Pointer(pRet)).FiHeight > int32(SQLITE_FTS5_MAX_EXPR_DEPTH) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36117, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36263, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -202915,7 +204679,7 @@ func _fts5DataRead(tls *libc.TLS, p uintptr, iRowid Ti64) (r uintptr) { ** to the requested entry. */ if (*TFts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36170, iRowid, 0, p+72) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36316, iRowid, 0, p+72) } /* If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls ** above returned SQLITE_ERROR, return SQLITE_CORRUPT_VTAB instead. @@ -203008,7 +204772,7 @@ func _fts5DataWrite(tls *libc.TLS, p uintptr, iRowid Ti64, pData uintptr, nData } if (*TFts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36176, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36322, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return } @@ -203037,7 +204801,7 @@ func _fts5DataDelete(tls *libc.TLS, p uintptr, iFirst Ti64, iLast Ti64) { } if (*TFts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36227, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36373, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if _fts5IndexPrepareStmt(tls, p, p+88, zSql) != 0 { return } @@ -203071,7 +204835,7 @@ func _fts5DataRemoveSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { } if (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36276, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36422, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter, int32(1), iSegid) @@ -203240,7 +205004,7 @@ func _fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie ui } i = int32(4) /* Check if this is a V2 structure record. Set bStructureV2 if it is. */ - if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36316, uint64(4)) { + if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36462, uint64(4)) { i += int32(4) bStructureV2 = int32(1) } @@ -203431,7 +205195,7 @@ func _fts5IndexDataVersion(tls *libc.TLS, p uintptr) (r Ti64) { iVersion = 0 if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*TFts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) { - (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36321, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36467, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return 0 } @@ -203515,7 +205279,7 @@ func _fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { _sqlite3Fts5Put32(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, iCookie) (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = int32(4) if (*TFts5Structure)(unsafe.Pointer(pStruct)).FnOriginCntr > uint64(0) { - libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36316, uint64(4)) + libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36462, uint64(4)) *(*int32)(unsafe.Pointer(bp + 8)) += int32(4) } *(*int32)(unsafe.Pointer(bp + 8)) += _sqlite3Fts5PutVarint(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), uint64((*TFts5Structure)(unsafe.Pointer(pStruct)).FnLevel)) @@ -204890,7 +206654,7 @@ func _fts5IdxSelectStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36344, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36490, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect } @@ -204979,7 +206743,7 @@ func _fts5IdxNextStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36428, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36574, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect } @@ -206595,7 +208359,7 @@ func _fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { if (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { v1 = (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } else { - v1 = __ccgo_ts + 1652 + v1 = __ccgo_ts + 1666 } z = v1 /* The following was already done in fts5WriteInit(): */ @@ -206950,7 +208714,7 @@ func _fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { _sqlite3Fts5BufferSize(tls, p+60, pWriter+8+8, uint32(uint32(nBuffer))) if (*TFts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36510, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36656, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { /* Initialize the 4-byte leaf-page header to 0x00. */ @@ -207440,7 +209204,7 @@ func _fts5SecureDeleteIdxEntry(tls *libc.TLS, p uintptr, iSegid int32, iPgno int defer tls.Free(32) if iPgno != int32(1) { if (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx == uintptr(0) { - _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36567, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36713, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx, int32(1), iSegid) @@ -208930,7 +210694,7 @@ func _sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) (r int32) { if (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FbContentlessDelete != 0 { (*(*TFts5Structure)(unsafe.Pointer(bp))).FnOriginCntr = uint64(1) } - _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1652, 0) + _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1666, 0) _fts5StructureWrite(tls, p, bp) return _fts5IndexReturn(tls, p) } @@ -208957,11 +210721,11 @@ func _sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uin if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*TFts5Index)(unsafe.Pointer(p)).FnWorkUnit = int32(FTS5_WORK_UNIT) - (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36628, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36774, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25745, __ccgo_ts+36636, 0, pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25891, __ccgo_ts+36782, 0, pzErr) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11797, __ccgo_ts+36671, int32(1), pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11922, __ccgo_ts+36817, int32(1), pzErr) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5IndexReinit(tls, p) @@ -209495,7 +211259,7 @@ func _fts5SetupTokendataIter(tls *libc.TLS, p uintptr, pToken uintptr, nToken in pNew = _fts5MultiIterAlloc(tls, p, (*TFts5Structure)(unsafe.Pointer(pStruct)).FnSegment) if pSmall != 0 { _sqlite3Fts5BufferSet(tls, p+60, bp, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fn, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36715) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36861) } else { _sqlite3Fts5BufferSet(tls, p+60, bp, nToken, pToken) } @@ -210015,7 +211779,7 @@ func _sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) (r int32) pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig /* Binary representation of iNew */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) _sqlite3Fts5Put32(tls, bp, iNew) - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36170, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36316, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, int32(4), 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -210609,7 +212373,7 @@ func _fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { if (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { return } - _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36717, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) + _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36863, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) /* Iterate through the b-tree hierarchy. */ for (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { /* Data for this leaf */ zIdxTerm = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -210840,7 +212604,7 @@ func _sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum Tu64, bUseC } else { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = 0 _fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16))+104+uintptr((*(*TFts5CResult)(unsafe.Pointer((*TFts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FaFirst + 1*4))).FiFirst)*128, uintptr(0), bp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36803) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36949) for 0 == _sqlite3Fts5PoslistNext64(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn, bp+40, bp+32) { iCol = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) >> libc.Int32FromInt32(32)) iTokOff = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) & libc.Int64FromInt32(0x7FFFFFFF)) @@ -211428,7 +213192,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) bSeenMatch = 0 bSeenRank = 0 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36808, 0) + (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36954, 0) return int32(SQLITE_ERROR) } idxStr = Xsqlite3_malloc(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pInfo)).FnConstraint*int32(8)+int32(1)) @@ -211467,7 +213231,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v3 = iIdxStr iIdxStr++ *(*int8)(unsafe.Pointer(idxStr + uintptr(v3))) = int8('M') - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5142, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5206, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) } } @@ -211487,7 +213251,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v6 = int32('G') } *(*int8)(unsafe.Pointer(idxStr + uintptr(v5))) = int8(v6) - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5142, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5206, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) iCons++ v7 = iCons @@ -211925,7 +213689,7 @@ func _fts5NextMethod(tls *libc.TLS, pCursor uintptr) (r int32) { *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_EOF) rc = Xsqlite3_reset(tls, (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -211952,7 +213716,7 @@ func _fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt } else { rc = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -211987,21 +213751,21 @@ func _fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ if zRankArgs != 0 { - v1 = __ccgo_ts + 14994 + v1 = __ccgo_ts + 15087 } else { - v1 = __ccgo_ts + 1652 + v1 = __ccgo_ts + 1666 } if zRankArgs != 0 { v2 = zRankArgs } else { - v2 = __ccgo_ts + 1652 + v2 = __ccgo_ts + 1666 } if bDesc != 0 { - v3 = __ccgo_ts + 36847 + v3 = __ccgo_ts + 36993 } else { - v3 = __ccgo_ts + 36852 + v3 = __ccgo_ts + 36998 } - rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+36856, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) + rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+37002, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter if rc == SQLITE_OK { (*TFts5FullTable)(unsafe.Pointer(pTab)).FpSortCsr = pCsr @@ -212059,14 +213823,14 @@ func _fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr n++ } (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan = int32(FTS5_PLAN_SPECIAL) - if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+36911, z, n) { + if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+37057, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = int64(_sqlite3Fts5IndexReads(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex)) } else { - if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5485, z, n) { + if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5549, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { /* An unrecognized directive. Return an error message. */ - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36917, libc.VaList(bp+8, n, z)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37063, libc.VaList(bp+8, n, z)) rc = int32(SQLITE_ERROR) } } @@ -212116,7 +213880,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { zRank = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank zRankArgs = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36945, libc.VaList(bp+24, zRankArgs)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37091, libc.VaList(bp+24, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp+8, uintptr(0)) @@ -212149,7 +213913,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { pAux = _fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36955, libc.VaList(bp+24, zRank)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37101, libc.VaList(bp+24, zRank)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -212183,7 +213947,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_FREE_ZRANK) } else { if rc == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36976, libc.VaList(bp+24, z)) + (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37122, libc.VaList(bp+24, z)) } } } else { @@ -212191,7 +213955,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRank (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRankArgs } else { - (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 34908 + (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 35054 (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -212242,7 +214006,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint iIdxStr = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36808, 0) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36954, 0) return int32(SQLITE_ERROR) } if (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan != 0 { @@ -212264,7 +214028,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint case int32('M'): zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))) if zText == uintptr(0) { - zText = __ccgo_ts + 1652 + zText = __ccgo_ts + 1666 } iCol = 0 for cond := true; cond; cond = int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= int32('9') { @@ -212386,7 +214150,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint } } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent == uintptr(0) { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37009, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37155, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = int32(SQLITE_ERROR) } else { /* This is either a full-table scan (ePlan==FTS5_PLAN_SCAN) or a lookup @@ -212524,7 +214288,7 @@ func _fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) (r int32) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< int32(1) { - v1 = __ccgo_ts + 20873 + v1 = __ccgo_ts + 21005 } else { - v1 = __ccgo_ts + 37287 + v1 = __ccgo_ts + 37433 } - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37299, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37445, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if nArg == int32(1) { @@ -212781,7 +214545,7 @@ func _fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && bUpdateOrDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FbSecureDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion == int32(FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35836, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35982, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = int32(FTS5_CURRENT_VERSION_SECUREDELETE) } @@ -213577,7 +215341,7 @@ func _fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) iCsrId = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) pCsr = _fts5CursorFromCsrid(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId) if pCsr == uintptr(0) || (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37336, libc.VaList(bp+8, iCsrId)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37482, libc.VaList(bp+8, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } else { @@ -213768,7 +215532,7 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = uintptr(0) } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 && Xsqlite3_vtab_nochange(tls, pCtx) != 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37357, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37503, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -214010,7 +215774,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr pMod = _fts5LocateTokenizer(tls, pGlobal, v1) if pMod == uintptr(0) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37428, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37574, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) } else { if azArg != 0 { v2 = azArg + 1*8 @@ -214026,7 +215790,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr (*TFts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16 if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37450, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37596, 0) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FePattern = _sqlite3Fts5TokenizerPattern(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate, (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok) @@ -214081,7 +215845,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { _, _ = pGlobal, ppApi pGlobal = Xsqlite3_user_data(tls, pCtx) _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37481) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37627) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal } @@ -214095,7 +215859,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { func _fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37494, -int32(1), uintptr(-libc.Int32FromInt32(1))) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37640, -int32(1), uintptr(-libc.Int32FromInt32(1))) } // C documentation @@ -214124,11 +215888,11 @@ func _fts5ShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName2 = [5]uintptr{ - 0: __ccgo_ts + 37585, - 1: __ccgo_ts + 35097, - 2: __ccgo_ts + 25745, - 3: __ccgo_ts + 35664, - 4: __ccgo_ts + 11797, + 0: __ccgo_ts + 37731, + 1: __ccgo_ts + 35243, + 2: __ccgo_ts + 25891, + 3: __ccgo_ts + 35810, + 4: __ccgo_ts + 11922, } // C documentation @@ -214142,20 +215906,26 @@ func _fts5IntegrityMethod(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zTabnam bp := tls.Alloc(32) defer tls.Free(32) var pTab uintptr - var rc int32 - _, _ = pTab, rc + var rc, v1 int32 + _, _, _ = pTab, rc, v1 pTab = pVtab _ = isQuick rc = _sqlite3Fts5StorageIntegrity(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, 0) if rc&int32(0xff) == int32(SQLITE_CORRUPT) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37592, libc.VaList(bp+8, zSchema, zTabname)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37738, libc.VaList(bp+8, zSchema, zTabname)) + if *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { + v1 = SQLITE_OK + } else { + v1 = int32(SQLITE_NOMEM) + } + rc = v1 } else { if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37638, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37784, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) } } _sqlite3Fts5IndexCloseReader(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) - return SQLITE_OK + return rc } func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { @@ -214174,7 +215944,7 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateFunction = __ccgo_fp(_fts5CreateAux) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateTokenizer = __ccgo_fp(_fts5CreateTokenizer) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = __ccgo_fp(_fts5FindTokenizer) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37701, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37847, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) if rc == SQLITE_OK { rc = _sqlite3Fts5IndexInit(tls, db) } @@ -214191,10 +215961,10 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { rc = _sqlite3Fts5VocabInit(tls, pGlobal, db) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37701, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37847, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37706, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37852, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) } } /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file @@ -214297,17 +216067,17 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, ** statements to operate on it. */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { azStmt = [11]uintptr{ - 0: __ccgo_ts + 37721, - 1: __ccgo_ts + 37789, - 2: __ccgo_ts + 37858, - 3: __ccgo_ts + 37891, - 4: __ccgo_ts + 37930, - 5: __ccgo_ts + 37970, - 6: __ccgo_ts + 38009, - 7: __ccgo_ts + 38052, - 8: __ccgo_ts + 38091, - 9: __ccgo_ts + 38135, - 10: __ccgo_ts + 38175, + 0: __ccgo_ts + 37867, + 1: __ccgo_ts + 37935, + 2: __ccgo_ts + 38004, + 3: __ccgo_ts + 38037, + 4: __ccgo_ts + 38076, + 5: __ccgo_ts + 38116, + 6: __ccgo_ts + 38155, + 7: __ccgo_ts + 38198, + 8: __ccgo_ts + 38237, + 9: __ccgo_ts + 38281, + 10: __ccgo_ts + 38321, } pC = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig zSql = uintptr(0) @@ -214344,16 +216114,16 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, } case int32(FTS5_STMT_REPLACE_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v2 = __ccgo_ts + 38198 + v2 = __ccgo_ts + 38344 } else { - v2 = __ccgo_ts + 1652 + v2 = __ccgo_ts + 1666 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName, v2)) case int32(FTS5_STMT_LOOKUP_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v3 = __ccgo_ts + 38201 + v3 = __ccgo_ts + 38347 } else { - v3 = __ccgo_ts + 1652 + v3 = __ccgo_ts + 1666 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, v3, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName)) default: @@ -214372,7 +216142,7 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, (*TFts5Config)(unsafe.Pointer((*TFts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if rc != SQLITE_OK && pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3799, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3863, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -214409,12 +216179,12 @@ func _sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) (r int32) { defer tls.Free(64) var rc int32 _ = rc - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38209, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38355, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38313, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38459, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38351, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38497, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } @@ -214423,7 +216193,7 @@ func _fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail ui bp := tls.Alloc(48) defer tls.Free(48) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38389, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) + *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38535, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -214435,14 +216205,14 @@ func _sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) ( _ = pConfig pConfig = (*TFts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageSync(tls, pStorage) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25745, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11797, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37585, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25891, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11922, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37731, zName) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35664, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35810, zName) } if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35097, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35243, zName) } return *(*int32)(unsafe.Pointer(bp)) } @@ -214462,13 +216232,13 @@ func _sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDef _, _ = rc, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if bWithout != 0 { - v1 = __ccgo_ts + 30385 + v1 = __ccgo_ts + 30531 } else { - v1 = __ccgo_ts + 1652 + v1 = __ccgo_ts + 1666 } - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38431, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38577, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38461, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38607, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) } return rc @@ -214509,36 +216279,36 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr if zDefn == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38505, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38651, 0) iOff = int32(libc.Xstrlen(tls, zDefn)) i = 0 for { if !(i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } - Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38528, libc.VaList(bp+8, i)) + Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38674, libc.VaList(bp+8, i)) iOff += int32(libc.Xstrlen(tls, zDefn+uintptr(iOff))) goto _2 _2: ; i++ } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35097, zDefn, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35243, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - zCols = __ccgo_ts + 38534 + zCols = __ccgo_ts + 38680 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 { - zCols = __ccgo_ts + 38566 + zCols = __ccgo_ts + 38712 } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35664, zCols, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35810, zCols, 0, pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37585, __ccgo_ts+38614, int32(1), pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37731, __ccgo_ts+38760, int32(1), pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35836, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35982, uintptr(0), int32(FTS5_CURRENT_VERSION)) } } if rc != 0 { @@ -214880,9 +216650,9 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig (*TFts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 /* Delete the contents of the %_data and %_docsize tables. */ - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38631, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38777, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38681, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38827, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } /* Reinitialize the %_data table. This call creates the initial structure ** and averages records. */ @@ -214890,7 +216660,7 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3Fts5IndexReinit(tls, (*TFts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35836, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35982, uintptr(0), int32(FTS5_CURRENT_VERSION)) } return rc } @@ -215104,7 +216874,7 @@ func _fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var _ /* pCnt at bp+0 */ uintptr _, _, _ = pConfig, rc, zSql pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38710, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38856, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -215314,14 +217084,14 @@ func _sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) (r int32 ** number of rows. */ if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { *(*Ti64)(unsafe.Pointer(bp + 48)) = 0 - rc = _fts5StorageCount(tls, p, __ccgo_ts+35097, bp+48) + rc = _fts5StorageCount(tls, p, __ccgo_ts+35243, bp+48) if rc == SQLITE_OK && *(*Ti64)(unsafe.Pointer(bp + 48)) != (*TFts5Storage)(unsafe.Pointer(p)).FnTotalRow { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) } @@ -216523,64 +218293,64 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38812, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38958, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38815, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38961, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38820, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38966, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('e'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38825, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38971, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38828, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38974, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('l'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38831, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38977, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38836, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38982, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38841, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38987, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38845, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38991, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38851, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38997, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38856, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39002, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -216589,49 +218359,49 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38860, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39006, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38864, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39010, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } } case int32('s'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38867, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39013, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('t'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38871, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39017, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38875, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39021, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38879, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39025, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38883, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39029, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('z'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38887, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39033, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -216648,20 +218418,20 @@ func _fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38891, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38871, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39037, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39017, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('b'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38894, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38897, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39040, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39043, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38901, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38887, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39047, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39033, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } @@ -216677,75 +218447,75 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38904, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39050, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38871, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39017, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38912, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39058, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38919, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39065, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(4) } } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38924, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39070, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38820, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38966, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38929, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39075, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38815, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38961, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } } case int32('e'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38934, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39080, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38887, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39033, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('g'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38939, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39085, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15911, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15990, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('l'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38944, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39090, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38897, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39043, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38948, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39094, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38812, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38958, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38953, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39099, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38856, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39002, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38959, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39105, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38963, uint64(1)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39109, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(1) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38965, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39111, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38879, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39025, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } @@ -216754,48 +218524,48 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38971, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39117, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38887, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39033, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38979, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39125, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38871, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39017, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38985, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39131, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38871, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39017, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } } } case int32('s'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38990, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39136, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38812, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38958, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38996, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39142, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38883, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39029, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39004, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39150, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39012, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39158, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39016, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39162, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38879, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39025, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } @@ -216803,21 +218573,21 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39024, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39170, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38812, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38958, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39030, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39176, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38883, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39029, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39036, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39182, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38897, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39043, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(3) } } @@ -216835,48 +218605,48 @@ func _fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39043, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39189, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38828, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38974, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } case int32('s'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39048, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39194, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39053, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39199, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38828, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38974, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39059, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39205, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38828, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38974, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39012, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39158, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39065, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39211, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } case int32('z'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39071, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39217, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38812, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38958, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } @@ -216892,13 +218662,13 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('e'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39077, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39223, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39081, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39227, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(2) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39084, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39230, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) ret = int32(1) @@ -216906,7 +218676,7 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39087, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39233, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) ret = int32(1) @@ -217067,14 +218837,14 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p break } zArg = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+int32(1))*8)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39091) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39237) { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { (*TTrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('0')) } } else { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38784) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38930) { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('2') || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { @@ -217348,7 +219118,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { Fx Tfts5_tokenizer }{ 0: { - FzName: __ccgo_ts + 38802, + FzName: __ccgo_ts + 38948, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5UnicodeCreate), FxDelete: __ccgo_fp(_fts5UnicodeDelete), @@ -217356,7 +219126,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 1: { - FzName: __ccgo_ts + 39106, + FzName: __ccgo_ts + 39252, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5AsciiCreate), FxDelete: __ccgo_fp(_fts5AsciiDelete), @@ -217364,7 +219134,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 2: { - FzName: __ccgo_ts + 39112, + FzName: __ccgo_ts + 39258, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5PorterCreate), FxDelete: __ccgo_fp(_fts5PorterDelete), @@ -217372,7 +219142,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 3: { - FzName: __ccgo_ts + 39119, + FzName: __ccgo_ts + 39265, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5TriCreate), FxDelete: __ccgo_fp(_fts5TriDelete), @@ -222906,16 +224676,16 @@ func _fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uin zCopy = _sqlite3Fts5Strndup(tls, bp, zType, -int32(1)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { _sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39127) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39273) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39131) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39277) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_ROW) } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39135) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39281) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_INSTANCE) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39144, libc.VaList(bp+16, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39290, libc.VaList(bp+16, zCopy)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -222984,15 +224754,15 @@ func _fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg var _ /* rc at bp+0 */ int32 _, _, _, _, _, _, _, _, _, _, _, _ = azSchema, bDb, nByte, nDb, nTab, pRet, zDb, zTab, zType, v1, v2, v3 azSchema = [3]uintptr{ - 0: __ccgo_ts + 39178, - 1: __ccgo_ts + 39218, - 2: __ccgo_ts + 39253, + 0: __ccgo_ts + 39324, + 1: __ccgo_ts + 39364, + 2: __ccgo_ts + 39399, } pRet = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23746, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) + bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23869, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) if argc != int32(5) && bDb == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39296, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39442, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bDb != 0 { @@ -223162,10 +224932,10 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) zSql = uintptr(0) if (*TFts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39329, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39475, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return int32(SQLITE_ERROR) } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39360, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39506, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, (*TFts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), bp+8, uintptr(0)) } @@ -223184,7 +224954,7 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39411, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39557, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } else { @@ -223486,7 +225256,7 @@ func _fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnuse if pLe != 0 { zCopy = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = __ccgo_ts + 1652 + zCopy = __ccgo_ts + 1666 } (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm+int32(1)) @@ -223610,7 +225380,7 @@ func _sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) (r int32) var p uintptr _ = p p = pGlobal - return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39437, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39583, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) } var _fts5Vocab = Tsqlite3_module{ @@ -223663,7 +225433,7 @@ func init() { // /************** End of stmt.c ************************************************/ // /* Return the source-id for this library */ func Xsqlite3_sourceid(tls *libc.TLS) (r uintptr) { - return __ccgo_ts + 39447 + return __ccgo_ts + 39593 } type TAggInfo_col = struct { @@ -223945,11 +225715,11 @@ var Xsqlite3_temp_directory uintptr // ** // ** See also: [sqlite_version()] and [sqlite_source_id()]. // */ -var Xsqlite3_version = [7]int8{'3', '.', '4', '5', '.', '3'} +var Xsqlite3_version = [7]int8{'3', '.', '4', '6', '.', '0'} var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data -var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-12.2.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_PTHREADS\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%04d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00PRAGMA \"%w\".integrity_check(%Q)\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00RIGHT PART OF \x00USE TEMP B-TREE FOR %sORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00" +var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-12.2.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_PTHREADS\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00" type Sqlite3_int64 = sqlite3_int64 type Sqlite3_mutex_methods = sqlite3_mutex_methods diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go index adea149392..49eb1ec10a 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go @@ -1,4 +1,4 @@ -// Code generated for linux/arm by 'generator --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -extended-errors -o sqlite3.go sqlite3.c -I/tmp/libsqlite3/sqlite-amalgamation-3450300/ccgo -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. +// Code generated for linux/arm by 'generator --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libz/include/linux/arm -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libtcl8.6/include/linux/arm -extended-errors -o sqlite3.go sqlite3.c -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. //go:build linux && arm // +build linux,arm @@ -1032,6 +1032,7 @@ const OPFLG_IN1 = 2 const OPFLG_IN2 = 4 const OPFLG_IN3 = 8 const OPFLG_JUMP = 1 +const OPFLG_JUMP0 = 128 const OPFLG_NCYCLE = 64 const OPFLG_OUT2 = 16 const OPFLG_OUT3 = 32 @@ -1109,7 +1110,7 @@ const OP_IfNotOpen = 25 const OP_IfNotZero = 60 const OP_IfNullRow = 20 const OP_IfPos = 59 -const OP_IfSmaller = 33 +const OP_IfSizeBetween = 33 const OP_IncrVacuum = 62 const OP_Init = 8 const OP_InitCoroutine = 11 @@ -1513,6 +1514,7 @@ const SF_ComplexResult = 262144 const SF_Compound = 256 const SF_Converted = 65536 const SF_CopyCte = 67108864 +const SF_Correlated = 536870912 const SF_Distinct = 1 const SF_Expanded = 64 const SF_FixedLimit = 16384 @@ -1785,6 +1787,7 @@ const SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT = -1 const SQLITE_DEFAULT_LOOKASIDE = 40 const SQLITE_DEFAULT_MEMSTATUS = 0 const SQLITE_DEFAULT_MMAP_SIZE = 0 +const SQLITE_DEFAULT_OPTIMIZE_LIMIT = 2000 const SQLITE_DEFAULT_PAGE_SIZE = 4096 const SQLITE_DEFAULT_PCACHE_INITSZ = 20 const SQLITE_DEFAULT_PROXYDIR_PERMISSIONS = 493 @@ -1802,6 +1805,7 @@ const SQLITE_DESERIALIZE_READONLY = 4 const SQLITE_DESERIALIZE_RESIZEABLE = 2 const SQLITE_DETACH = 25 const SQLITE_DETERMINISTIC = 2048 +const SQLITE_DIGIT_SEPARATOR = 95 const SQLITE_DIRECTONLY = 524288 const SQLITE_DIRECT_OVERFLOW_READ = 1 const SQLITE_DONE = 101 @@ -2226,7 +2230,7 @@ const SQLITE_SHM_SHARED = 4 const SQLITE_SHM_UNLOCK = 1 const SQLITE_SORTER_PMASZ = 250 const SQLITE_SOUNDEX = 1 -const SQLITE_SOURCE_ID = "2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355" +const SQLITE_SOURCE_ID = "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e" const SQLITE_SO_ASC = 0 const SQLITE_SO_DESC = 1 const SQLITE_SO_UNDEFINED = -1 @@ -2334,8 +2338,8 @@ const SQLITE_UTF16LE = 2 const SQLITE_UTF16NATIVE = 2 const SQLITE_UTF16_ALIGNED = 8 const SQLITE_UTF8 = 1 -const SQLITE_VERSION = "3.45.3" -const SQLITE_VERSION_NUMBER = 3045003 +const SQLITE_VERSION = "3.46.0" +const SQLITE_VERSION_NUMBER = 3046000 const SQLITE_VTABRISK_High = 2 const SQLITE_VTABRISK_Low = 0 const SQLITE_VTABRISK_Normal = 1 @@ -2496,11 +2500,11 @@ const TF_HasStat1 = 16 const TF_HasStat4 = 8192 const TF_HasStored = 64 const TF_HasVirtual = 32 +const TF_MaybeReanalyze = 256 const TF_NoVisibleRowid = 512 const TF_OOOHidden = 1024 const TF_Readonly = 1 const TF_Shadow = 4096 -const TF_StatsUsed = 256 const TF_Strict = 65536 const TF_WithoutRowid = 128 const TIMER_ABSTIME = 1 @@ -2657,7 +2661,7 @@ const TK_ID = 59 const TK_IF = 18 const TK_IF_NULL_ROW = 179 const TK_IGNORE = 63 -const TK_ILLEGAL = 184 +const TK_ILLEGAL = 185 const TK_IMMEDIATE = 8 const TK_IN = 49 const TK_INDEX = 161 @@ -2705,6 +2709,7 @@ const TK_PRAGMA = 70 const TK_PRECEDING = 88 const TK_PRIMARY = 122 const TK_PTR = 112 +const TK_QNUMBER = 183 const TK_QUERY = 3 const TK_RAISE = 71 const TK_RANGE = 89 @@ -2729,7 +2734,7 @@ const TK_SELECT_COLUMN = 178 const TK_SEMI = 1 const TK_SET = 130 const TK_SLASH = 109 -const TK_SPACE = 183 +const TK_SPACE = 184 const TK_SPAN = 181 const TK_STAR = 108 const TK_STRING = 117 @@ -2742,12 +2747,12 @@ const TK_TRANSACTION = 6 const TK_TRIGGER = 77 const TK_TRUEFALSE = 170 const TK_TRUTH = 175 -const TK_UMINUS = 173 +const TK_UMINUS = 174 const TK_UNBOUNDED = 90 const TK_UNION = 134 const TK_UNIQUE = 123 const TK_UPDATE = 129 -const TK_UPLUS = 174 +const TK_UPLUS = 173 const TK_USING = 144 const TK_VACUUM = 78 const TK_VALUES = 139 @@ -2903,31 +2908,37 @@ const W_OK = 2 const XN_EXPR = -2 const XN_ROWID = -1 const X_OK = 1 +const YYDYNSTACK = 1 const YYFALLBACK = 1 +const YYFREE = 0 +const YYGROWABLESTACK = 1 const YYMALLOCARGTYPE = 0 -const YYNOCODE = 319 +const YYNOCODE = 322 const YYNOERRORRECOVERY = 1 -const YYNRULE = 405 -const YYNRULE_WITH_ACTION = 340 -const YYNSTATE = 579 -const YYNTOKEN = 185 +const YYNRULE = 409 +const YYNRULE_WITH_ACTION = 344 +const YYNSTATE = 583 +const YYNTOKEN = 186 const YYPARSEFREENEVERNULL = 1 +const YYREALLOC = 0 const YYSTACKDEPTH = 100 const YYWILDCARD = 101 -const YY_ACCEPT_ACTION = 1244 -const YY_ACTTAB_COUNT = 2100 -const YY_ERROR_ACTION = 1243 -const YY_MAX_REDUCE = 1650 -const YY_MAX_SHIFT = 578 -const YY_MAX_SHIFTREDUCE = 1242 -const YY_MIN_REDUCE = 1246 -const YY_MIN_SHIFTREDUCE = 838 -const YY_NO_ACTION = 1245 -const YY_REDUCE_COUNT = 410 -const YY_REDUCE_MAX = 1753 -const YY_REDUCE_MIN = -271 -const YY_SHIFT_COUNT = 578 -const YY_SHIFT_MAX = 2088 +const YY_ACCEPT_ACTION = 1255 +const YY_ACTTAB_COUNT = 2142 +const YY_ERROR_ACTION = 1254 +const YY_MAX_DSTRCTR = 319 +const YY_MAX_REDUCE = 1665 +const YY_MAX_SHIFT = 582 +const YY_MAX_SHIFTREDUCE = 1253 +const YY_MIN_DSTRCTR = 205 +const YY_MIN_REDUCE = 1257 +const YY_MIN_SHIFTREDUCE = 845 +const YY_NO_ACTION = 1256 +const YY_REDUCE_COUNT = 411 +const YY_REDUCE_MAX = 1798 +const YY_REDUCE_MIN = -275 +const YY_SHIFT_COUNT = 582 +const YY_SHIFT_MAX = 2128 const YY_SHIFT_MIN = 0 const _ALLOCA_H = 1 const _ASSERT_H = 1 @@ -3655,6 +3666,9 @@ const fdatasync = 0 const first_valueInvFunc = 0 const first_valueValueFunc = 0 const fts5GetVarint = 0 +const fts5YYDYNSTACK = 0 +const fts5YYFREE = 0 +const fts5YYGROWABLESTACK = 0 const fts5YYMALLOCARGTYPE = 0 const fts5YYNFTS5TOKEN = 16 const fts5YYNOCODE = 27 @@ -3663,13 +3677,16 @@ const fts5YYNRULE = 28 const fts5YYNRULE_WITH_ACTION = 28 const fts5YYNSTATE = 35 const fts5YYPARSEFREENOTNULL = 1 +const fts5YYREALLOC = 0 const fts5YYSTACKDEPTH = 100 const fts5YY_ACCEPT_ACTION = 81 const fts5YY_ACTTAB_COUNT = 105 const fts5YY_ERROR_ACTION = 80 +const fts5YY_MAX_DSTRCTR = 24 const fts5YY_MAX_REDUCE = 110 const fts5YY_MAX_SHIFT = 34 const fts5YY_MAX_SHIFTREDUCE = 79 +const fts5YY_MIN_DSTRCTR = 16 const fts5YY_MIN_REDUCE = 83 const fts5YY_MIN_SHIFTREDUCE = 52 const fts5YY_NO_ACTION = 82 @@ -4096,11 +4113,11 @@ type sqlite3_file1 = Tsqlite3_file1 // ** // ** xLock() upgrades the database file lock. In other words, xLock() moves the // ** database file lock in the direction NONE toward EXCLUSIVE. The argument to -// ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never +// ** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never // ** SQLITE_LOCK_NONE. If the database file lock is already at or above the // ** requested lock, then the call to xLock() is a no-op. // ** xUnlock() downgrades the database file lock to either SHARED or NONE. -// * If the lock is already at or below the requested lock state, then the call +// ** If the lock is already at or below the requested lock state, then the call // ** to xUnlock() is a no-op. // ** The xCheckReservedLock() method checks whether any database connection, // ** either in this process or in some other process, is holding a RESERVED, @@ -5892,6 +5909,7 @@ type Tsqlite3_changegroup = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -6218,8 +6236,8 @@ type Fts5PhraseIter1 = TFts5PhraseIter1 ** EXTENSION API FUNCTIONS ** ** xUserData(pFts): -** Return a copy of the context pointer the extension function was -** registered with. +** Return a copy of the pUserData pointer passed to the xCreateFunction() +** API when the extension function was registered. ** ** xColumnTotalSize(pFts, iCol, pnToken): ** If parameter iCol is less than zero, set output variable *pnToken @@ -7991,7 +8009,7 @@ type uptr = Tuptr ** 0x00000010 Display sqlite3_index_info xBestIndex calls ** 0x00000020 Range an equality scan metrics ** 0x00000040 IN operator decisions -** 0x00000080 WhereLoop cost adjustements +** 0x00000080 WhereLoop cost adjustments ** 0x00000100 ** 0x00000200 Covering index decisions ** 0x00000400 OR optimization @@ -8506,6 +8524,7 @@ type TParse = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -8732,6 +8751,7 @@ type TSrcItem = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -11052,10 +11072,12 @@ type IdList1 = TIdList1 ** ** Union member validity: ** -** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc -** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy -** u2.pIBIndex fg.isIndexedBy && !fg.isCte -** u2.pCteUse fg.isCte && !fg.isIndexedBy +** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc +** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy +** u1.nRow !fg.isTabFunc && !fg.isIndexedBy +** +** u2.pIBIndex fg.isIndexedBy && !fg.isCte +** u2.pCteUse fg.isCte && !fg.isIndexedBy */ type TSrcItem1 = struct { F__ccgo_align [0]uint32 @@ -11083,6 +11105,7 @@ type TSrcItem1 = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -11487,6 +11510,7 @@ type TParse1 = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -12851,12 +12875,12 @@ var _sqlite3WhereTrace = uint32(0) var _sqlite3OpcodeProperty = [190]uint8{ 4: uint8(0x10), 6: uint8(0x41), - 8: uint8(0x01), + 8: uint8(0x81), 9: uint8(0x01), 10: uint8(0x01), - 11: uint8(0x01), - 12: uint8(0x03), - 13: uint8(0x03), + 11: uint8(0x81), + 12: uint8(0x83), + 13: uint8(0x83), 14: uint8(0x01), 15: uint8(0x01), 16: uint8(0x03), @@ -12864,22 +12888,22 @@ var _sqlite3OpcodeProperty = [190]uint8{ 18: uint8(0x01), 19: uint8(0x12), 20: uint8(0x01), - 21: uint8(0x49), - 22: uint8(0x49), - 23: uint8(0x49), - 24: uint8(0x49), + 21: uint8(0xc9), + 22: uint8(0xc9), + 23: uint8(0xc9), + 24: uint8(0xc9), 25: uint8(0x01), 26: uint8(0x49), 27: uint8(0x49), 28: uint8(0x49), 29: uint8(0x49), - 30: uint8(0x49), + 30: uint8(0xc9), 31: uint8(0x49), - 32: uint8(0x41), + 32: uint8(0xc1), 33: uint8(0x01), 34: uint8(0x41), 35: uint8(0x41), - 36: uint8(0x41), + 36: uint8(0xc1), 37: uint8(0x01), 38: uint8(0x41), 39: uint8(0x41), @@ -12891,7 +12915,7 @@ var _sqlite3OpcodeProperty = [190]uint8{ 45: uint8(0x41), 46: uint8(0x23), 47: uint8(0x0b), - 48: uint8(0x01), + 48: uint8(0x81), 49: uint8(0x01), 50: uint8(0x03), 51: uint8(0x03), @@ -13783,7 +13807,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin var pMutex, v1 uintptr _, _ = pMutex, v1 if op < 0 || op >= int32(libc.Uint32FromInt64(40)/libc.Uint32FromInt64(4)) { - return _sqlite3MisuseError(tls, int32(23890)) + return _sqlite3MisuseError(tls, int32(23961)) } if _statMutex[op] != 0 { v1 = _sqlite3Pcache1Mutex(tls) @@ -14156,13 +14180,11 @@ type TDateTime = struct { Ftz int32 Fs float64 FvalidJD uint8 - FrawS uint8 FvalidYMD uint8 FvalidHMS uint8 - FvalidTZ uint8 - FtzSet uint8 - FisError uint8 - FuseSubsec uint8 + FnFloor uint8 + F__ccgo44 uint8 + F__ccgo_pad17 [3]byte } type DateTime = TDateTime @@ -14178,13 +14200,11 @@ type TDateTime1 = struct { Ftz int32 Fs float64 FvalidJD uint8 - FrawS uint8 FvalidYMD uint8 FvalidHMS uint8 - FvalidTZ uint8 - FtzSet uint8 - FisError uint8 - FuseSubsec uint8 + FnFloor uint8 + F__ccgo44 uint8 + F__ccgo_pad17 [3]byte } type DateTime1 = TDateTime1 @@ -14311,6 +14331,8 @@ func _parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { } else { if c == int32('Z') || c == int32('z') { zDate++ + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) goto zulu_time } else { return libc.BoolInt32(c != 0) @@ -14329,7 +14351,6 @@ zulu_time: for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(zDate))])&int32(0x01) != 0 { zDate++ } - (*TDateTime)(unsafe.Pointer(p)).FtzSet = uint8(1) return libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zDate))) != 0) } @@ -14346,11 +14367,10 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var ms, rScale float64 - var v1 int32 var _ /* h at bp+0 */ int32 var _ /* m at bp+4 */ int32 var _ /* s at bp+8 */ int32 - _, _, _ = ms, rScale, v1 + _, _ = ms, rScale ms = float64(0) if _getDigits(tls, zDate, __ccgo_ts+1162, libc.VaList(bp+24, bp, bp+4)) != int32(2) { return int32(1) @@ -14376,7 +14396,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { *(*int32)(unsafe.Pointer(bp + 8)) = 0 } (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) (*TDateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp)) (*TDateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 4)) @@ -14384,12 +14404,6 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { if _parseTimezone(tls, zDate, p) != 0 { return int32(1) } - if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { - v1 = int32(1) - } else { - v1 = 0 - } - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(v1) return 0 } @@ -14400,7 +14414,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { // */ func _datetimeError(tls *libc.TLS, p uintptr) { libc.Xmemset(tls, p, 0, uint32(48)) - (*TDateTime)(unsafe.Pointer(p)).FisError = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 1, 0x2) } // C documentation @@ -14426,7 +14440,7 @@ func _computeJD(tls *libc.TLS, p uintptr) { M = int32(1) D = int32(1) } - if Y < -int32(4713) || Y > int32(9999) || (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Y < -int32(4713) || Y > int32(9999) || int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { _datetimeError(tls, p) return } @@ -14442,11 +14456,44 @@ func _computeJD(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) if (*TDateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) += int64((*TDateTime)(unsafe.Pointer(p)).Fh*int32(3600000)+(*TDateTime)(unsafe.Pointer(p)).Fm*int32(60000)) + int64((*TDateTime)(unsafe.Pointer(p)).Fs*libc.Float64FromInt32(1000)+libc.Float64FromFloat64(0.5)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64((*TDateTime)(unsafe.Pointer(p)).Ftz * int32(60000)) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + } + } +} + +// C documentation +// +// /* +// ** Given the YYYY-MM-DD information current in p, determine if there +// ** is day-of-month overflow and set nFloor to the number of days that +// ** would need to be subtracted from the date in order to bring the +// ** date back to the end of the month. +// */ +func _computeFloor(tls *libc.TLS, p uintptr) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if (*TDateTime)(unsafe.Pointer(p)).FD <= int32(28) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } else { + if int32(1)<<(*TDateTime)(unsafe.Pointer(p)).FM&int32(0x15aa) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FM != int32(2) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = libc.BoolUint8((*TDateTime)(unsafe.Pointer(p)).FD == libc.Int32FromInt32(31)) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FY%int32(4) != 0 || (*TDateTime)(unsafe.Pointer(p)).FY%int32(100) == 0 && (*TDateTime)(unsafe.Pointer(p)).FY%int32(400) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8((*TDateTime)(unsafe.Pointer(p)).FD - int32(28)) + } else { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8((*TDateTime)(unsafe.Pointer(p)).FD - int32(29)) + } + } } } } @@ -14505,12 +14552,15 @@ func _parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FY = v1 (*TDateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 4)) (*TDateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 8)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + _computeFloor(tls, p) + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { _computeJD(tls, p) } return 0 } +/* Forward declaration */ + // C documentation // // /* @@ -14522,6 +14572,9 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) (*TDateTime)(unsafe.Pointer(p)).FiJD = _sqlite3StmtCurrentTime(tls, context) if (*TDateTime)(unsafe.Pointer(p)).FiJD > 0 { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + _clearYMD_HMS_TZ(tls, p) return 0 } else { return int32(1) @@ -14539,7 +14592,7 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) // */ func _setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { (*TDateTime)(unsafe.Pointer(p)).Fs = r - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 0, 0x1) if r >= float64(0) && r < float64(5.3734845e+06) { (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r*libc.Float64FromFloat64(8.64e+07) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) @@ -14582,7 +14635,7 @@ func _parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) return 0 } else { if (_sqlite3StrICmp(tls, zDate, __ccgo_ts+1190) == 0 || _sqlite3StrICmp(tls, zDate, __ccgo_ts+1197) == 0) && _sqlite3NotPureFunc(tls, context) != 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) return _setDateTimeToCurrent(tls, context, p) } } @@ -14674,7 +14727,7 @@ func _computeHMS(tls *libc.TLS, p uintptr) { day_min = day_ms / int32(60000) (*TDateTime)(unsafe.Pointer(p)).Fm = day_min % int32(60) (*TDateTime)(unsafe.Pointer(p)).Fh = day_min / int32(60) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) } @@ -14696,7 +14749,7 @@ func _computeYMD_HMS(tls *libc.TLS, p uintptr) { func _clearYMD_HMS_TZ(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 } /* @@ -14797,9 +14850,9 @@ func _toLocaltime(tls *libc.TLS, p uintptr, pCtx uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FisError = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 1, 0x2) return SQLITE_OK } @@ -14847,13 +14900,13 @@ var _aXformType = [6]struct { FnName: uint8(5), FzName: [7]uint8{'m', 'o', 'n', 't', 'h'}, FrLimit: float32(176546), - FrXform: float32(2.592e+06), + FrXform: float32(libc.Float64FromFloat64(30) * libc.Float64FromFloat64(86400)), }, 5: { FnName: uint8(4), FzName: [7]uint8{'y', 'e', 'a', 'r'}, FrLimit: float32(14713), - FrXform: float32(3.1536e+07), + FrXform: float32(libc.Float64FromFloat64(365) * libc.Float64FromFloat64(86400)), }, } @@ -14867,15 +14920,15 @@ var _aXformType = [6]struct { func _autoAdjustDate(tls *libc.TLS, p uintptr) { var r float64 _ = r - if !((*TDateTime)(unsafe.Pointer(p)).FrawS != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + if !(int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } else { if (*TDateTime)(unsafe.Pointer(p)).Fs >= float64(int64(-libc.Int32FromInt32(21086676))*libc.Int64FromInt32(10000)) && (*TDateTime)(unsafe.Pointer(p)).Fs <= float64(libc.Int64FromInt32(25340230)*libc.Int64FromInt32(10000)+libc.Int64FromInt32(799)) { r = (*TDateTime)(unsafe.Pointer(p)).Fs*float64(1000) + float64(2.1086676e+14) _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } } @@ -14892,14 +14945,20 @@ func _autoAdjustDate(tls *libc.TLS, p uintptr) { // ** NNN.NNNN seconds // ** NNN months // ** NNN years +// ** +/-YYYY-MM-DD HH:MM:SS.SSS +// ** ceiling +// ** floor // ** start of month // ** start of year // ** start of week // ** start of day // ** weekday N // ** unixepoch +// ** auto // ** localtime // ** utc +// ** subsec +// ** subsecond // ** // ** Return 0 on success and 1 if there is any kind of error. If the error // ** is in a system call (i.e. localtime()), then an error message is written @@ -14910,12 +14969,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, bp := tls.Alloc(160) defer tls.Free(160) var Z, day Tsqlite3_int64 - var cnt, i, rc, x, y, v12, v2, v5, v7, v9 int32 - var iErr, iGuess, iOrigJD, v1 Ti64 - var rRounder, v10 float64 + var cnt, i, rc, x, y, v1, v10, v13, v3, v6, v8 int32 + var iErr, iGuess, iOrigJD, v2 Ti64 + var rRounder, v11 float64 var z0 uint8 var z2 uintptr - var v3, v6 bool + var v4, v7 bool var _ /* D at bp+64 */ int32 var _ /* M at bp+60 */ int32 var _ /* Y at bp+56 */ int32 @@ -14924,7 +14983,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, var _ /* new at bp+8 */ TDateTime var _ /* r at bp+0 */ float64 var _ /* tx at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v12, v2, v3, v5, v6, v7, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v11, v13, v2, v3, v4, v6, v7, v8 rc = int32(1) switch int32(_sqlite3UpperToLower[*(*uint8)(unsafe.Pointer(z))]) { case int32('a'): @@ -14941,6 +15000,33 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _autoAdjustDate(tls, p) rc = 0 } + case int32('c'): + /* + ** ceiling + ** + ** Resolve day-of-month overflow by rolling forward into the next + ** month. As this is the default action, this modifier is really + ** a no-op that is only included for symmetry. See "floor". + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1235) == 0 { + _computeJD(tls, p) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } + case int32('f'): + /* + ** floor + ** + ** Resolve day-of-month overflow by rolling back to the end of the + ** previous month. + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1243) == 0 { + _computeJD(tls, p) + *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64(int32((*TDateTime)(unsafe.Pointer(p)).FnFloor) * int32(86400000)) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + } case int32('j'): /* ** julianday @@ -14950,13 +15036,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** value in the allowed range of julian day numbers understood by ** SQLite (0..5373484.5) then the result will be NULL. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1235) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1249) == 0 { if idx > int32(1) { return int32(1) } /* IMP: R-31176-64601 */ - if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { rc = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } case int32('l'): @@ -14965,8 +15051,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Assuming the current time value is UTC (a.k.a. GMT), shift it to ** show local time. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1245) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - rc = _toLocaltime(tls, p, pCtx) + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1259) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x10>>4)) != 0 { + v1 = SQLITE_OK + } else { + v1 = _toLocaltime(tls, p, pCtx) + } + rc = v1 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 4, 0x10) } case int32('u'): /* @@ -14975,7 +15068,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Treat the current value of p->s as the number of ** seconds since 1970. Convert to a real julian day number. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1255) == 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1269) == 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { if idx > int32(1) { return int32(1) } /* IMP: R-49255-55373 */ @@ -14984,17 +15077,17 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(*(*float64)(unsafe.Pointer(bp)) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) rc = 0 } } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1265) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - if int32((*TDateTime)(unsafe.Pointer(p)).FtzSet) == 0 { /* Guess at the corresponding utc time */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1279) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x8>>3)) == 0 { /* Guess at the corresponding utc time */ cnt = 0 /* Guess is off by this much */ _computeJD(tls, p) - v1 = (*TDateTime)(unsafe.Pointer(p)).FiJD - iOrigJD = v1 - iGuess = v1 + v2 = (*TDateTime)(unsafe.Pointer(p)).FiJD + iOrigJD = v2 + iGuess = v2 iErr = 0 for { libc.Xmemset(tls, bp+8, 0, uint32(48)) @@ -15007,21 +15100,22 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, bp+8) iErr = (*(*TDateTime)(unsafe.Pointer(bp + 8))).FiJD - iOrigJD - goto _4 - _4: + goto _5 + _5: ; - if v3 = iErr != 0; v3 { - v2 = cnt + if v4 = iErr != 0; v4 { + v3 = cnt cnt++ } - if !(v3 && v2 < int32(3)) { + if !(v4 && v3 < int32(3)) { break } } libc.Xmemset(tls, p, 0, uint32(48)) (*TDateTime)(unsafe.Pointer(p)).FiJD = iGuess (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FtzSet = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) } rc = SQLITE_OK } @@ -15034,13 +15128,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** weekday N where 0==Sunday, 1==Monday, and so forth. If the ** date is already on the appropriate weekday, this is a no-op. */ - if v6 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1269, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v6 { - v5 = int32(*(*float64)(unsafe.Pointer(bp))) - n = v5 + if v7 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1283, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v7 { + v6 = int32(*(*float64)(unsafe.Pointer(bp))) + n = v6 } - if v6 && float64(v5) == *(*float64)(unsafe.Pointer(bp)) { + if v7 && float64(v6) == *(*float64)(unsafe.Pointer(bp)) { _computeYMD_HMS(tls, p) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) _computeJD(tls, p) Z = ((*TDateTime)(unsafe.Pointer(p)).FiJD + int64(129600000)) / int64(86400000) % int64(7) @@ -15064,9 +15158,9 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Show subsecond precision in the output of datetime() and ** unixepoch() and strftime('%s'). */ - if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1278, int32(9)) != 0 { + if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1292, int32(9)) != 0 { if Xsqlite3_stricmp(tls, z, __ccgo_ts+1190) == 0 || Xsqlite3_stricmp(tls, z, __ccgo_ts+1197) == 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) rc = 0 } break @@ -15077,23 +15171,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z += uintptr(9) _computeYMD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) - v7 = libc.Int32FromInt32(0) - (*TDateTime)(unsafe.Pointer(p)).Fm = v7 - (*TDateTime)(unsafe.Pointer(p)).Fh = v7 + v8 = libc.Int32FromInt32(0) + (*TDateTime)(unsafe.Pointer(p)).Fm = v8 + (*TDateTime)(unsafe.Pointer(p)).Fh = v8 (*TDateTime)(unsafe.Pointer(p)).Fs = float64(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1288) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1302) == 0 { (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1294) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1308) == 0 { (*TDateTime)(unsafe.Pointer(p)).FM = int32(1) (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1299) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1313) == 0 { rc = 0 } } @@ -15135,15 +15229,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == int32('-') { - if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1303, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1317, libc.VaList(bp+136, bp+56)) == int32(1) { break } - if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1307, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1321, libc.VaList(bp+136, bp+56)) == int32(1) { break } } - goto _8 - _8: + goto _9 + _9: ; n++ } @@ -15160,12 +15254,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } /* Must start with +/- */ if n == int32(5) { - if _getDigits(tls, z+1, __ccgo_ts+1311, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1325, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } } else { _ = libc.Int32FromInt32(0) - if _getDigits(tls, z+1, __ccgo_ts+1323, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1337, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } z++ @@ -15187,13 +15281,14 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, *(*int32)(unsafe.Pointer(p + 12)) += *(*int32)(unsafe.Pointer(bp + 60)) } if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v9 + x = v10 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) _computeJD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) @@ -15237,7 +15332,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z++ } n = _sqlite3Strlen30(tls, z) - if n > int32(10) || n < int32(3) { + if n < int32(3) || n > int32(10) { break } if int32(_sqlite3UpperToLower[*(*uint8)(unsafe.Pointer(z + uintptr(n-int32(1))))]) == int32('s') { @@ -15246,11 +15341,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeJD(tls, p) _ = libc.Int32FromInt32(0) if *(*float64)(unsafe.Pointer(bp)) < libc.Float64FromInt32(0) { - v10 = -libc.Float64FromFloat64(0.5) + v11 = -libc.Float64FromFloat64(0.5) } else { - v10 = +libc.Float64FromFloat64(0.5) + v11 = +libc.Float64FromFloat64(0.5) } - rRounder = v10 + rRounder = v11 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) i = 0 for { if !(i < int32(libc.Uint32FromInt64(96)/libc.Uint32FromInt64(16))) { @@ -15263,20 +15359,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 12)) += int32(*(*float64)(unsafe.Pointer(bp))) if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v12 + x = v13 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) case int32(5): /* Special processing to add years */ y = int32(*(*float64)(unsafe.Pointer(bp))) _ = libc.Int32FromInt32(0) _computeYMD_HMS(tls, p) + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(p + 8)) += y + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) break @@ -15286,8 +15385,8 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, rc = 0 break } - goto _11 - _11: + goto _12 + _12: ; i++ } @@ -15346,7 +15445,7 @@ func _isDate(tls *libc.TLS, context uintptr, argc int32, argv uintptr, p uintptr i++ } _computeJD(tls, p) - if (*TDateTime)(unsafe.Pointer(p)).FisError != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x2>>1)) != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { return int32(1) } if argc == int32(1) && (*TDateTime)(unsafe.Pointer(p)).FvalidYMD != 0 && (*TDateTime)(unsafe.Pointer(p)).FD > int32(28) { @@ -15394,7 +15493,7 @@ func _unixepochFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _ /* x at bp+0 */ TDateTime if _isDate(tls, context, argc, argv, bp) == 0 { _computeJD(tls, bp) - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { Xsqlite3_result_double(tls, context, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000)) } else { Xsqlite3_result_int64(tls, context, (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/int64(1000)-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000)) @@ -15439,7 +15538,7 @@ func _datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(15)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(16)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(17)] = uint8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(18)] = uint8(int32('0') + s/int32(10000)%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(19)] = uint8(int32('0') + s/int32(1000)%int32(10)) @@ -15487,7 +15586,7 @@ func _timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(3)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(4)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(5)] = uint8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(6)] = uint8(int32('0') + s/int32(10000)%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(7)] = uint8(int32('0') + s/int32(1000)%int32(10)) @@ -15548,6 +15647,62 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } +// C documentation +// +// /* +// ** Compute the number of days after the most recent January 1. +// ** +// ** In other words, compute the zero-based day number for the +// ** current year: +// ** +// ** Jan01 = 0, Jan02 = 1, ..., Jan31 = 30, Feb01 = 31, ... +// ** Dec31 = 364 or 365. +// */ +func _daysAfterJan01(tls *libc.TLS, pDate uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* jan01 at bp+0 */ TDateTime + *(*TDateTime)(unsafe.Pointer(bp)) = *(*TDateTime)(unsafe.Pointer(pDate)) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + (*(*TDateTime)(unsafe.Pointer(bp))).FvalidJD = uint8(0) + (*(*TDateTime)(unsafe.Pointer(bp))).FM = int32(1) + (*(*TDateTime)(unsafe.Pointer(bp))).FD = int32(1) + _computeJD(tls, bp) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD - (*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Monday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Monday, 1=Tuesday, 2=Wednesday, ..., 6=Sunday. +// */ +func _daysAfterMonday(tls *libc.TLS, pDate uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(43200000))/libc.Int64FromInt32(86400000)) % int32(7) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Sunday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Sunday, 1=Monday, 2=Tues, ..., 6=Saturday +// */ +func _daysAfterSunday(tls *libc.TLS, pDate uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)) % int32(7) +} + // C documentation // // /* @@ -15555,33 +15710,48 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // ** // ** Return a string described by FORMAT. Conversions as follows: // ** -// ** %d day of month +// ** %d day of month 01-31 +// ** %e day of month 1-31 // ** %f ** fractional seconds SS.SSS +// ** %F ISO date. YYYY-MM-DD +// ** %G ISO year corresponding to %V 0000-9999. +// ** %g 2-digit ISO year corresponding to %V 00-99 // ** %H hour 00-24 -// ** %j day of year 000-366 +// ** %k hour 0-24 (leading zero converted to space) +// ** %I hour 01-12 +// ** %j day of year 001-366 // ** %J ** julian day number +// ** %l hour 1-12 (leading zero converted to space) // ** %m month 01-12 // ** %M minute 00-59 +// ** %p "am" or "pm" +// ** %P "AM" or "PM" +// ** %R time as HH:MM // ** %s seconds since 1970-01-01 // ** %S seconds 00-59 -// ** %w day of week 0-6 Sunday==0 -// ** %W week of year 00-53 +// ** %T time as HH:MM:SS +// ** %u day of week 1-7 Monday==1, Sunday==7 +// ** %w day of week 0-6 Sunday==0, Monday==1 +// ** %U week of year 00-53 (First Sunday is start of week 01) +// ** %V week of year 01-53 (First week containing Thursday is week 01) +// ** %W week of year 00-53 (First Monday is start of week 01) // ** %Y year 0000-9999 // ** %% % // */ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(208) + defer tls.Free(208) var c, cf uint8 var db, zFmt, v3, v4, v5, v6, v7 uintptr - var h, nDay, wd int32 + var h int32 var i, j, v2 Tsize_t var iS Ti64 var s float64 var _ /* sRes at bp+48 */ Tsqlite3_str var _ /* x at bp+0 */ TDateTime + var _ /* y at bp+120 */ TDateTime var _ /* y at bp+72 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, nDay, s, wd, zFmt, v2, v3, v4, v5, v6, v7 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, s, zFmt, v2, v3, v4, v5, v6, v7 if argc == 0 { return } @@ -15614,28 +15784,42 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { fallthrough case int32('e'): if int32(cf) == int32('d') { - v3 = __ccgo_ts + 1335 + v3 = __ccgo_ts + 1349 } else { - v3 = __ccgo_ts + 1340 + v3 = __ccgo_ts + 1354 } - Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) - case int32('f'): + Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('f'): /* Fractional seconds. (Non-standard) */ s = (*(*TDateTime)(unsafe.Pointer(bp))).Fs if s > float64(59.999) { s = float64(59.999) } - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1344, libc.VaList(bp+128, s)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+176, s)) case int32('F'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1365, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('G'): /* Fall thru */ + fallthrough + case int32('g'): + *(*TDateTime)(unsafe.Pointer(bp + 72)) = *(*TDateTime)(unsafe.Pointer(bp)) + _ = libc.Int32FromInt32(0) + /* Move y so that it is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 72))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 72))).FvalidYMD = uint8(0) + _computeYMD(tls, bp+72) + if int32(cf) == int32('g') { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp + 72))).FY%int32(100))) + } else { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1380, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp + 72))).FY)) + } case int32('H'): fallthrough case int32('k'): if int32(cf) == int32('H') { - v4 = __ccgo_ts + 1335 + v4 = __ccgo_ts + 1349 } else { - v4 = __ccgo_ts + 1340 + v4 = __ccgo_ts + 1354 } - Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) + Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) case int32('I'): /* Fall thru */ fallthrough case int32('l'): @@ -15647,73 +15831,72 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { h = int32(12) } if int32(cf) == int32('I') { - v5 = __ccgo_ts + 1335 + v5 = __ccgo_ts + 1349 } else { - v5 = __ccgo_ts + 1340 + v5 = __ccgo_ts + 1354 } - Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+128, h)) - case int32('W'): /* Fall thru */ - fallthrough - case int32('j'): /* Number of days since 1st day of year */ - *(*TDateTime)(unsafe.Pointer(bp + 72)) = *(*TDateTime)(unsafe.Pointer(bp)) - (*(*TDateTime)(unsafe.Pointer(bp + 72))).FvalidJD = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp + 72))).FM = int32(1) - (*(*TDateTime)(unsafe.Pointer(bp + 72))).FD = int32(1) - _computeJD(tls, bp+72) - nDay = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD - (*(*TDateTime)(unsafe.Pointer(bp + 72))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) - if int32(cf) == int32('W') { /* 0=Monday, 1=Tuesday, ... 6=Sunday */ - wd = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000) % libc.Int64FromInt32(7)) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+128, (nDay+int32(7)-wd)/int32(7))) - } else { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1366, libc.VaList(bp+128, nDay+int32(1))) - } - case int32('J'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1371, libc.VaList(bp+128, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) + Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+176, h)) + case int32('j'): /* Day of year. Jan01==1, Jan02==2, and so forth */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1385, libc.VaList(bp+176, _daysAfterJan01(tls, bp)+int32(1))) + case int32('J'): /* Julian day number. (Non-standard) */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1390, libc.VaList(bp+176, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) case int32('m'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) case int32('M'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('p'): /* Fall thru */ fallthrough case int32('P'): if (*(*TDateTime)(unsafe.Pointer(bp))).Fh >= int32(12) { if int32(cf) == int32('p') { - v6 = __ccgo_ts + 1377 + v6 = __ccgo_ts + 1396 } else { - v6 = __ccgo_ts + 1380 + v6 = __ccgo_ts + 1399 } Xsqlite3_str_append(tls, bp+48, v6, int32(2)) } else { if int32(cf) == int32('p') { - v7 = __ccgo_ts + 1383 + v7 = __ccgo_ts + 1402 } else { - v7 = __ccgo_ts + 1386 + v7 = __ccgo_ts + 1405 } Xsqlite3_str_append(tls, bp+48, v7, int32(2)) } case int32('R'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1389, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1408, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('s'): - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1399, libc.VaList(bp+128, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1418, libc.VaList(bp+176, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) } else { iS = (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/libc.Int64FromInt32(1000) - libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1404, libc.VaList(bp+128, iS)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1423, libc.VaList(bp+176, iS)) } case int32('S'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+128, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+176, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) case int32('T'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1409, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) - case int32('u'): /* Fall thru */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1428, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + case int32('u'): /* Day of week. 1 to 7. Monday==1, Sunday==7 */ fallthrough - case int32('w'): - c = uint8(int32(uint8(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)%libc.Int64FromInt32(7))) + int32('0')) + case int32('w'): /* Day of week. 0 to 6. Sunday==0, Monday==1 */ + c = uint8(int32(uint8(_daysAfterSunday(tls, bp))) + int32('0')) if int32(c) == int32('0') && int32(cf) == int32('u') { c = uint8('7') } Xsqlite3_str_appendchar(tls, bp+48, int32(1), c) + case int32('U'): /* Week num. 00-53. First Sun of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+176, (_daysAfterJan01(tls, bp)-_daysAfterSunday(tls, bp)+int32(7))/int32(7))) + case int32('V'): /* Week num. 01-53. First week with a Thur is week 01 */ + *(*TDateTime)(unsafe.Pointer(bp + 120)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Adjust y so that is the Thursday in the same week as x */ + _ = libc.Int32FromInt32(0) + (*(*TDateTime)(unsafe.Pointer(bp + 120))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 120))).FvalidYMD = uint8(0) + _computeYMD(tls, bp+120) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+176, _daysAfterJan01(tls, bp+120)/int32(7)+int32(1))) + case int32('W'): /* Week num. 00-53. First Mon of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+176, (_daysAfterJan01(tls, bp)-_daysAfterMonday(tls, bp)+int32(7))/int32(7))) case int32('Y'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1424, libc.VaList(bp+128, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1380, libc.VaList(bp+176, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) case int32('%'): Xsqlite3_str_appendchar(tls, bp+48, int32(1), uint8('%')) default: @@ -15866,12 +16049,10 @@ func _timediffFunc(tls *libc.TLS, context uintptr, NotUsed1 int32, argv uintptr) p2 = bp *(*Tsqlite3_int64)(unsafe.Pointer(p2)) = Tsqlite3_int64(uint64(*(*Tsqlite3_int64)(unsafe.Pointer(p2))) + libc.Uint64FromInt32(1486995408)*libc.Uint64FromInt32(100000)) } - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidYMD = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidHMS = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidTZ = uint8(0) + _clearYMD_HMS_TZ(tls, bp) _computeYMD_HMS(tls, bp) _sqlite3StrAccumInit(tls, bp+96, uintptr(0), uintptr(0), 0, int32(100)) - Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1429, libc.VaList(bp+128, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) + Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1443, libc.VaList(bp+128, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) _sqlite3ResultStrAccum(tls, context, bp+96) } @@ -15904,55 +16085,55 @@ var _aDateTimeFuncs = [10]TFuncDef{ FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1235, + FzName: __ccgo_ts + 1249, }, 1: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1255, + FzName: __ccgo_ts + 1269, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1463, + FzName: __ccgo_ts + 1477, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1468, + FzName: __ccgo_ts + 1482, }, 4: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1473, + FzName: __ccgo_ts + 1487, }, 5: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1482, + FzName: __ccgo_ts + 1496, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1491, + FzName: __ccgo_ts + 1505, }, 7: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1500, + FzName: __ccgo_ts + 1514, }, 8: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1513, + FzName: __ccgo_ts + 1527, }, 9: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1531, + FzName: __ccgo_ts + 1545, }, } @@ -16634,7 +16815,7 @@ func _sqlite3MemMalloc(tls *libc.TLS, nByte int32) (r uintptr) { *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1544, libc.VaList(bp+8, nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1558, libc.VaList(bp+8, nByte)) } return p } @@ -16699,7 +16880,7 @@ func _sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) (r uintptr) *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1582, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1596, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) } return p } @@ -18118,7 +18299,7 @@ func _sqlite3OomFault(tls *libc.TLS, db uintptr) (r uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = uint16(0) if (*Tsqlite3)(unsafe.Pointer(db)).FpParse != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1632, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) pParse = (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).FpOuterParse for { @@ -18545,7 +18726,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li v3 = int32(*(*uint8)(unsafe.Pointer(v4))) c = v3 if v3 == 0 { - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1632, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1646, int32(1)) break } /* Find out what flags are present */ @@ -18962,9 +19143,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial != 0 { if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial) == int32(2) { if flag_zeropad != 0 { - v57 = __ccgo_ts + 1634 + v57 = __ccgo_ts + 1648 } else { - v57 = __ccgo_ts + 1639 + v57 = __ccgo_ts + 1653 } bufpt = v57 length = _sqlite3Strlen30(tls, bufpt) @@ -18975,7 +19156,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP = int32(1000) (*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fn = int32(1) } else { - libc.Xmemcpy(tls, bp, __ccgo_ts+1643, uint32(5)) + libc.Xmemcpy(tls, bp, __ccgo_ts+1657, uint32(5)) bufpt = bp if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fsign) == int32('-') { /* no-op */ @@ -18997,14 +19178,13 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li prefix = flag_prefix } exp = (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP - int32(1) - if int32(xtype) == int32(etGENERIC) && precision > 0 { - precision-- - } /* ** If the field type is etGENERIC, then convert to either etEXP ** or etFLOAT, as appropriate. */ if int32(xtype) == int32(etGENERIC) { + _ = libc.Int32FromInt32(0) + precision-- flag_rtz = libc.BoolUint8(!(flag_alternateform != 0)) if exp < -int32(4) || exp > precision { xtype = uint8(etEXP) @@ -19311,7 +19491,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li bufpt = libc.VaUintptr(&ap) } if bufpt == uintptr(0) { - bufpt = __ccgo_ts + 1648 + bufpt = __ccgo_ts + 1662 } else { if int32(xtype) == int32(etDYNSTRING) { if (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FnChar == uint32(0) && (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FmxAlloc != 0 && width == 0 && precision < 0 && int32((*Tsqlite3_str)(unsafe.Pointer(pAccum)).FaccError) == 0 { @@ -19400,9 +19580,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li isnull = libc.BoolInt32(escarg == uintptr(0)) if isnull != 0 { if int32(xtype) == int32(etSQLESCAPE2) { - v98 = __ccgo_ts + 1649 + v98 = __ccgo_ts + 1663 } else { - v98 = __ccgo_ts + 1654 + v98 = __ccgo_ts + 1668 } escarg = v98 } @@ -19522,7 +19702,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*TSrcItem)(unsafe.Pointer(pItem)).FzName != 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1661, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1675, int32(1)) } Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzName) } else { @@ -19530,11 +19710,16 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzAlias) } else { pSel = (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect - _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* Because of tag-20240424-1 */ if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_NestedFrom) != 0 { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1663, libc.VaList(bp+120, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1677, libc.VaList(bp+120, (*TSelect)(unsafe.Pointer(pSel)).FselId)) } else { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1673, libc.VaList(bp+120, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_MultiValue) != 0 { + _ = libc.Int32FromInt32(0) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1687, libc.VaList(bp+120, *(*Tu32)(unsafe.Pointer(pItem + 64)))) + } else { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1708, libc.VaList(bp+120, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + } } } } @@ -19823,7 +20008,7 @@ func _sqlite3ResultStrAccum(tls *libc.TLS, pCtx uintptr, p uintptr) { if int32((*TStrAccum)(unsafe.Pointer(p)).FprintfFlags)&int32(SQLITE_PRINTF_MALLOCED) != 0 { Xsqlite3_result_text(tls, pCtx, (*TStrAccum)(unsafe.Pointer(p)).FzText, int32((*TStrAccum)(unsafe.Pointer(p)).FnChar), __ccgo_fp(_sqlite3OomClear)) } else { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1648, 0, libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1662, 0, libc.UintptrFromInt32(0)) Xsqlite3_str_reset(tls, p) } } @@ -21764,6 +21949,62 @@ func _sqlite3DequoteExpr(tls *libc.TLS, p uintptr) { _sqlite3Dequote(tls, *(*uintptr)(unsafe.Pointer(p + 8))) } +// C documentation +// +// /* +// ** Expression p is a QNUMBER (quoted number). Dequote the value in p->u.zToken +// ** and set the type to INTEGER or FLOAT. "Quoted" integers or floats are those +// ** that contain '_' characters that must be removed before further processing. +// */ +func _sqlite3DequoteNumber(tls *libc.TLS, pParse uintptr, p uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var bHex int32 + var pIn, pOut, v1, v3 uintptr + var _ /* iValue at bp+0 */ int32 + _, _, _, _, _ = bHex, pIn, pOut, v1, v3 + _ = libc.Int32FromInt32(0) + if p != 0 { + pIn = *(*uintptr)(unsafe.Pointer(p + 8)) + pOut = *(*uintptr)(unsafe.Pointer(p + 8)) + bHex = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(pIn + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(pIn + 1))) == int32('X'))) + _ = libc.Int32FromInt32(0) + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + for { + if int32(*(*uint8)(unsafe.Pointer(pIn))) != int32('_') { + v3 = pOut + pOut++ + *(*uint8)(unsafe.Pointer(v3)) = *(*uint8)(unsafe.Pointer(pIn)) + if int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('E') || int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('.') { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_FLOAT) + } + } else { + if bHex == 0 && (!(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1))))])&libc.Int32FromInt32(0x04) != 0) || !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + 1))])&libc.Int32FromInt32(0x04) != 0)) || bHex == int32(1) && (!(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1))))])&libc.Int32FromInt32(0x08) != 0) || !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + 1))])&libc.Int32FromInt32(0x08) != 0)) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1722, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(p + 8)))) + } + } + goto _2 + _2: + ; + v1 = pIn + pIn++ + if !(*(*uint8)(unsafe.Pointer(v1)) != 0) { + break + } + } + if bHex != 0 { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + } + /* tag-20240227-a: If after dequoting, the number is an integer that + ** fits in 32 bits, then it must be converted into EP_IntValue. Other + ** parts of the code expect this. See also tag-20240227-b. */ + if int32((*TExpr)(unsafe.Pointer(p)).Fop) == int32(TK_INTEGER) && _sqlite3GetInt32(tls, *(*uintptr)(unsafe.Pointer(p + 8)), bp) != 0 { + *(*int32)(unsafe.Pointer(p + 8)) = *(*int32)(unsafe.Pointer(bp)) + *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(EP_IntValue) + } + } +} + // C documentation // // /* @@ -22318,7 +22559,7 @@ func _compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) (r int32) { _, _, _ = c, i, pow63 c = 0 /* 012345678901234567 */ - pow63 = __ccgo_ts + 1687 + pow63 = __ccgo_ts + 1747 i = 0 for { if !(c == 0 && i < int32(18)) { @@ -22550,7 +22791,7 @@ func _sqlite3DecOrHexToI64(tls *libc.TLS, z uintptr, pOut uintptr) (r int32) { } return 0 } else { - n = int32(libc.Uint32FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1706)) + n = int32(libc.Uint32FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1766)) if *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 { n++ } @@ -22708,7 +22949,7 @@ func _sqlite3FpDecode(tls *libc.TLS, p uintptr, _r float64, iRound int32, mxRoun (*TFpDecode)(unsafe.Pointer(p)).Fsign = uint8('+') (*TFpDecode)(unsafe.Pointer(p)).Fn = int32(1) (*TFpDecode)(unsafe.Pointer(p)).FiDP = int32(1) - (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1722 + (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1782 return } else { (*TFpDecode)(unsafe.Pointer(p)).Fsign = uint8('+') @@ -23269,7 +23510,7 @@ func _sqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) (r uintptr func _logBadConnection(tls *libc.TLS, zType uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1724, libc.VaList(bp+8, zType)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1784, libc.VaList(bp+8, zType)) } // C documentation @@ -23292,13 +23533,13 @@ func _sqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) (r int32) { var eOpenState Tu8 _ = eOpenState if db == uintptr(0) { - _logBadConnection(tls, __ccgo_ts+1649) + _logBadConnection(tls, __ccgo_ts+1663) return 0 } eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_OPEN) { if _sqlite3SafetyCheckSickOrOk(tls, db) != 0 { - _logBadConnection(tls, __ccgo_ts+1769) + _logBadConnection(tls, __ccgo_ts+1829) } return 0 } else { @@ -23312,7 +23553,7 @@ func _sqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) (r int32) { _ = eOpenState eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_SICK) && int32(eOpenState) != int32(SQLITE_STATE_OPEN) && int32(eOpenState) != int32(SQLITE_STATE_BUSY) { - _logBadConnection(tls, __ccgo_ts+1778) + _logBadConnection(tls, __ccgo_ts+1838) return 0 } else { return int32(1) @@ -23971,196 +24212,196 @@ func _sqlite3OpcodeName(tls *libc.TLS, i int32) (r uintptr) { } var _azName = [190]uintptr{ - 0: __ccgo_ts + 1786, - 1: __ccgo_ts + 1796, - 2: __ccgo_ts + 1807, - 3: __ccgo_ts + 1819, - 4: __ccgo_ts + 1830, - 5: __ccgo_ts + 1842, - 6: __ccgo_ts + 1849, - 7: __ccgo_ts + 1857, - 8: __ccgo_ts + 1865, - 9: __ccgo_ts + 1870, - 10: __ccgo_ts + 1875, - 11: __ccgo_ts + 1881, - 12: __ccgo_ts + 1895, - 13: __ccgo_ts + 1901, - 14: __ccgo_ts + 1911, - 15: __ccgo_ts + 1916, - 16: __ccgo_ts + 1921, - 17: __ccgo_ts + 1924, - 18: __ccgo_ts + 1930, - 19: __ccgo_ts + 1937, - 20: __ccgo_ts + 1941, - 21: __ccgo_ts + 1951, - 22: __ccgo_ts + 1958, - 23: __ccgo_ts + 1965, - 24: __ccgo_ts + 1972, - 25: __ccgo_ts + 1979, - 26: __ccgo_ts + 1989, - 27: __ccgo_ts + 1998, - 28: __ccgo_ts + 2009, - 29: __ccgo_ts + 2018, - 30: __ccgo_ts + 2024, - 31: __ccgo_ts + 2034, - 32: __ccgo_ts + 2044, - 33: __ccgo_ts + 2049, - 34: __ccgo_ts + 2059, - 35: __ccgo_ts + 2070, - 36: __ccgo_ts + 2075, - 37: __ccgo_ts + 2082, - 38: __ccgo_ts + 2093, - 39: __ccgo_ts + 2098, - 40: __ccgo_ts + 2103, - 41: __ccgo_ts + 2109, - 42: __ccgo_ts + 2115, - 43: __ccgo_ts + 2121, - 44: __ccgo_ts + 2124, - 45: __ccgo_ts + 2128, - 46: __ccgo_ts + 2134, - 47: __ccgo_ts + 2145, - 48: __ccgo_ts + 2156, - 49: __ccgo_ts + 2164, - 50: __ccgo_ts + 2173, - 51: __ccgo_ts + 2180, - 52: __ccgo_ts + 2188, - 53: __ccgo_ts + 2191, - 54: __ccgo_ts + 2194, - 55: __ccgo_ts + 2197, - 56: __ccgo_ts + 2200, - 57: __ccgo_ts + 2203, - 58: __ccgo_ts + 2206, - 59: __ccgo_ts + 2213, - 60: __ccgo_ts + 2219, - 61: __ccgo_ts + 2229, - 62: __ccgo_ts + 2242, - 63: __ccgo_ts + 2253, - 64: __ccgo_ts + 2259, - 65: __ccgo_ts + 2266, - 66: __ccgo_ts + 2275, - 67: __ccgo_ts + 2284, - 68: __ccgo_ts + 2291, - 69: __ccgo_ts + 2304, - 70: __ccgo_ts + 2315, - 71: __ccgo_ts + 2320, - 72: __ccgo_ts + 2328, - 73: __ccgo_ts + 2334, - 74: __ccgo_ts + 2341, - 75: __ccgo_ts + 2353, - 76: __ccgo_ts + 2358, - 77: __ccgo_ts + 2367, - 78: __ccgo_ts + 2372, - 79: __ccgo_ts + 2381, - 80: __ccgo_ts + 2386, - 81: __ccgo_ts + 2391, - 82: __ccgo_ts + 2397, - 83: __ccgo_ts + 2405, - 84: __ccgo_ts + 2413, - 85: __ccgo_ts + 2423, - 86: __ccgo_ts + 2431, - 87: __ccgo_ts + 2438, - 88: __ccgo_ts + 2451, - 89: __ccgo_ts + 2456, - 90: __ccgo_ts + 2468, - 91: __ccgo_ts + 2476, - 92: __ccgo_ts + 2483, - 93: __ccgo_ts + 2494, - 94: __ccgo_ts + 2501, - 95: __ccgo_ts + 2508, - 96: __ccgo_ts + 2518, - 97: __ccgo_ts + 2527, - 98: __ccgo_ts + 2538, - 99: __ccgo_ts + 2544, - 100: __ccgo_ts + 2555, - 101: __ccgo_ts + 2565, - 102: __ccgo_ts + 2575, - 103: __ccgo_ts + 2582, - 104: __ccgo_ts + 2588, - 105: __ccgo_ts + 2598, - 106: __ccgo_ts + 2609, - 107: __ccgo_ts + 2613, - 108: __ccgo_ts + 2622, - 109: __ccgo_ts + 2631, - 110: __ccgo_ts + 2638, - 111: __ccgo_ts + 2648, - 112: __ccgo_ts + 2655, - 113: __ccgo_ts + 2664, - 114: __ccgo_ts + 2674, - 115: __ccgo_ts + 2681, - 116: __ccgo_ts + 2689, - 117: __ccgo_ts + 2703, - 118: __ccgo_ts + 2711, - 119: __ccgo_ts + 2725, - 120: __ccgo_ts + 2736, - 121: __ccgo_ts + 2749, - 122: __ccgo_ts + 2760, - 123: __ccgo_ts + 2766, - 124: __ccgo_ts + 2778, - 125: __ccgo_ts + 2787, - 126: __ccgo_ts + 2795, - 127: __ccgo_ts + 2804, - 128: __ccgo_ts + 2813, - 129: __ccgo_ts + 2820, - 130: __ccgo_ts + 2828, - 131: __ccgo_ts + 2835, - 132: __ccgo_ts + 2846, - 133: __ccgo_ts + 2860, - 134: __ccgo_ts + 2871, - 135: __ccgo_ts + 2879, - 136: __ccgo_ts + 2885, - 137: __ccgo_ts + 2893, - 138: __ccgo_ts + 2901, - 139: __ccgo_ts + 2911, - 140: __ccgo_ts + 2924, - 141: __ccgo_ts + 2934, - 142: __ccgo_ts + 2947, - 143: __ccgo_ts + 2956, - 144: __ccgo_ts + 2967, - 145: __ccgo_ts + 2975, - 146: __ccgo_ts + 2981, - 147: __ccgo_ts + 2993, - 148: __ccgo_ts + 3005, - 149: __ccgo_ts + 3013, - 150: __ccgo_ts + 3025, - 151: __ccgo_ts + 3038, - 152: __ccgo_ts + 3048, - 153: __ccgo_ts + 3058, - 154: __ccgo_ts + 3063, - 155: __ccgo_ts + 3075, - 156: __ccgo_ts + 3087, - 157: __ccgo_ts + 3097, - 158: __ccgo_ts + 3103, - 159: __ccgo_ts + 3113, - 160: __ccgo_ts + 3120, - 161: __ccgo_ts + 3132, - 162: __ccgo_ts + 3143, - 163: __ccgo_ts + 3151, - 164: __ccgo_ts + 3160, - 165: __ccgo_ts + 3169, - 166: __ccgo_ts + 3178, - 167: __ccgo_ts + 3185, - 168: __ccgo_ts + 3196, - 169: __ccgo_ts + 3209, - 170: __ccgo_ts + 3219, - 171: __ccgo_ts + 3226, - 172: __ccgo_ts + 3234, - 173: __ccgo_ts + 3243, - 174: __ccgo_ts + 3249, - 175: __ccgo_ts + 3256, - 176: __ccgo_ts + 3264, - 177: __ccgo_ts + 3272, - 178: __ccgo_ts + 3280, - 179: __ccgo_ts + 3290, - 180: __ccgo_ts + 3299, - 181: __ccgo_ts + 3310, - 182: __ccgo_ts + 3321, - 183: __ccgo_ts + 3332, - 184: __ccgo_ts + 3342, - 185: __ccgo_ts + 3348, - 186: __ccgo_ts + 3359, - 187: __ccgo_ts + 3370, - 188: __ccgo_ts + 3375, - 189: __ccgo_ts + 3383, + 0: __ccgo_ts + 1846, + 1: __ccgo_ts + 1856, + 2: __ccgo_ts + 1867, + 3: __ccgo_ts + 1879, + 4: __ccgo_ts + 1890, + 5: __ccgo_ts + 1902, + 6: __ccgo_ts + 1909, + 7: __ccgo_ts + 1917, + 8: __ccgo_ts + 1925, + 9: __ccgo_ts + 1930, + 10: __ccgo_ts + 1935, + 11: __ccgo_ts + 1941, + 12: __ccgo_ts + 1955, + 13: __ccgo_ts + 1961, + 14: __ccgo_ts + 1971, + 15: __ccgo_ts + 1976, + 16: __ccgo_ts + 1981, + 17: __ccgo_ts + 1984, + 18: __ccgo_ts + 1990, + 19: __ccgo_ts + 1997, + 20: __ccgo_ts + 2001, + 21: __ccgo_ts + 2011, + 22: __ccgo_ts + 2018, + 23: __ccgo_ts + 2025, + 24: __ccgo_ts + 2032, + 25: __ccgo_ts + 2039, + 26: __ccgo_ts + 2049, + 27: __ccgo_ts + 2058, + 28: __ccgo_ts + 2069, + 29: __ccgo_ts + 2078, + 30: __ccgo_ts + 2084, + 31: __ccgo_ts + 2094, + 32: __ccgo_ts + 2104, + 33: __ccgo_ts + 2109, + 34: __ccgo_ts + 2123, + 35: __ccgo_ts + 2134, + 36: __ccgo_ts + 2139, + 37: __ccgo_ts + 2146, + 38: __ccgo_ts + 2157, + 39: __ccgo_ts + 2162, + 40: __ccgo_ts + 2167, + 41: __ccgo_ts + 2173, + 42: __ccgo_ts + 2179, + 43: __ccgo_ts + 2185, + 44: __ccgo_ts + 2188, + 45: __ccgo_ts + 2192, + 46: __ccgo_ts + 2198, + 47: __ccgo_ts + 2209, + 48: __ccgo_ts + 2220, + 49: __ccgo_ts + 2228, + 50: __ccgo_ts + 2237, + 51: __ccgo_ts + 2244, + 52: __ccgo_ts + 2252, + 53: __ccgo_ts + 2255, + 54: __ccgo_ts + 2258, + 55: __ccgo_ts + 2261, + 56: __ccgo_ts + 2264, + 57: __ccgo_ts + 2267, + 58: __ccgo_ts + 2270, + 59: __ccgo_ts + 2277, + 60: __ccgo_ts + 2283, + 61: __ccgo_ts + 2293, + 62: __ccgo_ts + 2306, + 63: __ccgo_ts + 2317, + 64: __ccgo_ts + 2323, + 65: __ccgo_ts + 2330, + 66: __ccgo_ts + 2339, + 67: __ccgo_ts + 2348, + 68: __ccgo_ts + 2355, + 69: __ccgo_ts + 2368, + 70: __ccgo_ts + 2379, + 71: __ccgo_ts + 2384, + 72: __ccgo_ts + 2392, + 73: __ccgo_ts + 2398, + 74: __ccgo_ts + 2405, + 75: __ccgo_ts + 2417, + 76: __ccgo_ts + 2422, + 77: __ccgo_ts + 2431, + 78: __ccgo_ts + 2436, + 79: __ccgo_ts + 2445, + 80: __ccgo_ts + 2450, + 81: __ccgo_ts + 2455, + 82: __ccgo_ts + 2461, + 83: __ccgo_ts + 2469, + 84: __ccgo_ts + 2477, + 85: __ccgo_ts + 2487, + 86: __ccgo_ts + 2495, + 87: __ccgo_ts + 2502, + 88: __ccgo_ts + 2515, + 89: __ccgo_ts + 2520, + 90: __ccgo_ts + 2532, + 91: __ccgo_ts + 2540, + 92: __ccgo_ts + 2547, + 93: __ccgo_ts + 2558, + 94: __ccgo_ts + 2565, + 95: __ccgo_ts + 2572, + 96: __ccgo_ts + 2582, + 97: __ccgo_ts + 2591, + 98: __ccgo_ts + 2602, + 99: __ccgo_ts + 2608, + 100: __ccgo_ts + 2619, + 101: __ccgo_ts + 2629, + 102: __ccgo_ts + 2639, + 103: __ccgo_ts + 2646, + 104: __ccgo_ts + 2652, + 105: __ccgo_ts + 2662, + 106: __ccgo_ts + 2673, + 107: __ccgo_ts + 2677, + 108: __ccgo_ts + 2686, + 109: __ccgo_ts + 2695, + 110: __ccgo_ts + 2702, + 111: __ccgo_ts + 2712, + 112: __ccgo_ts + 2719, + 113: __ccgo_ts + 2728, + 114: __ccgo_ts + 2738, + 115: __ccgo_ts + 2745, + 116: __ccgo_ts + 2753, + 117: __ccgo_ts + 2767, + 118: __ccgo_ts + 2775, + 119: __ccgo_ts + 2789, + 120: __ccgo_ts + 2800, + 121: __ccgo_ts + 2813, + 122: __ccgo_ts + 2824, + 123: __ccgo_ts + 2830, + 124: __ccgo_ts + 2842, + 125: __ccgo_ts + 2851, + 126: __ccgo_ts + 2859, + 127: __ccgo_ts + 2868, + 128: __ccgo_ts + 2877, + 129: __ccgo_ts + 2884, + 130: __ccgo_ts + 2892, + 131: __ccgo_ts + 2899, + 132: __ccgo_ts + 2910, + 133: __ccgo_ts + 2924, + 134: __ccgo_ts + 2935, + 135: __ccgo_ts + 2943, + 136: __ccgo_ts + 2949, + 137: __ccgo_ts + 2957, + 138: __ccgo_ts + 2965, + 139: __ccgo_ts + 2975, + 140: __ccgo_ts + 2988, + 141: __ccgo_ts + 2998, + 142: __ccgo_ts + 3011, + 143: __ccgo_ts + 3020, + 144: __ccgo_ts + 3031, + 145: __ccgo_ts + 3039, + 146: __ccgo_ts + 3045, + 147: __ccgo_ts + 3057, + 148: __ccgo_ts + 3069, + 149: __ccgo_ts + 3077, + 150: __ccgo_ts + 3089, + 151: __ccgo_ts + 3102, + 152: __ccgo_ts + 3112, + 153: __ccgo_ts + 3122, + 154: __ccgo_ts + 3127, + 155: __ccgo_ts + 3139, + 156: __ccgo_ts + 3151, + 157: __ccgo_ts + 3161, + 158: __ccgo_ts + 3167, + 159: __ccgo_ts + 3177, + 160: __ccgo_ts + 3184, + 161: __ccgo_ts + 3196, + 162: __ccgo_ts + 3207, + 163: __ccgo_ts + 3215, + 164: __ccgo_ts + 3224, + 165: __ccgo_ts + 3233, + 166: __ccgo_ts + 3242, + 167: __ccgo_ts + 3249, + 168: __ccgo_ts + 3260, + 169: __ccgo_ts + 3273, + 170: __ccgo_ts + 3283, + 171: __ccgo_ts + 3290, + 172: __ccgo_ts + 3298, + 173: __ccgo_ts + 3307, + 174: __ccgo_ts + 3313, + 175: __ccgo_ts + 3320, + 176: __ccgo_ts + 3328, + 177: __ccgo_ts + 3336, + 178: __ccgo_ts + 3344, + 179: __ccgo_ts + 3354, + 180: __ccgo_ts + 3363, + 181: __ccgo_ts + 3374, + 182: __ccgo_ts + 3385, + 183: __ccgo_ts + 3396, + 184: __ccgo_ts + 3406, + 185: __ccgo_ts + 3412, + 186: __ccgo_ts + 3423, + 187: __ccgo_ts + 3434, + 188: __ccgo_ts + 3439, + 189: __ccgo_ts + 3447, } type Tstat = struct { @@ -24924,91 +25165,91 @@ type unix_syscall = Tunix_syscall // */ var _aSyscall = [29]Tunix_syscall{ 0: { - FzName: __ccgo_ts + 3393, + FzName: __ccgo_ts + 3457, }, 1: { - FzName: __ccgo_ts + 3398, + FzName: __ccgo_ts + 3462, }, 2: { - FzName: __ccgo_ts + 3404, + FzName: __ccgo_ts + 3468, }, 3: { - FzName: __ccgo_ts + 3411, + FzName: __ccgo_ts + 3475, }, 4: { - FzName: __ccgo_ts + 3418, + FzName: __ccgo_ts + 3482, }, 5: { - FzName: __ccgo_ts + 3423, + FzName: __ccgo_ts + 3487, }, 6: { - FzName: __ccgo_ts + 3429, + FzName: __ccgo_ts + 3493, }, 7: { - FzName: __ccgo_ts + 3439, + FzName: __ccgo_ts + 3503, }, 8: { - FzName: __ccgo_ts + 3445, + FzName: __ccgo_ts + 3509, }, 9: { - FzName: __ccgo_ts + 3450, + FzName: __ccgo_ts + 3514, }, 10: { - FzName: __ccgo_ts + 3456, + FzName: __ccgo_ts + 3520, }, 11: { - FzName: __ccgo_ts + 3464, + FzName: __ccgo_ts + 3528, }, 12: { - FzName: __ccgo_ts + 3470, + FzName: __ccgo_ts + 3534, }, 13: { - FzName: __ccgo_ts + 3477, + FzName: __ccgo_ts + 3541, }, 14: { - FzName: __ccgo_ts + 3486, + FzName: __ccgo_ts + 3550, }, 15: { - FzName: __ccgo_ts + 3493, + FzName: __ccgo_ts + 3557, }, 16: { - FzName: __ccgo_ts + 3503, + FzName: __ccgo_ts + 3567, }, 17: { - FzName: __ccgo_ts + 3510, + FzName: __ccgo_ts + 3574, }, 18: { - FzName: __ccgo_ts + 3524, + FzName: __ccgo_ts + 3588, }, 19: { - FzName: __ccgo_ts + 3530, + FzName: __ccgo_ts + 3594, }, 20: { - FzName: __ccgo_ts + 3536, + FzName: __ccgo_ts + 3600, }, 21: { - FzName: __ccgo_ts + 3543, + FzName: __ccgo_ts + 3607, }, 22: { - FzName: __ccgo_ts + 3551, + FzName: __ccgo_ts + 3615, }, 23: { - FzName: __ccgo_ts + 3556, + FzName: __ccgo_ts + 3620, }, 24: { - FzName: __ccgo_ts + 3563, + FzName: __ccgo_ts + 3627, }, 25: { - FzName: __ccgo_ts + 3570, + FzName: __ccgo_ts + 3634, }, 26: { - FzName: __ccgo_ts + 3582, + FzName: __ccgo_ts + 3646, }, 27: { - FzName: __ccgo_ts + 3591, + FzName: __ccgo_ts + 3655, }, 28: { - FzName: __ccgo_ts + 3597, + FzName: __ccgo_ts + 3661, }, } @@ -25247,9 +25488,9 @@ func _robust_open(tls *libc.TLS, z uintptr, f int32, m Tmode_t) (r int32) { (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, z) } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(1)].FpCurrent})))(tls, fd) - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3603, libc.VaList(bp+112, z, fd)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3667, libc.VaList(bp+112, z, fd)) fd = -int32(1) - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3646, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3710, O_RDONLY, int32(m)) < 0 { break } } @@ -25570,11 +25811,11 @@ func _unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uint ** equivalent to errno. Otherwise, use strerror_r(). */ /* This is a threadsafe build, but strerror_r() is not available. */ - zErr = __ccgo_ts + 1648 + zErr = __ccgo_ts + 1662 if zPath == uintptr(0) { - zPath = __ccgo_ts + 1648 + zPath = __ccgo_ts + 1662 } - Xsqlite3_log(tls, errcode, __ccgo_ts+3656, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) + Xsqlite3_log(tls, errcode, __ccgo_ts+3720, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) return errcode } @@ -25602,7 +25843,7 @@ func _robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { } else { v1 = uintptr(0) } - _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(16)< uint32(1) { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3740, libc.VaList(bp+112, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3804, libc.VaList(bp+112, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } if _fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3767, libc.VaList(bp+112, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3831, libc.VaList(bp+112, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -26296,7 +26537,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) { pFile = id _unixUnmapfile(tls, pFile) if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 { - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40172)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40505)) (*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1) } Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -26923,7 +27164,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { var _ /* zDirname at bp+0 */ [513]uint8 _, _ = fd, ii fd = -int32(1) - Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3795, libc.VaList(bp+528, zFilename)) + Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3859, libc.VaList(bp+528, zFilename)) ii = int32(libc.Xstrlen(tls, bp)) for { if !(ii > 0 && int32((*(*[513]uint8)(unsafe.Pointer(bp)))[ii]) != int32('/')) { @@ -26949,7 +27190,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { if fd >= 0 { return SQLITE_OK } - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(41778)), __ccgo_ts+3510, bp, int32(41778)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42111)), __ccgo_ts+3574, bp, int32(42111)) } // C documentation @@ -26988,7 +27229,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) { rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if rc != 0 { _storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<= nSize { iWrite = nSize - int64(1) } - nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1648, int32(1)) + nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1662, int32(1)) if nWrite != int32(1) { return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(3)<= 0 { - _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42583)) + _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42916)) (*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1) } (*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0) @@ -27611,7 +27852,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in ** help detect if a -shm file truncation is legitimate or is the work ** or a rogue process. */ if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 { - rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<= 0 { - _robust_close(tls, pNew, h, int32(43994)) + _robust_close(tls, pNew, h, int32(44327)) } } else { (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -28659,10 +28900,10 @@ func _fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilenam // ** Directories to consider for temp files. // */ var _azTempDirs = [6]uintptr{ - 2: __ccgo_ts + 3852, - 3: __ccgo_ts + 3861, - 4: __ccgo_ts + 3870, - 5: __ccgo_ts + 1661, + 2: __ccgo_ts + 3916, + 3: __ccgo_ts + 3925, + 4: __ccgo_ts + 3934, + 5: __ccgo_ts + 1675, } // C documentation @@ -28671,8 +28912,8 @@ var _azTempDirs = [6]uintptr{ // ** Initialize first two members of azTempDirs[] array. // */ func _unixTempFileInit(tls *libc.TLS) { - _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3875) - _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3889) + _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3939) + _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3953) } // C documentation @@ -28735,7 +28976,7 @@ func _unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) (r int32) { Xsqlite3_randomness(tls, int32(8), bp) _ = libc.Int32FromInt32(0) *(*uint8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2)))) = uint8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3896, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) + Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3960, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) if v2 = int32(*(*uint8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2))))) != 0; !v2 { v1 = iLimit iLimit++ @@ -28908,7 +29149,7 @@ func _findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintpt ** filename, check for the "modeof" parameter. If present, interpret ** its value as a filename and try to copy the mode, uid and gid from ** that file. */ - z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3913) + z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3977) if z != 0 { rc = _getFileMode(tls, z, pMode, pUid, pGid) } @@ -28946,12 +29187,12 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags bp := tls.Alloc(528) defer tls.Free(528) var ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, rc, rc2 int32 - var p, pUnused, zName uintptr + var p, pReadonly, pUnused, zName uintptr var _ /* gid at bp+524 */ Tgid_t var _ /* openMode at bp+516 */ Tmode_t var _ /* uid at bp+520 */ Tuid_t var _ /* zTmpname at bp+0 */ [514]uint8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pUnused, rc, rc2, zName + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pReadonly, pUnused, rc, rc2, zName p = pFile fd = -int32(1) /* File descriptor returned by open() */ openFlags = 0 /* Flags to pass to open() */ @@ -29061,17 +29302,24 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags } else { if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != int32(EISDIR) && isReadWrite != 0 { /* Failed to open the file for read/write access. Try read-only. */ + pReadonly = uintptr(0) flags &= ^(libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE)) openFlags &= ^(libc.Int32FromInt32(O_RDWR) | libc.Int32FromInt32(O_CREAT)) flags |= int32(SQLITE_OPEN_READONLY) openFlags |= O_RDONLY isReadonly = int32(1) - fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + pReadonly = _findReusableFd(tls, zName, flags) + if pReadonly != 0 { + fd = (*TUnixUnusedFd)(unsafe.Pointer(pReadonly)).Ffd + Xsqlite3_free(tls, pReadonly) + } else { + fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + } } } } if fd < 0 { - rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44435)), __ccgo_ts+3393, zName, int32(44435)) + rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44775)), __ccgo_ts+3457, zName, int32(44775)) if rc == SQLITE_OK { rc = rc2 } @@ -29150,7 +29398,7 @@ func _unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) ( if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(ENOENT) { rc = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(23)< int32(SQLITE_MAX_SYMLINK) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(44686)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45026)) return } got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+104, libc.Uint32FromInt64(4098)-libc.Uint32FromInt32(2)) if got <= 0 || got >= libc.Int32FromInt64(4098)-libc.Int32FromInt32(2) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44691)), __ccgo_ts+3582, zIn, int32(44691)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45031)), __ccgo_ts+3646, zIn, int32(45031)) return } (*(*[4098]uint8)(unsafe.Pointer(bp + 104)))[got] = uint8(0) @@ -29354,14 +29602,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z (*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut if int32(*(*uint8)(unsafe.Pointer(zPath))) != int32('/') { if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+20, libc.Uint32FromInt64(4098)-libc.Uint32FromInt32(2)) == uintptr(0) { - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44749)), __ccgo_ts+3411, zPath, int32(44749)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45089)), __ccgo_ts+3475, zPath, int32(45089)) } _appendAllPathElements(tls, bp, bp+20) } _appendAllPathElements(tls, bp, zPath) *(*uint8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = uint8(0) if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) { - return _sqlite3CantopenError(tls, int32(44755)) + return _sqlite3CantopenError(tls, int32(45095)) } if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 { return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)< int64(1) { _sqlite3PagerUnrefNotNull(tls, pPgOld) - return _sqlite3CorruptError(tls, int32(63973)) + return _sqlite3CorruptError(tls, int32(64313)) } p4 = pPg + 28 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | int32((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC)) @@ -41639,7 +41887,7 @@ func _sqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in ** sqlite3_wal_checkpoint() call, but it happens very rarely. ** https://sqlite.org/forum/forumpost/fd0f19d229156939 */ - Xsqlite3_exec(tls, db, __ccgo_ts+4109, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+4173, uintptr(0), uintptr(0), uintptr(0)) } if (*TPager)(unsafe.Pointer(pPager)).FpWal != 0 { if eMode == SQLITE_CHECKPOINT_PASSIVE { @@ -43121,7 +43369,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in v2 = nCollide nCollide-- if v2 == 0 { - return _sqlite3CorruptError(tls, int32(65899)) + return _sqlite3CorruptError(tls, int32(66239)) } goto _1 _1: @@ -43213,7 +43461,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) { ** are able to understand */ version = _sqlite3Get4byte(tls, bp+8+4) if version != uint32(WAL_MAX_VERSION) { - rc = _sqlite3CantopenError(tls, int32(66031)) + rc = _sqlite3CantopenError(tls, int32(66371)) goto finished } /* Malloc a buffer to read frames into. */ @@ -43355,7 +43603,7 @@ finished: ** checkpointing the log file. */ if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FnPage != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(1)< int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = _sqlite3CorruptError(tls, int32(71032)) + rc = _sqlite3CorruptError(tls, int32(71421)) } else { rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -48123,7 +48380,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if key == uint32(0) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71230)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71619)) return } iPtrmap = _ptrmapPageno(tls, pBt, key) @@ -48136,12 +48393,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, /* The first byte of the extra data is the MemPage.isInit byte. ** If that byte is set, it means this page is also being used ** as a btree page. */ - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71243)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71632)) goto ptrmap_exit } offset = int32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1))) if offset < 0 { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71248)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71637)) goto ptrmap_exit } _ = libc.Int32FromInt32(0) @@ -48187,7 +48444,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin offset = int32(libc.Uint32FromInt32(5) * (key - uint32(iPtrmap) - libc.Uint32FromInt32(1))) if offset < 0 { _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) - return _sqlite3CorruptError(tls, int32(71293)) + return _sqlite3CorruptError(tls, int32(71682)) } _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -48197,7 +48454,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin } _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) if int32(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || int32(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) { - return _sqlite3CorruptError(tls, int32(71301)) + return _sqlite3CorruptError(tls, int32(71690)) } return SQLITE_OK } @@ -48636,7 +48893,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if uint32(pCell) < uint32((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint32(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint32((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71741)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72130)) return } ovfl = _sqlite3Get4byte(tls, pCell+uintptr(int32((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4))) @@ -48682,12 +48939,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag { iFree = int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71799)) + return _sqlite3CorruptError(tls, int32(72188)) } if iFree != 0 { iFree2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71802)) + return _sqlite3CorruptError(tls, int32(72191)) } if 0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 { pEnd = data + uintptr(cellOffset+nCell*int32(2)) @@ -48695,21 +48952,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { sz = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree { - return _sqlite3CorruptError(tls, int32(71810)) + return _sqlite3CorruptError(tls, int32(72199)) } if iFree2 != 0 { if iFree+sz > iFree2 { - return _sqlite3CorruptError(tls, int32(71813)) + return _sqlite3CorruptError(tls, int32(72202)) } sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize { - return _sqlite3CorruptError(tls, int32(71815)) + return _sqlite3CorruptError(tls, int32(72204)) } libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint32(iFree2-(iFree+sz))) sz += sz2 } else { if iFree+sz > usableSize { - return _sqlite3CorruptError(tls, int32(71819)) + return _sqlite3CorruptError(tls, int32(72208)) } } cbrk = top + sz @@ -48757,13 +49014,13 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { ** if PRAGMA cell_size_check=ON. */ if pc > iCellLast { - return _sqlite3CorruptError(tls, int32(71852)) + return _sqlite3CorruptError(tls, int32(72241)) } _ = libc.Int32FromInt32(0) size = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc))) cbrk -= size if cbrk < iCellStart || pc+size > usableSize { - return _sqlite3CorruptError(tls, int32(71858)) + return _sqlite3CorruptError(tls, int32(72247)) } _ = libc.Int32FromInt32(0) *(*Tu8)(unsafe.Pointer(pAddr1)) = uint8(cbrk >> libc.Int32FromInt32(8)) @@ -48781,7 +49038,7 @@ defragment_out: ; _ = libc.Int32FromInt32(0) if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree { - return _sqlite3CorruptError(tls, int32(71872)) + return _sqlite3CorruptError(tls, int32(72261)) } _ = libc.Int32FromInt32(0) *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = uint8(cbrk >> libc.Int32FromInt32(8)) @@ -48844,7 +49101,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint } else { if x+pc > maxPC { /* This slot extends off the end of the usable part of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71929)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72318)) return uintptr(0) } else { /* The slot remains on the free-list. Reduce its size to account @@ -48861,14 +49118,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint if pc <= iAddr { if pc != 0 { /* The next slot in the chain comes before the current slot */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71944)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72333)) } return uintptr(0) } } if pc > maxPC+nByte-int32(4) { /* The free slot chain extends off the end of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71951)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72340)) } return uintptr(0) } @@ -48919,11 +49176,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) { top = int32(65536) } else { - return _sqlite3CorruptError(tls, int32(71999)) + return _sqlite3CorruptError(tls, int32(72388)) } } else { if top > int32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(72002)) + return _sqlite3CorruptError(tls, int32(72391)) } } /* If there is enough space between gap and top for one more cell pointer, @@ -48938,7 +49195,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r g2 = v1 *(*int32)(unsafe.Pointer(pIdx)) = v1 if g2 <= gap { - return _sqlite3CorruptError(tls, int32(72019)) + return _sqlite3CorruptError(tls, int32(72408)) } else { return SQLITE_OK } @@ -49031,12 +49288,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if int32(iFreeBlk) == 0 { break } /* TH3: corrupt082.100 */ - return _sqlite3CorruptError(tls, int32(72098)) + return _sqlite3CorruptError(tls, int32(72487)) } iPtr = iFreeBlk } if uint32(iFreeBlk) > (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-uint32(4) { /* TH3: corrupt081.100 */ - return _sqlite3CorruptError(tls, int32(72103)) + return _sqlite3CorruptError(tls, int32(72492)) } _ = libc.Int32FromInt32(0) /* At this point: @@ -49048,11 +49305,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if iFreeBlk != 0 && iEnd+uint32(3) >= uint32(iFreeBlk) { nFrag = uint8(uint32(iFreeBlk) - iEnd) if iEnd > uint32(iFreeBlk) { - return _sqlite3CorruptError(tls, int32(72115)) + return _sqlite3CorruptError(tls, int32(72504)) } iEnd = uint32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+int32(2)))))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return _sqlite3CorruptError(tls, int32(72118)) + return _sqlite3CorruptError(tls, int32(72507)) } iSize = uint16(iEnd - uint32(iStart)) iFreeBlk = uint16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= int32(iStart) { if iPtrEnd > int32(iStart) { - return _sqlite3CorruptError(tls, int32(72131)) + return _sqlite3CorruptError(tls, int32(72520)) } nFrag = Tu8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = uint16(iEnd - uint32(iPtr)) @@ -49073,7 +49330,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(7))))) { - return _sqlite3CorruptError(tls, int32(72137)) + return _sqlite3CorruptError(tls, int32(72526)) } p2 = data + uintptr(int32(hdr)+int32(7)) *(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - int32(nFrag)) @@ -49090,10 +49347,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) ** so just extend the cell content area rather than create another ** freelist entry */ if int32(iStart) < int32(x) { - return _sqlite3CorruptError(tls, int32(72151)) + return _sqlite3CorruptError(tls, int32(72540)) } if int32(iPtr) != int32(hdr)+int32(1) { - return _sqlite3CorruptError(tls, int32(72152)) + return _sqlite3CorruptError(tls, int32(72541)) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)))) = uint8(int32(iFreeBlk) >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)) + 1)) = uint8(iFreeBlk) @@ -49156,7 +49413,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72206)) + return _sqlite3CorruptError(tls, int32(72595)) } } } else { @@ -49182,7 +49439,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72230)) + return _sqlite3CorruptError(tls, int32(72619)) } } } @@ -49229,12 +49486,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will ** always be at least one cell before the first freeblock. */ - return _sqlite3CorruptError(tls, int32(72281)) + return _sqlite3CorruptError(tls, int32(72670)) } for int32(1) != 0 { if pc > iCellLast { /* Freeblock off the end of the page */ - return _sqlite3CorruptError(tls, int32(72286)) + return _sqlite3CorruptError(tls, int32(72675)) } next = uint32(int32(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) { /* Freeblock not in ascending order */ - return _sqlite3CorruptError(tls, int32(72296)) + return _sqlite3CorruptError(tls, int32(72685)) } if uint32(pc)+size > uint32(usableSize) { /* Last freeblock extends past page end */ - return _sqlite3CorruptError(tls, int32(72300)) + return _sqlite3CorruptError(tls, int32(72689)) } } /* At this point, nFree contains the sum of the offset to the start @@ -49261,7 +49518,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { ** area, according to the page header, lies within the page. */ if nFree > usableSize || nFree < iCellFirst { - return _sqlite3CorruptError(tls, int32(72312)) + return _sqlite3CorruptError(tls, int32(72701)) } (*TMemPage)(unsafe.Pointer(pPage)).FnFree = int32(uint16(nFree - iCellFirst)) return SQLITE_OK @@ -49292,11 +49549,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) { } pc = int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))) if pc < iCellFirst || pc > iCellLast { - return _sqlite3CorruptError(tls, int32(72343)) + return _sqlite3CorruptError(tls, int32(72732)) } sz = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return _sqlite3CorruptError(tls, int32(72348)) + return _sqlite3CorruptError(tls, int32(72737)) } goto _1 _1: @@ -49332,7 +49589,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating ** the b-tree page type. */ if _decodeFlags(tls, pPage, int32(*(*Tu8)(unsafe.Pointer(data)))) != 0 { - return _sqlite3CorruptError(tls, int32(72380)) + return _sqlite3CorruptError(tls, int32(72769)) } _ = libc.Int32FromInt32(0) (*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1)) @@ -49346,7 +49603,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FnCell = uint16(int32(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) { /* To many cells for a single page. The page must be corrupt */ - return _sqlite3CorruptError(tls, int32(72394)) + return _sqlite3CorruptError(tls, int32(72783)) } /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only ** possible for a root page of a table that contains no rows) then the @@ -49512,7 +49769,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe _ = libc.Int32FromInt32(0) if pgno > _btreePagecount(tls, pBt) { *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72537)) + return _sqlite3CorruptError(tls, int32(72926)) } rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly) if rc != 0 { @@ -49589,7 +49846,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) { _releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72609)) + return _sqlite3CorruptError(tls, int32(72998)) } (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0) } else { @@ -49681,7 +49938,7 @@ func _sqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt /* Set the variable isMemdb to true for an in-memory database, or ** false for a file-based database. */ - isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4190) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) + isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4254) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -50502,7 +50759,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { ** The original design allowed these amounts to vary, but as of ** version 3.6.0, we require them to be fixed. */ - if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4199, uint32(3)) != 0 { + if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4263, uint32(3)) != 0 { goto page1_init_failed } /* EVIDENCE-OF: R-51873-39618 The page size for a database file is @@ -50541,7 +50798,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { } if nPage > *(*Tu32)(unsafe.Pointer(bp + 4)) { if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 { - rc = _sqlite3CorruptError(tls, int32(73547)) + rc = _sqlite3CorruptError(tls, int32(73936)) goto page1_init_failed } else { nPage = *(*Tu32)(unsafe.Pointer(bp + 4)) @@ -51003,7 +51260,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT if int32(eType) == int32(PTRMAP_OVERFLOW2) { /* The pointer is always the first 4 bytes of the page in this case. */ if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return _sqlite3CorruptError(tls, int32(73995)) + return _sqlite3CorruptError(tls, int32(74384)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -51027,7 +51284,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74014)) + return _sqlite3CorruptError(tls, int32(74403)) } if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) { _sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo) @@ -51036,7 +51293,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } } else { if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74023)) + return _sqlite3CorruptError(tls, int32(74412)) } if _sqlite3Get4byte(tls, pCell) == iFrom { _sqlite3Put4byte(tls, pCell, iTo) @@ -51050,7 +51307,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } if i == nCell { if int32(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom { - return _sqlite3CorruptError(tls, int32(74035)) + return _sqlite3CorruptError(tls, int32(74424)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo) } @@ -51083,7 +51340,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iDbPage < uint32(3) { - return _sqlite3CorruptError(tls, int32(74070)) + return _sqlite3CorruptError(tls, int32(74459)) } /* Move page iDbPage from its current location to page number iFreePage */ *(*int32)(unsafe.Pointer(bp + 4)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit) @@ -51181,7 +51438,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom return rc } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) { - return _sqlite3CorruptError(tls, int32(74168)) + return _sqlite3CorruptError(tls, int32(74557)) } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) { if bCommit == 0 { @@ -51220,7 +51477,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) if *(*TPgno)(unsafe.Pointer(bp + 16)) > dbSize { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 20))) - return _sqlite3CorruptError(tls, int32(74220)) + return _sqlite3CorruptError(tls, int32(74609)) } } _ = libc.Int32FromInt32(0) @@ -51289,7 +51546,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) { nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) nFin = _finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = _sqlite3CorruptError(tls, int32(74288)) + rc = _sqlite3CorruptError(tls, int32(74677)) } else { if nFree > uint32(0) { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -51335,7 +51592,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { ** is either a pointer-map page or the pending-byte page. If one ** is encountered, this indicates corruption. */ - return _sqlite3CorruptError(tls, int32(74339)) + return _sqlite3CorruptError(tls, int32(74728)) } nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) db = (*TBtree)(unsafe.Pointer(p)).Fdb @@ -51365,7 +51622,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { } nFin = _finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return _sqlite3CorruptError(tls, int32(74366)) + return _sqlite3CorruptError(tls, int32(74755)) } if nFin < nOrig { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -51863,7 +52120,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo _ = libc.Int32FromInt32(0) if iTable <= uint32(1) { if iTable < uint32(1) { - return _sqlite3CorruptError(tls, int32(74830)) + return _sqlite3CorruptError(tls, int32(75219)) } else { if _btreePagecount(tls, pBt) == uint32(0) { _ = libc.Int32FromInt32(0) @@ -52277,7 +52534,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(75235)) + return _sqlite3CorruptError(tls, int32(75624)) } _ = libc.Int32FromInt32(0) _getCellInfo(tls, pCur) @@ -52290,7 +52547,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ** but is recast into its current form to avoid integer overflow problems */ - return _sqlite3CorruptError(tls, int32(75250)) + return _sqlite3CorruptError(tls, int32(75639)) } /* Check if data must be read/written to/from the btree page itself. */ if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) { @@ -52318,7 +52575,11 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_ValidOvfl) == 0 { nOvfl = int32(((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload - uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) + ovflSize - uint32(1)) / ovflSize) if (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow == uintptr(0) || nOvfl*libc.Int32FromInt64(4) > _sqlite3MallocSize(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow) { - aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(uint32(nOvfl*int32(2))*uint32(4))) + if _sqlite3FaultSim(tls, int32(413)) != 0 { + aNew = uintptr(0) + } else { + aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(uint32(nOvfl*int32(2))*uint32(4))) + } if aNew == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -52329,6 +52590,9 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin p1 = pCur + 1 *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(BTCF_ValidOvfl)) } else { + /* Sanity check the validity of the overflow page cache */ + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* If the overflow page-list cache has been allocated and the ** entry for the first required overflow page is valid, skip ** directly to it. @@ -52343,7 +52607,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin for *(*TPgno)(unsafe.Pointer(bp)) != 0 { /* If required, populate the overflow page-list cache. */ if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(75312)) + return _sqlite3CorruptError(tls, int32(75710)) } _ = libc.Int32FromInt32(0) *(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp)) @@ -52420,7 +52684,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin } if rc == SQLITE_OK && amt > uint32(0) { /* Overflow chain ends prematurely */ - return _sqlite3CorruptError(tls, int32(75396)) + return _sqlite3CorruptError(tls, int32(75794)) } return rc } @@ -52573,7 +52837,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(75534)) + return _sqlite3CorruptError(tls, int32(75932)) } (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) p1 = pCur + 1 @@ -52586,7 +52850,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(75548)) + rc = _sqlite3CorruptError(tls, int32(75946)) } if rc != 0 { v3 = pCur + 68 @@ -52716,7 +52980,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) { ** (or the freelist). */ _ = libc.Int32FromInt32(0) if int32((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) { - return _sqlite3CorruptError(tls, int32(75683)) + return _sqlite3CorruptError(tls, int32(76081)) } goto skip_init skip_init: @@ -52730,7 +52994,7 @@ skip_init: } else { if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) { if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) { - return _sqlite3CorruptError(tls, int32(75695)) + return _sqlite3CorruptError(tls, int32(76093)) } subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8))) (*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID) @@ -52879,6 +53143,7 @@ func _sqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) (r int32) { _ = libc.Int32FromInt32(0) /* If the cursor already points to the last entry, this is a no-op. */ if CURSOR_VALID == int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) && int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_AtLast) != 0 { + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pRes)) = 0 return SQLITE_OK } @@ -52932,6 +53197,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh } if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey < intKey { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_AtLast) != 0 { + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pRes)) = -int32(1) return SQLITE_OK } @@ -52994,7 +53260,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh break } if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(75937)) + return _sqlite3CorruptError(tls, int32(76342)) } } } @@ -53210,7 +53476,7 @@ func _sqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes p3 = pCur + 1 *(*Tu8)(unsafe.Pointer(p3)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p3))) & ^libc.Int32FromInt32(BTCF_ValidOvfl)) if !((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76133)) + return _sqlite3CorruptError(tls, int32(76538)) } goto bypass_moveto_root /* Start search on the current page */ } @@ -53282,7 +53548,7 @@ bypass_moveto_root: /* Invalid key size: 0x80 0x80 0x01 */ /* Minimum legal index key size */ if nCell < int32(2) || uint32(nCell)/(*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage { - rc = _sqlite3CorruptError(tls, int32(76220)) + rc = _sqlite3CorruptError(tls, int32(76625)) goto moveto_index_finish } pCellKey = _sqlite3Malloc(tls, uint64(nCell+nOverrun)) @@ -53315,7 +53581,7 @@ bypass_moveto_root: rc = SQLITE_OK (*TBtCursor)(unsafe.Pointer(pCur)).Fix = uint16(idx) if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 { - rc = _sqlite3CorruptError(tls, int32(76252)) + rc = _sqlite3CorruptError(tls, int32(76657)) } goto moveto_index_finish } @@ -53352,7 +53618,7 @@ bypass_moveto_root: p9 = pCur + 1 *(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl))) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(76283)) + return _sqlite3CorruptError(tls, int32(76688)) } *(*Tu16)(unsafe.Pointer(pCur + 72 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = uint16(lwr) *(*uintptr)(unsafe.Pointer(pCur + 120 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*4)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage @@ -53361,7 +53627,7 @@ bypass_moveto_root: rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+116, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(76294)) + rc = _sqlite3CorruptError(tls, int32(76699)) } if rc != 0 { v11 = pCur + 68 @@ -53413,11 +53679,11 @@ func _sqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) (r Ti64) { _, _ = i, n _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - /* Currently this interface is only called by the OP_IfSmaller - ** opcode, and it that case the cursor will always be valid and - ** will always point to a leaf node. */ + /* Currently this interface is only called by the OP_IfSizeBetween + ** opcode and the OP_Count opcode with P3=1. In either case, + ** the cursor will always be valid unless the btree is empty. */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return int64(-int32(1)) + return 0 } if int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).Fleaf) == 0 { return int64(-int32(1)) @@ -53495,7 +53761,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76395)) + return _sqlite3CorruptError(tls, int32(76800)) } if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { @@ -53610,7 +53876,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76488)) + return _sqlite3CorruptError(tls, int32(76893)) } if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { idx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) @@ -53704,7 +53970,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt ** stores the total number of pages on the freelist. */ n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36) if n >= mxPage { - return _sqlite3CorruptError(tls, int32(76578)) + return _sqlite3CorruptError(tls, int32(76983)) } if n > uint32(0) { searchList = uint8(0) /* If the free-list must be searched for 'nearby' */ @@ -53761,7 +54027,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt nSearch++ } if v2 || v1 > n { - rc = _sqlite3CorruptError(tls, int32(76634)) + rc = _sqlite3CorruptError(tls, int32(77039)) } else { rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0) } @@ -53790,7 +54056,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) { /* Value of k is out of range. Database corruption */ - rc = _sqlite3CorruptError(tls, int32(76663)) + rc = _sqlite3CorruptError(tls, int32(77068)) goto end_allocate_page } else { if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -53817,7 +54083,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8) if iNewTrunk > mxPage { - rc = _sqlite3CorruptError(tls, int32(76697)) + rc = _sqlite3CorruptError(tls, int32(77102)) goto end_allocate_page } rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+8, 0) @@ -53889,7 +54155,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4))) if iPage > mxPage || iPage < uint32(2) { - rc = _sqlite3CorruptError(tls, int32(76762)) + rc = _sqlite3CorruptError(tls, int32(77167)) goto end_allocate_page } if !(searchList != 0) || (iPage == nearby || iPage < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -54035,7 +54301,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(76889)) + return _sqlite3CorruptError(tls, int32(77294)) } if pMemPage != 0 { *(*uintptr)(unsafe.Pointer(bp + 4)) = pMemPage @@ -54086,7 +54352,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */ iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32) if iTrunk > _btreePagecount(tls, pBt) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(76936)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(77341)) goto freepage_out } *(*int32)(unsafe.Pointer(bp + 8)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0) @@ -54096,7 +54362,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4) _ = libc.Int32FromInt32(0) if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(76947)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(77352)) goto freepage_out } if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) { @@ -54188,7 +54454,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp _ = libc.Int32FromInt32(0) if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { /* Cell extends past end of page */ - return _sqlite3CorruptError(tls, int32(77036)) + return _sqlite3CorruptError(tls, int32(77441)) } ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt @@ -54208,7 +54474,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp /* 0 is not a legal page number and page 1 cannot be an ** overflow page. Therefore if ovflPgno<2 or past the end of the ** file the database must be corrupt. */ - return _sqlite3CorruptError(tls, int32(77053)) + return _sqlite3CorruptError(tls, int32(77458)) } if nOvfl != 0 { rc = _getOverflowPage(tls, pBt, ovflPgno, bp+4, bp) @@ -54231,7 +54497,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp ** caller is iterating through or using in some other way, this ** can be problematic. */ - rc = _sqlite3CorruptError(tls, int32(77073)) + rc = _sqlite3CorruptError(tls, int32(77478)) } else { rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 4)), ovflPgno) } @@ -54467,7 +54733,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { pc = uint32(int32(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77329)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77734)) return } rc = _freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -54902,12 +55168,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg _ = libc.Int32FromInt32(0) if uint32(pCell) >= uint32(aData+uintptr(j)) && uint32(pCell) < uint32(pEnd) { if uint32(pCell+uintptr(sz)) > uint32(pEnd) { - return _sqlite3CorruptError(tls, int32(77718)) + return _sqlite3CorruptError(tls, int32(78123)) } pCell = pTmp + uintptr(int32(pCell)-int32(aData)) } else { if uint32(pCell+uintptr(sz)) > uint32(pSrcEnd) && uint32(pCell) < uint32(pSrcEnd) { - return _sqlite3CorruptError(tls, int32(77723)) + return _sqlite3CorruptError(tls, int32(78128)) } } pData -= uintptr(sz) @@ -54915,7 +55181,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*Tu8)(unsafe.Pointer(pCellptr + 1)) = uint8(int32(pData) - int32(aData)) pCellptr += uintptr(2) if pData < pCellptr { - return _sqlite3CorruptError(tls, int32(77729)) + return _sqlite3CorruptError(tls, int32(78134)) } libc.Xmemmove(tls, pData, pCell, uint32(sz)) _ = libc.Int32FromInt32(0) @@ -55014,7 +55280,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr _ = libc.Int32FromInt32(0) if uint32(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))+uintptr(sz)) > uint32(pEnd) && uint32(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))) < uint32(pEnd) { _ = libc.Int32FromInt32(0) - _sqlite3CorruptError(tls, int32(77814)) + _sqlite3CorruptError(tls, int32(78219)) return int32(1) } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4)), uint32(sz)) @@ -55164,7 +55430,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p if iOld < iNew { nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray) if nShift > nCell { - return _sqlite3CorruptError(tls, int32(77936)) + return _sqlite3CorruptError(tls, int32(78341)) } libc.Xmemmove(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), uint32(nCell*int32(2))) nCell -= nShift @@ -55239,7 +55505,7 @@ editpage_fail: ; /* Unable to edit this page. Rebuild it from scratch instead. */ if nNew < int32(1) { - return _sqlite3CorruptError(tls, int32(78010)) + return _sqlite3CorruptError(tls, int32(78415)) } _populateCellCache(tls, pCArray, iNew, nNew) return _rebuildPage(tls, pCArray, iNew, nNew, pPg) @@ -55287,7 +55553,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return _sqlite3CorruptError(tls, int32(78050)) + return _sqlite3CorruptError(tls, int32(78455)) } /* dbfuzz001.test */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -55663,7 +55929,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa ** table-interior, index-leaf, or index-interior). */ if int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 4)))[0])).FaData))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78471)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78876)) goto balance_cleanup } /* Load b.apCell[] with pointers to all cells in pOld. If pOld @@ -55686,7 +55952,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa libc.Xmemset(tls, (*(*TCellArray)(unsafe.Pointer(bp + 68))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 68))).FnCell)*2, 0, uint32(2)*uint32(limit+int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow))) if int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 { if limit < int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78495)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78900)) goto balance_cleanup } limit = int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) @@ -55829,7 +56095,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa if i+int32(1) >= k { k = i + int32(2) if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78596)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79001)) goto balance_cleanup } (*(*[5]int32)(unsafe.Pointer(bp + 36)))[k-int32(1)] = 0 @@ -55872,7 +56138,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v10 = 0 } if cntNew[i] <= v10 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78629)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79034)) goto balance_cleanup } } @@ -55933,7 +56199,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v15 = 0 } if cntNew[i-int32(1)] <= v15 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78673)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79078)) goto balance_cleanup } goto _11 @@ -55966,7 +56232,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 132)))).FpDbPage) nNew++ if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 132)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78706)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79111)) } if *(*int32)(unsafe.Pointer(bp)) != 0 { goto balance_cleanup @@ -56209,7 +56475,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa } pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 68 + 16 + uintptr(k)*4)) if uint32(pCell1) < uint32(pSrcEnd) && uint32(pCell1+uintptr(sz2)) > uint32(pSrcEnd) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78906)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79311)) goto balance_cleanup } *(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno) @@ -56474,7 +56740,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) { break } if pOther != pCur && int32((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage { - return _sqlite3CorruptError(tls, int32(79138)) + return _sqlite3CorruptError(tls, int32(79543)) } goto _1 _1: @@ -56549,7 +56815,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) { /* The page being written is not a root page, and there is currently ** more than one reference to it. This only happens if the page is one ** of its own ancestor pages. Corruption. */ - rc = _sqlite3CorruptError(tls, int32(79198)) + rc = _sqlite3CorruptError(tls, int32(79603)) } else { pParent = *(*uintptr)(unsafe.Pointer(pCur + 120 + uintptr(iPage-int32(1))*4)) iIdx = int32(*(*Tu16)(unsafe.Pointer(pCur + 72 + uintptr(iPage-int32(1))*2))) @@ -56712,7 +56978,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int return rc } if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = _sqlite3CorruptError(tls, int32(79362)) + rc = _sqlite3CorruptError(tls, int32(79767)) } else { if uint32(iOffset)+ovflPageSize < uint32(nTotal) { ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData) @@ -56743,7 +57009,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) { nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */ pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */ if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) { - return _sqlite3CorruptError(tls, int32(79390)) + return _sqlite3CorruptError(tls, int32(79795)) } if int32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal { /* The entire cell is local */ @@ -56830,7 +57096,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** Which can only happen if the SQLITE_NoSchemaError flag was set when ** the schema was loaded. This cannot be asserted though, as a user might ** set the flag, load the schema, and then unset the flag. */ - return _sqlite3CorruptError(tls, int32(79471)) + return _sqlite3CorruptError(tls, int32(79876)) } } /* Ensure that the cursor is not in the CURSOR_FAULT state and that it @@ -56933,7 +57199,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) { /* ^^^^^--- due to the moveToRoot() call above */ - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79594)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79999)) } else { *(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage) } @@ -56975,7 +57241,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if *(*int32)(unsafe.Pointer(bp + 4)) == 0 { _ = libc.Int32FromInt32(0) if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79636)) + return _sqlite3CorruptError(tls, int32(80041)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -57005,10 +57271,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ _ = libc.Int32FromInt32(0) /* clearCell never fails when nLocal==nPayload */ if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) { - return _sqlite3CorruptError(tls, int32(79663)) + return _sqlite3CorruptError(tls, int32(80068)) } if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79666)) + return _sqlite3CorruptError(tls, int32(80071)) } libc.Xmemcpy(tls, oldCell, newCell, uint32(*(*int32)(unsafe.Pointer(bp + 8)))) return SQLITE_OK @@ -57133,7 +57399,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79768)) + return _sqlite3CorruptError(tls, int32(80173)) } nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -57155,7 +57421,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T } if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79793)) + return _sqlite3CorruptError(tls, int32(80198)) } ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -57264,7 +57530,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { return *(*int32)(unsafe.Pointer(bp)) } } else { - return _sqlite3CorruptError(tls, int32(79889)) + return _sqlite3CorruptError(tls, int32(80294)) } } _ = libc.Int32FromInt32(0) @@ -57272,14 +57538,14 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { iCellIdx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return _sqlite3CorruptError(tls, int32(79898)) + return _sqlite3CorruptError(tls, int32(80303)) } pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx)))))) if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 && _btreeComputeFreeSpace(tls, pPage) != 0 { - return _sqlite3CorruptError(tls, int32(79902)) + return _sqlite3CorruptError(tls, int32(80307)) } if pCell < (*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79905)) + return _sqlite3CorruptError(tls, int32(80310)) } /* If the BTREE_SAVEPOSITION bit is on, then the cursor position must ** be preserved following this delete operation. If the current delete @@ -57374,7 +57640,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { } pCell = (*TMemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(int32(2)*(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FnCell)-int32(1)))))))) if pCell < (*TMemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return _sqlite3CorruptError(tls, int32(79996)) + return _sqlite3CorruptError(tls, int32(80401)) } nCell = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pLeaf)).FxCellSize})))(tls, pLeaf, pCell)) _ = libc.Int32FromInt32(0) @@ -57494,7 +57760,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags */ _sqlite3BtreeGetMeta(tls, p, int32(BTREE_LARGEST_ROOT_PAGE), bp+4) if *(*TPgno)(unsafe.Pointer(bp + 4)) > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80112)) + return _sqlite3CorruptError(tls, int32(80517)) } *(*TPgno)(unsafe.Pointer(bp + 4))++ /* The new root-page may not be allocated on a pointer-map page, or the @@ -57536,7 +57802,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 8)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 4)), bp+20, bp+24) if int32(*(*Tu8)(unsafe.Pointer(bp + 20))) == int32(PTRMAP_ROOTPAGE) || int32(*(*Tu8)(unsafe.Pointer(bp + 20))) == int32(PTRMAP_FREEPAGE) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80160)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80565)) } if *(*int32)(unsafe.Pointer(bp + 8)) != SQLITE_OK { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -57623,14 +57889,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int _, _, _, _ = hdr, i, pCell, v2 _ = libc.Int32FromInt32(0) if pgno > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80250)) + return _sqlite3CorruptError(tls, int32(80655)) } *(*int32)(unsafe.Pointer(bp + 4)) = _getAndInitPage(tls, pBt, pgno, bp, 0) if *(*int32)(unsafe.Pointer(bp + 4)) != 0 { return *(*int32)(unsafe.Pointer(bp + 4)) } if int32((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) { - *(*int32)(unsafe.Pointer(bp + 4)) = _sqlite3CorruptError(tls, int32(80257)) + *(*int32)(unsafe.Pointer(bp + 4)) = _sqlite3CorruptError(tls, int32(80662)) goto cleardatabasepage_out } hdr = int32((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset) @@ -57771,7 +58037,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iTable > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80361)) + return _sqlite3CorruptError(tls, int32(80766)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -58047,7 +58313,7 @@ func _checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, pCheck+48, __ccgo_ts+4203, int32(1)) + Xsqlite3_str_append(tls, pCheck+48, __ccgo_ts+4267, int32(1)) } if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, pCheck+48, (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp+8, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv0, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -58099,11 +58365,11 @@ func _checkRef(tls *libc.TLS, pCheck uintptr, iPage TPgno) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if iPage > (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnCkPage || iPage == uint32(0) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4205, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4269, libc.VaList(bp+8, iPage)) return int32(1) } if _getPageReferenced(tls, pCheck, iPage) != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4228, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4292, libc.VaList(bp+8, iPage)) return int32(1) } _setPageReferenced(tls, pCheck, iPage) @@ -58129,11 +58395,11 @@ func _checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild TPgno, eType Tu8, iParen if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< (*TBtShared)(unsafe.Pointer((*TIntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize/uint32(4)-uint32(2) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4358, libc.VaList(bp+16, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4422, libc.VaList(bp+16, iPage)) N-- } else { i = 0 @@ -58205,11 +58471,11 @@ func _checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage TPgno, N } if N != 0 && nErrAtStart == (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr { if isFreeList != 0 { - v2 = __ccgo_ts + 4397 + v2 = __ccgo_ts + 4461 } else { - v2 = __ccgo_ts + 4402 + v2 = __ccgo_ts + 4466 } - _checkAppendMsg(tls, pCheck, __ccgo_ts+4423, libc.VaList(bp+16, v2, expected-N, expected)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4487, libc.VaList(bp+16, v2, expected-N, expected)) } } @@ -58346,12 +58612,12 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr if _checkRef(tls, pCheck, iPage) != 0 { return 0 } - (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4449 + (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4513 (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage v1 = _btreeGetPage(tls, pBt, iPage, bp+8, 0) rc = v1 if v1 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4467, libc.VaList(bp+48, rc)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4531, libc.VaList(bp+48, rc)) if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< usableSize-uint32(4) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4621, libc.VaList(bp+48, pc, contentOffset, usableSize-uint32(4))) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4685, libc.VaList(bp+48, pc, contentOffset, usableSize-uint32(4))) doCoverageCheck = 0 goto _4 } pCell = data + uintptr(pc) (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FxParseCell})))(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), pCell, bp+16) if pc+uint32((*(*TCellInfo)(unsafe.Pointer(bp + 16))).FnSize) > usableSize { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4651, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4715, 0) doCoverageCheck = 0 goto _4 } @@ -58437,7 +58706,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr v5 = libc.BoolInt32((*(*TCellInfo)(unsafe.Pointer(bp + 16))).FnKey >= *(*Ti64)(unsafe.Pointer(bp))) } if v5 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4675, libc.VaList(bp+48, (*(*TCellInfo)(unsafe.Pointer(bp + 16))).FnKey)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4739, libc.VaList(bp+48, (*(*TCellInfo)(unsafe.Pointer(bp + 16))).FnKey)) } *(*Ti64)(unsafe.Pointer(bp)) = (*(*TCellInfo)(unsafe.Pointer(bp + 16))).FnKey keyCanBeEqual = 0 /* Only the first key on the page may ==maxKey */ @@ -58461,7 +58730,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr d2 = _checkTreePage(tls, pCheck, uint32(pgno), bp, *(*Ti64)(unsafe.Pointer(bp))) keyCanBeEqual = 0 if d2 != depth { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4699, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4763, 0) depth = d2 } } else { @@ -58498,6 +58767,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr i-- } } + _ = libc.Int32FromInt32(0) /* Add the freeblocks to the min-heap ** ** EVIDENCE-OF: R-20690-50594 The second field of the b-tree page header @@ -58538,7 +58808,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr prev = contentOffset - uint32(1) /* Implied first min-heap entry */ for _btreeHeapPull(tls, heap, bp+12) != 0 { if prev&uint32(0xffff) >= *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(16) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4724, libc.VaList(bp+48, *(*Tu32)(unsafe.Pointer(bp + 12))>>int32(16), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4788, libc.VaList(bp+48, *(*Tu32)(unsafe.Pointer(bp + 12))>>int32(16), iPage)) break } else { nFrag = int32(uint32(nFrag) + (*(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(16) - prev&libc.Uint32FromInt32(0xffff) - libc.Uint32FromInt32(1))) @@ -58552,7 +58822,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr ** number of fragmented free bytes within the cell content area. */ if *(*Tu32)(unsafe.Pointer(heap)) == uint32(0) && nFrag != int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4761, libc.VaList(bp+48, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4825, libc.VaList(bp+48, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) } } goto end_of_check @@ -58592,22 +58862,23 @@ end_of_check: // ** the unverified btrees. Except, if aRoot[1] is 1, then the freelist // ** checks are still performed. // */ -func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { +func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, aCnt uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { bp := tls.Alloc(224) defer tls.Free(224) var bCkFreelist, bPartial int32 var i, mx, mxInHdr TPgno var pBt uintptr var savedDbFlags Tu64 - var _ /* notUsed at bp+184 */ Ti64 + var _ /* notUsed at bp+192 */ Ti64 var _ /* sCheck at bp+0 */ TIntegrityCk - var _ /* zErr at bp+80 */ [100]uint8 + var _ /* zErr at bp+88 */ [100]uint8 _, _, _, _, _, _, _ = bCkFreelist, bPartial, i, mx, mxInHdr, pBt, savedDbFlags pBt = (*TBtree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Tsqlite3)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags bPartial = 0 /* True if not checking all btrees */ bCkFreelist = int32(1) /* True to scan the freelist */ _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* aRoot[0]==0 means this is a partial check */ if *(*TPgno)(unsafe.Pointer(aRoot)) == uint32(0) { _ = libc.Int32FromInt32(0) @@ -58619,13 +58890,13 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin _sqlite3BtreeEnter(tls, p) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - libc.Xmemset(tls, bp, 0, uint32(80)) + libc.Xmemset(tls, bp, 0, uint32(88)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fdb = db (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt = pBt (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage = _btreePagecount(tls, (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr = mxErr - _sqlite3StrAccumInit(tls, bp+48, uintptr(0), bp+80, int32(100), int32(SQLITE_MAX_LENGTH)) + _sqlite3StrAccumInit(tls, bp+48, uintptr(0), bp+88, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FerrMsg.FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage == uint32(0) { goto integrity_ck_cleanup @@ -58647,7 +58918,7 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin /* Check the integrity of the freelist */ if bCkFreelist != 0 { - (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4813 + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4877 _checkList(tls, bp, int32(1), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = uintptr(0) } @@ -58671,11 +58942,11 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } mxInHdr = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+52) if mx != mxInHdr { - _checkAppendMsg(tls, bp, __ccgo_ts+4824, libc.VaList(bp+200, mx, mxInHdr)) + _checkAppendMsg(tls, bp, __ccgo_ts+4888, libc.VaList(bp+208, mx, mxInHdr)) } } else { if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64) != uint32(0) { - _checkAppendMsg(tls, bp, __ccgo_ts+4869, 0) + _checkAppendMsg(tls, bp, __ccgo_ts+4933, 0) } } } @@ -58685,14 +58956,15 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin if !(int32(i) < nRoot && (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr != 0) { break } - if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == uint32(0) { - goto _2 - } - if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { - _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnRow = 0 + if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) != 0 { + if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { + _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + } + (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fv0 = *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) + _checkTreePage(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+192, libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)< nRec || iHdr >= *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84303)) + iHdr = uint32(uint8(v1)) + if *(*Tu32)(unsafe.Pointer(bp + 4)) > uint32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84745)) } - iField = *(*int32)(unsafe.Pointer(bp + 4)) + iField = int64(*(*Tu32)(unsafe.Pointer(bp + 4))) i = 0 for { if !(i <= iCol) { @@ -61871,19 +62175,19 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC } else { v3 = int32(_sqlite3GetVarint32(tls, a+uintptr(iHdr), bp)) } - iHdr += int32(uint8(v3)) - if iHdr > *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84309)) + iHdr += uint32(uint8(v3)) + if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84751)) } - szField = int32(_sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))) - iField += szField + szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp))) + iField += int64(szField) goto _2 _2: ; i++ } - if iField > nRec { - return _sqlite3CorruptError(tls, int32(84315)) + if iField > int64(nRec) { + return _sqlite3CorruptError(tls, int32(84757)) } if pMem == uintptr(0) { v4 = _sqlite3ValueNew(tls, db) @@ -61893,7 +62197,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return int32(SQLITE_NOMEM) } } - _sqlite3VdbeSerialGet(tls, a+uintptr(iField-szField), *(*Tu32)(unsafe.Pointer(bp)), pMem) + _sqlite3VdbeSerialGet(tls, a+uintptr(iField-int64(szField)), *(*Tu32)(unsafe.Pointer(bp)), pMem) (*TMem)(unsafe.Pointer(pMem)).Fenc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc return SQLITE_OK } @@ -62708,6 +63012,11 @@ func _resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { _ = libc.Int32FromInt32(0) /* True because of tag-20230419-1 */ (*TOp)(unsafe.Pointer(pOp)).Fp2 = *(*int32)(unsafe.Pointer(aLabel + uintptr(^(*TOp)(unsafe.Pointer(pOp)).Fp2)*4)) } + /* OPFLG_JUMP opcodes never have P2==0, though OPFLG_JUMP0 opcodes + ** might */ + _ = libc.Int32FromInt32(0) + /* Jumps never go off the end of the bytecode array */ + _ = libc.Int32FromInt32(0) break } /* The mkopcodeh.tcl script has so arranged things that the only @@ -63259,7 +63568,7 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { case -int32(8): pKeyInfo = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5081, libc.VaList(bp+32, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5145, libc.VaList(bp+32, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) j = 0 for { if !(j < int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)) { @@ -63269,68 +63578,68 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { if pColl != 0 { v2 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } zColl = v2 - if libc.Xstrcmp(tls, zColl, __ccgo_ts+5086) == 0 { - zColl = __ccgo_ts + 5093 + if libc.Xstrcmp(tls, zColl, __ccgo_ts+5150) == 0 { + zColl = __ccgo_ts + 5157 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_DESC) != 0 { - v3 = __ccgo_ts + 5074 + v3 = __ccgo_ts + 5138 } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_BIGNULL) != 0 { - v4 = __ccgo_ts + 5095 + v4 = __ccgo_ts + 5159 } else { - v4 = __ccgo_ts + 1648 + v4 = __ccgo_ts + 1662 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5098, libc.VaList(bp+32, v3, v4, zColl)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5162, libc.VaList(bp+32, v3, v4, zColl)) goto _1 _1: ; j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5170, int32(1)) case -int32(2): pColl1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5122, libc.VaList(bp+32, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5186, libc.VaList(bp+32, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) case -int32(7): pDef = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5131, libc.VaList(bp+32, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5195, libc.VaList(bp+32, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) case -int32(15): pDef1 = (*Tsqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpFunc - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5131, libc.VaList(bp+32, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5195, libc.VaList(bp+32, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) case -int32(13): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1404, libc.VaList(bp+32, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1423, libc.VaList(bp+32, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(3): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5138, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pOp + 16)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5202, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pOp + 16)))) case -int32(12): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1371, libc.VaList(bp+32, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1390, libc.VaList(bp+32, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(10): pMem = *(*uintptr)(unsafe.Pointer(pOp + 16)) if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Str) != 0 { zP4 = (*TMem)(unsafe.Pointer(pMem)).Fz } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1404, libc.VaList(bp+32, *(*Ti64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1423, libc.VaList(bp+32, *(*Ti64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1371, libc.VaList(bp+32, *(*float64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1390, libc.VaList(bp+32, *(*float64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Null) != 0 { - zP4 = __ccgo_ts + 1649 + zP4 = __ccgo_ts + 1663 } else { _ = libc.Int32FromInt32(0) - zP4 = __ccgo_ts + 5141 + zP4 = __ccgo_ts + 5205 } } } } case -int32(11): pVtab = (*TVTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpVtab - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5148, libc.VaList(bp+32, pVtab)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5212, libc.VaList(bp+32, pVtab)) case -int32(14): ai = *(*uintptr)(unsafe.Pointer(pOp + 16)) n = *(*Tu32)(unsafe.Pointer(ai)) /* The first element of an INTARRAY is always the @@ -63345,15 +63654,15 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } else { v6 = int32(',') } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5156, libc.VaList(bp+32, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5220, libc.VaList(bp+32, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) goto _5 _5: ; i++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5161, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5225, int32(1)) case -int32(4): - zP4 = __ccgo_ts + 5163 + zP4 = __ccgo_ts + 5227 case -int32(5): zP4 = (*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FzName default: @@ -63369,10 +63678,10 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } var _encnames = [4]uintptr{ - 0: __ccgo_ts + 5108, - 1: __ccgo_ts + 5110, - 2: __ccgo_ts + 5112, - 3: __ccgo_ts + 5117, + 0: __ccgo_ts + 5172, + 1: __ccgo_ts + 5174, + 2: __ccgo_ts + 5176, + 3: __ccgo_ts + 5181, } // C documentation @@ -64366,7 +64675,7 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { retryCount = 0 /* Select a super-journal file name */ nMainFile = _sqlite3Strlen30(tls, zMainFile) - zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5171, libc.VaList(bp+24, 0, zMainFile, 0)) + zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5235, libc.VaList(bp+24, 0, zMainFile, 0)) if zSuper == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -64374,18 +64683,18 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { for cond := true; cond; cond = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 4)) != 0 { if retryCount != 0 { if retryCount > int32(100) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5183, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5247, libc.VaList(bp+24, zSuper)) _sqlite3OsDelete(tls, pVfs, zSuper, 0) break } else { if retryCount == int32(1) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5197, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5261, libc.VaList(bp+24, zSuper)) } } } retryCount++ Xsqlite3_randomness(tls, int32(4), bp+8) - Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5212, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 8))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 8))&uint32(0xff))) + Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5276, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 8))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 8))&uint32(0xff))) /* The antipenultimate character of the super-journal name must ** be "9" to avoid name collisions when using 8+3 filenames. */ _ = libc.Int32FromInt32(0) @@ -64622,7 +64931,7 @@ func _sqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) (r int32) { if deferred != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > 0 || !(deferred != 0) && (*TVdbe)(unsafe.Pointer(p)).FnFkConstraint > 0 { (*TVdbe)(unsafe.Pointer(p)).Frc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(3)< y { return +libc.Int32FromInt32(1) } - s = float64(i) - if s < r { + if float64(i) < r { v2 = -int32(1) } else { - v2 = libc.BoolInt32(s > r) + v2 = libc.BoolInt32(float64(i) > r) } return v2 } @@ -65968,7 +66276,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89131))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89580))) return 0 /* Corruption */ } /* Only needed by assert() statements */ @@ -66063,7 +66371,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr pKeyInfo = v4 } if v5 || int32((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89212))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89661))) return 0 /* Corruption */ } else { if *(*uintptr)(unsafe.Pointer(pKeyInfo + 20 + uintptr(i)*4)) != 0 { @@ -66099,7 +66407,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } else { nStr = int32((*(*Tu32)(unsafe.Pointer(bp + 52)) - uint32(12)) / uint32(2)) if d1+uint32(nStr) > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89242))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89691))) return 0 /* Corruption */ } else { if int32((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 { @@ -66155,7 +66463,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } idx1 += uint32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 52))))) if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89293))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89742))) return 0 /* Corrupt index */ } } @@ -66296,7 +66604,7 @@ vrcs_restart: szHdr = int32(*(*Tu8)(unsafe.Pointer(aKey1))) nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2) if szHdr+nStr > nKey1 { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89456))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89905))) return 0 /* Corruption */ } if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr { @@ -66453,7 +66761,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr idx_rowid_corruption: ; _sqlite3VdbeMemReleaseMalloc(tls, bp+8) - return _sqlite3CorruptError(tls, int32(89614)) + return _sqlite3CorruptError(tls, int32(90063)) } // C documentation @@ -66486,7 +66794,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked ** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */ if nCellKey <= 0 || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return _sqlite3CorruptError(tls, int32(89647)) + return _sqlite3CorruptError(tls, int32(90096)) } _sqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, uint32(nCellKey), bp) @@ -66642,15 +66950,15 @@ func _sqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) (r int32) { pOp = (*TVdbe)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe)).FaOp + uintptr((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FiOp)*20 if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fopcode) == int32(OP_PureFunc) { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_IsCheck) != 0 { - zContext = __ccgo_ts + 5255 + zContext = __ccgo_ts + 5319 } else { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_GenCol) != 0 { - zContext = __ccgo_ts + 5274 + zContext = __ccgo_ts + 5338 } else { - zContext = __ccgo_ts + 5293 + zContext = __ccgo_ts + 5357 } } - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5302, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5366, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) return 0 @@ -66829,7 +67137,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) (r int32) { // */ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { if (*TVdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5338, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5402, 0) return int32(1) } else { return 0 @@ -66839,7 +67147,7 @@ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { func _vdbeSafetyNotNull(tls *libc.TLS, p uintptr) (r int32) { if p == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5383, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5447, 0) return int32(1) } else { return _vdbeSafety(tls, p) @@ -66901,7 +67209,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt db = (*TVdbe)(unsafe.Pointer(v)).Fdb if _vdbeSafety(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90035)) + return _sqlite3MisuseError(tls, int32(90484)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 { @@ -67432,7 +67740,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { _ = libc.Int32FromInt32(0) (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FisError = int32(SQLITE_TOOBIG) - _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5423, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) + _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5487, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) } // C documentation @@ -67643,7 +67951,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt /* the prepared statement */ cnt = 0 /* The database connection */ if _vdbeSafetyNotNull(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90829)) + return _sqlite3MisuseError(tls, int32(91278)) } db = (*TVdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) @@ -67777,7 +68085,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32 _, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1 *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) if pVal == uintptr(0) { - return _sqlite3MisuseError(tls, int32(90950)) + return _sqlite3MisuseError(tls, int32(91399)) } if int32((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) { return int32(SQLITE_ERROR) @@ -68250,18 +68558,18 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) (r int32) { // ** Column names appropriate for EXPLAIN or EXPLAIN QUERY PLAN. // */ var _azExplainColNames8 = [12]uintptr{ - 0: __ccgo_ts + 5446, - 1: __ccgo_ts + 5451, - 2: __ccgo_ts + 5458, - 3: __ccgo_ts + 5461, - 4: __ccgo_ts + 5464, - 5: __ccgo_ts + 5467, - 6: __ccgo_ts + 5470, - 7: __ccgo_ts + 5473, - 8: __ccgo_ts + 5481, - 9: __ccgo_ts + 5484, - 10: __ccgo_ts + 5491, - 11: __ccgo_ts + 5499, + 0: __ccgo_ts + 5510, + 1: __ccgo_ts + 5515, + 2: __ccgo_ts + 5522, + 3: __ccgo_ts + 5525, + 4: __ccgo_ts + 5528, + 5: __ccgo_ts + 5531, + 6: __ccgo_ts + 5534, + 7: __ccgo_ts + 5537, + 8: __ccgo_ts + 5545, + 9: __ccgo_ts + 5548, + 10: __ccgo_ts + 5555, + 11: __ccgo_ts + 5563, } var _azExplainColNames16data = [60]Tu16{ 0: uint16('a'), @@ -68507,14 +68815,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) { var v2 bool _, _, _ = pVar, v1, v2 if _vdbeSafetyNotNull(tls, p) != 0 { - return _sqlite3MisuseError(tls, int32(91554)) + return _sqlite3MisuseError(tls, int32(92003)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if int32((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) { - _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(91558))) + _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(92007))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5506, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) - return _sqlite3MisuseError(tls, int32(91562)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5570, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) + return _sqlite3MisuseError(tls, int32(92011)) } if i >= uint32((*TVdbe)(unsafe.Pointer(p)).FnVar) { _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE)) @@ -69088,7 +69396,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp /* Test that this call is being made from within an SQLITE_DELETE or ** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */ if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) { - rc = _sqlite3MisuseError(tls, int32(92098)) + rc = _sqlite3MisuseError(tls, int32(92547)) goto preupdate_old_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 { @@ -69219,7 +69527,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp rc = SQLITE_OK p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) { - rc = _sqlite3MisuseError(tls, int32(92221)) + rc = _sqlite3MisuseError(tls, int32(92670)) goto preupdate_new_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) { @@ -69396,7 +69704,7 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr break } } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5546, int32(3)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5610, int32(3)) _ = libc.Int32FromInt32(0) Xsqlite3_str_append(tls, bp+8, zStart, int32(zRawSql)-int32(zStart)) } @@ -69435,13 +69743,13 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr _ = libc.Int32FromInt32(0) pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(*(*int32)(unsafe.Pointer(bp))-int32(1))*40 if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1649, int32(4)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1663, int32(4)) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1404, libc.VaList(bp+80, *(*Ti64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1423, libc.VaList(bp+80, *(*Ti64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5067, libc.VaList(bp+80, *(*float64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5131, libc.VaList(bp+80, *(*float64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Str) != 0 { /* Number of bytes of the string text to include in output */ enc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc @@ -69456,29 +69764,29 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr pVar = bp + 32 } nOut = (*TMem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5550, libc.VaList(bp+80, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5614, libc.VaList(bp+80, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != int32(SQLITE_UTF8) { _sqlite3VdbeMemRelease(tls, bp+32) } } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5557, libc.VaList(bp+80, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5621, libc.VaList(bp+80, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) } else { /* Number of bytes of the blob to include in output */ _ = libc.Int32FromInt32(0) - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5570, int32(2)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5634, int32(2)) nOut1 = (*TMem)(unsafe.Pointer(pVar)).Fn i = 0 for { if !(i < nOut1) { break } - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5573, libc.VaList(bp+80, int32(*(*uint8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5637, libc.VaList(bp+80, int32(*(*uint8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) goto _3 _3: ; i++ } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5578, int32(1)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5642, int32(1)) } } } @@ -70093,7 +70401,7 @@ var _azTypes = [5]uintptr{ 1: __ccgo_ts + 1144, 2: __ccgo_ts + 1149, 3: __ccgo_ts + 1127, - 4: __ccgo_ts + 1649, + 4: __ccgo_ts + 1663, } // C documentation @@ -70107,7 +70415,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { defer tls.Free(768) var aCol, aMem, aOffset, aOp, aPermute, aRoot, apArg, apArg1, db, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pnErr, t1, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v240, v241, v242, v250, v251, v252, v253, v255, v263, v278, v279, v286, v288, v297, v298, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 uintptr var affinity uint8 - var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 + var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, savedAnalysisLimit, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 var colCacheCtr, iAddr, iMap, iPrior, idx, len11, n3, p22, p23, serialType, serial_type, v213, v214, v216, v221, v222 Tu32 var encoding, isWriteLock, mTrace, op, p5, resetSchemaOnFault, vtabOnConflict, v225 Tu8 var flags1, flags11, flags2, flags3, flags31, newType, nullFlag, type1, type2, typeMask, v190 Tu16 @@ -70164,7 +70472,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { var _ /* z at bp+560 */ uintptr var _ /* zErr at bp+524 */ uintptr var _ /* zErr at bp+644 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, savedAnalysisLimit, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 aOp = (*TVdbe)(unsafe.Pointer(p)).FaOp /* Copy of p->aOp */ pOp = aOp /* Current operation */ rc = SQLITE_OK /* Value to return */ @@ -70440,7 +70748,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto _109 case int32(OP_SeekEnd): goto _110 - case int32(OP_IfSmaller): + case int32(OP_IfSizeBetween): goto _111 case int32(OP_Sort): goto _112 @@ -70737,7 +71045,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: EndCoroutine */ _5: - ; /* jump */ + ; /* jump0 */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -70761,7 +71069,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** ** The instruction at the address in register P1 is a Yield. ** Jump to the P2 parameter of that Yield. - ** After the jump, register P1 becomes undefined. + ** After the jump, the value register P1 is left with a value + ** such that subsequent OP_Yields go back to the this same + ** OP_EndCoroutine instruction. ** ** See also: InitCoroutine */ @@ -70773,8 +71083,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pCaller = aOp + uintptr(*(*Ti64)(unsafe.Pointer(pIn1)))*20 _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) + *(*Ti64)(unsafe.Pointer(pIn1)) = int64((int32(pOp)-int32((*TVdbe)(unsafe.Pointer(p)).FaOp))/20 - int32(1)) pOp = aOp + uintptr((*TVdbeOp)(unsafe.Pointer(pCaller)).Fp2-int32(1))*20 - (*TMem)(unsafe.Pointer(pIn1)).Fflags = uint16(MEM_Undefined) goto _187 /* Opcode: Yield P1 P2 * * * ** @@ -70873,15 +71183,15 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) if (*TVdbe)(unsafe.Pointer(p)).Frc != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+5614, libc.VaList(bp+736, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) + _sqlite3VdbeError(tls, p, __ccgo_ts+5678, libc.VaList(bp+736, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) if *(*uintptr)(unsafe.Pointer(pOp + 16)) != 0 { - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5635, libc.VaList(bp+736, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5699, libc.VaList(bp+736, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } } else { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+736, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+736, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } pcx = (int32(pOp) - int32(aOp)) / 20 - Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5642, libc.VaList(bp+736, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5706, libc.VaList(bp+736, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) } rc = _sqlite3VdbeHalt(tls, p) _ = libc.Int32FromInt32(0) @@ -71086,18 +71396,14 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } (*TMem)(unsafe.Pointer(pOut)).Fenc = encoding goto _187 - /* Opcode: Variable P1 P2 * P4 * - ** Synopsis: r[P2]=parameter(P1,P4) + /* Opcode: Variable P1 P2 * * * + ** Synopsis: r[P2]=parameter(P1) ** ** Transfer the values of bound parameter P1 into register P2 - ** - ** If the parameter is named, then its name appears in P4. - ** The P4 value is used by sqlite3_bind_parameter_name(). */ _19: ; /* Value being transferred */ _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1-int32(1))*40 if _sqlite3VdbeMemTooBig(tls, pVar) != 0 { goto too_big @@ -71634,7 +71940,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** raise an SQLITE_MISMATCH exception. */ _38: - ; /* jump, in1 */ + ; /* jump0, in1 */ pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*40 if int32((*TMem)(unsafe.Pointer(pIn1)).Fflags)&int32(MEM_Int) == 0 { _applyAffinity(tls, pIn1, uint8(SQLITE_AFF_NUMERIC), encoding) @@ -72699,7 +73005,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*20 goto _187 } else { - rc = _sqlite3CorruptError(tls, int32(95863)) + rc = _sqlite3CorruptError(tls, int32(96311)) goto abort_due_to_error } /* Opcode: TypeCheck P1 P2 P3 P4 * @@ -72808,7 +73114,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_type_error vdbe_type_error: ; - _sqlite3VdbeError(tls, p, __ccgo_ts+5666, libc.VaList(bp+736, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*12 + 4))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*12))).FzCnName)) + _sqlite3VdbeError(tls, p, __ccgo_ts+5730, libc.VaList(bp+736, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*12 + 4))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*12))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(12)< 0 && p12 == int32(SAVEPOINT_RELEASE) { /* It is not possible to release (commit) a savepoint if there are ** active write statements. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5780, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5844, 0) rc = int32(SQLITE_BUSY) } else { /* Determine whether or not this is a transaction savepoint. If so, @@ -73441,7 +73747,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If this instruction implements a COMMIT and other VMs are writing ** return an error indicating that the other VMs must complete first. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5834, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5898, 0) rc = int32(SQLITE_BUSY) goto abort_due_to_error } else { @@ -73471,12 +73777,12 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_return } else { if !(desiredAutoCommit != 0) { - v250 = __ccgo_ts + 5889 + v250 = __ccgo_ts + 5953 } else { if iRollback != 0 { - v251 = __ccgo_ts + 5937 + v251 = __ccgo_ts + 6001 } else { - v251 = __ccgo_ts + 5980 + v251 = __ccgo_ts + 6044 } v250 = v251 } @@ -73578,7 +73884,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** SQL statement was prepared. */ _sqlite3DbFree(tls, db, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg) - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6021) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6085) /* If the schema-cookie from the database file matches the cookie ** stored with the in-memory representation of the schema, do ** not reload the schema from the database file. @@ -73936,7 +74242,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*40))).Fn = 0 - (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*40))).Fz = __ccgo_ts + 1648 + (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*40))).Fz = __ccgo_ts + 1662 } pCx1 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*4)) if pCx1 != 0 && !(int32(TBool(*(*uint8)(unsafe.Pointer(pCx1 + 8))&0x8>>3)) != 0) && (*TOp)(unsafe.Pointer(pOp)).Fp2 <= int32((*TVdbeCursor)(unsafe.Pointer(pCx1)).FnField) { @@ -74052,7 +74358,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** is the only cursor opcode that works with a pseudo-table. ** ** P3 is the number of fields in the records that will be stored by - ** the pseudo-table. + ** the pseudo-table. If P2 is 0 or negative then the pseudo-cursor + ** will return NULL for every column. */ _83: ; @@ -74174,11 +74481,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: Found, NotFound, SeekGt, SeekGe, SeekLt */ _88: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _87: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _86: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _85: ; /* Only interested in == results */ _ = libc.Int32FromInt32(0) @@ -74804,7 +75111,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp + 208)) != 0 { _ = libc.Int32FromInt32(0) if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 { - rc = _sqlite3CorruptError(tls, int32(98111)) + rc = _sqlite3CorruptError(tls, int32(98565)) } else { goto jump_to_p2 } @@ -75479,14 +75786,20 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } goto _187 - /* Opcode: IfSmaller P1 P2 P3 * * + /* Opcode: IfSizeBetween P1 P2 P3 P4 * + ** + ** Let N be the approximate number of rows in the table or index + ** with cursor P1 and let X be 10*log2(N) if N is positive or -1 + ** if N is zero. ** - ** Estimate the number of rows in the table P1. Jump to P2 if that - ** estimate is less than approximately 2**(0.1*P3). + ** Jump to P2 if X is in between P3 and P4, inclusive. */ _111: ; _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) pC20 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*4)) _ = libc.Int32FromInt32(0) pCrsr5 = *(*uintptr)(unsafe.Pointer(pC20 + 36)) @@ -75495,12 +75808,14 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { goto abort_due_to_error } - if *(*int32)(unsafe.Pointer(bp + 332)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 332)) != 0 { + sz = int64(-int32(1)) /* -Infinity encoding */ + } else { sz = _sqlite3BtreeRowCountEst(tls, pCrsr5) - if sz >= 0 && int32(_sqlite3LogEst(tls, uint64(sz))) < (*TOp)(unsafe.Pointer(pOp)).Fp3 { - *(*int32)(unsafe.Pointer(bp + 332)) = int32(1) - } + _ = libc.Int32FromInt32(0) + sz = int64(_sqlite3LogEst(tls, uint64(sz))) } + *(*int32)(unsafe.Pointer(bp + 332)) = libc.BoolInt32(sz >= int64((*TOp)(unsafe.Pointer(pOp)).Fp3) && sz <= int64(*(*int32)(unsafe.Pointer(pOp + 16)))) if *(*int32)(unsafe.Pointer(bp + 332)) != 0 { goto jump_to_p2 } @@ -75807,7 +76122,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } else { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) { - rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) { - rc = _sqlite3CorruptError(tls, int32(99398)) + rc = _sqlite3CorruptError(tls, int32(99862)) goto abort_due_to_error } _sqlite3VdbeMemInit(tls, bp+464, db, uint16(0)) @@ -76153,11 +76468,18 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } *(*Ti64)(unsafe.Pointer(pOut)) = int64(*(*TPgno)(unsafe.Pointer(bp + 520))) goto _187 - /* Opcode: SqlExec * * * P4 * + /* Opcode: SqlExec P1 P2 * P4 * ** ** Run the SQL statement or statements specified in the P4 string. - ** Disable Auth and Trace callbacks while those statements are running if - ** P1 is true. + ** + ** The P1 parameter is a bitmask of options: + ** + ** 0x0001 Disable Auth and Trace callbacks while the statements + ** in P4 are running. + ** + ** 0x0002 Set db->nAnalysisLimit to P2 while the statements in + ** P4 are running. + ** */ _132: ; @@ -76165,16 +76487,21 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*uintptr)(unsafe.Pointer(bp + 524)) = uintptr(0) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth mTrace = (*Tsqlite3)(unsafe.Pointer(db)).FmTrace - if (*TOp)(unsafe.Pointer(pOp)).Fp1 != 0 { + savedAnalysisLimit = (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0001) != 0 { (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(0) } + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0002) != 0 { + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (*TOp)(unsafe.Pointer(pOp)).Fp2 + } rc = Xsqlite3_exec(tls, db, *(*uintptr)(unsafe.Pointer(pOp + 16)), uintptr(0), uintptr(0), bp+524) (*Tsqlite3)(unsafe.Pointer(db)).FnSqlExec-- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = mTrace + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = savedAnalysisLimit if *(*uintptr)(unsafe.Pointer(bp + 524)) != 0 || rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+736, *(*uintptr)(unsafe.Pointer(bp + 524)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+736, *(*uintptr)(unsafe.Pointer(bp + 524)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 524))) if rc == int32(SQLITE_NOMEM) { goto no_mem @@ -76207,13 +76534,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*Tu32)(unsafe.Pointer(db + 24)) |= uint32(DBFLAG_SchemaChange) libc.SetBitFieldPtr16Uint32(p+152, libc.Uint32FromInt32(0), 0, 0x3) } else { - zSchema = __ccgo_ts + 6066 + zSchema = __ccgo_ts + 6130 (*(*TInitData)(unsafe.Pointer(bp + 528))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 528))).FiDb = iDb3 (*(*TInitData)(unsafe.Pointer(bp + 528))).FpzErrMsg = p + 124 (*(*TInitData)(unsafe.Pointer(bp + 528))).FmInitFlags = uint32(0) (*(*TInitData)(unsafe.Pointer(bp + 528))).FmxPage = _sqlite3BtreeLastPage(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*16))).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6080, libc.VaList(bp+736, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*16))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6144, libc.VaList(bp+736, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*16))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -76230,7 +76557,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* The OP_ParseSchema opcode with a non-NULL P4 argument should parse ** at least one SQL statement. Any less than that indicates that ** the sqlite_schema table is corrupt. */ - rc = _sqlite3CorruptError(tls, int32(99678)) + rc = _sqlite3CorruptError(tls, int32(100155)) } _sqlite3DbFreeNN(tls, db, zSql) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) @@ -76297,11 +76624,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* Opcode: IntegrityCk P1 P2 P3 P4 P5 ** ** Do an analysis of the currently open database. Store in - ** register P1 the text of an error message describing any problems. - ** If no problems are found, store a NULL in register P1. + ** register (P1+1) the text of an error message describing any problems. + ** If no problems are found, store a NULL in register (P1+1). ** - ** The register P3 contains one less than the maximum number of allowed errors. - ** At most reg(P3) errors will be reported. + ** The register (P1) contains one less than the maximum number of allowed + ** errors. At most reg(P1) errors will be reported. ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. ** @@ -76316,18 +76643,20 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _138: ; /* Register keeping track of errors remaining */ _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) nRoot = (*TOp)(unsafe.Pointer(pOp)).Fp2 aRoot = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*40 _ = libc.Int32FromInt32(0) + pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*40 _ = libc.Int32FromInt32(0) - pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*40 + _ = libc.Int32FromInt32(0) + pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1+int32(1))*40 _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*16))).FpBt, aRoot+1*4, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+556, bp+560) + rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*16))).FpBt, aRoot+1*4, aMem+uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*40, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+556, bp+560) _sqlite3VdbeMemSetNull(tls, pIn1) if *(*int32)(unsafe.Pointer(bp + 556)) == 0 { _ = libc.Int32FromInt32(0) @@ -76441,7 +76770,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** P1 contains the address of the memory cell that contains the first memory ** cell in an array of values used as arguments to the sub-program. P2 ** contains the address to jump to if the sub-program throws an IGNORE - ** exception using the RAISE() function. Register P3 contains the address + ** exception using the RAISE() function. P2 might be zero, if there is + ** no possibility that an IGNORE exception will be raised. + ** Register P3 contains the address ** of a memory cell in this (the parent) VM that is used to allocate the ** memory required by the sub-vdbe at runtime. ** @@ -76483,7 +76814,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } if (*TVdbe)(unsafe.Pointer(p)).FnFrame >= *(*int32)(unsafe.Pointer(db + 120 + 10*4)) { rc = int32(SQLITE_ERROR) - _sqlite3VdbeError(tls, p, __ccgo_ts+6123, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6187, 0) goto abort_due_to_error } /* Register pRt is used to store the memory required to save the state @@ -76867,7 +77198,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } /* IMP: R-24505-23230 */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+736, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+736, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError } if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FskipFlag != 0 { @@ -76929,7 +77260,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3VdbeMemFinalize(tls, pMem3, *(*uintptr)(unsafe.Pointer(pOp + 16))) } if rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+736, Xsqlite3_value_text(tls, pMem3))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+736, Xsqlite3_value_text(tls, pMem3))) goto abort_due_to_error } _sqlite3VdbeChangeEncoding(tls, pMem3, int32(encoding)) @@ -77014,11 +77345,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeRead > int32(1) { rc = int32(SQLITE_ERROR) if eNew == int32(PAGER_JOURNALMODE_WAL) { - v286 = __ccgo_ts + 6160 + v286 = __ccgo_ts + 6224 } else { - v286 = __ccgo_ts + 6165 + v286 = __ccgo_ts + 6229 } - _sqlite3VdbeError(tls, p, __ccgo_ts+6172, libc.VaList(bp+736, v286)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6236, libc.VaList(bp+736, v286)) goto abort_due_to_error } else { if eOld == int32(PAGER_JOURNALMODE_WAL) { @@ -77186,7 +77517,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { if rc&int32(0xFF) == int32(SQLITE_LOCKED) { z1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - _sqlite3VdbeError(tls, p, __ccgo_ts+6224, libc.VaList(bp+736, z1)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6288, libc.VaList(bp+736, z1)) } goto abort_due_to_error } @@ -77364,7 +77695,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TValueList)(unsafe.Pointer(pRhs)).FpOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*40 pOut = _out2Prerelease(tls, p, pOp) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null) - _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6253, __ccgo_fp(_sqlite3VdbeValueListFree)) + _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6317, __ccgo_fp(_sqlite3VdbeValueListFree)) goto _187 /* Opcode: VFilter P1 P2 P3 P4 * ** Synopsis: iplan=r[P3] zplan='P4' @@ -77469,7 +77800,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_module)(unsafe.Pointer(pModule4)).FxColumn})))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 36)), bp+648, (*TOp)(unsafe.Pointer(pOp)).Fp2) _sqlite3VtabImportErrmsg(tls, p, pVtab4) if (*(*Tsqlite3_context)(unsafe.Pointer(bp + 648))).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+736, Xsqlite3_value_text(tls, pDest2))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+736, Xsqlite3_value_text(tls, pDest2))) rc = (*(*Tsqlite3_context)(unsafe.Pointer(bp + 648))).FisError } _sqlite3VdbeChangeEncoding(tls, pDest2, int32(encoding)) @@ -77738,7 +78069,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If the function returned an error, throw an exception */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+736, Xsqlite3_value_text(tls, pOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+736, Xsqlite3_value_text(tls, pOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError } _sqlite3VdbeDeleteAuxData(tls, db, p+228, (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FiOp, (*TOp)(unsafe.Pointer(pOp)).Fp1) @@ -77900,7 +78231,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { Xsqlite3_free(tls, z2) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeExec > int32(1) { - z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6263, libc.VaList(bp+736, zTrace)) + z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6327, libc.VaList(bp+736, zTrace)) (*(*func(*libc.TLS, Tu32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(&(*Tsqlite3)(unsafe.Pointer(db)).Ftrace))})))(tls, uint32(SQLITE_TRACE_STMT), (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) _sqlite3DbFree(tls, db, z3) } else { @@ -77974,16 +78305,16 @@ abort_due_to_error: rc = int32(SQLITE_NOMEM) } else { if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)<op on success */ - pTab = uintptr(0) /* A column of pTab */ - *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ - _ = libc.Int32FromInt32(0) /* the name context cannot be NULL. */ - _ = libc.Int32FromInt32(0) /* The Z in X.Y.Z cannot be NULL */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, cntTab, db, eNewExprOp, hCol, hCol1, hit, i, iCol, j, nSubquery, op, pCol, pEList, pItem, pMatch, pOrig, pSchema, pSrcList, pTab, pTopNC, pUpsert, zAs, zCol, zErr, v10, v5, v7, v8 /* Loop counters */ + cnt = 0 /* Number of matching column names */ + cntTab = 0 /* Number of potential "rowid" matches */ + nSubquery = 0 /* How many levels of subquery */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Use for looping over pSrcList items */ + pMatch = uintptr(0) /* The matching pSrcList item */ + pTopNC = pNC /* First namecontext in the list */ + pSchema = uintptr(0) /* Schema of the expression */ + eNewExprOp = int32(TK_COLUMN) /* New value for pExpr->op on success */ + pTab = uintptr(0) /* A column of pTab */ + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + zCol = *(*uintptr)(unsafe.Pointer(pRight + 8)) + _ = libc.Int32FromInt32(0) /* the name context cannot be NULL. */ + _ = libc.Int32FromInt32(0) /* The Z in X.Y.Z cannot be NULL */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) /* Initialize the node to no-match */ @@ -83023,7 +83355,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ; i++ } - if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6585, zDb) == 0 { + if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6649, zDb) == 0 { /* This branch is taken when the main database has been renamed ** using SQLITE_DBCONFIG_MAINDBNAME. */ pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema @@ -83125,7 +83457,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TTable)(unsafe.Pointer(pTab)).FpSchema != pSchema { goto _2 } - if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6590) != 0 { + if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6654) != 0 { goto _2 } } @@ -83240,16 +83572,16 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol op = int32((*TParse)(unsafe.Pointer(pParse)).FeTriggerOp) _ = libc.Int32FromInt32(0) if (*TParse)(unsafe.Pointer(pParse)).FbReturning != 0 { - if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0) { + if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0 || _isValidSchemaTableName(tls, zTab, (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab, uintptr(0)) != 0) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = libc.BoolInt32(op != int32(TK_DELETE)) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } } else { - if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6592, zTab) == 0 { + if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6656, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(1) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } else { - if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6596, zTab) == 0 { + if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6660, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = 0 pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } @@ -83258,7 +83590,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UUpsert) != 0 && zTab != uintptr(0) { pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 8)) - if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6600, zTab) == 0 { + if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6664, zTab) == 0 { pTab = (*(*TSrcItem)(unsafe.Pointer((*TUpsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8))).FpTab (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(EXCLUDED_TABLE_NUMBER) } @@ -83380,15 +83712,15 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol _ = libc.Int32FromInt32(0) pOrig = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(j)*20))).FpExpr if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 && (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6609, libc.VaList(bp+16, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6673, libc.VaList(bp+16, zAs)) return int32(WRC_Abort) } if (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Win)) != uint32(0) && ((*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 || pNC != pTopNC) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6640, libc.VaList(bp+16, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6704, libc.VaList(bp+16, zAs)) return int32(WRC_Abort) } if _sqlite3ExprVectorSize(tls, pOrig) != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) return int32(WRC_Abort) } _resolveAlias(tls, pParse, pEList, j, pExpr, nSubquery) @@ -83442,7 +83774,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** a huge amount of legacy SQL that uses it. So for now, we just ** issue a warning. */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6695, libc.VaList(bp+16, zCol)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6759, libc.VaList(bp+16, zCol)) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_STRING) libc.Xmemset(tls, pExpr+44, 0, uint32(8)) return int32(WRC_Prune) @@ -83473,7 +83805,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } _extendFJMatch(tls, pParse, bp, pMatch, (*TExpr)(unsafe.Pointer(pExpr)).FiColumn) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_FUNCTION) - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6730 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6794 *(*uintptr)(unsafe.Pointer(pExpr + 20)) = *(*uintptr)(unsafe.Pointer(bp)) cnt = int32(1) goto lookupname_end @@ -83483,18 +83815,22 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } } if cnt == 0 { - v10 = __ccgo_ts + 6739 + v10 = __ccgo_ts + 6803 } else { - v10 = __ccgo_ts + 6754 + v10 = __ccgo_ts + 6818 } zErr = v10 if zDb != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6776, libc.VaList(bp+16, zErr, zDb, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6840, libc.VaList(bp+16, zErr, zDb, zTab, zCol)) } else { if zTab != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6789, libc.VaList(bp+16, zErr, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6853, libc.VaList(bp+16, zErr, zTab, zCol)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6799, libc.VaList(bp+16, zErr, zCol)) + if cnt == 0 && (*TExpr)(unsafe.Pointer(pRight)).Fflags&uint32(libc.Int32FromInt32(EP_DblQuoted)) != uint32(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6863, libc.VaList(bp+16, zErr, zCol)) + } else { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6924, libc.VaList(bp+16, zErr, zCol)) + } } } _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -83525,8 +83861,12 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** If a generated column is referenced, set bits for every column ** of the table. */ - if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 && cnt == int32(1) && pMatch != uintptr(0) { - *(*TBitmask)(unsafe.Pointer(pMatch + 56)) |= _sqlite3ExprColUsed(tls, pExpr) + if pMatch != 0 { + if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { + *(*TBitmask)(unsafe.Pointer(pMatch + 56)) |= _sqlite3ExprColUsed(tls, pExpr) + } else { + libc.SetBitFieldPtr16Uint32(pMatch+36+4, libc.Uint32FromInt32(1), 14, 0x4000) + } } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(eNewExprOp) goto lookupname_end @@ -83622,19 +83962,19 @@ func _notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pEx defer tls.Free(32) var zIn uintptr _ = zIn - zIn = __ccgo_ts + 6806 + zIn = __ccgo_ts + 6931 if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IdxExpr) != 0 { - zIn = __ccgo_ts + 6834 + zIn = __ccgo_ts + 6959 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IsCheck) != 0 { - zIn = __ccgo_ts + 6852 + zIn = __ccgo_ts + 6977 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_GenCol) != 0 { - zIn = __ccgo_ts + 6870 + zIn = __ccgo_ts + 6995 } } } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6888, libc.VaList(bp+8, zMsg, zIn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7013, libc.VaList(bp+8, zMsg, zIn)) if pExpr != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } @@ -83684,8 +84024,8 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { var anRef [8]int32 var auth, i, is_agg, n, nLeft, nRef, nRight, no_such_func, rc, savedAllowFlags, wrong_num_args, v12, v4, v6, v7 int32 var enc Tu8 - var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zColumn, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zColumn, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 + var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 pNC = *(*uintptr)(unsafe.Pointer(pWalker + 24)) _ = libc.Int32FromInt32(0) pParse = (*TNameContext)(unsafe.Pointer(pNC)).FpParse @@ -83810,12 +84150,12 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { zDb = uintptr(0) zTable = uintptr(0) _ = libc.Int32FromInt32(0) - zColumn = *(*uintptr)(unsafe.Pointer(pExpr + 8)) + pRight = pExpr } else { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+6908, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7033, uintptr(0), pExpr) } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_ID) { @@ -83829,14 +84169,13 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { } _ = libc.Int32FromInt32(0) zTable = *(*uintptr)(unsafe.Pointer(pLeft + 8)) - zColumn = *(*uintptr)(unsafe.Pointer(pRight + 8)) _ = libc.Int32FromInt32(0) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameTokenRemap(tls, pParse, pExpr, pRight) _sqlite3RenameTokenRemap(tls, pParse, pExpr+44, pLeft) } } - return _lookupName(tls, pParse, zDb, zTable, zColumn, pNC, pExpr) + return _lookupName(tls, pParse, zDb, zTable, pRight, pNC, pExpr) /* Resolve function names */ fallthrough @@ -83877,7 +84216,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if n == int32(2) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = _exprProbability(tls, (*(*TExprList_item)(unsafe.Pointer(pList + 8 + 1*20))).FpExpr) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6925, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7050, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -83901,7 +84240,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { auth = _sqlite3AuthCheck(tls, pParse, int32(SQLITE_FUNCTION), uintptr(0), (*TFuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0)) if auth != SQLITE_OK { if auth == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6989, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7114, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) @@ -83923,7 +84262,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { ** all this. */ _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7025, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7150, uintptr(0), pExpr) } } else { _ = libc.Int32FromInt32(0) /* Must fit in 8 bits */ @@ -83948,29 +84287,29 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if 0 == libc.BoolInt32(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME)) { _ = libc.Int32FromInt32(0) if pDef != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7053, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7178, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 || is_agg != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) || is_agg != 0 && pWin != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 { if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 { - zType = __ccgo_ts + 7096 + zType = __ccgo_ts + 7221 } else { - zType = __ccgo_ts + 7103 + zType = __ccgo_ts + 7228 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7113, libc.VaList(bp+8, zType, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7238, libc.VaList(bp+8, zType, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else { if no_such_func != 0 && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7141, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7266, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if wrong_num_args != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7163, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7288, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7207, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7332, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { @@ -83994,7 +84333,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { *(*int32)(unsafe.Pointer(pNC + 24)) &= ^(libc.Int32FromInt32(NC_AllowWin) | v7) } } else { - if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { is_agg = int32(1) } } @@ -84060,21 +84399,23 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { case int32(TK_IN): if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) { nRef = (*TNameContext)(unsafe.Pointer(pNC)).FnRef + _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_SelfRef) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7255, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7380, pExpr, pExpr) } else { _sqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 20))) } _ = libc.Int32FromInt32(0) if nRef != (*TNameContext)(unsafe.Pointer(pNC)).FnRef { *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20)) + 4)) |= uint32(SF_Correlated) } *(*int32)(unsafe.Pointer(pNC + 24)) |= int32(NC_Subquery) } case int32(TK_VARIABLE): _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IsCheck)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7266, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7391, pExpr, pExpr) } case int32(TK_IS): fallthrough @@ -84124,7 +84465,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { nRight = _sqlite3ExprVectorSize(tls, (*TExpr)(unsafe.Pointer(pExpr)).FpRight) } if nLeft != nRight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } break @@ -84252,7 +84593,7 @@ func _resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintpt func _resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7277, libc.VaList(bp+8, i, zType, mx)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7402, libc.VaList(bp+8, i, zType, mx)) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pError) } @@ -84287,7 +84628,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 120 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7333, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7458, 0) return int32(1) } i = 0 @@ -84326,7 +84667,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } if _sqlite3ExprIsInteger(tls, pE, bp) != 0 { if *(*int32)(unsafe.Pointer(bp)) <= 0 || *(*int32)(unsafe.Pointer(bp)) > (*TExprList)(unsafe.Pointer(pEList)).FnExpr { - _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7367, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) + _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7492, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) return int32(1) } } else { @@ -84399,7 +84740,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r break } if int32(uint32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*20 + 8 + 4))&0x4>>2)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7373, libc.VaList(bp+16, i+int32(1))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7498, libc.VaList(bp+16, i+int32(1))) return int32(1) } goto _3 @@ -84433,7 +84774,7 @@ func _sqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 120 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7434, libc.VaList(bp+8, zType)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7559, libc.VaList(bp+8, zType)) return int32(1) } pEList = (*TSelect)(unsafe.Pointer(pSelect)).FpEList @@ -84685,6 +85026,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } pItem = (*TSelect)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*72 + _ = libc.Int32FromInt32(0) /* Test of tag-20240424-1*/ if (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselFlags&uint32(SF_Resolved) == uint32(0) { if pOuterNC != 0 { v3 = (*TNameContext)(unsafe.Pointer(pOuterNC)).FnRef @@ -84757,7 +85099,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { (*(*TNameContext)(unsafe.Pointer(bp))).FncFlags |= int32(NC_UEList) if (*TSelect)(unsafe.Pointer(p)).FpHaving != 0 { if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Aggregate) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7465, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7590, 0) return int32(WRC_Abort) } if _sqlite3ResolveExprNames(tls, bp, (*TSelect)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -84824,7 +85166,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** is not detected until much later, and so we need to go ahead and ** resolve those symbols on the incorrect ORDER BY for consistency. */ - if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7367) != 0 { + if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7492) != 0 { return int32(WRC_Abort) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -84835,7 +85177,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** the GROUP BY clause does not contain aggregate functions. */ if pGroupBy != 0 { - if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7504) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { + if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7629) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(WRC_Abort) } i = 0 @@ -84845,7 +85187,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } if (*TExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(pItem2)).FpExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7510, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7635, 0) return int32(WRC_Abort) } goto _6 @@ -85876,7 +86218,7 @@ func _codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32 return } if nLeft != _sqlite3ExprVectorSize(tls, pRight) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) return } _ = libc.Int32FromInt32(0) @@ -85961,7 +86303,7 @@ func _sqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) (r in rc = SQLITE_OK mxHeight = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 120 + 3*4)) if nHeight > mxHeight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7569, libc.VaList(bp+8, mxHeight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7694, libc.VaList(bp+8, mxHeight)) rc = int32(SQLITE_ERROR) } return rc @@ -86127,11 +86469,12 @@ func _sqlite3ExprSetErrorOffset(tls *libc.TLS, pExpr uintptr, iOfst int32) { // ** appear to be quoted. If the quotes were of the form "..." (double-quotes) // ** then the EP_DblQuoted flag is set on the expression node. // ** -// ** Special case: If op==TK_INTEGER and pToken points to a string that -// ** can be translated into a 32-bit integer, then the token is not -// ** stored in u.zToken. Instead, the integer values is written -// ** into u.iValue and the EP_IntValue flag is set. No extra storage +// ** Special case (tag-20240227-a): If op==TK_INTEGER and pToken points to +// ** a string that can be translated into a 32-bit integer, then the token is +// ** not stored in u.zToken. Instead, the integer values is written +// ** into u.iValue and the EP_IntValue flag is set. No extra storage // ** is allocated to hold the integer text and the dequote flag is ignored. +// ** See also tag-20240227-b. // */ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) (r uintptr) { bp := tls.Alloc(16) @@ -86145,7 +86488,7 @@ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ _ = libc.Int32FromInt32(0) if pToken != 0 { if op != int32(TK_INTEGER) || (*TToken)(unsafe.Pointer(pToken)).Fz == uintptr(0) || _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pToken)).Fz, bp) == 0 { - nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) + nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) /* tag-20240227-a */ _ = libc.Int32FromInt32(0) } } @@ -86314,11 +86657,11 @@ func _sqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList } if nExprElem != nElem { if nExprElem > int32(1) { - v2 = __ccgo_ts + 7617 + v2 = __ccgo_ts + 7742 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7619, libc.VaList(bp+8, nExprElem, v2, nElem)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7744, libc.VaList(bp+8, nExprElem, v2, nElem)) break } _ = libc.Int32FromInt32(0) @@ -86368,7 +86711,7 @@ func _sqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt if f&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_InnerON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { _sqlite3ExprDeferredDelete(tls, pParse, pLeft) _sqlite3ExprDeferredDelete(tls, pParse, pRight) - return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1722) + return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1782) } else { return _sqlite3PExpr(tls, pParse, int32(TK_AND), pLeft, pRight) } @@ -86398,7 +86741,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pNew + 36)) = int32((*TToken)(unsafe.Pointer(pToken)).Fz) - int32((*TParse)(unsafe.Pointer(pParse)).FzTail) if pList != 0 && (*TExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 120 + 6*4)) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7663, libc.VaList(bp+8, pToken)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7788, libc.VaList(bp+8, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 20)) = pList *(*Tu32)(unsafe.Pointer(pNew + 4)) |= uint32(libc.Int32FromInt32(EP_HasFunc)) @@ -86419,7 +86762,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u func _sqlite3ExprOrderByAggregateError(tls *libc.TLS, pParse uintptr, p uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7697, libc.VaList(bp+8, p)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7822, libc.VaList(bp+8, p)) } // C documentation @@ -86498,7 +86841,7 @@ func _sqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD ** SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning ** that the schema is possibly tainted). */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7747, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7872, libc.VaList(bp+8, pExpr)) } } } @@ -86555,7 +86898,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n bOk = libc.BoolInt32(0 == _sqlite3Atoi64(tls, z+1, bp, int32(n-uint32(1)), uint8(SQLITE_UTF8))) } if bOk == 0 || *(*Ti64)(unsafe.Pointer(bp)) < int64(1) || *(*Ti64)(unsafe.Pointer(bp)) > int64(*(*int32)(unsafe.Pointer(db + 120 + 9*4))) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7767, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 120 + 9*4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7892, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 120 + 9*4)))) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) return } @@ -86588,7 +86931,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*TExpr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer(db + 120 + 9*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7810, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7935, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } } @@ -86599,8 +86942,13 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n // ** Recursively delete an expression tree. // */ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { + var pLeft uintptr + _ = pLeft _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) + goto exprDeleteRestart +exprDeleteRestart: + ; _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -86608,9 +86956,6 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)|libc.Int32FromInt32(EP_Leaf)) != libc.Uint32FromInt32(0)) { /* The Expr.x union is never used at the same time as Expr.pRight */ _ = libc.Int32FromInt32(0) - if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { - _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpLeft) - } if (*TExpr)(unsafe.Pointer(p)).FpRight != 0 { _ = libc.Int32FromInt32(0) _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpRight) @@ -86625,6 +86970,17 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { } } } + if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { + pLeft = (*TExpr)(unsafe.Pointer(p)).FpLeft + if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) && !((*TExpr)(unsafe.Pointer(pLeft)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { + /* Avoid unnecessary recursion on unary operators */ + _sqlite3DbNNFreeNN(tls, db, p) + p = pLeft + goto exprDeleteRestart + } else { + _sqlite3ExprDeleteNN(tls, db, pLeft) + } + } } if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { _sqlite3DbNNFreeNN(tls, db, p) @@ -86671,11 +87027,11 @@ func _sqlite3ClearOnOrUsing(tls *libc.TLS, db uintptr, p uintptr) { // ** // ** The pExpr might be deleted immediately on an OOM error. // ** -// ** The deferred delete is (currently) implemented by adding the -// ** pExpr to the pParse->pConstExpr list with a register number of 0. +// ** Return 0 if the delete was successfully deferred. Return non-zero +// ** if the delete happened immediately because of an OOM. // */ -func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { - _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr) +func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + return libc.BoolInt32(uintptr(0) == _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr)) } // C documentation @@ -87194,16 +87550,20 @@ func _sqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) (r ui (*TSrcItem)(unsafe.Pointer(pNewItem)).FiCursor = (*TSrcItem)(unsafe.Pointer(pOldItem)).FiCursor (*TSrcItem)(unsafe.Pointer(pNewItem)).FaddrFillSub = (*TSrcItem)(unsafe.Pointer(pOldItem)).FaddrFillSub (*TSrcItem)(unsafe.Pointer(pNewItem)).FregReturn = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregReturn + (*TSrcItem)(unsafe.Pointer(pNewItem)).FregResult = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregResult if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 36 + 4))&0x2>>1)) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 64)) = _sqlite3DbStrDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 64))) + } else { + if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 36 + 4))&0x4>>2)) != 0 { + *(*uintptr)(unsafe.Pointer(pNewItem + 64)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 64)), flags) + } else { + *(*Tu32)(unsafe.Pointer(pNewItem + 64)) = *(*Tu32)(unsafe.Pointer(pOldItem + 64)) + } } (*TSrcItem)(unsafe.Pointer(pNewItem)).Fu2 = (*TSrcItem)(unsafe.Pointer(pOldItem)).Fu2 if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 36 + 4))&0x100>>8)) != 0 { (*TCteUse)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNewItem + 68)))).FnUse++ } - if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 36 + 4))&0x4>>2)) != 0 { - *(*uintptr)(unsafe.Pointer(pNewItem + 64)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 64)), flags) - } v4 = (*TSrcItem)(unsafe.Pointer(pOldItem)).FpTab (*TSrcItem)(unsafe.Pointer(pNewItem)).FpTab = v4 pTab = v4 @@ -87469,7 +87829,7 @@ func _sqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, n = v2 } if v3 && (*TIdList)(unsafe.Pointer(pColumns)).FnId != v2 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7833, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7958, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error } i = 0 @@ -87614,7 +87974,7 @@ func _sqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, _ = mx mx = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 120 + 2*4)) if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr > mx { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7863, libc.VaList(bp+8, zObject)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7988, libc.VaList(bp+8, zObject)) } } @@ -87716,10 +88076,10 @@ func _sqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) (r // ** anything else 0 // */ func _sqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) (r Tu32) { - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7886) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8011) == 0 { return uint32(EP_IsTrue) } - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7891) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8016) == 0 { return uint32(EP_IsFalse) } return uint32(0) @@ -87806,6 +88166,52 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { return pExpr } +// C documentation +// +// /* +// ** pExpr is a TK_FUNCTION node. Try to determine whether or not the +// ** function is a constant function. A function is constant if all of +// ** the following are true: +// ** +// ** (1) It is a scalar function (not an aggregate or window function) +// ** (2) It has either the SQLITE_FUNC_CONSTANT or SQLITE_FUNC_SLOCHNG +// ** property. +// ** (3) All of its arguments are constants +// ** +// ** This routine sets pWalker->eCode to 0 if pExpr is not a constant. +// ** It makes no changes to pWalker->eCode if pExpr is constant. In +// ** every case, it returns WRC_Abort. +// ** +// ** Called as a service subroutine from exprNodeIsConstant(). +// */ +func _exprNodeIsConstantFunction(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef, pList, v1 uintptr + var n int32 + var v2 bool + _, _, _, _, _, _ = db, n, pDef, pList, v1, v2 /* The database */ + _ = libc.Int32FromInt32(0) + if v2 = (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)) != uint32(0); !v2 { + v1 = *(*uintptr)(unsafe.Pointer(pExpr + 20)) + pList = v1 + } + if v2 || v1 == uintptr(0) { + n = 0 + } else { + n = (*TExprList)(unsafe.Pointer(pList)).FnExpr + _sqlite3WalkExprList(tls, pWalker, pList) + if int32((*TWalker)(unsafe.Pointer(pWalker)).FeCode) == 0 { + return int32(WRC_Abort) + } + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)|libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG)) == uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) +} + // C documentation // // /* @@ -87835,6 +88241,7 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { // ** malformed schema error. // */ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + _ = libc.Int32FromInt32(0) /* If pWalker->eCode is 2 then any term of the expression that comes from ** the ON or USING clauses of an outer join disqualifies the expression ** from being considered constant. */ @@ -87853,8 +88260,12 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 } return WRC_Continue } else { - (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) - return int32(WRC_Abort) + if (*TWalker)(unsafe.Pointer(pWalker)).FpParse != 0 { + return _exprNodeIsConstantFunction(tls, pWalker, pExpr) + } else { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } } fallthrough case int32(TK_ID): @@ -87881,6 +88292,8 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 case int32(TK_REGISTER): fallthrough case int32(TK_DOT): + fallthrough + case int32(TK_RAISE): (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) return int32(WRC_Abort) case int32(TK_VARIABLE): @@ -87906,14 +88319,14 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 return r } -func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32) { +func _exprIsConst(tls *libc.TLS, pParse uintptr, p uintptr, initFlag int32) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) var _ /* w at bp+0 */ TWalker (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(initFlag) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) - *(*int32)(unsafe.Pointer(bp + 24)) = iCur _sqlite3WalkExpr(tls, bp, p) return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } @@ -87927,9 +88340,15 @@ func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32 // ** For the purposes of this function, a double-quoted string (ex: "abc") // ** is considered a variable but a single-quoted string (ex: 'abc') is // ** a constant. +// ** +// ** The pParse parameter may be NULL. But if it is NULL, there is no way +// ** to determine if function calls are constant or not, and hence all +// ** function calls will be considered to be non-constant. If pParse is +// ** not NULL, then a function call might be constant, depending on the +// ** function and on its parameters. // */ -func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(1), 0) +func _sqlite3ExprIsConstant(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(1)) } // C documentation @@ -87947,8 +88366,26 @@ func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { // ** can be added to the pParse->pConstExpr list and evaluated once when // ** the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). // */ -func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(2), 0) +func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(2)) +} + +// C documentation +// +// /* +// ** This routine examines sub-SELECT statements as an expression is being +// ** walked as part of sqlite3ExprIsTableConstant(). Sub-SELECTs are considered +// ** constant as long as they are uncorrelated - meaning that they do not +// ** contain any terms from outer contexts. +// */ +func _exprSelectWalkTableConstant(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if (*TSelect)(unsafe.Pointer(pSelect)).FselFlags&uint32(SF_Correlated) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) } // C documentation @@ -87958,9 +88395,25 @@ func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { // ** for any single row of the table with cursor iCur. In other words, the // ** expression must not refer to any non-deterministic function nor any // ** table other than iCur. +// ** +// ** Consider uncorrelated subqueries to be constants if the bAllowSubq +// ** parameter is true. // */ -func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) { - return _exprIsConst(tls, p, int32(3), iCur) +func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32, bAllowSubq int32) (r int32) { + bp := tls.Alloc(32) + defer tls.Free(32) + var _ /* w at bp+0 */ TWalker + (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(3) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = uintptr(0) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) + if bAllowSubq != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_exprSelectWalkTableConstant) + } else { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) + } + *(*int32)(unsafe.Pointer(bp + 24)) = iCur + _sqlite3WalkExpr(tls, bp, p) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } // C documentation @@ -87980,7 +88433,10 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** // ** (1) pExpr cannot refer to any table other than pSrc->iCursor. // ** -// ** (2) pExpr cannot use subqueries or non-deterministic functions. +// ** (2a) pExpr cannot use subqueries unless the bAllowSubq parameter is +// ** true and the subquery is non-correlated +// ** +// ** (2b) pExpr cannot use non-deterministic functions. // ** // ** (3) pSrc cannot be part of the left operand for a RIGHT JOIN. // ** (Is there some way to relax this constraint?) @@ -88006,7 +88462,7 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** which leads to incorrect answers. See also restriction (9) // ** on push-down. // */ -func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32) (r int32) { +func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32, bAllowSubq int32) (r int32) { var jj int32 var pSrc uintptr _, _ = jj, pSrc @@ -88044,7 +88500,8 @@ func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList jj++ } } - return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor) /* rules (1), (2) */ + /* Rules (1), (2a), and (2b) handled by the following: */ + return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor, bAllowSubq) } // C documentation @@ -88143,7 +88600,7 @@ func _sqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // */ func _sqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit Tu8) (r int32) { _ = libc.Int32FromInt32(0) - return _exprIsConst(tls, p, int32(4)+int32(isInit), 0) + return _exprIsConst(tls, uintptr(0), p, int32(4)+int32(isInit)) } // C documentation @@ -88287,13 +88744,13 @@ func _sqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) (r i // ** Return TRUE if the given string is a row-id column name. // */ func _sqlite3IsRowid(tls *libc.TLS, z uintptr) (r int32) { - if _sqlite3StrICmp(tls, z, __ccgo_ts+7897) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8022) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7905) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8030) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7911) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8036) == 0 { return int32(1) } return 0 @@ -88311,9 +88768,9 @@ func _sqlite3RowidAlias(tls *libc.TLS, pTab uintptr) (r uintptr) { var iCol, ii int32 _, _, _ = azOpt, iCol, ii azOpt = [3]uintptr{ - 0: __ccgo_ts + 7897, - 1: __ccgo_ts + 7905, - 2: __ccgo_ts + 7911, + 0: __ccgo_ts + 8022, + 1: __ccgo_ts + 8030, + 2: __ccgo_ts + 8036, } _ = libc.Int32FromInt32(0) ii = 0 @@ -88437,14 +88894,14 @@ func _sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int // ** The argument is an IN operator with a list (not a subquery) on the // ** right-hand side. Return TRUE if that list is constant. // */ -func _sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) (r int32) { +func _sqlite3InRhsIsConstant(tls *libc.TLS, pParse uintptr, pIn uintptr) (r int32) { var pLHS uintptr var res int32 _, _ = pLHS, res _ = libc.Int32FromInt32(0) pLHS = (*TExpr)(unsafe.Pointer(pIn)).FpLeft (*TExpr)(unsafe.Pointer(pIn)).FpLeft = uintptr(0) - res = _sqlite3ExprIsConstant(tls, pIn) + res = _sqlite3ExprIsConstant(tls, pParse, pIn) (*TExpr)(unsafe.Pointer(pIn)).FpLeft = pLHS return res } @@ -88602,7 +89059,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 iAddr = _sqlite3VdbeAddOp0(tls, v, int32(OP_Once)) _sqlite3OpenTable(tls, pParse, iTab, iDb, pTab, int32(OP_OpenRead)) eType = int32(IN_INDEX_ROWID) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+7915, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+8040, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) _sqlite3VdbeJumpHere(tls, v, iAddr) } else { /* Iterator variable */ affinity_ok = int32(1) @@ -88705,7 +89162,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 if colUsed == libc.Uint64FromInt32(1)<0 so that the new limit is either 1 or 0 */ db = (*TParse)(unsafe.Pointer(pParse)).Fdb - pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1722) + pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1782) if pLimit != 0 { (*TExpr)(unsafe.Pointer(pLimit)).FaffExpr = uint8(SQLITE_AFF_NUMERIC) pLimit = _sqlite3PExpr(tls, pParse, int32(TK_NE), _sqlite3ExprDup(tls, db, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft, 0), pLimit) @@ -89216,7 +89673,7 @@ func _sqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int3 (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { /* If there is no pre-existing limit add a limit of 1 */ - pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8130) + pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8255) (*TSelect)(unsafe.Pointer(pSel)).FpLimit = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), pLimit, uintptr(0)) } (*TSelect)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -89612,13 +90069,13 @@ func _codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, i _ = libc.Int32FromInt32(0) c = _sqlite3DecOrHexToI64(tls, z, bp) if c == int32(3) && !(negFlag != 0) || c == int32(2) || negFlag != 0 && *(*Ti64)(unsafe.Pointer(bp)) == int64(-libc.Int32FromInt32(1))-(libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)<= (*TAggInfo)(unsafe.Pointer(pInfo)).FnFunc { _ = libc.Int32FromInt32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8223, libc.VaList(bp+120, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8348, libc.VaList(bp+120, pExpr)) } else { _ = libc.Int32FromInt32(0) return (*TAggInfo)(unsafe.Pointer(pInfo)).FiFirstReg + (*TAggInfo)(unsafe.Pointer(pInfo)).FnColumn + int32((*TExpr)(unsafe.Pointer(pExpr)).FiAgg) @@ -90419,7 +90870,7 @@ expr_code_doover: if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { return (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(pExpr)).Fy)))).FregResult } - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { /* SQL functions can be expensive. So try to avoid running them ** multiple times if we know they always give the same result */ return _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) @@ -90437,7 +90888,7 @@ expr_code_doover: zId = *(*uintptr)(unsafe.Pointer(pExpr + 8)) pDef = _sqlite3FindFunction(tls, db, zId, nFarg, enc, uint8(0)) if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8250, libc.VaList(bp+120, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8375, libc.VaList(bp+120, pExpr)) break } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_INLINE) != uint32(0) && pFarg != uintptr(0) { @@ -90454,7 +90905,7 @@ expr_code_doover: if !(i < nFarg) { break } - if i < int32(32) && _sqlite3ExprIsConstant(tls, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*20))).FpExpr) != 0 { + if i < int32(32) && _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*20))).FpExpr) != 0 { constMask |= libc.Uint32FromInt32(1) << i } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_NEEDCOLL) != uint32(0) && !(pColl != 0) { @@ -90551,7 +91002,7 @@ expr_code_doover: _ = libc.Int32FromInt32(0) n1 = _sqlite3ExprVectorSize(tls, pLeft2) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != n1 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7833, libc.VaList(bp+120, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7958, libc.VaList(bp+120, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) } return (*TExpr)(unsafe.Pointer(pLeft2)).FiTable + int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) case int32(TK_IN): @@ -90583,8 +91034,9 @@ expr_code_doover: if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Collate)) != libc.Uint32FromInt32(0)) { /* A TK_COLLATE Expr node without the EP_Collate tag is a so-called ** "SOFT-COLLATE" that is added to constraints that are pushed down - ** from outer queries into sub-queries by the push-down optimization. - ** Clear subtypes as subtypes may not cross a subquery boundary. + ** from outer queries into sub-queries by the WHERE-clause push-down + ** optimization. Clear subtypes as subtypes may not cross a subquery + ** boundary. */ _ = libc.Int32FromInt32(0) _sqlite3ExprCode(tls, pParse, (*TExpr)(unsafe.Pointer(pExpr)).FpLeft, target) @@ -90619,7 +91071,7 @@ expr_code_doover: _sqlite3VdbeAddOp1(tls, v, int32(OP_RealAffinity), target) } case int32(TK_VECTOR): - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) break /* TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions ** that derive from the right-hand table of a LEFT JOIN. The @@ -90741,7 +91193,7 @@ expr_code_doover: case int32(TK_RAISE): _ = libc.Int32FromInt32(0) if !((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != 0) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8274, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8399, 0) return 0 } if int32((*TExpr)(unsafe.Pointer(pExpr)).FaffExpr) == int32(OE_Abort) { @@ -90865,7 +91317,7 @@ func _sqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin var r1, r2 int32 _, _ = r1, r2 pExpr = _sqlite3ExprSkipCollateAndLikely(tls, pExpr) - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { *(*int32)(unsafe.Pointer(pReg)) = 0 r2 = _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) } else { @@ -90938,7 +91390,7 @@ func _sqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // ** might choose to code the expression at initialization time. // */ func _sqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { _sqlite3ExprCodeCopy(tls, pParse, pExpr, target) @@ -91009,7 +91461,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ _sqlite3VdbeAddOp2(tls, v, int32(copyOp), j+srcReg-int32(1), target+i) } } else { - if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target+i) } else { inReg = _sqlite3ExprCodeTarget(tls, pParse, pExpr, target+i) @@ -92356,18 +92808,16 @@ func _agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnColumn && (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*16))).FpCExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*16))).FpCExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } else { _ = libc.Int32FromInt32(0) if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnFunc && (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*24))).FpFExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*24))).FpFExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } @@ -92937,8 +93387,8 @@ func _sqlite3FirstAvailableRegister(tls *libc.TLS, pParse uintptr, iMin int32) ( func _isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) - if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8324, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8449, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -92957,9 +93407,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, bp := tls.Alloc(48) defer tls.Free(48) (*TParse)(unsafe.Pointer(pParse)).FcolNamesSet = uint8(1) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8352, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8477, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8527, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8652, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) } } @@ -92975,9 +93425,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, func _renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8701, libc.VaList(bp+8, zDb, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8826, libc.VaList(bp+8, zDb, zDb)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8848, 0) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8973, 0) } } @@ -93035,7 +93485,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName ** in database iDb. If so, this is an error. */ if _sqlite3FindTable(tls, db, zName, zDb) != 0 || _sqlite3FindIndex(tls, db, zName, zDb) != 0 || _sqlite3IsShadowTableOf(tls, db, pTab, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8999, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9124, libc.VaList(bp+8, zName)) goto exit_rename_table } /* Make sure it is not a system table being altered, or a reserved name @@ -93044,11 +93494,11 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { goto exit_rename_table } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9058, zName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9183, zName) { goto exit_rename_table } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9064, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9189, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table } /* Invoke the authorization callback. */ @@ -93078,21 +93528,21 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName nTabName = _sqlite3Utf8CharLen(tls, zTabName, -int32(1)) /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in ** the schema to use the new table name. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9091, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9216, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) /* Update the tbl_name and name columns of the sqlite_schema table ** as required. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9275, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9400, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) /* If the sqlite_sequence table exists in this database, then update ** it with the new table name. */ - if _sqlite3FindTable(tls, db, __ccgo_ts+9580, zDb) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9596, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if _sqlite3FindTable(tls, db, __ccgo_ts+9705, zDb) != 0 { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9721, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* If the table being renamed is not itself part of the temp database, ** edit view and trigger definitions within the temp database ** as required. */ if iDb != int32(1) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9654, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9779, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) } /* If this is a virtual table, invoke the xRename() function if ** one is defined. The xRename() callback will modify the names @@ -93108,7 +93558,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName _sqlite3VdbeAddOp4(tls, v, int32(OP_VRename), i, 0, 0, pVTab, -int32(11)) } _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+9919, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+10044, 0) goto exit_rename_table exit_rename_table: ; @@ -93125,7 +93575,7 @@ exit_rename_table: func _sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9932, libc.VaList(bp+8, zErr, zDb, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10057, libc.VaList(bp+8, zErr, zDb, zTab)) } // C documentation @@ -93170,11 +93620,11 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** column must not be NULL. */ if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9970, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10095, 0) return } if (*TTable)(unsafe.Pointer(pNew)).FpIndex != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10002, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10127, 0) return } if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) == 0 { @@ -93192,10 +93642,10 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 44))).FpFKey != 0 && pDflt != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10029) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10154) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 4))&0xf>>0)) != 0 && !(pDflt != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10088) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10213) } /* Ensure the default expression is something that sqlite3ValueFromExpr() ** can handle (i.e. not CURRENT_TIME etc.) @@ -93209,13 +93659,13 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr return } if !(*(*uintptr)(unsafe.Pointer(bp)) != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10141) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10266) } _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp))) } } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_STORED) != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10187) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10312) } } /* Modify the CREATE TABLE statement. */ @@ -93231,7 +93681,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** have to use printf() to translate between these units: */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10214, libc.VaList(bp+16, zDb, (*(*struct { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10339, libc.VaList(bp+16, zDb, (*(*struct { FaddColOffset int32 FpFKey uintptr FpDfltList uintptr @@ -93259,7 +93709,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterAdd)) /* Verify that constraints are still satisfied */ if (*TTable)(unsafe.Pointer(pNew)).FpCheck != uintptr(0) || int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 4))&0xf>>0)) != 0 && int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Strict) != uint32(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10360, libc.VaList(bp+16, zTab, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10485, libc.VaList(bp+16, zTab, zDb)) } } } @@ -93299,12 +93749,12 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { goto exit_begin_add_column } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10713, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10838, 0) goto exit_begin_add_column } /* Make sure this is not an attempt to ALTER a view. */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10747, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10872, 0) goto exit_begin_add_column } if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { @@ -93332,7 +93782,7 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { nAlloc = (int32((*TTable)(unsafe.Pointer(pNew)).FnCol)-int32(1))/int32(8)*int32(8) + int32(8) _ = libc.Int32FromInt32(0) (*TTable)(unsafe.Pointer(pNew)).FaCol = _sqlite3DbMallocZero(tls, db, uint64(uint32(12)*uint32(nAlloc))) - (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10777, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10902, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !((*TTable)(unsafe.Pointer(pNew)).FaCol != 0) || !((*TTable)(unsafe.Pointer(pNew)).FzName != 0) { _ = libc.Int32FromInt32(0) goto exit_begin_add_column @@ -93396,18 +93846,18 @@ func _isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) (r i _, _ = zType, v1 zType = uintptr(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10796 + zType = __ccgo_ts + 10921 } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 10801 + zType = __ccgo_ts + 10926 } if zType != 0 { if bDrop != 0 { - v1 = __ccgo_ts + 10815 + v1 = __ccgo_ts + 10940 } else { - v1 = __ccgo_ts + 10832 + v1 = __ccgo_ts + 10957 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10850, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10975, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -93469,11 +93919,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld iCol++ } if iCol == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10868, libc.VaList(bp+8, pOld)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10993, libc.VaList(bp+8, pOld)) goto exit_rename_column } /* Ensure the schema contains no double-quoted strings */ - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1648, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1662, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1))) /* Do the rename operation using a recursive UPDATE statement that ** uses the sqlite_rename_column() SQL function to compute the new @@ -93486,11 +93936,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld } _ = libc.Int32FromInt32(0) bQuote = int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pNew)).Fz))]) & int32(0x80) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10889, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11071, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11014, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11196, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+9919, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+10044, int32(1)) goto exit_rename_column exit_rename_column: ; @@ -93969,11 +94419,11 @@ func _renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType u zT = Xsqlite3_value_text(tls, pType) zN = Xsqlite3_value_text(tls, pObject) if *(*uint8)(unsafe.Pointer(zWhen)) != 0 { - v1 = __ccgo_ts + 11202 + v1 = __ccgo_ts + 11327 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11204, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) + zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11329, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, zErr) } @@ -94050,8 +94500,8 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin if zSql == uintptr(0) { return int32(SQLITE_NOMEM) } - if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11227, int32(7)) != 0 { - return _sqlite3CorruptError(tls, int32(116682)) + if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11352, int32(7)) != 0 { + return _sqlite3CorruptError(tls, int32(117285)) } if bTemp != 0 { v1 = int32(1) @@ -94067,7 +94517,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin rc = int32(SQLITE_NOMEM) } if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = _sqlite3CorruptError(tls, int32(116693)) + rc = _sqlite3CorruptError(tls, int32(117296)) } (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0) return rc @@ -94106,7 +94556,7 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, ** ALTER TABLE statement was quoted (bQuote==1), then set zNew to ** point to zQuot so that all substitutions are made using the ** quoted version of the new column name. */ - zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11235, libc.VaList(bp+8, zNew)) + zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11360, libc.VaList(bp+8, zNew)) if zQuot == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -94152,11 +94602,11 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, *(*uint8)(unsafe.Pointer(zBuf1 + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = uint8(0) _sqlite3Dequote(tls, zBuf1) if int32(*(*uint8)(unsafe.Pointer((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == int32('\'') { - v1 = __ccgo_ts + 11202 + v1 = __ccgo_ts + 11327 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11241, libc.VaList(bp+8, zBuf1, v1)) + Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11366, libc.VaList(bp+8, zBuf1, v1)) zReplace = zBuf2 nReplace = uint32(_sqlite3Strlen30(tls, zReplace)) } @@ -94648,7 +95098,7 @@ renameColumnFunc_done: Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv))) } else { if (*(*TParse)(unsafe.Pointer(bp + 20))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1648, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+20) + _renameColumnParseError(tls, context, __ccgo_ts+1662, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp+20) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -94877,7 +95327,7 @@ func _renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintpt Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + 3*4))) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1648, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp) + _renameColumnParseError(tls, context, __ccgo_ts+1662, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), bp) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -95139,7 +95589,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { /* This can happen if the sqlite_schema table is corrupt */ - rc = _sqlite3CorruptError(tls, int32(117652)) + rc = _sqlite3CorruptError(tls, int32(118255)) goto drop_column_done } pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FzCnName) @@ -95157,7 +95607,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr (*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz-- } } - zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11246, libc.VaList(bp+296, int32((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int32(zSql), zSql, zEnd)) + zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11371, libc.VaList(bp+296, int32((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int32(zSql), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -int32(1), uintptr(-libc.Int32FromInt32(1))) Xsqlite3_free(tls, zNew) goto drop_column_done @@ -95184,8 +95634,9 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName bp := tls.Alloc(48) defer tls.Free(48) var addr, i, iCol, iColPos, iCur, iDb, iPos, nField, reg, regOut, regRec, v2, v4, v7 int32 + var aff uint8 var db, pPk, pTab, v, zCol, zDb, v1, v3, v5, v8 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, aff, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Database containing pTab ("main" etc.) */ zCol = uintptr(0) /* Index of column zCol in pTab->aCol[] */ /* Look up the table being altered. */ @@ -95214,23 +95665,23 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName } iCol = _sqlite3ColumnIndex(tls, pTab, zCol) if iCol < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10868, libc.VaList(bp+8, pName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10993, libc.VaList(bp+8, pName)) goto exit_drop_column } /* Do not allow the user to drop a PRIMARY KEY column or a column ** constrained by a UNIQUE constraint. */ if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_PRIMKEY)|libc.Int32FromInt32(COLFLAG_UNIQUE)) != 0 { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - v1 = __ccgo_ts + 11253 + v1 = __ccgo_ts + 11378 } else { - v1 = __ccgo_ts + 5589 + v1 = __ccgo_ts + 5653 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11265, libc.VaList(bp+8, v1, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11390, libc.VaList(bp+8, v1, zCol)) goto exit_drop_column } /* Do not allow the number of columns to go to zero */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) <= int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11293, libc.VaList(bp+8, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11418, libc.VaList(bp+8, zCol)) goto exit_drop_column } /* Edit the sqlite_schema table */ @@ -95241,12 +95692,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_ALTER_TABLE), zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol) != 0 { goto exit_drop_column } - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1648, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1662, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1))) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11341, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11466, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11462, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11587, int32(1)) /* Edit rows of table on disk */ if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 && int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { pPk = uintptr(0) @@ -95304,7 +95755,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if i == int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regOut) } else { + aff = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*12))).Faffinity + if int32(aff) == int32(SQLITE_AFF_REAL) { + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*12))).Faffinity = uint8(SQLITE_AFF_NUMERIC) + } _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab, iCur, i, regOut) + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*12))).Faffinity = aff } nField++ } @@ -95349,27 +95805,27 @@ var _aAlterTableFuncs = [5]TFuncDef{ 0: { FnArg: int8(9), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11480, + FzName: __ccgo_ts + 11605, }, 1: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11501, + FzName: __ccgo_ts + 11626, }, 2: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11521, + FzName: __ccgo_ts + 11646, }, 3: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11540, + FzName: __ccgo_ts + 11665, }, 4: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11559, + FzName: __ccgo_ts + 11684, }, } @@ -95582,7 +96038,7 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW ** side-effect of the CREATE TABLE statement is to leave the rootpage ** of the new table in register pParse->regRoot. This is important ** because the OpenWrite opcode below will be needing it. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11662, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11787, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) aRoot[i] = uint32((*TParse)(unsafe.Pointer(pParse)).FregRoot) aCreateTbl[i] = uint8(OPFLAG_P2ISREG) } @@ -95593,10 +96049,10 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW aRoot[i] = (*TTable)(unsafe.Pointer(pStat)).Ftnum _sqlite3TableLock(tls, pParse, iDb, aRoot[i], uint8(1), zTab) if zWhere != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11685, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11810, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11715, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11840, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { /* The sqlite_stat[134] table already exists. Delete all rows. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Clear), int32(aRoot[i]), iDb) @@ -95629,15 +96085,15 @@ var _aTable = [3]struct { FzCols uintptr }{ 0: { - FzName: __ccgo_ts + 11582, - FzCols: __ccgo_ts + 11595, + FzName: __ccgo_ts + 11707, + FzCols: __ccgo_ts + 11720, }, 1: { - FzName: __ccgo_ts + 11608, - FzCols: __ccgo_ts + 11621, + FzName: __ccgo_ts + 11733, + FzCols: __ccgo_ts + 11746, }, 2: { - FzName: __ccgo_ts + 11649, + FzName: __ccgo_ts + 11774, }, } @@ -95958,7 +96414,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statInitFuncdef = TFuncDef{ FnArg: int8(4), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11733, + FzName: __ccgo_ts + 11858, } func init() { @@ -96344,7 +96800,7 @@ func _statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statPushFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(2) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11743, + FzName: __ccgo_ts + 11868, } func init() { @@ -96397,7 +96853,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { v1 = (*TStatAccum)(unsafe.Pointer(p)).FnRow } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11753, libc.VaList(bp+56, v1)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11878, libc.VaList(bp+56, v1)) i = 0 for { if !(i < (*TStatAccum)(unsafe.Pointer(p)).FnKeyCol) { @@ -96408,7 +96864,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if iVal == uint64(2) && (*TStatAccum)(unsafe.Pointer(p)).FnRow*uint64(10) <= nDistinct*uint64(11) { iVal = uint64(1) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11758, libc.VaList(bp+56, iVal)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11883, libc.VaList(bp+56, iVal)) _ = libc.Int32FromInt32(0) goto _2 _2: @@ -96449,7 +96905,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if !(i1 < (*TStatAccum)(unsafe.Pointer(p)).FnCol) { break } - Xsqlite3_str_appendf(tls, bp+24, __ccgo_ts+11764, libc.VaList(bp+56, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) + Xsqlite3_str_appendf(tls, bp+24, __ccgo_ts+11889, libc.VaList(bp+56, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) goto _3 _3: ; @@ -96467,7 +96923,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statGetFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(1) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11770, + FzName: __ccgo_ts + 11895, } func init() { @@ -96489,9 +96945,9 @@ func _callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, re // */ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { var aGotoChng, db, pColl, pIdx, pPk, pStat1, pX, v, zIdxName uintptr - var addrIsNull, addrNext, addrNextRow, addrRewind, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 + var addrGotoEnd, addrIsNull, addrNext, addrNextRow, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 var needTableCnt, seekOp Tu8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrIsNull, addrNext, addrNextRow, addrRewind, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrGotoEnd, addrIsNull, addrNext, addrNextRow, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Loop counter */ jZeroRows = -int32(1) /* Index of database containing pTab */ needTableCnt = uint8(1) @@ -96535,7 +96991,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Do not gather statistics on views or virtual tables */ return } - if Xsqlite3_strlike(tls, __ccgo_ts+11779, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, __ccgo_ts+11904, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { /* Do not gather statistics on system tables */ return } @@ -96552,7 +97008,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint return } (*TTable)(unsafe.Pointer(pStat1)).FzName = pStat1 + 1*64 - libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11582, uint32(13)) + libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11707, uint32(13)) (*TTable)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*TTable)(unsafe.Pointer(pStat1)).FiPKey = int16(-int32(1)) _sqlite3VdbeAddOp4(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Noop), 0, 0, 0, pStat1, -int32(6)) @@ -96606,9 +97062,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* ** Pseudo-code for loop that calls stat_push(): ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() ** goto chng_addr_0; ** ** next_row: @@ -96643,34 +97104,31 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _ = libc.Int32FromInt32(0) _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenRead), iIdxCur, int32((*TIndex)(unsafe.Pointer(pIdx)).Ftnum), iDb) _sqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - /* Invoke the stat_init() function. The arguments are: + /* Implementation of the following: ** + ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() + ** goto chng_addr_0; + */ + _ = libc.Int32FromInt32(0) + _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + /* Arguments to stat_init(): ** (1) the number of columns in the index including the rowid ** (or for a WITHOUT ROWID table, the number of PK columns), ** (2) the number of columns in the key without the rowid/pk - ** (3) estimated number of rows in the index, - */ + ** (3) estimated number of rows in the index. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), nCol, regStat+int32(1)) _ = libc.Int32FromInt32(0) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol), regRowid) - if (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0) { - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iIdxCur, regTemp) - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - } else { - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, int32(1)) - } - _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) != uint32(0))) _sqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat+int32(1), regStat, int32(4), uintptr(unsafe.Pointer(&_statInitFuncdef)), 0) - /* Implementation of the following: - ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; - ** regChng = 0 - ** goto next_push_0; - ** - */ + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regChng) addrNextRow = _sqlite3VdbeCurrentAddr(tls, v) if nColTest > 0 { @@ -96782,9 +97240,15 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), iIdxCur, addrNextRow) } /* Add the entry to the stat1 table. */ + if (*TIndex)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { + /* Partial indexes might get a zero-entry in sqlite_stat1. But + ** an empty table is omitted from sqlite_stat1. */ + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + addrGotoEnd = 0 + } _callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11789, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11914, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP4(tls, v, -int32(1), pStat1, -int32(5)) @@ -96803,6 +97267,11 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint v18 = int32(OP_NotFound) } seekOp = uint8(v18) + /* No STAT4 data is generated if the number of rows is zero */ + if addrGotoEnd == 0 { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Cast), regStat1, int32(SQLITE_AFF_INTEGER)) + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) + } if doOnce != 0 { mxCol = nCol /* Compute the maximum number of columns in any index */ @@ -96857,7 +97326,9 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeJumpHere(tls, v, addrIsNull) } /* End of analysis */ - _sqlite3VdbeJumpHere(tls, v, addrRewind) + if addrGotoEnd != 0 { + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + } goto _13 _13: ; @@ -96871,7 +97342,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint jZeroRows = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regIdxname) _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11789, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11914, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -96946,9 +97417,9 @@ func _analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr iStatCur = (*TParse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 40)) += int32(3) if pOnlyIdx != 0 { - _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11793) + _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11918) } else { - _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11797) + _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11922) } _analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, (*TParse)(unsafe.Pointer(pParse)).FnMem+int32(1), (*TParse)(unsafe.Pointer(pParse)).FnTab) _loadAnalysis(tls, pParse, iDb) @@ -97079,7 +97550,7 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, _, _, _, _, _, _ = c, i, sz, v, z, v2 z = zIntArray if z == uintptr(0) { - z = __ccgo_ts + 1648 + z = __ccgo_ts + 1662 } i = 0 for { @@ -97114,17 +97585,17 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+56, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+56, libc.Uint32FromInt32(0), 6, 0x40) for *(*uint8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, __ccgo_ts+11801, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11926, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+56, libc.Uint32FromInt32(1), 2, 0x4) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11812, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11937, z) == 0 { sz = _sqlite3Atoi(tls, z+uintptr(3)) if sz < int32(2) { sz = int32(2) } (*TIndex)(unsafe.Pointer(pIndex)).FszIdxRow = _sqlite3LogEst(tls, uint64(sz)) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11822, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11947, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+56, libc.Uint32FromInt32(1), 6, 0x40) } } @@ -97508,11 +97979,11 @@ func _loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) (r int32) { rc = SQLITE_OK _ = libc.Int32FromInt32(0) if v2 = (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0); v2 { - v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11608, zDb) + v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11733, zDb) pStat4 = v1 } if v2 && v1 != uintptr(0) && int32((*TTable)(unsafe.Pointer(pStat4)).FeTabType) == TABTYP_NORM { - rc = _loadStatTbl(tls, db, __ccgo_ts+11834, __ccgo_ts+11903, zDb) + rc = _loadStatTbl(tls, db, __ccgo_ts+11959, __ccgo_ts+12028, zDb) } return rc } @@ -97581,10 +98052,10 @@ func _sqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) (r int32) { /* Load new statistics out of the sqlite_stat1 table */ (*(*TanalysisInfo)(unsafe.Pointer(bp))).Fdb = db (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName - v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11582, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) + v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11707, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) pStat1 = v3 if v3 != 0 && int32((*TTable)(unsafe.Pointer(pStat1)).FeTabType) == TABTYP_NORM { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+11955, libc.VaList(bp+16, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+12080, libc.VaList(bp+16, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -97698,7 +98169,7 @@ func _resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) (r int32) { // ** database iDb attached to handle db. // */ func _sqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) (r int32) { - return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6585, zName) == 0) + return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6649, zName) == 0) } // C documentation @@ -97740,21 +98211,21 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) if zFile == uintptr(0) { - zFile = __ccgo_ts + 1648 + zFile = __ccgo_ts + 1662 } if zName == uintptr(0) { - zName = __ccgo_ts + 1648 + zName = __ccgo_ts + 1662 } if int32(uint32(*(*uint8)(unsafe.Pointer(db + 172 + 8))&0x4>>2)) != 0 { /* 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 + 20)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 16)) = Xsqlite3_vfs_find(tls, __ccgo_ts+3967) + *(*uintptr)(unsafe.Pointer(bp + 16)) = Xsqlite3_vfs_find(tls, __ccgo_ts+4031) if *(*uintptr)(unsafe.Pointer(bp + 16)) == uintptr(0) { return } - rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), __ccgo_ts+11996, db, bp+20, 0, int32(SQLITE_OPEN_MAIN_DB)) + rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), __ccgo_ts+12121, db, bp+20, 0, int32(SQLITE_OPEN_MAIN_DB)) if rc == SQLITE_OK { pNewSchema = _sqlite3SchemaGet(tls, db, *(*uintptr)(unsafe.Pointer(bp + 20))) if pNewSchema != 0 { @@ -97785,7 +98256,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { ** * Specified database name already being used. */ if (*Tsqlite3)(unsafe.Pointer(db)).FnDb >= *(*int32)(unsafe.Pointer(db + 120 + 7*4))+int32(2) { - *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+11999, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(db + 120 + 7*4)))) + *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12124, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(db + 120 + 7*4)))) goto attach_error } i = 0 @@ -97795,7 +98266,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } _ = libc.Int32FromInt32(0) if _sqlite3DbIsNamed(tls, db, i, zName) != 0 { - *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12036, libc.VaList(bp+32, zName)) + *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12161, libc.VaList(bp+32, zName)) goto attach_error } goto _1 @@ -97844,7 +98315,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FnoSharedCache = uint8(0) if rc == int32(SQLITE_CONSTRAINT) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12066, 0) + *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12191, 0) } else { if rc == SQLITE_OK { (*TDb)(unsafe.Pointer(pNew)).FpSchema = _sqlite3SchemaGet(tls, db, (*TDb)(unsafe.Pointer(pNew)).FpBt) @@ -97852,7 +98323,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { rc = int32(SQLITE_NOMEM) } else { if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0 && int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12095, 0) + *(*uintptr)(unsafe.Pointer(bp + 12)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12220, 0) rc = int32(SQLITE_ERROR) } } @@ -97898,10 +98369,10 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)<= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12191, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12316, libc.VaList(bp+136, zName)) goto detach_error } if i < int32(2) { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12212, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12337, libc.VaList(bp+136, zName)) goto detach_error } if _sqlite3BtreeTxnState(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != SQLITE_TXN_NONE || _sqlite3BtreeIsInBackup(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != 0 { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12238, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12363, libc.VaList(bp+136, zName)) goto detach_error } /* If any TEMP triggers reference the schema being detached, move those @@ -98069,7 +98540,7 @@ func _sqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { var _detach_func = TFuncDef{ FnArg: int8(1), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12260, + FzName: __ccgo_ts + 12385, } func init() { @@ -98091,7 +98562,7 @@ func _sqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, p var _attach_func = TFuncDef{ FnArg: int8(3), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12274, + FzName: __ccgo_ts + 12399, } func init() { @@ -98117,7 +98588,7 @@ func _fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) (r int32) { if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer((*TDbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit1.Fbusy != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } else { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12288, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12413, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) return int32(WRC_Abort) } } @@ -98151,7 +98622,7 @@ func _fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) (r int32) { if int32((*TDbFixer)(unsafe.Pointer(pFix)).FbTemp) == 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != _sqlite3FindDbName(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12312, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12437, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return int32(WRC_Abort) } _sqlite3DbFree(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) @@ -98368,7 +98839,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // ** user-supplied authorization function returned an illegal value. // */ func _sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12358, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12483, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) } @@ -98396,11 +98867,11 @@ func _sqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, int32(SQLITE_READ), zTab, zCol, zDb, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12381, libc.VaList(bp+8, zTab, zCol)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12506, libc.VaList(bp+8, zTab, zCol)) if (*Tsqlite3)(unsafe.Pointer(db)).FnDb > int32(2) || iDb != 0 { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12387, libc.VaList(bp+8, zDb, z)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12512, libc.VaList(bp+8, zDb, z)) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12393, libc.VaList(bp+8, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12518, libc.VaList(bp+8, z)) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != int32(SQLITE_IGNORE) && rc != SQLITE_OK { @@ -98466,7 +98937,7 @@ func _sqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint _ = libc.Int32FromInt32(0) zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*12))).FzCnName } else { - zCol = __ccgo_ts + 7905 + zCol = __ccgo_ts + 8030 } } _ = libc.Int32FromInt32(0) @@ -98503,7 +98974,7 @@ func _sqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, ** parameters can be either NULL or a string. */ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12420, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12545, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != SQLITE_OK && rc != int32(SQLITE_IGNORE) { @@ -98938,21 +99409,21 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { /* No match against the official names. But always match "main" ** to schema 0 as a legacy fallback. */ - if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6585) == 0 { + if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6649) == 0 { i = 0 } else { return uintptr(0) } } p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16))).FpSchema+8, zName) - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) == 0 { + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) == 0 { if i == int32(1) { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6552+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6571+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6066+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpSchema+8, __ccgo_ts+6533) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6616+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6635+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6130+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpSchema+8, __ccgo_ts+6597) } } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6571+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16))).FpSchema+8, __ccgo_ts+6066) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6635+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16))).FpSchema+8, __ccgo_ts+6130) } } } @@ -98983,12 +99454,12 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp ; i++ } - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6571+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6066) + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6635+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6130) } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6552+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpSchema+8, __ccgo_ts+6533) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6616+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpSchema+8, __ccgo_ts+6597) } } } @@ -99026,7 +99497,7 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt ** can be an eponymous virtual table. */ if int32((*TParse)(unsafe.Pointer(pParse)).FprepFlags)&int32(SQLITE_PREPARE_NO_VTAB) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 { pMod = _sqlite3HashFind(tls, db+404, zName) - if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12435, int32(7)) == 0 { + if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12560, int32(7)) == 0 { pMod = _sqlite3PragmaVtabRegister(tls, db, zName) } if pMod != 0 && _sqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0 { @@ -99044,15 +99515,15 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt } if p == uintptr(0) { if flags&uint32(LOCATE_VIEW) != 0 { - v1 = __ccgo_ts + 12443 + v1 = __ccgo_ts + 12568 } else { - v1 = __ccgo_ts + 12456 + v1 = __ccgo_ts + 12581 } zMsg = v1 if zDbase != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6789, libc.VaList(bp+8, zMsg, zDbase, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6853, libc.VaList(bp+8, zMsg, zDbase, zName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6799, libc.VaList(bp+8, zMsg, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6924, libc.VaList(bp+8, zMsg, zName)) } } else { _ = libc.Int32FromInt32(0) @@ -99092,12 +99563,12 @@ func _sqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags Tu32, p uintpt // ** names into the new preferred names, as appropriate. // */ func _sqlite3PreferredTableName(tls *libc.TLS, zName uintptr) (r uintptr) { - if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6066+7) == 0 { - return __ccgo_ts + 6571 + if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6130+7) == 0 { + return __ccgo_ts + 6635 } - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6533+7) == 0 { - return __ccgo_ts + 6552 + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6597+7) == 0 { + return __ccgo_ts + 6616 } } return zName @@ -99643,7 +100114,7 @@ func _sqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { var v uintptr _ = v v = _sqlite3GetVdbe(tls, p) - _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6066) + _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6130) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_OpenWrite), 0, int32(SCHEMA_ROOT), iDb, int32(5)) if (*TParse)(unsafe.Pointer(p)).FnTab == 0 { (*TParse)(unsafe.Pointer(p)).FnTab = int32(1) @@ -99675,7 +100146,7 @@ func _sqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) { } /* "main" is always an acceptable alias for the primary database ** even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. */ - if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6585, zName) { + if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6649, zName) { break } goto _1 @@ -99734,13 +100205,13 @@ func _sqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u _ = libc.Int32FromInt32(0) if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12470, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12595, 0) return -int32(1) } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = _sqlite3FindDb(tls, db, pName1) if iDb < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12487, libc.VaList(bp+8, pName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12612, libc.VaList(bp+8, pName1)) return -int32(1) } } else { @@ -99785,12 +100256,12 @@ func _sqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit))) != 0 || Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 1*4))) != 0 || Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 2*4))) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1648, 0) /* corruptSchema() will supply the error */ + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1662, 0) /* corruptSchema() will supply the error */ return int32(SQLITE_ERROR) } } else { - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12507, libc.VaList(bp+8, zName)) + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12632, libc.VaList(bp+8, zName)) return int32(SQLITE_ERROR) } } @@ -100006,9 +100477,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui /* Special case: Parsing the sqlite_schema or sqlite_temp_schema schema */ iDb = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zName = _sqlite3DbStrDup(tls, db, v1) *(*uintptr)(unsafe.Pointer(bp)) = pName1 @@ -100021,7 +100492,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 && (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) && iDb != int32(1) { /* If creating a temp table, the name may not be qualified. Unless ** the database name is "temp" anyway. */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12549, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12674, 0) return } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 { @@ -100037,9 +100508,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui return } if isView != 0 { - v2 = __ccgo_ts + 10796 + v2 = __ccgo_ts + 10921 } else { - v2 = __ccgo_ts + 9058 + v2 = __ccgo_ts + 9183 } if _sqlite3CheckObjectName(tls, pParse, zName, v2, zName) != 0 { goto begin_table_error @@ -100051,9 +100522,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui _ = libc.Int32FromInt32(0) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp == int32(1) { - v3 = __ccgo_ts + 6533 + v3 = __ccgo_ts + 6597 } else { - v3 = __ccgo_ts + 6066 + v3 = __ccgo_ts + 6130 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto begin_table_error @@ -100077,11 +100548,11 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if pTable != 0 { if !(noErr != 0) { if int32((*TTable)(unsafe.Pointer(pTable)).FeTabType) == int32(TABTYP_VIEW) { - v4 = __ccgo_ts + 10796 + v4 = __ccgo_ts + 10921 } else { - v4 = __ccgo_ts + 9058 + v4 = __ccgo_ts + 9183 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12590, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12715, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -100090,7 +100561,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui goto begin_table_error } if _sqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12611, libc.VaList(bp+16, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12736, libc.VaList(bp+16, zName)) goto begin_table_error } } @@ -100246,7 +100717,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { _, _, _ = db, pHash, pRet db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TParse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12646, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12771, 0) } else { _ = libc.Int32FromInt32(0) } @@ -100263,7 +100734,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - Xsqlite3_snprintf(tls, int32(40), pRet+104, __ccgo_ts+12680, libc.VaList(bp+8, pParse)) + Xsqlite3_snprintf(tls, int32(40), pRet+104, __ccgo_ts+12805, libc.VaList(bp+8, pParse)) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.FzName = pRet + 104 (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Fop = uint8(TK_RETURNING) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = uint8(TRIGGER_AFTER) @@ -100311,7 +100782,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok return } if int32((*TTable)(unsafe.Pointer(p)).FnCol)+int32(1) > *(*int32)(unsafe.Pointer(db + 120 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12700, libc.VaList(bp+24, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12825, libc.VaList(bp+24, (*TTable)(unsafe.Pointer(p)).FzName)) return } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -100321,12 +100792,12 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok ** by the parser, we can sometimes end up with a typename that ends ** with "generated always". Check for this case and omit the surplus ** text. */ - if (*(*TToken)(unsafe.Pointer(bp + 8))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 8))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 8))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12723, int32(6)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 8))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 8))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 8))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12848, int32(6)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 8))).Fn -= uint32(6) for (*(*TToken)(unsafe.Pointer(bp + 8))).Fn > uint32(0) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 8))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 8))).Fn-uint32(1))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 8))).Fn-- } - if (*(*TToken)(unsafe.Pointer(bp + 8))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 8))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 8))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12730, int32(9)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 8))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 8))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 8))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12855, int32(9)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 8))).Fn -= uint32(9) for (*(*TToken)(unsafe.Pointer(bp + 8))).Fn > uint32(0) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 8))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 8))).Fn-uint32(1))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 8))).Fn-- @@ -100375,7 +100846,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok break } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*12))).FhName) == int32(hName) && _sqlite3StrICmp(tls, z, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*12))).FzCnName) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12740, libc.VaList(bp+24, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12865, libc.VaList(bp+24, z)) _sqlite3DbFree(tls, db, z) return } @@ -100585,10 +101056,10 @@ func _sqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar isInit = libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) != int32(1)) pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(p)).FnCol)-int32(1))*12 if !(_sqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12766, libc.VaList(bp+64, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12891, libc.VaList(bp+64, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12811, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12936, 0) } else { libc.Xmemset(tls, bp, 0, uint32(52)) (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_SPAN) @@ -100646,7 +101117,7 @@ func _makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { p1 = pCol + 10 *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(COLFLAG_PRIMKEY)) if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12852, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12977, 0) } } @@ -100683,7 +101154,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError goto primary_key_exit } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasPrimaryKey) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12904, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13029, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit } *(*Tu32)(unsafe.Pointer(pTab + 28)) |= uint32(TF_HasPrimaryKey) @@ -100742,7 +101213,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError _sqlite3HasExplicitNulls(tls, pParse, pList) } else { if autoInc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12945, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13070, 0) } else { _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), uintptr(0), sortOrder, 0, uint8(SQLITE_IDXTYPE_PRIMARYKEY)) pList = uintptr(0) @@ -100859,17 +101330,17 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui } pCol = (*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-int32(1))*12 if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) == int32(PARSE_MODE_DECLARE_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13001, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13126, 0) goto generated_done } if int32((*TColumn)(unsafe.Pointer(pCol)).FiDflt) > 0 { goto generated_error } if pType != 0 { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13044, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13169, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { /* no-op */ } else { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13052, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13177, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { eType = uint8(COLFLAG_STORED) } else { goto generated_error @@ -100903,7 +101374,7 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui goto generated_error generated_error: ; - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13059, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13184, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) goto generated_done generated_done: ; @@ -101067,13 +101538,13 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { } n += _identLength(tls, (*TTable)(unsafe.Pointer(p)).FzName) if n < int32(50) { - zSep = __ccgo_ts + 1648 - zSep2 = __ccgo_ts + 13090 - zEnd = __ccgo_ts + 5106 + zSep = __ccgo_ts + 1662 + zSep2 = __ccgo_ts + 13215 + zEnd = __ccgo_ts + 5170 } else { - zSep = __ccgo_ts + 13092 - zSep2 = __ccgo_ts + 13096 - zEnd = __ccgo_ts + 13101 + zSep = __ccgo_ts + 13217 + zSep2 = __ccgo_ts + 13221 + zEnd = __ccgo_ts + 13226 } n += int32(35) + int32(6)*int32((*TTable)(unsafe.Pointer(p)).FnCol) zStmt = _sqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -101081,7 +101552,7 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { _sqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13104, 0) + Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13229, 0) *(*int32)(unsafe.Pointer(bp)) = _sqlite3Strlen30(tls, zStmt) _identPut(tls, zStmt, bp, (*TTable)(unsafe.Pointer(p)).FzName) v2 = *(*int32)(unsafe.Pointer(bp)) @@ -101111,17 +101582,17 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { i++ pCol += 12 } - Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3795, libc.VaList(bp+16, zEnd)) + Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3859, libc.VaList(bp+16, zEnd)) return zStmt } var _azType1 = [6]uintptr{ - 0: __ccgo_ts + 1648, - 1: __ccgo_ts + 13118, - 2: __ccgo_ts + 13124, - 3: __ccgo_ts + 13129, - 4: __ccgo_ts + 13134, - 5: __ccgo_ts + 13124, + 0: __ccgo_ts + 1662, + 1: __ccgo_ts + 13243, + 2: __ccgo_ts + 13249, + 3: __ccgo_ts + 13254, + 4: __ccgo_ts + 13259, + 5: __ccgo_ts + 13249, } // C documentation @@ -101720,13 +102191,13 @@ func _sqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts Tu32, pSelect uintptr) { bp := tls.Alloc(96) defer tls.Free(96) - var addrInsLoop, addrTop, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v4, v6, v8 int32 + var addrInsLoop, addrTop, iCsr, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v10, v4, v6, v8 int32 var colFlags Tu32 - var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v5, v7, v9 uintptr - var v10 Ti16 + var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v13, v5, v7, v9 uintptr + var v12 Ti16 var _ /* dest at bp+0 */ TSelectDest - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v4, v5, v6, v7, v8, v9 /* The new table */ - db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iCsr, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v12, v13, v4, v5, v6, v7, v8, v9 /* The new table */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ if pEnd == uintptr(0) && pSelect == uintptr(0) { return } @@ -101748,7 +102219,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if pSelect != 0 || !(int32((*TTable)(unsafe.Pointer(p)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) && (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1648, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1662, 0) return } (*TTable)(unsafe.Pointer(p)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum @@ -101775,9 +102246,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(ii)*12 if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 4))&0xf0>>4)) == COLTYPE_CUSTOM { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_HASTYPE) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13140, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1648))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13265, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1662))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13173, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13298, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } return } else { @@ -101800,11 +102271,11 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* Special processing for WITHOUT ROWID Tables */ if tabOpts&uint32(TF_WithoutRowid) != 0 { if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13200, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13325, 0) return } if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasPrimaryKey) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13250, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13375, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) return } *(*Tu32)(unsafe.Pointer(p + 28)) |= uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) @@ -101851,7 +102322,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ii1++ } if nNG == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13282, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13407, 0) return } } @@ -101885,12 +102356,12 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if int32((*TTable)(unsafe.Pointer(p)).FeTabType) == TABTYP_NORM { /* A regular table */ - zType = __ccgo_ts + 9058 - zType2 = __ccgo_ts + 13326 + zType = __ccgo_ts + 9183 + zType2 = __ccgo_ts + 13451 } else { /* A view */ - zType = __ccgo_ts + 10796 - zType2 = __ccgo_ts + 13332 + zType = __ccgo_ts + 10921 + zType2 = __ccgo_ts + 13457 } /* If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT ** statement to populate the new table. The root-page number for the @@ -101905,29 +102376,31 @@ func _sqlite3EndTable(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 { /* A table that describes the SELECT results */ + if pSelect != 0 { /* Write cursor on the new table */ if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) (*TParse)(unsafe.Pointer(pParse)).FnErr++ return } - v5 = pParse + 44 - *(*int32)(unsafe.Pointer(v5))++ + v5 = pParse + 40 v4 = *(*int32)(unsafe.Pointer(v5)) - regYield = v4 + *(*int32)(unsafe.Pointer(v5))++ + iCsr = v4 v7 = pParse + 44 *(*int32)(unsafe.Pointer(v7))++ v6 = *(*int32)(unsafe.Pointer(v7)) - regRec = v6 + regYield = v6 v9 = pParse + 44 *(*int32)(unsafe.Pointer(v9))++ v8 = *(*int32)(unsafe.Pointer(v9)) - regRowid = v8 - _ = libc.Int32FromInt32(0) + regRec = v8 + v11 = pParse + 44 + *(*int32)(unsafe.Pointer(v11))++ + v10 = *(*int32)(unsafe.Pointer(v11)) + regRowid = v10 _sqlite3MayAbort(tls, pParse) - _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), int32(1), (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) + _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), iCsr, (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_P2ISREG)) - (*TParse)(unsafe.Pointer(pParse)).FnTab = int32(2) addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -101938,9 +102411,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr return } _ = libc.Int32FromInt32(0) - v10 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol - (*TTable)(unsafe.Pointer(p)).FnNVCol = v10 - (*TTable)(unsafe.Pointer(p)).FnCol = v10 + v12 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol + (*TTable)(unsafe.Pointer(p)).FnNVCol = v12 + (*TTable)(unsafe.Pointer(p)).FnCol = v12 (*TTable)(unsafe.Pointer(p)).FaCol = (*TTable)(unsafe.Pointer(pSelTab)).FaCol (*TTable)(unsafe.Pointer(pSelTab)).FnCol = 0 (*TTable)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) @@ -101955,33 +102428,33 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr addrInsLoop = _sqlite3VdbeAddOp1(tls, v, int32(OP_Yield), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSDParm) _sqlite3VdbeAddOp3(tls, v, int32(OP_MakeRecord), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst, (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst, regRec) _sqlite3TableAffinity(tls, v, p, 0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), int32(1), regRowid) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), int32(1), regRec, regRowid) + _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iCsr, regRowid) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iCsr, regRec, regRowid) _sqlite3VdbeGoto(tls, v, addrInsLoop) _sqlite3VdbeJumpHere(tls, v, addrInsLoop) - _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), int32(1)) + _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), iCsr) } /* Compute the complete text of the CREATE statement */ if pSelect != 0 { zStmt = _createTableStmt(tls, db, p) } else { if tabOpts != 0 { - v11 = pParse + 208 + v13 = pParse + 208 } else { - v11 = pEnd + v13 = pEnd } - pEnd2 = v11 + pEnd2 = v13 n = int32((*TToken)(unsafe.Pointer(pEnd2)).Fz) - int32((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz) if int32(*(*uint8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pEnd2)).Fz))) != int32(';') { n = int32(uint32(n) + (*TToken)(unsafe.Pointer(pEnd2)).Fn) } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13337, libc.VaList(bp+40, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13462, libc.VaList(bp+40, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13352, libc.VaList(bp+40, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13477, libc.VaList(bp+40, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) _sqlite3DbFree(tls, db, zStmt) _sqlite3ChangeCookie(tls, pParse, iDb) /* Check to see if we need to create an sqlite_sequence table for @@ -101991,17 +102464,16 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16 _ = libc.Int32FromInt32(0) if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13450, libc.VaList(bp+40, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13575, libc.VaList(bp+40, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) } } /* Reparse everything to update our internal data structures */ - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13492, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13617, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) /* Test for cycles in generated columns and illegal expressions ** in CHECK constraints and in DEFAULT clauses. */ if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasGenerated) != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13526, libc.VaList(bp+40, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(0x0001), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13651, libc.VaList(bp+40, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13547, libc.VaList(bp+40, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } /* Add the table to the in-memory representation of the database. */ @@ -102021,7 +102493,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ** then record a pointer to this table in the main database structure ** so that INSERT can find the table easily. */ _ = libc.Int32FromInt32(0) - if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9580) == 0 { + if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9705) == 0 { _ = libc.Int32FromInt32(0) (*TSchema)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -102056,7 +102528,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*uintptr)(unsafe.Pointer(bp + 60)) = uintptr(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if int32((*TParse)(unsafe.Pointer(pParse)).FnVar) > 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13579, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13672, 0) goto create_view_fail } _sqlite3StartTable(tls, pParse, pName1, pName2, isTemp, int32(1), 0, noErr) @@ -102073,7 +102545,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*Tu32)(unsafe.Pointer(p + 28)) |= uint32(TF_NoVisibleRowid) /* Never allow rowid in view */ _sqlite3TwoPartName(tls, pParse, pName1, pName2, bp+60) iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(p)).FpSchema) - _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+10796, *(*uintptr)(unsafe.Pointer(bp + 60))) + _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+10921, *(*uintptr)(unsafe.Pointer(bp + 60))) if _sqlite3FixSelect(tls, bp+8, pSelect) != 0 { goto create_view_fail } @@ -102173,7 +102645,7 @@ func _viewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) (r int32 ** SELECT * FROM temp.ex1; */ if int32((*TTable)(unsafe.Pointer(pTable)).FnCol) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13615, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13708, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) return int32(1) } _ = libc.Int32FromInt32(0) @@ -102365,7 +102837,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { v = _sqlite3GetVdbe(tls, pParse) r1 = _sqlite3GetTempReg(tls, pParse) if iTable < int32(2) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13645, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13738, 0) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Destroy), iTable, r1, iDb) _sqlite3MayAbort(tls, pParse) @@ -102378,7 +102850,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { ** is in register NNN. See grammar rules associated with the TK_REGISTER ** token for additional information. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13660, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*16))).FzDbSName, iTable, r1, r1)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13753, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*16))).FzDbSName, iTable, r1, r1)) _sqlite3ReleaseTempReg(tls, pParse, r1) } @@ -102463,9 +102935,9 @@ func _sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uin if !(i <= int32(4)) { break } - Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13727, libc.VaList(bp+32, i)) + Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13820, libc.VaList(bp+32, i)) if _sqlite3FindTable(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, bp, zDbName) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11685, libc.VaList(bp+32, zDbName, bp, zType, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11810, libc.VaList(bp+32, zDbName, bp, zType, zName)) } goto _1 _1: @@ -102508,7 +102980,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** move as a result of the drop (can happen in auto-vacuum mode). */ if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13741, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13834, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* Drop all entries in the schema table that refer to the ** table. The program name loops through the schema table and deletes @@ -102517,7 +102989,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** created in the temp database that refers to a table in another ** database. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13786, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13879, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { _destroyTable(tls, pParse, pTab) } @@ -102552,11 +103024,11 @@ func _sqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) (r int32) { // ** Return true if it is not allowed to drop the given table // */ func _tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) (r int32) { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) == 0 { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3418, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3482, int32(4)) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7266, int32(10)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7391, int32(10)) == 0 { return 0 } return int32(1) @@ -102615,9 +103087,9 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zTab = v1 zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName @@ -102650,18 +103122,18 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if _tableMayNotBeDropped(tls, db, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13853, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13946, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Ensure DROP TABLE is not used on a view, and DROP VIEW is not used ** on a table. */ if isView != 0 && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13881, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13974, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } if !(isView != 0) && int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13915, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14008, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Generate code to remove the table from the schema table @@ -102671,7 +103143,7 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) if !(isView != 0) { - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11797, (*TTable)(unsafe.Pointer(pTab)).FzName) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11922, (*TTable)(unsafe.Pointer(pTab)).FzName) _sqlite3FkDropTable(tls, pParse, pName, pTab) } _sqlite3CodeDropTable(tls, pParse, pTab, iDb, isView) @@ -102720,13 +103192,13 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p goto fk_end } if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13947, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*12))).FzCnName, pTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14040, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*12))).FzCnName, pTo)) goto fk_end } nCol = int32(1) } else { if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14010, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14103, 0) goto fk_end } else { nCol = (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr @@ -102790,7 +103262,7 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p j++ } if j >= int32((*TTable)(unsafe.Pointer(p)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14104, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*20))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14197, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*20))).FzEName)) goto fk_end } if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { @@ -103054,11 +103526,11 @@ func _sqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) (r i if int32(uint32(*(*uint16)(unsafe.Pointer(pList + 8 + uintptr(i)*20 + 8 + 4))&0x20>>5)) != 0 { sf = (*(*TExprList_item)(unsafe.Pointer(pList + 8 + uintptr(i)*20))).Ffg.FsortFlags if int32(sf) == 0 || int32(sf) == int32(3) { - v2 = __ccgo_ts + 14150 + v2 = __ccgo_ts + 14243 } else { - v2 = __ccgo_ts + 14156 + v2 = __ccgo_ts + 14249 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14161, libc.VaList(bp+8, v2)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14254, libc.VaList(bp+8, v2)) return int32(1) } goto _1 @@ -103140,7 +103612,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = int32(1) } } - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14189, *(*uintptr)(unsafe.Pointer(bp + 52))) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14282, *(*uintptr)(unsafe.Pointer(bp + 52))) if _sqlite3FixSrcList(tls, bp, pTblName) != 0 { /* Because the parser constructs pTblName from a single identifier, ** sqlite3FixSrcList can never fail. */ @@ -103152,7 +103624,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } if iDb == int32(1) && (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FpSchema != (*TTable)(unsafe.Pointer(pTab)).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14195, libc.VaList(bp+80, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14288, libc.VaList(bp+80, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if !((*TTable)(unsafe.Pointer(pTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { @@ -103169,16 +103641,16 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16 _ = libc.Int32FromInt32(0) - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14245, libc.VaList(bp+80, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14338, libc.VaList(bp+80, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14273, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14366, 0) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14298, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14391, 0) goto exit_create_index } /* @@ -103200,19 +103672,19 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } _ = libc.Int32FromInt32(0) - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14189, (*TTable)(unsafe.Pointer(pTab)).FzName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14282, (*TTable)(unsafe.Pointer(pTab)).FzName) { goto exit_create_index } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if !((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0) { if _sqlite3FindTable(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14332, libc.VaList(bp+80, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14425, libc.VaList(bp+80, zName)) goto exit_create_index } } if _sqlite3FindIndex(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { if !(ifNotExist != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14366, libc.VaList(bp+80, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14459, libc.VaList(bp+80, zName)) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -103234,7 +103706,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pLoop = (*TIndex)(unsafe.Pointer(pLoop)).FpNext n++ } - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14390, libc.VaList(bp+80, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14483, libc.VaList(bp+80, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) if zName == uintptr(0) { goto exit_create_index } @@ -103252,9 +103724,9 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { zDb = (*TDb)(unsafe.Pointer(pDb)).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6533 + v2 = __ccgo_ts + 6597 } else { - v2 = __ccgo_ts + 6066 + v2 = __ccgo_ts + 6130 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v2, uintptr(0), zDb) != 0 { goto exit_create_index @@ -103283,7 +103755,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u _ = libc.Int32FromInt32(0) _sqlite3ExprListSetSortOrder(tls, pList, sortOrder, -int32(1)) } else { - _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14189) + _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14282) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { goto exit_create_index } @@ -103373,7 +103845,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pCExpr = _sqlite3ExprSkipCollate(tls, (*TExprList_item)(unsafe.Pointer(pListItem)).FpExpr) if int32((*TExpr)(unsafe.Pointer(pCExpr)).Fop) != int32(TK_COLUMN) { if pTab == (*TParse)(unsafe.Pointer(pParse)).FpNewTable { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14413, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14506, 0) goto exit_create_index } if (*TIndex)(unsafe.Pointer(pIndex)).FaColExpr == uintptr(0) { @@ -103530,7 +104002,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u ** explicitly specified behavior for the index. */ if !(int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) || int32((*TIndex)(unsafe.Pointer(pIndex)).FonError) == int32(OE_Default)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14474, libc.VaList(bp+80, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14567, libc.VaList(bp+80, 0)) } if int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) { (*TIndex)(unsafe.Pointer(pIdx)).FonError = (*TIndex)(unsafe.Pointer(pIndex)).FonError @@ -103563,8 +104035,8 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != uintptr(0) { (*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14516, 0) - (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125123)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14609, 0) + (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125741)) goto exit_create_index } } @@ -103605,11 +104077,11 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* A named index with an explicit CREATE INDEX statement */ if onError == OE_None { - v13 = __ccgo_ts + 1648 + v13 = __ccgo_ts + 1662 } else { - v13 = __ccgo_ts + 14533 + v13 = __ccgo_ts + 14626 } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14541, libc.VaList(bp+80, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 52)))).Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14634, libc.VaList(bp+80, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 52)))).Fz)) } else { /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ /* zStmt = sqlite3MPrintf(""); */ @@ -103617,7 +104089,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* Add an entry in sqlite_schema for this index */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14561, libc.VaList(bp+80, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14654, libc.VaList(bp+80, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) _sqlite3DbFree(tls, db, zStmt) /* Fill the index with data and reparse the schema. Code an OP_Expire ** to invalidate all pre-compiled statements. @@ -103625,7 +104097,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != 0 { _sqlite3RefillIndex(tls, pParse, pIndex, iMem) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14620, libc.VaList(bp+80, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14713, libc.VaList(bp+80, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Expire), 0, int32(1)) } _sqlite3VdbeJumpHere(tls, v, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum)) @@ -103795,7 +104267,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pIndex = _sqlite3FindIndex(tls, db, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzName, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) if pIndex == uintptr(0) { if !(ifExists != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14647, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14740, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) _sqlite3ForceNotReadOnly(tls, pParse) @@ -103804,7 +104276,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in goto exit_drop_index } if int32(uint32(*(*uint16)(unsafe.Pointer(pIndex + 56))&0x3>>0)) != SQLITE_IDXTYPE_APPDEF { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14665, libc.VaList(bp+8, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14758, libc.VaList(bp+8, 0)) goto exit_drop_index } iDb = _sqlite3SchemaToIndex(tls, db, (*TIndex)(unsafe.Pointer(pIndex)).FpSchema) @@ -103812,9 +104284,9 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pTab = (*TIndex)(unsafe.Pointer(pIndex)).FpTable zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zTab = v1 if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_DELETE), zTab, uintptr(0), zDb) != 0 { @@ -103830,8 +104302,8 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in v = _sqlite3GetVdbe(tls, pParse) if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14738, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11793, (*TIndex)(unsafe.Pointer(pIndex)).FzName) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14831, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11918, (*TIndex)(unsafe.Pointer(pIndex)).FzName) _sqlite3ChangeCookie(tls, pParse, iDb) _destroyRootPage(tls, pParse, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum), iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropIndex), iDb, 0, 0, (*TIndex)(unsafe.Pointer(pIndex)).FzName, 0) @@ -104028,7 +104500,7 @@ func _sqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra nAlloc = int64(2)*int64((*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) + int64(nExtra) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc+nExtra >= int32(SQLITE_MAX_SRCLIST) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14798, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14891, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) return uintptr(0) } if nAlloc > int64(SQLITE_MAX_SRCLIST) { @@ -104265,11 +104737,11 @@ func _sqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa db = (*TParse)(unsafe.Pointer(pParse)).Fdb if !(p != 0) && pOnUsing != uintptr(0) && ((*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 || (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpUsing != 0) { if (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 { - v1 = __ccgo_ts + 14834 + v1 = __ccgo_ts + 14927 } else { - v1 = __ccgo_ts + 14837 + v1 = __ccgo_ts + 14930 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14843, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14936, libc.VaList(bp+8, v1)) goto append_from_error } p = _sqlite3SrcListAppend(tls, pParse, p, pTable, pDatabase) @@ -104486,7 +104958,7 @@ func _sqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { _ = libc.Int32FromInt32(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb _ = libc.Int32FromInt32(0) - if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14879, uintptr(0), uintptr(0)) != 0 { + if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14972, uintptr(0), uintptr(0)) != 0 { return } v = _sqlite3GetVdbe(tls, pParse) @@ -104536,9 +105008,9 @@ func _sqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { _ = libc.Int32FromInt32(0) isRollback = libc.BoolInt32(eType == int32(TK_ROLLBACK)) if isRollback != 0 { - v1 = __ccgo_ts + 14885 + v1 = __ccgo_ts + 14978 } else { - v1 = __ccgo_ts + 14894 + v1 = __ccgo_ts + 14987 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), v1, uintptr(0), uintptr(0)) != 0 { return @@ -104571,9 +105043,9 @@ func _sqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } var _az = [3]uintptr{ - 0: __ccgo_ts + 14879, - 1: __ccgo_ts + 14901, - 2: __ccgo_ts + 14885, + 0: __ccgo_ts + 14972, + 1: __ccgo_ts + 14994, + 2: __ccgo_ts + 14978, } // C documentation @@ -104593,7 +105065,7 @@ func _sqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) (r int32) { if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpBt == uintptr(0) && !((*TParse)(unsafe.Pointer(pParse)).Fexplain != 0) { rc = _sqlite3BtreeOpen(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp, 0, _flags) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14909, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15002, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = rc return int32(1) } @@ -104784,7 +105256,7 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable _sqlite3StrAccumInit(tls, bp, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 120))) if (*TIndex)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+14979, libc.VaList(bp+32, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15072, libc.VaList(bp+32, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) } else { j = 0 for { @@ -104794,10 +105266,10 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx _ = libc.Int32FromInt32(0) zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*12))).FzCnName if j != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+14990, int32(2)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+15083, int32(2)) } Xsqlite3_str_appendall(tls, bp, (*TTable)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp, __ccgo_ts+1661, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+1675, int32(1)) Xsqlite3_str_appendall(tls, bp, zCol) goto _1 _1: @@ -104826,10 +105298,10 @@ func _sqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr _, _ = rc, zMsg if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12381, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*12))).FzCnName)) + zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12506, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*12))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(6)< libc.BoolInt32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15109, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15202, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } return 0 } @@ -105958,11 +106430,11 @@ func _sqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger ui bp := tls.Alloc(16) defer tls.Free(16) if _tabIsReadOnly(tls, pParse, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15142, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15235, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && (pTrigger == uintptr(0) || (*TTrigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 && (*TTrigger)(unsafe.Pointer(pTrigger)).FpNext == uintptr(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15171, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15264, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -106387,7 +106859,7 @@ func _sqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** invoke the callback function. */ if memCnt != 0 { - _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15209) + _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15302) } goto delete_from_cleanup delete_from_cleanup: @@ -106536,7 +107008,7 @@ func _sqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri v3 = 0 } _sqlite3VdbeAddOp2(tls, v, int32(OP_Delete), iDataCur, v3) - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11582) { + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11707) { _sqlite3VdbeAppendP4(tls, v, pTab, -int32(5)) } if int32(eMode) != ONEPASS_OFF { @@ -106854,11 +107326,11 @@ func _typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } var _azType2 = [5]uintptr{ - 0: __ccgo_ts + 6306, - 1: __ccgo_ts + 6301, - 2: __ccgo_ts + 8197, - 3: __ccgo_ts + 8192, - 4: __ccgo_ts + 1634, + 0: __ccgo_ts + 6370, + 1: __ccgo_ts + 6365, + 2: __ccgo_ts + 8322, + 3: __ccgo_ts + 8317, + 4: __ccgo_ts + 1648, } // C documentation @@ -106975,7 +107447,7 @@ func _absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* IMP: R-31676-45509 If X is the integer -9223372036854775808 ** then abs(X) throws an integer overflow error since there is no ** equivalent positive 64-bit two complement value. */ - Xsqlite3_result_error(tls, context, __ccgo_ts+15222, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15315, -int32(1)) return } iVal = -iVal @@ -107294,7 +107766,7 @@ func _roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } *(*float64)(unsafe.Pointer(bp)) = float64(int64(*(*float64)(unsafe.Pointer(bp)) + v1)) } else { - zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15239, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) + zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15332, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -107878,7 +108350,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { */ nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer(db + 120 + 8*4)) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15245, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15338, -int32(1)) return } if argc == int32(3) { @@ -107890,7 +108362,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { return } if _sqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), -int32(1)) != int32(1) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15278, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15371, -int32(1)) return } escape = _sqlite3Utf8Read(tls, bp+4) @@ -107972,7 +108444,7 @@ func _errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { defer tls.Free(16) _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))))) } // C documentation @@ -108062,17 +108534,17 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_FLOAT): r1 = Xsqlite3_value_double(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15323, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15416, libc.VaList(bp+16, r1)) zVal = Xsqlite3_str_value(tls, pStr) if zVal != 0 { _sqlite3AtoF(tls, zVal, bp, int32((*TStrAccum)(unsafe.Pointer(pStr)).FnChar), uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp)) { Xsqlite3_str_reset(tls, pStr) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15331, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15424, libc.VaList(bp+16, r1)) } } case int32(SQLITE_INTEGER): - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1404, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1423, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) case int32(SQLITE_BLOB): zBlob = Xsqlite3_value_blob(tls, pValue) nBlob = int64(Xsqlite3_value_bytes(tls, pValue)) @@ -108100,10 +108572,10 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { } case int32(SQLITE_TEXT): zArg = Xsqlite3_value_text(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15339, libc.VaList(bp+16, zArg)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15432, libc.VaList(bp+16, zArg)) default: _ = libc.Int32FromInt32(0) - Xsqlite3_str_append(tls, pStr, __ccgo_ts+1649, int32(4)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+1663, int32(4)) break } } @@ -108342,7 +108814,7 @@ func _unhexFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { var v3 uint32 var _ /* zHex at bp+0 */ uintptr _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ch, d, nHex, nPass, p, pBlob, zPass, v1, v2, v3, v4, v5, v6 - zPass = __ccgo_ts + 1648 + zPass = __ccgo_ts + 1662 nPass = 0 *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) nHex = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -108668,7 +109140,7 @@ var _lenOne = [1]uint32{ } var _azOne = [1]uintptr{ - 0: __ccgo_ts + 11202, + 0: __ccgo_ts + 11327, } // C documentation @@ -108737,7 +109209,7 @@ func _concatFuncCore(tls *libc.TLS, context uintptr, argc int32, argv uintptr, n // ** concatentation of all non-null arguments. // */ func _concatFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1648) + _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1662) } // C documentation @@ -108784,7 +109256,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { _ = libc.Int32FromInt32(0) zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = __ccgo_ts + 1648 + zIn = __ccgo_ts + 1662 } i = 0 for { @@ -108830,7 +109302,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { /* IMP: R-64894-50321 The string "?000" is returned if the argument ** is NULL or contains no ASCII alphabetic characters. */ - Xsqlite3_result_text(tls, context, __ccgo_ts+15342, int32(4), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, context, __ccgo_ts+15435, int32(4), libc.UintptrFromInt32(0)) } } @@ -108891,7 +109363,7 @@ func _loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { ** flag is set. See the sqlite3_enable_load_extension() API. */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_LoadExtFunc) == uint64(0) { - Xsqlite3_result_error(tls, context, __ccgo_ts+12420, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+12545, -int32(1)) return } if argc == int32(2) { @@ -109087,7 +109559,7 @@ func _sumFinalize(tls *libc.TLS, context uintptr) { if p != 0 && (*TSumCtx)(unsafe.Pointer(p)).Fcnt > 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fapprox != 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fovrfl != 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+15222, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15315, -int32(1)) } else { if !(_sqlite3IsOverflow(tls, (*TSumCtx)(unsafe.Pointer(p)).FrErr) != 0) { Xsqlite3_result_double(tls, context, (*TSumCtx)(unsafe.Pointer(p)).FrSum+(*TSumCtx)(unsafe.Pointer(p)).FrErr) @@ -109435,7 +109907,7 @@ func _groupConcatValue(tls *libc.TLS, context uintptr) { func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { var rc int32 _ = rc - rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15347, int32(2)) + rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15440, int32(2)) _ = libc.Int32FromInt32(0) if rc == int32(SQLITE_NOMEM) { _sqlite3OomFault(tls, db) @@ -109465,8 +109937,8 @@ func _sqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 if !(nArg <= int32(3)) { break } - _sqlite3CreateFunc(tls, db, __ccgo_ts+15353, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15353, nArg, uint8(SQLITE_UTF8), uint8(0)) + _sqlite3CreateFunc(tls, db, __ccgo_ts+15446, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15446, nArg, uint8(SQLITE_UTF8), uint8(0)) *(*Tu32)(unsafe.Pointer(pDef + 4)) |= uint32(flags) *(*Tu32)(unsafe.Pointer(pDef + 4)) &= uint32(^libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)) goto _1 @@ -109786,562 +110258,562 @@ var _aBuiltinFunc = [110]TFuncDef{ FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_implies_nonnull_row)), - FzName: __ccgo_ts + 15358, + FzName: __ccgo_ts + 15451, }, 1: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_expr_compare)), - FzName: __ccgo_ts + 15378, + FzName: __ccgo_ts + 15471, }, 2: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_expr_implies_expr)), - FzName: __ccgo_ts + 15391, + FzName: __ccgo_ts + 15484, }, 3: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_affinity)), - FzName: __ccgo_ts + 15409, + FzName: __ccgo_ts + 15502, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15418, + FzName: __ccgo_ts + 15511, }, 5: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15426, + FzName: __ccgo_ts + 15519, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15426, + FzName: __ccgo_ts + 15519, }, 7: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15441, + FzName: __ccgo_ts + 15534, }, 8: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15467, + FzName: __ccgo_ts + 15560, }, 9: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_unlikely)), - FzName: __ccgo_ts + 15492, + FzName: __ccgo_ts + 15585, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_unlikely)), - FzName: __ccgo_ts + 15501, + FzName: __ccgo_ts + 15594, }, 11: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_unlikely)), - FzName: __ccgo_ts + 15512, + FzName: __ccgo_ts + 15605, }, 12: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_sqlite_offset)), - FzName: __ccgo_ts + 15519, + FzName: __ccgo_ts + 15612, }, 13: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(1)), - FzName: __ccgo_ts + 15533, + FzName: __ccgo_ts + 15626, }, 14: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(1)), - FzName: __ccgo_ts + 15533, + FzName: __ccgo_ts + 15626, }, 15: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(2)), - FzName: __ccgo_ts + 15539, + FzName: __ccgo_ts + 15632, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(2)), - FzName: __ccgo_ts + 15539, + FzName: __ccgo_ts + 15632, }, 17: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(3)), - FzName: __ccgo_ts + 15545, + FzName: __ccgo_ts + 15638, }, 18: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(3)), - FzName: __ccgo_ts + 15545, + FzName: __ccgo_ts + 15638, }, 19: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15550, + FzName: __ccgo_ts + 15643, }, 20: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15550, + FzName: __ccgo_ts + 15643, }, 21: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15550, + FzName: __ccgo_ts + 15643, }, 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(1)), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 23: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(1)), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 24: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), FpUserData: uintptr(libc.Int32FromInt32(1)), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 25: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15558, + FzName: __ccgo_ts + 15651, }, 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15565, + FzName: __ccgo_ts + 15658, }, 27: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_LENGTH)), - FzName: __ccgo_ts + 15573, + FzName: __ccgo_ts + 15666, }, 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_BYTELEN)), - FzName: __ccgo_ts + 15580, + FzName: __ccgo_ts + 15673, }, 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15593, + FzName: __ccgo_ts + 15686, }, 30: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15599, + FzName: __ccgo_ts + 15692, }, 31: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15606, + FzName: __ccgo_ts + 15699, }, 32: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15613, + FzName: __ccgo_ts + 15706, }, 33: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15621, + FzName: __ccgo_ts + 15714, }, 34: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15626, + FzName: __ccgo_ts + 15719, }, 35: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15630, + FzName: __ccgo_ts + 15723, }, 36: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15630, + FzName: __ccgo_ts + 15723, }, 37: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15636, + FzName: __ccgo_ts + 15729, }, 38: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15642, + FzName: __ccgo_ts + 15735, }, 39: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15648, + FzName: __ccgo_ts + 15741, }, 40: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15652, + FzName: __ccgo_ts + 15745, }, 41: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15652, + FzName: __ccgo_ts + 15745, }, 42: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15658, + FzName: __ccgo_ts + 15751, }, 43: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15658, + FzName: __ccgo_ts + 15751, }, 44: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15665, + FzName: __ccgo_ts + 15758, }, 45: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15665, + FzName: __ccgo_ts + 15758, }, 46: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15665, + FzName: __ccgo_ts + 15758, }, 47: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15675, + FzName: __ccgo_ts + 15768, }, 48: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15682, + FzName: __ccgo_ts + 15775, }, 49: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15689, + FzName: __ccgo_ts + 15782, }, 50: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15700, + FzName: __ccgo_ts + 15793, }, 51: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15707, + FzName: __ccgo_ts + 15800, }, 52: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15722, + FzName: __ccgo_ts + 15815, }, 53: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15739, + FzName: __ccgo_ts + 15832, }, 54: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15750, + FzName: __ccgo_ts + 15843, }, 55: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15756, + FzName: __ccgo_ts + 15849, }, 56: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15774, + FzName: __ccgo_ts + 15867, }, 57: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15782, + FzName: __ccgo_ts + 15875, }, 58: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15796, + FzName: __ccgo_ts + 15889, }, 59: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15804, + FzName: __ccgo_ts + 15897, }, 60: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15813, + FzName: __ccgo_ts + 15906, }, 61: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15813, + FzName: __ccgo_ts + 15906, }, 62: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15820, + FzName: __ccgo_ts + 15913, }, 63: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15820, + FzName: __ccgo_ts + 15913, }, 64: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15830, + FzName: __ccgo_ts + 15923, }, 65: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15834, + FzName: __ccgo_ts + 15927, }, 66: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15840, + FzName: __ccgo_ts + 15933, }, 67: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_COUNT) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15844, + FzName: __ccgo_ts + 15937, }, 68: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15844, + FzName: __ccgo_ts + 15937, }, 69: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15850, + FzName: __ccgo_ts + 15943, }, 70: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15850, + FzName: __ccgo_ts + 15943, }, 71: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15863, + FzName: __ccgo_ts + 15956, }, 72: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE) | libc.Int32FromInt32(SQLITE_FUNC_CASE)), FpUserData: uintptr(unsafe.Pointer(&_globInfo)), - FzName: __ccgo_ts + 15874, + FzName: __ccgo_ts + 15967, }, 73: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15353, + FzName: __ccgo_ts + 15446, }, 74: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15353, + FzName: __ccgo_ts + 15446, }, 75: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6730, + FzName: __ccgo_ts + 6794, }, 76: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6730, + FzName: __ccgo_ts + 6794, }, 77: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15879, + FzName: __ccgo_ts + 15972, }, 78: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15884, + FzName: __ccgo_ts + 1235, }, 79: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15892, + FzName: __ccgo_ts + 1243, }, 80: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15898, + FzName: __ccgo_ts + 15977, }, 81: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15904, + FzName: __ccgo_ts + 15983, }, 82: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(1)), - FzName: __ccgo_ts + 15907, + FzName: __ccgo_ts + 15986, }, 83: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(1)), - FzName: __ccgo_ts + 15911, + FzName: __ccgo_ts + 15990, }, 84: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(libc.Int32FromInt32(2)), - FzName: __ccgo_ts + 15917, + FzName: __ccgo_ts + 15996, }, 85: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15907, + FzName: __ccgo_ts + 15986, }, 86: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15922, + FzName: __ccgo_ts + 16001, }, 87: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15926, + FzName: __ccgo_ts + 16005, }, 88: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15930, + FzName: __ccgo_ts + 16009, }, 89: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15936, + FzName: __ccgo_ts + 16015, }, 90: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15940, + FzName: __ccgo_ts + 16019, }, 91: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15945, + FzName: __ccgo_ts + 16024, }, 92: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15950, + FzName: __ccgo_ts + 16029, }, 93: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15955, + FzName: __ccgo_ts + 16034, }, 94: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15961, + FzName: __ccgo_ts + 16040, }, 95: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15965, + FzName: __ccgo_ts + 16044, }, 96: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15969, + FzName: __ccgo_ts + 16048, }, 97: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15973, + FzName: __ccgo_ts + 16052, }, 98: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15978, + FzName: __ccgo_ts + 16057, }, 99: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15983, + FzName: __ccgo_ts + 16062, }, 100: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15988, + FzName: __ccgo_ts + 16067, }, 101: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15994, + FzName: __ccgo_ts + 16073, }, 102: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16000, + FzName: __ccgo_ts + 16079, }, 103: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16006, + FzName: __ccgo_ts + 16085, }, 104: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16011, + FzName: __ccgo_ts + 16090, }, 105: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16019, + FzName: __ccgo_ts + 16098, }, 106: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16027, + FzName: __ccgo_ts + 16106, }, 107: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16030, + FzName: __ccgo_ts + 16109, }, 108: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 6730, + FzName: __ccgo_ts + 6794, }, 109: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(libc.Int32FromInt32(INLINEFUNC_iif)), - FzName: __ccgo_ts + 16035, + FzName: __ccgo_ts + 16114, }, } @@ -110822,7 +111294,7 @@ func _sqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey } if !(pIdx != 0) { if !((*TParse)(unsafe.Pointer(pParse)).FdisableTriggers != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16039, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16118, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) } _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, aiCol) return int32(1) @@ -111954,11 +112426,11 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr break } *(*TToken)(unsafe.Pointer(bp + 8)) = TToken{ - Fz: __ccgo_ts + 6596, + Fz: __ccgo_ts + 6660, Fn: uint32(3), } /* Literal "old" token */ *(*TToken)(unsafe.Pointer(bp + 16)) = TToken{ - Fz: __ccgo_ts + 6592, + Fz: __ccgo_ts + 6656, Fn: uint32(3), } /* tFromCol = OLD.tToCol */ if *(*uintptr)(unsafe.Pointer(bp + 4)) != 0 { @@ -112025,7 +112497,7 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr nFrom = _sqlite3Strlen30(tls, zFrom) if action == int32(OE_Restrict) { iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5225) + pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5289) if pRaise != 0 { (*TExpr)(unsafe.Pointer(pRaise)).FaffExpr = uint8(OE_Abort) } @@ -112633,7 +113105,7 @@ func _sqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8162, libc.VaList(bp+40, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8287, libc.VaList(bp+40, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) } (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -112900,6 +113372,226 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { } } +// C documentation +// +// /* +// ** If argument pVal is a Select object returned by an sqlite3MultiValues() +// ** that was able to use the co-routine optimization, finish coding the +// ** co-routine. +// */ +func _sqlite3MultiValuesEnd(tls *libc.TLS, pParse uintptr, pVal uintptr) { + var pItem uintptr + _ = pItem + if pVal != 0 && (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pVal)).FpSrc)).FnSrc > 0 { + pItem = (*TSelect)(unsafe.Pointer(pVal)).FpSrc + 8 + _sqlite3VdbeEndCoroutine(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn) + _sqlite3VdbeJumpHere(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FaddrFillSub-int32(1)) + } +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are constant. +// */ +func _exprListIsConstant(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + if 0 == _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*20))).FpExpr) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are both constant and have no affinity. +// */ +func _exprListIsNoAffinity(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + var pExpr uintptr + _, _ = ii, pExpr + if _exprListIsConstant(tls, pParse, pRow) == 0 { + return 0 + } + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + pExpr = (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*20))).FpExpr + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if 0 != int32(_sqlite3ExprAffinity(tls, pExpr)) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** This function is called by the parser for the second and subsequent +// ** rows of a multi-row VALUES clause. Argument pLeft is the part of +// ** the VALUES clause already parsed, argument pRow is the vector of values +// ** for the new row. The Select object returned represents the complete +// ** VALUES clause, including the new row. +// ** +// ** There are two ways in which this may be achieved - by incremental +// ** coding of a co-routine (the "co-routine" method) or by returning a +// ** Select object equivalent to the following (the "UNION ALL" method): +// ** +// ** "pLeft UNION ALL SELECT pRow" +// ** +// ** If the VALUES clause contains a lot of rows, this compound Select +// ** object may consume a lot of memory. +// ** +// ** When the co-routine method is used, each row that will be returned +// ** by the VALUES clause is coded into part of a co-routine as it is +// ** passed to this function. The returned Select object is equivalent to: +// ** +// ** SELECT * FROM ( +// ** Select object to read co-routine +// ** ) +// ** +// ** The co-routine method is used in most cases. Exceptions are: +// ** +// ** a) If the current statement has a WITH clause. This is to avoid +// ** statements like: +// ** +// ** WITH cte AS ( VALUES('x'), ('y') ... ) +// ** SELECT * FROM cte AS a, cte AS b; +// ** +// ** This will not work, as the co-routine uses a hard-coded register +// ** for its OP_Yield instructions, and so it is not possible for two +// ** cursors to iterate through it concurrently. +// ** +// ** b) The schema is currently being parsed (i.e. the VALUES clause is part +// ** of a schema item like a VIEW or TRIGGER). In this case there is no VM +// ** being generated when parsing is taking place, and so generating +// ** a co-routine is not possible. +// ** +// ** c) There are non-constant expressions in the VALUES clause (e.g. +// ** the VALUES clause is part of a correlated sub-query). +// ** +// ** d) One or more of the values in the first row of the VALUES clause +// ** has an affinity (i.e. is a CAST expression). This causes problems +// ** because the complex rules SQLite uses (see function +// ** sqlite3SubqueryColumnTypes() in select.c) to determine the effective +// ** affinity of such a column for all rows require access to all values in +// ** the column simultaneously. +// */ +func _sqlite3MultiValues(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRow uintptr) (r uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var f, v1 int32 + var p, pRet, pSelect, v, v2 uintptr + var _ /* dest at bp+0 */ TSelectDest + _, _, _, _, _, _, _ = f, p, pRet, pSelect, v, v1, v2 + if (*TParse)(unsafe.Pointer(pParse)).FbHasWith != 0 || (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy != 0 || _exprListIsConstant(tls, pParse, pRow) == 0 || (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 && _exprListIsNoAffinity(tls, pParse, (*TSelect)(unsafe.Pointer(pLeft)).FpEList) == 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { + /* The co-routine method cannot be used. Fall back to UNION ALL. */ + pSelect = uintptr(0) + f = libc.Int32FromInt32(SF_Values) | libc.Int32FromInt32(SF_MultiValue) + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc != 0 { + _sqlite3MultiValuesEnd(tls, pParse, pLeft) + f = int32(SF_Values) + } else { + if (*TSelect)(unsafe.Pointer(pLeft)).FpPrior != 0 { + /* In this case set the SF_MultiValue flag only if it was set on pLeft */ + f = int32(uint32(f) & (*TSelect)(unsafe.Pointer(pLeft)).FselFlags) + } + } + pSelect = _sqlite3SelectNew(tls, pParse, pRow, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(f), uintptr(0)) + *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) + if pSelect != 0 { + (*TSelect)(unsafe.Pointer(pSelect)).Fop = uint8(TK_ALL) + (*TSelect)(unsafe.Pointer(pSelect)).FpPrior = pLeft + pLeft = pSelect + } + } else { + p = uintptr(0) /* SrcItem that reads from co-routine */ + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 { + /* Co-routine has not yet been started and the special Select object + ** that accesses the co-routine has not yet been created. This block + ** does both those things. */ + v = _sqlite3GetVdbe(tls, pParse) + pRet = _sqlite3SelectNew(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) + /* Ensure the database schema has been read. This is to ensure we have + ** the correct text encoding. */ + if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmDbFlags&uint32(DBFLAG_SchemaKnownOk) == uint32(0) { + _sqlite3ReadSchema(tls, pParse) + } + if pRet != 0 { + (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pRet)).FpSrc)).FnSrc = int32(1) + (*TSelect)(unsafe.Pointer(pRet)).FpPrior = (*TSelect)(unsafe.Pointer(pLeft)).FpPrior + (*TSelect)(unsafe.Pointer(pRet)).Fop = (*TSelect)(unsafe.Pointer(pLeft)).Fop + (*TSelect)(unsafe.Pointer(pLeft)).FpPrior = uintptr(0) + (*TSelect)(unsafe.Pointer(pLeft)).Fop = uint8(TK_SELECT) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + p = (*TSelect)(unsafe.Pointer(pRet)).FpSrc + 8 + (*TSrcItem)(unsafe.Pointer(p)).FpSelect = pLeft + libc.SetBitFieldPtr16Uint32(p+36+4, libc.Uint32FromInt32(1), 5, 0x20) + (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + v2 = pParse + 44 + *(*int32)(unsafe.Pointer(v2))++ + v1 = *(*int32)(unsafe.Pointer(v2)) + (*TSrcItem)(unsafe.Pointer(p)).FregReturn = v1 + (*TSrcItem)(unsafe.Pointer(p)).FiCursor = -int32(1) + *(*Tu32)(unsafe.Pointer(p + 64)) = uint32(2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn, 0, (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub) + _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + /* Allocate registers for the output of the co-routine. Do so so + ** that there are two unused registers immediately before those + ** used by the co-routine. This allows the code in sqlite3Insert() + ** to use these registers directly, instead of copying the output + ** of the co-routine to a separate array for processing. */ + (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(3) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpEList)).FnExpr + *(*int32)(unsafe.Pointer(pParse + 44)) += int32(2) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst + *(*Tu32)(unsafe.Pointer(pLeft + 4)) |= uint32(SF_MultiValue) + _sqlite3Select(tls, pParse, pLeft, bp) + (*TSrcItem)(unsafe.Pointer(p)).FregResult = (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst + _ = libc.Int32FromInt32(0) + pLeft = pRet + } + } else { + p = (*TSelect)(unsafe.Pointer(pLeft)).FpSrc + 8 + _ = libc.Int32FromInt32(0) + *(*Tu32)(unsafe.Pointer(p + 64))++ + } + if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { + _ = libc.Int32FromInt32(0) + if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p)).FpSelect)).FpEList)).FnExpr != (*TExprList)(unsafe.Pointer(pRow)).FnExpr { + _sqlite3SelectWrongNumTermsError(tls, pParse, (*TSrcItem)(unsafe.Pointer(p)).FpSelect) + } else { + _sqlite3ExprCodeExprList(tls, pParse, pRow, (*TSrcItem)(unsafe.Pointer(p)).FregResult, 0, uint8(0)) + _sqlite3VdbeAddOp1(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Yield), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + } + } + _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pRow) + } + return pLeft +} + // C documentation // // /* @@ -113002,27 +113694,27 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { bp := tls.Alloc(112) defer tls.Free(112) - var aRegIdx, db, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, v, v13, v16, v18, v6, v9 uintptr - var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v12, v15, v17, v19, v23, v24, v5, v7, v8 int32 + var aRegIdx, db, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, v, v10, v14, v17, v19, v7 uintptr + var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v13, v16, v18, v20, v24, v25, v5, v6, v8, v9 int32 var appendFlag, bIdListInOrder, useTempTable, withoutRowid Tu8 - var colFlags, v21 Tu32 + var colFlags, v22 Tu32 var _ /* dest at bp+8 */ TSelectDest var _ /* iDataCur at bp+0 */ int32 var _ /* iIdxCur at bp+4 */ int32 var _ /* isReplace at bp+76 */ int32 var _ /* sNC at bp+40 */ TNameContext var _ /* tmask at bp+36 */ int32 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v12, v13, v15, v16, v17, v18, v19, v21, v23, v24, v5, v6, v7, v8, v9 /* Number of columns in the data */ - nHidden = 0 /* Number of hidden columns if TABLE is virtual */ - *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ - *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ - ipkColumn = -int32(1) /* Label for the end of the insertion loop */ - srcTab = 0 /* Data comes from this temporary cursor if >=0 */ - addrInsTop = 0 /* Jump to label "D" */ - addrCont = 0 /* Index of database holding TABLE */ - useTempTable = uint8(0) /* Store SELECT results in intermediate table */ - appendFlag = uint8(0) /* True if IDLIST is in table order */ - pList = uintptr(0) /* Register in which to store next column */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v10, v13, v14, v16, v17, v18, v19, v20, v22, v24, v25, v5, v6, v7, v8, v9 /* Number of columns in the data */ + nHidden = 0 /* Number of hidden columns if TABLE is virtual */ + *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ + *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ + ipkColumn = -int32(1) /* Label for the end of the insertion loop */ + srcTab = 0 /* Data comes from this temporary cursor if >=0 */ + addrInsTop = 0 /* Jump to label "D" */ + addrCont = 0 /* Index of database holding TABLE */ + useTempTable = uint8(0) /* Store SELECT results in intermediate table */ + appendFlag = uint8(0) /* True if IDLIST is in table order */ + pList = uintptr(0) /* Register in which to store next column */ /* Register allocations */ regFromSelect = 0 /* Base register for data coming from SELECT */ regAutoinc = 0 /* Register holding the AUTOINCREMENT counter */ @@ -113169,7 +113861,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _ = libc.Int32FromInt32(0) } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*12))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_STORED)|libc.Int32FromInt32(COLFLAG_VIRTUAL)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16084, libc.VaList(bp+88, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*12))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16163, libc.VaList(bp+88, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*12))).FzCnName)) goto insert_cleanup } break @@ -113184,7 +113876,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i bIdListInOrder = uint8(0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16125, libc.VaList(bp+88, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*8))).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16204, libc.VaList(bp+88, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*8))).FzName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto insert_cleanup } @@ -113201,31 +113893,49 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** co-routine is the common header to the 3rd and 4th templates. */ if pSelect != 0 { /* Result code */ - v6 = pParse + 44 - *(*int32)(unsafe.Pointer(v6))++ - v5 = *(*int32)(unsafe.Pointer(v6)) - regYield = v5 - addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) - _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) - _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) - if bIdListInOrder != 0 { - v7 = regData + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc)).FnSrc == int32(1) && int32(uint32(*(*uint16)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + 36 + 4))&0x20>>5)) != 0 && (*TSelect)(unsafe.Pointer(pSelect)).FpPrior == uintptr(0) { + pItem = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSDParm = (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn + regFromSelect = (*TSrcItem)(unsafe.Pointer(pItem)).FregResult + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FpEList)).FnExpr + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+16236, libc.VaList(bp+88, pItem)) + if bIdListInOrder != 0 && nColumn == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { + regData = regFromSelect + regRowid = regData - int32(1) + if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { + v5 = int32(1) + } else { + v5 = 0 + } + regIns = regRowid - v5 + } } else { - v7 = 0 - } - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v7 - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) - rc = _sqlite3Select(tls, pParse, pSelect, bp+8) - regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst - _ = libc.Int32FromInt32(0) - if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { - goto insert_cleanup + v7 = pParse + 44 + *(*int32)(unsafe.Pointer(v7))++ + v6 = *(*int32)(unsafe.Pointer(v7)) /* Top of the co-routine */ + regYield = v6 + addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) + _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) + if bIdListInOrder != 0 { + v8 = regData + } else { + v8 = 0 + } + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) + rc = _sqlite3Select(tls, pParse, pSelect, bp+8) + regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst + _ = libc.Int32FromInt32(0) + if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { + goto insert_cleanup + } + _ = libc.Int32FromInt32(0) + _sqlite3VdbeEndCoroutine(tls, v, regYield) + _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ + _ = libc.Int32FromInt32(0) + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr } - _ = libc.Int32FromInt32(0) - _sqlite3VdbeEndCoroutine(tls, v, regYield) - _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ - _ = libc.Int32FromInt32(0) - nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr /* Set useTempTable to TRUE if the result of the SELECT statement ** should be written into a temporary table (template 4). Set to ** FALSE if each output row of the SELECT can be written directly into @@ -113239,10 +113949,10 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin useTempTable = uint8(1) } if useTempTable != 0 { /* Label "L" */ - v9 = pParse + 40 - v8 = *(*int32)(unsafe.Pointer(v9)) - *(*int32)(unsafe.Pointer(v9))++ - srcTab = v8 + v10 = pParse + 40 + v9 = *(*int32)(unsafe.Pointer(v10)) + *(*int32)(unsafe.Pointer(v10))++ + srcTab = v9 regRec = _sqlite3GetTempReg(tls, pParse) regTempRowid = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp2(tls, v, int32(OP_OpenEphemeral), srcTab, nColumn) @@ -113284,8 +113994,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*12))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { ipkColumn-- } - goto _10 - _10: + goto _11 + _11: ; i-- } @@ -113305,28 +114015,28 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*12))).FcolFlags)&int32(COLFLAG_NOINSERT) != 0 { nHidden++ } - goto _11 - _11: + goto _12 + _12: ; i++ } } if nColumn != int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16157, libc.VaList(bp+88, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16244, libc.VaList(bp+88, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) goto insert_cleanup } } if pColumn != uintptr(0) && nColumn != (*TIdList)(unsafe.Pointer(pColumn)).FnId { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16209, libc.VaList(bp+88, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16296, libc.VaList(bp+88, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup } /* Initialize the count of rows to be inserted */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&(uint64(libc.Int32FromInt32(0x00001))<= 0 { /* tag-20191021-001: If the INTEGER PRIMARY KEY is being generated by the ** SELECT, go ahead and copy the value into the rowid slot now, so that @@ -113442,18 +114152,18 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** using excess space. The file format definition requires this extra ** NULL - we cannot optimize further by skipping the column completely */ _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) - goto _20 + goto _21 } - v21 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*12))).FcolFlags) - colFlags = v21 - if v21&uint32(COLFLAG_NOINSERT) != uint32(0) { + v22 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*12))).FcolFlags) + colFlags = v22 + if v22&uint32(COLFLAG_NOINSERT) != uint32(0) { nHidden++ if colFlags&uint32(COLFLAG_VIRTUAL) != uint32(0) { /* Virtual columns do not participate in OP_MakeRecord. So back up ** iRegStore by one slot to compensate for the iRegStore++ in the ** outer for() loop */ iRegStore-- - goto _20 + goto _21 } else { if colFlags&uint32(COLFLAG_STORED) != uint32(0) { /* Stored columns are computed later. But if there are BEFORE @@ -113463,13 +114173,13 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if *(*int32)(unsafe.Pointer(bp + 36))&int32(TRIGGER_BEFORE) != 0 { _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) } - goto _20 + goto _21 } else { if pColumn == uintptr(0) { /* Hidden columns that are not explicitly named in the INSERT ** get there default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*12), iRegStore) - goto _20 + goto _21 } } } @@ -113481,8 +114191,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if !(j < (*TIdList)(unsafe.Pointer(pColumn)).FnId && *(*int32)(unsafe.Pointer(pColumn + 8 + uintptr(j)*8 + 4)) != i) { break } - goto _22 - _22: + goto _23 + _23: ; j++ } @@ -113490,14 +114200,14 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin /* A column not named in the insert column list gets its ** default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*12), iRegStore) - goto _20 + goto _21 } k = j } else { if nColumn == 0 { /* This is INSERT INTO ... DEFAULT VALUES. Load the default value. */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*12), iRegStore) - goto _20 + goto _21 } else { k = i - nHidden } @@ -113514,16 +114224,16 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin y = _sqlite3ExprCodeTarget(tls, pParse, pX, iRegStore) if y != iRegStore { if (*TExpr)(unsafe.Pointer(pX)).Fflags&uint32(libc.Int32FromInt32(EP_Subquery)) != uint32(0) { - v23 = int32(OP_Copy) + v24 = int32(OP_Copy) } else { - v23 = int32(OP_SCopy) + v24 = int32(OP_SCopy) } - _sqlite3VdbeAddOp2(tls, v, v23, y, iRegStore) + _sqlite3VdbeAddOp2(tls, v, v24, y, iRegStore) } } } - goto _20 - _20: + goto _21 + _21: ; i++ iRegStore++ @@ -113636,11 +114346,11 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _sqlite3VtabMakeWritable(tls, pParse, pTab) _sqlite3VdbeAddOp4(tls, v, int32(OP_VUpdate), int32(1), int32((*TTable)(unsafe.Pointer(pTab)).FnCol)+int32(2), regIns, pVTab, -int32(11)) if onError == int32(OE_Default) { - v24 = int32(OE_Abort) + v25 = int32(OE_Abort) } else { - v24 = onError + v25 = onError } - _sqlite3VdbeChangeP5(tls, v, uint16(v24)) + _sqlite3VdbeChangeP5(tls, v, uint16(v25)) _sqlite3MayAbort(tls, pParse) } else { *(*int32)(unsafe.Pointer(bp + 76)) = 0 /* True to use OPFLAG_SEEKRESULT */ @@ -113699,7 +114409,7 @@ insert_end: ** invoke the callback function. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16301) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16388) } goto insert_cleanup insert_cleanup: @@ -114098,7 +114808,7 @@ func _sqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case int32(OE_Rollback): fallthrough case int32(OE_Fail): - zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12381, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12506, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) _sqlite3VdbeAddOp3(tls, v, int32(OP_HaltIfNull), libc.Int32FromInt32(SQLITE_CONSTRAINT)|libc.Int32FromInt32(5)<= 0 && !(int32(*(*uint8)(unsafe.Pointer(zFile + uintptr(iFile)))) == libc.Int32FromUint8('/'))) { @@ -116374,7 +117084,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp iFile-- } iFile++ - if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16350, int32(3)) == 0 { + if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16437, int32(3)) == 0 { iFile += int32(3) } iEntry = int32(8) @@ -116394,7 +117104,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp ; iFile++ } - libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16354, uint32(6)) + libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16441, uint32(6)) zEntry = zAltEntry xInit = _sqlite3OsDlSym(tls, pVfs, handle, zEntry) } @@ -116406,7 +117116,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v7 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16360, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16447, libc.VaList(bp+16, zEntry, zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116421,7 +117131,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp return SQLITE_OK } if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16403, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16490, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3OsDlClose(tls, pVfs, handle) @@ -116452,7 +117162,7 @@ extension_not_found: *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v10 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16435, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16522, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116461,7 +117171,7 @@ extension_not_found: /* Shared library endings to try if zFile cannot be loaded as written */ var _azEndings = [1]uintptr{ - 0: __ccgo_ts + 16315, + 0: __ccgo_ts + 16402, } func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) (r int32) { @@ -116696,7 +117406,7 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { rc = v2 } if v3 && v2 != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16472, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16559, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -116750,63 +117460,63 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { // ** result column is different from the name of the pragma // */ var _pragCName = [57]uintptr{ - 0: __ccgo_ts + 5481, - 1: __ccgo_ts + 16511, - 2: __ccgo_ts + 9058, - 3: __ccgo_ts + 16515, - 4: __ccgo_ts + 16520, - 5: __ccgo_ts + 16523, - 6: __ccgo_ts + 16533, - 7: __ccgo_ts + 16543, - 8: __ccgo_ts + 16549, - 9: __ccgo_ts + 16553, - 10: __ccgo_ts + 16558, - 11: __ccgo_ts + 16563, - 12: __ccgo_ts + 16571, - 13: __ccgo_ts + 16582, - 14: __ccgo_ts + 16585, - 15: __ccgo_ts + 16592, - 16: __ccgo_ts + 16553, - 17: __ccgo_ts + 16558, - 18: __ccgo_ts + 16599, - 19: __ccgo_ts + 16604, - 20: __ccgo_ts + 16607, - 21: __ccgo_ts + 16614, - 22: __ccgo_ts + 16549, - 23: __ccgo_ts + 16553, - 24: __ccgo_ts + 16620, - 25: __ccgo_ts + 16625, - 26: __ccgo_ts + 16630, - 27: __ccgo_ts + 16553, - 28: __ccgo_ts + 16634, - 29: __ccgo_ts + 16558, - 30: __ccgo_ts + 16642, - 31: __ccgo_ts + 16646, - 32: __ccgo_ts + 16651, - 33: __ccgo_ts + 11797, - 34: __ccgo_ts + 11793, - 35: __ccgo_ts + 16657, - 36: __ccgo_ts + 16662, - 37: __ccgo_ts + 16667, - 38: __ccgo_ts + 16511, - 39: __ccgo_ts + 16553, - 40: __ccgo_ts + 16672, - 41: __ccgo_ts + 16679, - 42: __ccgo_ts + 16686, - 43: __ccgo_ts + 9058, - 44: __ccgo_ts + 16694, - 45: __ccgo_ts + 5484, - 46: __ccgo_ts + 16700, - 47: __ccgo_ts + 16511, - 48: __ccgo_ts + 16553, - 49: __ccgo_ts + 16705, - 50: __ccgo_ts + 16710, - 51: __ccgo_ts + 15907, - 52: __ccgo_ts + 16715, - 53: __ccgo_ts + 16728, - 54: __ccgo_ts + 16737, - 55: __ccgo_ts + 16744, - 56: __ccgo_ts + 16755, + 0: __ccgo_ts + 5545, + 1: __ccgo_ts + 16598, + 2: __ccgo_ts + 9183, + 3: __ccgo_ts + 16602, + 4: __ccgo_ts + 16607, + 5: __ccgo_ts + 16610, + 6: __ccgo_ts + 16620, + 7: __ccgo_ts + 16630, + 8: __ccgo_ts + 16636, + 9: __ccgo_ts + 16640, + 10: __ccgo_ts + 16645, + 11: __ccgo_ts + 16650, + 12: __ccgo_ts + 16658, + 13: __ccgo_ts + 16669, + 14: __ccgo_ts + 16672, + 15: __ccgo_ts + 16679, + 16: __ccgo_ts + 16640, + 17: __ccgo_ts + 16645, + 18: __ccgo_ts + 16686, + 19: __ccgo_ts + 16691, + 20: __ccgo_ts + 16694, + 21: __ccgo_ts + 16701, + 22: __ccgo_ts + 16636, + 23: __ccgo_ts + 16640, + 24: __ccgo_ts + 16707, + 25: __ccgo_ts + 16712, + 26: __ccgo_ts + 16717, + 27: __ccgo_ts + 16640, + 28: __ccgo_ts + 16721, + 29: __ccgo_ts + 16645, + 30: __ccgo_ts + 16729, + 31: __ccgo_ts + 16733, + 32: __ccgo_ts + 16738, + 33: __ccgo_ts + 11922, + 34: __ccgo_ts + 11918, + 35: __ccgo_ts + 16744, + 36: __ccgo_ts + 16749, + 37: __ccgo_ts + 16754, + 38: __ccgo_ts + 16598, + 39: __ccgo_ts + 16640, + 40: __ccgo_ts + 16759, + 41: __ccgo_ts + 16766, + 42: __ccgo_ts + 16773, + 43: __ccgo_ts + 9183, + 44: __ccgo_ts + 16781, + 45: __ccgo_ts + 5548, + 46: __ccgo_ts + 16787, + 47: __ccgo_ts + 16598, + 48: __ccgo_ts + 16640, + 49: __ccgo_ts + 16792, + 50: __ccgo_ts + 16797, + 51: __ccgo_ts + 15986, + 52: __ccgo_ts + 16802, + 53: __ccgo_ts + 16815, + 54: __ccgo_ts + 16824, + 55: __ccgo_ts + 16831, + 56: __ccgo_ts + 16842, } // C documentation @@ -116826,191 +117536,191 @@ type PragmaName = TPragmaName var _aPragmaName = [66]TPragmaName{ 0: { - FzName: __ccgo_ts + 16763, + FzName: __ccgo_ts + 16850, FePragTyp: uint8(PragTyp_ANALYSIS_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 1: { - FzName: __ccgo_ts + 16778, + FzName: __ccgo_ts + 16865, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_APPLICATION_ID), }, 2: { - FzName: __ccgo_ts + 16793, + FzName: __ccgo_ts + 16880, FePragTyp: uint8(PragTyp_AUTO_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 3: { - FzName: __ccgo_ts + 16805, + FzName: __ccgo_ts + 16892, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_AutoIndex), }, 4: { - FzName: __ccgo_ts + 16821, + FzName: __ccgo_ts + 16908, FePragTyp: uint8(PragTyp_BUSY_TIMEOUT), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(56), FnPragCName: uint8(1), }, 5: { - FzName: __ccgo_ts + 16744, + FzName: __ccgo_ts + 16831, FePragTyp: uint8(PragTyp_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 6: { - FzName: __ccgo_ts + 16834, + FzName: __ccgo_ts + 16921, FePragTyp: uint8(PragTyp_CACHE_SPILL), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 7: { - FzName: __ccgo_ts + 16846, + FzName: __ccgo_ts + 16933, FePragTyp: uint8(PragTyp_CASE_SENSITIVE_LIKE), FmPragFlg: uint8(PragFlg_NoColumns), }, 8: { - FzName: __ccgo_ts + 16866, + FzName: __ccgo_ts + 16953, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CellSizeCk), }, 9: { - FzName: __ccgo_ts + 16882, + FzName: __ccgo_ts + 16969, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CkptFullFSync), }, 10: { - FzName: __ccgo_ts + 16903, + FzName: __ccgo_ts + 16990, FePragTyp: uint8(PragTyp_COLLATION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(38), FnPragCName: uint8(2), }, 11: { - FzName: __ccgo_ts + 16918, + FzName: __ccgo_ts + 17005, FePragTyp: uint8(PragTyp_COMPILE_OPTIONS), FmPragFlg: uint8(PragFlg_Result0), }, 12: { - FzName: __ccgo_ts + 16934, + FzName: __ccgo_ts + 17021, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00001)) << libc.Int32FromInt32(32), }, 13: { - FzName: __ccgo_ts + 16948, + FzName: __ccgo_ts + 17035, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_DATA_VERSION), }, 14: { - FzName: __ccgo_ts + 16961, + FzName: __ccgo_ts + 17048, FePragTyp: uint8(PragTyp_DATABASE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(47), FnPragCName: uint8(3), }, 15: { - FzName: __ccgo_ts + 16975, + FzName: __ccgo_ts + 17062, FePragTyp: uint8(PragTyp_DEFAULT_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiPragCName: uint8(55), FnPragCName: uint8(1), }, 16: { - FzName: __ccgo_ts + 16994, + FzName: __ccgo_ts + 17081, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_DeferFKs), }, 17: { - FzName: __ccgo_ts + 17013, + FzName: __ccgo_ts + 17100, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_NullCallback), }, 18: { - FzName: __ccgo_ts + 17036, + FzName: __ccgo_ts + 17123, FePragTyp: uint8(PragTyp_ENCODING), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 19: { - FzName: __ccgo_ts + 17045, + FzName: __ccgo_ts + 17132, FePragTyp: uint8(PragTyp_FOREIGN_KEY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(43), FnPragCName: uint8(4), }, 20: { - FzName: __ccgo_ts + 17063, + FzName: __ccgo_ts + 17150, FePragTyp: uint8(PragTyp_FOREIGN_KEY_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FnPragCName: uint8(8), }, 21: { - FzName: __ccgo_ts + 17080, + FzName: __ccgo_ts + 17167, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ForeignKeys), }, 22: { - FzName: __ccgo_ts + 17093, + FzName: __ccgo_ts + 17180, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), }, 23: { - FzName: __ccgo_ts + 17108, + FzName: __ccgo_ts + 17195, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullColNames), }, 24: { - FzName: __ccgo_ts + 17126, + FzName: __ccgo_ts + 17213, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullFSync), }, 25: { - FzName: __ccgo_ts + 17136, + FzName: __ccgo_ts + 17223, FePragTyp: uint8(PragTyp_FUNCTION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(27), FnPragCName: uint8(6), }, 26: { - FzName: __ccgo_ts + 17150, + FzName: __ccgo_ts + 17237, FePragTyp: uint8(PragTyp_HARD_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 27: { - FzName: __ccgo_ts + 17166, + FzName: __ccgo_ts + 17253, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_IgnoreChecks), }, 28: { - FzName: __ccgo_ts + 17191, + FzName: __ccgo_ts + 17278, FePragTyp: uint8(PragTyp_INCREMENTAL_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_NoColumns)), }, 29: { - FzName: __ccgo_ts + 17210, + FzName: __ccgo_ts + 17297, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), FnPragCName: uint8(3), }, 30: { - FzName: __ccgo_ts + 17221, + FzName: __ccgo_ts + 17308, FePragTyp: uint8(PragTyp_INDEX_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(38), FnPragCName: uint8(5), }, 31: { - FzName: __ccgo_ts + 17232, + FzName: __ccgo_ts + 17319, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), @@ -117018,146 +117728,146 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 32: { - FzName: __ccgo_ts + 17244, + FzName: __ccgo_ts + 17331, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 33: { - FzName: __ccgo_ts + 17260, + FzName: __ccgo_ts + 17347, FePragTyp: uint8(PragTyp_JOURNAL_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 34: { - FzName: __ccgo_ts + 17273, + FzName: __ccgo_ts + 17360, FePragTyp: uint8(PragTyp_JOURNAL_SIZE_LIMIT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 35: { - FzName: __ccgo_ts + 17292, + FzName: __ccgo_ts + 17379, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_LegacyAlter), }, 36: { - FzName: __ccgo_ts + 17311, + FzName: __ccgo_ts + 17398, FePragTyp: uint8(PragTyp_LOCKING_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 37: { - FzName: __ccgo_ts + 17324, + FzName: __ccgo_ts + 17411, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 38: { - FzName: __ccgo_ts + 17339, + FzName: __ccgo_ts + 17426, FePragTyp: uint8(PragTyp_MMAP_SIZE), }, 39: { - FzName: __ccgo_ts + 17349, + FzName: __ccgo_ts + 17436, FePragTyp: uint8(PragTyp_MODULE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 40: { - FzName: __ccgo_ts + 17361, + FzName: __ccgo_ts + 17448, FePragTyp: uint8(PragTyp_OPTIMIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_NeedSchema)), }, 41: { - FzName: __ccgo_ts + 17370, + FzName: __ccgo_ts + 17457, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 42: { - FzName: __ccgo_ts + 17381, + FzName: __ccgo_ts + 17468, FePragTyp: uint8(PragTyp_PAGE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 43: { - FzName: __ccgo_ts + 17391, + FzName: __ccgo_ts + 17478, FePragTyp: uint8(PragTyp_PRAGMA_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 44: { - FzName: __ccgo_ts + 17403, + FzName: __ccgo_ts + 17490, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_QueryOnly), }, 45: { - FzName: __ccgo_ts + 17414, + FzName: __ccgo_ts + 17501, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 46: { - FzName: __ccgo_ts + 17426, + FzName: __ccgo_ts + 17513, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00004)) << libc.Int32FromInt32(32), }, 47: { - FzName: __ccgo_ts + 17443, + FzName: __ccgo_ts + 17530, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_RecTriggers), }, 48: { - FzName: __ccgo_ts + 17462, + FzName: __ccgo_ts + 17549, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ReverseOrder), }, 49: { - FzName: __ccgo_ts + 17488, + FzName: __ccgo_ts + 17575, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_SCHEMA_VERSION), }, 50: { - FzName: __ccgo_ts + 17503, + FzName: __ccgo_ts + 17590, FePragTyp: uint8(PragTyp_SECURE_DELETE), FmPragFlg: uint8(PragFlg_Result0), }, 51: { - FzName: __ccgo_ts + 17517, + FzName: __ccgo_ts + 17604, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ShortColNames), }, 52: { - FzName: __ccgo_ts + 17536, + FzName: __ccgo_ts + 17623, FePragTyp: uint8(PragTyp_SHRINK_MEMORY), FmPragFlg: uint8(PragFlg_NoColumns), }, 53: { - FzName: __ccgo_ts + 17550, + FzName: __ccgo_ts + 17637, FePragTyp: uint8(PragTyp_SOFT_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 54: { - FzName: __ccgo_ts + 17566, + FzName: __ccgo_ts + 17653, FePragTyp: uint8(PragTyp_SYNCHRONOUS), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 55: { - FzName: __ccgo_ts + 17578, + FzName: __ccgo_ts + 17665, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), FnPragCName: uint8(6), }, 56: { - FzName: __ccgo_ts + 17589, + FzName: __ccgo_ts + 17676, FePragTyp: uint8(PragTyp_TABLE_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1)), FiPragCName: uint8(15), FnPragCName: uint8(6), }, 57: { - FzName: __ccgo_ts + 17600, + FzName: __ccgo_ts + 17687, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), @@ -117165,45 +117875,45 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 58: { - FzName: __ccgo_ts + 17612, + FzName: __ccgo_ts + 17699, FePragTyp: uint8(PragTyp_TEMP_STORE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 59: { - FzName: __ccgo_ts + 17623, + FzName: __ccgo_ts + 17710, FePragTyp: uint8(PragTyp_TEMP_STORE_DIRECTORY), FmPragFlg: uint8(PragFlg_NoColumns1), }, 60: { - FzName: __ccgo_ts + 17644, + FzName: __ccgo_ts + 17731, FePragTyp: uint8(PragTyp_THREADS), FmPragFlg: uint8(PragFlg_Result0), }, 61: { - FzName: __ccgo_ts + 17652, + FzName: __ccgo_ts + 17739, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_TrustedSchema), }, 62: { - FzName: __ccgo_ts + 17667, + FzName: __ccgo_ts + 17754, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_USER_VERSION), }, 63: { - FzName: __ccgo_ts + 17680, + FzName: __ccgo_ts + 17767, FePragTyp: uint8(PragTyp_WAL_AUTOCHECKPOINT), }, 64: { - FzName: __ccgo_ts + 17699, + FzName: __ccgo_ts + 17786, FePragTyp: uint8(PragTyp_WAL_CHECKPOINT), FmPragFlg: uint8(PragFlg_NeedSchema), FiPragCName: uint8(50), FnPragCName: uint8(3), }, 65: { - FzName: __ccgo_ts + 17714, + FzName: __ccgo_ts + 17801, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(SQLITE_WriteSchema) | libc.Int32FromInt32(SQLITE_NoSchemaError)), @@ -117215,6 +117925,31 @@ var _aPragmaName = [66]TPragmaName{ /************** End of pragma.h **********************************************/ /************** Continuing where we left off in pragma.c *********************/ +/* +** When the 0x10 bit of PRAGMA optimize is set, any ANALYZE commands +** will be run with an analysis_limit set to the lessor of the value of +** the following macro or to the actual analysis_limit if it is non-zero, +** in order to prevent PRAGMA optimize from running for too long. +** +** The value of 2000 is chosen emperically so that the worst-case run-time +** for PRAGMA optimize does not exceed 100 milliseconds against a variety +** of test databases on a RaspberryPI-4 compiled using -Os and without +** -DSQLITE_DEBUG. Of course, your mileage may vary. For the purpose of +** this paragraph, "worst-case" means that ANALYZE ends up being +** run on every table in the database. The worst case typically only +** happens if PRAGMA optimize is run on a database file for which ANALYZE +** has not been previously run and the 0x10000 flag is included so that +** all tables are analyzed. The usual case for PRAGMA optimize is that +** no ANALYZE commands will be run at all, or if any ANALYZE happens it +** will be against a single table, so that expected timing for PRAGMA +** optimize on a PI-4 is more like 1 millisecond or less with the 0x10000 +** flag or less than 100 microseconds without the 0x10000 flag. +** +** An analysis limit of 2000 is almost always sufficient for the query +** planner to fully characterize an index. The additional accuracy from +** a larger analysis is not usually helpful. + */ + // C documentation // // /* @@ -117304,10 +118039,10 @@ func _sqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt Tu8) (r Tu8) { // */ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { if z != 0 { - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17730) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17817) { return int32(PAGER_LOCKINGMODE_EXCLUSIVE) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17740) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17827) { return PAGER_LOCKINGMODE_NORMAL } } @@ -117325,13 +118060,13 @@ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { func _getAutoVacuum(tls *libc.TLS, z uintptr) (r int32) { var i, v1 int32 _, _ = i, v1 - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8218) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8343) { return BTREE_AUTOVACUUM_NONE } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17747) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17834) { return int32(BTREE_AUTOVACUUM_FULL) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17752) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17839) { return int32(BTREE_AUTOVACUUM_INCR) } i = _sqlite3Atoi(tls, z) @@ -117354,10 +118089,10 @@ func _getTempStore(tls *libc.TLS, z uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(z))) <= int32('2') { return int32(*(*uint8)(unsafe.Pointer(z))) - int32('0') } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+16705) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+16792) == 0 { return int32(1) } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+17764) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+17851) == 0 { return int32(2) } else { return 0 @@ -117379,7 +118114,7 @@ func _invalidateTempStorage(tls *libc.TLS, pParse uintptr) (r int32) { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpBt != uintptr(0) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || _sqlite3BtreeTxnState(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpBt) != SQLITE_TXN_NONE { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17771, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17858, 0) return int32(SQLITE_ERROR) } _sqlite3BtreeClose(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpBt) @@ -117514,15 +118249,15 @@ func _actionName(tls *libc.TLS, action Tu8) (r uintptr) { _ = zName switch int32(action) { case int32(OE_SetNull): - zName = __ccgo_ts + 17833 + zName = __ccgo_ts + 17920 case int32(OE_SetDflt): - zName = __ccgo_ts + 17842 + zName = __ccgo_ts + 17929 case int32(OE_Cascade): - zName = __ccgo_ts + 17854 + zName = __ccgo_ts + 17941 case int32(OE_Restrict): - zName = __ccgo_ts + 17862 + zName = __ccgo_ts + 17949 default: - zName = __ccgo_ts + 17871 + zName = __ccgo_ts + 17958 _ = libc.Int32FromInt32(0) break } @@ -117551,12 +118286,12 @@ func _sqlite3JournalModename(tls *libc.TLS, eMode int32) (r uintptr) { } var _azModeName = [6]uintptr{ - 0: __ccgo_ts + 17881, - 1: __ccgo_ts + 17888, - 2: __ccgo_ts + 17896, - 3: __ccgo_ts + 17900, - 4: __ccgo_ts + 17764, - 5: __ccgo_ts + 17909, + 0: __ccgo_ts + 17968, + 1: __ccgo_ts + 17975, + 2: __ccgo_ts + 17983, + 3: __ccgo_ts + 17987, + 4: __ccgo_ts + 17851, + 5: __ccgo_ts + 17996, } // C documentation @@ -117622,15 +118357,15 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s goto _1 } if (*TFuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = __ccgo_ts + 17934 + zType = __ccgo_ts + 18021 } else { if (*TFuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = __ccgo_ts + 17936 + zType = __ccgo_ts + 18023 } else { - zType = __ccgo_ts + 7617 + zType = __ccgo_ts + 7742 } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+17938, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18025, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) goto _1 _1: ; @@ -117639,9 +118374,9 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s } var _azEnc = [4]uintptr{ - 1: __ccgo_ts + 17913, - 2: __ccgo_ts + 17918, - 3: __ccgo_ts + 17926, + 1: __ccgo_ts + 18000, + 2: __ccgo_ts + 18005, + 3: __ccgo_ts + 18013, } // C documentation @@ -117682,15 +118417,15 @@ func _integrityCheckResultRow(tls *libc.TLS, v uintptr) (r int32) { func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { bp := tls.Alloc(208) defer tls.Free(208) - var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, mxIdx, n, nHidden, nIdx, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v60, v62, v63, v64, v65, v68 int32 - var aOp, aOp1, aOp2, aOp3, aOp4, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v61, v66, v8 uintptr + var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v48, v50, v64, v66, v67, v68, v69, v72, v75, v76 int32 + var aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v65, v70, v8 uintptr var azOrigin [3]uintptr var cnum Ti16 var enc Tu8 var iPrior Tsqlite3_int64 + var iRange, szThreshold TLogEst var mask Tu64 var opMask Tu32 - var szThreshold TLogEst var _ /* N at bp+104 */ Tsqlite3_int64 var _ /* N at bp+112 */ Tsqlite3_int64 var _ /* N at bp+120 */ Tsqlite3_int64 @@ -117711,7 +118446,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var _ /* size at bp+44 */ int32 var _ /* sz at bp+48 */ Tsqlite3_int64 var _ /* x at bp+24 */ Ti64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iPrior, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, mxIdx, n, nHidden, nIdx, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v5, v60, v61, v62, v63, v64, v65, v66, v68, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iPrior, iRange, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v48, v5, v50, v64, v65, v66, v67, v68, v69, v70, v72, v75, v76, v8 zLeft = uintptr(0) /* Nul-terminated UTF-8 string */ zRight = uintptr(0) /* Nul-terminated UTF-8 string , or NULL */ zDb = uintptr(0) /* return value form SQLITE_FCNTL_PRAGMA */ @@ -117740,7 +118475,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p return } if minusFlag != 0 { - zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+17945, libc.VaList(bp+136, pValue)) + zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+18032, libc.VaList(bp+136, pValue)) } else { zRight = _sqlite3NameFromToken(tls, db, pValue) } @@ -117784,7 +118519,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } if rc != int32(SQLITE_NOTFOUND) { if (*(*[4]uintptr)(unsafe.Pointer(bp + 4)))[0] != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+136, (*(*[4]uintptr)(unsafe.Pointer(bp + 4)))[0])) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+136, (*(*[4]uintptr)(unsafe.Pointer(bp + 4)))[0])) Xsqlite3_free(tls, (*(*[4]uintptr)(unsafe.Pointer(bp + 4)))[0]) } (*TParse)(unsafe.Pointer(pParse)).FnErr++ @@ -117891,7 +118626,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p b = -int32(1) _ = libc.Int32FromInt32(0) if zRight != 0 { - if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+17949) == 0 { + if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18036) == 0 { b = int32(2) } else { b = int32(_sqlite3GetBoolean(tls, zRight, uint8(0))) @@ -117962,7 +118697,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p */ fallthrough case int32(PragTyp_LOCKING_MODE): - zRet = __ccgo_ts + 17740 + zRet = __ccgo_ts + 17827 eMode = _getLockingMode(tls, zRight) if (*TToken)(unsafe.Pointer(pId2)).Fn == uint32(0) && eMode == -int32(1) { /* Simple "PRAGMA locking_mode;" statement. This is a query for @@ -117992,7 +118727,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } _ = libc.Int32FromInt32(0) if eMode == int32(PAGER_LOCKINGMODE_EXCLUSIVE) { - zRet = __ccgo_ts + 17730 + zRet = __ccgo_ts + 17817 } _returnSingleText(tls, v, zRet) break @@ -118287,7 +119022,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if *(*uint8)(unsafe.Pointer(zRight)) != 0 { rc = _sqlite3OsAccess(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, zRight, int32(SQLITE_ACCESS_READWRITE), bp+56) if rc != SQLITE_OK || *(*int32)(unsafe.Pointer(bp + 56)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17954, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18041, 0) Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) goto pragma_out } @@ -118297,7 +119032,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } Xsqlite3_free(tls, Xsqlite3_temp_directory) if *(*uint8)(unsafe.Pointer(zRight)) != 0 { - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+136, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+136, zRight)) } else { Xsqlite3_temp_directory = uintptr(0) } @@ -118319,7 +119054,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _returnSingleInt(tls, v, int64(int32((*TDb)(unsafe.Pointer(pDb)).Fsafety_level)-int32(1))) } else { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17979, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18066, 0) } else { if iDb != int32(1) { iLevel = (int32(_getSafetyLevel(tls, zRight, 0, uint8(1))) + int32(1)) & int32(PAGER_SYNCHRONOUS_MASK) @@ -118352,7 +119087,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if mask == uint64(SQLITE_DeferFKs) { (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons = 0 } - if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18032) == 0 { + if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18119) == 0 { /* IMP: R-60817-01178 If the argument is "RESET" then schema ** writing is disabled (as with "PRAGMA writable_schema=OFF") and, ** in addition, the schema is reloaded. */ @@ -118435,9 +119170,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - v14 = __ccgo_ts + 18038 + v14 = __ccgo_ts + 18125 } else { - v14 = __ccgo_ts + 18046 + v14 = __ccgo_ts + 18133 } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 4))&0xf>>0)) != 0 { v15 = int32(1) @@ -118449,7 +119184,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v16 = *(*uintptr)(unsafe.Pointer(pColExpr + 8)) } - _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+136, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1648), v15, v16, k, isHidden)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+136, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1662), v15, v16, k, isHidden)) goto _12 _12: ; @@ -118508,7 +119243,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pTab1 = (*THashElem)(unsafe.Pointer(k1)).Fdata if int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) == 0 { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18053, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab1)).FzName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18140, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab1)).FzName)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 60)) = uintptr(0) Xsqlite3_prepare(tls, db, zSql, -int32(1), bp+60, uintptr(0)) @@ -118516,7 +119251,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3DbFree(tls, db, zSql) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1632, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) } pHash = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*16))).FpSchema + 8 @@ -118538,19 +119273,19 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _20 } if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10796 + zType = __ccgo_ts + 10921 } else { if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 13044 + zType = __ccgo_ts + 13169 } else { if (*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Shadow) != 0 { - zType = __ccgo_ts + 18069 + zType = __ccgo_ts + 18156 } else { - zType = __ccgo_ts + 9058 + zType = __ccgo_ts + 9183 } } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18076, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*16))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18163, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*16))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) goto _20 _20: ; @@ -118598,9 +119333,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v22 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab3)).FaCol + uintptr(cnum)*12))).FzCnName } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18083, libc.VaList(bp+136, i1, int32(cnum), v22)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18170, libc.VaList(bp+136, i1, int32(cnum), v22)) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18088, libc.VaList(bp+136, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*4)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) + _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18175, libc.VaList(bp+136, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*4)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) } _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), int32(1), (*TParse)(unsafe.Pointer(pParse)).FnMem) goto _21 @@ -118624,11 +119359,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } azOrigin = [3]uintptr{ - 0: __ccgo_ts + 18093, - 1: __ccgo_ts + 18095, - 2: __ccgo_ts + 16582, + 0: __ccgo_ts + 18180, + 1: __ccgo_ts + 18182, + 2: __ccgo_ts + 16669, } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18097, libc.VaList(bp+136, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 56))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18184, libc.VaList(bp+136, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 56))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) goto _23 _23: ; @@ -118648,7 +119383,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _24 } _ = libc.Int32FromInt32(0) - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18103, libc.VaList(bp+136, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*16))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*16))).FpBt))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18190, libc.VaList(bp+136, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*16))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*16))).FpBt))) goto _24 _24: ; @@ -118665,7 +119400,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pColl = (*THashElem)(unsafe.Pointer(p)).Fdata v26 = i4 i4++ - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18107, libc.VaList(bp+136, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18194, libc.VaList(bp+136, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) goto _25 _25: ; @@ -118717,7 +119452,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } pMod = (*THashElem)(unsafe.Pointer(j1)).Fdata - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7617, libc.VaList(bp+136, (*TModule)(unsafe.Pointer(pMod)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7742, libc.VaList(bp+136, (*TModule)(unsafe.Pointer(pMod)).FzName)) goto _30 _30: ; @@ -118729,7 +119464,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i6 < int32(libc.Uint32FromInt64(1056)/libc.Uint32FromInt64(16))) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7617, libc.VaList(bp+136, _aPragmaName[i6].FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7742, libc.VaList(bp+136, _aPragmaName[i6].FzName)) goto _31 _31: ; @@ -118755,7 +119490,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(j2 < (*TFKey)(unsafe.Pointer(pFK)).FnCol) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18110, libc.VaList(bp+136, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 36 + uintptr(j2)*8))).FiFrom)*12))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 36 + uintptr(j2)*8))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 25 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 25))), __ccgo_ts+18119)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18197, libc.VaList(bp+136, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 36 + uintptr(j2)*8))).FiFrom)*12))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 36 + uintptr(j2)*8))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 25 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 25))), __ccgo_ts+18206)) goto _32 _32: ; @@ -118901,7 +119636,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regResult+int32(1)) } - _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18124, libc.VaList(bp+136, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) + _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18211, libc.VaList(bp+136, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), regResult, int32(4)) _sqlite3VdbeResolveLabel(tls, v, addrOk) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 68))) @@ -118971,7 +119706,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p /* Set the maximum error count */ *(*int32)(unsafe.Pointer(bp + 72)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) if zRight != 0 { - if _sqlite3GetInt32(tls, zRight, bp+72) != 0 { + if _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pValue)).Fz, bp+72) != 0 { if *(*int32)(unsafe.Pointer(bp + 72)) <= 0 { *(*int32)(unsafe.Pointer(bp + 72)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) } @@ -118991,8 +119726,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i9 < (*Tsqlite3)(unsafe.Pointer(db)).FnDb) { break } /* Array of root page numbers of all btrees */ - cnt = 0 /* Number of entries in aRoot[] */ - mxIdx = 0 /* Maximum number of indexes for any table */ + cnt = 0 /* Number of entries in aRoot[] */ if libc.Bool(OMIT_TEMPDB != 0) && i9 == int32(1) { goto _40 } @@ -119034,9 +119768,6 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pIdx3 = (*TIndex)(unsafe.Pointer(pIdx3)).FpNext nIdx++ } - if nIdx > mxIdx { - mxIdx = nIdx - } goto _41 _41: ; @@ -119092,16 +119823,78 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } *(*int32)(unsafe.Pointer(aRoot)) = cnt /* Make sure sufficient number of registers have been allocated */ - _sqlite3TouchRegister(tls, pParse, int32(8)+mxIdx) + _sqlite3TouchRegister(tls, pParse, int32(8)+cnt) _sqlite3ClearTempRegCache(tls, pParse) /* Do the b-tree integrity checks */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(2), cnt, int32(1), aRoot, -int32(14)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(1), cnt, int32(8), aRoot, -int32(14)) _sqlite3VdbeChangeP5(tls, v, uint16(uint8(i9))) addr1 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(2)) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18128, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*16))).FzDbSName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18215, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*16))).FzDbSName)), -int32(6)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(2), int32(3), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, addr1) + /* Check that the indexes all have the right number of rows */ + if pObjTab != 0 { + v48 = int32(1) + } else { + v48 = 0 + } + cnt = v48 + _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18239) + x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst + for { + if !(x2 != 0) { + break + } + iTab = 0 + pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab9 { + goto _49 + } + if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + v50 = cnt + cnt++ + iTab = v50 + } else { + iTab = cnt + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx5 + 56))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { + break + } + iTab++ + goto _51 + _51: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + } + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if (*TIndex)(unsafe.Pointer(pIdx5)).FpPartIdxWhere == uintptr(0) { + addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+cnt, 0, int32(8)+iTab) + _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) + _integrityCheckResultRow(tls, v) + _sqlite3VdbeJumpHere(tls, v, addr1) + } + cnt++ + goto _52 + _52: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + goto _49 + _49: + ; + x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext + } /* Make sure all the indices are constructed correctly. */ x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst @@ -119109,39 +119902,39 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata pPrior = uintptr(0) r1 = -int32(1) /* Maximum non-virtual column number */ - if pObjTab != 0 && pObjTab != pTab9 { - goto _48 + if pObjTab != 0 && pObjTab != pTab10 { + goto _53 } - if !(int32((*TTable)(unsafe.Pointer(pTab9)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { - goto _48 + if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _53 } - if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { pPk1 = uintptr(0) r2 = 0 } else { - pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab9) + pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab10) r2 = _sqlite3GetTempRange(tls, pParse, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), int32(1), r2, r2+int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)-int32(1)) } - _sqlite3OpenTableAndIndices(tls, pParse, pTab9, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+76, bp+80) + _sqlite3OpenTableAndIndices(tls, pParse, pTab10, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+76, bp+80) /* reg[7] counts the number of entries in the table. ** reg[8+i] counts the number of entries in the i-th index */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(7)) j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(8)+j4) /* index entries counter */ - goto _49 - _49: + goto _54 + _54: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } _ = libc.Int32FromInt32(0) @@ -119154,29 +119947,29 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** by the OP_IsType code, so it is a required step. */ _ = libc.Int32FromInt32(0) - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { mxCol = -int32(1) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*12))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { + if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*12))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { mxCol++ } - goto _50 - _50: + goto _55 + _55: ; j4++ } - if mxCol == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { + if mxCol == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { mxCol-- } } else { /* COLFLAG_VIRTUAL columns are not included in the WITHOUT ROWID ** PK index column-count, so there is no need to account for them ** in this case. */ - mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab9))).FnColumn) - int32(1) + mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab10))).FnColumn) - int32(1) } if mxCol >= 0 { _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 76)), mxCol, int32(3)) @@ -119186,7 +119979,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if pPk1 != 0 { a1 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 76)), 0, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), r2) - zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18152, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18268, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a1) @@ -119197,8 +119990,8 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprCodeLoadIndexColumn(tls, pParse, pPk1, *(*int32)(unsafe.Pointer(bp + 76)), j4, r2+j4) - goto _51 - _51: + goto _56 + _56: ; j4++ } @@ -119213,15 +120006,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** (4) Datatype for numeric columns in non-STRICT tables must not ** be a TEXT value that can be losslessly converted to numeric. */ - bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_Strict) != uint32(0)) + bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_Strict) != uint32(0)) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - pCol1 = (*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*12 /* Check datatypes (besides NOT NULL) */ - if j4 == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { - goto _52 + pCol1 = (*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*12 /* Check datatypes (besides NOT NULL) */ + if j4 == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { + goto _57 } if bStrict != 0 { doTypeCheck = libc.BoolInt32(int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 4))&0xf0>>4)) > int32(COLTYPE_ANY)) @@ -119229,28 +120022,28 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p doTypeCheck = libc.BoolInt32(int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) > int32(SQLITE_AFF_BLOB)) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 4))&0xf>>0)) == 0 && !(doTypeCheck != 0) { - goto _52 + goto _57 } /* Compute the operands that will be needed for OP_IsType */ p4 = int32(SQLITE_NULL) if int32((*TColumn)(unsafe.Pointer(pCol1)).FcolFlags)&int32(COLFLAG_VIRTUAL) != 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 76)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 76)), j4, int32(3)) p11 = -int32(1) p3 = int32(3) } else { if (*TColumn)(unsafe.Pointer(pCol1)).FiDflt != 0 { *(*uintptr)(unsafe.Pointer(bp + 84)) = uintptr(0) - _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab9, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, (*TColumn)(unsafe.Pointer(pCol1)).Faffinity, bp+84) + _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab10, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, (*TColumn)(unsafe.Pointer(pCol1)).Faffinity, bp+84) if *(*uintptr)(unsafe.Pointer(bp + 84)) != 0 { p4 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 84))) _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 84))) } } p11 = *(*int32)(unsafe.Pointer(bp + 76)) - if !((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { - p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab9), int16(j4))) + if !((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { + p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab10), int16(j4))) } else { - p3 = int32(_sqlite3TableColumnToStorage(tls, pTab9, int16(j4))) + p3 = int32(_sqlite3TableColumnToStorage(tls, pTab10, int16(j4))) } } labelError = _sqlite3VdbeMakeLabel(tls, pParse) @@ -119267,10 +120060,10 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** is REAL, we have to load the actual data using OP_Column ** to reliably determine if the value is a NULL. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), p11, p3, int32(3)) - _sqlite3ColumnDefault(tls, v, pTab9, j4, int32(3)) + _sqlite3ColumnDefault(tls, v, pTab10, j4, int32(3)) jmp3 = _sqlite3VdbeAddOp2(tls, v, int32(OP_NotNull), int32(3), labelOk) } - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18188, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18304, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) if doTypeCheck != 0 { _sqlite3VdbeGoto(tls, v, labelError) @@ -119284,7 +120077,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _ = libc.Int32FromInt32(0) _sqlite3VdbeChangeP5(tls, v, uint16(_aStdTypeMask[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 4))&0xf0>>4))-int32(1)])) - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18208, libc.VaList(bp+136, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 4))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*12))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18324, libc.VaList(bp+136, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 4))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*12))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) == int32(SQLITE_AFF_TEXT) { @@ -119292,7 +120085,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** NULL, TEXT, or BLOB. */ _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18230, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*12))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18346, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*12))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) >= int32(SQLITE_AFF_NUMERIC) { @@ -119301,12 +120094,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1b)) /* NULL, INT, FLOAT, or BLOB */ if p11 >= 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 76)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 76)), j4, int32(3)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18253, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18369, -int32(1)) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), -int32(1), labelOk, int32(3), p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18255, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*12))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18371, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*12))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } } @@ -119314,14 +120107,14 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeResolveLabel(tls, v, labelError) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, labelOk) - goto _52 - _52: + goto _57 + _57: ; j4++ } /* Verify CHECK constraints */ - if (*TTable)(unsafe.Pointer(pTab9)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { - pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab9)).FpCheck, 0) + if (*TTable)(unsafe.Pointer(pTab10)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { + pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab10)).FpCheck, 0) if int32((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { addrCkFault = _sqlite3VdbeMakeLabel(tls, pParse) addrCkOk = _sqlite3VdbeMakeLabel(tls, pParse) @@ -119332,15 +120125,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprIfFalse(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8 + uintptr(k3)*20))).FpExpr, addrCkFault, 0) - goto _53 - _53: + goto _58 + _58: ; k3-- } _sqlite3ExprIfTrue(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8))).FpExpr, addrCkOk, int32(SQLITE_JUMPIFNULL)) _sqlite3VdbeResolveLabel(tls, v, addrCkFault) (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18275, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18391, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr2, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -119350,25 +120143,25 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(isQuick != 0) { /* Omit the remaining tests for quick_check */ /* Validate index entries for the current row */ j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } ckUniq = _sqlite3VdbeMakeLabel(tls, pParse) - if pPk1 == pIdx5 { - goto _54 + if pPk1 == pIdx6 { + goto _59 } - r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 76)), 0, 0, bp+88, pPrior, r1) - pPrior = pIdx5 + r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx6, *(*int32)(unsafe.Pointer(bp + 76)), 0, 0, bp+88, pPrior, r1) + pPrior = pIdx6 _sqlite3VdbeAddOp2(tls, v, int32(OP_AddImm), int32(8)+j4, int32(1)) /* increment entry count */ /* Verify that an index entry exists for the current table row */ - jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 80))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18305) + jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 80))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18421) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18310) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18426) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) - jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx6)).FzName) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) jmp4 = _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, jmp21) @@ -119376,12 +120169,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** that extracts the rowid off the end of the index record. ** But it only works correctly if index record does not have ** any extra bytes at the end. Verify that this is the case. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { _sqlite3VdbeAddOp2(tls, v, int32(OP_IdxRowid), *(*int32)(unsafe.Pointer(bp + 80))+j4, int32(3)) - jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)-int32(1)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18331) + jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)-int32(1)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18447) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18367) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18483) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp7) } @@ -119390,101 +120183,77 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p label6 = 0 kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*4)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { - goto _55 + if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FazColl + uintptr(kk)*4)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { + goto _60 } if label6 == 0 { label6 = _sqlite3VdbeMakeLabel(tls, pParse) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 80))+j4, kk, int32(3)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ne), int32(3), label6, r1+kk) - goto _55 - _55: + goto _60 + _60: ; kk++ } if label6 != 0 { jmp6 = _sqlite3VdbeAddOp0(tls, v, int32(OP_Goto)) _sqlite3VdbeResolveLabel(tls, v, label6) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18305) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18421) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18378) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18494) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp6) } /* For UNIQUE indexes, verify that only one entry exists with the ** current key. The entry is unique if (1) any column is NULL ** or (2) the next entry has a different key */ - if int32((*TIndex)(unsafe.Pointer(pIdx5)).FonError) != OE_None { + if int32((*TIndex)(unsafe.Pointer(pIdx6)).FonError) != OE_None { uniqOk = _sqlite3VdbeMakeLabel(tls, pParse) kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2))) + iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FaiColumn + uintptr(kk)*2))) _ = libc.Int32FromInt32(0) - if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*12 + 4))&0xf>>0)) != 0 { - goto _56 + if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(iCol1)*12 + 4))&0xf>>0)) != 0 { + goto _61 } _sqlite3VdbeAddOp2(tls, v, int32(OP_IsNull), r1+kk, uniqOk) - goto _56 - _56: + goto _61 + _61: ; kk++ } jmp61 = _sqlite3VdbeAddOp1(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 80))+j4) _sqlite3VdbeGoto(tls, v, uniqOk) _sqlite3VdbeJumpHere(tls, v, jmp61) - _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 80))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18405) + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 80))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18521) _sqlite3VdbeGoto(tls, v, jmp5) _sqlite3VdbeResolveLabel(tls, v, uniqOk) } _sqlite3VdbeJumpHere(tls, v, jmp4) _sqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 88))) - goto _54 - _54: + goto _59 + _59: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } } _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 76)), loopTop) _sqlite3VdbeJumpHere(tls, v, loopTop-int32(1)) - if !(isQuick != 0) { - _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18432) - j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex - for { - if !(pIdx5 != 0) { - break - } - if pPk1 == pIdx5 { - goto _57 - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), *(*int32)(unsafe.Pointer(bp + 80))+j4, int32(3)) - addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+j4, 0, int32(3)) - _sqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) - _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) - _integrityCheckResultRow(tls, v) - _sqlite3VdbeJumpHere(tls, v, addr1) - goto _57 - _57: - ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext - j4++ - } - if pPk1 != 0 { - _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) - } + if pPk1 != 0 { + _ = libc.Int32FromInt32(0) + _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) } - goto _48 - _48: + goto _53 + _53: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -119496,60 +120265,60 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata - if pObjTab != 0 && pObjTab != pTab10 { - goto _58 + pTab11 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab11 { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == TABTYP_NORM { - goto _58 + if int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == TABTYP_NORM { + goto _62 } - if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { - goto _58 + if !(int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FnCol) <= 0 { + if int32((*TTable)(unsafe.Pointer(pTab11)).FnCol) <= 0 { zMod = *(*uintptr)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 44))).FazArg)) + })(unsafe.Pointer(pTab11 + 44))).FazArg)) if _sqlite3HashFind(tls, db+404, zMod) == uintptr(0) { - goto _58 + goto _62 } } - _sqlite3ViewGetColumnNames(tls, pParse, pTab10) + _sqlite3ViewGetColumnNames(tls, pParse, pTab11) if (*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 44))).Fp == uintptr(0) { - goto _58 + })(unsafe.Pointer(pTab11 + 44))).Fp == uintptr(0) { + goto _62 } pVTab = (*TVTable)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 44))).Fp)).FpVtab + })(unsafe.Pointer(pTab11 + 44))).Fp)).FpVtab if pVTab == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FiVersion < int32(4) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FxIntegrity == uintptr(0) { - goto _58 + goto _62 } _sqlite3VdbeAddOp3(tls, v, int32(OP_VCheck), i9, int32(3), isQuick) - (*TTable)(unsafe.Pointer(pTab10)).FnTabRef++ - _sqlite3VdbeAppendP4(tls, v, pTab10, -int32(16)) + (*TTable)(unsafe.Pointer(pTab11)).FnTabRef++ + _sqlite3VdbeAppendP4(tls, v, pTab11, -int32(16)) a11 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a11) - goto _58 - goto _58 - _58: + goto _62 + goto _62 + _62: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -119562,7 +120331,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if aOp2 != 0 { (*(*TVdbeOp)(unsafe.Pointer(aOp2))).Fp2 = int32(1) - *(*int32)(unsafe.Pointer(bp + 72)) (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 2*20))).Fp4type = int8(-libc.Int32FromInt32(1)) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16)) = __ccgo_ts + 18461 + *(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16)) = __ccgo_ts + 18548 (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 5*20))).Fp4type = int8(-libc.Int32FromInt32(1)) *(*uintptr)(unsafe.Pointer(aOp2 + 5*20 + 16)) = _sqlite3ErrStr(tls, int32(SQLITE_CORRUPT)) } @@ -119623,20 +120392,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc != 0 { - v60 = int32((*struct { + v64 = int32((*struct { FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc) } else { - v60 = int32(SQLITE_UTF16LE) + v64 = int32(SQLITE_UTF16LE) } - enc = uint8(v60) + enc = uint8(v64) (*TSchema)(unsafe.Pointer((*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema)).Fenc = enc _sqlite3SetTextEncoding(tls, db, enc) break } - goto _59 - _59: + goto _63 + _63: ; pEnc += 8 } @@ -119644,7 +120413,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).FzName != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18522, libc.VaList(bp+136, zRight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18609, libc.VaList(bp+136, zRight)) } } } @@ -119722,11 +120491,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p i10 = 0 (*TParse)(unsafe.Pointer(pParse)).FnMem = int32(1) for { - v62 = i10 + v66 = i10 i10++ - v61 = Xsqlite3_compileoption_get(tls, v62) - zOpt = v61 - if !(v61 != uintptr(0)) { + v65 = Xsqlite3_compileoption_get(tls, v66) + zOpt = v65 + if !(v65 != uintptr(0)) { break } _sqlite3VdbeLoadString(tls, v, int32(1), zOpt) @@ -119742,20 +120511,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p fallthrough case int32(PragTyp_WAL_CHECKPOINT): if (*TToken)(unsafe.Pointer(pId2)).Fz != 0 { - v63 = iDb + v67 = iDb } else { - v63 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) + v67 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) } - iBt = v63 + iBt = v67 eMode2 = SQLITE_CHECKPOINT_PASSIVE if zRight != 0 { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17747) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17834) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_FULL) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18547) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18634) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_RESTART) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17900) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17987) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_TRUNCATE) } } @@ -119779,11 +120548,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p Xsqlite3_wal_autocheckpoint(tls, db, _sqlite3Atoi(tls, zRight)) } if (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback == __ccgo_fp(_sqlite3WalDefaultHook) { - v64 = int32((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg) + v68 = int32((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg) } else { - v64 = 0 + v68 = 0 } - _returnSingleInt(tls, v, int64(v64)) + _returnSingleInt(tls, v, int64(v68)) break /* ** PRAGMA shrink_memory @@ -119811,47 +120580,68 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** ** The optional argument is a bitmask of optimizations to perform: ** - ** 0x0001 Debugging mode. Do not actually perform any optimizations - ** but instead return one line of text for each optimization - ** that would have been done. Off by default. + ** 0x00001 Debugging mode. Do not actually perform any optimizations + ** but instead return one line of text for each optimization + ** that would have been done. Off by default. ** - ** 0x0002 Run ANALYZE on tables that might benefit. On by default. - ** See below for additional information. + ** 0x00002 Run ANALYZE on tables that might benefit. On by default. + ** See below for additional information. ** - ** 0x0004 (Not yet implemented) Record usage and performance - ** information from the current session in the - ** database file so that it will be available to "optimize" - ** pragmas run by future database connections. + ** 0x00010 Run all ANALYZE operations using an analysis_limit that + ** is the lessor of the current analysis_limit and the + ** SQLITE_DEFAULT_OPTIMIZE_LIMIT compile-time option. + ** The default value of SQLITE_DEFAULT_OPTIMIZE_LIMIT is + ** currently (2024-02-19) set to 2000, which is such that + ** the worst case run-time for PRAGMA optimize on a 100MB + ** database will usually be less than 100 milliseconds on + ** a RaspberryPI-4 class machine. On by default. ** - ** 0x0008 (Not yet implemented) Create indexes that might have - ** been helpful to recent queries + ** 0x10000 Look at tables to see if they need to be reanalyzed + ** due to growth or shrinkage even if they have not been + ** queried during the current connection. Off by default. ** - ** The default MASK is and always shall be 0xfffe. 0xfffe means perform all - ** of the optimizations listed above except Debug Mode, including new - ** optimizations that have not yet been invented. If new optimizations are - ** ever added that should be off by default, those off-by-default - ** optimizations will have bitmasks of 0x10000 or larger. + ** The default MASK is and always shall be 0x0fffe. In the current + ** implementation, the default mask only covers the 0x00002 optimization, + ** though additional optimizations that are covered by 0x0fffe might be + ** added in the future. Optimizations that are off by default and must + ** be explicitly requested have masks of 0x10000 or greater. ** ** DETERMINATION OF WHEN TO RUN ANALYZE ** ** In the current implementation, a table is analyzed if only if all of ** the following are true: ** - ** (1) MASK bit 0x02 is set. + ** (1) MASK bit 0x00002 is set. + ** + ** (2) The table is an ordinary table, not a virtual table or view. ** - ** (2) The query planner used sqlite_stat1-style statistics for one or - ** more indexes of the table at some point during the lifetime of - ** the current connection. + ** (3) The table name does not begin with "sqlite_". ** - ** (3) One or more indexes of the table are currently unanalyzed OR - ** the number of rows in the table has increased by 25 times or more - ** since the last time ANALYZE was run. + ** (4) One or more of the following is true: + ** (4a) The 0x10000 MASK bit is set. + ** (4b) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. + ** (4c) The query planner used sqlite_stat1-style statistics for one + ** or more indexes of the table at some point during the lifetime + ** of the current connection. + ** + ** (5) One or more of the following is true: + ** (5a) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. (Same as 4a) + ** (5b) The number of rows in the table has increased or decreased by + ** 10-fold. In other words, the current size of the table is + ** 10 times larger than the size in sqlite_stat1 or else the + ** current size is less than 1/10th the size in sqlite_stat1. ** ** The rules for when tables are analyzed are likely to change in - ** future releases. + ** future releases. Future versions of SQLite might accept a string + ** literal argument to this pragma that contains a mnemonic description + ** of the options rather than a bitmap. */ fallthrough - case int32(PragTyp_OPTIMIZE): /* Mask of operations to perform */ + case int32(PragTyp_OPTIMIZE): /* Analysis limit to use */ + nCheck = 0 /* Number of tables to be optimized */ + nBtree = 0 /* Number of indexes on the current table */ if zRight != 0 { opMask = uint32(_sqlite3Atoi(tls, zRight)) if opMask&uint32(0x02) == uint32(0) { @@ -119860,22 +120650,31 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { opMask = uint32(0xfffe) } - v66 = pParse + 40 - v65 = *(*int32)(unsafe.Pointer(v66)) - *(*int32)(unsafe.Pointer(v66))++ - iTabCur = v65 + if opMask&uint32(0x10) == uint32(0) { + nLimit = 0 + } else { + if (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit > 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit < int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) { + nLimit = 0 + } else { + nLimit = int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) + } + } + v70 = pParse + 40 + v69 = *(*int32)(unsafe.Pointer(v70)) + *(*int32)(unsafe.Pointer(v70))++ + iTabCur = v69 if zDb != 0 { - v68 = iDb + v72 = iDb } else { - v68 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) + v72 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) } - iDbLast = v68 + iDbLast = v72 for { if !(iDb <= iDbLast) { break } if iDb == int32(1) { - goto _67 + goto _71 } _sqlite3CodeVerifySchema(tls, pParse, iDb) pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FpSchema @@ -119884,53 +120683,122 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(k4 != 0) { break } - pTab11 = (*THashElem)(unsafe.Pointer(k4)).Fdata - /* If table pTab has not been used in a way that would benefit from - ** having analysis statistics during the current session, then skip it. - ** This also has the effect of skipping virtual tables and views */ - if (*TTable)(unsafe.Pointer(pTab11)).FtabFlags&uint32(TF_StatsUsed) == uint32(0) { - goto _69 + pTab12 = (*THashElem)(unsafe.Pointer(k4)).Fdata + /* This only works for ordinary tables */ + if !(int32((*TTable)(unsafe.Pointer(pTab12)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _73 } - /* Reanalyze if the table is 25 times larger than the last analysis */ - szThreshold = int16(int32((*TTable)(unsafe.Pointer(pTab11)).FnRowLogEst) + int32(46)) - _ = libc.Int32FromInt32(0) - pIdx6 = (*TTable)(unsafe.Pointer(pTab11)).FpIndex + /* Do not scan system tables */ + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab12)).FzName, __ccgo_ts+6589, int32(7)) { + goto _73 + } + /* Find the size of the table as last recorded in sqlite_stat1. + ** If any index is unanalyzed, then the threshold is -1 to + ** indicate a new, unanalyzed index + */ + szThreshold = (*TTable)(unsafe.Pointer(pTab12)).FnRowLogEst + nIndex = 0 + pIdx7 = (*TTable)(unsafe.Pointer(pTab12)).FpIndex for { - if !(pIdx6 != 0) { + if !(pIdx7 != 0) { break } - if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx6 + 56))&0x80>>7)) != 0) { - szThreshold = 0 /* Always analyze if any index lacks statistics */ - break + nIndex++ + if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx7 + 56))&0x80>>7)) != 0) { + szThreshold = int16(-int32(1)) /* Always analyze if any index lacks statistics */ } - goto _70 - _70: + goto _74 + _74: ; - pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext + pIdx7 = (*TIndex)(unsafe.Pointer(pIdx7)).FpNext + } + /* If table pTab has not been used in a way that would benefit from + ** having analysis statistics during the current session, then skip it, + ** unless the 0x10000 MASK bit is set. */ + if (*TTable)(unsafe.Pointer(pTab12)).FtabFlags&uint32(TF_MaybeReanalyze) != uint32(0) { + /* Check for size change if stat1 has been used for a query */ + } else { + if opMask&uint32(0x10000) != 0 { + /* Check for size change if 0x10000 is set */ + } else { + if (*TTable)(unsafe.Pointer(pTab12)).FpIndex != uintptr(0) && int32(szThreshold) < 0 { + /* Do analysis if unanalyzed indexes exists */ + } else { + /* Otherwise, we can skip this table */ + goto _73 + } + } } - if szThreshold != 0 { - _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab11, int32(OP_OpenRead)) - _sqlite3VdbeAddOp3(tls, v, int32(OP_IfSmaller), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), int32(szThreshold)) + nCheck++ + if nCheck == int32(2) { + /* If ANALYZE might be invoked two or more times, hold a write + ** transaction for efficiency */ + _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) + } + nBtree += nIndex + int32(1) + /* Reanalyze if the table is 10 times larger or smaller than + ** the last analysis. Unconditional reanalysis if there are + ** unanalyzed indexes. */ + _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab12, int32(OP_OpenRead)) + if int32(szThreshold) >= 0 { + iRange = int16(33) /* 10x size change */ + if int32(szThreshold) >= int32(iRange) { + v75 = int32(szThreshold) - int32(iRange) + } else { + v75 = -int32(1) + } + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IfSizeBetween), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), v75, int32(szThreshold)+int32(iRange)) + } else { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1))) } - zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18555, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTable)(unsafe.Pointer(pTab11)).FzName)) + zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18642, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTable)(unsafe.Pointer(pTab12)).FzName)) if opMask&uint32(0x01) != 0 { r11 = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, r11, 0, zSubSql, -int32(6)) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), r11, int32(1)) } else { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), 0, 0, 0, zSubSql, -int32(6)) + if nLimit != 0 { + v76 = int32(0x02) + } else { + v76 = 00 + } + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), v76, nLimit, 0, zSubSql, -int32(6)) } - goto _69 - _69: + goto _73 + _73: ; k4 = (*THashElem)(unsafe.Pointer(k4)).Fnext } - goto _67 - _67: + goto _71 + _71: ; iDb++ } _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) + /* In a schema with a large number of tables and indexes, scale back + ** the analysis_limit to avoid excess run-time in the worst case. + */ + if !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && nLimit > 0 && nBtree > int32(100) { + nLimit = int32(100) * nLimit / nBtree + if nLimit < int32(100) { + nLimit = int32(100) + } + aOp5 = _sqlite3VdbeGetOp(tls, v, 0) + iEnd = _sqlite3VdbeCurrentAddr(tls, v) + iAddr1 = 0 + for { + if !(iAddr1 < iEnd) { + break + } + if int32((*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*20))).Fopcode) == int32(OP_SqlExec) { + (*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*20))).Fp2 = nLimit + } + goto _77 + _77: + ; + iAddr1++ + } + } break /* ** PRAGMA busy_timeout @@ -120157,34 +121025,34 @@ var _encnames1 = [9]struct { Fenc Tu8 }{ 0: { - FzName: __ccgo_ts + 18464, + FzName: __ccgo_ts + 18551, Fenc: uint8(SQLITE_UTF8), }, 1: { - FzName: __ccgo_ts + 18469, + FzName: __ccgo_ts + 18556, Fenc: uint8(SQLITE_UTF8), }, 2: { - FzName: __ccgo_ts + 18475, + FzName: __ccgo_ts + 18562, Fenc: uint8(SQLITE_UTF16LE), }, 3: { - FzName: __ccgo_ts + 18484, + FzName: __ccgo_ts + 18571, Fenc: uint8(SQLITE_UTF16BE), }, 4: { - FzName: __ccgo_ts + 18493, + FzName: __ccgo_ts + 18580, Fenc: uint8(SQLITE_UTF16LE), }, 5: { - FzName: __ccgo_ts + 18501, + FzName: __ccgo_ts + 18588, Fenc: uint8(SQLITE_UTF16BE), }, 6: { - FzName: __ccgo_ts + 18509, + FzName: __ccgo_ts + 18596, }, 7: { - FzName: __ccgo_ts + 18516, + FzName: __ccgo_ts + 18603, }, 8: {}, } @@ -120282,14 +121150,14 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg _ = argc _ = argv _sqlite3StrAccumInit(tls, bp, uintptr(0), bp+24, int32(200), 0) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18573) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18660) i = 0 j = int32((*TPragmaName)(unsafe.Pointer(pPragma)).FiPragCName) for { if !(i < int32((*TPragmaName)(unsafe.Pointer(pPragma)).FnPragCName)) { break } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18588, libc.VaList(bp+232, int32(cSep), _pragCName[j])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18675, libc.VaList(bp+232, int32(cSep), _pragCName[j])) cSep = uint8(',') goto _1 _1: @@ -120298,19 +121166,19 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg j++ } if i == 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18595, libc.VaList(bp+232, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18682, libc.VaList(bp+232, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&int32(PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18601) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18688) j++ } if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(libc.Int32FromInt32(PragFlg_SchemaOpt)|libc.Int32FromInt32(PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18613) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18700) j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5170, int32(1)) _sqlite3StrAccumFinish(tls, bp) _ = libc.Int32FromInt32(0) rc = Xsqlite3_declare_vtab(tls, db, bp+24) @@ -120326,7 +121194,7 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg (*TPragmaVtab)(unsafe.Pointer(pTab)).FnHidden = uint8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+232, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+232, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab return rc @@ -120372,14 +121240,14 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 if !(i < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { break } - if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { goto _1 } if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != int32(SQLITE_INDEX_CONSTRAINT_EQ) { goto _1 } - if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { - goto _1 + if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + return int32(SQLITE_CONSTRAINT) } j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn - int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) _ = libc.Int32FromInt32(0) @@ -120398,16 +121266,13 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 j = seen[0] - int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) - if seen[int32(1)] == 0 { - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(1000) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000) - return SQLITE_OK - } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(20) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(20) - j = seen[int32(1)] - int32(1) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + if seen[int32(1)] != 0 { + j = seen[int32(1)] - int32(1) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + } return SQLITE_OK } @@ -120435,6 +121300,7 @@ func _pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { _ = i Xsqlite3_finalize(tls, (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) + (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid = 0 i = 0 for { if !(i < int32(libc.Uint32FromInt64(8)/libc.Uint32FromInt64(4))) { @@ -120513,7 +121379,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if zText != 0 { - *(*uintptr)(unsafe.Pointer(pCsr + 16 + uintptr(j)*4)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+32, zText)) + *(*uintptr)(unsafe.Pointer(pCsr + 16 + uintptr(j)*4)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+32, zText)) if *(*uintptr)(unsafe.Pointer(pCsr + 16 + uintptr(j)*4)) == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -120525,13 +121391,13 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr j++ } _sqlite3StrAccumInit(tls, bp, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb + 120 + 1*4))) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18628) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18715) if *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18636, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18723, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4)))) } Xsqlite3_str_appendall(tls, bp, (*TPragmaName)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer(pCsr + 16)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18640, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pCsr + 16)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18727, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pCsr + 16)))) } zSql = _sqlite3StrAccumFinish(tls, bp) if zSql == uintptr(0) { @@ -120540,7 +121406,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr rc = Xsqlite3_prepare_v2(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), pCsr+4, uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+32, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+32, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return _pragmaVtabNext(tls, pVtabCursor) @@ -120668,24 +121534,24 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) /* A error message has already been generated. Do not overwrite it */ } else { if (*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(libc.Int32FromInt32(INITFLAG_AlterMask)) != 0 { - *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18674, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) + *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18761, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) (*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR) } else { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140891)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141840)) } else { if *(*uintptr)(unsafe.Pointer(azObj + 1*4)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*4)) } else { - v1 = __ccgo_ts + 5108 + v1 = __ccgo_ts + 5172 } zObj = v1 - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18702, libc.VaList(bp+8, zObj)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18789, libc.VaList(bp+8, zObj)) if zExtra != 0 && *(*uint8)(unsafe.Pointer(zExtra)) != 0 { - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18733, libc.VaList(bp+8, z, zExtra)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18820, libc.VaList(bp+8, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140898)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141847)) } } } @@ -120693,9 +121559,9 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } var _azAlterType = [3]uintptr{ - 0: __ccgo_ts + 18644, - 1: __ccgo_ts + 18651, - 2: __ccgo_ts + 18663, + 0: __ccgo_ts + 18731, + 1: __ccgo_ts + 18738, + 2: __ccgo_ts + 18750, } // C documentation @@ -120775,7 +121641,7 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(iDb) if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), db+172) == 0 || (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage && (*TInitData)(unsafe.Pointer(pData)).FmxPage > uint32(0) { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14516) + _corruptSchema(tls, pData, argv, __ccgo_ts+14609) } } libc.SetBitFieldPtr8Uint32(db+172+8, libc.Uint32FromInt32(0), 0, 0x1) @@ -120810,11 +121676,11 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr } else { pIndex = _sqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*4)), (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName) if pIndex == uintptr(0) { - _corruptSchema(tls, pData, argv, __ccgo_ts+18741) + _corruptSchema(tls, pData, argv, __ccgo_ts+18828) } else { if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), pIndex+44) == 0 || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum < uint32(2) || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage || _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14516) + _corruptSchema(tls, pData, argv, __ccgo_ts+14609) } } } @@ -120858,18 +121724,18 @@ func _sqlite3InitOne(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. */ - (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9058 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9183 if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6533 + v2 = __ccgo_ts + 6597 } else { - v2 = __ccgo_ts + 6066 + v2 = __ccgo_ts + 6130 } v1 = v2 zSchemaTabName = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(2)] = (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8130 - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18754 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8255 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18841 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(5)] = uintptr(0) (*(*TInitData)(unsafe.Pointer(bp + 44))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 44))).FiDb = iDb @@ -120959,7 +121825,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl } else { /* If opening an attached database, the encoding much match ENC(db) */ if (*(*[5]int32)(unsafe.Pointer(bp + 24)))[libc.Int32FromInt32(BTREE_TEXT_ENCODING)-libc.Int32FromInt32(1)]&int32(3) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12095) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12220) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -120985,7 +121851,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = uint8(1) } if int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > int32(SQLITE_MAX_FILE_FORMAT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18826) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18913) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -121001,7 +121867,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl */ _ = libc.Int32FromInt32(0) (*(*TInitData)(unsafe.Pointer(bp + 44))).FmxPage = _sqlite3BtreeLastPage(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18850, libc.VaList(bp+80, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zSchemaTabName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18937, libc.VaList(bp+80, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zSchemaTabName)) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, __ccgo_fp(_sqlite3InitCallback), bp+44, uintptr(0)) @@ -121318,7 +122184,12 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) { var pCleanup uintptr _ = pCleanup - pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(12)) + if _sqlite3FaultSim(tls, int32(300)) != 0 { + pCleanup = uintptr(0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) + } else { + pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(12)) + } if pCleanup != 0 { (*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup (*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup @@ -121350,7 +122221,7 @@ func _sqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FpParse = pParse (*TParse)(unsafe.Pointer(pParse)).Fdb = db if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1632, 0) } } @@ -121386,7 +122257,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } _ = libc.Int32FromInt32(0) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1632, 0) v1 = libc.Int32FromInt32(SQLITE_NOMEM) rc = v1 (*Tsqlite3)(unsafe.Pointer(db)).FerrCode = v1 @@ -121437,7 +122308,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep rc = _sqlite3BtreeSchemaLocked(tls, pBt) if rc != 0 { zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16))).FzDbSName - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18884, libc.VaList(bp+296, zDb)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18971, libc.VaList(bp+296, zDb)) goto end_prepare } } @@ -121453,7 +122324,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep if nBytes >= 0 && (nBytes == 0 || int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(nBytes-int32(1))))) != 0) { mxLen = *(*int32)(unsafe.Pointer(db + 120 + 1*4)) if nBytes > mxLen { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+18914, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+19001, 0) rc = _sqlite3ApiExit(tls, db, int32(SQLITE_TOOBIG)) goto end_prepare } @@ -121489,7 +122360,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep _ = libc.Int32FromInt32(0) rc = (*(*TParse)(unsafe.Pointer(bp))).Frc if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3795, libc.VaList(bp+296, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3859, libc.VaList(bp+296, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) } else { _sqlite3Error(tls, db, rc) @@ -121520,7 +122391,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3 cnt = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141699)) + return _sqlite3MisuseError(tls, int32(142654)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) _sqlite3BtreeEnterAll(tls, db) @@ -121663,7 +122534,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr rc = SQLITE_OK *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141848)) + return _sqlite3MisuseError(tls, int32(142803)) } if nBytes >= 0 { z = zSql @@ -122073,15 +122944,15 @@ func _sqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC i++ } if jointype&(libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER)) == libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER) || jointype&int32(JT_ERROR) != 0 || jointype&(libc.Int32FromInt32(JT_OUTER)|libc.Int32FromInt32(JT_LEFT)|libc.Int32FromInt32(JT_RIGHT)) == int32(JT_OUTER) { - zSp1 = __ccgo_ts + 11202 - zSp2 = __ccgo_ts + 11202 + zSp1 = __ccgo_ts + 11327 + zSp2 = __ccgo_ts + 11327 if pB == uintptr(0) { zSp1++ } if pC == uintptr(0) { zSp2++ } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18933, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19020, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) jointype = int32(JT_INNER) } return jointype @@ -122384,7 +123255,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { if int32((*TSrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype)&int32(JT_NATURAL) != 0 { pUsing = uintptr(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 48)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18963, libc.VaList(bp+16, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19050, libc.VaList(bp+16, 0)) return int32(1) } j = 0 @@ -122437,7 +123308,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { zName1 = (*(*TIdList_item)(unsafe.Pointer(pList + 8 + uintptr(j)*8))).FzName iRightCol = _sqlite3ColumnIndex(tls, pRightTab, zName1) if iRightCol < 0 || _tableAndColumnIndex(tls, pSrc, 0, i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x1000>>12))) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19013, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19100, libc.VaList(bp+16, zName1)) return int32(1) } pE1 = _sqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4))) @@ -122459,7 +123330,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { pFuncArgs = uintptr(0) /* Arguments to the coalesce() */ for _tableAndColumnIndex(tls, pSrc, *(*int32)(unsafe.Pointer(bp))+int32(1), i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x1000>>12))) != 0 { if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*72 + 36 + 4))&0x400>>10)) == 0 || _sqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*72 + 48)), zName1) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19077, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19164, libc.VaList(bp+16, zName1)) break } pFuncArgs = _sqlite3ExprListAppend(tls, pParse, pFuncArgs, pE1) @@ -122505,7 +123376,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { } var _tkCoalesce = TToken{ - Fz: __ccgo_ts + 6730, + Fz: __ccgo_ts + 6794, Fn: uint32(8), } @@ -123305,13 +124176,13 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { _ = z switch id { case int32(TK_ALL): - z = __ccgo_ts + 19114 + z = __ccgo_ts + 19201 case int32(TK_INTERSECT): - z = __ccgo_ts + 19124 + z = __ccgo_ts + 19211 case int32(TK_EXCEPT): - z = __ccgo_ts + 19134 + z = __ccgo_ts + 19221 default: - z = __ccgo_ts + 19141 + z = __ccgo_ts + 19228 break } return z @@ -123332,7 +124203,7 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { func _explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19147, libc.VaList(bp+8, zUsage)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19234, libc.VaList(bp+8, zUsage)) } /* @@ -123366,12 +124237,17 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, iParm = (*TSelectDest)(unsafe.Pointer(pDest)).FiSDParm /* True if sorter record includes seq. no. */ nRefKey = 0 aOutEx = (*TSelect)(unsafe.Pointer(p)).FpEList + 8 - if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 { - v1 = __ccgo_ts + 19170 + nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat == 0 || nKey == int32(1) { + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat != 0 { + v1 = __ccgo_ts + 19257 + } else { + v1 = __ccgo_ts + 1662 + } + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19271, libc.VaList(bp+8, v1)) } else { - v1 = __ccgo_ts + 1648 + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19302, libc.VaList(bp+8, nKey)) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19185, libc.VaList(bp+8, v1)) _ = libc.Int32FromInt32(0) if (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut != 0 { _sqlite3VdbeAddOp2(tls, v, int32(OP_Gosub), (*TSortCtx)(unsafe.Pointer(pSort)).FregReturn, (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut) @@ -123394,7 +124270,6 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, regRow = _sqlite3GetTempRange(tls, pParse, nColumn) } } - nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat if int32((*TSortCtx)(unsafe.Pointer(pSort)).FsortFlags)&int32(SORTFLAG_UseSorter) != 0 { v3 = pParse + 44 *(*int32)(unsafe.Pointer(v3))++ @@ -123620,7 +124495,7 @@ func _columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr _ = libc.Int32FromInt32(0) if iCol < 0 { zType = __ccgo_ts + 1136 - *(*uintptr)(unsafe.Pointer(bp + 8)) = __ccgo_ts + 16694 + *(*uintptr)(unsafe.Pointer(bp + 8)) = __ccgo_ts + 16781 } else { *(*uintptr)(unsafe.Pointer(bp + 8)) = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FzCnName zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*12, uintptr(0)) @@ -123773,13 +124648,13 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } _ = libc.Int32FromInt32(0) if iCol < 0 { - zCol = __ccgo_ts + 16694 + zCol = __ccgo_ts + 16781 } else { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FzCnName } if fullName != 0 { zName1 = uintptr(0) - zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12381, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) + zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12506, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName1, __ccgo_fp(_sqlite3OomClear)) } else { _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, uintptr(-libc.Int32FromInt32(1))) @@ -123787,7 +124662,7 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { z = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*20))).FzEName if z == uintptr(0) { - v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19216, libc.VaList(bp+8, i+int32(1))) + v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19348, libc.VaList(bp+8, i+int32(1))) } else { v2 = _sqlite3DbStrDup(tls, db, z) } @@ -123881,7 +124756,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if iCol >= 0 { v3 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FzCnName } else { - v3 = __ccgo_ts + 16694 + v3 = __ccgo_ts + 16781 } zName = v3 } else { @@ -123897,7 +124772,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if zName != 0 && !(_sqlite3IsTrueOrFalse(tls, zName) != 0) { zName = _sqlite3DbStrDup(tls, db, zName) } else { - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19216, libc.VaList(bp+32, i+int32(1))) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19348, libc.VaList(bp+32, i+int32(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. @@ -123933,7 +124808,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, } *(*Tu32)(unsafe.Pointer(bp))++ v8 = *(*Tu32)(unsafe.Pointer(bp)) - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19225, libc.VaList(bp+32, nName, zName, v8)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19357, libc.VaList(bp+32, nName, zName, v8)) _sqlite3ProgressCheck(tls, pParse) if *(*Tu32)(unsafe.Pointer(bp)) > uint32(3) { Xsqlite3_randomness(tls, int32(4), bp) @@ -123993,9 +124868,9 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS defer tls.Free(48) var a, db, p, pCol, pColl, pS2, zType, p4, p5 uintptr var i, j, m int32 - var m1, n Ti64 + var k, n Ti64 var _ /* sNC at bp+0 */ TNameContext - _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, m, m1, n, p, pCol, pColl, pS2, zType, p4, p5 + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, k, m, n, p, pCol, pColl, pS2, zType, p4, p5 db = (*TParse)(unsafe.Pointer(pParse)).Fdb _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -124016,17 +124891,22 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS if !(i < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } + m = 0 + pS2 = pSelect *(*Tu32)(unsafe.Pointer(pTab + 28)) |= uint32(int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags) & libc.Int32FromInt32(COLFLAG_NOINSERT)) p = (*(*TExprList_item)(unsafe.Pointer(a + uintptr(i)*20))).FpExpr /* pCol->szEst = ... // Column size est for SELECT tables never used */ (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, p) + for int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) && (*TSelect)(unsafe.Pointer(pS2)).FpNext != uintptr(0) { + m |= _sqlite3ExprDataType(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*20))).FpExpr) + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext + (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*20))).FpExpr) + } if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) { (*TColumn)(unsafe.Pointer(pCol)).Faffinity = aff } - if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && (*TSelect)(unsafe.Pointer(pSelect)).FpNext != 0 { - m = 0 - m = 0 - pS2 = (*TSelect)(unsafe.Pointer(pSelect)).FpNext + if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && ((*TSelect)(unsafe.Pointer(pS2)).FpNext != 0 || pS2 != pSelect) { + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext for { if !(pS2 != 0) { break @@ -124051,7 +124931,7 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS zType = _columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0)) if zType == uintptr(0) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) != int32(_sqlite3AffinityType(tls, zType, uintptr(0))) { if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_NUMERIC) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_FLEXNUM) { - zType = __ccgo_ts + 19233 + zType = __ccgo_ts + 19365 } else { zType = uintptr(0) j = int32(1) @@ -124071,13 +124951,13 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS } } if zType != 0 { - m1 = int64(_sqlite3Strlen30(tls, zType)) + k = int64(_sqlite3Strlen30(tls, zType)) n = int64(_sqlite3Strlen30(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) - (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+m1+int64(2))) + (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+k+int64(2))) p4 = pCol + 10 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) & ^(libc.Int32FromInt32(COLFLAG_HASTYPE) | libc.Int32FromInt32(COLFLAG_HASCOLL))) if (*TColumn)(unsafe.Pointer(pCol)).FzCnName != 0 { - libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint32(m1+int64(1))) + libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint32(k+int64(1))) p5 = pCol + 10 *(*Tu16)(unsafe.Pointer(p5)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p5))) | libc.Int32FromInt32(COLFLAG_HASTYPE)) } @@ -124373,7 +125253,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest iDistinct = 0 /* To ensure unique results if UNION */ eDest = int32(SRT_Fifo) /* Registers used by LIMIT and OFFSET */ if (*TSelect)(unsafe.Pointer(p)).FpWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19237, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19369, 0) return } /* Obtain authorization to do a recursive query */ @@ -124466,7 +125346,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest break } if (*TSelect)(unsafe.Pointer(pFirstRec)).FselFlags&uint32(SF_Aggregate) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19286, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19418, 0) goto end_of_recursive_query } (*TSelect)(unsafe.Pointer(pFirstRec)).Fop = uint8(TK_ALL) @@ -124481,7 +125361,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest /* Store the results of the setup-query in Queue. */ pSetup = (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior (*TSelect)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19328, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19460, 0) rc = _sqlite3Select(tls, pParse, pSetup, bp) (*TSelect)(unsafe.Pointer(pSetup)).FpNext = p if rc != 0 { @@ -124509,7 +125389,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest ** the value for the recursive-table. Store the results in the Queue. */ (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19334, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19466, 0) _sqlite3Select(tls, pParse, p, bp) _ = libc.Int32FromInt32(0) (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -124568,11 +125448,11 @@ func _multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) nRow += bShowAll } if nRow == int32(1) { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } else { - v1 = __ccgo_ts + 19349 + v1 = __ccgo_ts + 19481 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19351, libc.VaList(bp+8, nRow, v1)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19483, libc.VaList(bp+8, nRow, v1)) for p != 0 { _selectInnerLoop(tls, pParse, p, -int32(1), uintptr(0), uintptr(0), pDest, int32(1), int32(1)) if !(bShowAll != 0) { @@ -124687,8 +125567,8 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in return _multiSelectOrderBy(tls, pParse, p, pDest) } else { if (*TSelect)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19374, 0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19389, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19506, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19521, 0) } /* Generate code for the left and right SELECT statements. */ @@ -124714,7 +125594,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in _sqlite3VdbeAddOp3(tls, v, int32(OP_OffsetLimit), (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TSelect)(unsafe.Pointer(p)).FiOffset+int32(1), (*TSelect)(unsafe.Pointer(p)).FiOffset) } } - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19114, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19201, 0) rc = _sqlite3Select(tls, pParse, p, bp) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124771,7 +125651,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 32))).FeDest = op - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19408, libc.VaList(bp+96, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19540, libc.VaList(bp+96, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+32) _ = libc.Int32FromInt32(0) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior @@ -124837,7 +125717,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit1 = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 60))).FiSDParm = tab2 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19408, libc.VaList(bp+96, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19540, libc.VaList(bp+96, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+60) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124964,9 +125844,9 @@ func _sqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) bp := tls.Alloc(16) defer tls.Free(16) if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Values) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19429, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19561, 0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19475, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19607, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) } } @@ -125352,8 +126232,8 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy = _sqlite3ExprListDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0) - _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7367) - _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7367) + _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7492) + _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7492) /* Compute the limit registers */ _computeLimitRegisters(tls, pParse, p, labelEnd) if (*TSelect)(unsafe.Pointer(p)).FiLimit != 0 && op == int32(TK_ALL) { @@ -125397,14 +126277,14 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr regOutB = v21 _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), regAddrA) _sqlite3SelectDestInit(tls, bp+28, int32(SRT_Coroutine), regAddrB) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19557, libc.VaList(bp+64, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19689, libc.VaList(bp+64, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) /* Generate a coroutine to evaluate the SELECT statement to the ** left of the compound operator - the "A" select. */ addrSelectA = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regAddrA, 0, addrSelectA) (*TSelect)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19568, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19700, 0) _sqlite3Select(tls, pParse, pPrior, bp) _sqlite3VdbeEndCoroutine(tls, v, regAddrA) _sqlite3VdbeJumpHere(tls, v, addr1) @@ -125417,7 +126297,7 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr savedOffset = (*TSelect)(unsafe.Pointer(p)).FiOffset (*TSelect)(unsafe.Pointer(p)).FiLimit = regLimitB (*TSelect)(unsafe.Pointer(p)).FiOffset = 0 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19573, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19705, 0) _sqlite3Select(tls, pParse, p, bp+28) (*TSelect)(unsafe.Pointer(p)).FiLimit = savedLimit (*TSelect)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -125635,7 +126515,7 @@ func _substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) (r uintptr) { if pColl != 0 { v1 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v1 = __ccgo_ts + 5086 + v1 = __ccgo_ts + 5150 } pExpr = _sqlite3ExprAddCollateString(tls, (*TSubstContext)(unsafe.Pointer(pSubst)).FpParse, pExpr, v1) } @@ -126699,10 +127579,10 @@ func _findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pLeft) != 0 { + if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pLeft) != 0 { _constInsert(tls, pConst, pRight, pLeft, pExpr) } - if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pRight) != 0 { + if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pRight) != 0 { _constInsert(tls, pConst, pLeft, pRight, pExpr) } } @@ -126943,6 +127823,18 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** The hope is that the terms added to the inner query will make it more // ** efficient. // ** +// ** NAME AMBIGUITY +// ** +// ** This optimization is called the "WHERE-clause push-down optimization". +// ** +// ** Do not confuse this optimization with another unrelated optimization +// ** with a similar name: The "MySQL push-down optimization" causes WHERE +// ** clause terms that can be evaluated using only the index and without +// ** reference to the table are run first, so that if they are false, +// ** unnecessary table seeks are avoided. +// ** +// ** RULES +// ** // ** Do not attempt this optimization if: // ** // ** (1) (** This restriction was removed on 2017-09-29. We used to @@ -127008,10 +127900,10 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** (9c) There is a RIGHT JOIN (or FULL JOIN) in between the ON/USING // ** clause and the subquery. // ** -// ** Without this restriction, the push-down optimization might move -// ** the ON/USING filter expression from the left side of a RIGHT JOIN -// ** over to the right side, which leads to incorrect answers. See -// ** also restriction (6) in sqlite3ExprIsSingleTableConstraint(). +// ** Without this restriction, the WHERE-clause push-down optimization +// ** might move the ON/USING filter expression from the left side of a +// ** RIGHT JOIN over to the right side, which leads to incorrect answers. +// ** See also restriction (6) in sqlite3ExprIsSingleTableConstraint(). // ** // ** (10) The inner query is not the right-hand table of a RIGHT JOIN. // ** @@ -127106,7 +127998,7 @@ func _pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere ui nChng += _pushDownWhereTerms(tls, pParse, pSubq, (*TExpr)(unsafe.Pointer(pWhere)).FpRight, pSrcList, iSrc) pWhere = (*TExpr)(unsafe.Pointer(pWhere)).FpLeft } - if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc) != 0 { + if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc, int32(1)) != 0 { nChng++ *(*Tu32)(unsafe.Pointer(pSubq + 4)) |= uint32(SF_PushDown) for pSubq != 0 { @@ -127285,13 +128177,13 @@ func _minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) (r } _ = libc.Int32FromInt32(0) zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8)) - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15550) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15643) == 0 { eRet = int32(WHERE_ORDERBY_MIN) if _sqlite3ExprCanBeNull(tls, (*(*TExprList_item)(unsafe.Pointer(pEList + 8))).FpExpr) != 0 { sortFlags = uint8(KEYINFO_ORDER_BIGNULL) } } else { - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15554) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15647) == 0 { eRet = int32(WHERE_ORDERBY_MAX) sortFlags = uint8(KEYINFO_ORDER_DESC) } else { @@ -127387,7 +128279,7 @@ func _sqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r in pIdx = (*TIndex)(unsafe.Pointer(pIdx)).FpNext } if !(pIdx != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19579, libc.VaList(bp+8, zIndexedBy, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19711, libc.VaList(bp+8, zIndexedBy, 0)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) return int32(SQLITE_ERROR) } @@ -127514,7 +128406,7 @@ func _cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 36 + 4))&0x4>>2)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19597, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19729, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) return int32(1) } return 0 @@ -127696,7 +128588,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom *(*Tu32)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= uint32(SF_CopyCte) _ = libc.Int32FromInt32(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 36 + 4))&0x2>>1)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19620, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 64)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19752, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 64)))) return int32(2) } libc.SetBitFieldPtr16Uint32(pFrom+36+4, libc.Uint32FromInt32(1), 8, 0x100) @@ -127721,7 +128613,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ libc.SetBitFieldPtr16Uint32(pItem+36+4, libc.Uint32FromInt32(1), 6, 0x40) if (*TSelect)(unsafe.Pointer(pRecTerm)).FselFlags&uint32(SF_Recursive) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19640, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19772, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) return int32(2) } *(*Tu32)(unsafe.Pointer(pRecTerm + 4)) |= uint32(SF_Recursive) @@ -127743,7 +128635,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } pRecTerm = (*TSelect)(unsafe.Pointer(pRecTerm)).FpPrior } - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19683 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19815 pSavedWith = (*TParse)(unsafe.Pointer(pParse)).FpWith (*TParse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp)) if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { @@ -127779,7 +128671,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pEList = (*TSelect)(unsafe.Pointer(pLeft)).FpEList if (*TCte)(unsafe.Pointer(pCte)).FpCols != 0 { if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr != (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19706, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19838, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*TParse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return int32(2) } @@ -127788,9 +128680,9 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom _sqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+34, pTab+4) if bMayRecursive != 0 { if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19744 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19876 } else { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19778 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19910 } _sqlite3WalkSelect(tls, pWalker, pSel) } @@ -127851,7 +128743,7 @@ func _sqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int if (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 { (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3DbStrDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias) } else { - (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19816, libc.VaList(bp+8, pFrom)) + (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19948, libc.VaList(bp+8, pFrom)) } for (*TSelect)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*TSelect)(unsafe.Pointer(pSel)).FpPrior @@ -128015,7 +128907,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { return int32(WRC_Abort) } if (*TTable)(unsafe.Pointer(pTab)).FnTabRef >= uint32(0xffff) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19820, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19952, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) (*TSrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return int32(WRC_Abort) } @@ -128031,7 +128923,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) && (*TTable)(unsafe.Pointer(pTab)).FpSchema != (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19859, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19991, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } (*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect = _sqlite3SelectDup(tls, db, (*(*struct { FpSelect uintptr @@ -128046,7 +128938,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 44))).Fp)).FeVtabRisk) > libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15109, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15202, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } } _ = libc.Int32FromInt32(0) @@ -128183,7 +129075,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if iDb >= 0 { v10 = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName } else { - v10 = __ccgo_ts + 6590 + v10 = __ccgo_ts + 6654 } zSchemaName = v10 } @@ -128201,7 +129093,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if pNew != 0 { pX = pNew + 8 + uintptr((*TExprList)(unsafe.Pointer(pNew)).FnExpr-int32(1))*20 _ = libc.Int32FromInt32(0) - (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19890, libc.VaList(bp+8, zUName)) + (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20022, libc.VaList(bp+8, zUName)) libc.SetBitFieldPtr16Uint32(pX+8+4, libc.Uint32FromInt32(ENAME_TAB), 0, 0x3) libc.SetBitFieldPtr16Uint32(pX+8+4, libc.Uint32FromInt32(1), 7, 0x80) } @@ -128283,7 +129175,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, (*(*TExprList_item)(unsafe.Pointer(pNestedFrom + 8 + uintptr(j)*20))).FzEName) } else { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19895, libc.VaList(bp+8, zSchemaName, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20027, libc.VaList(bp+8, zSchemaName, zTabName, zName)) } if j == int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) { v13 = int32(ENAME_ROWID) @@ -128296,7 +129188,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } } else { if longNames != 0 { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12381, libc.VaList(bp+8, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12506, libc.VaList(bp+8, zTabName, zName)) libc.SetBitFieldPtr16Uint32(pX1+8+4, libc.Uint32FromInt32(ENAME_NAME), 0, 0x3) } else { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, zName) @@ -128316,9 +129208,9 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if !(tableSeen != 0) { if zTName != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19904, libc.VaList(bp+8, zTName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20036, libc.VaList(bp+8, zTName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19922, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20054, 0) } } } @@ -128332,7 +129224,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if (*TSelect)(unsafe.Pointer(p)).FpEList != 0 { if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 120 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19942, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20074, 0) return int32(WRC_Abort) } if elistFlags&uint32(libc.Int32FromInt32(EP_HasFunc)|libc.Int32FromInt32(EP_Subquery)) != uint32(0) { @@ -128694,12 +129586,12 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { pE = (*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFExpr _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(pE + 20)) == uintptr(0) || (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 20)))).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19973, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20105, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -int32(1) } else { pKeyInfo = _sqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 20)), 0, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20024, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20156, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab >= 0 { @@ -128725,7 +129617,7 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { (*TKeyInfo)(unsafe.Pointer(pKeyInfo1)).FnKeyField++ } _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab, (*TExprList)(unsafe.Pointer(pOBList)).FnExpr+nExtra, 0, pKeyInfo1, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20057, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20189, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } goto _1 _1: @@ -129050,16 +129942,16 @@ func _explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintp if int32((*TParse)(unsafe.Pointer(pParse)).Fexplain) == int32(2) { bCover = libc.BoolInt32(pIdx != uintptr(0) && ((*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) || !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 56))&0x3>>0)) == libc.Int32FromInt32(SQLITE_IDXTYPE_PRIMARYKEY)))) if bCover != 0 { - v1 = __ccgo_ts + 20090 + v1 = __ccgo_ts + 20222 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } if bCover != 0 { v2 = (*TIndex)(unsafe.Pointer(pIdx)).FzName } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20113, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20245, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) } } @@ -129091,7 +129983,7 @@ func _havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3 ** statements AggInfo structure. */ if _sqlite3ExprIsConstantOrGroupBy(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*TSelect)(unsafe.Pointer(pS)).FpGroupBy) != 0 && libc.BoolInt32((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse)) == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8130) + pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8255) if pNew != 0 { pWhere = (*TSelect)(unsafe.Pointer(pS)).FpWhere t = *(*TExpr)(unsafe.Pointer(pNew)) @@ -129251,7 +130143,7 @@ func _countOfViewOptimization(tls *libc.TLS, pParse uintptr, p uintptr) (r int32 return 0 } /* Result is an aggregate */ _ = libc.Int32FromInt32(0) - if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15844) != 0 { + if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15937) != 0 { return 0 } /* Is count() */ _ = libc.Int32FromInt32(0) @@ -129524,7 +130416,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { v1 = (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p0)).FpTab)).FzName } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20125, libc.VaList(bp+128, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20257, libc.VaList(bp+128, v1)) goto select_end } /* Clear the SF_UFSrcCheck flag. The check has already been performed, @@ -129627,7 +130519,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r /* Catch mismatch in the declared columns of a view and the number of ** columns in the SELECT on the RHS */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) != (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20179, libc.VaList(bp+128, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20311, libc.VaList(bp+128, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end } /* Do not attempt the usual optimizations (flattening and ORDER BY @@ -129765,12 +130657,12 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r ** string for the fake column name seems safer. */ if (*TSrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0) && (*TSrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0) { - _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1648, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1662, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) } /* Generate code for all sub-queries in the FROM clause */ pSub1 = (*TSrcItem)(unsafe.Pointer(pItem1)).FpSelect - if pSub1 == uintptr(0) { + if pSub1 == uintptr(0) || (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub != 0 { goto _10 } /* The code for a subquery should only be generated once. */ @@ -129811,7 +130703,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop _sqlite3SelectDestInit(tls, bp+56, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20219, libc.VaList(bp+128, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20351, libc.VaList(bp+128, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+56) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+36+4, libc.Uint32FromInt32(1), 5, 0x20) @@ -129859,7 +130751,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { } _sqlite3SelectDestInit(tls, bp+56, int32(SRT_EphemTab), (*TSrcItem)(unsafe.Pointer(pItem1)).FiCursor) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20234, libc.VaList(bp+128, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20366, libc.VaList(bp+128, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+56) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow if onceAddr != 0 { @@ -130277,11 +131169,11 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r groupBySort = 0 } else { if (*(*TDistinctCtx)(unsafe.Pointer(bp))).FisTnct != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Distinct) == uint32(0) { - v44 = __ccgo_ts + 20250 + v44 = __ccgo_ts + 20382 } else { - v44 = __ccgo_ts + 20259 + v44 = __ccgo_ts + 20391 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19147, libc.VaList(bp+128, v44)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19234, libc.VaList(bp+128, v44)) groupBySort = int32(1) nGroupBy = (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr nCol = nGroupBy @@ -130605,7 +131497,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeResolveLabel(tls, v, addrEnd) } /* endif aggregate query */ if int32((*(*TDistinctCtx)(unsafe.Pointer(bp))).FeTnctType) == int32(WHERE_DISTINCT_UNORDERED) { - _explainTempTable(tls, pParse, __ccgo_ts+20250) + _explainTempTable(tls, pParse, __ccgo_ts+20382) } /* If there is an ORDER BY clause, then we need to sort the results ** and send them to the callback one by one. @@ -130714,7 +131606,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr if !(i < nCol) { break } - z = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*4)))) + z = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*4)))) if z == uintptr(0) { goto malloc_failed } @@ -130730,7 +131622,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr } else { if int32((*TTabResult)(unsafe.Pointer(p)).FnColumn) != nCol { Xsqlite3_free(tls, (*TTabResult)(unsafe.Pointer(p)).FzErrMsg) - (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20268, 0) + (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20400, 0) (*TTabResult)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) return int32(1) } @@ -130821,7 +131713,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+40, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+40, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) } Xsqlite3_free(tls, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg) } @@ -130991,7 +131883,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if isTemp != 0 { /* If TEMP was specified, then the trigger name may not be qualified. */ if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20333, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20465, 0) goto trigger_cleanup } iDb = int32(1) @@ -131032,7 +131924,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } _ = libc.Int32FromInt32(0) - _sqlite3FixInit(tls, bp+4, pParse, iDb, __ccgo_ts+20379, *(*uintptr)(unsafe.Pointer(bp))) + _sqlite3FixInit(tls, bp+4, pParse, iDb, __ccgo_ts+20511, *(*uintptr)(unsafe.Pointer(bp))) if _sqlite3FixSrcList(tls, bp+4, pTableName) != 0 { goto trigger_cleanup } @@ -131042,11 +131934,11 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_orphan_error } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20387, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20519, 0) goto trigger_orphan_error } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, db) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20428, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20560, 0) goto trigger_orphan_error } /* Check that the trigger name is not reserved and that no trigger of the @@ -131056,14 +131948,14 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 _ = libc.Int32FromInt32(0) goto trigger_cleanup } - if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20379, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { + if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20511, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { goto trigger_cleanup } _ = libc.Int32FromInt32(0) if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FpSchema+40, zName) != 0 { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20468, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20600, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp)))) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -131072,8 +131964,8 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 } } /* Do not create a trigger on a system table */ - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20494, 0) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) == 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20626, 0) goto trigger_cleanup } /* INSTEAD of triggers are only for views and views only support INSTEAD @@ -131081,15 +131973,15 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && tr_tm != int32(TK_INSTEAD) { if tr_tm == int32(TK_BEFORE) { - v1 = __ccgo_ts + 20532 + v1 = __ccgo_ts + 20664 } else { - v1 = __ccgo_ts + 20539 + v1 = __ccgo_ts + 20671 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20545, libc.VaList(bp+64, v1, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20677, libc.VaList(bp+64, v1, pTableName+8)) goto trigger_orphan_error } if !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) && tr_tm == int32(TK_INSTEAD) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20582, libc.VaList(bp+64, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20714, libc.VaList(bp+64, pTableName+8)) goto trigger_orphan_error } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -131109,9 +132001,9 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iTabDb == int32(1) { - v3 = __ccgo_ts + 6533 + v3 = __ccgo_ts + 6597 } else { - v3 = __ccgo_ts + 6066 + v3 = __ccgo_ts + 6130 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto trigger_cleanup @@ -131213,7 +132105,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl pStepList = (*TTriggerStep)(unsafe.Pointer(pStepList)).FpNext } _sqlite3TokenInit(tls, bp+56, (*TTrigger)(unsafe.Pointer(pTrig)).FzName) - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20379, bp+56) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20511, bp+56) if _sqlite3FixTriggerStep(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 || _sqlite3FixExpr(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).FpWhen) != 0 { goto triggerfinish_cleanup } @@ -131236,7 +132128,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl break } if (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget != uintptr(0) && _sqlite3ShadowTableName(tls, db, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20628, libc.VaList(bp+72, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20760, libc.VaList(bp+72, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) goto triggerfinish_cleanup } goto _1 @@ -131252,10 +132144,10 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl } _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) z = _sqlite3DbStrNDup(tls, db, (*TToken)(unsafe.Pointer(pAll)).Fz, uint64((*TToken)(unsafe.Pointer(pAll)).Fn)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20676, libc.VaList(bp+72, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20808, libc.VaList(bp+72, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) _sqlite3DbFree(tls, db, z) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20751, libc.VaList(bp+72, zName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20883, libc.VaList(bp+72, zName)), uint16(0)) } } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { @@ -131531,7 +132423,7 @@ func _sqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int } if !(pTrigger != 0) { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20780, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20912, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, zDb) } @@ -131575,9 +132467,9 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { code = int32(SQLITE_DROP_TRIGGER) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zTab = v1 if iDb == int32(1) { @@ -131592,7 +132484,7 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { v2 = _sqlite3GetVdbe(tls, pParse) v = v2 if v2 != uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20800, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20932, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropTrigger), iDb, 0, 0, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName, 0) } @@ -131728,11 +132620,11 @@ func _triggersReallyExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { if op != int32(TK_INSERT) { if op == int32(TK_DELETE) { - v1 = __ccgo_ts + 20862 + v1 = __ccgo_ts + 20994 } else { - v1 = __ccgo_ts + 20869 + v1 = __ccgo_ts + 21001 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20876, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21008, libc.VaList(bp+8, v1)) } (*TTrigger)(unsafe.Pointer(p)).Ftr_tm = uint8(TRIGGER_BEFORE) } else { @@ -131839,7 +132731,7 @@ func _isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != int32(TK_ASTERISK) { return 0 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20924, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21056, 0) return int32(1) } @@ -131904,6 +132796,81 @@ func _sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab return pNew } +// C documentation +// +// /* If the Expr node is a subquery or an EXISTS operator or an IN operator that +// ** uses a subquery, and if the subquery is SF_Correlated, then mark the +// ** expression as EP_VarSelect. +// */ +func _sqlite3ReturningSubqueryVarSelect(tls *libc.TLS, NotUsed uintptr, pExpr uintptr) (r int32) { + _ = NotUsed + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) && (*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20)))).FselFlags&uint32(SF_Correlated) != uint32(0) { + *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** If the SELECT references the table pWalker->u.pTab, then do two things: +// ** +// ** (1) Mark the SELECT as as SF_Correlated. +// ** (2) Set pWalker->eCode to non-zero so that the caller will know +// ** that (1) has happened. +// */ +func _sqlite3ReturningSubqueryCorrelated(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + var i int32 + var pSrc uintptr + _, _ = i, pSrc + _ = libc.Int32FromInt32(0) + pSrc = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + _ = libc.Int32FromInt32(0) + i = 0 + for { + if !(i < (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) { + break + } + if (*(*TSrcItem)(unsafe.Pointer(pSrc + 8 + uintptr(i)*72))).FpTab == *(*uintptr)(unsafe.Pointer(pWalker + 24)) { + *(*Tu32)(unsafe.Pointer(pSelect + 4)) |= uint32(SF_Correlated) + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + break + } + goto _1 + _1: + ; + i++ + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Scan the expression list that is the argument to RETURNING looking +// ** for subqueries that depend on the table which is being modified in the +// ** statement that is hosting the RETURNING clause (pTab). Mark all such +// ** subqueries as SF_Correlated. If the subqueries are part of an +// ** expression, mark the expression as EP_VarSelect. +// ** +// ** https://sqlite.org/forum/forumpost/2c83569ce8945d39 +// */ +func _sqlite3ProcessReturningSubqueries(tls *libc.TLS, pEList uintptr, pTab uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint32(28)) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ExprWalkNoop) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3ReturningSubqueryCorrelated) + *(*uintptr)(unsafe.Pointer(bp + 24)) = pTab + _sqlite3WalkExprList(tls, bp, pEList) + if (*(*TWalker)(unsafe.Pointer(bp))).FeCode != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ReturningSubqueryVarSelect) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop) + _sqlite3WalkExprList(tls, bp, pEList) + } +} + // C documentation // // /* @@ -131940,6 +132907,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab (*(*TSelect)(unsafe.Pointer(bp))).FpSrc = bp + 80 (*(*TSrcList)(unsafe.Pointer(bp + 80))).FnSrc = int32(1) (*(*TSrcItem)(unsafe.Pointer(bp + 80 + 8))).FpTab = pTab + (*(*TSrcItem)(unsafe.Pointer(bp + 80 + 8))).FzName = (*TTable)(unsafe.Pointer(pTab)).FzName /* tag-20240424-1 */ (*(*TSrcItem)(unsafe.Pointer(bp + 80 + 8))).FiCursor = -int32(1) _sqlite3SelectPrep(tls, pParse, bp, uintptr(0)) if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { @@ -131965,6 +132933,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab if _sqlite3ResolveExprListNames(tls, bp+160, pNew) == SQLITE_OK && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { nCol = (*TExprList)(unsafe.Pointer(pNew)).FnExpr reg = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(1) + _sqlite3ProcessReturningSubqueries(tls, pNew, pTab) *(*int32)(unsafe.Pointer(pParse + 44)) += nCol + int32(2) (*TReturning)(unsafe.Pointer(pReturning)).FiRetReg = reg i = 0 @@ -132037,7 +133006,7 @@ func _codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orcon (*TParse)(unsafe.Pointer(pParse)).FeOrconf = uint8(v2) _ = libc.Int32FromInt32(0) if (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6263, libc.VaList(bp+40, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6327, libc.VaList(bp+40, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) } switch int32((*TTriggerStep)(unsafe.Pointer(pStep)).Fop) { case int32(TK_UPDATE): @@ -132144,7 +133113,7 @@ func _codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintp v = _sqlite3GetVdbe(tls, bp+36) if v != 0 { if (*TTrigger)(unsafe.Pointer(pTrigger)).FzName != 0 { - _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+20966, libc.VaList(bp+328, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) + _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+21098, libc.VaList(bp+328, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) } /* If one was specified, code the WHEN clause. If it evaluates to false ** (or NULL) the sub-vdbe is immediately halted by jumping to the @@ -132858,7 +133827,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui chngPk = uint8(1) } else { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*12))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20980, libc.VaList(bp+80, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*12))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21112, libc.VaList(bp+80, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*12))).FzCnName)) goto update_cleanup } } @@ -132878,13 +133847,13 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui pRowidExpr = (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*20))).FpExpr iRowidExpr = i } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21016, libc.VaList(bp+80, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*20))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21148, libc.VaList(bp+80, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*20))).FzEName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto update_cleanup } } if j < 0 { - v11 = __ccgo_ts + 7905 + v11 = __ccgo_ts + 8030 } else { v11 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*12))).FzCnName } @@ -133580,7 +134549,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui ** that information. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21035) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21167) } goto update_cleanup update_cleanup: @@ -134029,9 +134998,9 @@ func _sqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr if nClause == 0 && (*TUpsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) { (*(*[16]uint8)(unsafe.Pointer(bp + 140)))[0] = uint8(0) } else { - Xsqlite3_snprintf(tls, int32(16), bp+140, __ccgo_ts+21048, libc.VaList(bp+168, nClause+int32(1))) + Xsqlite3_snprintf(tls, int32(16), bp+140, __ccgo_ts+21180, libc.VaList(bp+168, nClause+int32(1))) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21052, libc.VaList(bp+168, bp+140)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21184, libc.VaList(bp+168, bp+140)) return int32(SQLITE_ERROR) } goto _1 @@ -134137,7 +135106,7 @@ func _sqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i++ } i = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), iDataCur, 0, iPk, nPk) - _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12470, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12595, -int32(1)) _sqlite3MayAbort(tls, pParse) _sqlite3VdbeJumpHere(tls, v, i) } @@ -134220,7 +135189,7 @@ func _execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) (r int3 ** corrupt the sqlite_schema.sql field with other kinds of statements ** then run VACUUM to get those statements to execute at inappropriate ** times. */ - if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21125, uint32(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21129, uint32(3)) == 0) { + if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21257, uint32(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21261, uint32(3)) == 0) { rc = _execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -134349,24 +135318,24 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p pDb = uintptr(0) /* Name of output file */ pgflags = uint32(PAGER_SYNCHRONOUS_OFF) /* sync flags for output db */ if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21133) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21265) return int32(SQLITE_ERROR) /* IMP: R-12218-18073 */ } if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive > int32(1) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21173) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21305) return int32(SQLITE_ERROR) /* IMP: R-15610-35227 */ } saved_openFlags = (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags if pOut != 0 { if Xsqlite3_value_type(tls, pOut) != int32(SQLITE_TEXT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21216) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21348) return int32(SQLITE_ERROR) } zOut = Xsqlite3_value_text(tls, pOut) *(*uint32)(unsafe.Pointer(db + 60)) &= uint32(^libc.Int32FromInt32(SQLITE_OPEN_READONLY)) *(*uint32)(unsafe.Pointer(db + 60)) |= uint32(libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE)) } else { - zOut = __ccgo_ts + 1648 + zOut = __ccgo_ts + 1662 } /* Save the current value of the database flags so that it can be ** restored before returning. Then set the writable-schema flag, and @@ -134398,7 +135367,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** to write the journal header file. */ nDb = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21234, libc.VaList(bp+24, zOut)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21366, libc.VaList(bp+24, zOut)) (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if rc != SQLITE_OK { goto end_of_vacuum @@ -134412,7 +135381,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p *(*Ti64)(unsafe.Pointer(bp)) = 0 if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0) && (_sqlite3OsFileSize(tls, id, bp) != SQLITE_OK || *(*Ti64)(unsafe.Pointer(bp)) > 0) { rc = int32(SQLITE_ERROR) - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21257) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21389) goto end_of_vacuum } *(*Tu32)(unsafe.Pointer(db + 24)) |= uint32(DBFLAG_VacuumInto) @@ -134429,7 +135398,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, ** to ensure that we do not try to change the page-size on a WAL database. */ - rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14879) + rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14972) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134460,11 +135429,11 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** in the temporary database. */ (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(nDb) /* force new CREATE statements into vacuum_db */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21284, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21416, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21392, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21524, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134473,7 +135442,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy ** the contents to the temporary database. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21446, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21578, libc.VaList(bp+24, zDbMain)) _ = libc.Int32FromInt32(0) *(*Tu32)(unsafe.Pointer(db + 24)) &= uint32(^libc.Int32FromInt32(DBFLAG_Vacuum)) if rc != SQLITE_OK { @@ -134484,7 +135453,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** associated storage, so all we have to do is copy their entries ** from the schema table. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21597, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21729, libc.VaList(bp+24, zDbMain)) if rc != 0 { goto end_of_vacuum } @@ -135032,7 +136001,7 @@ func _addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uint FazArg uintptr Fp uintptr })(unsafe.Pointer(pTable + 44))).FnArg+int32(3) >= *(*int32)(unsafe.Pointer(db + 120 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12700, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12825, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = _sqlite3DbRealloc(tls, db, (*(*struct { FnArg int32 @@ -135159,7 +136128,7 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { if pEnd != 0 { (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((*TToken)(unsafe.Pointer(pEnd)).Fz)-int32((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + (*TToken)(unsafe.Pointer(pEnd)).Fn } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21727, libc.VaList(bp+8, pParse+200)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21859, libc.VaList(bp+8, pParse+200)) /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. @@ -135169,11 +136138,11 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { ** by sqlite3StartTable(). */ iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+21751, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+21883, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) v = _sqlite3GetVdbe(tls, pParse) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) - zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21850, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21982, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) _sqlite3DbFree(tls, db, zStmt) v2 = pParse + 44 @@ -135263,7 +136232,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, break } if (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21869, libc.VaList(bp+32, (*TTable)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22001, libc.VaList(bp+32, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(SQLITE_LOCKED) } goto _1 @@ -135300,6 +136269,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+8, bp+16) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _sqlite3DeleteTable(tls, db, pTab) (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*(*TVtabCtx)(unsafe.Pointer(bp))).FpPrior if rc == int32(SQLITE_NOMEM) { @@ -135308,9 +136279,9 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, _ = libc.Int32FromInt32(0) if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 16)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21911, libc.VaList(bp+32, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22043, libc.VaList(bp+32, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3795, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 16)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3859, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 16)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) } _sqlite3DbFree(tls, db, pVTable) @@ -135323,8 +136294,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*TModule)(unsafe.Pointer(pMod)).FnRefModule++ (*TVTable)(unsafe.Pointer(pVTable)).FnRef = int32(1) if (*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared == 0 { - zFormat = __ccgo_ts + 21941 - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+32, (*TTable)(unsafe.Pointer(pTab)).FzName)) + zFormat = __ccgo_ts + 22073 + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+32, zModuleName)) _sqlite3VtabUnlock(tls, pVTable) rc = int32(SQLITE_ERROR) } else { @@ -135349,7 +136320,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(iCol < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } - zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*12, __ccgo_ts+1648) + zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*12, __ccgo_ts+1662) i = 0 nType = _sqlite3Strlen30(tls, zType) i = 0 @@ -135357,7 +136328,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(i < nType) { break } - if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16585, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { + if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16672, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { break } goto _3 @@ -135441,13 +136412,13 @@ func _sqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 44))).FazArg)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21987, libc.VaList(bp+16, zModule)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22119, libc.VaList(bp+16, zModule)) rc = int32(SQLITE_ERROR) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) (*TParse)(unsafe.Pointer(pParse)).Frc = rc } _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) @@ -135529,7 +136500,7 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, ** error. Otherwise, do nothing. */ if pMod == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21987, libc.VaList(bp+8, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22119, libc.VaList(bp+8, zMod)) rc = int32(SQLITE_ERROR) } else { rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr) @@ -135555,18 +136526,42 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r int32) { bp := tls.Alloc(304) defer tls.Free(304) - var initBusy, rc int32 - var pCtx, pIdx, pNew, pTab, v2 uintptr - var v1 Ti16 + var i, initBusy, rc int32 + var pCtx, pIdx, pNew, pTab, z, v3 uintptr + var v2 Ti16 var _ /* sParse at bp+0 */ TParse - _, _, _, _, _, _, _, _ = initBusy, pCtx, pIdx, pNew, pTab, rc, v1, v2 + var _ /* tokenType at bp+284 */ int32 + _, _, _, _, _, _, _, _, _, _ = i, initBusy, pCtx, pIdx, pNew, pTab, rc, z, v2, v3 rc = SQLITE_OK + /* Verify that the first two keywords in the CREATE TABLE statement + ** really are "CREATE" and "TABLE". If this is not the case, then + ** sqlite3_declare_vtab() is being misused. + */ + z = zCreateTable + i = 0 + for { + if !(_aKeyword1[i] != 0) { + break + } + *(*int32)(unsafe.Pointer(bp + 284)) = 0 + for cond := true; cond; cond = *(*int32)(unsafe.Pointer(bp + 284)) == int32(TK_SPACE) { + z += uintptr(_sqlite3GetToken(tls, z, bp+284)) + } + if *(*int32)(unsafe.Pointer(bp + 284)) != int32(_aKeyword1[i]) { + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+22138, 0) + return int32(SQLITE_ERROR) + } + goto _1 + _1: + ; + i++ + } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { - _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(155155))) + _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(156227))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) - return _sqlite3MisuseError(tls, int32(155157)) + return _sqlite3MisuseError(tls, int32(156229)) } pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab _ = libc.Int32FromInt32(0) @@ -135580,7 +136575,10 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i initBusy = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) (*(*TParse)(unsafe.Pointer(bp))).FnQueryLoop = int16(1) - if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) && (*(*TParse)(unsafe.Pointer(bp))).FpNewTable != uintptr(0) && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && int32((*TTable)(unsafe.Pointer((*(*TParse)(unsafe.Pointer(bp))).FpNewTable)).FeTabType) == TABTYP_NORM { + if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if !((*TTable)(unsafe.Pointer(pTab)).FaCol != 0) { pNew = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable @@ -135590,9 +136588,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 44))).FpDfltList) - v1 = (*TTable)(unsafe.Pointer(pNew)).FnCol - (*TTable)(unsafe.Pointer(pTab)).FnCol = v1 - (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v1 + v2 = (*TTable)(unsafe.Pointer(pNew)).FnCol + (*TTable)(unsafe.Pointer(pTab)).FnCol = v2 + (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v2 *(*Tu32)(unsafe.Pointer(pTab + 28)) |= (*TTable)(unsafe.Pointer(pNew)).FtabFlags & uint32(libc.Int32FromInt32(TF_WithoutRowid)|libc.Int32FromInt32(TF_NoVisibleRowid)) (*TTable)(unsafe.Pointer(pNew)).FnCol = 0 (*TTable)(unsafe.Pointer(pNew)).FaCol = uintptr(0) @@ -135614,11 +136612,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = int32(1) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - v2 = __ccgo_ts + 3795 + v3 = __ccgo_ts + 3859 } else { - v2 = uintptr(0) + v3 = uintptr(0) } - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v2, libc.VaList(bp+296, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v3, libc.VaList(bp+296, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) rc = int32(SQLITE_ERROR) } @@ -135635,6 +136633,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i return rc } +var _aKeyword1 = [3]Tu8{ + 0: uint8(TK_CREATE), + 1: uint8(TK_TABLE), +} + // C documentation // // /* @@ -136096,7 +137099,7 @@ func _sqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) _addModuleArgument(tls, pParse, pTab, _sqlite3DbStrDup(tls, db, (*TTable)(unsafe.Pointer(pTab)).FzName)) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp) if rc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3VtabEponymousTableClear(tls, db, pMod) } @@ -136163,7 +137166,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = _sqlite3MisuseError(tls, int32(155651)) + rc = _sqlite3MisuseError(tls, int32(156723)) } else { _ = libc.Int32FromInt32(0) ap = va @@ -136177,7 +137180,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in case int32(SQLITE_VTAB_USES_ALL_SCHEMAS): (*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1) default: - rc = _sqlite3MisuseError(tls, int32(155673)) + rc = _sqlite3MisuseError(tls, int32(156745)) break } _ = ap @@ -136933,10 +137936,10 @@ type WhereInfo1 = TWhereInfo1 func _explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) (r uintptr) { i = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -int32(2) { - return __ccgo_ts + 22006 + return __ccgo_ts + 22151 } if i == -int32(1) { - return __ccgo_ts + 16694 + return __ccgo_ts + 16781 } return (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*12))).FzCnName } @@ -136956,10 +137959,10 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, _ = i _ = libc.Int32FromInt32(0) if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22013, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22158, int32(5)) } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22019, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22164, int32(1)) } i = 0 for { @@ -136967,7 +137970,7 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13090, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13215, int32(1)) } Xsqlite3_str_appendall(tls, pStr, _explainIndexColumnName(tls, pIdx, iTerm+i)) goto _1 @@ -136976,11 +137979,11 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5170, int32(1)) } Xsqlite3_str_append(tls, pStr, zOp, int32(1)) if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22019, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22164, int32(1)) } i = 0 for { @@ -136988,16 +137991,16 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13090, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13215, int32(1)) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5172, int32(1)) goto _2 _2: ; i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5170, int32(1)) } } @@ -137030,7 +138033,7 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { if int32(nEq) == 0 && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_BTM_LIMIT)|libc.Int32FromInt32(WHERE_TOP_LIMIT)) == uint32(0) { return } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22021, int32(2)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22166, int32(2)) i = 0 for { if !(i < int32(nEq)) { @@ -137038,12 +138041,12 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } z = _explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22013, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22158, int32(5)) } if i >= int32(nSkip) { - v2 = __ccgo_ts + 22024 + v2 = __ccgo_ts + 22169 } else { - v2 = __ccgo_ts + 22029 + v2 = __ccgo_ts + 22174 } Xsqlite3_str_appendf(tls, pStr, v2, libc.VaList(bp+8, z)) goto _1 @@ -137053,13 +138056,13 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } j = i if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_BTM_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22037) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22182) i = int32(1) } if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_TOP_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22039) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22184) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5170, int32(1)) } // C documentation @@ -137102,11 +138105,11 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _sqlite3StrAccumInit(tls, bp, db, bp+24, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if isSearch != 0 { - v2 = __ccgo_ts + 22041 + v2 = __ccgo_ts + 22186 } else { - v2 = __ccgo_ts + 22048 + v2 = __ccgo_ts + 22193 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22053, libc.VaList(bp+136, v2, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22198, libc.VaList(bp+136, v2, pItem)) if flags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_VIRTUALTABLE)) == uint32(0) { zFmt = uintptr(0) _ = libc.Int32FromInt32(0) @@ -137114,37 +138117,37 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _ = libc.Int32FromInt32(0) if !((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) && int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 56))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = __ccgo_ts + 11253 + zFmt = __ccgo_ts + 11378 } } else { if flags&uint32(WHERE_PARTIALIDX) != 0 { - zFmt = __ccgo_ts + 22059 + zFmt = __ccgo_ts + 22204 } else { if flags&uint32(WHERE_AUTO_INDEX) != 0 { - zFmt = __ccgo_ts + 22092 + zFmt = __ccgo_ts + 22237 } else { if flags&uint32(WHERE_IDX_ONLY) != 0 { - zFmt = __ccgo_ts + 22117 + zFmt = __ccgo_ts + 22262 } else { - zFmt = __ccgo_ts + 22135 + zFmt = __ccgo_ts + 22280 } } } } if zFmt != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22144, int32(7)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22289, int32(7)) Xsqlite3_str_appendf(tls, bp, zFmt, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) _explainIndexRange(tls, bp, pLoop) } } else { if flags&uint32(WHERE_IPK) != uint32(0) && flags&uint32(WHERE_CONSTRAINT) != uint32(0) { - zRowid = __ccgo_ts + 16694 - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22152, libc.VaList(bp+136, zRowid)) + zRowid = __ccgo_ts + 16781 + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22297, libc.VaList(bp+136, zRowid)) if flags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != 0 { cRangeOp = uint8('=') } else { if flags&uint32(WHERE_BOTH_LIMIT) == uint32(WHERE_BOTH_LIMIT) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22183, libc.VaList(bp+136, zRowid)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22328, libc.VaList(bp+136, zRowid)) cRangeOp = uint8('<') } else { if flags&uint32(WHERE_BTM_LIMIT) != 0 { @@ -137155,10 +138158,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22193, libc.VaList(bp+136, int32(cRangeOp))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22338, libc.VaList(bp+136, int32(cRangeOp))) } else { if flags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22198, libc.VaList(bp+136, (*(*struct { + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22343, libc.VaList(bp+136, (*(*struct { FidxNum int32 F__ccgo4 uint8 FisOrdered Ti8 @@ -137177,7 +138180,7 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } if int32((*TSrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&int32(JT_LEFT) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22225, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22370, 0) } zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) @@ -137211,14 +138214,14 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Initial space for EQP output string */ _sqlite3StrAccumInit(tls, bp, db, bp+24, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22236, libc.VaList(bp+136, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22381, libc.VaList(bp+136, pItem)) pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_IPK) != 0 { pTab = (*TSrcItem)(unsafe.Pointer(pItem)).FpTab if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22024, libc.VaList(bp+136, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*12))).FzCnName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22169, libc.VaList(bp+136, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*12))).FzCnName)) } else { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22257, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22402, 0) } } else { i = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) @@ -137228,16 +138231,16 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp } z = _explainIndexColumnName(tls, (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex, i) if i > int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22013, int32(5)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22158, int32(5)) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22024, libc.VaList(bp+136, z)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22169, libc.VaList(bp+136, z)) goto _1 _1: ; i++ } } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5170, int32(1)) zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) return ret @@ -138103,6 +139106,35 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32 } } +// C documentation +// +// /* +// ** Loop pLoop is a WHERE_INDEXED level that uses at least one IN(...) +// ** operator. Return true if level pLoop is guaranteed to visit only one +// ** row for each key generated for the index. +// */ +func _whereLoopIsOneRow(tls *libc.TLS, pLoop uintptr) (r int32) { + var ii int32 + _ = ii + if (*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FonError != 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) == 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq) == int32((*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FnKeyCol) { + ii = 0 + for { + if !(ii < int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq)) { + break + } + if int32((*TWhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(ii)*4)))).FeOperator)&(libc.Int32FromInt32(WO_IS)|libc.Int32FromInt32(WO_ISNULL)) != 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) + } + return 0 +} + // C documentation // // /* @@ -138833,7 +139865,10 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI _ = libc.Int32FromInt32(0) } /* Record the instruction used to terminate the loop. */ - if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 { + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 || (*(*struct { + FnIn int32 + FaInLoop uintptr + })(unsafe.Pointer(pLevel + 64))).FnIn != 0 && regBignull == 0 && _whereLoopIsOneRow(tls, pLoop) != 0 { (*TWhereLevel)(unsafe.Pointer(pLevel)).Fop = uint8(OP_Noop) } else { if bRev != 0 { @@ -139010,7 +140045,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22265, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22410, 0) ii = 0 for { if !(ii < (*TWhereClause)(unsafe.Pointer(pOrWc)).FnTerm) { @@ -139033,7 +140068,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } /* Loop through table entries that match term pOrTerm. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22280, libc.VaList(bp+72, ii+int32(1))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22425, libc.VaList(bp+72, ii+int32(1))) pSubWInfo = _sqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) _ = libc.Int32FromInt32(0) if pSubWInfo != 0 { @@ -139204,6 +140239,12 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** iLoop==3: Code all remaining expressions. ** ** An effort is made to skip unnecessary iterations of the loop. + ** + ** This optimization of causing simple query restrictions to occur before + ** more complex one is call the "push-down" optimization in MySQL. Here + ** in SQLite, the name is "MySQL push-down", since there is also another + ** totally unrelated optimization called "WHERE-clause push-down". + ** Sometimes the qualifier is omitted, resulting in an ambiguity, so beware. */ if pIdx != 0 { v60 = int32(1) @@ -139510,9 +140551,9 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe defer tls.Free(96) var addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, nPk, r, v3 int32 var mAll TBitmask - var pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr + var pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr var _ /* sFrom at bp+0 */ TSrcList - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pRJ = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpRJ @@ -139521,13 +140562,18 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop pTabItem = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*72 mAll = uint64(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22289, libc.VaList(bp+88, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22434, libc.VaList(bp+88, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) k = 0 for { if !(k < iLevel) { break } + _ = libc.Int32FromInt32(0) + pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 760 + uintptr(k)*88))).FiFrom)*72 mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 760 + uintptr(k)*88))).FpWLoop)).FmaskSelf + if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x20>>5)) != 0 { + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pRight)).FpSelect)).FpEList)).FnExpr-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 760 + uintptr(k)*88))).FiTabCur) iIdxCur = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 760 + uintptr(k)*88))).FiIdxCur if iIdxCur != 0 { @@ -140062,19 +141108,19 @@ var _aOp = [4]struct { FeOp2 uint8 }{ 0: { - FzOp: __ccgo_ts + 16543, + FzOp: __ccgo_ts + 16630, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH), }, 1: { - FzOp: __ccgo_ts + 15874, + FzOp: __ccgo_ts + 15967, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB), }, 2: { - FzOp: __ccgo_ts + 15353, + FzOp: __ccgo_ts + 15446, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE), }, 3: { - FzOp: __ccgo_ts + 22303, + FzOp: __ccgo_ts + 22448, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP), }, } @@ -140733,7 +141779,7 @@ func _exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, aiCurCol uintptr, pExpr goto _4 } _ = libc.Int32FromInt32(0) - if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*20))).FpExpr, iCur) == 0 && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_STRING) { + if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*20))).FpExpr, iCur) == 0 && !(_sqlite3ExprIsConstant(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*20))).FpExpr) != 0) { *(*int32)(unsafe.Pointer(aiCurCol)) = iCur *(*int32)(unsafe.Pointer(aiCurCol + 1*4)) = -int32(2) return int32(1) @@ -140893,7 +141939,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { extraRight = x - uint64(1) /* ON clause terms may not be used with an index ** on left table of a LEFT JOIN. Ticket #3015 */ if prereqAll>>libc.Int32FromInt32(1) >= x { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22310, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22455, 0) return } } else { @@ -140905,7 +141951,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { ** if there is a RIGHT or FULL JOIN in the query. This makes SQLite ** more like other systems, and also preserves legacy. */ if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*(*TSrcItem)(unsafe.Pointer(pSrc + 8))).Ffg.Fjointype)&int32(JT_LTORJ) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22310, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22455, 0) return } *(*Tu32)(unsafe.Pointer(pExpr + 4)) &= uint32(^libc.Int32FromInt32(EP_InnerON)) @@ -140996,7 +142042,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { if op == int32(TK_ISNULL) && !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)) != libc.Uint32FromInt32(0)) && 0 == _sqlite3ExprCanBeNull(tls, pLeft) { _ = libc.Int32FromInt32(0) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_TRUEFALSE) /* See tag-20230504-1 */ - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 7891 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8016 *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_IsFalse)) (*TWhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator = uint16(0) @@ -141099,7 +142145,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { *(*Tu8)(unsafe.Pointer(pC)) = uint8(int32(c1) + int32(1)) } if *(*int32)(unsafe.Pointer(bp + 8)) != 0 { - v13 = __ccgo_ts + 22351 + v13 = __ccgo_ts + 22496 } else { v13 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) } @@ -141372,6 +142418,9 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*48))).FleftCursor != iCsr { return } + if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*48))).FprereqRight != uint64(0) { + return + } goto _1 _1: ; @@ -141402,10 +142451,12 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { } /* All conditions are met. Add the terms to the where-clause object. */ _ = libc.Int32FromInt32(0) - _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) - if (*TSelect)(unsafe.Pointer(p)).FiOffset > 0 { + if (*TSelect)(unsafe.Pointer(p)).FiOffset != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiOffset, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpRight, iCsr, int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } + if (*TSelect)(unsafe.Pointer(p)).FiOffset == 0 || (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { + _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) + } } } @@ -141637,7 +142688,7 @@ func _sqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22358, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22503, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) return } pColRef = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_COLUMN), uintptr(0), 0) @@ -142079,6 +143130,50 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { return uintptr(0) } +// C documentation +// +// /* +// ** Term pTerm is guaranteed to be a WO_IN term. It may be a component term +// ** of a vector IN expression of the form "(x, y, ...) IN (SELECT ...)". +// ** This function checks to see if the term is compatible with an index +// ** column with affinity idxaff (one of the SQLITE_AFF_XYZ values). If so, +// ** it returns a pointer to the name of the collation sequence (e.g. "BINARY" +// ** or "NOCASE") used by the comparison in pTerm. If it is not compatible +// ** with affinity idxaff, NULL is returned. +// */ +func _indexInAffinityOk(tls *libc.TLS, pParse uintptr, pTerm uintptr, idxaff Tu8) (r uintptr) { + bp := tls.Alloc(64) + defer tls.Free(64) + var iField int32 + var pRet, pX, v1 uintptr + var _ /* inexpr at bp+0 */ TExpr + _, _, _, _ = iField, pRet, pX, v1 + pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr + _ = libc.Int32FromInt32(0) + if _sqlite3ExprIsVector(tls, (*TExpr)(unsafe.Pointer(pX)).FpLeft) != 0 { + iField = (*(*struct { + FleftColumn int32 + FiField int32 + })(unsafe.Pointer(pTerm + 24))).FiField - int32(1) + (*(*TExpr)(unsafe.Pointer(bp))).Fflags = uint32(0) + (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_EQ) + (*(*TExpr)(unsafe.Pointer(bp))).FpLeft = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pX)).FpLeft + 20)) + 8 + uintptr(iField)*20))).FpExpr + _ = libc.Int32FromInt32(0) + (*(*TExpr)(unsafe.Pointer(bp))).FpRight = (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pX + 20)))).FpEList + 8 + uintptr(iField)*20))).FpExpr + pX = bp + } + if _sqlite3IndexAffinityOk(tls, pX, idxaff) != 0 { + pRet = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pRet != 0 { + v1 = (*TCollSeq)(unsafe.Pointer(pRet)).FzName + } else { + v1 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + return v1 + } + return uintptr(0) +} + // C documentation // // /* @@ -142089,10 +143184,10 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { var iColumn Ti16 var iCur, j, k int32 - var pColl, pParse, pTerm, pWC, pX, v2 uintptr - var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, v2, v3, v5 /* The term being tested */ - k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ + var pColl, pParse, pTerm, pWC, pX, zCollName, v2, v5 uintptr + var v3, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, zCollName, v2, v3, v5, v6 /* The term being tested */ + k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ _ = libc.Int32FromInt32(0) pWC = (*TWhereScan)(unsafe.Pointer(pScan)).FpWC for int32(1) != 0 { @@ -142140,22 +143235,32 @@ func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { if (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName != 0 && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_ISNULL) == 0 { pParse = (*TWhereInfo)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr - if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { - goto _1 - } - _ = libc.Int32FromInt32(0) - pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) - if pColl == uintptr(0) { - pColl = (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_IN) != 0 { + zCollName = _indexInAffinityOk(tls, pParse, pTerm, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) + if !(zCollName != 0) { + goto _1 + } + } else { + if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { + goto _1 + } + _ = libc.Int32FromInt32(0) + pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pColl != 0 { + v5 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName + } else { + v5 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + zCollName = v5 } - if _sqlite3StrICmp(tls, (*TCollSeq)(unsafe.Pointer(pColl)).FzName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { + if _sqlite3StrICmp(tls, zCollName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { goto _1 } } - if v5 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v5 { + if v6 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v6 { pX = (*TExpr)(unsafe.Pointer((*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpRight } - if v5 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 28)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 72))) { + if v6 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 28)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 72))) { goto _1 } (*TWhereScan)(unsafe.Pointer(pScan)).FpWC = pWC @@ -142649,7 +143754,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea /* Make the automatic index a partial index if there are terms in the ** WHERE clause (or the ON clause of a LEFT join) that constrain which ** rows of the target table (pSrc) that can be used. */ - if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)) != 0 { + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom), 0) != 0 { pPartial = _sqlite3ExprAnd(tls, pParse, pPartial, _sqlite3ExprDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr, 0)) } if _termCanDriveIndex(tls, pTerm, pSrc, notReady) != 0 { @@ -142665,7 +143770,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea } cMask = v2 if !(sentWarning != 0) { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_WARNING)|libc.Int32FromInt32(1)<>14)) != 0) { eDistinct = int32(2) + libc.BoolInt32(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_SORTBYGROUP) != 0) } else { if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_GROUPBY) != 0 { @@ -143161,7 +144266,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB */ pIdxInfo = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(uint32(72)+(libc.Uint32FromInt64(12)+libc.Uint32FromInt64(8))*uint32(nTerm)+uint32(8)*uint32(nOrderBy)+uint32(24)+uint32(4)*uint32(nTerm))) if pIdxInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1632, 0) return uintptr(0) } pHidden = pIdxInfo + 1*72 @@ -143253,7 +144358,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB break } pExpr1 = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*20))).FpExpr - if _sqlite3ExprIsConstant(tls, pExpr1) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr1) != 0 { goto _11 } _ = libc.Int32FromInt32(0) @@ -143332,9 +144437,9 @@ func _vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) (r i _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) } else { if !((*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } } @@ -144706,7 +145811,7 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 56))&0x4>>2)) != 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GE)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LE)-libc.Int32FromInt32(TK_EQ))) } - if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 56))&0x100>>8)) != 0 { + if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 56))&0x100>>8)) != 0 && int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 36 + 4))&0x2>>1)) == 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ) | libc.Int32FromInt32(WO_IN) | libc.Int32FromInt32(WO_IS)) } } @@ -144958,10 +146063,13 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } } } - /* Set rCostIdx to the cost of visiting selected rows in index. Add - ** it to pNew->rRun, which is currently set to the cost of the index - ** seek only. Then, if this is a non-covering index, add the cost of - ** visiting the rows in the main table. */ + /* Set rCostIdx to the estimated cost of visiting selected rows in the + ** index. The estimate is the sum of two values: + ** 1. The cost of doing one search-by-key to find the first matching + ** entry + ** 2. Stepping forward in the index pNew->nOut times to find all + ** additional matching entries. + */ _ = libc.Int32FromInt32(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 56))&0x3>>0)) == int32(SQLITE_IDXTYPE_IPK) { /* The pProbe->szIdxRow is low for an IPK table since the interior @@ -144972,7 +146080,14 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } else { rCostIdx = int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut) + int32(1) + int32(15)*int32((*TIndex)(unsafe.Pointer(pProbe)).FszIdxRow)/int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FszTabRow)) } - (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + rCostIdx = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + /* Estimate the cost of running the loop. If all data is coming + ** from the index, then this is just the cost of doing the index + ** lookup and scan. But if some data is coming out of the main table, + ** we also have to add in the cost of doing pNew->nOut searches to + ** locate the row in the main table that corresponds to the index entry. + */ + (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = rCostIdx if (*TWhereLoop)(unsafe.Pointer(pNew)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IDX_ONLY)|libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_EXPRIDX)) == uint32(0) { (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun, int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut)+int32(16))) } @@ -145078,7 +146193,7 @@ func _indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, if pExpr == uintptr(0) { goto _2 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { + if (int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) || int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_COLUMN)) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { return int32(1) } @@ -145415,7 +146530,7 @@ func _wherePartIdxExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, pPart uintpt if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) != int32(TK_COLUMN) { return } - if !(_sqlite3ExprIsConstant(tls, pRight) != 0) { + if !(_sqlite3ExprIsConstant(tls, uintptr(0), pRight) != 0) { return } if !(_sqlite3IsBinary(tls, _sqlite3ExprCompareCollSeq(tls, pParse, pPart)) != 0) { @@ -145750,7 +146865,7 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in ** unique index is used (making the index functionally non-unique) ** then the sqlite_stat1 data becomes important for scoring the ** plan */ - *(*Tu32)(unsafe.Pointer(pTab + 28)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 28)) |= uint32(TF_MaybeReanalyze) } _sqlite3Stat4ProbeFree(tls, (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec) (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid = 0 @@ -145779,6 +146894,31 @@ func _isLimitTerm(tls *libc.TLS, pTerm uintptr) (r int32) { return libc.BoolInt32(int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= int32(SQLITE_INDEX_CONSTRAINT_LIMIT) && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } +// C documentation +// +// /* +// ** Return true if the first nCons constraints in the pUsage array are +// ** marked as in-use (have argvIndex>0). False otherwise. +// */ +func _allConstraintsUsed(tls *libc.TLS, aUsage uintptr, nCons int32) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < nCons) { + break + } + if (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer(aUsage + uintptr(ii)*8))).FargvIndex <= 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + // C documentation // // /* @@ -145876,7 +147016,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if v3 >= 0 { j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).FiTermOffset if iTerm >= nConstraint || j < 0 || j >= (*TWhereClause)(unsafe.Pointer(pWC)).FnTerm || *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*4)) != uintptr(0) || int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22431, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22576, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } pTerm1 = (*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(j)*48 @@ -145923,13 +147063,19 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, _ = libc.Int32FromInt32(0) } } + /* Unless pbRetryLimit is non-NULL, there should be no LIMIT/OFFSET + ** terms. And if there are any, they should follow all other terms. */ + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - if _isLimitTerm(tls, pTerm1) != 0 && *(*int32)(unsafe.Pointer(pbIn)) != 0 { + if _isLimitTerm(tls, pTerm1) != 0 && (*(*int32)(unsafe.Pointer(pbIn)) != 0 || !(_allConstraintsUsed(tls, pUsage, i) != 0)) { /* If there is an IN(...) term handled as an == (separate call to ** xFilter for each value on the RHS of the IN) and a LIMIT or - ** OFFSET term handled as well, the plan is unusable. Set output - ** variable *pbRetryLimit to true to tell the caller to retry with - ** LIMIT and OFFSET disabled. */ + ** OFFSET term handled as well, the plan is unusable. Similarly, + ** if there is a LIMIT/OFFSET and there are other unused terms, + ** the plan cannot be used. In these cases set variable *pbRetryLimit + ** to true to tell the caller to retry with LIMIT and OFFSET + ** disabled. */ if (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr != 0 { Xsqlite3_free(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = uintptr(0) @@ -145954,7 +147100,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*4)) == uintptr(0) { /* The non-zero argvIdx values must be contiguous. Raise an ** error if they are not */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22431, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22576, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } goto _6 @@ -146107,7 +147253,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal pVal = uintptr(0) rc = SQLITE_OK if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { - rc = _sqlite3MisuseError(tls, int32(165251)) /* EV: R-30545-25046 */ + rc = _sqlite3MisuseError(tls, int32(166453)) /* EV: R-30545-25046 */ } else { if *(*uintptr)(unsafe.Pointer(pH + 20 + uintptr(iCons)*4)) == uintptr(0) { pTerm = (*TWhereClause)(unsafe.Pointer((*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC)).Fa + uintptr((*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)*48 @@ -146555,7 +147701,7 @@ func _whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) (r int32) { if rc != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { if rc == int32(SQLITE_DONE) { /* We hit the query planner search limit set by iPlanLimit */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22457, 0) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22602, 0) rc = SQLITE_OK } else { break @@ -146944,7 +148090,7 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } p = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*20))).FpExpr mTerm = _sqlite3WhereExprUsage(tls, pWInfo+496, p) - if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, p) != 0) { + if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, uintptr(0), p) != 0) { goto _9 } if mTerm & ^orderDistinctMask == uint64(0) { @@ -147365,7 +148511,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) iLoop++ } if nFrom == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22492, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22637, 0) _sqlite3DbFreeNN(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pSpace) return int32(SQLITE_ERROR) } @@ -147415,9 +148561,8 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) if int32((*TWherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*TExprList)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_ORDERED) } - if (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 && int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr { - (*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = int8((*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr) - } + /* vvv--- See check-in [12ad822d9b827777] on 2023-03-16 ---vvv */ + _ = libc.Int32FromInt32(0) } else { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*TWherePath)(unsafe.Pointer(pFrom)).FrevLoop if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 { @@ -147455,6 +148600,97 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) return SQLITE_OK } +// C documentation +// +// /* +// ** This routine implements a heuristic designed to improve query planning. +// ** This routine is called in between the first and second call to +// ** wherePathSolver(). Hence the name "Interstage" "Heuristic". +// ** +// ** The first call to wherePathSolver() (hereafter just "solver()") computes +// ** the best path without regard to the order of the outputs. The second call +// ** to the solver() builds upon the first call to try to find an alternative +// ** path that satisfies the ORDER BY clause. +// ** +// ** This routine looks at the results of the first solver() run, and for +// ** every FROM clause term in the resulting query plan that uses an equality +// ** constraint against an index, disable other WhereLoops for that same +// ** FROM clause term that would try to do a full-table scan. This prevents +// ** an index search from being converted into a full-table scan in order to +// ** satisfy an ORDER BY clause, since even though we might get slightly better +// ** performance using the full-scan without sorting if the output size +// ** estimates are very precise, we might also get severe performance +// ** degradation using the full-scan if the output size estimate is too large. +// ** It is better to err on the side of caution. +// ** +// ** Except, if the first solver() call generated a full-table scan in an outer +// ** loop then stop this analysis at the first full-scan, since the second +// ** solver() run might try to swap that full-scan for another in order to +// ** get the output into the correct order. In other words, we allow a +// ** rewrite like this: +// ** +// ** First Solver() Second Solver() +// ** |-- SCAN t1 |-- SCAN t2 +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** The purpose of this routine is to disallow rewrites such as: +// ** +// ** First Solver() Second Solver() +// ** |-- SEARCH t1 |-- SCAN t2 <--- bad! +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** See test cases in test/whereN.test for the real-world query that +// ** originally provoked this heuristic. +// */ +func _whereInterstageHeuristic(tls *libc.TLS, pWInfo uintptr) { + var i int32 + var iTab Tu8 + var p, pLoop uintptr + _, _, _, _ = i, iTab, p, pLoop + i = 0 + for { + if !(i < int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnLevel)) { + break + } + p = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 760 + uintptr(i)*88))).FpWLoop + if p == uintptr(0) { + break + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { + goto _1 + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_NULL)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != uint32(0) { + iTab = (*TWhereLoop)(unsafe.Pointer(p)).FiTab + pLoop = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpLoops + for { + if !(pLoop != 0) { + break + } + if int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab) != int32(iTab) { + goto _2 + } + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_CONSTRAINT)|libc.Int32FromInt32(WHERE_AUTO_INDEX)) != uint32(0) { + /* Auto-index and index-constrained loops allowed to remain */ + goto _2 + } + (*TWhereLoop)(unsafe.Pointer(pLoop)).Fprereq = uint64(-libc.Int32FromInt32(1)) /* Prevent 2nd solver() from using this one */ + goto _2 + _2: + ; + pLoop = (*TWhereLoop)(unsafe.Pointer(pLoop)).FpNextLoop + } + } else { + break + } + goto _1 + _1: + ; + i++ + } +} + // C documentation // // /* @@ -147773,7 +149009,7 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasStat1) == uint32(0) { break } - *(*Tu32)(unsafe.Pointer(pTab + 28)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 28)) |= uint32(TF_MaybeReanalyze) if i >= int32(1) && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&reqFlags == reqFlags && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_INDEXED)) != uint32(0) { if int32(nSearch) > int32((*TTable)(unsafe.Pointer(pTab)).FnRowLogEst) { *(*Tu32)(unsafe.Pointer(pLoop + 40)) |= uint32(WHERE_BLOOMFILTER) @@ -147788,6 +149024,69 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { } } +// C documentation +// +// /* +// ** Expression Node callback for sqlite3ExprCanReturnSubtype(). +// ** +// ** Only a function call is able to return a subtype. So if the node +// ** is not a function call, return WRC_Prune immediately. +// ** +// ** A function call is able to return a subtype if it has the +// ** SQLITE_RESULT_SUBTYPE property. +// ** +// ** Assume that every function is able to pass-through a subtype from +// ** one of its argument (using sqlite3_result_value()). Most functions +// ** are not this way, but we don't have a mechanism to distinguish those +// ** that are from those that are not, so assume they all work this way. +// ** That means that if one of its arguments is another function and that +// ** other function is able to return a subtype, then this function is +// ** able to return a subtype. +// */ +func _exprNodeCanReturnSubtype(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef uintptr + var n, v1 int32 + _, _, _, _ = db, n, pDef, v1 + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_FUNCTION) { + return int32(WRC_Prune) + } + _ = libc.Int32FromInt32(0) + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + if *(*uintptr)(unsafe.Pointer(pExpr + 20)) != 0 { + v1 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20)))).FnExpr + } else { + v1 = 0 + } + n = v1 + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + return int32(WRC_Prune) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Return TRUE if expression pExpr is able to return a subtype. +// ** +// ** A TRUE return does not guarantee that a subtype will be returned. +// ** It only indicates that a subtype return is possible. False positives +// ** are acceptable as they only disable an optimization. False negatives, +// ** on the other hand, can lead to incorrect answers. +// */ +func _sqlite3ExprCanReturnSubtype(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + bp := tls.Alloc(32) + defer tls.Free(32) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint32(28)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeCanReturnSubtype) + _sqlite3WalkExpr(tls, bp, pExpr) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) +} + // C documentation // // /* @@ -147802,9 +149101,9 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { // ** references to the corresponding column of the index. // */ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur int32, pTabItem uintptr) { - var db, p, pArg, pDef, pExpr, pTab uintptr - var i, j, n, v2 int32 - _, _, _, _, _, _, _, _, _, _ = db, i, j, n, p, pArg, pDef, pExpr, pTab, v2 + var i, j int32 + var p, pArg, pExpr, pTab uintptr + _, _, _, _, _, _ = i, j, p, pArg, pExpr, pTab _ = libc.Int32FromInt32(0) pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable i = 0 @@ -147822,22 +149121,14 @@ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur i goto _1 } } - if _sqlite3ExprIsConstant(tls, pExpr) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) != 0 { goto _1 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) { - db = (*TParse)(unsafe.Pointer(pParse)).Fdb - _ = libc.Int32FromInt32(0) - if *(*uintptr)(unsafe.Pointer(pExpr + 20)) != 0 { - v2 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20)))).FnExpr - } else { - v2 = 0 - } - n = v2 - pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) - if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { - goto _1 - } + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) && _sqlite3ExprCanReturnSubtype(tls, pParse, pExpr) != 0 { + /* Functions that might set a subtype should not be replaced by the + ** value taken from an expression index since the index omits the + ** subtype. https://sqlite.org/forum/forumpost/68d284c86b082c3e */ + goto _1 } p = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) if p == uintptr(0) { @@ -148011,7 +149302,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** bits in a Bitmask */ if (*TSrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(libc.Uint32FromInt64(8)*libc.Uint32FromInt32(8)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22510, libc.VaList(bp+40, int32(libc.Uint32FromInt64(8)*libc.Uint32FromInt32(8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22655, libc.VaList(bp+40, int32(libc.Uint32FromInt64(8)*libc.Uint32FromInt32(8)))) return uintptr(0) } /* This function normally generates a nested loop for all tables in @@ -148084,7 +149375,9 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere if int32(wctrlFlags)&int32(WHERE_WANT_DISTINCT) != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_DistinctOpt)) == uint32(0) { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_UNIQUE) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22538, 0) + if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FselFlags&uint32(SF_MultiValue) == uint32(0) { + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22683, 0) + } } else { /* Assign a bit from the bitmask to every term in the FROM clause. ** @@ -148218,6 +149511,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere goto whereBeginError } if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy != 0 { + _whereInterstageHeuristic(tls, pWInfo) _wherePathSolver(tls, pWInfo, int16(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut)+int32(1))) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto whereBeginError @@ -148540,10 +149834,10 @@ whereBeginError: // ** sqlite3WhereBegin() for additional information. // */ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { - var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, r1, ws, x, v4, v7 int32 - var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr + var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, r1, ws, x, v4, v7 int32 + var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pTabList = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList @@ -148686,7 +149980,14 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { addr = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfPos), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) _ = libc.Int32FromInt32(0) if ws&int32(WHERE_IDX_ONLY) == 0 { + pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*72 _ = libc.Int32FromInt32(0) + if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 36 + 4))&0x20>>5)) != 0 { + n1 = (*TSrcItem)(unsafe.Pointer(pSrc)).FregResult + _ = libc.Int32FromInt32(0) + m = int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FnCol) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, n1, n1+m-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) } if ws&int32(WHERE_INDEXED) != 0 || ws&int32(WHERE_MULTI_OR) != 0 && *(*uintptr)(unsafe.Pointer(&(*TWhereLevel)(unsafe.Pointer(pLevel)).Fu)) != 0 { @@ -148735,6 +150036,7 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { ** OP_Rowid becomes OP_Null. */ if int32(uint32(*(*uint16)(unsafe.Pointer(pTabItem + 36 + 4))&0x20>>5)) != 0 { + _ = libc.Int32FromInt32(0) _translateColumnToCopy(tls, pParse, (*TWhereLevel)(unsafe.Pointer(pLevel)).FaddrBody, (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur, (*TSrcItem)(unsafe.Pointer(pTabItem)).FregResult, 0) goto _9 } @@ -149112,7 +150414,7 @@ func _nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) goto error_out error_out: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22556, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22701, -int32(1)) } func _nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { @@ -149300,7 +150602,7 @@ func _ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { if (*TNtileCtx)(unsafe.Pointer(p)).FnTotal == 0 { (*TNtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg))) if (*TNtileCtx)(unsafe.Pointer(p)).FnParam <= 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22612, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22757, -int32(1)) } } (*TNtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -149628,7 +150930,7 @@ func _windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) (r p = (*TWindow)(unsafe.Pointer(p)).FpNextWin } if p == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22657, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22802, libc.VaList(bp+8, zName)) } return p } @@ -149679,12 +150981,12 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin _sqlite3WindowChain(tls, pParse, pWin, pList) } if int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) == int32(TK_RANGE) && ((*TWindow)(unsafe.Pointer(pWin)).FpStart != 0 || (*TWindow)(unsafe.Pointer(pWin)).FpEnd != 0) && ((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*TExprList)(unsafe.Pointer((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != int32(1)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22676, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22821, 0) } else { if (*TFuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TWindow)(unsafe.Pointer(pWin)).FpFilter != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22747, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22892, 0) } else { aUp = [8]struct { FzFunc uintptr @@ -149757,7 +151059,7 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*TWindow)(unsafe.Pointer(pWin)).FeEnd = uint8(aUp[i].FeEnd) (*TWindow)(unsafe.Pointer(pWin)).FeExclude = uint8(0) if int32((*TWindow)(unsafe.Pointer(pWin)).FeStart) == int32(TK_FOLLOWING) { - (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8130) + (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8255) } break } @@ -150045,7 +151347,7 @@ func _disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintpt defer tls.Free(16) if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_FUNCTION) && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { _ = libc.Int32FromInt32(0) - _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22810, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) + _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22955, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) } return WRC_Continue } @@ -150188,7 +151490,7 @@ func _sqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { ** keep everything legal in this case. */ if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1722)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1782)) } pSub = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(bp)), pSrc, pWhere, pGroupBy, pHaving, pSort, uint32(0), uintptr(0)) (*TSelect)(unsafe.Pointer(p)).FpSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), uintptr(0), uintptr(0)) @@ -150293,7 +151595,7 @@ func _sqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { // ** variable values in the expression tree. // */ func _sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r uintptr) { - if 0 == _sqlite3ExprIsConstant(tls, pExpr) { + if 0 == _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) { if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameExprUnmap(tls, pParse, pExpr) } @@ -150339,7 +151641,7 @@ func _sqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int3 ** frame boundary. */ if eStart == int32(TK_CURRENT) && eEnd == int32(TK_PRECEDING) || eStart == int32(TK_FOLLOWING) && (eEnd == int32(TK_PRECEDING) || eEnd == int32(TK_CURRENT)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22836, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22981, 0) goto windowAllocErr } pWin = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(100)) @@ -150407,18 +151709,18 @@ func _sqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint zErr = uintptr(0) /* Check for errors */ if (*TWindow)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = __ccgo_ts + 22868 + zErr = __ccgo_ts + 23013 } else { if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*TWindow)(unsafe.Pointer(pWin)).FpOrderBy != 0 { - zErr = __ccgo_ts + 22885 + zErr = __ccgo_ts + 23030 } else { if int32((*TWindow)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = __ccgo_ts + 22901 + zErr = __ccgo_ts + 23046 } } } if zErr != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22921, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23066, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) } else { (*TWindow)(unsafe.Pointer(pWin)).FpPartition = _sqlite3ExprListDup(tls, db, (*TWindow)(unsafe.Pointer(pExist)).FpPartition, 0) if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 { @@ -150446,7 +151748,7 @@ func _sqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(libc.Int32FromInt32(EP_WinFunc) | libc.Int32FromInt32(EP_FullSize)) (*TWindow)(unsafe.Pointer(pWin)).FpOwner = p if (*TExpr)(unsafe.Pointer(p)).Fflags&uint32(EP_Distinct) != 0 && int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) != int32(TK_FILTER) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22954, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23099, 0) } } else { _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -150648,7 +151950,7 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regZero) if eCond >= int32(WINDOW_STARTING_NUM) { regString = _sqlite3GetTempReg(tls, pParse) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1648, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1662, -int32(1)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, _sqlite3VdbeCurrentAddr(tls, v)+int32(2), reg) _sqlite3VdbeChangeP5(tls, v, uint16(libc.Int32FromInt32(SQLITE_AFF_NUMERIC)|libc.Int32FromInt32(SQLITE_JUMPIFNULL))) _ = libc.Int32FromInt32(0) @@ -150669,11 +151971,11 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { } var _azErr = [5]uintptr{ - 0: __ccgo_ts + 23001, - 1: __ccgo_ts + 23054, - 2: __ccgo_ts + 22556, - 3: __ccgo_ts + 23105, - 4: __ccgo_ts + 23157, + 0: __ccgo_ts + 23146, + 1: __ccgo_ts + 23199, + 2: __ccgo_ts + 22701, + 3: __ccgo_ts + 23250, + 4: __ccgo_ts + 23302, } var _aOp1 = [5]int32{ @@ -151445,7 +152747,7 @@ func _windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal ** the add/subtract is skipped for these, as required. If reg1 is a NULL, ** then the arithmetic is performed, but since adding or subtracting from ** NULL is always NULL anyway, this case is handled as required too. */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1648, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1662, -int32(1)) addrGe = _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, 0, reg1) if op == int32(OP_Ge) && arith == int32(OP_Add) || op == int32(OP_Le) && arith == int32(OP_Subtract) { _sqlite3VdbeAddOp3(tls, v, op, reg2, lbl, reg1) @@ -152486,11 +153788,11 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { cnt++ if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*TSelect)(unsafe.Pointer(pLoop)).FpLimit != 0 { if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - v1 = __ccgo_ts + 23207 + v1 = __ccgo_ts + 23352 } else { - v1 = __ccgo_ts + 23216 + v1 = __ccgo_ts + 23361 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23222, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23367, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) break } } @@ -152499,7 +153801,7 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { mxSelect = v2 } if v3 && v2 > 0 && cnt > mxSelect { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23264, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23409, 0) } } } @@ -152519,6 +153821,23 @@ func _attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith u return pSelect } +// C documentation +// +// /* Memory allocator for parser stack resizing. This is a thin wrapper around +// ** sqlite3_realloc() that includes a call to sqlite3FaultSim() to facilitate +// ** testing. +// */ +func _parserStackRealloc(tls *libc.TLS, pOld uintptr, newSize Tsqlite3_uint64) (r uintptr) { + var v1 uintptr + _ = v1 + if _sqlite3FaultSim(tls, int32(700)) != 0 { + v1 = uintptr(0) + } else { + v1 = Xsqlite3_realloc(tls, pOld, int32(newSize)) + } + return v1 +} + // C documentation // // /* Construct a new Expr object from a single token */ @@ -152588,7 +153907,7 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId _ = p p = _sqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if (hasCollate != 0 || sortOrder != -int32(1)) && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23298, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23443, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) } _sqlite3ExprListSetName(tls, pParse, p, pIdToken, int32(1)) return p @@ -152638,6 +153957,9 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser // ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser // ** sqlite3ParserCTX_* As sqlite3ParserARG_ except for %extra_context +// ** YYREALLOC Name of the realloc() function to use +// ** YYFREE Name of the free() function to use +// ** YYDYNSTACK True if stack space should be extended on heap // ** YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** YYNSTATE the combined number of states. @@ -152651,31 +153973,33 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** YY_NO_ACTION The yy_action[] code for no-op // ** YY_MIN_REDUCE Minimum value for reduce actions // ** YY_MAX_REDUCE Maximum value for reduce actions +// ** YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type TYYMINORTYPE = struct { Fyy0 [0]TToken - Fyy33 [0]uintptr - Fyy41 [0]uintptr - Fyy47 [0]uintptr - Fyy131 [0]uintptr - Fyy180 [0]TTrigEvent - Fyy231 [0]struct { + Fyy14 [0]uintptr + Fyy59 [0]uintptr + Fyy67 [0]uintptr + Fyy122 [0]uintptr + Fyy132 [0]uintptr + Fyy144 [0]int32 + Fyy168 [0]uintptr + Fyy203 [0]uintptr + Fyy211 [0]uintptr + Fyy269 [0]TOnOrUsing + Fyy286 [0]TTrigEvent + Fyy383 [0]struct { Fvalue int32 Fmask int32 } - Fyy254 [0]uintptr - Fyy285 [0]Tu32 - Fyy322 [0]uintptr - Fyy385 [0]uintptr - Fyy394 [0]int32 - Fyy444 [0]uintptr - Fyy516 [0]Tu8 - Fyy521 [0]uintptr - Fyy522 [0]uintptr - Fyy528 [0]uintptr - Fyy561 [0]TOnOrUsing - Fyy595 [0]TFrameBound + Fyy391 [0]Tu32 + Fyy427 [0]uintptr + Fyy454 [0]uintptr + Fyy462 [0]Tu8 + Fyy509 [0]TFrameBound + Fyy555 [0]uintptr Fyyinit int32 F__ccgo_pad20 [4]byte } @@ -152693,6 +154017,13 @@ type YYMINORTYPE = TYYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -152745,2152 +154076,2194 @@ type YYMINORTYPE = TYYMINORTYPE // ** yy_default[] Default action for each state. // ** // *********** Begin parsing tables **********************************************/ -var _yy_action = [2100]uint16{ - 0: uint16(572), - 1: uint16(210), - 2: uint16(572), - 3: uint16(119), - 4: uint16(116), - 5: uint16(231), - 6: uint16(572), - 7: uint16(119), - 8: uint16(116), - 9: uint16(231), - 10: uint16(572), - 11: uint16(1317), - 12: uint16(379), - 13: uint16(1296), - 14: uint16(410), - 15: uint16(566), - 16: uint16(566), - 17: uint16(566), - 18: uint16(572), - 19: uint16(411), - 20: uint16(380), - 21: uint16(1317), - 22: uint16(1279), - 23: uint16(42), - 24: uint16(42), - 25: uint16(42), - 26: uint16(42), - 27: uint16(210), - 28: uint16(1529), - 29: uint16(72), - 30: uint16(72), - 31: uint16(974), - 32: uint16(421), - 33: uint16(42), - 34: uint16(42), - 35: uint16(495), - 36: uint16(305), - 37: uint16(281), - 38: uint16(305), - 39: uint16(975), - 40: uint16(399), - 41: uint16(72), - 42: uint16(72), - 43: uint16(126), - 44: uint16(127), - 45: uint16(81), - 46: uint16(1217), - 47: uint16(1217), - 48: uint16(1054), - 49: uint16(1057), - 50: uint16(1044), - 51: uint16(1044), - 52: uint16(124), - 53: uint16(124), - 54: uint16(125), - 55: uint16(125), - 56: uint16(125), - 57: uint16(125), - 58: uint16(480), - 59: uint16(411), - 60: uint16(1244), - 61: uint16(1), - 62: uint16(1), - 63: uint16(578), - 64: uint16(2), - 65: uint16(1248), - 66: uint16(554), - 67: uint16(119), - 68: uint16(116), - 69: uint16(231), - 70: uint16(319), - 71: uint16(484), - 72: uint16(147), - 73: uint16(484), - 74: uint16(528), - 75: uint16(119), - 76: uint16(116), - 77: uint16(231), - 78: uint16(533), - 79: uint16(1330), - 80: uint16(419), - 81: uint16(527), - 82: uint16(143), - 83: uint16(126), - 84: uint16(127), - 85: uint16(81), - 86: uint16(1217), - 87: uint16(1217), - 88: uint16(1054), - 89: uint16(1057), - 90: uint16(1044), - 91: uint16(1044), - 92: uint16(124), - 93: uint16(124), - 94: uint16(125), - 95: uint16(125), - 96: uint16(125), - 97: uint16(125), - 98: uint16(119), - 99: uint16(116), - 100: uint16(231), - 101: uint16(329), - 102: uint16(123), - 103: uint16(123), - 104: uint16(123), - 105: uint16(123), - 106: uint16(122), - 107: uint16(122), - 108: uint16(121), - 109: uint16(121), - 110: uint16(121), - 111: uint16(120), - 112: uint16(117), - 113: uint16(448), - 114: uint16(286), - 115: uint16(286), - 116: uint16(286), - 117: uint16(286), - 118: uint16(446), - 119: uint16(446), - 120: uint16(446), - 121: uint16(1568), - 122: uint16(378), - 123: uint16(1570), - 124: uint16(1193), - 125: uint16(377), - 126: uint16(1164), - 127: uint16(569), - 128: uint16(1164), - 129: uint16(569), - 130: uint16(411), - 131: uint16(1568), - 132: uint16(541), - 133: uint16(261), - 134: uint16(228), - 135: uint16(448), - 136: uint16(102), - 137: uint16(146), - 138: uint16(453), - 139: uint16(318), - 140: uint16(563), - 141: uint16(242), - 142: uint16(123), - 143: uint16(123), - 144: uint16(123), - 145: uint16(123), - 146: uint16(122), - 147: uint16(122), - 148: uint16(121), - 149: uint16(121), - 150: uint16(121), - 151: uint16(120), - 152: uint16(117), - 153: uint16(448), - 154: uint16(126), - 155: uint16(127), - 156: uint16(81), - 157: uint16(1217), - 158: uint16(1217), - 159: uint16(1054), - 160: uint16(1057), - 161: uint16(1044), - 162: uint16(1044), - 163: uint16(124), - 164: uint16(124), - 165: uint16(125), - 166: uint16(125), - 167: uint16(125), - 168: uint16(125), - 169: uint16(143), - 170: uint16(296), - 171: uint16(1193), - 172: uint16(341), - 173: uint16(452), - 174: uint16(121), - 175: uint16(121), - 176: uint16(121), - 177: uint16(120), - 178: uint16(117), - 179: uint16(448), - 180: uint16(128), - 181: uint16(1193), - 182: uint16(1194), - 183: uint16(1193), - 184: uint16(149), - 185: uint16(445), - 186: uint16(444), - 187: uint16(572), - 188: uint16(120), - 189: uint16(117), - 190: uint16(448), - 191: uint16(125), - 192: uint16(125), - 193: uint16(125), - 194: uint16(125), - 195: uint16(118), - 196: uint16(123), - 197: uint16(123), - 198: uint16(123), - 199: uint16(123), - 200: uint16(122), - 201: uint16(122), - 202: uint16(121), - 203: uint16(121), - 204: uint16(121), - 205: uint16(120), - 206: uint16(117), - 207: uint16(448), - 208: uint16(458), - 209: uint16(114), - 210: uint16(13), - 211: uint16(13), - 212: uint16(550), - 213: uint16(123), - 214: uint16(123), - 215: uint16(123), - 216: uint16(123), - 217: uint16(122), - 218: uint16(122), - 219: uint16(121), - 220: uint16(121), - 221: uint16(121), - 222: uint16(120), - 223: uint16(117), - 224: uint16(448), - 225: uint16(424), - 226: uint16(318), - 227: uint16(563), - 228: uint16(1193), - 229: uint16(1194), - 230: uint16(1193), - 231: uint16(150), - 232: uint16(1225), - 233: uint16(411), - 234: uint16(1225), - 235: uint16(125), - 236: uint16(125), - 237: uint16(125), - 238: uint16(125), - 239: uint16(123), - 240: uint16(123), - 241: uint16(123), - 242: uint16(123), - 243: uint16(122), - 244: uint16(122), - 245: uint16(121), - 246: uint16(121), - 247: uint16(121), - 248: uint16(120), - 249: uint16(117), - 250: uint16(448), - 251: uint16(469), - 252: uint16(344), - 253: uint16(1041), - 254: uint16(1041), - 255: uint16(1055), - 256: uint16(1058), - 257: uint16(126), - 258: uint16(127), - 259: uint16(81), - 260: uint16(1217), - 261: uint16(1217), - 262: uint16(1054), - 263: uint16(1057), - 264: uint16(1044), - 265: uint16(1044), - 266: uint16(124), - 267: uint16(124), - 268: uint16(125), - 269: uint16(125), - 270: uint16(125), - 271: uint16(125), - 272: uint16(1282), - 273: uint16(526), - 274: uint16(224), - 275: uint16(1193), - 276: uint16(572), - 277: uint16(411), - 278: uint16(226), - 279: uint16(519), - 280: uint16(177), - 281: uint16(83), - 282: uint16(84), - 283: uint16(123), - 284: uint16(123), - 285: uint16(123), - 286: uint16(123), - 287: uint16(122), - 288: uint16(122), - 289: uint16(121), - 290: uint16(121), - 291: uint16(121), - 292: uint16(120), - 293: uint16(117), - 294: uint16(448), - 295: uint16(1010), - 296: uint16(16), - 297: uint16(16), - 298: uint16(1193), - 299: uint16(134), - 300: uint16(134), - 301: uint16(126), - 302: uint16(127), - 303: uint16(81), - 304: uint16(1217), - 305: uint16(1217), - 306: uint16(1054), - 307: uint16(1057), - 308: uint16(1044), - 309: uint16(1044), - 310: uint16(124), - 311: uint16(124), - 312: uint16(125), - 313: uint16(125), - 314: uint16(125), - 315: uint16(125), - 316: uint16(123), - 317: uint16(123), - 318: uint16(123), - 319: uint16(123), - 320: uint16(122), - 321: uint16(122), - 322: uint16(121), - 323: uint16(121), - 324: uint16(121), - 325: uint16(120), - 326: uint16(117), - 327: uint16(448), - 328: uint16(1045), - 329: uint16(550), - 330: uint16(1193), - 331: uint16(375), - 332: uint16(1193), - 333: uint16(1194), - 334: uint16(1193), - 335: uint16(254), - 336: uint16(1438), - 337: uint16(401), - 338: uint16(508), - 339: uint16(505), - 340: uint16(504), - 341: uint16(112), - 342: uint16(564), - 343: uint16(570), +var _yy_action = [2142]uint16{ + 0: uint16(576), + 1: uint16(128), + 2: uint16(125), + 3: uint16(232), + 4: uint16(1622), + 5: uint16(549), + 6: uint16(576), + 7: uint16(1290), + 8: uint16(1281), + 9: uint16(576), + 10: uint16(328), + 11: uint16(576), + 12: uint16(1300), + 13: uint16(212), + 14: uint16(576), + 15: uint16(128), + 16: uint16(125), + 17: uint16(232), + 18: uint16(578), + 19: uint16(412), + 20: uint16(578), + 21: uint16(391), + 22: uint16(1542), + 23: uint16(51), + 24: uint16(51), + 25: uint16(523), + 26: uint16(405), + 27: uint16(1293), + 28: uint16(529), + 29: uint16(51), + 30: uint16(51), + 31: uint16(983), + 32: uint16(51), + 33: uint16(51), + 34: uint16(81), + 35: uint16(81), + 36: uint16(1107), + 37: uint16(61), + 38: uint16(61), + 39: uint16(984), + 40: uint16(1107), + 41: uint16(1292), + 42: uint16(380), + 43: uint16(135), + 44: uint16(136), + 45: uint16(90), + 46: uint16(1228), + 47: uint16(1228), + 48: uint16(1063), + 49: uint16(1066), + 50: uint16(1053), + 51: uint16(1053), + 52: uint16(133), + 53: uint16(133), + 54: uint16(134), + 55: uint16(134), + 56: uint16(134), + 57: uint16(134), + 58: uint16(1577), + 59: uint16(412), + 60: uint16(287), + 61: uint16(287), + 62: uint16(7), + 63: uint16(287), + 64: uint16(287), + 65: uint16(422), + 66: uint16(1050), + 67: uint16(1050), + 68: uint16(1064), + 69: uint16(1067), + 70: uint16(289), + 71: uint16(556), + 72: uint16(492), + 73: uint16(573), + 74: uint16(524), + 75: uint16(561), + 76: uint16(573), + 77: uint16(497), + 78: uint16(561), + 79: uint16(482), + 80: uint16(530), + 81: uint16(262), + 82: uint16(229), + 83: uint16(135), + 84: uint16(136), + 85: uint16(90), + 86: uint16(1228), + 87: uint16(1228), + 88: uint16(1063), + 89: uint16(1066), + 90: uint16(1053), + 91: uint16(1053), + 92: uint16(133), + 93: uint16(133), + 94: uint16(134), + 95: uint16(134), + 96: uint16(134), + 97: uint16(134), + 98: uint16(128), + 99: uint16(125), + 100: uint16(232), + 101: uint16(1506), + 102: uint16(132), + 103: uint16(132), + 104: uint16(132), + 105: uint16(132), + 106: uint16(131), + 107: uint16(131), + 108: uint16(130), + 109: uint16(130), + 110: uint16(130), + 111: uint16(129), + 112: uint16(126), + 113: uint16(450), + 114: uint16(1204), + 115: uint16(1255), + 116: uint16(1), + 117: uint16(1), + 118: uint16(582), + 119: uint16(2), + 120: uint16(1259), + 121: uint16(1571), + 122: uint16(420), + 123: uint16(1582), + 124: uint16(379), + 125: uint16(320), + 126: uint16(1174), + 127: uint16(153), + 128: uint16(1174), + 129: uint16(1584), + 130: uint16(412), + 131: uint16(378), + 132: uint16(1582), + 133: uint16(543), + 134: uint16(1341), + 135: uint16(330), + 136: uint16(111), + 137: uint16(570), + 138: uint16(570), + 139: uint16(570), + 140: uint16(293), + 141: uint16(1054), + 142: uint16(132), + 143: uint16(132), + 144: uint16(132), + 145: uint16(132), + 146: uint16(131), + 147: uint16(131), + 148: uint16(130), + 149: uint16(130), + 150: uint16(130), + 151: uint16(129), + 152: uint16(126), + 153: uint16(450), + 154: uint16(135), + 155: uint16(136), + 156: uint16(90), + 157: uint16(1228), + 158: uint16(1228), + 159: uint16(1063), + 160: uint16(1066), + 161: uint16(1053), + 162: uint16(1053), + 163: uint16(133), + 164: uint16(133), + 165: uint16(134), + 166: uint16(134), + 167: uint16(134), + 168: uint16(134), + 169: uint16(287), + 170: uint16(287), + 171: uint16(1204), + 172: uint16(1205), + 173: uint16(1204), + 174: uint16(255), + 175: uint16(287), + 176: uint16(287), + 177: uint16(510), + 178: uint16(507), + 179: uint16(506), + 180: uint16(137), + 181: uint16(455), + 182: uint16(573), + 183: uint16(212), + 184: uint16(561), + 185: uint16(447), + 186: uint16(446), + 187: uint16(505), + 188: uint16(573), + 189: uint16(1616), + 190: uint16(561), + 191: uint16(134), + 192: uint16(134), + 193: uint16(134), + 194: uint16(134), + 195: uint16(127), + 196: uint16(400), + 197: uint16(243), + 198: uint16(132), + 199: uint16(132), + 200: uint16(132), + 201: uint16(132), + 202: uint16(131), + 203: uint16(131), + 204: uint16(130), + 205: uint16(130), + 206: uint16(130), + 207: uint16(129), + 208: uint16(126), + 209: uint16(450), + 210: uint16(282), + 211: uint16(471), + 212: uint16(345), + 213: uint16(132), + 214: uint16(132), + 215: uint16(132), + 216: uint16(132), + 217: uint16(131), + 218: uint16(131), + 219: uint16(130), + 220: uint16(130), + 221: uint16(130), + 222: uint16(129), + 223: uint16(126), + 224: uint16(450), + 225: uint16(574), + 226: uint16(155), + 227: uint16(936), + 228: uint16(936), + 229: uint16(454), + 230: uint16(227), + 231: uint16(521), + 232: uint16(1236), + 233: uint16(412), + 234: uint16(1236), + 235: uint16(134), + 236: uint16(134), + 237: uint16(134), + 238: uint16(134), + 239: uint16(132), + 240: uint16(132), + 241: uint16(132), + 242: uint16(132), + 243: uint16(131), + 244: uint16(131), + 245: uint16(130), + 246: uint16(130), + 247: uint16(130), + 248: uint16(129), + 249: uint16(126), + 250: uint16(450), + 251: uint16(130), + 252: uint16(130), + 253: uint16(130), + 254: uint16(129), + 255: uint16(126), + 256: uint16(450), + 257: uint16(135), + 258: uint16(136), + 259: uint16(90), + 260: uint16(1228), + 261: uint16(1228), + 262: uint16(1063), + 263: uint16(1066), + 264: uint16(1053), + 265: uint16(1053), + 266: uint16(133), + 267: uint16(133), + 268: uint16(134), + 269: uint16(134), + 270: uint16(134), + 271: uint16(134), + 272: uint16(128), + 273: uint16(125), + 274: uint16(232), + 275: uint16(450), + 276: uint16(576), + 277: uint16(412), + 278: uint16(397), + 279: uint16(1249), + 280: uint16(180), + 281: uint16(92), + 282: uint16(93), + 283: uint16(132), + 284: uint16(132), + 285: uint16(132), + 286: uint16(132), + 287: uint16(131), + 288: uint16(131), + 289: uint16(130), + 290: uint16(130), + 291: uint16(130), + 292: uint16(129), + 293: uint16(126), + 294: uint16(450), + 295: uint16(381), + 296: uint16(387), + 297: uint16(1204), + 298: uint16(383), + 299: uint16(81), + 300: uint16(81), + 301: uint16(135), + 302: uint16(136), + 303: uint16(90), + 304: uint16(1228), + 305: uint16(1228), + 306: uint16(1063), + 307: uint16(1066), + 308: uint16(1053), + 309: uint16(1053), + 310: uint16(133), + 311: uint16(133), + 312: uint16(134), + 313: uint16(134), + 314: uint16(134), + 315: uint16(134), + 316: uint16(132), + 317: uint16(132), + 318: uint16(132), + 319: uint16(132), + 320: uint16(131), + 321: uint16(131), + 322: uint16(130), + 323: uint16(130), + 324: uint16(130), + 325: uint16(129), + 326: uint16(126), + 327: uint16(450), + 328: uint16(131), + 329: uint16(131), + 330: uint16(130), + 331: uint16(130), + 332: uint16(130), + 333: uint16(129), + 334: uint16(126), + 335: uint16(450), + 336: uint16(556), + 337: uint16(1204), + 338: uint16(302), + 339: uint16(319), + 340: uint16(567), + 341: uint16(121), + 342: uint16(568), + 343: uint16(480), 344: uint16(4), - 345: uint16(929), - 346: uint16(929), - 347: uint16(435), - 348: uint16(503), - 349: uint16(342), - 350: uint16(464), - 351: uint16(330), - 352: uint16(362), - 353: uint16(396), - 354: uint16(1238), - 355: uint16(1193), - 356: uint16(1194), - 357: uint16(1193), - 358: uint16(567), - 359: uint16(572), - 360: uint16(123), - 361: uint16(123), - 362: uint16(123), - 363: uint16(123), - 364: uint16(122), - 365: uint16(122), - 366: uint16(121), - 367: uint16(121), - 368: uint16(121), - 369: uint16(120), - 370: uint16(117), - 371: uint16(448), - 372: uint16(286), - 373: uint16(286), - 374: uint16(371), - 375: uint16(1581), - 376: uint16(1607), - 377: uint16(445), - 378: uint16(444), - 379: uint16(155), - 380: uint16(411), - 381: uint16(449), - 382: uint16(72), - 383: uint16(72), - 384: uint16(1289), - 385: uint16(569), - 386: uint16(1222), - 387: uint16(1193), - 388: uint16(1194), - 389: uint16(1193), - 390: uint16(86), - 391: uint16(1224), - 392: uint16(273), - 393: uint16(561), - 394: uint16(547), - 395: uint16(520), - 396: uint16(520), - 397: uint16(572), - 398: uint16(99), - 399: uint16(1223), - 400: uint16(6), - 401: uint16(1281), - 402: uint16(476), - 403: uint16(143), - 404: uint16(126), - 405: uint16(127), - 406: uint16(81), - 407: uint16(1217), - 408: uint16(1217), - 409: uint16(1054), - 410: uint16(1057), - 411: uint16(1044), - 412: uint16(1044), - 413: uint16(124), - 414: uint16(124), - 415: uint16(125), - 416: uint16(125), - 417: uint16(125), - 418: uint16(125), - 419: uint16(554), - 420: uint16(13), - 421: uint16(13), - 422: uint16(1031), - 423: uint16(511), - 424: uint16(1225), - 425: uint16(1193), - 426: uint16(1225), - 427: uint16(553), - 428: uint16(110), - 429: uint16(110), - 430: uint16(224), - 431: uint16(572), - 432: uint16(1239), - 433: uint16(177), - 434: uint16(572), - 435: uint16(429), - 436: uint16(111), - 437: uint16(199), - 438: uint16(449), - 439: uint16(573), - 440: uint16(449), - 441: uint16(432), - 442: uint16(1555), - 443: uint16(1019), - 444: uint16(327), - 445: uint16(555), - 446: uint16(1193), - 447: uint16(272), - 448: uint16(289), - 449: uint16(370), - 450: uint16(514), - 451: uint16(365), - 452: uint16(513), - 453: uint16(259), - 454: uint16(72), - 455: uint16(72), - 456: uint16(547), - 457: uint16(72), - 458: uint16(72), - 459: uint16(361), - 460: uint16(318), - 461: uint16(563), - 462: uint16(1613), - 463: uint16(123), - 464: uint16(123), - 465: uint16(123), - 466: uint16(123), - 467: uint16(122), - 468: uint16(122), - 469: uint16(121), - 470: uint16(121), - 471: uint16(121), - 472: uint16(120), - 473: uint16(117), - 474: uint16(448), - 475: uint16(1019), - 476: uint16(1019), - 477: uint16(1021), - 478: uint16(1022), - 479: uint16(28), - 480: uint16(286), - 481: uint16(286), - 482: uint16(1193), - 483: uint16(1194), - 484: uint16(1193), - 485: uint16(1159), - 486: uint16(572), - 487: uint16(1612), - 488: uint16(411), - 489: uint16(904), - 490: uint16(192), - 491: uint16(554), - 492: uint16(358), - 493: uint16(569), - 494: uint16(554), - 495: uint16(940), - 496: uint16(537), - 497: uint16(521), - 498: uint16(1159), - 499: uint16(437), - 500: uint16(415), - 501: uint16(1159), - 502: uint16(556), - 503: uint16(1193), - 504: uint16(1194), - 505: uint16(1193), - 506: uint16(572), - 507: uint16(548), - 508: uint16(548), - 509: uint16(52), - 510: uint16(52), - 511: uint16(216), - 512: uint16(126), - 513: uint16(127), - 514: uint16(81), - 515: uint16(1217), - 516: uint16(1217), - 517: uint16(1054), - 518: uint16(1057), - 519: uint16(1044), - 520: uint16(1044), - 521: uint16(124), - 522: uint16(124), - 523: uint16(125), - 524: uint16(125), - 525: uint16(125), - 526: uint16(125), - 527: uint16(1193), - 528: uint16(478), - 529: uint16(136), - 530: uint16(136), - 531: uint16(411), - 532: uint16(286), - 533: uint16(286), - 534: uint16(1493), - 535: uint16(509), - 536: uint16(122), - 537: uint16(122), - 538: uint16(121), - 539: uint16(121), - 540: uint16(121), - 541: uint16(120), - 542: uint16(117), - 543: uint16(448), - 544: uint16(1010), - 545: uint16(569), - 546: uint16(522), - 547: uint16(219), - 548: uint16(545), - 549: uint16(545), - 550: uint16(318), - 551: uint16(563), - 552: uint16(143), - 553: uint16(6), - 554: uint16(536), - 555: uint16(126), - 556: uint16(127), - 557: uint16(81), - 558: uint16(1217), - 559: uint16(1217), - 560: uint16(1054), - 561: uint16(1057), - 562: uint16(1044), - 563: uint16(1044), - 564: uint16(124), - 565: uint16(124), - 566: uint16(125), - 567: uint16(125), - 568: uint16(125), - 569: uint16(125), - 570: uint16(1557), - 571: uint16(123), - 572: uint16(123), - 573: uint16(123), - 574: uint16(123), - 575: uint16(122), - 576: uint16(122), - 577: uint16(121), - 578: uint16(121), - 579: uint16(121), - 580: uint16(120), - 581: uint16(117), - 582: uint16(448), - 583: uint16(489), - 584: uint16(1193), - 585: uint16(1194), - 586: uint16(1193), - 587: uint16(486), - 588: uint16(283), - 589: uint16(1270), - 590: uint16(960), - 591: uint16(254), - 592: uint16(1193), - 593: uint16(375), - 594: uint16(508), - 595: uint16(505), - 596: uint16(504), - 597: uint16(1193), - 598: uint16(342), - 599: uint16(574), - 600: uint16(1193), - 601: uint16(574), - 602: uint16(411), - 603: uint16(294), - 604: uint16(503), - 605: uint16(960), - 606: uint16(879), - 607: uint16(193), - 608: uint16(484), - 609: uint16(318), - 610: uint16(563), - 611: uint16(386), - 612: uint16(292), - 613: uint16(382), - 614: uint16(123), - 615: uint16(123), - 616: uint16(123), - 617: uint16(123), - 618: uint16(122), - 619: uint16(122), - 620: uint16(121), - 621: uint16(121), - 622: uint16(121), - 623: uint16(120), - 624: uint16(117), - 625: uint16(448), - 626: uint16(126), - 627: uint16(127), - 628: uint16(81), - 629: uint16(1217), - 630: uint16(1217), - 631: uint16(1054), - 632: uint16(1057), - 633: uint16(1044), - 634: uint16(1044), - 635: uint16(124), - 636: uint16(124), - 637: uint16(125), - 638: uint16(125), - 639: uint16(125), - 640: uint16(125), - 641: uint16(411), - 642: uint16(396), - 643: uint16(1139), - 644: uint16(1193), - 645: uint16(872), - 646: uint16(101), - 647: uint16(286), - 648: uint16(286), - 649: uint16(1193), - 650: uint16(1194), - 651: uint16(1193), - 652: uint16(375), - 653: uint16(1096), - 654: uint16(1193), - 655: uint16(1194), - 656: uint16(1193), - 657: uint16(1193), - 658: uint16(1194), - 659: uint16(1193), - 660: uint16(569), - 661: uint16(459), - 662: uint16(33), - 663: uint16(375), - 664: uint16(235), - 665: uint16(126), - 666: uint16(127), - 667: uint16(81), - 668: uint16(1217), - 669: uint16(1217), - 670: uint16(1054), - 671: uint16(1057), - 672: uint16(1044), - 673: uint16(1044), - 674: uint16(124), - 675: uint16(124), - 676: uint16(125), - 677: uint16(125), - 678: uint16(125), - 679: uint16(125), - 680: uint16(1437), - 681: uint16(962), - 682: uint16(572), - 683: uint16(230), - 684: uint16(961), - 685: uint16(123), - 686: uint16(123), - 687: uint16(123), - 688: uint16(123), - 689: uint16(122), - 690: uint16(122), - 691: uint16(121), - 692: uint16(121), - 693: uint16(121), - 694: uint16(120), - 695: uint16(117), - 696: uint16(448), - 697: uint16(1159), - 698: uint16(230), - 699: uint16(1193), - 700: uint16(158), - 701: uint16(1193), - 702: uint16(1194), - 703: uint16(1193), - 704: uint16(1556), - 705: uint16(13), - 706: uint16(13), - 707: uint16(303), - 708: uint16(960), - 709: uint16(1233), - 710: uint16(1159), - 711: uint16(154), - 712: uint16(411), - 713: uint16(1159), - 714: uint16(375), - 715: uint16(1584), - 716: uint16(1177), - 717: uint16(5), - 718: uint16(371), - 719: uint16(1581), - 720: uint16(431), - 721: uint16(1239), - 722: uint16(3), - 723: uint16(960), - 724: uint16(123), - 725: uint16(123), - 726: uint16(123), - 727: uint16(123), - 728: uint16(122), - 729: uint16(122), - 730: uint16(121), - 731: uint16(121), - 732: uint16(121), - 733: uint16(120), - 734: uint16(117), - 735: uint16(448), - 736: uint16(126), - 737: uint16(127), - 738: uint16(81), - 739: uint16(1217), - 740: uint16(1217), - 741: uint16(1054), - 742: uint16(1057), - 743: uint16(1044), - 744: uint16(1044), - 745: uint16(124), - 746: uint16(124), - 747: uint16(125), - 748: uint16(125), - 749: uint16(125), - 750: uint16(125), - 751: uint16(411), - 752: uint16(210), - 753: uint16(571), - 754: uint16(1193), - 755: uint16(1032), - 756: uint16(1193), - 757: uint16(1194), - 758: uint16(1193), - 759: uint16(1193), - 760: uint16(390), - 761: uint16(855), - 762: uint16(156), - 763: uint16(1555), - 764: uint16(376), - 765: uint16(404), - 766: uint16(1101), - 767: uint16(1101), - 768: uint16(492), - 769: uint16(572), - 770: uint16(469), - 771: uint16(344), - 772: uint16(1322), - 773: uint16(1322), - 774: uint16(1555), - 775: uint16(126), - 776: uint16(127), - 777: uint16(81), - 778: uint16(1217), - 779: uint16(1217), - 780: uint16(1054), - 781: uint16(1057), - 782: uint16(1044), - 783: uint16(1044), - 784: uint16(124), - 785: uint16(124), - 786: uint16(125), - 787: uint16(125), - 788: uint16(125), - 789: uint16(125), - 790: uint16(130), - 791: uint16(572), - 792: uint16(13), - 793: uint16(13), - 794: uint16(532), - 795: uint16(123), - 796: uint16(123), - 797: uint16(123), - 798: uint16(123), - 799: uint16(122), - 800: uint16(122), - 801: uint16(121), - 802: uint16(121), - 803: uint16(121), - 804: uint16(120), - 805: uint16(117), - 806: uint16(448), - 807: uint16(304), - 808: uint16(572), - 809: uint16(457), - 810: uint16(229), - 811: uint16(1193), - 812: uint16(1194), - 813: uint16(1193), - 814: uint16(13), - 815: uint16(13), - 816: uint16(1193), - 817: uint16(1194), - 818: uint16(1193), - 819: uint16(1300), - 820: uint16(467), - 821: uint16(1270), - 822: uint16(411), - 823: uint16(1320), - 824: uint16(1320), - 825: uint16(1555), - 826: uint16(1015), - 827: uint16(457), - 828: uint16(456), - 829: uint16(436), - 830: uint16(301), - 831: uint16(72), - 832: uint16(72), - 833: uint16(1268), - 834: uint16(123), - 835: uint16(123), - 836: uint16(123), - 837: uint16(123), - 838: uint16(122), - 839: uint16(122), - 840: uint16(121), - 841: uint16(121), - 842: uint16(121), - 843: uint16(120), - 844: uint16(117), - 845: uint16(448), - 846: uint16(126), - 847: uint16(127), - 848: uint16(81), - 849: uint16(1217), - 850: uint16(1217), - 851: uint16(1054), - 852: uint16(1057), - 853: uint16(1044), - 854: uint16(1044), - 855: uint16(124), - 856: uint16(124), - 857: uint16(125), - 858: uint16(125), - 859: uint16(125), - 860: uint16(125), - 861: uint16(411), - 862: uint16(384), - 863: uint16(1076), - 864: uint16(1159), - 865: uint16(286), - 866: uint16(286), - 867: uint16(421), - 868: uint16(314), - 869: uint16(280), - 870: uint16(280), - 871: uint16(287), - 872: uint16(287), - 873: uint16(461), - 874: uint16(408), - 875: uint16(407), - 876: uint16(1539), - 877: uint16(1159), - 878: uint16(569), - 879: uint16(572), - 880: uint16(1159), - 881: uint16(1196), - 882: uint16(569), - 883: uint16(409), - 884: uint16(569), - 885: uint16(126), - 886: uint16(127), - 887: uint16(81), - 888: uint16(1217), - 889: uint16(1217), - 890: uint16(1054), - 891: uint16(1057), - 892: uint16(1044), - 893: uint16(1044), - 894: uint16(124), - 895: uint16(124), - 896: uint16(125), - 897: uint16(125), - 898: uint16(125), - 899: uint16(125), - 900: uint16(457), - 901: uint16(1485), - 902: uint16(13), - 903: uint16(13), - 904: uint16(1541), - 905: uint16(123), - 906: uint16(123), - 907: uint16(123), - 908: uint16(123), - 909: uint16(122), - 910: uint16(122), - 911: uint16(121), - 912: uint16(121), - 913: uint16(121), - 914: uint16(120), - 915: uint16(117), - 916: uint16(448), - 917: uint16(202), - 918: uint16(572), - 919: uint16(462), - 920: uint16(1587), - 921: uint16(578), - 922: uint16(2), - 923: uint16(1248), - 924: uint16(843), - 925: uint16(844), - 926: uint16(845), - 927: uint16(1563), - 928: uint16(319), - 929: uint16(409), - 930: uint16(147), - 931: uint16(6), - 932: uint16(411), - 933: uint16(257), - 934: uint16(256), - 935: uint16(255), - 936: uint16(208), - 937: uint16(1330), - 938: uint16(9), - 939: uint16(1196), - 940: uint16(264), - 941: uint16(72), - 942: uint16(72), - 943: uint16(1436), - 944: uint16(123), - 945: uint16(123), - 946: uint16(123), - 947: uint16(123), - 948: uint16(122), - 949: uint16(122), - 950: uint16(121), - 951: uint16(121), - 952: uint16(121), - 953: uint16(120), - 954: uint16(117), - 955: uint16(448), - 956: uint16(126), - 957: uint16(127), - 958: uint16(81), - 959: uint16(1217), - 960: uint16(1217), - 961: uint16(1054), - 962: uint16(1057), - 963: uint16(1044), - 964: uint16(1044), - 965: uint16(124), - 966: uint16(124), - 967: uint16(125), - 968: uint16(125), - 969: uint16(125), - 970: uint16(125), - 971: uint16(572), - 972: uint16(286), - 973: uint16(286), - 974: uint16(572), - 975: uint16(1213), - 976: uint16(411), - 977: uint16(577), - 978: uint16(315), - 979: uint16(1248), - 980: uint16(421), - 981: uint16(371), - 982: uint16(1581), - 983: uint16(356), - 984: uint16(319), - 985: uint16(569), - 986: uint16(147), - 987: uint16(495), - 988: uint16(529), - 989: uint16(1644), - 990: uint16(397), - 991: uint16(935), - 992: uint16(495), - 993: uint16(1330), - 994: uint16(71), - 995: uint16(71), - 996: uint16(934), - 997: uint16(72), - 998: uint16(72), - 999: uint16(242), - 1000: uint16(1328), - 1001: uint16(105), - 1002: uint16(81), - 1003: uint16(1217), - 1004: uint16(1217), - 1005: uint16(1054), - 1006: uint16(1057), - 1007: uint16(1044), - 1008: uint16(1044), - 1009: uint16(124), - 1010: uint16(124), - 1011: uint16(125), - 1012: uint16(125), - 1013: uint16(125), - 1014: uint16(125), - 1015: uint16(123), - 1016: uint16(123), - 1017: uint16(123), - 1018: uint16(123), - 1019: uint16(122), - 1020: uint16(122), - 1021: uint16(121), - 1022: uint16(121), - 1023: uint16(121), - 1024: uint16(120), - 1025: uint16(117), - 1026: uint16(448), - 1027: uint16(1117), - 1028: uint16(286), - 1029: uint16(286), - 1030: uint16(1422), - 1031: uint16(452), - 1032: uint16(1528), - 1033: uint16(1213), - 1034: uint16(443), - 1035: uint16(286), - 1036: uint16(286), - 1037: uint16(1492), - 1038: uint16(1355), - 1039: uint16(313), - 1040: uint16(478), - 1041: uint16(569), - 1042: uint16(1118), - 1043: uint16(454), - 1044: uint16(351), - 1045: uint16(495), - 1046: uint16(354), - 1047: uint16(1266), - 1048: uint16(569), - 1049: uint16(209), - 1050: uint16(572), - 1051: uint16(418), - 1052: uint16(179), - 1053: uint16(572), - 1054: uint16(1031), - 1055: uint16(242), - 1056: uint16(385), - 1057: uint16(1119), - 1058: uint16(523), - 1059: uint16(123), - 1060: uint16(123), - 1061: uint16(123), - 1062: uint16(123), - 1063: uint16(122), - 1064: uint16(122), - 1065: uint16(121), - 1066: uint16(121), - 1067: uint16(121), - 1068: uint16(120), - 1069: uint16(117), - 1070: uint16(448), - 1071: uint16(1020), - 1072: uint16(108), - 1073: uint16(72), - 1074: uint16(72), - 1075: uint16(1019), - 1076: uint16(13), - 1077: uint16(13), - 1078: uint16(915), - 1079: uint16(572), - 1080: uint16(1498), - 1081: uint16(572), - 1082: uint16(286), - 1083: uint16(286), - 1084: uint16(98), - 1085: uint16(530), - 1086: uint16(1537), - 1087: uint16(452), - 1088: uint16(916), - 1089: uint16(1334), - 1090: uint16(1329), - 1091: uint16(203), - 1092: uint16(411), - 1093: uint16(286), - 1094: uint16(286), - 1095: uint16(569), - 1096: uint16(152), - 1097: uint16(211), - 1098: uint16(1498), - 1099: uint16(1500), - 1100: uint16(426), - 1101: uint16(569), - 1102: uint16(56), - 1103: uint16(56), - 1104: uint16(57), - 1105: uint16(57), - 1106: uint16(569), - 1107: uint16(1019), - 1108: uint16(1019), - 1109: uint16(1021), - 1110: uint16(447), - 1111: uint16(572), - 1112: uint16(411), - 1113: uint16(531), - 1114: uint16(12), - 1115: uint16(297), - 1116: uint16(126), - 1117: uint16(127), - 1118: uint16(81), - 1119: uint16(1217), - 1120: uint16(1217), - 1121: uint16(1054), - 1122: uint16(1057), - 1123: uint16(1044), - 1124: uint16(1044), - 1125: uint16(124), - 1126: uint16(124), - 1127: uint16(125), - 1128: uint16(125), - 1129: uint16(125), - 1130: uint16(125), - 1131: uint16(572), - 1132: uint16(411), - 1133: uint16(867), - 1134: uint16(15), - 1135: uint16(15), - 1136: uint16(126), - 1137: uint16(127), - 1138: uint16(81), - 1139: uint16(1217), - 1140: uint16(1217), - 1141: uint16(1054), - 1142: uint16(1057), - 1143: uint16(1044), - 1144: uint16(1044), - 1145: uint16(124), - 1146: uint16(124), - 1147: uint16(125), - 1148: uint16(125), - 1149: uint16(125), - 1150: uint16(125), - 1151: uint16(373), - 1152: uint16(529), - 1153: uint16(264), - 1154: uint16(44), - 1155: uint16(44), - 1156: uint16(126), - 1157: uint16(115), - 1158: uint16(81), - 1159: uint16(1217), - 1160: uint16(1217), - 1161: uint16(1054), - 1162: uint16(1057), - 1163: uint16(1044), - 1164: uint16(1044), - 1165: uint16(124), - 1166: uint16(124), - 1167: uint16(125), - 1168: uint16(125), - 1169: uint16(125), - 1170: uint16(125), - 1171: uint16(1498), - 1172: uint16(478), - 1173: uint16(1271), - 1174: uint16(417), - 1175: uint16(123), - 1176: uint16(123), - 1177: uint16(123), - 1178: uint16(123), - 1179: uint16(122), - 1180: uint16(122), - 1181: uint16(121), - 1182: uint16(121), - 1183: uint16(121), - 1184: uint16(120), - 1185: uint16(117), - 1186: uint16(448), - 1187: uint16(205), - 1188: uint16(1213), - 1189: uint16(495), - 1190: uint16(430), - 1191: uint16(867), - 1192: uint16(468), - 1193: uint16(322), - 1194: uint16(495), - 1195: uint16(123), - 1196: uint16(123), - 1197: uint16(123), - 1198: uint16(123), - 1199: uint16(122), - 1200: uint16(122), - 1201: uint16(121), - 1202: uint16(121), - 1203: uint16(121), - 1204: uint16(120), - 1205: uint16(117), - 1206: uint16(448), - 1207: uint16(572), - 1208: uint16(557), - 1209: uint16(1140), - 1210: uint16(1642), - 1211: uint16(1422), - 1212: uint16(1642), - 1213: uint16(543), - 1214: uint16(572), - 1215: uint16(123), - 1216: uint16(123), - 1217: uint16(123), - 1218: uint16(123), - 1219: uint16(122), - 1220: uint16(122), - 1221: uint16(121), - 1222: uint16(121), - 1223: uint16(121), - 1224: uint16(120), - 1225: uint16(117), - 1226: uint16(448), - 1227: uint16(572), - 1228: uint16(1422), - 1229: uint16(572), - 1230: uint16(13), - 1231: uint16(13), - 1232: uint16(542), - 1233: uint16(323), - 1234: uint16(1325), - 1235: uint16(411), - 1236: uint16(334), - 1237: uint16(58), - 1238: uint16(58), - 1239: uint16(349), - 1240: uint16(1422), - 1241: uint16(1170), - 1242: uint16(326), - 1243: uint16(286), - 1244: uint16(286), - 1245: uint16(549), - 1246: uint16(1213), - 1247: uint16(300), - 1248: uint16(895), - 1249: uint16(530), - 1250: uint16(45), - 1251: uint16(45), - 1252: uint16(59), - 1253: uint16(59), - 1254: uint16(1140), - 1255: uint16(1643), - 1256: uint16(569), - 1257: uint16(1643), - 1258: uint16(565), - 1259: uint16(417), - 1260: uint16(127), - 1261: uint16(81), - 1262: uint16(1217), - 1263: uint16(1217), - 1264: uint16(1054), - 1265: uint16(1057), - 1266: uint16(1044), - 1267: uint16(1044), - 1268: uint16(124), - 1269: uint16(124), - 1270: uint16(125), - 1271: uint16(125), - 1272: uint16(125), - 1273: uint16(125), - 1274: uint16(1367), - 1275: uint16(373), - 1276: uint16(500), - 1277: uint16(290), - 1278: uint16(1193), - 1279: uint16(512), - 1280: uint16(1366), - 1281: uint16(427), - 1282: uint16(394), - 1283: uint16(394), - 1284: uint16(393), - 1285: uint16(275), - 1286: uint16(391), - 1287: uint16(896), - 1288: uint16(1138), - 1289: uint16(852), - 1290: uint16(478), - 1291: uint16(258), - 1292: uint16(1422), - 1293: uint16(1170), - 1294: uint16(463), - 1295: uint16(1159), - 1296: uint16(12), - 1297: uint16(331), - 1298: uint16(428), - 1299: uint16(333), - 1300: uint16(1117), - 1301: uint16(460), - 1302: uint16(236), - 1303: uint16(258), - 1304: uint16(325), - 1305: uint16(460), - 1306: uint16(544), - 1307: uint16(1544), - 1308: uint16(1159), - 1309: uint16(1098), - 1310: uint16(491), - 1311: uint16(1159), - 1312: uint16(324), - 1313: uint16(1098), - 1314: uint16(440), - 1315: uint16(1118), - 1316: uint16(335), - 1317: uint16(516), - 1318: uint16(123), - 1319: uint16(123), - 1320: uint16(123), - 1321: uint16(123), - 1322: uint16(122), - 1323: uint16(122), - 1324: uint16(121), - 1325: uint16(121), - 1326: uint16(121), - 1327: uint16(120), - 1328: uint16(117), - 1329: uint16(448), - 1330: uint16(1119), - 1331: uint16(318), - 1332: uint16(563), - 1333: uint16(1138), - 1334: uint16(572), - 1335: uint16(1193), - 1336: uint16(1194), - 1337: uint16(1193), - 1338: uint16(112), - 1339: uint16(564), - 1340: uint16(201), + 345: uint16(555), + 346: uint16(1149), + 347: uint16(1657), + 348: uint16(1628), + 349: uint16(1657), + 350: uint16(45), + 351: uint16(128), + 352: uint16(125), + 353: uint16(232), + 354: uint16(1204), + 355: uint16(1205), + 356: uint16(1204), + 357: uint16(1250), + 358: uint16(571), + 359: uint16(1169), + 360: uint16(132), + 361: uint16(132), + 362: uint16(132), + 363: uint16(132), + 364: uint16(131), + 365: uint16(131), + 366: uint16(130), + 367: uint16(130), + 368: uint16(130), + 369: uint16(129), + 370: uint16(126), + 371: uint16(450), + 372: uint16(1169), + 373: uint16(287), + 374: uint16(287), + 375: uint16(1169), + 376: uint16(1019), + 377: uint16(576), + 378: uint16(422), + 379: uint16(1019), + 380: uint16(412), + 381: uint16(451), + 382: uint16(1602), + 383: uint16(582), + 384: uint16(2), + 385: uint16(1259), + 386: uint16(573), + 387: uint16(44), + 388: uint16(561), + 389: uint16(95), + 390: uint16(320), + 391: uint16(110), + 392: uint16(153), + 393: uint16(565), + 394: uint16(1204), + 395: uint16(1205), + 396: uint16(1204), + 397: uint16(522), + 398: uint16(522), + 399: uint16(1341), + 400: uint16(81), + 401: uint16(81), + 402: uint16(7), + 403: uint16(44), + 404: uint16(135), + 405: uint16(136), + 406: uint16(90), + 407: uint16(1228), + 408: uint16(1228), + 409: uint16(1063), + 410: uint16(1066), + 411: uint16(1053), + 412: uint16(1053), + 413: uint16(133), + 414: uint16(133), + 415: uint16(134), + 416: uint16(134), + 417: uint16(134), + 418: uint16(134), + 419: uint16(295), + 420: uint16(1149), + 421: uint16(1658), + 422: uint16(1040), + 423: uint16(1658), + 424: uint16(1204), + 425: uint16(1147), + 426: uint16(319), + 427: uint16(567), + 428: uint16(119), + 429: uint16(119), + 430: uint16(343), + 431: uint16(466), + 432: uint16(331), + 433: uint16(343), + 434: uint16(287), + 435: uint16(287), + 436: uint16(120), + 437: uint16(556), + 438: uint16(451), + 439: uint16(577), + 440: uint16(451), + 441: uint16(1169), + 442: uint16(1169), + 443: uint16(1028), + 444: uint16(319), + 445: uint16(567), + 446: uint16(438), + 447: uint16(573), + 448: uint16(210), + 449: uint16(561), + 450: uint16(1339), + 451: uint16(1451), + 452: uint16(546), + 453: uint16(531), + 454: uint16(1169), + 455: uint16(1169), + 456: uint16(1598), + 457: uint16(1169), + 458: uint16(1169), + 459: uint16(416), + 460: uint16(319), + 461: uint16(567), + 462: uint16(243), + 463: uint16(132), + 464: uint16(132), + 465: uint16(132), + 466: uint16(132), + 467: uint16(131), + 468: uint16(131), + 469: uint16(130), + 470: uint16(130), + 471: uint16(130), + 472: uint16(129), + 473: uint16(126), + 474: uint16(450), + 475: uint16(1028), + 476: uint16(1028), + 477: uint16(1030), + 478: uint16(1031), + 479: uint16(35), + 480: uint16(44), + 481: uint16(1204), + 482: uint16(1205), + 483: uint16(1204), + 484: uint16(472), + 485: uint16(287), + 486: uint16(287), + 487: uint16(1328), + 488: uint16(412), + 489: uint16(1307), + 490: uint16(372), + 491: uint16(1595), + 492: uint16(359), + 493: uint16(225), + 494: uint16(454), + 495: uint16(1204), + 496: uint16(195), + 497: uint16(1328), + 498: uint16(573), + 499: uint16(1147), + 500: uint16(561), + 501: uint16(1333), + 502: uint16(1333), + 503: uint16(274), + 504: uint16(576), + 505: uint16(1188), + 506: uint16(576), + 507: uint16(340), + 508: uint16(46), + 509: uint16(196), + 510: uint16(537), + 511: uint16(217), + 512: uint16(135), + 513: uint16(136), + 514: uint16(90), + 515: uint16(1228), + 516: uint16(1228), + 517: uint16(1063), + 518: uint16(1066), + 519: uint16(1053), + 520: uint16(1053), + 521: uint16(133), + 522: uint16(133), + 523: uint16(134), + 524: uint16(134), + 525: uint16(134), + 526: uint16(134), + 527: uint16(19), + 528: uint16(19), + 529: uint16(19), + 530: uint16(19), + 531: uint16(412), + 532: uint16(581), + 533: uint16(1204), + 534: uint16(1259), + 535: uint16(511), + 536: uint16(1204), + 537: uint16(319), + 538: uint16(567), + 539: uint16(320), + 540: uint16(944), + 541: uint16(153), + 542: uint16(425), + 543: uint16(491), + 544: uint16(430), + 545: uint16(943), + 546: uint16(1204), + 547: uint16(488), + 548: uint16(1341), + 549: uint16(1450), + 550: uint16(532), + 551: uint16(1277), + 552: uint16(1204), + 553: uint16(1205), + 554: uint16(1204), + 555: uint16(135), + 556: uint16(136), + 557: uint16(90), + 558: uint16(1228), + 559: uint16(1228), + 560: uint16(1063), + 561: uint16(1066), + 562: uint16(1053), + 563: uint16(1053), + 564: uint16(133), + 565: uint16(133), + 566: uint16(134), + 567: uint16(134), + 568: uint16(134), + 569: uint16(134), + 570: uint16(575), + 571: uint16(132), + 572: uint16(132), + 573: uint16(132), + 574: uint16(132), + 575: uint16(131), + 576: uint16(131), + 577: uint16(130), + 578: uint16(130), + 579: uint16(130), + 580: uint16(129), + 581: uint16(126), + 582: uint16(450), + 583: uint16(287), + 584: uint16(287), + 585: uint16(528), + 586: uint16(287), + 587: uint16(287), + 588: uint16(372), + 589: uint16(1595), + 590: uint16(1204), + 591: uint16(1205), + 592: uint16(1204), + 593: uint16(1204), + 594: uint16(1205), + 595: uint16(1204), + 596: uint16(573), + 597: uint16(486), + 598: uint16(561), + 599: uint16(573), + 600: uint16(889), + 601: uint16(561), + 602: uint16(412), + 603: uint16(1204), + 604: uint16(1205), + 605: uint16(1204), + 606: uint16(886), + 607: uint16(40), + 608: uint16(22), + 609: uint16(22), + 610: uint16(220), + 611: uint16(243), + 612: uint16(525), + 613: uint16(1449), + 614: uint16(132), + 615: uint16(132), + 616: uint16(132), + 617: uint16(132), + 618: uint16(131), + 619: uint16(131), + 620: uint16(130), + 621: uint16(130), + 622: uint16(130), + 623: uint16(129), + 624: uint16(126), + 625: uint16(450), + 626: uint16(135), + 627: uint16(136), + 628: uint16(90), + 629: uint16(1228), + 630: uint16(1228), + 631: uint16(1063), + 632: uint16(1066), + 633: uint16(1053), + 634: uint16(1053), + 635: uint16(133), + 636: uint16(133), + 637: uint16(134), + 638: uint16(134), + 639: uint16(134), + 640: uint16(134), + 641: uint16(412), + 642: uint16(180), + 643: uint16(454), + 644: uint16(1204), + 645: uint16(879), + 646: uint16(255), + 647: uint16(287), + 648: uint16(287), + 649: uint16(510), + 650: uint16(507), + 651: uint16(506), + 652: uint16(372), + 653: uint16(1595), + 654: uint16(1568), + 655: uint16(1331), + 656: uint16(1331), + 657: uint16(576), + 658: uint16(889), + 659: uint16(505), + 660: uint16(573), + 661: uint16(44), + 662: uint16(561), + 663: uint16(559), + 664: uint16(1207), + 665: uint16(135), + 666: uint16(136), + 667: uint16(90), + 668: uint16(1228), + 669: uint16(1228), + 670: uint16(1063), + 671: uint16(1066), + 672: uint16(1053), + 673: uint16(1053), + 674: uint16(133), + 675: uint16(133), + 676: uint16(134), + 677: uint16(134), + 678: uint16(134), + 679: uint16(134), + 680: uint16(81), + 681: uint16(81), + 682: uint16(422), + 683: uint16(576), + 684: uint16(377), + 685: uint16(132), + 686: uint16(132), + 687: uint16(132), + 688: uint16(132), + 689: uint16(131), + 690: uint16(131), + 691: uint16(130), + 692: uint16(130), + 693: uint16(130), + 694: uint16(129), + 695: uint16(126), + 696: uint16(450), + 697: uint16(297), + 698: uint16(287), + 699: uint16(287), + 700: uint16(460), + 701: uint16(1204), + 702: uint16(1205), + 703: uint16(1204), + 704: uint16(1204), + 705: uint16(534), + 706: uint16(19), + 707: uint16(19), + 708: uint16(448), + 709: uint16(448), + 710: uint16(448), + 711: uint16(573), + 712: uint16(412), + 713: uint16(561), + 714: uint16(230), + 715: uint16(436), + 716: uint16(1187), + 717: uint16(535), + 718: uint16(319), + 719: uint16(567), + 720: uint16(363), + 721: uint16(432), + 722: uint16(1207), + 723: uint16(1435), + 724: uint16(132), + 725: uint16(132), + 726: uint16(132), + 727: uint16(132), + 728: uint16(131), + 729: uint16(131), + 730: uint16(130), + 731: uint16(130), + 732: uint16(130), + 733: uint16(129), + 734: uint16(126), + 735: uint16(450), + 736: uint16(135), + 737: uint16(136), + 738: uint16(90), + 739: uint16(1228), + 740: uint16(1228), + 741: uint16(1063), + 742: uint16(1066), + 743: uint16(1053), + 744: uint16(1053), + 745: uint16(133), + 746: uint16(133), + 747: uint16(134), + 748: uint16(134), + 749: uint16(134), + 750: uint16(134), + 751: uint16(412), + 752: uint16(211), + 753: uint16(949), + 754: uint16(1169), + 755: uint16(1041), + 756: uint16(1110), + 757: uint16(1110), + 758: uint16(494), + 759: uint16(547), + 760: uint16(547), + 761: uint16(1204), + 762: uint16(1205), + 763: uint16(1204), + 764: uint16(7), + 765: uint16(539), + 766: uint16(1570), + 767: uint16(1169), + 768: uint16(376), + 769: uint16(576), + 770: uint16(1169), + 771: uint16(5), + 772: uint16(1204), + 773: uint16(486), + 774: uint16(3), + 775: uint16(135), + 776: uint16(136), + 777: uint16(90), + 778: uint16(1228), + 779: uint16(1228), + 780: uint16(1063), + 781: uint16(1066), + 782: uint16(1053), + 783: uint16(1053), + 784: uint16(133), + 785: uint16(133), + 786: uint16(134), + 787: uint16(134), + 788: uint16(134), + 789: uint16(134), + 790: uint16(576), + 791: uint16(513), + 792: uint16(19), + 793: uint16(19), + 794: uint16(427), + 795: uint16(132), + 796: uint16(132), + 797: uint16(132), + 798: uint16(132), + 799: uint16(131), + 800: uint16(131), + 801: uint16(130), + 802: uint16(130), + 803: uint16(130), + 804: uint16(129), + 805: uint16(126), + 806: uint16(450), + 807: uint16(305), + 808: uint16(1204), + 809: uint16(433), + 810: uint16(225), + 811: uint16(1204), + 812: uint16(385), + 813: uint16(19), + 814: uint16(19), + 815: uint16(273), + 816: uint16(290), + 817: uint16(371), + 818: uint16(516), + 819: uint16(366), + 820: uint16(515), + 821: uint16(260), + 822: uint16(412), + 823: uint16(538), + 824: uint16(1568), + 825: uint16(549), + 826: uint16(1024), + 827: uint16(362), + 828: uint16(437), + 829: uint16(1204), + 830: uint16(1205), + 831: uint16(1204), + 832: uint16(902), + 833: uint16(1552), + 834: uint16(132), + 835: uint16(132), + 836: uint16(132), + 837: uint16(132), + 838: uint16(131), + 839: uint16(131), + 840: uint16(130), + 841: uint16(130), + 842: uint16(130), + 843: uint16(129), + 844: uint16(126), + 845: uint16(450), + 846: uint16(135), + 847: uint16(136), + 848: uint16(90), + 849: uint16(1228), + 850: uint16(1228), + 851: uint16(1063), + 852: uint16(1066), + 853: uint16(1053), + 854: uint16(1053), + 855: uint16(133), + 856: uint16(133), + 857: uint16(134), + 858: uint16(134), + 859: uint16(134), + 860: uint16(134), + 861: uint16(412), + 862: uint16(1435), + 863: uint16(514), + 864: uint16(1281), + 865: uint16(1204), + 866: uint16(1205), + 867: uint16(1204), + 868: uint16(1204), + 869: uint16(1205), + 870: uint16(1204), + 871: uint16(903), + 872: uint16(48), + 873: uint16(342), + 874: uint16(1568), + 875: uint16(1568), + 876: uint16(1279), + 877: uint16(1627), + 878: uint16(1568), + 879: uint16(911), + 880: uint16(576), + 881: uint16(129), + 882: uint16(126), + 883: uint16(450), + 884: uint16(110), + 885: uint16(135), + 886: uint16(136), + 887: uint16(90), + 888: uint16(1228), + 889: uint16(1228), + 890: uint16(1063), + 891: uint16(1066), + 892: uint16(1053), + 893: uint16(1053), + 894: uint16(133), + 895: uint16(133), + 896: uint16(134), + 897: uint16(134), + 898: uint16(134), + 899: uint16(134), + 900: uint16(265), + 901: uint16(576), + 902: uint16(459), + 903: uint16(19), + 904: uint16(19), + 905: uint16(132), + 906: uint16(132), + 907: uint16(132), + 908: uint16(132), + 909: uint16(131), + 910: uint16(131), + 911: uint16(130), + 912: uint16(130), + 913: uint16(130), + 914: uint16(129), + 915: uint16(126), + 916: uint16(450), + 917: uint16(1345), + 918: uint16(204), + 919: uint16(576), + 920: uint16(459), + 921: uint16(458), + 922: uint16(50), + 923: uint16(47), + 924: uint16(19), + 925: uint16(19), + 926: uint16(49), + 927: uint16(434), + 928: uint16(1105), + 929: uint16(573), + 930: uint16(497), + 931: uint16(561), + 932: uint16(412), + 933: uint16(428), + 934: uint16(108), + 935: uint16(1224), + 936: uint16(1569), + 937: uint16(1554), + 938: uint16(376), + 939: uint16(205), + 940: uint16(550), + 941: uint16(550), + 942: uint16(81), + 943: uint16(81), + 944: uint16(132), + 945: uint16(132), + 946: uint16(132), + 947: uint16(132), + 948: uint16(131), + 949: uint16(131), + 950: uint16(130), + 951: uint16(130), + 952: uint16(130), + 953: uint16(129), + 954: uint16(126), + 955: uint16(450), + 956: uint16(135), + 957: uint16(136), + 958: uint16(90), + 959: uint16(1228), + 960: uint16(1228), + 961: uint16(1063), + 962: uint16(1066), + 963: uint16(1053), + 964: uint16(1053), + 965: uint16(133), + 966: uint16(133), + 967: uint16(134), + 968: uint16(134), + 969: uint16(134), + 970: uint16(134), + 971: uint16(480), + 972: uint16(576), + 973: uint16(1204), + 974: uint16(576), + 975: uint16(1541), + 976: uint16(412), + 977: uint16(1435), + 978: uint16(969), + 979: uint16(315), + 980: uint16(1659), + 981: uint16(398), + 982: uint16(284), + 983: uint16(497), + 984: uint16(969), + 985: uint16(893), + 986: uint16(1569), + 987: uint16(1569), + 988: uint16(376), + 989: uint16(376), + 990: uint16(1569), + 991: uint16(461), + 992: uint16(376), + 993: uint16(1224), + 994: uint16(459), + 995: uint16(80), + 996: uint16(80), + 997: uint16(81), + 998: uint16(81), + 999: uint16(497), + 1000: uint16(374), + 1001: uint16(114), + 1002: uint16(90), + 1003: uint16(1228), + 1004: uint16(1228), + 1005: uint16(1063), + 1006: uint16(1066), + 1007: uint16(1053), + 1008: uint16(1053), + 1009: uint16(133), + 1010: uint16(133), + 1011: uint16(134), + 1012: uint16(134), + 1013: uint16(134), + 1014: uint16(134), + 1015: uint16(132), + 1016: uint16(132), + 1017: uint16(132), + 1018: uint16(132), + 1019: uint16(131), + 1020: uint16(131), + 1021: uint16(130), + 1022: uint16(130), + 1023: uint16(130), + 1024: uint16(129), + 1025: uint16(126), + 1026: uint16(450), + 1027: uint16(1204), + 1028: uint16(1505), + 1029: uint16(576), + 1030: uint16(1204), + 1031: uint16(1205), + 1032: uint16(1204), + 1033: uint16(1366), + 1034: uint16(316), + 1035: uint16(486), + 1036: uint16(281), + 1037: uint16(281), + 1038: uint16(497), + 1039: uint16(431), + 1040: uint16(557), + 1041: uint16(288), + 1042: uint16(288), + 1043: uint16(402), + 1044: uint16(1340), + 1045: uint16(471), + 1046: uint16(345), + 1047: uint16(298), + 1048: uint16(429), + 1049: uint16(573), + 1050: uint16(576), + 1051: uint16(561), + 1052: uint16(81), + 1053: uint16(81), + 1054: uint16(573), + 1055: uint16(374), + 1056: uint16(561), + 1057: uint16(971), + 1058: uint16(386), + 1059: uint16(132), + 1060: uint16(132), + 1061: uint16(132), + 1062: uint16(132), + 1063: uint16(131), + 1064: uint16(131), + 1065: uint16(130), + 1066: uint16(130), + 1067: uint16(130), + 1068: uint16(129), + 1069: uint16(126), + 1070: uint16(450), + 1071: uint16(231), + 1072: uint16(117), + 1073: uint16(81), + 1074: uint16(81), + 1075: uint16(287), + 1076: uint16(287), + 1077: uint16(231), + 1078: uint16(287), + 1079: uint16(287), + 1080: uint16(576), + 1081: uint16(1511), + 1082: uint16(576), + 1083: uint16(1336), + 1084: uint16(1204), + 1085: uint16(1205), + 1086: uint16(1204), + 1087: uint16(139), + 1088: uint16(573), + 1089: uint16(556), + 1090: uint16(561), + 1091: uint16(573), + 1092: uint16(412), + 1093: uint16(561), + 1094: uint16(441), + 1095: uint16(456), + 1096: uint16(969), + 1097: uint16(213), + 1098: uint16(558), + 1099: uint16(1511), + 1100: uint16(1513), + 1101: uint16(1550), + 1102: uint16(969), + 1103: uint16(143), + 1104: uint16(143), + 1105: uint16(145), + 1106: uint16(145), + 1107: uint16(1368), + 1108: uint16(314), + 1109: uint16(478), + 1110: uint16(444), + 1111: uint16(970), + 1112: uint16(412), + 1113: uint16(850), + 1114: uint16(851), + 1115: uint16(852), + 1116: uint16(135), + 1117: uint16(136), + 1118: uint16(90), + 1119: uint16(1228), + 1120: uint16(1228), + 1121: uint16(1063), + 1122: uint16(1066), + 1123: uint16(1053), + 1124: uint16(1053), + 1125: uint16(133), + 1126: uint16(133), + 1127: uint16(134), + 1128: uint16(134), + 1129: uint16(134), + 1130: uint16(134), + 1131: uint16(357), + 1132: uint16(412), + 1133: uint16(397), + 1134: uint16(1148), + 1135: uint16(304), + 1136: uint16(135), + 1137: uint16(136), + 1138: uint16(90), + 1139: uint16(1228), + 1140: uint16(1228), + 1141: uint16(1063), + 1142: uint16(1066), + 1143: uint16(1053), + 1144: uint16(1053), + 1145: uint16(133), + 1146: uint16(133), + 1147: uint16(134), + 1148: uint16(134), + 1149: uint16(134), + 1150: uint16(134), + 1151: uint16(1575), + 1152: uint16(323), + 1153: uint16(6), + 1154: uint16(862), + 1155: uint16(7), + 1156: uint16(135), + 1157: uint16(124), + 1158: uint16(90), + 1159: uint16(1228), + 1160: uint16(1228), + 1161: uint16(1063), + 1162: uint16(1066), + 1163: uint16(1053), + 1164: uint16(1053), + 1165: uint16(133), + 1166: uint16(133), + 1167: uint16(134), + 1168: uint16(134), + 1169: uint16(134), + 1170: uint16(134), + 1171: uint16(409), + 1172: uint16(408), + 1173: uint16(1511), + 1174: uint16(212), + 1175: uint16(132), + 1176: uint16(132), + 1177: uint16(132), + 1178: uint16(132), + 1179: uint16(131), + 1180: uint16(131), + 1181: uint16(130), + 1182: uint16(130), + 1183: uint16(130), + 1184: uint16(129), + 1185: uint16(126), + 1186: uint16(450), + 1187: uint16(411), + 1188: uint16(118), + 1189: uint16(1204), + 1190: uint16(116), + 1191: uint16(10), + 1192: uint16(352), + 1193: uint16(265), + 1194: uint16(355), + 1195: uint16(132), + 1196: uint16(132), + 1197: uint16(132), + 1198: uint16(132), + 1199: uint16(131), + 1200: uint16(131), + 1201: uint16(130), + 1202: uint16(130), + 1203: uint16(130), + 1204: uint16(129), + 1205: uint16(126), + 1206: uint16(450), + 1207: uint16(576), + 1208: uint16(324), + 1209: uint16(306), + 1210: uint16(576), + 1211: uint16(306), + 1212: uint16(1250), + 1213: uint16(469), + 1214: uint16(158), + 1215: uint16(132), + 1216: uint16(132), + 1217: uint16(132), + 1218: uint16(132), + 1219: uint16(131), + 1220: uint16(131), + 1221: uint16(130), + 1222: uint16(130), + 1223: uint16(130), + 1224: uint16(129), + 1225: uint16(126), + 1226: uint16(450), + 1227: uint16(207), + 1228: uint16(1224), + 1229: uint16(1126), + 1230: uint16(65), + 1231: uint16(65), + 1232: uint16(470), + 1233: uint16(66), + 1234: uint16(66), + 1235: uint16(412), + 1236: uint16(447), + 1237: uint16(446), + 1238: uint16(882), + 1239: uint16(531), + 1240: uint16(335), + 1241: uint16(258), + 1242: uint16(257), + 1243: uint16(256), + 1244: uint16(1127), + 1245: uint16(1233), + 1246: uint16(1204), + 1247: uint16(1205), + 1248: uint16(1204), + 1249: uint16(327), + 1250: uint16(1235), + 1251: uint16(874), + 1252: uint16(159), + 1253: uint16(576), + 1254: uint16(16), + 1255: uint16(480), + 1256: uint16(1085), + 1257: uint16(1040), + 1258: uint16(1234), + 1259: uint16(1128), + 1260: uint16(136), + 1261: uint16(90), + 1262: uint16(1228), + 1263: uint16(1228), + 1264: uint16(1063), + 1265: uint16(1066), + 1266: uint16(1053), + 1267: uint16(1053), + 1268: uint16(133), + 1269: uint16(133), + 1270: uint16(134), + 1271: uint16(134), + 1272: uint16(134), + 1273: uint16(134), + 1274: uint16(1029), + 1275: uint16(576), + 1276: uint16(81), + 1277: uint16(81), + 1278: uint16(1028), + 1279: uint16(1040), + 1280: uint16(922), + 1281: uint16(576), + 1282: uint16(463), + 1283: uint16(1236), + 1284: uint16(576), + 1285: uint16(1236), + 1286: uint16(1224), + 1287: uint16(502), + 1288: uint16(107), + 1289: uint16(1435), + 1290: uint16(923), + 1291: uint16(6), + 1292: uint16(576), + 1293: uint16(410), + 1294: uint16(1498), + 1295: uint16(882), + 1296: uint16(1029), + 1297: uint16(480), + 1298: uint16(21), + 1299: uint16(21), + 1300: uint16(1028), + 1301: uint16(332), + 1302: uint16(1380), + 1303: uint16(334), + 1304: uint16(53), + 1305: uint16(53), + 1306: uint16(497), + 1307: uint16(81), + 1308: uint16(81), + 1309: uint16(874), + 1310: uint16(1028), + 1311: uint16(1028), + 1312: uint16(1030), + 1313: uint16(445), + 1314: uint16(259), + 1315: uint16(19), + 1316: uint16(19), + 1317: uint16(533), + 1318: uint16(132), + 1319: uint16(132), + 1320: uint16(132), + 1321: uint16(132), + 1322: uint16(131), + 1323: uint16(131), + 1324: uint16(130), + 1325: uint16(130), + 1326: uint16(130), + 1327: uint16(129), + 1328: uint16(126), + 1329: uint16(450), + 1330: uint16(551), + 1331: uint16(301), + 1332: uint16(1028), + 1333: uint16(1028), + 1334: uint16(1030), + 1335: uint16(107), + 1336: uint16(532), + 1337: uint16(545), + 1338: uint16(121), + 1339: uint16(568), + 1340: uint16(1188), 1341: uint16(4), - 1342: uint16(238), - 1343: uint16(433), - 1344: uint16(935), - 1345: uint16(490), - 1346: uint16(285), - 1347: uint16(228), - 1348: uint16(1517), - 1349: uint16(934), - 1350: uint16(170), - 1351: uint16(560), - 1352: uint16(572), - 1353: uint16(142), - 1354: uint16(1516), - 1355: uint16(567), - 1356: uint16(572), - 1357: uint16(60), - 1358: uint16(60), - 1359: uint16(572), - 1360: uint16(416), - 1361: uint16(572), - 1362: uint16(441), - 1363: uint16(572), - 1364: uint16(535), - 1365: uint16(302), - 1366: uint16(875), - 1367: uint16(8), - 1368: uint16(487), - 1369: uint16(572), - 1370: uint16(237), - 1371: uint16(572), - 1372: uint16(416), - 1373: uint16(572), - 1374: uint16(485), - 1375: uint16(61), - 1376: uint16(61), - 1377: uint16(572), - 1378: uint16(449), - 1379: uint16(62), - 1380: uint16(62), - 1381: uint16(332), - 1382: uint16(63), - 1383: uint16(63), - 1384: uint16(46), - 1385: uint16(46), - 1386: uint16(47), - 1387: uint16(47), - 1388: uint16(361), - 1389: uint16(572), - 1390: uint16(561), - 1391: uint16(572), - 1392: uint16(48), - 1393: uint16(48), - 1394: uint16(50), - 1395: uint16(50), - 1396: uint16(51), - 1397: uint16(51), - 1398: uint16(572), - 1399: uint16(295), - 1400: uint16(64), - 1401: uint16(64), - 1402: uint16(482), - 1403: uint16(295), - 1404: uint16(539), - 1405: uint16(412), - 1406: uint16(471), - 1407: uint16(1031), - 1408: uint16(572), - 1409: uint16(538), - 1410: uint16(318), - 1411: uint16(563), - 1412: uint16(65), - 1413: uint16(65), - 1414: uint16(66), - 1415: uint16(66), - 1416: uint16(409), - 1417: uint16(475), - 1418: uint16(572), - 1419: uint16(1031), - 1420: uint16(572), - 1421: uint16(14), - 1422: uint16(14), - 1423: uint16(875), - 1424: uint16(1020), - 1425: uint16(110), - 1426: uint16(110), - 1427: uint16(409), - 1428: uint16(1019), - 1429: uint16(572), - 1430: uint16(474), - 1431: uint16(67), - 1432: uint16(67), - 1433: uint16(111), - 1434: uint16(455), - 1435: uint16(449), - 1436: uint16(573), - 1437: uint16(449), - 1438: uint16(98), - 1439: uint16(317), - 1440: uint16(1019), - 1441: uint16(132), - 1442: uint16(132), - 1443: uint16(133), - 1444: uint16(133), - 1445: uint16(572), - 1446: uint16(1561), - 1447: uint16(572), - 1448: uint16(974), - 1449: uint16(409), - 1450: uint16(6), - 1451: uint16(1562), - 1452: uint16(68), - 1453: uint16(68), - 1454: uint16(1560), - 1455: uint16(6), - 1456: uint16(975), - 1457: uint16(572), - 1458: uint16(6), - 1459: uint16(1559), - 1460: uint16(1019), - 1461: uint16(1019), - 1462: uint16(1021), - 1463: uint16(6), - 1464: uint16(346), - 1465: uint16(218), - 1466: uint16(101), - 1467: uint16(531), - 1468: uint16(53), - 1469: uint16(53), - 1470: uint16(69), - 1471: uint16(69), - 1472: uint16(1019), - 1473: uint16(1019), - 1474: uint16(1021), - 1475: uint16(1022), - 1476: uint16(28), - 1477: uint16(1586), - 1478: uint16(1181), - 1479: uint16(451), - 1480: uint16(70), - 1481: uint16(70), - 1482: uint16(290), - 1483: uint16(87), - 1484: uint16(215), - 1485: uint16(31), - 1486: uint16(1363), - 1487: uint16(394), - 1488: uint16(394), - 1489: uint16(393), - 1490: uint16(275), - 1491: uint16(391), - 1492: uint16(350), - 1493: uint16(109), - 1494: uint16(852), - 1495: uint16(107), - 1496: uint16(572), - 1497: uint16(112), - 1498: uint16(564), - 1499: uint16(483), - 1500: uint16(4), - 1501: uint16(1212), - 1502: uint16(572), - 1503: uint16(239), - 1504: uint16(153), - 1505: uint16(572), - 1506: uint16(39), - 1507: uint16(236), - 1508: uint16(1299), - 1509: uint16(325), - 1510: uint16(112), - 1511: uint16(564), - 1512: uint16(1298), - 1513: uint16(4), - 1514: uint16(567), - 1515: uint16(572), - 1516: uint16(32), - 1517: uint16(324), - 1518: uint16(572), - 1519: uint16(54), - 1520: uint16(54), - 1521: uint16(572), - 1522: uint16(1135), - 1523: uint16(353), - 1524: uint16(398), - 1525: uint16(165), - 1526: uint16(165), - 1527: uint16(567), - 1528: uint16(166), - 1529: uint16(166), - 1530: uint16(572), - 1531: uint16(291), - 1532: uint16(355), - 1533: uint16(572), - 1534: uint16(17), - 1535: uint16(357), - 1536: uint16(572), - 1537: uint16(449), - 1538: uint16(77), - 1539: uint16(77), - 1540: uint16(1313), - 1541: uint16(55), - 1542: uint16(55), - 1543: uint16(1297), - 1544: uint16(73), - 1545: uint16(73), - 1546: uint16(572), - 1547: uint16(238), - 1548: uint16(470), - 1549: uint16(561), - 1550: uint16(449), - 1551: uint16(472), - 1552: uint16(364), - 1553: uint16(135), - 1554: uint16(135), - 1555: uint16(170), - 1556: uint16(74), - 1557: uint16(74), - 1558: uint16(142), - 1559: uint16(163), - 1560: uint16(163), - 1561: uint16(374), - 1562: uint16(561), - 1563: uint16(539), - 1564: uint16(572), - 1565: uint16(321), - 1566: uint16(572), - 1567: uint16(886), - 1568: uint16(540), - 1569: uint16(137), - 1570: uint16(137), - 1571: uint16(339), - 1572: uint16(1353), - 1573: uint16(422), - 1574: uint16(298), - 1575: uint16(237), - 1576: uint16(539), - 1577: uint16(572), - 1578: uint16(1031), - 1579: uint16(572), - 1580: uint16(340), - 1581: uint16(538), - 1582: uint16(101), - 1583: uint16(369), - 1584: uint16(110), - 1585: uint16(110), - 1586: uint16(162), - 1587: uint16(131), - 1588: uint16(131), - 1589: uint16(164), - 1590: uint16(164), - 1591: uint16(1031), - 1592: uint16(111), - 1593: uint16(368), - 1594: uint16(449), - 1595: uint16(573), - 1596: uint16(449), + 1342: uint16(1126), + 1343: uint16(1576), + 1344: uint16(449), + 1345: uint16(576), + 1346: uint16(462), + 1347: uint16(7), + 1348: uint16(1282), + 1349: uint16(418), + 1350: uint16(462), + 1351: uint16(350), + 1352: uint16(1435), + 1353: uint16(576), + 1354: uint16(518), + 1355: uint16(571), + 1356: uint16(544), + 1357: uint16(1127), + 1358: uint16(121), + 1359: uint16(568), + 1360: uint16(442), + 1361: uint16(4), + 1362: uint16(1188), + 1363: uint16(464), + 1364: uint16(533), + 1365: uint16(1180), + 1366: uint16(1223), + 1367: uint16(9), + 1368: uint16(67), + 1369: uint16(67), + 1370: uint16(487), + 1371: uint16(576), + 1372: uint16(1128), + 1373: uint16(303), + 1374: uint16(410), + 1375: uint16(571), + 1376: uint16(54), + 1377: uint16(54), + 1378: uint16(451), + 1379: uint16(576), + 1380: uint16(123), + 1381: uint16(944), + 1382: uint16(576), + 1383: uint16(417), + 1384: uint16(576), + 1385: uint16(333), + 1386: uint16(943), + 1387: uint16(1379), + 1388: uint16(576), + 1389: uint16(236), + 1390: uint16(565), + 1391: uint16(576), + 1392: uint16(1574), + 1393: uint16(564), + 1394: uint16(68), + 1395: uint16(68), + 1396: uint16(7), + 1397: uint16(576), + 1398: uint16(451), + 1399: uint16(362), + 1400: uint16(419), + 1401: uint16(182), + 1402: uint16(69), + 1403: uint16(69), + 1404: uint16(541), + 1405: uint16(70), + 1406: uint16(70), + 1407: uint16(71), + 1408: uint16(71), + 1409: uint16(540), + 1410: uint16(565), + 1411: uint16(72), + 1412: uint16(72), + 1413: uint16(484), + 1414: uint16(55), + 1415: uint16(55), + 1416: uint16(473), + 1417: uint16(1180), + 1418: uint16(296), + 1419: uint16(1040), + 1420: uint16(56), + 1421: uint16(56), + 1422: uint16(296), + 1423: uint16(493), + 1424: uint16(541), + 1425: uint16(119), + 1426: uint16(119), + 1427: uint16(410), + 1428: uint16(1573), + 1429: uint16(542), + 1430: uint16(569), + 1431: uint16(418), + 1432: uint16(7), + 1433: uint16(120), + 1434: uint16(1244), + 1435: uint16(451), + 1436: uint16(577), + 1437: uint16(451), + 1438: uint16(465), + 1439: uint16(1040), + 1440: uint16(1028), + 1441: uint16(576), + 1442: uint16(1557), + 1443: uint16(552), + 1444: uint16(476), + 1445: uint16(119), + 1446: uint16(119), + 1447: uint16(527), + 1448: uint16(259), + 1449: uint16(121), + 1450: uint16(568), + 1451: uint16(240), + 1452: uint16(4), + 1453: uint16(120), + 1454: uint16(576), + 1455: uint16(451), + 1456: uint16(577), + 1457: uint16(451), + 1458: uint16(576), + 1459: uint16(477), + 1460: uint16(1028), + 1461: uint16(576), + 1462: uint16(156), + 1463: uint16(576), + 1464: uint16(57), + 1465: uint16(57), + 1466: uint16(571), + 1467: uint16(576), + 1468: uint16(286), + 1469: uint16(229), + 1470: uint16(410), + 1471: uint16(336), + 1472: uint16(1028), + 1473: uint16(1028), + 1474: uint16(1030), + 1475: uint16(1031), + 1476: uint16(35), + 1477: uint16(59), + 1478: uint16(59), + 1479: uint16(219), + 1480: uint16(983), + 1481: uint16(60), + 1482: uint16(60), + 1483: uint16(220), + 1484: uint16(73), + 1485: uint16(73), + 1486: uint16(74), + 1487: uint16(74), + 1488: uint16(984), + 1489: uint16(451), + 1490: uint16(75), + 1491: uint16(75), + 1492: uint16(1028), + 1493: uint16(1028), + 1494: uint16(1030), + 1495: uint16(1031), + 1496: uint16(35), + 1497: uint16(96), + 1498: uint16(216), + 1499: uint16(291), + 1500: uint16(552), + 1501: uint16(565), + 1502: uint16(1188), + 1503: uint16(318), + 1504: uint16(395), + 1505: uint16(395), + 1506: uint16(394), + 1507: uint16(276), + 1508: uint16(392), + 1509: uint16(576), + 1510: uint16(485), + 1511: uint16(859), + 1512: uint16(474), + 1513: uint16(1311), + 1514: uint16(410), + 1515: uint16(541), + 1516: uint16(576), + 1517: uint16(417), + 1518: uint16(1530), + 1519: uint16(1144), + 1520: uint16(540), + 1521: uint16(399), + 1522: uint16(1188), + 1523: uint16(292), + 1524: uint16(237), + 1525: uint16(1153), + 1526: uint16(326), + 1527: uint16(38), + 1528: uint16(23), + 1529: uint16(576), + 1530: uint16(1040), + 1531: uint16(576), + 1532: uint16(20), + 1533: uint16(20), + 1534: uint16(325), + 1535: uint16(299), + 1536: uint16(119), + 1537: uint16(119), + 1538: uint16(164), + 1539: uint16(76), + 1540: uint16(76), + 1541: uint16(1529), + 1542: uint16(121), + 1543: uint16(568), + 1544: uint16(120), + 1545: uint16(4), + 1546: uint16(451), + 1547: uint16(577), + 1548: uint16(451), + 1549: uint16(203), + 1550: uint16(576), + 1551: uint16(1028), + 1552: uint16(141), + 1553: uint16(141), + 1554: uint16(142), + 1555: uint16(142), + 1556: uint16(576), + 1557: uint16(322), + 1558: uint16(39), + 1559: uint16(571), + 1560: uint16(341), + 1561: uint16(1021), + 1562: uint16(110), + 1563: uint16(264), + 1564: uint16(239), + 1565: uint16(901), + 1566: uint16(900), + 1567: uint16(423), + 1568: uint16(242), + 1569: uint16(908), + 1570: uint16(909), + 1571: uint16(370), + 1572: uint16(173), + 1573: uint16(77), + 1574: uint16(77), + 1575: uint16(43), + 1576: uint16(479), + 1577: uint16(1310), + 1578: uint16(264), + 1579: uint16(62), + 1580: uint16(62), + 1581: uint16(369), + 1582: uint16(451), + 1583: uint16(1028), + 1584: uint16(1028), + 1585: uint16(1030), + 1586: uint16(1031), + 1587: uint16(35), + 1588: uint16(1601), + 1589: uint16(1192), + 1590: uint16(453), + 1591: uint16(1092), + 1592: uint16(238), + 1593: uint16(291), + 1594: uint16(565), + 1595: uint16(163), + 1596: uint16(1309), 1597: uint16(110), - 1598: uint16(110), - 1599: uint16(1019), - 1600: uint16(157), - 1601: uint16(157), - 1602: uint16(141), - 1603: uint16(141), - 1604: uint16(572), - 1605: uint16(111), - 1606: uint16(572), - 1607: uint16(449), - 1608: uint16(573), - 1609: uint16(449), - 1610: uint16(412), - 1611: uint16(288), - 1612: uint16(1019), - 1613: uint16(572), - 1614: uint16(882), - 1615: uint16(318), - 1616: uint16(563), - 1617: uint16(572), - 1618: uint16(219), - 1619: uint16(572), - 1620: uint16(241), - 1621: uint16(1012), - 1622: uint16(477), - 1623: uint16(263), - 1624: uint16(263), - 1625: uint16(894), - 1626: uint16(893), - 1627: uint16(140), - 1628: uint16(140), - 1629: uint16(138), - 1630: uint16(138), - 1631: uint16(1019), - 1632: uint16(1019), - 1633: uint16(1021), - 1634: uint16(1022), - 1635: uint16(28), - 1636: uint16(139), - 1637: uint16(139), - 1638: uint16(525), - 1639: uint16(455), - 1640: uint16(76), - 1641: uint16(76), - 1642: uint16(78), - 1643: uint16(78), - 1644: uint16(1019), - 1645: uint16(1019), - 1646: uint16(1021), - 1647: uint16(1022), - 1648: uint16(28), - 1649: uint16(1181), - 1650: uint16(451), - 1651: uint16(572), - 1652: uint16(1083), - 1653: uint16(290), - 1654: uint16(112), - 1655: uint16(564), - 1656: uint16(1575), - 1657: uint16(4), - 1658: uint16(394), - 1659: uint16(394), - 1660: uint16(393), - 1661: uint16(275), - 1662: uint16(391), - 1663: uint16(572), - 1664: uint16(1023), - 1665: uint16(852), - 1666: uint16(572), - 1667: uint16(479), - 1668: uint16(345), - 1669: uint16(263), - 1670: uint16(101), - 1671: uint16(567), - 1672: uint16(882), - 1673: uint16(1376), - 1674: uint16(75), - 1675: uint16(75), - 1676: uint16(1421), - 1677: uint16(501), - 1678: uint16(236), - 1679: uint16(260), - 1680: uint16(325), - 1681: uint16(112), - 1682: uint16(564), - 1683: uint16(359), - 1684: uint16(4), - 1685: uint16(101), - 1686: uint16(43), - 1687: uint16(43), - 1688: uint16(324), - 1689: uint16(49), - 1690: uint16(49), - 1691: uint16(901), - 1692: uint16(902), - 1693: uint16(161), - 1694: uint16(449), - 1695: uint16(101), - 1696: uint16(977), - 1697: uint16(978), - 1698: uint16(567), - 1699: uint16(1079), - 1700: uint16(1349), - 1701: uint16(260), - 1702: uint16(965), - 1703: uint16(932), - 1704: uint16(263), - 1705: uint16(114), - 1706: uint16(561), - 1707: uint16(1095), - 1708: uint16(517), - 1709: uint16(1095), - 1710: uint16(1083), - 1711: uint16(1094), - 1712: uint16(865), - 1713: uint16(1094), - 1714: uint16(151), - 1715: uint16(933), - 1716: uint16(1144), - 1717: uint16(114), - 1718: uint16(238), - 1719: uint16(1361), - 1720: uint16(558), - 1721: uint16(449), - 1722: uint16(1023), - 1723: uint16(559), - 1724: uint16(1426), - 1725: uint16(1278), - 1726: uint16(170), - 1727: uint16(1269), - 1728: uint16(1257), - 1729: uint16(142), - 1730: uint16(1601), - 1731: uint16(1256), - 1732: uint16(1258), - 1733: uint16(561), - 1734: uint16(1594), - 1735: uint16(1031), - 1736: uint16(496), - 1737: uint16(278), - 1738: uint16(213), - 1739: uint16(1346), - 1740: uint16(310), - 1741: uint16(110), - 1742: uint16(110), - 1743: uint16(939), - 1744: uint16(311), - 1745: uint16(312), - 1746: uint16(237), - 1747: uint16(11), - 1748: uint16(234), - 1749: uint16(111), - 1750: uint16(221), - 1751: uint16(449), - 1752: uint16(573), - 1753: uint16(449), - 1754: uint16(293), - 1755: uint16(395), - 1756: uint16(1019), - 1757: uint16(1408), - 1758: uint16(337), - 1759: uint16(1403), - 1760: uint16(1396), - 1761: uint16(338), - 1762: uint16(1031), - 1763: uint16(299), - 1764: uint16(343), - 1765: uint16(1413), - 1766: uint16(1412), - 1767: uint16(481), - 1768: uint16(110), - 1769: uint16(110), - 1770: uint16(506), - 1771: uint16(402), - 1772: uint16(225), - 1773: uint16(1296), - 1774: uint16(206), - 1775: uint16(367), - 1776: uint16(111), - 1777: uint16(1358), - 1778: uint16(449), - 1779: uint16(573), - 1780: uint16(449), - 1781: uint16(412), - 1782: uint16(1359), - 1783: uint16(1019), - 1784: uint16(1489), - 1785: uint16(1488), - 1786: uint16(318), - 1787: uint16(563), - 1788: uint16(1019), - 1789: uint16(1019), - 1790: uint16(1021), - 1791: uint16(1022), - 1792: uint16(28), - 1793: uint16(562), - 1794: uint16(207), - 1795: uint16(220), - 1796: uint16(80), - 1797: uint16(564), - 1798: uint16(389), - 1799: uint16(4), - 1800: uint16(1597), - 1801: uint16(1357), - 1802: uint16(552), - 1803: uint16(1356), - 1804: uint16(1233), - 1805: uint16(181), - 1806: uint16(267), - 1807: uint16(232), - 1808: uint16(1536), - 1809: uint16(1534), - 1810: uint16(455), - 1811: uint16(1230), - 1812: uint16(420), - 1813: uint16(567), - 1814: uint16(82), - 1815: uint16(1019), - 1816: uint16(1019), - 1817: uint16(1021), - 1818: uint16(1022), - 1819: uint16(28), - 1820: uint16(86), - 1821: uint16(217), - 1822: uint16(85), - 1823: uint16(1494), - 1824: uint16(190), - 1825: uint16(175), - 1826: uint16(183), - 1827: uint16(465), - 1828: uint16(185), - 1829: uint16(466), - 1830: uint16(36), - 1831: uint16(1409), - 1832: uint16(186), - 1833: uint16(187), - 1834: uint16(188), - 1835: uint16(499), - 1836: uint16(449), - 1837: uint16(244), - 1838: uint16(37), - 1839: uint16(99), - 1840: uint16(400), - 1841: uint16(1415), - 1842: uint16(1414), - 1843: uint16(488), - 1844: uint16(1417), - 1845: uint16(194), - 1846: uint16(473), - 1847: uint16(403), - 1848: uint16(561), - 1849: uint16(1483), - 1850: uint16(248), - 1851: uint16(92), - 1852: uint16(1505), - 1853: uint16(494), - 1854: uint16(198), - 1855: uint16(279), - 1856: uint16(112), - 1857: uint16(564), - 1858: uint16(250), - 1859: uint16(4), - 1860: uint16(348), - 1861: uint16(497), - 1862: uint16(405), - 1863: uint16(352), - 1864: uint16(1259), - 1865: uint16(251), - 1866: uint16(252), - 1867: uint16(515), - 1868: uint16(1316), - 1869: uint16(434), - 1870: uint16(1315), - 1871: uint16(1314), - 1872: uint16(94), - 1873: uint16(567), - 1874: uint16(1307), - 1875: uint16(886), - 1876: uint16(1306), - 1877: uint16(1031), - 1878: uint16(226), - 1879: uint16(406), - 1880: uint16(1611), - 1881: uint16(1610), - 1882: uint16(438), - 1883: uint16(110), - 1884: uint16(110), - 1885: uint16(1580), - 1886: uint16(1286), - 1887: uint16(524), - 1888: uint16(439), - 1889: uint16(308), - 1890: uint16(266), - 1891: uint16(111), - 1892: uint16(1285), - 1893: uint16(449), - 1894: uint16(573), - 1895: uint16(449), - 1896: uint16(449), - 1897: uint16(309), - 1898: uint16(1019), - 1899: uint16(366), - 1900: uint16(1284), - 1901: uint16(1609), - 1902: uint16(265), - 1903: uint16(1566), - 1904: uint16(1565), - 1905: uint16(442), - 1906: uint16(372), - 1907: uint16(1381), - 1908: uint16(561), - 1909: uint16(129), - 1910: uint16(550), - 1911: uint16(1380), - 1912: uint16(10), - 1913: uint16(1470), - 1914: uint16(383), - 1915: uint16(106), - 1916: uint16(316), - 1917: uint16(551), - 1918: uint16(100), - 1919: uint16(35), - 1920: uint16(534), - 1921: uint16(575), - 1922: uint16(212), - 1923: uint16(1339), - 1924: uint16(381), - 1925: uint16(387), - 1926: uint16(1187), - 1927: uint16(1338), - 1928: uint16(274), - 1929: uint16(276), - 1930: uint16(1019), - 1931: uint16(1019), - 1932: uint16(1021), - 1933: uint16(1022), - 1934: uint16(28), - 1935: uint16(277), - 1936: uint16(413), - 1937: uint16(1031), - 1938: uint16(576), - 1939: uint16(1254), - 1940: uint16(388), - 1941: uint16(1521), - 1942: uint16(1249), - 1943: uint16(110), - 1944: uint16(110), - 1945: uint16(167), - 1946: uint16(1522), - 1947: uint16(168), - 1948: uint16(148), - 1949: uint16(1520), - 1950: uint16(1519), - 1951: uint16(111), - 1952: uint16(306), - 1953: uint16(449), - 1954: uint16(573), - 1955: uint16(449), - 1956: uint16(222), - 1957: uint16(223), - 1958: uint16(1019), - 1959: uint16(839), - 1960: uint16(169), - 1961: uint16(79), - 1962: uint16(450), - 1963: uint16(214), - 1964: uint16(414), - 1965: uint16(233), - 1966: uint16(320), - 1967: uint16(145), - 1968: uint16(1093), - 1969: uint16(1091), - 1970: uint16(328), - 1971: uint16(182), - 1972: uint16(171), - 1973: uint16(1212), - 1974: uint16(918), - 1975: uint16(184), - 1976: uint16(240), - 1977: uint16(336), - 1978: uint16(243), - 1979: uint16(1107), - 1980: uint16(189), - 1981: uint16(172), - 1982: uint16(173), - 1983: uint16(423), - 1984: uint16(425), - 1985: uint16(88), - 1986: uint16(180), - 1987: uint16(191), - 1988: uint16(89), - 1989: uint16(90), - 1990: uint16(1019), - 1991: uint16(1019), - 1992: uint16(1021), - 1993: uint16(1022), - 1994: uint16(28), - 1995: uint16(91), - 1996: uint16(174), - 1997: uint16(1110), - 1998: uint16(245), - 1999: uint16(1106), - 2000: uint16(246), - 2001: uint16(159), - 2002: uint16(18), - 2003: uint16(247), - 2004: uint16(347), - 2005: uint16(1099), - 2006: uint16(263), - 2007: uint16(195), - 2008: uint16(1227), - 2009: uint16(493), - 2010: uint16(249), - 2011: uint16(196), - 2012: uint16(38), - 2013: uint16(854), - 2014: uint16(498), - 2015: uint16(368), - 2016: uint16(253), - 2017: uint16(360), - 2018: uint16(897), - 2019: uint16(197), - 2020: uint16(502), - 2021: uint16(93), - 2022: uint16(19), - 2023: uint16(20), - 2024: uint16(507), - 2025: uint16(884), - 2026: uint16(363), - 2027: uint16(510), - 2028: uint16(95), - 2029: uint16(307), - 2030: uint16(160), - 2031: uint16(96), - 2032: uint16(518), - 2033: uint16(97), - 2034: uint16(1175), - 2035: uint16(1060), - 2036: uint16(1146), - 2037: uint16(40), - 2038: uint16(21), - 2039: uint16(227), - 2040: uint16(176), - 2041: uint16(1145), - 2042: uint16(282), - 2043: uint16(284), - 2044: uint16(969), - 2045: uint16(200), - 2046: uint16(963), - 2047: uint16(114), - 2048: uint16(262), - 2049: uint16(1165), - 2050: uint16(22), - 2051: uint16(23), - 2052: uint16(24), - 2053: uint16(1161), - 2054: uint16(1169), - 2055: uint16(25), - 2056: uint16(1163), - 2057: uint16(1150), - 2058: uint16(34), - 2059: uint16(26), - 2060: uint16(1168), - 2061: uint16(546), - 2062: uint16(27), - 2063: uint16(204), - 2064: uint16(101), - 2065: uint16(103), - 2066: uint16(104), - 2067: uint16(1074), - 2068: uint16(7), - 2069: uint16(1061), - 2070: uint16(1059), - 2071: uint16(1063), - 2072: uint16(1116), - 2073: uint16(1064), - 2074: uint16(1115), - 2075: uint16(268), - 2076: uint16(269), - 2077: uint16(29), - 2078: uint16(41), - 2079: uint16(270), - 2080: uint16(1024), - 2081: uint16(866), - 2082: uint16(113), - 2083: uint16(30), - 2084: uint16(568), - 2085: uint16(392), - 2086: uint16(1183), - 2087: uint16(144), - 2088: uint16(178), - 2089: uint16(1182), - 2090: uint16(271), - 2091: uint16(928), - 2092: uint16(1245), - 2093: uint16(1245), - 2094: uint16(1245), - 2095: uint16(1245), - 2096: uint16(1245), - 2097: uint16(1245), - 2098: uint16(1245), - 2099: uint16(1602), -} -var _yy_lookahead = [2285]uint16{ - 0: uint16(193), - 1: uint16(193), - 2: uint16(193), - 3: uint16(274), - 4: uint16(275), - 5: uint16(276), - 6: uint16(193), - 7: uint16(274), - 8: uint16(275), - 9: uint16(276), - 10: uint16(193), - 11: uint16(223), - 12: uint16(219), - 13: uint16(225), - 14: uint16(206), - 15: uint16(210), - 16: uint16(211), - 17: uint16(212), - 18: uint16(193), + 1598: uint16(395), + 1599: uint16(395), + 1600: uint16(394), + 1601: uint16(276), + 1602: uint16(392), + 1603: uint16(986), + 1604: uint16(987), + 1605: uint16(859), + 1606: uint16(481), + 1607: uint16(346), + 1608: uint16(264), + 1609: uint16(110), + 1610: uint16(1032), + 1611: uint16(489), + 1612: uint16(576), + 1613: uint16(1188), + 1614: uint16(503), + 1615: uint16(1088), + 1616: uint16(261), + 1617: uint16(261), + 1618: uint16(237), + 1619: uint16(576), + 1620: uint16(326), + 1621: uint16(121), + 1622: uint16(568), + 1623: uint16(1040), + 1624: uint16(4), + 1625: uint16(347), + 1626: uint16(1376), + 1627: uint16(413), + 1628: uint16(325), + 1629: uint16(119), + 1630: uint16(119), + 1631: uint16(948), + 1632: uint16(319), + 1633: uint16(567), + 1634: uint16(351), + 1635: uint16(78), + 1636: uint16(78), + 1637: uint16(120), + 1638: uint16(571), + 1639: uint16(451), + 1640: uint16(577), + 1641: uint16(451), + 1642: uint16(79), + 1643: uint16(79), + 1644: uint16(1028), + 1645: uint16(354), + 1646: uint16(356), + 1647: uint16(576), + 1648: uint16(360), + 1649: uint16(1092), + 1650: uint16(110), + 1651: uint16(576), + 1652: uint16(974), + 1653: uint16(942), + 1654: uint16(264), + 1655: uint16(123), + 1656: uint16(457), + 1657: uint16(358), + 1658: uint16(239), + 1659: uint16(576), + 1660: uint16(519), + 1661: uint16(451), + 1662: uint16(939), + 1663: uint16(1104), + 1664: uint16(123), + 1665: uint16(1104), + 1666: uint16(173), + 1667: uint16(576), + 1668: uint16(1032), + 1669: uint16(43), + 1670: uint16(63), + 1671: uint16(63), + 1672: uint16(1324), + 1673: uint16(565), + 1674: uint16(168), + 1675: uint16(168), + 1676: uint16(1028), + 1677: uint16(1028), + 1678: uint16(1030), + 1679: uint16(1031), + 1680: uint16(35), + 1681: uint16(576), + 1682: uint16(169), + 1683: uint16(169), + 1684: uint16(1308), + 1685: uint16(872), + 1686: uint16(238), + 1687: uint16(157), + 1688: uint16(1589), + 1689: uint16(576), + 1690: uint16(86), + 1691: uint16(86), + 1692: uint16(365), + 1693: uint16(89), + 1694: uint16(568), + 1695: uint16(375), + 1696: uint16(4), + 1697: uint16(1103), + 1698: uint16(941), + 1699: uint16(1103), + 1700: uint16(123), + 1701: uint16(576), + 1702: uint16(1040), + 1703: uint16(1389), + 1704: uint16(64), + 1705: uint16(64), + 1706: uint16(1188), + 1707: uint16(1434), + 1708: uint16(119), + 1709: uint16(119), + 1710: uint16(571), + 1711: uint16(576), + 1712: uint16(82), + 1713: uint16(82), + 1714: uint16(563), + 1715: uint16(576), + 1716: uint16(120), + 1717: uint16(165), + 1718: uint16(451), + 1719: uint16(577), + 1720: uint16(451), + 1721: uint16(413), + 1722: uint16(1362), + 1723: uint16(1028), + 1724: uint16(144), + 1725: uint16(144), + 1726: uint16(319), + 1727: uint16(567), + 1728: uint16(576), + 1729: uint16(1374), + 1730: uint16(562), + 1731: uint16(498), + 1732: uint16(279), + 1733: uint16(451), + 1734: uint16(83), + 1735: uint16(83), + 1736: uint16(1439), + 1737: uint16(576), + 1738: uint16(166), + 1739: uint16(166), + 1740: uint16(576), + 1741: uint16(1289), + 1742: uint16(554), + 1743: uint16(576), + 1744: uint16(1280), + 1745: uint16(565), + 1746: uint16(576), + 1747: uint16(12), + 1748: uint16(576), + 1749: uint16(1268), + 1750: uint16(457), + 1751: uint16(146), + 1752: uint16(146), + 1753: uint16(1267), + 1754: uint16(576), + 1755: uint16(1028), + 1756: uint16(1028), + 1757: uint16(1030), + 1758: uint16(1031), + 1759: uint16(35), + 1760: uint16(140), + 1761: uint16(140), + 1762: uint16(1269), + 1763: uint16(167), + 1764: uint16(167), + 1765: uint16(1609), + 1766: uint16(160), + 1767: uint16(160), + 1768: uint16(1359), + 1769: uint16(150), + 1770: uint16(150), + 1771: uint16(149), + 1772: uint16(149), + 1773: uint16(311), + 1774: uint16(1040), + 1775: uint16(576), + 1776: uint16(312), + 1777: uint16(147), + 1778: uint16(147), + 1779: uint16(313), + 1780: uint16(119), + 1781: uint16(119), + 1782: uint16(222), + 1783: uint16(235), + 1784: uint16(576), + 1785: uint16(1188), + 1786: uint16(396), + 1787: uint16(576), + 1788: uint16(120), + 1789: uint16(576), + 1790: uint16(451), + 1791: uint16(577), + 1792: uint16(451), + 1793: uint16(1192), + 1794: uint16(453), + 1795: uint16(1028), + 1796: uint16(508), + 1797: uint16(291), + 1798: uint16(148), + 1799: uint16(148), + 1800: uint16(1421), + 1801: uint16(1612), + 1802: uint16(395), + 1803: uint16(395), + 1804: uint16(394), + 1805: uint16(276), + 1806: uint16(392), + 1807: uint16(85), + 1808: uint16(85), + 1809: uint16(859), + 1810: uint16(87), + 1811: uint16(87), + 1812: uint16(84), + 1813: uint16(84), + 1814: uint16(553), + 1815: uint16(576), + 1816: uint16(294), + 1817: uint16(576), + 1818: uint16(1426), + 1819: uint16(338), + 1820: uint16(339), + 1821: uint16(1425), + 1822: uint16(237), + 1823: uint16(300), + 1824: uint16(326), + 1825: uint16(1416), + 1826: uint16(1409), + 1827: uint16(1028), + 1828: uint16(1028), + 1829: uint16(1030), + 1830: uint16(1031), + 1831: uint16(35), + 1832: uint16(325), + 1833: uint16(344), + 1834: uint16(403), + 1835: uint16(483), + 1836: uint16(226), + 1837: uint16(1307), + 1838: uint16(52), + 1839: uint16(52), + 1840: uint16(58), + 1841: uint16(58), + 1842: uint16(368), + 1843: uint16(1371), + 1844: uint16(1502), + 1845: uint16(566), + 1846: uint16(1501), + 1847: uint16(121), + 1848: uint16(568), + 1849: uint16(221), + 1850: uint16(4), + 1851: uint16(208), + 1852: uint16(268), + 1853: uint16(209), + 1854: uint16(390), + 1855: uint16(1244), + 1856: uint16(1549), + 1857: uint16(1188), + 1858: uint16(1372), + 1859: uint16(1370), + 1860: uint16(1369), + 1861: uint16(1547), + 1862: uint16(239), + 1863: uint16(184), + 1864: uint16(571), + 1865: uint16(233), + 1866: uint16(421), + 1867: uint16(1241), + 1868: uint16(95), + 1869: uint16(218), + 1870: uint16(173), + 1871: uint16(1507), + 1872: uint16(193), + 1873: uint16(43), + 1874: uint16(91), + 1875: uint16(94), + 1876: uint16(178), + 1877: uint16(186), + 1878: uint16(467), + 1879: uint16(188), + 1880: uint16(468), + 1881: uint16(1422), + 1882: uint16(13), + 1883: uint16(189), + 1884: uint16(190), + 1885: uint16(191), + 1886: uint16(501), + 1887: uint16(451), + 1888: uint16(245), + 1889: uint16(108), + 1890: uint16(238), + 1891: uint16(401), + 1892: uint16(1428), + 1893: uint16(1427), + 1894: uint16(1430), + 1895: uint16(475), + 1896: uint16(404), + 1897: uint16(1496), + 1898: uint16(197), + 1899: uint16(565), + 1900: uint16(14), + 1901: uint16(490), + 1902: uint16(249), + 1903: uint16(101), + 1904: uint16(1518), + 1905: uint16(496), + 1906: uint16(349), + 1907: uint16(280), + 1908: uint16(251), + 1909: uint16(201), + 1910: uint16(353), + 1911: uint16(499), + 1912: uint16(252), + 1913: uint16(406), + 1914: uint16(1270), + 1915: uint16(253), + 1916: uint16(517), + 1917: uint16(1327), + 1918: uint16(1326), + 1919: uint16(435), + 1920: uint16(1325), + 1921: uint16(1318), + 1922: uint16(103), + 1923: uint16(893), + 1924: uint16(1296), + 1925: uint16(413), + 1926: uint16(227), + 1927: uint16(407), + 1928: uint16(1040), + 1929: uint16(1626), + 1930: uint16(319), + 1931: uint16(567), + 1932: uint16(1625), + 1933: uint16(1297), + 1934: uint16(119), + 1935: uint16(119), + 1936: uint16(439), + 1937: uint16(367), + 1938: uint16(1317), + 1939: uint16(1295), + 1940: uint16(1624), + 1941: uint16(526), + 1942: uint16(120), + 1943: uint16(440), + 1944: uint16(451), + 1945: uint16(577), + 1946: uint16(451), + 1947: uint16(1594), + 1948: uint16(309), + 1949: uint16(1028), + 1950: uint16(310), + 1951: uint16(373), + 1952: uint16(266), + 1953: uint16(267), + 1954: uint16(457), + 1955: uint16(1580), + 1956: uint16(1579), + 1957: uint16(443), + 1958: uint16(138), + 1959: uint16(1394), + 1960: uint16(552), + 1961: uint16(1393), + 1962: uint16(11), + 1963: uint16(1483), + 1964: uint16(384), + 1965: uint16(115), + 1966: uint16(317), + 1967: uint16(1350), + 1968: uint16(109), + 1969: uint16(536), + 1970: uint16(42), + 1971: uint16(579), + 1972: uint16(382), + 1973: uint16(214), + 1974: uint16(1349), + 1975: uint16(388), + 1976: uint16(1198), + 1977: uint16(389), + 1978: uint16(275), + 1979: uint16(277), + 1980: uint16(278), + 1981: uint16(1028), + 1982: uint16(1028), + 1983: uint16(1030), + 1984: uint16(1031), + 1985: uint16(35), + 1986: uint16(580), + 1987: uint16(1265), + 1988: uint16(414), + 1989: uint16(1260), + 1990: uint16(170), + 1991: uint16(415), + 1992: uint16(183), + 1993: uint16(1534), + 1994: uint16(1535), + 1995: uint16(1533), + 1996: uint16(171), + 1997: uint16(154), + 1998: uint16(307), + 1999: uint16(1532), + 2000: uint16(846), + 2001: uint16(223), + 2002: uint16(224), + 2003: uint16(88), + 2004: uint16(452), + 2005: uint16(215), + 2006: uint16(172), + 2007: uint16(321), + 2008: uint16(234), + 2009: uint16(1102), + 2010: uint16(152), + 2011: uint16(1188), + 2012: uint16(1100), + 2013: uint16(329), + 2014: uint16(185), + 2015: uint16(174), + 2016: uint16(1223), + 2017: uint16(925), + 2018: uint16(187), + 2019: uint16(241), + 2020: uint16(337), + 2021: uint16(244), + 2022: uint16(1116), + 2023: uint16(192), + 2024: uint16(175), + 2025: uint16(176), + 2026: uint16(424), + 2027: uint16(426), + 2028: uint16(97), + 2029: uint16(194), + 2030: uint16(98), + 2031: uint16(99), + 2032: uint16(100), + 2033: uint16(177), + 2034: uint16(1119), + 2035: uint16(1115), + 2036: uint16(246), + 2037: uint16(247), + 2038: uint16(161), + 2039: uint16(24), + 2040: uint16(248), + 2041: uint16(348), + 2042: uint16(1238), + 2043: uint16(264), + 2044: uint16(1108), + 2045: uint16(250), + 2046: uint16(495), + 2047: uint16(199), + 2048: uint16(198), + 2049: uint16(15), + 2050: uint16(861), + 2051: uint16(500), + 2052: uint16(369), + 2053: uint16(254), + 2054: uint16(504), + 2055: uint16(509), + 2056: uint16(512), + 2057: uint16(200), + 2058: uint16(102), + 2059: uint16(25), + 2060: uint16(179), + 2061: uint16(361), + 2062: uint16(26), + 2063: uint16(364), + 2064: uint16(104), + 2065: uint16(891), + 2066: uint16(308), + 2067: uint16(162), + 2068: uint16(105), + 2069: uint16(904), + 2070: uint16(520), + 2071: uint16(106), + 2072: uint16(1185), + 2073: uint16(1069), + 2074: uint16(1155), + 2075: uint16(17), + 2076: uint16(228), + 2077: uint16(27), + 2078: uint16(1154), + 2079: uint16(283), + 2080: uint16(285), + 2081: uint16(263), + 2082: uint16(978), + 2083: uint16(202), + 2084: uint16(972), + 2085: uint16(123), + 2086: uint16(28), + 2087: uint16(1175), + 2088: uint16(29), + 2089: uint16(30), + 2090: uint16(1179), + 2091: uint16(1171), + 2092: uint16(31), + 2093: uint16(1173), + 2094: uint16(1160), + 2095: uint16(41), + 2096: uint16(32), + 2097: uint16(206), + 2098: uint16(548), + 2099: uint16(33), + 2100: uint16(110), + 2101: uint16(1178), + 2102: uint16(1083), + 2103: uint16(8), + 2104: uint16(112), + 2105: uint16(1070), + 2106: uint16(113), + 2107: uint16(1068), + 2108: uint16(1072), + 2109: uint16(34), + 2110: uint16(1073), + 2111: uint16(560), + 2112: uint16(1125), + 2113: uint16(269), + 2114: uint16(1124), + 2115: uint16(270), + 2116: uint16(36), + 2117: uint16(18), + 2118: uint16(1194), + 2119: uint16(1033), + 2120: uint16(873), + 2121: uint16(151), + 2122: uint16(122), + 2123: uint16(37), + 2124: uint16(393), + 2125: uint16(271), + 2126: uint16(272), + 2127: uint16(572), + 2128: uint16(181), + 2129: uint16(1193), + 2130: uint16(1256), + 2131: uint16(1256), + 2132: uint16(1256), + 2133: uint16(935), + 2134: uint16(1256), + 2135: uint16(1256), + 2136: uint16(1256), + 2137: uint16(1256), + 2138: uint16(1256), + 2139: uint16(1256), + 2140: uint16(1256), + 2141: uint16(1617), +} +var _yy_lookahead = [2328]uint16{ + 0: uint16(194), + 1: uint16(276), + 2: uint16(277), + 3: uint16(278), + 4: uint16(216), + 5: uint16(194), + 6: uint16(194), + 7: uint16(217), + 8: uint16(194), + 9: uint16(194), + 10: uint16(194), + 11: uint16(194), + 12: uint16(224), + 13: uint16(194), + 14: uint16(194), + 15: uint16(276), + 16: uint16(277), + 17: uint16(278), + 18: uint16(204), 19: uint16(19), - 20: uint16(219), - 21: uint16(233), - 22: uint16(216), - 23: uint16(216), - 24: uint16(217), - 25: uint16(216), - 26: uint16(217), - 27: uint16(193), - 28: uint16(295), - 29: uint16(216), - 30: uint16(217), + 20: uint16(206), + 21: uint16(202), + 22: uint16(297), + 23: uint16(217), + 24: uint16(218), + 25: uint16(205), + 26: uint16(207), + 27: uint16(217), + 28: uint16(205), + 29: uint16(217), + 30: uint16(218), 31: uint16(31), - 32: uint16(193), - 33: uint16(216), + 32: uint16(217), + 33: uint16(218), 34: uint16(217), - 35: uint16(193), - 36: uint16(228), - 37: uint16(213), - 38: uint16(230), + 35: uint16(218), + 36: uint16(29), + 37: uint16(217), + 38: uint16(218), 39: uint16(39), - 40: uint16(206), - 41: uint16(216), - 42: uint16(217), + 40: uint16(33), + 41: uint16(217), + 42: uint16(220), 43: uint16(43), 44: uint16(44), 45: uint16(45), @@ -154906,31 +156279,31 @@ var _yy_lookahead = [2285]uint16{ 55: uint16(55), 56: uint16(56), 57: uint16(57), - 58: uint16(193), + 58: uint16(312), 59: uint16(19), - 60: uint16(185), - 61: uint16(186), - 62: uint16(187), - 63: uint16(188), - 64: uint16(189), - 65: uint16(190), - 66: uint16(253), - 67: uint16(274), - 68: uint16(275), - 69: uint16(276), - 70: uint16(195), - 71: uint16(193), - 72: uint16(197), - 73: uint16(193), - 74: uint16(261), - 75: uint16(274), - 76: uint16(275), - 77: uint16(276), - 78: uint16(253), - 79: uint16(204), - 80: uint16(238), - 81: uint16(204), - 82: uint16(81), + 60: uint16(240), + 61: uint16(241), + 62: uint16(316), + 63: uint16(240), + 64: uint16(241), + 65: uint16(194), + 66: uint16(46), + 67: uint16(47), + 68: uint16(48), + 69: uint16(49), + 70: uint16(22), + 71: uint16(254), + 72: uint16(65), + 73: uint16(253), + 74: uint16(254), + 75: uint16(255), + 76: uint16(253), + 77: uint16(194), + 78: uint16(255), + 79: uint16(194), + 80: uint16(263), + 81: uint16(258), + 82: uint16(259), 83: uint16(43), 84: uint16(44), 85: uint16(45), @@ -154946,10 +156319,10 @@ var _yy_lookahead = [2285]uint16{ 95: uint16(55), 96: uint16(56), 97: uint16(57), - 98: uint16(274), - 99: uint16(275), - 100: uint16(276), - 101: uint16(262), + 98: uint16(276), + 99: uint16(277), + 100: uint16(278), + 101: uint16(285), 102: uint16(102), 103: uint16(103), 104: uint16(104), @@ -154962,34 +156335,34 @@ var _yy_lookahead = [2285]uint16{ 111: uint16(111), 112: uint16(112), 113: uint16(113), - 114: uint16(239), - 115: uint16(240), - 116: uint16(239), - 117: uint16(240), - 118: uint16(210), - 119: uint16(211), - 120: uint16(212), - 121: uint16(314), - 122: uint16(315), - 123: uint16(314), - 124: uint16(59), - 125: uint16(316), + 114: uint16(59), + 115: uint16(186), + 116: uint16(187), + 117: uint16(188), + 118: uint16(189), + 119: uint16(190), + 120: uint16(191), + 121: uint16(310), + 122: uint16(239), + 123: uint16(317), + 124: uint16(318), + 125: uint16(196), 126: uint16(86), - 127: uint16(252), + 127: uint16(198), 128: uint16(88), - 129: uint16(252), + 129: uint16(317), 130: uint16(19), - 131: uint16(314), - 132: uint16(315), - 133: uint16(256), - 134: uint16(257), - 135: uint16(113), + 131: uint16(319), + 132: uint16(317), + 133: uint16(318), + 134: uint16(205), + 135: uint16(264), 136: uint16(25), - 137: uint16(72), - 138: uint16(296), - 139: uint16(138), - 140: uint16(139), - 141: uint16(266), + 137: uint16(211), + 138: uint16(212), + 139: uint16(213), + 140: uint16(205), + 141: uint16(121), 142: uint16(102), 143: uint16(103), 144: uint16(104), @@ -155017,50 +156390,50 @@ var _yy_lookahead = [2285]uint16{ 166: uint16(55), 167: uint16(56), 168: uint16(57), - 169: uint16(81), - 170: uint16(292), - 171: uint16(59), - 172: uint16(292), - 173: uint16(298), - 174: uint16(108), - 175: uint16(109), - 176: uint16(110), - 177: uint16(111), - 178: uint16(112), - 179: uint16(113), + 169: uint16(240), + 170: uint16(241), + 171: uint16(116), + 172: uint16(117), + 173: uint16(118), + 174: uint16(119), + 175: uint16(240), + 176: uint16(241), + 177: uint16(122), + 178: uint16(123), + 179: uint16(124), 180: uint16(69), - 181: uint16(116), - 182: uint16(117), - 183: uint16(118), - 184: uint16(72), + 181: uint16(298), + 182: uint16(253), + 183: uint16(194), + 184: uint16(255), 185: uint16(106), 186: uint16(107), - 187: uint16(193), - 188: uint16(111), - 189: uint16(112), - 190: uint16(113), + 187: uint16(132), + 188: uint16(253), + 189: uint16(141), + 190: uint16(255), 191: uint16(54), 192: uint16(55), 193: uint16(56), 194: uint16(57), 195: uint16(58), - 196: uint16(102), - 197: uint16(103), - 198: uint16(104), - 199: uint16(105), - 200: uint16(106), - 201: uint16(107), - 202: uint16(108), - 203: uint16(109), - 204: uint16(110), - 205: uint16(111), - 206: uint16(112), - 207: uint16(113), - 208: uint16(120), - 209: uint16(25), - 210: uint16(216), - 211: uint16(217), - 212: uint16(145), + 196: uint16(207), + 197: uint16(268), + 198: uint16(102), + 199: uint16(103), + 200: uint16(104), + 201: uint16(105), + 202: uint16(106), + 203: uint16(107), + 204: uint16(108), + 205: uint16(109), + 206: uint16(110), + 207: uint16(111), + 208: uint16(112), + 209: uint16(113), + 210: uint16(214), + 211: uint16(128), + 212: uint16(129), 213: uint16(102), 214: uint16(103), 215: uint16(104), @@ -155073,13 +156446,13 @@ var _yy_lookahead = [2285]uint16{ 222: uint16(111), 223: uint16(112), 224: uint16(113), - 225: uint16(231), - 226: uint16(138), - 227: uint16(139), - 228: uint16(116), - 229: uint16(117), - 230: uint16(118), - 231: uint16(164), + 225: uint16(134), + 226: uint16(25), + 227: uint16(136), + 228: uint16(137), + 229: uint16(300), + 230: uint16(165), + 231: uint16(166), 232: uint16(153), 233: uint16(19), 234: uint16(155), @@ -155099,12 +156472,12 @@ var _yy_lookahead = [2285]uint16{ 248: uint16(111), 249: uint16(112), 250: uint16(113), - 251: uint16(128), - 252: uint16(129), - 253: uint16(46), - 254: uint16(47), - 255: uint16(48), - 256: uint16(49), + 251: uint16(108), + 252: uint16(109), + 253: uint16(110), + 254: uint16(111), + 255: uint16(112), + 256: uint16(113), 257: uint16(43), 258: uint16(44), 259: uint16(45), @@ -155120,15 +156493,15 @@ var _yy_lookahead = [2285]uint16{ 269: uint16(55), 270: uint16(56), 271: uint16(57), - 272: uint16(216), - 273: uint16(193), - 274: uint16(25), - 275: uint16(59), - 276: uint16(193), + 272: uint16(276), + 273: uint16(277), + 274: uint16(278), + 275: uint16(113), + 276: uint16(194), 277: uint16(19), - 278: uint16(165), - 279: uint16(166), - 280: uint16(193), + 278: uint16(22), + 279: uint16(23), + 280: uint16(194), 281: uint16(67), 282: uint16(24), 283: uint16(102), @@ -155143,12 +156516,12 @@ var _yy_lookahead = [2285]uint16{ 292: uint16(111), 293: uint16(112), 294: uint16(113), - 295: uint16(73), - 296: uint16(216), - 297: uint16(217), - 298: uint16(59), - 299: uint16(216), - 300: uint16(217), + 295: uint16(220), + 296: uint16(250), + 297: uint16(59), + 298: uint16(252), + 299: uint16(217), + 300: uint16(218), 301: uint16(43), 302: uint16(44), 303: uint16(45), @@ -155176,38 +156549,38 @@ var _yy_lookahead = [2285]uint16{ 325: uint16(111), 326: uint16(112), 327: uint16(113), - 328: uint16(121), - 329: uint16(145), - 330: uint16(59), - 331: uint16(193), - 332: uint16(116), - 333: uint16(117), - 334: uint16(118), - 335: uint16(119), - 336: uint16(273), - 337: uint16(204), - 338: uint16(122), - 339: uint16(123), - 340: uint16(124), + 328: uint16(106), + 329: uint16(107), + 330: uint16(108), + 331: uint16(109), + 332: uint16(110), + 333: uint16(111), + 334: uint16(112), + 335: uint16(113), + 336: uint16(254), + 337: uint16(59), + 338: uint16(205), + 339: uint16(138), + 340: uint16(139), 341: uint16(19), 342: uint16(20), - 343: uint16(134), + 343: uint16(194), 344: uint16(22), - 345: uint16(136), - 346: uint16(137), - 347: uint16(19), - 348: uint16(132), - 349: uint16(127), - 350: uint16(128), - 351: uint16(129), - 352: uint16(24), - 353: uint16(22), - 354: uint16(23), - 355: uint16(116), - 356: uint16(117), - 357: uint16(118), + 345: uint16(263), + 346: uint16(22), + 347: uint16(23), + 348: uint16(231), + 349: uint16(25), + 350: uint16(72), + 351: uint16(276), + 352: uint16(277), + 353: uint16(278), + 354: uint16(116), + 355: uint16(117), + 356: uint16(118), + 357: uint16(101), 358: uint16(36), - 359: uint16(193), + 359: uint16(76), 360: uint16(102), 361: uint16(103), 362: uint16(104), @@ -155220,37 +156593,37 @@ var _yy_lookahead = [2285]uint16{ 369: uint16(111), 370: uint16(112), 371: uint16(113), - 372: uint16(239), + 372: uint16(89), 373: uint16(240), - 374: uint16(311), - 375: uint16(312), - 376: uint16(215), - 377: uint16(106), - 378: uint16(107), - 379: uint16(241), + 374: uint16(241), + 375: uint16(92), + 376: uint16(73), + 377: uint16(194), + 378: uint16(194), + 379: uint16(73), 380: uint16(19), 381: uint16(59), - 382: uint16(216), - 383: uint16(217), - 384: uint16(223), - 385: uint16(252), - 386: uint16(115), - 387: uint16(116), - 388: uint16(117), - 389: uint16(118), - 390: uint16(151), - 391: uint16(120), - 392: uint16(26), + 382: uint16(188), + 383: uint16(189), + 384: uint16(190), + 385: uint16(191), + 386: uint16(253), + 387: uint16(81), + 388: uint16(255), + 389: uint16(151), + 390: uint16(196), + 391: uint16(25), + 392: uint16(198), 393: uint16(71), - 394: uint16(193), - 395: uint16(308), - 396: uint16(309), - 397: uint16(193), - 398: uint16(149), - 399: uint16(128), - 400: uint16(313), - 401: uint16(216), - 402: uint16(269), + 394: uint16(116), + 395: uint16(117), + 396: uint16(118), + 397: uint16(311), + 398: uint16(312), + 399: uint16(205), + 400: uint16(217), + 401: uint16(218), + 402: uint16(316), 403: uint16(81), 404: uint16(43), 405: uint16(44), @@ -155267,50 +156640,50 @@ var _yy_lookahead = [2285]uint16{ 416: uint16(55), 417: uint16(56), 418: uint16(57), - 419: uint16(253), - 420: uint16(216), - 421: uint16(217), + 419: uint16(270), + 420: uint16(22), + 421: uint16(23), 422: uint16(100), - 423: uint16(95), - 424: uint16(153), - 425: uint16(59), - 426: uint16(155), - 427: uint16(261), + 423: uint16(25), + 424: uint16(59), + 425: uint16(101), + 426: uint16(138), + 427: uint16(139), 428: uint16(106), 429: uint16(107), - 430: uint16(25), - 431: uint16(193), - 432: uint16(101), - 433: uint16(193), - 434: uint16(193), - 435: uint16(231), + 430: uint16(127), + 431: uint16(128), + 432: uint16(129), + 433: uint16(127), + 434: uint16(240), + 435: uint16(241), 436: uint16(114), - 437: uint16(25), + 437: uint16(254), 438: uint16(116), 439: uint16(117), 440: uint16(118), - 441: uint16(113), - 442: uint16(304), + 441: uint16(76), + 442: uint16(76), 443: uint16(121), - 444: uint16(193), - 445: uint16(204), - 446: uint16(59), - 447: uint16(119), - 448: uint16(120), - 449: uint16(121), - 450: uint16(122), - 451: uint16(123), - 452: uint16(124), - 453: uint16(125), - 454: uint16(216), - 455: uint16(217), - 456: uint16(193), - 457: uint16(216), - 458: uint16(217), - 459: uint16(131), + 444: uint16(138), + 445: uint16(139), + 446: uint16(263), + 447: uint16(253), + 448: uint16(264), + 449: uint16(255), + 450: uint16(205), + 451: uint16(275), + 452: uint16(87), + 453: uint16(19), + 454: uint16(89), + 455: uint16(89), + 456: uint16(194), + 457: uint16(92), + 458: uint16(92), + 459: uint16(199), 460: uint16(138), 461: uint16(139), - 462: uint16(230), + 462: uint16(268), 463: uint16(102), 464: uint16(103), 465: uint16(104), @@ -155328,37 +156701,37 @@ var _yy_lookahead = [2285]uint16{ 477: uint16(155), 478: uint16(156), 479: uint16(157), - 480: uint16(239), - 481: uint16(240), - 482: uint16(116), - 483: uint16(117), - 484: uint16(118), - 485: uint16(76), - 486: uint16(193), - 487: uint16(23), + 480: uint16(81), + 481: uint16(116), + 482: uint16(117), + 483: uint16(118), + 484: uint16(129), + 485: uint16(240), + 486: uint16(241), + 487: uint16(224), 488: uint16(19), - 489: uint16(25), - 490: uint16(22), - 491: uint16(253), + 489: uint16(226), + 490: uint16(314), + 491: uint16(315), 492: uint16(23), - 493: uint16(252), - 494: uint16(253), - 495: uint16(108), - 496: uint16(87), - 497: uint16(204), - 498: uint16(89), - 499: uint16(261), - 500: uint16(198), - 501: uint16(92), - 502: uint16(261), - 503: uint16(116), - 504: uint16(117), - 505: uint16(118), - 506: uint16(193), - 507: uint16(306), - 508: uint16(307), - 509: uint16(216), - 510: uint16(217), + 493: uint16(25), + 494: uint16(300), + 495: uint16(59), + 496: uint16(22), + 497: uint16(234), + 498: uint16(253), + 499: uint16(101), + 500: uint16(255), + 501: uint16(236), + 502: uint16(237), + 503: uint16(26), + 504: uint16(194), + 505: uint16(183), + 506: uint16(194), + 507: uint16(152), + 508: uint16(72), + 509: uint16(22), + 510: uint16(145), 511: uint16(150), 512: uint16(43), 513: uint16(44), @@ -155375,34 +156748,34 @@ var _yy_lookahead = [2285]uint16{ 524: uint16(55), 525: uint16(56), 526: uint16(57), - 527: uint16(59), - 528: uint16(193), - 529: uint16(216), - 530: uint16(217), + 527: uint16(217), + 528: uint16(218), + 529: uint16(217), + 530: uint16(218), 531: uint16(19), - 532: uint16(239), - 533: uint16(240), - 534: uint16(283), + 532: uint16(189), + 533: uint16(59), + 534: uint16(191), 535: uint16(23), - 536: uint16(106), - 537: uint16(107), - 538: uint16(108), - 539: uint16(109), - 540: uint16(110), - 541: uint16(111), - 542: uint16(112), - 543: uint16(113), - 544: uint16(73), - 545: uint16(252), - 546: uint16(253), - 547: uint16(142), - 548: uint16(308), - 549: uint16(309), - 550: uint16(138), - 551: uint16(139), - 552: uint16(81), - 553: uint16(313), - 554: uint16(145), + 536: uint16(59), + 537: uint16(138), + 538: uint16(139), + 539: uint16(196), + 540: uint16(135), + 541: uint16(198), + 542: uint16(232), + 543: uint16(283), + 544: uint16(232), + 545: uint16(140), + 546: uint16(59), + 547: uint16(287), + 548: uint16(205), + 549: uint16(275), + 550: uint16(116), + 551: uint16(205), + 552: uint16(116), + 553: uint16(117), + 554: uint16(118), 555: uint16(43), 556: uint16(44), 557: uint16(45), @@ -155418,7 +156791,7 @@ var _yy_lookahead = [2285]uint16{ 567: uint16(55), 568: uint16(56), 569: uint16(57), - 570: uint16(307), + 570: uint16(194), 571: uint16(102), 572: uint16(103), 573: uint16(104), @@ -155431,37 +156804,37 @@ var _yy_lookahead = [2285]uint16{ 580: uint16(111), 581: uint16(112), 582: uint16(113), - 583: uint16(281), - 584: uint16(116), - 585: uint16(117), - 586: uint16(118), - 587: uint16(285), - 588: uint16(23), - 589: uint16(193), - 590: uint16(25), - 591: uint16(119), - 592: uint16(59), - 593: uint16(193), - 594: uint16(122), - 595: uint16(123), - 596: uint16(124), - 597: uint16(59), - 598: uint16(127), - 599: uint16(203), + 583: uint16(240), + 584: uint16(241), + 585: uint16(194), + 586: uint16(240), + 587: uint16(241), + 588: uint16(314), + 589: uint16(315), + 590: uint16(116), + 591: uint16(117), + 592: uint16(118), + 593: uint16(116), + 594: uint16(117), + 595: uint16(118), + 596: uint16(253), + 597: uint16(194), + 598: uint16(255), + 599: uint16(253), 600: uint16(59), - 601: uint16(205), + 601: uint16(255), 602: uint16(19), - 603: uint16(268), - 604: uint16(132), - 605: uint16(25), + 603: uint16(116), + 604: uint16(117), + 605: uint16(118), 606: uint16(23), 607: uint16(22), - 608: uint16(193), - 609: uint16(138), - 610: uint16(139), - 611: uint16(249), - 612: uint16(204), - 613: uint16(251), + 608: uint16(217), + 609: uint16(218), + 610: uint16(142), + 611: uint16(268), + 612: uint16(205), + 613: uint16(275), 614: uint16(102), 615: uint16(103), 616: uint16(104), @@ -155490,29 +156863,29 @@ var _yy_lookahead = [2285]uint16{ 639: uint16(56), 640: uint16(57), 641: uint16(19), - 642: uint16(22), - 643: uint16(23), + 642: uint16(194), + 643: uint16(300), 644: uint16(59), 645: uint16(23), - 646: uint16(25), - 647: uint16(239), - 648: uint16(240), - 649: uint16(116), - 650: uint16(117), - 651: uint16(118), - 652: uint16(193), - 653: uint16(11), - 654: uint16(116), - 655: uint16(117), - 656: uint16(118), - 657: uint16(116), + 646: uint16(119), + 647: uint16(240), + 648: uint16(241), + 649: uint16(122), + 650: uint16(123), + 651: uint16(124), + 652: uint16(314), + 653: uint16(315), + 654: uint16(194), + 655: uint16(236), + 656: uint16(237), + 657: uint16(194), 658: uint16(117), - 659: uint16(118), - 660: uint16(252), - 661: uint16(269), - 662: uint16(22), - 663: uint16(193), - 664: uint16(15), + 659: uint16(132), + 660: uint16(253), + 661: uint16(81), + 662: uint16(255), + 663: uint16(205), + 664: uint16(59), 665: uint16(43), 666: uint16(44), 667: uint16(45), @@ -155528,11 +156901,11 @@ var _yy_lookahead = [2285]uint16{ 677: uint16(55), 678: uint16(56), 679: uint16(57), - 680: uint16(273), - 681: uint16(143), - 682: uint16(193), - 683: uint16(118), - 684: uint16(143), + 680: uint16(217), + 681: uint16(218), + 682: uint16(194), + 683: uint16(194), + 684: uint16(194), 685: uint16(102), 686: uint16(103), 687: uint16(104), @@ -155545,33 +156918,33 @@ var _yy_lookahead = [2285]uint16{ 694: uint16(111), 695: uint16(112), 696: uint16(113), - 697: uint16(76), - 698: uint16(118), - 699: uint16(59), - 700: uint16(241), + 697: uint16(294), + 698: uint16(240), + 699: uint16(241), + 700: uint16(120), 701: uint16(116), 702: uint16(117), 703: uint16(118), - 704: uint16(304), - 705: uint16(216), + 704: uint16(59), + 705: uint16(194), 706: uint16(217), - 707: uint16(292), - 708: uint16(143), - 709: uint16(60), - 710: uint16(89), - 711: uint16(241), + 707: uint16(218), + 708: uint16(211), + 709: uint16(212), + 710: uint16(213), + 711: uint16(253), 712: uint16(19), - 713: uint16(92), - 714: uint16(193), - 715: uint16(193), + 713: uint16(255), + 714: uint16(194), + 715: uint16(19), 716: uint16(23), - 717: uint16(22), - 718: uint16(311), - 719: uint16(312), - 720: uint16(231), - 721: uint16(101), - 722: uint16(22), - 723: uint16(143), + 717: uint16(254), + 718: uint16(138), + 719: uint16(139), + 720: uint16(24), + 721: uint16(232), + 722: uint16(117), + 723: uint16(194), 724: uint16(102), 725: uint16(103), 726: uint16(104), @@ -155600,29 +156973,29 @@ var _yy_lookahead = [2285]uint16{ 749: uint16(56), 750: uint16(57), 751: uint16(19), - 752: uint16(193), - 753: uint16(193), - 754: uint16(59), + 752: uint16(264), + 753: uint16(108), + 754: uint16(76), 755: uint16(23), - 756: uint16(116), - 757: uint16(117), - 758: uint16(118), - 759: uint16(59), - 760: uint16(201), - 761: uint16(21), - 762: uint16(241), - 763: uint16(304), - 764: uint16(193), - 765: uint16(206), - 766: uint16(127), - 767: uint16(128), - 768: uint16(129), - 769: uint16(193), - 770: uint16(128), - 771: uint16(129), - 772: uint16(235), - 773: uint16(236), - 774: uint16(304), + 756: uint16(127), + 757: uint16(128), + 758: uint16(129), + 759: uint16(311), + 760: uint16(312), + 761: uint16(116), + 762: uint16(117), + 763: uint16(118), + 764: uint16(316), + 765: uint16(87), + 766: uint16(306), + 767: uint16(89), + 768: uint16(308), + 769: uint16(194), + 770: uint16(92), + 771: uint16(22), + 772: uint16(59), + 773: uint16(194), + 774: uint16(22), 775: uint16(43), 776: uint16(44), 777: uint16(45), @@ -155638,11 +157011,11 @@ var _yy_lookahead = [2285]uint16{ 787: uint16(55), 788: uint16(56), 789: uint16(57), - 790: uint16(22), - 791: uint16(193), - 792: uint16(216), - 793: uint16(217), - 794: uint16(193), + 790: uint16(194), + 791: uint16(95), + 792: uint16(217), + 793: uint16(218), + 794: uint16(265), 795: uint16(102), 796: uint16(103), 797: uint16(104), @@ -155655,33 +157028,33 @@ var _yy_lookahead = [2285]uint16{ 804: uint16(111), 805: uint16(112), 806: uint16(113), - 807: uint16(231), - 808: uint16(193), - 809: uint16(193), - 810: uint16(193), - 811: uint16(116), - 812: uint16(117), - 813: uint16(118), - 814: uint16(216), - 815: uint16(217), - 816: uint16(116), - 817: uint16(117), - 818: uint16(118), - 819: uint16(226), - 820: uint16(80), - 821: uint16(193), + 807: uint16(232), + 808: uint16(59), + 809: uint16(113), + 810: uint16(25), + 811: uint16(59), + 812: uint16(194), + 813: uint16(217), + 814: uint16(218), + 815: uint16(119), + 816: uint16(120), + 817: uint16(121), + 818: uint16(122), + 819: uint16(123), + 820: uint16(124), + 821: uint16(125), 822: uint16(19), - 823: uint16(235), - 824: uint16(236), - 825: uint16(304), + 823: uint16(145), + 824: uint16(194), + 825: uint16(194), 826: uint16(23), - 827: uint16(211), - 828: uint16(212), - 829: uint16(231), - 830: uint16(204), - 831: uint16(216), - 832: uint16(217), - 833: uint16(205), + 827: uint16(131), + 828: uint16(232), + 829: uint16(116), + 830: uint16(117), + 831: uint16(118), + 832: uint16(35), + 833: uint16(194), 834: uint16(102), 835: uint16(103), 836: uint16(104), @@ -155710,29 +157083,29 @@ var _yy_lookahead = [2285]uint16{ 859: uint16(56), 860: uint16(57), 861: uint16(19), - 862: uint16(193), - 863: uint16(123), - 864: uint16(76), - 865: uint16(239), - 866: uint16(240), - 867: uint16(193), - 868: uint16(253), - 869: uint16(239), - 870: uint16(240), - 871: uint16(239), - 872: uint16(240), - 873: uint16(244), - 874: uint16(106), - 875: uint16(107), - 876: uint16(193), - 877: uint16(89), - 878: uint16(252), - 879: uint16(193), - 880: uint16(92), - 881: uint16(59), - 882: uint16(252), - 883: uint16(254), - 884: uint16(252), + 862: uint16(194), + 863: uint16(66), + 864: uint16(194), + 865: uint16(116), + 866: uint16(117), + 867: uint16(118), + 868: uint16(116), + 869: uint16(117), + 870: uint16(118), + 871: uint16(74), + 872: uint16(242), + 873: uint16(294), + 874: uint16(194), + 875: uint16(194), + 876: uint16(206), + 877: uint16(23), + 878: uint16(194), + 879: uint16(25), + 880: uint16(194), + 881: uint16(111), + 882: uint16(112), + 883: uint16(113), + 884: uint16(25), 885: uint16(43), 886: uint16(44), 887: uint16(45), @@ -155748,11 +157121,11 @@ var _yy_lookahead = [2285]uint16{ 897: uint16(55), 898: uint16(56), 899: uint16(57), - 900: uint16(284), - 901: uint16(161), - 902: uint16(216), + 900: uint16(24), + 901: uint16(194), + 902: uint16(194), 903: uint16(217), - 904: uint16(193), + 904: uint16(218), 905: uint16(102), 906: uint16(103), 907: uint16(104), @@ -155765,33 +157138,33 @@ var _yy_lookahead = [2285]uint16{ 914: uint16(111), 915: uint16(112), 916: uint16(113), - 917: uint16(231), - 918: uint16(193), - 919: uint16(244), - 920: uint16(187), - 921: uint16(188), - 922: uint16(189), - 923: uint16(190), - 924: uint16(7), - 925: uint16(8), - 926: uint16(9), - 927: uint16(309), - 928: uint16(195), - 929: uint16(254), - 930: uint16(197), - 931: uint16(313), + 917: uint16(241), + 918: uint16(232), + 919: uint16(194), + 920: uint16(212), + 921: uint16(213), + 922: uint16(242), + 923: uint16(242), + 924: uint16(217), + 925: uint16(218), + 926: uint16(242), + 927: uint16(130), + 928: uint16(11), + 929: uint16(253), + 930: uint16(194), + 931: uint16(255), 932: uint16(19), - 933: uint16(127), - 934: uint16(128), - 935: uint16(129), - 936: uint16(262), - 937: uint16(204), - 938: uint16(22), - 939: uint16(117), - 940: uint16(24), - 941: uint16(216), + 933: uint16(265), + 934: uint16(149), + 935: uint16(59), + 936: uint16(306), + 937: uint16(194), + 938: uint16(308), + 939: uint16(232), + 940: uint16(309), + 941: uint16(310), 942: uint16(217), - 943: uint16(273), + 943: uint16(218), 944: uint16(102), 945: uint16(103), 946: uint16(104), @@ -155819,36 +157192,36 @@ var _yy_lookahead = [2285]uint16{ 968: uint16(55), 969: uint16(56), 970: uint16(57), - 971: uint16(193), - 972: uint16(239), - 973: uint16(240), - 974: uint16(193), - 975: uint16(59), + 971: uint16(194), + 972: uint16(194), + 973: uint16(59), + 974: uint16(194), + 975: uint16(239), 976: uint16(19), - 977: uint16(188), - 978: uint16(253), - 979: uint16(190), - 980: uint16(193), - 981: uint16(311), - 982: uint16(312), - 983: uint16(16), - 984: uint16(195), - 985: uint16(252), - 986: uint16(197), - 987: uint16(193), - 988: uint16(19), - 989: uint16(301), - 990: uint16(302), - 991: uint16(135), - 992: uint16(193), - 993: uint16(204), - 994: uint16(216), + 977: uint16(194), + 978: uint16(25), + 979: uint16(254), + 980: uint16(303), + 981: uint16(304), + 982: uint16(23), + 983: uint16(194), + 984: uint16(25), + 985: uint16(126), + 986: uint16(306), + 987: uint16(306), + 988: uint16(308), + 989: uint16(308), + 990: uint16(306), + 991: uint16(271), + 992: uint16(308), + 993: uint16(117), + 994: uint16(286), 995: uint16(217), - 996: uint16(140), - 997: uint16(216), - 998: uint16(217), - 999: uint16(266), - 1000: uint16(204), + 996: uint16(218), + 997: uint16(217), + 998: uint16(218), + 999: uint16(194), + 1000: uint16(194), 1001: uint16(159), 1002: uint16(45), 1003: uint16(46), @@ -155875,38 +157248,38 @@ var _yy_lookahead = [2285]uint16{ 1024: uint16(111), 1025: uint16(112), 1026: uint16(113), - 1027: uint16(12), + 1027: uint16(59), 1028: uint16(239), - 1029: uint16(240), - 1030: uint16(193), - 1031: uint16(298), - 1032: uint16(238), - 1033: uint16(117), - 1034: uint16(253), - 1035: uint16(239), + 1029: uint16(194), + 1030: uint16(116), + 1031: uint16(117), + 1032: uint16(118), + 1033: uint16(260), + 1034: uint16(254), + 1035: uint16(194), 1036: uint16(240), - 1037: uint16(238), - 1038: uint16(259), - 1039: uint16(260), - 1040: uint16(193), - 1041: uint16(252), - 1042: uint16(27), - 1043: uint16(193), - 1044: uint16(77), - 1045: uint16(193), - 1046: uint16(79), - 1047: uint16(204), - 1048: uint16(252), - 1049: uint16(262), - 1050: uint16(193), - 1051: uint16(299), - 1052: uint16(300), - 1053: uint16(193), - 1054: uint16(100), - 1055: uint16(266), - 1056: uint16(278), - 1057: uint16(42), - 1058: uint16(204), + 1037: uint16(241), + 1038: uint16(194), + 1039: uint16(233), + 1040: uint16(205), + 1041: uint16(240), + 1042: uint16(241), + 1043: uint16(205), + 1044: uint16(239), + 1045: uint16(128), + 1046: uint16(129), + 1047: uint16(270), + 1048: uint16(265), + 1049: uint16(253), + 1050: uint16(194), + 1051: uint16(255), + 1052: uint16(217), + 1053: uint16(218), + 1054: uint16(253), + 1055: uint16(194), + 1056: uint16(255), + 1057: uint16(143), + 1058: uint16(280), 1059: uint16(102), 1060: uint16(103), 1061: uint16(104), @@ -155919,51 +157292,51 @@ var _yy_lookahead = [2285]uint16{ 1068: uint16(111), 1069: uint16(112), 1070: uint16(113), - 1071: uint16(117), + 1071: uint16(118), 1072: uint16(159), - 1073: uint16(216), - 1074: uint16(217), - 1075: uint16(121), - 1076: uint16(216), - 1077: uint16(217), - 1078: uint16(63), - 1079: uint16(193), - 1080: uint16(193), - 1081: uint16(193), - 1082: uint16(239), - 1083: uint16(240), - 1084: uint16(115), - 1085: uint16(116), - 1086: uint16(193), - 1087: uint16(298), - 1088: uint16(73), - 1089: uint16(240), - 1090: uint16(238), - 1091: uint16(231), + 1073: uint16(217), + 1074: uint16(218), + 1075: uint16(240), + 1076: uint16(241), + 1077: uint16(118), + 1078: uint16(240), + 1079: uint16(241), + 1080: uint16(194), + 1081: uint16(194), + 1082: uint16(194), + 1083: uint16(239), + 1084: uint16(116), + 1085: uint16(117), + 1086: uint16(118), + 1087: uint16(22), + 1088: uint16(253), + 1089: uint16(254), + 1090: uint16(255), + 1091: uint16(253), 1092: uint16(19), - 1093: uint16(239), - 1094: uint16(240), - 1095: uint16(252), - 1096: uint16(22), + 1093: uint16(255), + 1094: uint16(233), + 1095: uint16(194), + 1096: uint16(143), 1097: uint16(24), - 1098: uint16(211), + 1098: uint16(263), 1099: uint16(212), - 1100: uint16(263), - 1101: uint16(252), - 1102: uint16(216), + 1100: uint16(213), + 1101: uint16(194), + 1102: uint16(143), 1103: uint16(217), - 1104: uint16(216), + 1104: uint16(218), 1105: uint16(217), - 1106: uint16(252), - 1107: uint16(153), - 1108: uint16(154), - 1109: uint16(155), - 1110: uint16(253), - 1111: uint16(193), + 1106: uint16(218), + 1107: uint16(261), + 1108: uint16(262), + 1109: uint16(271), + 1110: uint16(254), + 1111: uint16(143), 1112: uint16(19), - 1113: uint16(144), - 1114: uint16(213), - 1115: uint16(268), + 1113: uint16(7), + 1114: uint16(8), + 1115: uint16(9), 1116: uint16(43), 1117: uint16(44), 1118: uint16(45), @@ -155979,11 +157352,11 @@ var _yy_lookahead = [2285]uint16{ 1128: uint16(55), 1129: uint16(56), 1130: uint16(57), - 1131: uint16(193), + 1131: uint16(16), 1132: uint16(19), - 1133: uint16(59), - 1134: uint16(216), - 1135: uint16(217), + 1133: uint16(22), + 1134: uint16(23), + 1135: uint16(294), 1136: uint16(43), 1137: uint16(44), 1138: uint16(45), @@ -155999,11 +157372,11 @@ var _yy_lookahead = [2285]uint16{ 1148: uint16(55), 1149: uint16(56), 1150: uint16(57), - 1151: uint16(193), - 1152: uint16(19), - 1153: uint16(24), - 1154: uint16(216), - 1155: uint16(217), + 1151: uint16(312), + 1152: uint16(194), + 1153: uint16(214), + 1154: uint16(21), + 1155: uint16(316), 1156: uint16(43), 1157: uint16(44), 1158: uint16(45), @@ -156019,10 +157392,10 @@ var _yy_lookahead = [2285]uint16{ 1168: uint16(55), 1169: uint16(56), 1170: uint16(57), - 1171: uint16(284), - 1172: uint16(193), - 1173: uint16(208), - 1174: uint16(209), + 1171: uint16(106), + 1172: uint16(107), + 1173: uint16(286), + 1174: uint16(194), 1175: uint16(102), 1176: uint16(103), 1177: uint16(104), @@ -156035,14 +157408,14 @@ var _yy_lookahead = [2285]uint16{ 1184: uint16(111), 1185: uint16(112), 1186: uint16(113), - 1187: uint16(286), - 1188: uint16(59), - 1189: uint16(193), - 1190: uint16(232), - 1191: uint16(117), - 1192: uint16(291), - 1193: uint16(193), - 1194: uint16(193), + 1187: uint16(207), + 1188: uint16(158), + 1189: uint16(59), + 1190: uint16(160), + 1191: uint16(22), + 1192: uint16(77), + 1193: uint16(24), + 1194: uint16(79), 1195: uint16(102), 1196: uint16(103), 1197: uint16(104), @@ -156055,14 +157428,14 @@ var _yy_lookahead = [2285]uint16{ 1204: uint16(111), 1205: uint16(112), 1206: uint16(113), - 1207: uint16(193), - 1208: uint16(204), - 1209: uint16(22), - 1210: uint16(23), - 1211: uint16(193), - 1212: uint16(25), - 1213: uint16(66), - 1214: uint16(193), + 1207: uint16(194), + 1208: uint16(194), + 1209: uint16(229), + 1210: uint16(194), + 1211: uint16(231), + 1212: uint16(101), + 1213: uint16(80), + 1214: uint16(22), 1215: uint16(102), 1216: uint16(103), 1217: uint16(104), @@ -156075,39 +157448,39 @@ var _yy_lookahead = [2285]uint16{ 1224: uint16(111), 1225: uint16(112), 1226: uint16(113), - 1227: uint16(193), - 1228: uint16(193), - 1229: uint16(193), - 1230: uint16(216), - 1231: uint16(217), - 1232: uint16(85), - 1233: uint16(193), - 1234: uint16(238), + 1227: uint16(288), + 1228: uint16(59), + 1229: uint16(12), + 1230: uint16(217), + 1231: uint16(218), + 1232: uint16(293), + 1233: uint16(217), + 1234: uint16(218), 1235: uint16(19), - 1236: uint16(16), - 1237: uint16(216), - 1238: uint16(217), - 1239: uint16(238), - 1240: uint16(193), - 1241: uint16(94), - 1242: uint16(193), - 1243: uint16(239), - 1244: uint16(240), - 1245: uint16(231), - 1246: uint16(117), - 1247: uint16(268), - 1248: uint16(35), - 1249: uint16(116), - 1250: uint16(216), - 1251: uint16(217), - 1252: uint16(216), - 1253: uint16(217), - 1254: uint16(22), - 1255: uint16(23), - 1256: uint16(252), - 1257: uint16(25), - 1258: uint16(208), - 1259: uint16(209), + 1236: uint16(106), + 1237: uint16(107), + 1238: uint16(59), + 1239: uint16(19), + 1240: uint16(16), + 1241: uint16(127), + 1242: uint16(128), + 1243: uint16(129), + 1244: uint16(27), + 1245: uint16(115), + 1246: uint16(116), + 1247: uint16(117), + 1248: uint16(118), + 1249: uint16(194), + 1250: uint16(120), + 1251: uint16(59), + 1252: uint16(22), + 1253: uint16(194), + 1254: uint16(24), + 1255: uint16(194), + 1256: uint16(123), + 1257: uint16(100), + 1258: uint16(128), + 1259: uint16(42), 1260: uint16(44), 1261: uint16(45), 1262: uint16(46), @@ -156122,50 +157495,50 @@ var _yy_lookahead = [2285]uint16{ 1271: uint16(55), 1272: uint16(56), 1273: uint16(57), - 1274: uint16(193), - 1275: uint16(193), - 1276: uint16(19), - 1277: uint16(5), - 1278: uint16(59), - 1279: uint16(66), - 1280: uint16(193), - 1281: uint16(263), - 1282: uint16(10), - 1283: uint16(11), - 1284: uint16(12), - 1285: uint16(13), - 1286: uint16(14), - 1287: uint16(74), - 1288: uint16(101), - 1289: uint16(17), - 1290: uint16(193), - 1291: uint16(46), - 1292: uint16(193), - 1293: uint16(146), - 1294: uint16(193), - 1295: uint16(76), - 1296: uint16(213), - 1297: uint16(77), - 1298: uint16(263), - 1299: uint16(79), - 1300: uint16(12), - 1301: uint16(260), - 1302: uint16(30), - 1303: uint16(46), - 1304: uint16(32), - 1305: uint16(264), - 1306: uint16(87), - 1307: uint16(193), - 1308: uint16(89), - 1309: uint16(29), - 1310: uint16(263), - 1311: uint16(92), - 1312: uint16(40), - 1313: uint16(33), - 1314: uint16(232), - 1315: uint16(27), - 1316: uint16(193), - 1317: uint16(108), + 1274: uint16(117), + 1275: uint16(194), + 1276: uint16(217), + 1277: uint16(218), + 1278: uint16(121), + 1279: uint16(100), + 1280: uint16(63), + 1281: uint16(194), + 1282: uint16(245), + 1283: uint16(153), + 1284: uint16(194), + 1285: uint16(155), + 1286: uint16(117), + 1287: uint16(19), + 1288: uint16(115), + 1289: uint16(194), + 1290: uint16(73), + 1291: uint16(214), + 1292: uint16(194), + 1293: uint16(256), + 1294: uint16(161), + 1295: uint16(116), + 1296: uint16(117), + 1297: uint16(194), + 1298: uint16(217), + 1299: uint16(218), + 1300: uint16(121), + 1301: uint16(77), + 1302: uint16(194), + 1303: uint16(79), + 1304: uint16(217), + 1305: uint16(218), + 1306: uint16(194), + 1307: uint16(217), + 1308: uint16(218), + 1309: uint16(117), + 1310: uint16(153), + 1311: uint16(154), + 1312: uint16(155), + 1313: uint16(254), + 1314: uint16(46), + 1315: uint16(217), + 1316: uint16(218), + 1317: uint16(144), 1318: uint16(102), 1319: uint16(103), 1320: uint16(104), @@ -156178,1025 +157551,1068 @@ var _yy_lookahead = [2285]uint16{ 1327: uint16(111), 1328: uint16(112), 1329: uint16(113), - 1330: uint16(42), - 1331: uint16(138), - 1332: uint16(139), - 1333: uint16(101), - 1334: uint16(193), - 1335: uint16(116), - 1336: uint16(117), - 1337: uint16(118), + 1330: uint16(232), + 1331: uint16(270), + 1332: uint16(153), + 1333: uint16(154), + 1334: uint16(155), + 1335: uint16(115), + 1336: uint16(116), + 1337: uint16(66), 1338: uint16(19), 1339: uint16(20), - 1340: uint16(255), + 1340: uint16(183), 1341: uint16(22), - 1342: uint16(70), - 1343: uint16(130), - 1344: uint16(135), - 1345: uint16(65), - 1346: uint16(256), - 1347: uint16(257), - 1348: uint16(193), - 1349: uint16(140), - 1350: uint16(78), - 1351: uint16(63), - 1352: uint16(193), - 1353: uint16(81), - 1354: uint16(193), + 1342: uint16(12), + 1343: uint16(312), + 1344: uint16(254), + 1345: uint16(194), + 1346: uint16(262), + 1347: uint16(316), + 1348: uint16(209), + 1349: uint16(210), + 1350: uint16(266), + 1351: uint16(239), + 1352: uint16(194), + 1353: uint16(194), + 1354: uint16(108), 1355: uint16(36), - 1356: uint16(193), - 1357: uint16(216), - 1358: uint16(217), - 1359: uint16(193), - 1360: uint16(115), - 1361: uint16(193), - 1362: uint16(263), - 1363: uint16(193), - 1364: uint16(145), - 1365: uint16(268), - 1366: uint16(59), + 1356: uint16(85), + 1357: uint16(27), + 1358: uint16(19), + 1359: uint16(20), + 1360: uint16(265), + 1361: uint16(22), + 1362: uint16(183), + 1363: uint16(245), + 1364: uint16(144), + 1365: uint16(94), + 1366: uint16(25), 1367: uint16(48), - 1368: uint16(193), - 1369: uint16(193), - 1370: uint16(98), - 1371: uint16(193), - 1372: uint16(115), - 1373: uint16(193), - 1374: uint16(291), - 1375: uint16(216), + 1368: uint16(217), + 1369: uint16(218), + 1370: uint16(293), + 1371: uint16(194), + 1372: uint16(42), + 1373: uint16(270), + 1374: uint16(256), + 1375: uint16(36), 1376: uint16(217), - 1377: uint16(193), + 1377: uint16(218), 1378: uint16(59), - 1379: uint16(216), - 1380: uint16(217), - 1381: uint16(161), - 1382: uint16(216), - 1383: uint16(217), - 1384: uint16(216), - 1385: uint16(217), - 1386: uint16(216), - 1387: uint16(217), - 1388: uint16(131), - 1389: uint16(193), + 1379: uint16(194), + 1380: uint16(25), + 1381: uint16(135), + 1382: uint16(194), + 1383: uint16(115), + 1384: uint16(194), + 1385: uint16(161), + 1386: uint16(140), + 1387: uint16(194), + 1388: uint16(194), + 1389: uint16(15), 1390: uint16(71), - 1391: uint16(193), - 1392: uint16(216), - 1393: uint16(217), - 1394: uint16(216), - 1395: uint16(217), - 1396: uint16(216), - 1397: uint16(217), - 1398: uint16(193), - 1399: uint16(260), - 1400: uint16(216), - 1401: uint16(217), - 1402: uint16(19), - 1403: uint16(264), + 1391: uint16(194), + 1392: uint16(312), + 1393: uint16(63), + 1394: uint16(217), + 1395: uint16(218), + 1396: uint16(316), + 1397: uint16(194), + 1398: uint16(59), + 1399: uint16(131), + 1400: uint16(301), + 1401: uint16(302), + 1402: uint16(217), + 1403: uint16(218), 1404: uint16(85), - 1405: uint16(133), - 1406: uint16(244), - 1407: uint16(100), - 1408: uint16(193), + 1405: uint16(217), + 1406: uint16(218), + 1407: uint16(217), + 1408: uint16(218), 1409: uint16(90), - 1410: uint16(138), - 1411: uint16(139), - 1412: uint16(216), - 1413: uint16(217), - 1414: uint16(216), - 1415: uint16(217), - 1416: uint16(254), - 1417: uint16(244), - 1418: uint16(193), + 1410: uint16(71), + 1411: uint16(217), + 1412: uint16(218), + 1413: uint16(19), + 1414: uint16(217), + 1415: uint16(218), + 1416: uint16(245), + 1417: uint16(146), + 1418: uint16(262), 1419: uint16(100), - 1420: uint16(193), - 1421: uint16(216), - 1422: uint16(217), - 1423: uint16(116), - 1424: uint16(117), + 1420: uint16(217), + 1421: uint16(218), + 1422: uint16(266), + 1423: uint16(265), + 1424: uint16(85), 1425: uint16(106), 1426: uint16(107), - 1427: uint16(254), - 1428: uint16(121), - 1429: uint16(193), - 1430: uint16(115), - 1431: uint16(216), - 1432: uint16(217), + 1427: uint16(256), + 1428: uint16(312), + 1429: uint16(90), + 1430: uint16(209), + 1431: uint16(210), + 1432: uint16(316), 1433: uint16(114), - 1434: uint16(162), + 1434: uint16(60), 1435: uint16(116), 1436: uint16(117), 1437: uint16(118), - 1438: uint16(115), - 1439: uint16(244), + 1438: uint16(194), + 1439: uint16(100), 1440: uint16(121), - 1441: uint16(216), - 1442: uint16(217), - 1443: uint16(216), - 1444: uint16(217), - 1445: uint16(193), - 1446: uint16(309), - 1447: uint16(193), - 1448: uint16(31), - 1449: uint16(254), - 1450: uint16(313), - 1451: uint16(309), - 1452: uint16(216), - 1453: uint16(217), - 1454: uint16(309), - 1455: uint16(313), - 1456: uint16(39), - 1457: uint16(193), - 1458: uint16(313), - 1459: uint16(309), - 1460: uint16(153), - 1461: uint16(154), - 1462: uint16(155), - 1463: uint16(313), - 1464: uint16(193), - 1465: uint16(150), - 1466: uint16(25), - 1467: uint16(144), - 1468: uint16(216), - 1469: uint16(217), - 1470: uint16(216), - 1471: uint16(217), + 1441: uint16(194), + 1442: uint16(194), + 1443: uint16(145), + 1444: uint16(115), + 1445: uint16(106), + 1446: uint16(107), + 1447: uint16(19), + 1448: uint16(46), + 1449: uint16(19), + 1450: uint16(20), + 1451: uint16(24), + 1452: uint16(22), + 1453: uint16(114), + 1454: uint16(194), + 1455: uint16(116), + 1456: uint16(117), + 1457: uint16(118), + 1458: uint16(194), + 1459: uint16(245), + 1460: uint16(121), + 1461: uint16(194), + 1462: uint16(164), + 1463: uint16(194), + 1464: uint16(217), + 1465: uint16(218), + 1466: uint16(36), + 1467: uint16(194), + 1468: uint16(258), + 1469: uint16(259), + 1470: uint16(256), + 1471: uint16(194), 1472: uint16(153), 1473: uint16(154), 1474: uint16(155), 1475: uint16(156), 1476: uint16(157), - 1478: uint16(1), - 1479: uint16(2), - 1480: uint16(216), + 1477: uint16(217), + 1478: uint16(218), + 1479: uint16(150), + 1480: uint16(31), 1481: uint16(217), - 1482: uint16(5), - 1483: uint16(149), - 1484: uint16(150), - 1485: uint16(22), - 1486: uint16(193), - 1487: uint16(10), - 1488: uint16(11), - 1489: uint16(12), - 1490: uint16(13), - 1491: uint16(14), - 1492: uint16(193), - 1493: uint16(158), - 1494: uint16(17), - 1495: uint16(160), - 1496: uint16(193), - 1497: uint16(19), - 1498: uint16(20), - 1499: uint16(116), - 1500: uint16(22), - 1501: uint16(25), - 1502: uint16(193), - 1503: uint16(24), - 1504: uint16(22), - 1505: uint16(193), - 1506: uint16(24), - 1507: uint16(30), - 1508: uint16(226), - 1509: uint16(32), - 1510: uint16(19), - 1511: uint16(20), - 1512: uint16(226), - 1513: uint16(22), - 1514: uint16(36), - 1515: uint16(193), - 1516: uint16(53), - 1517: uint16(40), - 1518: uint16(193), - 1519: uint16(216), - 1520: uint16(217), - 1521: uint16(193), - 1522: uint16(23), - 1523: uint16(193), - 1524: uint16(25), - 1525: uint16(216), - 1526: uint16(217), - 1527: uint16(36), - 1528: uint16(216), - 1529: uint16(217), - 1530: uint16(193), - 1531: uint16(99), - 1532: uint16(193), - 1533: uint16(193), - 1534: uint16(22), - 1535: uint16(193), - 1536: uint16(193), - 1537: uint16(59), - 1538: uint16(216), + 1482: uint16(218), + 1483: uint16(142), + 1484: uint16(217), + 1485: uint16(218), + 1486: uint16(217), + 1487: uint16(218), + 1488: uint16(39), + 1489: uint16(59), + 1490: uint16(217), + 1491: uint16(218), + 1492: uint16(153), + 1493: uint16(154), + 1494: uint16(155), + 1495: uint16(156), + 1496: uint16(157), + 1497: uint16(149), + 1498: uint16(150), + 1499: uint16(5), + 1500: uint16(145), + 1501: uint16(71), + 1502: uint16(183), + 1503: uint16(245), + 1504: uint16(10), + 1505: uint16(11), + 1506: uint16(12), + 1507: uint16(13), + 1508: uint16(14), + 1509: uint16(194), + 1510: uint16(116), + 1511: uint16(17), + 1512: uint16(129), + 1513: uint16(227), + 1514: uint16(256), + 1515: uint16(85), + 1516: uint16(194), + 1517: uint16(115), + 1518: uint16(194), + 1519: uint16(23), + 1520: uint16(90), + 1521: uint16(25), + 1522: uint16(183), + 1523: uint16(99), + 1524: uint16(30), + 1525: uint16(97), + 1526: uint16(32), + 1527: uint16(22), + 1528: uint16(22), + 1529: uint16(194), + 1530: uint16(100), + 1531: uint16(194), + 1532: uint16(217), + 1533: uint16(218), + 1534: uint16(40), + 1535: uint16(152), + 1536: uint16(106), + 1537: uint16(107), + 1538: uint16(23), 1539: uint16(217), - 1540: uint16(193), - 1541: uint16(216), - 1542: uint16(217), - 1543: uint16(193), - 1544: uint16(216), - 1545: uint16(217), - 1546: uint16(193), - 1547: uint16(70), - 1548: uint16(129), - 1549: uint16(71), - 1550: uint16(59), - 1551: uint16(129), - 1552: uint16(193), - 1553: uint16(216), + 1540: uint16(218), + 1541: uint16(194), + 1542: uint16(19), + 1543: uint16(20), + 1544: uint16(114), + 1545: uint16(22), + 1546: uint16(116), + 1547: uint16(117), + 1548: uint16(118), + 1549: uint16(257), + 1550: uint16(194), + 1551: uint16(121), + 1552: uint16(217), + 1553: uint16(218), 1554: uint16(217), - 1555: uint16(78), - 1556: uint16(216), - 1557: uint16(217), - 1558: uint16(81), - 1559: uint16(216), - 1560: uint16(217), - 1561: uint16(193), - 1562: uint16(71), - 1563: uint16(85), - 1564: uint16(193), - 1565: uint16(133), - 1566: uint16(193), - 1567: uint16(126), - 1568: uint16(90), - 1569: uint16(216), - 1570: uint16(217), - 1571: uint16(152), - 1572: uint16(258), - 1573: uint16(61), - 1574: uint16(152), - 1575: uint16(98), - 1576: uint16(85), - 1577: uint16(193), - 1578: uint16(100), - 1579: uint16(193), - 1580: uint16(23), - 1581: uint16(90), - 1582: uint16(25), - 1583: uint16(121), - 1584: uint16(106), - 1585: uint16(107), - 1586: uint16(23), - 1587: uint16(216), - 1588: uint16(217), - 1589: uint16(216), - 1590: uint16(217), - 1591: uint16(100), - 1592: uint16(114), - 1593: uint16(131), - 1594: uint16(116), - 1595: uint16(117), - 1596: uint16(118), - 1597: uint16(106), - 1598: uint16(107), - 1599: uint16(121), - 1600: uint16(216), - 1601: uint16(217), - 1602: uint16(216), - 1603: uint16(217), - 1604: uint16(193), - 1605: uint16(114), - 1606: uint16(193), - 1607: uint16(116), - 1608: uint16(117), - 1609: uint16(118), - 1610: uint16(133), - 1611: uint16(22), - 1612: uint16(121), - 1613: uint16(193), - 1614: uint16(59), - 1615: uint16(138), - 1616: uint16(139), - 1617: uint16(193), - 1618: uint16(142), - 1619: uint16(193), - 1620: uint16(141), - 1621: uint16(23), - 1622: uint16(23), - 1623: uint16(25), - 1624: uint16(25), - 1625: uint16(120), - 1626: uint16(121), - 1627: uint16(216), - 1628: uint16(217), - 1629: uint16(216), - 1630: uint16(217), - 1631: uint16(153), - 1632: uint16(154), - 1633: uint16(155), - 1634: uint16(156), - 1635: uint16(157), - 1636: uint16(216), - 1637: uint16(217), - 1638: uint16(19), - 1639: uint16(162), - 1640: uint16(216), - 1641: uint16(217), - 1642: uint16(216), - 1643: uint16(217), - 1644: uint16(153), - 1645: uint16(154), - 1646: uint16(155), - 1647: uint16(156), - 1648: uint16(157), - 1649: uint16(1), - 1650: uint16(2), - 1651: uint16(193), - 1652: uint16(59), - 1653: uint16(5), - 1654: uint16(19), - 1655: uint16(20), - 1656: uint16(318), - 1657: uint16(22), - 1658: uint16(10), - 1659: uint16(11), - 1660: uint16(12), - 1661: uint16(13), - 1662: uint16(14), - 1663: uint16(193), - 1664: uint16(59), - 1665: uint16(17), - 1666: uint16(193), - 1667: uint16(23), - 1668: uint16(23), - 1669: uint16(25), - 1670: uint16(25), - 1671: uint16(36), - 1672: uint16(117), - 1673: uint16(193), - 1674: uint16(216), - 1675: uint16(217), - 1676: uint16(193), - 1677: uint16(23), - 1678: uint16(30), - 1679: uint16(25), - 1680: uint16(32), - 1681: uint16(19), - 1682: uint16(20), - 1683: uint16(23), - 1684: uint16(22), - 1685: uint16(25), - 1686: uint16(216), - 1687: uint16(217), - 1688: uint16(40), - 1689: uint16(216), + 1555: uint16(218), + 1556: uint16(194), + 1557: uint16(133), + 1558: uint16(53), + 1559: uint16(36), + 1560: uint16(23), + 1561: uint16(23), + 1562: uint16(25), + 1563: uint16(25), + 1564: uint16(70), + 1565: uint16(120), + 1566: uint16(121), + 1567: uint16(61), + 1568: uint16(141), + 1569: uint16(7), + 1570: uint16(8), + 1571: uint16(121), + 1572: uint16(78), + 1573: uint16(217), + 1574: uint16(218), + 1575: uint16(81), + 1576: uint16(23), + 1577: uint16(227), + 1578: uint16(25), + 1579: uint16(217), + 1580: uint16(218), + 1581: uint16(131), + 1582: uint16(59), + 1583: uint16(153), + 1584: uint16(154), + 1585: uint16(155), + 1586: uint16(156), + 1587: uint16(157), + 1589: uint16(1), + 1590: uint16(2), + 1591: uint16(59), + 1592: uint16(98), + 1593: uint16(5), + 1594: uint16(71), + 1595: uint16(23), + 1596: uint16(227), + 1597: uint16(25), + 1598: uint16(10), + 1599: uint16(11), + 1600: uint16(12), + 1601: uint16(13), + 1602: uint16(14), + 1603: uint16(83), + 1604: uint16(84), + 1605: uint16(17), + 1606: uint16(23), + 1607: uint16(23), + 1608: uint16(25), + 1609: uint16(25), + 1610: uint16(59), + 1611: uint16(194), + 1612: uint16(194), + 1613: uint16(183), + 1614: uint16(23), + 1615: uint16(23), + 1616: uint16(25), + 1617: uint16(25), + 1618: uint16(30), + 1619: uint16(194), + 1620: uint16(32), + 1621: uint16(19), + 1622: uint16(20), + 1623: uint16(100), + 1624: uint16(22), + 1625: uint16(194), + 1626: uint16(194), + 1627: uint16(133), + 1628: uint16(40), + 1629: uint16(106), + 1630: uint16(107), + 1631: uint16(108), + 1632: uint16(138), + 1633: uint16(139), + 1634: uint16(194), + 1635: uint16(217), + 1636: uint16(218), + 1637: uint16(114), + 1638: uint16(36), + 1639: uint16(116), + 1640: uint16(117), + 1641: uint16(118), + 1642: uint16(217), + 1643: uint16(218), + 1644: uint16(121), + 1645: uint16(194), + 1646: uint16(194), + 1647: uint16(194), + 1648: uint16(23), + 1649: uint16(117), + 1650: uint16(25), + 1651: uint16(194), + 1652: uint16(23), + 1653: uint16(23), + 1654: uint16(25), + 1655: uint16(25), + 1656: uint16(162), + 1657: uint16(194), + 1658: uint16(70), + 1659: uint16(194), + 1660: uint16(145), + 1661: uint16(59), + 1662: uint16(23), + 1663: uint16(153), + 1664: uint16(25), + 1665: uint16(155), + 1666: uint16(78), + 1667: uint16(194), + 1668: uint16(117), + 1669: uint16(81), + 1670: uint16(217), + 1671: uint16(218), + 1672: uint16(194), + 1673: uint16(71), + 1674: uint16(217), + 1675: uint16(218), + 1676: uint16(153), + 1677: uint16(154), + 1678: uint16(155), + 1679: uint16(156), + 1680: uint16(157), + 1681: uint16(194), + 1682: uint16(217), + 1683: uint16(218), + 1684: uint16(194), + 1685: uint16(23), + 1686: uint16(98), + 1687: uint16(25), + 1688: uint16(321), + 1689: uint16(194), 1690: uint16(217), - 1691: uint16(7), - 1692: uint16(8), - 1693: uint16(23), - 1694: uint16(59), - 1695: uint16(25), - 1696: uint16(83), - 1697: uint16(84), - 1698: uint16(36), - 1699: uint16(23), - 1700: uint16(193), - 1701: uint16(25), - 1702: uint16(23), - 1703: uint16(23), - 1704: uint16(25), - 1705: uint16(25), - 1706: uint16(71), - 1707: uint16(153), - 1708: uint16(145), - 1709: uint16(155), - 1710: uint16(117), - 1711: uint16(153), - 1712: uint16(23), - 1713: uint16(155), - 1714: uint16(25), - 1715: uint16(23), - 1716: uint16(97), - 1717: uint16(25), - 1718: uint16(70), - 1719: uint16(193), - 1720: uint16(193), - 1721: uint16(59), - 1722: uint16(117), - 1723: uint16(236), - 1724: uint16(193), - 1725: uint16(193), - 1726: uint16(78), - 1727: uint16(193), - 1728: uint16(193), - 1729: uint16(81), - 1730: uint16(141), - 1731: uint16(193), - 1732: uint16(193), - 1733: uint16(71), - 1734: uint16(193), - 1735: uint16(100), - 1736: uint16(288), - 1737: uint16(287), - 1738: uint16(242), - 1739: uint16(255), - 1740: uint16(255), - 1741: uint16(106), - 1742: uint16(107), - 1743: uint16(108), - 1744: uint16(255), - 1745: uint16(255), - 1746: uint16(98), - 1747: uint16(243), - 1748: uint16(297), - 1749: uint16(114), - 1750: uint16(214), - 1751: uint16(116), - 1752: uint16(117), - 1753: uint16(118), - 1754: uint16(245), - 1755: uint16(191), - 1756: uint16(121), - 1757: uint16(271), - 1758: uint16(293), - 1759: uint16(267), - 1760: uint16(267), - 1761: uint16(246), - 1762: uint16(100), - 1763: uint16(246), - 1764: uint16(245), - 1765: uint16(271), - 1766: uint16(271), - 1767: uint16(293), - 1768: uint16(106), - 1769: uint16(107), - 1770: uint16(220), - 1771: uint16(271), - 1772: uint16(229), - 1773: uint16(225), - 1774: uint16(249), - 1775: uint16(219), - 1776: uint16(114), - 1777: uint16(259), - 1778: uint16(116), - 1779: uint16(117), - 1780: uint16(118), - 1781: uint16(133), - 1782: uint16(259), - 1783: uint16(121), - 1784: uint16(219), - 1785: uint16(219), - 1786: uint16(138), - 1787: uint16(139), - 1788: uint16(153), - 1789: uint16(154), - 1790: uint16(155), - 1791: uint16(156), - 1792: uint16(157), - 1793: uint16(280), - 1794: uint16(249), - 1795: uint16(243), - 1796: uint16(19), - 1797: uint16(20), - 1798: uint16(245), - 1799: uint16(22), - 1800: uint16(196), - 1801: uint16(259), - 1802: uint16(140), - 1803: uint16(259), - 1804: uint16(60), - 1805: uint16(297), - 1806: uint16(141), - 1807: uint16(297), - 1808: uint16(200), - 1809: uint16(200), - 1810: uint16(162), - 1811: uint16(38), - 1812: uint16(200), - 1813: uint16(36), - 1814: uint16(294), - 1815: uint16(153), - 1816: uint16(154), - 1817: uint16(155), - 1818: uint16(156), - 1819: uint16(157), - 1820: uint16(151), - 1821: uint16(150), - 1822: uint16(294), - 1823: uint16(283), - 1824: uint16(22), - 1825: uint16(43), - 1826: uint16(234), - 1827: uint16(18), - 1828: uint16(237), - 1829: uint16(200), - 1830: uint16(270), - 1831: uint16(272), - 1832: uint16(237), - 1833: uint16(237), - 1834: uint16(237), - 1835: uint16(18), - 1836: uint16(59), - 1837: uint16(199), - 1838: uint16(270), - 1839: uint16(149), - 1840: uint16(246), - 1841: uint16(272), - 1842: uint16(272), - 1843: uint16(200), - 1844: uint16(234), - 1845: uint16(234), - 1846: uint16(246), - 1847: uint16(246), - 1848: uint16(71), - 1849: uint16(246), - 1850: uint16(199), - 1851: uint16(158), - 1852: uint16(290), - 1853: uint16(62), - 1854: uint16(22), - 1855: uint16(200), - 1856: uint16(19), - 1857: uint16(20), - 1858: uint16(199), - 1859: uint16(22), - 1860: uint16(289), - 1861: uint16(221), - 1862: uint16(221), - 1863: uint16(200), - 1864: uint16(200), - 1865: uint16(199), - 1866: uint16(199), - 1867: uint16(115), - 1868: uint16(218), - 1869: uint16(64), - 1870: uint16(218), - 1871: uint16(218), + 1691: uint16(218), + 1692: uint16(194), + 1693: uint16(19), + 1694: uint16(20), + 1695: uint16(194), + 1696: uint16(22), + 1697: uint16(153), + 1698: uint16(23), + 1699: uint16(155), + 1700: uint16(25), + 1701: uint16(194), + 1702: uint16(100), + 1703: uint16(194), + 1704: uint16(217), + 1705: uint16(218), + 1706: uint16(183), + 1707: uint16(194), + 1708: uint16(106), + 1709: uint16(107), + 1710: uint16(36), + 1711: uint16(194), + 1712: uint16(217), + 1713: uint16(218), + 1714: uint16(237), + 1715: uint16(194), + 1716: uint16(114), + 1717: uint16(243), + 1718: uint16(116), + 1719: uint16(117), + 1720: uint16(118), + 1721: uint16(133), + 1722: uint16(194), + 1723: uint16(121), + 1724: uint16(217), + 1725: uint16(218), + 1726: uint16(138), + 1727: uint16(139), + 1728: uint16(194), + 1729: uint16(194), + 1730: uint16(194), + 1731: uint16(290), + 1732: uint16(289), + 1733: uint16(59), + 1734: uint16(217), + 1735: uint16(218), + 1736: uint16(194), + 1737: uint16(194), + 1738: uint16(217), + 1739: uint16(218), + 1740: uint16(194), + 1741: uint16(194), + 1742: uint16(140), + 1743: uint16(194), + 1744: uint16(194), + 1745: uint16(71), + 1746: uint16(194), + 1747: uint16(244), + 1748: uint16(194), + 1749: uint16(194), + 1750: uint16(162), + 1751: uint16(217), + 1752: uint16(218), + 1753: uint16(194), + 1754: uint16(194), + 1755: uint16(153), + 1756: uint16(154), + 1757: uint16(155), + 1758: uint16(156), + 1759: uint16(157), + 1760: uint16(217), + 1761: uint16(218), + 1762: uint16(194), + 1763: uint16(217), + 1764: uint16(218), + 1765: uint16(194), + 1766: uint16(217), + 1767: uint16(218), + 1768: uint16(257), + 1769: uint16(217), + 1770: uint16(218), + 1771: uint16(217), + 1772: uint16(218), + 1773: uint16(257), + 1774: uint16(100), + 1775: uint16(194), + 1776: uint16(257), + 1777: uint16(217), + 1778: uint16(218), + 1779: uint16(257), + 1780: uint16(106), + 1781: uint16(107), + 1782: uint16(215), + 1783: uint16(299), + 1784: uint16(194), + 1785: uint16(183), + 1786: uint16(192), + 1787: uint16(194), + 1788: uint16(114), + 1789: uint16(194), + 1790: uint16(116), + 1791: uint16(117), + 1792: uint16(118), + 1793: uint16(1), + 1794: uint16(2), + 1795: uint16(121), + 1796: uint16(221), + 1797: uint16(5), + 1798: uint16(217), + 1799: uint16(218), + 1800: uint16(273), + 1801: uint16(197), + 1802: uint16(10), + 1803: uint16(11), + 1804: uint16(12), + 1805: uint16(13), + 1806: uint16(14), + 1807: uint16(217), + 1808: uint16(218), + 1809: uint16(17), + 1810: uint16(217), + 1811: uint16(218), + 1812: uint16(217), + 1813: uint16(218), + 1814: uint16(140), + 1815: uint16(194), + 1816: uint16(246), + 1817: uint16(194), + 1818: uint16(273), + 1819: uint16(295), + 1820: uint16(247), + 1821: uint16(273), + 1822: uint16(30), + 1823: uint16(247), + 1824: uint16(32), + 1825: uint16(269), + 1826: uint16(269), + 1827: uint16(153), + 1828: uint16(154), + 1829: uint16(155), + 1830: uint16(156), + 1831: uint16(157), + 1832: uint16(40), + 1833: uint16(246), + 1834: uint16(273), + 1835: uint16(295), + 1836: uint16(230), + 1837: uint16(226), + 1838: uint16(217), + 1839: uint16(218), + 1840: uint16(217), + 1841: uint16(218), + 1842: uint16(220), + 1843: uint16(261), + 1844: uint16(220), + 1845: uint16(282), + 1846: uint16(220), + 1847: uint16(19), + 1848: uint16(20), + 1849: uint16(244), + 1850: uint16(22), + 1851: uint16(250), + 1852: uint16(141), + 1853: uint16(250), + 1854: uint16(246), + 1855: uint16(60), + 1856: uint16(201), + 1857: uint16(183), + 1858: uint16(261), + 1859: uint16(261), + 1860: uint16(261), + 1861: uint16(201), + 1862: uint16(70), + 1863: uint16(299), + 1864: uint16(36), + 1865: uint16(299), + 1866: uint16(201), + 1867: uint16(38), + 1868: uint16(151), + 1869: uint16(150), + 1870: uint16(78), + 1871: uint16(285), 1872: uint16(22), - 1873: uint16(36), - 1874: uint16(227), - 1875: uint16(126), - 1876: uint16(227), - 1877: uint16(100), - 1878: uint16(165), - 1879: uint16(221), - 1880: uint16(224), - 1881: uint16(224), - 1882: uint16(24), - 1883: uint16(106), - 1884: uint16(107), - 1885: uint16(312), - 1886: uint16(218), - 1887: uint16(305), - 1888: uint16(113), - 1889: uint16(282), - 1890: uint16(91), - 1891: uint16(114), - 1892: uint16(220), - 1893: uint16(116), - 1894: uint16(117), - 1895: uint16(118), - 1896: uint16(59), - 1897: uint16(282), - 1898: uint16(121), - 1899: uint16(218), - 1900: uint16(218), - 1901: uint16(218), + 1873: uint16(81), + 1874: uint16(296), + 1875: uint16(296), + 1876: uint16(43), + 1877: uint16(235), + 1878: uint16(18), + 1879: uint16(238), + 1880: uint16(201), + 1881: uint16(274), + 1882: uint16(272), + 1883: uint16(238), + 1884: uint16(238), + 1885: uint16(238), + 1886: uint16(18), + 1887: uint16(59), + 1888: uint16(200), + 1889: uint16(149), + 1890: uint16(98), + 1891: uint16(247), + 1892: uint16(274), + 1893: uint16(274), + 1894: uint16(235), + 1895: uint16(247), + 1896: uint16(247), + 1897: uint16(247), + 1898: uint16(235), + 1899: uint16(71), + 1900: uint16(272), + 1901: uint16(201), 1902: uint16(200), - 1903: uint16(317), - 1904: uint16(317), - 1905: uint16(82), - 1906: uint16(221), - 1907: uint16(265), - 1908: uint16(71), - 1909: uint16(148), - 1910: uint16(145), - 1911: uint16(265), - 1912: uint16(22), - 1913: uint16(277), - 1914: uint16(200), - 1915: uint16(158), - 1916: uint16(279), - 1917: uint16(140), - 1918: uint16(147), - 1919: uint16(25), - 1920: uint16(146), - 1921: uint16(202), - 1922: uint16(248), - 1923: uint16(250), - 1924: uint16(249), - 1925: uint16(247), - 1926: uint16(13), - 1927: uint16(250), - 1928: uint16(194), - 1929: uint16(194), - 1930: uint16(153), - 1931: uint16(154), - 1932: uint16(155), - 1933: uint16(156), - 1934: uint16(157), - 1935: uint16(6), - 1936: uint16(303), - 1937: uint16(100), - 1938: uint16(192), - 1939: uint16(192), - 1940: uint16(246), - 1941: uint16(213), - 1942: uint16(192), - 1943: uint16(106), - 1944: uint16(107), - 1945: uint16(207), - 1946: uint16(213), - 1947: uint16(207), - 1948: uint16(222), - 1949: uint16(213), - 1950: uint16(213), - 1951: uint16(114), - 1952: uint16(222), - 1953: uint16(116), - 1954: uint16(117), - 1955: uint16(118), - 1956: uint16(214), - 1957: uint16(214), - 1958: uint16(121), - 1959: uint16(4), - 1960: uint16(207), - 1961: uint16(213), - 1962: uint16(3), - 1963: uint16(22), - 1964: uint16(303), - 1965: uint16(15), - 1966: uint16(163), - 1967: uint16(16), - 1968: uint16(23), - 1969: uint16(23), - 1970: uint16(139), - 1971: uint16(151), - 1972: uint16(130), - 1973: uint16(25), - 1974: uint16(20), - 1975: uint16(142), - 1976: uint16(24), - 1977: uint16(16), - 1978: uint16(144), - 1979: uint16(1), - 1980: uint16(142), - 1981: uint16(130), - 1982: uint16(130), - 1983: uint16(61), - 1984: uint16(37), - 1985: uint16(53), - 1986: uint16(300), - 1987: uint16(151), - 1988: uint16(53), - 1989: uint16(53), - 1990: uint16(153), - 1991: uint16(154), - 1992: uint16(155), - 1993: uint16(156), - 1994: uint16(157), - 1995: uint16(53), - 1996: uint16(130), - 1997: uint16(116), - 1998: uint16(34), - 1999: uint16(1), - 2000: uint16(141), - 2001: uint16(5), - 2002: uint16(22), - 2003: uint16(115), - 2004: uint16(161), - 2005: uint16(68), - 2006: uint16(25), - 2007: uint16(68), - 2008: uint16(75), - 2009: uint16(41), - 2010: uint16(141), - 2011: uint16(115), - 2012: uint16(24), - 2013: uint16(20), - 2014: uint16(19), - 2015: uint16(131), - 2016: uint16(125), - 2017: uint16(23), - 2018: uint16(28), - 2019: uint16(22), - 2020: uint16(67), - 2021: uint16(22), - 2022: uint16(22), - 2023: uint16(22), - 2024: uint16(67), - 2025: uint16(59), - 2026: uint16(24), - 2027: uint16(96), - 2028: uint16(22), - 2029: uint16(67), - 2030: uint16(23), - 2031: uint16(149), - 2032: uint16(22), - 2033: uint16(25), - 2034: uint16(23), - 2035: uint16(23), - 2036: uint16(23), - 2037: uint16(22), - 2038: uint16(34), - 2039: uint16(141), - 2040: uint16(37), - 2041: uint16(97), - 2042: uint16(23), - 2043: uint16(23), - 2044: uint16(116), - 2045: uint16(22), - 2046: uint16(143), - 2047: uint16(25), - 2048: uint16(34), - 2049: uint16(75), - 2050: uint16(34), - 2051: uint16(34), - 2052: uint16(34), - 2053: uint16(88), - 2054: uint16(75), - 2055: uint16(34), - 2056: uint16(86), - 2057: uint16(23), + 1903: uint16(158), + 1904: uint16(292), + 1905: uint16(62), + 1906: uint16(291), + 1907: uint16(201), + 1908: uint16(200), + 1909: uint16(22), + 1910: uint16(201), + 1911: uint16(222), + 1912: uint16(200), + 1913: uint16(222), + 1914: uint16(201), + 1915: uint16(200), + 1916: uint16(115), + 1917: uint16(219), + 1918: uint16(219), + 1919: uint16(64), + 1920: uint16(219), + 1921: uint16(228), + 1922: uint16(22), + 1923: uint16(126), + 1924: uint16(221), + 1925: uint16(133), + 1926: uint16(165), + 1927: uint16(222), + 1928: uint16(100), + 1929: uint16(225), + 1930: uint16(138), + 1931: uint16(139), + 1932: uint16(225), + 1933: uint16(219), + 1934: uint16(106), + 1935: uint16(107), + 1936: uint16(24), + 1937: uint16(219), + 1938: uint16(228), + 1939: uint16(219), + 1940: uint16(219), + 1941: uint16(307), + 1942: uint16(114), + 1943: uint16(113), + 1944: uint16(116), + 1945: uint16(117), + 1946: uint16(118), + 1947: uint16(315), + 1948: uint16(284), + 1949: uint16(121), + 1950: uint16(284), + 1951: uint16(222), + 1952: uint16(201), + 1953: uint16(91), + 1954: uint16(162), + 1955: uint16(320), + 1956: uint16(320), + 1957: uint16(82), + 1958: uint16(148), + 1959: uint16(267), + 1960: uint16(145), + 1961: uint16(267), + 1962: uint16(22), + 1963: uint16(279), + 1964: uint16(201), + 1965: uint16(158), + 1966: uint16(281), + 1967: uint16(251), + 1968: uint16(147), + 1969: uint16(146), + 1970: uint16(25), + 1971: uint16(203), + 1972: uint16(250), + 1973: uint16(249), + 1974: uint16(251), + 1975: uint16(248), + 1976: uint16(13), + 1977: uint16(247), + 1978: uint16(195), + 1979: uint16(195), + 1980: uint16(6), + 1981: uint16(153), + 1982: uint16(154), + 1983: uint16(155), + 1984: uint16(156), + 1985: uint16(157), + 1986: uint16(193), + 1987: uint16(193), + 1988: uint16(305), + 1989: uint16(193), + 1990: uint16(208), + 1991: uint16(305), + 1992: uint16(302), + 1993: uint16(214), + 1994: uint16(214), + 1995: uint16(214), + 1996: uint16(208), + 1997: uint16(223), + 1998: uint16(223), + 1999: uint16(214), + 2000: uint16(4), + 2001: uint16(215), + 2002: uint16(215), + 2003: uint16(214), + 2004: uint16(3), + 2005: uint16(22), + 2006: uint16(208), + 2007: uint16(163), + 2008: uint16(15), + 2009: uint16(23), + 2010: uint16(16), + 2011: uint16(183), + 2012: uint16(23), + 2013: uint16(139), + 2014: uint16(151), + 2015: uint16(130), + 2016: uint16(25), + 2017: uint16(20), + 2018: uint16(142), + 2019: uint16(24), + 2020: uint16(16), + 2021: uint16(144), + 2022: uint16(1), + 2023: uint16(142), + 2024: uint16(130), + 2025: uint16(130), + 2026: uint16(61), + 2027: uint16(37), + 2028: uint16(53), + 2029: uint16(151), + 2030: uint16(53), + 2031: uint16(53), + 2032: uint16(53), + 2033: uint16(130), + 2034: uint16(116), + 2035: uint16(1), + 2036: uint16(34), + 2037: uint16(141), + 2038: uint16(5), + 2039: uint16(22), + 2040: uint16(115), + 2041: uint16(161), + 2042: uint16(75), + 2043: uint16(25), + 2044: uint16(68), + 2045: uint16(141), + 2046: uint16(41), + 2047: uint16(115), + 2048: uint16(68), + 2049: uint16(24), + 2050: uint16(20), + 2051: uint16(19), + 2052: uint16(131), + 2053: uint16(125), + 2054: uint16(67), + 2055: uint16(67), + 2056: uint16(96), + 2057: uint16(22), 2058: uint16(22), - 2059: uint16(34), - 2060: uint16(93), - 2061: uint16(24), - 2062: uint16(34), - 2063: uint16(25), - 2064: uint16(25), - 2065: uint16(142), - 2066: uint16(142), + 2059: uint16(22), + 2060: uint16(37), + 2061: uint16(23), + 2062: uint16(22), + 2063: uint16(24), + 2064: uint16(22), + 2065: uint16(59), + 2066: uint16(67), 2067: uint16(23), - 2068: uint16(44), - 2069: uint16(23), - 2070: uint16(23), - 2071: uint16(23), + 2068: uint16(149), + 2069: uint16(28), + 2070: uint16(22), + 2071: uint16(25), 2072: uint16(23), - 2073: uint16(11), + 2073: uint16(23), 2074: uint16(23), - 2075: uint16(25), - 2076: uint16(22), - 2077: uint16(22), - 2078: uint16(22), - 2079: uint16(141), + 2075: uint16(22), + 2076: uint16(141), + 2077: uint16(34), + 2078: uint16(97), + 2079: uint16(23), 2080: uint16(23), - 2081: uint16(23), - 2082: uint16(22), + 2081: uint16(34), + 2082: uint16(116), 2083: uint16(22), - 2084: uint16(25), - 2085: uint16(15), - 2086: uint16(1), - 2087: uint16(23), - 2088: uint16(25), - 2089: uint16(1), - 2090: uint16(141), - 2091: uint16(135), - 2092: uint16(319), - 2093: uint16(319), - 2094: uint16(319), - 2095: uint16(319), - 2096: uint16(319), - 2097: uint16(319), - 2098: uint16(319), - 2099: uint16(141), - 2100: uint16(319), - 2101: uint16(319), - 2102: uint16(319), - 2103: uint16(319), - 2104: uint16(319), - 2105: uint16(319), - 2106: uint16(319), - 2107: uint16(319), - 2108: uint16(319), - 2109: uint16(319), - 2110: uint16(319), - 2111: uint16(319), - 2112: uint16(319), - 2113: uint16(319), - 2114: uint16(319), - 2115: uint16(319), - 2116: uint16(319), - 2117: uint16(319), - 2118: uint16(319), - 2119: uint16(319), - 2120: uint16(319), - 2121: uint16(319), - 2122: uint16(319), - 2123: uint16(319), - 2124: uint16(319), - 2125: uint16(319), - 2126: uint16(319), - 2127: uint16(319), - 2128: uint16(319), - 2129: uint16(319), - 2130: uint16(319), - 2131: uint16(319), - 2132: uint16(319), - 2133: uint16(319), - 2134: uint16(319), - 2135: uint16(319), - 2136: uint16(319), - 2137: uint16(319), - 2138: uint16(319), - 2139: uint16(319), - 2140: uint16(319), - 2141: uint16(319), - 2142: uint16(319), - 2143: uint16(319), - 2144: uint16(319), - 2145: uint16(319), - 2146: uint16(319), - 2147: uint16(319), - 2148: uint16(319), - 2149: uint16(319), - 2150: uint16(319), - 2151: uint16(319), - 2152: uint16(319), - 2153: uint16(319), - 2154: uint16(319), - 2155: uint16(319), - 2156: uint16(319), - 2157: uint16(319), - 2158: uint16(319), - 2159: uint16(319), - 2160: uint16(319), - 2161: uint16(319), - 2162: uint16(319), - 2163: uint16(319), - 2164: uint16(319), - 2165: uint16(319), - 2166: uint16(319), - 2167: uint16(319), - 2168: uint16(319), - 2169: uint16(319), - 2170: uint16(319), - 2171: uint16(319), - 2172: uint16(319), - 2173: uint16(319), - 2174: uint16(319), - 2175: uint16(319), - 2176: uint16(319), - 2177: uint16(319), - 2178: uint16(319), - 2179: uint16(319), - 2180: uint16(319), - 2181: uint16(319), - 2182: uint16(319), - 2183: uint16(319), - 2184: uint16(319), - 2185: uint16(319), - 2186: uint16(319), - 2187: uint16(319), - 2188: uint16(319), - 2189: uint16(319), - 2190: uint16(319), - 2191: uint16(319), - 2192: uint16(319), - 2193: uint16(319), - 2194: uint16(319), - 2195: uint16(319), - 2196: uint16(319), - 2197: uint16(319), - 2198: uint16(319), - 2199: uint16(319), - 2200: uint16(319), - 2201: uint16(319), - 2202: uint16(319), - 2203: uint16(319), - 2204: uint16(319), - 2205: uint16(319), - 2206: uint16(319), - 2207: uint16(319), - 2208: uint16(319), - 2209: uint16(319), - 2210: uint16(319), - 2211: uint16(319), - 2212: uint16(319), - 2213: uint16(319), - 2214: uint16(319), - 2215: uint16(319), - 2216: uint16(319), - 2217: uint16(319), - 2218: uint16(319), - 2219: uint16(319), - 2220: uint16(319), - 2221: uint16(319), - 2222: uint16(319), - 2223: uint16(319), - 2224: uint16(319), - 2225: uint16(319), - 2226: uint16(319), - 2227: uint16(319), - 2228: uint16(319), - 2229: uint16(319), - 2230: uint16(319), - 2231: uint16(319), - 2232: uint16(319), - 2233: uint16(319), - 2234: uint16(319), - 2235: uint16(319), - 2236: uint16(319), - 2237: uint16(319), - 2238: uint16(319), - 2239: uint16(319), - 2240: uint16(319), - 2241: uint16(319), - 2242: uint16(319), - 2243: uint16(319), - 2244: uint16(319), - 2245: uint16(319), - 2246: uint16(319), - 2247: uint16(319), - 2248: uint16(319), - 2249: uint16(319), - 2250: uint16(319), - 2251: uint16(319), - 2252: uint16(319), - 2253: uint16(319), - 2254: uint16(319), - 2255: uint16(319), - 2256: uint16(319), - 2257: uint16(319), - 2258: uint16(319), - 2259: uint16(319), - 2260: uint16(319), - 2261: uint16(319), - 2262: uint16(319), - 2263: uint16(319), - 2264: uint16(319), - 2265: uint16(319), - 2266: uint16(319), - 2267: uint16(319), - 2268: uint16(319), - 2269: uint16(319), - 2270: uint16(319), - 2271: uint16(319), - 2272: uint16(319), - 2273: uint16(319), - 2274: uint16(319), - 2275: uint16(319), - 2276: uint16(319), - 2277: uint16(319), - 2278: uint16(319), - 2279: uint16(319), - 2280: uint16(319), - 2281: uint16(319), - 2282: uint16(319), - 2283: uint16(319), - 2284: uint16(319), -} -var _yy_shift_ofst = [579]uint16{ - 0: uint16(1648), - 1: uint16(1477), - 2: uint16(1272), + 2084: uint16(143), + 2085: uint16(25), + 2086: uint16(34), + 2087: uint16(75), + 2088: uint16(34), + 2089: uint16(34), + 2090: uint16(75), + 2091: uint16(88), + 2092: uint16(34), + 2093: uint16(86), + 2094: uint16(23), + 2095: uint16(22), + 2096: uint16(34), + 2097: uint16(25), + 2098: uint16(24), + 2099: uint16(34), + 2100: uint16(25), + 2101: uint16(93), + 2102: uint16(23), + 2103: uint16(44), + 2104: uint16(142), + 2105: uint16(23), + 2106: uint16(142), + 2107: uint16(23), + 2108: uint16(23), + 2109: uint16(22), + 2110: uint16(11), + 2111: uint16(25), + 2112: uint16(23), + 2113: uint16(25), + 2114: uint16(23), + 2115: uint16(22), + 2116: uint16(22), + 2117: uint16(22), + 2118: uint16(1), + 2119: uint16(23), + 2120: uint16(23), + 2121: uint16(23), + 2122: uint16(22), + 2123: uint16(22), + 2124: uint16(15), + 2125: uint16(141), + 2126: uint16(141), + 2127: uint16(25), + 2128: uint16(25), + 2129: uint16(1), + 2130: uint16(322), + 2131: uint16(322), + 2132: uint16(322), + 2133: uint16(135), + 2134: uint16(322), + 2135: uint16(322), + 2136: uint16(322), + 2137: uint16(322), + 2138: uint16(322), + 2139: uint16(322), + 2140: uint16(322), + 2141: uint16(141), + 2142: uint16(322), + 2143: uint16(322), + 2144: uint16(322), + 2145: uint16(322), + 2146: uint16(322), + 2147: uint16(322), + 2148: uint16(322), + 2149: uint16(322), + 2150: uint16(322), + 2151: uint16(322), + 2152: uint16(322), + 2153: uint16(322), + 2154: uint16(322), + 2155: uint16(322), + 2156: uint16(322), + 2157: uint16(322), + 2158: uint16(322), + 2159: uint16(322), + 2160: uint16(322), + 2161: uint16(322), + 2162: uint16(322), + 2163: uint16(322), + 2164: uint16(322), + 2165: uint16(322), + 2166: uint16(322), + 2167: uint16(322), + 2168: uint16(322), + 2169: uint16(322), + 2170: uint16(322), + 2171: uint16(322), + 2172: uint16(322), + 2173: uint16(322), + 2174: uint16(322), + 2175: uint16(322), + 2176: uint16(322), + 2177: uint16(322), + 2178: uint16(322), + 2179: uint16(322), + 2180: uint16(322), + 2181: uint16(322), + 2182: uint16(322), + 2183: uint16(322), + 2184: uint16(322), + 2185: uint16(322), + 2186: uint16(322), + 2187: uint16(322), + 2188: uint16(322), + 2189: uint16(322), + 2190: uint16(322), + 2191: uint16(322), + 2192: uint16(322), + 2193: uint16(322), + 2194: uint16(322), + 2195: uint16(322), + 2196: uint16(322), + 2197: uint16(322), + 2198: uint16(322), + 2199: uint16(322), + 2200: uint16(322), + 2201: uint16(322), + 2202: uint16(322), + 2203: uint16(322), + 2204: uint16(322), + 2205: uint16(322), + 2206: uint16(322), + 2207: uint16(322), + 2208: uint16(322), + 2209: uint16(322), + 2210: uint16(322), + 2211: uint16(322), + 2212: uint16(322), + 2213: uint16(322), + 2214: uint16(322), + 2215: uint16(322), + 2216: uint16(322), + 2217: uint16(322), + 2218: uint16(322), + 2219: uint16(322), + 2220: uint16(322), + 2221: uint16(322), + 2222: uint16(322), + 2223: uint16(322), + 2224: uint16(322), + 2225: uint16(322), + 2226: uint16(322), + 2227: uint16(322), + 2228: uint16(322), + 2229: uint16(322), + 2230: uint16(322), + 2231: uint16(322), + 2232: uint16(322), + 2233: uint16(322), + 2234: uint16(322), + 2235: uint16(322), + 2236: uint16(322), + 2237: uint16(322), + 2238: uint16(322), + 2239: uint16(322), + 2240: uint16(322), + 2241: uint16(322), + 2242: uint16(322), + 2243: uint16(322), + 2244: uint16(322), + 2245: uint16(322), + 2246: uint16(322), + 2247: uint16(322), + 2248: uint16(322), + 2249: uint16(322), + 2250: uint16(322), + 2251: uint16(322), + 2252: uint16(322), + 2253: uint16(322), + 2254: uint16(322), + 2255: uint16(322), + 2256: uint16(322), + 2257: uint16(322), + 2258: uint16(322), + 2259: uint16(322), + 2260: uint16(322), + 2261: uint16(322), + 2262: uint16(322), + 2263: uint16(322), + 2264: uint16(322), + 2265: uint16(322), + 2266: uint16(322), + 2267: uint16(322), + 2268: uint16(322), + 2269: uint16(322), + 2270: uint16(322), + 2271: uint16(322), + 2272: uint16(322), + 2273: uint16(322), + 2274: uint16(322), + 2275: uint16(322), + 2276: uint16(322), + 2277: uint16(322), + 2278: uint16(322), + 2279: uint16(322), + 2280: uint16(322), + 2281: uint16(322), + 2282: uint16(322), + 2283: uint16(322), + 2284: uint16(322), + 2285: uint16(322), + 2286: uint16(322), + 2287: uint16(322), + 2288: uint16(322), + 2289: uint16(322), + 2290: uint16(322), + 2291: uint16(322), + 2292: uint16(322), + 2293: uint16(322), + 2294: uint16(322), + 2295: uint16(322), + 2296: uint16(322), + 2297: uint16(322), + 2298: uint16(322), + 2299: uint16(322), + 2300: uint16(322), + 2301: uint16(322), + 2302: uint16(322), + 2303: uint16(322), + 2304: uint16(322), + 2305: uint16(322), + 2306: uint16(322), + 2307: uint16(322), + 2308: uint16(322), + 2309: uint16(322), + 2310: uint16(322), + 2311: uint16(322), + 2312: uint16(322), + 2313: uint16(322), + 2314: uint16(322), + 2315: uint16(322), + 2316: uint16(322), + 2317: uint16(322), + 2318: uint16(322), + 2319: uint16(322), + 2320: uint16(322), + 2321: uint16(322), + 2322: uint16(322), + 2323: uint16(322), + 2324: uint16(322), + 2325: uint16(322), + 2326: uint16(322), + 2327: uint16(322), +} +var _yy_shift_ofst = [583]uint16{ + 0: uint16(1792), + 1: uint16(1588), + 2: uint16(1494), 3: uint16(322), 4: uint16(322), - 5: uint16(1), - 6: uint16(1319), - 7: uint16(1478), - 8: uint16(1491), - 9: uint16(1837), - 10: uint16(1837), - 11: uint16(1837), - 12: uint16(471), - 15: uint16(214), - 16: uint16(1093), - 17: uint16(1837), - 18: uint16(1837), - 19: uint16(1837), - 20: uint16(1837), - 21: uint16(1837), - 22: uint16(1837), - 23: uint16(1837), - 24: uint16(1837), - 25: uint16(1837), - 26: uint16(1837), - 27: uint16(1837), - 28: uint16(1837), - 29: uint16(1837), - 30: uint16(1837), - 31: uint16(271), - 32: uint16(271), - 33: uint16(1219), - 34: uint16(1219), - 35: uint16(216), - 36: uint16(88), - 37: uint16(1), - 38: uint16(1), - 39: uint16(1), - 40: uint16(1), - 41: uint16(1), - 42: uint16(40), - 43: uint16(111), - 44: uint16(258), - 45: uint16(361), - 46: uint16(469), - 47: uint16(512), - 48: uint16(583), - 49: uint16(622), - 50: uint16(693), - 51: uint16(732), - 52: uint16(803), - 53: uint16(842), - 54: uint16(913), - 55: uint16(1073), - 56: uint16(1093), - 57: uint16(1093), - 58: uint16(1093), - 59: uint16(1093), - 60: uint16(1093), - 61: uint16(1093), - 62: uint16(1093), - 63: uint16(1093), - 64: uint16(1093), + 5: uint16(399), + 6: uint16(306), + 7: uint16(1319), + 8: uint16(1339), + 9: uint16(1430), + 10: uint16(1828), + 11: uint16(1828), + 12: uint16(1828), + 13: uint16(580), + 14: uint16(399), + 15: uint16(399), + 16: uint16(399), + 17: uint16(399), + 18: uint16(399), + 21: uint16(214), + 22: uint16(1093), + 23: uint16(1828), + 24: uint16(1828), + 25: uint16(1828), + 26: uint16(1828), + 27: uint16(1828), + 28: uint16(1828), + 29: uint16(1828), + 30: uint16(1828), + 31: uint16(1828), + 32: uint16(1828), + 33: uint16(1828), + 34: uint16(1828), + 35: uint16(1828), + 36: uint16(1828), + 37: uint16(1828), + 38: uint16(1130), + 39: uint16(1130), + 40: uint16(365), + 41: uint16(365), + 42: uint16(55), + 43: uint16(278), + 44: uint16(436), + 45: uint16(713), + 46: uint16(713), + 47: uint16(201), + 48: uint16(201), + 49: uint16(201), + 50: uint16(201), + 51: uint16(40), + 52: uint16(111), + 53: uint16(258), + 54: uint16(361), + 55: uint16(469), + 56: uint16(512), + 57: uint16(583), + 58: uint16(622), + 59: uint16(693), + 60: uint16(732), + 61: uint16(803), + 62: uint16(842), + 63: uint16(913), + 64: uint16(1073), 65: uint16(1093), 66: uint16(1093), 67: uint16(1093), @@ -157206,1505 +158622,1514 @@ var _yy_shift_ofst = [579]uint16{ 71: uint16(1093), 72: uint16(1093), 73: uint16(1093), - 74: uint16(1113), + 74: uint16(1093), 75: uint16(1093), - 76: uint16(1216), - 77: uint16(957), - 78: uint16(957), - 79: uint16(1635), - 80: uint16(1662), - 81: uint16(1777), - 82: uint16(1837), - 83: uint16(1837), - 84: uint16(1837), - 85: uint16(1837), - 86: uint16(1837), - 87: uint16(1837), - 88: uint16(1837), - 89: uint16(1837), - 90: uint16(1837), - 91: uint16(1837), - 92: uint16(1837), - 93: uint16(1837), - 94: uint16(1837), - 95: uint16(1837), - 96: uint16(1837), - 97: uint16(1837), - 98: uint16(1837), - 99: uint16(1837), - 100: uint16(1837), - 101: uint16(1837), - 102: uint16(1837), - 103: uint16(1837), - 104: uint16(1837), - 105: uint16(1837), - 106: uint16(1837), - 107: uint16(1837), - 108: uint16(1837), - 109: uint16(1837), - 110: uint16(1837), - 111: uint16(1837), - 112: uint16(1837), - 113: uint16(1837), - 114: uint16(1837), - 115: uint16(1837), - 116: uint16(1837), - 117: uint16(1837), - 118: uint16(1837), - 119: uint16(1837), - 120: uint16(1837), - 121: uint16(1837), - 122: uint16(1837), - 123: uint16(1837), - 124: uint16(1837), - 125: uint16(1837), - 126: uint16(1837), - 127: uint16(1837), - 128: uint16(1837), - 129: uint16(1837), - 130: uint16(1837), - 131: uint16(137), - 132: uint16(181), - 133: uint16(181), - 134: uint16(181), - 135: uint16(181), - 136: uint16(181), - 137: uint16(181), - 138: uint16(181), - 139: uint16(94), - 140: uint16(430), - 141: uint16(66), - 142: uint16(65), - 143: uint16(112), - 144: uint16(366), - 145: uint16(533), - 146: uint16(533), - 147: uint16(740), - 148: uint16(1257), - 149: uint16(533), - 150: uint16(533), - 151: uint16(79), - 152: uint16(79), - 153: uint16(533), - 154: uint16(412), - 155: uint16(412), - 156: uint16(412), - 157: uint16(77), - 158: uint16(412), - 159: uint16(123), - 160: uint16(113), - 161: uint16(113), - 162: uint16(113), - 163: uint16(22), - 164: uint16(22), - 165: uint16(2100), - 166: uint16(2100), - 167: uint16(328), - 168: uint16(328), - 169: uint16(328), - 170: uint16(239), - 171: uint16(468), - 172: uint16(468), - 173: uint16(468), - 174: uint16(468), - 175: uint16(1015), - 176: uint16(1015), - 177: uint16(409), - 178: uint16(366), - 179: uint16(1187), - 180: uint16(1232), - 181: uint16(533), - 182: uint16(533), - 183: uint16(533), - 184: uint16(533), - 185: uint16(533), - 186: uint16(533), - 187: uint16(533), - 188: uint16(533), - 189: uint16(533), - 190: uint16(533), - 191: uint16(533), - 192: uint16(533), - 193: uint16(533), - 194: uint16(533), - 195: uint16(533), - 196: uint16(533), - 197: uint16(533), - 198: uint16(533), - 199: uint16(533), - 200: uint16(533), - 201: uint16(969), - 202: uint16(621), - 203: uint16(621), - 204: uint16(533), - 205: uint16(642), - 206: uint16(788), - 207: uint16(788), - 208: uint16(1133), - 209: uint16(1133), - 210: uint16(822), - 211: uint16(822), - 212: uint16(67), - 213: uint16(1193), - 214: uint16(2100), - 215: uint16(2100), - 216: uint16(2100), - 217: uint16(2100), - 218: uint16(2100), - 219: uint16(2100), - 220: uint16(2100), - 221: uint16(1307), - 222: uint16(954), - 223: uint16(954), - 224: uint16(585), - 225: uint16(472), - 226: uint16(640), - 227: uint16(387), - 228: uint16(695), - 229: uint16(538), - 230: uint16(541), - 231: uint16(700), - 232: uint16(533), - 233: uint16(533), - 234: uint16(533), - 235: uint16(533), - 236: uint16(533), - 237: uint16(533), - 238: uint16(533), - 239: uint16(533), - 240: uint16(533), - 241: uint16(533), - 242: uint16(222), - 243: uint16(533), - 244: uint16(533), - 245: uint16(533), - 246: uint16(533), - 247: uint16(533), - 248: uint16(533), - 249: uint16(533), - 250: uint16(533), - 251: uint16(533), - 252: uint16(533), - 253: uint16(533), - 254: uint16(533), - 255: uint16(1213), - 256: uint16(1213), - 257: uint16(1213), - 258: uint16(533), - 259: uint16(533), - 260: uint16(533), - 261: uint16(565), - 262: uint16(533), - 263: uint16(533), - 264: uint16(533), - 265: uint16(916), - 266: uint16(1147), - 267: uint16(533), - 268: uint16(533), - 269: uint16(1288), - 270: uint16(533), - 271: uint16(533), - 272: uint16(533), - 273: uint16(533), - 274: uint16(533), - 275: uint16(533), - 276: uint16(533), - 277: uint16(533), - 278: uint16(639), - 279: uint16(1280), - 280: uint16(209), - 281: uint16(1129), - 282: uint16(1129), - 283: uint16(1129), - 284: uint16(1129), - 285: uint16(580), - 286: uint16(209), - 287: uint16(209), - 288: uint16(1209), - 289: uint16(768), - 290: uint16(917), - 291: uint16(649), - 292: uint16(1315), - 293: uint16(1334), - 294: uint16(405), - 295: uint16(1334), - 296: uint16(1383), - 297: uint16(249), - 298: uint16(1315), - 299: uint16(1315), - 300: uint16(249), - 301: uint16(1315), - 302: uint16(405), - 303: uint16(1383), - 304: uint16(1441), - 305: uint16(464), - 306: uint16(1245), - 307: uint16(1417), - 308: uint16(1417), - 309: uint16(1417), - 310: uint16(1323), - 311: uint16(1323), - 312: uint16(1323), - 313: uint16(1323), - 314: uint16(184), - 315: uint16(184), - 316: uint16(1335), - 317: uint16(1476), - 318: uint16(856), - 319: uint16(1482), - 320: uint16(1744), - 321: uint16(1744), - 322: uint16(1665), - 323: uint16(1665), - 324: uint16(1773), - 325: uint16(1773), - 326: uint16(1665), - 327: uint16(1669), - 328: uint16(1671), - 329: uint16(1802), - 330: uint16(1782), - 331: uint16(1809), - 332: uint16(1809), - 333: uint16(1809), - 334: uint16(1809), - 335: uint16(1665), - 336: uint16(1817), - 337: uint16(1690), - 338: uint16(1671), - 339: uint16(1671), - 340: uint16(1690), - 341: uint16(1802), - 342: uint16(1782), - 343: uint16(1690), - 344: uint16(1782), - 345: uint16(1690), - 346: uint16(1665), - 347: uint16(1817), - 348: uint16(1693), - 349: uint16(1791), - 350: uint16(1665), - 351: uint16(1817), - 352: uint16(1832), - 353: uint16(1665), - 354: uint16(1817), - 355: uint16(1665), - 356: uint16(1817), - 357: uint16(1832), - 358: uint16(1752), - 359: uint16(1752), - 360: uint16(1752), - 361: uint16(1805), - 362: uint16(1850), - 363: uint16(1850), - 364: uint16(1832), - 365: uint16(1752), - 366: uint16(1749), - 367: uint16(1752), - 368: uint16(1805), - 369: uint16(1752), - 370: uint16(1752), - 371: uint16(1713), - 372: uint16(1858), - 373: uint16(1775), - 374: uint16(1775), - 375: uint16(1832), - 376: uint16(1665), - 377: uint16(1799), - 378: uint16(1799), - 379: uint16(1823), - 380: uint16(1823), - 381: uint16(1761), - 382: uint16(1765), - 383: uint16(1890), - 384: uint16(1665), - 385: uint16(1757), - 386: uint16(1761), - 387: uint16(1771), - 388: uint16(1774), - 389: uint16(1690), - 390: uint16(1894), - 391: uint16(1913), - 392: uint16(1913), - 393: uint16(1929), - 394: uint16(1929), - 395: uint16(1929), - 396: uint16(2100), - 397: uint16(2100), - 398: uint16(2100), - 399: uint16(2100), - 400: uint16(2100), - 401: uint16(2100), - 402: uint16(2100), - 403: uint16(2100), - 404: uint16(2100), - 405: uint16(2100), - 406: uint16(2100), - 407: uint16(2100), - 408: uint16(2100), - 409: uint16(2100), - 410: uint16(2100), - 411: uint16(207), - 412: uint16(1220), - 413: uint16(331), - 414: uint16(620), - 415: uint16(967), - 416: uint16(806), - 417: uint16(1074), - 418: uint16(1499), - 419: uint16(1432), - 420: uint16(1463), - 421: uint16(1479), - 422: uint16(1419), - 423: uint16(1422), - 424: uint16(1557), - 425: uint16(1512), - 426: uint16(1598), - 427: uint16(1599), - 428: uint16(1644), - 429: uint16(1645), - 430: uint16(1654), - 431: uint16(1660), - 432: uint16(1555), - 433: uint16(1505), - 434: uint16(1684), - 435: uint16(1462), - 436: uint16(1670), - 437: uint16(1563), - 438: uint16(1619), - 439: uint16(1593), - 440: uint16(1676), - 441: uint16(1679), - 442: uint16(1613), - 443: uint16(1680), - 444: uint16(1554), - 445: uint16(1558), - 446: uint16(1689), - 447: uint16(1692), - 448: uint16(1605), - 449: uint16(1589), - 450: uint16(1955), - 451: uint16(1959), - 452: uint16(1941), - 453: uint16(1803), - 454: uint16(1950), - 455: uint16(1951), - 456: uint16(1945), - 457: uint16(1946), - 458: uint16(1831), - 459: uint16(1820), - 460: uint16(1842), - 461: uint16(1948), - 462: uint16(1948), - 463: uint16(1952), - 464: uint16(1833), - 465: uint16(1954), - 466: uint16(1834), - 467: uint16(1961), - 468: uint16(1978), - 469: uint16(1838), - 470: uint16(1851), - 471: uint16(1948), - 472: uint16(1852), - 473: uint16(1922), - 474: uint16(1947), - 475: uint16(1948), - 476: uint16(1836), - 477: uint16(1932), - 478: uint16(1935), - 479: uint16(1936), - 480: uint16(1942), - 481: uint16(1866), - 482: uint16(1881), - 483: uint16(1964), - 484: uint16(1859), - 485: uint16(1998), - 486: uint16(1996), - 487: uint16(1980), - 488: uint16(1888), - 489: uint16(1843), - 490: uint16(1937), - 491: uint16(1981), - 492: uint16(1939), - 493: uint16(1933), - 494: uint16(1968), - 495: uint16(1869), - 496: uint16(1896), - 497: uint16(1988), - 498: uint16(1993), - 499: uint16(1995), - 500: uint16(1884), - 501: uint16(1891), - 502: uint16(1997), - 503: uint16(1953), - 504: uint16(1999), - 505: uint16(2000), - 506: uint16(1994), - 507: uint16(2001), - 508: uint16(1957), - 509: uint16(1966), - 510: uint16(2002), - 511: uint16(1931), - 512: uint16(1990), - 513: uint16(2006), - 514: uint16(1962), - 515: uint16(2003), - 516: uint16(2007), - 517: uint16(2004), - 518: uint16(1882), - 519: uint16(2010), - 520: uint16(2011), - 521: uint16(2012), - 522: uint16(2008), - 523: uint16(2013), - 524: uint16(2015), - 525: uint16(1944), - 526: uint16(1898), - 527: uint16(2019), - 528: uint16(2020), - 529: uint16(1928), - 530: uint16(2014), - 531: uint16(2023), - 532: uint16(1903), - 533: uint16(2022), - 534: uint16(2016), - 535: uint16(2017), - 536: uint16(2018), - 537: uint16(2021), - 538: uint16(1965), - 539: uint16(1974), - 540: uint16(1970), - 541: uint16(2024), - 542: uint16(1979), - 543: uint16(1967), - 544: uint16(2025), - 545: uint16(2034), - 546: uint16(2036), - 547: uint16(2037), - 548: uint16(2038), - 549: uint16(2039), - 550: uint16(2028), - 551: uint16(1923), - 552: uint16(1924), - 553: uint16(2044), - 554: uint16(2022), - 555: uint16(2046), - 556: uint16(2047), - 557: uint16(2048), - 558: uint16(2049), - 559: uint16(2050), - 560: uint16(2051), - 561: uint16(2054), - 562: uint16(2062), - 563: uint16(2055), - 564: uint16(2056), - 565: uint16(2057), - 566: uint16(2058), - 567: uint16(2060), - 568: uint16(2061), - 569: uint16(2059), - 570: uint16(1956), - 571: uint16(1938), - 572: uint16(1949), - 573: uint16(1958), - 574: uint16(2063), - 575: uint16(2064), - 576: uint16(2070), - 577: uint16(2085), - 578: uint16(2088), -} -var _yy_reduce_ofst = [411]int16{ - 0: int16(-int32(125)), - 1: int16(733), - 2: int16(789), - 3: int16(241), - 4: int16(293), - 5: int16(-int32(123)), - 6: int16(-int32(193)), - 7: int16(-int32(191)), - 8: int16(-int32(183)), - 9: int16(-int32(187)), - 10: int16(166), - 11: int16(238), - 12: int16(133), - 13: int16(-int32(207)), - 14: int16(-int32(199)), - 15: int16(-int32(267)), - 16: int16(-int32(176)), - 17: int16(-int32(6)), - 18: int16(204), - 19: int16(489), - 20: int16(576), - 21: int16(598), - 22: int16(-int32(175)), - 23: int16(686), - 24: int16(860), - 25: int16(615), - 26: int16(725), - 27: int16(1014), - 28: int16(778), - 29: int16(781), - 30: int16(857), - 31: int16(616), - 32: int16(887), - 33: int16(87), - 34: int16(240), - 35: int16(-int32(192)), - 36: int16(408), - 37: int16(626), - 38: int16(796), - 39: int16(843), - 40: int16(854), - 41: int16(1004), - 42: int16(-int32(271)), - 43: int16(-int32(271)), - 44: int16(-int32(271)), - 45: int16(-int32(271)), - 46: int16(-int32(271)), - 47: int16(-int32(271)), - 48: int16(-int32(271)), - 49: int16(-int32(271)), - 50: int16(-int32(271)), - 51: int16(-int32(271)), - 52: int16(-int32(271)), - 53: int16(-int32(271)), - 54: int16(-int32(271)), - 55: int16(-int32(271)), - 56: int16(-int32(271)), - 57: int16(-int32(271)), - 58: int16(-int32(271)), - 59: int16(-int32(271)), - 60: int16(-int32(271)), - 61: int16(-int32(271)), - 62: int16(-int32(271)), - 63: int16(-int32(271)), - 64: int16(-int32(271)), - 65: int16(-int32(271)), - 66: int16(-int32(271)), - 67: int16(-int32(271)), - 68: int16(-int32(271)), - 69: int16(-int32(271)), - 70: int16(-int32(271)), - 71: int16(-int32(271)), - 72: int16(-int32(271)), - 73: int16(-int32(271)), - 74: int16(-int32(271)), - 75: int16(-int32(271)), - 76: int16(-int32(271)), - 77: int16(-int32(271)), - 78: int16(-int32(271)), - 79: int16(80), - 80: int16(83), - 81: int16(313), - 82: int16(886), - 83: int16(888), - 84: int16(918), - 85: int16(938), - 86: int16(1021), - 87: int16(1034), - 88: int16(1036), - 89: int16(1141), - 90: int16(1159), - 91: int16(1163), - 92: int16(1166), - 93: int16(1168), - 94: int16(1170), - 95: int16(1176), - 96: int16(1178), - 97: int16(1180), - 98: int16(1184), - 99: int16(1196), - 100: int16(1198), - 101: int16(1205), - 102: int16(1215), - 103: int16(1225), - 104: int16(1227), - 105: int16(1236), - 106: int16(1252), - 107: int16(1254), - 108: int16(1264), - 109: int16(1303), - 110: int16(1309), - 111: int16(1312), - 112: int16(1322), - 113: int16(1325), - 114: int16(1328), - 115: int16(1337), - 116: int16(1340), - 117: int16(1343), - 118: int16(1353), - 119: int16(1371), - 120: int16(1373), - 121: int16(1384), - 122: int16(1386), - 123: int16(1411), - 124: int16(1413), - 125: int16(1420), - 126: int16(1424), - 127: int16(1426), - 128: int16(1458), - 129: int16(1470), - 130: int16(1473), - 131: int16(-int32(271)), - 132: int16(-int32(271)), - 133: int16(-int32(271)), - 134: int16(-int32(271)), - 135: int16(-int32(271)), - 136: int16(-int32(271)), - 137: int16(-int32(271)), - 138: int16(-int32(271)), - 139: int16(-int32(271)), - 140: int16(-int32(271)), - 141: int16(-int32(271)), - 142: int16(138), - 143: int16(459), - 144: int16(396), - 145: int16(-int32(158)), - 146: int16(470), - 147: int16(302), - 148: int16(-int32(212)), - 149: int16(521), - 150: int16(201), - 151: int16(-int32(195)), - 152: int16(-int32(92)), - 153: int16(559), - 154: int16(630), - 155: int16(632), - 156: int16(630), - 157: int16(-int32(271)), - 158: int16(632), - 159: int16(901), - 160: int16(63), - 161: int16(407), - 162: int16(670), - 163: int16(-int32(271)), - 164: int16(-int32(271)), - 165: int16(-int32(271)), - 166: int16(-int32(271)), - 167: int16(161), - 168: int16(161), - 169: int16(161), - 170: int16(251), - 171: int16(335), - 172: int16(847), - 173: int16(979), - 174: int16(1097), - 175: int16(537), - 176: int16(588), - 177: int16(618), - 178: int16(628), - 179: int16(688), - 180: int16(688), - 181: int16(-int32(166)), - 182: int16(-int32(161)), - 183: int16(674), - 184: int16(787), - 185: int16(794), - 186: int16(799), - 187: int16(852), - 188: int16(996), - 189: int16(-int32(122)), - 190: int16(837), - 191: int16(-int32(120)), - 192: int16(1018), - 193: int16(1035), - 194: int16(415), - 195: int16(1047), - 196: int16(1001), - 197: int16(958), - 198: int16(1082), - 199: int16(400), - 200: int16(1099), - 201: int16(779), - 202: int16(1137), - 203: int16(1142), - 204: int16(263), - 205: int16(1083), - 206: int16(1145), - 207: int16(1150), - 208: int16(1041), - 209: int16(1139), - 210: int16(965), - 211: int16(1050), - 212: int16(362), - 213: int16(849), - 214: int16(752), - 215: int16(629), - 216: int16(675), - 217: int16(1162), - 218: int16(1173), - 219: int16(1090), - 220: int16(1195), - 221: int16(-int32(194)), - 222: int16(56), - 223: int16(185), - 224: int16(-int32(135)), - 225: int16(232), - 226: int16(522), - 227: int16(560), - 228: int16(571), - 229: int16(601), - 230: int16(617), - 231: int16(669), - 232: int16(683), - 233: int16(711), - 234: int16(850), - 235: int16(893), - 236: int16(1000), - 237: int16(1040), - 238: int16(1049), - 239: int16(1081), - 240: int16(1087), - 241: int16(1101), - 242: int16(392), - 243: int16(1114), - 244: int16(1123), - 245: int16(1155), - 246: int16(1161), - 247: int16(1175), - 248: int16(1271), - 249: int16(1293), - 250: int16(1299), - 251: int16(1330), - 252: int16(1339), - 253: int16(1342), - 254: int16(1347), - 255: int16(593), - 256: int16(1282), - 257: int16(1286), - 258: int16(1350), - 259: int16(1359), - 260: int16(1368), - 261: int16(1314), - 262: int16(1480), - 263: int16(1483), - 264: int16(1507), - 265: int16(1085), - 266: int16(1338), - 267: int16(1526), - 268: int16(1527), - 269: int16(1487), - 270: int16(1531), - 271: int16(560), - 272: int16(1532), - 273: int16(1534), - 274: int16(1535), - 275: int16(1538), - 276: int16(1539), - 277: int16(1541), - 278: int16(1448), - 279: int16(1450), - 280: int16(1496), - 281: int16(1484), - 282: int16(1485), - 283: int16(1489), - 284: int16(1490), - 285: int16(1314), - 286: int16(1496), - 287: int16(1496), - 288: int16(1504), - 289: int16(1536), - 290: int16(1564), - 291: int16(1451), - 292: int16(1486), - 293: int16(1492), - 294: int16(1509), - 295: int16(1493), - 296: int16(1465), - 297: int16(1515), - 298: int16(1494), - 299: int16(1495), - 300: int16(1517), - 301: int16(1500), - 302: int16(1519), - 303: int16(1474), - 304: int16(1550), - 305: int16(1543), - 306: int16(1548), - 307: int16(1556), - 308: int16(1565), - 309: int16(1566), - 310: int16(1518), - 311: int16(1523), - 312: int16(1542), - 313: int16(1544), - 314: int16(1525), - 315: int16(1545), - 316: int16(1513), - 317: int16(1553), - 318: int16(1552), - 319: int16(1604), - 320: int16(1508), - 321: int16(1510), - 322: int16(1608), - 323: int16(1609), - 324: int16(1520), - 325: int16(1528), - 326: int16(1612), - 327: int16(1540), - 328: int16(1559), - 329: int16(1560), - 330: int16(1592), - 331: int16(1591), - 332: int16(1595), - 333: int16(1596), - 334: int16(1597), - 335: int16(1629), - 336: int16(1638), - 337: int16(1594), - 338: int16(1569), - 339: int16(1570), - 340: int16(1600), - 341: int16(1568), - 342: int16(1610), - 343: int16(1601), - 344: int16(1611), - 345: int16(1603), - 346: int16(1643), - 347: int16(1651), - 348: int16(1562), - 349: int16(1571), - 350: int16(1655), - 351: int16(1659), - 352: int16(1640), - 353: int16(1663), - 354: int16(1666), - 355: int16(1664), - 356: int16(1667), - 357: int16(1641), - 358: int16(1650), - 359: int16(1652), - 360: int16(1653), - 361: int16(1647), - 362: int16(1656), - 363: int16(1657), - 364: int16(1658), - 365: int16(1668), - 366: int16(1672), - 367: int16(1681), - 368: int16(1649), - 369: int16(1682), - 370: int16(1683), - 371: int16(1573), - 372: int16(1582), - 373: int16(1607), - 374: int16(1615), - 375: int16(1685), - 376: int16(1702), - 377: int16(1586), - 378: int16(1587), - 379: int16(1642), - 380: int16(1646), - 381: int16(1673), - 382: int16(1675), - 383: int16(1636), - 384: int16(1714), - 385: int16(1637), - 386: int16(1677), - 387: int16(1674), - 388: int16(1678), - 389: int16(1694), - 390: int16(1719), - 391: int16(1734), - 392: int16(1735), - 393: int16(1746), - 394: int16(1747), - 395: int16(1750), - 396: int16(1633), - 397: int16(1661), + 76: uint16(1093), + 77: uint16(1093), + 78: uint16(1093), + 79: uint16(1093), + 80: uint16(1093), + 81: uint16(1093), + 82: uint16(1093), + 83: uint16(1113), + 84: uint16(1093), + 85: uint16(1216), + 86: uint16(957), + 87: uint16(957), + 88: uint16(1523), + 89: uint16(1602), + 90: uint16(1674), + 91: uint16(1828), + 92: uint16(1828), + 93: uint16(1828), + 94: uint16(1828), + 95: uint16(1828), + 96: uint16(1828), + 97: uint16(1828), + 98: uint16(1828), + 99: uint16(1828), + 100: uint16(1828), + 101: uint16(1828), + 102: uint16(1828), + 103: uint16(1828), + 104: uint16(1828), + 105: uint16(1828), + 106: uint16(1828), + 107: uint16(1828), + 108: uint16(1828), + 109: uint16(1828), + 110: uint16(1828), + 111: uint16(1828), + 112: uint16(1828), + 113: uint16(1828), + 114: uint16(1828), + 115: uint16(1828), + 116: uint16(1828), + 117: uint16(1828), + 118: uint16(1828), + 119: uint16(1828), + 120: uint16(1828), + 121: uint16(1828), + 122: uint16(1828), + 123: uint16(1828), + 124: uint16(1828), + 125: uint16(1828), + 126: uint16(1828), + 127: uint16(1828), + 128: uint16(1828), + 129: uint16(1828), + 130: uint16(1828), + 131: uint16(1828), + 132: uint16(1828), + 133: uint16(1828), + 134: uint16(1828), + 135: uint16(1828), + 136: uint16(1828), + 137: uint16(1828), + 138: uint16(1828), + 139: uint16(1828), + 140: uint16(137), + 141: uint16(181), + 142: uint16(181), + 143: uint16(181), + 144: uint16(181), + 145: uint16(181), + 146: uint16(181), + 147: uint16(181), + 148: uint16(96), + 149: uint16(222), + 150: uint16(143), + 151: uint16(477), + 152: uint16(713), + 153: uint16(1133), + 154: uint16(1268), + 155: uint16(713), + 156: uint16(713), + 157: uint16(79), + 158: uint16(79), + 159: uint16(713), + 160: uint16(770), + 161: uint16(83), + 162: uint16(65), + 163: uint16(65), + 164: uint16(65), + 165: uint16(288), + 166: uint16(162), + 167: uint16(162), + 168: uint16(2142), + 169: uint16(2142), + 170: uint16(696), + 171: uint16(696), + 172: uint16(696), + 173: uint16(238), + 174: uint16(474), + 175: uint16(474), + 176: uint16(474), + 177: uint16(474), + 178: uint16(1217), + 179: uint16(1217), + 180: uint16(678), + 181: uint16(477), + 182: uint16(324), + 183: uint16(398), + 184: uint16(713), + 185: uint16(713), + 186: uint16(713), + 187: uint16(713), + 188: uint16(713), + 189: uint16(713), + 190: uint16(713), + 191: uint16(713), + 192: uint16(713), + 193: uint16(713), + 194: uint16(713), + 195: uint16(713), + 196: uint16(713), + 197: uint16(713), + 198: uint16(713), + 199: uint16(713), + 200: uint16(713), + 201: uint16(713), + 202: uint16(713), + 203: uint16(1220), + 204: uint16(366), + 205: uint16(366), + 206: uint16(713), + 207: uint16(917), + 208: uint16(283), + 209: uint16(283), + 210: uint16(434), + 211: uint16(434), + 212: uint16(605), + 213: uint16(605), + 214: uint16(1298), + 215: uint16(2142), + 216: uint16(2142), + 217: uint16(2142), + 218: uint16(2142), + 219: uint16(2142), + 220: uint16(2142), + 221: uint16(2142), + 222: uint16(1179), + 223: uint16(1157), + 224: uint16(1157), + 225: uint16(487), + 226: uint16(527), + 227: uint16(585), + 228: uint16(645), + 229: uint16(749), + 230: uint16(914), + 231: uint16(968), + 232: uint16(752), + 233: uint16(713), + 234: uint16(713), + 235: uint16(713), + 236: uint16(713), + 237: uint16(713), + 238: uint16(713), + 239: uint16(713), + 240: uint16(713), + 241: uint16(713), + 242: uint16(713), + 243: uint16(303), + 244: uint16(713), + 245: uint16(713), + 246: uint16(713), + 247: uint16(713), + 248: uint16(713), + 249: uint16(713), + 250: uint16(713), + 251: uint16(713), + 252: uint16(713), + 253: uint16(713), + 254: uint16(713), + 255: uint16(713), + 256: uint16(797), + 257: uint16(797), + 258: uint16(797), + 259: uint16(713), + 260: uint16(713), + 261: uint16(713), + 262: uint16(959), + 263: uint16(713), + 264: uint16(713), + 265: uint16(713), + 266: uint16(1169), + 267: uint16(1271), + 268: uint16(713), + 269: uint16(713), + 270: uint16(1330), + 271: uint16(713), + 272: uint16(713), + 273: uint16(713), + 274: uint16(713), + 275: uint16(713), + 276: uint16(713), + 277: uint16(713), + 278: uint16(713), + 279: uint16(629), + 280: uint16(7), + 281: uint16(91), + 282: uint16(876), + 283: uint16(876), + 284: uint16(876), + 285: uint16(876), + 286: uint16(953), + 287: uint16(91), + 288: uint16(91), + 289: uint16(1246), + 290: uint16(1065), + 291: uint16(1106), + 292: uint16(1374), + 293: uint16(1329), + 294: uint16(1348), + 295: uint16(468), + 296: uint16(1348), + 297: uint16(1394), + 298: uint16(785), + 299: uint16(1329), + 300: uint16(1329), + 301: uint16(785), + 302: uint16(1329), + 303: uint16(468), + 304: uint16(1394), + 305: uint16(859), + 306: uint16(854), + 307: uint16(1402), + 308: uint16(1449), + 309: uint16(1449), + 310: uint16(1449), + 311: uint16(1173), + 312: uint16(1173), + 313: uint16(1173), + 314: uint16(1173), + 315: uint16(1355), + 316: uint16(1355), + 317: uint16(1030), + 318: uint16(1341), + 319: uint16(405), + 320: uint16(1230), + 321: uint16(1795), + 322: uint16(1795), + 323: uint16(1711), + 324: uint16(1711), + 325: uint16(1829), + 326: uint16(1829), + 327: uint16(1711), + 328: uint16(1717), + 329: uint16(1719), + 330: uint16(1850), + 331: uint16(1833), + 332: uint16(1860), + 333: uint16(1860), + 334: uint16(1860), + 335: uint16(1860), + 336: uint16(1711), + 337: uint16(1868), + 338: uint16(1740), + 339: uint16(1719), + 340: uint16(1719), + 341: uint16(1740), + 342: uint16(1850), + 343: uint16(1833), + 344: uint16(1740), + 345: uint16(1833), + 346: uint16(1740), + 347: uint16(1711), + 348: uint16(1868), + 349: uint16(1745), + 350: uint16(1843), + 351: uint16(1711), + 352: uint16(1868), + 353: uint16(1887), + 354: uint16(1711), + 355: uint16(1868), + 356: uint16(1711), + 357: uint16(1868), + 358: uint16(1887), + 359: uint16(1801), + 360: uint16(1801), + 361: uint16(1801), + 362: uint16(1855), + 363: uint16(1900), + 364: uint16(1900), + 365: uint16(1887), + 366: uint16(1801), + 367: uint16(1797), + 368: uint16(1801), + 369: uint16(1855), + 370: uint16(1801), + 371: uint16(1801), + 372: uint16(1761), + 373: uint16(1912), + 374: uint16(1830), + 375: uint16(1830), + 376: uint16(1887), + 377: uint16(1711), + 378: uint16(1862), + 379: uint16(1862), + 380: uint16(1875), + 381: uint16(1875), + 382: uint16(1810), + 383: uint16(1815), + 384: uint16(1940), + 385: uint16(1711), + 386: uint16(1807), + 387: uint16(1810), + 388: uint16(1821), + 389: uint16(1823), + 390: uint16(1740), + 391: uint16(1945), + 392: uint16(1963), + 393: uint16(1963), + 394: uint16(1974), + 395: uint16(1974), + 396: uint16(1974), + 397: uint16(2142), + 398: uint16(2142), + 399: uint16(2142), + 400: uint16(2142), + 401: uint16(2142), + 402: uint16(2142), + 403: uint16(2142), + 404: uint16(2142), + 405: uint16(2142), + 406: uint16(2142), + 407: uint16(2142), + 408: uint16(2142), + 409: uint16(2142), + 410: uint16(2142), + 411: uint16(2142), + 412: uint16(20), + 413: uint16(1224), + 414: uint16(256), + 415: uint16(1111), + 416: uint16(1115), + 417: uint16(1114), + 418: uint16(1192), + 419: uint16(1496), + 420: uint16(1424), + 421: uint16(1505), + 422: uint16(1427), + 423: uint16(355), + 424: uint16(1383), + 425: uint16(1537), + 426: uint16(1506), + 427: uint16(1538), + 428: uint16(1553), + 429: uint16(1583), + 430: uint16(1584), + 431: uint16(1591), + 432: uint16(1625), + 433: uint16(541), + 434: uint16(1445), + 435: uint16(1562), + 436: uint16(1450), + 437: uint16(1572), + 438: uint16(1515), + 439: uint16(1428), + 440: uint16(1532), + 441: uint16(1592), + 442: uint16(1629), + 443: uint16(1520), + 444: uint16(1630), + 445: uint16(1639), + 446: uint16(1510), + 447: uint16(1544), + 448: uint16(1662), + 449: uint16(1675), + 450: uint16(1551), + 451: uint16(48), + 452: uint16(1996), + 453: uint16(2001), + 454: uint16(1983), + 455: uint16(1844), + 456: uint16(1993), + 457: uint16(1994), + 458: uint16(1986), + 459: uint16(1989), + 460: uint16(1874), + 461: uint16(1863), + 462: uint16(1885), + 463: uint16(1991), + 464: uint16(1991), + 465: uint16(1995), + 466: uint16(1876), + 467: uint16(1997), + 468: uint16(1877), + 469: uint16(2004), + 470: uint16(2021), + 471: uint16(1881), + 472: uint16(1894), + 473: uint16(1991), + 474: uint16(1895), + 475: uint16(1965), + 476: uint16(1990), + 477: uint16(1991), + 478: uint16(1878), + 479: uint16(1975), + 480: uint16(1977), + 481: uint16(1978), + 482: uint16(1979), + 483: uint16(1903), + 484: uint16(1918), + 485: uint16(2002), + 486: uint16(1896), + 487: uint16(2034), + 488: uint16(2033), + 489: uint16(2017), + 490: uint16(1925), + 491: uint16(1880), + 492: uint16(1976), + 493: uint16(2018), + 494: uint16(1980), + 495: uint16(1967), + 496: uint16(2005), + 497: uint16(1904), + 498: uint16(1932), + 499: uint16(2025), + 500: uint16(2030), + 501: uint16(2032), + 502: uint16(1921), + 503: uint16(1928), + 504: uint16(2035), + 505: uint16(1987), + 506: uint16(2036), + 507: uint16(2037), + 508: uint16(2038), + 509: uint16(2040), + 510: uint16(1988), + 511: uint16(2006), + 512: uint16(2039), + 513: uint16(1960), + 514: uint16(2041), + 515: uint16(2042), + 516: uint16(1999), + 517: uint16(2023), + 518: uint16(2044), + 519: uint16(2043), + 520: uint16(1919), + 521: uint16(2048), + 522: uint16(2049), + 523: uint16(2050), + 524: uint16(2046), + 525: uint16(2051), + 526: uint16(2053), + 527: uint16(1981), + 528: uint16(1935), + 529: uint16(2056), + 530: uint16(2057), + 531: uint16(1966), + 532: uint16(2047), + 533: uint16(2061), + 534: uint16(1941), + 535: uint16(2060), + 536: uint16(2052), + 537: uint16(2054), + 538: uint16(2055), + 539: uint16(2058), + 540: uint16(2003), + 541: uint16(2012), + 542: uint16(2007), + 543: uint16(2059), + 544: uint16(2015), + 545: uint16(2008), + 546: uint16(2062), + 547: uint16(2071), + 548: uint16(2073), + 549: uint16(2074), + 550: uint16(2072), + 551: uint16(2075), + 552: uint16(2065), + 553: uint16(1962), + 554: uint16(1964), + 555: uint16(2079), + 556: uint16(2060), + 557: uint16(2082), + 558: uint16(2084), + 559: uint16(2085), + 560: uint16(2087), + 561: uint16(2086), + 562: uint16(2089), + 563: uint16(2088), + 564: uint16(2091), + 565: uint16(2093), + 566: uint16(2099), + 567: uint16(2094), + 568: uint16(2095), + 569: uint16(2096), + 570: uint16(2097), + 571: uint16(2100), + 572: uint16(2101), + 573: uint16(2102), + 574: uint16(1998), + 575: uint16(1984), + 576: uint16(1985), + 577: uint16(2000), + 578: uint16(2103), + 579: uint16(2098), + 580: uint16(2109), + 581: uint16(2117), + 582: uint16(2128), +} +var _yy_reduce_ofst = [412]int16{ + 0: int16(-int32(71)), + 1: int16(194), + 2: int16(343), + 3: int16(835), + 4: int16(-int32(180)), + 5: int16(-int32(177)), + 6: int16(838), + 7: int16(-int32(194)), + 8: int16(-int32(188)), + 9: int16(-int32(185)), + 10: int16(-int32(183)), + 11: int16(82), + 12: int16(183), + 13: int16(-int32(65)), + 14: int16(133), + 15: int16(245), + 16: int16(346), + 17: int16(407), + 18: int16(458), + 19: int16(-int32(178)), + 20: int16(75), + 21: int16(-int32(275)), + 22: int16(-int32(4)), + 23: int16(310), + 24: int16(312), + 25: int16(489), + 26: int16(575), + 27: int16(596), + 28: int16(463), + 29: int16(686), + 30: int16(707), + 31: int16(725), + 32: int16(780), + 33: int16(1098), + 34: int16(856), + 35: int16(778), + 36: int16(1059), + 37: int16(1090), + 38: int16(708), + 39: int16(887), + 40: int16(86), + 41: int16(448), + 42: int16(980), + 43: int16(630), + 44: int16(680), + 45: int16(681), + 46: int16(684), + 47: int16(796), + 48: int16(801), + 49: int16(796), + 50: int16(801), + 51: int16(-int32(261)), + 52: int16(-int32(261)), + 53: int16(-int32(261)), + 54: int16(-int32(261)), + 55: int16(-int32(261)), + 56: int16(-int32(261)), + 57: int16(-int32(261)), + 58: int16(-int32(261)), + 59: int16(-int32(261)), + 60: int16(-int32(261)), + 61: int16(-int32(261)), + 62: int16(-int32(261)), + 63: int16(-int32(261)), + 64: int16(-int32(261)), + 65: int16(-int32(261)), + 66: int16(-int32(261)), + 67: int16(-int32(261)), + 68: int16(-int32(261)), + 69: int16(-int32(261)), + 70: int16(-int32(261)), + 71: int16(-int32(261)), + 72: int16(-int32(261)), + 73: int16(-int32(261)), + 74: int16(-int32(261)), + 75: int16(-int32(261)), + 76: int16(-int32(261)), + 77: int16(-int32(261)), + 78: int16(-int32(261)), + 79: int16(-int32(261)), + 80: int16(-int32(261)), + 81: int16(-int32(261)), + 82: int16(-int32(261)), + 83: int16(-int32(261)), + 84: int16(-int32(261)), + 85: int16(-int32(261)), + 86: int16(-int32(261)), + 87: int16(-int32(261)), + 88: int16(391), + 89: int16(886), + 90: int16(888), + 91: int16(1013), + 92: int16(1016), + 93: int16(1081), + 94: int16(1087), + 95: int16(1151), + 96: int16(1159), + 97: int16(1177), + 98: int16(1185), + 99: int16(1188), + 100: int16(1190), + 101: int16(1194), + 102: int16(1197), + 103: int16(1203), + 104: int16(1247), + 105: int16(1260), + 106: int16(1264), + 107: int16(1267), + 108: int16(1269), + 109: int16(1273), + 110: int16(1315), + 111: int16(1322), + 112: int16(1335), + 113: int16(1337), + 114: int16(1356), + 115: int16(1362), + 116: int16(1418), + 117: int16(1425), + 118: int16(1453), + 119: int16(1457), + 120: int16(1465), + 121: int16(1473), + 122: int16(1487), + 123: int16(1495), + 124: int16(1507), + 125: int16(1517), + 126: int16(1521), + 127: int16(1534), + 128: int16(1543), + 129: int16(1546), + 130: int16(1549), + 131: int16(1552), + 132: int16(1554), + 133: int16(1560), + 134: int16(1581), + 135: int16(1590), + 136: int16(1593), + 137: int16(1595), + 138: int16(1621), + 139: int16(1623), + 140: int16(-int32(261)), + 141: int16(-int32(261)), + 142: int16(-int32(261)), + 143: int16(-int32(261)), + 144: int16(-int32(261)), + 145: int16(-int32(261)), + 146: int16(-int32(261)), + 147: int16(-int32(261)), + 148: int16(-int32(261)), + 149: int16(-int32(261)), + 150: int16(-int32(261)), + 151: int16(-int32(186)), + 152: int16(-int32(117)), + 153: int16(260), + 154: int16(263), + 155: int16(460), + 156: int16(631), + 157: int16(-int32(74)), + 158: int16(497), + 159: int16(-int32(181)), + 160: int16(-int32(261)), + 161: int16(939), + 162: int16(176), + 163: int16(274), + 164: int16(338), + 165: int16(676), + 166: int16(-int32(261)), + 167: int16(-int32(261)), + 168: int16(-int32(261)), + 169: int16(-int32(261)), + 170: int16(-int32(212)), + 171: int16(-int32(212)), + 172: int16(-int32(212)), + 173: int16(-int32(184)), + 174: int16(149), + 175: int16(777), + 176: int16(1061), + 177: int16(1103), + 178: int16(265), + 179: int16(419), + 180: int16(-int32(254)), + 181: int16(670), + 182: int16(677), + 183: int16(677), + 184: int16(-int32(11)), + 185: int16(-int32(129)), + 186: int16(184), + 187: int16(488), + 188: int16(736), + 189: int16(789), + 190: int16(805), + 191: int16(844), + 192: int16(403), + 193: int16(529), + 194: int16(579), + 195: int16(668), + 196: int16(783), + 197: int16(841), + 198: int16(1158), + 199: int16(1112), + 200: int16(806), + 201: int16(861), + 202: int16(1095), + 203: int16(846), + 204: int16(839), + 205: int16(1031), + 206: int16(-int32(189)), + 207: int16(1077), + 208: int16(1080), + 209: int16(1116), + 210: int16(1084), + 211: int16(1156), + 212: int16(1139), + 213: int16(1221), + 214: int16(46), + 215: int16(1099), + 216: int16(1037), + 217: int16(1118), + 218: int16(1171), + 219: int16(1214), + 220: int16(1210), + 221: int16(1258), + 222: int16(-int32(210)), + 223: int16(-int32(190)), + 224: int16(-int32(176)), + 225: int16(-int32(115)), + 226: int16(117), + 227: int16(262), + 228: int16(376), + 229: int16(490), + 230: int16(511), + 231: int16(520), + 232: int16(618), + 233: int16(639), + 234: int16(743), + 235: int16(901), + 236: int16(907), + 237: int16(958), + 238: int16(1014), + 239: int16(1055), + 240: int16(1108), + 241: int16(1193), + 242: int16(1244), + 243: int16(720), + 244: int16(1248), + 245: int16(1277), + 246: int16(1324), + 247: int16(1347), + 248: int16(1417), + 249: int16(1431), + 250: int16(1432), + 251: int16(1440), + 252: int16(1451), + 253: int16(1452), + 254: int16(1463), + 255: int16(1478), + 256: int16(1286), + 257: int16(1350), + 258: int16(1369), + 259: int16(1490), + 260: int16(1498), + 261: int16(1501), + 262: int16(773), + 263: int16(1509), + 264: int16(1513), + 265: int16(1528), + 266: int16(1292), + 267: int16(1367), + 268: int16(1535), + 269: int16(1536), + 270: int16(1477), + 271: int16(1542), + 272: int16(376), + 273: int16(1547), + 274: int16(1550), + 275: int16(1555), + 276: int16(1559), + 277: int16(1568), + 278: int16(1571), + 279: int16(1441), + 280: int16(1443), + 281: int16(1474), + 282: int16(1511), + 283: int16(1516), + 284: int16(1519), + 285: int16(1522), + 286: int16(773), + 287: int16(1474), + 288: int16(1474), + 289: int16(1503), + 290: int16(1567), + 291: int16(1594), + 292: int16(1484), + 293: int16(1527), + 294: int16(1556), + 295: int16(1570), + 296: int16(1557), + 297: int16(1524), + 298: int16(1573), + 299: int16(1545), + 300: int16(1548), + 301: int16(1576), + 302: int16(1561), + 303: int16(1587), + 304: int16(1540), + 305: int16(1575), + 306: int16(1606), + 307: int16(1611), + 308: int16(1622), + 309: int16(1624), + 310: int16(1626), + 311: int16(1582), + 312: int16(1597), + 313: int16(1598), + 314: int16(1599), + 315: int16(1601), + 316: int16(1603), + 317: int16(1563), + 318: int16(1608), + 319: int16(1605), + 320: int16(1604), + 321: int16(1564), + 322: int16(1566), + 323: int16(1655), + 324: int16(1660), + 325: int16(1578), + 326: int16(1579), + 327: int16(1665), + 328: int16(1586), + 329: int16(1607), + 330: int16(1610), + 331: int16(1642), + 332: int16(1641), + 333: int16(1645), + 334: int16(1646), + 335: int16(1647), + 336: int16(1679), + 337: int16(1688), + 338: int16(1644), + 339: int16(1618), + 340: int16(1619), + 341: int16(1648), + 342: int16(1628), + 343: int16(1659), + 344: int16(1649), + 345: int16(1663), + 346: int16(1650), + 347: int16(1700), + 348: int16(1702), + 349: int16(1612), + 350: int16(1615), + 351: int16(1706), + 352: int16(1708), + 353: int16(1689), + 354: int16(1709), + 355: int16(1712), + 356: int16(1713), + 357: int16(1715), + 358: int16(1691), + 359: int16(1698), + 360: int16(1699), + 361: int16(1701), + 362: int16(1693), + 363: int16(1704), + 364: int16(1707), + 365: int16(1705), + 366: int16(1714), + 367: int16(1703), + 368: int16(1718), + 369: int16(1710), + 370: int16(1720), + 371: int16(1721), + 372: int16(1632), + 373: int16(1634), + 374: int16(1664), + 375: int16(1666), + 376: int16(1729), + 377: int16(1751), + 378: int16(1635), + 379: int16(1636), + 380: int16(1692), + 381: int16(1694), + 382: int16(1716), + 383: int16(1722), + 384: int16(1684), + 385: int16(1763), + 386: int16(1685), + 387: int16(1723), + 388: int16(1724), + 389: int16(1727), + 390: int16(1730), + 391: int16(1768), + 392: int16(1783), + 393: int16(1784), + 394: int16(1793), + 395: int16(1794), + 396: int16(1796), + 397: int16(1683), 398: int16(1686), - 399: int16(1738), - 400: int16(1728), - 401: int16(1733), - 402: int16(1736), - 403: int16(1737), - 404: int16(1740), - 405: int16(1726), - 406: int16(1730), - 407: int16(1742), - 408: int16(1743), - 409: int16(1748), - 410: int16(1753), -} -var _yy_default = [579]uint16{ - 0: uint16(1648), - 1: uint16(1648), - 2: uint16(1648), - 3: uint16(1478), - 4: uint16(1243), - 5: uint16(1354), - 6: uint16(1243), - 7: uint16(1243), - 8: uint16(1243), - 9: uint16(1478), - 10: uint16(1478), - 11: uint16(1478), - 12: uint16(1243), - 13: uint16(1384), - 14: uint16(1384), - 15: uint16(1531), - 16: uint16(1276), - 17: uint16(1243), - 18: uint16(1243), - 19: uint16(1243), - 20: uint16(1243), - 21: uint16(1243), - 22: uint16(1243), - 23: uint16(1243), - 24: uint16(1243), - 25: uint16(1243), - 26: uint16(1243), - 27: uint16(1243), - 28: uint16(1477), - 29: uint16(1243), - 30: uint16(1243), - 31: uint16(1243), - 32: uint16(1243), - 33: uint16(1564), - 34: uint16(1564), - 35: uint16(1243), - 36: uint16(1243), - 37: uint16(1243), - 38: uint16(1243), - 39: uint16(1243), - 40: uint16(1243), - 41: uint16(1243), - 42: uint16(1243), - 43: uint16(1393), - 44: uint16(1243), - 45: uint16(1400), - 46: uint16(1243), - 47: uint16(1243), - 48: uint16(1243), - 49: uint16(1243), - 50: uint16(1243), - 51: uint16(1479), - 52: uint16(1480), - 53: uint16(1243), - 54: uint16(1243), - 55: uint16(1243), - 56: uint16(1530), - 57: uint16(1532), - 58: uint16(1495), - 59: uint16(1407), - 60: uint16(1406), - 61: uint16(1405), - 62: uint16(1404), - 63: uint16(1513), - 64: uint16(1372), - 65: uint16(1398), - 66: uint16(1391), - 67: uint16(1395), - 68: uint16(1474), - 69: uint16(1475), - 70: uint16(1473), - 71: uint16(1626), - 72: uint16(1480), - 73: uint16(1479), - 74: uint16(1243), - 75: uint16(1394), - 76: uint16(1442), - 77: uint16(1458), - 78: uint16(1441), - 79: uint16(1243), - 80: uint16(1243), - 81: uint16(1243), - 82: uint16(1243), - 83: uint16(1243), - 84: uint16(1243), - 85: uint16(1243), - 86: uint16(1243), - 87: uint16(1243), - 88: uint16(1243), - 89: uint16(1243), - 90: uint16(1243), - 91: uint16(1243), - 92: uint16(1243), - 93: uint16(1243), - 94: uint16(1243), - 95: uint16(1243), - 96: uint16(1243), - 97: uint16(1243), - 98: uint16(1243), - 99: uint16(1243), - 100: uint16(1243), - 101: uint16(1243), - 102: uint16(1243), - 103: uint16(1243), - 104: uint16(1243), - 105: uint16(1243), - 106: uint16(1243), - 107: uint16(1243), - 108: uint16(1243), - 109: uint16(1243), - 110: uint16(1243), - 111: uint16(1243), - 112: uint16(1243), - 113: uint16(1243), - 114: uint16(1243), - 115: uint16(1243), - 116: uint16(1243), - 117: uint16(1243), - 118: uint16(1243), - 119: uint16(1243), - 120: uint16(1243), - 121: uint16(1243), - 122: uint16(1243), - 123: uint16(1243), - 124: uint16(1243), - 125: uint16(1243), - 126: uint16(1243), - 127: uint16(1243), - 128: uint16(1243), - 129: uint16(1243), - 130: uint16(1243), - 131: uint16(1450), - 132: uint16(1457), - 133: uint16(1456), - 134: uint16(1455), - 135: uint16(1464), - 136: uint16(1454), - 137: uint16(1451), - 138: uint16(1444), - 139: uint16(1443), - 140: uint16(1445), - 141: uint16(1446), - 142: uint16(1243), - 143: uint16(1243), - 144: uint16(1267), - 145: uint16(1243), - 146: uint16(1243), - 147: uint16(1264), - 148: uint16(1318), - 149: uint16(1243), - 150: uint16(1243), - 151: uint16(1243), - 152: uint16(1243), - 153: uint16(1243), - 154: uint16(1550), - 155: uint16(1549), - 156: uint16(1243), - 157: uint16(1447), - 158: uint16(1243), - 159: uint16(1276), - 160: uint16(1435), - 161: uint16(1434), - 162: uint16(1433), - 163: uint16(1461), - 164: uint16(1448), - 165: uint16(1460), - 166: uint16(1459), - 167: uint16(1538), - 168: uint16(1600), - 169: uint16(1599), - 170: uint16(1496), - 171: uint16(1243), - 172: uint16(1243), - 173: uint16(1243), - 174: uint16(1243), - 175: uint16(1243), - 176: uint16(1243), - 177: uint16(1564), - 178: uint16(1243), - 179: uint16(1243), - 180: uint16(1243), - 181: uint16(1243), - 182: uint16(1243), - 183: uint16(1243), - 184: uint16(1243), - 185: uint16(1243), - 186: uint16(1243), - 187: uint16(1243), - 188: uint16(1243), - 189: uint16(1243), - 190: uint16(1243), - 191: uint16(1243), - 192: uint16(1243), - 193: uint16(1243), - 194: uint16(1243), - 195: uint16(1243), - 196: uint16(1243), - 197: uint16(1243), - 198: uint16(1243), - 199: uint16(1243), - 200: uint16(1243), - 201: uint16(1374), - 202: uint16(1564), - 203: uint16(1564), - 204: uint16(1243), - 205: uint16(1276), - 206: uint16(1564), - 207: uint16(1564), - 208: uint16(1375), - 209: uint16(1375), - 210: uint16(1272), - 211: uint16(1272), - 212: uint16(1378), - 213: uint16(1243), - 214: uint16(1545), - 215: uint16(1345), - 216: uint16(1345), - 217: uint16(1345), - 218: uint16(1345), - 219: uint16(1354), - 220: uint16(1345), - 221: uint16(1243), - 222: uint16(1243), - 223: uint16(1243), - 224: uint16(1243), - 225: uint16(1243), - 226: uint16(1243), - 227: uint16(1243), - 228: uint16(1243), - 229: uint16(1243), - 230: uint16(1243), - 231: uint16(1243), - 232: uint16(1243), - 233: uint16(1243), - 234: uint16(1243), - 235: uint16(1243), - 236: uint16(1535), - 237: uint16(1533), - 238: uint16(1243), - 239: uint16(1243), - 240: uint16(1243), - 241: uint16(1243), - 242: uint16(1243), - 243: uint16(1243), - 244: uint16(1243), - 245: uint16(1243), - 246: uint16(1243), - 247: uint16(1243), - 248: uint16(1243), - 249: uint16(1243), - 250: uint16(1243), - 251: uint16(1243), - 252: uint16(1243), - 253: uint16(1243), - 254: uint16(1243), - 255: uint16(1243), - 256: uint16(1243), - 257: uint16(1243), - 258: uint16(1243), - 259: uint16(1243), - 260: uint16(1243), - 261: uint16(1243), - 262: uint16(1243), - 263: uint16(1243), - 264: uint16(1243), - 265: uint16(1350), - 266: uint16(1243), - 267: uint16(1243), - 268: uint16(1243), - 269: uint16(1243), - 270: uint16(1243), - 271: uint16(1243), - 272: uint16(1243), - 273: uint16(1243), - 274: uint16(1243), - 275: uint16(1243), - 276: uint16(1243), - 277: uint16(1593), - 278: uint16(1243), - 279: uint16(1508), - 280: uint16(1332), - 281: uint16(1350), - 282: uint16(1350), - 283: uint16(1350), - 284: uint16(1350), - 285: uint16(1352), - 286: uint16(1333), - 287: uint16(1331), - 288: uint16(1344), - 289: uint16(1277), - 290: uint16(1250), - 291: uint16(1640), - 292: uint16(1410), - 293: uint16(1399), - 294: uint16(1351), - 295: uint16(1399), - 296: uint16(1637), - 297: uint16(1397), + 399: int16(1690), + 400: int16(1782), + 401: int16(1779), + 402: int16(1780), + 403: int16(1781), + 404: int16(1785), + 405: int16(1788), + 406: int16(1774), + 407: int16(1775), + 408: int16(1786), + 409: int16(1787), + 410: int16(1789), + 411: int16(1798), +} +var _yy_default = [583]uint16{ + 0: uint16(1663), + 1: uint16(1663), + 2: uint16(1663), + 3: uint16(1491), + 4: uint16(1254), + 5: uint16(1367), + 6: uint16(1254), + 7: uint16(1254), + 8: uint16(1254), + 9: uint16(1254), + 10: uint16(1491), + 11: uint16(1491), + 12: uint16(1491), + 13: uint16(1254), + 14: uint16(1254), + 15: uint16(1254), + 16: uint16(1254), + 17: uint16(1254), + 18: uint16(1254), + 19: uint16(1397), + 20: uint16(1397), + 21: uint16(1544), + 22: uint16(1287), + 23: uint16(1254), + 24: uint16(1254), + 25: uint16(1254), + 26: uint16(1254), + 27: uint16(1254), + 28: uint16(1254), + 29: uint16(1254), + 30: uint16(1254), + 31: uint16(1254), + 32: uint16(1254), + 33: uint16(1254), + 34: uint16(1254), + 35: uint16(1490), + 36: uint16(1254), + 37: uint16(1254), + 38: uint16(1254), + 39: uint16(1254), + 40: uint16(1578), + 41: uint16(1578), + 42: uint16(1254), + 43: uint16(1254), + 44: uint16(1254), + 45: uint16(1254), + 46: uint16(1254), + 47: uint16(1563), + 48: uint16(1562), + 49: uint16(1254), + 50: uint16(1254), + 51: uint16(1254), + 52: uint16(1406), + 53: uint16(1254), + 54: uint16(1413), + 55: uint16(1254), + 56: uint16(1254), + 57: uint16(1254), + 58: uint16(1254), + 59: uint16(1254), + 60: uint16(1492), + 61: uint16(1493), + 62: uint16(1254), + 63: uint16(1254), + 64: uint16(1254), + 65: uint16(1543), + 66: uint16(1545), + 67: uint16(1508), + 68: uint16(1420), + 69: uint16(1419), + 70: uint16(1418), + 71: uint16(1417), + 72: uint16(1526), + 73: uint16(1385), + 74: uint16(1411), + 75: uint16(1404), + 76: uint16(1408), + 77: uint16(1487), + 78: uint16(1488), + 79: uint16(1486), + 80: uint16(1641), + 81: uint16(1493), + 82: uint16(1492), + 83: uint16(1254), + 84: uint16(1407), + 85: uint16(1455), + 86: uint16(1471), + 87: uint16(1454), + 88: uint16(1254), + 89: uint16(1254), + 90: uint16(1254), + 91: uint16(1254), + 92: uint16(1254), + 93: uint16(1254), + 94: uint16(1254), + 95: uint16(1254), + 96: uint16(1254), + 97: uint16(1254), + 98: uint16(1254), + 99: uint16(1254), + 100: uint16(1254), + 101: uint16(1254), + 102: uint16(1254), + 103: uint16(1254), + 104: uint16(1254), + 105: uint16(1254), + 106: uint16(1254), + 107: uint16(1254), + 108: uint16(1254), + 109: uint16(1254), + 110: uint16(1254), + 111: uint16(1254), + 112: uint16(1254), + 113: uint16(1254), + 114: uint16(1254), + 115: uint16(1254), + 116: uint16(1254), + 117: uint16(1254), + 118: uint16(1254), + 119: uint16(1254), + 120: uint16(1254), + 121: uint16(1254), + 122: uint16(1254), + 123: uint16(1254), + 124: uint16(1254), + 125: uint16(1254), + 126: uint16(1254), + 127: uint16(1254), + 128: uint16(1254), + 129: uint16(1254), + 130: uint16(1254), + 131: uint16(1254), + 132: uint16(1254), + 133: uint16(1254), + 134: uint16(1254), + 135: uint16(1254), + 136: uint16(1254), + 137: uint16(1254), + 138: uint16(1254), + 139: uint16(1254), + 140: uint16(1463), + 141: uint16(1470), + 142: uint16(1469), + 143: uint16(1468), + 144: uint16(1477), + 145: uint16(1467), + 146: uint16(1464), + 147: uint16(1457), + 148: uint16(1456), + 149: uint16(1458), + 150: uint16(1459), + 151: uint16(1278), + 152: uint16(1254), + 153: uint16(1275), + 154: uint16(1329), + 155: uint16(1254), + 156: uint16(1254), + 157: uint16(1254), + 158: uint16(1254), + 159: uint16(1254), + 160: uint16(1460), + 161: uint16(1287), + 162: uint16(1448), + 163: uint16(1447), + 164: uint16(1446), + 165: uint16(1254), + 166: uint16(1474), + 167: uint16(1461), + 168: uint16(1473), + 169: uint16(1472), + 170: uint16(1551), + 171: uint16(1615), + 172: uint16(1614), + 173: uint16(1509), + 174: uint16(1254), + 175: uint16(1254), + 176: uint16(1254), + 177: uint16(1254), + 178: uint16(1254), + 179: uint16(1254), + 180: uint16(1578), + 181: uint16(1254), + 182: uint16(1254), + 183: uint16(1254), + 184: uint16(1254), + 185: uint16(1254), + 186: uint16(1254), + 187: uint16(1254), + 188: uint16(1254), + 189: uint16(1254), + 190: uint16(1254), + 191: uint16(1254), + 192: uint16(1254), + 193: uint16(1254), + 194: uint16(1254), + 195: uint16(1254), + 196: uint16(1254), + 197: uint16(1254), + 198: uint16(1254), + 199: uint16(1254), + 200: uint16(1254), + 201: uint16(1254), + 202: uint16(1254), + 203: uint16(1387), + 204: uint16(1578), + 205: uint16(1578), + 206: uint16(1254), + 207: uint16(1287), + 208: uint16(1578), + 209: uint16(1578), + 210: uint16(1388), + 211: uint16(1388), + 212: uint16(1283), + 213: uint16(1283), + 214: uint16(1391), + 215: uint16(1558), + 216: uint16(1358), + 217: uint16(1358), + 218: uint16(1358), + 219: uint16(1358), + 220: uint16(1367), + 221: uint16(1358), + 222: uint16(1254), + 223: uint16(1254), + 224: uint16(1254), + 225: uint16(1254), + 226: uint16(1254), + 227: uint16(1254), + 228: uint16(1254), + 229: uint16(1254), + 230: uint16(1254), + 231: uint16(1254), + 232: uint16(1254), + 233: uint16(1254), + 234: uint16(1254), + 235: uint16(1254), + 236: uint16(1254), + 237: uint16(1548), + 238: uint16(1546), + 239: uint16(1254), + 240: uint16(1254), + 241: uint16(1254), + 242: uint16(1254), + 243: uint16(1254), + 244: uint16(1254), + 245: uint16(1254), + 246: uint16(1254), + 247: uint16(1254), + 248: uint16(1254), + 249: uint16(1254), + 250: uint16(1254), + 251: uint16(1254), + 252: uint16(1254), + 253: uint16(1254), + 254: uint16(1254), + 255: uint16(1254), + 256: uint16(1254), + 257: uint16(1254), + 258: uint16(1254), + 259: uint16(1254), + 260: uint16(1254), + 261: uint16(1254), + 262: uint16(1254), + 263: uint16(1254), + 264: uint16(1254), + 265: uint16(1254), + 266: uint16(1363), + 267: uint16(1254), + 268: uint16(1254), + 269: uint16(1254), + 270: uint16(1254), + 271: uint16(1254), + 272: uint16(1254), + 273: uint16(1254), + 274: uint16(1254), + 275: uint16(1254), + 276: uint16(1254), + 277: uint16(1254), + 278: uint16(1608), + 279: uint16(1254), + 280: uint16(1521), + 281: uint16(1343), + 282: uint16(1363), + 283: uint16(1363), + 284: uint16(1363), + 285: uint16(1363), + 286: uint16(1365), + 287: uint16(1344), + 288: uint16(1342), + 289: uint16(1357), + 290: uint16(1288), + 291: uint16(1261), + 292: uint16(1655), + 293: uint16(1423), + 294: uint16(1412), + 295: uint16(1364), + 296: uint16(1412), + 297: uint16(1652), 298: uint16(1410), - 299: uint16(1410), - 300: uint16(1397), + 299: uint16(1423), + 300: uint16(1423), 301: uint16(1410), - 302: uint16(1351), - 303: uint16(1637), - 304: uint16(1293), - 305: uint16(1615), - 306: uint16(1288), - 307: uint16(1384), - 308: uint16(1384), - 309: uint16(1384), - 310: uint16(1374), - 311: uint16(1374), - 312: uint16(1374), - 313: uint16(1374), - 314: uint16(1378), - 315: uint16(1378), - 316: uint16(1476), - 317: uint16(1351), - 318: uint16(1344), - 319: uint16(1243), - 320: uint16(1640), - 321: uint16(1640), - 322: uint16(1360), - 323: uint16(1360), - 324: uint16(1639), - 325: uint16(1639), - 326: uint16(1360), - 327: uint16(1496), - 328: uint16(1623), - 329: uint16(1419), - 330: uint16(1321), - 331: uint16(1327), - 332: uint16(1327), - 333: uint16(1327), - 334: uint16(1327), - 335: uint16(1360), - 336: uint16(1261), - 337: uint16(1397), - 338: uint16(1623), - 339: uint16(1623), - 340: uint16(1397), - 341: uint16(1419), - 342: uint16(1321), - 343: uint16(1397), - 344: uint16(1321), - 345: uint16(1397), - 346: uint16(1360), - 347: uint16(1261), - 348: uint16(1512), - 349: uint16(1634), - 350: uint16(1360), - 351: uint16(1261), - 352: uint16(1486), - 353: uint16(1360), - 354: uint16(1261), - 355: uint16(1360), - 356: uint16(1261), - 357: uint16(1486), - 358: uint16(1319), - 359: uint16(1319), - 360: uint16(1319), - 361: uint16(1308), - 362: uint16(1243), - 363: uint16(1243), - 364: uint16(1486), - 365: uint16(1319), - 366: uint16(1293), - 367: uint16(1319), - 368: uint16(1308), + 302: uint16(1423), + 303: uint16(1364), + 304: uint16(1652), + 305: uint16(1304), + 306: uint16(1630), + 307: uint16(1299), + 308: uint16(1397), + 309: uint16(1397), + 310: uint16(1397), + 311: uint16(1387), + 312: uint16(1387), + 313: uint16(1387), + 314: uint16(1387), + 315: uint16(1391), + 316: uint16(1391), + 317: uint16(1489), + 318: uint16(1364), + 319: uint16(1357), + 320: uint16(1254), + 321: uint16(1655), + 322: uint16(1655), + 323: uint16(1373), + 324: uint16(1373), + 325: uint16(1654), + 326: uint16(1654), + 327: uint16(1373), + 328: uint16(1509), + 329: uint16(1638), + 330: uint16(1432), + 331: uint16(1332), + 332: uint16(1338), + 333: uint16(1338), + 334: uint16(1338), + 335: uint16(1338), + 336: uint16(1373), + 337: uint16(1272), + 338: uint16(1410), + 339: uint16(1638), + 340: uint16(1638), + 341: uint16(1410), + 342: uint16(1432), + 343: uint16(1332), + 344: uint16(1410), + 345: uint16(1332), + 346: uint16(1410), + 347: uint16(1373), + 348: uint16(1272), + 349: uint16(1525), + 350: uint16(1649), + 351: uint16(1373), + 352: uint16(1272), + 353: uint16(1499), + 354: uint16(1373), + 355: uint16(1272), + 356: uint16(1373), + 357: uint16(1272), + 358: uint16(1499), + 359: uint16(1330), + 360: uint16(1330), + 361: uint16(1330), + 362: uint16(1319), + 363: uint16(1254), + 364: uint16(1254), + 365: uint16(1499), + 366: uint16(1330), + 367: uint16(1304), + 368: uint16(1330), 369: uint16(1319), - 370: uint16(1319), - 371: uint16(1582), - 372: uint16(1243), - 373: uint16(1490), - 374: uint16(1490), - 375: uint16(1486), - 376: uint16(1360), - 377: uint16(1574), - 378: uint16(1574), - 379: uint16(1387), - 380: uint16(1387), - 381: uint16(1392), - 382: uint16(1378), - 383: uint16(1481), - 384: uint16(1360), - 385: uint16(1243), - 386: uint16(1392), - 387: uint16(1390), - 388: uint16(1388), - 389: uint16(1397), - 390: uint16(1311), - 391: uint16(1596), - 392: uint16(1596), - 393: uint16(1592), - 394: uint16(1592), - 395: uint16(1592), - 396: uint16(1645), - 397: uint16(1645), - 398: uint16(1545), - 399: uint16(1608), - 400: uint16(1276), - 401: uint16(1276), - 402: uint16(1276), - 403: uint16(1276), - 404: uint16(1608), - 405: uint16(1295), - 406: uint16(1295), - 407: uint16(1277), - 408: uint16(1277), - 409: uint16(1276), - 410: uint16(1608), - 411: uint16(1243), - 412: uint16(1243), - 413: uint16(1243), - 414: uint16(1243), - 415: uint16(1243), - 416: uint16(1243), - 417: uint16(1603), - 418: uint16(1243), - 419: uint16(1540), - 420: uint16(1497), - 421: uint16(1364), - 422: uint16(1243), - 423: uint16(1243), - 424: uint16(1243), - 425: uint16(1243), - 426: uint16(1243), - 427: uint16(1243), - 428: uint16(1243), - 429: uint16(1243), - 430: uint16(1243), - 431: uint16(1243), - 432: uint16(1243), - 433: uint16(1243), - 434: uint16(1243), - 435: uint16(1243), - 436: uint16(1243), - 437: uint16(1243), - 438: uint16(1551), - 439: uint16(1243), - 440: uint16(1243), - 441: uint16(1243), - 442: uint16(1243), - 443: uint16(1243), - 444: uint16(1243), - 445: uint16(1243), - 446: uint16(1243), - 447: uint16(1243), - 448: uint16(1243), - 449: uint16(1424), - 450: uint16(1243), - 451: uint16(1246), - 452: uint16(1542), - 453: uint16(1243), - 454: uint16(1243), - 455: uint16(1243), - 456: uint16(1243), - 457: uint16(1243), - 458: uint16(1243), - 459: uint16(1243), - 460: uint16(1243), - 461: uint16(1401), - 462: uint16(1402), - 463: uint16(1365), - 464: uint16(1243), - 465: uint16(1243), - 466: uint16(1243), - 467: uint16(1243), - 468: uint16(1243), - 469: uint16(1243), - 470: uint16(1243), - 471: uint16(1416), - 472: uint16(1243), - 473: uint16(1243), - 474: uint16(1243), - 475: uint16(1411), - 476: uint16(1243), - 477: uint16(1243), - 478: uint16(1243), - 479: uint16(1243), - 480: uint16(1243), - 481: uint16(1243), - 482: uint16(1243), - 483: uint16(1243), - 484: uint16(1636), - 485: uint16(1243), - 486: uint16(1243), - 487: uint16(1243), - 488: uint16(1243), - 489: uint16(1243), - 490: uint16(1243), - 491: uint16(1511), - 492: uint16(1510), - 493: uint16(1243), - 494: uint16(1243), - 495: uint16(1362), - 496: uint16(1243), - 497: uint16(1243), - 498: uint16(1243), - 499: uint16(1243), - 500: uint16(1243), - 501: uint16(1243), - 502: uint16(1243), - 503: uint16(1243), - 504: uint16(1243), - 505: uint16(1243), - 506: uint16(1243), - 507: uint16(1243), - 508: uint16(1243), - 509: uint16(1291), - 510: uint16(1243), - 511: uint16(1243), - 512: uint16(1243), - 513: uint16(1243), - 514: uint16(1243), - 515: uint16(1243), - 516: uint16(1243), - 517: uint16(1243), - 518: uint16(1243), - 519: uint16(1243), - 520: uint16(1243), - 521: uint16(1243), - 522: uint16(1243), - 523: uint16(1243), - 524: uint16(1243), - 525: uint16(1243), - 526: uint16(1243), - 527: uint16(1243), - 528: uint16(1243), - 529: uint16(1243), - 530: uint16(1243), - 531: uint16(1243), - 532: uint16(1243), - 533: uint16(1389), - 534: uint16(1243), - 535: uint16(1243), - 536: uint16(1243), - 537: uint16(1243), - 538: uint16(1243), - 539: uint16(1243), - 540: uint16(1243), - 541: uint16(1243), - 542: uint16(1243), - 543: uint16(1243), - 544: uint16(1243), - 545: uint16(1243), - 546: uint16(1243), - 547: uint16(1243), - 548: uint16(1579), - 549: uint16(1379), - 550: uint16(1243), - 551: uint16(1243), - 552: uint16(1243), - 553: uint16(1243), - 554: uint16(1627), - 555: uint16(1243), - 556: uint16(1243), - 557: uint16(1243), - 558: uint16(1243), - 559: uint16(1243), - 560: uint16(1243), - 561: uint16(1243), - 562: uint16(1243), - 563: uint16(1243), - 564: uint16(1243), - 565: uint16(1243), - 566: uint16(1243), - 567: uint16(1243), - 568: uint16(1243), - 569: uint16(1619), - 570: uint16(1335), - 571: uint16(1425), - 572: uint16(1243), - 573: uint16(1428), - 574: uint16(1265), - 575: uint16(1243), - 576: uint16(1255), - 577: uint16(1243), - 578: uint16(1243), + 370: uint16(1330), + 371: uint16(1330), + 372: uint16(1596), + 373: uint16(1254), + 374: uint16(1503), + 375: uint16(1503), + 376: uint16(1499), + 377: uint16(1373), + 378: uint16(1588), + 379: uint16(1588), + 380: uint16(1400), + 381: uint16(1400), + 382: uint16(1405), + 383: uint16(1391), + 384: uint16(1494), + 385: uint16(1373), + 386: uint16(1254), + 387: uint16(1405), + 388: uint16(1403), + 389: uint16(1401), + 390: uint16(1410), + 391: uint16(1322), + 392: uint16(1611), + 393: uint16(1611), + 394: uint16(1607), + 395: uint16(1607), + 396: uint16(1607), + 397: uint16(1660), + 398: uint16(1660), + 399: uint16(1558), + 400: uint16(1623), + 401: uint16(1287), + 402: uint16(1287), + 403: uint16(1287), + 404: uint16(1287), + 405: uint16(1623), + 406: uint16(1306), + 407: uint16(1306), + 408: uint16(1288), + 409: uint16(1288), + 410: uint16(1287), + 411: uint16(1623), + 412: uint16(1254), + 413: uint16(1254), + 414: uint16(1254), + 415: uint16(1254), + 416: uint16(1254), + 417: uint16(1254), + 418: uint16(1618), + 419: uint16(1254), + 420: uint16(1553), + 421: uint16(1510), + 422: uint16(1377), + 423: uint16(1254), + 424: uint16(1254), + 425: uint16(1254), + 426: uint16(1254), + 427: uint16(1254), + 428: uint16(1254), + 429: uint16(1254), + 430: uint16(1254), + 431: uint16(1254), + 432: uint16(1254), + 433: uint16(1254), + 434: uint16(1254), + 435: uint16(1254), + 436: uint16(1254), + 437: uint16(1254), + 438: uint16(1254), + 439: uint16(1564), + 440: uint16(1254), + 441: uint16(1254), + 442: uint16(1254), + 443: uint16(1254), + 444: uint16(1254), + 445: uint16(1254), + 446: uint16(1254), + 447: uint16(1254), + 448: uint16(1254), + 449: uint16(1254), + 450: uint16(1254), + 451: uint16(1437), + 452: uint16(1254), + 453: uint16(1257), + 454: uint16(1555), + 455: uint16(1254), + 456: uint16(1254), + 457: uint16(1254), + 458: uint16(1254), + 459: uint16(1254), + 460: uint16(1254), + 461: uint16(1254), + 462: uint16(1254), + 463: uint16(1414), + 464: uint16(1415), + 465: uint16(1378), + 466: uint16(1254), + 467: uint16(1254), + 468: uint16(1254), + 469: uint16(1254), + 470: uint16(1254), + 471: uint16(1254), + 472: uint16(1254), + 473: uint16(1429), + 474: uint16(1254), + 475: uint16(1254), + 476: uint16(1254), + 477: uint16(1424), + 478: uint16(1254), + 479: uint16(1254), + 480: uint16(1254), + 481: uint16(1254), + 482: uint16(1254), + 483: uint16(1254), + 484: uint16(1254), + 485: uint16(1254), + 486: uint16(1651), + 487: uint16(1254), + 488: uint16(1254), + 489: uint16(1254), + 490: uint16(1254), + 491: uint16(1254), + 492: uint16(1254), + 493: uint16(1524), + 494: uint16(1523), + 495: uint16(1254), + 496: uint16(1254), + 497: uint16(1375), + 498: uint16(1254), + 499: uint16(1254), + 500: uint16(1254), + 501: uint16(1254), + 502: uint16(1254), + 503: uint16(1254), + 504: uint16(1254), + 505: uint16(1254), + 506: uint16(1254), + 507: uint16(1254), + 508: uint16(1254), + 509: uint16(1254), + 510: uint16(1254), + 511: uint16(1302), + 512: uint16(1254), + 513: uint16(1254), + 514: uint16(1254), + 515: uint16(1254), + 516: uint16(1254), + 517: uint16(1254), + 518: uint16(1254), + 519: uint16(1254), + 520: uint16(1254), + 521: uint16(1254), + 522: uint16(1254), + 523: uint16(1254), + 524: uint16(1254), + 525: uint16(1254), + 526: uint16(1254), + 527: uint16(1254), + 528: uint16(1254), + 529: uint16(1254), + 530: uint16(1254), + 531: uint16(1254), + 532: uint16(1254), + 533: uint16(1254), + 534: uint16(1254), + 535: uint16(1402), + 536: uint16(1254), + 537: uint16(1254), + 538: uint16(1254), + 539: uint16(1254), + 540: uint16(1254), + 541: uint16(1254), + 542: uint16(1254), + 543: uint16(1254), + 544: uint16(1254), + 545: uint16(1254), + 546: uint16(1254), + 547: uint16(1254), + 548: uint16(1254), + 549: uint16(1254), + 550: uint16(1593), + 551: uint16(1392), + 552: uint16(1254), + 553: uint16(1254), + 554: uint16(1254), + 555: uint16(1254), + 556: uint16(1642), + 557: uint16(1254), + 558: uint16(1254), + 559: uint16(1254), + 560: uint16(1254), + 561: uint16(1352), + 562: uint16(1254), + 563: uint16(1254), + 564: uint16(1254), + 565: uint16(1254), + 566: uint16(1254), + 567: uint16(1254), + 568: uint16(1254), + 569: uint16(1254), + 570: uint16(1254), + 571: uint16(1254), + 572: uint16(1254), + 573: uint16(1634), + 574: uint16(1346), + 575: uint16(1438), + 576: uint16(1254), + 577: uint16(1441), + 578: uint16(1276), + 579: uint16(1254), + 580: uint16(1266), + 581: uint16(1254), + 582: uint16(1254), } /********** End of lemon-generated parsing tables *****************************/ @@ -158725,7 +160150,7 @@ var _yy_default = [579]uint16{ // ** to revert to identifiers if they keyword does not apply in the context where // ** it appears. // */ -var _yyFallback = [185]uint16{ +var _yyFallback = [186]uint16{ 2: uint16(59), 3: uint16(59), 4: uint16(59), @@ -158838,8 +160263,9 @@ type yyStackEntry = TyyStackEntry type TyyParser1 = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser1 = TyyParser1 @@ -158847,14 +160273,46 @@ type yyParser1 = TyyParser1 type TyyParser = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser = TyyParser /* #include */ +// C documentation +// +// /* +// ** Try to increase the size of the parser stack. Return the number +// ** of errors. Return 0 on success. +// */ +func _yyGrowStack(tls *libc.TLS, p uintptr) (r int32) { + var idx, newSize, oldSize int32 + var pNew uintptr + _, _, _, _ = idx, newSize, oldSize, pNew + oldSize = int32(1) + (int32((*TyyParser)(unsafe.Pointer(p)).FyystackEnd)-int32((*TyyParser)(unsafe.Pointer(p)).Fyystack))/12 + newSize = oldSize*int32(2) + int32(100) + idx = (int32((*TyyParser)(unsafe.Pointer(p)).Fyytos) - int32((*TyyParser)(unsafe.Pointer(p)).Fyystack)) / 12 + if (*TyyParser)(unsafe.Pointer(p)).Fyystack == p+16 { + pNew = _parserStackRealloc(tls, uintptr(0), uint64(uint32(newSize)*uint32(12))) + if pNew == uintptr(0) { + return int32(1) + } + libc.Xmemcpy(tls, pNew, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint32(oldSize)*uint32(12)) + } else { + pNew = _parserStackRealloc(tls, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(uint32(newSize)*uint32(12))) + if pNew == uintptr(0) { + return int32(1) + } + } + (*TyyParser)(unsafe.Pointer(p)).Fyystack = pNew + (*TyyParser)(unsafe.Pointer(p)).Fyytos = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(idx)*12 + (*TyyParser)(unsafe.Pointer(p)).FyystackEnd = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(newSize-int32(1))*12 + return 0 +} + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -158870,10 +160328,11 @@ func _sqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { _ = yypParser yypParser = yypRawParser (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 8 - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 8))).Fstateno = uint16(0) - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 8))).Fmajor = uint16(0) - (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = yypParser + 8 + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*12 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack = yypParser + 16 + (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*12 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fstateno = uint16(0) + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fmajor = uint16(0) } // C documentation @@ -158901,103 +160360,105 @@ func _yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor u ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case int32(204): /* select */ + case int32(205): /* select */ fallthrough - case int32(239): /* selectnowith */ + case int32(240): /* selectnowith */ fallthrough - case int32(240): /* oneselect */ + case int32(241): /* oneselect */ fallthrough - case int32(252): /* values */ + case int32(253): /* values */ + fallthrough + case int32(255): /* mvalues */ _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(216): /* term */ + case int32(217): /* term */ fallthrough - case int32(217): /* expr */ + case int32(218): /* expr */ fallthrough - case int32(246): /* where_opt */ + case int32(247): /* where_opt */ fallthrough - case int32(248): /* having_opt */ + case int32(249): /* having_opt */ fallthrough - case int32(267): /* where_opt_ret */ + case int32(269): /* where_opt_ret */ fallthrough - case int32(278): /* case_operand */ + case int32(280): /* case_operand */ fallthrough - case int32(280): /* case_else */ + case int32(282): /* case_else */ fallthrough - case int32(283): /* vinto */ + case int32(285): /* vinto */ fallthrough - case int32(290): /* when_clause */ + case int32(292): /* when_clause */ fallthrough - case int32(295): /* key_opt */ + case int32(297): /* key_opt */ fallthrough - case int32(311): /* filter_clause */ + case int32(314): /* filter_clause */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(221): /* eidlist_opt */ + case int32(222): /* eidlist_opt */ fallthrough - case int32(231): /* sortlist */ + case int32(232): /* sortlist */ fallthrough - case int32(232): /* eidlist */ + case int32(233): /* eidlist */ fallthrough - case int32(244): /* selcollist */ + case int32(245): /* selcollist */ fallthrough - case int32(247): /* groupby_opt */ + case int32(248): /* groupby_opt */ fallthrough - case int32(249): /* orderby_opt */ + case int32(250): /* orderby_opt */ fallthrough - case int32(253): /* nexprlist */ + case int32(254): /* nexprlist */ fallthrough - case int32(254): /* sclp */ + case int32(256): /* sclp */ fallthrough - case int32(261): /* exprlist */ + case int32(263): /* exprlist */ fallthrough - case int32(268): /* setlist */ + case int32(270): /* setlist */ fallthrough - case int32(277): /* paren_exprlist */ + case int32(279): /* paren_exprlist */ fallthrough - case int32(279): /* case_exprlist */ + case int32(281): /* case_exprlist */ fallthrough - case int32(310): /* part_opt */ + case int32(313): /* part_opt */ _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(238): /* fullname */ + case int32(239): /* fullname */ fallthrough - case int32(245): /* from */ + case int32(246): /* from */ fallthrough - case int32(256): /* seltablist */ + case int32(258): /* seltablist */ fallthrough - case int32(257): /* stl_prefix */ + case int32(259): /* stl_prefix */ fallthrough - case int32(262): /* xfullname */ + case int32(264): /* xfullname */ _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(241): /* wqlist */ + case int32(242): /* wqlist */ _sqlite3WithDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(251): /* window_clause */ + case int32(252): /* window_clause */ fallthrough - case int32(306): /* windowdefn_list */ + case int32(309): /* windowdefn_list */ _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(263): /* idlist */ + case int32(265): /* idlist */ fallthrough - case int32(270): /* idlist_opt */ + case int32(272): /* idlist_opt */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(273): /* filter_over */ + case int32(275): /* filter_over */ fallthrough - case int32(307): /* windowdefn */ + case int32(310): /* windowdefn */ fallthrough - case int32(308): /* window */ + case int32(311): /* window */ fallthrough - case int32(309): /* frame_opt */ + case int32(312): /* frame_opt */ fallthrough - case int32(312): /* over_clause */ + case int32(315): /* over_clause */ _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(286): /* trigger_cmd_list */ + case int32(288): /* trigger_cmd_list */ fallthrough - case int32(291): /* trigger_cmd */ + case int32(293): /* trigger_cmd */ _sqlite3DeleteTriggerStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(288): /* trigger_event */ + case int32(290): /* trigger_event */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TTrigEvent)(unsafe.Pointer(yypminor))).Fb) - case int32(314): /* frame_bound */ + case int32(317): /* frame_bound */ fallthrough - case int32(315): /* frame_bound_s */ + case int32(318): /* frame_bound_s */ fallthrough - case int32(316): /* frame_bound_e */ + case int32(319): /* frame_bound_e */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TFrameBound)(unsafe.Pointer(yypminor))).FpExpr) break /********* End destructor definitions *****************************************/ @@ -159033,11 +160494,20 @@ func _yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var pParser, yytos uintptr + _, _ = pParser, yytos pParser = p - for (*TyyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+8 { - _yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling yy_pop_parser_stack() for each + ** element left in the stack */ + yytos = (*TyyParser)(unsafe.Pointer(pParser)).Fyytos + for yytos > (*TyyParser)(unsafe.Pointer(pParser)).Fyystack { + if int32((*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor) >= int32(YY_MIN_DSTRCTR) { + _yy_destructor(tls, pParser, (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor, yytos+4) + } + yytos -= 12 + } + if (*TyyParser)(unsafe.Pointer(pParser)).Fyystack != pParser+16 { + Xsqlite3_free(tls, (*TyyParser)(unsafe.Pointer(pParser)).Fyystack) } } @@ -159132,13 +160602,13 @@ func _yyStackOverflow(tls *libc.TLS, yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*TyyParser)(unsafe.Pointer(yypParser)).FpParse - for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+8 { + for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack { _yy_pop_parser_stack(tls, yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23336, 0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) /******** End %stack_overflow code ********************************************/ /* Suppress warning about unused %extra_argument var */ (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -159157,15 +160627,19 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint var yytos uintptr _ = yytos (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos += 12 - if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 12 - _yyStackOverflow(tls, yypParser) - return + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + if yytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { + if _yyGrowStack(tls, yypParser) != 0 { + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 12 + _yyStackOverflow(tls, yypParser) + return + } + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + _ = libc.Int32FromInt32(0) } if int32(yyNewState) > int32(YY_MAX_SHIFT) { yyNewState = uint16(int32(yyNewState) + (libc.Int32FromInt32(YY_MIN_REDUCE) - libc.Int32FromInt32(YY_MIN_SHIFTREDUCE))) } - yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos (*TyyStackEntry)(unsafe.Pointer(yytos)).Fstateno = yyNewState (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor = yyMajor *(*TToken)(unsafe.Pointer(yytos + 4)) = yyMinor @@ -159175,419 +160649,423 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint // // /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side // ** of that rule */ -var _yyRuleInfoLhs = [405]uint16{ - 0: uint16(189), - 1: uint16(189), - 2: uint16(188), - 3: uint16(190), - 4: uint16(191), - 5: uint16(191), - 6: uint16(191), - 7: uint16(191), - 8: uint16(190), - 9: uint16(190), - 10: uint16(190), - 11: uint16(190), - 12: uint16(190), - 13: uint16(195), - 14: uint16(197), - 15: uint16(199), - 16: uint16(199), - 17: uint16(198), - 18: uint16(198), - 19: uint16(196), - 20: uint16(196), - 21: uint16(203), - 22: uint16(203), - 23: uint16(205), - 24: uint16(205), - 25: uint16(206), - 26: uint16(208), - 27: uint16(208), - 28: uint16(208), - 29: uint16(209), - 30: uint16(213), - 31: uint16(214), - 32: uint16(215), - 33: uint16(215), - 34: uint16(215), - 35: uint16(215), - 36: uint16(215), - 37: uint16(215), - 38: uint16(215), - 39: uint16(215), - 40: uint16(215), - 41: uint16(215), - 42: uint16(215), - 43: uint16(215), - 44: uint16(215), - 45: uint16(224), - 46: uint16(224), - 47: uint16(220), - 48: uint16(220), - 49: uint16(222), - 50: uint16(222), - 51: uint16(225), - 52: uint16(225), - 53: uint16(225), - 54: uint16(225), - 55: uint16(226), - 56: uint16(226), - 57: uint16(226), - 58: uint16(226), - 59: uint16(226), - 60: uint16(223), - 61: uint16(223), - 62: uint16(227), - 63: uint16(227), - 64: uint16(227), - 65: uint16(202), - 66: uint16(229), - 67: uint16(230), - 68: uint16(230), - 69: uint16(230), - 70: uint16(230), - 71: uint16(230), - 72: uint16(233), - 73: uint16(218), - 74: uint16(218), - 75: uint16(234), - 76: uint16(234), - 77: uint16(235), - 78: uint16(235), - 79: uint16(190), - 80: uint16(237), - 81: uint16(237), - 82: uint16(190), - 83: uint16(190), - 84: uint16(190), - 85: uint16(204), - 86: uint16(204), - 87: uint16(204), - 88: uint16(239), - 89: uint16(242), - 90: uint16(242), - 91: uint16(242), - 92: uint16(240), - 93: uint16(240), - 94: uint16(252), - 95: uint16(252), - 96: uint16(243), - 97: uint16(243), - 98: uint16(243), - 99: uint16(254), +var _yyRuleInfoLhs = [409]uint16{ + 0: uint16(190), + 1: uint16(190), + 2: uint16(189), + 3: uint16(191), + 4: uint16(192), + 5: uint16(192), + 6: uint16(192), + 7: uint16(192), + 8: uint16(191), + 9: uint16(191), + 10: uint16(191), + 11: uint16(191), + 12: uint16(191), + 13: uint16(196), + 14: uint16(198), + 15: uint16(200), + 16: uint16(200), + 17: uint16(199), + 18: uint16(199), + 19: uint16(197), + 20: uint16(197), + 21: uint16(204), + 22: uint16(204), + 23: uint16(206), + 24: uint16(206), + 25: uint16(207), + 26: uint16(209), + 27: uint16(209), + 28: uint16(209), + 29: uint16(210), + 30: uint16(214), + 31: uint16(215), + 32: uint16(216), + 33: uint16(216), + 34: uint16(216), + 35: uint16(216), + 36: uint16(216), + 37: uint16(216), + 38: uint16(216), + 39: uint16(216), + 40: uint16(216), + 41: uint16(216), + 42: uint16(216), + 43: uint16(216), + 44: uint16(216), + 45: uint16(225), + 46: uint16(225), + 47: uint16(221), + 48: uint16(221), + 49: uint16(223), + 50: uint16(223), + 51: uint16(226), + 52: uint16(226), + 53: uint16(226), + 54: uint16(226), + 55: uint16(227), + 56: uint16(227), + 57: uint16(227), + 58: uint16(227), + 59: uint16(227), + 60: uint16(224), + 61: uint16(224), + 62: uint16(228), + 63: uint16(228), + 64: uint16(228), + 65: uint16(203), + 66: uint16(230), + 67: uint16(231), + 68: uint16(231), + 69: uint16(231), + 70: uint16(231), + 71: uint16(231), + 72: uint16(234), + 73: uint16(219), + 74: uint16(219), + 75: uint16(235), + 76: uint16(235), + 77: uint16(236), + 78: uint16(236), + 79: uint16(191), + 80: uint16(238), + 81: uint16(238), + 82: uint16(191), + 83: uint16(191), + 84: uint16(191), + 85: uint16(205), + 86: uint16(205), + 87: uint16(205), + 88: uint16(240), + 89: uint16(243), + 90: uint16(243), + 91: uint16(243), + 92: uint16(241), + 93: uint16(241), + 94: uint16(253), + 95: uint16(241), + 96: uint16(255), + 97: uint16(255), + 98: uint16(244), + 99: uint16(244), 100: uint16(244), - 101: uint16(244), - 102: uint16(244), - 103: uint16(255), - 104: uint16(255), - 105: uint16(245), - 106: uint16(245), - 107: uint16(257), - 108: uint16(257), - 109: uint16(256), - 110: uint16(256), - 111: uint16(256), - 112: uint16(256), - 113: uint16(256), - 114: uint16(200), - 115: uint16(200), - 116: uint16(238), - 117: uint16(238), - 118: uint16(262), - 119: uint16(262), - 120: uint16(262), - 121: uint16(262), - 122: uint16(258), - 123: uint16(258), - 124: uint16(258), - 125: uint16(258), - 126: uint16(259), - 127: uint16(259), - 128: uint16(259), - 129: uint16(264), - 130: uint16(260), - 131: uint16(260), - 132: uint16(249), - 133: uint16(249), - 134: uint16(231), - 135: uint16(231), - 136: uint16(219), - 137: uint16(219), - 138: uint16(219), - 139: uint16(265), - 140: uint16(265), - 141: uint16(265), - 142: uint16(247), - 143: uint16(247), + 101: uint16(256), + 102: uint16(245), + 103: uint16(245), + 104: uint16(245), + 105: uint16(257), + 106: uint16(257), + 107: uint16(246), + 108: uint16(246), + 109: uint16(259), + 110: uint16(259), + 111: uint16(258), + 112: uint16(258), + 113: uint16(258), + 114: uint16(258), + 115: uint16(258), + 116: uint16(201), + 117: uint16(201), + 118: uint16(239), + 119: uint16(239), + 120: uint16(264), + 121: uint16(264), + 122: uint16(264), + 123: uint16(264), + 124: uint16(260), + 125: uint16(260), + 126: uint16(260), + 127: uint16(260), + 128: uint16(261), + 129: uint16(261), + 130: uint16(261), + 131: uint16(266), + 132: uint16(262), + 133: uint16(262), + 134: uint16(250), + 135: uint16(250), + 136: uint16(232), + 137: uint16(232), + 138: uint16(220), + 139: uint16(220), + 140: uint16(220), + 141: uint16(267), + 142: uint16(267), + 143: uint16(267), 144: uint16(248), 145: uint16(248), - 146: uint16(250), - 147: uint16(250), - 148: uint16(250), - 149: uint16(250), - 150: uint16(190), - 151: uint16(246), - 152: uint16(246), - 153: uint16(267), - 154: uint16(267), - 155: uint16(267), - 156: uint16(267), - 157: uint16(190), - 158: uint16(268), - 159: uint16(268), - 160: uint16(268), - 161: uint16(268), - 162: uint16(190), - 163: uint16(190), - 164: uint16(271), - 165: uint16(271), - 166: uint16(271), - 167: uint16(271), - 168: uint16(271), - 169: uint16(271), - 170: uint16(272), - 171: uint16(269), - 172: uint16(269), - 173: uint16(270), - 174: uint16(270), - 175: uint16(263), - 176: uint16(263), - 177: uint16(217), - 178: uint16(217), - 179: uint16(217), - 180: uint16(217), - 181: uint16(216), - 182: uint16(216), - 183: uint16(216), + 146: uint16(249), + 147: uint16(249), + 148: uint16(251), + 149: uint16(251), + 150: uint16(251), + 151: uint16(251), + 152: uint16(191), + 153: uint16(247), + 154: uint16(247), + 155: uint16(269), + 156: uint16(269), + 157: uint16(269), + 158: uint16(269), + 159: uint16(191), + 160: uint16(270), + 161: uint16(270), + 162: uint16(270), + 163: uint16(270), + 164: uint16(191), + 165: uint16(191), + 166: uint16(273), + 167: uint16(273), + 168: uint16(273), + 169: uint16(273), + 170: uint16(273), + 171: uint16(273), + 172: uint16(274), + 173: uint16(271), + 174: uint16(271), + 175: uint16(272), + 176: uint16(272), + 177: uint16(265), + 178: uint16(265), + 179: uint16(218), + 180: uint16(218), + 181: uint16(218), + 182: uint16(218), + 183: uint16(217), 184: uint16(217), 185: uint16(217), - 186: uint16(217), - 187: uint16(217), - 188: uint16(217), - 189: uint16(217), - 190: uint16(217), - 191: uint16(217), - 192: uint16(217), - 193: uint16(216), - 194: uint16(217), + 186: uint16(218), + 187: uint16(218), + 188: uint16(218), + 189: uint16(218), + 190: uint16(218), + 191: uint16(218), + 192: uint16(218), + 193: uint16(218), + 194: uint16(218), 195: uint16(217), - 196: uint16(217), - 197: uint16(217), - 198: uint16(217), - 199: uint16(217), - 200: uint16(217), - 201: uint16(217), - 202: uint16(217), - 203: uint16(274), - 204: uint16(217), - 205: uint16(217), - 206: uint16(217), - 207: uint16(217), - 208: uint16(217), - 209: uint16(217), - 210: uint16(217), - 211: uint16(217), - 212: uint16(217), - 213: uint16(217), - 214: uint16(217), - 215: uint16(217), - 216: uint16(275), - 217: uint16(275), - 218: uint16(217), - 219: uint16(276), - 220: uint16(276), - 221: uint16(217), - 222: uint16(217), - 223: uint16(217), - 224: uint16(217), - 225: uint16(217), - 226: uint16(217), - 227: uint16(279), - 228: uint16(279), - 229: uint16(280), - 230: uint16(280), - 231: uint16(278), - 232: uint16(261), - 233: uint16(253), - 234: uint16(253), - 235: uint16(277), - 236: uint16(277), - 237: uint16(190), - 238: uint16(281), - 239: uint16(281), - 240: uint16(221), - 241: uint16(221), - 242: uint16(232), - 243: uint16(232), - 244: uint16(282), - 245: uint16(282), - 246: uint16(190), - 247: uint16(190), - 248: uint16(190), - 249: uint16(283), - 250: uint16(283), - 251: uint16(190), - 252: uint16(190), - 253: uint16(190), - 254: uint16(190), - 255: uint16(190), - 256: uint16(211), - 257: uint16(212), - 258: uint16(190), - 259: uint16(285), - 260: uint16(287), + 196: uint16(218), + 197: uint16(218), + 198: uint16(218), + 199: uint16(218), + 200: uint16(218), + 201: uint16(218), + 202: uint16(218), + 203: uint16(218), + 204: uint16(218), + 205: uint16(276), + 206: uint16(218), + 207: uint16(218), + 208: uint16(218), + 209: uint16(218), + 210: uint16(218), + 211: uint16(218), + 212: uint16(218), + 213: uint16(218), + 214: uint16(218), + 215: uint16(218), + 216: uint16(218), + 217: uint16(218), + 218: uint16(277), + 219: uint16(277), + 220: uint16(218), + 221: uint16(278), + 222: uint16(278), + 223: uint16(218), + 224: uint16(218), + 225: uint16(218), + 226: uint16(218), + 227: uint16(218), + 228: uint16(218), + 229: uint16(281), + 230: uint16(281), + 231: uint16(282), + 232: uint16(282), + 233: uint16(280), + 234: uint16(263), + 235: uint16(254), + 236: uint16(254), + 237: uint16(279), + 238: uint16(279), + 239: uint16(191), + 240: uint16(283), + 241: uint16(283), + 242: uint16(222), + 243: uint16(222), + 244: uint16(233), + 245: uint16(233), + 246: uint16(284), + 247: uint16(284), + 248: uint16(191), + 249: uint16(191), + 250: uint16(191), + 251: uint16(285), + 252: uint16(285), + 253: uint16(191), + 254: uint16(191), + 255: uint16(191), + 256: uint16(191), + 257: uint16(191), + 258: uint16(212), + 259: uint16(213), + 260: uint16(191), 261: uint16(287), - 262: uint16(287), - 263: uint16(288), - 264: uint16(288), - 265: uint16(288), + 262: uint16(289), + 263: uint16(289), + 264: uint16(289), + 265: uint16(290), 266: uint16(290), 267: uint16(290), - 268: uint16(286), - 269: uint16(286), - 270: uint16(292), - 271: uint16(293), - 272: uint16(293), - 273: uint16(291), - 274: uint16(291), - 275: uint16(291), - 276: uint16(291), - 277: uint16(217), - 278: uint16(217), - 279: uint16(236), - 280: uint16(236), - 281: uint16(236), - 282: uint16(190), - 283: uint16(190), - 284: uint16(190), - 285: uint16(295), - 286: uint16(295), - 287: uint16(190), - 288: uint16(190), - 289: uint16(190), - 290: uint16(190), - 291: uint16(190), - 292: uint16(190), - 293: uint16(190), - 294: uint16(296), - 295: uint16(190), - 296: uint16(190), - 297: uint16(190), - 298: uint16(298), - 299: uint16(300), - 300: uint16(301), - 301: uint16(301), - 302: uint16(302), - 303: uint16(266), - 304: uint16(266), - 305: uint16(305), - 306: uint16(305), - 307: uint16(305), - 308: uint16(304), - 309: uint16(241), - 310: uint16(241), - 311: uint16(306), - 312: uint16(307), - 313: uint16(308), - 314: uint16(308), - 315: uint16(308), - 316: uint16(308), - 317: uint16(308), - 318: uint16(309), - 319: uint16(309), - 320: uint16(309), - 321: uint16(313), - 322: uint16(315), - 323: uint16(315), + 268: uint16(292), + 269: uint16(292), + 270: uint16(288), + 271: uint16(288), + 272: uint16(294), + 273: uint16(295), + 274: uint16(295), + 275: uint16(293), + 276: uint16(293), + 277: uint16(293), + 278: uint16(293), + 279: uint16(218), + 280: uint16(218), + 281: uint16(237), + 282: uint16(237), + 283: uint16(237), + 284: uint16(191), + 285: uint16(191), + 286: uint16(191), + 287: uint16(297), + 288: uint16(297), + 289: uint16(191), + 290: uint16(191), + 291: uint16(191), + 292: uint16(191), + 293: uint16(191), + 294: uint16(191), + 295: uint16(191), + 296: uint16(298), + 297: uint16(191), + 298: uint16(191), + 299: uint16(191), + 300: uint16(300), + 301: uint16(302), + 302: uint16(303), + 303: uint16(303), + 304: uint16(304), + 305: uint16(268), + 306: uint16(268), + 307: uint16(307), + 308: uint16(307), + 309: uint16(307), + 310: uint16(306), + 311: uint16(308), + 312: uint16(242), + 313: uint16(242), + 314: uint16(309), + 315: uint16(310), + 316: uint16(311), + 317: uint16(311), + 318: uint16(311), + 319: uint16(311), + 320: uint16(311), + 321: uint16(312), + 322: uint16(312), + 323: uint16(312), 324: uint16(316), - 325: uint16(316), - 326: uint16(314), - 327: uint16(314), - 328: uint16(317), + 325: uint16(318), + 326: uint16(318), + 327: uint16(319), + 328: uint16(319), 329: uint16(317), - 330: uint16(318), - 331: uint16(318), - 332: uint16(318), - 333: uint16(251), - 334: uint16(273), - 335: uint16(273), - 336: uint16(273), - 337: uint16(312), - 338: uint16(312), - 339: uint16(311), - 340: uint16(185), - 341: uint16(186), - 342: uint16(186), - 343: uint16(187), - 344: uint16(187), + 330: uint16(317), + 331: uint16(320), + 332: uint16(320), + 333: uint16(321), + 334: uint16(321), + 335: uint16(321), + 336: uint16(252), + 337: uint16(275), + 338: uint16(275), + 339: uint16(275), + 340: uint16(315), + 341: uint16(315), + 342: uint16(314), + 343: uint16(217), + 344: uint16(186), 345: uint16(187), - 346: uint16(192), - 347: uint16(192), - 348: uint16(192), - 349: uint16(194), - 350: uint16(194), - 351: uint16(190), - 352: uint16(203), - 353: uint16(201), - 354: uint16(201), - 355: uint16(193), - 356: uint16(193), - 357: uint16(208), - 358: uint16(209), - 359: uint16(210), - 360: uint16(210), - 361: uint16(207), - 362: uint16(207), - 363: uint16(215), - 364: uint16(215), - 365: uint16(215), - 366: uint16(202), - 367: uint16(228), - 368: uint16(228), - 369: uint16(229), - 370: uint16(233), - 371: uint16(235), - 372: uint16(239), - 373: uint16(240), - 374: uint16(254), - 375: uint16(255), - 376: uint16(264), - 377: uint16(272), - 378: uint16(217), - 379: uint16(274), - 380: uint16(278), - 381: uint16(261), - 382: uint16(284), - 383: uint16(284), - 384: uint16(284), - 385: uint16(284), - 386: uint16(284), - 387: uint16(211), - 388: uint16(289), - 389: uint16(289), - 390: uint16(292), - 391: uint16(293), - 392: uint16(294), - 393: uint16(294), - 394: uint16(297), - 395: uint16(297), - 396: uint16(299), - 397: uint16(299), - 398: uint16(300), - 399: uint16(303), - 400: uint16(303), - 401: uint16(303), - 402: uint16(266), - 403: uint16(306), - 404: uint16(308), + 346: uint16(187), + 347: uint16(188), + 348: uint16(188), + 349: uint16(188), + 350: uint16(193), + 351: uint16(193), + 352: uint16(193), + 353: uint16(195), + 354: uint16(195), + 355: uint16(191), + 356: uint16(204), + 357: uint16(202), + 358: uint16(202), + 359: uint16(194), + 360: uint16(194), + 361: uint16(209), + 362: uint16(210), + 363: uint16(211), + 364: uint16(211), + 365: uint16(208), + 366: uint16(208), + 367: uint16(216), + 368: uint16(216), + 369: uint16(216), + 370: uint16(203), + 371: uint16(229), + 372: uint16(229), + 373: uint16(230), + 374: uint16(234), + 375: uint16(236), + 376: uint16(240), + 377: uint16(241), + 378: uint16(256), + 379: uint16(257), + 380: uint16(266), + 381: uint16(274), + 382: uint16(218), + 383: uint16(276), + 384: uint16(280), + 385: uint16(263), + 386: uint16(286), + 387: uint16(286), + 388: uint16(286), + 389: uint16(286), + 390: uint16(286), + 391: uint16(212), + 392: uint16(291), + 393: uint16(291), + 394: uint16(294), + 395: uint16(295), + 396: uint16(296), + 397: uint16(296), + 398: uint16(299), + 399: uint16(299), + 400: uint16(301), + 401: uint16(301), + 402: uint16(302), + 403: uint16(305), + 404: uint16(305), + 405: uint16(305), + 406: uint16(268), + 407: uint16(309), + 408: uint16(311), } // C documentation // // /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number // ** of symbols on the right-hand side of that rule. */ -var _yyRuleInfoNRhs = [405]int8{ +var _yyRuleInfoNRhs = [409]int8{ 0: int8(-int32(1)), 1: int8(-int32(3)), 2: int8(-int32(1)), @@ -159668,273 +161146,277 @@ var _yyRuleInfoNRhs = [405]int8{ 92: int8(-int32(9)), 93: int8(-int32(10)), 94: int8(-int32(4)), - 95: int8(-int32(5)), - 96: int8(-int32(1)), - 97: int8(-int32(1)), - 100: int8(-int32(5)), - 101: int8(-int32(3)), + 95: int8(-int32(1)), + 96: int8(-int32(5)), + 97: int8(-int32(5)), + 98: int8(-int32(1)), + 99: int8(-int32(1)), 102: int8(-int32(5)), - 103: int8(-int32(2)), - 106: int8(-int32(2)), - 107: int8(-int32(2)), - 109: int8(-int32(5)), - 110: int8(-int32(6)), - 111: int8(-int32(8)), + 103: int8(-int32(3)), + 104: int8(-int32(5)), + 105: int8(-int32(2)), + 108: int8(-int32(2)), + 109: int8(-int32(2)), + 111: int8(-int32(5)), 112: int8(-int32(6)), - 113: int8(-int32(6)), - 115: int8(-int32(2)), - 116: int8(-int32(1)), - 117: int8(-int32(3)), + 113: int8(-int32(8)), + 114: int8(-int32(6)), + 115: int8(-int32(6)), + 117: int8(-int32(2)), 118: int8(-int32(1)), 119: int8(-int32(3)), - 120: int8(-int32(5)), + 120: int8(-int32(1)), 121: int8(-int32(3)), - 122: int8(-int32(1)), - 123: int8(-int32(2)), - 124: int8(-int32(3)), - 125: int8(-int32(4)), - 126: int8(-int32(2)), + 122: int8(-int32(5)), + 123: int8(-int32(3)), + 124: int8(-int32(1)), + 125: int8(-int32(2)), + 126: int8(-int32(3)), 127: int8(-int32(4)), - 130: int8(-int32(3)), - 131: int8(-int32(2)), - 133: int8(-int32(3)), - 134: int8(-int32(5)), + 128: int8(-int32(2)), + 129: int8(-int32(4)), + 132: int8(-int32(3)), + 133: int8(-int32(2)), 135: int8(-int32(3)), - 136: int8(-int32(1)), - 137: int8(-int32(1)), - 139: int8(-int32(2)), - 140: int8(-int32(2)), - 143: int8(-int32(3)), - 145: int8(-int32(2)), + 136: int8(-int32(5)), + 137: int8(-int32(3)), + 138: int8(-int32(1)), + 139: int8(-int32(1)), + 141: int8(-int32(2)), + 142: int8(-int32(2)), + 145: int8(-int32(3)), 147: int8(-int32(2)), - 148: int8(-int32(4)), - 149: int8(-int32(4)), - 150: int8(-int32(6)), - 152: int8(-int32(2)), + 149: int8(-int32(2)), + 150: int8(-int32(4)), + 151: int8(-int32(4)), + 152: int8(-int32(6)), 154: int8(-int32(2)), - 155: int8(-int32(2)), - 156: int8(-int32(4)), - 157: int8(-int32(9)), - 158: int8(-int32(5)), - 159: int8(-int32(7)), - 160: int8(-int32(3)), - 161: int8(-int32(5)), - 162: int8(-int32(7)), - 163: int8(-int32(8)), - 165: int8(-int32(2)), - 166: int8(-int32(12)), - 167: int8(-int32(9)), - 168: int8(-int32(5)), - 169: int8(-int32(8)), - 170: int8(-int32(2)), - 171: int8(-int32(2)), - 172: int8(-int32(1)), - 174: int8(-int32(3)), - 175: int8(-int32(3)), - 176: int8(-int32(1)), + 156: int8(-int32(2)), + 157: int8(-int32(2)), + 158: int8(-int32(4)), + 159: int8(-int32(9)), + 160: int8(-int32(5)), + 161: int8(-int32(7)), + 162: int8(-int32(3)), + 163: int8(-int32(5)), + 164: int8(-int32(7)), + 165: int8(-int32(8)), + 167: int8(-int32(2)), + 168: int8(-int32(12)), + 169: int8(-int32(9)), + 170: int8(-int32(5)), + 171: int8(-int32(8)), + 172: int8(-int32(2)), + 173: int8(-int32(2)), + 174: int8(-int32(1)), + 176: int8(-int32(3)), 177: int8(-int32(3)), 178: int8(-int32(1)), 179: int8(-int32(3)), - 180: int8(-int32(5)), - 181: int8(-int32(1)), - 182: int8(-int32(1)), + 180: int8(-int32(1)), + 181: int8(-int32(3)), + 182: int8(-int32(5)), 183: int8(-int32(1)), 184: int8(-int32(1)), - 185: int8(-int32(3)), - 186: int8(-int32(6)), - 187: int8(-int32(5)), - 188: int8(-int32(8)), - 189: int8(-int32(4)), - 190: int8(-int32(6)), - 191: int8(-int32(9)), - 192: int8(-int32(5)), - 193: int8(-int32(1)), + 185: int8(-int32(1)), + 186: int8(-int32(1)), + 187: int8(-int32(3)), + 188: int8(-int32(6)), + 189: int8(-int32(5)), + 190: int8(-int32(8)), + 191: int8(-int32(4)), + 192: int8(-int32(6)), + 193: int8(-int32(9)), 194: int8(-int32(5)), - 195: int8(-int32(3)), - 196: int8(-int32(3)), + 195: int8(-int32(1)), + 196: int8(-int32(5)), 197: int8(-int32(3)), 198: int8(-int32(3)), 199: int8(-int32(3)), 200: int8(-int32(3)), 201: int8(-int32(3)), 202: int8(-int32(3)), - 203: int8(-int32(2)), + 203: int8(-int32(3)), 204: int8(-int32(3)), - 205: int8(-int32(5)), - 206: int8(-int32(2)), - 207: int8(-int32(3)), - 208: int8(-int32(3)), - 209: int8(-int32(4)), - 210: int8(-int32(6)), - 211: int8(-int32(5)), - 212: int8(-int32(2)), - 213: int8(-int32(2)), + 205: int8(-int32(2)), + 206: int8(-int32(3)), + 207: int8(-int32(5)), + 208: int8(-int32(2)), + 209: int8(-int32(3)), + 210: int8(-int32(3)), + 211: int8(-int32(4)), + 212: int8(-int32(6)), + 213: int8(-int32(5)), 214: int8(-int32(2)), - 215: int8(-int32(3)), - 216: int8(-int32(1)), - 217: int8(-int32(2)), - 218: int8(-int32(5)), - 219: int8(-int32(1)), - 220: int8(-int32(2)), - 221: int8(-int32(5)), - 222: int8(-int32(3)), + 215: int8(-int32(2)), + 216: int8(-int32(2)), + 217: int8(-int32(3)), + 218: int8(-int32(1)), + 219: int8(-int32(2)), + 220: int8(-int32(5)), + 221: int8(-int32(1)), + 222: int8(-int32(2)), 223: int8(-int32(5)), - 224: int8(-int32(5)), - 225: int8(-int32(4)), + 224: int8(-int32(3)), + 225: int8(-int32(5)), 226: int8(-int32(5)), - 227: int8(-int32(5)), - 228: int8(-int32(4)), - 229: int8(-int32(2)), - 233: int8(-int32(3)), - 234: int8(-int32(1)), - 236: int8(-int32(3)), - 237: int8(-int32(12)), - 238: int8(-int32(1)), - 241: int8(-int32(3)), - 242: int8(-int32(5)), + 227: int8(-int32(4)), + 228: int8(-int32(5)), + 229: int8(-int32(5)), + 230: int8(-int32(4)), + 231: int8(-int32(2)), + 235: int8(-int32(3)), + 236: int8(-int32(1)), + 238: int8(-int32(3)), + 239: int8(-int32(12)), + 240: int8(-int32(1)), 243: int8(-int32(3)), - 245: int8(-int32(2)), - 246: int8(-int32(4)), + 244: int8(-int32(5)), + 245: int8(-int32(3)), 247: int8(-int32(2)), - 248: int8(-int32(3)), + 248: int8(-int32(4)), 249: int8(-int32(2)), - 251: int8(-int32(3)), - 252: int8(-int32(5)), - 253: int8(-int32(6)), + 250: int8(-int32(3)), + 251: int8(-int32(2)), + 253: int8(-int32(3)), 254: int8(-int32(5)), 255: int8(-int32(6)), - 256: int8(-int32(2)), - 257: int8(-int32(2)), - 258: int8(-int32(5)), - 259: int8(-int32(11)), - 260: int8(-int32(1)), - 261: int8(-int32(2)), - 263: int8(-int32(1)), - 264: int8(-int32(1)), - 265: int8(-int32(3)), - 267: int8(-int32(2)), - 268: int8(-int32(3)), + 256: int8(-int32(5)), + 257: int8(-int32(6)), + 258: int8(-int32(2)), + 259: int8(-int32(2)), + 260: int8(-int32(5)), + 261: int8(-int32(11)), + 262: int8(-int32(1)), + 263: int8(-int32(2)), + 265: int8(-int32(1)), + 266: int8(-int32(1)), + 267: int8(-int32(3)), 269: int8(-int32(2)), 270: int8(-int32(3)), - 271: int8(-int32(3)), - 272: int8(-int32(2)), - 273: int8(-int32(9)), - 274: int8(-int32(8)), - 275: int8(-int32(6)), - 276: int8(-int32(3)), - 277: int8(-int32(4)), - 278: int8(-int32(6)), - 279: int8(-int32(1)), - 280: int8(-int32(1)), + 271: int8(-int32(2)), + 272: int8(-int32(3)), + 273: int8(-int32(3)), + 274: int8(-int32(2)), + 275: int8(-int32(9)), + 276: int8(-int32(8)), + 277: int8(-int32(6)), + 278: int8(-int32(3)), + 279: int8(-int32(4)), + 280: int8(-int32(6)), 281: int8(-int32(1)), - 282: int8(-int32(4)), - 283: int8(-int32(6)), - 284: int8(-int32(3)), - 286: int8(-int32(2)), - 287: int8(-int32(1)), - 288: int8(-int32(3)), + 282: int8(-int32(1)), + 283: int8(-int32(1)), + 284: int8(-int32(4)), + 285: int8(-int32(6)), + 286: int8(-int32(3)), + 288: int8(-int32(2)), 289: int8(-int32(1)), 290: int8(-int32(3)), - 291: int8(-int32(6)), - 292: int8(-int32(7)), + 291: int8(-int32(1)), + 292: int8(-int32(3)), 293: int8(-int32(6)), - 294: int8(-int32(1)), - 295: int8(-int32(8)), + 294: int8(-int32(7)), + 295: int8(-int32(6)), 296: int8(-int32(1)), - 297: int8(-int32(4)), - 298: int8(-int32(8)), - 300: int8(-int32(1)), - 301: int8(-int32(3)), + 297: int8(-int32(8)), + 298: int8(-int32(1)), + 299: int8(-int32(4)), + 300: int8(-int32(8)), 302: int8(-int32(1)), - 303: int8(-int32(2)), - 304: int8(-int32(3)), - 305: int8(-int32(1)), - 306: int8(-int32(2)), - 307: int8(-int32(3)), - 308: int8(-int32(6)), - 309: int8(-int32(1)), - 310: int8(-int32(3)), - 311: int8(-int32(3)), - 312: int8(-int32(5)), - 313: int8(-int32(5)), - 314: int8(-int32(6)), - 315: int8(-int32(4)), + 303: int8(-int32(3)), + 304: int8(-int32(1)), + 305: int8(-int32(2)), + 306: int8(-int32(3)), + 307: int8(-int32(1)), + 308: int8(-int32(2)), + 309: int8(-int32(3)), + 310: int8(-int32(6)), + 311: int8(-int32(1)), + 312: int8(-int32(1)), + 313: int8(-int32(3)), + 314: int8(-int32(3)), + 315: int8(-int32(5)), 316: int8(-int32(5)), - 317: int8(-int32(2)), - 319: int8(-int32(3)), - 320: int8(-int32(6)), - 321: int8(-int32(1)), - 322: int8(-int32(1)), - 323: int8(-int32(2)), + 317: int8(-int32(6)), + 318: int8(-int32(4)), + 319: int8(-int32(5)), + 320: int8(-int32(2)), + 322: int8(-int32(3)), + 323: int8(-int32(6)), 324: int8(-int32(1)), - 325: int8(-int32(2)), + 325: int8(-int32(1)), 326: int8(-int32(2)), - 327: int8(-int32(2)), + 327: int8(-int32(1)), + 328: int8(-int32(2)), 329: int8(-int32(2)), 330: int8(-int32(2)), - 331: int8(-int32(2)), - 332: int8(-int32(1)), + 332: int8(-int32(2)), 333: int8(-int32(2)), 334: int8(-int32(2)), 335: int8(-int32(1)), - 336: int8(-int32(1)), - 337: int8(-int32(4)), - 338: int8(-int32(2)), - 339: int8(-int32(5)), - 340: int8(-int32(1)), + 336: int8(-int32(2)), + 337: int8(-int32(2)), + 338: int8(-int32(1)), + 339: int8(-int32(1)), + 340: int8(-int32(4)), 341: int8(-int32(2)), - 342: int8(-int32(1)), + 342: int8(-int32(5)), 343: int8(-int32(1)), - 344: int8(-int32(2)), - 345: int8(-int32(3)), + 344: int8(-int32(1)), + 345: int8(-int32(2)), + 346: int8(-int32(1)), 347: int8(-int32(1)), 348: int8(-int32(2)), - 349: int8(-int32(1)), - 351: int8(-int32(2)), - 352: int8(-int32(1)), - 353: int8(-int32(4)), - 354: int8(-int32(2)), - 355: int8(-int32(1)), + 349: int8(-int32(3)), + 351: int8(-int32(1)), + 352: int8(-int32(2)), + 353: int8(-int32(1)), + 355: int8(-int32(2)), 356: int8(-int32(1)), - 357: int8(-int32(1)), - 358: int8(-int32(1)), + 357: int8(-int32(4)), + 358: int8(-int32(2)), 359: int8(-int32(1)), 360: int8(-int32(1)), - 361: int8(-int32(2)), - 363: int8(-int32(2)), - 364: int8(-int32(4)), + 361: int8(-int32(1)), + 362: int8(-int32(1)), + 363: int8(-int32(1)), + 364: int8(-int32(1)), 365: int8(-int32(2)), - 366: int8(-int32(2)), - 367: int8(-int32(3)), - 368: int8(-int32(1)), - 370: int8(-int32(1)), - 371: int8(-int32(1)), + 367: int8(-int32(2)), + 368: int8(-int32(4)), + 369: int8(-int32(2)), + 370: int8(-int32(2)), + 371: int8(-int32(3)), 372: int8(-int32(1)), - 373: int8(-int32(1)), - 374: int8(-int32(2)), + 374: int8(-int32(1)), 375: int8(-int32(1)), 376: int8(-int32(1)), - 378: int8(-int32(1)), + 377: int8(-int32(1)), + 378: int8(-int32(2)), 379: int8(-int32(1)), 380: int8(-int32(1)), - 381: int8(-int32(1)), 382: int8(-int32(1)), 383: int8(-int32(1)), 384: int8(-int32(1)), 385: int8(-int32(1)), 386: int8(-int32(1)), 387: int8(-int32(1)), - 389: int8(-int32(3)), + 388: int8(-int32(1)), + 389: int8(-int32(1)), 390: int8(-int32(1)), - 392: int8(-int32(1)), - 395: int8(-int32(1)), + 391: int8(-int32(1)), + 393: int8(-int32(3)), + 394: int8(-int32(1)), 396: int8(-int32(1)), - 397: int8(-int32(3)), - 398: int8(-int32(2)), - 400: int8(-int32(4)), - 401: int8(-int32(2)), - 403: int8(-int32(1)), - 404: int8(-int32(1)), + 399: int8(-int32(1)), + 400: int8(-int32(1)), + 401: int8(-int32(3)), + 402: int8(-int32(2)), + 404: int8(-int32(4)), + 405: int8(-int32(2)), + 407: int8(-int32(1)), + 408: int8(-int32(1)), } // C documentation @@ -159952,18 +161434,19 @@ var _yyRuleInfoNRhs = [405]int8{ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken TToken, pParse uintptr) (r uint16) { bp := tls.Alloc(96) defer tls.Free(96) - var bNot, bNot1, nExpr, yygoto, yysize, v344 int32 + var bNot, bNot1, nExpr, yygoto, yysize int32 var n Tu32 - var p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v343, v345, v346, v347, v348 uintptr + var op Tu8 + var p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v347, v348, v349, v350, v351 uintptr var yyact uint16 - var v349 TToken + var v352 TToken var _ /* all at bp+64 */ TToken var _ /* as at bp+48 */ TToken var _ /* dest at bp+8 */ TSelectDest var _ /* t at bp+56 */ TToken var _ /* x at bp+40 */ TToken var _ /* yylhsminor at bp+0 */ TYYMINORTYPE - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v343, v344, v345, v346, v347, v348, v349 /* Amount to pop the stack */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, op, p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v347, v348, v349, v350, v351, v352 /* Amount to pop the stack */ _ = yyLookahead _ = yyLookaheadToken yymsp = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos @@ -159984,7 +161467,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _7 case uint32(7): goto _8 - case uint32(321): + case uint32(324): goto _9 case uint32(9): goto _10 @@ -160012,9 +161495,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _21 case uint32(81): goto _22 - case uint32(98): + case uint32(100): goto _23 - case uint32(244): + case uint32(246): goto _24 case uint32(16): goto _25 @@ -160038,7 +161521,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _34 case uint32(26): goto _35 - case uint32(104): + case uint32(106): goto _36 case uint32(27): goto _37 @@ -160112,17 +161595,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _71 case uint32(61): goto _72 - case uint32(171): + case uint32(173): goto _73 case uint32(80): goto _74 case uint32(63): goto _75 - case uint32(217): + case uint32(219): goto _76 - case uint32(220): + case uint32(222): goto _77 - case uint32(245): + case uint32(247): goto _78 case uint32(64): goto _79 @@ -160144,7 +161627,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _87 case uint32(77): goto _88 - case uint32(172): + case uint32(174): goto _89 case uint32(78): goto _90 @@ -160178,47 +161661,47 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _104 case uint32(95): goto _105 - case uint32(96): - goto _106 case uint32(97): + goto _106 + case uint32(96): goto _107 - case uint32(132): + case uint32(98): goto _108 case uint32(99): goto _109 - case uint32(142): + case uint32(134): goto _110 - case uint32(232): + case uint32(101): goto _111 - case uint32(235): + case uint32(144): goto _112 - case uint32(240): + case uint32(234): goto _113 - case uint32(100): + case uint32(237): goto _114 - case uint32(101): + case uint32(242): goto _115 case uint32(102): goto _116 - case uint32(115): - goto _117 case uint32(103): + goto _117 + case uint32(104): goto _118 - case uint32(256): + case uint32(117): goto _119 - case uint32(257): + case uint32(105): goto _120 - case uint32(108): + case uint32(258): goto _121 - case uint32(105): + case uint32(259): goto _122 - case uint32(106): + case uint32(110): goto _123 case uint32(107): goto _124 - case uint32(109): + case uint32(108): goto _125 - case uint32(110): + case uint32(109): goto _126 case uint32(111): goto _127 @@ -160226,13 +161709,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _128 case uint32(113): goto _129 - case uint32(129): - goto _130 case uint32(114): + goto _130 + case uint32(115): goto _131 - case uint32(116): + case uint32(131): goto _132 - case uint32(117): + case uint32(116): goto _133 case uint32(118): goto _134 @@ -160256,15 +161739,15 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _143 case uint32(128): goto _144 - case uint32(130): + case uint32(129): goto _145 - case uint32(131): + case uint32(130): goto _146 - case uint32(143): + case uint32(132): goto _147 case uint32(133): goto _148 - case uint32(134): + case uint32(145): goto _149 case uint32(135): goto _150 @@ -160272,49 +161755,49 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _151 case uint32(137): goto _152 - case uint32(141): - goto _153 case uint32(138): - goto _154 + goto _153 case uint32(139): + goto _154 + case uint32(143): goto _155 case uint32(140): goto _156 - case uint32(146): + case uint32(141): goto _157 - case uint32(144): + case uint32(142): goto _158 - case uint32(151): + case uint32(148): goto _159 - case uint32(153): + case uint32(146): goto _160 - case uint32(230): + case uint32(153): goto _161 - case uint32(231): + case uint32(155): goto _162 - case uint32(250): + case uint32(232): goto _163 - case uint32(152): + case uint32(233): goto _164 - case uint32(145): + case uint32(252): goto _165 case uint32(154): goto _166 - case uint32(229): + case uint32(147): goto _167 - case uint32(249): + case uint32(156): goto _168 - case uint32(147): + case uint32(231): goto _169 - case uint32(148): + case uint32(251): goto _170 case uint32(149): goto _171 case uint32(150): goto _172 - case uint32(155): + case uint32(151): goto _173 - case uint32(156): + case uint32(152): goto _174 case uint32(157): goto _175 @@ -160344,9 +161827,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _187 case uint32(170): goto _188 - case uint32(173): + case uint32(171): goto _189 - case uint32(174): + case uint32(172): goto _190 case uint32(175): goto _191 @@ -160360,13 +161843,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _195 case uint32(180): goto _196 - case uint32(182): - goto _197 case uint32(181): + goto _197 + case uint32(182): goto _198 - case uint32(183): - goto _199 case uint32(184): + goto _199 + case uint32(183): goto _200 case uint32(185): goto _201 @@ -160390,13 +161873,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _210 case uint32(195): goto _211 - case uint32(197): - goto _212 case uint32(196): + goto _212 + case uint32(197): goto _213 - case uint32(198): - goto _214 case uint32(199): + goto _214 + case uint32(198): goto _215 case uint32(200): goto _216 @@ -160422,23 +161905,23 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _226 case uint32(211): goto _227 - case uint32(213): - goto _228 case uint32(212): + goto _228 + case uint32(213): goto _229 - case uint32(214): - goto _230 case uint32(215): + goto _230 + case uint32(214): goto _231 - case uint32(219): - goto _232 case uint32(216): + goto _232 + case uint32(217): goto _233 - case uint32(218): - goto _234 case uint32(221): + goto _234 + case uint32(218): goto _235 - case uint32(222): + case uint32(220): goto _236 case uint32(223): goto _237 @@ -160452,35 +161935,35 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _241 case uint32(228): goto _242 - case uint32(233): + case uint32(229): goto _243 - case uint32(234): + case uint32(230): goto _244 - case uint32(241): + case uint32(235): goto _245 case uint32(236): goto _246 - case uint32(237): + case uint32(243): goto _247 - case uint32(280): - goto _248 case uint32(238): - goto _249 + goto _248 case uint32(239): + goto _249 + case uint32(282): goto _250 - case uint32(242): + case uint32(240): goto _251 - case uint32(243): + case uint32(241): goto _252 - case uint32(246): + case uint32(244): goto _253 - case uint32(247): + case uint32(245): goto _254 case uint32(248): goto _255 - case uint32(251): + case uint32(249): goto _256 - case uint32(252): + case uint32(250): goto _257 case uint32(253): goto _258 @@ -160488,9 +161971,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _259 case uint32(255): goto _260 - case uint32(258): + case uint32(256): goto _261 - case uint32(259): + case uint32(257): goto _262 case uint32(260): goto _263 @@ -160498,21 +161981,21 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _264 case uint32(262): goto _265 - case uint32(264): - goto _266 case uint32(263): + goto _266 + case uint32(264): goto _267 - case uint32(265): + case uint32(266): goto _268 - case uint32(285): + case uint32(265): goto _269 - case uint32(266): + case uint32(267): goto _270 - case uint32(286): + case uint32(287): goto _271 - case uint32(267): - goto _272 case uint32(268): + goto _272 + case uint32(288): goto _273 case uint32(269): goto _274 @@ -160536,17 +162019,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _283 case uint32(279): goto _284 - case uint32(281): + case uint32(280): goto _285 - case uint32(282): + case uint32(281): goto _286 case uint32(283): goto _287 case uint32(284): goto _288 - case uint32(287): + case uint32(285): goto _289 - case uint32(288): + case uint32(286): goto _290 case uint32(289): goto _291 @@ -160570,19 +162053,19 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _300 case uint32(299): goto _301 - case uint32(301): - goto _302 case uint32(300): + goto _302 + case uint32(301): goto _303 - case uint32(302): + case uint32(303): goto _304 - case uint32(304): + case uint32(302): goto _305 - case uint32(303): + case uint32(304): goto _306 - case uint32(305): - goto _307 case uint32(306): + goto _307 + case uint32(305): goto _308 case uint32(307): goto _309 @@ -160612,31 +162095,31 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _321 case uint32(320): goto _322 - case uint32(324): + case uint32(321): goto _323 case uint32(322): goto _324 - case uint32(325): - goto _325 case uint32(323): - goto _326 + goto _325 case uint32(327): + goto _326 + case uint32(325): goto _327 - case uint32(326): - goto _328 case uint32(328): + goto _328 + case uint32(326): goto _329 - case uint32(329): + case uint32(330): goto _330 - case uint32(331): + case uint32(329): goto _331 - case uint32(330): + case uint32(331): goto _332 case uint32(332): goto _333 - case uint32(333): - goto _334 case uint32(334): + goto _334 + case uint32(333): goto _335 case uint32(335): goto _336 @@ -160648,34 +162131,42 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _339 case uint32(339): goto _340 - default: + case uint32(340): goto _341 + case uint32(341): + goto _342 + case uint32(342): + goto _343 + case uint32(343): + goto _344 + default: + goto _345 } - goto _342 + goto _346 _1: ; /* explain ::= EXPLAIN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(1) } - goto _342 + goto _346 _2: ; /* explain ::= EXPLAIN QUERY PLAN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(2) } - goto _342 + goto _346 _3: ; /* cmdx ::= cmd */ _sqlite3FinishCoding(tls, pParse) - goto _342 + goto _346 _4: ; /* cmd ::= BEGIN transtype trans_opt */ _sqlite3BeginTransaction(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 + goto _346 _5: ; /* transtype ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*12 + 4)) = int32(TK_DEFERRED) - goto _342 + goto _346 _7: ; /* transtype ::= DEFERRED */ _6: @@ -160685,33 +162176,33 @@ _8: _9: ; *(*int32)(unsafe.Pointer(yymsp + 4)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 + goto _346 _11: ; /* cmd ::= COMMIT|END trans_opt */ _10: ; _sqlite3EndTransaction(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor)) - goto _342 + goto _346 _12: ; /* cmd ::= SAVEPOINT nm */ _sqlite3Savepoint(tls, pParse, SAVEPOINT_BEGIN, yymsp+4) - goto _342 + goto _346 _13: ; /* cmd ::= RELEASE savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_RELEASE), yymsp+4) - goto _342 + goto _346 _14: ; /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_ROLLBACK), yymsp+4) - goto _342 + goto _346 _15: ; /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ _sqlite3StartTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, yymsp+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), 0, 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) - goto _342 + goto _346 _16: ; /* createkw ::= CREATE */ _disableLookaside(tls, pParse) - goto _342 + goto _346 _18: ; /* ifnotexists ::= */ _17: @@ -160729,56 +162220,56 @@ _23: _24: ; *(*int32)(unsafe.Pointer(yymsp + 1*12 + 4)) = 0 - goto _342 + goto _346 _25: ; /* ifnotexists ::= IF NOT EXISTS */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = int32(1) - goto _342 + goto _346 _26: ; /* temp ::= TEMP */ *(*int32)(unsafe.Pointer(yymsp + 4)) = libc.BoolInt32(int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0) - goto _342 + goto _346 _27: ; /* create_table_args ::= LP columnlist conslist_opt RP table_option_set */ _sqlite3EndTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, *(*Tu32)(unsafe.Pointer(yymsp + 4)), uintptr(0)) - goto _342 + goto _346 _28: ; /* create_table_args ::= AS select */ _sqlite3EndTable(tls, pParse, uintptr(0), uintptr(0), uint32(0), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _29: ; /* table_option_set ::= */ *(*Tu32)(unsafe.Pointer(yymsp + 1*12 + 4)) = uint32(0) - goto _342 + goto _346 _30: ; /* table_option_set ::= table_option_set COMMA table_option */ *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) | *(*Tu32)(unsafe.Pointer(yymsp + 4)) *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _31: ; /* table_option ::= WITHOUT nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 4)), __ccgo_ts+16694, int32(5)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 4)), __ccgo_ts+16781, int32(5)) == 0 { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) } else { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23358, libc.VaList(bp+80, *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23481, libc.VaList(bp+80, *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)))) } - goto _342 + goto _346 _32: ; /* table_option ::= nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 4)), __ccgo_ts+16607, int32(6)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 4)), __ccgo_ts+16694, int32(6)) == 0 { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(TF_Strict) } else { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23358, libc.VaList(bp+80, *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23481, libc.VaList(bp+80, *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)))) } *(*Tu32)(unsafe.Pointer(yymsp + 4)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _33: ; /* columnname ::= nm typetoken */ _sqlite3AddColumn(tls, pParse, *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*TToken)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _35: ; /* typetoken ::= */ _34: @@ -160787,52 +162278,52 @@ _36: ; *(*uint32)(unsafe.Pointer(yymsp + 1*12 + 4 + 4)) = uint32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) - goto _342 + goto _346 _37: ; /* typetoken ::= typename LP signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4 + 4)) = uint32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 4))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 4 + 4)))) - int32(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)))) - goto _342 + goto _346 _38: ; /* typetoken ::= typename LP signed COMMA signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4 + 4)) = uint32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 4))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 4 + 4)))) - int32(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)))) - goto _342 + goto _346 _39: ; /* typename ::= typename ID|STRING */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) = *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) + uint32(int32(*(*uintptr)(unsafe.Pointer(yymsp + 4)))-int32(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))) - goto _342 + goto _346 _40: ; /* scanpt ::= */ _ = libc.Int32FromInt32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = yyLookaheadToken.Fz - goto _342 + goto _346 _41: ; /* scantok ::= */ _ = libc.Int32FromInt32(0) *(*TToken)(unsafe.Pointer(yymsp + 1*12 + 4)) = yyLookaheadToken - goto _342 + goto _346 _43: ; /* ccons ::= CONSTRAINT nm */ _42: ; (*TParse)(unsafe.Pointer(pParse)).FconstraintName = *(*TToken)(unsafe.Pointer(yymsp + 4)) - goto _342 + goto _346 _44: ; /* ccons ::= DEFAULT scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)))) - goto _342 + goto _346 _45: ; /* ccons ::= DEFAULT LP expr RP */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))+uintptr(1), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _46: ; /* ccons ::= DEFAULT PLUS scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)))) - goto _342 + goto _346 _47: ; /* ccons ::= DEFAULT MINUS scantok term */ p = _sqlite3PExpr(tls, pParse, int32(TK_UMINUS), *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0)) _sqlite3AddDefaultValue(tls, pParse, p, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)))) - goto _342 + goto _346 _48: ; /* ccons ::= DEFAULT scantok ID|INDEXED */ p1 = _tokenExpr(tls, pParse, int32(TK_STRING), *(*TToken)(unsafe.Pointer(yymsp + 4))) @@ -160840,99 +162331,99 @@ _48: _sqlite3ExprIdToTrueFalse(tls, p1) } _sqlite3AddDefaultValue(tls, pParse, p1, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 4 + 4)))) - goto _342 + goto _346 _49: ; /* ccons ::= NOT NULL onconf */ _sqlite3AddNotNull(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _50: ; /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ _sqlite3AddPrimaryKey(tls, pParse, uintptr(0), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) - goto _342 + goto _346 _51: ; /* ccons ::= UNIQUE onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), *(*int32)(unsafe.Pointer(yymsp + 4)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _52: ; /* ccons ::= CHECK LP expr RP */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _53: ; /* ccons ::= REFERENCES nm eidlist_opt refargs */ _sqlite3CreateForeignKey(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _54: ; /* ccons ::= defer_subclause */ _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _55: ; /* ccons ::= COLLATE ID|STRING */ _sqlite3AddCollateType(tls, pParse, yymsp+4) - goto _342 + goto _346 _56: ; /* generated ::= LP expr RP */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uintptr(0)) - goto _342 + goto _346 _57: ; /* generated ::= LP expr RP ID */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), yymsp+4) - goto _342 + goto _346 _58: ; /* autoinc ::= AUTOINCR */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(1) - goto _342 + goto _346 _59: ; /* refargs ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*12 + 4)) = libc.Int32FromInt32(OE_None) * libc.Int32FromInt32(0x0101) /* EV: R-19803-45884 */ - goto _342 + goto _346 _60: ; /* refargs ::= refargs refarg */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) & ^*(*int32)(unsafe.Pointer(yymsp + 4 + 4)) | *(*int32)(unsafe.Pointer(yymsp + 4)) - goto _342 + goto _346 _61: ; /* refarg ::= MATCH nm */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) = 0x000000 - goto _342 + goto _346 _62: ; /* refarg ::= ON INSERT refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4 + 4)) = 0x000000 - goto _342 + goto _346 _63: ; /* refarg ::= ON DELETE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*int32)(unsafe.Pointer(yymsp + 4)) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4 + 4)) = int32(0x0000ff) - goto _342 + goto _346 _64: ; /* refarg ::= ON UPDATE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*int32)(unsafe.Pointer(yymsp + 4)) << int32(8) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4 + 4)) = int32(0x00ff00) - goto _342 + goto _346 _65: ; /* refact ::= SET NULL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = int32(OE_SetNull) /* EV: R-33326-45252 */ - goto _342 + goto _346 _66: ; /* refact ::= SET DEFAULT */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = int32(OE_SetDflt) /* EV: R-33326-45252 */ - goto _342 + goto _346 _67: ; /* refact ::= CASCADE */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(OE_Cascade) /* EV: R-33326-45252 */ - goto _342 + goto _346 _68: ; /* refact ::= RESTRICT */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(OE_Restrict) /* EV: R-33326-45252 */ - goto _342 + goto _346 _69: ; /* refact ::= NO ACTION */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = OE_None /* EV: R-33326-45252 */ - goto _342 + goto _346 _70: ; /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = 0 - goto _342 + goto _346 _72: ; /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ _71: @@ -160940,7 +162431,7 @@ _71: _73: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*int32)(unsafe.Pointer(yymsp + 4)) - goto _342 + goto _346 _75: ; /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ _74: @@ -160952,64 +162443,64 @@ _77: _78: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = int32(1) - goto _342 + goto _346 _79: ; /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = 0 - goto _342 + goto _346 _80: ; /* tconscomma ::= COMMA */ (*TParse)(unsafe.Pointer(pParse)).FconstraintName.Fn = uint32(0) - goto _342 + goto _346 _81: ; /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ _sqlite3AddPrimaryKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), 0) - goto _342 + goto _346 _82: ; /* tcons ::= UNIQUE LP sortlist RP onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _83: ; /* tcons ::= CHECK LP expr RP onconf */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 + goto _346 _84: ; /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ _sqlite3CreateForeignKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _86: ; /* onconf ::= */ _85: ; *(*int32)(unsafe.Pointer(yymsp + 1*12 + 4)) = int32(OE_Default) - goto _342 + goto _346 _87: ; /* onconf ::= ON CONFLICT resolvetype */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*int32)(unsafe.Pointer(yymsp + 4)) - goto _342 + goto _346 _88: ; /* resolvetype ::= IGNORE */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(OE_Ignore) - goto _342 + goto _346 _90: ; /* resolvetype ::= REPLACE */ _89: ; *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(OE_Replace) - goto _342 + goto _346 _91: ; /* cmd ::= DROP TABLE ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 + goto _346 _92: ; /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ _sqlite3CreateView(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(8))*12+4, yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4))) - goto _342 + goto _346 _93: ; /* cmd ::= DROP VIEW ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), int32(1), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 + goto _346 _94: ; /* cmd ::= select */ *(*TSelectDest)(unsafe.Pointer(bp + 8)) = TSelectDest{ @@ -161017,22 +162508,22 @@ _94: } _sqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), bp+8) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _95: ; /* select ::= WITH wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 + goto _346 _96: ; /* select ::= WITH RECURSIVE wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 + goto _346 _97: ; /* select ::= selectnowith */ p2 = *(*uintptr)(unsafe.Pointer(yymsp + 4)) if p2 != 0 { _parserDoubleLinkSelect(tls, pParse, p2) } - goto _342 + goto _346 _98: ; /* selectnowith ::= selectnowith multiselect_op oneselect */ pRhs = *(*uintptr)(unsafe.Pointer(yymsp + 4)) @@ -161057,21 +162548,21 @@ _98: _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pLhs) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = pRhs - goto _342 + goto _346 _100: ; /* multiselect_op ::= UNION */ _99: ; *(*int32)(unsafe.Pointer(yymsp + 4)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-OP*/ - goto _342 + goto _346 _101: ; /* multiselect_op ::= UNION ALL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = int32(TK_ALL) - goto _342 + goto _346 _102: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4))), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 + goto _346 _103: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(9))*12 + 4)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4))), *(*uintptr)(unsafe.Pointer(yymsp + 4))) @@ -161080,116 +162571,111 @@ _103: } else { _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) } - goto _342 + goto _346 _104: ; /* values ::= VALUES LP nexprlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) - goto _342 + goto _346 _105: - ; /* values ::= values COMMA LP nexprlist RP */ - pLeft = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) - pRight = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(libc.Int32FromInt32(SF_Values)|libc.Int32FromInt32(SF_MultiValue)), uintptr(0)) - if pLeft != 0 { - *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) - } - if pRight != 0 { - (*TSelect)(unsafe.Pointer(pRight)).Fop = uint8(TK_ALL) - (*TSelect)(unsafe.Pointer(pRight)).FpPrior = pLeft - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = pRight - } else { - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = pLeft - } - goto _342 + ; /* oneselect ::= mvalues */ + _sqlite3MultiValuesEnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4))) + goto _346 +_107: + ; /* mvalues ::= values COMMA LP nexprlist RP */ _106: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3MultiValues(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) + goto _346 +_108: ; /* distinct ::= DISTINCT */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(SF_Distinct) - goto _342 -_107: + goto _346 +_109: ; /* distinct ::= ALL */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(SF_All) - goto _342 -_109: + goto _346 +_111: ; /* sclp ::= */ -_108: - ; _110: ; -_111: - ; _112: ; _113: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) - goto _342 _114: + ; +_115: + ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) + goto _346 +_116: ; /* selcollist ::= sclp scanpt expr scanpt as */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) if *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) > uint32(0) { _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), yymsp+4, int32(1)) } _sqlite3ExprListSetSpan(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 -_115: + goto _346 +_117: ; /* selcollist ::= sclp scanpt STAR */ p3 = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_ASTERISK), uintptr(0)) _sqlite3ExprSetErrorOffset(tls, p3, int32(*(*uintptr)(unsafe.Pointer(yymsp + 4)))-int32((*TParse)(unsafe.Pointer(pParse)).FzTail)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), p3) - goto _342 -_116: + goto _346 +_118: ; /* selcollist ::= sclp scanpt nm DOT STAR */ - pRight1 = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) - _sqlite3ExprSetErrorOffset(tls, pRight1, int32(*(*uintptr)(unsafe.Pointer(yymsp + 4)))-int32((*TParse)(unsafe.Pointer(pParse)).FzTail)) - pLeft1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) - pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft1, pRight1) + pRight = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) + _sqlite3ExprSetErrorOffset(tls, pRight, int32(*(*uintptr)(unsafe.Pointer(yymsp + 4)))-int32((*TParse)(unsafe.Pointer(pParse)).FzTail)) + pLeft = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) + pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft, pRight) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), pDot) - goto _342 -_118: + goto _346 +_120: ; /* as ::= AS nm */ -_117: - ; _119: ; -_120: +_121: ; - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*TToken)(unsafe.Pointer(yymsp + 4)) - goto _342 _122: + ; + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*TToken)(unsafe.Pointer(yymsp + 4)) + goto _346 +_124: ; /* from ::= */ -_121: +_123: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) - goto _342 -_123: + goto _346 +_125: ; /* from ::= FROM seltablist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) _sqlite3SrcListShiftJoinType(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 -_124: + goto _346 +_126: ; /* stl_prefix ::= seltablist joinop */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) != 0 && (*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))).FnSrc > 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) + 8 + uintptr((*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))).FnSrc-int32(1))*72))).Ffg.Fjointype = uint8(*(*int32)(unsafe.Pointer(yymsp + 4))) } - goto _342 -_125: + goto _346 +_127: ; /* seltablist ::= stl_prefix nm dbnm as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, uintptr(0), yymsp+4) - goto _342 -_126: + goto _346 +_128: ; /* seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, uintptr(0), yymsp+4) _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(1))*12+4) - goto _342 -_127: + goto _346 +_129: ; /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(6))*12+4, yymsp+uintptr(-libc.Int32FromInt32(5))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, uintptr(0), yymsp+4) _sqlite3SrcListFuncArgs(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4))) - goto _342 -_128: + goto _346 +_130: ; /* seltablist ::= stl_prefix LP select RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), yymsp+4) - goto _342 -_129: + goto _346 +_131: ; /* seltablist ::= stl_prefix LP seltablist RP as on_using */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) == uintptr(0) && *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) == uint32(0) && *(*uintptr)(unsafe.Pointer(yymsp + 4)) == uintptr(0) && *(*uintptr)(unsafe.Pointer(yymsp + 4 + 4)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) @@ -161211,9 +162697,9 @@ _129: libc.SetBitFieldPtr16Uint32(pOld+36+4, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pNew+36+4, libc.Uint32FromInt32(1), 2, 0x4) } - v343 = libc.UintptrFromInt32(0) - (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v343 - (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v343 + v347 = libc.UintptrFromInt32(0) + (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v347 + (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v347 (*TSrcItem)(unsafe.Pointer(pOld)).FpSelect = uintptr(0) } _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4))) @@ -161223,189 +162709,189 @@ _129: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, pSubquery, yymsp+4) } } - goto _342 -_131: + goto _346 +_133: ; /* dbnm ::= */ -_130: +_132: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + 1*12 + 4 + 4)) = uint32(0) - goto _342 -_132: + goto _346 +_134: ; /* fullname ::= nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+4, uintptr(0)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+4) } *(*uintptr)(unsafe.Pointer(yymsp + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_133: + goto _346 +_135: ; /* fullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+4) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+4) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_134: + goto _346 +_136: ; /* xfullname ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 4)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+4, uintptr(0)) /*A-overwrites-X*/ - goto _342 -_135: + goto _346 +_137: ; /* xfullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+4) /*A-overwrites-X*/ - goto _342 -_136: + goto _346 +_138: ; /* xfullname ::= nm DOT nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+4) } - goto _342 -_137: + goto _346 +_139: ; /* xfullname ::= nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, uintptr(0)) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+4) } - goto _342 -_138: + goto _346 +_140: ; /* joinop ::= COMMA|JOIN */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(JT_INNER) - goto _342 -_139: + goto _346 +_141: ; /* joinop ::= JOIN_KW JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, uintptr(0), uintptr(0)) /*X-overwrites-A*/ - goto _342 -_140: + goto _346 +_142: ; /* joinop ::= JOIN_KW nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, uintptr(0)) /*X-overwrites-A*/ - goto _342 -_141: + goto _346 +_143: ; /* joinop ::= JOIN_KW nm nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4) /*X-overwrites-A*/ - goto _342 -_142: + goto _346 +_144: ; /* on_using ::= ON expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) = uintptr(0) - goto _342 -_143: + goto _346 +_145: ; /* on_using ::= USING LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) - goto _342 -_144: + goto _346 +_146: ; /* on_using ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4 + 4)) = uintptr(0) - goto _342 -_145: + goto _346 +_147: ; /* indexed_by ::= INDEXED BY nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*TToken)(unsafe.Pointer(yymsp + 4)) - goto _342 -_146: + goto _346 +_148: ; /* indexed_by ::= NOT INDEXED */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) = uint32(1) - goto _342 -_148: + goto _346 +_150: ; /* orderby_opt ::= ORDER BY sortlist */ -_147: +_149: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) - goto _342 -_149: + goto _346 +_151: ; /* sortlist ::= sortlist COMMA expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4))) - goto _342 -_150: + goto _346 +_152: ; /* sortlist ::= expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) /*A-overwrites-Y*/ _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4))) - goto _342 -_151: + goto _346 +_153: ; /* sortorder ::= ASC */ *(*int32)(unsafe.Pointer(yymsp + 4)) = SQLITE_SO_ASC - goto _342 -_152: + goto _346 +_154: ; /* sortorder ::= DESC */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(SQLITE_SO_DESC) - goto _342 -_154: + goto _346 +_156: ; /* sortorder ::= */ -_153: +_155: ; *(*int32)(unsafe.Pointer(yymsp + 1*12 + 4)) = -int32(1) - goto _342 -_155: + goto _346 +_157: ; /* nulls ::= NULLS FIRST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = SQLITE_SO_ASC - goto _342 -_156: + goto _346 +_158: ; /* nulls ::= NULLS LAST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = int32(SQLITE_SO_DESC) - goto _342 -_158: + goto _346 +_160: ; /* having_opt ::= */ -_157: - ; _159: ; -_160: - ; _161: ; _162: ; _163: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) - goto _342 -_165: - ; /* having_opt ::= HAVING expr */ _164: ; -_166: +_165: ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) + goto _346 _167: + ; /* having_opt ::= HAVING expr */ +_166: ; _168: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) - goto _342 _169: + ; +_170: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) + goto _346 +_171: ; /* limit_opt ::= LIMIT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0)) - goto _342 -_170: + goto _346 +_172: ; /* limit_opt ::= LIMIT expr OFFSET expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_171: + goto _346 +_173: ; /* limit_opt ::= LIMIT expr COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) - goto _342 -_172: + goto _346 +_174: ; /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(1))*12+4) _sqlite3DeleteFrom(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0), uintptr(0)) - goto _342 -_173: + goto _346 +_175: ; /* where_opt_ret ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = uintptr(0) - goto _342 -_174: + goto _346 +_176: ; /* where_opt_ret ::= WHERE expr RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) - goto _342 -_175: + goto _346 +_177: ; /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4) - _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), __ccgo_ts+23385) + _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), __ccgo_ts+23508) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) != 0 { pFromClause = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) if (*TSrcList)(unsafe.Pointer(pFromClause)).FnSrc > int32(1) { @@ -161417,95 +162903,95 @@ _175: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), pFromClause) } _sqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_176: + goto _346 +_178: ; /* setlist ::= setlist COMMA nm EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, int32(1)) - goto _342 -_177: + goto _346 +_179: ; /* setlist ::= setlist COMMA LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)) = _sqlite3ExprListAppendVector(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_178: + goto _346 +_180: ; /* setlist ::= nm EQ expr */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, int32(1)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_179: + goto _346 +_181: ; /* setlist ::= LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3ExprListAppendVector(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_180: + goto _346 +_182: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_181: + goto _346 +_183: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)), uintptr(0)) - goto _342 -_182: + goto _346 +_184: ; /* upsert ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) - goto _342 -_183: + goto _346 +_185: ; /* upsert ::= RETURNING selcollist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = uintptr(0) _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_184: + goto _346 +_186: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(11))*12 + 4)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_185: + goto _346 +_187: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_186: + goto _346 +_188: ; /* upsert ::= ON CONFLICT DO NOTHING returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_187: + goto _346 +_189: ; /* upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uintptr(0)) - goto _342 -_188: + goto _346 +_190: ; /* returning ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_189: + goto _346 +_191: ; /* idlist_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) - goto _342 -_190: + goto _346 +_192: ; /* idlist_opt ::= LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) - goto _342 -_191: + goto _346 +_193: ; /* idlist ::= idlist COMMA nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3IdListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), yymsp+4) - goto _342 -_192: + goto _346 +_194: ; /* idlist ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 4)) = _sqlite3IdListAppend(tls, pParse, uintptr(0), yymsp+4) /*A-overwrites-Y*/ - goto _342 -_193: + goto _346 +_195: ; /* expr ::= LP expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) - goto _342 -_194: + goto _346 +_196: ; /* expr ::= ID|INDEXED|JOIN_KW */ *(*uintptr)(unsafe.Pointer(yymsp + 4)) = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 4))) /*A-overwrites-X*/ - goto _342 -_195: + goto _346 +_197: ; /* expr ::= nm DOT nm */ temp1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) temp2 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp1, temp2) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_196: + goto _346 +_198: ; /* expr ::= nm DOT nm DOT nm */ temp11 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4))) temp21 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) @@ -161516,22 +163002,22 @@ _196: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp11, temp4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_198: + goto _346 +_200: ; /* term ::= NULL|FLOAT|BLOB */ -_197: +_199: ; *(*uintptr)(unsafe.Pointer(yymsp + 4)) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 4))) /*A-overwrites-X*/ - goto _342 -_199: + goto _346 +_201: ; /* term ::= INTEGER */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), yymsp+4, int32(1)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 36)) = int32(*(*uintptr)(unsafe.Pointer(yymsp + 4))) - int32((*TParse)(unsafe.Pointer(pParse)).FzTail) } *(*uintptr)(unsafe.Pointer(yymsp + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_200: + goto _346 +_202: ; /* expr ::= VARIABLE */ if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 4))))) == int32('#') && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 4)) + 1))])&int32(0x04) != 0) { n = *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) @@ -161544,7 +163030,7 @@ _200: *(*TToken)(unsafe.Pointer(bp + 56)) = *(*TToken)(unsafe.Pointer(yymsp + 4)) /*A-overwrites-X*/ _ = libc.Int32FromInt32(0) if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23394, libc.VaList(bp+80, bp+56)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23517, libc.VaList(bp+80, bp+56)) *(*uintptr)(unsafe.Pointer(yymsp + 4)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_REGISTER), uintptr(0), uintptr(0)) @@ -161553,57 +163039,57 @@ _200: } } } - goto _342 -_201: + goto _346 +_203: ; /* expr ::= expr COLLATE ID|STRING */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3ExprAddCollateToken(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), yymsp+4, int32(1)) - goto _342 -_202: + goto _346 +_204: ; /* expr ::= CAST LP expr AS typetoken RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_CAST), yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, int32(1)) _sqlite3ExprAttachSubtrees(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), uintptr(0)) - goto _342 -_203: + goto _346 +_205: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_204: + goto _346 +_206: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(7))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_205: + goto _346 +_207: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_206: + goto _346 +_208: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(5))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_207: + goto _346 +_209: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(8))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_208: + goto _346 +_210: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, 0) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_209: + goto _346 +_211: ; /* term ::= CTIME_KW */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+4, 0) *(*uintptr)(unsafe.Pointer(yymsp + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_210: + goto _346 +_212: ; /* expr ::= LP nexprlist COMMA expr RP */ pList = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_VECTOR), uintptr(0), uintptr(0)) @@ -161615,33 +163101,33 @@ _210: } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pList) } - goto _342 -_211: + goto _346 +_213: ; /* expr ::= expr AND expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3ExprAnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_213: + goto _346 +_215: ; /* expr ::= expr OR expr */ -_212: - ; _214: ; -_215: - ; _216: ; _217: ; _218: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 _219: + ; +_220: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) + goto _346 +_221: ; /* likeop ::= NOT LIKE_KW|MATCH */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*TToken)(unsafe.Pointer(yymsp + 4)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) |= uint32(0x80000000) /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/ - goto _342 -_220: + goto _346 +_222: ; /* expr ::= expr likeop expr */ bNot = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) &= uint32(0x7fffffff) @@ -161654,8 +163140,8 @@ _220: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_221: + goto _346 +_223: ; /* expr ::= expr likeop expr ESCAPE expr */ bNot1 = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4 + 4)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4 + 4)) &= uint32(0x7fffffff) @@ -161669,65 +163155,69 @@ _221: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_222: + goto _346 +_224: ; /* expr ::= expr ISNULL|NOTNULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uintptr(0)) - goto _342 -_223: + goto _346 +_225: ; /* expr ::= expr NOT NULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_NOTNULL), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), uintptr(0)) - goto _342 -_224: + goto _346 +_226: ; /* expr ::= expr IS expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), int32(TK_ISNULL)) - goto _342 -_225: + goto _346 +_227: ; /* expr ::= expr IS NOT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), int32(TK_NOTNULL)) - goto _342 -_226: + goto _346 +_228: ; /* expr ::= expr IS NOT DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), int32(TK_ISNULL)) - goto _342 -_227: + goto _346 +_229: ; /* expr ::= expr IS DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), int32(TK_NOTNULL)) - goto _342 -_229: + goto _346 +_231: ; /* expr ::= NOT expr */ -_228: +_230: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0)) /*A-overwrites-B*/ - goto _342 -_230: + goto _346 +_232: ; /* expr ::= PLUS|MINUS expr */ - if int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor) == int32(TK_PLUS) { - v344 = int32(TK_UPLUS) + p4 = *(*uintptr)(unsafe.Pointer(yymsp + 4)) + op = uint8(int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor) + (libc.Int32FromInt32(TK_UPLUS) - libc.Int32FromInt32(TK_PLUS))) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if p4 != 0 && int32((*TExpr)(unsafe.Pointer(p4)).Fop) == int32(TK_UPLUS) { + (*TExpr)(unsafe.Pointer(p4)).Fop = op + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = p4 } else { - v344 = int32(TK_UMINUS) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(op), p4, uintptr(0)) + /*A-overwrites-B*/ } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = _sqlite3PExpr(tls, pParse, v344, *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0)) - /*A-overwrites-B*/ - goto _342 -_231: + goto _346 +_233: ; /* expr ::= expr PTR expr */ pList3 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) pList3 = _sqlite3ExprListAppend(tls, pParse, pList3, *(*uintptr)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, pList3, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_233: + goto _346 +_235: ; /* between_op ::= BETWEEN */ -_232: +_234: ; *(*int32)(unsafe.Pointer(yymsp + 4)) = 0 - goto _342 -_234: + goto _346 +_236: ; /* expr ::= expr between_op expr AND expr */ pList4 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) pList4 = _sqlite3ExprListAppend(tls, pParse, pList4, *(*uintptr)(unsafe.Pointer(yymsp + 4))) @@ -161740,8 +163230,8 @@ _234: if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uintptr(0)) } - goto _342 -_235: + goto _346 +_237: ; /* expr ::= expr in_op LP exprlist RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) == uintptr(0) { /* Expressions of the form @@ -161754,17 +163244,17 @@ _235: */ _sqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) != 0 { - v345 = __ccgo_ts + 7886 + v348 = __ccgo_ts + 8011 } else { - v345 = __ccgo_ts + 7891 + v348 = __ccgo_ts + 8016 } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v345) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v348) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) != 0 { _sqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4))) } } else { pRHS = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) + 8))).FpExpr - if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)))).Fop) != int32(TK_VECTOR) { + if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pParse, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)))).Fop) != int32(TK_VECTOR) { (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) + 8))).FpExpr = uintptr(0) _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) pRHS = _sqlite3PExpr(tls, pParse, int32(TK_UPLUS), pRHS, uintptr(0)) @@ -161798,463 +163288,467 @@ _235: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uintptr(0)) } } - goto _342 -_236: + goto _346 +_238: ; /* expr ::= LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_SELECT), uintptr(0), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 -_237: + goto _346 +_239: ; /* expr ::= expr in_op LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uintptr(0)) } - goto _342 -_238: + goto _346 +_240: ; /* expr ::= expr in_op nm dbnm paren_exprlist */ pSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4) pSelect = _sqlite3SelectNew(tls, pParse, uintptr(0), pSrc, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 4)) != 0 { if pSelect != 0 { - v346 = pSrc + v349 = pSrc } else { - v346 = uintptr(0) + v349 = uintptr(0) } - _sqlite3SrcListFuncArgs(tls, pParse, v346, *(*uintptr)(unsafe.Pointer(yymsp + 4))) + _sqlite3SrcListFuncArgs(tls, pParse, v349, *(*uintptr)(unsafe.Pointer(yymsp + 4))) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), pSelect) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uintptr(0)) } - goto _342 -_239: + goto _346 +_241: ; /* expr ::= EXISTS LP select RP */ - v347 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = v347 - p4 = v347 - _sqlite3PExprAddSelect(tls, pParse, p4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 -_240: + v350 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = v350 + p5 = v350 + _sqlite3PExprAddSelect(tls, pParse, p5, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) + goto _346 +_242: ; /* expr ::= CASE case_operand case_exprlist case_else END */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_CASE), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) != 0 { if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) != 0 { - v348 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) + v351 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) } else { - v348 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) + v351 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) } - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) + 20)) = v348 + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) + 20)) = v351 _sqlite3ExprSetHeightAndFlags(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4))) } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) } - goto _342 -_241: + goto _346 +_243: ; /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_242: + goto _346 +_244: ; /* case_exprlist ::= WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_243: + goto _346 +_245: ; /* nexprlist ::= nexprlist COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_244: + goto _346 +_246: ; /* nexprlist ::= expr */ *(*uintptr)(unsafe.Pointer(yymsp + 4)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 4))) /*A-overwrites-Y*/ - goto _342 -_246: + goto _346 +_248: ; /* paren_exprlist ::= LP exprlist RP */ -_245: +_247: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) - goto _342 -_247: + goto _346 +_249: ; /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ _sqlite3CreateIndex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*12+4, yymsp+uintptr(-libc.Int32FromInt32(6))*12+4, _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, uintptr(0)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(11))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + 4)), SQLITE_SO_ASC, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)), uint8(SQLITE_IDXTYPE_APPDEF)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && (*TParse)(unsafe.Pointer(pParse)).FpNewIndex != 0 { _sqlite3RenameTokenMap(tls, pParse, (*TIndex)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpNewIndex)).FzName, yymsp+uintptr(-libc.Int32FromInt32(4))*12+4) } - goto _342 -_249: + goto _346 +_251: ; /* uniqueflag ::= UNIQUE */ -_248: +_250: ; *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(OE_Abort) - goto _342 -_250: + goto _346 +_252: ; /* uniqueflag ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*12 + 4)) = OE_None - goto _342 -_251: + goto _346 +_253: ; /* eidlist ::= eidlist COMMA nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4))) - goto _342 -_252: + goto _346 +_254: ; /* eidlist ::= nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + 4))) /*A-overwrites-Y*/ - goto _342 -_253: + goto _346 +_255: ; /* cmd ::= DROP INDEX ifexists fullname */ _sqlite3DropIndex(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 -_254: + goto _346 +_256: ; /* cmd ::= VACUUM vinto */ _sqlite3Vacuum(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_255: + goto _346 +_257: ; /* cmd ::= VACUUM nm vinto */ _sqlite3Vacuum(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_256: + goto _346 +_258: ; /* cmd ::= PRAGMA nm dbnm */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, yymsp+4, uintptr(0), 0) - goto _342 -_257: + goto _346 +_259: ; /* cmd ::= PRAGMA nm dbnm EQ nmnum */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+4, 0) - goto _342 -_258: + goto _346 +_260: ; /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, 0) - goto _342 -_259: + goto _346 +_261: ; /* cmd ::= PRAGMA nm dbnm EQ minus_num */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+4, int32(1)) - goto _342 -_260: + goto _346 +_262: ; /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, int32(1)) - goto _342 -_261: + goto _346 +_263: ; /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ (*(*TToken)(unsafe.Pointer(bp + 64))).Fz = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) (*(*TToken)(unsafe.Pointer(bp + 64))).Fn = uint32(int32(*(*uintptr)(unsafe.Pointer(yymsp + 4)))-int32(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)))) + *(*uint32)(unsafe.Pointer(yymsp + 4 + 4)) _sqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), bp+64) - goto _342 -_262: + goto _346 +_264: ; /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ _sqlite3BeginTrigger(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*12+4, yymsp+uintptr(-libc.Int32FromInt32(6))*12+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4))) if *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4 + 4)) == uint32(0) { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)) } else { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4)) } - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*12 + 4)) = v349 /*A-overwrites-T*/ - goto _342 -_263: + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*12 + 4)) = v352 /*A-overwrites-T*/ + goto _346 +_265: ; /* trigger_time ::= BEFORE|AFTER */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_264: + goto _346 +_266: ; /* trigger_time ::= INSTEAD OF */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = int32(TK_INSTEAD) - goto _342 -_265: + goto _346 +_267: ; /* trigger_time ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*12 + 4)) = int32(TK_BEFORE) - goto _342 -_267: + goto _346 +_269: ; /* trigger_event ::= DELETE|INSERT */ -_266: +_268: ; *(*int32)(unsafe.Pointer(yymsp + 4)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ *(*uintptr)(unsafe.Pointer(yymsp + 4 + 4)) = uintptr(0) - goto _342 -_268: + goto _346 +_270: ; /* trigger_event ::= UPDATE OF idlist */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = int32(TK_UPDATE) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) - goto _342 -_270: + goto _346 +_272: ; /* when_clause ::= */ -_269: +_271: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = uintptr(0) - goto _342 -_272: + goto _346 +_274: ; /* when_clause ::= WHEN expr */ -_271: +_273: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) - goto _342 -_273: + goto _346 +_275: ; /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ _ = libc.Int32FromInt32(0) (*TTriggerStep)(unsafe.Pointer((*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)))).FpLast)).FpNext = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) - goto _342 -_274: + goto _346 +_276: ; /* trigger_cmd_list ::= trigger_cmd SEMI */ _ = libc.Int32FromInt32(0) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) - goto _342 -_275: + goto _346 +_277: ; /* trnm ::= nm DOT nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*TToken)(unsafe.Pointer(yymsp + 4)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23418, 0) - goto _342 -_276: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23541, 0) + goto _346 +_278: ; /* tridxby ::= INDEXED BY nm */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23513, 0) - goto _342 -_277: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23636, 0) + goto _346 +_279: ; /* tridxby ::= NOT INDEXED */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23597, 0) - goto _342 -_278: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23720, 0) + goto _346 +_280: ; /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerUpdateStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(6))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_279: + goto _346 +_281: ; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) /*yylhsminor.yy33-overwrites-yymsp[-6].minor.yy394*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*12 + 4))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_280: + goto _346 +_282: ; /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerDeleteStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_281: + goto _346 +_283: ; /* trigger_cmd ::= scanpt select scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) /*yylhsminor.yy33-overwrites-yymsp[-1].minor.yy47*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) /*yylhsminor.yy427-overwrites-yymsp[-1].minor.yy555*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_282: + goto _346 +_284: ; /* expr ::= RAISE LP IGNORE RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3PExpr(tls, pParse, int32(TK_RAISE), uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)))).FaffExpr = uint8(OE_Ignore) } - goto _342 -_283: + goto _346 +_285: ; /* expr ::= RAISE LP raisetype COMMA nm RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_RAISE), yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, int32(1)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)))).FaffExpr = uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4))) } - goto _342 -_284: + goto _346 +_286: ; /* raisetype ::= ROLLBACK */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(OE_Rollback) - goto _342 -_285: + goto _346 +_287: ; /* raisetype ::= FAIL */ *(*int32)(unsafe.Pointer(yymsp + 4)) = int32(OE_Fail) - goto _342 -_286: + goto _346 +_288: ; /* cmd ::= DROP TRIGGER ifexists fullname */ _sqlite3DropTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4))) - goto _342 -_287: + goto _346 +_289: ; /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ _sqlite3Attach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_288: + goto _346 +_290: ; /* cmd ::= DETACH database_kw_opt expr */ _sqlite3Detach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_289: + goto _346 +_291: ; /* cmd ::= REINDEX */ _sqlite3Reindex(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_290: + goto _346 +_292: ; /* cmd ::= REINDEX nm dbnm */ _sqlite3Reindex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, yymsp+4) - goto _342 -_291: + goto _346 +_293: ; /* cmd ::= ANALYZE */ _sqlite3Analyze(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_292: + goto _346 +_294: ; /* cmd ::= ANALYZE nm dbnm */ _sqlite3Analyze(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4, yymsp+4) - goto _342 -_293: + goto _346 +_295: ; /* cmd ::= ALTER TABLE fullname RENAME TO nm */ _sqlite3AlterRenameTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), yymsp+4) - goto _342 -_294: + goto _346 +_296: ; /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)) = uint32(int32((*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fz)-int32(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))) + (*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fn _sqlite3AlterFinishAddColumn(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*12+4) - goto _342 -_295: + goto _346 +_297: ; /* cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ _sqlite3AlterDropColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), yymsp+4) - goto _342 -_296: + goto _346 +_298: ; /* add_column_fullname ::= fullname */ _disableLookaside(tls, pParse) _sqlite3AlterBeginAddColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_297: + goto _346 +_299: ; /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ _sqlite3AlterRenameColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+4) - goto _342 -_298: + goto _346 +_300: ; /* cmd ::= create_vtab */ _sqlite3VtabFinishParse(tls, pParse, uintptr(0)) - goto _342 -_299: + goto _346 +_301: ; /* cmd ::= create_vtab LP vtabarglist RP */ _sqlite3VtabFinishParse(tls, pParse, yymsp+4) - goto _342 -_300: + goto _346 +_302: ; /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ _sqlite3VtabBeginParse(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*12+4, yymsp+uintptr(-libc.Int32FromInt32(2))*12+4, yymsp+4, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4))) - goto _342 -_301: + goto _346 +_303: ; /* vtabarg ::= */ _sqlite3VtabArgInit(tls, pParse) - goto _342 -_303: + goto _346 +_305: ; /* vtabargtoken ::= ANY */ -_302: - ; _304: ; - _sqlite3VtabArgExtend(tls, pParse, yymsp+4) - goto _342 _306: + ; + _sqlite3VtabArgExtend(tls, pParse, yymsp+4) + goto _346 +_308: ; /* with ::= WITH wqlist */ -_305: +_307: ; _sqlite3WithPush(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), uint8(1)) - goto _342 -_307: + goto _346 +_309: ; /* wqas ::= AS */ *(*Tu8)(unsafe.Pointer(yymsp + 4)) = uint8(M10d_Any) - goto _342 -_308: + goto _346 +_310: ; /* wqas ::= AS MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = uint8(M10d_Yes) - goto _342 -_309: + goto _346 +_311: ; /* wqas ::= AS NOT MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = uint8(M10d_No) - goto _342 -_310: - ; /* wqitem ::= nm eidlist_opt wqas LP select RP */ + goto _346 +_312: + ; /* wqitem ::= withnm eidlist_opt wqas LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*12+4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4))) /*A-overwrites-X*/ - goto _342 -_311: + goto _346 +_313: + ; /* withnm ::= nm */ + (*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1) + goto _346 +_314: ; /* wqlist ::= wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + 4)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 4))) /*A-overwrites-X*/ - goto _342 -_312: + goto _346 +_315: ; /* wqlist ::= wqlist COMMA wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = _sqlite3WithAdd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + 4))) - goto _342 -_313: + goto _346 +_316: ; /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ _ = libc.Int32FromInt32(0) _sqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4))) (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 4)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_314: + goto _346 +_317: ; /* windowdefn ::= nm AS LP window RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)), uint64(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4 + 4)))) } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_315: + goto _346 +_318: ; /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uintptr(0)) - goto _342 -_316: + goto _346 +_319: ; /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(5))*12+4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_317: + goto _346 +_320: ; /* window ::= ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), uintptr(0)) - goto _342 -_318: + goto _346 +_321: ; /* window ::= nm ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), yymsp+uintptr(-libc.Int32FromInt32(4))*12+4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_319: + goto _346 +_322: ; /* window ::= nm frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 4)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*12+4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_320: + goto _346 +_323: ; /* frame_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*12 + 4)) = _sqlite3WindowAlloc(tls, pParse, 0, int32(TK_UNBOUNDED), uintptr(0), int32(TK_CURRENT), uintptr(0), uint8(0)) - goto _342 -_321: + goto _346 +_324: ; /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)), int32(TK_CURRENT), uintptr(0), *(*Tu8)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_322: + goto _346 +_325: ; /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4 + 4)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4 + 4)), *(*Tu8)(unsafe.Pointer(yymsp + 4))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_324: + goto _346 +_327: ; /* frame_bound_s ::= frame_bound */ -_323: +_326: ; *(*TFrameBound)(unsafe.Pointer(bp)) = *(*TFrameBound)(unsafe.Pointer(yymsp + 4)) *(*TFrameBound)(unsafe.Pointer(yymsp + 4)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_326: + goto _346 +_329: ; /* frame_bound_s ::= UNBOUNDED PRECEDING */ -_325: +_328: ; -_327: +_330: ; (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = uintptr(0) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_328: + goto _346 +_331: ; /* frame_bound ::= expr PRECEDING|FOLLOWING */ (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_329: + goto _346 +_332: ; /* frame_exclude_opt ::= */ *(*Tu8)(unsafe.Pointer(yymsp + 1*12 + 4)) = uint8(0) - goto _342 -_330: + goto _346 +_333: ; /* frame_exclude_opt ::= EXCLUDE frame_exclude */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*Tu8)(unsafe.Pointer(yymsp + 4)) - goto _342 -_332: + goto _346 +_335: ; /* frame_exclude ::= NO OTHERS */ -_331: +_334: ; *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12))).Fmajor) /*A-overwrites-X*/ - goto _342 -_333: + goto _346 +_336: ; /* frame_exclude ::= GROUP|TIES */ *(*Tu8)(unsafe.Pointer(yymsp + 4)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_334: + goto _346 +_337: ; /* window_clause ::= WINDOW windowdefn_list */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) - goto _342 -_335: + goto _346 +_338: ; /* filter_over ::= filter_clause over_clause */ if *(*uintptr)(unsafe.Pointer(yymsp + 4)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 4)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) @@ -162263,13 +163757,13 @@ _335: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_336: + goto _346 +_339: ; /* filter_over ::= over_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 4)) *(*uintptr)(unsafe.Pointer(yymsp + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_337: + goto _346 +_340: ; /* filter_over ::= filter_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(100)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { @@ -162279,24 +163773,30 @@ _337: _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 4))) } *(*uintptr)(unsafe.Pointer(yymsp + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_338: + goto _346 +_341: ; /* over_clause ::= OVER LP window RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) _ = libc.Int32FromInt32(0) - goto _342 -_339: + goto _346 +_342: ; /* over_clause ::= OVER nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(100)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 4)), uint64(*(*uint32)(unsafe.Pointer(yymsp + 4 + 4)))) } - goto _342 -_340: + goto _346 +_343: ; /* filter_clause ::= FILTER LP WHERE expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*12 + 4)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*12 + 4)) - goto _342 -_341: + goto _346 +_344: + ; /* term ::= QNUMBER */ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 4))) + _sqlite3DequoteNumber(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))) + *(*uintptr)(unsafe.Pointer(yymsp + 4)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + goto _346 +_345: ; _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -162313,9 +163813,9 @@ _341: _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - goto _342 + goto _346 /********** End reduce actions ************************************************/ -_342: +_346: ; _ = libc.Int32FromInt32(0) yygoto = int32(_yyRuleInfoLhs[yyruleno]) @@ -162352,9 +163852,9 @@ func _yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, _yyminor /************ Begin %syntax_error code ****************************************/ _ = yymajor /* Silence some compiler warnings */ if *(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp))).Fz)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23394, libc.VaList(bp+16, bp)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23517, libc.VaList(bp+16, bp)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23682, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23805, 0) } /************ End %syntax_error code ******************************************/ /* Suppress warning about unused %extra_argument variable */ @@ -162423,8 +163923,10 @@ func _sqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor TToken) { ** enough on the stack to push the LHS value */ if int32(_yyRuleInfoNRhs[yyruleno]) == 0 { if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos >= (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - _yyStackOverflow(tls, yypParser) - break + if _yyGrowStack(tls, yypParser) != 0 { + _yyStackOverflow(tls, yypParser) + break + } } } yyact = _yy_reduce(tls, yypParser, yyruleno, yymajor, yyminor, pParse) @@ -164576,9 +166078,9 @@ func _analyzeFilterKeyword(tls *libc.TLS, _z uintptr, lastToken int32) (r int32) // ** Store the token type in *tokenType before returning. // */ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { - var c, delim, i, n, v10, v14, v16, v19, v20, v3, v5, v7, v8 int32 - var v15, v6 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v14, v15, v16, v19, v20, v3, v5, v6, v7, v8 + var c, delim, i, n, v10, v16, v18, v21, v22, v3, v5, v7, v8 int32 + var v17, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v16, v17, v18, v21, v22, v3, v5, v6, v7, v8 switch int32(_aiClass[*(*uint8)(unsafe.Pointer(z))]) { /* Switch on the character-class of the first byte ** of the token. See the comment on the CC_ defines ** above. */ @@ -164774,39 +166276,83 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('X')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 2))])&int32(0x08) != 0 { i = int32(3) for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { + if !(int32(1) != 0) { break } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } goto _11 _11: ; i++ } - return i - } - i = 0 - for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _12 - _12: - ; - i++ - } - if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { - i++ - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + } else { + i = 0 + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _12 + _12: + ; i++ } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) - } - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { - i += int32(2) - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } i++ + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _13 + _13: + ; + i++ + } + } + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } + i += int32(2) + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _14 + _14: + ; + i++ + } } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) } for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x46) != 0 { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_ILLEGAL) @@ -164817,24 +166363,24 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { i = int32(1) c = int32(*(*uint8)(unsafe.Pointer(z))) for { - if v15 = c != int32(']'); v15 { - v14 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v14 + if v17 = c != int32(']'); v17 { + v16 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v16 } - if !(v15 && v14 != 0) { + if !(v17 && v16 != 0) { break } - goto _13 - _13: + goto _15 + _15: ; i++ } if c == int32(']') { - v16 = int32(TK_ID) + v18 = int32(TK_ID) } else { - v16 = int32(TK_ILLEGAL) + v18 = int32(TK_ILLEGAL) } - *(*int32)(unsafe.Pointer(tokenType)) = v16 + *(*int32)(unsafe.Pointer(tokenType)) = v18 return i case int32(CC_VARNUM): *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) @@ -164843,8 +166389,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { break } - goto _17 - _17: + goto _19 + _19: ; i++ } @@ -164856,9 +166402,9 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) i = int32(1) for { - v19 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v19 - if !(v19 != 0) { + v21 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v21 + if !(v21 != 0) { break } if int32(_sqlite3CtypeMap[uint8(c)])&int32(0x46) != 0 { @@ -164867,12 +166413,12 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if c == int32('(') && n > 0 { for { i++ - goto _21 - _21: + goto _23 + _23: ; - v20 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v20 - if !(v20 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { + v22 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v22 + if !(v22 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { break } } @@ -164890,8 +166436,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { } } } - goto _18 - _18: + goto _20 + _20: ; i++ } @@ -164909,8 +166455,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_aiClass[*(*uint8)(unsafe.Pointer(z + uintptr(i)))]) <= int32(CC_KYWD)) { break } - goto _22 - _22: + goto _24 + _24: ; i++ } @@ -164931,8 +166477,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { break } - goto _23 - _23: + goto _25 + _25: ; i++ } @@ -164978,13 +166524,13 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { // ** Run the parser on the given SQL string. // */ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { - bp := tls.Alloc(1248) - defer tls.Free(1248) + bp := tls.Alloc(1264) + defer tls.Free(1264) var db, pEngine, pParentParse uintptr var lastTokenParsed, mxSqlLen, n, nErr int32 var _ /* sEngine at bp+4 */ TyyParser var _ /* tokenType at bp+0 */ int32 - var _ /* x at bp+1216 */ TToken + var _ /* x at bp+1224 */ TToken _, _, _, _, _, _, _ = db, lastTokenParsed, mxSqlLen, n, nErr, pEngine, pParentParse nErr = 0 /* The LEMON-generated LALR(1) parser */ n = 0 /* type of the next token */ @@ -165051,10 +166597,12 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(bp)) = _analyzeFilterKeyword(tls, zSql+6, lastTokenParsed) } else { - (*(*TToken)(unsafe.Pointer(bp + 1216))).Fz = zSql - (*(*TToken)(unsafe.Pointer(bp + 1216))).Fn = uint32(n) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23699, libc.VaList(bp+1232, bp+1216)) - break + if *(*int32)(unsafe.Pointer(bp)) != int32(TK_QNUMBER) { + (*(*TToken)(unsafe.Pointer(bp + 1224))).Fz = zSql + (*(*TToken)(unsafe.Pointer(bp + 1224))).Fn = uint32(n) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23822, libc.VaList(bp+1240, bp+1224)) + break + } } } } @@ -165077,9 +166625,9 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { } if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg != 0 || (*TParse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK && (*TParse)(unsafe.Pointer(pParse)).Frc != int32(SQLITE_DONE) { if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) { - (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3795, libc.VaList(bp+1232, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) + (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3859, libc.VaList(bp+1240, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) } - Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23724, libc.VaList(bp+1232, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) + Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23847, libc.VaList(bp+1240, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) nErr++ } (*TParse)(unsafe.Pointer(pParse)).FzTail = zSql @@ -165272,7 +166820,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('c'): fallthrough case int32('C'): - if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23735, int32(6)) == 0 { + if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23858, int32(6)) == 0 { token = uint8(tkCREATE) } else { token = uint8(tkOTHER) @@ -165280,13 +166828,13 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('t'): fallthrough case int32('T'): - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20379, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20511, int32(7)) == 0 { token = uint8(tkTRIGGER) } else { - if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23742, int32(4)) == 0 { + if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23865, int32(4)) == 0 { token = uint8(tkTEMP) } else { - if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23747, int32(9)) == 0 { + if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23870, int32(9)) == 0 { token = uint8(tkTEMP) } else { token = uint8(tkOTHER) @@ -165296,10 +166844,10 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('e'): fallthrough case int32('E'): - if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23757, int32(3)) == 0 { + if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23880, int32(3)) == 0 { token = uint8(tkEND) } else { - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23761, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23884, int32(7)) == 0 { token = uint8(tkEXPLAIN) } else { token = uint8(tkOTHER) @@ -165741,7 +167289,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) { */ if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+208) != 0 { if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)<= 0 && rc < int32(libc.Uint32FromInt64(116)/libc.Uint32FromInt64(4)) && _aMsg[rc] != uintptr(0) { @@ -166891,31 +168439,31 @@ func _sqlite3ErrStr(tls *libc.TLS, rc int32) (r uintptr) { } var _aMsg = [29]uintptr{ - 0: __ccgo_ts + 23837, - 1: __ccgo_ts + 23850, - 3: __ccgo_ts + 23866, - 4: __ccgo_ts + 23891, - 5: __ccgo_ts + 23905, - 6: __ccgo_ts + 23924, - 7: __ccgo_ts + 1618, - 8: __ccgo_ts + 23949, - 9: __ccgo_ts + 23986, - 10: __ccgo_ts + 23998, - 11: __ccgo_ts + 24013, - 12: __ccgo_ts + 24046, - 13: __ccgo_ts + 24064, - 14: __ccgo_ts + 24089, - 15: __ccgo_ts + 24118, - 17: __ccgo_ts + 6021, - 18: __ccgo_ts + 5423, - 19: __ccgo_ts + 24135, - 20: __ccgo_ts + 24153, - 21: __ccgo_ts + 24171, - 23: __ccgo_ts + 24205, - 25: __ccgo_ts + 24226, - 26: __ccgo_ts + 24252, - 27: __ccgo_ts + 24275, - 28: __ccgo_ts + 24296, + 0: __ccgo_ts + 23960, + 1: __ccgo_ts + 23973, + 3: __ccgo_ts + 23989, + 4: __ccgo_ts + 24014, + 5: __ccgo_ts + 24028, + 6: __ccgo_ts + 24047, + 7: __ccgo_ts + 1632, + 8: __ccgo_ts + 24072, + 9: __ccgo_ts + 24109, + 10: __ccgo_ts + 24121, + 11: __ccgo_ts + 24136, + 12: __ccgo_ts + 24169, + 13: __ccgo_ts + 24187, + 14: __ccgo_ts + 24212, + 15: __ccgo_ts + 24241, + 17: __ccgo_ts + 6085, + 18: __ccgo_ts + 5487, + 19: __ccgo_ts + 24258, + 20: __ccgo_ts + 24276, + 21: __ccgo_ts + 24294, + 23: __ccgo_ts + 24328, + 25: __ccgo_ts + 24349, + 26: __ccgo_ts + 24375, + 27: __ccgo_ts + 24398, + 28: __ccgo_ts + 24419, } // C documentation @@ -167097,7 +168645,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) { - return _sqlite3MisuseError(tls, int32(180244)) + return _sqlite3MisuseError(tls, int32(181689)) } _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -167143,7 +168691,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i p = _sqlite3FindFunction(tls, db, zFunctionName, nArg, uint8(enc), uint8(0)) if p != 0 && (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) == uint32(enc) && int32((*TFuncDef)(unsafe.Pointer(p)).FnArg) == nArg { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24393, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24516, 0) _ = libc.Int32FromInt32(0) return int32(SQLITE_BUSY) } else { @@ -167273,7 +168821,7 @@ func _sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotU zName = Xsqlite3_user_data(tls, context) _ = NotUsed _ = NotUsed2 - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24456, libc.VaList(bp+8, zName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24579, libc.VaList(bp+8, zName)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -167304,7 +168852,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i if rc != 0 { return SQLITE_OK } - zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, zName)) + zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, zName)) if zCopy == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -167552,7 +169100,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) { /* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint ** mode: */ - return _sqlite3MisuseError(tls, int32(180859)) + return _sqlite3MisuseError(tls, int32(182304)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if zDb != 0 && *(*uint8)(unsafe.Pointer(zDb)) != 0 { @@ -167562,7 +169110,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in } if iDb < 0 { rc = int32(SQLITE_ERROR) - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24507, libc.VaList(bp+8, zDb)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24630, libc.VaList(bp+8, zDb)) } else { (*Tsqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = _sqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -167687,7 +169235,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) { return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM)) } if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(180995))) + return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(182440))) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -167820,7 +169368,7 @@ var _misuse = [34]Tu16{ // */ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181074)) + return _sqlite3MisuseError(tls, int32(182519)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -167830,7 +169378,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181083)) + return _sqlite3MisuseError(tls, int32(182528)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -167880,7 +169428,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui enc2 = int32(SQLITE_UTF16LE) } if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) { - return _sqlite3MisuseError(tls, int32(181131)) + return _sqlite3MisuseError(tls, int32(182576)) } /* Check if this call is removing or replacing an existing collation ** sequence. If so, and there are active VMs, return busy. If there @@ -167889,7 +169437,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui pColl = _sqlite3FindCollSeq(tls, db, uint8(enc2), zName, 0) if pColl != 0 && (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24528, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24651, 0) return int32(SQLITE_BUSY) } _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -168050,7 +169598,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u zVfs = zDefaultVfs nUri = _sqlite3Strlen30(tls, zUri) _ = libc.Int32FromInt32(0) - if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24596, uint32(5)) == 0 { /* Input character index */ + if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24719, uint32(5)) == 0 { /* Input character index */ iOut = 0 /* Output character index */ nByte = uint64(nUri + int32(8)) /* Bytes of space to allocate */ /* Make sure the SQLITE_OPEN_URI flag is set to indicate to the VFS xOpen @@ -168080,8 +169628,8 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u for *(*uint8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0 && int32(*(*uint8)(unsafe.Pointer(zUri + uintptr(iIn)))) != int32('/') { iIn++ } - if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24602, zUri+7, uint32(9)) != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24612, libc.VaList(bp+8, iIn-int32(7), zUri+7)) + if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24725, zUri+7, uint32(9)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24735, libc.VaList(bp+8, iIn-int32(7), zUri+7)) rc = int32(SQLITE_ERROR) goto parse_uri_out } @@ -168171,24 +169719,24 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u nOpt = _sqlite3Strlen30(tls, zOpt) zVal = zOpt + uintptr(nOpt+int32(1)) nVal = _sqlite3Strlen30(tls, zVal) - if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24640, zOpt, uint32(3)) == 0 { + if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24763, zOpt, uint32(3)) == 0 { zVfs = zVal } else { aMode = uintptr(0) zModeType = uintptr(0) mask = 0 limit = 0 - if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24644, zOpt, uint32(5)) == 0 { + if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24767, zOpt, uint32(5)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_SHAREDCACHE) | libc.Int32FromInt32(SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&_aCacheMode)) limit = mask - zModeType = __ccgo_ts + 24644 + zModeType = __ccgo_ts + 24767 } - if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24665, zOpt, uint32(4)) == 0 { + if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24788, zOpt, uint32(4)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_READONLY) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&_aOpenMode)) limit = int32(uint32(mask) & flags) - zModeType = __ccgo_ts + 3404 + zModeType = __ccgo_ts + 3468 } if aMode != 0 { mode = 0 @@ -168217,12 +169765,12 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u i++ } if mode == 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24680, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24803, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_ERROR) goto parse_uri_out } if mode & ^libc.Int32FromInt32(SQLITE_OPEN_MEMORY) > limit { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24700, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24823, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_PERM) goto parse_uri_out } @@ -168246,7 +169794,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u } *(*uintptr)(unsafe.Pointer(ppVfs)) = Xsqlite3_vfs_find(tls, zVfs) if *(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24724, libc.VaList(bp+8, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24847, libc.VaList(bp+8, zVfs)) rc = int32(SQLITE_ERROR) } goto parse_uri_out @@ -168266,11 +169814,11 @@ var _aCacheMode = [3]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24650, + Fz: __ccgo_ts + 24773, Fmode: int32(SQLITE_OPEN_SHAREDCACHE), }, 1: { - Fz: __ccgo_ts + 24657, + Fz: __ccgo_ts + 24780, Fmode: int32(SQLITE_OPEN_PRIVATECACHE), }, 2: {}, @@ -168281,19 +169829,19 @@ var _aOpenMode = [5]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24670, + Fz: __ccgo_ts + 24793, Fmode: int32(SQLITE_OPEN_READONLY), }, 1: { - Fz: __ccgo_ts + 24673, + Fz: __ccgo_ts + 24796, Fmode: int32(SQLITE_OPEN_READWRITE), }, 2: { - Fz: __ccgo_ts + 24676, + Fz: __ccgo_ts + 24799, Fmode: libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE), }, 3: { - Fz: __ccgo_ts + 17764, + Fz: __ccgo_ts + 17851, Fmode: int32(SQLITE_OPEN_MEMORY), }, 4: {}, @@ -168422,8 +169970,8 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16BE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+22351, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+24740, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+22496, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+24863, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto opendb_out } @@ -168447,7 +169995,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* READWRITE */ /* READWRITE | CREATE */ if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 { - rc = _sqlite3MisuseError(tls, int32(181803)) /* IMP: R-18321-05872 */ + rc = _sqlite3MisuseError(tls, int32(183248)) /* IMP: R-18321-05872 */ } else { rc = _sqlite3ParseUri(tls, zVfs, zFilename, bp, db, bp+4, bp+8) } @@ -168456,7 +170004,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _sqlite3OomFault(tls, db) } if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { - v2 = __ccgo_ts + 3795 + v2 = __ccgo_ts + 3859 } else { v2 = uintptr(0) } @@ -168484,9 +170032,9 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* The default safety_level for the main database is FULL; for the temp ** database it is OFF. This matches the pager layer defaults. */ - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6585 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6649 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).Fsafety_level = uint8(libc.Int32FromInt32(SQLITE_DEFAULT_SYNCHRONOUS) + libc.Int32FromInt32(1)) - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FzDbSName = __ccgo_ts + 23742 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).FzDbSName = __ccgo_ts + 23865 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*16))).Fsafety_level = uint8(PAGER_SYNCHRONOUS_OFF) (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState = uint8(SQLITE_STATE_OPEN) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -168582,7 +170130,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) { return rc } if zFilename == uintptr(0) { - zFilename = __ccgo_ts + 24746 + zFilename = __ccgo_ts + 24869 } pVal = _sqlite3ValueNew(tls, uintptr(0)) _sqlite3ValueSetStr(tls, pVal, -int32(1), zFilename, uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(0)) @@ -168803,20 +170351,20 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) (r int32) { func _sqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, __ccgo_ts+24749, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) + Xsqlite3_log(tls, iErr, __ccgo_ts+24872, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) return iErr } func _sqlite3CorruptError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24774) + return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24897) } func _sqlite3MisuseError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24794) + return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24917) } func _sqlite3CantopenError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24801) + return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24924) } // C documentation @@ -168947,11 +170495,11 @@ error_out: } if SQLITE_OK == rc && !(pTab != 0) { _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24818, libc.VaList(bp+16, zTableName, zColumnName)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24941, libc.VaList(bp+16, zTableName, zColumnName)) rc = int32(SQLITE_ERROR) } if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - v3 = __ccgo_ts + 3795 + v3 = __ccgo_ts + 3859 } else { v3 = uintptr(0) } @@ -169980,7 +171528,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) (r int32) { var _ /* nOpt at bp+0 */ int32 _, _, _ = azCompileOpt, i, n azCompileOpt = _sqlite3CompileOptions(tls, bp) - if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24846, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24969, int32(7)) == 0 { zOptName += uintptr(7) } n = _sqlite3Strlen30(tls, zOptName) @@ -170202,7 +171750,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui _leaveMutex(tls) _ = libc.Int32FromInt32(0) if rc != 0 { - v2 = __ccgo_ts + 24854 + v2 = __ccgo_ts + 24977 } else { v2 = uintptr(0) } @@ -171085,23 +172633,23 @@ func _sqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { // ** string must correspond to the JSONB_* integer above. // */ var _jsonbType = [17]uintptr{ - 0: __ccgo_ts + 1634, - 1: __ccgo_ts + 7886, - 2: __ccgo_ts + 7891, - 3: __ccgo_ts + 6306, - 4: __ccgo_ts + 6306, - 5: __ccgo_ts + 6301, - 6: __ccgo_ts + 6301, - 7: __ccgo_ts + 8197, - 8: __ccgo_ts + 8197, - 9: __ccgo_ts + 8197, - 10: __ccgo_ts + 8197, - 11: __ccgo_ts + 24877, - 12: __ccgo_ts + 24883, - 13: __ccgo_ts + 1648, - 14: __ccgo_ts + 1648, - 15: __ccgo_ts + 1648, - 16: __ccgo_ts + 1648, + 0: __ccgo_ts + 1648, + 1: __ccgo_ts + 8011, + 2: __ccgo_ts + 8016, + 3: __ccgo_ts + 6370, + 4: __ccgo_ts + 6370, + 5: __ccgo_ts + 6365, + 6: __ccgo_ts + 6365, + 7: __ccgo_ts + 8322, + 8: __ccgo_ts + 8322, + 9: __ccgo_ts + 8322, + 10: __ccgo_ts + 8322, + 11: __ccgo_ts + 25000, + 12: __ccgo_ts + 25006, + 13: __ccgo_ts + 1662, + 14: __ccgo_ts + 1662, + 15: __ccgo_ts + 1662, + 16: __ccgo_ts + 1662, } // C documentation @@ -171876,6 +173424,46 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { _jsonAppendChar(tls, p, uint8(',')) } +// C documentation +// +// /* c is a control character. Append the canonical JSON representation +// ** of that control character to p. +// ** +// ** This routine assumes that the output buffer has already been enlarged +// ** sufficiently to hold the worst-case encoding plus a nul terminator. +// */ +func _jsonAppendControlChar(tls *libc.TLS, p uintptr, c Tu8) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if _aSpecial[c] != 0 { + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = uint8('\\') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = _aSpecial[c] + *(*Tu64)(unsafe.Pointer(p + 16)) += uint64(2) + } else { + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = uint8('\\') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = uint8('u') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(2)))) = uint8('0') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(3)))) = uint8('0') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(4)))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 25013 + uintptr(int32(c)>>int32(4)))) + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(5)))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 25013 + uintptr(int32(c)&int32(0xf)))) + *(*Tu64)(unsafe.Pointer(p + 16)) += uint64(6) + } +} + +var _aSpecial = [32]uint8{ + 8: uint8('b'), + 9: uint8('t'), + 10: uint8('n'), + 12: uint8('f'), + 13: uint8('r'), +} + // C documentation // // /* Append the N-byte string in zIn to the end of the JsonString string @@ -171889,9 +173477,9 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { var c Tu8 var k Tu32 - var z, v10, v12, v14, v16, v18, v2, v20, v22, v24, v6, v8 uintptr - var v1, v11, v13, v15, v17, v19, v21, v23, v5, v7, v9 Tu64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v5, v6, v7, v8, v9 + var z, v10, v2, v4, v6, v8 uintptr + var v1, v3, v5, v7, v9 Tu64 + _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v2, v3, v4, v5, v6, v7, v8, v9 z = zIn if z == uintptr(0) { return @@ -171948,91 +173536,41 @@ func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { N -= k } c = *(*Tu8)(unsafe.Pointer(z)) - if !(int32(c) == int32('"') || int32(c) == int32('\\')) { - goto _3 - } - goto json_simple_escape - json_simple_escape: - ; - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { - return - } - v6 = p + 16 - v5 = *(*Tu64)(unsafe.Pointer(v6)) - *(*Tu64)(unsafe.Pointer(v6))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = uint8('\\') - v8 = p + 16 - v7 = *(*Tu64)(unsafe.Pointer(v8)) - *(*Tu64)(unsafe.Pointer(v8))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = c - goto _4 - _3: - ; - if int32(c) == int32('\'') { - v10 = p + 16 - v9 = *(*Tu64)(unsafe.Pointer(v10)) - *(*Tu64)(unsafe.Pointer(v10))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = c - } else { - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - if _aSpecial[c] != 0 { - c = _aSpecial[c] - goto json_simple_escape - } - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + if int32(c) == int32('"') || int32(c) == int32('\\') { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { return } - v12 = p + 16 - v11 = *(*Tu64)(unsafe.Pointer(v12)) - *(*Tu64)(unsafe.Pointer(v12))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v11))) = uint8('\\') - v14 = p + 16 - v13 = *(*Tu64)(unsafe.Pointer(v14)) - *(*Tu64)(unsafe.Pointer(v14))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v13))) = uint8('u') - v16 = p + 16 - v15 = *(*Tu64)(unsafe.Pointer(v16)) - *(*Tu64)(unsafe.Pointer(v16))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v15))) = uint8('0') - v18 = p + 16 - v17 = *(*Tu64)(unsafe.Pointer(v18)) - *(*Tu64)(unsafe.Pointer(v18))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v17))) = uint8('0') - v20 = p + 16 - v19 = *(*Tu64)(unsafe.Pointer(v20)) - *(*Tu64)(unsafe.Pointer(v20))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v19))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 24890 + uintptr(int32(c)>>int32(4)))) - v22 = p + 16 - v21 = *(*Tu64)(unsafe.Pointer(v22)) - *(*Tu64)(unsafe.Pointer(v22))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v21))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 24890 + uintptr(int32(c)&int32(0xf)))) + v4 = p + 16 + v3 = *(*Tu64)(unsafe.Pointer(v4)) + *(*Tu64)(unsafe.Pointer(v4))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v3))) = uint8('\\') + v6 = p + 16 + v5 = *(*Tu64)(unsafe.Pointer(v6)) + *(*Tu64)(unsafe.Pointer(v6))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = c + } else { + if int32(c) == int32('\'') { + v8 = p + 16 + v7 = *(*Tu64)(unsafe.Pointer(v8)) + *(*Tu64)(unsafe.Pointer(v8))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = c + } else { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + return + } + _jsonAppendControlChar(tls, p, c) + } } - _4: - ; z++ N-- } - v24 = p + 16 - v23 = *(*Tu64)(unsafe.Pointer(v24)) - *(*Tu64)(unsafe.Pointer(v24))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v23))) = uint8('"') + v10 = p + 16 + v9 = *(*Tu64)(unsafe.Pointer(v10)) + *(*Tu64)(unsafe.Pointer(v10))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = uint8('"') _ = libc.Int32FromInt32(0) } -var _aSpecial = [32]uint8{ - 8: uint8('b'), - 9: uint8('t'), - 10: uint8('n'), - 12: uint8('f'), - 13: uint8('r'), -} - // C documentation // // /* @@ -172048,9 +173586,9 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _, _, _, _ = n, n1, z, z1 switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_NULL): - _jsonAppendRawNZ(tls, p, __ccgo_ts+1634, uint32(4)) + _jsonAppendRawNZ(tls, p, __ccgo_ts+1648, uint32(4)) case int32(SQLITE_FLOAT): - _jsonPrintf(tls, int32(100), p, __ccgo_ts+15323, libc.VaList(bp+64, Xsqlite3_value_double(tls, pValue))) + _jsonPrintf(tls, int32(100), p, __ccgo_ts+15416, libc.VaList(bp+64, Xsqlite3_value_double(tls, pValue))) case int32(SQLITE_INTEGER): z = Xsqlite3_value_text(tls, pValue) n = uint32(Xsqlite3_value_bytes(tls, pValue)) @@ -172071,7 +173609,7 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _jsonTranslateBlobToText(tls, bp, uint32(0), p) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr) == 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24907, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25030, -int32(1)) (*TJsonString)(unsafe.Pointer(p)).FeErr = uint8(JSTRING_ERR) _jsonStringReset(tls, p) } @@ -172127,7 +173665,7 @@ func _jsonReturnString(tls *libc.TLS, p uintptr, pParse uintptr, ctx uintptr) { Xsqlite3_result_error_nomem(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr)&int32(JSTRING_MALFORMED) != 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25059, -int32(1)) } } } @@ -172411,8 +173949,8 @@ var _aNanInfName = [5]TNanInfName{ Fn: uint8(3), FeType: uint8(JSONB_FLOAT), FnRepl: uint8(7), - FzMatch: __ccgo_ts + 24951, - FzRepl: __ccgo_ts + 24955, + FzMatch: __ccgo_ts + 25074, + FzRepl: __ccgo_ts + 25078, }, 1: { Fc1: uint8('i'), @@ -172420,32 +173958,32 @@ var _aNanInfName = [5]TNanInfName{ Fn: uint8(8), FeType: uint8(JSONB_FLOAT), FnRepl: uint8(7), - FzMatch: __ccgo_ts + 24963, - FzRepl: __ccgo_ts + 24955, + FzMatch: __ccgo_ts + 25086, + FzRepl: __ccgo_ts + 25078, }, 2: { Fc1: uint8('n'), Fc2: uint8('N'), Fn: uint8(3), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 1639, - FzRepl: __ccgo_ts + 1634, + FzMatch: __ccgo_ts + 1653, + FzRepl: __ccgo_ts + 1648, }, 3: { Fc1: uint8('q'), Fc2: uint8('Q'), Fn: uint8(4), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 24972, - FzRepl: __ccgo_ts + 1634, + FzMatch: __ccgo_ts + 25095, + FzRepl: __ccgo_ts + 1648, }, 4: { Fc1: uint8('s'), Fc2: uint8('S'), Fn: uint8(4), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 24977, - FzRepl: __ccgo_ts + 1634, + FzMatch: __ccgo_ts + 25100, + FzRepl: __ccgo_ts + 1648, }, } @@ -172460,7 +173998,7 @@ func _jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24982, libc.VaList(bp+8, zFuncName)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25105, libc.VaList(bp+8, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) } @@ -172914,30 +174452,37 @@ func _jsonbValidityCheck(tls *libc.TLS, pParse uintptr, i Tu32, iEnd Tu32, iDept return j + uint32(1) } } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) <= int32(0x1f) { + /* Control characters in JSON5 string literals are ok */ + if int32(x) == int32(JSONB_TEXTJ) { + return j + uint32(1) + } } else { - if libc.Xstrchr(tls, __ccgo_ts+25025, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { - j++ + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { + return j + uint32(1) } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { - if j+uint32(5) >= k { - return j + uint32(1) - } - if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { - return j + uint32(1) - } + if libc.Xstrchr(tls, __ccgo_ts+25148, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { j++ } else { - if int32(x) != int32(JSONB_TEXT5) { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { + if j+uint32(5) >= k { + return j + uint32(1) + } + if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { + return j + uint32(1) + } + j++ } else { - *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) - szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) - if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + if int32(x) != int32(JSONB_TEXT5) { return j + uint32(1) + } else { + *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) + szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) + if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + return j + uint32(1) + } + j += szC - uint32(1) } - j += szC - uint32(1) } } } @@ -173368,9 +174913,14 @@ parse_string: } } else { if int32(c) <= int32(0x1f) { - /* Control characters are not allowed in strings */ - (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j - return -int32(1) + if int32(c) == 0 { + (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j + return -int32(1) + } + /* Control characters are not allowed in canonical JSON string + ** literals, but are allowed in JSON5 string literals. */ + opcode = uint8(JSONB_TEXT5) + (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) } else { if int32(c) == int32('"') { opcode = uint8(JSONB_TEXT5) @@ -173384,7 +174934,7 @@ parse_string: return int32(j + uint32(1)) _5: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7886, uint32(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8011, uint32(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_TRUE)) return int32(i + uint32(4)) } @@ -173392,7 +174942,7 @@ _5: return -int32(1) _6: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7891, uint32(5)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(5))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8016, uint32(5)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(5))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_FALSE)) return int32(i + uint32(5)) } @@ -173473,14 +175023,14 @@ parse_number: /* JSON5 allows for "+Infinity" and "-Infinity" using exactly ** that case. SQLite also allows these in any case and it allows ** "+inf" and "-inf". */ - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+24951, int32(3)) == 0 { + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+25074, int32(3)) == 0 { (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('-') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25034) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25157) } else { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25041) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25164) } - if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25047, int32(5)) == 0 { + if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25170, int32(5)) == 0 { v48 = int32(9) } else { v48 = int32(4) @@ -173644,11 +175194,10 @@ _29: return -int32(1) _37: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1634, uint32(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1648, uint32(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) return int32(i + uint32(4)) } - /* fall-through into the default case that checks for NaN */ _38: ; c = *(*uint8)(unsafe.Pointer(z + uintptr(i))) @@ -173668,7 +175217,7 @@ _38: goto _51 } if int32(_aNanInfName[k1].FeType) == int32(JSONB_FLOAT) { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25041) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25164) } else { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) } @@ -173713,7 +175262,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 i += _json5Whitespace(tls, zJson+uintptr(i)) if *(*uint8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { if pCtx != 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) } _jsonParseReset(tls, pParse) return int32(1) @@ -173726,7 +175275,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 if (*TJsonParse)(unsafe.Pointer(pParse)).Foom != 0 { Xsqlite3_result_error_nomem(tls, pCtx) } else { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) } } _jsonParseReset(tls, pParse) @@ -173891,15 +175440,15 @@ func _jsonTranslateBlobToText(tls *libc.TLS, pParse uintptr, i Tu32, pOut uintpt goto _16 _2: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1634, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1648, uint32(4)) return i + uint32(1) _3: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7886, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8011, uint32(4)) return i + uint32(1) _4: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7891, uint32(5)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8016, uint32(5)) return i + uint32(1) _6: ; @@ -173948,9 +175497,9 @@ _7: k++ } if bOverflow != 0 { - v19 = __ccgo_ts + 24955 + v19 = __ccgo_ts + 25078 } else { - v19 = __ccgo_ts + 11753 + v19 = __ccgo_ts + 11878 } _jsonPrintf(tls, int32(100), pOut, v19, libc.VaList(bp+16, u)) goto _16 @@ -173998,7 +175547,7 @@ _11: for sz2 > uint32(0) { k2 = uint32(0) for { - if !(k2 < sz2 && int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('\\') && int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('"')) { + if !(k2 < sz2 && (_jsonIsOk[*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))] != 0 || int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) == int32('\''))) { break } goto _21 @@ -174015,7 +175564,16 @@ _11: sz2 -= k2 } if int32(*(*uint8)(unsafe.Pointer(zIn2))) == int32('"') { - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25053, uint32(2)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25176, uint32(2)) + zIn2++ + sz2-- + continue + } + if int32(*(*uint8)(unsafe.Pointer(zIn2))) <= int32(0x1f) { + if (*TJsonString)(unsafe.Pointer(pOut)).FnUsed+uint64(7) > (*TJsonString)(unsafe.Pointer(pOut)).FnAlloc && _jsonStringGrow(tls, pOut, uint32(7)) != 0 { + break + } + _jsonAppendControlChar(tls, pOut, *(*uint8)(unsafe.Pointer(zIn2))) zIn2++ sz2-- continue @@ -174031,7 +175589,7 @@ _11: case int32('\''): _jsonAppendChar(tls, pOut, uint8('\'')) case int32('v'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25056, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25179, uint32(6)) case int32('x'): if sz2 < uint32(4) { p23 = pOut + 25 @@ -174039,12 +175597,12 @@ _11: sz2 = uint32(2) break } - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25063, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25186, uint32(4)) _jsonAppendRawNZ(tls, pOut, zIn2+2, uint32(2)) zIn2 += uintptr(2) sz2 -= uint32(2) case int32('0'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25068, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25191, uint32(6)) case int32('\r'): if sz2 > uint32(2) && int32(*(*uint8)(unsafe.Pointer(zIn2 + 2))) == int32('\n') { zIn2++ @@ -174134,6 +175692,140 @@ _16: return i + n + *(*Tu32)(unsafe.Pointer(bp)) } +// C documentation +// +// /* Context for recursion of json_pretty() +// */ +type TJsonPretty = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty = TJsonPretty + +type TJsonPretty1 = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty1 = TJsonPretty1 + +// C documentation +// +// /* Append indentation to the pretty JSON under construction */ +func _jsonPrettyIndent(tls *libc.TLS, pPretty uintptr) { + var jj Tu32 + _ = jj + jj = uint32(0) + for { + if !(jj < (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent) { + break + } + _jsonAppendRaw(tls, (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut, (*TJsonPretty)(unsafe.Pointer(pPretty)).FzIndent, (*TJsonPretty)(unsafe.Pointer(pPretty)).FszIndent) + goto _1 + _1: + ; + jj++ + } +} + +// C documentation +// +// /* +// ** Translate the binary JSONB representation of JSON beginning at +// ** pParse->aBlob[i] into a JSON text string. Append the JSON +// ** text onto the end of pOut. Return the index in pParse->aBlob[] +// ** of the first byte past the end of the element that is translated. +// ** +// ** This is a variant of jsonTranslateBlobToText() that "pretty-prints" +// ** the output. Extra whitespace is inserted to make the JSON easier +// ** for humans to read. +// ** +// ** If an error is detected in the BLOB input, the pOut->eErr flag +// ** might get set to JSTRING_MALFORMED. But not all BLOB input errors +// ** are detected. So a malformed JSONB input might either result +// ** in an error, or in incorrect JSON. +// ** +// ** The pOut->eErr JSTRING_OOM flag is set on a OOM. +// */ +func _jsonTranslateBlobToPrettyText(tls *libc.TLS, pPretty uintptr, i Tu32) (r Tu32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var iEnd, j, n Tu32 + var pOut, pParse, p1, p2 uintptr + var _ /* sz at bp+0 */ Tu32 + _, _, _, _, _, _, _ = iEnd, j, n, pOut, pParse, p1, p2 + pParse = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpParse + pOut = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut + n = _jsonbPayloadSize(tls, pParse, i, bp) + if n == uint32(0) { + p1 = pOut + 25 + *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + return (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob + uint32(1) + } + switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { + case int32(JSONB_ARRAY): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, uint8('[')) + if j < iEnd { + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25198, uint32(2)) + } + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, uint8(']')) + i = iEnd + case int32(JSONB_OBJECT): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, uint8('{')) + if j < iEnd { + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToText(tls, pParse, j, pOut) + if j > iEnd { + p2 = pOut + 25 + *(*Tu8)(unsafe.Pointer(p2)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p2))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25201, uint32(2)) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25198, uint32(2)) + } + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, uint8('}')) + i = iEnd + default: + i = _jsonTranslateBlobToText(tls, pParse, i, pOut) + break + } + return i +} + // C documentation // // /* Return true if the input pJson @@ -174861,7 +176553,7 @@ func _jsonReturnFromBlob(tls *libc.TLS, pParse uintptr, i Tu32, pCtx uintptr, te db = Xsqlite3_context_db_handle(tls, pCtx) n = _jsonbPayloadSize(tls, pParse, i, bp) if n == uint32(0) { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) return } switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { @@ -175101,7 +176793,7 @@ returnfromblob_oom: goto returnfromblob_malformed returnfromblob_malformed: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) return } @@ -175142,7 +176834,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob = Xsqlite3_value_blob(tls, pArg) (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob = uint32(Xsqlite3_value_bytes(tls, pArg)) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24907, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25030, -int32(1)) return int32(1) } case int32(SQLITE_TEXT): @@ -175155,7 +176847,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FzJson = zJson (*TJsonParse)(unsafe.Pointer(pParse)).FnJson = nJson if _jsonConvertTextToBlob(tls, pParse, ctx) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) _sqlite3DbFree(tls, (*TJsonParse)(unsafe.Pointer(pParse)).Fdb, (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob) libc.Xmemset(tls, pParse, 0, uint32(56)) return int32(1) @@ -175174,10 +176866,10 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin return int32(1) } if int32(*(*uint8)(unsafe.Pointer(z))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25041) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25164) } else { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('-') && int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25034) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25157) } else { _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(n), z) } @@ -175216,7 +176908,7 @@ func _jsonBadPathError(tls *libc.TLS, ctx uintptr, zPath uintptr) (r uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25075, libc.VaList(bp+8, zPath)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25204, libc.VaList(bp+8, zPath)) if ctx == uintptr(0) { return zMsg } @@ -175314,7 +177006,7 @@ jsonInsertIntoBlob_patherror: ; _jsonParseFree(tls, p) if rc == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } else { _jsonBadPathError(tls, ctx, zPath) } @@ -175498,7 +177190,7 @@ json_pfa_malformed: return p } else { _jsonParseFree(tls, p) - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) return uintptr(0) } goto json_pfa_oom @@ -175633,7 +177325,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if int32(*(*uint8)(unsafe.Pointer(zPath))) == int32('$') { v1 = zPath + uintptr(1) } else { - v1 = __ccgo_ts + 25093 + v1 = __ccgo_ts + 25222 } i = _jsonLookupStep(tls, p, uint32(0), v1, uint32(0)) if i >= uint32(JSON_LOOKUP_PATHERROR) { @@ -175643,7 +177335,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } eErr = uint8(1) @@ -175661,25 +177353,6 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) _jsonParseFree(tls, p) } -// C documentation -// -// /* True if the string is all digits */ -func _jsonAllDigits(tls *libc.TLS, z uintptr, n int32) (r int32) { - var i int32 - _ = i - i = 0 - for { - if !(i < n && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _1 - _1: - ; - i++ - } - return libc.BoolInt32(i == n) -} - // C documentation // // /* True if the string is all alphanumerics and underscores */ @@ -175766,21 +177439,21 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { ** [NUMBER] ==> $[NUMBER] // Not PG. Purely for convenience */ _jsonStringInit(tls, bp, ctx) - if _jsonAllDigits(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25095, uint32(1)) + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) == int32(SQLITE_INTEGER) { + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25224, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+5161, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+5225, uint32(2)) } else { if _jsonAllAlphanum(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1661, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1675, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { if int32(*(*uint8)(unsafe.Pointer(zPath))) == int32('[') && nPath >= int32(3) && int32(*(*uint8)(unsafe.Pointer(zPath + uintptr(nPath-int32(1))))) == int32(']') { _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25097, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25226, uint32(2)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25100, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25229, uint32(1)) } } } @@ -175817,11 +177490,11 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { goto json_extract_error /* Return NULL if not found */ } else { _jsonAppendSeparator(tls, bp) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1634, uint32(4)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1648, uint32(4)) } } else { if j == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) goto json_extract_error } else { _jsonBadPathError(tls, ctx, zPath) @@ -176092,7 +177765,7 @@ func _jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == int32(JSON_MERGE_OOM) { Xsqlite3_result_error_nomem(tls, ctx) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } _jsonParseFree(tls, pPatch) @@ -176116,7 +177789,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { var _ /* jx at bp+0 */ TJsonString _, _, _ = i, n, z if argc&int32(1) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25102, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25231, -int32(1)) return } _jsonStringInit(tls, bp, ctx) @@ -176127,7 +177800,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { break } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) != int32(SQLITE_TEXT) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25153, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25282, -int32(1)) _jsonStringReset(tls, bp) return } @@ -176199,7 +177872,7 @@ func _jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } goto json_remove_done @@ -176236,7 +177909,7 @@ func _jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { return } if argc&int32(1) == 0 { - _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15796) + _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15889) return } _jsonInsertIntoBlob(tls, ctx, argc, argv, int32(JEDIT_REPL)) @@ -176267,9 +177940,9 @@ func _jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { } if argc&int32(1) == 0 { if bIsSet != 0 { - v1 = __ccgo_ts + 25187 + v1 = __ccgo_ts + 25316 } else { - v1 = __ccgo_ts + 25191 + v1 = __ccgo_ts + 25320 } _jsonWrongNumArgs(tls, ctx, v1) return @@ -176317,7 +177990,7 @@ func _jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } goto json_type_done @@ -176332,6 +178005,48 @@ json_type_done: _jsonParseFree(tls, p) } +// C documentation +// +// /* +// ** json_pretty(JSON) +// ** json_pretty(JSON, INDENT) +// ** +// ** Return text that is a pretty-printed rendering of the input JSON. +// ** If the argument is not valid JSON, return NULL. +// ** +// ** The INDENT argument is text that is used for indentation. If omitted, +// ** it defaults to four spaces (the same as PostgreSQL). +// */ +func _jsonPrettyFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { + bp := tls.Alloc(160) + defer tls.Free(160) + var v1 uintptr + var v2 bool + var _ /* s at bp+0 */ TJsonString + var _ /* x at bp+128 */ TJsonPretty + _, _ = v1, v2 /* Pretty printing context */ + libc.Xmemset(tls, bp+128, 0, uint32(20)) + (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FpParse = _jsonParseFuncArg(tls, ctx, *(*uintptr)(unsafe.Pointer(argv)), uint32(0)) + if (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FpParse == uintptr(0) { + return + } + (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FpOut = bp + _jsonStringInit(tls, bp, ctx) + if v2 = argc == int32(1); !v2 { + v1 = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) + (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FzIndent = v1 + } + if v2 || v1 == uintptr(0) { + (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FzIndent = __ccgo_ts + 25327 + (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FszIndent = uint32(4) + } else { + (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FszIndent = libc.Xstrlen(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FzIndent) + } + _jsonTranslateBlobToPrettyText(tls, bp+128, uint32(0)) + _jsonReturnString(tls, bp, uintptr(0), uintptr(0)) + _jsonParseFree(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 128))).FpParse) +} + // C documentation // // /* @@ -176406,7 +178121,7 @@ func _jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if argc == int32(2) { f = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) if f < int64(1) || f > int64(15) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25198, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25332, -int32(1)) return } flags = uint8(f & int64(0x0f)) @@ -176596,7 +178311,7 @@ func _jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25255, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25389, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -176745,7 +178460,7 @@ func _jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25258, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25392, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -176852,7 +178567,7 @@ func _jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argv _ = argc _ = pAux - rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25261) + rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25395) if rc == SQLITE_OK { pNew = _sqlite3DbMallocZero(tls, db, uint64(16)) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -176988,7 +178703,7 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TJsonEachCursor)(unsafe.Pointer(p)).FeType) == int32(JSONB_ARRAY) { - _jsonPrintf(tls, int32(30), p+40, __ccgo_ts+25344, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) + _jsonPrintf(tls, int32(30), p+40, __ccgo_ts+25478, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) } else { *(*Tu32)(unsafe.Pointer(bp)) = uint32(0) needQuote = 0 @@ -177014,9 +178729,9 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { } } if needQuote != 0 { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+40, __ccgo_ts+25351, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+40, __ccgo_ts+25485, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } else { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+40, __ccgo_ts+25359, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+40, __ccgo_ts+25493, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } } } @@ -177406,7 +179121,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a i = v5 (*TJsonEachCursor)(unsafe.Pointer(p)).FeType = uint8(0) (*TJsonEachCursor)(unsafe.Pointer(p)).FnRoot = uint32(1) - _jsonAppendRaw(tls, p+40, __ccgo_ts+25365, uint32(1)) + _jsonAppendRaw(tls, p+40, __ccgo_ts+25499, uint32(1)) } (*TJsonEachCursor)(unsafe.Pointer(p)).FnParent = uint32(0) n = _jsonbPayloadSize(tls, p+168, i, bp) @@ -177430,7 +179145,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a json_each_malformed_input: ; Xsqlite3_free(tls, (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg) - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24936, 0) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25059, 0) _jsonEachCursorReset(tls, p) if (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { v6 = int32(SQLITE_ERROR) @@ -177484,183 +179199,193 @@ func init() { // ** Register JSON functions. // */ func _sqlite3RegisterJsonFunctions(tls *libc.TLS) { - _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint32FromInt64(1280)/libc.Uint32FromInt64(40))) + _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint32FromInt64(1360)/libc.Uint32FromInt64(40))) } -var _aJsonFunc = [32]TFuncDef{ +var _aJsonFunc = [34]TFuncDef{ 0: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25367, + FzName: __ccgo_ts + 25501, }, 1: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25372, + FzName: __ccgo_ts + 25506, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25378, + FzName: __ccgo_ts + 25512, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25389, + FzName: __ccgo_ts + 25523, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25401, + FzName: __ccgo_ts + 25535, }, 5: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25401, + FzName: __ccgo_ts + 25535, }, 6: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25419, + FzName: __ccgo_ts + 25553, }, 7: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25439, + FzName: __ccgo_ts + 25573, }, 8: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25452, + FzName: __ccgo_ts + 25586, }, 9: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(JSON_JSON) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25466, + FzName: __ccgo_ts + 25600, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(JSON_SQL) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25469, + FzName: __ccgo_ts + 25603, }, 11: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25473, + FzName: __ccgo_ts + 25607, }, 12: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25485, + FzName: __ccgo_ts + 25619, }, 13: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25498, + FzName: __ccgo_ts + 25632, }, 14: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25510, + FzName: __ccgo_ts + 25644, }, 15: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25523, + FzName: __ccgo_ts + 25657, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25534, + FzName: __ccgo_ts + 25668, }, 17: { FnArg: int8(1), - FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25546, + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25680, }, 18: { + FnArg: int8(2), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25680, + }, + 19: { + FnArg: int8(1), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25692, + }, + 20: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25557, + FzName: __ccgo_ts + 25703, }, - 19: { + 21: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25569, + FzName: __ccgo_ts + 25715, }, - 20: { + 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25582, + FzName: __ccgo_ts + 25728, }, - 21: { + 23: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25595, + FzName: __ccgo_ts + 25741, }, - 22: { + 24: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25609, + FzName: __ccgo_ts + 25755, }, - 23: { + 25: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25618, + FzName: __ccgo_ts + 25764, }, - 24: { + 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25628, + FzName: __ccgo_ts + 25774, }, - 25: { + 27: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25628, + FzName: __ccgo_ts + 25774, }, - 26: { + 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25638, + FzName: __ccgo_ts + 25784, }, - 27: { + 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25638, + FzName: __ccgo_ts + 25784, }, - 28: { + 30: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25649, + FzName: __ccgo_ts + 25795, }, - 29: { + 31: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25666, + FzName: __ccgo_ts + 25812, }, - 30: { + 32: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25684, + FzName: __ccgo_ts + 25830, }, - 31: { + 33: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(libc.Int32FromInt32(JSON_BLOB)), - FzName: __ccgo_ts + 25702, + FzName: __ccgo_ts + 25848, }, } @@ -177683,33 +179408,35 @@ func init() { *(*uintptr)(unsafe.Add(p, 576)) = __ccgo_fp(_jsonObjectFunc) *(*uintptr)(unsafe.Add(p, 616)) = __ccgo_fp(_jsonPatchFunc) *(*uintptr)(unsafe.Add(p, 656)) = __ccgo_fp(_jsonPatchFunc) - *(*uintptr)(unsafe.Add(p, 696)) = __ccgo_fp(_jsonQuoteFunc) - *(*uintptr)(unsafe.Add(p, 736)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 776)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 816)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 856)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 896)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 936)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 976)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1016)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1056)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1096)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1136)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 1140)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 1144)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 1148)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 1180)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 1184)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 1188)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 1216)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 1220)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 1224)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 696)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 736)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 776)) = __ccgo_fp(_jsonQuoteFunc) + *(*uintptr)(unsafe.Add(p, 816)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 856)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 896)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 936)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 976)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1016)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1056)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1096)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1136)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 1216)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 1220)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 1224)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 1228)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 1256)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 1260)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 1264)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1256)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 1260)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 1264)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 1268)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 1296)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 1300)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 1304)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1308)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 1336)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 1340)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 1344)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1348)) = __ccgo_fp(_jsonGroupInverse) } // C documentation @@ -177741,11 +179468,11 @@ var _aMod = [2]struct { FpModule uintptr }{ 0: { - FzName: __ccgo_ts + 25721, + FzName: __ccgo_ts + 25867, FpModule: uintptr(unsafe.Pointer(&_jsonEachModule)), }, 1: { - FzName: __ccgo_ts + 25731, + FzName: __ccgo_ts + 25877, FpModule: uintptr(unsafe.Pointer(&_jsonTreeModule)), }, } @@ -178424,7 +180151,7 @@ func _nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode Ti64, pParent uintptr, pp } } if (*TRtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) { - rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25741, iNode, 0, pRtree+72) + rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25887, iNode, 0, pRtree+72) } if rc != 0 { *(*uintptr)(unsafe.Pointer(ppNode)) = uintptr(0) @@ -178736,7 +180463,7 @@ func _rtreeDestroy(tls *libc.TLS, pVtab uintptr) (r int32) { var rc int32 _, _, _ = pRtree, rc, zCreate pRtree = pVtab - zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25746, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25892, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if !(zCreate != 0) { rc = int32(SQLITE_NOMEM) } else { @@ -179670,7 +181397,7 @@ func _findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid Ti64, ppLeaf uintptr, p func _deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) (r int32) { var pBlob, pInfo, pSrc uintptr _, _, _ = pBlob, pInfo, pSrc /* Callback information */ - pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25828) + pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25974) if pSrc == uintptr(0) { return int32(SQLITE_ERROR) } @@ -179725,7 +181452,7 @@ func _rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp iRowid = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) *(*Ti64)(unsafe.Pointer(bp + 16)) = 0 eType = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) == float64(iRowid) { + if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && 0 == _sqlite3IntFloatCompare(tls, iRowid, Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))) { rc = _findLeafNode(tls, pRtree, iRowid, bp+8, bp+16) } else { rc = SQLITE_OK @@ -181214,7 +182941,7 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) _, _, _, _, _, _ = rc, zCol, zCol1, zCol2, zSql, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) _ = libc.Int32FromInt32(0) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25842, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25988, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -int32(1), bp, uintptr(0)) } else { @@ -181224,11 +182951,11 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) if rc == SQLITE_OK { if iCol == 0 { zCol = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25862, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26008, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { zCol1 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol) zCol2 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol+int32(1)) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25894, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26040, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -181407,6 +183134,7 @@ func _rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) (r int32) { var pRtree uintptr _ = pRtree pRtree = pVtab + _ = libc.Int32FromInt32(0) (*TRtree)(unsafe.Pointer(pRtree)).FinWrTrans = uint8(1) return SQLITE_OK } @@ -181443,7 +183171,7 @@ func _rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) (r int32) { _, _, _ = pRtree, rc, zSql pRtree = pVtab rc = int32(SQLITE_NOMEM) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25931, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26077, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) if zSql != 0 { _nodeBlobReset(tls, pRtree) rc = Xsqlite3_exec(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -181497,9 +183225,9 @@ func _rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) (r int32) { var v2 int64 var _ /* p at bp+0 */ uintptr _, _, _, _, _, _ = nRow, rc, zFmt, zSql, v1, v2 - zFmt = __ccgo_ts + 26076 + zFmt = __ccgo_ts + 26222 nRow = int64(RTREE_MIN_ROWEST) - rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11582, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11707, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == int32(SQLITE_ERROR) { @@ -181557,9 +183285,9 @@ func _rtreeShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName1 = [3]uintptr{ - 0: __ccgo_ts + 26132, - 1: __ccgo_ts + 5484, - 2: __ccgo_ts + 16694, + 0: __ccgo_ts + 26278, + 1: __ccgo_ts + 5548, + 2: __ccgo_ts + 16781, } var _rtreeModule = Tsqlite3_module{ @@ -181603,21 +183331,21 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref (*TRtree)(unsafe.Pointer(pRtree)).Fdb = db if isCreate != 0 { p = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26546, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26692, libc.VaList(bp+8, zDb, zPrefix)) ii = 0 for { if !(ii < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26608, libc.VaList(bp+8, ii)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26754, libc.VaList(bp+8, ii)) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26613, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26677, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26747, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26759, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26823, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26893, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return int32(SQLITE_NOMEM) @@ -181647,7 +183375,7 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } else { /* An UPSERT is very slightly slower than REPLACE, but it is needed ** if there are auxiliary columns */ - zFormat = __ccgo_ts + 26796 + zFormat = __ccgo_ts + 26942 } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+8, zDb, zPrefix)) if zSql != 0 { @@ -181662,31 +183390,31 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref i++ } if (*TRtree)(unsafe.Pointer(pRtree)).FnAux != 0 && rc != int32(SQLITE_NOMEM) { - (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+26904, libc.VaList(bp+8, zDb, zPrefix)) + (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+27050, libc.VaList(bp+8, zDb, zPrefix)) if (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { p1 = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26949, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27095, libc.VaList(bp+8, zDb, zPrefix)) ii1 = 0 for { if !(ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } if ii1 != 0 { - Xsqlite3_str_append(tls, p1, __ccgo_ts+13090, int32(1)) + Xsqlite3_str_append(tls, p1, __ccgo_ts+13215, int32(1)) } if ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26976, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27122, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) } else { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26998, libc.VaList(bp+8, ii1, ii1+int32(2))) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27144, libc.VaList(bp+8, ii1, ii1+int32(2))) } goto _3 _3: ; ii1++ } - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27006, 0) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27152, 0) zSql1 = Xsqlite3_str_finish(tls, p1) if zSql1 == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -181700,14 +183428,14 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } var _azSql = [8]uintptr{ - 0: __ccgo_ts + 26137, - 1: __ccgo_ts + 26190, - 2: __ccgo_ts + 26235, - 3: __ccgo_ts + 26287, - 4: __ccgo_ts + 26341, - 5: __ccgo_ts + 26386, - 6: __ccgo_ts + 26444, - 7: __ccgo_ts + 26499, + 0: __ccgo_ts + 26283, + 1: __ccgo_ts + 26336, + 2: __ccgo_ts + 26381, + 3: __ccgo_ts + 26433, + 4: __ccgo_ts + 26487, + 5: __ccgo_ts + 26532, + 6: __ccgo_ts + 26590, + 7: __ccgo_ts + 26645, } // C documentation @@ -181765,7 +183493,7 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE _, _ = rc, zSql if isCreate != 0 { *(*int32)(unsafe.Pointer(bp)) = 0 - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27022, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27168, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) rc = _getIntFromStmt(tls, db, zSql, bp) if rc == SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp)) - int32(64) @@ -181773,17 +183501,17 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = int32(4) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*int32(RTREE_MAXCELLS) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27042, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27188, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) rc = _getIntFromStmt(tls, db, zSql, pRtree+16) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } else { if (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize < libc.Int32FromInt32(512)-libc.Int32FromInt32(64) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< libc.Int32FromInt32(RTREE_MAX_AUX_COLUMN)+libc.Int32FromInt32(3) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) return int32(SQLITE_ERROR) } Xsqlite3_vtab_config(tls, db, int32(SQLITE_VTAB_CONSTRAINT_SUPPORT), libc.VaList(bp+8, int32(1))) @@ -181860,13 +183588,13 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27285, uint32(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27431, uint32(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27291, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4))), *(*uintptr)(unsafe.Pointer(argv + 3*4)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27437, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4))), *(*uintptr)(unsafe.Pointer(argv + 3*4)))) ii = int32(4) for { if !(ii < argc) { @@ -181875,7 +183603,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt zArg = *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)) if int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('+') { (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27315, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27461, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) } else { if int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux) > 0 { break @@ -181889,19 +183617,19 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27342, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27488, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) } else { if ii < argc { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, aErrMsg[int32(4)])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, aErrMsg[int32(4)])) rc = int32(SQLITE_ERROR) } else { v3 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v3 if SQLITE_OK != v3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } } @@ -181924,7 +183652,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } } if iErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, aErrMsg[iErr])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, aErrMsg[iErr])) goto rtreeInit_fail } (*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell = uint8(int32(8) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnDim2)*int32(4)) @@ -181935,7 +183663,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -181953,8 +183681,8 @@ rtreeInit_fail: } var _azFormat = [2]uintptr{ - 0: __ccgo_ts + 27321, - 1: __ccgo_ts + 27332, + 0: __ccgo_ts + 27467, + 1: __ccgo_ts + 27478, } // C documentation @@ -182012,21 +183740,21 @@ func _rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { } _nodeGetCell(tls, bp+32, bp, ii, bp+536) if ii > 0 { - Xsqlite3_str_append(tls, pOut, __ccgo_ts+11202, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+11327, int32(1)) } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27345, libc.VaList(bp+592, (*(*TRtreeCell)(unsafe.Pointer(bp + 536))).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27491, libc.VaList(bp+592, (*(*TRtreeCell)(unsafe.Pointer(bp + 536))).FiRowid)) jj = 0 for { if !(jj < int32((*(*TRtree)(unsafe.Pointer(bp + 32))).FnDim2)) { break } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27351, libc.VaList(bp+592, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 536 + 8 + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27497, libc.VaList(bp+592, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 536 + 8 + uintptr(jj)*4))))) goto _2 _2: ; jj++ } - Xsqlite3_str_append(tls, pOut, __ccgo_ts+27355, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+27501, int32(1)) goto _1 _1: ; @@ -182053,7 +183781,7 @@ func _rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { _ = zBlob _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != int32(SQLITE_BLOB) || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+27357, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+27503, -int32(1)) } else { zBlob = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -182171,11 +183899,11 @@ func _rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintpt (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } else { if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - v1 = __ccgo_ts + 4203 + v1 = __ccgo_ts + 4267 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27390, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27536, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } @@ -182209,7 +183937,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt _, _, _ = nNode, pNode, pRet pRet = uintptr(0) /* Return value */ if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) { - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27397, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27543, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { Xsqlite3_bind_int64(tls, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode, int32(1), iNode) @@ -182226,7 +183954,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt } _rtreeCheckReset(tls, pCheck, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27442, libc.VaList(bp+8, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27588, libc.VaList(bp+8, iNode)) } } return pRet @@ -182255,8 +183983,8 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i var rc int32 _, _, _, _, _, _ = azSql, ii, pStmt, rc, v1, v2 azSql = [2]uintptr{ - 0: __ccgo_ts + 27474, - 1: __ccgo_ts + 27528, + 0: __ccgo_ts + 27620, + 1: __ccgo_ts + 27674, } _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(pCheck + 24 + uintptr(bLeaf)*4)) == uintptr(0) { @@ -182270,21 +183998,21 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i rc = Xsqlite3_step(tls, pStmt) if rc == int32(SQLITE_DONE) { if bLeaf != 0 { - v1 = __ccgo_ts + 27576 + v1 = __ccgo_ts + 27722 } else { - v1 = __ccgo_ts + 27584 + v1 = __ccgo_ts + 27730 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27593, libc.VaList(bp+8, iKey, iVal, v1)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27739, libc.VaList(bp+8, iKey, iVal, v1)) } else { if rc == int32(SQLITE_ROW) { ii = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { if bLeaf != 0 { - v2 = __ccgo_ts + 27576 + v2 = __ccgo_ts + 27722 } else { - v2 = __ccgo_ts + 27584 + v2 = __ccgo_ts + 27730 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27638, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27784, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) } } } @@ -182329,7 +184057,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 v2 = libc.BoolInt32(*(*TRtreeValue)(unsafe.Pointer(bp)) > *(*TRtreeValue)(unsafe.Pointer(bp + 4))) } if v2 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27696, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27842, libc.VaList(bp+24, i, iCell, iNode)) } if pParent != 0 { _readCoord(tls, pParent+uintptr(libc.Int32FromInt32(4)*libc.Int32FromInt32(2)*i), bp+8) @@ -182347,7 +184075,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 } } if v5 || v4 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27744, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27890, libc.VaList(bp+24, i, iCell, iNode)) } } goto _1 @@ -182382,19 +184110,19 @@ func _rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintpt aNode = _rtreeCheckGetNode(tls, pCheck, iNode, bp) if aNode != 0 { if *(*int32)(unsafe.Pointer(bp)) < int32(4) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27811, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27957, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) } else { /* Used to iterate through cells */ if aParent == uintptr(0) { iDepth = _readInt16(tls, aNode) if iDepth > int32(RTREE_MAX_DEPTH) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27845, libc.VaList(bp+16, iDepth)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27991, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = _readInt16(tls, aNode+2) if int32(4)+nCell*(int32(8)+(*TRtreeCheck)(unsafe.Pointer(pCheck)).FnDim*int32(2)*int32(4)) > *(*int32)(unsafe.Pointer(bp)) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27875, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28021, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) } else { i = 0 for { @@ -182439,12 +184167,12 @@ func _rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect Ti64) var pCount uintptr _, _ = nActual, pCount if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { - pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27930, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) + pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28076, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) if pCount != 0 { if Xsqlite3_step(tls, pCount) == int32(SQLITE_ROW) { nActual = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27961, libc.VaList(bp+8, zTbl, nExpect, nActual)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28107, libc.VaList(bp+8, zTbl, nExpect, nActual)) } } (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -182473,7 +184201,7 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzDb = zDb (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzTab = zTab /* Find the number of auxiliary columns */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28028, libc.VaList(bp+64, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28174, libc.VaList(bp+64, zDb, zTab)) if pStmt != 0 { nAux = Xsqlite3_column_count(tls, pStmt) - int32(2) Xsqlite3_finalize(tls, pStmt) @@ -182483,11 +184211,11 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe } } /* Find number of dimensions in the rtree table. */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25842, libc.VaList(bp+64, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25988, libc.VaList(bp+64, zDb, zTab)) if pStmt != 0 { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim = (Xsqlite3_column_count(tls, pStmt) - int32(1) - nAux) / int32(2) if (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim < int32(1) { - _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28056, 0) + _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28202, 0) } else { if int32(SQLITE_ROW) == Xsqlite3_step(tls, pStmt) { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FbInt = libc.BoolInt32(Xsqlite3_column_type(tls, pStmt, int32(1)) == int32(SQLITE_INTEGER)) @@ -182503,8 +184231,8 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe if (*(*TRtreeCheck)(unsafe.Pointer(bp))).Frc == SQLITE_OK { _rtreeCheckNode(tls, bp, 0, uintptr(0), int64(1)) } - _rtreeCheckCount(tls, bp, __ccgo_ts+28087, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) - _rtreeCheckCount(tls, bp, __ccgo_ts+28094, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28233, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28240, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) } /* Finalize SQL statements used by the integrity-check */ Xsqlite3_finalize(tls, (*(*TRtreeCheck)(unsafe.Pointer(bp))).FpGetNode) @@ -182532,7 +184260,7 @@ func _rtreeIntegrity(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zName uintpt _ = isQuick rc = _rtreeCheckTable(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, pzErr) if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28102, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28248, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) if *(*uintptr)(unsafe.Pointer(pzErr)) == uintptr(0) { rc = int32(SQLITE_NOMEM) } @@ -182583,13 +184311,13 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { var _ /* zReport at bp+0 */ uintptr _, _, _, _ = rc, zDb, zTab, v1 if nArg != int32(1) && nArg != int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+28121, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+28267, -int32(1)) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zDb = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg))) if nArg == int32(1) { zTab = zDb - zDb = __ccgo_ts + 6585 + zDb = __ccgo_ts + 6649 } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*4))) } @@ -182598,7 +184326,7 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { if *(*uintptr)(unsafe.Pointer(bp)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(bp)) } else { - v1 = __ccgo_ts + 18461 + v1 = __ccgo_ts + 18548 } Xsqlite3_result_text(tls, ctx, v1, -int32(1), uintptr(-libc.Int32FromInt32(1))) } else { @@ -183065,19 +184793,19 @@ func _geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) if p != 0 { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) - Xsqlite3_str_append(tls, x, __ccgo_ts+25095, int32(1)) + Xsqlite3_str_append(tls, x, __ccgo_ts+25224, int32(1)) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28172, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28318, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28183, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28329, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -183106,20 +184834,20 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) cSep = uint8('\'') - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28194, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28340, 0) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28212, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28358, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) cSep = uint8(' ') goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28220, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28366, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) i = int32(1) for { if !(i < argc) { @@ -183127,14 +184855,14 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) if z != 0 && *(*uint8)(unsafe.Pointer(z)) != 0 { - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28228, libc.VaList(bp+8, z)) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28374, libc.VaList(bp+8, z)) } goto _2 _2: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28232, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28378, 0) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -184270,13 +185998,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27285, uint32(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27431, uint32(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28245, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28391, 0) (*TRtree)(unsafe.Pointer(pRtree)).FnAux = uint8(1) /* Add one for _shape */ (*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = uint8(1) /* The _shape column is always not-null */ ii = int32(3) @@ -184285,13 +186013,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint break } (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28267, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28413, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4)))) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27342, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27488, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) @@ -184299,7 +186027,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint v2 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v2 if SQLITE_OK != v2 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } Xsqlite3_free(tls, zSql) @@ -184314,7 +186042,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*4)), *(*uintptr)(unsafe.Pointer(argv + 2*4)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -184531,7 +186259,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iRowidTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(1) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16694 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16781 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).Fomit = uint8(1) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(30) @@ -184541,7 +186269,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iFuncTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28271 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28417 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).Fomit = uint8(0) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(300) @@ -184549,7 +186277,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { return SQLITE_OK } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(4) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28277 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28423 (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(3e+06) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -184671,7 +186399,7 @@ func _geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pR _geopolyBBox(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(aData + 2*4)), bp+8+8, bp) if *(*int32)(unsafe.Pointer(bp)) != 0 { if *(*int32)(unsafe.Pointer(bp)) == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28286, 0) + (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28432, 0) } goto geopoly_update_end } @@ -184775,12 +186503,12 @@ geopoly_update_end: func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) { _ = pVtab _ = nArg - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28326) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28472) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION) } - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28342) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28488) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1) @@ -184851,7 +186579,7 @@ func _sqlite3_geopoly_init(tls *libc.TLS, db uintptr) (r int32) { i++ } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28519, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28665, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -184865,61 +186593,61 @@ var _aFunc = [12]struct { 0: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28357, + FzName: __ccgo_ts + 28503, }, 1: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28370, + FzName: __ccgo_ts + 28516, }, 2: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28383, + FzName: __ccgo_ts + 28529, }, 3: { FnArg: int8(-int32(1)), FbPure: uint8(1), - FzName: __ccgo_ts + 28396, + FzName: __ccgo_ts + 28542, }, 4: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28342, + FzName: __ccgo_ts + 28488, }, 5: { FnArg: int8(3), FbPure: uint8(1), - FzName: __ccgo_ts + 28408, + FzName: __ccgo_ts + 28554, }, 6: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28326, + FzName: __ccgo_ts + 28472, }, 7: { FnArg: int8(1), - FzName: __ccgo_ts + 28431, + FzName: __ccgo_ts + 28577, }, 8: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28445, + FzName: __ccgo_ts + 28591, }, 9: { FnArg: int8(7), FbPure: uint8(1), - FzName: __ccgo_ts + 28458, + FzName: __ccgo_ts + 28604, }, 10: { FnArg: int8(4), FbPure: uint8(1), - FzName: __ccgo_ts + 28472, + FzName: __ccgo_ts + 28618, }, 11: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28488, + FzName: __ccgo_ts + 28634, }, } @@ -184945,7 +186673,7 @@ var _aAgg = [1]struct { FzName uintptr }{ 0: { - FzName: __ccgo_ts + 28500, + FzName: __ccgo_ts + 28646, }, } @@ -184970,20 +186698,20 @@ func _sqlite3RtreeInit(tls *libc.TLS, db uintptr) (r int32) { var rc, utf8 int32 _, _, _, _ = c, c1, rc, utf8 utf8 = int32(SQLITE_UTF8) - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28527, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28673, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28537, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28683, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28548, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28694, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { c = libc.UintptrFromInt32(RTREE_COORD_REAL32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28271, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28417, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { c1 = libc.UintptrFromInt32(RTREE_COORD_INT32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28559, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28705, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) } if rc == SQLITE_OK { rc = _sqlite3_geopoly_init(tls, db) @@ -185085,7 +186813,7 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { Xsqlite3_result_error_nomem(tls, ctx) _rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25828, __ccgo_fp(_rtreeMatchArgFree)) + Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25974, __ccgo_fp(_rtreeMatchArgFree)) } } } @@ -186314,7 +188042,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt /* Figure out the size of the output */ nOut = _rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+28569, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28715, -int32(1)) return } aOut = Xsqlite3_malloc(tls, nOut+int32(1)) @@ -186324,7 +188052,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt nOut2 = _rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut) if nOut2 != nOut { Xsqlite3_free(tls, aOut) - Xsqlite3_result_error(tls, context, __ccgo_ts+28569, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28715, -int32(1)) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, __ccgo_fp(Xsqlite3_free)) } @@ -186350,7 +188078,7 @@ func _prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg _ = rc rc = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -186373,7 +188101,7 @@ func _resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) (r in _ = rc rc = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -186506,7 +188234,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { /* Free any SQLite statements used while processing the previous object */ _rbuObjIterClearStatements(tls, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28590, uintptr(0), uintptr(0), p+36) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28736, uintptr(0), uintptr(0), p+36) } if rc == SQLITE_OK { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 { @@ -186516,6 +188244,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { if rc != int32(SQLITE_ROW) { rc = _resetAndCollectError(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, p+36) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = uintptr(0) + (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = uintptr(0) } else { (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, 0) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, int32(1)) @@ -186596,7 +188325,7 @@ func _rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { Xsqlite3_result_text(tls, pCtx, zIn, -int32(1), libc.UintptrFromInt32(0)) } } else { - if libc.Xstrlen(tls, zIn) > uint32(4) && libc.Xmemcmp(tls, __ccgo_ts+25741, zIn, uint32(4)) == 0 { + if libc.Xstrlen(tls, zIn) > uint32(4) && libc.Xmemcmp(tls, __ccgo_ts+25887, zIn, uint32(4)) == 0 { i = int32(4) for { if !(int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) <= int32('9')) { @@ -186633,13 +188362,13 @@ func _rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { _, _ = rc, v1 libc.Xmemset(tls, pIter, 0, uint32(108)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 28761 + v1 = __ccgo_ts + 28907 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+28802, libc.VaList(bp+8, v1))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+28948, libc.VaList(bp+8, v1))) if rc == SQLITE_OK { - rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+4, p+36, __ccgo_ts+28952) + rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+4, p+36, __ccgo_ts+29098) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = int32(1) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -186807,7 +188536,7 @@ func _rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { rc = Xsqlite3_finalize(tls, pStmt) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && rc != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } @@ -186869,7 +188598,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 _ = libc.Int32FromInt32(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29077, libc.VaList(bp+24, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29223, libc.VaList(bp+24, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0]) != int32(SQLITE_ROW) { /* Either an error, or no such table. */ goto rbuTableType_end @@ -186879,7 +188608,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0], int32(1)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29196, libc.VaList(bp+24, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29342, libc.VaList(bp+24, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { goto rbuTableType_end } @@ -186887,7 +188616,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu zOrig = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(3)) zIdx = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(1)) if zOrig != 0 && zIdx != 0 && int32(*(*Tu8)(unsafe.Pointer(zOrig))) == int32('p') { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29217, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29363, libc.VaList(bp+24, zIdx))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)]) == int32(SQLITE_ROW) { *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)], 0) @@ -186899,7 +188628,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29268, libc.VaList(bp+24, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29414, libc.VaList(bp+24, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { for Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)]) == int32(SQLITE_ROW) { if Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)], int32(5)) > 0 { @@ -186943,7 +188672,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { bIndex = 0 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.Xmemcpy(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint32(1)*uint32((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29289, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29435, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -186956,7 +188685,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { if bPartial != 0 { libc.Xmemset(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, int32(0x01), uint32(1)*uint32((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+16, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+16, zIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 4))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), int32(1)) if iCid >= 0 { @@ -187010,7 +188739,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 _rbuTableType(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+36, bp+4, pIter+60) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+19904, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+20036, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc @@ -187022,7 +188751,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 /* Populate the azTblCol[] and nTblCol variables based on the columns ** of the input table. Ignore any input table columns that begin with ** "rbu_". */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29346, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29492, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp))) _rbuAllocateIterArrays(tls, p, pIter, nCol) @@ -187033,7 +188762,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 break } zName = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), i) - if Xsqlite3_strnicmp(tls, __ccgo_ts+29365, zName, int32(4)) != 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+29511, zName, int32(4)) != 0 { zCopy = _rbuStrndup(tls, zName, p+32) *(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol v3 = pIter + 8 @@ -187041,7 +188770,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 *(*int32)(unsafe.Pointer(v3))++ *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(v2)*4)) = zCopy } else { - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29370, zName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29516, zName) { bRbuRowid = int32(1) } } @@ -187055,17 +188784,17 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && bRbuRowid != libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) if bRbuRowid != 0 { - v4 = __ccgo_ts + 29380 + v4 = __ccgo_ts + 29526 } else { - v4 = __ccgo_ts + 29393 + v4 = __ccgo_ts + 29539 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29402, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29548, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) } /* Check that all non-HIDDEN columns in the destination table are also ** present in the input table. Populate the abTblPk[], azTblType[] and ** aiTblOrder[] arrays at the same time. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29431, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29577, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zName1 = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -187087,7 +188816,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 } if i == (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29453, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29599, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) } else { iPk = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) bNotNull = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) @@ -187129,15 +188858,15 @@ func _rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) var z, zList, zSep uintptr _, _, _, _ = i, z, zList, zSep zList = uintptr(0) - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } z = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+29480, libc.VaList(bp+8, zList, zSep, z)) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+29626, libc.VaList(bp+8, zList, zSep, z)) + zSep = __ccgo_ts + 15083 goto _1 _1: ; @@ -187162,7 +188891,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, _, _, _, _, _ = i, iPk, zCol, zRet, zSep iPk = int32(1) zRet = uintptr(0) - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 for int32(1) != 0 { i = 0 for { @@ -187171,7 +188900,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, } if int32(*(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29489, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29635, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -187219,21 +188948,21 @@ func _rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zRet = uintptr(0) if bRowid != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29502, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29648, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iMax = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29534, libc.VaList(bp+16, iMax)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29680, libc.VaList(bp+16, iMax)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1648, __ccgo_ts+14990, __ccgo_ts+29557) - zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29563, __ccgo_ts+29570, __ccgo_ts+5106) - zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1648, __ccgo_ts+14990, __ccgo_ts+1648) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1662, __ccgo_ts+15083, __ccgo_ts+29703) + zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29709, __ccgo_ts+29716, __ccgo_ts+5170) + zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1662, __ccgo_ts+15083, __ccgo_ts+1662) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29578, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29724, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zVal = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29620, libc.VaList(bp+16, zList, zVal)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29766, libc.VaList(bp+16, zList, zVal)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } @@ -187282,10 +189011,10 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 iCol = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(4)) @@ -187308,15 +189037,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _ = libc.Int32FromInt32(0) zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) } else { - zCol = __ccgo_ts + 29640 + zCol = __ccgo_ts + 29786 } } else { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*4)) } - zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29648, libc.VaList(bp+16, zLhs, zSep, zCol, zCollate)) - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29669, libc.VaList(bp+16, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29705, libc.VaList(bp+16, zSelect, zSep, iCol, zCol)) - zSep = __ccgo_ts + 14990 + zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29794, libc.VaList(bp+16, zLhs, zSep, zCol, zCollate)) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29815, libc.VaList(bp+16, zOrder, zSep, iCol, zCol, zCollate)) + zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29851, libc.VaList(bp+16, zSelect, zSep, iCol, zCol)) + zSep = __ccgo_ts + 15083 iCol++ } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) @@ -187325,9 +189054,9 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29732, libc.VaList(bp+16, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29878, libc.VaList(bp+16, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 4))) { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 iCol = 0 for { if !(iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -187342,15 +189071,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { break } } - zVector = _rbuMPrintf(tls, p, __ccgo_ts+29780, libc.VaList(bp+16, zVector, zSep, zQuoted)) - zSep = __ccgo_ts + 14990 + zVector = _rbuMPrintf(tls, p, __ccgo_ts+29926, libc.VaList(bp+16, zVector, zSep, zQuoted)) + zSep = __ccgo_ts + 15083 goto _2 _2: ; iCol++ } if !(bFailed != 0) { - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29787, libc.VaList(bp+16, zLhs, zVector)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29933, libc.VaList(bp+16, zLhs, zVector)) } } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4))) @@ -187404,12 +189133,12 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zImpPK = uintptr(0) /* String to return via *pzImposterPK */ zWhere = uintptr(0) /* String to return via *pzWhere */ nBind = 0 /* Value to return via *pnBind */ - zCom = __ccgo_ts + 1648 /* Set to ", " later on */ - zAnd = __ccgo_ts + 1648 /* Set to " AND " later on */ + zCom = __ccgo_ts + 1662 /* Set to ", " later on */ + zAnd = __ccgo_ts + 1662 /* Set to " AND " later on */ *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_xinfo = ? */ if rc == SQLITE_OK { _ = libc.Int32FromInt32(0) - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -187418,8 +189147,8 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = uintptr(0) if iCid == -int32(2) { iSeq = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29799, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*8))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*8))).FzSpan, zCollate)) - zType = __ccgo_ts + 1648 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29945, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*8))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*8))).FzSpan, zCollate)) + zType = __ccgo_ts + 1662 } else { if iCid < 0 { /* An integer primary key. If the table has an explicit IPK, use @@ -187439,9 +189168,9 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) } else { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - zCol = __ccgo_ts + 29640 + zCol = __ccgo_ts + 29786 } else { - zCol = __ccgo_ts + 29370 + zCol = __ccgo_ts + 29516 } } zType = __ccgo_ts + 1136 @@ -187449,24 +189178,24 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*4)) zType = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4)) } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29821, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29967, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) } if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) != 0 { if bDesc != 0 { - v2 = __ccgo_ts + 29557 + v2 = __ccgo_ts + 29703 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } zOrder = v2 - zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29841, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) + zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29987, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+29862, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) - zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+29895, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) + zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+30008, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) + zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+30041, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) { rc = int32(SQLITE_NOMEM) } - zCom = __ccgo_ts + 14990 - zAnd = __ccgo_ts + 22013 + zCom = __ccgo_ts + 15083 + zAnd = __ccgo_ts + 22158 nBind++ } rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -187512,7 +189241,7 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr _, _, _, _ = i, zCol, zList, zS zList = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zS = __ccgo_ts + 1648 + zS = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187520,11 +189249,11 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)) - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29919, libc.VaList(bp+8, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30065, libc.VaList(bp+8, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29931, libc.VaList(bp+8, zList, zS)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30077, libc.VaList(bp+8, zList, zS)) } - zS = __ccgo_ts + 14990 + zS = __ccgo_ts + 15083 if zList == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) break @@ -187536,7 +189265,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 (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29940, libc.VaList(bp+8, zList, zObj)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30086, libc.VaList(bp+8, zList, zObj)) } } return zList @@ -187562,27 +189291,27 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _ = i, i1, zCol, zList, zSep, zSep1 zList = uintptr(0) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29955, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30101, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29969, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) - zSep = __ccgo_ts + 22013 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30115, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) + zSep = __ccgo_ts + 22158 } goto _1 _1: ; i++ } - zList = _rbuMPrintf(tls, p, __ccgo_ts+29981, libc.VaList(bp+8, zList)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30127, libc.VaList(bp+8, zList)) } else { - zSep1 = __ccgo_ts + 1648 + zSep1 = __ccgo_ts + 1662 i1 = 0 for { if !(i1 < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187590,8 +189319,8 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i1))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i1)*4)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+30031, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) - zSep1 = __ccgo_ts + 22013 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30177, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) + zSep1 = __ccgo_ts + 22158 } goto _2 _2: @@ -187614,7 +189343,7 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { // */ func _rbuBadControlError(tls *libc.TLS, p uintptr) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30044, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30190, 0) } // C documentation @@ -187648,7 +189377,7 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt if int32(libc.Xstrlen(tls, zMask)) != (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { _rbuBadControlError(tls, p) } else { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187656,16 +189385,16 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt } c = *(*uint8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) if int32(c) == int32('x') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30031, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+int32(1))) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30177, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+int32(1))) + zSep = __ccgo_ts + 15083 } else { if int32(c) == int32('d') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30070, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+int32(1))) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30216, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+int32(1))) + zSep = __ccgo_ts + 15083 } else { if int32(c) == int32('f') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30100, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+int32(1))) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30246, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+int32(1))) + zSep = __ccgo_ts + 15083 } } } @@ -187750,16 +189479,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { z = uintptr(0) _ = libc.Int32FromInt32(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zSep = __ccgo_ts + 30137 + zSep = __ccgo_ts + 30283 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_list = (pIter->zTbl) */ *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) /* PRAGMA index_xinfo = */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29289, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29435, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) - if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16582) == 0 { + if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16669) == 0 { zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+16, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+16, zIdx))) } break } @@ -187770,16 +189499,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { /* int iCid = sqlite3_column_int(pXInfo, 0); */ zCol = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), int32(2)) if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), int32(3)) != 0 { - v1 = __ccgo_ts + 29557 + v1 = __ccgo_ts + 29703 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } zDesc = v1 - z = _rbuMPrintf(tls, p, __ccgo_ts+30150, libc.VaList(bp+16, z, zSep, zCol, zDesc)) - zSep = __ccgo_ts + 14990 + z = _rbuMPrintf(tls, p, __ccgo_ts+30296, libc.VaList(bp+16, z, zSep, zCol, zDesc)) + zSep = __ccgo_ts + 15083 } } - z = _rbuMPrintf(tls, p, __ccgo_ts+30161, libc.VaList(bp+16, z)) + z = _rbuMPrintf(tls, p, __ccgo_ts+30307, libc.VaList(bp+16, z)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4))) } return z @@ -187819,13 +189548,13 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* SELECT name ... WHERE rootpage = $tnum */ zIdx = uintptr(0) /* Name of PK index */ *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) /* PRAGMA main.index_xinfo = $zIdx */ - zComma = __ccgo_ts + 1648 + zComma = __ccgo_ts + 1662 zCols = uintptr(0) /* Used to build up list of table cols */ zPk = uintptr(0) /* Used to build up table PK declaration */ /* 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. */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, __ccgo_ts+30165) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, __ccgo_ts+30311) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), tnum) if int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -187833,7 +189562,7 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { } } if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+16, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+16, zIdx))) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 4))) { @@ -187842,21 +189571,21 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), int32(1)) bDesc = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), int32(3)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), int32(4)) - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30215, libc.VaList(bp+16, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4)), zCollate)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30361, libc.VaList(bp+16, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4)), zCollate)) if bDesc != 0 { - v1 = __ccgo_ts + 29557 + v1 = __ccgo_ts + 29703 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - zPk = _rbuMPrintf(tls, p, __ccgo_ts+30237, libc.VaList(bp+16, zPk, zComma, iCid, v1)) - zComma = __ccgo_ts + 14990 + zPk = _rbuMPrintf(tls, p, __ccgo_ts+30383, libc.VaList(bp+16, zPk, zComma, iCid, v1)) + zComma = __ccgo_ts + 15083 } } - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30247, libc.VaList(bp+16, zCols)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30393, libc.VaList(bp+16, zCols)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 4))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30262, libc.VaList(bp+16, zCols, zPk)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30408, libc.VaList(bp+16, zCols, zPk)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, 0)) } } @@ -187891,30 +189620,30 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { _, _, _, _, _, _, _, _, _ = iCol, tnum, zCol, zComma, zPk, zPk1, zSql, v2, v3 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { tnum = (*TRbuObjIter)(unsafe.Pointer(pIter)).FiTnum - zComma = __ccgo_ts + 1648 + zComma = __ccgo_ts + 1662 zSql = uintptr(0) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, int32(1))) iCol = 0 for { if !((*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } - zPk = __ccgo_ts + 1648 + zPk = __ccgo_ts + 1662 zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*4)) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_IPK) && *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 { /* If the target table column is an "INTEGER PRIMARY KEY", add ** "PRIMARY KEY" to the imposter table column declaration. */ - zPk = __ccgo_ts + 30324 + zPk = __ccgo_ts + 30470 } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - v2 = __ccgo_ts + 30337 + v2 = __ccgo_ts + 30483 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30347, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*4)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) - zComma = __ccgo_ts + 14990 + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30493, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*4)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) + zComma = __ccgo_ts + 15083 goto _1 _1: ; @@ -187923,17 +189652,17 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { zPk1 = _rbuWithoutRowidPK(tls, p, pIter) if zPk1 != 0 { - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30374, libc.VaList(bp+16, zSql, zPk1)) + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30520, libc.VaList(bp+16, zSql, zPk1)) } } - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(1), tnum)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(1), tnum)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { - v3 = __ccgo_ts + 30381 + v3 = __ccgo_ts + 30527 } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30396, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30542, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, 0)) } } @@ -187960,7 +189689,7 @@ func _rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zColli zBind = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1)+bRbuRowid) if zBind != 0 { _ = libc.Int32FromInt32(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+88, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+30428, libc.VaList(bp+8, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+88, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+30574, libc.VaList(bp+8, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -188008,7 +189737,7 @@ func _rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintpt zRet = uintptr(0) _ = libc.Int32FromInt32(0) if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 4)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, __ccgo_ts+30485) + *(*int32)(unsafe.Pointer(bp + 4)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36, __ccgo_ts+30631) } if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx, -int32(1), libc.UintptrFromInt32(0)) @@ -188179,7 +189908,7 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zIdx = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx zLimit = uintptr(0) if nOffset != 0 { - zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30551, libc.VaList(bp+24, nOffset)) + zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30697, libc.VaList(bp+24, nOffset)) if !(zLimit != 0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) } @@ -188197,18 +189926,18 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zCollist = _rbuObjIterGetIndexCols(tls, p, pIter, bp, bp+4, bp+8, bp+12) zBind = _rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 12))) /* Create the imposter table used to write to this index. */ - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, int32(1))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30571, libc.VaList(bp+24, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 4)))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30717, libc.VaList(bp+24, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 4)))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, 0)) /* Create the statement to insert index entries */ (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 12)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+30636, libc.VaList(bp+24, zTbl, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+30782, libc.VaList(bp+24, zTbl, zBind))) } /* And to delete index entries */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+30672, libc.VaList(bp+24, zTbl, *(*uintptr)(unsafe.Pointer(bp + 8))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+30818, libc.VaList(bp+24, zTbl, *(*uintptr)(unsafe.Pointer(bp + 8))))) } /* Create the SELECT statement to read keys in sorted order */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -188223,26 +189952,26 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } if zStart != 0 { if zPart != 0 { - v2 = __ccgo_ts + 30706 + v2 = __ccgo_ts + 30852 } else { - v2 = __ccgo_ts + 30710 + v2 = __ccgo_ts + 30856 } v1 = v2 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30716, libc.VaList(bp+24, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30862, libc.VaList(bp+24, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) Xsqlite3_free(tls, zStart) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30777, libc.VaList(bp+24, zCollist, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30923, libc.VaList(bp+24, zCollist, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { if zPart != 0 { - v3 = __ccgo_ts + 30706 + v3 = __ccgo_ts + 30852 } else { - v3 = __ccgo_ts + 30710 + v3 = __ccgo_ts + 30856 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30838, libc.VaList(bp+24, zCollist, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30984, libc.VaList(bp+24, zCollist, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -188261,62 +189990,62 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zTbl1 = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl /* Imposter table name */ zBindings = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+bRbuRowid) zWhere1 = _rbuObjIterGetWhere(tls, p, pIter) - zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6596) - zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6592) + zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6660) + zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6656) zCollist = _rbuObjIterGetCollist(tls, p, pIter) (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol /* Create the imposter table or tables (if required). */ _rbuCreateImposterTable(tls, p, pIter) _rbuCreateImposterTable2(tls, p, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) { - v4 = __ccgo_ts + 1648 + v4 = __ccgo_ts + 1662 } else { - v4 = __ccgo_ts + 30997 + v4 = __ccgo_ts + 31143 } zWrite = v4 /* Create the INSERT statement to write to the target PK b-tree */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if bRbuRowid != 0 { - v5 = __ccgo_ts + 31006 + v5 = __ccgo_ts + 31152 } else { - v5 = __ccgo_ts + 1648 + v5 = __ccgo_ts + 1662 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31016, libc.VaList(bp+24, zWrite, zTbl1, zCollist, v5, zBindings))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31162, libc.VaList(bp+24, zWrite, zTbl1, zCollist, v5, zBindings))) } /* Create the DELETE statement to write to the target PK b-tree. ** Because it only performs INSERT operations, this is not required for ** an rbu vacuum handle. */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31052, libc.VaList(bp+24, zWrite, zTbl1, zWhere1))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31198, libc.VaList(bp+24, zWrite, zTbl1, zWhere1))) } if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zRbuRowid = __ccgo_ts + 1648 + zRbuRowid = __ccgo_ts + 1662 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zRbuRowid = __ccgo_ts + 31080 + zRbuRowid = __ccgo_ts + 31226 } /* Create the rbu_tmp_xxx table and the triggers to populate it. */ if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - v6 = __ccgo_ts + 31092 + v6 = __ccgo_ts + 31238 } else { - v6 = __ccgo_ts + 1648 + v6 = __ccgo_ts + 1662 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31109, libc.VaList(bp+24, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31185, libc.VaList(bp+24, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31255, libc.VaList(bp+24, p+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31331, libc.VaList(bp+24, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31484, libc.VaList(bp+24, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31630, libc.VaList(bp+24, zWrite, zTbl1, zNewlist)) } _rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) } /* Create the SELECT statement to read keys from data_xxx */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zRbuRowid1 = __ccgo_ts + 1648 + zRbuRowid1 = __ccgo_ts + 1662 zStart1 = uintptr(0) zOrder = uintptr(0) if bRbuRowid != 0 { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v7 = __ccgo_ts + 31583 + v7 = __ccgo_ts + 31729 } else { - v7 = __ccgo_ts + 31593 + v7 = __ccgo_ts + 31739 } zRbuRowid1 = v7 } @@ -188329,28 +190058,28 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } } if bRbuRowid != 0 { - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29640, 0) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29786, 0) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1648, __ccgo_ts+14990, __ccgo_ts+1648) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1662, __ccgo_ts+15083, __ccgo_ts+1662) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v8 = __ccgo_ts + 31604 + v8 = __ccgo_ts + 31750 } else { - v8 = __ccgo_ts + 1648 + v8 = __ccgo_ts + 1662 } if zStart1 != 0 { v9 = zStart1 } else { - v9 = __ccgo_ts + 1648 + v9 = __ccgo_ts + 1662 } if zOrder != 0 { - v10 = __ccgo_ts + 23207 + v10 = __ccgo_ts + 23352 } else { - v10 = __ccgo_ts + 1648 + v10 = __ccgo_ts + 1662 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+76, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31610, libc.VaList(bp+24, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+76, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31756, libc.VaList(bp+24, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) } Xsqlite3_free(tls, zStart1) Xsqlite3_free(tls, zOrder) @@ -188437,11 +190166,11 @@ func _rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, p (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpNext = (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - zPrefix = __ccgo_ts + 1648 + zPrefix = __ccgo_ts + 1662 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { - zPrefix = __ccgo_ts + 30997 + zPrefix = __ccgo_ts + 31143 } - zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31658, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) + zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31804, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+4, p+36, zUpdate) *(*uintptr)(unsafe.Pointer(ppStmt)) = (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpUpdate } @@ -188468,7 +190197,7 @@ func _rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) (r } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp, flags, v1) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp))) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) } @@ -188515,7 +190244,7 @@ func _rbuLoadState(tls *libc.TLS, p uintptr) (r uintptr) { if pRet == uintptr(0) { return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 4)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+31688, libc.VaList(bp+16, p+24))) + *(*int32)(unsafe.Pointer(bp + 4)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36, Xsqlite3_mprintf(tls, __ccgo_ts+31834, libc.VaList(bp+16, p+24))) for *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) { case int32(RBU_STATE_STAGE): @@ -188577,27 +190306,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu = _rbuOpenDbhandle(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, int32(1)) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain = dbMain if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBUCNT), p) + Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBUCNT), p) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) { - zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31718, libc.VaList(bp+8, zFile, zFile)) + zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31864, libc.VaList(bp+8, zFile, zFile)) } } /* If using separate RBU and state databases, attach the state database to ** the RBU db handle now. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31746, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+24, __ccgo_ts+3418, uint32(4)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31892, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+24, __ccgo_ts+3482, uint32(4)) } else { - libc.Xmemcpy(tls, p+24, __ccgo_ts+6585, uint32(4)) + libc.Xmemcpy(tls, p+24, __ccgo_ts+6649, uint32(4)) } /* If it has not already been created, create the rbu_state table */ - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31764, libc.VaList(bp+8, p+24)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31910, libc.VaList(bp+8, p+24)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { bOpen = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBUCNT), p) + rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBUCNT), p) if rc != int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -188630,10 +190359,10 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) return } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31830, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31976, 0) } else { zExtra = uintptr(0) - if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24596, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5)) { + if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24719, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5)) { zExtra = (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5 for *(*uint8)(unsafe.Pointer(zExtra)) != 0 { v1 = zExtra @@ -188647,16 +190376,16 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if zExtra == uintptr(0) { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } else { - v2 = __ccgo_ts + 31862 + v2 = __ccgo_ts + 32008 } if zExtra == uintptr(0) { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } else { v3 = zExtra } - zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+31864, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585), v2, v3)) + zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+32010, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649), v2, v3)) if zTarget == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) return @@ -188667,27 +190396,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31896, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32042, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31911, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32057, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31928, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32074, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBU), p) } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31944, 0) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32090, 0) /* Mark the database file just opened as an RBU target database. If ** this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. ** This is an error. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBU), p) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31972, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32118, 0) } } @@ -188737,7 +190466,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) { pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = int64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))<= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+32972, zState+uintptr(n-int32(7)), uint32(7)) { + if n >= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33118, zState+uintptr(n-int32(7)), uint32(7)) { return _rbuMisuseError(tls) } } @@ -189979,7 +191708,7 @@ func _rbuEditErrmsg(tls *libc.TLS, p uintptr) { if !(i < nErrmsg-uint32(8)) { break } - if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+30997, uint32(8)) == 0 { + if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31143, uint32(8)) == 0 { nDel = int32(8) for int32(*(*uint8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= int32('9') { nDel++ @@ -190007,7 +191736,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { if p != 0 { /* Commit the transaction to the *-oal file. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14894, uintptr(0), uintptr(0), p+36) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14987, uintptr(0), uintptr(0), p+36) } /* Sync the db file if currently doing an incremental checkpoint */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) { @@ -190016,7 +191745,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { } _rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14894, uintptr(0), uintptr(0), p+36) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14987, uintptr(0), uintptr(0), p+36) } /* Close any open statement handles. */ _rbuObjIterFinalize(tls, p+48) @@ -190026,7 +191755,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { ** specifying the current target and state databases to start a new ** vacuum from scratch. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 { - rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32980, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33126, uintptr(0), uintptr(0), uintptr(0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_DONE) && rc2 != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -190141,7 +191870,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14894, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14987, uintptr(0), uintptr(0), uintptr(0)) } } /* Sync the db file */ @@ -190155,19 +191884,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14894, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14987, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 14879 + v1 = __ccgo_ts + 14972 } else { - v1 = __ccgo_ts + 32932 + v1 = __ccgo_ts + 33078 } zBegin = v1 rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32932, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33078, uintptr(0), uintptr(0), uintptr(0)) } } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -190741,7 +192470,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xControl})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, int32(SQLITE_FCNTL_ZIPVFS), bp) if rc == SQLITE_OK { rc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33007, 0) + (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33153, 0) } else { if rc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p @@ -190767,7 +192496,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r if rc == SQLITE_OK && op == int32(SQLITE_FCNTL_VFSNAME) { pRbuVfs = (*Trbu_file)(unsafe.Pointer(p)).FpRbuVfs zIn = *(*uintptr)(unsafe.Pointer(pArg)) - zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33030, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33176, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -190968,7 +192697,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag if pDb != 0 { if (*Trbu_file)(unsafe.Pointer(pDb)).FpRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FeStage == int32(RBU_STAGE_OAL) { if (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6585) + zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6649) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -190982,7 +192711,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag } else { (*Trbu_file)(unsafe.Pointer(pFd)).FpRbu = (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRbu } - if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33041, 0) != 0 { + if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33187, 0) != 0 { _ = libc.Int32FromInt32(0) oflags = libc.Int32FromInt32(SQLITE_OPEN_TEMP_DB) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_EXCLUSIVE) | libc.Int32FromInt32(SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -191539,7 +193268,7 @@ func _statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint _sqlite3TokenInit(tls, bp, *(*uintptr)(unsafe.Pointer(argv + 3*4))) iDb = _sqlite3FindDb(tls, db, bp) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12191, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 3*4)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12316, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 3*4)))) return int32(SQLITE_ERROR) } } else { @@ -192042,7 +193771,7 @@ statNextRestart: (*(*TStatPage)(unsafe.Pointer(pCsr + 16))).FiPgno = iRoot (*(*TStatPage)(unsafe.Pointer(pCsr + 16))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33052, 0) + v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33198, 0) z = v1 (*(*TStatPage)(unsafe.Pointer(pCsr + 16))).FzPath = v1 if z == uintptr(0) { @@ -192080,8 +193809,8 @@ statNextRestart: if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { (*TStatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*TStatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*TStatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*Tu32)(unsafe.Pointer((*TStatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33054 - v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33063, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33200 + v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33209, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) z = v2 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v2 if z == uintptr(0) { @@ -192110,7 +193839,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage++ if (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage >= int32(libc.Uint32FromInt64(1280)/libc.Uint32FromInt64(40)) { _statResetCsr(tls, pCsr) - return _sqlite3CorruptError(tls, int32(222551)) + return _sqlite3CorruptError(tls, int32(224206)) } _ = libc.Int32FromInt32(0) if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell { @@ -192122,7 +193851,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnPage++ (*(*TStatPage)(unsafe.Pointer(p + 1*40))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33075, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) + v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33221, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) z = v4 (*(*TStatPage)(unsafe.Pointer(p + 1*40))).FzPath = v4 if z == uintptr(0) { @@ -192145,13 +193874,13 @@ statNextRestart: case int32(0x05): /* table internal */ fallthrough case int32(0x02): /* index internal */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33083 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33229 case int32(0x0D): /* table leaf */ fallthrough case int32(0x0A): /* index leaf */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33092 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33238 default: - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33097 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33243 break } *(*int32)(unsafe.Pointer(pCsr + 1320)) += (*TStatPage)(unsafe.Pointer(p1)).FnCell @@ -192160,7 +193889,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnMxPayload = (*TStatPage)(unsafe.Pointer(p1)).FnMxPayload } if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) + v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) z = v5 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v5 if z == uintptr(0) { @@ -192249,12 +193978,12 @@ func _statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, a (*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg = uint8(0) } pSql = Xsqlite3_str_new(tls, (*TStatTable)(unsafe.Pointer(pTab)).Fdb) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33107, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*16))).FzDbSName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33253, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*16))).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33262, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33408, libc.VaList(bp+8, zName)) } if idxNum&int32(0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33276, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33422, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -192331,7 +194060,7 @@ func _statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) (r int32) { // ** Invoke this routine to register the "dbstat" virtual table module // */ func _sqlite3DbstatRegister(tls *libc.TLS, db uintptr) (r int32) { - return Xsqlite3_create_module(tls, db, __ccgo_ts+33291, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, __ccgo_ts+33437, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) } var _dbstat_module = Tsqlite3_module{} @@ -193621,20 +195350,20 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, *(*uintptr)(unsafe.Pointer(pazDflt)) = uintptr(0) } nThis = _sqlite3Strlen30(tls, zThis) - if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11582, zThis) { + if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11707, zThis) { rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { /* For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. */ - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33298, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33444, 0) } else { if rc == int32(SQLITE_ERROR) { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1648, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1662, 0) } else { return rc } } } else { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33419, libc.VaList(bp+16, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33565, libc.VaList(bp+16, zDb, zThis)) } if !(zPragma != 0) { return int32(SQLITE_NOMEM) @@ -193658,7 +195387,7 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, bRowid = 0 } nDbCol += bRowid - nByte += int64(libc.Xstrlen(tls, __ccgo_ts+29640)) + nByte += int64(libc.Xstrlen(tls, __ccgo_ts+29786)) rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == SQLITE_OK { nByte += int64(uint32(nDbCol) * (libc.Uint32FromInt64(4)*libc.Uint32FromInt32(2) + libc.Uint32FromInt64(1) + libc.Uint32FromInt32(1) + libc.Uint32FromInt32(1))) @@ -193682,8 +195411,8 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 if bRowid != 0 { - nName = libc.Xstrlen(tls, __ccgo_ts+29640) - libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29640, nName+uint32(1)) + nName = libc.Xstrlen(tls, __ccgo_ts+29786) + libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29786, nName+uint32(1)) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)) = pAlloc pAlloc += uintptr(nName + uint32(1)) *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) = uint8(1) @@ -193776,7 +195505,7 @@ func _sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr, db uintptr ; i++ } - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11582, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11707, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { (*TSessionTable)(unsafe.Pointer(pTab)).FbStat1 = int32(1) } if pSession != 0 && (*Tsqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { @@ -194067,10 +195796,10 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin _, _, _, _ = ii, zDflt, zSep, v2 *(*TSessionBuffer)(unsafe.Pointer(bp)) = TSessionBuffer{} *(*int32)(unsafe.Pointer(bp + 12)) = SQLITE_OK - zSep = __ccgo_ts + 11202 + zSep = __ccgo_ts + 11327 ii = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) - _sessionAppendPrintf(tls, bp, bp+12, __ccgo_ts+33448, 0) + _sessionAppendPrintf(tls, bp, bp+12, __ccgo_ts+33594, 0) ii = 0 for { if !(ii < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol) { @@ -194079,11 +195808,11 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin if *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*4)) != 0 { v2 = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*4)) } else { - v2 = __ccgo_ts + 1649 + v2 = __ccgo_ts + 1663 } zDflt = v2 - _sessionAppendPrintf(tls, bp, bp+12, __ccgo_ts+5076, libc.VaList(bp+24, zSep, zDflt)) - zSep = __ccgo_ts + 14990 + _sessionAppendPrintf(tls, bp, bp+12, __ccgo_ts+5140, libc.VaList(bp+24, zSep, zDflt)) + zSep = __ccgo_ts + 15083 goto _1 _1: ; @@ -194402,7 +196131,7 @@ func _sessionPreupdateOneChange(tls *libc.TLS, op int32, iRowid Ti64, pSession u rc = int32(SQLITE_NOMEM) goto error_out } - _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1648, uint8(0), libc.UintptrFromInt32(0)) + _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1662, uint8(0), libc.UintptrFromInt32(0)) (*Tsqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p } } @@ -194733,7 +196462,7 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr var i int32 var zRet, zSep uintptr _, _, _ = i, zRet, zSep - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 zRet = uintptr(0) i = 0 for { @@ -194741,8 +196470,8 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr break } if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33455, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)))) - zSep = __ccgo_ts + 22013 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33601, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)))) + zSep = __ccgo_ts + 22158 if zRet == uintptr(0) { break } @@ -194761,7 +196490,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint var bHave, i int32 var zRet, zSep uintptr _, _, _, _ = bHave, i, zRet, zSep - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 zRet = uintptr(0) bHave = 0 i = 0 @@ -194771,8 +196500,8 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if int32(*(*Tu8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = int32(1) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33489, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)))) - zSep = __ccgo_ts + 33530 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33635, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)))) + zSep = __ccgo_ts + 33676 if zRet == uintptr(0) { break } @@ -194784,7 +196513,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if bHave == 0 { _ = libc.Int32FromInt32(0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1722, 0) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1782, 0) } return zRet } @@ -194795,12 +196524,12 @@ func _sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, bRowid int var zRet, zSel, v1 uintptr _, _, _ = zRet, zSel, v1 if bRowid != 0 { - v1 = __ccgo_ts + 33535 + v1 = __ccgo_ts + 33681 } else { - v1 = __ccgo_ts + 6590 + v1 = __ccgo_ts + 6654 } zSel = v1 - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33546, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33692, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -194861,11 +196590,11 @@ func _sessionAllCols(tls *libc.TLS, zDb uintptr, pTab uintptr) (r uintptr) { break } if zRet != 0 { - v2 = __ccgo_ts + 14990 + v2 = __ccgo_ts + 15083 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33625, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*4)))) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33771, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*4)))) if !(zRet != 0) { break } @@ -194893,7 +196622,7 @@ func _sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFr } else { z1 = _sessionAllCols(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, pTab) z2 = _sessionAllCols(tls, zFrom, pTab) - zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33644, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) + zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33790, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) if zStmt == uintptr(0) || z1 == uintptr(0) || z2 == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -194993,7 +196722,7 @@ func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl u Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 28))) if bMismatch != 0 { if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33701, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33847, 0) } rc = int32(SQLITE_SCHEMA) } @@ -195325,7 +197054,7 @@ func _sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* aBuf at bp+0 */ [24]uint8 - Xsqlite3_snprintf(tls, int32(libc.Uint32FromInt64(24)-libc.Uint32FromInt32(1)), bp, __ccgo_ts+5138, libc.VaList(bp+32, iVal)) + Xsqlite3_snprintf(tls, int32(libc.Uint32FromInt64(24)-libc.Uint32FromInt32(1)), bp, __ccgo_ts+5202, libc.VaList(bp+32, iVal)) _sessionAppendStr(tls, p, bp, pRc) } @@ -195620,23 +197349,23 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt _, _, _, _, _, _, _ = i, nSql, zCols, zSep, zSql, v1, v3 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK zSql = uintptr(0) - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 if bRowid != 0 { - v1 = __ccgo_ts + 33535 + v1 = __ccgo_ts + 33681 } else { - v1 = __ccgo_ts + 6590 + v1 = __ccgo_ts + 6654 } zCols = v1 nSql = -int32(1) *(*TSessionBuffer)(unsafe.Pointer(bp + 4)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 16)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 28)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+4, __ccgo_ts+33728, bp) - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11582, zTab) { - _sessionAppendStr(tls, bp+4, __ccgo_ts+33732, bp) - _sessionAppendStr(tls, bp+16, __ccgo_ts+33756, bp) - _sessionAppendStr(tls, bp+28, __ccgo_ts+33765, bp) - zCols = __ccgo_ts + 33810 + _sessionAppendStr(tls, bp+4, __ccgo_ts+33874, bp) + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11707, zTab) { + _sessionAppendStr(tls, bp+4, __ccgo_ts+33878, bp) + _sessionAppendStr(tls, bp+16, __ccgo_ts+33902, bp) + _sessionAppendStr(tls, bp+28, __ccgo_ts+33911, bp) + zCols = __ccgo_ts + 33956 } else { i = 0 for { @@ -195646,11 +197375,11 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { _sessionAppendStr(tls, bp+16, zSep, bp) _sessionAppendStr(tls, bp+28, zSep, bp) - zSep = __ccgo_ts + 14990 + zSep = __ccgo_ts + 15083 _sessionAppendIdent(tls, bp+16, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), bp) - _sessionAppendPrintf(tls, bp+28, bp, __ccgo_ts+33824, libc.VaList(bp+48, i+int32(1))) + _sessionAppendPrintf(tls, bp+28, bp, __ccgo_ts+33970, libc.VaList(bp+48, i+int32(1))) } else { - _sessionAppendPrintf(tls, bp+4, bp, __ccgo_ts+33828, libc.VaList(bp+48, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)))) + _sessionAppendPrintf(tls, bp+4, bp, __ccgo_ts+33974, libc.VaList(bp+48, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)))) } goto _2 _2: @@ -195662,9 +197391,9 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if bIgnoreNoop != 0 { v3 = (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+33855, libc.VaList(bp+48, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 28))).FaBuf)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+34001, libc.VaList(bp+48, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 28))).FaBuf)) if zSql == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } @@ -195810,7 +197539,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+33897, uintptr(0), uintptr(0), uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+34043, uintptr(0), uintptr(0), uintptr(0)) if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp + 12)) } @@ -195917,7 +197646,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, } } Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf) - Xsqlite3_exec(tls, db, __ccgo_ts+33917, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34063, uintptr(0), uintptr(0), uintptr(0)) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return *(*int32)(unsafe.Pointer(bp + 12)) } @@ -196338,7 +198067,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, int32(9)) if rc == SQLITE_OK { if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData { - rc = _sqlite3CorruptError(tls, int32(226700)) + rc = _sqlite3CorruptError(tls, int32(228355)) } else { v3 = pIn + 8 v2 = *(*int32)(unsafe.Pointer(v3)) @@ -196363,7 +198092,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = _sqlite3CorruptError(tls, int32(226720)) + rc = _sqlite3CorruptError(tls, int32(228375)) } else { if eType == int32(SQLITE_TEXT) { v4 = int32(SQLITE_UTF8) @@ -196378,7 +198107,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap } if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) { if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) { - rc = _sqlite3CorruptError(tls, int32(226730)) + rc = _sqlite3CorruptError(tls, int32(228385)) } else { *(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal) if eType == int32(SQLITE_INTEGER) { @@ -196434,7 +198163,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) ( ** large value for nCol may cause nRead to wrap around and become ** negative. Leading to a crash. */ if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) { - rc = _sqlite3CorruptError(tls, int32(226778)) + rc = _sqlite3CorruptError(tls, int32(228433)) } else { rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100)) nRead += *(*int32)(unsafe.Pointer(bp)) @@ -196540,7 +198269,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) { (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 _sessionBufferGrow(tls, p+44, int64(nByte), bp) } else { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(226866)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(228521)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -196613,12 +198342,12 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { return (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc } + _sessionDiscardData(tls, p) + (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext /* If the iterator is already at the end of the changeset, return DONE. */ if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { return int32(SQLITE_DONE) } - _sessionDiscardData(tls, p) - (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext v3 = p + 8 v2 = *(*int32)(unsafe.Pointer(v3)) *(*int32)(unsafe.Pointer(v3))++ @@ -196649,7 +198378,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin /* The first record in the changeset is not a table header. Must be a ** corrupt changeset. */ _ = libc.Int32FromInt32(0) - v7 = _sqlite3CorruptError(tls, int32(226952)) + v7 = _sqlite3CorruptError(tls, int32(228607)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7 return v7 } @@ -196659,7 +198388,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin *(*int32)(unsafe.Pointer(v9))++ (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8)))) if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) { - v10 = _sqlite3CorruptError(tls, int32(226958)) + v10 = _sqlite3CorruptError(tls, int32(228613)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10 return v10 } @@ -196740,7 +198469,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin _ = libc.Int32FromInt32(0) *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4)) if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) == uintptr(0) { - v16 = _sqlite3CorruptError(tls, int32(227002)) + v16 = _sqlite3CorruptError(tls, int32(228657)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16 return v16 } @@ -197151,7 +198880,7 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu goto finished_invert } default: - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(227367)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(229022)) goto finished_invert } _ = libc.Int32FromInt32(0) @@ -197356,18 +199085,18 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 } if pUp == uintptr(0) { nByte = int32(uint32(12) * uint32(nU32) * uint32(4)) - bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11582) == 0) + bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11707) == 0) pUp = Xsqlite3_malloc(tls, nByte) if pUp == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } else { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 libc.Xmemset(tls, bp+4, 0, uint32(12)) (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*12 libc.Xmemcpy(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*TSessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint32(nU32)*uint32(4)) - _sessionAppendStr(tls, bp+4, __ccgo_ts+33935, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34081, bp) _sessionAppendIdent(tls, bp+4, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+33948, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34094, bp) /* Create the assignments part of the UPDATE */ ii = 0 for { @@ -197377,9 +199106,9 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if int32(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*4)) != 0 { _sessionAppendStr(tls, bp+4, zSep, bp) _sessionAppendIdent(tls, bp+4, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+33954, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34100, bp) _sessionAppendInteger(tls, bp+4, ii*int32(2)+int32(1), bp) - zSep = __ccgo_ts + 14990 + zSep = __ccgo_ts + 15083 } goto _2 _2: @@ -197387,8 +199116,8 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 ii++ } /* Create the WHERE clause part of the UPDATE */ - zSep = __ccgo_ts + 1648 - _sessionAppendStr(tls, bp+4, __ccgo_ts+33959, bp) + zSep = __ccgo_ts + 1662 + _sessionAppendStr(tls, bp+4, __ccgo_ts+34105, bp) ii = 0 for { if !(ii < (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { @@ -197398,13 +199127,13 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 _sessionAppendStr(tls, bp+4, zSep, bp) if bStat1 != 0 && ii == int32(1) { _ = libc.Int32FromInt32(0) - _sessionAppendStr(tls, bp+4, __ccgo_ts+33967, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34113, bp) } else { _sessionAppendIdent(tls, bp+4, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+34042, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34188, bp) _sessionAppendInteger(tls, bp+4, ii*int32(2)+int32(2), bp) } - zSep = __ccgo_ts + 22013 + zSep = __ccgo_ts + 22158 } goto _3 _3: @@ -197488,13 +199217,13 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in var _ /* buf at bp+4 */ TSessionBuffer var _ /* rc at bp+0 */ int32 _, _, _ = i, nPk, zSep - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 4)) = TSessionBuffer{} nPk = 0 - _sessionAppendStr(tls, bp+4, __ccgo_ts+34048, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34194, bp) _sessionAppendIdent(tls, bp+4, zTab, bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+33959, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34105, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -197504,9 +199233,9 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in nPk++ _sessionAppendStr(tls, bp+4, zSep, bp) _sessionAppendIdent(tls, bp+4, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+33954, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34100, bp) _sessionAppendInteger(tls, bp+4, i+int32(1), bp) - zSep = __ccgo_ts + 22013 + zSep = __ccgo_ts + 22158 } goto _1 _1: @@ -197514,10 +199243,10 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in i++ } if nPk < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol { - _sessionAppendStr(tls, bp+4, __ccgo_ts+34066, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34212, bp) _sessionAppendInteger(tls, bp+4, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol+int32(1), bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+33530, bp) - zSep = __ccgo_ts + 1648 + _sessionAppendStr(tls, bp+4, __ccgo_ts+33676, bp) + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -197526,16 +199255,16 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in if !(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) { _sessionAppendStr(tls, bp+4, zSep, bp) _sessionAppendIdent(tls, bp+4, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+34042, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34188, bp) _sessionAppendInteger(tls, bp+4, i+int32(1), bp) - zSep = __ccgo_ts + 34074 + zSep = __ccgo_ts + 34220 } goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+4, __ccgo_ts+5106, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+5170, bp) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf, p+4, uintptr(0)) @@ -197561,7 +199290,7 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in // */ func _sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r int32) { /* TODO */ - return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6585, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+12) + return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6649, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+12) } // C documentation @@ -197584,16 +199313,16 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 4)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+4, __ccgo_ts+34079, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34225, bp) _sessionAppendIdent(tls, bp+4, zTab, bp) - _sessionAppendStr(tls, bp+4, __ccgo_ts+22019, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+22164, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } if i != 0 { - _sessionAppendStr(tls, bp+4, __ccgo_ts+14990, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+15083, bp) } _sessionAppendIdent(tls, bp+4, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp) goto _1 @@ -197601,19 +199330,19 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in ; i++ } - _sessionAppendStr(tls, bp+4, __ccgo_ts+34097, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34243, bp) i = int32(1) for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } - _sessionAppendStr(tls, bp+4, __ccgo_ts+34108, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+34254, bp) goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+4, __ccgo_ts+5106, bp) + _sessionAppendStr(tls, bp+4, __ccgo_ts+5170, bp) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf, p+8, uintptr(0)) } @@ -197636,12 +199365,12 @@ func _sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) (r int func _sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) (r int32) { var rc int32 _ = rc - rc = _sessionSelectRow(tls, db, __ccgo_ts+11582, p) + rc = _sessionSelectRow(tls, db, __ccgo_ts+11707, p) if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34112) + rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34258) } if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+4, __ccgo_ts+34225) + rc = _sessionPrepare(tls, db, p+4, __ccgo_ts+34371) } return rc } @@ -197708,7 +199437,7 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { /* The value in the changeset was "undefined". This indicates a ** corrupt changeset blob. */ - rc = _sqlite3CorruptError(tls, int32(227849)) + rc = _sqlite3CorruptError(tls, int32(229504)) } else { rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp))) } @@ -198136,7 +199865,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply } else { if *(*int32)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34369, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34515, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = _sessionBindRow(tls, pIter, __ccgo_fp(Xsqlite3changeset_new), (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) Xsqlite3_bind_int(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol+int32(1), int32(1)) @@ -198149,7 +199878,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34390, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34536, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -198245,10 +199974,10 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 4))).FbIgnoreNoop = libc.BoolUint8(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_IGNORENOOP) != 0)) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34409, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34555, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34435, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34581, uintptr(0), uintptr(0), uintptr(0)) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) { Xsqlite3changeset_op(tls, pIter, bp+92, bp+84, bp+88, uintptr(0)) @@ -198279,7 +200008,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui ** non-zero, proceed. */ schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 92)))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp + 92)))) + *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp + 92)))) if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { rc = int32(SQLITE_NOMEM) break @@ -198289,7 +200018,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } else { nMinCol = 0 Xsqlite3changeset_pk(tls, pIter, bp+96, uintptr(0)) - rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6585, *(*uintptr)(unsafe.Pointer(bp + 92)), bp+4+16, bp, bp+4+20, uintptr(0), bp+4+24, bp+4+76) + rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6649, *(*uintptr)(unsafe.Pointer(bp + 92)), bp+4+16, bp, bp+4+20, uintptr(0), bp+4+24, bp+4+76) if rc != SQLITE_OK { break } @@ -198308,18 +200037,18 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 4))).FnCol == 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34465, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34611, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp)))) } else { if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 4))).FnCol < *(*int32)(unsafe.Pointer(bp + 84)) { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34509, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 4))).FnCol, *(*int32)(unsafe.Pointer(bp + 84)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34655, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 4))).FnCol, *(*int32)(unsafe.Pointer(bp + 84)))) } else { if *(*int32)(unsafe.Pointer(bp + 84)) < nMinCol || libc.Xmemcmp(tls, (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 4))).FabPK, *(*uintptr)(unsafe.Pointer(bp + 96)), uint32(*(*int32)(unsafe.Pointer(bp + 84)))) != 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34580, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34726, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp)))) } else { (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 4))).FnCol = *(*int32)(unsafe.Pointer(bp + 84)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11582) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11707) { v2 = _sessionStat1Sql(tls, db, bp+4) rc = v2 if v2 != 0 { @@ -198376,13 +200105,13 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } } } - Xsqlite3_exec(tls, db, __ccgo_ts+34640, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34786, uintptr(0), uintptr(0), uintptr(0)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34670, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34816, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, __ccgo_ts+34694, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, __ccgo_ts+34670, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34840, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34816, uintptr(0), uintptr(0), uintptr(0)) } } _ = libc.Int32FromInt32(0) @@ -198476,6 +200205,7 @@ type Tsqlite3_changegroup1 = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -198842,118 +200572,145 @@ func _sessionChangesetExtendRecord(tls *libc.TLS, pGrp uintptr, pTab uintptr, nC // C documentation // // /* -// ** Add all changes in the changeset traversed by the iterator passed as -// ** the first argument to the changegroup hash tables. +// ** Locate or create a SessionTable object that may be used to add the +// ** change currently pointed to by iterator pIter to changegroup pGrp. +// ** If successful, set output variable (*ppTab) to point to the table +// ** object and return SQLITE_OK. Otherwise, if some error occurs, return +// ** an SQLite error code and leave (*ppTab) set to NULL. // */ -func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { - bp := tls.Alloc(48) - defer tls.Free(48) - var bPkOnly1, bPkOnly2, iHash, nNew, rc int32 - var pExist, pTab, pp, ppTab uintptr - var _ /* aRec at bp+0 */ uintptr - var _ /* abPK at bp+40 */ uintptr - var _ /* bIndirect at bp+32 */ int32 - var _ /* nCol at bp+24 */ int32 - var _ /* nRec at bp+4 */ int32 - var _ /* op at bp+28 */ int32 - var _ /* pChange at bp+36 */ uintptr - var _ /* rec at bp+8 */ TSessionBuffer - var _ /* zNew at bp+20 */ uintptr - _, _, _, _, _, _, _, _, _ = bPkOnly1, bPkOnly2, iHash, nNew, pExist, pTab, pp, ppTab, rc +func _sessionChangesetFindTable(tls *libc.TLS, pGrp uintptr, zTab uintptr, pIter uintptr, ppTab uintptr) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var nTab, rc int32 + var pTab, ppNew uintptr + var _ /* abPK at bp+0 */ uintptr + var _ /* nCol at bp+4 */ int32 + _, _, _, _ = nTab, pTab, ppNew, rc rc = SQLITE_OK pTab = uintptr(0) - *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} - for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+4, uintptr(0)) { - pExist = uintptr(0) - /* Ensure that only changesets, or only patchsets, but not a mixture - ** of both, are being combined. It is an error to try to combine a - ** changeset and a patchset. */ - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset - } else { - if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { - rc = int32(SQLITE_ERROR) - break - } + nTab = int32(libc.Xstrlen(tls, zTab)) + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + *(*uintptr)(unsafe.Pointer(ppTab)) = uintptr(0) + Xsqlite3changeset_pk(tls, pIter, bp, bp+4) + /* Search the list for an existing table */ + pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList + for { + if !(pTab != 0) { + break } - Xsqlite3changeset_op(tls, pIter, bp+20, bp+24, bp+28, bp+32) - if !(pTab != 0) || Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 20)), (*TSessionTable)(unsafe.Pointer(pTab)).FzName) != 0 { - /* Search the list for a matching table */ - nNew = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 20)))) - Xsqlite3changeset_pk(tls, pIter, bp+40, uintptr(0)) - pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList - for { - if !(pTab != 0) { - break - } - if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 20)), nNew+int32(1)) { - break - } - goto _1 - _1: - ; - pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext - } - if !(pTab != 0) { - pTab = Xsqlite3_malloc64(tls, uint64(uint32(48)+uint32(*(*int32)(unsafe.Pointer(bp + 24)))+uint32(nNew)+uint32(1))) - if !(pTab != 0) { - rc = int32(SQLITE_NOMEM) - break - } - libc.Xmemset(tls, pTab, 0, uint32(48)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 24)) - (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*48 - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 40)), uint32(*(*int32)(unsafe.Pointer(bp + 24)))) - (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 24))) - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 20)), uint32(nNew+int32(1))) - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 - rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) - if rc != 0 { - _ = libc.Int32FromInt32(0) - Xsqlite3_free(tls, pTab) - break - } - } - /* The new object must be linked on to the end of the list, not - ** simply added to the start of it. This is to ensure that the - ** tables within the output of sqlite3changegroup_output() are in - ** the right order. */ - ppTab = pGrp + 8 - for { - if !(*(*uintptr)(unsafe.Pointer(ppTab)) != 0) { - break - } - goto _2 - _2: - ; - ppTab = *(*uintptr)(unsafe.Pointer(ppTab)) - } - *(*uintptr)(unsafe.Pointer(ppTab)) = pTab - } - if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 24)), *(*uintptr)(unsafe.Pointer(bp + 40))) != 0) { - rc = int32(SQLITE_SCHEMA) - break - } + if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, nTab+int32(1)) { + break } - if *(*int32)(unsafe.Pointer(bp + 24)) < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol { - _ = libc.Int32FromInt32(0) - rc = _sessionChangesetExtendRecord(tls, pGrp, pTab, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), bp+8) + goto _1 + _1: + ; + pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext + } + /* If one was not found above, create a new table now */ + if !(pTab != 0) { + pTab = Xsqlite3_malloc64(tls, uint64(uint32(48)+uint32(*(*int32)(unsafe.Pointer(bp + 4)))+uint32(nTab)+uint32(1))) + if !(pTab != 0) { + return int32(SQLITE_NOMEM) + } + libc.Xmemset(tls, pTab, 0, uint32(48)) + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 4)) + (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*48 + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp)), uint32(*(*int32)(unsafe.Pointer(bp + 4)))) + (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 4))) + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, uint32(nTab+int32(1))) + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 + rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) if rc != 0 { + _ = libc.Int32FromInt32(0) + Xsqlite3_free(tls, pTab) + return rc + } + } + /* The new object must be linked on to the end of the list, not + ** simply added to the start of it. This is to ensure that the + ** tables within the output of sqlite3changegroup_output() are in + ** the right order. */ + ppNew = pGrp + 8 + for { + if !(*(*uintptr)(unsafe.Pointer(ppNew)) != 0) { break } - *(*uintptr)(unsafe.Pointer(bp)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf - *(*int32)(unsafe.Pointer(bp + 4)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf + goto _2 + _2: + ; + ppNew = *(*uintptr)(unsafe.Pointer(ppNew)) } - if _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { - rc = int32(SQLITE_NOMEM) - break + *(*uintptr)(unsafe.Pointer(ppNew)) = pTab + } + /* Check that the table is compatible. */ + if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 4)), *(*uintptr)(unsafe.Pointer(bp))) != 0) { + rc = int32(SQLITE_SCHEMA) + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + return rc +} + +// C documentation +// +// /* +// ** Add the change currently indicated by iterator pIter to the hash table +// ** belonging to changegroup pGrp. +// */ +func _sessionOneChangeToHash(tls *libc.TLS, pGrp uintptr, pIter uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(32) + defer tls.Free(32) + var aRec, pBuf, pExist, pp uintptr + var bPkOnly1, bPkOnly2, iHash, nRec, rc int32 + var _ /* bIndirect at bp+8 */ int32 + var _ /* nCol at bp+0 */ int32 + var _ /* op at bp+4 */ int32 + var _ /* pChange at bp+12 */ uintptr + var _ /* pTab at bp+16 */ uintptr + var _ /* zTab at bp+20 */ uintptr + _, _, _, _, _, _, _, _, _ = aRec, bPkOnly1, bPkOnly2, iHash, nRec, pBuf, pExist, pp, rc + rc = SQLITE_OK + *(*int32)(unsafe.Pointer(bp)) = 0 + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + iHash = 0 + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 12)) = uintptr(0) + pExist = uintptr(0) + pp = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) + aRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent+int32(2)) + nRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent - int32(2) + /* Ensure that only changesets, or only patchsets, but not a mixture + ** of both, are being combined. It is an error to try to combine a + ** changeset and a patchset. */ + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = int32(SQLITE_ERROR) } - iHash = int32(_sessionChangeHash(tls, pTab, libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 28)) == int32(SQLITE_DELETE)), *(*uintptr)(unsafe.Pointer(bp)), (*TSessionTable)(unsafe.Pointer(pTab)).FnChange)) + } + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(bp + 20)) = uintptr(0) + Xsqlite3changeset_op(tls, pIter, bp+20, bp, bp+4, bp+8) + rc = _sessionChangesetFindTable(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 20)), pIter, bp+16) + } + if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) < (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FnCol { + pBuf = pGrp + 12 + rc = _sessionChangesetExtendRecord(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 16)), *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), aRec, nRec, pBuf) + aRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + nRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FnBuf + _ = libc.Int32FromInt32(0) + } + if rc == SQLITE_OK && _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 16))) != 0 { + rc = int32(SQLITE_NOMEM) + } + if rc == SQLITE_OK { /* Search for existing entry. If found, remove it from the hash table. - ** Code below may link it back in. - */ - pp = (*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4 + ** Code below may link it back in. */ + iHash = int32(_sessionChangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)), aRec, (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FnChange)) + pp = (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FapChange + uintptr(iHash)*4 for { if !(*(*uintptr)(unsafe.Pointer(pp)) != 0) { break @@ -198962,30 +200719,54 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase bPkOnly2 = 0 if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { bPkOnly1 = libc.BoolInt32(int32((*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fop) == int32(SQLITE_DELETE)) - bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 28)) == int32(SQLITE_DELETE)) + bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)) } - if _sessionChangeEqual(tls, pTab, bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp))) != 0 { + if _sessionChangeEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, aRec) != 0 { pExist = *(*uintptr)(unsafe.Pointer(pp)) *(*uintptr)(unsafe.Pointer(pp)) = (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry-- + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FnEntry-- break } - goto _3 - _3: + goto _1 + _1: ; pp = *(*uintptr)(unsafe.Pointer(pp)) + 16 } - rc = _sessionChangeMerge(tls, pTab, bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 28)), *(*int32)(unsafe.Pointer(bp + 32)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), bp+36) - if rc != 0 { + } + if rc == SQLITE_OK { + rc = _sessionChangeMerge(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 4)), *(*int32)(unsafe.Pointer(bp + 8)), aRec, nRec, bp+12) + } + if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 12)) != 0 { + (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FapChange + uintptr(iHash)*4)) + *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FapChange + uintptr(iHash)*4)) = *(*uintptr)(unsafe.Pointer(bp + 12)) + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FnEntry++ + } + if rc == SQLITE_OK { + rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// C documentation +// +// /* +// ** Add all changes in the changeset traversed by the iterator passed as +// ** the first argument to the changegroup hash tables. +// */ +func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var rc int32 + var _ /* aRec at bp+0 */ uintptr + var _ /* nRec at bp+4 */ int32 + _ = rc + rc = SQLITE_OK + for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+4, uintptr(0)) { + rc = _sessionOneChangeToHash(tls, pGrp, pIter, bRebase) + if rc != SQLITE_OK { break } - if *(*uintptr)(unsafe.Pointer(bp + 36)) != 0 { - (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 36)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)) - *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*4)) = *(*uintptr)(unsafe.Pointer(bp + 36)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry++ - } } - Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf) if rc == SQLITE_OK { rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc } @@ -199096,11 +200877,11 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) (r int32) { var rc int32 _, _ = p, rc rc = SQLITE_OK /* New object */ - p = Xsqlite3_malloc(tls, int32(20)) + p = Xsqlite3_malloc(tls, int32(32)) if p == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, p, 0, uint32(20)) + libc.Xmemset(tls, p, 0, uint32(32)) } *(*uintptr)(unsafe.Pointer(pp)) = p return rc @@ -199122,7 +200903,7 @@ func Xsqlite3changegroup_schema(tls *libc.TLS, pGrp uintptr, db uintptr, zDb uin ** or after sqlite3changegroup_schema() has already been called. */ rc = int32(SQLITE_MISUSE) } else { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, zDb)) + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, zDb)) if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -199152,6 +200933,19 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin return rc } +// C documentation +// +// /* +// ** Add a single change to a changeset-group. +// */ +func Xsqlite3changegroup_add_change(tls *libc.TLS, pGrp uintptr, pIter uintptr) (r int32) { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent == (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc != SQLITE_OK || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbInvert != 0 { + /* Iterator does not point to any valid entry or is an INVERT iterator. */ + return int32(SQLITE_ERROR) + } + return _sessionOneChangeToHash(tls, pGrp, pIter, 0) +} + // C documentation // // /* @@ -199199,6 +200993,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { if pGrp != 0 { Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Frec.FaBuf) Xsqlite3_free(tls, pGrp) } } @@ -199566,11 +201361,11 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) (r int32) { var rc int32 _, _ = pNew, rc rc = SQLITE_OK - pNew = Xsqlite3_malloc(tls, int32(20)) + pNew = Xsqlite3_malloc(tls, int32(32)) if pNew == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, pNew, 0, uint32(20)) + libc.Xmemset(tls, pNew, 0, uint32(32)) } *(*uintptr)(unsafe.Pointer(ppNew)) = pNew return rc @@ -199644,6 +201439,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { if p != 0 { _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.Frec.FaBuf) Xsqlite3_free(tls, p) } } @@ -200297,6 +202093,9 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** sqlite3Fts5ParserARG_STORE Code to store %extra_argument into fts5yypParser // ** sqlite3Fts5ParserARG_FETCH Code to extract %extra_argument from fts5yypParser // ** sqlite3Fts5ParserCTX_* As sqlite3Fts5ParserARG_ except for %extra_context +// ** fts5YYREALLOC Name of the realloc() function to use +// ** fts5YYFREE Name of the free() function to use +// ** fts5YYDYNSTACK True if stack space should be extended on heap // ** fts5YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** fts5YYNSTATE the combined number of states. @@ -200310,6 +202109,8 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** fts5YY_NO_ACTION The fts5yy_action[] code for no-op // ** fts5YY_MIN_REDUCE Minimum value for reduce actions // ** fts5YY_MAX_REDUCE Maximum value for reduce actions +// ** fts5YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** fts5YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type Tfts5YYMINORTYPE = struct { @@ -200336,6 +202137,13 @@ type fts5YYMINORTYPE = Tfts5YYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -200765,8 +202573,9 @@ type fts5yyStackEntry = Tfts5yyStackEntry type Tfts5yyParser1 = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser1 = Tfts5yyParser1 @@ -200774,14 +202583,19 @@ type fts5yyParser1 = Tfts5yyParser1 type Tfts5yyParser = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser = Tfts5yyParser /* #include */ +/* For builds that do no have a growable stack, fts5yyGrowStack always +** returns an error. + */ + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3Fts5ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -200796,10 +202610,11 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { var fts5yypParser uintptr _ = fts5yypParser fts5yypParser = fts5yypRawParser - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 8 - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 8))).Fstateno = uint8(0) - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 8))).Fmajor = uint8(0) - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = fts5yypParser + 8 + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*12 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack = fts5yypParser + 16 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*12 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fstateno = uint8(0) + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fmajor = uint8(0) } // C documentation @@ -200819,7 +202634,7 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) { var fts5yypParser uintptr _ = fts5yypParser - fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(1212)) + fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(1216)) if fts5yypParser != 0 { _sqlite3Fts5ParserInit(tls, fts5yypParser) } @@ -200903,11 +202718,17 @@ func _fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var fts5yytos, pParser uintptr + _, _ = fts5yytos, pParser pParser = p - for (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+8 { - _fts5yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling fts5yy_pop_parser_stack() for each + ** element left in the stack */ + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos + for fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yystack { + if int32((*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor) >= int32(fts5YY_MIN_DSTRCTR) { + _fts5yy_destructor(tls, pParser, (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor, fts5yytos+4) + } + fts5yytos -= 12 } } @@ -201007,13 +202828,13 @@ func _fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse - for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+8 { + for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack { _fts5yy_pop_parser_stack(tls, fts5yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34722, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34868, 0) /******** End %stack_overflow code ********************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument var */ } @@ -201031,15 +202852,19 @@ func _fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, f var fts5yytos uintptr _ = fts5yytos (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 12 - if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 12 - _fts5yyStackOverflow(tls, fts5yypParser) - return + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + if fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { + if int32(1) != 0 { + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 12 + _fts5yyStackOverflow(tls, fts5yypParser) + return + } + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + _ = libc.Int32FromInt32(0) } if int32(fts5yyNewState) > int32(fts5YY_MAX_SHIFT) { fts5yyNewState = uint8(int32(fts5yyNewState) + (libc.Int32FromInt32(fts5YY_MIN_REDUCE) - libc.Int32FromInt32(fts5YY_MIN_SHIFTREDUCE))) } - fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fstateno = fts5yyNewState (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor = fts5yyMajor *(*TFts5Token)(unsafe.Pointer(fts5yytos + 4)) = fts5yyMinor @@ -201369,7 +203194,7 @@ func _fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int3 pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse /************ Begin %syntax_error code ****************************************/ _ = fts5yymajor /* Silence a compiler warning */ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34750, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34896, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) /************ End %syntax_error code ******************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument variable */ } @@ -201435,8 +203260,10 @@ func _sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5y ** enough on the stack to push the LHS value */ if int32(_fts5yyRuleInfoNRhs[fts5yyruleno]) == 0 { if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos >= (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - _fts5yyStackOverflow(tls, fts5yypParser) - break + if int32(1) != 0 { + _fts5yyStackOverflow(tls, fts5yypParser) + break + } } } fts5yyact = _fts5yy_reduce(tls, fts5yypParser, fts5yyruleno, fts5yymajor, fts5yyminor) @@ -201677,7 +203504,7 @@ func _fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n in if n < 0 { n = int32(libc.Xstrlen(tls, z)) } - (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34781, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34927, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*THighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = int32(SQLITE_NOMEM) } @@ -201775,7 +203602,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint var _ /* rc at bp+68 */ int32 _, _ = iCol, zErr if nVal != int32(3) { - zErr = __ccgo_ts + 34788 + zErr = __ccgo_ts + 34934 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -201786,7 +203613,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint (*(*THighlightContext)(unsafe.Pointer(bp))).FiRangeEnd = -int32(1) *(*int32)(unsafe.Pointer(bp + 68)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})))(tls, pFts, iCol, bp+16, bp+20) if *(*int32)(unsafe.Pointer(bp + 68)) == int32(SQLITE_RANGE) { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1648, -int32(1), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1662, -int32(1), libc.UintptrFromInt32(0)) *(*int32)(unsafe.Pointer(bp + 68)) = SQLITE_OK } else { if (*(*THighlightContext)(unsafe.Pointer(bp))).FzIn != 0 { @@ -201987,7 +203814,7 @@ func _fts5ValueToText(tls *libc.TLS, pVal uintptr) (r uintptr) { if zRet != 0 { v1 = zRet } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } return v1 } @@ -202021,7 +203848,7 @@ func _fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintpt nBestScore = 0 /* Score of best snippet */ *(*int32)(unsafe.Pointer(bp + 76)) = 0 if nVal != int32(5) { - zErr = __ccgo_ts + 34838 + zErr = __ccgo_ts + 34984 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -202406,15 +204233,15 @@ func _sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) (r int32) { FxDestroy uintptr }{ 0: { - FzFunc: __ccgo_ts + 34886, + FzFunc: __ccgo_ts + 35032, FxFunc: __ccgo_fp(_fts5SnippetFunction), }, 1: { - FzFunc: __ccgo_ts + 34894, + FzFunc: __ccgo_ts + 35040, FxFunc: __ccgo_fp(_fts5HighlightFunction), }, 2: { - FzFunc: __ccgo_ts + 34904, + FzFunc: __ccgo_ts + 35050, FxFunc: __ccgo_fp(_fts5Bm25Function), }, } @@ -203079,7 +204906,7 @@ func _fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) (r uintptr) { case int32('n'): fallthrough case int32('N'): - if Xsqlite3_strnicmp(tls, __ccgo_ts+1634, p, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+1648, p, int32(4)) == 0 { p = p + 4 } else { p = uintptr(0) @@ -203285,7 +205112,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _, _, _, _, _, _, _, _, _, _, _, _ = azArg, bFirst, nArg, nByte, nCmd, nPre, p, p1, p2, pDel, pSpace, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK nCmd = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, __ccgo_ts+34909, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35055, zCmd, nCmd) == 0 { nByte = int32(libc.Uint32FromInt64(4) * libc.Uint32FromInt32(FTS5_MAX_PREFIX_INDEXES)) bFirst = int32(1) if (*TFts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { @@ -203311,12 +205138,12 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } } if int32(*(*uint8)(unsafe.Pointer(p))) < int32('0') || int32(*(*uint8)(unsafe.Pointer(p))) > int32('9') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34916, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35062, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } if (*TFts5Config)(unsafe.Pointer(pConfig)).FnPrefix == int32(FTS5_MAX_PREFIX_INDEXES) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34947, libc.VaList(bp+48, int32(FTS5_MAX_PREFIX_INDEXES))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35093, libc.VaList(bp+48, int32(FTS5_MAX_PREFIX_INDEXES))) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -203325,7 +205152,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC p++ } if nPre <= 0 || nPre >= int32(1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34980, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35126, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -203336,7 +205163,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _ = libc.Int32FromInt32(0) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35017, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35163, zCmd, nCmd) == 0 { p1 = zArg nArg = int64(libc.Xstrlen(tls, zArg) + uint32(1)) azArg = _sqlite3Fts5MallocZero(tls, bp, int64(4)*nArg) @@ -203344,7 +205171,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC pSpace = pDel if azArg != 0 && pSpace != 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35026, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35172, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { nArg = 0 @@ -203371,7 +205198,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC nArg++ } if p1 == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35059, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35205, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(nArg), pConfig, pzErr) @@ -203382,58 +205209,58 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC Xsqlite3_free(tls, pDel) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35093, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35239, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35101, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35247, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if *(*uint8)(unsafe.Pointer(zArg)) != 0 { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_EXTERNAL) - (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35133, libc.VaList(bp+48, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35279, libc.VaList(bp+48, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_NONE) } } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35139, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35285, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35158, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35304, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35201, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35347, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35215, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35361, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, zArg, -int32(1)) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35253, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35399, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35264, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35410, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+5499, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+5563, zCmd, nCmd) == 0 { *(*[4]TFts5Enum)(unsafe.Pointer(bp + 4)) = [4]TFts5Enum{ 0: { - FzName: __ccgo_ts + 8218, + FzName: __ccgo_ts + 8343, FeVal: int32(FTS5_DETAIL_NONE), }, 1: { - FzName: __ccgo_ts + 17747, + FzName: __ccgo_ts + 17834, }, 2: { - FzName: __ccgo_ts + 35299, + FzName: __ccgo_ts + 35445, FeVal: int32(FTS5_DETAIL_COLUMNS), }, 3: {}, @@ -203441,20 +205268,20 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC v2 = _fts5ConfigSetEnum(tls, bp+4, zArg, pConfig+56) *(*int32)(unsafe.Pointer(bp)) = v2 if v2 != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35307, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35453, 0) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35338, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35484, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35348, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35494, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbTokendata = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35382, libc.VaList(bp+48, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35528, libc.VaList(bp+48, nCmd, zCmd)) return int32(SQLITE_ERROR) } @@ -203528,15 +205355,15 @@ func _fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr var v2 uintptr _, _, _ = rc, v1, v2 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35410) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16694) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35415, libc.VaList(bp+8, zCol)) + if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35556) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16781) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35561, libc.VaList(bp+8, zCol)) rc = int32(SQLITE_ERROR) } else { if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35445) { + if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35591) { *(*Tu8)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*TFts5Config)(unsafe.Pointer(p)).FnCol))) = uint8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35455, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35601, libc.VaList(bp+8, zArg)) rc = int32(SQLITE_ERROR) } } @@ -203562,7 +205389,7 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TFts5Buffer)(unsafe.Pointer(bp + 4)) = TFts5Buffer{} - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+4, __ccgo_ts+35486, libc.VaList(bp+24, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+4, __ccgo_ts+35632, libc.VaList(bp+24, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*TFts5Config)(unsafe.Pointer(p)).FeContent != int32(FTS5_CONTENT_NONE) { i = 0 for { @@ -203570,9 +205397,9 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { break } if (*TFts5Config)(unsafe.Pointer(p)).FeContent == int32(FTS5_CONTENT_EXTERNAL) { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+4, __ccgo_ts+35491, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)))) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+4, __ccgo_ts+35637, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)))) } else { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+4, __ccgo_ts+35498, libc.VaList(bp+24, i)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+4, __ccgo_ts+35644, libc.VaList(bp+24, i)) } goto _1 _1: @@ -203633,8 +205460,8 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in (*TFts5Config)(unsafe.Pointer(pRet)).FzName = _sqlite3Fts5Strndup(tls, bp, *(*uintptr)(unsafe.Pointer(azArg + 2*4)), -int32(1)) (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize = int32(1) (*TFts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35410) == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35506, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) + if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35556) == 0 { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35652, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } _ = libc.Int32FromInt32(0) @@ -203667,19 +205494,19 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35535, libc.VaList(bp+32, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35681, libc.VaList(bp+32, zOrig)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bOption != 0 { if *(*uintptr)(unsafe.Pointer(bp + 4)) != 0 { v4 = *(*uintptr)(unsafe.Pointer(bp + 4)) } else { - v4 = __ccgo_ts + 1648 + v4 = __ccgo_ts + 1662 } if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { v5 = *(*uintptr)(unsafe.Pointer(bp + 8)) } else { - v5 = __ccgo_ts + 1648 + v5 = __ccgo_ts + 1662 } *(*int32)(unsafe.Pointer(bp)) = _fts5ConfigParseSpecial(tls, pGlobal, pRet, v4, v5, pzErr) } else { @@ -203697,7 +205524,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } /* We only allow contentless_delete=1 if the table is indeed contentless. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FeContent != int32(FTS5_CONTENT_NONE) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35555, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35701, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* We only allow contentless_delete=1 if columnsize=0 is not present. @@ -203705,7 +205532,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in ** This restriction may be removed at some point. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35605, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35751, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* If a tokenizer= option was successfully parsed, the tokenizer has @@ -203719,18 +205546,18 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in zTail = uintptr(0) _ = libc.Int32FromInt32(0) if (*TFts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { - zTail = __ccgo_ts + 35093 + zTail = __ccgo_ts + 35239 } else { if (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = __ccgo_ts + 35660 + zTail = __ccgo_ts + 35806 } } if zTail != 0 { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35668, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35814, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0) { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16694, -int32(1)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16781, -int32(1)) } /* Formulate the zContentExprlist text */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -203794,25 +205621,25 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) { var _ /* rc at bp+0 */ int32 _, _, _, _ = i, zSep, zSql, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35679, 0) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35825, 0) i = 0 for { if !(zSql != 0 && i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } if i == 0 { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } else { - v2 = __ccgo_ts + 14990 + v2 = __ccgo_ts + 15083 } zSep = v2 - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35695, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4)))) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35841, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4)))) goto _1 _1: ; i++ } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35702, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35410)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35848, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35556)) _ = libc.Int32FromInt32(0) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_declare_vtab(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -203960,7 +205787,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV var _ /* zRankArgs at bp+4 */ uintptr _, _, _, _, _, _, _, _, _, _ = bVal, nAutomerge, nCrisisMerge, nHashSize, nUsermerge, nVal, pgsz, rc, zIn, v1 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35728) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35874) { pgsz = 0 if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -203971,7 +205798,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35733) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35879) { nHashSize = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -203982,7 +205809,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35742) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35888) { nAutomerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -203996,7 +205823,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35752) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35898) { nUsermerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -204007,7 +205834,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35762) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35908) { nCrisisMerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -204024,7 +205851,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35774) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35920) { nVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nVal = Xsqlite3_value_int(tls, pVal) @@ -204039,7 +205866,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } (*TFts5Config)(unsafe.Pointer(pConfig)).FnDeleteMerge = nVal } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35410) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35556) { zIn = Xsqlite3_value_text(tls, pVal) rc = _sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+4) if rc == SQLITE_OK { @@ -204054,7 +205881,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35786) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35932) { bVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { bVal = Xsqlite3_value_int(tls, pVal) @@ -204096,7 +205923,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in var _ /* p at bp+0 */ uintptr var _ /* rc at bp+4 */ int32 _, _, _, _, _ = iVersion, pVal, zK, zSelect, zSql - zSelect = __ccgo_ts + 35800 + zSelect = __ccgo_ts + 35946 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 4)) = SQLITE_OK iVersion = 0 @@ -204117,7 +205944,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in for int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zK = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) pVal = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) - if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35832) { + if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35978) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 8)) = 0 @@ -204130,7 +205957,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in *(*int32)(unsafe.Pointer(bp + 4)) = int32(SQLITE_ERROR) if (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { _ = libc.Int32FromInt32(0) - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35840, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35986, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = iVersion @@ -204355,7 +206182,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr } } if int32(*(*uint8)(unsafe.Pointer(z2))) == int32('\000') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35911, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36057, 0) return FTS5_EOF } goto _1 @@ -204366,7 +206193,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(z2) - int32(z) default: if _sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z))) == 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35931, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36077, libc.VaList(bp+8, z)) return FTS5_EOF } tok = int32(FTS5_STRING) @@ -204381,13 +206208,13 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr z21++ } (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(z21) - int32(z) - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35962, uint32(2)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36108, uint32(2)) == 0 { tok = int32(FTS5_OR) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35965, uint32(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36111, uint32(3)) == 0 { tok = int32(FTS5_NOT) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30706, uint32(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30852, uint32(3)) == 0 { tok = int32(FTS5_AND) } break @@ -206503,8 +208330,8 @@ func _sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, pp func _sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+35969, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34750, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) + if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36115, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0 { + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34896, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -206524,7 +208351,7 @@ func _sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, } c = *(*uint8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) if int32(c) < int32('0') || int32(c) > int32('9') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35974, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36120, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) return } nNear = nNear*int32(10) + (int32(*(*uint8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - int32('0')) @@ -206664,7 +208491,7 @@ func _sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p u iCol++ } if iCol == (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21016, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21148, libc.VaList(bp+8, z)) } else { pRet = _fts5ParseColset(tls, pParse, pColset, iCol) } @@ -206791,7 +208618,7 @@ func _sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pC var _ /* pFree at bp+0 */ uintptr *(*uintptr)(unsafe.Pointer(bp)) = pColset if (*TFts5Config)(unsafe.Pointer((*TFts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == int32(FTS5_DETAIL_NONE) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36003, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36149, 0) } else { _fts5ParseSetColset(tls, pParse, pExpr, pColset, bp) } @@ -206988,11 +208815,11 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin pPhrase = *(*uintptr)(unsafe.Pointer(pNear + 12)) if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase != int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*(*TFts5ExprTerm)(unsafe.Pointer(pPhrase + 20))).FbFirst != 0 { if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == int32(1) { - v2 = __ccgo_ts + 36056 + v2 = __ccgo_ts + 36202 } else { - v2 = __ccgo_ts + 35969 + v2 = __ccgo_ts + 36115 } - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36063, libc.VaList(bp+8, v2)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36209, libc.VaList(bp+8, v2)) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -207001,7 +208828,7 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin _fts5ExprAddChildren(tls, pRet, pLeft) _fts5ExprAddChildren(tls, pRet, pRight) if (*TFts5ExprNode)(unsafe.Pointer(pRet)).FiHeight > int32(SQLITE_FTS5_MAX_EXPR_DEPTH) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36113, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36259, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -209227,7 +211054,7 @@ func _fts5DataRead(tls *libc.TLS, p uintptr, iRowid Ti64) (r uintptr) { ** to the requested entry. */ if (*TFts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36166, iRowid, 0, p+52) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36312, iRowid, 0, p+52) } /* If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls ** above returned SQLITE_ERROR, return SQLITE_CORRUPT_VTAB instead. @@ -209321,7 +211148,7 @@ func _fts5DataWrite(tls *libc.TLS, p uintptr, iRowid Ti64, pData uintptr, nData } if (*TFts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+56, Xsqlite3_mprintf(tls, __ccgo_ts+36172, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+56, Xsqlite3_mprintf(tls, __ccgo_ts+36318, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return } @@ -209350,7 +211177,7 @@ func _fts5DataDelete(tls *libc.TLS, p uintptr, iFirst Ti64, iLast Ti64) { } if (*TFts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36223, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36369, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if _fts5IndexPrepareStmt(tls, p, p+60, zSql) != 0 { return } @@ -209384,7 +211211,7 @@ func _fts5DataRemoveSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { } if (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+68, Xsqlite3_mprintf(tls, __ccgo_ts+36272, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+68, Xsqlite3_mprintf(tls, __ccgo_ts+36418, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter, int32(1), iSegid) @@ -209554,7 +211381,7 @@ func _fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie ui } i = int32(4) /* Check if this is a V2 structure record. Set bStructureV2 if it is. */ - if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36312, uint32(4)) { + if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36458, uint32(4)) { i += int32(4) bStructureV2 = int32(1) } @@ -209747,7 +211574,7 @@ func _fts5IndexDataVersion(tls *libc.TLS, p uintptr) (r Ti64) { iVersion = 0 if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*TFts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) { - (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls, __ccgo_ts+36317, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls, __ccgo_ts+36463, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return 0 } @@ -209835,7 +211662,7 @@ func _fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = int32(4) if (*TFts5Structure)(unsafe.Pointer(pStruct)).FnOriginCntr > uint64(0) { _ = libc.Int32FromInt32(0) - libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36312, uint32(4)) + libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36458, uint32(4)) *(*int32)(unsafe.Pointer(bp + 4)) += int32(4) } *(*int32)(unsafe.Pointer(bp + 4)) += _sqlite3Fts5PutVarint(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), uint64((*TFts5Structure)(unsafe.Pointer(pStruct)).FnLevel)) @@ -211252,7 +213079,7 @@ func _fts5IdxSelectStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+72, Xsqlite3_mprintf(tls, __ccgo_ts+36340, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+72, Xsqlite3_mprintf(tls, __ccgo_ts+36486, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect } @@ -211344,7 +213171,7 @@ func _fts5IdxNextStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+76, Xsqlite3_mprintf(tls, __ccgo_ts+36424, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+76, Xsqlite3_mprintf(tls, __ccgo_ts+36570, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect } @@ -213022,7 +214849,7 @@ func _fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { if (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { v1 = (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } z = v1 /* The following was already done in fts5WriteInit(): */ @@ -213391,7 +215218,7 @@ func _fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { _sqlite3Fts5BufferSize(tls, p+44, pWriter+4+8, uint32(nBuffer)) if (*TFts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+36506, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+36652, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { /* Initialize the 4-byte leaf-page header to 0x00. */ @@ -213896,7 +215723,7 @@ func _fts5SecureDeleteIdxEntry(tls *libc.TLS, p uintptr, iSegid int32, iPgno int if iPgno != int32(1) { _ = libc.Int32FromInt32(0) if (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx == uintptr(0) { - _fts5IndexPrepareStmt(tls, p, p+84, Xsqlite3_mprintf(tls, __ccgo_ts+36563, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+84, Xsqlite3_mprintf(tls, __ccgo_ts+36709, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx, int32(1), iSegid) @@ -215440,7 +217267,7 @@ func _sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) (r int32) { if (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FbContentlessDelete != 0 { (*(*TFts5Structure)(unsafe.Pointer(bp))).FnOriginCntr = uint64(1) } - _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1648, 0) + _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1662, 0) _fts5StructureWrite(tls, p, bp) return _fts5IndexReturn(tls, p) } @@ -215467,11 +217294,11 @@ func _sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uin if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*TFts5Index)(unsafe.Pointer(p)).FnWorkUnit = int32(FTS5_WORK_UNIT) - (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36624, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36770, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25741, __ccgo_ts+36632, 0, pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25887, __ccgo_ts+36778, 0, pzErr) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11793, __ccgo_ts+36667, int32(1), pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11918, __ccgo_ts+36813, int32(1), pzErr) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5IndexReinit(tls, p) @@ -216012,7 +217839,7 @@ func _fts5SetupTokendataIter(tls *libc.TLS, p uintptr, pToken uintptr, nToken in pNew = _fts5MultiIterAlloc(tls, p, (*TFts5Structure)(unsafe.Pointer(pStruct)).FnSegment) if pSmall != 0 { _sqlite3Fts5BufferSet(tls, p+44, bp, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fn, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fp) - _sqlite3Fts5BufferAppendBlob(tls, p+44, bp, uint32(1), __ccgo_ts+36711) + _sqlite3Fts5BufferAppendBlob(tls, p+44, bp, uint32(1), __ccgo_ts+36857) } else { _sqlite3Fts5BufferSet(tls, p+44, bp, nToken, pToken) } @@ -216542,7 +218369,7 @@ func _sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) (r int32) *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) _ = libc.Int32FromInt32(0) _sqlite3Fts5Put32(tls, bp, iNew) - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36166, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+4) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36312, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+4) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), bp, int32(4), 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 4))) @@ -217141,7 +218968,7 @@ func _fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { if (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { return } - _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36713, libc.VaList(bp+24, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) + _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36859, libc.VaList(bp+24, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) /* Iterate through the b-tree hierarchy. */ for (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { /* Data for this leaf */ zIdxTerm = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -217374,7 +219201,7 @@ func _sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum Tu64, bUseC } else { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = 0 _fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp + 12))+80+uintptr((*(*TFts5CResult)(unsafe.Pointer((*TFts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12)))).FaFirst + 1*4))).FiFirst)*104, uintptr(0), bp) - _sqlite3Fts5BufferAppendBlob(tls, p+44, bp, uint32(4), __ccgo_ts+36799) + _sqlite3Fts5BufferAppendBlob(tls, p+44, bp, uint32(4), __ccgo_ts+36945) for 0 == _sqlite3Fts5PoslistNext64(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn, bp+32, bp+24) { iCol = int32(*(*Ti64)(unsafe.Pointer(bp + 24)) >> libc.Int32FromInt32(32)) iTokOff = int32(*(*Ti64)(unsafe.Pointer(bp + 24)) & libc.Int64FromInt32(0x7FFFFFFF)) @@ -217984,7 +219811,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36804, 0) + (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36950, 0) return int32(SQLITE_ERROR) } idxStr = Xsqlite3_malloc(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pInfo)).FnConstraint*int32(8)+int32(1)) @@ -218024,7 +219851,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v3 = iIdxStr iIdxStr++ *(*uint8)(unsafe.Pointer(idxStr + uintptr(v3))) = uint8('M') - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5138, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5202, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) _ = libc.Int32FromInt32(0) } @@ -218046,7 +219873,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v6 = int32('G') } *(*uint8)(unsafe.Pointer(idxStr + uintptr(v5))) = uint8(v6) - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5138, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5202, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) iCons++ v7 = iCons @@ -218488,7 +220315,7 @@ func _fts5NextMethod(tls *libc.TLS, pCursor uintptr) (r int32) { *(*int32)(unsafe.Pointer(pCsr + 60)) |= int32(FTS5CSR_EOF) rc = Xsqlite3_reset(tls, (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -218515,7 +220342,7 @@ func _fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt } else { rc = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -218550,21 +220377,21 @@ func _fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ if zRankArgs != 0 { - v1 = __ccgo_ts + 14990 + v1 = __ccgo_ts + 15083 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } if zRankArgs != 0 { v2 = zRankArgs } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } if bDesc != 0 { - v3 = __ccgo_ts + 36843 + v3 = __ccgo_ts + 36989 } else { - v3 = __ccgo_ts + 36848 + v3 = __ccgo_ts + 36994 } - rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+36852, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) + rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+36998, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter if rc == SQLITE_OK { _ = libc.Int32FromInt32(0) @@ -218624,14 +220451,14 @@ func _fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr } _ = libc.Int32FromInt32(0) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan = int32(FTS5_PLAN_SPECIAL) - if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+36907, z, n) { + if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+37053, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = int64(_sqlite3Fts5IndexReads(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex)) } else { - if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5481, z, n) { + if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5545, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { /* An unrecognized directive. Return an error message. */ - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36913, libc.VaList(bp+8, n, z)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37059, libc.VaList(bp+8, n, z)) rc = int32(SQLITE_ERROR) } } @@ -218681,7 +220508,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { zRank = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank zRankArgs = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36941, libc.VaList(bp+16, zRankArgs)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37087, libc.VaList(bp+16, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp+4, uintptr(0)) @@ -218717,7 +220544,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { pAux = _fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { _ = libc.Int32FromInt32(0) - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36951, libc.VaList(bp+16, zRank)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37097, libc.VaList(bp+16, zRank)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -218751,7 +220578,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui *(*int32)(unsafe.Pointer(pCsr + 60)) |= int32(FTS5CSR_FREE_ZRANK) } else { if rc == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36972, libc.VaList(bp+16, z)) + (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37118, libc.VaList(bp+16, z)) } } } else { @@ -218759,7 +220586,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRank (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRankArgs } else { - (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 34904 + (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 35050 (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -218810,7 +220637,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint iIdxStr = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36804, 0) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36950, 0) return int32(SQLITE_ERROR) } if (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan != 0 { @@ -218840,7 +220667,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint case int32('M'): zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*4))) if zText == uintptr(0) { - zText = __ccgo_ts + 1648 + zText = __ccgo_ts + 1662 } iCol = 0 for cond := true; cond; cond = int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= int32('9') { @@ -218968,7 +220795,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint } } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent == uintptr(0) { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37005, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37151, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = int32(SQLITE_ERROR) } else { /* This is either a full-table scan (ePlan==FTS5_PLAN_SCAN) or a lookup @@ -219112,7 +220939,7 @@ func _fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) (r int32) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< int32(1) { - v1 = __ccgo_ts + 20869 + v1 = __ccgo_ts + 21001 } else { - v1 = __ccgo_ts + 37283 + v1 = __ccgo_ts + 37429 } - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37295, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37441, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if nArg == int32(1) { @@ -219377,7 +221204,7 @@ func _fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && bUpdateOrDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FbSecureDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion == int32(FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35832, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35978, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = int32(FTS5_CURRENT_VERSION_SECUREDELETE) } @@ -220178,7 +222005,7 @@ func _fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) iCsrId = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) pCsr = _fts5CursorFromCsrid(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId) if pCsr == uintptr(0) || (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37332, libc.VaList(bp+8, iCsrId)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37478, libc.VaList(bp+8, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } else { @@ -220370,7 +222197,7 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = uintptr(0) } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 && Xsqlite3_vtab_nochange(tls, pCtx) != 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37353, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37499, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -220613,7 +222440,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr if pMod == uintptr(0) { _ = libc.Int32FromInt32(0) rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37424, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37570, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) } else { if azArg != 0 { v2 = azArg + 1*4 @@ -220629,7 +222456,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr (*TFts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 8 if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37446, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37592, 0) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FePattern = _sqlite3Fts5TokenizerPattern(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate, (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok) @@ -220685,7 +222512,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { pGlobal = Xsqlite3_user_data(tls, pCtx) _ = nArg _ = libc.Int32FromInt32(0) - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37477) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37623) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal } @@ -220700,7 +222527,7 @@ func _fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr _ = libc.Int32FromInt32(0) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37490, -int32(1), uintptr(-libc.Int32FromInt32(1))) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37636, -int32(1), uintptr(-libc.Int32FromInt32(1))) } // C documentation @@ -220729,11 +222556,11 @@ func _fts5ShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName2 = [5]uintptr{ - 0: __ccgo_ts + 37581, - 1: __ccgo_ts + 35093, - 2: __ccgo_ts + 25741, - 3: __ccgo_ts + 35660, - 4: __ccgo_ts + 11793, + 0: __ccgo_ts + 37727, + 1: __ccgo_ts + 35239, + 2: __ccgo_ts + 25887, + 3: __ccgo_ts + 35806, + 4: __ccgo_ts + 11918, } // C documentation @@ -220747,21 +222574,27 @@ func _fts5IntegrityMethod(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zTabnam bp := tls.Alloc(32) defer tls.Free(32) var pTab uintptr - var rc int32 - _, _ = pTab, rc + var rc, v1 int32 + _, _, _ = pTab, rc, v1 pTab = pVtab _ = libc.Int32FromInt32(0) _ = isQuick rc = _sqlite3Fts5StorageIntegrity(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, 0) if rc&int32(0xff) == int32(SQLITE_CORRUPT) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37588, libc.VaList(bp+8, zSchema, zTabname)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37734, libc.VaList(bp+8, zSchema, zTabname)) + if *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { + v1 = SQLITE_OK + } else { + v1 = int32(SQLITE_NOMEM) + } + rc = v1 } else { if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37634, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37780, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) } } _sqlite3Fts5IndexCloseReader(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) - return SQLITE_OK + return rc } func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { @@ -220780,7 +222613,7 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateFunction = __ccgo_fp(_fts5CreateAux) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateTokenizer = __ccgo_fp(_fts5CreateTokenizer) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = __ccgo_fp(_fts5FindTokenizer) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37697, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37843, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) if rc == SQLITE_OK { rc = _sqlite3Fts5IndexInit(tls, db) } @@ -220797,10 +222630,10 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { rc = _sqlite3Fts5VocabInit(tls, pGlobal, db) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37697, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37843, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37702, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37848, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) } } /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file @@ -220907,17 +222740,17 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(p + 28 + uintptr(eStmt)*4)) == uintptr(0) { azStmt = [11]uintptr{ - 0: __ccgo_ts + 37717, - 1: __ccgo_ts + 37785, - 2: __ccgo_ts + 37854, - 3: __ccgo_ts + 37887, - 4: __ccgo_ts + 37926, - 5: __ccgo_ts + 37966, - 6: __ccgo_ts + 38005, - 7: __ccgo_ts + 38048, - 8: __ccgo_ts + 38087, - 9: __ccgo_ts + 38131, - 10: __ccgo_ts + 38171, + 0: __ccgo_ts + 37863, + 1: __ccgo_ts + 37931, + 2: __ccgo_ts + 38000, + 3: __ccgo_ts + 38033, + 4: __ccgo_ts + 38072, + 5: __ccgo_ts + 38112, + 6: __ccgo_ts + 38151, + 7: __ccgo_ts + 38194, + 8: __ccgo_ts + 38233, + 9: __ccgo_ts + 38277, + 10: __ccgo_ts + 38317, } pC = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig zSql = uintptr(0) @@ -220954,16 +222787,16 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, } case int32(FTS5_STMT_REPLACE_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v2 = __ccgo_ts + 38194 + v2 = __ccgo_ts + 38340 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName, v2)) case int32(FTS5_STMT_LOOKUP_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v3 = __ccgo_ts + 38197 + v3 = __ccgo_ts + 38343 } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, v3, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName)) default: @@ -220982,7 +222815,7 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, (*TFts5Config)(unsafe.Pointer((*TFts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if rc != SQLITE_OK && pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -221019,12 +222852,12 @@ func _sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) (r int32) { defer tls.Free(64) var rc int32 _ = rc - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38205, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38351, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38309, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38455, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38347, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38493, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } @@ -221033,7 +222866,7 @@ func _fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail ui bp := tls.Alloc(48) defer tls.Free(48) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38385, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) + *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38531, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -221045,14 +222878,14 @@ func _sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) ( _ = pConfig pConfig = (*TFts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageSync(tls, pStorage) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25741, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11793, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37581, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25887, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11918, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37727, zName) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35660, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35806, zName) } if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35093, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35239, zName) } return *(*int32)(unsafe.Pointer(bp)) } @@ -221072,13 +222905,13 @@ func _sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDef _, _ = rc, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if bWithout != 0 { - v1 = __ccgo_ts + 30381 + v1 = __ccgo_ts + 30527 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38427, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38573, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38457, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38603, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) } return rc @@ -221119,36 +222952,36 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr if zDefn == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38501, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38647, 0) iOff = int32(libc.Xstrlen(tls, zDefn)) i = 0 for { if !(i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } - Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38524, libc.VaList(bp+8, i)) + Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38670, libc.VaList(bp+8, i)) iOff += int32(libc.Xstrlen(tls, zDefn+uintptr(iOff))) goto _2 _2: ; i++ } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35093, zDefn, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35239, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - zCols = __ccgo_ts + 38530 + zCols = __ccgo_ts + 38676 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 { - zCols = __ccgo_ts + 38562 + zCols = __ccgo_ts + 38708 } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35660, zCols, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35806, zCols, 0, pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37581, __ccgo_ts+38610, int32(1), pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37727, __ccgo_ts+38756, int32(1), pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35832, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35978, uintptr(0), int32(FTS5_CURRENT_VERSION)) } } if rc != 0 { @@ -221495,9 +223328,9 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig (*TFts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 /* Delete the contents of the %_data and %_docsize tables. */ - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38627, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38773, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38677, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38823, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } /* Reinitialize the %_data table. This call creates the initial structure ** and averages records. */ @@ -221505,7 +223338,7 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3Fts5IndexReinit(tls, (*TFts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35832, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35978, uintptr(0), int32(FTS5_CURRENT_VERSION)) } return rc } @@ -221719,7 +223552,7 @@ func _fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var _ /* pCnt at bp+0 */ uintptr _, _, _ = pConfig, rc, zSql pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38706, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38852, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -221932,14 +223765,14 @@ func _sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) (r int32 ** number of rows. */ if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { *(*Ti64)(unsafe.Pointer(bp + 40)) = 0 - rc = _fts5StorageCount(tls, p, __ccgo_ts+35093, bp+40) + rc = _fts5StorageCount(tls, p, __ccgo_ts+35239, bp+40) if rc == SQLITE_OK && *(*Ti64)(unsafe.Pointer(bp + 40)) != (*TFts5Storage)(unsafe.Pointer(p)).FnTotalRow { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) } @@ -223152,64 +224985,64 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38808, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38954, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38811, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38957, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38816, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38962, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('e'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38821, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38967, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38824, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38970, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('l'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38827, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38973, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38832, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38978, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38837, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38983, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38841, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38987, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38847, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38993, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38852, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38998, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -223218,49 +225051,49 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38856, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39002, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38860, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39006, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } } case int32('s'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38863, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39009, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('t'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38867, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39013, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38871, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39017, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38875, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39021, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38879, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39025, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('z'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38883, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39029, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -223277,20 +225110,20 @@ func _fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38887, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38867, uint32(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39033, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39013, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('b'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38890, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38893, uint32(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39036, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39039, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38897, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38883, uint32(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39043, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39029, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } @@ -223306,75 +225139,75 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38900, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39046, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38867, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39013, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38908, aBuf+uintptr(nBuf-int32(6)), uint32(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39054, aBuf+uintptr(nBuf-int32(6)), uint32(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38915, uint32(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39061, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(4) } } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38920, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39066, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38816, uint32(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38962, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38925, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39071, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38811, uint32(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38957, uint32(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } } case int32('e'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38930, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39076, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38883, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39029, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('g'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38935, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39081, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15907, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15986, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('l'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38940, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39086, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38893, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39039, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38944, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39090, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38808, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38954, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38949, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39095, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38852, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38998, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38955, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39101, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38959, uint32(1)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39105, uint32(1)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(1) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38961, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39107, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38875, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39021, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } @@ -223383,48 +225216,48 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38967, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39113, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38883, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39029, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38975, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39121, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38867, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39013, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38981, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39127, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38867, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39013, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } } } case int32('s'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38986, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39132, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38808, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38954, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38992, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39138, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38879, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39025, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39000, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39146, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39008, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39154, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39012, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39158, aBuf+uintptr(nBuf-int32(7)), uint32(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38875, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39021, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } @@ -223432,21 +225265,21 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39020, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39166, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38808, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38954, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39026, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39172, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38879, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39025, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39032, aBuf+uintptr(nBuf-int32(6)), uint32(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39178, aBuf+uintptr(nBuf-int32(6)), uint32(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38893, uint32(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39039, uint32(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(3) } } @@ -223464,48 +225297,48 @@ func _fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39039, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39185, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38824, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38970, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } case int32('s'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39044, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39190, aBuf+uintptr(nBuf-int32(4)), uint32(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39049, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39195, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38824, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38970, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39055, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39201, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38824, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38970, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39008, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39154, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39061, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39207, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } case int32('z'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39067, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39213, aBuf+uintptr(nBuf-int32(5)), uint32(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38808, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38954, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } @@ -223521,13 +225354,13 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('e'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39073, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39219, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39077, uint32(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39223, uint32(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(2) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39080, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39226, aBuf+uintptr(nBuf-int32(2)), uint32(2)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) ret = int32(1) @@ -223535,7 +225368,7 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39083, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39229, aBuf+uintptr(nBuf-int32(3)), uint32(3)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) ret = int32(1) @@ -223697,14 +225530,14 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p break } zArg = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+int32(1))*4)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), __ccgo_ts+39087) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), __ccgo_ts+39233) { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { (*TTrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('0')) } } else { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), __ccgo_ts+38780) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), __ccgo_ts+38926) { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('2') || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { @@ -223979,7 +225812,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { Fx Tfts5_tokenizer }{ 0: { - FzName: __ccgo_ts + 38798, + FzName: __ccgo_ts + 38944, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5UnicodeCreate), FxDelete: __ccgo_fp(_fts5UnicodeDelete), @@ -223987,7 +225820,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 1: { - FzName: __ccgo_ts + 39102, + FzName: __ccgo_ts + 39248, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5AsciiCreate), FxDelete: __ccgo_fp(_fts5AsciiDelete), @@ -223995,7 +225828,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 2: { - FzName: __ccgo_ts + 39108, + FzName: __ccgo_ts + 39254, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5PorterCreate), FxDelete: __ccgo_fp(_fts5PorterDelete), @@ -224003,7 +225836,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 3: { - FzName: __ccgo_ts + 39115, + FzName: __ccgo_ts + 39261, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5TriCreate), FxDelete: __ccgo_fp(_fts5TriDelete), @@ -229556,16 +231389,16 @@ func _fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uin zCopy = _sqlite3Fts5Strndup(tls, bp, zType, -int32(1)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { _sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39123) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39269) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39127) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39273) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_ROW) } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39131) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39277) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_INSTANCE) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39140, libc.VaList(bp+16, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39286, libc.VaList(bp+16, zCopy)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -229634,15 +231467,15 @@ func _fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg var _ /* rc at bp+0 */ int32 _, _, _, _, _, _, _, _, _, _, _, _ = azSchema, bDb, nByte, nDb, nTab, pRet, zDb, zTab, zType, v1, v2, v3 azSchema = [3]uintptr{ - 0: __ccgo_ts + 39174, - 1: __ccgo_ts + 39214, - 2: __ccgo_ts + 39249, + 0: __ccgo_ts + 39320, + 1: __ccgo_ts + 39360, + 2: __ccgo_ts + 39395, } pRet = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == uint32(4) && libc.Xmemcmp(tls, __ccgo_ts+23742, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0) + bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == uint32(4) && libc.Xmemcmp(tls, __ccgo_ts+23865, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0) if argc != int32(5) && bDb == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39292, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39438, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bDb != 0 { @@ -229813,10 +231646,10 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) zSql = uintptr(0) if (*TFts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39325, libc.VaList(bp+16, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39471, libc.VaList(bp+16, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return int32(SQLITE_ERROR) } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39356, libc.VaList(bp+16, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39502, libc.VaList(bp+16, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, (*TFts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), bp+4, uintptr(0)) } @@ -229836,7 +231669,7 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 4))) *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39407, libc.VaList(bp+16, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39553, libc.VaList(bp+16, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } else { @@ -230145,7 +231978,7 @@ func _fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnuse if pLe != 0 { zCopy = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = __ccgo_ts + 1648 + zCopy = __ccgo_ts + 1662 } (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm+int32(1)) @@ -230273,7 +232106,7 @@ func _sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) (r int32) var p uintptr _ = p p = pGlobal - return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39433, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39579, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) } var _fts5Vocab = Tsqlite3_module{ @@ -230326,7 +232159,7 @@ func init() { // /************** End of stmt.c ************************************************/ // /* Return the source-id for this library */ func Xsqlite3_sourceid(tls *libc.TLS) (r uintptr) { - return __ccgo_ts + 39443 + return __ccgo_ts + 39589 } type TAggInfo_col = struct { @@ -230607,11 +232440,11 @@ var Xsqlite3_temp_directory uintptr // ** // ** See also: [sqlite_version()] and [sqlite_source_id()]. // */ -var Xsqlite3_version = [7]uint8{'3', '.', '4', '5', '.', '3'} +var Xsqlite3_version = [7]uint8{'3', '.', '4', '6', '.', '0'} var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data -var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-12.2.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%04d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00PRAGMA \"%w\".integrity_check(%Q)\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00RIGHT PART OF \x00USE TEMP B-TREE FOR %sORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00" +var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-12.2.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00" type Sqlite3_int64 = sqlite3_int64 type Sqlite3_mutex_methods = sqlite3_mutex_methods diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_arm64.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_arm64.go index 6bd0531a3f..57386d7242 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_arm64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_arm64.go @@ -1,4 +1,4 @@ -// Code generated for linux/arm64 by 'generator --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -extended-errors -o sqlite3.go sqlite3.c -I/tmp/libsqlite3/sqlite-amalgamation-3450300/ccgo -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. +// Code generated for linux/arm64 by 'generator --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libz/include/linux/arm64 -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libtcl8.6/include/linux/arm64 -extended-errors -o sqlite3.go sqlite3.c -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. //go:build linux && arm64 // +build linux,arm64 @@ -1062,6 +1062,7 @@ const OPFLG_IN1 = 2 const OPFLG_IN2 = 4 const OPFLG_IN3 = 8 const OPFLG_JUMP = 1 +const OPFLG_JUMP0 = 128 const OPFLG_NCYCLE = 64 const OPFLG_OUT2 = 16 const OPFLG_OUT3 = 32 @@ -1139,7 +1140,7 @@ const OP_IfNotOpen = 25 const OP_IfNotZero = 60 const OP_IfNullRow = 20 const OP_IfPos = 59 -const OP_IfSmaller = 33 +const OP_IfSizeBetween = 33 const OP_IncrVacuum = 62 const OP_Init = 8 const OP_InitCoroutine = 11 @@ -1545,6 +1546,7 @@ const SF_ComplexResult = 262144 const SF_Compound = 256 const SF_Converted = 65536 const SF_CopyCte = 67108864 +const SF_Correlated = 536870912 const SF_Distinct = 1 const SF_Expanded = 64 const SF_FixedLimit = 16384 @@ -1819,6 +1821,7 @@ const SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT = -1 const SQLITE_DEFAULT_LOOKASIDE = 40 const SQLITE_DEFAULT_MEMSTATUS = 0 const SQLITE_DEFAULT_MMAP_SIZE = 0 +const SQLITE_DEFAULT_OPTIMIZE_LIMIT = 2000 const SQLITE_DEFAULT_PAGE_SIZE = 4096 const SQLITE_DEFAULT_PCACHE_INITSZ = 20 const SQLITE_DEFAULT_PROXYDIR_PERMISSIONS = 493 @@ -1836,6 +1839,7 @@ const SQLITE_DESERIALIZE_READONLY = 4 const SQLITE_DESERIALIZE_RESIZEABLE = 2 const SQLITE_DETACH = 25 const SQLITE_DETERMINISTIC = 2048 +const SQLITE_DIGIT_SEPARATOR = 95 const SQLITE_DIRECTONLY = 524288 const SQLITE_DIRECT_OVERFLOW_READ = 1 const SQLITE_DONE = 101 @@ -2260,7 +2264,7 @@ const SQLITE_SHM_SHARED = 4 const SQLITE_SHM_UNLOCK = 1 const SQLITE_SORTER_PMASZ = 250 const SQLITE_SOUNDEX = 1 -const SQLITE_SOURCE_ID = "2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355" +const SQLITE_SOURCE_ID = "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e" const SQLITE_SO_ASC = 0 const SQLITE_SO_DESC = 1 const SQLITE_SO_UNDEFINED = -1 @@ -2368,8 +2372,8 @@ const SQLITE_UTF16LE = 2 const SQLITE_UTF16NATIVE = 2 const SQLITE_UTF16_ALIGNED = 8 const SQLITE_UTF8 = 1 -const SQLITE_VERSION = "3.45.3" -const SQLITE_VERSION_NUMBER = 3045003 +const SQLITE_VERSION = "3.46.0" +const SQLITE_VERSION_NUMBER = 3046000 const SQLITE_VTABRISK_High = 2 const SQLITE_VTABRISK_Low = 0 const SQLITE_VTABRISK_Normal = 1 @@ -2530,11 +2534,11 @@ const TF_HasStat1 = 16 const TF_HasStat4 = 8192 const TF_HasStored = 64 const TF_HasVirtual = 32 +const TF_MaybeReanalyze = 256 const TF_NoVisibleRowid = 512 const TF_OOOHidden = 1024 const TF_Readonly = 1 const TF_Shadow = 4096 -const TF_StatsUsed = 256 const TF_Strict = 65536 const TF_WithoutRowid = 128 const TIMER_ABSTIME = 1 @@ -2691,7 +2695,7 @@ const TK_ID = 59 const TK_IF = 18 const TK_IF_NULL_ROW = 179 const TK_IGNORE = 63 -const TK_ILLEGAL = 184 +const TK_ILLEGAL = 185 const TK_IMMEDIATE = 8 const TK_IN = 49 const TK_INDEX = 161 @@ -2739,6 +2743,7 @@ const TK_PRAGMA = 70 const TK_PRECEDING = 88 const TK_PRIMARY = 122 const TK_PTR = 112 +const TK_QNUMBER = 183 const TK_QUERY = 3 const TK_RAISE = 71 const TK_RANGE = 89 @@ -2763,7 +2768,7 @@ const TK_SELECT_COLUMN = 178 const TK_SEMI = 1 const TK_SET = 130 const TK_SLASH = 109 -const TK_SPACE = 183 +const TK_SPACE = 184 const TK_SPAN = 181 const TK_STAR = 108 const TK_STRING = 117 @@ -2776,12 +2781,12 @@ const TK_TRANSACTION = 6 const TK_TRIGGER = 77 const TK_TRUEFALSE = 170 const TK_TRUTH = 175 -const TK_UMINUS = 173 +const TK_UMINUS = 174 const TK_UNBOUNDED = 90 const TK_UNION = 134 const TK_UNIQUE = 123 const TK_UPDATE = 129 -const TK_UPLUS = 174 +const TK_UPLUS = 173 const TK_USING = 144 const TK_VACUUM = 78 const TK_VALUES = 139 @@ -2937,31 +2942,37 @@ const W_OK = 2 const XN_EXPR = -2 const XN_ROWID = -1 const X_OK = 1 +const YYDYNSTACK = 1 const YYFALLBACK = 1 +const YYFREE = 0 +const YYGROWABLESTACK = 1 const YYMALLOCARGTYPE = 0 -const YYNOCODE = 319 +const YYNOCODE = 322 const YYNOERRORRECOVERY = 1 -const YYNRULE = 405 -const YYNRULE_WITH_ACTION = 340 -const YYNSTATE = 579 -const YYNTOKEN = 185 +const YYNRULE = 409 +const YYNRULE_WITH_ACTION = 344 +const YYNSTATE = 583 +const YYNTOKEN = 186 const YYPARSEFREENEVERNULL = 1 +const YYREALLOC = 0 const YYSTACKDEPTH = 100 const YYWILDCARD = 101 -const YY_ACCEPT_ACTION = 1244 -const YY_ACTTAB_COUNT = 2100 -const YY_ERROR_ACTION = 1243 -const YY_MAX_REDUCE = 1650 -const YY_MAX_SHIFT = 578 -const YY_MAX_SHIFTREDUCE = 1242 -const YY_MIN_REDUCE = 1246 -const YY_MIN_SHIFTREDUCE = 838 -const YY_NO_ACTION = 1245 -const YY_REDUCE_COUNT = 410 -const YY_REDUCE_MAX = 1753 -const YY_REDUCE_MIN = -271 -const YY_SHIFT_COUNT = 578 -const YY_SHIFT_MAX = 2088 +const YY_ACCEPT_ACTION = 1255 +const YY_ACTTAB_COUNT = 2142 +const YY_ERROR_ACTION = 1254 +const YY_MAX_DSTRCTR = 319 +const YY_MAX_REDUCE = 1665 +const YY_MAX_SHIFT = 582 +const YY_MAX_SHIFTREDUCE = 1253 +const YY_MIN_DSTRCTR = 205 +const YY_MIN_REDUCE = 1257 +const YY_MIN_SHIFTREDUCE = 845 +const YY_NO_ACTION = 1256 +const YY_REDUCE_COUNT = 411 +const YY_REDUCE_MAX = 1798 +const YY_REDUCE_MIN = -275 +const YY_SHIFT_COUNT = 582 +const YY_SHIFT_MAX = 2128 const YY_SHIFT_MIN = 0 const _ALLOCA_H = 1 const _ASSERT_H = 1 @@ -3627,6 +3638,9 @@ const fdatasync = 0 const first_valueInvFunc = 0 const first_valueValueFunc = 0 const fts5GetVarint = 0 +const fts5YYDYNSTACK = 0 +const fts5YYFREE = 0 +const fts5YYGROWABLESTACK = 0 const fts5YYMALLOCARGTYPE = 0 const fts5YYNFTS5TOKEN = 16 const fts5YYNOCODE = 27 @@ -3635,13 +3649,16 @@ const fts5YYNRULE = 28 const fts5YYNRULE_WITH_ACTION = 28 const fts5YYNSTATE = 35 const fts5YYPARSEFREENOTNULL = 1 +const fts5YYREALLOC = 0 const fts5YYSTACKDEPTH = 100 const fts5YY_ACCEPT_ACTION = 81 const fts5YY_ACTTAB_COUNT = 105 const fts5YY_ERROR_ACTION = 80 +const fts5YY_MAX_DSTRCTR = 24 const fts5YY_MAX_REDUCE = 110 const fts5YY_MAX_SHIFT = 34 const fts5YY_MAX_SHIFTREDUCE = 79 +const fts5YY_MIN_DSTRCTR = 16 const fts5YY_MIN_REDUCE = 83 const fts5YY_MIN_SHIFTREDUCE = 52 const fts5YY_NO_ACTION = 82 @@ -4063,11 +4080,11 @@ type sqlite3_file1 = Tsqlite3_file1 // ** // ** xLock() upgrades the database file lock. In other words, xLock() moves the // ** database file lock in the direction NONE toward EXCLUSIVE. The argument to -// ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never +// ** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never // ** SQLITE_LOCK_NONE. If the database file lock is already at or above the // ** requested lock, then the call to xLock() is a no-op. // ** xUnlock() downgrades the database file lock to either SHARED or NONE. -// * If the lock is already at or below the requested lock state, then the call +// ** If the lock is already at or below the requested lock state, then the call // ** to xUnlock() is a no-op. // ** The xCheckReservedLock() method checks whether any database connection, // ** either in this process or in some other process, is holding a RESERVED, @@ -5847,6 +5864,7 @@ type Tsqlite3_changegroup = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -6173,8 +6191,8 @@ type Fts5PhraseIter1 = TFts5PhraseIter1 ** EXTENSION API FUNCTIONS ** ** xUserData(pFts): -** Return a copy of the context pointer the extension function was -** registered with. +** Return a copy of the pUserData pointer passed to the xCreateFunction() +** API when the extension function was registered. ** ** xColumnTotalSize(pFts, iCol, pnToken): ** If parameter iCol is less than zero, set output variable *pnToken @@ -7928,7 +7946,7 @@ type uptr = Tuptr ** 0x00000010 Display sqlite3_index_info xBestIndex calls ** 0x00000020 Range an equality scan metrics ** 0x00000040 IN operator decisions -** 0x00000080 WhereLoop cost adjustements +** 0x00000080 WhereLoop cost adjustments ** 0x00000100 ** 0x00000200 Covering index decisions ** 0x00000400 OR optimization @@ -8440,6 +8458,7 @@ type TParse = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -8659,6 +8678,7 @@ type TSrcItem = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -10935,10 +10955,12 @@ type IdList1 = TIdList1 ** ** Union member validity: ** -** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc -** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy -** u2.pIBIndex fg.isIndexedBy && !fg.isCte -** u2.pCteUse fg.isCte && !fg.isIndexedBy +** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc +** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy +** u1.nRow !fg.isTabFunc && !fg.isIndexedBy +** +** u2.pIBIndex fg.isIndexedBy && !fg.isCte +** u2.pCteUse fg.isCte && !fg.isIndexedBy */ type TSrcItem1 = struct { FpSchema uintptr @@ -10964,6 +10986,7 @@ type TSrcItem1 = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -11367,6 +11390,7 @@ type TParse1 = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -12729,12 +12753,12 @@ var _sqlite3WhereTrace = uint32(0) var _sqlite3OpcodeProperty = [190]uint8{ 4: uint8(0x10), 6: uint8(0x41), - 8: uint8(0x01), + 8: uint8(0x81), 9: uint8(0x01), 10: uint8(0x01), - 11: uint8(0x01), - 12: uint8(0x03), - 13: uint8(0x03), + 11: uint8(0x81), + 12: uint8(0x83), + 13: uint8(0x83), 14: uint8(0x01), 15: uint8(0x01), 16: uint8(0x03), @@ -12742,22 +12766,22 @@ var _sqlite3OpcodeProperty = [190]uint8{ 18: uint8(0x01), 19: uint8(0x12), 20: uint8(0x01), - 21: uint8(0x49), - 22: uint8(0x49), - 23: uint8(0x49), - 24: uint8(0x49), + 21: uint8(0xc9), + 22: uint8(0xc9), + 23: uint8(0xc9), + 24: uint8(0xc9), 25: uint8(0x01), 26: uint8(0x49), 27: uint8(0x49), 28: uint8(0x49), 29: uint8(0x49), - 30: uint8(0x49), + 30: uint8(0xc9), 31: uint8(0x49), - 32: uint8(0x41), + 32: uint8(0xc1), 33: uint8(0x01), 34: uint8(0x41), 35: uint8(0x41), - 36: uint8(0x41), + 36: uint8(0xc1), 37: uint8(0x01), 38: uint8(0x41), 39: uint8(0x41), @@ -12769,7 +12793,7 @@ var _sqlite3OpcodeProperty = [190]uint8{ 45: uint8(0x41), 46: uint8(0x23), 47: uint8(0x0b), - 48: uint8(0x01), + 48: uint8(0x81), 49: uint8(0x01), 50: uint8(0x03), 51: uint8(0x03), @@ -13639,7 +13663,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin var pMutex, v1 uintptr _, _ = pMutex, v1 if op < 0 || op >= int32(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) { - return _sqlite3MisuseError(tls, int32(23890)) + return _sqlite3MisuseError(tls, int32(23961)) } if _statMutex[op] != 0 { v1 = _sqlite3Pcache1Mutex(tls) @@ -14002,43 +14026,37 @@ type itimerspec = Titimerspec // ** A structure for holding a single date and time. // */ type TDateTime = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD uint8 - FrawS uint8 - FvalidYMD uint8 - FvalidHMS uint8 - FvalidTZ uint8 - FtzSet uint8 - FisError uint8 - FuseSubsec uint8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD uint8 + FvalidYMD uint8 + FvalidHMS uint8 + FnFloor uint8 + F__ccgo44 uint8 } type DateTime = TDateTime type TDateTime1 = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD uint8 - FrawS uint8 - FvalidYMD uint8 - FvalidHMS uint8 - FvalidTZ uint8 - FtzSet uint8 - FisError uint8 - FuseSubsec uint8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD uint8 + FvalidYMD uint8 + FvalidHMS uint8 + FnFloor uint8 + F__ccgo44 uint8 } type DateTime1 = TDateTime1 @@ -14165,6 +14183,8 @@ func _parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { } else { if c == int32('Z') || c == int32('z') { zDate++ + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) goto zulu_time } else { return libc.BoolInt32(c != 0) @@ -14183,7 +14203,6 @@ zulu_time: for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(zDate))])&int32(0x01) != 0 { zDate++ } - (*TDateTime)(unsafe.Pointer(p)).FtzSet = uint8(1) return libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zDate))) != 0) } @@ -14200,11 +14219,10 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var ms, rScale float64 - var v1 int32 var _ /* h at bp+0 */ int32 var _ /* m at bp+4 */ int32 var _ /* s at bp+8 */ int32 - _, _, _ = ms, rScale, v1 + _, _ = ms, rScale ms = float64(0) if _getDigits(tls, zDate, __ccgo_ts+1162, libc.VaList(bp+24, bp, bp+4)) != int32(2) { return int32(1) @@ -14230,7 +14248,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { *(*int32)(unsafe.Pointer(bp + 8)) = 0 } (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) (*TDateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp)) (*TDateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 4)) @@ -14238,12 +14256,6 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { if _parseTimezone(tls, zDate, p) != 0 { return int32(1) } - if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { - v1 = int32(1) - } else { - v1 = 0 - } - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(v1) return 0 } @@ -14254,7 +14266,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { // */ func _datetimeError(tls *libc.TLS, p uintptr) { libc.Xmemset(tls, p, 0, uint64(48)) - (*TDateTime)(unsafe.Pointer(p)).FisError = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 1, 0x2) } // C documentation @@ -14280,7 +14292,7 @@ func _computeJD(tls *libc.TLS, p uintptr) { M = int32(1) D = int32(1) } - if Y < -int32(4713) || Y > int32(9999) || (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Y < -int32(4713) || Y > int32(9999) || int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { _datetimeError(tls, p) return } @@ -14296,11 +14308,44 @@ func _computeJD(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) if (*TDateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) += int64((*TDateTime)(unsafe.Pointer(p)).Fh*int32(3600000)+(*TDateTime)(unsafe.Pointer(p)).Fm*int32(60000)) + int64((*TDateTime)(unsafe.Pointer(p)).Fs*libc.Float64FromInt32(1000)+libc.Float64FromFloat64(0.5)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64((*TDateTime)(unsafe.Pointer(p)).Ftz * int32(60000)) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + } + } +} + +// C documentation +// +// /* +// ** Given the YYYY-MM-DD information current in p, determine if there +// ** is day-of-month overflow and set nFloor to the number of days that +// ** would need to be subtracted from the date in order to bring the +// ** date back to the end of the month. +// */ +func _computeFloor(tls *libc.TLS, p uintptr) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if (*TDateTime)(unsafe.Pointer(p)).FD <= int32(28) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } else { + if int32(1)<<(*TDateTime)(unsafe.Pointer(p)).FM&int32(0x15aa) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FM != int32(2) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = libc.BoolUint8((*TDateTime)(unsafe.Pointer(p)).FD == libc.Int32FromInt32(31)) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FY%int32(4) != 0 || (*TDateTime)(unsafe.Pointer(p)).FY%int32(100) == 0 && (*TDateTime)(unsafe.Pointer(p)).FY%int32(400) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8((*TDateTime)(unsafe.Pointer(p)).FD - int32(28)) + } else { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8((*TDateTime)(unsafe.Pointer(p)).FD - int32(29)) + } + } } } } @@ -14359,12 +14404,15 @@ func _parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FY = v1 (*TDateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 4)) (*TDateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 8)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + _computeFloor(tls, p) + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { _computeJD(tls, p) } return 0 } +/* Forward declaration */ + // C documentation // // /* @@ -14376,6 +14424,9 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) (*TDateTime)(unsafe.Pointer(p)).FiJD = _sqlite3StmtCurrentTime(tls, context) if (*TDateTime)(unsafe.Pointer(p)).FiJD > 0 { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + _clearYMD_HMS_TZ(tls, p) return 0 } else { return int32(1) @@ -14393,7 +14444,7 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) // */ func _setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { (*TDateTime)(unsafe.Pointer(p)).Fs = r - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 0, 0x1) if r >= float64(0) && r < float64(5.3734845e+06) { (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r*libc.Float64FromFloat64(8.64e+07) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) @@ -14436,7 +14487,7 @@ func _parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) return 0 } else { if (_sqlite3StrICmp(tls, zDate, __ccgo_ts+1190) == 0 || _sqlite3StrICmp(tls, zDate, __ccgo_ts+1197) == 0) && _sqlite3NotPureFunc(tls, context) != 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) return _setDateTimeToCurrent(tls, context, p) } } @@ -14528,7 +14579,7 @@ func _computeHMS(tls *libc.TLS, p uintptr) { day_min = day_ms / int32(60000) (*TDateTime)(unsafe.Pointer(p)).Fm = day_min % int32(60) (*TDateTime)(unsafe.Pointer(p)).Fh = day_min / int32(60) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) } @@ -14550,7 +14601,7 @@ func _computeYMD_HMS(tls *libc.TLS, p uintptr) { func _clearYMD_HMS_TZ(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 } /* @@ -14651,9 +14702,9 @@ func _toLocaltime(tls *libc.TLS, p uintptr, pCtx uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FisError = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 1, 0x2) return SQLITE_OK } @@ -14701,13 +14752,13 @@ var _aXformType = [6]struct { FnName: uint8(5), FzName: [7]uint8{'m', 'o', 'n', 't', 'h'}, FrLimit: float32(176546), - FrXform: float32(2.592e+06), + FrXform: float32(libc.Float64FromFloat64(30) * libc.Float64FromFloat64(86400)), }, 5: { FnName: uint8(4), FzName: [7]uint8{'y', 'e', 'a', 'r'}, FrLimit: float32(14713), - FrXform: float32(3.1536e+07), + FrXform: float32(libc.Float64FromFloat64(365) * libc.Float64FromFloat64(86400)), }, } @@ -14721,15 +14772,15 @@ var _aXformType = [6]struct { func _autoAdjustDate(tls *libc.TLS, p uintptr) { var r float64 _ = r - if !((*TDateTime)(unsafe.Pointer(p)).FrawS != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + if !(int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } else { if (*TDateTime)(unsafe.Pointer(p)).Fs >= float64(int64(-libc.Int32FromInt32(21086676))*libc.Int64FromInt32(10000)) && (*TDateTime)(unsafe.Pointer(p)).Fs <= float64(libc.Int64FromInt32(25340230)*libc.Int64FromInt32(10000)+libc.Int64FromInt32(799)) { r = (*TDateTime)(unsafe.Pointer(p)).Fs*float64(1000) + float64(2.1086676e+14) _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } } @@ -14746,14 +14797,20 @@ func _autoAdjustDate(tls *libc.TLS, p uintptr) { // ** NNN.NNNN seconds // ** NNN months // ** NNN years +// ** +/-YYYY-MM-DD HH:MM:SS.SSS +// ** ceiling +// ** floor // ** start of month // ** start of year // ** start of week // ** start of day // ** weekday N // ** unixepoch +// ** auto // ** localtime // ** utc +// ** subsec +// ** subsecond // ** // ** Return 0 on success and 1 if there is any kind of error. If the error // ** is in a system call (i.e. localtime()), then an error message is written @@ -14764,12 +14821,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, bp := tls.Alloc(160) defer tls.Free(160) var Z, day Tsqlite3_int64 - var cnt, i, rc, x, y, v12, v2, v5, v7, v9 int32 - var iErr, iGuess, iOrigJD, v1 Ti64 - var rRounder, v10 float64 + var cnt, i, rc, x, y, v1, v10, v13, v3, v6, v8 int32 + var iErr, iGuess, iOrigJD, v2 Ti64 + var rRounder, v11 float64 var z0 uint8 var z2 uintptr - var v3, v6 bool + var v4, v7 bool var _ /* D at bp+64 */ int32 var _ /* M at bp+60 */ int32 var _ /* Y at bp+56 */ int32 @@ -14778,7 +14835,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, var _ /* new at bp+8 */ TDateTime var _ /* r at bp+0 */ float64 var _ /* tx at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v12, v2, v3, v5, v6, v7, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v11, v13, v2, v3, v4, v6, v7, v8 rc = int32(1) switch int32(_sqlite3UpperToLower[*(*uint8)(unsafe.Pointer(z))]) { case int32('a'): @@ -14795,6 +14852,33 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _autoAdjustDate(tls, p) rc = 0 } + case int32('c'): + /* + ** ceiling + ** + ** Resolve day-of-month overflow by rolling forward into the next + ** month. As this is the default action, this modifier is really + ** a no-op that is only included for symmetry. See "floor". + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1235) == 0 { + _computeJD(tls, p) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } + case int32('f'): + /* + ** floor + ** + ** Resolve day-of-month overflow by rolling back to the end of the + ** previous month. + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1243) == 0 { + _computeJD(tls, p) + *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64(int32((*TDateTime)(unsafe.Pointer(p)).FnFloor) * int32(86400000)) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + } case int32('j'): /* ** julianday @@ -14804,13 +14888,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** value in the allowed range of julian day numbers understood by ** SQLite (0..5373484.5) then the result will be NULL. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1235) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1249) == 0 { if idx > int32(1) { return int32(1) } /* IMP: R-31176-64601 */ - if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { rc = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } case int32('l'): @@ -14819,8 +14903,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Assuming the current time value is UTC (a.k.a. GMT), shift it to ** show local time. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1245) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - rc = _toLocaltime(tls, p, pCtx) + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1259) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x10>>4)) != 0 { + v1 = SQLITE_OK + } else { + v1 = _toLocaltime(tls, p, pCtx) + } + rc = v1 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 4, 0x10) } case int32('u'): /* @@ -14829,7 +14920,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Treat the current value of p->s as the number of ** seconds since 1970. Convert to a real julian day number. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1255) == 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1269) == 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { if idx > int32(1) { return int32(1) } /* IMP: R-49255-55373 */ @@ -14838,17 +14929,17 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(*(*float64)(unsafe.Pointer(bp)) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) rc = 0 } } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1265) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - if int32((*TDateTime)(unsafe.Pointer(p)).FtzSet) == 0 { /* Guess at the corresponding utc time */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1279) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x8>>3)) == 0 { /* Guess at the corresponding utc time */ cnt = 0 /* Guess is off by this much */ _computeJD(tls, p) - v1 = (*TDateTime)(unsafe.Pointer(p)).FiJD - iOrigJD = v1 - iGuess = v1 + v2 = (*TDateTime)(unsafe.Pointer(p)).FiJD + iOrigJD = v2 + iGuess = v2 iErr = 0 for { libc.Xmemset(tls, bp+8, 0, uint64(48)) @@ -14861,21 +14952,22 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, bp+8) iErr = (*(*TDateTime)(unsafe.Pointer(bp + 8))).FiJD - iOrigJD - goto _4 - _4: + goto _5 + _5: ; - if v3 = iErr != 0; v3 { - v2 = cnt + if v4 = iErr != 0; v4 { + v3 = cnt cnt++ } - if !(v3 && v2 < int32(3)) { + if !(v4 && v3 < int32(3)) { break } } libc.Xmemset(tls, p, 0, uint64(48)) (*TDateTime)(unsafe.Pointer(p)).FiJD = iGuess (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FtzSet = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) } rc = SQLITE_OK } @@ -14888,13 +14980,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** weekday N where 0==Sunday, 1==Monday, and so forth. If the ** date is already on the appropriate weekday, this is a no-op. */ - if v6 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1269, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v6 { - v5 = int32(*(*float64)(unsafe.Pointer(bp))) - n = v5 + if v7 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1283, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v7 { + v6 = int32(*(*float64)(unsafe.Pointer(bp))) + n = v6 } - if v6 && float64(v5) == *(*float64)(unsafe.Pointer(bp)) { + if v7 && float64(v6) == *(*float64)(unsafe.Pointer(bp)) { _computeYMD_HMS(tls, p) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) _computeJD(tls, p) Z = ((*TDateTime)(unsafe.Pointer(p)).FiJD + int64(129600000)) / int64(86400000) % int64(7) @@ -14918,9 +15010,9 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Show subsecond precision in the output of datetime() and ** unixepoch() and strftime('%s'). */ - if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1278, int32(9)) != 0 { + if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1292, int32(9)) != 0 { if Xsqlite3_stricmp(tls, z, __ccgo_ts+1190) == 0 || Xsqlite3_stricmp(tls, z, __ccgo_ts+1197) == 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) rc = 0 } break @@ -14931,23 +15023,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z += uintptr(9) _computeYMD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) - v7 = libc.Int32FromInt32(0) - (*TDateTime)(unsafe.Pointer(p)).Fm = v7 - (*TDateTime)(unsafe.Pointer(p)).Fh = v7 + v8 = libc.Int32FromInt32(0) + (*TDateTime)(unsafe.Pointer(p)).Fm = v8 + (*TDateTime)(unsafe.Pointer(p)).Fh = v8 (*TDateTime)(unsafe.Pointer(p)).Fs = float64(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1288) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1302) == 0 { (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1294) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1308) == 0 { (*TDateTime)(unsafe.Pointer(p)).FM = int32(1) (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1299) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1313) == 0 { rc = 0 } } @@ -14989,15 +15081,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == int32('-') { - if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1303, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1317, libc.VaList(bp+136, bp+56)) == int32(1) { break } - if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1307, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1321, libc.VaList(bp+136, bp+56)) == int32(1) { break } } - goto _8 - _8: + goto _9 + _9: ; n++ } @@ -15014,12 +15106,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } /* Must start with +/- */ if n == int32(5) { - if _getDigits(tls, z+1, __ccgo_ts+1311, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1325, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } } else { _ = libc.Int32FromInt32(0) - if _getDigits(tls, z+1, __ccgo_ts+1323, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1337, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } z++ @@ -15041,13 +15133,14 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, *(*int32)(unsafe.Pointer(p + 12)) += *(*int32)(unsafe.Pointer(bp + 60)) } if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v9 + x = v10 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) _computeJD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) @@ -15091,7 +15184,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z++ } n = _sqlite3Strlen30(tls, z) - if n > int32(10) || n < int32(3) { + if n < int32(3) || n > int32(10) { break } if int32(_sqlite3UpperToLower[*(*uint8)(unsafe.Pointer(z + uintptr(n-int32(1))))]) == int32('s') { @@ -15100,11 +15193,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeJD(tls, p) _ = libc.Int32FromInt32(0) if *(*float64)(unsafe.Pointer(bp)) < libc.Float64FromInt32(0) { - v10 = -libc.Float64FromFloat64(0.5) + v11 = -libc.Float64FromFloat64(0.5) } else { - v10 = +libc.Float64FromFloat64(0.5) + v11 = +libc.Float64FromFloat64(0.5) } - rRounder = v10 + rRounder = v11 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) i = 0 for { if !(i < int32(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) { @@ -15117,20 +15211,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 12)) += int32(*(*float64)(unsafe.Pointer(bp))) if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v12 + x = v13 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) case int32(5): /* Special processing to add years */ y = int32(*(*float64)(unsafe.Pointer(bp))) _ = libc.Int32FromInt32(0) _computeYMD_HMS(tls, p) + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(p + 8)) += y + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) break @@ -15140,8 +15237,8 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, rc = 0 break } - goto _11 - _11: + goto _12 + _12: ; i++ } @@ -15200,7 +15297,7 @@ func _isDate(tls *libc.TLS, context uintptr, argc int32, argv uintptr, p uintptr i++ } _computeJD(tls, p) - if (*TDateTime)(unsafe.Pointer(p)).FisError != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x2>>1)) != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { return int32(1) } if argc == int32(1) && (*TDateTime)(unsafe.Pointer(p)).FvalidYMD != 0 && (*TDateTime)(unsafe.Pointer(p)).FD > int32(28) { @@ -15248,7 +15345,7 @@ func _unixepochFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _ /* x at bp+0 */ TDateTime if _isDate(tls, context, argc, argv, bp) == 0 { _computeJD(tls, bp) - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { Xsqlite3_result_double(tls, context, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000)) } else { Xsqlite3_result_int64(tls, context, (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/int64(1000)-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000)) @@ -15293,7 +15390,7 @@ func _datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(15)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(16)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(17)] = uint8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(18)] = uint8(int32('0') + s/int32(10000)%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(19)] = uint8(int32('0') + s/int32(1000)%int32(10)) @@ -15341,7 +15438,7 @@ func _timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(3)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(4)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(5)] = uint8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(6)] = uint8(int32('0') + s/int32(10000)%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(7)] = uint8(int32('0') + s/int32(1000)%int32(10)) @@ -15402,6 +15499,62 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } +// C documentation +// +// /* +// ** Compute the number of days after the most recent January 1. +// ** +// ** In other words, compute the zero-based day number for the +// ** current year: +// ** +// ** Jan01 = 0, Jan02 = 1, ..., Jan31 = 30, Feb01 = 31, ... +// ** Dec31 = 364 or 365. +// */ +func _daysAfterJan01(tls *libc.TLS, pDate uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* jan01 at bp+0 */ TDateTime + *(*TDateTime)(unsafe.Pointer(bp)) = *(*TDateTime)(unsafe.Pointer(pDate)) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + (*(*TDateTime)(unsafe.Pointer(bp))).FvalidJD = uint8(0) + (*(*TDateTime)(unsafe.Pointer(bp))).FM = int32(1) + (*(*TDateTime)(unsafe.Pointer(bp))).FD = int32(1) + _computeJD(tls, bp) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD - (*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Monday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Monday, 1=Tuesday, 2=Wednesday, ..., 6=Sunday. +// */ +func _daysAfterMonday(tls *libc.TLS, pDate uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(43200000))/libc.Int64FromInt32(86400000)) % int32(7) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Sunday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Sunday, 1=Monday, 2=Tues, ..., 6=Saturday +// */ +func _daysAfterSunday(tls *libc.TLS, pDate uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)) % int32(7) +} + // C documentation // // /* @@ -15409,33 +15562,48 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // ** // ** Return a string described by FORMAT. Conversions as follows: // ** -// ** %d day of month +// ** %d day of month 01-31 +// ** %e day of month 1-31 // ** %f ** fractional seconds SS.SSS +// ** %F ISO date. YYYY-MM-DD +// ** %G ISO year corresponding to %V 0000-9999. +// ** %g 2-digit ISO year corresponding to %V 00-99 // ** %H hour 00-24 -// ** %j day of year 000-366 +// ** %k hour 0-24 (leading zero converted to space) +// ** %I hour 01-12 +// ** %j day of year 001-366 // ** %J ** julian day number +// ** %l hour 1-12 (leading zero converted to space) // ** %m month 01-12 // ** %M minute 00-59 +// ** %p "am" or "pm" +// ** %P "AM" or "PM" +// ** %R time as HH:MM // ** %s seconds since 1970-01-01 // ** %S seconds 00-59 -// ** %w day of week 0-6 Sunday==0 -// ** %W week of year 00-53 +// ** %T time as HH:MM:SS +// ** %u day of week 1-7 Monday==1, Sunday==7 +// ** %w day of week 0-6 Sunday==0, Monday==1 +// ** %U week of year 00-53 (First Sunday is start of week 01) +// ** %V week of year 01-53 (First week containing Thursday is week 01) +// ** %W week of year 00-53 (First Monday is start of week 01) // ** %Y year 0000-9999 // ** %% % // */ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(208) + defer tls.Free(208) var c, cf uint8 var db, zFmt, v3, v4, v5, v6, v7 uintptr - var h, nDay, wd int32 + var h int32 var i, j, v2 Tsize_t var iS Ti64 var s float64 var _ /* sRes at bp+48 */ Tsqlite3_str var _ /* x at bp+0 */ TDateTime + var _ /* y at bp+128 */ TDateTime var _ /* y at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, nDay, s, wd, zFmt, v2, v3, v4, v5, v6, v7 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, s, zFmt, v2, v3, v4, v5, v6, v7 if argc == 0 { return } @@ -15468,28 +15636,42 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { fallthrough case int32('e'): if int32(cf) == int32('d') { - v3 = __ccgo_ts + 1335 + v3 = __ccgo_ts + 1349 } else { - v3 = __ccgo_ts + 1340 + v3 = __ccgo_ts + 1354 } - Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) - case int32('f'): + Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('f'): /* Fractional seconds. (Non-standard) */ s = (*(*TDateTime)(unsafe.Pointer(bp))).Fs if s > float64(59.999) { s = float64(59.999) } - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1344, libc.VaList(bp+136, s)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, s)) case int32('F'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1365, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('G'): /* Fall thru */ + fallthrough + case int32('g'): + *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) + _ = libc.Int32FromInt32(0) + /* Move y so that it is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidYMD = uint8(0) + _computeYMD(tls, bp+80) + if int32(cf) == int32('g') { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY%int32(100))) + } else { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1380, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY)) + } case int32('H'): fallthrough case int32('k'): if int32(cf) == int32('H') { - v4 = __ccgo_ts + 1335 + v4 = __ccgo_ts + 1349 } else { - v4 = __ccgo_ts + 1340 + v4 = __ccgo_ts + 1354 } - Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) + Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) case int32('I'): /* Fall thru */ fallthrough case int32('l'): @@ -15501,73 +15683,72 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { h = int32(12) } if int32(cf) == int32('I') { - v5 = __ccgo_ts + 1335 + v5 = __ccgo_ts + 1349 } else { - v5 = __ccgo_ts + 1340 + v5 = __ccgo_ts + 1354 } - Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+136, h)) - case int32('W'): /* Fall thru */ - fallthrough - case int32('j'): /* Number of days since 1st day of year */ - *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidJD = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FM = int32(1) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FD = int32(1) - _computeJD(tls, bp+80) - nDay = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) - if int32(cf) == int32('W') { /* 0=Monday, 1=Tuesday, ... 6=Sunday */ - wd = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000) % libc.Int64FromInt32(7)) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+136, (nDay+int32(7)-wd)/int32(7))) - } else { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1366, libc.VaList(bp+136, nDay+int32(1))) - } - case int32('J'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1371, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) + Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+184, h)) + case int32('j'): /* Day of year. Jan01==1, Jan02==2, and so forth */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1385, libc.VaList(bp+184, _daysAfterJan01(tls, bp)+int32(1))) + case int32('J'): /* Julian day number. (Non-standard) */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1390, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) case int32('m'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) case int32('M'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('p'): /* Fall thru */ fallthrough case int32('P'): if (*(*TDateTime)(unsafe.Pointer(bp))).Fh >= int32(12) { if int32(cf) == int32('p') { - v6 = __ccgo_ts + 1377 + v6 = __ccgo_ts + 1396 } else { - v6 = __ccgo_ts + 1380 + v6 = __ccgo_ts + 1399 } Xsqlite3_str_append(tls, bp+48, v6, int32(2)) } else { if int32(cf) == int32('p') { - v7 = __ccgo_ts + 1383 + v7 = __ccgo_ts + 1402 } else { - v7 = __ccgo_ts + 1386 + v7 = __ccgo_ts + 1405 } Xsqlite3_str_append(tls, bp+48, v7, int32(2)) } case int32('R'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1389, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1408, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('s'): - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1399, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1418, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) } else { iS = (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/libc.Int64FromInt32(1000) - libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1404, libc.VaList(bp+136, iS)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1423, libc.VaList(bp+184, iS)) } case int32('S'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+136, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+184, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) case int32('T'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1409, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) - case int32('u'): /* Fall thru */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1428, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + case int32('u'): /* Day of week. 1 to 7. Monday==1, Sunday==7 */ fallthrough - case int32('w'): - c = uint8(int32(uint8(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)%libc.Int64FromInt32(7))) + int32('0')) + case int32('w'): /* Day of week. 0 to 6. Sunday==0, Monday==1 */ + c = uint8(int32(uint8(_daysAfterSunday(tls, bp))) + int32('0')) if int32(c) == int32('0') && int32(cf) == int32('u') { c = uint8('7') } Xsqlite3_str_appendchar(tls, bp+48, int32(1), c) + case int32('U'): /* Week num. 00-53. First Sun of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterSunday(tls, bp)+int32(7))/int32(7))) + case int32('V'): /* Week num. 01-53. First week with a Thur is week 01 */ + *(*TDateTime)(unsafe.Pointer(bp + 128)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Adjust y so that is the Thursday in the same week as x */ + _ = libc.Int32FromInt32(0) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FvalidYMD = uint8(0) + _computeYMD(tls, bp+128) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+184, _daysAfterJan01(tls, bp+128)/int32(7)+int32(1))) + case int32('W'): /* Week num. 00-53. First Mon of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterMonday(tls, bp)+int32(7))/int32(7))) case int32('Y'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1424, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1380, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) case int32('%'): Xsqlite3_str_appendchar(tls, bp+48, int32(1), uint8('%')) default: @@ -15720,12 +15901,10 @@ func _timediffFunc(tls *libc.TLS, context uintptr, NotUsed1 int32, argv uintptr) p2 = bp *(*Tsqlite3_int64)(unsafe.Pointer(p2)) = Tsqlite3_int64(uint64(*(*Tsqlite3_int64)(unsafe.Pointer(p2))) + libc.Uint64FromInt32(1486995408)*libc.Uint64FromInt32(100000)) } - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidYMD = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidHMS = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidTZ = uint8(0) + _clearYMD_HMS_TZ(tls, bp) _computeYMD_HMS(tls, bp) _sqlite3StrAccumInit(tls, bp+96, uintptr(0), uintptr(0), 0, int32(100)) - Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1429, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) + Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1443, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) _sqlite3ResultStrAccum(tls, context, bp+96) } @@ -15758,55 +15937,55 @@ var _aDateTimeFuncs = [10]TFuncDef{ FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1235, + FzName: __ccgo_ts + 1249, }, 1: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1255, + FzName: __ccgo_ts + 1269, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1463, + FzName: __ccgo_ts + 1477, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1468, + FzName: __ccgo_ts + 1482, }, 4: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1473, + FzName: __ccgo_ts + 1487, }, 5: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1482, + FzName: __ccgo_ts + 1496, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1491, + FzName: __ccgo_ts + 1505, }, 7: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1500, + FzName: __ccgo_ts + 1514, }, 8: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1513, + FzName: __ccgo_ts + 1527, }, 9: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1531, + FzName: __ccgo_ts + 1545, }, } @@ -16488,7 +16667,7 @@ func _sqlite3MemMalloc(tls *libc.TLS, nByte int32) (r uintptr) { *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1544, libc.VaList(bp+8, nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1558, libc.VaList(bp+8, nByte)) } return p } @@ -16553,7 +16732,7 @@ func _sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) (r uintptr) *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1582, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1596, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) } return p } @@ -17969,7 +18148,7 @@ func _sqlite3OomFault(tls *libc.TLS, db uintptr) (r uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = uint16(0) if (*Tsqlite3)(unsafe.Pointer(db)).FpParse != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1632, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) pParse = (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).FpOuterParse for { @@ -18396,7 +18575,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li v3 = int32(*(*uint8)(unsafe.Pointer(v4))) c = v3 if v3 == 0 { - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1632, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1646, int32(1)) break } /* Find out what flags are present */ @@ -18813,9 +18992,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial != 0 { if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial) == int32(2) { if flag_zeropad != 0 { - v57 = __ccgo_ts + 1634 + v57 = __ccgo_ts + 1648 } else { - v57 = __ccgo_ts + 1639 + v57 = __ccgo_ts + 1653 } bufpt = v57 length = _sqlite3Strlen30(tls, bufpt) @@ -18826,7 +19005,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP = int32(1000) (*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fn = int32(1) } else { - libc.Xmemcpy(tls, bp, __ccgo_ts+1643, uint64(5)) + libc.Xmemcpy(tls, bp, __ccgo_ts+1657, uint64(5)) bufpt = bp if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fsign) == int32('-') { /* no-op */ @@ -18848,14 +19027,13 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li prefix = flag_prefix } exp = (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP - int32(1) - if int32(xtype) == int32(etGENERIC) && precision > 0 { - precision-- - } /* ** If the field type is etGENERIC, then convert to either etEXP ** or etFLOAT, as appropriate. */ if int32(xtype) == int32(etGENERIC) { + _ = libc.Int32FromInt32(0) + precision-- flag_rtz = libc.BoolUint8(!(flag_alternateform != 0)) if exp < -int32(4) || exp > precision { xtype = uint8(etEXP) @@ -19162,7 +19340,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li bufpt = libc.VaUintptr(&ap) } if bufpt == uintptr(0) { - bufpt = __ccgo_ts + 1648 + bufpt = __ccgo_ts + 1662 } else { if int32(xtype) == int32(etDYNSTRING) { if (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FnChar == uint32(0) && (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FmxAlloc != 0 && width == 0 && precision < 0 && int32((*Tsqlite3_str)(unsafe.Pointer(pAccum)).FaccError) == 0 { @@ -19251,9 +19429,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li isnull = libc.BoolInt32(escarg == uintptr(0)) if isnull != 0 { if int32(xtype) == int32(etSQLESCAPE2) { - v98 = __ccgo_ts + 1649 + v98 = __ccgo_ts + 1663 } else { - v98 = __ccgo_ts + 1654 + v98 = __ccgo_ts + 1668 } escarg = v98 } @@ -19373,7 +19551,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*TSrcItem)(unsafe.Pointer(pItem)).FzName != 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1661, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1675, int32(1)) } Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzName) } else { @@ -19381,11 +19559,16 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzAlias) } else { pSel = (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect - _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* Because of tag-20240424-1 */ if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_NestedFrom) != 0 { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1663, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1677, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) } else { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1673, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_MultiValue) != 0 { + _ = libc.Int32FromInt32(0) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1687, libc.VaList(bp+128, *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pItem)).Fu1)))) + } else { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1708, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + } } } } @@ -19674,7 +19857,7 @@ func _sqlite3ResultStrAccum(tls *libc.TLS, pCtx uintptr, p uintptr) { if int32((*TStrAccum)(unsafe.Pointer(p)).FprintfFlags)&int32(SQLITE_PRINTF_MALLOCED) != 0 { Xsqlite3_result_text(tls, pCtx, (*TStrAccum)(unsafe.Pointer(p)).FzText, int32((*TStrAccum)(unsafe.Pointer(p)).FnChar), __ccgo_fp(_sqlite3OomClear)) } else { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1648, 0, libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1662, 0, libc.UintptrFromInt32(0)) Xsqlite3_str_reset(tls, p) } } @@ -21615,6 +21798,62 @@ func _sqlite3DequoteExpr(tls *libc.TLS, p uintptr) { _sqlite3Dequote(tls, *(*uintptr)(unsafe.Pointer(p + 8))) } +// C documentation +// +// /* +// ** Expression p is a QNUMBER (quoted number). Dequote the value in p->u.zToken +// ** and set the type to INTEGER or FLOAT. "Quoted" integers or floats are those +// ** that contain '_' characters that must be removed before further processing. +// */ +func _sqlite3DequoteNumber(tls *libc.TLS, pParse uintptr, p uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var bHex int32 + var pIn, pOut, v1, v3 uintptr + var _ /* iValue at bp+0 */ int32 + _, _, _, _, _ = bHex, pIn, pOut, v1, v3 + _ = libc.Int32FromInt32(0) + if p != 0 { + pIn = *(*uintptr)(unsafe.Pointer(p + 8)) + pOut = *(*uintptr)(unsafe.Pointer(p + 8)) + bHex = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(pIn + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(pIn + 1))) == int32('X'))) + _ = libc.Int32FromInt32(0) + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + for { + if int32(*(*uint8)(unsafe.Pointer(pIn))) != int32('_') { + v3 = pOut + pOut++ + *(*uint8)(unsafe.Pointer(v3)) = *(*uint8)(unsafe.Pointer(pIn)) + if int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('E') || int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('.') { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_FLOAT) + } + } else { + if bHex == 0 && (!(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1))))])&libc.Int32FromInt32(0x04) != 0) || !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + 1))])&libc.Int32FromInt32(0x04) != 0)) || bHex == int32(1) && (!(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1))))])&libc.Int32FromInt32(0x08) != 0) || !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + 1))])&libc.Int32FromInt32(0x08) != 0)) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1722, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(p + 8)))) + } + } + goto _2 + _2: + ; + v1 = pIn + pIn++ + if !(*(*uint8)(unsafe.Pointer(v1)) != 0) { + break + } + } + if bHex != 0 { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + } + /* tag-20240227-a: If after dequoting, the number is an integer that + ** fits in 32 bits, then it must be converted into EP_IntValue. Other + ** parts of the code expect this. See also tag-20240227-b. */ + if int32((*TExpr)(unsafe.Pointer(p)).Fop) == int32(TK_INTEGER) && _sqlite3GetInt32(tls, *(*uintptr)(unsafe.Pointer(p + 8)), bp) != 0 { + *(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(p)).Fu)) = *(*int32)(unsafe.Pointer(bp)) + *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(EP_IntValue) + } + } +} + // C documentation // // /* @@ -22169,7 +22408,7 @@ func _compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) (r int32) { _, _, _ = c, i, pow63 c = 0 /* 012345678901234567 */ - pow63 = __ccgo_ts + 1687 + pow63 = __ccgo_ts + 1747 i = 0 for { if !(c == 0 && i < int32(18)) { @@ -22401,7 +22640,7 @@ func _sqlite3DecOrHexToI64(tls *libc.TLS, z uintptr, pOut uintptr) (r int32) { } return 0 } else { - n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1706)) + n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1766)) if *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 { n++ } @@ -22559,7 +22798,7 @@ func _sqlite3FpDecode(tls *libc.TLS, p uintptr, _r float64, iRound int32, mxRoun (*TFpDecode)(unsafe.Pointer(p)).Fsign = uint8('+') (*TFpDecode)(unsafe.Pointer(p)).Fn = int32(1) (*TFpDecode)(unsafe.Pointer(p)).FiDP = int32(1) - (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1722 + (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1782 return } else { (*TFpDecode)(unsafe.Pointer(p)).Fsign = uint8('+') @@ -23120,7 +23359,7 @@ func _sqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) (r uintptr func _logBadConnection(tls *libc.TLS, zType uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1724, libc.VaList(bp+8, zType)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1784, libc.VaList(bp+8, zType)) } // C documentation @@ -23143,13 +23382,13 @@ func _sqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) (r int32) { var eOpenState Tu8 _ = eOpenState if db == uintptr(0) { - _logBadConnection(tls, __ccgo_ts+1649) + _logBadConnection(tls, __ccgo_ts+1663) return 0 } eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_OPEN) { if _sqlite3SafetyCheckSickOrOk(tls, db) != 0 { - _logBadConnection(tls, __ccgo_ts+1769) + _logBadConnection(tls, __ccgo_ts+1829) } return 0 } else { @@ -23163,7 +23402,7 @@ func _sqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) (r int32) { _ = eOpenState eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_SICK) && int32(eOpenState) != int32(SQLITE_STATE_OPEN) && int32(eOpenState) != int32(SQLITE_STATE_BUSY) { - _logBadConnection(tls, __ccgo_ts+1778) + _logBadConnection(tls, __ccgo_ts+1838) return 0 } else { return int32(1) @@ -23822,196 +24061,196 @@ func _sqlite3OpcodeName(tls *libc.TLS, i int32) (r uintptr) { } var _azName = [190]uintptr{ - 0: __ccgo_ts + 1786, - 1: __ccgo_ts + 1796, - 2: __ccgo_ts + 1807, - 3: __ccgo_ts + 1819, - 4: __ccgo_ts + 1830, - 5: __ccgo_ts + 1842, - 6: __ccgo_ts + 1849, - 7: __ccgo_ts + 1857, - 8: __ccgo_ts + 1865, - 9: __ccgo_ts + 1870, - 10: __ccgo_ts + 1875, - 11: __ccgo_ts + 1881, - 12: __ccgo_ts + 1895, - 13: __ccgo_ts + 1901, - 14: __ccgo_ts + 1911, - 15: __ccgo_ts + 1916, - 16: __ccgo_ts + 1921, - 17: __ccgo_ts + 1924, - 18: __ccgo_ts + 1930, - 19: __ccgo_ts + 1937, - 20: __ccgo_ts + 1941, - 21: __ccgo_ts + 1951, - 22: __ccgo_ts + 1958, - 23: __ccgo_ts + 1965, - 24: __ccgo_ts + 1972, - 25: __ccgo_ts + 1979, - 26: __ccgo_ts + 1989, - 27: __ccgo_ts + 1998, - 28: __ccgo_ts + 2009, - 29: __ccgo_ts + 2018, - 30: __ccgo_ts + 2024, - 31: __ccgo_ts + 2034, - 32: __ccgo_ts + 2044, - 33: __ccgo_ts + 2049, - 34: __ccgo_ts + 2059, - 35: __ccgo_ts + 2070, - 36: __ccgo_ts + 2075, - 37: __ccgo_ts + 2082, - 38: __ccgo_ts + 2093, - 39: __ccgo_ts + 2098, - 40: __ccgo_ts + 2103, - 41: __ccgo_ts + 2109, - 42: __ccgo_ts + 2115, - 43: __ccgo_ts + 2121, - 44: __ccgo_ts + 2124, - 45: __ccgo_ts + 2128, - 46: __ccgo_ts + 2134, - 47: __ccgo_ts + 2145, - 48: __ccgo_ts + 2156, - 49: __ccgo_ts + 2164, - 50: __ccgo_ts + 2173, - 51: __ccgo_ts + 2180, - 52: __ccgo_ts + 2188, - 53: __ccgo_ts + 2191, - 54: __ccgo_ts + 2194, - 55: __ccgo_ts + 2197, - 56: __ccgo_ts + 2200, - 57: __ccgo_ts + 2203, - 58: __ccgo_ts + 2206, - 59: __ccgo_ts + 2213, - 60: __ccgo_ts + 2219, - 61: __ccgo_ts + 2229, - 62: __ccgo_ts + 2242, - 63: __ccgo_ts + 2253, - 64: __ccgo_ts + 2259, - 65: __ccgo_ts + 2266, - 66: __ccgo_ts + 2275, - 67: __ccgo_ts + 2284, - 68: __ccgo_ts + 2291, - 69: __ccgo_ts + 2304, - 70: __ccgo_ts + 2315, - 71: __ccgo_ts + 2320, - 72: __ccgo_ts + 2328, - 73: __ccgo_ts + 2334, - 74: __ccgo_ts + 2341, - 75: __ccgo_ts + 2353, - 76: __ccgo_ts + 2358, - 77: __ccgo_ts + 2367, - 78: __ccgo_ts + 2372, - 79: __ccgo_ts + 2381, - 80: __ccgo_ts + 2386, - 81: __ccgo_ts + 2391, - 82: __ccgo_ts + 2397, - 83: __ccgo_ts + 2405, - 84: __ccgo_ts + 2413, - 85: __ccgo_ts + 2423, - 86: __ccgo_ts + 2431, - 87: __ccgo_ts + 2438, - 88: __ccgo_ts + 2451, - 89: __ccgo_ts + 2456, - 90: __ccgo_ts + 2468, - 91: __ccgo_ts + 2476, - 92: __ccgo_ts + 2483, - 93: __ccgo_ts + 2494, - 94: __ccgo_ts + 2501, - 95: __ccgo_ts + 2508, - 96: __ccgo_ts + 2518, - 97: __ccgo_ts + 2527, - 98: __ccgo_ts + 2538, - 99: __ccgo_ts + 2544, - 100: __ccgo_ts + 2555, - 101: __ccgo_ts + 2565, - 102: __ccgo_ts + 2575, - 103: __ccgo_ts + 2582, - 104: __ccgo_ts + 2588, - 105: __ccgo_ts + 2598, - 106: __ccgo_ts + 2609, - 107: __ccgo_ts + 2613, - 108: __ccgo_ts + 2622, - 109: __ccgo_ts + 2631, - 110: __ccgo_ts + 2638, - 111: __ccgo_ts + 2648, - 112: __ccgo_ts + 2655, - 113: __ccgo_ts + 2664, - 114: __ccgo_ts + 2674, - 115: __ccgo_ts + 2681, - 116: __ccgo_ts + 2689, - 117: __ccgo_ts + 2703, - 118: __ccgo_ts + 2711, - 119: __ccgo_ts + 2725, - 120: __ccgo_ts + 2736, - 121: __ccgo_ts + 2749, - 122: __ccgo_ts + 2760, - 123: __ccgo_ts + 2766, - 124: __ccgo_ts + 2778, - 125: __ccgo_ts + 2787, - 126: __ccgo_ts + 2795, - 127: __ccgo_ts + 2804, - 128: __ccgo_ts + 2813, - 129: __ccgo_ts + 2820, - 130: __ccgo_ts + 2828, - 131: __ccgo_ts + 2835, - 132: __ccgo_ts + 2846, - 133: __ccgo_ts + 2860, - 134: __ccgo_ts + 2871, - 135: __ccgo_ts + 2879, - 136: __ccgo_ts + 2885, - 137: __ccgo_ts + 2893, - 138: __ccgo_ts + 2901, - 139: __ccgo_ts + 2911, - 140: __ccgo_ts + 2924, - 141: __ccgo_ts + 2934, - 142: __ccgo_ts + 2947, - 143: __ccgo_ts + 2956, - 144: __ccgo_ts + 2967, - 145: __ccgo_ts + 2975, - 146: __ccgo_ts + 2981, - 147: __ccgo_ts + 2993, - 148: __ccgo_ts + 3005, - 149: __ccgo_ts + 3013, - 150: __ccgo_ts + 3025, - 151: __ccgo_ts + 3038, - 152: __ccgo_ts + 3048, - 153: __ccgo_ts + 3058, - 154: __ccgo_ts + 3063, - 155: __ccgo_ts + 3075, - 156: __ccgo_ts + 3087, - 157: __ccgo_ts + 3097, - 158: __ccgo_ts + 3103, - 159: __ccgo_ts + 3113, - 160: __ccgo_ts + 3120, - 161: __ccgo_ts + 3132, - 162: __ccgo_ts + 3143, - 163: __ccgo_ts + 3151, - 164: __ccgo_ts + 3160, - 165: __ccgo_ts + 3169, - 166: __ccgo_ts + 3178, - 167: __ccgo_ts + 3185, - 168: __ccgo_ts + 3196, - 169: __ccgo_ts + 3209, - 170: __ccgo_ts + 3219, - 171: __ccgo_ts + 3226, - 172: __ccgo_ts + 3234, - 173: __ccgo_ts + 3243, - 174: __ccgo_ts + 3249, - 175: __ccgo_ts + 3256, - 176: __ccgo_ts + 3264, - 177: __ccgo_ts + 3272, - 178: __ccgo_ts + 3280, - 179: __ccgo_ts + 3290, - 180: __ccgo_ts + 3299, - 181: __ccgo_ts + 3310, - 182: __ccgo_ts + 3321, - 183: __ccgo_ts + 3332, - 184: __ccgo_ts + 3342, - 185: __ccgo_ts + 3348, - 186: __ccgo_ts + 3359, - 187: __ccgo_ts + 3370, - 188: __ccgo_ts + 3375, - 189: __ccgo_ts + 3383, + 0: __ccgo_ts + 1846, + 1: __ccgo_ts + 1856, + 2: __ccgo_ts + 1867, + 3: __ccgo_ts + 1879, + 4: __ccgo_ts + 1890, + 5: __ccgo_ts + 1902, + 6: __ccgo_ts + 1909, + 7: __ccgo_ts + 1917, + 8: __ccgo_ts + 1925, + 9: __ccgo_ts + 1930, + 10: __ccgo_ts + 1935, + 11: __ccgo_ts + 1941, + 12: __ccgo_ts + 1955, + 13: __ccgo_ts + 1961, + 14: __ccgo_ts + 1971, + 15: __ccgo_ts + 1976, + 16: __ccgo_ts + 1981, + 17: __ccgo_ts + 1984, + 18: __ccgo_ts + 1990, + 19: __ccgo_ts + 1997, + 20: __ccgo_ts + 2001, + 21: __ccgo_ts + 2011, + 22: __ccgo_ts + 2018, + 23: __ccgo_ts + 2025, + 24: __ccgo_ts + 2032, + 25: __ccgo_ts + 2039, + 26: __ccgo_ts + 2049, + 27: __ccgo_ts + 2058, + 28: __ccgo_ts + 2069, + 29: __ccgo_ts + 2078, + 30: __ccgo_ts + 2084, + 31: __ccgo_ts + 2094, + 32: __ccgo_ts + 2104, + 33: __ccgo_ts + 2109, + 34: __ccgo_ts + 2123, + 35: __ccgo_ts + 2134, + 36: __ccgo_ts + 2139, + 37: __ccgo_ts + 2146, + 38: __ccgo_ts + 2157, + 39: __ccgo_ts + 2162, + 40: __ccgo_ts + 2167, + 41: __ccgo_ts + 2173, + 42: __ccgo_ts + 2179, + 43: __ccgo_ts + 2185, + 44: __ccgo_ts + 2188, + 45: __ccgo_ts + 2192, + 46: __ccgo_ts + 2198, + 47: __ccgo_ts + 2209, + 48: __ccgo_ts + 2220, + 49: __ccgo_ts + 2228, + 50: __ccgo_ts + 2237, + 51: __ccgo_ts + 2244, + 52: __ccgo_ts + 2252, + 53: __ccgo_ts + 2255, + 54: __ccgo_ts + 2258, + 55: __ccgo_ts + 2261, + 56: __ccgo_ts + 2264, + 57: __ccgo_ts + 2267, + 58: __ccgo_ts + 2270, + 59: __ccgo_ts + 2277, + 60: __ccgo_ts + 2283, + 61: __ccgo_ts + 2293, + 62: __ccgo_ts + 2306, + 63: __ccgo_ts + 2317, + 64: __ccgo_ts + 2323, + 65: __ccgo_ts + 2330, + 66: __ccgo_ts + 2339, + 67: __ccgo_ts + 2348, + 68: __ccgo_ts + 2355, + 69: __ccgo_ts + 2368, + 70: __ccgo_ts + 2379, + 71: __ccgo_ts + 2384, + 72: __ccgo_ts + 2392, + 73: __ccgo_ts + 2398, + 74: __ccgo_ts + 2405, + 75: __ccgo_ts + 2417, + 76: __ccgo_ts + 2422, + 77: __ccgo_ts + 2431, + 78: __ccgo_ts + 2436, + 79: __ccgo_ts + 2445, + 80: __ccgo_ts + 2450, + 81: __ccgo_ts + 2455, + 82: __ccgo_ts + 2461, + 83: __ccgo_ts + 2469, + 84: __ccgo_ts + 2477, + 85: __ccgo_ts + 2487, + 86: __ccgo_ts + 2495, + 87: __ccgo_ts + 2502, + 88: __ccgo_ts + 2515, + 89: __ccgo_ts + 2520, + 90: __ccgo_ts + 2532, + 91: __ccgo_ts + 2540, + 92: __ccgo_ts + 2547, + 93: __ccgo_ts + 2558, + 94: __ccgo_ts + 2565, + 95: __ccgo_ts + 2572, + 96: __ccgo_ts + 2582, + 97: __ccgo_ts + 2591, + 98: __ccgo_ts + 2602, + 99: __ccgo_ts + 2608, + 100: __ccgo_ts + 2619, + 101: __ccgo_ts + 2629, + 102: __ccgo_ts + 2639, + 103: __ccgo_ts + 2646, + 104: __ccgo_ts + 2652, + 105: __ccgo_ts + 2662, + 106: __ccgo_ts + 2673, + 107: __ccgo_ts + 2677, + 108: __ccgo_ts + 2686, + 109: __ccgo_ts + 2695, + 110: __ccgo_ts + 2702, + 111: __ccgo_ts + 2712, + 112: __ccgo_ts + 2719, + 113: __ccgo_ts + 2728, + 114: __ccgo_ts + 2738, + 115: __ccgo_ts + 2745, + 116: __ccgo_ts + 2753, + 117: __ccgo_ts + 2767, + 118: __ccgo_ts + 2775, + 119: __ccgo_ts + 2789, + 120: __ccgo_ts + 2800, + 121: __ccgo_ts + 2813, + 122: __ccgo_ts + 2824, + 123: __ccgo_ts + 2830, + 124: __ccgo_ts + 2842, + 125: __ccgo_ts + 2851, + 126: __ccgo_ts + 2859, + 127: __ccgo_ts + 2868, + 128: __ccgo_ts + 2877, + 129: __ccgo_ts + 2884, + 130: __ccgo_ts + 2892, + 131: __ccgo_ts + 2899, + 132: __ccgo_ts + 2910, + 133: __ccgo_ts + 2924, + 134: __ccgo_ts + 2935, + 135: __ccgo_ts + 2943, + 136: __ccgo_ts + 2949, + 137: __ccgo_ts + 2957, + 138: __ccgo_ts + 2965, + 139: __ccgo_ts + 2975, + 140: __ccgo_ts + 2988, + 141: __ccgo_ts + 2998, + 142: __ccgo_ts + 3011, + 143: __ccgo_ts + 3020, + 144: __ccgo_ts + 3031, + 145: __ccgo_ts + 3039, + 146: __ccgo_ts + 3045, + 147: __ccgo_ts + 3057, + 148: __ccgo_ts + 3069, + 149: __ccgo_ts + 3077, + 150: __ccgo_ts + 3089, + 151: __ccgo_ts + 3102, + 152: __ccgo_ts + 3112, + 153: __ccgo_ts + 3122, + 154: __ccgo_ts + 3127, + 155: __ccgo_ts + 3139, + 156: __ccgo_ts + 3151, + 157: __ccgo_ts + 3161, + 158: __ccgo_ts + 3167, + 159: __ccgo_ts + 3177, + 160: __ccgo_ts + 3184, + 161: __ccgo_ts + 3196, + 162: __ccgo_ts + 3207, + 163: __ccgo_ts + 3215, + 164: __ccgo_ts + 3224, + 165: __ccgo_ts + 3233, + 166: __ccgo_ts + 3242, + 167: __ccgo_ts + 3249, + 168: __ccgo_ts + 3260, + 169: __ccgo_ts + 3273, + 170: __ccgo_ts + 3283, + 171: __ccgo_ts + 3290, + 172: __ccgo_ts + 3298, + 173: __ccgo_ts + 3307, + 174: __ccgo_ts + 3313, + 175: __ccgo_ts + 3320, + 176: __ccgo_ts + 3328, + 177: __ccgo_ts + 3336, + 178: __ccgo_ts + 3344, + 179: __ccgo_ts + 3354, + 180: __ccgo_ts + 3363, + 181: __ccgo_ts + 3374, + 182: __ccgo_ts + 3385, + 183: __ccgo_ts + 3396, + 184: __ccgo_ts + 3406, + 185: __ccgo_ts + 3412, + 186: __ccgo_ts + 3423, + 187: __ccgo_ts + 3434, + 188: __ccgo_ts + 3439, + 189: __ccgo_ts + 3447, } type Tstat = struct { @@ -24755,91 +24994,91 @@ type unix_syscall = Tunix_syscall // */ var _aSyscall = [29]Tunix_syscall{ 0: { - FzName: __ccgo_ts + 3393, + FzName: __ccgo_ts + 3457, }, 1: { - FzName: __ccgo_ts + 3398, + FzName: __ccgo_ts + 3462, }, 2: { - FzName: __ccgo_ts + 3404, + FzName: __ccgo_ts + 3468, }, 3: { - FzName: __ccgo_ts + 3411, + FzName: __ccgo_ts + 3475, }, 4: { - FzName: __ccgo_ts + 3418, + FzName: __ccgo_ts + 3482, }, 5: { - FzName: __ccgo_ts + 3423, + FzName: __ccgo_ts + 3487, }, 6: { - FzName: __ccgo_ts + 3429, + FzName: __ccgo_ts + 3493, }, 7: { - FzName: __ccgo_ts + 3439, + FzName: __ccgo_ts + 3503, }, 8: { - FzName: __ccgo_ts + 3445, + FzName: __ccgo_ts + 3509, }, 9: { - FzName: __ccgo_ts + 3450, + FzName: __ccgo_ts + 3514, }, 10: { - FzName: __ccgo_ts + 3456, + FzName: __ccgo_ts + 3520, }, 11: { - FzName: __ccgo_ts + 3464, + FzName: __ccgo_ts + 3528, }, 12: { - FzName: __ccgo_ts + 3470, + FzName: __ccgo_ts + 3534, }, 13: { - FzName: __ccgo_ts + 3477, + FzName: __ccgo_ts + 3541, }, 14: { - FzName: __ccgo_ts + 3486, + FzName: __ccgo_ts + 3550, }, 15: { - FzName: __ccgo_ts + 3493, + FzName: __ccgo_ts + 3557, }, 16: { - FzName: __ccgo_ts + 3503, + FzName: __ccgo_ts + 3567, }, 17: { - FzName: __ccgo_ts + 3510, + FzName: __ccgo_ts + 3574, }, 18: { - FzName: __ccgo_ts + 3524, + FzName: __ccgo_ts + 3588, }, 19: { - FzName: __ccgo_ts + 3530, + FzName: __ccgo_ts + 3594, }, 20: { - FzName: __ccgo_ts + 3536, + FzName: __ccgo_ts + 3600, }, 21: { - FzName: __ccgo_ts + 3543, + FzName: __ccgo_ts + 3607, }, 22: { - FzName: __ccgo_ts + 3551, + FzName: __ccgo_ts + 3615, }, 23: { - FzName: __ccgo_ts + 3556, + FzName: __ccgo_ts + 3620, }, 24: { - FzName: __ccgo_ts + 3563, + FzName: __ccgo_ts + 3627, }, 25: { - FzName: __ccgo_ts + 3570, + FzName: __ccgo_ts + 3634, }, 26: { - FzName: __ccgo_ts + 3582, + FzName: __ccgo_ts + 3646, }, 27: { - FzName: __ccgo_ts + 3591, + FzName: __ccgo_ts + 3655, }, 28: { - FzName: __ccgo_ts + 3597, + FzName: __ccgo_ts + 3661, }, } @@ -25078,9 +25317,9 @@ func _robust_open(tls *libc.TLS, z uintptr, f int32, m Tmode_t) (r int32) { (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, z) } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(1)].FpCurrent})))(tls, fd) - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3603, libc.VaList(bp+136, z, fd)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3667, libc.VaList(bp+136, z, fd)) fd = -int32(1) - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3646, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3710, O_RDONLY, int32(m)) < 0 { break } } @@ -25398,11 +25637,11 @@ func _unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uint ** equivalent to errno. Otherwise, use strerror_r(). */ /* This is a threadsafe build, but strerror_r() is not available. */ - zErr = __ccgo_ts + 1648 + zErr = __ccgo_ts + 1662 if zPath == uintptr(0) { - zPath = __ccgo_ts + 1648 + zPath = __ccgo_ts + 1662 } - Xsqlite3_log(tls, errcode, __ccgo_ts+3656, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) + Xsqlite3_log(tls, errcode, __ccgo_ts+3720, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) return errcode } @@ -25430,7 +25669,7 @@ func _robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { } else { v1 = uintptr(0) } - _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(16)< uint32(1) { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3740, libc.VaList(bp+136, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3804, libc.VaList(bp+136, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } if _fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3767, libc.VaList(bp+136, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3831, libc.VaList(bp+136, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -26124,7 +26363,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) { pFile = id _unixUnmapfile(tls, pFile) if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 { - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40172)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40505)) (*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1) } Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -26751,7 +26990,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { var _ /* zDirname at bp+0 */ [513]uint8 _, _ = fd, ii fd = -int32(1) - Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3795, libc.VaList(bp+528, zFilename)) + Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3859, libc.VaList(bp+528, zFilename)) ii = int32(libc.Xstrlen(tls, bp)) for { if !(ii > 0 && int32((*(*[513]uint8)(unsafe.Pointer(bp)))[ii]) != int32('/')) { @@ -26777,7 +27016,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { if fd >= 0 { return SQLITE_OK } - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(41778)), __ccgo_ts+3510, bp, int32(41778)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42111)), __ccgo_ts+3574, bp, int32(42111)) } // C documentation @@ -26816,7 +27055,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) { rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if rc != 0 { _storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<= nSize { iWrite = nSize - int64(1) } - nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1648, int32(1)) + nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1662, int32(1)) if nWrite != int32(1) { return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(3)<= 0 { - _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42583)) + _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42916)) (*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1) } (*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0) @@ -27439,7 +27678,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in ** help detect if a -shm file truncation is legitimate or is the work ** or a rogue process. */ if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 { - rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<= 0 { - _robust_close(tls, pNew, h, int32(43994)) + _robust_close(tls, pNew, h, int32(44327)) } } else { (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -28487,10 +28726,10 @@ func _fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilenam // ** Directories to consider for temp files. // */ var _azTempDirs = [6]uintptr{ - 2: __ccgo_ts + 3852, - 3: __ccgo_ts + 3861, - 4: __ccgo_ts + 3870, - 5: __ccgo_ts + 1661, + 2: __ccgo_ts + 3916, + 3: __ccgo_ts + 3925, + 4: __ccgo_ts + 3934, + 5: __ccgo_ts + 1675, } // C documentation @@ -28499,8 +28738,8 @@ var _azTempDirs = [6]uintptr{ // ** Initialize first two members of azTempDirs[] array. // */ func _unixTempFileInit(tls *libc.TLS) { - _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3875) - _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3889) + _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3939) + _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3953) } // C documentation @@ -28563,7 +28802,7 @@ func _unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) (r int32) { Xsqlite3_randomness(tls, int32(8), bp) _ = libc.Int32FromInt32(0) *(*uint8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2)))) = uint8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3896, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) + Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3960, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) if v2 = int32(*(*uint8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2))))) != 0; !v2 { v1 = iLimit iLimit++ @@ -28736,7 +28975,7 @@ func _findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintpt ** filename, check for the "modeof" parameter. If present, interpret ** its value as a filename and try to copy the mode, uid and gid from ** that file. */ - z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3913) + z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3977) if z != 0 { rc = _getFileMode(tls, z, pMode, pUid, pGid) } @@ -28774,12 +29013,12 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags bp := tls.Alloc(528) defer tls.Free(528) var ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, rc, rc2 int32 - var p, pUnused, zName uintptr + var p, pReadonly, pUnused, zName uintptr var _ /* gid at bp+524 */ Tgid_t var _ /* openMode at bp+516 */ Tmode_t var _ /* uid at bp+520 */ Tuid_t var _ /* zTmpname at bp+0 */ [514]uint8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pUnused, rc, rc2, zName + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pReadonly, pUnused, rc, rc2, zName p = pFile fd = -int32(1) /* File descriptor returned by open() */ openFlags = 0 /* Flags to pass to open() */ @@ -28889,17 +29128,24 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags } else { if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != int32(EISDIR) && isReadWrite != 0 { /* Failed to open the file for read/write access. Try read-only. */ + pReadonly = uintptr(0) flags &= ^(libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE)) openFlags &= ^(libc.Int32FromInt32(O_RDWR) | libc.Int32FromInt32(O_CREAT)) flags |= int32(SQLITE_OPEN_READONLY) openFlags |= O_RDONLY isReadonly = int32(1) - fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + pReadonly = _findReusableFd(tls, zName, flags) + if pReadonly != 0 { + fd = (*TUnixUnusedFd)(unsafe.Pointer(pReadonly)).Ffd + Xsqlite3_free(tls, pReadonly) + } else { + fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + } } } } if fd < 0 { - rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44435)), __ccgo_ts+3393, zName, int32(44435)) + rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44775)), __ccgo_ts+3457, zName, int32(44775)) if rc == SQLITE_OK { rc = rc2 } @@ -28978,7 +29224,7 @@ func _unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) ( if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(ENOENT) { rc = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(23)< int32(SQLITE_MAX_SYMLINK) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(44686)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45026)) return } got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+128, libc.Uint64FromInt64(4098)-libc.Uint64FromInt32(2)) if got <= 0 || got >= libc.Int64FromInt64(4098)-libc.Int64FromInt32(2) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44691)), __ccgo_ts+3582, zIn, int32(44691)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45031)), __ccgo_ts+3646, zIn, int32(45031)) return } (*(*[4098]uint8)(unsafe.Pointer(bp + 128)))[got] = uint8(0) @@ -29182,14 +29428,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z (*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut if int32(*(*uint8)(unsafe.Pointer(zPath))) != int32('/') { if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(4098)-libc.Uint64FromInt32(2)) == uintptr(0) { - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44749)), __ccgo_ts+3411, zPath, int32(44749)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45089)), __ccgo_ts+3475, zPath, int32(45089)) } _appendAllPathElements(tls, bp, bp+24) } _appendAllPathElements(tls, bp, zPath) *(*uint8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = uint8(0) if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) { - return _sqlite3CantopenError(tls, int32(44755)) + return _sqlite3CantopenError(tls, int32(45095)) } if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 { return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)< int64(1) { _sqlite3PagerUnrefNotNull(tls, pPgOld) - return _sqlite3CorruptError(tls, int32(63973)) + return _sqlite3CorruptError(tls, int32(64313)) } p4 = pPg + 52 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | int32((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC)) @@ -41451,7 +41697,7 @@ func _sqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in ** sqlite3_wal_checkpoint() call, but it happens very rarely. ** https://sqlite.org/forum/forumpost/fd0f19d229156939 */ - Xsqlite3_exec(tls, db, __ccgo_ts+4109, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+4173, uintptr(0), uintptr(0), uintptr(0)) } if (*TPager)(unsafe.Pointer(pPager)).FpWal != 0 { if eMode == SQLITE_CHECKPOINT_PASSIVE { @@ -42932,7 +43178,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in v2 = nCollide nCollide-- if v2 == 0 { - return _sqlite3CorruptError(tls, int32(65899)) + return _sqlite3CorruptError(tls, int32(66239)) } goto _1 _1: @@ -43024,7 +43270,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) { ** are able to understand */ version = _sqlite3Get4byte(tls, bp+8+4) if version != uint32(WAL_MAX_VERSION) { - rc = _sqlite3CantopenError(tls, int32(66031)) + rc = _sqlite3CantopenError(tls, int32(66371)) goto finished } /* Malloc a buffer to read frames into. */ @@ -43166,7 +43412,7 @@ finished: ** checkpointing the log file. */ if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FnPage != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(1)< int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = _sqlite3CorruptError(tls, int32(71032)) + rc = _sqlite3CorruptError(tls, int32(71421)) } else { rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -47926,7 +48179,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if key == uint32(0) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71230)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71619)) return } iPtrmap = _ptrmapPageno(tls, pBt, key) @@ -47939,12 +48192,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, /* The first byte of the extra data is the MemPage.isInit byte. ** If that byte is set, it means this page is also being used ** as a btree page. */ - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71243)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71632)) goto ptrmap_exit } offset = int32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1))) if offset < 0 { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71248)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71637)) goto ptrmap_exit } _ = libc.Int32FromInt32(0) @@ -47990,7 +48243,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin offset = int32(libc.Uint32FromInt32(5) * (key - uint32(iPtrmap) - libc.Uint32FromInt32(1))) if offset < 0 { _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) - return _sqlite3CorruptError(tls, int32(71293)) + return _sqlite3CorruptError(tls, int32(71682)) } _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -48000,7 +48253,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin } _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) if int32(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || int32(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) { - return _sqlite3CorruptError(tls, int32(71301)) + return _sqlite3CorruptError(tls, int32(71690)) } return SQLITE_OK } @@ -48439,7 +48692,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71741)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72130)) return } ovfl = _sqlite3Get4byte(tls, pCell+uintptr(int32((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4))) @@ -48485,12 +48738,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag { iFree = int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71799)) + return _sqlite3CorruptError(tls, int32(72188)) } if iFree != 0 { iFree2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71802)) + return _sqlite3CorruptError(tls, int32(72191)) } if 0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 { pEnd = data + uintptr(cellOffset+nCell*int32(2)) @@ -48498,21 +48751,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { sz = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree { - return _sqlite3CorruptError(tls, int32(71810)) + return _sqlite3CorruptError(tls, int32(72199)) } if iFree2 != 0 { if iFree+sz > iFree2 { - return _sqlite3CorruptError(tls, int32(71813)) + return _sqlite3CorruptError(tls, int32(72202)) } sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize { - return _sqlite3CorruptError(tls, int32(71815)) + return _sqlite3CorruptError(tls, int32(72204)) } libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) sz += sz2 } else { if iFree+sz > usableSize { - return _sqlite3CorruptError(tls, int32(71819)) + return _sqlite3CorruptError(tls, int32(72208)) } } cbrk = top + sz @@ -48560,13 +48813,13 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { ** if PRAGMA cell_size_check=ON. */ if pc > iCellLast { - return _sqlite3CorruptError(tls, int32(71852)) + return _sqlite3CorruptError(tls, int32(72241)) } _ = libc.Int32FromInt32(0) size = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc))) cbrk -= size if cbrk < iCellStart || pc+size > usableSize { - return _sqlite3CorruptError(tls, int32(71858)) + return _sqlite3CorruptError(tls, int32(72247)) } _ = libc.Int32FromInt32(0) *(*Tu8)(unsafe.Pointer(pAddr1)) = uint8(cbrk >> libc.Int32FromInt32(8)) @@ -48584,7 +48837,7 @@ defragment_out: ; _ = libc.Int32FromInt32(0) if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree { - return _sqlite3CorruptError(tls, int32(71872)) + return _sqlite3CorruptError(tls, int32(72261)) } _ = libc.Int32FromInt32(0) *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = uint8(cbrk >> libc.Int32FromInt32(8)) @@ -48647,7 +48900,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint } else { if x+pc > maxPC { /* This slot extends off the end of the usable part of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71929)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72318)) return uintptr(0) } else { /* The slot remains on the free-list. Reduce its size to account @@ -48664,14 +48917,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint if pc <= iAddr { if pc != 0 { /* The next slot in the chain comes before the current slot */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71944)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72333)) } return uintptr(0) } } if pc > maxPC+nByte-int32(4) { /* The free slot chain extends off the end of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71951)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72340)) } return uintptr(0) } @@ -48722,11 +48975,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) { top = int32(65536) } else { - return _sqlite3CorruptError(tls, int32(71999)) + return _sqlite3CorruptError(tls, int32(72388)) } } else { if top > int32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(72002)) + return _sqlite3CorruptError(tls, int32(72391)) } } /* If there is enough space between gap and top for one more cell pointer, @@ -48741,7 +48994,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r g2 = v1 *(*int32)(unsafe.Pointer(pIdx)) = v1 if g2 <= gap { - return _sqlite3CorruptError(tls, int32(72019)) + return _sqlite3CorruptError(tls, int32(72408)) } else { return SQLITE_OK } @@ -48834,12 +49087,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if int32(iFreeBlk) == 0 { break } /* TH3: corrupt082.100 */ - return _sqlite3CorruptError(tls, int32(72098)) + return _sqlite3CorruptError(tls, int32(72487)) } iPtr = iFreeBlk } if uint32(iFreeBlk) > (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-uint32(4) { /* TH3: corrupt081.100 */ - return _sqlite3CorruptError(tls, int32(72103)) + return _sqlite3CorruptError(tls, int32(72492)) } _ = libc.Int32FromInt32(0) /* At this point: @@ -48851,11 +49104,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if iFreeBlk != 0 && iEnd+uint32(3) >= uint32(iFreeBlk) { nFrag = uint8(uint32(iFreeBlk) - iEnd) if iEnd > uint32(iFreeBlk) { - return _sqlite3CorruptError(tls, int32(72115)) + return _sqlite3CorruptError(tls, int32(72504)) } iEnd = uint32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+int32(2)))))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return _sqlite3CorruptError(tls, int32(72118)) + return _sqlite3CorruptError(tls, int32(72507)) } iSize = uint16(iEnd - uint32(iStart)) iFreeBlk = uint16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= int32(iStart) { if iPtrEnd > int32(iStart) { - return _sqlite3CorruptError(tls, int32(72131)) + return _sqlite3CorruptError(tls, int32(72520)) } nFrag = Tu8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = uint16(iEnd - uint32(iPtr)) @@ -48876,7 +49129,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(7))))) { - return _sqlite3CorruptError(tls, int32(72137)) + return _sqlite3CorruptError(tls, int32(72526)) } p2 = data + uintptr(int32(hdr)+int32(7)) *(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - int32(nFrag)) @@ -48893,10 +49146,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) ** so just extend the cell content area rather than create another ** freelist entry */ if int32(iStart) < int32(x) { - return _sqlite3CorruptError(tls, int32(72151)) + return _sqlite3CorruptError(tls, int32(72540)) } if int32(iPtr) != int32(hdr)+int32(1) { - return _sqlite3CorruptError(tls, int32(72152)) + return _sqlite3CorruptError(tls, int32(72541)) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)))) = uint8(int32(iFreeBlk) >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)) + 1)) = uint8(iFreeBlk) @@ -48959,7 +49212,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72206)) + return _sqlite3CorruptError(tls, int32(72595)) } } } else { @@ -48985,7 +49238,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72230)) + return _sqlite3CorruptError(tls, int32(72619)) } } } @@ -49032,12 +49285,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will ** always be at least one cell before the first freeblock. */ - return _sqlite3CorruptError(tls, int32(72281)) + return _sqlite3CorruptError(tls, int32(72670)) } for int32(1) != 0 { if pc > iCellLast { /* Freeblock off the end of the page */ - return _sqlite3CorruptError(tls, int32(72286)) + return _sqlite3CorruptError(tls, int32(72675)) } next = uint32(int32(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) { /* Freeblock not in ascending order */ - return _sqlite3CorruptError(tls, int32(72296)) + return _sqlite3CorruptError(tls, int32(72685)) } if uint32(pc)+size > uint32(usableSize) { /* Last freeblock extends past page end */ - return _sqlite3CorruptError(tls, int32(72300)) + return _sqlite3CorruptError(tls, int32(72689)) } } /* At this point, nFree contains the sum of the offset to the start @@ -49064,7 +49317,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { ** area, according to the page header, lies within the page. */ if nFree > usableSize || nFree < iCellFirst { - return _sqlite3CorruptError(tls, int32(72312)) + return _sqlite3CorruptError(tls, int32(72701)) } (*TMemPage)(unsafe.Pointer(pPage)).FnFree = int32(uint16(nFree - iCellFirst)) return SQLITE_OK @@ -49095,11 +49348,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) { } pc = int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))) if pc < iCellFirst || pc > iCellLast { - return _sqlite3CorruptError(tls, int32(72343)) + return _sqlite3CorruptError(tls, int32(72732)) } sz = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return _sqlite3CorruptError(tls, int32(72348)) + return _sqlite3CorruptError(tls, int32(72737)) } goto _1 _1: @@ -49135,7 +49388,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating ** the b-tree page type. */ if _decodeFlags(tls, pPage, int32(*(*Tu8)(unsafe.Pointer(data)))) != 0 { - return _sqlite3CorruptError(tls, int32(72380)) + return _sqlite3CorruptError(tls, int32(72769)) } _ = libc.Int32FromInt32(0) (*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1)) @@ -49149,7 +49402,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FnCell = uint16(int32(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) { /* To many cells for a single page. The page must be corrupt */ - return _sqlite3CorruptError(tls, int32(72394)) + return _sqlite3CorruptError(tls, int32(72783)) } /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only ** possible for a root page of a table that contains no rows) then the @@ -49315,7 +49568,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe _ = libc.Int32FromInt32(0) if pgno > _btreePagecount(tls, pBt) { *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72537)) + return _sqlite3CorruptError(tls, int32(72926)) } rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly) if rc != 0 { @@ -49392,7 +49645,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) { _releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72609)) + return _sqlite3CorruptError(tls, int32(72998)) } (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0) } else { @@ -49484,7 +49737,7 @@ func _sqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt /* Set the variable isMemdb to true for an in-memory database, or ** false for a file-based database. */ - isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4190) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) + isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4254) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -50305,7 +50558,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { ** The original design allowed these amounts to vary, but as of ** version 3.6.0, we require them to be fixed. */ - if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4199, uint64(3)) != 0 { + if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4263, uint64(3)) != 0 { goto page1_init_failed } /* EVIDENCE-OF: R-51873-39618 The page size for a database file is @@ -50344,7 +50597,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { } if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) { if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 { - rc = _sqlite3CorruptError(tls, int32(73547)) + rc = _sqlite3CorruptError(tls, int32(73936)) goto page1_init_failed } else { nPage = *(*Tu32)(unsafe.Pointer(bp + 8)) @@ -50806,7 +51059,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT if int32(eType) == int32(PTRMAP_OVERFLOW2) { /* The pointer is always the first 4 bytes of the page in this case. */ if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return _sqlite3CorruptError(tls, int32(73995)) + return _sqlite3CorruptError(tls, int32(74384)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -50830,7 +51083,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74014)) + return _sqlite3CorruptError(tls, int32(74403)) } if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) { _sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo) @@ -50839,7 +51092,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } } else { if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74023)) + return _sqlite3CorruptError(tls, int32(74412)) } if _sqlite3Get4byte(tls, pCell) == iFrom { _sqlite3Put4byte(tls, pCell, iTo) @@ -50853,7 +51106,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } if i == nCell { if int32(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom { - return _sqlite3CorruptError(tls, int32(74035)) + return _sqlite3CorruptError(tls, int32(74424)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo) } @@ -50886,7 +51139,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iDbPage < uint32(3) { - return _sqlite3CorruptError(tls, int32(74070)) + return _sqlite3CorruptError(tls, int32(74459)) } /* Move page iDbPage from its current location to page number iFreePage */ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit) @@ -50984,7 +51237,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom return rc } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) { - return _sqlite3CorruptError(tls, int32(74168)) + return _sqlite3CorruptError(tls, int32(74557)) } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) { if bCommit == 0 { @@ -51023,7 +51276,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) - return _sqlite3CorruptError(tls, int32(74220)) + return _sqlite3CorruptError(tls, int32(74609)) } } _ = libc.Int32FromInt32(0) @@ -51092,7 +51345,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) { nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) nFin = _finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = _sqlite3CorruptError(tls, int32(74288)) + rc = _sqlite3CorruptError(tls, int32(74677)) } else { if nFree > uint32(0) { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -51138,7 +51391,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { ** is either a pointer-map page or the pending-byte page. If one ** is encountered, this indicates corruption. */ - return _sqlite3CorruptError(tls, int32(74339)) + return _sqlite3CorruptError(tls, int32(74728)) } nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) db = (*TBtree)(unsafe.Pointer(p)).Fdb @@ -51168,7 +51421,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { } nFin = _finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return _sqlite3CorruptError(tls, int32(74366)) + return _sqlite3CorruptError(tls, int32(74755)) } if nFin < nOrig { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -51666,7 +51919,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo _ = libc.Int32FromInt32(0) if iTable <= uint32(1) { if iTable < uint32(1) { - return _sqlite3CorruptError(tls, int32(74830)) + return _sqlite3CorruptError(tls, int32(75219)) } else { if _btreePagecount(tls, pBt) == uint32(0) { _ = libc.Int32FromInt32(0) @@ -52080,7 +52333,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(75235)) + return _sqlite3CorruptError(tls, int32(75624)) } _ = libc.Int32FromInt32(0) _getCellInfo(tls, pCur) @@ -52093,7 +52346,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ** but is recast into its current form to avoid integer overflow problems */ - return _sqlite3CorruptError(tls, int32(75250)) + return _sqlite3CorruptError(tls, int32(75639)) } /* Check if data must be read/written to/from the btree page itself. */ if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) { @@ -52121,7 +52374,11 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_ValidOvfl) == 0 { nOvfl = int32(((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload - uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) + ovflSize - uint32(1)) / ovflSize) if (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow == uintptr(0) || nOvfl*libc.Int32FromInt64(4) > _sqlite3MallocSize(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow) { - aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + if _sqlite3FaultSim(tls, int32(413)) != 0 { + aNew = uintptr(0) + } else { + aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + } if aNew == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -52132,6 +52389,9 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin p1 = pCur + 1 *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(BTCF_ValidOvfl)) } else { + /* Sanity check the validity of the overflow page cache */ + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* If the overflow page-list cache has been allocated and the ** entry for the first required overflow page is valid, skip ** directly to it. @@ -52146,7 +52406,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin for *(*TPgno)(unsafe.Pointer(bp)) != 0 { /* If required, populate the overflow page-list cache. */ if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(75312)) + return _sqlite3CorruptError(tls, int32(75710)) } _ = libc.Int32FromInt32(0) *(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp)) @@ -52223,7 +52483,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin } if rc == SQLITE_OK && amt > uint32(0) { /* Overflow chain ends prematurely */ - return _sqlite3CorruptError(tls, int32(75396)) + return _sqlite3CorruptError(tls, int32(75794)) } return rc } @@ -52376,7 +52636,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(75534)) + return _sqlite3CorruptError(tls, int32(75932)) } (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) p1 = pCur + 1 @@ -52389,7 +52649,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(75548)) + rc = _sqlite3CorruptError(tls, int32(75946)) } if rc != 0 { v3 = pCur + 84 @@ -52519,7 +52779,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) { ** (or the freelist). */ _ = libc.Int32FromInt32(0) if int32((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) { - return _sqlite3CorruptError(tls, int32(75683)) + return _sqlite3CorruptError(tls, int32(76081)) } goto skip_init skip_init: @@ -52533,7 +52793,7 @@ skip_init: } else { if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) { if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) { - return _sqlite3CorruptError(tls, int32(75695)) + return _sqlite3CorruptError(tls, int32(76093)) } subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8))) (*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID) @@ -52682,6 +52942,7 @@ func _sqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) (r int32) { _ = libc.Int32FromInt32(0) /* If the cursor already points to the last entry, this is a no-op. */ if CURSOR_VALID == int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) && int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_AtLast) != 0 { + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pRes)) = 0 return SQLITE_OK } @@ -52735,6 +52996,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh } if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey < intKey { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_AtLast) != 0 { + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pRes)) = -int32(1) return SQLITE_OK } @@ -52797,7 +53059,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh break } if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(75937)) + return _sqlite3CorruptError(tls, int32(76342)) } } } @@ -53013,7 +53275,7 @@ func _sqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes p3 = pCur + 1 *(*Tu8)(unsafe.Pointer(p3)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p3))) & ^libc.Int32FromInt32(BTCF_ValidOvfl)) if !((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76133)) + return _sqlite3CorruptError(tls, int32(76538)) } goto bypass_moveto_root /* Start search on the current page */ } @@ -53085,7 +53347,7 @@ bypass_moveto_root: /* Invalid key size: 0x80 0x80 0x01 */ /* Minimum legal index key size */ if nCell < int32(2) || uint32(nCell)/(*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage { - rc = _sqlite3CorruptError(tls, int32(76220)) + rc = _sqlite3CorruptError(tls, int32(76625)) goto moveto_index_finish } pCellKey = _sqlite3Malloc(tls, uint64(nCell+nOverrun)) @@ -53118,7 +53380,7 @@ bypass_moveto_root: rc = SQLITE_OK (*TBtCursor)(unsafe.Pointer(pCur)).Fix = uint16(idx) if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 { - rc = _sqlite3CorruptError(tls, int32(76252)) + rc = _sqlite3CorruptError(tls, int32(76657)) } goto moveto_index_finish } @@ -53155,7 +53417,7 @@ bypass_moveto_root: p9 = pCur + 1 *(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl))) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(76283)) + return _sqlite3CorruptError(tls, int32(76688)) } *(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = uint16(lwr) *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage @@ -53164,7 +53426,7 @@ bypass_moveto_root: rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(76294)) + rc = _sqlite3CorruptError(tls, int32(76699)) } if rc != 0 { v11 = pCur + 84 @@ -53216,11 +53478,11 @@ func _sqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) (r Ti64) { _, _ = i, n _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - /* Currently this interface is only called by the OP_IfSmaller - ** opcode, and it that case the cursor will always be valid and - ** will always point to a leaf node. */ + /* Currently this interface is only called by the OP_IfSizeBetween + ** opcode and the OP_Count opcode with P3=1. In either case, + ** the cursor will always be valid unless the btree is empty. */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return int64(-int32(1)) + return 0 } if int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).Fleaf) == 0 { return int64(-int32(1)) @@ -53298,7 +53560,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76395)) + return _sqlite3CorruptError(tls, int32(76800)) } if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { @@ -53413,7 +53675,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76488)) + return _sqlite3CorruptError(tls, int32(76893)) } if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { idx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) @@ -53507,7 +53769,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt ** stores the total number of pages on the freelist. */ n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36) if n >= mxPage { - return _sqlite3CorruptError(tls, int32(76578)) + return _sqlite3CorruptError(tls, int32(76983)) } if n > uint32(0) { searchList = uint8(0) /* If the free-list must be searched for 'nearby' */ @@ -53564,7 +53826,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt nSearch++ } if v2 || v1 > n { - rc = _sqlite3CorruptError(tls, int32(76634)) + rc = _sqlite3CorruptError(tls, int32(77039)) } else { rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0) } @@ -53593,7 +53855,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) { /* Value of k is out of range. Database corruption */ - rc = _sqlite3CorruptError(tls, int32(76663)) + rc = _sqlite3CorruptError(tls, int32(77068)) goto end_allocate_page } else { if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -53620,7 +53882,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8) if iNewTrunk > mxPage { - rc = _sqlite3CorruptError(tls, int32(76697)) + rc = _sqlite3CorruptError(tls, int32(77102)) goto end_allocate_page } rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0) @@ -53692,7 +53954,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4))) if iPage > mxPage || iPage < uint32(2) { - rc = _sqlite3CorruptError(tls, int32(76762)) + rc = _sqlite3CorruptError(tls, int32(77167)) goto end_allocate_page } if !(searchList != 0) || (iPage == nearby || iPage < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -53838,7 +54100,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(76889)) + return _sqlite3CorruptError(tls, int32(77294)) } if pMemPage != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage @@ -53889,7 +54151,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */ iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32) if iTrunk > _btreePagecount(tls, pBt) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76936)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77341)) goto freepage_out } *(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0) @@ -53899,7 +54161,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4) _ = libc.Int32FromInt32(0) if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76947)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77352)) goto freepage_out } if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) { @@ -53991,7 +54253,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp _ = libc.Int32FromInt32(0) if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { /* Cell extends past end of page */ - return _sqlite3CorruptError(tls, int32(77036)) + return _sqlite3CorruptError(tls, int32(77441)) } ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt @@ -54011,7 +54273,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp /* 0 is not a legal page number and page 1 cannot be an ** overflow page. Therefore if ovflPgno<2 or past the end of the ** file the database must be corrupt. */ - return _sqlite3CorruptError(tls, int32(77053)) + return _sqlite3CorruptError(tls, int32(77458)) } if nOvfl != 0 { rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp) @@ -54034,7 +54296,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp ** caller is iterating through or using in some other way, this ** can be problematic. */ - rc = _sqlite3CorruptError(tls, int32(77073)) + rc = _sqlite3CorruptError(tls, int32(77478)) } else { rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno) } @@ -54270,7 +54532,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { pc = uint32(int32(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77329)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77734)) return } rc = _freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -54705,12 +54967,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg _ = libc.Int32FromInt32(0) if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) { if uint64(pCell+uintptr(sz)) > uint64(pEnd) { - return _sqlite3CorruptError(tls, int32(77718)) + return _sqlite3CorruptError(tls, int32(78123)) } pCell = pTmp + uintptr(int64(pCell)-int64(aData)) } else { if uint64(pCell+uintptr(sz)) > uint64(pSrcEnd) && uint64(pCell) < uint64(pSrcEnd) { - return _sqlite3CorruptError(tls, int32(77723)) + return _sqlite3CorruptError(tls, int32(78128)) } } pData -= uintptr(sz) @@ -54718,7 +54980,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*Tu8)(unsafe.Pointer(pCellptr + 1)) = uint8(int64(pData) - int64(aData)) pCellptr += uintptr(2) if pData < pCellptr { - return _sqlite3CorruptError(tls, int32(77729)) + return _sqlite3CorruptError(tls, int32(78134)) } libc.Xmemmove(tls, pData, pCell, uint64(sz)) _ = libc.Int32FromInt32(0) @@ -54817,7 +55079,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr _ = libc.Int32FromInt32(0) if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(pEnd) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(pEnd) { _ = libc.Int32FromInt32(0) - _sqlite3CorruptError(tls, int32(77814)) + _sqlite3CorruptError(tls, int32(78219)) return int32(1) } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz)) @@ -54967,7 +55229,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p if iOld < iNew { nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray) if nShift > nCell { - return _sqlite3CorruptError(tls, int32(77936)) + return _sqlite3CorruptError(tls, int32(78341)) } libc.Xmemmove(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), uint64(nCell*int32(2))) nCell -= nShift @@ -55042,7 +55304,7 @@ editpage_fail: ; /* Unable to edit this page. Rebuild it from scratch instead. */ if nNew < int32(1) { - return _sqlite3CorruptError(tls, int32(78010)) + return _sqlite3CorruptError(tls, int32(78415)) } _populateCellCache(tls, pCArray, iNew, nNew) return _rebuildPage(tls, pCArray, iNew, nNew, pPg) @@ -55090,7 +55352,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return _sqlite3CorruptError(tls, int32(78050)) + return _sqlite3CorruptError(tls, int32(78455)) } /* dbfuzz001.test */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -55466,7 +55728,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa ** table-interior, index-leaf, or index-interior). */ if int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78471)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78876)) goto balance_cleanup } /* Load b.apCell[] with pointers to all cells in pOld. If pOld @@ -55489,7 +55751,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa libc.Xmemset(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*uint64(limit+int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow))) if int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 { if limit < int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78495)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78900)) goto balance_cleanup } limit = int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) @@ -55632,7 +55894,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa if i+int32(1) >= k { k = i + int32(2) if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78596)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79001)) goto balance_cleanup } (*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0 @@ -55675,7 +55937,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v10 = 0 } if cntNew[i] <= v10 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78629)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79034)) goto balance_cleanup } } @@ -55736,7 +55998,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v15 = 0 } if cntNew[i-int32(1)] <= v15 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78673)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79078)) goto balance_cleanup } goto _11 @@ -55769,7 +56031,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) nNew++ if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78706)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79111)) } if *(*int32)(unsafe.Pointer(bp)) != 0 { goto balance_cleanup @@ -56012,7 +56274,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa } pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8)) if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78906)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79311)) goto balance_cleanup } *(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno) @@ -56277,7 +56539,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) { break } if pOther != pCur && int32((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage { - return _sqlite3CorruptError(tls, int32(79138)) + return _sqlite3CorruptError(tls, int32(79543)) } goto _1 _1: @@ -56352,7 +56614,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) { /* The page being written is not a root page, and there is currently ** more than one reference to it. This only happens if the page is one ** of its own ancestor pages. Corruption. */ - rc = _sqlite3CorruptError(tls, int32(79198)) + rc = _sqlite3CorruptError(tls, int32(79603)) } else { pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8)) iIdx = int32(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2))) @@ -56515,7 +56777,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int return rc } if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = _sqlite3CorruptError(tls, int32(79362)) + rc = _sqlite3CorruptError(tls, int32(79767)) } else { if uint32(iOffset)+ovflPageSize < uint32(nTotal) { ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData) @@ -56546,7 +56808,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) { nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */ pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */ if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) { - return _sqlite3CorruptError(tls, int32(79390)) + return _sqlite3CorruptError(tls, int32(79795)) } if int32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal { /* The entire cell is local */ @@ -56633,7 +56895,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** Which can only happen if the SQLITE_NoSchemaError flag was set when ** the schema was loaded. This cannot be asserted though, as a user might ** set the flag, load the schema, and then unset the flag. */ - return _sqlite3CorruptError(tls, int32(79471)) + return _sqlite3CorruptError(tls, int32(79876)) } } /* Ensure that the cursor is not in the CURSOR_FAULT state and that it @@ -56736,7 +56998,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) { /* ^^^^^--- due to the moveToRoot() call above */ - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79594)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79999)) } else { *(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage) } @@ -56778,7 +57040,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if *(*int32)(unsafe.Pointer(bp + 4)) == 0 { _ = libc.Int32FromInt32(0) if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79636)) + return _sqlite3CorruptError(tls, int32(80041)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -56808,10 +57070,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ _ = libc.Int32FromInt32(0) /* clearCell never fails when nLocal==nPayload */ if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) { - return _sqlite3CorruptError(tls, int32(79663)) + return _sqlite3CorruptError(tls, int32(80068)) } if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79666)) + return _sqlite3CorruptError(tls, int32(80071)) } libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 8)))) return SQLITE_OK @@ -56936,7 +57198,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79768)) + return _sqlite3CorruptError(tls, int32(80173)) } nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -56958,7 +57220,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T } if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79793)) + return _sqlite3CorruptError(tls, int32(80198)) } ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -57067,7 +57329,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { return *(*int32)(unsafe.Pointer(bp)) } } else { - return _sqlite3CorruptError(tls, int32(79889)) + return _sqlite3CorruptError(tls, int32(80294)) } } _ = libc.Int32FromInt32(0) @@ -57075,14 +57337,14 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { iCellIdx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return _sqlite3CorruptError(tls, int32(79898)) + return _sqlite3CorruptError(tls, int32(80303)) } pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx)))))) if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 && _btreeComputeFreeSpace(tls, pPage) != 0 { - return _sqlite3CorruptError(tls, int32(79902)) + return _sqlite3CorruptError(tls, int32(80307)) } if pCell < (*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79905)) + return _sqlite3CorruptError(tls, int32(80310)) } /* If the BTREE_SAVEPOSITION bit is on, then the cursor position must ** be preserved following this delete operation. If the current delete @@ -57177,7 +57439,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { } pCell = (*TMemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(int32(2)*(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FnCell)-int32(1)))))))) if pCell < (*TMemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return _sqlite3CorruptError(tls, int32(79996)) + return _sqlite3CorruptError(tls, int32(80401)) } nCell = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pLeaf)).FxCellSize})))(tls, pLeaf, pCell)) _ = libc.Int32FromInt32(0) @@ -57297,7 +57559,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags */ _sqlite3BtreeGetMeta(tls, p, int32(BTREE_LARGEST_ROOT_PAGE), bp+8) if *(*TPgno)(unsafe.Pointer(bp + 8)) > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80112)) + return _sqlite3CorruptError(tls, int32(80517)) } *(*TPgno)(unsafe.Pointer(bp + 8))++ /* The new root-page may not be allocated on a pointer-map page, or the @@ -57339,7 +57601,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36) if int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) { - *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80160)) + *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80565)) } if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -57426,14 +57688,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int _, _, _, _ = hdr, i, pCell, v2 _ = libc.Int32FromInt32(0) if pgno > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80250)) + return _sqlite3CorruptError(tls, int32(80655)) } *(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0) if *(*int32)(unsafe.Pointer(bp + 8)) != 0 { return *(*int32)(unsafe.Pointer(bp + 8)) } if int32((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80257)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80662)) goto cleardatabasepage_out } hdr = int32((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset) @@ -57574,7 +57836,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iTable > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80361)) + return _sqlite3CorruptError(tls, int32(80766)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -57850,7 +58112,7 @@ func _checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4203, int32(1)) + Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4267, int32(1)) } if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, pCheck+72, (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp+8, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv0, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -57902,11 +58164,11 @@ func _checkRef(tls *libc.TLS, pCheck uintptr, iPage TPgno) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if iPage > (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnCkPage || iPage == uint32(0) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4205, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4269, libc.VaList(bp+8, iPage)) return int32(1) } if _getPageReferenced(tls, pCheck, iPage) != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4228, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4292, libc.VaList(bp+8, iPage)) return int32(1) } _setPageReferenced(tls, pCheck, iPage) @@ -57932,11 +58194,11 @@ func _checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild TPgno, eType Tu8, iParen if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< (*TBtShared)(unsafe.Pointer((*TIntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize/uint32(4)-uint32(2) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4358, libc.VaList(bp+16, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4422, libc.VaList(bp+16, iPage)) N-- } else { i = 0 @@ -58008,11 +58270,11 @@ func _checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage TPgno, N } if N != 0 && nErrAtStart == (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr { if isFreeList != 0 { - v2 = __ccgo_ts + 4397 + v2 = __ccgo_ts + 4461 } else { - v2 = __ccgo_ts + 4402 + v2 = __ccgo_ts + 4466 } - _checkAppendMsg(tls, pCheck, __ccgo_ts+4423, libc.VaList(bp+16, v2, expected-N, expected)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4487, libc.VaList(bp+16, v2, expected-N, expected)) } } @@ -58149,12 +58411,12 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr if _checkRef(tls, pCheck, iPage) != 0 { return 0 } - (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4449 + (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4513 (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage v1 = _btreeGetPage(tls, pBt, iPage, bp+8, 0) rc = v1 if v1 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4467, libc.VaList(bp+56, rc)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4531, libc.VaList(bp+56, rc)) if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< usableSize-uint32(4) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4621, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4685, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) doCoverageCheck = 0 goto _4 } pCell = data + uintptr(pc) (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FxParseCell})))(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), pCell, bp+24) if pc+uint32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnSize) > usableSize { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4651, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4715, 0) doCoverageCheck = 0 goto _4 } @@ -58240,7 +58505,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr v5 = libc.BoolInt32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey >= *(*Ti64)(unsafe.Pointer(bp))) } if v5 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4675, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4739, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) } *(*Ti64)(unsafe.Pointer(bp)) = (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey keyCanBeEqual = 0 /* Only the first key on the page may ==maxKey */ @@ -58264,7 +58529,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr d2 = _checkTreePage(tls, pCheck, uint32(pgno), bp, *(*Ti64)(unsafe.Pointer(bp))) keyCanBeEqual = 0 if d2 != depth { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4699, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4763, 0) depth = d2 } } else { @@ -58301,6 +58566,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr i-- } } + _ = libc.Int32FromInt32(0) /* Add the freeblocks to the min-heap ** ** EVIDENCE-OF: R-20690-50594 The second field of the b-tree page header @@ -58341,7 +58607,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr prev = contentOffset - uint32(1) /* Implied first min-heap entry */ for _btreeHeapPull(tls, heap, bp+16) != 0 { if prev&uint32(0xffff) >= *(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4724, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4788, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) break } else { nFrag = int32(uint32(nFrag) + (*(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) - prev&libc.Uint32FromInt32(0xffff) - libc.Uint32FromInt32(1))) @@ -58355,7 +58621,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr ** number of fragmented free bytes within the cell content area. */ if *(*Tu32)(unsafe.Pointer(heap)) == uint32(0) && nFrag != int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4761, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4825, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) } } goto end_of_check @@ -58395,22 +58661,23 @@ end_of_check: // ** the unverified btrees. Except, if aRoot[1] is 1, then the freelist // ** checks are still performed. // */ -func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { - bp := tls.Alloc(256) - defer tls.Free(256) +func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, aCnt uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { + bp := tls.Alloc(272) + defer tls.Free(272) var bCkFreelist, bPartial int32 var i, mx, mxInHdr TPgno var pBt uintptr var savedDbFlags Tu64 - var _ /* notUsed at bp+224 */ Ti64 + var _ /* notUsed at bp+232 */ Ti64 var _ /* sCheck at bp+0 */ TIntegrityCk - var _ /* zErr at bp+120 */ [100]uint8 + var _ /* zErr at bp+128 */ [100]uint8 _, _, _, _, _, _, _ = bCkFreelist, bPartial, i, mx, mxInHdr, pBt, savedDbFlags pBt = (*TBtree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Tsqlite3)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags bPartial = 0 /* True if not checking all btrees */ bCkFreelist = int32(1) /* True to scan the freelist */ _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* aRoot[0]==0 means this is a partial check */ if *(*TPgno)(unsafe.Pointer(aRoot)) == uint32(0) { _ = libc.Int32FromInt32(0) @@ -58422,13 +58689,13 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin _sqlite3BtreeEnter(tls, p) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - libc.Xmemset(tls, bp, 0, uint64(120)) + libc.Xmemset(tls, bp, 0, uint64(128)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fdb = db (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt = pBt (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage = _btreePagecount(tls, (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr = mxErr - _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+120, int32(100), int32(SQLITE_MAX_LENGTH)) + _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+128, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FerrMsg.FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage == uint32(0) { goto integrity_ck_cleanup @@ -58450,7 +58717,7 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin /* Check the integrity of the freelist */ if bCkFreelist != 0 { - (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4813 + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4877 _checkList(tls, bp, int32(1), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = uintptr(0) } @@ -58474,11 +58741,11 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } mxInHdr = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+52) if mx != mxInHdr { - _checkAppendMsg(tls, bp, __ccgo_ts+4824, libc.VaList(bp+240, mx, mxInHdr)) + _checkAppendMsg(tls, bp, __ccgo_ts+4888, libc.VaList(bp+248, mx, mxInHdr)) } } else { if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64) != uint32(0) { - _checkAppendMsg(tls, bp, __ccgo_ts+4869, 0) + _checkAppendMsg(tls, bp, __ccgo_ts+4933, 0) } } } @@ -58488,14 +58755,15 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin if !(int32(i) < nRoot && (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr != 0) { break } - if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == uint32(0) { - goto _2 - } - if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { - _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnRow = 0 + if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) != 0 { + if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { + _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + } + (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fv0 = *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) + _checkTreePage(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+232, libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)< nRec || iHdr >= *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84303)) + iHdr = uint32(uint8(v1)) + if *(*Tu32)(unsafe.Pointer(bp + 4)) > uint32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84745)) } - iField = *(*int32)(unsafe.Pointer(bp + 4)) + iField = int64(*(*Tu32)(unsafe.Pointer(bp + 4))) i = 0 for { if !(i <= iCol) { @@ -61674,19 +61974,19 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC } else { v3 = int32(_sqlite3GetVarint32(tls, a+uintptr(iHdr), bp)) } - iHdr += int32(uint8(v3)) - if iHdr > *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84309)) + iHdr += uint32(uint8(v3)) + if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84751)) } - szField = int32(_sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))) - iField += szField + szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp))) + iField += int64(szField) goto _2 _2: ; i++ } - if iField > nRec { - return _sqlite3CorruptError(tls, int32(84315)) + if iField > int64(nRec) { + return _sqlite3CorruptError(tls, int32(84757)) } if pMem == uintptr(0) { v4 = _sqlite3ValueNew(tls, db) @@ -61696,7 +61996,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return int32(SQLITE_NOMEM) } } - _sqlite3VdbeSerialGet(tls, a+uintptr(iField-szField), *(*Tu32)(unsafe.Pointer(bp)), pMem) + _sqlite3VdbeSerialGet(tls, a+uintptr(iField-int64(szField)), *(*Tu32)(unsafe.Pointer(bp)), pMem) (*TMem)(unsafe.Pointer(pMem)).Fenc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc return SQLITE_OK } @@ -62511,6 +62811,11 @@ func _resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { _ = libc.Int32FromInt32(0) /* True because of tag-20230419-1 */ (*TOp)(unsafe.Pointer(pOp)).Fp2 = *(*int32)(unsafe.Pointer(aLabel + uintptr(^(*TOp)(unsafe.Pointer(pOp)).Fp2)*4)) } + /* OPFLG_JUMP opcodes never have P2==0, though OPFLG_JUMP0 opcodes + ** might */ + _ = libc.Int32FromInt32(0) + /* Jumps never go off the end of the bytecode array */ + _ = libc.Int32FromInt32(0) break } /* The mkopcodeh.tcl script has so arranged things that the only @@ -63062,7 +63367,7 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { case -int32(8): pKeyInfo = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5081, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5145, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) j = 0 for { if !(j < int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)) { @@ -63072,68 +63377,68 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { if pColl != 0 { v2 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } zColl = v2 - if libc.Xstrcmp(tls, zColl, __ccgo_ts+5086) == 0 { - zColl = __ccgo_ts + 5093 + if libc.Xstrcmp(tls, zColl, __ccgo_ts+5150) == 0 { + zColl = __ccgo_ts + 5157 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_DESC) != 0 { - v3 = __ccgo_ts + 5074 + v3 = __ccgo_ts + 5138 } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_BIGNULL) != 0 { - v4 = __ccgo_ts + 5095 + v4 = __ccgo_ts + 5159 } else { - v4 = __ccgo_ts + 1648 + v4 = __ccgo_ts + 1662 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5098, libc.VaList(bp+40, v3, v4, zColl)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5162, libc.VaList(bp+40, v3, v4, zColl)) goto _1 _1: ; j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5170, int32(1)) case -int32(2): pColl1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5122, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5186, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) case -int32(7): pDef = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5131, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5195, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) case -int32(15): pDef1 = (*Tsqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpFunc - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5131, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5195, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) case -int32(13): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1404, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1423, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(3): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5138, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5202, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) case -int32(12): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1371, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1390, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(10): pMem = *(*uintptr)(unsafe.Pointer(pOp + 16)) if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Str) != 0 { zP4 = (*TMem)(unsafe.Pointer(pMem)).Fz } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1404, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1423, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1371, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1390, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Null) != 0 { - zP4 = __ccgo_ts + 1649 + zP4 = __ccgo_ts + 1663 } else { _ = libc.Int32FromInt32(0) - zP4 = __ccgo_ts + 5141 + zP4 = __ccgo_ts + 5205 } } } } case -int32(11): pVtab = (*TVTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpVtab - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5148, libc.VaList(bp+40, pVtab)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5212, libc.VaList(bp+40, pVtab)) case -int32(14): ai = *(*uintptr)(unsafe.Pointer(pOp + 16)) n = *(*Tu32)(unsafe.Pointer(ai)) /* The first element of an INTARRAY is always the @@ -63148,15 +63453,15 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } else { v6 = int32(',') } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5156, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5220, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) goto _5 _5: ; i++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5161, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5225, int32(1)) case -int32(4): - zP4 = __ccgo_ts + 5163 + zP4 = __ccgo_ts + 5227 case -int32(5): zP4 = (*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FzName default: @@ -63172,10 +63477,10 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } var _encnames = [4]uintptr{ - 0: __ccgo_ts + 5108, - 1: __ccgo_ts + 5110, - 2: __ccgo_ts + 5112, - 3: __ccgo_ts + 5117, + 0: __ccgo_ts + 5172, + 1: __ccgo_ts + 5174, + 2: __ccgo_ts + 5176, + 3: __ccgo_ts + 5181, } // C documentation @@ -64167,7 +64472,7 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { retryCount = 0 /* Select a super-journal file name */ nMainFile = _sqlite3Strlen30(tls, zMainFile) - zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5171, libc.VaList(bp+24, 0, zMainFile, 0)) + zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5235, libc.VaList(bp+24, 0, zMainFile, 0)) if zSuper == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -64175,18 +64480,18 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { for cond := true; cond; cond = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8)) != 0 { if retryCount != 0 { if retryCount > int32(100) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5183, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5247, libc.VaList(bp+24, zSuper)) _sqlite3OsDelete(tls, pVfs, zSuper, 0) break } else { if retryCount == int32(1) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5197, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5261, libc.VaList(bp+24, zSuper)) } } } retryCount++ Xsqlite3_randomness(tls, int32(4), bp+12) - Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5212, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) + Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5276, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) /* The antipenultimate character of the super-journal name must ** be "9" to avoid name collisions when using 8+3 filenames. */ _ = libc.Int32FromInt32(0) @@ -64423,7 +64728,7 @@ func _sqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) (r int32) { if deferred != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > 0 || !(deferred != 0) && (*TVdbe)(unsafe.Pointer(p)).FnFkConstraint > 0 { (*TVdbe)(unsafe.Pointer(p)).Frc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(3)< y { return +libc.Int32FromInt32(1) } - s = float64(i) - if s < r { + if float64(i) < r { v2 = -int32(1) } else { - v2 = libc.BoolInt32(s > r) + v2 = libc.BoolInt32(float64(i) > r) } return v2 } @@ -65769,7 +66073,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89131))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89580))) return 0 /* Corruption */ } /* Only needed by assert() statements */ @@ -65864,7 +66168,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr pKeyInfo = v4 } if v5 || int32((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89212))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89661))) return 0 /* Corruption */ } else { if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { @@ -65900,7 +66204,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } else { nStr = int32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2)) if d1+uint32(nStr) > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89242))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89691))) return 0 /* Corruption */ } else { if int32((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 { @@ -65956,7 +66260,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } idx1 += uint32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68))))) if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89293))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89742))) return 0 /* Corrupt index */ } } @@ -66097,7 +66401,7 @@ vrcs_restart: szHdr = int32(*(*Tu8)(unsafe.Pointer(aKey1))) nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2) if szHdr+nStr > nKey1 { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89456))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89905))) return 0 /* Corruption */ } if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr { @@ -66254,7 +66558,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr idx_rowid_corruption: ; _sqlite3VdbeMemReleaseMalloc(tls, bp+8) - return _sqlite3CorruptError(tls, int32(89614)) + return _sqlite3CorruptError(tls, int32(90063)) } // C documentation @@ -66287,7 +66591,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked ** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */ if nCellKey <= 0 || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return _sqlite3CorruptError(tls, int32(89647)) + return _sqlite3CorruptError(tls, int32(90096)) } _sqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, uint32(nCellKey), bp) @@ -66443,15 +66747,15 @@ func _sqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) (r int32) { pOp = (*TVdbe)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe)).FaOp + uintptr((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FiOp)*24 if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fopcode) == int32(OP_PureFunc) { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_IsCheck) != 0 { - zContext = __ccgo_ts + 5255 + zContext = __ccgo_ts + 5319 } else { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_GenCol) != 0 { - zContext = __ccgo_ts + 5274 + zContext = __ccgo_ts + 5338 } else { - zContext = __ccgo_ts + 5293 + zContext = __ccgo_ts + 5357 } } - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5302, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5366, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) return 0 @@ -66630,7 +66934,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) (r int32) { // */ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { if (*TVdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5338, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5402, 0) return int32(1) } else { return 0 @@ -66640,7 +66944,7 @@ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { func _vdbeSafetyNotNull(tls *libc.TLS, p uintptr) (r int32) { if p == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5383, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5447, 0) return int32(1) } else { return _vdbeSafety(tls, p) @@ -66702,7 +67006,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt db = (*TVdbe)(unsafe.Pointer(v)).Fdb if _vdbeSafety(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90035)) + return _sqlite3MisuseError(tls, int32(90484)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 { @@ -67233,7 +67537,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { _ = libc.Int32FromInt32(0) (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FisError = int32(SQLITE_TOOBIG) - _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5423, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) + _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5487, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) } // C documentation @@ -67444,7 +67748,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt /* the prepared statement */ cnt = 0 /* The database connection */ if _vdbeSafetyNotNull(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90829)) + return _sqlite3MisuseError(tls, int32(91278)) } db = (*TVdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) @@ -67578,7 +67882,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32 _, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1 *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) if pVal == uintptr(0) { - return _sqlite3MisuseError(tls, int32(90950)) + return _sqlite3MisuseError(tls, int32(91399)) } if int32((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) { return int32(SQLITE_ERROR) @@ -68051,18 +68355,18 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) (r int32) { // ** Column names appropriate for EXPLAIN or EXPLAIN QUERY PLAN. // */ var _azExplainColNames8 = [12]uintptr{ - 0: __ccgo_ts + 5446, - 1: __ccgo_ts + 5451, - 2: __ccgo_ts + 5458, - 3: __ccgo_ts + 5461, - 4: __ccgo_ts + 5464, - 5: __ccgo_ts + 5467, - 6: __ccgo_ts + 5470, - 7: __ccgo_ts + 5473, - 8: __ccgo_ts + 5481, - 9: __ccgo_ts + 5484, - 10: __ccgo_ts + 5491, - 11: __ccgo_ts + 5499, + 0: __ccgo_ts + 5510, + 1: __ccgo_ts + 5515, + 2: __ccgo_ts + 5522, + 3: __ccgo_ts + 5525, + 4: __ccgo_ts + 5528, + 5: __ccgo_ts + 5531, + 6: __ccgo_ts + 5534, + 7: __ccgo_ts + 5537, + 8: __ccgo_ts + 5545, + 9: __ccgo_ts + 5548, + 10: __ccgo_ts + 5555, + 11: __ccgo_ts + 5563, } var _azExplainColNames16data = [60]Tu16{ 0: uint16('a'), @@ -68308,14 +68612,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) { var v2 bool _, _, _ = pVar, v1, v2 if _vdbeSafetyNotNull(tls, p) != 0 { - return _sqlite3MisuseError(tls, int32(91554)) + return _sqlite3MisuseError(tls, int32(92003)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if int32((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) { - _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(91558))) + _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(92007))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5506, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) - return _sqlite3MisuseError(tls, int32(91562)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5570, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) + return _sqlite3MisuseError(tls, int32(92011)) } if i >= uint32((*TVdbe)(unsafe.Pointer(p)).FnVar) { _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE)) @@ -68889,7 +69193,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp /* Test that this call is being made from within an SQLITE_DELETE or ** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */ if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) { - rc = _sqlite3MisuseError(tls, int32(92098)) + rc = _sqlite3MisuseError(tls, int32(92547)) goto preupdate_old_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 { @@ -69020,7 +69324,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp rc = SQLITE_OK p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) { - rc = _sqlite3MisuseError(tls, int32(92221)) + rc = _sqlite3MisuseError(tls, int32(92670)) goto preupdate_new_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) { @@ -69197,7 +69501,7 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr break } } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5546, int32(3)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5610, int32(3)) _ = libc.Int32FromInt32(0) Xsqlite3_str_append(tls, bp+8, zStart, int32(int64(zRawSql)-int64(zStart))) } @@ -69236,13 +69540,13 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr _ = libc.Int32FromInt32(0) pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(*(*int32)(unsafe.Pointer(bp))-int32(1))*56 if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1649, int32(4)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1663, int32(4)) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1404, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1423, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5067, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5131, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Str) != 0 { /* Number of bytes of the string text to include in output */ enc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc @@ -69257,29 +69561,29 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr pVar = bp + 40 } nOut = (*TMem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5550, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5614, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != int32(SQLITE_UTF8) { _sqlite3VdbeMemRelease(tls, bp+40) } } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5557, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5621, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) } else { /* Number of bytes of the blob to include in output */ _ = libc.Int32FromInt32(0) - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5570, int32(2)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5634, int32(2)) nOut1 = (*TMem)(unsafe.Pointer(pVar)).Fn i = 0 for { if !(i < nOut1) { break } - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5573, libc.VaList(bp+104, int32(*(*uint8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5637, libc.VaList(bp+104, int32(*(*uint8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) goto _3 _3: ; i++ } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5578, int32(1)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5642, int32(1)) } } } @@ -69894,7 +70198,7 @@ var _azTypes = [5]uintptr{ 1: __ccgo_ts + 1144, 2: __ccgo_ts + 1149, 3: __ccgo_ts + 1127, - 4: __ccgo_ts + 1649, + 4: __ccgo_ts + 1663, } // C documentation @@ -69908,7 +70212,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { defer tls.Free(976) var aCol, aMem, aOffset, aOp, aPermute, aRoot, apArg, apArg1, db, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pnErr, t1, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v240, v241, v242, v250, v251, v252, v253, v255, v263, v278, v279, v286, v288, v297, v298, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 uintptr var affinity uint8 - var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 + var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, savedAnalysisLimit, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 var colCacheCtr, iAddr, iMap, iPrior, idx, len11, n3, p22, p23, serialType, serial_type, v213, v214, v216, v221, v222 Tu32 var encoding, isWriteLock, mTrace, op, p5, resetSchemaOnFault, vtabOnConflict, v225 Tu8 var flags1, flags11, flags2, flags3, flags31, newType, nullFlag, type1, type2, typeMask, v190 Tu16 @@ -69965,7 +70269,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { var _ /* z at bp+688 */ uintptr var _ /* zErr at bp+632 */ uintptr var _ /* zErr at bp+792 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, savedAnalysisLimit, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 aOp = (*TVdbe)(unsafe.Pointer(p)).FaOp /* Copy of p->aOp */ pOp = aOp /* Current operation */ rc = SQLITE_OK /* Value to return */ @@ -70241,7 +70545,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto _109 case int32(OP_SeekEnd): goto _110 - case int32(OP_IfSmaller): + case int32(OP_IfSizeBetween): goto _111 case int32(OP_Sort): goto _112 @@ -70538,7 +70842,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: EndCoroutine */ _5: - ; /* jump */ + ; /* jump0 */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -70562,7 +70866,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** ** The instruction at the address in register P1 is a Yield. ** Jump to the P2 parameter of that Yield. - ** After the jump, register P1 becomes undefined. + ** After the jump, the value register P1 is left with a value + ** such that subsequent OP_Yields go back to the this same + ** OP_EndCoroutine instruction. ** ** See also: InitCoroutine */ @@ -70574,8 +70880,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pCaller = aOp + uintptr(*(*Ti64)(unsafe.Pointer(pIn1)))*24 _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) + *(*Ti64)(unsafe.Pointer(pIn1)) = int64(int32((int64(pOp)-int64((*TVdbe)(unsafe.Pointer(p)).FaOp))/24) - int32(1)) pOp = aOp + uintptr((*TVdbeOp)(unsafe.Pointer(pCaller)).Fp2-int32(1))*24 - (*TMem)(unsafe.Pointer(pIn1)).Fflags = uint16(MEM_Undefined) goto _187 /* Opcode: Yield P1 P2 * * * ** @@ -70674,15 +70980,15 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) if (*TVdbe)(unsafe.Pointer(p)).Frc != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+5614, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) + _sqlite3VdbeError(tls, p, __ccgo_ts+5678, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) if *(*uintptr)(unsafe.Pointer(pOp + 16)) != 0 { - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5635, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5699, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } } else { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } pcx = int32((int64(pOp) - int64(aOp)) / 24) - Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5642, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5706, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) } rc = _sqlite3VdbeHalt(tls, p) _ = libc.Int32FromInt32(0) @@ -70887,18 +71193,14 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } (*TMem)(unsafe.Pointer(pOut)).Fenc = encoding goto _187 - /* Opcode: Variable P1 P2 * P4 * - ** Synopsis: r[P2]=parameter(P1,P4) + /* Opcode: Variable P1 P2 * * * + ** Synopsis: r[P2]=parameter(P1) ** ** Transfer the values of bound parameter P1 into register P2 - ** - ** If the parameter is named, then its name appears in P4. - ** The P4 value is used by sqlite3_bind_parameter_name(). */ _19: ; /* Value being transferred */ _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1-int32(1))*56 if _sqlite3VdbeMemTooBig(tls, pVar) != 0 { goto too_big @@ -71435,7 +71737,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** raise an SQLITE_MISMATCH exception. */ _38: - ; /* jump, in1 */ + ; /* jump0, in1 */ pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 if int32((*TMem)(unsafe.Pointer(pIn1)).Fflags)&int32(MEM_Int) == 0 { _applyAffinity(tls, pIn1, uint8(SQLITE_AFF_NUMERIC), encoding) @@ -72500,7 +72802,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24 goto _187 } else { - rc = _sqlite3CorruptError(tls, int32(95863)) + rc = _sqlite3CorruptError(tls, int32(96311)) goto abort_due_to_error } /* Opcode: TypeCheck P1 P2 P3 P4 * @@ -72609,7 +72911,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_type_error vdbe_type_error: ; - _sqlite3VdbeError(tls, p, __ccgo_ts+5666, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) + _sqlite3VdbeError(tls, p, __ccgo_ts+5730, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(12)< 0 && p12 == int32(SAVEPOINT_RELEASE) { /* It is not possible to release (commit) a savepoint if there are ** active write statements. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5780, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5844, 0) rc = int32(SQLITE_BUSY) } else { /* Determine whether or not this is a transaction savepoint. If so, @@ -73242,7 +73544,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If this instruction implements a COMMIT and other VMs are writing ** return an error indicating that the other VMs must complete first. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5834, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5898, 0) rc = int32(SQLITE_BUSY) goto abort_due_to_error } else { @@ -73272,12 +73574,12 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_return } else { if !(desiredAutoCommit != 0) { - v250 = __ccgo_ts + 5889 + v250 = __ccgo_ts + 5953 } else { if iRollback != 0 { - v251 = __ccgo_ts + 5937 + v251 = __ccgo_ts + 6001 } else { - v251 = __ccgo_ts + 5980 + v251 = __ccgo_ts + 6044 } v250 = v251 } @@ -73379,7 +73681,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** SQL statement was prepared. */ _sqlite3DbFree(tls, db, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg) - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6021) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6085) /* If the schema-cookie from the database file matches the cookie ** stored with the in-memory representation of the schema, do ** not reload the schema from the database file. @@ -73737,7 +74039,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fn = 0 - (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1648 + (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1662 } pCx1 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) if pCx1 != 0 && !(int32(TBool(*(*uint8)(unsafe.Pointer(pCx1 + 8))&0x8>>3)) != 0) && (*TOp)(unsafe.Pointer(pOp)).Fp2 <= int32((*TVdbeCursor)(unsafe.Pointer(pCx1)).FnField) { @@ -73853,7 +74155,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** is the only cursor opcode that works with a pseudo-table. ** ** P3 is the number of fields in the records that will be stored by - ** the pseudo-table. + ** the pseudo-table. If P2 is 0 or negative then the pseudo-cursor + ** will return NULL for every column. */ _83: ; @@ -73975,11 +74278,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: Found, NotFound, SeekGt, SeekGe, SeekLt */ _88: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _87: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _86: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _85: ; /* Only interested in == results */ _ = libc.Int32FromInt32(0) @@ -74605,7 +74908,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp + 248)) != 0 { _ = libc.Int32FromInt32(0) if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 { - rc = _sqlite3CorruptError(tls, int32(98111)) + rc = _sqlite3CorruptError(tls, int32(98565)) } else { goto jump_to_p2 } @@ -75280,14 +75583,20 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } goto _187 - /* Opcode: IfSmaller P1 P2 P3 * * + /* Opcode: IfSizeBetween P1 P2 P3 P4 * + ** + ** Let N be the approximate number of rows in the table or index + ** with cursor P1 and let X be 10*log2(N) if N is positive or -1 + ** if N is zero. ** - ** Estimate the number of rows in the table P1. Jump to P2 if that - ** estimate is less than approximately 2**(0.1*P3). + ** Jump to P2 if X is in between P3 and P4, inclusive. */ _111: ; _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) pC20 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) _ = libc.Int32FromInt32(0) pCrsr5 = *(*uintptr)(unsafe.Pointer(pC20 + 48)) @@ -75296,12 +75605,14 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { goto abort_due_to_error } - if *(*int32)(unsafe.Pointer(bp + 396)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { + sz = int64(-int32(1)) /* -Infinity encoding */ + } else { sz = _sqlite3BtreeRowCountEst(tls, pCrsr5) - if sz >= 0 && int32(_sqlite3LogEst(tls, uint64(sz))) < (*TOp)(unsafe.Pointer(pOp)).Fp3 { - *(*int32)(unsafe.Pointer(bp + 396)) = int32(1) - } + _ = libc.Int32FromInt32(0) + sz = int64(_sqlite3LogEst(tls, uint64(sz))) } + *(*int32)(unsafe.Pointer(bp + 396)) = libc.BoolInt32(sz >= int64((*TOp)(unsafe.Pointer(pOp)).Fp3) && sz <= int64((*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { goto jump_to_p2 } @@ -75608,7 +75919,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } else { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) { - rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) { - rc = _sqlite3CorruptError(tls, int32(99398)) + rc = _sqlite3CorruptError(tls, int32(99862)) goto abort_due_to_error } _sqlite3VdbeMemInit(tls, bp+552, db, uint16(0)) @@ -75954,11 +76265,18 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } *(*Ti64)(unsafe.Pointer(pOut)) = int64(*(*TPgno)(unsafe.Pointer(bp + 624))) goto _187 - /* Opcode: SqlExec * * * P4 * + /* Opcode: SqlExec P1 P2 * P4 * ** ** Run the SQL statement or statements specified in the P4 string. - ** Disable Auth and Trace callbacks while those statements are running if - ** P1 is true. + ** + ** The P1 parameter is a bitmask of options: + ** + ** 0x0001 Disable Auth and Trace callbacks while the statements + ** in P4 are running. + ** + ** 0x0002 Set db->nAnalysisLimit to P2 while the statements in + ** P4 are running. + ** */ _132: ; @@ -75966,16 +76284,21 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*uintptr)(unsafe.Pointer(bp + 632)) = uintptr(0) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth mTrace = (*Tsqlite3)(unsafe.Pointer(db)).FmTrace - if (*TOp)(unsafe.Pointer(pOp)).Fp1 != 0 { + savedAnalysisLimit = (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0001) != 0 { (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(0) } + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0002) != 0 { + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (*TOp)(unsafe.Pointer(pOp)).Fp2 + } rc = Xsqlite3_exec(tls, db, *(*uintptr)(unsafe.Pointer(pOp + 16)), uintptr(0), uintptr(0), bp+632) (*Tsqlite3)(unsafe.Pointer(db)).FnSqlExec-- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = mTrace + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = savedAnalysisLimit if *(*uintptr)(unsafe.Pointer(bp + 632)) != 0 || rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 632))) if rc == int32(SQLITE_NOMEM) { goto no_mem @@ -76008,13 +76331,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_SchemaChange) libc.SetBitFieldPtr16Uint32(p+200, libc.Uint32FromInt32(0), 0, 0x3) } else { - zSchema = __ccgo_ts + 6066 + zSchema = __ccgo_ts + 6130 (*(*TInitData)(unsafe.Pointer(bp + 640))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 640))).FiDb = iDb3 (*(*TInitData)(unsafe.Pointer(bp + 640))).FpzErrMsg = p + 168 (*(*TInitData)(unsafe.Pointer(bp + 640))).FmInitFlags = uint32(0) (*(*TInitData)(unsafe.Pointer(bp + 640))).FmxPage = _sqlite3BtreeLastPage(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6080, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6144, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -76031,7 +76354,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* The OP_ParseSchema opcode with a non-NULL P4 argument should parse ** at least one SQL statement. Any less than that indicates that ** the sqlite_schema table is corrupt. */ - rc = _sqlite3CorruptError(tls, int32(99678)) + rc = _sqlite3CorruptError(tls, int32(100155)) } _sqlite3DbFreeNN(tls, db, zSql) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) @@ -76098,11 +76421,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* Opcode: IntegrityCk P1 P2 P3 P4 P5 ** ** Do an analysis of the currently open database. Store in - ** register P1 the text of an error message describing any problems. - ** If no problems are found, store a NULL in register P1. + ** register (P1+1) the text of an error message describing any problems. + ** If no problems are found, store a NULL in register (P1+1). ** - ** The register P3 contains one less than the maximum number of allowed errors. - ** At most reg(P3) errors will be reported. + ** The register (P1) contains one less than the maximum number of allowed + ** errors. At most reg(P1) errors will be reported. ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. ** @@ -76117,18 +76440,20 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _138: ; /* Register keeping track of errors remaining */ _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) nRoot = (*TOp)(unsafe.Pointer(pOp)).Fp2 aRoot = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 _ = libc.Int32FromInt32(0) + pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 _ = libc.Int32FromInt32(0) - pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 _ = libc.Int32FromInt32(0) + pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1+int32(1))*56 _ = libc.Int32FromInt32(0) - rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) + _ = libc.Int32FromInt32(0) + rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, aMem+uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) _sqlite3VdbeMemSetNull(tls, pIn1) if *(*int32)(unsafe.Pointer(bp + 680)) == 0 { _ = libc.Int32FromInt32(0) @@ -76242,7 +76567,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** P1 contains the address of the memory cell that contains the first memory ** cell in an array of values used as arguments to the sub-program. P2 ** contains the address to jump to if the sub-program throws an IGNORE - ** exception using the RAISE() function. Register P3 contains the address + ** exception using the RAISE() function. P2 might be zero, if there is + ** no possibility that an IGNORE exception will be raised. + ** Register P3 contains the address ** of a memory cell in this (the parent) VM that is used to allocate the ** memory required by the sub-vdbe at runtime. ** @@ -76284,7 +76611,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } if (*TVdbe)(unsafe.Pointer(p)).FnFrame >= *(*int32)(unsafe.Pointer(db + 136 + 10*4)) { rc = int32(SQLITE_ERROR) - _sqlite3VdbeError(tls, p, __ccgo_ts+6123, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6187, 0) goto abort_due_to_error } /* Register pRt is used to store the memory required to save the state @@ -76668,7 +76995,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } /* IMP: R-24505-23230 */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError } if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FskipFlag != 0 { @@ -76730,7 +77057,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3VdbeMemFinalize(tls, pMem3, *(*uintptr)(unsafe.Pointer(pOp + 16))) } if rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) goto abort_due_to_error } _sqlite3VdbeChangeEncoding(tls, pMem3, int32(encoding)) @@ -76815,11 +77142,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeRead > int32(1) { rc = int32(SQLITE_ERROR) if eNew == int32(PAGER_JOURNALMODE_WAL) { - v286 = __ccgo_ts + 6160 + v286 = __ccgo_ts + 6224 } else { - v286 = __ccgo_ts + 6165 + v286 = __ccgo_ts + 6229 } - _sqlite3VdbeError(tls, p, __ccgo_ts+6172, libc.VaList(bp+944, v286)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6236, libc.VaList(bp+944, v286)) goto abort_due_to_error } else { if eOld == int32(PAGER_JOURNALMODE_WAL) { @@ -76987,7 +77314,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { if rc&int32(0xFF) == int32(SQLITE_LOCKED) { z1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - _sqlite3VdbeError(tls, p, __ccgo_ts+6224, libc.VaList(bp+944, z1)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6288, libc.VaList(bp+944, z1)) } goto abort_due_to_error } @@ -77165,7 +77492,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TValueList)(unsafe.Pointer(pRhs)).FpOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 pOut = _out2Prerelease(tls, p, pOp) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null) - _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6253, __ccgo_fp(_sqlite3VdbeValueListFree)) + _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6317, __ccgo_fp(_sqlite3VdbeValueListFree)) goto _187 /* Opcode: VFilter P1 P2 P3 P4 * ** Synopsis: iplan=r[P3] zplan='P4' @@ -77270,7 +77597,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_module)(unsafe.Pointer(pModule4)).FxColumn})))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 48)), bp+800, (*TOp)(unsafe.Pointer(pOp)).Fp2) _sqlite3VtabImportErrmsg(tls, p, pVtab4) if (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) rc = (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError } _sqlite3VdbeChangeEncoding(tls, pDest2, int32(encoding)) @@ -77539,7 +77866,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If the function returned an error, throw an exception */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError } _sqlite3VdbeDeleteAuxData(tls, db, p+296, (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FiOp, (*TOp)(unsafe.Pointer(pOp)).Fp1) @@ -77701,7 +78028,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { Xsqlite3_free(tls, z2) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeExec > int32(1) { - z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6263, libc.VaList(bp+944, zTrace)) + z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6327, libc.VaList(bp+944, zTrace)) (*(*func(*libc.TLS, Tu32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(&(*Tsqlite3)(unsafe.Pointer(db)).Ftrace))})))(tls, uint32(SQLITE_TRACE_STMT), (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) _sqlite3DbFree(tls, db, z3) } else { @@ -77775,16 +78102,16 @@ abort_due_to_error: rc = int32(SQLITE_NOMEM) } else { if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)<op on success */ - pTab = uintptr(0) /* A column of pTab */ - *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ - _ = libc.Int32FromInt32(0) /* the name context cannot be NULL. */ - _ = libc.Int32FromInt32(0) /* The Z in X.Y.Z cannot be NULL */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, cntTab, db, eNewExprOp, hCol, hCol1, hit, i, iCol, j, nSubquery, op, pCol, pEList, pItem, pMatch, pOrig, pSchema, pSrcList, pTab, pTopNC, pUpsert, zAs, zCol, zErr, v10, v5, v7, v8 /* Loop counters */ + cnt = 0 /* Number of matching column names */ + cntTab = 0 /* Number of potential "rowid" matches */ + nSubquery = 0 /* How many levels of subquery */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Use for looping over pSrcList items */ + pMatch = uintptr(0) /* The matching pSrcList item */ + pTopNC = pNC /* First namecontext in the list */ + pSchema = uintptr(0) /* Schema of the expression */ + eNewExprOp = int32(TK_COLUMN) /* New value for pExpr->op on success */ + pTab = uintptr(0) /* A column of pTab */ + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + zCol = *(*uintptr)(unsafe.Pointer(pRight + 8)) + _ = libc.Int32FromInt32(0) /* the name context cannot be NULL. */ + _ = libc.Int32FromInt32(0) /* The Z in X.Y.Z cannot be NULL */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) /* Initialize the node to no-match */ @@ -82787,7 +83115,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ; i++ } - if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6585, zDb) == 0 { + if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6649, zDb) == 0 { /* This branch is taken when the main database has been renamed ** using SQLITE_DBCONFIG_MAINDBNAME. */ pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema @@ -82889,7 +83217,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TTable)(unsafe.Pointer(pTab)).FpSchema != pSchema { goto _2 } - if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6590) != 0 { + if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6654) != 0 { goto _2 } } @@ -83004,16 +83332,16 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol op = int32((*TParse)(unsafe.Pointer(pParse)).FeTriggerOp) _ = libc.Int32FromInt32(0) if (*TParse)(unsafe.Pointer(pParse)).FbReturning != 0 { - if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0) { + if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0 || _isValidSchemaTableName(tls, zTab, (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab, uintptr(0)) != 0) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = libc.BoolInt32(op != int32(TK_DELETE)) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } } else { - if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6592, zTab) == 0 { + if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6656, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(1) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } else { - if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6596, zTab) == 0 { + if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6660, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = 0 pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } @@ -83022,7 +83350,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UUpsert) != 0 && zTab != uintptr(0) { pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16)) - if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6600, zTab) == 0 { + if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6664, zTab) == 0 { pTab = (*(*TSrcItem)(unsafe.Pointer((*TUpsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8))).FpTab (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(EXCLUDED_TABLE_NUMBER) } @@ -83144,15 +83472,15 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol _ = libc.Int32FromInt32(0) pOrig = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(j)*32))).FpExpr if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 && (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6609, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6673, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Win)) != uint32(0) && ((*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 || pNC != pTopNC) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6640, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6704, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if _sqlite3ExprVectorSize(tls, pOrig) != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) return int32(WRC_Abort) } _resolveAlias(tls, pParse, pEList, j, pExpr, nSubquery) @@ -83206,7 +83534,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** a huge amount of legacy SQL that uses it. So for now, we just ** issue a warning. */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6695, libc.VaList(bp+24, zCol)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6759, libc.VaList(bp+24, zCol)) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_STRING) libc.Xmemset(tls, pExpr+64, 0, uint64(8)) return int32(WRC_Prune) @@ -83237,7 +83565,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } _extendFJMatch(tls, pParse, bp, pMatch, (*TExpr)(unsafe.Pointer(pExpr)).FiColumn) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_FUNCTION) - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6730 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6794 *(*uintptr)(unsafe.Pointer(pExpr + 32)) = *(*uintptr)(unsafe.Pointer(bp)) cnt = int32(1) goto lookupname_end @@ -83247,18 +83575,22 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } } if cnt == 0 { - v10 = __ccgo_ts + 6739 + v10 = __ccgo_ts + 6803 } else { - v10 = __ccgo_ts + 6754 + v10 = __ccgo_ts + 6818 } zErr = v10 if zDb != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6776, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6840, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) } else { if zTab != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6789, libc.VaList(bp+24, zErr, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6853, libc.VaList(bp+24, zErr, zTab, zCol)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6799, libc.VaList(bp+24, zErr, zCol)) + if cnt == 0 && (*TExpr)(unsafe.Pointer(pRight)).Fflags&uint32(libc.Int32FromInt32(EP_DblQuoted)) != uint32(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6863, libc.VaList(bp+24, zErr, zCol)) + } else { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6924, libc.VaList(bp+24, zErr, zCol)) + } } } _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -83289,8 +83621,12 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** If a generated column is referenced, set bits for every column ** of the table. */ - if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 && cnt == int32(1) && pMatch != uintptr(0) { - *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + if pMatch != 0 { + if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { + *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + } else { + libc.SetBitFieldPtr16Uint32(pMatch+60+4, libc.Uint32FromInt32(1), 14, 0x4000) + } } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(eNewExprOp) goto lookupname_end @@ -83386,19 +83722,19 @@ func _notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pEx defer tls.Free(32) var zIn uintptr _ = zIn - zIn = __ccgo_ts + 6806 + zIn = __ccgo_ts + 6931 if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IdxExpr) != 0 { - zIn = __ccgo_ts + 6834 + zIn = __ccgo_ts + 6959 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IsCheck) != 0 { - zIn = __ccgo_ts + 6852 + zIn = __ccgo_ts + 6977 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_GenCol) != 0 { - zIn = __ccgo_ts + 6870 + zIn = __ccgo_ts + 6995 } } } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6888, libc.VaList(bp+8, zMsg, zIn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7013, libc.VaList(bp+8, zMsg, zIn)) if pExpr != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } @@ -83448,8 +83784,8 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { var anRef [8]int32 var auth, i, is_agg, n, nLeft, nRef, nRight, no_such_func, rc, savedAllowFlags, wrong_num_args, v12, v4, v6, v7 int32 var enc Tu8 - var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zColumn, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zColumn, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 + var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 pNC = *(*uintptr)(unsafe.Pointer(pWalker + 40)) _ = libc.Int32FromInt32(0) pParse = (*TNameContext)(unsafe.Pointer(pNC)).FpParse @@ -83574,12 +83910,12 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { zDb = uintptr(0) zTable = uintptr(0) _ = libc.Int32FromInt32(0) - zColumn = *(*uintptr)(unsafe.Pointer(pExpr + 8)) + pRight = pExpr } else { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+6908, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7033, uintptr(0), pExpr) } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_ID) { @@ -83593,14 +83929,13 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { } _ = libc.Int32FromInt32(0) zTable = *(*uintptr)(unsafe.Pointer(pLeft + 8)) - zColumn = *(*uintptr)(unsafe.Pointer(pRight + 8)) _ = libc.Int32FromInt32(0) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameTokenRemap(tls, pParse, pExpr, pRight) _sqlite3RenameTokenRemap(tls, pParse, pExpr+64, pLeft) } } - return _lookupName(tls, pParse, zDb, zTable, zColumn, pNC, pExpr) + return _lookupName(tls, pParse, zDb, zTable, pRight, pNC, pExpr) /* Resolve function names */ fallthrough @@ -83641,7 +83976,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if n == int32(2) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = _exprProbability(tls, (*(*TExprList_item)(unsafe.Pointer(pList + 8 + 1*32))).FpExpr) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6925, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7050, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -83665,7 +84000,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { auth = _sqlite3AuthCheck(tls, pParse, int32(SQLITE_FUNCTION), uintptr(0), (*TFuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0)) if auth != SQLITE_OK { if auth == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6989, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7114, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) @@ -83687,7 +84022,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { ** all this. */ _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7025, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7150, uintptr(0), pExpr) } } else { _ = libc.Int32FromInt32(0) /* Must fit in 8 bits */ @@ -83712,29 +84047,29 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if 0 == libc.BoolInt32(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME)) { _ = libc.Int32FromInt32(0) if pDef != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7053, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7178, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 || is_agg != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) || is_agg != 0 && pWin != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 { if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 { - zType = __ccgo_ts + 7096 + zType = __ccgo_ts + 7221 } else { - zType = __ccgo_ts + 7103 + zType = __ccgo_ts + 7228 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7113, libc.VaList(bp+8, zType, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7238, libc.VaList(bp+8, zType, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else { if no_such_func != 0 && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7141, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7266, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if wrong_num_args != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7163, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7288, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7207, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7332, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { @@ -83758,7 +84093,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { *(*int32)(unsafe.Pointer(pNC + 40)) &= ^(libc.Int32FromInt32(NC_AllowWin) | v7) } } else { - if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { is_agg = int32(1) } } @@ -83824,21 +84159,23 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { case int32(TK_IN): if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) { nRef = (*TNameContext)(unsafe.Pointer(pNC)).FnRef + _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_SelfRef) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7255, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7380, pExpr, pExpr) } else { _sqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32))) } _ = libc.Int32FromInt32(0) if nRef != (*TNameContext)(unsafe.Pointer(pNC)).FnRef { *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 4)) |= uint32(SF_Correlated) } *(*int32)(unsafe.Pointer(pNC + 40)) |= int32(NC_Subquery) } case int32(TK_VARIABLE): _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IsCheck)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7266, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7391, pExpr, pExpr) } case int32(TK_IS): fallthrough @@ -83888,7 +84225,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { nRight = _sqlite3ExprVectorSize(tls, (*TExpr)(unsafe.Pointer(pExpr)).FpRight) } if nLeft != nRight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } break @@ -84016,7 +84353,7 @@ func _resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintpt func _resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7277, libc.VaList(bp+8, i, zType, mx)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7402, libc.VaList(bp+8, i, zType, mx)) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pError) } @@ -84051,7 +84388,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7333, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7458, 0) return int32(1) } i = 0 @@ -84090,7 +84427,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } if _sqlite3ExprIsInteger(tls, pE, bp) != 0 { if *(*int32)(unsafe.Pointer(bp)) <= 0 || *(*int32)(unsafe.Pointer(bp)) > (*TExprList)(unsafe.Pointer(pEList)).FnExpr { - _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7367, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) + _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7492, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) return int32(1) } } else { @@ -84163,7 +84500,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r break } if int32(uint32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7373, libc.VaList(bp+16, i+int32(1))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7498, libc.VaList(bp+16, i+int32(1))) return int32(1) } goto _3 @@ -84197,7 +84534,7 @@ func _sqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7434, libc.VaList(bp+8, zType)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7559, libc.VaList(bp+8, zType)) return int32(1) } pEList = (*TSelect)(unsafe.Pointer(pSelect)).FpEList @@ -84449,6 +84786,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } pItem = (*TSelect)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*104 + _ = libc.Int32FromInt32(0) /* Test of tag-20240424-1*/ if (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselFlags&uint32(SF_Resolved) == uint32(0) { if pOuterNC != 0 { v3 = (*TNameContext)(unsafe.Pointer(pOuterNC)).FnRef @@ -84521,7 +84859,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { (*(*TNameContext)(unsafe.Pointer(bp))).FncFlags |= int32(NC_UEList) if (*TSelect)(unsafe.Pointer(p)).FpHaving != 0 { if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Aggregate) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7465, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7590, 0) return int32(WRC_Abort) } if _sqlite3ResolveExprNames(tls, bp, (*TSelect)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -84588,7 +84926,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** is not detected until much later, and so we need to go ahead and ** resolve those symbols on the incorrect ORDER BY for consistency. */ - if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7367) != 0 { + if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7492) != 0 { return int32(WRC_Abort) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -84599,7 +84937,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** the GROUP BY clause does not contain aggregate functions. */ if pGroupBy != 0 { - if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7504) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { + if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7629) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(WRC_Abort) } i = 0 @@ -84609,7 +84947,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } if (*TExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(pItem2)).FpExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7510, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7635, 0) return int32(WRC_Abort) } goto _6 @@ -85640,7 +85978,7 @@ func _codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32 return } if nLeft != _sqlite3ExprVectorSize(tls, pRight) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) return } _ = libc.Int32FromInt32(0) @@ -85725,7 +86063,7 @@ func _sqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) (r in rc = SQLITE_OK mxHeight = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4)) if nHeight > mxHeight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7569, libc.VaList(bp+8, mxHeight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7694, libc.VaList(bp+8, mxHeight)) rc = int32(SQLITE_ERROR) } return rc @@ -85891,11 +86229,12 @@ func _sqlite3ExprSetErrorOffset(tls *libc.TLS, pExpr uintptr, iOfst int32) { // ** appear to be quoted. If the quotes were of the form "..." (double-quotes) // ** then the EP_DblQuoted flag is set on the expression node. // ** -// ** Special case: If op==TK_INTEGER and pToken points to a string that -// ** can be translated into a 32-bit integer, then the token is not -// ** stored in u.zToken. Instead, the integer values is written -// ** into u.iValue and the EP_IntValue flag is set. No extra storage +// ** Special case (tag-20240227-a): If op==TK_INTEGER and pToken points to +// ** a string that can be translated into a 32-bit integer, then the token is +// ** not stored in u.zToken. Instead, the integer values is written +// ** into u.iValue and the EP_IntValue flag is set. No extra storage // ** is allocated to hold the integer text and the dequote flag is ignored. +// ** See also tag-20240227-b. // */ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) (r uintptr) { bp := tls.Alloc(16) @@ -85909,7 +86248,7 @@ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ _ = libc.Int32FromInt32(0) if pToken != 0 { if op != int32(TK_INTEGER) || (*TToken)(unsafe.Pointer(pToken)).Fz == uintptr(0) || _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pToken)).Fz, bp) == 0 { - nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) + nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) /* tag-20240227-a */ _ = libc.Int32FromInt32(0) } } @@ -86078,11 +86417,11 @@ func _sqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList } if nExprElem != nElem { if nExprElem > int32(1) { - v2 = __ccgo_ts + 7617 + v2 = __ccgo_ts + 7742 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7619, libc.VaList(bp+8, nExprElem, v2, nElem)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7744, libc.VaList(bp+8, nExprElem, v2, nElem)) break } _ = libc.Int32FromInt32(0) @@ -86132,7 +86471,7 @@ func _sqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt if f&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_InnerON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { _sqlite3ExprDeferredDelete(tls, pParse, pLeft) _sqlite3ExprDeferredDelete(tls, pParse, pRight) - return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1722) + return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1782) } else { return _sqlite3PExpr(tls, pParse, int32(TK_AND), pLeft, pRight) } @@ -86162,7 +86501,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pNew + 52)) = int32(int64((*TToken)(unsafe.Pointer(pToken)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) if pList != 0 && (*TExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7663, libc.VaList(bp+8, pToken)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7788, libc.VaList(bp+8, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32)) = pList *(*Tu32)(unsafe.Pointer(pNew + 4)) |= uint32(libc.Int32FromInt32(EP_HasFunc)) @@ -86183,7 +86522,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u func _sqlite3ExprOrderByAggregateError(tls *libc.TLS, pParse uintptr, p uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7697, libc.VaList(bp+8, p)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7822, libc.VaList(bp+8, p)) } // C documentation @@ -86262,7 +86601,7 @@ func _sqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD ** SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning ** that the schema is possibly tainted). */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7747, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7872, libc.VaList(bp+8, pExpr)) } } } @@ -86319,7 +86658,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n bOk = libc.BoolInt32(0 == _sqlite3Atoi64(tls, z+1, bp, int32(n-uint32(1)), uint8(SQLITE_UTF8))) } if bOk == 0 || *(*Ti64)(unsafe.Pointer(bp)) < int64(1) || *(*Ti64)(unsafe.Pointer(bp)) > int64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7767, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7892, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) return } @@ -86352,7 +86691,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*TExpr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7810, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7935, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } } @@ -86363,8 +86702,13 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n // ** Recursively delete an expression tree. // */ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { + var pLeft uintptr + _ = pLeft _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) + goto exprDeleteRestart +exprDeleteRestart: + ; _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -86372,9 +86716,6 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)|libc.Int32FromInt32(EP_Leaf)) != libc.Uint32FromInt32(0)) { /* The Expr.x union is never used at the same time as Expr.pRight */ _ = libc.Int32FromInt32(0) - if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { - _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpLeft) - } if (*TExpr)(unsafe.Pointer(p)).FpRight != 0 { _ = libc.Int32FromInt32(0) _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpRight) @@ -86389,6 +86730,17 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { } } } + if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { + pLeft = (*TExpr)(unsafe.Pointer(p)).FpLeft + if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) && !((*TExpr)(unsafe.Pointer(pLeft)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { + /* Avoid unnecessary recursion on unary operators */ + _sqlite3DbNNFreeNN(tls, db, p) + p = pLeft + goto exprDeleteRestart + } else { + _sqlite3ExprDeleteNN(tls, db, pLeft) + } + } } if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { _sqlite3DbNNFreeNN(tls, db, p) @@ -86435,11 +86787,11 @@ func _sqlite3ClearOnOrUsing(tls *libc.TLS, db uintptr, p uintptr) { // ** // ** The pExpr might be deleted immediately on an OOM error. // ** -// ** The deferred delete is (currently) implemented by adding the -// ** pExpr to the pParse->pConstExpr list with a register number of 0. +// ** Return 0 if the delete was successfully deferred. Return non-zero +// ** if the delete happened immediately because of an OOM. // */ -func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { - _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr) +func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + return libc.BoolInt32(uintptr(0) == _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr)) } // C documentation @@ -86958,16 +87310,20 @@ func _sqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) (r ui (*TSrcItem)(unsafe.Pointer(pNewItem)).FiCursor = (*TSrcItem)(unsafe.Pointer(pOldItem)).FiCursor (*TSrcItem)(unsafe.Pointer(pNewItem)).FaddrFillSub = (*TSrcItem)(unsafe.Pointer(pOldItem)).FaddrFillSub (*TSrcItem)(unsafe.Pointer(pNewItem)).FregReturn = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregReturn + (*TSrcItem)(unsafe.Pointer(pNewItem)).FregResult = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregResult if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x2>>1)) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3DbStrDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88))) + } else { + if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { + *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) + } else { + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pNewItem)).Fu1)) = *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pOldItem)).Fu1)) + } } (*TSrcItem)(unsafe.Pointer(pNewItem)).Fu2 = (*TSrcItem)(unsafe.Pointer(pOldItem)).Fu2 if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x100>>8)) != 0 { (*TCteUse)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNewItem + 96)))).FnUse++ } - if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { - *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) - } v4 = (*TSrcItem)(unsafe.Pointer(pOldItem)).FpTab (*TSrcItem)(unsafe.Pointer(pNewItem)).FpTab = v4 pTab = v4 @@ -87233,7 +87589,7 @@ func _sqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, n = v2 } if v3 && (*TIdList)(unsafe.Pointer(pColumns)).FnId != v2 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7833, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7958, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error } i = 0 @@ -87378,7 +87734,7 @@ func _sqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, _ = mx mx = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4)) if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr > mx { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7863, libc.VaList(bp+8, zObject)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7988, libc.VaList(bp+8, zObject)) } } @@ -87480,10 +87836,10 @@ func _sqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) (r // ** anything else 0 // */ func _sqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) (r Tu32) { - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7886) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8011) == 0 { return uint32(EP_IsTrue) } - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7891) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8016) == 0 { return uint32(EP_IsFalse) } return uint32(0) @@ -87570,6 +87926,52 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { return pExpr } +// C documentation +// +// /* +// ** pExpr is a TK_FUNCTION node. Try to determine whether or not the +// ** function is a constant function. A function is constant if all of +// ** the following are true: +// ** +// ** (1) It is a scalar function (not an aggregate or window function) +// ** (2) It has either the SQLITE_FUNC_CONSTANT or SQLITE_FUNC_SLOCHNG +// ** property. +// ** (3) All of its arguments are constants +// ** +// ** This routine sets pWalker->eCode to 0 if pExpr is not a constant. +// ** It makes no changes to pWalker->eCode if pExpr is constant. In +// ** every case, it returns WRC_Abort. +// ** +// ** Called as a service subroutine from exprNodeIsConstant(). +// */ +func _exprNodeIsConstantFunction(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef, pList, v1 uintptr + var n int32 + var v2 bool + _, _, _, _, _, _ = db, n, pDef, pList, v1, v2 /* The database */ + _ = libc.Int32FromInt32(0) + if v2 = (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)) != uint32(0); !v2 { + v1 = *(*uintptr)(unsafe.Pointer(pExpr + 32)) + pList = v1 + } + if v2 || v1 == uintptr(0) { + n = 0 + } else { + n = (*TExprList)(unsafe.Pointer(pList)).FnExpr + _sqlite3WalkExprList(tls, pWalker, pList) + if int32((*TWalker)(unsafe.Pointer(pWalker)).FeCode) == 0 { + return int32(WRC_Abort) + } + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)|libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG)) == uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) +} + // C documentation // // /* @@ -87599,6 +88001,7 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { // ** malformed schema error. // */ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + _ = libc.Int32FromInt32(0) /* If pWalker->eCode is 2 then any term of the expression that comes from ** the ON or USING clauses of an outer join disqualifies the expression ** from being considered constant. */ @@ -87617,8 +88020,12 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 } return WRC_Continue } else { - (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) - return int32(WRC_Abort) + if (*TWalker)(unsafe.Pointer(pWalker)).FpParse != 0 { + return _exprNodeIsConstantFunction(tls, pWalker, pExpr) + } else { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } } fallthrough case int32(TK_ID): @@ -87645,6 +88052,8 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 case int32(TK_REGISTER): fallthrough case int32(TK_DOT): + fallthrough + case int32(TK_RAISE): (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) return int32(WRC_Abort) case int32(TK_VARIABLE): @@ -87670,14 +88079,14 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 return r } -func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32) { +func _exprIsConst(tls *libc.TLS, pParse uintptr, p uintptr, initFlag int32) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* w at bp+0 */ TWalker (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(initFlag) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) - *(*int32)(unsafe.Pointer(bp + 40)) = iCur _sqlite3WalkExpr(tls, bp, p) return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } @@ -87691,9 +88100,15 @@ func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32 // ** For the purposes of this function, a double-quoted string (ex: "abc") // ** is considered a variable but a single-quoted string (ex: 'abc') is // ** a constant. +// ** +// ** The pParse parameter may be NULL. But if it is NULL, there is no way +// ** to determine if function calls are constant or not, and hence all +// ** function calls will be considered to be non-constant. If pParse is +// ** not NULL, then a function call might be constant, depending on the +// ** function and on its parameters. // */ -func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(1), 0) +func _sqlite3ExprIsConstant(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(1)) } // C documentation @@ -87711,8 +88126,26 @@ func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { // ** can be added to the pParse->pConstExpr list and evaluated once when // ** the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). // */ -func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(2), 0) +func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(2)) +} + +// C documentation +// +// /* +// ** This routine examines sub-SELECT statements as an expression is being +// ** walked as part of sqlite3ExprIsTableConstant(). Sub-SELECTs are considered +// ** constant as long as they are uncorrelated - meaning that they do not +// ** contain any terms from outer contexts. +// */ +func _exprSelectWalkTableConstant(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if (*TSelect)(unsafe.Pointer(pSelect)).FselFlags&uint32(SF_Correlated) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) } // C documentation @@ -87722,9 +88155,25 @@ func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { // ** for any single row of the table with cursor iCur. In other words, the // ** expression must not refer to any non-deterministic function nor any // ** table other than iCur. +// ** +// ** Consider uncorrelated subqueries to be constants if the bAllowSubq +// ** parameter is true. // */ -func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) { - return _exprIsConst(tls, p, int32(3), iCur) +func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32, bAllowSubq int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(3) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = uintptr(0) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) + if bAllowSubq != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_exprSelectWalkTableConstant) + } else { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) + } + *(*int32)(unsafe.Pointer(bp + 40)) = iCur + _sqlite3WalkExpr(tls, bp, p) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } // C documentation @@ -87744,7 +88193,10 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** // ** (1) pExpr cannot refer to any table other than pSrc->iCursor. // ** -// ** (2) pExpr cannot use subqueries or non-deterministic functions. +// ** (2a) pExpr cannot use subqueries unless the bAllowSubq parameter is +// ** true and the subquery is non-correlated +// ** +// ** (2b) pExpr cannot use non-deterministic functions. // ** // ** (3) pSrc cannot be part of the left operand for a RIGHT JOIN. // ** (Is there some way to relax this constraint?) @@ -87770,7 +88222,7 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** which leads to incorrect answers. See also restriction (9) // ** on push-down. // */ -func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32) (r int32) { +func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32, bAllowSubq int32) (r int32) { var jj int32 var pSrc uintptr _, _ = jj, pSrc @@ -87808,7 +88260,8 @@ func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList jj++ } } - return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor) /* rules (1), (2) */ + /* Rules (1), (2a), and (2b) handled by the following: */ + return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor, bAllowSubq) } // C documentation @@ -87907,7 +88360,7 @@ func _sqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // */ func _sqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit Tu8) (r int32) { _ = libc.Int32FromInt32(0) - return _exprIsConst(tls, p, int32(4)+int32(isInit), 0) + return _exprIsConst(tls, uintptr(0), p, int32(4)+int32(isInit)) } // C documentation @@ -88051,13 +88504,13 @@ func _sqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) (r i // ** Return TRUE if the given string is a row-id column name. // */ func _sqlite3IsRowid(tls *libc.TLS, z uintptr) (r int32) { - if _sqlite3StrICmp(tls, z, __ccgo_ts+7897) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8022) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7905) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8030) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7911) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8036) == 0 { return int32(1) } return 0 @@ -88075,9 +88528,9 @@ func _sqlite3RowidAlias(tls *libc.TLS, pTab uintptr) (r uintptr) { var iCol, ii int32 _, _, _ = azOpt, iCol, ii azOpt = [3]uintptr{ - 0: __ccgo_ts + 7897, - 1: __ccgo_ts + 7905, - 2: __ccgo_ts + 7911, + 0: __ccgo_ts + 8022, + 1: __ccgo_ts + 8030, + 2: __ccgo_ts + 8036, } _ = libc.Int32FromInt32(0) ii = 0 @@ -88201,14 +88654,14 @@ func _sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int // ** The argument is an IN operator with a list (not a subquery) on the // ** right-hand side. Return TRUE if that list is constant. // */ -func _sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) (r int32) { +func _sqlite3InRhsIsConstant(tls *libc.TLS, pParse uintptr, pIn uintptr) (r int32) { var pLHS uintptr var res int32 _, _ = pLHS, res _ = libc.Int32FromInt32(0) pLHS = (*TExpr)(unsafe.Pointer(pIn)).FpLeft (*TExpr)(unsafe.Pointer(pIn)).FpLeft = uintptr(0) - res = _sqlite3ExprIsConstant(tls, pIn) + res = _sqlite3ExprIsConstant(tls, pParse, pIn) (*TExpr)(unsafe.Pointer(pIn)).FpLeft = pLHS return res } @@ -88366,7 +88819,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 iAddr = _sqlite3VdbeAddOp0(tls, v, int32(OP_Once)) _sqlite3OpenTable(tls, pParse, iTab, iDb, pTab, int32(OP_OpenRead)) eType = int32(IN_INDEX_ROWID) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+7915, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+8040, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) _sqlite3VdbeJumpHere(tls, v, iAddr) } else { /* Iterator variable */ affinity_ok = int32(1) @@ -88469,7 +88922,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 if colUsed == libc.Uint64FromInt32(1)<0 so that the new limit is either 1 or 0 */ db = (*TParse)(unsafe.Pointer(pParse)).Fdb - pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1722) + pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1782) if pLimit != 0 { (*TExpr)(unsafe.Pointer(pLimit)).FaffExpr = uint8(SQLITE_AFF_NUMERIC) pLimit = _sqlite3PExpr(tls, pParse, int32(TK_NE), _sqlite3ExprDup(tls, db, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft, 0), pLimit) @@ -88980,7 +89433,7 @@ func _sqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int3 (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { /* If there is no pre-existing limit add a limit of 1 */ - pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8130) + pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8255) (*TSelect)(unsafe.Pointer(pSel)).FpLimit = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), pLimit, uintptr(0)) } (*TSelect)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -89376,13 +89829,13 @@ func _codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, i _ = libc.Int32FromInt32(0) c = _sqlite3DecOrHexToI64(tls, z, bp) if c == int32(3) && !(negFlag != 0) || c == int32(2) || negFlag != 0 && *(*Ti64)(unsafe.Pointer(bp)) == int64(-libc.Int32FromInt32(1))-(libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)<= (*TAggInfo)(unsafe.Pointer(pInfo)).FnFunc { _ = libc.Int32FromInt32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8223, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8348, libc.VaList(bp+160, pExpr)) } else { _ = libc.Int32FromInt32(0) return (*TAggInfo)(unsafe.Pointer(pInfo)).FiFirstReg + (*TAggInfo)(unsafe.Pointer(pInfo)).FnColumn + int32((*TExpr)(unsafe.Pointer(pExpr)).FiAgg) @@ -90183,7 +90630,7 @@ expr_code_doover: if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { return (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64)))).FregResult } - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { /* SQL functions can be expensive. So try to avoid running them ** multiple times if we know they always give the same result */ return _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) @@ -90201,7 +90648,7 @@ expr_code_doover: zId = *(*uintptr)(unsafe.Pointer(pExpr + 8)) pDef = _sqlite3FindFunction(tls, db, zId, nFarg, enc, uint8(0)) if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8250, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8375, libc.VaList(bp+160, pExpr)) break } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_INLINE) != uint32(0) && pFarg != uintptr(0) { @@ -90218,7 +90665,7 @@ expr_code_doover: if !(i < nFarg) { break } - if i < int32(32) && _sqlite3ExprIsConstant(tls, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { + if i < int32(32) && _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { constMask |= libc.Uint32FromInt32(1) << i } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_NEEDCOLL) != uint32(0) && !(pColl != 0) { @@ -90315,7 +90762,7 @@ expr_code_doover: _ = libc.Int32FromInt32(0) n1 = _sqlite3ExprVectorSize(tls, pLeft2) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != n1 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7833, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7958, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) } return (*TExpr)(unsafe.Pointer(pLeft2)).FiTable + int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) case int32(TK_IN): @@ -90347,8 +90794,9 @@ expr_code_doover: if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Collate)) != libc.Uint32FromInt32(0)) { /* A TK_COLLATE Expr node without the EP_Collate tag is a so-called ** "SOFT-COLLATE" that is added to constraints that are pushed down - ** from outer queries into sub-queries by the push-down optimization. - ** Clear subtypes as subtypes may not cross a subquery boundary. + ** from outer queries into sub-queries by the WHERE-clause push-down + ** optimization. Clear subtypes as subtypes may not cross a subquery + ** boundary. */ _ = libc.Int32FromInt32(0) _sqlite3ExprCode(tls, pParse, (*TExpr)(unsafe.Pointer(pExpr)).FpLeft, target) @@ -90383,7 +90831,7 @@ expr_code_doover: _sqlite3VdbeAddOp1(tls, v, int32(OP_RealAffinity), target) } case int32(TK_VECTOR): - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) break /* TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions ** that derive from the right-hand table of a LEFT JOIN. The @@ -90505,7 +90953,7 @@ expr_code_doover: case int32(TK_RAISE): _ = libc.Int32FromInt32(0) if !((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != 0) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8274, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8399, 0) return 0 } if int32((*TExpr)(unsafe.Pointer(pExpr)).FaffExpr) == int32(OE_Abort) { @@ -90629,7 +91077,7 @@ func _sqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin var r1, r2 int32 _, _ = r1, r2 pExpr = _sqlite3ExprSkipCollateAndLikely(tls, pExpr) - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { *(*int32)(unsafe.Pointer(pReg)) = 0 r2 = _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) } else { @@ -90702,7 +91150,7 @@ func _sqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // ** might choose to code the expression at initialization time. // */ func _sqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { _sqlite3ExprCodeCopy(tls, pParse, pExpr, target) @@ -90773,7 +91221,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ _sqlite3VdbeAddOp2(tls, v, int32(copyOp), j+srcReg-int32(1), target+i) } } else { - if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target+i) } else { inReg = _sqlite3ExprCodeTarget(tls, pParse, pExpr, target+i) @@ -92118,18 +92566,16 @@ func _agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnColumn && (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } else { _ = libc.Int32FromInt32(0) if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnFunc && (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } @@ -92699,8 +93145,8 @@ func _sqlite3FirstAvailableRegister(tls *libc.TLS, pParse uintptr, iMin int32) ( func _isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) - if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8324, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8449, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -92719,9 +93165,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, bp := tls.Alloc(48) defer tls.Free(48) (*TParse)(unsafe.Pointer(pParse)).FcolNamesSet = uint8(1) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8352, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8477, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8527, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8652, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) } } @@ -92737,9 +93183,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, func _renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8701, libc.VaList(bp+8, zDb, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8826, libc.VaList(bp+8, zDb, zDb)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8848, 0) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8973, 0) } } @@ -92797,7 +93243,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName ** in database iDb. If so, this is an error. */ if _sqlite3FindTable(tls, db, zName, zDb) != 0 || _sqlite3FindIndex(tls, db, zName, zDb) != 0 || _sqlite3IsShadowTableOf(tls, db, pTab, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8999, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9124, libc.VaList(bp+8, zName)) goto exit_rename_table } /* Make sure it is not a system table being altered, or a reserved name @@ -92806,11 +93252,11 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { goto exit_rename_table } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9058, zName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9183, zName) { goto exit_rename_table } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9064, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9189, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table } /* Invoke the authorization callback. */ @@ -92840,21 +93286,21 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName nTabName = _sqlite3Utf8CharLen(tls, zTabName, -int32(1)) /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in ** the schema to use the new table name. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9091, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9216, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) /* Update the tbl_name and name columns of the sqlite_schema table ** as required. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9275, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9400, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) /* If the sqlite_sequence table exists in this database, then update ** it with the new table name. */ - if _sqlite3FindTable(tls, db, __ccgo_ts+9580, zDb) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9596, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if _sqlite3FindTable(tls, db, __ccgo_ts+9705, zDb) != 0 { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9721, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* If the table being renamed is not itself part of the temp database, ** edit view and trigger definitions within the temp database ** as required. */ if iDb != int32(1) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9654, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9779, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) } /* If this is a virtual table, invoke the xRename() function if ** one is defined. The xRename() callback will modify the names @@ -92870,7 +93316,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName _sqlite3VdbeAddOp4(tls, v, int32(OP_VRename), i, 0, 0, pVTab, -int32(11)) } _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+9919, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+10044, 0) goto exit_rename_table exit_rename_table: ; @@ -92887,7 +93333,7 @@ exit_rename_table: func _sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9932, libc.VaList(bp+8, zErr, zDb, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10057, libc.VaList(bp+8, zErr, zDb, zTab)) } // C documentation @@ -92932,11 +93378,11 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** column must not be NULL. */ if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9970, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10095, 0) return } if (*TTable)(unsafe.Pointer(pNew)).FpIndex != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10002, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10127, 0) return } if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) == 0 { @@ -92954,10 +93400,10 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpFKey != 0 && pDflt != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10029) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10154) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && !(pDflt != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10088) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10213) } /* Ensure the default expression is something that sqlite3ValueFromExpr() ** can handle (i.e. not CURRENT_TIME etc.) @@ -92971,13 +93417,13 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr return } if !(*(*uintptr)(unsafe.Pointer(bp)) != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10141) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10266) } _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp))) } } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_STORED) != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10187) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10312) } } /* Modify the CREATE TABLE statement. */ @@ -92993,7 +93439,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** have to use printf() to translate between these units: */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10214, libc.VaList(bp+16, zDb, (*(*struct { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10339, libc.VaList(bp+16, zDb, (*(*struct { FaddColOffset int32 FpFKey uintptr FpDfltList uintptr @@ -93021,7 +93467,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterAdd)) /* Verify that constraints are still satisfied */ if (*TTable)(unsafe.Pointer(pNew)).FpCheck != uintptr(0) || int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Strict) != uint32(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10360, libc.VaList(bp+16, zTab, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10485, libc.VaList(bp+16, zTab, zDb)) } } } @@ -93061,12 +93507,12 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { goto exit_begin_add_column } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10713, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10838, 0) goto exit_begin_add_column } /* Make sure this is not an attempt to ALTER a view. */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10747, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10872, 0) goto exit_begin_add_column } if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { @@ -93094,7 +93540,7 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { nAlloc = (int32((*TTable)(unsafe.Pointer(pNew)).FnCol)-int32(1))/int32(8)*int32(8) + int32(8) _ = libc.Int32FromInt32(0) (*TTable)(unsafe.Pointer(pNew)).FaCol = _sqlite3DbMallocZero(tls, db, uint64(16)*uint64(nAlloc)) - (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10777, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10902, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !((*TTable)(unsafe.Pointer(pNew)).FaCol != 0) || !((*TTable)(unsafe.Pointer(pNew)).FzName != 0) { _ = libc.Int32FromInt32(0) goto exit_begin_add_column @@ -93158,18 +93604,18 @@ func _isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) (r i _, _ = zType, v1 zType = uintptr(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10796 + zType = __ccgo_ts + 10921 } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 10801 + zType = __ccgo_ts + 10926 } if zType != 0 { if bDrop != 0 { - v1 = __ccgo_ts + 10815 + v1 = __ccgo_ts + 10940 } else { - v1 = __ccgo_ts + 10832 + v1 = __ccgo_ts + 10957 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10850, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10975, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -93231,11 +93677,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld iCol++ } if iCol == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10868, libc.VaList(bp+8, pOld)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10993, libc.VaList(bp+8, pOld)) goto exit_rename_column } /* Ensure the schema contains no double-quoted strings */ - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1648, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1662, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1))) /* Do the rename operation using a recursive UPDATE statement that ** uses the sqlite_rename_column() SQL function to compute the new @@ -93248,11 +93694,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld } _ = libc.Int32FromInt32(0) bQuote = int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pNew)).Fz))]) & int32(0x80) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10889, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11071, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11014, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11196, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+9919, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+10044, int32(1)) goto exit_rename_column exit_rename_column: ; @@ -93731,11 +94177,11 @@ func _renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType u zT = Xsqlite3_value_text(tls, pType) zN = Xsqlite3_value_text(tls, pObject) if *(*uint8)(unsafe.Pointer(zWhen)) != 0 { - v1 = __ccgo_ts + 11202 + v1 = __ccgo_ts + 11327 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11204, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) + zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11329, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, zErr) } @@ -93812,8 +94258,8 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin if zSql == uintptr(0) { return int32(SQLITE_NOMEM) } - if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11227, int32(7)) != 0 { - return _sqlite3CorruptError(tls, int32(116682)) + if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11352, int32(7)) != 0 { + return _sqlite3CorruptError(tls, int32(117285)) } if bTemp != 0 { v1 = int32(1) @@ -93829,7 +94275,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin rc = int32(SQLITE_NOMEM) } if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = _sqlite3CorruptError(tls, int32(116693)) + rc = _sqlite3CorruptError(tls, int32(117296)) } (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0) return rc @@ -93868,7 +94314,7 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, ** ALTER TABLE statement was quoted (bQuote==1), then set zNew to ** point to zQuot so that all substitutions are made using the ** quoted version of the new column name. */ - zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11235, libc.VaList(bp+8, zNew)) + zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11360, libc.VaList(bp+8, zNew)) if zQuot == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -93914,11 +94360,11 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, *(*uint8)(unsafe.Pointer(zBuf1 + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = uint8(0) _sqlite3Dequote(tls, zBuf1) if int32(*(*uint8)(unsafe.Pointer((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == int32('\'') { - v1 = __ccgo_ts + 11202 + v1 = __ccgo_ts + 11327 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11241, libc.VaList(bp+8, zBuf1, v1)) + Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11366, libc.VaList(bp+8, zBuf1, v1)) zReplace = zBuf2 nReplace = uint32(_sqlite3Strlen30(tls, zReplace)) } @@ -94410,7 +94856,7 @@ renameColumnFunc_done: Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv))) } else { if (*(*TParse)(unsafe.Pointer(bp + 32))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1648, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) + _renameColumnParseError(tls, context, __ccgo_ts+1662, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -94639,7 +95085,7 @@ func _renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintpt Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + 3*8))) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1648, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) + _renameColumnParseError(tls, context, __ccgo_ts+1662, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -94901,7 +95347,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { /* This can happen if the sqlite_schema table is corrupt */ - rc = _sqlite3CorruptError(tls, int32(117652)) + rc = _sqlite3CorruptError(tls, int32(118255)) goto drop_column_done } pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName) @@ -94919,7 +95365,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr (*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz-- } } - zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11246, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) + zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11371, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -int32(1), uintptr(-libc.Int32FromInt32(1))) Xsqlite3_free(tls, zNew) goto drop_column_done @@ -94946,8 +95392,9 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName bp := tls.Alloc(48) defer tls.Free(48) var addr, i, iCol, iColPos, iCur, iDb, iPos, nField, reg, regOut, regRec, v2, v4, v7 int32 + var aff uint8 var db, pPk, pTab, v, zCol, zDb, v1, v3, v5, v8 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, aff, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Database containing pTab ("main" etc.) */ zCol = uintptr(0) /* Index of column zCol in pTab->aCol[] */ /* Look up the table being altered. */ @@ -94976,23 +95423,23 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName } iCol = _sqlite3ColumnIndex(tls, pTab, zCol) if iCol < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10868, libc.VaList(bp+8, pName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10993, libc.VaList(bp+8, pName)) goto exit_drop_column } /* Do not allow the user to drop a PRIMARY KEY column or a column ** constrained by a UNIQUE constraint. */ if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_PRIMKEY)|libc.Int32FromInt32(COLFLAG_UNIQUE)) != 0 { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - v1 = __ccgo_ts + 11253 + v1 = __ccgo_ts + 11378 } else { - v1 = __ccgo_ts + 5589 + v1 = __ccgo_ts + 5653 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11265, libc.VaList(bp+8, v1, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11390, libc.VaList(bp+8, v1, zCol)) goto exit_drop_column } /* Do not allow the number of columns to go to zero */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) <= int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11293, libc.VaList(bp+8, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11418, libc.VaList(bp+8, zCol)) goto exit_drop_column } /* Edit the sqlite_schema table */ @@ -95003,12 +95450,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_ALTER_TABLE), zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol) != 0 { goto exit_drop_column } - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1648, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1662, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1))) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11341, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11466, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11462, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11587, int32(1)) /* Edit rows of table on disk */ if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 && int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { pPk = uintptr(0) @@ -95066,7 +95513,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if i == int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regOut) } else { + aff = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity + if int32(aff) == int32(SQLITE_AFF_REAL) { + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = uint8(SQLITE_AFF_NUMERIC) + } _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab, iCur, i, regOut) + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = aff } nField++ } @@ -95111,27 +95563,27 @@ var _aAlterTableFuncs = [5]TFuncDef{ 0: { FnArg: int8(9), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11480, + FzName: __ccgo_ts + 11605, }, 1: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11501, + FzName: __ccgo_ts + 11626, }, 2: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11521, + FzName: __ccgo_ts + 11646, }, 3: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11540, + FzName: __ccgo_ts + 11665, }, 4: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11559, + FzName: __ccgo_ts + 11684, }, } @@ -95344,7 +95796,7 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW ** side-effect of the CREATE TABLE statement is to leave the rootpage ** of the new table in register pParse->regRoot. This is important ** because the OpenWrite opcode below will be needing it. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11662, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11787, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) aRoot[i] = uint32((*TParse)(unsafe.Pointer(pParse)).FregRoot) aCreateTbl[i] = uint8(OPFLAG_P2ISREG) } @@ -95355,10 +95807,10 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW aRoot[i] = (*TTable)(unsafe.Pointer(pStat)).Ftnum _sqlite3TableLock(tls, pParse, iDb, aRoot[i], uint8(1), zTab) if zWhere != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11685, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11810, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11715, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11840, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { /* The sqlite_stat[134] table already exists. Delete all rows. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Clear), int32(aRoot[i]), iDb) @@ -95391,15 +95843,15 @@ var _aTable = [3]struct { FzCols uintptr }{ 0: { - FzName: __ccgo_ts + 11582, - FzCols: __ccgo_ts + 11595, + FzName: __ccgo_ts + 11707, + FzCols: __ccgo_ts + 11720, }, 1: { - FzName: __ccgo_ts + 11608, - FzCols: __ccgo_ts + 11621, + FzName: __ccgo_ts + 11733, + FzCols: __ccgo_ts + 11746, }, 2: { - FzName: __ccgo_ts + 11649, + FzName: __ccgo_ts + 11774, }, } @@ -95708,7 +96160,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statInitFuncdef = TFuncDef{ FnArg: int8(4), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11733, + FzName: __ccgo_ts + 11858, } func init() { @@ -96094,7 +96546,7 @@ func _statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statPushFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(2) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11743, + FzName: __ccgo_ts + 11868, } func init() { @@ -96147,7 +96599,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { v1 = (*TStatAccum)(unsafe.Pointer(p)).FnRow } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11753, libc.VaList(bp+72, v1)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11878, libc.VaList(bp+72, v1)) i = 0 for { if !(i < (*TStatAccum)(unsafe.Pointer(p)).FnKeyCol) { @@ -96158,7 +96610,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if iVal == uint64(2) && (*TStatAccum)(unsafe.Pointer(p)).FnRow*uint64(10) <= nDistinct*uint64(11) { iVal = uint64(1) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11758, libc.VaList(bp+72, iVal)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11883, libc.VaList(bp+72, iVal)) _ = libc.Int32FromInt32(0) goto _2 _2: @@ -96199,7 +96651,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if !(i1 < (*TStatAccum)(unsafe.Pointer(p)).FnCol) { break } - Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11764, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) + Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11889, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) goto _3 _3: ; @@ -96217,7 +96669,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statGetFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(1) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11770, + FzName: __ccgo_ts + 11895, } func init() { @@ -96239,9 +96691,9 @@ func _callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, re // */ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { var aGotoChng, db, pColl, pIdx, pPk, pStat1, pX, v, zIdxName uintptr - var addrIsNull, addrNext, addrNextRow, addrRewind, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 + var addrGotoEnd, addrIsNull, addrNext, addrNextRow, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 var needTableCnt, seekOp Tu8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrIsNull, addrNext, addrNextRow, addrRewind, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrGotoEnd, addrIsNull, addrNext, addrNextRow, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Loop counter */ jZeroRows = -int32(1) /* Index of database containing pTab */ needTableCnt = uint8(1) @@ -96285,7 +96737,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Do not gather statistics on views or virtual tables */ return } - if Xsqlite3_strlike(tls, __ccgo_ts+11779, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, __ccgo_ts+11904, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { /* Do not gather statistics on system tables */ return } @@ -96302,7 +96754,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint return } (*TTable)(unsafe.Pointer(pStat1)).FzName = pStat1 + 1*104 - libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11582, uint64(13)) + libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11707, uint64(13)) (*TTable)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*TTable)(unsafe.Pointer(pStat1)).FiPKey = int16(-int32(1)) _sqlite3VdbeAddOp4(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Noop), 0, 0, 0, pStat1, -int32(6)) @@ -96356,9 +96808,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* ** Pseudo-code for loop that calls stat_push(): ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() ** goto chng_addr_0; ** ** next_row: @@ -96393,34 +96850,31 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _ = libc.Int32FromInt32(0) _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenRead), iIdxCur, int32((*TIndex)(unsafe.Pointer(pIdx)).Ftnum), iDb) _sqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - /* Invoke the stat_init() function. The arguments are: + /* Implementation of the following: ** + ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() + ** goto chng_addr_0; + */ + _ = libc.Int32FromInt32(0) + _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + /* Arguments to stat_init(): ** (1) the number of columns in the index including the rowid ** (or for a WITHOUT ROWID table, the number of PK columns), ** (2) the number of columns in the key without the rowid/pk - ** (3) estimated number of rows in the index, - */ + ** (3) estimated number of rows in the index. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), nCol, regStat+int32(1)) _ = libc.Int32FromInt32(0) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol), regRowid) - if (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0) { - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iIdxCur, regTemp) - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - } else { - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, int32(1)) - } - _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) != uint32(0))) _sqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat+int32(1), regStat, int32(4), uintptr(unsafe.Pointer(&_statInitFuncdef)), 0) - /* Implementation of the following: - ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; - ** regChng = 0 - ** goto next_push_0; - ** - */ + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regChng) addrNextRow = _sqlite3VdbeCurrentAddr(tls, v) if nColTest > 0 { @@ -96532,9 +96986,15 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), iIdxCur, addrNextRow) } /* Add the entry to the stat1 table. */ + if (*TIndex)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { + /* Partial indexes might get a zero-entry in sqlite_stat1. But + ** an empty table is omitted from sqlite_stat1. */ + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + addrGotoEnd = 0 + } _callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11789, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11914, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP4(tls, v, -int32(1), pStat1, -int32(5)) @@ -96553,6 +97013,11 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint v18 = int32(OP_NotFound) } seekOp = uint8(v18) + /* No STAT4 data is generated if the number of rows is zero */ + if addrGotoEnd == 0 { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Cast), regStat1, int32(SQLITE_AFF_INTEGER)) + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) + } if doOnce != 0 { mxCol = nCol /* Compute the maximum number of columns in any index */ @@ -96607,7 +97072,9 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeJumpHere(tls, v, addrIsNull) } /* End of analysis */ - _sqlite3VdbeJumpHere(tls, v, addrRewind) + if addrGotoEnd != 0 { + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + } goto _13 _13: ; @@ -96621,7 +97088,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint jZeroRows = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regIdxname) _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11789, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11914, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -96696,9 +97163,9 @@ func _analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr iStatCur = (*TParse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52)) += int32(3) if pOnlyIdx != 0 { - _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11793) + _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11918) } else { - _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11797) + _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11922) } _analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, (*TParse)(unsafe.Pointer(pParse)).FnMem+int32(1), (*TParse)(unsafe.Pointer(pParse)).FnTab) _loadAnalysis(tls, pParse, iDb) @@ -96829,7 +97296,7 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, _, _, _, _, _, _ = c, i, sz, v, z, v2 z = zIntArray if z == uintptr(0) { - z = __ccgo_ts + 1648 + z = __ccgo_ts + 1662 } i = 0 for { @@ -96864,17 +97331,17 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 6, 0x40) for *(*uint8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, __ccgo_ts+11801, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11926, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 2, 0x4) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11812, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11937, z) == 0 { sz = _sqlite3Atoi(tls, z+uintptr(3)) if sz < int32(2) { sz = int32(2) } (*TIndex)(unsafe.Pointer(pIndex)).FszIdxRow = _sqlite3LogEst(tls, uint64(sz)) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11822, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11947, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 6, 0x40) } } @@ -97258,11 +97725,11 @@ func _loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) (r int32) { rc = SQLITE_OK _ = libc.Int32FromInt32(0) if v2 = (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0); v2 { - v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11608, zDb) + v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11733, zDb) pStat4 = v1 } if v2 && v1 != uintptr(0) && int32((*TTable)(unsafe.Pointer(pStat4)).FeTabType) == TABTYP_NORM { - rc = _loadStatTbl(tls, db, __ccgo_ts+11834, __ccgo_ts+11903, zDb) + rc = _loadStatTbl(tls, db, __ccgo_ts+11959, __ccgo_ts+12028, zDb) } return rc } @@ -97331,10 +97798,10 @@ func _sqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) (r int32) { /* Load new statistics out of the sqlite_stat1 table */ (*(*TanalysisInfo)(unsafe.Pointer(bp))).Fdb = db (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName - v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11582, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) + v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11707, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) pStat1 = v3 if v3 != 0 && int32((*TTable)(unsafe.Pointer(pStat1)).FeTabType) == TABTYP_NORM { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+11955, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+12080, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -97448,7 +97915,7 @@ func _resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) (r int32) { // ** database iDb attached to handle db. // */ func _sqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) (r int32) { - return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6585, zName) == 0) + return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6649, zName) == 0) } // C documentation @@ -97490,21 +97957,21 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if zFile == uintptr(0) { - zFile = __ccgo_ts + 1648 + zFile = __ccgo_ts + 1662 } if zName == uintptr(0) { - zName = __ccgo_ts + 1648 + zName = __ccgo_ts + 1662 } if int32(uint32(*(*uint8)(unsafe.Pointer(db + 192 + 8))&0x4>>2)) != 0 { /* 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 + 40)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+3967) + *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+4031) if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { return } - rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+11996, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) + rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12121, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) if rc == SQLITE_OK { pNewSchema = _sqlite3SchemaGet(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40))) if pNewSchema != 0 { @@ -97535,7 +98002,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { ** * Specified database name already being used. */ if (*Tsqlite3)(unsafe.Pointer(db)).FnDb >= *(*int32)(unsafe.Pointer(db + 136 + 7*4))+int32(2) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+11999, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12124, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) goto attach_error } i = 0 @@ -97545,7 +98012,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } _ = libc.Int32FromInt32(0) if _sqlite3DbIsNamed(tls, db, i, zName) != 0 { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12036, libc.VaList(bp+56, zName)) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12161, libc.VaList(bp+56, zName)) goto attach_error } goto _1 @@ -97594,7 +98061,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FnoSharedCache = uint8(0) if rc == int32(SQLITE_CONSTRAINT) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12066, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12191, 0) } else { if rc == SQLITE_OK { (*TDb)(unsafe.Pointer(pNew)).FpSchema = _sqlite3SchemaGet(tls, db, (*TDb)(unsafe.Pointer(pNew)).FpBt) @@ -97602,7 +98069,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { rc = int32(SQLITE_NOMEM) } else { if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0 && int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12095, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12220, 0) rc = int32(SQLITE_ERROR) } } @@ -97648,10 +98115,10 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)<= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12191, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12316, libc.VaList(bp+136, zName)) goto detach_error } if i < int32(2) { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12212, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12337, libc.VaList(bp+136, zName)) goto detach_error } if _sqlite3BtreeTxnState(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != SQLITE_TXN_NONE || _sqlite3BtreeIsInBackup(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != 0 { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12238, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12363, libc.VaList(bp+136, zName)) goto detach_error } /* If any TEMP triggers reference the schema being detached, move those @@ -97819,7 +98286,7 @@ func _sqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { var _detach_func = TFuncDef{ FnArg: int8(1), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12260, + FzName: __ccgo_ts + 12385, } func init() { @@ -97841,7 +98308,7 @@ func _sqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, p var _attach_func = TFuncDef{ FnArg: int8(3), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12274, + FzName: __ccgo_ts + 12399, } func init() { @@ -97867,7 +98334,7 @@ func _fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) (r int32) { if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer((*TDbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit1.Fbusy != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } else { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12288, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12413, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) return int32(WRC_Abort) } } @@ -97901,7 +98368,7 @@ func _fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) (r int32) { if int32((*TDbFixer)(unsafe.Pointer(pFix)).FbTemp) == 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != _sqlite3FindDbName(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12312, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12437, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return int32(WRC_Abort) } _sqlite3DbFree(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) @@ -98118,7 +98585,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // ** user-supplied authorization function returned an illegal value. // */ func _sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12358, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12483, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) } @@ -98146,11 +98613,11 @@ func _sqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, int32(SQLITE_READ), zTab, zCol, zDb, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12381, libc.VaList(bp+8, zTab, zCol)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12506, libc.VaList(bp+8, zTab, zCol)) if (*Tsqlite3)(unsafe.Pointer(db)).FnDb > int32(2) || iDb != 0 { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12387, libc.VaList(bp+8, zDb, z)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12512, libc.VaList(bp+8, zDb, z)) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12393, libc.VaList(bp+8, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12518, libc.VaList(bp+8, z)) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != int32(SQLITE_IGNORE) && rc != SQLITE_OK { @@ -98216,7 +98683,7 @@ func _sqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint _ = libc.Int32FromInt32(0) zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName } else { - zCol = __ccgo_ts + 7905 + zCol = __ccgo_ts + 8030 } } _ = libc.Int32FromInt32(0) @@ -98253,7 +98720,7 @@ func _sqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, ** parameters can be either NULL or a string. */ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12420, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12545, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != SQLITE_OK && rc != int32(SQLITE_IGNORE) { @@ -98688,21 +99155,21 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { /* No match against the official names. But always match "main" ** to schema 0 as a legacy fallback. */ - if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6585) == 0 { + if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6649) == 0 { i = 0 } else { return uintptr(0) } } p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, zName) - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) == 0 { + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) == 0 { if i == int32(1) { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6552+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6571+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6066+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6533) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6616+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6635+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6130+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6597) } } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6571+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6066) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6635+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6130) } } } @@ -98733,12 +99200,12 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp ; i++ } - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6571+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6066) + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6635+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6130) } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6552+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6533) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6616+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6597) } } } @@ -98776,7 +99243,7 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt ** can be an eponymous virtual table. */ if int32((*TParse)(unsafe.Pointer(pParse)).FprepFlags)&int32(SQLITE_PREPARE_NO_VTAB) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 { pMod = _sqlite3HashFind(tls, db+576, zName) - if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12435, int32(7)) == 0 { + if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12560, int32(7)) == 0 { pMod = _sqlite3PragmaVtabRegister(tls, db, zName) } if pMod != 0 && _sqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0 { @@ -98794,15 +99261,15 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt } if p == uintptr(0) { if flags&uint32(LOCATE_VIEW) != 0 { - v1 = __ccgo_ts + 12443 + v1 = __ccgo_ts + 12568 } else { - v1 = __ccgo_ts + 12456 + v1 = __ccgo_ts + 12581 } zMsg = v1 if zDbase != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6789, libc.VaList(bp+8, zMsg, zDbase, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6853, libc.VaList(bp+8, zMsg, zDbase, zName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6799, libc.VaList(bp+8, zMsg, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6924, libc.VaList(bp+8, zMsg, zName)) } } else { _ = libc.Int32FromInt32(0) @@ -98842,12 +99309,12 @@ func _sqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags Tu32, p uintpt // ** names into the new preferred names, as appropriate. // */ func _sqlite3PreferredTableName(tls *libc.TLS, zName uintptr) (r uintptr) { - if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6066+7) == 0 { - return __ccgo_ts + 6571 + if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6130+7) == 0 { + return __ccgo_ts + 6635 } - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6533+7) == 0 { - return __ccgo_ts + 6552 + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6597+7) == 0 { + return __ccgo_ts + 6616 } } return zName @@ -99393,7 +99860,7 @@ func _sqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { var v uintptr _ = v v = _sqlite3GetVdbe(tls, p) - _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6066) + _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6130) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_OpenWrite), 0, int32(SCHEMA_ROOT), iDb, int32(5)) if (*TParse)(unsafe.Pointer(p)).FnTab == 0 { (*TParse)(unsafe.Pointer(p)).FnTab = int32(1) @@ -99425,7 +99892,7 @@ func _sqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) { } /* "main" is always an acceptable alias for the primary database ** even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. */ - if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6585, zName) { + if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6649, zName) { break } goto _1 @@ -99484,13 +99951,13 @@ func _sqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u _ = libc.Int32FromInt32(0) if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12470, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12595, 0) return -int32(1) } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = _sqlite3FindDb(tls, db, pName1) if iDb < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12487, libc.VaList(bp+8, pName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12612, libc.VaList(bp+8, pName1)) return -int32(1) } } else { @@ -99535,12 +100002,12 @@ func _sqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit))) != 0 || Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 1*8))) != 0 || Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 2*8))) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1648, 0) /* corruptSchema() will supply the error */ + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1662, 0) /* corruptSchema() will supply the error */ return int32(SQLITE_ERROR) } } else { - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12507, libc.VaList(bp+8, zName)) + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12632, libc.VaList(bp+8, zName)) return int32(SQLITE_ERROR) } } @@ -99756,9 +100223,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui /* Special case: Parsing the sqlite_schema or sqlite_temp_schema schema */ iDb = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zName = _sqlite3DbStrDup(tls, db, v1) *(*uintptr)(unsafe.Pointer(bp)) = pName1 @@ -99771,7 +100238,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 && (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) && iDb != int32(1) { /* If creating a temp table, the name may not be qualified. Unless ** the database name is "temp" anyway. */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12549, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12674, 0) return } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 { @@ -99787,9 +100254,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui return } if isView != 0 { - v2 = __ccgo_ts + 10796 + v2 = __ccgo_ts + 10921 } else { - v2 = __ccgo_ts + 9058 + v2 = __ccgo_ts + 9183 } if _sqlite3CheckObjectName(tls, pParse, zName, v2, zName) != 0 { goto begin_table_error @@ -99801,9 +100268,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui _ = libc.Int32FromInt32(0) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp == int32(1) { - v3 = __ccgo_ts + 6533 + v3 = __ccgo_ts + 6597 } else { - v3 = __ccgo_ts + 6066 + v3 = __ccgo_ts + 6130 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto begin_table_error @@ -99827,11 +100294,11 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if pTable != 0 { if !(noErr != 0) { if int32((*TTable)(unsafe.Pointer(pTable)).FeTabType) == int32(TABTYP_VIEW) { - v4 = __ccgo_ts + 10796 + v4 = __ccgo_ts + 10921 } else { - v4 = __ccgo_ts + 9058 + v4 = __ccgo_ts + 9183 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12590, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12715, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -99840,7 +100307,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui goto begin_table_error } if _sqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12611, libc.VaList(bp+16, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12736, libc.VaList(bp+16, zName)) goto begin_table_error } } @@ -99996,7 +100463,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { _, _, _ = db, pHash, pRet db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TParse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12646, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12771, 0) } else { _ = libc.Int32FromInt32(0) } @@ -100013,7 +100480,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12680, libc.VaList(bp+8, pParse)) + Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12805, libc.VaList(bp+8, pParse)) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.FzName = pRet + 196 (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Fop = uint8(TK_RETURNING) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = uint8(TRIGGER_AFTER) @@ -100061,7 +100528,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok return } if int32((*TTable)(unsafe.Pointer(p)).FnCol)+int32(1) > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12700, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12825, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) return } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -100071,12 +100538,12 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok ** by the parser, we can sometimes end up with a typename that ends ** with "generated always". Check for this case and omit the surplus ** text. */ - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12723, int32(6)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12848, int32(6)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(6) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- } - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12730, int32(9)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12855, int32(9)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(9) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- @@ -100125,7 +100592,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok break } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FhName) == int32(hName) && _sqlite3StrICmp(tls, z, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FzCnName) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12740, libc.VaList(bp+40, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12865, libc.VaList(bp+40, z)) _sqlite3DbFree(tls, db, z) return } @@ -100335,10 +100802,10 @@ func _sqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar isInit = libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) != int32(1)) pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(p)).FnCol)-int32(1))*16 if !(_sqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12766, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12891, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12811, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12936, 0) } else { libc.Xmemset(tls, bp, 0, uint64(72)) (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_SPAN) @@ -100396,7 +100863,7 @@ func _makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { p1 = pCol + 14 *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(COLFLAG_PRIMKEY)) if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12852, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12977, 0) } } @@ -100433,7 +100900,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError goto primary_key_exit } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasPrimaryKey) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12904, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13029, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit } *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_HasPrimaryKey) @@ -100492,7 +100959,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError _sqlite3HasExplicitNulls(tls, pParse, pList) } else { if autoInc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12945, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13070, 0) } else { _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), uintptr(0), sortOrder, 0, uint8(SQLITE_IDXTYPE_PRIMARYKEY)) pList = uintptr(0) @@ -100609,17 +101076,17 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui } pCol = (*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-int32(1))*16 if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) == int32(PARSE_MODE_DECLARE_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13001, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13126, 0) goto generated_done } if int32((*TColumn)(unsafe.Pointer(pCol)).FiDflt) > 0 { goto generated_error } if pType != 0 { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13044, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13169, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { /* no-op */ } else { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13052, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13177, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { eType = uint8(COLFLAG_STORED) } else { goto generated_error @@ -100653,7 +101120,7 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui goto generated_error generated_error: ; - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13059, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13184, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) goto generated_done generated_done: ; @@ -100817,13 +101284,13 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { } n += _identLength(tls, (*TTable)(unsafe.Pointer(p)).FzName) if n < int32(50) { - zSep = __ccgo_ts + 1648 - zSep2 = __ccgo_ts + 13090 - zEnd = __ccgo_ts + 5106 + zSep = __ccgo_ts + 1662 + zSep2 = __ccgo_ts + 13215 + zEnd = __ccgo_ts + 5170 } else { - zSep = __ccgo_ts + 13092 - zSep2 = __ccgo_ts + 13096 - zEnd = __ccgo_ts + 13101 + zSep = __ccgo_ts + 13217 + zSep2 = __ccgo_ts + 13221 + zEnd = __ccgo_ts + 13226 } n += int32(35) + int32(6)*int32((*TTable)(unsafe.Pointer(p)).FnCol) zStmt = _sqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -100831,7 +101298,7 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { _sqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13104, 0) + Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13229, 0) *(*int32)(unsafe.Pointer(bp)) = _sqlite3Strlen30(tls, zStmt) _identPut(tls, zStmt, bp, (*TTable)(unsafe.Pointer(p)).FzName) v2 = *(*int32)(unsafe.Pointer(bp)) @@ -100861,17 +101328,17 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { i++ pCol += 16 } - Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3795, libc.VaList(bp+16, zEnd)) + Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3859, libc.VaList(bp+16, zEnd)) return zStmt } var _azType1 = [6]uintptr{ - 0: __ccgo_ts + 1648, - 1: __ccgo_ts + 13118, - 2: __ccgo_ts + 13124, - 3: __ccgo_ts + 13129, - 4: __ccgo_ts + 13134, - 5: __ccgo_ts + 13124, + 0: __ccgo_ts + 1662, + 1: __ccgo_ts + 13243, + 2: __ccgo_ts + 13249, + 3: __ccgo_ts + 13254, + 4: __ccgo_ts + 13259, + 5: __ccgo_ts + 13249, } // C documentation @@ -101470,13 +101937,13 @@ func _sqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts Tu32, pSelect uintptr) { bp := tls.Alloc(112) defer tls.Free(112) - var addrInsLoop, addrTop, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v4, v6, v8 int32 + var addrInsLoop, addrTop, iCsr, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v10, v4, v6, v8 int32 var colFlags Tu32 - var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v5, v7, v9 uintptr - var v10 Ti16 + var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v13, v5, v7, v9 uintptr + var v12 Ti16 var _ /* dest at bp+0 */ TSelectDest - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v4, v5, v6, v7, v8, v9 /* The new table */ - db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iCsr, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v12, v13, v4, v5, v6, v7, v8, v9 /* The new table */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ if pEnd == uintptr(0) && pSelect == uintptr(0) { return } @@ -101498,7 +101965,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if pSelect != 0 || !(int32((*TTable)(unsafe.Pointer(p)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) && (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1648, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1662, 0) return } (*TTable)(unsafe.Pointer(p)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum @@ -101525,9 +101992,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(ii)*16 if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf0>>4)) == COLTYPE_CUSTOM { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_HASTYPE) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13140, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1648))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13265, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1662))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13173, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13298, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } return } else { @@ -101550,11 +102017,11 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* Special processing for WITHOUT ROWID Tables */ if tabOpts&uint32(TF_WithoutRowid) != 0 { if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13200, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13325, 0) return } if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasPrimaryKey) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13250, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13375, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) return } *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) @@ -101601,7 +102068,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ii1++ } if nNG == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13282, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13407, 0) return } } @@ -101635,12 +102102,12 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if int32((*TTable)(unsafe.Pointer(p)).FeTabType) == TABTYP_NORM { /* A regular table */ - zType = __ccgo_ts + 9058 - zType2 = __ccgo_ts + 13326 + zType = __ccgo_ts + 9183 + zType2 = __ccgo_ts + 13451 } else { /* A view */ - zType = __ccgo_ts + 10796 - zType2 = __ccgo_ts + 13332 + zType = __ccgo_ts + 10921 + zType2 = __ccgo_ts + 13457 } /* If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT ** statement to populate the new table. The root-page number for the @@ -101655,29 +102122,31 @@ func _sqlite3EndTable(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 { /* A table that describes the SELECT results */ + if pSelect != 0 { /* Write cursor on the new table */ if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) (*TParse)(unsafe.Pointer(pParse)).FnErr++ return } - v5 = pParse + 56 - *(*int32)(unsafe.Pointer(v5))++ + v5 = pParse + 52 v4 = *(*int32)(unsafe.Pointer(v5)) - regYield = v4 + *(*int32)(unsafe.Pointer(v5))++ + iCsr = v4 v7 = pParse + 56 *(*int32)(unsafe.Pointer(v7))++ v6 = *(*int32)(unsafe.Pointer(v7)) - regRec = v6 + regYield = v6 v9 = pParse + 56 *(*int32)(unsafe.Pointer(v9))++ v8 = *(*int32)(unsafe.Pointer(v9)) - regRowid = v8 - _ = libc.Int32FromInt32(0) + regRec = v8 + v11 = pParse + 56 + *(*int32)(unsafe.Pointer(v11))++ + v10 = *(*int32)(unsafe.Pointer(v11)) + regRowid = v10 _sqlite3MayAbort(tls, pParse) - _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), int32(1), (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) + _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), iCsr, (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_P2ISREG)) - (*TParse)(unsafe.Pointer(pParse)).FnTab = int32(2) addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -101688,9 +102157,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr return } _ = libc.Int32FromInt32(0) - v10 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol - (*TTable)(unsafe.Pointer(p)).FnNVCol = v10 - (*TTable)(unsafe.Pointer(p)).FnCol = v10 + v12 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol + (*TTable)(unsafe.Pointer(p)).FnNVCol = v12 + (*TTable)(unsafe.Pointer(p)).FnCol = v12 (*TTable)(unsafe.Pointer(p)).FaCol = (*TTable)(unsafe.Pointer(pSelTab)).FaCol (*TTable)(unsafe.Pointer(pSelTab)).FnCol = 0 (*TTable)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) @@ -101705,33 +102174,33 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr addrInsLoop = _sqlite3VdbeAddOp1(tls, v, int32(OP_Yield), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSDParm) _sqlite3VdbeAddOp3(tls, v, int32(OP_MakeRecord), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst, (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst, regRec) _sqlite3TableAffinity(tls, v, p, 0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), int32(1), regRowid) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), int32(1), regRec, regRowid) + _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iCsr, regRowid) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iCsr, regRec, regRowid) _sqlite3VdbeGoto(tls, v, addrInsLoop) _sqlite3VdbeJumpHere(tls, v, addrInsLoop) - _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), int32(1)) + _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), iCsr) } /* Compute the complete text of the CREATE statement */ if pSelect != 0 { zStmt = _createTableStmt(tls, db, p) } else { if tabOpts != 0 { - v11 = pParse + 288 + v13 = pParse + 288 } else { - v11 = pEnd + v13 = pEnd } - pEnd2 = v11 + pEnd2 = v13 n = int32(int64((*TToken)(unsafe.Pointer(pEnd2)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) if int32(*(*uint8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pEnd2)).Fz))) != int32(';') { n = int32(uint32(n) + (*TToken)(unsafe.Pointer(pEnd2)).Fn) } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13337, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13462, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13352, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13477, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) _sqlite3DbFree(tls, db, zStmt) _sqlite3ChangeCookie(tls, pParse, iDb) /* Check to see if we need to create an sqlite_sequence table for @@ -101741,17 +102210,16 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 _ = libc.Int32FromInt32(0) if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13450, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13575, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) } } /* Reparse everything to update our internal data structures */ - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13492, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13617, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) /* Test for cycles in generated columns and illegal expressions ** in CHECK constraints and in DEFAULT clauses. */ if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasGenerated) != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13526, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(0x0001), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13651, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13547, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } /* Add the table to the in-memory representation of the database. */ @@ -101771,7 +102239,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ** then record a pointer to this table in the main database structure ** so that INSERT can find the table easily. */ _ = libc.Int32FromInt32(0) - if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9580) == 0 { + if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9705) == 0 { _ = libc.Int32FromInt32(0) (*TSchema)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -101806,7 +102274,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*uintptr)(unsafe.Pointer(bp + 112)) = uintptr(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if int32((*TParse)(unsafe.Pointer(pParse)).FnVar) > 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13579, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13672, 0) goto create_view_fail } _sqlite3StartTable(tls, pParse, pName1, pName2, isTemp, int32(1), 0, noErr) @@ -101823,7 +102291,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(TF_NoVisibleRowid) /* Never allow rowid in view */ _sqlite3TwoPartName(tls, pParse, pName1, pName2, bp+112) iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(p)).FpSchema) - _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10796, *(*uintptr)(unsafe.Pointer(bp + 112))) + _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10921, *(*uintptr)(unsafe.Pointer(bp + 112))) if _sqlite3FixSelect(tls, bp+16, pSelect) != 0 { goto create_view_fail } @@ -101923,7 +102391,7 @@ func _viewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) (r int32 ** SELECT * FROM temp.ex1; */ if int32((*TTable)(unsafe.Pointer(pTable)).FnCol) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13615, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13708, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) return int32(1) } _ = libc.Int32FromInt32(0) @@ -102115,7 +102583,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { v = _sqlite3GetVdbe(tls, pParse) r1 = _sqlite3GetTempReg(tls, pParse) if iTable < int32(2) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13645, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13738, 0) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Destroy), iTable, r1, iDb) _sqlite3MayAbort(tls, pParse) @@ -102128,7 +102596,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { ** is in register NNN. See grammar rules associated with the TK_REGISTER ** token for additional information. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13660, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13753, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) _sqlite3ReleaseTempReg(tls, pParse, r1) } @@ -102213,9 +102681,9 @@ func _sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uin if !(i <= int32(4)) { break } - Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13727, libc.VaList(bp+32, i)) + Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13820, libc.VaList(bp+32, i)) if _sqlite3FindTable(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, bp, zDbName) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11685, libc.VaList(bp+32, zDbName, bp, zType, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11810, libc.VaList(bp+32, zDbName, bp, zType, zName)) } goto _1 _1: @@ -102258,7 +102726,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** move as a result of the drop (can happen in auto-vacuum mode). */ if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13741, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13834, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* Drop all entries in the schema table that refer to the ** table. The program name loops through the schema table and deletes @@ -102267,7 +102735,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** created in the temp database that refers to a table in another ** database. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13786, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13879, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { _destroyTable(tls, pParse, pTab) } @@ -102302,11 +102770,11 @@ func _sqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) (r int32) { // ** Return true if it is not allowed to drop the given table // */ func _tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) (r int32) { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) == 0 { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3418, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3482, int32(4)) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7266, int32(10)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7391, int32(10)) == 0 { return 0 } return int32(1) @@ -102365,9 +102833,9 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zTab = v1 zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName @@ -102400,18 +102868,18 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if _tableMayNotBeDropped(tls, db, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13853, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13946, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Ensure DROP TABLE is not used on a view, and DROP VIEW is not used ** on a table. */ if isView != 0 && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13881, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13974, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } if !(isView != 0) && int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13915, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14008, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Generate code to remove the table from the schema table @@ -102421,7 +102889,7 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) if !(isView != 0) { - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11797, (*TTable)(unsafe.Pointer(pTab)).FzName) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11922, (*TTable)(unsafe.Pointer(pTab)).FzName) _sqlite3FkDropTable(tls, pParse, pName, pTab) } _sqlite3CodeDropTable(tls, pParse, pTab, iDb, isView) @@ -102470,13 +102938,13 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p goto fk_end } if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13947, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14040, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) goto fk_end } nCol = int32(1) } else { if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14010, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14103, 0) goto fk_end } else { nCol = (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr @@ -102540,7 +103008,7 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p j++ } if j >= int32((*TTable)(unsafe.Pointer(p)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14104, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14197, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) goto fk_end } if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { @@ -102804,11 +103272,11 @@ func _sqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) (r i if int32(uint32(*(*uint16)(unsafe.Pointer(pList + 8 + uintptr(i)*32 + 16 + 4))&0x20>>5)) != 0 { sf = (*(*TExprList_item)(unsafe.Pointer(pList + 8 + uintptr(i)*32))).Ffg.FsortFlags if int32(sf) == 0 || int32(sf) == int32(3) { - v2 = __ccgo_ts + 14150 + v2 = __ccgo_ts + 14243 } else { - v2 = __ccgo_ts + 14156 + v2 = __ccgo_ts + 14249 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14161, libc.VaList(bp+8, v2)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14254, libc.VaList(bp+8, v2)) return int32(1) } goto _1 @@ -102890,7 +103358,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = int32(1) } } - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14189, *(*uintptr)(unsafe.Pointer(bp + 96))) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14282, *(*uintptr)(unsafe.Pointer(bp + 96))) if _sqlite3FixSrcList(tls, bp, pTblName) != 0 { /* Because the parser constructs pTblName from a single identifier, ** sqlite3FixSrcList can never fail. */ @@ -102902,7 +103370,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } if iDb == int32(1) && (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema != (*TTable)(unsafe.Pointer(pTab)).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14195, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14288, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if !((*TTable)(unsafe.Pointer(pTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { @@ -102919,16 +103387,16 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 _ = libc.Int32FromInt32(0) - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14245, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14338, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14273, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14366, 0) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14298, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14391, 0) goto exit_create_index } /* @@ -102950,19 +103418,19 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } _ = libc.Int32FromInt32(0) - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14189, (*TTable)(unsafe.Pointer(pTab)).FzName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14282, (*TTable)(unsafe.Pointer(pTab)).FzName) { goto exit_create_index } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if !((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0) { if _sqlite3FindTable(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14332, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14425, libc.VaList(bp+136, zName)) goto exit_create_index } } if _sqlite3FindIndex(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { if !(ifNotExist != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14366, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14459, libc.VaList(bp+136, zName)) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -102984,7 +103452,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pLoop = (*TIndex)(unsafe.Pointer(pLoop)).FpNext n++ } - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14390, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14483, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) if zName == uintptr(0) { goto exit_create_index } @@ -103002,9 +103470,9 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { zDb = (*TDb)(unsafe.Pointer(pDb)).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6533 + v2 = __ccgo_ts + 6597 } else { - v2 = __ccgo_ts + 6066 + v2 = __ccgo_ts + 6130 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v2, uintptr(0), zDb) != 0 { goto exit_create_index @@ -103033,7 +103501,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u _ = libc.Int32FromInt32(0) _sqlite3ExprListSetSortOrder(tls, pList, sortOrder, -int32(1)) } else { - _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14189) + _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14282) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { goto exit_create_index } @@ -103123,7 +103591,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pCExpr = _sqlite3ExprSkipCollate(tls, (*TExprList_item)(unsafe.Pointer(pListItem)).FpExpr) if int32((*TExpr)(unsafe.Pointer(pCExpr)).Fop) != int32(TK_COLUMN) { if pTab == (*TParse)(unsafe.Pointer(pParse)).FpNewTable { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14413, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14506, 0) goto exit_create_index } if (*TIndex)(unsafe.Pointer(pIndex)).FaColExpr == uintptr(0) { @@ -103280,7 +103748,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u ** explicitly specified behavior for the index. */ if !(int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) || int32((*TIndex)(unsafe.Pointer(pIndex)).FonError) == int32(OE_Default)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14474, libc.VaList(bp+136, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14567, libc.VaList(bp+136, 0)) } if int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) { (*TIndex)(unsafe.Pointer(pIdx)).FonError = (*TIndex)(unsafe.Pointer(pIndex)).FonError @@ -103313,8 +103781,8 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != uintptr(0) { (*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14516, 0) - (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125123)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14609, 0) + (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125741)) goto exit_create_index } } @@ -103355,11 +103823,11 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* A named index with an explicit CREATE INDEX statement */ if onError == OE_None { - v13 = __ccgo_ts + 1648 + v13 = __ccgo_ts + 1662 } else { - v13 = __ccgo_ts + 14533 + v13 = __ccgo_ts + 14626 } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14541, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14634, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) } else { /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ /* zStmt = sqlite3MPrintf(""); */ @@ -103367,7 +103835,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* Add an entry in sqlite_schema for this index */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14561, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14654, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) _sqlite3DbFree(tls, db, zStmt) /* Fill the index with data and reparse the schema. Code an OP_Expire ** to invalidate all pre-compiled statements. @@ -103375,7 +103843,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != 0 { _sqlite3RefillIndex(tls, pParse, pIndex, iMem) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14620, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14713, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Expire), 0, int32(1)) } _sqlite3VdbeJumpHere(tls, v, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum)) @@ -103545,7 +104013,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pIndex = _sqlite3FindIndex(tls, db, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzName, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) if pIndex == uintptr(0) { if !(ifExists != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14647, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14740, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) _sqlite3ForceNotReadOnly(tls, pParse) @@ -103554,7 +104022,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in goto exit_drop_index } if int32(uint32(*(*uint16)(unsafe.Pointer(pIndex + 100))&0x3>>0)) != SQLITE_IDXTYPE_APPDEF { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14665, libc.VaList(bp+8, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14758, libc.VaList(bp+8, 0)) goto exit_drop_index } iDb = _sqlite3SchemaToIndex(tls, db, (*TIndex)(unsafe.Pointer(pIndex)).FpSchema) @@ -103562,9 +104030,9 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pTab = (*TIndex)(unsafe.Pointer(pIndex)).FpTable zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zTab = v1 if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_DELETE), zTab, uintptr(0), zDb) != 0 { @@ -103580,8 +104048,8 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in v = _sqlite3GetVdbe(tls, pParse) if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14738, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11793, (*TIndex)(unsafe.Pointer(pIndex)).FzName) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14831, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11918, (*TIndex)(unsafe.Pointer(pIndex)).FzName) _sqlite3ChangeCookie(tls, pParse, iDb) _destroyRootPage(tls, pParse, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum), iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropIndex), iDb, 0, 0, (*TIndex)(unsafe.Pointer(pIndex)).FzName, 0) @@ -103778,7 +104246,7 @@ func _sqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra nAlloc = int64(2)*int64((*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) + int64(nExtra) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc+nExtra >= int32(SQLITE_MAX_SRCLIST) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14798, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14891, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) return uintptr(0) } if nAlloc > int64(SQLITE_MAX_SRCLIST) { @@ -104015,11 +104483,11 @@ func _sqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa db = (*TParse)(unsafe.Pointer(pParse)).Fdb if !(p != 0) && pOnUsing != uintptr(0) && ((*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 || (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpUsing != 0) { if (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 { - v1 = __ccgo_ts + 14834 + v1 = __ccgo_ts + 14927 } else { - v1 = __ccgo_ts + 14837 + v1 = __ccgo_ts + 14930 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14843, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14936, libc.VaList(bp+8, v1)) goto append_from_error } p = _sqlite3SrcListAppend(tls, pParse, p, pTable, pDatabase) @@ -104236,7 +104704,7 @@ func _sqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { _ = libc.Int32FromInt32(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb _ = libc.Int32FromInt32(0) - if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14879, uintptr(0), uintptr(0)) != 0 { + if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14972, uintptr(0), uintptr(0)) != 0 { return } v = _sqlite3GetVdbe(tls, pParse) @@ -104286,9 +104754,9 @@ func _sqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { _ = libc.Int32FromInt32(0) isRollback = libc.BoolInt32(eType == int32(TK_ROLLBACK)) if isRollback != 0 { - v1 = __ccgo_ts + 14885 + v1 = __ccgo_ts + 14978 } else { - v1 = __ccgo_ts + 14894 + v1 = __ccgo_ts + 14987 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), v1, uintptr(0), uintptr(0)) != 0 { return @@ -104321,9 +104789,9 @@ func _sqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } var _az = [3]uintptr{ - 0: __ccgo_ts + 14879, - 1: __ccgo_ts + 14901, - 2: __ccgo_ts + 14885, + 0: __ccgo_ts + 14972, + 1: __ccgo_ts + 14994, + 2: __ccgo_ts + 14978, } // C documentation @@ -104343,7 +104811,7 @@ func _sqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) (r int32) { if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt == uintptr(0) && !((*TParse)(unsafe.Pointer(pParse)).Fexplain != 0) { rc = _sqlite3BtreeOpen(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp, 0, _flags) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14909, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15002, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = rc return int32(1) } @@ -104534,7 +105002,7 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable _sqlite3StrAccumInit(tls, bp, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136))) if (*TIndex)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+14979, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15072, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) } else { j = 0 for { @@ -104544,10 +105012,10 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx _ = libc.Int32FromInt32(0) zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*16))).FzCnName if j != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+14990, int32(2)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+15083, int32(2)) } Xsqlite3_str_appendall(tls, bp, (*TTable)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp, __ccgo_ts+1661, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+1675, int32(1)) Xsqlite3_str_appendall(tls, bp, zCol) goto _1 _1: @@ -104576,10 +105044,10 @@ func _sqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr _, _ = rc, zMsg if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12381, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12506, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(6)< libc.BoolInt32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15109, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15202, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } return 0 } @@ -105708,11 +106176,11 @@ func _sqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger ui bp := tls.Alloc(16) defer tls.Free(16) if _tabIsReadOnly(tls, pParse, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15142, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15235, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && (pTrigger == uintptr(0) || (*TTrigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 && (*TTrigger)(unsafe.Pointer(pTrigger)).FpNext == uintptr(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15171, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15264, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -106137,7 +106605,7 @@ func _sqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** invoke the callback function. */ if memCnt != 0 { - _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15209) + _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15302) } goto delete_from_cleanup delete_from_cleanup: @@ -106286,7 +106754,7 @@ func _sqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri v3 = 0 } _sqlite3VdbeAddOp2(tls, v, int32(OP_Delete), iDataCur, v3) - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11582) { + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11707) { _sqlite3VdbeAppendP4(tls, v, pTab, -int32(5)) } if int32(eMode) != ONEPASS_OFF { @@ -106604,11 +107072,11 @@ func _typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } var _azType2 = [5]uintptr{ - 0: __ccgo_ts + 6306, - 1: __ccgo_ts + 6301, - 2: __ccgo_ts + 8197, - 3: __ccgo_ts + 8192, - 4: __ccgo_ts + 1634, + 0: __ccgo_ts + 6370, + 1: __ccgo_ts + 6365, + 2: __ccgo_ts + 8322, + 3: __ccgo_ts + 8317, + 4: __ccgo_ts + 1648, } // C documentation @@ -106725,7 +107193,7 @@ func _absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* IMP: R-31676-45509 If X is the integer -9223372036854775808 ** then abs(X) throws an integer overflow error since there is no ** equivalent positive 64-bit two complement value. */ - Xsqlite3_result_error(tls, context, __ccgo_ts+15222, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15315, -int32(1)) return } iVal = -iVal @@ -107044,7 +107512,7 @@ func _roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } *(*float64)(unsafe.Pointer(bp)) = float64(int64(*(*float64)(unsafe.Pointer(bp)) + v1)) } else { - zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15239, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) + zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15332, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -107628,7 +108096,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { */ nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer(db + 136 + 8*4)) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15245, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15338, -int32(1)) return } if argc == int32(3) { @@ -107640,7 +108108,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { return } if _sqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), -int32(1)) != int32(1) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15278, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15371, -int32(1)) return } escape = _sqlite3Utf8Read(tls, bp+8) @@ -107722,7 +108190,7 @@ func _errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { defer tls.Free(16) _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // C documentation @@ -107812,17 +108280,17 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_FLOAT): r1 = Xsqlite3_value_double(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15323, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15416, libc.VaList(bp+16, r1)) zVal = Xsqlite3_str_value(tls, pStr) if zVal != 0 { _sqlite3AtoF(tls, zVal, bp, int32((*TStrAccum)(unsafe.Pointer(pStr)).FnChar), uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp)) { Xsqlite3_str_reset(tls, pStr) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15331, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15424, libc.VaList(bp+16, r1)) } } case int32(SQLITE_INTEGER): - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1404, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1423, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) case int32(SQLITE_BLOB): zBlob = Xsqlite3_value_blob(tls, pValue) nBlob = int64(Xsqlite3_value_bytes(tls, pValue)) @@ -107850,10 +108318,10 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { } case int32(SQLITE_TEXT): zArg = Xsqlite3_value_text(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15339, libc.VaList(bp+16, zArg)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15432, libc.VaList(bp+16, zArg)) default: _ = libc.Int32FromInt32(0) - Xsqlite3_str_append(tls, pStr, __ccgo_ts+1649, int32(4)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+1663, int32(4)) break } } @@ -108092,7 +108560,7 @@ func _unhexFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { var v3 uint32 var _ /* zHex at bp+0 */ uintptr _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ch, d, nHex, nPass, p, pBlob, zPass, v1, v2, v3, v4, v5, v6 - zPass = __ccgo_ts + 1648 + zPass = __ccgo_ts + 1662 nPass = 0 *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) nHex = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -108418,7 +108886,7 @@ var _lenOne = [1]uint32{ } var _azOne = [1]uintptr{ - 0: __ccgo_ts + 11202, + 0: __ccgo_ts + 11327, } // C documentation @@ -108487,7 +108955,7 @@ func _concatFuncCore(tls *libc.TLS, context uintptr, argc int32, argv uintptr, n // ** concatentation of all non-null arguments. // */ func _concatFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1648) + _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1662) } // C documentation @@ -108534,7 +109002,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { _ = libc.Int32FromInt32(0) zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = __ccgo_ts + 1648 + zIn = __ccgo_ts + 1662 } i = 0 for { @@ -108580,7 +109048,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { /* IMP: R-64894-50321 The string "?000" is returned if the argument ** is NULL or contains no ASCII alphabetic characters. */ - Xsqlite3_result_text(tls, context, __ccgo_ts+15342, int32(4), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, context, __ccgo_ts+15435, int32(4), libc.UintptrFromInt32(0)) } } @@ -108641,7 +109109,7 @@ func _loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { ** flag is set. See the sqlite3_enable_load_extension() API. */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_LoadExtFunc) == uint64(0) { - Xsqlite3_result_error(tls, context, __ccgo_ts+12420, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+12545, -int32(1)) return } if argc == int32(2) { @@ -108833,7 +109301,7 @@ func _sumFinalize(tls *libc.TLS, context uintptr) { if p != 0 && (*TSumCtx)(unsafe.Pointer(p)).Fcnt > 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fapprox != 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fovrfl != 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+15222, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15315, -int32(1)) } else { if !(_sqlite3IsOverflow(tls, (*TSumCtx)(unsafe.Pointer(p)).FrErr) != 0) { Xsqlite3_result_double(tls, context, (*TSumCtx)(unsafe.Pointer(p)).FrSum+(*TSumCtx)(unsafe.Pointer(p)).FrErr) @@ -109179,7 +109647,7 @@ func _groupConcatValue(tls *libc.TLS, context uintptr) { func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { var rc int32 _ = rc - rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15347, int32(2)) + rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15440, int32(2)) _ = libc.Int32FromInt32(0) if rc == int32(SQLITE_NOMEM) { _sqlite3OomFault(tls, db) @@ -109209,8 +109677,8 @@ func _sqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 if !(nArg <= int32(3)) { break } - _sqlite3CreateFunc(tls, db, __ccgo_ts+15353, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15353, nArg, uint8(SQLITE_UTF8), uint8(0)) + _sqlite3CreateFunc(tls, db, __ccgo_ts+15446, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15446, nArg, uint8(SQLITE_UTF8), uint8(0)) *(*Tu32)(unsafe.Pointer(pDef + 4)) |= uint32(flags) *(*Tu32)(unsafe.Pointer(pDef + 4)) &= uint32(^libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)) goto _1 @@ -109530,562 +109998,562 @@ var _aBuiltinFunc = [110]TFuncDef{ FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_implies_nonnull_row))), - FzName: __ccgo_ts + 15358, + FzName: __ccgo_ts + 15451, }, 1: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_compare))), - FzName: __ccgo_ts + 15378, + FzName: __ccgo_ts + 15471, }, 2: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_implies_expr))), - FzName: __ccgo_ts + 15391, + FzName: __ccgo_ts + 15484, }, 3: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_affinity))), - FzName: __ccgo_ts + 15409, + FzName: __ccgo_ts + 15502, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15418, + FzName: __ccgo_ts + 15511, }, 5: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15426, + FzName: __ccgo_ts + 15519, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15426, + FzName: __ccgo_ts + 15519, }, 7: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15441, + FzName: __ccgo_ts + 15534, }, 8: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15467, + FzName: __ccgo_ts + 15560, }, 9: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15492, + FzName: __ccgo_ts + 15585, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15501, + FzName: __ccgo_ts + 15594, }, 11: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15512, + FzName: __ccgo_ts + 15605, }, 12: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_sqlite_offset))), - FzName: __ccgo_ts + 15519, + FzName: __ccgo_ts + 15612, }, 13: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15533, + FzName: __ccgo_ts + 15626, }, 14: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15533, + FzName: __ccgo_ts + 15626, }, 15: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15539, + FzName: __ccgo_ts + 15632, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15539, + FzName: __ccgo_ts + 15632, }, 17: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15545, + FzName: __ccgo_ts + 15638, }, 18: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15545, + FzName: __ccgo_ts + 15638, }, 19: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15550, + FzName: __ccgo_ts + 15643, }, 20: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15550, + FzName: __ccgo_ts + 15643, }, 21: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15550, + FzName: __ccgo_ts + 15643, }, 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 23: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 24: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 25: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15558, + FzName: __ccgo_ts + 15651, }, 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15565, + FzName: __ccgo_ts + 15658, }, 27: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_LENGTH)), - FzName: __ccgo_ts + 15573, + FzName: __ccgo_ts + 15666, }, 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_BYTELEN)), - FzName: __ccgo_ts + 15580, + FzName: __ccgo_ts + 15673, }, 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15593, + FzName: __ccgo_ts + 15686, }, 30: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15599, + FzName: __ccgo_ts + 15692, }, 31: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15606, + FzName: __ccgo_ts + 15699, }, 32: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15613, + FzName: __ccgo_ts + 15706, }, 33: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15621, + FzName: __ccgo_ts + 15714, }, 34: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15626, + FzName: __ccgo_ts + 15719, }, 35: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15630, + FzName: __ccgo_ts + 15723, }, 36: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15630, + FzName: __ccgo_ts + 15723, }, 37: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15636, + FzName: __ccgo_ts + 15729, }, 38: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15642, + FzName: __ccgo_ts + 15735, }, 39: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15648, + FzName: __ccgo_ts + 15741, }, 40: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15652, + FzName: __ccgo_ts + 15745, }, 41: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15652, + FzName: __ccgo_ts + 15745, }, 42: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15658, + FzName: __ccgo_ts + 15751, }, 43: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15658, + FzName: __ccgo_ts + 15751, }, 44: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15665, + FzName: __ccgo_ts + 15758, }, 45: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15665, + FzName: __ccgo_ts + 15758, }, 46: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15665, + FzName: __ccgo_ts + 15758, }, 47: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15675, + FzName: __ccgo_ts + 15768, }, 48: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15682, + FzName: __ccgo_ts + 15775, }, 49: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15689, + FzName: __ccgo_ts + 15782, }, 50: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15700, + FzName: __ccgo_ts + 15793, }, 51: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15707, + FzName: __ccgo_ts + 15800, }, 52: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15722, + FzName: __ccgo_ts + 15815, }, 53: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15739, + FzName: __ccgo_ts + 15832, }, 54: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15750, + FzName: __ccgo_ts + 15843, }, 55: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15756, + FzName: __ccgo_ts + 15849, }, 56: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15774, + FzName: __ccgo_ts + 15867, }, 57: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15782, + FzName: __ccgo_ts + 15875, }, 58: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15796, + FzName: __ccgo_ts + 15889, }, 59: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15804, + FzName: __ccgo_ts + 15897, }, 60: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15813, + FzName: __ccgo_ts + 15906, }, 61: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15813, + FzName: __ccgo_ts + 15906, }, 62: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15820, + FzName: __ccgo_ts + 15913, }, 63: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15820, + FzName: __ccgo_ts + 15913, }, 64: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15830, + FzName: __ccgo_ts + 15923, }, 65: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15834, + FzName: __ccgo_ts + 15927, }, 66: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15840, + FzName: __ccgo_ts + 15933, }, 67: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_COUNT) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15844, + FzName: __ccgo_ts + 15937, }, 68: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15844, + FzName: __ccgo_ts + 15937, }, 69: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15850, + FzName: __ccgo_ts + 15943, }, 70: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15850, + FzName: __ccgo_ts + 15943, }, 71: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15863, + FzName: __ccgo_ts + 15956, }, 72: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE) | libc.Int32FromInt32(SQLITE_FUNC_CASE)), FpUserData: uintptr(unsafe.Pointer(&_globInfo)), - FzName: __ccgo_ts + 15874, + FzName: __ccgo_ts + 15967, }, 73: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15353, + FzName: __ccgo_ts + 15446, }, 74: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15353, + FzName: __ccgo_ts + 15446, }, 75: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6730, + FzName: __ccgo_ts + 6794, }, 76: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6730, + FzName: __ccgo_ts + 6794, }, 77: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15879, + FzName: __ccgo_ts + 15972, }, 78: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15884, + FzName: __ccgo_ts + 1235, }, 79: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15892, + FzName: __ccgo_ts + 1243, }, 80: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15898, + FzName: __ccgo_ts + 15977, }, 81: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15904, + FzName: __ccgo_ts + 15983, }, 82: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15907, + FzName: __ccgo_ts + 15986, }, 83: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15911, + FzName: __ccgo_ts + 15990, }, 84: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15917, + FzName: __ccgo_ts + 15996, }, 85: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15907, + FzName: __ccgo_ts + 15986, }, 86: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15922, + FzName: __ccgo_ts + 16001, }, 87: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15926, + FzName: __ccgo_ts + 16005, }, 88: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15930, + FzName: __ccgo_ts + 16009, }, 89: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15936, + FzName: __ccgo_ts + 16015, }, 90: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15940, + FzName: __ccgo_ts + 16019, }, 91: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15945, + FzName: __ccgo_ts + 16024, }, 92: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15950, + FzName: __ccgo_ts + 16029, }, 93: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15955, + FzName: __ccgo_ts + 16034, }, 94: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15961, + FzName: __ccgo_ts + 16040, }, 95: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15965, + FzName: __ccgo_ts + 16044, }, 96: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15969, + FzName: __ccgo_ts + 16048, }, 97: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15973, + FzName: __ccgo_ts + 16052, }, 98: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15978, + FzName: __ccgo_ts + 16057, }, 99: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15983, + FzName: __ccgo_ts + 16062, }, 100: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15988, + FzName: __ccgo_ts + 16067, }, 101: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15994, + FzName: __ccgo_ts + 16073, }, 102: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16000, + FzName: __ccgo_ts + 16079, }, 103: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16006, + FzName: __ccgo_ts + 16085, }, 104: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16011, + FzName: __ccgo_ts + 16090, }, 105: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16019, + FzName: __ccgo_ts + 16098, }, 106: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16027, + FzName: __ccgo_ts + 16106, }, 107: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16030, + FzName: __ccgo_ts + 16109, }, 108: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 6730, + FzName: __ccgo_ts + 6794, }, 109: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_iif))), - FzName: __ccgo_ts + 16035, + FzName: __ccgo_ts + 16114, }, } @@ -110566,7 +111034,7 @@ func _sqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey } if !(pIdx != 0) { if !((*TParse)(unsafe.Pointer(pParse)).FdisableTriggers != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16039, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16118, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) } _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, aiCol) return int32(1) @@ -111698,11 +112166,11 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr break } *(*TToken)(unsafe.Pointer(bp + 16)) = TToken{ - Fz: __ccgo_ts + 6596, + Fz: __ccgo_ts + 6660, Fn: uint32(3), } /* Literal "old" token */ *(*TToken)(unsafe.Pointer(bp + 32)) = TToken{ - Fz: __ccgo_ts + 6592, + Fz: __ccgo_ts + 6656, Fn: uint32(3), } /* tFromCol = OLD.tToCol */ if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { @@ -111769,7 +112237,7 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr nFrom = _sqlite3Strlen30(tls, zFrom) if action == int32(OE_Restrict) { iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5225) + pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5289) if pRaise != 0 { (*TExpr)(unsafe.Pointer(pRaise)).FaffExpr = uint8(OE_Abort) } @@ -112377,7 +112845,7 @@ func _sqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8162, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8287, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) } (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -112644,6 +113112,226 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { } } +// C documentation +// +// /* +// ** If argument pVal is a Select object returned by an sqlite3MultiValues() +// ** that was able to use the co-routine optimization, finish coding the +// ** co-routine. +// */ +func _sqlite3MultiValuesEnd(tls *libc.TLS, pParse uintptr, pVal uintptr) { + var pItem uintptr + _ = pItem + if pVal != 0 && (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pVal)).FpSrc)).FnSrc > 0 { + pItem = (*TSelect)(unsafe.Pointer(pVal)).FpSrc + 8 + _sqlite3VdbeEndCoroutine(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn) + _sqlite3VdbeJumpHere(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FaddrFillSub-int32(1)) + } +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are constant. +// */ +func _exprListIsConstant(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + if 0 == _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are both constant and have no affinity. +// */ +func _exprListIsNoAffinity(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + var pExpr uintptr + _, _ = ii, pExpr + if _exprListIsConstant(tls, pParse, pRow) == 0 { + return 0 + } + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + pExpr = (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if 0 != int32(_sqlite3ExprAffinity(tls, pExpr)) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** This function is called by the parser for the second and subsequent +// ** rows of a multi-row VALUES clause. Argument pLeft is the part of +// ** the VALUES clause already parsed, argument pRow is the vector of values +// ** for the new row. The Select object returned represents the complete +// ** VALUES clause, including the new row. +// ** +// ** There are two ways in which this may be achieved - by incremental +// ** coding of a co-routine (the "co-routine" method) or by returning a +// ** Select object equivalent to the following (the "UNION ALL" method): +// ** +// ** "pLeft UNION ALL SELECT pRow" +// ** +// ** If the VALUES clause contains a lot of rows, this compound Select +// ** object may consume a lot of memory. +// ** +// ** When the co-routine method is used, each row that will be returned +// ** by the VALUES clause is coded into part of a co-routine as it is +// ** passed to this function. The returned Select object is equivalent to: +// ** +// ** SELECT * FROM ( +// ** Select object to read co-routine +// ** ) +// ** +// ** The co-routine method is used in most cases. Exceptions are: +// ** +// ** a) If the current statement has a WITH clause. This is to avoid +// ** statements like: +// ** +// ** WITH cte AS ( VALUES('x'), ('y') ... ) +// ** SELECT * FROM cte AS a, cte AS b; +// ** +// ** This will not work, as the co-routine uses a hard-coded register +// ** for its OP_Yield instructions, and so it is not possible for two +// ** cursors to iterate through it concurrently. +// ** +// ** b) The schema is currently being parsed (i.e. the VALUES clause is part +// ** of a schema item like a VIEW or TRIGGER). In this case there is no VM +// ** being generated when parsing is taking place, and so generating +// ** a co-routine is not possible. +// ** +// ** c) There are non-constant expressions in the VALUES clause (e.g. +// ** the VALUES clause is part of a correlated sub-query). +// ** +// ** d) One or more of the values in the first row of the VALUES clause +// ** has an affinity (i.e. is a CAST expression). This causes problems +// ** because the complex rules SQLite uses (see function +// ** sqlite3SubqueryColumnTypes() in select.c) to determine the effective +// ** affinity of such a column for all rows require access to all values in +// ** the column simultaneously. +// */ +func _sqlite3MultiValues(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRow uintptr) (r uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var f, v1 int32 + var p, pRet, pSelect, v, v2 uintptr + var _ /* dest at bp+0 */ TSelectDest + _, _, _, _, _, _, _ = f, p, pRet, pSelect, v, v1, v2 + if (*TParse)(unsafe.Pointer(pParse)).FbHasWith != 0 || (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy != 0 || _exprListIsConstant(tls, pParse, pRow) == 0 || (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 && _exprListIsNoAffinity(tls, pParse, (*TSelect)(unsafe.Pointer(pLeft)).FpEList) == 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { + /* The co-routine method cannot be used. Fall back to UNION ALL. */ + pSelect = uintptr(0) + f = libc.Int32FromInt32(SF_Values) | libc.Int32FromInt32(SF_MultiValue) + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc != 0 { + _sqlite3MultiValuesEnd(tls, pParse, pLeft) + f = int32(SF_Values) + } else { + if (*TSelect)(unsafe.Pointer(pLeft)).FpPrior != 0 { + /* In this case set the SF_MultiValue flag only if it was set on pLeft */ + f = int32(uint32(f) & (*TSelect)(unsafe.Pointer(pLeft)).FselFlags) + } + } + pSelect = _sqlite3SelectNew(tls, pParse, pRow, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(f), uintptr(0)) + *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) + if pSelect != 0 { + (*TSelect)(unsafe.Pointer(pSelect)).Fop = uint8(TK_ALL) + (*TSelect)(unsafe.Pointer(pSelect)).FpPrior = pLeft + pLeft = pSelect + } + } else { + p = uintptr(0) /* SrcItem that reads from co-routine */ + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 { + /* Co-routine has not yet been started and the special Select object + ** that accesses the co-routine has not yet been created. This block + ** does both those things. */ + v = _sqlite3GetVdbe(tls, pParse) + pRet = _sqlite3SelectNew(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) + /* Ensure the database schema has been read. This is to ensure we have + ** the correct text encoding. */ + if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmDbFlags&uint32(DBFLAG_SchemaKnownOk) == uint32(0) { + _sqlite3ReadSchema(tls, pParse) + } + if pRet != 0 { + (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pRet)).FpSrc)).FnSrc = int32(1) + (*TSelect)(unsafe.Pointer(pRet)).FpPrior = (*TSelect)(unsafe.Pointer(pLeft)).FpPrior + (*TSelect)(unsafe.Pointer(pRet)).Fop = (*TSelect)(unsafe.Pointer(pLeft)).Fop + (*TSelect)(unsafe.Pointer(pLeft)).FpPrior = uintptr(0) + (*TSelect)(unsafe.Pointer(pLeft)).Fop = uint8(TK_SELECT) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + p = (*TSelect)(unsafe.Pointer(pRet)).FpSrc + 8 + (*TSrcItem)(unsafe.Pointer(p)).FpSelect = pLeft + libc.SetBitFieldPtr16Uint32(p+60+4, libc.Uint32FromInt32(1), 5, 0x20) + (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + v2 = pParse + 56 + *(*int32)(unsafe.Pointer(v2))++ + v1 = *(*int32)(unsafe.Pointer(v2)) + (*TSrcItem)(unsafe.Pointer(p)).FregReturn = v1 + (*TSrcItem)(unsafe.Pointer(p)).FiCursor = -int32(1) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1)) = uint32(2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn, 0, (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub) + _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + /* Allocate registers for the output of the co-routine. Do so so + ** that there are two unused registers immediately before those + ** used by the co-routine. This allows the code in sqlite3Insert() + ** to use these registers directly, instead of copying the output + ** of the co-routine to a separate array for processing. */ + (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(3) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpEList)).FnExpr + *(*int32)(unsafe.Pointer(pParse + 56)) += int32(2) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst + *(*Tu32)(unsafe.Pointer(pLeft + 4)) |= uint32(SF_MultiValue) + _sqlite3Select(tls, pParse, pLeft, bp) + (*TSrcItem)(unsafe.Pointer(p)).FregResult = (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst + _ = libc.Int32FromInt32(0) + pLeft = pRet + } + } else { + p = (*TSelect)(unsafe.Pointer(pLeft)).FpSrc + 8 + _ = libc.Int32FromInt32(0) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1))++ + } + if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { + _ = libc.Int32FromInt32(0) + if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p)).FpSelect)).FpEList)).FnExpr != (*TExprList)(unsafe.Pointer(pRow)).FnExpr { + _sqlite3SelectWrongNumTermsError(tls, pParse, (*TSrcItem)(unsafe.Pointer(p)).FpSelect) + } else { + _sqlite3ExprCodeExprList(tls, pParse, pRow, (*TSrcItem)(unsafe.Pointer(p)).FregResult, 0, uint8(0)) + _sqlite3VdbeAddOp1(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Yield), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + } + } + _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pRow) + } + return pLeft +} + // C documentation // // /* @@ -112746,27 +113434,27 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { bp := tls.Alloc(160) defer tls.Free(160) - var aRegIdx, db, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, v, v13, v16, v18, v6, v9 uintptr - var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v12, v15, v17, v19, v23, v24, v5, v7, v8 int32 + var aRegIdx, db, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, v, v10, v14, v17, v19, v7 uintptr + var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v13, v16, v18, v20, v24, v25, v5, v6, v8, v9 int32 var appendFlag, bIdListInOrder, useTempTable, withoutRowid Tu8 - var colFlags, v21 Tu32 + var colFlags, v22 Tu32 var _ /* dest at bp+8 */ TSelectDest var _ /* iDataCur at bp+0 */ int32 var _ /* iIdxCur at bp+4 */ int32 var _ /* isReplace at bp+112 */ int32 var _ /* sNC at bp+56 */ TNameContext var _ /* tmask at bp+48 */ int32 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v12, v13, v15, v16, v17, v18, v19, v21, v23, v24, v5, v6, v7, v8, v9 /* Number of columns in the data */ - nHidden = 0 /* Number of hidden columns if TABLE is virtual */ - *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ - *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ - ipkColumn = -int32(1) /* Label for the end of the insertion loop */ - srcTab = 0 /* Data comes from this temporary cursor if >=0 */ - addrInsTop = 0 /* Jump to label "D" */ - addrCont = 0 /* Index of database holding TABLE */ - useTempTable = uint8(0) /* Store SELECT results in intermediate table */ - appendFlag = uint8(0) /* True if IDLIST is in table order */ - pList = uintptr(0) /* Register in which to store next column */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v10, v13, v14, v16, v17, v18, v19, v20, v22, v24, v25, v5, v6, v7, v8, v9 /* Number of columns in the data */ + nHidden = 0 /* Number of hidden columns if TABLE is virtual */ + *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ + *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ + ipkColumn = -int32(1) /* Label for the end of the insertion loop */ + srcTab = 0 /* Data comes from this temporary cursor if >=0 */ + addrInsTop = 0 /* Jump to label "D" */ + addrCont = 0 /* Index of database holding TABLE */ + useTempTable = uint8(0) /* Store SELECT results in intermediate table */ + appendFlag = uint8(0) /* True if IDLIST is in table order */ + pList = uintptr(0) /* Register in which to store next column */ /* Register allocations */ regFromSelect = 0 /* Base register for data coming from SELECT */ regAutoinc = 0 /* Register holding the AUTOINCREMENT counter */ @@ -112913,7 +113601,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _ = libc.Int32FromInt32(0) } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_STORED)|libc.Int32FromInt32(COLFLAG_VIRTUAL)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16084, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16163, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto insert_cleanup } break @@ -112928,7 +113616,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i bIdListInOrder = uint8(0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16125, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16204, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto insert_cleanup } @@ -112945,31 +113633,49 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** co-routine is the common header to the 3rd and 4th templates. */ if pSelect != 0 { /* Result code */ - v6 = pParse + 56 - *(*int32)(unsafe.Pointer(v6))++ - v5 = *(*int32)(unsafe.Pointer(v6)) - regYield = v5 - addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) - _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) - _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) - if bIdListInOrder != 0 { - v7 = regData + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc)).FnSrc == int32(1) && int32(uint32(*(*uint16)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + 60 + 4))&0x20>>5)) != 0 && (*TSelect)(unsafe.Pointer(pSelect)).FpPrior == uintptr(0) { + pItem = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSDParm = (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn + regFromSelect = (*TSrcItem)(unsafe.Pointer(pItem)).FregResult + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FpEList)).FnExpr + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+16236, libc.VaList(bp+128, pItem)) + if bIdListInOrder != 0 && nColumn == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { + regData = regFromSelect + regRowid = regData - int32(1) + if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { + v5 = int32(1) + } else { + v5 = 0 + } + regIns = regRowid - v5 + } } else { - v7 = 0 - } - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v7 - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) - rc = _sqlite3Select(tls, pParse, pSelect, bp+8) - regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst - _ = libc.Int32FromInt32(0) - if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { - goto insert_cleanup + v7 = pParse + 56 + *(*int32)(unsafe.Pointer(v7))++ + v6 = *(*int32)(unsafe.Pointer(v7)) /* Top of the co-routine */ + regYield = v6 + addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) + _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) + if bIdListInOrder != 0 { + v8 = regData + } else { + v8 = 0 + } + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) + rc = _sqlite3Select(tls, pParse, pSelect, bp+8) + regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst + _ = libc.Int32FromInt32(0) + if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { + goto insert_cleanup + } + _ = libc.Int32FromInt32(0) + _sqlite3VdbeEndCoroutine(tls, v, regYield) + _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ + _ = libc.Int32FromInt32(0) + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr } - _ = libc.Int32FromInt32(0) - _sqlite3VdbeEndCoroutine(tls, v, regYield) - _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ - _ = libc.Int32FromInt32(0) - nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr /* Set useTempTable to TRUE if the result of the SELECT statement ** should be written into a temporary table (template 4). Set to ** FALSE if each output row of the SELECT can be written directly into @@ -112983,10 +113689,10 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin useTempTable = uint8(1) } if useTempTable != 0 { /* Label "L" */ - v9 = pParse + 52 - v8 = *(*int32)(unsafe.Pointer(v9)) - *(*int32)(unsafe.Pointer(v9))++ - srcTab = v8 + v10 = pParse + 52 + v9 = *(*int32)(unsafe.Pointer(v10)) + *(*int32)(unsafe.Pointer(v10))++ + srcTab = v9 regRec = _sqlite3GetTempReg(tls, pParse) regTempRowid = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp2(tls, v, int32(OP_OpenEphemeral), srcTab, nColumn) @@ -113028,8 +113734,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { ipkColumn-- } - goto _10 - _10: + goto _11 + _11: ; i-- } @@ -113049,28 +113755,28 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_NOINSERT) != 0 { nHidden++ } - goto _11 - _11: + goto _12 + _12: ; i++ } } if nColumn != int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16157, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16244, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) goto insert_cleanup } } if pColumn != uintptr(0) && nColumn != (*TIdList)(unsafe.Pointer(pColumn)).FnId { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16209, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16296, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup } /* Initialize the count of rows to be inserted */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&(uint64(libc.Int32FromInt32(0x00001))<= 0 { /* tag-20191021-001: If the INTEGER PRIMARY KEY is being generated by the ** SELECT, go ahead and copy the value into the rowid slot now, so that @@ -113186,18 +113892,18 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** using excess space. The file format definition requires this extra ** NULL - we cannot optimize further by skipping the column completely */ _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) - goto _20 + goto _21 } - v21 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) - colFlags = v21 - if v21&uint32(COLFLAG_NOINSERT) != uint32(0) { + v22 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) + colFlags = v22 + if v22&uint32(COLFLAG_NOINSERT) != uint32(0) { nHidden++ if colFlags&uint32(COLFLAG_VIRTUAL) != uint32(0) { /* Virtual columns do not participate in OP_MakeRecord. So back up ** iRegStore by one slot to compensate for the iRegStore++ in the ** outer for() loop */ iRegStore-- - goto _20 + goto _21 } else { if colFlags&uint32(COLFLAG_STORED) != uint32(0) { /* Stored columns are computed later. But if there are BEFORE @@ -113207,13 +113913,13 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if *(*int32)(unsafe.Pointer(bp + 48))&int32(TRIGGER_BEFORE) != 0 { _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) } - goto _20 + goto _21 } else { if pColumn == uintptr(0) { /* Hidden columns that are not explicitly named in the INSERT ** get there default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } } } @@ -113225,8 +113931,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if !(j < (*TIdList)(unsafe.Pointer(pColumn)).FnId && *(*int32)(unsafe.Pointer(pColumn + 8 + uintptr(j)*16 + 8)) != i) { break } - goto _22 - _22: + goto _23 + _23: ; j++ } @@ -113234,14 +113940,14 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin /* A column not named in the insert column list gets its ** default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } k = j } else { if nColumn == 0 { /* This is INSERT INTO ... DEFAULT VALUES. Load the default value. */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } else { k = i - nHidden } @@ -113258,16 +113964,16 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin y = _sqlite3ExprCodeTarget(tls, pParse, pX, iRegStore) if y != iRegStore { if (*TExpr)(unsafe.Pointer(pX)).Fflags&uint32(libc.Int32FromInt32(EP_Subquery)) != uint32(0) { - v23 = int32(OP_Copy) + v24 = int32(OP_Copy) } else { - v23 = int32(OP_SCopy) + v24 = int32(OP_SCopy) } - _sqlite3VdbeAddOp2(tls, v, v23, y, iRegStore) + _sqlite3VdbeAddOp2(tls, v, v24, y, iRegStore) } } } - goto _20 - _20: + goto _21 + _21: ; i++ iRegStore++ @@ -113380,11 +114086,11 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _sqlite3VtabMakeWritable(tls, pParse, pTab) _sqlite3VdbeAddOp4(tls, v, int32(OP_VUpdate), int32(1), int32((*TTable)(unsafe.Pointer(pTab)).FnCol)+int32(2), regIns, pVTab, -int32(11)) if onError == int32(OE_Default) { - v24 = int32(OE_Abort) + v25 = int32(OE_Abort) } else { - v24 = onError + v25 = onError } - _sqlite3VdbeChangeP5(tls, v, uint16(v24)) + _sqlite3VdbeChangeP5(tls, v, uint16(v25)) _sqlite3MayAbort(tls, pParse) } else { *(*int32)(unsafe.Pointer(bp + 112)) = 0 /* True to use OPFLAG_SEEKRESULT */ @@ -113443,7 +114149,7 @@ insert_end: ** invoke the callback function. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16301) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16388) } goto insert_cleanup insert_cleanup: @@ -113842,7 +114548,7 @@ func _sqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case int32(OE_Rollback): fallthrough case int32(OE_Fail): - zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12381, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12506, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) _sqlite3VdbeAddOp3(tls, v, int32(OP_HaltIfNull), libc.Int32FromInt32(SQLITE_CONSTRAINT)|libc.Int32FromInt32(5)<= 0 && !(int32(*(*uint8)(unsafe.Pointer(zFile + uintptr(iFile)))) == libc.Int32FromUint8('/'))) { @@ -116118,7 +116824,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp iFile-- } iFile++ - if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16350, int32(3)) == 0 { + if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16437, int32(3)) == 0 { iFile += int32(3) } iEntry = int32(8) @@ -116138,7 +116844,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp ; iFile++ } - libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16354, uint64(6)) + libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16441, uint64(6)) zEntry = zAltEntry xInit = _sqlite3OsDlSym(tls, pVfs, handle, zEntry) } @@ -116150,7 +116856,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v7 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16360, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16447, libc.VaList(bp+16, zEntry, zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116165,7 +116871,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp return SQLITE_OK } if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16403, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16490, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3OsDlClose(tls, pVfs, handle) @@ -116196,7 +116902,7 @@ extension_not_found: *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v10 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16435, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16522, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116205,7 +116911,7 @@ extension_not_found: /* Shared library endings to try if zFile cannot be loaded as written */ var _azEndings = [1]uintptr{ - 0: __ccgo_ts + 16315, + 0: __ccgo_ts + 16402, } func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) (r int32) { @@ -116440,7 +117146,7 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { rc = v2 } if v3 && v2 != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16472, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16559, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -116494,63 +117200,63 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { // ** result column is different from the name of the pragma // */ var _pragCName = [57]uintptr{ - 0: __ccgo_ts + 5481, - 1: __ccgo_ts + 16511, - 2: __ccgo_ts + 9058, - 3: __ccgo_ts + 16515, - 4: __ccgo_ts + 16520, - 5: __ccgo_ts + 16523, - 6: __ccgo_ts + 16533, - 7: __ccgo_ts + 16543, - 8: __ccgo_ts + 16549, - 9: __ccgo_ts + 16553, - 10: __ccgo_ts + 16558, - 11: __ccgo_ts + 16563, - 12: __ccgo_ts + 16571, - 13: __ccgo_ts + 16582, - 14: __ccgo_ts + 16585, - 15: __ccgo_ts + 16592, - 16: __ccgo_ts + 16553, - 17: __ccgo_ts + 16558, - 18: __ccgo_ts + 16599, - 19: __ccgo_ts + 16604, - 20: __ccgo_ts + 16607, - 21: __ccgo_ts + 16614, - 22: __ccgo_ts + 16549, - 23: __ccgo_ts + 16553, - 24: __ccgo_ts + 16620, - 25: __ccgo_ts + 16625, - 26: __ccgo_ts + 16630, - 27: __ccgo_ts + 16553, - 28: __ccgo_ts + 16634, - 29: __ccgo_ts + 16558, - 30: __ccgo_ts + 16642, - 31: __ccgo_ts + 16646, - 32: __ccgo_ts + 16651, - 33: __ccgo_ts + 11797, - 34: __ccgo_ts + 11793, - 35: __ccgo_ts + 16657, - 36: __ccgo_ts + 16662, - 37: __ccgo_ts + 16667, - 38: __ccgo_ts + 16511, - 39: __ccgo_ts + 16553, - 40: __ccgo_ts + 16672, - 41: __ccgo_ts + 16679, - 42: __ccgo_ts + 16686, - 43: __ccgo_ts + 9058, - 44: __ccgo_ts + 16694, - 45: __ccgo_ts + 5484, - 46: __ccgo_ts + 16700, - 47: __ccgo_ts + 16511, - 48: __ccgo_ts + 16553, - 49: __ccgo_ts + 16705, - 50: __ccgo_ts + 16710, - 51: __ccgo_ts + 15907, - 52: __ccgo_ts + 16715, - 53: __ccgo_ts + 16728, - 54: __ccgo_ts + 16737, - 55: __ccgo_ts + 16744, - 56: __ccgo_ts + 16755, + 0: __ccgo_ts + 5545, + 1: __ccgo_ts + 16598, + 2: __ccgo_ts + 9183, + 3: __ccgo_ts + 16602, + 4: __ccgo_ts + 16607, + 5: __ccgo_ts + 16610, + 6: __ccgo_ts + 16620, + 7: __ccgo_ts + 16630, + 8: __ccgo_ts + 16636, + 9: __ccgo_ts + 16640, + 10: __ccgo_ts + 16645, + 11: __ccgo_ts + 16650, + 12: __ccgo_ts + 16658, + 13: __ccgo_ts + 16669, + 14: __ccgo_ts + 16672, + 15: __ccgo_ts + 16679, + 16: __ccgo_ts + 16640, + 17: __ccgo_ts + 16645, + 18: __ccgo_ts + 16686, + 19: __ccgo_ts + 16691, + 20: __ccgo_ts + 16694, + 21: __ccgo_ts + 16701, + 22: __ccgo_ts + 16636, + 23: __ccgo_ts + 16640, + 24: __ccgo_ts + 16707, + 25: __ccgo_ts + 16712, + 26: __ccgo_ts + 16717, + 27: __ccgo_ts + 16640, + 28: __ccgo_ts + 16721, + 29: __ccgo_ts + 16645, + 30: __ccgo_ts + 16729, + 31: __ccgo_ts + 16733, + 32: __ccgo_ts + 16738, + 33: __ccgo_ts + 11922, + 34: __ccgo_ts + 11918, + 35: __ccgo_ts + 16744, + 36: __ccgo_ts + 16749, + 37: __ccgo_ts + 16754, + 38: __ccgo_ts + 16598, + 39: __ccgo_ts + 16640, + 40: __ccgo_ts + 16759, + 41: __ccgo_ts + 16766, + 42: __ccgo_ts + 16773, + 43: __ccgo_ts + 9183, + 44: __ccgo_ts + 16781, + 45: __ccgo_ts + 5548, + 46: __ccgo_ts + 16787, + 47: __ccgo_ts + 16598, + 48: __ccgo_ts + 16640, + 49: __ccgo_ts + 16792, + 50: __ccgo_ts + 16797, + 51: __ccgo_ts + 15986, + 52: __ccgo_ts + 16802, + 53: __ccgo_ts + 16815, + 54: __ccgo_ts + 16824, + 55: __ccgo_ts + 16831, + 56: __ccgo_ts + 16842, } // C documentation @@ -116569,191 +117275,191 @@ type PragmaName = TPragmaName var _aPragmaName = [66]TPragmaName{ 0: { - FzName: __ccgo_ts + 16763, + FzName: __ccgo_ts + 16850, FePragTyp: uint8(PragTyp_ANALYSIS_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 1: { - FzName: __ccgo_ts + 16778, + FzName: __ccgo_ts + 16865, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_APPLICATION_ID), }, 2: { - FzName: __ccgo_ts + 16793, + FzName: __ccgo_ts + 16880, FePragTyp: uint8(PragTyp_AUTO_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 3: { - FzName: __ccgo_ts + 16805, + FzName: __ccgo_ts + 16892, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_AutoIndex), }, 4: { - FzName: __ccgo_ts + 16821, + FzName: __ccgo_ts + 16908, FePragTyp: uint8(PragTyp_BUSY_TIMEOUT), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(56), FnPragCName: uint8(1), }, 5: { - FzName: __ccgo_ts + 16744, + FzName: __ccgo_ts + 16831, FePragTyp: uint8(PragTyp_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 6: { - FzName: __ccgo_ts + 16834, + FzName: __ccgo_ts + 16921, FePragTyp: uint8(PragTyp_CACHE_SPILL), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 7: { - FzName: __ccgo_ts + 16846, + FzName: __ccgo_ts + 16933, FePragTyp: uint8(PragTyp_CASE_SENSITIVE_LIKE), FmPragFlg: uint8(PragFlg_NoColumns), }, 8: { - FzName: __ccgo_ts + 16866, + FzName: __ccgo_ts + 16953, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CellSizeCk), }, 9: { - FzName: __ccgo_ts + 16882, + FzName: __ccgo_ts + 16969, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CkptFullFSync), }, 10: { - FzName: __ccgo_ts + 16903, + FzName: __ccgo_ts + 16990, FePragTyp: uint8(PragTyp_COLLATION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(38), FnPragCName: uint8(2), }, 11: { - FzName: __ccgo_ts + 16918, + FzName: __ccgo_ts + 17005, FePragTyp: uint8(PragTyp_COMPILE_OPTIONS), FmPragFlg: uint8(PragFlg_Result0), }, 12: { - FzName: __ccgo_ts + 16934, + FzName: __ccgo_ts + 17021, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00001)) << libc.Int32FromInt32(32), }, 13: { - FzName: __ccgo_ts + 16948, + FzName: __ccgo_ts + 17035, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_DATA_VERSION), }, 14: { - FzName: __ccgo_ts + 16961, + FzName: __ccgo_ts + 17048, FePragTyp: uint8(PragTyp_DATABASE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(47), FnPragCName: uint8(3), }, 15: { - FzName: __ccgo_ts + 16975, + FzName: __ccgo_ts + 17062, FePragTyp: uint8(PragTyp_DEFAULT_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiPragCName: uint8(55), FnPragCName: uint8(1), }, 16: { - FzName: __ccgo_ts + 16994, + FzName: __ccgo_ts + 17081, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_DeferFKs), }, 17: { - FzName: __ccgo_ts + 17013, + FzName: __ccgo_ts + 17100, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_NullCallback), }, 18: { - FzName: __ccgo_ts + 17036, + FzName: __ccgo_ts + 17123, FePragTyp: uint8(PragTyp_ENCODING), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 19: { - FzName: __ccgo_ts + 17045, + FzName: __ccgo_ts + 17132, FePragTyp: uint8(PragTyp_FOREIGN_KEY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(43), FnPragCName: uint8(4), }, 20: { - FzName: __ccgo_ts + 17063, + FzName: __ccgo_ts + 17150, FePragTyp: uint8(PragTyp_FOREIGN_KEY_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FnPragCName: uint8(8), }, 21: { - FzName: __ccgo_ts + 17080, + FzName: __ccgo_ts + 17167, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ForeignKeys), }, 22: { - FzName: __ccgo_ts + 17093, + FzName: __ccgo_ts + 17180, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), }, 23: { - FzName: __ccgo_ts + 17108, + FzName: __ccgo_ts + 17195, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullColNames), }, 24: { - FzName: __ccgo_ts + 17126, + FzName: __ccgo_ts + 17213, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullFSync), }, 25: { - FzName: __ccgo_ts + 17136, + FzName: __ccgo_ts + 17223, FePragTyp: uint8(PragTyp_FUNCTION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(27), FnPragCName: uint8(6), }, 26: { - FzName: __ccgo_ts + 17150, + FzName: __ccgo_ts + 17237, FePragTyp: uint8(PragTyp_HARD_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 27: { - FzName: __ccgo_ts + 17166, + FzName: __ccgo_ts + 17253, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_IgnoreChecks), }, 28: { - FzName: __ccgo_ts + 17191, + FzName: __ccgo_ts + 17278, FePragTyp: uint8(PragTyp_INCREMENTAL_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_NoColumns)), }, 29: { - FzName: __ccgo_ts + 17210, + FzName: __ccgo_ts + 17297, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), FnPragCName: uint8(3), }, 30: { - FzName: __ccgo_ts + 17221, + FzName: __ccgo_ts + 17308, FePragTyp: uint8(PragTyp_INDEX_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(38), FnPragCName: uint8(5), }, 31: { - FzName: __ccgo_ts + 17232, + FzName: __ccgo_ts + 17319, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), @@ -116761,146 +117467,146 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 32: { - FzName: __ccgo_ts + 17244, + FzName: __ccgo_ts + 17331, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 33: { - FzName: __ccgo_ts + 17260, + FzName: __ccgo_ts + 17347, FePragTyp: uint8(PragTyp_JOURNAL_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 34: { - FzName: __ccgo_ts + 17273, + FzName: __ccgo_ts + 17360, FePragTyp: uint8(PragTyp_JOURNAL_SIZE_LIMIT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 35: { - FzName: __ccgo_ts + 17292, + FzName: __ccgo_ts + 17379, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_LegacyAlter), }, 36: { - FzName: __ccgo_ts + 17311, + FzName: __ccgo_ts + 17398, FePragTyp: uint8(PragTyp_LOCKING_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 37: { - FzName: __ccgo_ts + 17324, + FzName: __ccgo_ts + 17411, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 38: { - FzName: __ccgo_ts + 17339, + FzName: __ccgo_ts + 17426, FePragTyp: uint8(PragTyp_MMAP_SIZE), }, 39: { - FzName: __ccgo_ts + 17349, + FzName: __ccgo_ts + 17436, FePragTyp: uint8(PragTyp_MODULE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 40: { - FzName: __ccgo_ts + 17361, + FzName: __ccgo_ts + 17448, FePragTyp: uint8(PragTyp_OPTIMIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_NeedSchema)), }, 41: { - FzName: __ccgo_ts + 17370, + FzName: __ccgo_ts + 17457, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 42: { - FzName: __ccgo_ts + 17381, + FzName: __ccgo_ts + 17468, FePragTyp: uint8(PragTyp_PAGE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 43: { - FzName: __ccgo_ts + 17391, + FzName: __ccgo_ts + 17478, FePragTyp: uint8(PragTyp_PRAGMA_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 44: { - FzName: __ccgo_ts + 17403, + FzName: __ccgo_ts + 17490, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_QueryOnly), }, 45: { - FzName: __ccgo_ts + 17414, + FzName: __ccgo_ts + 17501, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 46: { - FzName: __ccgo_ts + 17426, + FzName: __ccgo_ts + 17513, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00004)) << libc.Int32FromInt32(32), }, 47: { - FzName: __ccgo_ts + 17443, + FzName: __ccgo_ts + 17530, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_RecTriggers), }, 48: { - FzName: __ccgo_ts + 17462, + FzName: __ccgo_ts + 17549, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ReverseOrder), }, 49: { - FzName: __ccgo_ts + 17488, + FzName: __ccgo_ts + 17575, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_SCHEMA_VERSION), }, 50: { - FzName: __ccgo_ts + 17503, + FzName: __ccgo_ts + 17590, FePragTyp: uint8(PragTyp_SECURE_DELETE), FmPragFlg: uint8(PragFlg_Result0), }, 51: { - FzName: __ccgo_ts + 17517, + FzName: __ccgo_ts + 17604, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ShortColNames), }, 52: { - FzName: __ccgo_ts + 17536, + FzName: __ccgo_ts + 17623, FePragTyp: uint8(PragTyp_SHRINK_MEMORY), FmPragFlg: uint8(PragFlg_NoColumns), }, 53: { - FzName: __ccgo_ts + 17550, + FzName: __ccgo_ts + 17637, FePragTyp: uint8(PragTyp_SOFT_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 54: { - FzName: __ccgo_ts + 17566, + FzName: __ccgo_ts + 17653, FePragTyp: uint8(PragTyp_SYNCHRONOUS), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 55: { - FzName: __ccgo_ts + 17578, + FzName: __ccgo_ts + 17665, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), FnPragCName: uint8(6), }, 56: { - FzName: __ccgo_ts + 17589, + FzName: __ccgo_ts + 17676, FePragTyp: uint8(PragTyp_TABLE_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1)), FiPragCName: uint8(15), FnPragCName: uint8(6), }, 57: { - FzName: __ccgo_ts + 17600, + FzName: __ccgo_ts + 17687, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), @@ -116908,45 +117614,45 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 58: { - FzName: __ccgo_ts + 17612, + FzName: __ccgo_ts + 17699, FePragTyp: uint8(PragTyp_TEMP_STORE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 59: { - FzName: __ccgo_ts + 17623, + FzName: __ccgo_ts + 17710, FePragTyp: uint8(PragTyp_TEMP_STORE_DIRECTORY), FmPragFlg: uint8(PragFlg_NoColumns1), }, 60: { - FzName: __ccgo_ts + 17644, + FzName: __ccgo_ts + 17731, FePragTyp: uint8(PragTyp_THREADS), FmPragFlg: uint8(PragFlg_Result0), }, 61: { - FzName: __ccgo_ts + 17652, + FzName: __ccgo_ts + 17739, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_TrustedSchema), }, 62: { - FzName: __ccgo_ts + 17667, + FzName: __ccgo_ts + 17754, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_USER_VERSION), }, 63: { - FzName: __ccgo_ts + 17680, + FzName: __ccgo_ts + 17767, FePragTyp: uint8(PragTyp_WAL_AUTOCHECKPOINT), }, 64: { - FzName: __ccgo_ts + 17699, + FzName: __ccgo_ts + 17786, FePragTyp: uint8(PragTyp_WAL_CHECKPOINT), FmPragFlg: uint8(PragFlg_NeedSchema), FiPragCName: uint8(50), FnPragCName: uint8(3), }, 65: { - FzName: __ccgo_ts + 17714, + FzName: __ccgo_ts + 17801, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(SQLITE_WriteSchema) | libc.Int32FromInt32(SQLITE_NoSchemaError)), @@ -116958,6 +117664,31 @@ var _aPragmaName = [66]TPragmaName{ /************** End of pragma.h **********************************************/ /************** Continuing where we left off in pragma.c *********************/ +/* +** When the 0x10 bit of PRAGMA optimize is set, any ANALYZE commands +** will be run with an analysis_limit set to the lessor of the value of +** the following macro or to the actual analysis_limit if it is non-zero, +** in order to prevent PRAGMA optimize from running for too long. +** +** The value of 2000 is chosen emperically so that the worst-case run-time +** for PRAGMA optimize does not exceed 100 milliseconds against a variety +** of test databases on a RaspberryPI-4 compiled using -Os and without +** -DSQLITE_DEBUG. Of course, your mileage may vary. For the purpose of +** this paragraph, "worst-case" means that ANALYZE ends up being +** run on every table in the database. The worst case typically only +** happens if PRAGMA optimize is run on a database file for which ANALYZE +** has not been previously run and the 0x10000 flag is included so that +** all tables are analyzed. The usual case for PRAGMA optimize is that +** no ANALYZE commands will be run at all, or if any ANALYZE happens it +** will be against a single table, so that expected timing for PRAGMA +** optimize on a PI-4 is more like 1 millisecond or less with the 0x10000 +** flag or less than 100 microseconds without the 0x10000 flag. +** +** An analysis limit of 2000 is almost always sufficient for the query +** planner to fully characterize an index. The additional accuracy from +** a larger analysis is not usually helpful. + */ + // C documentation // // /* @@ -117047,10 +117778,10 @@ func _sqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt Tu8) (r Tu8) { // */ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { if z != 0 { - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17730) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17817) { return int32(PAGER_LOCKINGMODE_EXCLUSIVE) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17740) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17827) { return PAGER_LOCKINGMODE_NORMAL } } @@ -117068,13 +117799,13 @@ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { func _getAutoVacuum(tls *libc.TLS, z uintptr) (r int32) { var i, v1 int32 _, _ = i, v1 - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8218) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8343) { return BTREE_AUTOVACUUM_NONE } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17747) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17834) { return int32(BTREE_AUTOVACUUM_FULL) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17752) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17839) { return int32(BTREE_AUTOVACUUM_INCR) } i = _sqlite3Atoi(tls, z) @@ -117097,10 +117828,10 @@ func _getTempStore(tls *libc.TLS, z uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(z))) <= int32('2') { return int32(*(*uint8)(unsafe.Pointer(z))) - int32('0') } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+16705) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+16792) == 0 { return int32(1) } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+17764) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+17851) == 0 { return int32(2) } else { return 0 @@ -117122,7 +117853,7 @@ func _invalidateTempStorage(tls *libc.TLS, pParse uintptr) (r int32) { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt != uintptr(0) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || _sqlite3BtreeTxnState(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) != SQLITE_TXN_NONE { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17771, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17858, 0) return int32(SQLITE_ERROR) } _sqlite3BtreeClose(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) @@ -117257,15 +117988,15 @@ func _actionName(tls *libc.TLS, action Tu8) (r uintptr) { _ = zName switch int32(action) { case int32(OE_SetNull): - zName = __ccgo_ts + 17833 + zName = __ccgo_ts + 17920 case int32(OE_SetDflt): - zName = __ccgo_ts + 17842 + zName = __ccgo_ts + 17929 case int32(OE_Cascade): - zName = __ccgo_ts + 17854 + zName = __ccgo_ts + 17941 case int32(OE_Restrict): - zName = __ccgo_ts + 17862 + zName = __ccgo_ts + 17949 default: - zName = __ccgo_ts + 17871 + zName = __ccgo_ts + 17958 _ = libc.Int32FromInt32(0) break } @@ -117294,12 +118025,12 @@ func _sqlite3JournalModename(tls *libc.TLS, eMode int32) (r uintptr) { } var _azModeName = [6]uintptr{ - 0: __ccgo_ts + 17881, - 1: __ccgo_ts + 17888, - 2: __ccgo_ts + 17896, - 3: __ccgo_ts + 17900, - 4: __ccgo_ts + 17764, - 5: __ccgo_ts + 17909, + 0: __ccgo_ts + 17968, + 1: __ccgo_ts + 17975, + 2: __ccgo_ts + 17983, + 3: __ccgo_ts + 17987, + 4: __ccgo_ts + 17851, + 5: __ccgo_ts + 17996, } // C documentation @@ -117365,15 +118096,15 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s goto _1 } if (*TFuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = __ccgo_ts + 17934 + zType = __ccgo_ts + 18021 } else { if (*TFuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = __ccgo_ts + 17936 + zType = __ccgo_ts + 18023 } else { - zType = __ccgo_ts + 7617 + zType = __ccgo_ts + 7742 } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+17938, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18025, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) goto _1 _1: ; @@ -117382,9 +118113,9 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s } var _azEnc = [4]uintptr{ - 1: __ccgo_ts + 17913, - 2: __ccgo_ts + 17918, - 3: __ccgo_ts + 17926, + 1: __ccgo_ts + 18000, + 2: __ccgo_ts + 18005, + 3: __ccgo_ts + 18013, } // C documentation @@ -117425,15 +118156,15 @@ func _integrityCheckResultRow(tls *libc.TLS, v uintptr) (r int32) { func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { bp := tls.Alloc(240) defer tls.Free(240) - var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, mxIdx, n, nHidden, nIdx, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v60, v62, v63, v64, v65, v68 int32 - var aOp, aOp1, aOp2, aOp3, aOp4, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v61, v66, v8 uintptr + var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v48, v50, v64, v66, v67, v68, v69, v72, v75, v76 int32 + var aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v65, v70, v8 uintptr var azOrigin [3]uintptr var cnum Ti16 var enc Tu8 var iPrior Tsqlite3_int64 + var iRange, szThreshold TLogEst var mask Tu64 var opMask Tu32 - var szThreshold TLogEst var _ /* N at bp+136 */ Tsqlite3_int64 var _ /* N at bp+144 */ Tsqlite3_int64 var _ /* N at bp+152 */ Tsqlite3_int64 @@ -117454,7 +118185,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var _ /* size at bp+60 */ int32 var _ /* sz at bp+64 */ Tsqlite3_int64 var _ /* x at bp+40 */ Ti64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iPrior, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, mxIdx, n, nHidden, nIdx, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v5, v60, v61, v62, v63, v64, v65, v66, v68, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iPrior, iRange, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v48, v5, v50, v64, v65, v66, v67, v68, v69, v70, v72, v75, v76, v8 zLeft = uintptr(0) /* Nul-terminated UTF-8 string */ zRight = uintptr(0) /* Nul-terminated UTF-8 string , or NULL */ zDb = uintptr(0) /* return value form SQLITE_FCNTL_PRAGMA */ @@ -117483,7 +118214,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p return } if minusFlag != 0 { - zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+17945, libc.VaList(bp+176, pValue)) + zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+18032, libc.VaList(bp+176, pValue)) } else { zRight = _sqlite3NameFromToken(tls, db, pValue) } @@ -117527,7 +118258,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } if rc != int32(SQLITE_NOTFOUND) { if (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0] != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) Xsqlite3_free(tls, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0]) } (*TParse)(unsafe.Pointer(pParse)).FnErr++ @@ -117634,7 +118365,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p b = -int32(1) _ = libc.Int32FromInt32(0) if zRight != 0 { - if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+17949) == 0 { + if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18036) == 0 { b = int32(2) } else { b = int32(_sqlite3GetBoolean(tls, zRight, uint8(0))) @@ -117705,7 +118436,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p */ fallthrough case int32(PragTyp_LOCKING_MODE): - zRet = __ccgo_ts + 17740 + zRet = __ccgo_ts + 17827 eMode = _getLockingMode(tls, zRight) if (*TToken)(unsafe.Pointer(pId2)).Fn == uint32(0) && eMode == -int32(1) { /* Simple "PRAGMA locking_mode;" statement. This is a query for @@ -117735,7 +118466,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } _ = libc.Int32FromInt32(0) if eMode == int32(PAGER_LOCKINGMODE_EXCLUSIVE) { - zRet = __ccgo_ts + 17730 + zRet = __ccgo_ts + 17817 } _returnSingleText(tls, v, zRet) break @@ -118030,7 +118761,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if *(*uint8)(unsafe.Pointer(zRight)) != 0 { rc = _sqlite3OsAccess(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, zRight, int32(SQLITE_ACCESS_READWRITE), bp+72) if rc != SQLITE_OK || *(*int32)(unsafe.Pointer(bp + 72)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17954, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18041, 0) Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) goto pragma_out } @@ -118040,7 +118771,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } Xsqlite3_free(tls, Xsqlite3_temp_directory) if *(*uint8)(unsafe.Pointer(zRight)) != 0 { - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+176, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+176, zRight)) } else { Xsqlite3_temp_directory = uintptr(0) } @@ -118062,7 +118793,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _returnSingleInt(tls, v, int64(int32((*TDb)(unsafe.Pointer(pDb)).Fsafety_level)-int32(1))) } else { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17979, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18066, 0) } else { if iDb != int32(1) { iLevel = (int32(_getSafetyLevel(tls, zRight, 0, uint8(1))) + int32(1)) & int32(PAGER_SYNCHRONOUS_MASK) @@ -118095,7 +118826,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if mask == uint64(SQLITE_DeferFKs) { (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons = 0 } - if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18032) == 0 { + if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18119) == 0 { /* IMP: R-60817-01178 If the argument is "RESET" then schema ** writing is disabled (as with "PRAGMA writable_schema=OFF") and, ** in addition, the schema is reloaded. */ @@ -118178,9 +118909,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - v14 = __ccgo_ts + 18038 + v14 = __ccgo_ts + 18125 } else { - v14 = __ccgo_ts + 18046 + v14 = __ccgo_ts + 18133 } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 { v15 = int32(1) @@ -118192,7 +118923,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v16 = *(*uintptr)(unsafe.Pointer(pColExpr + 8)) } - _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1648), v15, v16, k, isHidden)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1662), v15, v16, k, isHidden)) goto _12 _12: ; @@ -118251,7 +118982,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pTab1 = (*THashElem)(unsafe.Pointer(k1)).Fdata if int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) == 0 { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18053, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18140, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 80)) = uintptr(0) Xsqlite3_prepare(tls, db, zSql, -int32(1), bp+80, uintptr(0)) @@ -118259,7 +118990,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3DbFree(tls, db, zSql) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1632, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) } pHash = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FpSchema + 8 @@ -118281,19 +119012,19 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _20 } if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10796 + zType = __ccgo_ts + 10921 } else { if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 13044 + zType = __ccgo_ts + 13169 } else { if (*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Shadow) != 0 { - zType = __ccgo_ts + 18069 + zType = __ccgo_ts + 18156 } else { - zType = __ccgo_ts + 9058 + zType = __ccgo_ts + 9183 } } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18076, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18163, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) goto _20 _20: ; @@ -118341,9 +119072,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v22 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab3)).FaCol + uintptr(cnum)*16))).FzCnName } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18083, libc.VaList(bp+176, i1, int32(cnum), v22)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18170, libc.VaList(bp+176, i1, int32(cnum), v22)) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18088, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) + _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18175, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) } _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), int32(1), (*TParse)(unsafe.Pointer(pParse)).FnMem) goto _21 @@ -118367,11 +119098,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } azOrigin = [3]uintptr{ - 0: __ccgo_ts + 18093, - 1: __ccgo_ts + 18095, - 2: __ccgo_ts + 16582, + 0: __ccgo_ts + 18180, + 1: __ccgo_ts + 18182, + 2: __ccgo_ts + 16669, } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18097, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18184, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) goto _23 _23: ; @@ -118391,7 +119122,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _24 } _ = libc.Int32FromInt32(0) - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18103, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18190, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) goto _24 _24: ; @@ -118408,7 +119139,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pColl = (*THashElem)(unsafe.Pointer(p)).Fdata v26 = i4 i4++ - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18107, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18194, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) goto _25 _25: ; @@ -118460,7 +119191,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } pMod = (*THashElem)(unsafe.Pointer(j1)).Fdata - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7617, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7742, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) goto _30 _30: ; @@ -118472,7 +119203,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i6 < int32(libc.Uint64FromInt64(1584)/libc.Uint64FromInt64(24))) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7617, libc.VaList(bp+176, _aPragmaName[i6].FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7742, libc.VaList(bp+176, _aPragmaName[i6].FzName)) goto _31 _31: ; @@ -118498,7 +119229,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(j2 < (*TFKey)(unsafe.Pointer(pFK)).FnCol) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18110, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18119)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18197, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18206)) goto _32 _32: ; @@ -118644,7 +119375,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regResult+int32(1)) } - _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18124, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) + _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18211, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), regResult, int32(4)) _sqlite3VdbeResolveLabel(tls, v, addrOk) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 96))) @@ -118714,7 +119445,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p /* Set the maximum error count */ *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) if zRight != 0 { - if _sqlite3GetInt32(tls, zRight, bp+104) != 0 { + if _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pValue)).Fz, bp+104) != 0 { if *(*int32)(unsafe.Pointer(bp + 104)) <= 0 { *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) } @@ -118734,8 +119465,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i9 < (*Tsqlite3)(unsafe.Pointer(db)).FnDb) { break } /* Array of root page numbers of all btrees */ - cnt = 0 /* Number of entries in aRoot[] */ - mxIdx = 0 /* Maximum number of indexes for any table */ + cnt = 0 /* Number of entries in aRoot[] */ if libc.Bool(OMIT_TEMPDB != 0) && i9 == int32(1) { goto _40 } @@ -118777,9 +119507,6 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pIdx3 = (*TIndex)(unsafe.Pointer(pIdx3)).FpNext nIdx++ } - if nIdx > mxIdx { - mxIdx = nIdx - } goto _41 _41: ; @@ -118835,16 +119562,78 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } *(*int32)(unsafe.Pointer(aRoot)) = cnt /* Make sure sufficient number of registers have been allocated */ - _sqlite3TouchRegister(tls, pParse, int32(8)+mxIdx) + _sqlite3TouchRegister(tls, pParse, int32(8)+cnt) _sqlite3ClearTempRegCache(tls, pParse) /* Do the b-tree integrity checks */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(2), cnt, int32(1), aRoot, -int32(14)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(1), cnt, int32(8), aRoot, -int32(14)) _sqlite3VdbeChangeP5(tls, v, uint16(uint8(i9))) addr1 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(2)) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18128, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18215, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(2), int32(3), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, addr1) + /* Check that the indexes all have the right number of rows */ + if pObjTab != 0 { + v48 = int32(1) + } else { + v48 = 0 + } + cnt = v48 + _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18239) + x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst + for { + if !(x2 != 0) { + break + } + iTab = 0 + pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab9 { + goto _49 + } + if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + v50 = cnt + cnt++ + iTab = v50 + } else { + iTab = cnt + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx5 + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { + break + } + iTab++ + goto _51 + _51: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + } + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if (*TIndex)(unsafe.Pointer(pIdx5)).FpPartIdxWhere == uintptr(0) { + addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+cnt, 0, int32(8)+iTab) + _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) + _integrityCheckResultRow(tls, v) + _sqlite3VdbeJumpHere(tls, v, addr1) + } + cnt++ + goto _52 + _52: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + goto _49 + _49: + ; + x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext + } /* Make sure all the indices are constructed correctly. */ x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst @@ -118852,39 +119641,39 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata pPrior = uintptr(0) r1 = -int32(1) /* Maximum non-virtual column number */ - if pObjTab != 0 && pObjTab != pTab9 { - goto _48 + if pObjTab != 0 && pObjTab != pTab10 { + goto _53 } - if !(int32((*TTable)(unsafe.Pointer(pTab9)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { - goto _48 + if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _53 } - if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { pPk1 = uintptr(0) r2 = 0 } else { - pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab9) + pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab10) r2 = _sqlite3GetTempRange(tls, pParse, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), int32(1), r2, r2+int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)-int32(1)) } - _sqlite3OpenTableAndIndices(tls, pParse, pTab9, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) + _sqlite3OpenTableAndIndices(tls, pParse, pTab10, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) /* reg[7] counts the number of entries in the table. ** reg[8+i] counts the number of entries in the i-th index */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(7)) j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(8)+j4) /* index entries counter */ - goto _49 - _49: + goto _54 + _54: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } _ = libc.Int32FromInt32(0) @@ -118897,29 +119686,29 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** by the OP_IsType code, so it is a required step. */ _ = libc.Int32FromInt32(0) - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { mxCol = -int32(1) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { + if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { mxCol++ } - goto _50 - _50: + goto _55 + _55: ; j4++ } - if mxCol == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { + if mxCol == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { mxCol-- } } else { /* COLFLAG_VIRTUAL columns are not included in the WITHOUT ROWID ** PK index column-count, so there is no need to account for them ** in this case. */ - mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab9))).FnColumn) - int32(1) + mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab10))).FnColumn) - int32(1) } if mxCol >= 0 { _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 108)), mxCol, int32(3)) @@ -118929,7 +119718,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if pPk1 != 0 { a1 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 108)), 0, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), r2) - zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18152, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18268, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a1) @@ -118940,8 +119729,8 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprCodeLoadIndexColumn(tls, pParse, pPk1, *(*int32)(unsafe.Pointer(bp + 108)), j4, r2+j4) - goto _51 - _51: + goto _56 + _56: ; j4++ } @@ -118956,15 +119745,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** (4) Datatype for numeric columns in non-STRICT tables must not ** be a TEXT value that can be losslessly converted to numeric. */ - bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_Strict) != uint32(0)) + bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_Strict) != uint32(0)) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - pCol1 = (*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ - if j4 == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { - goto _52 + pCol1 = (*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ + if j4 == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { + goto _57 } if bStrict != 0 { doTypeCheck = libc.BoolInt32(int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4)) > int32(COLTYPE_ANY)) @@ -118972,28 +119761,28 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p doTypeCheck = libc.BoolInt32(int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) > int32(SQLITE_AFF_BLOB)) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf>>0)) == 0 && !(doTypeCheck != 0) { - goto _52 + goto _57 } /* Compute the operands that will be needed for OP_IsType */ p4 = int32(SQLITE_NULL) if int32((*TColumn)(unsafe.Pointer(pCol1)).FcolFlags)&int32(COLFLAG_VIRTUAL) != 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) p11 = -int32(1) p3 = int32(3) } else { if (*TColumn)(unsafe.Pointer(pCol1)).FiDflt != 0 { *(*uintptr)(unsafe.Pointer(bp + 120)) = uintptr(0) - _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab9, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, (*TColumn)(unsafe.Pointer(pCol1)).Faffinity, bp+120) + _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab10, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, (*TColumn)(unsafe.Pointer(pCol1)).Faffinity, bp+120) if *(*uintptr)(unsafe.Pointer(bp + 120)) != 0 { p4 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) } } p11 = *(*int32)(unsafe.Pointer(bp + 108)) - if !((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { - p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab9), int16(j4))) + if !((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { + p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab10), int16(j4))) } else { - p3 = int32(_sqlite3TableColumnToStorage(tls, pTab9, int16(j4))) + p3 = int32(_sqlite3TableColumnToStorage(tls, pTab10, int16(j4))) } } labelError = _sqlite3VdbeMakeLabel(tls, pParse) @@ -119010,10 +119799,10 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** is REAL, we have to load the actual data using OP_Column ** to reliably determine if the value is a NULL. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), p11, p3, int32(3)) - _sqlite3ColumnDefault(tls, v, pTab9, j4, int32(3)) + _sqlite3ColumnDefault(tls, v, pTab10, j4, int32(3)) jmp3 = _sqlite3VdbeAddOp2(tls, v, int32(OP_NotNull), int32(3), labelOk) } - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18188, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18304, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) if doTypeCheck != 0 { _sqlite3VdbeGoto(tls, v, labelError) @@ -119027,7 +119816,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _ = libc.Int32FromInt32(0) _sqlite3VdbeChangeP5(tls, v, uint16(_aStdTypeMask[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)])) - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18208, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18324, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) == int32(SQLITE_AFF_TEXT) { @@ -119035,7 +119824,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** NULL, TEXT, or BLOB. */ _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18230, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18346, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) >= int32(SQLITE_AFF_NUMERIC) { @@ -119044,12 +119833,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1b)) /* NULL, INT, FLOAT, or BLOB */ if p11 >= 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18253, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18369, -int32(1)) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), -int32(1), labelOk, int32(3), p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18255, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18371, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } } @@ -119057,14 +119846,14 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeResolveLabel(tls, v, labelError) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, labelOk) - goto _52 - _52: + goto _57 + _57: ; j4++ } /* Verify CHECK constraints */ - if (*TTable)(unsafe.Pointer(pTab9)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { - pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab9)).FpCheck, 0) + if (*TTable)(unsafe.Pointer(pTab10)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { + pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab10)).FpCheck, 0) if int32((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { addrCkFault = _sqlite3VdbeMakeLabel(tls, pParse) addrCkOk = _sqlite3VdbeMakeLabel(tls, pParse) @@ -119075,15 +119864,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprIfFalse(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8 + uintptr(k3)*32))).FpExpr, addrCkFault, 0) - goto _53 - _53: + goto _58 + _58: ; k3-- } _sqlite3ExprIfTrue(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8))).FpExpr, addrCkOk, int32(SQLITE_JUMPIFNULL)) _sqlite3VdbeResolveLabel(tls, v, addrCkFault) (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18275, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18391, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr2, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -119093,25 +119882,25 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(isQuick != 0) { /* Omit the remaining tests for quick_check */ /* Validate index entries for the current row */ j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } ckUniq = _sqlite3VdbeMakeLabel(tls, pParse) - if pPk1 == pIdx5 { - goto _54 + if pPk1 == pIdx6 { + goto _59 } - r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) - pPrior = pIdx5 + r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx6, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) + pPrior = pIdx6 _sqlite3VdbeAddOp2(tls, v, int32(OP_AddImm), int32(8)+j4, int32(1)) /* increment entry count */ /* Verify that an index entry exists for the current table row */ - jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18305) + jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18421) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18310) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18426) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) - jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx6)).FzName) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) jmp4 = _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, jmp21) @@ -119119,12 +119908,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** that extracts the rowid off the end of the index record. ** But it only works correctly if index record does not have ** any extra bytes at the end. Verify that this is the case. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { _sqlite3VdbeAddOp2(tls, v, int32(OP_IdxRowid), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)-int32(1)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18331) + jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)-int32(1)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18447) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18367) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18483) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp7) } @@ -119133,101 +119922,77 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p label6 = 0 kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { - goto _55 + if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { + goto _60 } if label6 == 0 { label6 = _sqlite3VdbeMakeLabel(tls, pParse) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 112))+j4, kk, int32(3)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ne), int32(3), label6, r1+kk) - goto _55 - _55: + goto _60 + _60: ; kk++ } if label6 != 0 { jmp6 = _sqlite3VdbeAddOp0(tls, v, int32(OP_Goto)) _sqlite3VdbeResolveLabel(tls, v, label6) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18305) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18421) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18378) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18494) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp6) } /* For UNIQUE indexes, verify that only one entry exists with the ** current key. The entry is unique if (1) any column is NULL ** or (2) the next entry has a different key */ - if int32((*TIndex)(unsafe.Pointer(pIdx5)).FonError) != OE_None { + if int32((*TIndex)(unsafe.Pointer(pIdx6)).FonError) != OE_None { uniqOk = _sqlite3VdbeMakeLabel(tls, pParse) kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2))) + iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FaiColumn + uintptr(kk)*2))) _ = libc.Int32FromInt32(0) - if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { - goto _56 + if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { + goto _61 } _sqlite3VdbeAddOp2(tls, v, int32(OP_IsNull), r1+kk, uniqOk) - goto _56 - _56: + goto _61 + _61: ; kk++ } jmp61 = _sqlite3VdbeAddOp1(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 112))+j4) _sqlite3VdbeGoto(tls, v, uniqOk) _sqlite3VdbeJumpHere(tls, v, jmp61) - _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18405) + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18521) _sqlite3VdbeGoto(tls, v, jmp5) _sqlite3VdbeResolveLabel(tls, v, uniqOk) } _sqlite3VdbeJumpHere(tls, v, jmp4) _sqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 128))) - goto _54 - _54: + goto _59 + _59: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } } _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 108)), loopTop) _sqlite3VdbeJumpHere(tls, v, loopTop-int32(1)) - if !(isQuick != 0) { - _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18432) - j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex - for { - if !(pIdx5 != 0) { - break - } - if pPk1 == pIdx5 { - goto _57 - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+j4, 0, int32(3)) - _sqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) - _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) - _integrityCheckResultRow(tls, v) - _sqlite3VdbeJumpHere(tls, v, addr1) - goto _57 - _57: - ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext - j4++ - } - if pPk1 != 0 { - _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) - } + if pPk1 != 0 { + _ = libc.Int32FromInt32(0) + _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) } - goto _48 - _48: + goto _53 + _53: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -119239,60 +120004,60 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata - if pObjTab != 0 && pObjTab != pTab10 { - goto _58 + pTab11 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab11 { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == TABTYP_NORM { - goto _58 + if int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == TABTYP_NORM { + goto _62 } - if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { - goto _58 + if !(int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FnCol) <= 0 { + if int32((*TTable)(unsafe.Pointer(pTab11)).FnCol) <= 0 { zMod = *(*uintptr)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).FazArg)) + })(unsafe.Pointer(pTab11 + 64))).FazArg)) if _sqlite3HashFind(tls, db+576, zMod) == uintptr(0) { - goto _58 + goto _62 } } - _sqlite3ViewGetColumnNames(tls, pParse, pTab10) + _sqlite3ViewGetColumnNames(tls, pParse, pTab11) if (*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp == uintptr(0) { - goto _58 + })(unsafe.Pointer(pTab11 + 64))).Fp == uintptr(0) { + goto _62 } pVTab = (*TVTable)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp)).FpVtab + })(unsafe.Pointer(pTab11 + 64))).Fp)).FpVtab if pVTab == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FiVersion < int32(4) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FxIntegrity == uintptr(0) { - goto _58 + goto _62 } _sqlite3VdbeAddOp3(tls, v, int32(OP_VCheck), i9, int32(3), isQuick) - (*TTable)(unsafe.Pointer(pTab10)).FnTabRef++ - _sqlite3VdbeAppendP4(tls, v, pTab10, -int32(16)) + (*TTable)(unsafe.Pointer(pTab11)).FnTabRef++ + _sqlite3VdbeAppendP4(tls, v, pTab11, -int32(16)) a11 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a11) - goto _58 - goto _58 - _58: + goto _62 + goto _62 + _62: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -119305,7 +120070,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if aOp2 != 0 { (*(*TVdbeOp)(unsafe.Pointer(aOp2))).Fp2 = int32(1) - *(*int32)(unsafe.Pointer(bp + 104)) (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 2*24))).Fp4type = int8(-libc.Int32FromInt32(1)) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18461 + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18548 (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 5*24))).Fp4type = int8(-libc.Int32FromInt32(1)) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = _sqlite3ErrStr(tls, int32(SQLITE_CORRUPT)) } @@ -119366,20 +120131,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc != 0 { - v60 = int32((*struct { + v64 = int32((*struct { FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc) } else { - v60 = int32(SQLITE_UTF16LE) + v64 = int32(SQLITE_UTF16LE) } - enc = uint8(v60) + enc = uint8(v64) (*TSchema)(unsafe.Pointer((*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema)).Fenc = enc _sqlite3SetTextEncoding(tls, db, enc) break } - goto _59 - _59: + goto _63 + _63: ; pEnc += 16 } @@ -119387,7 +120152,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).FzName != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18522, libc.VaList(bp+176, zRight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18609, libc.VaList(bp+176, zRight)) } } } @@ -119465,11 +120230,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p i10 = 0 (*TParse)(unsafe.Pointer(pParse)).FnMem = int32(1) for { - v62 = i10 + v66 = i10 i10++ - v61 = Xsqlite3_compileoption_get(tls, v62) - zOpt = v61 - if !(v61 != uintptr(0)) { + v65 = Xsqlite3_compileoption_get(tls, v66) + zOpt = v65 + if !(v65 != uintptr(0)) { break } _sqlite3VdbeLoadString(tls, v, int32(1), zOpt) @@ -119485,20 +120250,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p fallthrough case int32(PragTyp_WAL_CHECKPOINT): if (*TToken)(unsafe.Pointer(pId2)).Fz != 0 { - v63 = iDb + v67 = iDb } else { - v63 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) + v67 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) } - iBt = v63 + iBt = v67 eMode2 = SQLITE_CHECKPOINT_PASSIVE if zRight != 0 { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17747) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17834) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_FULL) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18547) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18634) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_RESTART) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17900) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17987) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_TRUNCATE) } } @@ -119522,11 +120287,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p Xsqlite3_wal_autocheckpoint(tls, db, _sqlite3Atoi(tls, zRight)) } if (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback == __ccgo_fp(_sqlite3WalDefaultHook) { - v64 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) + v68 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) } else { - v64 = 0 + v68 = 0 } - _returnSingleInt(tls, v, int64(v64)) + _returnSingleInt(tls, v, int64(v68)) break /* ** PRAGMA shrink_memory @@ -119554,47 +120319,68 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** ** The optional argument is a bitmask of optimizations to perform: ** - ** 0x0001 Debugging mode. Do not actually perform any optimizations - ** but instead return one line of text for each optimization - ** that would have been done. Off by default. + ** 0x00001 Debugging mode. Do not actually perform any optimizations + ** but instead return one line of text for each optimization + ** that would have been done. Off by default. ** - ** 0x0002 Run ANALYZE on tables that might benefit. On by default. - ** See below for additional information. + ** 0x00002 Run ANALYZE on tables that might benefit. On by default. + ** See below for additional information. ** - ** 0x0004 (Not yet implemented) Record usage and performance - ** information from the current session in the - ** database file so that it will be available to "optimize" - ** pragmas run by future database connections. + ** 0x00010 Run all ANALYZE operations using an analysis_limit that + ** is the lessor of the current analysis_limit and the + ** SQLITE_DEFAULT_OPTIMIZE_LIMIT compile-time option. + ** The default value of SQLITE_DEFAULT_OPTIMIZE_LIMIT is + ** currently (2024-02-19) set to 2000, which is such that + ** the worst case run-time for PRAGMA optimize on a 100MB + ** database will usually be less than 100 milliseconds on + ** a RaspberryPI-4 class machine. On by default. ** - ** 0x0008 (Not yet implemented) Create indexes that might have - ** been helpful to recent queries + ** 0x10000 Look at tables to see if they need to be reanalyzed + ** due to growth or shrinkage even if they have not been + ** queried during the current connection. Off by default. ** - ** The default MASK is and always shall be 0xfffe. 0xfffe means perform all - ** of the optimizations listed above except Debug Mode, including new - ** optimizations that have not yet been invented. If new optimizations are - ** ever added that should be off by default, those off-by-default - ** optimizations will have bitmasks of 0x10000 or larger. + ** The default MASK is and always shall be 0x0fffe. In the current + ** implementation, the default mask only covers the 0x00002 optimization, + ** though additional optimizations that are covered by 0x0fffe might be + ** added in the future. Optimizations that are off by default and must + ** be explicitly requested have masks of 0x10000 or greater. ** ** DETERMINATION OF WHEN TO RUN ANALYZE ** ** In the current implementation, a table is analyzed if only if all of ** the following are true: ** - ** (1) MASK bit 0x02 is set. + ** (1) MASK bit 0x00002 is set. + ** + ** (2) The table is an ordinary table, not a virtual table or view. ** - ** (2) The query planner used sqlite_stat1-style statistics for one or - ** more indexes of the table at some point during the lifetime of - ** the current connection. + ** (3) The table name does not begin with "sqlite_". ** - ** (3) One or more indexes of the table are currently unanalyzed OR - ** the number of rows in the table has increased by 25 times or more - ** since the last time ANALYZE was run. + ** (4) One or more of the following is true: + ** (4a) The 0x10000 MASK bit is set. + ** (4b) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. + ** (4c) The query planner used sqlite_stat1-style statistics for one + ** or more indexes of the table at some point during the lifetime + ** of the current connection. + ** + ** (5) One or more of the following is true: + ** (5a) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. (Same as 4a) + ** (5b) The number of rows in the table has increased or decreased by + ** 10-fold. In other words, the current size of the table is + ** 10 times larger than the size in sqlite_stat1 or else the + ** current size is less than 1/10th the size in sqlite_stat1. ** ** The rules for when tables are analyzed are likely to change in - ** future releases. + ** future releases. Future versions of SQLite might accept a string + ** literal argument to this pragma that contains a mnemonic description + ** of the options rather than a bitmap. */ fallthrough - case int32(PragTyp_OPTIMIZE): /* Mask of operations to perform */ + case int32(PragTyp_OPTIMIZE): /* Analysis limit to use */ + nCheck = 0 /* Number of tables to be optimized */ + nBtree = 0 /* Number of indexes on the current table */ if zRight != 0 { opMask = uint32(_sqlite3Atoi(tls, zRight)) if opMask&uint32(0x02) == uint32(0) { @@ -119603,22 +120389,31 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { opMask = uint32(0xfffe) } - v66 = pParse + 52 - v65 = *(*int32)(unsafe.Pointer(v66)) - *(*int32)(unsafe.Pointer(v66))++ - iTabCur = v65 + if opMask&uint32(0x10) == uint32(0) { + nLimit = 0 + } else { + if (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit > 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit < int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) { + nLimit = 0 + } else { + nLimit = int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) + } + } + v70 = pParse + 52 + v69 = *(*int32)(unsafe.Pointer(v70)) + *(*int32)(unsafe.Pointer(v70))++ + iTabCur = v69 if zDb != 0 { - v68 = iDb + v72 = iDb } else { - v68 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) + v72 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) } - iDbLast = v68 + iDbLast = v72 for { if !(iDb <= iDbLast) { break } if iDb == int32(1) { - goto _67 + goto _71 } _sqlite3CodeVerifySchema(tls, pParse, iDb) pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema @@ -119627,53 +120422,122 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(k4 != 0) { break } - pTab11 = (*THashElem)(unsafe.Pointer(k4)).Fdata - /* If table pTab has not been used in a way that would benefit from - ** having analysis statistics during the current session, then skip it. - ** This also has the effect of skipping virtual tables and views */ - if (*TTable)(unsafe.Pointer(pTab11)).FtabFlags&uint32(TF_StatsUsed) == uint32(0) { - goto _69 + pTab12 = (*THashElem)(unsafe.Pointer(k4)).Fdata + /* This only works for ordinary tables */ + if !(int32((*TTable)(unsafe.Pointer(pTab12)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _73 } - /* Reanalyze if the table is 25 times larger than the last analysis */ - szThreshold = int16(int32((*TTable)(unsafe.Pointer(pTab11)).FnRowLogEst) + int32(46)) - _ = libc.Int32FromInt32(0) - pIdx6 = (*TTable)(unsafe.Pointer(pTab11)).FpIndex + /* Do not scan system tables */ + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab12)).FzName, __ccgo_ts+6589, int32(7)) { + goto _73 + } + /* Find the size of the table as last recorded in sqlite_stat1. + ** If any index is unanalyzed, then the threshold is -1 to + ** indicate a new, unanalyzed index + */ + szThreshold = (*TTable)(unsafe.Pointer(pTab12)).FnRowLogEst + nIndex = 0 + pIdx7 = (*TTable)(unsafe.Pointer(pTab12)).FpIndex for { - if !(pIdx6 != 0) { + if !(pIdx7 != 0) { break } - if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7)) != 0) { - szThreshold = 0 /* Always analyze if any index lacks statistics */ - break + nIndex++ + if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx7 + 100))&0x80>>7)) != 0) { + szThreshold = int16(-int32(1)) /* Always analyze if any index lacks statistics */ } - goto _70 - _70: + goto _74 + _74: ; - pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext + pIdx7 = (*TIndex)(unsafe.Pointer(pIdx7)).FpNext + } + /* If table pTab has not been used in a way that would benefit from + ** having analysis statistics during the current session, then skip it, + ** unless the 0x10000 MASK bit is set. */ + if (*TTable)(unsafe.Pointer(pTab12)).FtabFlags&uint32(TF_MaybeReanalyze) != uint32(0) { + /* Check for size change if stat1 has been used for a query */ + } else { + if opMask&uint32(0x10000) != 0 { + /* Check for size change if 0x10000 is set */ + } else { + if (*TTable)(unsafe.Pointer(pTab12)).FpIndex != uintptr(0) && int32(szThreshold) < 0 { + /* Do analysis if unanalyzed indexes exists */ + } else { + /* Otherwise, we can skip this table */ + goto _73 + } + } } - if szThreshold != 0 { - _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab11, int32(OP_OpenRead)) - _sqlite3VdbeAddOp3(tls, v, int32(OP_IfSmaller), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), int32(szThreshold)) + nCheck++ + if nCheck == int32(2) { + /* If ANALYZE might be invoked two or more times, hold a write + ** transaction for efficiency */ + _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) + } + nBtree += nIndex + int32(1) + /* Reanalyze if the table is 10 times larger or smaller than + ** the last analysis. Unconditional reanalysis if there are + ** unanalyzed indexes. */ + _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab12, int32(OP_OpenRead)) + if int32(szThreshold) >= 0 { + iRange = int16(33) /* 10x size change */ + if int32(szThreshold) >= int32(iRange) { + v75 = int32(szThreshold) - int32(iRange) + } else { + v75 = -int32(1) + } + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IfSizeBetween), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), v75, int32(szThreshold)+int32(iRange)) + } else { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1))) } - zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18555, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab11)).FzName)) + zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18642, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab12)).FzName)) if opMask&uint32(0x01) != 0 { r11 = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, r11, 0, zSubSql, -int32(6)) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), r11, int32(1)) } else { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), 0, 0, 0, zSubSql, -int32(6)) + if nLimit != 0 { + v76 = int32(0x02) + } else { + v76 = 00 + } + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), v76, nLimit, 0, zSubSql, -int32(6)) } - goto _69 - _69: + goto _73 + _73: ; k4 = (*THashElem)(unsafe.Pointer(k4)).Fnext } - goto _67 - _67: + goto _71 + _71: ; iDb++ } _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) + /* In a schema with a large number of tables and indexes, scale back + ** the analysis_limit to avoid excess run-time in the worst case. + */ + if !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && nLimit > 0 && nBtree > int32(100) { + nLimit = int32(100) * nLimit / nBtree + if nLimit < int32(100) { + nLimit = int32(100) + } + aOp5 = _sqlite3VdbeGetOp(tls, v, 0) + iEnd = _sqlite3VdbeCurrentAddr(tls, v) + iAddr1 = 0 + for { + if !(iAddr1 < iEnd) { + break + } + if int32((*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fopcode) == int32(OP_SqlExec) { + (*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fp2 = nLimit + } + goto _77 + _77: + ; + iAddr1++ + } + } break /* ** PRAGMA busy_timeout @@ -119900,34 +120764,34 @@ var _encnames1 = [9]struct { Fenc Tu8 }{ 0: { - FzName: __ccgo_ts + 18464, + FzName: __ccgo_ts + 18551, Fenc: uint8(SQLITE_UTF8), }, 1: { - FzName: __ccgo_ts + 18469, + FzName: __ccgo_ts + 18556, Fenc: uint8(SQLITE_UTF8), }, 2: { - FzName: __ccgo_ts + 18475, + FzName: __ccgo_ts + 18562, Fenc: uint8(SQLITE_UTF16LE), }, 3: { - FzName: __ccgo_ts + 18484, + FzName: __ccgo_ts + 18571, Fenc: uint8(SQLITE_UTF16BE), }, 4: { - FzName: __ccgo_ts + 18493, + FzName: __ccgo_ts + 18580, Fenc: uint8(SQLITE_UTF16LE), }, 5: { - FzName: __ccgo_ts + 18501, + FzName: __ccgo_ts + 18588, Fenc: uint8(SQLITE_UTF16BE), }, 6: { - FzName: __ccgo_ts + 18509, + FzName: __ccgo_ts + 18596, }, 7: { - FzName: __ccgo_ts + 18516, + FzName: __ccgo_ts + 18603, }, 8: {}, } @@ -120023,14 +120887,14 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg _ = argc _ = argv _sqlite3StrAccumInit(tls, bp, uintptr(0), bp+32, int32(200), 0) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18573) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18660) i = 0 j = int32((*TPragmaName)(unsafe.Pointer(pPragma)).FiPragCName) for { if !(i < int32((*TPragmaName)(unsafe.Pointer(pPragma)).FnPragCName)) { break } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18588, libc.VaList(bp+240, int32(cSep), _pragCName[j])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18675, libc.VaList(bp+240, int32(cSep), _pragCName[j])) cSep = uint8(',') goto _1 _1: @@ -120039,19 +120903,19 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg j++ } if i == 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18595, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18682, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&int32(PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18601) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18688) j++ } if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(libc.Int32FromInt32(PragFlg_SchemaOpt)|libc.Int32FromInt32(PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18613) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18700) j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5170, int32(1)) _sqlite3StrAccumFinish(tls, bp) _ = libc.Int32FromInt32(0) rc = Xsqlite3_declare_vtab(tls, db, bp+32) @@ -120067,7 +120931,7 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg (*TPragmaVtab)(unsafe.Pointer(pTab)).FnHidden = uint8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab return rc @@ -120113,14 +120977,14 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 if !(i < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { break } - if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { goto _1 } if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != int32(SQLITE_INDEX_CONSTRAINT_EQ) { goto _1 } - if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { - goto _1 + if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + return int32(SQLITE_CONSTRAINT) } j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn - int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) _ = libc.Int32FromInt32(0) @@ -120139,16 +121003,13 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 j = seen[0] - int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) - if seen[int32(1)] == 0 { - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(1000) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000) - return SQLITE_OK - } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(20) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(20) - j = seen[int32(1)] - int32(1) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + if seen[int32(1)] != 0 { + j = seen[int32(1)] - int32(1) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + } return SQLITE_OK } @@ -120176,6 +121037,7 @@ func _pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { _ = i Xsqlite3_finalize(tls, (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) + (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(16)/libc.Uint64FromInt64(8))) { @@ -120254,7 +121116,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if zText != 0 { - *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+40, zText)) + *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+40, zText)) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -120266,13 +121128,13 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr j++ } _sqlite3StrAccumInit(tls, bp, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4))) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18628) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18715) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18636, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18723, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) } Xsqlite3_str_appendall(tls, bp, (*TPragmaName)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18640, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18727, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) } zSql = _sqlite3StrAccumFinish(tls, bp) if zSql == uintptr(0) { @@ -120281,7 +121143,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr rc = Xsqlite3_prepare_v2(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), pCsr+8, uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return _pragmaVtabNext(tls, pVtabCursor) @@ -120409,24 +121271,24 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) /* A error message has already been generated. Do not overwrite it */ } else { if (*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(libc.Int32FromInt32(INITFLAG_AlterMask)) != 0 { - *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18674, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) + *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18761, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) (*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR) } else { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140891)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141840)) } else { if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - v1 = __ccgo_ts + 5108 + v1 = __ccgo_ts + 5172 } zObj = v1 - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18702, libc.VaList(bp+8, zObj)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18789, libc.VaList(bp+8, zObj)) if zExtra != 0 && *(*uint8)(unsafe.Pointer(zExtra)) != 0 { - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18733, libc.VaList(bp+8, z, zExtra)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18820, libc.VaList(bp+8, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140898)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141847)) } } } @@ -120434,9 +121296,9 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } var _azAlterType = [3]uintptr{ - 0: __ccgo_ts + 18644, - 1: __ccgo_ts + 18651, - 2: __ccgo_ts + 18663, + 0: __ccgo_ts + 18731, + 1: __ccgo_ts + 18738, + 2: __ccgo_ts + 18750, } // C documentation @@ -120516,7 +121378,7 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(iDb) if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), db+192) == 0 || (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage && (*TInitData)(unsafe.Pointer(pData)).FmxPage > uint32(0) { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14516) + _corruptSchema(tls, pData, argv, __ccgo_ts+14609) } } libc.SetBitFieldPtr8Uint32(db+192+8, libc.Uint32FromInt32(0), 0, 0x1) @@ -120551,11 +121413,11 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr } else { pIndex = _sqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName) if pIndex == uintptr(0) { - _corruptSchema(tls, pData, argv, __ccgo_ts+18741) + _corruptSchema(tls, pData, argv, __ccgo_ts+18828) } else { if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum < uint32(2) || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage || _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14516) + _corruptSchema(tls, pData, argv, __ccgo_ts+14609) } } } @@ -120599,18 +121461,18 @@ func _sqlite3InitOne(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. */ - (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9058 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9183 if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6533 + v2 = __ccgo_ts + 6597 } else { - v2 = __ccgo_ts + 6066 + v2 = __ccgo_ts + 6130 } v1 = v2 zSchemaTabName = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(2)] = (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8130 - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18754 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8255 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18841 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(5)] = uintptr(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 72))).FiDb = iDb @@ -120700,7 +121562,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl } else { /* If opening an attached database, the encoding much match ENC(db) */ if (*(*[5]int32)(unsafe.Pointer(bp + 48)))[libc.Int32FromInt32(BTREE_TEXT_ENCODING)-libc.Int32FromInt32(1)]&int32(3) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12095) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12220) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -120726,7 +121588,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = uint8(1) } if int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > int32(SQLITE_MAX_FILE_FORMAT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18826) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18913) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -120742,7 +121604,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl */ _ = libc.Int32FromInt32(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).FmxPage = _sqlite3BtreeLastPage(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18850, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18937, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, __ccgo_fp(_sqlite3InitCallback), bp+72, uintptr(0)) @@ -121059,7 +121921,12 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) { var pCleanup uintptr _ = pCleanup - pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + if _sqlite3FaultSim(tls, int32(300)) != 0 { + pCleanup = uintptr(0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) + } else { + pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + } if pCleanup != 0 { (*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup (*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup @@ -121091,7 +121958,7 @@ func _sqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FpParse = pParse (*TParse)(unsafe.Pointer(pParse)).Fdb = db if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1632, 0) } } @@ -121127,7 +121994,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } _ = libc.Int32FromInt32(0) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1632, 0) v1 = libc.Int32FromInt32(SQLITE_NOMEM) rc = v1 (*Tsqlite3)(unsafe.Pointer(db)).FerrCode = v1 @@ -121178,7 +122045,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep rc = _sqlite3BtreeSchemaLocked(tls, pBt) if rc != 0 { zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FzDbSName - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18884, libc.VaList(bp+432, zDb)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18971, libc.VaList(bp+432, zDb)) goto end_prepare } } @@ -121194,7 +122061,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep if nBytes >= 0 && (nBytes == 0 || int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(nBytes-int32(1))))) != 0) { mxLen = *(*int32)(unsafe.Pointer(db + 136 + 1*4)) if nBytes > mxLen { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+18914, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+19001, 0) rc = _sqlite3ApiExit(tls, db, int32(SQLITE_TOOBIG)) goto end_prepare } @@ -121230,7 +122097,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep _ = libc.Int32FromInt32(0) rc = (*(*TParse)(unsafe.Pointer(bp))).Frc if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3795, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3859, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) } else { _sqlite3Error(tls, db, rc) @@ -121261,7 +122128,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3 cnt = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141699)) + return _sqlite3MisuseError(tls, int32(142654)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) _sqlite3BtreeEnterAll(tls, db) @@ -121404,7 +122271,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr rc = SQLITE_OK *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141848)) + return _sqlite3MisuseError(tls, int32(142803)) } if nBytes >= 0 { z = zSql @@ -121814,15 +122681,15 @@ func _sqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC i++ } if jointype&(libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER)) == libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER) || jointype&int32(JT_ERROR) != 0 || jointype&(libc.Int32FromInt32(JT_OUTER)|libc.Int32FromInt32(JT_LEFT)|libc.Int32FromInt32(JT_RIGHT)) == int32(JT_OUTER) { - zSp1 = __ccgo_ts + 11202 - zSp2 = __ccgo_ts + 11202 + zSp1 = __ccgo_ts + 11327 + zSp2 = __ccgo_ts + 11327 if pB == uintptr(0) { zSp1++ } if pC == uintptr(0) { zSp2++ } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18933, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19020, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) jointype = int32(JT_INNER) } return jointype @@ -122125,7 +122992,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { if int32((*TSrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype)&int32(JT_NATURAL) != 0 { pUsing = uintptr(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18963, libc.VaList(bp+16, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19050, libc.VaList(bp+16, 0)) return int32(1) } j = 0 @@ -122178,7 +123045,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { zName1 = (*(*TIdList_item)(unsafe.Pointer(pList + 8 + uintptr(j)*16))).FzName iRightCol = _sqlite3ColumnIndex(tls, pRightTab, zName1) if iRightCol < 0 || _tableAndColumnIndex(tls, pSrc, 0, i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19013, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19100, libc.VaList(bp+16, zName1)) return int32(1) } pE1 = _sqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4))) @@ -122200,7 +123067,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { pFuncArgs = uintptr(0) /* Arguments to the coalesce() */ for _tableAndColumnIndex(tls, pSrc, *(*int32)(unsafe.Pointer(bp))+int32(1), i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) != 0 { if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 60 + 4))&0x400>>10)) == 0 || _sqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 72)), zName1) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19077, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19164, libc.VaList(bp+16, zName1)) break } pFuncArgs = _sqlite3ExprListAppend(tls, pParse, pFuncArgs, pE1) @@ -122246,7 +123113,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { } var _tkCoalesce = TToken{ - Fz: __ccgo_ts + 6730, + Fz: __ccgo_ts + 6794, Fn: uint32(8), } @@ -123046,13 +123913,13 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { _ = z switch id { case int32(TK_ALL): - z = __ccgo_ts + 19114 + z = __ccgo_ts + 19201 case int32(TK_INTERSECT): - z = __ccgo_ts + 19124 + z = __ccgo_ts + 19211 case int32(TK_EXCEPT): - z = __ccgo_ts + 19134 + z = __ccgo_ts + 19221 default: - z = __ccgo_ts + 19141 + z = __ccgo_ts + 19228 break } return z @@ -123073,7 +123940,7 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { func _explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19147, libc.VaList(bp+8, zUsage)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19234, libc.VaList(bp+8, zUsage)) } /* @@ -123107,12 +123974,17 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, iParm = (*TSelectDest)(unsafe.Pointer(pDest)).FiSDParm /* True if sorter record includes seq. no. */ nRefKey = 0 aOutEx = (*TSelect)(unsafe.Pointer(p)).FpEList + 8 - if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 { - v1 = __ccgo_ts + 19170 + nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat == 0 || nKey == int32(1) { + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat != 0 { + v1 = __ccgo_ts + 19257 + } else { + v1 = __ccgo_ts + 1662 + } + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19271, libc.VaList(bp+8, v1)) } else { - v1 = __ccgo_ts + 1648 + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19302, libc.VaList(bp+8, nKey)) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19185, libc.VaList(bp+8, v1)) _ = libc.Int32FromInt32(0) if (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut != 0 { _sqlite3VdbeAddOp2(tls, v, int32(OP_Gosub), (*TSortCtx)(unsafe.Pointer(pSort)).FregReturn, (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut) @@ -123135,7 +124007,6 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, regRow = _sqlite3GetTempRange(tls, pParse, nColumn) } } - nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat if int32((*TSortCtx)(unsafe.Pointer(pSort)).FsortFlags)&int32(SORTFLAG_UseSorter) != 0 { v3 = pParse + 56 *(*int32)(unsafe.Pointer(v3))++ @@ -123361,7 +124232,7 @@ func _columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr _ = libc.Int32FromInt32(0) if iCol < 0 { zType = __ccgo_ts + 1136 - *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16694 + *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16781 } else { *(*uintptr)(unsafe.Pointer(bp + 16)) = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, uintptr(0)) @@ -123514,13 +124385,13 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } _ = libc.Int32FromInt32(0) if iCol < 0 { - zCol = __ccgo_ts + 16694 + zCol = __ccgo_ts + 16781 } else { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } if fullName != 0 { zName1 = uintptr(0) - zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12381, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) + zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12506, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName1, __ccgo_fp(_sqlite3OomClear)) } else { _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, uintptr(-libc.Int32FromInt32(1))) @@ -123528,7 +124399,7 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { z = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32))).FzEName if z == uintptr(0) { - v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19216, libc.VaList(bp+8, i+int32(1))) + v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19348, libc.VaList(bp+8, i+int32(1))) } else { v2 = _sqlite3DbStrDup(tls, db, z) } @@ -123622,7 +124493,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if iCol >= 0 { v3 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } else { - v3 = __ccgo_ts + 16694 + v3 = __ccgo_ts + 16781 } zName = v3 } else { @@ -123638,7 +124509,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if zName != 0 && !(_sqlite3IsTrueOrFalse(tls, zName) != 0) { zName = _sqlite3DbStrDup(tls, db, zName) } else { - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19216, libc.VaList(bp+40, i+int32(1))) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19348, libc.VaList(bp+40, i+int32(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. @@ -123674,7 +124545,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, } *(*Tu32)(unsafe.Pointer(bp))++ v8 = *(*Tu32)(unsafe.Pointer(bp)) - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19225, libc.VaList(bp+40, nName, zName, v8)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19357, libc.VaList(bp+40, nName, zName, v8)) _sqlite3ProgressCheck(tls, pParse) if *(*Tu32)(unsafe.Pointer(bp)) > uint32(3) { Xsqlite3_randomness(tls, int32(4), bp) @@ -123734,9 +124605,9 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS defer tls.Free(64) var a, db, p, pCol, pColl, pS2, zType, p4, p5 uintptr var i, j, m int32 - var m1, n Ti64 + var k, n Ti64 var _ /* sNC at bp+0 */ TNameContext - _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, m, m1, n, p, pCol, pColl, pS2, zType, p4, p5 + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, k, m, n, p, pCol, pColl, pS2, zType, p4, p5 db = (*TParse)(unsafe.Pointer(pParse)).Fdb _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -123757,17 +124628,22 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS if !(i < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } + m = 0 + pS2 = pSelect *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags) & libc.Int32FromInt32(COLFLAG_NOINSERT)) p = (*(*TExprList_item)(unsafe.Pointer(a + uintptr(i)*32))).FpExpr /* pCol->szEst = ... // Column size est for SELECT tables never used */ (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, p) + for int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) && (*TSelect)(unsafe.Pointer(pS2)).FpNext != uintptr(0) { + m |= _sqlite3ExprDataType(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext + (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + } if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) { (*TColumn)(unsafe.Pointer(pCol)).Faffinity = aff } - if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && (*TSelect)(unsafe.Pointer(pSelect)).FpNext != 0 { - m = 0 - m = 0 - pS2 = (*TSelect)(unsafe.Pointer(pSelect)).FpNext + if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && ((*TSelect)(unsafe.Pointer(pS2)).FpNext != 0 || pS2 != pSelect) { + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext for { if !(pS2 != 0) { break @@ -123792,7 +124668,7 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS zType = _columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0)) if zType == uintptr(0) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) != int32(_sqlite3AffinityType(tls, zType, uintptr(0))) { if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_NUMERIC) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_FLEXNUM) { - zType = __ccgo_ts + 19233 + zType = __ccgo_ts + 19365 } else { zType = uintptr(0) j = int32(1) @@ -123812,13 +124688,13 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS } } if zType != 0 { - m1 = int64(_sqlite3Strlen30(tls, zType)) + k = int64(_sqlite3Strlen30(tls, zType)) n = int64(_sqlite3Strlen30(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) - (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+m1+int64(2))) + (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+k+int64(2))) p4 = pCol + 14 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) & ^(libc.Int32FromInt32(COLFLAG_HASTYPE) | libc.Int32FromInt32(COLFLAG_HASCOLL))) if (*TColumn)(unsafe.Pointer(pCol)).FzCnName != 0 { - libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(m1+int64(1))) + libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(k+int64(1))) p5 = pCol + 14 *(*Tu16)(unsafe.Pointer(p5)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p5))) | libc.Int32FromInt32(COLFLAG_HASTYPE)) } @@ -124114,7 +124990,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest iDistinct = 0 /* To ensure unique results if UNION */ eDest = int32(SRT_Fifo) /* Registers used by LIMIT and OFFSET */ if (*TSelect)(unsafe.Pointer(p)).FpWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19237, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19369, 0) return } /* Obtain authorization to do a recursive query */ @@ -124207,7 +125083,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest break } if (*TSelect)(unsafe.Pointer(pFirstRec)).FselFlags&uint32(SF_Aggregate) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19286, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19418, 0) goto end_of_recursive_query } (*TSelect)(unsafe.Pointer(pFirstRec)).Fop = uint8(TK_ALL) @@ -124222,7 +125098,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest /* Store the results of the setup-query in Queue. */ pSetup = (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior (*TSelect)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19328, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19460, 0) rc = _sqlite3Select(tls, pParse, pSetup, bp) (*TSelect)(unsafe.Pointer(pSetup)).FpNext = p if rc != 0 { @@ -124250,7 +125126,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest ** the value for the recursive-table. Store the results in the Queue. */ (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19334, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19466, 0) _sqlite3Select(tls, pParse, p, bp) _ = libc.Int32FromInt32(0) (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -124309,11 +125185,11 @@ func _multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) nRow += bShowAll } if nRow == int32(1) { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } else { - v1 = __ccgo_ts + 19349 + v1 = __ccgo_ts + 19481 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19351, libc.VaList(bp+8, nRow, v1)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19483, libc.VaList(bp+8, nRow, v1)) for p != 0 { _selectInnerLoop(tls, pParse, p, -int32(1), uintptr(0), uintptr(0), pDest, int32(1), int32(1)) if !(bShowAll != 0) { @@ -124428,8 +125304,8 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in return _multiSelectOrderBy(tls, pParse, p, pDest) } else { if (*TSelect)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19374, 0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19389, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19506, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19521, 0) } /* Generate code for the left and right SELECT statements. */ @@ -124455,7 +125331,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in _sqlite3VdbeAddOp3(tls, v, int32(OP_OffsetLimit), (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TSelect)(unsafe.Pointer(p)).FiOffset+int32(1), (*TSelect)(unsafe.Pointer(p)).FiOffset) } } - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19114, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19201, 0) rc = _sqlite3Select(tls, pParse, p, bp) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124512,7 +125388,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 48))).FeDest = op - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19408, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19540, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+48) _ = libc.Int32FromInt32(0) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior @@ -124578,7 +125454,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit1 = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 88))).FiSDParm = tab2 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19408, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19540, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+88) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124705,9 +125581,9 @@ func _sqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) bp := tls.Alloc(16) defer tls.Free(16) if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Values) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19429, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19561, 0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19475, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19607, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) } } @@ -125093,8 +125969,8 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy = _sqlite3ExprListDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0) - _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7367) - _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7367) + _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7492) + _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7492) /* Compute the limit registers */ _computeLimitRegisters(tls, pParse, p, labelEnd) if (*TSelect)(unsafe.Pointer(p)).FiLimit != 0 && op == int32(TK_ALL) { @@ -125138,14 +126014,14 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr regOutB = v21 _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), regAddrA) _sqlite3SelectDestInit(tls, bp+40, int32(SRT_Coroutine), regAddrB) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19557, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19689, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) /* Generate a coroutine to evaluate the SELECT statement to the ** left of the compound operator - the "A" select. */ addrSelectA = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regAddrA, 0, addrSelectA) (*TSelect)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19568, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19700, 0) _sqlite3Select(tls, pParse, pPrior, bp) _sqlite3VdbeEndCoroutine(tls, v, regAddrA) _sqlite3VdbeJumpHere(tls, v, addr1) @@ -125158,7 +126034,7 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr savedOffset = (*TSelect)(unsafe.Pointer(p)).FiOffset (*TSelect)(unsafe.Pointer(p)).FiLimit = regLimitB (*TSelect)(unsafe.Pointer(p)).FiOffset = 0 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19573, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19705, 0) _sqlite3Select(tls, pParse, p, bp+40) (*TSelect)(unsafe.Pointer(p)).FiLimit = savedLimit (*TSelect)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -125376,7 +126252,7 @@ func _substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) (r uintptr) { if pColl != 0 { v1 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v1 = __ccgo_ts + 5086 + v1 = __ccgo_ts + 5150 } pExpr = _sqlite3ExprAddCollateString(tls, (*TSubstContext)(unsafe.Pointer(pSubst)).FpParse, pExpr, v1) } @@ -126440,10 +127316,10 @@ func _findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pLeft) != 0 { + if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pLeft) != 0 { _constInsert(tls, pConst, pRight, pLeft, pExpr) } - if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pRight) != 0 { + if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pRight) != 0 { _constInsert(tls, pConst, pLeft, pRight, pExpr) } } @@ -126684,6 +127560,18 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** The hope is that the terms added to the inner query will make it more // ** efficient. // ** +// ** NAME AMBIGUITY +// ** +// ** This optimization is called the "WHERE-clause push-down optimization". +// ** +// ** Do not confuse this optimization with another unrelated optimization +// ** with a similar name: The "MySQL push-down optimization" causes WHERE +// ** clause terms that can be evaluated using only the index and without +// ** reference to the table are run first, so that if they are false, +// ** unnecessary table seeks are avoided. +// ** +// ** RULES +// ** // ** Do not attempt this optimization if: // ** // ** (1) (** This restriction was removed on 2017-09-29. We used to @@ -126749,10 +127637,10 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** (9c) There is a RIGHT JOIN (or FULL JOIN) in between the ON/USING // ** clause and the subquery. // ** -// ** Without this restriction, the push-down optimization might move -// ** the ON/USING filter expression from the left side of a RIGHT JOIN -// ** over to the right side, which leads to incorrect answers. See -// ** also restriction (6) in sqlite3ExprIsSingleTableConstraint(). +// ** Without this restriction, the WHERE-clause push-down optimization +// ** might move the ON/USING filter expression from the left side of a +// ** RIGHT JOIN over to the right side, which leads to incorrect answers. +// ** See also restriction (6) in sqlite3ExprIsSingleTableConstraint(). // ** // ** (10) The inner query is not the right-hand table of a RIGHT JOIN. // ** @@ -126847,7 +127735,7 @@ func _pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere ui nChng += _pushDownWhereTerms(tls, pParse, pSubq, (*TExpr)(unsafe.Pointer(pWhere)).FpRight, pSrcList, iSrc) pWhere = (*TExpr)(unsafe.Pointer(pWhere)).FpLeft } - if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc) != 0 { + if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc, int32(1)) != 0 { nChng++ *(*Tu32)(unsafe.Pointer(pSubq + 4)) |= uint32(SF_PushDown) for pSubq != 0 { @@ -127026,13 +127914,13 @@ func _minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) (r } _ = libc.Int32FromInt32(0) zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8)) - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15550) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15643) == 0 { eRet = int32(WHERE_ORDERBY_MIN) if _sqlite3ExprCanBeNull(tls, (*(*TExprList_item)(unsafe.Pointer(pEList + 8))).FpExpr) != 0 { sortFlags = uint8(KEYINFO_ORDER_BIGNULL) } } else { - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15554) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15647) == 0 { eRet = int32(WHERE_ORDERBY_MAX) sortFlags = uint8(KEYINFO_ORDER_DESC) } else { @@ -127128,7 +128016,7 @@ func _sqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r in pIdx = (*TIndex)(unsafe.Pointer(pIdx)).FpNext } if !(pIdx != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19579, libc.VaList(bp+8, zIndexedBy, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19711, libc.VaList(bp+8, zIndexedBy, 0)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) return int32(SQLITE_ERROR) } @@ -127255,7 +128143,7 @@ func _cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19597, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19729, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) return int32(1) } return 0 @@ -127437,7 +128325,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom *(*Tu32)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= uint32(SF_CopyCte) _ = libc.Int32FromInt32(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19620, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19752, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) return int32(2) } libc.SetBitFieldPtr16Uint32(pFrom+60+4, libc.Uint32FromInt32(1), 8, 0x100) @@ -127462,7 +128350,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ libc.SetBitFieldPtr16Uint32(pItem+60+4, libc.Uint32FromInt32(1), 6, 0x40) if (*TSelect)(unsafe.Pointer(pRecTerm)).FselFlags&uint32(SF_Recursive) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19640, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19772, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) return int32(2) } *(*Tu32)(unsafe.Pointer(pRecTerm + 4)) |= uint32(SF_Recursive) @@ -127484,7 +128372,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } pRecTerm = (*TSelect)(unsafe.Pointer(pRecTerm)).FpPrior } - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19683 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19815 pSavedWith = (*TParse)(unsafe.Pointer(pParse)).FpWith (*TParse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp)) if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { @@ -127520,7 +128408,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pEList = (*TSelect)(unsafe.Pointer(pLeft)).FpEList if (*TCte)(unsafe.Pointer(pCte)).FpCols != 0 { if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr != (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19706, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19838, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*TParse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return int32(2) } @@ -127529,9 +128417,9 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom _sqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8) if bMayRecursive != 0 { if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19744 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19876 } else { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19778 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19910 } _sqlite3WalkSelect(tls, pWalker, pSel) } @@ -127592,7 +128480,7 @@ func _sqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int if (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 { (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3DbStrDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias) } else { - (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19816, libc.VaList(bp+8, pFrom)) + (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19948, libc.VaList(bp+8, pFrom)) } for (*TSelect)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*TSelect)(unsafe.Pointer(pSel)).FpPrior @@ -127756,7 +128644,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { return int32(WRC_Abort) } if (*TTable)(unsafe.Pointer(pTab)).FnTabRef >= uint32(0xffff) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19820, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19952, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) (*TSrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return int32(WRC_Abort) } @@ -127772,7 +128660,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) && (*TTable)(unsafe.Pointer(pTab)).FpSchema != (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19859, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19991, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } (*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect = _sqlite3SelectDup(tls, db, (*(*struct { FpSelect uintptr @@ -127787,7 +128675,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).Fp)).FeVtabRisk) > libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15109, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15202, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } } _ = libc.Int32FromInt32(0) @@ -127924,7 +128812,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if iDb >= 0 { v10 = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName } else { - v10 = __ccgo_ts + 6590 + v10 = __ccgo_ts + 6654 } zSchemaName = v10 } @@ -127942,7 +128830,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if pNew != 0 { pX = pNew + 8 + uintptr((*TExprList)(unsafe.Pointer(pNew)).FnExpr-int32(1))*32 _ = libc.Int32FromInt32(0) - (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19890, libc.VaList(bp+8, zUName)) + (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20022, libc.VaList(bp+8, zUName)) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(ENAME_TAB), 0, 0x3) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(1), 7, 0x80) } @@ -128024,7 +128912,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, (*(*TExprList_item)(unsafe.Pointer(pNestedFrom + 8 + uintptr(j)*32))).FzEName) } else { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19895, libc.VaList(bp+8, zSchemaName, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20027, libc.VaList(bp+8, zSchemaName, zTabName, zName)) } if j == int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) { v13 = int32(ENAME_ROWID) @@ -128037,7 +128925,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } } else { if longNames != 0 { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12381, libc.VaList(bp+8, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12506, libc.VaList(bp+8, zTabName, zName)) libc.SetBitFieldPtr16Uint32(pX1+16+4, libc.Uint32FromInt32(ENAME_NAME), 0, 0x3) } else { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, zName) @@ -128057,9 +128945,9 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if !(tableSeen != 0) { if zTName != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19904, libc.VaList(bp+8, zTName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20036, libc.VaList(bp+8, zTName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19922, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20054, 0) } } } @@ -128073,7 +128961,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if (*TSelect)(unsafe.Pointer(p)).FpEList != 0 { if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19942, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20074, 0) return int32(WRC_Abort) } if elistFlags&uint32(libc.Int32FromInt32(EP_HasFunc)|libc.Int32FromInt32(EP_Subquery)) != uint32(0) { @@ -128435,12 +129323,12 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { pE = (*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFExpr _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19973, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20105, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -int32(1) } else { pKeyInfo = _sqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20024, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20156, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab >= 0 { @@ -128466,7 +129354,7 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { (*TKeyInfo)(unsafe.Pointer(pKeyInfo1)).FnKeyField++ } _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab, (*TExprList)(unsafe.Pointer(pOBList)).FnExpr+nExtra, 0, pKeyInfo1, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20057, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20189, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } goto _1 _1: @@ -128791,16 +129679,16 @@ func _explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintp if int32((*TParse)(unsafe.Pointer(pParse)).Fexplain) == int32(2) { bCover = libc.BoolInt32(pIdx != uintptr(0) && ((*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) || !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == libc.Int32FromInt32(SQLITE_IDXTYPE_PRIMARYKEY)))) if bCover != 0 { - v1 = __ccgo_ts + 20090 + v1 = __ccgo_ts + 20222 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } if bCover != 0 { v2 = (*TIndex)(unsafe.Pointer(pIdx)).FzName } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20113, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20245, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) } } @@ -128832,7 +129720,7 @@ func _havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3 ** statements AggInfo structure. */ if _sqlite3ExprIsConstantOrGroupBy(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*TSelect)(unsafe.Pointer(pS)).FpGroupBy) != 0 && libc.BoolInt32((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse)) == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8130) + pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8255) if pNew != 0 { pWhere = (*TSelect)(unsafe.Pointer(pS)).FpWhere t = *(*TExpr)(unsafe.Pointer(pNew)) @@ -128992,7 +129880,7 @@ func _countOfViewOptimization(tls *libc.TLS, pParse uintptr, p uintptr) (r int32 return 0 } /* Result is an aggregate */ _ = libc.Int32FromInt32(0) - if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15844) != 0 { + if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15937) != 0 { return 0 } /* Is count() */ _ = libc.Int32FromInt32(0) @@ -129265,7 +130153,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { v1 = (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p0)).FpTab)).FzName } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20125, libc.VaList(bp+176, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20257, libc.VaList(bp+176, v1)) goto select_end } /* Clear the SF_UFSrcCheck flag. The check has already been performed, @@ -129368,7 +130256,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r /* Catch mismatch in the declared columns of a view and the number of ** columns in the SELECT on the RHS */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) != (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20179, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20311, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end } /* Do not attempt the usual optimizations (flattening and ORDER BY @@ -129506,12 +130394,12 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r ** string for the fake column name seems safer. */ if (*TSrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0) && (*TSrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0) { - _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1648, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1662, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) } /* Generate code for all sub-queries in the FROM clause */ pSub1 = (*TSrcItem)(unsafe.Pointer(pItem1)).FpSelect - if pSub1 == uintptr(0) { + if pSub1 == uintptr(0) || (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub != 0 { goto _10 } /* The code for a subquery should only be generated once. */ @@ -129552,7 +130440,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop _sqlite3SelectDestInit(tls, bp+72, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20219, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20351, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60+4, libc.Uint32FromInt32(1), 5, 0x20) @@ -129600,7 +130488,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { } _sqlite3SelectDestInit(tls, bp+72, int32(SRT_EphemTab), (*TSrcItem)(unsafe.Pointer(pItem1)).FiCursor) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20234, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20366, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow if onceAddr != 0 { @@ -130018,11 +130906,11 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r groupBySort = 0 } else { if (*(*TDistinctCtx)(unsafe.Pointer(bp))).FisTnct != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Distinct) == uint32(0) { - v44 = __ccgo_ts + 20250 + v44 = __ccgo_ts + 20382 } else { - v44 = __ccgo_ts + 20259 + v44 = __ccgo_ts + 20391 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19147, libc.VaList(bp+176, v44)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19234, libc.VaList(bp+176, v44)) groupBySort = int32(1) nGroupBy = (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr nCol = nGroupBy @@ -130346,7 +131234,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeResolveLabel(tls, v, addrEnd) } /* endif aggregate query */ if int32((*(*TDistinctCtx)(unsafe.Pointer(bp))).FeTnctType) == int32(WHERE_DISTINCT_UNORDERED) { - _explainTempTable(tls, pParse, __ccgo_ts+20250) + _explainTempTable(tls, pParse, __ccgo_ts+20382) } /* If there is an ORDER BY clause, then we need to sort the results ** and send them to the callback one by one. @@ -130455,7 +131343,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr if !(i < nCol) { break } - z = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if z == uintptr(0) { goto malloc_failed } @@ -130471,7 +131359,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr } else { if int32((*TTabResult)(unsafe.Pointer(p)).FnColumn) != nCol { Xsqlite3_free(tls, (*TTabResult)(unsafe.Pointer(p)).FzErrMsg) - (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20268, 0) + (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20400, 0) (*TTabResult)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) return int32(1) } @@ -130562,7 +131450,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) } Xsqlite3_free(tls, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg) } @@ -130732,7 +131620,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if isTemp != 0 { /* If TEMP was specified, then the trigger name may not be qualified. */ if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20333, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20465, 0) goto trigger_cleanup } iDb = int32(1) @@ -130773,7 +131661,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } _ = libc.Int32FromInt32(0) - _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20379, *(*uintptr)(unsafe.Pointer(bp))) + _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20511, *(*uintptr)(unsafe.Pointer(bp))) if _sqlite3FixSrcList(tls, bp+8, pTableName) != 0 { goto trigger_cleanup } @@ -130783,11 +131671,11 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_orphan_error } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20387, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20519, 0) goto trigger_orphan_error } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, db) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20428, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20560, 0) goto trigger_orphan_error } /* Check that the trigger name is not reserved and that no trigger of the @@ -130797,14 +131685,14 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 _ = libc.Int32FromInt32(0) goto trigger_cleanup } - if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20379, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { + if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20511, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { goto trigger_cleanup } _ = libc.Int32FromInt32(0) if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema+56, zName) != 0 { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20468, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20600, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -130813,8 +131701,8 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 } } /* Do not create a trigger on a system table */ - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20494, 0) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) == 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20626, 0) goto trigger_cleanup } /* INSTEAD of triggers are only for views and views only support INSTEAD @@ -130822,15 +131710,15 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && tr_tm != int32(TK_INSTEAD) { if tr_tm == int32(TK_BEFORE) { - v1 = __ccgo_ts + 20532 + v1 = __ccgo_ts + 20664 } else { - v1 = __ccgo_ts + 20539 + v1 = __ccgo_ts + 20671 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20545, libc.VaList(bp+112, v1, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20677, libc.VaList(bp+112, v1, pTableName+8)) goto trigger_orphan_error } if !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) && tr_tm == int32(TK_INSTEAD) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20582, libc.VaList(bp+112, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20714, libc.VaList(bp+112, pTableName+8)) goto trigger_orphan_error } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -130850,9 +131738,9 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iTabDb == int32(1) { - v3 = __ccgo_ts + 6533 + v3 = __ccgo_ts + 6597 } else { - v3 = __ccgo_ts + 6066 + v3 = __ccgo_ts + 6130 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto trigger_cleanup @@ -130954,7 +131842,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl pStepList = (*TTriggerStep)(unsafe.Pointer(pStepList)).FpNext } _sqlite3TokenInit(tls, bp+96, (*TTrigger)(unsafe.Pointer(pTrig)).FzName) - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20379, bp+96) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20511, bp+96) if _sqlite3FixTriggerStep(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 || _sqlite3FixExpr(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).FpWhen) != 0 { goto triggerfinish_cleanup } @@ -130977,7 +131865,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl break } if (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget != uintptr(0) && _sqlite3ShadowTableName(tls, db, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20628, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20760, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) goto triggerfinish_cleanup } goto _1 @@ -130993,10 +131881,10 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl } _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) z = _sqlite3DbStrNDup(tls, db, (*TToken)(unsafe.Pointer(pAll)).Fz, uint64((*TToken)(unsafe.Pointer(pAll)).Fn)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20676, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20808, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) _sqlite3DbFree(tls, db, z) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20751, libc.VaList(bp+120, zName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20883, libc.VaList(bp+120, zName)), uint16(0)) } } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { @@ -131272,7 +132160,7 @@ func _sqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int } if !(pTrigger != 0) { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20780, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20912, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, zDb) } @@ -131316,9 +132204,9 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { code = int32(SQLITE_DROP_TRIGGER) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zTab = v1 if iDb == int32(1) { @@ -131333,7 +132221,7 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { v2 = _sqlite3GetVdbe(tls, pParse) v = v2 if v2 != uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20800, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20932, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropTrigger), iDb, 0, 0, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName, 0) } @@ -131469,11 +132357,11 @@ func _triggersReallyExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { if op != int32(TK_INSERT) { if op == int32(TK_DELETE) { - v1 = __ccgo_ts + 20862 + v1 = __ccgo_ts + 20994 } else { - v1 = __ccgo_ts + 20869 + v1 = __ccgo_ts + 21001 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20876, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21008, libc.VaList(bp+8, v1)) } (*TTrigger)(unsafe.Pointer(p)).Ftr_tm = uint8(TRIGGER_BEFORE) } else { @@ -131580,7 +132468,7 @@ func _isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != int32(TK_ASTERISK) { return 0 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20924, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21056, 0) return int32(1) } @@ -131645,6 +132533,81 @@ func _sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab return pNew } +// C documentation +// +// /* If the Expr node is a subquery or an EXISTS operator or an IN operator that +// ** uses a subquery, and if the subquery is SF_Correlated, then mark the +// ** expression as EP_VarSelect. +// */ +func _sqlite3ReturningSubqueryVarSelect(tls *libc.TLS, NotUsed uintptr, pExpr uintptr) (r int32) { + _ = NotUsed + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) && (*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FselFlags&uint32(SF_Correlated) != uint32(0) { + *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** If the SELECT references the table pWalker->u.pTab, then do two things: +// ** +// ** (1) Mark the SELECT as as SF_Correlated. +// ** (2) Set pWalker->eCode to non-zero so that the caller will know +// ** that (1) has happened. +// */ +func _sqlite3ReturningSubqueryCorrelated(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + var i int32 + var pSrc uintptr + _, _ = i, pSrc + _ = libc.Int32FromInt32(0) + pSrc = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + _ = libc.Int32FromInt32(0) + i = 0 + for { + if !(i < (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) { + break + } + if (*(*TSrcItem)(unsafe.Pointer(pSrc + 8 + uintptr(i)*104))).FpTab == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { + *(*Tu32)(unsafe.Pointer(pSelect + 4)) |= uint32(SF_Correlated) + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + break + } + goto _1 + _1: + ; + i++ + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Scan the expression list that is the argument to RETURNING looking +// ** for subqueries that depend on the table which is being modified in the +// ** statement that is hosting the RETURNING clause (pTab). Mark all such +// ** subqueries as SF_Correlated. If the subqueries are part of an +// ** expression, mark the expression as EP_VarSelect. +// ** +// ** https://sqlite.org/forum/forumpost/2c83569ce8945d39 +// */ +func _sqlite3ProcessReturningSubqueries(tls *libc.TLS, pEList uintptr, pTab uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ExprWalkNoop) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3ReturningSubqueryCorrelated) + *(*uintptr)(unsafe.Pointer(bp + 40)) = pTab + _sqlite3WalkExprList(tls, bp, pEList) + if (*(*TWalker)(unsafe.Pointer(bp))).FeCode != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ReturningSubqueryVarSelect) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop) + _sqlite3WalkExprList(tls, bp, pEList) + } +} + // C documentation // // /* @@ -131681,6 +132644,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab (*(*TSelect)(unsafe.Pointer(bp))).FpSrc = bp + 128 (*(*TSrcList)(unsafe.Pointer(bp + 128))).FnSrc = int32(1) (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FpTab = pTab + (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FzName = (*TTable)(unsafe.Pointer(pTab)).FzName /* tag-20240424-1 */ (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FiCursor = -int32(1) _sqlite3SelectPrep(tls, pParse, bp, uintptr(0)) if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { @@ -131706,6 +132670,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab if _sqlite3ResolveExprListNames(tls, bp+240, pNew) == SQLITE_OK && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { nCol = (*TExprList)(unsafe.Pointer(pNew)).FnExpr reg = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(1) + _sqlite3ProcessReturningSubqueries(tls, pNew, pTab) *(*int32)(unsafe.Pointer(pParse + 56)) += nCol + int32(2) (*TReturning)(unsafe.Pointer(pReturning)).FiRetReg = reg i = 0 @@ -131778,7 +132743,7 @@ func _codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orcon (*TParse)(unsafe.Pointer(pParse)).FeOrconf = uint8(v2) _ = libc.Int32FromInt32(0) if (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6263, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6327, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) } switch int32((*TTriggerStep)(unsafe.Pointer(pStep)).Fop) { case int32(TK_UPDATE): @@ -131885,7 +132850,7 @@ func _codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintp v = _sqlite3GetVdbe(tls, bp+56) if v != 0 { if (*TTrigger)(unsafe.Pointer(pTrigger)).FzName != 0 { - _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+20966, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) + _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+21098, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) } /* If one was specified, code the WHEN clause. If it evaluates to false ** (or NULL) the sub-vdbe is immediately halted by jumping to the @@ -132599,7 +133564,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui chngPk = uint8(1) } else { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20980, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21112, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto update_cleanup } } @@ -132619,13 +133584,13 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui pRowidExpr = (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FpExpr iRowidExpr = i } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21016, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21148, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto update_cleanup } } if j < 0 { - v11 = __ccgo_ts + 7905 + v11 = __ccgo_ts + 8030 } else { v11 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName } @@ -133321,7 +134286,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui ** that information. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21035) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21167) } goto update_cleanup update_cleanup: @@ -133770,9 +134735,9 @@ func _sqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr if nClause == 0 && (*TUpsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) { (*(*[16]uint8)(unsafe.Pointer(bp + 200)))[0] = uint8(0) } else { - Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21048, libc.VaList(bp+224, nClause+int32(1))) + Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21180, libc.VaList(bp+224, nClause+int32(1))) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21052, libc.VaList(bp+224, bp+200)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21184, libc.VaList(bp+224, bp+200)) return int32(SQLITE_ERROR) } goto _1 @@ -133878,7 +134843,7 @@ func _sqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i++ } i = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), iDataCur, 0, iPk, nPk) - _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12470, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12595, -int32(1)) _sqlite3MayAbort(tls, pParse) _sqlite3VdbeJumpHere(tls, v, i) } @@ -133961,7 +134926,7 @@ func _execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) (r int3 ** corrupt the sqlite_schema.sql field with other kinds of statements ** then run VACUUM to get those statements to execute at inappropriate ** times. */ - if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21125, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21129, uint64(3)) == 0) { + if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21257, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21261, uint64(3)) == 0) { rc = _execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -134090,24 +135055,24 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p pDb = uintptr(0) /* Name of output file */ pgflags = uint32(PAGER_SYNCHRONOUS_OFF) /* sync flags for output db */ if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21133) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21265) return int32(SQLITE_ERROR) /* IMP: R-12218-18073 */ } if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive > int32(1) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21173) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21305) return int32(SQLITE_ERROR) /* IMP: R-15610-35227 */ } saved_openFlags = (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags if pOut != 0 { if Xsqlite3_value_type(tls, pOut) != int32(SQLITE_TEXT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21216) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21348) return int32(SQLITE_ERROR) } zOut = Xsqlite3_value_text(tls, pOut) *(*uint32)(unsafe.Pointer(db + 76)) &= uint32(^libc.Int32FromInt32(SQLITE_OPEN_READONLY)) *(*uint32)(unsafe.Pointer(db + 76)) |= uint32(libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE)) } else { - zOut = __ccgo_ts + 1648 + zOut = __ccgo_ts + 1662 } /* Save the current value of the database flags so that it can be ** restored before returning. Then set the writable-schema flag, and @@ -134139,7 +135104,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** to write the journal header file. */ nDb = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21234, libc.VaList(bp+24, zOut)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21366, libc.VaList(bp+24, zOut)) (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if rc != SQLITE_OK { goto end_of_vacuum @@ -134153,7 +135118,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p *(*Ti64)(unsafe.Pointer(bp)) = 0 if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0) && (_sqlite3OsFileSize(tls, id, bp) != SQLITE_OK || *(*Ti64)(unsafe.Pointer(bp)) > 0) { rc = int32(SQLITE_ERROR) - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21257) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21389) goto end_of_vacuum } *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_VacuumInto) @@ -134170,7 +135135,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, ** to ensure that we do not try to change the page-size on a WAL database. */ - rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14879) + rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14972) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134201,11 +135166,11 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** in the temporary database. */ (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(nDb) /* force new CREATE statements into vacuum_db */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21284, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21416, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21392, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21524, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134214,7 +135179,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy ** the contents to the temporary database. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21446, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21578, libc.VaList(bp+24, zDbMain)) _ = libc.Int32FromInt32(0) *(*Tu32)(unsafe.Pointer(db + 44)) &= uint32(^libc.Int32FromInt32(DBFLAG_Vacuum)) if rc != SQLITE_OK { @@ -134225,7 +135190,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** associated storage, so all we have to do is copy their entries ** from the schema table. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21597, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21729, libc.VaList(bp+24, zDbMain)) if rc != 0 { goto end_of_vacuum } @@ -134773,7 +135738,7 @@ func _addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uint FazArg uintptr Fp uintptr })(unsafe.Pointer(pTable + 64))).FnArg+int32(3) >= *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12700, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12825, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = _sqlite3DbRealloc(tls, db, (*(*struct { FnArg int32 @@ -134900,7 +135865,7 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { if pEnd != 0 { (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32(int64((*TToken)(unsafe.Pointer(pEnd)).Fz)-int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz))) + (*TToken)(unsafe.Pointer(pEnd)).Fn } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21727, libc.VaList(bp+8, pParse+272)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21859, libc.VaList(bp+8, pParse+272)) /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. @@ -134910,11 +135875,11 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { ** by sqlite3StartTable(). */ iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+21751, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+21883, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) v = _sqlite3GetVdbe(tls, pParse) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) - zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21850, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21982, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) _sqlite3DbFree(tls, db, zStmt) v2 = pParse + 56 @@ -135004,7 +135969,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, break } if (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21869, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22001, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(SQLITE_LOCKED) } goto _1 @@ -135041,6 +136006,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+32) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _sqlite3DeleteTable(tls, db, pTab) (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*(*TVtabCtx)(unsafe.Pointer(bp))).FpPrior if rc == int32(SQLITE_NOMEM) { @@ -135049,9 +136016,9 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, _ = libc.Int32FromInt32(0) if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21911, libc.VaList(bp+48, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22043, libc.VaList(bp+48, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3795, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3859, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) } _sqlite3DbFree(tls, db, pVTable) @@ -135064,8 +136031,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*TModule)(unsafe.Pointer(pMod)).FnRefModule++ (*TVTable)(unsafe.Pointer(pVTable)).FnRef = int32(1) if (*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared == 0 { - zFormat = __ccgo_ts + 21941 - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + zFormat = __ccgo_ts + 22073 + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, zModuleName)) _sqlite3VtabUnlock(tls, pVTable) rc = int32(SQLITE_ERROR) } else { @@ -135090,7 +136057,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(iCol < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } - zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1648) + zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1662) i = 0 nType = _sqlite3Strlen30(tls, zType) i = 0 @@ -135098,7 +136065,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(i < nType) { break } - if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16585, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { + if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16672, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { break } goto _3 @@ -135182,13 +136149,13 @@ func _sqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).FazArg)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21987, libc.VaList(bp+16, zModule)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22119, libc.VaList(bp+16, zModule)) rc = int32(SQLITE_ERROR) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) (*TParse)(unsafe.Pointer(pParse)).Frc = rc } _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) @@ -135270,7 +136237,7 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, ** error. Otherwise, do nothing. */ if pMod == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21987, libc.VaList(bp+8, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22119, libc.VaList(bp+8, zMod)) rc = int32(SQLITE_ERROR) } else { rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr) @@ -135296,18 +136263,42 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r int32) { bp := tls.Alloc(448) defer tls.Free(448) - var initBusy, rc int32 - var pCtx, pIdx, pNew, pTab, v2 uintptr - var v1 Ti16 + var i, initBusy, rc int32 + var pCtx, pIdx, pNew, pTab, z, v3 uintptr + var v2 Ti16 var _ /* sParse at bp+0 */ TParse - _, _, _, _, _, _, _, _ = initBusy, pCtx, pIdx, pNew, pTab, rc, v1, v2 + var _ /* tokenType at bp+424 */ int32 + _, _, _, _, _, _, _, _, _, _ = i, initBusy, pCtx, pIdx, pNew, pTab, rc, z, v2, v3 rc = SQLITE_OK + /* Verify that the first two keywords in the CREATE TABLE statement + ** really are "CREATE" and "TABLE". If this is not the case, then + ** sqlite3_declare_vtab() is being misused. + */ + z = zCreateTable + i = 0 + for { + if !(_aKeyword1[i] != 0) { + break + } + *(*int32)(unsafe.Pointer(bp + 424)) = 0 + for cond := true; cond; cond = *(*int32)(unsafe.Pointer(bp + 424)) == int32(TK_SPACE) { + z += uintptr(_sqlite3GetToken(tls, z, bp+424)) + } + if *(*int32)(unsafe.Pointer(bp + 424)) != int32(_aKeyword1[i]) { + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+22138, 0) + return int32(SQLITE_ERROR) + } + goto _1 + _1: + ; + i++ + } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { - _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(155155))) + _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(156227))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) - return _sqlite3MisuseError(tls, int32(155157)) + return _sqlite3MisuseError(tls, int32(156229)) } pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab _ = libc.Int32FromInt32(0) @@ -135321,7 +136312,10 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i initBusy = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) (*(*TParse)(unsafe.Pointer(bp))).FnQueryLoop = int16(1) - if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) && (*(*TParse)(unsafe.Pointer(bp))).FpNewTable != uintptr(0) && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && int32((*TTable)(unsafe.Pointer((*(*TParse)(unsafe.Pointer(bp))).FpNewTable)).FeTabType) == TABTYP_NORM { + if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if !((*TTable)(unsafe.Pointer(pTab)).FaCol != 0) { pNew = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable @@ -135331,9 +136325,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpDfltList) - v1 = (*TTable)(unsafe.Pointer(pNew)).FnCol - (*TTable)(unsafe.Pointer(pTab)).FnCol = v1 - (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v1 + v2 = (*TTable)(unsafe.Pointer(pNew)).FnCol + (*TTable)(unsafe.Pointer(pTab)).FnCol = v2 + (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v2 *(*Tu32)(unsafe.Pointer(pTab + 48)) |= (*TTable)(unsafe.Pointer(pNew)).FtabFlags & uint32(libc.Int32FromInt32(TF_WithoutRowid)|libc.Int32FromInt32(TF_NoVisibleRowid)) (*TTable)(unsafe.Pointer(pNew)).FnCol = 0 (*TTable)(unsafe.Pointer(pNew)).FaCol = uintptr(0) @@ -135355,11 +136349,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = int32(1) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - v2 = __ccgo_ts + 3795 + v3 = __ccgo_ts + 3859 } else { - v2 = uintptr(0) + v3 = uintptr(0) } - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v2, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v3, libc.VaList(bp+440, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) rc = int32(SQLITE_ERROR) } @@ -135376,6 +136370,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i return rc } +var _aKeyword1 = [3]Tu8{ + 0: uint8(TK_CREATE), + 1: uint8(TK_TABLE), +} + // C documentation // // /* @@ -135837,7 +136836,7 @@ func _sqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) _addModuleArgument(tls, pParse, pTab, _sqlite3DbStrDup(tls, db, (*TTable)(unsafe.Pointer(pTab)).FzName)) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp) if rc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3VtabEponymousTableClear(tls, db, pMod) } @@ -135904,7 +136903,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = _sqlite3MisuseError(tls, int32(155651)) + rc = _sqlite3MisuseError(tls, int32(156723)) } else { _ = libc.Int32FromInt32(0) ap = va @@ -135918,7 +136917,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in case int32(SQLITE_VTAB_USES_ALL_SCHEMAS): (*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1) default: - rc = _sqlite3MisuseError(tls, int32(155673)) + rc = _sqlite3MisuseError(tls, int32(156745)) break } _ = ap @@ -136640,10 +137639,10 @@ type WhereInfo1 = TWhereInfo1 func _explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) (r uintptr) { i = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -int32(2) { - return __ccgo_ts + 22006 + return __ccgo_ts + 22151 } if i == -int32(1) { - return __ccgo_ts + 16694 + return __ccgo_ts + 16781 } return (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*16))).FzCnName } @@ -136663,10 +137662,10 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, _ = i _ = libc.Int32FromInt32(0) if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22013, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22158, int32(5)) } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22019, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22164, int32(1)) } i = 0 for { @@ -136674,7 +137673,7 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13090, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13215, int32(1)) } Xsqlite3_str_appendall(tls, pStr, _explainIndexColumnName(tls, pIdx, iTerm+i)) goto _1 @@ -136683,11 +137682,11 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5170, int32(1)) } Xsqlite3_str_append(tls, pStr, zOp, int32(1)) if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22019, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22164, int32(1)) } i = 0 for { @@ -136695,16 +137694,16 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13090, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13215, int32(1)) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5172, int32(1)) goto _2 _2: ; i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5170, int32(1)) } } @@ -136737,7 +137736,7 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { if int32(nEq) == 0 && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_BTM_LIMIT)|libc.Int32FromInt32(WHERE_TOP_LIMIT)) == uint32(0) { return } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22021, int32(2)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22166, int32(2)) i = 0 for { if !(i < int32(nEq)) { @@ -136745,12 +137744,12 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } z = _explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22013, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22158, int32(5)) } if i >= int32(nSkip) { - v2 = __ccgo_ts + 22024 + v2 = __ccgo_ts + 22169 } else { - v2 = __ccgo_ts + 22029 + v2 = __ccgo_ts + 22174 } Xsqlite3_str_appendf(tls, pStr, v2, libc.VaList(bp+8, z)) goto _1 @@ -136760,13 +137759,13 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } j = i if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_BTM_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22037) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22182) i = int32(1) } if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_TOP_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22039) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22184) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5170, int32(1)) } // C documentation @@ -136809,11 +137808,11 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if isSearch != 0 { - v2 = __ccgo_ts + 22041 + v2 = __ccgo_ts + 22186 } else { - v2 = __ccgo_ts + 22048 + v2 = __ccgo_ts + 22193 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22053, libc.VaList(bp+144, v2, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22198, libc.VaList(bp+144, v2, pItem)) if flags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_VIRTUALTABLE)) == uint32(0) { zFmt = uintptr(0) _ = libc.Int32FromInt32(0) @@ -136821,37 +137820,37 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _ = libc.Int32FromInt32(0) if !((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) && int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = __ccgo_ts + 11253 + zFmt = __ccgo_ts + 11378 } } else { if flags&uint32(WHERE_PARTIALIDX) != 0 { - zFmt = __ccgo_ts + 22059 + zFmt = __ccgo_ts + 22204 } else { if flags&uint32(WHERE_AUTO_INDEX) != 0 { - zFmt = __ccgo_ts + 22092 + zFmt = __ccgo_ts + 22237 } else { if flags&uint32(WHERE_IDX_ONLY) != 0 { - zFmt = __ccgo_ts + 22117 + zFmt = __ccgo_ts + 22262 } else { - zFmt = __ccgo_ts + 22135 + zFmt = __ccgo_ts + 22280 } } } } if zFmt != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22144, int32(7)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22289, int32(7)) Xsqlite3_str_appendf(tls, bp, zFmt, libc.VaList(bp+144, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) _explainIndexRange(tls, bp, pLoop) } } else { if flags&uint32(WHERE_IPK) != uint32(0) && flags&uint32(WHERE_CONSTRAINT) != uint32(0) { - zRowid = __ccgo_ts + 16694 - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22152, libc.VaList(bp+144, zRowid)) + zRowid = __ccgo_ts + 16781 + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22297, libc.VaList(bp+144, zRowid)) if flags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != 0 { cRangeOp = uint8('=') } else { if flags&uint32(WHERE_BOTH_LIMIT) == uint32(WHERE_BOTH_LIMIT) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22183, libc.VaList(bp+144, zRowid)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22328, libc.VaList(bp+144, zRowid)) cRangeOp = uint8('<') } else { if flags&uint32(WHERE_BTM_LIMIT) != 0 { @@ -136862,10 +137861,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22193, libc.VaList(bp+144, int32(cRangeOp))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22338, libc.VaList(bp+144, int32(cRangeOp))) } else { if flags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22198, libc.VaList(bp+144, (*(*struct { + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22343, libc.VaList(bp+144, (*(*struct { FidxNum int32 F__ccgo4 uint8 FisOrdered Ti8 @@ -136884,7 +137883,7 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } if int32((*TSrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&int32(JT_LEFT) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22225, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22370, 0) } zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) @@ -136918,14 +137917,14 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Initial space for EQP output string */ _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22236, libc.VaList(bp+144, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22381, libc.VaList(bp+144, pItem)) pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_IPK) != 0 { pTab = (*TSrcItem)(unsafe.Pointer(pItem)).FpTab if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22024, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22169, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) } else { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22257, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22402, 0) } } else { i = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) @@ -136935,16 +137934,16 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp } z = _explainIndexColumnName(tls, (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex, i) if i > int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22013, int32(5)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22158, int32(5)) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22024, libc.VaList(bp+144, z)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22169, libc.VaList(bp+144, z)) goto _1 _1: ; i++ } } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5170, int32(1)) zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) return ret @@ -137810,6 +138809,35 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32 } } +// C documentation +// +// /* +// ** Loop pLoop is a WHERE_INDEXED level that uses at least one IN(...) +// ** operator. Return true if level pLoop is guaranteed to visit only one +// ** row for each key generated for the index. +// */ +func _whereLoopIsOneRow(tls *libc.TLS, pLoop uintptr) (r int32) { + var ii int32 + _ = ii + if (*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FonError != 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) == 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq) == int32((*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FnKeyCol) { + ii = 0 + for { + if !(ii < int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq)) { + break + } + if int32((*TWhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(ii)*8)))).FeOperator)&(libc.Int32FromInt32(WO_IS)|libc.Int32FromInt32(WO_ISNULL)) != 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) + } + return 0 +} + // C documentation // // /* @@ -138540,7 +139568,10 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI _ = libc.Int32FromInt32(0) } /* Record the instruction used to terminate the loop. */ - if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 { + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 || (*(*struct { + FnIn int32 + FaInLoop uintptr + })(unsafe.Pointer(pLevel + 72))).FnIn != 0 && regBignull == 0 && _whereLoopIsOneRow(tls, pLoop) != 0 { (*TWhereLevel)(unsafe.Pointer(pLevel)).Fop = uint8(OP_Noop) } else { if bRev != 0 { @@ -138717,7 +139748,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22265, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22410, 0) ii = 0 for { if !(ii < (*TWhereClause)(unsafe.Pointer(pOrWc)).FnTerm) { @@ -138740,7 +139771,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } /* Loop through table entries that match term pOrTerm. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22280, libc.VaList(bp+96, ii+int32(1))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22425, libc.VaList(bp+96, ii+int32(1))) pSubWInfo = _sqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) _ = libc.Int32FromInt32(0) if pSubWInfo != 0 { @@ -138911,6 +139942,12 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** iLoop==3: Code all remaining expressions. ** ** An effort is made to skip unnecessary iterations of the loop. + ** + ** This optimization of causing simple query restrictions to occur before + ** more complex one is call the "push-down" optimization in MySQL. Here + ** in SQLite, the name is "MySQL push-down", since there is also another + ** totally unrelated optimization called "WHERE-clause push-down". + ** Sometimes the qualifier is omitted, resulting in an ambiguity, so beware. */ if pIdx != 0 { v60 = int32(1) @@ -139217,9 +140254,9 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe defer tls.Free(128) var addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, nPk, r, v3 int32 var mAll TBitmask - var pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr + var pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr var _ /* sFrom at bp+0 */ TSrcList - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pRJ = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpRJ @@ -139228,13 +140265,18 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop pTabItem = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 mAll = uint64(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22289, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22434, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) k = 0 for { if !(k < iLevel) { break } + _ = libc.Int32FromInt32(0) + pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*104 mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf + if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x20>>5)) != 0 { + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pRight)).FpSelect)).FpEList)).FnExpr-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiTabCur) iIdxCur = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiIdxCur if iIdxCur != 0 { @@ -139769,19 +140811,19 @@ var _aOp = [4]struct { FeOp2 uint8 }{ 0: { - FzOp: __ccgo_ts + 16543, + FzOp: __ccgo_ts + 16630, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH), }, 1: { - FzOp: __ccgo_ts + 15874, + FzOp: __ccgo_ts + 15967, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB), }, 2: { - FzOp: __ccgo_ts + 15353, + FzOp: __ccgo_ts + 15446, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE), }, 3: { - FzOp: __ccgo_ts + 22303, + FzOp: __ccgo_ts + 22448, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP), }, } @@ -140440,7 +141482,7 @@ func _exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, aiCurCol uintptr, pExpr goto _4 } _ = libc.Int32FromInt32(0) - if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_STRING) { + if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && !(_sqlite3ExprIsConstant(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr) != 0) { *(*int32)(unsafe.Pointer(aiCurCol)) = iCur *(*int32)(unsafe.Pointer(aiCurCol + 1*4)) = -int32(2) return int32(1) @@ -140600,7 +141642,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { extraRight = x - uint64(1) /* ON clause terms may not be used with an index ** on left table of a LEFT JOIN. Ticket #3015 */ if prereqAll>>libc.Int32FromInt32(1) >= x { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22310, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22455, 0) return } } else { @@ -140612,7 +141654,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { ** if there is a RIGHT or FULL JOIN in the query. This makes SQLite ** more like other systems, and also preserves legacy. */ if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*(*TSrcItem)(unsafe.Pointer(pSrc + 8))).Ffg.Fjointype)&int32(JT_LTORJ) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22310, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22455, 0) return } *(*Tu32)(unsafe.Pointer(pExpr + 4)) &= uint32(^libc.Int32FromInt32(EP_InnerON)) @@ -140703,7 +141745,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { if op == int32(TK_ISNULL) && !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)) != libc.Uint32FromInt32(0)) && 0 == _sqlite3ExprCanBeNull(tls, pLeft) { _ = libc.Int32FromInt32(0) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_TRUEFALSE) /* See tag-20230504-1 */ - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 7891 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8016 *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_IsFalse)) (*TWhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator = uint16(0) @@ -140806,7 +141848,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { *(*Tu8)(unsafe.Pointer(pC)) = uint8(int32(c1) + int32(1)) } if *(*int32)(unsafe.Pointer(bp + 12)) != 0 { - v13 = __ccgo_ts + 22351 + v13 = __ccgo_ts + 22496 } else { v13 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) } @@ -141079,6 +142121,9 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FleftCursor != iCsr { return } + if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FprereqRight != uint64(0) { + return + } goto _1 _1: ; @@ -141109,10 +142154,12 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { } /* All conditions are met. Add the terms to the where-clause object. */ _ = libc.Int32FromInt32(0) - _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) - if (*TSelect)(unsafe.Pointer(p)).FiOffset > 0 { + if (*TSelect)(unsafe.Pointer(p)).FiOffset != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiOffset, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpRight, iCsr, int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } + if (*TSelect)(unsafe.Pointer(p)).FiOffset == 0 || (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { + _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) + } } } @@ -141344,7 +142391,7 @@ func _sqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22358, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22503, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) return } pColRef = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_COLUMN), uintptr(0), 0) @@ -141786,6 +142833,50 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { return uintptr(0) } +// C documentation +// +// /* +// ** Term pTerm is guaranteed to be a WO_IN term. It may be a component term +// ** of a vector IN expression of the form "(x, y, ...) IN (SELECT ...)". +// ** This function checks to see if the term is compatible with an index +// ** column with affinity idxaff (one of the SQLITE_AFF_XYZ values). If so, +// ** it returns a pointer to the name of the collation sequence (e.g. "BINARY" +// ** or "NOCASE") used by the comparison in pTerm. If it is not compatible +// ** with affinity idxaff, NULL is returned. +// */ +func _indexInAffinityOk(tls *libc.TLS, pParse uintptr, pTerm uintptr, idxaff Tu8) (r uintptr) { + bp := tls.Alloc(80) + defer tls.Free(80) + var iField int32 + var pRet, pX, v1 uintptr + var _ /* inexpr at bp+0 */ TExpr + _, _, _, _ = iField, pRet, pX, v1 + pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr + _ = libc.Int32FromInt32(0) + if _sqlite3ExprIsVector(tls, (*TExpr)(unsafe.Pointer(pX)).FpLeft) != 0 { + iField = (*(*struct { + FleftColumn int32 + FiField int32 + })(unsafe.Pointer(pTerm + 32))).FiField - int32(1) + (*(*TExpr)(unsafe.Pointer(bp))).Fflags = uint32(0) + (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_EQ) + (*(*TExpr)(unsafe.Pointer(bp))).FpLeft = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pX)).FpLeft + 32)) + 8 + uintptr(iField)*32))).FpExpr + _ = libc.Int32FromInt32(0) + (*(*TExpr)(unsafe.Pointer(bp))).FpRight = (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pX + 32)))).FpEList + 8 + uintptr(iField)*32))).FpExpr + pX = bp + } + if _sqlite3IndexAffinityOk(tls, pX, idxaff) != 0 { + pRet = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pRet != 0 { + v1 = (*TCollSeq)(unsafe.Pointer(pRet)).FzName + } else { + v1 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + return v1 + } + return uintptr(0) +} + // C documentation // // /* @@ -141796,10 +142887,10 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { var iColumn Ti16 var iCur, j, k int32 - var pColl, pParse, pTerm, pWC, pX, v2 uintptr - var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, v2, v3, v5 /* The term being tested */ - k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ + var pColl, pParse, pTerm, pWC, pX, zCollName, v2, v5 uintptr + var v3, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, zCollName, v2, v3, v5, v6 /* The term being tested */ + k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ _ = libc.Int32FromInt32(0) pWC = (*TWhereScan)(unsafe.Pointer(pScan)).FpWC for int32(1) != 0 { @@ -141847,22 +142938,32 @@ func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { if (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName != 0 && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_ISNULL) == 0 { pParse = (*TWhereInfo)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr - if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { - goto _1 - } - _ = libc.Int32FromInt32(0) - pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) - if pColl == uintptr(0) { - pColl = (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_IN) != 0 { + zCollName = _indexInAffinityOk(tls, pParse, pTerm, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) + if !(zCollName != 0) { + goto _1 + } + } else { + if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { + goto _1 + } + _ = libc.Int32FromInt32(0) + pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pColl != 0 { + v5 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName + } else { + v5 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + zCollName = v5 } - if _sqlite3StrICmp(tls, (*TCollSeq)(unsafe.Pointer(pColl)).FzName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { + if _sqlite3StrICmp(tls, zCollName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { goto _1 } } - if v5 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v5 { + if v6 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v6 { pX = (*TExpr)(unsafe.Pointer((*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpRight } - if v5 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { + if v6 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { goto _1 } (*TWhereScan)(unsafe.Pointer(pScan)).FpWC = pWC @@ -142356,7 +143457,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea /* Make the automatic index a partial index if there are terms in the ** WHERE clause (or the ON clause of a LEFT join) that constrain which ** rows of the target table (pSrc) that can be used. */ - if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)) != 0 { + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom), 0) != 0 { pPartial = _sqlite3ExprAnd(tls, pParse, pPartial, _sqlite3ExprDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr, 0)) } if _termCanDriveIndex(tls, pTerm, pSrc, notReady) != 0 { @@ -142372,7 +143473,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea } cMask = v2 if !(sentWarning != 0) { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_WARNING)|libc.Int32FromInt32(1)<>14)) != 0) { eDistinct = int32(2) + libc.BoolInt32(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_SORTBYGROUP) != 0) } else { if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_GROUPBY) != 0 { @@ -142868,7 +143969,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB */ pIdxInfo = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(96)+(libc.Uint64FromInt64(12)+libc.Uint64FromInt64(8))*uint64(nTerm)+uint64(8)*uint64(nOrderBy)+uint64(40)+uint64(8)*uint64(nTerm)) if pIdxInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1632, 0) return uintptr(0) } pHidden = pIdxInfo + 1*96 @@ -142960,7 +144061,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB break } pExpr1 = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr - if _sqlite3ExprIsConstant(tls, pExpr1) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr1) != 0 { goto _11 } _ = libc.Int32FromInt32(0) @@ -143039,9 +144140,9 @@ func _vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) (r i _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) } else { if !((*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } } @@ -144413,7 +145514,7 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x4>>2)) != 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GE)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LE)-libc.Int32FromInt32(TK_EQ))) } - if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 { + if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 && int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x2>>1)) == 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ) | libc.Int32FromInt32(WO_IN) | libc.Int32FromInt32(WO_IS)) } } @@ -144665,10 +145766,13 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } } } - /* Set rCostIdx to the cost of visiting selected rows in index. Add - ** it to pNew->rRun, which is currently set to the cost of the index - ** seek only. Then, if this is a non-covering index, add the cost of - ** visiting the rows in the main table. */ + /* Set rCostIdx to the estimated cost of visiting selected rows in the + ** index. The estimate is the sum of two values: + ** 1. The cost of doing one search-by-key to find the first matching + ** entry + ** 2. Stepping forward in the index pNew->nOut times to find all + ** additional matching entries. + */ _ = libc.Int32FromInt32(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_IPK) { /* The pProbe->szIdxRow is low for an IPK table since the interior @@ -144679,7 +145783,14 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } else { rCostIdx = int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut) + int32(1) + int32(15)*int32((*TIndex)(unsafe.Pointer(pProbe)).FszIdxRow)/int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FszTabRow)) } - (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + rCostIdx = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + /* Estimate the cost of running the loop. If all data is coming + ** from the index, then this is just the cost of doing the index + ** lookup and scan. But if some data is coming out of the main table, + ** we also have to add in the cost of doing pNew->nOut searches to + ** locate the row in the main table that corresponds to the index entry. + */ + (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = rCostIdx if (*TWhereLoop)(unsafe.Pointer(pNew)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IDX_ONLY)|libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_EXPRIDX)) == uint32(0) { (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun, int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut)+int32(16))) } @@ -144785,7 +145896,7 @@ func _indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, if pExpr == uintptr(0) { goto _2 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { + if (int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) || int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_COLUMN)) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { return int32(1) } @@ -145122,7 +146233,7 @@ func _wherePartIdxExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, pPart uintpt if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) != int32(TK_COLUMN) { return } - if !(_sqlite3ExprIsConstant(tls, pRight) != 0) { + if !(_sqlite3ExprIsConstant(tls, uintptr(0), pRight) != 0) { return } if !(_sqlite3IsBinary(tls, _sqlite3ExprCompareCollSeq(tls, pParse, pPart)) != 0) { @@ -145457,7 +146568,7 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in ** unique index is used (making the index functionally non-unique) ** then the sqlite_stat1 data becomes important for scoring the ** plan */ - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) } _sqlite3Stat4ProbeFree(tls, (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec) (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid = 0 @@ -145486,6 +146597,31 @@ func _isLimitTerm(tls *libc.TLS, pTerm uintptr) (r int32) { return libc.BoolInt32(int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= int32(SQLITE_INDEX_CONSTRAINT_LIMIT) && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } +// C documentation +// +// /* +// ** Return true if the first nCons constraints in the pUsage array are +// ** marked as in-use (have argvIndex>0). False otherwise. +// */ +func _allConstraintsUsed(tls *libc.TLS, aUsage uintptr, nCons int32) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < nCons) { + break + } + if (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer(aUsage + uintptr(ii)*8))).FargvIndex <= 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + // C documentation // // /* @@ -145583,7 +146719,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if v3 >= 0 { j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).FiTermOffset if iTerm >= nConstraint || j < 0 || j >= (*TWhereClause)(unsafe.Pointer(pWC)).FnTerm || *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) || int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22431, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22576, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } pTerm1 = (*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(j)*56 @@ -145630,13 +146766,19 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, _ = libc.Int32FromInt32(0) } } + /* Unless pbRetryLimit is non-NULL, there should be no LIMIT/OFFSET + ** terms. And if there are any, they should follow all other terms. */ + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - if _isLimitTerm(tls, pTerm1) != 0 && *(*int32)(unsafe.Pointer(pbIn)) != 0 { + if _isLimitTerm(tls, pTerm1) != 0 && (*(*int32)(unsafe.Pointer(pbIn)) != 0 || !(_allConstraintsUsed(tls, pUsage, i) != 0)) { /* If there is an IN(...) term handled as an == (separate call to ** xFilter for each value on the RHS of the IN) and a LIMIT or - ** OFFSET term handled as well, the plan is unusable. Set output - ** variable *pbRetryLimit to true to tell the caller to retry with - ** LIMIT and OFFSET disabled. */ + ** OFFSET term handled as well, the plan is unusable. Similarly, + ** if there is a LIMIT/OFFSET and there are other unused terms, + ** the plan cannot be used. In these cases set variable *pbRetryLimit + ** to true to tell the caller to retry with LIMIT and OFFSET + ** disabled. */ if (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr != 0 { Xsqlite3_free(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = uintptr(0) @@ -145661,7 +146803,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { /* The non-zero argvIdx values must be contiguous. Raise an ** error if they are not */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22431, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22576, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } goto _6 @@ -145814,7 +146956,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal pVal = uintptr(0) rc = SQLITE_OK if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { - rc = _sqlite3MisuseError(tls, int32(165251)) /* EV: R-30545-25046 */ + rc = _sqlite3MisuseError(tls, int32(166453)) /* EV: R-30545-25046 */ } else { if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) { pTerm = (*TWhereClause)(unsafe.Pointer((*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC)).Fa + uintptr((*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)*56 @@ -146262,7 +147404,7 @@ func _whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) (r int32) { if rc != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { if rc == int32(SQLITE_DONE) { /* We hit the query planner search limit set by iPlanLimit */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22457, 0) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22602, 0) rc = SQLITE_OK } else { break @@ -146651,7 +147793,7 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } p = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr mTerm = _sqlite3WhereExprUsage(tls, pWInfo+592, p) - if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, p) != 0) { + if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, uintptr(0), p) != 0) { goto _9 } if mTerm & ^orderDistinctMask == uint64(0) { @@ -147072,7 +148214,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) iLoop++ } if nFrom == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22492, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22637, 0) _sqlite3DbFreeNN(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pSpace) return int32(SQLITE_ERROR) } @@ -147122,9 +148264,8 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) if int32((*TWherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*TExprList)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_ORDERED) } - if (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 && int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr { - (*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = int8((*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr) - } + /* vvv--- See check-in [12ad822d9b827777] on 2023-03-16 ---vvv */ + _ = libc.Int32FromInt32(0) } else { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*TWherePath)(unsafe.Pointer(pFrom)).FrevLoop if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 { @@ -147162,6 +148303,97 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) return SQLITE_OK } +// C documentation +// +// /* +// ** This routine implements a heuristic designed to improve query planning. +// ** This routine is called in between the first and second call to +// ** wherePathSolver(). Hence the name "Interstage" "Heuristic". +// ** +// ** The first call to wherePathSolver() (hereafter just "solver()") computes +// ** the best path without regard to the order of the outputs. The second call +// ** to the solver() builds upon the first call to try to find an alternative +// ** path that satisfies the ORDER BY clause. +// ** +// ** This routine looks at the results of the first solver() run, and for +// ** every FROM clause term in the resulting query plan that uses an equality +// ** constraint against an index, disable other WhereLoops for that same +// ** FROM clause term that would try to do a full-table scan. This prevents +// ** an index search from being converted into a full-table scan in order to +// ** satisfy an ORDER BY clause, since even though we might get slightly better +// ** performance using the full-scan without sorting if the output size +// ** estimates are very precise, we might also get severe performance +// ** degradation using the full-scan if the output size estimate is too large. +// ** It is better to err on the side of caution. +// ** +// ** Except, if the first solver() call generated a full-table scan in an outer +// ** loop then stop this analysis at the first full-scan, since the second +// ** solver() run might try to swap that full-scan for another in order to +// ** get the output into the correct order. In other words, we allow a +// ** rewrite like this: +// ** +// ** First Solver() Second Solver() +// ** |-- SCAN t1 |-- SCAN t2 +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** The purpose of this routine is to disallow rewrites such as: +// ** +// ** First Solver() Second Solver() +// ** |-- SEARCH t1 |-- SCAN t2 <--- bad! +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** See test cases in test/whereN.test for the real-world query that +// ** originally provoked this heuristic. +// */ +func _whereInterstageHeuristic(tls *libc.TLS, pWInfo uintptr) { + var i int32 + var iTab Tu8 + var p, pLoop uintptr + _, _, _, _ = i, iTab, p, pLoop + i = 0 + for { + if !(i < int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnLevel)) { + break + } + p = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(i)*104))).FpWLoop + if p == uintptr(0) { + break + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { + goto _1 + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_NULL)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != uint32(0) { + iTab = (*TWhereLoop)(unsafe.Pointer(p)).FiTab + pLoop = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpLoops + for { + if !(pLoop != 0) { + break + } + if int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab) != int32(iTab) { + goto _2 + } + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_CONSTRAINT)|libc.Int32FromInt32(WHERE_AUTO_INDEX)) != uint32(0) { + /* Auto-index and index-constrained loops allowed to remain */ + goto _2 + } + (*TWhereLoop)(unsafe.Pointer(pLoop)).Fprereq = uint64(-libc.Int32FromInt32(1)) /* Prevent 2nd solver() from using this one */ + goto _2 + _2: + ; + pLoop = (*TWhereLoop)(unsafe.Pointer(pLoop)).FpNextLoop + } + } else { + break + } + goto _1 + _1: + ; + i++ + } +} + // C documentation // // /* @@ -147480,7 +148712,7 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasStat1) == uint32(0) { break } - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) if i >= int32(1) && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&reqFlags == reqFlags && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_INDEXED)) != uint32(0) { if int32(nSearch) > int32((*TTable)(unsafe.Pointer(pTab)).FnRowLogEst) { *(*Tu32)(unsafe.Pointer(pLoop + 48)) |= uint32(WHERE_BLOOMFILTER) @@ -147495,6 +148727,69 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { } } +// C documentation +// +// /* +// ** Expression Node callback for sqlite3ExprCanReturnSubtype(). +// ** +// ** Only a function call is able to return a subtype. So if the node +// ** is not a function call, return WRC_Prune immediately. +// ** +// ** A function call is able to return a subtype if it has the +// ** SQLITE_RESULT_SUBTYPE property. +// ** +// ** Assume that every function is able to pass-through a subtype from +// ** one of its argument (using sqlite3_result_value()). Most functions +// ** are not this way, but we don't have a mechanism to distinguish those +// ** that are from those that are not, so assume they all work this way. +// ** That means that if one of its arguments is another function and that +// ** other function is able to return a subtype, then this function is +// ** able to return a subtype. +// */ +func _exprNodeCanReturnSubtype(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef uintptr + var n, v1 int32 + _, _, _, _ = db, n, pDef, v1 + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_FUNCTION) { + return int32(WRC_Prune) + } + _ = libc.Int32FromInt32(0) + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { + v1 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr + } else { + v1 = 0 + } + n = v1 + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + return int32(WRC_Prune) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Return TRUE if expression pExpr is able to return a subtype. +// ** +// ** A TRUE return does not guarantee that a subtype will be returned. +// ** It only indicates that a subtype return is possible. False positives +// ** are acceptable as they only disable an optimization. False negatives, +// ** on the other hand, can lead to incorrect answers. +// */ +func _sqlite3ExprCanReturnSubtype(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeCanReturnSubtype) + _sqlite3WalkExpr(tls, bp, pExpr) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) +} + // C documentation // // /* @@ -147509,9 +148804,9 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { // ** references to the corresponding column of the index. // */ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur int32, pTabItem uintptr) { - var db, p, pArg, pDef, pExpr, pTab uintptr - var i, j, n, v2 int32 - _, _, _, _, _, _, _, _, _, _ = db, i, j, n, p, pArg, pDef, pExpr, pTab, v2 + var i, j int32 + var p, pArg, pExpr, pTab uintptr + _, _, _, _, _, _ = i, j, p, pArg, pExpr, pTab _ = libc.Int32FromInt32(0) pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable i = 0 @@ -147529,22 +148824,14 @@ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur i goto _1 } } - if _sqlite3ExprIsConstant(tls, pExpr) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) != 0 { goto _1 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) { - db = (*TParse)(unsafe.Pointer(pParse)).Fdb - _ = libc.Int32FromInt32(0) - if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { - v2 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr - } else { - v2 = 0 - } - n = v2 - pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) - if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { - goto _1 - } + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) && _sqlite3ExprCanReturnSubtype(tls, pParse, pExpr) != 0 { + /* Functions that might set a subtype should not be replaced by the + ** value taken from an expression index since the index omits the + ** subtype. https://sqlite.org/forum/forumpost/68d284c86b082c3e */ + goto _1 } p = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(32)) if p == uintptr(0) { @@ -147718,7 +149005,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** bits in a Bitmask */ if (*TSrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22510, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22655, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) return uintptr(0) } /* This function normally generates a nested loop for all tables in @@ -147791,7 +149078,9 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere if int32(wctrlFlags)&int32(WHERE_WANT_DISTINCT) != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_DistinctOpt)) == uint32(0) { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_UNIQUE) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22538, 0) + if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FselFlags&uint32(SF_MultiValue) == uint32(0) { + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22683, 0) + } } else { /* Assign a bit from the bitmask to every term in the FROM clause. ** @@ -147925,6 +149214,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere goto whereBeginError } if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy != 0 { + _whereInterstageHeuristic(tls, pWInfo) _wherePathSolver(tls, pWInfo, int16(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut)+int32(1))) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto whereBeginError @@ -148247,10 +149537,10 @@ whereBeginError: // ** sqlite3WhereBegin() for additional information. // */ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { - var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, r1, ws, x, v4, v7 int32 - var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr + var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, r1, ws, x, v4, v7 int32 + var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pTabList = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList @@ -148393,7 +149683,14 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { addr = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfPos), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) _ = libc.Int32FromInt32(0) if ws&int32(WHERE_IDX_ONLY) == 0 { + pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 _ = libc.Int32FromInt32(0) + if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x20>>5)) != 0 { + n1 = (*TSrcItem)(unsafe.Pointer(pSrc)).FregResult + _ = libc.Int32FromInt32(0) + m = int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FnCol) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, n1, n1+m-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) } if ws&int32(WHERE_INDEXED) != 0 || ws&int32(WHERE_MULTI_OR) != 0 && *(*uintptr)(unsafe.Pointer(&(*TWhereLevel)(unsafe.Pointer(pLevel)).Fu)) != 0 { @@ -148442,6 +149739,7 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { ** OP_Rowid becomes OP_Null. */ if int32(uint32(*(*uint16)(unsafe.Pointer(pTabItem + 60 + 4))&0x20>>5)) != 0 { + _ = libc.Int32FromInt32(0) _translateColumnToCopy(tls, pParse, (*TWhereLevel)(unsafe.Pointer(pLevel)).FaddrBody, (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur, (*TSrcItem)(unsafe.Pointer(pTabItem)).FregResult, 0) goto _9 } @@ -148816,7 +150114,7 @@ func _nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) goto error_out error_out: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22556, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22701, -int32(1)) } func _nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { @@ -149003,7 +150301,7 @@ func _ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { if (*TNtileCtx)(unsafe.Pointer(p)).FnTotal == 0 { (*TNtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg))) if (*TNtileCtx)(unsafe.Pointer(p)).FnParam <= 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22612, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22757, -int32(1)) } } (*TNtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -149331,7 +150629,7 @@ func _windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) (r p = (*TWindow)(unsafe.Pointer(p)).FpNextWin } if p == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22657, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22802, libc.VaList(bp+8, zName)) } return p } @@ -149382,12 +150680,12 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin _sqlite3WindowChain(tls, pParse, pWin, pList) } if int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) == int32(TK_RANGE) && ((*TWindow)(unsafe.Pointer(pWin)).FpStart != 0 || (*TWindow)(unsafe.Pointer(pWin)).FpEnd != 0) && ((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*TExprList)(unsafe.Pointer((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != int32(1)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22676, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22821, 0) } else { if (*TFuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TWindow)(unsafe.Pointer(pWin)).FpFilter != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22747, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22892, 0) } else { aUp = [8]struct { FzFunc uintptr @@ -149460,7 +150758,7 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*TWindow)(unsafe.Pointer(pWin)).FeEnd = uint8(aUp[i].FeEnd) (*TWindow)(unsafe.Pointer(pWin)).FeExclude = uint8(0) if int32((*TWindow)(unsafe.Pointer(pWin)).FeStart) == int32(TK_FOLLOWING) { - (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8130) + (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8255) } break } @@ -149748,7 +151046,7 @@ func _disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintpt defer tls.Free(16) if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_FUNCTION) && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { _ = libc.Int32FromInt32(0) - _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22810, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) + _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22955, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) } return WRC_Continue } @@ -149891,7 +151189,7 @@ func _sqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { ** keep everything legal in this case. */ if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1722)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1782)) } pSub = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(bp)), pSrc, pWhere, pGroupBy, pHaving, pSort, uint32(0), uintptr(0)) (*TSelect)(unsafe.Pointer(p)).FpSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), uintptr(0), uintptr(0)) @@ -149996,7 +151294,7 @@ func _sqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { // ** variable values in the expression tree. // */ func _sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r uintptr) { - if 0 == _sqlite3ExprIsConstant(tls, pExpr) { + if 0 == _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) { if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameExprUnmap(tls, pParse, pExpr) } @@ -150042,7 +151340,7 @@ func _sqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int3 ** frame boundary. */ if eStart == int32(TK_CURRENT) && eEnd == int32(TK_PRECEDING) || eStart == int32(TK_FOLLOWING) && (eEnd == int32(TK_PRECEDING) || eEnd == int32(TK_CURRENT)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22836, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22981, 0) goto windowAllocErr } pWin = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) @@ -150110,18 +151408,18 @@ func _sqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint zErr = uintptr(0) /* Check for errors */ if (*TWindow)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = __ccgo_ts + 22868 + zErr = __ccgo_ts + 23013 } else { if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*TWindow)(unsafe.Pointer(pWin)).FpOrderBy != 0 { - zErr = __ccgo_ts + 22885 + zErr = __ccgo_ts + 23030 } else { if int32((*TWindow)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = __ccgo_ts + 22901 + zErr = __ccgo_ts + 23046 } } } if zErr != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22921, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23066, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) } else { (*TWindow)(unsafe.Pointer(pWin)).FpPartition = _sqlite3ExprListDup(tls, db, (*TWindow)(unsafe.Pointer(pExist)).FpPartition, 0) if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 { @@ -150149,7 +151447,7 @@ func _sqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(libc.Int32FromInt32(EP_WinFunc) | libc.Int32FromInt32(EP_FullSize)) (*TWindow)(unsafe.Pointer(pWin)).FpOwner = p if (*TExpr)(unsafe.Pointer(p)).Fflags&uint32(EP_Distinct) != 0 && int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) != int32(TK_FILTER) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22954, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23099, 0) } } else { _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -150351,7 +151649,7 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regZero) if eCond >= int32(WINDOW_STARTING_NUM) { regString = _sqlite3GetTempReg(tls, pParse) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1648, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1662, -int32(1)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, _sqlite3VdbeCurrentAddr(tls, v)+int32(2), reg) _sqlite3VdbeChangeP5(tls, v, uint16(libc.Int32FromInt32(SQLITE_AFF_NUMERIC)|libc.Int32FromInt32(SQLITE_JUMPIFNULL))) _ = libc.Int32FromInt32(0) @@ -150372,11 +151670,11 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { } var _azErr = [5]uintptr{ - 0: __ccgo_ts + 23001, - 1: __ccgo_ts + 23054, - 2: __ccgo_ts + 22556, - 3: __ccgo_ts + 23105, - 4: __ccgo_ts + 23157, + 0: __ccgo_ts + 23146, + 1: __ccgo_ts + 23199, + 2: __ccgo_ts + 22701, + 3: __ccgo_ts + 23250, + 4: __ccgo_ts + 23302, } var _aOp1 = [5]int32{ @@ -151148,7 +152446,7 @@ func _windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal ** the add/subtract is skipped for these, as required. If reg1 is a NULL, ** then the arithmetic is performed, but since adding or subtracting from ** NULL is always NULL anyway, this case is handled as required too. */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1648, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1662, -int32(1)) addrGe = _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, 0, reg1) if op == int32(OP_Ge) && arith == int32(OP_Add) || op == int32(OP_Le) && arith == int32(OP_Subtract) { _sqlite3VdbeAddOp3(tls, v, op, reg2, lbl, reg1) @@ -152189,11 +153487,11 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { cnt++ if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*TSelect)(unsafe.Pointer(pLoop)).FpLimit != 0 { if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - v1 = __ccgo_ts + 23207 + v1 = __ccgo_ts + 23352 } else { - v1 = __ccgo_ts + 23216 + v1 = __ccgo_ts + 23361 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23222, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23367, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) break } } @@ -152202,7 +153500,7 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { mxSelect = v2 } if v3 && v2 > 0 && cnt > mxSelect { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23264, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23409, 0) } } } @@ -152222,6 +153520,23 @@ func _attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith u return pSelect } +// C documentation +// +// /* Memory allocator for parser stack resizing. This is a thin wrapper around +// ** sqlite3_realloc() that includes a call to sqlite3FaultSim() to facilitate +// ** testing. +// */ +func _parserStackRealloc(tls *libc.TLS, pOld uintptr, newSize Tsqlite3_uint64) (r uintptr) { + var v1 uintptr + _ = v1 + if _sqlite3FaultSim(tls, int32(700)) != 0 { + v1 = uintptr(0) + } else { + v1 = Xsqlite3_realloc(tls, pOld, int32(newSize)) + } + return v1 +} + // C documentation // // /* Construct a new Expr object from a single token */ @@ -152291,7 +153606,7 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId _ = p p = _sqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if (hasCollate != 0 || sortOrder != -int32(1)) && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23298, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23443, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) } _sqlite3ExprListSetName(tls, pParse, p, pIdToken, int32(1)) return p @@ -152341,6 +153656,9 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser // ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser // ** sqlite3ParserCTX_* As sqlite3ParserARG_ except for %extra_context +// ** YYREALLOC Name of the realloc() function to use +// ** YYFREE Name of the free() function to use +// ** YYDYNSTACK True if stack space should be extended on heap // ** YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** YYNSTATE the combined number of states. @@ -152354,31 +153672,33 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** YY_NO_ACTION The yy_action[] code for no-op // ** YY_MIN_REDUCE Minimum value for reduce actions // ** YY_MAX_REDUCE Maximum value for reduce actions +// ** YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type TYYMINORTYPE = struct { Fyy0 [0]TToken - Fyy33 [0]uintptr - Fyy41 [0]uintptr - Fyy47 [0]uintptr - Fyy131 [0]uintptr - Fyy180 [0]TTrigEvent - Fyy231 [0]struct { + Fyy14 [0]uintptr + Fyy59 [0]uintptr + Fyy67 [0]uintptr + Fyy122 [0]uintptr + Fyy132 [0]uintptr + Fyy144 [0]int32 + Fyy168 [0]uintptr + Fyy203 [0]uintptr + Fyy211 [0]uintptr + Fyy269 [0]TOnOrUsing + Fyy286 [0]TTrigEvent + Fyy383 [0]struct { Fvalue int32 Fmask int32 } - Fyy254 [0]uintptr - Fyy285 [0]Tu32 - Fyy322 [0]uintptr - Fyy385 [0]uintptr - Fyy394 [0]int32 - Fyy444 [0]uintptr - Fyy516 [0]Tu8 - Fyy521 [0]uintptr - Fyy522 [0]uintptr - Fyy528 [0]uintptr - Fyy561 [0]TOnOrUsing - Fyy595 [0]TFrameBound + Fyy391 [0]Tu32 + Fyy427 [0]uintptr + Fyy454 [0]uintptr + Fyy462 [0]Tu8 + Fyy509 [0]TFrameBound + Fyy555 [0]uintptr Fyyinit int32 F__ccgo_pad20 [12]byte } @@ -152396,6 +153716,13 @@ type YYMINORTYPE = TYYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -152448,2152 +153775,2194 @@ type YYMINORTYPE = TYYMINORTYPE // ** yy_default[] Default action for each state. // ** // *********** Begin parsing tables **********************************************/ -var _yy_action = [2100]uint16{ - 0: uint16(572), - 1: uint16(210), - 2: uint16(572), - 3: uint16(119), - 4: uint16(116), - 5: uint16(231), - 6: uint16(572), - 7: uint16(119), - 8: uint16(116), - 9: uint16(231), - 10: uint16(572), - 11: uint16(1317), - 12: uint16(379), - 13: uint16(1296), - 14: uint16(410), - 15: uint16(566), - 16: uint16(566), - 17: uint16(566), - 18: uint16(572), - 19: uint16(411), - 20: uint16(380), - 21: uint16(1317), - 22: uint16(1279), - 23: uint16(42), - 24: uint16(42), - 25: uint16(42), - 26: uint16(42), - 27: uint16(210), - 28: uint16(1529), - 29: uint16(72), - 30: uint16(72), - 31: uint16(974), - 32: uint16(421), - 33: uint16(42), - 34: uint16(42), - 35: uint16(495), - 36: uint16(305), - 37: uint16(281), - 38: uint16(305), - 39: uint16(975), - 40: uint16(399), - 41: uint16(72), - 42: uint16(72), - 43: uint16(126), - 44: uint16(127), - 45: uint16(81), - 46: uint16(1217), - 47: uint16(1217), - 48: uint16(1054), - 49: uint16(1057), - 50: uint16(1044), - 51: uint16(1044), - 52: uint16(124), - 53: uint16(124), - 54: uint16(125), - 55: uint16(125), - 56: uint16(125), - 57: uint16(125), - 58: uint16(480), - 59: uint16(411), - 60: uint16(1244), - 61: uint16(1), - 62: uint16(1), - 63: uint16(578), - 64: uint16(2), - 65: uint16(1248), - 66: uint16(554), - 67: uint16(119), - 68: uint16(116), - 69: uint16(231), - 70: uint16(319), - 71: uint16(484), - 72: uint16(147), - 73: uint16(484), - 74: uint16(528), - 75: uint16(119), - 76: uint16(116), - 77: uint16(231), - 78: uint16(533), - 79: uint16(1330), - 80: uint16(419), - 81: uint16(527), - 82: uint16(143), - 83: uint16(126), - 84: uint16(127), - 85: uint16(81), - 86: uint16(1217), - 87: uint16(1217), - 88: uint16(1054), - 89: uint16(1057), - 90: uint16(1044), - 91: uint16(1044), - 92: uint16(124), - 93: uint16(124), - 94: uint16(125), - 95: uint16(125), - 96: uint16(125), - 97: uint16(125), - 98: uint16(119), - 99: uint16(116), - 100: uint16(231), - 101: uint16(329), - 102: uint16(123), - 103: uint16(123), - 104: uint16(123), - 105: uint16(123), - 106: uint16(122), - 107: uint16(122), - 108: uint16(121), - 109: uint16(121), - 110: uint16(121), - 111: uint16(120), - 112: uint16(117), - 113: uint16(448), - 114: uint16(286), - 115: uint16(286), - 116: uint16(286), - 117: uint16(286), - 118: uint16(446), - 119: uint16(446), - 120: uint16(446), - 121: uint16(1568), - 122: uint16(378), - 123: uint16(1570), - 124: uint16(1193), - 125: uint16(377), - 126: uint16(1164), - 127: uint16(569), - 128: uint16(1164), - 129: uint16(569), - 130: uint16(411), - 131: uint16(1568), - 132: uint16(541), - 133: uint16(261), - 134: uint16(228), - 135: uint16(448), - 136: uint16(102), - 137: uint16(146), - 138: uint16(453), - 139: uint16(318), - 140: uint16(563), - 141: uint16(242), - 142: uint16(123), - 143: uint16(123), - 144: uint16(123), - 145: uint16(123), - 146: uint16(122), - 147: uint16(122), - 148: uint16(121), - 149: uint16(121), - 150: uint16(121), - 151: uint16(120), - 152: uint16(117), - 153: uint16(448), - 154: uint16(126), - 155: uint16(127), - 156: uint16(81), - 157: uint16(1217), - 158: uint16(1217), - 159: uint16(1054), - 160: uint16(1057), - 161: uint16(1044), - 162: uint16(1044), - 163: uint16(124), - 164: uint16(124), - 165: uint16(125), - 166: uint16(125), - 167: uint16(125), - 168: uint16(125), - 169: uint16(143), - 170: uint16(296), - 171: uint16(1193), - 172: uint16(341), - 173: uint16(452), - 174: uint16(121), - 175: uint16(121), - 176: uint16(121), - 177: uint16(120), - 178: uint16(117), - 179: uint16(448), - 180: uint16(128), - 181: uint16(1193), - 182: uint16(1194), - 183: uint16(1193), - 184: uint16(149), - 185: uint16(445), - 186: uint16(444), - 187: uint16(572), - 188: uint16(120), - 189: uint16(117), - 190: uint16(448), - 191: uint16(125), - 192: uint16(125), - 193: uint16(125), - 194: uint16(125), - 195: uint16(118), - 196: uint16(123), - 197: uint16(123), - 198: uint16(123), - 199: uint16(123), - 200: uint16(122), - 201: uint16(122), - 202: uint16(121), - 203: uint16(121), - 204: uint16(121), - 205: uint16(120), - 206: uint16(117), - 207: uint16(448), - 208: uint16(458), - 209: uint16(114), - 210: uint16(13), - 211: uint16(13), - 212: uint16(550), - 213: uint16(123), - 214: uint16(123), - 215: uint16(123), - 216: uint16(123), - 217: uint16(122), - 218: uint16(122), - 219: uint16(121), - 220: uint16(121), - 221: uint16(121), - 222: uint16(120), - 223: uint16(117), - 224: uint16(448), - 225: uint16(424), - 226: uint16(318), - 227: uint16(563), - 228: uint16(1193), - 229: uint16(1194), - 230: uint16(1193), - 231: uint16(150), - 232: uint16(1225), - 233: uint16(411), - 234: uint16(1225), - 235: uint16(125), - 236: uint16(125), - 237: uint16(125), - 238: uint16(125), - 239: uint16(123), - 240: uint16(123), - 241: uint16(123), - 242: uint16(123), - 243: uint16(122), - 244: uint16(122), - 245: uint16(121), - 246: uint16(121), - 247: uint16(121), - 248: uint16(120), - 249: uint16(117), - 250: uint16(448), - 251: uint16(469), - 252: uint16(344), - 253: uint16(1041), - 254: uint16(1041), - 255: uint16(1055), - 256: uint16(1058), - 257: uint16(126), - 258: uint16(127), - 259: uint16(81), - 260: uint16(1217), - 261: uint16(1217), - 262: uint16(1054), - 263: uint16(1057), - 264: uint16(1044), - 265: uint16(1044), - 266: uint16(124), - 267: uint16(124), - 268: uint16(125), - 269: uint16(125), - 270: uint16(125), - 271: uint16(125), - 272: uint16(1282), - 273: uint16(526), - 274: uint16(224), - 275: uint16(1193), - 276: uint16(572), - 277: uint16(411), - 278: uint16(226), - 279: uint16(519), - 280: uint16(177), - 281: uint16(83), - 282: uint16(84), - 283: uint16(123), - 284: uint16(123), - 285: uint16(123), - 286: uint16(123), - 287: uint16(122), - 288: uint16(122), - 289: uint16(121), - 290: uint16(121), - 291: uint16(121), - 292: uint16(120), - 293: uint16(117), - 294: uint16(448), - 295: uint16(1010), - 296: uint16(16), - 297: uint16(16), - 298: uint16(1193), - 299: uint16(134), - 300: uint16(134), - 301: uint16(126), - 302: uint16(127), - 303: uint16(81), - 304: uint16(1217), - 305: uint16(1217), - 306: uint16(1054), - 307: uint16(1057), - 308: uint16(1044), - 309: uint16(1044), - 310: uint16(124), - 311: uint16(124), - 312: uint16(125), - 313: uint16(125), - 314: uint16(125), - 315: uint16(125), - 316: uint16(123), - 317: uint16(123), - 318: uint16(123), - 319: uint16(123), - 320: uint16(122), - 321: uint16(122), - 322: uint16(121), - 323: uint16(121), - 324: uint16(121), - 325: uint16(120), - 326: uint16(117), - 327: uint16(448), - 328: uint16(1045), - 329: uint16(550), - 330: uint16(1193), - 331: uint16(375), - 332: uint16(1193), - 333: uint16(1194), - 334: uint16(1193), - 335: uint16(254), - 336: uint16(1438), - 337: uint16(401), - 338: uint16(508), - 339: uint16(505), - 340: uint16(504), - 341: uint16(112), - 342: uint16(564), - 343: uint16(570), +var _yy_action = [2142]uint16{ + 0: uint16(576), + 1: uint16(128), + 2: uint16(125), + 3: uint16(232), + 4: uint16(1622), + 5: uint16(549), + 6: uint16(576), + 7: uint16(1290), + 8: uint16(1281), + 9: uint16(576), + 10: uint16(328), + 11: uint16(576), + 12: uint16(1300), + 13: uint16(212), + 14: uint16(576), + 15: uint16(128), + 16: uint16(125), + 17: uint16(232), + 18: uint16(578), + 19: uint16(412), + 20: uint16(578), + 21: uint16(391), + 22: uint16(1542), + 23: uint16(51), + 24: uint16(51), + 25: uint16(523), + 26: uint16(405), + 27: uint16(1293), + 28: uint16(529), + 29: uint16(51), + 30: uint16(51), + 31: uint16(983), + 32: uint16(51), + 33: uint16(51), + 34: uint16(81), + 35: uint16(81), + 36: uint16(1107), + 37: uint16(61), + 38: uint16(61), + 39: uint16(984), + 40: uint16(1107), + 41: uint16(1292), + 42: uint16(380), + 43: uint16(135), + 44: uint16(136), + 45: uint16(90), + 46: uint16(1228), + 47: uint16(1228), + 48: uint16(1063), + 49: uint16(1066), + 50: uint16(1053), + 51: uint16(1053), + 52: uint16(133), + 53: uint16(133), + 54: uint16(134), + 55: uint16(134), + 56: uint16(134), + 57: uint16(134), + 58: uint16(1577), + 59: uint16(412), + 60: uint16(287), + 61: uint16(287), + 62: uint16(7), + 63: uint16(287), + 64: uint16(287), + 65: uint16(422), + 66: uint16(1050), + 67: uint16(1050), + 68: uint16(1064), + 69: uint16(1067), + 70: uint16(289), + 71: uint16(556), + 72: uint16(492), + 73: uint16(573), + 74: uint16(524), + 75: uint16(561), + 76: uint16(573), + 77: uint16(497), + 78: uint16(561), + 79: uint16(482), + 80: uint16(530), + 81: uint16(262), + 82: uint16(229), + 83: uint16(135), + 84: uint16(136), + 85: uint16(90), + 86: uint16(1228), + 87: uint16(1228), + 88: uint16(1063), + 89: uint16(1066), + 90: uint16(1053), + 91: uint16(1053), + 92: uint16(133), + 93: uint16(133), + 94: uint16(134), + 95: uint16(134), + 96: uint16(134), + 97: uint16(134), + 98: uint16(128), + 99: uint16(125), + 100: uint16(232), + 101: uint16(1506), + 102: uint16(132), + 103: uint16(132), + 104: uint16(132), + 105: uint16(132), + 106: uint16(131), + 107: uint16(131), + 108: uint16(130), + 109: uint16(130), + 110: uint16(130), + 111: uint16(129), + 112: uint16(126), + 113: uint16(450), + 114: uint16(1204), + 115: uint16(1255), + 116: uint16(1), + 117: uint16(1), + 118: uint16(582), + 119: uint16(2), + 120: uint16(1259), + 121: uint16(1571), + 122: uint16(420), + 123: uint16(1582), + 124: uint16(379), + 125: uint16(320), + 126: uint16(1174), + 127: uint16(153), + 128: uint16(1174), + 129: uint16(1584), + 130: uint16(412), + 131: uint16(378), + 132: uint16(1582), + 133: uint16(543), + 134: uint16(1341), + 135: uint16(330), + 136: uint16(111), + 137: uint16(570), + 138: uint16(570), + 139: uint16(570), + 140: uint16(293), + 141: uint16(1054), + 142: uint16(132), + 143: uint16(132), + 144: uint16(132), + 145: uint16(132), + 146: uint16(131), + 147: uint16(131), + 148: uint16(130), + 149: uint16(130), + 150: uint16(130), + 151: uint16(129), + 152: uint16(126), + 153: uint16(450), + 154: uint16(135), + 155: uint16(136), + 156: uint16(90), + 157: uint16(1228), + 158: uint16(1228), + 159: uint16(1063), + 160: uint16(1066), + 161: uint16(1053), + 162: uint16(1053), + 163: uint16(133), + 164: uint16(133), + 165: uint16(134), + 166: uint16(134), + 167: uint16(134), + 168: uint16(134), + 169: uint16(287), + 170: uint16(287), + 171: uint16(1204), + 172: uint16(1205), + 173: uint16(1204), + 174: uint16(255), + 175: uint16(287), + 176: uint16(287), + 177: uint16(510), + 178: uint16(507), + 179: uint16(506), + 180: uint16(137), + 181: uint16(455), + 182: uint16(573), + 183: uint16(212), + 184: uint16(561), + 185: uint16(447), + 186: uint16(446), + 187: uint16(505), + 188: uint16(573), + 189: uint16(1616), + 190: uint16(561), + 191: uint16(134), + 192: uint16(134), + 193: uint16(134), + 194: uint16(134), + 195: uint16(127), + 196: uint16(400), + 197: uint16(243), + 198: uint16(132), + 199: uint16(132), + 200: uint16(132), + 201: uint16(132), + 202: uint16(131), + 203: uint16(131), + 204: uint16(130), + 205: uint16(130), + 206: uint16(130), + 207: uint16(129), + 208: uint16(126), + 209: uint16(450), + 210: uint16(282), + 211: uint16(471), + 212: uint16(345), + 213: uint16(132), + 214: uint16(132), + 215: uint16(132), + 216: uint16(132), + 217: uint16(131), + 218: uint16(131), + 219: uint16(130), + 220: uint16(130), + 221: uint16(130), + 222: uint16(129), + 223: uint16(126), + 224: uint16(450), + 225: uint16(574), + 226: uint16(155), + 227: uint16(936), + 228: uint16(936), + 229: uint16(454), + 230: uint16(227), + 231: uint16(521), + 232: uint16(1236), + 233: uint16(412), + 234: uint16(1236), + 235: uint16(134), + 236: uint16(134), + 237: uint16(134), + 238: uint16(134), + 239: uint16(132), + 240: uint16(132), + 241: uint16(132), + 242: uint16(132), + 243: uint16(131), + 244: uint16(131), + 245: uint16(130), + 246: uint16(130), + 247: uint16(130), + 248: uint16(129), + 249: uint16(126), + 250: uint16(450), + 251: uint16(130), + 252: uint16(130), + 253: uint16(130), + 254: uint16(129), + 255: uint16(126), + 256: uint16(450), + 257: uint16(135), + 258: uint16(136), + 259: uint16(90), + 260: uint16(1228), + 261: uint16(1228), + 262: uint16(1063), + 263: uint16(1066), + 264: uint16(1053), + 265: uint16(1053), + 266: uint16(133), + 267: uint16(133), + 268: uint16(134), + 269: uint16(134), + 270: uint16(134), + 271: uint16(134), + 272: uint16(128), + 273: uint16(125), + 274: uint16(232), + 275: uint16(450), + 276: uint16(576), + 277: uint16(412), + 278: uint16(397), + 279: uint16(1249), + 280: uint16(180), + 281: uint16(92), + 282: uint16(93), + 283: uint16(132), + 284: uint16(132), + 285: uint16(132), + 286: uint16(132), + 287: uint16(131), + 288: uint16(131), + 289: uint16(130), + 290: uint16(130), + 291: uint16(130), + 292: uint16(129), + 293: uint16(126), + 294: uint16(450), + 295: uint16(381), + 296: uint16(387), + 297: uint16(1204), + 298: uint16(383), + 299: uint16(81), + 300: uint16(81), + 301: uint16(135), + 302: uint16(136), + 303: uint16(90), + 304: uint16(1228), + 305: uint16(1228), + 306: uint16(1063), + 307: uint16(1066), + 308: uint16(1053), + 309: uint16(1053), + 310: uint16(133), + 311: uint16(133), + 312: uint16(134), + 313: uint16(134), + 314: uint16(134), + 315: uint16(134), + 316: uint16(132), + 317: uint16(132), + 318: uint16(132), + 319: uint16(132), + 320: uint16(131), + 321: uint16(131), + 322: uint16(130), + 323: uint16(130), + 324: uint16(130), + 325: uint16(129), + 326: uint16(126), + 327: uint16(450), + 328: uint16(131), + 329: uint16(131), + 330: uint16(130), + 331: uint16(130), + 332: uint16(130), + 333: uint16(129), + 334: uint16(126), + 335: uint16(450), + 336: uint16(556), + 337: uint16(1204), + 338: uint16(302), + 339: uint16(319), + 340: uint16(567), + 341: uint16(121), + 342: uint16(568), + 343: uint16(480), 344: uint16(4), - 345: uint16(929), - 346: uint16(929), - 347: uint16(435), - 348: uint16(503), - 349: uint16(342), - 350: uint16(464), - 351: uint16(330), - 352: uint16(362), - 353: uint16(396), - 354: uint16(1238), - 355: uint16(1193), - 356: uint16(1194), - 357: uint16(1193), - 358: uint16(567), - 359: uint16(572), - 360: uint16(123), - 361: uint16(123), - 362: uint16(123), - 363: uint16(123), - 364: uint16(122), - 365: uint16(122), - 366: uint16(121), - 367: uint16(121), - 368: uint16(121), - 369: uint16(120), - 370: uint16(117), - 371: uint16(448), - 372: uint16(286), - 373: uint16(286), - 374: uint16(371), - 375: uint16(1581), - 376: uint16(1607), - 377: uint16(445), - 378: uint16(444), - 379: uint16(155), - 380: uint16(411), - 381: uint16(449), - 382: uint16(72), - 383: uint16(72), - 384: uint16(1289), - 385: uint16(569), - 386: uint16(1222), - 387: uint16(1193), - 388: uint16(1194), - 389: uint16(1193), - 390: uint16(86), - 391: uint16(1224), - 392: uint16(273), - 393: uint16(561), - 394: uint16(547), - 395: uint16(520), - 396: uint16(520), - 397: uint16(572), - 398: uint16(99), - 399: uint16(1223), - 400: uint16(6), - 401: uint16(1281), - 402: uint16(476), - 403: uint16(143), - 404: uint16(126), - 405: uint16(127), - 406: uint16(81), - 407: uint16(1217), - 408: uint16(1217), - 409: uint16(1054), - 410: uint16(1057), - 411: uint16(1044), - 412: uint16(1044), - 413: uint16(124), - 414: uint16(124), - 415: uint16(125), - 416: uint16(125), - 417: uint16(125), - 418: uint16(125), - 419: uint16(554), - 420: uint16(13), - 421: uint16(13), - 422: uint16(1031), - 423: uint16(511), - 424: uint16(1225), - 425: uint16(1193), - 426: uint16(1225), - 427: uint16(553), - 428: uint16(110), - 429: uint16(110), - 430: uint16(224), - 431: uint16(572), - 432: uint16(1239), - 433: uint16(177), - 434: uint16(572), - 435: uint16(429), - 436: uint16(111), - 437: uint16(199), - 438: uint16(449), - 439: uint16(573), - 440: uint16(449), - 441: uint16(432), - 442: uint16(1555), - 443: uint16(1019), - 444: uint16(327), - 445: uint16(555), - 446: uint16(1193), - 447: uint16(272), - 448: uint16(289), - 449: uint16(370), - 450: uint16(514), - 451: uint16(365), - 452: uint16(513), - 453: uint16(259), - 454: uint16(72), - 455: uint16(72), - 456: uint16(547), - 457: uint16(72), - 458: uint16(72), - 459: uint16(361), - 460: uint16(318), - 461: uint16(563), - 462: uint16(1613), - 463: uint16(123), - 464: uint16(123), - 465: uint16(123), - 466: uint16(123), - 467: uint16(122), - 468: uint16(122), - 469: uint16(121), - 470: uint16(121), - 471: uint16(121), - 472: uint16(120), - 473: uint16(117), - 474: uint16(448), - 475: uint16(1019), - 476: uint16(1019), - 477: uint16(1021), - 478: uint16(1022), - 479: uint16(28), - 480: uint16(286), - 481: uint16(286), - 482: uint16(1193), - 483: uint16(1194), - 484: uint16(1193), - 485: uint16(1159), - 486: uint16(572), - 487: uint16(1612), - 488: uint16(411), - 489: uint16(904), - 490: uint16(192), - 491: uint16(554), - 492: uint16(358), - 493: uint16(569), - 494: uint16(554), - 495: uint16(940), - 496: uint16(537), - 497: uint16(521), - 498: uint16(1159), - 499: uint16(437), - 500: uint16(415), - 501: uint16(1159), - 502: uint16(556), - 503: uint16(1193), - 504: uint16(1194), - 505: uint16(1193), - 506: uint16(572), - 507: uint16(548), - 508: uint16(548), - 509: uint16(52), - 510: uint16(52), - 511: uint16(216), - 512: uint16(126), - 513: uint16(127), - 514: uint16(81), - 515: uint16(1217), - 516: uint16(1217), - 517: uint16(1054), - 518: uint16(1057), - 519: uint16(1044), - 520: uint16(1044), - 521: uint16(124), - 522: uint16(124), - 523: uint16(125), - 524: uint16(125), - 525: uint16(125), - 526: uint16(125), - 527: uint16(1193), - 528: uint16(478), - 529: uint16(136), - 530: uint16(136), - 531: uint16(411), - 532: uint16(286), - 533: uint16(286), - 534: uint16(1493), - 535: uint16(509), - 536: uint16(122), - 537: uint16(122), - 538: uint16(121), - 539: uint16(121), - 540: uint16(121), - 541: uint16(120), - 542: uint16(117), - 543: uint16(448), - 544: uint16(1010), - 545: uint16(569), - 546: uint16(522), - 547: uint16(219), - 548: uint16(545), - 549: uint16(545), - 550: uint16(318), - 551: uint16(563), - 552: uint16(143), - 553: uint16(6), - 554: uint16(536), - 555: uint16(126), - 556: uint16(127), - 557: uint16(81), - 558: uint16(1217), - 559: uint16(1217), - 560: uint16(1054), - 561: uint16(1057), - 562: uint16(1044), - 563: uint16(1044), - 564: uint16(124), - 565: uint16(124), - 566: uint16(125), - 567: uint16(125), - 568: uint16(125), - 569: uint16(125), - 570: uint16(1557), - 571: uint16(123), - 572: uint16(123), - 573: uint16(123), - 574: uint16(123), - 575: uint16(122), - 576: uint16(122), - 577: uint16(121), - 578: uint16(121), - 579: uint16(121), - 580: uint16(120), - 581: uint16(117), - 582: uint16(448), - 583: uint16(489), - 584: uint16(1193), - 585: uint16(1194), - 586: uint16(1193), - 587: uint16(486), - 588: uint16(283), - 589: uint16(1270), - 590: uint16(960), - 591: uint16(254), - 592: uint16(1193), - 593: uint16(375), - 594: uint16(508), - 595: uint16(505), - 596: uint16(504), - 597: uint16(1193), - 598: uint16(342), - 599: uint16(574), - 600: uint16(1193), - 601: uint16(574), - 602: uint16(411), - 603: uint16(294), - 604: uint16(503), - 605: uint16(960), - 606: uint16(879), - 607: uint16(193), - 608: uint16(484), - 609: uint16(318), - 610: uint16(563), - 611: uint16(386), - 612: uint16(292), - 613: uint16(382), - 614: uint16(123), - 615: uint16(123), - 616: uint16(123), - 617: uint16(123), - 618: uint16(122), - 619: uint16(122), - 620: uint16(121), - 621: uint16(121), - 622: uint16(121), - 623: uint16(120), - 624: uint16(117), - 625: uint16(448), - 626: uint16(126), - 627: uint16(127), - 628: uint16(81), - 629: uint16(1217), - 630: uint16(1217), - 631: uint16(1054), - 632: uint16(1057), - 633: uint16(1044), - 634: uint16(1044), - 635: uint16(124), - 636: uint16(124), - 637: uint16(125), - 638: uint16(125), - 639: uint16(125), - 640: uint16(125), - 641: uint16(411), - 642: uint16(396), - 643: uint16(1139), - 644: uint16(1193), - 645: uint16(872), - 646: uint16(101), - 647: uint16(286), - 648: uint16(286), - 649: uint16(1193), - 650: uint16(1194), - 651: uint16(1193), - 652: uint16(375), - 653: uint16(1096), - 654: uint16(1193), - 655: uint16(1194), - 656: uint16(1193), - 657: uint16(1193), - 658: uint16(1194), - 659: uint16(1193), - 660: uint16(569), - 661: uint16(459), - 662: uint16(33), - 663: uint16(375), - 664: uint16(235), - 665: uint16(126), - 666: uint16(127), - 667: uint16(81), - 668: uint16(1217), - 669: uint16(1217), - 670: uint16(1054), - 671: uint16(1057), - 672: uint16(1044), - 673: uint16(1044), - 674: uint16(124), - 675: uint16(124), - 676: uint16(125), - 677: uint16(125), - 678: uint16(125), - 679: uint16(125), - 680: uint16(1437), - 681: uint16(962), - 682: uint16(572), - 683: uint16(230), - 684: uint16(961), - 685: uint16(123), - 686: uint16(123), - 687: uint16(123), - 688: uint16(123), - 689: uint16(122), - 690: uint16(122), - 691: uint16(121), - 692: uint16(121), - 693: uint16(121), - 694: uint16(120), - 695: uint16(117), - 696: uint16(448), - 697: uint16(1159), - 698: uint16(230), - 699: uint16(1193), - 700: uint16(158), - 701: uint16(1193), - 702: uint16(1194), - 703: uint16(1193), - 704: uint16(1556), - 705: uint16(13), - 706: uint16(13), - 707: uint16(303), - 708: uint16(960), - 709: uint16(1233), - 710: uint16(1159), - 711: uint16(154), - 712: uint16(411), - 713: uint16(1159), - 714: uint16(375), - 715: uint16(1584), - 716: uint16(1177), - 717: uint16(5), - 718: uint16(371), - 719: uint16(1581), - 720: uint16(431), - 721: uint16(1239), - 722: uint16(3), - 723: uint16(960), - 724: uint16(123), - 725: uint16(123), - 726: uint16(123), - 727: uint16(123), - 728: uint16(122), - 729: uint16(122), - 730: uint16(121), - 731: uint16(121), - 732: uint16(121), - 733: uint16(120), - 734: uint16(117), - 735: uint16(448), - 736: uint16(126), - 737: uint16(127), - 738: uint16(81), - 739: uint16(1217), - 740: uint16(1217), - 741: uint16(1054), - 742: uint16(1057), - 743: uint16(1044), - 744: uint16(1044), - 745: uint16(124), - 746: uint16(124), - 747: uint16(125), - 748: uint16(125), - 749: uint16(125), - 750: uint16(125), - 751: uint16(411), - 752: uint16(210), - 753: uint16(571), - 754: uint16(1193), - 755: uint16(1032), - 756: uint16(1193), - 757: uint16(1194), - 758: uint16(1193), - 759: uint16(1193), - 760: uint16(390), - 761: uint16(855), - 762: uint16(156), - 763: uint16(1555), - 764: uint16(376), - 765: uint16(404), - 766: uint16(1101), - 767: uint16(1101), - 768: uint16(492), - 769: uint16(572), - 770: uint16(469), - 771: uint16(344), - 772: uint16(1322), - 773: uint16(1322), - 774: uint16(1555), - 775: uint16(126), - 776: uint16(127), - 777: uint16(81), - 778: uint16(1217), - 779: uint16(1217), - 780: uint16(1054), - 781: uint16(1057), - 782: uint16(1044), - 783: uint16(1044), - 784: uint16(124), - 785: uint16(124), - 786: uint16(125), - 787: uint16(125), - 788: uint16(125), - 789: uint16(125), - 790: uint16(130), - 791: uint16(572), - 792: uint16(13), - 793: uint16(13), - 794: uint16(532), - 795: uint16(123), - 796: uint16(123), - 797: uint16(123), - 798: uint16(123), - 799: uint16(122), - 800: uint16(122), - 801: uint16(121), - 802: uint16(121), - 803: uint16(121), - 804: uint16(120), - 805: uint16(117), - 806: uint16(448), - 807: uint16(304), - 808: uint16(572), - 809: uint16(457), - 810: uint16(229), - 811: uint16(1193), - 812: uint16(1194), - 813: uint16(1193), - 814: uint16(13), - 815: uint16(13), - 816: uint16(1193), - 817: uint16(1194), - 818: uint16(1193), - 819: uint16(1300), - 820: uint16(467), - 821: uint16(1270), - 822: uint16(411), - 823: uint16(1320), - 824: uint16(1320), - 825: uint16(1555), - 826: uint16(1015), - 827: uint16(457), - 828: uint16(456), - 829: uint16(436), - 830: uint16(301), - 831: uint16(72), - 832: uint16(72), - 833: uint16(1268), - 834: uint16(123), - 835: uint16(123), - 836: uint16(123), - 837: uint16(123), - 838: uint16(122), - 839: uint16(122), - 840: uint16(121), - 841: uint16(121), - 842: uint16(121), - 843: uint16(120), - 844: uint16(117), - 845: uint16(448), - 846: uint16(126), - 847: uint16(127), - 848: uint16(81), - 849: uint16(1217), - 850: uint16(1217), - 851: uint16(1054), - 852: uint16(1057), - 853: uint16(1044), - 854: uint16(1044), - 855: uint16(124), - 856: uint16(124), - 857: uint16(125), - 858: uint16(125), - 859: uint16(125), - 860: uint16(125), - 861: uint16(411), - 862: uint16(384), - 863: uint16(1076), - 864: uint16(1159), - 865: uint16(286), - 866: uint16(286), - 867: uint16(421), - 868: uint16(314), - 869: uint16(280), - 870: uint16(280), - 871: uint16(287), - 872: uint16(287), - 873: uint16(461), - 874: uint16(408), - 875: uint16(407), - 876: uint16(1539), - 877: uint16(1159), - 878: uint16(569), - 879: uint16(572), - 880: uint16(1159), - 881: uint16(1196), - 882: uint16(569), - 883: uint16(409), - 884: uint16(569), - 885: uint16(126), - 886: uint16(127), - 887: uint16(81), - 888: uint16(1217), - 889: uint16(1217), - 890: uint16(1054), - 891: uint16(1057), - 892: uint16(1044), - 893: uint16(1044), - 894: uint16(124), - 895: uint16(124), - 896: uint16(125), - 897: uint16(125), - 898: uint16(125), - 899: uint16(125), - 900: uint16(457), - 901: uint16(1485), - 902: uint16(13), - 903: uint16(13), - 904: uint16(1541), - 905: uint16(123), - 906: uint16(123), - 907: uint16(123), - 908: uint16(123), - 909: uint16(122), - 910: uint16(122), - 911: uint16(121), - 912: uint16(121), - 913: uint16(121), - 914: uint16(120), - 915: uint16(117), - 916: uint16(448), - 917: uint16(202), - 918: uint16(572), - 919: uint16(462), - 920: uint16(1587), - 921: uint16(578), - 922: uint16(2), - 923: uint16(1248), - 924: uint16(843), - 925: uint16(844), - 926: uint16(845), - 927: uint16(1563), - 928: uint16(319), - 929: uint16(409), - 930: uint16(147), - 931: uint16(6), - 932: uint16(411), - 933: uint16(257), - 934: uint16(256), - 935: uint16(255), - 936: uint16(208), - 937: uint16(1330), - 938: uint16(9), - 939: uint16(1196), - 940: uint16(264), - 941: uint16(72), - 942: uint16(72), - 943: uint16(1436), - 944: uint16(123), - 945: uint16(123), - 946: uint16(123), - 947: uint16(123), - 948: uint16(122), - 949: uint16(122), - 950: uint16(121), - 951: uint16(121), - 952: uint16(121), - 953: uint16(120), - 954: uint16(117), - 955: uint16(448), - 956: uint16(126), - 957: uint16(127), - 958: uint16(81), - 959: uint16(1217), - 960: uint16(1217), - 961: uint16(1054), - 962: uint16(1057), - 963: uint16(1044), - 964: uint16(1044), - 965: uint16(124), - 966: uint16(124), - 967: uint16(125), - 968: uint16(125), - 969: uint16(125), - 970: uint16(125), - 971: uint16(572), - 972: uint16(286), - 973: uint16(286), - 974: uint16(572), - 975: uint16(1213), - 976: uint16(411), - 977: uint16(577), - 978: uint16(315), - 979: uint16(1248), - 980: uint16(421), - 981: uint16(371), - 982: uint16(1581), - 983: uint16(356), - 984: uint16(319), - 985: uint16(569), - 986: uint16(147), - 987: uint16(495), - 988: uint16(529), - 989: uint16(1644), - 990: uint16(397), - 991: uint16(935), - 992: uint16(495), - 993: uint16(1330), - 994: uint16(71), - 995: uint16(71), - 996: uint16(934), - 997: uint16(72), - 998: uint16(72), - 999: uint16(242), - 1000: uint16(1328), - 1001: uint16(105), - 1002: uint16(81), - 1003: uint16(1217), - 1004: uint16(1217), - 1005: uint16(1054), - 1006: uint16(1057), - 1007: uint16(1044), - 1008: uint16(1044), - 1009: uint16(124), - 1010: uint16(124), - 1011: uint16(125), - 1012: uint16(125), - 1013: uint16(125), - 1014: uint16(125), - 1015: uint16(123), - 1016: uint16(123), - 1017: uint16(123), - 1018: uint16(123), - 1019: uint16(122), - 1020: uint16(122), - 1021: uint16(121), - 1022: uint16(121), - 1023: uint16(121), - 1024: uint16(120), - 1025: uint16(117), - 1026: uint16(448), - 1027: uint16(1117), - 1028: uint16(286), - 1029: uint16(286), - 1030: uint16(1422), - 1031: uint16(452), - 1032: uint16(1528), - 1033: uint16(1213), - 1034: uint16(443), - 1035: uint16(286), - 1036: uint16(286), - 1037: uint16(1492), - 1038: uint16(1355), - 1039: uint16(313), - 1040: uint16(478), - 1041: uint16(569), - 1042: uint16(1118), - 1043: uint16(454), - 1044: uint16(351), - 1045: uint16(495), - 1046: uint16(354), - 1047: uint16(1266), - 1048: uint16(569), - 1049: uint16(209), - 1050: uint16(572), - 1051: uint16(418), - 1052: uint16(179), - 1053: uint16(572), - 1054: uint16(1031), - 1055: uint16(242), - 1056: uint16(385), - 1057: uint16(1119), - 1058: uint16(523), - 1059: uint16(123), - 1060: uint16(123), - 1061: uint16(123), - 1062: uint16(123), - 1063: uint16(122), - 1064: uint16(122), - 1065: uint16(121), - 1066: uint16(121), - 1067: uint16(121), - 1068: uint16(120), - 1069: uint16(117), - 1070: uint16(448), - 1071: uint16(1020), - 1072: uint16(108), - 1073: uint16(72), - 1074: uint16(72), - 1075: uint16(1019), - 1076: uint16(13), - 1077: uint16(13), - 1078: uint16(915), - 1079: uint16(572), - 1080: uint16(1498), - 1081: uint16(572), - 1082: uint16(286), - 1083: uint16(286), - 1084: uint16(98), - 1085: uint16(530), - 1086: uint16(1537), - 1087: uint16(452), - 1088: uint16(916), - 1089: uint16(1334), - 1090: uint16(1329), - 1091: uint16(203), - 1092: uint16(411), - 1093: uint16(286), - 1094: uint16(286), - 1095: uint16(569), - 1096: uint16(152), - 1097: uint16(211), - 1098: uint16(1498), - 1099: uint16(1500), - 1100: uint16(426), - 1101: uint16(569), - 1102: uint16(56), - 1103: uint16(56), - 1104: uint16(57), - 1105: uint16(57), - 1106: uint16(569), - 1107: uint16(1019), - 1108: uint16(1019), - 1109: uint16(1021), - 1110: uint16(447), - 1111: uint16(572), - 1112: uint16(411), - 1113: uint16(531), - 1114: uint16(12), - 1115: uint16(297), - 1116: uint16(126), - 1117: uint16(127), - 1118: uint16(81), - 1119: uint16(1217), - 1120: uint16(1217), - 1121: uint16(1054), - 1122: uint16(1057), - 1123: uint16(1044), - 1124: uint16(1044), - 1125: uint16(124), - 1126: uint16(124), - 1127: uint16(125), - 1128: uint16(125), - 1129: uint16(125), - 1130: uint16(125), - 1131: uint16(572), - 1132: uint16(411), - 1133: uint16(867), - 1134: uint16(15), - 1135: uint16(15), - 1136: uint16(126), - 1137: uint16(127), - 1138: uint16(81), - 1139: uint16(1217), - 1140: uint16(1217), - 1141: uint16(1054), - 1142: uint16(1057), - 1143: uint16(1044), - 1144: uint16(1044), - 1145: uint16(124), - 1146: uint16(124), - 1147: uint16(125), - 1148: uint16(125), - 1149: uint16(125), - 1150: uint16(125), - 1151: uint16(373), - 1152: uint16(529), - 1153: uint16(264), - 1154: uint16(44), - 1155: uint16(44), - 1156: uint16(126), - 1157: uint16(115), - 1158: uint16(81), - 1159: uint16(1217), - 1160: uint16(1217), - 1161: uint16(1054), - 1162: uint16(1057), - 1163: uint16(1044), - 1164: uint16(1044), - 1165: uint16(124), - 1166: uint16(124), - 1167: uint16(125), - 1168: uint16(125), - 1169: uint16(125), - 1170: uint16(125), - 1171: uint16(1498), - 1172: uint16(478), - 1173: uint16(1271), - 1174: uint16(417), - 1175: uint16(123), - 1176: uint16(123), - 1177: uint16(123), - 1178: uint16(123), - 1179: uint16(122), - 1180: uint16(122), - 1181: uint16(121), - 1182: uint16(121), - 1183: uint16(121), - 1184: uint16(120), - 1185: uint16(117), - 1186: uint16(448), - 1187: uint16(205), - 1188: uint16(1213), - 1189: uint16(495), - 1190: uint16(430), - 1191: uint16(867), - 1192: uint16(468), - 1193: uint16(322), - 1194: uint16(495), - 1195: uint16(123), - 1196: uint16(123), - 1197: uint16(123), - 1198: uint16(123), - 1199: uint16(122), - 1200: uint16(122), - 1201: uint16(121), - 1202: uint16(121), - 1203: uint16(121), - 1204: uint16(120), - 1205: uint16(117), - 1206: uint16(448), - 1207: uint16(572), - 1208: uint16(557), - 1209: uint16(1140), - 1210: uint16(1642), - 1211: uint16(1422), - 1212: uint16(1642), - 1213: uint16(543), - 1214: uint16(572), - 1215: uint16(123), - 1216: uint16(123), - 1217: uint16(123), - 1218: uint16(123), - 1219: uint16(122), - 1220: uint16(122), - 1221: uint16(121), - 1222: uint16(121), - 1223: uint16(121), - 1224: uint16(120), - 1225: uint16(117), - 1226: uint16(448), - 1227: uint16(572), - 1228: uint16(1422), - 1229: uint16(572), - 1230: uint16(13), - 1231: uint16(13), - 1232: uint16(542), - 1233: uint16(323), - 1234: uint16(1325), - 1235: uint16(411), - 1236: uint16(334), - 1237: uint16(58), - 1238: uint16(58), - 1239: uint16(349), - 1240: uint16(1422), - 1241: uint16(1170), - 1242: uint16(326), - 1243: uint16(286), - 1244: uint16(286), - 1245: uint16(549), - 1246: uint16(1213), - 1247: uint16(300), - 1248: uint16(895), - 1249: uint16(530), - 1250: uint16(45), - 1251: uint16(45), - 1252: uint16(59), - 1253: uint16(59), - 1254: uint16(1140), - 1255: uint16(1643), - 1256: uint16(569), - 1257: uint16(1643), - 1258: uint16(565), - 1259: uint16(417), - 1260: uint16(127), - 1261: uint16(81), - 1262: uint16(1217), - 1263: uint16(1217), - 1264: uint16(1054), - 1265: uint16(1057), - 1266: uint16(1044), - 1267: uint16(1044), - 1268: uint16(124), - 1269: uint16(124), - 1270: uint16(125), - 1271: uint16(125), - 1272: uint16(125), - 1273: uint16(125), - 1274: uint16(1367), - 1275: uint16(373), - 1276: uint16(500), - 1277: uint16(290), - 1278: uint16(1193), - 1279: uint16(512), - 1280: uint16(1366), - 1281: uint16(427), - 1282: uint16(394), - 1283: uint16(394), - 1284: uint16(393), - 1285: uint16(275), - 1286: uint16(391), - 1287: uint16(896), - 1288: uint16(1138), - 1289: uint16(852), - 1290: uint16(478), - 1291: uint16(258), - 1292: uint16(1422), - 1293: uint16(1170), - 1294: uint16(463), - 1295: uint16(1159), - 1296: uint16(12), - 1297: uint16(331), - 1298: uint16(428), - 1299: uint16(333), - 1300: uint16(1117), - 1301: uint16(460), - 1302: uint16(236), - 1303: uint16(258), - 1304: uint16(325), - 1305: uint16(460), - 1306: uint16(544), - 1307: uint16(1544), - 1308: uint16(1159), - 1309: uint16(1098), - 1310: uint16(491), - 1311: uint16(1159), - 1312: uint16(324), - 1313: uint16(1098), - 1314: uint16(440), - 1315: uint16(1118), - 1316: uint16(335), - 1317: uint16(516), - 1318: uint16(123), - 1319: uint16(123), - 1320: uint16(123), - 1321: uint16(123), - 1322: uint16(122), - 1323: uint16(122), - 1324: uint16(121), - 1325: uint16(121), - 1326: uint16(121), - 1327: uint16(120), - 1328: uint16(117), - 1329: uint16(448), - 1330: uint16(1119), - 1331: uint16(318), - 1332: uint16(563), - 1333: uint16(1138), - 1334: uint16(572), - 1335: uint16(1193), - 1336: uint16(1194), - 1337: uint16(1193), - 1338: uint16(112), - 1339: uint16(564), - 1340: uint16(201), + 345: uint16(555), + 346: uint16(1149), + 347: uint16(1657), + 348: uint16(1628), + 349: uint16(1657), + 350: uint16(45), + 351: uint16(128), + 352: uint16(125), + 353: uint16(232), + 354: uint16(1204), + 355: uint16(1205), + 356: uint16(1204), + 357: uint16(1250), + 358: uint16(571), + 359: uint16(1169), + 360: uint16(132), + 361: uint16(132), + 362: uint16(132), + 363: uint16(132), + 364: uint16(131), + 365: uint16(131), + 366: uint16(130), + 367: uint16(130), + 368: uint16(130), + 369: uint16(129), + 370: uint16(126), + 371: uint16(450), + 372: uint16(1169), + 373: uint16(287), + 374: uint16(287), + 375: uint16(1169), + 376: uint16(1019), + 377: uint16(576), + 378: uint16(422), + 379: uint16(1019), + 380: uint16(412), + 381: uint16(451), + 382: uint16(1602), + 383: uint16(582), + 384: uint16(2), + 385: uint16(1259), + 386: uint16(573), + 387: uint16(44), + 388: uint16(561), + 389: uint16(95), + 390: uint16(320), + 391: uint16(110), + 392: uint16(153), + 393: uint16(565), + 394: uint16(1204), + 395: uint16(1205), + 396: uint16(1204), + 397: uint16(522), + 398: uint16(522), + 399: uint16(1341), + 400: uint16(81), + 401: uint16(81), + 402: uint16(7), + 403: uint16(44), + 404: uint16(135), + 405: uint16(136), + 406: uint16(90), + 407: uint16(1228), + 408: uint16(1228), + 409: uint16(1063), + 410: uint16(1066), + 411: uint16(1053), + 412: uint16(1053), + 413: uint16(133), + 414: uint16(133), + 415: uint16(134), + 416: uint16(134), + 417: uint16(134), + 418: uint16(134), + 419: uint16(295), + 420: uint16(1149), + 421: uint16(1658), + 422: uint16(1040), + 423: uint16(1658), + 424: uint16(1204), + 425: uint16(1147), + 426: uint16(319), + 427: uint16(567), + 428: uint16(119), + 429: uint16(119), + 430: uint16(343), + 431: uint16(466), + 432: uint16(331), + 433: uint16(343), + 434: uint16(287), + 435: uint16(287), + 436: uint16(120), + 437: uint16(556), + 438: uint16(451), + 439: uint16(577), + 440: uint16(451), + 441: uint16(1169), + 442: uint16(1169), + 443: uint16(1028), + 444: uint16(319), + 445: uint16(567), + 446: uint16(438), + 447: uint16(573), + 448: uint16(210), + 449: uint16(561), + 450: uint16(1339), + 451: uint16(1451), + 452: uint16(546), + 453: uint16(531), + 454: uint16(1169), + 455: uint16(1169), + 456: uint16(1598), + 457: uint16(1169), + 458: uint16(1169), + 459: uint16(416), + 460: uint16(319), + 461: uint16(567), + 462: uint16(243), + 463: uint16(132), + 464: uint16(132), + 465: uint16(132), + 466: uint16(132), + 467: uint16(131), + 468: uint16(131), + 469: uint16(130), + 470: uint16(130), + 471: uint16(130), + 472: uint16(129), + 473: uint16(126), + 474: uint16(450), + 475: uint16(1028), + 476: uint16(1028), + 477: uint16(1030), + 478: uint16(1031), + 479: uint16(35), + 480: uint16(44), + 481: uint16(1204), + 482: uint16(1205), + 483: uint16(1204), + 484: uint16(472), + 485: uint16(287), + 486: uint16(287), + 487: uint16(1328), + 488: uint16(412), + 489: uint16(1307), + 490: uint16(372), + 491: uint16(1595), + 492: uint16(359), + 493: uint16(225), + 494: uint16(454), + 495: uint16(1204), + 496: uint16(195), + 497: uint16(1328), + 498: uint16(573), + 499: uint16(1147), + 500: uint16(561), + 501: uint16(1333), + 502: uint16(1333), + 503: uint16(274), + 504: uint16(576), + 505: uint16(1188), + 506: uint16(576), + 507: uint16(340), + 508: uint16(46), + 509: uint16(196), + 510: uint16(537), + 511: uint16(217), + 512: uint16(135), + 513: uint16(136), + 514: uint16(90), + 515: uint16(1228), + 516: uint16(1228), + 517: uint16(1063), + 518: uint16(1066), + 519: uint16(1053), + 520: uint16(1053), + 521: uint16(133), + 522: uint16(133), + 523: uint16(134), + 524: uint16(134), + 525: uint16(134), + 526: uint16(134), + 527: uint16(19), + 528: uint16(19), + 529: uint16(19), + 530: uint16(19), + 531: uint16(412), + 532: uint16(581), + 533: uint16(1204), + 534: uint16(1259), + 535: uint16(511), + 536: uint16(1204), + 537: uint16(319), + 538: uint16(567), + 539: uint16(320), + 540: uint16(944), + 541: uint16(153), + 542: uint16(425), + 543: uint16(491), + 544: uint16(430), + 545: uint16(943), + 546: uint16(1204), + 547: uint16(488), + 548: uint16(1341), + 549: uint16(1450), + 550: uint16(532), + 551: uint16(1277), + 552: uint16(1204), + 553: uint16(1205), + 554: uint16(1204), + 555: uint16(135), + 556: uint16(136), + 557: uint16(90), + 558: uint16(1228), + 559: uint16(1228), + 560: uint16(1063), + 561: uint16(1066), + 562: uint16(1053), + 563: uint16(1053), + 564: uint16(133), + 565: uint16(133), + 566: uint16(134), + 567: uint16(134), + 568: uint16(134), + 569: uint16(134), + 570: uint16(575), + 571: uint16(132), + 572: uint16(132), + 573: uint16(132), + 574: uint16(132), + 575: uint16(131), + 576: uint16(131), + 577: uint16(130), + 578: uint16(130), + 579: uint16(130), + 580: uint16(129), + 581: uint16(126), + 582: uint16(450), + 583: uint16(287), + 584: uint16(287), + 585: uint16(528), + 586: uint16(287), + 587: uint16(287), + 588: uint16(372), + 589: uint16(1595), + 590: uint16(1204), + 591: uint16(1205), + 592: uint16(1204), + 593: uint16(1204), + 594: uint16(1205), + 595: uint16(1204), + 596: uint16(573), + 597: uint16(486), + 598: uint16(561), + 599: uint16(573), + 600: uint16(889), + 601: uint16(561), + 602: uint16(412), + 603: uint16(1204), + 604: uint16(1205), + 605: uint16(1204), + 606: uint16(886), + 607: uint16(40), + 608: uint16(22), + 609: uint16(22), + 610: uint16(220), + 611: uint16(243), + 612: uint16(525), + 613: uint16(1449), + 614: uint16(132), + 615: uint16(132), + 616: uint16(132), + 617: uint16(132), + 618: uint16(131), + 619: uint16(131), + 620: uint16(130), + 621: uint16(130), + 622: uint16(130), + 623: uint16(129), + 624: uint16(126), + 625: uint16(450), + 626: uint16(135), + 627: uint16(136), + 628: uint16(90), + 629: uint16(1228), + 630: uint16(1228), + 631: uint16(1063), + 632: uint16(1066), + 633: uint16(1053), + 634: uint16(1053), + 635: uint16(133), + 636: uint16(133), + 637: uint16(134), + 638: uint16(134), + 639: uint16(134), + 640: uint16(134), + 641: uint16(412), + 642: uint16(180), + 643: uint16(454), + 644: uint16(1204), + 645: uint16(879), + 646: uint16(255), + 647: uint16(287), + 648: uint16(287), + 649: uint16(510), + 650: uint16(507), + 651: uint16(506), + 652: uint16(372), + 653: uint16(1595), + 654: uint16(1568), + 655: uint16(1331), + 656: uint16(1331), + 657: uint16(576), + 658: uint16(889), + 659: uint16(505), + 660: uint16(573), + 661: uint16(44), + 662: uint16(561), + 663: uint16(559), + 664: uint16(1207), + 665: uint16(135), + 666: uint16(136), + 667: uint16(90), + 668: uint16(1228), + 669: uint16(1228), + 670: uint16(1063), + 671: uint16(1066), + 672: uint16(1053), + 673: uint16(1053), + 674: uint16(133), + 675: uint16(133), + 676: uint16(134), + 677: uint16(134), + 678: uint16(134), + 679: uint16(134), + 680: uint16(81), + 681: uint16(81), + 682: uint16(422), + 683: uint16(576), + 684: uint16(377), + 685: uint16(132), + 686: uint16(132), + 687: uint16(132), + 688: uint16(132), + 689: uint16(131), + 690: uint16(131), + 691: uint16(130), + 692: uint16(130), + 693: uint16(130), + 694: uint16(129), + 695: uint16(126), + 696: uint16(450), + 697: uint16(297), + 698: uint16(287), + 699: uint16(287), + 700: uint16(460), + 701: uint16(1204), + 702: uint16(1205), + 703: uint16(1204), + 704: uint16(1204), + 705: uint16(534), + 706: uint16(19), + 707: uint16(19), + 708: uint16(448), + 709: uint16(448), + 710: uint16(448), + 711: uint16(573), + 712: uint16(412), + 713: uint16(561), + 714: uint16(230), + 715: uint16(436), + 716: uint16(1187), + 717: uint16(535), + 718: uint16(319), + 719: uint16(567), + 720: uint16(363), + 721: uint16(432), + 722: uint16(1207), + 723: uint16(1435), + 724: uint16(132), + 725: uint16(132), + 726: uint16(132), + 727: uint16(132), + 728: uint16(131), + 729: uint16(131), + 730: uint16(130), + 731: uint16(130), + 732: uint16(130), + 733: uint16(129), + 734: uint16(126), + 735: uint16(450), + 736: uint16(135), + 737: uint16(136), + 738: uint16(90), + 739: uint16(1228), + 740: uint16(1228), + 741: uint16(1063), + 742: uint16(1066), + 743: uint16(1053), + 744: uint16(1053), + 745: uint16(133), + 746: uint16(133), + 747: uint16(134), + 748: uint16(134), + 749: uint16(134), + 750: uint16(134), + 751: uint16(412), + 752: uint16(211), + 753: uint16(949), + 754: uint16(1169), + 755: uint16(1041), + 756: uint16(1110), + 757: uint16(1110), + 758: uint16(494), + 759: uint16(547), + 760: uint16(547), + 761: uint16(1204), + 762: uint16(1205), + 763: uint16(1204), + 764: uint16(7), + 765: uint16(539), + 766: uint16(1570), + 767: uint16(1169), + 768: uint16(376), + 769: uint16(576), + 770: uint16(1169), + 771: uint16(5), + 772: uint16(1204), + 773: uint16(486), + 774: uint16(3), + 775: uint16(135), + 776: uint16(136), + 777: uint16(90), + 778: uint16(1228), + 779: uint16(1228), + 780: uint16(1063), + 781: uint16(1066), + 782: uint16(1053), + 783: uint16(1053), + 784: uint16(133), + 785: uint16(133), + 786: uint16(134), + 787: uint16(134), + 788: uint16(134), + 789: uint16(134), + 790: uint16(576), + 791: uint16(513), + 792: uint16(19), + 793: uint16(19), + 794: uint16(427), + 795: uint16(132), + 796: uint16(132), + 797: uint16(132), + 798: uint16(132), + 799: uint16(131), + 800: uint16(131), + 801: uint16(130), + 802: uint16(130), + 803: uint16(130), + 804: uint16(129), + 805: uint16(126), + 806: uint16(450), + 807: uint16(305), + 808: uint16(1204), + 809: uint16(433), + 810: uint16(225), + 811: uint16(1204), + 812: uint16(385), + 813: uint16(19), + 814: uint16(19), + 815: uint16(273), + 816: uint16(290), + 817: uint16(371), + 818: uint16(516), + 819: uint16(366), + 820: uint16(515), + 821: uint16(260), + 822: uint16(412), + 823: uint16(538), + 824: uint16(1568), + 825: uint16(549), + 826: uint16(1024), + 827: uint16(362), + 828: uint16(437), + 829: uint16(1204), + 830: uint16(1205), + 831: uint16(1204), + 832: uint16(902), + 833: uint16(1552), + 834: uint16(132), + 835: uint16(132), + 836: uint16(132), + 837: uint16(132), + 838: uint16(131), + 839: uint16(131), + 840: uint16(130), + 841: uint16(130), + 842: uint16(130), + 843: uint16(129), + 844: uint16(126), + 845: uint16(450), + 846: uint16(135), + 847: uint16(136), + 848: uint16(90), + 849: uint16(1228), + 850: uint16(1228), + 851: uint16(1063), + 852: uint16(1066), + 853: uint16(1053), + 854: uint16(1053), + 855: uint16(133), + 856: uint16(133), + 857: uint16(134), + 858: uint16(134), + 859: uint16(134), + 860: uint16(134), + 861: uint16(412), + 862: uint16(1435), + 863: uint16(514), + 864: uint16(1281), + 865: uint16(1204), + 866: uint16(1205), + 867: uint16(1204), + 868: uint16(1204), + 869: uint16(1205), + 870: uint16(1204), + 871: uint16(903), + 872: uint16(48), + 873: uint16(342), + 874: uint16(1568), + 875: uint16(1568), + 876: uint16(1279), + 877: uint16(1627), + 878: uint16(1568), + 879: uint16(911), + 880: uint16(576), + 881: uint16(129), + 882: uint16(126), + 883: uint16(450), + 884: uint16(110), + 885: uint16(135), + 886: uint16(136), + 887: uint16(90), + 888: uint16(1228), + 889: uint16(1228), + 890: uint16(1063), + 891: uint16(1066), + 892: uint16(1053), + 893: uint16(1053), + 894: uint16(133), + 895: uint16(133), + 896: uint16(134), + 897: uint16(134), + 898: uint16(134), + 899: uint16(134), + 900: uint16(265), + 901: uint16(576), + 902: uint16(459), + 903: uint16(19), + 904: uint16(19), + 905: uint16(132), + 906: uint16(132), + 907: uint16(132), + 908: uint16(132), + 909: uint16(131), + 910: uint16(131), + 911: uint16(130), + 912: uint16(130), + 913: uint16(130), + 914: uint16(129), + 915: uint16(126), + 916: uint16(450), + 917: uint16(1345), + 918: uint16(204), + 919: uint16(576), + 920: uint16(459), + 921: uint16(458), + 922: uint16(50), + 923: uint16(47), + 924: uint16(19), + 925: uint16(19), + 926: uint16(49), + 927: uint16(434), + 928: uint16(1105), + 929: uint16(573), + 930: uint16(497), + 931: uint16(561), + 932: uint16(412), + 933: uint16(428), + 934: uint16(108), + 935: uint16(1224), + 936: uint16(1569), + 937: uint16(1554), + 938: uint16(376), + 939: uint16(205), + 940: uint16(550), + 941: uint16(550), + 942: uint16(81), + 943: uint16(81), + 944: uint16(132), + 945: uint16(132), + 946: uint16(132), + 947: uint16(132), + 948: uint16(131), + 949: uint16(131), + 950: uint16(130), + 951: uint16(130), + 952: uint16(130), + 953: uint16(129), + 954: uint16(126), + 955: uint16(450), + 956: uint16(135), + 957: uint16(136), + 958: uint16(90), + 959: uint16(1228), + 960: uint16(1228), + 961: uint16(1063), + 962: uint16(1066), + 963: uint16(1053), + 964: uint16(1053), + 965: uint16(133), + 966: uint16(133), + 967: uint16(134), + 968: uint16(134), + 969: uint16(134), + 970: uint16(134), + 971: uint16(480), + 972: uint16(576), + 973: uint16(1204), + 974: uint16(576), + 975: uint16(1541), + 976: uint16(412), + 977: uint16(1435), + 978: uint16(969), + 979: uint16(315), + 980: uint16(1659), + 981: uint16(398), + 982: uint16(284), + 983: uint16(497), + 984: uint16(969), + 985: uint16(893), + 986: uint16(1569), + 987: uint16(1569), + 988: uint16(376), + 989: uint16(376), + 990: uint16(1569), + 991: uint16(461), + 992: uint16(376), + 993: uint16(1224), + 994: uint16(459), + 995: uint16(80), + 996: uint16(80), + 997: uint16(81), + 998: uint16(81), + 999: uint16(497), + 1000: uint16(374), + 1001: uint16(114), + 1002: uint16(90), + 1003: uint16(1228), + 1004: uint16(1228), + 1005: uint16(1063), + 1006: uint16(1066), + 1007: uint16(1053), + 1008: uint16(1053), + 1009: uint16(133), + 1010: uint16(133), + 1011: uint16(134), + 1012: uint16(134), + 1013: uint16(134), + 1014: uint16(134), + 1015: uint16(132), + 1016: uint16(132), + 1017: uint16(132), + 1018: uint16(132), + 1019: uint16(131), + 1020: uint16(131), + 1021: uint16(130), + 1022: uint16(130), + 1023: uint16(130), + 1024: uint16(129), + 1025: uint16(126), + 1026: uint16(450), + 1027: uint16(1204), + 1028: uint16(1505), + 1029: uint16(576), + 1030: uint16(1204), + 1031: uint16(1205), + 1032: uint16(1204), + 1033: uint16(1366), + 1034: uint16(316), + 1035: uint16(486), + 1036: uint16(281), + 1037: uint16(281), + 1038: uint16(497), + 1039: uint16(431), + 1040: uint16(557), + 1041: uint16(288), + 1042: uint16(288), + 1043: uint16(402), + 1044: uint16(1340), + 1045: uint16(471), + 1046: uint16(345), + 1047: uint16(298), + 1048: uint16(429), + 1049: uint16(573), + 1050: uint16(576), + 1051: uint16(561), + 1052: uint16(81), + 1053: uint16(81), + 1054: uint16(573), + 1055: uint16(374), + 1056: uint16(561), + 1057: uint16(971), + 1058: uint16(386), + 1059: uint16(132), + 1060: uint16(132), + 1061: uint16(132), + 1062: uint16(132), + 1063: uint16(131), + 1064: uint16(131), + 1065: uint16(130), + 1066: uint16(130), + 1067: uint16(130), + 1068: uint16(129), + 1069: uint16(126), + 1070: uint16(450), + 1071: uint16(231), + 1072: uint16(117), + 1073: uint16(81), + 1074: uint16(81), + 1075: uint16(287), + 1076: uint16(287), + 1077: uint16(231), + 1078: uint16(287), + 1079: uint16(287), + 1080: uint16(576), + 1081: uint16(1511), + 1082: uint16(576), + 1083: uint16(1336), + 1084: uint16(1204), + 1085: uint16(1205), + 1086: uint16(1204), + 1087: uint16(139), + 1088: uint16(573), + 1089: uint16(556), + 1090: uint16(561), + 1091: uint16(573), + 1092: uint16(412), + 1093: uint16(561), + 1094: uint16(441), + 1095: uint16(456), + 1096: uint16(969), + 1097: uint16(213), + 1098: uint16(558), + 1099: uint16(1511), + 1100: uint16(1513), + 1101: uint16(1550), + 1102: uint16(969), + 1103: uint16(143), + 1104: uint16(143), + 1105: uint16(145), + 1106: uint16(145), + 1107: uint16(1368), + 1108: uint16(314), + 1109: uint16(478), + 1110: uint16(444), + 1111: uint16(970), + 1112: uint16(412), + 1113: uint16(850), + 1114: uint16(851), + 1115: uint16(852), + 1116: uint16(135), + 1117: uint16(136), + 1118: uint16(90), + 1119: uint16(1228), + 1120: uint16(1228), + 1121: uint16(1063), + 1122: uint16(1066), + 1123: uint16(1053), + 1124: uint16(1053), + 1125: uint16(133), + 1126: uint16(133), + 1127: uint16(134), + 1128: uint16(134), + 1129: uint16(134), + 1130: uint16(134), + 1131: uint16(357), + 1132: uint16(412), + 1133: uint16(397), + 1134: uint16(1148), + 1135: uint16(304), + 1136: uint16(135), + 1137: uint16(136), + 1138: uint16(90), + 1139: uint16(1228), + 1140: uint16(1228), + 1141: uint16(1063), + 1142: uint16(1066), + 1143: uint16(1053), + 1144: uint16(1053), + 1145: uint16(133), + 1146: uint16(133), + 1147: uint16(134), + 1148: uint16(134), + 1149: uint16(134), + 1150: uint16(134), + 1151: uint16(1575), + 1152: uint16(323), + 1153: uint16(6), + 1154: uint16(862), + 1155: uint16(7), + 1156: uint16(135), + 1157: uint16(124), + 1158: uint16(90), + 1159: uint16(1228), + 1160: uint16(1228), + 1161: uint16(1063), + 1162: uint16(1066), + 1163: uint16(1053), + 1164: uint16(1053), + 1165: uint16(133), + 1166: uint16(133), + 1167: uint16(134), + 1168: uint16(134), + 1169: uint16(134), + 1170: uint16(134), + 1171: uint16(409), + 1172: uint16(408), + 1173: uint16(1511), + 1174: uint16(212), + 1175: uint16(132), + 1176: uint16(132), + 1177: uint16(132), + 1178: uint16(132), + 1179: uint16(131), + 1180: uint16(131), + 1181: uint16(130), + 1182: uint16(130), + 1183: uint16(130), + 1184: uint16(129), + 1185: uint16(126), + 1186: uint16(450), + 1187: uint16(411), + 1188: uint16(118), + 1189: uint16(1204), + 1190: uint16(116), + 1191: uint16(10), + 1192: uint16(352), + 1193: uint16(265), + 1194: uint16(355), + 1195: uint16(132), + 1196: uint16(132), + 1197: uint16(132), + 1198: uint16(132), + 1199: uint16(131), + 1200: uint16(131), + 1201: uint16(130), + 1202: uint16(130), + 1203: uint16(130), + 1204: uint16(129), + 1205: uint16(126), + 1206: uint16(450), + 1207: uint16(576), + 1208: uint16(324), + 1209: uint16(306), + 1210: uint16(576), + 1211: uint16(306), + 1212: uint16(1250), + 1213: uint16(469), + 1214: uint16(158), + 1215: uint16(132), + 1216: uint16(132), + 1217: uint16(132), + 1218: uint16(132), + 1219: uint16(131), + 1220: uint16(131), + 1221: uint16(130), + 1222: uint16(130), + 1223: uint16(130), + 1224: uint16(129), + 1225: uint16(126), + 1226: uint16(450), + 1227: uint16(207), + 1228: uint16(1224), + 1229: uint16(1126), + 1230: uint16(65), + 1231: uint16(65), + 1232: uint16(470), + 1233: uint16(66), + 1234: uint16(66), + 1235: uint16(412), + 1236: uint16(447), + 1237: uint16(446), + 1238: uint16(882), + 1239: uint16(531), + 1240: uint16(335), + 1241: uint16(258), + 1242: uint16(257), + 1243: uint16(256), + 1244: uint16(1127), + 1245: uint16(1233), + 1246: uint16(1204), + 1247: uint16(1205), + 1248: uint16(1204), + 1249: uint16(327), + 1250: uint16(1235), + 1251: uint16(874), + 1252: uint16(159), + 1253: uint16(576), + 1254: uint16(16), + 1255: uint16(480), + 1256: uint16(1085), + 1257: uint16(1040), + 1258: uint16(1234), + 1259: uint16(1128), + 1260: uint16(136), + 1261: uint16(90), + 1262: uint16(1228), + 1263: uint16(1228), + 1264: uint16(1063), + 1265: uint16(1066), + 1266: uint16(1053), + 1267: uint16(1053), + 1268: uint16(133), + 1269: uint16(133), + 1270: uint16(134), + 1271: uint16(134), + 1272: uint16(134), + 1273: uint16(134), + 1274: uint16(1029), + 1275: uint16(576), + 1276: uint16(81), + 1277: uint16(81), + 1278: uint16(1028), + 1279: uint16(1040), + 1280: uint16(922), + 1281: uint16(576), + 1282: uint16(463), + 1283: uint16(1236), + 1284: uint16(576), + 1285: uint16(1236), + 1286: uint16(1224), + 1287: uint16(502), + 1288: uint16(107), + 1289: uint16(1435), + 1290: uint16(923), + 1291: uint16(6), + 1292: uint16(576), + 1293: uint16(410), + 1294: uint16(1498), + 1295: uint16(882), + 1296: uint16(1029), + 1297: uint16(480), + 1298: uint16(21), + 1299: uint16(21), + 1300: uint16(1028), + 1301: uint16(332), + 1302: uint16(1380), + 1303: uint16(334), + 1304: uint16(53), + 1305: uint16(53), + 1306: uint16(497), + 1307: uint16(81), + 1308: uint16(81), + 1309: uint16(874), + 1310: uint16(1028), + 1311: uint16(1028), + 1312: uint16(1030), + 1313: uint16(445), + 1314: uint16(259), + 1315: uint16(19), + 1316: uint16(19), + 1317: uint16(533), + 1318: uint16(132), + 1319: uint16(132), + 1320: uint16(132), + 1321: uint16(132), + 1322: uint16(131), + 1323: uint16(131), + 1324: uint16(130), + 1325: uint16(130), + 1326: uint16(130), + 1327: uint16(129), + 1328: uint16(126), + 1329: uint16(450), + 1330: uint16(551), + 1331: uint16(301), + 1332: uint16(1028), + 1333: uint16(1028), + 1334: uint16(1030), + 1335: uint16(107), + 1336: uint16(532), + 1337: uint16(545), + 1338: uint16(121), + 1339: uint16(568), + 1340: uint16(1188), 1341: uint16(4), - 1342: uint16(238), - 1343: uint16(433), - 1344: uint16(935), - 1345: uint16(490), - 1346: uint16(285), - 1347: uint16(228), - 1348: uint16(1517), - 1349: uint16(934), - 1350: uint16(170), - 1351: uint16(560), - 1352: uint16(572), - 1353: uint16(142), - 1354: uint16(1516), - 1355: uint16(567), - 1356: uint16(572), - 1357: uint16(60), - 1358: uint16(60), - 1359: uint16(572), - 1360: uint16(416), - 1361: uint16(572), - 1362: uint16(441), - 1363: uint16(572), - 1364: uint16(535), - 1365: uint16(302), - 1366: uint16(875), - 1367: uint16(8), - 1368: uint16(487), - 1369: uint16(572), - 1370: uint16(237), - 1371: uint16(572), - 1372: uint16(416), - 1373: uint16(572), - 1374: uint16(485), - 1375: uint16(61), - 1376: uint16(61), - 1377: uint16(572), - 1378: uint16(449), - 1379: uint16(62), - 1380: uint16(62), - 1381: uint16(332), - 1382: uint16(63), - 1383: uint16(63), - 1384: uint16(46), - 1385: uint16(46), - 1386: uint16(47), - 1387: uint16(47), - 1388: uint16(361), - 1389: uint16(572), - 1390: uint16(561), - 1391: uint16(572), - 1392: uint16(48), - 1393: uint16(48), - 1394: uint16(50), - 1395: uint16(50), - 1396: uint16(51), - 1397: uint16(51), - 1398: uint16(572), - 1399: uint16(295), - 1400: uint16(64), - 1401: uint16(64), - 1402: uint16(482), - 1403: uint16(295), - 1404: uint16(539), - 1405: uint16(412), - 1406: uint16(471), - 1407: uint16(1031), - 1408: uint16(572), - 1409: uint16(538), - 1410: uint16(318), - 1411: uint16(563), - 1412: uint16(65), - 1413: uint16(65), - 1414: uint16(66), - 1415: uint16(66), - 1416: uint16(409), - 1417: uint16(475), - 1418: uint16(572), - 1419: uint16(1031), - 1420: uint16(572), - 1421: uint16(14), - 1422: uint16(14), - 1423: uint16(875), - 1424: uint16(1020), - 1425: uint16(110), - 1426: uint16(110), - 1427: uint16(409), - 1428: uint16(1019), - 1429: uint16(572), - 1430: uint16(474), - 1431: uint16(67), - 1432: uint16(67), - 1433: uint16(111), - 1434: uint16(455), - 1435: uint16(449), - 1436: uint16(573), - 1437: uint16(449), - 1438: uint16(98), - 1439: uint16(317), - 1440: uint16(1019), - 1441: uint16(132), - 1442: uint16(132), - 1443: uint16(133), - 1444: uint16(133), - 1445: uint16(572), - 1446: uint16(1561), - 1447: uint16(572), - 1448: uint16(974), - 1449: uint16(409), - 1450: uint16(6), - 1451: uint16(1562), - 1452: uint16(68), - 1453: uint16(68), - 1454: uint16(1560), - 1455: uint16(6), - 1456: uint16(975), - 1457: uint16(572), - 1458: uint16(6), - 1459: uint16(1559), - 1460: uint16(1019), - 1461: uint16(1019), - 1462: uint16(1021), - 1463: uint16(6), - 1464: uint16(346), - 1465: uint16(218), - 1466: uint16(101), - 1467: uint16(531), - 1468: uint16(53), - 1469: uint16(53), - 1470: uint16(69), - 1471: uint16(69), - 1472: uint16(1019), - 1473: uint16(1019), - 1474: uint16(1021), - 1475: uint16(1022), - 1476: uint16(28), - 1477: uint16(1586), - 1478: uint16(1181), - 1479: uint16(451), - 1480: uint16(70), - 1481: uint16(70), - 1482: uint16(290), - 1483: uint16(87), - 1484: uint16(215), - 1485: uint16(31), - 1486: uint16(1363), - 1487: uint16(394), - 1488: uint16(394), - 1489: uint16(393), - 1490: uint16(275), - 1491: uint16(391), - 1492: uint16(350), - 1493: uint16(109), - 1494: uint16(852), - 1495: uint16(107), - 1496: uint16(572), - 1497: uint16(112), - 1498: uint16(564), - 1499: uint16(483), - 1500: uint16(4), - 1501: uint16(1212), - 1502: uint16(572), - 1503: uint16(239), - 1504: uint16(153), - 1505: uint16(572), - 1506: uint16(39), - 1507: uint16(236), - 1508: uint16(1299), - 1509: uint16(325), - 1510: uint16(112), - 1511: uint16(564), - 1512: uint16(1298), - 1513: uint16(4), - 1514: uint16(567), - 1515: uint16(572), - 1516: uint16(32), - 1517: uint16(324), - 1518: uint16(572), - 1519: uint16(54), - 1520: uint16(54), - 1521: uint16(572), - 1522: uint16(1135), - 1523: uint16(353), - 1524: uint16(398), - 1525: uint16(165), - 1526: uint16(165), - 1527: uint16(567), - 1528: uint16(166), - 1529: uint16(166), - 1530: uint16(572), - 1531: uint16(291), - 1532: uint16(355), - 1533: uint16(572), - 1534: uint16(17), - 1535: uint16(357), - 1536: uint16(572), - 1537: uint16(449), - 1538: uint16(77), - 1539: uint16(77), - 1540: uint16(1313), - 1541: uint16(55), - 1542: uint16(55), - 1543: uint16(1297), - 1544: uint16(73), - 1545: uint16(73), - 1546: uint16(572), - 1547: uint16(238), - 1548: uint16(470), - 1549: uint16(561), - 1550: uint16(449), - 1551: uint16(472), - 1552: uint16(364), - 1553: uint16(135), - 1554: uint16(135), - 1555: uint16(170), - 1556: uint16(74), - 1557: uint16(74), - 1558: uint16(142), - 1559: uint16(163), - 1560: uint16(163), - 1561: uint16(374), - 1562: uint16(561), - 1563: uint16(539), - 1564: uint16(572), - 1565: uint16(321), - 1566: uint16(572), - 1567: uint16(886), - 1568: uint16(540), - 1569: uint16(137), - 1570: uint16(137), - 1571: uint16(339), - 1572: uint16(1353), - 1573: uint16(422), - 1574: uint16(298), - 1575: uint16(237), - 1576: uint16(539), - 1577: uint16(572), - 1578: uint16(1031), - 1579: uint16(572), - 1580: uint16(340), - 1581: uint16(538), - 1582: uint16(101), - 1583: uint16(369), - 1584: uint16(110), - 1585: uint16(110), - 1586: uint16(162), - 1587: uint16(131), - 1588: uint16(131), - 1589: uint16(164), - 1590: uint16(164), - 1591: uint16(1031), - 1592: uint16(111), - 1593: uint16(368), - 1594: uint16(449), - 1595: uint16(573), - 1596: uint16(449), + 1342: uint16(1126), + 1343: uint16(1576), + 1344: uint16(449), + 1345: uint16(576), + 1346: uint16(462), + 1347: uint16(7), + 1348: uint16(1282), + 1349: uint16(418), + 1350: uint16(462), + 1351: uint16(350), + 1352: uint16(1435), + 1353: uint16(576), + 1354: uint16(518), + 1355: uint16(571), + 1356: uint16(544), + 1357: uint16(1127), + 1358: uint16(121), + 1359: uint16(568), + 1360: uint16(442), + 1361: uint16(4), + 1362: uint16(1188), + 1363: uint16(464), + 1364: uint16(533), + 1365: uint16(1180), + 1366: uint16(1223), + 1367: uint16(9), + 1368: uint16(67), + 1369: uint16(67), + 1370: uint16(487), + 1371: uint16(576), + 1372: uint16(1128), + 1373: uint16(303), + 1374: uint16(410), + 1375: uint16(571), + 1376: uint16(54), + 1377: uint16(54), + 1378: uint16(451), + 1379: uint16(576), + 1380: uint16(123), + 1381: uint16(944), + 1382: uint16(576), + 1383: uint16(417), + 1384: uint16(576), + 1385: uint16(333), + 1386: uint16(943), + 1387: uint16(1379), + 1388: uint16(576), + 1389: uint16(236), + 1390: uint16(565), + 1391: uint16(576), + 1392: uint16(1574), + 1393: uint16(564), + 1394: uint16(68), + 1395: uint16(68), + 1396: uint16(7), + 1397: uint16(576), + 1398: uint16(451), + 1399: uint16(362), + 1400: uint16(419), + 1401: uint16(182), + 1402: uint16(69), + 1403: uint16(69), + 1404: uint16(541), + 1405: uint16(70), + 1406: uint16(70), + 1407: uint16(71), + 1408: uint16(71), + 1409: uint16(540), + 1410: uint16(565), + 1411: uint16(72), + 1412: uint16(72), + 1413: uint16(484), + 1414: uint16(55), + 1415: uint16(55), + 1416: uint16(473), + 1417: uint16(1180), + 1418: uint16(296), + 1419: uint16(1040), + 1420: uint16(56), + 1421: uint16(56), + 1422: uint16(296), + 1423: uint16(493), + 1424: uint16(541), + 1425: uint16(119), + 1426: uint16(119), + 1427: uint16(410), + 1428: uint16(1573), + 1429: uint16(542), + 1430: uint16(569), + 1431: uint16(418), + 1432: uint16(7), + 1433: uint16(120), + 1434: uint16(1244), + 1435: uint16(451), + 1436: uint16(577), + 1437: uint16(451), + 1438: uint16(465), + 1439: uint16(1040), + 1440: uint16(1028), + 1441: uint16(576), + 1442: uint16(1557), + 1443: uint16(552), + 1444: uint16(476), + 1445: uint16(119), + 1446: uint16(119), + 1447: uint16(527), + 1448: uint16(259), + 1449: uint16(121), + 1450: uint16(568), + 1451: uint16(240), + 1452: uint16(4), + 1453: uint16(120), + 1454: uint16(576), + 1455: uint16(451), + 1456: uint16(577), + 1457: uint16(451), + 1458: uint16(576), + 1459: uint16(477), + 1460: uint16(1028), + 1461: uint16(576), + 1462: uint16(156), + 1463: uint16(576), + 1464: uint16(57), + 1465: uint16(57), + 1466: uint16(571), + 1467: uint16(576), + 1468: uint16(286), + 1469: uint16(229), + 1470: uint16(410), + 1471: uint16(336), + 1472: uint16(1028), + 1473: uint16(1028), + 1474: uint16(1030), + 1475: uint16(1031), + 1476: uint16(35), + 1477: uint16(59), + 1478: uint16(59), + 1479: uint16(219), + 1480: uint16(983), + 1481: uint16(60), + 1482: uint16(60), + 1483: uint16(220), + 1484: uint16(73), + 1485: uint16(73), + 1486: uint16(74), + 1487: uint16(74), + 1488: uint16(984), + 1489: uint16(451), + 1490: uint16(75), + 1491: uint16(75), + 1492: uint16(1028), + 1493: uint16(1028), + 1494: uint16(1030), + 1495: uint16(1031), + 1496: uint16(35), + 1497: uint16(96), + 1498: uint16(216), + 1499: uint16(291), + 1500: uint16(552), + 1501: uint16(565), + 1502: uint16(1188), + 1503: uint16(318), + 1504: uint16(395), + 1505: uint16(395), + 1506: uint16(394), + 1507: uint16(276), + 1508: uint16(392), + 1509: uint16(576), + 1510: uint16(485), + 1511: uint16(859), + 1512: uint16(474), + 1513: uint16(1311), + 1514: uint16(410), + 1515: uint16(541), + 1516: uint16(576), + 1517: uint16(417), + 1518: uint16(1530), + 1519: uint16(1144), + 1520: uint16(540), + 1521: uint16(399), + 1522: uint16(1188), + 1523: uint16(292), + 1524: uint16(237), + 1525: uint16(1153), + 1526: uint16(326), + 1527: uint16(38), + 1528: uint16(23), + 1529: uint16(576), + 1530: uint16(1040), + 1531: uint16(576), + 1532: uint16(20), + 1533: uint16(20), + 1534: uint16(325), + 1535: uint16(299), + 1536: uint16(119), + 1537: uint16(119), + 1538: uint16(164), + 1539: uint16(76), + 1540: uint16(76), + 1541: uint16(1529), + 1542: uint16(121), + 1543: uint16(568), + 1544: uint16(120), + 1545: uint16(4), + 1546: uint16(451), + 1547: uint16(577), + 1548: uint16(451), + 1549: uint16(203), + 1550: uint16(576), + 1551: uint16(1028), + 1552: uint16(141), + 1553: uint16(141), + 1554: uint16(142), + 1555: uint16(142), + 1556: uint16(576), + 1557: uint16(322), + 1558: uint16(39), + 1559: uint16(571), + 1560: uint16(341), + 1561: uint16(1021), + 1562: uint16(110), + 1563: uint16(264), + 1564: uint16(239), + 1565: uint16(901), + 1566: uint16(900), + 1567: uint16(423), + 1568: uint16(242), + 1569: uint16(908), + 1570: uint16(909), + 1571: uint16(370), + 1572: uint16(173), + 1573: uint16(77), + 1574: uint16(77), + 1575: uint16(43), + 1576: uint16(479), + 1577: uint16(1310), + 1578: uint16(264), + 1579: uint16(62), + 1580: uint16(62), + 1581: uint16(369), + 1582: uint16(451), + 1583: uint16(1028), + 1584: uint16(1028), + 1585: uint16(1030), + 1586: uint16(1031), + 1587: uint16(35), + 1588: uint16(1601), + 1589: uint16(1192), + 1590: uint16(453), + 1591: uint16(1092), + 1592: uint16(238), + 1593: uint16(291), + 1594: uint16(565), + 1595: uint16(163), + 1596: uint16(1309), 1597: uint16(110), - 1598: uint16(110), - 1599: uint16(1019), - 1600: uint16(157), - 1601: uint16(157), - 1602: uint16(141), - 1603: uint16(141), - 1604: uint16(572), - 1605: uint16(111), - 1606: uint16(572), - 1607: uint16(449), - 1608: uint16(573), - 1609: uint16(449), - 1610: uint16(412), - 1611: uint16(288), - 1612: uint16(1019), - 1613: uint16(572), - 1614: uint16(882), - 1615: uint16(318), - 1616: uint16(563), - 1617: uint16(572), - 1618: uint16(219), - 1619: uint16(572), - 1620: uint16(241), - 1621: uint16(1012), - 1622: uint16(477), - 1623: uint16(263), - 1624: uint16(263), - 1625: uint16(894), - 1626: uint16(893), - 1627: uint16(140), - 1628: uint16(140), - 1629: uint16(138), - 1630: uint16(138), - 1631: uint16(1019), - 1632: uint16(1019), - 1633: uint16(1021), - 1634: uint16(1022), - 1635: uint16(28), - 1636: uint16(139), - 1637: uint16(139), - 1638: uint16(525), - 1639: uint16(455), - 1640: uint16(76), - 1641: uint16(76), - 1642: uint16(78), - 1643: uint16(78), - 1644: uint16(1019), - 1645: uint16(1019), - 1646: uint16(1021), - 1647: uint16(1022), - 1648: uint16(28), - 1649: uint16(1181), - 1650: uint16(451), - 1651: uint16(572), - 1652: uint16(1083), - 1653: uint16(290), - 1654: uint16(112), - 1655: uint16(564), - 1656: uint16(1575), - 1657: uint16(4), - 1658: uint16(394), - 1659: uint16(394), - 1660: uint16(393), - 1661: uint16(275), - 1662: uint16(391), - 1663: uint16(572), - 1664: uint16(1023), - 1665: uint16(852), - 1666: uint16(572), - 1667: uint16(479), - 1668: uint16(345), - 1669: uint16(263), - 1670: uint16(101), - 1671: uint16(567), - 1672: uint16(882), - 1673: uint16(1376), - 1674: uint16(75), - 1675: uint16(75), - 1676: uint16(1421), - 1677: uint16(501), - 1678: uint16(236), - 1679: uint16(260), - 1680: uint16(325), - 1681: uint16(112), - 1682: uint16(564), - 1683: uint16(359), - 1684: uint16(4), - 1685: uint16(101), - 1686: uint16(43), - 1687: uint16(43), - 1688: uint16(324), - 1689: uint16(49), - 1690: uint16(49), - 1691: uint16(901), - 1692: uint16(902), - 1693: uint16(161), - 1694: uint16(449), - 1695: uint16(101), - 1696: uint16(977), - 1697: uint16(978), - 1698: uint16(567), - 1699: uint16(1079), - 1700: uint16(1349), - 1701: uint16(260), - 1702: uint16(965), - 1703: uint16(932), - 1704: uint16(263), - 1705: uint16(114), - 1706: uint16(561), - 1707: uint16(1095), - 1708: uint16(517), - 1709: uint16(1095), - 1710: uint16(1083), - 1711: uint16(1094), - 1712: uint16(865), - 1713: uint16(1094), - 1714: uint16(151), - 1715: uint16(933), - 1716: uint16(1144), - 1717: uint16(114), - 1718: uint16(238), - 1719: uint16(1361), - 1720: uint16(558), - 1721: uint16(449), - 1722: uint16(1023), - 1723: uint16(559), - 1724: uint16(1426), - 1725: uint16(1278), - 1726: uint16(170), - 1727: uint16(1269), - 1728: uint16(1257), - 1729: uint16(142), - 1730: uint16(1601), - 1731: uint16(1256), - 1732: uint16(1258), - 1733: uint16(561), - 1734: uint16(1594), - 1735: uint16(1031), - 1736: uint16(496), - 1737: uint16(278), - 1738: uint16(213), - 1739: uint16(1346), - 1740: uint16(310), - 1741: uint16(110), - 1742: uint16(110), - 1743: uint16(939), - 1744: uint16(311), - 1745: uint16(312), - 1746: uint16(237), - 1747: uint16(11), - 1748: uint16(234), - 1749: uint16(111), - 1750: uint16(221), - 1751: uint16(449), - 1752: uint16(573), - 1753: uint16(449), - 1754: uint16(293), - 1755: uint16(395), - 1756: uint16(1019), - 1757: uint16(1408), - 1758: uint16(337), - 1759: uint16(1403), - 1760: uint16(1396), - 1761: uint16(338), - 1762: uint16(1031), - 1763: uint16(299), - 1764: uint16(343), - 1765: uint16(1413), - 1766: uint16(1412), - 1767: uint16(481), - 1768: uint16(110), - 1769: uint16(110), - 1770: uint16(506), - 1771: uint16(402), - 1772: uint16(225), - 1773: uint16(1296), - 1774: uint16(206), - 1775: uint16(367), - 1776: uint16(111), - 1777: uint16(1358), - 1778: uint16(449), - 1779: uint16(573), - 1780: uint16(449), - 1781: uint16(412), - 1782: uint16(1359), - 1783: uint16(1019), - 1784: uint16(1489), - 1785: uint16(1488), - 1786: uint16(318), - 1787: uint16(563), - 1788: uint16(1019), - 1789: uint16(1019), - 1790: uint16(1021), - 1791: uint16(1022), - 1792: uint16(28), - 1793: uint16(562), - 1794: uint16(207), - 1795: uint16(220), - 1796: uint16(80), - 1797: uint16(564), - 1798: uint16(389), - 1799: uint16(4), - 1800: uint16(1597), - 1801: uint16(1357), - 1802: uint16(552), - 1803: uint16(1356), - 1804: uint16(1233), - 1805: uint16(181), - 1806: uint16(267), - 1807: uint16(232), - 1808: uint16(1536), - 1809: uint16(1534), - 1810: uint16(455), - 1811: uint16(1230), - 1812: uint16(420), - 1813: uint16(567), - 1814: uint16(82), - 1815: uint16(1019), - 1816: uint16(1019), - 1817: uint16(1021), - 1818: uint16(1022), - 1819: uint16(28), - 1820: uint16(86), - 1821: uint16(217), - 1822: uint16(85), - 1823: uint16(1494), - 1824: uint16(190), - 1825: uint16(175), - 1826: uint16(183), - 1827: uint16(465), - 1828: uint16(185), - 1829: uint16(466), - 1830: uint16(36), - 1831: uint16(1409), - 1832: uint16(186), - 1833: uint16(187), - 1834: uint16(188), - 1835: uint16(499), - 1836: uint16(449), - 1837: uint16(244), - 1838: uint16(37), - 1839: uint16(99), - 1840: uint16(400), - 1841: uint16(1415), - 1842: uint16(1414), - 1843: uint16(488), - 1844: uint16(1417), - 1845: uint16(194), - 1846: uint16(473), - 1847: uint16(403), - 1848: uint16(561), - 1849: uint16(1483), - 1850: uint16(248), - 1851: uint16(92), - 1852: uint16(1505), - 1853: uint16(494), - 1854: uint16(198), - 1855: uint16(279), - 1856: uint16(112), - 1857: uint16(564), - 1858: uint16(250), - 1859: uint16(4), - 1860: uint16(348), - 1861: uint16(497), - 1862: uint16(405), - 1863: uint16(352), - 1864: uint16(1259), - 1865: uint16(251), - 1866: uint16(252), - 1867: uint16(515), - 1868: uint16(1316), - 1869: uint16(434), - 1870: uint16(1315), - 1871: uint16(1314), - 1872: uint16(94), - 1873: uint16(567), - 1874: uint16(1307), - 1875: uint16(886), - 1876: uint16(1306), - 1877: uint16(1031), - 1878: uint16(226), - 1879: uint16(406), - 1880: uint16(1611), - 1881: uint16(1610), - 1882: uint16(438), - 1883: uint16(110), - 1884: uint16(110), - 1885: uint16(1580), - 1886: uint16(1286), - 1887: uint16(524), - 1888: uint16(439), - 1889: uint16(308), - 1890: uint16(266), - 1891: uint16(111), - 1892: uint16(1285), - 1893: uint16(449), - 1894: uint16(573), - 1895: uint16(449), - 1896: uint16(449), - 1897: uint16(309), - 1898: uint16(1019), - 1899: uint16(366), - 1900: uint16(1284), - 1901: uint16(1609), - 1902: uint16(265), - 1903: uint16(1566), - 1904: uint16(1565), - 1905: uint16(442), - 1906: uint16(372), - 1907: uint16(1381), - 1908: uint16(561), - 1909: uint16(129), - 1910: uint16(550), - 1911: uint16(1380), - 1912: uint16(10), - 1913: uint16(1470), - 1914: uint16(383), - 1915: uint16(106), - 1916: uint16(316), - 1917: uint16(551), - 1918: uint16(100), - 1919: uint16(35), - 1920: uint16(534), - 1921: uint16(575), - 1922: uint16(212), - 1923: uint16(1339), - 1924: uint16(381), - 1925: uint16(387), - 1926: uint16(1187), - 1927: uint16(1338), - 1928: uint16(274), - 1929: uint16(276), - 1930: uint16(1019), - 1931: uint16(1019), - 1932: uint16(1021), - 1933: uint16(1022), - 1934: uint16(28), - 1935: uint16(277), - 1936: uint16(413), - 1937: uint16(1031), - 1938: uint16(576), - 1939: uint16(1254), - 1940: uint16(388), - 1941: uint16(1521), - 1942: uint16(1249), - 1943: uint16(110), - 1944: uint16(110), - 1945: uint16(167), - 1946: uint16(1522), - 1947: uint16(168), - 1948: uint16(148), - 1949: uint16(1520), - 1950: uint16(1519), - 1951: uint16(111), - 1952: uint16(306), - 1953: uint16(449), - 1954: uint16(573), - 1955: uint16(449), - 1956: uint16(222), - 1957: uint16(223), - 1958: uint16(1019), - 1959: uint16(839), - 1960: uint16(169), - 1961: uint16(79), - 1962: uint16(450), - 1963: uint16(214), - 1964: uint16(414), - 1965: uint16(233), - 1966: uint16(320), - 1967: uint16(145), - 1968: uint16(1093), - 1969: uint16(1091), - 1970: uint16(328), - 1971: uint16(182), - 1972: uint16(171), - 1973: uint16(1212), - 1974: uint16(918), - 1975: uint16(184), - 1976: uint16(240), - 1977: uint16(336), - 1978: uint16(243), - 1979: uint16(1107), - 1980: uint16(189), - 1981: uint16(172), - 1982: uint16(173), - 1983: uint16(423), - 1984: uint16(425), - 1985: uint16(88), - 1986: uint16(180), - 1987: uint16(191), - 1988: uint16(89), - 1989: uint16(90), - 1990: uint16(1019), - 1991: uint16(1019), - 1992: uint16(1021), - 1993: uint16(1022), - 1994: uint16(28), - 1995: uint16(91), - 1996: uint16(174), - 1997: uint16(1110), - 1998: uint16(245), - 1999: uint16(1106), - 2000: uint16(246), - 2001: uint16(159), - 2002: uint16(18), - 2003: uint16(247), - 2004: uint16(347), - 2005: uint16(1099), - 2006: uint16(263), - 2007: uint16(195), - 2008: uint16(1227), - 2009: uint16(493), - 2010: uint16(249), - 2011: uint16(196), - 2012: uint16(38), - 2013: uint16(854), - 2014: uint16(498), - 2015: uint16(368), - 2016: uint16(253), - 2017: uint16(360), - 2018: uint16(897), - 2019: uint16(197), - 2020: uint16(502), - 2021: uint16(93), - 2022: uint16(19), - 2023: uint16(20), - 2024: uint16(507), - 2025: uint16(884), - 2026: uint16(363), - 2027: uint16(510), - 2028: uint16(95), - 2029: uint16(307), - 2030: uint16(160), - 2031: uint16(96), - 2032: uint16(518), - 2033: uint16(97), - 2034: uint16(1175), - 2035: uint16(1060), - 2036: uint16(1146), - 2037: uint16(40), - 2038: uint16(21), - 2039: uint16(227), - 2040: uint16(176), - 2041: uint16(1145), - 2042: uint16(282), - 2043: uint16(284), - 2044: uint16(969), - 2045: uint16(200), - 2046: uint16(963), - 2047: uint16(114), - 2048: uint16(262), - 2049: uint16(1165), - 2050: uint16(22), - 2051: uint16(23), - 2052: uint16(24), - 2053: uint16(1161), - 2054: uint16(1169), - 2055: uint16(25), - 2056: uint16(1163), - 2057: uint16(1150), - 2058: uint16(34), - 2059: uint16(26), - 2060: uint16(1168), - 2061: uint16(546), - 2062: uint16(27), - 2063: uint16(204), - 2064: uint16(101), - 2065: uint16(103), - 2066: uint16(104), - 2067: uint16(1074), - 2068: uint16(7), - 2069: uint16(1061), - 2070: uint16(1059), - 2071: uint16(1063), - 2072: uint16(1116), - 2073: uint16(1064), - 2074: uint16(1115), - 2075: uint16(268), - 2076: uint16(269), - 2077: uint16(29), - 2078: uint16(41), - 2079: uint16(270), - 2080: uint16(1024), - 2081: uint16(866), - 2082: uint16(113), - 2083: uint16(30), - 2084: uint16(568), - 2085: uint16(392), - 2086: uint16(1183), - 2087: uint16(144), - 2088: uint16(178), - 2089: uint16(1182), - 2090: uint16(271), - 2091: uint16(928), - 2092: uint16(1245), - 2093: uint16(1245), - 2094: uint16(1245), - 2095: uint16(1245), - 2096: uint16(1245), - 2097: uint16(1245), - 2098: uint16(1245), - 2099: uint16(1602), -} -var _yy_lookahead = [2285]uint16{ - 0: uint16(193), - 1: uint16(193), - 2: uint16(193), - 3: uint16(274), - 4: uint16(275), - 5: uint16(276), - 6: uint16(193), - 7: uint16(274), - 8: uint16(275), - 9: uint16(276), - 10: uint16(193), - 11: uint16(223), - 12: uint16(219), - 13: uint16(225), - 14: uint16(206), - 15: uint16(210), - 16: uint16(211), - 17: uint16(212), - 18: uint16(193), + 1598: uint16(395), + 1599: uint16(395), + 1600: uint16(394), + 1601: uint16(276), + 1602: uint16(392), + 1603: uint16(986), + 1604: uint16(987), + 1605: uint16(859), + 1606: uint16(481), + 1607: uint16(346), + 1608: uint16(264), + 1609: uint16(110), + 1610: uint16(1032), + 1611: uint16(489), + 1612: uint16(576), + 1613: uint16(1188), + 1614: uint16(503), + 1615: uint16(1088), + 1616: uint16(261), + 1617: uint16(261), + 1618: uint16(237), + 1619: uint16(576), + 1620: uint16(326), + 1621: uint16(121), + 1622: uint16(568), + 1623: uint16(1040), + 1624: uint16(4), + 1625: uint16(347), + 1626: uint16(1376), + 1627: uint16(413), + 1628: uint16(325), + 1629: uint16(119), + 1630: uint16(119), + 1631: uint16(948), + 1632: uint16(319), + 1633: uint16(567), + 1634: uint16(351), + 1635: uint16(78), + 1636: uint16(78), + 1637: uint16(120), + 1638: uint16(571), + 1639: uint16(451), + 1640: uint16(577), + 1641: uint16(451), + 1642: uint16(79), + 1643: uint16(79), + 1644: uint16(1028), + 1645: uint16(354), + 1646: uint16(356), + 1647: uint16(576), + 1648: uint16(360), + 1649: uint16(1092), + 1650: uint16(110), + 1651: uint16(576), + 1652: uint16(974), + 1653: uint16(942), + 1654: uint16(264), + 1655: uint16(123), + 1656: uint16(457), + 1657: uint16(358), + 1658: uint16(239), + 1659: uint16(576), + 1660: uint16(519), + 1661: uint16(451), + 1662: uint16(939), + 1663: uint16(1104), + 1664: uint16(123), + 1665: uint16(1104), + 1666: uint16(173), + 1667: uint16(576), + 1668: uint16(1032), + 1669: uint16(43), + 1670: uint16(63), + 1671: uint16(63), + 1672: uint16(1324), + 1673: uint16(565), + 1674: uint16(168), + 1675: uint16(168), + 1676: uint16(1028), + 1677: uint16(1028), + 1678: uint16(1030), + 1679: uint16(1031), + 1680: uint16(35), + 1681: uint16(576), + 1682: uint16(169), + 1683: uint16(169), + 1684: uint16(1308), + 1685: uint16(872), + 1686: uint16(238), + 1687: uint16(157), + 1688: uint16(1589), + 1689: uint16(576), + 1690: uint16(86), + 1691: uint16(86), + 1692: uint16(365), + 1693: uint16(89), + 1694: uint16(568), + 1695: uint16(375), + 1696: uint16(4), + 1697: uint16(1103), + 1698: uint16(941), + 1699: uint16(1103), + 1700: uint16(123), + 1701: uint16(576), + 1702: uint16(1040), + 1703: uint16(1389), + 1704: uint16(64), + 1705: uint16(64), + 1706: uint16(1188), + 1707: uint16(1434), + 1708: uint16(119), + 1709: uint16(119), + 1710: uint16(571), + 1711: uint16(576), + 1712: uint16(82), + 1713: uint16(82), + 1714: uint16(563), + 1715: uint16(576), + 1716: uint16(120), + 1717: uint16(165), + 1718: uint16(451), + 1719: uint16(577), + 1720: uint16(451), + 1721: uint16(413), + 1722: uint16(1362), + 1723: uint16(1028), + 1724: uint16(144), + 1725: uint16(144), + 1726: uint16(319), + 1727: uint16(567), + 1728: uint16(576), + 1729: uint16(1374), + 1730: uint16(562), + 1731: uint16(498), + 1732: uint16(279), + 1733: uint16(451), + 1734: uint16(83), + 1735: uint16(83), + 1736: uint16(1439), + 1737: uint16(576), + 1738: uint16(166), + 1739: uint16(166), + 1740: uint16(576), + 1741: uint16(1289), + 1742: uint16(554), + 1743: uint16(576), + 1744: uint16(1280), + 1745: uint16(565), + 1746: uint16(576), + 1747: uint16(12), + 1748: uint16(576), + 1749: uint16(1268), + 1750: uint16(457), + 1751: uint16(146), + 1752: uint16(146), + 1753: uint16(1267), + 1754: uint16(576), + 1755: uint16(1028), + 1756: uint16(1028), + 1757: uint16(1030), + 1758: uint16(1031), + 1759: uint16(35), + 1760: uint16(140), + 1761: uint16(140), + 1762: uint16(1269), + 1763: uint16(167), + 1764: uint16(167), + 1765: uint16(1609), + 1766: uint16(160), + 1767: uint16(160), + 1768: uint16(1359), + 1769: uint16(150), + 1770: uint16(150), + 1771: uint16(149), + 1772: uint16(149), + 1773: uint16(311), + 1774: uint16(1040), + 1775: uint16(576), + 1776: uint16(312), + 1777: uint16(147), + 1778: uint16(147), + 1779: uint16(313), + 1780: uint16(119), + 1781: uint16(119), + 1782: uint16(222), + 1783: uint16(235), + 1784: uint16(576), + 1785: uint16(1188), + 1786: uint16(396), + 1787: uint16(576), + 1788: uint16(120), + 1789: uint16(576), + 1790: uint16(451), + 1791: uint16(577), + 1792: uint16(451), + 1793: uint16(1192), + 1794: uint16(453), + 1795: uint16(1028), + 1796: uint16(508), + 1797: uint16(291), + 1798: uint16(148), + 1799: uint16(148), + 1800: uint16(1421), + 1801: uint16(1612), + 1802: uint16(395), + 1803: uint16(395), + 1804: uint16(394), + 1805: uint16(276), + 1806: uint16(392), + 1807: uint16(85), + 1808: uint16(85), + 1809: uint16(859), + 1810: uint16(87), + 1811: uint16(87), + 1812: uint16(84), + 1813: uint16(84), + 1814: uint16(553), + 1815: uint16(576), + 1816: uint16(294), + 1817: uint16(576), + 1818: uint16(1426), + 1819: uint16(338), + 1820: uint16(339), + 1821: uint16(1425), + 1822: uint16(237), + 1823: uint16(300), + 1824: uint16(326), + 1825: uint16(1416), + 1826: uint16(1409), + 1827: uint16(1028), + 1828: uint16(1028), + 1829: uint16(1030), + 1830: uint16(1031), + 1831: uint16(35), + 1832: uint16(325), + 1833: uint16(344), + 1834: uint16(403), + 1835: uint16(483), + 1836: uint16(226), + 1837: uint16(1307), + 1838: uint16(52), + 1839: uint16(52), + 1840: uint16(58), + 1841: uint16(58), + 1842: uint16(368), + 1843: uint16(1371), + 1844: uint16(1502), + 1845: uint16(566), + 1846: uint16(1501), + 1847: uint16(121), + 1848: uint16(568), + 1849: uint16(221), + 1850: uint16(4), + 1851: uint16(208), + 1852: uint16(268), + 1853: uint16(209), + 1854: uint16(390), + 1855: uint16(1244), + 1856: uint16(1549), + 1857: uint16(1188), + 1858: uint16(1372), + 1859: uint16(1370), + 1860: uint16(1369), + 1861: uint16(1547), + 1862: uint16(239), + 1863: uint16(184), + 1864: uint16(571), + 1865: uint16(233), + 1866: uint16(421), + 1867: uint16(1241), + 1868: uint16(95), + 1869: uint16(218), + 1870: uint16(173), + 1871: uint16(1507), + 1872: uint16(193), + 1873: uint16(43), + 1874: uint16(91), + 1875: uint16(94), + 1876: uint16(178), + 1877: uint16(186), + 1878: uint16(467), + 1879: uint16(188), + 1880: uint16(468), + 1881: uint16(1422), + 1882: uint16(13), + 1883: uint16(189), + 1884: uint16(190), + 1885: uint16(191), + 1886: uint16(501), + 1887: uint16(451), + 1888: uint16(245), + 1889: uint16(108), + 1890: uint16(238), + 1891: uint16(401), + 1892: uint16(1428), + 1893: uint16(1427), + 1894: uint16(1430), + 1895: uint16(475), + 1896: uint16(404), + 1897: uint16(1496), + 1898: uint16(197), + 1899: uint16(565), + 1900: uint16(14), + 1901: uint16(490), + 1902: uint16(249), + 1903: uint16(101), + 1904: uint16(1518), + 1905: uint16(496), + 1906: uint16(349), + 1907: uint16(280), + 1908: uint16(251), + 1909: uint16(201), + 1910: uint16(353), + 1911: uint16(499), + 1912: uint16(252), + 1913: uint16(406), + 1914: uint16(1270), + 1915: uint16(253), + 1916: uint16(517), + 1917: uint16(1327), + 1918: uint16(1326), + 1919: uint16(435), + 1920: uint16(1325), + 1921: uint16(1318), + 1922: uint16(103), + 1923: uint16(893), + 1924: uint16(1296), + 1925: uint16(413), + 1926: uint16(227), + 1927: uint16(407), + 1928: uint16(1040), + 1929: uint16(1626), + 1930: uint16(319), + 1931: uint16(567), + 1932: uint16(1625), + 1933: uint16(1297), + 1934: uint16(119), + 1935: uint16(119), + 1936: uint16(439), + 1937: uint16(367), + 1938: uint16(1317), + 1939: uint16(1295), + 1940: uint16(1624), + 1941: uint16(526), + 1942: uint16(120), + 1943: uint16(440), + 1944: uint16(451), + 1945: uint16(577), + 1946: uint16(451), + 1947: uint16(1594), + 1948: uint16(309), + 1949: uint16(1028), + 1950: uint16(310), + 1951: uint16(373), + 1952: uint16(266), + 1953: uint16(267), + 1954: uint16(457), + 1955: uint16(1580), + 1956: uint16(1579), + 1957: uint16(443), + 1958: uint16(138), + 1959: uint16(1394), + 1960: uint16(552), + 1961: uint16(1393), + 1962: uint16(11), + 1963: uint16(1483), + 1964: uint16(384), + 1965: uint16(115), + 1966: uint16(317), + 1967: uint16(1350), + 1968: uint16(109), + 1969: uint16(536), + 1970: uint16(42), + 1971: uint16(579), + 1972: uint16(382), + 1973: uint16(214), + 1974: uint16(1349), + 1975: uint16(388), + 1976: uint16(1198), + 1977: uint16(389), + 1978: uint16(275), + 1979: uint16(277), + 1980: uint16(278), + 1981: uint16(1028), + 1982: uint16(1028), + 1983: uint16(1030), + 1984: uint16(1031), + 1985: uint16(35), + 1986: uint16(580), + 1987: uint16(1265), + 1988: uint16(414), + 1989: uint16(1260), + 1990: uint16(170), + 1991: uint16(415), + 1992: uint16(183), + 1993: uint16(1534), + 1994: uint16(1535), + 1995: uint16(1533), + 1996: uint16(171), + 1997: uint16(154), + 1998: uint16(307), + 1999: uint16(1532), + 2000: uint16(846), + 2001: uint16(223), + 2002: uint16(224), + 2003: uint16(88), + 2004: uint16(452), + 2005: uint16(215), + 2006: uint16(172), + 2007: uint16(321), + 2008: uint16(234), + 2009: uint16(1102), + 2010: uint16(152), + 2011: uint16(1188), + 2012: uint16(1100), + 2013: uint16(329), + 2014: uint16(185), + 2015: uint16(174), + 2016: uint16(1223), + 2017: uint16(925), + 2018: uint16(187), + 2019: uint16(241), + 2020: uint16(337), + 2021: uint16(244), + 2022: uint16(1116), + 2023: uint16(192), + 2024: uint16(175), + 2025: uint16(176), + 2026: uint16(424), + 2027: uint16(426), + 2028: uint16(97), + 2029: uint16(194), + 2030: uint16(98), + 2031: uint16(99), + 2032: uint16(100), + 2033: uint16(177), + 2034: uint16(1119), + 2035: uint16(1115), + 2036: uint16(246), + 2037: uint16(247), + 2038: uint16(161), + 2039: uint16(24), + 2040: uint16(248), + 2041: uint16(348), + 2042: uint16(1238), + 2043: uint16(264), + 2044: uint16(1108), + 2045: uint16(250), + 2046: uint16(495), + 2047: uint16(199), + 2048: uint16(198), + 2049: uint16(15), + 2050: uint16(861), + 2051: uint16(500), + 2052: uint16(369), + 2053: uint16(254), + 2054: uint16(504), + 2055: uint16(509), + 2056: uint16(512), + 2057: uint16(200), + 2058: uint16(102), + 2059: uint16(25), + 2060: uint16(179), + 2061: uint16(361), + 2062: uint16(26), + 2063: uint16(364), + 2064: uint16(104), + 2065: uint16(891), + 2066: uint16(308), + 2067: uint16(162), + 2068: uint16(105), + 2069: uint16(904), + 2070: uint16(520), + 2071: uint16(106), + 2072: uint16(1185), + 2073: uint16(1069), + 2074: uint16(1155), + 2075: uint16(17), + 2076: uint16(228), + 2077: uint16(27), + 2078: uint16(1154), + 2079: uint16(283), + 2080: uint16(285), + 2081: uint16(263), + 2082: uint16(978), + 2083: uint16(202), + 2084: uint16(972), + 2085: uint16(123), + 2086: uint16(28), + 2087: uint16(1175), + 2088: uint16(29), + 2089: uint16(30), + 2090: uint16(1179), + 2091: uint16(1171), + 2092: uint16(31), + 2093: uint16(1173), + 2094: uint16(1160), + 2095: uint16(41), + 2096: uint16(32), + 2097: uint16(206), + 2098: uint16(548), + 2099: uint16(33), + 2100: uint16(110), + 2101: uint16(1178), + 2102: uint16(1083), + 2103: uint16(8), + 2104: uint16(112), + 2105: uint16(1070), + 2106: uint16(113), + 2107: uint16(1068), + 2108: uint16(1072), + 2109: uint16(34), + 2110: uint16(1073), + 2111: uint16(560), + 2112: uint16(1125), + 2113: uint16(269), + 2114: uint16(1124), + 2115: uint16(270), + 2116: uint16(36), + 2117: uint16(18), + 2118: uint16(1194), + 2119: uint16(1033), + 2120: uint16(873), + 2121: uint16(151), + 2122: uint16(122), + 2123: uint16(37), + 2124: uint16(393), + 2125: uint16(271), + 2126: uint16(272), + 2127: uint16(572), + 2128: uint16(181), + 2129: uint16(1193), + 2130: uint16(1256), + 2131: uint16(1256), + 2132: uint16(1256), + 2133: uint16(935), + 2134: uint16(1256), + 2135: uint16(1256), + 2136: uint16(1256), + 2137: uint16(1256), + 2138: uint16(1256), + 2139: uint16(1256), + 2140: uint16(1256), + 2141: uint16(1617), +} +var _yy_lookahead = [2328]uint16{ + 0: uint16(194), + 1: uint16(276), + 2: uint16(277), + 3: uint16(278), + 4: uint16(216), + 5: uint16(194), + 6: uint16(194), + 7: uint16(217), + 8: uint16(194), + 9: uint16(194), + 10: uint16(194), + 11: uint16(194), + 12: uint16(224), + 13: uint16(194), + 14: uint16(194), + 15: uint16(276), + 16: uint16(277), + 17: uint16(278), + 18: uint16(204), 19: uint16(19), - 20: uint16(219), - 21: uint16(233), - 22: uint16(216), - 23: uint16(216), - 24: uint16(217), - 25: uint16(216), - 26: uint16(217), - 27: uint16(193), - 28: uint16(295), - 29: uint16(216), - 30: uint16(217), + 20: uint16(206), + 21: uint16(202), + 22: uint16(297), + 23: uint16(217), + 24: uint16(218), + 25: uint16(205), + 26: uint16(207), + 27: uint16(217), + 28: uint16(205), + 29: uint16(217), + 30: uint16(218), 31: uint16(31), - 32: uint16(193), - 33: uint16(216), + 32: uint16(217), + 33: uint16(218), 34: uint16(217), - 35: uint16(193), - 36: uint16(228), - 37: uint16(213), - 38: uint16(230), + 35: uint16(218), + 36: uint16(29), + 37: uint16(217), + 38: uint16(218), 39: uint16(39), - 40: uint16(206), - 41: uint16(216), - 42: uint16(217), + 40: uint16(33), + 41: uint16(217), + 42: uint16(220), 43: uint16(43), 44: uint16(44), 45: uint16(45), @@ -154609,31 +155978,31 @@ var _yy_lookahead = [2285]uint16{ 55: uint16(55), 56: uint16(56), 57: uint16(57), - 58: uint16(193), + 58: uint16(312), 59: uint16(19), - 60: uint16(185), - 61: uint16(186), - 62: uint16(187), - 63: uint16(188), - 64: uint16(189), - 65: uint16(190), - 66: uint16(253), - 67: uint16(274), - 68: uint16(275), - 69: uint16(276), - 70: uint16(195), - 71: uint16(193), - 72: uint16(197), - 73: uint16(193), - 74: uint16(261), - 75: uint16(274), - 76: uint16(275), - 77: uint16(276), - 78: uint16(253), - 79: uint16(204), - 80: uint16(238), - 81: uint16(204), - 82: uint16(81), + 60: uint16(240), + 61: uint16(241), + 62: uint16(316), + 63: uint16(240), + 64: uint16(241), + 65: uint16(194), + 66: uint16(46), + 67: uint16(47), + 68: uint16(48), + 69: uint16(49), + 70: uint16(22), + 71: uint16(254), + 72: uint16(65), + 73: uint16(253), + 74: uint16(254), + 75: uint16(255), + 76: uint16(253), + 77: uint16(194), + 78: uint16(255), + 79: uint16(194), + 80: uint16(263), + 81: uint16(258), + 82: uint16(259), 83: uint16(43), 84: uint16(44), 85: uint16(45), @@ -154649,10 +156018,10 @@ var _yy_lookahead = [2285]uint16{ 95: uint16(55), 96: uint16(56), 97: uint16(57), - 98: uint16(274), - 99: uint16(275), - 100: uint16(276), - 101: uint16(262), + 98: uint16(276), + 99: uint16(277), + 100: uint16(278), + 101: uint16(285), 102: uint16(102), 103: uint16(103), 104: uint16(104), @@ -154665,34 +156034,34 @@ var _yy_lookahead = [2285]uint16{ 111: uint16(111), 112: uint16(112), 113: uint16(113), - 114: uint16(239), - 115: uint16(240), - 116: uint16(239), - 117: uint16(240), - 118: uint16(210), - 119: uint16(211), - 120: uint16(212), - 121: uint16(314), - 122: uint16(315), - 123: uint16(314), - 124: uint16(59), - 125: uint16(316), + 114: uint16(59), + 115: uint16(186), + 116: uint16(187), + 117: uint16(188), + 118: uint16(189), + 119: uint16(190), + 120: uint16(191), + 121: uint16(310), + 122: uint16(239), + 123: uint16(317), + 124: uint16(318), + 125: uint16(196), 126: uint16(86), - 127: uint16(252), + 127: uint16(198), 128: uint16(88), - 129: uint16(252), + 129: uint16(317), 130: uint16(19), - 131: uint16(314), - 132: uint16(315), - 133: uint16(256), - 134: uint16(257), - 135: uint16(113), + 131: uint16(319), + 132: uint16(317), + 133: uint16(318), + 134: uint16(205), + 135: uint16(264), 136: uint16(25), - 137: uint16(72), - 138: uint16(296), - 139: uint16(138), - 140: uint16(139), - 141: uint16(266), + 137: uint16(211), + 138: uint16(212), + 139: uint16(213), + 140: uint16(205), + 141: uint16(121), 142: uint16(102), 143: uint16(103), 144: uint16(104), @@ -154720,50 +156089,50 @@ var _yy_lookahead = [2285]uint16{ 166: uint16(55), 167: uint16(56), 168: uint16(57), - 169: uint16(81), - 170: uint16(292), - 171: uint16(59), - 172: uint16(292), - 173: uint16(298), - 174: uint16(108), - 175: uint16(109), - 176: uint16(110), - 177: uint16(111), - 178: uint16(112), - 179: uint16(113), + 169: uint16(240), + 170: uint16(241), + 171: uint16(116), + 172: uint16(117), + 173: uint16(118), + 174: uint16(119), + 175: uint16(240), + 176: uint16(241), + 177: uint16(122), + 178: uint16(123), + 179: uint16(124), 180: uint16(69), - 181: uint16(116), - 182: uint16(117), - 183: uint16(118), - 184: uint16(72), + 181: uint16(298), + 182: uint16(253), + 183: uint16(194), + 184: uint16(255), 185: uint16(106), 186: uint16(107), - 187: uint16(193), - 188: uint16(111), - 189: uint16(112), - 190: uint16(113), + 187: uint16(132), + 188: uint16(253), + 189: uint16(141), + 190: uint16(255), 191: uint16(54), 192: uint16(55), 193: uint16(56), 194: uint16(57), 195: uint16(58), - 196: uint16(102), - 197: uint16(103), - 198: uint16(104), - 199: uint16(105), - 200: uint16(106), - 201: uint16(107), - 202: uint16(108), - 203: uint16(109), - 204: uint16(110), - 205: uint16(111), - 206: uint16(112), - 207: uint16(113), - 208: uint16(120), - 209: uint16(25), - 210: uint16(216), - 211: uint16(217), - 212: uint16(145), + 196: uint16(207), + 197: uint16(268), + 198: uint16(102), + 199: uint16(103), + 200: uint16(104), + 201: uint16(105), + 202: uint16(106), + 203: uint16(107), + 204: uint16(108), + 205: uint16(109), + 206: uint16(110), + 207: uint16(111), + 208: uint16(112), + 209: uint16(113), + 210: uint16(214), + 211: uint16(128), + 212: uint16(129), 213: uint16(102), 214: uint16(103), 215: uint16(104), @@ -154776,13 +156145,13 @@ var _yy_lookahead = [2285]uint16{ 222: uint16(111), 223: uint16(112), 224: uint16(113), - 225: uint16(231), - 226: uint16(138), - 227: uint16(139), - 228: uint16(116), - 229: uint16(117), - 230: uint16(118), - 231: uint16(164), + 225: uint16(134), + 226: uint16(25), + 227: uint16(136), + 228: uint16(137), + 229: uint16(300), + 230: uint16(165), + 231: uint16(166), 232: uint16(153), 233: uint16(19), 234: uint16(155), @@ -154802,12 +156171,12 @@ var _yy_lookahead = [2285]uint16{ 248: uint16(111), 249: uint16(112), 250: uint16(113), - 251: uint16(128), - 252: uint16(129), - 253: uint16(46), - 254: uint16(47), - 255: uint16(48), - 256: uint16(49), + 251: uint16(108), + 252: uint16(109), + 253: uint16(110), + 254: uint16(111), + 255: uint16(112), + 256: uint16(113), 257: uint16(43), 258: uint16(44), 259: uint16(45), @@ -154823,15 +156192,15 @@ var _yy_lookahead = [2285]uint16{ 269: uint16(55), 270: uint16(56), 271: uint16(57), - 272: uint16(216), - 273: uint16(193), - 274: uint16(25), - 275: uint16(59), - 276: uint16(193), + 272: uint16(276), + 273: uint16(277), + 274: uint16(278), + 275: uint16(113), + 276: uint16(194), 277: uint16(19), - 278: uint16(165), - 279: uint16(166), - 280: uint16(193), + 278: uint16(22), + 279: uint16(23), + 280: uint16(194), 281: uint16(67), 282: uint16(24), 283: uint16(102), @@ -154846,12 +156215,12 @@ var _yy_lookahead = [2285]uint16{ 292: uint16(111), 293: uint16(112), 294: uint16(113), - 295: uint16(73), - 296: uint16(216), - 297: uint16(217), - 298: uint16(59), - 299: uint16(216), - 300: uint16(217), + 295: uint16(220), + 296: uint16(250), + 297: uint16(59), + 298: uint16(252), + 299: uint16(217), + 300: uint16(218), 301: uint16(43), 302: uint16(44), 303: uint16(45), @@ -154879,38 +156248,38 @@ var _yy_lookahead = [2285]uint16{ 325: uint16(111), 326: uint16(112), 327: uint16(113), - 328: uint16(121), - 329: uint16(145), - 330: uint16(59), - 331: uint16(193), - 332: uint16(116), - 333: uint16(117), - 334: uint16(118), - 335: uint16(119), - 336: uint16(273), - 337: uint16(204), - 338: uint16(122), - 339: uint16(123), - 340: uint16(124), + 328: uint16(106), + 329: uint16(107), + 330: uint16(108), + 331: uint16(109), + 332: uint16(110), + 333: uint16(111), + 334: uint16(112), + 335: uint16(113), + 336: uint16(254), + 337: uint16(59), + 338: uint16(205), + 339: uint16(138), + 340: uint16(139), 341: uint16(19), 342: uint16(20), - 343: uint16(134), + 343: uint16(194), 344: uint16(22), - 345: uint16(136), - 346: uint16(137), - 347: uint16(19), - 348: uint16(132), - 349: uint16(127), - 350: uint16(128), - 351: uint16(129), - 352: uint16(24), - 353: uint16(22), - 354: uint16(23), - 355: uint16(116), - 356: uint16(117), - 357: uint16(118), + 345: uint16(263), + 346: uint16(22), + 347: uint16(23), + 348: uint16(231), + 349: uint16(25), + 350: uint16(72), + 351: uint16(276), + 352: uint16(277), + 353: uint16(278), + 354: uint16(116), + 355: uint16(117), + 356: uint16(118), + 357: uint16(101), 358: uint16(36), - 359: uint16(193), + 359: uint16(76), 360: uint16(102), 361: uint16(103), 362: uint16(104), @@ -154923,37 +156292,37 @@ var _yy_lookahead = [2285]uint16{ 369: uint16(111), 370: uint16(112), 371: uint16(113), - 372: uint16(239), + 372: uint16(89), 373: uint16(240), - 374: uint16(311), - 375: uint16(312), - 376: uint16(215), - 377: uint16(106), - 378: uint16(107), - 379: uint16(241), + 374: uint16(241), + 375: uint16(92), + 376: uint16(73), + 377: uint16(194), + 378: uint16(194), + 379: uint16(73), 380: uint16(19), 381: uint16(59), - 382: uint16(216), - 383: uint16(217), - 384: uint16(223), - 385: uint16(252), - 386: uint16(115), - 387: uint16(116), - 388: uint16(117), - 389: uint16(118), - 390: uint16(151), - 391: uint16(120), - 392: uint16(26), + 382: uint16(188), + 383: uint16(189), + 384: uint16(190), + 385: uint16(191), + 386: uint16(253), + 387: uint16(81), + 388: uint16(255), + 389: uint16(151), + 390: uint16(196), + 391: uint16(25), + 392: uint16(198), 393: uint16(71), - 394: uint16(193), - 395: uint16(308), - 396: uint16(309), - 397: uint16(193), - 398: uint16(149), - 399: uint16(128), - 400: uint16(313), - 401: uint16(216), - 402: uint16(269), + 394: uint16(116), + 395: uint16(117), + 396: uint16(118), + 397: uint16(311), + 398: uint16(312), + 399: uint16(205), + 400: uint16(217), + 401: uint16(218), + 402: uint16(316), 403: uint16(81), 404: uint16(43), 405: uint16(44), @@ -154970,50 +156339,50 @@ var _yy_lookahead = [2285]uint16{ 416: uint16(55), 417: uint16(56), 418: uint16(57), - 419: uint16(253), - 420: uint16(216), - 421: uint16(217), + 419: uint16(270), + 420: uint16(22), + 421: uint16(23), 422: uint16(100), - 423: uint16(95), - 424: uint16(153), - 425: uint16(59), - 426: uint16(155), - 427: uint16(261), + 423: uint16(25), + 424: uint16(59), + 425: uint16(101), + 426: uint16(138), + 427: uint16(139), 428: uint16(106), 429: uint16(107), - 430: uint16(25), - 431: uint16(193), - 432: uint16(101), - 433: uint16(193), - 434: uint16(193), - 435: uint16(231), + 430: uint16(127), + 431: uint16(128), + 432: uint16(129), + 433: uint16(127), + 434: uint16(240), + 435: uint16(241), 436: uint16(114), - 437: uint16(25), + 437: uint16(254), 438: uint16(116), 439: uint16(117), 440: uint16(118), - 441: uint16(113), - 442: uint16(304), + 441: uint16(76), + 442: uint16(76), 443: uint16(121), - 444: uint16(193), - 445: uint16(204), - 446: uint16(59), - 447: uint16(119), - 448: uint16(120), - 449: uint16(121), - 450: uint16(122), - 451: uint16(123), - 452: uint16(124), - 453: uint16(125), - 454: uint16(216), - 455: uint16(217), - 456: uint16(193), - 457: uint16(216), - 458: uint16(217), - 459: uint16(131), + 444: uint16(138), + 445: uint16(139), + 446: uint16(263), + 447: uint16(253), + 448: uint16(264), + 449: uint16(255), + 450: uint16(205), + 451: uint16(275), + 452: uint16(87), + 453: uint16(19), + 454: uint16(89), + 455: uint16(89), + 456: uint16(194), + 457: uint16(92), + 458: uint16(92), + 459: uint16(199), 460: uint16(138), 461: uint16(139), - 462: uint16(230), + 462: uint16(268), 463: uint16(102), 464: uint16(103), 465: uint16(104), @@ -155031,37 +156400,37 @@ var _yy_lookahead = [2285]uint16{ 477: uint16(155), 478: uint16(156), 479: uint16(157), - 480: uint16(239), - 481: uint16(240), - 482: uint16(116), - 483: uint16(117), - 484: uint16(118), - 485: uint16(76), - 486: uint16(193), - 487: uint16(23), + 480: uint16(81), + 481: uint16(116), + 482: uint16(117), + 483: uint16(118), + 484: uint16(129), + 485: uint16(240), + 486: uint16(241), + 487: uint16(224), 488: uint16(19), - 489: uint16(25), - 490: uint16(22), - 491: uint16(253), + 489: uint16(226), + 490: uint16(314), + 491: uint16(315), 492: uint16(23), - 493: uint16(252), - 494: uint16(253), - 495: uint16(108), - 496: uint16(87), - 497: uint16(204), - 498: uint16(89), - 499: uint16(261), - 500: uint16(198), - 501: uint16(92), - 502: uint16(261), - 503: uint16(116), - 504: uint16(117), - 505: uint16(118), - 506: uint16(193), - 507: uint16(306), - 508: uint16(307), - 509: uint16(216), - 510: uint16(217), + 493: uint16(25), + 494: uint16(300), + 495: uint16(59), + 496: uint16(22), + 497: uint16(234), + 498: uint16(253), + 499: uint16(101), + 500: uint16(255), + 501: uint16(236), + 502: uint16(237), + 503: uint16(26), + 504: uint16(194), + 505: uint16(183), + 506: uint16(194), + 507: uint16(152), + 508: uint16(72), + 509: uint16(22), + 510: uint16(145), 511: uint16(150), 512: uint16(43), 513: uint16(44), @@ -155078,34 +156447,34 @@ var _yy_lookahead = [2285]uint16{ 524: uint16(55), 525: uint16(56), 526: uint16(57), - 527: uint16(59), - 528: uint16(193), - 529: uint16(216), - 530: uint16(217), + 527: uint16(217), + 528: uint16(218), + 529: uint16(217), + 530: uint16(218), 531: uint16(19), - 532: uint16(239), - 533: uint16(240), - 534: uint16(283), + 532: uint16(189), + 533: uint16(59), + 534: uint16(191), 535: uint16(23), - 536: uint16(106), - 537: uint16(107), - 538: uint16(108), - 539: uint16(109), - 540: uint16(110), - 541: uint16(111), - 542: uint16(112), - 543: uint16(113), - 544: uint16(73), - 545: uint16(252), - 546: uint16(253), - 547: uint16(142), - 548: uint16(308), - 549: uint16(309), - 550: uint16(138), - 551: uint16(139), - 552: uint16(81), - 553: uint16(313), - 554: uint16(145), + 536: uint16(59), + 537: uint16(138), + 538: uint16(139), + 539: uint16(196), + 540: uint16(135), + 541: uint16(198), + 542: uint16(232), + 543: uint16(283), + 544: uint16(232), + 545: uint16(140), + 546: uint16(59), + 547: uint16(287), + 548: uint16(205), + 549: uint16(275), + 550: uint16(116), + 551: uint16(205), + 552: uint16(116), + 553: uint16(117), + 554: uint16(118), 555: uint16(43), 556: uint16(44), 557: uint16(45), @@ -155121,7 +156490,7 @@ var _yy_lookahead = [2285]uint16{ 567: uint16(55), 568: uint16(56), 569: uint16(57), - 570: uint16(307), + 570: uint16(194), 571: uint16(102), 572: uint16(103), 573: uint16(104), @@ -155134,37 +156503,37 @@ var _yy_lookahead = [2285]uint16{ 580: uint16(111), 581: uint16(112), 582: uint16(113), - 583: uint16(281), - 584: uint16(116), - 585: uint16(117), - 586: uint16(118), - 587: uint16(285), - 588: uint16(23), - 589: uint16(193), - 590: uint16(25), - 591: uint16(119), - 592: uint16(59), - 593: uint16(193), - 594: uint16(122), - 595: uint16(123), - 596: uint16(124), - 597: uint16(59), - 598: uint16(127), - 599: uint16(203), + 583: uint16(240), + 584: uint16(241), + 585: uint16(194), + 586: uint16(240), + 587: uint16(241), + 588: uint16(314), + 589: uint16(315), + 590: uint16(116), + 591: uint16(117), + 592: uint16(118), + 593: uint16(116), + 594: uint16(117), + 595: uint16(118), + 596: uint16(253), + 597: uint16(194), + 598: uint16(255), + 599: uint16(253), 600: uint16(59), - 601: uint16(205), + 601: uint16(255), 602: uint16(19), - 603: uint16(268), - 604: uint16(132), - 605: uint16(25), + 603: uint16(116), + 604: uint16(117), + 605: uint16(118), 606: uint16(23), 607: uint16(22), - 608: uint16(193), - 609: uint16(138), - 610: uint16(139), - 611: uint16(249), - 612: uint16(204), - 613: uint16(251), + 608: uint16(217), + 609: uint16(218), + 610: uint16(142), + 611: uint16(268), + 612: uint16(205), + 613: uint16(275), 614: uint16(102), 615: uint16(103), 616: uint16(104), @@ -155193,29 +156562,29 @@ var _yy_lookahead = [2285]uint16{ 639: uint16(56), 640: uint16(57), 641: uint16(19), - 642: uint16(22), - 643: uint16(23), + 642: uint16(194), + 643: uint16(300), 644: uint16(59), 645: uint16(23), - 646: uint16(25), - 647: uint16(239), - 648: uint16(240), - 649: uint16(116), - 650: uint16(117), - 651: uint16(118), - 652: uint16(193), - 653: uint16(11), - 654: uint16(116), - 655: uint16(117), - 656: uint16(118), - 657: uint16(116), + 646: uint16(119), + 647: uint16(240), + 648: uint16(241), + 649: uint16(122), + 650: uint16(123), + 651: uint16(124), + 652: uint16(314), + 653: uint16(315), + 654: uint16(194), + 655: uint16(236), + 656: uint16(237), + 657: uint16(194), 658: uint16(117), - 659: uint16(118), - 660: uint16(252), - 661: uint16(269), - 662: uint16(22), - 663: uint16(193), - 664: uint16(15), + 659: uint16(132), + 660: uint16(253), + 661: uint16(81), + 662: uint16(255), + 663: uint16(205), + 664: uint16(59), 665: uint16(43), 666: uint16(44), 667: uint16(45), @@ -155231,11 +156600,11 @@ var _yy_lookahead = [2285]uint16{ 677: uint16(55), 678: uint16(56), 679: uint16(57), - 680: uint16(273), - 681: uint16(143), - 682: uint16(193), - 683: uint16(118), - 684: uint16(143), + 680: uint16(217), + 681: uint16(218), + 682: uint16(194), + 683: uint16(194), + 684: uint16(194), 685: uint16(102), 686: uint16(103), 687: uint16(104), @@ -155248,33 +156617,33 @@ var _yy_lookahead = [2285]uint16{ 694: uint16(111), 695: uint16(112), 696: uint16(113), - 697: uint16(76), - 698: uint16(118), - 699: uint16(59), - 700: uint16(241), + 697: uint16(294), + 698: uint16(240), + 699: uint16(241), + 700: uint16(120), 701: uint16(116), 702: uint16(117), 703: uint16(118), - 704: uint16(304), - 705: uint16(216), + 704: uint16(59), + 705: uint16(194), 706: uint16(217), - 707: uint16(292), - 708: uint16(143), - 709: uint16(60), - 710: uint16(89), - 711: uint16(241), + 707: uint16(218), + 708: uint16(211), + 709: uint16(212), + 710: uint16(213), + 711: uint16(253), 712: uint16(19), - 713: uint16(92), - 714: uint16(193), - 715: uint16(193), + 713: uint16(255), + 714: uint16(194), + 715: uint16(19), 716: uint16(23), - 717: uint16(22), - 718: uint16(311), - 719: uint16(312), - 720: uint16(231), - 721: uint16(101), - 722: uint16(22), - 723: uint16(143), + 717: uint16(254), + 718: uint16(138), + 719: uint16(139), + 720: uint16(24), + 721: uint16(232), + 722: uint16(117), + 723: uint16(194), 724: uint16(102), 725: uint16(103), 726: uint16(104), @@ -155303,29 +156672,29 @@ var _yy_lookahead = [2285]uint16{ 749: uint16(56), 750: uint16(57), 751: uint16(19), - 752: uint16(193), - 753: uint16(193), - 754: uint16(59), + 752: uint16(264), + 753: uint16(108), + 754: uint16(76), 755: uint16(23), - 756: uint16(116), - 757: uint16(117), - 758: uint16(118), - 759: uint16(59), - 760: uint16(201), - 761: uint16(21), - 762: uint16(241), - 763: uint16(304), - 764: uint16(193), - 765: uint16(206), - 766: uint16(127), - 767: uint16(128), - 768: uint16(129), - 769: uint16(193), - 770: uint16(128), - 771: uint16(129), - 772: uint16(235), - 773: uint16(236), - 774: uint16(304), + 756: uint16(127), + 757: uint16(128), + 758: uint16(129), + 759: uint16(311), + 760: uint16(312), + 761: uint16(116), + 762: uint16(117), + 763: uint16(118), + 764: uint16(316), + 765: uint16(87), + 766: uint16(306), + 767: uint16(89), + 768: uint16(308), + 769: uint16(194), + 770: uint16(92), + 771: uint16(22), + 772: uint16(59), + 773: uint16(194), + 774: uint16(22), 775: uint16(43), 776: uint16(44), 777: uint16(45), @@ -155341,11 +156710,11 @@ var _yy_lookahead = [2285]uint16{ 787: uint16(55), 788: uint16(56), 789: uint16(57), - 790: uint16(22), - 791: uint16(193), - 792: uint16(216), - 793: uint16(217), - 794: uint16(193), + 790: uint16(194), + 791: uint16(95), + 792: uint16(217), + 793: uint16(218), + 794: uint16(265), 795: uint16(102), 796: uint16(103), 797: uint16(104), @@ -155358,33 +156727,33 @@ var _yy_lookahead = [2285]uint16{ 804: uint16(111), 805: uint16(112), 806: uint16(113), - 807: uint16(231), - 808: uint16(193), - 809: uint16(193), - 810: uint16(193), - 811: uint16(116), - 812: uint16(117), - 813: uint16(118), - 814: uint16(216), - 815: uint16(217), - 816: uint16(116), - 817: uint16(117), - 818: uint16(118), - 819: uint16(226), - 820: uint16(80), - 821: uint16(193), + 807: uint16(232), + 808: uint16(59), + 809: uint16(113), + 810: uint16(25), + 811: uint16(59), + 812: uint16(194), + 813: uint16(217), + 814: uint16(218), + 815: uint16(119), + 816: uint16(120), + 817: uint16(121), + 818: uint16(122), + 819: uint16(123), + 820: uint16(124), + 821: uint16(125), 822: uint16(19), - 823: uint16(235), - 824: uint16(236), - 825: uint16(304), + 823: uint16(145), + 824: uint16(194), + 825: uint16(194), 826: uint16(23), - 827: uint16(211), - 828: uint16(212), - 829: uint16(231), - 830: uint16(204), - 831: uint16(216), - 832: uint16(217), - 833: uint16(205), + 827: uint16(131), + 828: uint16(232), + 829: uint16(116), + 830: uint16(117), + 831: uint16(118), + 832: uint16(35), + 833: uint16(194), 834: uint16(102), 835: uint16(103), 836: uint16(104), @@ -155413,29 +156782,29 @@ var _yy_lookahead = [2285]uint16{ 859: uint16(56), 860: uint16(57), 861: uint16(19), - 862: uint16(193), - 863: uint16(123), - 864: uint16(76), - 865: uint16(239), - 866: uint16(240), - 867: uint16(193), - 868: uint16(253), - 869: uint16(239), - 870: uint16(240), - 871: uint16(239), - 872: uint16(240), - 873: uint16(244), - 874: uint16(106), - 875: uint16(107), - 876: uint16(193), - 877: uint16(89), - 878: uint16(252), - 879: uint16(193), - 880: uint16(92), - 881: uint16(59), - 882: uint16(252), - 883: uint16(254), - 884: uint16(252), + 862: uint16(194), + 863: uint16(66), + 864: uint16(194), + 865: uint16(116), + 866: uint16(117), + 867: uint16(118), + 868: uint16(116), + 869: uint16(117), + 870: uint16(118), + 871: uint16(74), + 872: uint16(242), + 873: uint16(294), + 874: uint16(194), + 875: uint16(194), + 876: uint16(206), + 877: uint16(23), + 878: uint16(194), + 879: uint16(25), + 880: uint16(194), + 881: uint16(111), + 882: uint16(112), + 883: uint16(113), + 884: uint16(25), 885: uint16(43), 886: uint16(44), 887: uint16(45), @@ -155451,11 +156820,11 @@ var _yy_lookahead = [2285]uint16{ 897: uint16(55), 898: uint16(56), 899: uint16(57), - 900: uint16(284), - 901: uint16(161), - 902: uint16(216), + 900: uint16(24), + 901: uint16(194), + 902: uint16(194), 903: uint16(217), - 904: uint16(193), + 904: uint16(218), 905: uint16(102), 906: uint16(103), 907: uint16(104), @@ -155468,33 +156837,33 @@ var _yy_lookahead = [2285]uint16{ 914: uint16(111), 915: uint16(112), 916: uint16(113), - 917: uint16(231), - 918: uint16(193), - 919: uint16(244), - 920: uint16(187), - 921: uint16(188), - 922: uint16(189), - 923: uint16(190), - 924: uint16(7), - 925: uint16(8), - 926: uint16(9), - 927: uint16(309), - 928: uint16(195), - 929: uint16(254), - 930: uint16(197), - 931: uint16(313), + 917: uint16(241), + 918: uint16(232), + 919: uint16(194), + 920: uint16(212), + 921: uint16(213), + 922: uint16(242), + 923: uint16(242), + 924: uint16(217), + 925: uint16(218), + 926: uint16(242), + 927: uint16(130), + 928: uint16(11), + 929: uint16(253), + 930: uint16(194), + 931: uint16(255), 932: uint16(19), - 933: uint16(127), - 934: uint16(128), - 935: uint16(129), - 936: uint16(262), - 937: uint16(204), - 938: uint16(22), - 939: uint16(117), - 940: uint16(24), - 941: uint16(216), + 933: uint16(265), + 934: uint16(149), + 935: uint16(59), + 936: uint16(306), + 937: uint16(194), + 938: uint16(308), + 939: uint16(232), + 940: uint16(309), + 941: uint16(310), 942: uint16(217), - 943: uint16(273), + 943: uint16(218), 944: uint16(102), 945: uint16(103), 946: uint16(104), @@ -155522,36 +156891,36 @@ var _yy_lookahead = [2285]uint16{ 968: uint16(55), 969: uint16(56), 970: uint16(57), - 971: uint16(193), - 972: uint16(239), - 973: uint16(240), - 974: uint16(193), - 975: uint16(59), + 971: uint16(194), + 972: uint16(194), + 973: uint16(59), + 974: uint16(194), + 975: uint16(239), 976: uint16(19), - 977: uint16(188), - 978: uint16(253), - 979: uint16(190), - 980: uint16(193), - 981: uint16(311), - 982: uint16(312), - 983: uint16(16), - 984: uint16(195), - 985: uint16(252), - 986: uint16(197), - 987: uint16(193), - 988: uint16(19), - 989: uint16(301), - 990: uint16(302), - 991: uint16(135), - 992: uint16(193), - 993: uint16(204), - 994: uint16(216), + 977: uint16(194), + 978: uint16(25), + 979: uint16(254), + 980: uint16(303), + 981: uint16(304), + 982: uint16(23), + 983: uint16(194), + 984: uint16(25), + 985: uint16(126), + 986: uint16(306), + 987: uint16(306), + 988: uint16(308), + 989: uint16(308), + 990: uint16(306), + 991: uint16(271), + 992: uint16(308), + 993: uint16(117), + 994: uint16(286), 995: uint16(217), - 996: uint16(140), - 997: uint16(216), - 998: uint16(217), - 999: uint16(266), - 1000: uint16(204), + 996: uint16(218), + 997: uint16(217), + 998: uint16(218), + 999: uint16(194), + 1000: uint16(194), 1001: uint16(159), 1002: uint16(45), 1003: uint16(46), @@ -155578,38 +156947,38 @@ var _yy_lookahead = [2285]uint16{ 1024: uint16(111), 1025: uint16(112), 1026: uint16(113), - 1027: uint16(12), + 1027: uint16(59), 1028: uint16(239), - 1029: uint16(240), - 1030: uint16(193), - 1031: uint16(298), - 1032: uint16(238), - 1033: uint16(117), - 1034: uint16(253), - 1035: uint16(239), + 1029: uint16(194), + 1030: uint16(116), + 1031: uint16(117), + 1032: uint16(118), + 1033: uint16(260), + 1034: uint16(254), + 1035: uint16(194), 1036: uint16(240), - 1037: uint16(238), - 1038: uint16(259), - 1039: uint16(260), - 1040: uint16(193), - 1041: uint16(252), - 1042: uint16(27), - 1043: uint16(193), - 1044: uint16(77), - 1045: uint16(193), - 1046: uint16(79), - 1047: uint16(204), - 1048: uint16(252), - 1049: uint16(262), - 1050: uint16(193), - 1051: uint16(299), - 1052: uint16(300), - 1053: uint16(193), - 1054: uint16(100), - 1055: uint16(266), - 1056: uint16(278), - 1057: uint16(42), - 1058: uint16(204), + 1037: uint16(241), + 1038: uint16(194), + 1039: uint16(233), + 1040: uint16(205), + 1041: uint16(240), + 1042: uint16(241), + 1043: uint16(205), + 1044: uint16(239), + 1045: uint16(128), + 1046: uint16(129), + 1047: uint16(270), + 1048: uint16(265), + 1049: uint16(253), + 1050: uint16(194), + 1051: uint16(255), + 1052: uint16(217), + 1053: uint16(218), + 1054: uint16(253), + 1055: uint16(194), + 1056: uint16(255), + 1057: uint16(143), + 1058: uint16(280), 1059: uint16(102), 1060: uint16(103), 1061: uint16(104), @@ -155622,51 +156991,51 @@ var _yy_lookahead = [2285]uint16{ 1068: uint16(111), 1069: uint16(112), 1070: uint16(113), - 1071: uint16(117), + 1071: uint16(118), 1072: uint16(159), - 1073: uint16(216), - 1074: uint16(217), - 1075: uint16(121), - 1076: uint16(216), - 1077: uint16(217), - 1078: uint16(63), - 1079: uint16(193), - 1080: uint16(193), - 1081: uint16(193), - 1082: uint16(239), - 1083: uint16(240), - 1084: uint16(115), - 1085: uint16(116), - 1086: uint16(193), - 1087: uint16(298), - 1088: uint16(73), - 1089: uint16(240), - 1090: uint16(238), - 1091: uint16(231), + 1073: uint16(217), + 1074: uint16(218), + 1075: uint16(240), + 1076: uint16(241), + 1077: uint16(118), + 1078: uint16(240), + 1079: uint16(241), + 1080: uint16(194), + 1081: uint16(194), + 1082: uint16(194), + 1083: uint16(239), + 1084: uint16(116), + 1085: uint16(117), + 1086: uint16(118), + 1087: uint16(22), + 1088: uint16(253), + 1089: uint16(254), + 1090: uint16(255), + 1091: uint16(253), 1092: uint16(19), - 1093: uint16(239), - 1094: uint16(240), - 1095: uint16(252), - 1096: uint16(22), + 1093: uint16(255), + 1094: uint16(233), + 1095: uint16(194), + 1096: uint16(143), 1097: uint16(24), - 1098: uint16(211), + 1098: uint16(263), 1099: uint16(212), - 1100: uint16(263), - 1101: uint16(252), - 1102: uint16(216), + 1100: uint16(213), + 1101: uint16(194), + 1102: uint16(143), 1103: uint16(217), - 1104: uint16(216), + 1104: uint16(218), 1105: uint16(217), - 1106: uint16(252), - 1107: uint16(153), - 1108: uint16(154), - 1109: uint16(155), - 1110: uint16(253), - 1111: uint16(193), + 1106: uint16(218), + 1107: uint16(261), + 1108: uint16(262), + 1109: uint16(271), + 1110: uint16(254), + 1111: uint16(143), 1112: uint16(19), - 1113: uint16(144), - 1114: uint16(213), - 1115: uint16(268), + 1113: uint16(7), + 1114: uint16(8), + 1115: uint16(9), 1116: uint16(43), 1117: uint16(44), 1118: uint16(45), @@ -155682,11 +157051,11 @@ var _yy_lookahead = [2285]uint16{ 1128: uint16(55), 1129: uint16(56), 1130: uint16(57), - 1131: uint16(193), + 1131: uint16(16), 1132: uint16(19), - 1133: uint16(59), - 1134: uint16(216), - 1135: uint16(217), + 1133: uint16(22), + 1134: uint16(23), + 1135: uint16(294), 1136: uint16(43), 1137: uint16(44), 1138: uint16(45), @@ -155702,11 +157071,11 @@ var _yy_lookahead = [2285]uint16{ 1148: uint16(55), 1149: uint16(56), 1150: uint16(57), - 1151: uint16(193), - 1152: uint16(19), - 1153: uint16(24), - 1154: uint16(216), - 1155: uint16(217), + 1151: uint16(312), + 1152: uint16(194), + 1153: uint16(214), + 1154: uint16(21), + 1155: uint16(316), 1156: uint16(43), 1157: uint16(44), 1158: uint16(45), @@ -155722,10 +157091,10 @@ var _yy_lookahead = [2285]uint16{ 1168: uint16(55), 1169: uint16(56), 1170: uint16(57), - 1171: uint16(284), - 1172: uint16(193), - 1173: uint16(208), - 1174: uint16(209), + 1171: uint16(106), + 1172: uint16(107), + 1173: uint16(286), + 1174: uint16(194), 1175: uint16(102), 1176: uint16(103), 1177: uint16(104), @@ -155738,14 +157107,14 @@ var _yy_lookahead = [2285]uint16{ 1184: uint16(111), 1185: uint16(112), 1186: uint16(113), - 1187: uint16(286), - 1188: uint16(59), - 1189: uint16(193), - 1190: uint16(232), - 1191: uint16(117), - 1192: uint16(291), - 1193: uint16(193), - 1194: uint16(193), + 1187: uint16(207), + 1188: uint16(158), + 1189: uint16(59), + 1190: uint16(160), + 1191: uint16(22), + 1192: uint16(77), + 1193: uint16(24), + 1194: uint16(79), 1195: uint16(102), 1196: uint16(103), 1197: uint16(104), @@ -155758,14 +157127,14 @@ var _yy_lookahead = [2285]uint16{ 1204: uint16(111), 1205: uint16(112), 1206: uint16(113), - 1207: uint16(193), - 1208: uint16(204), - 1209: uint16(22), - 1210: uint16(23), - 1211: uint16(193), - 1212: uint16(25), - 1213: uint16(66), - 1214: uint16(193), + 1207: uint16(194), + 1208: uint16(194), + 1209: uint16(229), + 1210: uint16(194), + 1211: uint16(231), + 1212: uint16(101), + 1213: uint16(80), + 1214: uint16(22), 1215: uint16(102), 1216: uint16(103), 1217: uint16(104), @@ -155778,39 +157147,39 @@ var _yy_lookahead = [2285]uint16{ 1224: uint16(111), 1225: uint16(112), 1226: uint16(113), - 1227: uint16(193), - 1228: uint16(193), - 1229: uint16(193), - 1230: uint16(216), - 1231: uint16(217), - 1232: uint16(85), - 1233: uint16(193), - 1234: uint16(238), + 1227: uint16(288), + 1228: uint16(59), + 1229: uint16(12), + 1230: uint16(217), + 1231: uint16(218), + 1232: uint16(293), + 1233: uint16(217), + 1234: uint16(218), 1235: uint16(19), - 1236: uint16(16), - 1237: uint16(216), - 1238: uint16(217), - 1239: uint16(238), - 1240: uint16(193), - 1241: uint16(94), - 1242: uint16(193), - 1243: uint16(239), - 1244: uint16(240), - 1245: uint16(231), - 1246: uint16(117), - 1247: uint16(268), - 1248: uint16(35), - 1249: uint16(116), - 1250: uint16(216), - 1251: uint16(217), - 1252: uint16(216), - 1253: uint16(217), - 1254: uint16(22), - 1255: uint16(23), - 1256: uint16(252), - 1257: uint16(25), - 1258: uint16(208), - 1259: uint16(209), + 1236: uint16(106), + 1237: uint16(107), + 1238: uint16(59), + 1239: uint16(19), + 1240: uint16(16), + 1241: uint16(127), + 1242: uint16(128), + 1243: uint16(129), + 1244: uint16(27), + 1245: uint16(115), + 1246: uint16(116), + 1247: uint16(117), + 1248: uint16(118), + 1249: uint16(194), + 1250: uint16(120), + 1251: uint16(59), + 1252: uint16(22), + 1253: uint16(194), + 1254: uint16(24), + 1255: uint16(194), + 1256: uint16(123), + 1257: uint16(100), + 1258: uint16(128), + 1259: uint16(42), 1260: uint16(44), 1261: uint16(45), 1262: uint16(46), @@ -155825,50 +157194,50 @@ var _yy_lookahead = [2285]uint16{ 1271: uint16(55), 1272: uint16(56), 1273: uint16(57), - 1274: uint16(193), - 1275: uint16(193), - 1276: uint16(19), - 1277: uint16(5), - 1278: uint16(59), - 1279: uint16(66), - 1280: uint16(193), - 1281: uint16(263), - 1282: uint16(10), - 1283: uint16(11), - 1284: uint16(12), - 1285: uint16(13), - 1286: uint16(14), - 1287: uint16(74), - 1288: uint16(101), - 1289: uint16(17), - 1290: uint16(193), - 1291: uint16(46), - 1292: uint16(193), - 1293: uint16(146), - 1294: uint16(193), - 1295: uint16(76), - 1296: uint16(213), - 1297: uint16(77), - 1298: uint16(263), - 1299: uint16(79), - 1300: uint16(12), - 1301: uint16(260), - 1302: uint16(30), - 1303: uint16(46), - 1304: uint16(32), - 1305: uint16(264), - 1306: uint16(87), - 1307: uint16(193), - 1308: uint16(89), - 1309: uint16(29), - 1310: uint16(263), - 1311: uint16(92), - 1312: uint16(40), - 1313: uint16(33), - 1314: uint16(232), - 1315: uint16(27), - 1316: uint16(193), - 1317: uint16(108), + 1274: uint16(117), + 1275: uint16(194), + 1276: uint16(217), + 1277: uint16(218), + 1278: uint16(121), + 1279: uint16(100), + 1280: uint16(63), + 1281: uint16(194), + 1282: uint16(245), + 1283: uint16(153), + 1284: uint16(194), + 1285: uint16(155), + 1286: uint16(117), + 1287: uint16(19), + 1288: uint16(115), + 1289: uint16(194), + 1290: uint16(73), + 1291: uint16(214), + 1292: uint16(194), + 1293: uint16(256), + 1294: uint16(161), + 1295: uint16(116), + 1296: uint16(117), + 1297: uint16(194), + 1298: uint16(217), + 1299: uint16(218), + 1300: uint16(121), + 1301: uint16(77), + 1302: uint16(194), + 1303: uint16(79), + 1304: uint16(217), + 1305: uint16(218), + 1306: uint16(194), + 1307: uint16(217), + 1308: uint16(218), + 1309: uint16(117), + 1310: uint16(153), + 1311: uint16(154), + 1312: uint16(155), + 1313: uint16(254), + 1314: uint16(46), + 1315: uint16(217), + 1316: uint16(218), + 1317: uint16(144), 1318: uint16(102), 1319: uint16(103), 1320: uint16(104), @@ -155881,1025 +157250,1068 @@ var _yy_lookahead = [2285]uint16{ 1327: uint16(111), 1328: uint16(112), 1329: uint16(113), - 1330: uint16(42), - 1331: uint16(138), - 1332: uint16(139), - 1333: uint16(101), - 1334: uint16(193), - 1335: uint16(116), - 1336: uint16(117), - 1337: uint16(118), + 1330: uint16(232), + 1331: uint16(270), + 1332: uint16(153), + 1333: uint16(154), + 1334: uint16(155), + 1335: uint16(115), + 1336: uint16(116), + 1337: uint16(66), 1338: uint16(19), 1339: uint16(20), - 1340: uint16(255), + 1340: uint16(183), 1341: uint16(22), - 1342: uint16(70), - 1343: uint16(130), - 1344: uint16(135), - 1345: uint16(65), - 1346: uint16(256), - 1347: uint16(257), - 1348: uint16(193), - 1349: uint16(140), - 1350: uint16(78), - 1351: uint16(63), - 1352: uint16(193), - 1353: uint16(81), - 1354: uint16(193), + 1342: uint16(12), + 1343: uint16(312), + 1344: uint16(254), + 1345: uint16(194), + 1346: uint16(262), + 1347: uint16(316), + 1348: uint16(209), + 1349: uint16(210), + 1350: uint16(266), + 1351: uint16(239), + 1352: uint16(194), + 1353: uint16(194), + 1354: uint16(108), 1355: uint16(36), - 1356: uint16(193), - 1357: uint16(216), - 1358: uint16(217), - 1359: uint16(193), - 1360: uint16(115), - 1361: uint16(193), - 1362: uint16(263), - 1363: uint16(193), - 1364: uint16(145), - 1365: uint16(268), - 1366: uint16(59), + 1356: uint16(85), + 1357: uint16(27), + 1358: uint16(19), + 1359: uint16(20), + 1360: uint16(265), + 1361: uint16(22), + 1362: uint16(183), + 1363: uint16(245), + 1364: uint16(144), + 1365: uint16(94), + 1366: uint16(25), 1367: uint16(48), - 1368: uint16(193), - 1369: uint16(193), - 1370: uint16(98), - 1371: uint16(193), - 1372: uint16(115), - 1373: uint16(193), - 1374: uint16(291), - 1375: uint16(216), + 1368: uint16(217), + 1369: uint16(218), + 1370: uint16(293), + 1371: uint16(194), + 1372: uint16(42), + 1373: uint16(270), + 1374: uint16(256), + 1375: uint16(36), 1376: uint16(217), - 1377: uint16(193), + 1377: uint16(218), 1378: uint16(59), - 1379: uint16(216), - 1380: uint16(217), - 1381: uint16(161), - 1382: uint16(216), - 1383: uint16(217), - 1384: uint16(216), - 1385: uint16(217), - 1386: uint16(216), - 1387: uint16(217), - 1388: uint16(131), - 1389: uint16(193), + 1379: uint16(194), + 1380: uint16(25), + 1381: uint16(135), + 1382: uint16(194), + 1383: uint16(115), + 1384: uint16(194), + 1385: uint16(161), + 1386: uint16(140), + 1387: uint16(194), + 1388: uint16(194), + 1389: uint16(15), 1390: uint16(71), - 1391: uint16(193), - 1392: uint16(216), - 1393: uint16(217), - 1394: uint16(216), - 1395: uint16(217), - 1396: uint16(216), - 1397: uint16(217), - 1398: uint16(193), - 1399: uint16(260), - 1400: uint16(216), - 1401: uint16(217), - 1402: uint16(19), - 1403: uint16(264), + 1391: uint16(194), + 1392: uint16(312), + 1393: uint16(63), + 1394: uint16(217), + 1395: uint16(218), + 1396: uint16(316), + 1397: uint16(194), + 1398: uint16(59), + 1399: uint16(131), + 1400: uint16(301), + 1401: uint16(302), + 1402: uint16(217), + 1403: uint16(218), 1404: uint16(85), - 1405: uint16(133), - 1406: uint16(244), - 1407: uint16(100), - 1408: uint16(193), + 1405: uint16(217), + 1406: uint16(218), + 1407: uint16(217), + 1408: uint16(218), 1409: uint16(90), - 1410: uint16(138), - 1411: uint16(139), - 1412: uint16(216), - 1413: uint16(217), - 1414: uint16(216), - 1415: uint16(217), - 1416: uint16(254), - 1417: uint16(244), - 1418: uint16(193), + 1410: uint16(71), + 1411: uint16(217), + 1412: uint16(218), + 1413: uint16(19), + 1414: uint16(217), + 1415: uint16(218), + 1416: uint16(245), + 1417: uint16(146), + 1418: uint16(262), 1419: uint16(100), - 1420: uint16(193), - 1421: uint16(216), - 1422: uint16(217), - 1423: uint16(116), - 1424: uint16(117), + 1420: uint16(217), + 1421: uint16(218), + 1422: uint16(266), + 1423: uint16(265), + 1424: uint16(85), 1425: uint16(106), 1426: uint16(107), - 1427: uint16(254), - 1428: uint16(121), - 1429: uint16(193), - 1430: uint16(115), - 1431: uint16(216), - 1432: uint16(217), + 1427: uint16(256), + 1428: uint16(312), + 1429: uint16(90), + 1430: uint16(209), + 1431: uint16(210), + 1432: uint16(316), 1433: uint16(114), - 1434: uint16(162), + 1434: uint16(60), 1435: uint16(116), 1436: uint16(117), 1437: uint16(118), - 1438: uint16(115), - 1439: uint16(244), + 1438: uint16(194), + 1439: uint16(100), 1440: uint16(121), - 1441: uint16(216), - 1442: uint16(217), - 1443: uint16(216), - 1444: uint16(217), - 1445: uint16(193), - 1446: uint16(309), - 1447: uint16(193), - 1448: uint16(31), - 1449: uint16(254), - 1450: uint16(313), - 1451: uint16(309), - 1452: uint16(216), - 1453: uint16(217), - 1454: uint16(309), - 1455: uint16(313), - 1456: uint16(39), - 1457: uint16(193), - 1458: uint16(313), - 1459: uint16(309), - 1460: uint16(153), - 1461: uint16(154), - 1462: uint16(155), - 1463: uint16(313), - 1464: uint16(193), - 1465: uint16(150), - 1466: uint16(25), - 1467: uint16(144), - 1468: uint16(216), - 1469: uint16(217), - 1470: uint16(216), - 1471: uint16(217), + 1441: uint16(194), + 1442: uint16(194), + 1443: uint16(145), + 1444: uint16(115), + 1445: uint16(106), + 1446: uint16(107), + 1447: uint16(19), + 1448: uint16(46), + 1449: uint16(19), + 1450: uint16(20), + 1451: uint16(24), + 1452: uint16(22), + 1453: uint16(114), + 1454: uint16(194), + 1455: uint16(116), + 1456: uint16(117), + 1457: uint16(118), + 1458: uint16(194), + 1459: uint16(245), + 1460: uint16(121), + 1461: uint16(194), + 1462: uint16(164), + 1463: uint16(194), + 1464: uint16(217), + 1465: uint16(218), + 1466: uint16(36), + 1467: uint16(194), + 1468: uint16(258), + 1469: uint16(259), + 1470: uint16(256), + 1471: uint16(194), 1472: uint16(153), 1473: uint16(154), 1474: uint16(155), 1475: uint16(156), 1476: uint16(157), - 1478: uint16(1), - 1479: uint16(2), - 1480: uint16(216), + 1477: uint16(217), + 1478: uint16(218), + 1479: uint16(150), + 1480: uint16(31), 1481: uint16(217), - 1482: uint16(5), - 1483: uint16(149), - 1484: uint16(150), - 1485: uint16(22), - 1486: uint16(193), - 1487: uint16(10), - 1488: uint16(11), - 1489: uint16(12), - 1490: uint16(13), - 1491: uint16(14), - 1492: uint16(193), - 1493: uint16(158), - 1494: uint16(17), - 1495: uint16(160), - 1496: uint16(193), - 1497: uint16(19), - 1498: uint16(20), - 1499: uint16(116), - 1500: uint16(22), - 1501: uint16(25), - 1502: uint16(193), - 1503: uint16(24), - 1504: uint16(22), - 1505: uint16(193), - 1506: uint16(24), - 1507: uint16(30), - 1508: uint16(226), - 1509: uint16(32), - 1510: uint16(19), - 1511: uint16(20), - 1512: uint16(226), - 1513: uint16(22), - 1514: uint16(36), - 1515: uint16(193), - 1516: uint16(53), - 1517: uint16(40), - 1518: uint16(193), - 1519: uint16(216), - 1520: uint16(217), - 1521: uint16(193), - 1522: uint16(23), - 1523: uint16(193), - 1524: uint16(25), - 1525: uint16(216), - 1526: uint16(217), - 1527: uint16(36), - 1528: uint16(216), - 1529: uint16(217), - 1530: uint16(193), - 1531: uint16(99), - 1532: uint16(193), - 1533: uint16(193), - 1534: uint16(22), - 1535: uint16(193), - 1536: uint16(193), - 1537: uint16(59), - 1538: uint16(216), + 1482: uint16(218), + 1483: uint16(142), + 1484: uint16(217), + 1485: uint16(218), + 1486: uint16(217), + 1487: uint16(218), + 1488: uint16(39), + 1489: uint16(59), + 1490: uint16(217), + 1491: uint16(218), + 1492: uint16(153), + 1493: uint16(154), + 1494: uint16(155), + 1495: uint16(156), + 1496: uint16(157), + 1497: uint16(149), + 1498: uint16(150), + 1499: uint16(5), + 1500: uint16(145), + 1501: uint16(71), + 1502: uint16(183), + 1503: uint16(245), + 1504: uint16(10), + 1505: uint16(11), + 1506: uint16(12), + 1507: uint16(13), + 1508: uint16(14), + 1509: uint16(194), + 1510: uint16(116), + 1511: uint16(17), + 1512: uint16(129), + 1513: uint16(227), + 1514: uint16(256), + 1515: uint16(85), + 1516: uint16(194), + 1517: uint16(115), + 1518: uint16(194), + 1519: uint16(23), + 1520: uint16(90), + 1521: uint16(25), + 1522: uint16(183), + 1523: uint16(99), + 1524: uint16(30), + 1525: uint16(97), + 1526: uint16(32), + 1527: uint16(22), + 1528: uint16(22), + 1529: uint16(194), + 1530: uint16(100), + 1531: uint16(194), + 1532: uint16(217), + 1533: uint16(218), + 1534: uint16(40), + 1535: uint16(152), + 1536: uint16(106), + 1537: uint16(107), + 1538: uint16(23), 1539: uint16(217), - 1540: uint16(193), - 1541: uint16(216), - 1542: uint16(217), - 1543: uint16(193), - 1544: uint16(216), - 1545: uint16(217), - 1546: uint16(193), - 1547: uint16(70), - 1548: uint16(129), - 1549: uint16(71), - 1550: uint16(59), - 1551: uint16(129), - 1552: uint16(193), - 1553: uint16(216), + 1540: uint16(218), + 1541: uint16(194), + 1542: uint16(19), + 1543: uint16(20), + 1544: uint16(114), + 1545: uint16(22), + 1546: uint16(116), + 1547: uint16(117), + 1548: uint16(118), + 1549: uint16(257), + 1550: uint16(194), + 1551: uint16(121), + 1552: uint16(217), + 1553: uint16(218), 1554: uint16(217), - 1555: uint16(78), - 1556: uint16(216), - 1557: uint16(217), - 1558: uint16(81), - 1559: uint16(216), - 1560: uint16(217), - 1561: uint16(193), - 1562: uint16(71), - 1563: uint16(85), - 1564: uint16(193), - 1565: uint16(133), - 1566: uint16(193), - 1567: uint16(126), - 1568: uint16(90), - 1569: uint16(216), - 1570: uint16(217), - 1571: uint16(152), - 1572: uint16(258), - 1573: uint16(61), - 1574: uint16(152), - 1575: uint16(98), - 1576: uint16(85), - 1577: uint16(193), - 1578: uint16(100), - 1579: uint16(193), - 1580: uint16(23), - 1581: uint16(90), - 1582: uint16(25), - 1583: uint16(121), - 1584: uint16(106), - 1585: uint16(107), - 1586: uint16(23), - 1587: uint16(216), - 1588: uint16(217), - 1589: uint16(216), - 1590: uint16(217), - 1591: uint16(100), - 1592: uint16(114), - 1593: uint16(131), - 1594: uint16(116), - 1595: uint16(117), - 1596: uint16(118), - 1597: uint16(106), - 1598: uint16(107), - 1599: uint16(121), - 1600: uint16(216), - 1601: uint16(217), - 1602: uint16(216), - 1603: uint16(217), - 1604: uint16(193), - 1605: uint16(114), - 1606: uint16(193), - 1607: uint16(116), - 1608: uint16(117), - 1609: uint16(118), - 1610: uint16(133), - 1611: uint16(22), - 1612: uint16(121), - 1613: uint16(193), - 1614: uint16(59), - 1615: uint16(138), - 1616: uint16(139), - 1617: uint16(193), - 1618: uint16(142), - 1619: uint16(193), - 1620: uint16(141), - 1621: uint16(23), - 1622: uint16(23), - 1623: uint16(25), - 1624: uint16(25), - 1625: uint16(120), - 1626: uint16(121), - 1627: uint16(216), - 1628: uint16(217), - 1629: uint16(216), - 1630: uint16(217), - 1631: uint16(153), - 1632: uint16(154), - 1633: uint16(155), - 1634: uint16(156), - 1635: uint16(157), - 1636: uint16(216), - 1637: uint16(217), - 1638: uint16(19), - 1639: uint16(162), - 1640: uint16(216), - 1641: uint16(217), - 1642: uint16(216), - 1643: uint16(217), - 1644: uint16(153), - 1645: uint16(154), - 1646: uint16(155), - 1647: uint16(156), - 1648: uint16(157), - 1649: uint16(1), - 1650: uint16(2), - 1651: uint16(193), - 1652: uint16(59), - 1653: uint16(5), - 1654: uint16(19), - 1655: uint16(20), - 1656: uint16(318), - 1657: uint16(22), - 1658: uint16(10), - 1659: uint16(11), - 1660: uint16(12), - 1661: uint16(13), - 1662: uint16(14), - 1663: uint16(193), - 1664: uint16(59), - 1665: uint16(17), - 1666: uint16(193), - 1667: uint16(23), - 1668: uint16(23), - 1669: uint16(25), - 1670: uint16(25), - 1671: uint16(36), - 1672: uint16(117), - 1673: uint16(193), - 1674: uint16(216), - 1675: uint16(217), - 1676: uint16(193), - 1677: uint16(23), - 1678: uint16(30), - 1679: uint16(25), - 1680: uint16(32), - 1681: uint16(19), - 1682: uint16(20), - 1683: uint16(23), - 1684: uint16(22), - 1685: uint16(25), - 1686: uint16(216), - 1687: uint16(217), - 1688: uint16(40), - 1689: uint16(216), + 1555: uint16(218), + 1556: uint16(194), + 1557: uint16(133), + 1558: uint16(53), + 1559: uint16(36), + 1560: uint16(23), + 1561: uint16(23), + 1562: uint16(25), + 1563: uint16(25), + 1564: uint16(70), + 1565: uint16(120), + 1566: uint16(121), + 1567: uint16(61), + 1568: uint16(141), + 1569: uint16(7), + 1570: uint16(8), + 1571: uint16(121), + 1572: uint16(78), + 1573: uint16(217), + 1574: uint16(218), + 1575: uint16(81), + 1576: uint16(23), + 1577: uint16(227), + 1578: uint16(25), + 1579: uint16(217), + 1580: uint16(218), + 1581: uint16(131), + 1582: uint16(59), + 1583: uint16(153), + 1584: uint16(154), + 1585: uint16(155), + 1586: uint16(156), + 1587: uint16(157), + 1589: uint16(1), + 1590: uint16(2), + 1591: uint16(59), + 1592: uint16(98), + 1593: uint16(5), + 1594: uint16(71), + 1595: uint16(23), + 1596: uint16(227), + 1597: uint16(25), + 1598: uint16(10), + 1599: uint16(11), + 1600: uint16(12), + 1601: uint16(13), + 1602: uint16(14), + 1603: uint16(83), + 1604: uint16(84), + 1605: uint16(17), + 1606: uint16(23), + 1607: uint16(23), + 1608: uint16(25), + 1609: uint16(25), + 1610: uint16(59), + 1611: uint16(194), + 1612: uint16(194), + 1613: uint16(183), + 1614: uint16(23), + 1615: uint16(23), + 1616: uint16(25), + 1617: uint16(25), + 1618: uint16(30), + 1619: uint16(194), + 1620: uint16(32), + 1621: uint16(19), + 1622: uint16(20), + 1623: uint16(100), + 1624: uint16(22), + 1625: uint16(194), + 1626: uint16(194), + 1627: uint16(133), + 1628: uint16(40), + 1629: uint16(106), + 1630: uint16(107), + 1631: uint16(108), + 1632: uint16(138), + 1633: uint16(139), + 1634: uint16(194), + 1635: uint16(217), + 1636: uint16(218), + 1637: uint16(114), + 1638: uint16(36), + 1639: uint16(116), + 1640: uint16(117), + 1641: uint16(118), + 1642: uint16(217), + 1643: uint16(218), + 1644: uint16(121), + 1645: uint16(194), + 1646: uint16(194), + 1647: uint16(194), + 1648: uint16(23), + 1649: uint16(117), + 1650: uint16(25), + 1651: uint16(194), + 1652: uint16(23), + 1653: uint16(23), + 1654: uint16(25), + 1655: uint16(25), + 1656: uint16(162), + 1657: uint16(194), + 1658: uint16(70), + 1659: uint16(194), + 1660: uint16(145), + 1661: uint16(59), + 1662: uint16(23), + 1663: uint16(153), + 1664: uint16(25), + 1665: uint16(155), + 1666: uint16(78), + 1667: uint16(194), + 1668: uint16(117), + 1669: uint16(81), + 1670: uint16(217), + 1671: uint16(218), + 1672: uint16(194), + 1673: uint16(71), + 1674: uint16(217), + 1675: uint16(218), + 1676: uint16(153), + 1677: uint16(154), + 1678: uint16(155), + 1679: uint16(156), + 1680: uint16(157), + 1681: uint16(194), + 1682: uint16(217), + 1683: uint16(218), + 1684: uint16(194), + 1685: uint16(23), + 1686: uint16(98), + 1687: uint16(25), + 1688: uint16(321), + 1689: uint16(194), 1690: uint16(217), - 1691: uint16(7), - 1692: uint16(8), - 1693: uint16(23), - 1694: uint16(59), - 1695: uint16(25), - 1696: uint16(83), - 1697: uint16(84), - 1698: uint16(36), - 1699: uint16(23), - 1700: uint16(193), - 1701: uint16(25), - 1702: uint16(23), - 1703: uint16(23), - 1704: uint16(25), - 1705: uint16(25), - 1706: uint16(71), - 1707: uint16(153), - 1708: uint16(145), - 1709: uint16(155), - 1710: uint16(117), - 1711: uint16(153), - 1712: uint16(23), - 1713: uint16(155), - 1714: uint16(25), - 1715: uint16(23), - 1716: uint16(97), - 1717: uint16(25), - 1718: uint16(70), - 1719: uint16(193), - 1720: uint16(193), - 1721: uint16(59), - 1722: uint16(117), - 1723: uint16(236), - 1724: uint16(193), - 1725: uint16(193), - 1726: uint16(78), - 1727: uint16(193), - 1728: uint16(193), - 1729: uint16(81), - 1730: uint16(141), - 1731: uint16(193), - 1732: uint16(193), - 1733: uint16(71), - 1734: uint16(193), - 1735: uint16(100), - 1736: uint16(288), - 1737: uint16(287), - 1738: uint16(242), - 1739: uint16(255), - 1740: uint16(255), - 1741: uint16(106), - 1742: uint16(107), - 1743: uint16(108), - 1744: uint16(255), - 1745: uint16(255), - 1746: uint16(98), - 1747: uint16(243), - 1748: uint16(297), - 1749: uint16(114), - 1750: uint16(214), - 1751: uint16(116), - 1752: uint16(117), - 1753: uint16(118), - 1754: uint16(245), - 1755: uint16(191), - 1756: uint16(121), - 1757: uint16(271), - 1758: uint16(293), - 1759: uint16(267), - 1760: uint16(267), - 1761: uint16(246), - 1762: uint16(100), - 1763: uint16(246), - 1764: uint16(245), - 1765: uint16(271), - 1766: uint16(271), - 1767: uint16(293), - 1768: uint16(106), - 1769: uint16(107), - 1770: uint16(220), - 1771: uint16(271), - 1772: uint16(229), - 1773: uint16(225), - 1774: uint16(249), - 1775: uint16(219), - 1776: uint16(114), - 1777: uint16(259), - 1778: uint16(116), - 1779: uint16(117), - 1780: uint16(118), - 1781: uint16(133), - 1782: uint16(259), - 1783: uint16(121), - 1784: uint16(219), - 1785: uint16(219), - 1786: uint16(138), - 1787: uint16(139), - 1788: uint16(153), - 1789: uint16(154), - 1790: uint16(155), - 1791: uint16(156), - 1792: uint16(157), - 1793: uint16(280), - 1794: uint16(249), - 1795: uint16(243), - 1796: uint16(19), - 1797: uint16(20), - 1798: uint16(245), - 1799: uint16(22), - 1800: uint16(196), - 1801: uint16(259), - 1802: uint16(140), - 1803: uint16(259), - 1804: uint16(60), - 1805: uint16(297), - 1806: uint16(141), - 1807: uint16(297), - 1808: uint16(200), - 1809: uint16(200), - 1810: uint16(162), - 1811: uint16(38), - 1812: uint16(200), - 1813: uint16(36), - 1814: uint16(294), - 1815: uint16(153), - 1816: uint16(154), - 1817: uint16(155), - 1818: uint16(156), - 1819: uint16(157), - 1820: uint16(151), - 1821: uint16(150), - 1822: uint16(294), - 1823: uint16(283), - 1824: uint16(22), - 1825: uint16(43), - 1826: uint16(234), - 1827: uint16(18), - 1828: uint16(237), - 1829: uint16(200), - 1830: uint16(270), - 1831: uint16(272), - 1832: uint16(237), - 1833: uint16(237), - 1834: uint16(237), - 1835: uint16(18), - 1836: uint16(59), - 1837: uint16(199), - 1838: uint16(270), - 1839: uint16(149), - 1840: uint16(246), - 1841: uint16(272), - 1842: uint16(272), - 1843: uint16(200), - 1844: uint16(234), - 1845: uint16(234), - 1846: uint16(246), - 1847: uint16(246), - 1848: uint16(71), - 1849: uint16(246), - 1850: uint16(199), - 1851: uint16(158), - 1852: uint16(290), - 1853: uint16(62), - 1854: uint16(22), - 1855: uint16(200), - 1856: uint16(19), - 1857: uint16(20), - 1858: uint16(199), - 1859: uint16(22), - 1860: uint16(289), - 1861: uint16(221), - 1862: uint16(221), - 1863: uint16(200), - 1864: uint16(200), - 1865: uint16(199), - 1866: uint16(199), - 1867: uint16(115), - 1868: uint16(218), - 1869: uint16(64), - 1870: uint16(218), - 1871: uint16(218), + 1691: uint16(218), + 1692: uint16(194), + 1693: uint16(19), + 1694: uint16(20), + 1695: uint16(194), + 1696: uint16(22), + 1697: uint16(153), + 1698: uint16(23), + 1699: uint16(155), + 1700: uint16(25), + 1701: uint16(194), + 1702: uint16(100), + 1703: uint16(194), + 1704: uint16(217), + 1705: uint16(218), + 1706: uint16(183), + 1707: uint16(194), + 1708: uint16(106), + 1709: uint16(107), + 1710: uint16(36), + 1711: uint16(194), + 1712: uint16(217), + 1713: uint16(218), + 1714: uint16(237), + 1715: uint16(194), + 1716: uint16(114), + 1717: uint16(243), + 1718: uint16(116), + 1719: uint16(117), + 1720: uint16(118), + 1721: uint16(133), + 1722: uint16(194), + 1723: uint16(121), + 1724: uint16(217), + 1725: uint16(218), + 1726: uint16(138), + 1727: uint16(139), + 1728: uint16(194), + 1729: uint16(194), + 1730: uint16(194), + 1731: uint16(290), + 1732: uint16(289), + 1733: uint16(59), + 1734: uint16(217), + 1735: uint16(218), + 1736: uint16(194), + 1737: uint16(194), + 1738: uint16(217), + 1739: uint16(218), + 1740: uint16(194), + 1741: uint16(194), + 1742: uint16(140), + 1743: uint16(194), + 1744: uint16(194), + 1745: uint16(71), + 1746: uint16(194), + 1747: uint16(244), + 1748: uint16(194), + 1749: uint16(194), + 1750: uint16(162), + 1751: uint16(217), + 1752: uint16(218), + 1753: uint16(194), + 1754: uint16(194), + 1755: uint16(153), + 1756: uint16(154), + 1757: uint16(155), + 1758: uint16(156), + 1759: uint16(157), + 1760: uint16(217), + 1761: uint16(218), + 1762: uint16(194), + 1763: uint16(217), + 1764: uint16(218), + 1765: uint16(194), + 1766: uint16(217), + 1767: uint16(218), + 1768: uint16(257), + 1769: uint16(217), + 1770: uint16(218), + 1771: uint16(217), + 1772: uint16(218), + 1773: uint16(257), + 1774: uint16(100), + 1775: uint16(194), + 1776: uint16(257), + 1777: uint16(217), + 1778: uint16(218), + 1779: uint16(257), + 1780: uint16(106), + 1781: uint16(107), + 1782: uint16(215), + 1783: uint16(299), + 1784: uint16(194), + 1785: uint16(183), + 1786: uint16(192), + 1787: uint16(194), + 1788: uint16(114), + 1789: uint16(194), + 1790: uint16(116), + 1791: uint16(117), + 1792: uint16(118), + 1793: uint16(1), + 1794: uint16(2), + 1795: uint16(121), + 1796: uint16(221), + 1797: uint16(5), + 1798: uint16(217), + 1799: uint16(218), + 1800: uint16(273), + 1801: uint16(197), + 1802: uint16(10), + 1803: uint16(11), + 1804: uint16(12), + 1805: uint16(13), + 1806: uint16(14), + 1807: uint16(217), + 1808: uint16(218), + 1809: uint16(17), + 1810: uint16(217), + 1811: uint16(218), + 1812: uint16(217), + 1813: uint16(218), + 1814: uint16(140), + 1815: uint16(194), + 1816: uint16(246), + 1817: uint16(194), + 1818: uint16(273), + 1819: uint16(295), + 1820: uint16(247), + 1821: uint16(273), + 1822: uint16(30), + 1823: uint16(247), + 1824: uint16(32), + 1825: uint16(269), + 1826: uint16(269), + 1827: uint16(153), + 1828: uint16(154), + 1829: uint16(155), + 1830: uint16(156), + 1831: uint16(157), + 1832: uint16(40), + 1833: uint16(246), + 1834: uint16(273), + 1835: uint16(295), + 1836: uint16(230), + 1837: uint16(226), + 1838: uint16(217), + 1839: uint16(218), + 1840: uint16(217), + 1841: uint16(218), + 1842: uint16(220), + 1843: uint16(261), + 1844: uint16(220), + 1845: uint16(282), + 1846: uint16(220), + 1847: uint16(19), + 1848: uint16(20), + 1849: uint16(244), + 1850: uint16(22), + 1851: uint16(250), + 1852: uint16(141), + 1853: uint16(250), + 1854: uint16(246), + 1855: uint16(60), + 1856: uint16(201), + 1857: uint16(183), + 1858: uint16(261), + 1859: uint16(261), + 1860: uint16(261), + 1861: uint16(201), + 1862: uint16(70), + 1863: uint16(299), + 1864: uint16(36), + 1865: uint16(299), + 1866: uint16(201), + 1867: uint16(38), + 1868: uint16(151), + 1869: uint16(150), + 1870: uint16(78), + 1871: uint16(285), 1872: uint16(22), - 1873: uint16(36), - 1874: uint16(227), - 1875: uint16(126), - 1876: uint16(227), - 1877: uint16(100), - 1878: uint16(165), - 1879: uint16(221), - 1880: uint16(224), - 1881: uint16(224), - 1882: uint16(24), - 1883: uint16(106), - 1884: uint16(107), - 1885: uint16(312), - 1886: uint16(218), - 1887: uint16(305), - 1888: uint16(113), - 1889: uint16(282), - 1890: uint16(91), - 1891: uint16(114), - 1892: uint16(220), - 1893: uint16(116), - 1894: uint16(117), - 1895: uint16(118), - 1896: uint16(59), - 1897: uint16(282), - 1898: uint16(121), - 1899: uint16(218), - 1900: uint16(218), - 1901: uint16(218), + 1873: uint16(81), + 1874: uint16(296), + 1875: uint16(296), + 1876: uint16(43), + 1877: uint16(235), + 1878: uint16(18), + 1879: uint16(238), + 1880: uint16(201), + 1881: uint16(274), + 1882: uint16(272), + 1883: uint16(238), + 1884: uint16(238), + 1885: uint16(238), + 1886: uint16(18), + 1887: uint16(59), + 1888: uint16(200), + 1889: uint16(149), + 1890: uint16(98), + 1891: uint16(247), + 1892: uint16(274), + 1893: uint16(274), + 1894: uint16(235), + 1895: uint16(247), + 1896: uint16(247), + 1897: uint16(247), + 1898: uint16(235), + 1899: uint16(71), + 1900: uint16(272), + 1901: uint16(201), 1902: uint16(200), - 1903: uint16(317), - 1904: uint16(317), - 1905: uint16(82), - 1906: uint16(221), - 1907: uint16(265), - 1908: uint16(71), - 1909: uint16(148), - 1910: uint16(145), - 1911: uint16(265), - 1912: uint16(22), - 1913: uint16(277), - 1914: uint16(200), - 1915: uint16(158), - 1916: uint16(279), - 1917: uint16(140), - 1918: uint16(147), - 1919: uint16(25), - 1920: uint16(146), - 1921: uint16(202), - 1922: uint16(248), - 1923: uint16(250), - 1924: uint16(249), - 1925: uint16(247), - 1926: uint16(13), - 1927: uint16(250), - 1928: uint16(194), - 1929: uint16(194), - 1930: uint16(153), - 1931: uint16(154), - 1932: uint16(155), - 1933: uint16(156), - 1934: uint16(157), - 1935: uint16(6), - 1936: uint16(303), - 1937: uint16(100), - 1938: uint16(192), - 1939: uint16(192), - 1940: uint16(246), - 1941: uint16(213), - 1942: uint16(192), - 1943: uint16(106), - 1944: uint16(107), - 1945: uint16(207), - 1946: uint16(213), - 1947: uint16(207), - 1948: uint16(222), - 1949: uint16(213), - 1950: uint16(213), - 1951: uint16(114), - 1952: uint16(222), - 1953: uint16(116), - 1954: uint16(117), - 1955: uint16(118), - 1956: uint16(214), - 1957: uint16(214), - 1958: uint16(121), - 1959: uint16(4), - 1960: uint16(207), - 1961: uint16(213), - 1962: uint16(3), - 1963: uint16(22), - 1964: uint16(303), - 1965: uint16(15), - 1966: uint16(163), - 1967: uint16(16), - 1968: uint16(23), - 1969: uint16(23), - 1970: uint16(139), - 1971: uint16(151), - 1972: uint16(130), - 1973: uint16(25), - 1974: uint16(20), - 1975: uint16(142), - 1976: uint16(24), - 1977: uint16(16), - 1978: uint16(144), - 1979: uint16(1), - 1980: uint16(142), - 1981: uint16(130), - 1982: uint16(130), - 1983: uint16(61), - 1984: uint16(37), - 1985: uint16(53), - 1986: uint16(300), - 1987: uint16(151), - 1988: uint16(53), - 1989: uint16(53), - 1990: uint16(153), - 1991: uint16(154), - 1992: uint16(155), - 1993: uint16(156), - 1994: uint16(157), - 1995: uint16(53), - 1996: uint16(130), - 1997: uint16(116), - 1998: uint16(34), - 1999: uint16(1), - 2000: uint16(141), - 2001: uint16(5), - 2002: uint16(22), - 2003: uint16(115), - 2004: uint16(161), - 2005: uint16(68), - 2006: uint16(25), - 2007: uint16(68), - 2008: uint16(75), - 2009: uint16(41), - 2010: uint16(141), - 2011: uint16(115), - 2012: uint16(24), - 2013: uint16(20), - 2014: uint16(19), - 2015: uint16(131), - 2016: uint16(125), - 2017: uint16(23), - 2018: uint16(28), - 2019: uint16(22), - 2020: uint16(67), - 2021: uint16(22), - 2022: uint16(22), - 2023: uint16(22), - 2024: uint16(67), - 2025: uint16(59), - 2026: uint16(24), - 2027: uint16(96), - 2028: uint16(22), - 2029: uint16(67), - 2030: uint16(23), - 2031: uint16(149), - 2032: uint16(22), - 2033: uint16(25), - 2034: uint16(23), - 2035: uint16(23), - 2036: uint16(23), - 2037: uint16(22), - 2038: uint16(34), - 2039: uint16(141), - 2040: uint16(37), - 2041: uint16(97), - 2042: uint16(23), - 2043: uint16(23), - 2044: uint16(116), - 2045: uint16(22), - 2046: uint16(143), - 2047: uint16(25), - 2048: uint16(34), - 2049: uint16(75), - 2050: uint16(34), - 2051: uint16(34), - 2052: uint16(34), - 2053: uint16(88), - 2054: uint16(75), - 2055: uint16(34), - 2056: uint16(86), - 2057: uint16(23), + 1903: uint16(158), + 1904: uint16(292), + 1905: uint16(62), + 1906: uint16(291), + 1907: uint16(201), + 1908: uint16(200), + 1909: uint16(22), + 1910: uint16(201), + 1911: uint16(222), + 1912: uint16(200), + 1913: uint16(222), + 1914: uint16(201), + 1915: uint16(200), + 1916: uint16(115), + 1917: uint16(219), + 1918: uint16(219), + 1919: uint16(64), + 1920: uint16(219), + 1921: uint16(228), + 1922: uint16(22), + 1923: uint16(126), + 1924: uint16(221), + 1925: uint16(133), + 1926: uint16(165), + 1927: uint16(222), + 1928: uint16(100), + 1929: uint16(225), + 1930: uint16(138), + 1931: uint16(139), + 1932: uint16(225), + 1933: uint16(219), + 1934: uint16(106), + 1935: uint16(107), + 1936: uint16(24), + 1937: uint16(219), + 1938: uint16(228), + 1939: uint16(219), + 1940: uint16(219), + 1941: uint16(307), + 1942: uint16(114), + 1943: uint16(113), + 1944: uint16(116), + 1945: uint16(117), + 1946: uint16(118), + 1947: uint16(315), + 1948: uint16(284), + 1949: uint16(121), + 1950: uint16(284), + 1951: uint16(222), + 1952: uint16(201), + 1953: uint16(91), + 1954: uint16(162), + 1955: uint16(320), + 1956: uint16(320), + 1957: uint16(82), + 1958: uint16(148), + 1959: uint16(267), + 1960: uint16(145), + 1961: uint16(267), + 1962: uint16(22), + 1963: uint16(279), + 1964: uint16(201), + 1965: uint16(158), + 1966: uint16(281), + 1967: uint16(251), + 1968: uint16(147), + 1969: uint16(146), + 1970: uint16(25), + 1971: uint16(203), + 1972: uint16(250), + 1973: uint16(249), + 1974: uint16(251), + 1975: uint16(248), + 1976: uint16(13), + 1977: uint16(247), + 1978: uint16(195), + 1979: uint16(195), + 1980: uint16(6), + 1981: uint16(153), + 1982: uint16(154), + 1983: uint16(155), + 1984: uint16(156), + 1985: uint16(157), + 1986: uint16(193), + 1987: uint16(193), + 1988: uint16(305), + 1989: uint16(193), + 1990: uint16(208), + 1991: uint16(305), + 1992: uint16(302), + 1993: uint16(214), + 1994: uint16(214), + 1995: uint16(214), + 1996: uint16(208), + 1997: uint16(223), + 1998: uint16(223), + 1999: uint16(214), + 2000: uint16(4), + 2001: uint16(215), + 2002: uint16(215), + 2003: uint16(214), + 2004: uint16(3), + 2005: uint16(22), + 2006: uint16(208), + 2007: uint16(163), + 2008: uint16(15), + 2009: uint16(23), + 2010: uint16(16), + 2011: uint16(183), + 2012: uint16(23), + 2013: uint16(139), + 2014: uint16(151), + 2015: uint16(130), + 2016: uint16(25), + 2017: uint16(20), + 2018: uint16(142), + 2019: uint16(24), + 2020: uint16(16), + 2021: uint16(144), + 2022: uint16(1), + 2023: uint16(142), + 2024: uint16(130), + 2025: uint16(130), + 2026: uint16(61), + 2027: uint16(37), + 2028: uint16(53), + 2029: uint16(151), + 2030: uint16(53), + 2031: uint16(53), + 2032: uint16(53), + 2033: uint16(130), + 2034: uint16(116), + 2035: uint16(1), + 2036: uint16(34), + 2037: uint16(141), + 2038: uint16(5), + 2039: uint16(22), + 2040: uint16(115), + 2041: uint16(161), + 2042: uint16(75), + 2043: uint16(25), + 2044: uint16(68), + 2045: uint16(141), + 2046: uint16(41), + 2047: uint16(115), + 2048: uint16(68), + 2049: uint16(24), + 2050: uint16(20), + 2051: uint16(19), + 2052: uint16(131), + 2053: uint16(125), + 2054: uint16(67), + 2055: uint16(67), + 2056: uint16(96), + 2057: uint16(22), 2058: uint16(22), - 2059: uint16(34), - 2060: uint16(93), - 2061: uint16(24), - 2062: uint16(34), - 2063: uint16(25), - 2064: uint16(25), - 2065: uint16(142), - 2066: uint16(142), + 2059: uint16(22), + 2060: uint16(37), + 2061: uint16(23), + 2062: uint16(22), + 2063: uint16(24), + 2064: uint16(22), + 2065: uint16(59), + 2066: uint16(67), 2067: uint16(23), - 2068: uint16(44), - 2069: uint16(23), - 2070: uint16(23), - 2071: uint16(23), + 2068: uint16(149), + 2069: uint16(28), + 2070: uint16(22), + 2071: uint16(25), 2072: uint16(23), - 2073: uint16(11), + 2073: uint16(23), 2074: uint16(23), - 2075: uint16(25), - 2076: uint16(22), - 2077: uint16(22), - 2078: uint16(22), - 2079: uint16(141), + 2075: uint16(22), + 2076: uint16(141), + 2077: uint16(34), + 2078: uint16(97), + 2079: uint16(23), 2080: uint16(23), - 2081: uint16(23), - 2082: uint16(22), + 2081: uint16(34), + 2082: uint16(116), 2083: uint16(22), - 2084: uint16(25), - 2085: uint16(15), - 2086: uint16(1), - 2087: uint16(23), - 2088: uint16(25), - 2089: uint16(1), - 2090: uint16(141), - 2091: uint16(135), - 2092: uint16(319), - 2093: uint16(319), - 2094: uint16(319), - 2095: uint16(319), - 2096: uint16(319), - 2097: uint16(319), - 2098: uint16(319), - 2099: uint16(141), - 2100: uint16(319), - 2101: uint16(319), - 2102: uint16(319), - 2103: uint16(319), - 2104: uint16(319), - 2105: uint16(319), - 2106: uint16(319), - 2107: uint16(319), - 2108: uint16(319), - 2109: uint16(319), - 2110: uint16(319), - 2111: uint16(319), - 2112: uint16(319), - 2113: uint16(319), - 2114: uint16(319), - 2115: uint16(319), - 2116: uint16(319), - 2117: uint16(319), - 2118: uint16(319), - 2119: uint16(319), - 2120: uint16(319), - 2121: uint16(319), - 2122: uint16(319), - 2123: uint16(319), - 2124: uint16(319), - 2125: uint16(319), - 2126: uint16(319), - 2127: uint16(319), - 2128: uint16(319), - 2129: uint16(319), - 2130: uint16(319), - 2131: uint16(319), - 2132: uint16(319), - 2133: uint16(319), - 2134: uint16(319), - 2135: uint16(319), - 2136: uint16(319), - 2137: uint16(319), - 2138: uint16(319), - 2139: uint16(319), - 2140: uint16(319), - 2141: uint16(319), - 2142: uint16(319), - 2143: uint16(319), - 2144: uint16(319), - 2145: uint16(319), - 2146: uint16(319), - 2147: uint16(319), - 2148: uint16(319), - 2149: uint16(319), - 2150: uint16(319), - 2151: uint16(319), - 2152: uint16(319), - 2153: uint16(319), - 2154: uint16(319), - 2155: uint16(319), - 2156: uint16(319), - 2157: uint16(319), - 2158: uint16(319), - 2159: uint16(319), - 2160: uint16(319), - 2161: uint16(319), - 2162: uint16(319), - 2163: uint16(319), - 2164: uint16(319), - 2165: uint16(319), - 2166: uint16(319), - 2167: uint16(319), - 2168: uint16(319), - 2169: uint16(319), - 2170: uint16(319), - 2171: uint16(319), - 2172: uint16(319), - 2173: uint16(319), - 2174: uint16(319), - 2175: uint16(319), - 2176: uint16(319), - 2177: uint16(319), - 2178: uint16(319), - 2179: uint16(319), - 2180: uint16(319), - 2181: uint16(319), - 2182: uint16(319), - 2183: uint16(319), - 2184: uint16(319), - 2185: uint16(319), - 2186: uint16(319), - 2187: uint16(319), - 2188: uint16(319), - 2189: uint16(319), - 2190: uint16(319), - 2191: uint16(319), - 2192: uint16(319), - 2193: uint16(319), - 2194: uint16(319), - 2195: uint16(319), - 2196: uint16(319), - 2197: uint16(319), - 2198: uint16(319), - 2199: uint16(319), - 2200: uint16(319), - 2201: uint16(319), - 2202: uint16(319), - 2203: uint16(319), - 2204: uint16(319), - 2205: uint16(319), - 2206: uint16(319), - 2207: uint16(319), - 2208: uint16(319), - 2209: uint16(319), - 2210: uint16(319), - 2211: uint16(319), - 2212: uint16(319), - 2213: uint16(319), - 2214: uint16(319), - 2215: uint16(319), - 2216: uint16(319), - 2217: uint16(319), - 2218: uint16(319), - 2219: uint16(319), - 2220: uint16(319), - 2221: uint16(319), - 2222: uint16(319), - 2223: uint16(319), - 2224: uint16(319), - 2225: uint16(319), - 2226: uint16(319), - 2227: uint16(319), - 2228: uint16(319), - 2229: uint16(319), - 2230: uint16(319), - 2231: uint16(319), - 2232: uint16(319), - 2233: uint16(319), - 2234: uint16(319), - 2235: uint16(319), - 2236: uint16(319), - 2237: uint16(319), - 2238: uint16(319), - 2239: uint16(319), - 2240: uint16(319), - 2241: uint16(319), - 2242: uint16(319), - 2243: uint16(319), - 2244: uint16(319), - 2245: uint16(319), - 2246: uint16(319), - 2247: uint16(319), - 2248: uint16(319), - 2249: uint16(319), - 2250: uint16(319), - 2251: uint16(319), - 2252: uint16(319), - 2253: uint16(319), - 2254: uint16(319), - 2255: uint16(319), - 2256: uint16(319), - 2257: uint16(319), - 2258: uint16(319), - 2259: uint16(319), - 2260: uint16(319), - 2261: uint16(319), - 2262: uint16(319), - 2263: uint16(319), - 2264: uint16(319), - 2265: uint16(319), - 2266: uint16(319), - 2267: uint16(319), - 2268: uint16(319), - 2269: uint16(319), - 2270: uint16(319), - 2271: uint16(319), - 2272: uint16(319), - 2273: uint16(319), - 2274: uint16(319), - 2275: uint16(319), - 2276: uint16(319), - 2277: uint16(319), - 2278: uint16(319), - 2279: uint16(319), - 2280: uint16(319), - 2281: uint16(319), - 2282: uint16(319), - 2283: uint16(319), - 2284: uint16(319), -} -var _yy_shift_ofst = [579]uint16{ - 0: uint16(1648), - 1: uint16(1477), - 2: uint16(1272), + 2084: uint16(143), + 2085: uint16(25), + 2086: uint16(34), + 2087: uint16(75), + 2088: uint16(34), + 2089: uint16(34), + 2090: uint16(75), + 2091: uint16(88), + 2092: uint16(34), + 2093: uint16(86), + 2094: uint16(23), + 2095: uint16(22), + 2096: uint16(34), + 2097: uint16(25), + 2098: uint16(24), + 2099: uint16(34), + 2100: uint16(25), + 2101: uint16(93), + 2102: uint16(23), + 2103: uint16(44), + 2104: uint16(142), + 2105: uint16(23), + 2106: uint16(142), + 2107: uint16(23), + 2108: uint16(23), + 2109: uint16(22), + 2110: uint16(11), + 2111: uint16(25), + 2112: uint16(23), + 2113: uint16(25), + 2114: uint16(23), + 2115: uint16(22), + 2116: uint16(22), + 2117: uint16(22), + 2118: uint16(1), + 2119: uint16(23), + 2120: uint16(23), + 2121: uint16(23), + 2122: uint16(22), + 2123: uint16(22), + 2124: uint16(15), + 2125: uint16(141), + 2126: uint16(141), + 2127: uint16(25), + 2128: uint16(25), + 2129: uint16(1), + 2130: uint16(322), + 2131: uint16(322), + 2132: uint16(322), + 2133: uint16(135), + 2134: uint16(322), + 2135: uint16(322), + 2136: uint16(322), + 2137: uint16(322), + 2138: uint16(322), + 2139: uint16(322), + 2140: uint16(322), + 2141: uint16(141), + 2142: uint16(322), + 2143: uint16(322), + 2144: uint16(322), + 2145: uint16(322), + 2146: uint16(322), + 2147: uint16(322), + 2148: uint16(322), + 2149: uint16(322), + 2150: uint16(322), + 2151: uint16(322), + 2152: uint16(322), + 2153: uint16(322), + 2154: uint16(322), + 2155: uint16(322), + 2156: uint16(322), + 2157: uint16(322), + 2158: uint16(322), + 2159: uint16(322), + 2160: uint16(322), + 2161: uint16(322), + 2162: uint16(322), + 2163: uint16(322), + 2164: uint16(322), + 2165: uint16(322), + 2166: uint16(322), + 2167: uint16(322), + 2168: uint16(322), + 2169: uint16(322), + 2170: uint16(322), + 2171: uint16(322), + 2172: uint16(322), + 2173: uint16(322), + 2174: uint16(322), + 2175: uint16(322), + 2176: uint16(322), + 2177: uint16(322), + 2178: uint16(322), + 2179: uint16(322), + 2180: uint16(322), + 2181: uint16(322), + 2182: uint16(322), + 2183: uint16(322), + 2184: uint16(322), + 2185: uint16(322), + 2186: uint16(322), + 2187: uint16(322), + 2188: uint16(322), + 2189: uint16(322), + 2190: uint16(322), + 2191: uint16(322), + 2192: uint16(322), + 2193: uint16(322), + 2194: uint16(322), + 2195: uint16(322), + 2196: uint16(322), + 2197: uint16(322), + 2198: uint16(322), + 2199: uint16(322), + 2200: uint16(322), + 2201: uint16(322), + 2202: uint16(322), + 2203: uint16(322), + 2204: uint16(322), + 2205: uint16(322), + 2206: uint16(322), + 2207: uint16(322), + 2208: uint16(322), + 2209: uint16(322), + 2210: uint16(322), + 2211: uint16(322), + 2212: uint16(322), + 2213: uint16(322), + 2214: uint16(322), + 2215: uint16(322), + 2216: uint16(322), + 2217: uint16(322), + 2218: uint16(322), + 2219: uint16(322), + 2220: uint16(322), + 2221: uint16(322), + 2222: uint16(322), + 2223: uint16(322), + 2224: uint16(322), + 2225: uint16(322), + 2226: uint16(322), + 2227: uint16(322), + 2228: uint16(322), + 2229: uint16(322), + 2230: uint16(322), + 2231: uint16(322), + 2232: uint16(322), + 2233: uint16(322), + 2234: uint16(322), + 2235: uint16(322), + 2236: uint16(322), + 2237: uint16(322), + 2238: uint16(322), + 2239: uint16(322), + 2240: uint16(322), + 2241: uint16(322), + 2242: uint16(322), + 2243: uint16(322), + 2244: uint16(322), + 2245: uint16(322), + 2246: uint16(322), + 2247: uint16(322), + 2248: uint16(322), + 2249: uint16(322), + 2250: uint16(322), + 2251: uint16(322), + 2252: uint16(322), + 2253: uint16(322), + 2254: uint16(322), + 2255: uint16(322), + 2256: uint16(322), + 2257: uint16(322), + 2258: uint16(322), + 2259: uint16(322), + 2260: uint16(322), + 2261: uint16(322), + 2262: uint16(322), + 2263: uint16(322), + 2264: uint16(322), + 2265: uint16(322), + 2266: uint16(322), + 2267: uint16(322), + 2268: uint16(322), + 2269: uint16(322), + 2270: uint16(322), + 2271: uint16(322), + 2272: uint16(322), + 2273: uint16(322), + 2274: uint16(322), + 2275: uint16(322), + 2276: uint16(322), + 2277: uint16(322), + 2278: uint16(322), + 2279: uint16(322), + 2280: uint16(322), + 2281: uint16(322), + 2282: uint16(322), + 2283: uint16(322), + 2284: uint16(322), + 2285: uint16(322), + 2286: uint16(322), + 2287: uint16(322), + 2288: uint16(322), + 2289: uint16(322), + 2290: uint16(322), + 2291: uint16(322), + 2292: uint16(322), + 2293: uint16(322), + 2294: uint16(322), + 2295: uint16(322), + 2296: uint16(322), + 2297: uint16(322), + 2298: uint16(322), + 2299: uint16(322), + 2300: uint16(322), + 2301: uint16(322), + 2302: uint16(322), + 2303: uint16(322), + 2304: uint16(322), + 2305: uint16(322), + 2306: uint16(322), + 2307: uint16(322), + 2308: uint16(322), + 2309: uint16(322), + 2310: uint16(322), + 2311: uint16(322), + 2312: uint16(322), + 2313: uint16(322), + 2314: uint16(322), + 2315: uint16(322), + 2316: uint16(322), + 2317: uint16(322), + 2318: uint16(322), + 2319: uint16(322), + 2320: uint16(322), + 2321: uint16(322), + 2322: uint16(322), + 2323: uint16(322), + 2324: uint16(322), + 2325: uint16(322), + 2326: uint16(322), + 2327: uint16(322), +} +var _yy_shift_ofst = [583]uint16{ + 0: uint16(1792), + 1: uint16(1588), + 2: uint16(1494), 3: uint16(322), 4: uint16(322), - 5: uint16(1), - 6: uint16(1319), - 7: uint16(1478), - 8: uint16(1491), - 9: uint16(1837), - 10: uint16(1837), - 11: uint16(1837), - 12: uint16(471), - 15: uint16(214), - 16: uint16(1093), - 17: uint16(1837), - 18: uint16(1837), - 19: uint16(1837), - 20: uint16(1837), - 21: uint16(1837), - 22: uint16(1837), - 23: uint16(1837), - 24: uint16(1837), - 25: uint16(1837), - 26: uint16(1837), - 27: uint16(1837), - 28: uint16(1837), - 29: uint16(1837), - 30: uint16(1837), - 31: uint16(271), - 32: uint16(271), - 33: uint16(1219), - 34: uint16(1219), - 35: uint16(216), - 36: uint16(88), - 37: uint16(1), - 38: uint16(1), - 39: uint16(1), - 40: uint16(1), - 41: uint16(1), - 42: uint16(40), - 43: uint16(111), - 44: uint16(258), - 45: uint16(361), - 46: uint16(469), - 47: uint16(512), - 48: uint16(583), - 49: uint16(622), - 50: uint16(693), - 51: uint16(732), - 52: uint16(803), - 53: uint16(842), - 54: uint16(913), - 55: uint16(1073), - 56: uint16(1093), - 57: uint16(1093), - 58: uint16(1093), - 59: uint16(1093), - 60: uint16(1093), - 61: uint16(1093), - 62: uint16(1093), - 63: uint16(1093), - 64: uint16(1093), + 5: uint16(399), + 6: uint16(306), + 7: uint16(1319), + 8: uint16(1339), + 9: uint16(1430), + 10: uint16(1828), + 11: uint16(1828), + 12: uint16(1828), + 13: uint16(580), + 14: uint16(399), + 15: uint16(399), + 16: uint16(399), + 17: uint16(399), + 18: uint16(399), + 21: uint16(214), + 22: uint16(1093), + 23: uint16(1828), + 24: uint16(1828), + 25: uint16(1828), + 26: uint16(1828), + 27: uint16(1828), + 28: uint16(1828), + 29: uint16(1828), + 30: uint16(1828), + 31: uint16(1828), + 32: uint16(1828), + 33: uint16(1828), + 34: uint16(1828), + 35: uint16(1828), + 36: uint16(1828), + 37: uint16(1828), + 38: uint16(1130), + 39: uint16(1130), + 40: uint16(365), + 41: uint16(365), + 42: uint16(55), + 43: uint16(278), + 44: uint16(436), + 45: uint16(713), + 46: uint16(713), + 47: uint16(201), + 48: uint16(201), + 49: uint16(201), + 50: uint16(201), + 51: uint16(40), + 52: uint16(111), + 53: uint16(258), + 54: uint16(361), + 55: uint16(469), + 56: uint16(512), + 57: uint16(583), + 58: uint16(622), + 59: uint16(693), + 60: uint16(732), + 61: uint16(803), + 62: uint16(842), + 63: uint16(913), + 64: uint16(1073), 65: uint16(1093), 66: uint16(1093), 67: uint16(1093), @@ -156909,1505 +158321,1514 @@ var _yy_shift_ofst = [579]uint16{ 71: uint16(1093), 72: uint16(1093), 73: uint16(1093), - 74: uint16(1113), + 74: uint16(1093), 75: uint16(1093), - 76: uint16(1216), - 77: uint16(957), - 78: uint16(957), - 79: uint16(1635), - 80: uint16(1662), - 81: uint16(1777), - 82: uint16(1837), - 83: uint16(1837), - 84: uint16(1837), - 85: uint16(1837), - 86: uint16(1837), - 87: uint16(1837), - 88: uint16(1837), - 89: uint16(1837), - 90: uint16(1837), - 91: uint16(1837), - 92: uint16(1837), - 93: uint16(1837), - 94: uint16(1837), - 95: uint16(1837), - 96: uint16(1837), - 97: uint16(1837), - 98: uint16(1837), - 99: uint16(1837), - 100: uint16(1837), - 101: uint16(1837), - 102: uint16(1837), - 103: uint16(1837), - 104: uint16(1837), - 105: uint16(1837), - 106: uint16(1837), - 107: uint16(1837), - 108: uint16(1837), - 109: uint16(1837), - 110: uint16(1837), - 111: uint16(1837), - 112: uint16(1837), - 113: uint16(1837), - 114: uint16(1837), - 115: uint16(1837), - 116: uint16(1837), - 117: uint16(1837), - 118: uint16(1837), - 119: uint16(1837), - 120: uint16(1837), - 121: uint16(1837), - 122: uint16(1837), - 123: uint16(1837), - 124: uint16(1837), - 125: uint16(1837), - 126: uint16(1837), - 127: uint16(1837), - 128: uint16(1837), - 129: uint16(1837), - 130: uint16(1837), - 131: uint16(137), - 132: uint16(181), - 133: uint16(181), - 134: uint16(181), - 135: uint16(181), - 136: uint16(181), - 137: uint16(181), - 138: uint16(181), - 139: uint16(94), - 140: uint16(430), - 141: uint16(66), - 142: uint16(65), - 143: uint16(112), - 144: uint16(366), - 145: uint16(533), - 146: uint16(533), - 147: uint16(740), - 148: uint16(1257), - 149: uint16(533), - 150: uint16(533), - 151: uint16(79), - 152: uint16(79), - 153: uint16(533), - 154: uint16(412), - 155: uint16(412), - 156: uint16(412), - 157: uint16(77), - 158: uint16(412), - 159: uint16(123), - 160: uint16(113), - 161: uint16(113), - 162: uint16(113), - 163: uint16(22), - 164: uint16(22), - 165: uint16(2100), - 166: uint16(2100), - 167: uint16(328), - 168: uint16(328), - 169: uint16(328), - 170: uint16(239), - 171: uint16(468), - 172: uint16(468), - 173: uint16(468), - 174: uint16(468), - 175: uint16(1015), - 176: uint16(1015), - 177: uint16(409), - 178: uint16(366), - 179: uint16(1187), - 180: uint16(1232), - 181: uint16(533), - 182: uint16(533), - 183: uint16(533), - 184: uint16(533), - 185: uint16(533), - 186: uint16(533), - 187: uint16(533), - 188: uint16(533), - 189: uint16(533), - 190: uint16(533), - 191: uint16(533), - 192: uint16(533), - 193: uint16(533), - 194: uint16(533), - 195: uint16(533), - 196: uint16(533), - 197: uint16(533), - 198: uint16(533), - 199: uint16(533), - 200: uint16(533), - 201: uint16(969), - 202: uint16(621), - 203: uint16(621), - 204: uint16(533), - 205: uint16(642), - 206: uint16(788), - 207: uint16(788), - 208: uint16(1133), - 209: uint16(1133), - 210: uint16(822), - 211: uint16(822), - 212: uint16(67), - 213: uint16(1193), - 214: uint16(2100), - 215: uint16(2100), - 216: uint16(2100), - 217: uint16(2100), - 218: uint16(2100), - 219: uint16(2100), - 220: uint16(2100), - 221: uint16(1307), - 222: uint16(954), - 223: uint16(954), - 224: uint16(585), - 225: uint16(472), - 226: uint16(640), - 227: uint16(387), - 228: uint16(695), - 229: uint16(538), - 230: uint16(541), - 231: uint16(700), - 232: uint16(533), - 233: uint16(533), - 234: uint16(533), - 235: uint16(533), - 236: uint16(533), - 237: uint16(533), - 238: uint16(533), - 239: uint16(533), - 240: uint16(533), - 241: uint16(533), - 242: uint16(222), - 243: uint16(533), - 244: uint16(533), - 245: uint16(533), - 246: uint16(533), - 247: uint16(533), - 248: uint16(533), - 249: uint16(533), - 250: uint16(533), - 251: uint16(533), - 252: uint16(533), - 253: uint16(533), - 254: uint16(533), - 255: uint16(1213), - 256: uint16(1213), - 257: uint16(1213), - 258: uint16(533), - 259: uint16(533), - 260: uint16(533), - 261: uint16(565), - 262: uint16(533), - 263: uint16(533), - 264: uint16(533), - 265: uint16(916), - 266: uint16(1147), - 267: uint16(533), - 268: uint16(533), - 269: uint16(1288), - 270: uint16(533), - 271: uint16(533), - 272: uint16(533), - 273: uint16(533), - 274: uint16(533), - 275: uint16(533), - 276: uint16(533), - 277: uint16(533), - 278: uint16(639), - 279: uint16(1280), - 280: uint16(209), - 281: uint16(1129), - 282: uint16(1129), - 283: uint16(1129), - 284: uint16(1129), - 285: uint16(580), - 286: uint16(209), - 287: uint16(209), - 288: uint16(1209), - 289: uint16(768), - 290: uint16(917), - 291: uint16(649), - 292: uint16(1315), - 293: uint16(1334), - 294: uint16(405), - 295: uint16(1334), - 296: uint16(1383), - 297: uint16(249), - 298: uint16(1315), - 299: uint16(1315), - 300: uint16(249), - 301: uint16(1315), - 302: uint16(405), - 303: uint16(1383), - 304: uint16(1441), - 305: uint16(464), - 306: uint16(1245), - 307: uint16(1417), - 308: uint16(1417), - 309: uint16(1417), - 310: uint16(1323), - 311: uint16(1323), - 312: uint16(1323), - 313: uint16(1323), - 314: uint16(184), - 315: uint16(184), - 316: uint16(1335), - 317: uint16(1476), - 318: uint16(856), - 319: uint16(1482), - 320: uint16(1744), - 321: uint16(1744), - 322: uint16(1665), - 323: uint16(1665), - 324: uint16(1773), - 325: uint16(1773), - 326: uint16(1665), - 327: uint16(1669), - 328: uint16(1671), - 329: uint16(1802), - 330: uint16(1782), - 331: uint16(1809), - 332: uint16(1809), - 333: uint16(1809), - 334: uint16(1809), - 335: uint16(1665), - 336: uint16(1817), - 337: uint16(1690), - 338: uint16(1671), - 339: uint16(1671), - 340: uint16(1690), - 341: uint16(1802), - 342: uint16(1782), - 343: uint16(1690), - 344: uint16(1782), - 345: uint16(1690), - 346: uint16(1665), - 347: uint16(1817), - 348: uint16(1693), - 349: uint16(1791), - 350: uint16(1665), - 351: uint16(1817), - 352: uint16(1832), - 353: uint16(1665), - 354: uint16(1817), - 355: uint16(1665), - 356: uint16(1817), - 357: uint16(1832), - 358: uint16(1752), - 359: uint16(1752), - 360: uint16(1752), - 361: uint16(1805), - 362: uint16(1850), - 363: uint16(1850), - 364: uint16(1832), - 365: uint16(1752), - 366: uint16(1749), - 367: uint16(1752), - 368: uint16(1805), - 369: uint16(1752), - 370: uint16(1752), - 371: uint16(1713), - 372: uint16(1858), - 373: uint16(1775), - 374: uint16(1775), - 375: uint16(1832), - 376: uint16(1665), - 377: uint16(1799), - 378: uint16(1799), - 379: uint16(1823), - 380: uint16(1823), - 381: uint16(1761), - 382: uint16(1765), - 383: uint16(1890), - 384: uint16(1665), - 385: uint16(1757), - 386: uint16(1761), - 387: uint16(1771), - 388: uint16(1774), - 389: uint16(1690), - 390: uint16(1894), - 391: uint16(1913), - 392: uint16(1913), - 393: uint16(1929), - 394: uint16(1929), - 395: uint16(1929), - 396: uint16(2100), - 397: uint16(2100), - 398: uint16(2100), - 399: uint16(2100), - 400: uint16(2100), - 401: uint16(2100), - 402: uint16(2100), - 403: uint16(2100), - 404: uint16(2100), - 405: uint16(2100), - 406: uint16(2100), - 407: uint16(2100), - 408: uint16(2100), - 409: uint16(2100), - 410: uint16(2100), - 411: uint16(207), - 412: uint16(1220), - 413: uint16(331), - 414: uint16(620), - 415: uint16(967), - 416: uint16(806), - 417: uint16(1074), - 418: uint16(1499), - 419: uint16(1432), - 420: uint16(1463), - 421: uint16(1479), - 422: uint16(1419), - 423: uint16(1422), - 424: uint16(1557), - 425: uint16(1512), - 426: uint16(1598), - 427: uint16(1599), - 428: uint16(1644), - 429: uint16(1645), - 430: uint16(1654), - 431: uint16(1660), - 432: uint16(1555), - 433: uint16(1505), - 434: uint16(1684), - 435: uint16(1462), - 436: uint16(1670), - 437: uint16(1563), - 438: uint16(1619), - 439: uint16(1593), - 440: uint16(1676), - 441: uint16(1679), - 442: uint16(1613), - 443: uint16(1680), - 444: uint16(1554), - 445: uint16(1558), - 446: uint16(1689), - 447: uint16(1692), - 448: uint16(1605), - 449: uint16(1589), - 450: uint16(1955), - 451: uint16(1959), - 452: uint16(1941), - 453: uint16(1803), - 454: uint16(1950), - 455: uint16(1951), - 456: uint16(1945), - 457: uint16(1946), - 458: uint16(1831), - 459: uint16(1820), - 460: uint16(1842), - 461: uint16(1948), - 462: uint16(1948), - 463: uint16(1952), - 464: uint16(1833), - 465: uint16(1954), - 466: uint16(1834), - 467: uint16(1961), - 468: uint16(1978), - 469: uint16(1838), - 470: uint16(1851), - 471: uint16(1948), - 472: uint16(1852), - 473: uint16(1922), - 474: uint16(1947), - 475: uint16(1948), - 476: uint16(1836), - 477: uint16(1932), - 478: uint16(1935), - 479: uint16(1936), - 480: uint16(1942), - 481: uint16(1866), - 482: uint16(1881), - 483: uint16(1964), - 484: uint16(1859), - 485: uint16(1998), - 486: uint16(1996), - 487: uint16(1980), - 488: uint16(1888), - 489: uint16(1843), - 490: uint16(1937), - 491: uint16(1981), - 492: uint16(1939), - 493: uint16(1933), - 494: uint16(1968), - 495: uint16(1869), - 496: uint16(1896), - 497: uint16(1988), - 498: uint16(1993), - 499: uint16(1995), - 500: uint16(1884), - 501: uint16(1891), - 502: uint16(1997), - 503: uint16(1953), - 504: uint16(1999), - 505: uint16(2000), - 506: uint16(1994), - 507: uint16(2001), - 508: uint16(1957), - 509: uint16(1966), - 510: uint16(2002), - 511: uint16(1931), - 512: uint16(1990), - 513: uint16(2006), - 514: uint16(1962), - 515: uint16(2003), - 516: uint16(2007), - 517: uint16(2004), - 518: uint16(1882), - 519: uint16(2010), - 520: uint16(2011), - 521: uint16(2012), - 522: uint16(2008), - 523: uint16(2013), - 524: uint16(2015), - 525: uint16(1944), - 526: uint16(1898), - 527: uint16(2019), - 528: uint16(2020), - 529: uint16(1928), - 530: uint16(2014), - 531: uint16(2023), - 532: uint16(1903), - 533: uint16(2022), - 534: uint16(2016), - 535: uint16(2017), - 536: uint16(2018), - 537: uint16(2021), - 538: uint16(1965), - 539: uint16(1974), - 540: uint16(1970), - 541: uint16(2024), - 542: uint16(1979), - 543: uint16(1967), - 544: uint16(2025), - 545: uint16(2034), - 546: uint16(2036), - 547: uint16(2037), - 548: uint16(2038), - 549: uint16(2039), - 550: uint16(2028), - 551: uint16(1923), - 552: uint16(1924), - 553: uint16(2044), - 554: uint16(2022), - 555: uint16(2046), - 556: uint16(2047), - 557: uint16(2048), - 558: uint16(2049), - 559: uint16(2050), - 560: uint16(2051), - 561: uint16(2054), - 562: uint16(2062), - 563: uint16(2055), - 564: uint16(2056), - 565: uint16(2057), - 566: uint16(2058), - 567: uint16(2060), - 568: uint16(2061), - 569: uint16(2059), - 570: uint16(1956), - 571: uint16(1938), - 572: uint16(1949), - 573: uint16(1958), - 574: uint16(2063), - 575: uint16(2064), - 576: uint16(2070), - 577: uint16(2085), - 578: uint16(2088), -} -var _yy_reduce_ofst = [411]int16{ - 0: int16(-int32(125)), - 1: int16(733), - 2: int16(789), - 3: int16(241), - 4: int16(293), - 5: int16(-int32(123)), - 6: int16(-int32(193)), - 7: int16(-int32(191)), - 8: int16(-int32(183)), - 9: int16(-int32(187)), - 10: int16(166), - 11: int16(238), - 12: int16(133), - 13: int16(-int32(207)), - 14: int16(-int32(199)), - 15: int16(-int32(267)), - 16: int16(-int32(176)), - 17: int16(-int32(6)), - 18: int16(204), - 19: int16(489), - 20: int16(576), - 21: int16(598), - 22: int16(-int32(175)), - 23: int16(686), - 24: int16(860), - 25: int16(615), - 26: int16(725), - 27: int16(1014), - 28: int16(778), - 29: int16(781), - 30: int16(857), - 31: int16(616), - 32: int16(887), - 33: int16(87), - 34: int16(240), - 35: int16(-int32(192)), - 36: int16(408), - 37: int16(626), - 38: int16(796), - 39: int16(843), - 40: int16(854), - 41: int16(1004), - 42: int16(-int32(271)), - 43: int16(-int32(271)), - 44: int16(-int32(271)), - 45: int16(-int32(271)), - 46: int16(-int32(271)), - 47: int16(-int32(271)), - 48: int16(-int32(271)), - 49: int16(-int32(271)), - 50: int16(-int32(271)), - 51: int16(-int32(271)), - 52: int16(-int32(271)), - 53: int16(-int32(271)), - 54: int16(-int32(271)), - 55: int16(-int32(271)), - 56: int16(-int32(271)), - 57: int16(-int32(271)), - 58: int16(-int32(271)), - 59: int16(-int32(271)), - 60: int16(-int32(271)), - 61: int16(-int32(271)), - 62: int16(-int32(271)), - 63: int16(-int32(271)), - 64: int16(-int32(271)), - 65: int16(-int32(271)), - 66: int16(-int32(271)), - 67: int16(-int32(271)), - 68: int16(-int32(271)), - 69: int16(-int32(271)), - 70: int16(-int32(271)), - 71: int16(-int32(271)), - 72: int16(-int32(271)), - 73: int16(-int32(271)), - 74: int16(-int32(271)), - 75: int16(-int32(271)), - 76: int16(-int32(271)), - 77: int16(-int32(271)), - 78: int16(-int32(271)), - 79: int16(80), - 80: int16(83), - 81: int16(313), - 82: int16(886), - 83: int16(888), - 84: int16(918), - 85: int16(938), - 86: int16(1021), - 87: int16(1034), - 88: int16(1036), - 89: int16(1141), - 90: int16(1159), - 91: int16(1163), - 92: int16(1166), - 93: int16(1168), - 94: int16(1170), - 95: int16(1176), - 96: int16(1178), - 97: int16(1180), - 98: int16(1184), - 99: int16(1196), - 100: int16(1198), - 101: int16(1205), - 102: int16(1215), - 103: int16(1225), - 104: int16(1227), - 105: int16(1236), - 106: int16(1252), - 107: int16(1254), - 108: int16(1264), - 109: int16(1303), - 110: int16(1309), - 111: int16(1312), - 112: int16(1322), - 113: int16(1325), - 114: int16(1328), - 115: int16(1337), - 116: int16(1340), - 117: int16(1343), - 118: int16(1353), - 119: int16(1371), - 120: int16(1373), - 121: int16(1384), - 122: int16(1386), - 123: int16(1411), - 124: int16(1413), - 125: int16(1420), - 126: int16(1424), - 127: int16(1426), - 128: int16(1458), - 129: int16(1470), - 130: int16(1473), - 131: int16(-int32(271)), - 132: int16(-int32(271)), - 133: int16(-int32(271)), - 134: int16(-int32(271)), - 135: int16(-int32(271)), - 136: int16(-int32(271)), - 137: int16(-int32(271)), - 138: int16(-int32(271)), - 139: int16(-int32(271)), - 140: int16(-int32(271)), - 141: int16(-int32(271)), - 142: int16(138), - 143: int16(459), - 144: int16(396), - 145: int16(-int32(158)), - 146: int16(470), - 147: int16(302), - 148: int16(-int32(212)), - 149: int16(521), - 150: int16(201), - 151: int16(-int32(195)), - 152: int16(-int32(92)), - 153: int16(559), - 154: int16(630), - 155: int16(632), - 156: int16(630), - 157: int16(-int32(271)), - 158: int16(632), - 159: int16(901), - 160: int16(63), - 161: int16(407), - 162: int16(670), - 163: int16(-int32(271)), - 164: int16(-int32(271)), - 165: int16(-int32(271)), - 166: int16(-int32(271)), - 167: int16(161), - 168: int16(161), - 169: int16(161), - 170: int16(251), - 171: int16(335), - 172: int16(847), - 173: int16(979), - 174: int16(1097), - 175: int16(537), - 176: int16(588), - 177: int16(618), - 178: int16(628), - 179: int16(688), - 180: int16(688), - 181: int16(-int32(166)), - 182: int16(-int32(161)), - 183: int16(674), - 184: int16(787), - 185: int16(794), - 186: int16(799), - 187: int16(852), - 188: int16(996), - 189: int16(-int32(122)), - 190: int16(837), - 191: int16(-int32(120)), - 192: int16(1018), - 193: int16(1035), - 194: int16(415), - 195: int16(1047), - 196: int16(1001), - 197: int16(958), - 198: int16(1082), - 199: int16(400), - 200: int16(1099), - 201: int16(779), - 202: int16(1137), - 203: int16(1142), - 204: int16(263), - 205: int16(1083), - 206: int16(1145), - 207: int16(1150), - 208: int16(1041), - 209: int16(1139), - 210: int16(965), - 211: int16(1050), - 212: int16(362), - 213: int16(849), - 214: int16(752), - 215: int16(629), - 216: int16(675), - 217: int16(1162), - 218: int16(1173), - 219: int16(1090), - 220: int16(1195), - 221: int16(-int32(194)), - 222: int16(56), - 223: int16(185), - 224: int16(-int32(135)), - 225: int16(232), - 226: int16(522), - 227: int16(560), - 228: int16(571), - 229: int16(601), - 230: int16(617), - 231: int16(669), - 232: int16(683), - 233: int16(711), - 234: int16(850), - 235: int16(893), - 236: int16(1000), - 237: int16(1040), - 238: int16(1049), - 239: int16(1081), - 240: int16(1087), - 241: int16(1101), - 242: int16(392), - 243: int16(1114), - 244: int16(1123), - 245: int16(1155), - 246: int16(1161), - 247: int16(1175), - 248: int16(1271), - 249: int16(1293), - 250: int16(1299), - 251: int16(1330), - 252: int16(1339), - 253: int16(1342), - 254: int16(1347), - 255: int16(593), - 256: int16(1282), - 257: int16(1286), - 258: int16(1350), - 259: int16(1359), - 260: int16(1368), - 261: int16(1314), - 262: int16(1480), - 263: int16(1483), - 264: int16(1507), - 265: int16(1085), - 266: int16(1338), - 267: int16(1526), - 268: int16(1527), - 269: int16(1487), - 270: int16(1531), - 271: int16(560), - 272: int16(1532), - 273: int16(1534), - 274: int16(1535), - 275: int16(1538), - 276: int16(1539), - 277: int16(1541), - 278: int16(1448), - 279: int16(1450), - 280: int16(1496), - 281: int16(1484), - 282: int16(1485), - 283: int16(1489), - 284: int16(1490), - 285: int16(1314), - 286: int16(1496), - 287: int16(1496), - 288: int16(1504), - 289: int16(1536), - 290: int16(1564), - 291: int16(1451), - 292: int16(1486), - 293: int16(1492), - 294: int16(1509), - 295: int16(1493), - 296: int16(1465), - 297: int16(1515), - 298: int16(1494), - 299: int16(1495), - 300: int16(1517), - 301: int16(1500), - 302: int16(1519), - 303: int16(1474), - 304: int16(1550), - 305: int16(1543), - 306: int16(1548), - 307: int16(1556), - 308: int16(1565), - 309: int16(1566), - 310: int16(1518), - 311: int16(1523), - 312: int16(1542), - 313: int16(1544), - 314: int16(1525), - 315: int16(1545), - 316: int16(1513), - 317: int16(1553), - 318: int16(1552), - 319: int16(1604), - 320: int16(1508), - 321: int16(1510), - 322: int16(1608), - 323: int16(1609), - 324: int16(1520), - 325: int16(1528), - 326: int16(1612), - 327: int16(1540), - 328: int16(1559), - 329: int16(1560), - 330: int16(1592), - 331: int16(1591), - 332: int16(1595), - 333: int16(1596), - 334: int16(1597), - 335: int16(1629), - 336: int16(1638), - 337: int16(1594), - 338: int16(1569), - 339: int16(1570), - 340: int16(1600), - 341: int16(1568), - 342: int16(1610), - 343: int16(1601), - 344: int16(1611), - 345: int16(1603), - 346: int16(1643), - 347: int16(1651), - 348: int16(1562), - 349: int16(1571), - 350: int16(1655), - 351: int16(1659), - 352: int16(1640), - 353: int16(1663), - 354: int16(1666), - 355: int16(1664), - 356: int16(1667), - 357: int16(1641), - 358: int16(1650), - 359: int16(1652), - 360: int16(1653), - 361: int16(1647), - 362: int16(1656), - 363: int16(1657), - 364: int16(1658), - 365: int16(1668), - 366: int16(1672), - 367: int16(1681), - 368: int16(1649), - 369: int16(1682), - 370: int16(1683), - 371: int16(1573), - 372: int16(1582), - 373: int16(1607), - 374: int16(1615), - 375: int16(1685), - 376: int16(1702), - 377: int16(1586), - 378: int16(1587), - 379: int16(1642), - 380: int16(1646), - 381: int16(1673), - 382: int16(1675), - 383: int16(1636), - 384: int16(1714), - 385: int16(1637), - 386: int16(1677), - 387: int16(1674), - 388: int16(1678), - 389: int16(1694), - 390: int16(1719), - 391: int16(1734), - 392: int16(1735), - 393: int16(1746), - 394: int16(1747), - 395: int16(1750), - 396: int16(1633), - 397: int16(1661), + 76: uint16(1093), + 77: uint16(1093), + 78: uint16(1093), + 79: uint16(1093), + 80: uint16(1093), + 81: uint16(1093), + 82: uint16(1093), + 83: uint16(1113), + 84: uint16(1093), + 85: uint16(1216), + 86: uint16(957), + 87: uint16(957), + 88: uint16(1523), + 89: uint16(1602), + 90: uint16(1674), + 91: uint16(1828), + 92: uint16(1828), + 93: uint16(1828), + 94: uint16(1828), + 95: uint16(1828), + 96: uint16(1828), + 97: uint16(1828), + 98: uint16(1828), + 99: uint16(1828), + 100: uint16(1828), + 101: uint16(1828), + 102: uint16(1828), + 103: uint16(1828), + 104: uint16(1828), + 105: uint16(1828), + 106: uint16(1828), + 107: uint16(1828), + 108: uint16(1828), + 109: uint16(1828), + 110: uint16(1828), + 111: uint16(1828), + 112: uint16(1828), + 113: uint16(1828), + 114: uint16(1828), + 115: uint16(1828), + 116: uint16(1828), + 117: uint16(1828), + 118: uint16(1828), + 119: uint16(1828), + 120: uint16(1828), + 121: uint16(1828), + 122: uint16(1828), + 123: uint16(1828), + 124: uint16(1828), + 125: uint16(1828), + 126: uint16(1828), + 127: uint16(1828), + 128: uint16(1828), + 129: uint16(1828), + 130: uint16(1828), + 131: uint16(1828), + 132: uint16(1828), + 133: uint16(1828), + 134: uint16(1828), + 135: uint16(1828), + 136: uint16(1828), + 137: uint16(1828), + 138: uint16(1828), + 139: uint16(1828), + 140: uint16(137), + 141: uint16(181), + 142: uint16(181), + 143: uint16(181), + 144: uint16(181), + 145: uint16(181), + 146: uint16(181), + 147: uint16(181), + 148: uint16(96), + 149: uint16(222), + 150: uint16(143), + 151: uint16(477), + 152: uint16(713), + 153: uint16(1133), + 154: uint16(1268), + 155: uint16(713), + 156: uint16(713), + 157: uint16(79), + 158: uint16(79), + 159: uint16(713), + 160: uint16(770), + 161: uint16(83), + 162: uint16(65), + 163: uint16(65), + 164: uint16(65), + 165: uint16(288), + 166: uint16(162), + 167: uint16(162), + 168: uint16(2142), + 169: uint16(2142), + 170: uint16(696), + 171: uint16(696), + 172: uint16(696), + 173: uint16(238), + 174: uint16(474), + 175: uint16(474), + 176: uint16(474), + 177: uint16(474), + 178: uint16(1217), + 179: uint16(1217), + 180: uint16(678), + 181: uint16(477), + 182: uint16(324), + 183: uint16(398), + 184: uint16(713), + 185: uint16(713), + 186: uint16(713), + 187: uint16(713), + 188: uint16(713), + 189: uint16(713), + 190: uint16(713), + 191: uint16(713), + 192: uint16(713), + 193: uint16(713), + 194: uint16(713), + 195: uint16(713), + 196: uint16(713), + 197: uint16(713), + 198: uint16(713), + 199: uint16(713), + 200: uint16(713), + 201: uint16(713), + 202: uint16(713), + 203: uint16(1220), + 204: uint16(366), + 205: uint16(366), + 206: uint16(713), + 207: uint16(917), + 208: uint16(283), + 209: uint16(283), + 210: uint16(434), + 211: uint16(434), + 212: uint16(605), + 213: uint16(605), + 214: uint16(1298), + 215: uint16(2142), + 216: uint16(2142), + 217: uint16(2142), + 218: uint16(2142), + 219: uint16(2142), + 220: uint16(2142), + 221: uint16(2142), + 222: uint16(1179), + 223: uint16(1157), + 224: uint16(1157), + 225: uint16(487), + 226: uint16(527), + 227: uint16(585), + 228: uint16(645), + 229: uint16(749), + 230: uint16(914), + 231: uint16(968), + 232: uint16(752), + 233: uint16(713), + 234: uint16(713), + 235: uint16(713), + 236: uint16(713), + 237: uint16(713), + 238: uint16(713), + 239: uint16(713), + 240: uint16(713), + 241: uint16(713), + 242: uint16(713), + 243: uint16(303), + 244: uint16(713), + 245: uint16(713), + 246: uint16(713), + 247: uint16(713), + 248: uint16(713), + 249: uint16(713), + 250: uint16(713), + 251: uint16(713), + 252: uint16(713), + 253: uint16(713), + 254: uint16(713), + 255: uint16(713), + 256: uint16(797), + 257: uint16(797), + 258: uint16(797), + 259: uint16(713), + 260: uint16(713), + 261: uint16(713), + 262: uint16(959), + 263: uint16(713), + 264: uint16(713), + 265: uint16(713), + 266: uint16(1169), + 267: uint16(1271), + 268: uint16(713), + 269: uint16(713), + 270: uint16(1330), + 271: uint16(713), + 272: uint16(713), + 273: uint16(713), + 274: uint16(713), + 275: uint16(713), + 276: uint16(713), + 277: uint16(713), + 278: uint16(713), + 279: uint16(629), + 280: uint16(7), + 281: uint16(91), + 282: uint16(876), + 283: uint16(876), + 284: uint16(876), + 285: uint16(876), + 286: uint16(953), + 287: uint16(91), + 288: uint16(91), + 289: uint16(1246), + 290: uint16(1065), + 291: uint16(1106), + 292: uint16(1374), + 293: uint16(1329), + 294: uint16(1348), + 295: uint16(468), + 296: uint16(1348), + 297: uint16(1394), + 298: uint16(785), + 299: uint16(1329), + 300: uint16(1329), + 301: uint16(785), + 302: uint16(1329), + 303: uint16(468), + 304: uint16(1394), + 305: uint16(859), + 306: uint16(854), + 307: uint16(1402), + 308: uint16(1449), + 309: uint16(1449), + 310: uint16(1449), + 311: uint16(1173), + 312: uint16(1173), + 313: uint16(1173), + 314: uint16(1173), + 315: uint16(1355), + 316: uint16(1355), + 317: uint16(1030), + 318: uint16(1341), + 319: uint16(405), + 320: uint16(1230), + 321: uint16(1795), + 322: uint16(1795), + 323: uint16(1711), + 324: uint16(1711), + 325: uint16(1829), + 326: uint16(1829), + 327: uint16(1711), + 328: uint16(1717), + 329: uint16(1719), + 330: uint16(1850), + 331: uint16(1833), + 332: uint16(1860), + 333: uint16(1860), + 334: uint16(1860), + 335: uint16(1860), + 336: uint16(1711), + 337: uint16(1868), + 338: uint16(1740), + 339: uint16(1719), + 340: uint16(1719), + 341: uint16(1740), + 342: uint16(1850), + 343: uint16(1833), + 344: uint16(1740), + 345: uint16(1833), + 346: uint16(1740), + 347: uint16(1711), + 348: uint16(1868), + 349: uint16(1745), + 350: uint16(1843), + 351: uint16(1711), + 352: uint16(1868), + 353: uint16(1887), + 354: uint16(1711), + 355: uint16(1868), + 356: uint16(1711), + 357: uint16(1868), + 358: uint16(1887), + 359: uint16(1801), + 360: uint16(1801), + 361: uint16(1801), + 362: uint16(1855), + 363: uint16(1900), + 364: uint16(1900), + 365: uint16(1887), + 366: uint16(1801), + 367: uint16(1797), + 368: uint16(1801), + 369: uint16(1855), + 370: uint16(1801), + 371: uint16(1801), + 372: uint16(1761), + 373: uint16(1912), + 374: uint16(1830), + 375: uint16(1830), + 376: uint16(1887), + 377: uint16(1711), + 378: uint16(1862), + 379: uint16(1862), + 380: uint16(1875), + 381: uint16(1875), + 382: uint16(1810), + 383: uint16(1815), + 384: uint16(1940), + 385: uint16(1711), + 386: uint16(1807), + 387: uint16(1810), + 388: uint16(1821), + 389: uint16(1823), + 390: uint16(1740), + 391: uint16(1945), + 392: uint16(1963), + 393: uint16(1963), + 394: uint16(1974), + 395: uint16(1974), + 396: uint16(1974), + 397: uint16(2142), + 398: uint16(2142), + 399: uint16(2142), + 400: uint16(2142), + 401: uint16(2142), + 402: uint16(2142), + 403: uint16(2142), + 404: uint16(2142), + 405: uint16(2142), + 406: uint16(2142), + 407: uint16(2142), + 408: uint16(2142), + 409: uint16(2142), + 410: uint16(2142), + 411: uint16(2142), + 412: uint16(20), + 413: uint16(1224), + 414: uint16(256), + 415: uint16(1111), + 416: uint16(1115), + 417: uint16(1114), + 418: uint16(1192), + 419: uint16(1496), + 420: uint16(1424), + 421: uint16(1505), + 422: uint16(1427), + 423: uint16(355), + 424: uint16(1383), + 425: uint16(1537), + 426: uint16(1506), + 427: uint16(1538), + 428: uint16(1553), + 429: uint16(1583), + 430: uint16(1584), + 431: uint16(1591), + 432: uint16(1625), + 433: uint16(541), + 434: uint16(1445), + 435: uint16(1562), + 436: uint16(1450), + 437: uint16(1572), + 438: uint16(1515), + 439: uint16(1428), + 440: uint16(1532), + 441: uint16(1592), + 442: uint16(1629), + 443: uint16(1520), + 444: uint16(1630), + 445: uint16(1639), + 446: uint16(1510), + 447: uint16(1544), + 448: uint16(1662), + 449: uint16(1675), + 450: uint16(1551), + 451: uint16(48), + 452: uint16(1996), + 453: uint16(2001), + 454: uint16(1983), + 455: uint16(1844), + 456: uint16(1993), + 457: uint16(1994), + 458: uint16(1986), + 459: uint16(1989), + 460: uint16(1874), + 461: uint16(1863), + 462: uint16(1885), + 463: uint16(1991), + 464: uint16(1991), + 465: uint16(1995), + 466: uint16(1876), + 467: uint16(1997), + 468: uint16(1877), + 469: uint16(2004), + 470: uint16(2021), + 471: uint16(1881), + 472: uint16(1894), + 473: uint16(1991), + 474: uint16(1895), + 475: uint16(1965), + 476: uint16(1990), + 477: uint16(1991), + 478: uint16(1878), + 479: uint16(1975), + 480: uint16(1977), + 481: uint16(1978), + 482: uint16(1979), + 483: uint16(1903), + 484: uint16(1918), + 485: uint16(2002), + 486: uint16(1896), + 487: uint16(2034), + 488: uint16(2033), + 489: uint16(2017), + 490: uint16(1925), + 491: uint16(1880), + 492: uint16(1976), + 493: uint16(2018), + 494: uint16(1980), + 495: uint16(1967), + 496: uint16(2005), + 497: uint16(1904), + 498: uint16(1932), + 499: uint16(2025), + 500: uint16(2030), + 501: uint16(2032), + 502: uint16(1921), + 503: uint16(1928), + 504: uint16(2035), + 505: uint16(1987), + 506: uint16(2036), + 507: uint16(2037), + 508: uint16(2038), + 509: uint16(2040), + 510: uint16(1988), + 511: uint16(2006), + 512: uint16(2039), + 513: uint16(1960), + 514: uint16(2041), + 515: uint16(2042), + 516: uint16(1999), + 517: uint16(2023), + 518: uint16(2044), + 519: uint16(2043), + 520: uint16(1919), + 521: uint16(2048), + 522: uint16(2049), + 523: uint16(2050), + 524: uint16(2046), + 525: uint16(2051), + 526: uint16(2053), + 527: uint16(1981), + 528: uint16(1935), + 529: uint16(2056), + 530: uint16(2057), + 531: uint16(1966), + 532: uint16(2047), + 533: uint16(2061), + 534: uint16(1941), + 535: uint16(2060), + 536: uint16(2052), + 537: uint16(2054), + 538: uint16(2055), + 539: uint16(2058), + 540: uint16(2003), + 541: uint16(2012), + 542: uint16(2007), + 543: uint16(2059), + 544: uint16(2015), + 545: uint16(2008), + 546: uint16(2062), + 547: uint16(2071), + 548: uint16(2073), + 549: uint16(2074), + 550: uint16(2072), + 551: uint16(2075), + 552: uint16(2065), + 553: uint16(1962), + 554: uint16(1964), + 555: uint16(2079), + 556: uint16(2060), + 557: uint16(2082), + 558: uint16(2084), + 559: uint16(2085), + 560: uint16(2087), + 561: uint16(2086), + 562: uint16(2089), + 563: uint16(2088), + 564: uint16(2091), + 565: uint16(2093), + 566: uint16(2099), + 567: uint16(2094), + 568: uint16(2095), + 569: uint16(2096), + 570: uint16(2097), + 571: uint16(2100), + 572: uint16(2101), + 573: uint16(2102), + 574: uint16(1998), + 575: uint16(1984), + 576: uint16(1985), + 577: uint16(2000), + 578: uint16(2103), + 579: uint16(2098), + 580: uint16(2109), + 581: uint16(2117), + 582: uint16(2128), +} +var _yy_reduce_ofst = [412]int16{ + 0: int16(-int32(71)), + 1: int16(194), + 2: int16(343), + 3: int16(835), + 4: int16(-int32(180)), + 5: int16(-int32(177)), + 6: int16(838), + 7: int16(-int32(194)), + 8: int16(-int32(188)), + 9: int16(-int32(185)), + 10: int16(-int32(183)), + 11: int16(82), + 12: int16(183), + 13: int16(-int32(65)), + 14: int16(133), + 15: int16(245), + 16: int16(346), + 17: int16(407), + 18: int16(458), + 19: int16(-int32(178)), + 20: int16(75), + 21: int16(-int32(275)), + 22: int16(-int32(4)), + 23: int16(310), + 24: int16(312), + 25: int16(489), + 26: int16(575), + 27: int16(596), + 28: int16(463), + 29: int16(686), + 30: int16(707), + 31: int16(725), + 32: int16(780), + 33: int16(1098), + 34: int16(856), + 35: int16(778), + 36: int16(1059), + 37: int16(1090), + 38: int16(708), + 39: int16(887), + 40: int16(86), + 41: int16(448), + 42: int16(980), + 43: int16(630), + 44: int16(680), + 45: int16(681), + 46: int16(684), + 47: int16(796), + 48: int16(801), + 49: int16(796), + 50: int16(801), + 51: int16(-int32(261)), + 52: int16(-int32(261)), + 53: int16(-int32(261)), + 54: int16(-int32(261)), + 55: int16(-int32(261)), + 56: int16(-int32(261)), + 57: int16(-int32(261)), + 58: int16(-int32(261)), + 59: int16(-int32(261)), + 60: int16(-int32(261)), + 61: int16(-int32(261)), + 62: int16(-int32(261)), + 63: int16(-int32(261)), + 64: int16(-int32(261)), + 65: int16(-int32(261)), + 66: int16(-int32(261)), + 67: int16(-int32(261)), + 68: int16(-int32(261)), + 69: int16(-int32(261)), + 70: int16(-int32(261)), + 71: int16(-int32(261)), + 72: int16(-int32(261)), + 73: int16(-int32(261)), + 74: int16(-int32(261)), + 75: int16(-int32(261)), + 76: int16(-int32(261)), + 77: int16(-int32(261)), + 78: int16(-int32(261)), + 79: int16(-int32(261)), + 80: int16(-int32(261)), + 81: int16(-int32(261)), + 82: int16(-int32(261)), + 83: int16(-int32(261)), + 84: int16(-int32(261)), + 85: int16(-int32(261)), + 86: int16(-int32(261)), + 87: int16(-int32(261)), + 88: int16(391), + 89: int16(886), + 90: int16(888), + 91: int16(1013), + 92: int16(1016), + 93: int16(1081), + 94: int16(1087), + 95: int16(1151), + 96: int16(1159), + 97: int16(1177), + 98: int16(1185), + 99: int16(1188), + 100: int16(1190), + 101: int16(1194), + 102: int16(1197), + 103: int16(1203), + 104: int16(1247), + 105: int16(1260), + 106: int16(1264), + 107: int16(1267), + 108: int16(1269), + 109: int16(1273), + 110: int16(1315), + 111: int16(1322), + 112: int16(1335), + 113: int16(1337), + 114: int16(1356), + 115: int16(1362), + 116: int16(1418), + 117: int16(1425), + 118: int16(1453), + 119: int16(1457), + 120: int16(1465), + 121: int16(1473), + 122: int16(1487), + 123: int16(1495), + 124: int16(1507), + 125: int16(1517), + 126: int16(1521), + 127: int16(1534), + 128: int16(1543), + 129: int16(1546), + 130: int16(1549), + 131: int16(1552), + 132: int16(1554), + 133: int16(1560), + 134: int16(1581), + 135: int16(1590), + 136: int16(1593), + 137: int16(1595), + 138: int16(1621), + 139: int16(1623), + 140: int16(-int32(261)), + 141: int16(-int32(261)), + 142: int16(-int32(261)), + 143: int16(-int32(261)), + 144: int16(-int32(261)), + 145: int16(-int32(261)), + 146: int16(-int32(261)), + 147: int16(-int32(261)), + 148: int16(-int32(261)), + 149: int16(-int32(261)), + 150: int16(-int32(261)), + 151: int16(-int32(186)), + 152: int16(-int32(117)), + 153: int16(260), + 154: int16(263), + 155: int16(460), + 156: int16(631), + 157: int16(-int32(74)), + 158: int16(497), + 159: int16(-int32(181)), + 160: int16(-int32(261)), + 161: int16(939), + 162: int16(176), + 163: int16(274), + 164: int16(338), + 165: int16(676), + 166: int16(-int32(261)), + 167: int16(-int32(261)), + 168: int16(-int32(261)), + 169: int16(-int32(261)), + 170: int16(-int32(212)), + 171: int16(-int32(212)), + 172: int16(-int32(212)), + 173: int16(-int32(184)), + 174: int16(149), + 175: int16(777), + 176: int16(1061), + 177: int16(1103), + 178: int16(265), + 179: int16(419), + 180: int16(-int32(254)), + 181: int16(670), + 182: int16(677), + 183: int16(677), + 184: int16(-int32(11)), + 185: int16(-int32(129)), + 186: int16(184), + 187: int16(488), + 188: int16(736), + 189: int16(789), + 190: int16(805), + 191: int16(844), + 192: int16(403), + 193: int16(529), + 194: int16(579), + 195: int16(668), + 196: int16(783), + 197: int16(841), + 198: int16(1158), + 199: int16(1112), + 200: int16(806), + 201: int16(861), + 202: int16(1095), + 203: int16(846), + 204: int16(839), + 205: int16(1031), + 206: int16(-int32(189)), + 207: int16(1077), + 208: int16(1080), + 209: int16(1116), + 210: int16(1084), + 211: int16(1156), + 212: int16(1139), + 213: int16(1221), + 214: int16(46), + 215: int16(1099), + 216: int16(1037), + 217: int16(1118), + 218: int16(1171), + 219: int16(1214), + 220: int16(1210), + 221: int16(1258), + 222: int16(-int32(210)), + 223: int16(-int32(190)), + 224: int16(-int32(176)), + 225: int16(-int32(115)), + 226: int16(117), + 227: int16(262), + 228: int16(376), + 229: int16(490), + 230: int16(511), + 231: int16(520), + 232: int16(618), + 233: int16(639), + 234: int16(743), + 235: int16(901), + 236: int16(907), + 237: int16(958), + 238: int16(1014), + 239: int16(1055), + 240: int16(1108), + 241: int16(1193), + 242: int16(1244), + 243: int16(720), + 244: int16(1248), + 245: int16(1277), + 246: int16(1324), + 247: int16(1347), + 248: int16(1417), + 249: int16(1431), + 250: int16(1432), + 251: int16(1440), + 252: int16(1451), + 253: int16(1452), + 254: int16(1463), + 255: int16(1478), + 256: int16(1286), + 257: int16(1350), + 258: int16(1369), + 259: int16(1490), + 260: int16(1498), + 261: int16(1501), + 262: int16(773), + 263: int16(1509), + 264: int16(1513), + 265: int16(1528), + 266: int16(1292), + 267: int16(1367), + 268: int16(1535), + 269: int16(1536), + 270: int16(1477), + 271: int16(1542), + 272: int16(376), + 273: int16(1547), + 274: int16(1550), + 275: int16(1555), + 276: int16(1559), + 277: int16(1568), + 278: int16(1571), + 279: int16(1441), + 280: int16(1443), + 281: int16(1474), + 282: int16(1511), + 283: int16(1516), + 284: int16(1519), + 285: int16(1522), + 286: int16(773), + 287: int16(1474), + 288: int16(1474), + 289: int16(1503), + 290: int16(1567), + 291: int16(1594), + 292: int16(1484), + 293: int16(1527), + 294: int16(1556), + 295: int16(1570), + 296: int16(1557), + 297: int16(1524), + 298: int16(1573), + 299: int16(1545), + 300: int16(1548), + 301: int16(1576), + 302: int16(1561), + 303: int16(1587), + 304: int16(1540), + 305: int16(1575), + 306: int16(1606), + 307: int16(1611), + 308: int16(1622), + 309: int16(1624), + 310: int16(1626), + 311: int16(1582), + 312: int16(1597), + 313: int16(1598), + 314: int16(1599), + 315: int16(1601), + 316: int16(1603), + 317: int16(1563), + 318: int16(1608), + 319: int16(1605), + 320: int16(1604), + 321: int16(1564), + 322: int16(1566), + 323: int16(1655), + 324: int16(1660), + 325: int16(1578), + 326: int16(1579), + 327: int16(1665), + 328: int16(1586), + 329: int16(1607), + 330: int16(1610), + 331: int16(1642), + 332: int16(1641), + 333: int16(1645), + 334: int16(1646), + 335: int16(1647), + 336: int16(1679), + 337: int16(1688), + 338: int16(1644), + 339: int16(1618), + 340: int16(1619), + 341: int16(1648), + 342: int16(1628), + 343: int16(1659), + 344: int16(1649), + 345: int16(1663), + 346: int16(1650), + 347: int16(1700), + 348: int16(1702), + 349: int16(1612), + 350: int16(1615), + 351: int16(1706), + 352: int16(1708), + 353: int16(1689), + 354: int16(1709), + 355: int16(1712), + 356: int16(1713), + 357: int16(1715), + 358: int16(1691), + 359: int16(1698), + 360: int16(1699), + 361: int16(1701), + 362: int16(1693), + 363: int16(1704), + 364: int16(1707), + 365: int16(1705), + 366: int16(1714), + 367: int16(1703), + 368: int16(1718), + 369: int16(1710), + 370: int16(1720), + 371: int16(1721), + 372: int16(1632), + 373: int16(1634), + 374: int16(1664), + 375: int16(1666), + 376: int16(1729), + 377: int16(1751), + 378: int16(1635), + 379: int16(1636), + 380: int16(1692), + 381: int16(1694), + 382: int16(1716), + 383: int16(1722), + 384: int16(1684), + 385: int16(1763), + 386: int16(1685), + 387: int16(1723), + 388: int16(1724), + 389: int16(1727), + 390: int16(1730), + 391: int16(1768), + 392: int16(1783), + 393: int16(1784), + 394: int16(1793), + 395: int16(1794), + 396: int16(1796), + 397: int16(1683), 398: int16(1686), - 399: int16(1738), - 400: int16(1728), - 401: int16(1733), - 402: int16(1736), - 403: int16(1737), - 404: int16(1740), - 405: int16(1726), - 406: int16(1730), - 407: int16(1742), - 408: int16(1743), - 409: int16(1748), - 410: int16(1753), -} -var _yy_default = [579]uint16{ - 0: uint16(1648), - 1: uint16(1648), - 2: uint16(1648), - 3: uint16(1478), - 4: uint16(1243), - 5: uint16(1354), - 6: uint16(1243), - 7: uint16(1243), - 8: uint16(1243), - 9: uint16(1478), - 10: uint16(1478), - 11: uint16(1478), - 12: uint16(1243), - 13: uint16(1384), - 14: uint16(1384), - 15: uint16(1531), - 16: uint16(1276), - 17: uint16(1243), - 18: uint16(1243), - 19: uint16(1243), - 20: uint16(1243), - 21: uint16(1243), - 22: uint16(1243), - 23: uint16(1243), - 24: uint16(1243), - 25: uint16(1243), - 26: uint16(1243), - 27: uint16(1243), - 28: uint16(1477), - 29: uint16(1243), - 30: uint16(1243), - 31: uint16(1243), - 32: uint16(1243), - 33: uint16(1564), - 34: uint16(1564), - 35: uint16(1243), - 36: uint16(1243), - 37: uint16(1243), - 38: uint16(1243), - 39: uint16(1243), - 40: uint16(1243), - 41: uint16(1243), - 42: uint16(1243), - 43: uint16(1393), - 44: uint16(1243), - 45: uint16(1400), - 46: uint16(1243), - 47: uint16(1243), - 48: uint16(1243), - 49: uint16(1243), - 50: uint16(1243), - 51: uint16(1479), - 52: uint16(1480), - 53: uint16(1243), - 54: uint16(1243), - 55: uint16(1243), - 56: uint16(1530), - 57: uint16(1532), - 58: uint16(1495), - 59: uint16(1407), - 60: uint16(1406), - 61: uint16(1405), - 62: uint16(1404), - 63: uint16(1513), - 64: uint16(1372), - 65: uint16(1398), - 66: uint16(1391), - 67: uint16(1395), - 68: uint16(1474), - 69: uint16(1475), - 70: uint16(1473), - 71: uint16(1626), - 72: uint16(1480), - 73: uint16(1479), - 74: uint16(1243), - 75: uint16(1394), - 76: uint16(1442), - 77: uint16(1458), - 78: uint16(1441), - 79: uint16(1243), - 80: uint16(1243), - 81: uint16(1243), - 82: uint16(1243), - 83: uint16(1243), - 84: uint16(1243), - 85: uint16(1243), - 86: uint16(1243), - 87: uint16(1243), - 88: uint16(1243), - 89: uint16(1243), - 90: uint16(1243), - 91: uint16(1243), - 92: uint16(1243), - 93: uint16(1243), - 94: uint16(1243), - 95: uint16(1243), - 96: uint16(1243), - 97: uint16(1243), - 98: uint16(1243), - 99: uint16(1243), - 100: uint16(1243), - 101: uint16(1243), - 102: uint16(1243), - 103: uint16(1243), - 104: uint16(1243), - 105: uint16(1243), - 106: uint16(1243), - 107: uint16(1243), - 108: uint16(1243), - 109: uint16(1243), - 110: uint16(1243), - 111: uint16(1243), - 112: uint16(1243), - 113: uint16(1243), - 114: uint16(1243), - 115: uint16(1243), - 116: uint16(1243), - 117: uint16(1243), - 118: uint16(1243), - 119: uint16(1243), - 120: uint16(1243), - 121: uint16(1243), - 122: uint16(1243), - 123: uint16(1243), - 124: uint16(1243), - 125: uint16(1243), - 126: uint16(1243), - 127: uint16(1243), - 128: uint16(1243), - 129: uint16(1243), - 130: uint16(1243), - 131: uint16(1450), - 132: uint16(1457), - 133: uint16(1456), - 134: uint16(1455), - 135: uint16(1464), - 136: uint16(1454), - 137: uint16(1451), - 138: uint16(1444), - 139: uint16(1443), - 140: uint16(1445), - 141: uint16(1446), - 142: uint16(1243), - 143: uint16(1243), - 144: uint16(1267), - 145: uint16(1243), - 146: uint16(1243), - 147: uint16(1264), - 148: uint16(1318), - 149: uint16(1243), - 150: uint16(1243), - 151: uint16(1243), - 152: uint16(1243), - 153: uint16(1243), - 154: uint16(1550), - 155: uint16(1549), - 156: uint16(1243), - 157: uint16(1447), - 158: uint16(1243), - 159: uint16(1276), - 160: uint16(1435), - 161: uint16(1434), - 162: uint16(1433), - 163: uint16(1461), - 164: uint16(1448), - 165: uint16(1460), - 166: uint16(1459), - 167: uint16(1538), - 168: uint16(1600), - 169: uint16(1599), - 170: uint16(1496), - 171: uint16(1243), - 172: uint16(1243), - 173: uint16(1243), - 174: uint16(1243), - 175: uint16(1243), - 176: uint16(1243), - 177: uint16(1564), - 178: uint16(1243), - 179: uint16(1243), - 180: uint16(1243), - 181: uint16(1243), - 182: uint16(1243), - 183: uint16(1243), - 184: uint16(1243), - 185: uint16(1243), - 186: uint16(1243), - 187: uint16(1243), - 188: uint16(1243), - 189: uint16(1243), - 190: uint16(1243), - 191: uint16(1243), - 192: uint16(1243), - 193: uint16(1243), - 194: uint16(1243), - 195: uint16(1243), - 196: uint16(1243), - 197: uint16(1243), - 198: uint16(1243), - 199: uint16(1243), - 200: uint16(1243), - 201: uint16(1374), - 202: uint16(1564), - 203: uint16(1564), - 204: uint16(1243), - 205: uint16(1276), - 206: uint16(1564), - 207: uint16(1564), - 208: uint16(1375), - 209: uint16(1375), - 210: uint16(1272), - 211: uint16(1272), - 212: uint16(1378), - 213: uint16(1243), - 214: uint16(1545), - 215: uint16(1345), - 216: uint16(1345), - 217: uint16(1345), - 218: uint16(1345), - 219: uint16(1354), - 220: uint16(1345), - 221: uint16(1243), - 222: uint16(1243), - 223: uint16(1243), - 224: uint16(1243), - 225: uint16(1243), - 226: uint16(1243), - 227: uint16(1243), - 228: uint16(1243), - 229: uint16(1243), - 230: uint16(1243), - 231: uint16(1243), - 232: uint16(1243), - 233: uint16(1243), - 234: uint16(1243), - 235: uint16(1243), - 236: uint16(1535), - 237: uint16(1533), - 238: uint16(1243), - 239: uint16(1243), - 240: uint16(1243), - 241: uint16(1243), - 242: uint16(1243), - 243: uint16(1243), - 244: uint16(1243), - 245: uint16(1243), - 246: uint16(1243), - 247: uint16(1243), - 248: uint16(1243), - 249: uint16(1243), - 250: uint16(1243), - 251: uint16(1243), - 252: uint16(1243), - 253: uint16(1243), - 254: uint16(1243), - 255: uint16(1243), - 256: uint16(1243), - 257: uint16(1243), - 258: uint16(1243), - 259: uint16(1243), - 260: uint16(1243), - 261: uint16(1243), - 262: uint16(1243), - 263: uint16(1243), - 264: uint16(1243), - 265: uint16(1350), - 266: uint16(1243), - 267: uint16(1243), - 268: uint16(1243), - 269: uint16(1243), - 270: uint16(1243), - 271: uint16(1243), - 272: uint16(1243), - 273: uint16(1243), - 274: uint16(1243), - 275: uint16(1243), - 276: uint16(1243), - 277: uint16(1593), - 278: uint16(1243), - 279: uint16(1508), - 280: uint16(1332), - 281: uint16(1350), - 282: uint16(1350), - 283: uint16(1350), - 284: uint16(1350), - 285: uint16(1352), - 286: uint16(1333), - 287: uint16(1331), - 288: uint16(1344), - 289: uint16(1277), - 290: uint16(1250), - 291: uint16(1640), - 292: uint16(1410), - 293: uint16(1399), - 294: uint16(1351), - 295: uint16(1399), - 296: uint16(1637), - 297: uint16(1397), + 399: int16(1690), + 400: int16(1782), + 401: int16(1779), + 402: int16(1780), + 403: int16(1781), + 404: int16(1785), + 405: int16(1788), + 406: int16(1774), + 407: int16(1775), + 408: int16(1786), + 409: int16(1787), + 410: int16(1789), + 411: int16(1798), +} +var _yy_default = [583]uint16{ + 0: uint16(1663), + 1: uint16(1663), + 2: uint16(1663), + 3: uint16(1491), + 4: uint16(1254), + 5: uint16(1367), + 6: uint16(1254), + 7: uint16(1254), + 8: uint16(1254), + 9: uint16(1254), + 10: uint16(1491), + 11: uint16(1491), + 12: uint16(1491), + 13: uint16(1254), + 14: uint16(1254), + 15: uint16(1254), + 16: uint16(1254), + 17: uint16(1254), + 18: uint16(1254), + 19: uint16(1397), + 20: uint16(1397), + 21: uint16(1544), + 22: uint16(1287), + 23: uint16(1254), + 24: uint16(1254), + 25: uint16(1254), + 26: uint16(1254), + 27: uint16(1254), + 28: uint16(1254), + 29: uint16(1254), + 30: uint16(1254), + 31: uint16(1254), + 32: uint16(1254), + 33: uint16(1254), + 34: uint16(1254), + 35: uint16(1490), + 36: uint16(1254), + 37: uint16(1254), + 38: uint16(1254), + 39: uint16(1254), + 40: uint16(1578), + 41: uint16(1578), + 42: uint16(1254), + 43: uint16(1254), + 44: uint16(1254), + 45: uint16(1254), + 46: uint16(1254), + 47: uint16(1563), + 48: uint16(1562), + 49: uint16(1254), + 50: uint16(1254), + 51: uint16(1254), + 52: uint16(1406), + 53: uint16(1254), + 54: uint16(1413), + 55: uint16(1254), + 56: uint16(1254), + 57: uint16(1254), + 58: uint16(1254), + 59: uint16(1254), + 60: uint16(1492), + 61: uint16(1493), + 62: uint16(1254), + 63: uint16(1254), + 64: uint16(1254), + 65: uint16(1543), + 66: uint16(1545), + 67: uint16(1508), + 68: uint16(1420), + 69: uint16(1419), + 70: uint16(1418), + 71: uint16(1417), + 72: uint16(1526), + 73: uint16(1385), + 74: uint16(1411), + 75: uint16(1404), + 76: uint16(1408), + 77: uint16(1487), + 78: uint16(1488), + 79: uint16(1486), + 80: uint16(1641), + 81: uint16(1493), + 82: uint16(1492), + 83: uint16(1254), + 84: uint16(1407), + 85: uint16(1455), + 86: uint16(1471), + 87: uint16(1454), + 88: uint16(1254), + 89: uint16(1254), + 90: uint16(1254), + 91: uint16(1254), + 92: uint16(1254), + 93: uint16(1254), + 94: uint16(1254), + 95: uint16(1254), + 96: uint16(1254), + 97: uint16(1254), + 98: uint16(1254), + 99: uint16(1254), + 100: uint16(1254), + 101: uint16(1254), + 102: uint16(1254), + 103: uint16(1254), + 104: uint16(1254), + 105: uint16(1254), + 106: uint16(1254), + 107: uint16(1254), + 108: uint16(1254), + 109: uint16(1254), + 110: uint16(1254), + 111: uint16(1254), + 112: uint16(1254), + 113: uint16(1254), + 114: uint16(1254), + 115: uint16(1254), + 116: uint16(1254), + 117: uint16(1254), + 118: uint16(1254), + 119: uint16(1254), + 120: uint16(1254), + 121: uint16(1254), + 122: uint16(1254), + 123: uint16(1254), + 124: uint16(1254), + 125: uint16(1254), + 126: uint16(1254), + 127: uint16(1254), + 128: uint16(1254), + 129: uint16(1254), + 130: uint16(1254), + 131: uint16(1254), + 132: uint16(1254), + 133: uint16(1254), + 134: uint16(1254), + 135: uint16(1254), + 136: uint16(1254), + 137: uint16(1254), + 138: uint16(1254), + 139: uint16(1254), + 140: uint16(1463), + 141: uint16(1470), + 142: uint16(1469), + 143: uint16(1468), + 144: uint16(1477), + 145: uint16(1467), + 146: uint16(1464), + 147: uint16(1457), + 148: uint16(1456), + 149: uint16(1458), + 150: uint16(1459), + 151: uint16(1278), + 152: uint16(1254), + 153: uint16(1275), + 154: uint16(1329), + 155: uint16(1254), + 156: uint16(1254), + 157: uint16(1254), + 158: uint16(1254), + 159: uint16(1254), + 160: uint16(1460), + 161: uint16(1287), + 162: uint16(1448), + 163: uint16(1447), + 164: uint16(1446), + 165: uint16(1254), + 166: uint16(1474), + 167: uint16(1461), + 168: uint16(1473), + 169: uint16(1472), + 170: uint16(1551), + 171: uint16(1615), + 172: uint16(1614), + 173: uint16(1509), + 174: uint16(1254), + 175: uint16(1254), + 176: uint16(1254), + 177: uint16(1254), + 178: uint16(1254), + 179: uint16(1254), + 180: uint16(1578), + 181: uint16(1254), + 182: uint16(1254), + 183: uint16(1254), + 184: uint16(1254), + 185: uint16(1254), + 186: uint16(1254), + 187: uint16(1254), + 188: uint16(1254), + 189: uint16(1254), + 190: uint16(1254), + 191: uint16(1254), + 192: uint16(1254), + 193: uint16(1254), + 194: uint16(1254), + 195: uint16(1254), + 196: uint16(1254), + 197: uint16(1254), + 198: uint16(1254), + 199: uint16(1254), + 200: uint16(1254), + 201: uint16(1254), + 202: uint16(1254), + 203: uint16(1387), + 204: uint16(1578), + 205: uint16(1578), + 206: uint16(1254), + 207: uint16(1287), + 208: uint16(1578), + 209: uint16(1578), + 210: uint16(1388), + 211: uint16(1388), + 212: uint16(1283), + 213: uint16(1283), + 214: uint16(1391), + 215: uint16(1558), + 216: uint16(1358), + 217: uint16(1358), + 218: uint16(1358), + 219: uint16(1358), + 220: uint16(1367), + 221: uint16(1358), + 222: uint16(1254), + 223: uint16(1254), + 224: uint16(1254), + 225: uint16(1254), + 226: uint16(1254), + 227: uint16(1254), + 228: uint16(1254), + 229: uint16(1254), + 230: uint16(1254), + 231: uint16(1254), + 232: uint16(1254), + 233: uint16(1254), + 234: uint16(1254), + 235: uint16(1254), + 236: uint16(1254), + 237: uint16(1548), + 238: uint16(1546), + 239: uint16(1254), + 240: uint16(1254), + 241: uint16(1254), + 242: uint16(1254), + 243: uint16(1254), + 244: uint16(1254), + 245: uint16(1254), + 246: uint16(1254), + 247: uint16(1254), + 248: uint16(1254), + 249: uint16(1254), + 250: uint16(1254), + 251: uint16(1254), + 252: uint16(1254), + 253: uint16(1254), + 254: uint16(1254), + 255: uint16(1254), + 256: uint16(1254), + 257: uint16(1254), + 258: uint16(1254), + 259: uint16(1254), + 260: uint16(1254), + 261: uint16(1254), + 262: uint16(1254), + 263: uint16(1254), + 264: uint16(1254), + 265: uint16(1254), + 266: uint16(1363), + 267: uint16(1254), + 268: uint16(1254), + 269: uint16(1254), + 270: uint16(1254), + 271: uint16(1254), + 272: uint16(1254), + 273: uint16(1254), + 274: uint16(1254), + 275: uint16(1254), + 276: uint16(1254), + 277: uint16(1254), + 278: uint16(1608), + 279: uint16(1254), + 280: uint16(1521), + 281: uint16(1343), + 282: uint16(1363), + 283: uint16(1363), + 284: uint16(1363), + 285: uint16(1363), + 286: uint16(1365), + 287: uint16(1344), + 288: uint16(1342), + 289: uint16(1357), + 290: uint16(1288), + 291: uint16(1261), + 292: uint16(1655), + 293: uint16(1423), + 294: uint16(1412), + 295: uint16(1364), + 296: uint16(1412), + 297: uint16(1652), 298: uint16(1410), - 299: uint16(1410), - 300: uint16(1397), + 299: uint16(1423), + 300: uint16(1423), 301: uint16(1410), - 302: uint16(1351), - 303: uint16(1637), - 304: uint16(1293), - 305: uint16(1615), - 306: uint16(1288), - 307: uint16(1384), - 308: uint16(1384), - 309: uint16(1384), - 310: uint16(1374), - 311: uint16(1374), - 312: uint16(1374), - 313: uint16(1374), - 314: uint16(1378), - 315: uint16(1378), - 316: uint16(1476), - 317: uint16(1351), - 318: uint16(1344), - 319: uint16(1243), - 320: uint16(1640), - 321: uint16(1640), - 322: uint16(1360), - 323: uint16(1360), - 324: uint16(1639), - 325: uint16(1639), - 326: uint16(1360), - 327: uint16(1496), - 328: uint16(1623), - 329: uint16(1419), - 330: uint16(1321), - 331: uint16(1327), - 332: uint16(1327), - 333: uint16(1327), - 334: uint16(1327), - 335: uint16(1360), - 336: uint16(1261), - 337: uint16(1397), - 338: uint16(1623), - 339: uint16(1623), - 340: uint16(1397), - 341: uint16(1419), - 342: uint16(1321), - 343: uint16(1397), - 344: uint16(1321), - 345: uint16(1397), - 346: uint16(1360), - 347: uint16(1261), - 348: uint16(1512), - 349: uint16(1634), - 350: uint16(1360), - 351: uint16(1261), - 352: uint16(1486), - 353: uint16(1360), - 354: uint16(1261), - 355: uint16(1360), - 356: uint16(1261), - 357: uint16(1486), - 358: uint16(1319), - 359: uint16(1319), - 360: uint16(1319), - 361: uint16(1308), - 362: uint16(1243), - 363: uint16(1243), - 364: uint16(1486), - 365: uint16(1319), - 366: uint16(1293), - 367: uint16(1319), - 368: uint16(1308), + 302: uint16(1423), + 303: uint16(1364), + 304: uint16(1652), + 305: uint16(1304), + 306: uint16(1630), + 307: uint16(1299), + 308: uint16(1397), + 309: uint16(1397), + 310: uint16(1397), + 311: uint16(1387), + 312: uint16(1387), + 313: uint16(1387), + 314: uint16(1387), + 315: uint16(1391), + 316: uint16(1391), + 317: uint16(1489), + 318: uint16(1364), + 319: uint16(1357), + 320: uint16(1254), + 321: uint16(1655), + 322: uint16(1655), + 323: uint16(1373), + 324: uint16(1373), + 325: uint16(1654), + 326: uint16(1654), + 327: uint16(1373), + 328: uint16(1509), + 329: uint16(1638), + 330: uint16(1432), + 331: uint16(1332), + 332: uint16(1338), + 333: uint16(1338), + 334: uint16(1338), + 335: uint16(1338), + 336: uint16(1373), + 337: uint16(1272), + 338: uint16(1410), + 339: uint16(1638), + 340: uint16(1638), + 341: uint16(1410), + 342: uint16(1432), + 343: uint16(1332), + 344: uint16(1410), + 345: uint16(1332), + 346: uint16(1410), + 347: uint16(1373), + 348: uint16(1272), + 349: uint16(1525), + 350: uint16(1649), + 351: uint16(1373), + 352: uint16(1272), + 353: uint16(1499), + 354: uint16(1373), + 355: uint16(1272), + 356: uint16(1373), + 357: uint16(1272), + 358: uint16(1499), + 359: uint16(1330), + 360: uint16(1330), + 361: uint16(1330), + 362: uint16(1319), + 363: uint16(1254), + 364: uint16(1254), + 365: uint16(1499), + 366: uint16(1330), + 367: uint16(1304), + 368: uint16(1330), 369: uint16(1319), - 370: uint16(1319), - 371: uint16(1582), - 372: uint16(1243), - 373: uint16(1490), - 374: uint16(1490), - 375: uint16(1486), - 376: uint16(1360), - 377: uint16(1574), - 378: uint16(1574), - 379: uint16(1387), - 380: uint16(1387), - 381: uint16(1392), - 382: uint16(1378), - 383: uint16(1481), - 384: uint16(1360), - 385: uint16(1243), - 386: uint16(1392), - 387: uint16(1390), - 388: uint16(1388), - 389: uint16(1397), - 390: uint16(1311), - 391: uint16(1596), - 392: uint16(1596), - 393: uint16(1592), - 394: uint16(1592), - 395: uint16(1592), - 396: uint16(1645), - 397: uint16(1645), - 398: uint16(1545), - 399: uint16(1608), - 400: uint16(1276), - 401: uint16(1276), - 402: uint16(1276), - 403: uint16(1276), - 404: uint16(1608), - 405: uint16(1295), - 406: uint16(1295), - 407: uint16(1277), - 408: uint16(1277), - 409: uint16(1276), - 410: uint16(1608), - 411: uint16(1243), - 412: uint16(1243), - 413: uint16(1243), - 414: uint16(1243), - 415: uint16(1243), - 416: uint16(1243), - 417: uint16(1603), - 418: uint16(1243), - 419: uint16(1540), - 420: uint16(1497), - 421: uint16(1364), - 422: uint16(1243), - 423: uint16(1243), - 424: uint16(1243), - 425: uint16(1243), - 426: uint16(1243), - 427: uint16(1243), - 428: uint16(1243), - 429: uint16(1243), - 430: uint16(1243), - 431: uint16(1243), - 432: uint16(1243), - 433: uint16(1243), - 434: uint16(1243), - 435: uint16(1243), - 436: uint16(1243), - 437: uint16(1243), - 438: uint16(1551), - 439: uint16(1243), - 440: uint16(1243), - 441: uint16(1243), - 442: uint16(1243), - 443: uint16(1243), - 444: uint16(1243), - 445: uint16(1243), - 446: uint16(1243), - 447: uint16(1243), - 448: uint16(1243), - 449: uint16(1424), - 450: uint16(1243), - 451: uint16(1246), - 452: uint16(1542), - 453: uint16(1243), - 454: uint16(1243), - 455: uint16(1243), - 456: uint16(1243), - 457: uint16(1243), - 458: uint16(1243), - 459: uint16(1243), - 460: uint16(1243), - 461: uint16(1401), - 462: uint16(1402), - 463: uint16(1365), - 464: uint16(1243), - 465: uint16(1243), - 466: uint16(1243), - 467: uint16(1243), - 468: uint16(1243), - 469: uint16(1243), - 470: uint16(1243), - 471: uint16(1416), - 472: uint16(1243), - 473: uint16(1243), - 474: uint16(1243), - 475: uint16(1411), - 476: uint16(1243), - 477: uint16(1243), - 478: uint16(1243), - 479: uint16(1243), - 480: uint16(1243), - 481: uint16(1243), - 482: uint16(1243), - 483: uint16(1243), - 484: uint16(1636), - 485: uint16(1243), - 486: uint16(1243), - 487: uint16(1243), - 488: uint16(1243), - 489: uint16(1243), - 490: uint16(1243), - 491: uint16(1511), - 492: uint16(1510), - 493: uint16(1243), - 494: uint16(1243), - 495: uint16(1362), - 496: uint16(1243), - 497: uint16(1243), - 498: uint16(1243), - 499: uint16(1243), - 500: uint16(1243), - 501: uint16(1243), - 502: uint16(1243), - 503: uint16(1243), - 504: uint16(1243), - 505: uint16(1243), - 506: uint16(1243), - 507: uint16(1243), - 508: uint16(1243), - 509: uint16(1291), - 510: uint16(1243), - 511: uint16(1243), - 512: uint16(1243), - 513: uint16(1243), - 514: uint16(1243), - 515: uint16(1243), - 516: uint16(1243), - 517: uint16(1243), - 518: uint16(1243), - 519: uint16(1243), - 520: uint16(1243), - 521: uint16(1243), - 522: uint16(1243), - 523: uint16(1243), - 524: uint16(1243), - 525: uint16(1243), - 526: uint16(1243), - 527: uint16(1243), - 528: uint16(1243), - 529: uint16(1243), - 530: uint16(1243), - 531: uint16(1243), - 532: uint16(1243), - 533: uint16(1389), - 534: uint16(1243), - 535: uint16(1243), - 536: uint16(1243), - 537: uint16(1243), - 538: uint16(1243), - 539: uint16(1243), - 540: uint16(1243), - 541: uint16(1243), - 542: uint16(1243), - 543: uint16(1243), - 544: uint16(1243), - 545: uint16(1243), - 546: uint16(1243), - 547: uint16(1243), - 548: uint16(1579), - 549: uint16(1379), - 550: uint16(1243), - 551: uint16(1243), - 552: uint16(1243), - 553: uint16(1243), - 554: uint16(1627), - 555: uint16(1243), - 556: uint16(1243), - 557: uint16(1243), - 558: uint16(1243), - 559: uint16(1243), - 560: uint16(1243), - 561: uint16(1243), - 562: uint16(1243), - 563: uint16(1243), - 564: uint16(1243), - 565: uint16(1243), - 566: uint16(1243), - 567: uint16(1243), - 568: uint16(1243), - 569: uint16(1619), - 570: uint16(1335), - 571: uint16(1425), - 572: uint16(1243), - 573: uint16(1428), - 574: uint16(1265), - 575: uint16(1243), - 576: uint16(1255), - 577: uint16(1243), - 578: uint16(1243), + 370: uint16(1330), + 371: uint16(1330), + 372: uint16(1596), + 373: uint16(1254), + 374: uint16(1503), + 375: uint16(1503), + 376: uint16(1499), + 377: uint16(1373), + 378: uint16(1588), + 379: uint16(1588), + 380: uint16(1400), + 381: uint16(1400), + 382: uint16(1405), + 383: uint16(1391), + 384: uint16(1494), + 385: uint16(1373), + 386: uint16(1254), + 387: uint16(1405), + 388: uint16(1403), + 389: uint16(1401), + 390: uint16(1410), + 391: uint16(1322), + 392: uint16(1611), + 393: uint16(1611), + 394: uint16(1607), + 395: uint16(1607), + 396: uint16(1607), + 397: uint16(1660), + 398: uint16(1660), + 399: uint16(1558), + 400: uint16(1623), + 401: uint16(1287), + 402: uint16(1287), + 403: uint16(1287), + 404: uint16(1287), + 405: uint16(1623), + 406: uint16(1306), + 407: uint16(1306), + 408: uint16(1288), + 409: uint16(1288), + 410: uint16(1287), + 411: uint16(1623), + 412: uint16(1254), + 413: uint16(1254), + 414: uint16(1254), + 415: uint16(1254), + 416: uint16(1254), + 417: uint16(1254), + 418: uint16(1618), + 419: uint16(1254), + 420: uint16(1553), + 421: uint16(1510), + 422: uint16(1377), + 423: uint16(1254), + 424: uint16(1254), + 425: uint16(1254), + 426: uint16(1254), + 427: uint16(1254), + 428: uint16(1254), + 429: uint16(1254), + 430: uint16(1254), + 431: uint16(1254), + 432: uint16(1254), + 433: uint16(1254), + 434: uint16(1254), + 435: uint16(1254), + 436: uint16(1254), + 437: uint16(1254), + 438: uint16(1254), + 439: uint16(1564), + 440: uint16(1254), + 441: uint16(1254), + 442: uint16(1254), + 443: uint16(1254), + 444: uint16(1254), + 445: uint16(1254), + 446: uint16(1254), + 447: uint16(1254), + 448: uint16(1254), + 449: uint16(1254), + 450: uint16(1254), + 451: uint16(1437), + 452: uint16(1254), + 453: uint16(1257), + 454: uint16(1555), + 455: uint16(1254), + 456: uint16(1254), + 457: uint16(1254), + 458: uint16(1254), + 459: uint16(1254), + 460: uint16(1254), + 461: uint16(1254), + 462: uint16(1254), + 463: uint16(1414), + 464: uint16(1415), + 465: uint16(1378), + 466: uint16(1254), + 467: uint16(1254), + 468: uint16(1254), + 469: uint16(1254), + 470: uint16(1254), + 471: uint16(1254), + 472: uint16(1254), + 473: uint16(1429), + 474: uint16(1254), + 475: uint16(1254), + 476: uint16(1254), + 477: uint16(1424), + 478: uint16(1254), + 479: uint16(1254), + 480: uint16(1254), + 481: uint16(1254), + 482: uint16(1254), + 483: uint16(1254), + 484: uint16(1254), + 485: uint16(1254), + 486: uint16(1651), + 487: uint16(1254), + 488: uint16(1254), + 489: uint16(1254), + 490: uint16(1254), + 491: uint16(1254), + 492: uint16(1254), + 493: uint16(1524), + 494: uint16(1523), + 495: uint16(1254), + 496: uint16(1254), + 497: uint16(1375), + 498: uint16(1254), + 499: uint16(1254), + 500: uint16(1254), + 501: uint16(1254), + 502: uint16(1254), + 503: uint16(1254), + 504: uint16(1254), + 505: uint16(1254), + 506: uint16(1254), + 507: uint16(1254), + 508: uint16(1254), + 509: uint16(1254), + 510: uint16(1254), + 511: uint16(1302), + 512: uint16(1254), + 513: uint16(1254), + 514: uint16(1254), + 515: uint16(1254), + 516: uint16(1254), + 517: uint16(1254), + 518: uint16(1254), + 519: uint16(1254), + 520: uint16(1254), + 521: uint16(1254), + 522: uint16(1254), + 523: uint16(1254), + 524: uint16(1254), + 525: uint16(1254), + 526: uint16(1254), + 527: uint16(1254), + 528: uint16(1254), + 529: uint16(1254), + 530: uint16(1254), + 531: uint16(1254), + 532: uint16(1254), + 533: uint16(1254), + 534: uint16(1254), + 535: uint16(1402), + 536: uint16(1254), + 537: uint16(1254), + 538: uint16(1254), + 539: uint16(1254), + 540: uint16(1254), + 541: uint16(1254), + 542: uint16(1254), + 543: uint16(1254), + 544: uint16(1254), + 545: uint16(1254), + 546: uint16(1254), + 547: uint16(1254), + 548: uint16(1254), + 549: uint16(1254), + 550: uint16(1593), + 551: uint16(1392), + 552: uint16(1254), + 553: uint16(1254), + 554: uint16(1254), + 555: uint16(1254), + 556: uint16(1642), + 557: uint16(1254), + 558: uint16(1254), + 559: uint16(1254), + 560: uint16(1254), + 561: uint16(1352), + 562: uint16(1254), + 563: uint16(1254), + 564: uint16(1254), + 565: uint16(1254), + 566: uint16(1254), + 567: uint16(1254), + 568: uint16(1254), + 569: uint16(1254), + 570: uint16(1254), + 571: uint16(1254), + 572: uint16(1254), + 573: uint16(1634), + 574: uint16(1346), + 575: uint16(1438), + 576: uint16(1254), + 577: uint16(1441), + 578: uint16(1276), + 579: uint16(1254), + 580: uint16(1266), + 581: uint16(1254), + 582: uint16(1254), } /********** End of lemon-generated parsing tables *****************************/ @@ -158428,7 +159849,7 @@ var _yy_default = [579]uint16{ // ** to revert to identifiers if they keyword does not apply in the context where // ** it appears. // */ -var _yyFallback = [185]uint16{ +var _yyFallback = [186]uint16{ 2: uint16(59), 3: uint16(59), 4: uint16(59), @@ -158541,8 +159962,9 @@ type yyStackEntry = TyyStackEntry type TyyParser1 = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser1 = TyyParser1 @@ -158550,14 +159972,46 @@ type yyParser1 = TyyParser1 type TyyParser = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser = TyyParser /* #include */ +// C documentation +// +// /* +// ** Try to increase the size of the parser stack. Return the number +// ** of errors. Return 0 on success. +// */ +func _yyGrowStack(tls *libc.TLS, p uintptr) (r int32) { + var idx, newSize, oldSize int32 + var pNew uintptr + _, _, _, _ = idx, newSize, oldSize, pNew + oldSize = int32(1) + int32((int64((*TyyParser)(unsafe.Pointer(p)).FyystackEnd)-int64((*TyyParser)(unsafe.Pointer(p)).Fyystack))/24) + newSize = oldSize*int32(2) + int32(100) + idx = int32((int64((*TyyParser)(unsafe.Pointer(p)).Fyytos) - int64((*TyyParser)(unsafe.Pointer(p)).Fyystack)) / 24) + if (*TyyParser)(unsafe.Pointer(p)).Fyystack == p+32 { + pNew = _parserStackRealloc(tls, uintptr(0), uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + libc.Xmemcpy(tls, pNew, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(oldSize)*uint64(24)) + } else { + pNew = _parserStackRealloc(tls, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + } + (*TyyParser)(unsafe.Pointer(p)).Fyystack = pNew + (*TyyParser)(unsafe.Pointer(p)).Fyytos = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(idx)*24 + (*TyyParser)(unsafe.Pointer(p)).FyystackEnd = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(newSize-int32(1))*24 + return 0 +} + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -158573,10 +160027,11 @@ func _sqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { _ = yypParser yypParser = yypRawParser (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fstateno = uint16(0) - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fmajor = uint16(0) - (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = yypParser + 16 + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack = yypParser + 32 + (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fstateno = uint16(0) + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fmajor = uint16(0) } // C documentation @@ -158604,103 +160059,105 @@ func _yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor u ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case int32(204): /* select */ + case int32(205): /* select */ fallthrough - case int32(239): /* selectnowith */ + case int32(240): /* selectnowith */ fallthrough - case int32(240): /* oneselect */ + case int32(241): /* oneselect */ fallthrough - case int32(252): /* values */ + case int32(253): /* values */ + fallthrough + case int32(255): /* mvalues */ _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(216): /* term */ + case int32(217): /* term */ fallthrough - case int32(217): /* expr */ + case int32(218): /* expr */ fallthrough - case int32(246): /* where_opt */ + case int32(247): /* where_opt */ fallthrough - case int32(248): /* having_opt */ + case int32(249): /* having_opt */ fallthrough - case int32(267): /* where_opt_ret */ + case int32(269): /* where_opt_ret */ fallthrough - case int32(278): /* case_operand */ + case int32(280): /* case_operand */ fallthrough - case int32(280): /* case_else */ + case int32(282): /* case_else */ fallthrough - case int32(283): /* vinto */ + case int32(285): /* vinto */ fallthrough - case int32(290): /* when_clause */ + case int32(292): /* when_clause */ fallthrough - case int32(295): /* key_opt */ + case int32(297): /* key_opt */ fallthrough - case int32(311): /* filter_clause */ + case int32(314): /* filter_clause */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(221): /* eidlist_opt */ + case int32(222): /* eidlist_opt */ fallthrough - case int32(231): /* sortlist */ + case int32(232): /* sortlist */ fallthrough - case int32(232): /* eidlist */ + case int32(233): /* eidlist */ fallthrough - case int32(244): /* selcollist */ + case int32(245): /* selcollist */ fallthrough - case int32(247): /* groupby_opt */ + case int32(248): /* groupby_opt */ fallthrough - case int32(249): /* orderby_opt */ + case int32(250): /* orderby_opt */ fallthrough - case int32(253): /* nexprlist */ + case int32(254): /* nexprlist */ fallthrough - case int32(254): /* sclp */ + case int32(256): /* sclp */ fallthrough - case int32(261): /* exprlist */ + case int32(263): /* exprlist */ fallthrough - case int32(268): /* setlist */ + case int32(270): /* setlist */ fallthrough - case int32(277): /* paren_exprlist */ + case int32(279): /* paren_exprlist */ fallthrough - case int32(279): /* case_exprlist */ + case int32(281): /* case_exprlist */ fallthrough - case int32(310): /* part_opt */ + case int32(313): /* part_opt */ _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(238): /* fullname */ + case int32(239): /* fullname */ fallthrough - case int32(245): /* from */ + case int32(246): /* from */ fallthrough - case int32(256): /* seltablist */ + case int32(258): /* seltablist */ fallthrough - case int32(257): /* stl_prefix */ + case int32(259): /* stl_prefix */ fallthrough - case int32(262): /* xfullname */ + case int32(264): /* xfullname */ _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(241): /* wqlist */ + case int32(242): /* wqlist */ _sqlite3WithDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(251): /* window_clause */ + case int32(252): /* window_clause */ fallthrough - case int32(306): /* windowdefn_list */ + case int32(309): /* windowdefn_list */ _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(263): /* idlist */ + case int32(265): /* idlist */ fallthrough - case int32(270): /* idlist_opt */ + case int32(272): /* idlist_opt */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(273): /* filter_over */ + case int32(275): /* filter_over */ fallthrough - case int32(307): /* windowdefn */ + case int32(310): /* windowdefn */ fallthrough - case int32(308): /* window */ + case int32(311): /* window */ fallthrough - case int32(309): /* frame_opt */ + case int32(312): /* frame_opt */ fallthrough - case int32(312): /* over_clause */ + case int32(315): /* over_clause */ _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(286): /* trigger_cmd_list */ + case int32(288): /* trigger_cmd_list */ fallthrough - case int32(291): /* trigger_cmd */ + case int32(293): /* trigger_cmd */ _sqlite3DeleteTriggerStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(288): /* trigger_event */ + case int32(290): /* trigger_event */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TTrigEvent)(unsafe.Pointer(yypminor))).Fb) - case int32(314): /* frame_bound */ + case int32(317): /* frame_bound */ fallthrough - case int32(315): /* frame_bound_s */ + case int32(318): /* frame_bound_s */ fallthrough - case int32(316): /* frame_bound_e */ + case int32(319): /* frame_bound_e */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TFrameBound)(unsafe.Pointer(yypminor))).FpExpr) break /********* End destructor definitions *****************************************/ @@ -158736,11 +160193,20 @@ func _yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var pParser, yytos uintptr + _, _ = pParser, yytos pParser = p - for (*TyyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { - _yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling yy_pop_parser_stack() for each + ** element left in the stack */ + yytos = (*TyyParser)(unsafe.Pointer(pParser)).Fyytos + for yytos > (*TyyParser)(unsafe.Pointer(pParser)).Fyystack { + if int32((*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor) >= int32(YY_MIN_DSTRCTR) { + _yy_destructor(tls, pParser, (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor, yytos+8) + } + yytos -= 24 + } + if (*TyyParser)(unsafe.Pointer(pParser)).Fyystack != pParser+32 { + Xsqlite3_free(tls, (*TyyParser)(unsafe.Pointer(pParser)).Fyystack) } } @@ -158835,13 +160301,13 @@ func _yyStackOverflow(tls *libc.TLS, yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*TyyParser)(unsafe.Pointer(yypParser)).FpParse - for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { + for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack { _yy_pop_parser_stack(tls, yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23336, 0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) /******** End %stack_overflow code ********************************************/ /* Suppress warning about unused %extra_argument var */ (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -158860,15 +160326,19 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint var yytos uintptr _ = yytos (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 - if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 - _yyStackOverflow(tls, yypParser) - return + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + if yytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { + if _yyGrowStack(tls, yypParser) != 0 { + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 + _yyStackOverflow(tls, yypParser) + return + } + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + _ = libc.Int32FromInt32(0) } if int32(yyNewState) > int32(YY_MAX_SHIFT) { yyNewState = uint16(int32(yyNewState) + (libc.Int32FromInt32(YY_MIN_REDUCE) - libc.Int32FromInt32(YY_MIN_SHIFTREDUCE))) } - yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos (*TyyStackEntry)(unsafe.Pointer(yytos)).Fstateno = yyNewState (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor = yyMajor *(*TToken)(unsafe.Pointer(yytos + 8)) = yyMinor @@ -158878,419 +160348,423 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint // // /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side // ** of that rule */ -var _yyRuleInfoLhs = [405]uint16{ - 0: uint16(189), - 1: uint16(189), - 2: uint16(188), - 3: uint16(190), - 4: uint16(191), - 5: uint16(191), - 6: uint16(191), - 7: uint16(191), - 8: uint16(190), - 9: uint16(190), - 10: uint16(190), - 11: uint16(190), - 12: uint16(190), - 13: uint16(195), - 14: uint16(197), - 15: uint16(199), - 16: uint16(199), - 17: uint16(198), - 18: uint16(198), - 19: uint16(196), - 20: uint16(196), - 21: uint16(203), - 22: uint16(203), - 23: uint16(205), - 24: uint16(205), - 25: uint16(206), - 26: uint16(208), - 27: uint16(208), - 28: uint16(208), - 29: uint16(209), - 30: uint16(213), - 31: uint16(214), - 32: uint16(215), - 33: uint16(215), - 34: uint16(215), - 35: uint16(215), - 36: uint16(215), - 37: uint16(215), - 38: uint16(215), - 39: uint16(215), - 40: uint16(215), - 41: uint16(215), - 42: uint16(215), - 43: uint16(215), - 44: uint16(215), - 45: uint16(224), - 46: uint16(224), - 47: uint16(220), - 48: uint16(220), - 49: uint16(222), - 50: uint16(222), - 51: uint16(225), - 52: uint16(225), - 53: uint16(225), - 54: uint16(225), - 55: uint16(226), - 56: uint16(226), - 57: uint16(226), - 58: uint16(226), - 59: uint16(226), - 60: uint16(223), - 61: uint16(223), - 62: uint16(227), - 63: uint16(227), - 64: uint16(227), - 65: uint16(202), - 66: uint16(229), - 67: uint16(230), - 68: uint16(230), - 69: uint16(230), - 70: uint16(230), - 71: uint16(230), - 72: uint16(233), - 73: uint16(218), - 74: uint16(218), - 75: uint16(234), - 76: uint16(234), - 77: uint16(235), - 78: uint16(235), - 79: uint16(190), - 80: uint16(237), - 81: uint16(237), - 82: uint16(190), - 83: uint16(190), - 84: uint16(190), - 85: uint16(204), - 86: uint16(204), - 87: uint16(204), - 88: uint16(239), - 89: uint16(242), - 90: uint16(242), - 91: uint16(242), - 92: uint16(240), - 93: uint16(240), - 94: uint16(252), - 95: uint16(252), - 96: uint16(243), - 97: uint16(243), - 98: uint16(243), - 99: uint16(254), +var _yyRuleInfoLhs = [409]uint16{ + 0: uint16(190), + 1: uint16(190), + 2: uint16(189), + 3: uint16(191), + 4: uint16(192), + 5: uint16(192), + 6: uint16(192), + 7: uint16(192), + 8: uint16(191), + 9: uint16(191), + 10: uint16(191), + 11: uint16(191), + 12: uint16(191), + 13: uint16(196), + 14: uint16(198), + 15: uint16(200), + 16: uint16(200), + 17: uint16(199), + 18: uint16(199), + 19: uint16(197), + 20: uint16(197), + 21: uint16(204), + 22: uint16(204), + 23: uint16(206), + 24: uint16(206), + 25: uint16(207), + 26: uint16(209), + 27: uint16(209), + 28: uint16(209), + 29: uint16(210), + 30: uint16(214), + 31: uint16(215), + 32: uint16(216), + 33: uint16(216), + 34: uint16(216), + 35: uint16(216), + 36: uint16(216), + 37: uint16(216), + 38: uint16(216), + 39: uint16(216), + 40: uint16(216), + 41: uint16(216), + 42: uint16(216), + 43: uint16(216), + 44: uint16(216), + 45: uint16(225), + 46: uint16(225), + 47: uint16(221), + 48: uint16(221), + 49: uint16(223), + 50: uint16(223), + 51: uint16(226), + 52: uint16(226), + 53: uint16(226), + 54: uint16(226), + 55: uint16(227), + 56: uint16(227), + 57: uint16(227), + 58: uint16(227), + 59: uint16(227), + 60: uint16(224), + 61: uint16(224), + 62: uint16(228), + 63: uint16(228), + 64: uint16(228), + 65: uint16(203), + 66: uint16(230), + 67: uint16(231), + 68: uint16(231), + 69: uint16(231), + 70: uint16(231), + 71: uint16(231), + 72: uint16(234), + 73: uint16(219), + 74: uint16(219), + 75: uint16(235), + 76: uint16(235), + 77: uint16(236), + 78: uint16(236), + 79: uint16(191), + 80: uint16(238), + 81: uint16(238), + 82: uint16(191), + 83: uint16(191), + 84: uint16(191), + 85: uint16(205), + 86: uint16(205), + 87: uint16(205), + 88: uint16(240), + 89: uint16(243), + 90: uint16(243), + 91: uint16(243), + 92: uint16(241), + 93: uint16(241), + 94: uint16(253), + 95: uint16(241), + 96: uint16(255), + 97: uint16(255), + 98: uint16(244), + 99: uint16(244), 100: uint16(244), - 101: uint16(244), - 102: uint16(244), - 103: uint16(255), - 104: uint16(255), - 105: uint16(245), - 106: uint16(245), - 107: uint16(257), - 108: uint16(257), - 109: uint16(256), - 110: uint16(256), - 111: uint16(256), - 112: uint16(256), - 113: uint16(256), - 114: uint16(200), - 115: uint16(200), - 116: uint16(238), - 117: uint16(238), - 118: uint16(262), - 119: uint16(262), - 120: uint16(262), - 121: uint16(262), - 122: uint16(258), - 123: uint16(258), - 124: uint16(258), - 125: uint16(258), - 126: uint16(259), - 127: uint16(259), - 128: uint16(259), - 129: uint16(264), - 130: uint16(260), - 131: uint16(260), - 132: uint16(249), - 133: uint16(249), - 134: uint16(231), - 135: uint16(231), - 136: uint16(219), - 137: uint16(219), - 138: uint16(219), - 139: uint16(265), - 140: uint16(265), - 141: uint16(265), - 142: uint16(247), - 143: uint16(247), + 101: uint16(256), + 102: uint16(245), + 103: uint16(245), + 104: uint16(245), + 105: uint16(257), + 106: uint16(257), + 107: uint16(246), + 108: uint16(246), + 109: uint16(259), + 110: uint16(259), + 111: uint16(258), + 112: uint16(258), + 113: uint16(258), + 114: uint16(258), + 115: uint16(258), + 116: uint16(201), + 117: uint16(201), + 118: uint16(239), + 119: uint16(239), + 120: uint16(264), + 121: uint16(264), + 122: uint16(264), + 123: uint16(264), + 124: uint16(260), + 125: uint16(260), + 126: uint16(260), + 127: uint16(260), + 128: uint16(261), + 129: uint16(261), + 130: uint16(261), + 131: uint16(266), + 132: uint16(262), + 133: uint16(262), + 134: uint16(250), + 135: uint16(250), + 136: uint16(232), + 137: uint16(232), + 138: uint16(220), + 139: uint16(220), + 140: uint16(220), + 141: uint16(267), + 142: uint16(267), + 143: uint16(267), 144: uint16(248), 145: uint16(248), - 146: uint16(250), - 147: uint16(250), - 148: uint16(250), - 149: uint16(250), - 150: uint16(190), - 151: uint16(246), - 152: uint16(246), - 153: uint16(267), - 154: uint16(267), - 155: uint16(267), - 156: uint16(267), - 157: uint16(190), - 158: uint16(268), - 159: uint16(268), - 160: uint16(268), - 161: uint16(268), - 162: uint16(190), - 163: uint16(190), - 164: uint16(271), - 165: uint16(271), - 166: uint16(271), - 167: uint16(271), - 168: uint16(271), - 169: uint16(271), - 170: uint16(272), - 171: uint16(269), - 172: uint16(269), - 173: uint16(270), - 174: uint16(270), - 175: uint16(263), - 176: uint16(263), - 177: uint16(217), - 178: uint16(217), - 179: uint16(217), - 180: uint16(217), - 181: uint16(216), - 182: uint16(216), - 183: uint16(216), + 146: uint16(249), + 147: uint16(249), + 148: uint16(251), + 149: uint16(251), + 150: uint16(251), + 151: uint16(251), + 152: uint16(191), + 153: uint16(247), + 154: uint16(247), + 155: uint16(269), + 156: uint16(269), + 157: uint16(269), + 158: uint16(269), + 159: uint16(191), + 160: uint16(270), + 161: uint16(270), + 162: uint16(270), + 163: uint16(270), + 164: uint16(191), + 165: uint16(191), + 166: uint16(273), + 167: uint16(273), + 168: uint16(273), + 169: uint16(273), + 170: uint16(273), + 171: uint16(273), + 172: uint16(274), + 173: uint16(271), + 174: uint16(271), + 175: uint16(272), + 176: uint16(272), + 177: uint16(265), + 178: uint16(265), + 179: uint16(218), + 180: uint16(218), + 181: uint16(218), + 182: uint16(218), + 183: uint16(217), 184: uint16(217), 185: uint16(217), - 186: uint16(217), - 187: uint16(217), - 188: uint16(217), - 189: uint16(217), - 190: uint16(217), - 191: uint16(217), - 192: uint16(217), - 193: uint16(216), - 194: uint16(217), + 186: uint16(218), + 187: uint16(218), + 188: uint16(218), + 189: uint16(218), + 190: uint16(218), + 191: uint16(218), + 192: uint16(218), + 193: uint16(218), + 194: uint16(218), 195: uint16(217), - 196: uint16(217), - 197: uint16(217), - 198: uint16(217), - 199: uint16(217), - 200: uint16(217), - 201: uint16(217), - 202: uint16(217), - 203: uint16(274), - 204: uint16(217), - 205: uint16(217), - 206: uint16(217), - 207: uint16(217), - 208: uint16(217), - 209: uint16(217), - 210: uint16(217), - 211: uint16(217), - 212: uint16(217), - 213: uint16(217), - 214: uint16(217), - 215: uint16(217), - 216: uint16(275), - 217: uint16(275), - 218: uint16(217), - 219: uint16(276), - 220: uint16(276), - 221: uint16(217), - 222: uint16(217), - 223: uint16(217), - 224: uint16(217), - 225: uint16(217), - 226: uint16(217), - 227: uint16(279), - 228: uint16(279), - 229: uint16(280), - 230: uint16(280), - 231: uint16(278), - 232: uint16(261), - 233: uint16(253), - 234: uint16(253), - 235: uint16(277), - 236: uint16(277), - 237: uint16(190), - 238: uint16(281), - 239: uint16(281), - 240: uint16(221), - 241: uint16(221), - 242: uint16(232), - 243: uint16(232), - 244: uint16(282), - 245: uint16(282), - 246: uint16(190), - 247: uint16(190), - 248: uint16(190), - 249: uint16(283), - 250: uint16(283), - 251: uint16(190), - 252: uint16(190), - 253: uint16(190), - 254: uint16(190), - 255: uint16(190), - 256: uint16(211), - 257: uint16(212), - 258: uint16(190), - 259: uint16(285), - 260: uint16(287), + 196: uint16(218), + 197: uint16(218), + 198: uint16(218), + 199: uint16(218), + 200: uint16(218), + 201: uint16(218), + 202: uint16(218), + 203: uint16(218), + 204: uint16(218), + 205: uint16(276), + 206: uint16(218), + 207: uint16(218), + 208: uint16(218), + 209: uint16(218), + 210: uint16(218), + 211: uint16(218), + 212: uint16(218), + 213: uint16(218), + 214: uint16(218), + 215: uint16(218), + 216: uint16(218), + 217: uint16(218), + 218: uint16(277), + 219: uint16(277), + 220: uint16(218), + 221: uint16(278), + 222: uint16(278), + 223: uint16(218), + 224: uint16(218), + 225: uint16(218), + 226: uint16(218), + 227: uint16(218), + 228: uint16(218), + 229: uint16(281), + 230: uint16(281), + 231: uint16(282), + 232: uint16(282), + 233: uint16(280), + 234: uint16(263), + 235: uint16(254), + 236: uint16(254), + 237: uint16(279), + 238: uint16(279), + 239: uint16(191), + 240: uint16(283), + 241: uint16(283), + 242: uint16(222), + 243: uint16(222), + 244: uint16(233), + 245: uint16(233), + 246: uint16(284), + 247: uint16(284), + 248: uint16(191), + 249: uint16(191), + 250: uint16(191), + 251: uint16(285), + 252: uint16(285), + 253: uint16(191), + 254: uint16(191), + 255: uint16(191), + 256: uint16(191), + 257: uint16(191), + 258: uint16(212), + 259: uint16(213), + 260: uint16(191), 261: uint16(287), - 262: uint16(287), - 263: uint16(288), - 264: uint16(288), - 265: uint16(288), + 262: uint16(289), + 263: uint16(289), + 264: uint16(289), + 265: uint16(290), 266: uint16(290), 267: uint16(290), - 268: uint16(286), - 269: uint16(286), - 270: uint16(292), - 271: uint16(293), - 272: uint16(293), - 273: uint16(291), - 274: uint16(291), - 275: uint16(291), - 276: uint16(291), - 277: uint16(217), - 278: uint16(217), - 279: uint16(236), - 280: uint16(236), - 281: uint16(236), - 282: uint16(190), - 283: uint16(190), - 284: uint16(190), - 285: uint16(295), - 286: uint16(295), - 287: uint16(190), - 288: uint16(190), - 289: uint16(190), - 290: uint16(190), - 291: uint16(190), - 292: uint16(190), - 293: uint16(190), - 294: uint16(296), - 295: uint16(190), - 296: uint16(190), - 297: uint16(190), - 298: uint16(298), - 299: uint16(300), - 300: uint16(301), - 301: uint16(301), - 302: uint16(302), - 303: uint16(266), - 304: uint16(266), - 305: uint16(305), - 306: uint16(305), - 307: uint16(305), - 308: uint16(304), - 309: uint16(241), - 310: uint16(241), - 311: uint16(306), - 312: uint16(307), - 313: uint16(308), - 314: uint16(308), - 315: uint16(308), - 316: uint16(308), - 317: uint16(308), - 318: uint16(309), - 319: uint16(309), - 320: uint16(309), - 321: uint16(313), - 322: uint16(315), - 323: uint16(315), + 268: uint16(292), + 269: uint16(292), + 270: uint16(288), + 271: uint16(288), + 272: uint16(294), + 273: uint16(295), + 274: uint16(295), + 275: uint16(293), + 276: uint16(293), + 277: uint16(293), + 278: uint16(293), + 279: uint16(218), + 280: uint16(218), + 281: uint16(237), + 282: uint16(237), + 283: uint16(237), + 284: uint16(191), + 285: uint16(191), + 286: uint16(191), + 287: uint16(297), + 288: uint16(297), + 289: uint16(191), + 290: uint16(191), + 291: uint16(191), + 292: uint16(191), + 293: uint16(191), + 294: uint16(191), + 295: uint16(191), + 296: uint16(298), + 297: uint16(191), + 298: uint16(191), + 299: uint16(191), + 300: uint16(300), + 301: uint16(302), + 302: uint16(303), + 303: uint16(303), + 304: uint16(304), + 305: uint16(268), + 306: uint16(268), + 307: uint16(307), + 308: uint16(307), + 309: uint16(307), + 310: uint16(306), + 311: uint16(308), + 312: uint16(242), + 313: uint16(242), + 314: uint16(309), + 315: uint16(310), + 316: uint16(311), + 317: uint16(311), + 318: uint16(311), + 319: uint16(311), + 320: uint16(311), + 321: uint16(312), + 322: uint16(312), + 323: uint16(312), 324: uint16(316), - 325: uint16(316), - 326: uint16(314), - 327: uint16(314), - 328: uint16(317), + 325: uint16(318), + 326: uint16(318), + 327: uint16(319), + 328: uint16(319), 329: uint16(317), - 330: uint16(318), - 331: uint16(318), - 332: uint16(318), - 333: uint16(251), - 334: uint16(273), - 335: uint16(273), - 336: uint16(273), - 337: uint16(312), - 338: uint16(312), - 339: uint16(311), - 340: uint16(185), - 341: uint16(186), - 342: uint16(186), - 343: uint16(187), - 344: uint16(187), + 330: uint16(317), + 331: uint16(320), + 332: uint16(320), + 333: uint16(321), + 334: uint16(321), + 335: uint16(321), + 336: uint16(252), + 337: uint16(275), + 338: uint16(275), + 339: uint16(275), + 340: uint16(315), + 341: uint16(315), + 342: uint16(314), + 343: uint16(217), + 344: uint16(186), 345: uint16(187), - 346: uint16(192), - 347: uint16(192), - 348: uint16(192), - 349: uint16(194), - 350: uint16(194), - 351: uint16(190), - 352: uint16(203), - 353: uint16(201), - 354: uint16(201), - 355: uint16(193), - 356: uint16(193), - 357: uint16(208), - 358: uint16(209), - 359: uint16(210), - 360: uint16(210), - 361: uint16(207), - 362: uint16(207), - 363: uint16(215), - 364: uint16(215), - 365: uint16(215), - 366: uint16(202), - 367: uint16(228), - 368: uint16(228), - 369: uint16(229), - 370: uint16(233), - 371: uint16(235), - 372: uint16(239), - 373: uint16(240), - 374: uint16(254), - 375: uint16(255), - 376: uint16(264), - 377: uint16(272), - 378: uint16(217), - 379: uint16(274), - 380: uint16(278), - 381: uint16(261), - 382: uint16(284), - 383: uint16(284), - 384: uint16(284), - 385: uint16(284), - 386: uint16(284), - 387: uint16(211), - 388: uint16(289), - 389: uint16(289), - 390: uint16(292), - 391: uint16(293), - 392: uint16(294), - 393: uint16(294), - 394: uint16(297), - 395: uint16(297), - 396: uint16(299), - 397: uint16(299), - 398: uint16(300), - 399: uint16(303), - 400: uint16(303), - 401: uint16(303), - 402: uint16(266), - 403: uint16(306), - 404: uint16(308), + 346: uint16(187), + 347: uint16(188), + 348: uint16(188), + 349: uint16(188), + 350: uint16(193), + 351: uint16(193), + 352: uint16(193), + 353: uint16(195), + 354: uint16(195), + 355: uint16(191), + 356: uint16(204), + 357: uint16(202), + 358: uint16(202), + 359: uint16(194), + 360: uint16(194), + 361: uint16(209), + 362: uint16(210), + 363: uint16(211), + 364: uint16(211), + 365: uint16(208), + 366: uint16(208), + 367: uint16(216), + 368: uint16(216), + 369: uint16(216), + 370: uint16(203), + 371: uint16(229), + 372: uint16(229), + 373: uint16(230), + 374: uint16(234), + 375: uint16(236), + 376: uint16(240), + 377: uint16(241), + 378: uint16(256), + 379: uint16(257), + 380: uint16(266), + 381: uint16(274), + 382: uint16(218), + 383: uint16(276), + 384: uint16(280), + 385: uint16(263), + 386: uint16(286), + 387: uint16(286), + 388: uint16(286), + 389: uint16(286), + 390: uint16(286), + 391: uint16(212), + 392: uint16(291), + 393: uint16(291), + 394: uint16(294), + 395: uint16(295), + 396: uint16(296), + 397: uint16(296), + 398: uint16(299), + 399: uint16(299), + 400: uint16(301), + 401: uint16(301), + 402: uint16(302), + 403: uint16(305), + 404: uint16(305), + 405: uint16(305), + 406: uint16(268), + 407: uint16(309), + 408: uint16(311), } // C documentation // // /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number // ** of symbols on the right-hand side of that rule. */ -var _yyRuleInfoNRhs = [405]int8{ +var _yyRuleInfoNRhs = [409]int8{ 0: int8(-int32(1)), 1: int8(-int32(3)), 2: int8(-int32(1)), @@ -159371,273 +160845,277 @@ var _yyRuleInfoNRhs = [405]int8{ 92: int8(-int32(9)), 93: int8(-int32(10)), 94: int8(-int32(4)), - 95: int8(-int32(5)), - 96: int8(-int32(1)), - 97: int8(-int32(1)), - 100: int8(-int32(5)), - 101: int8(-int32(3)), + 95: int8(-int32(1)), + 96: int8(-int32(5)), + 97: int8(-int32(5)), + 98: int8(-int32(1)), + 99: int8(-int32(1)), 102: int8(-int32(5)), - 103: int8(-int32(2)), - 106: int8(-int32(2)), - 107: int8(-int32(2)), - 109: int8(-int32(5)), - 110: int8(-int32(6)), - 111: int8(-int32(8)), + 103: int8(-int32(3)), + 104: int8(-int32(5)), + 105: int8(-int32(2)), + 108: int8(-int32(2)), + 109: int8(-int32(2)), + 111: int8(-int32(5)), 112: int8(-int32(6)), - 113: int8(-int32(6)), - 115: int8(-int32(2)), - 116: int8(-int32(1)), - 117: int8(-int32(3)), + 113: int8(-int32(8)), + 114: int8(-int32(6)), + 115: int8(-int32(6)), + 117: int8(-int32(2)), 118: int8(-int32(1)), 119: int8(-int32(3)), - 120: int8(-int32(5)), + 120: int8(-int32(1)), 121: int8(-int32(3)), - 122: int8(-int32(1)), - 123: int8(-int32(2)), - 124: int8(-int32(3)), - 125: int8(-int32(4)), - 126: int8(-int32(2)), + 122: int8(-int32(5)), + 123: int8(-int32(3)), + 124: int8(-int32(1)), + 125: int8(-int32(2)), + 126: int8(-int32(3)), 127: int8(-int32(4)), - 130: int8(-int32(3)), - 131: int8(-int32(2)), - 133: int8(-int32(3)), - 134: int8(-int32(5)), + 128: int8(-int32(2)), + 129: int8(-int32(4)), + 132: int8(-int32(3)), + 133: int8(-int32(2)), 135: int8(-int32(3)), - 136: int8(-int32(1)), - 137: int8(-int32(1)), - 139: int8(-int32(2)), - 140: int8(-int32(2)), - 143: int8(-int32(3)), - 145: int8(-int32(2)), + 136: int8(-int32(5)), + 137: int8(-int32(3)), + 138: int8(-int32(1)), + 139: int8(-int32(1)), + 141: int8(-int32(2)), + 142: int8(-int32(2)), + 145: int8(-int32(3)), 147: int8(-int32(2)), - 148: int8(-int32(4)), - 149: int8(-int32(4)), - 150: int8(-int32(6)), - 152: int8(-int32(2)), + 149: int8(-int32(2)), + 150: int8(-int32(4)), + 151: int8(-int32(4)), + 152: int8(-int32(6)), 154: int8(-int32(2)), - 155: int8(-int32(2)), - 156: int8(-int32(4)), - 157: int8(-int32(9)), - 158: int8(-int32(5)), - 159: int8(-int32(7)), - 160: int8(-int32(3)), - 161: int8(-int32(5)), - 162: int8(-int32(7)), - 163: int8(-int32(8)), - 165: int8(-int32(2)), - 166: int8(-int32(12)), - 167: int8(-int32(9)), - 168: int8(-int32(5)), - 169: int8(-int32(8)), - 170: int8(-int32(2)), - 171: int8(-int32(2)), - 172: int8(-int32(1)), - 174: int8(-int32(3)), - 175: int8(-int32(3)), - 176: int8(-int32(1)), + 156: int8(-int32(2)), + 157: int8(-int32(2)), + 158: int8(-int32(4)), + 159: int8(-int32(9)), + 160: int8(-int32(5)), + 161: int8(-int32(7)), + 162: int8(-int32(3)), + 163: int8(-int32(5)), + 164: int8(-int32(7)), + 165: int8(-int32(8)), + 167: int8(-int32(2)), + 168: int8(-int32(12)), + 169: int8(-int32(9)), + 170: int8(-int32(5)), + 171: int8(-int32(8)), + 172: int8(-int32(2)), + 173: int8(-int32(2)), + 174: int8(-int32(1)), + 176: int8(-int32(3)), 177: int8(-int32(3)), 178: int8(-int32(1)), 179: int8(-int32(3)), - 180: int8(-int32(5)), - 181: int8(-int32(1)), - 182: int8(-int32(1)), + 180: int8(-int32(1)), + 181: int8(-int32(3)), + 182: int8(-int32(5)), 183: int8(-int32(1)), 184: int8(-int32(1)), - 185: int8(-int32(3)), - 186: int8(-int32(6)), - 187: int8(-int32(5)), - 188: int8(-int32(8)), - 189: int8(-int32(4)), - 190: int8(-int32(6)), - 191: int8(-int32(9)), - 192: int8(-int32(5)), - 193: int8(-int32(1)), + 185: int8(-int32(1)), + 186: int8(-int32(1)), + 187: int8(-int32(3)), + 188: int8(-int32(6)), + 189: int8(-int32(5)), + 190: int8(-int32(8)), + 191: int8(-int32(4)), + 192: int8(-int32(6)), + 193: int8(-int32(9)), 194: int8(-int32(5)), - 195: int8(-int32(3)), - 196: int8(-int32(3)), + 195: int8(-int32(1)), + 196: int8(-int32(5)), 197: int8(-int32(3)), 198: int8(-int32(3)), 199: int8(-int32(3)), 200: int8(-int32(3)), 201: int8(-int32(3)), 202: int8(-int32(3)), - 203: int8(-int32(2)), + 203: int8(-int32(3)), 204: int8(-int32(3)), - 205: int8(-int32(5)), - 206: int8(-int32(2)), - 207: int8(-int32(3)), - 208: int8(-int32(3)), - 209: int8(-int32(4)), - 210: int8(-int32(6)), - 211: int8(-int32(5)), - 212: int8(-int32(2)), - 213: int8(-int32(2)), + 205: int8(-int32(2)), + 206: int8(-int32(3)), + 207: int8(-int32(5)), + 208: int8(-int32(2)), + 209: int8(-int32(3)), + 210: int8(-int32(3)), + 211: int8(-int32(4)), + 212: int8(-int32(6)), + 213: int8(-int32(5)), 214: int8(-int32(2)), - 215: int8(-int32(3)), - 216: int8(-int32(1)), - 217: int8(-int32(2)), - 218: int8(-int32(5)), - 219: int8(-int32(1)), - 220: int8(-int32(2)), - 221: int8(-int32(5)), - 222: int8(-int32(3)), + 215: int8(-int32(2)), + 216: int8(-int32(2)), + 217: int8(-int32(3)), + 218: int8(-int32(1)), + 219: int8(-int32(2)), + 220: int8(-int32(5)), + 221: int8(-int32(1)), + 222: int8(-int32(2)), 223: int8(-int32(5)), - 224: int8(-int32(5)), - 225: int8(-int32(4)), + 224: int8(-int32(3)), + 225: int8(-int32(5)), 226: int8(-int32(5)), - 227: int8(-int32(5)), - 228: int8(-int32(4)), - 229: int8(-int32(2)), - 233: int8(-int32(3)), - 234: int8(-int32(1)), - 236: int8(-int32(3)), - 237: int8(-int32(12)), - 238: int8(-int32(1)), - 241: int8(-int32(3)), - 242: int8(-int32(5)), + 227: int8(-int32(4)), + 228: int8(-int32(5)), + 229: int8(-int32(5)), + 230: int8(-int32(4)), + 231: int8(-int32(2)), + 235: int8(-int32(3)), + 236: int8(-int32(1)), + 238: int8(-int32(3)), + 239: int8(-int32(12)), + 240: int8(-int32(1)), 243: int8(-int32(3)), - 245: int8(-int32(2)), - 246: int8(-int32(4)), + 244: int8(-int32(5)), + 245: int8(-int32(3)), 247: int8(-int32(2)), - 248: int8(-int32(3)), + 248: int8(-int32(4)), 249: int8(-int32(2)), - 251: int8(-int32(3)), - 252: int8(-int32(5)), - 253: int8(-int32(6)), + 250: int8(-int32(3)), + 251: int8(-int32(2)), + 253: int8(-int32(3)), 254: int8(-int32(5)), 255: int8(-int32(6)), - 256: int8(-int32(2)), - 257: int8(-int32(2)), - 258: int8(-int32(5)), - 259: int8(-int32(11)), - 260: int8(-int32(1)), - 261: int8(-int32(2)), - 263: int8(-int32(1)), - 264: int8(-int32(1)), - 265: int8(-int32(3)), - 267: int8(-int32(2)), - 268: int8(-int32(3)), + 256: int8(-int32(5)), + 257: int8(-int32(6)), + 258: int8(-int32(2)), + 259: int8(-int32(2)), + 260: int8(-int32(5)), + 261: int8(-int32(11)), + 262: int8(-int32(1)), + 263: int8(-int32(2)), + 265: int8(-int32(1)), + 266: int8(-int32(1)), + 267: int8(-int32(3)), 269: int8(-int32(2)), 270: int8(-int32(3)), - 271: int8(-int32(3)), - 272: int8(-int32(2)), - 273: int8(-int32(9)), - 274: int8(-int32(8)), - 275: int8(-int32(6)), - 276: int8(-int32(3)), - 277: int8(-int32(4)), - 278: int8(-int32(6)), - 279: int8(-int32(1)), - 280: int8(-int32(1)), + 271: int8(-int32(2)), + 272: int8(-int32(3)), + 273: int8(-int32(3)), + 274: int8(-int32(2)), + 275: int8(-int32(9)), + 276: int8(-int32(8)), + 277: int8(-int32(6)), + 278: int8(-int32(3)), + 279: int8(-int32(4)), + 280: int8(-int32(6)), 281: int8(-int32(1)), - 282: int8(-int32(4)), - 283: int8(-int32(6)), - 284: int8(-int32(3)), - 286: int8(-int32(2)), - 287: int8(-int32(1)), - 288: int8(-int32(3)), + 282: int8(-int32(1)), + 283: int8(-int32(1)), + 284: int8(-int32(4)), + 285: int8(-int32(6)), + 286: int8(-int32(3)), + 288: int8(-int32(2)), 289: int8(-int32(1)), 290: int8(-int32(3)), - 291: int8(-int32(6)), - 292: int8(-int32(7)), + 291: int8(-int32(1)), + 292: int8(-int32(3)), 293: int8(-int32(6)), - 294: int8(-int32(1)), - 295: int8(-int32(8)), + 294: int8(-int32(7)), + 295: int8(-int32(6)), 296: int8(-int32(1)), - 297: int8(-int32(4)), - 298: int8(-int32(8)), - 300: int8(-int32(1)), - 301: int8(-int32(3)), + 297: int8(-int32(8)), + 298: int8(-int32(1)), + 299: int8(-int32(4)), + 300: int8(-int32(8)), 302: int8(-int32(1)), - 303: int8(-int32(2)), - 304: int8(-int32(3)), - 305: int8(-int32(1)), - 306: int8(-int32(2)), - 307: int8(-int32(3)), - 308: int8(-int32(6)), - 309: int8(-int32(1)), - 310: int8(-int32(3)), - 311: int8(-int32(3)), - 312: int8(-int32(5)), - 313: int8(-int32(5)), - 314: int8(-int32(6)), - 315: int8(-int32(4)), + 303: int8(-int32(3)), + 304: int8(-int32(1)), + 305: int8(-int32(2)), + 306: int8(-int32(3)), + 307: int8(-int32(1)), + 308: int8(-int32(2)), + 309: int8(-int32(3)), + 310: int8(-int32(6)), + 311: int8(-int32(1)), + 312: int8(-int32(1)), + 313: int8(-int32(3)), + 314: int8(-int32(3)), + 315: int8(-int32(5)), 316: int8(-int32(5)), - 317: int8(-int32(2)), - 319: int8(-int32(3)), - 320: int8(-int32(6)), - 321: int8(-int32(1)), - 322: int8(-int32(1)), - 323: int8(-int32(2)), + 317: int8(-int32(6)), + 318: int8(-int32(4)), + 319: int8(-int32(5)), + 320: int8(-int32(2)), + 322: int8(-int32(3)), + 323: int8(-int32(6)), 324: int8(-int32(1)), - 325: int8(-int32(2)), + 325: int8(-int32(1)), 326: int8(-int32(2)), - 327: int8(-int32(2)), + 327: int8(-int32(1)), + 328: int8(-int32(2)), 329: int8(-int32(2)), 330: int8(-int32(2)), - 331: int8(-int32(2)), - 332: int8(-int32(1)), + 332: int8(-int32(2)), 333: int8(-int32(2)), 334: int8(-int32(2)), 335: int8(-int32(1)), - 336: int8(-int32(1)), - 337: int8(-int32(4)), - 338: int8(-int32(2)), - 339: int8(-int32(5)), - 340: int8(-int32(1)), + 336: int8(-int32(2)), + 337: int8(-int32(2)), + 338: int8(-int32(1)), + 339: int8(-int32(1)), + 340: int8(-int32(4)), 341: int8(-int32(2)), - 342: int8(-int32(1)), + 342: int8(-int32(5)), 343: int8(-int32(1)), - 344: int8(-int32(2)), - 345: int8(-int32(3)), + 344: int8(-int32(1)), + 345: int8(-int32(2)), + 346: int8(-int32(1)), 347: int8(-int32(1)), 348: int8(-int32(2)), - 349: int8(-int32(1)), - 351: int8(-int32(2)), - 352: int8(-int32(1)), - 353: int8(-int32(4)), - 354: int8(-int32(2)), - 355: int8(-int32(1)), + 349: int8(-int32(3)), + 351: int8(-int32(1)), + 352: int8(-int32(2)), + 353: int8(-int32(1)), + 355: int8(-int32(2)), 356: int8(-int32(1)), - 357: int8(-int32(1)), - 358: int8(-int32(1)), + 357: int8(-int32(4)), + 358: int8(-int32(2)), 359: int8(-int32(1)), 360: int8(-int32(1)), - 361: int8(-int32(2)), - 363: int8(-int32(2)), - 364: int8(-int32(4)), + 361: int8(-int32(1)), + 362: int8(-int32(1)), + 363: int8(-int32(1)), + 364: int8(-int32(1)), 365: int8(-int32(2)), - 366: int8(-int32(2)), - 367: int8(-int32(3)), - 368: int8(-int32(1)), - 370: int8(-int32(1)), - 371: int8(-int32(1)), + 367: int8(-int32(2)), + 368: int8(-int32(4)), + 369: int8(-int32(2)), + 370: int8(-int32(2)), + 371: int8(-int32(3)), 372: int8(-int32(1)), - 373: int8(-int32(1)), - 374: int8(-int32(2)), + 374: int8(-int32(1)), 375: int8(-int32(1)), 376: int8(-int32(1)), - 378: int8(-int32(1)), + 377: int8(-int32(1)), + 378: int8(-int32(2)), 379: int8(-int32(1)), 380: int8(-int32(1)), - 381: int8(-int32(1)), 382: int8(-int32(1)), 383: int8(-int32(1)), 384: int8(-int32(1)), 385: int8(-int32(1)), 386: int8(-int32(1)), 387: int8(-int32(1)), - 389: int8(-int32(3)), + 388: int8(-int32(1)), + 389: int8(-int32(1)), 390: int8(-int32(1)), - 392: int8(-int32(1)), - 395: int8(-int32(1)), + 391: int8(-int32(1)), + 393: int8(-int32(3)), + 394: int8(-int32(1)), 396: int8(-int32(1)), - 397: int8(-int32(3)), - 398: int8(-int32(2)), - 400: int8(-int32(4)), - 401: int8(-int32(2)), - 403: int8(-int32(1)), - 404: int8(-int32(1)), + 399: int8(-int32(1)), + 400: int8(-int32(1)), + 401: int8(-int32(3)), + 402: int8(-int32(2)), + 404: int8(-int32(4)), + 405: int8(-int32(2)), + 407: int8(-int32(1)), + 408: int8(-int32(1)), } // C documentation @@ -159655,18 +161133,19 @@ var _yyRuleInfoNRhs = [405]int8{ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken TToken, pParse uintptr) (r uint16) { bp := tls.Alloc(144) defer tls.Free(144) - var bNot, bNot1, nExpr, yygoto, yysize, v344 int32 + var bNot, bNot1, nExpr, yygoto, yysize int32 var n Tu32 - var p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v343, v345, v346, v347, v348 uintptr + var op Tu8 + var p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v347, v348, v349, v350, v351 uintptr var yyact uint16 - var v349 TToken + var v352 TToken var _ /* all at bp+104 */ TToken var _ /* as at bp+72 */ TToken var _ /* dest at bp+16 */ TSelectDest var _ /* t at bp+88 */ TToken var _ /* x at bp+56 */ TToken var _ /* yylhsminor at bp+0 */ TYYMINORTYPE - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v343, v344, v345, v346, v347, v348, v349 /* Amount to pop the stack */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, op, p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v347, v348, v349, v350, v351, v352 /* Amount to pop the stack */ _ = yyLookahead _ = yyLookaheadToken yymsp = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos @@ -159687,7 +161166,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _7 case uint32(7): goto _8 - case uint32(321): + case uint32(324): goto _9 case uint32(9): goto _10 @@ -159715,9 +161194,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _21 case uint32(81): goto _22 - case uint32(98): + case uint32(100): goto _23 - case uint32(244): + case uint32(246): goto _24 case uint32(16): goto _25 @@ -159741,7 +161220,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _34 case uint32(26): goto _35 - case uint32(104): + case uint32(106): goto _36 case uint32(27): goto _37 @@ -159815,17 +161294,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _71 case uint32(61): goto _72 - case uint32(171): + case uint32(173): goto _73 case uint32(80): goto _74 case uint32(63): goto _75 - case uint32(217): + case uint32(219): goto _76 - case uint32(220): + case uint32(222): goto _77 - case uint32(245): + case uint32(247): goto _78 case uint32(64): goto _79 @@ -159847,7 +161326,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _87 case uint32(77): goto _88 - case uint32(172): + case uint32(174): goto _89 case uint32(78): goto _90 @@ -159881,47 +161360,47 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _104 case uint32(95): goto _105 - case uint32(96): - goto _106 case uint32(97): + goto _106 + case uint32(96): goto _107 - case uint32(132): + case uint32(98): goto _108 case uint32(99): goto _109 - case uint32(142): + case uint32(134): goto _110 - case uint32(232): + case uint32(101): goto _111 - case uint32(235): + case uint32(144): goto _112 - case uint32(240): + case uint32(234): goto _113 - case uint32(100): + case uint32(237): goto _114 - case uint32(101): + case uint32(242): goto _115 case uint32(102): goto _116 - case uint32(115): - goto _117 case uint32(103): + goto _117 + case uint32(104): goto _118 - case uint32(256): + case uint32(117): goto _119 - case uint32(257): + case uint32(105): goto _120 - case uint32(108): + case uint32(258): goto _121 - case uint32(105): + case uint32(259): goto _122 - case uint32(106): + case uint32(110): goto _123 case uint32(107): goto _124 - case uint32(109): + case uint32(108): goto _125 - case uint32(110): + case uint32(109): goto _126 case uint32(111): goto _127 @@ -159929,13 +161408,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _128 case uint32(113): goto _129 - case uint32(129): - goto _130 case uint32(114): + goto _130 + case uint32(115): goto _131 - case uint32(116): + case uint32(131): goto _132 - case uint32(117): + case uint32(116): goto _133 case uint32(118): goto _134 @@ -159959,15 +161438,15 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _143 case uint32(128): goto _144 - case uint32(130): + case uint32(129): goto _145 - case uint32(131): + case uint32(130): goto _146 - case uint32(143): + case uint32(132): goto _147 case uint32(133): goto _148 - case uint32(134): + case uint32(145): goto _149 case uint32(135): goto _150 @@ -159975,49 +161454,49 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _151 case uint32(137): goto _152 - case uint32(141): - goto _153 case uint32(138): - goto _154 + goto _153 case uint32(139): + goto _154 + case uint32(143): goto _155 case uint32(140): goto _156 - case uint32(146): + case uint32(141): goto _157 - case uint32(144): + case uint32(142): goto _158 - case uint32(151): + case uint32(148): goto _159 - case uint32(153): + case uint32(146): goto _160 - case uint32(230): + case uint32(153): goto _161 - case uint32(231): + case uint32(155): goto _162 - case uint32(250): + case uint32(232): goto _163 - case uint32(152): + case uint32(233): goto _164 - case uint32(145): + case uint32(252): goto _165 case uint32(154): goto _166 - case uint32(229): + case uint32(147): goto _167 - case uint32(249): + case uint32(156): goto _168 - case uint32(147): + case uint32(231): goto _169 - case uint32(148): + case uint32(251): goto _170 case uint32(149): goto _171 case uint32(150): goto _172 - case uint32(155): + case uint32(151): goto _173 - case uint32(156): + case uint32(152): goto _174 case uint32(157): goto _175 @@ -160047,9 +161526,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _187 case uint32(170): goto _188 - case uint32(173): + case uint32(171): goto _189 - case uint32(174): + case uint32(172): goto _190 case uint32(175): goto _191 @@ -160063,13 +161542,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _195 case uint32(180): goto _196 - case uint32(182): - goto _197 case uint32(181): + goto _197 + case uint32(182): goto _198 - case uint32(183): - goto _199 case uint32(184): + goto _199 + case uint32(183): goto _200 case uint32(185): goto _201 @@ -160093,13 +161572,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _210 case uint32(195): goto _211 - case uint32(197): - goto _212 case uint32(196): + goto _212 + case uint32(197): goto _213 - case uint32(198): - goto _214 case uint32(199): + goto _214 + case uint32(198): goto _215 case uint32(200): goto _216 @@ -160125,23 +161604,23 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _226 case uint32(211): goto _227 - case uint32(213): - goto _228 case uint32(212): + goto _228 + case uint32(213): goto _229 - case uint32(214): - goto _230 case uint32(215): + goto _230 + case uint32(214): goto _231 - case uint32(219): - goto _232 case uint32(216): + goto _232 + case uint32(217): goto _233 - case uint32(218): - goto _234 case uint32(221): + goto _234 + case uint32(218): goto _235 - case uint32(222): + case uint32(220): goto _236 case uint32(223): goto _237 @@ -160155,35 +161634,35 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _241 case uint32(228): goto _242 - case uint32(233): + case uint32(229): goto _243 - case uint32(234): + case uint32(230): goto _244 - case uint32(241): + case uint32(235): goto _245 case uint32(236): goto _246 - case uint32(237): + case uint32(243): goto _247 - case uint32(280): - goto _248 case uint32(238): - goto _249 + goto _248 case uint32(239): + goto _249 + case uint32(282): goto _250 - case uint32(242): + case uint32(240): goto _251 - case uint32(243): + case uint32(241): goto _252 - case uint32(246): + case uint32(244): goto _253 - case uint32(247): + case uint32(245): goto _254 case uint32(248): goto _255 - case uint32(251): + case uint32(249): goto _256 - case uint32(252): + case uint32(250): goto _257 case uint32(253): goto _258 @@ -160191,9 +161670,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _259 case uint32(255): goto _260 - case uint32(258): + case uint32(256): goto _261 - case uint32(259): + case uint32(257): goto _262 case uint32(260): goto _263 @@ -160201,21 +161680,21 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _264 case uint32(262): goto _265 - case uint32(264): - goto _266 case uint32(263): + goto _266 + case uint32(264): goto _267 - case uint32(265): + case uint32(266): goto _268 - case uint32(285): + case uint32(265): goto _269 - case uint32(266): + case uint32(267): goto _270 - case uint32(286): + case uint32(287): goto _271 - case uint32(267): - goto _272 case uint32(268): + goto _272 + case uint32(288): goto _273 case uint32(269): goto _274 @@ -160239,17 +161718,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _283 case uint32(279): goto _284 - case uint32(281): + case uint32(280): goto _285 - case uint32(282): + case uint32(281): goto _286 case uint32(283): goto _287 case uint32(284): goto _288 - case uint32(287): + case uint32(285): goto _289 - case uint32(288): + case uint32(286): goto _290 case uint32(289): goto _291 @@ -160273,19 +161752,19 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _300 case uint32(299): goto _301 - case uint32(301): - goto _302 case uint32(300): + goto _302 + case uint32(301): goto _303 - case uint32(302): + case uint32(303): goto _304 - case uint32(304): + case uint32(302): goto _305 - case uint32(303): + case uint32(304): goto _306 - case uint32(305): - goto _307 case uint32(306): + goto _307 + case uint32(305): goto _308 case uint32(307): goto _309 @@ -160315,31 +161794,31 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _321 case uint32(320): goto _322 - case uint32(324): + case uint32(321): goto _323 case uint32(322): goto _324 - case uint32(325): - goto _325 case uint32(323): - goto _326 + goto _325 case uint32(327): + goto _326 + case uint32(325): goto _327 - case uint32(326): - goto _328 case uint32(328): + goto _328 + case uint32(326): goto _329 - case uint32(329): + case uint32(330): goto _330 - case uint32(331): + case uint32(329): goto _331 - case uint32(330): + case uint32(331): goto _332 case uint32(332): goto _333 - case uint32(333): - goto _334 case uint32(334): + goto _334 + case uint32(333): goto _335 case uint32(335): goto _336 @@ -160351,34 +161830,42 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _339 case uint32(339): goto _340 - default: + case uint32(340): goto _341 + case uint32(341): + goto _342 + case uint32(342): + goto _343 + case uint32(343): + goto _344 + default: + goto _345 } - goto _342 + goto _346 _1: ; /* explain ::= EXPLAIN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(1) } - goto _342 + goto _346 _2: ; /* explain ::= EXPLAIN QUERY PLAN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(2) } - goto _342 + goto _346 _3: ; /* cmdx ::= cmd */ _sqlite3FinishCoding(tls, pParse) - goto _342 + goto _346 _4: ; /* cmd ::= BEGIN transtype trans_opt */ _sqlite3BeginTransaction(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _5: ; /* transtype ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_DEFERRED) - goto _342 + goto _346 _7: ; /* transtype ::= DEFERRED */ _6: @@ -160388,33 +161875,33 @@ _8: _9: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 + goto _346 _11: ; /* cmd ::= COMMIT|END trans_opt */ _10: ; _sqlite3EndTransaction(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor)) - goto _342 + goto _346 _12: ; /* cmd ::= SAVEPOINT nm */ _sqlite3Savepoint(tls, pParse, SAVEPOINT_BEGIN, yymsp+8) - goto _342 + goto _346 _13: ; /* cmd ::= RELEASE savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_RELEASE), yymsp+8) - goto _342 + goto _346 _14: ; /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_ROLLBACK), yymsp+8) - goto _342 + goto _346 _15: ; /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ _sqlite3StartTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), 0, 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _16: ; /* createkw ::= CREATE */ _disableLookaside(tls, pParse) - goto _342 + goto _346 _18: ; /* ifnotexists ::= */ _17: @@ -160432,56 +161919,56 @@ _23: _24: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = 0 - goto _342 + goto _346 _25: ; /* ifnotexists ::= IF NOT EXISTS */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(1) - goto _342 + goto _346 _26: ; /* temp ::= TEMP */ *(*int32)(unsafe.Pointer(yymsp + 8)) = libc.BoolInt32(int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0) - goto _342 + goto _346 _27: ; /* create_table_args ::= LP columnlist conslist_opt RP table_option_set */ _sqlite3EndTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*Tu32)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 + goto _346 _28: ; /* create_table_args ::= AS select */ _sqlite3EndTable(tls, pParse, uintptr(0), uintptr(0), uint32(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _29: ; /* table_option_set ::= */ *(*Tu32)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint32(0) - goto _342 + goto _346 _30: ; /* table_option_set ::= table_option_set COMMA table_option */ *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) | *(*Tu32)(unsafe.Pointer(yymsp + 8)) *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _31: ; /* table_option ::= WITHOUT nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16694, int32(5)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16781, int32(5)) == 0 { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) } else { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23358, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23481, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } - goto _342 + goto _346 _32: ; /* table_option ::= nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16607, int32(6)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16694, int32(6)) == 0 { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(TF_Strict) } else { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23358, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23481, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } *(*Tu32)(unsafe.Pointer(yymsp + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _33: ; /* columnname ::= nm typetoken */ _sqlite3AddColumn(tls, pParse, *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*TToken)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _35: ; /* typetoken ::= */ _34: @@ -160490,52 +161977,52 @@ _36: ; *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 + goto _346 _37: ; /* typetoken ::= typename LP signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) - goto _342 + goto _346 _38: ; /* typetoken ::= typename LP signed COMMA signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))))) - goto _342 + goto _346 _39: ; /* typename ::= typename ID|STRING */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) + uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) - goto _342 + goto _346 _40: ; /* scanpt ::= */ _ = libc.Int32FromInt32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken.Fz - goto _342 + goto _346 _41: ; /* scantok ::= */ _ = libc.Int32FromInt32(0) *(*TToken)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken - goto _342 + goto _346 _43: ; /* ccons ::= CONSTRAINT nm */ _42: ; (*TParse)(unsafe.Pointer(pParse)).FconstraintName = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _44: ; /* ccons ::= DEFAULT scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _45: ; /* ccons ::= DEFAULT LP expr RP */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))+uintptr(1), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _46: ; /* ccons ::= DEFAULT PLUS scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _47: ; /* ccons ::= DEFAULT MINUS scantok term */ p = _sqlite3PExpr(tls, pParse, int32(TK_UMINUS), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) _sqlite3AddDefaultValue(tls, pParse, p, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _48: ; /* ccons ::= DEFAULT scantok ID|INDEXED */ p1 = _tokenExpr(tls, pParse, int32(TK_STRING), *(*TToken)(unsafe.Pointer(yymsp + 8))) @@ -160543,99 +162030,99 @@ _48: _sqlite3ExprIdToTrueFalse(tls, p1) } _sqlite3AddDefaultValue(tls, pParse, p1, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - goto _342 + goto _346 _49: ; /* ccons ::= NOT NULL onconf */ _sqlite3AddNotNull(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _50: ; /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ _sqlite3AddPrimaryKey(tls, pParse, uintptr(0), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _51: ; /* ccons ::= UNIQUE onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _52: ; /* ccons ::= CHECK LP expr RP */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _53: ; /* ccons ::= REFERENCES nm eidlist_opt refargs */ _sqlite3CreateForeignKey(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _54: ; /* ccons ::= defer_subclause */ _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _55: ; /* ccons ::= COLLATE ID|STRING */ _sqlite3AddCollateType(tls, pParse, yymsp+8) - goto _342 + goto _346 _56: ; /* generated ::= LP expr RP */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 + goto _346 _57: ; /* generated ::= LP expr RP ID */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 + goto _346 _58: ; /* autoinc ::= AUTOINCR */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(1) - goto _342 + goto _346 _59: ; /* refargs ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = libc.Int32FromInt32(OE_None) * libc.Int32FromInt32(0x0101) /* EV: R-19803-45884 */ - goto _342 + goto _346 _60: ; /* refargs ::= refargs refarg */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) & ^*(*int32)(unsafe.Pointer(yymsp + 8 + 4)) | *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _61: ; /* refarg ::= MATCH nm */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _62: ; /* refarg ::= ON INSERT refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _63: ; /* refarg ::= ON DELETE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x0000ff) - goto _342 + goto _346 _64: ; /* refarg ::= ON UPDATE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) << int32(8) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x00ff00) - goto _342 + goto _346 _65: ; /* refact ::= SET NULL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetNull) /* EV: R-33326-45252 */ - goto _342 + goto _346 _66: ; /* refact ::= SET DEFAULT */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetDflt) /* EV: R-33326-45252 */ - goto _342 + goto _346 _67: ; /* refact ::= CASCADE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Cascade) /* EV: R-33326-45252 */ - goto _342 + goto _346 _68: ; /* refact ::= RESTRICT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Restrict) /* EV: R-33326-45252 */ - goto _342 + goto _346 _69: ; /* refact ::= NO ACTION */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = OE_None /* EV: R-33326-45252 */ - goto _342 + goto _346 _70: ; /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 - goto _342 + goto _346 _72: ; /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ _71: @@ -160643,7 +162130,7 @@ _71: _73: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _75: ; /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ _74: @@ -160655,64 +162142,64 @@ _77: _78: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(1) - goto _342 + goto _346 _79: ; /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 - goto _342 + goto _346 _80: ; /* tconscomma ::= COMMA */ (*TParse)(unsafe.Pointer(pParse)).FconstraintName.Fn = uint32(0) - goto _342 + goto _346 _81: ; /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ _sqlite3AddPrimaryKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), 0) - goto _342 + goto _346 _82: ; /* tcons ::= UNIQUE LP sortlist RP onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _83: ; /* tcons ::= CHECK LP expr RP onconf */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _84: ; /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ _sqlite3CreateForeignKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _86: ; /* onconf ::= */ _85: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(OE_Default) - goto _342 + goto _346 _87: ; /* onconf ::= ON CONFLICT resolvetype */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _88: ; /* resolvetype ::= IGNORE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Ignore) - goto _342 + goto _346 _90: ; /* resolvetype ::= REPLACE */ _89: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Replace) - goto _342 + goto _346 _91: ; /* cmd ::= DROP TABLE ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _92: ; /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ _sqlite3CreateView(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) - goto _342 + goto _346 _93: ; /* cmd ::= DROP VIEW ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), int32(1), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _94: ; /* cmd ::= select */ *(*TSelectDest)(unsafe.Pointer(bp + 16)) = TSelectDest{ @@ -160720,22 +162207,22 @@ _94: } _sqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), bp+16) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _95: ; /* select ::= WITH wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _96: ; /* select ::= WITH RECURSIVE wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _97: ; /* select ::= selectnowith */ p2 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) if p2 != 0 { _parserDoubleLinkSelect(tls, pParse, p2) } - goto _342 + goto _346 _98: ; /* selectnowith ::= selectnowith multiselect_op oneselect */ pRhs = *(*uintptr)(unsafe.Pointer(yymsp + 8)) @@ -160760,21 +162247,21 @@ _98: _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pLhs) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = pRhs - goto _342 + goto _346 _100: ; /* multiselect_op ::= UNION */ _99: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-OP*/ - goto _342 + goto _346 _101: ; /* multiselect_op ::= UNION ALL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_ALL) - goto _342 + goto _346 _102: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _103: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(9))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -160783,116 +162270,111 @@ _103: } else { _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) } - goto _342 + goto _346 _104: ; /* values ::= VALUES LP nexprlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) - goto _342 + goto _346 _105: - ; /* values ::= values COMMA LP nexprlist RP */ - pLeft = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) - pRight = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(libc.Int32FromInt32(SF_Values)|libc.Int32FromInt32(SF_MultiValue)), uintptr(0)) - if pLeft != 0 { - *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) - } - if pRight != 0 { - (*TSelect)(unsafe.Pointer(pRight)).Fop = uint8(TK_ALL) - (*TSelect)(unsafe.Pointer(pRight)).FpPrior = pLeft - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pRight - } else { - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pLeft - } - goto _342 + ; /* oneselect ::= mvalues */ + _sqlite3MultiValuesEnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_107: + ; /* mvalues ::= values COMMA LP nexprlist RP */ _106: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3MultiValues(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_108: ; /* distinct ::= DISTINCT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_Distinct) - goto _342 -_107: + goto _346 +_109: ; /* distinct ::= ALL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_All) - goto _342 -_109: + goto _346 +_111: ; /* sclp ::= */ -_108: - ; _110: ; -_111: - ; _112: ; _113: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 _114: + ; +_115: + ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 +_116: ; /* selcollist ::= sclp scanpt expr scanpt as */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) > uint32(0) { _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+8, int32(1)) } _sqlite3ExprListSetSpan(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_115: + goto _346 +_117: ; /* selcollist ::= sclp scanpt STAR */ p3 = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_ASTERISK), uintptr(0)) _sqlite3ExprSetErrorOffset(tls, p3, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), p3) - goto _342 -_116: + goto _346 +_118: ; /* selcollist ::= sclp scanpt nm DOT STAR */ - pRight1 = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) - _sqlite3ExprSetErrorOffset(tls, pRight1, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) - pLeft1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft1, pRight1) + pRight = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) + _sqlite3ExprSetErrorOffset(tls, pRight, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) + pLeft = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) + pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft, pRight) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pDot) - goto _342 -_118: + goto _346 +_120: ; /* as ::= AS nm */ -_117: - ; _119: ; -_120: +_121: ; - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 _122: + ; + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) + goto _346 +_124: ; /* from ::= */ -_121: +_123: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_123: + goto _346 +_125: ; /* from ::= FROM seltablist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) _sqlite3SrcListShiftJoinType(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_124: + goto _346 +_126: ; /* stl_prefix ::= seltablist joinop */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 && (*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc > 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8 + uintptr((*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc-int32(1))*104))).Ffg.Fjointype = uint8(*(*int32)(unsafe.Pointer(yymsp + 8))) } - goto _342 -_125: + goto _346 +_127: ; /* seltablist ::= stl_prefix nm dbnm as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) - goto _342 -_126: + goto _346 +_128: ; /* seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_127: + goto _346 +_129: ; /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListFuncArgs(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) - goto _342 -_128: + goto _346 +_130: ; /* seltablist ::= stl_prefix LP select RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_129: + goto _346 +_131: ; /* seltablist ::= stl_prefix LP seltablist RP as on_using */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) == uintptr(0) && *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) == uint32(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8)) == uintptr(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) @@ -160914,9 +162396,9 @@ _129: libc.SetBitFieldPtr16Uint32(pOld+60+4, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pNew+60+4, libc.Uint32FromInt32(1), 2, 0x4) } - v343 = libc.UintptrFromInt32(0) - (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v343 - (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v343 + v347 = libc.UintptrFromInt32(0) + (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v347 + (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v347 (*TSrcItem)(unsafe.Pointer(pOld)).FpSelect = uintptr(0) } _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) @@ -160926,189 +162408,189 @@ _129: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, pSubquery, yymsp+8) } } - goto _342 -_131: + goto _346 +_133: ; /* dbnm ::= */ -_130: +_132: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) - goto _342 -_132: + goto _346 +_134: ; /* fullname ::= nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_133: + goto _346 +_135: ; /* fullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_134: + goto _346 +_136: ; /* xfullname ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) /*A-overwrites-X*/ - goto _342 -_135: + goto _346 +_137: ; /* xfullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) /*A-overwrites-X*/ - goto _342 -_136: + goto _346 +_138: ; /* xfullname ::= nm DOT nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_137: + goto _346 +_139: ; /* xfullname ::= nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0)) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_138: + goto _346 +_140: ; /* joinop ::= COMMA|JOIN */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(JT_INNER) - goto _342 -_139: + goto _346 +_141: ; /* joinop ::= JOIN_KW JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), uintptr(0)) /*X-overwrites-A*/ - goto _342 -_140: + goto _346 +_142: ; /* joinop ::= JOIN_KW nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0)) /*X-overwrites-A*/ - goto _342 -_141: + goto _346 +_143: ; /* joinop ::= JOIN_KW nm nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) /*X-overwrites-A*/ - goto _342 -_142: + goto _346 +_144: ; /* on_using ::= ON expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uintptr(0) - goto _342 -_143: + goto _346 +_145: ; /* on_using ::= USING LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_144: + goto _346 +_146: ; /* on_using ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uintptr(0) - goto _342 -_145: + goto _346 +_147: ; /* indexed_by ::= INDEXED BY nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 -_146: + goto _346 +_148: ; /* indexed_by ::= NOT INDEXED */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(1) - goto _342 -_148: + goto _346 +_150: ; /* orderby_opt ::= ORDER BY sortlist */ -_147: +_149: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_149: + goto _346 +_151: ; /* sortlist ::= sortlist COMMA expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_150: + goto _346 +_152: ; /* sortlist ::= expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) /*A-overwrites-Y*/ _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_151: + goto _346 +_153: ; /* sortorder ::= ASC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = SQLITE_SO_ASC - goto _342 -_152: + goto _346 +_154: ; /* sortorder ::= DESC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_154: + goto _346 +_156: ; /* sortorder ::= */ -_153: +_155: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = -int32(1) - goto _342 -_155: + goto _346 +_157: ; /* nulls ::= NULLS FIRST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = SQLITE_SO_ASC - goto _342 -_156: + goto _346 +_158: ; /* nulls ::= NULLS LAST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_158: + goto _346 +_160: ; /* having_opt ::= */ -_157: - ; _159: ; -_160: - ; _161: ; _162: ; _163: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_165: - ; /* having_opt ::= HAVING expr */ _164: ; -_166: +_165: ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 _167: + ; /* having_opt ::= HAVING expr */ +_166: ; _168: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 _169: + ; +_170: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + goto _346 +_171: ; /* limit_opt ::= LIMIT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 -_170: + goto _346 +_172: ; /* limit_opt ::= LIMIT expr OFFSET expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_171: + goto _346 +_173: ; /* limit_opt ::= LIMIT expr COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 -_172: + goto _346 +_174: ; /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) _sqlite3DeleteFrom(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0)) - goto _342 -_173: + goto _346 +_175: ; /* where_opt_ret ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) - goto _342 -_174: + goto _346 +_176: ; /* where_opt_ret ::= WHERE expr RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) - goto _342 -_175: + goto _346 +_177: ; /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) - _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23385) + _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23508) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { pFromClause = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) if (*TSrcList)(unsafe.Pointer(pFromClause)).FnSrc > int32(1) { @@ -161120,95 +162602,95 @@ _175: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), pFromClause) } _sqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_176: + goto _346 +_178: ; /* setlist ::= setlist COMMA nm EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) - goto _342 -_177: + goto _346 +_179: ; /* setlist ::= setlist COMMA LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_178: + goto _346 +_180: ; /* setlist ::= nm EQ expr */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_179: + goto _346 +_181: ; /* setlist ::= LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_180: + goto _346 +_182: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_181: + goto _346 +_183: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0)) - goto _342 -_182: + goto _346 +_184: ; /* upsert ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_183: + goto _346 +_185: ; /* upsert ::= RETURNING selcollist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_184: + goto _346 +_186: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(11))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_185: + goto _346 +_187: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_186: + goto _346 +_188: ; /* upsert ::= ON CONFLICT DO NOTHING returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_187: + goto _346 +_189: ; /* upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_188: + goto _346 +_190: ; /* returning ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_189: + goto _346 +_191: ; /* idlist_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_190: + goto _346 +_192: ; /* idlist_opt ::= LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_191: + goto _346 +_193: ; /* idlist ::= idlist COMMA nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3IdListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 -_192: + goto _346 +_194: ; /* idlist ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3IdListAppend(tls, pParse, uintptr(0), yymsp+8) /*A-overwrites-Y*/ - goto _342 -_193: + goto _346 +_195: ; /* expr ::= LP expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_194: + goto _346 +_196: ; /* expr ::= ID|INDEXED|JOIN_KW */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_195: + goto _346 +_197: ; /* expr ::= nm DOT nm */ temp1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) temp2 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp1, temp2) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_196: + goto _346 +_198: ; /* expr ::= nm DOT nm DOT nm */ temp11 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) temp21 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) @@ -161219,22 +162701,22 @@ _196: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp11, temp4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_198: + goto _346 +_200: ; /* term ::= NULL|FLOAT|BLOB */ -_197: +_199: ; *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_199: + goto _346 +_201: ; /* term ::= INTEGER */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), yymsp+8, int32(1)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 52)) = int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8))) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_200: + goto _346 +_202: ; /* expr ::= VARIABLE */ if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8))))) == int32('#') && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)) + 1))])&int32(0x04) != 0) { n = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) @@ -161247,7 +162729,7 @@ _200: *(*TToken)(unsafe.Pointer(bp + 88)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) /*A-overwrites-X*/ _ = libc.Int32FromInt32(0) if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23394, libc.VaList(bp+128, bp+88)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23517, libc.VaList(bp+128, bp+88)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_REGISTER), uintptr(0), uintptr(0)) @@ -161256,57 +162738,57 @@ _200: } } } - goto _342 -_201: + goto _346 +_203: ; /* expr ::= expr COLLATE ID|STRING */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAddCollateToken(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8, int32(1)) - goto _342 -_202: + goto _346 +_204: ; /* expr ::= CAST LP expr AS typetoken RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_CAST), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) _sqlite3ExprAttachSubtrees(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) - goto _342 -_203: + goto _346 +_205: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_204: + goto _346 +_206: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_205: + goto _346 +_207: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_206: + goto _346 +_208: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_207: + goto _346 +_209: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_208: + goto _346 +_210: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, 0) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_209: + goto _346 +_211: ; /* term ::= CTIME_KW */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_210: + goto _346 +_212: ; /* expr ::= LP nexprlist COMMA expr RP */ pList = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_VECTOR), uintptr(0), uintptr(0)) @@ -161318,33 +162800,33 @@ _210: } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pList) } - goto _342 -_211: + goto _346 +_213: ; /* expr ::= expr AND expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_213: + goto _346 +_215: ; /* expr ::= expr OR expr */ -_212: - ; _214: ; -_215: - ; _216: ; _217: ; _218: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 _219: + ; +_220: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_221: ; /* likeop ::= NOT LIKE_KW|MATCH */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) |= uint32(0x80000000) /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/ - goto _342 -_220: + goto _346 +_222: ; /* expr ::= expr likeop expr */ bNot = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -161357,8 +162839,8 @@ _220: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_221: + goto _346 +_223: ; /* expr ::= expr likeop expr ESCAPE expr */ bNot1 = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -161372,65 +162854,69 @@ _221: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_222: + goto _346 +_224: ; /* expr ::= expr ISNULL|NOTNULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_223: + goto _346 +_225: ; /* expr ::= expr NOT NULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOTNULL), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uintptr(0)) - goto _342 -_224: + goto _346 +_226: ; /* expr ::= expr IS expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_225: + goto _346 +_227: ; /* expr ::= expr IS NOT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_226: + goto _346 +_228: ; /* expr ::= expr IS NOT DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_227: + goto _346 +_229: ; /* expr ::= expr IS DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_229: + goto _346 +_231: ; /* expr ::= NOT expr */ -_228: +_230: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) /*A-overwrites-B*/ - goto _342 -_230: + goto _346 +_232: ; /* expr ::= PLUS|MINUS expr */ - if int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) == int32(TK_PLUS) { - v344 = int32(TK_UPLUS) + p4 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + op = uint8(int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) + (libc.Int32FromInt32(TK_UPLUS) - libc.Int32FromInt32(TK_PLUS))) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if p4 != 0 && int32((*TExpr)(unsafe.Pointer(p4)).Fop) == int32(TK_UPLUS) { + (*TExpr)(unsafe.Pointer(p4)).Fop = op + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = p4 } else { - v344 = int32(TK_UMINUS) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(op), p4, uintptr(0)) + /*A-overwrites-B*/ } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, v344, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - /*A-overwrites-B*/ - goto _342 -_231: + goto _346 +_233: ; /* expr ::= expr PTR expr */ pList3 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList3 = _sqlite3ExprListAppend(tls, pParse, pList3, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, pList3, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_233: + goto _346 +_235: ; /* between_op ::= BETWEEN */ -_232: +_234: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = 0 - goto _342 -_234: + goto _346 +_236: ; /* expr ::= expr between_op expr AND expr */ pList4 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList4 = _sqlite3ExprListAppend(tls, pParse, pList4, *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -161443,8 +162929,8 @@ _234: if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_235: + goto _346 +_237: ; /* expr ::= expr in_op LP exprlist RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) == uintptr(0) { /* Expressions of the form @@ -161457,17 +162943,17 @@ _235: */ _sqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { - v345 = __ccgo_ts + 7886 + v348 = __ccgo_ts + 8011 } else { - v345 = __ccgo_ts + 7891 + v348 = __ccgo_ts + 8016 } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v345) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v348) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { _sqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } } else { pRHS = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr - if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { + if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pParse, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr = uintptr(0) _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) pRHS = _sqlite3PExpr(tls, pParse, int32(TK_UPLUS), pRHS, uintptr(0)) @@ -161501,463 +162987,467 @@ _235: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } } - goto _342 -_236: + goto _346 +_238: ; /* expr ::= LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_SELECT), uintptr(0), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_237: + goto _346 +_239: ; /* expr ::= expr in_op LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_238: + goto _346 +_240: ; /* expr ::= expr in_op nm dbnm paren_exprlist */ pSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) pSelect = _sqlite3SelectNew(tls, pParse, uintptr(0), pSrc, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { if pSelect != 0 { - v346 = pSrc + v349 = pSrc } else { - v346 = uintptr(0) + v349 = uintptr(0) } - _sqlite3SrcListFuncArgs(tls, pParse, v346, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + _sqlite3SrcListFuncArgs(tls, pParse, v349, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pSelect) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_239: + goto _346 +_241: ; /* expr ::= EXISTS LP select RP */ - v347 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v347 - p4 = v347 - _sqlite3PExprAddSelect(tls, pParse, p4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_240: + v350 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v350 + p5 = v350 + _sqlite3PExprAddSelect(tls, pParse, p5, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_242: ; /* expr ::= CASE case_operand case_exprlist case_else END */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_CASE), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { - v348 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + v351 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } else { - v348 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + v351 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) } - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v348 + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v351 _sqlite3ExprSetHeightAndFlags(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } - goto _342 -_241: + goto _346 +_243: ; /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_242: + goto _346 +_244: ; /* case_exprlist ::= WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_243: + goto _346 +_245: ; /* nexprlist ::= nexprlist COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_244: + goto _346 +_246: ; /* nexprlist ::= expr */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_246: + goto _346 +_248: ; /* paren_exprlist ::= LP exprlist RP */ -_245: +_247: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_247: + goto _346 +_249: ; /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ _sqlite3CreateIndex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, uintptr(0)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(11))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8)), SQLITE_SO_ASC, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), uint8(SQLITE_IDXTYPE_APPDEF)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && (*TParse)(unsafe.Pointer(pParse)).FpNewIndex != 0 { _sqlite3RenameTokenMap(tls, pParse, (*TIndex)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpNewIndex)).FzName, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) } - goto _342 -_249: + goto _346 +_251: ; /* uniqueflag ::= UNIQUE */ -_248: +_250: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Abort) - goto _342 -_250: + goto _346 +_252: ; /* uniqueflag ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = OE_None - goto _342 -_251: + goto _346 +_253: ; /* eidlist ::= eidlist COMMA nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_252: + goto _346 +_254: ; /* eidlist ::= nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_253: + goto _346 +_255: ; /* cmd ::= DROP INDEX ifexists fullname */ _sqlite3DropIndex(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_254: + goto _346 +_256: ; /* cmd ::= VACUUM vinto */ _sqlite3Vacuum(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_255: + goto _346 +_257: ; /* cmd ::= VACUUM nm vinto */ _sqlite3Vacuum(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_256: + goto _346 +_258: ; /* cmd ::= PRAGMA nm dbnm */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, uintptr(0), 0) - goto _342 -_257: + goto _346 +_259: ; /* cmd ::= PRAGMA nm dbnm EQ nmnum */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, 0) - goto _342 -_258: + goto _346 +_260: ; /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) - goto _342 -_259: + goto _346 +_261: ; /* cmd ::= PRAGMA nm dbnm EQ minus_num */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, int32(1)) - goto _342 -_260: + goto _346 +_262: ; /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) - goto _342 -_261: + goto _346 +_263: ; /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ (*(*TToken)(unsafe.Pointer(bp + 104))).Fz = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) (*(*TToken)(unsafe.Pointer(bp + 104))).Fn = uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) + *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) _sqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), bp+104) - goto _342 -_262: + goto _346 +_264: ; /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ _sqlite3BeginTrigger(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8 + 8)) == uint32(0) { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) } else { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) } - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v349 /*A-overwrites-T*/ - goto _342 -_263: + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v352 /*A-overwrites-T*/ + goto _346 +_265: ; /* trigger_time ::= BEFORE|AFTER */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_264: + goto _346 +_266: ; /* trigger_time ::= INSTEAD OF */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_INSTEAD) - goto _342 -_265: + goto _346 +_267: ; /* trigger_time ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_BEFORE) - goto _342 -_267: + goto _346 +_269: ; /* trigger_event ::= DELETE|INSERT */ -_266: +_268: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) = uintptr(0) - goto _342 -_268: + goto _346 +_270: ; /* trigger_event ::= UPDATE OF idlist */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(TK_UPDATE) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_270: + goto _346 +_272: ; /* when_clause ::= */ -_269: +_271: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_272: + goto _346 +_274: ; /* when_clause ::= WHEN expr */ -_271: +_273: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_273: + goto _346 +_275: ; /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ _ = libc.Int32FromInt32(0) (*TTriggerStep)(unsafe.Pointer((*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast)).FpNext = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_274: + goto _346 +_276: ; /* trigger_cmd_list ::= trigger_cmd SEMI */ _ = libc.Int32FromInt32(0) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_275: + goto _346 +_277: ; /* trnm ::= nm DOT nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23418, 0) - goto _342 -_276: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23541, 0) + goto _346 +_278: ; /* tridxby ::= INDEXED BY nm */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23513, 0) - goto _342 -_277: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23636, 0) + goto _346 +_279: ; /* tridxby ::= NOT INDEXED */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23597, 0) - goto _342 -_278: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23720, 0) + goto _346 +_280: ; /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerUpdateStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_279: + goto _346 +_281: ; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-6].minor.yy394*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_280: + goto _346 +_282: ; /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerDeleteStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_281: + goto _346 +_283: ; /* trigger_cmd ::= scanpt select scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-1].minor.yy47*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-1].minor.yy555*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_282: + goto _346 +_284: ; /* expr ::= RAISE LP IGNORE RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_RAISE), uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)))).FaffExpr = uint8(OE_Ignore) } - goto _342 -_283: + goto _346 +_285: ; /* expr ::= RAISE LP raisetype COMMA nm RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_RAISE), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)))).FaffExpr = uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) } - goto _342 -_284: + goto _346 +_286: ; /* raisetype ::= ROLLBACK */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Rollback) - goto _342 -_285: + goto _346 +_287: ; /* raisetype ::= FAIL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Fail) - goto _342 -_286: + goto _346 +_288: ; /* cmd ::= DROP TRIGGER ifexists fullname */ _sqlite3DropTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_287: + goto _346 +_289: ; /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ _sqlite3Attach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_288: + goto _346 +_290: ; /* cmd ::= DETACH database_kw_opt expr */ _sqlite3Detach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_289: + goto _346 +_291: ; /* cmd ::= REINDEX */ _sqlite3Reindex(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_290: + goto _346 +_292: ; /* cmd ::= REINDEX nm dbnm */ _sqlite3Reindex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_291: + goto _346 +_293: ; /* cmd ::= ANALYZE */ _sqlite3Analyze(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_292: + goto _346 +_294: ; /* cmd ::= ANALYZE nm dbnm */ _sqlite3Analyze(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_293: + goto _346 +_295: ; /* cmd ::= ALTER TABLE fullname RENAME TO nm */ _sqlite3AlterRenameTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_294: + goto _346 +_296: ; /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(int32(int64((*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fz)-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) + (*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fn _sqlite3AlterFinishAddColumn(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_295: + goto _346 +_297: ; /* cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ _sqlite3AlterDropColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_296: + goto _346 +_298: ; /* add_column_fullname ::= fullname */ _disableLookaside(tls, pParse) _sqlite3AlterBeginAddColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_297: + goto _346 +_299: ; /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ _sqlite3AlterRenameColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) - goto _342 -_298: + goto _346 +_300: ; /* cmd ::= create_vtab */ _sqlite3VtabFinishParse(tls, pParse, uintptr(0)) - goto _342 -_299: + goto _346 +_301: ; /* cmd ::= create_vtab LP vtabarglist RP */ _sqlite3VtabFinishParse(tls, pParse, yymsp+8) - goto _342 -_300: + goto _346 +_302: ; /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ _sqlite3VtabBeginParse(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) - goto _342 -_301: + goto _346 +_303: ; /* vtabarg ::= */ _sqlite3VtabArgInit(tls, pParse) - goto _342 -_303: + goto _346 +_305: ; /* vtabargtoken ::= ANY */ -_302: - ; _304: ; - _sqlite3VtabArgExtend(tls, pParse, yymsp+8) - goto _342 _306: + ; + _sqlite3VtabArgExtend(tls, pParse, yymsp+8) + goto _346 +_308: ; /* with ::= WITH wqlist */ -_305: +_307: ; _sqlite3WithPush(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint8(1)) - goto _342 -_307: + goto _346 +_309: ; /* wqas ::= AS */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8(M10d_Any) - goto _342 -_308: + goto _346 +_310: ; /* wqas ::= AS MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8(M10d_Yes) - goto _342 -_309: + goto _346 +_311: ; /* wqas ::= AS NOT MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = uint8(M10d_No) - goto _342 -_310: - ; /* wqitem ::= nm eidlist_opt wqas LP select RP */ + goto _346 +_312: + ; /* wqitem ::= withnm eidlist_opt wqas LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) /*A-overwrites-X*/ - goto _342 -_311: + goto _346 +_313: + ; /* withnm ::= nm */ + (*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1) + goto _346 +_314: ; /* wqlist ::= wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_312: + goto _346 +_315: ; /* wqlist ::= wqlist COMMA wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3WithAdd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_313: + goto _346 +_316: ; /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ _ = libc.Int32FromInt32(0) _sqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_314: + goto _346 +_317: ; /* windowdefn ::= nm AS LP window RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)))) } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_315: + goto _346 +_318: ; /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_316: + goto _346 +_319: ; /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_317: + goto _346 +_320: ; /* window ::= ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_318: + goto _346 +_321: ; /* window ::= nm ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_319: + goto _346 +_322: ; /* window ::= nm frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_320: + goto _346 +_323: ; /* frame_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = _sqlite3WindowAlloc(tls, pParse, 0, int32(TK_UNBOUNDED), uintptr(0), int32(TK_CURRENT), uintptr(0), uint8(0)) - goto _342 -_321: + goto _346 +_324: ; /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), int32(TK_CURRENT), uintptr(0), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_322: + goto _346 +_325: ; /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_324: + goto _346 +_327: ; /* frame_bound_s ::= frame_bound */ -_323: +_326: ; *(*TFrameBound)(unsafe.Pointer(bp)) = *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_326: + goto _346 +_329: ; /* frame_bound_s ::= UNBOUNDED PRECEDING */ -_325: +_328: ; -_327: +_330: ; (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = uintptr(0) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_328: + goto _346 +_331: ; /* frame_bound ::= expr PRECEDING|FOLLOWING */ (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_329: + goto _346 +_332: ; /* frame_exclude_opt ::= */ *(*Tu8)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint8(0) - goto _342 -_330: + goto _346 +_333: ; /* frame_exclude_opt ::= EXCLUDE frame_exclude */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*Tu8)(unsafe.Pointer(yymsp + 8)) - goto _342 -_332: + goto _346 +_335: ; /* frame_exclude ::= NO OTHERS */ -_331: +_334: ; *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) /*A-overwrites-X*/ - goto _342 -_333: + goto _346 +_336: ; /* frame_exclude ::= GROUP|TIES */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_334: + goto _346 +_337: ; /* window_clause ::= WINDOW windowdefn_list */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_335: + goto _346 +_338: ; /* filter_over ::= filter_clause over_clause */ if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) @@ -161966,13 +163456,13 @@ _335: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_336: + goto _346 +_339: ; /* filter_over ::= over_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_337: + goto _346 +_340: ; /* filter_over ::= filter_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { @@ -161982,24 +163472,30 @@ _337: _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_338: + goto _346 +_341: ; /* over_clause ::= OVER LP window RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) _ = libc.Int32FromInt32(0) - goto _342 -_339: + goto _346 +_342: ; /* over_clause ::= OVER nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) } - goto _342 -_340: + goto _346 +_343: ; /* filter_clause ::= FILTER LP WHERE expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_341: + goto _346 +_344: + ; /* term ::= QNUMBER */ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) + _sqlite3DequoteNumber(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))) + *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + goto _346 +_345: ; _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -162016,9 +163512,9 @@ _341: _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - goto _342 + goto _346 /********** End reduce actions ************************************************/ -_342: +_346: ; _ = libc.Int32FromInt32(0) yygoto = int32(_yyRuleInfoLhs[yyruleno]) @@ -162055,9 +163551,9 @@ func _yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, _yyminor /************ Begin %syntax_error code ****************************************/ _ = yymajor /* Silence some compiler warnings */ if *(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp))).Fz)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23394, libc.VaList(bp+24, bp)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23517, libc.VaList(bp+24, bp)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23682, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23805, 0) } /************ End %syntax_error code ******************************************/ /* Suppress warning about unused %extra_argument variable */ @@ -162126,8 +163622,10 @@ func _sqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor TToken) { ** enough on the stack to push the LHS value */ if int32(_yyRuleInfoNRhs[yyruleno]) == 0 { if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos >= (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - _yyStackOverflow(tls, yypParser) - break + if _yyGrowStack(tls, yypParser) != 0 { + _yyStackOverflow(tls, yypParser) + break + } } } yyact = _yy_reduce(tls, yypParser, yyruleno, yymajor, yyminor, pParse) @@ -164279,9 +165777,9 @@ func _analyzeFilterKeyword(tls *libc.TLS, _z uintptr, lastToken int32) (r int32) // ** Store the token type in *tokenType before returning. // */ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { - var c, delim, i, n, v10, v14, v16, v19, v20, v3, v5, v7, v8 int32 - var v15, v6 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v14, v15, v16, v19, v20, v3, v5, v6, v7, v8 + var c, delim, i, n, v10, v16, v18, v21, v22, v3, v5, v7, v8 int32 + var v17, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v16, v17, v18, v21, v22, v3, v5, v6, v7, v8 switch int32(_aiClass[*(*uint8)(unsafe.Pointer(z))]) { /* Switch on the character-class of the first byte ** of the token. See the comment on the CC_ defines ** above. */ @@ -164477,39 +165975,83 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('X')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 2))])&int32(0x08) != 0 { i = int32(3) for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { + if !(int32(1) != 0) { break } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } goto _11 _11: ; i++ } - return i - } - i = 0 - for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _12 - _12: - ; - i++ - } - if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { - i++ - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + } else { + i = 0 + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _12 + _12: + ; i++ } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) - } - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { - i += int32(2) - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } i++ + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _13 + _13: + ; + i++ + } + } + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } + i += int32(2) + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _14 + _14: + ; + i++ + } } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) } for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x46) != 0 { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_ILLEGAL) @@ -164520,24 +166062,24 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { i = int32(1) c = int32(*(*uint8)(unsafe.Pointer(z))) for { - if v15 = c != int32(']'); v15 { - v14 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v14 + if v17 = c != int32(']'); v17 { + v16 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v16 } - if !(v15 && v14 != 0) { + if !(v17 && v16 != 0) { break } - goto _13 - _13: + goto _15 + _15: ; i++ } if c == int32(']') { - v16 = int32(TK_ID) + v18 = int32(TK_ID) } else { - v16 = int32(TK_ILLEGAL) + v18 = int32(TK_ILLEGAL) } - *(*int32)(unsafe.Pointer(tokenType)) = v16 + *(*int32)(unsafe.Pointer(tokenType)) = v18 return i case int32(CC_VARNUM): *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) @@ -164546,8 +166088,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { break } - goto _17 - _17: + goto _19 + _19: ; i++ } @@ -164559,9 +166101,9 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) i = int32(1) for { - v19 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v19 - if !(v19 != 0) { + v21 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v21 + if !(v21 != 0) { break } if int32(_sqlite3CtypeMap[uint8(c)])&int32(0x46) != 0 { @@ -164570,12 +166112,12 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if c == int32('(') && n > 0 { for { i++ - goto _21 - _21: + goto _23 + _23: ; - v20 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v20 - if !(v20 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { + v22 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v22 + if !(v22 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { break } } @@ -164593,8 +166135,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { } } } - goto _18 - _18: + goto _20 + _20: ; i++ } @@ -164612,8 +166154,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_aiClass[*(*uint8)(unsafe.Pointer(z + uintptr(i)))]) <= int32(CC_KYWD)) { break } - goto _22 - _22: + goto _24 + _24: ; i++ } @@ -164634,8 +166176,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { break } - goto _23 - _23: + goto _25 + _25: ; i++ } @@ -164687,7 +166229,7 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { var lastTokenParsed, mxSqlLen, n, nErr int32 var _ /* sEngine at bp+8 */ TyyParser var _ /* tokenType at bp+0 */ int32 - var _ /* x at bp+2432 */ TToken + var _ /* x at bp+2440 */ TToken _, _, _, _, _, _, _ = db, lastTokenParsed, mxSqlLen, n, nErr, pEngine, pParentParse nErr = 0 /* The LEMON-generated LALR(1) parser */ n = 0 /* type of the next token */ @@ -164754,10 +166296,12 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(bp)) = _analyzeFilterKeyword(tls, zSql+6, lastTokenParsed) } else { - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fz = zSql - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fn = uint32(n) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23699, libc.VaList(bp+2456, bp+2432)) - break + if *(*int32)(unsafe.Pointer(bp)) != int32(TK_QNUMBER) { + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fz = zSql + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fn = uint32(n) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23822, libc.VaList(bp+2464, bp+2440)) + break + } } } } @@ -164780,9 +166324,9 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { } if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg != 0 || (*TParse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK && (*TParse)(unsafe.Pointer(pParse)).Frc != int32(SQLITE_DONE) { if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) { - (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3795, libc.VaList(bp+2456, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) + (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3859, libc.VaList(bp+2464, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) } - Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23724, libc.VaList(bp+2456, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) + Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23847, libc.VaList(bp+2464, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) nErr++ } (*TParse)(unsafe.Pointer(pParse)).FzTail = zSql @@ -164975,7 +166519,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('c'): fallthrough case int32('C'): - if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23735, int32(6)) == 0 { + if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23858, int32(6)) == 0 { token = uint8(tkCREATE) } else { token = uint8(tkOTHER) @@ -164983,13 +166527,13 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('t'): fallthrough case int32('T'): - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20379, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20511, int32(7)) == 0 { token = uint8(tkTRIGGER) } else { - if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23742, int32(4)) == 0 { + if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23865, int32(4)) == 0 { token = uint8(tkTEMP) } else { - if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23747, int32(9)) == 0 { + if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23870, int32(9)) == 0 { token = uint8(tkTEMP) } else { token = uint8(tkOTHER) @@ -164999,10 +166543,10 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('e'): fallthrough case int32('E'): - if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23757, int32(3)) == 0 { + if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23880, int32(3)) == 0 { token = uint8(tkEND) } else { - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23761, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23884, int32(7)) == 0 { token = uint8(tkEXPLAIN) } else { token = uint8(tkOTHER) @@ -165444,7 +166988,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) { */ if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 { if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)<= 0 && rc < int32(libc.Uint64FromInt64(232)/libc.Uint64FromInt64(8)) && _aMsg[rc] != uintptr(0) { @@ -166594,31 +168138,31 @@ func _sqlite3ErrStr(tls *libc.TLS, rc int32) (r uintptr) { } var _aMsg = [29]uintptr{ - 0: __ccgo_ts + 23837, - 1: __ccgo_ts + 23850, - 3: __ccgo_ts + 23866, - 4: __ccgo_ts + 23891, - 5: __ccgo_ts + 23905, - 6: __ccgo_ts + 23924, - 7: __ccgo_ts + 1618, - 8: __ccgo_ts + 23949, - 9: __ccgo_ts + 23986, - 10: __ccgo_ts + 23998, - 11: __ccgo_ts + 24013, - 12: __ccgo_ts + 24046, - 13: __ccgo_ts + 24064, - 14: __ccgo_ts + 24089, - 15: __ccgo_ts + 24118, - 17: __ccgo_ts + 6021, - 18: __ccgo_ts + 5423, - 19: __ccgo_ts + 24135, - 20: __ccgo_ts + 24153, - 21: __ccgo_ts + 24171, - 23: __ccgo_ts + 24205, - 25: __ccgo_ts + 24226, - 26: __ccgo_ts + 24252, - 27: __ccgo_ts + 24275, - 28: __ccgo_ts + 24296, + 0: __ccgo_ts + 23960, + 1: __ccgo_ts + 23973, + 3: __ccgo_ts + 23989, + 4: __ccgo_ts + 24014, + 5: __ccgo_ts + 24028, + 6: __ccgo_ts + 24047, + 7: __ccgo_ts + 1632, + 8: __ccgo_ts + 24072, + 9: __ccgo_ts + 24109, + 10: __ccgo_ts + 24121, + 11: __ccgo_ts + 24136, + 12: __ccgo_ts + 24169, + 13: __ccgo_ts + 24187, + 14: __ccgo_ts + 24212, + 15: __ccgo_ts + 24241, + 17: __ccgo_ts + 6085, + 18: __ccgo_ts + 5487, + 19: __ccgo_ts + 24258, + 20: __ccgo_ts + 24276, + 21: __ccgo_ts + 24294, + 23: __ccgo_ts + 24328, + 25: __ccgo_ts + 24349, + 26: __ccgo_ts + 24375, + 27: __ccgo_ts + 24398, + 28: __ccgo_ts + 24419, } // C documentation @@ -166800,7 +168344,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) { - return _sqlite3MisuseError(tls, int32(180244)) + return _sqlite3MisuseError(tls, int32(181689)) } _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -166846,7 +168390,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i p = _sqlite3FindFunction(tls, db, zFunctionName, nArg, uint8(enc), uint8(0)) if p != 0 && (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) == uint32(enc) && int32((*TFuncDef)(unsafe.Pointer(p)).FnArg) == nArg { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24393, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24516, 0) _ = libc.Int32FromInt32(0) return int32(SQLITE_BUSY) } else { @@ -166976,7 +168520,7 @@ func _sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotU zName = Xsqlite3_user_data(tls, context) _ = NotUsed _ = NotUsed2 - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24456, libc.VaList(bp+8, zName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24579, libc.VaList(bp+8, zName)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -167007,7 +168551,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i if rc != 0 { return SQLITE_OK } - zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, zName)) + zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, zName)) if zCopy == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -167255,7 +168799,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) { /* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint ** mode: */ - return _sqlite3MisuseError(tls, int32(180859)) + return _sqlite3MisuseError(tls, int32(182304)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if zDb != 0 && *(*uint8)(unsafe.Pointer(zDb)) != 0 { @@ -167265,7 +168809,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in } if iDb < 0 { rc = int32(SQLITE_ERROR) - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24507, libc.VaList(bp+8, zDb)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24630, libc.VaList(bp+8, zDb)) } else { (*Tsqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = _sqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -167390,7 +168934,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) { return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM)) } if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(180995))) + return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(182440))) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -167523,7 +169067,7 @@ var _misuse = [34]Tu16{ // */ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181074)) + return _sqlite3MisuseError(tls, int32(182519)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -167533,7 +169077,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181083)) + return _sqlite3MisuseError(tls, int32(182528)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -167583,7 +169127,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui enc2 = int32(SQLITE_UTF16LE) } if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) { - return _sqlite3MisuseError(tls, int32(181131)) + return _sqlite3MisuseError(tls, int32(182576)) } /* Check if this call is removing or replacing an existing collation ** sequence. If so, and there are active VMs, return busy. If there @@ -167592,7 +169136,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui pColl = _sqlite3FindCollSeq(tls, db, uint8(enc2), zName, 0) if pColl != 0 && (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24528, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24651, 0) return int32(SQLITE_BUSY) } _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -167753,7 +169297,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u zVfs = zDefaultVfs nUri = _sqlite3Strlen30(tls, zUri) _ = libc.Int32FromInt32(0) - if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24596, uint64(5)) == 0 { /* Input character index */ + if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24719, uint64(5)) == 0 { /* Input character index */ iOut = 0 /* Output character index */ nByte = uint64(nUri + int32(8)) /* Bytes of space to allocate */ /* Make sure the SQLITE_OPEN_URI flag is set to indicate to the VFS xOpen @@ -167783,8 +169327,8 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u for *(*uint8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0 && int32(*(*uint8)(unsafe.Pointer(zUri + uintptr(iIn)))) != int32('/') { iIn++ } - if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24602, zUri+7, uint64(9)) != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24612, libc.VaList(bp+8, iIn-int32(7), zUri+7)) + if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24725, zUri+7, uint64(9)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24735, libc.VaList(bp+8, iIn-int32(7), zUri+7)) rc = int32(SQLITE_ERROR) goto parse_uri_out } @@ -167874,24 +169418,24 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u nOpt = _sqlite3Strlen30(tls, zOpt) zVal = zOpt + uintptr(nOpt+int32(1)) nVal = _sqlite3Strlen30(tls, zVal) - if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24640, zOpt, uint64(3)) == 0 { + if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24763, zOpt, uint64(3)) == 0 { zVfs = zVal } else { aMode = uintptr(0) zModeType = uintptr(0) mask = 0 limit = 0 - if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24644, zOpt, uint64(5)) == 0 { + if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24767, zOpt, uint64(5)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_SHAREDCACHE) | libc.Int32FromInt32(SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&_aCacheMode)) limit = mask - zModeType = __ccgo_ts + 24644 + zModeType = __ccgo_ts + 24767 } - if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24665, zOpt, uint64(4)) == 0 { + if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24788, zOpt, uint64(4)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_READONLY) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&_aOpenMode)) limit = int32(uint32(mask) & flags) - zModeType = __ccgo_ts + 3404 + zModeType = __ccgo_ts + 3468 } if aMode != 0 { mode = 0 @@ -167920,12 +169464,12 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u i++ } if mode == 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24680, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24803, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_ERROR) goto parse_uri_out } if mode & ^libc.Int32FromInt32(SQLITE_OPEN_MEMORY) > limit { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24700, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24823, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_PERM) goto parse_uri_out } @@ -167949,7 +169493,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u } *(*uintptr)(unsafe.Pointer(ppVfs)) = Xsqlite3_vfs_find(tls, zVfs) if *(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24724, libc.VaList(bp+8, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24847, libc.VaList(bp+8, zVfs)) rc = int32(SQLITE_ERROR) } goto parse_uri_out @@ -167969,11 +169513,11 @@ var _aCacheMode = [3]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24650, + Fz: __ccgo_ts + 24773, Fmode: int32(SQLITE_OPEN_SHAREDCACHE), }, 1: { - Fz: __ccgo_ts + 24657, + Fz: __ccgo_ts + 24780, Fmode: int32(SQLITE_OPEN_PRIVATECACHE), }, 2: {}, @@ -167984,19 +169528,19 @@ var _aOpenMode = [5]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24670, + Fz: __ccgo_ts + 24793, Fmode: int32(SQLITE_OPEN_READONLY), }, 1: { - Fz: __ccgo_ts + 24673, + Fz: __ccgo_ts + 24796, Fmode: int32(SQLITE_OPEN_READWRITE), }, 2: { - Fz: __ccgo_ts + 24676, + Fz: __ccgo_ts + 24799, Fmode: libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE), }, 3: { - Fz: __ccgo_ts + 17764, + Fz: __ccgo_ts + 17851, Fmode: int32(SQLITE_OPEN_MEMORY), }, 4: {}, @@ -168125,8 +169669,8 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16BE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+22351, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+24740, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+22496, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+24863, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto opendb_out } @@ -168150,7 +169694,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* READWRITE */ /* READWRITE | CREATE */ if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 { - rc = _sqlite3MisuseError(tls, int32(181803)) /* IMP: R-18321-05872 */ + rc = _sqlite3MisuseError(tls, int32(183248)) /* IMP: R-18321-05872 */ } else { rc = _sqlite3ParseUri(tls, zVfs, zFilename, bp, db, bp+8, bp+16) } @@ -168159,7 +169703,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _sqlite3OomFault(tls, db) } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { - v2 = __ccgo_ts + 3795 + v2 = __ccgo_ts + 3859 } else { v2 = uintptr(0) } @@ -168187,9 +169731,9 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* The default safety_level for the main database is FULL; for the temp ** database it is OFF. This matches the pager layer defaults. */ - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6585 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6649 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).Fsafety_level = uint8(libc.Int32FromInt32(SQLITE_DEFAULT_SYNCHRONOUS) + libc.Int32FromInt32(1)) - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23742 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23865 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).Fsafety_level = uint8(PAGER_SYNCHRONOUS_OFF) (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState = uint8(SQLITE_STATE_OPEN) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -168285,7 +169829,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) { return rc } if zFilename == uintptr(0) { - zFilename = __ccgo_ts + 24746 + zFilename = __ccgo_ts + 24869 } pVal = _sqlite3ValueNew(tls, uintptr(0)) _sqlite3ValueSetStr(tls, pVal, -int32(1), zFilename, uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(0)) @@ -168506,20 +170050,20 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) (r int32) { func _sqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, __ccgo_ts+24749, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) + Xsqlite3_log(tls, iErr, __ccgo_ts+24872, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) return iErr } func _sqlite3CorruptError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24774) + return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24897) } func _sqlite3MisuseError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24794) + return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24917) } func _sqlite3CantopenError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24801) + return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24924) } // C documentation @@ -168650,11 +170194,11 @@ error_out: } if SQLITE_OK == rc && !(pTab != 0) { _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24818, libc.VaList(bp+16, zTableName, zColumnName)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24941, libc.VaList(bp+16, zTableName, zColumnName)) rc = int32(SQLITE_ERROR) } if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - v3 = __ccgo_ts + 3795 + v3 = __ccgo_ts + 3859 } else { v3 = uintptr(0) } @@ -169683,7 +171227,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) (r int32) { var _ /* nOpt at bp+0 */ int32 _, _, _ = azCompileOpt, i, n azCompileOpt = _sqlite3CompileOptions(tls, bp) - if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24846, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24969, int32(7)) == 0 { zOptName += uintptr(7) } n = _sqlite3Strlen30(tls, zOptName) @@ -169905,7 +171449,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui _leaveMutex(tls) _ = libc.Int32FromInt32(0) if rc != 0 { - v2 = __ccgo_ts + 24854 + v2 = __ccgo_ts + 24977 } else { v2 = uintptr(0) } @@ -170788,23 +172332,23 @@ func _sqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { // ** string must correspond to the JSONB_* integer above. // */ var _jsonbType = [17]uintptr{ - 0: __ccgo_ts + 1634, - 1: __ccgo_ts + 7886, - 2: __ccgo_ts + 7891, - 3: __ccgo_ts + 6306, - 4: __ccgo_ts + 6306, - 5: __ccgo_ts + 6301, - 6: __ccgo_ts + 6301, - 7: __ccgo_ts + 8197, - 8: __ccgo_ts + 8197, - 9: __ccgo_ts + 8197, - 10: __ccgo_ts + 8197, - 11: __ccgo_ts + 24877, - 12: __ccgo_ts + 24883, - 13: __ccgo_ts + 1648, - 14: __ccgo_ts + 1648, - 15: __ccgo_ts + 1648, - 16: __ccgo_ts + 1648, + 0: __ccgo_ts + 1648, + 1: __ccgo_ts + 8011, + 2: __ccgo_ts + 8016, + 3: __ccgo_ts + 6370, + 4: __ccgo_ts + 6370, + 5: __ccgo_ts + 6365, + 6: __ccgo_ts + 6365, + 7: __ccgo_ts + 8322, + 8: __ccgo_ts + 8322, + 9: __ccgo_ts + 8322, + 10: __ccgo_ts + 8322, + 11: __ccgo_ts + 25000, + 12: __ccgo_ts + 25006, + 13: __ccgo_ts + 1662, + 14: __ccgo_ts + 1662, + 15: __ccgo_ts + 1662, + 16: __ccgo_ts + 1662, } // C documentation @@ -171575,6 +173119,46 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { _jsonAppendChar(tls, p, uint8(',')) } +// C documentation +// +// /* c is a control character. Append the canonical JSON representation +// ** of that control character to p. +// ** +// ** This routine assumes that the output buffer has already been enlarged +// ** sufficiently to hold the worst-case encoding plus a nul terminator. +// */ +func _jsonAppendControlChar(tls *libc.TLS, p uintptr, c Tu8) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if _aSpecial[c] != 0 { + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = uint8('\\') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = _aSpecial[c] + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(2) + } else { + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = uint8('\\') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = uint8('u') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(2)))) = uint8('0') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(3)))) = uint8('0') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(4)))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 25013 + uintptr(int32(c)>>int32(4)))) + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(5)))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 25013 + uintptr(int32(c)&int32(0xf)))) + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(6) + } +} + +var _aSpecial = [32]uint8{ + 8: uint8('b'), + 9: uint8('t'), + 10: uint8('n'), + 12: uint8('f'), + 13: uint8('r'), +} + // C documentation // // /* Append the N-byte string in zIn to the end of the JsonString string @@ -171588,9 +173172,9 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { var c Tu8 var k Tu32 - var z, v10, v12, v14, v16, v18, v2, v20, v22, v24, v6, v8 uintptr - var v1, v11, v13, v15, v17, v19, v21, v23, v5, v7, v9 Tu64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v5, v6, v7, v8, v9 + var z, v10, v2, v4, v6, v8 uintptr + var v1, v3, v5, v7, v9 Tu64 + _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v2, v3, v4, v5, v6, v7, v8, v9 z = zIn if z == uintptr(0) { return @@ -171647,91 +173231,41 @@ func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { N -= k } c = *(*Tu8)(unsafe.Pointer(z)) - if !(int32(c) == int32('"') || int32(c) == int32('\\')) { - goto _3 - } - goto json_simple_escape - json_simple_escape: - ; - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { - return - } - v6 = p + 24 - v5 = *(*Tu64)(unsafe.Pointer(v6)) - *(*Tu64)(unsafe.Pointer(v6))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = uint8('\\') - v8 = p + 24 - v7 = *(*Tu64)(unsafe.Pointer(v8)) - *(*Tu64)(unsafe.Pointer(v8))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = c - goto _4 - _3: - ; - if int32(c) == int32('\'') { - v10 = p + 24 - v9 = *(*Tu64)(unsafe.Pointer(v10)) - *(*Tu64)(unsafe.Pointer(v10))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = c - } else { - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - if _aSpecial[c] != 0 { - c = _aSpecial[c] - goto json_simple_escape - } - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + if int32(c) == int32('"') || int32(c) == int32('\\') { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { return } - v12 = p + 24 - v11 = *(*Tu64)(unsafe.Pointer(v12)) - *(*Tu64)(unsafe.Pointer(v12))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v11))) = uint8('\\') - v14 = p + 24 - v13 = *(*Tu64)(unsafe.Pointer(v14)) - *(*Tu64)(unsafe.Pointer(v14))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v13))) = uint8('u') - v16 = p + 24 - v15 = *(*Tu64)(unsafe.Pointer(v16)) - *(*Tu64)(unsafe.Pointer(v16))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v15))) = uint8('0') - v18 = p + 24 - v17 = *(*Tu64)(unsafe.Pointer(v18)) - *(*Tu64)(unsafe.Pointer(v18))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v17))) = uint8('0') - v20 = p + 24 - v19 = *(*Tu64)(unsafe.Pointer(v20)) - *(*Tu64)(unsafe.Pointer(v20))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v19))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 24890 + uintptr(int32(c)>>int32(4)))) - v22 = p + 24 - v21 = *(*Tu64)(unsafe.Pointer(v22)) - *(*Tu64)(unsafe.Pointer(v22))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v21))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 24890 + uintptr(int32(c)&int32(0xf)))) + v4 = p + 24 + v3 = *(*Tu64)(unsafe.Pointer(v4)) + *(*Tu64)(unsafe.Pointer(v4))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v3))) = uint8('\\') + v6 = p + 24 + v5 = *(*Tu64)(unsafe.Pointer(v6)) + *(*Tu64)(unsafe.Pointer(v6))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = c + } else { + if int32(c) == int32('\'') { + v8 = p + 24 + v7 = *(*Tu64)(unsafe.Pointer(v8)) + *(*Tu64)(unsafe.Pointer(v8))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = c + } else { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + return + } + _jsonAppendControlChar(tls, p, c) + } } - _4: - ; z++ N-- } - v24 = p + 24 - v23 = *(*Tu64)(unsafe.Pointer(v24)) - *(*Tu64)(unsafe.Pointer(v24))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v23))) = uint8('"') + v10 = p + 24 + v9 = *(*Tu64)(unsafe.Pointer(v10)) + *(*Tu64)(unsafe.Pointer(v10))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = uint8('"') _ = libc.Int32FromInt32(0) } -var _aSpecial = [32]uint8{ - 8: uint8('b'), - 9: uint8('t'), - 10: uint8('n'), - 12: uint8('f'), - 13: uint8('r'), -} - // C documentation // // /* @@ -171747,9 +173281,9 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _, _, _, _ = n, n1, z, z1 switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_NULL): - _jsonAppendRawNZ(tls, p, __ccgo_ts+1634, uint32(4)) + _jsonAppendRawNZ(tls, p, __ccgo_ts+1648, uint32(4)) case int32(SQLITE_FLOAT): - _jsonPrintf(tls, int32(100), p, __ccgo_ts+15323, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) + _jsonPrintf(tls, int32(100), p, __ccgo_ts+15416, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) case int32(SQLITE_INTEGER): z = Xsqlite3_value_text(tls, pValue) n = uint32(Xsqlite3_value_bytes(tls, pValue)) @@ -171770,7 +173304,7 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _jsonTranslateBlobToText(tls, bp, uint32(0), p) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr) == 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24907, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25030, -int32(1)) (*TJsonString)(unsafe.Pointer(p)).FeErr = uint8(JSTRING_ERR) _jsonStringReset(tls, p) } @@ -171826,7 +173360,7 @@ func _jsonReturnString(tls *libc.TLS, p uintptr, pParse uintptr, ctx uintptr) { Xsqlite3_result_error_nomem(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr)&int32(JSTRING_MALFORMED) != 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25059, -int32(1)) } } } @@ -172110,8 +173644,8 @@ var _aNanInfName = [5]TNanInfName{ Fn: uint8(3), FeType: uint8(JSONB_FLOAT), FnRepl: uint8(7), - FzMatch: __ccgo_ts + 24951, - FzRepl: __ccgo_ts + 24955, + FzMatch: __ccgo_ts + 25074, + FzRepl: __ccgo_ts + 25078, }, 1: { Fc1: uint8('i'), @@ -172119,32 +173653,32 @@ var _aNanInfName = [5]TNanInfName{ Fn: uint8(8), FeType: uint8(JSONB_FLOAT), FnRepl: uint8(7), - FzMatch: __ccgo_ts + 24963, - FzRepl: __ccgo_ts + 24955, + FzMatch: __ccgo_ts + 25086, + FzRepl: __ccgo_ts + 25078, }, 2: { Fc1: uint8('n'), Fc2: uint8('N'), Fn: uint8(3), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 1639, - FzRepl: __ccgo_ts + 1634, + FzMatch: __ccgo_ts + 1653, + FzRepl: __ccgo_ts + 1648, }, 3: { Fc1: uint8('q'), Fc2: uint8('Q'), Fn: uint8(4), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 24972, - FzRepl: __ccgo_ts + 1634, + FzMatch: __ccgo_ts + 25095, + FzRepl: __ccgo_ts + 1648, }, 4: { Fc1: uint8('s'), Fc2: uint8('S'), Fn: uint8(4), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 24977, - FzRepl: __ccgo_ts + 1634, + FzMatch: __ccgo_ts + 25100, + FzRepl: __ccgo_ts + 1648, }, } @@ -172159,7 +173693,7 @@ func _jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24982, libc.VaList(bp+8, zFuncName)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25105, libc.VaList(bp+8, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) } @@ -172613,30 +174147,37 @@ func _jsonbValidityCheck(tls *libc.TLS, pParse uintptr, i Tu32, iEnd Tu32, iDept return j + uint32(1) } } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) <= int32(0x1f) { + /* Control characters in JSON5 string literals are ok */ + if int32(x) == int32(JSONB_TEXTJ) { + return j + uint32(1) + } } else { - if libc.Xstrchr(tls, __ccgo_ts+25025, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { - j++ + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { + return j + uint32(1) } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { - if j+uint32(5) >= k { - return j + uint32(1) - } - if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { - return j + uint32(1) - } + if libc.Xstrchr(tls, __ccgo_ts+25148, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { j++ } else { - if int32(x) != int32(JSONB_TEXT5) { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { + if j+uint32(5) >= k { + return j + uint32(1) + } + if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { + return j + uint32(1) + } + j++ } else { - *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) - szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) - if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + if int32(x) != int32(JSONB_TEXT5) { return j + uint32(1) + } else { + *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) + szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) + if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + return j + uint32(1) + } + j += szC - uint32(1) } - j += szC - uint32(1) } } } @@ -173067,9 +174608,14 @@ parse_string: } } else { if int32(c) <= int32(0x1f) { - /* Control characters are not allowed in strings */ - (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j - return -int32(1) + if int32(c) == 0 { + (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j + return -int32(1) + } + /* Control characters are not allowed in canonical JSON string + ** literals, but are allowed in JSON5 string literals. */ + opcode = uint8(JSONB_TEXT5) + (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) } else { if int32(c) == int32('"') { opcode = uint8(JSONB_TEXT5) @@ -173083,7 +174629,7 @@ parse_string: return int32(j + uint32(1)) _5: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7886, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8011, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_TRUE)) return int32(i + uint32(4)) } @@ -173091,7 +174637,7 @@ _5: return -int32(1) _6: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7891, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(5))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8016, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(5))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_FALSE)) return int32(i + uint32(5)) } @@ -173172,14 +174718,14 @@ parse_number: /* JSON5 allows for "+Infinity" and "-Infinity" using exactly ** that case. SQLite also allows these in any case and it allows ** "+inf" and "-inf". */ - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+24951, int32(3)) == 0 { + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+25074, int32(3)) == 0 { (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('-') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25034) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25157) } else { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25041) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25164) } - if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25047, int32(5)) == 0 { + if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25170, int32(5)) == 0 { v48 = int32(9) } else { v48 = int32(4) @@ -173343,11 +174889,10 @@ _29: return -int32(1) _37: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1634, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1648, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) return int32(i + uint32(4)) } - /* fall-through into the default case that checks for NaN */ _38: ; c = *(*uint8)(unsafe.Pointer(z + uintptr(i))) @@ -173367,7 +174912,7 @@ _38: goto _51 } if int32(_aNanInfName[k1].FeType) == int32(JSONB_FLOAT) { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25041) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25164) } else { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) } @@ -173412,7 +174957,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 i += _json5Whitespace(tls, zJson+uintptr(i)) if *(*uint8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { if pCtx != 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) } _jsonParseReset(tls, pParse) return int32(1) @@ -173425,7 +174970,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 if (*TJsonParse)(unsafe.Pointer(pParse)).Foom != 0 { Xsqlite3_result_error_nomem(tls, pCtx) } else { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) } } _jsonParseReset(tls, pParse) @@ -173590,15 +175135,15 @@ func _jsonTranslateBlobToText(tls *libc.TLS, pParse uintptr, i Tu32, pOut uintpt goto _16 _2: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1634, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1648, uint32(4)) return i + uint32(1) _3: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7886, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8011, uint32(4)) return i + uint32(1) _4: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7891, uint32(5)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8016, uint32(5)) return i + uint32(1) _6: ; @@ -173647,9 +175192,9 @@ _7: k++ } if bOverflow != 0 { - v19 = __ccgo_ts + 24955 + v19 = __ccgo_ts + 25078 } else { - v19 = __ccgo_ts + 11753 + v19 = __ccgo_ts + 11878 } _jsonPrintf(tls, int32(100), pOut, v19, libc.VaList(bp+16, u)) goto _16 @@ -173697,7 +175242,7 @@ _11: for sz2 > uint32(0) { k2 = uint32(0) for { - if !(k2 < sz2 && int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('\\') && int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('"')) { + if !(k2 < sz2 && (_jsonIsOk[*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))] != 0 || int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) == int32('\''))) { break } goto _21 @@ -173714,7 +175259,16 @@ _11: sz2 -= k2 } if int32(*(*uint8)(unsafe.Pointer(zIn2))) == int32('"') { - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25053, uint32(2)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25176, uint32(2)) + zIn2++ + sz2-- + continue + } + if int32(*(*uint8)(unsafe.Pointer(zIn2))) <= int32(0x1f) { + if (*TJsonString)(unsafe.Pointer(pOut)).FnUsed+uint64(7) > (*TJsonString)(unsafe.Pointer(pOut)).FnAlloc && _jsonStringGrow(tls, pOut, uint32(7)) != 0 { + break + } + _jsonAppendControlChar(tls, pOut, *(*uint8)(unsafe.Pointer(zIn2))) zIn2++ sz2-- continue @@ -173730,7 +175284,7 @@ _11: case int32('\''): _jsonAppendChar(tls, pOut, uint8('\'')) case int32('v'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25056, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25179, uint32(6)) case int32('x'): if sz2 < uint32(4) { p23 = pOut + 33 @@ -173738,12 +175292,12 @@ _11: sz2 = uint32(2) break } - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25063, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25186, uint32(4)) _jsonAppendRawNZ(tls, pOut, zIn2+2, uint32(2)) zIn2 += uintptr(2) sz2 -= uint32(2) case int32('0'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25068, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25191, uint32(6)) case int32('\r'): if sz2 > uint32(2) && int32(*(*uint8)(unsafe.Pointer(zIn2 + 2))) == int32('\n') { zIn2++ @@ -173833,6 +175387,140 @@ _16: return i + n + *(*Tu32)(unsafe.Pointer(bp)) } +// C documentation +// +// /* Context for recursion of json_pretty() +// */ +type TJsonPretty = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty = TJsonPretty + +type TJsonPretty1 = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty1 = TJsonPretty1 + +// C documentation +// +// /* Append indentation to the pretty JSON under construction */ +func _jsonPrettyIndent(tls *libc.TLS, pPretty uintptr) { + var jj Tu32 + _ = jj + jj = uint32(0) + for { + if !(jj < (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent) { + break + } + _jsonAppendRaw(tls, (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut, (*TJsonPretty)(unsafe.Pointer(pPretty)).FzIndent, (*TJsonPretty)(unsafe.Pointer(pPretty)).FszIndent) + goto _1 + _1: + ; + jj++ + } +} + +// C documentation +// +// /* +// ** Translate the binary JSONB representation of JSON beginning at +// ** pParse->aBlob[i] into a JSON text string. Append the JSON +// ** text onto the end of pOut. Return the index in pParse->aBlob[] +// ** of the first byte past the end of the element that is translated. +// ** +// ** This is a variant of jsonTranslateBlobToText() that "pretty-prints" +// ** the output. Extra whitespace is inserted to make the JSON easier +// ** for humans to read. +// ** +// ** If an error is detected in the BLOB input, the pOut->eErr flag +// ** might get set to JSTRING_MALFORMED. But not all BLOB input errors +// ** are detected. So a malformed JSONB input might either result +// ** in an error, or in incorrect JSON. +// ** +// ** The pOut->eErr JSTRING_OOM flag is set on a OOM. +// */ +func _jsonTranslateBlobToPrettyText(tls *libc.TLS, pPretty uintptr, i Tu32) (r Tu32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var iEnd, j, n Tu32 + var pOut, pParse, p1, p2 uintptr + var _ /* sz at bp+0 */ Tu32 + _, _, _, _, _, _, _ = iEnd, j, n, pOut, pParse, p1, p2 + pParse = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpParse + pOut = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut + n = _jsonbPayloadSize(tls, pParse, i, bp) + if n == uint32(0) { + p1 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + return (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob + uint32(1) + } + switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { + case int32(JSONB_ARRAY): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, uint8('[')) + if j < iEnd { + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25198, uint32(2)) + } + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, uint8(']')) + i = iEnd + case int32(JSONB_OBJECT): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, uint8('{')) + if j < iEnd { + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToText(tls, pParse, j, pOut) + if j > iEnd { + p2 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p2)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p2))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25201, uint32(2)) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25198, uint32(2)) + } + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, uint8('}')) + i = iEnd + default: + i = _jsonTranslateBlobToText(tls, pParse, i, pOut) + break + } + return i +} + // C documentation // // /* Return true if the input pJson @@ -174560,7 +176248,7 @@ func _jsonReturnFromBlob(tls *libc.TLS, pParse uintptr, i Tu32, pCtx uintptr, te db = Xsqlite3_context_db_handle(tls, pCtx) n = _jsonbPayloadSize(tls, pParse, i, bp) if n == uint32(0) { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) return } switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { @@ -174800,7 +176488,7 @@ returnfromblob_oom: goto returnfromblob_malformed returnfromblob_malformed: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) return } @@ -174841,7 +176529,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob = Xsqlite3_value_blob(tls, pArg) (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob = uint32(Xsqlite3_value_bytes(tls, pArg)) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24907, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25030, -int32(1)) return int32(1) } case int32(SQLITE_TEXT): @@ -174854,7 +176542,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FzJson = zJson (*TJsonParse)(unsafe.Pointer(pParse)).FnJson = nJson if _jsonConvertTextToBlob(tls, pParse, ctx) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) _sqlite3DbFree(tls, (*TJsonParse)(unsafe.Pointer(pParse)).Fdb, (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob) libc.Xmemset(tls, pParse, 0, uint64(72)) return int32(1) @@ -174873,10 +176561,10 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin return int32(1) } if int32(*(*uint8)(unsafe.Pointer(z))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25041) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25164) } else { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('-') && int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25034) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25157) } else { _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(n), z) } @@ -174915,7 +176603,7 @@ func _jsonBadPathError(tls *libc.TLS, ctx uintptr, zPath uintptr) (r uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25075, libc.VaList(bp+8, zPath)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25204, libc.VaList(bp+8, zPath)) if ctx == uintptr(0) { return zMsg } @@ -175013,7 +176701,7 @@ jsonInsertIntoBlob_patherror: ; _jsonParseFree(tls, p) if rc == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } else { _jsonBadPathError(tls, ctx, zPath) } @@ -175197,7 +176885,7 @@ json_pfa_malformed: return p } else { _jsonParseFree(tls, p) - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) return uintptr(0) } goto json_pfa_oom @@ -175332,7 +177020,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if int32(*(*uint8)(unsafe.Pointer(zPath))) == int32('$') { v1 = zPath + uintptr(1) } else { - v1 = __ccgo_ts + 25093 + v1 = __ccgo_ts + 25222 } i = _jsonLookupStep(tls, p, uint32(0), v1, uint32(0)) if i >= uint32(JSON_LOOKUP_PATHERROR) { @@ -175342,7 +177030,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } eErr = uint8(1) @@ -175360,25 +177048,6 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) _jsonParseFree(tls, p) } -// C documentation -// -// /* True if the string is all digits */ -func _jsonAllDigits(tls *libc.TLS, z uintptr, n int32) (r int32) { - var i int32 - _ = i - i = 0 - for { - if !(i < n && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _1 - _1: - ; - i++ - } - return libc.BoolInt32(i == n) -} - // C documentation // // /* True if the string is all alphanumerics and underscores */ @@ -175465,21 +177134,21 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { ** [NUMBER] ==> $[NUMBER] // Not PG. Purely for convenience */ _jsonStringInit(tls, bp, ctx) - if _jsonAllDigits(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25095, uint32(1)) + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) == int32(SQLITE_INTEGER) { + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25224, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+5161, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+5225, uint32(2)) } else { if _jsonAllAlphanum(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1661, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1675, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { if int32(*(*uint8)(unsafe.Pointer(zPath))) == int32('[') && nPath >= int32(3) && int32(*(*uint8)(unsafe.Pointer(zPath + uintptr(nPath-int32(1))))) == int32(']') { _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25097, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25226, uint32(2)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25100, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25229, uint32(1)) } } } @@ -175516,11 +177185,11 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { goto json_extract_error /* Return NULL if not found */ } else { _jsonAppendSeparator(tls, bp) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1634, uint32(4)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1648, uint32(4)) } } else { if j == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) goto json_extract_error } else { _jsonBadPathError(tls, ctx, zPath) @@ -175791,7 +177460,7 @@ func _jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == int32(JSON_MERGE_OOM) { Xsqlite3_result_error_nomem(tls, ctx) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } _jsonParseFree(tls, pPatch) @@ -175815,7 +177484,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { var _ /* jx at bp+0 */ TJsonString _, _, _ = i, n, z if argc&int32(1) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25102, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25231, -int32(1)) return } _jsonStringInit(tls, bp, ctx) @@ -175826,7 +177495,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { break } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != int32(SQLITE_TEXT) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25153, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25282, -int32(1)) _jsonStringReset(tls, bp) return } @@ -175898,7 +177567,7 @@ func _jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } goto json_remove_done @@ -175935,7 +177604,7 @@ func _jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { return } if argc&int32(1) == 0 { - _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15796) + _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15889) return } _jsonInsertIntoBlob(tls, ctx, argc, argv, int32(JEDIT_REPL)) @@ -175966,9 +177635,9 @@ func _jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { } if argc&int32(1) == 0 { if bIsSet != 0 { - v1 = __ccgo_ts + 25187 + v1 = __ccgo_ts + 25316 } else { - v1 = __ccgo_ts + 25191 + v1 = __ccgo_ts + 25320 } _jsonWrongNumArgs(tls, ctx, v1) return @@ -176016,7 +177685,7 @@ func _jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } goto json_type_done @@ -176031,6 +177700,48 @@ json_type_done: _jsonParseFree(tls, p) } +// C documentation +// +// /* +// ** json_pretty(JSON) +// ** json_pretty(JSON, INDENT) +// ** +// ** Return text that is a pretty-printed rendering of the input JSON. +// ** If the argument is not valid JSON, return NULL. +// ** +// ** The INDENT argument is text that is used for indentation. If omitted, +// ** it defaults to four spaces (the same as PostgreSQL). +// */ +func _jsonPrettyFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { + bp := tls.Alloc(176) + defer tls.Free(176) + var v1 uintptr + var v2 bool + var _ /* s at bp+0 */ TJsonString + var _ /* x at bp+136 */ TJsonPretty + _, _ = v1, v2 /* Pretty printing context */ + libc.Xmemset(tls, bp+136, 0, uint64(32)) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse = _jsonParseFuncArg(tls, ctx, *(*uintptr)(unsafe.Pointer(argv)), uint32(0)) + if (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse == uintptr(0) { + return + } + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpOut = bp + _jsonStringInit(tls, bp, ctx) + if v2 = argc == int32(1); !v2 { + v1 = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = v1 + } + if v2 || v1 == uintptr(0) { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = __ccgo_ts + 25327 + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(4) + } else { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(libc.Xstrlen(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent)) + } + _jsonTranslateBlobToPrettyText(tls, bp+136, uint32(0)) + _jsonReturnString(tls, bp, uintptr(0), uintptr(0)) + _jsonParseFree(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse) +} + // C documentation // // /* @@ -176105,7 +177816,7 @@ func _jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if argc == int32(2) { f = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if f < int64(1) || f > int64(15) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25198, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25332, -int32(1)) return } flags = uint8(f & int64(0x0f)) @@ -176295,7 +178006,7 @@ func _jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25255, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25389, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -176444,7 +178155,7 @@ func _jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25258, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25392, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -176547,7 +178258,7 @@ func _jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argv _ = argc _ = pAux - rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25261) + rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25395) if rc == SQLITE_OK { pNew = _sqlite3DbMallocZero(tls, db, uint64(32)) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -176683,7 +178394,7 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TJsonEachCursor)(unsafe.Pointer(p)).FeType) == int32(JSONB_ARRAY) { - _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25344, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) + _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25478, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) } else { *(*Tu32)(unsafe.Pointer(bp)) = uint32(0) needQuote = 0 @@ -176709,9 +178420,9 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { } } if needQuote != 0 { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25351, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25485, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } else { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25359, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25493, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } } } @@ -177101,7 +178812,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a i = v5 (*TJsonEachCursor)(unsafe.Pointer(p)).FeType = uint8(0) (*TJsonEachCursor)(unsafe.Pointer(p)).FnRoot = uint32(1) - _jsonAppendRaw(tls, p+56, __ccgo_ts+25365, uint32(1)) + _jsonAppendRaw(tls, p+56, __ccgo_ts+25499, uint32(1)) } (*TJsonEachCursor)(unsafe.Pointer(p)).FnParent = uint32(0) n = _jsonbPayloadSize(tls, p+192, i, bp) @@ -177125,7 +178836,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a json_each_malformed_input: ; Xsqlite3_free(tls, (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg) - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24936, 0) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25059, 0) _jsonEachCursorReset(tls, p) if (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { v6 = int32(SQLITE_ERROR) @@ -177179,183 +178890,193 @@ func init() { // ** Register JSON functions. // */ func _sqlite3RegisterJsonFunctions(tls *libc.TLS) { - _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2304)/libc.Uint64FromInt64(72))) + _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2448)/libc.Uint64FromInt64(72))) } -var _aJsonFunc = [32]TFuncDef{ +var _aJsonFunc = [34]TFuncDef{ 0: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25367, + FzName: __ccgo_ts + 25501, }, 1: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25372, + FzName: __ccgo_ts + 25506, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25378, + FzName: __ccgo_ts + 25512, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25389, + FzName: __ccgo_ts + 25523, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25401, + FzName: __ccgo_ts + 25535, }, 5: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25401, + FzName: __ccgo_ts + 25535, }, 6: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25419, + FzName: __ccgo_ts + 25553, }, 7: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25439, + FzName: __ccgo_ts + 25573, }, 8: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25452, + FzName: __ccgo_ts + 25586, }, 9: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_JSON) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25466, + FzName: __ccgo_ts + 25600, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_SQL) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25469, + FzName: __ccgo_ts + 25603, }, 11: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25473, + FzName: __ccgo_ts + 25607, }, 12: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25485, + FzName: __ccgo_ts + 25619, }, 13: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25498, + FzName: __ccgo_ts + 25632, }, 14: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25510, + FzName: __ccgo_ts + 25644, }, 15: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25523, + FzName: __ccgo_ts + 25657, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25534, + FzName: __ccgo_ts + 25668, }, 17: { FnArg: int8(1), - FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25546, + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25680, }, 18: { + FnArg: int8(2), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25680, + }, + 19: { + FnArg: int8(1), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25692, + }, + 20: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25557, + FzName: __ccgo_ts + 25703, }, - 19: { + 21: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25569, + FzName: __ccgo_ts + 25715, }, - 20: { + 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25582, + FzName: __ccgo_ts + 25728, }, - 21: { + 23: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25595, + FzName: __ccgo_ts + 25741, }, - 22: { + 24: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25609, + FzName: __ccgo_ts + 25755, }, - 23: { + 25: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25618, + FzName: __ccgo_ts + 25764, }, - 24: { + 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25628, + FzName: __ccgo_ts + 25774, }, - 25: { + 27: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25628, + FzName: __ccgo_ts + 25774, }, - 26: { + 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25638, + FzName: __ccgo_ts + 25784, }, - 27: { + 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25638, + FzName: __ccgo_ts + 25784, }, - 28: { + 30: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25649, + FzName: __ccgo_ts + 25795, }, - 29: { + 31: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25666, + FzName: __ccgo_ts + 25812, }, - 30: { + 32: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25684, + FzName: __ccgo_ts + 25830, }, - 31: { + 33: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25702, + FzName: __ccgo_ts + 25848, }, } @@ -177378,33 +179099,35 @@ func init() { *(*uintptr)(unsafe.Add(p, 1032)) = __ccgo_fp(_jsonObjectFunc) *(*uintptr)(unsafe.Add(p, 1104)) = __ccgo_fp(_jsonPatchFunc) *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonPatchFunc) - *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonQuoteFunc) - *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2048)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2056)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2064)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2120)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2128)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2136)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonQuoteFunc) + *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2208)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2280)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2328)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2336)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2344)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2352)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2400)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2408)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2416)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2424)) = __ccgo_fp(_jsonGroupInverse) } // C documentation @@ -177436,11 +179159,11 @@ var _aMod = [2]struct { FpModule uintptr }{ 0: { - FzName: __ccgo_ts + 25721, + FzName: __ccgo_ts + 25867, FpModule: uintptr(unsafe.Pointer(&_jsonEachModule)), }, 1: { - FzName: __ccgo_ts + 25731, + FzName: __ccgo_ts + 25877, FpModule: uintptr(unsafe.Pointer(&_jsonTreeModule)), }, } @@ -178093,7 +179816,7 @@ func _nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode Ti64, pParent uintptr, pp } } if (*TRtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) { - rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25741, iNode, 0, pRtree+112) + rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25887, iNode, 0, pRtree+112) } if rc != 0 { *(*uintptr)(unsafe.Pointer(ppNode)) = uintptr(0) @@ -178405,7 +180128,7 @@ func _rtreeDestroy(tls *libc.TLS, pVtab uintptr) (r int32) { var rc int32 _, _, _ = pRtree, rc, zCreate pRtree = pVtab - zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25746, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25892, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if !(zCreate != 0) { rc = int32(SQLITE_NOMEM) } else { @@ -179339,7 +181062,7 @@ func _findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid Ti64, ppLeaf uintptr, p func _deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) (r int32) { var pBlob, pInfo, pSrc uintptr _, _, _ = pBlob, pInfo, pSrc /* Callback information */ - pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25828) + pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25974) if pSrc == uintptr(0) { return int32(SQLITE_ERROR) } @@ -179394,7 +181117,7 @@ func _rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp iRowid = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) *(*Ti64)(unsafe.Pointer(bp + 24)) = 0 eType = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) == float64(iRowid) { + if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && 0 == _sqlite3IntFloatCompare(tls, iRowid, Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))) { rc = _findLeafNode(tls, pRtree, iRowid, bp+16, bp+24) } else { rc = SQLITE_OK @@ -180883,7 +182606,7 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) _, _, _, _, _, _ = rc, zCol, zCol1, zCol2, zSql, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) _ = libc.Int32FromInt32(0) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25842, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25988, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -int32(1), bp, uintptr(0)) } else { @@ -180893,11 +182616,11 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) if rc == SQLITE_OK { if iCol == 0 { zCol = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25862, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26008, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { zCol1 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol) zCol2 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol+int32(1)) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25894, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26040, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -181076,6 +182799,7 @@ func _rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) (r int32) { var pRtree uintptr _ = pRtree pRtree = pVtab + _ = libc.Int32FromInt32(0) (*TRtree)(unsafe.Pointer(pRtree)).FinWrTrans = uint8(1) return SQLITE_OK } @@ -181112,7 +182836,7 @@ func _rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) (r int32) { _, _, _ = pRtree, rc, zSql pRtree = pVtab rc = int32(SQLITE_NOMEM) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25931, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26077, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) if zSql != 0 { _nodeBlobReset(tls, pRtree) rc = Xsqlite3_exec(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -181166,9 +182890,9 @@ func _rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) (r int32) { var v2 int64 var _ /* p at bp+0 */ uintptr _, _, _, _, _, _ = nRow, rc, zFmt, zSql, v1, v2 - zFmt = __ccgo_ts + 26076 + zFmt = __ccgo_ts + 26222 nRow = int64(RTREE_MIN_ROWEST) - rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11582, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11707, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == int32(SQLITE_ERROR) { @@ -181226,9 +182950,9 @@ func _rtreeShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName1 = [3]uintptr{ - 0: __ccgo_ts + 26132, - 1: __ccgo_ts + 5484, - 2: __ccgo_ts + 16694, + 0: __ccgo_ts + 26278, + 1: __ccgo_ts + 5548, + 2: __ccgo_ts + 16781, } var _rtreeModule = Tsqlite3_module{ @@ -181272,21 +182996,21 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref (*TRtree)(unsafe.Pointer(pRtree)).Fdb = db if isCreate != 0 { p = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26546, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26692, libc.VaList(bp+8, zDb, zPrefix)) ii = 0 for { if !(ii < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26608, libc.VaList(bp+8, ii)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26754, libc.VaList(bp+8, ii)) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26613, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26677, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26747, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26759, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26823, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26893, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return int32(SQLITE_NOMEM) @@ -181316,7 +183040,7 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } else { /* An UPSERT is very slightly slower than REPLACE, but it is needed ** if there are auxiliary columns */ - zFormat = __ccgo_ts + 26796 + zFormat = __ccgo_ts + 26942 } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+8, zDb, zPrefix)) if zSql != 0 { @@ -181331,31 +183055,31 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref i++ } if (*TRtree)(unsafe.Pointer(pRtree)).FnAux != 0 && rc != int32(SQLITE_NOMEM) { - (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+26904, libc.VaList(bp+8, zDb, zPrefix)) + (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+27050, libc.VaList(bp+8, zDb, zPrefix)) if (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { p1 = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26949, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27095, libc.VaList(bp+8, zDb, zPrefix)) ii1 = 0 for { if !(ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } if ii1 != 0 { - Xsqlite3_str_append(tls, p1, __ccgo_ts+13090, int32(1)) + Xsqlite3_str_append(tls, p1, __ccgo_ts+13215, int32(1)) } if ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26976, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27122, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) } else { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26998, libc.VaList(bp+8, ii1, ii1+int32(2))) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27144, libc.VaList(bp+8, ii1, ii1+int32(2))) } goto _3 _3: ; ii1++ } - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27006, 0) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27152, 0) zSql1 = Xsqlite3_str_finish(tls, p1) if zSql1 == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -181369,14 +183093,14 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } var _azSql = [8]uintptr{ - 0: __ccgo_ts + 26137, - 1: __ccgo_ts + 26190, - 2: __ccgo_ts + 26235, - 3: __ccgo_ts + 26287, - 4: __ccgo_ts + 26341, - 5: __ccgo_ts + 26386, - 6: __ccgo_ts + 26444, - 7: __ccgo_ts + 26499, + 0: __ccgo_ts + 26283, + 1: __ccgo_ts + 26336, + 2: __ccgo_ts + 26381, + 3: __ccgo_ts + 26433, + 4: __ccgo_ts + 26487, + 5: __ccgo_ts + 26532, + 6: __ccgo_ts + 26590, + 7: __ccgo_ts + 26645, } // C documentation @@ -181434,7 +183158,7 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE _, _ = rc, zSql if isCreate != 0 { *(*int32)(unsafe.Pointer(bp)) = 0 - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27022, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27168, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) rc = _getIntFromStmt(tls, db, zSql, bp) if rc == SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp)) - int32(64) @@ -181442,17 +183166,17 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = int32(4) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*int32(RTREE_MAXCELLS) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27042, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27188, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) rc = _getIntFromStmt(tls, db, zSql, pRtree+32) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } else { if (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize < libc.Int32FromInt32(512)-libc.Int32FromInt32(64) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< libc.Int32FromInt32(RTREE_MAX_AUX_COLUMN)+libc.Int32FromInt32(3) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) return int32(SQLITE_ERROR) } Xsqlite3_vtab_config(tls, db, int32(SQLITE_VTAB_CONSTRAINT_SUPPORT), libc.VaList(bp+8, int32(1))) @@ -181529,13 +183253,13 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27285, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27431, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27291, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27437, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = int32(4) for { if !(ii < argc) { @@ -181544,7 +183268,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt zArg = *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)) if int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('+') { (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27315, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27461, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) } else { if int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux) > 0 { break @@ -181558,19 +183282,19 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27342, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27488, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) } else { if ii < argc { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, aErrMsg[int32(4)])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, aErrMsg[int32(4)])) rc = int32(SQLITE_ERROR) } else { v3 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v3 if SQLITE_OK != v3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } } @@ -181593,7 +183317,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } } if iErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, aErrMsg[iErr])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, aErrMsg[iErr])) goto rtreeInit_fail } (*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell = uint8(int32(8) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnDim2)*int32(4)) @@ -181604,7 +183328,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -181622,8 +183346,8 @@ rtreeInit_fail: } var _azFormat = [2]uintptr{ - 0: __ccgo_ts + 27321, - 1: __ccgo_ts + 27332, + 0: __ccgo_ts + 27467, + 1: __ccgo_ts + 27478, } // C documentation @@ -181681,21 +183405,21 @@ func _rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { } _nodeGetCell(tls, bp+40, bp, ii, bp+1008) if ii > 0 { - Xsqlite3_str_append(tls, pOut, __ccgo_ts+11202, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+11327, int32(1)) } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27345, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27491, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) jj = 0 for { if !(jj < int32((*(*TRtree)(unsafe.Pointer(bp + 40))).FnDim2)) { break } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27351, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27497, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) goto _2 _2: ; jj++ } - Xsqlite3_str_append(tls, pOut, __ccgo_ts+27355, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+27501, int32(1)) goto _1 _1: ; @@ -181722,7 +183446,7 @@ func _rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { _ = zBlob _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != int32(SQLITE_BLOB) || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+27357, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+27503, -int32(1)) } else { zBlob = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -181840,11 +183564,11 @@ func _rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintpt (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } else { if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - v1 = __ccgo_ts + 4203 + v1 = __ccgo_ts + 4267 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27390, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27536, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } @@ -181878,7 +183602,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt _, _, _ = nNode, pNode, pRet pRet = uintptr(0) /* Return value */ if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) { - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27397, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27543, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { Xsqlite3_bind_int64(tls, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode, int32(1), iNode) @@ -181895,7 +183619,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt } _rtreeCheckReset(tls, pCheck, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27442, libc.VaList(bp+8, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27588, libc.VaList(bp+8, iNode)) } } return pRet @@ -181924,8 +183648,8 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i var rc int32 _, _, _, _, _, _ = azSql, ii, pStmt, rc, v1, v2 azSql = [2]uintptr{ - 0: __ccgo_ts + 27474, - 1: __ccgo_ts + 27528, + 0: __ccgo_ts + 27620, + 1: __ccgo_ts + 27674, } _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) { @@ -181939,21 +183663,21 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i rc = Xsqlite3_step(tls, pStmt) if rc == int32(SQLITE_DONE) { if bLeaf != 0 { - v1 = __ccgo_ts + 27576 + v1 = __ccgo_ts + 27722 } else { - v1 = __ccgo_ts + 27584 + v1 = __ccgo_ts + 27730 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27593, libc.VaList(bp+8, iKey, iVal, v1)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27739, libc.VaList(bp+8, iKey, iVal, v1)) } else { if rc == int32(SQLITE_ROW) { ii = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { if bLeaf != 0 { - v2 = __ccgo_ts + 27576 + v2 = __ccgo_ts + 27722 } else { - v2 = __ccgo_ts + 27584 + v2 = __ccgo_ts + 27730 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27638, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27784, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) } } } @@ -181998,7 +183722,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 v2 = libc.BoolInt32(*(*TRtreeValue)(unsafe.Pointer(bp)) > *(*TRtreeValue)(unsafe.Pointer(bp + 4))) } if v2 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27696, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27842, libc.VaList(bp+24, i, iCell, iNode)) } if pParent != 0 { _readCoord(tls, pParent+uintptr(libc.Int32FromInt32(4)*libc.Int32FromInt32(2)*i), bp+8) @@ -182016,7 +183740,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 } } if v5 || v4 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27744, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27890, libc.VaList(bp+24, i, iCell, iNode)) } } goto _1 @@ -182051,19 +183775,19 @@ func _rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintpt aNode = _rtreeCheckGetNode(tls, pCheck, iNode, bp) if aNode != 0 { if *(*int32)(unsafe.Pointer(bp)) < int32(4) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27811, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27957, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) } else { /* Used to iterate through cells */ if aParent == uintptr(0) { iDepth = _readInt16(tls, aNode) if iDepth > int32(RTREE_MAX_DEPTH) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27845, libc.VaList(bp+16, iDepth)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27991, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = _readInt16(tls, aNode+2) if int32(4)+nCell*(int32(8)+(*TRtreeCheck)(unsafe.Pointer(pCheck)).FnDim*int32(2)*int32(4)) > *(*int32)(unsafe.Pointer(bp)) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27875, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28021, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) } else { i = 0 for { @@ -182108,12 +183832,12 @@ func _rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect Ti64) var pCount uintptr _, _ = nActual, pCount if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { - pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27930, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) + pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28076, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) if pCount != 0 { if Xsqlite3_step(tls, pCount) == int32(SQLITE_ROW) { nActual = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27961, libc.VaList(bp+8, zTbl, nExpect, nActual)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28107, libc.VaList(bp+8, zTbl, nExpect, nActual)) } } (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -182142,7 +183866,7 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzDb = zDb (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzTab = zTab /* Find the number of auxiliary columns */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28028, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28174, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { nAux = Xsqlite3_column_count(tls, pStmt) - int32(2) Xsqlite3_finalize(tls, pStmt) @@ -182152,11 +183876,11 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe } } /* Find number of dimensions in the rtree table. */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25842, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25988, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim = (Xsqlite3_column_count(tls, pStmt) - int32(1) - nAux) / int32(2) if (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim < int32(1) { - _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28056, 0) + _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28202, 0) } else { if int32(SQLITE_ROW) == Xsqlite3_step(tls, pStmt) { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FbInt = libc.BoolInt32(Xsqlite3_column_type(tls, pStmt, int32(1)) == int32(SQLITE_INTEGER)) @@ -182172,8 +183896,8 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe if (*(*TRtreeCheck)(unsafe.Pointer(bp))).Frc == SQLITE_OK { _rtreeCheckNode(tls, bp, 0, uintptr(0), int64(1)) } - _rtreeCheckCount(tls, bp, __ccgo_ts+28087, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) - _rtreeCheckCount(tls, bp, __ccgo_ts+28094, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28233, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28240, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) } /* Finalize SQL statements used by the integrity-check */ Xsqlite3_finalize(tls, (*(*TRtreeCheck)(unsafe.Pointer(bp))).FpGetNode) @@ -182201,7 +183925,7 @@ func _rtreeIntegrity(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zName uintpt _ = isQuick rc = _rtreeCheckTable(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, pzErr) if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28102, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28248, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) if *(*uintptr)(unsafe.Pointer(pzErr)) == uintptr(0) { rc = int32(SQLITE_NOMEM) } @@ -182252,13 +183976,13 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { var _ /* zReport at bp+0 */ uintptr _, _, _, _ = rc, zDb, zTab, v1 if nArg != int32(1) && nArg != int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+28121, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+28267, -int32(1)) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zDb = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg))) if nArg == int32(1) { zTab = zDb - zDb = __ccgo_ts + 6585 + zDb = __ccgo_ts + 6649 } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -182267,7 +183991,7 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { if *(*uintptr)(unsafe.Pointer(bp)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(bp)) } else { - v1 = __ccgo_ts + 18461 + v1 = __ccgo_ts + 18548 } Xsqlite3_result_text(tls, ctx, v1, -int32(1), uintptr(-libc.Int32FromInt32(1))) } else { @@ -182734,19 +184458,19 @@ func _geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) if p != 0 { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) - Xsqlite3_str_append(tls, x, __ccgo_ts+25095, int32(1)) + Xsqlite3_str_append(tls, x, __ccgo_ts+25224, int32(1)) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28172, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28318, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28183, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28329, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -182775,20 +184499,20 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) cSep = uint8('\'') - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28194, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28340, 0) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28212, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28358, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) cSep = uint8(' ') goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28220, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28366, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) i = int32(1) for { if !(i < argc) { @@ -182796,14 +184520,14 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if z != 0 && *(*uint8)(unsafe.Pointer(z)) != 0 { - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28228, libc.VaList(bp+8, z)) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28374, libc.VaList(bp+8, z)) } goto _2 _2: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28232, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28378, 0) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -183933,13 +185657,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27285, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27431, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28245, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28391, 0) (*TRtree)(unsafe.Pointer(pRtree)).FnAux = uint8(1) /* Add one for _shape */ (*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = uint8(1) /* The _shape column is always not-null */ ii = int32(3) @@ -183948,13 +185672,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint break } (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28267, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28413, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27342, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27488, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) @@ -183962,7 +185686,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint v2 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v2 if SQLITE_OK != v2 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } Xsqlite3_free(tls, zSql) @@ -183977,7 +185701,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -184194,7 +185918,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iRowidTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(1) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16694 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16781 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).Fomit = uint8(1) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(30) @@ -184204,7 +185928,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iFuncTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28271 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28417 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).Fomit = uint8(0) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(300) @@ -184212,7 +185936,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { return SQLITE_OK } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(4) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28277 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28423 (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(3e+06) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -184334,7 +186058,7 @@ func _geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pR _geopolyBBox(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(aData + 2*8)), bp+8+8, bp) if *(*int32)(unsafe.Pointer(bp)) != 0 { if *(*int32)(unsafe.Pointer(bp)) == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28286, 0) + (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28432, 0) } goto geopoly_update_end } @@ -184438,12 +186162,12 @@ geopoly_update_end: func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) { _ = pVtab _ = nArg - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28326) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28472) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION) } - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28342) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28488) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1) @@ -184514,7 +186238,7 @@ func _sqlite3_geopoly_init(tls *libc.TLS, db uintptr) (r int32) { i++ } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28519, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28665, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -184528,61 +186252,61 @@ var _aFunc = [12]struct { 0: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28357, + FzName: __ccgo_ts + 28503, }, 1: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28370, + FzName: __ccgo_ts + 28516, }, 2: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28383, + FzName: __ccgo_ts + 28529, }, 3: { FnArg: int8(-int32(1)), FbPure: uint8(1), - FzName: __ccgo_ts + 28396, + FzName: __ccgo_ts + 28542, }, 4: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28342, + FzName: __ccgo_ts + 28488, }, 5: { FnArg: int8(3), FbPure: uint8(1), - FzName: __ccgo_ts + 28408, + FzName: __ccgo_ts + 28554, }, 6: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28326, + FzName: __ccgo_ts + 28472, }, 7: { FnArg: int8(1), - FzName: __ccgo_ts + 28431, + FzName: __ccgo_ts + 28577, }, 8: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28445, + FzName: __ccgo_ts + 28591, }, 9: { FnArg: int8(7), FbPure: uint8(1), - FzName: __ccgo_ts + 28458, + FzName: __ccgo_ts + 28604, }, 10: { FnArg: int8(4), FbPure: uint8(1), - FzName: __ccgo_ts + 28472, + FzName: __ccgo_ts + 28618, }, 11: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28488, + FzName: __ccgo_ts + 28634, }, } @@ -184608,7 +186332,7 @@ var _aAgg = [1]struct { FzName uintptr }{ 0: { - FzName: __ccgo_ts + 28500, + FzName: __ccgo_ts + 28646, }, } @@ -184633,20 +186357,20 @@ func _sqlite3RtreeInit(tls *libc.TLS, db uintptr) (r int32) { var rc, utf8 int32 _, _, _, _ = c, c1, rc, utf8 utf8 = int32(SQLITE_UTF8) - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28527, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28673, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28537, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28683, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28548, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28694, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { c = libc.UintptrFromInt32(RTREE_COORD_REAL32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28271, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28417, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { c1 = libc.UintptrFromInt32(RTREE_COORD_INT32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28559, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28705, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) } if rc == SQLITE_OK { rc = _sqlite3_geopoly_init(tls, db) @@ -184748,7 +186472,7 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { Xsqlite3_result_error_nomem(tls, ctx) _rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25828, __ccgo_fp(_rtreeMatchArgFree)) + Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25974, __ccgo_fp(_rtreeMatchArgFree)) } } } @@ -185966,7 +187690,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt /* Figure out the size of the output */ nOut = _rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+28569, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28715, -int32(1)) return } aOut = Xsqlite3_malloc(tls, nOut+int32(1)) @@ -185976,7 +187700,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt nOut2 = _rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut) if nOut2 != nOut { Xsqlite3_free(tls, aOut) - Xsqlite3_result_error(tls, context, __ccgo_ts+28569, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28715, -int32(1)) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, __ccgo_fp(Xsqlite3_free)) } @@ -186002,7 +187726,7 @@ func _prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg _ = rc rc = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -186025,7 +187749,7 @@ func _resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) (r in _ = rc rc = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -186158,7 +187882,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { /* Free any SQLite statements used while processing the previous object */ _rbuObjIterClearStatements(tls, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28590, uintptr(0), uintptr(0), p+64) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28736, uintptr(0), uintptr(0), p+64) } if rc == SQLITE_OK { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 { @@ -186168,6 +187892,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { if rc != int32(SQLITE_ROW) { rc = _resetAndCollectError(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, p+64) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = uintptr(0) + (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = uintptr(0) } else { (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, 0) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, int32(1)) @@ -186248,7 +187973,7 @@ func _rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { Xsqlite3_result_text(tls, pCtx, zIn, -int32(1), libc.UintptrFromInt32(0)) } } else { - if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25741, zIn, uint64(4)) == 0 { + if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25887, zIn, uint64(4)) == 0 { i = int32(4) for { if !(int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) <= int32('9')) { @@ -186285,13 +188010,13 @@ func _rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { _, _ = rc, v1 libc.Xmemset(tls, pIter, 0, uint64(192)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 28761 + v1 = __ccgo_ts + 28907 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28802, libc.VaList(bp+8, v1))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28948, libc.VaList(bp+8, v1))) if rc == SQLITE_OK { - rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+28952) + rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+29098) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = int32(1) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -186459,7 +188184,7 @@ func _rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { rc = Xsqlite3_finalize(tls, pStmt) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && rc != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } @@ -186521,7 +188246,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 _ = libc.Int32FromInt32(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29077, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29223, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0]) != int32(SQLITE_ROW) { /* Either an error, or no such table. */ goto rbuTableType_end @@ -186531,7 +188256,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0], int32(1)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29196, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29342, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { goto rbuTableType_end } @@ -186539,7 +188264,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu zOrig = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(3)) zIdx = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(1)) if zOrig != 0 && zIdx != 0 && int32(*(*Tu8)(unsafe.Pointer(zOrig))) == int32('p') { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29217, libc.VaList(bp+40, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29363, libc.VaList(bp+40, zIdx))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)]) == int32(SQLITE_ROW) { *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)], 0) @@ -186551,7 +188276,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29268, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29414, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { for Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)]) == int32(SQLITE_ROW) { if Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)], int32(5)) > 0 { @@ -186595,7 +188320,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { bIndex = 0 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.Xmemcpy(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29289, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29435, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -186608,7 +188333,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { if bPartial != 0 { libc.Xmemset(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, int32(0x01), uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+24, zIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) if iCid >= 0 { @@ -186662,7 +188387,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 _rbuTableType(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+8, pIter+108) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+19904, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+20036, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc @@ -186674,7 +188399,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 /* Populate the azTblCol[] and nTblCol variables based on the columns ** of the input table. Ignore any input table columns that begin with ** "rbu_". */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29346, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29492, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp))) _rbuAllocateIterArrays(tls, p, pIter, nCol) @@ -186685,7 +188410,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 break } zName = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), i) - if Xsqlite3_strnicmp(tls, __ccgo_ts+29365, zName, int32(4)) != 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+29511, zName, int32(4)) != 0 { zCopy = _rbuStrndup(tls, zName, p+56) *(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol v3 = pIter + 16 @@ -186693,7 +188418,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 *(*int32)(unsafe.Pointer(v3))++ *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(v2)*8)) = zCopy } else { - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29370, zName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29516, zName) { bRbuRowid = int32(1) } } @@ -186707,17 +188432,17 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && bRbuRowid != libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) if bRbuRowid != 0 { - v4 = __ccgo_ts + 29380 + v4 = __ccgo_ts + 29526 } else { - v4 = __ccgo_ts + 29393 + v4 = __ccgo_ts + 29539 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29402, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29548, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) } /* Check that all non-HIDDEN columns in the destination table are also ** present in the input table. Populate the abTblPk[], azTblType[] and ** aiTblOrder[] arrays at the same time. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29431, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29577, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zName1 = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -186739,7 +188464,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 } if i == (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29453, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29599, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) } else { iPk = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) bNotNull = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) @@ -186781,15 +188506,15 @@ func _rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) var z, zList, zSep uintptr _, _, _, _ = i, z, zList, zSep zList = uintptr(0) - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } z = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+29480, libc.VaList(bp+8, zList, zSep, z)) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+29626, libc.VaList(bp+8, zList, zSep, z)) + zSep = __ccgo_ts + 15083 goto _1 _1: ; @@ -186814,7 +188539,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, _, _, _, _, _ = i, iPk, zCol, zRet, zSep iPk = int32(1) zRet = uintptr(0) - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 for int32(1) != 0 { i = 0 for { @@ -186823,7 +188548,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, } if int32(*(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29489, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29635, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -186871,21 +188596,21 @@ func _rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zRet = uintptr(0) if bRowid != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29502, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29648, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iMax = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29534, libc.VaList(bp+16, iMax)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29680, libc.VaList(bp+16, iMax)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1648, __ccgo_ts+14990, __ccgo_ts+29557) - zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29563, __ccgo_ts+29570, __ccgo_ts+5106) - zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1648, __ccgo_ts+14990, __ccgo_ts+1648) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1662, __ccgo_ts+15083, __ccgo_ts+29703) + zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29709, __ccgo_ts+29716, __ccgo_ts+5170) + zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1662, __ccgo_ts+15083, __ccgo_ts+1662) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29578, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29724, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zVal = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29620, libc.VaList(bp+16, zList, zVal)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29766, libc.VaList(bp+16, zList, zVal)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } @@ -186934,10 +188659,10 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 iCol = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(4)) @@ -186960,15 +188685,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _ = libc.Int32FromInt32(0) zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { - zCol = __ccgo_ts + 29640 + zCol = __ccgo_ts + 29786 } } else { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) } - zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29648, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29669, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29705, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) - zSep = __ccgo_ts + 14990 + zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29794, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29815, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) + zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29851, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) + zSep = __ccgo_ts + 15083 iCol++ } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) @@ -186977,9 +188702,9 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29732, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29878, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 iCol = 0 for { if !(iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -186994,15 +188719,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { break } } - zVector = _rbuMPrintf(tls, p, __ccgo_ts+29780, libc.VaList(bp+24, zVector, zSep, zQuoted)) - zSep = __ccgo_ts + 14990 + zVector = _rbuMPrintf(tls, p, __ccgo_ts+29926, libc.VaList(bp+24, zVector, zSep, zQuoted)) + zSep = __ccgo_ts + 15083 goto _2 _2: ; iCol++ } if !(bFailed != 0) { - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29787, libc.VaList(bp+24, zLhs, zVector)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29933, libc.VaList(bp+24, zLhs, zVector)) } } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -187056,12 +188781,12 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zImpPK = uintptr(0) /* String to return via *pzImposterPK */ zWhere = uintptr(0) /* String to return via *pzWhere */ nBind = 0 /* Value to return via *pnBind */ - zCom = __ccgo_ts + 1648 /* Set to ", " later on */ - zAnd = __ccgo_ts + 1648 /* Set to " AND " later on */ + zCom = __ccgo_ts + 1662 /* Set to ", " later on */ + zAnd = __ccgo_ts + 1662 /* Set to " AND " later on */ *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_xinfo = ? */ if rc == SQLITE_OK { _ = libc.Int32FromInt32(0) - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -187070,8 +188795,8 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = uintptr(0) if iCid == -int32(2) { iSeq = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29799, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) - zType = __ccgo_ts + 1648 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29945, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) + zType = __ccgo_ts + 1662 } else { if iCid < 0 { /* An integer primary key. If the table has an explicit IPK, use @@ -187091,9 +188816,9 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - zCol = __ccgo_ts + 29640 + zCol = __ccgo_ts + 29786 } else { - zCol = __ccgo_ts + 29370 + zCol = __ccgo_ts + 29516 } } zType = __ccgo_ts + 1136 @@ -187101,24 +188826,24 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) zType = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)) } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29821, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29967, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) } if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) != 0 { if bDesc != 0 { - v2 = __ccgo_ts + 29557 + v2 = __ccgo_ts + 29703 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } zOrder = v2 - zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29841, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) + zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29987, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+29862, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) - zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+29895, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) + zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+30008, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) + zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+30041, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) { rc = int32(SQLITE_NOMEM) } - zCom = __ccgo_ts + 14990 - zAnd = __ccgo_ts + 22013 + zCom = __ccgo_ts + 15083 + zAnd = __ccgo_ts + 22158 nBind++ } rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -187164,7 +188889,7 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr _, _, _, _ = i, zCol, zList, zS zList = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zS = __ccgo_ts + 1648 + zS = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187172,11 +188897,11 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29919, libc.VaList(bp+8, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30065, libc.VaList(bp+8, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29931, libc.VaList(bp+8, zList, zS)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30077, libc.VaList(bp+8, zList, zS)) } - zS = __ccgo_ts + 14990 + zS = __ccgo_ts + 15083 if zList == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) break @@ -187188,7 +188913,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 (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29940, libc.VaList(bp+8, zList, zObj)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30086, libc.VaList(bp+8, zList, zObj)) } } return zList @@ -187214,27 +188939,27 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _ = i, i1, zCol, zList, zSep, zSep1 zList = uintptr(0) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29955, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30101, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29969, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) - zSep = __ccgo_ts + 22013 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30115, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) + zSep = __ccgo_ts + 22158 } goto _1 _1: ; i++ } - zList = _rbuMPrintf(tls, p, __ccgo_ts+29981, libc.VaList(bp+8, zList)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30127, libc.VaList(bp+8, zList)) } else { - zSep1 = __ccgo_ts + 1648 + zSep1 = __ccgo_ts + 1662 i1 = 0 for { if !(i1 < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187242,8 +188967,8 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i1))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i1)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+30031, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) - zSep1 = __ccgo_ts + 22013 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30177, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) + zSep1 = __ccgo_ts + 22158 } goto _2 _2: @@ -187266,7 +188991,7 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { // */ func _rbuBadControlError(tls *libc.TLS, p uintptr) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30044, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30190, 0) } // C documentation @@ -187300,7 +189025,7 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt if int32(libc.Xstrlen(tls, zMask)) != (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { _rbuBadControlError(tls, p) } else { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187308,16 +189033,16 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt } c = *(*uint8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) if int32(c) == int32('x') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30031, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30177, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15083 } else { if int32(c) == int32('d') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30070, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30216, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15083 } else { if int32(c) == int32('f') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30100, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30246, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15083 } } } @@ -187402,16 +189127,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { z = uintptr(0) _ = libc.Int32FromInt32(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zSep = __ccgo_ts + 30137 + zSep = __ccgo_ts + 30283 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_list = (pIter->zTbl) */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA index_xinfo = */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29289, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29435, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) - if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16582) == 0 { + if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16669) == 0 { zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+24, zIdx))) } break } @@ -187422,16 +189147,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { /* int iCid = sqlite3_column_int(pXInfo, 0); */ zCol = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(2)) if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) != 0 { - v1 = __ccgo_ts + 29557 + v1 = __ccgo_ts + 29703 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } zDesc = v1 - z = _rbuMPrintf(tls, p, __ccgo_ts+30150, libc.VaList(bp+24, z, zSep, zCol, zDesc)) - zSep = __ccgo_ts + 14990 + z = _rbuMPrintf(tls, p, __ccgo_ts+30296, libc.VaList(bp+24, z, zSep, zCol, zDesc)) + zSep = __ccgo_ts + 15083 } } - z = _rbuMPrintf(tls, p, __ccgo_ts+30161, libc.VaList(bp+24, z)) + z = _rbuMPrintf(tls, p, __ccgo_ts+30307, libc.VaList(bp+24, z)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) } return z @@ -187471,13 +189196,13 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* SELECT name ... WHERE rootpage = $tnum */ zIdx = uintptr(0) /* Name of PK index */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA main.index_xinfo = $zIdx */ - zComma = __ccgo_ts + 1648 + zComma = __ccgo_ts + 1662 zCols = uintptr(0) /* Used to build up list of table cols */ zPk = uintptr(0) /* Used to build up table PK declaration */ /* 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. */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30165) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30311) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), tnum) if int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -187485,7 +189210,7 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { } } if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+24, zIdx))) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { @@ -187494,21 +189219,21 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) bDesc = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(4)) - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30215, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30361, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) if bDesc != 0 { - v1 = __ccgo_ts + 29557 + v1 = __ccgo_ts + 29703 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - zPk = _rbuMPrintf(tls, p, __ccgo_ts+30237, libc.VaList(bp+24, zPk, zComma, iCid, v1)) - zComma = __ccgo_ts + 14990 + zPk = _rbuMPrintf(tls, p, __ccgo_ts+30383, libc.VaList(bp+24, zPk, zComma, iCid, v1)) + zComma = __ccgo_ts + 15083 } } - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30247, libc.VaList(bp+24, zCols)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30393, libc.VaList(bp+24, zCols)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30262, libc.VaList(bp+24, zCols, zPk)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30408, libc.VaList(bp+24, zCols, zPk)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, 0)) } } @@ -187543,30 +189268,30 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { _, _, _, _, _, _, _, _, _ = iCol, tnum, zCol, zComma, zPk, zPk1, zSql, v2, v3 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { tnum = (*TRbuObjIter)(unsafe.Pointer(pIter)).FiTnum - zComma = __ccgo_ts + 1648 + zComma = __ccgo_ts + 1662 zSql = uintptr(0) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, int32(1))) iCol = 0 for { if !((*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } - zPk = __ccgo_ts + 1648 + zPk = __ccgo_ts + 1662 zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_IPK) && *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 { /* If the target table column is an "INTEGER PRIMARY KEY", add ** "PRIMARY KEY" to the imposter table column declaration. */ - zPk = __ccgo_ts + 30324 + zPk = __ccgo_ts + 30470 } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - v2 = __ccgo_ts + 30337 + v2 = __ccgo_ts + 30483 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30347, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) - zComma = __ccgo_ts + 14990 + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30493, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) + zComma = __ccgo_ts + 15083 goto _1 _1: ; @@ -187575,17 +189300,17 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { zPk1 = _rbuWithoutRowidPK(tls, p, pIter) if zPk1 != 0 { - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30374, libc.VaList(bp+16, zSql, zPk1)) + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30520, libc.VaList(bp+16, zSql, zPk1)) } } - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(1), tnum)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(1), tnum)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { - v3 = __ccgo_ts + 30381 + v3 = __ccgo_ts + 30527 } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30396, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30542, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, 0)) } } @@ -187612,7 +189337,7 @@ func _rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zColli zBind = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1)+bRbuRowid) if zBind != 0 { _ = libc.Int32FromInt32(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30428, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30574, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -187660,7 +189385,7 @@ func _rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintpt zRet = uintptr(0) _ = libc.Int32FromInt32(0) if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30485) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30631) } if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx, -int32(1), libc.UintptrFromInt32(0)) @@ -187831,7 +189556,7 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zIdx = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx zLimit = uintptr(0) if nOffset != 0 { - zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30551, libc.VaList(bp+40, nOffset)) + zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30697, libc.VaList(bp+40, nOffset)) if !(zLimit != 0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) } @@ -187849,18 +189574,18 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zCollist = _rbuObjIterGetIndexCols(tls, p, pIter, bp, bp+8, bp+16, bp+24) zBind = _rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 24))) /* Create the imposter table used to write to this index. */ - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, int32(1))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30571, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30717, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, 0)) /* Create the statement to insert index entries */ (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 24)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30636, libc.VaList(bp+40, zTbl, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30782, libc.VaList(bp+40, zTbl, zBind))) } /* And to delete index entries */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30672, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30818, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) } /* Create the SELECT statement to read keys in sorted order */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -187875,26 +189600,26 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } if zStart != 0 { if zPart != 0 { - v2 = __ccgo_ts + 30706 + v2 = __ccgo_ts + 30852 } else { - v2 = __ccgo_ts + 30710 + v2 = __ccgo_ts + 30856 } v1 = v2 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30716, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30862, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) Xsqlite3_free(tls, zStart) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30777, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30923, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { if zPart != 0 { - v3 = __ccgo_ts + 30706 + v3 = __ccgo_ts + 30852 } else { - v3 = __ccgo_ts + 30710 + v3 = __ccgo_ts + 30856 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30838, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30984, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -187913,62 +189638,62 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zTbl1 = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl /* Imposter table name */ zBindings = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+bRbuRowid) zWhere1 = _rbuObjIterGetWhere(tls, p, pIter) - zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6596) - zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6592) + zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6660) + zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6656) zCollist = _rbuObjIterGetCollist(tls, p, pIter) (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol /* Create the imposter table or tables (if required). */ _rbuCreateImposterTable(tls, p, pIter) _rbuCreateImposterTable2(tls, p, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) { - v4 = __ccgo_ts + 1648 + v4 = __ccgo_ts + 1662 } else { - v4 = __ccgo_ts + 30997 + v4 = __ccgo_ts + 31143 } zWrite = v4 /* Create the INSERT statement to write to the target PK b-tree */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if bRbuRowid != 0 { - v5 = __ccgo_ts + 31006 + v5 = __ccgo_ts + 31152 } else { - v5 = __ccgo_ts + 1648 + v5 = __ccgo_ts + 1662 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31016, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31162, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) } /* Create the DELETE statement to write to the target PK b-tree. ** Because it only performs INSERT operations, this is not required for ** an rbu vacuum handle. */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31052, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31198, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) } if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zRbuRowid = __ccgo_ts + 1648 + zRbuRowid = __ccgo_ts + 1662 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zRbuRowid = __ccgo_ts + 31080 + zRbuRowid = __ccgo_ts + 31226 } /* Create the rbu_tmp_xxx table and the triggers to populate it. */ if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - v6 = __ccgo_ts + 31092 + v6 = __ccgo_ts + 31238 } else { - v6 = __ccgo_ts + 1648 + v6 = __ccgo_ts + 1662 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31109, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31185, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31255, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31331, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31484, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31630, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) } _rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) } /* Create the SELECT statement to read keys from data_xxx */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zRbuRowid1 = __ccgo_ts + 1648 + zRbuRowid1 = __ccgo_ts + 1662 zStart1 = uintptr(0) zOrder = uintptr(0) if bRbuRowid != 0 { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v7 = __ccgo_ts + 31583 + v7 = __ccgo_ts + 31729 } else { - v7 = __ccgo_ts + 31593 + v7 = __ccgo_ts + 31739 } zRbuRowid1 = v7 } @@ -187981,28 +189706,28 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } } if bRbuRowid != 0 { - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29640, 0) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29786, 0) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1648, __ccgo_ts+14990, __ccgo_ts+1648) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1662, __ccgo_ts+15083, __ccgo_ts+1662) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v8 = __ccgo_ts + 31604 + v8 = __ccgo_ts + 31750 } else { - v8 = __ccgo_ts + 1648 + v8 = __ccgo_ts + 1662 } if zStart1 != 0 { v9 = zStart1 } else { - v9 = __ccgo_ts + 1648 + v9 = __ccgo_ts + 1662 } if zOrder != 0 { - v10 = __ccgo_ts + 23207 + v10 = __ccgo_ts + 23352 } else { - v10 = __ccgo_ts + 1648 + v10 = __ccgo_ts + 1662 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31610, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31756, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) } Xsqlite3_free(tls, zStart1) Xsqlite3_free(tls, zOrder) @@ -188089,11 +189814,11 @@ func _rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, p (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpNext = (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - zPrefix = __ccgo_ts + 1648 + zPrefix = __ccgo_ts + 1662 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { - zPrefix = __ccgo_ts + 30997 + zPrefix = __ccgo_ts + 31143 } - zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31658, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) + zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31804, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate) *(*uintptr)(unsafe.Pointer(ppStmt)) = (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpUpdate } @@ -188120,7 +189845,7 @@ func _rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) (r } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp, flags, v1) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp))) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) } @@ -188167,7 +189892,7 @@ func _rbuLoadState(tls *libc.TLS, p uintptr) (r uintptr) { if pRet == uintptr(0) { return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31688, libc.VaList(bp+24, p+48))) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31834, libc.VaList(bp+24, p+48))) for *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) { case int32(RBU_STATE_STAGE): @@ -188229,27 +189954,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu = _rbuOpenDbhandle(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, int32(1)) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain = dbMain if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBUCNT), p) + Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBUCNT), p) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) { - zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31718, libc.VaList(bp+8, zFile, zFile)) + zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31864, libc.VaList(bp+8, zFile, zFile)) } } /* If using separate RBU and state databases, attach the state database to ** the RBU db handle now. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31746, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48, __ccgo_ts+3418, uint64(4)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31892, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+3482, uint64(4)) } else { - libc.Xmemcpy(tls, p+48, __ccgo_ts+6585, uint64(4)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+6649, uint64(4)) } /* If it has not already been created, create the rbu_state table */ - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31764, libc.VaList(bp+8, p+48)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31910, libc.VaList(bp+8, p+48)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { bOpen = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBUCNT), p) + rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBUCNT), p) if rc != int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -188282,10 +190007,10 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) return } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31830, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31976, 0) } else { zExtra = uintptr(0) - if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24596, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { + if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24719, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { zExtra = (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5 for *(*uint8)(unsafe.Pointer(zExtra)) != 0 { v1 = zExtra @@ -188299,16 +190024,16 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if zExtra == uintptr(0) { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } else { - v2 = __ccgo_ts + 31862 + v2 = __ccgo_ts + 32008 } if zExtra == uintptr(0) { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } else { v3 = zExtra } - zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+31864, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585), v2, v3)) + zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+32010, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649), v2, v3)) if zTarget == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) return @@ -188319,27 +190044,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31896, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32042, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31911, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32057, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31928, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32074, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBU), p) } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31944, 0) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32090, 0) /* Mark the database file just opened as an RBU target database. If ** this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. ** This is an error. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBU), p) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31972, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32118, 0) } } @@ -188389,7 +190114,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) { pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = int64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))<= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+32972, zState+uintptr(n-int32(7)), uint64(7)) { + if n >= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33118, zState+uintptr(n-int32(7)), uint64(7)) { return _rbuMisuseError(tls) } } @@ -189631,7 +191356,7 @@ func _rbuEditErrmsg(tls *libc.TLS, p uintptr) { if !(uint64(i) < nErrmsg-uint64(8)) { break } - if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+30997, uint64(8)) == 0 { + if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31143, uint64(8)) == 0 { nDel = int32(8) for int32(*(*uint8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= int32('9') { nDel++ @@ -189659,7 +191384,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { if p != 0 { /* Commit the transaction to the *-oal file. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14894, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14987, uintptr(0), uintptr(0), p+64) } /* Sync the db file if currently doing an incremental checkpoint */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) { @@ -189668,7 +191393,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { } _rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14894, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14987, uintptr(0), uintptr(0), p+64) } /* Close any open statement handles. */ _rbuObjIterFinalize(tls, p+80) @@ -189678,7 +191403,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { ** specifying the current target and state databases to start a new ** vacuum from scratch. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 { - rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32980, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33126, uintptr(0), uintptr(0), uintptr(0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_DONE) && rc2 != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -189793,7 +191518,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14894, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14987, uintptr(0), uintptr(0), uintptr(0)) } } /* Sync the db file */ @@ -189807,19 +191532,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14894, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14987, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 14879 + v1 = __ccgo_ts + 14972 } else { - v1 = __ccgo_ts + 32932 + v1 = __ccgo_ts + 33078 } zBegin = v1 rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32932, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33078, uintptr(0), uintptr(0), uintptr(0)) } } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -190393,7 +192118,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xControl})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, int32(SQLITE_FCNTL_ZIPVFS), bp) if rc == SQLITE_OK { rc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33007, 0) + (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33153, 0) } else { if rc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p @@ -190419,7 +192144,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r if rc == SQLITE_OK && op == int32(SQLITE_FCNTL_VFSNAME) { pRbuVfs = (*Trbu_file)(unsafe.Pointer(p)).FpRbuVfs zIn = *(*uintptr)(unsafe.Pointer(pArg)) - zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33030, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33176, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -190620,7 +192345,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag if pDb != 0 { if (*Trbu_file)(unsafe.Pointer(pDb)).FpRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FeStage == int32(RBU_STAGE_OAL) { if (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6585) + zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6649) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -190634,7 +192359,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag } else { (*Trbu_file)(unsafe.Pointer(pFd)).FpRbu = (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRbu } - if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33041, 0) != 0 { + if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33187, 0) != 0 { _ = libc.Int32FromInt32(0) oflags = libc.Int32FromInt32(SQLITE_OPEN_TEMP_DB) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_EXCLUSIVE) | libc.Int32FromInt32(SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -191189,7 +192914,7 @@ func _statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint _sqlite3TokenInit(tls, bp, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = _sqlite3FindDb(tls, db, bp) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12191, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12316, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return int32(SQLITE_ERROR) } } else { @@ -191692,7 +193417,7 @@ statNextRestart: (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiPgno = iRoot (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33052, 0) + v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33198, 0) z = v1 (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FzPath = v1 if z == uintptr(0) { @@ -191730,8 +193455,8 @@ statNextRestart: if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { (*TStatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*TStatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*TStatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*Tu32)(unsafe.Pointer((*TStatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33054 - v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33063, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33200 + v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33209, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) z = v2 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v2 if z == uintptr(0) { @@ -191760,7 +193485,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage++ if (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage >= int32(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) { _statResetCsr(tls, pCsr) - return _sqlite3CorruptError(tls, int32(222551)) + return _sqlite3CorruptError(tls, int32(224206)) } _ = libc.Int32FromInt32(0) if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell { @@ -191772,7 +193497,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnPage++ (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33075, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) + v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33221, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) z = v4 (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FzPath = v4 if z == uintptr(0) { @@ -191795,13 +193520,13 @@ statNextRestart: case int32(0x05): /* table internal */ fallthrough case int32(0x02): /* index internal */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33083 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33229 case int32(0x0D): /* table leaf */ fallthrough case int32(0x0A): /* index leaf */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33092 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33238 default: - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33097 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33243 break } *(*int32)(unsafe.Pointer(pCsr + 2108)) += (*TStatPage)(unsafe.Pointer(p1)).FnCell @@ -191810,7 +193535,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnMxPayload = (*TStatPage)(unsafe.Pointer(p1)).FnMxPayload } if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) + v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) z = v5 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v5 if z == uintptr(0) { @@ -191899,12 +193624,12 @@ func _statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, a (*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg = uint8(0) } pSql = Xsqlite3_str_new(tls, (*TStatTable)(unsafe.Pointer(pTab)).Fdb) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33107, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33253, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33262, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33408, libc.VaList(bp+8, zName)) } if idxNum&int32(0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33276, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33422, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -191981,7 +193706,7 @@ func _statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) (r int32) { // ** Invoke this routine to register the "dbstat" virtual table module // */ func _sqlite3DbstatRegister(tls *libc.TLS, db uintptr) (r int32) { - return Xsqlite3_create_module(tls, db, __ccgo_ts+33291, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, __ccgo_ts+33437, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) } var _dbstat_module = Tsqlite3_module{} @@ -193270,20 +194995,20 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, *(*uintptr)(unsafe.Pointer(pazDflt)) = uintptr(0) } nThis = _sqlite3Strlen30(tls, zThis) - if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11582, zThis) { + if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11707, zThis) { rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { /* For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. */ - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33298, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33444, 0) } else { if rc == int32(SQLITE_ERROR) { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1648, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1662, 0) } else { return rc } } } else { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33419, libc.VaList(bp+16, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33565, libc.VaList(bp+16, zDb, zThis)) } if !(zPragma != 0) { return int32(SQLITE_NOMEM) @@ -193307,7 +195032,7 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, bRowid = 0 } nDbCol += bRowid - nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+29640)) + nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+29786)) rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == SQLITE_OK { nByte = Tsqlite3_int64(uint64(nByte) + uint64(nDbCol)*(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(2)+libc.Uint64FromInt64(1)+libc.Uint64FromInt32(1)+libc.Uint64FromInt32(1))) @@ -193331,8 +195056,8 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 if bRowid != 0 { - nName = libc.Xstrlen(tls, __ccgo_ts+29640) - libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29640, nName+uint64(1)) + nName = libc.Xstrlen(tls, __ccgo_ts+29786) + libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29786, nName+uint64(1)) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc pAlloc += uintptr(nName + uint64(1)) *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) = uint8(1) @@ -193425,7 +195150,7 @@ func _sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr, db uintptr ; i++ } - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11582, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11707, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { (*TSessionTable)(unsafe.Pointer(pTab)).FbStat1 = int32(1) } if pSession != 0 && (*Tsqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { @@ -193717,10 +195442,10 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin _, _, _, _ = ii, zDflt, zSep, v2 *(*TSessionBuffer)(unsafe.Pointer(bp)) = TSessionBuffer{} *(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK - zSep = __ccgo_ts + 11202 + zSep = __ccgo_ts + 11327 ii = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33448, 0) + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33594, 0) ii = 0 for { if !(ii < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol) { @@ -193729,11 +195454,11 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin if *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) != 0 { v2 = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) } else { - v2 = __ccgo_ts + 1649 + v2 = __ccgo_ts + 1663 } zDflt = v2 - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5076, libc.VaList(bp+32, zSep, zDflt)) - zSep = __ccgo_ts + 14990 + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5140, libc.VaList(bp+32, zSep, zDflt)) + zSep = __ccgo_ts + 15083 goto _1 _1: ; @@ -194052,7 +195777,7 @@ func _sessionPreupdateOneChange(tls *libc.TLS, op int32, iRowid Ti64, pSession u rc = int32(SQLITE_NOMEM) goto error_out } - _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1648, uint8(0), libc.UintptrFromInt32(0)) + _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1662, uint8(0), libc.UintptrFromInt32(0)) (*Tsqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p } } @@ -194383,7 +196108,7 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr var i int32 var zRet, zSep uintptr _, _, _ = i, zRet, zSep - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 zRet = uintptr(0) i = 0 for { @@ -194391,8 +196116,8 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr break } if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33455, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 22013 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33601, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 22158 if zRet == uintptr(0) { break } @@ -194411,7 +196136,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint var bHave, i int32 var zRet, zSep uintptr _, _, _, _ = bHave, i, zRet, zSep - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 zRet = uintptr(0) bHave = 0 i = 0 @@ -194421,8 +196146,8 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if int32(*(*Tu8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = int32(1) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33489, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 33530 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33635, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 33676 if zRet == uintptr(0) { break } @@ -194434,7 +196159,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if bHave == 0 { _ = libc.Int32FromInt32(0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1722, 0) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1782, 0) } return zRet } @@ -194445,12 +196170,12 @@ func _sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, bRowid int var zRet, zSel, v1 uintptr _, _, _ = zRet, zSel, v1 if bRowid != 0 { - v1 = __ccgo_ts + 33535 + v1 = __ccgo_ts + 33681 } else { - v1 = __ccgo_ts + 6590 + v1 = __ccgo_ts + 6654 } zSel = v1 - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33546, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33692, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -194511,11 +196236,11 @@ func _sessionAllCols(tls *libc.TLS, zDb uintptr, pTab uintptr) (r uintptr) { break } if zRet != 0 { - v2 = __ccgo_ts + 14990 + v2 = __ccgo_ts + 15083 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33625, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33771, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) if !(zRet != 0) { break } @@ -194543,7 +196268,7 @@ func _sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFr } else { z1 = _sessionAllCols(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, pTab) z2 = _sessionAllCols(tls, zFrom, pTab) - zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33644, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) + zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33790, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) if zStmt == uintptr(0) || z1 == uintptr(0) || z2 == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -194643,7 +196368,7 @@ func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl u Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if bMismatch != 0 { if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33701, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33847, 0) } rc = int32(SQLITE_SCHEMA) } @@ -194975,7 +196700,7 @@ func _sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* aBuf at bp+0 */ [24]uint8 - Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5138, libc.VaList(bp+32, iVal)) + Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5202, libc.VaList(bp+32, iVal)) _sessionAppendStr(tls, p, bp, pRc) } @@ -195270,23 +196995,23 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt _, _, _, _, _, _, _ = i, nSql, zCols, zSep, zSql, v1, v3 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK zSql = uintptr(0) - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 if bRowid != 0 { - v1 = __ccgo_ts + 33535 + v1 = __ccgo_ts + 33681 } else { - v1 = __ccgo_ts + 6590 + v1 = __ccgo_ts + 6654 } zCols = v1 nSql = -int32(1) *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 24)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 40)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+33728, bp) - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11582, zTab) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+33732, bp) - _sessionAppendStr(tls, bp+24, __ccgo_ts+33756, bp) - _sessionAppendStr(tls, bp+40, __ccgo_ts+33765, bp) - zCols = __ccgo_ts + 33810 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33874, bp) + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11707, zTab) { + _sessionAppendStr(tls, bp+8, __ccgo_ts+33878, bp) + _sessionAppendStr(tls, bp+24, __ccgo_ts+33902, bp) + _sessionAppendStr(tls, bp+40, __ccgo_ts+33911, bp) + zCols = __ccgo_ts + 33956 } else { i = 0 for { @@ -195296,11 +197021,11 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { _sessionAppendStr(tls, bp+24, zSep, bp) _sessionAppendStr(tls, bp+40, zSep, bp) - zSep = __ccgo_ts + 14990 + zSep = __ccgo_ts + 15083 _sessionAppendIdent(tls, bp+24, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp) - _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33824, libc.VaList(bp+64, i+int32(1))) + _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33970, libc.VaList(bp+64, i+int32(1))) } else { - _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33828, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33974, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) } goto _2 _2: @@ -195312,9 +197037,9 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if bIgnoreNoop != 0 { v3 = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+33855, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+34001, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) if zSql == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } @@ -195460,7 +197185,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+33897, uintptr(0), uintptr(0), uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+34043, uintptr(0), uintptr(0), uintptr(0)) if *(*int32)(unsafe.Pointer(bp + 16)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -195567,7 +197292,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, } } Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf) - Xsqlite3_exec(tls, db, __ccgo_ts+33917, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34063, uintptr(0), uintptr(0), uintptr(0)) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -195988,7 +197713,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, int32(9)) if rc == SQLITE_OK { if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData { - rc = _sqlite3CorruptError(tls, int32(226700)) + rc = _sqlite3CorruptError(tls, int32(228355)) } else { v3 = pIn + 8 v2 = *(*int32)(unsafe.Pointer(v3)) @@ -196013,7 +197738,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = _sqlite3CorruptError(tls, int32(226720)) + rc = _sqlite3CorruptError(tls, int32(228375)) } else { if eType == int32(SQLITE_TEXT) { v4 = int32(SQLITE_UTF8) @@ -196028,7 +197753,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap } if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) { if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) { - rc = _sqlite3CorruptError(tls, int32(226730)) + rc = _sqlite3CorruptError(tls, int32(228385)) } else { *(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal) if eType == int32(SQLITE_INTEGER) { @@ -196084,7 +197809,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) ( ** large value for nCol may cause nRead to wrap around and become ** negative. Leading to a crash. */ if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) { - rc = _sqlite3CorruptError(tls, int32(226778)) + rc = _sqlite3CorruptError(tls, int32(228433)) } else { rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100)) nRead += *(*int32)(unsafe.Pointer(bp)) @@ -196190,7 +197915,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) { (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 _sessionBufferGrow(tls, p+72, int64(nByte), bp) } else { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(226866)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(228521)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -196263,12 +197988,12 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { return (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc } + _sessionDiscardData(tls, p) + (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext /* If the iterator is already at the end of the changeset, return DONE. */ if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { return int32(SQLITE_DONE) } - _sessionDiscardData(tls, p) - (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext v3 = p + 8 v2 = *(*int32)(unsafe.Pointer(v3)) *(*int32)(unsafe.Pointer(v3))++ @@ -196299,7 +198024,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin /* The first record in the changeset is not a table header. Must be a ** corrupt changeset. */ _ = libc.Int32FromInt32(0) - v7 = _sqlite3CorruptError(tls, int32(226952)) + v7 = _sqlite3CorruptError(tls, int32(228607)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7 return v7 } @@ -196309,7 +198034,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin *(*int32)(unsafe.Pointer(v9))++ (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8)))) if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) { - v10 = _sqlite3CorruptError(tls, int32(226958)) + v10 = _sqlite3CorruptError(tls, int32(228613)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10 return v10 } @@ -196390,7 +198115,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin _ = libc.Int32FromInt32(0) *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - v16 = _sqlite3CorruptError(tls, int32(227002)) + v16 = _sqlite3CorruptError(tls, int32(228657)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16 return v16 } @@ -196801,7 +198526,7 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu goto finished_invert } default: - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(227367)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(229022)) goto finished_invert } _ = libc.Int32FromInt32(0) @@ -197006,18 +198731,18 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 } if pUp == uintptr(0) { nByte = int32(uint64(24) * uint64(nU32) * uint64(4)) - bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11582) == 0) + bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11707) == 0) pUp = Xsqlite3_malloc(tls, nByte) if pUp == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } else { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 libc.Xmemset(tls, bp+8, 0, uint64(16)) (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24 libc.Xmemcpy(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*TSessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(4)) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33935, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34081, bp) _sessionAppendIdent(tls, bp+8, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33948, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34094, bp) /* Create the assignments part of the UPDATE */ ii = 0 for { @@ -197027,9 +198752,9 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if int32(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33954, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34100, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(1), bp) - zSep = __ccgo_ts + 14990 + zSep = __ccgo_ts + 15083 } goto _2 _2: @@ -197037,8 +198762,8 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 ii++ } /* Create the WHERE clause part of the UPDATE */ - zSep = __ccgo_ts + 1648 - _sessionAppendStr(tls, bp+8, __ccgo_ts+33959, bp) + zSep = __ccgo_ts + 1662 + _sessionAppendStr(tls, bp+8, __ccgo_ts+34105, bp) ii = 0 for { if !(ii < (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { @@ -197048,13 +198773,13 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 _sessionAppendStr(tls, bp+8, zSep, bp) if bStat1 != 0 && ii == int32(1) { _ = libc.Int32FromInt32(0) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33967, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34113, bp) } else { _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34042, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34188, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(2), bp) } - zSep = __ccgo_ts + 22013 + zSep = __ccgo_ts + 22158 } goto _3 _3: @@ -197138,13 +198863,13 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in var _ /* buf at bp+8 */ TSessionBuffer var _ /* rc at bp+0 */ int32 _, _, _ = i, nPk, zSep - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} nPk = 0 - _sessionAppendStr(tls, bp+8, __ccgo_ts+34048, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34194, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33959, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34105, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -197154,9 +198879,9 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in nPk++ _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33954, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34100, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 22013 + zSep = __ccgo_ts + 22158 } goto _1 _1: @@ -197164,10 +198889,10 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in i++ } if nPk < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol { - _sessionAppendStr(tls, bp+8, __ccgo_ts+34066, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34212, bp) _sessionAppendInteger(tls, bp+8, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol+int32(1), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33530, bp) - zSep = __ccgo_ts + 1648 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33676, bp) + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -197176,16 +198901,16 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in if !(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34042, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34188, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 34074 + zSep = __ccgo_ts + 34220 } goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5106, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5170, bp) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+8, uintptr(0)) @@ -197211,7 +198936,7 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in // */ func _sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r int32) { /* TODO */ - return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6585, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) + return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6649, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } // C documentation @@ -197234,16 +198959,16 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+34079, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34225, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+22019, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+22164, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } if i != 0 { - _sessionAppendStr(tls, bp+8, __ccgo_ts+14990, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+15083, bp) } _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) goto _1 @@ -197251,19 +198976,19 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34097, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34243, bp) i = int32(1) for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34108, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34254, bp) goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5106, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5170, bp) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+16, uintptr(0)) } @@ -197286,12 +199011,12 @@ func _sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) (r int func _sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) (r int32) { var rc int32 _ = rc - rc = _sessionSelectRow(tls, db, __ccgo_ts+11582, p) + rc = _sessionSelectRow(tls, db, __ccgo_ts+11707, p) if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34112) + rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34258) } if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34225) + rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34371) } return rc } @@ -197358,7 +199083,7 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { /* The value in the changeset was "undefined". This indicates a ** corrupt changeset blob. */ - rc = _sqlite3CorruptError(tls, int32(227849)) + rc = _sqlite3CorruptError(tls, int32(229504)) } else { rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp))) } @@ -197786,7 +199511,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply } else { if *(*int32)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34369, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34515, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = _sessionBindRow(tls, pIter, __ccgo_fp(Xsqlite3changeset_new), (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) Xsqlite3_bind_int(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol+int32(1), int32(1)) @@ -197799,7 +199524,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34390, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34536, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -197895,10 +199620,10 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbIgnoreNoop = libc.BoolUint8(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_IGNORENOOP) != 0)) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34409, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34555, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34435, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34581, uintptr(0), uintptr(0), uintptr(0)) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) { Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0)) @@ -197929,7 +199654,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui ** non-zero, proceed. */ schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144)))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) + *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { rc = int32(SQLITE_NOMEM) break @@ -197939,7 +199664,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } else { nMinCol = 0 Xsqlite3changeset_pk(tls, pIter, bp+152, uintptr(0)) - rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6585, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) + rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6649, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) if rc != SQLITE_OK { break } @@ -197958,18 +199683,18 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol == 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34465, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34611, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol < *(*int32)(unsafe.Pointer(bp + 136)) { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34509, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34655, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) } else { if *(*int32)(unsafe.Pointer(bp + 136)) < nMinCol || libc.Xmemcmp(tls, (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FabPK, *(*uintptr)(unsafe.Pointer(bp + 152)), uint64(*(*int32)(unsafe.Pointer(bp + 136)))) != 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34580, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34726, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol = *(*int32)(unsafe.Pointer(bp + 136)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11582) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11707) { v2 = _sessionStat1Sql(tls, db, bp+8) rc = v2 if v2 != 0 { @@ -198026,13 +199751,13 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } } } - Xsqlite3_exec(tls, db, __ccgo_ts+34640, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34786, uintptr(0), uintptr(0), uintptr(0)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34670, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34816, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, __ccgo_ts+34694, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, __ccgo_ts+34670, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34840, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34816, uintptr(0), uintptr(0), uintptr(0)) } } _ = libc.Int32FromInt32(0) @@ -198126,6 +199851,7 @@ type Tsqlite3_changegroup1 = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -198492,118 +200218,145 @@ func _sessionChangesetExtendRecord(tls *libc.TLS, pGrp uintptr, pTab uintptr, nC // C documentation // // /* -// ** Add all changes in the changeset traversed by the iterator passed as -// ** the first argument to the changegroup hash tables. +// ** Locate or create a SessionTable object that may be used to add the +// ** change currently pointed to by iterator pIter to changegroup pGrp. +// ** If successful, set output variable (*ppTab) to point to the table +// ** object and return SQLITE_OK. Otherwise, if some error occurs, return +// ** an SQLite error code and leave (*ppTab) set to NULL. // */ -func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { - bp := tls.Alloc(80) - defer tls.Free(80) - var bPkOnly1, bPkOnly2, iHash, nNew, rc int32 - var pExist, pTab, pp, ppTab uintptr - var _ /* aRec at bp+0 */ uintptr - var _ /* abPK at bp+64 */ uintptr - var _ /* bIndirect at bp+48 */ int32 - var _ /* nCol at bp+40 */ int32 - var _ /* nRec at bp+8 */ int32 - var _ /* op at bp+44 */ int32 - var _ /* pChange at bp+56 */ uintptr - var _ /* rec at bp+16 */ TSessionBuffer - var _ /* zNew at bp+32 */ uintptr - _, _, _, _, _, _, _, _, _ = bPkOnly1, bPkOnly2, iHash, nNew, pExist, pTab, pp, ppTab, rc +func _sessionChangesetFindTable(tls *libc.TLS, pGrp uintptr, zTab uintptr, pIter uintptr, ppTab uintptr) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var nTab, rc int32 + var pTab, ppNew uintptr + var _ /* abPK at bp+0 */ uintptr + var _ /* nCol at bp+8 */ int32 + _, _, _, _ = nTab, pTab, ppNew, rc rc = SQLITE_OK pTab = uintptr(0) - *(*TSessionBuffer)(unsafe.Pointer(bp + 16)) = TSessionBuffer{} - for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { - pExist = uintptr(0) - /* Ensure that only changesets, or only patchsets, but not a mixture - ** of both, are being combined. It is an error to try to combine a - ** changeset and a patchset. */ - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset - } else { - if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { - rc = int32(SQLITE_ERROR) - break - } + nTab = int32(libc.Xstrlen(tls, zTab)) + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(ppTab)) = uintptr(0) + Xsqlite3changeset_pk(tls, pIter, bp, bp+8) + /* Search the list for an existing table */ + pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList + for { + if !(pTab != 0) { + break } - Xsqlite3changeset_op(tls, pIter, bp+32, bp+40, bp+44, bp+48) - if !(pTab != 0) || Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), (*TSessionTable)(unsafe.Pointer(pTab)).FzName) != 0 { - /* Search the list for a matching table */ - nNew = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))) - Xsqlite3changeset_pk(tls, pIter, bp+64, uintptr(0)) - pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList - for { - if !(pTab != 0) { - break - } - if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), nNew+int32(1)) { - break - } - goto _1 - _1: - ; - pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext - } - if !(pTab != 0) { - pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 40)))+uint64(nNew)+uint64(1)) - if !(pTab != 0) { - rc = int32(SQLITE_NOMEM) - break - } - libc.Xmemset(tls, pTab, 0, uint64(80)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 40)) - (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 64)), uint64(*(*int32)(unsafe.Pointer(bp + 40)))) - (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 40))) - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), uint64(nNew+int32(1))) - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 - rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) - if rc != 0 { - _ = libc.Int32FromInt32(0) - Xsqlite3_free(tls, pTab) - break - } - } - /* The new object must be linked on to the end of the list, not - ** simply added to the start of it. This is to ensure that the - ** tables within the output of sqlite3changegroup_output() are in - ** the right order. */ - ppTab = pGrp + 8 - for { - if !(*(*uintptr)(unsafe.Pointer(ppTab)) != 0) { - break - } - goto _2 - _2: - ; - ppTab = *(*uintptr)(unsafe.Pointer(ppTab)) - } - *(*uintptr)(unsafe.Pointer(ppTab)) = pTab - } - if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*uintptr)(unsafe.Pointer(bp + 64))) != 0) { - rc = int32(SQLITE_SCHEMA) - break - } + if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, nTab+int32(1)) { + break } - if *(*int32)(unsafe.Pointer(bp + 40)) < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol { - _ = libc.Int32FromInt32(0) - rc = _sessionChangesetExtendRecord(tls, pGrp, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*int32)(unsafe.Pointer(bp + 44)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+16) + goto _1 + _1: + ; + pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext + } + /* If one was not found above, create a new table now */ + if !(pTab != 0) { + pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 8)))+uint64(nTab)+uint64(1)) + if !(pTab != 0) { + return int32(SQLITE_NOMEM) + } + libc.Xmemset(tls, pTab, 0, uint64(80)) + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 8)) + (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp)), uint64(*(*int32)(unsafe.Pointer(bp + 8)))) + (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 8))) + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, uint64(nTab+int32(1))) + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 + rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) if rc != 0 { + _ = libc.Int32FromInt32(0) + Xsqlite3_free(tls, pTab) + return rc + } + } + /* The new object must be linked on to the end of the list, not + ** simply added to the start of it. This is to ensure that the + ** tables within the output of sqlite3changegroup_output() are in + ** the right order. */ + ppNew = pGrp + 8 + for { + if !(*(*uintptr)(unsafe.Pointer(ppNew)) != 0) { break } - *(*uintptr)(unsafe.Pointer(bp)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf - *(*int32)(unsafe.Pointer(bp + 8)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf + goto _2 + _2: + ; + ppNew = *(*uintptr)(unsafe.Pointer(ppNew)) } - if _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { - rc = int32(SQLITE_NOMEM) - break + *(*uintptr)(unsafe.Pointer(ppNew)) = pTab + } + /* Check that the table is compatible. */ + if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp))) != 0) { + rc = int32(SQLITE_SCHEMA) + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + return rc +} + +// C documentation +// +// /* +// ** Add the change currently indicated by iterator pIter to the hash table +// ** belonging to changegroup pGrp. +// */ +func _sessionOneChangeToHash(tls *libc.TLS, pGrp uintptr, pIter uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var aRec, pBuf, pExist, pp uintptr + var bPkOnly1, bPkOnly2, iHash, nRec, rc int32 + var _ /* bIndirect at bp+8 */ int32 + var _ /* nCol at bp+0 */ int32 + var _ /* op at bp+4 */ int32 + var _ /* pChange at bp+16 */ uintptr + var _ /* pTab at bp+24 */ uintptr + var _ /* zTab at bp+32 */ uintptr + _, _, _, _, _, _, _, _, _ = aRec, bPkOnly1, bPkOnly2, iHash, nRec, pBuf, pExist, pp, rc + rc = SQLITE_OK + *(*int32)(unsafe.Pointer(bp)) = 0 + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + iHash = 0 + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) + pExist = uintptr(0) + pp = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) + aRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent+int32(2)) + nRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent - int32(2) + /* Ensure that only changesets, or only patchsets, but not a mixture + ** of both, are being combined. It is an error to try to combine a + ** changeset and a patchset. */ + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = int32(SQLITE_ERROR) } - iHash = int32(_sessionChangeHash(tls, pTab, libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)), *(*uintptr)(unsafe.Pointer(bp)), (*TSessionTable)(unsafe.Pointer(pTab)).FnChange)) + } + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0) + Xsqlite3changeset_op(tls, pIter, bp+32, bp, bp+4, bp+8) + rc = _sessionChangesetFindTable(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 32)), pIter, bp+24) + } + if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) < (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnCol { + pBuf = pGrp + 16 + rc = _sessionChangesetExtendRecord(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), aRec, nRec, pBuf) + aRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + nRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FnBuf + _ = libc.Int32FromInt32(0) + } + if rc == SQLITE_OK && _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 24))) != 0 { + rc = int32(SQLITE_NOMEM) + } + if rc == SQLITE_OK { /* Search for existing entry. If found, remove it from the hash table. - ** Code below may link it back in. - */ - pp = (*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8 + ** Code below may link it back in. */ + iHash = int32(_sessionChangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)), aRec, (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnChange)) + pp = (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8 for { if !(*(*uintptr)(unsafe.Pointer(pp)) != 0) { break @@ -198612,30 +200365,54 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase bPkOnly2 = 0 if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { bPkOnly1 = libc.BoolInt32(int32((*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fop) == int32(SQLITE_DELETE)) - bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)) + bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)) } - if _sessionChangeEqual(tls, pTab, bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp))) != 0 { + if _sessionChangeEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, aRec) != 0 { pExist = *(*uintptr)(unsafe.Pointer(pp)) *(*uintptr)(unsafe.Pointer(pp)) = (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry-- + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry-- break } - goto _3 - _3: + goto _1 + _1: ; pp = *(*uintptr)(unsafe.Pointer(pp)) + 24 } - rc = _sessionChangeMerge(tls, pTab, bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 44)), *(*int32)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+56) - if rc != 0 { + } + if rc == SQLITE_OK { + rc = _sessionChangeMerge(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 4)), *(*int32)(unsafe.Pointer(bp + 8)), aRec, nRec, bp+16) + } + if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { + (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 16)) + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry++ + } + if rc == SQLITE_OK { + rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// C documentation +// +// /* +// ** Add all changes in the changeset traversed by the iterator passed as +// ** the first argument to the changegroup hash tables. +// */ +func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var rc int32 + var _ /* aRec at bp+0 */ uintptr + var _ /* nRec at bp+8 */ int32 + _ = rc + rc = SQLITE_OK + for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { + rc = _sessionOneChangeToHash(tls, pGrp, pIter, bRebase) + if rc != SQLITE_OK { break } - if *(*uintptr)(unsafe.Pointer(bp + 56)) != 0 { - (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) - *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 56)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry++ - } } - Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf) if rc == SQLITE_OK { rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc } @@ -198746,11 +200523,11 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) (r int32) { var rc int32 _, _ = p, rc rc = SQLITE_OK /* New object */ - p = Xsqlite3_malloc(tls, int32(32)) + p = Xsqlite3_malloc(tls, int32(48)) if p == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, p, 0, uint64(32)) + libc.Xmemset(tls, p, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(pp)) = p return rc @@ -198772,7 +200549,7 @@ func Xsqlite3changegroup_schema(tls *libc.TLS, pGrp uintptr, db uintptr, zDb uin ** or after sqlite3changegroup_schema() has already been called. */ rc = int32(SQLITE_MISUSE) } else { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, zDb)) + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, zDb)) if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -198802,6 +200579,19 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin return rc } +// C documentation +// +// /* +// ** Add a single change to a changeset-group. +// */ +func Xsqlite3changegroup_add_change(tls *libc.TLS, pGrp uintptr, pIter uintptr) (r int32) { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent == (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc != SQLITE_OK || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbInvert != 0 { + /* Iterator does not point to any valid entry or is an INVERT iterator. */ + return int32(SQLITE_ERROR) + } + return _sessionOneChangeToHash(tls, pGrp, pIter, 0) +} + // C documentation // // /* @@ -198849,6 +200639,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { if pGrp != 0 { Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Frec.FaBuf) Xsqlite3_free(tls, pGrp) } } @@ -199216,11 +201007,11 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) (r int32) { var rc int32 _, _ = pNew, rc rc = SQLITE_OK - pNew = Xsqlite3_malloc(tls, int32(32)) + pNew = Xsqlite3_malloc(tls, int32(48)) if pNew == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, pNew, 0, uint64(32)) + libc.Xmemset(tls, pNew, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(ppNew)) = pNew return rc @@ -199294,6 +201085,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { if p != 0 { _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.Frec.FaBuf) Xsqlite3_free(tls, p) } } @@ -199925,6 +201717,9 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** sqlite3Fts5ParserARG_STORE Code to store %extra_argument into fts5yypParser // ** sqlite3Fts5ParserARG_FETCH Code to extract %extra_argument from fts5yypParser // ** sqlite3Fts5ParserCTX_* As sqlite3Fts5ParserARG_ except for %extra_context +// ** fts5YYREALLOC Name of the realloc() function to use +// ** fts5YYFREE Name of the free() function to use +// ** fts5YYDYNSTACK True if stack space should be extended on heap // ** fts5YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** fts5YYNSTATE the combined number of states. @@ -199938,6 +201733,8 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** fts5YY_NO_ACTION The fts5yy_action[] code for no-op // ** fts5YY_MIN_REDUCE Minimum value for reduce actions // ** fts5YY_MAX_REDUCE Maximum value for reduce actions +// ** fts5YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** fts5YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type Tfts5YYMINORTYPE = struct { @@ -199964,6 +201761,13 @@ type fts5YYMINORTYPE = Tfts5YYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -200393,8 +202197,9 @@ type fts5yyStackEntry = Tfts5yyStackEntry type Tfts5yyParser1 = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser1 = Tfts5yyParser1 @@ -200402,14 +202207,19 @@ type fts5yyParser1 = Tfts5yyParser1 type Tfts5yyParser = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser = Tfts5yyParser /* #include */ +/* For builds that do no have a growable stack, fts5yyGrowStack always +** returns an error. + */ + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3Fts5ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -200424,10 +202234,11 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { var fts5yypParser uintptr _ = fts5yypParser fts5yypParser = fts5yypRawParser - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fstateno = uint8(0) - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fmajor = uint8(0) - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = fts5yypParser + 16 + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack = fts5yypParser + 32 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fstateno = uint8(0) + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fmajor = uint8(0) } // C documentation @@ -200447,7 +202258,7 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) { var fts5yypParser uintptr _ = fts5yypParser - fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2424)) + fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432)) if fts5yypParser != 0 { _sqlite3Fts5ParserInit(tls, fts5yypParser) } @@ -200531,11 +202342,17 @@ func _fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var fts5yytos, pParser uintptr + _, _ = fts5yytos, pParser pParser = p - for (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { - _fts5yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling fts5yy_pop_parser_stack() for each + ** element left in the stack */ + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos + for fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yystack { + if int32((*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor) >= int32(fts5YY_MIN_DSTRCTR) { + _fts5yy_destructor(tls, pParser, (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor, fts5yytos+8) + } + fts5yytos -= 24 } } @@ -200635,13 +202452,13 @@ func _fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse - for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { + for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack { _fts5yy_pop_parser_stack(tls, fts5yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34722, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34868, 0) /******** End %stack_overflow code ********************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument var */ } @@ -200659,15 +202476,19 @@ func _fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, f var fts5yytos uintptr _ = fts5yytos (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 - if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 - _fts5yyStackOverflow(tls, fts5yypParser) - return + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + if fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { + if int32(1) != 0 { + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 + _fts5yyStackOverflow(tls, fts5yypParser) + return + } + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + _ = libc.Int32FromInt32(0) } if int32(fts5yyNewState) > int32(fts5YY_MAX_SHIFT) { fts5yyNewState = uint8(int32(fts5yyNewState) + (libc.Int32FromInt32(fts5YY_MIN_REDUCE) - libc.Int32FromInt32(fts5YY_MIN_SHIFTREDUCE))) } - fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fstateno = fts5yyNewState (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor = fts5yyMajor *(*TFts5Token)(unsafe.Pointer(fts5yytos + 8)) = fts5yyMinor @@ -200997,7 +202818,7 @@ func _fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int3 pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse /************ Begin %syntax_error code ****************************************/ _ = fts5yymajor /* Silence a compiler warning */ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34750, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34896, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) /************ End %syntax_error code ******************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument variable */ } @@ -201063,8 +202884,10 @@ func _sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5y ** enough on the stack to push the LHS value */ if int32(_fts5yyRuleInfoNRhs[fts5yyruleno]) == 0 { if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos >= (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - _fts5yyStackOverflow(tls, fts5yypParser) - break + if int32(1) != 0 { + _fts5yyStackOverflow(tls, fts5yypParser) + break + } } } fts5yyact = _fts5yy_reduce(tls, fts5yypParser, fts5yyruleno, fts5yymajor, fts5yyminor) @@ -201305,7 +203128,7 @@ func _fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n in if n < 0 { n = int32(libc.Xstrlen(tls, z)) } - (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34781, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34927, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*THighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = int32(SQLITE_NOMEM) } @@ -201403,7 +203226,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint var _ /* rc at bp+104 */ int32 _, _ = iCol, zErr if nVal != int32(3) { - zErr = __ccgo_ts + 34788 + zErr = __ccgo_ts + 34934 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -201414,7 +203237,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint (*(*THighlightContext)(unsafe.Pointer(bp))).FiRangeEnd = -int32(1) *(*int32)(unsafe.Pointer(bp + 104)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})))(tls, pFts, iCol, bp+24, bp+32) if *(*int32)(unsafe.Pointer(bp + 104)) == int32(SQLITE_RANGE) { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1648, -int32(1), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1662, -int32(1), libc.UintptrFromInt32(0)) *(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_OK } else { if (*(*THighlightContext)(unsafe.Pointer(bp))).FzIn != 0 { @@ -201615,7 +203438,7 @@ func _fts5ValueToText(tls *libc.TLS, pVal uintptr) (r uintptr) { if zRet != 0 { v1 = zRet } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } return v1 } @@ -201649,7 +203472,7 @@ func _fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintpt nBestScore = 0 /* Score of best snippet */ *(*int32)(unsafe.Pointer(bp + 112)) = 0 if nVal != int32(5) { - zErr = __ccgo_ts + 34838 + zErr = __ccgo_ts + 34984 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -202030,15 +203853,15 @@ func _sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) (r int32) { FxDestroy uintptr }{ 0: { - FzFunc: __ccgo_ts + 34886, + FzFunc: __ccgo_ts + 35032, FxFunc: __ccgo_fp(_fts5SnippetFunction), }, 1: { - FzFunc: __ccgo_ts + 34894, + FzFunc: __ccgo_ts + 35040, FxFunc: __ccgo_fp(_fts5HighlightFunction), }, 2: { - FzFunc: __ccgo_ts + 34904, + FzFunc: __ccgo_ts + 35050, FxFunc: __ccgo_fp(_fts5Bm25Function), }, } @@ -202703,7 +204526,7 @@ func _fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) (r uintptr) { case int32('n'): fallthrough case int32('N'): - if Xsqlite3_strnicmp(tls, __ccgo_ts+1634, p, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+1648, p, int32(4)) == 0 { p = p + 4 } else { p = uintptr(0) @@ -202909,7 +204732,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _, _, _, _, _, _, _, _, _, _, _, _ = azArg, bFirst, nArg, nByte, nCmd, nPre, p, p1, p2, pDel, pSpace, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK nCmd = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, __ccgo_ts+34909, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35055, zCmd, nCmd) == 0 { nByte = int32(libc.Uint64FromInt64(4) * libc.Uint64FromInt32(FTS5_MAX_PREFIX_INDEXES)) bFirst = int32(1) if (*TFts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { @@ -202935,12 +204758,12 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } } if int32(*(*uint8)(unsafe.Pointer(p))) < int32('0') || int32(*(*uint8)(unsafe.Pointer(p))) > int32('9') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34916, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35062, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } if (*TFts5Config)(unsafe.Pointer(pConfig)).FnPrefix == int32(FTS5_MAX_PREFIX_INDEXES) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34947, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35093, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -202949,7 +204772,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC p++ } if nPre <= 0 || nPre >= int32(1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34980, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35126, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -202960,7 +204783,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _ = libc.Int32FromInt32(0) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35017, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35163, zCmd, nCmd) == 0 { p1 = zArg nArg = int64(libc.Xstrlen(tls, zArg) + uint64(1)) azArg = _sqlite3Fts5MallocZero(tls, bp, int64(uint64(8)*uint64(nArg))) @@ -202968,7 +204791,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC pSpace = pDel if azArg != 0 && pSpace != 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35026, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35172, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { nArg = 0 @@ -202995,7 +204818,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC nArg++ } if p1 == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35059, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35205, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(nArg), pConfig, pzErr) @@ -203006,58 +204829,58 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC Xsqlite3_free(tls, pDel) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35093, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35239, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35101, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35247, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if *(*uint8)(unsafe.Pointer(zArg)) != 0 { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_EXTERNAL) - (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35133, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35279, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_NONE) } } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35139, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35285, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35158, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35304, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35201, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35347, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35215, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35361, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, zArg, -int32(1)) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35253, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35399, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35264, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35410, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+5499, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+5563, zCmd, nCmd) == 0 { *(*[4]TFts5Enum)(unsafe.Pointer(bp + 8)) = [4]TFts5Enum{ 0: { - FzName: __ccgo_ts + 8218, + FzName: __ccgo_ts + 8343, FeVal: int32(FTS5_DETAIL_NONE), }, 1: { - FzName: __ccgo_ts + 17747, + FzName: __ccgo_ts + 17834, }, 2: { - FzName: __ccgo_ts + 35299, + FzName: __ccgo_ts + 35445, FeVal: int32(FTS5_DETAIL_COLUMNS), }, 3: {}, @@ -203065,20 +204888,20 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC v2 = _fts5ConfigSetEnum(tls, bp+8, zArg, pConfig+96) *(*int32)(unsafe.Pointer(bp)) = v2 if v2 != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35307, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35453, 0) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35338, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35484, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35348, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35494, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbTokendata = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35382, libc.VaList(bp+80, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35528, libc.VaList(bp+80, nCmd, zCmd)) return int32(SQLITE_ERROR) } @@ -203152,15 +204975,15 @@ func _fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr var v2 uintptr _, _, _ = rc, v1, v2 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35410) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16694) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35415, libc.VaList(bp+8, zCol)) + if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35556) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16781) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35561, libc.VaList(bp+8, zCol)) rc = int32(SQLITE_ERROR) } else { if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35445) { + if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35591) { *(*Tu8)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*TFts5Config)(unsafe.Pointer(p)).FnCol))) = uint8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35455, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35601, libc.VaList(bp+8, zArg)) rc = int32(SQLITE_ERROR) } } @@ -203186,7 +205009,7 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TFts5Buffer)(unsafe.Pointer(bp + 8)) = TFts5Buffer{} - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35486, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35632, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*TFts5Config)(unsafe.Pointer(p)).FeContent != int32(FTS5_CONTENT_NONE) { i = 0 for { @@ -203194,9 +205017,9 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { break } if (*TFts5Config)(unsafe.Pointer(p)).FeContent == int32(FTS5_CONTENT_EXTERNAL) { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35491, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35637, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35498, libc.VaList(bp+32, i)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35644, libc.VaList(bp+32, i)) } goto _1 _1: @@ -203257,8 +205080,8 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in (*TFts5Config)(unsafe.Pointer(pRet)).FzName = _sqlite3Fts5Strndup(tls, bp, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -int32(1)) (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize = int32(1) (*TFts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35410) == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35506, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) + if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35556) == 0 { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35652, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } _ = libc.Int32FromInt32(0) @@ -203291,19 +205114,19 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35535, libc.VaList(bp+40, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35681, libc.VaList(bp+40, zOrig)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bOption != 0 { if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { v4 = *(*uintptr)(unsafe.Pointer(bp + 8)) } else { - v4 = __ccgo_ts + 1648 + v4 = __ccgo_ts + 1662 } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { v5 = *(*uintptr)(unsafe.Pointer(bp + 16)) } else { - v5 = __ccgo_ts + 1648 + v5 = __ccgo_ts + 1662 } *(*int32)(unsafe.Pointer(bp)) = _fts5ConfigParseSpecial(tls, pGlobal, pRet, v4, v5, pzErr) } else { @@ -203321,7 +205144,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } /* We only allow contentless_delete=1 if the table is indeed contentless. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FeContent != int32(FTS5_CONTENT_NONE) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35555, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35701, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* We only allow contentless_delete=1 if columnsize=0 is not present. @@ -203329,7 +205152,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in ** This restriction may be removed at some point. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35605, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35751, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* If a tokenizer= option was successfully parsed, the tokenizer has @@ -203343,18 +205166,18 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in zTail = uintptr(0) _ = libc.Int32FromInt32(0) if (*TFts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { - zTail = __ccgo_ts + 35093 + zTail = __ccgo_ts + 35239 } else { if (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = __ccgo_ts + 35660 + zTail = __ccgo_ts + 35806 } } if zTail != 0 { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35668, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35814, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0) { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16694, -int32(1)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16781, -int32(1)) } /* Formulate the zContentExprlist text */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -203418,25 +205241,25 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) { var _ /* rc at bp+0 */ int32 _, _, _, _ = i, zSep, zSql, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35679, 0) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35825, 0) i = 0 for { if !(zSql != 0 && i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } if i == 0 { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } else { - v2 = __ccgo_ts + 14990 + v2 = __ccgo_ts + 15083 } zSep = v2 - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35695, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35841, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) goto _1 _1: ; i++ } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35702, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35410)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35848, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35556)) _ = libc.Int32FromInt32(0) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_declare_vtab(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -203584,7 +205407,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV var _ /* zRankArgs at bp+8 */ uintptr _, _, _, _, _, _, _, _, _, _ = bVal, nAutomerge, nCrisisMerge, nHashSize, nUsermerge, nVal, pgsz, rc, zIn, v1 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35728) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35874) { pgsz = 0 if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -203595,7 +205418,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35733) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35879) { nHashSize = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -203606,7 +205429,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35742) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35888) { nAutomerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -203620,7 +205443,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35752) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35898) { nUsermerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -203631,7 +205454,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35762) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35908) { nCrisisMerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -203648,7 +205471,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35774) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35920) { nVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nVal = Xsqlite3_value_int(tls, pVal) @@ -203663,7 +205486,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } (*TFts5Config)(unsafe.Pointer(pConfig)).FnDeleteMerge = nVal } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35410) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35556) { zIn = Xsqlite3_value_text(tls, pVal) rc = _sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8) if rc == SQLITE_OK { @@ -203678,7 +205501,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35786) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35932) { bVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { bVal = Xsqlite3_value_int(tls, pVal) @@ -203720,7 +205543,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in var _ /* p at bp+0 */ uintptr var _ /* rc at bp+8 */ int32 _, _, _, _, _ = iVersion, pVal, zK, zSelect, zSql - zSelect = __ccgo_ts + 35800 + zSelect = __ccgo_ts + 35946 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_OK iVersion = 0 @@ -203741,7 +205564,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in for int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zK = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) pVal = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) - if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35832) { + if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35978) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 12)) = 0 @@ -203754,7 +205577,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in *(*int32)(unsafe.Pointer(bp + 8)) = int32(SQLITE_ERROR) if (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { _ = libc.Int32FromInt32(0) - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35840, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35986, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = iVersion @@ -203976,7 +205799,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr } } if int32(*(*uint8)(unsafe.Pointer(z2))) == int32('\000') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35911, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36057, 0) return FTS5_EOF } goto _1 @@ -203987,7 +205810,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z2) - int64(z)) default: if _sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z))) == 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35931, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36077, libc.VaList(bp+8, z)) return FTS5_EOF } tok = int32(FTS5_STRING) @@ -204002,13 +205825,13 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr z21++ } (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z21) - int64(z)) - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35962, uint64(2)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36108, uint64(2)) == 0 { tok = int32(FTS5_OR) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35965, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36111, uint64(3)) == 0 { tok = int32(FTS5_NOT) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30706, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30852, uint64(3)) == 0 { tok = int32(FTS5_AND) } break @@ -206116,8 +207939,8 @@ func _sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, pp func _sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+35969, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34750, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) + if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36115, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34896, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -206137,7 +207960,7 @@ func _sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, } c = *(*uint8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) if int32(c) < int32('0') || int32(c) > int32('9') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35974, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36120, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) return } nNear = nNear*int32(10) + (int32(*(*uint8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - int32('0')) @@ -206277,7 +208100,7 @@ func _sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p u iCol++ } if iCol == (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21016, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21148, libc.VaList(bp+8, z)) } else { pRet = _fts5ParseColset(tls, pParse, pColset, iCol) } @@ -206404,7 +208227,7 @@ func _sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pC var _ /* pFree at bp+0 */ uintptr *(*uintptr)(unsafe.Pointer(bp)) = pColset if (*TFts5Config)(unsafe.Pointer((*TFts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == int32(FTS5_DETAIL_NONE) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36003, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36149, 0) } else { _fts5ParseSetColset(tls, pParse, pExpr, pColset, bp) } @@ -206601,11 +208424,11 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin pPhrase = *(*uintptr)(unsafe.Pointer(pNear + 24)) if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase != int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*(*TFts5ExprTerm)(unsafe.Pointer(pPhrase + 32))).FbFirst != 0 { if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == int32(1) { - v2 = __ccgo_ts + 36056 + v2 = __ccgo_ts + 36202 } else { - v2 = __ccgo_ts + 35969 + v2 = __ccgo_ts + 36115 } - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36063, libc.VaList(bp+8, v2)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36209, libc.VaList(bp+8, v2)) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -206614,7 +208437,7 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin _fts5ExprAddChildren(tls, pRet, pLeft) _fts5ExprAddChildren(tls, pRet, pRight) if (*TFts5ExprNode)(unsafe.Pointer(pRet)).FiHeight > int32(SQLITE_FTS5_MAX_EXPR_DEPTH) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36113, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36259, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -208783,7 +210606,7 @@ func _fts5DataRead(tls *libc.TLS, p uintptr, iRowid Ti64) (r uintptr) { ** to the requested entry. */ if (*TFts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36166, iRowid, 0, p+72) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36312, iRowid, 0, p+72) } /* If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls ** above returned SQLITE_ERROR, return SQLITE_CORRUPT_VTAB instead. @@ -208877,7 +210700,7 @@ func _fts5DataWrite(tls *libc.TLS, p uintptr, iRowid Ti64, pData uintptr, nData } if (*TFts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36172, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36318, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return } @@ -208906,7 +210729,7 @@ func _fts5DataDelete(tls *libc.TLS, p uintptr, iFirst Ti64, iLast Ti64) { } if (*TFts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36223, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36369, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if _fts5IndexPrepareStmt(tls, p, p+88, zSql) != 0 { return } @@ -208940,7 +210763,7 @@ func _fts5DataRemoveSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { } if (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36272, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36418, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter, int32(1), iSegid) @@ -209110,7 +210933,7 @@ func _fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie ui } i = int32(4) /* Check if this is a V2 structure record. Set bStructureV2 if it is. */ - if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36312, uint64(4)) { + if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36458, uint64(4)) { i += int32(4) bStructureV2 = int32(1) } @@ -209303,7 +211126,7 @@ func _fts5IndexDataVersion(tls *libc.TLS, p uintptr) (r Ti64) { iVersion = 0 if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*TFts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) { - (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36317, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36463, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return 0 } @@ -209391,7 +211214,7 @@ func _fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = int32(4) if (*TFts5Structure)(unsafe.Pointer(pStruct)).FnOriginCntr > uint64(0) { _ = libc.Int32FromInt32(0) - libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36312, uint64(4)) + libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36458, uint64(4)) *(*int32)(unsafe.Pointer(bp + 8)) += int32(4) } *(*int32)(unsafe.Pointer(bp + 8)) += _sqlite3Fts5PutVarint(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), uint64((*TFts5Structure)(unsafe.Pointer(pStruct)).FnLevel)) @@ -210808,7 +212631,7 @@ func _fts5IdxSelectStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36340, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36486, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect } @@ -210900,7 +212723,7 @@ func _fts5IdxNextStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36424, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36570, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect } @@ -212579,7 +214402,7 @@ func _fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { if (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { v1 = (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } z = v1 /* The following was already done in fts5WriteInit(): */ @@ -212948,7 +214771,7 @@ func _fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { _sqlite3Fts5BufferSize(tls, p+60, pWriter+8+8, uint32(nBuffer)) if (*TFts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36506, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36652, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { /* Initialize the 4-byte leaf-page header to 0x00. */ @@ -213449,7 +215272,7 @@ func _fts5SecureDeleteIdxEntry(tls *libc.TLS, p uintptr, iSegid int32, iPgno int if iPgno != int32(1) { _ = libc.Int32FromInt32(0) if (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx == uintptr(0) { - _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36563, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36709, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx, int32(1), iSegid) @@ -214989,7 +216812,7 @@ func _sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) (r int32) { if (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FbContentlessDelete != 0 { (*(*TFts5Structure)(unsafe.Pointer(bp))).FnOriginCntr = uint64(1) } - _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1648, 0) + _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1662, 0) _fts5StructureWrite(tls, p, bp) return _fts5IndexReturn(tls, p) } @@ -215016,11 +216839,11 @@ func _sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uin if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*TFts5Index)(unsafe.Pointer(p)).FnWorkUnit = int32(FTS5_WORK_UNIT) - (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36624, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36770, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25741, __ccgo_ts+36632, 0, pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25887, __ccgo_ts+36778, 0, pzErr) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11793, __ccgo_ts+36667, int32(1), pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11918, __ccgo_ts+36813, int32(1), pzErr) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5IndexReinit(tls, p) @@ -215559,7 +217382,7 @@ func _fts5SetupTokendataIter(tls *libc.TLS, p uintptr, pToken uintptr, nToken in pNew = _fts5MultiIterAlloc(tls, p, (*TFts5Structure)(unsafe.Pointer(pStruct)).FnSegment) if pSmall != 0 { _sqlite3Fts5BufferSet(tls, p+60, bp, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fn, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36711) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36857) } else { _sqlite3Fts5BufferSet(tls, p+60, bp, nToken, pToken) } @@ -216089,7 +217912,7 @@ func _sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) _ = libc.Int32FromInt32(0) _sqlite3Fts5Put32(tls, bp, iNew) - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36166, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36312, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, int32(4), 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -216688,7 +218511,7 @@ func _fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { if (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { return } - _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36713, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) + _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36859, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) /* Iterate through the b-tree hierarchy. */ for (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { /* Data for this leaf */ zIdxTerm = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -216921,7 +218744,7 @@ func _sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum Tu64, bUseC } else { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = 0 _fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16))+104+uintptr((*(*TFts5CResult)(unsafe.Pointer((*TFts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FaFirst + 1*4))).FiFirst)*128, uintptr(0), bp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36799) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36945) for 0 == _sqlite3Fts5PoslistNext64(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn, bp+40, bp+32) { iCol = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) >> libc.Int32FromInt32(32)) iTokOff = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) & libc.Int64FromInt32(0x7FFFFFFF)) @@ -217519,7 +219342,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36804, 0) + (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36950, 0) return int32(SQLITE_ERROR) } idxStr = Xsqlite3_malloc(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pInfo)).FnConstraint*int32(8)+int32(1)) @@ -217559,7 +219382,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v3 = iIdxStr iIdxStr++ *(*uint8)(unsafe.Pointer(idxStr + uintptr(v3))) = uint8('M') - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5138, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5202, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) _ = libc.Int32FromInt32(0) } @@ -217581,7 +219404,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v6 = int32('G') } *(*uint8)(unsafe.Pointer(idxStr + uintptr(v5))) = uint8(v6) - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5138, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5202, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) iCons++ v7 = iCons @@ -218023,7 +219846,7 @@ func _fts5NextMethod(tls *libc.TLS, pCursor uintptr) (r int32) { *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_EOF) rc = Xsqlite3_reset(tls, (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -218050,7 +219873,7 @@ func _fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt } else { rc = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -218085,21 +219908,21 @@ func _fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ if zRankArgs != 0 { - v1 = __ccgo_ts + 14990 + v1 = __ccgo_ts + 15083 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } if zRankArgs != 0 { v2 = zRankArgs } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } if bDesc != 0 { - v3 = __ccgo_ts + 36843 + v3 = __ccgo_ts + 36989 } else { - v3 = __ccgo_ts + 36848 + v3 = __ccgo_ts + 36994 } - rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+36852, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) + rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+36998, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter if rc == SQLITE_OK { _ = libc.Int32FromInt32(0) @@ -218159,14 +219982,14 @@ func _fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr } _ = libc.Int32FromInt32(0) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan = int32(FTS5_PLAN_SPECIAL) - if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+36907, z, n) { + if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+37053, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = int64(_sqlite3Fts5IndexReads(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex)) } else { - if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5481, z, n) { + if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5545, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { /* An unrecognized directive. Return an error message. */ - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36913, libc.VaList(bp+8, n, z)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37059, libc.VaList(bp+8, n, z)) rc = int32(SQLITE_ERROR) } } @@ -218216,7 +220039,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { zRank = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank zRankArgs = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36941, libc.VaList(bp+24, zRankArgs)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37087, libc.VaList(bp+24, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp+8, uintptr(0)) @@ -218252,7 +220075,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { pAux = _fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { _ = libc.Int32FromInt32(0) - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36951, libc.VaList(bp+24, zRank)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37097, libc.VaList(bp+24, zRank)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -218286,7 +220109,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_FREE_ZRANK) } else { if rc == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36972, libc.VaList(bp+24, z)) + (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37118, libc.VaList(bp+24, z)) } } } else { @@ -218294,7 +220117,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRank (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRankArgs } else { - (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 34904 + (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 35050 (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -218345,7 +220168,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint iIdxStr = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36804, 0) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36950, 0) return int32(SQLITE_ERROR) } if (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan != 0 { @@ -218375,7 +220198,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint case int32('M'): zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))) if zText == uintptr(0) { - zText = __ccgo_ts + 1648 + zText = __ccgo_ts + 1662 } iCol = 0 for cond := true; cond; cond = int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= int32('9') { @@ -218503,7 +220326,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint } } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent == uintptr(0) { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37005, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37151, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = int32(SQLITE_ERROR) } else { /* This is either a full-table scan (ePlan==FTS5_PLAN_SCAN) or a lookup @@ -218647,7 +220470,7 @@ func _fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) (r int32) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< int32(1) { - v1 = __ccgo_ts + 20869 + v1 = __ccgo_ts + 21001 } else { - v1 = __ccgo_ts + 37283 + v1 = __ccgo_ts + 37429 } - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37295, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37441, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if nArg == int32(1) { @@ -218912,7 +220735,7 @@ func _fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && bUpdateOrDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FbSecureDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion == int32(FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35832, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35978, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = int32(FTS5_CURRENT_VERSION_SECUREDELETE) } @@ -219713,7 +221536,7 @@ func _fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) iCsrId = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) pCsr = _fts5CursorFromCsrid(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId) if pCsr == uintptr(0) || (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37332, libc.VaList(bp+8, iCsrId)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37478, libc.VaList(bp+8, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } else { @@ -219905,7 +221728,7 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = uintptr(0) } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 && Xsqlite3_vtab_nochange(tls, pCtx) != 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37353, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37499, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -220148,7 +221971,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr if pMod == uintptr(0) { _ = libc.Int32FromInt32(0) rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37424, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37570, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) } else { if azArg != 0 { v2 = azArg + 1*8 @@ -220164,7 +221987,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr (*TFts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16 if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37446, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37592, 0) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FePattern = _sqlite3Fts5TokenizerPattern(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate, (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok) @@ -220220,7 +222043,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { pGlobal = Xsqlite3_user_data(tls, pCtx) _ = nArg _ = libc.Int32FromInt32(0) - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37477) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37623) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal } @@ -220235,7 +222058,7 @@ func _fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr _ = libc.Int32FromInt32(0) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37490, -int32(1), uintptr(-libc.Int32FromInt32(1))) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37636, -int32(1), uintptr(-libc.Int32FromInt32(1))) } // C documentation @@ -220264,11 +222087,11 @@ func _fts5ShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName2 = [5]uintptr{ - 0: __ccgo_ts + 37581, - 1: __ccgo_ts + 35093, - 2: __ccgo_ts + 25741, - 3: __ccgo_ts + 35660, - 4: __ccgo_ts + 11793, + 0: __ccgo_ts + 37727, + 1: __ccgo_ts + 35239, + 2: __ccgo_ts + 25887, + 3: __ccgo_ts + 35806, + 4: __ccgo_ts + 11918, } // C documentation @@ -220282,21 +222105,27 @@ func _fts5IntegrityMethod(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zTabnam bp := tls.Alloc(32) defer tls.Free(32) var pTab uintptr - var rc int32 - _, _ = pTab, rc + var rc, v1 int32 + _, _, _ = pTab, rc, v1 pTab = pVtab _ = libc.Int32FromInt32(0) _ = isQuick rc = _sqlite3Fts5StorageIntegrity(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, 0) if rc&int32(0xff) == int32(SQLITE_CORRUPT) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37588, libc.VaList(bp+8, zSchema, zTabname)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37734, libc.VaList(bp+8, zSchema, zTabname)) + if *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { + v1 = SQLITE_OK + } else { + v1 = int32(SQLITE_NOMEM) + } + rc = v1 } else { if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37634, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37780, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) } } _sqlite3Fts5IndexCloseReader(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) - return SQLITE_OK + return rc } func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { @@ -220315,7 +222144,7 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateFunction = __ccgo_fp(_fts5CreateAux) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateTokenizer = __ccgo_fp(_fts5CreateTokenizer) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = __ccgo_fp(_fts5FindTokenizer) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37697, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37843, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) if rc == SQLITE_OK { rc = _sqlite3Fts5IndexInit(tls, db) } @@ -220332,10 +222161,10 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { rc = _sqlite3Fts5VocabInit(tls, pGlobal, db) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37697, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37843, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37702, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37848, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) } } /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file @@ -220440,17 +222269,17 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { azStmt = [11]uintptr{ - 0: __ccgo_ts + 37717, - 1: __ccgo_ts + 37785, - 2: __ccgo_ts + 37854, - 3: __ccgo_ts + 37887, - 4: __ccgo_ts + 37926, - 5: __ccgo_ts + 37966, - 6: __ccgo_ts + 38005, - 7: __ccgo_ts + 38048, - 8: __ccgo_ts + 38087, - 9: __ccgo_ts + 38131, - 10: __ccgo_ts + 38171, + 0: __ccgo_ts + 37863, + 1: __ccgo_ts + 37931, + 2: __ccgo_ts + 38000, + 3: __ccgo_ts + 38033, + 4: __ccgo_ts + 38072, + 5: __ccgo_ts + 38112, + 6: __ccgo_ts + 38151, + 7: __ccgo_ts + 38194, + 8: __ccgo_ts + 38233, + 9: __ccgo_ts + 38277, + 10: __ccgo_ts + 38317, } pC = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig zSql = uintptr(0) @@ -220487,16 +222316,16 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, } case int32(FTS5_STMT_REPLACE_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v2 = __ccgo_ts + 38194 + v2 = __ccgo_ts + 38340 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName, v2)) case int32(FTS5_STMT_LOOKUP_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v3 = __ccgo_ts + 38197 + v3 = __ccgo_ts + 38343 } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, v3, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName)) default: @@ -220515,7 +222344,7 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, (*TFts5Config)(unsafe.Pointer((*TFts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if rc != SQLITE_OK && pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -220552,12 +222381,12 @@ func _sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) (r int32) { defer tls.Free(64) var rc int32 _ = rc - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38205, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38351, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38309, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38455, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38347, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38493, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } @@ -220566,7 +222395,7 @@ func _fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail ui bp := tls.Alloc(48) defer tls.Free(48) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38385, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) + *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38531, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -220578,14 +222407,14 @@ func _sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) ( _ = pConfig pConfig = (*TFts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageSync(tls, pStorage) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25741, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11793, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37581, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25887, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11918, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37727, zName) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35660, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35806, zName) } if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35093, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35239, zName) } return *(*int32)(unsafe.Pointer(bp)) } @@ -220605,13 +222434,13 @@ func _sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDef _, _ = rc, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if bWithout != 0 { - v1 = __ccgo_ts + 30381 + v1 = __ccgo_ts + 30527 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38427, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38573, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38457, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38603, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) } return rc @@ -220652,36 +222481,36 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr if zDefn == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38501, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38647, 0) iOff = int32(libc.Xstrlen(tls, zDefn)) i = 0 for { if !(i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } - Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38524, libc.VaList(bp+8, i)) + Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38670, libc.VaList(bp+8, i)) iOff += int32(libc.Xstrlen(tls, zDefn+uintptr(iOff))) goto _2 _2: ; i++ } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35093, zDefn, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35239, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - zCols = __ccgo_ts + 38530 + zCols = __ccgo_ts + 38676 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 { - zCols = __ccgo_ts + 38562 + zCols = __ccgo_ts + 38708 } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35660, zCols, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35806, zCols, 0, pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37581, __ccgo_ts+38610, int32(1), pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37727, __ccgo_ts+38756, int32(1), pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35832, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35978, uintptr(0), int32(FTS5_CURRENT_VERSION)) } } if rc != 0 { @@ -221028,9 +222857,9 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig (*TFts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 /* Delete the contents of the %_data and %_docsize tables. */ - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38627, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38773, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38677, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38823, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } /* Reinitialize the %_data table. This call creates the initial structure ** and averages records. */ @@ -221038,7 +222867,7 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3Fts5IndexReinit(tls, (*TFts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35832, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35978, uintptr(0), int32(FTS5_CURRENT_VERSION)) } return rc } @@ -221252,7 +223081,7 @@ func _fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var _ /* pCnt at bp+0 */ uintptr _, _, _ = pConfig, rc, zSql pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38706, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38852, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -221463,14 +223292,14 @@ func _sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) (r int32 ** number of rows. */ if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { *(*Ti64)(unsafe.Pointer(bp + 48)) = 0 - rc = _fts5StorageCount(tls, p, __ccgo_ts+35093, bp+48) + rc = _fts5StorageCount(tls, p, __ccgo_ts+35239, bp+48) if rc == SQLITE_OK && *(*Ti64)(unsafe.Pointer(bp + 48)) != (*TFts5Storage)(unsafe.Pointer(p)).FnTotalRow { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) } @@ -222683,64 +224512,64 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38808, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38954, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38811, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38957, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38816, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38962, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('e'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38821, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38967, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38824, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38970, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('l'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38827, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38973, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38832, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38978, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38837, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38983, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38841, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38987, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38847, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38993, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38852, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38998, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -222749,49 +224578,49 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38856, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39002, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38860, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39006, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } } case int32('s'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38863, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39009, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('t'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38867, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39013, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38871, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39017, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38875, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39021, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38879, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39025, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('z'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38883, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39029, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -222808,20 +224637,20 @@ func _fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38887, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38867, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39033, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39013, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('b'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38890, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38893, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39036, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39039, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38897, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38883, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39043, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39029, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } @@ -222837,75 +224666,75 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38900, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39046, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38867, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39013, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38908, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39054, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38915, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39061, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(4) } } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38920, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39066, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38816, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38962, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38925, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39071, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38811, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38957, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } } case int32('e'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38930, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39076, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38883, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39029, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('g'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38935, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39081, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15907, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15986, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('l'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38940, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39086, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38893, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39039, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38944, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39090, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38808, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38954, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38949, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39095, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38852, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38998, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38955, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39101, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38959, uint64(1)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39105, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(1) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38961, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39107, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38875, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39021, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } @@ -222914,48 +224743,48 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38967, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39113, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38883, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39029, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38975, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39121, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38867, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39013, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38981, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39127, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38867, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39013, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } } } case int32('s'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38986, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39132, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38808, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38954, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38992, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39138, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38879, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39025, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39000, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39146, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39008, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39154, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39012, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39158, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38875, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39021, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } @@ -222963,21 +224792,21 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39020, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39166, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38808, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38954, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39026, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39172, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38879, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39025, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39032, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39178, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38893, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39039, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(3) } } @@ -222995,48 +224824,48 @@ func _fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39039, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39185, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38824, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38970, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } case int32('s'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39044, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39190, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39049, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39195, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38824, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38970, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39055, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39201, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38824, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38970, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39008, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39154, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39061, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39207, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } case int32('z'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39067, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39213, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38808, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38954, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } @@ -223052,13 +224881,13 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('e'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39073, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39219, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39077, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39223, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(2) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39080, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39226, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) ret = int32(1) @@ -223066,7 +224895,7 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39083, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39229, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) ret = int32(1) @@ -223228,14 +225057,14 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p break } zArg = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+int32(1))*8)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39087) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39233) { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { (*TTrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('0')) } } else { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38780) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38926) { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('2') || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { @@ -223510,7 +225339,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { Fx Tfts5_tokenizer }{ 0: { - FzName: __ccgo_ts + 38798, + FzName: __ccgo_ts + 38944, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5UnicodeCreate), FxDelete: __ccgo_fp(_fts5UnicodeDelete), @@ -223518,7 +225347,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 1: { - FzName: __ccgo_ts + 39102, + FzName: __ccgo_ts + 39248, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5AsciiCreate), FxDelete: __ccgo_fp(_fts5AsciiDelete), @@ -223526,7 +225355,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 2: { - FzName: __ccgo_ts + 39108, + FzName: __ccgo_ts + 39254, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5PorterCreate), FxDelete: __ccgo_fp(_fts5PorterDelete), @@ -223534,7 +225363,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 3: { - FzName: __ccgo_ts + 39115, + FzName: __ccgo_ts + 39261, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5TriCreate), FxDelete: __ccgo_fp(_fts5TriDelete), @@ -229079,16 +230908,16 @@ func _fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uin zCopy = _sqlite3Fts5Strndup(tls, bp, zType, -int32(1)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { _sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39123) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39269) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39127) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39273) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_ROW) } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39131) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39277) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_INSTANCE) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39140, libc.VaList(bp+16, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39286, libc.VaList(bp+16, zCopy)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -229157,15 +230986,15 @@ func _fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg var _ /* rc at bp+0 */ int32 _, _, _, _, _, _, _, _, _, _, _, _ = azSchema, bDb, nByte, nDb, nTab, pRet, zDb, zTab, zType, v1, v2, v3 azSchema = [3]uintptr{ - 0: __ccgo_ts + 39174, - 1: __ccgo_ts + 39214, - 2: __ccgo_ts + 39249, + 0: __ccgo_ts + 39320, + 1: __ccgo_ts + 39360, + 2: __ccgo_ts + 39395, } pRet = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23742, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) + bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23865, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) if argc != int32(5) && bDb == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39292, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39438, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bDb != 0 { @@ -229336,10 +231165,10 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) zSql = uintptr(0) if (*TFts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39325, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39471, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return int32(SQLITE_ERROR) } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39356, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39502, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, (*TFts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), bp+8, uintptr(0)) } @@ -229359,7 +231188,7 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39407, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39553, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } else { @@ -229668,7 +231497,7 @@ func _fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnuse if pLe != 0 { zCopy = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = __ccgo_ts + 1648 + zCopy = __ccgo_ts + 1662 } (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm+int32(1)) @@ -229796,7 +231625,7 @@ func _sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) (r int32) var p uintptr _ = p p = pGlobal - return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39433, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39579, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) } var _fts5Vocab = Tsqlite3_module{ @@ -229849,7 +231678,7 @@ func init() { // /************** End of stmt.c ************************************************/ // /* Return the source-id for this library */ func Xsqlite3_sourceid(tls *libc.TLS) (r uintptr) { - return __ccgo_ts + 39443 + return __ccgo_ts + 39589 } type TAggInfo_col = struct { @@ -230131,11 +231960,11 @@ var Xsqlite3_temp_directory uintptr // ** // ** See also: [sqlite_version()] and [sqlite_source_id()]. // */ -var Xsqlite3_version = [7]uint8{'3', '.', '4', '5', '.', '3'} +var Xsqlite3_version = [7]uint8{'3', '.', '4', '6', '.', '0'} var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data -var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-12.2.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%04d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00PRAGMA \"%w\".integrity_check(%Q)\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00RIGHT PART OF \x00USE TEMP B-TREE FOR %sORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00" +var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-12.2.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00" type Sqlite3_int64 = sqlite3_int64 type Sqlite3_mutex_methods = sqlite3_mutex_methods diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_loong64.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_loong64.go index 27937ebdde..2888a1c366 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_loong64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_loong64.go @@ -1,4 +1,4 @@ -// Code generated for linux/loong64 by 'generator --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -extended-errors -o sqlite3.go sqlite3.c -I/tmp/libsqlite3/sqlite-amalgamation-3450300/ccgo -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. +// Code generated for linux/loong64 by 'generator --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -I /home/cznic/src/modernc.org/builder/.exclude/modernc.org/libz/include/linux/loong64 -I /home/cznic/src/modernc.org/builder/.exclude/modernc.org/libtcl8.6/include/linux/loong64 -extended-errors -o sqlite3.go sqlite3.c -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. //go:build linux && loong64 // +build linux,loong64 @@ -940,6 +940,7 @@ const OPFLG_IN1 = 2 const OPFLG_IN2 = 4 const OPFLG_IN3 = 8 const OPFLG_JUMP = 1 +const OPFLG_JUMP0 = 128 const OPFLG_NCYCLE = 64 const OPFLG_OUT2 = 16 const OPFLG_OUT3 = 32 @@ -1017,7 +1018,7 @@ const OP_IfNotOpen = 25 const OP_IfNotZero = 60 const OP_IfNullRow = 20 const OP_IfPos = 59 -const OP_IfSmaller = 33 +const OP_IfSizeBetween = 33 const OP_IncrVacuum = 62 const OP_Init = 8 const OP_InitCoroutine = 11 @@ -1446,6 +1447,7 @@ const SF_ComplexResult = 262144 const SF_Compound = 256 const SF_Converted = 65536 const SF_CopyCte = 67108864 +const SF_Correlated = 536870912 const SF_Distinct = 1 const SF_Expanded = 64 const SF_FixedLimit = 16384 @@ -1717,6 +1719,7 @@ const SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT = -1 const SQLITE_DEFAULT_LOOKASIDE = 40 const SQLITE_DEFAULT_MEMSTATUS = 0 const SQLITE_DEFAULT_MMAP_SIZE = 0 +const SQLITE_DEFAULT_OPTIMIZE_LIMIT = 2000 const SQLITE_DEFAULT_PAGE_SIZE = 4096 const SQLITE_DEFAULT_PCACHE_INITSZ = 20 const SQLITE_DEFAULT_PROXYDIR_PERMISSIONS = 493 @@ -1734,6 +1737,7 @@ const SQLITE_DESERIALIZE_READONLY = 4 const SQLITE_DESERIALIZE_RESIZEABLE = 2 const SQLITE_DETACH = 25 const SQLITE_DETERMINISTIC = 2048 +const SQLITE_DIGIT_SEPARATOR = 95 const SQLITE_DIRECTONLY = 524288 const SQLITE_DIRECT_OVERFLOW_READ = 1 const SQLITE_DONE = 101 @@ -2158,7 +2162,7 @@ const SQLITE_SHM_SHARED = 4 const SQLITE_SHM_UNLOCK = 1 const SQLITE_SORTER_PMASZ = 250 const SQLITE_SOUNDEX = 1 -const SQLITE_SOURCE_ID = "2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355" +const SQLITE_SOURCE_ID = "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e" const SQLITE_SO_ASC = 0 const SQLITE_SO_DESC = 1 const SQLITE_SO_UNDEFINED = -1 @@ -2267,8 +2271,8 @@ const SQLITE_UTF16LE = 2 const SQLITE_UTF16NATIVE = 2 const SQLITE_UTF16_ALIGNED = 8 const SQLITE_UTF8 = 1 -const SQLITE_VERSION = "3.45.3" -const SQLITE_VERSION_NUMBER = 3045003 +const SQLITE_VERSION = "3.46.0" +const SQLITE_VERSION_NUMBER = 3046000 const SQLITE_VTABRISK_High = 2 const SQLITE_VTABRISK_Low = 0 const SQLITE_VTABRISK_Normal = 1 @@ -2395,11 +2399,11 @@ const TF_HasStat1 = 16 const TF_HasStat4 = 8192 const TF_HasStored = 64 const TF_HasVirtual = 32 +const TF_MaybeReanalyze = 256 const TF_NoVisibleRowid = 512 const TF_OOOHidden = 1024 const TF_Readonly = 1 const TF_Shadow = 4096 -const TF_StatsUsed = 256 const TF_Strict = 65536 const TF_WithoutRowid = 128 const TIMER_ABSTIME = 1 @@ -2559,7 +2563,7 @@ const TK_ID = 59 const TK_IF = 18 const TK_IF_NULL_ROW = 179 const TK_IGNORE = 63 -const TK_ILLEGAL = 184 +const TK_ILLEGAL = 185 const TK_IMMEDIATE = 8 const TK_IN = 49 const TK_INDEX = 161 @@ -2607,6 +2611,7 @@ const TK_PRAGMA = 70 const TK_PRECEDING = 88 const TK_PRIMARY = 122 const TK_PTR = 112 +const TK_QNUMBER = 183 const TK_QUERY = 3 const TK_RAISE = 71 const TK_RANGE = 89 @@ -2631,7 +2636,7 @@ const TK_SELECT_COLUMN = 178 const TK_SEMI = 1 const TK_SET = 130 const TK_SLASH = 109 -const TK_SPACE = 183 +const TK_SPACE = 184 const TK_SPAN = 181 const TK_STAR = 108 const TK_STRING = 117 @@ -2644,12 +2649,12 @@ const TK_TRANSACTION = 6 const TK_TRIGGER = 77 const TK_TRUEFALSE = 170 const TK_TRUTH = 175 -const TK_UMINUS = 173 +const TK_UMINUS = 174 const TK_UNBOUNDED = 90 const TK_UNION = 134 const TK_UNIQUE = 123 const TK_UPDATE = 129 -const TK_UPLUS = 174 +const TK_UPLUS = 173 const TK_USING = 144 const TK_VACUUM = 78 const TK_VALUES = 139 @@ -2796,31 +2801,37 @@ const W_OK = 2 const XN_EXPR = -2 const XN_ROWID = -1 const X_OK = 1 +const YYDYNSTACK = 1 const YYFALLBACK = 1 +const YYFREE = 0 +const YYGROWABLESTACK = 1 const YYMALLOCARGTYPE = 0 -const YYNOCODE = 319 +const YYNOCODE = 322 const YYNOERRORRECOVERY = 1 -const YYNRULE = 405 -const YYNRULE_WITH_ACTION = 340 -const YYNSTATE = 579 -const YYNTOKEN = 185 +const YYNRULE = 409 +const YYNRULE_WITH_ACTION = 344 +const YYNSTATE = 583 +const YYNTOKEN = 186 const YYPARSEFREENEVERNULL = 1 +const YYREALLOC = 0 const YYSTACKDEPTH = 100 const YYWILDCARD = 101 -const YY_ACCEPT_ACTION = 1244 -const YY_ACTTAB_COUNT = 2100 -const YY_ERROR_ACTION = 1243 -const YY_MAX_REDUCE = 1650 -const YY_MAX_SHIFT = 578 -const YY_MAX_SHIFTREDUCE = 1242 -const YY_MIN_REDUCE = 1246 -const YY_MIN_SHIFTREDUCE = 838 -const YY_NO_ACTION = 1245 -const YY_REDUCE_COUNT = 410 -const YY_REDUCE_MAX = 1753 -const YY_REDUCE_MIN = -271 -const YY_SHIFT_COUNT = 578 -const YY_SHIFT_MAX = 2088 +const YY_ACCEPT_ACTION = 1255 +const YY_ACTTAB_COUNT = 2142 +const YY_ERROR_ACTION = 1254 +const YY_MAX_DSTRCTR = 319 +const YY_MAX_REDUCE = 1665 +const YY_MAX_SHIFT = 582 +const YY_MAX_SHIFTREDUCE = 1253 +const YY_MIN_DSTRCTR = 205 +const YY_MIN_REDUCE = 1257 +const YY_MIN_SHIFTREDUCE = 845 +const YY_NO_ACTION = 1256 +const YY_REDUCE_COUNT = 411 +const YY_REDUCE_MAX = 1798 +const YY_REDUCE_MIN = -275 +const YY_SHIFT_COUNT = 582 +const YY_SHIFT_MAX = 2128 const YY_SHIFT_MIN = 0 const _ABILP64 = 3 const _CS_GNU_LIBC_VERSION = 2 @@ -3545,6 +3556,9 @@ const fdatasync = 0 const first_valueInvFunc = 0 const first_valueValueFunc = 0 const fts5GetVarint = 0 +const fts5YYDYNSTACK = 0 +const fts5YYFREE = 0 +const fts5YYGROWABLESTACK = 0 const fts5YYMALLOCARGTYPE = 0 const fts5YYNFTS5TOKEN = 16 const fts5YYNOCODE = 27 @@ -3553,13 +3567,16 @@ const fts5YYNRULE = 28 const fts5YYNRULE_WITH_ACTION = 28 const fts5YYNSTATE = 35 const fts5YYPARSEFREENOTNULL = 1 +const fts5YYREALLOC = 0 const fts5YYSTACKDEPTH = 100 const fts5YY_ACCEPT_ACTION = 81 const fts5YY_ACTTAB_COUNT = 105 const fts5YY_ERROR_ACTION = 80 +const fts5YY_MAX_DSTRCTR = 24 const fts5YY_MAX_REDUCE = 110 const fts5YY_MAX_SHIFT = 34 const fts5YY_MAX_SHIFTREDUCE = 79 +const fts5YY_MIN_DSTRCTR = 16 const fts5YY_MIN_REDUCE = 83 const fts5YY_MIN_SHIFTREDUCE = 52 const fts5YY_NO_ACTION = 82 @@ -3981,11 +3998,11 @@ type sqlite3_file1 = Tsqlite3_file1 // ** // ** xLock() upgrades the database file lock. In other words, xLock() moves the // ** database file lock in the direction NONE toward EXCLUSIVE. The argument to -// ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never +// ** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never // ** SQLITE_LOCK_NONE. If the database file lock is already at or above the // ** requested lock, then the call to xLock() is a no-op. // ** xUnlock() downgrades the database file lock to either SHARED or NONE. -// * If the lock is already at or below the requested lock state, then the call +// ** If the lock is already at or below the requested lock state, then the call // ** to xUnlock() is a no-op. // ** The xCheckReservedLock() method checks whether any database connection, // ** either in this process or in some other process, is holding a RESERVED, @@ -6129,6 +6146,7 @@ type Tsqlite3_changegroup = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -6455,8 +6473,8 @@ type Fts5PhraseIter1 = TFts5PhraseIter1 ** EXTENSION API FUNCTIONS ** ** xUserData(pFts): -** Return a copy of the context pointer the extension function was -** registered with. +** Return a copy of the pUserData pointer passed to the xCreateFunction() +** API when the extension function was registered. ** ** xColumnTotalSize(pFts, iCol, pnToken): ** If parameter iCol is less than zero, set output variable *pnToken @@ -7537,7 +7555,7 @@ type uptr = Tuptr ** 0x00000010 Display sqlite3_index_info xBestIndex calls ** 0x00000020 Range an equality scan metrics ** 0x00000040 IN operator decisions -** 0x00000080 WhereLoop cost adjustements +** 0x00000080 WhereLoop cost adjustments ** 0x00000100 ** 0x00000200 Covering index decisions ** 0x00000400 OR optimization @@ -8049,6 +8067,7 @@ type TParse = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -8270,6 +8289,7 @@ type TSrcItem = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -10546,10 +10566,12 @@ type IdList1 = TIdList1 ** ** Union member validity: ** -** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc -** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy -** u2.pIBIndex fg.isIndexedBy && !fg.isCte -** u2.pCteUse fg.isCte && !fg.isIndexedBy +** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc +** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy +** u1.nRow !fg.isTabFunc && !fg.isIndexedBy +** +** u2.pIBIndex fg.isIndexedBy && !fg.isCte +** u2.pCteUse fg.isCte && !fg.isIndexedBy */ type TSrcItem1 = struct { FpSchema uintptr @@ -10575,6 +10597,7 @@ type TSrcItem1 = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -10978,6 +11001,7 @@ type TParse1 = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -12340,12 +12364,12 @@ var _sqlite3WhereTrace = uint32(0) var _sqlite3OpcodeProperty = [190]uint8{ 4: uint8(0x10), 6: uint8(0x41), - 8: uint8(0x01), + 8: uint8(0x81), 9: uint8(0x01), 10: uint8(0x01), - 11: uint8(0x01), - 12: uint8(0x03), - 13: uint8(0x03), + 11: uint8(0x81), + 12: uint8(0x83), + 13: uint8(0x83), 14: uint8(0x01), 15: uint8(0x01), 16: uint8(0x03), @@ -12353,22 +12377,22 @@ var _sqlite3OpcodeProperty = [190]uint8{ 18: uint8(0x01), 19: uint8(0x12), 20: uint8(0x01), - 21: uint8(0x49), - 22: uint8(0x49), - 23: uint8(0x49), - 24: uint8(0x49), + 21: uint8(0xc9), + 22: uint8(0xc9), + 23: uint8(0xc9), + 24: uint8(0xc9), 25: uint8(0x01), 26: uint8(0x49), 27: uint8(0x49), 28: uint8(0x49), 29: uint8(0x49), - 30: uint8(0x49), + 30: uint8(0xc9), 31: uint8(0x49), - 32: uint8(0x41), + 32: uint8(0xc1), 33: uint8(0x01), 34: uint8(0x41), 35: uint8(0x41), - 36: uint8(0x41), + 36: uint8(0xc1), 37: uint8(0x01), 38: uint8(0x41), 39: uint8(0x41), @@ -12380,7 +12404,7 @@ var _sqlite3OpcodeProperty = [190]uint8{ 45: uint8(0x41), 46: uint8(0x23), 47: uint8(0x0b), - 48: uint8(0x01), + 48: uint8(0x81), 49: uint8(0x01), 50: uint8(0x03), 51: uint8(0x03), @@ -13235,7 +13259,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin var pMutex, v1 uintptr _, _ = pMutex, v1 if op < 0 || op >= int32(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) { - return _sqlite3MisuseError(tls, int32(23890)) + return _sqlite3MisuseError(tls, int32(23961)) } if _statMutex[op] != 0 { v1 = _sqlite3Pcache1Mutex(tls) @@ -13583,43 +13607,37 @@ type itimerspec = Titimerspec // ** A structure for holding a single date and time. // */ type TDateTime = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - FuseSubsec int8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FvalidYMD int8 + FvalidHMS int8 + FnFloor int8 + F__ccgo44 uint8 } type DateTime = TDateTime type TDateTime1 = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - FuseSubsec int8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FvalidYMD int8 + FvalidHMS int8 + FnFloor int8 + F__ccgo44 uint8 } type DateTime1 = TDateTime1 @@ -13745,6 +13763,8 @@ func _parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { } else { if c == int32('Z') || c == int32('z') { zDate++ + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) goto zulu_time } else { return libc.BoolInt32(c != 0) @@ -13763,7 +13783,6 @@ zulu_time: for int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate)))])&int32(0x01) != 0 { zDate++ } - (*TDateTime)(unsafe.Pointer(p)).FtzSet = int8(1) return libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zDate))) != 0) } @@ -13780,11 +13799,10 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var ms, rScale float64 - var v1 int32 var _ /* h at bp+0 */ int32 var _ /* m at bp+4 */ int32 var _ /* s at bp+8 */ int32 - _, _, _ = ms, rScale, v1 + _, _ = ms, rScale ms = float64(0) if _getDigits(tls, zDate, __ccgo_ts+1194, libc.VaList(bp+24, bp, bp+4)) != int32(2) { return int32(1) @@ -13810,7 +13828,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { *(*int32)(unsafe.Pointer(bp + 8)) = 0 } (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) (*TDateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp)) (*TDateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 4)) @@ -13818,12 +13836,6 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { if _parseTimezone(tls, zDate, p) != 0 { return int32(1) } - if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { - v1 = int32(1) - } else { - v1 = 0 - } - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = int8(v1) return 0 } @@ -13834,7 +13846,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { // */ func _datetimeError(tls *libc.TLS, p uintptr) { libc.Xmemset(tls, p, 0, uint64(48)) - (*TDateTime)(unsafe.Pointer(p)).FisError = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 1, 0x2) } // C documentation @@ -13860,7 +13872,7 @@ func _computeJD(tls *libc.TLS, p uintptr) { M = int32(1) D = int32(1) } - if Y < -int32(4713) || Y > int32(9999) || (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Y < -int32(4713) || Y > int32(9999) || int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { _datetimeError(tls, p) return } @@ -13876,11 +13888,41 @@ func _computeJD(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) if (*TDateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) += int64((*TDateTime)(unsafe.Pointer(p)).Fh*int32(3600000)+(*TDateTime)(unsafe.Pointer(p)).Fm*int32(60000)) + int64((*TDateTime)(unsafe.Pointer(p)).Fs*libc.Float64FromInt32(1000)+libc.Float64FromFloat64(0.5)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64((*TDateTime)(unsafe.Pointer(p)).Ftz * int32(60000)) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + } + } +} + +// C documentation +// +// /* +// ** Given the YYYY-MM-DD information current in p, determine if there +// ** is day-of-month overflow and set nFloor to the number of days that +// ** would need to be subtracted from the date in order to bring the +// ** date back to the end of the month. +// */ +func _computeFloor(tls *libc.TLS, p uintptr) { + if (*TDateTime)(unsafe.Pointer(p)).FD <= int32(28) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } else { + if int32(1)<<(*TDateTime)(unsafe.Pointer(p)).FM&int32(0x15aa) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } else { + if (*TDateTime)(unsafe.Pointer(p)).FM != int32(2) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = libc.BoolInt8((*TDateTime)(unsafe.Pointer(p)).FD == libc.Int32FromInt32(31)) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FY%int32(4) != 0 || (*TDateTime)(unsafe.Pointer(p)).FY%int32(100) == 0 && (*TDateTime)(unsafe.Pointer(p)).FY%int32(400) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = int8((*TDateTime)(unsafe.Pointer(p)).FD - int32(28)) + } else { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = int8((*TDateTime)(unsafe.Pointer(p)).FD - int32(29)) + } + } } } } @@ -13939,12 +13981,15 @@ func _parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FY = v1 (*TDateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 4)) (*TDateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 8)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + _computeFloor(tls, p) + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { _computeJD(tls, p) } return 0 } +/* Forward declaration */ + // C documentation // // /* @@ -13956,6 +14001,9 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) (*TDateTime)(unsafe.Pointer(p)).FiJD = _sqlite3StmtCurrentTime(tls, context) if (*TDateTime)(unsafe.Pointer(p)).FiJD > 0 { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + _clearYMD_HMS_TZ(tls, p) return 0 } else { return int32(1) @@ -13973,7 +14021,7 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) // */ func _setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { (*TDateTime)(unsafe.Pointer(p)).Fs = r - (*TDateTime)(unsafe.Pointer(p)).FrawS = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 0, 0x1) if r >= float64(0) && r < float64(5.3734845e+06) { (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r*libc.Float64FromFloat64(8.64e+07) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) @@ -14016,7 +14064,7 @@ func _parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) return 0 } else { if (_sqlite3StrICmp(tls, zDate, __ccgo_ts+1222) == 0 || _sqlite3StrICmp(tls, zDate, __ccgo_ts+1229) == 0) && _sqlite3NotPureFunc(tls, context) != 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) return _setDateTimeToCurrent(tls, context, p) } } @@ -14108,7 +14156,7 @@ func _computeHMS(tls *libc.TLS, p uintptr) { day_min = day_ms / int32(60000) (*TDateTime)(unsafe.Pointer(p)).Fm = day_min % int32(60) (*TDateTime)(unsafe.Pointer(p)).Fh = day_min / int32(60) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) } @@ -14130,7 +14178,7 @@ func _computeYMD_HMS(tls *libc.TLS, p uintptr) { func _clearYMD_HMS_TZ(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 } /* @@ -14231,9 +14279,9 @@ func _toLocaltime(tls *libc.TLS, p uintptr, pCtx uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = int8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 - (*TDateTime)(unsafe.Pointer(p)).FisError = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 1, 0x2) return SQLITE_OK } @@ -14281,13 +14329,13 @@ var _aXformType = [6]struct { FnName: uint8(5), FzName: [7]int8{'m', 'o', 'n', 't', 'h'}, FrLimit: float32(176546), - FrXform: float32(2.592e+06), + FrXform: float32(libc.Float64FromFloat64(30) * libc.Float64FromFloat64(86400)), }, 5: { FnName: uint8(4), FzName: [7]int8{'y', 'e', 'a', 'r'}, FrLimit: float32(14713), - FrXform: float32(3.1536e+07), + FrXform: float32(libc.Float64FromFloat64(365) * libc.Float64FromFloat64(86400)), }, } @@ -14301,15 +14349,15 @@ var _aXformType = [6]struct { func _autoAdjustDate(tls *libc.TLS, p uintptr) { var r float64 _ = r - if !((*TDateTime)(unsafe.Pointer(p)).FrawS != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + if !(int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } else { if (*TDateTime)(unsafe.Pointer(p)).Fs >= float64(int64(-libc.Int32FromInt32(21086676))*libc.Int64FromInt32(10000)) && (*TDateTime)(unsafe.Pointer(p)).Fs <= float64(libc.Int64FromInt32(25340230)*libc.Int64FromInt32(10000)+libc.Int64FromInt32(799)) { r = (*TDateTime)(unsafe.Pointer(p)).Fs*float64(1000) + float64(2.1086676e+14) _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } } @@ -14326,14 +14374,20 @@ func _autoAdjustDate(tls *libc.TLS, p uintptr) { // ** NNN.NNNN seconds // ** NNN months // ** NNN years +// ** +/-YYYY-MM-DD HH:MM:SS.SSS +// ** ceiling +// ** floor // ** start of month // ** start of year // ** start of week // ** start of day // ** weekday N // ** unixepoch +// ** auto // ** localtime // ** utc +// ** subsec +// ** subsecond // ** // ** Return 0 on success and 1 if there is any kind of error. If the error // ** is in a system call (i.e. localtime()), then an error message is written @@ -14344,12 +14398,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, bp := tls.Alloc(160) defer tls.Free(160) var Z, day Tsqlite3_int64 - var cnt, i, rc, x, y, v12, v2, v5, v7, v9 int32 - var iErr, iGuess, iOrigJD, v1 Ti64 - var rRounder, v10 float64 + var cnt, i, rc, x, y, v1, v10, v13, v3, v6, v8 int32 + var iErr, iGuess, iOrigJD, v2 Ti64 + var rRounder, v11 float64 var z0 int8 var z2 uintptr - var v3, v6 bool + var v4, v7 bool var _ /* D at bp+64 */ int32 var _ /* M at bp+60 */ int32 var _ /* Y at bp+56 */ int32 @@ -14358,7 +14412,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, var _ /* new at bp+8 */ TDateTime var _ /* r at bp+0 */ float64 var _ /* tx at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v12, v2, v3, v5, v6, v7, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v11, v13, v2, v3, v4, v6, v7, v8 rc = int32(1) switch int32(_sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z)))]) { case int32('a'): @@ -14375,6 +14429,33 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _autoAdjustDate(tls, p) rc = 0 } + case int32('c'): + /* + ** ceiling + ** + ** Resolve day-of-month overflow by rolling forward into the next + ** month. As this is the default action, this modifier is really + ** a no-op that is only included for symmetry. See "floor". + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1267) == 0 { + _computeJD(tls, p) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } + case int32('f'): + /* + ** floor + ** + ** Resolve day-of-month overflow by rolling back to the end of the + ** previous month. + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1275) == 0 { + _computeJD(tls, p) + *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64(int32((*TDateTime)(unsafe.Pointer(p)).FnFloor) * int32(86400000)) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + } case int32('j'): /* ** julianday @@ -14384,13 +14465,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** value in the allowed range of julian day numbers understood by ** SQLite (0..5373484.5) then the result will be NULL. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1267) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1281) == 0 { if idx > int32(1) { return int32(1) } /* IMP: R-31176-64601 */ - if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { rc = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } case int32('l'): @@ -14399,8 +14480,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Assuming the current time value is UTC (a.k.a. GMT), shift it to ** show local time. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1277) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - rc = _toLocaltime(tls, p, pCtx) + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1291) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x10>>4)) != 0 { + v1 = SQLITE_OK + } else { + v1 = _toLocaltime(tls, p, pCtx) + } + rc = v1 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 4, 0x10) } case int32('u'): /* @@ -14409,7 +14497,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Treat the current value of p->s as the number of ** seconds since 1970. Convert to a real julian day number. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1287) == 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1301) == 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { if idx > int32(1) { return int32(1) } /* IMP: R-49255-55373 */ @@ -14418,17 +14506,17 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(*(*float64)(unsafe.Pointer(bp)) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) rc = 0 } } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1297) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - if int32((*TDateTime)(unsafe.Pointer(p)).FtzSet) == 0 { /* Guess at the corresponding utc time */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1311) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x8>>3)) == 0 { /* Guess at the corresponding utc time */ cnt = 0 /* Guess is off by this much */ _computeJD(tls, p) - v1 = (*TDateTime)(unsafe.Pointer(p)).FiJD - iOrigJD = v1 - iGuess = v1 + v2 = (*TDateTime)(unsafe.Pointer(p)).FiJD + iOrigJD = v2 + iGuess = v2 iErr = 0 for { libc.Xmemset(tls, bp+8, 0, uint64(48)) @@ -14441,21 +14529,22 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, bp+8) iErr = (*(*TDateTime)(unsafe.Pointer(bp + 8))).FiJD - iOrigJD - goto _4 - _4: + goto _5 + _5: ; - if v3 = iErr != 0; v3 { - v2 = cnt + if v4 = iErr != 0; v4 { + v3 = cnt cnt++ } - if !(v3 && v2 < int32(3)) { + if !(v4 && v3 < int32(3)) { break } } libc.Xmemset(tls, p, 0, uint64(48)) (*TDateTime)(unsafe.Pointer(p)).FiJD = iGuess (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FtzSet = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) } rc = SQLITE_OK } @@ -14468,13 +14557,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** weekday N where 0==Sunday, 1==Monday, and so forth. If the ** date is already on the appropriate weekday, this is a no-op. */ - if v6 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1301, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v6 { - v5 = int32(*(*float64)(unsafe.Pointer(bp))) - n = v5 + if v7 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1315, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v7 { + v6 = int32(*(*float64)(unsafe.Pointer(bp))) + n = v6 } - if v6 && float64(v5) == *(*float64)(unsafe.Pointer(bp)) { + if v7 && float64(v6) == *(*float64)(unsafe.Pointer(bp)) { _computeYMD_HMS(tls, p) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 _computeJD(tls, p) Z = ((*TDateTime)(unsafe.Pointer(p)).FiJD + int64(129600000)) / int64(86400000) % int64(7) @@ -14498,9 +14587,9 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Show subsecond precision in the output of datetime() and ** unixepoch() and strftime('%s'). */ - if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1310, int32(9)) != 0 { + if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1324, int32(9)) != 0 { if Xsqlite3_stricmp(tls, z, __ccgo_ts+1222) == 0 || Xsqlite3_stricmp(tls, z, __ccgo_ts+1229) == 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) rc = 0 } break @@ -14511,23 +14600,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z += uintptr(9) _computeYMD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) - v7 = libc.Int32FromInt32(0) - (*TDateTime)(unsafe.Pointer(p)).Fm = v7 - (*TDateTime)(unsafe.Pointer(p)).Fh = v7 + v8 = libc.Int32FromInt32(0) + (*TDateTime)(unsafe.Pointer(p)).Fm = v8 + (*TDateTime)(unsafe.Pointer(p)).Fh = v8 (*TDateTime)(unsafe.Pointer(p)).Fs = float64(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1320) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1334) == 0 { (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1326) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1340) == 0 { (*TDateTime)(unsafe.Pointer(p)).FM = int32(1) (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1331) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1345) == 0 { rc = 0 } } @@ -14569,15 +14658,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == int32('-') { - if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1335, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1349, libc.VaList(bp+136, bp+56)) == int32(1) { break } - if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1339, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1353, libc.VaList(bp+136, bp+56)) == int32(1) { break } } - goto _8 - _8: + goto _9 + _9: ; n++ } @@ -14593,11 +14682,11 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } /* Must start with +/- */ if n == int32(5) { - if _getDigits(tls, z+1, __ccgo_ts+1343, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1357, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } } else { - if _getDigits(tls, z+1, __ccgo_ts+1355, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1369, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } z++ @@ -14619,13 +14708,14 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, *(*int32)(unsafe.Pointer(p + 12)) += *(*int32)(unsafe.Pointer(bp + 60)) } if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v9 + x = v10 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) _computeJD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 @@ -14669,7 +14759,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z++ } n = _sqlite3Strlen30(tls, z) - if n > int32(10) || n < int32(3) { + if n < int32(3) || n > int32(10) { break } if int32(_sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z + uintptr(n-int32(1)))))]) == int32('s') { @@ -14677,11 +14767,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, p) if *(*float64)(unsafe.Pointer(bp)) < libc.Float64FromInt32(0) { - v10 = -libc.Float64FromFloat64(0.5) + v11 = -libc.Float64FromFloat64(0.5) } else { - v10 = +libc.Float64FromFloat64(0.5) + v11 = +libc.Float64FromFloat64(0.5) } - rRounder = v10 + rRounder = v11 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) { @@ -14693,19 +14784,21 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 12)) += int32(*(*float64)(unsafe.Pointer(bp))) if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v12 + x = v13 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) case int32(5): /* Special processing to add years */ y = int32(*(*float64)(unsafe.Pointer(bp))) _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 8)) += y + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) break @@ -14715,8 +14808,8 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, rc = 0 break } - goto _11 - _11: + goto _12 + _12: ; i++ } @@ -14775,7 +14868,7 @@ func _isDate(tls *libc.TLS, context uintptr, argc int32, argv uintptr, p uintptr i++ } _computeJD(tls, p) - if (*TDateTime)(unsafe.Pointer(p)).FisError != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x2>>1)) != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { return int32(1) } if argc == int32(1) && (*TDateTime)(unsafe.Pointer(p)).FvalidYMD != 0 && (*TDateTime)(unsafe.Pointer(p)).FD > int32(28) { @@ -14822,7 +14915,7 @@ func _unixepochFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _ /* x at bp+0 */ TDateTime if _isDate(tls, context, argc, argv, bp) == 0 { _computeJD(tls, bp) - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { Xsqlite3_result_double(tls, context, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000)) } else { Xsqlite3_result_int64(tls, context, (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/int64(1000)-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000)) @@ -14867,7 +14960,7 @@ func _datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(15)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(16)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(17)] = int8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(18)] = int8(int32('0') + s/int32(10000)%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(19)] = int8(int32('0') + s/int32(1000)%int32(10)) @@ -14915,7 +15008,7 @@ func _timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(3)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(4)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(5)] = int8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(6)] = int8(int32('0') + s/int32(10000)%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(7)] = int8(int32('0') + s/int32(1000)%int32(10)) @@ -14976,6 +15069,57 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } +// C documentation +// +// /* +// ** Compute the number of days after the most recent January 1. +// ** +// ** In other words, compute the zero-based day number for the +// ** current year: +// ** +// ** Jan01 = 0, Jan02 = 1, ..., Jan31 = 30, Feb01 = 31, ... +// ** Dec31 = 364 or 365. +// */ +func _daysAfterJan01(tls *libc.TLS, pDate uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* jan01 at bp+0 */ TDateTime + *(*TDateTime)(unsafe.Pointer(bp)) = *(*TDateTime)(unsafe.Pointer(pDate)) + (*(*TDateTime)(unsafe.Pointer(bp))).FvalidJD = 0 + (*(*TDateTime)(unsafe.Pointer(bp))).FM = int32(1) + (*(*TDateTime)(unsafe.Pointer(bp))).FD = int32(1) + _computeJD(tls, bp) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD - (*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Monday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Monday, 1=Tuesday, 2=Wednesday, ..., 6=Sunday. +// */ +func _daysAfterMonday(tls *libc.TLS, pDate uintptr) (r int32) { + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(43200000))/libc.Int64FromInt32(86400000)) % int32(7) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Sunday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Sunday, 1=Monday, 2=Tues, ..., 6=Saturday +// */ +func _daysAfterSunday(tls *libc.TLS, pDate uintptr) (r int32) { + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)) % int32(7) +} + // C documentation // // /* @@ -14983,33 +15127,48 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // ** // ** Return a string described by FORMAT. Conversions as follows: // ** -// ** %d day of month +// ** %d day of month 01-31 +// ** %e day of month 1-31 // ** %f ** fractional seconds SS.SSS +// ** %F ISO date. YYYY-MM-DD +// ** %G ISO year corresponding to %V 0000-9999. +// ** %g 2-digit ISO year corresponding to %V 00-99 // ** %H hour 00-24 -// ** %j day of year 000-366 +// ** %k hour 0-24 (leading zero converted to space) +// ** %I hour 01-12 +// ** %j day of year 001-366 // ** %J ** julian day number +// ** %l hour 1-12 (leading zero converted to space) // ** %m month 01-12 // ** %M minute 00-59 +// ** %p "am" or "pm" +// ** %P "AM" or "PM" +// ** %R time as HH:MM // ** %s seconds since 1970-01-01 // ** %S seconds 00-59 -// ** %w day of week 0-6 Sunday==0 -// ** %W week of year 00-53 +// ** %T time as HH:MM:SS +// ** %u day of week 1-7 Monday==1, Sunday==7 +// ** %w day of week 0-6 Sunday==0, Monday==1 +// ** %U week of year 00-53 (First Sunday is start of week 01) +// ** %V week of year 01-53 (First week containing Thursday is week 01) +// ** %W week of year 00-53 (First Monday is start of week 01) // ** %Y year 0000-9999 // ** %% % // */ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(208) + defer tls.Free(208) var c, cf int8 var db, zFmt, v3, v4, v5, v6, v7 uintptr - var h, nDay, wd int32 + var h int32 var i, j, v2 Tsize_t var iS Ti64 var s float64 var _ /* sRes at bp+48 */ Tsqlite3_str var _ /* x at bp+0 */ TDateTime + var _ /* y at bp+128 */ TDateTime var _ /* y at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, nDay, s, wd, zFmt, v2, v3, v4, v5, v6, v7 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, s, zFmt, v2, v3, v4, v5, v6, v7 if argc == 0 { return } @@ -15042,28 +15201,41 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { fallthrough case int32('e'): if int32(cf) == int32('d') { - v3 = __ccgo_ts + 1367 + v3 = __ccgo_ts + 1381 } else { - v3 = __ccgo_ts + 1372 + v3 = __ccgo_ts + 1386 } - Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) - case int32('f'): + Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('f'): /* Fractional seconds. (Non-standard) */ s = (*(*TDateTime)(unsafe.Pointer(bp))).Fs if s > float64(59.999) { s = float64(59.999) } - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1376, libc.VaList(bp+136, s)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1390, libc.VaList(bp+184, s)) case int32('F'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1383, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1397, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('G'): /* Fall thru */ + fallthrough + case int32('g'): + *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Move y so that it is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidYMD = 0 + _computeYMD(tls, bp+80) + if int32(cf) == int32('g') { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1381, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY%int32(100))) + } else { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1412, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY)) + } case int32('H'): fallthrough case int32('k'): if int32(cf) == int32('H') { - v4 = __ccgo_ts + 1367 + v4 = __ccgo_ts + 1381 } else { - v4 = __ccgo_ts + 1372 + v4 = __ccgo_ts + 1386 } - Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) + Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) case int32('I'): /* Fall thru */ fallthrough case int32('l'): @@ -15075,73 +15247,71 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { h = int32(12) } if int32(cf) == int32('I') { - v5 = __ccgo_ts + 1367 + v5 = __ccgo_ts + 1381 } else { - v5 = __ccgo_ts + 1372 + v5 = __ccgo_ts + 1386 } - Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+136, h)) - case int32('W'): /* Fall thru */ - fallthrough - case int32('j'): /* Number of days since 1st day of year */ - *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidJD = 0 - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FM = int32(1) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FD = int32(1) - _computeJD(tls, bp+80) - nDay = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) - if int32(cf) == int32('W') { /* 0=Monday, 1=Tuesday, ... 6=Sunday */ - wd = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000) % libc.Int64FromInt32(7)) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1367, libc.VaList(bp+136, (nDay+int32(7)-wd)/int32(7))) - } else { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1398, libc.VaList(bp+136, nDay+int32(1))) - } - case int32('J'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1403, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) + Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+184, h)) + case int32('j'): /* Day of year. Jan01==1, Jan02==2, and so forth */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1417, libc.VaList(bp+184, _daysAfterJan01(tls, bp)+int32(1))) + case int32('J'): /* Julian day number. (Non-standard) */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1422, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) case int32('m'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1367, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1381, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) case int32('M'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1367, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1381, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('p'): /* Fall thru */ fallthrough case int32('P'): if (*(*TDateTime)(unsafe.Pointer(bp))).Fh >= int32(12) { if int32(cf) == int32('p') { - v6 = __ccgo_ts + 1409 + v6 = __ccgo_ts + 1428 } else { - v6 = __ccgo_ts + 1412 + v6 = __ccgo_ts + 1431 } Xsqlite3_str_append(tls, bp+48, v6, int32(2)) } else { if int32(cf) == int32('p') { - v7 = __ccgo_ts + 1415 + v7 = __ccgo_ts + 1434 } else { - v7 = __ccgo_ts + 1418 + v7 = __ccgo_ts + 1437 } Xsqlite3_str_append(tls, bp+48, v7, int32(2)) } case int32('R'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1421, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1440, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('s'): - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1431, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1450, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) } else { iS = (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/libc.Int64FromInt32(1000) - libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1436, libc.VaList(bp+136, iS)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1455, libc.VaList(bp+184, iS)) } case int32('S'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1367, libc.VaList(bp+136, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1381, libc.VaList(bp+184, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) case int32('T'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1441, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) - case int32('u'): /* Fall thru */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1460, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + case int32('u'): /* Day of week. 1 to 7. Monday==1, Sunday==7 */ fallthrough - case int32('w'): - c = int8(int32(int8(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)%libc.Int64FromInt32(7))) + int32('0')) + case int32('w'): /* Day of week. 0 to 6. Sunday==0, Monday==1 */ + c = int8(int32(int8(_daysAfterSunday(tls, bp))) + int32('0')) if int32(c) == int32('0') && int32(cf) == int32('u') { c = int8('7') } Xsqlite3_str_appendchar(tls, bp+48, int32(1), c) + case int32('U'): /* Week num. 00-53. First Sun of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1381, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterSunday(tls, bp)+int32(7))/int32(7))) + case int32('V'): /* Week num. 01-53. First week with a Thur is week 01 */ + *(*TDateTime)(unsafe.Pointer(bp + 128)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Adjust y so that is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FvalidYMD = 0 + _computeYMD(tls, bp+128) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1381, libc.VaList(bp+184, _daysAfterJan01(tls, bp+128)/int32(7)+int32(1))) + case int32('W'): /* Week num. 00-53. First Mon of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1381, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterMonday(tls, bp)+int32(7))/int32(7))) case int32('Y'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1456, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1412, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) case int32('%'): Xsqlite3_str_appendchar(tls, bp+48, int32(1), int8('%')) default: @@ -15294,12 +15464,10 @@ func _timediffFunc(tls *libc.TLS, context uintptr, NotUsed1 int32, argv uintptr) p2 = bp *(*Tsqlite3_int64)(unsafe.Pointer(p2)) = Tsqlite3_int64(uint64(*(*Tsqlite3_int64)(unsafe.Pointer(p2))) + libc.Uint64FromInt32(1486995408)*libc.Uint64FromInt32(100000)) } - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidYMD = 0 - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidHMS = 0 - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidTZ = 0 + _clearYMD_HMS_TZ(tls, bp) _computeYMD_HMS(tls, bp) _sqlite3StrAccumInit(tls, bp+96, uintptr(0), uintptr(0), 0, int32(100)) - Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1461, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) + Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1475, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) _sqlite3ResultStrAccum(tls, context, bp+96) } @@ -15332,55 +15500,55 @@ var _aDateTimeFuncs = [10]TFuncDef{ FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1267, + FzName: __ccgo_ts + 1281, }, 1: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1287, + FzName: __ccgo_ts + 1301, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1495, + FzName: __ccgo_ts + 1509, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1500, + FzName: __ccgo_ts + 1514, }, 4: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1505, + FzName: __ccgo_ts + 1519, }, 5: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1514, + FzName: __ccgo_ts + 1528, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1523, + FzName: __ccgo_ts + 1537, }, 7: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1532, + FzName: __ccgo_ts + 1546, }, 8: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1545, + FzName: __ccgo_ts + 1559, }, 9: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1563, + FzName: __ccgo_ts + 1577, }, } @@ -16051,7 +16219,7 @@ func _sqlite3MemMalloc(tls *libc.TLS, nByte int32) (r uintptr) { *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1576, libc.VaList(bp+8, nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1590, libc.VaList(bp+8, nByte)) } return p } @@ -16113,7 +16281,7 @@ func _sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) (r uintptr) *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1614, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1628, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) } return p } @@ -17784,7 +17952,7 @@ func _sqlite3OomFault(tls *libc.TLS, db uintptr) (r uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = uint16(0) if (*Tsqlite3)(unsafe.Pointer(db)).FpParse != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1650, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1664, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) pParse = (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).FpOuterParse for { @@ -18206,7 +18374,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li v3 = int32(*(*int8)(unsafe.Pointer(v4))) c = v3 if v3 == 0 { - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1664, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1678, int32(1)) break } /* Find out what flags are present */ @@ -18621,9 +18789,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial != 0 { if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial) == int32(2) { if flag_zeropad != 0 { - v57 = __ccgo_ts + 1666 + v57 = __ccgo_ts + 1680 } else { - v57 = __ccgo_ts + 1671 + v57 = __ccgo_ts + 1685 } bufpt = v57 length = _sqlite3Strlen30(tls, bufpt) @@ -18634,7 +18802,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP = int32(1000) (*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fn = int32(1) } else { - libc.Xmemcpy(tls, bp, __ccgo_ts+1675, uint64(5)) + libc.Xmemcpy(tls, bp, __ccgo_ts+1689, uint64(5)) bufpt = bp if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fsign) == int32('-') { /* no-op */ @@ -18656,14 +18824,12 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li prefix = int8(flag_prefix) } exp = (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP - int32(1) - if int32(xtype) == int32(etGENERIC) && precision > 0 { - precision-- - } /* ** If the field type is etGENERIC, then convert to either etEXP ** or etFLOAT, as appropriate. */ if int32(xtype) == int32(etGENERIC) { + precision-- flag_rtz = libc.BoolUint8(!(flag_alternateform != 0)) if exp < -int32(4) || exp > precision { xtype = uint8(etEXP) @@ -18969,7 +19135,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li bufpt = libc.VaUintptr(&ap) } if bufpt == uintptr(0) { - bufpt = __ccgo_ts + 1680 + bufpt = __ccgo_ts + 1694 } else { if int32(xtype) == int32(etDYNSTRING) { if (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FnChar == uint32(0) && (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FmxAlloc != 0 && width == 0 && precision < 0 && int32((*Tsqlite3_str)(unsafe.Pointer(pAccum)).FaccError) == 0 { @@ -19057,9 +19223,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li isnull = libc.BoolInt32(escarg == uintptr(0)) if isnull != 0 { if int32(xtype) == int32(etSQLESCAPE2) { - v98 = __ccgo_ts + 1681 + v98 = __ccgo_ts + 1695 } else { - v98 = __ccgo_ts + 1686 + v98 = __ccgo_ts + 1700 } escarg = v98 } @@ -19177,7 +19343,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*TSrcItem)(unsafe.Pointer(pItem)).FzName != 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1693, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1707, int32(1)) } Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzName) } else { @@ -19185,10 +19351,15 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzAlias) } else { pSel = (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect + /* Because of tag-20240424-1 */ if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_NestedFrom) != 0 { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1695, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1709, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) } else { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1705, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_MultiValue) != 0 { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1719, libc.VaList(bp+128, *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pItem)).Fu1)))) + } else { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1740, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + } } } } @@ -19467,7 +19638,7 @@ func _sqlite3ResultStrAccum(tls *libc.TLS, pCtx uintptr, p uintptr) { if int32((*TStrAccum)(unsafe.Pointer(p)).FprintfFlags)&int32(SQLITE_PRINTF_MALLOCED) != 0 { Xsqlite3_result_text(tls, pCtx, (*TStrAccum)(unsafe.Pointer(p)).FzText, int32((*TStrAccum)(unsafe.Pointer(p)).FnChar), __ccgo_fp(_sqlite3OomClear)) } else { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1680, 0, libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1694, 0, libc.UintptrFromInt32(0)) Xsqlite3_str_reset(tls, p) } } @@ -21297,6 +21468,60 @@ func _sqlite3DequoteExpr(tls *libc.TLS, p uintptr) { _sqlite3Dequote(tls, *(*uintptr)(unsafe.Pointer(p + 8))) } +// C documentation +// +// /* +// ** Expression p is a QNUMBER (quoted number). Dequote the value in p->u.zToken +// ** and set the type to INTEGER or FLOAT. "Quoted" integers or floats are those +// ** that contain '_' characters that must be removed before further processing. +// */ +func _sqlite3DequoteNumber(tls *libc.TLS, pParse uintptr, p uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var bHex int32 + var pIn, pOut, v1, v3 uintptr + var _ /* iValue at bp+0 */ int32 + _, _, _, _, _ = bHex, pIn, pOut, v1, v3 + if p != 0 { + pIn = *(*uintptr)(unsafe.Pointer(p + 8)) + pOut = *(*uintptr)(unsafe.Pointer(p + 8)) + bHex = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(pIn))) == int32('0') && (int32(*(*int8)(unsafe.Pointer(pIn + 1))) == int32('x') || int32(*(*int8)(unsafe.Pointer(pIn + 1))) == int32('X'))) + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + for { + if int32(*(*int8)(unsafe.Pointer(pIn))) != int32('_') { + v3 = pOut + pOut++ + *(*int8)(unsafe.Pointer(v3)) = *(*int8)(unsafe.Pointer(pIn)) + if int32(*(*int8)(unsafe.Pointer(pIn))) == int32('e') || int32(*(*int8)(unsafe.Pointer(pIn))) == int32('E') || int32(*(*int8)(unsafe.Pointer(pIn))) == int32('.') { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_FLOAT) + } + } else { + if bHex == 0 && (!(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1)))))])&libc.Int32FromInt32(0x04) != 0) || !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + 1)))])&libc.Int32FromInt32(0x04) != 0)) || bHex == int32(1) && (!(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1)))))])&libc.Int32FromInt32(0x08) != 0) || !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + 1)))])&libc.Int32FromInt32(0x08) != 0)) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1754, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(p + 8)))) + } + } + goto _2 + _2: + ; + v1 = pIn + pIn++ + if !(*(*int8)(unsafe.Pointer(v1)) != 0) { + break + } + } + if bHex != 0 { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + } + /* tag-20240227-a: If after dequoting, the number is an integer that + ** fits in 32 bits, then it must be converted into EP_IntValue. Other + ** parts of the code expect this. See also tag-20240227-b. */ + if int32((*TExpr)(unsafe.Pointer(p)).Fop) == int32(TK_INTEGER) && _sqlite3GetInt32(tls, *(*uintptr)(unsafe.Pointer(p + 8)), bp) != 0 { + *(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(p)).Fu)) = *(*int32)(unsafe.Pointer(bp)) + *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(EP_IntValue) + } + } +} + // C documentation // // /* @@ -21847,7 +22072,7 @@ func _compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) (r int32) { _, _, _ = c, i, pow63 c = 0 /* 012345678901234567 */ - pow63 = __ccgo_ts + 1719 + pow63 = __ccgo_ts + 1779 i = 0 for { if !(c == 0 && i < int32(18)) { @@ -22074,7 +22299,7 @@ func _sqlite3DecOrHexToI64(tls *libc.TLS, z uintptr, pOut uintptr) (r int32) { } return 0 } else { - n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1738)) + n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1798)) if *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 { n++ } @@ -22232,7 +22457,7 @@ func _sqlite3FpDecode(tls *libc.TLS, p uintptr, _r float64, iRound int32, mxRoun (*TFpDecode)(unsafe.Pointer(p)).Fsign = int8('+') (*TFpDecode)(unsafe.Pointer(p)).Fn = int32(1) (*TFpDecode)(unsafe.Pointer(p)).FiDP = int32(1) - (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1754 + (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1814 return } else { (*TFpDecode)(unsafe.Pointer(p)).Fsign = int8('+') @@ -22781,7 +23006,7 @@ func _sqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) (r uintptr func _logBadConnection(tls *libc.TLS, zType uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1756, libc.VaList(bp+8, zType)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1816, libc.VaList(bp+8, zType)) } // C documentation @@ -22804,13 +23029,13 @@ func _sqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) (r int32) { var eOpenState Tu8 _ = eOpenState if db == uintptr(0) { - _logBadConnection(tls, __ccgo_ts+1681) + _logBadConnection(tls, __ccgo_ts+1695) return 0 } eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_OPEN) { if _sqlite3SafetyCheckSickOrOk(tls, db) != 0 { - _logBadConnection(tls, __ccgo_ts+1801) + _logBadConnection(tls, __ccgo_ts+1861) } return 0 } else { @@ -22824,7 +23049,7 @@ func _sqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) (r int32) { _ = eOpenState eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_SICK) && int32(eOpenState) != int32(SQLITE_STATE_OPEN) && int32(eOpenState) != int32(SQLITE_STATE_BUSY) { - _logBadConnection(tls, __ccgo_ts+1810) + _logBadConnection(tls, __ccgo_ts+1870) return 0 } else { return int32(1) @@ -23470,196 +23695,196 @@ func _sqlite3OpcodeName(tls *libc.TLS, i int32) (r uintptr) { } var _azName = [190]uintptr{ - 0: __ccgo_ts + 1818, - 1: __ccgo_ts + 1828, - 2: __ccgo_ts + 1839, - 3: __ccgo_ts + 1851, - 4: __ccgo_ts + 1862, - 5: __ccgo_ts + 1874, - 6: __ccgo_ts + 1881, - 7: __ccgo_ts + 1889, - 8: __ccgo_ts + 1897, - 9: __ccgo_ts + 1902, - 10: __ccgo_ts + 1907, - 11: __ccgo_ts + 1913, - 12: __ccgo_ts + 1927, - 13: __ccgo_ts + 1933, - 14: __ccgo_ts + 1943, - 15: __ccgo_ts + 1948, - 16: __ccgo_ts + 1953, - 17: __ccgo_ts + 1956, - 18: __ccgo_ts + 1962, - 19: __ccgo_ts + 1969, - 20: __ccgo_ts + 1973, - 21: __ccgo_ts + 1983, - 22: __ccgo_ts + 1990, - 23: __ccgo_ts + 1997, - 24: __ccgo_ts + 2004, - 25: __ccgo_ts + 2011, - 26: __ccgo_ts + 2021, - 27: __ccgo_ts + 2030, - 28: __ccgo_ts + 2041, - 29: __ccgo_ts + 2050, - 30: __ccgo_ts + 2056, - 31: __ccgo_ts + 2066, - 32: __ccgo_ts + 2076, - 33: __ccgo_ts + 2081, - 34: __ccgo_ts + 2091, - 35: __ccgo_ts + 2102, - 36: __ccgo_ts + 2107, - 37: __ccgo_ts + 2114, - 38: __ccgo_ts + 2125, - 39: __ccgo_ts + 2130, - 40: __ccgo_ts + 2135, - 41: __ccgo_ts + 2141, - 42: __ccgo_ts + 2147, - 43: __ccgo_ts + 2153, - 44: __ccgo_ts + 2156, - 45: __ccgo_ts + 2160, - 46: __ccgo_ts + 2166, - 47: __ccgo_ts + 2177, - 48: __ccgo_ts + 2188, - 49: __ccgo_ts + 2196, - 50: __ccgo_ts + 2205, - 51: __ccgo_ts + 2212, - 52: __ccgo_ts + 2220, - 53: __ccgo_ts + 2223, - 54: __ccgo_ts + 2226, - 55: __ccgo_ts + 2229, - 56: __ccgo_ts + 2232, - 57: __ccgo_ts + 2235, - 58: __ccgo_ts + 2238, - 59: __ccgo_ts + 2245, - 60: __ccgo_ts + 2251, - 61: __ccgo_ts + 2261, - 62: __ccgo_ts + 2274, - 63: __ccgo_ts + 2285, - 64: __ccgo_ts + 2291, - 65: __ccgo_ts + 2298, - 66: __ccgo_ts + 2307, - 67: __ccgo_ts + 2316, - 68: __ccgo_ts + 2323, - 69: __ccgo_ts + 2336, - 70: __ccgo_ts + 2347, - 71: __ccgo_ts + 2352, - 72: __ccgo_ts + 2360, - 73: __ccgo_ts + 2366, - 74: __ccgo_ts + 2373, - 75: __ccgo_ts + 2385, - 76: __ccgo_ts + 2390, - 77: __ccgo_ts + 2399, - 78: __ccgo_ts + 2404, - 79: __ccgo_ts + 2413, - 80: __ccgo_ts + 2418, - 81: __ccgo_ts + 2423, - 82: __ccgo_ts + 2429, - 83: __ccgo_ts + 2437, - 84: __ccgo_ts + 2445, - 85: __ccgo_ts + 2455, - 86: __ccgo_ts + 2463, - 87: __ccgo_ts + 2470, - 88: __ccgo_ts + 2483, - 89: __ccgo_ts + 2488, - 90: __ccgo_ts + 2500, - 91: __ccgo_ts + 2508, - 92: __ccgo_ts + 2515, - 93: __ccgo_ts + 2526, - 94: __ccgo_ts + 2533, - 95: __ccgo_ts + 2540, - 96: __ccgo_ts + 2550, - 97: __ccgo_ts + 2559, - 98: __ccgo_ts + 2570, - 99: __ccgo_ts + 2576, - 100: __ccgo_ts + 2587, - 101: __ccgo_ts + 2597, - 102: __ccgo_ts + 2607, - 103: __ccgo_ts + 2614, - 104: __ccgo_ts + 2620, - 105: __ccgo_ts + 2630, - 106: __ccgo_ts + 2641, - 107: __ccgo_ts + 2645, - 108: __ccgo_ts + 2654, - 109: __ccgo_ts + 2663, - 110: __ccgo_ts + 2670, - 111: __ccgo_ts + 2680, - 112: __ccgo_ts + 2687, - 113: __ccgo_ts + 2696, - 114: __ccgo_ts + 2706, - 115: __ccgo_ts + 2713, - 116: __ccgo_ts + 2721, - 117: __ccgo_ts + 2735, - 118: __ccgo_ts + 2743, - 119: __ccgo_ts + 2757, - 120: __ccgo_ts + 2768, - 121: __ccgo_ts + 2781, - 122: __ccgo_ts + 2792, - 123: __ccgo_ts + 2798, - 124: __ccgo_ts + 2810, - 125: __ccgo_ts + 2819, - 126: __ccgo_ts + 2827, - 127: __ccgo_ts + 2836, - 128: __ccgo_ts + 2845, - 129: __ccgo_ts + 2852, - 130: __ccgo_ts + 2860, - 131: __ccgo_ts + 2867, - 132: __ccgo_ts + 2878, - 133: __ccgo_ts + 2892, - 134: __ccgo_ts + 2903, - 135: __ccgo_ts + 2911, - 136: __ccgo_ts + 2917, - 137: __ccgo_ts + 2925, - 138: __ccgo_ts + 2933, - 139: __ccgo_ts + 2943, - 140: __ccgo_ts + 2956, - 141: __ccgo_ts + 2966, - 142: __ccgo_ts + 2979, - 143: __ccgo_ts + 2988, - 144: __ccgo_ts + 2999, - 145: __ccgo_ts + 3007, - 146: __ccgo_ts + 3013, - 147: __ccgo_ts + 3025, - 148: __ccgo_ts + 3037, - 149: __ccgo_ts + 3045, - 150: __ccgo_ts + 3057, - 151: __ccgo_ts + 3070, - 152: __ccgo_ts + 3080, - 153: __ccgo_ts + 3090, - 154: __ccgo_ts + 3095, - 155: __ccgo_ts + 3107, - 156: __ccgo_ts + 3119, - 157: __ccgo_ts + 3129, - 158: __ccgo_ts + 3135, - 159: __ccgo_ts + 3145, - 160: __ccgo_ts + 3152, - 161: __ccgo_ts + 3164, - 162: __ccgo_ts + 3175, - 163: __ccgo_ts + 3183, - 164: __ccgo_ts + 3192, - 165: __ccgo_ts + 3201, - 166: __ccgo_ts + 3210, - 167: __ccgo_ts + 3217, - 168: __ccgo_ts + 3228, - 169: __ccgo_ts + 3241, - 170: __ccgo_ts + 3251, - 171: __ccgo_ts + 3258, - 172: __ccgo_ts + 3266, - 173: __ccgo_ts + 3275, - 174: __ccgo_ts + 3281, - 175: __ccgo_ts + 3288, - 176: __ccgo_ts + 3296, - 177: __ccgo_ts + 3304, - 178: __ccgo_ts + 3312, - 179: __ccgo_ts + 3322, - 180: __ccgo_ts + 3331, - 181: __ccgo_ts + 3342, - 182: __ccgo_ts + 3353, - 183: __ccgo_ts + 3364, - 184: __ccgo_ts + 3374, - 185: __ccgo_ts + 3380, - 186: __ccgo_ts + 3391, - 187: __ccgo_ts + 3402, - 188: __ccgo_ts + 3407, - 189: __ccgo_ts + 3415, + 0: __ccgo_ts + 1878, + 1: __ccgo_ts + 1888, + 2: __ccgo_ts + 1899, + 3: __ccgo_ts + 1911, + 4: __ccgo_ts + 1922, + 5: __ccgo_ts + 1934, + 6: __ccgo_ts + 1941, + 7: __ccgo_ts + 1949, + 8: __ccgo_ts + 1957, + 9: __ccgo_ts + 1962, + 10: __ccgo_ts + 1967, + 11: __ccgo_ts + 1973, + 12: __ccgo_ts + 1987, + 13: __ccgo_ts + 1993, + 14: __ccgo_ts + 2003, + 15: __ccgo_ts + 2008, + 16: __ccgo_ts + 2013, + 17: __ccgo_ts + 2016, + 18: __ccgo_ts + 2022, + 19: __ccgo_ts + 2029, + 20: __ccgo_ts + 2033, + 21: __ccgo_ts + 2043, + 22: __ccgo_ts + 2050, + 23: __ccgo_ts + 2057, + 24: __ccgo_ts + 2064, + 25: __ccgo_ts + 2071, + 26: __ccgo_ts + 2081, + 27: __ccgo_ts + 2090, + 28: __ccgo_ts + 2101, + 29: __ccgo_ts + 2110, + 30: __ccgo_ts + 2116, + 31: __ccgo_ts + 2126, + 32: __ccgo_ts + 2136, + 33: __ccgo_ts + 2141, + 34: __ccgo_ts + 2155, + 35: __ccgo_ts + 2166, + 36: __ccgo_ts + 2171, + 37: __ccgo_ts + 2178, + 38: __ccgo_ts + 2189, + 39: __ccgo_ts + 2194, + 40: __ccgo_ts + 2199, + 41: __ccgo_ts + 2205, + 42: __ccgo_ts + 2211, + 43: __ccgo_ts + 2217, + 44: __ccgo_ts + 2220, + 45: __ccgo_ts + 2224, + 46: __ccgo_ts + 2230, + 47: __ccgo_ts + 2241, + 48: __ccgo_ts + 2252, + 49: __ccgo_ts + 2260, + 50: __ccgo_ts + 2269, + 51: __ccgo_ts + 2276, + 52: __ccgo_ts + 2284, + 53: __ccgo_ts + 2287, + 54: __ccgo_ts + 2290, + 55: __ccgo_ts + 2293, + 56: __ccgo_ts + 2296, + 57: __ccgo_ts + 2299, + 58: __ccgo_ts + 2302, + 59: __ccgo_ts + 2309, + 60: __ccgo_ts + 2315, + 61: __ccgo_ts + 2325, + 62: __ccgo_ts + 2338, + 63: __ccgo_ts + 2349, + 64: __ccgo_ts + 2355, + 65: __ccgo_ts + 2362, + 66: __ccgo_ts + 2371, + 67: __ccgo_ts + 2380, + 68: __ccgo_ts + 2387, + 69: __ccgo_ts + 2400, + 70: __ccgo_ts + 2411, + 71: __ccgo_ts + 2416, + 72: __ccgo_ts + 2424, + 73: __ccgo_ts + 2430, + 74: __ccgo_ts + 2437, + 75: __ccgo_ts + 2449, + 76: __ccgo_ts + 2454, + 77: __ccgo_ts + 2463, + 78: __ccgo_ts + 2468, + 79: __ccgo_ts + 2477, + 80: __ccgo_ts + 2482, + 81: __ccgo_ts + 2487, + 82: __ccgo_ts + 2493, + 83: __ccgo_ts + 2501, + 84: __ccgo_ts + 2509, + 85: __ccgo_ts + 2519, + 86: __ccgo_ts + 2527, + 87: __ccgo_ts + 2534, + 88: __ccgo_ts + 2547, + 89: __ccgo_ts + 2552, + 90: __ccgo_ts + 2564, + 91: __ccgo_ts + 2572, + 92: __ccgo_ts + 2579, + 93: __ccgo_ts + 2590, + 94: __ccgo_ts + 2597, + 95: __ccgo_ts + 2604, + 96: __ccgo_ts + 2614, + 97: __ccgo_ts + 2623, + 98: __ccgo_ts + 2634, + 99: __ccgo_ts + 2640, + 100: __ccgo_ts + 2651, + 101: __ccgo_ts + 2661, + 102: __ccgo_ts + 2671, + 103: __ccgo_ts + 2678, + 104: __ccgo_ts + 2684, + 105: __ccgo_ts + 2694, + 106: __ccgo_ts + 2705, + 107: __ccgo_ts + 2709, + 108: __ccgo_ts + 2718, + 109: __ccgo_ts + 2727, + 110: __ccgo_ts + 2734, + 111: __ccgo_ts + 2744, + 112: __ccgo_ts + 2751, + 113: __ccgo_ts + 2760, + 114: __ccgo_ts + 2770, + 115: __ccgo_ts + 2777, + 116: __ccgo_ts + 2785, + 117: __ccgo_ts + 2799, + 118: __ccgo_ts + 2807, + 119: __ccgo_ts + 2821, + 120: __ccgo_ts + 2832, + 121: __ccgo_ts + 2845, + 122: __ccgo_ts + 2856, + 123: __ccgo_ts + 2862, + 124: __ccgo_ts + 2874, + 125: __ccgo_ts + 2883, + 126: __ccgo_ts + 2891, + 127: __ccgo_ts + 2900, + 128: __ccgo_ts + 2909, + 129: __ccgo_ts + 2916, + 130: __ccgo_ts + 2924, + 131: __ccgo_ts + 2931, + 132: __ccgo_ts + 2942, + 133: __ccgo_ts + 2956, + 134: __ccgo_ts + 2967, + 135: __ccgo_ts + 2975, + 136: __ccgo_ts + 2981, + 137: __ccgo_ts + 2989, + 138: __ccgo_ts + 2997, + 139: __ccgo_ts + 3007, + 140: __ccgo_ts + 3020, + 141: __ccgo_ts + 3030, + 142: __ccgo_ts + 3043, + 143: __ccgo_ts + 3052, + 144: __ccgo_ts + 3063, + 145: __ccgo_ts + 3071, + 146: __ccgo_ts + 3077, + 147: __ccgo_ts + 3089, + 148: __ccgo_ts + 3101, + 149: __ccgo_ts + 3109, + 150: __ccgo_ts + 3121, + 151: __ccgo_ts + 3134, + 152: __ccgo_ts + 3144, + 153: __ccgo_ts + 3154, + 154: __ccgo_ts + 3159, + 155: __ccgo_ts + 3171, + 156: __ccgo_ts + 3183, + 157: __ccgo_ts + 3193, + 158: __ccgo_ts + 3199, + 159: __ccgo_ts + 3209, + 160: __ccgo_ts + 3216, + 161: __ccgo_ts + 3228, + 162: __ccgo_ts + 3239, + 163: __ccgo_ts + 3247, + 164: __ccgo_ts + 3256, + 165: __ccgo_ts + 3265, + 166: __ccgo_ts + 3274, + 167: __ccgo_ts + 3281, + 168: __ccgo_ts + 3292, + 169: __ccgo_ts + 3305, + 170: __ccgo_ts + 3315, + 171: __ccgo_ts + 3322, + 172: __ccgo_ts + 3330, + 173: __ccgo_ts + 3339, + 174: __ccgo_ts + 3345, + 175: __ccgo_ts + 3352, + 176: __ccgo_ts + 3360, + 177: __ccgo_ts + 3368, + 178: __ccgo_ts + 3376, + 179: __ccgo_ts + 3386, + 180: __ccgo_ts + 3395, + 181: __ccgo_ts + 3406, + 182: __ccgo_ts + 3417, + 183: __ccgo_ts + 3428, + 184: __ccgo_ts + 3438, + 185: __ccgo_ts + 3444, + 186: __ccgo_ts + 3455, + 187: __ccgo_ts + 3466, + 188: __ccgo_ts + 3471, + 189: __ccgo_ts + 3479, } type Tnlink_t = uint32 @@ -24196,91 +24421,91 @@ type unix_syscall = Tunix_syscall // */ var _aSyscall = [29]Tunix_syscall{ 0: { - FzName: __ccgo_ts + 3425, + FzName: __ccgo_ts + 3489, }, 1: { - FzName: __ccgo_ts + 3430, + FzName: __ccgo_ts + 3494, }, 2: { - FzName: __ccgo_ts + 3436, + FzName: __ccgo_ts + 3500, }, 3: { - FzName: __ccgo_ts + 3443, + FzName: __ccgo_ts + 3507, }, 4: { - FzName: __ccgo_ts + 3450, + FzName: __ccgo_ts + 3514, }, 5: { - FzName: __ccgo_ts + 3455, + FzName: __ccgo_ts + 3519, }, 6: { - FzName: __ccgo_ts + 3461, + FzName: __ccgo_ts + 3525, }, 7: { - FzName: __ccgo_ts + 3471, + FzName: __ccgo_ts + 3535, }, 8: { - FzName: __ccgo_ts + 3477, + FzName: __ccgo_ts + 3541, }, 9: { - FzName: __ccgo_ts + 3482, + FzName: __ccgo_ts + 3546, }, 10: { - FzName: __ccgo_ts + 3488, + FzName: __ccgo_ts + 3552, }, 11: { - FzName: __ccgo_ts + 3496, + FzName: __ccgo_ts + 3560, }, 12: { - FzName: __ccgo_ts + 3502, + FzName: __ccgo_ts + 3566, }, 13: { - FzName: __ccgo_ts + 3509, + FzName: __ccgo_ts + 3573, }, 14: { - FzName: __ccgo_ts + 3518, + FzName: __ccgo_ts + 3582, }, 15: { - FzName: __ccgo_ts + 3525, + FzName: __ccgo_ts + 3589, }, 16: { - FzName: __ccgo_ts + 3535, + FzName: __ccgo_ts + 3599, }, 17: { - FzName: __ccgo_ts + 3542, + FzName: __ccgo_ts + 3606, }, 18: { - FzName: __ccgo_ts + 3556, + FzName: __ccgo_ts + 3620, }, 19: { - FzName: __ccgo_ts + 3562, + FzName: __ccgo_ts + 3626, }, 20: { - FzName: __ccgo_ts + 3568, + FzName: __ccgo_ts + 3632, }, 21: { - FzName: __ccgo_ts + 3575, + FzName: __ccgo_ts + 3639, }, 22: { - FzName: __ccgo_ts + 3583, + FzName: __ccgo_ts + 3647, }, 23: { - FzName: __ccgo_ts + 3588, + FzName: __ccgo_ts + 3652, }, 24: { - FzName: __ccgo_ts + 3595, + FzName: __ccgo_ts + 3659, }, 25: { - FzName: __ccgo_ts + 3602, + FzName: __ccgo_ts + 3666, }, 26: { - FzName: __ccgo_ts + 3614, + FzName: __ccgo_ts + 3678, }, 27: { - FzName: __ccgo_ts + 3623, + FzName: __ccgo_ts + 3687, }, 28: { - FzName: __ccgo_ts + 3629, + FzName: __ccgo_ts + 3693, }, } @@ -24519,9 +24744,9 @@ func _robust_open(tls *libc.TLS, z uintptr, f int32, m Tmode_t) (r int32) { (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, z) } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(1)].FpCurrent})))(tls, fd) - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3635, libc.VaList(bp+136, z, fd)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3699, libc.VaList(bp+136, z, fd)) fd = -int32(1) - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3678, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3742, O_RDONLY, int32(m)) < 0 { break } } @@ -24837,11 +25062,11 @@ func _unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uint ** equivalent to errno. Otherwise, use strerror_r(). */ /* This is a threadsafe build, but strerror_r() is not available. */ - zErr = __ccgo_ts + 1680 + zErr = __ccgo_ts + 1694 if zPath == uintptr(0) { - zPath = __ccgo_ts + 1680 + zPath = __ccgo_ts + 1694 } - Xsqlite3_log(tls, errcode, __ccgo_ts+3688, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) + Xsqlite3_log(tls, errcode, __ccgo_ts+3752, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) return errcode } @@ -24869,7 +25094,7 @@ func _robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { } else { v1 = uintptr(0) } - _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(16)< uint32(1) { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3772, libc.VaList(bp+136, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3836, libc.VaList(bp+136, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } if _fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3799, libc.VaList(bp+136, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3863, libc.VaList(bp+136, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -25527,7 +25752,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) { pFile = id _unixUnmapfile(tls, pFile) if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 { - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40172)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40505)) (*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1) } Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -26135,7 +26360,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { var _ /* zDirname at bp+0 */ [513]int8 _, _ = fd, ii fd = -int32(1) - Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3827, libc.VaList(bp+528, zFilename)) + Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3891, libc.VaList(bp+528, zFilename)) ii = int32(libc.Xstrlen(tls, bp)) for { if !(ii > 0 && int32((*(*[513]int8)(unsafe.Pointer(bp)))[ii]) != int32('/')) { @@ -26161,7 +26386,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { if fd >= 0 { return SQLITE_OK } - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(41778)), __ccgo_ts+3542, bp, int32(41778)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42111)), __ccgo_ts+3606, bp, int32(42111)) } // C documentation @@ -26198,7 +26423,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) { rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if rc != 0 { _storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<= nSize { iWrite = nSize - int64(1) } - nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1680, int32(1)) + nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1694, int32(1)) if nWrite != int32(1) { return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(3)<= 0 { - _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42583)) + _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42916)) (*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1) } (*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0) @@ -26804,7 +27029,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in ** help detect if a -shm file truncation is legitimate or is the work ** or a rogue process. */ if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 { - rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<= 0 { - _robust_close(tls, pNew, h, int32(43994)) + _robust_close(tls, pNew, h, int32(44327)) } } else { (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -27805,10 +28030,10 @@ func _fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilenam // ** Directories to consider for temp files. // */ var _azTempDirs = [6]uintptr{ - 2: __ccgo_ts + 3884, - 3: __ccgo_ts + 3893, - 4: __ccgo_ts + 3902, - 5: __ccgo_ts + 1693, + 2: __ccgo_ts + 3948, + 3: __ccgo_ts + 3957, + 4: __ccgo_ts + 3966, + 5: __ccgo_ts + 1707, } // C documentation @@ -27817,8 +28042,8 @@ var _azTempDirs = [6]uintptr{ // ** Initialize first two members of azTempDirs[] array. // */ func _unixTempFileInit(tls *libc.TLS) { - _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3907) - _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3921) + _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3971) + _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3985) } // C documentation @@ -27880,7 +28105,7 @@ func _unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) (r int32) { for cond := true; cond; cond = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(2)].FpCurrent})))(tls, zBuf, 0) == 0 { Xsqlite3_randomness(tls, int32(8), bp) *(*int8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2)))) = 0 - Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3928, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) + Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3992, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) if v2 = int32(*(*int8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2))))) != 0; !v2 { v1 = iLimit iLimit++ @@ -28052,7 +28277,7 @@ func _findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintpt ** filename, check for the "modeof" parameter. If present, interpret ** its value as a filename and try to copy the mode, uid and gid from ** that file. */ - z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3945) + z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+4009) if z != 0 { rc = _getFileMode(tls, z, pMode, pUid, pGid) } @@ -28090,12 +28315,12 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags bp := tls.Alloc(528) defer tls.Free(528) var ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, rc, rc2 int32 - var p, pUnused, zName uintptr + var p, pReadonly, pUnused, zName uintptr var _ /* gid at bp+524 */ Tgid_t var _ /* openMode at bp+516 */ Tmode_t var _ /* uid at bp+520 */ Tuid_t var _ /* zTmpname at bp+0 */ [514]int8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pUnused, rc, rc2, zName + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pReadonly, pUnused, rc, rc2, zName p = pFile fd = -int32(1) /* File descriptor returned by open() */ openFlags = 0 /* Flags to pass to open() */ @@ -28190,17 +28415,24 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags } else { if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != int32(EISDIR) && isReadWrite != 0 { /* Failed to open the file for read/write access. Try read-only. */ + pReadonly = uintptr(0) flags &= ^(libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE)) openFlags &= ^(libc.Int32FromInt32(O_RDWR) | libc.Int32FromInt32(O_CREAT)) flags |= int32(SQLITE_OPEN_READONLY) openFlags |= O_RDONLY isReadonly = int32(1) - fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + pReadonly = _findReusableFd(tls, zName, flags) + if pReadonly != 0 { + fd = (*TUnixUnusedFd)(unsafe.Pointer(pReadonly)).Ffd + Xsqlite3_free(tls, pReadonly) + } else { + fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + } } } } if fd < 0 { - rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44435)), __ccgo_ts+3425, zName, int32(44435)) + rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44775)), __ccgo_ts+3489, zName, int32(44775)) if rc == SQLITE_OK { rc = rc2 } @@ -28277,7 +28509,7 @@ func _unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) ( if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(ENOENT) { rc = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(23)< int32(SQLITE_MAX_SYMLINK) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(44686)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45026)) return } got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+128, libc.Uint64FromInt64(4098)-libc.Uint64FromInt32(2)) if got <= 0 || got >= libc.Int64FromInt64(4098)-libc.Int64FromInt32(2) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44691)), __ccgo_ts+3614, zIn, int32(44691)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45031)), __ccgo_ts+3678, zIn, int32(45031)) return } (*(*[4098]int8)(unsafe.Pointer(bp + 128)))[got] = 0 @@ -28475,14 +28707,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z (*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut if int32(*(*int8)(unsafe.Pointer(zPath))) != int32('/') { if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(4098)-libc.Uint64FromInt32(2)) == uintptr(0) { - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44749)), __ccgo_ts+3443, zPath, int32(44749)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45089)), __ccgo_ts+3507, zPath, int32(45089)) } _appendAllPathElements(tls, bp, bp+24) } _appendAllPathElements(tls, bp, zPath) *(*int8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = 0 if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) { - return _sqlite3CantopenError(tls, int32(44755)) + return _sqlite3CantopenError(tls, int32(45095)) } if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 { return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)< int64(1) { _sqlite3PagerUnrefNotNull(tls, pPgOld) - return _sqlite3CorruptError(tls, int32(63973)) + return _sqlite3CorruptError(tls, int32(64313)) } p4 = pPg + 52 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | int32((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC)) @@ -40275,7 +40507,7 @@ func _sqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in ** sqlite3_wal_checkpoint() call, but it happens very rarely. ** https://sqlite.org/forum/forumpost/fd0f19d229156939 */ - Xsqlite3_exec(tls, db, __ccgo_ts+4141, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+4205, uintptr(0), uintptr(0), uintptr(0)) } if (*TPager)(unsafe.Pointer(pPager)).FpWal != 0 { if eMode == SQLITE_CHECKPOINT_PASSIVE { @@ -41716,7 +41948,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in v2 = nCollide nCollide-- if v2 == 0 { - return _sqlite3CorruptError(tls, int32(65899)) + return _sqlite3CorruptError(tls, int32(66239)) } goto _1 _1: @@ -41804,7 +42036,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) { ** are able to understand */ version = _sqlite3Get4byte(tls, bp+8+4) if version != uint32(WAL_MAX_VERSION) { - rc = _sqlite3CantopenError(tls, int32(66031)) + rc = _sqlite3CantopenError(tls, int32(66371)) goto finished } /* Malloc a buffer to read frames into. */ @@ -41943,7 +42175,7 @@ finished: ** checkpointing the log file. */ if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FnPage != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(1)< int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = _sqlite3CorruptError(tls, int32(71032)) + rc = _sqlite3CorruptError(tls, int32(71421)) } else { rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -46502,7 +46741,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, } /* The super-journal page number must never be used as a pointer map page */ if key == uint32(0) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71230)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71619)) return } iPtrmap = _ptrmapPageno(tls, pBt, key) @@ -46515,12 +46754,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, /* The first byte of the extra data is the MemPage.isInit byte. ** If that byte is set, it means this page is also being used ** as a btree page. */ - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71243)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71632)) goto ptrmap_exit } offset = int32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1))) if offset < 0 { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71248)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71637)) goto ptrmap_exit } pPtrmap = _sqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -46564,7 +46803,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin offset = int32(libc.Uint32FromInt32(5) * (key - uint32(iPtrmap) - libc.Uint32FromInt32(1))) if offset < 0 { _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) - return _sqlite3CorruptError(tls, int32(71293)) + return _sqlite3CorruptError(tls, int32(71682)) } *(*Tu8)(unsafe.Pointer(pEType)) = *(*Tu8)(unsafe.Pointer(pPtrmap + uintptr(offset))) if pPgno != 0 { @@ -46572,7 +46811,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin } _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) if int32(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || int32(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) { - return _sqlite3CorruptError(tls, int32(71301)) + return _sqlite3CorruptError(tls, int32(71690)) } return SQLITE_OK } @@ -46992,7 +47231,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71741)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72130)) return } ovfl = _sqlite3Get4byte(tls, pCell+uintptr(int32((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4))) @@ -47032,12 +47271,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag { iFree = int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71799)) + return _sqlite3CorruptError(tls, int32(72188)) } if iFree != 0 { iFree2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71802)) + return _sqlite3CorruptError(tls, int32(72191)) } if 0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 { pEnd = data + uintptr(cellOffset+nCell*int32(2)) @@ -47045,21 +47284,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { sz = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree { - return _sqlite3CorruptError(tls, int32(71810)) + return _sqlite3CorruptError(tls, int32(72199)) } if iFree2 != 0 { if iFree+sz > iFree2 { - return _sqlite3CorruptError(tls, int32(71813)) + return _sqlite3CorruptError(tls, int32(72202)) } sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize { - return _sqlite3CorruptError(tls, int32(71815)) + return _sqlite3CorruptError(tls, int32(72204)) } libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) sz += sz2 } else { if iFree+sz > usableSize { - return _sqlite3CorruptError(tls, int32(71819)) + return _sqlite3CorruptError(tls, int32(72208)) } } cbrk = top + sz @@ -47106,12 +47345,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { ** if PRAGMA cell_size_check=ON. */ if pc > iCellLast { - return _sqlite3CorruptError(tls, int32(71852)) + return _sqlite3CorruptError(tls, int32(72241)) } size = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc))) cbrk -= size if cbrk < iCellStart || pc+size > usableSize { - return _sqlite3CorruptError(tls, int32(71858)) + return _sqlite3CorruptError(tls, int32(72247)) } *(*Tu8)(unsafe.Pointer(pAddr1)) = uint8(cbrk >> libc.Int32FromInt32(8)) *(*Tu8)(unsafe.Pointer(pAddr1 + 1)) = uint8(cbrk) @@ -47127,7 +47366,7 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { defragment_out: ; if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree { - return _sqlite3CorruptError(tls, int32(71872)) + return _sqlite3CorruptError(tls, int32(72261)) } *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = uint8(cbrk >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)) + 1)) = uint8(cbrk) @@ -47187,7 +47426,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint } else { if x+pc > maxPC { /* This slot extends off the end of the usable part of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71929)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72318)) return uintptr(0) } else { /* The slot remains on the free-list. Reduce its size to account @@ -47204,14 +47443,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint if pc <= iAddr { if pc != 0 { /* The next slot in the chain comes before the current slot */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71944)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72333)) } return uintptr(0) } } if pc > maxPC+nByte-int32(4) { /* The free slot chain extends off the end of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71951)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72340)) } return uintptr(0) } @@ -47254,11 +47493,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) { top = int32(65536) } else { - return _sqlite3CorruptError(tls, int32(71999)) + return _sqlite3CorruptError(tls, int32(72388)) } } else { if top > int32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(72002)) + return _sqlite3CorruptError(tls, int32(72391)) } } /* If there is enough space between gap and top for one more cell pointer, @@ -47272,7 +47511,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r g2 = v1 *(*int32)(unsafe.Pointer(pIdx)) = v1 if g2 <= gap { - return _sqlite3CorruptError(tls, int32(72019)) + return _sqlite3CorruptError(tls, int32(72408)) } else { return SQLITE_OK } @@ -47355,12 +47594,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if int32(iFreeBlk) == 0 { break } /* TH3: corrupt082.100 */ - return _sqlite3CorruptError(tls, int32(72098)) + return _sqlite3CorruptError(tls, int32(72487)) } iPtr = iFreeBlk } if uint32(iFreeBlk) > (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-uint32(4) { /* TH3: corrupt081.100 */ - return _sqlite3CorruptError(tls, int32(72103)) + return _sqlite3CorruptError(tls, int32(72492)) } /* At this point: ** iFreeBlk: First freeblock after iStart, or zero if none @@ -47371,11 +47610,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if iFreeBlk != 0 && iEnd+uint32(3) >= uint32(iFreeBlk) { nFrag = uint8(uint32(iFreeBlk) - iEnd) if iEnd > uint32(iFreeBlk) { - return _sqlite3CorruptError(tls, int32(72115)) + return _sqlite3CorruptError(tls, int32(72504)) } iEnd = uint32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+int32(2)))))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return _sqlite3CorruptError(tls, int32(72118)) + return _sqlite3CorruptError(tls, int32(72507)) } iSize = uint16(iEnd - uint32(iStart)) iFreeBlk = uint16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= int32(iStart) { if iPtrEnd > int32(iStart) { - return _sqlite3CorruptError(tls, int32(72131)) + return _sqlite3CorruptError(tls, int32(72520)) } nFrag = Tu8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = uint16(iEnd - uint32(iPtr)) @@ -47396,7 +47635,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(7))))) { - return _sqlite3CorruptError(tls, int32(72137)) + return _sqlite3CorruptError(tls, int32(72526)) } p2 = data + uintptr(int32(hdr)+int32(7)) *(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - int32(nFrag)) @@ -47413,10 +47652,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) ** so just extend the cell content area rather than create another ** freelist entry */ if int32(iStart) < int32(x) { - return _sqlite3CorruptError(tls, int32(72151)) + return _sqlite3CorruptError(tls, int32(72540)) } if int32(iPtr) != int32(hdr)+int32(1) { - return _sqlite3CorruptError(tls, int32(72152)) + return _sqlite3CorruptError(tls, int32(72541)) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)))) = uint8(int32(iFreeBlk) >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)) + 1)) = uint8(iFreeBlk) @@ -47477,7 +47716,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72206)) + return _sqlite3CorruptError(tls, int32(72595)) } } } else { @@ -47503,7 +47742,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72230)) + return _sqlite3CorruptError(tls, int32(72619)) } } } @@ -47542,12 +47781,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will ** always be at least one cell before the first freeblock. */ - return _sqlite3CorruptError(tls, int32(72281)) + return _sqlite3CorruptError(tls, int32(72670)) } for int32(1) != 0 { if pc > iCellLast { /* Freeblock off the end of the page */ - return _sqlite3CorruptError(tls, int32(72286)) + return _sqlite3CorruptError(tls, int32(72675)) } next = uint32(int32(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) { /* Freeblock not in ascending order */ - return _sqlite3CorruptError(tls, int32(72296)) + return _sqlite3CorruptError(tls, int32(72685)) } if uint32(pc)+size > uint32(usableSize) { /* Last freeblock extends past page end */ - return _sqlite3CorruptError(tls, int32(72300)) + return _sqlite3CorruptError(tls, int32(72689)) } } /* At this point, nFree contains the sum of the offset to the start @@ -47574,7 +47813,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { ** area, according to the page header, lies within the page. */ if nFree > usableSize || nFree < iCellFirst { - return _sqlite3CorruptError(tls, int32(72312)) + return _sqlite3CorruptError(tls, int32(72701)) } (*TMemPage)(unsafe.Pointer(pPage)).FnFree = int32(uint16(nFree - iCellFirst)) return SQLITE_OK @@ -47605,11 +47844,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) { } pc = int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))) if pc < iCellFirst || pc > iCellLast { - return _sqlite3CorruptError(tls, int32(72343)) + return _sqlite3CorruptError(tls, int32(72732)) } sz = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return _sqlite3CorruptError(tls, int32(72348)) + return _sqlite3CorruptError(tls, int32(72737)) } goto _1 _1: @@ -47638,7 +47877,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating ** the b-tree page type. */ if _decodeFlags(tls, pPage, int32(*(*Tu8)(unsafe.Pointer(data)))) != 0 { - return _sqlite3CorruptError(tls, int32(72380)) + return _sqlite3CorruptError(tls, int32(72769)) } (*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1)) (*TMemPage)(unsafe.Pointer(pPage)).FnOverflow = uint8(0) @@ -47651,7 +47890,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FnCell = uint16(int32(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) { /* To many cells for a single page. The page must be corrupt */ - return _sqlite3CorruptError(tls, int32(72394)) + return _sqlite3CorruptError(tls, int32(72783)) } /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only ** possible for a root page of a table that contains no rows) then the @@ -47804,7 +48043,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe _, _ = pPage, rc if pgno > _btreePagecount(tls, pBt) { *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72537)) + return _sqlite3CorruptError(tls, int32(72926)) } rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly) if rc != 0 { @@ -47866,7 +48105,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) { _releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72609)) + return _sqlite3CorruptError(tls, int32(72998)) } (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0) } else { @@ -47954,7 +48193,7 @@ func _sqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt /* Set the variable isMemdb to true for an in-memory database, or ** false for a file-based database. */ - isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4222) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) + isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4286) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) /* flags fit in 8 bits */ /* Only a BTREE_SINGLE database can be BTREE_UNORDERED */ /* A BTREE_SINGLE database is always a temporary and/or ephemeral */ @@ -48740,7 +48979,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { ** The original design allowed these amounts to vary, but as of ** version 3.6.0, we require them to be fixed. */ - if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4231, uint64(3)) != 0 { + if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4295, uint64(3)) != 0 { goto page1_init_failed } /* EVIDENCE-OF: R-51873-39618 The page size for a database file is @@ -48778,7 +49017,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { } if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) { if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 { - rc = _sqlite3CorruptError(tls, int32(73547)) + rc = _sqlite3CorruptError(tls, int32(73936)) goto page1_init_failed } else { nPage = *(*Tu32)(unsafe.Pointer(bp + 8)) @@ -49219,7 +49458,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT if int32(eType) == int32(PTRMAP_OVERFLOW2) { /* The pointer is always the first 4 bytes of the page in this case. */ if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return _sqlite3CorruptError(tls, int32(73995)) + return _sqlite3CorruptError(tls, int32(74384)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -49243,7 +49482,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74014)) + return _sqlite3CorruptError(tls, int32(74403)) } if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) { _sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo) @@ -49252,7 +49491,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } } else { if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74023)) + return _sqlite3CorruptError(tls, int32(74412)) } if _sqlite3Get4byte(tls, pCell) == iFrom { _sqlite3Put4byte(tls, pCell, iTo) @@ -49266,7 +49505,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } if i == nCell { if int32(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom { - return _sqlite3CorruptError(tls, int32(74035)) + return _sqlite3CorruptError(tls, int32(74424)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo) } @@ -49296,7 +49535,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP iDbPage = (*TMemPage)(unsafe.Pointer(pDbPage)).Fpgno pPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager if iDbPage < uint32(3) { - return _sqlite3CorruptError(tls, int32(74070)) + return _sqlite3CorruptError(tls, int32(74459)) } /* Move page iDbPage from its current location to page number iFreePage */ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit) @@ -49392,7 +49631,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom return rc } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) { - return _sqlite3CorruptError(tls, int32(74168)) + return _sqlite3CorruptError(tls, int32(74557)) } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) { if bCommit == 0 { @@ -49430,7 +49669,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) - return _sqlite3CorruptError(tls, int32(74220)) + return _sqlite3CorruptError(tls, int32(74609)) } } rc = _relocatePage(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*Tu8)(unsafe.Pointer(bp)), *(*TPgno)(unsafe.Pointer(bp + 4)), *(*TPgno)(unsafe.Pointer(bp + 24)), bCommit) @@ -49497,7 +49736,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) { nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) nFin = _finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = _sqlite3CorruptError(tls, int32(74288)) + rc = _sqlite3CorruptError(tls, int32(74677)) } else { if nFree > uint32(0) { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -49540,7 +49779,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { ** is either a pointer-map page or the pending-byte page. If one ** is encountered, this indicates corruption. */ - return _sqlite3CorruptError(tls, int32(74339)) + return _sqlite3CorruptError(tls, int32(74728)) } nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) db = (*TBtree)(unsafe.Pointer(p)).Fdb @@ -49570,7 +49809,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { } nFin = _finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return _sqlite3CorruptError(tls, int32(74366)) + return _sqlite3CorruptError(tls, int32(74755)) } if nFin < nOrig { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -50036,7 +50275,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo /* Assert that the caller has opened the required transaction. */ if iTable <= uint32(1) { if iTable < uint32(1) { - return _sqlite3CorruptError(tls, int32(74830)) + return _sqlite3CorruptError(tls, int32(75219)) } else { if _btreePagecount(tls, pBt) == uint32(0) { iTable = uint32(0) @@ -50428,7 +50667,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin pBt = (*TBtCursor)(unsafe.Pointer(pCur)).FpBt /* Btree this cursor belongs to */ pBufStart = pBuf /* Start of original out buffer */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(75235)) + return _sqlite3CorruptError(tls, int32(75624)) } _getCellInfo(tls, pCur) aPayload = (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload @@ -50438,7 +50677,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ** but is recast into its current form to avoid integer overflow problems */ - return _sqlite3CorruptError(tls, int32(75250)) + return _sqlite3CorruptError(tls, int32(75639)) } /* Check if data must be read/written to/from the btree page itself. */ if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) { @@ -50466,7 +50705,11 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_ValidOvfl) == 0 { nOvfl = int32(((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload - uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) + ovflSize - uint32(1)) / ovflSize) if (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow == uintptr(0) || nOvfl*libc.Int32FromInt64(4) > _sqlite3MallocSize(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow) { - aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + if _sqlite3FaultSim(tls, int32(413)) != 0 { + aNew = uintptr(0) + } else { + aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + } if aNew == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -50477,6 +50720,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin p1 = pCur + 1 *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(BTCF_ValidOvfl)) } else { + /* Sanity check the validity of the overflow page cache */ /* If the overflow page-list cache has been allocated and the ** entry for the first required overflow page is valid, skip ** directly to it. @@ -50490,7 +50734,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin for *(*TPgno)(unsafe.Pointer(bp)) != 0 { /* If required, populate the overflow page-list cache. */ if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(75312)) + return _sqlite3CorruptError(tls, int32(75710)) } *(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp)) if offset >= ovflSize { @@ -50564,7 +50808,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin } if rc == SQLITE_OK && amt > uint32(0) { /* Overflow chain ends prematurely */ - return _sqlite3CorruptError(tls, int32(75396)) + return _sqlite3CorruptError(tls, int32(75794)) } return rc } @@ -50699,7 +50943,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { var v3, p1 uintptr _, _, _, _ = rc, v2, v3, p1 if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(75534)) + return _sqlite3CorruptError(tls, int32(75932)) } (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) p1 = pCur + 1 @@ -50711,7 +50955,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, newPgno, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(75548)) + rc = _sqlite3CorruptError(tls, int32(75946)) } if rc != 0 { v3 = pCur + 84 @@ -50827,7 +51071,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) { ** in such a way that page pRoot is linked into a second b-tree table ** (or the freelist). */ if int32((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) { - return _sqlite3CorruptError(tls, int32(75683)) + return _sqlite3CorruptError(tls, int32(76081)) } goto skip_init skip_init: @@ -50841,7 +51085,7 @@ skip_init: } else { if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) { if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) { - return _sqlite3CorruptError(tls, int32(75695)) + return _sqlite3CorruptError(tls, int32(76093)) } subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8))) (*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID) @@ -51075,7 +51319,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh break } if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(75937)) + return _sqlite3CorruptError(tls, int32(76342)) } } } @@ -51279,7 +51523,7 @@ func _sqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes p3 = pCur + 1 *(*Tu8)(unsafe.Pointer(p3)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p3))) & ^libc.Int32FromInt32(BTCF_ValidOvfl)) if !((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76133)) + return _sqlite3CorruptError(tls, int32(76538)) } goto bypass_moveto_root /* Start search on the current page */ } @@ -51342,7 +51586,7 @@ bypass_moveto_root: /* Invalid key size: 0x80 0x80 0x01 */ /* Minimum legal index key size */ if nCell < int32(2) || uint32(nCell)/(*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage { - rc = _sqlite3CorruptError(tls, int32(76220)) + rc = _sqlite3CorruptError(tls, int32(76625)) goto moveto_index_finish } pCellKey = _sqlite3Malloc(tls, uint64(nCell+nOverrun)) @@ -51373,7 +51617,7 @@ bypass_moveto_root: rc = SQLITE_OK (*TBtCursor)(unsafe.Pointer(pCur)).Fix = uint16(idx) if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 { - rc = _sqlite3CorruptError(tls, int32(76252)) + rc = _sqlite3CorruptError(tls, int32(76657)) } goto moveto_index_finish } @@ -51406,7 +51650,7 @@ bypass_moveto_root: p9 = pCur + 1 *(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl))) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(76283)) + return _sqlite3CorruptError(tls, int32(76688)) } *(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = uint16(lwr) *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage @@ -51415,7 +51659,7 @@ bypass_moveto_root: rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(76294)) + rc = _sqlite3CorruptError(tls, int32(76699)) } if rc != 0 { v11 = pCur + 84 @@ -51464,11 +51708,11 @@ func _sqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) (r Ti64) { var i Tu8 var n Ti64 _, _ = i, n - /* Currently this interface is only called by the OP_IfSmaller - ** opcode, and it that case the cursor will always be valid and - ** will always point to a leaf node. */ + /* Currently this interface is only called by the OP_IfSizeBetween + ** opcode and the OP_Count opcode with P3=1. In either case, + ** the cursor will always be valid unless the btree is empty. */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return int64(-int32(1)) + return 0 } if int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).Fleaf) == 0 { return int64(-int32(1)) @@ -51544,7 +51788,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76395)) + return _sqlite3CorruptError(tls, int32(76800)) } if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { @@ -51654,7 +51898,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76488)) + return _sqlite3CorruptError(tls, int32(76893)) } if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { idx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) @@ -51742,7 +51986,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt ** stores the total number of pages on the freelist. */ n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36) if n >= mxPage { - return _sqlite3CorruptError(tls, int32(76578)) + return _sqlite3CorruptError(tls, int32(76983)) } if n > uint32(0) { searchList = uint8(0) /* If the free-list must be searched for 'nearby' */ @@ -51797,7 +52041,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt nSearch++ } if v2 || v1 > n { - rc = _sqlite3CorruptError(tls, int32(76634)) + rc = _sqlite3CorruptError(tls, int32(77039)) } else { rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0) } @@ -51823,7 +52067,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) { /* Value of k is out of range. Database corruption */ - rc = _sqlite3CorruptError(tls, int32(76663)) + rc = _sqlite3CorruptError(tls, int32(77068)) goto end_allocate_page } else { if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -51850,7 +52094,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8) if iNewTrunk > mxPage { - rc = _sqlite3CorruptError(tls, int32(76697)) + rc = _sqlite3CorruptError(tls, int32(77102)) goto end_allocate_page } rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0) @@ -51921,7 +52165,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4))) if iPage > mxPage || iPage < uint32(2) { - rc = _sqlite3CorruptError(tls, int32(76762)) + rc = _sqlite3CorruptError(tls, int32(77167)) goto end_allocate_page } if !(searchList != 0) || (iPage == nearby || iPage < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -52059,7 +52303,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in iTrunk = uint32(0) /* Page number of free-list trunk page */ pPage1 = (*TBtShared)(unsafe.Pointer(pBt)).FpPage1 /* Initial number of pages on free-list */ if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(76889)) + return _sqlite3CorruptError(tls, int32(77294)) } if pMemPage != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage @@ -52110,7 +52354,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */ iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32) if iTrunk > _btreePagecount(tls, pBt) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76936)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77341)) goto freepage_out } *(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0) @@ -52119,7 +52363,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in } nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4) if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76947)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77352)) goto freepage_out } if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) { @@ -52209,7 +52453,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp _, _, _, _, _, _, _, _ = nOvfl, ovflPageSize, ovflPgno, pBt, rc, v1, v2, v3 if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { /* Cell extends past end of page */ - return _sqlite3CorruptError(tls, int32(77036)) + return _sqlite3CorruptError(tls, int32(77441)) } ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt @@ -52227,7 +52471,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp /* 0 is not a legal page number and page 1 cannot be an ** overflow page. Therefore if ovflPgno<2 or past the end of the ** file the database must be corrupt. */ - return _sqlite3CorruptError(tls, int32(77053)) + return _sqlite3CorruptError(tls, int32(77458)) } if nOvfl != 0 { rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp) @@ -52250,7 +52494,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp ** caller is iterating through or using in some other way, this ** can be problematic. */ - rc = _sqlite3CorruptError(tls, int32(77073)) + rc = _sqlite3CorruptError(tls, int32(77478)) } else { rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno) } @@ -52471,7 +52715,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { pc = uint32(int32(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77329)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77734)) return } rc = _freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -52865,12 +53109,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg sz = *(*Tu16)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FszCell + uintptr(i)*2)) if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) { if uint64(pCell+uintptr(sz)) > uint64(pEnd) { - return _sqlite3CorruptError(tls, int32(77718)) + return _sqlite3CorruptError(tls, int32(78123)) } pCell = pTmp + uintptr(int64(pCell)-int64(aData)) } else { if uint64(pCell+uintptr(sz)) > uint64(pSrcEnd) && uint64(pCell) < uint64(pSrcEnd) { - return _sqlite3CorruptError(tls, int32(77723)) + return _sqlite3CorruptError(tls, int32(78128)) } } pData -= uintptr(sz) @@ -52878,7 +53122,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*Tu8)(unsafe.Pointer(pCellptr + 1)) = uint8(int64(pData) - int64(aData)) pCellptr += uintptr(2) if pData < pCellptr { - return _sqlite3CorruptError(tls, int32(77729)) + return _sqlite3CorruptError(tls, int32(78134)) } libc.Xmemmove(tls, pData, pCell, uint64(sz)) i++ @@ -52973,7 +53217,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr ** database. But they might for a corrupt database. Hence use memmove() ** since memcpy() sends SIGABORT with overlapping buffers on OpenBSD */ if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(pEnd) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(pEnd) { - _sqlite3CorruptError(tls, int32(77814)) + _sqlite3CorruptError(tls, int32(78219)) return int32(1) } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz)) @@ -53121,7 +53365,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p if iOld < iNew { nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray) if nShift > nCell { - return _sqlite3CorruptError(tls, int32(77936)) + return _sqlite3CorruptError(tls, int32(78341)) } libc.Xmemmove(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), uint64(nCell*int32(2))) nCell -= nShift @@ -53192,7 +53436,7 @@ editpage_fail: ; /* Unable to edit this page. Rebuild it from scratch instead. */ if nNew < int32(1) { - return _sqlite3CorruptError(tls, int32(78010)) + return _sqlite3CorruptError(tls, int32(78415)) } _populateCellCache(tls, pCArray, iNew, nNew) return _rebuildPage(tls, pCArray, iNew, nNew, pPg) @@ -53237,7 +53481,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt _, _, _, _, _, _, _ = pBt, pOut, pStop, v1, v2, v3, v4 pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt /* Page number of pNew */ if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return _sqlite3CorruptError(tls, int32(78050)) + return _sqlite3CorruptError(tls, int32(78455)) } /* dbfuzz001.test */ /* Allocate a new page. This page will become the right-sibling of ** pPage. Make the parent page writable, so that the new divider cell @@ -53598,7 +53842,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa ** table-interior, index-leaf, or index-interior). */ if int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78471)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78876)) goto balance_cleanup } /* Load b.apCell[] with pointers to all cells in pOld. If pOld @@ -53621,7 +53865,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa libc.Xmemset(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*uint64(limit+int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow))) if int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 { if limit < int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78495)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78900)) goto balance_cleanup } limit = int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) @@ -53752,7 +53996,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa if i+int32(1) >= k { k = i + int32(2) if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78596)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79001)) goto balance_cleanup } (*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0 @@ -53795,7 +54039,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v10 = 0 } if cntNew[i] <= v10 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78629)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79034)) goto balance_cleanup } } @@ -53854,7 +54098,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v15 = 0 } if cntNew[i-int32(1)] <= v15 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78673)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79078)) goto balance_cleanup } goto _11 @@ -53886,7 +54130,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) nNew++ if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78706)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79111)) } if *(*int32)(unsafe.Pointer(bp)) != 0 { goto balance_cleanup @@ -54116,7 +54360,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa } pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8)) if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78906)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79311)) goto balance_cleanup } *(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno) @@ -54362,7 +54606,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) { break } if pOther != pCur && int32((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage { - return _sqlite3CorruptError(tls, int32(79138)) + return _sqlite3CorruptError(tls, int32(79543)) } goto _1 _1: @@ -54435,7 +54679,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) { /* The page being written is not a root page, and there is currently ** more than one reference to it. This only happens if the page is one ** of its own ancestor pages. Corruption. */ - rc = _sqlite3CorruptError(tls, int32(79198)) + rc = _sqlite3CorruptError(tls, int32(79603)) } else { pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8)) iIdx = int32(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2))) @@ -54594,7 +54838,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int return rc } if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = _sqlite3CorruptError(tls, int32(79362)) + rc = _sqlite3CorruptError(tls, int32(79767)) } else { if uint32(iOffset)+ovflPageSize < uint32(nTotal) { ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData) @@ -54625,7 +54869,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) { nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */ pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */ if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) { - return _sqlite3CorruptError(tls, int32(79390)) + return _sqlite3CorruptError(tls, int32(79795)) } if int32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal { /* The entire cell is local */ @@ -54710,7 +54954,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** Which can only happen if the SQLITE_NoSchemaError flag was set when ** the schema was loaded. This cannot be asserted though, as a user might ** set the flag, load the schema, and then unset the flag. */ - return _sqlite3CorruptError(tls, int32(79471)) + return _sqlite3CorruptError(tls, int32(79876)) } } /* Ensure that the cursor is not in the CURSOR_FAULT state and that it @@ -54802,7 +55046,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) { /* ^^^^^--- due to the moveToRoot() call above */ - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79594)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79999)) } else { *(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage) } @@ -54838,7 +55082,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) if *(*int32)(unsafe.Pointer(bp + 4)) == 0 { if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79636)) + return _sqlite3CorruptError(tls, int32(80041)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -54868,10 +55112,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ /* clearCell never fails when nLocal==nPayload */ if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) { - return _sqlite3CorruptError(tls, int32(79663)) + return _sqlite3CorruptError(tls, int32(80068)) } if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79666)) + return _sqlite3CorruptError(tls, int32(80071)) } libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 8)))) return SQLITE_OK @@ -54989,7 +55233,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79768)) + return _sqlite3CorruptError(tls, int32(80173)) } nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -55011,7 +55255,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T } if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79793)) + return _sqlite3CorruptError(tls, int32(80198)) } ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -55111,21 +55355,21 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { return *(*int32)(unsafe.Pointer(bp)) } } else { - return _sqlite3CorruptError(tls, int32(79889)) + return _sqlite3CorruptError(tls, int32(80294)) } } iCellDepth = int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) iCellIdx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return _sqlite3CorruptError(tls, int32(79898)) + return _sqlite3CorruptError(tls, int32(80303)) } pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx)))))) if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 && _btreeComputeFreeSpace(tls, pPage) != 0 { - return _sqlite3CorruptError(tls, int32(79902)) + return _sqlite3CorruptError(tls, int32(80307)) } if pCell < (*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79905)) + return _sqlite3CorruptError(tls, int32(80310)) } /* If the BTREE_SAVEPOSITION bit is on, then the cursor position must ** be preserved following this delete operation. If the current delete @@ -55219,7 +55463,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { } pCell = (*TMemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(int32(2)*(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FnCell)-int32(1)))))))) if pCell < (*TMemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return _sqlite3CorruptError(tls, int32(79996)) + return _sqlite3CorruptError(tls, int32(80401)) } nCell = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pLeaf)).FxCellSize})))(tls, pLeaf, pCell)) pTmp = (*TBtShared)(unsafe.Pointer(pBt)).FpTmpSpace @@ -55329,7 +55573,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags */ _sqlite3BtreeGetMeta(tls, p, int32(BTREE_LARGEST_ROOT_PAGE), bp+8) if *(*TPgno)(unsafe.Pointer(bp + 8)) > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80112)) + return _sqlite3CorruptError(tls, int32(80517)) } *(*TPgno)(unsafe.Pointer(bp + 8))++ /* The new root-page may not be allocated on a pointer-map page, or the @@ -55370,7 +55614,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36) if int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) { - *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80160)) + *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80565)) } if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -55451,14 +55695,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int var _ /* rc at bp+8 */ int32 _, _, _, _ = hdr, i, pCell, v2 if pgno > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80250)) + return _sqlite3CorruptError(tls, int32(80655)) } *(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0) if *(*int32)(unsafe.Pointer(bp + 8)) != 0 { return *(*int32)(unsafe.Pointer(bp + 8)) } if int32((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80257)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80662)) goto cleardatabasepage_out } hdr = int32((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset) @@ -55595,7 +55839,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) pBt = (*TBtree)(unsafe.Pointer(p)).FpBt if iTable > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80361)) + return _sqlite3CorruptError(tls, int32(80766)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -55860,7 +56104,7 @@ func _checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4235, int32(1)) + Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4299, int32(1)) } if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, pCheck+72, (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp+8, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv0, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -55908,11 +56152,11 @@ func _checkRef(tls *libc.TLS, pCheck uintptr, iPage TPgno) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if iPage > (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnCkPage || iPage == uint32(0) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4237, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4301, libc.VaList(bp+8, iPage)) return int32(1) } if _getPageReferenced(tls, pCheck, iPage) != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4260, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4324, libc.VaList(bp+8, iPage)) return int32(1) } _setPageReferenced(tls, pCheck, iPage) @@ -55938,11 +56182,11 @@ func _checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild TPgno, eType Tu8, iParen if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< (*TBtShared)(unsafe.Pointer((*TIntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize/uint32(4)-uint32(2) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4390, libc.VaList(bp+16, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4454, libc.VaList(bp+16, iPage)) N-- } else { i = 0 @@ -56014,11 +56258,11 @@ func _checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage TPgno, N } if N != 0 && nErrAtStart == (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr { if isFreeList != 0 { - v2 = __ccgo_ts + 4429 + v2 = __ccgo_ts + 4493 } else { - v2 = __ccgo_ts + 4434 + v2 = __ccgo_ts + 4498 } - _checkAppendMsg(tls, pCheck, __ccgo_ts+4455, libc.VaList(bp+16, v2, expected-N, expected)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4519, libc.VaList(bp+16, v2, expected-N, expected)) } } @@ -56154,12 +56398,12 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr if _checkRef(tls, pCheck, iPage) != 0 { return 0 } - (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4481 + (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4545 (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage v1 = _btreeGetPage(tls, pBt, iPage, bp+8, 0) rc = v1 if v1 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4499, libc.VaList(bp+56, rc)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4563, libc.VaList(bp+56, rc)) if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< usableSize-uint32(4) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4653, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4717, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) doCoverageCheck = 0 goto _4 } pCell = data + uintptr(pc) (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FxParseCell})))(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), pCell, bp+24) if pc+uint32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnSize) > usableSize { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4683, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4747, 0) doCoverageCheck = 0 goto _4 } @@ -56241,7 +56488,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr v5 = libc.BoolInt32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey >= *(*Ti64)(unsafe.Pointer(bp))) } if v5 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4707, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4771, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) } *(*Ti64)(unsafe.Pointer(bp)) = (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey keyCanBeEqual = 0 /* Only the first key on the page may ==maxKey */ @@ -56264,7 +56511,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr d2 = _checkTreePage(tls, pCheck, uint32(pgno), bp, *(*Ti64)(unsafe.Pointer(bp))) keyCanBeEqual = 0 if d2 != depth { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4731, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4795, 0) depth = d2 } } else { @@ -56341,7 +56588,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr prev = contentOffset - uint32(1) /* Implied first min-heap entry */ for _btreeHeapPull(tls, heap, bp+16) != 0 { if prev&uint32(0xffff) >= *(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4756, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4820, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) break } else { nFrag = int32(uint32(nFrag) + (*(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) - prev&libc.Uint32FromInt32(0xffff) - libc.Uint32FromInt32(1))) @@ -56355,7 +56602,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr ** number of fragmented free bytes within the cell content area. */ if *(*Tu32)(unsafe.Pointer(heap)) == uint32(0) && nFrag != int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4793, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4857, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) } } goto end_of_check @@ -56395,16 +56642,16 @@ end_of_check: // ** the unverified btrees. Except, if aRoot[1] is 1, then the freelist // ** checks are still performed. // */ -func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { - bp := tls.Alloc(256) - defer tls.Free(256) +func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, aCnt uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { + bp := tls.Alloc(272) + defer tls.Free(272) var bCkFreelist, bPartial int32 var i, mx, mxInHdr TPgno var pBt uintptr var savedDbFlags Tu64 - var _ /* notUsed at bp+224 */ Ti64 + var _ /* notUsed at bp+232 */ Ti64 var _ /* sCheck at bp+0 */ TIntegrityCk - var _ /* zErr at bp+120 */ [100]int8 + var _ /* zErr at bp+128 */ [100]int8 _, _, _, _, _, _, _ = bCkFreelist, bPartial, i, mx, mxInHdr, pBt, savedDbFlags pBt = (*TBtree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Tsqlite3)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags @@ -56418,13 +56665,13 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } } _sqlite3BtreeEnter(tls, p) - libc.Xmemset(tls, bp, 0, uint64(120)) + libc.Xmemset(tls, bp, 0, uint64(128)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fdb = db (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt = pBt (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage = _btreePagecount(tls, (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr = mxErr - _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+120, int32(100), int32(SQLITE_MAX_LENGTH)) + _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+128, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FerrMsg.FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage == uint32(0) { goto integrity_ck_cleanup @@ -56446,7 +56693,7 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin /* Check the integrity of the freelist */ if bCkFreelist != 0 { - (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4845 + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4909 _checkList(tls, bp, int32(1), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = uintptr(0) } @@ -56470,11 +56717,11 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } mxInHdr = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+52) if mx != mxInHdr { - _checkAppendMsg(tls, bp, __ccgo_ts+4856, libc.VaList(bp+240, mx, mxInHdr)) + _checkAppendMsg(tls, bp, __ccgo_ts+4920, libc.VaList(bp+248, mx, mxInHdr)) } } else { if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64) != uint32(0) { - _checkAppendMsg(tls, bp, __ccgo_ts+4901, 0) + _checkAppendMsg(tls, bp, __ccgo_ts+4965, 0) } } } @@ -56484,14 +56731,15 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin if !(int32(i) < nRoot && (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr != 0) { break } - if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == uint32(0) { - goto _2 - } - if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { - _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnRow = 0 + if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) != 0 { + if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { + _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + } + (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fv0 = *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) + _checkTreePage(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+232, libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)< nRec || iHdr >= *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84303)) + iHdr = uint32(uint8(v1)) + if *(*Tu32)(unsafe.Pointer(bp + 4)) > uint32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84745)) } - iField = *(*int32)(unsafe.Pointer(bp + 4)) + iField = int64(*(*Tu32)(unsafe.Pointer(bp + 4))) i = 0 for { if !(i <= iCol) { @@ -59484,19 +59763,19 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC } else { v3 = int32(_sqlite3GetVarint32(tls, a+uintptr(iHdr), bp)) } - iHdr += int32(uint8(v3)) - if iHdr > *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84309)) + iHdr += uint32(uint8(v3)) + if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84751)) } - szField = int32(_sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))) - iField += szField + szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp))) + iField += int64(szField) goto _2 _2: ; i++ } - if iField > nRec { - return _sqlite3CorruptError(tls, int32(84315)) + if iField > int64(nRec) { + return _sqlite3CorruptError(tls, int32(84757)) } if pMem == uintptr(0) { v4 = _sqlite3ValueNew(tls, db) @@ -59506,7 +59785,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return int32(SQLITE_NOMEM) } } - _sqlite3VdbeSerialGet(tls, a+uintptr(iField-szField), *(*Tu32)(unsafe.Pointer(bp)), pMem) + _sqlite3VdbeSerialGet(tls, a+uintptr(iField-int64(szField)), *(*Tu32)(unsafe.Pointer(bp)), pMem) (*TMem)(unsafe.Pointer(pMem)).Fenc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc return SQLITE_OK } @@ -60293,6 +60572,9 @@ func _resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* True because of tag-20230419-1 */ (*TOp)(unsafe.Pointer(pOp)).Fp2 = *(*int32)(unsafe.Pointer(aLabel + uintptr(^(*TOp)(unsafe.Pointer(pOp)).Fp2)*4)) } + /* OPFLG_JUMP opcodes never have P2==0, though OPFLG_JUMP0 opcodes + ** might */ + /* Jumps never go off the end of the bytecode array */ break } /* The mkopcodeh.tcl script has so arranged things that the only @@ -60805,7 +61087,7 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { switch int32((*TOp)(unsafe.Pointer(pOp)).Fp4type) { case -int32(8): pKeyInfo = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5113, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5177, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) j = 0 for { if !(j < int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)) { @@ -60815,66 +61097,66 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { if pColl != 0 { v2 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v2 = __ccgo_ts + 1680 + v2 = __ccgo_ts + 1694 } zColl = v2 - if libc.Xstrcmp(tls, zColl, __ccgo_ts+5118) == 0 { - zColl = __ccgo_ts + 5125 + if libc.Xstrcmp(tls, zColl, __ccgo_ts+5182) == 0 { + zColl = __ccgo_ts + 5189 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_DESC) != 0 { - v3 = __ccgo_ts + 5106 + v3 = __ccgo_ts + 5170 } else { - v3 = __ccgo_ts + 1680 + v3 = __ccgo_ts + 1694 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_BIGNULL) != 0 { - v4 = __ccgo_ts + 5127 + v4 = __ccgo_ts + 5191 } else { - v4 = __ccgo_ts + 1680 + v4 = __ccgo_ts + 1694 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5130, libc.VaList(bp+40, v3, v4, zColl)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5194, libc.VaList(bp+40, v3, v4, zColl)) goto _1 _1: ; j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5138, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5202, int32(1)) case -int32(2): pColl1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5154, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5218, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) case -int32(7): pDef = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5163, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5227, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) case -int32(15): pDef1 = (*Tsqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpFunc - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5163, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5227, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) case -int32(13): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1436, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1455, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(3): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5170, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5234, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) case -int32(12): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1403, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1422, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(10): pMem = *(*uintptr)(unsafe.Pointer(pOp + 16)) if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Str) != 0 { zP4 = (*TMem)(unsafe.Pointer(pMem)).Fz } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1436, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1455, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1403, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1422, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Null) != 0 { - zP4 = __ccgo_ts + 1681 + zP4 = __ccgo_ts + 1695 } else { - zP4 = __ccgo_ts + 5173 + zP4 = __ccgo_ts + 5237 } } } } case -int32(11): pVtab = (*TVTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpVtab - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5180, libc.VaList(bp+40, pVtab)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5244, libc.VaList(bp+40, pVtab)) case -int32(14): ai = *(*uintptr)(unsafe.Pointer(pOp + 16)) n = *(*Tu32)(unsafe.Pointer(ai)) /* The first element of an INTARRAY is always the @@ -60889,15 +61171,15 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } else { v6 = int32(',') } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5188, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5252, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) goto _5 _5: ; i++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5193, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5257, int32(1)) case -int32(4): - zP4 = __ccgo_ts + 5195 + zP4 = __ccgo_ts + 5259 case -int32(5): zP4 = (*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FzName default: @@ -60913,10 +61195,10 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } var _encnames = [4]uintptr{ - 0: __ccgo_ts + 5140, - 1: __ccgo_ts + 5142, - 2: __ccgo_ts + 5144, - 3: __ccgo_ts + 5149, + 0: __ccgo_ts + 5204, + 1: __ccgo_ts + 5206, + 2: __ccgo_ts + 5208, + 3: __ccgo_ts + 5213, } // C documentation @@ -61867,7 +62149,7 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { retryCount = 0 /* Select a super-journal file name */ nMainFile = _sqlite3Strlen30(tls, zMainFile) - zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5203, libc.VaList(bp+24, 0, zMainFile, 0)) + zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5267, libc.VaList(bp+24, 0, zMainFile, 0)) if zSuper == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -61875,18 +62157,18 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { for cond := true; cond; cond = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8)) != 0 { if retryCount != 0 { if retryCount > int32(100) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5215, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5279, libc.VaList(bp+24, zSuper)) _sqlite3OsDelete(tls, pVfs, zSuper, 0) break } else { if retryCount == int32(1) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5229, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5293, libc.VaList(bp+24, zSuper)) } } } retryCount++ Xsqlite3_randomness(tls, int32(4), bp+12) - Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5244, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) + Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5308, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) /* The antipenultimate character of the super-journal name must ** be "9" to avoid name collisions when using 8+3 filenames. */ rc = _sqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+8) @@ -62117,7 +62399,7 @@ func _sqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) (r int32) { if deferred != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > 0 || !(deferred != 0) && (*TVdbe)(unsafe.Pointer(p)).FnFkConstraint > 0 { (*TVdbe)(unsafe.Pointer(p)).Frc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(3)< y { return +libc.Int32FromInt32(1) } - s = float64(i) - if s < r { + if float64(i) < r { v2 = -int32(1) } else { - v2 = libc.BoolInt32(s > r) + v2 = libc.BoolInt32(float64(i) > r) } return v2 } @@ -63426,7 +63707,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89131))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89580))) return 0 /* Corruption */ } /* Only needed by assert() statements */ @@ -63516,7 +63797,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr pKeyInfo = v4 } if v5 || int32((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89212))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89661))) return 0 /* Corruption */ } else { if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { @@ -63551,7 +63832,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } else { nStr = int32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2)) if d1+uint32(nStr) > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89242))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89691))) return 0 /* Corruption */ } else { if int32((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 { @@ -63605,7 +63886,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } idx1 += uint32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68))))) if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89293))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89742))) return 0 /* Corrupt index */ } } @@ -63737,7 +64018,7 @@ vrcs_restart: szHdr = int32(*(*Tu8)(unsafe.Pointer(aKey1))) nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2) if szHdr+nStr > nKey1 { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89456))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89905))) return 0 /* Corruption */ } if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr { @@ -63889,7 +64170,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr idx_rowid_corruption: ; _sqlite3VdbeMemReleaseMalloc(tls, bp+8) - return _sqlite3CorruptError(tls, int32(89614)) + return _sqlite3CorruptError(tls, int32(90063)) } // C documentation @@ -63920,7 +64201,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked ** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */ if nCellKey <= 0 || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return _sqlite3CorruptError(tls, int32(89647)) + return _sqlite3CorruptError(tls, int32(90096)) } _sqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, uint32(nCellKey), bp) @@ -64071,15 +64352,15 @@ func _sqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) (r int32) { pOp = (*TVdbe)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe)).FaOp + uintptr((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FiOp)*24 if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fopcode) == int32(OP_PureFunc) { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_IsCheck) != 0 { - zContext = __ccgo_ts + 5287 + zContext = __ccgo_ts + 5351 } else { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_GenCol) != 0 { - zContext = __ccgo_ts + 5306 + zContext = __ccgo_ts + 5370 } else { - zContext = __ccgo_ts + 5325 + zContext = __ccgo_ts + 5389 } } - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5334, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5398, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) return 0 @@ -64253,7 +64534,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) (r int32) { // */ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { if (*TVdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5370, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5434, 0) return int32(1) } else { return 0 @@ -64263,7 +64544,7 @@ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { func _vdbeSafetyNotNull(tls *libc.TLS, p uintptr) (r int32) { if p == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5415, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5479, 0) return int32(1) } else { return _vdbeSafety(tls, p) @@ -64321,7 +64602,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt db = (*TVdbe)(unsafe.Pointer(v)).Fdb if _vdbeSafety(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90035)) + return _sqlite3MisuseError(tls, int32(90484)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 { @@ -64824,7 +65105,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { // /* Force an SQLITE_TOOBIG error. */ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FisError = int32(SQLITE_TOOBIG) - _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5455, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) + _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5519, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) } // C documentation @@ -65025,7 +65306,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt /* the prepared statement */ cnt = 0 /* The database connection */ if _vdbeSafetyNotNull(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90829)) + return _sqlite3MisuseError(tls, int32(91278)) } db = (*TVdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) @@ -65155,7 +65436,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32 _, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1 *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) if pVal == uintptr(0) { - return _sqlite3MisuseError(tls, int32(90950)) + return _sqlite3MisuseError(tls, int32(91399)) } if int32((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) { return int32(SQLITE_ERROR) @@ -65615,18 +65896,18 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) (r int32) { // ** Column names appropriate for EXPLAIN or EXPLAIN QUERY PLAN. // */ var _azExplainColNames8 = [12]uintptr{ - 0: __ccgo_ts + 5478, - 1: __ccgo_ts + 5483, - 2: __ccgo_ts + 5490, - 3: __ccgo_ts + 5493, - 4: __ccgo_ts + 5496, - 5: __ccgo_ts + 5499, - 6: __ccgo_ts + 5502, - 7: __ccgo_ts + 5505, - 8: __ccgo_ts + 5513, - 9: __ccgo_ts + 5516, - 10: __ccgo_ts + 5523, - 11: __ccgo_ts + 5531, + 0: __ccgo_ts + 5542, + 1: __ccgo_ts + 5547, + 2: __ccgo_ts + 5554, + 3: __ccgo_ts + 5557, + 4: __ccgo_ts + 5560, + 5: __ccgo_ts + 5563, + 6: __ccgo_ts + 5566, + 7: __ccgo_ts + 5569, + 8: __ccgo_ts + 5577, + 9: __ccgo_ts + 5580, + 10: __ccgo_ts + 5587, + 11: __ccgo_ts + 5595, } var _azExplainColNames16data = [60]Tu16{ 0: uint16('a'), @@ -65870,14 +66151,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) { var v2 bool _, _, _ = pVar, v1, v2 if _vdbeSafetyNotNull(tls, p) != 0 { - return _sqlite3MisuseError(tls, int32(91554)) + return _sqlite3MisuseError(tls, int32(92003)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if int32((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) { - _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(91558))) + _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(92007))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5538, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) - return _sqlite3MisuseError(tls, int32(91562)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5602, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) + return _sqlite3MisuseError(tls, int32(92011)) } if i >= uint32((*TVdbe)(unsafe.Pointer(p)).FnVar) { _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE)) @@ -66441,7 +66722,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp /* Test that this call is being made from within an SQLITE_DELETE or ** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */ if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) { - rc = _sqlite3MisuseError(tls, int32(92098)) + rc = _sqlite3MisuseError(tls, int32(92547)) goto preupdate_old_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 { @@ -66571,7 +66852,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp rc = SQLITE_OK p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) { - rc = _sqlite3MisuseError(tls, int32(92221)) + rc = _sqlite3MisuseError(tls, int32(92670)) goto preupdate_new_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) { @@ -66745,7 +67026,7 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr break } } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5578, int32(3)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5642, int32(3)) Xsqlite3_str_append(tls, bp+8, zStart, int32(int64(zRawSql)-int64(zStart))) } } else { @@ -66777,13 +67058,13 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr nextIndex = v2 pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(*(*int32)(unsafe.Pointer(bp))-int32(1))*56 if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1681, int32(4)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1695, int32(4)) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1436, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1455, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5099, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5163, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Str) != 0 { /* Number of bytes of the string text to include in output */ enc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc @@ -66798,28 +67079,28 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr pVar = bp + 40 } nOut = (*TMem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5582, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5646, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != int32(SQLITE_UTF8) { _sqlite3VdbeMemRelease(tls, bp+40) } } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5589, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5653, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) } else { /* Number of bytes of the blob to include in output */ - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5602, int32(2)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5666, int32(2)) nOut1 = (*TMem)(unsafe.Pointer(pVar)).Fn i = 0 for { if !(i < nOut1) { break } - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5605, libc.VaList(bp+104, int32(*(*int8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5669, libc.VaList(bp+104, int32(*(*int8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) goto _3 _3: ; i++ } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5610, int32(1)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5674, int32(1)) } } } @@ -67419,7 +67700,7 @@ var _azTypes = [5]uintptr{ 1: __ccgo_ts + 1176, 2: __ccgo_ts + 1181, 3: __ccgo_ts + 1159, - 4: __ccgo_ts + 1681, + 4: __ccgo_ts + 1695, } // C documentation @@ -67433,7 +67714,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { defer tls.Free(976) var aCol, aMem, aOffset, aOp, aPermute, aRoot, apArg, apArg1, db, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pnErr, t1, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v240, v241, v242, v250, v251, v252, v253, v255, v263, v278, v279, v286, v288, v297, v298, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 uintptr var affinity int8 - var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 + var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, savedAnalysisLimit, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 var colCacheCtr, iAddr, iMap, iPrior, idx, len11, n3, p22, p23, serialType, serial_type, v213, v214, v216, v221, v222 Tu32 var encoding, isWriteLock, mTrace, op, p5, resetSchemaOnFault, vtabOnConflict, v225 Tu8 var flags1, flags11, flags2, flags3, flags31, newType, nullFlag, type1, type2, typeMask, v190 Tu16 @@ -67490,7 +67771,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { var _ /* z at bp+688 */ uintptr var _ /* zErr at bp+632 */ uintptr var _ /* zErr at bp+792 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, savedAnalysisLimit, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 aOp = (*TVdbe)(unsafe.Pointer(p)).FaOp /* Copy of p->aOp */ pOp = aOp /* Current operation */ rc = SQLITE_OK /* Value to return */ @@ -67760,7 +68041,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto _109 case int32(OP_SeekEnd): goto _110 - case int32(OP_IfSmaller): + case int32(OP_IfSizeBetween): goto _111 case int32(OP_Sort): goto _112 @@ -68054,7 +68335,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: EndCoroutine */ _5: - ; /* jump */ + ; /* jump0 */ pOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 *(*Ti64)(unsafe.Pointer(pOut)) = int64((*TOp)(unsafe.Pointer(pOp)).Fp3 - int32(1)) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Int) @@ -68074,7 +68355,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** ** The instruction at the address in register P1 is a Yield. ** Jump to the P2 parameter of that Yield. - ** After the jump, register P1 becomes undefined. + ** After the jump, the value register P1 is left with a value + ** such that subsequent OP_Yields go back to the this same + ** OP_EndCoroutine instruction. ** ** See also: InitCoroutine */ @@ -68082,8 +68365,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ; pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 pCaller = aOp + uintptr(*(*Ti64)(unsafe.Pointer(pIn1)))*24 + *(*Ti64)(unsafe.Pointer(pIn1)) = int64(int32((int64(pOp)-int64((*TVdbe)(unsafe.Pointer(p)).FaOp))/24) - int32(1)) pOp = aOp + uintptr((*TVdbeOp)(unsafe.Pointer(pCaller)).Fp2-int32(1))*24 - (*TMem)(unsafe.Pointer(pIn1)).Fflags = uint16(MEM_Undefined) goto _187 /* Opcode: Yield P1 P2 * * * ** @@ -68179,15 +68462,15 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TVdbe)(unsafe.Pointer(p)).FerrorAction = uint8((*TOp)(unsafe.Pointer(pOp)).Fp2) if (*TVdbe)(unsafe.Pointer(p)).Frc != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+5646, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) + _sqlite3VdbeError(tls, p, __ccgo_ts+5710, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) if *(*uintptr)(unsafe.Pointer(pOp + 16)) != 0 { - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5667, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5731, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } } else { - _sqlite3VdbeError(tls, p, __ccgo_ts+3827, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3891, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } pcx = int32((int64(pOp) - int64(aOp)) / 24) - Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5674, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5738, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) } rc = _sqlite3VdbeHalt(tls, p) if rc == int32(SQLITE_BUSY) { @@ -68378,13 +68661,10 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } (*TMem)(unsafe.Pointer(pOut)).Fenc = encoding goto _187 - /* Opcode: Variable P1 P2 * P4 * - ** Synopsis: r[P2]=parameter(P1,P4) + /* Opcode: Variable P1 P2 * * * + ** Synopsis: r[P2]=parameter(P1) ** ** Transfer the values of bound parameter P1 into register P2 - ** - ** If the parameter is named, then its name appears in P4. - ** The P4 value is used by sqlite3_bind_parameter_name(). */ _19: ; /* Value being transferred */ @@ -68907,7 +69187,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** raise an SQLITE_MISMATCH exception. */ _38: - ; /* jump, in1 */ + ; /* jump0, in1 */ pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 if int32((*TMem)(unsafe.Pointer(pIn1)).Fflags)&int32(MEM_Int) == 0 { _applyAffinity(tls, pIn1, int8(SQLITE_AFF_NUMERIC), encoding) @@ -69912,7 +70192,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24 goto _187 } else { - rc = _sqlite3CorruptError(tls, int32(95863)) + rc = _sqlite3CorruptError(tls, int32(96311)) goto abort_due_to_error } /* Opcode: TypeCheck P1 P2 P3 P4 * @@ -70015,7 +70295,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_type_error vdbe_type_error: ; - _sqlite3VdbeError(tls, p, __ccgo_ts+5698, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) + _sqlite3VdbeError(tls, p, __ccgo_ts+5762, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(12)< 0 && p12 == int32(SAVEPOINT_RELEASE) { /* It is not possible to release (commit) a savepoint if there are ** active write statements. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5812, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5876, 0) rc = int32(SQLITE_BUSY) } else { /* Determine whether or not this is a transaction savepoint. If so, @@ -70611,7 +70891,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If this instruction implements a COMMIT and other VMs are writing ** return an error indicating that the other VMs must complete first. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5866, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5930, 0) rc = int32(SQLITE_BUSY) goto abort_due_to_error } else { @@ -70641,12 +70921,12 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_return } else { if !(desiredAutoCommit != 0) { - v250 = __ccgo_ts + 5921 + v250 = __ccgo_ts + 5985 } else { if iRollback != 0 { - v251 = __ccgo_ts + 5969 + v251 = __ccgo_ts + 6033 } else { - v251 = __ccgo_ts + 6012 + v251 = __ccgo_ts + 6076 } v250 = v251 } @@ -70738,7 +71018,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** SQL statement was prepared. */ _sqlite3DbFree(tls, db, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg) - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6053) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6117) /* If the schema-cookie from the database file matches the cookie ** stored with the in-memory representation of the schema, do ** not reload the schema from the database file. @@ -71056,7 +71336,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** form sqlite3BtreeInsert() where the length of the data is zero. */ /* Only used when number of columns is zero */ (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fn = 0 - (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1680 + (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1694 } pCx1 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) if pCx1 != 0 && !(int32(TBool(*(*uint8)(unsafe.Pointer(pCx1 + 8))&0x8>>3)) != 0) && (*TOp)(unsafe.Pointer(pOp)).Fp2 <= int32((*TVdbeCursor)(unsafe.Pointer(pCx1)).FnField) { @@ -71161,7 +71441,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** is the only cursor opcode that works with a pseudo-table. ** ** P3 is the number of fields in the records that will be stored by - ** the pseudo-table. + ** the pseudo-table. If P2 is 0 or negative then the pseudo-cursor + ** will return NULL for every column. */ _83: ; @@ -71279,11 +71560,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: Found, NotFound, SeekGt, SeekGe, SeekLt */ _88: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _87: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _86: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _85: ; /* Only interested in == results */ pC5 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -71844,7 +72125,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TVdbeCursor)(unsafe.Pointer(pC10)).FseekResult = *(*int32)(unsafe.Pointer(bp + 248)) if *(*int32)(unsafe.Pointer(bp + 248)) != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 { - rc = _sqlite3CorruptError(tls, int32(98111)) + rc = _sqlite3CorruptError(tls, int32(98565)) } else { goto jump_to_p2 } @@ -72444,10 +72725,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } goto _187 - /* Opcode: IfSmaller P1 P2 P3 * * + /* Opcode: IfSizeBetween P1 P2 P3 P4 * + ** + ** Let N be the approximate number of rows in the table or index + ** with cursor P1 and let X be 10*log2(N) if N is positive or -1 + ** if N is zero. ** - ** Estimate the number of rows in the table P1. Jump to P2 if that - ** estimate is less than approximately 2**(0.1*P3). + ** Jump to P2 if X is in between P3 and P4, inclusive. */ _111: ; @@ -72457,12 +72741,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { goto abort_due_to_error } - if *(*int32)(unsafe.Pointer(bp + 396)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { + sz = int64(-int32(1)) /* -Infinity encoding */ + } else { sz = _sqlite3BtreeRowCountEst(tls, pCrsr5) - if sz >= 0 && int32(_sqlite3LogEst(tls, uint64(sz))) < (*TOp)(unsafe.Pointer(pOp)).Fp3 { - *(*int32)(unsafe.Pointer(bp + 396)) = int32(1) - } + sz = int64(_sqlite3LogEst(tls, uint64(sz))) } + *(*int32)(unsafe.Pointer(bp + 396)) = libc.BoolInt32(sz >= int64((*TOp)(unsafe.Pointer(pOp)).Fp3) && sz <= int64((*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { goto jump_to_p2 } @@ -72731,7 +73016,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } else { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) { - rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) { - rc = _sqlite3CorruptError(tls, int32(99398)) + rc = _sqlite3CorruptError(tls, int32(99862)) goto abort_due_to_error } _sqlite3VdbeMemInit(tls, bp+552, db, uint16(0)) @@ -73028,11 +73313,18 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } *(*Ti64)(unsafe.Pointer(pOut)) = int64(*(*TPgno)(unsafe.Pointer(bp + 624))) goto _187 - /* Opcode: SqlExec * * * P4 * + /* Opcode: SqlExec P1 P2 * P4 * ** ** Run the SQL statement or statements specified in the P4 string. - ** Disable Auth and Trace callbacks while those statements are running if - ** P1 is true. + ** + ** The P1 parameter is a bitmask of options: + ** + ** 0x0001 Disable Auth and Trace callbacks while the statements + ** in P4 are running. + ** + ** 0x0002 Set db->nAnalysisLimit to P2 while the statements in + ** P4 are running. + ** */ _132: ; @@ -73040,16 +73332,21 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*uintptr)(unsafe.Pointer(bp + 632)) = uintptr(0) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth mTrace = (*Tsqlite3)(unsafe.Pointer(db)).FmTrace - if (*TOp)(unsafe.Pointer(pOp)).Fp1 != 0 { + savedAnalysisLimit = (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0001) != 0 { (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(0) } + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0002) != 0 { + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (*TOp)(unsafe.Pointer(pOp)).Fp2 + } rc = Xsqlite3_exec(tls, db, *(*uintptr)(unsafe.Pointer(pOp + 16)), uintptr(0), uintptr(0), bp+632) (*Tsqlite3)(unsafe.Pointer(db)).FnSqlExec-- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = mTrace + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = savedAnalysisLimit if *(*uintptr)(unsafe.Pointer(bp + 632)) != 0 || rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3827, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3891, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 632))) if rc == int32(SQLITE_NOMEM) { goto no_mem @@ -73080,13 +73377,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_SchemaChange) libc.SetBitFieldPtr16Uint32(p+200, libc.Uint32FromInt32(0), 0, 0x3) } else { - zSchema = __ccgo_ts + 6098 + zSchema = __ccgo_ts + 6162 (*(*TInitData)(unsafe.Pointer(bp + 640))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 640))).FiDb = iDb3 (*(*TInitData)(unsafe.Pointer(bp + 640))).FpzErrMsg = p + 168 (*(*TInitData)(unsafe.Pointer(bp + 640))).FmInitFlags = uint32(0) (*(*TInitData)(unsafe.Pointer(bp + 640))).FmxPage = _sqlite3BtreeLastPage(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6112, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6176, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -73101,7 +73398,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* The OP_ParseSchema opcode with a non-NULL P4 argument should parse ** at least one SQL statement. Any less than that indicates that ** the sqlite_schema table is corrupt. */ - rc = _sqlite3CorruptError(tls, int32(99678)) + rc = _sqlite3CorruptError(tls, int32(100155)) } _sqlite3DbFreeNN(tls, db, zSql) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) @@ -73167,11 +73464,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* Opcode: IntegrityCk P1 P2 P3 P4 P5 ** ** Do an analysis of the currently open database. Store in - ** register P1 the text of an error message describing any problems. - ** If no problems are found, store a NULL in register P1. + ** register (P1+1) the text of an error message describing any problems. + ** If no problems are found, store a NULL in register (P1+1). ** - ** The register P3 contains one less than the maximum number of allowed errors. - ** At most reg(P3) errors will be reported. + ** The register (P1) contains one less than the maximum number of allowed + ** errors. At most reg(P1) errors will be reported. ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. ** @@ -73187,9 +73484,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ; /* Register keeping track of errors remaining */ nRoot = (*TOp)(unsafe.Pointer(pOp)).Fp2 aRoot = *(*uintptr)(unsafe.Pointer(pOp + 16)) - pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 - pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 - rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) + pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 + pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1+int32(1))*56 + rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, aMem+uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) _sqlite3VdbeMemSetNull(tls, pIn1) if *(*int32)(unsafe.Pointer(bp + 680)) == 0 { } else { @@ -73295,7 +73592,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** P1 contains the address of the memory cell that contains the first memory ** cell in an array of values used as arguments to the sub-program. P2 ** contains the address to jump to if the sub-program throws an IGNORE - ** exception using the RAISE() function. Register P3 contains the address + ** exception using the RAISE() function. P2 might be zero, if there is + ** no possibility that an IGNORE exception will be raised. + ** Register P3 contains the address ** of a memory cell in this (the parent) VM that is used to allocate the ** memory required by the sub-vdbe at runtime. ** @@ -73336,7 +73635,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } if (*TVdbe)(unsafe.Pointer(p)).FnFrame >= *(*int32)(unsafe.Pointer(db + 136 + 10*4)) { rc = int32(SQLITE_ERROR) - _sqlite3VdbeError(tls, p, __ccgo_ts+6155, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6219, 0) goto abort_due_to_error } /* Register pRt is used to store the memory required to save the state @@ -73699,7 +73998,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } /* IMP: R-24505-23230 */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3827, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3891, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError } if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FskipFlag != 0 { @@ -73755,7 +74054,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3VdbeMemFinalize(tls, pMem3, *(*uintptr)(unsafe.Pointer(pOp + 16))) } if rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3827, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3891, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) goto abort_due_to_error } _sqlite3VdbeChangeEncoding(tls, pMem3, int32(encoding)) @@ -73834,11 +74133,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeRead > int32(1) { rc = int32(SQLITE_ERROR) if eNew == int32(PAGER_JOURNALMODE_WAL) { - v286 = __ccgo_ts + 6192 + v286 = __ccgo_ts + 6256 } else { - v286 = __ccgo_ts + 6197 + v286 = __ccgo_ts + 6261 } - _sqlite3VdbeError(tls, p, __ccgo_ts+6204, libc.VaList(bp+944, v286)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6268, libc.VaList(bp+944, v286)) goto abort_due_to_error } else { if eOld == int32(PAGER_JOURNALMODE_WAL) { @@ -73991,7 +74290,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { if rc&int32(0xFF) == int32(SQLITE_LOCKED) { z1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - _sqlite3VdbeError(tls, p, __ccgo_ts+6256, libc.VaList(bp+944, z1)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6320, libc.VaList(bp+944, z1)) } goto abort_due_to_error } @@ -74153,7 +74452,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TValueList)(unsafe.Pointer(pRhs)).FpOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 pOut = _out2Prerelease(tls, p, pOp) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null) - _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6285, __ccgo_fp(_sqlite3VdbeValueListFree)) + _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6349, __ccgo_fp(_sqlite3VdbeValueListFree)) goto _187 /* Opcode: VFilter P1 P2 P3 P4 * ** Synopsis: iplan=r[P3] zplan='P4' @@ -74249,7 +74548,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_module)(unsafe.Pointer(pModule4)).FxColumn})))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 48)), bp+800, (*TOp)(unsafe.Pointer(pOp)).Fp2) _sqlite3VtabImportErrmsg(tls, p, pVtab4) if (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3827, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3891, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) rc = (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError } _sqlite3VdbeChangeEncoding(tls, pDest2, int32(encoding)) @@ -74503,7 +74802,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If the function returned an error, throw an exception */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3827, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3891, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError } _sqlite3VdbeDeleteAuxData(tls, db, p+296, (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FiOp, (*TOp)(unsafe.Pointer(pOp)).Fp1) @@ -74654,7 +74953,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { Xsqlite3_free(tls, z2) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeExec > int32(1) { - z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6295, libc.VaList(bp+944, zTrace)) + z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6359, libc.VaList(bp+944, zTrace)) (*(*func(*libc.TLS, Tu32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(&(*Tsqlite3)(unsafe.Pointer(db)).Ftrace))})))(tls, uint32(SQLITE_TRACE_STMT), (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) _sqlite3DbFree(tls, db, z3) } else { @@ -74726,15 +75025,15 @@ abort_due_to_error: rc = int32(SQLITE_NOMEM) } else { if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)<op on success */ - pTab = uintptr(0) /* A column of pTab */ - *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, cntTab, db, eNewExprOp, hCol, hCol1, hit, i, iCol, j, nSubquery, op, pCol, pEList, pItem, pMatch, pOrig, pSchema, pSrcList, pTab, pTopNC, pUpsert, zAs, zCol, zErr, v10, v5, v7, v8 /* Loop counters */ + cnt = 0 /* Number of matching column names */ + cntTab = 0 /* Number of potential "rowid" matches */ + nSubquery = 0 /* How many levels of subquery */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Use for looping over pSrcList items */ + pMatch = uintptr(0) /* The matching pSrcList item */ + pTopNC = pNC /* First namecontext in the list */ + pSchema = uintptr(0) /* Schema of the expression */ + eNewExprOp = int32(TK_COLUMN) /* New value for pExpr->op on success */ + pTab = uintptr(0) /* A column of pTab */ + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + zCol = *(*uintptr)(unsafe.Pointer(pRight + 8)) /* the name context cannot be NULL. */ /* The Z in X.Y.Z cannot be NULL */ /* Initialize the node to no-match */ @@ -79619,7 +79919,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ; i++ } - if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6617, zDb) == 0 { + if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6681, zDb) == 0 { /* This branch is taken when the main database has been renamed ** using SQLITE_DBCONFIG_MAINDBNAME. */ pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema @@ -79712,7 +80012,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TTable)(unsafe.Pointer(pTab)).FpSchema != pSchema { goto _2 } - if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6622) != 0 { + if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6686) != 0 { goto _2 } } @@ -79824,16 +80124,16 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != uintptr(0) { op = int32((*TParse)(unsafe.Pointer(pParse)).FeTriggerOp) if (*TParse)(unsafe.Pointer(pParse)).FbReturning != 0 { - if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0) { + if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0 || _isValidSchemaTableName(tls, zTab, (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab, uintptr(0)) != 0) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = libc.BoolInt32(op != int32(TK_DELETE)) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } } else { - if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6624, zTab) == 0 { + if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6688, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(1) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } else { - if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6628, zTab) == 0 { + if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6692, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = 0 pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } @@ -79842,7 +80142,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UUpsert) != 0 && zTab != uintptr(0) { pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16)) - if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6632, zTab) == 0 { + if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6696, zTab) == 0 { pTab = (*(*TSrcItem)(unsafe.Pointer((*TUpsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8))).FpTab (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(EXCLUDED_TABLE_NUMBER) } @@ -79958,15 +80258,15 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if int32(uint32(*(*uint16)(unsafe.Pointer(pEList + 8 + uintptr(j)*32 + 16 + 4))&0x3>>0)) == ENAME_NAME && Xsqlite3_stricmp(tls, zAs, zCol) == 0 { pOrig = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(j)*32))).FpExpr if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 && (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6641, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6705, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Win)) != uint32(0) && ((*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 || pNC != pTopNC) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6672, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6736, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if _sqlite3ExprVectorSize(tls, pOrig) != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6709, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6773, 0) return int32(WRC_Abort) } _resolveAlias(tls, pParse, pEList, j, pExpr, nSubquery) @@ -80018,7 +80318,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** a huge amount of legacy SQL that uses it. So for now, we just ** issue a warning. */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6727, libc.VaList(bp+24, zCol)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6791, libc.VaList(bp+24, zCol)) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_STRING) libc.Xmemset(tls, pExpr+64, 0, uint64(8)) return int32(WRC_Prune) @@ -80047,7 +80347,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } _extendFJMatch(tls, pParse, bp, pMatch, (*TExpr)(unsafe.Pointer(pExpr)).FiColumn) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_FUNCTION) - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6762 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6826 *(*uintptr)(unsafe.Pointer(pExpr + 32)) = *(*uintptr)(unsafe.Pointer(bp)) cnt = int32(1) goto lookupname_end @@ -80057,18 +80357,22 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } } if cnt == 0 { - v10 = __ccgo_ts + 6771 + v10 = __ccgo_ts + 6835 } else { - v10 = __ccgo_ts + 6786 + v10 = __ccgo_ts + 6850 } zErr = v10 if zDb != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6808, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6872, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) } else { if zTab != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6821, libc.VaList(bp+24, zErr, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6885, libc.VaList(bp+24, zErr, zTab, zCol)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6831, libc.VaList(bp+24, zErr, zCol)) + if cnt == 0 && (*TExpr)(unsafe.Pointer(pRight)).Fflags&uint32(libc.Int32FromInt32(EP_DblQuoted)) != uint32(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6895, libc.VaList(bp+24, zErr, zCol)) + } else { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6956, libc.VaList(bp+24, zErr, zCol)) + } } } _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -80098,8 +80402,12 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** If a generated column is referenced, set bits for every column ** of the table. */ - if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 && cnt == int32(1) && pMatch != uintptr(0) { - *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + if pMatch != 0 { + if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { + *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + } else { + libc.SetBitFieldPtr16Uint32(pMatch+60+4, libc.Uint32FromInt32(1), 14, 0x4000) + } } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(eNewExprOp) goto lookupname_end @@ -80192,19 +80500,19 @@ func _notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pEx defer tls.Free(32) var zIn uintptr _ = zIn - zIn = __ccgo_ts + 6838 + zIn = __ccgo_ts + 6963 if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IdxExpr) != 0 { - zIn = __ccgo_ts + 6866 + zIn = __ccgo_ts + 6991 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IsCheck) != 0 { - zIn = __ccgo_ts + 6884 + zIn = __ccgo_ts + 7009 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_GenCol) != 0 { - zIn = __ccgo_ts + 6902 + zIn = __ccgo_ts + 7027 } } } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6920, libc.VaList(bp+8, zMsg, zIn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7045, libc.VaList(bp+8, zMsg, zIn)) if pExpr != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } @@ -80252,8 +80560,8 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { var anRef [8]int32 var auth, i, is_agg, n, nLeft, nRef, nRight, no_such_func, rc, savedAllowFlags, wrong_num_args, v12, v4, v6, v7 int32 var enc Tu8 - var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zColumn, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zColumn, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 + var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 pNC = *(*uintptr)(unsafe.Pointer(pWalker + 40)) pParse = (*TNameContext)(unsafe.Pointer(pNC)).FpParse switch int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) { @@ -80372,11 +80680,11 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_ID) { zDb = uintptr(0) zTable = uintptr(0) - zColumn = *(*uintptr)(unsafe.Pointer(pExpr + 8)) + pRight = pExpr } else { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+6940, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7065, uintptr(0), pExpr) } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_ID) { @@ -80387,13 +80695,12 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { pRight = (*TExpr)(unsafe.Pointer(pRight)).FpRight } zTable = *(*uintptr)(unsafe.Pointer(pLeft + 8)) - zColumn = *(*uintptr)(unsafe.Pointer(pRight + 8)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameTokenRemap(tls, pParse, pExpr, pRight) _sqlite3RenameTokenRemap(tls, pParse, pExpr+64, pLeft) } } - return _lookupName(tls, pParse, zDb, zTable, zColumn, pNC, pExpr) + return _lookupName(tls, pParse, zDb, zTable, pRight, pNC, pExpr) /* Resolve function names */ fallthrough @@ -80432,7 +80739,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if n == int32(2) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = _exprProbability(tls, (*(*TExprList_item)(unsafe.Pointer(pList + 8 + 1*32))).FpExpr) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6957, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7082, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -80456,7 +80763,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { auth = _sqlite3AuthCheck(tls, pParse, int32(SQLITE_FUNCTION), uintptr(0), (*TFuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0)) if auth != SQLITE_OK { if auth == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7021, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7146, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) @@ -80477,7 +80784,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { ** in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all ** all this. */ if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7057, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7182, uintptr(0), pExpr) } } else { /* Must fit in 8 bits */ @@ -80501,29 +80808,29 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { } if 0 == libc.BoolInt32(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME)) { if pDef != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7085, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7210, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 || is_agg != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) || is_agg != 0 && pWin != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 { if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 { - zType = __ccgo_ts + 7128 + zType = __ccgo_ts + 7253 } else { - zType = __ccgo_ts + 7135 + zType = __ccgo_ts + 7260 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7145, libc.VaList(bp+8, zType, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7270, libc.VaList(bp+8, zType, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else { if no_such_func != 0 && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7173, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7298, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if wrong_num_args != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7195, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7320, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7239, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7364, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { @@ -80547,7 +80854,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { *(*int32)(unsafe.Pointer(pNC + 40)) &= ^(libc.Int32FromInt32(NC_AllowWin) | v7) } } else { - if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { is_agg = int32(1) } } @@ -80608,18 +80915,19 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) { nRef = (*TNameContext)(unsafe.Pointer(pNC)).FnRef if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_SelfRef) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7287, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7412, pExpr, pExpr) } else { _sqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32))) } if nRef != (*TNameContext)(unsafe.Pointer(pNC)).FnRef { *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 4)) |= uint32(SF_Correlated) } *(*int32)(unsafe.Pointer(pNC + 40)) |= int32(NC_Subquery) } case int32(TK_VARIABLE): if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IsCheck)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7298, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7423, pExpr, pExpr) } case int32(TK_IS): fallthrough @@ -80665,7 +80973,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { nRight = _sqlite3ExprVectorSize(tls, (*TExpr)(unsafe.Pointer(pExpr)).FpRight) } if nLeft != nRight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6709, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6773, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } break @@ -80790,7 +81098,7 @@ func _resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintpt func _resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7309, libc.VaList(bp+8, i, zType, mx)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7434, libc.VaList(bp+8, i, zType, mx)) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pError) } @@ -80825,7 +81133,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7365, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7490, 0) return int32(1) } i = 0 @@ -80863,7 +81171,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } if _sqlite3ExprIsInteger(tls, pE, bp) != 0 { if *(*int32)(unsafe.Pointer(bp)) <= 0 || *(*int32)(unsafe.Pointer(bp)) > (*TExprList)(unsafe.Pointer(pEList)).FnExpr { - _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7399, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) + _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7524, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) return int32(1) } } else { @@ -80933,7 +81241,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r break } if int32(uint32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7405, libc.VaList(bp+16, i+int32(1))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7530, libc.VaList(bp+16, i+int32(1))) return int32(1) } goto _3 @@ -80967,7 +81275,7 @@ func _sqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7466, libc.VaList(bp+8, zType)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7591, libc.VaList(bp+8, zType)) return int32(1) } pEList = (*TSelect)(unsafe.Pointer(pSelect)).FpEList @@ -81213,6 +81521,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } pItem = (*TSelect)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*104 + /* Test of tag-20240424-1*/ if (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselFlags&uint32(SF_Resolved) == uint32(0) { if pOuterNC != 0 { v3 = (*TNameContext)(unsafe.Pointer(pOuterNC)).FnRef @@ -81279,7 +81588,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { (*(*TNameContext)(unsafe.Pointer(bp))).FncFlags |= int32(NC_UEList) if (*TSelect)(unsafe.Pointer(p)).FpHaving != 0 { if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Aggregate) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7497, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7622, 0) return int32(WRC_Abort) } if _sqlite3ResolveExprNames(tls, bp, (*TSelect)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -81346,7 +81655,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** is not detected until much later, and so we need to go ahead and ** resolve those symbols on the incorrect ORDER BY for consistency. */ - if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7399) != 0 { + if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7524) != 0 { return int32(WRC_Abort) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -81357,7 +81666,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** the GROUP BY clause does not contain aggregate functions. */ if pGroupBy != 0 { - if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7536) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { + if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7661) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(WRC_Abort) } i = 0 @@ -81367,7 +81676,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } if (*TExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(pItem2)).FpExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7542, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7667, 0) return int32(WRC_Abort) } goto _6 @@ -82348,7 +82657,7 @@ func _codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32 return } if nLeft != _sqlite3ExprVectorSize(tls, pRight) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6709, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6773, 0) return } if int32(op) == int32(TK_LE) { @@ -82427,7 +82736,7 @@ func _sqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) (r in rc = SQLITE_OK mxHeight = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4)) if nHeight > mxHeight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7601, libc.VaList(bp+8, mxHeight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7726, libc.VaList(bp+8, mxHeight)) rc = int32(SQLITE_ERROR) } return rc @@ -82593,11 +82902,12 @@ func _sqlite3ExprSetErrorOffset(tls *libc.TLS, pExpr uintptr, iOfst int32) { // ** appear to be quoted. If the quotes were of the form "..." (double-quotes) // ** then the EP_DblQuoted flag is set on the expression node. // ** -// ** Special case: If op==TK_INTEGER and pToken points to a string that -// ** can be translated into a 32-bit integer, then the token is not -// ** stored in u.zToken. Instead, the integer values is written -// ** into u.iValue and the EP_IntValue flag is set. No extra storage +// ** Special case (tag-20240227-a): If op==TK_INTEGER and pToken points to +// ** a string that can be translated into a 32-bit integer, then the token is +// ** not stored in u.zToken. Instead, the integer values is written +// ** into u.iValue and the EP_IntValue flag is set. No extra storage // ** is allocated to hold the integer text and the dequote flag is ignored. +// ** See also tag-20240227-b. // */ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) (r uintptr) { bp := tls.Alloc(16) @@ -82610,7 +82920,7 @@ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ *(*int32)(unsafe.Pointer(bp)) = 0 if pToken != 0 { if op != int32(TK_INTEGER) || (*TToken)(unsafe.Pointer(pToken)).Fz == uintptr(0) || _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pToken)).Fz, bp) == 0 { - nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) + nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) /* tag-20240227-a */ } } pNew = _sqlite3DbMallocRawNN(tls, db, uint64(72)+uint64(nExtra)) @@ -82771,11 +83081,11 @@ func _sqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList } if nExprElem != nElem { if nExprElem > int32(1) { - v2 = __ccgo_ts + 7649 + v2 = __ccgo_ts + 7774 } else { - v2 = __ccgo_ts + 1680 + v2 = __ccgo_ts + 1694 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7651, libc.VaList(bp+8, nExprElem, v2, nElem)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7776, libc.VaList(bp+8, nExprElem, v2, nElem)) break } pSel = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(pExpr + 32)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) @@ -82824,7 +83134,7 @@ func _sqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt if f&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_InnerON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { _sqlite3ExprDeferredDelete(tls, pParse, pLeft) _sqlite3ExprDeferredDelete(tls, pParse, pRight) - return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1754) + return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1814) } else { return _sqlite3PExpr(tls, pParse, int32(TK_AND), pLeft, pRight) } @@ -82852,7 +83162,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } *(*int32)(unsafe.Pointer(pNew + 52)) = int32(int64((*TToken)(unsafe.Pointer(pToken)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) if pList != 0 && (*TExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7695, libc.VaList(bp+8, pToken)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7820, libc.VaList(bp+8, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32)) = pList *(*Tu32)(unsafe.Pointer(pNew + 4)) |= uint32(libc.Int32FromInt32(EP_HasFunc)) @@ -82872,7 +83182,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u func _sqlite3ExprOrderByAggregateError(tls *libc.TLS, pParse uintptr, p uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7729, libc.VaList(bp+8, p)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7854, libc.VaList(bp+8, p)) } // C documentation @@ -82943,7 +83253,7 @@ func _sqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD ** SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning ** that the schema is possibly tainted). */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7779, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7904, libc.VaList(bp+8, pExpr)) } } } @@ -82995,7 +83305,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n bOk = libc.BoolInt32(0 == _sqlite3Atoi64(tls, z+1, bp, int32(n-uint32(1)), uint8(SQLITE_UTF8))) } if bOk == 0 || *(*Ti64)(unsafe.Pointer(bp)) < int64(1) || *(*Ti64)(unsafe.Pointer(bp)) > int64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7799, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7924, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) return } @@ -83028,7 +83338,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*TExpr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7842, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7967, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } } @@ -83039,11 +83349,13 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n // ** Recursively delete an expression tree. // */ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { + var pLeft uintptr + _ = pLeft + goto exprDeleteRestart +exprDeleteRestart: + ; if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)|libc.Int32FromInt32(EP_Leaf)) != libc.Uint32FromInt32(0)) { /* The Expr.x union is never used at the same time as Expr.pRight */ - if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { - _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpLeft) - } if (*TExpr)(unsafe.Pointer(p)).FpRight != 0 { _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpRight) } else { @@ -83056,6 +83368,17 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { } } } + if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { + pLeft = (*TExpr)(unsafe.Pointer(p)).FpLeft + if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) && !((*TExpr)(unsafe.Pointer(pLeft)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { + /* Avoid unnecessary recursion on unary operators */ + _sqlite3DbNNFreeNN(tls, db, p) + p = pLeft + goto exprDeleteRestart + } else { + _sqlite3ExprDeleteNN(tls, db, pLeft) + } + } } if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { _sqlite3DbNNFreeNN(tls, db, p) @@ -83102,11 +83425,11 @@ func _sqlite3ClearOnOrUsing(tls *libc.TLS, db uintptr, p uintptr) { // ** // ** The pExpr might be deleted immediately on an OOM error. // ** -// ** The deferred delete is (currently) implemented by adding the -// ** pExpr to the pParse->pConstExpr list with a register number of 0. +// ** Return 0 if the delete was successfully deferred. Return non-zero +// ** if the delete happened immediately because of an OOM. // */ -func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { - _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr) +func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + return libc.BoolInt32(uintptr(0) == _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr)) } // C documentation @@ -83595,16 +83918,20 @@ func _sqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) (r ui (*TSrcItem)(unsafe.Pointer(pNewItem)).FiCursor = (*TSrcItem)(unsafe.Pointer(pOldItem)).FiCursor (*TSrcItem)(unsafe.Pointer(pNewItem)).FaddrFillSub = (*TSrcItem)(unsafe.Pointer(pOldItem)).FaddrFillSub (*TSrcItem)(unsafe.Pointer(pNewItem)).FregReturn = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregReturn + (*TSrcItem)(unsafe.Pointer(pNewItem)).FregResult = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregResult if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x2>>1)) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3DbStrDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88))) + } else { + if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { + *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) + } else { + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pNewItem)).Fu1)) = *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pOldItem)).Fu1)) + } } (*TSrcItem)(unsafe.Pointer(pNewItem)).Fu2 = (*TSrcItem)(unsafe.Pointer(pOldItem)).Fu2 if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x100>>8)) != 0 { (*TCteUse)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNewItem + 96)))).FnUse++ } - if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { - *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) - } v4 = (*TSrcItem)(unsafe.Pointer(pOldItem)).FpTab (*TSrcItem)(unsafe.Pointer(pNewItem)).FpTab = v4 pTab = v4 @@ -83866,7 +84193,7 @@ func _sqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, n = v2 } if v3 && (*TIdList)(unsafe.Pointer(pColumns)).FnId != v2 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7865, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7990, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error } i = 0 @@ -83995,7 +84322,7 @@ func _sqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, _ = mx mx = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4)) if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr > mx { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7895, libc.VaList(bp+8, zObject)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8020, libc.VaList(bp+8, zObject)) } } @@ -84093,10 +84420,10 @@ func _sqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) (r // ** anything else 0 // */ func _sqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) (r Tu32) { - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7918) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8043) == 0 { return uint32(EP_IsTrue) } - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7923) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8048) == 0 { return uint32(EP_IsFalse) } return uint32(0) @@ -84178,6 +84505,51 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { return pExpr } +// C documentation +// +// /* +// ** pExpr is a TK_FUNCTION node. Try to determine whether or not the +// ** function is a constant function. A function is constant if all of +// ** the following are true: +// ** +// ** (1) It is a scalar function (not an aggregate or window function) +// ** (2) It has either the SQLITE_FUNC_CONSTANT or SQLITE_FUNC_SLOCHNG +// ** property. +// ** (3) All of its arguments are constants +// ** +// ** This routine sets pWalker->eCode to 0 if pExpr is not a constant. +// ** It makes no changes to pWalker->eCode if pExpr is constant. In +// ** every case, it returns WRC_Abort. +// ** +// ** Called as a service subroutine from exprNodeIsConstant(). +// */ +func _exprNodeIsConstantFunction(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef, pList, v1 uintptr + var n int32 + var v2 bool + _, _, _, _, _, _ = db, n, pDef, pList, v1, v2 /* The database */ + if v2 = (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)) != uint32(0); !v2 { + v1 = *(*uintptr)(unsafe.Pointer(pExpr + 32)) + pList = v1 + } + if v2 || v1 == uintptr(0) { + n = 0 + } else { + n = (*TExprList)(unsafe.Pointer(pList)).FnExpr + _sqlite3WalkExprList(tls, pWalker, pList) + if int32((*TWalker)(unsafe.Pointer(pWalker)).FeCode) == 0 { + return int32(WRC_Abort) + } + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)|libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG)) == uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) +} + // C documentation // // /* @@ -84225,8 +84597,12 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 } return WRC_Continue } else { - (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) - return int32(WRC_Abort) + if (*TWalker)(unsafe.Pointer(pWalker)).FpParse != 0 { + return _exprNodeIsConstantFunction(tls, pWalker, pExpr) + } else { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } } fallthrough case int32(TK_ID): @@ -84253,6 +84629,8 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 case int32(TK_REGISTER): fallthrough case int32(TK_DOT): + fallthrough + case int32(TK_RAISE): (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) return int32(WRC_Abort) case int32(TK_VARIABLE): @@ -84278,14 +84656,14 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 return r } -func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32) { +func _exprIsConst(tls *libc.TLS, pParse uintptr, p uintptr, initFlag int32) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* w at bp+0 */ TWalker (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(initFlag) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) - *(*int32)(unsafe.Pointer(bp + 40)) = iCur _sqlite3WalkExpr(tls, bp, p) return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } @@ -84299,9 +84677,15 @@ func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32 // ** For the purposes of this function, a double-quoted string (ex: "abc") // ** is considered a variable but a single-quoted string (ex: 'abc') is // ** a constant. +// ** +// ** The pParse parameter may be NULL. But if it is NULL, there is no way +// ** to determine if function calls are constant or not, and hence all +// ** function calls will be considered to be non-constant. If pParse is +// ** not NULL, then a function call might be constant, depending on the +// ** function and on its parameters. // */ -func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(1), 0) +func _sqlite3ExprIsConstant(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(1)) } // C documentation @@ -84319,8 +84703,24 @@ func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { // ** can be added to the pParse->pConstExpr list and evaluated once when // ** the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). // */ -func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(2), 0) +func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(2)) +} + +// C documentation +// +// /* +// ** This routine examines sub-SELECT statements as an expression is being +// ** walked as part of sqlite3ExprIsTableConstant(). Sub-SELECTs are considered +// ** constant as long as they are uncorrelated - meaning that they do not +// ** contain any terms from outer contexts. +// */ +func _exprSelectWalkTableConstant(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + if (*TSelect)(unsafe.Pointer(pSelect)).FselFlags&uint32(SF_Correlated) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) } // C documentation @@ -84330,9 +84730,25 @@ func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { // ** for any single row of the table with cursor iCur. In other words, the // ** expression must not refer to any non-deterministic function nor any // ** table other than iCur. +// ** +// ** Consider uncorrelated subqueries to be constants if the bAllowSubq +// ** parameter is true. // */ -func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) { - return _exprIsConst(tls, p, int32(3), iCur) +func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32, bAllowSubq int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(3) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = uintptr(0) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) + if bAllowSubq != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_exprSelectWalkTableConstant) + } else { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) + } + *(*int32)(unsafe.Pointer(bp + 40)) = iCur + _sqlite3WalkExpr(tls, bp, p) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } // C documentation @@ -84352,7 +84768,10 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** // ** (1) pExpr cannot refer to any table other than pSrc->iCursor. // ** -// ** (2) pExpr cannot use subqueries or non-deterministic functions. +// ** (2a) pExpr cannot use subqueries unless the bAllowSubq parameter is +// ** true and the subquery is non-correlated +// ** +// ** (2b) pExpr cannot use non-deterministic functions. // ** // ** (3) pSrc cannot be part of the left operand for a RIGHT JOIN. // ** (Is there some way to relax this constraint?) @@ -84378,7 +84797,7 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** which leads to incorrect answers. See also restriction (9) // ** on push-down. // */ -func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32) (r int32) { +func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32, bAllowSubq int32) (r int32) { var jj int32 var pSrc uintptr _, _ = jj, pSrc @@ -84416,7 +84835,8 @@ func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList jj++ } } - return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor) /* rules (1), (2) */ + /* Rules (1), (2a), and (2b) handled by the following: */ + return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor, bAllowSubq) } // C documentation @@ -84514,7 +84934,7 @@ func _sqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // ** a constant. // */ func _sqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit Tu8) (r int32) { - return _exprIsConst(tls, p, int32(4)+int32(isInit), 0) + return _exprIsConst(tls, uintptr(0), p, int32(4)+int32(isInit)) } // C documentation @@ -84653,13 +85073,13 @@ func _sqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) (r in // ** Return TRUE if the given string is a row-id column name. // */ func _sqlite3IsRowid(tls *libc.TLS, z uintptr) (r int32) { - if _sqlite3StrICmp(tls, z, __ccgo_ts+7929) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8054) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7937) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8062) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7943) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8068) == 0 { return int32(1) } return 0 @@ -84677,9 +85097,9 @@ func _sqlite3RowidAlias(tls *libc.TLS, pTab uintptr) (r uintptr) { var iCol, ii int32 _, _, _ = azOpt, iCol, ii azOpt = [3]uintptr{ - 0: __ccgo_ts + 7929, - 1: __ccgo_ts + 7937, - 2: __ccgo_ts + 7943, + 0: __ccgo_ts + 8054, + 1: __ccgo_ts + 8062, + 2: __ccgo_ts + 8068, } ii = 0 for { @@ -84799,13 +85219,13 @@ func _sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int // ** The argument is an IN operator with a list (not a subquery) on the // ** right-hand side. Return TRUE if that list is constant. // */ -func _sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) (r int32) { +func _sqlite3InRhsIsConstant(tls *libc.TLS, pParse uintptr, pIn uintptr) (r int32) { var pLHS uintptr var res int32 _, _ = pLHS, res pLHS = (*TExpr)(unsafe.Pointer(pIn)).FpLeft (*TExpr)(unsafe.Pointer(pIn)).FpLeft = uintptr(0) - res = _sqlite3ExprIsConstant(tls, pIn) + res = _sqlite3ExprIsConstant(tls, pParse, pIn) (*TExpr)(unsafe.Pointer(pIn)).FpLeft = pLHS return res } @@ -84961,7 +85381,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 iAddr = _sqlite3VdbeAddOp0(tls, v, int32(OP_Once)) _sqlite3OpenTable(tls, pParse, iTab, iDb, pTab, int32(OP_OpenRead)) eType = int32(IN_INDEX_ROWID) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+7947, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+8072, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) _sqlite3VdbeJumpHere(tls, v, iAddr) } else { /* Iterator variable */ affinity_ok = int32(1) @@ -85061,7 +85481,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 if colUsed == libc.Uint64FromInt32(1)<0 so that the new limit is either 1 or 0 */ db = (*TParse)(unsafe.Pointer(pParse)).Fdb - pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1754) + pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1814) if pLimit != 0 { (*TExpr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = _sqlite3PExpr(tls, pParse, int32(TK_NE), _sqlite3ExprDup(tls, db, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft, 0), pLimit) @@ -85552,7 +85972,7 @@ func _sqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int3 (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { /* If there is no pre-existing limit add a limit of 1 */ - pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8162) + pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8287) (*TSelect)(unsafe.Pointer(pSel)).FpLimit = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), pLimit, uintptr(0)) } (*TSelect)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -85939,13 +86359,13 @@ func _codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, i z = *(*uintptr)(unsafe.Pointer(pExpr + 8)) c = _sqlite3DecOrHexToI64(tls, z, bp) if c == int32(3) && !(negFlag != 0) || c == int32(2) || negFlag != 0 && *(*Ti64)(unsafe.Pointer(bp)) == int64(-libc.Int32FromInt32(1))-(libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)<= (*TAggInfo)(unsafe.Pointer(pInfo)).FnFunc { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8255, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8380, libc.VaList(bp+160, pExpr)) } else { return (*TAggInfo)(unsafe.Pointer(pInfo)).FiFirstReg + (*TAggInfo)(unsafe.Pointer(pInfo)).FnColumn + int32((*TExpr)(unsafe.Pointer(pExpr)).FiAgg) } @@ -86669,7 +87084,7 @@ expr_code_doover: if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { return (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64)))).FregResult } - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { /* SQL functions can be expensive. So try to avoid running them ** multiple times if we know they always give the same result */ return _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) @@ -86684,7 +87099,7 @@ expr_code_doover: zId = *(*uintptr)(unsafe.Pointer(pExpr + 8)) pDef = _sqlite3FindFunction(tls, db, zId, nFarg, enc, uint8(0)) if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8282, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8407, libc.VaList(bp+160, pExpr)) break } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_INLINE) != uint32(0) && pFarg != uintptr(0) { @@ -86699,7 +87114,7 @@ expr_code_doover: if !(i < nFarg) { break } - if i < int32(32) && _sqlite3ExprIsConstant(tls, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { + if i < int32(32) && _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { constMask |= libc.Uint32FromInt32(1) << i } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_NEEDCOLL) != uint32(0) && !(pColl != 0) { @@ -86789,7 +87204,7 @@ expr_code_doover: } n1 = _sqlite3ExprVectorSize(tls, pLeft2) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != n1 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7865, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7990, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) } return (*TExpr)(unsafe.Pointer(pLeft2)).FiTable + int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) case int32(TK_IN): @@ -86821,8 +87236,9 @@ expr_code_doover: if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Collate)) != libc.Uint32FromInt32(0)) { /* A TK_COLLATE Expr node without the EP_Collate tag is a so-called ** "SOFT-COLLATE" that is added to constraints that are pushed down - ** from outer queries into sub-queries by the push-down optimization. - ** Clear subtypes as subtypes may not cross a subquery boundary. + ** from outer queries into sub-queries by the WHERE-clause push-down + ** optimization. Clear subtypes as subtypes may not cross a subquery + ** boundary. */ _sqlite3ExprCode(tls, pParse, (*TExpr)(unsafe.Pointer(pExpr)).FpLeft, target) _sqlite3VdbeAddOp1(tls, v, int32(OP_ClrSubtype), target) @@ -86851,7 +87267,7 @@ expr_code_doover: _sqlite3VdbeAddOp1(tls, v, int32(OP_RealAffinity), target) } case int32(TK_VECTOR): - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6709, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6773, 0) break /* TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions ** that derive from the right-hand table of a LEFT JOIN. The @@ -86966,7 +87382,7 @@ expr_code_doover: _sqlite3VdbeResolveLabel(tls, v, endLabel) case int32(TK_RAISE): if !((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != 0) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8306, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8431, 0) return 0 } if int32((*TExpr)(unsafe.Pointer(pExpr)).FaffExpr) == int32(OE_Abort) { @@ -87086,7 +87502,7 @@ func _sqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin var r1, r2 int32 _, _ = r1, r2 pExpr = _sqlite3ExprSkipCollateAndLikely(tls, pExpr) - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { *(*int32)(unsafe.Pointer(pReg)) = 0 r2 = _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) } else { @@ -87156,7 +87572,7 @@ func _sqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // ** might choose to code the expression at initialization time. // */ func _sqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { _sqlite3ExprCodeCopy(tls, pParse, pExpr, target) @@ -87225,7 +87641,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ _sqlite3VdbeAddOp2(tls, v, int32(copyOp), j+srcReg-int32(1), target+i) } } else { - if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target+i) } else { inReg = _sqlite3ExprCodeTarget(tls, pParse, pExpr, target+i) @@ -88522,17 +88938,15 @@ func _agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnColumn && (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } else { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnFunc && (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } @@ -89082,8 +89496,8 @@ func _sqlite3FirstAvailableRegister(tls *libc.TLS, pParse uintptr, iMin int32) ( func _isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) - if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6557, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8356, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6621, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8481, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -89102,9 +89516,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, bp := tls.Alloc(48) defer tls.Free(48) (*TParse)(unsafe.Pointer(pParse)).FcolNamesSet = uint8(1) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8384, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8509, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8559, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8684, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) } } @@ -89120,9 +89534,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, func _renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8733, libc.VaList(bp+8, zDb, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8858, libc.VaList(bp+8, zDb, zDb)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8880, 0) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9005, 0) } } @@ -89178,7 +89592,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName ** in database iDb. If so, this is an error. */ if _sqlite3FindTable(tls, db, zName, zDb) != 0 || _sqlite3FindIndex(tls, db, zName, zDb) != 0 || _sqlite3IsShadowTableOf(tls, db, pTab, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9031, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9156, libc.VaList(bp+8, zName)) goto exit_rename_table } /* Make sure it is not a system table being altered, or a reserved name @@ -89187,11 +89601,11 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { goto exit_rename_table } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9090, zName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9215, zName) { goto exit_rename_table } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9096, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9221, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table } /* Invoke the authorization callback. */ @@ -89221,21 +89635,21 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName nTabName = _sqlite3Utf8CharLen(tls, zTabName, -int32(1)) /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in ** the schema to use the new table name. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9123, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9248, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) /* Update the tbl_name and name columns of the sqlite_schema table ** as required. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9307, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9432, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) /* If the sqlite_sequence table exists in this database, then update ** it with the new table name. */ - if _sqlite3FindTable(tls, db, __ccgo_ts+9612, zDb) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9628, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if _sqlite3FindTable(tls, db, __ccgo_ts+9737, zDb) != 0 { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9753, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* If the table being renamed is not itself part of the temp database, ** edit view and trigger definitions within the temp database ** as required. */ if iDb != int32(1) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9686, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9811, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) } /* If this is a virtual table, invoke the xRename() function if ** one is defined. The xRename() callback will modify the names @@ -89251,7 +89665,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName _sqlite3VdbeAddOp4(tls, v, int32(OP_VRename), i, 0, 0, pVTab, -int32(11)) } _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+9951, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+10076, 0) goto exit_rename_table exit_rename_table: ; @@ -89268,7 +89682,7 @@ exit_rename_table: func _sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9964, libc.VaList(bp+8, zErr, zDb, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10089, libc.VaList(bp+8, zErr, zDb, zTab)) } // C documentation @@ -89308,11 +89722,11 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** column must not be NULL. */ if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10002, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10127, 0) return } if (*TTable)(unsafe.Pointer(pNew)).FpIndex != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10034, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10159, 0) return } if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) == 0 { @@ -89328,10 +89742,10 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpFKey != 0 && pDflt != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10061) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10186) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && !(pDflt != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10120) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10245) } /* Ensure the default expression is something that sqlite3ValueFromExpr() ** can handle (i.e. not CURRENT_TIME etc.) @@ -89343,13 +89757,13 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr return } if !(*(*uintptr)(unsafe.Pointer(bp)) != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10173) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10298) } _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp))) } } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_STORED) != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10219) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10344) } } /* Modify the CREATE TABLE statement. */ @@ -89363,7 +89777,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } /* substr() operations on characters, but addColOffset is in bytes. So we ** have to use printf() to translate between these units: */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10246, libc.VaList(bp+16, zDb, (*(*struct { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10371, libc.VaList(bp+16, zDb, (*(*struct { FaddColOffset int32 FpFKey uintptr FpDfltList uintptr @@ -89391,7 +89805,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterAdd)) /* Verify that constraints are still satisfied */ if (*TTable)(unsafe.Pointer(pNew)).FpCheck != uintptr(0) || int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Strict) != uint32(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10392, libc.VaList(bp+16, zTab, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10517, libc.VaList(bp+16, zTab, zDb)) } } } @@ -89429,12 +89843,12 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { goto exit_begin_add_column } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10745, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10870, 0) goto exit_begin_add_column } /* Make sure this is not an attempt to ALTER a view. */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10779, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10904, 0) goto exit_begin_add_column } if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { @@ -89458,7 +89872,7 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { (*TTable)(unsafe.Pointer(pNew)).FnCol = (*TTable)(unsafe.Pointer(pTab)).FnCol nAlloc = (int32((*TTable)(unsafe.Pointer(pNew)).FnCol)-int32(1))/int32(8)*int32(8) + int32(8) (*TTable)(unsafe.Pointer(pNew)).FaCol = _sqlite3DbMallocZero(tls, db, uint64(16)*uint64(nAlloc)) - (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10809, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10934, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !((*TTable)(unsafe.Pointer(pNew)).FaCol != 0) || !((*TTable)(unsafe.Pointer(pNew)).FzName != 0) { goto exit_begin_add_column } @@ -89519,18 +89933,18 @@ func _isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) (r i _, _ = zType, v1 zType = uintptr(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10828 + zType = __ccgo_ts + 10953 } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 10833 + zType = __ccgo_ts + 10958 } if zType != 0 { if bDrop != 0 { - v1 = __ccgo_ts + 10847 + v1 = __ccgo_ts + 10972 } else { - v1 = __ccgo_ts + 10864 + v1 = __ccgo_ts + 10989 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10882, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11007, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -89591,11 +90005,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld iCol++ } if iCol == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10900, libc.VaList(bp+8, pOld)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11025, libc.VaList(bp+8, pOld)) goto exit_rename_column } /* Ensure the schema contains no double-quoted strings */ - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1680, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1694, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1))) /* Do the rename operation using a recursive UPDATE statement that ** uses the sqlite_rename_column() SQL function to compute the new @@ -89607,11 +90021,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld goto exit_rename_column } bQuote = int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pNew)).Fz)))]) & int32(0x80) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10921, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11103, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11046, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11228, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+9951, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+10076, int32(1)) goto exit_rename_column exit_rename_column: ; @@ -90087,11 +90501,11 @@ func _renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType u zT = Xsqlite3_value_text(tls, pType) zN = Xsqlite3_value_text(tls, pObject) if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - v1 = __ccgo_ts + 11234 + v1 = __ccgo_ts + 11359 } else { - v1 = __ccgo_ts + 1680 + v1 = __ccgo_ts + 1694 } - zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11236, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) + zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11361, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, zErr) } @@ -90168,8 +90582,8 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin if zSql == uintptr(0) { return int32(SQLITE_NOMEM) } - if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11259, int32(7)) != 0 { - return _sqlite3CorruptError(tls, int32(116682)) + if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11384, int32(7)) != 0 { + return _sqlite3CorruptError(tls, int32(117285)) } if bTemp != 0 { v1 = int32(1) @@ -90185,7 +90599,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin rc = int32(SQLITE_NOMEM) } if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = _sqlite3CorruptError(tls, int32(116693)) + rc = _sqlite3CorruptError(tls, int32(117296)) } (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0) return rc @@ -90224,7 +90638,7 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, ** ALTER TABLE statement was quoted (bQuote==1), then set zNew to ** point to zQuot so that all substitutions are made using the ** quoted version of the new column name. */ - zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11267, libc.VaList(bp+8, zNew)) + zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11392, libc.VaList(bp+8, zNew)) if zQuot == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -90269,11 +90683,11 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = 0 _sqlite3Dequote(tls, zBuf1) if int32(*(*int8)(unsafe.Pointer((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == int32('\'') { - v1 = __ccgo_ts + 11234 + v1 = __ccgo_ts + 11359 } else { - v1 = __ccgo_ts + 1680 + v1 = __ccgo_ts + 1694 } - Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11273, libc.VaList(bp+8, zBuf1, v1)) + Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11398, libc.VaList(bp+8, zBuf1, v1)) zReplace = zBuf2 nReplace = uint32(_sqlite3Strlen30(tls, zReplace)) } @@ -90758,7 +91172,7 @@ renameColumnFunc_done: Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv))) } else { if (*(*TParse)(unsafe.Pointer(bp + 32))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1680, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) + _renameColumnParseError(tls, context, __ccgo_ts+1694, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -90984,7 +91398,7 @@ func _renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintpt Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + 3*8))) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1680, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) + _renameColumnParseError(tls, context, __ccgo_ts+1694, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -91246,7 +91660,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { /* This can happen if the sqlite_schema table is corrupt */ - rc = _sqlite3CorruptError(tls, int32(117652)) + rc = _sqlite3CorruptError(tls, int32(118255)) goto drop_column_done } pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName) @@ -91263,7 +91677,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr (*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz-- } } - zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11278, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) + zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11403, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -int32(1), uintptr(-libc.Int32FromInt32(1))) Xsqlite3_free(tls, zNew) goto drop_column_done @@ -91290,8 +91704,9 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName bp := tls.Alloc(48) defer tls.Free(48) var addr, i, iCol, iColPos, iCur, iDb, iPos, nField, reg, regOut, regRec, v2, v4, v7 int32 + var aff int8 var db, pPk, pTab, v, zCol, zDb, v1, v3, v5, v8 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, aff, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Database containing pTab ("main" etc.) */ zCol = uintptr(0) /* Index of column zCol in pTab->aCol[] */ /* Look up the table being altered. */ @@ -91317,23 +91732,23 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName } iCol = _sqlite3ColumnIndex(tls, pTab, zCol) if iCol < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10900, libc.VaList(bp+8, pName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11025, libc.VaList(bp+8, pName)) goto exit_drop_column } /* Do not allow the user to drop a PRIMARY KEY column or a column ** constrained by a UNIQUE constraint. */ if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_PRIMKEY)|libc.Int32FromInt32(COLFLAG_UNIQUE)) != 0 { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - v1 = __ccgo_ts + 11285 + v1 = __ccgo_ts + 11410 } else { - v1 = __ccgo_ts + 5621 + v1 = __ccgo_ts + 5685 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11297, libc.VaList(bp+8, v1, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11422, libc.VaList(bp+8, v1, zCol)) goto exit_drop_column } /* Do not allow the number of columns to go to zero */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) <= int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11325, libc.VaList(bp+8, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11450, libc.VaList(bp+8, zCol)) goto exit_drop_column } /* Edit the sqlite_schema table */ @@ -91343,12 +91758,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_ALTER_TABLE), zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol) != 0 { goto exit_drop_column } - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1680, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1694, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1))) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11373, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11498, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11494, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11619, int32(1)) /* Edit rows of table on disk */ if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 && int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { pPk = uintptr(0) @@ -91406,7 +91821,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if i == int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regOut) } else { + aff = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity + if int32(aff) == int32(SQLITE_AFF_REAL) { + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = int8(SQLITE_AFF_NUMERIC) + } _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab, iCur, i, regOut) + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = aff } nField++ } @@ -91451,27 +91871,27 @@ var _aAlterTableFuncs = [5]TFuncDef{ 0: { FnArg: int8(9), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11512, + FzName: __ccgo_ts + 11637, }, 1: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11533, + FzName: __ccgo_ts + 11658, }, 2: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11553, + FzName: __ccgo_ts + 11678, }, 3: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11572, + FzName: __ccgo_ts + 11697, }, 4: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11591, + FzName: __ccgo_ts + 11716, }, } @@ -91682,7 +92102,7 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW ** side-effect of the CREATE TABLE statement is to leave the rootpage ** of the new table in register pParse->regRoot. This is important ** because the OpenWrite opcode below will be needing it. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11694, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11819, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) aRoot[i] = uint32((*TParse)(unsafe.Pointer(pParse)).FregRoot) aCreateTbl[i] = uint8(OPFLAG_P2ISREG) } @@ -91693,10 +92113,10 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW aRoot[i] = (*TTable)(unsafe.Pointer(pStat)).Ftnum _sqlite3TableLock(tls, pParse, iDb, aRoot[i], uint8(1), zTab) if zWhere != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11717, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11842, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11747, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11872, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { /* The sqlite_stat[134] table already exists. Delete all rows. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Clear), int32(aRoot[i]), iDb) @@ -91728,15 +92148,15 @@ var _aTable = [3]struct { FzCols uintptr }{ 0: { - FzName: __ccgo_ts + 11614, - FzCols: __ccgo_ts + 11627, + FzName: __ccgo_ts + 11739, + FzCols: __ccgo_ts + 11752, }, 1: { - FzName: __ccgo_ts + 11640, - FzCols: __ccgo_ts + 11653, + FzName: __ccgo_ts + 11765, + FzCols: __ccgo_ts + 11778, }, 2: { - FzName: __ccgo_ts + 11681, + FzName: __ccgo_ts + 11806, }, } @@ -92038,7 +92458,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statInitFuncdef = TFuncDef{ FnArg: int8(4), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11765, + FzName: __ccgo_ts + 11890, } func init() { @@ -92412,7 +92832,7 @@ func _statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statPushFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(2) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11775, + FzName: __ccgo_ts + 11900, } func init() { @@ -92462,7 +92882,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { v1 = (*TStatAccum)(unsafe.Pointer(p)).FnRow } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11785, libc.VaList(bp+72, v1)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11910, libc.VaList(bp+72, v1)) i = 0 for { if !(i < (*TStatAccum)(unsafe.Pointer(p)).FnKeyCol) { @@ -92473,7 +92893,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if iVal == uint64(2) && (*TStatAccum)(unsafe.Pointer(p)).FnRow*uint64(10) <= nDistinct*uint64(11) { iVal = uint64(1) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11790, libc.VaList(bp+72, iVal)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11915, libc.VaList(bp+72, iVal)) goto _2 _2: ; @@ -92512,7 +92932,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if !(i1 < (*TStatAccum)(unsafe.Pointer(p)).FnCol) { break } - Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11796, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) + Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11921, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) goto _3 _3: ; @@ -92530,7 +92950,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statGetFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(1) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11802, + FzName: __ccgo_ts + 11927, } func init() { @@ -92551,9 +92971,9 @@ func _callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, re // */ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { var aGotoChng, db, pColl, pIdx, pPk, pStat1, pX, v, zIdxName uintptr - var addrIsNull, addrNext, addrNextRow, addrRewind, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 + var addrGotoEnd, addrIsNull, addrNext, addrNextRow, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 var needTableCnt, seekOp Tu8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrIsNull, addrNext, addrNextRow, addrRewind, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrGotoEnd, addrIsNull, addrNext, addrNextRow, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Loop counter */ jZeroRows = -int32(1) /* Index of database containing pTab */ needTableCnt = uint8(1) @@ -92596,7 +93016,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Do not gather statistics on views or virtual tables */ return } - if Xsqlite3_strlike(tls, __ccgo_ts+11811, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, __ccgo_ts+11936, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { /* Do not gather statistics on system tables */ return } @@ -92610,7 +93030,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint return } (*TTable)(unsafe.Pointer(pStat1)).FzName = pStat1 + 1*104 - libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11614, uint64(13)) + libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11739, uint64(13)) (*TTable)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*TTable)(unsafe.Pointer(pStat1)).FiPKey = int16(-int32(1)) _sqlite3VdbeAddOp4(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Noop), 0, 0, 0, pStat1, -int32(6)) @@ -92664,9 +93084,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* ** Pseudo-code for loop that calls stat_push(): ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() ** goto chng_addr_0; ** ** next_row: @@ -92700,32 +93125,29 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Open a read-only cursor on the index being analyzed. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenRead), iIdxCur, int32((*TIndex)(unsafe.Pointer(pIdx)).Ftnum), iDb) _sqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - /* Invoke the stat_init() function. The arguments are: + /* Implementation of the following: ** + ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() + ** goto chng_addr_0; + */ + _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + /* Arguments to stat_init(): ** (1) the number of columns in the index including the rowid ** (or for a WITHOUT ROWID table, the number of PK columns), ** (2) the number of columns in the key without the rowid/pk - ** (3) estimated number of rows in the index, - */ + ** (3) estimated number of rows in the index. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), nCol, regStat+int32(1)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol), regRowid) - if (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0) { - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iIdxCur, regTemp) - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - } else { - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, int32(1)) - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) != uint32(0))) _sqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat+int32(1), regStat, int32(4), uintptr(unsafe.Pointer(&_statInitFuncdef)), 0) - /* Implementation of the following: - ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; - ** regChng = 0 - ** goto next_push_0; - ** - */ + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regChng) addrNextRow = _sqlite3VdbeCurrentAddr(tls, v) if nColTest > 0 { @@ -92834,8 +93256,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), iIdxCur, addrNextRow) } /* Add the entry to the stat1 table. */ + if (*TIndex)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { + /* Partial indexes might get a zero-entry in sqlite_stat1. But + ** an empty table is omitted from sqlite_stat1. */ + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + addrGotoEnd = 0 + } _callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11821, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11946, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP4(tls, v, -int32(1), pStat1, -int32(5)) @@ -92854,6 +93282,11 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint v18 = int32(OP_NotFound) } seekOp = uint8(v18) + /* No STAT4 data is generated if the number of rows is zero */ + if addrGotoEnd == 0 { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Cast), regStat1, int32(SQLITE_AFF_INTEGER)) + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) + } if doOnce != 0 { mxCol = nCol /* Compute the maximum number of columns in any index */ @@ -92906,7 +93339,9 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeJumpHere(tls, v, addrIsNull) } /* End of analysis */ - _sqlite3VdbeJumpHere(tls, v, addrRewind) + if addrGotoEnd != 0 { + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + } goto _13 _13: ; @@ -92919,7 +93354,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iTabCur, regStat1) jZeroRows = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regIdxname) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11821, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11946, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -92991,9 +93426,9 @@ func _analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr iStatCur = (*TParse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52)) += int32(3) if pOnlyIdx != 0 { - _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11825) + _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11950) } else { - _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11829) + _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11954) } _analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, (*TParse)(unsafe.Pointer(pParse)).FnMem+int32(1), (*TParse)(unsafe.Pointer(pParse)).FnTab) _loadAnalysis(tls, pParse, iDb) @@ -93122,7 +93557,7 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, _, _, _, _, _, _ = c, i, sz, v, z, v2 z = zIntArray if z == uintptr(0) { - z = __ccgo_ts + 1680 + z = __ccgo_ts + 1694 } i = 0 for { @@ -93157,17 +93592,17 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, __ccgo_ts+11833, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11958, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 2, 0x4) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11844, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11969, z) == 0 { sz = _sqlite3Atoi(tls, z+uintptr(3)) if sz < int32(2) { sz = int32(2) } (*TIndex)(unsafe.Pointer(pIndex)).FszIdxRow = _sqlite3LogEst(tls, uint64(sz)) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11854, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11979, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 6, 0x40) } } @@ -93543,11 +93978,11 @@ func _loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) (r int32) { _, _, _, _ = pStat4, rc, v1, v2 rc = SQLITE_OK if v2 = (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0); v2 { - v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11640, zDb) + v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11765, zDb) pStat4 = v1 } if v2 && v1 != uintptr(0) && int32((*TTable)(unsafe.Pointer(pStat4)).FeTabType) == TABTYP_NORM { - rc = _loadStatTbl(tls, db, __ccgo_ts+11866, __ccgo_ts+11935, zDb) + rc = _loadStatTbl(tls, db, __ccgo_ts+11991, __ccgo_ts+12060, zDb) } return rc } @@ -93613,10 +94048,10 @@ func _sqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) (r int32) { /* Load new statistics out of the sqlite_stat1 table */ (*(*TanalysisInfo)(unsafe.Pointer(bp))).Fdb = db (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName - v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11614, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) + v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11739, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) pStat1 = v3 if v3 != 0 && int32((*TTable)(unsafe.Pointer(pStat1)).FeTabType) == TABTYP_NORM { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+11987, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+12112, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -93729,7 +94164,7 @@ func _resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) (r int32) { // ** database iDb attached to handle db. // */ func _sqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) (r int32) { - return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6617, zName) == 0) + return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6681, zName) == 0) } // C documentation @@ -93771,21 +94206,21 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if zFile == uintptr(0) { - zFile = __ccgo_ts + 1680 + zFile = __ccgo_ts + 1694 } if zName == uintptr(0) { - zName = __ccgo_ts + 1680 + zName = __ccgo_ts + 1694 } if int32(uint32(*(*uint8)(unsafe.Pointer(db + 192 + 8))&0x4>>2)) != 0 { /* 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 + 40)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+3999) + *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+4063) if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { return } - rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12028, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) + rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12153, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) if rc == SQLITE_OK { pNewSchema = _sqlite3SchemaGet(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40))) if pNewSchema != 0 { @@ -93816,7 +94251,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { ** * Specified database name already being used. */ if (*Tsqlite3)(unsafe.Pointer(db)).FnDb >= *(*int32)(unsafe.Pointer(db + 136 + 7*4))+int32(2) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12031, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12156, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) goto attach_error } i = 0 @@ -93825,7 +94260,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { break } if _sqlite3DbIsNamed(tls, db, i, zName) != 0 { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12068, libc.VaList(bp+56, zName)) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12193, libc.VaList(bp+56, zName)) goto attach_error } goto _1 @@ -93873,7 +94308,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FnoSharedCache = uint8(0) if rc == int32(SQLITE_CONSTRAINT) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12098, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12223, 0) } else { if rc == SQLITE_OK { (*TDb)(unsafe.Pointer(pNew)).FpSchema = _sqlite3SchemaGet(tls, db, (*TDb)(unsafe.Pointer(pNew)).FpBt) @@ -93881,7 +94316,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { rc = int32(SQLITE_NOMEM) } else { if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0 && int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12127, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12252, 0) rc = int32(SQLITE_ERROR) } } @@ -93925,10 +94360,10 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)<= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12223, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12348, libc.VaList(bp+136, zName)) goto detach_error } if i < int32(2) { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12244, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12369, libc.VaList(bp+136, zName)) goto detach_error } if _sqlite3BtreeTxnState(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != SQLITE_TXN_NONE || _sqlite3BtreeIsInBackup(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != 0 { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12270, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12395, libc.VaList(bp+136, zName)) goto detach_error } /* If any TEMP triggers reference the schema being detached, move those @@ -94093,7 +94528,7 @@ func _sqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { var _detach_func = TFuncDef{ FnArg: int8(1), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12292, + FzName: __ccgo_ts + 12417, } func init() { @@ -94115,7 +94550,7 @@ func _sqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, p var _attach_func = TFuncDef{ FnArg: int8(3), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12306, + FzName: __ccgo_ts + 12431, } func init() { @@ -94141,7 +94576,7 @@ func _fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) (r int32) { if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer((*TDbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit1.Fbusy != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } else { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12320, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12445, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) return int32(WRC_Abort) } } @@ -94175,7 +94610,7 @@ func _fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) (r int32) { if int32((*TDbFixer)(unsafe.Pointer(pFix)).FbTemp) == 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != _sqlite3FindDbName(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12344, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12469, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return int32(WRC_Abort) } _sqlite3DbFree(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) @@ -94391,7 +94826,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // ** user-supplied authorization function returned an illegal value. // */ func _sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12390, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12515, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) } @@ -94419,11 +94854,11 @@ func _sqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, int32(SQLITE_READ), zTab, zCol, zDb, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12413, libc.VaList(bp+8, zTab, zCol)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12538, libc.VaList(bp+8, zTab, zCol)) if (*Tsqlite3)(unsafe.Pointer(db)).FnDb > int32(2) || iDb != 0 { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12419, libc.VaList(bp+8, zDb, z)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12544, libc.VaList(bp+8, zDb, z)) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12425, libc.VaList(bp+8, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12550, libc.VaList(bp+8, z)) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != int32(SQLITE_IGNORE) && rc != SQLITE_OK { @@ -94483,7 +94918,7 @@ func _sqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName } else { - zCol = __ccgo_ts + 7937 + zCol = __ccgo_ts + 8062 } } if int32(SQLITE_IGNORE) == _sqlite3AuthReadCol(tls, pParse, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -94518,7 +94953,7 @@ func _sqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, ** parameters can be either NULL or a string. */ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12452, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12577, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != SQLITE_OK && rc != int32(SQLITE_IGNORE) { @@ -94939,21 +95374,21 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { /* No match against the official names. But always match "main" ** to schema 0 as a legacy fallback. */ - if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6617) == 0 { + if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6681) == 0 { i = 0 } else { return uintptr(0) } } p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, zName) - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6557, int32(7)) == 0 { + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6621, int32(7)) == 0 { if i == int32(1) { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6584+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6603+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6098+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6565) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6648+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6667+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6162+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6629) } } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6603+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6098) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6667+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6162) } } } @@ -94983,12 +95418,12 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp ; i++ } - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6557, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6603+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6098) + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6621, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6667+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6162) } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6584+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6565) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6648+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6629) } } } @@ -95026,7 +95461,7 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt ** can be an eponymous virtual table. */ if int32((*TParse)(unsafe.Pointer(pParse)).FprepFlags)&int32(SQLITE_PREPARE_NO_VTAB) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 { pMod = _sqlite3HashFind(tls, db+576, zName) - if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12467, int32(7)) == 0 { + if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12592, int32(7)) == 0 { pMod = _sqlite3PragmaVtabRegister(tls, db, zName) } if pMod != 0 && _sqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0 { @@ -95044,15 +95479,15 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt } if p == uintptr(0) { if flags&uint32(LOCATE_VIEW) != 0 { - v1 = __ccgo_ts + 12475 + v1 = __ccgo_ts + 12600 } else { - v1 = __ccgo_ts + 12488 + v1 = __ccgo_ts + 12613 } zMsg = v1 if zDbase != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6821, libc.VaList(bp+8, zMsg, zDbase, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6885, libc.VaList(bp+8, zMsg, zDbase, zName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6831, libc.VaList(bp+8, zMsg, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6956, libc.VaList(bp+8, zMsg, zName)) } } else { } @@ -95090,12 +95525,12 @@ func _sqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags Tu32, p uintpt // ** names into the new preferred names, as appropriate. // */ func _sqlite3PreferredTableName(tls *libc.TLS, zName uintptr) (r uintptr) { - if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6557, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6098+7) == 0 { - return __ccgo_ts + 6603 + if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6621, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6162+7) == 0 { + return __ccgo_ts + 6667 } - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6565+7) == 0 { - return __ccgo_ts + 6584 + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6629+7) == 0 { + return __ccgo_ts + 6648 } } return zName @@ -95620,7 +96055,7 @@ func _sqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { var v uintptr _ = v v = _sqlite3GetVdbe(tls, p) - _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6098) + _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6162) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_OpenWrite), 0, int32(SCHEMA_ROOT), iDb, int32(5)) if (*TParse)(unsafe.Pointer(p)).FnTab == 0 { (*TParse)(unsafe.Pointer(p)).FnTab = int32(1) @@ -95652,7 +96087,7 @@ func _sqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) { } /* "main" is always an acceptable alias for the primary database ** even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. */ - if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6617, zName) { + if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6681, zName) { break } goto _1 @@ -95710,13 +96145,13 @@ func _sqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12502, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12627, 0) return -int32(1) } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = _sqlite3FindDb(tls, db, pName1) if iDb < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12519, libc.VaList(bp+8, pName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12644, libc.VaList(bp+8, pName1)) return -int32(1) } } else { @@ -95760,12 +96195,12 @@ func _sqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit))) != 0 || Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 1*8))) != 0 || Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 2*8))) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1680, 0) /* corruptSchema() will supply the error */ + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1694, 0) /* corruptSchema() will supply the error */ return int32(SQLITE_ERROR) } } else { - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6557, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12539, libc.VaList(bp+8, zName)) + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6621, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12664, libc.VaList(bp+8, zName)) return int32(SQLITE_ERROR) } } @@ -95980,9 +96415,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui /* Special case: Parsing the sqlite_schema or sqlite_temp_schema schema */ iDb = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6565 + v1 = __ccgo_ts + 6629 } else { - v1 = __ccgo_ts + 6098 + v1 = __ccgo_ts + 6162 } zName = _sqlite3DbStrDup(tls, db, v1) *(*uintptr)(unsafe.Pointer(bp)) = pName1 @@ -95995,7 +96430,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 && (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) && iDb != int32(1) { /* If creating a temp table, the name may not be qualified. Unless ** the database name is "temp" anyway. */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12581, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12706, 0) return } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 { @@ -96011,9 +96446,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui return } if isView != 0 { - v2 = __ccgo_ts + 10828 + v2 = __ccgo_ts + 10953 } else { - v2 = __ccgo_ts + 9090 + v2 = __ccgo_ts + 9215 } if _sqlite3CheckObjectName(tls, pParse, zName, v2, zName) != 0 { goto begin_table_error @@ -96023,9 +96458,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui } zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp == int32(1) { - v3 = __ccgo_ts + 6565 + v3 = __ccgo_ts + 6629 } else { - v3 = __ccgo_ts + 6098 + v3 = __ccgo_ts + 6162 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto begin_table_error @@ -96049,11 +96484,11 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if pTable != 0 { if !(noErr != 0) { if int32((*TTable)(unsafe.Pointer(pTable)).FeTabType) == int32(TABTYP_VIEW) { - v4 = __ccgo_ts + 10828 + v4 = __ccgo_ts + 10953 } else { - v4 = __ccgo_ts + 9090 + v4 = __ccgo_ts + 9215 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12622, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12747, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) _sqlite3ForceNotReadOnly(tls, pParse) @@ -96061,7 +96496,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui goto begin_table_error } if _sqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12643, libc.VaList(bp+16, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12768, libc.VaList(bp+16, zName)) goto begin_table_error } } @@ -96213,7 +96648,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { _, _, _ = db, pHash, pRet db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TParse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12678, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12803, 0) } else { } (*TParse)(unsafe.Pointer(pParse)).FbReturning = uint8(1) @@ -96229,7 +96664,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12712, libc.VaList(bp+8, pParse)) + Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12837, libc.VaList(bp+8, pParse)) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.FzName = pRet + 196 (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Fop = uint8(TK_RETURNING) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = uint8(TRIGGER_AFTER) @@ -96276,7 +96711,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok return } if int32((*TTable)(unsafe.Pointer(p)).FnCol)+int32(1) > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12732, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12857, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) return } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -96286,12 +96721,12 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok ** by the parser, we can sometimes end up with a typename that ends ** with "generated always". Check for this case and omit the surplus ** text. */ - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12755, int32(6)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12880, int32(6)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(6) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1)))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- } - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12762, int32(9)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12887, int32(9)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(9) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1)))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- @@ -96340,7 +96775,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok break } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FhName) == int32(hName) && _sqlite3StrICmp(tls, z, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FzCnName) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12772, libc.VaList(bp+40, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12897, libc.VaList(bp+40, z)) _sqlite3DbFree(tls, db, z) return } @@ -96548,10 +96983,10 @@ func _sqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar isInit = libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) != int32(1)) pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(p)).FnCol)-int32(1))*16 if !(_sqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12798, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12923, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12843, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12968, 0) } else { libc.Xmemset(tls, bp, 0, uint64(72)) (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_SPAN) @@ -96609,7 +97044,7 @@ func _makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { p1 = pCol + 14 *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(COLFLAG_PRIMKEY)) if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12884, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13009, 0) } } @@ -96646,7 +97081,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError goto primary_key_exit } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasPrimaryKey) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12936, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13061, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit } *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_HasPrimaryKey) @@ -96702,7 +97137,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError _sqlite3HasExplicitNulls(tls, pParse, pList) } else { if autoInc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12977, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13102, 0) } else { _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), uintptr(0), sortOrder, 0, uint8(SQLITE_IDXTYPE_PRIMARYKEY)) pList = uintptr(0) @@ -96818,17 +97253,17 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui } pCol = (*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-int32(1))*16 if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) == int32(PARSE_MODE_DECLARE_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13033, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13158, 0) goto generated_done } if int32((*TColumn)(unsafe.Pointer(pCol)).FiDflt) > 0 { goto generated_error } if pType != 0 { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13076, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13201, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { /* no-op */ } else { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13084, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13209, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { eType = uint8(COLFLAG_STORED) } else { goto generated_error @@ -96860,7 +97295,7 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui goto generated_error generated_error: ; - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13091, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13216, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) goto generated_done generated_done: ; @@ -97023,13 +97458,13 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { } n += _identLength(tls, (*TTable)(unsafe.Pointer(p)).FzName) if n < int32(50) { - zSep = __ccgo_ts + 1680 - zSep2 = __ccgo_ts + 13122 - zEnd = __ccgo_ts + 5138 + zSep = __ccgo_ts + 1694 + zSep2 = __ccgo_ts + 13247 + zEnd = __ccgo_ts + 5202 } else { - zSep = __ccgo_ts + 13124 - zSep2 = __ccgo_ts + 13128 - zEnd = __ccgo_ts + 13133 + zSep = __ccgo_ts + 13249 + zSep2 = __ccgo_ts + 13253 + zEnd = __ccgo_ts + 13258 } n += int32(35) + int32(6)*int32((*TTable)(unsafe.Pointer(p)).FnCol) zStmt = _sqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -97037,7 +97472,7 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { _sqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13136, 0) + Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13261, 0) *(*int32)(unsafe.Pointer(bp)) = _sqlite3Strlen30(tls, zStmt) _identPut(tls, zStmt, bp, (*TTable)(unsafe.Pointer(p)).FzName) v2 = *(*int32)(unsafe.Pointer(bp)) @@ -97063,17 +97498,17 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { i++ pCol += 16 } - Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3827, libc.VaList(bp+16, zEnd)) + Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3891, libc.VaList(bp+16, zEnd)) return zStmt } var _azType1 = [6]uintptr{ - 0: __ccgo_ts + 1680, - 1: __ccgo_ts + 13150, - 2: __ccgo_ts + 13156, - 3: __ccgo_ts + 13161, - 4: __ccgo_ts + 13166, - 5: __ccgo_ts + 13156, + 0: __ccgo_ts + 1694, + 1: __ccgo_ts + 13275, + 2: __ccgo_ts + 13281, + 3: __ccgo_ts + 13286, + 4: __ccgo_ts + 13291, + 5: __ccgo_ts + 13281, } // C documentation @@ -97647,13 +98082,13 @@ func _sqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts Tu32, pSelect uintptr) { bp := tls.Alloc(112) defer tls.Free(112) - var addrInsLoop, addrTop, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v4, v6, v8 int32 + var addrInsLoop, addrTop, iCsr, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v10, v4, v6, v8 int32 var colFlags Tu32 - var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v5, v7, v9 uintptr - var v10 Ti16 + var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v13, v5, v7, v9 uintptr + var v12 Ti16 var _ /* dest at bp+0 */ TSelectDest - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v4, v5, v6, v7, v8, v9 /* The new table */ - db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iCsr, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v12, v13, v4, v5, v6, v7, v8, v9 /* The new table */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ if pEnd == uintptr(0) && pSelect == uintptr(0) { return } @@ -97675,7 +98110,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if pSelect != 0 || !(int32((*TTable)(unsafe.Pointer(p)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) && (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1680, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1694, 0) return } (*TTable)(unsafe.Pointer(p)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum @@ -97702,9 +98137,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(ii)*16 if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf0>>4)) == COLTYPE_CUSTOM { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_HASTYPE) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13172, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1680))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13297, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1694))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13205, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13330, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } return } else { @@ -97725,11 +98160,11 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* Special processing for WITHOUT ROWID Tables */ if tabOpts&uint32(TF_WithoutRowid) != 0 { if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13232, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13357, 0) return } if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasPrimaryKey) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13282, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13407, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) return } *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) @@ -97776,7 +98211,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ii1++ } if nNG == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13314, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13439, 0) return } } @@ -97810,12 +98245,12 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if int32((*TTable)(unsafe.Pointer(p)).FeTabType) == TABTYP_NORM { /* A regular table */ - zType = __ccgo_ts + 9090 - zType2 = __ccgo_ts + 13358 + zType = __ccgo_ts + 9215 + zType2 = __ccgo_ts + 13483 } else { /* A view */ - zType = __ccgo_ts + 10828 - zType2 = __ccgo_ts + 13364 + zType = __ccgo_ts + 10953 + zType2 = __ccgo_ts + 13489 } /* If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT ** statement to populate the new table. The root-page number for the @@ -97830,28 +98265,31 @@ func _sqlite3EndTable(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 { /* A table that describes the SELECT results */ + if pSelect != 0 { /* Write cursor on the new table */ if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) (*TParse)(unsafe.Pointer(pParse)).FnErr++ return } - v5 = pParse + 56 - *(*int32)(unsafe.Pointer(v5))++ + v5 = pParse + 52 v4 = *(*int32)(unsafe.Pointer(v5)) - regYield = v4 + *(*int32)(unsafe.Pointer(v5))++ + iCsr = v4 v7 = pParse + 56 *(*int32)(unsafe.Pointer(v7))++ v6 = *(*int32)(unsafe.Pointer(v7)) - regRec = v6 + regYield = v6 v9 = pParse + 56 *(*int32)(unsafe.Pointer(v9))++ v8 = *(*int32)(unsafe.Pointer(v9)) - regRowid = v8 + regRec = v8 + v11 = pParse + 56 + *(*int32)(unsafe.Pointer(v11))++ + v10 = *(*int32)(unsafe.Pointer(v11)) + regRowid = v10 _sqlite3MayAbort(tls, pParse) - _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), int32(1), (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) + _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), iCsr, (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_P2ISREG)) - (*TParse)(unsafe.Pointer(pParse)).FnTab = int32(2) addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -97861,9 +98299,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if pSelTab == uintptr(0) { return } - v10 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol - (*TTable)(unsafe.Pointer(p)).FnNVCol = v10 - (*TTable)(unsafe.Pointer(p)).FnCol = v10 + v12 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol + (*TTable)(unsafe.Pointer(p)).FnNVCol = v12 + (*TTable)(unsafe.Pointer(p)).FnCol = v12 (*TTable)(unsafe.Pointer(p)).FaCol = (*TTable)(unsafe.Pointer(pSelTab)).FaCol (*TTable)(unsafe.Pointer(pSelTab)).FnCol = 0 (*TTable)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) @@ -97878,33 +98316,33 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr addrInsLoop = _sqlite3VdbeAddOp1(tls, v, int32(OP_Yield), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSDParm) _sqlite3VdbeAddOp3(tls, v, int32(OP_MakeRecord), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst, (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst, regRec) _sqlite3TableAffinity(tls, v, p, 0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), int32(1), regRowid) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), int32(1), regRec, regRowid) + _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iCsr, regRowid) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iCsr, regRec, regRowid) _sqlite3VdbeGoto(tls, v, addrInsLoop) _sqlite3VdbeJumpHere(tls, v, addrInsLoop) - _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), int32(1)) + _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), iCsr) } /* Compute the complete text of the CREATE statement */ if pSelect != 0 { zStmt = _createTableStmt(tls, db, p) } else { if tabOpts != 0 { - v11 = pParse + 288 + v13 = pParse + 288 } else { - v11 = pEnd + v13 = pEnd } - pEnd2 = v11 + pEnd2 = v13 n = int32(int64((*TToken)(unsafe.Pointer(pEnd2)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) if int32(*(*int8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pEnd2)).Fz))) != int32(';') { n = int32(uint32(n) + (*TToken)(unsafe.Pointer(pEnd2)).Fn) } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13369, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13494, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13384, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13509, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) _sqlite3DbFree(tls, db, zStmt) _sqlite3ChangeCookie(tls, pParse, iDb) /* Check to see if we need to create an sqlite_sequence table for @@ -97913,17 +98351,16 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != uint32(0) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != libc.Int32FromInt32(PARSE_MODE_NORMAL)) { pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13482, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13607, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) } } /* Reparse everything to update our internal data structures */ - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13524, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13649, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) /* Test for cycles in generated columns and illegal expressions ** in CHECK constraints and in DEFAULT clauses. */ if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasGenerated) != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13558, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(0x0001), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13683, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13579, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } /* Add the table to the in-memory representation of the database. */ @@ -97940,7 +98377,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* If this is the magic sqlite_sequence table used by autoincrement, ** then record a pointer to this table in the main database structure ** so that INSERT can find the table easily. */ - if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9612) == 0 { + if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9737) == 0 { (*TSchema)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } } @@ -97973,7 +98410,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*uintptr)(unsafe.Pointer(bp + 112)) = uintptr(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if int32((*TParse)(unsafe.Pointer(pParse)).FnVar) > 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13611, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13704, 0) goto create_view_fail } _sqlite3StartTable(tls, pParse, pName1, pName2, isTemp, int32(1), 0, noErr) @@ -97990,7 +98427,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(TF_NoVisibleRowid) /* Never allow rowid in view */ _sqlite3TwoPartName(tls, pParse, pName1, pName2, bp+112) iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(p)).FpSchema) - _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10828, *(*uintptr)(unsafe.Pointer(bp + 112))) + _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10953, *(*uintptr)(unsafe.Pointer(bp + 112))) if _sqlite3FixSelect(tls, bp+16, pSelect) != 0 { goto create_view_fail } @@ -98086,7 +98523,7 @@ func _viewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) (r int32 ** SELECT * FROM temp.ex1; */ if int32((*TTable)(unsafe.Pointer(pTable)).FnCol) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13647, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13740, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) return int32(1) } /* If we get this far, it means we need to compute the table names. @@ -98270,7 +98707,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { v = _sqlite3GetVdbe(tls, pParse) r1 = _sqlite3GetTempReg(tls, pParse) if iTable < int32(2) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13770, 0) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Destroy), iTable, r1, iDb) _sqlite3MayAbort(tls, pParse) @@ -98283,7 +98720,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { ** is in register NNN. See grammar rules associated with the TK_REGISTER ** token for additional information. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13692, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13785, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) _sqlite3ReleaseTempReg(tls, pParse, r1) } @@ -98366,9 +98803,9 @@ func _sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uin if !(i <= int32(4)) { break } - Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13759, libc.VaList(bp+32, i)) + Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13852, libc.VaList(bp+32, i)) if _sqlite3FindTable(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, bp, zDbName) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11717, libc.VaList(bp+32, zDbName, bp, zType, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11842, libc.VaList(bp+32, zDbName, bp, zType, zName)) } goto _1 _1: @@ -98409,7 +98846,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** move as a result of the drop (can happen in auto-vacuum mode). */ if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13773, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13866, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* Drop all entries in the schema table that refer to the ** table. The program name loops through the schema table and deletes @@ -98418,7 +98855,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** created in the temp database that refers to a table in another ** database. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13818, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13911, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { _destroyTable(tls, pParse, pTab) } @@ -98453,11 +98890,11 @@ func _sqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) (r int32) { // ** Return true if it is not allowed to drop the given table // */ func _tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) (r int32) { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6557, int32(7)) == 0 { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3450, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6621, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3514, int32(4)) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7298, int32(10)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7423, int32(10)) == 0 { return 0 } return int32(1) @@ -98512,9 +98949,9 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6565 + v1 = __ccgo_ts + 6629 } else { - v1 = __ccgo_ts + 6098 + v1 = __ccgo_ts + 6162 } zTab = v1 zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName @@ -98547,18 +98984,18 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if _tableMayNotBeDropped(tls, db, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13885, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13978, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Ensure DROP TABLE is not used on a view, and DROP VIEW is not used ** on a table. */ if isView != 0 && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13913, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14006, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } if !(isView != 0) && int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13947, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14040, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Generate code to remove the table from the schema table @@ -98568,7 +99005,7 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) if !(isView != 0) { - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11829, (*TTable)(unsafe.Pointer(pTab)).FzName) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11954, (*TTable)(unsafe.Pointer(pTab)).FzName) _sqlite3FkDropTable(tls, pParse, pName, pTab) } _sqlite3CodeDropTable(tls, pParse, pTab, iDb, isView) @@ -98616,13 +99053,13 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p goto fk_end } if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13979, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14072, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) goto fk_end } nCol = int32(1) } else { if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14042, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14135, 0) goto fk_end } else { nCol = (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr @@ -98685,7 +99122,7 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p j++ } if j >= int32((*TTable)(unsafe.Pointer(p)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14136, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14229, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) goto fk_end } if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { @@ -98945,11 +99382,11 @@ func _sqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) (r i if int32(uint32(*(*uint16)(unsafe.Pointer(pList + 8 + uintptr(i)*32 + 16 + 4))&0x20>>5)) != 0 { sf = (*(*TExprList_item)(unsafe.Pointer(pList + 8 + uintptr(i)*32))).Ffg.FsortFlags if int32(sf) == 0 || int32(sf) == int32(3) { - v2 = __ccgo_ts + 14182 + v2 = __ccgo_ts + 14275 } else { - v2 = __ccgo_ts + 14188 + v2 = __ccgo_ts + 14281 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14193, libc.VaList(bp+8, v2)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14286, libc.VaList(bp+8, v2)) return int32(1) } goto _1 @@ -99027,7 +99464,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = int32(1) } } - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14221, *(*uintptr)(unsafe.Pointer(bp + 96))) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14314, *(*uintptr)(unsafe.Pointer(bp + 96))) if _sqlite3FixSrcList(tls, bp, pTblName) != 0 { /* Because the parser constructs pTblName from a single identifier, ** sqlite3FixSrcList can never fail. */ @@ -99037,7 +99474,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } if iDb == int32(1) && (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema != (*TTable)(unsafe.Pointer(pTab)).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14227, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14320, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if !((*TTable)(unsafe.Pointer(pTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { @@ -99051,16 +99488,16 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) } pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6557, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14277, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6621, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14370, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14305, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14398, 0) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14330, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14423, 0) goto exit_create_index } /* @@ -99081,19 +99518,19 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if zName == uintptr(0) { goto exit_create_index } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14221, (*TTable)(unsafe.Pointer(pTab)).FzName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14314, (*TTable)(unsafe.Pointer(pTab)).FzName) { goto exit_create_index } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if !((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0) { if _sqlite3FindTable(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14364, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14457, libc.VaList(bp+136, zName)) goto exit_create_index } } if _sqlite3FindIndex(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { if !(ifNotExist != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14398, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14491, libc.VaList(bp+136, zName)) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) _sqlite3ForceNotReadOnly(tls, pParse) @@ -99114,7 +99551,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pLoop = (*TIndex)(unsafe.Pointer(pLoop)).FpNext n++ } - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14422, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14515, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) if zName == uintptr(0) { goto exit_create_index } @@ -99132,9 +99569,9 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { zDb = (*TDb)(unsafe.Pointer(pDb)).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6565 + v2 = __ccgo_ts + 6629 } else { - v2 = __ccgo_ts + 6098 + v2 = __ccgo_ts + 6162 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v2, uintptr(0), zDb) != 0 { goto exit_create_index @@ -99162,7 +99599,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } _sqlite3ExprListSetSortOrder(tls, pList, sortOrder, -int32(1)) } else { - _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14221) + _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14314) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { goto exit_create_index } @@ -99246,7 +99683,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pCExpr = _sqlite3ExprSkipCollate(tls, (*TExprList_item)(unsafe.Pointer(pListItem)).FpExpr) if int32((*TExpr)(unsafe.Pointer(pCExpr)).Fop) != int32(TK_COLUMN) { if pTab == (*TParse)(unsafe.Pointer(pParse)).FpNewTable { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14445, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14538, 0) goto exit_create_index } if (*TIndex)(unsafe.Pointer(pIndex)).FaColExpr == uintptr(0) { @@ -99393,7 +99830,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u ** explicitly specified behavior for the index. */ if !(int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) || int32((*TIndex)(unsafe.Pointer(pIndex)).FonError) == int32(OE_Default)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14506, libc.VaList(bp+136, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14599, libc.VaList(bp+136, 0)) } if int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) { (*TIndex)(unsafe.Pointer(pIdx)).FonError = (*TIndex)(unsafe.Pointer(pIndex)).FonError @@ -99423,8 +99860,8 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != uintptr(0) { (*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14548, 0) - (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125123)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14641, 0) + (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125741)) goto exit_create_index } } @@ -99464,11 +99901,11 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* A named index with an explicit CREATE INDEX statement */ if onError == OE_None { - v13 = __ccgo_ts + 1680 + v13 = __ccgo_ts + 1694 } else { - v13 = __ccgo_ts + 14565 + v13 = __ccgo_ts + 14658 } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14573, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14666, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) } else { /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ /* zStmt = sqlite3MPrintf(""); */ @@ -99476,7 +99913,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* Add an entry in sqlite_schema for this index */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14593, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14686, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) _sqlite3DbFree(tls, db, zStmt) /* Fill the index with data and reparse the schema. Code an OP_Expire ** to invalidate all pre-compiled statements. @@ -99484,7 +99921,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != 0 { _sqlite3RefillIndex(tls, pParse, pIndex, iMem) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14652, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14745, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Expire), 0, int32(1)) } _sqlite3VdbeJumpHere(tls, v, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum)) @@ -99647,7 +100084,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pIndex = _sqlite3FindIndex(tls, db, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzName, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) if pIndex == uintptr(0) { if !(ifExists != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14679, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14772, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) _sqlite3ForceNotReadOnly(tls, pParse) @@ -99656,7 +100093,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in goto exit_drop_index } if int32(uint32(*(*uint16)(unsafe.Pointer(pIndex + 100))&0x3>>0)) != SQLITE_IDXTYPE_APPDEF { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14697, libc.VaList(bp+8, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14790, libc.VaList(bp+8, 0)) goto exit_drop_index } iDb = _sqlite3SchemaToIndex(tls, db, (*TIndex)(unsafe.Pointer(pIndex)).FpSchema) @@ -99664,9 +100101,9 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pTab = (*TIndex)(unsafe.Pointer(pIndex)).FpTable zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6565 + v1 = __ccgo_ts + 6629 } else { - v1 = __ccgo_ts + 6098 + v1 = __ccgo_ts + 6162 } zTab = v1 if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_DELETE), zTab, uintptr(0), zDb) != 0 { @@ -99682,8 +100119,8 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in v = _sqlite3GetVdbe(tls, pParse) if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14770, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11825, (*TIndex)(unsafe.Pointer(pIndex)).FzName) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14863, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11950, (*TIndex)(unsafe.Pointer(pIndex)).FzName) _sqlite3ChangeCookie(tls, pParse, iDb) _destroyRootPage(tls, pParse, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum), iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropIndex), iDb, 0, 0, (*TIndex)(unsafe.Pointer(pIndex)).FzName, 0) @@ -99874,7 +100311,7 @@ func _sqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra nAlloc = int64(2)*int64((*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) + int64(nExtra) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc+nExtra >= int32(SQLITE_MAX_SRCLIST) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14830, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14923, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) return uintptr(0) } if nAlloc > int64(SQLITE_MAX_SRCLIST) { @@ -100106,11 +100543,11 @@ func _sqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa db = (*TParse)(unsafe.Pointer(pParse)).Fdb if !(p != 0) && pOnUsing != uintptr(0) && ((*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 || (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpUsing != 0) { if (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 { - v1 = __ccgo_ts + 14866 + v1 = __ccgo_ts + 14959 } else { - v1 = __ccgo_ts + 14869 + v1 = __ccgo_ts + 14962 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14875, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14968, libc.VaList(bp+8, v1)) goto append_from_error } p = _sqlite3SrcListAppend(tls, pParse, p, pTable, pDatabase) @@ -100308,7 +100745,7 @@ func _sqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { var eTxnType, i int32 _, _, _, _, _ = db, eTxnType, i, pBt, v db = (*TParse)(unsafe.Pointer(pParse)).Fdb - if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14911, uintptr(0), uintptr(0)) != 0 { + if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+15004, uintptr(0), uintptr(0)) != 0 { return } v = _sqlite3GetVdbe(tls, pParse) @@ -100355,9 +100792,9 @@ func _sqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { _, _, _ = isRollback, v, v1 isRollback = libc.BoolInt32(eType == int32(TK_ROLLBACK)) if isRollback != 0 { - v1 = __ccgo_ts + 14917 + v1 = __ccgo_ts + 15010 } else { - v1 = __ccgo_ts + 14926 + v1 = __ccgo_ts + 15019 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), v1, uintptr(0), uintptr(0)) != 0 { return @@ -100389,9 +100826,9 @@ func _sqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } var _az = [3]uintptr{ - 0: __ccgo_ts + 14911, - 1: __ccgo_ts + 14933, - 2: __ccgo_ts + 14917, + 0: __ccgo_ts + 15004, + 1: __ccgo_ts + 15026, + 2: __ccgo_ts + 15010, } // C documentation @@ -100411,7 +100848,7 @@ func _sqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) (r int32) { if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt == uintptr(0) && !((*TParse)(unsafe.Pointer(pParse)).Fexplain != 0) { rc = _sqlite3BtreeOpen(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp, 0, _flags) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14941, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15034, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = rc return int32(1) } @@ -100595,7 +101032,7 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable _sqlite3StrAccumInit(tls, bp, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136))) if (*TIndex)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15011, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15104, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) } else { j = 0 for { @@ -100604,10 +101041,10 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx } zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*16))).FzCnName if j != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+15022, int32(2)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+15115, int32(2)) } Xsqlite3_str_appendall(tls, bp, (*TTable)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp, __ccgo_ts+1693, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+1707, int32(1)) Xsqlite3_str_appendall(tls, bp, zCol) goto _1 _1: @@ -100636,10 +101073,10 @@ func _sqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr _, _ = rc, zMsg if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12413, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12538, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(6)< libc.BoolInt32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15141, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15234, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } return 0 } @@ -101742,11 +102179,11 @@ func _sqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger ui bp := tls.Alloc(16) defer tls.Free(16) if _tabIsReadOnly(tls, pParse, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15174, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15267, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && (pTrigger == uintptr(0) || (*TTrigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 && (*TTrigger)(unsafe.Pointer(pTrigger)).FpNext == uintptr(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15203, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15296, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -102149,7 +102586,7 @@ func _sqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** invoke the callback function. */ if memCnt != 0 { - _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15241) + _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15334) } goto delete_from_cleanup delete_from_cleanup: @@ -102297,7 +102734,7 @@ func _sqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri v3 = 0 } _sqlite3VdbeAddOp2(tls, v, int32(OP_Delete), iDataCur, v3) - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11614) { + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11739) { _sqlite3VdbeAppendP4(tls, v, pTab, -int32(5)) } if int32(eMode) != ONEPASS_OFF { @@ -102601,11 +103038,11 @@ func _typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } var _azType2 = [5]uintptr{ - 0: __ccgo_ts + 6338, - 1: __ccgo_ts + 6333, - 2: __ccgo_ts + 8229, - 3: __ccgo_ts + 8224, - 4: __ccgo_ts + 1666, + 0: __ccgo_ts + 6402, + 1: __ccgo_ts + 6397, + 2: __ccgo_ts + 8354, + 3: __ccgo_ts + 8349, + 4: __ccgo_ts + 1680, } // C documentation @@ -102719,7 +103156,7 @@ func _absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* IMP: R-31676-45509 If X is the integer -9223372036854775808 ** then abs(X) throws an integer overflow error since there is no ** equivalent positive 64-bit two complement value. */ - Xsqlite3_result_error(tls, context, __ccgo_ts+15254, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15347, -int32(1)) return } iVal = -iVal @@ -103034,7 +103471,7 @@ func _roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } *(*float64)(unsafe.Pointer(bp)) = float64(int64(*(*float64)(unsafe.Pointer(bp)) + v1)) } else { - zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15271, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) + zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15364, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -103614,7 +104051,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { */ nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer(db + 136 + 8*4)) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15277, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15370, -int32(1)) return } if argc == int32(3) { @@ -103626,7 +104063,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { return } if _sqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), -int32(1)) != int32(1) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15310, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15403, -int32(1)) return } escape = _sqlite3Utf8Read(tls, bp+8) @@ -103708,7 +104145,7 @@ func _errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { defer tls.Free(16) _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3827, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3891, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // C documentation @@ -103795,17 +104232,17 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_FLOAT): r1 = Xsqlite3_value_double(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15355, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15448, libc.VaList(bp+16, r1)) zVal = Xsqlite3_str_value(tls, pStr) if zVal != 0 { _sqlite3AtoF(tls, zVal, bp, int32((*TStrAccum)(unsafe.Pointer(pStr)).FnChar), uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp)) { Xsqlite3_str_reset(tls, pStr) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15363, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15456, libc.VaList(bp+16, r1)) } } case int32(SQLITE_INTEGER): - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1436, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1455, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) case int32(SQLITE_BLOB): zBlob = Xsqlite3_value_blob(tls, pValue) nBlob = int64(Xsqlite3_value_bytes(tls, pValue)) @@ -103833,9 +104270,9 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { } case int32(SQLITE_TEXT): zArg = Xsqlite3_value_text(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15371, libc.VaList(bp+16, zArg)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15464, libc.VaList(bp+16, zArg)) default: - Xsqlite3_str_append(tls, pStr, __ccgo_ts+1681, int32(4)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+1695, int32(4)) break } } @@ -104072,7 +104509,7 @@ func _unhexFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { var v3 uint32 var _ /* zHex at bp+0 */ uintptr _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ch, d, nHex, nPass, p, pBlob, zPass, v1, v2, v3, v4, v5, v6 - zPass = __ccgo_ts + 1680 + zPass = __ccgo_ts + 1694 nPass = 0 *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) nHex = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -104385,7 +104822,7 @@ var _lenOne = [1]uint32{ } var _azOne = [1]uintptr{ - 0: __ccgo_ts + 11234, + 0: __ccgo_ts + 11359, } // C documentation @@ -104453,7 +104890,7 @@ func _concatFuncCore(tls *libc.TLS, context uintptr, argc int32, argv uintptr, n // ** concatentation of all non-null arguments. // */ func _concatFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1680) + _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1694) } // C documentation @@ -104499,7 +104936,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { _, _, _, _, _, _, _ = code, i, j, prevcode, zIn, v3, v4 zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = __ccgo_ts + 1680 + zIn = __ccgo_ts + 1694 } i = 0 for { @@ -104545,7 +104982,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { /* IMP: R-64894-50321 The string "?000" is returned if the argument ** is NULL or contains no ASCII alphabetic characters. */ - Xsqlite3_result_text(tls, context, __ccgo_ts+15374, int32(4), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, context, __ccgo_ts+15467, int32(4), libc.UintptrFromInt32(0)) } } @@ -104606,7 +105043,7 @@ func _loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { ** flag is set. See the sqlite3_enable_load_extension() API. */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_LoadExtFunc) == uint64(0) { - Xsqlite3_result_error(tls, context, __ccgo_ts+12452, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+12577, -int32(1)) return } if argc == int32(2) { @@ -104795,7 +105232,7 @@ func _sumFinalize(tls *libc.TLS, context uintptr) { if p != 0 && (*TSumCtx)(unsafe.Pointer(p)).Fcnt > 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fapprox != 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fovrfl != 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+15254, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15347, -int32(1)) } else { if !(_sqlite3IsOverflow(tls, (*TSumCtx)(unsafe.Pointer(p)).FrErr) != 0) { Xsqlite3_result_double(tls, context, (*TSumCtx)(unsafe.Pointer(p)).FrSum+(*TSumCtx)(unsafe.Pointer(p)).FrErr) @@ -105137,7 +105574,7 @@ func _groupConcatValue(tls *libc.TLS, context uintptr) { func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { var rc int32 _ = rc - rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15379, int32(2)) + rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15472, int32(2)) if rc == int32(SQLITE_NOMEM) { _sqlite3OomFault(tls, db) } @@ -105166,8 +105603,8 @@ func _sqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 if !(nArg <= int32(3)) { break } - _sqlite3CreateFunc(tls, db, __ccgo_ts+15385, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15385, nArg, uint8(SQLITE_UTF8), uint8(0)) + _sqlite3CreateFunc(tls, db, __ccgo_ts+15478, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15478, nArg, uint8(SQLITE_UTF8), uint8(0)) *(*Tu32)(unsafe.Pointer(pDef + 4)) |= uint32(flags) *(*Tu32)(unsafe.Pointer(pDef + 4)) &= uint32(^libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)) goto _1 @@ -105473,562 +105910,562 @@ var _aBuiltinFunc = [110]TFuncDef{ FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_implies_nonnull_row))), - FzName: __ccgo_ts + 15390, + FzName: __ccgo_ts + 15483, }, 1: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_compare))), - FzName: __ccgo_ts + 15410, + FzName: __ccgo_ts + 15503, }, 2: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_implies_expr))), - FzName: __ccgo_ts + 15423, + FzName: __ccgo_ts + 15516, }, 3: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_affinity))), - FzName: __ccgo_ts + 15441, + FzName: __ccgo_ts + 15534, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15450, + FzName: __ccgo_ts + 15543, }, 5: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15458, + FzName: __ccgo_ts + 15551, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15458, + FzName: __ccgo_ts + 15551, }, 7: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15473, + FzName: __ccgo_ts + 15566, }, 8: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15499, + FzName: __ccgo_ts + 15592, }, 9: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15524, + FzName: __ccgo_ts + 15617, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15533, + FzName: __ccgo_ts + 15626, }, 11: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15544, + FzName: __ccgo_ts + 15637, }, 12: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_sqlite_offset))), - FzName: __ccgo_ts + 15551, + FzName: __ccgo_ts + 15644, }, 13: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15565, + FzName: __ccgo_ts + 15658, }, 14: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15565, + FzName: __ccgo_ts + 15658, }, 15: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15571, + FzName: __ccgo_ts + 15664, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15571, + FzName: __ccgo_ts + 15664, }, 17: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15577, + FzName: __ccgo_ts + 15670, }, 18: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15577, + FzName: __ccgo_ts + 15670, }, 19: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15582, + FzName: __ccgo_ts + 15675, }, 20: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15582, + FzName: __ccgo_ts + 15675, }, 21: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15582, + FzName: __ccgo_ts + 15675, }, 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15586, + FzName: __ccgo_ts + 15679, }, 23: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15586, + FzName: __ccgo_ts + 15679, }, 24: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15586, + FzName: __ccgo_ts + 15679, }, 25: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15590, + FzName: __ccgo_ts + 15683, }, 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15597, + FzName: __ccgo_ts + 15690, }, 27: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_LENGTH)), - FzName: __ccgo_ts + 15605, + FzName: __ccgo_ts + 15698, }, 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_BYTELEN)), - FzName: __ccgo_ts + 15612, + FzName: __ccgo_ts + 15705, }, 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15625, + FzName: __ccgo_ts + 15718, }, 30: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15631, + FzName: __ccgo_ts + 15724, }, 31: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15638, + FzName: __ccgo_ts + 15731, }, 32: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15645, + FzName: __ccgo_ts + 15738, }, 33: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15653, + FzName: __ccgo_ts + 15746, }, 34: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15658, + FzName: __ccgo_ts + 15751, }, 35: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15662, + FzName: __ccgo_ts + 15755, }, 36: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15662, + FzName: __ccgo_ts + 15755, }, 37: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15668, + FzName: __ccgo_ts + 15761, }, 38: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15674, + FzName: __ccgo_ts + 15767, }, 39: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15680, + FzName: __ccgo_ts + 15773, }, 40: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15684, + FzName: __ccgo_ts + 15777, }, 41: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15684, + FzName: __ccgo_ts + 15777, }, 42: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15690, + FzName: __ccgo_ts + 15783, }, 43: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15690, + FzName: __ccgo_ts + 15783, }, 44: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15697, + FzName: __ccgo_ts + 15790, }, 45: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15697, + FzName: __ccgo_ts + 15790, }, 46: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15697, + FzName: __ccgo_ts + 15790, }, 47: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15707, + FzName: __ccgo_ts + 15800, }, 48: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15714, + FzName: __ccgo_ts + 15807, }, 49: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15721, + FzName: __ccgo_ts + 15814, }, 50: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15732, + FzName: __ccgo_ts + 15825, }, 51: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15739, + FzName: __ccgo_ts + 15832, }, 52: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15754, + FzName: __ccgo_ts + 15847, }, 53: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15771, + FzName: __ccgo_ts + 15864, }, 54: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15782, + FzName: __ccgo_ts + 15875, }, 55: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15788, + FzName: __ccgo_ts + 15881, }, 56: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15806, + FzName: __ccgo_ts + 15899, }, 57: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15814, + FzName: __ccgo_ts + 15907, }, 58: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15828, + FzName: __ccgo_ts + 15921, }, 59: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15836, + FzName: __ccgo_ts + 15929, }, 60: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15845, + FzName: __ccgo_ts + 15938, }, 61: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15845, + FzName: __ccgo_ts + 15938, }, 62: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15852, + FzName: __ccgo_ts + 15945, }, 63: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15852, + FzName: __ccgo_ts + 15945, }, 64: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15862, + FzName: __ccgo_ts + 15955, }, 65: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15866, + FzName: __ccgo_ts + 15959, }, 66: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15872, + FzName: __ccgo_ts + 15965, }, 67: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_COUNT) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15876, + FzName: __ccgo_ts + 15969, }, 68: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15876, + FzName: __ccgo_ts + 15969, }, 69: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15882, + FzName: __ccgo_ts + 15975, }, 70: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15882, + FzName: __ccgo_ts + 15975, }, 71: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15895, + FzName: __ccgo_ts + 15988, }, 72: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE) | libc.Int32FromInt32(SQLITE_FUNC_CASE)), FpUserData: uintptr(unsafe.Pointer(&_globInfo)), - FzName: __ccgo_ts + 15906, + FzName: __ccgo_ts + 15999, }, 73: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15385, + FzName: __ccgo_ts + 15478, }, 74: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15385, + FzName: __ccgo_ts + 15478, }, 75: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6762, + FzName: __ccgo_ts + 6826, }, 76: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6762, + FzName: __ccgo_ts + 6826, }, 77: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15911, + FzName: __ccgo_ts + 16004, }, 78: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15916, + FzName: __ccgo_ts + 1267, }, 79: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15924, + FzName: __ccgo_ts + 1275, }, 80: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15930, + FzName: __ccgo_ts + 16009, }, 81: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15936, + FzName: __ccgo_ts + 16015, }, 82: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15939, + FzName: __ccgo_ts + 16018, }, 83: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15943, + FzName: __ccgo_ts + 16022, }, 84: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15949, + FzName: __ccgo_ts + 16028, }, 85: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15939, + FzName: __ccgo_ts + 16018, }, 86: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15954, + FzName: __ccgo_ts + 16033, }, 87: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15958, + FzName: __ccgo_ts + 16037, }, 88: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15962, + FzName: __ccgo_ts + 16041, }, 89: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15968, + FzName: __ccgo_ts + 16047, }, 90: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15972, + FzName: __ccgo_ts + 16051, }, 91: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15977, + FzName: __ccgo_ts + 16056, }, 92: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15982, + FzName: __ccgo_ts + 16061, }, 93: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15987, + FzName: __ccgo_ts + 16066, }, 94: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15993, + FzName: __ccgo_ts + 16072, }, 95: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15997, + FzName: __ccgo_ts + 16076, }, 96: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16001, + FzName: __ccgo_ts + 16080, }, 97: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16005, + FzName: __ccgo_ts + 16084, }, 98: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16010, + FzName: __ccgo_ts + 16089, }, 99: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16015, + FzName: __ccgo_ts + 16094, }, 100: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16020, + FzName: __ccgo_ts + 16099, }, 101: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16026, + FzName: __ccgo_ts + 16105, }, 102: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16032, + FzName: __ccgo_ts + 16111, }, 103: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16038, + FzName: __ccgo_ts + 16117, }, 104: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16043, + FzName: __ccgo_ts + 16122, }, 105: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16051, + FzName: __ccgo_ts + 16130, }, 106: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16059, + FzName: __ccgo_ts + 16138, }, 107: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16062, + FzName: __ccgo_ts + 16141, }, 108: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 6762, + FzName: __ccgo_ts + 6826, }, 109: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_iif))), - FzName: __ccgo_ts + 16067, + FzName: __ccgo_ts + 16146, }, } @@ -106505,7 +106942,7 @@ func _sqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey } if !(pIdx != 0) { if !((*TParse)(unsafe.Pointer(pParse)).FdisableTriggers != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16071, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16150, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) } _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, aiCol) return int32(1) @@ -107616,11 +108053,11 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr break } *(*TToken)(unsafe.Pointer(bp + 16)) = TToken{ - Fz: __ccgo_ts + 6628, + Fz: __ccgo_ts + 6692, Fn: uint32(3), } /* Literal "old" token */ *(*TToken)(unsafe.Pointer(bp + 32)) = TToken{ - Fz: __ccgo_ts + 6624, + Fz: __ccgo_ts + 6688, Fn: uint32(3), } /* tFromCol = OLD.tToCol */ if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { @@ -107684,7 +108121,7 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr nFrom = _sqlite3Strlen30(tls, zFrom) if action == int32(OE_Restrict) { iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5257) + pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5321) if pRaise != 0 { (*TExpr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -108265,7 +108702,7 @@ func _sqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8194, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8319, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) } (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -108526,6 +108963,219 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { } } +// C documentation +// +// /* +// ** If argument pVal is a Select object returned by an sqlite3MultiValues() +// ** that was able to use the co-routine optimization, finish coding the +// ** co-routine. +// */ +func _sqlite3MultiValuesEnd(tls *libc.TLS, pParse uintptr, pVal uintptr) { + var pItem uintptr + _ = pItem + if pVal != 0 && (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pVal)).FpSrc)).FnSrc > 0 { + pItem = (*TSelect)(unsafe.Pointer(pVal)).FpSrc + 8 + _sqlite3VdbeEndCoroutine(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn) + _sqlite3VdbeJumpHere(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FaddrFillSub-int32(1)) + } +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are constant. +// */ +func _exprListIsConstant(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + if 0 == _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are both constant and have no affinity. +// */ +func _exprListIsNoAffinity(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + var pExpr uintptr + _, _ = ii, pExpr + if _exprListIsConstant(tls, pParse, pRow) == 0 { + return 0 + } + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + pExpr = (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr + if 0 != int32(_sqlite3ExprAffinity(tls, pExpr)) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** This function is called by the parser for the second and subsequent +// ** rows of a multi-row VALUES clause. Argument pLeft is the part of +// ** the VALUES clause already parsed, argument pRow is the vector of values +// ** for the new row. The Select object returned represents the complete +// ** VALUES clause, including the new row. +// ** +// ** There are two ways in which this may be achieved - by incremental +// ** coding of a co-routine (the "co-routine" method) or by returning a +// ** Select object equivalent to the following (the "UNION ALL" method): +// ** +// ** "pLeft UNION ALL SELECT pRow" +// ** +// ** If the VALUES clause contains a lot of rows, this compound Select +// ** object may consume a lot of memory. +// ** +// ** When the co-routine method is used, each row that will be returned +// ** by the VALUES clause is coded into part of a co-routine as it is +// ** passed to this function. The returned Select object is equivalent to: +// ** +// ** SELECT * FROM ( +// ** Select object to read co-routine +// ** ) +// ** +// ** The co-routine method is used in most cases. Exceptions are: +// ** +// ** a) If the current statement has a WITH clause. This is to avoid +// ** statements like: +// ** +// ** WITH cte AS ( VALUES('x'), ('y') ... ) +// ** SELECT * FROM cte AS a, cte AS b; +// ** +// ** This will not work, as the co-routine uses a hard-coded register +// ** for its OP_Yield instructions, and so it is not possible for two +// ** cursors to iterate through it concurrently. +// ** +// ** b) The schema is currently being parsed (i.e. the VALUES clause is part +// ** of a schema item like a VIEW or TRIGGER). In this case there is no VM +// ** being generated when parsing is taking place, and so generating +// ** a co-routine is not possible. +// ** +// ** c) There are non-constant expressions in the VALUES clause (e.g. +// ** the VALUES clause is part of a correlated sub-query). +// ** +// ** d) One or more of the values in the first row of the VALUES clause +// ** has an affinity (i.e. is a CAST expression). This causes problems +// ** because the complex rules SQLite uses (see function +// ** sqlite3SubqueryColumnTypes() in select.c) to determine the effective +// ** affinity of such a column for all rows require access to all values in +// ** the column simultaneously. +// */ +func _sqlite3MultiValues(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRow uintptr) (r uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var f, v1 int32 + var p, pRet, pSelect, v, v2 uintptr + var _ /* dest at bp+0 */ TSelectDest + _, _, _, _, _, _, _ = f, p, pRet, pSelect, v, v1, v2 + if (*TParse)(unsafe.Pointer(pParse)).FbHasWith != 0 || (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy != 0 || _exprListIsConstant(tls, pParse, pRow) == 0 || (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 && _exprListIsNoAffinity(tls, pParse, (*TSelect)(unsafe.Pointer(pLeft)).FpEList) == 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { + /* The co-routine method cannot be used. Fall back to UNION ALL. */ + pSelect = uintptr(0) + f = libc.Int32FromInt32(SF_Values) | libc.Int32FromInt32(SF_MultiValue) + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc != 0 { + _sqlite3MultiValuesEnd(tls, pParse, pLeft) + f = int32(SF_Values) + } else { + if (*TSelect)(unsafe.Pointer(pLeft)).FpPrior != 0 { + /* In this case set the SF_MultiValue flag only if it was set on pLeft */ + f = int32(uint32(f) & (*TSelect)(unsafe.Pointer(pLeft)).FselFlags) + } + } + pSelect = _sqlite3SelectNew(tls, pParse, pRow, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(f), uintptr(0)) + *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) + if pSelect != 0 { + (*TSelect)(unsafe.Pointer(pSelect)).Fop = uint8(TK_ALL) + (*TSelect)(unsafe.Pointer(pSelect)).FpPrior = pLeft + pLeft = pSelect + } + } else { + p = uintptr(0) /* SrcItem that reads from co-routine */ + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 { + /* Co-routine has not yet been started and the special Select object + ** that accesses the co-routine has not yet been created. This block + ** does both those things. */ + v = _sqlite3GetVdbe(tls, pParse) + pRet = _sqlite3SelectNew(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) + /* Ensure the database schema has been read. This is to ensure we have + ** the correct text encoding. */ + if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmDbFlags&uint32(DBFLAG_SchemaKnownOk) == uint32(0) { + _sqlite3ReadSchema(tls, pParse) + } + if pRet != 0 { + (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pRet)).FpSrc)).FnSrc = int32(1) + (*TSelect)(unsafe.Pointer(pRet)).FpPrior = (*TSelect)(unsafe.Pointer(pLeft)).FpPrior + (*TSelect)(unsafe.Pointer(pRet)).Fop = (*TSelect)(unsafe.Pointer(pLeft)).Fop + (*TSelect)(unsafe.Pointer(pLeft)).FpPrior = uintptr(0) + (*TSelect)(unsafe.Pointer(pLeft)).Fop = uint8(TK_SELECT) + p = (*TSelect)(unsafe.Pointer(pRet)).FpSrc + 8 + (*TSrcItem)(unsafe.Pointer(p)).FpSelect = pLeft + libc.SetBitFieldPtr16Uint32(p+60+4, libc.Uint32FromInt32(1), 5, 0x20) + (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + v2 = pParse + 56 + *(*int32)(unsafe.Pointer(v2))++ + v1 = *(*int32)(unsafe.Pointer(v2)) + (*TSrcItem)(unsafe.Pointer(p)).FregReturn = v1 + (*TSrcItem)(unsafe.Pointer(p)).FiCursor = -int32(1) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1)) = uint32(2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn, 0, (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub) + _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + /* Allocate registers for the output of the co-routine. Do so so + ** that there are two unused registers immediately before those + ** used by the co-routine. This allows the code in sqlite3Insert() + ** to use these registers directly, instead of copying the output + ** of the co-routine to a separate array for processing. */ + (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(3) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpEList)).FnExpr + *(*int32)(unsafe.Pointer(pParse + 56)) += int32(2) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst + *(*Tu32)(unsafe.Pointer(pLeft + 4)) |= uint32(SF_MultiValue) + _sqlite3Select(tls, pParse, pLeft, bp) + (*TSrcItem)(unsafe.Pointer(p)).FregResult = (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst + pLeft = pRet + } + } else { + p = (*TSelect)(unsafe.Pointer(pLeft)).FpSrc + 8 + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1))++ + } + if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { + if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p)).FpSelect)).FpEList)).FnExpr != (*TExprList)(unsafe.Pointer(pRow)).FnExpr { + _sqlite3SelectWrongNumTermsError(tls, pParse, (*TSrcItem)(unsafe.Pointer(p)).FpSelect) + } else { + _sqlite3ExprCodeExprList(tls, pParse, pRow, (*TSrcItem)(unsafe.Pointer(p)).FregResult, 0, uint8(0)) + _sqlite3VdbeAddOp1(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Yield), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + } + } + _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pRow) + } + return pLeft +} + // C documentation // // /* @@ -108628,27 +109278,27 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { bp := tls.Alloc(160) defer tls.Free(160) - var aRegIdx, db, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, v, v13, v16, v18, v6, v9 uintptr - var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v12, v15, v17, v19, v23, v24, v5, v7, v8 int32 + var aRegIdx, db, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, v, v10, v14, v17, v19, v7 uintptr + var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v13, v16, v18, v20, v24, v25, v5, v6, v8, v9 int32 var appendFlag, bIdListInOrder, useTempTable, withoutRowid Tu8 - var colFlags, v21 Tu32 + var colFlags, v22 Tu32 var _ /* dest at bp+8 */ TSelectDest var _ /* iDataCur at bp+0 */ int32 var _ /* iIdxCur at bp+4 */ int32 var _ /* isReplace at bp+112 */ int32 var _ /* sNC at bp+56 */ TNameContext var _ /* tmask at bp+48 */ int32 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v12, v13, v15, v16, v17, v18, v19, v21, v23, v24, v5, v6, v7, v8, v9 /* Number of columns in the data */ - nHidden = 0 /* Number of hidden columns if TABLE is virtual */ - *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ - *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ - ipkColumn = -int32(1) /* Label for the end of the insertion loop */ - srcTab = 0 /* Data comes from this temporary cursor if >=0 */ - addrInsTop = 0 /* Jump to label "D" */ - addrCont = 0 /* Index of database holding TABLE */ - useTempTable = uint8(0) /* Store SELECT results in intermediate table */ - appendFlag = uint8(0) /* True if IDLIST is in table order */ - pList = uintptr(0) /* Register in which to store next column */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v10, v13, v14, v16, v17, v18, v19, v20, v22, v24, v25, v5, v6, v7, v8, v9 /* Number of columns in the data */ + nHidden = 0 /* Number of hidden columns if TABLE is virtual */ + *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ + *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ + ipkColumn = -int32(1) /* Label for the end of the insertion loop */ + srcTab = 0 /* Data comes from this temporary cursor if >=0 */ + addrInsTop = 0 /* Jump to label "D" */ + addrCont = 0 /* Index of database holding TABLE */ + useTempTable = uint8(0) /* Store SELECT results in intermediate table */ + appendFlag = uint8(0) /* True if IDLIST is in table order */ + pList = uintptr(0) /* Register in which to store next column */ /* Register allocations */ regFromSelect = 0 /* Base register for data coming from SELECT */ regAutoinc = 0 /* Register holding the AUTOINCREMENT counter */ @@ -108786,7 +109436,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_STORED)|libc.Int32FromInt32(COLFLAG_VIRTUAL)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16116, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16195, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto insert_cleanup } break @@ -108801,7 +109451,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i bIdListInOrder = uint8(0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16157, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16236, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto insert_cleanup } @@ -108818,28 +109468,46 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** co-routine is the common header to the 3rd and 4th templates. */ if pSelect != 0 { /* Result code */ - v6 = pParse + 56 - *(*int32)(unsafe.Pointer(v6))++ - v5 = *(*int32)(unsafe.Pointer(v6)) - regYield = v5 - addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) - _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) - _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) - if bIdListInOrder != 0 { - v7 = regData - } else { - v7 = 0 - } - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v7 - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) - rc = _sqlite3Select(tls, pParse, pSelect, bp+8) - regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst - if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { - goto insert_cleanup + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc)).FnSrc == int32(1) && int32(uint32(*(*uint16)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + 60 + 4))&0x20>>5)) != 0 && (*TSelect)(unsafe.Pointer(pSelect)).FpPrior == uintptr(0) { + pItem = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSDParm = (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn + regFromSelect = (*TSrcItem)(unsafe.Pointer(pItem)).FregResult + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FpEList)).FnExpr + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+16268, libc.VaList(bp+128, pItem)) + if bIdListInOrder != 0 && nColumn == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { + regData = regFromSelect + regRowid = regData - int32(1) + if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { + v5 = int32(1) + } else { + v5 = 0 + } + regIns = regRowid - v5 + } + } else { + v7 = pParse + 56 + *(*int32)(unsafe.Pointer(v7))++ + v6 = *(*int32)(unsafe.Pointer(v7)) /* Top of the co-routine */ + regYield = v6 + addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) + _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) + if bIdListInOrder != 0 { + v8 = regData + } else { + v8 = 0 + } + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) + rc = _sqlite3Select(tls, pParse, pSelect, bp+8) + regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst + if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { + goto insert_cleanup + } + _sqlite3VdbeEndCoroutine(tls, v, regYield) + _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr } - _sqlite3VdbeEndCoroutine(tls, v, regYield) - _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ - nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr /* Set useTempTable to TRUE if the result of the SELECT statement ** should be written into a temporary table (template 4). Set to ** FALSE if each output row of the SELECT can be written directly into @@ -108853,10 +109521,10 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin useTempTable = uint8(1) } if useTempTable != 0 { /* Label "L" */ - v9 = pParse + 52 - v8 = *(*int32)(unsafe.Pointer(v9)) - *(*int32)(unsafe.Pointer(v9))++ - srcTab = v8 + v10 = pParse + 52 + v9 = *(*int32)(unsafe.Pointer(v10)) + *(*int32)(unsafe.Pointer(v10))++ + srcTab = v9 regRec = _sqlite3GetTempReg(tls, pParse) regTempRowid = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp2(tls, v, int32(OP_OpenEphemeral), srcTab, nColumn) @@ -108897,8 +109565,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { ipkColumn-- } - goto _10 - _10: + goto _11 + _11: ; i-- } @@ -108915,28 +109583,28 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_NOINSERT) != 0 { nHidden++ } - goto _11 - _11: + goto _12 + _12: ; i++ } } if nColumn != int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16189, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16276, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) goto insert_cleanup } } if pColumn != uintptr(0) && nColumn != (*TIdList)(unsafe.Pointer(pColumn)).FnId { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16241, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16328, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup } /* Initialize the count of rows to be inserted */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&(uint64(libc.Int32FromInt32(0x00001))<= 0 { /* tag-20191021-001: If the INTEGER PRIMARY KEY is being generated by the ** SELECT, go ahead and copy the value into the rowid slot now, so that @@ -109049,18 +109717,18 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** using excess space. The file format definition requires this extra ** NULL - we cannot optimize further by skipping the column completely */ _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) - goto _20 + goto _21 } - v21 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) - colFlags = v21 - if v21&uint32(COLFLAG_NOINSERT) != uint32(0) { + v22 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) + colFlags = v22 + if v22&uint32(COLFLAG_NOINSERT) != uint32(0) { nHidden++ if colFlags&uint32(COLFLAG_VIRTUAL) != uint32(0) { /* Virtual columns do not participate in OP_MakeRecord. So back up ** iRegStore by one slot to compensate for the iRegStore++ in the ** outer for() loop */ iRegStore-- - goto _20 + goto _21 } else { if colFlags&uint32(COLFLAG_STORED) != uint32(0) { /* Stored columns are computed later. But if there are BEFORE @@ -109070,13 +109738,13 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if *(*int32)(unsafe.Pointer(bp + 48))&int32(TRIGGER_BEFORE) != 0 { _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) } - goto _20 + goto _21 } else { if pColumn == uintptr(0) { /* Hidden columns that are not explicitly named in the INSERT ** get there default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } } } @@ -109087,8 +109755,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if !(j < (*TIdList)(unsafe.Pointer(pColumn)).FnId && *(*int32)(unsafe.Pointer(pColumn + 8 + uintptr(j)*16 + 8)) != i) { break } - goto _22 - _22: + goto _23 + _23: ; j++ } @@ -109096,14 +109764,14 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin /* A column not named in the insert column list gets its ** default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } k = j } else { if nColumn == 0 { /* This is INSERT INTO ... DEFAULT VALUES. Load the default value. */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } else { k = i - nHidden } @@ -109120,16 +109788,16 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin y = _sqlite3ExprCodeTarget(tls, pParse, pX, iRegStore) if y != iRegStore { if (*TExpr)(unsafe.Pointer(pX)).Fflags&uint32(libc.Int32FromInt32(EP_Subquery)) != uint32(0) { - v23 = int32(OP_Copy) + v24 = int32(OP_Copy) } else { - v23 = int32(OP_SCopy) + v24 = int32(OP_SCopy) } - _sqlite3VdbeAddOp2(tls, v, v23, y, iRegStore) + _sqlite3VdbeAddOp2(tls, v, v24, y, iRegStore) } } } - goto _20 - _20: + goto _21 + _21: ; i++ iRegStore++ @@ -109240,11 +109908,11 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _sqlite3VtabMakeWritable(tls, pParse, pTab) _sqlite3VdbeAddOp4(tls, v, int32(OP_VUpdate), int32(1), int32((*TTable)(unsafe.Pointer(pTab)).FnCol)+int32(2), regIns, pVTab, -int32(11)) if onError == int32(OE_Default) { - v24 = int32(OE_Abort) + v25 = int32(OE_Abort) } else { - v24 = onError + v25 = onError } - _sqlite3VdbeChangeP5(tls, v, uint16(v24)) + _sqlite3VdbeChangeP5(tls, v, uint16(v25)) _sqlite3MayAbort(tls, pParse) } else { *(*int32)(unsafe.Pointer(bp + 112)) = 0 /* True to use OPFLAG_SEEKRESULT */ @@ -109303,7 +109971,7 @@ insert_end: ** invoke the callback function. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16333) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16420) } goto insert_cleanup insert_cleanup: @@ -109696,7 +110364,7 @@ func _sqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case int32(OE_Rollback): fallthrough case int32(OE_Fail): - zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12413, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12538, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) _sqlite3VdbeAddOp3(tls, v, int32(OP_HaltIfNull), libc.Int32FromInt32(SQLITE_CONSTRAINT)|libc.Int32FromInt32(5)<= 0 && !(int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile)))) == libc.Int32FromUint8('/'))) { @@ -111930,7 +112598,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp iFile-- } iFile++ - if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16382, int32(3)) == 0 { + if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16469, int32(3)) == 0 { iFile += int32(3) } iEntry = int32(8) @@ -111950,7 +112618,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp ; iFile++ } - libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16386, uint64(6)) + libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16473, uint64(6)) zEntry = zAltEntry xInit = _sqlite3OsDlSym(tls, pVfs, handle, zEntry) } @@ -111962,7 +112630,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v7 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16392, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16479, libc.VaList(bp+16, zEntry, zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -111977,7 +112645,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp return SQLITE_OK } if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16435, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16522, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3OsDlClose(tls, pVfs, handle) @@ -112008,7 +112676,7 @@ extension_not_found: *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v10 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16467, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16554, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -112017,7 +112685,7 @@ extension_not_found: /* Shared library endings to try if zFile cannot be loaded as written */ var _azEndings = [1]uintptr{ - 0: __ccgo_ts + 16347, + 0: __ccgo_ts + 16434, } func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) (r int32) { @@ -112250,7 +112918,7 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { rc = v2 } if v3 && v2 != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16504, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16591, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -112304,63 +112972,63 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { // ** result column is different from the name of the pragma // */ var _pragCName = [57]uintptr{ - 0: __ccgo_ts + 5513, - 1: __ccgo_ts + 16543, - 2: __ccgo_ts + 9090, - 3: __ccgo_ts + 16547, - 4: __ccgo_ts + 16552, - 5: __ccgo_ts + 16555, - 6: __ccgo_ts + 16565, - 7: __ccgo_ts + 16575, - 8: __ccgo_ts + 16581, - 9: __ccgo_ts + 16585, - 10: __ccgo_ts + 16590, - 11: __ccgo_ts + 16595, - 12: __ccgo_ts + 16603, - 13: __ccgo_ts + 16614, - 14: __ccgo_ts + 16617, - 15: __ccgo_ts + 16624, - 16: __ccgo_ts + 16585, - 17: __ccgo_ts + 16590, - 18: __ccgo_ts + 16631, - 19: __ccgo_ts + 16636, - 20: __ccgo_ts + 16639, - 21: __ccgo_ts + 16646, - 22: __ccgo_ts + 16581, - 23: __ccgo_ts + 16585, - 24: __ccgo_ts + 16652, - 25: __ccgo_ts + 16657, - 26: __ccgo_ts + 16662, - 27: __ccgo_ts + 16585, - 28: __ccgo_ts + 16666, - 29: __ccgo_ts + 16590, - 30: __ccgo_ts + 16674, - 31: __ccgo_ts + 16678, - 32: __ccgo_ts + 16683, - 33: __ccgo_ts + 11829, - 34: __ccgo_ts + 11825, - 35: __ccgo_ts + 16689, - 36: __ccgo_ts + 16694, - 37: __ccgo_ts + 16699, - 38: __ccgo_ts + 16543, - 39: __ccgo_ts + 16585, - 40: __ccgo_ts + 16704, - 41: __ccgo_ts + 16711, - 42: __ccgo_ts + 16718, - 43: __ccgo_ts + 9090, - 44: __ccgo_ts + 16726, - 45: __ccgo_ts + 5516, - 46: __ccgo_ts + 16732, - 47: __ccgo_ts + 16543, - 48: __ccgo_ts + 16585, - 49: __ccgo_ts + 16737, - 50: __ccgo_ts + 16742, - 51: __ccgo_ts + 15939, - 52: __ccgo_ts + 16747, - 53: __ccgo_ts + 16760, - 54: __ccgo_ts + 16769, - 55: __ccgo_ts + 16776, - 56: __ccgo_ts + 16787, + 0: __ccgo_ts + 5577, + 1: __ccgo_ts + 16630, + 2: __ccgo_ts + 9215, + 3: __ccgo_ts + 16634, + 4: __ccgo_ts + 16639, + 5: __ccgo_ts + 16642, + 6: __ccgo_ts + 16652, + 7: __ccgo_ts + 16662, + 8: __ccgo_ts + 16668, + 9: __ccgo_ts + 16672, + 10: __ccgo_ts + 16677, + 11: __ccgo_ts + 16682, + 12: __ccgo_ts + 16690, + 13: __ccgo_ts + 16701, + 14: __ccgo_ts + 16704, + 15: __ccgo_ts + 16711, + 16: __ccgo_ts + 16672, + 17: __ccgo_ts + 16677, + 18: __ccgo_ts + 16718, + 19: __ccgo_ts + 16723, + 20: __ccgo_ts + 16726, + 21: __ccgo_ts + 16733, + 22: __ccgo_ts + 16668, + 23: __ccgo_ts + 16672, + 24: __ccgo_ts + 16739, + 25: __ccgo_ts + 16744, + 26: __ccgo_ts + 16749, + 27: __ccgo_ts + 16672, + 28: __ccgo_ts + 16753, + 29: __ccgo_ts + 16677, + 30: __ccgo_ts + 16761, + 31: __ccgo_ts + 16765, + 32: __ccgo_ts + 16770, + 33: __ccgo_ts + 11954, + 34: __ccgo_ts + 11950, + 35: __ccgo_ts + 16776, + 36: __ccgo_ts + 16781, + 37: __ccgo_ts + 16786, + 38: __ccgo_ts + 16630, + 39: __ccgo_ts + 16672, + 40: __ccgo_ts + 16791, + 41: __ccgo_ts + 16798, + 42: __ccgo_ts + 16805, + 43: __ccgo_ts + 9215, + 44: __ccgo_ts + 16813, + 45: __ccgo_ts + 5580, + 46: __ccgo_ts + 16819, + 47: __ccgo_ts + 16630, + 48: __ccgo_ts + 16672, + 49: __ccgo_ts + 16824, + 50: __ccgo_ts + 16829, + 51: __ccgo_ts + 16018, + 52: __ccgo_ts + 16834, + 53: __ccgo_ts + 16847, + 54: __ccgo_ts + 16856, + 55: __ccgo_ts + 16863, + 56: __ccgo_ts + 16874, } // C documentation @@ -112379,191 +113047,191 @@ type PragmaName = TPragmaName var _aPragmaName = [66]TPragmaName{ 0: { - FzName: __ccgo_ts + 16795, + FzName: __ccgo_ts + 16882, FePragTyp: uint8(PragTyp_ANALYSIS_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 1: { - FzName: __ccgo_ts + 16810, + FzName: __ccgo_ts + 16897, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_APPLICATION_ID), }, 2: { - FzName: __ccgo_ts + 16825, + FzName: __ccgo_ts + 16912, FePragTyp: uint8(PragTyp_AUTO_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 3: { - FzName: __ccgo_ts + 16837, + FzName: __ccgo_ts + 16924, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_AutoIndex), }, 4: { - FzName: __ccgo_ts + 16853, + FzName: __ccgo_ts + 16940, FePragTyp: uint8(PragTyp_BUSY_TIMEOUT), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(56), FnPragCName: uint8(1), }, 5: { - FzName: __ccgo_ts + 16776, + FzName: __ccgo_ts + 16863, FePragTyp: uint8(PragTyp_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 6: { - FzName: __ccgo_ts + 16866, + FzName: __ccgo_ts + 16953, FePragTyp: uint8(PragTyp_CACHE_SPILL), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 7: { - FzName: __ccgo_ts + 16878, + FzName: __ccgo_ts + 16965, FePragTyp: uint8(PragTyp_CASE_SENSITIVE_LIKE), FmPragFlg: uint8(PragFlg_NoColumns), }, 8: { - FzName: __ccgo_ts + 16898, + FzName: __ccgo_ts + 16985, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CellSizeCk), }, 9: { - FzName: __ccgo_ts + 16914, + FzName: __ccgo_ts + 17001, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CkptFullFSync), }, 10: { - FzName: __ccgo_ts + 16935, + FzName: __ccgo_ts + 17022, FePragTyp: uint8(PragTyp_COLLATION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(38), FnPragCName: uint8(2), }, 11: { - FzName: __ccgo_ts + 16950, + FzName: __ccgo_ts + 17037, FePragTyp: uint8(PragTyp_COMPILE_OPTIONS), FmPragFlg: uint8(PragFlg_Result0), }, 12: { - FzName: __ccgo_ts + 16966, + FzName: __ccgo_ts + 17053, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00001)) << libc.Int32FromInt32(32), }, 13: { - FzName: __ccgo_ts + 16980, + FzName: __ccgo_ts + 17067, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_DATA_VERSION), }, 14: { - FzName: __ccgo_ts + 16993, + FzName: __ccgo_ts + 17080, FePragTyp: uint8(PragTyp_DATABASE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(47), FnPragCName: uint8(3), }, 15: { - FzName: __ccgo_ts + 17007, + FzName: __ccgo_ts + 17094, FePragTyp: uint8(PragTyp_DEFAULT_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiPragCName: uint8(55), FnPragCName: uint8(1), }, 16: { - FzName: __ccgo_ts + 17026, + FzName: __ccgo_ts + 17113, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_DeferFKs), }, 17: { - FzName: __ccgo_ts + 17045, + FzName: __ccgo_ts + 17132, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_NullCallback), }, 18: { - FzName: __ccgo_ts + 17068, + FzName: __ccgo_ts + 17155, FePragTyp: uint8(PragTyp_ENCODING), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 19: { - FzName: __ccgo_ts + 17077, + FzName: __ccgo_ts + 17164, FePragTyp: uint8(PragTyp_FOREIGN_KEY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(43), FnPragCName: uint8(4), }, 20: { - FzName: __ccgo_ts + 17095, + FzName: __ccgo_ts + 17182, FePragTyp: uint8(PragTyp_FOREIGN_KEY_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FnPragCName: uint8(8), }, 21: { - FzName: __ccgo_ts + 17112, + FzName: __ccgo_ts + 17199, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ForeignKeys), }, 22: { - FzName: __ccgo_ts + 17125, + FzName: __ccgo_ts + 17212, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), }, 23: { - FzName: __ccgo_ts + 17140, + FzName: __ccgo_ts + 17227, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullColNames), }, 24: { - FzName: __ccgo_ts + 17158, + FzName: __ccgo_ts + 17245, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullFSync), }, 25: { - FzName: __ccgo_ts + 17168, + FzName: __ccgo_ts + 17255, FePragTyp: uint8(PragTyp_FUNCTION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(27), FnPragCName: uint8(6), }, 26: { - FzName: __ccgo_ts + 17182, + FzName: __ccgo_ts + 17269, FePragTyp: uint8(PragTyp_HARD_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 27: { - FzName: __ccgo_ts + 17198, + FzName: __ccgo_ts + 17285, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_IgnoreChecks), }, 28: { - FzName: __ccgo_ts + 17223, + FzName: __ccgo_ts + 17310, FePragTyp: uint8(PragTyp_INCREMENTAL_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_NoColumns)), }, 29: { - FzName: __ccgo_ts + 17242, + FzName: __ccgo_ts + 17329, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), FnPragCName: uint8(3), }, 30: { - FzName: __ccgo_ts + 17253, + FzName: __ccgo_ts + 17340, FePragTyp: uint8(PragTyp_INDEX_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(38), FnPragCName: uint8(5), }, 31: { - FzName: __ccgo_ts + 17264, + FzName: __ccgo_ts + 17351, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), @@ -112571,146 +113239,146 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 32: { - FzName: __ccgo_ts + 17276, + FzName: __ccgo_ts + 17363, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 33: { - FzName: __ccgo_ts + 17292, + FzName: __ccgo_ts + 17379, FePragTyp: uint8(PragTyp_JOURNAL_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 34: { - FzName: __ccgo_ts + 17305, + FzName: __ccgo_ts + 17392, FePragTyp: uint8(PragTyp_JOURNAL_SIZE_LIMIT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 35: { - FzName: __ccgo_ts + 17324, + FzName: __ccgo_ts + 17411, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_LegacyAlter), }, 36: { - FzName: __ccgo_ts + 17343, + FzName: __ccgo_ts + 17430, FePragTyp: uint8(PragTyp_LOCKING_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 37: { - FzName: __ccgo_ts + 17356, + FzName: __ccgo_ts + 17443, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 38: { - FzName: __ccgo_ts + 17371, + FzName: __ccgo_ts + 17458, FePragTyp: uint8(PragTyp_MMAP_SIZE), }, 39: { - FzName: __ccgo_ts + 17381, + FzName: __ccgo_ts + 17468, FePragTyp: uint8(PragTyp_MODULE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 40: { - FzName: __ccgo_ts + 17393, + FzName: __ccgo_ts + 17480, FePragTyp: uint8(PragTyp_OPTIMIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_NeedSchema)), }, 41: { - FzName: __ccgo_ts + 17402, + FzName: __ccgo_ts + 17489, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 42: { - FzName: __ccgo_ts + 17413, + FzName: __ccgo_ts + 17500, FePragTyp: uint8(PragTyp_PAGE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 43: { - FzName: __ccgo_ts + 17423, + FzName: __ccgo_ts + 17510, FePragTyp: uint8(PragTyp_PRAGMA_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 44: { - FzName: __ccgo_ts + 17435, + FzName: __ccgo_ts + 17522, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_QueryOnly), }, 45: { - FzName: __ccgo_ts + 17446, + FzName: __ccgo_ts + 17533, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 46: { - FzName: __ccgo_ts + 17458, + FzName: __ccgo_ts + 17545, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00004)) << libc.Int32FromInt32(32), }, 47: { - FzName: __ccgo_ts + 17475, + FzName: __ccgo_ts + 17562, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_RecTriggers), }, 48: { - FzName: __ccgo_ts + 17494, + FzName: __ccgo_ts + 17581, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ReverseOrder), }, 49: { - FzName: __ccgo_ts + 17520, + FzName: __ccgo_ts + 17607, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_SCHEMA_VERSION), }, 50: { - FzName: __ccgo_ts + 17535, + FzName: __ccgo_ts + 17622, FePragTyp: uint8(PragTyp_SECURE_DELETE), FmPragFlg: uint8(PragFlg_Result0), }, 51: { - FzName: __ccgo_ts + 17549, + FzName: __ccgo_ts + 17636, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ShortColNames), }, 52: { - FzName: __ccgo_ts + 17568, + FzName: __ccgo_ts + 17655, FePragTyp: uint8(PragTyp_SHRINK_MEMORY), FmPragFlg: uint8(PragFlg_NoColumns), }, 53: { - FzName: __ccgo_ts + 17582, + FzName: __ccgo_ts + 17669, FePragTyp: uint8(PragTyp_SOFT_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 54: { - FzName: __ccgo_ts + 17598, + FzName: __ccgo_ts + 17685, FePragTyp: uint8(PragTyp_SYNCHRONOUS), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 55: { - FzName: __ccgo_ts + 17610, + FzName: __ccgo_ts + 17697, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), FnPragCName: uint8(6), }, 56: { - FzName: __ccgo_ts + 17621, + FzName: __ccgo_ts + 17708, FePragTyp: uint8(PragTyp_TABLE_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1)), FiPragCName: uint8(15), FnPragCName: uint8(6), }, 57: { - FzName: __ccgo_ts + 17632, + FzName: __ccgo_ts + 17719, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), @@ -112718,45 +113386,45 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 58: { - FzName: __ccgo_ts + 17644, + FzName: __ccgo_ts + 17731, FePragTyp: uint8(PragTyp_TEMP_STORE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 59: { - FzName: __ccgo_ts + 17655, + FzName: __ccgo_ts + 17742, FePragTyp: uint8(PragTyp_TEMP_STORE_DIRECTORY), FmPragFlg: uint8(PragFlg_NoColumns1), }, 60: { - FzName: __ccgo_ts + 17676, + FzName: __ccgo_ts + 17763, FePragTyp: uint8(PragTyp_THREADS), FmPragFlg: uint8(PragFlg_Result0), }, 61: { - FzName: __ccgo_ts + 17684, + FzName: __ccgo_ts + 17771, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_TrustedSchema), }, 62: { - FzName: __ccgo_ts + 17699, + FzName: __ccgo_ts + 17786, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_USER_VERSION), }, 63: { - FzName: __ccgo_ts + 17712, + FzName: __ccgo_ts + 17799, FePragTyp: uint8(PragTyp_WAL_AUTOCHECKPOINT), }, 64: { - FzName: __ccgo_ts + 17731, + FzName: __ccgo_ts + 17818, FePragTyp: uint8(PragTyp_WAL_CHECKPOINT), FmPragFlg: uint8(PragFlg_NeedSchema), FiPragCName: uint8(50), FnPragCName: uint8(3), }, 65: { - FzName: __ccgo_ts + 17746, + FzName: __ccgo_ts + 17833, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(SQLITE_WriteSchema) | libc.Int32FromInt32(SQLITE_NoSchemaError)), @@ -112768,6 +113436,31 @@ var _aPragmaName = [66]TPragmaName{ /************** End of pragma.h **********************************************/ /************** Continuing where we left off in pragma.c *********************/ +/* +** When the 0x10 bit of PRAGMA optimize is set, any ANALYZE commands +** will be run with an analysis_limit set to the lessor of the value of +** the following macro or to the actual analysis_limit if it is non-zero, +** in order to prevent PRAGMA optimize from running for too long. +** +** The value of 2000 is chosen emperically so that the worst-case run-time +** for PRAGMA optimize does not exceed 100 milliseconds against a variety +** of test databases on a RaspberryPI-4 compiled using -Os and without +** -DSQLITE_DEBUG. Of course, your mileage may vary. For the purpose of +** this paragraph, "worst-case" means that ANALYZE ends up being +** run on every table in the database. The worst case typically only +** happens if PRAGMA optimize is run on a database file for which ANALYZE +** has not been previously run and the 0x10000 flag is included so that +** all tables are analyzed. The usual case for PRAGMA optimize is that +** no ANALYZE commands will be run at all, or if any ANALYZE happens it +** will be against a single table, so that expected timing for PRAGMA +** optimize on a PI-4 is more like 1 millisecond or less with the 0x10000 +** flag or less than 100 microseconds without the 0x10000 flag. +** +** An analysis limit of 2000 is almost always sufficient for the query +** planner to fully characterize an index. The additional accuracy from +** a larger analysis is not usually helpful. + */ + // C documentation // // /* @@ -112857,10 +113550,10 @@ func _sqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt Tu8) (r Tu8) { // */ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { if z != 0 { - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17762) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17849) { return int32(PAGER_LOCKINGMODE_EXCLUSIVE) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17772) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17859) { return PAGER_LOCKINGMODE_NORMAL } } @@ -112878,13 +113571,13 @@ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { func _getAutoVacuum(tls *libc.TLS, z uintptr) (r int32) { var i, v1 int32 _, _ = i, v1 - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8250) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8375) { return BTREE_AUTOVACUUM_NONE } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17779) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17866) { return int32(BTREE_AUTOVACUUM_FULL) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17784) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17871) { return int32(BTREE_AUTOVACUUM_INCR) } i = _sqlite3Atoi(tls, z) @@ -112907,10 +113600,10 @@ func _getTempStore(tls *libc.TLS, z uintptr) (r int32) { if int32(*(*int8)(unsafe.Pointer(z))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(z))) <= int32('2') { return int32(*(*int8)(unsafe.Pointer(z))) - int32('0') } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+16737) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+16824) == 0 { return int32(1) } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+17796) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+17883) == 0 { return int32(2) } else { return 0 @@ -112932,7 +113625,7 @@ func _invalidateTempStorage(tls *libc.TLS, pParse uintptr) (r int32) { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt != uintptr(0) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || _sqlite3BtreeTxnState(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) != SQLITE_TXN_NONE { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17803, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17890, 0) return int32(SQLITE_ERROR) } _sqlite3BtreeClose(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) @@ -113062,15 +113755,15 @@ func _actionName(tls *libc.TLS, action Tu8) (r uintptr) { _ = zName switch int32(action) { case int32(OE_SetNull): - zName = __ccgo_ts + 17865 + zName = __ccgo_ts + 17952 case int32(OE_SetDflt): - zName = __ccgo_ts + 17874 + zName = __ccgo_ts + 17961 case int32(OE_Cascade): - zName = __ccgo_ts + 17886 + zName = __ccgo_ts + 17973 case int32(OE_Restrict): - zName = __ccgo_ts + 17894 + zName = __ccgo_ts + 17981 default: - zName = __ccgo_ts + 17903 + zName = __ccgo_ts + 17990 break } return zName @@ -113091,12 +113784,12 @@ func _sqlite3JournalModename(tls *libc.TLS, eMode int32) (r uintptr) { } var _azModeName = [6]uintptr{ - 0: __ccgo_ts + 17913, - 1: __ccgo_ts + 17920, - 2: __ccgo_ts + 17928, - 3: __ccgo_ts + 17932, - 4: __ccgo_ts + 17796, - 5: __ccgo_ts + 17941, + 0: __ccgo_ts + 18000, + 1: __ccgo_ts + 18007, + 2: __ccgo_ts + 18015, + 3: __ccgo_ts + 18019, + 4: __ccgo_ts + 17883, + 5: __ccgo_ts + 18028, } // C documentation @@ -113158,15 +113851,15 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s goto _1 } if (*TFuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = __ccgo_ts + 17966 + zType = __ccgo_ts + 18053 } else { if (*TFuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = __ccgo_ts + 17968 + zType = __ccgo_ts + 18055 } else { - zType = __ccgo_ts + 7649 + zType = __ccgo_ts + 7774 } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+17970, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18057, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) goto _1 _1: ; @@ -113175,9 +113868,9 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s } var _azEnc = [4]uintptr{ - 1: __ccgo_ts + 17945, - 2: __ccgo_ts + 17950, - 3: __ccgo_ts + 17958, + 1: __ccgo_ts + 18032, + 2: __ccgo_ts + 18037, + 3: __ccgo_ts + 18045, } // C documentation @@ -113218,15 +113911,15 @@ func _integrityCheckResultRow(tls *libc.TLS, v uintptr) (r int32) { func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { bp := tls.Alloc(240) defer tls.Free(240) - var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, mxIdx, n, nHidden, nIdx, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v60, v62, v63, v64, v65, v68 int32 - var aOp, aOp1, aOp2, aOp3, aOp4, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v61, v66, v8 uintptr + var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v48, v50, v64, v66, v67, v68, v69, v72, v75, v76 int32 + var aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v65, v70, v8 uintptr var azOrigin [3]uintptr var cnum Ti16 var enc Tu8 var iPrior Tsqlite3_int64 + var iRange, szThreshold TLogEst var mask Tu64 var opMask Tu32 - var szThreshold TLogEst var _ /* N at bp+136 */ Tsqlite3_int64 var _ /* N at bp+144 */ Tsqlite3_int64 var _ /* N at bp+152 */ Tsqlite3_int64 @@ -113247,7 +113940,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var _ /* size at bp+60 */ int32 var _ /* sz at bp+64 */ Tsqlite3_int64 var _ /* x at bp+40 */ Ti64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iPrior, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, mxIdx, n, nHidden, nIdx, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v5, v60, v61, v62, v63, v64, v65, v66, v68, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iPrior, iRange, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v48, v5, v50, v64, v65, v66, v67, v68, v69, v70, v72, v75, v76, v8 zLeft = uintptr(0) /* Nul-terminated UTF-8 string */ zRight = uintptr(0) /* Nul-terminated UTF-8 string , or NULL */ zDb = uintptr(0) /* return value form SQLITE_FCNTL_PRAGMA */ @@ -113276,7 +113969,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p return } if minusFlag != 0 { - zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+17977, libc.VaList(bp+176, pValue)) + zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+18064, libc.VaList(bp+176, pValue)) } else { zRight = _sqlite3NameFromToken(tls, db, pValue) } @@ -113319,7 +114012,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } if rc != int32(SQLITE_NOTFOUND) { if (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0] != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3827, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3891, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) Xsqlite3_free(tls, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0]) } (*TParse)(unsafe.Pointer(pParse)).FnErr++ @@ -113423,7 +114116,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pBt1 = (*TDb)(unsafe.Pointer(pDb)).FpBt b = -int32(1) if zRight != 0 { - if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+17981) == 0 { + if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18068) == 0 { b = int32(2) } else { b = int32(_sqlite3GetBoolean(tls, zRight, uint8(0))) @@ -113494,7 +114187,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p */ fallthrough case int32(PragTyp_LOCKING_MODE): - zRet = __ccgo_ts + 17772 + zRet = __ccgo_ts + 17859 eMode = _getLockingMode(tls, zRight) if (*TToken)(unsafe.Pointer(pId2)).Fn == uint32(0) && eMode == -int32(1) { /* Simple "PRAGMA locking_mode;" statement. This is a query for @@ -113522,7 +114215,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p eMode = _sqlite3PagerLockingMode(tls, pPager, eMode) } if eMode == int32(PAGER_LOCKINGMODE_EXCLUSIVE) { - zRet = __ccgo_ts + 17762 + zRet = __ccgo_ts + 17849 } _returnSingleText(tls, v, zRet) break @@ -113812,7 +114505,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if *(*int8)(unsafe.Pointer(zRight)) != 0 { rc = _sqlite3OsAccess(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, zRight, int32(SQLITE_ACCESS_READWRITE), bp+72) if rc != SQLITE_OK || *(*int32)(unsafe.Pointer(bp + 72)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17986, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18073, 0) Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) goto pragma_out } @@ -113822,7 +114515,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } Xsqlite3_free(tls, Xsqlite3_temp_directory) if *(*int8)(unsafe.Pointer(zRight)) != 0 { - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+176, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+176, zRight)) } else { Xsqlite3_temp_directory = uintptr(0) } @@ -113844,7 +114537,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _returnSingleInt(tls, v, int64(int32((*TDb)(unsafe.Pointer(pDb)).Fsafety_level)-int32(1))) } else { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18011, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18098, 0) } else { if iDb != int32(1) { iLevel = (int32(_getSafetyLevel(tls, zRight, 0, uint8(1))) + int32(1)) & int32(PAGER_SYNCHRONOUS_MASK) @@ -113877,7 +114570,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if mask == uint64(SQLITE_DeferFKs) { (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons = 0 } - if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18064) == 0 { + if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18151) == 0 { /* IMP: R-60817-01178 If the argument is "RESET" then schema ** writing is disabled (as with "PRAGMA writable_schema=OFF") and, ** in addition, the schema is reloaded. */ @@ -113957,9 +114650,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pColExpr = _sqlite3ColumnExpr(tls, pTab, pCol) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - v14 = __ccgo_ts + 18070 + v14 = __ccgo_ts + 18157 } else { - v14 = __ccgo_ts + 18078 + v14 = __ccgo_ts + 18165 } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 { v15 = int32(1) @@ -113971,7 +114664,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v16 = *(*uintptr)(unsafe.Pointer(pColExpr + 8)) } - _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1680), v15, v16, k, isHidden)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1694), v15, v16, k, isHidden)) goto _12 _12: ; @@ -114030,7 +114723,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pTab1 = (*THashElem)(unsafe.Pointer(k1)).Fdata if int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) == 0 { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18085, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18172, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 80)) = uintptr(0) Xsqlite3_prepare(tls, db, zSql, -int32(1), bp+80, uintptr(0)) @@ -114038,7 +114731,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3DbFree(tls, db, zSql) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1650, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1664, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) } pHash = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FpSchema + 8 @@ -114060,19 +114753,19 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _20 } if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10828 + zType = __ccgo_ts + 10953 } else { if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 13076 + zType = __ccgo_ts + 13201 } else { if (*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Shadow) != 0 { - zType = __ccgo_ts + 18101 + zType = __ccgo_ts + 18188 } else { - zType = __ccgo_ts + 9090 + zType = __ccgo_ts + 9215 } } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18108, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18195, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) goto _20 _20: ; @@ -114119,9 +114812,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v22 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab3)).FaCol + uintptr(cnum)*16))).FzCnName } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18115, libc.VaList(bp+176, i1, int32(cnum), v22)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18202, libc.VaList(bp+176, i1, int32(cnum), v22)) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18120, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) + _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18207, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) } _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), int32(1), (*TParse)(unsafe.Pointer(pParse)).FnMem) goto _21 @@ -114145,11 +114838,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } azOrigin = [3]uintptr{ - 0: __ccgo_ts + 18125, - 1: __ccgo_ts + 18127, - 2: __ccgo_ts + 16614, + 0: __ccgo_ts + 18212, + 1: __ccgo_ts + 18214, + 2: __ccgo_ts + 16701, } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18129, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18216, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) goto _23 _23: ; @@ -114168,7 +114861,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt == uintptr(0) { goto _24 } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18135, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18222, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) goto _24 _24: ; @@ -114185,7 +114878,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pColl = (*THashElem)(unsafe.Pointer(p)).Fdata v26 = i4 i4++ - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18139, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18226, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) goto _25 _25: ; @@ -114235,7 +114928,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } pMod = (*THashElem)(unsafe.Pointer(j1)).Fdata - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7649, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7774, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) goto _30 _30: ; @@ -114247,7 +114940,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i6 < int32(libc.Uint64FromInt64(1584)/libc.Uint64FromInt64(24))) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7649, libc.VaList(bp+176, _aPragmaName[i6].FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7774, libc.VaList(bp+176, _aPragmaName[i6].FzName)) goto _31 _31: ; @@ -114273,7 +114966,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(j2 < (*TFKey)(unsafe.Pointer(pFK)).FnCol) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18142, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18151)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18229, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18238)) goto _32 _32: ; @@ -114414,7 +115107,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regResult+int32(1)) } - _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18156, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) + _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18243, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), regResult, int32(4)) _sqlite3VdbeResolveLabel(tls, v, addrOk) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 96))) @@ -114482,7 +115175,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p /* Set the maximum error count */ *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) if zRight != 0 { - if _sqlite3GetInt32(tls, zRight, bp+104) != 0 { + if _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pValue)).Fz, bp+104) != 0 { if *(*int32)(unsafe.Pointer(bp + 104)) <= 0 { *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) } @@ -114502,8 +115195,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i9 < (*Tsqlite3)(unsafe.Pointer(db)).FnDb) { break } /* Array of root page numbers of all btrees */ - cnt = 0 /* Number of entries in aRoot[] */ - mxIdx = 0 /* Maximum number of indexes for any table */ + cnt = 0 /* Number of entries in aRoot[] */ if libc.Bool(OMIT_TEMPDB != 0) && i9 == int32(1) { goto _40 } @@ -114544,9 +115236,6 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pIdx3 = (*TIndex)(unsafe.Pointer(pIdx3)).FpNext nIdx++ } - if nIdx > mxIdx { - mxIdx = nIdx - } goto _41 _41: ; @@ -114602,16 +115291,78 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } *(*int32)(unsafe.Pointer(aRoot)) = cnt /* Make sure sufficient number of registers have been allocated */ - _sqlite3TouchRegister(tls, pParse, int32(8)+mxIdx) + _sqlite3TouchRegister(tls, pParse, int32(8)+cnt) _sqlite3ClearTempRegCache(tls, pParse) /* Do the b-tree integrity checks */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(2), cnt, int32(1), aRoot, -int32(14)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(1), cnt, int32(8), aRoot, -int32(14)) _sqlite3VdbeChangeP5(tls, v, uint16(uint8(i9))) addr1 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(2)) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18160, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18247, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(2), int32(3), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, addr1) + /* Check that the indexes all have the right number of rows */ + if pObjTab != 0 { + v48 = int32(1) + } else { + v48 = 0 + } + cnt = v48 + _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18271) + x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst + for { + if !(x2 != 0) { + break + } + iTab = 0 + pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab9 { + goto _49 + } + if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + v50 = cnt + cnt++ + iTab = v50 + } else { + iTab = cnt + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx5 + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { + break + } + iTab++ + goto _51 + _51: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + } + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if (*TIndex)(unsafe.Pointer(pIdx5)).FpPartIdxWhere == uintptr(0) { + addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+cnt, 0, int32(8)+iTab) + _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) + _integrityCheckResultRow(tls, v) + _sqlite3VdbeJumpHere(tls, v, addr1) + } + cnt++ + goto _52 + _52: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + goto _49 + _49: + ; + x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext + } /* Make sure all the indices are constructed correctly. */ x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst @@ -114619,39 +115370,39 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata pPrior = uintptr(0) r1 = -int32(1) /* Maximum non-virtual column number */ - if pObjTab != 0 && pObjTab != pTab9 { - goto _48 + if pObjTab != 0 && pObjTab != pTab10 { + goto _53 } - if !(int32((*TTable)(unsafe.Pointer(pTab9)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { - goto _48 + if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _53 } - if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { pPk1 = uintptr(0) r2 = 0 } else { - pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab9) + pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab10) r2 = _sqlite3GetTempRange(tls, pParse, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), int32(1), r2, r2+int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)-int32(1)) } - _sqlite3OpenTableAndIndices(tls, pParse, pTab9, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) + _sqlite3OpenTableAndIndices(tls, pParse, pTab10, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) /* reg[7] counts the number of entries in the table. ** reg[8+i] counts the number of entries in the i-th index */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(7)) j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(8)+j4) /* index entries counter */ - goto _49 - _49: + goto _54 + _54: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), *(*int32)(unsafe.Pointer(bp + 108)), 0) @@ -114661,29 +115412,29 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** will also prepopulate the cursor column cache that is used ** by the OP_IsType code, so it is a required step. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { mxCol = -int32(1) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { + if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { mxCol++ } - goto _50 - _50: + goto _55 + _55: ; j4++ } - if mxCol == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { + if mxCol == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { mxCol-- } } else { /* COLFLAG_VIRTUAL columns are not included in the WITHOUT ROWID ** PK index column-count, so there is no need to account for them ** in this case. */ - mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab9))).FnColumn) - int32(1) + mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab10))).FnColumn) - int32(1) } if mxCol >= 0 { _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 108)), mxCol, int32(3)) @@ -114693,7 +115444,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if pPk1 != 0 { a1 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 108)), 0, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), r2) - zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18184, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18300, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a1) @@ -114704,8 +115455,8 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprCodeLoadIndexColumn(tls, pParse, pPk1, *(*int32)(unsafe.Pointer(bp + 108)), j4, r2+j4) - goto _51 - _51: + goto _56 + _56: ; j4++ } @@ -114720,15 +115471,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** (4) Datatype for numeric columns in non-STRICT tables must not ** be a TEXT value that can be losslessly converted to numeric. */ - bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_Strict) != uint32(0)) + bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_Strict) != uint32(0)) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - pCol1 = (*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ - if j4 == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { - goto _52 + pCol1 = (*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ + if j4 == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { + goto _57 } if bStrict != 0 { doTypeCheck = libc.BoolInt32(int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4)) > int32(COLTYPE_ANY)) @@ -114736,28 +115487,28 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p doTypeCheck = libc.BoolInt32(int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) > int32(SQLITE_AFF_BLOB)) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf>>0)) == 0 && !(doTypeCheck != 0) { - goto _52 + goto _57 } /* Compute the operands that will be needed for OP_IsType */ p4 = int32(SQLITE_NULL) if int32((*TColumn)(unsafe.Pointer(pCol1)).FcolFlags)&int32(COLFLAG_VIRTUAL) != 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) p11 = -int32(1) p3 = int32(3) } else { if (*TColumn)(unsafe.Pointer(pCol1)).FiDflt != 0 { *(*uintptr)(unsafe.Pointer(bp + 120)) = uintptr(0) - _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab9, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8((*TColumn)(unsafe.Pointer(pCol1)).Faffinity), bp+120) + _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab10, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8((*TColumn)(unsafe.Pointer(pCol1)).Faffinity), bp+120) if *(*uintptr)(unsafe.Pointer(bp + 120)) != 0 { p4 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) } } p11 = *(*int32)(unsafe.Pointer(bp + 108)) - if !((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { - p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab9), int16(j4))) + if !((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { + p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab10), int16(j4))) } else { - p3 = int32(_sqlite3TableColumnToStorage(tls, pTab9, int16(j4))) + p3 = int32(_sqlite3TableColumnToStorage(tls, pTab10, int16(j4))) } } labelError = _sqlite3VdbeMakeLabel(tls, pParse) @@ -114774,10 +115525,10 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** is REAL, we have to load the actual data using OP_Column ** to reliably determine if the value is a NULL. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), p11, p3, int32(3)) - _sqlite3ColumnDefault(tls, v, pTab9, j4, int32(3)) + _sqlite3ColumnDefault(tls, v, pTab10, j4, int32(3)) jmp3 = _sqlite3VdbeAddOp2(tls, v, int32(OP_NotNull), int32(3), labelOk) } - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18220, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18336, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) if doTypeCheck != 0 { _sqlite3VdbeGoto(tls, v, labelError) @@ -114790,7 +115541,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if bStrict != 0 && doTypeCheck != 0 { _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(_aStdTypeMask[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)])) - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18240, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18356, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) == int32(SQLITE_AFF_TEXT) { @@ -114798,7 +115549,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** NULL, TEXT, or BLOB. */ _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18262, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18378, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) >= int32(SQLITE_AFF_NUMERIC) { @@ -114807,12 +115558,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1b)) /* NULL, INT, FLOAT, or BLOB */ if p11 >= 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18285, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18401, -int32(1)) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), -int32(1), labelOk, int32(3), p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18287, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18403, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } } @@ -114820,14 +115571,14 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeResolveLabel(tls, v, labelError) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, labelOk) - goto _52 - _52: + goto _57 + _57: ; j4++ } /* Verify CHECK constraints */ - if (*TTable)(unsafe.Pointer(pTab9)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { - pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab9)).FpCheck, 0) + if (*TTable)(unsafe.Pointer(pTab10)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { + pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab10)).FpCheck, 0) if int32((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { addrCkFault = _sqlite3VdbeMakeLabel(tls, pParse) addrCkOk = _sqlite3VdbeMakeLabel(tls, pParse) @@ -114838,15 +115589,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprIfFalse(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8 + uintptr(k3)*32))).FpExpr, addrCkFault, 0) - goto _53 - _53: + goto _58 + _58: ; k3-- } _sqlite3ExprIfTrue(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8))).FpExpr, addrCkOk, int32(SQLITE_JUMPIFNULL)) _sqlite3VdbeResolveLabel(tls, v, addrCkFault) (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18307, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18423, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr2, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -114856,25 +115607,25 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(isQuick != 0) { /* Omit the remaining tests for quick_check */ /* Validate index entries for the current row */ j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } ckUniq = _sqlite3VdbeMakeLabel(tls, pParse) - if pPk1 == pIdx5 { - goto _54 + if pPk1 == pIdx6 { + goto _59 } - r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) - pPrior = pIdx5 + r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx6, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) + pPrior = pIdx6 _sqlite3VdbeAddOp2(tls, v, int32(OP_AddImm), int32(8)+j4, int32(1)) /* increment entry count */ /* Verify that an index entry exists for the current table row */ - jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18337) + jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18453) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18342) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18458) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) - jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx6)).FzName) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) jmp4 = _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, jmp21) @@ -114882,12 +115633,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** that extracts the rowid off the end of the index record. ** But it only works correctly if index record does not have ** any extra bytes at the end. Verify that this is the case. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { _sqlite3VdbeAddOp2(tls, v, int32(OP_IdxRowid), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)-int32(1)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18363) + jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)-int32(1)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18479) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18399) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18515) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp7) } @@ -114896,100 +115647,75 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p label6 = 0 kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { - goto _55 + if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { + goto _60 } if label6 == 0 { label6 = _sqlite3VdbeMakeLabel(tls, pParse) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 112))+j4, kk, int32(3)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ne), int32(3), label6, r1+kk) - goto _55 - _55: + goto _60 + _60: ; kk++ } if label6 != 0 { jmp6 = _sqlite3VdbeAddOp0(tls, v, int32(OP_Goto)) _sqlite3VdbeResolveLabel(tls, v, label6) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18337) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18453) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18410) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18526) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp6) } /* For UNIQUE indexes, verify that only one entry exists with the ** current key. The entry is unique if (1) any column is NULL ** or (2) the next entry has a different key */ - if int32((*TIndex)(unsafe.Pointer(pIdx5)).FonError) != OE_None { + if int32((*TIndex)(unsafe.Pointer(pIdx6)).FonError) != OE_None { uniqOk = _sqlite3VdbeMakeLabel(tls, pParse) kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2))) - if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { - goto _56 + iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FaiColumn + uintptr(kk)*2))) + if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { + goto _61 } _sqlite3VdbeAddOp2(tls, v, int32(OP_IsNull), r1+kk, uniqOk) - goto _56 - _56: + goto _61 + _61: ; kk++ } jmp61 = _sqlite3VdbeAddOp1(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 112))+j4) _sqlite3VdbeGoto(tls, v, uniqOk) _sqlite3VdbeJumpHere(tls, v, jmp61) - _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18437) + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18553) _sqlite3VdbeGoto(tls, v, jmp5) _sqlite3VdbeResolveLabel(tls, v, uniqOk) } _sqlite3VdbeJumpHere(tls, v, jmp4) _sqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 128))) - goto _54 - _54: + goto _59 + _59: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } } _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 108)), loopTop) _sqlite3VdbeJumpHere(tls, v, loopTop-int32(1)) - if !(isQuick != 0) { - _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18464) - j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex - for { - if !(pIdx5 != 0) { - break - } - if pPk1 == pIdx5 { - goto _57 - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+j4, 0, int32(3)) - _sqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) - _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) - _integrityCheckResultRow(tls, v) - _sqlite3VdbeJumpHere(tls, v, addr1) - goto _57 - _57: - ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext - j4++ - } - if pPk1 != 0 { - _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) - } + if pPk1 != 0 { + _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) } - goto _48 - _48: + goto _53 + _53: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -115001,60 +115727,60 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata - if pObjTab != 0 && pObjTab != pTab10 { - goto _58 + pTab11 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab11 { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == TABTYP_NORM { - goto _58 + if int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == TABTYP_NORM { + goto _62 } - if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { - goto _58 + if !(int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FnCol) <= 0 { + if int32((*TTable)(unsafe.Pointer(pTab11)).FnCol) <= 0 { zMod = *(*uintptr)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).FazArg)) + })(unsafe.Pointer(pTab11 + 64))).FazArg)) if _sqlite3HashFind(tls, db+576, zMod) == uintptr(0) { - goto _58 + goto _62 } } - _sqlite3ViewGetColumnNames(tls, pParse, pTab10) + _sqlite3ViewGetColumnNames(tls, pParse, pTab11) if (*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp == uintptr(0) { - goto _58 + })(unsafe.Pointer(pTab11 + 64))).Fp == uintptr(0) { + goto _62 } pVTab = (*TVTable)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp)).FpVtab + })(unsafe.Pointer(pTab11 + 64))).Fp)).FpVtab if pVTab == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FiVersion < int32(4) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FxIntegrity == uintptr(0) { - goto _58 + goto _62 } _sqlite3VdbeAddOp3(tls, v, int32(OP_VCheck), i9, int32(3), isQuick) - (*TTable)(unsafe.Pointer(pTab10)).FnTabRef++ - _sqlite3VdbeAppendP4(tls, v, pTab10, -int32(16)) + (*TTable)(unsafe.Pointer(pTab11)).FnTabRef++ + _sqlite3VdbeAppendP4(tls, v, pTab11, -int32(16)) a11 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a11) - goto _58 - goto _58 - _58: + goto _62 + goto _62 + _62: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -115067,7 +115793,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if aOp2 != 0 { (*(*TVdbeOp)(unsafe.Pointer(aOp2))).Fp2 = int32(1) - *(*int32)(unsafe.Pointer(bp + 104)) (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 2*24))).Fp4type = int8(-libc.Int32FromInt32(1)) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18493 + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18580 (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 5*24))).Fp4type = int8(-libc.Int32FromInt32(1)) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = _sqlite3ErrStr(tls, int32(SQLITE_CORRUPT)) } @@ -115125,20 +115851,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc != 0 { - v60 = int32((*struct { + v64 = int32((*struct { FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc) } else { - v60 = int32(SQLITE_UTF16LE) + v64 = int32(SQLITE_UTF16LE) } - enc = uint8(v60) + enc = uint8(v64) (*TSchema)(unsafe.Pointer((*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema)).Fenc = enc _sqlite3SetTextEncoding(tls, db, enc) break } - goto _59 - _59: + goto _63 + _63: ; pEnc += 16 } @@ -115146,7 +115872,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).FzName != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18554, libc.VaList(bp+176, zRight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18641, libc.VaList(bp+176, zRight)) } } } @@ -115224,11 +115950,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p i10 = 0 (*TParse)(unsafe.Pointer(pParse)).FnMem = int32(1) for { - v62 = i10 + v66 = i10 i10++ - v61 = Xsqlite3_compileoption_get(tls, v62) - zOpt = v61 - if !(v61 != uintptr(0)) { + v65 = Xsqlite3_compileoption_get(tls, v66) + zOpt = v65 + if !(v65 != uintptr(0)) { break } _sqlite3VdbeLoadString(tls, v, int32(1), zOpt) @@ -115244,20 +115970,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p fallthrough case int32(PragTyp_WAL_CHECKPOINT): if (*TToken)(unsafe.Pointer(pId2)).Fz != 0 { - v63 = iDb + v67 = iDb } else { - v63 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) + v67 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) } - iBt = v63 + iBt = v67 eMode2 = SQLITE_CHECKPOINT_PASSIVE if zRight != 0 { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17779) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17866) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_FULL) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18579) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18666) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_RESTART) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17932) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18019) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_TRUNCATE) } } @@ -115281,11 +116007,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p Xsqlite3_wal_autocheckpoint(tls, db, _sqlite3Atoi(tls, zRight)) } if (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback == __ccgo_fp(_sqlite3WalDefaultHook) { - v64 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) + v68 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) } else { - v64 = 0 + v68 = 0 } - _returnSingleInt(tls, v, int64(v64)) + _returnSingleInt(tls, v, int64(v68)) break /* ** PRAGMA shrink_memory @@ -115313,47 +116039,68 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** ** The optional argument is a bitmask of optimizations to perform: ** - ** 0x0001 Debugging mode. Do not actually perform any optimizations - ** but instead return one line of text for each optimization - ** that would have been done. Off by default. + ** 0x00001 Debugging mode. Do not actually perform any optimizations + ** but instead return one line of text for each optimization + ** that would have been done. Off by default. ** - ** 0x0002 Run ANALYZE on tables that might benefit. On by default. - ** See below for additional information. + ** 0x00002 Run ANALYZE on tables that might benefit. On by default. + ** See below for additional information. ** - ** 0x0004 (Not yet implemented) Record usage and performance - ** information from the current session in the - ** database file so that it will be available to "optimize" - ** pragmas run by future database connections. + ** 0x00010 Run all ANALYZE operations using an analysis_limit that + ** is the lessor of the current analysis_limit and the + ** SQLITE_DEFAULT_OPTIMIZE_LIMIT compile-time option. + ** The default value of SQLITE_DEFAULT_OPTIMIZE_LIMIT is + ** currently (2024-02-19) set to 2000, which is such that + ** the worst case run-time for PRAGMA optimize on a 100MB + ** database will usually be less than 100 milliseconds on + ** a RaspberryPI-4 class machine. On by default. ** - ** 0x0008 (Not yet implemented) Create indexes that might have - ** been helpful to recent queries + ** 0x10000 Look at tables to see if they need to be reanalyzed + ** due to growth or shrinkage even if they have not been + ** queried during the current connection. Off by default. ** - ** The default MASK is and always shall be 0xfffe. 0xfffe means perform all - ** of the optimizations listed above except Debug Mode, including new - ** optimizations that have not yet been invented. If new optimizations are - ** ever added that should be off by default, those off-by-default - ** optimizations will have bitmasks of 0x10000 or larger. + ** The default MASK is and always shall be 0x0fffe. In the current + ** implementation, the default mask only covers the 0x00002 optimization, + ** though additional optimizations that are covered by 0x0fffe might be + ** added in the future. Optimizations that are off by default and must + ** be explicitly requested have masks of 0x10000 or greater. ** ** DETERMINATION OF WHEN TO RUN ANALYZE ** ** In the current implementation, a table is analyzed if only if all of ** the following are true: ** - ** (1) MASK bit 0x02 is set. + ** (1) MASK bit 0x00002 is set. ** - ** (2) The query planner used sqlite_stat1-style statistics for one or - ** more indexes of the table at some point during the lifetime of - ** the current connection. + ** (2) The table is an ordinary table, not a virtual table or view. ** - ** (3) One or more indexes of the table are currently unanalyzed OR - ** the number of rows in the table has increased by 25 times or more - ** since the last time ANALYZE was run. + ** (3) The table name does not begin with "sqlite_". + ** + ** (4) One or more of the following is true: + ** (4a) The 0x10000 MASK bit is set. + ** (4b) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. + ** (4c) The query planner used sqlite_stat1-style statistics for one + ** or more indexes of the table at some point during the lifetime + ** of the current connection. + ** + ** (5) One or more of the following is true: + ** (5a) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. (Same as 4a) + ** (5b) The number of rows in the table has increased or decreased by + ** 10-fold. In other words, the current size of the table is + ** 10 times larger than the size in sqlite_stat1 or else the + ** current size is less than 1/10th the size in sqlite_stat1. ** ** The rules for when tables are analyzed are likely to change in - ** future releases. + ** future releases. Future versions of SQLite might accept a string + ** literal argument to this pragma that contains a mnemonic description + ** of the options rather than a bitmap. */ fallthrough - case int32(PragTyp_OPTIMIZE): /* Mask of operations to perform */ + case int32(PragTyp_OPTIMIZE): /* Analysis limit to use */ + nCheck = 0 /* Number of tables to be optimized */ + nBtree = 0 /* Number of indexes on the current table */ if zRight != 0 { opMask = uint32(_sqlite3Atoi(tls, zRight)) if opMask&uint32(0x02) == uint32(0) { @@ -115362,22 +116109,31 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { opMask = uint32(0xfffe) } - v66 = pParse + 52 - v65 = *(*int32)(unsafe.Pointer(v66)) - *(*int32)(unsafe.Pointer(v66))++ - iTabCur = v65 + if opMask&uint32(0x10) == uint32(0) { + nLimit = 0 + } else { + if (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit > 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit < int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) { + nLimit = 0 + } else { + nLimit = int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) + } + } + v70 = pParse + 52 + v69 = *(*int32)(unsafe.Pointer(v70)) + *(*int32)(unsafe.Pointer(v70))++ + iTabCur = v69 if zDb != 0 { - v68 = iDb + v72 = iDb } else { - v68 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) + v72 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) } - iDbLast = v68 + iDbLast = v72 for { if !(iDb <= iDbLast) { break } if iDb == int32(1) { - goto _67 + goto _71 } _sqlite3CodeVerifySchema(tls, pParse, iDb) pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema @@ -115386,52 +116142,122 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(k4 != 0) { break } - pTab11 = (*THashElem)(unsafe.Pointer(k4)).Fdata - /* If table pTab has not been used in a way that would benefit from - ** having analysis statistics during the current session, then skip it. - ** This also has the effect of skipping virtual tables and views */ - if (*TTable)(unsafe.Pointer(pTab11)).FtabFlags&uint32(TF_StatsUsed) == uint32(0) { - goto _69 - } - /* Reanalyze if the table is 25 times larger than the last analysis */ - szThreshold = int16(int32((*TTable)(unsafe.Pointer(pTab11)).FnRowLogEst) + int32(46)) - pIdx6 = (*TTable)(unsafe.Pointer(pTab11)).FpIndex + pTab12 = (*THashElem)(unsafe.Pointer(k4)).Fdata + /* This only works for ordinary tables */ + if !(int32((*TTable)(unsafe.Pointer(pTab12)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _73 + } + /* Do not scan system tables */ + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab12)).FzName, __ccgo_ts+6621, int32(7)) { + goto _73 + } + /* Find the size of the table as last recorded in sqlite_stat1. + ** If any index is unanalyzed, then the threshold is -1 to + ** indicate a new, unanalyzed index + */ + szThreshold = (*TTable)(unsafe.Pointer(pTab12)).FnRowLogEst + nIndex = 0 + pIdx7 = (*TTable)(unsafe.Pointer(pTab12)).FpIndex for { - if !(pIdx6 != 0) { + if !(pIdx7 != 0) { break } - if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7)) != 0) { - szThreshold = 0 /* Always analyze if any index lacks statistics */ - break + nIndex++ + if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx7 + 100))&0x80>>7)) != 0) { + szThreshold = int16(-int32(1)) /* Always analyze if any index lacks statistics */ } - goto _70 - _70: + goto _74 + _74: ; - pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext + pIdx7 = (*TIndex)(unsafe.Pointer(pIdx7)).FpNext } - if szThreshold != 0 { - _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab11, int32(OP_OpenRead)) - _sqlite3VdbeAddOp3(tls, v, int32(OP_IfSmaller), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), int32(szThreshold)) + /* If table pTab has not been used in a way that would benefit from + ** having analysis statistics during the current session, then skip it, + ** unless the 0x10000 MASK bit is set. */ + if (*TTable)(unsafe.Pointer(pTab12)).FtabFlags&uint32(TF_MaybeReanalyze) != uint32(0) { + /* Check for size change if stat1 has been used for a query */ + } else { + if opMask&uint32(0x10000) != 0 { + /* Check for size change if 0x10000 is set */ + } else { + if (*TTable)(unsafe.Pointer(pTab12)).FpIndex != uintptr(0) && int32(szThreshold) < 0 { + /* Do analysis if unanalyzed indexes exists */ + } else { + /* Otherwise, we can skip this table */ + goto _73 + } + } + } + nCheck++ + if nCheck == int32(2) { + /* If ANALYZE might be invoked two or more times, hold a write + ** transaction for efficiency */ + _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) + } + nBtree += nIndex + int32(1) + /* Reanalyze if the table is 10 times larger or smaller than + ** the last analysis. Unconditional reanalysis if there are + ** unanalyzed indexes. */ + _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab12, int32(OP_OpenRead)) + if int32(szThreshold) >= 0 { + iRange = int16(33) /* 10x size change */ + if int32(szThreshold) >= int32(iRange) { + v75 = int32(szThreshold) - int32(iRange) + } else { + v75 = -int32(1) + } + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IfSizeBetween), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), v75, int32(szThreshold)+int32(iRange)) + } else { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1))) } - zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18587, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab11)).FzName)) + zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18674, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab12)).FzName)) if opMask&uint32(0x01) != 0 { r11 = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, r11, 0, zSubSql, -int32(6)) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), r11, int32(1)) } else { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), 0, 0, 0, zSubSql, -int32(6)) + if nLimit != 0 { + v76 = int32(0x02) + } else { + v76 = 00 + } + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), v76, nLimit, 0, zSubSql, -int32(6)) } - goto _69 - _69: + goto _73 + _73: ; k4 = (*THashElem)(unsafe.Pointer(k4)).Fnext } - goto _67 - _67: + goto _71 + _71: ; iDb++ } _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) + /* In a schema with a large number of tables and indexes, scale back + ** the analysis_limit to avoid excess run-time in the worst case. + */ + if !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && nLimit > 0 && nBtree > int32(100) { + nLimit = int32(100) * nLimit / nBtree + if nLimit < int32(100) { + nLimit = int32(100) + } + aOp5 = _sqlite3VdbeGetOp(tls, v, 0) + iEnd = _sqlite3VdbeCurrentAddr(tls, v) + iAddr1 = 0 + for { + if !(iAddr1 < iEnd) { + break + } + if int32((*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fopcode) == int32(OP_SqlExec) { + (*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fp2 = nLimit + } + goto _77 + _77: + ; + iAddr1++ + } + } break /* ** PRAGMA busy_timeout @@ -115657,34 +116483,34 @@ var _encnames1 = [9]struct { Fenc Tu8 }{ 0: { - FzName: __ccgo_ts + 18496, + FzName: __ccgo_ts + 18583, Fenc: uint8(SQLITE_UTF8), }, 1: { - FzName: __ccgo_ts + 18501, + FzName: __ccgo_ts + 18588, Fenc: uint8(SQLITE_UTF8), }, 2: { - FzName: __ccgo_ts + 18507, + FzName: __ccgo_ts + 18594, Fenc: uint8(SQLITE_UTF16LE), }, 3: { - FzName: __ccgo_ts + 18516, + FzName: __ccgo_ts + 18603, Fenc: uint8(SQLITE_UTF16BE), }, 4: { - FzName: __ccgo_ts + 18525, + FzName: __ccgo_ts + 18612, Fenc: uint8(SQLITE_UTF16LE), }, 5: { - FzName: __ccgo_ts + 18533, + FzName: __ccgo_ts + 18620, Fenc: uint8(SQLITE_UTF16BE), }, 6: { - FzName: __ccgo_ts + 18541, + FzName: __ccgo_ts + 18628, }, 7: { - FzName: __ccgo_ts + 18548, + FzName: __ccgo_ts + 18635, }, 8: {}, } @@ -115780,14 +116606,14 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg _ = argc _ = argv _sqlite3StrAccumInit(tls, bp, uintptr(0), bp+32, int32(200), 0) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18605) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18692) i = 0 j = int32((*TPragmaName)(unsafe.Pointer(pPragma)).FiPragCName) for { if !(i < int32((*TPragmaName)(unsafe.Pointer(pPragma)).FnPragCName)) { break } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18620, libc.VaList(bp+240, int32(cSep), _pragCName[j])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18707, libc.VaList(bp+240, int32(cSep), _pragCName[j])) cSep = int8(',') goto _1 _1: @@ -115796,19 +116622,19 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg j++ } if i == 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18627, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18714, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&int32(PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18633) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18720) j++ } if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(libc.Int32FromInt32(PragFlg_SchemaOpt)|libc.Int32FromInt32(PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18645) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18732) j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5138, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5202, int32(1)) _sqlite3StrAccumFinish(tls, bp) rc = Xsqlite3_declare_vtab(tls, db, bp+32) if rc == SQLITE_OK { @@ -115823,7 +116649,7 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg (*TPragmaVtab)(unsafe.Pointer(pTab)).FnHidden = uint8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab return rc @@ -115869,14 +116695,14 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 if !(i < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { break } - if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { goto _1 } if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != int32(SQLITE_INDEX_CONSTRAINT_EQ) { goto _1 } - if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { - goto _1 + if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + return int32(SQLITE_CONSTRAINT) } j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn - int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) seen[j] = i + int32(1) @@ -115894,16 +116720,13 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 j = seen[0] - int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) - if seen[int32(1)] == 0 { - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(1000) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000) - return SQLITE_OK - } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(20) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(20) - j = seen[int32(1)] - int32(1) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + if seen[int32(1)] != 0 { + j = seen[int32(1)] - int32(1) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + } return SQLITE_OK } @@ -115931,6 +116754,7 @@ func _pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { _ = i Xsqlite3_finalize(tls, (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) + (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(16)/libc.Uint64FromInt64(8))) { @@ -116006,7 +116830,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr } zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+40, zText)) + *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+40, zText)) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -116018,13 +116842,13 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr j++ } _sqlite3StrAccumInit(tls, bp, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4))) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18660) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18747) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18668, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18755, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) } Xsqlite3_str_appendall(tls, bp, (*TPragmaName)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18672, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18759, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) } zSql = _sqlite3StrAccumFinish(tls, bp) if zSql == uintptr(0) { @@ -116033,7 +116857,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr rc = Xsqlite3_prepare_v2(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), pCsr+8, uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return _pragmaVtabNext(tls, pVtabCursor) @@ -116159,24 +116983,24 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) /* A error message has already been generated. Do not overwrite it */ } else { if (*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(libc.Int32FromInt32(INITFLAG_AlterMask)) != 0 { - *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18706, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) + *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18793, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) (*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR) } else { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140891)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141840)) } else { if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - v1 = __ccgo_ts + 5140 + v1 = __ccgo_ts + 5204 } zObj = v1 - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18734, libc.VaList(bp+8, zObj)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18821, libc.VaList(bp+8, zObj)) if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 { - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18765, libc.VaList(bp+8, z, zExtra)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18852, libc.VaList(bp+8, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140898)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141847)) } } } @@ -116184,9 +117008,9 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } var _azAlterType = [3]uintptr{ - 0: __ccgo_ts + 18676, - 1: __ccgo_ts + 18683, - 2: __ccgo_ts + 18695, + 0: __ccgo_ts + 18763, + 1: __ccgo_ts + 18770, + 2: __ccgo_ts + 18782, } // C documentation @@ -116262,7 +117086,7 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(iDb) if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), db+192) == 0 || (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage && (*TInitData)(unsafe.Pointer(pData)).FmxPage > uint32(0) { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14548) + _corruptSchema(tls, pData, argv, __ccgo_ts+14641) } } libc.SetBitFieldPtr8Uint32(db+192+8, libc.Uint32FromInt32(0), 0, 0x1) @@ -116295,11 +117119,11 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr } else { pIndex = _sqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName) if pIndex == uintptr(0) { - _corruptSchema(tls, pData, argv, __ccgo_ts+18773) + _corruptSchema(tls, pData, argv, __ccgo_ts+18860) } else { if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum < uint32(2) || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage || _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14548) + _corruptSchema(tls, pData, argv, __ccgo_ts+14641) } } } @@ -116338,18 +117162,18 @@ func _sqlite3InitOne(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. */ - (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9090 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9215 if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6565 + v2 = __ccgo_ts + 6629 } else { - v2 = __ccgo_ts + 6098 + v2 = __ccgo_ts + 6162 } v1 = v2 zSchemaTabName = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(2)] = (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8162 - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18786 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8287 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18873 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(5)] = uintptr(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 72))).FiDb = iDb @@ -116438,7 +117262,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl } else { /* If opening an attached database, the encoding much match ENC(db) */ if (*(*[5]int32)(unsafe.Pointer(bp + 48)))[libc.Int32FromInt32(BTREE_TEXT_ENCODING)-libc.Int32FromInt32(1)]&int32(3) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12127) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12252) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -116464,7 +117288,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = uint8(1) } if int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > int32(SQLITE_MAX_FILE_FORMAT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18858) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18945) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -116479,7 +117303,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl /* Read the schema information out of the schema tables */ (*(*TInitData)(unsafe.Pointer(bp + 72))).FmxPage = _sqlite3BtreeLastPage(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18882, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18969, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, __ccgo_fp(_sqlite3InitCallback), bp+72, uintptr(0)) @@ -116778,7 +117602,12 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) { var pCleanup uintptr _ = pCleanup - pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + if _sqlite3FaultSim(tls, int32(300)) != 0 { + pCleanup = uintptr(0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) + } else { + pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + } if pCleanup != 0 { (*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup (*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup @@ -116809,7 +117638,7 @@ func _sqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FpParse = pParse (*TParse)(unsafe.Pointer(pParse)).Fdb = db if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1650, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1664, 0) } } @@ -116843,7 +117672,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } else { } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1650, 0) + _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1664, 0) v1 = libc.Int32FromInt32(SQLITE_NOMEM) rc = v1 (*Tsqlite3)(unsafe.Pointer(db)).FerrCode = v1 @@ -116892,7 +117721,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep rc = _sqlite3BtreeSchemaLocked(tls, pBt) if rc != 0 { zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FzDbSName - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18916, libc.VaList(bp+432, zDb)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+19003, libc.VaList(bp+432, zDb)) goto end_prepare } } @@ -116908,7 +117737,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep if nBytes >= 0 && (nBytes == 0 || int32(*(*int8)(unsafe.Pointer(zSql + uintptr(nBytes-int32(1))))) != 0) { mxLen = *(*int32)(unsafe.Pointer(db + 136 + 1*4)) if nBytes > mxLen { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+18946, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+19033, 0) rc = _sqlite3ApiExit(tls, db, int32(SQLITE_TOOBIG)) goto end_prepare } @@ -116942,7 +117771,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } rc = (*(*TParse)(unsafe.Pointer(bp))).Frc if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3827, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3891, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) } else { _sqlite3Error(tls, db, rc) @@ -116972,7 +117801,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3 cnt = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141699)) + return _sqlite3MisuseError(tls, int32(142654)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) _sqlite3BtreeEnterAll(tls, db) @@ -117106,7 +117935,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr rc = SQLITE_OK *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141848)) + return _sqlite3MisuseError(tls, int32(142803)) } if nBytes >= 0 { z = zSql @@ -117512,15 +118341,15 @@ func _sqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC i++ } if jointype&(libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER)) == libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER) || jointype&int32(JT_ERROR) != 0 || jointype&(libc.Int32FromInt32(JT_OUTER)|libc.Int32FromInt32(JT_LEFT)|libc.Int32FromInt32(JT_RIGHT)) == int32(JT_OUTER) { - zSp1 = __ccgo_ts + 11234 - zSp2 = __ccgo_ts + 11234 + zSp1 = __ccgo_ts + 11359 + zSp2 = __ccgo_ts + 11359 if pB == uintptr(0) { zSp1++ } if pC == uintptr(0) { zSp2++ } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18965, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19052, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) jointype = int32(JT_INNER) } return jointype @@ -117811,7 +118640,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { if int32((*TSrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype)&int32(JT_NATURAL) != 0 { pUsing = uintptr(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18995, libc.VaList(bp+16, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19082, libc.VaList(bp+16, 0)) return int32(1) } j = 0 @@ -117861,7 +118690,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { zName1 = (*(*TIdList_item)(unsafe.Pointer(pList + 8 + uintptr(j)*16))).FzName iRightCol = _sqlite3ColumnIndex(tls, pRightTab, zName1) if iRightCol < 0 || _tableAndColumnIndex(tls, pSrc, 0, i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19045, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19132, libc.VaList(bp+16, zName1)) return int32(1) } pE1 = _sqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4))) @@ -117883,7 +118712,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { pFuncArgs = uintptr(0) /* Arguments to the coalesce() */ for _tableAndColumnIndex(tls, pSrc, *(*int32)(unsafe.Pointer(bp))+int32(1), i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) != 0 { if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 60 + 4))&0x400>>10)) == 0 || _sqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 72)), zName1) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19109, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19196, libc.VaList(bp+16, zName1)) break } pFuncArgs = _sqlite3ExprListAppend(tls, pParse, pFuncArgs, pE1) @@ -117927,7 +118756,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { } var _tkCoalesce = TToken{ - Fz: __ccgo_ts + 6762, + Fz: __ccgo_ts + 6826, Fn: uint32(8), } @@ -118703,13 +119532,13 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { _ = z switch id { case int32(TK_ALL): - z = __ccgo_ts + 19146 + z = __ccgo_ts + 19233 case int32(TK_INTERSECT): - z = __ccgo_ts + 19156 + z = __ccgo_ts + 19243 case int32(TK_EXCEPT): - z = __ccgo_ts + 19166 + z = __ccgo_ts + 19253 default: - z = __ccgo_ts + 19173 + z = __ccgo_ts + 19260 break } return z @@ -118730,7 +119559,7 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { func _explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19179, libc.VaList(bp+8, zUsage)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19266, libc.VaList(bp+8, zUsage)) } /* @@ -118764,12 +119593,17 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, iParm = (*TSelectDest)(unsafe.Pointer(pDest)).FiSDParm /* True if sorter record includes seq. no. */ nRefKey = 0 aOutEx = (*TSelect)(unsafe.Pointer(p)).FpEList + 8 - if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 { - v1 = __ccgo_ts + 19202 + nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat == 0 || nKey == int32(1) { + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat != 0 { + v1 = __ccgo_ts + 19289 + } else { + v1 = __ccgo_ts + 1694 + } + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19303, libc.VaList(bp+8, v1)) } else { - v1 = __ccgo_ts + 1680 + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19334, libc.VaList(bp+8, nKey)) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19217, libc.VaList(bp+8, v1)) if (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut != 0 { _sqlite3VdbeAddOp2(tls, v, int32(OP_Gosub), (*TSortCtx)(unsafe.Pointer(pSort)).FregReturn, (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut) _sqlite3VdbeGoto(tls, v, addrBreak) @@ -118791,7 +119625,6 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, regRow = _sqlite3GetTempRange(tls, pParse, nColumn) } } - nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat if int32((*TSortCtx)(unsafe.Pointer(pSort)).FsortFlags)&int32(SORTFLAG_UseSorter) != 0 { v3 = pParse + 56 *(*int32)(unsafe.Pointer(v3))++ @@ -119009,7 +119842,7 @@ func _columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr } if iCol < 0 { zType = __ccgo_ts + 1168 - *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16726 + *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16813 } else { *(*uintptr)(unsafe.Pointer(bp + 16)) = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, uintptr(0)) @@ -119155,13 +119988,13 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) iCol = int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) } if iCol < 0 { - zCol = __ccgo_ts + 16726 + zCol = __ccgo_ts + 16813 } else { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } if fullName != 0 { zName1 = uintptr(0) - zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12413, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) + zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12538, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName1, __ccgo_fp(_sqlite3OomClear)) } else { _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, uintptr(-libc.Int32FromInt32(1))) @@ -119169,7 +120002,7 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { z = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32))).FzEName if z == uintptr(0) { - v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19248, libc.VaList(bp+8, i+int32(1))) + v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19380, libc.VaList(bp+8, i+int32(1))) } else { v2 = _sqlite3DbStrDup(tls, db, z) } @@ -119261,7 +120094,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if iCol >= 0 { v3 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } else { - v3 = __ccgo_ts + 16726 + v3 = __ccgo_ts + 16813 } zName = v3 } else { @@ -119276,7 +120109,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if zName != 0 && !(_sqlite3IsTrueOrFalse(tls, zName) != 0) { zName = _sqlite3DbStrDup(tls, db, zName) } else { - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19248, libc.VaList(bp+40, i+int32(1))) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19380, libc.VaList(bp+40, i+int32(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. @@ -119312,7 +120145,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, } *(*Tu32)(unsafe.Pointer(bp))++ v8 = *(*Tu32)(unsafe.Pointer(bp)) - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19257, libc.VaList(bp+40, nName, zName, v8)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19389, libc.VaList(bp+40, nName, zName, v8)) _sqlite3ProgressCheck(tls, pParse) if *(*Tu32)(unsafe.Pointer(bp)) > uint32(3) { Xsqlite3_randomness(tls, int32(4), bp) @@ -119372,9 +120205,9 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS defer tls.Free(64) var a, db, p, pCol, pColl, pS2, zType, p4, p5 uintptr var i, j, m int32 - var m1, n Ti64 + var k, n Ti64 var _ /* sNC at bp+0 */ TNameContext - _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, m, m1, n, p, pCol, pColl, pS2, zType, p4, p5 + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, k, m, n, p, pCol, pColl, pS2, zType, p4, p5 db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { return @@ -119391,17 +120224,22 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS if !(i < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } + m = 0 + pS2 = pSelect *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags) & libc.Int32FromInt32(COLFLAG_NOINSERT)) p = (*(*TExprList_item)(unsafe.Pointer(a + uintptr(i)*32))).FpExpr /* pCol->szEst = ... // Column size est for SELECT tables never used */ (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, p) + for int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) && (*TSelect)(unsafe.Pointer(pS2)).FpNext != uintptr(0) { + m |= _sqlite3ExprDataType(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext + (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + } if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) { (*TColumn)(unsafe.Pointer(pCol)).Faffinity = aff } - if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && (*TSelect)(unsafe.Pointer(pSelect)).FpNext != 0 { - m = 0 - m = 0 - pS2 = (*TSelect)(unsafe.Pointer(pSelect)).FpNext + if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && ((*TSelect)(unsafe.Pointer(pS2)).FpNext != 0 || pS2 != pSelect) { + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext for { if !(pS2 != 0) { break @@ -119426,7 +120264,7 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS zType = _columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0)) if zType == uintptr(0) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) != int32(_sqlite3AffinityType(tls, zType, uintptr(0))) { if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_NUMERIC) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_FLEXNUM) { - zType = __ccgo_ts + 19265 + zType = __ccgo_ts + 19397 } else { zType = uintptr(0) j = int32(1) @@ -119446,13 +120284,13 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS } } if zType != 0 { - m1 = int64(_sqlite3Strlen30(tls, zType)) + k = int64(_sqlite3Strlen30(tls, zType)) n = int64(_sqlite3Strlen30(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) - (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+m1+int64(2))) + (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+k+int64(2))) p4 = pCol + 14 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) & ^(libc.Int32FromInt32(COLFLAG_HASTYPE) | libc.Int32FromInt32(COLFLAG_HASCOLL))) if (*TColumn)(unsafe.Pointer(pCol)).FzCnName != 0 { - libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(m1+int64(1))) + libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(k+int64(1))) p5 = pCol + 14 *(*Tu16)(unsafe.Pointer(p5)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p5))) | libc.Int32FromInt32(COLFLAG_HASTYPE)) } @@ -119741,7 +120579,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest iDistinct = 0 /* To ensure unique results if UNION */ eDest = int32(SRT_Fifo) /* Registers used by LIMIT and OFFSET */ if (*TSelect)(unsafe.Pointer(p)).FpWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19269, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19401, 0) return } /* Obtain authorization to do a recursive query */ @@ -119834,7 +120672,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest break } if (*TSelect)(unsafe.Pointer(pFirstRec)).FselFlags&uint32(SF_Aggregate) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19318, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19450, 0) goto end_of_recursive_query } (*TSelect)(unsafe.Pointer(pFirstRec)).Fop = uint8(TK_ALL) @@ -119849,7 +120687,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest /* Store the results of the setup-query in Queue. */ pSetup = (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior (*TSelect)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19360, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19492, 0) rc = _sqlite3Select(tls, pParse, pSetup, bp) (*TSelect)(unsafe.Pointer(pSetup)).FpNext = p if rc != 0 { @@ -119877,7 +120715,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest ** the value for the recursive-table. Store the results in the Queue. */ (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19366, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19498, 0) _sqlite3Select(tls, pParse, p, bp) (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup /* Keep running the loop until the Queue is empty */ @@ -119930,11 +120768,11 @@ func _multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) nRow += bShowAll } if nRow == int32(1) { - v1 = __ccgo_ts + 1680 + v1 = __ccgo_ts + 1694 } else { - v1 = __ccgo_ts + 19381 + v1 = __ccgo_ts + 19513 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19383, libc.VaList(bp+8, nRow, v1)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19515, libc.VaList(bp+8, nRow, v1)) for p != 0 { _selectInnerLoop(tls, pParse, p, -int32(1), uintptr(0), uintptr(0), pDest, int32(1), int32(1)) if !(bShowAll != 0) { @@ -120042,8 +120880,8 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in return _multiSelectOrderBy(tls, pParse, p, pDest) } else { if (*TSelect)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19406, 0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19421, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19538, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19553, 0) } /* Generate code for the left and right SELECT statements. */ @@ -120068,7 +120906,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in _sqlite3VdbeAddOp3(tls, v, int32(OP_OffsetLimit), (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TSelect)(unsafe.Pointer(p)).FiOffset+int32(1), (*TSelect)(unsafe.Pointer(p)).FiOffset) } } - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19146, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19233, 0) rc = _sqlite3Select(tls, pParse, p, bp) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -120120,7 +120958,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 48))).FeDest = op - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19440, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19572, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+48) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -120178,7 +121016,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit1 = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 88))).FiSDParm = tab2 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19440, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19572, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+88) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -120301,9 +121139,9 @@ func _sqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) bp := tls.Alloc(16) defer tls.Free(16) if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Values) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19461, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19593, 0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19507, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19639, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) } } @@ -120672,8 +121510,8 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr (*TSelect)(unsafe.Pointer(pSplit)).FpPrior = uintptr(0) (*TSelect)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy = _sqlite3ExprListDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0) - _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7399) - _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7399) + _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7524) + _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7524) /* Compute the limit registers */ _computeLimitRegisters(tls, pParse, p, labelEnd) if (*TSelect)(unsafe.Pointer(p)).FiLimit != 0 && op == int32(TK_ALL) { @@ -120717,14 +121555,14 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr regOutB = v21 _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), regAddrA) _sqlite3SelectDestInit(tls, bp+40, int32(SRT_Coroutine), regAddrB) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19589, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19721, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) /* Generate a coroutine to evaluate the SELECT statement to the ** left of the compound operator - the "A" select. */ addrSelectA = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regAddrA, 0, addrSelectA) (*TSelect)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19600, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19732, 0) _sqlite3Select(tls, pParse, pPrior, bp) _sqlite3VdbeEndCoroutine(tls, v, regAddrA) _sqlite3VdbeJumpHere(tls, v, addr1) @@ -120737,7 +121575,7 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr savedOffset = (*TSelect)(unsafe.Pointer(p)).FiOffset (*TSelect)(unsafe.Pointer(p)).FiLimit = regLimitB (*TSelect)(unsafe.Pointer(p)).FiOffset = 0 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19605, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19737, 0) _sqlite3Select(tls, pParse, p, bp+40) (*TSelect)(unsafe.Pointer(p)).FiLimit = savedLimit (*TSelect)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -120952,7 +121790,7 @@ func _substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) (r uintptr) { if pColl != 0 { v1 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v1 = __ccgo_ts + 5118 + v1 = __ccgo_ts + 5182 } pExpr = _sqlite3ExprAddCollateString(tls, (*TSubstContext)(unsafe.Pointer(pSubst)).FpParse, pExpr, v1) } @@ -121988,10 +122826,10 @@ func _findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft - if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pLeft) != 0 { + if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pLeft) != 0 { _constInsert(tls, pConst, pRight, pLeft, pExpr) } - if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pRight) != 0 { + if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pRight) != 0 { _constInsert(tls, pConst, pLeft, pRight, pExpr) } } @@ -122224,6 +123062,18 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** The hope is that the terms added to the inner query will make it more // ** efficient. // ** +// ** NAME AMBIGUITY +// ** +// ** This optimization is called the "WHERE-clause push-down optimization". +// ** +// ** Do not confuse this optimization with another unrelated optimization +// ** with a similar name: The "MySQL push-down optimization" causes WHERE +// ** clause terms that can be evaluated using only the index and without +// ** reference to the table are run first, so that if they are false, +// ** unnecessary table seeks are avoided. +// ** +// ** RULES +// ** // ** Do not attempt this optimization if: // ** // ** (1) (** This restriction was removed on 2017-09-29. We used to @@ -122289,10 +123139,10 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** (9c) There is a RIGHT JOIN (or FULL JOIN) in between the ON/USING // ** clause and the subquery. // ** -// ** Without this restriction, the push-down optimization might move -// ** the ON/USING filter expression from the left side of a RIGHT JOIN -// ** over to the right side, which leads to incorrect answers. See -// ** also restriction (6) in sqlite3ExprIsSingleTableConstraint(). +// ** Without this restriction, the WHERE-clause push-down optimization +// ** might move the ON/USING filter expression from the left side of a +// ** RIGHT JOIN over to the right side, which leads to incorrect answers. +// ** See also restriction (6) in sqlite3ExprIsSingleTableConstraint(). // ** // ** (10) The inner query is not the right-hand table of a RIGHT JOIN. // ** @@ -122385,7 +123235,7 @@ func _pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere ui nChng += _pushDownWhereTerms(tls, pParse, pSubq, (*TExpr)(unsafe.Pointer(pWhere)).FpRight, pSrcList, iSrc) pWhere = (*TExpr)(unsafe.Pointer(pWhere)).FpLeft } - if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc) != 0 { + if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc, int32(1)) != 0 { nChng++ *(*Tu32)(unsafe.Pointer(pSubq + 4)) |= uint32(SF_PushDown) for pSubq != 0 { @@ -122555,13 +123405,13 @@ func _minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) (r return uint8(eRet) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8)) - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15582) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15675) == 0 { eRet = int32(WHERE_ORDERBY_MIN) if _sqlite3ExprCanBeNull(tls, (*(*TExprList_item)(unsafe.Pointer(pEList + 8))).FpExpr) != 0 { sortFlags = uint8(KEYINFO_ORDER_BIGNULL) } } else { - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15586) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15679) == 0 { eRet = int32(WHERE_ORDERBY_MAX) sortFlags = uint8(KEYINFO_ORDER_DESC) } else { @@ -122649,7 +123499,7 @@ func _sqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r in pIdx = (*TIndex)(unsafe.Pointer(pIdx)).FpNext } if !(pIdx != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19611, libc.VaList(bp+8, zIndexedBy, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19743, libc.VaList(bp+8, zIndexedBy, 0)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) return int32(SQLITE_ERROR) } @@ -122773,7 +123623,7 @@ func _cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19629, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19761, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) return int32(1) } return 0 @@ -122948,7 +123798,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } *(*Tu32)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= uint32(SF_CopyCte) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19652, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19784, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) return int32(2) } libc.SetBitFieldPtr16Uint32(pFrom+60+4, libc.Uint32FromInt32(1), 8, 0x100) @@ -122972,7 +123822,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ libc.SetBitFieldPtr16Uint32(pItem+60+4, libc.Uint32FromInt32(1), 6, 0x40) if (*TSelect)(unsafe.Pointer(pRecTerm)).FselFlags&uint32(SF_Recursive) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19672, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19804, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) return int32(2) } *(*Tu32)(unsafe.Pointer(pRecTerm + 4)) |= uint32(SF_Recursive) @@ -122994,7 +123844,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } pRecTerm = (*TSelect)(unsafe.Pointer(pRecTerm)).FpPrior } - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19715 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19847 pSavedWith = (*TParse)(unsafe.Pointer(pParse)).FpWith (*TParse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp)) if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { @@ -123025,7 +123875,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pEList = (*TSelect)(unsafe.Pointer(pLeft)).FpEList if (*TCte)(unsafe.Pointer(pCte)).FpCols != 0 { if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr != (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19738, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19870, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*TParse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return int32(2) } @@ -123034,9 +123884,9 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom _sqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8) if bMayRecursive != 0 { if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19776 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19908 } else { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19810 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19942 } _sqlite3WalkSelect(tls, pWalker, pSel) } @@ -123095,7 +123945,7 @@ func _sqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int if (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 { (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3DbStrDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias) } else { - (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19848, libc.VaList(bp+8, pFrom)) + (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19980, libc.VaList(bp+8, pFrom)) } for (*TSelect)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*TSelect)(unsafe.Pointer(pSel)).FpPrior @@ -123251,7 +124101,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { return int32(WRC_Abort) } if (*TTable)(unsafe.Pointer(pTab)).FnTabRef >= uint32(0xffff) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19852, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19984, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) (*TSrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return int32(WRC_Abort) } @@ -123266,7 +124116,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) && (*TTable)(unsafe.Pointer(pTab)).FpSchema != (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19891, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20023, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } (*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect = _sqlite3SelectDup(tls, db, (*(*struct { FpSelect uintptr @@ -123281,7 +124131,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).Fp)).FeVtabRisk) > libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15141, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15234, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } } nCol = (*TTable)(unsafe.Pointer(pTab)).FnCol @@ -123403,7 +124253,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if iDb >= 0 { v10 = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName } else { - v10 = __ccgo_ts + 6622 + v10 = __ccgo_ts + 6686 } zSchemaName = v10 } @@ -123420,7 +124270,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { pNew = _sqlite3ExprListAppend(tls, pParse, pNew, pRight) if pNew != 0 { pX = pNew + 8 + uintptr((*TExprList)(unsafe.Pointer(pNew)).FnExpr-int32(1))*32 - (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19922, libc.VaList(bp+8, zUName)) + (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20054, libc.VaList(bp+8, zUName)) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(ENAME_TAB), 0, 0x3) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(1), 7, 0x80) } @@ -123499,7 +124349,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if pNestedFrom != 0 && libc.Bool(libc.Bool(!(libc.Int32FromInt32(ViewCanHaveRowid) != 0)) || j < (*TExprList)(unsafe.Pointer(pNestedFrom)).FnExpr) { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, (*(*TExprList_item)(unsafe.Pointer(pNestedFrom + 8 + uintptr(j)*32))).FzEName) } else { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19927, libc.VaList(bp+8, zSchemaName, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20059, libc.VaList(bp+8, zSchemaName, zTabName, zName)) } if j == int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) { v13 = int32(ENAME_ROWID) @@ -123512,7 +124362,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } } else { if longNames != 0 { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12413, libc.VaList(bp+8, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12538, libc.VaList(bp+8, zTabName, zName)) libc.SetBitFieldPtr16Uint32(pX1+16+4, libc.Uint32FromInt32(ENAME_NAME), 0, 0x3) } else { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, zName) @@ -123532,9 +124382,9 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if !(tableSeen != 0) { if zTName != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19936, libc.VaList(bp+8, zTName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20068, libc.VaList(bp+8, zTName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19954, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20086, 0) } } } @@ -123548,7 +124398,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if (*TSelect)(unsafe.Pointer(p)).FpEList != 0 { if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19974, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20106, 0) return int32(WRC_Abort) } if elistFlags&uint32(libc.Int32FromInt32(EP_HasFunc)|libc.Int32FromInt32(EP_Subquery)) != uint32(0) { @@ -123889,12 +124739,12 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct >= 0 { pE = (*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFExpr if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20005, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20137, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -int32(1) } else { pKeyInfo = _sqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20056, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20188, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab >= 0 { @@ -123915,7 +124765,7 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { (*TKeyInfo)(unsafe.Pointer(pKeyInfo1)).FnKeyField++ } _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab, (*TExprList)(unsafe.Pointer(pOBList)).FnExpr+nExtra, 0, pKeyInfo1, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20089, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20221, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } goto _1 _1: @@ -124220,16 +125070,16 @@ func _explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintp if int32((*TParse)(unsafe.Pointer(pParse)).Fexplain) == int32(2) { bCover = libc.BoolInt32(pIdx != uintptr(0) && ((*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) || !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == libc.Int32FromInt32(SQLITE_IDXTYPE_PRIMARYKEY)))) if bCover != 0 { - v1 = __ccgo_ts + 20122 + v1 = __ccgo_ts + 20254 } else { - v1 = __ccgo_ts + 1680 + v1 = __ccgo_ts + 1694 } if bCover != 0 { v2 = (*TIndex)(unsafe.Pointer(pIdx)).FzName } else { - v2 = __ccgo_ts + 1680 + v2 = __ccgo_ts + 1694 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20145, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20277, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) } } @@ -124261,7 +125111,7 @@ func _havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3 ** statements AggInfo structure. */ if _sqlite3ExprIsConstantOrGroupBy(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*TSelect)(unsafe.Pointer(pS)).FpGroupBy) != 0 && libc.BoolInt32((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse)) == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8162) + pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8287) if pNew != 0 { pWhere = (*TSelect)(unsafe.Pointer(pS)).FpWhere t = *(*TExpr)(unsafe.Pointer(pNew)) @@ -124417,7 +125267,7 @@ func _countOfViewOptimization(tls *libc.TLS, pParse uintptr, p uintptr) (r int32 if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { return 0 } /* Result is an aggregate */ - if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15876) != 0 { + if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15969) != 0 { return 0 } /* Is count() */ if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != uintptr(0) { @@ -124680,7 +125530,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { v1 = (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p0)).FpTab)).FzName } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20157, libc.VaList(bp+176, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20289, libc.VaList(bp+176, v1)) goto select_end } /* Clear the SF_UFSrcCheck flag. The check has already been performed, @@ -124781,7 +125631,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r /* Catch mismatch in the declared columns of a view and the number of ** columns in the SELECT on the RHS */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) != (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20211, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20343, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end } /* Do not attempt the usual optimizations (flattening and ORDER BY @@ -124918,12 +125768,12 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r ** string for the fake column name seems safer. */ if (*TSrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0) && (*TSrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0) { - _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1680, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1694, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) } /* Generate code for all sub-queries in the FROM clause */ pSub1 = (*TSrcItem)(unsafe.Pointer(pItem1)).FpSelect - if pSub1 == uintptr(0) { + if pSub1 == uintptr(0) || (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub != 0 { goto _10 } /* The code for a subquery should only be generated once. */ @@ -124962,7 +125812,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop _sqlite3SelectDestInit(tls, bp+72, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20251, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20383, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60+4, libc.Uint32FromInt32(1), 5, 0x20) @@ -125010,7 +125860,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { } _sqlite3SelectDestInit(tls, bp+72, int32(SRT_EphemTab), (*TSrcItem)(unsafe.Pointer(pItem1)).FiCursor) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20266, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20398, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow if onceAddr != 0 { @@ -125420,11 +126270,11 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r groupBySort = 0 } else { if (*(*TDistinctCtx)(unsafe.Pointer(bp))).FisTnct != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Distinct) == uint32(0) { - v44 = __ccgo_ts + 20282 + v44 = __ccgo_ts + 20414 } else { - v44 = __ccgo_ts + 20291 + v44 = __ccgo_ts + 20423 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19179, libc.VaList(bp+176, v44)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19266, libc.VaList(bp+176, v44)) groupBySort = int32(1) nGroupBy = (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr nCol = nGroupBy @@ -125743,7 +126593,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeResolveLabel(tls, v, addrEnd) } /* endif aggregate query */ if int32((*(*TDistinctCtx)(unsafe.Pointer(bp))).FeTnctType) == int32(WHERE_DISTINCT_UNORDERED) { - _explainTempTable(tls, pParse, __ccgo_ts+20282) + _explainTempTable(tls, pParse, __ccgo_ts+20414) } /* If there is an ORDER BY clause, then we need to sort the results ** and send them to the callback one by one. @@ -125849,7 +126699,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr if !(i < nCol) { break } - z = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if z == uintptr(0) { goto malloc_failed } @@ -125865,7 +126715,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr } else { if int32((*TTabResult)(unsafe.Pointer(p)).FnColumn) != nCol { Xsqlite3_free(tls, (*TTabResult)(unsafe.Pointer(p)).FzErrMsg) - (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20300, 0) + (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20432, 0) (*TTabResult)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) return int32(1) } @@ -125955,7 +126805,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) } Xsqlite3_free(tls, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg) } @@ -126117,7 +126967,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if isTemp != 0 { /* If TEMP was specified, then the trigger name may not be qualified. */ if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20365, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20497, 0) goto trigger_cleanup } iDb = int32(1) @@ -126157,7 +127007,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto trigger_cleanup } - _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20411, *(*uintptr)(unsafe.Pointer(bp))) + _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20543, *(*uintptr)(unsafe.Pointer(bp))) if _sqlite3FixSrcList(tls, bp+8, pTableName) != 0 { goto trigger_cleanup } @@ -126167,11 +127017,11 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_orphan_error } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20419, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20551, 0) goto trigger_orphan_error } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, db) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20460, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20592, 0) goto trigger_orphan_error } /* Check that the trigger name is not reserved and that no trigger of the @@ -126180,13 +127030,13 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if zName == uintptr(0) { goto trigger_cleanup } - if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20411, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { + if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20543, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { goto trigger_cleanup } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema+56, zName) != 0 { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20500, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20632, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) } @@ -126194,8 +127044,8 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 } } /* Do not create a trigger on a system table */ - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6557, int32(7)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20526, 0) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6621, int32(7)) == 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20658, 0) goto trigger_cleanup } /* INSTEAD of triggers are only for views and views only support INSTEAD @@ -126203,15 +127053,15 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && tr_tm != int32(TK_INSTEAD) { if tr_tm == int32(TK_BEFORE) { - v1 = __ccgo_ts + 20564 + v1 = __ccgo_ts + 20696 } else { - v1 = __ccgo_ts + 20571 + v1 = __ccgo_ts + 20703 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20577, libc.VaList(bp+112, v1, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20709, libc.VaList(bp+112, v1, pTableName+8)) goto trigger_orphan_error } if !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) && tr_tm == int32(TK_INSTEAD) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20614, libc.VaList(bp+112, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20746, libc.VaList(bp+112, pTableName+8)) goto trigger_orphan_error } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -126231,9 +127081,9 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iTabDb == int32(1) { - v3 = __ccgo_ts + 6565 + v3 = __ccgo_ts + 6629 } else { - v3 = __ccgo_ts + 6098 + v3 = __ccgo_ts + 6162 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto trigger_cleanup @@ -126333,7 +127183,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl pStepList = (*TTriggerStep)(unsafe.Pointer(pStepList)).FpNext } _sqlite3TokenInit(tls, bp+96, (*TTrigger)(unsafe.Pointer(pTrig)).FzName) - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20411, bp+96) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20543, bp+96) if _sqlite3FixTriggerStep(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 || _sqlite3FixExpr(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).FpWhen) != 0 { goto triggerfinish_cleanup } @@ -126355,7 +127205,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl break } if (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget != uintptr(0) && _sqlite3ShadowTableName(tls, db, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20660, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20792, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) goto triggerfinish_cleanup } goto _1 @@ -126371,10 +127221,10 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl } _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) z = _sqlite3DbStrNDup(tls, db, (*TToken)(unsafe.Pointer(pAll)).Fz, uint64((*TToken)(unsafe.Pointer(pAll)).Fn)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20708, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20840, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) _sqlite3DbFree(tls, db, z) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20783, libc.VaList(bp+120, zName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20915, libc.VaList(bp+120, zName)), uint16(0)) } } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { @@ -126642,7 +127492,7 @@ func _sqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int } if !(pTrigger != 0) { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20812, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20944, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, zDb) } @@ -126684,9 +127534,9 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { code = int32(SQLITE_DROP_TRIGGER) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6565 + v1 = __ccgo_ts + 6629 } else { - v1 = __ccgo_ts + 6098 + v1 = __ccgo_ts + 6162 } zTab = v1 if iDb == int32(1) { @@ -126701,7 +127551,7 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { v2 = _sqlite3GetVdbe(tls, pParse) v = v2 if v2 != uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20832, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20964, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropTrigger), iDb, 0, 0, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName, 0) } @@ -126834,11 +127684,11 @@ func _triggersReallyExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { if op != int32(TK_INSERT) { if op == int32(TK_DELETE) { - v1 = __ccgo_ts + 20894 + v1 = __ccgo_ts + 21026 } else { - v1 = __ccgo_ts + 20901 + v1 = __ccgo_ts + 21033 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20908, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21040, libc.VaList(bp+8, v1)) } (*TTrigger)(unsafe.Pointer(p)).Ftr_tm = uint8(TRIGGER_BEFORE) } else { @@ -126939,7 +127789,7 @@ func _isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != int32(TK_ASTERISK) { return 0 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20956, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21088, 0) return int32(1) } @@ -127004,6 +127854,79 @@ func _sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab return pNew } +// C documentation +// +// /* If the Expr node is a subquery or an EXISTS operator or an IN operator that +// ** uses a subquery, and if the subquery is SF_Correlated, then mark the +// ** expression as EP_VarSelect. +// */ +func _sqlite3ReturningSubqueryVarSelect(tls *libc.TLS, NotUsed uintptr, pExpr uintptr) (r int32) { + _ = NotUsed + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) && (*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FselFlags&uint32(SF_Correlated) != uint32(0) { + *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** If the SELECT references the table pWalker->u.pTab, then do two things: +// ** +// ** (1) Mark the SELECT as as SF_Correlated. +// ** (2) Set pWalker->eCode to non-zero so that the caller will know +// ** that (1) has happened. +// */ +func _sqlite3ReturningSubqueryCorrelated(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + var i int32 + var pSrc uintptr + _, _ = i, pSrc + pSrc = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + i = 0 + for { + if !(i < (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) { + break + } + if (*(*TSrcItem)(unsafe.Pointer(pSrc + 8 + uintptr(i)*104))).FpTab == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { + *(*Tu32)(unsafe.Pointer(pSelect + 4)) |= uint32(SF_Correlated) + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + break + } + goto _1 + _1: + ; + i++ + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Scan the expression list that is the argument to RETURNING looking +// ** for subqueries that depend on the table which is being modified in the +// ** statement that is hosting the RETURNING clause (pTab). Mark all such +// ** subqueries as SF_Correlated. If the subqueries are part of an +// ** expression, mark the expression as EP_VarSelect. +// ** +// ** https://sqlite.org/forum/forumpost/2c83569ce8945d39 +// */ +func _sqlite3ProcessReturningSubqueries(tls *libc.TLS, pEList uintptr, pTab uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ExprWalkNoop) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3ReturningSubqueryCorrelated) + *(*uintptr)(unsafe.Pointer(bp + 40)) = pTab + _sqlite3WalkExprList(tls, bp, pEList) + if (*(*TWalker)(unsafe.Pointer(bp))).FeCode != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ReturningSubqueryVarSelect) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop) + _sqlite3WalkExprList(tls, bp, pEList) + } +} + // C documentation // // /* @@ -127038,6 +127961,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab (*(*TSelect)(unsafe.Pointer(bp))).FpSrc = bp + 128 (*(*TSrcList)(unsafe.Pointer(bp + 128))).FnSrc = int32(1) (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FpTab = pTab + (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FzName = (*TTable)(unsafe.Pointer(pTab)).FzName /* tag-20240424-1 */ (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FiCursor = -int32(1) _sqlite3SelectPrep(tls, pParse, bp, uintptr(0)) if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { @@ -127062,6 +127986,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab if _sqlite3ResolveExprListNames(tls, bp+240, pNew) == SQLITE_OK && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { nCol = (*TExprList)(unsafe.Pointer(pNew)).FnExpr reg = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(1) + _sqlite3ProcessReturningSubqueries(tls, pNew, pTab) *(*int32)(unsafe.Pointer(pParse + 56)) += nCol + int32(2) (*TReturning)(unsafe.Pointer(pReturning)).FiRetReg = reg i = 0 @@ -127130,7 +128055,7 @@ func _codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orcon } (*TParse)(unsafe.Pointer(pParse)).FeOrconf = uint8(v2) if (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6295, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6359, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) } switch int32((*TTriggerStep)(unsafe.Pointer(pStep)).Fop) { case int32(TK_UPDATE): @@ -127232,7 +128157,7 @@ func _codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintp v = _sqlite3GetVdbe(tls, bp+56) if v != 0 { if (*TTrigger)(unsafe.Pointer(pTrigger)).FzName != 0 { - _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+20998, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) + _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+21130, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) } /* If one was specified, code the WHEN clause. If it evaluates to false ** (or NULL) the sub-vdbe is immediately halted by jumping to the @@ -127921,7 +128846,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui chngPk = uint8(1) } else { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21012, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21144, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto update_cleanup } } @@ -127941,13 +128866,13 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui pRowidExpr = (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FpExpr iRowidExpr = i } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21048, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21180, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto update_cleanup } } if j < 0 { - v11 = __ccgo_ts + 7937 + v11 = __ccgo_ts + 8062 } else { v11 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName } @@ -128629,7 +129554,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui ** that information. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21067) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21199) } goto update_cleanup update_cleanup: @@ -129063,9 +129988,9 @@ func _sqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr if nClause == 0 && (*TUpsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) { (*(*[16]int8)(unsafe.Pointer(bp + 200)))[0] = 0 } else { - Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21080, libc.VaList(bp+224, nClause+int32(1))) + Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21212, libc.VaList(bp+224, nClause+int32(1))) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21084, libc.VaList(bp+224, bp+200)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21216, libc.VaList(bp+224, bp+200)) return int32(SQLITE_ERROR) } goto _1 @@ -129168,7 +130093,7 @@ func _sqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i++ } i = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), iDataCur, 0, iPk, nPk) - _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12502, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12627, -int32(1)) _sqlite3MayAbort(tls, pParse) _sqlite3VdbeJumpHere(tls, v, i) } @@ -129250,7 +130175,7 @@ func _execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) (r int3 ** corrupt the sqlite_schema.sql field with other kinds of statements ** then run VACUUM to get those statements to execute at inappropriate ** times. */ - if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21157, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21161, uint64(3)) == 0) { + if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21289, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21293, uint64(3)) == 0) { rc = _execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -129378,24 +130303,24 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p pDb = uintptr(0) /* Name of output file */ pgflags = uint32(PAGER_SYNCHRONOUS_OFF) /* sync flags for output db */ if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21165) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21297) return int32(SQLITE_ERROR) /* IMP: R-12218-18073 */ } if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive > int32(1) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21205) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21337) return int32(SQLITE_ERROR) /* IMP: R-15610-35227 */ } saved_openFlags = (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags if pOut != 0 { if Xsqlite3_value_type(tls, pOut) != int32(SQLITE_TEXT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21248) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21380) return int32(SQLITE_ERROR) } zOut = Xsqlite3_value_text(tls, pOut) *(*uint32)(unsafe.Pointer(db + 76)) &= uint32(^libc.Int32FromInt32(SQLITE_OPEN_READONLY)) *(*uint32)(unsafe.Pointer(db + 76)) |= uint32(libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE)) } else { - zOut = __ccgo_ts + 1680 + zOut = __ccgo_ts + 1694 } /* Save the current value of the database flags so that it can be ** restored before returning. Then set the writable-schema flag, and @@ -129427,7 +130352,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** to write the journal header file. */ nDb = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21266, libc.VaList(bp+24, zOut)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21398, libc.VaList(bp+24, zOut)) (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if rc != SQLITE_OK { goto end_of_vacuum @@ -129439,7 +130364,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p *(*Ti64)(unsafe.Pointer(bp)) = 0 if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0) && (_sqlite3OsFileSize(tls, id, bp) != SQLITE_OK || *(*Ti64)(unsafe.Pointer(bp)) > 0) { rc = int32(SQLITE_ERROR) - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21289) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21421) goto end_of_vacuum } *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_VacuumInto) @@ -129456,7 +130381,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, ** to ensure that we do not try to change the page-size on a WAL database. */ - rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14911) + rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+15004) if rc != SQLITE_OK { goto end_of_vacuum } @@ -129487,11 +130412,11 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** in the temporary database. */ (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(nDb) /* force new CREATE statements into vacuum_db */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21316, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21448, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21424, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21556, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } @@ -129500,7 +130425,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy ** the contents to the temporary database. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21478, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21610, libc.VaList(bp+24, zDbMain)) *(*Tu32)(unsafe.Pointer(db + 44)) &= uint32(^libc.Int32FromInt32(DBFLAG_Vacuum)) if rc != SQLITE_OK { goto end_of_vacuum @@ -129510,7 +130435,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** associated storage, so all we have to do is copy their entries ** from the schema table. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21629, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21761, libc.VaList(bp+24, zDbMain)) if rc != 0 { goto end_of_vacuum } @@ -130037,7 +130962,7 @@ func _addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uint FazArg uintptr Fp uintptr })(unsafe.Pointer(pTable + 64))).FnArg+int32(3) >= *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12732, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12857, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = _sqlite3DbRealloc(tls, db, (*(*struct { FnArg int32 @@ -130160,7 +131085,7 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { if pEnd != 0 { (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32(int64((*TToken)(unsafe.Pointer(pEnd)).Fz)-int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz))) + (*TToken)(unsafe.Pointer(pEnd)).Fn } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21759, libc.VaList(bp+8, pParse+272)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21891, libc.VaList(bp+8, pParse+272)) /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. @@ -130170,11 +131095,11 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { ** by sqlite3StartTable(). */ iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+21783, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+21915, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) v = _sqlite3GetVdbe(tls, pParse) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) - zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21882, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+22014, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) _sqlite3DbFree(tls, db, zStmt) v2 = pParse + 56 @@ -130261,7 +131186,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, break } if (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21901, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22033, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(SQLITE_LOCKED) } goto _1 @@ -130303,9 +131228,9 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, } if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21943, libc.VaList(bp+48, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22075, libc.VaList(bp+48, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3827, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3891, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) } _sqlite3DbFree(tls, db, pVTable) @@ -130318,8 +131243,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*TModule)(unsafe.Pointer(pMod)).FnRefModule++ (*TVTable)(unsafe.Pointer(pVTable)).FnRef = int32(1) if (*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared == 0 { - zFormat = __ccgo_ts + 21973 - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + zFormat = __ccgo_ts + 22105 + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, zModuleName)) _sqlite3VtabUnlock(tls, pVTable) rc = int32(SQLITE_ERROR) } else { @@ -130344,7 +131269,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(iCol < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } - zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1680) + zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1694) i = 0 nType = _sqlite3Strlen30(tls, zType) i = 0 @@ -130352,7 +131277,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(i < nType) { break } - if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16617, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { + if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16704, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { break } goto _3 @@ -130433,13 +131358,13 @@ func _sqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).FazArg)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22019, libc.VaList(bp+16, zModule)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22151, libc.VaList(bp+16, zModule)) rc = int32(SQLITE_ERROR) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3827, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3891, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) (*TParse)(unsafe.Pointer(pParse)).Frc = rc } _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) @@ -130520,7 +131445,7 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, ** error. Otherwise, do nothing. */ if pMod == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22019, libc.VaList(bp+8, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22151, libc.VaList(bp+8, zMod)) rc = int32(SQLITE_ERROR) } else { rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr) @@ -130546,18 +131471,42 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r int32) { bp := tls.Alloc(448) defer tls.Free(448) - var initBusy, rc int32 - var pCtx, pIdx, pNew, pTab, v2 uintptr - var v1 Ti16 + var i, initBusy, rc int32 + var pCtx, pIdx, pNew, pTab, z, v3 uintptr + var v2 Ti16 var _ /* sParse at bp+0 */ TParse - _, _, _, _, _, _, _, _ = initBusy, pCtx, pIdx, pNew, pTab, rc, v1, v2 + var _ /* tokenType at bp+424 */ int32 + _, _, _, _, _, _, _, _, _, _ = i, initBusy, pCtx, pIdx, pNew, pTab, rc, z, v2, v3 rc = SQLITE_OK + /* Verify that the first two keywords in the CREATE TABLE statement + ** really are "CREATE" and "TABLE". If this is not the case, then + ** sqlite3_declare_vtab() is being misused. + */ + z = zCreateTable + i = 0 + for { + if !(_aKeyword1[i] != 0) { + break + } + *(*int32)(unsafe.Pointer(bp + 424)) = 0 + for cond := true; cond; cond = *(*int32)(unsafe.Pointer(bp + 424)) == int32(TK_SPACE) { + z += uintptr(_sqlite3GetToken(tls, z, bp+424)) + } + if *(*int32)(unsafe.Pointer(bp + 424)) != int32(_aKeyword1[i]) { + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+22170, 0) + return int32(SQLITE_ERROR) + } + goto _1 + _1: + ; + i++ + } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { - _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(155155))) + _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(156227))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) - return _sqlite3MisuseError(tls, int32(155157)) + return _sqlite3MisuseError(tls, int32(156229)) } pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab _sqlite3ParseObjectInit(tls, bp, db) @@ -130569,7 +131518,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i initBusy = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) (*(*TParse)(unsafe.Pointer(bp))).FnQueryLoop = int16(1) - if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) && (*(*TParse)(unsafe.Pointer(bp))).FpNewTable != uintptr(0) && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && int32((*TTable)(unsafe.Pointer((*(*TParse)(unsafe.Pointer(bp))).FpNewTable)).FeTabType) == TABTYP_NORM { + if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) { if !((*TTable)(unsafe.Pointer(pTab)).FaCol != 0) { pNew = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable (*TTable)(unsafe.Pointer(pTab)).FaCol = (*TTable)(unsafe.Pointer(pNew)).FaCol @@ -130578,9 +131527,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpDfltList) - v1 = (*TTable)(unsafe.Pointer(pNew)).FnCol - (*TTable)(unsafe.Pointer(pTab)).FnCol = v1 - (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v1 + v2 = (*TTable)(unsafe.Pointer(pNew)).FnCol + (*TTable)(unsafe.Pointer(pTab)).FnCol = v2 + (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v2 *(*Tu32)(unsafe.Pointer(pTab + 48)) |= (*TTable)(unsafe.Pointer(pNew)).FtabFlags & uint32(libc.Int32FromInt32(TF_WithoutRowid)|libc.Int32FromInt32(TF_NoVisibleRowid)) (*TTable)(unsafe.Pointer(pNew)).FnCol = 0 (*TTable)(unsafe.Pointer(pNew)).FaCol = uintptr(0) @@ -130599,11 +131548,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = int32(1) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - v2 = __ccgo_ts + 3827 + v3 = __ccgo_ts + 3891 } else { - v2 = uintptr(0) + v3 = uintptr(0) } - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v2, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v3, libc.VaList(bp+440, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) rc = int32(SQLITE_ERROR) } @@ -130619,6 +131568,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i return rc } +var _aKeyword1 = [3]Tu8{ + 0: uint8(TK_CREATE), + 1: uint8(TK_TABLE), +} + // C documentation // // /* @@ -131070,7 +132024,7 @@ func _sqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) _addModuleArgument(tls, pParse, pTab, _sqlite3DbStrDup(tls, db, (*TTable)(unsafe.Pointer(pTab)).FzName)) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp) if rc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3827, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3891, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3VtabEponymousTableClear(tls, db, pMod) } @@ -131134,7 +132088,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = _sqlite3MisuseError(tls, int32(155651)) + rc = _sqlite3MisuseError(tls, int32(156723)) } else { ap = va switch op { @@ -131147,7 +132101,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in case int32(SQLITE_VTAB_USES_ALL_SCHEMAS): (*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1) default: - rc = _sqlite3MisuseError(tls, int32(155673)) + rc = _sqlite3MisuseError(tls, int32(156745)) break } _ = ap @@ -131869,10 +132823,10 @@ type WhereInfo1 = TWhereInfo1 func _explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) (r uintptr) { i = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -int32(2) { - return __ccgo_ts + 22038 + return __ccgo_ts + 22183 } if i == -int32(1) { - return __ccgo_ts + 16726 + return __ccgo_ts + 16813 } return (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*16))).FzCnName } @@ -131891,10 +132845,10 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, var i int32 _ = i if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22045, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22190, int32(5)) } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22051, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22196, int32(1)) } i = 0 for { @@ -131902,7 +132856,7 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13122, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13247, int32(1)) } Xsqlite3_str_appendall(tls, pStr, _explainIndexColumnName(tls, pIdx, iTerm+i)) goto _1 @@ -131911,11 +132865,11 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5138, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5202, int32(1)) } Xsqlite3_str_append(tls, pStr, zOp, int32(1)) if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22051, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22196, int32(1)) } i = 0 for { @@ -131923,16 +132877,16 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13122, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13247, int32(1)) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5140, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5204, int32(1)) goto _2 _2: ; i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5138, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5202, int32(1)) } } @@ -131965,7 +132919,7 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { if int32(nEq) == 0 && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_BTM_LIMIT)|libc.Int32FromInt32(WHERE_TOP_LIMIT)) == uint32(0) { return } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22053, int32(2)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22198, int32(2)) i = 0 for { if !(i < int32(nEq)) { @@ -131973,12 +132927,12 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } z = _explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22045, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22190, int32(5)) } if i >= int32(nSkip) { - v2 = __ccgo_ts + 22056 + v2 = __ccgo_ts + 22201 } else { - v2 = __ccgo_ts + 22061 + v2 = __ccgo_ts + 22206 } Xsqlite3_str_appendf(tls, pStr, v2, libc.VaList(bp+8, z)) goto _1 @@ -131988,13 +132942,13 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } j = i if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_BTM_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22069) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22214) i = int32(1) } if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_TOP_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22071) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22216) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5138, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5202, int32(1)) } // C documentation @@ -132037,47 +132991,47 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if isSearch != 0 { - v2 = __ccgo_ts + 22073 + v2 = __ccgo_ts + 22218 } else { - v2 = __ccgo_ts + 22080 + v2 = __ccgo_ts + 22225 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22085, libc.VaList(bp+144, v2, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22230, libc.VaList(bp+144, v2, pItem)) if flags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_VIRTUALTABLE)) == uint32(0) { zFmt = uintptr(0) pIdx = (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex if !((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) && int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = __ccgo_ts + 11285 + zFmt = __ccgo_ts + 11410 } } else { if flags&uint32(WHERE_PARTIALIDX) != 0 { - zFmt = __ccgo_ts + 22091 + zFmt = __ccgo_ts + 22236 } else { if flags&uint32(WHERE_AUTO_INDEX) != 0 { - zFmt = __ccgo_ts + 22124 + zFmt = __ccgo_ts + 22269 } else { if flags&uint32(WHERE_IDX_ONLY) != 0 { - zFmt = __ccgo_ts + 22149 + zFmt = __ccgo_ts + 22294 } else { - zFmt = __ccgo_ts + 22167 + zFmt = __ccgo_ts + 22312 } } } } if zFmt != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22176, int32(7)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22321, int32(7)) Xsqlite3_str_appendf(tls, bp, zFmt, libc.VaList(bp+144, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) _explainIndexRange(tls, bp, pLoop) } } else { if flags&uint32(WHERE_IPK) != uint32(0) && flags&uint32(WHERE_CONSTRAINT) != uint32(0) { - zRowid = __ccgo_ts + 16726 - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22184, libc.VaList(bp+144, zRowid)) + zRowid = __ccgo_ts + 16813 + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22329, libc.VaList(bp+144, zRowid)) if flags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != 0 { cRangeOp = int8('=') } else { if flags&uint32(WHERE_BOTH_LIMIT) == uint32(WHERE_BOTH_LIMIT) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22215, libc.VaList(bp+144, zRowid)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22360, libc.VaList(bp+144, zRowid)) cRangeOp = int8('<') } else { if flags&uint32(WHERE_BTM_LIMIT) != 0 { @@ -132087,10 +133041,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22225, libc.VaList(bp+144, int32(cRangeOp))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22370, libc.VaList(bp+144, int32(cRangeOp))) } else { if flags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22230, libc.VaList(bp+144, (*(*struct { + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22375, libc.VaList(bp+144, (*(*struct { FidxNum int32 F__ccgo4 uint8 FisOrdered Ti8 @@ -132109,7 +133063,7 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } if int32((*TSrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&int32(JT_LEFT) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22257, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22402, 0) } zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) @@ -132143,14 +133097,14 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Initial space for EQP output string */ _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22268, libc.VaList(bp+144, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22413, libc.VaList(bp+144, pItem)) pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_IPK) != 0 { pTab = (*TSrcItem)(unsafe.Pointer(pItem)).FpTab if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22056, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22201, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) } else { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22289, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22434, 0) } } else { i = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) @@ -132160,16 +133114,16 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp } z = _explainIndexColumnName(tls, (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex, i) if i > int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22045, int32(5)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22190, int32(5)) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22056, libc.VaList(bp+144, z)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22201, libc.VaList(bp+144, z)) goto _1 _1: ; i++ } } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5138, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5202, int32(1)) zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) return ret @@ -133000,6 +133954,35 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32 } } +// C documentation +// +// /* +// ** Loop pLoop is a WHERE_INDEXED level that uses at least one IN(...) +// ** operator. Return true if level pLoop is guaranteed to visit only one +// ** row for each key generated for the index. +// */ +func _whereLoopIsOneRow(tls *libc.TLS, pLoop uintptr) (r int32) { + var ii int32 + _ = ii + if (*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FonError != 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) == 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq) == int32((*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FnKeyCol) { + ii = 0 + for { + if !(ii < int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq)) { + break + } + if int32((*TWhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(ii)*8)))).FeOperator)&(libc.Int32FromInt32(WO_IS)|libc.Int32FromInt32(WO_ISNULL)) != 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) + } + return 0 +} + // C documentation // // /* @@ -133688,7 +134671,10 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** a LEFT JOIN: */ } /* Record the instruction used to terminate the loop. */ - if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 { + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 || (*(*struct { + FnIn int32 + FaInLoop uintptr + })(unsafe.Pointer(pLevel + 72))).FnIn != 0 && regBignull == 0 && _whereLoopIsOneRow(tls, pLoop) != 0 { (*TWhereLevel)(unsafe.Pointer(pLevel)).Fop = uint8(OP_Noop) } else { if bRev != 0 { @@ -133861,7 +134847,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22297, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22442, 0) ii = 0 for { if !(ii < (*TWhereClause)(unsafe.Pointer(pOrWc)).FnTerm) { @@ -133884,7 +134870,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } /* Loop through table entries that match term pOrTerm. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22312, libc.VaList(bp+96, ii+int32(1))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22457, libc.VaList(bp+96, ii+int32(1))) pSubWInfo = _sqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) if pSubWInfo != 0 { addrExplain = _sqlite3WhereExplainOneScan(tls, pParse, pOrTab, pSubWInfo+856, uint16(0)) @@ -134047,6 +135033,12 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** iLoop==3: Code all remaining expressions. ** ** An effort is made to skip unnecessary iterations of the loop. + ** + ** This optimization of causing simple query restrictions to occur before + ** more complex one is call the "push-down" optimization in MySQL. Here + ** in SQLite, the name is "MySQL push-down", since there is also another + ** totally unrelated optimization called "WHERE-clause push-down". + ** Sometimes the qualifier is omitted, resulting in an ambiguity, so beware. */ if pIdx != 0 { v60 = int32(1) @@ -134346,9 +135338,9 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe defer tls.Free(128) var addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, nPk, r, v3 int32 var mAll TBitmask - var pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr + var pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr var _ /* sFrom at bp+0 */ TSrcList - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pRJ = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpRJ @@ -134357,13 +135349,17 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop pTabItem = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 mAll = uint64(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22321, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22466, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) k = 0 for { if !(k < iLevel) { break } + pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*104 mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf + if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x20>>5)) != 0 { + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pRight)).FpSelect)).FpEList)).FnExpr-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiTabCur) iIdxCur = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiIdxCur if iIdxCur != 0 { @@ -134861,19 +135857,19 @@ var _aOp = [4]struct { FeOp2 uint8 }{ 0: { - FzOp: __ccgo_ts + 16575, + FzOp: __ccgo_ts + 16662, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH), }, 1: { - FzOp: __ccgo_ts + 15906, + FzOp: __ccgo_ts + 15999, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB), }, 2: { - FzOp: __ccgo_ts + 15385, + FzOp: __ccgo_ts + 15478, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE), }, 3: { - FzOp: __ccgo_ts + 22335, + FzOp: __ccgo_ts + 22480, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP), }, } @@ -135507,7 +136503,7 @@ func _exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, aiCurCol uintptr, pExpr if int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) != -int32(2) { goto _4 } - if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_STRING) { + if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && !(_sqlite3ExprIsConstant(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr) != 0) { *(*int32)(unsafe.Pointer(aiCurCol)) = iCur *(*int32)(unsafe.Pointer(aiCurCol + 1*4)) = -int32(2) return int32(1) @@ -135660,7 +136656,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { extraRight = x - uint64(1) /* ON clause terms may not be used with an index ** on left table of a LEFT JOIN. Ticket #3015 */ if prereqAll>>libc.Int32FromInt32(1) >= x { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22342, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22487, 0) return } } else { @@ -135672,7 +136668,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { ** if there is a RIGHT or FULL JOIN in the query. This makes SQLite ** more like other systems, and also preserves legacy. */ if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*(*TSrcItem)(unsafe.Pointer(pSrc + 8))).Ffg.Fjointype)&int32(JT_LTORJ) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22342, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22487, 0) return } *(*Tu32)(unsafe.Pointer(pExpr + 4)) &= uint32(^libc.Int32FromInt32(EP_InnerON)) @@ -135756,7 +136752,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { } else { if op == int32(TK_ISNULL) && !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)) != libc.Uint32FromInt32(0)) && 0 == _sqlite3ExprCanBeNull(tls, pLeft) { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_TRUEFALSE) /* See tag-20230504-1 */ - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 7923 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8048 *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_IsFalse)) (*TWhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator = uint16(0) @@ -135852,7 +136848,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { *(*Tu8)(unsafe.Pointer(pC)) = uint8(int32(c1) + int32(1)) } if *(*int32)(unsafe.Pointer(bp + 12)) != 0 { - v13 = __ccgo_ts + 22383 + v13 = __ccgo_ts + 22528 } else { v13 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) } @@ -136122,6 +137118,9 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FleftCursor != iCsr { return } + if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FprereqRight != uint64(0) { + return + } goto _1 _1: ; @@ -136151,10 +137150,12 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { } } /* All conditions are met. Add the terms to the where-clause object. */ - _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) - if (*TSelect)(unsafe.Pointer(p)).FiOffset > 0 { + if (*TSelect)(unsafe.Pointer(p)).FiOffset != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiOffset, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpRight, iCsr, int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } + if (*TSelect)(unsafe.Pointer(p)).FiOffset == 0 || (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { + _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) + } } } @@ -136378,7 +137379,7 @@ func _sqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22390, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22535, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) return } pColRef = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_COLUMN), uintptr(0), 0) @@ -136812,6 +137813,48 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { return uintptr(0) } +// C documentation +// +// /* +// ** Term pTerm is guaranteed to be a WO_IN term. It may be a component term +// ** of a vector IN expression of the form "(x, y, ...) IN (SELECT ...)". +// ** This function checks to see if the term is compatible with an index +// ** column with affinity idxaff (one of the SQLITE_AFF_XYZ values). If so, +// ** it returns a pointer to the name of the collation sequence (e.g. "BINARY" +// ** or "NOCASE") used by the comparison in pTerm. If it is not compatible +// ** with affinity idxaff, NULL is returned. +// */ +func _indexInAffinityOk(tls *libc.TLS, pParse uintptr, pTerm uintptr, idxaff Tu8) (r uintptr) { + bp := tls.Alloc(80) + defer tls.Free(80) + var iField int32 + var pRet, pX, v1 uintptr + var _ /* inexpr at bp+0 */ TExpr + _, _, _, _ = iField, pRet, pX, v1 + pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr + if _sqlite3ExprIsVector(tls, (*TExpr)(unsafe.Pointer(pX)).FpLeft) != 0 { + iField = (*(*struct { + FleftColumn int32 + FiField int32 + })(unsafe.Pointer(pTerm + 32))).FiField - int32(1) + (*(*TExpr)(unsafe.Pointer(bp))).Fflags = uint32(0) + (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_EQ) + (*(*TExpr)(unsafe.Pointer(bp))).FpLeft = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pX)).FpLeft + 32)) + 8 + uintptr(iField)*32))).FpExpr + (*(*TExpr)(unsafe.Pointer(bp))).FpRight = (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pX + 32)))).FpEList + 8 + uintptr(iField)*32))).FpExpr + pX = bp + } + if _sqlite3IndexAffinityOk(tls, pX, int8(idxaff)) != 0 { + pRet = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pRet != 0 { + v1 = (*TCollSeq)(unsafe.Pointer(pRet)).FzName + } else { + v1 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + return v1 + } + return uintptr(0) +} + // C documentation // // /* @@ -136822,10 +137865,10 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { var iColumn Ti16 var iCur, j, k int32 - var pColl, pParse, pTerm, pWC, pX, v2 uintptr - var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, v2, v3, v5 /* The term being tested */ - k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ + var pColl, pParse, pTerm, pWC, pX, zCollName, v2, v5 uintptr + var v3, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, zCollName, v2, v3, v5, v6 /* The term being tested */ + k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ pWC = (*TWhereScan)(unsafe.Pointer(pScan)).FpWC for int32(1) != 0 { iColumn = *(*Ti16)(unsafe.Pointer(pScan + 88 + uintptr(int32((*TWhereScan)(unsafe.Pointer(pScan)).FiEquiv)-int32(1))*2)) @@ -136869,21 +137912,31 @@ func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { if (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName != 0 && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_ISNULL) == 0 { pParse = (*TWhereInfo)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr - if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { - goto _1 - } - pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) - if pColl == uintptr(0) { - pColl = (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_IN) != 0 { + zCollName = _indexInAffinityOk(tls, pParse, pTerm, uint8((*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff)) + if !(zCollName != 0) { + goto _1 + } + } else { + if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { + goto _1 + } + pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pColl != 0 { + v5 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName + } else { + v5 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + zCollName = v5 } - if _sqlite3StrICmp(tls, (*TCollSeq)(unsafe.Pointer(pColl)).FzName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { + if _sqlite3StrICmp(tls, zCollName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { goto _1 } } - if v5 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v5 { + if v6 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v6 { pX = (*TExpr)(unsafe.Pointer((*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpRight } - if v5 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { + if v6 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { goto _1 } (*TWhereScan)(unsafe.Pointer(pScan)).FpWC = pWC @@ -137371,7 +138424,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea /* Make the automatic index a partial index if there are terms in the ** WHERE clause (or the ON clause of a LEFT join) that constrain which ** rows of the target table (pSrc) that can be used. */ - if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)) != 0 { + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom), 0) != 0 { pPartial = _sqlite3ExprAnd(tls, pParse, pPartial, _sqlite3ExprDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr, 0)) } if _termCanDriveIndex(tls, pTerm, pSrc, notReady) != 0 { @@ -137386,7 +138439,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea } cMask = v2 if !(sentWarning != 0) { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_WARNING)|libc.Int32FromInt32(1)<>14)) != 0) { eDistinct = int32(2) + libc.BoolInt32(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_SORTBYGROUP) != 0) } else { if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_GROUPBY) != 0 { @@ -137857,7 +138910,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB */ pIdxInfo = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(96)+(libc.Uint64FromInt64(12)+libc.Uint64FromInt64(8))*uint64(nTerm)+uint64(8)*uint64(nOrderBy)+uint64(40)+uint64(8)*uint64(nTerm)) if pIdxInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1650, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1664, 0) return uintptr(0) } pHidden = pIdxInfo + 1*96 @@ -137942,7 +138995,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB break } pExpr1 = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr - if _sqlite3ExprIsConstant(tls, pExpr1) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr1) != 0 { goto _11 } (*(*Tsqlite3_index_orderby)(unsafe.Pointer(pIdxOrderBy + uintptr(j)*8))).FiColumn = int32((*TExpr)(unsafe.Pointer(pExpr1)).FiColumn) @@ -138017,9 +139070,9 @@ func _vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) (r i _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) } else { if !((*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3827, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3891, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3827, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3891, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } } @@ -139356,7 +140409,7 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x4>>2)) != 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GE)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LE)-libc.Int32FromInt32(TK_EQ))) } - if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 { + if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 && int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x2>>1)) == 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ) | libc.Int32FromInt32(WO_IN) | libc.Int32FromInt32(WO_IS)) } } @@ -139595,10 +140648,13 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } } } - /* Set rCostIdx to the cost of visiting selected rows in index. Add - ** it to pNew->rRun, which is currently set to the cost of the index - ** seek only. Then, if this is a non-covering index, add the cost of - ** visiting the rows in the main table. */ + /* Set rCostIdx to the estimated cost of visiting selected rows in the + ** index. The estimate is the sum of two values: + ** 1. The cost of doing one search-by-key to find the first matching + ** entry + ** 2. Stepping forward in the index pNew->nOut times to find all + ** additional matching entries. + */ if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_IPK) { /* The pProbe->szIdxRow is low for an IPK table since the interior ** pages are small. Thus szIdxRow gives a good estimate of seek cost. @@ -139608,7 +140664,14 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } else { rCostIdx = int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut) + int32(1) + int32(15)*int32((*TIndex)(unsafe.Pointer(pProbe)).FszIdxRow)/int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FszTabRow)) } - (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + rCostIdx = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + /* Estimate the cost of running the loop. If all data is coming + ** from the index, then this is just the cost of doing the index + ** lookup and scan. But if some data is coming out of the main table, + ** we also have to add in the cost of doing pNew->nOut searches to + ** locate the row in the main table that corresponds to the index entry. + */ + (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = rCostIdx if (*TWhereLoop)(unsafe.Pointer(pNew)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IDX_ONLY)|libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_EXPRIDX)) == uint32(0) { (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun, int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut)+int32(16))) } @@ -139713,7 +140776,7 @@ func _indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, if pExpr == uintptr(0) { goto _2 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { + if (int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) || int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_COLUMN)) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { return int32(1) } @@ -140048,7 +141111,7 @@ func _wherePartIdxExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, pPart uintpt if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) != int32(TK_COLUMN) { return } - if !(_sqlite3ExprIsConstant(tls, pRight) != 0) { + if !(_sqlite3ExprIsConstant(tls, uintptr(0), pRight) != 0) { return } if !(_sqlite3IsBinary(tls, _sqlite3ExprCompareCollSeq(tls, pParse, pPart)) != 0) { @@ -140377,7 +141440,7 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in ** unique index is used (making the index functionally non-unique) ** then the sqlite_stat1 data becomes important for scoring the ** plan */ - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) } _sqlite3Stat4ProbeFree(tls, (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec) (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid = 0 @@ -140405,6 +141468,31 @@ func _isLimitTerm(tls *libc.TLS, pTerm uintptr) (r int32) { return libc.BoolInt32(int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= int32(SQLITE_INDEX_CONSTRAINT_LIMIT) && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } +// C documentation +// +// /* +// ** Return true if the first nCons constraints in the pUsage array are +// ** marked as in-use (have argvIndex>0). False otherwise. +// */ +func _allConstraintsUsed(tls *libc.TLS, aUsage uintptr, nCons int32) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < nCons) { + break + } + if (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer(aUsage + uintptr(ii)*8))).FargvIndex <= 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + // C documentation // // /* @@ -140499,7 +141587,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if v3 >= 0 { j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).FiTermOffset if iTerm >= nConstraint || j < 0 || j >= (*TWhereClause)(unsafe.Pointer(pWC)).FnTerm || *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) || int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22463, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22608, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } pTerm1 = (*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(j)*56 @@ -140544,12 +141632,16 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, *(*int32)(unsafe.Pointer(pbIn)) = int32(1) } } - if _isLimitTerm(tls, pTerm1) != 0 && *(*int32)(unsafe.Pointer(pbIn)) != 0 { + /* Unless pbRetryLimit is non-NULL, there should be no LIMIT/OFFSET + ** terms. And if there are any, they should follow all other terms. */ + if _isLimitTerm(tls, pTerm1) != 0 && (*(*int32)(unsafe.Pointer(pbIn)) != 0 || !(_allConstraintsUsed(tls, pUsage, i) != 0)) { /* If there is an IN(...) term handled as an == (separate call to ** xFilter for each value on the RHS of the IN) and a LIMIT or - ** OFFSET term handled as well, the plan is unusable. Set output - ** variable *pbRetryLimit to true to tell the caller to retry with - ** LIMIT and OFFSET disabled. */ + ** OFFSET term handled as well, the plan is unusable. Similarly, + ** if there is a LIMIT/OFFSET and there are other unused terms, + ** the plan cannot be used. In these cases set variable *pbRetryLimit + ** to true to tell the caller to retry with LIMIT and OFFSET + ** disabled. */ if (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr != 0 { Xsqlite3_free(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = uintptr(0) @@ -140574,7 +141666,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { /* The non-zero argvIdx values must be contiguous. Raise an ** error if they are not */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22463, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22608, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } goto _6 @@ -140726,7 +141818,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal pVal = uintptr(0) rc = SQLITE_OK if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { - rc = _sqlite3MisuseError(tls, int32(165251)) /* EV: R-30545-25046 */ + rc = _sqlite3MisuseError(tls, int32(166453)) /* EV: R-30545-25046 */ } else { if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) { pTerm = (*TWhereClause)(unsafe.Pointer((*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC)).Fa + uintptr((*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)*56 @@ -141164,7 +142256,7 @@ func _whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) (r int32) { if rc != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { if rc == int32(SQLITE_DONE) { /* We hit the query planner search limit set by iPlanLimit */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22489, 0) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22634, 0) rc = SQLITE_OK } else { break @@ -141546,7 +142638,7 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } p = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr mTerm = _sqlite3WhereExprUsage(tls, pWInfo+592, p) - if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, p) != 0) { + if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, uintptr(0), p) != 0) { goto _9 } if mTerm & ^orderDistinctMask == uint64(0) { @@ -141956,7 +143048,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) iLoop++ } if nFrom == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22524, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22669, 0) _sqlite3DbFreeNN(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pSpace) return int32(SQLITE_ERROR) } @@ -142005,9 +143097,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) if int32((*TWherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*TExprList)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_ORDERED) } - if (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 && int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr { - (*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = int8((*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr) - } + /* vvv--- See check-in [12ad822d9b827777] on 2023-03-16 ---vvv */ } else { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*TWherePath)(unsafe.Pointer(pFrom)).FrevLoop if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 { @@ -142044,6 +143134,97 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) return SQLITE_OK } +// C documentation +// +// /* +// ** This routine implements a heuristic designed to improve query planning. +// ** This routine is called in between the first and second call to +// ** wherePathSolver(). Hence the name "Interstage" "Heuristic". +// ** +// ** The first call to wherePathSolver() (hereafter just "solver()") computes +// ** the best path without regard to the order of the outputs. The second call +// ** to the solver() builds upon the first call to try to find an alternative +// ** path that satisfies the ORDER BY clause. +// ** +// ** This routine looks at the results of the first solver() run, and for +// ** every FROM clause term in the resulting query plan that uses an equality +// ** constraint against an index, disable other WhereLoops for that same +// ** FROM clause term that would try to do a full-table scan. This prevents +// ** an index search from being converted into a full-table scan in order to +// ** satisfy an ORDER BY clause, since even though we might get slightly better +// ** performance using the full-scan without sorting if the output size +// ** estimates are very precise, we might also get severe performance +// ** degradation using the full-scan if the output size estimate is too large. +// ** It is better to err on the side of caution. +// ** +// ** Except, if the first solver() call generated a full-table scan in an outer +// ** loop then stop this analysis at the first full-scan, since the second +// ** solver() run might try to swap that full-scan for another in order to +// ** get the output into the correct order. In other words, we allow a +// ** rewrite like this: +// ** +// ** First Solver() Second Solver() +// ** |-- SCAN t1 |-- SCAN t2 +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** The purpose of this routine is to disallow rewrites such as: +// ** +// ** First Solver() Second Solver() +// ** |-- SEARCH t1 |-- SCAN t2 <--- bad! +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** See test cases in test/whereN.test for the real-world query that +// ** originally provoked this heuristic. +// */ +func _whereInterstageHeuristic(tls *libc.TLS, pWInfo uintptr) { + var i int32 + var iTab Tu8 + var p, pLoop uintptr + _, _, _, _ = i, iTab, p, pLoop + i = 0 + for { + if !(i < int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnLevel)) { + break + } + p = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(i)*104))).FpWLoop + if p == uintptr(0) { + break + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { + goto _1 + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_NULL)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != uint32(0) { + iTab = (*TWhereLoop)(unsafe.Pointer(p)).FiTab + pLoop = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpLoops + for { + if !(pLoop != 0) { + break + } + if int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab) != int32(iTab) { + goto _2 + } + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_CONSTRAINT)|libc.Int32FromInt32(WHERE_AUTO_INDEX)) != uint32(0) { + /* Auto-index and index-constrained loops allowed to remain */ + goto _2 + } + (*TWhereLoop)(unsafe.Pointer(pLoop)).Fprereq = uint64(-libc.Int32FromInt32(1)) /* Prevent 2nd solver() from using this one */ + goto _2 + _2: + ; + pLoop = (*TWhereLoop)(unsafe.Pointer(pLoop)).FpNextLoop + } + } else { + break + } + goto _1 + _1: + ; + i++ + } +} + // C documentation // // /* @@ -142352,7 +143533,7 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasStat1) == uint32(0) { break } - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) if i >= int32(1) && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&reqFlags == reqFlags && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_INDEXED)) != uint32(0) { if int32(nSearch) > int32((*TTable)(unsafe.Pointer(pTab)).FnRowLogEst) { *(*Tu32)(unsafe.Pointer(pLoop + 48)) |= uint32(WHERE_BLOOMFILTER) @@ -142367,6 +143548,68 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { } } +// C documentation +// +// /* +// ** Expression Node callback for sqlite3ExprCanReturnSubtype(). +// ** +// ** Only a function call is able to return a subtype. So if the node +// ** is not a function call, return WRC_Prune immediately. +// ** +// ** A function call is able to return a subtype if it has the +// ** SQLITE_RESULT_SUBTYPE property. +// ** +// ** Assume that every function is able to pass-through a subtype from +// ** one of its argument (using sqlite3_result_value()). Most functions +// ** are not this way, but we don't have a mechanism to distinguish those +// ** that are from those that are not, so assume they all work this way. +// ** That means that if one of its arguments is another function and that +// ** other function is able to return a subtype, then this function is +// ** able to return a subtype. +// */ +func _exprNodeCanReturnSubtype(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef uintptr + var n, v1 int32 + _, _, _, _ = db, n, pDef, v1 + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_FUNCTION) { + return int32(WRC_Prune) + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { + v1 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr + } else { + v1 = 0 + } + n = v1 + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + return int32(WRC_Prune) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Return TRUE if expression pExpr is able to return a subtype. +// ** +// ** A TRUE return does not guarantee that a subtype will be returned. +// ** It only indicates that a subtype return is possible. False positives +// ** are acceptable as they only disable an optimization. False negatives, +// ** on the other hand, can lead to incorrect answers. +// */ +func _sqlite3ExprCanReturnSubtype(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeCanReturnSubtype) + _sqlite3WalkExpr(tls, bp, pExpr) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) +} + // C documentation // // /* @@ -142381,9 +143624,9 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { // ** references to the corresponding column of the index. // */ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur int32, pTabItem uintptr) { - var db, p, pArg, pDef, pExpr, pTab uintptr - var i, j, n, v2 int32 - _, _, _, _, _, _, _, _, _, _ = db, i, j, n, p, pArg, pDef, pExpr, pTab, v2 + var i, j int32 + var p, pArg, pExpr, pTab uintptr + _, _, _, _, _, _ = i, j, p, pArg, pExpr, pTab pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable i = 0 for { @@ -142400,21 +143643,14 @@ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur i goto _1 } } - if _sqlite3ExprIsConstant(tls, pExpr) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) != 0 { goto _1 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) { - db = (*TParse)(unsafe.Pointer(pParse)).Fdb - if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { - v2 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr - } else { - v2 = 0 - } - n = v2 - pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) - if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { - goto _1 - } + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) && _sqlite3ExprCanReturnSubtype(tls, pParse, pExpr) != 0 { + /* Functions that might set a subtype should not be replaced by the + ** value taken from an expression index since the index omits the + ** subtype. https://sqlite.org/forum/forumpost/68d284c86b082c3e */ + goto _1 } p = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(32)) if p == uintptr(0) { @@ -142586,7 +143822,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** bits in a Bitmask */ if (*TSrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22542, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22687, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) return uintptr(0) } /* This function normally generates a nested loop for all tables in @@ -142658,7 +143894,9 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere if int32(wctrlFlags)&int32(WHERE_WANT_DISTINCT) != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_DistinctOpt)) == uint32(0) { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_UNIQUE) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22570, 0) + if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FselFlags&uint32(SF_MultiValue) == uint32(0) { + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22715, 0) + } } else { /* Assign a bit from the bitmask to every term in the FROM clause. ** @@ -142790,6 +144028,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere goto whereBeginError } if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy != 0 { + _whereInterstageHeuristic(tls, pWInfo) _wherePathSolver(tls, pWInfo, int16(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut)+int32(1))) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto whereBeginError @@ -143098,10 +144337,10 @@ whereBeginError: // ** sqlite3WhereBegin() for additional information. // */ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { - var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, r1, ws, x, v4, v7 int32 - var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr + var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, r1, ws, x, v4, v7 int32 + var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pTabList = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList @@ -143242,6 +144481,12 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { ws = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags) addr = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfPos), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) if ws&int32(WHERE_IDX_ONLY) == 0 { + pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 + if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x20>>5)) != 0 { + n1 = (*TSrcItem)(unsafe.Pointer(pSrc)).FregResult + m = int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FnCol) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, n1, n1+m-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) } if ws&int32(WHERE_INDEXED) != 0 || ws&int32(WHERE_MULTI_OR) != 0 && *(*uintptr)(unsafe.Pointer(&(*TWhereLevel)(unsafe.Pointer(pLevel)).Fu)) != 0 { @@ -143658,7 +144903,7 @@ func _nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) goto error_out error_out: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22588, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22733, -int32(1)) } func _nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { @@ -143840,7 +145085,7 @@ func _ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { if (*TNtileCtx)(unsafe.Pointer(p)).FnTotal == 0 { (*TNtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg))) if (*TNtileCtx)(unsafe.Pointer(p)).FnParam <= 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22644, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22789, -int32(1)) } } (*TNtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -144166,7 +145411,7 @@ func _windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) (r p = (*TWindow)(unsafe.Pointer(p)).FpNextWin } if p == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22689, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22834, libc.VaList(bp+8, zName)) } return p } @@ -144217,12 +145462,12 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin _sqlite3WindowChain(tls, pParse, pWin, pList) } if int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) == int32(TK_RANGE) && ((*TWindow)(unsafe.Pointer(pWin)).FpStart != 0 || (*TWindow)(unsafe.Pointer(pWin)).FpEnd != 0) && ((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*TExprList)(unsafe.Pointer((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != int32(1)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22708, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22853, 0) } else { if (*TFuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TWindow)(unsafe.Pointer(pWin)).FpFilter != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22779, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22924, 0) } else { aUp = [8]struct { FzFunc uintptr @@ -144295,7 +145540,7 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*TWindow)(unsafe.Pointer(pWin)).FeEnd = uint8(aUp[i].FeEnd) (*TWindow)(unsafe.Pointer(pWin)).FeExclude = uint8(0) if int32((*TWindow)(unsafe.Pointer(pWin)).FeStart) == int32(TK_FOLLOWING) { - (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8162) + (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8287) } break } @@ -144577,7 +145822,7 @@ func _disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintpt bp := tls.Alloc(16) defer tls.Free(16) if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_FUNCTION) && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22842, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) + _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22987, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) } return WRC_Continue } @@ -144718,7 +145963,7 @@ func _sqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { ** keep everything legal in this case. */ if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1754)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1814)) } pSub = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(bp)), pSrc, pWhere, pGroupBy, pHaving, pSort, uint32(0), uintptr(0)) (*TSelect)(unsafe.Pointer(p)).FpSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), uintptr(0), uintptr(0)) @@ -144822,7 +146067,7 @@ func _sqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { // ** variable values in the expression tree. // */ func _sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r uintptr) { - if 0 == _sqlite3ExprIsConstant(tls, pExpr) { + if 0 == _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) { if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameExprUnmap(tls, pParse, pExpr) } @@ -144863,7 +146108,7 @@ func _sqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int3 ** frame boundary. */ if eStart == int32(TK_CURRENT) && eEnd == int32(TK_PRECEDING) || eStart == int32(TK_FOLLOWING) && (eEnd == int32(TK_PRECEDING) || eEnd == int32(TK_CURRENT)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22868, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23013, 0) goto windowAllocErr } pWin = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) @@ -144931,18 +146176,18 @@ func _sqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint zErr = uintptr(0) /* Check for errors */ if (*TWindow)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = __ccgo_ts + 22900 + zErr = __ccgo_ts + 23045 } else { if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*TWindow)(unsafe.Pointer(pWin)).FpOrderBy != 0 { - zErr = __ccgo_ts + 22917 + zErr = __ccgo_ts + 23062 } else { if int32((*TWindow)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = __ccgo_ts + 22933 + zErr = __ccgo_ts + 23078 } } } if zErr != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22953, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23098, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) } else { (*TWindow)(unsafe.Pointer(pWin)).FpPartition = _sqlite3ExprListDup(tls, db, (*TWindow)(unsafe.Pointer(pExist)).FpPartition, 0) if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 { @@ -144966,7 +146211,7 @@ func _sqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(libc.Int32FromInt32(EP_WinFunc) | libc.Int32FromInt32(EP_FullSize)) (*TWindow)(unsafe.Pointer(pWin)).FpOwner = p if (*TExpr)(unsafe.Pointer(p)).Fflags&uint32(EP_Distinct) != 0 && int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) != int32(TK_FILTER) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22986, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23131, 0) } } else { _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -145165,7 +146410,7 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regZero) if eCond >= int32(WINDOW_STARTING_NUM) { regString = _sqlite3GetTempReg(tls, pParse) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1680, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1694, -int32(1)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, _sqlite3VdbeCurrentAddr(tls, v)+int32(2), reg) _sqlite3VdbeChangeP5(tls, v, uint16(libc.Int32FromInt32(SQLITE_AFF_NUMERIC)|libc.Int32FromInt32(SQLITE_JUMPIFNULL))) } else { @@ -145184,11 +146429,11 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { } var _azErr = [5]uintptr{ - 0: __ccgo_ts + 23033, - 1: __ccgo_ts + 23086, - 2: __ccgo_ts + 22588, - 3: __ccgo_ts + 23137, - 4: __ccgo_ts + 23189, + 0: __ccgo_ts + 23178, + 1: __ccgo_ts + 23231, + 2: __ccgo_ts + 22733, + 3: __ccgo_ts + 23282, + 4: __ccgo_ts + 23334, } var _aOp1 = [5]int32{ @@ -145940,7 +147185,7 @@ func _windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal ** the add/subtract is skipped for these, as required. If reg1 is a NULL, ** then the arithmetic is performed, but since adding or subtracting from ** NULL is always NULL anyway, this case is handled as required too. */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1680, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1694, -int32(1)) addrGe = _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, 0, reg1) if op == int32(OP_Ge) && arith == int32(OP_Add) || op == int32(OP_Le) && arith == int32(OP_Subtract) { _sqlite3VdbeAddOp3(tls, v, op, reg2, lbl, reg1) @@ -146968,11 +148213,11 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { cnt++ if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*TSelect)(unsafe.Pointer(pLoop)).FpLimit != 0 { if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - v1 = __ccgo_ts + 23239 + v1 = __ccgo_ts + 23384 } else { - v1 = __ccgo_ts + 23248 + v1 = __ccgo_ts + 23393 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23254, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23399, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) break } } @@ -146981,7 +148226,7 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { mxSelect = v2 } if v3 && v2 > 0 && cnt > mxSelect { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23296, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23441, 0) } } } @@ -147001,6 +148246,23 @@ func _attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith u return pSelect } +// C documentation +// +// /* Memory allocator for parser stack resizing. This is a thin wrapper around +// ** sqlite3_realloc() that includes a call to sqlite3FaultSim() to facilitate +// ** testing. +// */ +func _parserStackRealloc(tls *libc.TLS, pOld uintptr, newSize Tsqlite3_uint64) (r uintptr) { + var v1 uintptr + _ = v1 + if _sqlite3FaultSim(tls, int32(700)) != 0 { + v1 = uintptr(0) + } else { + v1 = Xsqlite3_realloc(tls, pOld, int32(newSize)) + } + return v1 +} + // C documentation // // /* Construct a new Expr object from a single token */ @@ -147070,7 +148332,7 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId _ = p p = _sqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if (hasCollate != 0 || sortOrder != -int32(1)) && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23330, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23475, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) } _sqlite3ExprListSetName(tls, pParse, p, pIdToken, int32(1)) return p @@ -147120,6 +148382,9 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser // ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser // ** sqlite3ParserCTX_* As sqlite3ParserARG_ except for %extra_context +// ** YYREALLOC Name of the realloc() function to use +// ** YYFREE Name of the free() function to use +// ** YYDYNSTACK True if stack space should be extended on heap // ** YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** YYNSTATE the combined number of states. @@ -147133,31 +148398,33 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** YY_NO_ACTION The yy_action[] code for no-op // ** YY_MIN_REDUCE Minimum value for reduce actions // ** YY_MAX_REDUCE Maximum value for reduce actions +// ** YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type TYYMINORTYPE = struct { Fyy0 [0]TToken - Fyy33 [0]uintptr - Fyy41 [0]uintptr - Fyy47 [0]uintptr - Fyy131 [0]uintptr - Fyy180 [0]TTrigEvent - Fyy231 [0]struct { + Fyy14 [0]uintptr + Fyy59 [0]uintptr + Fyy67 [0]uintptr + Fyy122 [0]uintptr + Fyy132 [0]uintptr + Fyy144 [0]int32 + Fyy168 [0]uintptr + Fyy203 [0]uintptr + Fyy211 [0]uintptr + Fyy269 [0]TOnOrUsing + Fyy286 [0]TTrigEvent + Fyy383 [0]struct { Fvalue int32 Fmask int32 } - Fyy254 [0]uintptr - Fyy285 [0]Tu32 - Fyy322 [0]uintptr - Fyy385 [0]uintptr - Fyy394 [0]int32 - Fyy444 [0]uintptr - Fyy516 [0]Tu8 - Fyy521 [0]uintptr - Fyy522 [0]uintptr - Fyy528 [0]uintptr - Fyy561 [0]TOnOrUsing - Fyy595 [0]TFrameBound + Fyy391 [0]Tu32 + Fyy427 [0]uintptr + Fyy454 [0]uintptr + Fyy462 [0]Tu8 + Fyy509 [0]TFrameBound + Fyy555 [0]uintptr Fyyinit int32 F__ccgo_pad20 [12]byte } @@ -147175,6 +148442,13 @@ type YYMINORTYPE = TYYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -147227,2152 +148501,2194 @@ type YYMINORTYPE = TYYMINORTYPE // ** yy_default[] Default action for each state. // ** // *********** Begin parsing tables **********************************************/ -var _yy_action = [2100]uint16{ - 0: uint16(572), - 1: uint16(210), - 2: uint16(572), - 3: uint16(119), - 4: uint16(116), - 5: uint16(231), - 6: uint16(572), - 7: uint16(119), - 8: uint16(116), - 9: uint16(231), - 10: uint16(572), - 11: uint16(1317), - 12: uint16(379), - 13: uint16(1296), - 14: uint16(410), - 15: uint16(566), - 16: uint16(566), - 17: uint16(566), - 18: uint16(572), - 19: uint16(411), - 20: uint16(380), - 21: uint16(1317), - 22: uint16(1279), - 23: uint16(42), - 24: uint16(42), - 25: uint16(42), - 26: uint16(42), - 27: uint16(210), - 28: uint16(1529), - 29: uint16(72), - 30: uint16(72), - 31: uint16(974), - 32: uint16(421), - 33: uint16(42), - 34: uint16(42), - 35: uint16(495), - 36: uint16(305), - 37: uint16(281), - 38: uint16(305), - 39: uint16(975), - 40: uint16(399), - 41: uint16(72), - 42: uint16(72), - 43: uint16(126), - 44: uint16(127), - 45: uint16(81), - 46: uint16(1217), - 47: uint16(1217), - 48: uint16(1054), - 49: uint16(1057), - 50: uint16(1044), - 51: uint16(1044), - 52: uint16(124), - 53: uint16(124), - 54: uint16(125), - 55: uint16(125), - 56: uint16(125), - 57: uint16(125), - 58: uint16(480), - 59: uint16(411), - 60: uint16(1244), - 61: uint16(1), - 62: uint16(1), - 63: uint16(578), - 64: uint16(2), - 65: uint16(1248), - 66: uint16(554), - 67: uint16(119), - 68: uint16(116), - 69: uint16(231), - 70: uint16(319), - 71: uint16(484), - 72: uint16(147), - 73: uint16(484), - 74: uint16(528), - 75: uint16(119), - 76: uint16(116), - 77: uint16(231), - 78: uint16(533), - 79: uint16(1330), - 80: uint16(419), - 81: uint16(527), - 82: uint16(143), - 83: uint16(126), - 84: uint16(127), - 85: uint16(81), - 86: uint16(1217), - 87: uint16(1217), - 88: uint16(1054), - 89: uint16(1057), - 90: uint16(1044), - 91: uint16(1044), - 92: uint16(124), - 93: uint16(124), - 94: uint16(125), - 95: uint16(125), - 96: uint16(125), - 97: uint16(125), - 98: uint16(119), - 99: uint16(116), - 100: uint16(231), - 101: uint16(329), - 102: uint16(123), - 103: uint16(123), - 104: uint16(123), - 105: uint16(123), - 106: uint16(122), - 107: uint16(122), - 108: uint16(121), - 109: uint16(121), - 110: uint16(121), - 111: uint16(120), - 112: uint16(117), - 113: uint16(448), - 114: uint16(286), - 115: uint16(286), - 116: uint16(286), - 117: uint16(286), - 118: uint16(446), - 119: uint16(446), - 120: uint16(446), - 121: uint16(1568), - 122: uint16(378), - 123: uint16(1570), - 124: uint16(1193), - 125: uint16(377), - 126: uint16(1164), - 127: uint16(569), - 128: uint16(1164), - 129: uint16(569), - 130: uint16(411), - 131: uint16(1568), - 132: uint16(541), - 133: uint16(261), - 134: uint16(228), - 135: uint16(448), - 136: uint16(102), - 137: uint16(146), - 138: uint16(453), - 139: uint16(318), - 140: uint16(563), - 141: uint16(242), - 142: uint16(123), - 143: uint16(123), - 144: uint16(123), - 145: uint16(123), - 146: uint16(122), - 147: uint16(122), - 148: uint16(121), - 149: uint16(121), - 150: uint16(121), - 151: uint16(120), - 152: uint16(117), - 153: uint16(448), - 154: uint16(126), - 155: uint16(127), - 156: uint16(81), - 157: uint16(1217), - 158: uint16(1217), - 159: uint16(1054), - 160: uint16(1057), - 161: uint16(1044), - 162: uint16(1044), - 163: uint16(124), - 164: uint16(124), - 165: uint16(125), - 166: uint16(125), - 167: uint16(125), - 168: uint16(125), - 169: uint16(143), - 170: uint16(296), - 171: uint16(1193), - 172: uint16(341), - 173: uint16(452), - 174: uint16(121), - 175: uint16(121), - 176: uint16(121), - 177: uint16(120), - 178: uint16(117), - 179: uint16(448), - 180: uint16(128), - 181: uint16(1193), - 182: uint16(1194), - 183: uint16(1193), - 184: uint16(149), - 185: uint16(445), - 186: uint16(444), - 187: uint16(572), - 188: uint16(120), - 189: uint16(117), - 190: uint16(448), - 191: uint16(125), - 192: uint16(125), - 193: uint16(125), - 194: uint16(125), - 195: uint16(118), - 196: uint16(123), - 197: uint16(123), - 198: uint16(123), - 199: uint16(123), - 200: uint16(122), - 201: uint16(122), - 202: uint16(121), - 203: uint16(121), - 204: uint16(121), - 205: uint16(120), - 206: uint16(117), - 207: uint16(448), - 208: uint16(458), - 209: uint16(114), - 210: uint16(13), - 211: uint16(13), - 212: uint16(550), - 213: uint16(123), - 214: uint16(123), - 215: uint16(123), - 216: uint16(123), - 217: uint16(122), - 218: uint16(122), - 219: uint16(121), - 220: uint16(121), - 221: uint16(121), - 222: uint16(120), - 223: uint16(117), - 224: uint16(448), - 225: uint16(424), - 226: uint16(318), - 227: uint16(563), - 228: uint16(1193), - 229: uint16(1194), - 230: uint16(1193), - 231: uint16(150), - 232: uint16(1225), - 233: uint16(411), - 234: uint16(1225), - 235: uint16(125), - 236: uint16(125), - 237: uint16(125), - 238: uint16(125), - 239: uint16(123), - 240: uint16(123), - 241: uint16(123), - 242: uint16(123), - 243: uint16(122), - 244: uint16(122), - 245: uint16(121), - 246: uint16(121), - 247: uint16(121), - 248: uint16(120), - 249: uint16(117), - 250: uint16(448), - 251: uint16(469), - 252: uint16(344), - 253: uint16(1041), - 254: uint16(1041), - 255: uint16(1055), - 256: uint16(1058), - 257: uint16(126), - 258: uint16(127), - 259: uint16(81), - 260: uint16(1217), - 261: uint16(1217), - 262: uint16(1054), - 263: uint16(1057), - 264: uint16(1044), - 265: uint16(1044), - 266: uint16(124), - 267: uint16(124), - 268: uint16(125), - 269: uint16(125), - 270: uint16(125), - 271: uint16(125), - 272: uint16(1282), - 273: uint16(526), - 274: uint16(224), - 275: uint16(1193), - 276: uint16(572), - 277: uint16(411), - 278: uint16(226), - 279: uint16(519), - 280: uint16(177), - 281: uint16(83), - 282: uint16(84), - 283: uint16(123), - 284: uint16(123), - 285: uint16(123), - 286: uint16(123), - 287: uint16(122), - 288: uint16(122), - 289: uint16(121), - 290: uint16(121), - 291: uint16(121), - 292: uint16(120), - 293: uint16(117), - 294: uint16(448), - 295: uint16(1010), - 296: uint16(16), - 297: uint16(16), - 298: uint16(1193), - 299: uint16(134), - 300: uint16(134), - 301: uint16(126), - 302: uint16(127), - 303: uint16(81), - 304: uint16(1217), - 305: uint16(1217), - 306: uint16(1054), - 307: uint16(1057), - 308: uint16(1044), - 309: uint16(1044), - 310: uint16(124), - 311: uint16(124), - 312: uint16(125), - 313: uint16(125), - 314: uint16(125), - 315: uint16(125), - 316: uint16(123), - 317: uint16(123), - 318: uint16(123), - 319: uint16(123), - 320: uint16(122), - 321: uint16(122), - 322: uint16(121), - 323: uint16(121), - 324: uint16(121), - 325: uint16(120), - 326: uint16(117), - 327: uint16(448), - 328: uint16(1045), - 329: uint16(550), - 330: uint16(1193), - 331: uint16(375), - 332: uint16(1193), - 333: uint16(1194), - 334: uint16(1193), - 335: uint16(254), - 336: uint16(1438), - 337: uint16(401), - 338: uint16(508), - 339: uint16(505), - 340: uint16(504), - 341: uint16(112), - 342: uint16(564), - 343: uint16(570), +var _yy_action = [2142]uint16{ + 0: uint16(576), + 1: uint16(128), + 2: uint16(125), + 3: uint16(232), + 4: uint16(1622), + 5: uint16(549), + 6: uint16(576), + 7: uint16(1290), + 8: uint16(1281), + 9: uint16(576), + 10: uint16(328), + 11: uint16(576), + 12: uint16(1300), + 13: uint16(212), + 14: uint16(576), + 15: uint16(128), + 16: uint16(125), + 17: uint16(232), + 18: uint16(578), + 19: uint16(412), + 20: uint16(578), + 21: uint16(391), + 22: uint16(1542), + 23: uint16(51), + 24: uint16(51), + 25: uint16(523), + 26: uint16(405), + 27: uint16(1293), + 28: uint16(529), + 29: uint16(51), + 30: uint16(51), + 31: uint16(983), + 32: uint16(51), + 33: uint16(51), + 34: uint16(81), + 35: uint16(81), + 36: uint16(1107), + 37: uint16(61), + 38: uint16(61), + 39: uint16(984), + 40: uint16(1107), + 41: uint16(1292), + 42: uint16(380), + 43: uint16(135), + 44: uint16(136), + 45: uint16(90), + 46: uint16(1228), + 47: uint16(1228), + 48: uint16(1063), + 49: uint16(1066), + 50: uint16(1053), + 51: uint16(1053), + 52: uint16(133), + 53: uint16(133), + 54: uint16(134), + 55: uint16(134), + 56: uint16(134), + 57: uint16(134), + 58: uint16(1577), + 59: uint16(412), + 60: uint16(287), + 61: uint16(287), + 62: uint16(7), + 63: uint16(287), + 64: uint16(287), + 65: uint16(422), + 66: uint16(1050), + 67: uint16(1050), + 68: uint16(1064), + 69: uint16(1067), + 70: uint16(289), + 71: uint16(556), + 72: uint16(492), + 73: uint16(573), + 74: uint16(524), + 75: uint16(561), + 76: uint16(573), + 77: uint16(497), + 78: uint16(561), + 79: uint16(482), + 80: uint16(530), + 81: uint16(262), + 82: uint16(229), + 83: uint16(135), + 84: uint16(136), + 85: uint16(90), + 86: uint16(1228), + 87: uint16(1228), + 88: uint16(1063), + 89: uint16(1066), + 90: uint16(1053), + 91: uint16(1053), + 92: uint16(133), + 93: uint16(133), + 94: uint16(134), + 95: uint16(134), + 96: uint16(134), + 97: uint16(134), + 98: uint16(128), + 99: uint16(125), + 100: uint16(232), + 101: uint16(1506), + 102: uint16(132), + 103: uint16(132), + 104: uint16(132), + 105: uint16(132), + 106: uint16(131), + 107: uint16(131), + 108: uint16(130), + 109: uint16(130), + 110: uint16(130), + 111: uint16(129), + 112: uint16(126), + 113: uint16(450), + 114: uint16(1204), + 115: uint16(1255), + 116: uint16(1), + 117: uint16(1), + 118: uint16(582), + 119: uint16(2), + 120: uint16(1259), + 121: uint16(1571), + 122: uint16(420), + 123: uint16(1582), + 124: uint16(379), + 125: uint16(320), + 126: uint16(1174), + 127: uint16(153), + 128: uint16(1174), + 129: uint16(1584), + 130: uint16(412), + 131: uint16(378), + 132: uint16(1582), + 133: uint16(543), + 134: uint16(1341), + 135: uint16(330), + 136: uint16(111), + 137: uint16(570), + 138: uint16(570), + 139: uint16(570), + 140: uint16(293), + 141: uint16(1054), + 142: uint16(132), + 143: uint16(132), + 144: uint16(132), + 145: uint16(132), + 146: uint16(131), + 147: uint16(131), + 148: uint16(130), + 149: uint16(130), + 150: uint16(130), + 151: uint16(129), + 152: uint16(126), + 153: uint16(450), + 154: uint16(135), + 155: uint16(136), + 156: uint16(90), + 157: uint16(1228), + 158: uint16(1228), + 159: uint16(1063), + 160: uint16(1066), + 161: uint16(1053), + 162: uint16(1053), + 163: uint16(133), + 164: uint16(133), + 165: uint16(134), + 166: uint16(134), + 167: uint16(134), + 168: uint16(134), + 169: uint16(287), + 170: uint16(287), + 171: uint16(1204), + 172: uint16(1205), + 173: uint16(1204), + 174: uint16(255), + 175: uint16(287), + 176: uint16(287), + 177: uint16(510), + 178: uint16(507), + 179: uint16(506), + 180: uint16(137), + 181: uint16(455), + 182: uint16(573), + 183: uint16(212), + 184: uint16(561), + 185: uint16(447), + 186: uint16(446), + 187: uint16(505), + 188: uint16(573), + 189: uint16(1616), + 190: uint16(561), + 191: uint16(134), + 192: uint16(134), + 193: uint16(134), + 194: uint16(134), + 195: uint16(127), + 196: uint16(400), + 197: uint16(243), + 198: uint16(132), + 199: uint16(132), + 200: uint16(132), + 201: uint16(132), + 202: uint16(131), + 203: uint16(131), + 204: uint16(130), + 205: uint16(130), + 206: uint16(130), + 207: uint16(129), + 208: uint16(126), + 209: uint16(450), + 210: uint16(282), + 211: uint16(471), + 212: uint16(345), + 213: uint16(132), + 214: uint16(132), + 215: uint16(132), + 216: uint16(132), + 217: uint16(131), + 218: uint16(131), + 219: uint16(130), + 220: uint16(130), + 221: uint16(130), + 222: uint16(129), + 223: uint16(126), + 224: uint16(450), + 225: uint16(574), + 226: uint16(155), + 227: uint16(936), + 228: uint16(936), + 229: uint16(454), + 230: uint16(227), + 231: uint16(521), + 232: uint16(1236), + 233: uint16(412), + 234: uint16(1236), + 235: uint16(134), + 236: uint16(134), + 237: uint16(134), + 238: uint16(134), + 239: uint16(132), + 240: uint16(132), + 241: uint16(132), + 242: uint16(132), + 243: uint16(131), + 244: uint16(131), + 245: uint16(130), + 246: uint16(130), + 247: uint16(130), + 248: uint16(129), + 249: uint16(126), + 250: uint16(450), + 251: uint16(130), + 252: uint16(130), + 253: uint16(130), + 254: uint16(129), + 255: uint16(126), + 256: uint16(450), + 257: uint16(135), + 258: uint16(136), + 259: uint16(90), + 260: uint16(1228), + 261: uint16(1228), + 262: uint16(1063), + 263: uint16(1066), + 264: uint16(1053), + 265: uint16(1053), + 266: uint16(133), + 267: uint16(133), + 268: uint16(134), + 269: uint16(134), + 270: uint16(134), + 271: uint16(134), + 272: uint16(128), + 273: uint16(125), + 274: uint16(232), + 275: uint16(450), + 276: uint16(576), + 277: uint16(412), + 278: uint16(397), + 279: uint16(1249), + 280: uint16(180), + 281: uint16(92), + 282: uint16(93), + 283: uint16(132), + 284: uint16(132), + 285: uint16(132), + 286: uint16(132), + 287: uint16(131), + 288: uint16(131), + 289: uint16(130), + 290: uint16(130), + 291: uint16(130), + 292: uint16(129), + 293: uint16(126), + 294: uint16(450), + 295: uint16(381), + 296: uint16(387), + 297: uint16(1204), + 298: uint16(383), + 299: uint16(81), + 300: uint16(81), + 301: uint16(135), + 302: uint16(136), + 303: uint16(90), + 304: uint16(1228), + 305: uint16(1228), + 306: uint16(1063), + 307: uint16(1066), + 308: uint16(1053), + 309: uint16(1053), + 310: uint16(133), + 311: uint16(133), + 312: uint16(134), + 313: uint16(134), + 314: uint16(134), + 315: uint16(134), + 316: uint16(132), + 317: uint16(132), + 318: uint16(132), + 319: uint16(132), + 320: uint16(131), + 321: uint16(131), + 322: uint16(130), + 323: uint16(130), + 324: uint16(130), + 325: uint16(129), + 326: uint16(126), + 327: uint16(450), + 328: uint16(131), + 329: uint16(131), + 330: uint16(130), + 331: uint16(130), + 332: uint16(130), + 333: uint16(129), + 334: uint16(126), + 335: uint16(450), + 336: uint16(556), + 337: uint16(1204), + 338: uint16(302), + 339: uint16(319), + 340: uint16(567), + 341: uint16(121), + 342: uint16(568), + 343: uint16(480), 344: uint16(4), - 345: uint16(929), - 346: uint16(929), - 347: uint16(435), - 348: uint16(503), - 349: uint16(342), - 350: uint16(464), - 351: uint16(330), - 352: uint16(362), - 353: uint16(396), - 354: uint16(1238), - 355: uint16(1193), - 356: uint16(1194), - 357: uint16(1193), - 358: uint16(567), - 359: uint16(572), - 360: uint16(123), - 361: uint16(123), - 362: uint16(123), - 363: uint16(123), - 364: uint16(122), - 365: uint16(122), - 366: uint16(121), - 367: uint16(121), - 368: uint16(121), - 369: uint16(120), - 370: uint16(117), - 371: uint16(448), - 372: uint16(286), - 373: uint16(286), - 374: uint16(371), - 375: uint16(1581), - 376: uint16(1607), - 377: uint16(445), - 378: uint16(444), - 379: uint16(155), - 380: uint16(411), - 381: uint16(449), - 382: uint16(72), - 383: uint16(72), - 384: uint16(1289), - 385: uint16(569), - 386: uint16(1222), - 387: uint16(1193), - 388: uint16(1194), - 389: uint16(1193), - 390: uint16(86), - 391: uint16(1224), - 392: uint16(273), - 393: uint16(561), - 394: uint16(547), - 395: uint16(520), - 396: uint16(520), - 397: uint16(572), - 398: uint16(99), - 399: uint16(1223), - 400: uint16(6), - 401: uint16(1281), - 402: uint16(476), - 403: uint16(143), - 404: uint16(126), - 405: uint16(127), - 406: uint16(81), - 407: uint16(1217), - 408: uint16(1217), - 409: uint16(1054), - 410: uint16(1057), - 411: uint16(1044), - 412: uint16(1044), - 413: uint16(124), - 414: uint16(124), - 415: uint16(125), - 416: uint16(125), - 417: uint16(125), - 418: uint16(125), - 419: uint16(554), - 420: uint16(13), - 421: uint16(13), - 422: uint16(1031), - 423: uint16(511), - 424: uint16(1225), - 425: uint16(1193), - 426: uint16(1225), - 427: uint16(553), - 428: uint16(110), - 429: uint16(110), - 430: uint16(224), - 431: uint16(572), - 432: uint16(1239), - 433: uint16(177), - 434: uint16(572), - 435: uint16(429), - 436: uint16(111), - 437: uint16(199), - 438: uint16(449), - 439: uint16(573), - 440: uint16(449), - 441: uint16(432), - 442: uint16(1555), - 443: uint16(1019), - 444: uint16(327), - 445: uint16(555), - 446: uint16(1193), - 447: uint16(272), - 448: uint16(289), - 449: uint16(370), - 450: uint16(514), - 451: uint16(365), - 452: uint16(513), - 453: uint16(259), - 454: uint16(72), - 455: uint16(72), - 456: uint16(547), - 457: uint16(72), - 458: uint16(72), - 459: uint16(361), - 460: uint16(318), - 461: uint16(563), - 462: uint16(1613), - 463: uint16(123), - 464: uint16(123), - 465: uint16(123), - 466: uint16(123), - 467: uint16(122), - 468: uint16(122), - 469: uint16(121), - 470: uint16(121), - 471: uint16(121), - 472: uint16(120), - 473: uint16(117), - 474: uint16(448), - 475: uint16(1019), - 476: uint16(1019), - 477: uint16(1021), - 478: uint16(1022), - 479: uint16(28), - 480: uint16(286), - 481: uint16(286), - 482: uint16(1193), - 483: uint16(1194), - 484: uint16(1193), - 485: uint16(1159), - 486: uint16(572), - 487: uint16(1612), - 488: uint16(411), - 489: uint16(904), - 490: uint16(192), - 491: uint16(554), - 492: uint16(358), - 493: uint16(569), - 494: uint16(554), - 495: uint16(940), - 496: uint16(537), - 497: uint16(521), - 498: uint16(1159), - 499: uint16(437), - 500: uint16(415), - 501: uint16(1159), - 502: uint16(556), - 503: uint16(1193), - 504: uint16(1194), - 505: uint16(1193), - 506: uint16(572), - 507: uint16(548), - 508: uint16(548), - 509: uint16(52), - 510: uint16(52), - 511: uint16(216), - 512: uint16(126), - 513: uint16(127), - 514: uint16(81), - 515: uint16(1217), - 516: uint16(1217), - 517: uint16(1054), - 518: uint16(1057), - 519: uint16(1044), - 520: uint16(1044), - 521: uint16(124), - 522: uint16(124), - 523: uint16(125), - 524: uint16(125), - 525: uint16(125), - 526: uint16(125), - 527: uint16(1193), - 528: uint16(478), - 529: uint16(136), - 530: uint16(136), - 531: uint16(411), - 532: uint16(286), - 533: uint16(286), - 534: uint16(1493), - 535: uint16(509), - 536: uint16(122), - 537: uint16(122), - 538: uint16(121), - 539: uint16(121), - 540: uint16(121), - 541: uint16(120), - 542: uint16(117), - 543: uint16(448), - 544: uint16(1010), - 545: uint16(569), - 546: uint16(522), - 547: uint16(219), - 548: uint16(545), - 549: uint16(545), - 550: uint16(318), - 551: uint16(563), - 552: uint16(143), - 553: uint16(6), - 554: uint16(536), - 555: uint16(126), - 556: uint16(127), - 557: uint16(81), - 558: uint16(1217), - 559: uint16(1217), - 560: uint16(1054), - 561: uint16(1057), - 562: uint16(1044), - 563: uint16(1044), - 564: uint16(124), - 565: uint16(124), - 566: uint16(125), - 567: uint16(125), - 568: uint16(125), - 569: uint16(125), - 570: uint16(1557), - 571: uint16(123), - 572: uint16(123), - 573: uint16(123), - 574: uint16(123), - 575: uint16(122), - 576: uint16(122), - 577: uint16(121), - 578: uint16(121), - 579: uint16(121), - 580: uint16(120), - 581: uint16(117), - 582: uint16(448), - 583: uint16(489), - 584: uint16(1193), - 585: uint16(1194), - 586: uint16(1193), - 587: uint16(486), - 588: uint16(283), - 589: uint16(1270), - 590: uint16(960), - 591: uint16(254), - 592: uint16(1193), - 593: uint16(375), - 594: uint16(508), - 595: uint16(505), - 596: uint16(504), - 597: uint16(1193), - 598: uint16(342), - 599: uint16(574), - 600: uint16(1193), - 601: uint16(574), - 602: uint16(411), - 603: uint16(294), - 604: uint16(503), - 605: uint16(960), - 606: uint16(879), - 607: uint16(193), - 608: uint16(484), - 609: uint16(318), - 610: uint16(563), - 611: uint16(386), - 612: uint16(292), - 613: uint16(382), - 614: uint16(123), - 615: uint16(123), - 616: uint16(123), - 617: uint16(123), - 618: uint16(122), - 619: uint16(122), - 620: uint16(121), - 621: uint16(121), - 622: uint16(121), - 623: uint16(120), - 624: uint16(117), - 625: uint16(448), - 626: uint16(126), - 627: uint16(127), - 628: uint16(81), - 629: uint16(1217), - 630: uint16(1217), - 631: uint16(1054), - 632: uint16(1057), - 633: uint16(1044), - 634: uint16(1044), - 635: uint16(124), - 636: uint16(124), - 637: uint16(125), - 638: uint16(125), - 639: uint16(125), - 640: uint16(125), - 641: uint16(411), - 642: uint16(396), - 643: uint16(1139), - 644: uint16(1193), - 645: uint16(872), - 646: uint16(101), - 647: uint16(286), - 648: uint16(286), - 649: uint16(1193), - 650: uint16(1194), - 651: uint16(1193), - 652: uint16(375), - 653: uint16(1096), - 654: uint16(1193), - 655: uint16(1194), - 656: uint16(1193), - 657: uint16(1193), - 658: uint16(1194), - 659: uint16(1193), - 660: uint16(569), - 661: uint16(459), - 662: uint16(33), - 663: uint16(375), - 664: uint16(235), - 665: uint16(126), - 666: uint16(127), - 667: uint16(81), - 668: uint16(1217), - 669: uint16(1217), - 670: uint16(1054), - 671: uint16(1057), - 672: uint16(1044), - 673: uint16(1044), - 674: uint16(124), - 675: uint16(124), - 676: uint16(125), - 677: uint16(125), - 678: uint16(125), - 679: uint16(125), - 680: uint16(1437), - 681: uint16(962), - 682: uint16(572), - 683: uint16(230), - 684: uint16(961), - 685: uint16(123), - 686: uint16(123), - 687: uint16(123), - 688: uint16(123), - 689: uint16(122), - 690: uint16(122), - 691: uint16(121), - 692: uint16(121), - 693: uint16(121), - 694: uint16(120), - 695: uint16(117), - 696: uint16(448), - 697: uint16(1159), - 698: uint16(230), - 699: uint16(1193), - 700: uint16(158), - 701: uint16(1193), - 702: uint16(1194), - 703: uint16(1193), - 704: uint16(1556), - 705: uint16(13), - 706: uint16(13), - 707: uint16(303), - 708: uint16(960), - 709: uint16(1233), - 710: uint16(1159), - 711: uint16(154), - 712: uint16(411), - 713: uint16(1159), - 714: uint16(375), - 715: uint16(1584), - 716: uint16(1177), - 717: uint16(5), - 718: uint16(371), - 719: uint16(1581), - 720: uint16(431), - 721: uint16(1239), - 722: uint16(3), - 723: uint16(960), - 724: uint16(123), - 725: uint16(123), - 726: uint16(123), - 727: uint16(123), - 728: uint16(122), - 729: uint16(122), - 730: uint16(121), - 731: uint16(121), - 732: uint16(121), - 733: uint16(120), - 734: uint16(117), - 735: uint16(448), - 736: uint16(126), - 737: uint16(127), - 738: uint16(81), - 739: uint16(1217), - 740: uint16(1217), - 741: uint16(1054), - 742: uint16(1057), - 743: uint16(1044), - 744: uint16(1044), - 745: uint16(124), - 746: uint16(124), - 747: uint16(125), - 748: uint16(125), - 749: uint16(125), - 750: uint16(125), - 751: uint16(411), - 752: uint16(210), - 753: uint16(571), - 754: uint16(1193), - 755: uint16(1032), - 756: uint16(1193), - 757: uint16(1194), - 758: uint16(1193), - 759: uint16(1193), - 760: uint16(390), - 761: uint16(855), - 762: uint16(156), - 763: uint16(1555), - 764: uint16(376), - 765: uint16(404), - 766: uint16(1101), - 767: uint16(1101), - 768: uint16(492), - 769: uint16(572), - 770: uint16(469), - 771: uint16(344), - 772: uint16(1322), - 773: uint16(1322), - 774: uint16(1555), - 775: uint16(126), - 776: uint16(127), - 777: uint16(81), - 778: uint16(1217), - 779: uint16(1217), - 780: uint16(1054), - 781: uint16(1057), - 782: uint16(1044), - 783: uint16(1044), - 784: uint16(124), - 785: uint16(124), - 786: uint16(125), - 787: uint16(125), - 788: uint16(125), - 789: uint16(125), - 790: uint16(130), - 791: uint16(572), - 792: uint16(13), - 793: uint16(13), - 794: uint16(532), - 795: uint16(123), - 796: uint16(123), - 797: uint16(123), - 798: uint16(123), - 799: uint16(122), - 800: uint16(122), - 801: uint16(121), - 802: uint16(121), - 803: uint16(121), - 804: uint16(120), - 805: uint16(117), - 806: uint16(448), - 807: uint16(304), - 808: uint16(572), - 809: uint16(457), - 810: uint16(229), - 811: uint16(1193), - 812: uint16(1194), - 813: uint16(1193), - 814: uint16(13), - 815: uint16(13), - 816: uint16(1193), - 817: uint16(1194), - 818: uint16(1193), - 819: uint16(1300), - 820: uint16(467), - 821: uint16(1270), - 822: uint16(411), - 823: uint16(1320), - 824: uint16(1320), - 825: uint16(1555), - 826: uint16(1015), - 827: uint16(457), - 828: uint16(456), - 829: uint16(436), - 830: uint16(301), - 831: uint16(72), - 832: uint16(72), - 833: uint16(1268), - 834: uint16(123), - 835: uint16(123), - 836: uint16(123), - 837: uint16(123), - 838: uint16(122), - 839: uint16(122), - 840: uint16(121), - 841: uint16(121), - 842: uint16(121), - 843: uint16(120), - 844: uint16(117), - 845: uint16(448), - 846: uint16(126), - 847: uint16(127), - 848: uint16(81), - 849: uint16(1217), - 850: uint16(1217), - 851: uint16(1054), - 852: uint16(1057), - 853: uint16(1044), - 854: uint16(1044), - 855: uint16(124), - 856: uint16(124), - 857: uint16(125), - 858: uint16(125), - 859: uint16(125), - 860: uint16(125), - 861: uint16(411), - 862: uint16(384), - 863: uint16(1076), - 864: uint16(1159), - 865: uint16(286), - 866: uint16(286), - 867: uint16(421), - 868: uint16(314), - 869: uint16(280), - 870: uint16(280), - 871: uint16(287), - 872: uint16(287), - 873: uint16(461), - 874: uint16(408), - 875: uint16(407), - 876: uint16(1539), - 877: uint16(1159), - 878: uint16(569), - 879: uint16(572), - 880: uint16(1159), - 881: uint16(1196), - 882: uint16(569), - 883: uint16(409), - 884: uint16(569), - 885: uint16(126), - 886: uint16(127), - 887: uint16(81), - 888: uint16(1217), - 889: uint16(1217), - 890: uint16(1054), - 891: uint16(1057), - 892: uint16(1044), - 893: uint16(1044), - 894: uint16(124), - 895: uint16(124), - 896: uint16(125), - 897: uint16(125), - 898: uint16(125), - 899: uint16(125), - 900: uint16(457), - 901: uint16(1485), - 902: uint16(13), - 903: uint16(13), - 904: uint16(1541), - 905: uint16(123), - 906: uint16(123), - 907: uint16(123), - 908: uint16(123), - 909: uint16(122), - 910: uint16(122), - 911: uint16(121), - 912: uint16(121), - 913: uint16(121), - 914: uint16(120), - 915: uint16(117), - 916: uint16(448), - 917: uint16(202), - 918: uint16(572), - 919: uint16(462), - 920: uint16(1587), - 921: uint16(578), - 922: uint16(2), - 923: uint16(1248), - 924: uint16(843), - 925: uint16(844), - 926: uint16(845), - 927: uint16(1563), - 928: uint16(319), - 929: uint16(409), - 930: uint16(147), - 931: uint16(6), - 932: uint16(411), - 933: uint16(257), - 934: uint16(256), - 935: uint16(255), - 936: uint16(208), - 937: uint16(1330), - 938: uint16(9), - 939: uint16(1196), - 940: uint16(264), - 941: uint16(72), - 942: uint16(72), - 943: uint16(1436), - 944: uint16(123), - 945: uint16(123), - 946: uint16(123), - 947: uint16(123), - 948: uint16(122), - 949: uint16(122), - 950: uint16(121), - 951: uint16(121), - 952: uint16(121), - 953: uint16(120), - 954: uint16(117), - 955: uint16(448), - 956: uint16(126), - 957: uint16(127), - 958: uint16(81), - 959: uint16(1217), - 960: uint16(1217), - 961: uint16(1054), - 962: uint16(1057), - 963: uint16(1044), - 964: uint16(1044), - 965: uint16(124), - 966: uint16(124), - 967: uint16(125), - 968: uint16(125), - 969: uint16(125), - 970: uint16(125), - 971: uint16(572), - 972: uint16(286), - 973: uint16(286), - 974: uint16(572), - 975: uint16(1213), - 976: uint16(411), - 977: uint16(577), - 978: uint16(315), - 979: uint16(1248), - 980: uint16(421), - 981: uint16(371), - 982: uint16(1581), - 983: uint16(356), - 984: uint16(319), - 985: uint16(569), - 986: uint16(147), - 987: uint16(495), - 988: uint16(529), - 989: uint16(1644), - 990: uint16(397), - 991: uint16(935), - 992: uint16(495), - 993: uint16(1330), - 994: uint16(71), - 995: uint16(71), - 996: uint16(934), - 997: uint16(72), - 998: uint16(72), - 999: uint16(242), - 1000: uint16(1328), - 1001: uint16(105), - 1002: uint16(81), - 1003: uint16(1217), - 1004: uint16(1217), - 1005: uint16(1054), - 1006: uint16(1057), - 1007: uint16(1044), - 1008: uint16(1044), - 1009: uint16(124), - 1010: uint16(124), - 1011: uint16(125), - 1012: uint16(125), - 1013: uint16(125), - 1014: uint16(125), - 1015: uint16(123), - 1016: uint16(123), - 1017: uint16(123), - 1018: uint16(123), - 1019: uint16(122), - 1020: uint16(122), - 1021: uint16(121), - 1022: uint16(121), - 1023: uint16(121), - 1024: uint16(120), - 1025: uint16(117), - 1026: uint16(448), - 1027: uint16(1117), - 1028: uint16(286), - 1029: uint16(286), - 1030: uint16(1422), - 1031: uint16(452), - 1032: uint16(1528), - 1033: uint16(1213), - 1034: uint16(443), - 1035: uint16(286), - 1036: uint16(286), - 1037: uint16(1492), - 1038: uint16(1355), - 1039: uint16(313), - 1040: uint16(478), - 1041: uint16(569), - 1042: uint16(1118), - 1043: uint16(454), - 1044: uint16(351), - 1045: uint16(495), - 1046: uint16(354), - 1047: uint16(1266), - 1048: uint16(569), - 1049: uint16(209), - 1050: uint16(572), - 1051: uint16(418), - 1052: uint16(179), - 1053: uint16(572), - 1054: uint16(1031), - 1055: uint16(242), - 1056: uint16(385), - 1057: uint16(1119), - 1058: uint16(523), - 1059: uint16(123), - 1060: uint16(123), - 1061: uint16(123), - 1062: uint16(123), - 1063: uint16(122), - 1064: uint16(122), - 1065: uint16(121), - 1066: uint16(121), - 1067: uint16(121), - 1068: uint16(120), - 1069: uint16(117), - 1070: uint16(448), - 1071: uint16(1020), - 1072: uint16(108), - 1073: uint16(72), - 1074: uint16(72), - 1075: uint16(1019), - 1076: uint16(13), - 1077: uint16(13), - 1078: uint16(915), - 1079: uint16(572), - 1080: uint16(1498), - 1081: uint16(572), - 1082: uint16(286), - 1083: uint16(286), - 1084: uint16(98), - 1085: uint16(530), - 1086: uint16(1537), - 1087: uint16(452), - 1088: uint16(916), - 1089: uint16(1334), - 1090: uint16(1329), - 1091: uint16(203), - 1092: uint16(411), - 1093: uint16(286), - 1094: uint16(286), - 1095: uint16(569), - 1096: uint16(152), - 1097: uint16(211), - 1098: uint16(1498), - 1099: uint16(1500), - 1100: uint16(426), - 1101: uint16(569), - 1102: uint16(56), - 1103: uint16(56), - 1104: uint16(57), - 1105: uint16(57), - 1106: uint16(569), - 1107: uint16(1019), - 1108: uint16(1019), - 1109: uint16(1021), - 1110: uint16(447), - 1111: uint16(572), - 1112: uint16(411), - 1113: uint16(531), - 1114: uint16(12), - 1115: uint16(297), - 1116: uint16(126), - 1117: uint16(127), - 1118: uint16(81), - 1119: uint16(1217), - 1120: uint16(1217), - 1121: uint16(1054), - 1122: uint16(1057), - 1123: uint16(1044), - 1124: uint16(1044), - 1125: uint16(124), - 1126: uint16(124), - 1127: uint16(125), - 1128: uint16(125), - 1129: uint16(125), - 1130: uint16(125), - 1131: uint16(572), - 1132: uint16(411), - 1133: uint16(867), - 1134: uint16(15), - 1135: uint16(15), - 1136: uint16(126), - 1137: uint16(127), - 1138: uint16(81), - 1139: uint16(1217), - 1140: uint16(1217), - 1141: uint16(1054), - 1142: uint16(1057), - 1143: uint16(1044), - 1144: uint16(1044), - 1145: uint16(124), - 1146: uint16(124), - 1147: uint16(125), - 1148: uint16(125), - 1149: uint16(125), - 1150: uint16(125), - 1151: uint16(373), - 1152: uint16(529), - 1153: uint16(264), - 1154: uint16(44), - 1155: uint16(44), - 1156: uint16(126), - 1157: uint16(115), - 1158: uint16(81), - 1159: uint16(1217), - 1160: uint16(1217), - 1161: uint16(1054), - 1162: uint16(1057), - 1163: uint16(1044), - 1164: uint16(1044), - 1165: uint16(124), - 1166: uint16(124), - 1167: uint16(125), - 1168: uint16(125), - 1169: uint16(125), - 1170: uint16(125), - 1171: uint16(1498), - 1172: uint16(478), - 1173: uint16(1271), - 1174: uint16(417), - 1175: uint16(123), - 1176: uint16(123), - 1177: uint16(123), - 1178: uint16(123), - 1179: uint16(122), - 1180: uint16(122), - 1181: uint16(121), - 1182: uint16(121), - 1183: uint16(121), - 1184: uint16(120), - 1185: uint16(117), - 1186: uint16(448), - 1187: uint16(205), - 1188: uint16(1213), - 1189: uint16(495), - 1190: uint16(430), - 1191: uint16(867), - 1192: uint16(468), - 1193: uint16(322), - 1194: uint16(495), - 1195: uint16(123), - 1196: uint16(123), - 1197: uint16(123), - 1198: uint16(123), - 1199: uint16(122), - 1200: uint16(122), - 1201: uint16(121), - 1202: uint16(121), - 1203: uint16(121), - 1204: uint16(120), - 1205: uint16(117), - 1206: uint16(448), - 1207: uint16(572), - 1208: uint16(557), - 1209: uint16(1140), - 1210: uint16(1642), - 1211: uint16(1422), - 1212: uint16(1642), - 1213: uint16(543), - 1214: uint16(572), - 1215: uint16(123), - 1216: uint16(123), - 1217: uint16(123), - 1218: uint16(123), - 1219: uint16(122), - 1220: uint16(122), - 1221: uint16(121), - 1222: uint16(121), - 1223: uint16(121), - 1224: uint16(120), - 1225: uint16(117), - 1226: uint16(448), - 1227: uint16(572), - 1228: uint16(1422), - 1229: uint16(572), - 1230: uint16(13), - 1231: uint16(13), - 1232: uint16(542), - 1233: uint16(323), - 1234: uint16(1325), - 1235: uint16(411), - 1236: uint16(334), - 1237: uint16(58), - 1238: uint16(58), - 1239: uint16(349), - 1240: uint16(1422), - 1241: uint16(1170), - 1242: uint16(326), - 1243: uint16(286), - 1244: uint16(286), - 1245: uint16(549), - 1246: uint16(1213), - 1247: uint16(300), - 1248: uint16(895), - 1249: uint16(530), - 1250: uint16(45), - 1251: uint16(45), - 1252: uint16(59), - 1253: uint16(59), - 1254: uint16(1140), - 1255: uint16(1643), - 1256: uint16(569), - 1257: uint16(1643), - 1258: uint16(565), - 1259: uint16(417), - 1260: uint16(127), - 1261: uint16(81), - 1262: uint16(1217), - 1263: uint16(1217), - 1264: uint16(1054), - 1265: uint16(1057), - 1266: uint16(1044), - 1267: uint16(1044), - 1268: uint16(124), - 1269: uint16(124), - 1270: uint16(125), - 1271: uint16(125), - 1272: uint16(125), - 1273: uint16(125), - 1274: uint16(1367), - 1275: uint16(373), - 1276: uint16(500), - 1277: uint16(290), - 1278: uint16(1193), - 1279: uint16(512), - 1280: uint16(1366), - 1281: uint16(427), - 1282: uint16(394), - 1283: uint16(394), - 1284: uint16(393), - 1285: uint16(275), - 1286: uint16(391), - 1287: uint16(896), - 1288: uint16(1138), - 1289: uint16(852), - 1290: uint16(478), - 1291: uint16(258), - 1292: uint16(1422), - 1293: uint16(1170), - 1294: uint16(463), - 1295: uint16(1159), - 1296: uint16(12), - 1297: uint16(331), - 1298: uint16(428), - 1299: uint16(333), - 1300: uint16(1117), - 1301: uint16(460), - 1302: uint16(236), - 1303: uint16(258), - 1304: uint16(325), - 1305: uint16(460), - 1306: uint16(544), - 1307: uint16(1544), - 1308: uint16(1159), - 1309: uint16(1098), - 1310: uint16(491), - 1311: uint16(1159), - 1312: uint16(324), - 1313: uint16(1098), - 1314: uint16(440), - 1315: uint16(1118), - 1316: uint16(335), - 1317: uint16(516), - 1318: uint16(123), - 1319: uint16(123), - 1320: uint16(123), - 1321: uint16(123), - 1322: uint16(122), - 1323: uint16(122), - 1324: uint16(121), - 1325: uint16(121), - 1326: uint16(121), - 1327: uint16(120), - 1328: uint16(117), - 1329: uint16(448), - 1330: uint16(1119), - 1331: uint16(318), - 1332: uint16(563), - 1333: uint16(1138), - 1334: uint16(572), - 1335: uint16(1193), - 1336: uint16(1194), - 1337: uint16(1193), - 1338: uint16(112), - 1339: uint16(564), - 1340: uint16(201), + 345: uint16(555), + 346: uint16(1149), + 347: uint16(1657), + 348: uint16(1628), + 349: uint16(1657), + 350: uint16(45), + 351: uint16(128), + 352: uint16(125), + 353: uint16(232), + 354: uint16(1204), + 355: uint16(1205), + 356: uint16(1204), + 357: uint16(1250), + 358: uint16(571), + 359: uint16(1169), + 360: uint16(132), + 361: uint16(132), + 362: uint16(132), + 363: uint16(132), + 364: uint16(131), + 365: uint16(131), + 366: uint16(130), + 367: uint16(130), + 368: uint16(130), + 369: uint16(129), + 370: uint16(126), + 371: uint16(450), + 372: uint16(1169), + 373: uint16(287), + 374: uint16(287), + 375: uint16(1169), + 376: uint16(1019), + 377: uint16(576), + 378: uint16(422), + 379: uint16(1019), + 380: uint16(412), + 381: uint16(451), + 382: uint16(1602), + 383: uint16(582), + 384: uint16(2), + 385: uint16(1259), + 386: uint16(573), + 387: uint16(44), + 388: uint16(561), + 389: uint16(95), + 390: uint16(320), + 391: uint16(110), + 392: uint16(153), + 393: uint16(565), + 394: uint16(1204), + 395: uint16(1205), + 396: uint16(1204), + 397: uint16(522), + 398: uint16(522), + 399: uint16(1341), + 400: uint16(81), + 401: uint16(81), + 402: uint16(7), + 403: uint16(44), + 404: uint16(135), + 405: uint16(136), + 406: uint16(90), + 407: uint16(1228), + 408: uint16(1228), + 409: uint16(1063), + 410: uint16(1066), + 411: uint16(1053), + 412: uint16(1053), + 413: uint16(133), + 414: uint16(133), + 415: uint16(134), + 416: uint16(134), + 417: uint16(134), + 418: uint16(134), + 419: uint16(295), + 420: uint16(1149), + 421: uint16(1658), + 422: uint16(1040), + 423: uint16(1658), + 424: uint16(1204), + 425: uint16(1147), + 426: uint16(319), + 427: uint16(567), + 428: uint16(119), + 429: uint16(119), + 430: uint16(343), + 431: uint16(466), + 432: uint16(331), + 433: uint16(343), + 434: uint16(287), + 435: uint16(287), + 436: uint16(120), + 437: uint16(556), + 438: uint16(451), + 439: uint16(577), + 440: uint16(451), + 441: uint16(1169), + 442: uint16(1169), + 443: uint16(1028), + 444: uint16(319), + 445: uint16(567), + 446: uint16(438), + 447: uint16(573), + 448: uint16(210), + 449: uint16(561), + 450: uint16(1339), + 451: uint16(1451), + 452: uint16(546), + 453: uint16(531), + 454: uint16(1169), + 455: uint16(1169), + 456: uint16(1598), + 457: uint16(1169), + 458: uint16(1169), + 459: uint16(416), + 460: uint16(319), + 461: uint16(567), + 462: uint16(243), + 463: uint16(132), + 464: uint16(132), + 465: uint16(132), + 466: uint16(132), + 467: uint16(131), + 468: uint16(131), + 469: uint16(130), + 470: uint16(130), + 471: uint16(130), + 472: uint16(129), + 473: uint16(126), + 474: uint16(450), + 475: uint16(1028), + 476: uint16(1028), + 477: uint16(1030), + 478: uint16(1031), + 479: uint16(35), + 480: uint16(44), + 481: uint16(1204), + 482: uint16(1205), + 483: uint16(1204), + 484: uint16(472), + 485: uint16(287), + 486: uint16(287), + 487: uint16(1328), + 488: uint16(412), + 489: uint16(1307), + 490: uint16(372), + 491: uint16(1595), + 492: uint16(359), + 493: uint16(225), + 494: uint16(454), + 495: uint16(1204), + 496: uint16(195), + 497: uint16(1328), + 498: uint16(573), + 499: uint16(1147), + 500: uint16(561), + 501: uint16(1333), + 502: uint16(1333), + 503: uint16(274), + 504: uint16(576), + 505: uint16(1188), + 506: uint16(576), + 507: uint16(340), + 508: uint16(46), + 509: uint16(196), + 510: uint16(537), + 511: uint16(217), + 512: uint16(135), + 513: uint16(136), + 514: uint16(90), + 515: uint16(1228), + 516: uint16(1228), + 517: uint16(1063), + 518: uint16(1066), + 519: uint16(1053), + 520: uint16(1053), + 521: uint16(133), + 522: uint16(133), + 523: uint16(134), + 524: uint16(134), + 525: uint16(134), + 526: uint16(134), + 527: uint16(19), + 528: uint16(19), + 529: uint16(19), + 530: uint16(19), + 531: uint16(412), + 532: uint16(581), + 533: uint16(1204), + 534: uint16(1259), + 535: uint16(511), + 536: uint16(1204), + 537: uint16(319), + 538: uint16(567), + 539: uint16(320), + 540: uint16(944), + 541: uint16(153), + 542: uint16(425), + 543: uint16(491), + 544: uint16(430), + 545: uint16(943), + 546: uint16(1204), + 547: uint16(488), + 548: uint16(1341), + 549: uint16(1450), + 550: uint16(532), + 551: uint16(1277), + 552: uint16(1204), + 553: uint16(1205), + 554: uint16(1204), + 555: uint16(135), + 556: uint16(136), + 557: uint16(90), + 558: uint16(1228), + 559: uint16(1228), + 560: uint16(1063), + 561: uint16(1066), + 562: uint16(1053), + 563: uint16(1053), + 564: uint16(133), + 565: uint16(133), + 566: uint16(134), + 567: uint16(134), + 568: uint16(134), + 569: uint16(134), + 570: uint16(575), + 571: uint16(132), + 572: uint16(132), + 573: uint16(132), + 574: uint16(132), + 575: uint16(131), + 576: uint16(131), + 577: uint16(130), + 578: uint16(130), + 579: uint16(130), + 580: uint16(129), + 581: uint16(126), + 582: uint16(450), + 583: uint16(287), + 584: uint16(287), + 585: uint16(528), + 586: uint16(287), + 587: uint16(287), + 588: uint16(372), + 589: uint16(1595), + 590: uint16(1204), + 591: uint16(1205), + 592: uint16(1204), + 593: uint16(1204), + 594: uint16(1205), + 595: uint16(1204), + 596: uint16(573), + 597: uint16(486), + 598: uint16(561), + 599: uint16(573), + 600: uint16(889), + 601: uint16(561), + 602: uint16(412), + 603: uint16(1204), + 604: uint16(1205), + 605: uint16(1204), + 606: uint16(886), + 607: uint16(40), + 608: uint16(22), + 609: uint16(22), + 610: uint16(220), + 611: uint16(243), + 612: uint16(525), + 613: uint16(1449), + 614: uint16(132), + 615: uint16(132), + 616: uint16(132), + 617: uint16(132), + 618: uint16(131), + 619: uint16(131), + 620: uint16(130), + 621: uint16(130), + 622: uint16(130), + 623: uint16(129), + 624: uint16(126), + 625: uint16(450), + 626: uint16(135), + 627: uint16(136), + 628: uint16(90), + 629: uint16(1228), + 630: uint16(1228), + 631: uint16(1063), + 632: uint16(1066), + 633: uint16(1053), + 634: uint16(1053), + 635: uint16(133), + 636: uint16(133), + 637: uint16(134), + 638: uint16(134), + 639: uint16(134), + 640: uint16(134), + 641: uint16(412), + 642: uint16(180), + 643: uint16(454), + 644: uint16(1204), + 645: uint16(879), + 646: uint16(255), + 647: uint16(287), + 648: uint16(287), + 649: uint16(510), + 650: uint16(507), + 651: uint16(506), + 652: uint16(372), + 653: uint16(1595), + 654: uint16(1568), + 655: uint16(1331), + 656: uint16(1331), + 657: uint16(576), + 658: uint16(889), + 659: uint16(505), + 660: uint16(573), + 661: uint16(44), + 662: uint16(561), + 663: uint16(559), + 664: uint16(1207), + 665: uint16(135), + 666: uint16(136), + 667: uint16(90), + 668: uint16(1228), + 669: uint16(1228), + 670: uint16(1063), + 671: uint16(1066), + 672: uint16(1053), + 673: uint16(1053), + 674: uint16(133), + 675: uint16(133), + 676: uint16(134), + 677: uint16(134), + 678: uint16(134), + 679: uint16(134), + 680: uint16(81), + 681: uint16(81), + 682: uint16(422), + 683: uint16(576), + 684: uint16(377), + 685: uint16(132), + 686: uint16(132), + 687: uint16(132), + 688: uint16(132), + 689: uint16(131), + 690: uint16(131), + 691: uint16(130), + 692: uint16(130), + 693: uint16(130), + 694: uint16(129), + 695: uint16(126), + 696: uint16(450), + 697: uint16(297), + 698: uint16(287), + 699: uint16(287), + 700: uint16(460), + 701: uint16(1204), + 702: uint16(1205), + 703: uint16(1204), + 704: uint16(1204), + 705: uint16(534), + 706: uint16(19), + 707: uint16(19), + 708: uint16(448), + 709: uint16(448), + 710: uint16(448), + 711: uint16(573), + 712: uint16(412), + 713: uint16(561), + 714: uint16(230), + 715: uint16(436), + 716: uint16(1187), + 717: uint16(535), + 718: uint16(319), + 719: uint16(567), + 720: uint16(363), + 721: uint16(432), + 722: uint16(1207), + 723: uint16(1435), + 724: uint16(132), + 725: uint16(132), + 726: uint16(132), + 727: uint16(132), + 728: uint16(131), + 729: uint16(131), + 730: uint16(130), + 731: uint16(130), + 732: uint16(130), + 733: uint16(129), + 734: uint16(126), + 735: uint16(450), + 736: uint16(135), + 737: uint16(136), + 738: uint16(90), + 739: uint16(1228), + 740: uint16(1228), + 741: uint16(1063), + 742: uint16(1066), + 743: uint16(1053), + 744: uint16(1053), + 745: uint16(133), + 746: uint16(133), + 747: uint16(134), + 748: uint16(134), + 749: uint16(134), + 750: uint16(134), + 751: uint16(412), + 752: uint16(211), + 753: uint16(949), + 754: uint16(1169), + 755: uint16(1041), + 756: uint16(1110), + 757: uint16(1110), + 758: uint16(494), + 759: uint16(547), + 760: uint16(547), + 761: uint16(1204), + 762: uint16(1205), + 763: uint16(1204), + 764: uint16(7), + 765: uint16(539), + 766: uint16(1570), + 767: uint16(1169), + 768: uint16(376), + 769: uint16(576), + 770: uint16(1169), + 771: uint16(5), + 772: uint16(1204), + 773: uint16(486), + 774: uint16(3), + 775: uint16(135), + 776: uint16(136), + 777: uint16(90), + 778: uint16(1228), + 779: uint16(1228), + 780: uint16(1063), + 781: uint16(1066), + 782: uint16(1053), + 783: uint16(1053), + 784: uint16(133), + 785: uint16(133), + 786: uint16(134), + 787: uint16(134), + 788: uint16(134), + 789: uint16(134), + 790: uint16(576), + 791: uint16(513), + 792: uint16(19), + 793: uint16(19), + 794: uint16(427), + 795: uint16(132), + 796: uint16(132), + 797: uint16(132), + 798: uint16(132), + 799: uint16(131), + 800: uint16(131), + 801: uint16(130), + 802: uint16(130), + 803: uint16(130), + 804: uint16(129), + 805: uint16(126), + 806: uint16(450), + 807: uint16(305), + 808: uint16(1204), + 809: uint16(433), + 810: uint16(225), + 811: uint16(1204), + 812: uint16(385), + 813: uint16(19), + 814: uint16(19), + 815: uint16(273), + 816: uint16(290), + 817: uint16(371), + 818: uint16(516), + 819: uint16(366), + 820: uint16(515), + 821: uint16(260), + 822: uint16(412), + 823: uint16(538), + 824: uint16(1568), + 825: uint16(549), + 826: uint16(1024), + 827: uint16(362), + 828: uint16(437), + 829: uint16(1204), + 830: uint16(1205), + 831: uint16(1204), + 832: uint16(902), + 833: uint16(1552), + 834: uint16(132), + 835: uint16(132), + 836: uint16(132), + 837: uint16(132), + 838: uint16(131), + 839: uint16(131), + 840: uint16(130), + 841: uint16(130), + 842: uint16(130), + 843: uint16(129), + 844: uint16(126), + 845: uint16(450), + 846: uint16(135), + 847: uint16(136), + 848: uint16(90), + 849: uint16(1228), + 850: uint16(1228), + 851: uint16(1063), + 852: uint16(1066), + 853: uint16(1053), + 854: uint16(1053), + 855: uint16(133), + 856: uint16(133), + 857: uint16(134), + 858: uint16(134), + 859: uint16(134), + 860: uint16(134), + 861: uint16(412), + 862: uint16(1435), + 863: uint16(514), + 864: uint16(1281), + 865: uint16(1204), + 866: uint16(1205), + 867: uint16(1204), + 868: uint16(1204), + 869: uint16(1205), + 870: uint16(1204), + 871: uint16(903), + 872: uint16(48), + 873: uint16(342), + 874: uint16(1568), + 875: uint16(1568), + 876: uint16(1279), + 877: uint16(1627), + 878: uint16(1568), + 879: uint16(911), + 880: uint16(576), + 881: uint16(129), + 882: uint16(126), + 883: uint16(450), + 884: uint16(110), + 885: uint16(135), + 886: uint16(136), + 887: uint16(90), + 888: uint16(1228), + 889: uint16(1228), + 890: uint16(1063), + 891: uint16(1066), + 892: uint16(1053), + 893: uint16(1053), + 894: uint16(133), + 895: uint16(133), + 896: uint16(134), + 897: uint16(134), + 898: uint16(134), + 899: uint16(134), + 900: uint16(265), + 901: uint16(576), + 902: uint16(459), + 903: uint16(19), + 904: uint16(19), + 905: uint16(132), + 906: uint16(132), + 907: uint16(132), + 908: uint16(132), + 909: uint16(131), + 910: uint16(131), + 911: uint16(130), + 912: uint16(130), + 913: uint16(130), + 914: uint16(129), + 915: uint16(126), + 916: uint16(450), + 917: uint16(1345), + 918: uint16(204), + 919: uint16(576), + 920: uint16(459), + 921: uint16(458), + 922: uint16(50), + 923: uint16(47), + 924: uint16(19), + 925: uint16(19), + 926: uint16(49), + 927: uint16(434), + 928: uint16(1105), + 929: uint16(573), + 930: uint16(497), + 931: uint16(561), + 932: uint16(412), + 933: uint16(428), + 934: uint16(108), + 935: uint16(1224), + 936: uint16(1569), + 937: uint16(1554), + 938: uint16(376), + 939: uint16(205), + 940: uint16(550), + 941: uint16(550), + 942: uint16(81), + 943: uint16(81), + 944: uint16(132), + 945: uint16(132), + 946: uint16(132), + 947: uint16(132), + 948: uint16(131), + 949: uint16(131), + 950: uint16(130), + 951: uint16(130), + 952: uint16(130), + 953: uint16(129), + 954: uint16(126), + 955: uint16(450), + 956: uint16(135), + 957: uint16(136), + 958: uint16(90), + 959: uint16(1228), + 960: uint16(1228), + 961: uint16(1063), + 962: uint16(1066), + 963: uint16(1053), + 964: uint16(1053), + 965: uint16(133), + 966: uint16(133), + 967: uint16(134), + 968: uint16(134), + 969: uint16(134), + 970: uint16(134), + 971: uint16(480), + 972: uint16(576), + 973: uint16(1204), + 974: uint16(576), + 975: uint16(1541), + 976: uint16(412), + 977: uint16(1435), + 978: uint16(969), + 979: uint16(315), + 980: uint16(1659), + 981: uint16(398), + 982: uint16(284), + 983: uint16(497), + 984: uint16(969), + 985: uint16(893), + 986: uint16(1569), + 987: uint16(1569), + 988: uint16(376), + 989: uint16(376), + 990: uint16(1569), + 991: uint16(461), + 992: uint16(376), + 993: uint16(1224), + 994: uint16(459), + 995: uint16(80), + 996: uint16(80), + 997: uint16(81), + 998: uint16(81), + 999: uint16(497), + 1000: uint16(374), + 1001: uint16(114), + 1002: uint16(90), + 1003: uint16(1228), + 1004: uint16(1228), + 1005: uint16(1063), + 1006: uint16(1066), + 1007: uint16(1053), + 1008: uint16(1053), + 1009: uint16(133), + 1010: uint16(133), + 1011: uint16(134), + 1012: uint16(134), + 1013: uint16(134), + 1014: uint16(134), + 1015: uint16(132), + 1016: uint16(132), + 1017: uint16(132), + 1018: uint16(132), + 1019: uint16(131), + 1020: uint16(131), + 1021: uint16(130), + 1022: uint16(130), + 1023: uint16(130), + 1024: uint16(129), + 1025: uint16(126), + 1026: uint16(450), + 1027: uint16(1204), + 1028: uint16(1505), + 1029: uint16(576), + 1030: uint16(1204), + 1031: uint16(1205), + 1032: uint16(1204), + 1033: uint16(1366), + 1034: uint16(316), + 1035: uint16(486), + 1036: uint16(281), + 1037: uint16(281), + 1038: uint16(497), + 1039: uint16(431), + 1040: uint16(557), + 1041: uint16(288), + 1042: uint16(288), + 1043: uint16(402), + 1044: uint16(1340), + 1045: uint16(471), + 1046: uint16(345), + 1047: uint16(298), + 1048: uint16(429), + 1049: uint16(573), + 1050: uint16(576), + 1051: uint16(561), + 1052: uint16(81), + 1053: uint16(81), + 1054: uint16(573), + 1055: uint16(374), + 1056: uint16(561), + 1057: uint16(971), + 1058: uint16(386), + 1059: uint16(132), + 1060: uint16(132), + 1061: uint16(132), + 1062: uint16(132), + 1063: uint16(131), + 1064: uint16(131), + 1065: uint16(130), + 1066: uint16(130), + 1067: uint16(130), + 1068: uint16(129), + 1069: uint16(126), + 1070: uint16(450), + 1071: uint16(231), + 1072: uint16(117), + 1073: uint16(81), + 1074: uint16(81), + 1075: uint16(287), + 1076: uint16(287), + 1077: uint16(231), + 1078: uint16(287), + 1079: uint16(287), + 1080: uint16(576), + 1081: uint16(1511), + 1082: uint16(576), + 1083: uint16(1336), + 1084: uint16(1204), + 1085: uint16(1205), + 1086: uint16(1204), + 1087: uint16(139), + 1088: uint16(573), + 1089: uint16(556), + 1090: uint16(561), + 1091: uint16(573), + 1092: uint16(412), + 1093: uint16(561), + 1094: uint16(441), + 1095: uint16(456), + 1096: uint16(969), + 1097: uint16(213), + 1098: uint16(558), + 1099: uint16(1511), + 1100: uint16(1513), + 1101: uint16(1550), + 1102: uint16(969), + 1103: uint16(143), + 1104: uint16(143), + 1105: uint16(145), + 1106: uint16(145), + 1107: uint16(1368), + 1108: uint16(314), + 1109: uint16(478), + 1110: uint16(444), + 1111: uint16(970), + 1112: uint16(412), + 1113: uint16(850), + 1114: uint16(851), + 1115: uint16(852), + 1116: uint16(135), + 1117: uint16(136), + 1118: uint16(90), + 1119: uint16(1228), + 1120: uint16(1228), + 1121: uint16(1063), + 1122: uint16(1066), + 1123: uint16(1053), + 1124: uint16(1053), + 1125: uint16(133), + 1126: uint16(133), + 1127: uint16(134), + 1128: uint16(134), + 1129: uint16(134), + 1130: uint16(134), + 1131: uint16(357), + 1132: uint16(412), + 1133: uint16(397), + 1134: uint16(1148), + 1135: uint16(304), + 1136: uint16(135), + 1137: uint16(136), + 1138: uint16(90), + 1139: uint16(1228), + 1140: uint16(1228), + 1141: uint16(1063), + 1142: uint16(1066), + 1143: uint16(1053), + 1144: uint16(1053), + 1145: uint16(133), + 1146: uint16(133), + 1147: uint16(134), + 1148: uint16(134), + 1149: uint16(134), + 1150: uint16(134), + 1151: uint16(1575), + 1152: uint16(323), + 1153: uint16(6), + 1154: uint16(862), + 1155: uint16(7), + 1156: uint16(135), + 1157: uint16(124), + 1158: uint16(90), + 1159: uint16(1228), + 1160: uint16(1228), + 1161: uint16(1063), + 1162: uint16(1066), + 1163: uint16(1053), + 1164: uint16(1053), + 1165: uint16(133), + 1166: uint16(133), + 1167: uint16(134), + 1168: uint16(134), + 1169: uint16(134), + 1170: uint16(134), + 1171: uint16(409), + 1172: uint16(408), + 1173: uint16(1511), + 1174: uint16(212), + 1175: uint16(132), + 1176: uint16(132), + 1177: uint16(132), + 1178: uint16(132), + 1179: uint16(131), + 1180: uint16(131), + 1181: uint16(130), + 1182: uint16(130), + 1183: uint16(130), + 1184: uint16(129), + 1185: uint16(126), + 1186: uint16(450), + 1187: uint16(411), + 1188: uint16(118), + 1189: uint16(1204), + 1190: uint16(116), + 1191: uint16(10), + 1192: uint16(352), + 1193: uint16(265), + 1194: uint16(355), + 1195: uint16(132), + 1196: uint16(132), + 1197: uint16(132), + 1198: uint16(132), + 1199: uint16(131), + 1200: uint16(131), + 1201: uint16(130), + 1202: uint16(130), + 1203: uint16(130), + 1204: uint16(129), + 1205: uint16(126), + 1206: uint16(450), + 1207: uint16(576), + 1208: uint16(324), + 1209: uint16(306), + 1210: uint16(576), + 1211: uint16(306), + 1212: uint16(1250), + 1213: uint16(469), + 1214: uint16(158), + 1215: uint16(132), + 1216: uint16(132), + 1217: uint16(132), + 1218: uint16(132), + 1219: uint16(131), + 1220: uint16(131), + 1221: uint16(130), + 1222: uint16(130), + 1223: uint16(130), + 1224: uint16(129), + 1225: uint16(126), + 1226: uint16(450), + 1227: uint16(207), + 1228: uint16(1224), + 1229: uint16(1126), + 1230: uint16(65), + 1231: uint16(65), + 1232: uint16(470), + 1233: uint16(66), + 1234: uint16(66), + 1235: uint16(412), + 1236: uint16(447), + 1237: uint16(446), + 1238: uint16(882), + 1239: uint16(531), + 1240: uint16(335), + 1241: uint16(258), + 1242: uint16(257), + 1243: uint16(256), + 1244: uint16(1127), + 1245: uint16(1233), + 1246: uint16(1204), + 1247: uint16(1205), + 1248: uint16(1204), + 1249: uint16(327), + 1250: uint16(1235), + 1251: uint16(874), + 1252: uint16(159), + 1253: uint16(576), + 1254: uint16(16), + 1255: uint16(480), + 1256: uint16(1085), + 1257: uint16(1040), + 1258: uint16(1234), + 1259: uint16(1128), + 1260: uint16(136), + 1261: uint16(90), + 1262: uint16(1228), + 1263: uint16(1228), + 1264: uint16(1063), + 1265: uint16(1066), + 1266: uint16(1053), + 1267: uint16(1053), + 1268: uint16(133), + 1269: uint16(133), + 1270: uint16(134), + 1271: uint16(134), + 1272: uint16(134), + 1273: uint16(134), + 1274: uint16(1029), + 1275: uint16(576), + 1276: uint16(81), + 1277: uint16(81), + 1278: uint16(1028), + 1279: uint16(1040), + 1280: uint16(922), + 1281: uint16(576), + 1282: uint16(463), + 1283: uint16(1236), + 1284: uint16(576), + 1285: uint16(1236), + 1286: uint16(1224), + 1287: uint16(502), + 1288: uint16(107), + 1289: uint16(1435), + 1290: uint16(923), + 1291: uint16(6), + 1292: uint16(576), + 1293: uint16(410), + 1294: uint16(1498), + 1295: uint16(882), + 1296: uint16(1029), + 1297: uint16(480), + 1298: uint16(21), + 1299: uint16(21), + 1300: uint16(1028), + 1301: uint16(332), + 1302: uint16(1380), + 1303: uint16(334), + 1304: uint16(53), + 1305: uint16(53), + 1306: uint16(497), + 1307: uint16(81), + 1308: uint16(81), + 1309: uint16(874), + 1310: uint16(1028), + 1311: uint16(1028), + 1312: uint16(1030), + 1313: uint16(445), + 1314: uint16(259), + 1315: uint16(19), + 1316: uint16(19), + 1317: uint16(533), + 1318: uint16(132), + 1319: uint16(132), + 1320: uint16(132), + 1321: uint16(132), + 1322: uint16(131), + 1323: uint16(131), + 1324: uint16(130), + 1325: uint16(130), + 1326: uint16(130), + 1327: uint16(129), + 1328: uint16(126), + 1329: uint16(450), + 1330: uint16(551), + 1331: uint16(301), + 1332: uint16(1028), + 1333: uint16(1028), + 1334: uint16(1030), + 1335: uint16(107), + 1336: uint16(532), + 1337: uint16(545), + 1338: uint16(121), + 1339: uint16(568), + 1340: uint16(1188), 1341: uint16(4), - 1342: uint16(238), - 1343: uint16(433), - 1344: uint16(935), - 1345: uint16(490), - 1346: uint16(285), - 1347: uint16(228), - 1348: uint16(1517), - 1349: uint16(934), - 1350: uint16(170), - 1351: uint16(560), - 1352: uint16(572), - 1353: uint16(142), - 1354: uint16(1516), - 1355: uint16(567), - 1356: uint16(572), - 1357: uint16(60), - 1358: uint16(60), - 1359: uint16(572), - 1360: uint16(416), - 1361: uint16(572), - 1362: uint16(441), - 1363: uint16(572), - 1364: uint16(535), - 1365: uint16(302), - 1366: uint16(875), - 1367: uint16(8), - 1368: uint16(487), - 1369: uint16(572), - 1370: uint16(237), - 1371: uint16(572), - 1372: uint16(416), - 1373: uint16(572), - 1374: uint16(485), - 1375: uint16(61), - 1376: uint16(61), - 1377: uint16(572), - 1378: uint16(449), - 1379: uint16(62), - 1380: uint16(62), - 1381: uint16(332), - 1382: uint16(63), - 1383: uint16(63), - 1384: uint16(46), - 1385: uint16(46), - 1386: uint16(47), - 1387: uint16(47), - 1388: uint16(361), - 1389: uint16(572), - 1390: uint16(561), - 1391: uint16(572), - 1392: uint16(48), - 1393: uint16(48), - 1394: uint16(50), - 1395: uint16(50), - 1396: uint16(51), - 1397: uint16(51), - 1398: uint16(572), - 1399: uint16(295), - 1400: uint16(64), - 1401: uint16(64), - 1402: uint16(482), - 1403: uint16(295), - 1404: uint16(539), - 1405: uint16(412), - 1406: uint16(471), - 1407: uint16(1031), - 1408: uint16(572), - 1409: uint16(538), - 1410: uint16(318), - 1411: uint16(563), - 1412: uint16(65), - 1413: uint16(65), - 1414: uint16(66), - 1415: uint16(66), - 1416: uint16(409), - 1417: uint16(475), - 1418: uint16(572), - 1419: uint16(1031), - 1420: uint16(572), - 1421: uint16(14), - 1422: uint16(14), - 1423: uint16(875), - 1424: uint16(1020), - 1425: uint16(110), - 1426: uint16(110), - 1427: uint16(409), - 1428: uint16(1019), - 1429: uint16(572), - 1430: uint16(474), - 1431: uint16(67), - 1432: uint16(67), - 1433: uint16(111), - 1434: uint16(455), - 1435: uint16(449), - 1436: uint16(573), - 1437: uint16(449), - 1438: uint16(98), - 1439: uint16(317), - 1440: uint16(1019), - 1441: uint16(132), - 1442: uint16(132), - 1443: uint16(133), - 1444: uint16(133), - 1445: uint16(572), - 1446: uint16(1561), - 1447: uint16(572), - 1448: uint16(974), - 1449: uint16(409), - 1450: uint16(6), - 1451: uint16(1562), - 1452: uint16(68), - 1453: uint16(68), - 1454: uint16(1560), - 1455: uint16(6), - 1456: uint16(975), - 1457: uint16(572), - 1458: uint16(6), - 1459: uint16(1559), - 1460: uint16(1019), - 1461: uint16(1019), - 1462: uint16(1021), - 1463: uint16(6), - 1464: uint16(346), - 1465: uint16(218), - 1466: uint16(101), - 1467: uint16(531), - 1468: uint16(53), - 1469: uint16(53), - 1470: uint16(69), - 1471: uint16(69), - 1472: uint16(1019), - 1473: uint16(1019), - 1474: uint16(1021), - 1475: uint16(1022), - 1476: uint16(28), - 1477: uint16(1586), - 1478: uint16(1181), - 1479: uint16(451), - 1480: uint16(70), - 1481: uint16(70), - 1482: uint16(290), - 1483: uint16(87), - 1484: uint16(215), - 1485: uint16(31), - 1486: uint16(1363), - 1487: uint16(394), - 1488: uint16(394), - 1489: uint16(393), - 1490: uint16(275), - 1491: uint16(391), - 1492: uint16(350), - 1493: uint16(109), - 1494: uint16(852), - 1495: uint16(107), - 1496: uint16(572), - 1497: uint16(112), - 1498: uint16(564), - 1499: uint16(483), - 1500: uint16(4), - 1501: uint16(1212), - 1502: uint16(572), - 1503: uint16(239), - 1504: uint16(153), - 1505: uint16(572), - 1506: uint16(39), - 1507: uint16(236), - 1508: uint16(1299), - 1509: uint16(325), - 1510: uint16(112), - 1511: uint16(564), - 1512: uint16(1298), - 1513: uint16(4), - 1514: uint16(567), - 1515: uint16(572), - 1516: uint16(32), - 1517: uint16(324), - 1518: uint16(572), - 1519: uint16(54), - 1520: uint16(54), - 1521: uint16(572), - 1522: uint16(1135), - 1523: uint16(353), - 1524: uint16(398), - 1525: uint16(165), - 1526: uint16(165), - 1527: uint16(567), - 1528: uint16(166), - 1529: uint16(166), - 1530: uint16(572), - 1531: uint16(291), - 1532: uint16(355), - 1533: uint16(572), - 1534: uint16(17), - 1535: uint16(357), - 1536: uint16(572), - 1537: uint16(449), - 1538: uint16(77), - 1539: uint16(77), - 1540: uint16(1313), - 1541: uint16(55), - 1542: uint16(55), - 1543: uint16(1297), - 1544: uint16(73), - 1545: uint16(73), - 1546: uint16(572), - 1547: uint16(238), - 1548: uint16(470), - 1549: uint16(561), - 1550: uint16(449), - 1551: uint16(472), - 1552: uint16(364), - 1553: uint16(135), - 1554: uint16(135), - 1555: uint16(170), - 1556: uint16(74), - 1557: uint16(74), - 1558: uint16(142), - 1559: uint16(163), - 1560: uint16(163), - 1561: uint16(374), - 1562: uint16(561), - 1563: uint16(539), - 1564: uint16(572), - 1565: uint16(321), - 1566: uint16(572), - 1567: uint16(886), - 1568: uint16(540), - 1569: uint16(137), - 1570: uint16(137), - 1571: uint16(339), - 1572: uint16(1353), - 1573: uint16(422), - 1574: uint16(298), - 1575: uint16(237), - 1576: uint16(539), - 1577: uint16(572), - 1578: uint16(1031), - 1579: uint16(572), - 1580: uint16(340), - 1581: uint16(538), - 1582: uint16(101), - 1583: uint16(369), - 1584: uint16(110), - 1585: uint16(110), - 1586: uint16(162), - 1587: uint16(131), - 1588: uint16(131), - 1589: uint16(164), - 1590: uint16(164), - 1591: uint16(1031), - 1592: uint16(111), - 1593: uint16(368), - 1594: uint16(449), - 1595: uint16(573), - 1596: uint16(449), + 1342: uint16(1126), + 1343: uint16(1576), + 1344: uint16(449), + 1345: uint16(576), + 1346: uint16(462), + 1347: uint16(7), + 1348: uint16(1282), + 1349: uint16(418), + 1350: uint16(462), + 1351: uint16(350), + 1352: uint16(1435), + 1353: uint16(576), + 1354: uint16(518), + 1355: uint16(571), + 1356: uint16(544), + 1357: uint16(1127), + 1358: uint16(121), + 1359: uint16(568), + 1360: uint16(442), + 1361: uint16(4), + 1362: uint16(1188), + 1363: uint16(464), + 1364: uint16(533), + 1365: uint16(1180), + 1366: uint16(1223), + 1367: uint16(9), + 1368: uint16(67), + 1369: uint16(67), + 1370: uint16(487), + 1371: uint16(576), + 1372: uint16(1128), + 1373: uint16(303), + 1374: uint16(410), + 1375: uint16(571), + 1376: uint16(54), + 1377: uint16(54), + 1378: uint16(451), + 1379: uint16(576), + 1380: uint16(123), + 1381: uint16(944), + 1382: uint16(576), + 1383: uint16(417), + 1384: uint16(576), + 1385: uint16(333), + 1386: uint16(943), + 1387: uint16(1379), + 1388: uint16(576), + 1389: uint16(236), + 1390: uint16(565), + 1391: uint16(576), + 1392: uint16(1574), + 1393: uint16(564), + 1394: uint16(68), + 1395: uint16(68), + 1396: uint16(7), + 1397: uint16(576), + 1398: uint16(451), + 1399: uint16(362), + 1400: uint16(419), + 1401: uint16(182), + 1402: uint16(69), + 1403: uint16(69), + 1404: uint16(541), + 1405: uint16(70), + 1406: uint16(70), + 1407: uint16(71), + 1408: uint16(71), + 1409: uint16(540), + 1410: uint16(565), + 1411: uint16(72), + 1412: uint16(72), + 1413: uint16(484), + 1414: uint16(55), + 1415: uint16(55), + 1416: uint16(473), + 1417: uint16(1180), + 1418: uint16(296), + 1419: uint16(1040), + 1420: uint16(56), + 1421: uint16(56), + 1422: uint16(296), + 1423: uint16(493), + 1424: uint16(541), + 1425: uint16(119), + 1426: uint16(119), + 1427: uint16(410), + 1428: uint16(1573), + 1429: uint16(542), + 1430: uint16(569), + 1431: uint16(418), + 1432: uint16(7), + 1433: uint16(120), + 1434: uint16(1244), + 1435: uint16(451), + 1436: uint16(577), + 1437: uint16(451), + 1438: uint16(465), + 1439: uint16(1040), + 1440: uint16(1028), + 1441: uint16(576), + 1442: uint16(1557), + 1443: uint16(552), + 1444: uint16(476), + 1445: uint16(119), + 1446: uint16(119), + 1447: uint16(527), + 1448: uint16(259), + 1449: uint16(121), + 1450: uint16(568), + 1451: uint16(240), + 1452: uint16(4), + 1453: uint16(120), + 1454: uint16(576), + 1455: uint16(451), + 1456: uint16(577), + 1457: uint16(451), + 1458: uint16(576), + 1459: uint16(477), + 1460: uint16(1028), + 1461: uint16(576), + 1462: uint16(156), + 1463: uint16(576), + 1464: uint16(57), + 1465: uint16(57), + 1466: uint16(571), + 1467: uint16(576), + 1468: uint16(286), + 1469: uint16(229), + 1470: uint16(410), + 1471: uint16(336), + 1472: uint16(1028), + 1473: uint16(1028), + 1474: uint16(1030), + 1475: uint16(1031), + 1476: uint16(35), + 1477: uint16(59), + 1478: uint16(59), + 1479: uint16(219), + 1480: uint16(983), + 1481: uint16(60), + 1482: uint16(60), + 1483: uint16(220), + 1484: uint16(73), + 1485: uint16(73), + 1486: uint16(74), + 1487: uint16(74), + 1488: uint16(984), + 1489: uint16(451), + 1490: uint16(75), + 1491: uint16(75), + 1492: uint16(1028), + 1493: uint16(1028), + 1494: uint16(1030), + 1495: uint16(1031), + 1496: uint16(35), + 1497: uint16(96), + 1498: uint16(216), + 1499: uint16(291), + 1500: uint16(552), + 1501: uint16(565), + 1502: uint16(1188), + 1503: uint16(318), + 1504: uint16(395), + 1505: uint16(395), + 1506: uint16(394), + 1507: uint16(276), + 1508: uint16(392), + 1509: uint16(576), + 1510: uint16(485), + 1511: uint16(859), + 1512: uint16(474), + 1513: uint16(1311), + 1514: uint16(410), + 1515: uint16(541), + 1516: uint16(576), + 1517: uint16(417), + 1518: uint16(1530), + 1519: uint16(1144), + 1520: uint16(540), + 1521: uint16(399), + 1522: uint16(1188), + 1523: uint16(292), + 1524: uint16(237), + 1525: uint16(1153), + 1526: uint16(326), + 1527: uint16(38), + 1528: uint16(23), + 1529: uint16(576), + 1530: uint16(1040), + 1531: uint16(576), + 1532: uint16(20), + 1533: uint16(20), + 1534: uint16(325), + 1535: uint16(299), + 1536: uint16(119), + 1537: uint16(119), + 1538: uint16(164), + 1539: uint16(76), + 1540: uint16(76), + 1541: uint16(1529), + 1542: uint16(121), + 1543: uint16(568), + 1544: uint16(120), + 1545: uint16(4), + 1546: uint16(451), + 1547: uint16(577), + 1548: uint16(451), + 1549: uint16(203), + 1550: uint16(576), + 1551: uint16(1028), + 1552: uint16(141), + 1553: uint16(141), + 1554: uint16(142), + 1555: uint16(142), + 1556: uint16(576), + 1557: uint16(322), + 1558: uint16(39), + 1559: uint16(571), + 1560: uint16(341), + 1561: uint16(1021), + 1562: uint16(110), + 1563: uint16(264), + 1564: uint16(239), + 1565: uint16(901), + 1566: uint16(900), + 1567: uint16(423), + 1568: uint16(242), + 1569: uint16(908), + 1570: uint16(909), + 1571: uint16(370), + 1572: uint16(173), + 1573: uint16(77), + 1574: uint16(77), + 1575: uint16(43), + 1576: uint16(479), + 1577: uint16(1310), + 1578: uint16(264), + 1579: uint16(62), + 1580: uint16(62), + 1581: uint16(369), + 1582: uint16(451), + 1583: uint16(1028), + 1584: uint16(1028), + 1585: uint16(1030), + 1586: uint16(1031), + 1587: uint16(35), + 1588: uint16(1601), + 1589: uint16(1192), + 1590: uint16(453), + 1591: uint16(1092), + 1592: uint16(238), + 1593: uint16(291), + 1594: uint16(565), + 1595: uint16(163), + 1596: uint16(1309), 1597: uint16(110), - 1598: uint16(110), - 1599: uint16(1019), - 1600: uint16(157), - 1601: uint16(157), - 1602: uint16(141), - 1603: uint16(141), - 1604: uint16(572), - 1605: uint16(111), - 1606: uint16(572), - 1607: uint16(449), - 1608: uint16(573), - 1609: uint16(449), - 1610: uint16(412), - 1611: uint16(288), - 1612: uint16(1019), - 1613: uint16(572), - 1614: uint16(882), - 1615: uint16(318), - 1616: uint16(563), - 1617: uint16(572), - 1618: uint16(219), - 1619: uint16(572), - 1620: uint16(241), - 1621: uint16(1012), - 1622: uint16(477), - 1623: uint16(263), - 1624: uint16(263), - 1625: uint16(894), - 1626: uint16(893), - 1627: uint16(140), - 1628: uint16(140), - 1629: uint16(138), - 1630: uint16(138), - 1631: uint16(1019), - 1632: uint16(1019), - 1633: uint16(1021), - 1634: uint16(1022), - 1635: uint16(28), - 1636: uint16(139), - 1637: uint16(139), - 1638: uint16(525), - 1639: uint16(455), - 1640: uint16(76), - 1641: uint16(76), - 1642: uint16(78), - 1643: uint16(78), - 1644: uint16(1019), - 1645: uint16(1019), - 1646: uint16(1021), - 1647: uint16(1022), - 1648: uint16(28), - 1649: uint16(1181), - 1650: uint16(451), - 1651: uint16(572), - 1652: uint16(1083), - 1653: uint16(290), - 1654: uint16(112), - 1655: uint16(564), - 1656: uint16(1575), - 1657: uint16(4), - 1658: uint16(394), - 1659: uint16(394), - 1660: uint16(393), - 1661: uint16(275), - 1662: uint16(391), - 1663: uint16(572), - 1664: uint16(1023), - 1665: uint16(852), - 1666: uint16(572), - 1667: uint16(479), - 1668: uint16(345), - 1669: uint16(263), - 1670: uint16(101), - 1671: uint16(567), - 1672: uint16(882), - 1673: uint16(1376), - 1674: uint16(75), - 1675: uint16(75), - 1676: uint16(1421), - 1677: uint16(501), - 1678: uint16(236), - 1679: uint16(260), - 1680: uint16(325), - 1681: uint16(112), - 1682: uint16(564), - 1683: uint16(359), - 1684: uint16(4), - 1685: uint16(101), - 1686: uint16(43), - 1687: uint16(43), - 1688: uint16(324), - 1689: uint16(49), - 1690: uint16(49), - 1691: uint16(901), - 1692: uint16(902), - 1693: uint16(161), - 1694: uint16(449), - 1695: uint16(101), - 1696: uint16(977), - 1697: uint16(978), - 1698: uint16(567), - 1699: uint16(1079), - 1700: uint16(1349), - 1701: uint16(260), - 1702: uint16(965), - 1703: uint16(932), - 1704: uint16(263), - 1705: uint16(114), - 1706: uint16(561), - 1707: uint16(1095), - 1708: uint16(517), - 1709: uint16(1095), - 1710: uint16(1083), - 1711: uint16(1094), - 1712: uint16(865), - 1713: uint16(1094), - 1714: uint16(151), - 1715: uint16(933), - 1716: uint16(1144), - 1717: uint16(114), - 1718: uint16(238), - 1719: uint16(1361), - 1720: uint16(558), - 1721: uint16(449), - 1722: uint16(1023), - 1723: uint16(559), - 1724: uint16(1426), - 1725: uint16(1278), - 1726: uint16(170), - 1727: uint16(1269), - 1728: uint16(1257), - 1729: uint16(142), - 1730: uint16(1601), - 1731: uint16(1256), - 1732: uint16(1258), - 1733: uint16(561), - 1734: uint16(1594), - 1735: uint16(1031), - 1736: uint16(496), - 1737: uint16(278), - 1738: uint16(213), - 1739: uint16(1346), - 1740: uint16(310), - 1741: uint16(110), - 1742: uint16(110), - 1743: uint16(939), - 1744: uint16(311), - 1745: uint16(312), - 1746: uint16(237), - 1747: uint16(11), - 1748: uint16(234), - 1749: uint16(111), - 1750: uint16(221), - 1751: uint16(449), - 1752: uint16(573), - 1753: uint16(449), - 1754: uint16(293), - 1755: uint16(395), - 1756: uint16(1019), - 1757: uint16(1408), - 1758: uint16(337), - 1759: uint16(1403), - 1760: uint16(1396), - 1761: uint16(338), - 1762: uint16(1031), - 1763: uint16(299), - 1764: uint16(343), - 1765: uint16(1413), - 1766: uint16(1412), - 1767: uint16(481), - 1768: uint16(110), - 1769: uint16(110), - 1770: uint16(506), - 1771: uint16(402), - 1772: uint16(225), - 1773: uint16(1296), - 1774: uint16(206), - 1775: uint16(367), - 1776: uint16(111), - 1777: uint16(1358), - 1778: uint16(449), - 1779: uint16(573), - 1780: uint16(449), - 1781: uint16(412), - 1782: uint16(1359), - 1783: uint16(1019), - 1784: uint16(1489), - 1785: uint16(1488), - 1786: uint16(318), - 1787: uint16(563), - 1788: uint16(1019), - 1789: uint16(1019), - 1790: uint16(1021), - 1791: uint16(1022), - 1792: uint16(28), - 1793: uint16(562), - 1794: uint16(207), - 1795: uint16(220), - 1796: uint16(80), - 1797: uint16(564), - 1798: uint16(389), - 1799: uint16(4), - 1800: uint16(1597), - 1801: uint16(1357), - 1802: uint16(552), - 1803: uint16(1356), - 1804: uint16(1233), - 1805: uint16(181), - 1806: uint16(267), - 1807: uint16(232), - 1808: uint16(1536), - 1809: uint16(1534), - 1810: uint16(455), - 1811: uint16(1230), - 1812: uint16(420), - 1813: uint16(567), - 1814: uint16(82), - 1815: uint16(1019), - 1816: uint16(1019), - 1817: uint16(1021), - 1818: uint16(1022), - 1819: uint16(28), - 1820: uint16(86), - 1821: uint16(217), - 1822: uint16(85), - 1823: uint16(1494), - 1824: uint16(190), - 1825: uint16(175), - 1826: uint16(183), - 1827: uint16(465), - 1828: uint16(185), - 1829: uint16(466), - 1830: uint16(36), - 1831: uint16(1409), - 1832: uint16(186), - 1833: uint16(187), - 1834: uint16(188), - 1835: uint16(499), - 1836: uint16(449), - 1837: uint16(244), - 1838: uint16(37), - 1839: uint16(99), - 1840: uint16(400), - 1841: uint16(1415), - 1842: uint16(1414), - 1843: uint16(488), - 1844: uint16(1417), - 1845: uint16(194), - 1846: uint16(473), - 1847: uint16(403), - 1848: uint16(561), - 1849: uint16(1483), - 1850: uint16(248), - 1851: uint16(92), - 1852: uint16(1505), - 1853: uint16(494), - 1854: uint16(198), - 1855: uint16(279), - 1856: uint16(112), - 1857: uint16(564), - 1858: uint16(250), - 1859: uint16(4), - 1860: uint16(348), - 1861: uint16(497), - 1862: uint16(405), - 1863: uint16(352), - 1864: uint16(1259), - 1865: uint16(251), - 1866: uint16(252), - 1867: uint16(515), - 1868: uint16(1316), - 1869: uint16(434), - 1870: uint16(1315), - 1871: uint16(1314), - 1872: uint16(94), - 1873: uint16(567), - 1874: uint16(1307), - 1875: uint16(886), - 1876: uint16(1306), - 1877: uint16(1031), - 1878: uint16(226), - 1879: uint16(406), - 1880: uint16(1611), - 1881: uint16(1610), - 1882: uint16(438), - 1883: uint16(110), - 1884: uint16(110), - 1885: uint16(1580), - 1886: uint16(1286), - 1887: uint16(524), - 1888: uint16(439), - 1889: uint16(308), - 1890: uint16(266), - 1891: uint16(111), - 1892: uint16(1285), - 1893: uint16(449), - 1894: uint16(573), - 1895: uint16(449), - 1896: uint16(449), - 1897: uint16(309), - 1898: uint16(1019), - 1899: uint16(366), - 1900: uint16(1284), - 1901: uint16(1609), - 1902: uint16(265), - 1903: uint16(1566), - 1904: uint16(1565), - 1905: uint16(442), - 1906: uint16(372), - 1907: uint16(1381), - 1908: uint16(561), - 1909: uint16(129), - 1910: uint16(550), - 1911: uint16(1380), - 1912: uint16(10), - 1913: uint16(1470), - 1914: uint16(383), - 1915: uint16(106), - 1916: uint16(316), - 1917: uint16(551), - 1918: uint16(100), - 1919: uint16(35), - 1920: uint16(534), - 1921: uint16(575), - 1922: uint16(212), - 1923: uint16(1339), - 1924: uint16(381), - 1925: uint16(387), - 1926: uint16(1187), - 1927: uint16(1338), - 1928: uint16(274), - 1929: uint16(276), - 1930: uint16(1019), - 1931: uint16(1019), - 1932: uint16(1021), - 1933: uint16(1022), - 1934: uint16(28), - 1935: uint16(277), - 1936: uint16(413), - 1937: uint16(1031), - 1938: uint16(576), - 1939: uint16(1254), - 1940: uint16(388), - 1941: uint16(1521), - 1942: uint16(1249), - 1943: uint16(110), - 1944: uint16(110), - 1945: uint16(167), - 1946: uint16(1522), - 1947: uint16(168), - 1948: uint16(148), - 1949: uint16(1520), - 1950: uint16(1519), - 1951: uint16(111), - 1952: uint16(306), - 1953: uint16(449), - 1954: uint16(573), - 1955: uint16(449), - 1956: uint16(222), - 1957: uint16(223), - 1958: uint16(1019), - 1959: uint16(839), - 1960: uint16(169), - 1961: uint16(79), - 1962: uint16(450), - 1963: uint16(214), - 1964: uint16(414), - 1965: uint16(233), - 1966: uint16(320), - 1967: uint16(145), - 1968: uint16(1093), - 1969: uint16(1091), - 1970: uint16(328), - 1971: uint16(182), - 1972: uint16(171), - 1973: uint16(1212), - 1974: uint16(918), - 1975: uint16(184), - 1976: uint16(240), - 1977: uint16(336), - 1978: uint16(243), - 1979: uint16(1107), - 1980: uint16(189), - 1981: uint16(172), - 1982: uint16(173), - 1983: uint16(423), - 1984: uint16(425), - 1985: uint16(88), - 1986: uint16(180), - 1987: uint16(191), - 1988: uint16(89), - 1989: uint16(90), - 1990: uint16(1019), - 1991: uint16(1019), - 1992: uint16(1021), - 1993: uint16(1022), - 1994: uint16(28), - 1995: uint16(91), - 1996: uint16(174), - 1997: uint16(1110), - 1998: uint16(245), - 1999: uint16(1106), - 2000: uint16(246), - 2001: uint16(159), - 2002: uint16(18), - 2003: uint16(247), - 2004: uint16(347), - 2005: uint16(1099), - 2006: uint16(263), - 2007: uint16(195), - 2008: uint16(1227), - 2009: uint16(493), - 2010: uint16(249), - 2011: uint16(196), - 2012: uint16(38), - 2013: uint16(854), - 2014: uint16(498), - 2015: uint16(368), - 2016: uint16(253), - 2017: uint16(360), - 2018: uint16(897), - 2019: uint16(197), - 2020: uint16(502), - 2021: uint16(93), - 2022: uint16(19), - 2023: uint16(20), - 2024: uint16(507), - 2025: uint16(884), - 2026: uint16(363), - 2027: uint16(510), - 2028: uint16(95), - 2029: uint16(307), - 2030: uint16(160), - 2031: uint16(96), - 2032: uint16(518), - 2033: uint16(97), - 2034: uint16(1175), - 2035: uint16(1060), - 2036: uint16(1146), - 2037: uint16(40), - 2038: uint16(21), - 2039: uint16(227), - 2040: uint16(176), - 2041: uint16(1145), - 2042: uint16(282), - 2043: uint16(284), - 2044: uint16(969), - 2045: uint16(200), - 2046: uint16(963), - 2047: uint16(114), - 2048: uint16(262), - 2049: uint16(1165), - 2050: uint16(22), - 2051: uint16(23), - 2052: uint16(24), - 2053: uint16(1161), - 2054: uint16(1169), - 2055: uint16(25), - 2056: uint16(1163), - 2057: uint16(1150), - 2058: uint16(34), - 2059: uint16(26), - 2060: uint16(1168), - 2061: uint16(546), - 2062: uint16(27), - 2063: uint16(204), - 2064: uint16(101), - 2065: uint16(103), - 2066: uint16(104), - 2067: uint16(1074), - 2068: uint16(7), - 2069: uint16(1061), - 2070: uint16(1059), - 2071: uint16(1063), - 2072: uint16(1116), - 2073: uint16(1064), - 2074: uint16(1115), - 2075: uint16(268), - 2076: uint16(269), - 2077: uint16(29), - 2078: uint16(41), - 2079: uint16(270), - 2080: uint16(1024), - 2081: uint16(866), - 2082: uint16(113), - 2083: uint16(30), - 2084: uint16(568), - 2085: uint16(392), - 2086: uint16(1183), - 2087: uint16(144), - 2088: uint16(178), - 2089: uint16(1182), - 2090: uint16(271), - 2091: uint16(928), - 2092: uint16(1245), - 2093: uint16(1245), - 2094: uint16(1245), - 2095: uint16(1245), - 2096: uint16(1245), - 2097: uint16(1245), - 2098: uint16(1245), - 2099: uint16(1602), -} -var _yy_lookahead = [2285]uint16{ - 0: uint16(193), - 1: uint16(193), - 2: uint16(193), - 3: uint16(274), - 4: uint16(275), - 5: uint16(276), - 6: uint16(193), - 7: uint16(274), - 8: uint16(275), - 9: uint16(276), - 10: uint16(193), - 11: uint16(223), - 12: uint16(219), - 13: uint16(225), - 14: uint16(206), - 15: uint16(210), - 16: uint16(211), - 17: uint16(212), - 18: uint16(193), + 1598: uint16(395), + 1599: uint16(395), + 1600: uint16(394), + 1601: uint16(276), + 1602: uint16(392), + 1603: uint16(986), + 1604: uint16(987), + 1605: uint16(859), + 1606: uint16(481), + 1607: uint16(346), + 1608: uint16(264), + 1609: uint16(110), + 1610: uint16(1032), + 1611: uint16(489), + 1612: uint16(576), + 1613: uint16(1188), + 1614: uint16(503), + 1615: uint16(1088), + 1616: uint16(261), + 1617: uint16(261), + 1618: uint16(237), + 1619: uint16(576), + 1620: uint16(326), + 1621: uint16(121), + 1622: uint16(568), + 1623: uint16(1040), + 1624: uint16(4), + 1625: uint16(347), + 1626: uint16(1376), + 1627: uint16(413), + 1628: uint16(325), + 1629: uint16(119), + 1630: uint16(119), + 1631: uint16(948), + 1632: uint16(319), + 1633: uint16(567), + 1634: uint16(351), + 1635: uint16(78), + 1636: uint16(78), + 1637: uint16(120), + 1638: uint16(571), + 1639: uint16(451), + 1640: uint16(577), + 1641: uint16(451), + 1642: uint16(79), + 1643: uint16(79), + 1644: uint16(1028), + 1645: uint16(354), + 1646: uint16(356), + 1647: uint16(576), + 1648: uint16(360), + 1649: uint16(1092), + 1650: uint16(110), + 1651: uint16(576), + 1652: uint16(974), + 1653: uint16(942), + 1654: uint16(264), + 1655: uint16(123), + 1656: uint16(457), + 1657: uint16(358), + 1658: uint16(239), + 1659: uint16(576), + 1660: uint16(519), + 1661: uint16(451), + 1662: uint16(939), + 1663: uint16(1104), + 1664: uint16(123), + 1665: uint16(1104), + 1666: uint16(173), + 1667: uint16(576), + 1668: uint16(1032), + 1669: uint16(43), + 1670: uint16(63), + 1671: uint16(63), + 1672: uint16(1324), + 1673: uint16(565), + 1674: uint16(168), + 1675: uint16(168), + 1676: uint16(1028), + 1677: uint16(1028), + 1678: uint16(1030), + 1679: uint16(1031), + 1680: uint16(35), + 1681: uint16(576), + 1682: uint16(169), + 1683: uint16(169), + 1684: uint16(1308), + 1685: uint16(872), + 1686: uint16(238), + 1687: uint16(157), + 1688: uint16(1589), + 1689: uint16(576), + 1690: uint16(86), + 1691: uint16(86), + 1692: uint16(365), + 1693: uint16(89), + 1694: uint16(568), + 1695: uint16(375), + 1696: uint16(4), + 1697: uint16(1103), + 1698: uint16(941), + 1699: uint16(1103), + 1700: uint16(123), + 1701: uint16(576), + 1702: uint16(1040), + 1703: uint16(1389), + 1704: uint16(64), + 1705: uint16(64), + 1706: uint16(1188), + 1707: uint16(1434), + 1708: uint16(119), + 1709: uint16(119), + 1710: uint16(571), + 1711: uint16(576), + 1712: uint16(82), + 1713: uint16(82), + 1714: uint16(563), + 1715: uint16(576), + 1716: uint16(120), + 1717: uint16(165), + 1718: uint16(451), + 1719: uint16(577), + 1720: uint16(451), + 1721: uint16(413), + 1722: uint16(1362), + 1723: uint16(1028), + 1724: uint16(144), + 1725: uint16(144), + 1726: uint16(319), + 1727: uint16(567), + 1728: uint16(576), + 1729: uint16(1374), + 1730: uint16(562), + 1731: uint16(498), + 1732: uint16(279), + 1733: uint16(451), + 1734: uint16(83), + 1735: uint16(83), + 1736: uint16(1439), + 1737: uint16(576), + 1738: uint16(166), + 1739: uint16(166), + 1740: uint16(576), + 1741: uint16(1289), + 1742: uint16(554), + 1743: uint16(576), + 1744: uint16(1280), + 1745: uint16(565), + 1746: uint16(576), + 1747: uint16(12), + 1748: uint16(576), + 1749: uint16(1268), + 1750: uint16(457), + 1751: uint16(146), + 1752: uint16(146), + 1753: uint16(1267), + 1754: uint16(576), + 1755: uint16(1028), + 1756: uint16(1028), + 1757: uint16(1030), + 1758: uint16(1031), + 1759: uint16(35), + 1760: uint16(140), + 1761: uint16(140), + 1762: uint16(1269), + 1763: uint16(167), + 1764: uint16(167), + 1765: uint16(1609), + 1766: uint16(160), + 1767: uint16(160), + 1768: uint16(1359), + 1769: uint16(150), + 1770: uint16(150), + 1771: uint16(149), + 1772: uint16(149), + 1773: uint16(311), + 1774: uint16(1040), + 1775: uint16(576), + 1776: uint16(312), + 1777: uint16(147), + 1778: uint16(147), + 1779: uint16(313), + 1780: uint16(119), + 1781: uint16(119), + 1782: uint16(222), + 1783: uint16(235), + 1784: uint16(576), + 1785: uint16(1188), + 1786: uint16(396), + 1787: uint16(576), + 1788: uint16(120), + 1789: uint16(576), + 1790: uint16(451), + 1791: uint16(577), + 1792: uint16(451), + 1793: uint16(1192), + 1794: uint16(453), + 1795: uint16(1028), + 1796: uint16(508), + 1797: uint16(291), + 1798: uint16(148), + 1799: uint16(148), + 1800: uint16(1421), + 1801: uint16(1612), + 1802: uint16(395), + 1803: uint16(395), + 1804: uint16(394), + 1805: uint16(276), + 1806: uint16(392), + 1807: uint16(85), + 1808: uint16(85), + 1809: uint16(859), + 1810: uint16(87), + 1811: uint16(87), + 1812: uint16(84), + 1813: uint16(84), + 1814: uint16(553), + 1815: uint16(576), + 1816: uint16(294), + 1817: uint16(576), + 1818: uint16(1426), + 1819: uint16(338), + 1820: uint16(339), + 1821: uint16(1425), + 1822: uint16(237), + 1823: uint16(300), + 1824: uint16(326), + 1825: uint16(1416), + 1826: uint16(1409), + 1827: uint16(1028), + 1828: uint16(1028), + 1829: uint16(1030), + 1830: uint16(1031), + 1831: uint16(35), + 1832: uint16(325), + 1833: uint16(344), + 1834: uint16(403), + 1835: uint16(483), + 1836: uint16(226), + 1837: uint16(1307), + 1838: uint16(52), + 1839: uint16(52), + 1840: uint16(58), + 1841: uint16(58), + 1842: uint16(368), + 1843: uint16(1371), + 1844: uint16(1502), + 1845: uint16(566), + 1846: uint16(1501), + 1847: uint16(121), + 1848: uint16(568), + 1849: uint16(221), + 1850: uint16(4), + 1851: uint16(208), + 1852: uint16(268), + 1853: uint16(209), + 1854: uint16(390), + 1855: uint16(1244), + 1856: uint16(1549), + 1857: uint16(1188), + 1858: uint16(1372), + 1859: uint16(1370), + 1860: uint16(1369), + 1861: uint16(1547), + 1862: uint16(239), + 1863: uint16(184), + 1864: uint16(571), + 1865: uint16(233), + 1866: uint16(421), + 1867: uint16(1241), + 1868: uint16(95), + 1869: uint16(218), + 1870: uint16(173), + 1871: uint16(1507), + 1872: uint16(193), + 1873: uint16(43), + 1874: uint16(91), + 1875: uint16(94), + 1876: uint16(178), + 1877: uint16(186), + 1878: uint16(467), + 1879: uint16(188), + 1880: uint16(468), + 1881: uint16(1422), + 1882: uint16(13), + 1883: uint16(189), + 1884: uint16(190), + 1885: uint16(191), + 1886: uint16(501), + 1887: uint16(451), + 1888: uint16(245), + 1889: uint16(108), + 1890: uint16(238), + 1891: uint16(401), + 1892: uint16(1428), + 1893: uint16(1427), + 1894: uint16(1430), + 1895: uint16(475), + 1896: uint16(404), + 1897: uint16(1496), + 1898: uint16(197), + 1899: uint16(565), + 1900: uint16(14), + 1901: uint16(490), + 1902: uint16(249), + 1903: uint16(101), + 1904: uint16(1518), + 1905: uint16(496), + 1906: uint16(349), + 1907: uint16(280), + 1908: uint16(251), + 1909: uint16(201), + 1910: uint16(353), + 1911: uint16(499), + 1912: uint16(252), + 1913: uint16(406), + 1914: uint16(1270), + 1915: uint16(253), + 1916: uint16(517), + 1917: uint16(1327), + 1918: uint16(1326), + 1919: uint16(435), + 1920: uint16(1325), + 1921: uint16(1318), + 1922: uint16(103), + 1923: uint16(893), + 1924: uint16(1296), + 1925: uint16(413), + 1926: uint16(227), + 1927: uint16(407), + 1928: uint16(1040), + 1929: uint16(1626), + 1930: uint16(319), + 1931: uint16(567), + 1932: uint16(1625), + 1933: uint16(1297), + 1934: uint16(119), + 1935: uint16(119), + 1936: uint16(439), + 1937: uint16(367), + 1938: uint16(1317), + 1939: uint16(1295), + 1940: uint16(1624), + 1941: uint16(526), + 1942: uint16(120), + 1943: uint16(440), + 1944: uint16(451), + 1945: uint16(577), + 1946: uint16(451), + 1947: uint16(1594), + 1948: uint16(309), + 1949: uint16(1028), + 1950: uint16(310), + 1951: uint16(373), + 1952: uint16(266), + 1953: uint16(267), + 1954: uint16(457), + 1955: uint16(1580), + 1956: uint16(1579), + 1957: uint16(443), + 1958: uint16(138), + 1959: uint16(1394), + 1960: uint16(552), + 1961: uint16(1393), + 1962: uint16(11), + 1963: uint16(1483), + 1964: uint16(384), + 1965: uint16(115), + 1966: uint16(317), + 1967: uint16(1350), + 1968: uint16(109), + 1969: uint16(536), + 1970: uint16(42), + 1971: uint16(579), + 1972: uint16(382), + 1973: uint16(214), + 1974: uint16(1349), + 1975: uint16(388), + 1976: uint16(1198), + 1977: uint16(389), + 1978: uint16(275), + 1979: uint16(277), + 1980: uint16(278), + 1981: uint16(1028), + 1982: uint16(1028), + 1983: uint16(1030), + 1984: uint16(1031), + 1985: uint16(35), + 1986: uint16(580), + 1987: uint16(1265), + 1988: uint16(414), + 1989: uint16(1260), + 1990: uint16(170), + 1991: uint16(415), + 1992: uint16(183), + 1993: uint16(1534), + 1994: uint16(1535), + 1995: uint16(1533), + 1996: uint16(171), + 1997: uint16(154), + 1998: uint16(307), + 1999: uint16(1532), + 2000: uint16(846), + 2001: uint16(223), + 2002: uint16(224), + 2003: uint16(88), + 2004: uint16(452), + 2005: uint16(215), + 2006: uint16(172), + 2007: uint16(321), + 2008: uint16(234), + 2009: uint16(1102), + 2010: uint16(152), + 2011: uint16(1188), + 2012: uint16(1100), + 2013: uint16(329), + 2014: uint16(185), + 2015: uint16(174), + 2016: uint16(1223), + 2017: uint16(925), + 2018: uint16(187), + 2019: uint16(241), + 2020: uint16(337), + 2021: uint16(244), + 2022: uint16(1116), + 2023: uint16(192), + 2024: uint16(175), + 2025: uint16(176), + 2026: uint16(424), + 2027: uint16(426), + 2028: uint16(97), + 2029: uint16(194), + 2030: uint16(98), + 2031: uint16(99), + 2032: uint16(100), + 2033: uint16(177), + 2034: uint16(1119), + 2035: uint16(1115), + 2036: uint16(246), + 2037: uint16(247), + 2038: uint16(161), + 2039: uint16(24), + 2040: uint16(248), + 2041: uint16(348), + 2042: uint16(1238), + 2043: uint16(264), + 2044: uint16(1108), + 2045: uint16(250), + 2046: uint16(495), + 2047: uint16(199), + 2048: uint16(198), + 2049: uint16(15), + 2050: uint16(861), + 2051: uint16(500), + 2052: uint16(369), + 2053: uint16(254), + 2054: uint16(504), + 2055: uint16(509), + 2056: uint16(512), + 2057: uint16(200), + 2058: uint16(102), + 2059: uint16(25), + 2060: uint16(179), + 2061: uint16(361), + 2062: uint16(26), + 2063: uint16(364), + 2064: uint16(104), + 2065: uint16(891), + 2066: uint16(308), + 2067: uint16(162), + 2068: uint16(105), + 2069: uint16(904), + 2070: uint16(520), + 2071: uint16(106), + 2072: uint16(1185), + 2073: uint16(1069), + 2074: uint16(1155), + 2075: uint16(17), + 2076: uint16(228), + 2077: uint16(27), + 2078: uint16(1154), + 2079: uint16(283), + 2080: uint16(285), + 2081: uint16(263), + 2082: uint16(978), + 2083: uint16(202), + 2084: uint16(972), + 2085: uint16(123), + 2086: uint16(28), + 2087: uint16(1175), + 2088: uint16(29), + 2089: uint16(30), + 2090: uint16(1179), + 2091: uint16(1171), + 2092: uint16(31), + 2093: uint16(1173), + 2094: uint16(1160), + 2095: uint16(41), + 2096: uint16(32), + 2097: uint16(206), + 2098: uint16(548), + 2099: uint16(33), + 2100: uint16(110), + 2101: uint16(1178), + 2102: uint16(1083), + 2103: uint16(8), + 2104: uint16(112), + 2105: uint16(1070), + 2106: uint16(113), + 2107: uint16(1068), + 2108: uint16(1072), + 2109: uint16(34), + 2110: uint16(1073), + 2111: uint16(560), + 2112: uint16(1125), + 2113: uint16(269), + 2114: uint16(1124), + 2115: uint16(270), + 2116: uint16(36), + 2117: uint16(18), + 2118: uint16(1194), + 2119: uint16(1033), + 2120: uint16(873), + 2121: uint16(151), + 2122: uint16(122), + 2123: uint16(37), + 2124: uint16(393), + 2125: uint16(271), + 2126: uint16(272), + 2127: uint16(572), + 2128: uint16(181), + 2129: uint16(1193), + 2130: uint16(1256), + 2131: uint16(1256), + 2132: uint16(1256), + 2133: uint16(935), + 2134: uint16(1256), + 2135: uint16(1256), + 2136: uint16(1256), + 2137: uint16(1256), + 2138: uint16(1256), + 2139: uint16(1256), + 2140: uint16(1256), + 2141: uint16(1617), +} +var _yy_lookahead = [2328]uint16{ + 0: uint16(194), + 1: uint16(276), + 2: uint16(277), + 3: uint16(278), + 4: uint16(216), + 5: uint16(194), + 6: uint16(194), + 7: uint16(217), + 8: uint16(194), + 9: uint16(194), + 10: uint16(194), + 11: uint16(194), + 12: uint16(224), + 13: uint16(194), + 14: uint16(194), + 15: uint16(276), + 16: uint16(277), + 17: uint16(278), + 18: uint16(204), 19: uint16(19), - 20: uint16(219), - 21: uint16(233), - 22: uint16(216), - 23: uint16(216), - 24: uint16(217), - 25: uint16(216), - 26: uint16(217), - 27: uint16(193), - 28: uint16(295), - 29: uint16(216), - 30: uint16(217), + 20: uint16(206), + 21: uint16(202), + 22: uint16(297), + 23: uint16(217), + 24: uint16(218), + 25: uint16(205), + 26: uint16(207), + 27: uint16(217), + 28: uint16(205), + 29: uint16(217), + 30: uint16(218), 31: uint16(31), - 32: uint16(193), - 33: uint16(216), + 32: uint16(217), + 33: uint16(218), 34: uint16(217), - 35: uint16(193), - 36: uint16(228), - 37: uint16(213), - 38: uint16(230), + 35: uint16(218), + 36: uint16(29), + 37: uint16(217), + 38: uint16(218), 39: uint16(39), - 40: uint16(206), - 41: uint16(216), - 42: uint16(217), + 40: uint16(33), + 41: uint16(217), + 42: uint16(220), 43: uint16(43), 44: uint16(44), 45: uint16(45), @@ -149388,31 +150704,31 @@ var _yy_lookahead = [2285]uint16{ 55: uint16(55), 56: uint16(56), 57: uint16(57), - 58: uint16(193), + 58: uint16(312), 59: uint16(19), - 60: uint16(185), - 61: uint16(186), - 62: uint16(187), - 63: uint16(188), - 64: uint16(189), - 65: uint16(190), - 66: uint16(253), - 67: uint16(274), - 68: uint16(275), - 69: uint16(276), - 70: uint16(195), - 71: uint16(193), - 72: uint16(197), - 73: uint16(193), - 74: uint16(261), - 75: uint16(274), - 76: uint16(275), - 77: uint16(276), - 78: uint16(253), - 79: uint16(204), - 80: uint16(238), - 81: uint16(204), - 82: uint16(81), + 60: uint16(240), + 61: uint16(241), + 62: uint16(316), + 63: uint16(240), + 64: uint16(241), + 65: uint16(194), + 66: uint16(46), + 67: uint16(47), + 68: uint16(48), + 69: uint16(49), + 70: uint16(22), + 71: uint16(254), + 72: uint16(65), + 73: uint16(253), + 74: uint16(254), + 75: uint16(255), + 76: uint16(253), + 77: uint16(194), + 78: uint16(255), + 79: uint16(194), + 80: uint16(263), + 81: uint16(258), + 82: uint16(259), 83: uint16(43), 84: uint16(44), 85: uint16(45), @@ -149428,10 +150744,10 @@ var _yy_lookahead = [2285]uint16{ 95: uint16(55), 96: uint16(56), 97: uint16(57), - 98: uint16(274), - 99: uint16(275), - 100: uint16(276), - 101: uint16(262), + 98: uint16(276), + 99: uint16(277), + 100: uint16(278), + 101: uint16(285), 102: uint16(102), 103: uint16(103), 104: uint16(104), @@ -149444,34 +150760,34 @@ var _yy_lookahead = [2285]uint16{ 111: uint16(111), 112: uint16(112), 113: uint16(113), - 114: uint16(239), - 115: uint16(240), - 116: uint16(239), - 117: uint16(240), - 118: uint16(210), - 119: uint16(211), - 120: uint16(212), - 121: uint16(314), - 122: uint16(315), - 123: uint16(314), - 124: uint16(59), - 125: uint16(316), + 114: uint16(59), + 115: uint16(186), + 116: uint16(187), + 117: uint16(188), + 118: uint16(189), + 119: uint16(190), + 120: uint16(191), + 121: uint16(310), + 122: uint16(239), + 123: uint16(317), + 124: uint16(318), + 125: uint16(196), 126: uint16(86), - 127: uint16(252), + 127: uint16(198), 128: uint16(88), - 129: uint16(252), + 129: uint16(317), 130: uint16(19), - 131: uint16(314), - 132: uint16(315), - 133: uint16(256), - 134: uint16(257), - 135: uint16(113), + 131: uint16(319), + 132: uint16(317), + 133: uint16(318), + 134: uint16(205), + 135: uint16(264), 136: uint16(25), - 137: uint16(72), - 138: uint16(296), - 139: uint16(138), - 140: uint16(139), - 141: uint16(266), + 137: uint16(211), + 138: uint16(212), + 139: uint16(213), + 140: uint16(205), + 141: uint16(121), 142: uint16(102), 143: uint16(103), 144: uint16(104), @@ -149499,50 +150815,50 @@ var _yy_lookahead = [2285]uint16{ 166: uint16(55), 167: uint16(56), 168: uint16(57), - 169: uint16(81), - 170: uint16(292), - 171: uint16(59), - 172: uint16(292), - 173: uint16(298), - 174: uint16(108), - 175: uint16(109), - 176: uint16(110), - 177: uint16(111), - 178: uint16(112), - 179: uint16(113), + 169: uint16(240), + 170: uint16(241), + 171: uint16(116), + 172: uint16(117), + 173: uint16(118), + 174: uint16(119), + 175: uint16(240), + 176: uint16(241), + 177: uint16(122), + 178: uint16(123), + 179: uint16(124), 180: uint16(69), - 181: uint16(116), - 182: uint16(117), - 183: uint16(118), - 184: uint16(72), + 181: uint16(298), + 182: uint16(253), + 183: uint16(194), + 184: uint16(255), 185: uint16(106), 186: uint16(107), - 187: uint16(193), - 188: uint16(111), - 189: uint16(112), - 190: uint16(113), + 187: uint16(132), + 188: uint16(253), + 189: uint16(141), + 190: uint16(255), 191: uint16(54), 192: uint16(55), 193: uint16(56), 194: uint16(57), 195: uint16(58), - 196: uint16(102), - 197: uint16(103), - 198: uint16(104), - 199: uint16(105), - 200: uint16(106), - 201: uint16(107), - 202: uint16(108), - 203: uint16(109), - 204: uint16(110), - 205: uint16(111), - 206: uint16(112), - 207: uint16(113), - 208: uint16(120), - 209: uint16(25), - 210: uint16(216), - 211: uint16(217), - 212: uint16(145), + 196: uint16(207), + 197: uint16(268), + 198: uint16(102), + 199: uint16(103), + 200: uint16(104), + 201: uint16(105), + 202: uint16(106), + 203: uint16(107), + 204: uint16(108), + 205: uint16(109), + 206: uint16(110), + 207: uint16(111), + 208: uint16(112), + 209: uint16(113), + 210: uint16(214), + 211: uint16(128), + 212: uint16(129), 213: uint16(102), 214: uint16(103), 215: uint16(104), @@ -149555,13 +150871,13 @@ var _yy_lookahead = [2285]uint16{ 222: uint16(111), 223: uint16(112), 224: uint16(113), - 225: uint16(231), - 226: uint16(138), - 227: uint16(139), - 228: uint16(116), - 229: uint16(117), - 230: uint16(118), - 231: uint16(164), + 225: uint16(134), + 226: uint16(25), + 227: uint16(136), + 228: uint16(137), + 229: uint16(300), + 230: uint16(165), + 231: uint16(166), 232: uint16(153), 233: uint16(19), 234: uint16(155), @@ -149581,12 +150897,12 @@ var _yy_lookahead = [2285]uint16{ 248: uint16(111), 249: uint16(112), 250: uint16(113), - 251: uint16(128), - 252: uint16(129), - 253: uint16(46), - 254: uint16(47), - 255: uint16(48), - 256: uint16(49), + 251: uint16(108), + 252: uint16(109), + 253: uint16(110), + 254: uint16(111), + 255: uint16(112), + 256: uint16(113), 257: uint16(43), 258: uint16(44), 259: uint16(45), @@ -149602,15 +150918,15 @@ var _yy_lookahead = [2285]uint16{ 269: uint16(55), 270: uint16(56), 271: uint16(57), - 272: uint16(216), - 273: uint16(193), - 274: uint16(25), - 275: uint16(59), - 276: uint16(193), + 272: uint16(276), + 273: uint16(277), + 274: uint16(278), + 275: uint16(113), + 276: uint16(194), 277: uint16(19), - 278: uint16(165), - 279: uint16(166), - 280: uint16(193), + 278: uint16(22), + 279: uint16(23), + 280: uint16(194), 281: uint16(67), 282: uint16(24), 283: uint16(102), @@ -149625,12 +150941,12 @@ var _yy_lookahead = [2285]uint16{ 292: uint16(111), 293: uint16(112), 294: uint16(113), - 295: uint16(73), - 296: uint16(216), - 297: uint16(217), - 298: uint16(59), - 299: uint16(216), - 300: uint16(217), + 295: uint16(220), + 296: uint16(250), + 297: uint16(59), + 298: uint16(252), + 299: uint16(217), + 300: uint16(218), 301: uint16(43), 302: uint16(44), 303: uint16(45), @@ -149658,38 +150974,38 @@ var _yy_lookahead = [2285]uint16{ 325: uint16(111), 326: uint16(112), 327: uint16(113), - 328: uint16(121), - 329: uint16(145), - 330: uint16(59), - 331: uint16(193), - 332: uint16(116), - 333: uint16(117), - 334: uint16(118), - 335: uint16(119), - 336: uint16(273), - 337: uint16(204), - 338: uint16(122), - 339: uint16(123), - 340: uint16(124), + 328: uint16(106), + 329: uint16(107), + 330: uint16(108), + 331: uint16(109), + 332: uint16(110), + 333: uint16(111), + 334: uint16(112), + 335: uint16(113), + 336: uint16(254), + 337: uint16(59), + 338: uint16(205), + 339: uint16(138), + 340: uint16(139), 341: uint16(19), 342: uint16(20), - 343: uint16(134), + 343: uint16(194), 344: uint16(22), - 345: uint16(136), - 346: uint16(137), - 347: uint16(19), - 348: uint16(132), - 349: uint16(127), - 350: uint16(128), - 351: uint16(129), - 352: uint16(24), - 353: uint16(22), - 354: uint16(23), - 355: uint16(116), - 356: uint16(117), - 357: uint16(118), + 345: uint16(263), + 346: uint16(22), + 347: uint16(23), + 348: uint16(231), + 349: uint16(25), + 350: uint16(72), + 351: uint16(276), + 352: uint16(277), + 353: uint16(278), + 354: uint16(116), + 355: uint16(117), + 356: uint16(118), + 357: uint16(101), 358: uint16(36), - 359: uint16(193), + 359: uint16(76), 360: uint16(102), 361: uint16(103), 362: uint16(104), @@ -149702,37 +151018,37 @@ var _yy_lookahead = [2285]uint16{ 369: uint16(111), 370: uint16(112), 371: uint16(113), - 372: uint16(239), + 372: uint16(89), 373: uint16(240), - 374: uint16(311), - 375: uint16(312), - 376: uint16(215), - 377: uint16(106), - 378: uint16(107), - 379: uint16(241), + 374: uint16(241), + 375: uint16(92), + 376: uint16(73), + 377: uint16(194), + 378: uint16(194), + 379: uint16(73), 380: uint16(19), 381: uint16(59), - 382: uint16(216), - 383: uint16(217), - 384: uint16(223), - 385: uint16(252), - 386: uint16(115), - 387: uint16(116), - 388: uint16(117), - 389: uint16(118), - 390: uint16(151), - 391: uint16(120), - 392: uint16(26), + 382: uint16(188), + 383: uint16(189), + 384: uint16(190), + 385: uint16(191), + 386: uint16(253), + 387: uint16(81), + 388: uint16(255), + 389: uint16(151), + 390: uint16(196), + 391: uint16(25), + 392: uint16(198), 393: uint16(71), - 394: uint16(193), - 395: uint16(308), - 396: uint16(309), - 397: uint16(193), - 398: uint16(149), - 399: uint16(128), - 400: uint16(313), - 401: uint16(216), - 402: uint16(269), + 394: uint16(116), + 395: uint16(117), + 396: uint16(118), + 397: uint16(311), + 398: uint16(312), + 399: uint16(205), + 400: uint16(217), + 401: uint16(218), + 402: uint16(316), 403: uint16(81), 404: uint16(43), 405: uint16(44), @@ -149749,50 +151065,50 @@ var _yy_lookahead = [2285]uint16{ 416: uint16(55), 417: uint16(56), 418: uint16(57), - 419: uint16(253), - 420: uint16(216), - 421: uint16(217), + 419: uint16(270), + 420: uint16(22), + 421: uint16(23), 422: uint16(100), - 423: uint16(95), - 424: uint16(153), - 425: uint16(59), - 426: uint16(155), - 427: uint16(261), + 423: uint16(25), + 424: uint16(59), + 425: uint16(101), + 426: uint16(138), + 427: uint16(139), 428: uint16(106), 429: uint16(107), - 430: uint16(25), - 431: uint16(193), - 432: uint16(101), - 433: uint16(193), - 434: uint16(193), - 435: uint16(231), + 430: uint16(127), + 431: uint16(128), + 432: uint16(129), + 433: uint16(127), + 434: uint16(240), + 435: uint16(241), 436: uint16(114), - 437: uint16(25), + 437: uint16(254), 438: uint16(116), 439: uint16(117), 440: uint16(118), - 441: uint16(113), - 442: uint16(304), + 441: uint16(76), + 442: uint16(76), 443: uint16(121), - 444: uint16(193), - 445: uint16(204), - 446: uint16(59), - 447: uint16(119), - 448: uint16(120), - 449: uint16(121), - 450: uint16(122), - 451: uint16(123), - 452: uint16(124), - 453: uint16(125), - 454: uint16(216), - 455: uint16(217), - 456: uint16(193), - 457: uint16(216), - 458: uint16(217), - 459: uint16(131), + 444: uint16(138), + 445: uint16(139), + 446: uint16(263), + 447: uint16(253), + 448: uint16(264), + 449: uint16(255), + 450: uint16(205), + 451: uint16(275), + 452: uint16(87), + 453: uint16(19), + 454: uint16(89), + 455: uint16(89), + 456: uint16(194), + 457: uint16(92), + 458: uint16(92), + 459: uint16(199), 460: uint16(138), 461: uint16(139), - 462: uint16(230), + 462: uint16(268), 463: uint16(102), 464: uint16(103), 465: uint16(104), @@ -149810,37 +151126,37 @@ var _yy_lookahead = [2285]uint16{ 477: uint16(155), 478: uint16(156), 479: uint16(157), - 480: uint16(239), - 481: uint16(240), - 482: uint16(116), - 483: uint16(117), - 484: uint16(118), - 485: uint16(76), - 486: uint16(193), - 487: uint16(23), + 480: uint16(81), + 481: uint16(116), + 482: uint16(117), + 483: uint16(118), + 484: uint16(129), + 485: uint16(240), + 486: uint16(241), + 487: uint16(224), 488: uint16(19), - 489: uint16(25), - 490: uint16(22), - 491: uint16(253), + 489: uint16(226), + 490: uint16(314), + 491: uint16(315), 492: uint16(23), - 493: uint16(252), - 494: uint16(253), - 495: uint16(108), - 496: uint16(87), - 497: uint16(204), - 498: uint16(89), - 499: uint16(261), - 500: uint16(198), - 501: uint16(92), - 502: uint16(261), - 503: uint16(116), - 504: uint16(117), - 505: uint16(118), - 506: uint16(193), - 507: uint16(306), - 508: uint16(307), - 509: uint16(216), - 510: uint16(217), + 493: uint16(25), + 494: uint16(300), + 495: uint16(59), + 496: uint16(22), + 497: uint16(234), + 498: uint16(253), + 499: uint16(101), + 500: uint16(255), + 501: uint16(236), + 502: uint16(237), + 503: uint16(26), + 504: uint16(194), + 505: uint16(183), + 506: uint16(194), + 507: uint16(152), + 508: uint16(72), + 509: uint16(22), + 510: uint16(145), 511: uint16(150), 512: uint16(43), 513: uint16(44), @@ -149857,34 +151173,34 @@ var _yy_lookahead = [2285]uint16{ 524: uint16(55), 525: uint16(56), 526: uint16(57), - 527: uint16(59), - 528: uint16(193), - 529: uint16(216), - 530: uint16(217), + 527: uint16(217), + 528: uint16(218), + 529: uint16(217), + 530: uint16(218), 531: uint16(19), - 532: uint16(239), - 533: uint16(240), - 534: uint16(283), + 532: uint16(189), + 533: uint16(59), + 534: uint16(191), 535: uint16(23), - 536: uint16(106), - 537: uint16(107), - 538: uint16(108), - 539: uint16(109), - 540: uint16(110), - 541: uint16(111), - 542: uint16(112), - 543: uint16(113), - 544: uint16(73), - 545: uint16(252), - 546: uint16(253), - 547: uint16(142), - 548: uint16(308), - 549: uint16(309), - 550: uint16(138), - 551: uint16(139), - 552: uint16(81), - 553: uint16(313), - 554: uint16(145), + 536: uint16(59), + 537: uint16(138), + 538: uint16(139), + 539: uint16(196), + 540: uint16(135), + 541: uint16(198), + 542: uint16(232), + 543: uint16(283), + 544: uint16(232), + 545: uint16(140), + 546: uint16(59), + 547: uint16(287), + 548: uint16(205), + 549: uint16(275), + 550: uint16(116), + 551: uint16(205), + 552: uint16(116), + 553: uint16(117), + 554: uint16(118), 555: uint16(43), 556: uint16(44), 557: uint16(45), @@ -149900,7 +151216,7 @@ var _yy_lookahead = [2285]uint16{ 567: uint16(55), 568: uint16(56), 569: uint16(57), - 570: uint16(307), + 570: uint16(194), 571: uint16(102), 572: uint16(103), 573: uint16(104), @@ -149913,37 +151229,37 @@ var _yy_lookahead = [2285]uint16{ 580: uint16(111), 581: uint16(112), 582: uint16(113), - 583: uint16(281), - 584: uint16(116), - 585: uint16(117), - 586: uint16(118), - 587: uint16(285), - 588: uint16(23), - 589: uint16(193), - 590: uint16(25), - 591: uint16(119), - 592: uint16(59), - 593: uint16(193), - 594: uint16(122), - 595: uint16(123), - 596: uint16(124), - 597: uint16(59), - 598: uint16(127), - 599: uint16(203), + 583: uint16(240), + 584: uint16(241), + 585: uint16(194), + 586: uint16(240), + 587: uint16(241), + 588: uint16(314), + 589: uint16(315), + 590: uint16(116), + 591: uint16(117), + 592: uint16(118), + 593: uint16(116), + 594: uint16(117), + 595: uint16(118), + 596: uint16(253), + 597: uint16(194), + 598: uint16(255), + 599: uint16(253), 600: uint16(59), - 601: uint16(205), + 601: uint16(255), 602: uint16(19), - 603: uint16(268), - 604: uint16(132), - 605: uint16(25), + 603: uint16(116), + 604: uint16(117), + 605: uint16(118), 606: uint16(23), 607: uint16(22), - 608: uint16(193), - 609: uint16(138), - 610: uint16(139), - 611: uint16(249), - 612: uint16(204), - 613: uint16(251), + 608: uint16(217), + 609: uint16(218), + 610: uint16(142), + 611: uint16(268), + 612: uint16(205), + 613: uint16(275), 614: uint16(102), 615: uint16(103), 616: uint16(104), @@ -149972,29 +151288,29 @@ var _yy_lookahead = [2285]uint16{ 639: uint16(56), 640: uint16(57), 641: uint16(19), - 642: uint16(22), - 643: uint16(23), + 642: uint16(194), + 643: uint16(300), 644: uint16(59), 645: uint16(23), - 646: uint16(25), - 647: uint16(239), - 648: uint16(240), - 649: uint16(116), - 650: uint16(117), - 651: uint16(118), - 652: uint16(193), - 653: uint16(11), - 654: uint16(116), - 655: uint16(117), - 656: uint16(118), - 657: uint16(116), + 646: uint16(119), + 647: uint16(240), + 648: uint16(241), + 649: uint16(122), + 650: uint16(123), + 651: uint16(124), + 652: uint16(314), + 653: uint16(315), + 654: uint16(194), + 655: uint16(236), + 656: uint16(237), + 657: uint16(194), 658: uint16(117), - 659: uint16(118), - 660: uint16(252), - 661: uint16(269), - 662: uint16(22), - 663: uint16(193), - 664: uint16(15), + 659: uint16(132), + 660: uint16(253), + 661: uint16(81), + 662: uint16(255), + 663: uint16(205), + 664: uint16(59), 665: uint16(43), 666: uint16(44), 667: uint16(45), @@ -150010,11 +151326,11 @@ var _yy_lookahead = [2285]uint16{ 677: uint16(55), 678: uint16(56), 679: uint16(57), - 680: uint16(273), - 681: uint16(143), - 682: uint16(193), - 683: uint16(118), - 684: uint16(143), + 680: uint16(217), + 681: uint16(218), + 682: uint16(194), + 683: uint16(194), + 684: uint16(194), 685: uint16(102), 686: uint16(103), 687: uint16(104), @@ -150027,33 +151343,33 @@ var _yy_lookahead = [2285]uint16{ 694: uint16(111), 695: uint16(112), 696: uint16(113), - 697: uint16(76), - 698: uint16(118), - 699: uint16(59), - 700: uint16(241), + 697: uint16(294), + 698: uint16(240), + 699: uint16(241), + 700: uint16(120), 701: uint16(116), 702: uint16(117), 703: uint16(118), - 704: uint16(304), - 705: uint16(216), + 704: uint16(59), + 705: uint16(194), 706: uint16(217), - 707: uint16(292), - 708: uint16(143), - 709: uint16(60), - 710: uint16(89), - 711: uint16(241), + 707: uint16(218), + 708: uint16(211), + 709: uint16(212), + 710: uint16(213), + 711: uint16(253), 712: uint16(19), - 713: uint16(92), - 714: uint16(193), - 715: uint16(193), + 713: uint16(255), + 714: uint16(194), + 715: uint16(19), 716: uint16(23), - 717: uint16(22), - 718: uint16(311), - 719: uint16(312), - 720: uint16(231), - 721: uint16(101), - 722: uint16(22), - 723: uint16(143), + 717: uint16(254), + 718: uint16(138), + 719: uint16(139), + 720: uint16(24), + 721: uint16(232), + 722: uint16(117), + 723: uint16(194), 724: uint16(102), 725: uint16(103), 726: uint16(104), @@ -150082,29 +151398,29 @@ var _yy_lookahead = [2285]uint16{ 749: uint16(56), 750: uint16(57), 751: uint16(19), - 752: uint16(193), - 753: uint16(193), - 754: uint16(59), + 752: uint16(264), + 753: uint16(108), + 754: uint16(76), 755: uint16(23), - 756: uint16(116), - 757: uint16(117), - 758: uint16(118), - 759: uint16(59), - 760: uint16(201), - 761: uint16(21), - 762: uint16(241), - 763: uint16(304), - 764: uint16(193), - 765: uint16(206), - 766: uint16(127), - 767: uint16(128), - 768: uint16(129), - 769: uint16(193), - 770: uint16(128), - 771: uint16(129), - 772: uint16(235), - 773: uint16(236), - 774: uint16(304), + 756: uint16(127), + 757: uint16(128), + 758: uint16(129), + 759: uint16(311), + 760: uint16(312), + 761: uint16(116), + 762: uint16(117), + 763: uint16(118), + 764: uint16(316), + 765: uint16(87), + 766: uint16(306), + 767: uint16(89), + 768: uint16(308), + 769: uint16(194), + 770: uint16(92), + 771: uint16(22), + 772: uint16(59), + 773: uint16(194), + 774: uint16(22), 775: uint16(43), 776: uint16(44), 777: uint16(45), @@ -150120,11 +151436,11 @@ var _yy_lookahead = [2285]uint16{ 787: uint16(55), 788: uint16(56), 789: uint16(57), - 790: uint16(22), - 791: uint16(193), - 792: uint16(216), - 793: uint16(217), - 794: uint16(193), + 790: uint16(194), + 791: uint16(95), + 792: uint16(217), + 793: uint16(218), + 794: uint16(265), 795: uint16(102), 796: uint16(103), 797: uint16(104), @@ -150137,33 +151453,33 @@ var _yy_lookahead = [2285]uint16{ 804: uint16(111), 805: uint16(112), 806: uint16(113), - 807: uint16(231), - 808: uint16(193), - 809: uint16(193), - 810: uint16(193), - 811: uint16(116), - 812: uint16(117), - 813: uint16(118), - 814: uint16(216), - 815: uint16(217), - 816: uint16(116), - 817: uint16(117), - 818: uint16(118), - 819: uint16(226), - 820: uint16(80), - 821: uint16(193), + 807: uint16(232), + 808: uint16(59), + 809: uint16(113), + 810: uint16(25), + 811: uint16(59), + 812: uint16(194), + 813: uint16(217), + 814: uint16(218), + 815: uint16(119), + 816: uint16(120), + 817: uint16(121), + 818: uint16(122), + 819: uint16(123), + 820: uint16(124), + 821: uint16(125), 822: uint16(19), - 823: uint16(235), - 824: uint16(236), - 825: uint16(304), + 823: uint16(145), + 824: uint16(194), + 825: uint16(194), 826: uint16(23), - 827: uint16(211), - 828: uint16(212), - 829: uint16(231), - 830: uint16(204), - 831: uint16(216), - 832: uint16(217), - 833: uint16(205), + 827: uint16(131), + 828: uint16(232), + 829: uint16(116), + 830: uint16(117), + 831: uint16(118), + 832: uint16(35), + 833: uint16(194), 834: uint16(102), 835: uint16(103), 836: uint16(104), @@ -150192,29 +151508,29 @@ var _yy_lookahead = [2285]uint16{ 859: uint16(56), 860: uint16(57), 861: uint16(19), - 862: uint16(193), - 863: uint16(123), - 864: uint16(76), - 865: uint16(239), - 866: uint16(240), - 867: uint16(193), - 868: uint16(253), - 869: uint16(239), - 870: uint16(240), - 871: uint16(239), - 872: uint16(240), - 873: uint16(244), - 874: uint16(106), - 875: uint16(107), - 876: uint16(193), - 877: uint16(89), - 878: uint16(252), - 879: uint16(193), - 880: uint16(92), - 881: uint16(59), - 882: uint16(252), - 883: uint16(254), - 884: uint16(252), + 862: uint16(194), + 863: uint16(66), + 864: uint16(194), + 865: uint16(116), + 866: uint16(117), + 867: uint16(118), + 868: uint16(116), + 869: uint16(117), + 870: uint16(118), + 871: uint16(74), + 872: uint16(242), + 873: uint16(294), + 874: uint16(194), + 875: uint16(194), + 876: uint16(206), + 877: uint16(23), + 878: uint16(194), + 879: uint16(25), + 880: uint16(194), + 881: uint16(111), + 882: uint16(112), + 883: uint16(113), + 884: uint16(25), 885: uint16(43), 886: uint16(44), 887: uint16(45), @@ -150230,11 +151546,11 @@ var _yy_lookahead = [2285]uint16{ 897: uint16(55), 898: uint16(56), 899: uint16(57), - 900: uint16(284), - 901: uint16(161), - 902: uint16(216), + 900: uint16(24), + 901: uint16(194), + 902: uint16(194), 903: uint16(217), - 904: uint16(193), + 904: uint16(218), 905: uint16(102), 906: uint16(103), 907: uint16(104), @@ -150247,33 +151563,33 @@ var _yy_lookahead = [2285]uint16{ 914: uint16(111), 915: uint16(112), 916: uint16(113), - 917: uint16(231), - 918: uint16(193), - 919: uint16(244), - 920: uint16(187), - 921: uint16(188), - 922: uint16(189), - 923: uint16(190), - 924: uint16(7), - 925: uint16(8), - 926: uint16(9), - 927: uint16(309), - 928: uint16(195), - 929: uint16(254), - 930: uint16(197), - 931: uint16(313), + 917: uint16(241), + 918: uint16(232), + 919: uint16(194), + 920: uint16(212), + 921: uint16(213), + 922: uint16(242), + 923: uint16(242), + 924: uint16(217), + 925: uint16(218), + 926: uint16(242), + 927: uint16(130), + 928: uint16(11), + 929: uint16(253), + 930: uint16(194), + 931: uint16(255), 932: uint16(19), - 933: uint16(127), - 934: uint16(128), - 935: uint16(129), - 936: uint16(262), - 937: uint16(204), - 938: uint16(22), - 939: uint16(117), - 940: uint16(24), - 941: uint16(216), + 933: uint16(265), + 934: uint16(149), + 935: uint16(59), + 936: uint16(306), + 937: uint16(194), + 938: uint16(308), + 939: uint16(232), + 940: uint16(309), + 941: uint16(310), 942: uint16(217), - 943: uint16(273), + 943: uint16(218), 944: uint16(102), 945: uint16(103), 946: uint16(104), @@ -150301,36 +151617,36 @@ var _yy_lookahead = [2285]uint16{ 968: uint16(55), 969: uint16(56), 970: uint16(57), - 971: uint16(193), - 972: uint16(239), - 973: uint16(240), - 974: uint16(193), - 975: uint16(59), + 971: uint16(194), + 972: uint16(194), + 973: uint16(59), + 974: uint16(194), + 975: uint16(239), 976: uint16(19), - 977: uint16(188), - 978: uint16(253), - 979: uint16(190), - 980: uint16(193), - 981: uint16(311), - 982: uint16(312), - 983: uint16(16), - 984: uint16(195), - 985: uint16(252), - 986: uint16(197), - 987: uint16(193), - 988: uint16(19), - 989: uint16(301), - 990: uint16(302), - 991: uint16(135), - 992: uint16(193), - 993: uint16(204), - 994: uint16(216), + 977: uint16(194), + 978: uint16(25), + 979: uint16(254), + 980: uint16(303), + 981: uint16(304), + 982: uint16(23), + 983: uint16(194), + 984: uint16(25), + 985: uint16(126), + 986: uint16(306), + 987: uint16(306), + 988: uint16(308), + 989: uint16(308), + 990: uint16(306), + 991: uint16(271), + 992: uint16(308), + 993: uint16(117), + 994: uint16(286), 995: uint16(217), - 996: uint16(140), - 997: uint16(216), - 998: uint16(217), - 999: uint16(266), - 1000: uint16(204), + 996: uint16(218), + 997: uint16(217), + 998: uint16(218), + 999: uint16(194), + 1000: uint16(194), 1001: uint16(159), 1002: uint16(45), 1003: uint16(46), @@ -150357,38 +151673,38 @@ var _yy_lookahead = [2285]uint16{ 1024: uint16(111), 1025: uint16(112), 1026: uint16(113), - 1027: uint16(12), + 1027: uint16(59), 1028: uint16(239), - 1029: uint16(240), - 1030: uint16(193), - 1031: uint16(298), - 1032: uint16(238), - 1033: uint16(117), - 1034: uint16(253), - 1035: uint16(239), + 1029: uint16(194), + 1030: uint16(116), + 1031: uint16(117), + 1032: uint16(118), + 1033: uint16(260), + 1034: uint16(254), + 1035: uint16(194), 1036: uint16(240), - 1037: uint16(238), - 1038: uint16(259), - 1039: uint16(260), - 1040: uint16(193), - 1041: uint16(252), - 1042: uint16(27), - 1043: uint16(193), - 1044: uint16(77), - 1045: uint16(193), - 1046: uint16(79), - 1047: uint16(204), - 1048: uint16(252), - 1049: uint16(262), - 1050: uint16(193), - 1051: uint16(299), - 1052: uint16(300), - 1053: uint16(193), - 1054: uint16(100), - 1055: uint16(266), - 1056: uint16(278), - 1057: uint16(42), - 1058: uint16(204), + 1037: uint16(241), + 1038: uint16(194), + 1039: uint16(233), + 1040: uint16(205), + 1041: uint16(240), + 1042: uint16(241), + 1043: uint16(205), + 1044: uint16(239), + 1045: uint16(128), + 1046: uint16(129), + 1047: uint16(270), + 1048: uint16(265), + 1049: uint16(253), + 1050: uint16(194), + 1051: uint16(255), + 1052: uint16(217), + 1053: uint16(218), + 1054: uint16(253), + 1055: uint16(194), + 1056: uint16(255), + 1057: uint16(143), + 1058: uint16(280), 1059: uint16(102), 1060: uint16(103), 1061: uint16(104), @@ -150401,51 +151717,51 @@ var _yy_lookahead = [2285]uint16{ 1068: uint16(111), 1069: uint16(112), 1070: uint16(113), - 1071: uint16(117), + 1071: uint16(118), 1072: uint16(159), - 1073: uint16(216), - 1074: uint16(217), - 1075: uint16(121), - 1076: uint16(216), - 1077: uint16(217), - 1078: uint16(63), - 1079: uint16(193), - 1080: uint16(193), - 1081: uint16(193), - 1082: uint16(239), - 1083: uint16(240), - 1084: uint16(115), - 1085: uint16(116), - 1086: uint16(193), - 1087: uint16(298), - 1088: uint16(73), - 1089: uint16(240), - 1090: uint16(238), - 1091: uint16(231), + 1073: uint16(217), + 1074: uint16(218), + 1075: uint16(240), + 1076: uint16(241), + 1077: uint16(118), + 1078: uint16(240), + 1079: uint16(241), + 1080: uint16(194), + 1081: uint16(194), + 1082: uint16(194), + 1083: uint16(239), + 1084: uint16(116), + 1085: uint16(117), + 1086: uint16(118), + 1087: uint16(22), + 1088: uint16(253), + 1089: uint16(254), + 1090: uint16(255), + 1091: uint16(253), 1092: uint16(19), - 1093: uint16(239), - 1094: uint16(240), - 1095: uint16(252), - 1096: uint16(22), + 1093: uint16(255), + 1094: uint16(233), + 1095: uint16(194), + 1096: uint16(143), 1097: uint16(24), - 1098: uint16(211), + 1098: uint16(263), 1099: uint16(212), - 1100: uint16(263), - 1101: uint16(252), - 1102: uint16(216), + 1100: uint16(213), + 1101: uint16(194), + 1102: uint16(143), 1103: uint16(217), - 1104: uint16(216), + 1104: uint16(218), 1105: uint16(217), - 1106: uint16(252), - 1107: uint16(153), - 1108: uint16(154), - 1109: uint16(155), - 1110: uint16(253), - 1111: uint16(193), + 1106: uint16(218), + 1107: uint16(261), + 1108: uint16(262), + 1109: uint16(271), + 1110: uint16(254), + 1111: uint16(143), 1112: uint16(19), - 1113: uint16(144), - 1114: uint16(213), - 1115: uint16(268), + 1113: uint16(7), + 1114: uint16(8), + 1115: uint16(9), 1116: uint16(43), 1117: uint16(44), 1118: uint16(45), @@ -150461,11 +151777,11 @@ var _yy_lookahead = [2285]uint16{ 1128: uint16(55), 1129: uint16(56), 1130: uint16(57), - 1131: uint16(193), + 1131: uint16(16), 1132: uint16(19), - 1133: uint16(59), - 1134: uint16(216), - 1135: uint16(217), + 1133: uint16(22), + 1134: uint16(23), + 1135: uint16(294), 1136: uint16(43), 1137: uint16(44), 1138: uint16(45), @@ -150481,11 +151797,11 @@ var _yy_lookahead = [2285]uint16{ 1148: uint16(55), 1149: uint16(56), 1150: uint16(57), - 1151: uint16(193), - 1152: uint16(19), - 1153: uint16(24), - 1154: uint16(216), - 1155: uint16(217), + 1151: uint16(312), + 1152: uint16(194), + 1153: uint16(214), + 1154: uint16(21), + 1155: uint16(316), 1156: uint16(43), 1157: uint16(44), 1158: uint16(45), @@ -150501,10 +151817,10 @@ var _yy_lookahead = [2285]uint16{ 1168: uint16(55), 1169: uint16(56), 1170: uint16(57), - 1171: uint16(284), - 1172: uint16(193), - 1173: uint16(208), - 1174: uint16(209), + 1171: uint16(106), + 1172: uint16(107), + 1173: uint16(286), + 1174: uint16(194), 1175: uint16(102), 1176: uint16(103), 1177: uint16(104), @@ -150517,14 +151833,14 @@ var _yy_lookahead = [2285]uint16{ 1184: uint16(111), 1185: uint16(112), 1186: uint16(113), - 1187: uint16(286), - 1188: uint16(59), - 1189: uint16(193), - 1190: uint16(232), - 1191: uint16(117), - 1192: uint16(291), - 1193: uint16(193), - 1194: uint16(193), + 1187: uint16(207), + 1188: uint16(158), + 1189: uint16(59), + 1190: uint16(160), + 1191: uint16(22), + 1192: uint16(77), + 1193: uint16(24), + 1194: uint16(79), 1195: uint16(102), 1196: uint16(103), 1197: uint16(104), @@ -150537,14 +151853,14 @@ var _yy_lookahead = [2285]uint16{ 1204: uint16(111), 1205: uint16(112), 1206: uint16(113), - 1207: uint16(193), - 1208: uint16(204), - 1209: uint16(22), - 1210: uint16(23), - 1211: uint16(193), - 1212: uint16(25), - 1213: uint16(66), - 1214: uint16(193), + 1207: uint16(194), + 1208: uint16(194), + 1209: uint16(229), + 1210: uint16(194), + 1211: uint16(231), + 1212: uint16(101), + 1213: uint16(80), + 1214: uint16(22), 1215: uint16(102), 1216: uint16(103), 1217: uint16(104), @@ -150557,39 +151873,39 @@ var _yy_lookahead = [2285]uint16{ 1224: uint16(111), 1225: uint16(112), 1226: uint16(113), - 1227: uint16(193), - 1228: uint16(193), - 1229: uint16(193), - 1230: uint16(216), - 1231: uint16(217), - 1232: uint16(85), - 1233: uint16(193), - 1234: uint16(238), + 1227: uint16(288), + 1228: uint16(59), + 1229: uint16(12), + 1230: uint16(217), + 1231: uint16(218), + 1232: uint16(293), + 1233: uint16(217), + 1234: uint16(218), 1235: uint16(19), - 1236: uint16(16), - 1237: uint16(216), - 1238: uint16(217), - 1239: uint16(238), - 1240: uint16(193), - 1241: uint16(94), - 1242: uint16(193), - 1243: uint16(239), - 1244: uint16(240), - 1245: uint16(231), - 1246: uint16(117), - 1247: uint16(268), - 1248: uint16(35), - 1249: uint16(116), - 1250: uint16(216), - 1251: uint16(217), - 1252: uint16(216), - 1253: uint16(217), - 1254: uint16(22), - 1255: uint16(23), - 1256: uint16(252), - 1257: uint16(25), - 1258: uint16(208), - 1259: uint16(209), + 1236: uint16(106), + 1237: uint16(107), + 1238: uint16(59), + 1239: uint16(19), + 1240: uint16(16), + 1241: uint16(127), + 1242: uint16(128), + 1243: uint16(129), + 1244: uint16(27), + 1245: uint16(115), + 1246: uint16(116), + 1247: uint16(117), + 1248: uint16(118), + 1249: uint16(194), + 1250: uint16(120), + 1251: uint16(59), + 1252: uint16(22), + 1253: uint16(194), + 1254: uint16(24), + 1255: uint16(194), + 1256: uint16(123), + 1257: uint16(100), + 1258: uint16(128), + 1259: uint16(42), 1260: uint16(44), 1261: uint16(45), 1262: uint16(46), @@ -150604,50 +151920,50 @@ var _yy_lookahead = [2285]uint16{ 1271: uint16(55), 1272: uint16(56), 1273: uint16(57), - 1274: uint16(193), - 1275: uint16(193), - 1276: uint16(19), - 1277: uint16(5), - 1278: uint16(59), - 1279: uint16(66), - 1280: uint16(193), - 1281: uint16(263), - 1282: uint16(10), - 1283: uint16(11), - 1284: uint16(12), - 1285: uint16(13), - 1286: uint16(14), - 1287: uint16(74), - 1288: uint16(101), - 1289: uint16(17), - 1290: uint16(193), - 1291: uint16(46), - 1292: uint16(193), - 1293: uint16(146), - 1294: uint16(193), - 1295: uint16(76), - 1296: uint16(213), - 1297: uint16(77), - 1298: uint16(263), - 1299: uint16(79), - 1300: uint16(12), - 1301: uint16(260), - 1302: uint16(30), - 1303: uint16(46), - 1304: uint16(32), - 1305: uint16(264), - 1306: uint16(87), - 1307: uint16(193), - 1308: uint16(89), - 1309: uint16(29), - 1310: uint16(263), - 1311: uint16(92), - 1312: uint16(40), - 1313: uint16(33), - 1314: uint16(232), - 1315: uint16(27), - 1316: uint16(193), - 1317: uint16(108), + 1274: uint16(117), + 1275: uint16(194), + 1276: uint16(217), + 1277: uint16(218), + 1278: uint16(121), + 1279: uint16(100), + 1280: uint16(63), + 1281: uint16(194), + 1282: uint16(245), + 1283: uint16(153), + 1284: uint16(194), + 1285: uint16(155), + 1286: uint16(117), + 1287: uint16(19), + 1288: uint16(115), + 1289: uint16(194), + 1290: uint16(73), + 1291: uint16(214), + 1292: uint16(194), + 1293: uint16(256), + 1294: uint16(161), + 1295: uint16(116), + 1296: uint16(117), + 1297: uint16(194), + 1298: uint16(217), + 1299: uint16(218), + 1300: uint16(121), + 1301: uint16(77), + 1302: uint16(194), + 1303: uint16(79), + 1304: uint16(217), + 1305: uint16(218), + 1306: uint16(194), + 1307: uint16(217), + 1308: uint16(218), + 1309: uint16(117), + 1310: uint16(153), + 1311: uint16(154), + 1312: uint16(155), + 1313: uint16(254), + 1314: uint16(46), + 1315: uint16(217), + 1316: uint16(218), + 1317: uint16(144), 1318: uint16(102), 1319: uint16(103), 1320: uint16(104), @@ -150660,1025 +151976,1068 @@ var _yy_lookahead = [2285]uint16{ 1327: uint16(111), 1328: uint16(112), 1329: uint16(113), - 1330: uint16(42), - 1331: uint16(138), - 1332: uint16(139), - 1333: uint16(101), - 1334: uint16(193), - 1335: uint16(116), - 1336: uint16(117), - 1337: uint16(118), + 1330: uint16(232), + 1331: uint16(270), + 1332: uint16(153), + 1333: uint16(154), + 1334: uint16(155), + 1335: uint16(115), + 1336: uint16(116), + 1337: uint16(66), 1338: uint16(19), 1339: uint16(20), - 1340: uint16(255), + 1340: uint16(183), 1341: uint16(22), - 1342: uint16(70), - 1343: uint16(130), - 1344: uint16(135), - 1345: uint16(65), - 1346: uint16(256), - 1347: uint16(257), - 1348: uint16(193), - 1349: uint16(140), - 1350: uint16(78), - 1351: uint16(63), - 1352: uint16(193), - 1353: uint16(81), - 1354: uint16(193), + 1342: uint16(12), + 1343: uint16(312), + 1344: uint16(254), + 1345: uint16(194), + 1346: uint16(262), + 1347: uint16(316), + 1348: uint16(209), + 1349: uint16(210), + 1350: uint16(266), + 1351: uint16(239), + 1352: uint16(194), + 1353: uint16(194), + 1354: uint16(108), 1355: uint16(36), - 1356: uint16(193), - 1357: uint16(216), - 1358: uint16(217), - 1359: uint16(193), - 1360: uint16(115), - 1361: uint16(193), - 1362: uint16(263), - 1363: uint16(193), - 1364: uint16(145), - 1365: uint16(268), - 1366: uint16(59), + 1356: uint16(85), + 1357: uint16(27), + 1358: uint16(19), + 1359: uint16(20), + 1360: uint16(265), + 1361: uint16(22), + 1362: uint16(183), + 1363: uint16(245), + 1364: uint16(144), + 1365: uint16(94), + 1366: uint16(25), 1367: uint16(48), - 1368: uint16(193), - 1369: uint16(193), - 1370: uint16(98), - 1371: uint16(193), - 1372: uint16(115), - 1373: uint16(193), - 1374: uint16(291), - 1375: uint16(216), + 1368: uint16(217), + 1369: uint16(218), + 1370: uint16(293), + 1371: uint16(194), + 1372: uint16(42), + 1373: uint16(270), + 1374: uint16(256), + 1375: uint16(36), 1376: uint16(217), - 1377: uint16(193), + 1377: uint16(218), 1378: uint16(59), - 1379: uint16(216), - 1380: uint16(217), - 1381: uint16(161), - 1382: uint16(216), - 1383: uint16(217), - 1384: uint16(216), - 1385: uint16(217), - 1386: uint16(216), - 1387: uint16(217), - 1388: uint16(131), - 1389: uint16(193), + 1379: uint16(194), + 1380: uint16(25), + 1381: uint16(135), + 1382: uint16(194), + 1383: uint16(115), + 1384: uint16(194), + 1385: uint16(161), + 1386: uint16(140), + 1387: uint16(194), + 1388: uint16(194), + 1389: uint16(15), 1390: uint16(71), - 1391: uint16(193), - 1392: uint16(216), - 1393: uint16(217), - 1394: uint16(216), - 1395: uint16(217), - 1396: uint16(216), - 1397: uint16(217), - 1398: uint16(193), - 1399: uint16(260), - 1400: uint16(216), - 1401: uint16(217), - 1402: uint16(19), - 1403: uint16(264), + 1391: uint16(194), + 1392: uint16(312), + 1393: uint16(63), + 1394: uint16(217), + 1395: uint16(218), + 1396: uint16(316), + 1397: uint16(194), + 1398: uint16(59), + 1399: uint16(131), + 1400: uint16(301), + 1401: uint16(302), + 1402: uint16(217), + 1403: uint16(218), 1404: uint16(85), - 1405: uint16(133), - 1406: uint16(244), - 1407: uint16(100), - 1408: uint16(193), + 1405: uint16(217), + 1406: uint16(218), + 1407: uint16(217), + 1408: uint16(218), 1409: uint16(90), - 1410: uint16(138), - 1411: uint16(139), - 1412: uint16(216), - 1413: uint16(217), - 1414: uint16(216), - 1415: uint16(217), - 1416: uint16(254), - 1417: uint16(244), - 1418: uint16(193), + 1410: uint16(71), + 1411: uint16(217), + 1412: uint16(218), + 1413: uint16(19), + 1414: uint16(217), + 1415: uint16(218), + 1416: uint16(245), + 1417: uint16(146), + 1418: uint16(262), 1419: uint16(100), - 1420: uint16(193), - 1421: uint16(216), - 1422: uint16(217), - 1423: uint16(116), - 1424: uint16(117), + 1420: uint16(217), + 1421: uint16(218), + 1422: uint16(266), + 1423: uint16(265), + 1424: uint16(85), 1425: uint16(106), 1426: uint16(107), - 1427: uint16(254), - 1428: uint16(121), - 1429: uint16(193), - 1430: uint16(115), - 1431: uint16(216), - 1432: uint16(217), + 1427: uint16(256), + 1428: uint16(312), + 1429: uint16(90), + 1430: uint16(209), + 1431: uint16(210), + 1432: uint16(316), 1433: uint16(114), - 1434: uint16(162), + 1434: uint16(60), 1435: uint16(116), 1436: uint16(117), 1437: uint16(118), - 1438: uint16(115), - 1439: uint16(244), + 1438: uint16(194), + 1439: uint16(100), 1440: uint16(121), - 1441: uint16(216), - 1442: uint16(217), - 1443: uint16(216), - 1444: uint16(217), - 1445: uint16(193), - 1446: uint16(309), - 1447: uint16(193), - 1448: uint16(31), - 1449: uint16(254), - 1450: uint16(313), - 1451: uint16(309), - 1452: uint16(216), - 1453: uint16(217), - 1454: uint16(309), - 1455: uint16(313), - 1456: uint16(39), - 1457: uint16(193), - 1458: uint16(313), - 1459: uint16(309), - 1460: uint16(153), - 1461: uint16(154), - 1462: uint16(155), - 1463: uint16(313), - 1464: uint16(193), - 1465: uint16(150), - 1466: uint16(25), - 1467: uint16(144), - 1468: uint16(216), - 1469: uint16(217), - 1470: uint16(216), - 1471: uint16(217), + 1441: uint16(194), + 1442: uint16(194), + 1443: uint16(145), + 1444: uint16(115), + 1445: uint16(106), + 1446: uint16(107), + 1447: uint16(19), + 1448: uint16(46), + 1449: uint16(19), + 1450: uint16(20), + 1451: uint16(24), + 1452: uint16(22), + 1453: uint16(114), + 1454: uint16(194), + 1455: uint16(116), + 1456: uint16(117), + 1457: uint16(118), + 1458: uint16(194), + 1459: uint16(245), + 1460: uint16(121), + 1461: uint16(194), + 1462: uint16(164), + 1463: uint16(194), + 1464: uint16(217), + 1465: uint16(218), + 1466: uint16(36), + 1467: uint16(194), + 1468: uint16(258), + 1469: uint16(259), + 1470: uint16(256), + 1471: uint16(194), 1472: uint16(153), 1473: uint16(154), 1474: uint16(155), 1475: uint16(156), 1476: uint16(157), - 1478: uint16(1), - 1479: uint16(2), - 1480: uint16(216), + 1477: uint16(217), + 1478: uint16(218), + 1479: uint16(150), + 1480: uint16(31), 1481: uint16(217), - 1482: uint16(5), - 1483: uint16(149), - 1484: uint16(150), - 1485: uint16(22), - 1486: uint16(193), - 1487: uint16(10), - 1488: uint16(11), - 1489: uint16(12), - 1490: uint16(13), - 1491: uint16(14), - 1492: uint16(193), - 1493: uint16(158), - 1494: uint16(17), - 1495: uint16(160), - 1496: uint16(193), - 1497: uint16(19), - 1498: uint16(20), - 1499: uint16(116), - 1500: uint16(22), - 1501: uint16(25), - 1502: uint16(193), - 1503: uint16(24), - 1504: uint16(22), - 1505: uint16(193), - 1506: uint16(24), - 1507: uint16(30), - 1508: uint16(226), - 1509: uint16(32), - 1510: uint16(19), - 1511: uint16(20), - 1512: uint16(226), - 1513: uint16(22), - 1514: uint16(36), - 1515: uint16(193), - 1516: uint16(53), - 1517: uint16(40), - 1518: uint16(193), - 1519: uint16(216), - 1520: uint16(217), - 1521: uint16(193), - 1522: uint16(23), - 1523: uint16(193), - 1524: uint16(25), - 1525: uint16(216), - 1526: uint16(217), - 1527: uint16(36), - 1528: uint16(216), - 1529: uint16(217), - 1530: uint16(193), - 1531: uint16(99), - 1532: uint16(193), - 1533: uint16(193), - 1534: uint16(22), - 1535: uint16(193), - 1536: uint16(193), - 1537: uint16(59), - 1538: uint16(216), + 1482: uint16(218), + 1483: uint16(142), + 1484: uint16(217), + 1485: uint16(218), + 1486: uint16(217), + 1487: uint16(218), + 1488: uint16(39), + 1489: uint16(59), + 1490: uint16(217), + 1491: uint16(218), + 1492: uint16(153), + 1493: uint16(154), + 1494: uint16(155), + 1495: uint16(156), + 1496: uint16(157), + 1497: uint16(149), + 1498: uint16(150), + 1499: uint16(5), + 1500: uint16(145), + 1501: uint16(71), + 1502: uint16(183), + 1503: uint16(245), + 1504: uint16(10), + 1505: uint16(11), + 1506: uint16(12), + 1507: uint16(13), + 1508: uint16(14), + 1509: uint16(194), + 1510: uint16(116), + 1511: uint16(17), + 1512: uint16(129), + 1513: uint16(227), + 1514: uint16(256), + 1515: uint16(85), + 1516: uint16(194), + 1517: uint16(115), + 1518: uint16(194), + 1519: uint16(23), + 1520: uint16(90), + 1521: uint16(25), + 1522: uint16(183), + 1523: uint16(99), + 1524: uint16(30), + 1525: uint16(97), + 1526: uint16(32), + 1527: uint16(22), + 1528: uint16(22), + 1529: uint16(194), + 1530: uint16(100), + 1531: uint16(194), + 1532: uint16(217), + 1533: uint16(218), + 1534: uint16(40), + 1535: uint16(152), + 1536: uint16(106), + 1537: uint16(107), + 1538: uint16(23), 1539: uint16(217), - 1540: uint16(193), - 1541: uint16(216), - 1542: uint16(217), - 1543: uint16(193), - 1544: uint16(216), - 1545: uint16(217), - 1546: uint16(193), - 1547: uint16(70), - 1548: uint16(129), - 1549: uint16(71), - 1550: uint16(59), - 1551: uint16(129), - 1552: uint16(193), - 1553: uint16(216), + 1540: uint16(218), + 1541: uint16(194), + 1542: uint16(19), + 1543: uint16(20), + 1544: uint16(114), + 1545: uint16(22), + 1546: uint16(116), + 1547: uint16(117), + 1548: uint16(118), + 1549: uint16(257), + 1550: uint16(194), + 1551: uint16(121), + 1552: uint16(217), + 1553: uint16(218), 1554: uint16(217), - 1555: uint16(78), - 1556: uint16(216), - 1557: uint16(217), - 1558: uint16(81), - 1559: uint16(216), - 1560: uint16(217), - 1561: uint16(193), - 1562: uint16(71), - 1563: uint16(85), - 1564: uint16(193), - 1565: uint16(133), - 1566: uint16(193), - 1567: uint16(126), - 1568: uint16(90), - 1569: uint16(216), - 1570: uint16(217), - 1571: uint16(152), - 1572: uint16(258), - 1573: uint16(61), - 1574: uint16(152), - 1575: uint16(98), - 1576: uint16(85), - 1577: uint16(193), - 1578: uint16(100), - 1579: uint16(193), - 1580: uint16(23), - 1581: uint16(90), - 1582: uint16(25), - 1583: uint16(121), - 1584: uint16(106), - 1585: uint16(107), - 1586: uint16(23), - 1587: uint16(216), - 1588: uint16(217), - 1589: uint16(216), - 1590: uint16(217), - 1591: uint16(100), - 1592: uint16(114), - 1593: uint16(131), - 1594: uint16(116), - 1595: uint16(117), - 1596: uint16(118), - 1597: uint16(106), - 1598: uint16(107), - 1599: uint16(121), - 1600: uint16(216), - 1601: uint16(217), - 1602: uint16(216), - 1603: uint16(217), - 1604: uint16(193), - 1605: uint16(114), - 1606: uint16(193), - 1607: uint16(116), - 1608: uint16(117), - 1609: uint16(118), - 1610: uint16(133), - 1611: uint16(22), - 1612: uint16(121), - 1613: uint16(193), - 1614: uint16(59), - 1615: uint16(138), - 1616: uint16(139), - 1617: uint16(193), - 1618: uint16(142), - 1619: uint16(193), - 1620: uint16(141), - 1621: uint16(23), - 1622: uint16(23), - 1623: uint16(25), - 1624: uint16(25), - 1625: uint16(120), - 1626: uint16(121), - 1627: uint16(216), - 1628: uint16(217), - 1629: uint16(216), - 1630: uint16(217), - 1631: uint16(153), - 1632: uint16(154), - 1633: uint16(155), - 1634: uint16(156), - 1635: uint16(157), - 1636: uint16(216), - 1637: uint16(217), - 1638: uint16(19), - 1639: uint16(162), - 1640: uint16(216), - 1641: uint16(217), - 1642: uint16(216), - 1643: uint16(217), - 1644: uint16(153), - 1645: uint16(154), - 1646: uint16(155), - 1647: uint16(156), - 1648: uint16(157), - 1649: uint16(1), - 1650: uint16(2), - 1651: uint16(193), - 1652: uint16(59), - 1653: uint16(5), - 1654: uint16(19), - 1655: uint16(20), - 1656: uint16(318), - 1657: uint16(22), - 1658: uint16(10), - 1659: uint16(11), - 1660: uint16(12), - 1661: uint16(13), - 1662: uint16(14), - 1663: uint16(193), - 1664: uint16(59), - 1665: uint16(17), - 1666: uint16(193), - 1667: uint16(23), - 1668: uint16(23), - 1669: uint16(25), - 1670: uint16(25), - 1671: uint16(36), - 1672: uint16(117), - 1673: uint16(193), - 1674: uint16(216), - 1675: uint16(217), - 1676: uint16(193), - 1677: uint16(23), - 1678: uint16(30), - 1679: uint16(25), - 1680: uint16(32), - 1681: uint16(19), - 1682: uint16(20), - 1683: uint16(23), - 1684: uint16(22), - 1685: uint16(25), - 1686: uint16(216), - 1687: uint16(217), - 1688: uint16(40), - 1689: uint16(216), + 1555: uint16(218), + 1556: uint16(194), + 1557: uint16(133), + 1558: uint16(53), + 1559: uint16(36), + 1560: uint16(23), + 1561: uint16(23), + 1562: uint16(25), + 1563: uint16(25), + 1564: uint16(70), + 1565: uint16(120), + 1566: uint16(121), + 1567: uint16(61), + 1568: uint16(141), + 1569: uint16(7), + 1570: uint16(8), + 1571: uint16(121), + 1572: uint16(78), + 1573: uint16(217), + 1574: uint16(218), + 1575: uint16(81), + 1576: uint16(23), + 1577: uint16(227), + 1578: uint16(25), + 1579: uint16(217), + 1580: uint16(218), + 1581: uint16(131), + 1582: uint16(59), + 1583: uint16(153), + 1584: uint16(154), + 1585: uint16(155), + 1586: uint16(156), + 1587: uint16(157), + 1589: uint16(1), + 1590: uint16(2), + 1591: uint16(59), + 1592: uint16(98), + 1593: uint16(5), + 1594: uint16(71), + 1595: uint16(23), + 1596: uint16(227), + 1597: uint16(25), + 1598: uint16(10), + 1599: uint16(11), + 1600: uint16(12), + 1601: uint16(13), + 1602: uint16(14), + 1603: uint16(83), + 1604: uint16(84), + 1605: uint16(17), + 1606: uint16(23), + 1607: uint16(23), + 1608: uint16(25), + 1609: uint16(25), + 1610: uint16(59), + 1611: uint16(194), + 1612: uint16(194), + 1613: uint16(183), + 1614: uint16(23), + 1615: uint16(23), + 1616: uint16(25), + 1617: uint16(25), + 1618: uint16(30), + 1619: uint16(194), + 1620: uint16(32), + 1621: uint16(19), + 1622: uint16(20), + 1623: uint16(100), + 1624: uint16(22), + 1625: uint16(194), + 1626: uint16(194), + 1627: uint16(133), + 1628: uint16(40), + 1629: uint16(106), + 1630: uint16(107), + 1631: uint16(108), + 1632: uint16(138), + 1633: uint16(139), + 1634: uint16(194), + 1635: uint16(217), + 1636: uint16(218), + 1637: uint16(114), + 1638: uint16(36), + 1639: uint16(116), + 1640: uint16(117), + 1641: uint16(118), + 1642: uint16(217), + 1643: uint16(218), + 1644: uint16(121), + 1645: uint16(194), + 1646: uint16(194), + 1647: uint16(194), + 1648: uint16(23), + 1649: uint16(117), + 1650: uint16(25), + 1651: uint16(194), + 1652: uint16(23), + 1653: uint16(23), + 1654: uint16(25), + 1655: uint16(25), + 1656: uint16(162), + 1657: uint16(194), + 1658: uint16(70), + 1659: uint16(194), + 1660: uint16(145), + 1661: uint16(59), + 1662: uint16(23), + 1663: uint16(153), + 1664: uint16(25), + 1665: uint16(155), + 1666: uint16(78), + 1667: uint16(194), + 1668: uint16(117), + 1669: uint16(81), + 1670: uint16(217), + 1671: uint16(218), + 1672: uint16(194), + 1673: uint16(71), + 1674: uint16(217), + 1675: uint16(218), + 1676: uint16(153), + 1677: uint16(154), + 1678: uint16(155), + 1679: uint16(156), + 1680: uint16(157), + 1681: uint16(194), + 1682: uint16(217), + 1683: uint16(218), + 1684: uint16(194), + 1685: uint16(23), + 1686: uint16(98), + 1687: uint16(25), + 1688: uint16(321), + 1689: uint16(194), 1690: uint16(217), - 1691: uint16(7), - 1692: uint16(8), - 1693: uint16(23), - 1694: uint16(59), - 1695: uint16(25), - 1696: uint16(83), - 1697: uint16(84), - 1698: uint16(36), - 1699: uint16(23), - 1700: uint16(193), - 1701: uint16(25), - 1702: uint16(23), - 1703: uint16(23), - 1704: uint16(25), - 1705: uint16(25), - 1706: uint16(71), - 1707: uint16(153), - 1708: uint16(145), - 1709: uint16(155), - 1710: uint16(117), - 1711: uint16(153), - 1712: uint16(23), - 1713: uint16(155), - 1714: uint16(25), - 1715: uint16(23), - 1716: uint16(97), - 1717: uint16(25), - 1718: uint16(70), - 1719: uint16(193), - 1720: uint16(193), - 1721: uint16(59), - 1722: uint16(117), - 1723: uint16(236), - 1724: uint16(193), - 1725: uint16(193), - 1726: uint16(78), - 1727: uint16(193), - 1728: uint16(193), - 1729: uint16(81), - 1730: uint16(141), - 1731: uint16(193), - 1732: uint16(193), - 1733: uint16(71), - 1734: uint16(193), - 1735: uint16(100), - 1736: uint16(288), - 1737: uint16(287), - 1738: uint16(242), - 1739: uint16(255), - 1740: uint16(255), - 1741: uint16(106), - 1742: uint16(107), - 1743: uint16(108), - 1744: uint16(255), - 1745: uint16(255), - 1746: uint16(98), - 1747: uint16(243), - 1748: uint16(297), - 1749: uint16(114), - 1750: uint16(214), - 1751: uint16(116), - 1752: uint16(117), - 1753: uint16(118), - 1754: uint16(245), - 1755: uint16(191), - 1756: uint16(121), - 1757: uint16(271), - 1758: uint16(293), - 1759: uint16(267), - 1760: uint16(267), - 1761: uint16(246), - 1762: uint16(100), - 1763: uint16(246), - 1764: uint16(245), - 1765: uint16(271), - 1766: uint16(271), - 1767: uint16(293), - 1768: uint16(106), - 1769: uint16(107), - 1770: uint16(220), - 1771: uint16(271), - 1772: uint16(229), - 1773: uint16(225), - 1774: uint16(249), - 1775: uint16(219), - 1776: uint16(114), - 1777: uint16(259), - 1778: uint16(116), - 1779: uint16(117), - 1780: uint16(118), - 1781: uint16(133), - 1782: uint16(259), - 1783: uint16(121), - 1784: uint16(219), - 1785: uint16(219), - 1786: uint16(138), - 1787: uint16(139), - 1788: uint16(153), - 1789: uint16(154), - 1790: uint16(155), - 1791: uint16(156), - 1792: uint16(157), - 1793: uint16(280), - 1794: uint16(249), - 1795: uint16(243), - 1796: uint16(19), - 1797: uint16(20), - 1798: uint16(245), - 1799: uint16(22), - 1800: uint16(196), - 1801: uint16(259), - 1802: uint16(140), - 1803: uint16(259), - 1804: uint16(60), - 1805: uint16(297), - 1806: uint16(141), - 1807: uint16(297), - 1808: uint16(200), - 1809: uint16(200), - 1810: uint16(162), - 1811: uint16(38), - 1812: uint16(200), - 1813: uint16(36), - 1814: uint16(294), - 1815: uint16(153), - 1816: uint16(154), - 1817: uint16(155), - 1818: uint16(156), - 1819: uint16(157), - 1820: uint16(151), - 1821: uint16(150), - 1822: uint16(294), - 1823: uint16(283), - 1824: uint16(22), - 1825: uint16(43), - 1826: uint16(234), - 1827: uint16(18), - 1828: uint16(237), - 1829: uint16(200), - 1830: uint16(270), - 1831: uint16(272), - 1832: uint16(237), - 1833: uint16(237), - 1834: uint16(237), - 1835: uint16(18), - 1836: uint16(59), - 1837: uint16(199), - 1838: uint16(270), - 1839: uint16(149), - 1840: uint16(246), - 1841: uint16(272), - 1842: uint16(272), - 1843: uint16(200), - 1844: uint16(234), - 1845: uint16(234), - 1846: uint16(246), - 1847: uint16(246), - 1848: uint16(71), - 1849: uint16(246), - 1850: uint16(199), - 1851: uint16(158), - 1852: uint16(290), - 1853: uint16(62), - 1854: uint16(22), - 1855: uint16(200), - 1856: uint16(19), - 1857: uint16(20), - 1858: uint16(199), - 1859: uint16(22), - 1860: uint16(289), - 1861: uint16(221), - 1862: uint16(221), - 1863: uint16(200), - 1864: uint16(200), - 1865: uint16(199), - 1866: uint16(199), - 1867: uint16(115), - 1868: uint16(218), - 1869: uint16(64), - 1870: uint16(218), - 1871: uint16(218), + 1691: uint16(218), + 1692: uint16(194), + 1693: uint16(19), + 1694: uint16(20), + 1695: uint16(194), + 1696: uint16(22), + 1697: uint16(153), + 1698: uint16(23), + 1699: uint16(155), + 1700: uint16(25), + 1701: uint16(194), + 1702: uint16(100), + 1703: uint16(194), + 1704: uint16(217), + 1705: uint16(218), + 1706: uint16(183), + 1707: uint16(194), + 1708: uint16(106), + 1709: uint16(107), + 1710: uint16(36), + 1711: uint16(194), + 1712: uint16(217), + 1713: uint16(218), + 1714: uint16(237), + 1715: uint16(194), + 1716: uint16(114), + 1717: uint16(243), + 1718: uint16(116), + 1719: uint16(117), + 1720: uint16(118), + 1721: uint16(133), + 1722: uint16(194), + 1723: uint16(121), + 1724: uint16(217), + 1725: uint16(218), + 1726: uint16(138), + 1727: uint16(139), + 1728: uint16(194), + 1729: uint16(194), + 1730: uint16(194), + 1731: uint16(290), + 1732: uint16(289), + 1733: uint16(59), + 1734: uint16(217), + 1735: uint16(218), + 1736: uint16(194), + 1737: uint16(194), + 1738: uint16(217), + 1739: uint16(218), + 1740: uint16(194), + 1741: uint16(194), + 1742: uint16(140), + 1743: uint16(194), + 1744: uint16(194), + 1745: uint16(71), + 1746: uint16(194), + 1747: uint16(244), + 1748: uint16(194), + 1749: uint16(194), + 1750: uint16(162), + 1751: uint16(217), + 1752: uint16(218), + 1753: uint16(194), + 1754: uint16(194), + 1755: uint16(153), + 1756: uint16(154), + 1757: uint16(155), + 1758: uint16(156), + 1759: uint16(157), + 1760: uint16(217), + 1761: uint16(218), + 1762: uint16(194), + 1763: uint16(217), + 1764: uint16(218), + 1765: uint16(194), + 1766: uint16(217), + 1767: uint16(218), + 1768: uint16(257), + 1769: uint16(217), + 1770: uint16(218), + 1771: uint16(217), + 1772: uint16(218), + 1773: uint16(257), + 1774: uint16(100), + 1775: uint16(194), + 1776: uint16(257), + 1777: uint16(217), + 1778: uint16(218), + 1779: uint16(257), + 1780: uint16(106), + 1781: uint16(107), + 1782: uint16(215), + 1783: uint16(299), + 1784: uint16(194), + 1785: uint16(183), + 1786: uint16(192), + 1787: uint16(194), + 1788: uint16(114), + 1789: uint16(194), + 1790: uint16(116), + 1791: uint16(117), + 1792: uint16(118), + 1793: uint16(1), + 1794: uint16(2), + 1795: uint16(121), + 1796: uint16(221), + 1797: uint16(5), + 1798: uint16(217), + 1799: uint16(218), + 1800: uint16(273), + 1801: uint16(197), + 1802: uint16(10), + 1803: uint16(11), + 1804: uint16(12), + 1805: uint16(13), + 1806: uint16(14), + 1807: uint16(217), + 1808: uint16(218), + 1809: uint16(17), + 1810: uint16(217), + 1811: uint16(218), + 1812: uint16(217), + 1813: uint16(218), + 1814: uint16(140), + 1815: uint16(194), + 1816: uint16(246), + 1817: uint16(194), + 1818: uint16(273), + 1819: uint16(295), + 1820: uint16(247), + 1821: uint16(273), + 1822: uint16(30), + 1823: uint16(247), + 1824: uint16(32), + 1825: uint16(269), + 1826: uint16(269), + 1827: uint16(153), + 1828: uint16(154), + 1829: uint16(155), + 1830: uint16(156), + 1831: uint16(157), + 1832: uint16(40), + 1833: uint16(246), + 1834: uint16(273), + 1835: uint16(295), + 1836: uint16(230), + 1837: uint16(226), + 1838: uint16(217), + 1839: uint16(218), + 1840: uint16(217), + 1841: uint16(218), + 1842: uint16(220), + 1843: uint16(261), + 1844: uint16(220), + 1845: uint16(282), + 1846: uint16(220), + 1847: uint16(19), + 1848: uint16(20), + 1849: uint16(244), + 1850: uint16(22), + 1851: uint16(250), + 1852: uint16(141), + 1853: uint16(250), + 1854: uint16(246), + 1855: uint16(60), + 1856: uint16(201), + 1857: uint16(183), + 1858: uint16(261), + 1859: uint16(261), + 1860: uint16(261), + 1861: uint16(201), + 1862: uint16(70), + 1863: uint16(299), + 1864: uint16(36), + 1865: uint16(299), + 1866: uint16(201), + 1867: uint16(38), + 1868: uint16(151), + 1869: uint16(150), + 1870: uint16(78), + 1871: uint16(285), 1872: uint16(22), - 1873: uint16(36), - 1874: uint16(227), - 1875: uint16(126), - 1876: uint16(227), - 1877: uint16(100), - 1878: uint16(165), - 1879: uint16(221), - 1880: uint16(224), - 1881: uint16(224), - 1882: uint16(24), - 1883: uint16(106), - 1884: uint16(107), - 1885: uint16(312), - 1886: uint16(218), - 1887: uint16(305), - 1888: uint16(113), - 1889: uint16(282), - 1890: uint16(91), - 1891: uint16(114), - 1892: uint16(220), - 1893: uint16(116), - 1894: uint16(117), - 1895: uint16(118), - 1896: uint16(59), - 1897: uint16(282), - 1898: uint16(121), - 1899: uint16(218), - 1900: uint16(218), - 1901: uint16(218), + 1873: uint16(81), + 1874: uint16(296), + 1875: uint16(296), + 1876: uint16(43), + 1877: uint16(235), + 1878: uint16(18), + 1879: uint16(238), + 1880: uint16(201), + 1881: uint16(274), + 1882: uint16(272), + 1883: uint16(238), + 1884: uint16(238), + 1885: uint16(238), + 1886: uint16(18), + 1887: uint16(59), + 1888: uint16(200), + 1889: uint16(149), + 1890: uint16(98), + 1891: uint16(247), + 1892: uint16(274), + 1893: uint16(274), + 1894: uint16(235), + 1895: uint16(247), + 1896: uint16(247), + 1897: uint16(247), + 1898: uint16(235), + 1899: uint16(71), + 1900: uint16(272), + 1901: uint16(201), 1902: uint16(200), - 1903: uint16(317), - 1904: uint16(317), - 1905: uint16(82), - 1906: uint16(221), - 1907: uint16(265), - 1908: uint16(71), - 1909: uint16(148), - 1910: uint16(145), - 1911: uint16(265), - 1912: uint16(22), - 1913: uint16(277), - 1914: uint16(200), - 1915: uint16(158), - 1916: uint16(279), - 1917: uint16(140), - 1918: uint16(147), - 1919: uint16(25), - 1920: uint16(146), - 1921: uint16(202), - 1922: uint16(248), - 1923: uint16(250), - 1924: uint16(249), - 1925: uint16(247), - 1926: uint16(13), - 1927: uint16(250), - 1928: uint16(194), - 1929: uint16(194), - 1930: uint16(153), - 1931: uint16(154), - 1932: uint16(155), - 1933: uint16(156), - 1934: uint16(157), - 1935: uint16(6), - 1936: uint16(303), - 1937: uint16(100), - 1938: uint16(192), - 1939: uint16(192), - 1940: uint16(246), - 1941: uint16(213), - 1942: uint16(192), - 1943: uint16(106), - 1944: uint16(107), - 1945: uint16(207), - 1946: uint16(213), - 1947: uint16(207), - 1948: uint16(222), - 1949: uint16(213), - 1950: uint16(213), - 1951: uint16(114), - 1952: uint16(222), - 1953: uint16(116), - 1954: uint16(117), - 1955: uint16(118), - 1956: uint16(214), - 1957: uint16(214), - 1958: uint16(121), - 1959: uint16(4), - 1960: uint16(207), - 1961: uint16(213), - 1962: uint16(3), - 1963: uint16(22), - 1964: uint16(303), - 1965: uint16(15), - 1966: uint16(163), - 1967: uint16(16), - 1968: uint16(23), - 1969: uint16(23), - 1970: uint16(139), - 1971: uint16(151), - 1972: uint16(130), - 1973: uint16(25), - 1974: uint16(20), - 1975: uint16(142), - 1976: uint16(24), - 1977: uint16(16), - 1978: uint16(144), - 1979: uint16(1), - 1980: uint16(142), - 1981: uint16(130), - 1982: uint16(130), - 1983: uint16(61), - 1984: uint16(37), - 1985: uint16(53), - 1986: uint16(300), - 1987: uint16(151), - 1988: uint16(53), - 1989: uint16(53), - 1990: uint16(153), - 1991: uint16(154), - 1992: uint16(155), - 1993: uint16(156), - 1994: uint16(157), - 1995: uint16(53), - 1996: uint16(130), - 1997: uint16(116), - 1998: uint16(34), - 1999: uint16(1), - 2000: uint16(141), - 2001: uint16(5), - 2002: uint16(22), - 2003: uint16(115), - 2004: uint16(161), - 2005: uint16(68), - 2006: uint16(25), - 2007: uint16(68), - 2008: uint16(75), - 2009: uint16(41), - 2010: uint16(141), - 2011: uint16(115), - 2012: uint16(24), - 2013: uint16(20), - 2014: uint16(19), - 2015: uint16(131), - 2016: uint16(125), - 2017: uint16(23), - 2018: uint16(28), - 2019: uint16(22), - 2020: uint16(67), - 2021: uint16(22), - 2022: uint16(22), - 2023: uint16(22), - 2024: uint16(67), - 2025: uint16(59), - 2026: uint16(24), - 2027: uint16(96), - 2028: uint16(22), - 2029: uint16(67), - 2030: uint16(23), - 2031: uint16(149), - 2032: uint16(22), - 2033: uint16(25), - 2034: uint16(23), - 2035: uint16(23), - 2036: uint16(23), - 2037: uint16(22), - 2038: uint16(34), - 2039: uint16(141), - 2040: uint16(37), - 2041: uint16(97), - 2042: uint16(23), - 2043: uint16(23), - 2044: uint16(116), - 2045: uint16(22), - 2046: uint16(143), - 2047: uint16(25), - 2048: uint16(34), - 2049: uint16(75), - 2050: uint16(34), - 2051: uint16(34), - 2052: uint16(34), - 2053: uint16(88), - 2054: uint16(75), - 2055: uint16(34), - 2056: uint16(86), - 2057: uint16(23), + 1903: uint16(158), + 1904: uint16(292), + 1905: uint16(62), + 1906: uint16(291), + 1907: uint16(201), + 1908: uint16(200), + 1909: uint16(22), + 1910: uint16(201), + 1911: uint16(222), + 1912: uint16(200), + 1913: uint16(222), + 1914: uint16(201), + 1915: uint16(200), + 1916: uint16(115), + 1917: uint16(219), + 1918: uint16(219), + 1919: uint16(64), + 1920: uint16(219), + 1921: uint16(228), + 1922: uint16(22), + 1923: uint16(126), + 1924: uint16(221), + 1925: uint16(133), + 1926: uint16(165), + 1927: uint16(222), + 1928: uint16(100), + 1929: uint16(225), + 1930: uint16(138), + 1931: uint16(139), + 1932: uint16(225), + 1933: uint16(219), + 1934: uint16(106), + 1935: uint16(107), + 1936: uint16(24), + 1937: uint16(219), + 1938: uint16(228), + 1939: uint16(219), + 1940: uint16(219), + 1941: uint16(307), + 1942: uint16(114), + 1943: uint16(113), + 1944: uint16(116), + 1945: uint16(117), + 1946: uint16(118), + 1947: uint16(315), + 1948: uint16(284), + 1949: uint16(121), + 1950: uint16(284), + 1951: uint16(222), + 1952: uint16(201), + 1953: uint16(91), + 1954: uint16(162), + 1955: uint16(320), + 1956: uint16(320), + 1957: uint16(82), + 1958: uint16(148), + 1959: uint16(267), + 1960: uint16(145), + 1961: uint16(267), + 1962: uint16(22), + 1963: uint16(279), + 1964: uint16(201), + 1965: uint16(158), + 1966: uint16(281), + 1967: uint16(251), + 1968: uint16(147), + 1969: uint16(146), + 1970: uint16(25), + 1971: uint16(203), + 1972: uint16(250), + 1973: uint16(249), + 1974: uint16(251), + 1975: uint16(248), + 1976: uint16(13), + 1977: uint16(247), + 1978: uint16(195), + 1979: uint16(195), + 1980: uint16(6), + 1981: uint16(153), + 1982: uint16(154), + 1983: uint16(155), + 1984: uint16(156), + 1985: uint16(157), + 1986: uint16(193), + 1987: uint16(193), + 1988: uint16(305), + 1989: uint16(193), + 1990: uint16(208), + 1991: uint16(305), + 1992: uint16(302), + 1993: uint16(214), + 1994: uint16(214), + 1995: uint16(214), + 1996: uint16(208), + 1997: uint16(223), + 1998: uint16(223), + 1999: uint16(214), + 2000: uint16(4), + 2001: uint16(215), + 2002: uint16(215), + 2003: uint16(214), + 2004: uint16(3), + 2005: uint16(22), + 2006: uint16(208), + 2007: uint16(163), + 2008: uint16(15), + 2009: uint16(23), + 2010: uint16(16), + 2011: uint16(183), + 2012: uint16(23), + 2013: uint16(139), + 2014: uint16(151), + 2015: uint16(130), + 2016: uint16(25), + 2017: uint16(20), + 2018: uint16(142), + 2019: uint16(24), + 2020: uint16(16), + 2021: uint16(144), + 2022: uint16(1), + 2023: uint16(142), + 2024: uint16(130), + 2025: uint16(130), + 2026: uint16(61), + 2027: uint16(37), + 2028: uint16(53), + 2029: uint16(151), + 2030: uint16(53), + 2031: uint16(53), + 2032: uint16(53), + 2033: uint16(130), + 2034: uint16(116), + 2035: uint16(1), + 2036: uint16(34), + 2037: uint16(141), + 2038: uint16(5), + 2039: uint16(22), + 2040: uint16(115), + 2041: uint16(161), + 2042: uint16(75), + 2043: uint16(25), + 2044: uint16(68), + 2045: uint16(141), + 2046: uint16(41), + 2047: uint16(115), + 2048: uint16(68), + 2049: uint16(24), + 2050: uint16(20), + 2051: uint16(19), + 2052: uint16(131), + 2053: uint16(125), + 2054: uint16(67), + 2055: uint16(67), + 2056: uint16(96), + 2057: uint16(22), 2058: uint16(22), - 2059: uint16(34), - 2060: uint16(93), - 2061: uint16(24), - 2062: uint16(34), - 2063: uint16(25), - 2064: uint16(25), - 2065: uint16(142), - 2066: uint16(142), + 2059: uint16(22), + 2060: uint16(37), + 2061: uint16(23), + 2062: uint16(22), + 2063: uint16(24), + 2064: uint16(22), + 2065: uint16(59), + 2066: uint16(67), 2067: uint16(23), - 2068: uint16(44), - 2069: uint16(23), - 2070: uint16(23), - 2071: uint16(23), + 2068: uint16(149), + 2069: uint16(28), + 2070: uint16(22), + 2071: uint16(25), 2072: uint16(23), - 2073: uint16(11), + 2073: uint16(23), 2074: uint16(23), - 2075: uint16(25), - 2076: uint16(22), - 2077: uint16(22), - 2078: uint16(22), - 2079: uint16(141), + 2075: uint16(22), + 2076: uint16(141), + 2077: uint16(34), + 2078: uint16(97), + 2079: uint16(23), 2080: uint16(23), - 2081: uint16(23), - 2082: uint16(22), + 2081: uint16(34), + 2082: uint16(116), 2083: uint16(22), - 2084: uint16(25), - 2085: uint16(15), - 2086: uint16(1), - 2087: uint16(23), - 2088: uint16(25), - 2089: uint16(1), - 2090: uint16(141), - 2091: uint16(135), - 2092: uint16(319), - 2093: uint16(319), - 2094: uint16(319), - 2095: uint16(319), - 2096: uint16(319), - 2097: uint16(319), - 2098: uint16(319), - 2099: uint16(141), - 2100: uint16(319), - 2101: uint16(319), - 2102: uint16(319), - 2103: uint16(319), - 2104: uint16(319), - 2105: uint16(319), - 2106: uint16(319), - 2107: uint16(319), - 2108: uint16(319), - 2109: uint16(319), - 2110: uint16(319), - 2111: uint16(319), - 2112: uint16(319), - 2113: uint16(319), - 2114: uint16(319), - 2115: uint16(319), - 2116: uint16(319), - 2117: uint16(319), - 2118: uint16(319), - 2119: uint16(319), - 2120: uint16(319), - 2121: uint16(319), - 2122: uint16(319), - 2123: uint16(319), - 2124: uint16(319), - 2125: uint16(319), - 2126: uint16(319), - 2127: uint16(319), - 2128: uint16(319), - 2129: uint16(319), - 2130: uint16(319), - 2131: uint16(319), - 2132: uint16(319), - 2133: uint16(319), - 2134: uint16(319), - 2135: uint16(319), - 2136: uint16(319), - 2137: uint16(319), - 2138: uint16(319), - 2139: uint16(319), - 2140: uint16(319), - 2141: uint16(319), - 2142: uint16(319), - 2143: uint16(319), - 2144: uint16(319), - 2145: uint16(319), - 2146: uint16(319), - 2147: uint16(319), - 2148: uint16(319), - 2149: uint16(319), - 2150: uint16(319), - 2151: uint16(319), - 2152: uint16(319), - 2153: uint16(319), - 2154: uint16(319), - 2155: uint16(319), - 2156: uint16(319), - 2157: uint16(319), - 2158: uint16(319), - 2159: uint16(319), - 2160: uint16(319), - 2161: uint16(319), - 2162: uint16(319), - 2163: uint16(319), - 2164: uint16(319), - 2165: uint16(319), - 2166: uint16(319), - 2167: uint16(319), - 2168: uint16(319), - 2169: uint16(319), - 2170: uint16(319), - 2171: uint16(319), - 2172: uint16(319), - 2173: uint16(319), - 2174: uint16(319), - 2175: uint16(319), - 2176: uint16(319), - 2177: uint16(319), - 2178: uint16(319), - 2179: uint16(319), - 2180: uint16(319), - 2181: uint16(319), - 2182: uint16(319), - 2183: uint16(319), - 2184: uint16(319), - 2185: uint16(319), - 2186: uint16(319), - 2187: uint16(319), - 2188: uint16(319), - 2189: uint16(319), - 2190: uint16(319), - 2191: uint16(319), - 2192: uint16(319), - 2193: uint16(319), - 2194: uint16(319), - 2195: uint16(319), - 2196: uint16(319), - 2197: uint16(319), - 2198: uint16(319), - 2199: uint16(319), - 2200: uint16(319), - 2201: uint16(319), - 2202: uint16(319), - 2203: uint16(319), - 2204: uint16(319), - 2205: uint16(319), - 2206: uint16(319), - 2207: uint16(319), - 2208: uint16(319), - 2209: uint16(319), - 2210: uint16(319), - 2211: uint16(319), - 2212: uint16(319), - 2213: uint16(319), - 2214: uint16(319), - 2215: uint16(319), - 2216: uint16(319), - 2217: uint16(319), - 2218: uint16(319), - 2219: uint16(319), - 2220: uint16(319), - 2221: uint16(319), - 2222: uint16(319), - 2223: uint16(319), - 2224: uint16(319), - 2225: uint16(319), - 2226: uint16(319), - 2227: uint16(319), - 2228: uint16(319), - 2229: uint16(319), - 2230: uint16(319), - 2231: uint16(319), - 2232: uint16(319), - 2233: uint16(319), - 2234: uint16(319), - 2235: uint16(319), - 2236: uint16(319), - 2237: uint16(319), - 2238: uint16(319), - 2239: uint16(319), - 2240: uint16(319), - 2241: uint16(319), - 2242: uint16(319), - 2243: uint16(319), - 2244: uint16(319), - 2245: uint16(319), - 2246: uint16(319), - 2247: uint16(319), - 2248: uint16(319), - 2249: uint16(319), - 2250: uint16(319), - 2251: uint16(319), - 2252: uint16(319), - 2253: uint16(319), - 2254: uint16(319), - 2255: uint16(319), - 2256: uint16(319), - 2257: uint16(319), - 2258: uint16(319), - 2259: uint16(319), - 2260: uint16(319), - 2261: uint16(319), - 2262: uint16(319), - 2263: uint16(319), - 2264: uint16(319), - 2265: uint16(319), - 2266: uint16(319), - 2267: uint16(319), - 2268: uint16(319), - 2269: uint16(319), - 2270: uint16(319), - 2271: uint16(319), - 2272: uint16(319), - 2273: uint16(319), - 2274: uint16(319), - 2275: uint16(319), - 2276: uint16(319), - 2277: uint16(319), - 2278: uint16(319), - 2279: uint16(319), - 2280: uint16(319), - 2281: uint16(319), - 2282: uint16(319), - 2283: uint16(319), - 2284: uint16(319), -} -var _yy_shift_ofst = [579]uint16{ - 0: uint16(1648), - 1: uint16(1477), - 2: uint16(1272), + 2084: uint16(143), + 2085: uint16(25), + 2086: uint16(34), + 2087: uint16(75), + 2088: uint16(34), + 2089: uint16(34), + 2090: uint16(75), + 2091: uint16(88), + 2092: uint16(34), + 2093: uint16(86), + 2094: uint16(23), + 2095: uint16(22), + 2096: uint16(34), + 2097: uint16(25), + 2098: uint16(24), + 2099: uint16(34), + 2100: uint16(25), + 2101: uint16(93), + 2102: uint16(23), + 2103: uint16(44), + 2104: uint16(142), + 2105: uint16(23), + 2106: uint16(142), + 2107: uint16(23), + 2108: uint16(23), + 2109: uint16(22), + 2110: uint16(11), + 2111: uint16(25), + 2112: uint16(23), + 2113: uint16(25), + 2114: uint16(23), + 2115: uint16(22), + 2116: uint16(22), + 2117: uint16(22), + 2118: uint16(1), + 2119: uint16(23), + 2120: uint16(23), + 2121: uint16(23), + 2122: uint16(22), + 2123: uint16(22), + 2124: uint16(15), + 2125: uint16(141), + 2126: uint16(141), + 2127: uint16(25), + 2128: uint16(25), + 2129: uint16(1), + 2130: uint16(322), + 2131: uint16(322), + 2132: uint16(322), + 2133: uint16(135), + 2134: uint16(322), + 2135: uint16(322), + 2136: uint16(322), + 2137: uint16(322), + 2138: uint16(322), + 2139: uint16(322), + 2140: uint16(322), + 2141: uint16(141), + 2142: uint16(322), + 2143: uint16(322), + 2144: uint16(322), + 2145: uint16(322), + 2146: uint16(322), + 2147: uint16(322), + 2148: uint16(322), + 2149: uint16(322), + 2150: uint16(322), + 2151: uint16(322), + 2152: uint16(322), + 2153: uint16(322), + 2154: uint16(322), + 2155: uint16(322), + 2156: uint16(322), + 2157: uint16(322), + 2158: uint16(322), + 2159: uint16(322), + 2160: uint16(322), + 2161: uint16(322), + 2162: uint16(322), + 2163: uint16(322), + 2164: uint16(322), + 2165: uint16(322), + 2166: uint16(322), + 2167: uint16(322), + 2168: uint16(322), + 2169: uint16(322), + 2170: uint16(322), + 2171: uint16(322), + 2172: uint16(322), + 2173: uint16(322), + 2174: uint16(322), + 2175: uint16(322), + 2176: uint16(322), + 2177: uint16(322), + 2178: uint16(322), + 2179: uint16(322), + 2180: uint16(322), + 2181: uint16(322), + 2182: uint16(322), + 2183: uint16(322), + 2184: uint16(322), + 2185: uint16(322), + 2186: uint16(322), + 2187: uint16(322), + 2188: uint16(322), + 2189: uint16(322), + 2190: uint16(322), + 2191: uint16(322), + 2192: uint16(322), + 2193: uint16(322), + 2194: uint16(322), + 2195: uint16(322), + 2196: uint16(322), + 2197: uint16(322), + 2198: uint16(322), + 2199: uint16(322), + 2200: uint16(322), + 2201: uint16(322), + 2202: uint16(322), + 2203: uint16(322), + 2204: uint16(322), + 2205: uint16(322), + 2206: uint16(322), + 2207: uint16(322), + 2208: uint16(322), + 2209: uint16(322), + 2210: uint16(322), + 2211: uint16(322), + 2212: uint16(322), + 2213: uint16(322), + 2214: uint16(322), + 2215: uint16(322), + 2216: uint16(322), + 2217: uint16(322), + 2218: uint16(322), + 2219: uint16(322), + 2220: uint16(322), + 2221: uint16(322), + 2222: uint16(322), + 2223: uint16(322), + 2224: uint16(322), + 2225: uint16(322), + 2226: uint16(322), + 2227: uint16(322), + 2228: uint16(322), + 2229: uint16(322), + 2230: uint16(322), + 2231: uint16(322), + 2232: uint16(322), + 2233: uint16(322), + 2234: uint16(322), + 2235: uint16(322), + 2236: uint16(322), + 2237: uint16(322), + 2238: uint16(322), + 2239: uint16(322), + 2240: uint16(322), + 2241: uint16(322), + 2242: uint16(322), + 2243: uint16(322), + 2244: uint16(322), + 2245: uint16(322), + 2246: uint16(322), + 2247: uint16(322), + 2248: uint16(322), + 2249: uint16(322), + 2250: uint16(322), + 2251: uint16(322), + 2252: uint16(322), + 2253: uint16(322), + 2254: uint16(322), + 2255: uint16(322), + 2256: uint16(322), + 2257: uint16(322), + 2258: uint16(322), + 2259: uint16(322), + 2260: uint16(322), + 2261: uint16(322), + 2262: uint16(322), + 2263: uint16(322), + 2264: uint16(322), + 2265: uint16(322), + 2266: uint16(322), + 2267: uint16(322), + 2268: uint16(322), + 2269: uint16(322), + 2270: uint16(322), + 2271: uint16(322), + 2272: uint16(322), + 2273: uint16(322), + 2274: uint16(322), + 2275: uint16(322), + 2276: uint16(322), + 2277: uint16(322), + 2278: uint16(322), + 2279: uint16(322), + 2280: uint16(322), + 2281: uint16(322), + 2282: uint16(322), + 2283: uint16(322), + 2284: uint16(322), + 2285: uint16(322), + 2286: uint16(322), + 2287: uint16(322), + 2288: uint16(322), + 2289: uint16(322), + 2290: uint16(322), + 2291: uint16(322), + 2292: uint16(322), + 2293: uint16(322), + 2294: uint16(322), + 2295: uint16(322), + 2296: uint16(322), + 2297: uint16(322), + 2298: uint16(322), + 2299: uint16(322), + 2300: uint16(322), + 2301: uint16(322), + 2302: uint16(322), + 2303: uint16(322), + 2304: uint16(322), + 2305: uint16(322), + 2306: uint16(322), + 2307: uint16(322), + 2308: uint16(322), + 2309: uint16(322), + 2310: uint16(322), + 2311: uint16(322), + 2312: uint16(322), + 2313: uint16(322), + 2314: uint16(322), + 2315: uint16(322), + 2316: uint16(322), + 2317: uint16(322), + 2318: uint16(322), + 2319: uint16(322), + 2320: uint16(322), + 2321: uint16(322), + 2322: uint16(322), + 2323: uint16(322), + 2324: uint16(322), + 2325: uint16(322), + 2326: uint16(322), + 2327: uint16(322), +} +var _yy_shift_ofst = [583]uint16{ + 0: uint16(1792), + 1: uint16(1588), + 2: uint16(1494), 3: uint16(322), 4: uint16(322), - 5: uint16(1), - 6: uint16(1319), - 7: uint16(1478), - 8: uint16(1491), - 9: uint16(1837), - 10: uint16(1837), - 11: uint16(1837), - 12: uint16(471), - 15: uint16(214), - 16: uint16(1093), - 17: uint16(1837), - 18: uint16(1837), - 19: uint16(1837), - 20: uint16(1837), - 21: uint16(1837), - 22: uint16(1837), - 23: uint16(1837), - 24: uint16(1837), - 25: uint16(1837), - 26: uint16(1837), - 27: uint16(1837), - 28: uint16(1837), - 29: uint16(1837), - 30: uint16(1837), - 31: uint16(271), - 32: uint16(271), - 33: uint16(1219), - 34: uint16(1219), - 35: uint16(216), - 36: uint16(88), - 37: uint16(1), - 38: uint16(1), - 39: uint16(1), - 40: uint16(1), - 41: uint16(1), - 42: uint16(40), - 43: uint16(111), - 44: uint16(258), - 45: uint16(361), - 46: uint16(469), - 47: uint16(512), - 48: uint16(583), - 49: uint16(622), - 50: uint16(693), - 51: uint16(732), - 52: uint16(803), - 53: uint16(842), - 54: uint16(913), - 55: uint16(1073), - 56: uint16(1093), - 57: uint16(1093), - 58: uint16(1093), - 59: uint16(1093), - 60: uint16(1093), - 61: uint16(1093), - 62: uint16(1093), - 63: uint16(1093), - 64: uint16(1093), + 5: uint16(399), + 6: uint16(306), + 7: uint16(1319), + 8: uint16(1339), + 9: uint16(1430), + 10: uint16(1828), + 11: uint16(1828), + 12: uint16(1828), + 13: uint16(580), + 14: uint16(399), + 15: uint16(399), + 16: uint16(399), + 17: uint16(399), + 18: uint16(399), + 21: uint16(214), + 22: uint16(1093), + 23: uint16(1828), + 24: uint16(1828), + 25: uint16(1828), + 26: uint16(1828), + 27: uint16(1828), + 28: uint16(1828), + 29: uint16(1828), + 30: uint16(1828), + 31: uint16(1828), + 32: uint16(1828), + 33: uint16(1828), + 34: uint16(1828), + 35: uint16(1828), + 36: uint16(1828), + 37: uint16(1828), + 38: uint16(1130), + 39: uint16(1130), + 40: uint16(365), + 41: uint16(365), + 42: uint16(55), + 43: uint16(278), + 44: uint16(436), + 45: uint16(713), + 46: uint16(713), + 47: uint16(201), + 48: uint16(201), + 49: uint16(201), + 50: uint16(201), + 51: uint16(40), + 52: uint16(111), + 53: uint16(258), + 54: uint16(361), + 55: uint16(469), + 56: uint16(512), + 57: uint16(583), + 58: uint16(622), + 59: uint16(693), + 60: uint16(732), + 61: uint16(803), + 62: uint16(842), + 63: uint16(913), + 64: uint16(1073), 65: uint16(1093), 66: uint16(1093), 67: uint16(1093), @@ -151688,1505 +153047,1514 @@ var _yy_shift_ofst = [579]uint16{ 71: uint16(1093), 72: uint16(1093), 73: uint16(1093), - 74: uint16(1113), + 74: uint16(1093), 75: uint16(1093), - 76: uint16(1216), - 77: uint16(957), - 78: uint16(957), - 79: uint16(1635), - 80: uint16(1662), - 81: uint16(1777), - 82: uint16(1837), - 83: uint16(1837), - 84: uint16(1837), - 85: uint16(1837), - 86: uint16(1837), - 87: uint16(1837), - 88: uint16(1837), - 89: uint16(1837), - 90: uint16(1837), - 91: uint16(1837), - 92: uint16(1837), - 93: uint16(1837), - 94: uint16(1837), - 95: uint16(1837), - 96: uint16(1837), - 97: uint16(1837), - 98: uint16(1837), - 99: uint16(1837), - 100: uint16(1837), - 101: uint16(1837), - 102: uint16(1837), - 103: uint16(1837), - 104: uint16(1837), - 105: uint16(1837), - 106: uint16(1837), - 107: uint16(1837), - 108: uint16(1837), - 109: uint16(1837), - 110: uint16(1837), - 111: uint16(1837), - 112: uint16(1837), - 113: uint16(1837), - 114: uint16(1837), - 115: uint16(1837), - 116: uint16(1837), - 117: uint16(1837), - 118: uint16(1837), - 119: uint16(1837), - 120: uint16(1837), - 121: uint16(1837), - 122: uint16(1837), - 123: uint16(1837), - 124: uint16(1837), - 125: uint16(1837), - 126: uint16(1837), - 127: uint16(1837), - 128: uint16(1837), - 129: uint16(1837), - 130: uint16(1837), - 131: uint16(137), - 132: uint16(181), - 133: uint16(181), - 134: uint16(181), - 135: uint16(181), - 136: uint16(181), - 137: uint16(181), - 138: uint16(181), - 139: uint16(94), - 140: uint16(430), - 141: uint16(66), - 142: uint16(65), - 143: uint16(112), - 144: uint16(366), - 145: uint16(533), - 146: uint16(533), - 147: uint16(740), - 148: uint16(1257), - 149: uint16(533), - 150: uint16(533), - 151: uint16(79), - 152: uint16(79), - 153: uint16(533), - 154: uint16(412), - 155: uint16(412), - 156: uint16(412), - 157: uint16(77), - 158: uint16(412), - 159: uint16(123), - 160: uint16(113), - 161: uint16(113), - 162: uint16(113), - 163: uint16(22), - 164: uint16(22), - 165: uint16(2100), - 166: uint16(2100), - 167: uint16(328), - 168: uint16(328), - 169: uint16(328), - 170: uint16(239), - 171: uint16(468), - 172: uint16(468), - 173: uint16(468), - 174: uint16(468), - 175: uint16(1015), - 176: uint16(1015), - 177: uint16(409), - 178: uint16(366), - 179: uint16(1187), - 180: uint16(1232), - 181: uint16(533), - 182: uint16(533), - 183: uint16(533), - 184: uint16(533), - 185: uint16(533), - 186: uint16(533), - 187: uint16(533), - 188: uint16(533), - 189: uint16(533), - 190: uint16(533), - 191: uint16(533), - 192: uint16(533), - 193: uint16(533), - 194: uint16(533), - 195: uint16(533), - 196: uint16(533), - 197: uint16(533), - 198: uint16(533), - 199: uint16(533), - 200: uint16(533), - 201: uint16(969), - 202: uint16(621), - 203: uint16(621), - 204: uint16(533), - 205: uint16(642), - 206: uint16(788), - 207: uint16(788), - 208: uint16(1133), - 209: uint16(1133), - 210: uint16(822), - 211: uint16(822), - 212: uint16(67), - 213: uint16(1193), - 214: uint16(2100), - 215: uint16(2100), - 216: uint16(2100), - 217: uint16(2100), - 218: uint16(2100), - 219: uint16(2100), - 220: uint16(2100), - 221: uint16(1307), - 222: uint16(954), - 223: uint16(954), - 224: uint16(585), - 225: uint16(472), - 226: uint16(640), - 227: uint16(387), - 228: uint16(695), - 229: uint16(538), - 230: uint16(541), - 231: uint16(700), - 232: uint16(533), - 233: uint16(533), - 234: uint16(533), - 235: uint16(533), - 236: uint16(533), - 237: uint16(533), - 238: uint16(533), - 239: uint16(533), - 240: uint16(533), - 241: uint16(533), - 242: uint16(222), - 243: uint16(533), - 244: uint16(533), - 245: uint16(533), - 246: uint16(533), - 247: uint16(533), - 248: uint16(533), - 249: uint16(533), - 250: uint16(533), - 251: uint16(533), - 252: uint16(533), - 253: uint16(533), - 254: uint16(533), - 255: uint16(1213), - 256: uint16(1213), - 257: uint16(1213), - 258: uint16(533), - 259: uint16(533), - 260: uint16(533), - 261: uint16(565), - 262: uint16(533), - 263: uint16(533), - 264: uint16(533), - 265: uint16(916), - 266: uint16(1147), - 267: uint16(533), - 268: uint16(533), - 269: uint16(1288), - 270: uint16(533), - 271: uint16(533), - 272: uint16(533), - 273: uint16(533), - 274: uint16(533), - 275: uint16(533), - 276: uint16(533), - 277: uint16(533), - 278: uint16(639), - 279: uint16(1280), - 280: uint16(209), - 281: uint16(1129), - 282: uint16(1129), - 283: uint16(1129), - 284: uint16(1129), - 285: uint16(580), - 286: uint16(209), - 287: uint16(209), - 288: uint16(1209), - 289: uint16(768), - 290: uint16(917), - 291: uint16(649), - 292: uint16(1315), - 293: uint16(1334), - 294: uint16(405), - 295: uint16(1334), - 296: uint16(1383), - 297: uint16(249), - 298: uint16(1315), - 299: uint16(1315), - 300: uint16(249), - 301: uint16(1315), - 302: uint16(405), - 303: uint16(1383), - 304: uint16(1441), - 305: uint16(464), - 306: uint16(1245), - 307: uint16(1417), - 308: uint16(1417), - 309: uint16(1417), - 310: uint16(1323), - 311: uint16(1323), - 312: uint16(1323), - 313: uint16(1323), - 314: uint16(184), - 315: uint16(184), - 316: uint16(1335), - 317: uint16(1476), - 318: uint16(856), - 319: uint16(1482), - 320: uint16(1744), - 321: uint16(1744), - 322: uint16(1665), - 323: uint16(1665), - 324: uint16(1773), - 325: uint16(1773), - 326: uint16(1665), - 327: uint16(1669), - 328: uint16(1671), - 329: uint16(1802), - 330: uint16(1782), - 331: uint16(1809), - 332: uint16(1809), - 333: uint16(1809), - 334: uint16(1809), - 335: uint16(1665), - 336: uint16(1817), - 337: uint16(1690), - 338: uint16(1671), - 339: uint16(1671), - 340: uint16(1690), - 341: uint16(1802), - 342: uint16(1782), - 343: uint16(1690), - 344: uint16(1782), - 345: uint16(1690), - 346: uint16(1665), - 347: uint16(1817), - 348: uint16(1693), - 349: uint16(1791), - 350: uint16(1665), - 351: uint16(1817), - 352: uint16(1832), - 353: uint16(1665), - 354: uint16(1817), - 355: uint16(1665), - 356: uint16(1817), - 357: uint16(1832), - 358: uint16(1752), - 359: uint16(1752), - 360: uint16(1752), - 361: uint16(1805), - 362: uint16(1850), - 363: uint16(1850), - 364: uint16(1832), - 365: uint16(1752), - 366: uint16(1749), - 367: uint16(1752), - 368: uint16(1805), - 369: uint16(1752), - 370: uint16(1752), - 371: uint16(1713), - 372: uint16(1858), - 373: uint16(1775), - 374: uint16(1775), - 375: uint16(1832), - 376: uint16(1665), - 377: uint16(1799), - 378: uint16(1799), - 379: uint16(1823), - 380: uint16(1823), - 381: uint16(1761), - 382: uint16(1765), - 383: uint16(1890), - 384: uint16(1665), - 385: uint16(1757), - 386: uint16(1761), - 387: uint16(1771), - 388: uint16(1774), - 389: uint16(1690), - 390: uint16(1894), - 391: uint16(1913), - 392: uint16(1913), - 393: uint16(1929), - 394: uint16(1929), - 395: uint16(1929), - 396: uint16(2100), - 397: uint16(2100), - 398: uint16(2100), - 399: uint16(2100), - 400: uint16(2100), - 401: uint16(2100), - 402: uint16(2100), - 403: uint16(2100), - 404: uint16(2100), - 405: uint16(2100), - 406: uint16(2100), - 407: uint16(2100), - 408: uint16(2100), - 409: uint16(2100), - 410: uint16(2100), - 411: uint16(207), - 412: uint16(1220), - 413: uint16(331), - 414: uint16(620), - 415: uint16(967), - 416: uint16(806), - 417: uint16(1074), - 418: uint16(1499), - 419: uint16(1432), - 420: uint16(1463), - 421: uint16(1479), - 422: uint16(1419), - 423: uint16(1422), - 424: uint16(1557), - 425: uint16(1512), - 426: uint16(1598), - 427: uint16(1599), - 428: uint16(1644), - 429: uint16(1645), - 430: uint16(1654), - 431: uint16(1660), - 432: uint16(1555), - 433: uint16(1505), - 434: uint16(1684), - 435: uint16(1462), - 436: uint16(1670), - 437: uint16(1563), - 438: uint16(1619), - 439: uint16(1593), - 440: uint16(1676), - 441: uint16(1679), - 442: uint16(1613), - 443: uint16(1680), - 444: uint16(1554), - 445: uint16(1558), - 446: uint16(1689), - 447: uint16(1692), - 448: uint16(1605), - 449: uint16(1589), - 450: uint16(1955), - 451: uint16(1959), - 452: uint16(1941), - 453: uint16(1803), - 454: uint16(1950), - 455: uint16(1951), - 456: uint16(1945), - 457: uint16(1946), - 458: uint16(1831), - 459: uint16(1820), - 460: uint16(1842), - 461: uint16(1948), - 462: uint16(1948), - 463: uint16(1952), - 464: uint16(1833), - 465: uint16(1954), - 466: uint16(1834), - 467: uint16(1961), - 468: uint16(1978), - 469: uint16(1838), - 470: uint16(1851), - 471: uint16(1948), - 472: uint16(1852), - 473: uint16(1922), - 474: uint16(1947), - 475: uint16(1948), - 476: uint16(1836), - 477: uint16(1932), - 478: uint16(1935), - 479: uint16(1936), - 480: uint16(1942), - 481: uint16(1866), - 482: uint16(1881), - 483: uint16(1964), - 484: uint16(1859), - 485: uint16(1998), - 486: uint16(1996), - 487: uint16(1980), - 488: uint16(1888), - 489: uint16(1843), - 490: uint16(1937), - 491: uint16(1981), - 492: uint16(1939), - 493: uint16(1933), - 494: uint16(1968), - 495: uint16(1869), - 496: uint16(1896), - 497: uint16(1988), - 498: uint16(1993), - 499: uint16(1995), - 500: uint16(1884), - 501: uint16(1891), - 502: uint16(1997), - 503: uint16(1953), - 504: uint16(1999), - 505: uint16(2000), - 506: uint16(1994), - 507: uint16(2001), - 508: uint16(1957), - 509: uint16(1966), - 510: uint16(2002), - 511: uint16(1931), - 512: uint16(1990), - 513: uint16(2006), - 514: uint16(1962), - 515: uint16(2003), - 516: uint16(2007), - 517: uint16(2004), - 518: uint16(1882), - 519: uint16(2010), - 520: uint16(2011), - 521: uint16(2012), - 522: uint16(2008), - 523: uint16(2013), - 524: uint16(2015), - 525: uint16(1944), - 526: uint16(1898), - 527: uint16(2019), - 528: uint16(2020), - 529: uint16(1928), - 530: uint16(2014), - 531: uint16(2023), - 532: uint16(1903), - 533: uint16(2022), - 534: uint16(2016), - 535: uint16(2017), - 536: uint16(2018), - 537: uint16(2021), - 538: uint16(1965), - 539: uint16(1974), - 540: uint16(1970), - 541: uint16(2024), - 542: uint16(1979), - 543: uint16(1967), - 544: uint16(2025), - 545: uint16(2034), - 546: uint16(2036), - 547: uint16(2037), - 548: uint16(2038), - 549: uint16(2039), - 550: uint16(2028), - 551: uint16(1923), - 552: uint16(1924), - 553: uint16(2044), - 554: uint16(2022), - 555: uint16(2046), - 556: uint16(2047), - 557: uint16(2048), - 558: uint16(2049), - 559: uint16(2050), - 560: uint16(2051), - 561: uint16(2054), - 562: uint16(2062), - 563: uint16(2055), - 564: uint16(2056), - 565: uint16(2057), - 566: uint16(2058), - 567: uint16(2060), - 568: uint16(2061), - 569: uint16(2059), - 570: uint16(1956), - 571: uint16(1938), - 572: uint16(1949), - 573: uint16(1958), - 574: uint16(2063), - 575: uint16(2064), - 576: uint16(2070), - 577: uint16(2085), - 578: uint16(2088), -} -var _yy_reduce_ofst = [411]int16{ - 0: int16(-int32(125)), - 1: int16(733), - 2: int16(789), - 3: int16(241), - 4: int16(293), - 5: int16(-int32(123)), - 6: int16(-int32(193)), - 7: int16(-int32(191)), - 8: int16(-int32(183)), - 9: int16(-int32(187)), - 10: int16(166), - 11: int16(238), - 12: int16(133), - 13: int16(-int32(207)), - 14: int16(-int32(199)), - 15: int16(-int32(267)), - 16: int16(-int32(176)), - 17: int16(-int32(6)), - 18: int16(204), - 19: int16(489), - 20: int16(576), - 21: int16(598), - 22: int16(-int32(175)), - 23: int16(686), - 24: int16(860), - 25: int16(615), - 26: int16(725), - 27: int16(1014), - 28: int16(778), - 29: int16(781), - 30: int16(857), - 31: int16(616), - 32: int16(887), - 33: int16(87), - 34: int16(240), - 35: int16(-int32(192)), - 36: int16(408), - 37: int16(626), - 38: int16(796), - 39: int16(843), - 40: int16(854), - 41: int16(1004), - 42: int16(-int32(271)), - 43: int16(-int32(271)), - 44: int16(-int32(271)), - 45: int16(-int32(271)), - 46: int16(-int32(271)), - 47: int16(-int32(271)), - 48: int16(-int32(271)), - 49: int16(-int32(271)), - 50: int16(-int32(271)), - 51: int16(-int32(271)), - 52: int16(-int32(271)), - 53: int16(-int32(271)), - 54: int16(-int32(271)), - 55: int16(-int32(271)), - 56: int16(-int32(271)), - 57: int16(-int32(271)), - 58: int16(-int32(271)), - 59: int16(-int32(271)), - 60: int16(-int32(271)), - 61: int16(-int32(271)), - 62: int16(-int32(271)), - 63: int16(-int32(271)), - 64: int16(-int32(271)), - 65: int16(-int32(271)), - 66: int16(-int32(271)), - 67: int16(-int32(271)), - 68: int16(-int32(271)), - 69: int16(-int32(271)), - 70: int16(-int32(271)), - 71: int16(-int32(271)), - 72: int16(-int32(271)), - 73: int16(-int32(271)), - 74: int16(-int32(271)), - 75: int16(-int32(271)), - 76: int16(-int32(271)), - 77: int16(-int32(271)), - 78: int16(-int32(271)), - 79: int16(80), - 80: int16(83), - 81: int16(313), - 82: int16(886), - 83: int16(888), - 84: int16(918), - 85: int16(938), - 86: int16(1021), - 87: int16(1034), - 88: int16(1036), - 89: int16(1141), - 90: int16(1159), - 91: int16(1163), - 92: int16(1166), - 93: int16(1168), - 94: int16(1170), - 95: int16(1176), - 96: int16(1178), - 97: int16(1180), - 98: int16(1184), - 99: int16(1196), - 100: int16(1198), - 101: int16(1205), - 102: int16(1215), - 103: int16(1225), - 104: int16(1227), - 105: int16(1236), - 106: int16(1252), - 107: int16(1254), - 108: int16(1264), - 109: int16(1303), - 110: int16(1309), - 111: int16(1312), - 112: int16(1322), - 113: int16(1325), - 114: int16(1328), - 115: int16(1337), - 116: int16(1340), - 117: int16(1343), - 118: int16(1353), - 119: int16(1371), - 120: int16(1373), - 121: int16(1384), - 122: int16(1386), - 123: int16(1411), - 124: int16(1413), - 125: int16(1420), - 126: int16(1424), - 127: int16(1426), - 128: int16(1458), - 129: int16(1470), - 130: int16(1473), - 131: int16(-int32(271)), - 132: int16(-int32(271)), - 133: int16(-int32(271)), - 134: int16(-int32(271)), - 135: int16(-int32(271)), - 136: int16(-int32(271)), - 137: int16(-int32(271)), - 138: int16(-int32(271)), - 139: int16(-int32(271)), - 140: int16(-int32(271)), - 141: int16(-int32(271)), - 142: int16(138), - 143: int16(459), - 144: int16(396), - 145: int16(-int32(158)), - 146: int16(470), - 147: int16(302), - 148: int16(-int32(212)), - 149: int16(521), - 150: int16(201), - 151: int16(-int32(195)), - 152: int16(-int32(92)), - 153: int16(559), - 154: int16(630), - 155: int16(632), - 156: int16(630), - 157: int16(-int32(271)), - 158: int16(632), - 159: int16(901), - 160: int16(63), - 161: int16(407), - 162: int16(670), - 163: int16(-int32(271)), - 164: int16(-int32(271)), - 165: int16(-int32(271)), - 166: int16(-int32(271)), - 167: int16(161), - 168: int16(161), - 169: int16(161), - 170: int16(251), - 171: int16(335), - 172: int16(847), - 173: int16(979), - 174: int16(1097), - 175: int16(537), - 176: int16(588), - 177: int16(618), - 178: int16(628), - 179: int16(688), - 180: int16(688), - 181: int16(-int32(166)), - 182: int16(-int32(161)), - 183: int16(674), - 184: int16(787), - 185: int16(794), - 186: int16(799), - 187: int16(852), - 188: int16(996), - 189: int16(-int32(122)), - 190: int16(837), - 191: int16(-int32(120)), - 192: int16(1018), - 193: int16(1035), - 194: int16(415), - 195: int16(1047), - 196: int16(1001), - 197: int16(958), - 198: int16(1082), - 199: int16(400), - 200: int16(1099), - 201: int16(779), - 202: int16(1137), - 203: int16(1142), - 204: int16(263), - 205: int16(1083), - 206: int16(1145), - 207: int16(1150), - 208: int16(1041), - 209: int16(1139), - 210: int16(965), - 211: int16(1050), - 212: int16(362), - 213: int16(849), - 214: int16(752), - 215: int16(629), - 216: int16(675), - 217: int16(1162), - 218: int16(1173), - 219: int16(1090), - 220: int16(1195), - 221: int16(-int32(194)), - 222: int16(56), - 223: int16(185), - 224: int16(-int32(135)), - 225: int16(232), - 226: int16(522), - 227: int16(560), - 228: int16(571), - 229: int16(601), - 230: int16(617), - 231: int16(669), - 232: int16(683), - 233: int16(711), - 234: int16(850), - 235: int16(893), - 236: int16(1000), - 237: int16(1040), - 238: int16(1049), - 239: int16(1081), - 240: int16(1087), - 241: int16(1101), - 242: int16(392), - 243: int16(1114), - 244: int16(1123), - 245: int16(1155), - 246: int16(1161), - 247: int16(1175), - 248: int16(1271), - 249: int16(1293), - 250: int16(1299), - 251: int16(1330), - 252: int16(1339), - 253: int16(1342), - 254: int16(1347), - 255: int16(593), - 256: int16(1282), - 257: int16(1286), - 258: int16(1350), - 259: int16(1359), - 260: int16(1368), - 261: int16(1314), - 262: int16(1480), - 263: int16(1483), - 264: int16(1507), - 265: int16(1085), - 266: int16(1338), - 267: int16(1526), - 268: int16(1527), - 269: int16(1487), - 270: int16(1531), - 271: int16(560), - 272: int16(1532), - 273: int16(1534), - 274: int16(1535), - 275: int16(1538), - 276: int16(1539), - 277: int16(1541), - 278: int16(1448), - 279: int16(1450), - 280: int16(1496), - 281: int16(1484), - 282: int16(1485), - 283: int16(1489), - 284: int16(1490), - 285: int16(1314), - 286: int16(1496), - 287: int16(1496), - 288: int16(1504), - 289: int16(1536), - 290: int16(1564), - 291: int16(1451), - 292: int16(1486), - 293: int16(1492), - 294: int16(1509), - 295: int16(1493), - 296: int16(1465), - 297: int16(1515), - 298: int16(1494), - 299: int16(1495), - 300: int16(1517), - 301: int16(1500), - 302: int16(1519), - 303: int16(1474), - 304: int16(1550), - 305: int16(1543), - 306: int16(1548), - 307: int16(1556), - 308: int16(1565), - 309: int16(1566), - 310: int16(1518), - 311: int16(1523), - 312: int16(1542), - 313: int16(1544), - 314: int16(1525), - 315: int16(1545), - 316: int16(1513), - 317: int16(1553), - 318: int16(1552), - 319: int16(1604), - 320: int16(1508), - 321: int16(1510), - 322: int16(1608), - 323: int16(1609), - 324: int16(1520), - 325: int16(1528), - 326: int16(1612), - 327: int16(1540), - 328: int16(1559), - 329: int16(1560), - 330: int16(1592), - 331: int16(1591), - 332: int16(1595), - 333: int16(1596), - 334: int16(1597), - 335: int16(1629), - 336: int16(1638), - 337: int16(1594), - 338: int16(1569), - 339: int16(1570), - 340: int16(1600), - 341: int16(1568), - 342: int16(1610), - 343: int16(1601), - 344: int16(1611), - 345: int16(1603), - 346: int16(1643), - 347: int16(1651), - 348: int16(1562), - 349: int16(1571), - 350: int16(1655), - 351: int16(1659), - 352: int16(1640), - 353: int16(1663), - 354: int16(1666), - 355: int16(1664), - 356: int16(1667), - 357: int16(1641), - 358: int16(1650), - 359: int16(1652), - 360: int16(1653), - 361: int16(1647), - 362: int16(1656), - 363: int16(1657), - 364: int16(1658), - 365: int16(1668), - 366: int16(1672), - 367: int16(1681), - 368: int16(1649), - 369: int16(1682), - 370: int16(1683), - 371: int16(1573), - 372: int16(1582), - 373: int16(1607), - 374: int16(1615), - 375: int16(1685), - 376: int16(1702), - 377: int16(1586), - 378: int16(1587), - 379: int16(1642), - 380: int16(1646), - 381: int16(1673), - 382: int16(1675), - 383: int16(1636), - 384: int16(1714), - 385: int16(1637), - 386: int16(1677), - 387: int16(1674), - 388: int16(1678), - 389: int16(1694), - 390: int16(1719), - 391: int16(1734), - 392: int16(1735), - 393: int16(1746), - 394: int16(1747), - 395: int16(1750), - 396: int16(1633), - 397: int16(1661), + 76: uint16(1093), + 77: uint16(1093), + 78: uint16(1093), + 79: uint16(1093), + 80: uint16(1093), + 81: uint16(1093), + 82: uint16(1093), + 83: uint16(1113), + 84: uint16(1093), + 85: uint16(1216), + 86: uint16(957), + 87: uint16(957), + 88: uint16(1523), + 89: uint16(1602), + 90: uint16(1674), + 91: uint16(1828), + 92: uint16(1828), + 93: uint16(1828), + 94: uint16(1828), + 95: uint16(1828), + 96: uint16(1828), + 97: uint16(1828), + 98: uint16(1828), + 99: uint16(1828), + 100: uint16(1828), + 101: uint16(1828), + 102: uint16(1828), + 103: uint16(1828), + 104: uint16(1828), + 105: uint16(1828), + 106: uint16(1828), + 107: uint16(1828), + 108: uint16(1828), + 109: uint16(1828), + 110: uint16(1828), + 111: uint16(1828), + 112: uint16(1828), + 113: uint16(1828), + 114: uint16(1828), + 115: uint16(1828), + 116: uint16(1828), + 117: uint16(1828), + 118: uint16(1828), + 119: uint16(1828), + 120: uint16(1828), + 121: uint16(1828), + 122: uint16(1828), + 123: uint16(1828), + 124: uint16(1828), + 125: uint16(1828), + 126: uint16(1828), + 127: uint16(1828), + 128: uint16(1828), + 129: uint16(1828), + 130: uint16(1828), + 131: uint16(1828), + 132: uint16(1828), + 133: uint16(1828), + 134: uint16(1828), + 135: uint16(1828), + 136: uint16(1828), + 137: uint16(1828), + 138: uint16(1828), + 139: uint16(1828), + 140: uint16(137), + 141: uint16(181), + 142: uint16(181), + 143: uint16(181), + 144: uint16(181), + 145: uint16(181), + 146: uint16(181), + 147: uint16(181), + 148: uint16(96), + 149: uint16(222), + 150: uint16(143), + 151: uint16(477), + 152: uint16(713), + 153: uint16(1133), + 154: uint16(1268), + 155: uint16(713), + 156: uint16(713), + 157: uint16(79), + 158: uint16(79), + 159: uint16(713), + 160: uint16(770), + 161: uint16(83), + 162: uint16(65), + 163: uint16(65), + 164: uint16(65), + 165: uint16(288), + 166: uint16(162), + 167: uint16(162), + 168: uint16(2142), + 169: uint16(2142), + 170: uint16(696), + 171: uint16(696), + 172: uint16(696), + 173: uint16(238), + 174: uint16(474), + 175: uint16(474), + 176: uint16(474), + 177: uint16(474), + 178: uint16(1217), + 179: uint16(1217), + 180: uint16(678), + 181: uint16(477), + 182: uint16(324), + 183: uint16(398), + 184: uint16(713), + 185: uint16(713), + 186: uint16(713), + 187: uint16(713), + 188: uint16(713), + 189: uint16(713), + 190: uint16(713), + 191: uint16(713), + 192: uint16(713), + 193: uint16(713), + 194: uint16(713), + 195: uint16(713), + 196: uint16(713), + 197: uint16(713), + 198: uint16(713), + 199: uint16(713), + 200: uint16(713), + 201: uint16(713), + 202: uint16(713), + 203: uint16(1220), + 204: uint16(366), + 205: uint16(366), + 206: uint16(713), + 207: uint16(917), + 208: uint16(283), + 209: uint16(283), + 210: uint16(434), + 211: uint16(434), + 212: uint16(605), + 213: uint16(605), + 214: uint16(1298), + 215: uint16(2142), + 216: uint16(2142), + 217: uint16(2142), + 218: uint16(2142), + 219: uint16(2142), + 220: uint16(2142), + 221: uint16(2142), + 222: uint16(1179), + 223: uint16(1157), + 224: uint16(1157), + 225: uint16(487), + 226: uint16(527), + 227: uint16(585), + 228: uint16(645), + 229: uint16(749), + 230: uint16(914), + 231: uint16(968), + 232: uint16(752), + 233: uint16(713), + 234: uint16(713), + 235: uint16(713), + 236: uint16(713), + 237: uint16(713), + 238: uint16(713), + 239: uint16(713), + 240: uint16(713), + 241: uint16(713), + 242: uint16(713), + 243: uint16(303), + 244: uint16(713), + 245: uint16(713), + 246: uint16(713), + 247: uint16(713), + 248: uint16(713), + 249: uint16(713), + 250: uint16(713), + 251: uint16(713), + 252: uint16(713), + 253: uint16(713), + 254: uint16(713), + 255: uint16(713), + 256: uint16(797), + 257: uint16(797), + 258: uint16(797), + 259: uint16(713), + 260: uint16(713), + 261: uint16(713), + 262: uint16(959), + 263: uint16(713), + 264: uint16(713), + 265: uint16(713), + 266: uint16(1169), + 267: uint16(1271), + 268: uint16(713), + 269: uint16(713), + 270: uint16(1330), + 271: uint16(713), + 272: uint16(713), + 273: uint16(713), + 274: uint16(713), + 275: uint16(713), + 276: uint16(713), + 277: uint16(713), + 278: uint16(713), + 279: uint16(629), + 280: uint16(7), + 281: uint16(91), + 282: uint16(876), + 283: uint16(876), + 284: uint16(876), + 285: uint16(876), + 286: uint16(953), + 287: uint16(91), + 288: uint16(91), + 289: uint16(1246), + 290: uint16(1065), + 291: uint16(1106), + 292: uint16(1374), + 293: uint16(1329), + 294: uint16(1348), + 295: uint16(468), + 296: uint16(1348), + 297: uint16(1394), + 298: uint16(785), + 299: uint16(1329), + 300: uint16(1329), + 301: uint16(785), + 302: uint16(1329), + 303: uint16(468), + 304: uint16(1394), + 305: uint16(859), + 306: uint16(854), + 307: uint16(1402), + 308: uint16(1449), + 309: uint16(1449), + 310: uint16(1449), + 311: uint16(1173), + 312: uint16(1173), + 313: uint16(1173), + 314: uint16(1173), + 315: uint16(1355), + 316: uint16(1355), + 317: uint16(1030), + 318: uint16(1341), + 319: uint16(405), + 320: uint16(1230), + 321: uint16(1795), + 322: uint16(1795), + 323: uint16(1711), + 324: uint16(1711), + 325: uint16(1829), + 326: uint16(1829), + 327: uint16(1711), + 328: uint16(1717), + 329: uint16(1719), + 330: uint16(1850), + 331: uint16(1833), + 332: uint16(1860), + 333: uint16(1860), + 334: uint16(1860), + 335: uint16(1860), + 336: uint16(1711), + 337: uint16(1868), + 338: uint16(1740), + 339: uint16(1719), + 340: uint16(1719), + 341: uint16(1740), + 342: uint16(1850), + 343: uint16(1833), + 344: uint16(1740), + 345: uint16(1833), + 346: uint16(1740), + 347: uint16(1711), + 348: uint16(1868), + 349: uint16(1745), + 350: uint16(1843), + 351: uint16(1711), + 352: uint16(1868), + 353: uint16(1887), + 354: uint16(1711), + 355: uint16(1868), + 356: uint16(1711), + 357: uint16(1868), + 358: uint16(1887), + 359: uint16(1801), + 360: uint16(1801), + 361: uint16(1801), + 362: uint16(1855), + 363: uint16(1900), + 364: uint16(1900), + 365: uint16(1887), + 366: uint16(1801), + 367: uint16(1797), + 368: uint16(1801), + 369: uint16(1855), + 370: uint16(1801), + 371: uint16(1801), + 372: uint16(1761), + 373: uint16(1912), + 374: uint16(1830), + 375: uint16(1830), + 376: uint16(1887), + 377: uint16(1711), + 378: uint16(1862), + 379: uint16(1862), + 380: uint16(1875), + 381: uint16(1875), + 382: uint16(1810), + 383: uint16(1815), + 384: uint16(1940), + 385: uint16(1711), + 386: uint16(1807), + 387: uint16(1810), + 388: uint16(1821), + 389: uint16(1823), + 390: uint16(1740), + 391: uint16(1945), + 392: uint16(1963), + 393: uint16(1963), + 394: uint16(1974), + 395: uint16(1974), + 396: uint16(1974), + 397: uint16(2142), + 398: uint16(2142), + 399: uint16(2142), + 400: uint16(2142), + 401: uint16(2142), + 402: uint16(2142), + 403: uint16(2142), + 404: uint16(2142), + 405: uint16(2142), + 406: uint16(2142), + 407: uint16(2142), + 408: uint16(2142), + 409: uint16(2142), + 410: uint16(2142), + 411: uint16(2142), + 412: uint16(20), + 413: uint16(1224), + 414: uint16(256), + 415: uint16(1111), + 416: uint16(1115), + 417: uint16(1114), + 418: uint16(1192), + 419: uint16(1496), + 420: uint16(1424), + 421: uint16(1505), + 422: uint16(1427), + 423: uint16(355), + 424: uint16(1383), + 425: uint16(1537), + 426: uint16(1506), + 427: uint16(1538), + 428: uint16(1553), + 429: uint16(1583), + 430: uint16(1584), + 431: uint16(1591), + 432: uint16(1625), + 433: uint16(541), + 434: uint16(1445), + 435: uint16(1562), + 436: uint16(1450), + 437: uint16(1572), + 438: uint16(1515), + 439: uint16(1428), + 440: uint16(1532), + 441: uint16(1592), + 442: uint16(1629), + 443: uint16(1520), + 444: uint16(1630), + 445: uint16(1639), + 446: uint16(1510), + 447: uint16(1544), + 448: uint16(1662), + 449: uint16(1675), + 450: uint16(1551), + 451: uint16(48), + 452: uint16(1996), + 453: uint16(2001), + 454: uint16(1983), + 455: uint16(1844), + 456: uint16(1993), + 457: uint16(1994), + 458: uint16(1986), + 459: uint16(1989), + 460: uint16(1874), + 461: uint16(1863), + 462: uint16(1885), + 463: uint16(1991), + 464: uint16(1991), + 465: uint16(1995), + 466: uint16(1876), + 467: uint16(1997), + 468: uint16(1877), + 469: uint16(2004), + 470: uint16(2021), + 471: uint16(1881), + 472: uint16(1894), + 473: uint16(1991), + 474: uint16(1895), + 475: uint16(1965), + 476: uint16(1990), + 477: uint16(1991), + 478: uint16(1878), + 479: uint16(1975), + 480: uint16(1977), + 481: uint16(1978), + 482: uint16(1979), + 483: uint16(1903), + 484: uint16(1918), + 485: uint16(2002), + 486: uint16(1896), + 487: uint16(2034), + 488: uint16(2033), + 489: uint16(2017), + 490: uint16(1925), + 491: uint16(1880), + 492: uint16(1976), + 493: uint16(2018), + 494: uint16(1980), + 495: uint16(1967), + 496: uint16(2005), + 497: uint16(1904), + 498: uint16(1932), + 499: uint16(2025), + 500: uint16(2030), + 501: uint16(2032), + 502: uint16(1921), + 503: uint16(1928), + 504: uint16(2035), + 505: uint16(1987), + 506: uint16(2036), + 507: uint16(2037), + 508: uint16(2038), + 509: uint16(2040), + 510: uint16(1988), + 511: uint16(2006), + 512: uint16(2039), + 513: uint16(1960), + 514: uint16(2041), + 515: uint16(2042), + 516: uint16(1999), + 517: uint16(2023), + 518: uint16(2044), + 519: uint16(2043), + 520: uint16(1919), + 521: uint16(2048), + 522: uint16(2049), + 523: uint16(2050), + 524: uint16(2046), + 525: uint16(2051), + 526: uint16(2053), + 527: uint16(1981), + 528: uint16(1935), + 529: uint16(2056), + 530: uint16(2057), + 531: uint16(1966), + 532: uint16(2047), + 533: uint16(2061), + 534: uint16(1941), + 535: uint16(2060), + 536: uint16(2052), + 537: uint16(2054), + 538: uint16(2055), + 539: uint16(2058), + 540: uint16(2003), + 541: uint16(2012), + 542: uint16(2007), + 543: uint16(2059), + 544: uint16(2015), + 545: uint16(2008), + 546: uint16(2062), + 547: uint16(2071), + 548: uint16(2073), + 549: uint16(2074), + 550: uint16(2072), + 551: uint16(2075), + 552: uint16(2065), + 553: uint16(1962), + 554: uint16(1964), + 555: uint16(2079), + 556: uint16(2060), + 557: uint16(2082), + 558: uint16(2084), + 559: uint16(2085), + 560: uint16(2087), + 561: uint16(2086), + 562: uint16(2089), + 563: uint16(2088), + 564: uint16(2091), + 565: uint16(2093), + 566: uint16(2099), + 567: uint16(2094), + 568: uint16(2095), + 569: uint16(2096), + 570: uint16(2097), + 571: uint16(2100), + 572: uint16(2101), + 573: uint16(2102), + 574: uint16(1998), + 575: uint16(1984), + 576: uint16(1985), + 577: uint16(2000), + 578: uint16(2103), + 579: uint16(2098), + 580: uint16(2109), + 581: uint16(2117), + 582: uint16(2128), +} +var _yy_reduce_ofst = [412]int16{ + 0: int16(-int32(71)), + 1: int16(194), + 2: int16(343), + 3: int16(835), + 4: int16(-int32(180)), + 5: int16(-int32(177)), + 6: int16(838), + 7: int16(-int32(194)), + 8: int16(-int32(188)), + 9: int16(-int32(185)), + 10: int16(-int32(183)), + 11: int16(82), + 12: int16(183), + 13: int16(-int32(65)), + 14: int16(133), + 15: int16(245), + 16: int16(346), + 17: int16(407), + 18: int16(458), + 19: int16(-int32(178)), + 20: int16(75), + 21: int16(-int32(275)), + 22: int16(-int32(4)), + 23: int16(310), + 24: int16(312), + 25: int16(489), + 26: int16(575), + 27: int16(596), + 28: int16(463), + 29: int16(686), + 30: int16(707), + 31: int16(725), + 32: int16(780), + 33: int16(1098), + 34: int16(856), + 35: int16(778), + 36: int16(1059), + 37: int16(1090), + 38: int16(708), + 39: int16(887), + 40: int16(86), + 41: int16(448), + 42: int16(980), + 43: int16(630), + 44: int16(680), + 45: int16(681), + 46: int16(684), + 47: int16(796), + 48: int16(801), + 49: int16(796), + 50: int16(801), + 51: int16(-int32(261)), + 52: int16(-int32(261)), + 53: int16(-int32(261)), + 54: int16(-int32(261)), + 55: int16(-int32(261)), + 56: int16(-int32(261)), + 57: int16(-int32(261)), + 58: int16(-int32(261)), + 59: int16(-int32(261)), + 60: int16(-int32(261)), + 61: int16(-int32(261)), + 62: int16(-int32(261)), + 63: int16(-int32(261)), + 64: int16(-int32(261)), + 65: int16(-int32(261)), + 66: int16(-int32(261)), + 67: int16(-int32(261)), + 68: int16(-int32(261)), + 69: int16(-int32(261)), + 70: int16(-int32(261)), + 71: int16(-int32(261)), + 72: int16(-int32(261)), + 73: int16(-int32(261)), + 74: int16(-int32(261)), + 75: int16(-int32(261)), + 76: int16(-int32(261)), + 77: int16(-int32(261)), + 78: int16(-int32(261)), + 79: int16(-int32(261)), + 80: int16(-int32(261)), + 81: int16(-int32(261)), + 82: int16(-int32(261)), + 83: int16(-int32(261)), + 84: int16(-int32(261)), + 85: int16(-int32(261)), + 86: int16(-int32(261)), + 87: int16(-int32(261)), + 88: int16(391), + 89: int16(886), + 90: int16(888), + 91: int16(1013), + 92: int16(1016), + 93: int16(1081), + 94: int16(1087), + 95: int16(1151), + 96: int16(1159), + 97: int16(1177), + 98: int16(1185), + 99: int16(1188), + 100: int16(1190), + 101: int16(1194), + 102: int16(1197), + 103: int16(1203), + 104: int16(1247), + 105: int16(1260), + 106: int16(1264), + 107: int16(1267), + 108: int16(1269), + 109: int16(1273), + 110: int16(1315), + 111: int16(1322), + 112: int16(1335), + 113: int16(1337), + 114: int16(1356), + 115: int16(1362), + 116: int16(1418), + 117: int16(1425), + 118: int16(1453), + 119: int16(1457), + 120: int16(1465), + 121: int16(1473), + 122: int16(1487), + 123: int16(1495), + 124: int16(1507), + 125: int16(1517), + 126: int16(1521), + 127: int16(1534), + 128: int16(1543), + 129: int16(1546), + 130: int16(1549), + 131: int16(1552), + 132: int16(1554), + 133: int16(1560), + 134: int16(1581), + 135: int16(1590), + 136: int16(1593), + 137: int16(1595), + 138: int16(1621), + 139: int16(1623), + 140: int16(-int32(261)), + 141: int16(-int32(261)), + 142: int16(-int32(261)), + 143: int16(-int32(261)), + 144: int16(-int32(261)), + 145: int16(-int32(261)), + 146: int16(-int32(261)), + 147: int16(-int32(261)), + 148: int16(-int32(261)), + 149: int16(-int32(261)), + 150: int16(-int32(261)), + 151: int16(-int32(186)), + 152: int16(-int32(117)), + 153: int16(260), + 154: int16(263), + 155: int16(460), + 156: int16(631), + 157: int16(-int32(74)), + 158: int16(497), + 159: int16(-int32(181)), + 160: int16(-int32(261)), + 161: int16(939), + 162: int16(176), + 163: int16(274), + 164: int16(338), + 165: int16(676), + 166: int16(-int32(261)), + 167: int16(-int32(261)), + 168: int16(-int32(261)), + 169: int16(-int32(261)), + 170: int16(-int32(212)), + 171: int16(-int32(212)), + 172: int16(-int32(212)), + 173: int16(-int32(184)), + 174: int16(149), + 175: int16(777), + 176: int16(1061), + 177: int16(1103), + 178: int16(265), + 179: int16(419), + 180: int16(-int32(254)), + 181: int16(670), + 182: int16(677), + 183: int16(677), + 184: int16(-int32(11)), + 185: int16(-int32(129)), + 186: int16(184), + 187: int16(488), + 188: int16(736), + 189: int16(789), + 190: int16(805), + 191: int16(844), + 192: int16(403), + 193: int16(529), + 194: int16(579), + 195: int16(668), + 196: int16(783), + 197: int16(841), + 198: int16(1158), + 199: int16(1112), + 200: int16(806), + 201: int16(861), + 202: int16(1095), + 203: int16(846), + 204: int16(839), + 205: int16(1031), + 206: int16(-int32(189)), + 207: int16(1077), + 208: int16(1080), + 209: int16(1116), + 210: int16(1084), + 211: int16(1156), + 212: int16(1139), + 213: int16(1221), + 214: int16(46), + 215: int16(1099), + 216: int16(1037), + 217: int16(1118), + 218: int16(1171), + 219: int16(1214), + 220: int16(1210), + 221: int16(1258), + 222: int16(-int32(210)), + 223: int16(-int32(190)), + 224: int16(-int32(176)), + 225: int16(-int32(115)), + 226: int16(117), + 227: int16(262), + 228: int16(376), + 229: int16(490), + 230: int16(511), + 231: int16(520), + 232: int16(618), + 233: int16(639), + 234: int16(743), + 235: int16(901), + 236: int16(907), + 237: int16(958), + 238: int16(1014), + 239: int16(1055), + 240: int16(1108), + 241: int16(1193), + 242: int16(1244), + 243: int16(720), + 244: int16(1248), + 245: int16(1277), + 246: int16(1324), + 247: int16(1347), + 248: int16(1417), + 249: int16(1431), + 250: int16(1432), + 251: int16(1440), + 252: int16(1451), + 253: int16(1452), + 254: int16(1463), + 255: int16(1478), + 256: int16(1286), + 257: int16(1350), + 258: int16(1369), + 259: int16(1490), + 260: int16(1498), + 261: int16(1501), + 262: int16(773), + 263: int16(1509), + 264: int16(1513), + 265: int16(1528), + 266: int16(1292), + 267: int16(1367), + 268: int16(1535), + 269: int16(1536), + 270: int16(1477), + 271: int16(1542), + 272: int16(376), + 273: int16(1547), + 274: int16(1550), + 275: int16(1555), + 276: int16(1559), + 277: int16(1568), + 278: int16(1571), + 279: int16(1441), + 280: int16(1443), + 281: int16(1474), + 282: int16(1511), + 283: int16(1516), + 284: int16(1519), + 285: int16(1522), + 286: int16(773), + 287: int16(1474), + 288: int16(1474), + 289: int16(1503), + 290: int16(1567), + 291: int16(1594), + 292: int16(1484), + 293: int16(1527), + 294: int16(1556), + 295: int16(1570), + 296: int16(1557), + 297: int16(1524), + 298: int16(1573), + 299: int16(1545), + 300: int16(1548), + 301: int16(1576), + 302: int16(1561), + 303: int16(1587), + 304: int16(1540), + 305: int16(1575), + 306: int16(1606), + 307: int16(1611), + 308: int16(1622), + 309: int16(1624), + 310: int16(1626), + 311: int16(1582), + 312: int16(1597), + 313: int16(1598), + 314: int16(1599), + 315: int16(1601), + 316: int16(1603), + 317: int16(1563), + 318: int16(1608), + 319: int16(1605), + 320: int16(1604), + 321: int16(1564), + 322: int16(1566), + 323: int16(1655), + 324: int16(1660), + 325: int16(1578), + 326: int16(1579), + 327: int16(1665), + 328: int16(1586), + 329: int16(1607), + 330: int16(1610), + 331: int16(1642), + 332: int16(1641), + 333: int16(1645), + 334: int16(1646), + 335: int16(1647), + 336: int16(1679), + 337: int16(1688), + 338: int16(1644), + 339: int16(1618), + 340: int16(1619), + 341: int16(1648), + 342: int16(1628), + 343: int16(1659), + 344: int16(1649), + 345: int16(1663), + 346: int16(1650), + 347: int16(1700), + 348: int16(1702), + 349: int16(1612), + 350: int16(1615), + 351: int16(1706), + 352: int16(1708), + 353: int16(1689), + 354: int16(1709), + 355: int16(1712), + 356: int16(1713), + 357: int16(1715), + 358: int16(1691), + 359: int16(1698), + 360: int16(1699), + 361: int16(1701), + 362: int16(1693), + 363: int16(1704), + 364: int16(1707), + 365: int16(1705), + 366: int16(1714), + 367: int16(1703), + 368: int16(1718), + 369: int16(1710), + 370: int16(1720), + 371: int16(1721), + 372: int16(1632), + 373: int16(1634), + 374: int16(1664), + 375: int16(1666), + 376: int16(1729), + 377: int16(1751), + 378: int16(1635), + 379: int16(1636), + 380: int16(1692), + 381: int16(1694), + 382: int16(1716), + 383: int16(1722), + 384: int16(1684), + 385: int16(1763), + 386: int16(1685), + 387: int16(1723), + 388: int16(1724), + 389: int16(1727), + 390: int16(1730), + 391: int16(1768), + 392: int16(1783), + 393: int16(1784), + 394: int16(1793), + 395: int16(1794), + 396: int16(1796), + 397: int16(1683), 398: int16(1686), - 399: int16(1738), - 400: int16(1728), - 401: int16(1733), - 402: int16(1736), - 403: int16(1737), - 404: int16(1740), - 405: int16(1726), - 406: int16(1730), - 407: int16(1742), - 408: int16(1743), - 409: int16(1748), - 410: int16(1753), -} -var _yy_default = [579]uint16{ - 0: uint16(1648), - 1: uint16(1648), - 2: uint16(1648), - 3: uint16(1478), - 4: uint16(1243), - 5: uint16(1354), - 6: uint16(1243), - 7: uint16(1243), - 8: uint16(1243), - 9: uint16(1478), - 10: uint16(1478), - 11: uint16(1478), - 12: uint16(1243), - 13: uint16(1384), - 14: uint16(1384), - 15: uint16(1531), - 16: uint16(1276), - 17: uint16(1243), - 18: uint16(1243), - 19: uint16(1243), - 20: uint16(1243), - 21: uint16(1243), - 22: uint16(1243), - 23: uint16(1243), - 24: uint16(1243), - 25: uint16(1243), - 26: uint16(1243), - 27: uint16(1243), - 28: uint16(1477), - 29: uint16(1243), - 30: uint16(1243), - 31: uint16(1243), - 32: uint16(1243), - 33: uint16(1564), - 34: uint16(1564), - 35: uint16(1243), - 36: uint16(1243), - 37: uint16(1243), - 38: uint16(1243), - 39: uint16(1243), - 40: uint16(1243), - 41: uint16(1243), - 42: uint16(1243), - 43: uint16(1393), - 44: uint16(1243), - 45: uint16(1400), - 46: uint16(1243), - 47: uint16(1243), - 48: uint16(1243), - 49: uint16(1243), - 50: uint16(1243), - 51: uint16(1479), - 52: uint16(1480), - 53: uint16(1243), - 54: uint16(1243), - 55: uint16(1243), - 56: uint16(1530), - 57: uint16(1532), - 58: uint16(1495), - 59: uint16(1407), - 60: uint16(1406), - 61: uint16(1405), - 62: uint16(1404), - 63: uint16(1513), - 64: uint16(1372), - 65: uint16(1398), - 66: uint16(1391), - 67: uint16(1395), - 68: uint16(1474), - 69: uint16(1475), - 70: uint16(1473), - 71: uint16(1626), - 72: uint16(1480), - 73: uint16(1479), - 74: uint16(1243), - 75: uint16(1394), - 76: uint16(1442), - 77: uint16(1458), - 78: uint16(1441), - 79: uint16(1243), - 80: uint16(1243), - 81: uint16(1243), - 82: uint16(1243), - 83: uint16(1243), - 84: uint16(1243), - 85: uint16(1243), - 86: uint16(1243), - 87: uint16(1243), - 88: uint16(1243), - 89: uint16(1243), - 90: uint16(1243), - 91: uint16(1243), - 92: uint16(1243), - 93: uint16(1243), - 94: uint16(1243), - 95: uint16(1243), - 96: uint16(1243), - 97: uint16(1243), - 98: uint16(1243), - 99: uint16(1243), - 100: uint16(1243), - 101: uint16(1243), - 102: uint16(1243), - 103: uint16(1243), - 104: uint16(1243), - 105: uint16(1243), - 106: uint16(1243), - 107: uint16(1243), - 108: uint16(1243), - 109: uint16(1243), - 110: uint16(1243), - 111: uint16(1243), - 112: uint16(1243), - 113: uint16(1243), - 114: uint16(1243), - 115: uint16(1243), - 116: uint16(1243), - 117: uint16(1243), - 118: uint16(1243), - 119: uint16(1243), - 120: uint16(1243), - 121: uint16(1243), - 122: uint16(1243), - 123: uint16(1243), - 124: uint16(1243), - 125: uint16(1243), - 126: uint16(1243), - 127: uint16(1243), - 128: uint16(1243), - 129: uint16(1243), - 130: uint16(1243), - 131: uint16(1450), - 132: uint16(1457), - 133: uint16(1456), - 134: uint16(1455), - 135: uint16(1464), - 136: uint16(1454), - 137: uint16(1451), - 138: uint16(1444), - 139: uint16(1443), - 140: uint16(1445), - 141: uint16(1446), - 142: uint16(1243), - 143: uint16(1243), - 144: uint16(1267), - 145: uint16(1243), - 146: uint16(1243), - 147: uint16(1264), - 148: uint16(1318), - 149: uint16(1243), - 150: uint16(1243), - 151: uint16(1243), - 152: uint16(1243), - 153: uint16(1243), - 154: uint16(1550), - 155: uint16(1549), - 156: uint16(1243), - 157: uint16(1447), - 158: uint16(1243), - 159: uint16(1276), - 160: uint16(1435), - 161: uint16(1434), - 162: uint16(1433), - 163: uint16(1461), - 164: uint16(1448), - 165: uint16(1460), - 166: uint16(1459), - 167: uint16(1538), - 168: uint16(1600), - 169: uint16(1599), - 170: uint16(1496), - 171: uint16(1243), - 172: uint16(1243), - 173: uint16(1243), - 174: uint16(1243), - 175: uint16(1243), - 176: uint16(1243), - 177: uint16(1564), - 178: uint16(1243), - 179: uint16(1243), - 180: uint16(1243), - 181: uint16(1243), - 182: uint16(1243), - 183: uint16(1243), - 184: uint16(1243), - 185: uint16(1243), - 186: uint16(1243), - 187: uint16(1243), - 188: uint16(1243), - 189: uint16(1243), - 190: uint16(1243), - 191: uint16(1243), - 192: uint16(1243), - 193: uint16(1243), - 194: uint16(1243), - 195: uint16(1243), - 196: uint16(1243), - 197: uint16(1243), - 198: uint16(1243), - 199: uint16(1243), - 200: uint16(1243), - 201: uint16(1374), - 202: uint16(1564), - 203: uint16(1564), - 204: uint16(1243), - 205: uint16(1276), - 206: uint16(1564), - 207: uint16(1564), - 208: uint16(1375), - 209: uint16(1375), - 210: uint16(1272), - 211: uint16(1272), - 212: uint16(1378), - 213: uint16(1243), - 214: uint16(1545), - 215: uint16(1345), - 216: uint16(1345), - 217: uint16(1345), - 218: uint16(1345), - 219: uint16(1354), - 220: uint16(1345), - 221: uint16(1243), - 222: uint16(1243), - 223: uint16(1243), - 224: uint16(1243), - 225: uint16(1243), - 226: uint16(1243), - 227: uint16(1243), - 228: uint16(1243), - 229: uint16(1243), - 230: uint16(1243), - 231: uint16(1243), - 232: uint16(1243), - 233: uint16(1243), - 234: uint16(1243), - 235: uint16(1243), - 236: uint16(1535), - 237: uint16(1533), - 238: uint16(1243), - 239: uint16(1243), - 240: uint16(1243), - 241: uint16(1243), - 242: uint16(1243), - 243: uint16(1243), - 244: uint16(1243), - 245: uint16(1243), - 246: uint16(1243), - 247: uint16(1243), - 248: uint16(1243), - 249: uint16(1243), - 250: uint16(1243), - 251: uint16(1243), - 252: uint16(1243), - 253: uint16(1243), - 254: uint16(1243), - 255: uint16(1243), - 256: uint16(1243), - 257: uint16(1243), - 258: uint16(1243), - 259: uint16(1243), - 260: uint16(1243), - 261: uint16(1243), - 262: uint16(1243), - 263: uint16(1243), - 264: uint16(1243), - 265: uint16(1350), - 266: uint16(1243), - 267: uint16(1243), - 268: uint16(1243), - 269: uint16(1243), - 270: uint16(1243), - 271: uint16(1243), - 272: uint16(1243), - 273: uint16(1243), - 274: uint16(1243), - 275: uint16(1243), - 276: uint16(1243), - 277: uint16(1593), - 278: uint16(1243), - 279: uint16(1508), - 280: uint16(1332), - 281: uint16(1350), - 282: uint16(1350), - 283: uint16(1350), - 284: uint16(1350), - 285: uint16(1352), - 286: uint16(1333), - 287: uint16(1331), - 288: uint16(1344), - 289: uint16(1277), - 290: uint16(1250), - 291: uint16(1640), - 292: uint16(1410), - 293: uint16(1399), - 294: uint16(1351), - 295: uint16(1399), - 296: uint16(1637), - 297: uint16(1397), + 399: int16(1690), + 400: int16(1782), + 401: int16(1779), + 402: int16(1780), + 403: int16(1781), + 404: int16(1785), + 405: int16(1788), + 406: int16(1774), + 407: int16(1775), + 408: int16(1786), + 409: int16(1787), + 410: int16(1789), + 411: int16(1798), +} +var _yy_default = [583]uint16{ + 0: uint16(1663), + 1: uint16(1663), + 2: uint16(1663), + 3: uint16(1491), + 4: uint16(1254), + 5: uint16(1367), + 6: uint16(1254), + 7: uint16(1254), + 8: uint16(1254), + 9: uint16(1254), + 10: uint16(1491), + 11: uint16(1491), + 12: uint16(1491), + 13: uint16(1254), + 14: uint16(1254), + 15: uint16(1254), + 16: uint16(1254), + 17: uint16(1254), + 18: uint16(1254), + 19: uint16(1397), + 20: uint16(1397), + 21: uint16(1544), + 22: uint16(1287), + 23: uint16(1254), + 24: uint16(1254), + 25: uint16(1254), + 26: uint16(1254), + 27: uint16(1254), + 28: uint16(1254), + 29: uint16(1254), + 30: uint16(1254), + 31: uint16(1254), + 32: uint16(1254), + 33: uint16(1254), + 34: uint16(1254), + 35: uint16(1490), + 36: uint16(1254), + 37: uint16(1254), + 38: uint16(1254), + 39: uint16(1254), + 40: uint16(1578), + 41: uint16(1578), + 42: uint16(1254), + 43: uint16(1254), + 44: uint16(1254), + 45: uint16(1254), + 46: uint16(1254), + 47: uint16(1563), + 48: uint16(1562), + 49: uint16(1254), + 50: uint16(1254), + 51: uint16(1254), + 52: uint16(1406), + 53: uint16(1254), + 54: uint16(1413), + 55: uint16(1254), + 56: uint16(1254), + 57: uint16(1254), + 58: uint16(1254), + 59: uint16(1254), + 60: uint16(1492), + 61: uint16(1493), + 62: uint16(1254), + 63: uint16(1254), + 64: uint16(1254), + 65: uint16(1543), + 66: uint16(1545), + 67: uint16(1508), + 68: uint16(1420), + 69: uint16(1419), + 70: uint16(1418), + 71: uint16(1417), + 72: uint16(1526), + 73: uint16(1385), + 74: uint16(1411), + 75: uint16(1404), + 76: uint16(1408), + 77: uint16(1487), + 78: uint16(1488), + 79: uint16(1486), + 80: uint16(1641), + 81: uint16(1493), + 82: uint16(1492), + 83: uint16(1254), + 84: uint16(1407), + 85: uint16(1455), + 86: uint16(1471), + 87: uint16(1454), + 88: uint16(1254), + 89: uint16(1254), + 90: uint16(1254), + 91: uint16(1254), + 92: uint16(1254), + 93: uint16(1254), + 94: uint16(1254), + 95: uint16(1254), + 96: uint16(1254), + 97: uint16(1254), + 98: uint16(1254), + 99: uint16(1254), + 100: uint16(1254), + 101: uint16(1254), + 102: uint16(1254), + 103: uint16(1254), + 104: uint16(1254), + 105: uint16(1254), + 106: uint16(1254), + 107: uint16(1254), + 108: uint16(1254), + 109: uint16(1254), + 110: uint16(1254), + 111: uint16(1254), + 112: uint16(1254), + 113: uint16(1254), + 114: uint16(1254), + 115: uint16(1254), + 116: uint16(1254), + 117: uint16(1254), + 118: uint16(1254), + 119: uint16(1254), + 120: uint16(1254), + 121: uint16(1254), + 122: uint16(1254), + 123: uint16(1254), + 124: uint16(1254), + 125: uint16(1254), + 126: uint16(1254), + 127: uint16(1254), + 128: uint16(1254), + 129: uint16(1254), + 130: uint16(1254), + 131: uint16(1254), + 132: uint16(1254), + 133: uint16(1254), + 134: uint16(1254), + 135: uint16(1254), + 136: uint16(1254), + 137: uint16(1254), + 138: uint16(1254), + 139: uint16(1254), + 140: uint16(1463), + 141: uint16(1470), + 142: uint16(1469), + 143: uint16(1468), + 144: uint16(1477), + 145: uint16(1467), + 146: uint16(1464), + 147: uint16(1457), + 148: uint16(1456), + 149: uint16(1458), + 150: uint16(1459), + 151: uint16(1278), + 152: uint16(1254), + 153: uint16(1275), + 154: uint16(1329), + 155: uint16(1254), + 156: uint16(1254), + 157: uint16(1254), + 158: uint16(1254), + 159: uint16(1254), + 160: uint16(1460), + 161: uint16(1287), + 162: uint16(1448), + 163: uint16(1447), + 164: uint16(1446), + 165: uint16(1254), + 166: uint16(1474), + 167: uint16(1461), + 168: uint16(1473), + 169: uint16(1472), + 170: uint16(1551), + 171: uint16(1615), + 172: uint16(1614), + 173: uint16(1509), + 174: uint16(1254), + 175: uint16(1254), + 176: uint16(1254), + 177: uint16(1254), + 178: uint16(1254), + 179: uint16(1254), + 180: uint16(1578), + 181: uint16(1254), + 182: uint16(1254), + 183: uint16(1254), + 184: uint16(1254), + 185: uint16(1254), + 186: uint16(1254), + 187: uint16(1254), + 188: uint16(1254), + 189: uint16(1254), + 190: uint16(1254), + 191: uint16(1254), + 192: uint16(1254), + 193: uint16(1254), + 194: uint16(1254), + 195: uint16(1254), + 196: uint16(1254), + 197: uint16(1254), + 198: uint16(1254), + 199: uint16(1254), + 200: uint16(1254), + 201: uint16(1254), + 202: uint16(1254), + 203: uint16(1387), + 204: uint16(1578), + 205: uint16(1578), + 206: uint16(1254), + 207: uint16(1287), + 208: uint16(1578), + 209: uint16(1578), + 210: uint16(1388), + 211: uint16(1388), + 212: uint16(1283), + 213: uint16(1283), + 214: uint16(1391), + 215: uint16(1558), + 216: uint16(1358), + 217: uint16(1358), + 218: uint16(1358), + 219: uint16(1358), + 220: uint16(1367), + 221: uint16(1358), + 222: uint16(1254), + 223: uint16(1254), + 224: uint16(1254), + 225: uint16(1254), + 226: uint16(1254), + 227: uint16(1254), + 228: uint16(1254), + 229: uint16(1254), + 230: uint16(1254), + 231: uint16(1254), + 232: uint16(1254), + 233: uint16(1254), + 234: uint16(1254), + 235: uint16(1254), + 236: uint16(1254), + 237: uint16(1548), + 238: uint16(1546), + 239: uint16(1254), + 240: uint16(1254), + 241: uint16(1254), + 242: uint16(1254), + 243: uint16(1254), + 244: uint16(1254), + 245: uint16(1254), + 246: uint16(1254), + 247: uint16(1254), + 248: uint16(1254), + 249: uint16(1254), + 250: uint16(1254), + 251: uint16(1254), + 252: uint16(1254), + 253: uint16(1254), + 254: uint16(1254), + 255: uint16(1254), + 256: uint16(1254), + 257: uint16(1254), + 258: uint16(1254), + 259: uint16(1254), + 260: uint16(1254), + 261: uint16(1254), + 262: uint16(1254), + 263: uint16(1254), + 264: uint16(1254), + 265: uint16(1254), + 266: uint16(1363), + 267: uint16(1254), + 268: uint16(1254), + 269: uint16(1254), + 270: uint16(1254), + 271: uint16(1254), + 272: uint16(1254), + 273: uint16(1254), + 274: uint16(1254), + 275: uint16(1254), + 276: uint16(1254), + 277: uint16(1254), + 278: uint16(1608), + 279: uint16(1254), + 280: uint16(1521), + 281: uint16(1343), + 282: uint16(1363), + 283: uint16(1363), + 284: uint16(1363), + 285: uint16(1363), + 286: uint16(1365), + 287: uint16(1344), + 288: uint16(1342), + 289: uint16(1357), + 290: uint16(1288), + 291: uint16(1261), + 292: uint16(1655), + 293: uint16(1423), + 294: uint16(1412), + 295: uint16(1364), + 296: uint16(1412), + 297: uint16(1652), 298: uint16(1410), - 299: uint16(1410), - 300: uint16(1397), + 299: uint16(1423), + 300: uint16(1423), 301: uint16(1410), - 302: uint16(1351), - 303: uint16(1637), - 304: uint16(1293), - 305: uint16(1615), - 306: uint16(1288), - 307: uint16(1384), - 308: uint16(1384), - 309: uint16(1384), - 310: uint16(1374), - 311: uint16(1374), - 312: uint16(1374), - 313: uint16(1374), - 314: uint16(1378), - 315: uint16(1378), - 316: uint16(1476), - 317: uint16(1351), - 318: uint16(1344), - 319: uint16(1243), - 320: uint16(1640), - 321: uint16(1640), - 322: uint16(1360), - 323: uint16(1360), - 324: uint16(1639), - 325: uint16(1639), - 326: uint16(1360), - 327: uint16(1496), - 328: uint16(1623), - 329: uint16(1419), - 330: uint16(1321), - 331: uint16(1327), - 332: uint16(1327), - 333: uint16(1327), - 334: uint16(1327), - 335: uint16(1360), - 336: uint16(1261), - 337: uint16(1397), - 338: uint16(1623), - 339: uint16(1623), - 340: uint16(1397), - 341: uint16(1419), - 342: uint16(1321), - 343: uint16(1397), - 344: uint16(1321), - 345: uint16(1397), - 346: uint16(1360), - 347: uint16(1261), - 348: uint16(1512), - 349: uint16(1634), - 350: uint16(1360), - 351: uint16(1261), - 352: uint16(1486), - 353: uint16(1360), - 354: uint16(1261), - 355: uint16(1360), - 356: uint16(1261), - 357: uint16(1486), - 358: uint16(1319), - 359: uint16(1319), - 360: uint16(1319), - 361: uint16(1308), - 362: uint16(1243), - 363: uint16(1243), - 364: uint16(1486), - 365: uint16(1319), - 366: uint16(1293), - 367: uint16(1319), - 368: uint16(1308), + 302: uint16(1423), + 303: uint16(1364), + 304: uint16(1652), + 305: uint16(1304), + 306: uint16(1630), + 307: uint16(1299), + 308: uint16(1397), + 309: uint16(1397), + 310: uint16(1397), + 311: uint16(1387), + 312: uint16(1387), + 313: uint16(1387), + 314: uint16(1387), + 315: uint16(1391), + 316: uint16(1391), + 317: uint16(1489), + 318: uint16(1364), + 319: uint16(1357), + 320: uint16(1254), + 321: uint16(1655), + 322: uint16(1655), + 323: uint16(1373), + 324: uint16(1373), + 325: uint16(1654), + 326: uint16(1654), + 327: uint16(1373), + 328: uint16(1509), + 329: uint16(1638), + 330: uint16(1432), + 331: uint16(1332), + 332: uint16(1338), + 333: uint16(1338), + 334: uint16(1338), + 335: uint16(1338), + 336: uint16(1373), + 337: uint16(1272), + 338: uint16(1410), + 339: uint16(1638), + 340: uint16(1638), + 341: uint16(1410), + 342: uint16(1432), + 343: uint16(1332), + 344: uint16(1410), + 345: uint16(1332), + 346: uint16(1410), + 347: uint16(1373), + 348: uint16(1272), + 349: uint16(1525), + 350: uint16(1649), + 351: uint16(1373), + 352: uint16(1272), + 353: uint16(1499), + 354: uint16(1373), + 355: uint16(1272), + 356: uint16(1373), + 357: uint16(1272), + 358: uint16(1499), + 359: uint16(1330), + 360: uint16(1330), + 361: uint16(1330), + 362: uint16(1319), + 363: uint16(1254), + 364: uint16(1254), + 365: uint16(1499), + 366: uint16(1330), + 367: uint16(1304), + 368: uint16(1330), 369: uint16(1319), - 370: uint16(1319), - 371: uint16(1582), - 372: uint16(1243), - 373: uint16(1490), - 374: uint16(1490), - 375: uint16(1486), - 376: uint16(1360), - 377: uint16(1574), - 378: uint16(1574), - 379: uint16(1387), - 380: uint16(1387), - 381: uint16(1392), - 382: uint16(1378), - 383: uint16(1481), - 384: uint16(1360), - 385: uint16(1243), - 386: uint16(1392), - 387: uint16(1390), - 388: uint16(1388), - 389: uint16(1397), - 390: uint16(1311), - 391: uint16(1596), - 392: uint16(1596), - 393: uint16(1592), - 394: uint16(1592), - 395: uint16(1592), - 396: uint16(1645), - 397: uint16(1645), - 398: uint16(1545), - 399: uint16(1608), - 400: uint16(1276), - 401: uint16(1276), - 402: uint16(1276), - 403: uint16(1276), - 404: uint16(1608), - 405: uint16(1295), - 406: uint16(1295), - 407: uint16(1277), - 408: uint16(1277), - 409: uint16(1276), - 410: uint16(1608), - 411: uint16(1243), - 412: uint16(1243), - 413: uint16(1243), - 414: uint16(1243), - 415: uint16(1243), - 416: uint16(1243), - 417: uint16(1603), - 418: uint16(1243), - 419: uint16(1540), - 420: uint16(1497), - 421: uint16(1364), - 422: uint16(1243), - 423: uint16(1243), - 424: uint16(1243), - 425: uint16(1243), - 426: uint16(1243), - 427: uint16(1243), - 428: uint16(1243), - 429: uint16(1243), - 430: uint16(1243), - 431: uint16(1243), - 432: uint16(1243), - 433: uint16(1243), - 434: uint16(1243), - 435: uint16(1243), - 436: uint16(1243), - 437: uint16(1243), - 438: uint16(1551), - 439: uint16(1243), - 440: uint16(1243), - 441: uint16(1243), - 442: uint16(1243), - 443: uint16(1243), - 444: uint16(1243), - 445: uint16(1243), - 446: uint16(1243), - 447: uint16(1243), - 448: uint16(1243), - 449: uint16(1424), - 450: uint16(1243), - 451: uint16(1246), - 452: uint16(1542), - 453: uint16(1243), - 454: uint16(1243), - 455: uint16(1243), - 456: uint16(1243), - 457: uint16(1243), - 458: uint16(1243), - 459: uint16(1243), - 460: uint16(1243), - 461: uint16(1401), - 462: uint16(1402), - 463: uint16(1365), - 464: uint16(1243), - 465: uint16(1243), - 466: uint16(1243), - 467: uint16(1243), - 468: uint16(1243), - 469: uint16(1243), - 470: uint16(1243), - 471: uint16(1416), - 472: uint16(1243), - 473: uint16(1243), - 474: uint16(1243), - 475: uint16(1411), - 476: uint16(1243), - 477: uint16(1243), - 478: uint16(1243), - 479: uint16(1243), - 480: uint16(1243), - 481: uint16(1243), - 482: uint16(1243), - 483: uint16(1243), - 484: uint16(1636), - 485: uint16(1243), - 486: uint16(1243), - 487: uint16(1243), - 488: uint16(1243), - 489: uint16(1243), - 490: uint16(1243), - 491: uint16(1511), - 492: uint16(1510), - 493: uint16(1243), - 494: uint16(1243), - 495: uint16(1362), - 496: uint16(1243), - 497: uint16(1243), - 498: uint16(1243), - 499: uint16(1243), - 500: uint16(1243), - 501: uint16(1243), - 502: uint16(1243), - 503: uint16(1243), - 504: uint16(1243), - 505: uint16(1243), - 506: uint16(1243), - 507: uint16(1243), - 508: uint16(1243), - 509: uint16(1291), - 510: uint16(1243), - 511: uint16(1243), - 512: uint16(1243), - 513: uint16(1243), - 514: uint16(1243), - 515: uint16(1243), - 516: uint16(1243), - 517: uint16(1243), - 518: uint16(1243), - 519: uint16(1243), - 520: uint16(1243), - 521: uint16(1243), - 522: uint16(1243), - 523: uint16(1243), - 524: uint16(1243), - 525: uint16(1243), - 526: uint16(1243), - 527: uint16(1243), - 528: uint16(1243), - 529: uint16(1243), - 530: uint16(1243), - 531: uint16(1243), - 532: uint16(1243), - 533: uint16(1389), - 534: uint16(1243), - 535: uint16(1243), - 536: uint16(1243), - 537: uint16(1243), - 538: uint16(1243), - 539: uint16(1243), - 540: uint16(1243), - 541: uint16(1243), - 542: uint16(1243), - 543: uint16(1243), - 544: uint16(1243), - 545: uint16(1243), - 546: uint16(1243), - 547: uint16(1243), - 548: uint16(1579), - 549: uint16(1379), - 550: uint16(1243), - 551: uint16(1243), - 552: uint16(1243), - 553: uint16(1243), - 554: uint16(1627), - 555: uint16(1243), - 556: uint16(1243), - 557: uint16(1243), - 558: uint16(1243), - 559: uint16(1243), - 560: uint16(1243), - 561: uint16(1243), - 562: uint16(1243), - 563: uint16(1243), - 564: uint16(1243), - 565: uint16(1243), - 566: uint16(1243), - 567: uint16(1243), - 568: uint16(1243), - 569: uint16(1619), - 570: uint16(1335), - 571: uint16(1425), - 572: uint16(1243), - 573: uint16(1428), - 574: uint16(1265), - 575: uint16(1243), - 576: uint16(1255), - 577: uint16(1243), - 578: uint16(1243), + 370: uint16(1330), + 371: uint16(1330), + 372: uint16(1596), + 373: uint16(1254), + 374: uint16(1503), + 375: uint16(1503), + 376: uint16(1499), + 377: uint16(1373), + 378: uint16(1588), + 379: uint16(1588), + 380: uint16(1400), + 381: uint16(1400), + 382: uint16(1405), + 383: uint16(1391), + 384: uint16(1494), + 385: uint16(1373), + 386: uint16(1254), + 387: uint16(1405), + 388: uint16(1403), + 389: uint16(1401), + 390: uint16(1410), + 391: uint16(1322), + 392: uint16(1611), + 393: uint16(1611), + 394: uint16(1607), + 395: uint16(1607), + 396: uint16(1607), + 397: uint16(1660), + 398: uint16(1660), + 399: uint16(1558), + 400: uint16(1623), + 401: uint16(1287), + 402: uint16(1287), + 403: uint16(1287), + 404: uint16(1287), + 405: uint16(1623), + 406: uint16(1306), + 407: uint16(1306), + 408: uint16(1288), + 409: uint16(1288), + 410: uint16(1287), + 411: uint16(1623), + 412: uint16(1254), + 413: uint16(1254), + 414: uint16(1254), + 415: uint16(1254), + 416: uint16(1254), + 417: uint16(1254), + 418: uint16(1618), + 419: uint16(1254), + 420: uint16(1553), + 421: uint16(1510), + 422: uint16(1377), + 423: uint16(1254), + 424: uint16(1254), + 425: uint16(1254), + 426: uint16(1254), + 427: uint16(1254), + 428: uint16(1254), + 429: uint16(1254), + 430: uint16(1254), + 431: uint16(1254), + 432: uint16(1254), + 433: uint16(1254), + 434: uint16(1254), + 435: uint16(1254), + 436: uint16(1254), + 437: uint16(1254), + 438: uint16(1254), + 439: uint16(1564), + 440: uint16(1254), + 441: uint16(1254), + 442: uint16(1254), + 443: uint16(1254), + 444: uint16(1254), + 445: uint16(1254), + 446: uint16(1254), + 447: uint16(1254), + 448: uint16(1254), + 449: uint16(1254), + 450: uint16(1254), + 451: uint16(1437), + 452: uint16(1254), + 453: uint16(1257), + 454: uint16(1555), + 455: uint16(1254), + 456: uint16(1254), + 457: uint16(1254), + 458: uint16(1254), + 459: uint16(1254), + 460: uint16(1254), + 461: uint16(1254), + 462: uint16(1254), + 463: uint16(1414), + 464: uint16(1415), + 465: uint16(1378), + 466: uint16(1254), + 467: uint16(1254), + 468: uint16(1254), + 469: uint16(1254), + 470: uint16(1254), + 471: uint16(1254), + 472: uint16(1254), + 473: uint16(1429), + 474: uint16(1254), + 475: uint16(1254), + 476: uint16(1254), + 477: uint16(1424), + 478: uint16(1254), + 479: uint16(1254), + 480: uint16(1254), + 481: uint16(1254), + 482: uint16(1254), + 483: uint16(1254), + 484: uint16(1254), + 485: uint16(1254), + 486: uint16(1651), + 487: uint16(1254), + 488: uint16(1254), + 489: uint16(1254), + 490: uint16(1254), + 491: uint16(1254), + 492: uint16(1254), + 493: uint16(1524), + 494: uint16(1523), + 495: uint16(1254), + 496: uint16(1254), + 497: uint16(1375), + 498: uint16(1254), + 499: uint16(1254), + 500: uint16(1254), + 501: uint16(1254), + 502: uint16(1254), + 503: uint16(1254), + 504: uint16(1254), + 505: uint16(1254), + 506: uint16(1254), + 507: uint16(1254), + 508: uint16(1254), + 509: uint16(1254), + 510: uint16(1254), + 511: uint16(1302), + 512: uint16(1254), + 513: uint16(1254), + 514: uint16(1254), + 515: uint16(1254), + 516: uint16(1254), + 517: uint16(1254), + 518: uint16(1254), + 519: uint16(1254), + 520: uint16(1254), + 521: uint16(1254), + 522: uint16(1254), + 523: uint16(1254), + 524: uint16(1254), + 525: uint16(1254), + 526: uint16(1254), + 527: uint16(1254), + 528: uint16(1254), + 529: uint16(1254), + 530: uint16(1254), + 531: uint16(1254), + 532: uint16(1254), + 533: uint16(1254), + 534: uint16(1254), + 535: uint16(1402), + 536: uint16(1254), + 537: uint16(1254), + 538: uint16(1254), + 539: uint16(1254), + 540: uint16(1254), + 541: uint16(1254), + 542: uint16(1254), + 543: uint16(1254), + 544: uint16(1254), + 545: uint16(1254), + 546: uint16(1254), + 547: uint16(1254), + 548: uint16(1254), + 549: uint16(1254), + 550: uint16(1593), + 551: uint16(1392), + 552: uint16(1254), + 553: uint16(1254), + 554: uint16(1254), + 555: uint16(1254), + 556: uint16(1642), + 557: uint16(1254), + 558: uint16(1254), + 559: uint16(1254), + 560: uint16(1254), + 561: uint16(1352), + 562: uint16(1254), + 563: uint16(1254), + 564: uint16(1254), + 565: uint16(1254), + 566: uint16(1254), + 567: uint16(1254), + 568: uint16(1254), + 569: uint16(1254), + 570: uint16(1254), + 571: uint16(1254), + 572: uint16(1254), + 573: uint16(1634), + 574: uint16(1346), + 575: uint16(1438), + 576: uint16(1254), + 577: uint16(1441), + 578: uint16(1276), + 579: uint16(1254), + 580: uint16(1266), + 581: uint16(1254), + 582: uint16(1254), } /********** End of lemon-generated parsing tables *****************************/ @@ -153207,7 +154575,7 @@ var _yy_default = [579]uint16{ // ** to revert to identifiers if they keyword does not apply in the context where // ** it appears. // */ -var _yyFallback = [185]uint16{ +var _yyFallback = [186]uint16{ 2: uint16(59), 3: uint16(59), 4: uint16(59), @@ -153320,8 +154688,9 @@ type yyStackEntry = TyyStackEntry type TyyParser1 = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser1 = TyyParser1 @@ -153329,14 +154698,46 @@ type yyParser1 = TyyParser1 type TyyParser = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser = TyyParser /* #include */ +// C documentation +// +// /* +// ** Try to increase the size of the parser stack. Return the number +// ** of errors. Return 0 on success. +// */ +func _yyGrowStack(tls *libc.TLS, p uintptr) (r int32) { + var idx, newSize, oldSize int32 + var pNew uintptr + _, _, _, _ = idx, newSize, oldSize, pNew + oldSize = int32(1) + int32((int64((*TyyParser)(unsafe.Pointer(p)).FyystackEnd)-int64((*TyyParser)(unsafe.Pointer(p)).Fyystack))/24) + newSize = oldSize*int32(2) + int32(100) + idx = int32((int64((*TyyParser)(unsafe.Pointer(p)).Fyytos) - int64((*TyyParser)(unsafe.Pointer(p)).Fyystack)) / 24) + if (*TyyParser)(unsafe.Pointer(p)).Fyystack == p+32 { + pNew = _parserStackRealloc(tls, uintptr(0), uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + libc.Xmemcpy(tls, pNew, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(oldSize)*uint64(24)) + } else { + pNew = _parserStackRealloc(tls, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + } + (*TyyParser)(unsafe.Pointer(p)).Fyystack = pNew + (*TyyParser)(unsafe.Pointer(p)).Fyytos = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(idx)*24 + (*TyyParser)(unsafe.Pointer(p)).FyystackEnd = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(newSize-int32(1))*24 + return 0 +} + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -153352,10 +154753,11 @@ func _sqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { _ = yypParser yypParser = yypRawParser (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fstateno = uint16(0) - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fmajor = uint16(0) - (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = yypParser + 16 + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack = yypParser + 32 + (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fstateno = uint16(0) + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fmajor = uint16(0) } // C documentation @@ -153383,103 +154785,105 @@ func _yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor u ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case int32(204): /* select */ + case int32(205): /* select */ + fallthrough + case int32(240): /* selectnowith */ fallthrough - case int32(239): /* selectnowith */ + case int32(241): /* oneselect */ fallthrough - case int32(240): /* oneselect */ + case int32(253): /* values */ fallthrough - case int32(252): /* values */ + case int32(255): /* mvalues */ _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(216): /* term */ + case int32(217): /* term */ fallthrough - case int32(217): /* expr */ + case int32(218): /* expr */ fallthrough - case int32(246): /* where_opt */ + case int32(247): /* where_opt */ fallthrough - case int32(248): /* having_opt */ + case int32(249): /* having_opt */ fallthrough - case int32(267): /* where_opt_ret */ + case int32(269): /* where_opt_ret */ fallthrough - case int32(278): /* case_operand */ + case int32(280): /* case_operand */ fallthrough - case int32(280): /* case_else */ + case int32(282): /* case_else */ fallthrough - case int32(283): /* vinto */ + case int32(285): /* vinto */ fallthrough - case int32(290): /* when_clause */ + case int32(292): /* when_clause */ fallthrough - case int32(295): /* key_opt */ + case int32(297): /* key_opt */ fallthrough - case int32(311): /* filter_clause */ + case int32(314): /* filter_clause */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(221): /* eidlist_opt */ + case int32(222): /* eidlist_opt */ fallthrough - case int32(231): /* sortlist */ + case int32(232): /* sortlist */ fallthrough - case int32(232): /* eidlist */ + case int32(233): /* eidlist */ fallthrough - case int32(244): /* selcollist */ + case int32(245): /* selcollist */ fallthrough - case int32(247): /* groupby_opt */ + case int32(248): /* groupby_opt */ fallthrough - case int32(249): /* orderby_opt */ + case int32(250): /* orderby_opt */ fallthrough - case int32(253): /* nexprlist */ + case int32(254): /* nexprlist */ fallthrough - case int32(254): /* sclp */ + case int32(256): /* sclp */ fallthrough - case int32(261): /* exprlist */ + case int32(263): /* exprlist */ fallthrough - case int32(268): /* setlist */ + case int32(270): /* setlist */ fallthrough - case int32(277): /* paren_exprlist */ + case int32(279): /* paren_exprlist */ fallthrough - case int32(279): /* case_exprlist */ + case int32(281): /* case_exprlist */ fallthrough - case int32(310): /* part_opt */ + case int32(313): /* part_opt */ _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(238): /* fullname */ + case int32(239): /* fullname */ fallthrough - case int32(245): /* from */ + case int32(246): /* from */ fallthrough - case int32(256): /* seltablist */ + case int32(258): /* seltablist */ fallthrough - case int32(257): /* stl_prefix */ + case int32(259): /* stl_prefix */ fallthrough - case int32(262): /* xfullname */ + case int32(264): /* xfullname */ _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(241): /* wqlist */ + case int32(242): /* wqlist */ _sqlite3WithDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(251): /* window_clause */ + case int32(252): /* window_clause */ fallthrough - case int32(306): /* windowdefn_list */ + case int32(309): /* windowdefn_list */ _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(263): /* idlist */ + case int32(265): /* idlist */ fallthrough - case int32(270): /* idlist_opt */ + case int32(272): /* idlist_opt */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(273): /* filter_over */ + case int32(275): /* filter_over */ fallthrough - case int32(307): /* windowdefn */ + case int32(310): /* windowdefn */ fallthrough - case int32(308): /* window */ + case int32(311): /* window */ fallthrough - case int32(309): /* frame_opt */ + case int32(312): /* frame_opt */ fallthrough - case int32(312): /* over_clause */ + case int32(315): /* over_clause */ _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(286): /* trigger_cmd_list */ + case int32(288): /* trigger_cmd_list */ fallthrough - case int32(291): /* trigger_cmd */ + case int32(293): /* trigger_cmd */ _sqlite3DeleteTriggerStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(288): /* trigger_event */ + case int32(290): /* trigger_event */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TTrigEvent)(unsafe.Pointer(yypminor))).Fb) - case int32(314): /* frame_bound */ + case int32(317): /* frame_bound */ fallthrough - case int32(315): /* frame_bound_s */ + case int32(318): /* frame_bound_s */ fallthrough - case int32(316): /* frame_bound_e */ + case int32(319): /* frame_bound_e */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TFrameBound)(unsafe.Pointer(yypminor))).FpExpr) break /********* End destructor definitions *****************************************/ @@ -153513,11 +154917,20 @@ func _yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var pParser, yytos uintptr + _, _ = pParser, yytos pParser = p - for (*TyyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { - _yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling yy_pop_parser_stack() for each + ** element left in the stack */ + yytos = (*TyyParser)(unsafe.Pointer(pParser)).Fyytos + for yytos > (*TyyParser)(unsafe.Pointer(pParser)).Fyystack { + if int32((*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor) >= int32(YY_MIN_DSTRCTR) { + _yy_destructor(tls, pParser, (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor, yytos+8) + } + yytos -= 24 + } + if (*TyyParser)(unsafe.Pointer(pParser)).Fyystack != pParser+32 { + Xsqlite3_free(tls, (*TyyParser)(unsafe.Pointer(pParser)).Fyystack) } } @@ -153598,13 +155011,13 @@ func _yyStackOverflow(tls *libc.TLS, yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*TyyParser)(unsafe.Pointer(yypParser)).FpParse - for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { + for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack { _yy_pop_parser_stack(tls, yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23368, 0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) /******** End %stack_overflow code ********************************************/ /* Suppress warning about unused %extra_argument var */ (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -153623,15 +155036,18 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint var yytos uintptr _ = yytos (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 - if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 - _yyStackOverflow(tls, yypParser) - return + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + if yytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { + if _yyGrowStack(tls, yypParser) != 0 { + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 + _yyStackOverflow(tls, yypParser) + return + } + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos } if int32(yyNewState) > int32(YY_MAX_SHIFT) { yyNewState = uint16(int32(yyNewState) + (libc.Int32FromInt32(YY_MIN_REDUCE) - libc.Int32FromInt32(YY_MIN_SHIFTREDUCE))) } - yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos (*TyyStackEntry)(unsafe.Pointer(yytos)).Fstateno = yyNewState (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor = yyMajor *(*TToken)(unsafe.Pointer(yytos + 8)) = yyMinor @@ -153641,419 +155057,423 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint // // /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side // ** of that rule */ -var _yyRuleInfoLhs = [405]uint16{ - 0: uint16(189), - 1: uint16(189), - 2: uint16(188), - 3: uint16(190), - 4: uint16(191), - 5: uint16(191), - 6: uint16(191), - 7: uint16(191), - 8: uint16(190), - 9: uint16(190), - 10: uint16(190), - 11: uint16(190), - 12: uint16(190), - 13: uint16(195), - 14: uint16(197), - 15: uint16(199), - 16: uint16(199), - 17: uint16(198), - 18: uint16(198), - 19: uint16(196), - 20: uint16(196), - 21: uint16(203), - 22: uint16(203), - 23: uint16(205), - 24: uint16(205), - 25: uint16(206), - 26: uint16(208), - 27: uint16(208), - 28: uint16(208), - 29: uint16(209), - 30: uint16(213), - 31: uint16(214), - 32: uint16(215), - 33: uint16(215), - 34: uint16(215), - 35: uint16(215), - 36: uint16(215), - 37: uint16(215), - 38: uint16(215), - 39: uint16(215), - 40: uint16(215), - 41: uint16(215), - 42: uint16(215), - 43: uint16(215), - 44: uint16(215), - 45: uint16(224), - 46: uint16(224), - 47: uint16(220), - 48: uint16(220), - 49: uint16(222), - 50: uint16(222), - 51: uint16(225), - 52: uint16(225), - 53: uint16(225), - 54: uint16(225), - 55: uint16(226), - 56: uint16(226), - 57: uint16(226), - 58: uint16(226), - 59: uint16(226), - 60: uint16(223), - 61: uint16(223), - 62: uint16(227), - 63: uint16(227), - 64: uint16(227), - 65: uint16(202), - 66: uint16(229), - 67: uint16(230), - 68: uint16(230), - 69: uint16(230), - 70: uint16(230), - 71: uint16(230), - 72: uint16(233), - 73: uint16(218), - 74: uint16(218), - 75: uint16(234), - 76: uint16(234), - 77: uint16(235), - 78: uint16(235), - 79: uint16(190), - 80: uint16(237), - 81: uint16(237), - 82: uint16(190), - 83: uint16(190), - 84: uint16(190), - 85: uint16(204), - 86: uint16(204), - 87: uint16(204), - 88: uint16(239), - 89: uint16(242), - 90: uint16(242), - 91: uint16(242), - 92: uint16(240), - 93: uint16(240), - 94: uint16(252), - 95: uint16(252), - 96: uint16(243), - 97: uint16(243), - 98: uint16(243), - 99: uint16(254), +var _yyRuleInfoLhs = [409]uint16{ + 0: uint16(190), + 1: uint16(190), + 2: uint16(189), + 3: uint16(191), + 4: uint16(192), + 5: uint16(192), + 6: uint16(192), + 7: uint16(192), + 8: uint16(191), + 9: uint16(191), + 10: uint16(191), + 11: uint16(191), + 12: uint16(191), + 13: uint16(196), + 14: uint16(198), + 15: uint16(200), + 16: uint16(200), + 17: uint16(199), + 18: uint16(199), + 19: uint16(197), + 20: uint16(197), + 21: uint16(204), + 22: uint16(204), + 23: uint16(206), + 24: uint16(206), + 25: uint16(207), + 26: uint16(209), + 27: uint16(209), + 28: uint16(209), + 29: uint16(210), + 30: uint16(214), + 31: uint16(215), + 32: uint16(216), + 33: uint16(216), + 34: uint16(216), + 35: uint16(216), + 36: uint16(216), + 37: uint16(216), + 38: uint16(216), + 39: uint16(216), + 40: uint16(216), + 41: uint16(216), + 42: uint16(216), + 43: uint16(216), + 44: uint16(216), + 45: uint16(225), + 46: uint16(225), + 47: uint16(221), + 48: uint16(221), + 49: uint16(223), + 50: uint16(223), + 51: uint16(226), + 52: uint16(226), + 53: uint16(226), + 54: uint16(226), + 55: uint16(227), + 56: uint16(227), + 57: uint16(227), + 58: uint16(227), + 59: uint16(227), + 60: uint16(224), + 61: uint16(224), + 62: uint16(228), + 63: uint16(228), + 64: uint16(228), + 65: uint16(203), + 66: uint16(230), + 67: uint16(231), + 68: uint16(231), + 69: uint16(231), + 70: uint16(231), + 71: uint16(231), + 72: uint16(234), + 73: uint16(219), + 74: uint16(219), + 75: uint16(235), + 76: uint16(235), + 77: uint16(236), + 78: uint16(236), + 79: uint16(191), + 80: uint16(238), + 81: uint16(238), + 82: uint16(191), + 83: uint16(191), + 84: uint16(191), + 85: uint16(205), + 86: uint16(205), + 87: uint16(205), + 88: uint16(240), + 89: uint16(243), + 90: uint16(243), + 91: uint16(243), + 92: uint16(241), + 93: uint16(241), + 94: uint16(253), + 95: uint16(241), + 96: uint16(255), + 97: uint16(255), + 98: uint16(244), + 99: uint16(244), 100: uint16(244), - 101: uint16(244), - 102: uint16(244), - 103: uint16(255), - 104: uint16(255), - 105: uint16(245), - 106: uint16(245), - 107: uint16(257), - 108: uint16(257), - 109: uint16(256), - 110: uint16(256), - 111: uint16(256), - 112: uint16(256), - 113: uint16(256), - 114: uint16(200), - 115: uint16(200), - 116: uint16(238), - 117: uint16(238), - 118: uint16(262), - 119: uint16(262), - 120: uint16(262), - 121: uint16(262), - 122: uint16(258), - 123: uint16(258), - 124: uint16(258), - 125: uint16(258), - 126: uint16(259), - 127: uint16(259), - 128: uint16(259), - 129: uint16(264), - 130: uint16(260), - 131: uint16(260), - 132: uint16(249), - 133: uint16(249), - 134: uint16(231), - 135: uint16(231), - 136: uint16(219), - 137: uint16(219), - 138: uint16(219), - 139: uint16(265), - 140: uint16(265), - 141: uint16(265), - 142: uint16(247), - 143: uint16(247), + 101: uint16(256), + 102: uint16(245), + 103: uint16(245), + 104: uint16(245), + 105: uint16(257), + 106: uint16(257), + 107: uint16(246), + 108: uint16(246), + 109: uint16(259), + 110: uint16(259), + 111: uint16(258), + 112: uint16(258), + 113: uint16(258), + 114: uint16(258), + 115: uint16(258), + 116: uint16(201), + 117: uint16(201), + 118: uint16(239), + 119: uint16(239), + 120: uint16(264), + 121: uint16(264), + 122: uint16(264), + 123: uint16(264), + 124: uint16(260), + 125: uint16(260), + 126: uint16(260), + 127: uint16(260), + 128: uint16(261), + 129: uint16(261), + 130: uint16(261), + 131: uint16(266), + 132: uint16(262), + 133: uint16(262), + 134: uint16(250), + 135: uint16(250), + 136: uint16(232), + 137: uint16(232), + 138: uint16(220), + 139: uint16(220), + 140: uint16(220), + 141: uint16(267), + 142: uint16(267), + 143: uint16(267), 144: uint16(248), 145: uint16(248), - 146: uint16(250), - 147: uint16(250), - 148: uint16(250), - 149: uint16(250), - 150: uint16(190), - 151: uint16(246), - 152: uint16(246), - 153: uint16(267), - 154: uint16(267), - 155: uint16(267), - 156: uint16(267), - 157: uint16(190), - 158: uint16(268), - 159: uint16(268), - 160: uint16(268), - 161: uint16(268), - 162: uint16(190), - 163: uint16(190), - 164: uint16(271), - 165: uint16(271), - 166: uint16(271), - 167: uint16(271), - 168: uint16(271), - 169: uint16(271), - 170: uint16(272), - 171: uint16(269), - 172: uint16(269), - 173: uint16(270), - 174: uint16(270), - 175: uint16(263), - 176: uint16(263), - 177: uint16(217), - 178: uint16(217), - 179: uint16(217), - 180: uint16(217), - 181: uint16(216), - 182: uint16(216), - 183: uint16(216), + 146: uint16(249), + 147: uint16(249), + 148: uint16(251), + 149: uint16(251), + 150: uint16(251), + 151: uint16(251), + 152: uint16(191), + 153: uint16(247), + 154: uint16(247), + 155: uint16(269), + 156: uint16(269), + 157: uint16(269), + 158: uint16(269), + 159: uint16(191), + 160: uint16(270), + 161: uint16(270), + 162: uint16(270), + 163: uint16(270), + 164: uint16(191), + 165: uint16(191), + 166: uint16(273), + 167: uint16(273), + 168: uint16(273), + 169: uint16(273), + 170: uint16(273), + 171: uint16(273), + 172: uint16(274), + 173: uint16(271), + 174: uint16(271), + 175: uint16(272), + 176: uint16(272), + 177: uint16(265), + 178: uint16(265), + 179: uint16(218), + 180: uint16(218), + 181: uint16(218), + 182: uint16(218), + 183: uint16(217), 184: uint16(217), 185: uint16(217), - 186: uint16(217), - 187: uint16(217), - 188: uint16(217), - 189: uint16(217), - 190: uint16(217), - 191: uint16(217), - 192: uint16(217), - 193: uint16(216), - 194: uint16(217), + 186: uint16(218), + 187: uint16(218), + 188: uint16(218), + 189: uint16(218), + 190: uint16(218), + 191: uint16(218), + 192: uint16(218), + 193: uint16(218), + 194: uint16(218), 195: uint16(217), - 196: uint16(217), - 197: uint16(217), - 198: uint16(217), - 199: uint16(217), - 200: uint16(217), - 201: uint16(217), - 202: uint16(217), - 203: uint16(274), - 204: uint16(217), - 205: uint16(217), - 206: uint16(217), - 207: uint16(217), - 208: uint16(217), - 209: uint16(217), - 210: uint16(217), - 211: uint16(217), - 212: uint16(217), - 213: uint16(217), - 214: uint16(217), - 215: uint16(217), - 216: uint16(275), - 217: uint16(275), - 218: uint16(217), - 219: uint16(276), - 220: uint16(276), - 221: uint16(217), - 222: uint16(217), - 223: uint16(217), - 224: uint16(217), - 225: uint16(217), - 226: uint16(217), - 227: uint16(279), - 228: uint16(279), - 229: uint16(280), - 230: uint16(280), - 231: uint16(278), - 232: uint16(261), - 233: uint16(253), - 234: uint16(253), - 235: uint16(277), - 236: uint16(277), - 237: uint16(190), - 238: uint16(281), - 239: uint16(281), - 240: uint16(221), - 241: uint16(221), - 242: uint16(232), - 243: uint16(232), - 244: uint16(282), - 245: uint16(282), - 246: uint16(190), - 247: uint16(190), - 248: uint16(190), - 249: uint16(283), - 250: uint16(283), - 251: uint16(190), - 252: uint16(190), - 253: uint16(190), - 254: uint16(190), - 255: uint16(190), - 256: uint16(211), - 257: uint16(212), - 258: uint16(190), - 259: uint16(285), - 260: uint16(287), + 196: uint16(218), + 197: uint16(218), + 198: uint16(218), + 199: uint16(218), + 200: uint16(218), + 201: uint16(218), + 202: uint16(218), + 203: uint16(218), + 204: uint16(218), + 205: uint16(276), + 206: uint16(218), + 207: uint16(218), + 208: uint16(218), + 209: uint16(218), + 210: uint16(218), + 211: uint16(218), + 212: uint16(218), + 213: uint16(218), + 214: uint16(218), + 215: uint16(218), + 216: uint16(218), + 217: uint16(218), + 218: uint16(277), + 219: uint16(277), + 220: uint16(218), + 221: uint16(278), + 222: uint16(278), + 223: uint16(218), + 224: uint16(218), + 225: uint16(218), + 226: uint16(218), + 227: uint16(218), + 228: uint16(218), + 229: uint16(281), + 230: uint16(281), + 231: uint16(282), + 232: uint16(282), + 233: uint16(280), + 234: uint16(263), + 235: uint16(254), + 236: uint16(254), + 237: uint16(279), + 238: uint16(279), + 239: uint16(191), + 240: uint16(283), + 241: uint16(283), + 242: uint16(222), + 243: uint16(222), + 244: uint16(233), + 245: uint16(233), + 246: uint16(284), + 247: uint16(284), + 248: uint16(191), + 249: uint16(191), + 250: uint16(191), + 251: uint16(285), + 252: uint16(285), + 253: uint16(191), + 254: uint16(191), + 255: uint16(191), + 256: uint16(191), + 257: uint16(191), + 258: uint16(212), + 259: uint16(213), + 260: uint16(191), 261: uint16(287), - 262: uint16(287), - 263: uint16(288), - 264: uint16(288), - 265: uint16(288), + 262: uint16(289), + 263: uint16(289), + 264: uint16(289), + 265: uint16(290), 266: uint16(290), 267: uint16(290), - 268: uint16(286), - 269: uint16(286), - 270: uint16(292), - 271: uint16(293), - 272: uint16(293), - 273: uint16(291), - 274: uint16(291), - 275: uint16(291), - 276: uint16(291), - 277: uint16(217), - 278: uint16(217), - 279: uint16(236), - 280: uint16(236), - 281: uint16(236), - 282: uint16(190), - 283: uint16(190), - 284: uint16(190), - 285: uint16(295), - 286: uint16(295), - 287: uint16(190), - 288: uint16(190), - 289: uint16(190), - 290: uint16(190), - 291: uint16(190), - 292: uint16(190), - 293: uint16(190), - 294: uint16(296), - 295: uint16(190), - 296: uint16(190), - 297: uint16(190), - 298: uint16(298), - 299: uint16(300), - 300: uint16(301), - 301: uint16(301), - 302: uint16(302), - 303: uint16(266), - 304: uint16(266), - 305: uint16(305), - 306: uint16(305), - 307: uint16(305), - 308: uint16(304), - 309: uint16(241), - 310: uint16(241), - 311: uint16(306), - 312: uint16(307), - 313: uint16(308), - 314: uint16(308), - 315: uint16(308), - 316: uint16(308), - 317: uint16(308), - 318: uint16(309), - 319: uint16(309), - 320: uint16(309), - 321: uint16(313), - 322: uint16(315), - 323: uint16(315), + 268: uint16(292), + 269: uint16(292), + 270: uint16(288), + 271: uint16(288), + 272: uint16(294), + 273: uint16(295), + 274: uint16(295), + 275: uint16(293), + 276: uint16(293), + 277: uint16(293), + 278: uint16(293), + 279: uint16(218), + 280: uint16(218), + 281: uint16(237), + 282: uint16(237), + 283: uint16(237), + 284: uint16(191), + 285: uint16(191), + 286: uint16(191), + 287: uint16(297), + 288: uint16(297), + 289: uint16(191), + 290: uint16(191), + 291: uint16(191), + 292: uint16(191), + 293: uint16(191), + 294: uint16(191), + 295: uint16(191), + 296: uint16(298), + 297: uint16(191), + 298: uint16(191), + 299: uint16(191), + 300: uint16(300), + 301: uint16(302), + 302: uint16(303), + 303: uint16(303), + 304: uint16(304), + 305: uint16(268), + 306: uint16(268), + 307: uint16(307), + 308: uint16(307), + 309: uint16(307), + 310: uint16(306), + 311: uint16(308), + 312: uint16(242), + 313: uint16(242), + 314: uint16(309), + 315: uint16(310), + 316: uint16(311), + 317: uint16(311), + 318: uint16(311), + 319: uint16(311), + 320: uint16(311), + 321: uint16(312), + 322: uint16(312), + 323: uint16(312), 324: uint16(316), - 325: uint16(316), - 326: uint16(314), - 327: uint16(314), - 328: uint16(317), + 325: uint16(318), + 326: uint16(318), + 327: uint16(319), + 328: uint16(319), 329: uint16(317), - 330: uint16(318), - 331: uint16(318), - 332: uint16(318), - 333: uint16(251), - 334: uint16(273), - 335: uint16(273), - 336: uint16(273), - 337: uint16(312), - 338: uint16(312), - 339: uint16(311), - 340: uint16(185), - 341: uint16(186), - 342: uint16(186), - 343: uint16(187), - 344: uint16(187), + 330: uint16(317), + 331: uint16(320), + 332: uint16(320), + 333: uint16(321), + 334: uint16(321), + 335: uint16(321), + 336: uint16(252), + 337: uint16(275), + 338: uint16(275), + 339: uint16(275), + 340: uint16(315), + 341: uint16(315), + 342: uint16(314), + 343: uint16(217), + 344: uint16(186), 345: uint16(187), - 346: uint16(192), - 347: uint16(192), - 348: uint16(192), - 349: uint16(194), - 350: uint16(194), - 351: uint16(190), - 352: uint16(203), - 353: uint16(201), - 354: uint16(201), - 355: uint16(193), - 356: uint16(193), - 357: uint16(208), - 358: uint16(209), - 359: uint16(210), - 360: uint16(210), - 361: uint16(207), - 362: uint16(207), - 363: uint16(215), - 364: uint16(215), - 365: uint16(215), - 366: uint16(202), - 367: uint16(228), - 368: uint16(228), - 369: uint16(229), - 370: uint16(233), - 371: uint16(235), - 372: uint16(239), - 373: uint16(240), - 374: uint16(254), - 375: uint16(255), - 376: uint16(264), - 377: uint16(272), - 378: uint16(217), - 379: uint16(274), - 380: uint16(278), - 381: uint16(261), - 382: uint16(284), - 383: uint16(284), - 384: uint16(284), - 385: uint16(284), - 386: uint16(284), - 387: uint16(211), - 388: uint16(289), - 389: uint16(289), - 390: uint16(292), - 391: uint16(293), - 392: uint16(294), - 393: uint16(294), - 394: uint16(297), - 395: uint16(297), - 396: uint16(299), - 397: uint16(299), - 398: uint16(300), - 399: uint16(303), - 400: uint16(303), - 401: uint16(303), - 402: uint16(266), - 403: uint16(306), - 404: uint16(308), + 346: uint16(187), + 347: uint16(188), + 348: uint16(188), + 349: uint16(188), + 350: uint16(193), + 351: uint16(193), + 352: uint16(193), + 353: uint16(195), + 354: uint16(195), + 355: uint16(191), + 356: uint16(204), + 357: uint16(202), + 358: uint16(202), + 359: uint16(194), + 360: uint16(194), + 361: uint16(209), + 362: uint16(210), + 363: uint16(211), + 364: uint16(211), + 365: uint16(208), + 366: uint16(208), + 367: uint16(216), + 368: uint16(216), + 369: uint16(216), + 370: uint16(203), + 371: uint16(229), + 372: uint16(229), + 373: uint16(230), + 374: uint16(234), + 375: uint16(236), + 376: uint16(240), + 377: uint16(241), + 378: uint16(256), + 379: uint16(257), + 380: uint16(266), + 381: uint16(274), + 382: uint16(218), + 383: uint16(276), + 384: uint16(280), + 385: uint16(263), + 386: uint16(286), + 387: uint16(286), + 388: uint16(286), + 389: uint16(286), + 390: uint16(286), + 391: uint16(212), + 392: uint16(291), + 393: uint16(291), + 394: uint16(294), + 395: uint16(295), + 396: uint16(296), + 397: uint16(296), + 398: uint16(299), + 399: uint16(299), + 400: uint16(301), + 401: uint16(301), + 402: uint16(302), + 403: uint16(305), + 404: uint16(305), + 405: uint16(305), + 406: uint16(268), + 407: uint16(309), + 408: uint16(311), } // C documentation // // /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number // ** of symbols on the right-hand side of that rule. */ -var _yyRuleInfoNRhs = [405]int8{ +var _yyRuleInfoNRhs = [409]int8{ 0: int8(-int32(1)), 1: int8(-int32(3)), 2: int8(-int32(1)), @@ -154134,273 +155554,277 @@ var _yyRuleInfoNRhs = [405]int8{ 92: int8(-int32(9)), 93: int8(-int32(10)), 94: int8(-int32(4)), - 95: int8(-int32(5)), - 96: int8(-int32(1)), - 97: int8(-int32(1)), - 100: int8(-int32(5)), - 101: int8(-int32(3)), + 95: int8(-int32(1)), + 96: int8(-int32(5)), + 97: int8(-int32(5)), + 98: int8(-int32(1)), + 99: int8(-int32(1)), 102: int8(-int32(5)), - 103: int8(-int32(2)), - 106: int8(-int32(2)), - 107: int8(-int32(2)), - 109: int8(-int32(5)), - 110: int8(-int32(6)), - 111: int8(-int32(8)), + 103: int8(-int32(3)), + 104: int8(-int32(5)), + 105: int8(-int32(2)), + 108: int8(-int32(2)), + 109: int8(-int32(2)), + 111: int8(-int32(5)), 112: int8(-int32(6)), - 113: int8(-int32(6)), - 115: int8(-int32(2)), - 116: int8(-int32(1)), - 117: int8(-int32(3)), + 113: int8(-int32(8)), + 114: int8(-int32(6)), + 115: int8(-int32(6)), + 117: int8(-int32(2)), 118: int8(-int32(1)), 119: int8(-int32(3)), - 120: int8(-int32(5)), + 120: int8(-int32(1)), 121: int8(-int32(3)), - 122: int8(-int32(1)), - 123: int8(-int32(2)), - 124: int8(-int32(3)), - 125: int8(-int32(4)), - 126: int8(-int32(2)), + 122: int8(-int32(5)), + 123: int8(-int32(3)), + 124: int8(-int32(1)), + 125: int8(-int32(2)), + 126: int8(-int32(3)), 127: int8(-int32(4)), - 130: int8(-int32(3)), - 131: int8(-int32(2)), - 133: int8(-int32(3)), - 134: int8(-int32(5)), + 128: int8(-int32(2)), + 129: int8(-int32(4)), + 132: int8(-int32(3)), + 133: int8(-int32(2)), 135: int8(-int32(3)), - 136: int8(-int32(1)), - 137: int8(-int32(1)), - 139: int8(-int32(2)), - 140: int8(-int32(2)), - 143: int8(-int32(3)), - 145: int8(-int32(2)), + 136: int8(-int32(5)), + 137: int8(-int32(3)), + 138: int8(-int32(1)), + 139: int8(-int32(1)), + 141: int8(-int32(2)), + 142: int8(-int32(2)), + 145: int8(-int32(3)), 147: int8(-int32(2)), - 148: int8(-int32(4)), - 149: int8(-int32(4)), - 150: int8(-int32(6)), - 152: int8(-int32(2)), + 149: int8(-int32(2)), + 150: int8(-int32(4)), + 151: int8(-int32(4)), + 152: int8(-int32(6)), 154: int8(-int32(2)), - 155: int8(-int32(2)), - 156: int8(-int32(4)), - 157: int8(-int32(9)), - 158: int8(-int32(5)), - 159: int8(-int32(7)), - 160: int8(-int32(3)), - 161: int8(-int32(5)), - 162: int8(-int32(7)), - 163: int8(-int32(8)), - 165: int8(-int32(2)), - 166: int8(-int32(12)), - 167: int8(-int32(9)), - 168: int8(-int32(5)), - 169: int8(-int32(8)), - 170: int8(-int32(2)), - 171: int8(-int32(2)), - 172: int8(-int32(1)), - 174: int8(-int32(3)), - 175: int8(-int32(3)), - 176: int8(-int32(1)), + 156: int8(-int32(2)), + 157: int8(-int32(2)), + 158: int8(-int32(4)), + 159: int8(-int32(9)), + 160: int8(-int32(5)), + 161: int8(-int32(7)), + 162: int8(-int32(3)), + 163: int8(-int32(5)), + 164: int8(-int32(7)), + 165: int8(-int32(8)), + 167: int8(-int32(2)), + 168: int8(-int32(12)), + 169: int8(-int32(9)), + 170: int8(-int32(5)), + 171: int8(-int32(8)), + 172: int8(-int32(2)), + 173: int8(-int32(2)), + 174: int8(-int32(1)), + 176: int8(-int32(3)), 177: int8(-int32(3)), 178: int8(-int32(1)), 179: int8(-int32(3)), - 180: int8(-int32(5)), - 181: int8(-int32(1)), - 182: int8(-int32(1)), + 180: int8(-int32(1)), + 181: int8(-int32(3)), + 182: int8(-int32(5)), 183: int8(-int32(1)), 184: int8(-int32(1)), - 185: int8(-int32(3)), - 186: int8(-int32(6)), - 187: int8(-int32(5)), - 188: int8(-int32(8)), - 189: int8(-int32(4)), - 190: int8(-int32(6)), - 191: int8(-int32(9)), - 192: int8(-int32(5)), - 193: int8(-int32(1)), + 185: int8(-int32(1)), + 186: int8(-int32(1)), + 187: int8(-int32(3)), + 188: int8(-int32(6)), + 189: int8(-int32(5)), + 190: int8(-int32(8)), + 191: int8(-int32(4)), + 192: int8(-int32(6)), + 193: int8(-int32(9)), 194: int8(-int32(5)), - 195: int8(-int32(3)), - 196: int8(-int32(3)), + 195: int8(-int32(1)), + 196: int8(-int32(5)), 197: int8(-int32(3)), 198: int8(-int32(3)), 199: int8(-int32(3)), 200: int8(-int32(3)), 201: int8(-int32(3)), 202: int8(-int32(3)), - 203: int8(-int32(2)), + 203: int8(-int32(3)), 204: int8(-int32(3)), - 205: int8(-int32(5)), - 206: int8(-int32(2)), - 207: int8(-int32(3)), - 208: int8(-int32(3)), - 209: int8(-int32(4)), - 210: int8(-int32(6)), - 211: int8(-int32(5)), - 212: int8(-int32(2)), - 213: int8(-int32(2)), + 205: int8(-int32(2)), + 206: int8(-int32(3)), + 207: int8(-int32(5)), + 208: int8(-int32(2)), + 209: int8(-int32(3)), + 210: int8(-int32(3)), + 211: int8(-int32(4)), + 212: int8(-int32(6)), + 213: int8(-int32(5)), 214: int8(-int32(2)), - 215: int8(-int32(3)), - 216: int8(-int32(1)), - 217: int8(-int32(2)), - 218: int8(-int32(5)), - 219: int8(-int32(1)), - 220: int8(-int32(2)), - 221: int8(-int32(5)), - 222: int8(-int32(3)), + 215: int8(-int32(2)), + 216: int8(-int32(2)), + 217: int8(-int32(3)), + 218: int8(-int32(1)), + 219: int8(-int32(2)), + 220: int8(-int32(5)), + 221: int8(-int32(1)), + 222: int8(-int32(2)), 223: int8(-int32(5)), - 224: int8(-int32(5)), - 225: int8(-int32(4)), + 224: int8(-int32(3)), + 225: int8(-int32(5)), 226: int8(-int32(5)), - 227: int8(-int32(5)), - 228: int8(-int32(4)), - 229: int8(-int32(2)), - 233: int8(-int32(3)), - 234: int8(-int32(1)), - 236: int8(-int32(3)), - 237: int8(-int32(12)), - 238: int8(-int32(1)), - 241: int8(-int32(3)), - 242: int8(-int32(5)), + 227: int8(-int32(4)), + 228: int8(-int32(5)), + 229: int8(-int32(5)), + 230: int8(-int32(4)), + 231: int8(-int32(2)), + 235: int8(-int32(3)), + 236: int8(-int32(1)), + 238: int8(-int32(3)), + 239: int8(-int32(12)), + 240: int8(-int32(1)), 243: int8(-int32(3)), - 245: int8(-int32(2)), - 246: int8(-int32(4)), + 244: int8(-int32(5)), + 245: int8(-int32(3)), 247: int8(-int32(2)), - 248: int8(-int32(3)), + 248: int8(-int32(4)), 249: int8(-int32(2)), - 251: int8(-int32(3)), - 252: int8(-int32(5)), - 253: int8(-int32(6)), + 250: int8(-int32(3)), + 251: int8(-int32(2)), + 253: int8(-int32(3)), 254: int8(-int32(5)), 255: int8(-int32(6)), - 256: int8(-int32(2)), - 257: int8(-int32(2)), - 258: int8(-int32(5)), - 259: int8(-int32(11)), - 260: int8(-int32(1)), - 261: int8(-int32(2)), - 263: int8(-int32(1)), - 264: int8(-int32(1)), - 265: int8(-int32(3)), - 267: int8(-int32(2)), - 268: int8(-int32(3)), + 256: int8(-int32(5)), + 257: int8(-int32(6)), + 258: int8(-int32(2)), + 259: int8(-int32(2)), + 260: int8(-int32(5)), + 261: int8(-int32(11)), + 262: int8(-int32(1)), + 263: int8(-int32(2)), + 265: int8(-int32(1)), + 266: int8(-int32(1)), + 267: int8(-int32(3)), 269: int8(-int32(2)), 270: int8(-int32(3)), - 271: int8(-int32(3)), - 272: int8(-int32(2)), - 273: int8(-int32(9)), - 274: int8(-int32(8)), - 275: int8(-int32(6)), - 276: int8(-int32(3)), - 277: int8(-int32(4)), - 278: int8(-int32(6)), - 279: int8(-int32(1)), - 280: int8(-int32(1)), + 271: int8(-int32(2)), + 272: int8(-int32(3)), + 273: int8(-int32(3)), + 274: int8(-int32(2)), + 275: int8(-int32(9)), + 276: int8(-int32(8)), + 277: int8(-int32(6)), + 278: int8(-int32(3)), + 279: int8(-int32(4)), + 280: int8(-int32(6)), 281: int8(-int32(1)), - 282: int8(-int32(4)), - 283: int8(-int32(6)), - 284: int8(-int32(3)), - 286: int8(-int32(2)), - 287: int8(-int32(1)), - 288: int8(-int32(3)), + 282: int8(-int32(1)), + 283: int8(-int32(1)), + 284: int8(-int32(4)), + 285: int8(-int32(6)), + 286: int8(-int32(3)), + 288: int8(-int32(2)), 289: int8(-int32(1)), 290: int8(-int32(3)), - 291: int8(-int32(6)), - 292: int8(-int32(7)), + 291: int8(-int32(1)), + 292: int8(-int32(3)), 293: int8(-int32(6)), - 294: int8(-int32(1)), - 295: int8(-int32(8)), + 294: int8(-int32(7)), + 295: int8(-int32(6)), 296: int8(-int32(1)), - 297: int8(-int32(4)), - 298: int8(-int32(8)), - 300: int8(-int32(1)), - 301: int8(-int32(3)), + 297: int8(-int32(8)), + 298: int8(-int32(1)), + 299: int8(-int32(4)), + 300: int8(-int32(8)), 302: int8(-int32(1)), - 303: int8(-int32(2)), - 304: int8(-int32(3)), - 305: int8(-int32(1)), - 306: int8(-int32(2)), - 307: int8(-int32(3)), - 308: int8(-int32(6)), - 309: int8(-int32(1)), - 310: int8(-int32(3)), - 311: int8(-int32(3)), - 312: int8(-int32(5)), - 313: int8(-int32(5)), - 314: int8(-int32(6)), - 315: int8(-int32(4)), + 303: int8(-int32(3)), + 304: int8(-int32(1)), + 305: int8(-int32(2)), + 306: int8(-int32(3)), + 307: int8(-int32(1)), + 308: int8(-int32(2)), + 309: int8(-int32(3)), + 310: int8(-int32(6)), + 311: int8(-int32(1)), + 312: int8(-int32(1)), + 313: int8(-int32(3)), + 314: int8(-int32(3)), + 315: int8(-int32(5)), 316: int8(-int32(5)), - 317: int8(-int32(2)), - 319: int8(-int32(3)), - 320: int8(-int32(6)), - 321: int8(-int32(1)), - 322: int8(-int32(1)), - 323: int8(-int32(2)), + 317: int8(-int32(6)), + 318: int8(-int32(4)), + 319: int8(-int32(5)), + 320: int8(-int32(2)), + 322: int8(-int32(3)), + 323: int8(-int32(6)), 324: int8(-int32(1)), - 325: int8(-int32(2)), + 325: int8(-int32(1)), 326: int8(-int32(2)), - 327: int8(-int32(2)), + 327: int8(-int32(1)), + 328: int8(-int32(2)), 329: int8(-int32(2)), 330: int8(-int32(2)), - 331: int8(-int32(2)), - 332: int8(-int32(1)), + 332: int8(-int32(2)), 333: int8(-int32(2)), 334: int8(-int32(2)), 335: int8(-int32(1)), - 336: int8(-int32(1)), - 337: int8(-int32(4)), - 338: int8(-int32(2)), - 339: int8(-int32(5)), - 340: int8(-int32(1)), + 336: int8(-int32(2)), + 337: int8(-int32(2)), + 338: int8(-int32(1)), + 339: int8(-int32(1)), + 340: int8(-int32(4)), 341: int8(-int32(2)), - 342: int8(-int32(1)), + 342: int8(-int32(5)), 343: int8(-int32(1)), - 344: int8(-int32(2)), - 345: int8(-int32(3)), + 344: int8(-int32(1)), + 345: int8(-int32(2)), + 346: int8(-int32(1)), 347: int8(-int32(1)), 348: int8(-int32(2)), - 349: int8(-int32(1)), - 351: int8(-int32(2)), - 352: int8(-int32(1)), - 353: int8(-int32(4)), - 354: int8(-int32(2)), - 355: int8(-int32(1)), + 349: int8(-int32(3)), + 351: int8(-int32(1)), + 352: int8(-int32(2)), + 353: int8(-int32(1)), + 355: int8(-int32(2)), 356: int8(-int32(1)), - 357: int8(-int32(1)), - 358: int8(-int32(1)), + 357: int8(-int32(4)), + 358: int8(-int32(2)), 359: int8(-int32(1)), 360: int8(-int32(1)), - 361: int8(-int32(2)), - 363: int8(-int32(2)), - 364: int8(-int32(4)), + 361: int8(-int32(1)), + 362: int8(-int32(1)), + 363: int8(-int32(1)), + 364: int8(-int32(1)), 365: int8(-int32(2)), - 366: int8(-int32(2)), - 367: int8(-int32(3)), - 368: int8(-int32(1)), - 370: int8(-int32(1)), - 371: int8(-int32(1)), + 367: int8(-int32(2)), + 368: int8(-int32(4)), + 369: int8(-int32(2)), + 370: int8(-int32(2)), + 371: int8(-int32(3)), 372: int8(-int32(1)), - 373: int8(-int32(1)), - 374: int8(-int32(2)), + 374: int8(-int32(1)), 375: int8(-int32(1)), 376: int8(-int32(1)), - 378: int8(-int32(1)), + 377: int8(-int32(1)), + 378: int8(-int32(2)), 379: int8(-int32(1)), 380: int8(-int32(1)), - 381: int8(-int32(1)), 382: int8(-int32(1)), 383: int8(-int32(1)), 384: int8(-int32(1)), 385: int8(-int32(1)), 386: int8(-int32(1)), 387: int8(-int32(1)), - 389: int8(-int32(3)), + 388: int8(-int32(1)), + 389: int8(-int32(1)), 390: int8(-int32(1)), - 392: int8(-int32(1)), - 395: int8(-int32(1)), + 391: int8(-int32(1)), + 393: int8(-int32(3)), + 394: int8(-int32(1)), 396: int8(-int32(1)), - 397: int8(-int32(3)), - 398: int8(-int32(2)), - 400: int8(-int32(4)), - 401: int8(-int32(2)), - 403: int8(-int32(1)), - 404: int8(-int32(1)), + 399: int8(-int32(1)), + 400: int8(-int32(1)), + 401: int8(-int32(3)), + 402: int8(-int32(2)), + 404: int8(-int32(4)), + 405: int8(-int32(2)), + 407: int8(-int32(1)), + 408: int8(-int32(1)), } // C documentation @@ -154418,18 +155842,19 @@ var _yyRuleInfoNRhs = [405]int8{ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken TToken, pParse uintptr) (r uint16) { bp := tls.Alloc(144) defer tls.Free(144) - var bNot, bNot1, nExpr, yygoto, yysize, v344 int32 + var bNot, bNot1, nExpr, yygoto, yysize int32 var n Tu32 - var p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v343, v345, v346, v347, v348 uintptr + var op Tu8 + var p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v347, v348, v349, v350, v351 uintptr var yyact uint16 - var v349 TToken + var v352 TToken var _ /* all at bp+104 */ TToken var _ /* as at bp+72 */ TToken var _ /* dest at bp+16 */ TSelectDest var _ /* t at bp+88 */ TToken var _ /* x at bp+56 */ TToken var _ /* yylhsminor at bp+0 */ TYYMINORTYPE - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v343, v344, v345, v346, v347, v348, v349 /* Amount to pop the stack */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, op, p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v347, v348, v349, v350, v351, v352 /* Amount to pop the stack */ _ = yyLookahead _ = yyLookaheadToken yymsp = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos @@ -154450,7 +155875,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _7 case uint32(7): goto _8 - case uint32(321): + case uint32(324): goto _9 case uint32(9): goto _10 @@ -154478,9 +155903,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _21 case uint32(81): goto _22 - case uint32(98): + case uint32(100): goto _23 - case uint32(244): + case uint32(246): goto _24 case uint32(16): goto _25 @@ -154504,7 +155929,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _34 case uint32(26): goto _35 - case uint32(104): + case uint32(106): goto _36 case uint32(27): goto _37 @@ -154578,17 +156003,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _71 case uint32(61): goto _72 - case uint32(171): + case uint32(173): goto _73 case uint32(80): goto _74 case uint32(63): goto _75 - case uint32(217): + case uint32(219): goto _76 - case uint32(220): + case uint32(222): goto _77 - case uint32(245): + case uint32(247): goto _78 case uint32(64): goto _79 @@ -154610,7 +156035,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _87 case uint32(77): goto _88 - case uint32(172): + case uint32(174): goto _89 case uint32(78): goto _90 @@ -154644,47 +156069,47 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _104 case uint32(95): goto _105 - case uint32(96): - goto _106 case uint32(97): + goto _106 + case uint32(96): goto _107 - case uint32(132): + case uint32(98): goto _108 case uint32(99): goto _109 - case uint32(142): + case uint32(134): goto _110 - case uint32(232): + case uint32(101): goto _111 - case uint32(235): + case uint32(144): goto _112 - case uint32(240): + case uint32(234): goto _113 - case uint32(100): + case uint32(237): goto _114 - case uint32(101): + case uint32(242): goto _115 case uint32(102): goto _116 - case uint32(115): - goto _117 case uint32(103): + goto _117 + case uint32(104): goto _118 - case uint32(256): + case uint32(117): goto _119 - case uint32(257): + case uint32(105): goto _120 - case uint32(108): + case uint32(258): goto _121 - case uint32(105): + case uint32(259): goto _122 - case uint32(106): + case uint32(110): goto _123 case uint32(107): goto _124 - case uint32(109): + case uint32(108): goto _125 - case uint32(110): + case uint32(109): goto _126 case uint32(111): goto _127 @@ -154692,13 +156117,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _128 case uint32(113): goto _129 - case uint32(129): - goto _130 case uint32(114): + goto _130 + case uint32(115): goto _131 - case uint32(116): + case uint32(131): goto _132 - case uint32(117): + case uint32(116): goto _133 case uint32(118): goto _134 @@ -154722,15 +156147,15 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _143 case uint32(128): goto _144 - case uint32(130): + case uint32(129): goto _145 - case uint32(131): + case uint32(130): goto _146 - case uint32(143): + case uint32(132): goto _147 case uint32(133): goto _148 - case uint32(134): + case uint32(145): goto _149 case uint32(135): goto _150 @@ -154738,49 +156163,49 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _151 case uint32(137): goto _152 - case uint32(141): - goto _153 case uint32(138): - goto _154 + goto _153 case uint32(139): + goto _154 + case uint32(143): goto _155 case uint32(140): goto _156 - case uint32(146): + case uint32(141): goto _157 - case uint32(144): + case uint32(142): goto _158 - case uint32(151): + case uint32(148): goto _159 - case uint32(153): + case uint32(146): goto _160 - case uint32(230): + case uint32(153): goto _161 - case uint32(231): + case uint32(155): goto _162 - case uint32(250): + case uint32(232): goto _163 - case uint32(152): + case uint32(233): goto _164 - case uint32(145): + case uint32(252): goto _165 case uint32(154): goto _166 - case uint32(229): + case uint32(147): goto _167 - case uint32(249): + case uint32(156): goto _168 - case uint32(147): + case uint32(231): goto _169 - case uint32(148): + case uint32(251): goto _170 case uint32(149): goto _171 case uint32(150): goto _172 - case uint32(155): + case uint32(151): goto _173 - case uint32(156): + case uint32(152): goto _174 case uint32(157): goto _175 @@ -154810,9 +156235,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _187 case uint32(170): goto _188 - case uint32(173): + case uint32(171): goto _189 - case uint32(174): + case uint32(172): goto _190 case uint32(175): goto _191 @@ -154826,13 +156251,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _195 case uint32(180): goto _196 - case uint32(182): - goto _197 case uint32(181): + goto _197 + case uint32(182): goto _198 - case uint32(183): - goto _199 case uint32(184): + goto _199 + case uint32(183): goto _200 case uint32(185): goto _201 @@ -154856,13 +156281,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _210 case uint32(195): goto _211 - case uint32(197): - goto _212 case uint32(196): + goto _212 + case uint32(197): goto _213 - case uint32(198): - goto _214 case uint32(199): + goto _214 + case uint32(198): goto _215 case uint32(200): goto _216 @@ -154888,23 +156313,23 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _226 case uint32(211): goto _227 - case uint32(213): - goto _228 case uint32(212): + goto _228 + case uint32(213): goto _229 - case uint32(214): - goto _230 case uint32(215): + goto _230 + case uint32(214): goto _231 - case uint32(219): - goto _232 case uint32(216): + goto _232 + case uint32(217): goto _233 - case uint32(218): - goto _234 case uint32(221): + goto _234 + case uint32(218): goto _235 - case uint32(222): + case uint32(220): goto _236 case uint32(223): goto _237 @@ -154918,35 +156343,35 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _241 case uint32(228): goto _242 - case uint32(233): + case uint32(229): goto _243 - case uint32(234): + case uint32(230): goto _244 - case uint32(241): + case uint32(235): goto _245 case uint32(236): goto _246 - case uint32(237): + case uint32(243): goto _247 - case uint32(280): - goto _248 case uint32(238): - goto _249 + goto _248 case uint32(239): + goto _249 + case uint32(282): goto _250 - case uint32(242): + case uint32(240): goto _251 - case uint32(243): + case uint32(241): goto _252 - case uint32(246): + case uint32(244): goto _253 - case uint32(247): + case uint32(245): goto _254 case uint32(248): goto _255 - case uint32(251): + case uint32(249): goto _256 - case uint32(252): + case uint32(250): goto _257 case uint32(253): goto _258 @@ -154954,9 +156379,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _259 case uint32(255): goto _260 - case uint32(258): + case uint32(256): goto _261 - case uint32(259): + case uint32(257): goto _262 case uint32(260): goto _263 @@ -154964,21 +156389,21 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _264 case uint32(262): goto _265 - case uint32(264): - goto _266 case uint32(263): + goto _266 + case uint32(264): goto _267 - case uint32(265): + case uint32(266): goto _268 - case uint32(285): + case uint32(265): goto _269 - case uint32(266): + case uint32(267): goto _270 - case uint32(286): + case uint32(287): goto _271 - case uint32(267): - goto _272 case uint32(268): + goto _272 + case uint32(288): goto _273 case uint32(269): goto _274 @@ -155002,17 +156427,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _283 case uint32(279): goto _284 - case uint32(281): + case uint32(280): goto _285 - case uint32(282): + case uint32(281): goto _286 case uint32(283): goto _287 case uint32(284): goto _288 - case uint32(287): + case uint32(285): goto _289 - case uint32(288): + case uint32(286): goto _290 case uint32(289): goto _291 @@ -155036,19 +156461,19 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _300 case uint32(299): goto _301 - case uint32(301): - goto _302 case uint32(300): + goto _302 + case uint32(301): goto _303 - case uint32(302): + case uint32(303): goto _304 - case uint32(304): + case uint32(302): goto _305 - case uint32(303): + case uint32(304): goto _306 - case uint32(305): - goto _307 case uint32(306): + goto _307 + case uint32(305): goto _308 case uint32(307): goto _309 @@ -155078,31 +156503,31 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _321 case uint32(320): goto _322 - case uint32(324): + case uint32(321): goto _323 case uint32(322): goto _324 - case uint32(325): - goto _325 case uint32(323): - goto _326 + goto _325 case uint32(327): + goto _326 + case uint32(325): goto _327 - case uint32(326): - goto _328 case uint32(328): + goto _328 + case uint32(326): goto _329 - case uint32(329): + case uint32(330): goto _330 - case uint32(331): + case uint32(329): goto _331 - case uint32(330): + case uint32(331): goto _332 case uint32(332): goto _333 - case uint32(333): - goto _334 case uint32(334): + goto _334 + case uint32(333): goto _335 case uint32(335): goto _336 @@ -155114,34 +156539,42 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _339 case uint32(339): goto _340 - default: + case uint32(340): goto _341 + case uint32(341): + goto _342 + case uint32(342): + goto _343 + case uint32(343): + goto _344 + default: + goto _345 } - goto _342 + goto _346 _1: ; /* explain ::= EXPLAIN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(1) } - goto _342 + goto _346 _2: ; /* explain ::= EXPLAIN QUERY PLAN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(2) } - goto _342 + goto _346 _3: ; /* cmdx ::= cmd */ _sqlite3FinishCoding(tls, pParse) - goto _342 + goto _346 _4: ; /* cmd ::= BEGIN transtype trans_opt */ _sqlite3BeginTransaction(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _5: ; /* transtype ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_DEFERRED) - goto _342 + goto _346 _7: ; /* transtype ::= DEFERRED */ _6: @@ -155151,33 +156584,33 @@ _8: _9: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 + goto _346 _11: ; /* cmd ::= COMMIT|END trans_opt */ _10: ; _sqlite3EndTransaction(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor)) - goto _342 + goto _346 _12: ; /* cmd ::= SAVEPOINT nm */ _sqlite3Savepoint(tls, pParse, SAVEPOINT_BEGIN, yymsp+8) - goto _342 + goto _346 _13: ; /* cmd ::= RELEASE savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_RELEASE), yymsp+8) - goto _342 + goto _346 _14: ; /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_ROLLBACK), yymsp+8) - goto _342 + goto _346 _15: ; /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ _sqlite3StartTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), 0, 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _16: ; /* createkw ::= CREATE */ _disableLookaside(tls, pParse) - goto _342 + goto _346 _18: ; /* ifnotexists ::= */ _17: @@ -155195,56 +156628,56 @@ _23: _24: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = 0 - goto _342 + goto _346 _25: ; /* ifnotexists ::= IF NOT EXISTS */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(1) - goto _342 + goto _346 _26: ; /* temp ::= TEMP */ *(*int32)(unsafe.Pointer(yymsp + 8)) = libc.BoolInt32(int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0) - goto _342 + goto _346 _27: ; /* create_table_args ::= LP columnlist conslist_opt RP table_option_set */ _sqlite3EndTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*Tu32)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 + goto _346 _28: ; /* create_table_args ::= AS select */ _sqlite3EndTable(tls, pParse, uintptr(0), uintptr(0), uint32(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _29: ; /* table_option_set ::= */ *(*Tu32)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint32(0) - goto _342 + goto _346 _30: ; /* table_option_set ::= table_option_set COMMA table_option */ *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) | *(*Tu32)(unsafe.Pointer(yymsp + 8)) *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _31: ; /* table_option ::= WITHOUT nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16726, int32(5)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16813, int32(5)) == 0 { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) } else { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23390, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23513, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } - goto _342 + goto _346 _32: ; /* table_option ::= nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16639, int32(6)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16726, int32(6)) == 0 { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(TF_Strict) } else { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23390, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23513, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } *(*Tu32)(unsafe.Pointer(yymsp + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _33: ; /* columnname ::= nm typetoken */ _sqlite3AddColumn(tls, pParse, *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*TToken)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _35: ; /* typetoken ::= */ _34: @@ -155253,50 +156686,50 @@ _36: ; *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 + goto _346 _37: ; /* typetoken ::= typename LP signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) - goto _342 + goto _346 _38: ; /* typetoken ::= typename LP signed COMMA signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))))) - goto _342 + goto _346 _39: ; /* typename ::= typename ID|STRING */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) + uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) - goto _342 + goto _346 _40: ; /* scanpt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken.Fz - goto _342 + goto _346 _41: ; /* scantok ::= */ *(*TToken)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken - goto _342 + goto _346 _43: ; /* ccons ::= CONSTRAINT nm */ _42: ; (*TParse)(unsafe.Pointer(pParse)).FconstraintName = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _44: ; /* ccons ::= DEFAULT scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _45: ; /* ccons ::= DEFAULT LP expr RP */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))+uintptr(1), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _46: ; /* ccons ::= DEFAULT PLUS scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _47: ; /* ccons ::= DEFAULT MINUS scantok term */ p = _sqlite3PExpr(tls, pParse, int32(TK_UMINUS), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) _sqlite3AddDefaultValue(tls, pParse, p, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _48: ; /* ccons ::= DEFAULT scantok ID|INDEXED */ p1 = _tokenExpr(tls, pParse, int32(TK_STRING), *(*TToken)(unsafe.Pointer(yymsp + 8))) @@ -155304,99 +156737,99 @@ _48: _sqlite3ExprIdToTrueFalse(tls, p1) } _sqlite3AddDefaultValue(tls, pParse, p1, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - goto _342 + goto _346 _49: ; /* ccons ::= NOT NULL onconf */ _sqlite3AddNotNull(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _50: ; /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ _sqlite3AddPrimaryKey(tls, pParse, uintptr(0), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _51: ; /* ccons ::= UNIQUE onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _52: ; /* ccons ::= CHECK LP expr RP */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _53: ; /* ccons ::= REFERENCES nm eidlist_opt refargs */ _sqlite3CreateForeignKey(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _54: ; /* ccons ::= defer_subclause */ _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _55: ; /* ccons ::= COLLATE ID|STRING */ _sqlite3AddCollateType(tls, pParse, yymsp+8) - goto _342 + goto _346 _56: ; /* generated ::= LP expr RP */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 + goto _346 _57: ; /* generated ::= LP expr RP ID */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 + goto _346 _58: ; /* autoinc ::= AUTOINCR */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(1) - goto _342 + goto _346 _59: ; /* refargs ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = libc.Int32FromInt32(OE_None) * libc.Int32FromInt32(0x0101) /* EV: R-19803-45884 */ - goto _342 + goto _346 _60: ; /* refargs ::= refargs refarg */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) & ^*(*int32)(unsafe.Pointer(yymsp + 8 + 4)) | *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _61: ; /* refarg ::= MATCH nm */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _62: ; /* refarg ::= ON INSERT refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _63: ; /* refarg ::= ON DELETE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x0000ff) - goto _342 + goto _346 _64: ; /* refarg ::= ON UPDATE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) << int32(8) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x00ff00) - goto _342 + goto _346 _65: ; /* refact ::= SET NULL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetNull) /* EV: R-33326-45252 */ - goto _342 + goto _346 _66: ; /* refact ::= SET DEFAULT */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetDflt) /* EV: R-33326-45252 */ - goto _342 + goto _346 _67: ; /* refact ::= CASCADE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Cascade) /* EV: R-33326-45252 */ - goto _342 + goto _346 _68: ; /* refact ::= RESTRICT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Restrict) /* EV: R-33326-45252 */ - goto _342 + goto _346 _69: ; /* refact ::= NO ACTION */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = OE_None /* EV: R-33326-45252 */ - goto _342 + goto _346 _70: ; /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 - goto _342 + goto _346 _72: ; /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ _71: @@ -155404,7 +156837,7 @@ _71: _73: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _75: ; /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ _74: @@ -155416,64 +156849,64 @@ _77: _78: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(1) - goto _342 + goto _346 _79: ; /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 - goto _342 + goto _346 _80: ; /* tconscomma ::= COMMA */ (*TParse)(unsafe.Pointer(pParse)).FconstraintName.Fn = uint32(0) - goto _342 + goto _346 _81: ; /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ _sqlite3AddPrimaryKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), 0) - goto _342 + goto _346 _82: ; /* tcons ::= UNIQUE LP sortlist RP onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _83: ; /* tcons ::= CHECK LP expr RP onconf */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _84: ; /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ _sqlite3CreateForeignKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _86: ; /* onconf ::= */ _85: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(OE_Default) - goto _342 + goto _346 _87: ; /* onconf ::= ON CONFLICT resolvetype */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _88: ; /* resolvetype ::= IGNORE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Ignore) - goto _342 + goto _346 _90: ; /* resolvetype ::= REPLACE */ _89: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Replace) - goto _342 + goto _346 _91: ; /* cmd ::= DROP TABLE ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _92: ; /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ _sqlite3CreateView(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) - goto _342 + goto _346 _93: ; /* cmd ::= DROP VIEW ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), int32(1), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _94: ; /* cmd ::= select */ *(*TSelectDest)(unsafe.Pointer(bp + 16)) = TSelectDest{ @@ -155481,22 +156914,22 @@ _94: } _sqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), bp+16) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _95: ; /* select ::= WITH wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _96: ; /* select ::= WITH RECURSIVE wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _97: ; /* select ::= selectnowith */ p2 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) if p2 != 0 { _parserDoubleLinkSelect(tls, pParse, p2) } - goto _342 + goto _346 _98: ; /* selectnowith ::= selectnowith multiselect_op oneselect */ pRhs = *(*uintptr)(unsafe.Pointer(yymsp + 8)) @@ -155521,21 +156954,21 @@ _98: _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pLhs) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = pRhs - goto _342 + goto _346 _100: ; /* multiselect_op ::= UNION */ _99: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-OP*/ - goto _342 + goto _346 _101: ; /* multiselect_op ::= UNION ALL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_ALL) - goto _342 + goto _346 _102: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _103: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(9))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -155544,116 +156977,111 @@ _103: } else { _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) } - goto _342 + goto _346 _104: ; /* values ::= VALUES LP nexprlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) - goto _342 + goto _346 _105: - ; /* values ::= values COMMA LP nexprlist RP */ - pLeft = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) - pRight = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(libc.Int32FromInt32(SF_Values)|libc.Int32FromInt32(SF_MultiValue)), uintptr(0)) - if pLeft != 0 { - *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) - } - if pRight != 0 { - (*TSelect)(unsafe.Pointer(pRight)).Fop = uint8(TK_ALL) - (*TSelect)(unsafe.Pointer(pRight)).FpPrior = pLeft - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pRight - } else { - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pLeft - } - goto _342 + ; /* oneselect ::= mvalues */ + _sqlite3MultiValuesEnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_107: + ; /* mvalues ::= values COMMA LP nexprlist RP */ _106: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3MultiValues(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_108: ; /* distinct ::= DISTINCT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_Distinct) - goto _342 -_107: + goto _346 +_109: ; /* distinct ::= ALL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_All) - goto _342 -_109: + goto _346 +_111: ; /* sclp ::= */ -_108: - ; _110: ; -_111: - ; _112: ; _113: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 _114: + ; +_115: + ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 +_116: ; /* selcollist ::= sclp scanpt expr scanpt as */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) > uint32(0) { _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+8, int32(1)) } _sqlite3ExprListSetSpan(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_115: + goto _346 +_117: ; /* selcollist ::= sclp scanpt STAR */ p3 = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_ASTERISK), uintptr(0)) _sqlite3ExprSetErrorOffset(tls, p3, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), p3) - goto _342 -_116: + goto _346 +_118: ; /* selcollist ::= sclp scanpt nm DOT STAR */ - pRight1 = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) - _sqlite3ExprSetErrorOffset(tls, pRight1, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) - pLeft1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft1, pRight1) + pRight = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) + _sqlite3ExprSetErrorOffset(tls, pRight, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) + pLeft = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) + pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft, pRight) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pDot) - goto _342 -_118: + goto _346 +_120: ; /* as ::= AS nm */ -_117: - ; _119: ; -_120: +_121: ; - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 _122: + ; + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) + goto _346 +_124: ; /* from ::= */ -_121: +_123: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_123: + goto _346 +_125: ; /* from ::= FROM seltablist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) _sqlite3SrcListShiftJoinType(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_124: + goto _346 +_126: ; /* stl_prefix ::= seltablist joinop */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 && (*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc > 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8 + uintptr((*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc-int32(1))*104))).Ffg.Fjointype = uint8(*(*int32)(unsafe.Pointer(yymsp + 8))) } - goto _342 -_125: + goto _346 +_127: ; /* seltablist ::= stl_prefix nm dbnm as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) - goto _342 -_126: + goto _346 +_128: ; /* seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_127: + goto _346 +_129: ; /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListFuncArgs(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) - goto _342 -_128: + goto _346 +_130: ; /* seltablist ::= stl_prefix LP select RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_129: + goto _346 +_131: ; /* seltablist ::= stl_prefix LP seltablist RP as on_using */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) == uintptr(0) && *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) == uint32(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8)) == uintptr(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) @@ -155675,9 +157103,9 @@ _129: libc.SetBitFieldPtr16Uint32(pOld+60+4, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pNew+60+4, libc.Uint32FromInt32(1), 2, 0x4) } - v343 = libc.UintptrFromInt32(0) - (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v343 - (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v343 + v347 = libc.UintptrFromInt32(0) + (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v347 + (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v347 (*TSrcItem)(unsafe.Pointer(pOld)).FpSelect = uintptr(0) } _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) @@ -155687,189 +157115,189 @@ _129: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, pSubquery, yymsp+8) } } - goto _342 -_131: + goto _346 +_133: ; /* dbnm ::= */ -_130: +_132: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) - goto _342 -_132: + goto _346 +_134: ; /* fullname ::= nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_133: + goto _346 +_135: ; /* fullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_134: + goto _346 +_136: ; /* xfullname ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) /*A-overwrites-X*/ - goto _342 -_135: + goto _346 +_137: ; /* xfullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) /*A-overwrites-X*/ - goto _342 -_136: + goto _346 +_138: ; /* xfullname ::= nm DOT nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_137: + goto _346 +_139: ; /* xfullname ::= nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0)) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_138: + goto _346 +_140: ; /* joinop ::= COMMA|JOIN */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(JT_INNER) - goto _342 -_139: + goto _346 +_141: ; /* joinop ::= JOIN_KW JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), uintptr(0)) /*X-overwrites-A*/ - goto _342 -_140: + goto _346 +_142: ; /* joinop ::= JOIN_KW nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0)) /*X-overwrites-A*/ - goto _342 -_141: + goto _346 +_143: ; /* joinop ::= JOIN_KW nm nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) /*X-overwrites-A*/ - goto _342 -_142: + goto _346 +_144: ; /* on_using ::= ON expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uintptr(0) - goto _342 -_143: + goto _346 +_145: ; /* on_using ::= USING LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_144: + goto _346 +_146: ; /* on_using ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uintptr(0) - goto _342 -_145: + goto _346 +_147: ; /* indexed_by ::= INDEXED BY nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 -_146: + goto _346 +_148: ; /* indexed_by ::= NOT INDEXED */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(1) - goto _342 -_148: + goto _346 +_150: ; /* orderby_opt ::= ORDER BY sortlist */ -_147: +_149: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_149: + goto _346 +_151: ; /* sortlist ::= sortlist COMMA expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_150: + goto _346 +_152: ; /* sortlist ::= expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) /*A-overwrites-Y*/ _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_151: + goto _346 +_153: ; /* sortorder ::= ASC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = SQLITE_SO_ASC - goto _342 -_152: + goto _346 +_154: ; /* sortorder ::= DESC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_154: + goto _346 +_156: ; /* sortorder ::= */ -_153: +_155: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = -int32(1) - goto _342 -_155: + goto _346 +_157: ; /* nulls ::= NULLS FIRST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = SQLITE_SO_ASC - goto _342 -_156: + goto _346 +_158: ; /* nulls ::= NULLS LAST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_158: + goto _346 +_160: ; /* having_opt ::= */ -_157: - ; _159: ; -_160: - ; _161: ; _162: ; _163: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_165: - ; /* having_opt ::= HAVING expr */ _164: ; -_166: +_165: ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 _167: + ; /* having_opt ::= HAVING expr */ +_166: ; _168: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 _169: + ; +_170: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + goto _346 +_171: ; /* limit_opt ::= LIMIT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 -_170: + goto _346 +_172: ; /* limit_opt ::= LIMIT expr OFFSET expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_171: + goto _346 +_173: ; /* limit_opt ::= LIMIT expr COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 -_172: + goto _346 +_174: ; /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) _sqlite3DeleteFrom(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0)) - goto _342 -_173: + goto _346 +_175: ; /* where_opt_ret ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) - goto _342 -_174: + goto _346 +_176: ; /* where_opt_ret ::= WHERE expr RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) - goto _342 -_175: + goto _346 +_177: ; /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) - _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23417) + _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23540) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { pFromClause = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) if (*TSrcList)(unsafe.Pointer(pFromClause)).FnSrc > int32(1) { @@ -155881,95 +157309,95 @@ _175: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), pFromClause) } _sqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_176: + goto _346 +_178: ; /* setlist ::= setlist COMMA nm EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) - goto _342 -_177: + goto _346 +_179: ; /* setlist ::= setlist COMMA LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_178: + goto _346 +_180: ; /* setlist ::= nm EQ expr */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_179: + goto _346 +_181: ; /* setlist ::= LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_180: + goto _346 +_182: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_181: + goto _346 +_183: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0)) - goto _342 -_182: + goto _346 +_184: ; /* upsert ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_183: + goto _346 +_185: ; /* upsert ::= RETURNING selcollist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_184: + goto _346 +_186: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(11))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_185: + goto _346 +_187: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_186: + goto _346 +_188: ; /* upsert ::= ON CONFLICT DO NOTHING returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_187: + goto _346 +_189: ; /* upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_188: + goto _346 +_190: ; /* returning ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_189: + goto _346 +_191: ; /* idlist_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_190: + goto _346 +_192: ; /* idlist_opt ::= LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_191: + goto _346 +_193: ; /* idlist ::= idlist COMMA nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3IdListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 -_192: + goto _346 +_194: ; /* idlist ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3IdListAppend(tls, pParse, uintptr(0), yymsp+8) /*A-overwrites-Y*/ - goto _342 -_193: + goto _346 +_195: ; /* expr ::= LP expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_194: + goto _346 +_196: ; /* expr ::= ID|INDEXED|JOIN_KW */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_195: + goto _346 +_197: ; /* expr ::= nm DOT nm */ temp1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) temp2 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp1, temp2) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_196: + goto _346 +_198: ; /* expr ::= nm DOT nm DOT nm */ temp11 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) temp21 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) @@ -155980,22 +157408,22 @@ _196: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp11, temp4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_198: + goto _346 +_200: ; /* term ::= NULL|FLOAT|BLOB */ -_197: +_199: ; *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_199: + goto _346 +_201: ; /* term ::= INTEGER */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), yymsp+8, int32(1)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 52)) = int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8))) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_200: + goto _346 +_202: ; /* expr ::= VARIABLE */ if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8))))) == int32('#') && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)) + 1)))])&int32(0x04) != 0) { n = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) @@ -156007,7 +157435,7 @@ _200: ** in the virtual machine. #N is the N-th register. */ *(*TToken)(unsafe.Pointer(bp + 88)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) /*A-overwrites-X*/ if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23426, libc.VaList(bp+128, bp+88)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23549, libc.VaList(bp+128, bp+88)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_REGISTER), uintptr(0), uintptr(0)) @@ -156016,57 +157444,57 @@ _200: } } } - goto _342 -_201: + goto _346 +_203: ; /* expr ::= expr COLLATE ID|STRING */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAddCollateToken(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8, int32(1)) - goto _342 -_202: + goto _346 +_204: ; /* expr ::= CAST LP expr AS typetoken RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_CAST), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) _sqlite3ExprAttachSubtrees(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) - goto _342 -_203: + goto _346 +_205: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_204: + goto _346 +_206: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_205: + goto _346 +_207: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_206: + goto _346 +_208: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_207: + goto _346 +_209: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_208: + goto _346 +_210: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, 0) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_209: + goto _346 +_211: ; /* term ::= CTIME_KW */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_210: + goto _346 +_212: ; /* expr ::= LP nexprlist COMMA expr RP */ pList = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_VECTOR), uintptr(0), uintptr(0)) @@ -156078,33 +157506,33 @@ _210: } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pList) } - goto _342 -_211: + goto _346 +_213: ; /* expr ::= expr AND expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_213: + goto _346 +_215: ; /* expr ::= expr OR expr */ -_212: - ; _214: ; -_215: - ; _216: ; _217: ; _218: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 _219: + ; +_220: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_221: ; /* likeop ::= NOT LIKE_KW|MATCH */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) |= uint32(0x80000000) /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/ - goto _342 -_220: + goto _346 +_222: ; /* expr ::= expr likeop expr */ bNot = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -156117,8 +157545,8 @@ _220: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_221: + goto _346 +_223: ; /* expr ::= expr likeop expr ESCAPE expr */ bNot1 = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -156132,65 +157560,67 @@ _221: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_222: + goto _346 +_224: ; /* expr ::= expr ISNULL|NOTNULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_223: + goto _346 +_225: ; /* expr ::= expr NOT NULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOTNULL), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uintptr(0)) - goto _342 -_224: + goto _346 +_226: ; /* expr ::= expr IS expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_225: + goto _346 +_227: ; /* expr ::= expr IS NOT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_226: + goto _346 +_228: ; /* expr ::= expr IS NOT DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_227: + goto _346 +_229: ; /* expr ::= expr IS DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_229: + goto _346 +_231: ; /* expr ::= NOT expr */ -_228: +_230: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) /*A-overwrites-B*/ - goto _342 -_230: + goto _346 +_232: ; /* expr ::= PLUS|MINUS expr */ - if int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) == int32(TK_PLUS) { - v344 = int32(TK_UPLUS) + p4 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + op = uint8(int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) + (libc.Int32FromInt32(TK_UPLUS) - libc.Int32FromInt32(TK_PLUS))) + if p4 != 0 && int32((*TExpr)(unsafe.Pointer(p4)).Fop) == int32(TK_UPLUS) { + (*TExpr)(unsafe.Pointer(p4)).Fop = op + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = p4 } else { - v344 = int32(TK_UMINUS) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(op), p4, uintptr(0)) + /*A-overwrites-B*/ } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, v344, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - /*A-overwrites-B*/ - goto _342 -_231: + goto _346 +_233: ; /* expr ::= expr PTR expr */ pList3 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList3 = _sqlite3ExprListAppend(tls, pParse, pList3, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, pList3, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_233: + goto _346 +_235: ; /* between_op ::= BETWEEN */ -_232: +_234: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = 0 - goto _342 -_234: + goto _346 +_236: ; /* expr ::= expr between_op expr AND expr */ pList4 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList4 = _sqlite3ExprListAppend(tls, pParse, pList4, *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -156203,8 +157633,8 @@ _234: if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_235: + goto _346 +_237: ; /* expr ::= expr in_op LP exprlist RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) == uintptr(0) { /* Expressions of the form @@ -156217,17 +157647,17 @@ _235: */ _sqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { - v345 = __ccgo_ts + 7918 + v348 = __ccgo_ts + 8043 } else { - v345 = __ccgo_ts + 7923 + v348 = __ccgo_ts + 8048 } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v345) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v348) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { _sqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } } else { pRHS = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr - if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { + if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pParse, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr = uintptr(0) _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) pRHS = _sqlite3PExpr(tls, pParse, int32(TK_UPLUS), pRHS, uintptr(0)) @@ -156261,460 +157691,464 @@ _235: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } } - goto _342 -_236: + goto _346 +_238: ; /* expr ::= LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_SELECT), uintptr(0), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_237: + goto _346 +_239: ; /* expr ::= expr in_op LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_238: + goto _346 +_240: ; /* expr ::= expr in_op nm dbnm paren_exprlist */ pSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) pSelect = _sqlite3SelectNew(tls, pParse, uintptr(0), pSrc, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { if pSelect != 0 { - v346 = pSrc + v349 = pSrc } else { - v346 = uintptr(0) + v349 = uintptr(0) } - _sqlite3SrcListFuncArgs(tls, pParse, v346, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + _sqlite3SrcListFuncArgs(tls, pParse, v349, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pSelect) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_239: + goto _346 +_241: ; /* expr ::= EXISTS LP select RP */ - v347 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v347 - p4 = v347 - _sqlite3PExprAddSelect(tls, pParse, p4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_240: + v350 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v350 + p5 = v350 + _sqlite3PExprAddSelect(tls, pParse, p5, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_242: ; /* expr ::= CASE case_operand case_exprlist case_else END */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_CASE), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { - v348 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + v351 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } else { - v348 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + v351 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) } - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v348 + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v351 _sqlite3ExprSetHeightAndFlags(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } - goto _342 -_241: + goto _346 +_243: ; /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_242: + goto _346 +_244: ; /* case_exprlist ::= WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_243: + goto _346 +_245: ; /* nexprlist ::= nexprlist COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_244: + goto _346 +_246: ; /* nexprlist ::= expr */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_246: + goto _346 +_248: ; /* paren_exprlist ::= LP exprlist RP */ -_245: +_247: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_247: + goto _346 +_249: ; /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ _sqlite3CreateIndex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, uintptr(0)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(11))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8)), SQLITE_SO_ASC, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), uint8(SQLITE_IDXTYPE_APPDEF)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && (*TParse)(unsafe.Pointer(pParse)).FpNewIndex != 0 { _sqlite3RenameTokenMap(tls, pParse, (*TIndex)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpNewIndex)).FzName, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) } - goto _342 -_249: + goto _346 +_251: ; /* uniqueflag ::= UNIQUE */ -_248: +_250: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Abort) - goto _342 -_250: + goto _346 +_252: ; /* uniqueflag ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = OE_None - goto _342 -_251: + goto _346 +_253: ; /* eidlist ::= eidlist COMMA nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_252: + goto _346 +_254: ; /* eidlist ::= nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_253: + goto _346 +_255: ; /* cmd ::= DROP INDEX ifexists fullname */ _sqlite3DropIndex(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_254: + goto _346 +_256: ; /* cmd ::= VACUUM vinto */ _sqlite3Vacuum(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_255: + goto _346 +_257: ; /* cmd ::= VACUUM nm vinto */ _sqlite3Vacuum(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_256: + goto _346 +_258: ; /* cmd ::= PRAGMA nm dbnm */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, uintptr(0), 0) - goto _342 -_257: + goto _346 +_259: ; /* cmd ::= PRAGMA nm dbnm EQ nmnum */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, 0) - goto _342 -_258: + goto _346 +_260: ; /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) - goto _342 -_259: + goto _346 +_261: ; /* cmd ::= PRAGMA nm dbnm EQ minus_num */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, int32(1)) - goto _342 -_260: + goto _346 +_262: ; /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) - goto _342 -_261: + goto _346 +_263: ; /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ (*(*TToken)(unsafe.Pointer(bp + 104))).Fz = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) (*(*TToken)(unsafe.Pointer(bp + 104))).Fn = uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) + *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) _sqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), bp+104) - goto _342 -_262: + goto _346 +_264: ; /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ _sqlite3BeginTrigger(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8 + 8)) == uint32(0) { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) } else { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) } - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v349 /*A-overwrites-T*/ - goto _342 -_263: + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v352 /*A-overwrites-T*/ + goto _346 +_265: ; /* trigger_time ::= BEFORE|AFTER */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_264: + goto _346 +_266: ; /* trigger_time ::= INSTEAD OF */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_INSTEAD) - goto _342 -_265: + goto _346 +_267: ; /* trigger_time ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_BEFORE) - goto _342 -_267: + goto _346 +_269: ; /* trigger_event ::= DELETE|INSERT */ -_266: +_268: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) = uintptr(0) - goto _342 -_268: + goto _346 +_270: ; /* trigger_event ::= UPDATE OF idlist */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(TK_UPDATE) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_270: + goto _346 +_272: ; /* when_clause ::= */ -_269: +_271: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_272: + goto _346 +_274: ; /* when_clause ::= WHEN expr */ -_271: +_273: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_273: + goto _346 +_275: ; /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ (*TTriggerStep)(unsafe.Pointer((*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast)).FpNext = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_274: + goto _346 +_276: ; /* trigger_cmd_list ::= trigger_cmd SEMI */ (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_275: + goto _346 +_277: ; /* trnm ::= nm DOT nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23450, 0) - goto _342 -_276: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23573, 0) + goto _346 +_278: ; /* tridxby ::= INDEXED BY nm */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23545, 0) - goto _342 -_277: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23668, 0) + goto _346 +_279: ; /* tridxby ::= NOT INDEXED */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23629, 0) - goto _342 -_278: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23752, 0) + goto _346 +_280: ; /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerUpdateStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_279: + goto _346 +_281: ; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-6].minor.yy394*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_280: + goto _346 +_282: ; /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerDeleteStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_281: + goto _346 +_283: ; /* trigger_cmd ::= scanpt select scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-1].minor.yy47*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-1].minor.yy555*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_282: + goto _346 +_284: ; /* expr ::= RAISE LP IGNORE RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_RAISE), uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)))).FaffExpr = int8(OE_Ignore) } - goto _342 -_283: + goto _346 +_285: ; /* expr ::= RAISE LP raisetype COMMA nm RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_RAISE), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)))).FaffExpr = int8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) } - goto _342 -_284: + goto _346 +_286: ; /* raisetype ::= ROLLBACK */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Rollback) - goto _342 -_285: + goto _346 +_287: ; /* raisetype ::= FAIL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Fail) - goto _342 -_286: + goto _346 +_288: ; /* cmd ::= DROP TRIGGER ifexists fullname */ _sqlite3DropTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_287: + goto _346 +_289: ; /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ _sqlite3Attach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_288: + goto _346 +_290: ; /* cmd ::= DETACH database_kw_opt expr */ _sqlite3Detach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_289: + goto _346 +_291: ; /* cmd ::= REINDEX */ _sqlite3Reindex(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_290: + goto _346 +_292: ; /* cmd ::= REINDEX nm dbnm */ _sqlite3Reindex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_291: + goto _346 +_293: ; /* cmd ::= ANALYZE */ _sqlite3Analyze(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_292: + goto _346 +_294: ; /* cmd ::= ANALYZE nm dbnm */ _sqlite3Analyze(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_293: + goto _346 +_295: ; /* cmd ::= ALTER TABLE fullname RENAME TO nm */ _sqlite3AlterRenameTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_294: + goto _346 +_296: ; /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(int32(int64((*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fz)-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) + (*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fn _sqlite3AlterFinishAddColumn(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_295: + goto _346 +_297: ; /* cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ _sqlite3AlterDropColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_296: + goto _346 +_298: ; /* add_column_fullname ::= fullname */ _disableLookaside(tls, pParse) _sqlite3AlterBeginAddColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_297: + goto _346 +_299: ; /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ _sqlite3AlterRenameColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) - goto _342 -_298: + goto _346 +_300: ; /* cmd ::= create_vtab */ _sqlite3VtabFinishParse(tls, pParse, uintptr(0)) - goto _342 -_299: + goto _346 +_301: ; /* cmd ::= create_vtab LP vtabarglist RP */ _sqlite3VtabFinishParse(tls, pParse, yymsp+8) - goto _342 -_300: + goto _346 +_302: ; /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ _sqlite3VtabBeginParse(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) - goto _342 -_301: + goto _346 +_303: ; /* vtabarg ::= */ _sqlite3VtabArgInit(tls, pParse) - goto _342 -_303: + goto _346 +_305: ; /* vtabargtoken ::= ANY */ -_302: - ; _304: ; - _sqlite3VtabArgExtend(tls, pParse, yymsp+8) - goto _342 _306: + ; + _sqlite3VtabArgExtend(tls, pParse, yymsp+8) + goto _346 +_308: ; /* with ::= WITH wqlist */ -_305: +_307: ; _sqlite3WithPush(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint8(1)) - goto _342 -_307: + goto _346 +_309: ; /* wqas ::= AS */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8(M10d_Any) - goto _342 -_308: + goto _346 +_310: ; /* wqas ::= AS MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8(M10d_Yes) - goto _342 -_309: + goto _346 +_311: ; /* wqas ::= AS NOT MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = uint8(M10d_No) - goto _342 -_310: - ; /* wqitem ::= nm eidlist_opt wqas LP select RP */ + goto _346 +_312: + ; /* wqitem ::= withnm eidlist_opt wqas LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) /*A-overwrites-X*/ - goto _342 -_311: + goto _346 +_313: + ; /* withnm ::= nm */ + (*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1) + goto _346 +_314: ; /* wqlist ::= wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_312: + goto _346 +_315: ; /* wqlist ::= wqlist COMMA wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3WithAdd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_313: + goto _346 +_316: ; /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ _sqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_314: + goto _346 +_317: ; /* windowdefn ::= nm AS LP window RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)))) } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_315: + goto _346 +_318: ; /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_316: + goto _346 +_319: ; /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_317: + goto _346 +_320: ; /* window ::= ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_318: + goto _346 +_321: ; /* window ::= nm ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_319: + goto _346 +_322: ; /* window ::= nm frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_320: + goto _346 +_323: ; /* frame_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = _sqlite3WindowAlloc(tls, pParse, 0, int32(TK_UNBOUNDED), uintptr(0), int32(TK_CURRENT), uintptr(0), uint8(0)) - goto _342 -_321: + goto _346 +_324: ; /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), int32(TK_CURRENT), uintptr(0), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_322: + goto _346 +_325: ; /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_324: + goto _346 +_327: ; /* frame_bound_s ::= frame_bound */ -_323: +_326: ; *(*TFrameBound)(unsafe.Pointer(bp)) = *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_326: + goto _346 +_329: ; /* frame_bound_s ::= UNBOUNDED PRECEDING */ -_325: +_328: ; -_327: +_330: ; (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = uintptr(0) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_328: + goto _346 +_331: ; /* frame_bound ::= expr PRECEDING|FOLLOWING */ (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_329: + goto _346 +_332: ; /* frame_exclude_opt ::= */ *(*Tu8)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint8(0) - goto _342 -_330: + goto _346 +_333: ; /* frame_exclude_opt ::= EXCLUDE frame_exclude */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*Tu8)(unsafe.Pointer(yymsp + 8)) - goto _342 -_332: + goto _346 +_335: ; /* frame_exclude ::= NO OTHERS */ -_331: +_334: ; *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) /*A-overwrites-X*/ - goto _342 -_333: + goto _346 +_336: ; /* frame_exclude ::= GROUP|TIES */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_334: + goto _346 +_337: ; /* window_clause ::= WINDOW windowdefn_list */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_335: + goto _346 +_338: ; /* filter_over ::= filter_clause over_clause */ if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) @@ -156723,13 +158157,13 @@ _335: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_336: + goto _346 +_339: ; /* filter_over ::= over_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_337: + goto _346 +_340: ; /* filter_over ::= filter_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { @@ -156739,27 +158173,33 @@ _337: _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_338: + goto _346 +_341: ; /* over_clause ::= OVER LP window RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_339: + goto _346 +_342: ; /* over_clause ::= OVER nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) } - goto _342 -_340: + goto _346 +_343: ; /* filter_clause ::= FILTER LP WHERE expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_341: + goto _346 +_344: + ; /* term ::= QNUMBER */ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) + _sqlite3DequoteNumber(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))) + *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + goto _346 +_345: ; - goto _342 + goto _346 /********** End reduce actions ************************************************/ -_342: +_346: ; yygoto = int32(_yyRuleInfoLhs[yyruleno]) yysize = int32(_yyRuleInfoNRhs[yyruleno]) @@ -156793,9 +158233,9 @@ func _yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, _yyminor /************ Begin %syntax_error code ****************************************/ _ = yymajor /* Silence some compiler warnings */ if *(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp))).Fz)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23426, libc.VaList(bp+24, bp)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23549, libc.VaList(bp+24, bp)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23714, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23837, 0) } /************ End %syntax_error code ******************************************/ /* Suppress warning about unused %extra_argument variable */ @@ -156860,8 +158300,10 @@ func _sqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor TToken) { ** enough on the stack to push the LHS value */ if int32(_yyRuleInfoNRhs[yyruleno]) == 0 { if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos >= (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - _yyStackOverflow(tls, yypParser) - break + if _yyGrowStack(tls, yypParser) != 0 { + _yyStackOverflow(tls, yypParser) + break + } } } yyact = _yy_reduce(tls, yypParser, yyruleno, yymajor, yyminor, pParse) @@ -159010,9 +160452,9 @@ func _analyzeFilterKeyword(tls *libc.TLS, _z uintptr, lastToken int32) (r int32) // ** Store the token type in *tokenType before returning. // */ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { - var c, delim, i, n, v10, v14, v16, v19, v20, v3, v5, v7, v8 int32 - var v15, v6 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v14, v15, v16, v19, v20, v3, v5, v6, v7, v8 + var c, delim, i, n, v10, v16, v18, v21, v22, v3, v5, v7, v8 int32 + var v17, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v16, v17, v18, v21, v22, v3, v5, v6, v7, v8 switch int32(_aiClass[*(*uint8)(unsafe.Pointer(z))]) { /* Switch on the character-class of the first byte ** of the token. See the comment on the CC_ defines ** above. */ @@ -159208,39 +160650,83 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('X')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 2))])&int32(0x08) != 0 { i = int32(3) for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { + if !(int32(1) != 0) { break } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } goto _11 _11: ; i++ } - return i - } - i = 0 - for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _12 - _12: - ; - i++ - } - if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { - i++ - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + } else { + i = 0 + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _12 + _12: + ; i++ } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) - } - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { - i += int32(2) - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } i++ + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _13 + _13: + ; + i++ + } + } + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } + i += int32(2) + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _14 + _14: + ; + i++ + } } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) } for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x46) != 0 { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_ILLEGAL) @@ -159251,24 +160737,24 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { i = int32(1) c = int32(*(*uint8)(unsafe.Pointer(z))) for { - if v15 = c != int32(']'); v15 { - v14 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v14 + if v17 = c != int32(']'); v17 { + v16 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v16 } - if !(v15 && v14 != 0) { + if !(v17 && v16 != 0) { break } - goto _13 - _13: + goto _15 + _15: ; i++ } if c == int32(']') { - v16 = int32(TK_ID) + v18 = int32(TK_ID) } else { - v16 = int32(TK_ILLEGAL) + v18 = int32(TK_ILLEGAL) } - *(*int32)(unsafe.Pointer(tokenType)) = v16 + *(*int32)(unsafe.Pointer(tokenType)) = v18 return i case int32(CC_VARNUM): *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) @@ -159277,8 +160763,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { break } - goto _17 - _17: + goto _19 + _19: ; i++ } @@ -159290,9 +160776,9 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) i = int32(1) for { - v19 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v19 - if !(v19 != 0) { + v21 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v21 + if !(v21 != 0) { break } if int32(_sqlite3CtypeMap[uint8(c)])&int32(0x46) != 0 { @@ -159301,12 +160787,12 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if c == int32('(') && n > 0 { for { i++ - goto _21 - _21: + goto _23 + _23: ; - v20 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v20 - if !(v20 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { + v22 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v22 + if !(v22 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { break } } @@ -159324,8 +160810,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { } } } - goto _18 - _18: + goto _20 + _20: ; i++ } @@ -159343,8 +160829,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_aiClass[*(*uint8)(unsafe.Pointer(z + uintptr(i)))]) <= int32(CC_KYWD)) { break } - goto _22 - _22: + goto _24 + _24: ; i++ } @@ -159365,8 +160851,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { break } - goto _23 - _23: + goto _25 + _25: ; i++ } @@ -159418,7 +160904,7 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { var lastTokenParsed, mxSqlLen, n, nErr int32 var _ /* sEngine at bp+8 */ TyyParser var _ /* tokenType at bp+0 */ int32 - var _ /* x at bp+2432 */ TToken + var _ /* x at bp+2440 */ TToken _, _, _, _, _, _, _ = db, lastTokenParsed, mxSqlLen, n, nErr, pEngine, pParentParse nErr = 0 /* The LEMON-generated LALR(1) parser */ n = 0 /* type of the next token */ @@ -159476,10 +160962,12 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp)) == int32(TK_FILTER) { *(*int32)(unsafe.Pointer(bp)) = _analyzeFilterKeyword(tls, zSql+6, lastTokenParsed) } else { - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fz = zSql - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fn = uint32(n) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23731, libc.VaList(bp+2456, bp+2432)) - break + if *(*int32)(unsafe.Pointer(bp)) != int32(TK_QNUMBER) { + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fz = zSql + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fn = uint32(n) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23854, libc.VaList(bp+2464, bp+2440)) + break + } } } } @@ -159500,9 +160988,9 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { } if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg != 0 || (*TParse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK && (*TParse)(unsafe.Pointer(pParse)).Frc != int32(SQLITE_DONE) { if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) { - (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3827, libc.VaList(bp+2456, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) + (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3891, libc.VaList(bp+2464, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) } - Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23756, libc.VaList(bp+2456, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) + Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23879, libc.VaList(bp+2464, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) nErr++ } (*TParse)(unsafe.Pointer(pParse)).FzTail = zSql @@ -159694,7 +161182,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('c'): fallthrough case int32('C'): - if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23767, int32(6)) == 0 { + if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23890, int32(6)) == 0 { token = uint8(tkCREATE) } else { token = uint8(tkOTHER) @@ -159702,13 +161190,13 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('t'): fallthrough case int32('T'): - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20411, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20543, int32(7)) == 0 { token = uint8(tkTRIGGER) } else { - if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23774, int32(4)) == 0 { + if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23897, int32(4)) == 0 { token = uint8(tkTEMP) } else { - if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23779, int32(9)) == 0 { + if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23902, int32(9)) == 0 { token = uint8(tkTEMP) } else { token = uint8(tkOTHER) @@ -159718,10 +161206,10 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('e'): fallthrough case int32('E'): - if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23789, int32(3)) == 0 { + if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23912, int32(3)) == 0 { token = uint8(tkEND) } else { - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23793, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23916, int32(7)) == 0 { token = uint8(tkEXPLAIN) } else { token = uint8(tkOTHER) @@ -160163,7 +161651,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) { */ if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 { if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)<= 0 && rc < int32(libc.Uint64FromInt64(232)/libc.Uint64FromInt64(8)) && _aMsg[rc] != uintptr(0) { @@ -161301,31 +162789,31 @@ func _sqlite3ErrStr(tls *libc.TLS, rc int32) (r uintptr) { } var _aMsg = [29]uintptr{ - 0: __ccgo_ts + 23869, - 1: __ccgo_ts + 23882, - 3: __ccgo_ts + 23898, - 4: __ccgo_ts + 23923, - 5: __ccgo_ts + 23937, - 6: __ccgo_ts + 23956, - 7: __ccgo_ts + 1650, - 8: __ccgo_ts + 23981, - 9: __ccgo_ts + 24018, - 10: __ccgo_ts + 24030, - 11: __ccgo_ts + 24045, - 12: __ccgo_ts + 24078, - 13: __ccgo_ts + 24096, - 14: __ccgo_ts + 24121, - 15: __ccgo_ts + 24150, - 17: __ccgo_ts + 6053, - 18: __ccgo_ts + 5455, - 19: __ccgo_ts + 24167, - 20: __ccgo_ts + 24185, - 21: __ccgo_ts + 24203, - 23: __ccgo_ts + 24237, - 25: __ccgo_ts + 24258, - 26: __ccgo_ts + 24284, - 27: __ccgo_ts + 24307, - 28: __ccgo_ts + 24328, + 0: __ccgo_ts + 23992, + 1: __ccgo_ts + 24005, + 3: __ccgo_ts + 24021, + 4: __ccgo_ts + 24046, + 5: __ccgo_ts + 24060, + 6: __ccgo_ts + 24079, + 7: __ccgo_ts + 1664, + 8: __ccgo_ts + 24104, + 9: __ccgo_ts + 24141, + 10: __ccgo_ts + 24153, + 11: __ccgo_ts + 24168, + 12: __ccgo_ts + 24201, + 13: __ccgo_ts + 24219, + 14: __ccgo_ts + 24244, + 15: __ccgo_ts + 24273, + 17: __ccgo_ts + 6117, + 18: __ccgo_ts + 5519, + 19: __ccgo_ts + 24290, + 20: __ccgo_ts + 24308, + 21: __ccgo_ts + 24326, + 23: __ccgo_ts + 24360, + 25: __ccgo_ts + 24381, + 26: __ccgo_ts + 24407, + 27: __ccgo_ts + 24430, + 28: __ccgo_ts + 24451, } // C documentation @@ -161504,7 +162992,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i var p, v1 uintptr _, _, _, _ = extraFlags, p, rc, v1 if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) { - return _sqlite3MisuseError(tls, int32(180244)) + return _sqlite3MisuseError(tls, int32(181689)) } extraFlags = enc & (libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_INNOCUOUS) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)) enc &= libc.Int32FromInt32(SQLITE_FUNC_ENCMASK) | libc.Int32FromInt32(SQLITE_ANY) @@ -161547,7 +163035,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i p = _sqlite3FindFunction(tls, db, zFunctionName, nArg, uint8(enc), uint8(0)) if p != 0 && (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) == uint32(enc) && int32((*TFuncDef)(unsafe.Pointer(p)).FnArg) == nArg { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24425, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24548, 0) return int32(SQLITE_BUSY) } else { _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -161673,7 +163161,7 @@ func _sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotU zName = Xsqlite3_user_data(tls, context) _ = NotUsed _ = NotUsed2 - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24488, libc.VaList(bp+8, zName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24611, libc.VaList(bp+8, zName)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -161704,7 +163192,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i if rc != 0 { return SQLITE_OK } - zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+8, zName)) + zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+8, zName)) if zCopy == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -161948,7 +163436,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) { /* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint ** mode: */ - return _sqlite3MisuseError(tls, int32(180859)) + return _sqlite3MisuseError(tls, int32(182304)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if zDb != 0 && *(*int8)(unsafe.Pointer(zDb)) != 0 { @@ -161958,7 +163446,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in } if iDb < 0 { rc = int32(SQLITE_ERROR) - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24539, libc.VaList(bp+8, zDb)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24662, libc.VaList(bp+8, zDb)) } else { (*Tsqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = _sqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -162080,7 +163568,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) { return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM)) } if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(180995))) + return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(182440))) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -162212,7 +163700,7 @@ var _misuse = [34]Tu16{ // */ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181074)) + return _sqlite3MisuseError(tls, int32(182519)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -162222,7 +163710,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181083)) + return _sqlite3MisuseError(tls, int32(182528)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -162271,7 +163759,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui enc2 = int32(SQLITE_UTF16LE) } if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) { - return _sqlite3MisuseError(tls, int32(181131)) + return _sqlite3MisuseError(tls, int32(182576)) } /* Check if this call is removing or replacing an existing collation ** sequence. If so, and there are active VMs, return busy. If there @@ -162280,7 +163768,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui pColl = _sqlite3FindCollSeq(tls, db, uint8(enc2), zName, 0) if pColl != 0 && (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24560, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24683, 0) return int32(SQLITE_BUSY) } _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -162427,7 +163915,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u flags = *(*uint32)(unsafe.Pointer(pFlags)) zVfs = zDefaultVfs nUri = _sqlite3Strlen30(tls, zUri) - if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24628, uint64(5)) == 0 { /* Input character index */ + if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24751, uint64(5)) == 0 { /* Input character index */ iOut = 0 /* Output character index */ nByte = uint64(nUri + int32(8)) /* Bytes of space to allocate */ /* Make sure the SQLITE_OPEN_URI flag is set to indicate to the VFS xOpen @@ -162457,8 +163945,8 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u for *(*int8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0 && int32(*(*int8)(unsafe.Pointer(zUri + uintptr(iIn)))) != int32('/') { iIn++ } - if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24634, zUri+7, uint64(9)) != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24644, libc.VaList(bp+8, iIn-int32(7), zUri+7)) + if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24757, zUri+7, uint64(9)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24767, libc.VaList(bp+8, iIn-int32(7), zUri+7)) rc = int32(SQLITE_ERROR) goto parse_uri_out } @@ -162547,24 +164035,24 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u nOpt = _sqlite3Strlen30(tls, zOpt) zVal = zOpt + uintptr(nOpt+int32(1)) nVal = _sqlite3Strlen30(tls, zVal) - if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24672, zOpt, uint64(3)) == 0 { + if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24795, zOpt, uint64(3)) == 0 { zVfs = zVal } else { aMode = uintptr(0) zModeType = uintptr(0) mask = 0 limit = 0 - if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24676, zOpt, uint64(5)) == 0 { + if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24799, zOpt, uint64(5)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_SHAREDCACHE) | libc.Int32FromInt32(SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&_aCacheMode)) limit = mask - zModeType = __ccgo_ts + 24676 + zModeType = __ccgo_ts + 24799 } - if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24697, zOpt, uint64(4)) == 0 { + if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24820, zOpt, uint64(4)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_READONLY) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&_aOpenMode)) limit = int32(uint32(mask) & flags) - zModeType = __ccgo_ts + 3436 + zModeType = __ccgo_ts + 3500 } if aMode != 0 { mode = 0 @@ -162593,12 +164081,12 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u i++ } if mode == 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24712, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24835, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_ERROR) goto parse_uri_out } if mode & ^libc.Int32FromInt32(SQLITE_OPEN_MEMORY) > limit { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24732, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24855, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_PERM) goto parse_uri_out } @@ -162622,7 +164110,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u } *(*uintptr)(unsafe.Pointer(ppVfs)) = Xsqlite3_vfs_find(tls, zVfs) if *(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24756, libc.VaList(bp+8, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24879, libc.VaList(bp+8, zVfs)) rc = int32(SQLITE_ERROR) } goto parse_uri_out @@ -162642,11 +164130,11 @@ var _aCacheMode = [3]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24682, + Fz: __ccgo_ts + 24805, Fmode: int32(SQLITE_OPEN_SHAREDCACHE), }, 1: { - Fz: __ccgo_ts + 24689, + Fz: __ccgo_ts + 24812, Fmode: int32(SQLITE_OPEN_PRIVATECACHE), }, 2: {}, @@ -162657,19 +164145,19 @@ var _aOpenMode = [5]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24702, + Fz: __ccgo_ts + 24825, Fmode: int32(SQLITE_OPEN_READONLY), }, 1: { - Fz: __ccgo_ts + 24705, + Fz: __ccgo_ts + 24828, Fmode: int32(SQLITE_OPEN_READWRITE), }, 2: { - Fz: __ccgo_ts + 24708, + Fz: __ccgo_ts + 24831, Fmode: libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE), }, 3: { - Fz: __ccgo_ts + 17796, + Fz: __ccgo_ts + 17883, Fmode: int32(SQLITE_OPEN_MEMORY), }, 4: {}, @@ -162797,8 +164285,8 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16BE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+22383, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+24772, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+22528, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+24895, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto opendb_out } @@ -162819,7 +164307,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* READWRITE */ /* READWRITE | CREATE */ if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 { - rc = _sqlite3MisuseError(tls, int32(181803)) /* IMP: R-18321-05872 */ + rc = _sqlite3MisuseError(tls, int32(183248)) /* IMP: R-18321-05872 */ } else { rc = _sqlite3ParseUri(tls, zVfs, zFilename, bp, db, bp+8, bp+16) } @@ -162828,7 +164316,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _sqlite3OomFault(tls, db) } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { - v2 = __ccgo_ts + 3827 + v2 = __ccgo_ts + 3891 } else { v2 = uintptr(0) } @@ -162855,9 +164343,9 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* The default safety_level for the main database is FULL; for the temp ** database it is OFF. This matches the pager layer defaults. */ - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6617 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6681 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).Fsafety_level = uint8(libc.Int32FromInt32(SQLITE_DEFAULT_SYNCHRONOUS) + libc.Int32FromInt32(1)) - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23774 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23897 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).Fsafety_level = uint8(PAGER_SYNCHRONOUS_OFF) (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState = uint8(SQLITE_STATE_OPEN) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -162951,7 +164439,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) { return rc } if zFilename == uintptr(0) { - zFilename = __ccgo_ts + 24778 + zFilename = __ccgo_ts + 24901 } pVal = _sqlite3ValueNew(tls, uintptr(0)) _sqlite3ValueSetStr(tls, pVal, -int32(1), zFilename, uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(0)) @@ -163168,20 +164656,20 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) (r int32) { func _sqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, __ccgo_ts+24781, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) + Xsqlite3_log(tls, iErr, __ccgo_ts+24904, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) return iErr } func _sqlite3CorruptError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24806) + return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24929) } func _sqlite3MisuseError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24826) + return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24949) } func _sqlite3CantopenError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24833) + return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24956) } // C documentation @@ -163312,11 +164800,11 @@ error_out: } if SQLITE_OK == rc && !(pTab != 0) { _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24850, libc.VaList(bp+16, zTableName, zColumnName)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24973, libc.VaList(bp+16, zTableName, zColumnName)) rc = int32(SQLITE_ERROR) } if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - v3 = __ccgo_ts + 3827 + v3 = __ccgo_ts + 3891 } else { v3 = uintptr(0) } @@ -164340,7 +165828,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) (r int32) { var _ /* nOpt at bp+0 */ int32 _, _, _ = azCompileOpt, i, n azCompileOpt = _sqlite3CompileOptions(tls, bp) - if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24878, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+25001, int32(7)) == 0 { zOptName += uintptr(7) } n = _sqlite3Strlen30(tls, zOptName) @@ -164558,7 +166046,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui } _leaveMutex(tls) if rc != 0 { - v2 = __ccgo_ts + 24886 + v2 = __ccgo_ts + 25009 } else { v2 = uintptr(0) } @@ -165438,23 +166926,23 @@ func _sqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { // ** string must correspond to the JSONB_* integer above. // */ var _jsonbType = [17]uintptr{ - 0: __ccgo_ts + 1666, - 1: __ccgo_ts + 7918, - 2: __ccgo_ts + 7923, - 3: __ccgo_ts + 6338, - 4: __ccgo_ts + 6338, - 5: __ccgo_ts + 6333, - 6: __ccgo_ts + 6333, - 7: __ccgo_ts + 8229, - 8: __ccgo_ts + 8229, - 9: __ccgo_ts + 8229, - 10: __ccgo_ts + 8229, - 11: __ccgo_ts + 24909, - 12: __ccgo_ts + 24915, - 13: __ccgo_ts + 1680, - 14: __ccgo_ts + 1680, - 15: __ccgo_ts + 1680, - 16: __ccgo_ts + 1680, + 0: __ccgo_ts + 1680, + 1: __ccgo_ts + 8043, + 2: __ccgo_ts + 8048, + 3: __ccgo_ts + 6402, + 4: __ccgo_ts + 6402, + 5: __ccgo_ts + 6397, + 6: __ccgo_ts + 6397, + 7: __ccgo_ts + 8354, + 8: __ccgo_ts + 8354, + 9: __ccgo_ts + 8354, + 10: __ccgo_ts + 8354, + 11: __ccgo_ts + 25032, + 12: __ccgo_ts + 25038, + 13: __ccgo_ts + 1694, + 14: __ccgo_ts + 1694, + 15: __ccgo_ts + 1694, + 16: __ccgo_ts + 1694, } // C documentation @@ -166217,6 +167705,38 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { _jsonAppendChar(tls, p, int8(',')) } +// C documentation +// +// /* c is a control character. Append the canonical JSON representation +// ** of that control character to p. +// ** +// ** This routine assumes that the output buffer has already been enlarged +// ** sufficiently to hold the worst-case encoding plus a nul terminator. +// */ +func _jsonAppendControlChar(tls *libc.TLS, p uintptr, c Tu8) { + if _aSpecial[c] != 0 { + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = int8('\\') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = _aSpecial[c] + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(2) + } else { + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = int8('\\') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = int8('u') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(2)))) = int8('0') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(3)))) = int8('0') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(4)))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25045 + uintptr(int32(c)>>int32(4)))) + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(5)))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 25045 + uintptr(int32(c)&int32(0xf)))) + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(6) + } +} + +var _aSpecial = [32]int8{ + 8: int8('b'), + 9: int8('t'), + 10: int8('n'), + 12: int8('f'), + 13: int8('r'), +} + // C documentation // // /* Append the N-byte string in zIn to the end of the JsonString string @@ -166230,9 +167750,9 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { var c Tu8 var k Tu32 - var z, v10, v12, v14, v16, v18, v2, v20, v22, v24, v6, v8 uintptr - var v1, v11, v13, v15, v17, v19, v21, v23, v5, v7, v9 Tu64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v5, v6, v7, v8, v9 + var z, v10, v2, v4, v6, v8 uintptr + var v1, v3, v5, v7, v9 Tu64 + _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v2, v3, v4, v5, v6, v7, v8, v9 z = zIn if z == uintptr(0) { return @@ -166289,81 +167809,38 @@ func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { N -= k } c = *(*Tu8)(unsafe.Pointer(z)) - if !(int32(c) == int32('"') || int32(c) == int32('\\')) { - goto _3 - } - goto json_simple_escape - json_simple_escape: - ; - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { - return - } - v6 = p + 24 - v5 = *(*Tu64)(unsafe.Pointer(v6)) - *(*Tu64)(unsafe.Pointer(v6))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = int8('\\') - v8 = p + 24 - v7 = *(*Tu64)(unsafe.Pointer(v8)) - *(*Tu64)(unsafe.Pointer(v8))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = int8(c) - goto _4 - _3: - ; - if int32(c) == int32('\'') { - v10 = p + 24 - v9 = *(*Tu64)(unsafe.Pointer(v10)) - *(*Tu64)(unsafe.Pointer(v10))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = int8(c) - } else { - if _aSpecial[c] != 0 { - c = uint8(_aSpecial[c]) - goto json_simple_escape - } - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + if int32(c) == int32('"') || int32(c) == int32('\\') { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { return } - v12 = p + 24 - v11 = *(*Tu64)(unsafe.Pointer(v12)) - *(*Tu64)(unsafe.Pointer(v12))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v11))) = int8('\\') - v14 = p + 24 - v13 = *(*Tu64)(unsafe.Pointer(v14)) - *(*Tu64)(unsafe.Pointer(v14))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v13))) = int8('u') - v16 = p + 24 - v15 = *(*Tu64)(unsafe.Pointer(v16)) - *(*Tu64)(unsafe.Pointer(v16))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v15))) = int8('0') - v18 = p + 24 - v17 = *(*Tu64)(unsafe.Pointer(v18)) - *(*Tu64)(unsafe.Pointer(v18))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v17))) = int8('0') - v20 = p + 24 - v19 = *(*Tu64)(unsafe.Pointer(v20)) - *(*Tu64)(unsafe.Pointer(v20))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v19))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 24922 + uintptr(int32(c)>>int32(4)))) - v22 = p + 24 - v21 = *(*Tu64)(unsafe.Pointer(v22)) - *(*Tu64)(unsafe.Pointer(v22))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v21))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 24922 + uintptr(int32(c)&int32(0xf)))) + v4 = p + 24 + v3 = *(*Tu64)(unsafe.Pointer(v4)) + *(*Tu64)(unsafe.Pointer(v4))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v3))) = int8('\\') + v6 = p + 24 + v5 = *(*Tu64)(unsafe.Pointer(v6)) + *(*Tu64)(unsafe.Pointer(v6))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = int8(c) + } else { + if int32(c) == int32('\'') { + v8 = p + 24 + v7 = *(*Tu64)(unsafe.Pointer(v8)) + *(*Tu64)(unsafe.Pointer(v8))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = int8(c) + } else { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + return + } + _jsonAppendControlChar(tls, p, c) + } } - _4: - ; z++ N-- } - v24 = p + 24 - v23 = *(*Tu64)(unsafe.Pointer(v24)) - *(*Tu64)(unsafe.Pointer(v24))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v23))) = int8('"') -} - -var _aSpecial = [32]int8{ - 8: int8('b'), - 9: int8('t'), - 10: int8('n'), - 12: int8('f'), - 13: int8('r'), + v10 = p + 24 + v9 = *(*Tu64)(unsafe.Pointer(v10)) + *(*Tu64)(unsafe.Pointer(v10))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = int8('"') } // C documentation @@ -166381,9 +167858,9 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _, _, _, _ = n, n1, z, z1 switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_NULL): - _jsonAppendRawNZ(tls, p, __ccgo_ts+1666, uint32(4)) + _jsonAppendRawNZ(tls, p, __ccgo_ts+1680, uint32(4)) case int32(SQLITE_FLOAT): - _jsonPrintf(tls, int32(100), p, __ccgo_ts+15355, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) + _jsonPrintf(tls, int32(100), p, __ccgo_ts+15448, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) case int32(SQLITE_INTEGER): z = Xsqlite3_value_text(tls, pValue) n = uint32(Xsqlite3_value_bytes(tls, pValue)) @@ -166404,7 +167881,7 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _jsonTranslateBlobToText(tls, bp, uint32(0), p) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr) == 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24939, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25062, -int32(1)) (*TJsonString)(unsafe.Pointer(p)).FeErr = uint8(JSTRING_ERR) _jsonStringReset(tls, p) } @@ -166458,7 +167935,7 @@ func _jsonReturnString(tls *libc.TLS, p uintptr, pParse uintptr, ctx uintptr) { Xsqlite3_result_error_nomem(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr)&int32(JSTRING_MALFORMED) != 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24968, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25091, -int32(1)) } } } @@ -166741,8 +168218,8 @@ var _aNanInfName = [5]TNanInfName{ Fn: int8(3), FeType: int8(JSONB_FLOAT), FnRepl: int8(7), - FzMatch: __ccgo_ts + 24983, - FzRepl: __ccgo_ts + 24987, + FzMatch: __ccgo_ts + 25106, + FzRepl: __ccgo_ts + 25110, }, 1: { Fc1: int8('i'), @@ -166750,32 +168227,32 @@ var _aNanInfName = [5]TNanInfName{ Fn: int8(8), FeType: int8(JSONB_FLOAT), FnRepl: int8(7), - FzMatch: __ccgo_ts + 24995, - FzRepl: __ccgo_ts + 24987, + FzMatch: __ccgo_ts + 25118, + FzRepl: __ccgo_ts + 25110, }, 2: { Fc1: int8('n'), Fc2: int8('N'), Fn: int8(3), FnRepl: int8(4), - FzMatch: __ccgo_ts + 1671, - FzRepl: __ccgo_ts + 1666, + FzMatch: __ccgo_ts + 1685, + FzRepl: __ccgo_ts + 1680, }, 3: { Fc1: int8('q'), Fc2: int8('Q'), Fn: int8(4), FnRepl: int8(4), - FzMatch: __ccgo_ts + 25004, - FzRepl: __ccgo_ts + 1666, + FzMatch: __ccgo_ts + 25127, + FzRepl: __ccgo_ts + 1680, }, 4: { Fc1: int8('s'), Fc2: int8('S'), Fn: int8(4), FnRepl: int8(4), - FzMatch: __ccgo_ts + 25009, - FzRepl: __ccgo_ts + 1666, + FzMatch: __ccgo_ts + 25132, + FzRepl: __ccgo_ts + 1680, }, } @@ -166790,7 +168267,7 @@ func _jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25014, libc.VaList(bp+8, zFuncName)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25137, libc.VaList(bp+8, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) } @@ -167239,30 +168716,37 @@ func _jsonbValidityCheck(tls *libc.TLS, pParse uintptr, i Tu32, iEnd Tu32, iDept return j + uint32(1) } } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) <= int32(0x1f) { + /* Control characters in JSON5 string literals are ok */ + if int32(x) == int32(JSONB_TEXTJ) { + return j + uint32(1) + } } else { - if libc.Xstrchr(tls, __ccgo_ts+25057, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { - j++ + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { + return j + uint32(1) } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { - if j+uint32(5) >= k { - return j + uint32(1) - } - if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { - return j + uint32(1) - } + if libc.Xstrchr(tls, __ccgo_ts+25180, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { j++ } else { - if int32(x) != int32(JSONB_TEXT5) { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { + if j+uint32(5) >= k { + return j + uint32(1) + } + if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { + return j + uint32(1) + } + j++ } else { - *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) - szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) - if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + if int32(x) != int32(JSONB_TEXT5) { return j + uint32(1) + } else { + *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) + szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) + if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + return j + uint32(1) + } + j += szC - uint32(1) } - j += szC - uint32(1) } } } @@ -167689,9 +169173,14 @@ parse_string: } } else { if int32(c) <= int32(0x1f) { - /* Control characters are not allowed in strings */ - (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j - return -int32(1) + if int32(c) == 0 { + (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j + return -int32(1) + } + /* Control characters are not allowed in canonical JSON string + ** literals, but are allowed in JSON5 string literals. */ + opcode = uint8(JSONB_TEXT5) + (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) } else { if int32(c) == int32('"') { opcode = uint8(JSONB_TEXT5) @@ -167705,7 +169194,7 @@ parse_string: return int32(j + uint32(1)) _5: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7918, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8043, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_TRUE)) return int32(i + uint32(4)) } @@ -167713,7 +169202,7 @@ _5: return -int32(1) _6: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7923, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(5)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8048, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(5)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_FALSE)) return int32(i + uint32(5)) } @@ -167790,14 +169279,14 @@ parse_number: /* JSON5 allows for "+Infinity" and "-Infinity" using exactly ** that case. SQLite also allows these in any case and it allows ** "+inf" and "-inf". */ - if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+24983, int32(3)) == 0 { + if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+25106, int32(3)) == 0 { (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) if int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == int32('-') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25066) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25189) } else { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25073) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25196) } - if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25079, int32(5)) == 0 { + if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25202, int32(5)) == 0 { v48 = int32(9) } else { v48 = int32(4) @@ -167958,11 +169447,10 @@ _29: return -int32(1) _37: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1666, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1680, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) return int32(i + uint32(4)) } - /* fall-through into the default case that checks for NaN */ _38: ; c = *(*int8)(unsafe.Pointer(z + uintptr(i))) @@ -167982,7 +169470,7 @@ _38: goto _51 } if int32(_aNanInfName[k1].FeType) == int32(JSONB_FLOAT) { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25073) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25196) } else { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) } @@ -168027,7 +169515,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 i += _json5Whitespace(tls, zJson+uintptr(i)) if *(*int8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { if pCtx != 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24968, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25091, -int32(1)) } _jsonParseReset(tls, pParse) return int32(1) @@ -168040,7 +169528,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 if (*TJsonParse)(unsafe.Pointer(pParse)).Foom != 0 { Xsqlite3_result_error_nomem(tls, pCtx) } else { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24968, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25091, -int32(1)) } } _jsonParseReset(tls, pParse) @@ -168203,15 +169691,15 @@ func _jsonTranslateBlobToText(tls *libc.TLS, pParse uintptr, i Tu32, pOut uintpt goto _16 _2: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1666, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1680, uint32(4)) return i + uint32(1) _3: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7918, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8043, uint32(4)) return i + uint32(1) _4: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7923, uint32(5)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8048, uint32(5)) return i + uint32(1) _6: ; @@ -168260,9 +169748,9 @@ _7: k++ } if bOverflow != 0 { - v19 = __ccgo_ts + 24987 + v19 = __ccgo_ts + 25110 } else { - v19 = __ccgo_ts + 11785 + v19 = __ccgo_ts + 11910 } _jsonPrintf(tls, int32(100), pOut, v19, libc.VaList(bp+16, u)) goto _16 @@ -168310,7 +169798,7 @@ _11: for sz2 > uint32(0) { k2 = uint32(0) for { - if !(k2 < sz2 && int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('\\') && int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('"')) { + if !(k2 < sz2 && (_jsonIsOk[uint8(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2))))] != 0 || int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) == int32('\''))) { break } goto _21 @@ -168327,7 +169815,16 @@ _11: sz2 -= k2 } if int32(*(*int8)(unsafe.Pointer(zIn2))) == int32('"') { - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25085, uint32(2)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25208, uint32(2)) + zIn2++ + sz2-- + continue + } + if int32(*(*int8)(unsafe.Pointer(zIn2))) <= int32(0x1f) { + if (*TJsonString)(unsafe.Pointer(pOut)).FnUsed+uint64(7) > (*TJsonString)(unsafe.Pointer(pOut)).FnAlloc && _jsonStringGrow(tls, pOut, uint32(7)) != 0 { + break + } + _jsonAppendControlChar(tls, pOut, uint8(*(*int8)(unsafe.Pointer(zIn2)))) zIn2++ sz2-- continue @@ -168341,7 +169838,7 @@ _11: case int32('\''): _jsonAppendChar(tls, pOut, int8('\'')) case int32('v'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25088, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25211, uint32(6)) case int32('x'): if sz2 < uint32(4) { p23 = pOut + 33 @@ -168349,12 +169846,12 @@ _11: sz2 = uint32(2) break } - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25095, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25218, uint32(4)) _jsonAppendRawNZ(tls, pOut, zIn2+2, uint32(2)) zIn2 += uintptr(2) sz2 -= uint32(2) case int32('0'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25100, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25223, uint32(6)) case int32('\r'): if sz2 > uint32(2) && int32(*(*int8)(unsafe.Pointer(zIn2 + 2))) == int32('\n') { zIn2++ @@ -168443,6 +169940,140 @@ _16: return i + n + *(*Tu32)(unsafe.Pointer(bp)) } +// C documentation +// +// /* Context for recursion of json_pretty() +// */ +type TJsonPretty = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty = TJsonPretty + +type TJsonPretty1 = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty1 = TJsonPretty1 + +// C documentation +// +// /* Append indentation to the pretty JSON under construction */ +func _jsonPrettyIndent(tls *libc.TLS, pPretty uintptr) { + var jj Tu32 + _ = jj + jj = uint32(0) + for { + if !(jj < (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent) { + break + } + _jsonAppendRaw(tls, (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut, (*TJsonPretty)(unsafe.Pointer(pPretty)).FzIndent, (*TJsonPretty)(unsafe.Pointer(pPretty)).FszIndent) + goto _1 + _1: + ; + jj++ + } +} + +// C documentation +// +// /* +// ** Translate the binary JSONB representation of JSON beginning at +// ** pParse->aBlob[i] into a JSON text string. Append the JSON +// ** text onto the end of pOut. Return the index in pParse->aBlob[] +// ** of the first byte past the end of the element that is translated. +// ** +// ** This is a variant of jsonTranslateBlobToText() that "pretty-prints" +// ** the output. Extra whitespace is inserted to make the JSON easier +// ** for humans to read. +// ** +// ** If an error is detected in the BLOB input, the pOut->eErr flag +// ** might get set to JSTRING_MALFORMED. But not all BLOB input errors +// ** are detected. So a malformed JSONB input might either result +// ** in an error, or in incorrect JSON. +// ** +// ** The pOut->eErr JSTRING_OOM flag is set on a OOM. +// */ +func _jsonTranslateBlobToPrettyText(tls *libc.TLS, pPretty uintptr, i Tu32) (r Tu32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var iEnd, j, n Tu32 + var pOut, pParse, p1, p2 uintptr + var _ /* sz at bp+0 */ Tu32 + _, _, _, _, _, _, _ = iEnd, j, n, pOut, pParse, p1, p2 + pParse = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpParse + pOut = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut + n = _jsonbPayloadSize(tls, pParse, i, bp) + if n == uint32(0) { + p1 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + return (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob + uint32(1) + } + switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { + case int32(JSONB_ARRAY): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, int8('[')) + if j < iEnd { + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25230, uint32(2)) + } + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, int8(']')) + i = iEnd + case int32(JSONB_OBJECT): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, int8('{')) + if j < iEnd { + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToText(tls, pParse, j, pOut) + if j > iEnd { + p2 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p2)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p2))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25233, uint32(2)) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25230, uint32(2)) + } + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, int8('}')) + i = iEnd + default: + i = _jsonTranslateBlobToText(tls, pParse, i, pOut) + break + } + return i +} + // C documentation // // /* Return true if the input pJson @@ -169160,7 +170791,7 @@ func _jsonReturnFromBlob(tls *libc.TLS, pParse uintptr, i Tu32, pCtx uintptr, te db = Xsqlite3_context_db_handle(tls, pCtx) n = _jsonbPayloadSize(tls, pParse, i, bp) if n == uint32(0) { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24968, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25091, -int32(1)) return } switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { @@ -169396,7 +171027,7 @@ returnfromblob_oom: goto returnfromblob_malformed returnfromblob_malformed: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24968, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25091, -int32(1)) return } @@ -169437,7 +171068,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob = Xsqlite3_value_blob(tls, pArg) (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob = uint32(Xsqlite3_value_bytes(tls, pArg)) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24939, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25062, -int32(1)) return int32(1) } case int32(SQLITE_TEXT): @@ -169450,7 +171081,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FzJson = zJson (*TJsonParse)(unsafe.Pointer(pParse)).FnJson = nJson if _jsonConvertTextToBlob(tls, pParse, ctx) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24968, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25091, -int32(1)) _sqlite3DbFree(tls, (*TJsonParse)(unsafe.Pointer(pParse)).Fdb, (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob) libc.Xmemset(tls, pParse, 0, uint64(72)) return int32(1) @@ -169469,10 +171100,10 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin return int32(1) } if int32(*(*int8)(unsafe.Pointer(z))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25073) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25196) } else { if int32(*(*int8)(unsafe.Pointer(z))) == int32('-') && int32(*(*int8)(unsafe.Pointer(z + 1))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25066) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25189) } else { _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(n), z) } @@ -169511,7 +171142,7 @@ func _jsonBadPathError(tls *libc.TLS, ctx uintptr, zPath uintptr) (r uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25107, libc.VaList(bp+8, zPath)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25236, libc.VaList(bp+8, zPath)) if ctx == uintptr(0) { return zMsg } @@ -169608,7 +171239,7 @@ jsonInsertIntoBlob_patherror: ; _jsonParseFree(tls, p) if rc == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24968, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25091, -int32(1)) } else { _jsonBadPathError(tls, ctx, zPath) } @@ -169790,7 +171421,7 @@ json_pfa_malformed: return p } else { _jsonParseFree(tls, p) - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24968, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25091, -int32(1)) return uintptr(0) } goto json_pfa_oom @@ -169925,7 +171556,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if int32(*(*int8)(unsafe.Pointer(zPath))) == int32('$') { v1 = zPath + uintptr(1) } else { - v1 = __ccgo_ts + 25125 + v1 = __ccgo_ts + 25254 } i = _jsonLookupStep(tls, p, uint32(0), v1, uint32(0)) if i >= uint32(JSON_LOOKUP_PATHERROR) { @@ -169935,7 +171566,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24968, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25091, -int32(1)) } } eErr = uint8(1) @@ -169953,25 +171584,6 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) _jsonParseFree(tls, p) } -// C documentation -// -// /* True if the string is all digits */ -func _jsonAllDigits(tls *libc.TLS, z uintptr, n int32) (r int32) { - var i int32 - _ = i - i = 0 - for { - if !(i < n && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&int32(0x04) != 0) { - break - } - goto _1 - _1: - ; - i++ - } - return libc.BoolInt32(i == n) -} - // C documentation // // /* True if the string is all alphanumerics and underscores */ @@ -170058,21 +171670,21 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { ** [NUMBER] ==> $[NUMBER] // Not PG. Purely for convenience */ _jsonStringInit(tls, bp, ctx) - if _jsonAllDigits(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25127, uint32(1)) + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) == int32(SQLITE_INTEGER) { + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25256, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+5193, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+5257, uint32(2)) } else { if _jsonAllAlphanum(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1693, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1707, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { if int32(*(*int8)(unsafe.Pointer(zPath))) == int32('[') && nPath >= int32(3) && int32(*(*int8)(unsafe.Pointer(zPath + uintptr(nPath-int32(1))))) == int32(']') { _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25129, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25258, uint32(2)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25132, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25261, uint32(1)) } } } @@ -170108,11 +171720,11 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { goto json_extract_error /* Return NULL if not found */ } else { _jsonAppendSeparator(tls, bp) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1666, uint32(4)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1680, uint32(4)) } } else { if j == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24968, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25091, -int32(1)) goto json_extract_error } else { _jsonBadPathError(tls, ctx, zPath) @@ -170380,7 +171992,7 @@ func _jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == int32(JSON_MERGE_OOM) { Xsqlite3_result_error_nomem(tls, ctx) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24968, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25091, -int32(1)) } } _jsonParseFree(tls, pPatch) @@ -170404,7 +172016,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { var _ /* jx at bp+0 */ TJsonString _, _, _ = i, n, z if argc&int32(1) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25134, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25263, -int32(1)) return } _jsonStringInit(tls, bp, ctx) @@ -170415,7 +172027,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { break } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != int32(SQLITE_TEXT) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25185, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25314, -int32(1)) _jsonStringReset(tls, bp) return } @@ -170487,7 +172099,7 @@ func _jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24968, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25091, -int32(1)) } } goto json_remove_done @@ -170524,7 +172136,7 @@ func _jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { return } if argc&int32(1) == 0 { - _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15828) + _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15921) return } _jsonInsertIntoBlob(tls, ctx, argc, argv, int32(JEDIT_REPL)) @@ -170555,9 +172167,9 @@ func _jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { } if argc&int32(1) == 0 { if bIsSet != 0 { - v1 = __ccgo_ts + 25219 + v1 = __ccgo_ts + 25348 } else { - v1 = __ccgo_ts + 25223 + v1 = __ccgo_ts + 25352 } _jsonWrongNumArgs(tls, ctx, v1) return @@ -170605,7 +172217,7 @@ func _jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24968, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25091, -int32(1)) } } goto json_type_done @@ -170620,6 +172232,48 @@ json_type_done: _jsonParseFree(tls, p) } +// C documentation +// +// /* +// ** json_pretty(JSON) +// ** json_pretty(JSON, INDENT) +// ** +// ** Return text that is a pretty-printed rendering of the input JSON. +// ** If the argument is not valid JSON, return NULL. +// ** +// ** The INDENT argument is text that is used for indentation. If omitted, +// ** it defaults to four spaces (the same as PostgreSQL). +// */ +func _jsonPrettyFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { + bp := tls.Alloc(176) + defer tls.Free(176) + var v1 uintptr + var v2 bool + var _ /* s at bp+0 */ TJsonString + var _ /* x at bp+136 */ TJsonPretty + _, _ = v1, v2 /* Pretty printing context */ + libc.Xmemset(tls, bp+136, 0, uint64(32)) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse = _jsonParseFuncArg(tls, ctx, *(*uintptr)(unsafe.Pointer(argv)), uint32(0)) + if (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse == uintptr(0) { + return + } + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpOut = bp + _jsonStringInit(tls, bp, ctx) + if v2 = argc == int32(1); !v2 { + v1 = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = v1 + } + if v2 || v1 == uintptr(0) { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = __ccgo_ts + 25359 + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(4) + } else { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(libc.Xstrlen(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent)) + } + _jsonTranslateBlobToPrettyText(tls, bp+136, uint32(0)) + _jsonReturnString(tls, bp, uintptr(0), uintptr(0)) + _jsonParseFree(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse) +} + // C documentation // // /* @@ -170694,7 +172348,7 @@ func _jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if argc == int32(2) { f = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if f < int64(1) || f > int64(15) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25230, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25364, -int32(1)) return } flags = uint8(f & int64(0x0f)) @@ -170883,7 +172537,7 @@ func _jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25287, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25421, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -171032,7 +172686,7 @@ func _jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25290, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25424, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -171135,7 +172789,7 @@ func _jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argv _ = argc _ = pAux - rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25293) + rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25427) if rc == SQLITE_OK { pNew = _sqlite3DbMallocZero(tls, db, uint64(32)) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -171269,7 +172923,7 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { var _ /* sz at bp+0 */ Tu32 _, _, _, _, _ = i, k, n, needQuote, z if int32((*TJsonEachCursor)(unsafe.Pointer(p)).FeType) == int32(JSONB_ARRAY) { - _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25376, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) + _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25510, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) } else { *(*Tu32)(unsafe.Pointer(bp)) = uint32(0) needQuote = 0 @@ -171295,9 +172949,9 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { } } if needQuote != 0 { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25383, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25517, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } else { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25391, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25525, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } } } @@ -171683,7 +173337,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a i = v5 (*TJsonEachCursor)(unsafe.Pointer(p)).FeType = uint8(0) (*TJsonEachCursor)(unsafe.Pointer(p)).FnRoot = uint32(1) - _jsonAppendRaw(tls, p+56, __ccgo_ts+25397, uint32(1)) + _jsonAppendRaw(tls, p+56, __ccgo_ts+25531, uint32(1)) } (*TJsonEachCursor)(unsafe.Pointer(p)).FnParent = uint32(0) n = _jsonbPayloadSize(tls, p+192, i, bp) @@ -171707,7 +173361,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a json_each_malformed_input: ; Xsqlite3_free(tls, (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg) - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24968, 0) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25091, 0) _jsonEachCursorReset(tls, p) if (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { v6 = int32(SQLITE_ERROR) @@ -171761,183 +173415,193 @@ func init() { // ** Register JSON functions. // */ func _sqlite3RegisterJsonFunctions(tls *libc.TLS) { - _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2304)/libc.Uint64FromInt64(72))) + _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2448)/libc.Uint64FromInt64(72))) } -var _aJsonFunc = [32]TFuncDef{ +var _aJsonFunc = [34]TFuncDef{ 0: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25399, + FzName: __ccgo_ts + 25533, }, 1: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25404, + FzName: __ccgo_ts + 25538, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25410, + FzName: __ccgo_ts + 25544, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25421, + FzName: __ccgo_ts + 25555, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25433, + FzName: __ccgo_ts + 25567, }, 5: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25433, + FzName: __ccgo_ts + 25567, }, 6: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25451, + FzName: __ccgo_ts + 25585, }, 7: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25471, + FzName: __ccgo_ts + 25605, }, 8: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25484, + FzName: __ccgo_ts + 25618, }, 9: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_JSON) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25498, + FzName: __ccgo_ts + 25632, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_SQL) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25501, + FzName: __ccgo_ts + 25635, }, 11: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25505, + FzName: __ccgo_ts + 25639, }, 12: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25517, + FzName: __ccgo_ts + 25651, }, 13: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25530, + FzName: __ccgo_ts + 25664, }, 14: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25542, + FzName: __ccgo_ts + 25676, }, 15: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25555, + FzName: __ccgo_ts + 25689, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25566, + FzName: __ccgo_ts + 25700, }, 17: { FnArg: int8(1), - FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25578, + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25712, }, 18: { + FnArg: int8(2), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25712, + }, + 19: { + FnArg: int8(1), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25724, + }, + 20: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25589, + FzName: __ccgo_ts + 25735, }, - 19: { + 21: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25601, + FzName: __ccgo_ts + 25747, }, - 20: { + 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25614, + FzName: __ccgo_ts + 25760, }, - 21: { + 23: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25627, + FzName: __ccgo_ts + 25773, }, - 22: { + 24: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25641, + FzName: __ccgo_ts + 25787, }, - 23: { + 25: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25650, + FzName: __ccgo_ts + 25796, }, - 24: { + 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25660, + FzName: __ccgo_ts + 25806, }, - 25: { + 27: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25660, + FzName: __ccgo_ts + 25806, }, - 26: { + 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25670, + FzName: __ccgo_ts + 25816, }, - 27: { + 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25670, + FzName: __ccgo_ts + 25816, }, - 28: { + 30: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25681, + FzName: __ccgo_ts + 25827, }, - 29: { + 31: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25698, + FzName: __ccgo_ts + 25844, }, - 30: { + 32: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25716, + FzName: __ccgo_ts + 25862, }, - 31: { + 33: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25734, + FzName: __ccgo_ts + 25880, }, } @@ -171960,33 +173624,35 @@ func init() { *(*uintptr)(unsafe.Add(p, 1032)) = __ccgo_fp(_jsonObjectFunc) *(*uintptr)(unsafe.Add(p, 1104)) = __ccgo_fp(_jsonPatchFunc) *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonPatchFunc) - *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonQuoteFunc) - *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2048)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2056)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2064)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2120)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2128)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2136)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonQuoteFunc) + *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2208)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2280)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2328)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2336)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2344)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2352)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2400)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2408)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2416)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2424)) = __ccgo_fp(_jsonGroupInverse) } // C documentation @@ -172018,11 +173684,11 @@ var _aMod = [2]struct { FpModule uintptr }{ 0: { - FzName: __ccgo_ts + 25753, + FzName: __ccgo_ts + 25899, FpModule: uintptr(unsafe.Pointer(&_jsonEachModule)), }, 1: { - FzName: __ccgo_ts + 25763, + FzName: __ccgo_ts + 25909, FpModule: uintptr(unsafe.Pointer(&_jsonTreeModule)), }, } @@ -172668,7 +174334,7 @@ func _nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode Ti64, pParent uintptr, pp } } if (*TRtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) { - rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25773, iNode, 0, pRtree+112) + rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25919, iNode, 0, pRtree+112) } if rc != 0 { *(*uintptr)(unsafe.Pointer(ppNode)) = uintptr(0) @@ -172973,7 +174639,7 @@ func _rtreeDestroy(tls *libc.TLS, pVtab uintptr) (r int32) { var rc int32 _, _, _ = pRtree, rc, zCreate pRtree = pVtab - zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25778, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25924, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if !(zCreate != 0) { rc = int32(SQLITE_NOMEM) } else { @@ -173890,7 +175556,7 @@ func _findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid Ti64, ppLeaf uintptr, p func _deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) (r int32) { var pBlob, pInfo, pSrc uintptr _, _, _ = pBlob, pInfo, pSrc /* Callback information */ - pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25860) + pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+26006) if pSrc == uintptr(0) { return int32(SQLITE_ERROR) } @@ -173945,7 +175611,7 @@ func _rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp iRowid = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) *(*Ti64)(unsafe.Pointer(bp + 24)) = 0 eType = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) == float64(iRowid) { + if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && 0 == _sqlite3IntFloatCompare(tls, iRowid, Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))) { rc = _findLeafNode(tls, pRtree, iRowid, bp+16, bp+24) } else { rc = SQLITE_OK @@ -175425,7 +177091,7 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) var _ /* pStmt at bp+0 */ uintptr _, _, _, _, _, _ = rc, zCol, zCol1, zCol2, zSql, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25874, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26020, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -int32(1), bp, uintptr(0)) } else { @@ -175435,11 +177101,11 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) if rc == SQLITE_OK { if iCol == 0 { zCol = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25894, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26040, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { zCol1 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol) zCol2 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol+int32(1)) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25926, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26072, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -175653,7 +177319,7 @@ func _rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) (r int32) { _, _, _ = pRtree, rc, zSql pRtree = pVtab rc = int32(SQLITE_NOMEM) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25963, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26109, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) if zSql != 0 { _nodeBlobReset(tls, pRtree) rc = Xsqlite3_exec(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -175707,9 +177373,9 @@ func _rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) (r int32) { var v2 int64 var _ /* p at bp+0 */ uintptr _, _, _, _, _, _ = nRow, rc, zFmt, zSql, v1, v2 - zFmt = __ccgo_ts + 26108 + zFmt = __ccgo_ts + 26254 nRow = int64(RTREE_MIN_ROWEST) - rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11614, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11739, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == int32(SQLITE_ERROR) { @@ -175767,9 +177433,9 @@ func _rtreeShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName1 = [3]uintptr{ - 0: __ccgo_ts + 26164, - 1: __ccgo_ts + 5516, - 2: __ccgo_ts + 16726, + 0: __ccgo_ts + 26310, + 1: __ccgo_ts + 5580, + 2: __ccgo_ts + 16813, } var _rtreeModule = Tsqlite3_module{ @@ -175813,21 +177479,21 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref (*TRtree)(unsafe.Pointer(pRtree)).Fdb = db if isCreate != 0 { p = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26578, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26724, libc.VaList(bp+8, zDb, zPrefix)) ii = 0 for { if !(ii < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26640, libc.VaList(bp+8, ii)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26786, libc.VaList(bp+8, ii)) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26645, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26709, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26779, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26791, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26855, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26925, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return int32(SQLITE_NOMEM) @@ -175857,7 +177523,7 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } else { /* An UPSERT is very slightly slower than REPLACE, but it is needed ** if there are auxiliary columns */ - zFormat = __ccgo_ts + 26828 + zFormat = __ccgo_ts + 26974 } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+8, zDb, zPrefix)) if zSql != 0 { @@ -175872,31 +177538,31 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref i++ } if (*TRtree)(unsafe.Pointer(pRtree)).FnAux != 0 && rc != int32(SQLITE_NOMEM) { - (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+26936, libc.VaList(bp+8, zDb, zPrefix)) + (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+27082, libc.VaList(bp+8, zDb, zPrefix)) if (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { p1 = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26981, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27127, libc.VaList(bp+8, zDb, zPrefix)) ii1 = 0 for { if !(ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } if ii1 != 0 { - Xsqlite3_str_append(tls, p1, __ccgo_ts+13122, int32(1)) + Xsqlite3_str_append(tls, p1, __ccgo_ts+13247, int32(1)) } if ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27008, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27154, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) } else { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27030, libc.VaList(bp+8, ii1, ii1+int32(2))) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27176, libc.VaList(bp+8, ii1, ii1+int32(2))) } goto _3 _3: ; ii1++ } - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27038, 0) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27184, 0) zSql1 = Xsqlite3_str_finish(tls, p1) if zSql1 == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -175910,14 +177576,14 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } var _azSql = [8]uintptr{ - 0: __ccgo_ts + 26169, - 1: __ccgo_ts + 26222, - 2: __ccgo_ts + 26267, - 3: __ccgo_ts + 26319, - 4: __ccgo_ts + 26373, - 5: __ccgo_ts + 26418, - 6: __ccgo_ts + 26476, - 7: __ccgo_ts + 26531, + 0: __ccgo_ts + 26315, + 1: __ccgo_ts + 26368, + 2: __ccgo_ts + 26413, + 3: __ccgo_ts + 26465, + 4: __ccgo_ts + 26519, + 5: __ccgo_ts + 26564, + 6: __ccgo_ts + 26622, + 7: __ccgo_ts + 26677, } // C documentation @@ -175975,7 +177641,7 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE _, _ = rc, zSql if isCreate != 0 { *(*int32)(unsafe.Pointer(bp)) = 0 - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27054, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27200, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) rc = _getIntFromStmt(tls, db, zSql, bp) if rc == SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp)) - int32(64) @@ -175983,17 +177649,17 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = int32(4) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*int32(RTREE_MAXCELLS) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27074, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27220, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) rc = _getIntFromStmt(tls, db, zSql, pRtree+32) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } else { if (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize < libc.Int32FromInt32(512)-libc.Int32FromInt32(64) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< libc.Int32FromInt32(RTREE_MAX_AUX_COLUMN)+libc.Int32FromInt32(3) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) return int32(SQLITE_ERROR) } Xsqlite3_vtab_config(tls, db, int32(SQLITE_VTAB_CONSTRAINT_SUPPORT), libc.VaList(bp+8, int32(1))) @@ -176070,13 +177736,13 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27317, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27463, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27323, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27469, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = int32(4) for { if !(ii < argc) { @@ -176085,7 +177751,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt zArg = *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)) if int32(*(*int8)(unsafe.Pointer(zArg))) == int32('+') { (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27347, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27493, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) } else { if int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux) > 0 { break @@ -176099,19 +177765,19 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27374, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27520, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) } else { if ii < argc { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+8, aErrMsg[int32(4)])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+8, aErrMsg[int32(4)])) rc = int32(SQLITE_ERROR) } else { v3 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v3 if SQLITE_OK != v3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } } @@ -176134,7 +177800,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } } if iErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+8, aErrMsg[iErr])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+8, aErrMsg[iErr])) goto rtreeInit_fail } (*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell = uint8(int32(8) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnDim2)*int32(4)) @@ -176145,7 +177811,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -176161,8 +177827,8 @@ rtreeInit_fail: } var _azFormat = [2]uintptr{ - 0: __ccgo_ts + 27353, - 1: __ccgo_ts + 27364, + 0: __ccgo_ts + 27499, + 1: __ccgo_ts + 27510, } // C documentation @@ -176220,21 +177886,21 @@ func _rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { } _nodeGetCell(tls, bp+40, bp, ii, bp+1008) if ii > 0 { - Xsqlite3_str_append(tls, pOut, __ccgo_ts+11234, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+11359, int32(1)) } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27377, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27523, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) jj = 0 for { if !(jj < int32((*(*TRtree)(unsafe.Pointer(bp + 40))).FnDim2)) { break } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27383, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27529, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) goto _2 _2: ; jj++ } - Xsqlite3_str_append(tls, pOut, __ccgo_ts+27387, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+27533, int32(1)) goto _1 _1: ; @@ -176261,7 +177927,7 @@ func _rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { _ = zBlob _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != int32(SQLITE_BLOB) || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+27389, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+27535, -int32(1)) } else { zBlob = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -176379,11 +178045,11 @@ func _rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintpt (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } else { if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - v1 = __ccgo_ts + 4235 + v1 = __ccgo_ts + 4299 } else { - v1 = __ccgo_ts + 1680 + v1 = __ccgo_ts + 1694 } - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27422, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27568, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } @@ -176417,7 +178083,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt _, _, _ = nNode, pNode, pRet pRet = uintptr(0) /* Return value */ if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) { - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27429, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27575, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { Xsqlite3_bind_int64(tls, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode, int32(1), iNode) @@ -176434,7 +178100,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt } _rtreeCheckReset(tls, pCheck, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27474, libc.VaList(bp+8, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27620, libc.VaList(bp+8, iNode)) } } return pRet @@ -176463,8 +178129,8 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i var rc int32 _, _, _, _, _, _ = azSql, ii, pStmt, rc, v1, v2 azSql = [2]uintptr{ - 0: __ccgo_ts + 27506, - 1: __ccgo_ts + 27560, + 0: __ccgo_ts + 27652, + 1: __ccgo_ts + 27706, } if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) = _rtreeCheckPrepare(tls, pCheck, azSql[bLeaf], libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) @@ -176477,21 +178143,21 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i rc = Xsqlite3_step(tls, pStmt) if rc == int32(SQLITE_DONE) { if bLeaf != 0 { - v1 = __ccgo_ts + 27608 + v1 = __ccgo_ts + 27754 } else { - v1 = __ccgo_ts + 27616 + v1 = __ccgo_ts + 27762 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27625, libc.VaList(bp+8, iKey, iVal, v1)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27771, libc.VaList(bp+8, iKey, iVal, v1)) } else { if rc == int32(SQLITE_ROW) { ii = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { if bLeaf != 0 { - v2 = __ccgo_ts + 27608 + v2 = __ccgo_ts + 27754 } else { - v2 = __ccgo_ts + 27616 + v2 = __ccgo_ts + 27762 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27670, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27816, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) } } } @@ -176536,7 +178202,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 v2 = libc.BoolInt32(*(*TRtreeValue)(unsafe.Pointer(bp)) > *(*TRtreeValue)(unsafe.Pointer(bp + 4))) } if v2 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27728, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27874, libc.VaList(bp+24, i, iCell, iNode)) } if pParent != 0 { _readCoord(tls, pParent+uintptr(libc.Int32FromInt32(4)*libc.Int32FromInt32(2)*i), bp+8) @@ -176554,7 +178220,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 } } if v5 || v4 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27776, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27922, libc.VaList(bp+24, i, iCell, iNode)) } } goto _1 @@ -176587,19 +178253,19 @@ func _rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintpt aNode = _rtreeCheckGetNode(tls, pCheck, iNode, bp) if aNode != 0 { if *(*int32)(unsafe.Pointer(bp)) < int32(4) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27843, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27989, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) } else { /* Used to iterate through cells */ if aParent == uintptr(0) { iDepth = _readInt16(tls, aNode) if iDepth > int32(RTREE_MAX_DEPTH) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27877, libc.VaList(bp+16, iDepth)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28023, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = _readInt16(tls, aNode+2) if int32(4)+nCell*(int32(8)+(*TRtreeCheck)(unsafe.Pointer(pCheck)).FnDim*int32(2)*int32(4)) > *(*int32)(unsafe.Pointer(bp)) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27907, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28053, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) } else { i = 0 for { @@ -176644,12 +178310,12 @@ func _rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect Ti64) var pCount uintptr _, _ = nActual, pCount if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { - pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27962, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) + pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28108, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) if pCount != 0 { if Xsqlite3_step(tls, pCount) == int32(SQLITE_ROW) { nActual = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27993, libc.VaList(bp+8, zTbl, nExpect, nActual)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28139, libc.VaList(bp+8, zTbl, nExpect, nActual)) } } (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -176678,7 +178344,7 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzDb = zDb (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzTab = zTab /* Find the number of auxiliary columns */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28060, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28206, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { nAux = Xsqlite3_column_count(tls, pStmt) - int32(2) Xsqlite3_finalize(tls, pStmt) @@ -176688,11 +178354,11 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe } } /* Find number of dimensions in the rtree table. */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25874, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+26020, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim = (Xsqlite3_column_count(tls, pStmt) - int32(1) - nAux) / int32(2) if (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim < int32(1) { - _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28088, 0) + _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28234, 0) } else { if int32(SQLITE_ROW) == Xsqlite3_step(tls, pStmt) { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FbInt = libc.BoolInt32(Xsqlite3_column_type(tls, pStmt, int32(1)) == int32(SQLITE_INTEGER)) @@ -176708,8 +178374,8 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe if (*(*TRtreeCheck)(unsafe.Pointer(bp))).Frc == SQLITE_OK { _rtreeCheckNode(tls, bp, 0, uintptr(0), int64(1)) } - _rtreeCheckCount(tls, bp, __ccgo_ts+28119, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) - _rtreeCheckCount(tls, bp, __ccgo_ts+28126, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28265, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28272, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) } /* Finalize SQL statements used by the integrity-check */ Xsqlite3_finalize(tls, (*(*TRtreeCheck)(unsafe.Pointer(bp))).FpGetNode) @@ -176736,7 +178402,7 @@ func _rtreeIntegrity(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zName uintpt _ = isQuick rc = _rtreeCheckTable(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, pzErr) if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28134, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28280, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) if *(*uintptr)(unsafe.Pointer(pzErr)) == uintptr(0) { rc = int32(SQLITE_NOMEM) } @@ -176787,13 +178453,13 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { var _ /* zReport at bp+0 */ uintptr _, _, _, _ = rc, zDb, zTab, v1 if nArg != int32(1) && nArg != int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+28153, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+28299, -int32(1)) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zDb = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg))) if nArg == int32(1) { zTab = zDb - zDb = __ccgo_ts + 6617 + zDb = __ccgo_ts + 6681 } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -176802,7 +178468,7 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { if *(*uintptr)(unsafe.Pointer(bp)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(bp)) } else { - v1 = __ccgo_ts + 18493 + v1 = __ccgo_ts + 18580 } Xsqlite3_result_text(tls, ctx, v1, -int32(1), uintptr(-libc.Int32FromInt32(1))) } else { @@ -177269,19 +178935,19 @@ func _geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) if p != 0 { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) - Xsqlite3_str_append(tls, x, __ccgo_ts+25127, int32(1)) + Xsqlite3_str_append(tls, x, __ccgo_ts+25256, int32(1)) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28204, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28350, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28215, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28361, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -177310,20 +178976,20 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) cSep = int8('\'') - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28226, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28372, 0) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28244, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28390, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) cSep = int8(' ') goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28252, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28398, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) i = int32(1) for { if !(i < argc) { @@ -177331,14 +178997,14 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 { - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28260, libc.VaList(bp+8, z)) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28406, libc.VaList(bp+8, z)) } goto _2 _2: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28264, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28410, 0) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -178467,13 +180133,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27317, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27463, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28277, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28423, 0) (*TRtree)(unsafe.Pointer(pRtree)).FnAux = uint8(1) /* Add one for _shape */ (*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = uint8(1) /* The _shape column is always not-null */ ii = int32(3) @@ -178482,13 +180148,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint break } (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28299, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28445, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27374, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27520, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) @@ -178496,7 +180162,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint v2 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v2 if SQLITE_OK != v2 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } Xsqlite3_free(tls, zSql) @@ -178511,7 +180177,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -178723,7 +180389,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iRowidTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(1) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16726 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16813 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).Fomit = uint8(1) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(30) @@ -178733,7 +180399,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iFuncTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28303 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28449 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).Fomit = uint8(0) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(300) @@ -178741,7 +180407,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { return SQLITE_OK } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(4) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28309 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28455 (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(3e+06) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -178861,7 +180527,7 @@ func _geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pR _geopolyBBox(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(aData + 2*8)), bp+8+8, bp) if *(*int32)(unsafe.Pointer(bp)) != 0 { if *(*int32)(unsafe.Pointer(bp)) == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28318, 0) + (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28464, 0) } goto geopoly_update_end } @@ -178964,12 +180630,12 @@ geopoly_update_end: func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) { _ = pVtab _ = nArg - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28358) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28504) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION) } - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28374) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28520) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1) @@ -179040,7 +180706,7 @@ func _sqlite3_geopoly_init(tls *libc.TLS, db uintptr) (r int32) { i++ } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28551, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28697, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -179054,61 +180720,61 @@ var _aFunc = [12]struct { 0: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28389, + FzName: __ccgo_ts + 28535, }, 1: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28402, + FzName: __ccgo_ts + 28548, }, 2: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28415, + FzName: __ccgo_ts + 28561, }, 3: { FnArg: int8(-int32(1)), FbPure: uint8(1), - FzName: __ccgo_ts + 28428, + FzName: __ccgo_ts + 28574, }, 4: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28374, + FzName: __ccgo_ts + 28520, }, 5: { FnArg: int8(3), FbPure: uint8(1), - FzName: __ccgo_ts + 28440, + FzName: __ccgo_ts + 28586, }, 6: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28358, + FzName: __ccgo_ts + 28504, }, 7: { FnArg: int8(1), - FzName: __ccgo_ts + 28463, + FzName: __ccgo_ts + 28609, }, 8: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28477, + FzName: __ccgo_ts + 28623, }, 9: { FnArg: int8(7), FbPure: uint8(1), - FzName: __ccgo_ts + 28490, + FzName: __ccgo_ts + 28636, }, 10: { FnArg: int8(4), FbPure: uint8(1), - FzName: __ccgo_ts + 28504, + FzName: __ccgo_ts + 28650, }, 11: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28520, + FzName: __ccgo_ts + 28666, }, } @@ -179134,7 +180800,7 @@ var _aAgg = [1]struct { FzName uintptr }{ 0: { - FzName: __ccgo_ts + 28532, + FzName: __ccgo_ts + 28678, }, } @@ -179159,20 +180825,20 @@ func _sqlite3RtreeInit(tls *libc.TLS, db uintptr) (r int32) { var rc, utf8 int32 _, _, _, _ = c, c1, rc, utf8 utf8 = int32(SQLITE_UTF8) - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28559, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28705, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28569, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28715, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28580, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28726, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { c = libc.UintptrFromInt32(RTREE_COORD_REAL32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28303, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28449, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { c1 = libc.UintptrFromInt32(RTREE_COORD_INT32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28591, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28737, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) } if rc == SQLITE_OK { rc = _sqlite3_geopoly_init(tls, db) @@ -179274,7 +180940,7 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { Xsqlite3_result_error_nomem(tls, ctx) _rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25860, __ccgo_fp(_rtreeMatchArgFree)) + Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+26006, __ccgo_fp(_rtreeMatchArgFree)) } } } @@ -180491,7 +182157,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt /* Figure out the size of the output */ nOut = _rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+28601, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28747, -int32(1)) return } aOut = Xsqlite3_malloc(tls, nOut+int32(1)) @@ -180501,7 +182167,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt nOut2 = _rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut) if nOut2 != nOut { Xsqlite3_free(tls, aOut) - Xsqlite3_result_error(tls, context, __ccgo_ts+28601, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28747, -int32(1)) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, __ccgo_fp(Xsqlite3_free)) } @@ -180527,7 +182193,7 @@ func _prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg _ = rc rc = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -180550,7 +182216,7 @@ func _resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) (r in _ = rc rc = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -180682,7 +182348,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { /* Free any SQLite statements used while processing the previous object */ _rbuObjIterClearStatements(tls, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28622, uintptr(0), uintptr(0), p+64) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28768, uintptr(0), uintptr(0), p+64) } if rc == SQLITE_OK { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 { @@ -180692,6 +182358,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { if rc != int32(SQLITE_ROW) { rc = _resetAndCollectError(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, p+64) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = uintptr(0) + (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = uintptr(0) } else { (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, 0) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, int32(1)) @@ -180770,7 +182437,7 @@ func _rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { Xsqlite3_result_text(tls, pCtx, zIn, -int32(1), libc.UintptrFromInt32(0)) } } else { - if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25773, zIn, uint64(4)) == 0 { + if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25919, zIn, uint64(4)) == 0 { i = int32(4) for { if !(int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= int32('9')) { @@ -180807,13 +182474,13 @@ func _rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { _, _ = rc, v1 libc.Xmemset(tls, pIter, 0, uint64(192)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 28793 + v1 = __ccgo_ts + 28939 } else { - v1 = __ccgo_ts + 1680 + v1 = __ccgo_ts + 1694 } - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28834, libc.VaList(bp+8, v1))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28980, libc.VaList(bp+8, v1))) if rc == SQLITE_OK { - rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+28984) + rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+29130) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = int32(1) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -180980,7 +182647,7 @@ func _rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { rc = Xsqlite3_finalize(tls, pStmt) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && rc != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } @@ -181041,7 +182708,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu *(*[4]uintptr)(unsafe.Pointer(bp)) = [4]uintptr{} *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29109, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29255, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0]) != int32(SQLITE_ROW) { /* Either an error, or no such table. */ goto rbuTableType_end @@ -181051,7 +182718,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0], int32(1)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29228, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29374, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { goto rbuTableType_end } @@ -181059,7 +182726,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu zOrig = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(3)) zIdx = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(1)) if zOrig != 0 && zIdx != 0 && int32(*(*Tu8)(unsafe.Pointer(zOrig))) == int32('p') { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29249, libc.VaList(bp+40, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29395, libc.VaList(bp+40, zIdx))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)]) == int32(SQLITE_ROW) { *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)], 0) @@ -181071,7 +182738,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29300, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29446, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { for Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)]) == int32(SQLITE_ROW) { if Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)], int32(5)) > 0 { @@ -181115,7 +182782,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { bIndex = 0 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.Xmemcpy(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29321, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29467, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -181128,7 +182795,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { if bPartial != 0 { libc.Xmemset(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, int32(0x01), uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29349, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29495, libc.VaList(bp+24, zIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) if iCid >= 0 { @@ -181181,7 +182848,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 _rbuTableType(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+8, pIter+108) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+19936, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+20068, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc @@ -181192,7 +182859,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 /* Populate the azTblCol[] and nTblCol variables based on the columns ** of the input table. Ignore any input table columns that begin with ** "rbu_". */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29378, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29524, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp))) _rbuAllocateIterArrays(tls, p, pIter, nCol) @@ -181203,7 +182870,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 break } zName = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), i) - if Xsqlite3_strnicmp(tls, __ccgo_ts+29397, zName, int32(4)) != 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+29543, zName, int32(4)) != 0 { zCopy = _rbuStrndup(tls, zName, p+56) *(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol v3 = pIter + 16 @@ -181211,7 +182878,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 *(*int32)(unsafe.Pointer(v3))++ *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(v2)*8)) = zCopy } else { - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29402, zName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29548, zName) { bRbuRowid = int32(1) } } @@ -181225,17 +182892,17 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && bRbuRowid != libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) if bRbuRowid != 0 { - v4 = __ccgo_ts + 29412 + v4 = __ccgo_ts + 29558 } else { - v4 = __ccgo_ts + 29425 + v4 = __ccgo_ts + 29571 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29434, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29580, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) } /* Check that all non-HIDDEN columns in the destination table are also ** present in the input table. Populate the abTblPk[], azTblType[] and ** aiTblOrder[] arrays at the same time. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29609, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zName1 = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -181257,7 +182924,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 } if i == (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29485, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29631, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) } else { iPk = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) bNotNull = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) @@ -181296,15 +182963,15 @@ func _rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) var z, zList, zSep uintptr _, _, _, _ = i, z, zList, zSep zList = uintptr(0) - zSep = __ccgo_ts + 1680 + zSep = __ccgo_ts + 1694 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } z = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+29512, libc.VaList(bp+8, zList, zSep, z)) - zSep = __ccgo_ts + 15022 + zList = _rbuMPrintf(tls, p, __ccgo_ts+29658, libc.VaList(bp+8, zList, zSep, z)) + zSep = __ccgo_ts + 15115 goto _1 _1: ; @@ -181329,7 +182996,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, _, _, _, _, _ = i, iPk, zCol, zRet, zSep iPk = int32(1) zRet = uintptr(0) - zSep = __ccgo_ts + 1680 + zSep = __ccgo_ts + 1694 for int32(1) != 0 { i = 0 for { @@ -181338,7 +183005,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, } if int32(*(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29521, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29667, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -181386,21 +183053,21 @@ func _rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zRet = uintptr(0) if bRowid != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29534, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29680, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iMax = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29566, libc.VaList(bp+16, iMax)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29712, libc.VaList(bp+16, iMax)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1680, __ccgo_ts+15022, __ccgo_ts+29589) - zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29595, __ccgo_ts+29602, __ccgo_ts+5138) - zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1680, __ccgo_ts+15022, __ccgo_ts+1680) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1694, __ccgo_ts+15115, __ccgo_ts+29735) + zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29741, __ccgo_ts+29748, __ccgo_ts+5202) + zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1694, __ccgo_ts+15115, __ccgo_ts+1694) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29610, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29756, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zVal = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29652, libc.VaList(bp+16, zList, zVal)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29798, libc.VaList(bp+16, zList, zVal)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } @@ -181449,10 +183116,10 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = __ccgo_ts + 1680 + zSep = __ccgo_ts + 1694 iCol = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29349, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29495, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(4)) @@ -181474,15 +183141,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { - zCol = __ccgo_ts + 29672 + zCol = __ccgo_ts + 29818 } } else { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) } - zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29680, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29701, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29737, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) - zSep = __ccgo_ts + 15022 + zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29826, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29847, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) + zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29883, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) + zSep = __ccgo_ts + 15115 iCol++ } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) @@ -181491,9 +183158,9 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29764, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29910, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { - zSep = __ccgo_ts + 1680 + zSep = __ccgo_ts + 1694 iCol = 0 for { if !(iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -181508,15 +183175,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { break } } - zVector = _rbuMPrintf(tls, p, __ccgo_ts+29812, libc.VaList(bp+24, zVector, zSep, zQuoted)) - zSep = __ccgo_ts + 15022 + zVector = _rbuMPrintf(tls, p, __ccgo_ts+29958, libc.VaList(bp+24, zVector, zSep, zQuoted)) + zSep = __ccgo_ts + 15115 goto _2 _2: ; iCol++ } if !(bFailed != 0) { - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29819, libc.VaList(bp+24, zLhs, zVector)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29965, libc.VaList(bp+24, zLhs, zVector)) } } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -181570,11 +183237,11 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zImpPK = uintptr(0) /* String to return via *pzImposterPK */ zWhere = uintptr(0) /* String to return via *pzWhere */ nBind = 0 /* Value to return via *pnBind */ - zCom = __ccgo_ts + 1680 /* Set to ", " later on */ - zAnd = __ccgo_ts + 1680 /* Set to " AND " later on */ + zCom = __ccgo_ts + 1694 /* Set to ", " later on */ + zAnd = __ccgo_ts + 1694 /* Set to " AND " later on */ *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_xinfo = ? */ if rc == SQLITE_OK { - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29349, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29495, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -181583,8 +183250,8 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = uintptr(0) if iCid == -int32(2) { iSeq = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29831, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) - zType = __ccgo_ts + 1680 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29977, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) + zType = __ccgo_ts + 1694 } else { if iCid < 0 { /* An integer primary key. If the table has an explicit IPK, use @@ -181603,9 +183270,9 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - zCol = __ccgo_ts + 29672 + zCol = __ccgo_ts + 29818 } else { - zCol = __ccgo_ts + 29402 + zCol = __ccgo_ts + 29548 } } zType = __ccgo_ts + 1168 @@ -181613,24 +183280,24 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) zType = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)) } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29853, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29999, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) } if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) != 0 { if bDesc != 0 { - v2 = __ccgo_ts + 29589 + v2 = __ccgo_ts + 29735 } else { - v2 = __ccgo_ts + 1680 + v2 = __ccgo_ts + 1694 } zOrder = v2 - zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29873, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) + zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+30019, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+29894, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) - zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+29927, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) + zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+30040, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) + zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+30073, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) { rc = int32(SQLITE_NOMEM) } - zCom = __ccgo_ts + 15022 - zAnd = __ccgo_ts + 22045 + zCom = __ccgo_ts + 15115 + zAnd = __ccgo_ts + 22190 nBind++ } rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -181676,7 +183343,7 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr _, _, _, _ = i, zCol, zList, zS zList = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zS = __ccgo_ts + 1680 + zS = __ccgo_ts + 1694 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -181684,11 +183351,11 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29951, libc.VaList(bp+8, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30097, libc.VaList(bp+8, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29963, libc.VaList(bp+8, zList, zS)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30109, libc.VaList(bp+8, zList, zS)) } - zS = __ccgo_ts + 15022 + zS = __ccgo_ts + 15115 if zList == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) break @@ -181700,7 +183367,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 (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29972, libc.VaList(bp+8, zList, zObj)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30118, libc.VaList(bp+8, zList, zObj)) } } return zList @@ -181726,27 +183393,27 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _ = i, i1, zCol, zList, zSep, zSep1 zList = uintptr(0) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29987, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30133, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - zSep = __ccgo_ts + 1680 + zSep = __ccgo_ts + 1694 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30001, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) - zSep = __ccgo_ts + 22045 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30147, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) + zSep = __ccgo_ts + 22190 } goto _1 _1: ; i++ } - zList = _rbuMPrintf(tls, p, __ccgo_ts+30013, libc.VaList(bp+8, zList)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30159, libc.VaList(bp+8, zList)) } else { - zSep1 = __ccgo_ts + 1680 + zSep1 = __ccgo_ts + 1694 i1 = 0 for { if !(i1 < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -181754,8 +183421,8 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i1))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i1)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+30063, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) - zSep1 = __ccgo_ts + 22045 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30209, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) + zSep1 = __ccgo_ts + 22190 } goto _2 _2: @@ -181778,7 +183445,7 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { // */ func _rbuBadControlError(tls *libc.TLS, p uintptr) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30076, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30222, 0) } // C documentation @@ -181812,7 +183479,7 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt if int32(libc.Xstrlen(tls, zMask)) != (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { _rbuBadControlError(tls, p) } else { - zSep = __ccgo_ts + 1680 + zSep = __ccgo_ts + 1694 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -181820,16 +183487,16 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt } c = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) if int32(c) == int32('x') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30063, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 15022 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30209, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15115 } else { if int32(c) == int32('d') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30102, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 15022 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30248, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15115 } else { if int32(c) == int32('f') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30132, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 15022 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30278, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15115 } } } @@ -181913,16 +183580,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _, _ = z, zCol, zDesc, zIdx, zOrig, zSep, v1 z = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zSep = __ccgo_ts + 30169 + zSep = __ccgo_ts + 30315 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_list = (pIter->zTbl) */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA index_xinfo = */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29321, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29467, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) - if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16614) == 0 { + if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16701) == 0 { zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29349, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29495, libc.VaList(bp+24, zIdx))) } break } @@ -181933,16 +183600,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { /* int iCid = sqlite3_column_int(pXInfo, 0); */ zCol = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(2)) if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) != 0 { - v1 = __ccgo_ts + 29589 + v1 = __ccgo_ts + 29735 } else { - v1 = __ccgo_ts + 1680 + v1 = __ccgo_ts + 1694 } zDesc = v1 - z = _rbuMPrintf(tls, p, __ccgo_ts+30182, libc.VaList(bp+24, z, zSep, zCol, zDesc)) - zSep = __ccgo_ts + 15022 + z = _rbuMPrintf(tls, p, __ccgo_ts+30328, libc.VaList(bp+24, z, zSep, zCol, zDesc)) + zSep = __ccgo_ts + 15115 } } - z = _rbuMPrintf(tls, p, __ccgo_ts+30193, libc.VaList(bp+24, z)) + z = _rbuMPrintf(tls, p, __ccgo_ts+30339, libc.VaList(bp+24, z)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) } return z @@ -181982,13 +183649,13 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* SELECT name ... WHERE rootpage = $tnum */ zIdx = uintptr(0) /* Name of PK index */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA main.index_xinfo = $zIdx */ - zComma = __ccgo_ts + 1680 + zComma = __ccgo_ts + 1694 zCols = uintptr(0) /* Used to build up list of table cols */ zPk = uintptr(0) /* Used to build up table PK declaration */ /* 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. */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30197) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30343) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), tnum) if int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -181996,7 +183663,7 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { } } if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29349, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29495, libc.VaList(bp+24, zIdx))) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { @@ -182005,21 +183672,21 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) bDesc = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(4)) - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30247, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30393, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) if bDesc != 0 { - v1 = __ccgo_ts + 29589 + v1 = __ccgo_ts + 29735 } else { - v1 = __ccgo_ts + 1680 + v1 = __ccgo_ts + 1694 } - zPk = _rbuMPrintf(tls, p, __ccgo_ts+30269, libc.VaList(bp+24, zPk, zComma, iCid, v1)) - zComma = __ccgo_ts + 15022 + zPk = _rbuMPrintf(tls, p, __ccgo_ts+30415, libc.VaList(bp+24, zPk, zComma, iCid, v1)) + zComma = __ccgo_ts + 15115 } } - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30279, libc.VaList(bp+24, zCols)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30425, libc.VaList(bp+24, zCols)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6617, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30294, libc.VaList(bp+24, zCols, zPk)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6617, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6681, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30440, libc.VaList(bp+24, zCols, zPk)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6681, 0, 0)) } } @@ -182054,30 +183721,30 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { _, _, _, _, _, _, _, _, _ = iCol, tnum, zCol, zComma, zPk, zPk1, zSql, v2, v3 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { tnum = (*TRbuObjIter)(unsafe.Pointer(pIter)).FiTnum - zComma = __ccgo_ts + 1680 + zComma = __ccgo_ts + 1694 zSql = uintptr(0) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6617, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6681, 0, int32(1))) iCol = 0 for { if !((*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } - zPk = __ccgo_ts + 1680 + zPk = __ccgo_ts + 1694 zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6617, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6681, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_IPK) && *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 { /* If the target table column is an "INTEGER PRIMARY KEY", add ** "PRIMARY KEY" to the imposter table column declaration. */ - zPk = __ccgo_ts + 30356 + zPk = __ccgo_ts + 30502 } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - v2 = __ccgo_ts + 30369 + v2 = __ccgo_ts + 30515 } else { - v2 = __ccgo_ts + 1680 + v2 = __ccgo_ts + 1694 } - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30379, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) - zComma = __ccgo_ts + 15022 + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30525, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) + zComma = __ccgo_ts + 15115 goto _1 _1: ; @@ -182086,17 +183753,17 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { zPk1 = _rbuWithoutRowidPK(tls, p, pIter) if zPk1 != 0 { - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30406, libc.VaList(bp+16, zSql, zPk1)) + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30552, libc.VaList(bp+16, zSql, zPk1)) } } - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6617, int32(1), tnum)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6681, int32(1), tnum)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { - v3 = __ccgo_ts + 30413 + v3 = __ccgo_ts + 30559 } else { - v3 = __ccgo_ts + 1680 + v3 = __ccgo_ts + 1694 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30428, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6617, 0, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30574, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6681, 0, 0)) } } @@ -182122,7 +183789,7 @@ func _rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zColli bRbuRowid = libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) zBind = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1)+bRbuRowid) if zBind != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30460, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30606, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -182168,7 +183835,7 @@ func _rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintpt *(*int32)(unsafe.Pointer(bp + 8)) = (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc zRet = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30517) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30663) } if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx, -int32(1), libc.UintptrFromInt32(0)) @@ -182337,7 +184004,7 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zIdx = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx zLimit = uintptr(0) if nOffset != 0 { - zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30583, libc.VaList(bp+40, nOffset)) + zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30729, libc.VaList(bp+40, nOffset)) if !(zLimit != 0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) } @@ -182354,18 +184021,18 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zCollist = _rbuObjIterGetIndexCols(tls, p, pIter, bp, bp+8, bp+16, bp+24) zBind = _rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 24))) /* Create the imposter table used to write to this index. */ - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6617, 0, int32(1))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6617, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30603, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6617, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6681, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6681, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30749, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6681, 0, 0)) /* Create the statement to insert index entries */ (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 24)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30668, libc.VaList(bp+40, zTbl, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30814, libc.VaList(bp+40, zTbl, zBind))) } /* And to delete index entries */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30704, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30850, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) } /* Create the SELECT statement to read keys in sorted order */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -182380,26 +184047,26 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } if zStart != 0 { if zPart != 0 { - v2 = __ccgo_ts + 30738 + v2 = __ccgo_ts + 30884 } else { - v2 = __ccgo_ts + 30742 + v2 = __ccgo_ts + 30888 } v1 = v2 } else { - v1 = __ccgo_ts + 1680 + v1 = __ccgo_ts + 1694 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30748, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30894, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) Xsqlite3_free(tls, zStart) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30809, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30955, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { if zPart != 0 { - v3 = __ccgo_ts + 30738 + v3 = __ccgo_ts + 30884 } else { - v3 = __ccgo_ts + 30742 + v3 = __ccgo_ts + 30888 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30870, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+31016, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -182418,62 +184085,62 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zTbl1 = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl /* Imposter table name */ zBindings = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+bRbuRowid) zWhere1 = _rbuObjIterGetWhere(tls, p, pIter) - zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6628) - zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6624) + zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6692) + zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6688) zCollist = _rbuObjIterGetCollist(tls, p, pIter) (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol /* Create the imposter table or tables (if required). */ _rbuCreateImposterTable(tls, p, pIter) _rbuCreateImposterTable2(tls, p, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) { - v4 = __ccgo_ts + 1680 + v4 = __ccgo_ts + 1694 } else { - v4 = __ccgo_ts + 31029 + v4 = __ccgo_ts + 31175 } zWrite = v4 /* Create the INSERT statement to write to the target PK b-tree */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if bRbuRowid != 0 { - v5 = __ccgo_ts + 31038 + v5 = __ccgo_ts + 31184 } else { - v5 = __ccgo_ts + 1680 + v5 = __ccgo_ts + 1694 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31048, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31194, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) } /* Create the DELETE statement to write to the target PK b-tree. ** Because it only performs INSERT operations, this is not required for ** an rbu vacuum handle. */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31084, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31230, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) } if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zRbuRowid = __ccgo_ts + 1680 + zRbuRowid = __ccgo_ts + 1694 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zRbuRowid = __ccgo_ts + 31112 + zRbuRowid = __ccgo_ts + 31258 } /* Create the rbu_tmp_xxx table and the triggers to populate it. */ if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - v6 = __ccgo_ts + 31124 + v6 = __ccgo_ts + 31270 } else { - v6 = __ccgo_ts + 1680 + v6 = __ccgo_ts + 1694 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31141, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31217, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31287, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31363, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31516, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31662, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) } _rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) } /* Create the SELECT statement to read keys from data_xxx */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zRbuRowid1 = __ccgo_ts + 1680 + zRbuRowid1 = __ccgo_ts + 1694 zStart1 = uintptr(0) zOrder = uintptr(0) if bRbuRowid != 0 { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v7 = __ccgo_ts + 31615 + v7 = __ccgo_ts + 31761 } else { - v7 = __ccgo_ts + 31625 + v7 = __ccgo_ts + 31771 } zRbuRowid1 = v7 } @@ -182486,28 +184153,28 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } } if bRbuRowid != 0 { - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29672, 0) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29818, 0) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1680, __ccgo_ts+15022, __ccgo_ts+1680) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1694, __ccgo_ts+15115, __ccgo_ts+1694) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v8 = __ccgo_ts + 31636 + v8 = __ccgo_ts + 31782 } else { - v8 = __ccgo_ts + 1680 + v8 = __ccgo_ts + 1694 } if zStart1 != 0 { v9 = zStart1 } else { - v9 = __ccgo_ts + 1680 + v9 = __ccgo_ts + 1694 } if zOrder != 0 { - v10 = __ccgo_ts + 23239 + v10 = __ccgo_ts + 23384 } else { - v10 = __ccgo_ts + 1680 + v10 = __ccgo_ts + 1694 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31642, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31788, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) } Xsqlite3_free(tls, zStart1) Xsqlite3_free(tls, zOrder) @@ -182593,11 +184260,11 @@ func _rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, p (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpNext = (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - zPrefix = __ccgo_ts + 1680 + zPrefix = __ccgo_ts + 1694 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { - zPrefix = __ccgo_ts + 31029 + zPrefix = __ccgo_ts + 31175 } - zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31690, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) + zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31836, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate) *(*uintptr)(unsafe.Pointer(ppStmt)) = (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpUpdate } @@ -182624,7 +184291,7 @@ func _rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) (r } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp, flags, v1) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp))) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) } @@ -182671,7 +184338,7 @@ func _rbuLoadState(tls *libc.TLS, p uintptr) (r uintptr) { if pRet == uintptr(0) { return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31720, libc.VaList(bp+24, p+48))) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31866, libc.VaList(bp+24, p+48))) for *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) { case int32(RBU_STATE_STAGE): @@ -182730,27 +184397,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu = _rbuOpenDbhandle(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, int32(1)) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain = dbMain if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6617, int32(SQLITE_FCNTL_RBUCNT), p) + Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6681, int32(SQLITE_FCNTL_RBUCNT), p) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) { - zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6617) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31750, libc.VaList(bp+8, zFile, zFile)) + zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6681) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31896, libc.VaList(bp+8, zFile, zFile)) } } /* If using separate RBU and state databases, attach the state database to ** the RBU db handle now. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31778, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48, __ccgo_ts+3450, uint64(4)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31924, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+3514, uint64(4)) } else { - libc.Xmemcpy(tls, p+48, __ccgo_ts+6617, uint64(4)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+6681, uint64(4)) } /* If it has not already been created, create the rbu_state table */ - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31796, libc.VaList(bp+8, p+48)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31942, libc.VaList(bp+8, p+48)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { bOpen = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6617, int32(SQLITE_FCNTL_RBUCNT), p) + rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6681, int32(SQLITE_FCNTL_RBUCNT), p) if rc != int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -182783,10 +184450,10 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) return } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31862, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32008, 0) } else { zExtra = uintptr(0) - if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24628, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { + if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24751, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { zExtra = (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5 for *(*int8)(unsafe.Pointer(zExtra)) != 0 { v1 = zExtra @@ -182800,16 +184467,16 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if zExtra == uintptr(0) { - v2 = __ccgo_ts + 1680 + v2 = __ccgo_ts + 1694 } else { - v2 = __ccgo_ts + 31894 + v2 = __ccgo_ts + 32040 } if zExtra == uintptr(0) { - v3 = __ccgo_ts + 1680 + v3 = __ccgo_ts + 1694 } else { v3 = zExtra } - zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+31896, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6617), v2, v3)) + zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+32042, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6681), v2, v3)) if zTarget == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) return @@ -182820,27 +184487,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31928, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32074, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31943, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32089, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31960, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32106, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6617, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6681, int32(SQLITE_FCNTL_RBU), p) } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31976, 0) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32122, 0) /* Mark the database file just opened as an RBU target database. If ** this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. ** This is an error. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6617, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6681, int32(SQLITE_FCNTL_RBU), p) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32004, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32150, 0) } } @@ -182890,7 +184557,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) { pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = int64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))<= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33004, zState+uintptr(n-int32(7)), uint64(7)) { + if n >= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33150, zState+uintptr(n-int32(7)), uint64(7)) { return _rbuMisuseError(tls) } } @@ -184110,7 +185777,7 @@ func _rbuEditErrmsg(tls *libc.TLS, p uintptr) { if !(uint64(i) < nErrmsg-uint64(8)) { break } - if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31029, uint64(8)) == 0 { + if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31175, uint64(8)) == 0 { nDel = int32(8) for int32(*(*int8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= int32('0') && int32(*(*int8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= int32('9') { nDel++ @@ -184138,7 +185805,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { if p != 0 { /* Commit the transaction to the *-oal file. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14926, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+15019, uintptr(0), uintptr(0), p+64) } /* Sync the db file if currently doing an incremental checkpoint */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) { @@ -184147,7 +185814,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { } _rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14926, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+15019, uintptr(0), uintptr(0), p+64) } /* Close any open statement handles. */ _rbuObjIterFinalize(tls, p+80) @@ -184157,7 +185824,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { ** specifying the current target and state databases to start a new ** vacuum from scratch. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 { - rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33012, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33158, uintptr(0), uintptr(0), uintptr(0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_DONE) && rc2 != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -184258,7 +185925,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14926, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+15019, uintptr(0), uintptr(0), uintptr(0)) } } /* Sync the db file */ @@ -184271,19 +185938,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { rc = (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14926, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+15019, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 14911 + v1 = __ccgo_ts + 15004 } else { - v1 = __ccgo_ts + 32964 + v1 = __ccgo_ts + 33110 } zBegin = v1 rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32964, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33110, uintptr(0), uintptr(0), uintptr(0)) } } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -184849,7 +186516,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xControl})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, int32(SQLITE_FCNTL_ZIPVFS), bp) if rc == SQLITE_OK { rc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33039, 0) + (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33185, 0) } else { if rc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p @@ -184875,7 +186542,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r if rc == SQLITE_OK && op == int32(SQLITE_FCNTL_VFSNAME) { pRbuVfs = (*Trbu_file)(unsafe.Pointer(p)).FpRbuVfs zIn = *(*uintptr)(unsafe.Pointer(pArg)) - zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33062, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33208, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -185070,7 +186737,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag if pDb != 0 { if (*Trbu_file)(unsafe.Pointer(pDb)).FpRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FeStage == int32(RBU_STAGE_OAL) { if (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6617) + zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6681) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -185084,7 +186751,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag } else { (*Trbu_file)(unsafe.Pointer(pFd)).FpRbu = (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRbu } - if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33073, 0) != 0 { + if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33219, 0) != 0 { oflags = libc.Int32FromInt32(SQLITE_OPEN_TEMP_DB) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_EXCLUSIVE) | libc.Int32FromInt32(SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) } @@ -185637,7 +187304,7 @@ func _statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint _sqlite3TokenInit(tls, bp, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = _sqlite3FindDb(tls, db, bp) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12223, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12348, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return int32(SQLITE_ERROR) } } else { @@ -186136,7 +187803,7 @@ statNextRestart: (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiPgno = iRoot (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33084, 0) + v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33230, 0) z = v1 (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FzPath = v1 if z == uintptr(0) { @@ -186174,8 +187841,8 @@ statNextRestart: if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { (*TStatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*TStatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*TStatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*Tu32)(unsafe.Pointer((*TStatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33086 - v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33095, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33232 + v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33241, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) z = v2 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v2 if z == uintptr(0) { @@ -186204,7 +187871,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage++ if (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage >= int32(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) { _statResetCsr(tls, pCsr) - return _sqlite3CorruptError(tls, int32(222551)) + return _sqlite3CorruptError(tls, int32(224206)) } if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell { (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiPgno = (*TStatPage)(unsafe.Pointer(p)).FiRightChildPg @@ -186215,7 +187882,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnPage++ (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33107, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) + v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33253, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) z = v4 (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FzPath = v4 if z == uintptr(0) { @@ -186238,13 +187905,13 @@ statNextRestart: case int32(0x05): /* table internal */ fallthrough case int32(0x02): /* index internal */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33115 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33261 case int32(0x0D): /* table leaf */ fallthrough case int32(0x0A): /* index leaf */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33124 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33270 default: - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33129 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33275 break } *(*int32)(unsafe.Pointer(pCsr + 2108)) += (*TStatPage)(unsafe.Pointer(p1)).FnCell @@ -186253,7 +187920,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnMxPayload = (*TStatPage)(unsafe.Pointer(p1)).FnMxPayload } if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) + v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) z = v5 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v5 if z == uintptr(0) { @@ -186342,12 +188009,12 @@ func _statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, a (*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg = uint8(0) } pSql = Xsqlite3_str_new(tls, (*TStatTable)(unsafe.Pointer(pTab)).Fdb) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33139, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33285, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33294, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33440, libc.VaList(bp+8, zName)) } if idxNum&int32(0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33308, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33454, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -186424,7 +188091,7 @@ func _statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) (r int32) { // ** Invoke this routine to register the "dbstat" virtual table module // */ func _sqlite3DbstatRegister(tls *libc.TLS, db uintptr) (r int32) { - return Xsqlite3_create_module(tls, db, __ccgo_ts+33323, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, __ccgo_ts+33469, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) } var _dbstat_module = Tsqlite3_module{} @@ -187695,20 +189362,20 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, *(*uintptr)(unsafe.Pointer(pazDflt)) = uintptr(0) } nThis = _sqlite3Strlen30(tls, zThis) - if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11614, zThis) { + if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11739, zThis) { rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { /* For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. */ - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33330, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33476, 0) } else { if rc == int32(SQLITE_ERROR) { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1680, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1694, 0) } else { return rc } } } else { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33451, libc.VaList(bp+16, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33597, libc.VaList(bp+16, zDb, zThis)) } if !(zPragma != 0) { return int32(SQLITE_NOMEM) @@ -187732,7 +189399,7 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, bRowid = 0 } nDbCol += bRowid - nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+29672)) + nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+29818)) rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == SQLITE_OK { nByte = Tsqlite3_int64(uint64(nByte) + uint64(nDbCol)*(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(2)+libc.Uint64FromInt64(1)+libc.Uint64FromInt32(1)+libc.Uint64FromInt32(1))) @@ -187756,8 +189423,8 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 if bRowid != 0 { - nName = libc.Xstrlen(tls, __ccgo_ts+29672) - libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29672, nName+uint64(1)) + nName = libc.Xstrlen(tls, __ccgo_ts+29818) + libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29818, nName+uint64(1)) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc pAlloc += uintptr(nName + uint64(1)) *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) = uint8(1) @@ -187849,7 +189516,7 @@ func _sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr, db uintptr ; i++ } - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11614, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11739, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { (*TSessionTable)(unsafe.Pointer(pTab)).FbStat1 = int32(1) } if pSession != 0 && (*Tsqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { @@ -188138,10 +189805,10 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin _, _, _, _ = ii, zDflt, zSep, v2 *(*TSessionBuffer)(unsafe.Pointer(bp)) = TSessionBuffer{} *(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK - zSep = __ccgo_ts + 11234 + zSep = __ccgo_ts + 11359 ii = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33480, 0) + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33626, 0) ii = 0 for { if !(ii < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol) { @@ -188150,11 +189817,11 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin if *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) != 0 { v2 = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) } else { - v2 = __ccgo_ts + 1681 + v2 = __ccgo_ts + 1695 } zDflt = v2 - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5108, libc.VaList(bp+32, zSep, zDflt)) - zSep = __ccgo_ts + 15022 + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5172, libc.VaList(bp+32, zSep, zDflt)) + zSep = __ccgo_ts + 15115 goto _1 _1: ; @@ -188472,7 +190139,7 @@ func _sessionPreupdateOneChange(tls *libc.TLS, op int32, iRowid Ti64, pSession u rc = int32(SQLITE_NOMEM) goto error_out } - _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1680, uint8(0), libc.UintptrFromInt32(0)) + _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1694, uint8(0), libc.UintptrFromInt32(0)) (*Tsqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p } } @@ -188793,7 +190460,7 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr var i int32 var zRet, zSep uintptr _, _, _ = i, zRet, zSep - zSep = __ccgo_ts + 1680 + zSep = __ccgo_ts + 1694 zRet = uintptr(0) i = 0 for { @@ -188801,8 +190468,8 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr break } if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33487, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 22045 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33633, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 22190 if zRet == uintptr(0) { break } @@ -188821,7 +190488,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint var bHave, i int32 var zRet, zSep uintptr _, _, _, _ = bHave, i, zRet, zSep - zSep = __ccgo_ts + 1680 + zSep = __ccgo_ts + 1694 zRet = uintptr(0) bHave = 0 i = 0 @@ -188831,8 +190498,8 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if int32(*(*Tu8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = int32(1) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33521, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 33562 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33667, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 33708 if zRet == uintptr(0) { break } @@ -188843,7 +190510,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint i++ } if bHave == 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1754, 0) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1814, 0) } return zRet } @@ -188854,12 +190521,12 @@ func _sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, bRowid int var zRet, zSel, v1 uintptr _, _, _ = zRet, zSel, v1 if bRowid != 0 { - v1 = __ccgo_ts + 33567 + v1 = __ccgo_ts + 33713 } else { - v1 = __ccgo_ts + 6622 + v1 = __ccgo_ts + 6686 } zSel = v1 - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33578, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33724, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -188920,11 +190587,11 @@ func _sessionAllCols(tls *libc.TLS, zDb uintptr, pTab uintptr) (r uintptr) { break } if zRet != 0 { - v2 = __ccgo_ts + 15022 + v2 = __ccgo_ts + 15115 } else { - v2 = __ccgo_ts + 1680 + v2 = __ccgo_ts + 1694 } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33657, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33803, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) if !(zRet != 0) { break } @@ -188952,7 +190619,7 @@ func _sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFr } else { z1 = _sessionAllCols(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, pTab) z2 = _sessionAllCols(tls, zFrom, pTab) - zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33676, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) + zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33822, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) if zStmt == uintptr(0) || z1 == uintptr(0) || z2 == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -189052,7 +190719,7 @@ func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl u Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if bMismatch != 0 { if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33733, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33879, 0) } rc = int32(SQLITE_SCHEMA) } @@ -189384,7 +191051,7 @@ func _sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* aBuf at bp+0 */ [24]int8 - Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5170, libc.VaList(bp+32, iVal)) + Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5234, libc.VaList(bp+32, iVal)) _sessionAppendStr(tls, p, bp, pRc) } @@ -189675,23 +191342,23 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt _, _, _, _, _, _, _ = i, nSql, zCols, zSep, zSql, v1, v3 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK zSql = uintptr(0) - zSep = __ccgo_ts + 1680 + zSep = __ccgo_ts + 1694 if bRowid != 0 { - v1 = __ccgo_ts + 33567 + v1 = __ccgo_ts + 33713 } else { - v1 = __ccgo_ts + 6622 + v1 = __ccgo_ts + 6686 } zCols = v1 nSql = -int32(1) *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 24)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 40)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+33760, bp) - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11614, zTab) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+33764, bp) - _sessionAppendStr(tls, bp+24, __ccgo_ts+33788, bp) - _sessionAppendStr(tls, bp+40, __ccgo_ts+33797, bp) - zCols = __ccgo_ts + 33842 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33906, bp) + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11739, zTab) { + _sessionAppendStr(tls, bp+8, __ccgo_ts+33910, bp) + _sessionAppendStr(tls, bp+24, __ccgo_ts+33934, bp) + _sessionAppendStr(tls, bp+40, __ccgo_ts+33943, bp) + zCols = __ccgo_ts + 33988 } else { i = 0 for { @@ -189701,11 +191368,11 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { _sessionAppendStr(tls, bp+24, zSep, bp) _sessionAppendStr(tls, bp+40, zSep, bp) - zSep = __ccgo_ts + 15022 + zSep = __ccgo_ts + 15115 _sessionAppendIdent(tls, bp+24, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp) - _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33856, libc.VaList(bp+64, i+int32(1))) + _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+34002, libc.VaList(bp+64, i+int32(1))) } else { - _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33860, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+34006, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) } goto _2 _2: @@ -189717,9 +191384,9 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if bIgnoreNoop != 0 { v3 = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf } else { - v3 = __ccgo_ts + 1680 + v3 = __ccgo_ts + 1694 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+33887, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+34033, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) if zSql == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } @@ -189860,7 +191527,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+33929, uintptr(0), uintptr(0), uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+34075, uintptr(0), uintptr(0), uintptr(0)) if *(*int32)(unsafe.Pointer(bp + 16)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -189966,7 +191633,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, } } Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf) - Xsqlite3_exec(tls, db, __ccgo_ts+33949, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34095, uintptr(0), uintptr(0), uintptr(0)) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -190383,7 +192050,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, int32(9)) if rc == SQLITE_OK { if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData { - rc = _sqlite3CorruptError(tls, int32(226700)) + rc = _sqlite3CorruptError(tls, int32(228355)) } else { v3 = pIn + 8 v2 = *(*int32)(unsafe.Pointer(v3)) @@ -190407,7 +192074,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = _sqlite3CorruptError(tls, int32(226720)) + rc = _sqlite3CorruptError(tls, int32(228375)) } else { if eType == int32(SQLITE_TEXT) { v4 = int32(SQLITE_UTF8) @@ -190422,7 +192089,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap } if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) { if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) { - rc = _sqlite3CorruptError(tls, int32(226730)) + rc = _sqlite3CorruptError(tls, int32(228385)) } else { *(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal) if eType == int32(SQLITE_INTEGER) { @@ -190478,7 +192145,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) ( ** large value for nCol may cause nRead to wrap around and become ** negative. Leading to a crash. */ if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) { - rc = _sqlite3CorruptError(tls, int32(226778)) + rc = _sqlite3CorruptError(tls, int32(228433)) } else { rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100)) nRead += *(*int32)(unsafe.Pointer(bp)) @@ -190583,7 +192250,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) { (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 _sessionBufferGrow(tls, p+72, int64(nByte), bp) } else { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(226866)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(228521)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -190654,12 +192321,12 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { return (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc } + _sessionDiscardData(tls, p) + (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext /* If the iterator is already at the end of the changeset, return DONE. */ if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { return int32(SQLITE_DONE) } - _sessionDiscardData(tls, p) - (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext v3 = p + 8 v2 = *(*int32)(unsafe.Pointer(v3)) *(*int32)(unsafe.Pointer(v3))++ @@ -190689,7 +192356,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { /* The first record in the changeset is not a table header. Must be a ** corrupt changeset. */ - v7 = _sqlite3CorruptError(tls, int32(226952)) + v7 = _sqlite3CorruptError(tls, int32(228607)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7 return v7 } @@ -190699,7 +192366,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin *(*int32)(unsafe.Pointer(v9))++ (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8)))) if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) { - v10 = _sqlite3CorruptError(tls, int32(226958)) + v10 = _sqlite3CorruptError(tls, int32(228613)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10 return v10 } @@ -190778,7 +192445,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if *(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - v16 = _sqlite3CorruptError(tls, int32(227002)) + v16 = _sqlite3CorruptError(tls, int32(228657)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16 return v16 } @@ -191188,7 +192855,7 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu goto finished_invert } default: - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(227367)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(229022)) goto finished_invert } if xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size { @@ -191391,18 +193058,18 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 } if pUp == uintptr(0) { nByte = int32(uint64(24) * uint64(nU32) * uint64(4)) - bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11614) == 0) + bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11739) == 0) pUp = Xsqlite3_malloc(tls, nByte) if pUp == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } else { - zSep = __ccgo_ts + 1680 + zSep = __ccgo_ts + 1694 libc.Xmemset(tls, bp+8, 0, uint64(16)) (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24 libc.Xmemcpy(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*TSessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(4)) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33967, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34113, bp) _sessionAppendIdent(tls, bp+8, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33980, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34126, bp) /* Create the assignments part of the UPDATE */ ii = 0 for { @@ -191412,9 +193079,9 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if int32(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33986, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34132, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(1), bp) - zSep = __ccgo_ts + 15022 + zSep = __ccgo_ts + 15115 } goto _2 _2: @@ -191422,8 +193089,8 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 ii++ } /* Create the WHERE clause part of the UPDATE */ - zSep = __ccgo_ts + 1680 - _sessionAppendStr(tls, bp+8, __ccgo_ts+33991, bp) + zSep = __ccgo_ts + 1694 + _sessionAppendStr(tls, bp+8, __ccgo_ts+34137, bp) ii = 0 for { if !(ii < (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { @@ -191432,13 +193099,13 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if *(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) if bStat1 != 0 && ii == int32(1) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+33999, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34145, bp) } else { _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34074, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34220, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(2), bp) } - zSep = __ccgo_ts + 22045 + zSep = __ccgo_ts + 22190 } goto _3 _3: @@ -191521,13 +193188,13 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in var _ /* buf at bp+8 */ TSessionBuffer var _ /* rc at bp+0 */ int32 _, _, _ = i, nPk, zSep - zSep = __ccgo_ts + 1680 + zSep = __ccgo_ts + 1694 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} nPk = 0 - _sessionAppendStr(tls, bp+8, __ccgo_ts+34080, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34226, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33991, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34137, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -191537,9 +193204,9 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in nPk++ _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33986, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34132, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 22045 + zSep = __ccgo_ts + 22190 } goto _1 _1: @@ -191547,10 +193214,10 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in i++ } if nPk < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol { - _sessionAppendStr(tls, bp+8, __ccgo_ts+34098, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34244, bp) _sessionAppendInteger(tls, bp+8, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol+int32(1), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33562, bp) - zSep = __ccgo_ts + 1680 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33708, bp) + zSep = __ccgo_ts + 1694 i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -191559,16 +193226,16 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in if !(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34074, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34220, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 34106 + zSep = __ccgo_ts + 34252 } goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5138, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5202, bp) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+8, uintptr(0)) @@ -191594,7 +193261,7 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in // */ func _sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r int32) { /* TODO */ - return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6617, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) + return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6681, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } // C documentation @@ -191617,16 +193284,16 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+34111, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34257, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+22051, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+22196, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } if i != 0 { - _sessionAppendStr(tls, bp+8, __ccgo_ts+15022, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+15115, bp) } _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) goto _1 @@ -191634,19 +193301,19 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34129, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34275, bp) i = int32(1) for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34140, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34286, bp) goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5138, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5202, bp) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+16, uintptr(0)) } @@ -191669,12 +193336,12 @@ func _sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) (r int func _sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) (r int32) { var rc int32 _ = rc - rc = _sessionSelectRow(tls, db, __ccgo_ts+11614, p) + rc = _sessionSelectRow(tls, db, __ccgo_ts+11739, p) if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34144) + rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34290) } if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34257) + rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34403) } return rc } @@ -191740,7 +193407,7 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { /* The value in the changeset was "undefined". This indicates a ** corrupt changeset blob. */ - rc = _sqlite3CorruptError(tls, int32(227849)) + rc = _sqlite3CorruptError(tls, int32(229504)) } else { rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp))) } @@ -192156,7 +193823,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } else { if *(*int32)(unsafe.Pointer(bp)) != 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34401, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34547, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = _sessionBindRow(tls, pIter, __ccgo_fp(Xsqlite3changeset_new), (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) Xsqlite3_bind_int(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol+int32(1), int32(1)) @@ -192169,7 +193836,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34422, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34568, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -192263,10 +193930,10 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbIgnoreNoop = libc.BoolUint8(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_IGNORENOOP) != 0)) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34441, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34587, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34467, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34613, uintptr(0), uintptr(0), uintptr(0)) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) { Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0)) @@ -192297,7 +193964,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui ** non-zero, proceed. */ schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144)))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) + *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { rc = int32(SQLITE_NOMEM) break @@ -192307,7 +193974,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } else { nMinCol = 0 Xsqlite3changeset_pk(tls, pIter, bp+152, uintptr(0)) - rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6617, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) + rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6681, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) if rc != SQLITE_OK { break } @@ -192326,18 +193993,18 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol == 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34497, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34643, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol < *(*int32)(unsafe.Pointer(bp + 136)) { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34541, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34687, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) } else { if *(*int32)(unsafe.Pointer(bp + 136)) < nMinCol || libc.Xmemcmp(tls, (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FabPK, *(*uintptr)(unsafe.Pointer(bp + 152)), uint64(*(*int32)(unsafe.Pointer(bp + 136)))) != 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34612, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34758, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol = *(*int32)(unsafe.Pointer(bp + 136)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11614) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11739) { v2 = _sessionStat1Sql(tls, db, bp+8) rc = v2 if v2 != 0 { @@ -192394,13 +194061,13 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } } } - Xsqlite3_exec(tls, db, __ccgo_ts+34672, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34818, uintptr(0), uintptr(0), uintptr(0)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34702, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34848, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, __ccgo_ts+34726, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, __ccgo_ts+34702, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34872, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34848, uintptr(0), uintptr(0), uintptr(0)) } } if rc == SQLITE_OK && bPatchset == 0 && (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbRebase != 0 { @@ -192492,6 +194159,7 @@ type Tsqlite3_changegroup1 = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -192848,116 +194516,143 @@ func _sessionChangesetExtendRecord(tls *libc.TLS, pGrp uintptr, pTab uintptr, nC // C documentation // // /* -// ** Add all changes in the changeset traversed by the iterator passed as -// ** the first argument to the changegroup hash tables. +// ** Locate or create a SessionTable object that may be used to add the +// ** change currently pointed to by iterator pIter to changegroup pGrp. +// ** If successful, set output variable (*ppTab) to point to the table +// ** object and return SQLITE_OK. Otherwise, if some error occurs, return +// ** an SQLite error code and leave (*ppTab) set to NULL. // */ -func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { - bp := tls.Alloc(80) - defer tls.Free(80) - var bPkOnly1, bPkOnly2, iHash, nNew, rc int32 - var pExist, pTab, pp, ppTab uintptr - var _ /* aRec at bp+0 */ uintptr - var _ /* abPK at bp+64 */ uintptr - var _ /* bIndirect at bp+48 */ int32 - var _ /* nCol at bp+40 */ int32 - var _ /* nRec at bp+8 */ int32 - var _ /* op at bp+44 */ int32 - var _ /* pChange at bp+56 */ uintptr - var _ /* rec at bp+16 */ TSessionBuffer - var _ /* zNew at bp+32 */ uintptr - _, _, _, _, _, _, _, _, _ = bPkOnly1, bPkOnly2, iHash, nNew, pExist, pTab, pp, ppTab, rc +func _sessionChangesetFindTable(tls *libc.TLS, pGrp uintptr, zTab uintptr, pIter uintptr, ppTab uintptr) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var nTab, rc int32 + var pTab, ppNew uintptr + var _ /* abPK at bp+0 */ uintptr + var _ /* nCol at bp+8 */ int32 + _, _, _, _ = nTab, pTab, ppNew, rc rc = SQLITE_OK pTab = uintptr(0) - *(*TSessionBuffer)(unsafe.Pointer(bp + 16)) = TSessionBuffer{} - for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { - pExist = uintptr(0) - /* Ensure that only changesets, or only patchsets, but not a mixture - ** of both, are being combined. It is an error to try to combine a - ** changeset and a patchset. */ - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset - } else { - if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { - rc = int32(SQLITE_ERROR) - break - } + nTab = int32(libc.Xstrlen(tls, zTab)) + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(ppTab)) = uintptr(0) + Xsqlite3changeset_pk(tls, pIter, bp, bp+8) + /* Search the list for an existing table */ + pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList + for { + if !(pTab != 0) { + break } - Xsqlite3changeset_op(tls, pIter, bp+32, bp+40, bp+44, bp+48) - if !(pTab != 0) || Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), (*TSessionTable)(unsafe.Pointer(pTab)).FzName) != 0 { - /* Search the list for a matching table */ - nNew = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))) - Xsqlite3changeset_pk(tls, pIter, bp+64, uintptr(0)) - pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList - for { - if !(pTab != 0) { - break - } - if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), nNew+int32(1)) { - break - } - goto _1 - _1: - ; - pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext - } - if !(pTab != 0) { - pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 40)))+uint64(nNew)+uint64(1)) - if !(pTab != 0) { - rc = int32(SQLITE_NOMEM) - break - } - libc.Xmemset(tls, pTab, 0, uint64(80)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 40)) - (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 64)), uint64(*(*int32)(unsafe.Pointer(bp + 40)))) - (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 40))) - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), uint64(nNew+int32(1))) - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 - rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) - if rc != 0 { - Xsqlite3_free(tls, pTab) - break - } - } - /* The new object must be linked on to the end of the list, not - ** simply added to the start of it. This is to ensure that the - ** tables within the output of sqlite3changegroup_output() are in - ** the right order. */ - ppTab = pGrp + 8 - for { - if !(*(*uintptr)(unsafe.Pointer(ppTab)) != 0) { - break - } - goto _2 - _2: - ; - ppTab = *(*uintptr)(unsafe.Pointer(ppTab)) - } - *(*uintptr)(unsafe.Pointer(ppTab)) = pTab - } - if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*uintptr)(unsafe.Pointer(bp + 64))) != 0) { - rc = int32(SQLITE_SCHEMA) - break - } + if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, nTab+int32(1)) { + break + } + goto _1 + _1: + ; + pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext + } + /* If one was not found above, create a new table now */ + if !(pTab != 0) { + pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 8)))+uint64(nTab)+uint64(1)) + if !(pTab != 0) { + return int32(SQLITE_NOMEM) } - if *(*int32)(unsafe.Pointer(bp + 40)) < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol { - rc = _sessionChangesetExtendRecord(tls, pGrp, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*int32)(unsafe.Pointer(bp + 44)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+16) + libc.Xmemset(tls, pTab, 0, uint64(80)) + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 8)) + (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp)), uint64(*(*int32)(unsafe.Pointer(bp + 8)))) + (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 8))) + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, uint64(nTab+int32(1))) + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 + rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) if rc != 0 { + Xsqlite3_free(tls, pTab) + return rc + } + } + /* The new object must be linked on to the end of the list, not + ** simply added to the start of it. This is to ensure that the + ** tables within the output of sqlite3changegroup_output() are in + ** the right order. */ + ppNew = pGrp + 8 + for { + if !(*(*uintptr)(unsafe.Pointer(ppNew)) != 0) { break } - *(*uintptr)(unsafe.Pointer(bp)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf - *(*int32)(unsafe.Pointer(bp + 8)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf + goto _2 + _2: + ; + ppNew = *(*uintptr)(unsafe.Pointer(ppNew)) } - if _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { - rc = int32(SQLITE_NOMEM) - break + *(*uintptr)(unsafe.Pointer(ppNew)) = pTab + } + /* Check that the table is compatible. */ + if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp))) != 0) { + rc = int32(SQLITE_SCHEMA) + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + return rc +} + +// C documentation +// +// /* +// ** Add the change currently indicated by iterator pIter to the hash table +// ** belonging to changegroup pGrp. +// */ +func _sessionOneChangeToHash(tls *libc.TLS, pGrp uintptr, pIter uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var aRec, pBuf, pExist, pp uintptr + var bPkOnly1, bPkOnly2, iHash, nRec, rc int32 + var _ /* bIndirect at bp+8 */ int32 + var _ /* nCol at bp+0 */ int32 + var _ /* op at bp+4 */ int32 + var _ /* pChange at bp+16 */ uintptr + var _ /* pTab at bp+24 */ uintptr + var _ /* zTab at bp+32 */ uintptr + _, _, _, _, _, _, _, _, _ = aRec, bPkOnly1, bPkOnly2, iHash, nRec, pBuf, pExist, pp, rc + rc = SQLITE_OK + *(*int32)(unsafe.Pointer(bp)) = 0 + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + iHash = 0 + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) + pExist = uintptr(0) + pp = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) + aRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent+int32(2)) + nRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent - int32(2) + /* Ensure that only changesets, or only patchsets, but not a mixture + ** of both, are being combined. It is an error to try to combine a + ** changeset and a patchset. */ + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = int32(SQLITE_ERROR) } - iHash = int32(_sessionChangeHash(tls, pTab, libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)), *(*uintptr)(unsafe.Pointer(bp)), (*TSessionTable)(unsafe.Pointer(pTab)).FnChange)) + } + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0) + Xsqlite3changeset_op(tls, pIter, bp+32, bp, bp+4, bp+8) + rc = _sessionChangesetFindTable(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 32)), pIter, bp+24) + } + if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) < (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnCol { + pBuf = pGrp + 16 + rc = _sessionChangesetExtendRecord(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), aRec, nRec, pBuf) + aRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + nRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FnBuf + } + if rc == SQLITE_OK && _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 24))) != 0 { + rc = int32(SQLITE_NOMEM) + } + if rc == SQLITE_OK { /* Search for existing entry. If found, remove it from the hash table. - ** Code below may link it back in. - */ - pp = (*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8 + ** Code below may link it back in. */ + iHash = int32(_sessionChangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)), aRec, (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnChange)) + pp = (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8 for { if !(*(*uintptr)(unsafe.Pointer(pp)) != 0) { break @@ -192966,30 +194661,54 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase bPkOnly2 = 0 if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { bPkOnly1 = libc.BoolInt32(int32((*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fop) == int32(SQLITE_DELETE)) - bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)) + bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)) } - if _sessionChangeEqual(tls, pTab, bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp))) != 0 { + if _sessionChangeEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, aRec) != 0 { pExist = *(*uintptr)(unsafe.Pointer(pp)) *(*uintptr)(unsafe.Pointer(pp)) = (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry-- + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry-- break } - goto _3 - _3: + goto _1 + _1: ; pp = *(*uintptr)(unsafe.Pointer(pp)) + 24 } - rc = _sessionChangeMerge(tls, pTab, bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 44)), *(*int32)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+56) - if rc != 0 { + } + if rc == SQLITE_OK { + rc = _sessionChangeMerge(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 4)), *(*int32)(unsafe.Pointer(bp + 8)), aRec, nRec, bp+16) + } + if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { + (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 16)) + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry++ + } + if rc == SQLITE_OK { + rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// C documentation +// +// /* +// ** Add all changes in the changeset traversed by the iterator passed as +// ** the first argument to the changegroup hash tables. +// */ +func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var rc int32 + var _ /* aRec at bp+0 */ uintptr + var _ /* nRec at bp+8 */ int32 + _ = rc + rc = SQLITE_OK + for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { + rc = _sessionOneChangeToHash(tls, pGrp, pIter, bRebase) + if rc != SQLITE_OK { break } - if *(*uintptr)(unsafe.Pointer(bp + 56)) != 0 { - (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) - *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 56)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry++ - } } - Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf) if rc == SQLITE_OK { rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc } @@ -193099,11 +194818,11 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) (r int32) { var rc int32 _, _ = p, rc rc = SQLITE_OK /* New object */ - p = Xsqlite3_malloc(tls, int32(32)) + p = Xsqlite3_malloc(tls, int32(48)) if p == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, p, 0, uint64(32)) + libc.Xmemset(tls, p, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(pp)) = p return rc @@ -193125,7 +194844,7 @@ func Xsqlite3changegroup_schema(tls *libc.TLS, pGrp uintptr, db uintptr, zDb uin ** or after sqlite3changegroup_schema() has already been called. */ rc = int32(SQLITE_MISUSE) } else { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+8, zDb)) + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+8, zDb)) if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -193155,6 +194874,19 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin return rc } +// C documentation +// +// /* +// ** Add a single change to a changeset-group. +// */ +func Xsqlite3changegroup_add_change(tls *libc.TLS, pGrp uintptr, pIter uintptr) (r int32) { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent == (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc != SQLITE_OK || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbInvert != 0 { + /* Iterator does not point to any valid entry or is an INVERT iterator. */ + return int32(SQLITE_ERROR) + } + return _sessionOneChangeToHash(tls, pGrp, pIter, 0) +} + // C documentation // // /* @@ -193202,6 +194934,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { if pGrp != 0 { Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Frec.FaBuf) Xsqlite3_free(tls, pGrp) } } @@ -193566,11 +195299,11 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) (r int32) { var rc int32 _, _ = pNew, rc rc = SQLITE_OK - pNew = Xsqlite3_malloc(tls, int32(32)) + pNew = Xsqlite3_malloc(tls, int32(48)) if pNew == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, pNew, 0, uint64(32)) + libc.Xmemset(tls, pNew, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(ppNew)) = pNew return rc @@ -193644,6 +195377,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { if p != 0 { _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.Frec.FaBuf) Xsqlite3_free(tls, p) } } @@ -194275,6 +196009,9 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** sqlite3Fts5ParserARG_STORE Code to store %extra_argument into fts5yypParser // ** sqlite3Fts5ParserARG_FETCH Code to extract %extra_argument from fts5yypParser // ** sqlite3Fts5ParserCTX_* As sqlite3Fts5ParserARG_ except for %extra_context +// ** fts5YYREALLOC Name of the realloc() function to use +// ** fts5YYFREE Name of the free() function to use +// ** fts5YYDYNSTACK True if stack space should be extended on heap // ** fts5YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** fts5YYNSTATE the combined number of states. @@ -194288,6 +196025,8 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** fts5YY_NO_ACTION The fts5yy_action[] code for no-op // ** fts5YY_MIN_REDUCE Minimum value for reduce actions // ** fts5YY_MAX_REDUCE Maximum value for reduce actions +// ** fts5YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** fts5YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type Tfts5YYMINORTYPE = struct { @@ -194314,6 +196053,13 @@ type fts5YYMINORTYPE = Tfts5YYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -194743,8 +196489,9 @@ type fts5yyStackEntry = Tfts5yyStackEntry type Tfts5yyParser1 = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser1 = Tfts5yyParser1 @@ -194752,14 +196499,19 @@ type fts5yyParser1 = Tfts5yyParser1 type Tfts5yyParser = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser = Tfts5yyParser /* #include */ +/* For builds that do no have a growable stack, fts5yyGrowStack always +** returns an error. + */ + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3Fts5ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -194774,10 +196526,11 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { var fts5yypParser uintptr _ = fts5yypParser fts5yypParser = fts5yypRawParser - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fstateno = uint8(0) - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fmajor = uint8(0) - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = fts5yypParser + 16 + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack = fts5yypParser + 32 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fstateno = uint8(0) + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fmajor = uint8(0) } // C documentation @@ -194797,7 +196550,7 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) { var fts5yypParser uintptr _ = fts5yypParser - fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2424)) + fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432)) if fts5yypParser != 0 { _sqlite3Fts5ParserInit(tls, fts5yypParser) } @@ -194879,11 +196632,17 @@ func _fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var fts5yytos, pParser uintptr + _, _ = fts5yytos, pParser pParser = p - for (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { - _fts5yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling fts5yy_pop_parser_stack() for each + ** element left in the stack */ + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos + for fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yystack { + if int32((*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor) >= int32(fts5YY_MIN_DSTRCTR) { + _fts5yy_destructor(tls, pParser, (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor, fts5yytos+8) + } + fts5yytos -= 24 } } @@ -194971,13 +196730,13 @@ func _fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse - for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { + for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack { _fts5yy_pop_parser_stack(tls, fts5yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34754, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34900, 0) /******** End %stack_overflow code ********************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument var */ } @@ -194995,15 +196754,18 @@ func _fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, f var fts5yytos uintptr _ = fts5yytos (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 - if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 - _fts5yyStackOverflow(tls, fts5yypParser) - return + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + if fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { + if int32(1) != 0 { + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 + _fts5yyStackOverflow(tls, fts5yypParser) + return + } + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos } if int32(fts5yyNewState) > int32(fts5YY_MAX_SHIFT) { fts5yyNewState = uint8(int32(fts5yyNewState) + (libc.Int32FromInt32(fts5YY_MIN_REDUCE) - libc.Int32FromInt32(fts5YY_MIN_SHIFTREDUCE))) } - fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fstateno = fts5yyNewState (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor = fts5yyMajor *(*TFts5Token)(unsafe.Pointer(fts5yytos + 8)) = fts5yyMinor @@ -195330,7 +197092,7 @@ func _fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int3 pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse /************ Begin %syntax_error code ****************************************/ _ = fts5yymajor /* Silence a compiler warning */ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34782, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34928, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) /************ End %syntax_error code ******************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument variable */ } @@ -195392,8 +197154,10 @@ func _sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5y ** enough on the stack to push the LHS value */ if int32(_fts5yyRuleInfoNRhs[fts5yyruleno]) == 0 { if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos >= (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - _fts5yyStackOverflow(tls, fts5yypParser) - break + if int32(1) != 0 { + _fts5yyStackOverflow(tls, fts5yypParser) + break + } } } fts5yyact = _fts5yy_reduce(tls, fts5yypParser, fts5yyruleno, fts5yymajor, fts5yyminor) @@ -195612,7 +197376,7 @@ func _fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n in if n < 0 { n = int32(libc.Xstrlen(tls, z)) } - (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34813, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34959, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*THighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = int32(SQLITE_NOMEM) } @@ -195709,7 +197473,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint var _ /* rc at bp+104 */ int32 _, _ = iCol, zErr if nVal != int32(3) { - zErr = __ccgo_ts + 34820 + zErr = __ccgo_ts + 34966 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -195720,7 +197484,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint (*(*THighlightContext)(unsafe.Pointer(bp))).FiRangeEnd = -int32(1) *(*int32)(unsafe.Pointer(bp + 104)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})))(tls, pFts, iCol, bp+24, bp+32) if *(*int32)(unsafe.Pointer(bp + 104)) == int32(SQLITE_RANGE) { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1680, -int32(1), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1694, -int32(1), libc.UintptrFromInt32(0)) *(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_OK } else { if (*(*THighlightContext)(unsafe.Pointer(bp))).FzIn != 0 { @@ -195921,7 +197685,7 @@ func _fts5ValueToText(tls *libc.TLS, pVal uintptr) (r uintptr) { if zRet != 0 { v1 = zRet } else { - v1 = __ccgo_ts + 1680 + v1 = __ccgo_ts + 1694 } return v1 } @@ -195955,7 +197719,7 @@ func _fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintpt nBestScore = 0 /* Score of best snippet */ *(*int32)(unsafe.Pointer(bp + 112)) = 0 if nVal != int32(5) { - zErr = __ccgo_ts + 34870 + zErr = __ccgo_ts + 35016 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -196335,15 +198099,15 @@ func _sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) (r int32) { FxDestroy uintptr }{ 0: { - FzFunc: __ccgo_ts + 34918, + FzFunc: __ccgo_ts + 35064, FxFunc: __ccgo_fp(_fts5SnippetFunction), }, 1: { - FzFunc: __ccgo_ts + 34926, + FzFunc: __ccgo_ts + 35072, FxFunc: __ccgo_fp(_fts5HighlightFunction), }, 2: { - FzFunc: __ccgo_ts + 34936, + FzFunc: __ccgo_ts + 35082, FxFunc: __ccgo_fp(_fts5Bm25Function), }, } @@ -197003,7 +198767,7 @@ func _fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) (r uintptr) { case int32('n'): fallthrough case int32('N'): - if Xsqlite3_strnicmp(tls, __ccgo_ts+1666, p, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+1680, p, int32(4)) == 0 { p = p + 4 } else { p = uintptr(0) @@ -197207,7 +198971,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _, _, _, _, _, _, _, _, _, _, _, _ = azArg, bFirst, nArg, nByte, nCmd, nPre, p, p1, p2, pDel, pSpace, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK nCmd = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, __ccgo_ts+34941, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35087, zCmd, nCmd) == 0 { nByte = int32(libc.Uint64FromInt64(4) * libc.Uint64FromInt32(FTS5_MAX_PREFIX_INDEXES)) bFirst = int32(1) if (*TFts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { @@ -197233,12 +198997,12 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } } if int32(*(*int8)(unsafe.Pointer(p))) < int32('0') || int32(*(*int8)(unsafe.Pointer(p))) > int32('9') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34948, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35094, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } if (*TFts5Config)(unsafe.Pointer(pConfig)).FnPrefix == int32(FTS5_MAX_PREFIX_INDEXES) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34979, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35125, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -197247,7 +199011,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC p++ } if nPre <= 0 || nPre >= int32(1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35012, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35158, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -197257,7 +199021,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35049, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35195, zCmd, nCmd) == 0 { p1 = zArg nArg = int64(libc.Xstrlen(tls, zArg) + uint64(1)) azArg = _sqlite3Fts5MallocZero(tls, bp, int64(uint64(8)*uint64(nArg))) @@ -197265,7 +199029,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC pSpace = pDel if azArg != 0 && pSpace != 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35058, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35204, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { nArg = 0 @@ -197292,7 +199056,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC nArg++ } if p1 == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35091, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35237, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(nArg), pConfig, pzErr) @@ -197303,58 +199067,58 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC Xsqlite3_free(tls, pDel) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35125, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35271, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35133, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35279, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if *(*int8)(unsafe.Pointer(zArg)) != 0 { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_EXTERNAL) - (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35165, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35311, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_NONE) } } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35171, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35317, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35190, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35336, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35233, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35379, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35247, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35393, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, zArg, -int32(1)) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35285, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35431, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35296, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35442, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+5531, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+5595, zCmd, nCmd) == 0 { *(*[4]TFts5Enum)(unsafe.Pointer(bp + 8)) = [4]TFts5Enum{ 0: { - FzName: __ccgo_ts + 8250, + FzName: __ccgo_ts + 8375, FeVal: int32(FTS5_DETAIL_NONE), }, 1: { - FzName: __ccgo_ts + 17779, + FzName: __ccgo_ts + 17866, }, 2: { - FzName: __ccgo_ts + 35331, + FzName: __ccgo_ts + 35477, FeVal: int32(FTS5_DETAIL_COLUMNS), }, 3: {}, @@ -197362,20 +199126,20 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC v2 = _fts5ConfigSetEnum(tls, bp+8, zArg, pConfig+96) *(*int32)(unsafe.Pointer(bp)) = v2 if v2 != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35339, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35485, 0) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35370, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35516, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35380, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35526, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbTokendata = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35414, libc.VaList(bp+80, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35560, libc.VaList(bp+80, nCmd, zCmd)) return int32(SQLITE_ERROR) } @@ -197447,15 +199211,15 @@ func _fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr var v2 uintptr _, _, _ = rc, v1, v2 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35442) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16726) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35447, libc.VaList(bp+8, zCol)) + if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35588) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16813) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35593, libc.VaList(bp+8, zCol)) rc = int32(SQLITE_ERROR) } else { if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35477) { + if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35623) { *(*Tu8)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*TFts5Config)(unsafe.Pointer(p)).FnCol))) = uint8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35487, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35633, libc.VaList(bp+8, zArg)) rc = int32(SQLITE_ERROR) } } @@ -197481,7 +199245,7 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TFts5Buffer)(unsafe.Pointer(bp + 8)) = TFts5Buffer{} - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35518, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35664, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*TFts5Config)(unsafe.Pointer(p)).FeContent != int32(FTS5_CONTENT_NONE) { i = 0 for { @@ -197489,9 +199253,9 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { break } if (*TFts5Config)(unsafe.Pointer(p)).FeContent == int32(FTS5_CONTENT_EXTERNAL) { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35523, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35669, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35530, libc.VaList(bp+32, i)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35676, libc.VaList(bp+32, i)) } goto _1 _1: @@ -197551,8 +199315,8 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in (*TFts5Config)(unsafe.Pointer(pRet)).FzName = _sqlite3Fts5Strndup(tls, bp, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -int32(1)) (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize = int32(1) (*TFts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35442) == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35538, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) + if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35588) == 0 { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35684, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } i = int32(3) @@ -197583,19 +199347,19 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35567, libc.VaList(bp+40, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35713, libc.VaList(bp+40, zOrig)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bOption != 0 { if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { v4 = *(*uintptr)(unsafe.Pointer(bp + 8)) } else { - v4 = __ccgo_ts + 1680 + v4 = __ccgo_ts + 1694 } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { v5 = *(*uintptr)(unsafe.Pointer(bp + 16)) } else { - v5 = __ccgo_ts + 1680 + v5 = __ccgo_ts + 1694 } *(*int32)(unsafe.Pointer(bp)) = _fts5ConfigParseSpecial(tls, pGlobal, pRet, v4, v5, pzErr) } else { @@ -197613,7 +199377,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } /* We only allow contentless_delete=1 if the table is indeed contentless. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FeContent != int32(FTS5_CONTENT_NONE) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35587, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35733, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* We only allow contentless_delete=1 if columnsize=0 is not present. @@ -197621,7 +199385,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in ** This restriction may be removed at some point. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35637, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35783, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* If a tokenizer= option was successfully parsed, the tokenizer has @@ -197634,18 +199398,18 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContent == uintptr(0) { zTail = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { - zTail = __ccgo_ts + 35125 + zTail = __ccgo_ts + 35271 } else { if (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = __ccgo_ts + 35692 + zTail = __ccgo_ts + 35838 } } if zTail != 0 { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35700, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35846, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0) { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16726, -int32(1)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16813, -int32(1)) } /* Formulate the zContentExprlist text */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -197709,25 +199473,25 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) { var _ /* rc at bp+0 */ int32 _, _, _, _ = i, zSep, zSql, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35711, 0) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35857, 0) i = 0 for { if !(zSql != 0 && i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } if i == 0 { - v2 = __ccgo_ts + 1680 + v2 = __ccgo_ts + 1694 } else { - v2 = __ccgo_ts + 15022 + v2 = __ccgo_ts + 15115 } zSep = v2 - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35727, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35873, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) goto _1 _1: ; i++ } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35734, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35442)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35880, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35588)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_declare_vtab(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) Xsqlite3_free(tls, zSql) @@ -197873,7 +199637,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV var _ /* zRankArgs at bp+8 */ uintptr _, _, _, _, _, _, _, _, _, _ = bVal, nAutomerge, nCrisisMerge, nHashSize, nUsermerge, nVal, pgsz, rc, zIn, v1 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35760) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35906) { pgsz = 0 if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -197884,7 +199648,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35765) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35911) { nHashSize = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -197895,7 +199659,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35774) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35920) { nAutomerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -197909,7 +199673,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35784) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35930) { nUsermerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -197920,7 +199684,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35794) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35940) { nCrisisMerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -197937,7 +199701,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35806) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35952) { nVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nVal = Xsqlite3_value_int(tls, pVal) @@ -197952,7 +199716,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } (*TFts5Config)(unsafe.Pointer(pConfig)).FnDeleteMerge = nVal } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35442) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35588) { zIn = Xsqlite3_value_text(tls, pVal) rc = _sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8) if rc == SQLITE_OK { @@ -197967,7 +199731,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35818) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35964) { bVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { bVal = Xsqlite3_value_int(tls, pVal) @@ -198009,7 +199773,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in var _ /* p at bp+0 */ uintptr var _ /* rc at bp+8 */ int32 _, _, _, _, _ = iVersion, pVal, zK, zSelect, zSql - zSelect = __ccgo_ts + 35832 + zSelect = __ccgo_ts + 35978 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_OK iVersion = 0 @@ -198029,7 +199793,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in for int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zK = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) pVal = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) - if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35864) { + if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+36010) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 12)) = 0 @@ -198041,7 +199805,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && iVersion != int32(FTS5_CURRENT_VERSION) && iVersion != int32(FTS5_CURRENT_VERSION_SECUREDELETE) { *(*int32)(unsafe.Pointer(bp + 8)) = int32(SQLITE_ERROR) if (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35872, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+36018, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = iVersion @@ -198262,7 +200026,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr } } if int32(*(*int8)(unsafe.Pointer(z2))) == int32('\000') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35943, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36089, 0) return FTS5_EOF } goto _1 @@ -198273,7 +200037,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z2) - int64(z)) default: if _sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35963, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36109, libc.VaList(bp+8, z)) return FTS5_EOF } tok = int32(FTS5_STRING) @@ -198288,13 +200052,13 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr z21++ } (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z21) - int64(z)) - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35994, uint64(2)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36140, uint64(2)) == 0 { tok = int32(FTS5_OR) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35997, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36143, uint64(3)) == 0 { tok = int32(FTS5_NOT) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30738, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30884, uint64(3)) == 0 { tok = int32(FTS5_AND) } break @@ -200366,8 +202130,8 @@ func _sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, pp func _sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36001, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34782, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) + if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36147, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34928, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -200387,7 +202151,7 @@ func _sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, } c = *(*int8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) if int32(c) < int32('0') || int32(c) > int32('9') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36006, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36152, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) return } nNear = nNear*int32(10) + (int32(*(*int8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - int32('0')) @@ -200525,7 +202289,7 @@ func _sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p u iCol++ } if iCol == (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21048, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21180, libc.VaList(bp+8, z)) } else { pRet = _fts5ParseColset(tls, pParse, pColset, iCol) } @@ -200649,7 +202413,7 @@ func _sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pC var _ /* pFree at bp+0 */ uintptr *(*uintptr)(unsafe.Pointer(bp)) = pColset if (*TFts5Config)(unsafe.Pointer((*TFts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == int32(FTS5_DETAIL_NONE) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36035, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36181, 0) } else { _fts5ParseSetColset(tls, pParse, pExpr, pColset, bp) } @@ -200842,11 +202606,11 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin pPhrase = *(*uintptr)(unsafe.Pointer(pNear + 24)) if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase != int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*(*TFts5ExprTerm)(unsafe.Pointer(pPhrase + 32))).FbFirst != 0 { if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == int32(1) { - v2 = __ccgo_ts + 36088 + v2 = __ccgo_ts + 36234 } else { - v2 = __ccgo_ts + 36001 + v2 = __ccgo_ts + 36147 } - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36095, libc.VaList(bp+8, v2)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36241, libc.VaList(bp+8, v2)) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -200855,7 +202619,7 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin _fts5ExprAddChildren(tls, pRet, pLeft) _fts5ExprAddChildren(tls, pRet, pRight) if (*TFts5ExprNode)(unsafe.Pointer(pRet)).FiHeight > int32(SQLITE_FTS5_MAX_EXPR_DEPTH) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36145, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36291, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -203003,7 +204767,7 @@ func _fts5DataRead(tls *libc.TLS, p uintptr, iRowid Ti64) (r uintptr) { ** to the requested entry. */ if (*TFts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36198, iRowid, 0, p+72) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36344, iRowid, 0, p+72) } /* If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls ** above returned SQLITE_ERROR, return SQLITE_CORRUPT_VTAB instead. @@ -203096,7 +204860,7 @@ func _fts5DataWrite(tls *libc.TLS, p uintptr, iRowid Ti64, pData uintptr, nData } if (*TFts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36204, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36350, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return } @@ -203125,7 +204889,7 @@ func _fts5DataDelete(tls *libc.TLS, p uintptr, iFirst Ti64, iLast Ti64) { } if (*TFts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36255, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36401, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if _fts5IndexPrepareStmt(tls, p, p+88, zSql) != 0 { return } @@ -203159,7 +204923,7 @@ func _fts5DataRemoveSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { } if (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36304, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36450, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter, int32(1), iSegid) @@ -203328,7 +205092,7 @@ func _fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie ui } i = int32(4) /* Check if this is a V2 structure record. Set bStructureV2 if it is. */ - if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36344, uint64(4)) { + if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36490, uint64(4)) { i += int32(4) bStructureV2 = int32(1) } @@ -203519,7 +205283,7 @@ func _fts5IndexDataVersion(tls *libc.TLS, p uintptr) (r Ti64) { iVersion = 0 if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*TFts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) { - (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36349, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36495, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return 0 } @@ -203603,7 +205367,7 @@ func _fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { _sqlite3Fts5Put32(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, iCookie) (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = int32(4) if (*TFts5Structure)(unsafe.Pointer(pStruct)).FnOriginCntr > uint64(0) { - libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36344, uint64(4)) + libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36490, uint64(4)) *(*int32)(unsafe.Pointer(bp + 8)) += int32(4) } *(*int32)(unsafe.Pointer(bp + 8)) += _sqlite3Fts5PutVarint(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), uint64((*TFts5Structure)(unsafe.Pointer(pStruct)).FnLevel)) @@ -204978,7 +206742,7 @@ func _fts5IdxSelectStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36372, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36518, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect } @@ -205067,7 +206831,7 @@ func _fts5IdxNextStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36456, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36602, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect } @@ -206683,7 +208447,7 @@ func _fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { if (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { v1 = (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } else { - v1 = __ccgo_ts + 1680 + v1 = __ccgo_ts + 1694 } z = v1 /* The following was already done in fts5WriteInit(): */ @@ -207038,7 +208802,7 @@ func _fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { _sqlite3Fts5BufferSize(tls, p+60, pWriter+8+8, uint32(nBuffer)) if (*TFts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36538, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36684, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { /* Initialize the 4-byte leaf-page header to 0x00. */ @@ -207528,7 +209292,7 @@ func _fts5SecureDeleteIdxEntry(tls *libc.TLS, p uintptr, iSegid int32, iPgno int defer tls.Free(32) if iPgno != int32(1) { if (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx == uintptr(0) { - _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36595, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36741, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx, int32(1), iSegid) @@ -209018,7 +210782,7 @@ func _sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) (r int32) { if (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FbContentlessDelete != 0 { (*(*TFts5Structure)(unsafe.Pointer(bp))).FnOriginCntr = uint64(1) } - _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1680, 0) + _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1694, 0) _fts5StructureWrite(tls, p, bp) return _fts5IndexReturn(tls, p) } @@ -209045,11 +210809,11 @@ func _sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uin if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*TFts5Index)(unsafe.Pointer(p)).FnWorkUnit = int32(FTS5_WORK_UNIT) - (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36656, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36802, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25773, __ccgo_ts+36664, 0, pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25919, __ccgo_ts+36810, 0, pzErr) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11825, __ccgo_ts+36699, int32(1), pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11950, __ccgo_ts+36845, int32(1), pzErr) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5IndexReinit(tls, p) @@ -209583,7 +211347,7 @@ func _fts5SetupTokendataIter(tls *libc.TLS, p uintptr, pToken uintptr, nToken in pNew = _fts5MultiIterAlloc(tls, p, (*TFts5Structure)(unsafe.Pointer(pStruct)).FnSegment) if pSmall != 0 { _sqlite3Fts5BufferSet(tls, p+60, bp, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fn, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36743) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36889) } else { _sqlite3Fts5BufferSet(tls, p+60, bp, nToken, pToken) } @@ -210103,7 +211867,7 @@ func _sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) (r int32) pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig /* Binary representation of iNew */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) _sqlite3Fts5Put32(tls, bp, iNew) - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36198, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36344, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, int32(4), 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -210697,7 +212461,7 @@ func _fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { if (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { return } - _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36745, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) + _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36891, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) /* Iterate through the b-tree hierarchy. */ for (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { /* Data for this leaf */ zIdxTerm = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -210928,7 +212692,7 @@ func _sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum Tu64, bUseC } else { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = 0 _fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16))+104+uintptr((*(*TFts5CResult)(unsafe.Pointer((*TFts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FaFirst + 1*4))).FiFirst)*128, uintptr(0), bp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36831) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36977) for 0 == _sqlite3Fts5PoslistNext64(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn, bp+40, bp+32) { iCol = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) >> libc.Int32FromInt32(32)) iTokOff = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) & libc.Int64FromInt32(0x7FFFFFFF)) @@ -211516,7 +213280,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) bSeenMatch = 0 bSeenRank = 0 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36836, 0) + (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36982, 0) return int32(SQLITE_ERROR) } idxStr = Xsqlite3_malloc(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pInfo)).FnConstraint*int32(8)+int32(1)) @@ -211555,7 +213319,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v3 = iIdxStr iIdxStr++ *(*int8)(unsafe.Pointer(idxStr + uintptr(v3))) = int8('M') - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5170, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5234, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) } } @@ -211575,7 +213339,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v6 = int32('G') } *(*int8)(unsafe.Pointer(idxStr + uintptr(v5))) = int8(v6) - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5170, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5234, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) iCons++ v7 = iCons @@ -212013,7 +213777,7 @@ func _fts5NextMethod(tls *libc.TLS, pCursor uintptr) (r int32) { *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_EOF) rc = Xsqlite3_reset(tls, (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -212040,7 +213804,7 @@ func _fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt } else { rc = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -212075,21 +213839,21 @@ func _fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ if zRankArgs != 0 { - v1 = __ccgo_ts + 15022 + v1 = __ccgo_ts + 15115 } else { - v1 = __ccgo_ts + 1680 + v1 = __ccgo_ts + 1694 } if zRankArgs != 0 { v2 = zRankArgs } else { - v2 = __ccgo_ts + 1680 + v2 = __ccgo_ts + 1694 } if bDesc != 0 { - v3 = __ccgo_ts + 36875 + v3 = __ccgo_ts + 37021 } else { - v3 = __ccgo_ts + 36880 + v3 = __ccgo_ts + 37026 } - rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+36884, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) + rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+37030, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter if rc == SQLITE_OK { (*TFts5FullTable)(unsafe.Pointer(pTab)).FpSortCsr = pCsr @@ -212147,14 +213911,14 @@ func _fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr n++ } (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan = int32(FTS5_PLAN_SPECIAL) - if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+36939, z, n) { + if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+37085, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = int64(_sqlite3Fts5IndexReads(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex)) } else { - if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5513, z, n) { + if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5577, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { /* An unrecognized directive. Return an error message. */ - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36945, libc.VaList(bp+8, n, z)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37091, libc.VaList(bp+8, n, z)) rc = int32(SQLITE_ERROR) } } @@ -212204,7 +213968,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { zRank = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank zRankArgs = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36973, libc.VaList(bp+24, zRankArgs)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37119, libc.VaList(bp+24, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp+8, uintptr(0)) @@ -212237,7 +214001,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { pAux = _fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36983, libc.VaList(bp+24, zRank)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37129, libc.VaList(bp+24, zRank)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -212271,7 +214035,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_FREE_ZRANK) } else { if rc == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37004, libc.VaList(bp+24, z)) + (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37150, libc.VaList(bp+24, z)) } } } else { @@ -212279,7 +214043,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRank (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRankArgs } else { - (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 34936 + (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 35082 (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -212330,7 +214094,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint iIdxStr = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36836, 0) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36982, 0) return int32(SQLITE_ERROR) } if (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan != 0 { @@ -212352,7 +214116,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint case int32('M'): zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))) if zText == uintptr(0) { - zText = __ccgo_ts + 1680 + zText = __ccgo_ts + 1694 } iCol = 0 for cond := true; cond; cond = int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= int32('9') { @@ -212474,7 +214238,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint } } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent == uintptr(0) { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37037, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37183, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = int32(SQLITE_ERROR) } else { /* This is either a full-table scan (ePlan==FTS5_PLAN_SCAN) or a lookup @@ -212612,7 +214376,7 @@ func _fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) (r int32) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< int32(1) { - v1 = __ccgo_ts + 20901 + v1 = __ccgo_ts + 21033 } else { - v1 = __ccgo_ts + 37315 + v1 = __ccgo_ts + 37461 } - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37327, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37473, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if nArg == int32(1) { @@ -212869,7 +214633,7 @@ func _fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && bUpdateOrDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FbSecureDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion == int32(FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35864, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+36010, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = int32(FTS5_CURRENT_VERSION_SECUREDELETE) } @@ -213665,7 +215429,7 @@ func _fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) iCsrId = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) pCsr = _fts5CursorFromCsrid(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId) if pCsr == uintptr(0) || (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37364, libc.VaList(bp+8, iCsrId)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37510, libc.VaList(bp+8, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } else { @@ -213856,7 +215620,7 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = uintptr(0) } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 && Xsqlite3_vtab_nochange(tls, pCtx) != 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37385, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37531, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -214098,7 +215862,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr pMod = _fts5LocateTokenizer(tls, pGlobal, v1) if pMod == uintptr(0) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37456, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37602, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) } else { if azArg != 0 { v2 = azArg + 1*8 @@ -214114,7 +215878,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr (*TFts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16 if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37478, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37624, 0) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FePattern = _sqlite3Fts5TokenizerPattern(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate, (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok) @@ -214169,7 +215933,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { _, _ = pGlobal, ppApi pGlobal = Xsqlite3_user_data(tls, pCtx) _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37509) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37655) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal } @@ -214183,7 +215947,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { func _fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37522, -int32(1), uintptr(-libc.Int32FromInt32(1))) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37668, -int32(1), uintptr(-libc.Int32FromInt32(1))) } // C documentation @@ -214212,11 +215976,11 @@ func _fts5ShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName2 = [5]uintptr{ - 0: __ccgo_ts + 37613, - 1: __ccgo_ts + 35125, - 2: __ccgo_ts + 25773, - 3: __ccgo_ts + 35692, - 4: __ccgo_ts + 11825, + 0: __ccgo_ts + 37759, + 1: __ccgo_ts + 35271, + 2: __ccgo_ts + 25919, + 3: __ccgo_ts + 35838, + 4: __ccgo_ts + 11950, } // C documentation @@ -214230,20 +215994,26 @@ func _fts5IntegrityMethod(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zTabnam bp := tls.Alloc(32) defer tls.Free(32) var pTab uintptr - var rc int32 - _, _ = pTab, rc + var rc, v1 int32 + _, _, _ = pTab, rc, v1 pTab = pVtab _ = isQuick rc = _sqlite3Fts5StorageIntegrity(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, 0) if rc&int32(0xff) == int32(SQLITE_CORRUPT) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37620, libc.VaList(bp+8, zSchema, zTabname)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37766, libc.VaList(bp+8, zSchema, zTabname)) + if *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { + v1 = SQLITE_OK + } else { + v1 = int32(SQLITE_NOMEM) + } + rc = v1 } else { if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37666, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37812, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) } } _sqlite3Fts5IndexCloseReader(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) - return SQLITE_OK + return rc } func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { @@ -214262,7 +216032,7 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateFunction = __ccgo_fp(_fts5CreateAux) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateTokenizer = __ccgo_fp(_fts5CreateTokenizer) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = __ccgo_fp(_fts5FindTokenizer) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37729, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37875, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) if rc == SQLITE_OK { rc = _sqlite3Fts5IndexInit(tls, db) } @@ -214279,10 +216049,10 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { rc = _sqlite3Fts5VocabInit(tls, pGlobal, db) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37729, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37875, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37734, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37880, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) } } /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file @@ -214385,17 +216155,17 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, ** statements to operate on it. */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { azStmt = [11]uintptr{ - 0: __ccgo_ts + 37749, - 1: __ccgo_ts + 37817, - 2: __ccgo_ts + 37886, - 3: __ccgo_ts + 37919, - 4: __ccgo_ts + 37958, - 5: __ccgo_ts + 37998, - 6: __ccgo_ts + 38037, - 7: __ccgo_ts + 38080, - 8: __ccgo_ts + 38119, - 9: __ccgo_ts + 38163, - 10: __ccgo_ts + 38203, + 0: __ccgo_ts + 37895, + 1: __ccgo_ts + 37963, + 2: __ccgo_ts + 38032, + 3: __ccgo_ts + 38065, + 4: __ccgo_ts + 38104, + 5: __ccgo_ts + 38144, + 6: __ccgo_ts + 38183, + 7: __ccgo_ts + 38226, + 8: __ccgo_ts + 38265, + 9: __ccgo_ts + 38309, + 10: __ccgo_ts + 38349, } pC = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig zSql = uintptr(0) @@ -214432,16 +216202,16 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, } case int32(FTS5_STMT_REPLACE_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v2 = __ccgo_ts + 38226 + v2 = __ccgo_ts + 38372 } else { - v2 = __ccgo_ts + 1680 + v2 = __ccgo_ts + 1694 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName, v2)) case int32(FTS5_STMT_LOOKUP_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v3 = __ccgo_ts + 38229 + v3 = __ccgo_ts + 38375 } else { - v3 = __ccgo_ts + 1680 + v3 = __ccgo_ts + 1694 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, v3, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName)) default: @@ -214460,7 +216230,7 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, (*TFts5Config)(unsafe.Pointer((*TFts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if rc != SQLITE_OK && pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3827, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3891, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -214497,12 +216267,12 @@ func _sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) (r int32) { defer tls.Free(64) var rc int32 _ = rc - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38237, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38383, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38341, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38487, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38379, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38525, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } @@ -214511,7 +216281,7 @@ func _fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail ui bp := tls.Alloc(48) defer tls.Free(48) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38417, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) + *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38563, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -214523,14 +216293,14 @@ func _sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) ( _ = pConfig pConfig = (*TFts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageSync(tls, pStorage) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25773, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11825, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37613, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25919, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11950, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37759, zName) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35692, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35838, zName) } if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35125, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35271, zName) } return *(*int32)(unsafe.Pointer(bp)) } @@ -214550,13 +216320,13 @@ func _sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDef _, _ = rc, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if bWithout != 0 { - v1 = __ccgo_ts + 30413 + v1 = __ccgo_ts + 30559 } else { - v1 = __ccgo_ts + 1680 + v1 = __ccgo_ts + 1694 } - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38459, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38605, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38489, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38635, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) } return rc @@ -214597,36 +216367,36 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr if zDefn == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38533, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38679, 0) iOff = int32(libc.Xstrlen(tls, zDefn)) i = 0 for { if !(i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } - Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38556, libc.VaList(bp+8, i)) + Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38702, libc.VaList(bp+8, i)) iOff += int32(libc.Xstrlen(tls, zDefn+uintptr(iOff))) goto _2 _2: ; i++ } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35125, zDefn, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35271, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - zCols = __ccgo_ts + 38562 + zCols = __ccgo_ts + 38708 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 { - zCols = __ccgo_ts + 38594 + zCols = __ccgo_ts + 38740 } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35692, zCols, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35838, zCols, 0, pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37613, __ccgo_ts+38642, int32(1), pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37759, __ccgo_ts+38788, int32(1), pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35864, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+36010, uintptr(0), int32(FTS5_CURRENT_VERSION)) } } if rc != 0 { @@ -214968,9 +216738,9 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig (*TFts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 /* Delete the contents of the %_data and %_docsize tables. */ - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38659, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38805, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38709, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38855, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } /* Reinitialize the %_data table. This call creates the initial structure ** and averages records. */ @@ -214978,7 +216748,7 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3Fts5IndexReinit(tls, (*TFts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35864, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+36010, uintptr(0), int32(FTS5_CURRENT_VERSION)) } return rc } @@ -215192,7 +216962,7 @@ func _fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var _ /* pCnt at bp+0 */ uintptr _, _, _ = pConfig, rc, zSql pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38738, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38884, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -215402,14 +217172,14 @@ func _sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) (r int32 ** number of rows. */ if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { *(*Ti64)(unsafe.Pointer(bp + 48)) = 0 - rc = _fts5StorageCount(tls, p, __ccgo_ts+35125, bp+48) + rc = _fts5StorageCount(tls, p, __ccgo_ts+35271, bp+48) if rc == SQLITE_OK && *(*Ti64)(unsafe.Pointer(bp + 48)) != (*TFts5Storage)(unsafe.Pointer(p)).FnTotalRow { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) } @@ -216611,64 +218381,64 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38840, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38986, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38843, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38989, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38848, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38994, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('e'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38853, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38999, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38856, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39002, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('l'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38859, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39005, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38864, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39010, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38869, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39015, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38873, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39019, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38879, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39025, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38884, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39030, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -216677,49 +218447,49 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38888, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39034, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38892, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39038, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } } case int32('s'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38895, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39041, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('t'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38899, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39045, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38903, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39049, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38907, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39053, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38911, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39057, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('z'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38915, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39061, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -216736,20 +218506,20 @@ func _fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38919, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38899, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39065, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39045, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('b'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38922, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38925, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39068, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39071, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38929, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38915, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39075, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39061, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } @@ -216765,75 +218535,75 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38932, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39078, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38899, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39045, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38940, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39086, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38947, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39093, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(4) } } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38952, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39098, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38848, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38994, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38957, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39103, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38843, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38989, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } } case int32('e'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38962, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39108, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38915, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39061, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('g'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38967, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39113, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15939, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+16018, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('l'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38972, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39118, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38925, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39071, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38976, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39122, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38840, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38986, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38981, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39127, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38884, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39030, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38987, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39133, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38991, uint64(1)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39137, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(1) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38993, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39139, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38907, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39053, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } @@ -216842,48 +218612,48 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38999, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39145, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38915, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39061, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39007, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39153, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38899, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39045, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39013, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39159, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38899, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39045, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } } } case int32('s'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39018, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39164, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38840, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38986, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39024, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39170, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38911, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39057, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39032, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39178, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39040, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39186, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39044, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39190, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38907, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39053, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } @@ -216891,21 +218661,21 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39052, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39198, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38840, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38986, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39058, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39204, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38911, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39057, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39064, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39210, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38925, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39071, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(3) } } @@ -216923,48 +218693,48 @@ func _fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39071, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39217, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38856, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39002, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } case int32('s'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39076, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39222, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39081, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39227, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38856, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39002, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39087, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39233, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38856, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39002, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39040, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39186, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39093, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39239, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } case int32('z'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39099, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39245, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38840, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38986, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } @@ -216980,13 +218750,13 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('e'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39105, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39251, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39109, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39255, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(2) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39112, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39258, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) ret = int32(1) @@ -216994,7 +218764,7 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39115, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39261, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) ret = int32(1) @@ -217155,14 +218925,14 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p break } zArg = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+int32(1))*8)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39119) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39265) { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { (*TTrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('0')) } } else { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38812) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38958) { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('2') || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { @@ -217436,7 +219206,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { Fx Tfts5_tokenizer }{ 0: { - FzName: __ccgo_ts + 38830, + FzName: __ccgo_ts + 38976, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5UnicodeCreate), FxDelete: __ccgo_fp(_fts5UnicodeDelete), @@ -217444,7 +219214,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 1: { - FzName: __ccgo_ts + 39134, + FzName: __ccgo_ts + 39280, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5AsciiCreate), FxDelete: __ccgo_fp(_fts5AsciiDelete), @@ -217452,7 +219222,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 2: { - FzName: __ccgo_ts + 39140, + FzName: __ccgo_ts + 39286, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5PorterCreate), FxDelete: __ccgo_fp(_fts5PorterDelete), @@ -217460,7 +219230,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 3: { - FzName: __ccgo_ts + 39147, + FzName: __ccgo_ts + 39293, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5TriCreate), FxDelete: __ccgo_fp(_fts5TriDelete), @@ -222994,16 +224764,16 @@ func _fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uin zCopy = _sqlite3Fts5Strndup(tls, bp, zType, -int32(1)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { _sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39155) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39301) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39159) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39305) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_ROW) } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39163) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39309) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_INSTANCE) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39172, libc.VaList(bp+16, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39318, libc.VaList(bp+16, zCopy)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -223072,15 +224842,15 @@ func _fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg var _ /* rc at bp+0 */ int32 _, _, _, _, _, _, _, _, _, _, _, _ = azSchema, bDb, nByte, nDb, nTab, pRet, zDb, zTab, zType, v1, v2, v3 azSchema = [3]uintptr{ - 0: __ccgo_ts + 39206, - 1: __ccgo_ts + 39246, - 2: __ccgo_ts + 39281, + 0: __ccgo_ts + 39352, + 1: __ccgo_ts + 39392, + 2: __ccgo_ts + 39427, } pRet = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23774, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) + bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23897, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) if argc != int32(5) && bDb == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39324, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39470, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bDb != 0 { @@ -223250,10 +225020,10 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) zSql = uintptr(0) if (*TFts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39357, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39503, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return int32(SQLITE_ERROR) } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39388, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39534, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, (*TFts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), bp+8, uintptr(0)) } @@ -223272,7 +225042,7 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39439, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39585, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } else { @@ -223574,7 +225344,7 @@ func _fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnuse if pLe != 0 { zCopy = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = __ccgo_ts + 1680 + zCopy = __ccgo_ts + 1694 } (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm+int32(1)) @@ -223698,7 +225468,7 @@ func _sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) (r int32) var p uintptr _ = p p = pGlobal - return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39465, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39611, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) } var _fts5Vocab = Tsqlite3_module{ @@ -223751,7 +225521,7 @@ func init() { // /************** End of stmt.c ************************************************/ // /* Return the source-id for this library */ func Xsqlite3_sourceid(tls *libc.TLS) (r uintptr) { - return __ccgo_ts + 39475 + return __ccgo_ts + 39621 } type TAggInfo_col = struct { @@ -224033,11 +225803,11 @@ var Xsqlite3_temp_directory uintptr // ** // ** See also: [sqlite_version()] and [sqlite_source_id()]. // */ -var Xsqlite3_version = [7]int8{'3', '.', '4', '5', '.', '3'} +var Xsqlite3_version = [7]int8{'3', '.', '4', '6', '.', '0'} var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data -var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-14.0.1 20240411 (Red Hat 14.0.1-0)\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_PTHREADS\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%04d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00PRAGMA \"%w\".integrity_check(%Q)\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00RIGHT PART OF \x00USE TEMP B-TREE FOR %sORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00" +var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-14.0.1 20240411 (Red Hat 14.0.1-0)\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_PTHREADS\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00" type Sqlite3_int64 = sqlite3_int64 type Sqlite3_mutex_methods = sqlite3_mutex_methods diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_ppc64le.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_ppc64le.go index 0096c7bb30..e4915c3b16 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_ppc64le.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_ppc64le.go @@ -1,4 +1,4 @@ -// Code generated for linux/ppc64le by 'generator -mlong-double-64 --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -extended-errors -o sqlite3.go sqlite3.c -I/tmp/libsqlite3/sqlite-amalgamation-3450300/ccgo -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. +// Code generated for linux/ppc64le by 'generator -mlong-double-64 --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -I /home/debian/src/modernc.org/builder/.exclude/modernc.org/libz/include/linux/ppc64le -I /home/debian/src/modernc.org/builder/.exclude/modernc.org/libtcl8.6/include/linux/ppc64le -extended-errors -o sqlite3.go sqlite3.c -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. //go:build linux && ppc64le // +build linux,ppc64le @@ -1012,6 +1012,7 @@ const OPFLG_IN1 = 2 const OPFLG_IN2 = 4 const OPFLG_IN3 = 8 const OPFLG_JUMP = 1 +const OPFLG_JUMP0 = 128 const OPFLG_NCYCLE = 64 const OPFLG_OUT2 = 16 const OPFLG_OUT3 = 32 @@ -1089,7 +1090,7 @@ const OP_IfNotOpen = 25 const OP_IfNotZero = 60 const OP_IfNullRow = 20 const OP_IfPos = 59 -const OP_IfSmaller = 33 +const OP_IfSizeBetween = 33 const OP_IncrVacuum = 62 const OP_Init = 8 const OP_InitCoroutine = 11 @@ -1493,6 +1494,7 @@ const SF_ComplexResult = 262144 const SF_Compound = 256 const SF_Converted = 65536 const SF_CopyCte = 67108864 +const SF_Correlated = 536870912 const SF_Distinct = 1 const SF_Expanded = 64 const SF_FixedLimit = 16384 @@ -1765,6 +1767,7 @@ const SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT = -1 const SQLITE_DEFAULT_LOOKASIDE = 40 const SQLITE_DEFAULT_MEMSTATUS = 0 const SQLITE_DEFAULT_MMAP_SIZE = 0 +const SQLITE_DEFAULT_OPTIMIZE_LIMIT = 2000 const SQLITE_DEFAULT_PAGE_SIZE = 4096 const SQLITE_DEFAULT_PCACHE_INITSZ = 20 const SQLITE_DEFAULT_PROXYDIR_PERMISSIONS = 493 @@ -1782,6 +1785,7 @@ const SQLITE_DESERIALIZE_READONLY = 4 const SQLITE_DESERIALIZE_RESIZEABLE = 2 const SQLITE_DETACH = 25 const SQLITE_DETERMINISTIC = 2048 +const SQLITE_DIGIT_SEPARATOR = 95 const SQLITE_DIRECTONLY = 524288 const SQLITE_DIRECT_OVERFLOW_READ = 1 const SQLITE_DONE = 101 @@ -2206,7 +2210,7 @@ const SQLITE_SHM_SHARED = 4 const SQLITE_SHM_UNLOCK = 1 const SQLITE_SORTER_PMASZ = 250 const SQLITE_SOUNDEX = 1 -const SQLITE_SOURCE_ID = "2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355" +const SQLITE_SOURCE_ID = "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e" const SQLITE_SO_ASC = 0 const SQLITE_SO_DESC = 1 const SQLITE_SO_UNDEFINED = -1 @@ -2314,8 +2318,8 @@ const SQLITE_UTF16LE = 2 const SQLITE_UTF16NATIVE = 2 const SQLITE_UTF16_ALIGNED = 8 const SQLITE_UTF8 = 1 -const SQLITE_VERSION = "3.45.3" -const SQLITE_VERSION_NUMBER = 3045003 +const SQLITE_VERSION = "3.46.0" +const SQLITE_VERSION_NUMBER = 3046000 const SQLITE_VTABRISK_High = 2 const SQLITE_VTABRISK_Low = 0 const SQLITE_VTABRISK_Normal = 1 @@ -2464,11 +2468,11 @@ const TF_HasStat1 = 16 const TF_HasStat4 = 8192 const TF_HasStored = 64 const TF_HasVirtual = 32 +const TF_MaybeReanalyze = 256 const TF_NoVisibleRowid = 512 const TF_OOOHidden = 1024 const TF_Readonly = 1 const TF_Shadow = 4096 -const TF_StatsUsed = 256 const TF_Strict = 65536 const TF_WithoutRowid = 128 const TIMER_ABSTIME = 1 @@ -2637,7 +2641,7 @@ const TK_ID = 59 const TK_IF = 18 const TK_IF_NULL_ROW = 179 const TK_IGNORE = 63 -const TK_ILLEGAL = 184 +const TK_ILLEGAL = 185 const TK_IMMEDIATE = 8 const TK_IN = 49 const TK_INDEX = 161 @@ -2685,6 +2689,7 @@ const TK_PRAGMA = 70 const TK_PRECEDING = 88 const TK_PRIMARY = 122 const TK_PTR = 112 +const TK_QNUMBER = 183 const TK_QUERY = 3 const TK_RAISE = 71 const TK_RANGE = 89 @@ -2709,7 +2714,7 @@ const TK_SELECT_COLUMN = 178 const TK_SEMI = 1 const TK_SET = 130 const TK_SLASH = 109 -const TK_SPACE = 183 +const TK_SPACE = 184 const TK_SPAN = 181 const TK_STAR = 108 const TK_STRING = 117 @@ -2722,12 +2727,12 @@ const TK_TRANSACTION = 6 const TK_TRIGGER = 77 const TK_TRUEFALSE = 170 const TK_TRUTH = 175 -const TK_UMINUS = 173 +const TK_UMINUS = 174 const TK_UNBOUNDED = 90 const TK_UNION = 134 const TK_UNIQUE = 123 const TK_UPDATE = 129 -const TK_UPLUS = 174 +const TK_UPLUS = 173 const TK_USING = 144 const TK_VACUUM = 78 const TK_VALUES = 139 @@ -2883,31 +2888,37 @@ const W_OK = 2 const XN_EXPR = -2 const XN_ROWID = -1 const X_OK = 1 +const YYDYNSTACK = 1 const YYFALLBACK = 1 +const YYFREE = 0 +const YYGROWABLESTACK = 1 const YYMALLOCARGTYPE = 0 -const YYNOCODE = 319 +const YYNOCODE = 322 const YYNOERRORRECOVERY = 1 -const YYNRULE = 405 -const YYNRULE_WITH_ACTION = 340 -const YYNSTATE = 579 -const YYNTOKEN = 185 +const YYNRULE = 409 +const YYNRULE_WITH_ACTION = 344 +const YYNSTATE = 583 +const YYNTOKEN = 186 const YYPARSEFREENEVERNULL = 1 +const YYREALLOC = 0 const YYSTACKDEPTH = 100 const YYWILDCARD = 101 -const YY_ACCEPT_ACTION = 1244 -const YY_ACTTAB_COUNT = 2100 -const YY_ERROR_ACTION = 1243 -const YY_MAX_REDUCE = 1650 -const YY_MAX_SHIFT = 578 -const YY_MAX_SHIFTREDUCE = 1242 -const YY_MIN_REDUCE = 1246 -const YY_MIN_SHIFTREDUCE = 838 -const YY_NO_ACTION = 1245 -const YY_REDUCE_COUNT = 410 -const YY_REDUCE_MAX = 1753 -const YY_REDUCE_MIN = -271 -const YY_SHIFT_COUNT = 578 -const YY_SHIFT_MAX = 2088 +const YY_ACCEPT_ACTION = 1255 +const YY_ACTTAB_COUNT = 2142 +const YY_ERROR_ACTION = 1254 +const YY_MAX_DSTRCTR = 319 +const YY_MAX_REDUCE = 1665 +const YY_MAX_SHIFT = 582 +const YY_MAX_SHIFTREDUCE = 1253 +const YY_MIN_DSTRCTR = 205 +const YY_MIN_REDUCE = 1257 +const YY_MIN_SHIFTREDUCE = 845 +const YY_NO_ACTION = 1256 +const YY_REDUCE_COUNT = 411 +const YY_REDUCE_MAX = 1798 +const YY_REDUCE_MIN = -275 +const YY_SHIFT_COUNT = 582 +const YY_SHIFT_MAX = 2128 const YY_SHIFT_MIN = 0 const _ALLOCA_H = 1 const _ARCH_PPC = 1 @@ -3619,6 +3630,9 @@ const fdatasync = 0 const first_valueInvFunc = 0 const first_valueValueFunc = 0 const fts5GetVarint = 0 +const fts5YYDYNSTACK = 0 +const fts5YYFREE = 0 +const fts5YYGROWABLESTACK = 0 const fts5YYMALLOCARGTYPE = 0 const fts5YYNFTS5TOKEN = 16 const fts5YYNOCODE = 27 @@ -3627,13 +3641,16 @@ const fts5YYNRULE = 28 const fts5YYNRULE_WITH_ACTION = 28 const fts5YYNSTATE = 35 const fts5YYPARSEFREENOTNULL = 1 +const fts5YYREALLOC = 0 const fts5YYSTACKDEPTH = 100 const fts5YY_ACCEPT_ACTION = 81 const fts5YY_ACTTAB_COUNT = 105 const fts5YY_ERROR_ACTION = 80 +const fts5YY_MAX_DSTRCTR = 24 const fts5YY_MAX_REDUCE = 110 const fts5YY_MAX_SHIFT = 34 const fts5YY_MAX_SHIFTREDUCE = 79 +const fts5YY_MIN_DSTRCTR = 16 const fts5YY_MIN_REDUCE = 83 const fts5YY_MIN_SHIFTREDUCE = 52 const fts5YY_NO_ACTION = 82 @@ -4055,11 +4072,11 @@ type sqlite3_file1 = Tsqlite3_file1 // ** // ** xLock() upgrades the database file lock. In other words, xLock() moves the // ** database file lock in the direction NONE toward EXCLUSIVE. The argument to -// ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never +// ** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never // ** SQLITE_LOCK_NONE. If the database file lock is already at or above the // ** requested lock, then the call to xLock() is a no-op. // ** xUnlock() downgrades the database file lock to either SHARED or NONE. -// * If the lock is already at or below the requested lock state, then the call +// ** If the lock is already at or below the requested lock state, then the call // ** to xUnlock() is a no-op. // ** The xCheckReservedLock() method checks whether any database connection, // ** either in this process or in some other process, is holding a RESERVED, @@ -5839,6 +5856,7 @@ type Tsqlite3_changegroup = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -6165,8 +6183,8 @@ type Fts5PhraseIter1 = TFts5PhraseIter1 ** EXTENSION API FUNCTIONS ** ** xUserData(pFts): -** Return a copy of the context pointer the extension function was -** registered with. +** Return a copy of the pUserData pointer passed to the xCreateFunction() +** API when the extension function was registered. ** ** xColumnTotalSize(pFts, iCol, pnToken): ** If parameter iCol is less than zero, set output variable *pnToken @@ -7923,7 +7941,7 @@ type uptr = Tuptr ** 0x00000010 Display sqlite3_index_info xBestIndex calls ** 0x00000020 Range an equality scan metrics ** 0x00000040 IN operator decisions -** 0x00000080 WhereLoop cost adjustements +** 0x00000080 WhereLoop cost adjustments ** 0x00000100 ** 0x00000200 Covering index decisions ** 0x00000400 OR optimization @@ -8435,6 +8453,7 @@ type TParse = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -8654,6 +8673,7 @@ type TSrcItem = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -10930,10 +10950,12 @@ type IdList1 = TIdList1 ** ** Union member validity: ** -** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc -** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy -** u2.pIBIndex fg.isIndexedBy && !fg.isCte -** u2.pCteUse fg.isCte && !fg.isIndexedBy +** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc +** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy +** u1.nRow !fg.isTabFunc && !fg.isIndexedBy +** +** u2.pIBIndex fg.isIndexedBy && !fg.isCte +** u2.pCteUse fg.isCte && !fg.isIndexedBy */ type TSrcItem1 = struct { FpSchema uintptr @@ -10959,6 +10981,7 @@ type TSrcItem1 = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -11362,6 +11385,7 @@ type TParse1 = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -12724,12 +12748,12 @@ var _sqlite3WhereTrace = uint32(0) var _sqlite3OpcodeProperty = [190]uint8{ 4: uint8(0x10), 6: uint8(0x41), - 8: uint8(0x01), + 8: uint8(0x81), 9: uint8(0x01), 10: uint8(0x01), - 11: uint8(0x01), - 12: uint8(0x03), - 13: uint8(0x03), + 11: uint8(0x81), + 12: uint8(0x83), + 13: uint8(0x83), 14: uint8(0x01), 15: uint8(0x01), 16: uint8(0x03), @@ -12737,22 +12761,22 @@ var _sqlite3OpcodeProperty = [190]uint8{ 18: uint8(0x01), 19: uint8(0x12), 20: uint8(0x01), - 21: uint8(0x49), - 22: uint8(0x49), - 23: uint8(0x49), - 24: uint8(0x49), + 21: uint8(0xc9), + 22: uint8(0xc9), + 23: uint8(0xc9), + 24: uint8(0xc9), 25: uint8(0x01), 26: uint8(0x49), 27: uint8(0x49), 28: uint8(0x49), 29: uint8(0x49), - 30: uint8(0x49), + 30: uint8(0xc9), 31: uint8(0x49), - 32: uint8(0x41), + 32: uint8(0xc1), 33: uint8(0x01), 34: uint8(0x41), 35: uint8(0x41), - 36: uint8(0x41), + 36: uint8(0xc1), 37: uint8(0x01), 38: uint8(0x41), 39: uint8(0x41), @@ -12764,7 +12788,7 @@ var _sqlite3OpcodeProperty = [190]uint8{ 45: uint8(0x41), 46: uint8(0x23), 47: uint8(0x0b), - 48: uint8(0x01), + 48: uint8(0x81), 49: uint8(0x01), 50: uint8(0x03), 51: uint8(0x03), @@ -13634,7 +13658,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin var pMutex, v1 uintptr _, _ = pMutex, v1 if op < 0 || op >= int32(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) { - return _sqlite3MisuseError(tls, int32(23890)) + return _sqlite3MisuseError(tls, int32(23961)) } if _statMutex[op] != 0 { v1 = _sqlite3Pcache1Mutex(tls) @@ -13997,43 +14021,37 @@ type itimerspec = Titimerspec // ** A structure for holding a single date and time. // */ type TDateTime = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD uint8 - FrawS uint8 - FvalidYMD uint8 - FvalidHMS uint8 - FvalidTZ uint8 - FtzSet uint8 - FisError uint8 - FuseSubsec uint8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD uint8 + FvalidYMD uint8 + FvalidHMS uint8 + FnFloor uint8 + F__ccgo44 uint8 } type DateTime = TDateTime type TDateTime1 = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD uint8 - FrawS uint8 - FvalidYMD uint8 - FvalidHMS uint8 - FvalidTZ uint8 - FtzSet uint8 - FisError uint8 - FuseSubsec uint8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD uint8 + FvalidYMD uint8 + FvalidHMS uint8 + FnFloor uint8 + F__ccgo44 uint8 } type DateTime1 = TDateTime1 @@ -14160,6 +14178,8 @@ func _parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { } else { if c == int32('Z') || c == int32('z') { zDate++ + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) goto zulu_time } else { return libc.BoolInt32(c != 0) @@ -14178,7 +14198,6 @@ zulu_time: for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(zDate))])&int32(0x01) != 0 { zDate++ } - (*TDateTime)(unsafe.Pointer(p)).FtzSet = uint8(1) return libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zDate))) != 0) } @@ -14195,11 +14214,10 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var ms, rScale float64 - var v1 int32 var _ /* h at bp+0 */ int32 var _ /* m at bp+4 */ int32 var _ /* s at bp+8 */ int32 - _, _, _ = ms, rScale, v1 + _, _ = ms, rScale ms = float64(0) if _getDigits(tls, zDate, __ccgo_ts+1171, libc.VaList(bp+24, bp, bp+4)) != int32(2) { return int32(1) @@ -14225,7 +14243,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { *(*int32)(unsafe.Pointer(bp + 8)) = 0 } (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) (*TDateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp)) (*TDateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 4)) @@ -14233,12 +14251,6 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { if _parseTimezone(tls, zDate, p) != 0 { return int32(1) } - if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { - v1 = int32(1) - } else { - v1 = 0 - } - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(v1) return 0 } @@ -14249,7 +14261,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { // */ func _datetimeError(tls *libc.TLS, p uintptr) { libc.Xmemset(tls, p, 0, uint64(48)) - (*TDateTime)(unsafe.Pointer(p)).FisError = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 1, 0x2) } // C documentation @@ -14275,7 +14287,7 @@ func _computeJD(tls *libc.TLS, p uintptr) { M = int32(1) D = int32(1) } - if Y < -int32(4713) || Y > int32(9999) || (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Y < -int32(4713) || Y > int32(9999) || int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { _datetimeError(tls, p) return } @@ -14291,11 +14303,44 @@ func _computeJD(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) if (*TDateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) += int64((*TDateTime)(unsafe.Pointer(p)).Fh*int32(3600000)+(*TDateTime)(unsafe.Pointer(p)).Fm*int32(60000)) + int64((*TDateTime)(unsafe.Pointer(p)).Fs*libc.Float64FromInt32(1000)+libc.Float64FromFloat64(0.5)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64((*TDateTime)(unsafe.Pointer(p)).Ftz * int32(60000)) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + } + } +} + +// C documentation +// +// /* +// ** Given the YYYY-MM-DD information current in p, determine if there +// ** is day-of-month overflow and set nFloor to the number of days that +// ** would need to be subtracted from the date in order to bring the +// ** date back to the end of the month. +// */ +func _computeFloor(tls *libc.TLS, p uintptr) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if (*TDateTime)(unsafe.Pointer(p)).FD <= int32(28) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } else { + if int32(1)<<(*TDateTime)(unsafe.Pointer(p)).FM&int32(0x15aa) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FM != int32(2) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = libc.BoolUint8((*TDateTime)(unsafe.Pointer(p)).FD == libc.Int32FromInt32(31)) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FY%int32(4) != 0 || (*TDateTime)(unsafe.Pointer(p)).FY%int32(100) == 0 && (*TDateTime)(unsafe.Pointer(p)).FY%int32(400) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8((*TDateTime)(unsafe.Pointer(p)).FD - int32(28)) + } else { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8((*TDateTime)(unsafe.Pointer(p)).FD - int32(29)) + } + } } } } @@ -14354,12 +14399,15 @@ func _parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FY = v1 (*TDateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 4)) (*TDateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 8)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + _computeFloor(tls, p) + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { _computeJD(tls, p) } return 0 } +/* Forward declaration */ + // C documentation // // /* @@ -14371,6 +14419,9 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) (*TDateTime)(unsafe.Pointer(p)).FiJD = _sqlite3StmtCurrentTime(tls, context) if (*TDateTime)(unsafe.Pointer(p)).FiJD > 0 { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + _clearYMD_HMS_TZ(tls, p) return 0 } else { return int32(1) @@ -14388,7 +14439,7 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) // */ func _setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { (*TDateTime)(unsafe.Pointer(p)).Fs = r - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 0, 0x1) if r >= float64(0) && r < float64(5.3734845e+06) { (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r*libc.Float64FromFloat64(8.64e+07) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) @@ -14431,7 +14482,7 @@ func _parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) return 0 } else { if (_sqlite3StrICmp(tls, zDate, __ccgo_ts+1199) == 0 || _sqlite3StrICmp(tls, zDate, __ccgo_ts+1206) == 0) && _sqlite3NotPureFunc(tls, context) != 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) return _setDateTimeToCurrent(tls, context, p) } } @@ -14523,7 +14574,7 @@ func _computeHMS(tls *libc.TLS, p uintptr) { day_min = day_ms / int32(60000) (*TDateTime)(unsafe.Pointer(p)).Fm = day_min % int32(60) (*TDateTime)(unsafe.Pointer(p)).Fh = day_min / int32(60) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) } @@ -14545,7 +14596,7 @@ func _computeYMD_HMS(tls *libc.TLS, p uintptr) { func _clearYMD_HMS_TZ(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 } /* @@ -14646,9 +14697,9 @@ func _toLocaltime(tls *libc.TLS, p uintptr, pCtx uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FisError = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 1, 0x2) return SQLITE_OK } @@ -14696,13 +14747,13 @@ var _aXformType = [6]struct { FnName: uint8(5), FzName: [7]uint8{'m', 'o', 'n', 't', 'h'}, FrLimit: float32(176546), - FrXform: float32(2.592e+06), + FrXform: float32(libc.Float64FromFloat64(30) * libc.Float64FromFloat64(86400)), }, 5: { FnName: uint8(4), FzName: [7]uint8{'y', 'e', 'a', 'r'}, FrLimit: float32(14713), - FrXform: float32(3.1536e+07), + FrXform: float32(libc.Float64FromFloat64(365) * libc.Float64FromFloat64(86400)), }, } @@ -14716,15 +14767,15 @@ var _aXformType = [6]struct { func _autoAdjustDate(tls *libc.TLS, p uintptr) { var r float64 _ = r - if !((*TDateTime)(unsafe.Pointer(p)).FrawS != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + if !(int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } else { if (*TDateTime)(unsafe.Pointer(p)).Fs >= float64(int64(-libc.Int32FromInt32(21086676))*libc.Int64FromInt32(10000)) && (*TDateTime)(unsafe.Pointer(p)).Fs <= float64(libc.Int64FromInt32(25340230)*libc.Int64FromInt32(10000)+libc.Int64FromInt32(799)) { r = (*TDateTime)(unsafe.Pointer(p)).Fs*float64(1000) + float64(2.1086676e+14) _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } } @@ -14741,14 +14792,20 @@ func _autoAdjustDate(tls *libc.TLS, p uintptr) { // ** NNN.NNNN seconds // ** NNN months // ** NNN years +// ** +/-YYYY-MM-DD HH:MM:SS.SSS +// ** ceiling +// ** floor // ** start of month // ** start of year // ** start of week // ** start of day // ** weekday N // ** unixepoch +// ** auto // ** localtime // ** utc +// ** subsec +// ** subsecond // ** // ** Return 0 on success and 1 if there is any kind of error. If the error // ** is in a system call (i.e. localtime()), then an error message is written @@ -14759,12 +14816,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, bp := tls.Alloc(160) defer tls.Free(160) var Z, day Tsqlite3_int64 - var cnt, i, rc, x, y, v12, v2, v5, v7, v9 int32 - var iErr, iGuess, iOrigJD, v1 Ti64 - var rRounder, v10 float64 + var cnt, i, rc, x, y, v1, v10, v13, v3, v6, v8 int32 + var iErr, iGuess, iOrigJD, v2 Ti64 + var rRounder, v11 float64 var z0 uint8 var z2 uintptr - var v3, v6 bool + var v4, v7 bool var _ /* D at bp+64 */ int32 var _ /* M at bp+60 */ int32 var _ /* Y at bp+56 */ int32 @@ -14773,7 +14830,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, var _ /* new at bp+8 */ TDateTime var _ /* r at bp+0 */ float64 var _ /* tx at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v12, v2, v3, v5, v6, v7, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v11, v13, v2, v3, v4, v6, v7, v8 rc = int32(1) switch int32(_sqlite3UpperToLower[*(*uint8)(unsafe.Pointer(z))]) { case int32('a'): @@ -14790,6 +14847,33 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _autoAdjustDate(tls, p) rc = 0 } + case int32('c'): + /* + ** ceiling + ** + ** Resolve day-of-month overflow by rolling forward into the next + ** month. As this is the default action, this modifier is really + ** a no-op that is only included for symmetry. See "floor". + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1244) == 0 { + _computeJD(tls, p) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } + case int32('f'): + /* + ** floor + ** + ** Resolve day-of-month overflow by rolling back to the end of the + ** previous month. + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1252) == 0 { + _computeJD(tls, p) + *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64(int32((*TDateTime)(unsafe.Pointer(p)).FnFloor) * int32(86400000)) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + } case int32('j'): /* ** julianday @@ -14799,13 +14883,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** value in the allowed range of julian day numbers understood by ** SQLite (0..5373484.5) then the result will be NULL. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1244) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1258) == 0 { if idx > int32(1) { return int32(1) } /* IMP: R-31176-64601 */ - if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { rc = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } case int32('l'): @@ -14814,8 +14898,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Assuming the current time value is UTC (a.k.a. GMT), shift it to ** show local time. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1254) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - rc = _toLocaltime(tls, p, pCtx) + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1268) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x10>>4)) != 0 { + v1 = SQLITE_OK + } else { + v1 = _toLocaltime(tls, p, pCtx) + } + rc = v1 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 4, 0x10) } case int32('u'): /* @@ -14824,7 +14915,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Treat the current value of p->s as the number of ** seconds since 1970. Convert to a real julian day number. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1264) == 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1278) == 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { if idx > int32(1) { return int32(1) } /* IMP: R-49255-55373 */ @@ -14833,17 +14924,17 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(*(*float64)(unsafe.Pointer(bp)) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) rc = 0 } } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1274) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - if int32((*TDateTime)(unsafe.Pointer(p)).FtzSet) == 0 { /* Guess at the corresponding utc time */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1288) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x8>>3)) == 0 { /* Guess at the corresponding utc time */ cnt = 0 /* Guess is off by this much */ _computeJD(tls, p) - v1 = (*TDateTime)(unsafe.Pointer(p)).FiJD - iOrigJD = v1 - iGuess = v1 + v2 = (*TDateTime)(unsafe.Pointer(p)).FiJD + iOrigJD = v2 + iGuess = v2 iErr = 0 for { libc.Xmemset(tls, bp+8, 0, uint64(48)) @@ -14856,21 +14947,22 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, bp+8) iErr = (*(*TDateTime)(unsafe.Pointer(bp + 8))).FiJD - iOrigJD - goto _4 - _4: + goto _5 + _5: ; - if v3 = iErr != 0; v3 { - v2 = cnt + if v4 = iErr != 0; v4 { + v3 = cnt cnt++ } - if !(v3 && v2 < int32(3)) { + if !(v4 && v3 < int32(3)) { break } } libc.Xmemset(tls, p, 0, uint64(48)) (*TDateTime)(unsafe.Pointer(p)).FiJD = iGuess (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FtzSet = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) } rc = SQLITE_OK } @@ -14883,13 +14975,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** weekday N where 0==Sunday, 1==Monday, and so forth. If the ** date is already on the appropriate weekday, this is a no-op. */ - if v6 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1278, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v6 { - v5 = int32(*(*float64)(unsafe.Pointer(bp))) - n = v5 + if v7 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1292, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v7 { + v6 = int32(*(*float64)(unsafe.Pointer(bp))) + n = v6 } - if v6 && float64(v5) == *(*float64)(unsafe.Pointer(bp)) { + if v7 && float64(v6) == *(*float64)(unsafe.Pointer(bp)) { _computeYMD_HMS(tls, p) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) _computeJD(tls, p) Z = ((*TDateTime)(unsafe.Pointer(p)).FiJD + int64(129600000)) / int64(86400000) % int64(7) @@ -14913,9 +15005,9 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Show subsecond precision in the output of datetime() and ** unixepoch() and strftime('%s'). */ - if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1287, int32(9)) != 0 { + if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1301, int32(9)) != 0 { if Xsqlite3_stricmp(tls, z, __ccgo_ts+1199) == 0 || Xsqlite3_stricmp(tls, z, __ccgo_ts+1206) == 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) rc = 0 } break @@ -14926,23 +15018,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z += uintptr(9) _computeYMD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) - v7 = libc.Int32FromInt32(0) - (*TDateTime)(unsafe.Pointer(p)).Fm = v7 - (*TDateTime)(unsafe.Pointer(p)).Fh = v7 + v8 = libc.Int32FromInt32(0) + (*TDateTime)(unsafe.Pointer(p)).Fm = v8 + (*TDateTime)(unsafe.Pointer(p)).Fh = v8 (*TDateTime)(unsafe.Pointer(p)).Fs = float64(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1297) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1311) == 0 { (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1303) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1317) == 0 { (*TDateTime)(unsafe.Pointer(p)).FM = int32(1) (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1308) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1322) == 0 { rc = 0 } } @@ -14984,15 +15076,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == int32('-') { - if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1312, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1326, libc.VaList(bp+136, bp+56)) == int32(1) { break } - if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1316, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1330, libc.VaList(bp+136, bp+56)) == int32(1) { break } } - goto _8 - _8: + goto _9 + _9: ; n++ } @@ -15009,12 +15101,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } /* Must start with +/- */ if n == int32(5) { - if _getDigits(tls, z+1, __ccgo_ts+1320, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1334, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } } else { _ = libc.Int32FromInt32(0) - if _getDigits(tls, z+1, __ccgo_ts+1332, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1346, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } z++ @@ -15036,13 +15128,14 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, *(*int32)(unsafe.Pointer(p + 12)) += *(*int32)(unsafe.Pointer(bp + 60)) } if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v9 + x = v10 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) _computeJD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) @@ -15086,7 +15179,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z++ } n = _sqlite3Strlen30(tls, z) - if n > int32(10) || n < int32(3) { + if n < int32(3) || n > int32(10) { break } if int32(_sqlite3UpperToLower[*(*uint8)(unsafe.Pointer(z + uintptr(n-int32(1))))]) == int32('s') { @@ -15095,11 +15188,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeJD(tls, p) _ = libc.Int32FromInt32(0) if *(*float64)(unsafe.Pointer(bp)) < libc.Float64FromInt32(0) { - v10 = -libc.Float64FromFloat64(0.5) + v11 = -libc.Float64FromFloat64(0.5) } else { - v10 = +libc.Float64FromFloat64(0.5) + v11 = +libc.Float64FromFloat64(0.5) } - rRounder = v10 + rRounder = v11 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) i = 0 for { if !(i < int32(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) { @@ -15112,20 +15206,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 12)) += int32(*(*float64)(unsafe.Pointer(bp))) if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v12 + x = v13 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) case int32(5): /* Special processing to add years */ y = int32(*(*float64)(unsafe.Pointer(bp))) _ = libc.Int32FromInt32(0) _computeYMD_HMS(tls, p) + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(p + 8)) += y + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) break @@ -15135,8 +15232,8 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, rc = 0 break } - goto _11 - _11: + goto _12 + _12: ; i++ } @@ -15195,7 +15292,7 @@ func _isDate(tls *libc.TLS, context uintptr, argc int32, argv uintptr, p uintptr i++ } _computeJD(tls, p) - if (*TDateTime)(unsafe.Pointer(p)).FisError != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x2>>1)) != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { return int32(1) } if argc == int32(1) && (*TDateTime)(unsafe.Pointer(p)).FvalidYMD != 0 && (*TDateTime)(unsafe.Pointer(p)).FD > int32(28) { @@ -15243,7 +15340,7 @@ func _unixepochFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _ /* x at bp+0 */ TDateTime if _isDate(tls, context, argc, argv, bp) == 0 { _computeJD(tls, bp) - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { Xsqlite3_result_double(tls, context, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000)) } else { Xsqlite3_result_int64(tls, context, (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/int64(1000)-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000)) @@ -15288,7 +15385,7 @@ func _datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(15)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(16)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(17)] = uint8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(18)] = uint8(int32('0') + s/int32(10000)%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(19)] = uint8(int32('0') + s/int32(1000)%int32(10)) @@ -15336,7 +15433,7 @@ func _timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(3)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(4)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(5)] = uint8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(6)] = uint8(int32('0') + s/int32(10000)%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(7)] = uint8(int32('0') + s/int32(1000)%int32(10)) @@ -15397,6 +15494,62 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } +// C documentation +// +// /* +// ** Compute the number of days after the most recent January 1. +// ** +// ** In other words, compute the zero-based day number for the +// ** current year: +// ** +// ** Jan01 = 0, Jan02 = 1, ..., Jan31 = 30, Feb01 = 31, ... +// ** Dec31 = 364 or 365. +// */ +func _daysAfterJan01(tls *libc.TLS, pDate uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* jan01 at bp+0 */ TDateTime + *(*TDateTime)(unsafe.Pointer(bp)) = *(*TDateTime)(unsafe.Pointer(pDate)) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + (*(*TDateTime)(unsafe.Pointer(bp))).FvalidJD = uint8(0) + (*(*TDateTime)(unsafe.Pointer(bp))).FM = int32(1) + (*(*TDateTime)(unsafe.Pointer(bp))).FD = int32(1) + _computeJD(tls, bp) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD - (*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Monday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Monday, 1=Tuesday, 2=Wednesday, ..., 6=Sunday. +// */ +func _daysAfterMonday(tls *libc.TLS, pDate uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(43200000))/libc.Int64FromInt32(86400000)) % int32(7) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Sunday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Sunday, 1=Monday, 2=Tues, ..., 6=Saturday +// */ +func _daysAfterSunday(tls *libc.TLS, pDate uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)) % int32(7) +} + // C documentation // // /* @@ -15404,33 +15557,48 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // ** // ** Return a string described by FORMAT. Conversions as follows: // ** -// ** %d day of month +// ** %d day of month 01-31 +// ** %e day of month 1-31 // ** %f ** fractional seconds SS.SSS +// ** %F ISO date. YYYY-MM-DD +// ** %G ISO year corresponding to %V 0000-9999. +// ** %g 2-digit ISO year corresponding to %V 00-99 // ** %H hour 00-24 -// ** %j day of year 000-366 +// ** %k hour 0-24 (leading zero converted to space) +// ** %I hour 01-12 +// ** %j day of year 001-366 // ** %J ** julian day number +// ** %l hour 1-12 (leading zero converted to space) // ** %m month 01-12 // ** %M minute 00-59 +// ** %p "am" or "pm" +// ** %P "AM" or "PM" +// ** %R time as HH:MM // ** %s seconds since 1970-01-01 // ** %S seconds 00-59 -// ** %w day of week 0-6 Sunday==0 -// ** %W week of year 00-53 +// ** %T time as HH:MM:SS +// ** %u day of week 1-7 Monday==1, Sunday==7 +// ** %w day of week 0-6 Sunday==0, Monday==1 +// ** %U week of year 00-53 (First Sunday is start of week 01) +// ** %V week of year 01-53 (First week containing Thursday is week 01) +// ** %W week of year 00-53 (First Monday is start of week 01) // ** %Y year 0000-9999 // ** %% % // */ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(208) + defer tls.Free(208) var c, cf uint8 var db, zFmt, v3, v4, v5, v6, v7 uintptr - var h, nDay, wd int32 + var h int32 var i, j, v2 Tsize_t var iS Ti64 var s float64 var _ /* sRes at bp+48 */ Tsqlite3_str var _ /* x at bp+0 */ TDateTime + var _ /* y at bp+128 */ TDateTime var _ /* y at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, nDay, s, wd, zFmt, v2, v3, v4, v5, v6, v7 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, s, zFmt, v2, v3, v4, v5, v6, v7 if argc == 0 { return } @@ -15463,28 +15631,42 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { fallthrough case int32('e'): if int32(cf) == int32('d') { - v3 = __ccgo_ts + 1344 + v3 = __ccgo_ts + 1358 } else { - v3 = __ccgo_ts + 1349 + v3 = __ccgo_ts + 1363 } - Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) - case int32('f'): + Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('f'): /* Fractional seconds. (Non-standard) */ s = (*(*TDateTime)(unsafe.Pointer(bp))).Fs if s > float64(59.999) { s = float64(59.999) } - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1353, libc.VaList(bp+136, s)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1367, libc.VaList(bp+184, s)) case int32('F'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1360, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1374, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('G'): /* Fall thru */ + fallthrough + case int32('g'): + *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) + _ = libc.Int32FromInt32(0) + /* Move y so that it is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidYMD = uint8(0) + _computeYMD(tls, bp+80) + if int32(cf) == int32('g') { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY%int32(100))) + } else { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1389, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY)) + } case int32('H'): fallthrough case int32('k'): if int32(cf) == int32('H') { - v4 = __ccgo_ts + 1344 + v4 = __ccgo_ts + 1358 } else { - v4 = __ccgo_ts + 1349 + v4 = __ccgo_ts + 1363 } - Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) + Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) case int32('I'): /* Fall thru */ fallthrough case int32('l'): @@ -15496,73 +15678,72 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { h = int32(12) } if int32(cf) == int32('I') { - v5 = __ccgo_ts + 1344 + v5 = __ccgo_ts + 1358 } else { - v5 = __ccgo_ts + 1349 + v5 = __ccgo_ts + 1363 } - Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+136, h)) - case int32('W'): /* Fall thru */ - fallthrough - case int32('j'): /* Number of days since 1st day of year */ - *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidJD = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FM = int32(1) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FD = int32(1) - _computeJD(tls, bp+80) - nDay = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) - if int32(cf) == int32('W') { /* 0=Monday, 1=Tuesday, ... 6=Sunday */ - wd = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000) % libc.Int64FromInt32(7)) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1344, libc.VaList(bp+136, (nDay+int32(7)-wd)/int32(7))) - } else { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1375, libc.VaList(bp+136, nDay+int32(1))) - } - case int32('J'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1380, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) + Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+184, h)) + case int32('j'): /* Day of year. Jan01==1, Jan02==2, and so forth */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1394, libc.VaList(bp+184, _daysAfterJan01(tls, bp)+int32(1))) + case int32('J'): /* Julian day number. (Non-standard) */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1399, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) case int32('m'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1344, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) case int32('M'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1344, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('p'): /* Fall thru */ fallthrough case int32('P'): if (*(*TDateTime)(unsafe.Pointer(bp))).Fh >= int32(12) { if int32(cf) == int32('p') { - v6 = __ccgo_ts + 1386 + v6 = __ccgo_ts + 1405 } else { - v6 = __ccgo_ts + 1389 + v6 = __ccgo_ts + 1408 } Xsqlite3_str_append(tls, bp+48, v6, int32(2)) } else { if int32(cf) == int32('p') { - v7 = __ccgo_ts + 1392 + v7 = __ccgo_ts + 1411 } else { - v7 = __ccgo_ts + 1395 + v7 = __ccgo_ts + 1414 } Xsqlite3_str_append(tls, bp+48, v7, int32(2)) } case int32('R'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1398, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1417, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('s'): - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1408, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1427, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) } else { iS = (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/libc.Int64FromInt32(1000) - libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1413, libc.VaList(bp+136, iS)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1432, libc.VaList(bp+184, iS)) } case int32('S'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1344, libc.VaList(bp+136, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) case int32('T'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1418, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) - case int32('u'): /* Fall thru */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1437, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + case int32('u'): /* Day of week. 1 to 7. Monday==1, Sunday==7 */ fallthrough - case int32('w'): - c = uint8(int32(uint8(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)%libc.Int64FromInt32(7))) + int32('0')) + case int32('w'): /* Day of week. 0 to 6. Sunday==0, Monday==1 */ + c = uint8(int32(uint8(_daysAfterSunday(tls, bp))) + int32('0')) if int32(c) == int32('0') && int32(cf) == int32('u') { c = uint8('7') } Xsqlite3_str_appendchar(tls, bp+48, int32(1), c) + case int32('U'): /* Week num. 00-53. First Sun of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterSunday(tls, bp)+int32(7))/int32(7))) + case int32('V'): /* Week num. 01-53. First week with a Thur is week 01 */ + *(*TDateTime)(unsafe.Pointer(bp + 128)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Adjust y so that is the Thursday in the same week as x */ + _ = libc.Int32FromInt32(0) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FvalidYMD = uint8(0) + _computeYMD(tls, bp+128) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, _daysAfterJan01(tls, bp+128)/int32(7)+int32(1))) + case int32('W'): /* Week num. 00-53. First Mon of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterMonday(tls, bp)+int32(7))/int32(7))) case int32('Y'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1433, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1389, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) case int32('%'): Xsqlite3_str_appendchar(tls, bp+48, int32(1), uint8('%')) default: @@ -15715,12 +15896,10 @@ func _timediffFunc(tls *libc.TLS, context uintptr, NotUsed1 int32, argv uintptr) p2 = bp *(*Tsqlite3_int64)(unsafe.Pointer(p2)) = Tsqlite3_int64(uint64(*(*Tsqlite3_int64)(unsafe.Pointer(p2))) + libc.Uint64FromInt32(1486995408)*libc.Uint64FromInt32(100000)) } - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidYMD = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidHMS = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidTZ = uint8(0) + _clearYMD_HMS_TZ(tls, bp) _computeYMD_HMS(tls, bp) _sqlite3StrAccumInit(tls, bp+96, uintptr(0), uintptr(0), 0, int32(100)) - Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1438, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) + Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1452, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) _sqlite3ResultStrAccum(tls, context, bp+96) } @@ -15753,55 +15932,55 @@ var _aDateTimeFuncs = [10]TFuncDef{ FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1244, + FzName: __ccgo_ts + 1258, }, 1: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1264, + FzName: __ccgo_ts + 1278, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1472, + FzName: __ccgo_ts + 1486, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1477, + FzName: __ccgo_ts + 1491, }, 4: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1482, + FzName: __ccgo_ts + 1496, }, 5: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1491, + FzName: __ccgo_ts + 1505, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1500, + FzName: __ccgo_ts + 1514, }, 7: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1509, + FzName: __ccgo_ts + 1523, }, 8: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1522, + FzName: __ccgo_ts + 1536, }, 9: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1540, + FzName: __ccgo_ts + 1554, }, } @@ -16483,7 +16662,7 @@ func _sqlite3MemMalloc(tls *libc.TLS, nByte int32) (r uintptr) { *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1553, libc.VaList(bp+8, nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1567, libc.VaList(bp+8, nByte)) } return p } @@ -16548,7 +16727,7 @@ func _sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) (r uintptr) *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1591, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1605, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) } return p } @@ -17964,7 +18143,7 @@ func _sqlite3OomFault(tls *libc.TLS, db uintptr) (r uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = uint16(0) if (*Tsqlite3)(unsafe.Pointer(db)).FpParse != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1627, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1641, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) pParse = (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).FpOuterParse for { @@ -18391,7 +18570,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li v3 = int32(*(*uint8)(unsafe.Pointer(v4))) c = v3 if v3 == 0 { - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1641, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1655, int32(1)) break } /* Find out what flags are present */ @@ -18808,9 +18987,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial != 0 { if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial) == int32(2) { if flag_zeropad != 0 { - v57 = __ccgo_ts + 1643 + v57 = __ccgo_ts + 1657 } else { - v57 = __ccgo_ts + 1648 + v57 = __ccgo_ts + 1662 } bufpt = v57 length = _sqlite3Strlen30(tls, bufpt) @@ -18821,7 +19000,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP = int32(1000) (*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fn = int32(1) } else { - libc.Xmemcpy(tls, bp, __ccgo_ts+1652, uint64(5)) + libc.Xmemcpy(tls, bp, __ccgo_ts+1666, uint64(5)) bufpt = bp if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fsign) == int32('-') { /* no-op */ @@ -18843,14 +19022,13 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li prefix = flag_prefix } exp = (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP - int32(1) - if int32(xtype) == int32(etGENERIC) && precision > 0 { - precision-- - } /* ** If the field type is etGENERIC, then convert to either etEXP ** or etFLOAT, as appropriate. */ if int32(xtype) == int32(etGENERIC) { + _ = libc.Int32FromInt32(0) + precision-- flag_rtz = libc.BoolUint8(!(flag_alternateform != 0)) if exp < -int32(4) || exp > precision { xtype = uint8(etEXP) @@ -19157,7 +19335,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li bufpt = libc.VaUintptr(&ap) } if bufpt == uintptr(0) { - bufpt = __ccgo_ts + 1657 + bufpt = __ccgo_ts + 1671 } else { if int32(xtype) == int32(etDYNSTRING) { if (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FnChar == uint32(0) && (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FmxAlloc != 0 && width == 0 && precision < 0 && int32((*Tsqlite3_str)(unsafe.Pointer(pAccum)).FaccError) == 0 { @@ -19246,9 +19424,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li isnull = libc.BoolInt32(escarg == uintptr(0)) if isnull != 0 { if int32(xtype) == int32(etSQLESCAPE2) { - v98 = __ccgo_ts + 1658 + v98 = __ccgo_ts + 1672 } else { - v98 = __ccgo_ts + 1663 + v98 = __ccgo_ts + 1677 } escarg = v98 } @@ -19368,7 +19546,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*TSrcItem)(unsafe.Pointer(pItem)).FzName != 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1670, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1684, int32(1)) } Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzName) } else { @@ -19376,11 +19554,16 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzAlias) } else { pSel = (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect - _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* Because of tag-20240424-1 */ if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_NestedFrom) != 0 { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1672, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1686, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) } else { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1682, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_MultiValue) != 0 { + _ = libc.Int32FromInt32(0) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1696, libc.VaList(bp+128, *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pItem)).Fu1)))) + } else { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1717, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + } } } } @@ -19669,7 +19852,7 @@ func _sqlite3ResultStrAccum(tls *libc.TLS, pCtx uintptr, p uintptr) { if int32((*TStrAccum)(unsafe.Pointer(p)).FprintfFlags)&int32(SQLITE_PRINTF_MALLOCED) != 0 { Xsqlite3_result_text(tls, pCtx, (*TStrAccum)(unsafe.Pointer(p)).FzText, int32((*TStrAccum)(unsafe.Pointer(p)).FnChar), __ccgo_fp(_sqlite3OomClear)) } else { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1657, 0, libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1671, 0, libc.UintptrFromInt32(0)) Xsqlite3_str_reset(tls, p) } } @@ -21608,6 +21791,62 @@ func _sqlite3DequoteExpr(tls *libc.TLS, p uintptr) { _sqlite3Dequote(tls, *(*uintptr)(unsafe.Pointer(p + 8))) } +// C documentation +// +// /* +// ** Expression p is a QNUMBER (quoted number). Dequote the value in p->u.zToken +// ** and set the type to INTEGER or FLOAT. "Quoted" integers or floats are those +// ** that contain '_' characters that must be removed before further processing. +// */ +func _sqlite3DequoteNumber(tls *libc.TLS, pParse uintptr, p uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var bHex int32 + var pIn, pOut, v1, v3 uintptr + var _ /* iValue at bp+0 */ int32 + _, _, _, _, _ = bHex, pIn, pOut, v1, v3 + _ = libc.Int32FromInt32(0) + if p != 0 { + pIn = *(*uintptr)(unsafe.Pointer(p + 8)) + pOut = *(*uintptr)(unsafe.Pointer(p + 8)) + bHex = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(pIn + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(pIn + 1))) == int32('X'))) + _ = libc.Int32FromInt32(0) + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + for { + if int32(*(*uint8)(unsafe.Pointer(pIn))) != int32('_') { + v3 = pOut + pOut++ + *(*uint8)(unsafe.Pointer(v3)) = *(*uint8)(unsafe.Pointer(pIn)) + if int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('E') || int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('.') { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_FLOAT) + } + } else { + if bHex == 0 && (!(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1))))])&libc.Int32FromInt32(0x04) != 0) || !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + 1))])&libc.Int32FromInt32(0x04) != 0)) || bHex == int32(1) && (!(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1))))])&libc.Int32FromInt32(0x08) != 0) || !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + 1))])&libc.Int32FromInt32(0x08) != 0)) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1731, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(p + 8)))) + } + } + goto _2 + _2: + ; + v1 = pIn + pIn++ + if !(*(*uint8)(unsafe.Pointer(v1)) != 0) { + break + } + } + if bHex != 0 { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + } + /* tag-20240227-a: If after dequoting, the number is an integer that + ** fits in 32 bits, then it must be converted into EP_IntValue. Other + ** parts of the code expect this. See also tag-20240227-b. */ + if int32((*TExpr)(unsafe.Pointer(p)).Fop) == int32(TK_INTEGER) && _sqlite3GetInt32(tls, *(*uintptr)(unsafe.Pointer(p + 8)), bp) != 0 { + *(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(p)).Fu)) = *(*int32)(unsafe.Pointer(bp)) + *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(EP_IntValue) + } + } +} + // C documentation // // /* @@ -22162,7 +22401,7 @@ func _compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) (r int32) { _, _, _ = c, i, pow63 c = 0 /* 012345678901234567 */ - pow63 = __ccgo_ts + 1696 + pow63 = __ccgo_ts + 1756 i = 0 for { if !(c == 0 && i < int32(18)) { @@ -22394,7 +22633,7 @@ func _sqlite3DecOrHexToI64(tls *libc.TLS, z uintptr, pOut uintptr) (r int32) { } return 0 } else { - n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1715)) + n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1775)) if *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 { n++ } @@ -22552,7 +22791,7 @@ func _sqlite3FpDecode(tls *libc.TLS, p uintptr, _r float64, iRound int32, mxRoun (*TFpDecode)(unsafe.Pointer(p)).Fsign = uint8('+') (*TFpDecode)(unsafe.Pointer(p)).Fn = int32(1) (*TFpDecode)(unsafe.Pointer(p)).FiDP = int32(1) - (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1731 + (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1791 return } else { (*TFpDecode)(unsafe.Pointer(p)).Fsign = uint8('+') @@ -23113,7 +23352,7 @@ func _sqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) (r uintptr func _logBadConnection(tls *libc.TLS, zType uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1733, libc.VaList(bp+8, zType)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1793, libc.VaList(bp+8, zType)) } // C documentation @@ -23136,13 +23375,13 @@ func _sqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) (r int32) { var eOpenState Tu8 _ = eOpenState if db == uintptr(0) { - _logBadConnection(tls, __ccgo_ts+1658) + _logBadConnection(tls, __ccgo_ts+1672) return 0 } eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_OPEN) { if _sqlite3SafetyCheckSickOrOk(tls, db) != 0 { - _logBadConnection(tls, __ccgo_ts+1778) + _logBadConnection(tls, __ccgo_ts+1838) } return 0 } else { @@ -23156,7 +23395,7 @@ func _sqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) (r int32) { _ = eOpenState eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_SICK) && int32(eOpenState) != int32(SQLITE_STATE_OPEN) && int32(eOpenState) != int32(SQLITE_STATE_BUSY) { - _logBadConnection(tls, __ccgo_ts+1787) + _logBadConnection(tls, __ccgo_ts+1847) return 0 } else { return int32(1) @@ -23815,196 +24054,196 @@ func _sqlite3OpcodeName(tls *libc.TLS, i int32) (r uintptr) { } var _azName = [190]uintptr{ - 0: __ccgo_ts + 1795, - 1: __ccgo_ts + 1805, - 2: __ccgo_ts + 1816, - 3: __ccgo_ts + 1828, - 4: __ccgo_ts + 1839, - 5: __ccgo_ts + 1851, - 6: __ccgo_ts + 1858, - 7: __ccgo_ts + 1866, - 8: __ccgo_ts + 1874, - 9: __ccgo_ts + 1879, - 10: __ccgo_ts + 1884, - 11: __ccgo_ts + 1890, - 12: __ccgo_ts + 1904, - 13: __ccgo_ts + 1910, - 14: __ccgo_ts + 1920, - 15: __ccgo_ts + 1925, - 16: __ccgo_ts + 1930, - 17: __ccgo_ts + 1933, - 18: __ccgo_ts + 1939, - 19: __ccgo_ts + 1946, - 20: __ccgo_ts + 1950, - 21: __ccgo_ts + 1960, - 22: __ccgo_ts + 1967, - 23: __ccgo_ts + 1974, - 24: __ccgo_ts + 1981, - 25: __ccgo_ts + 1988, - 26: __ccgo_ts + 1998, - 27: __ccgo_ts + 2007, - 28: __ccgo_ts + 2018, - 29: __ccgo_ts + 2027, - 30: __ccgo_ts + 2033, - 31: __ccgo_ts + 2043, - 32: __ccgo_ts + 2053, - 33: __ccgo_ts + 2058, - 34: __ccgo_ts + 2068, - 35: __ccgo_ts + 2079, - 36: __ccgo_ts + 2084, - 37: __ccgo_ts + 2091, - 38: __ccgo_ts + 2102, - 39: __ccgo_ts + 2107, - 40: __ccgo_ts + 2112, - 41: __ccgo_ts + 2118, - 42: __ccgo_ts + 2124, - 43: __ccgo_ts + 2130, - 44: __ccgo_ts + 2133, - 45: __ccgo_ts + 2137, - 46: __ccgo_ts + 2143, - 47: __ccgo_ts + 2154, - 48: __ccgo_ts + 2165, - 49: __ccgo_ts + 2173, - 50: __ccgo_ts + 2182, - 51: __ccgo_ts + 2189, - 52: __ccgo_ts + 2197, - 53: __ccgo_ts + 2200, - 54: __ccgo_ts + 2203, - 55: __ccgo_ts + 2206, - 56: __ccgo_ts + 2209, - 57: __ccgo_ts + 2212, - 58: __ccgo_ts + 2215, - 59: __ccgo_ts + 2222, - 60: __ccgo_ts + 2228, - 61: __ccgo_ts + 2238, - 62: __ccgo_ts + 2251, - 63: __ccgo_ts + 2262, - 64: __ccgo_ts + 2268, - 65: __ccgo_ts + 2275, - 66: __ccgo_ts + 2284, - 67: __ccgo_ts + 2293, - 68: __ccgo_ts + 2300, - 69: __ccgo_ts + 2313, - 70: __ccgo_ts + 2324, - 71: __ccgo_ts + 2329, - 72: __ccgo_ts + 2337, - 73: __ccgo_ts + 2343, - 74: __ccgo_ts + 2350, - 75: __ccgo_ts + 2362, - 76: __ccgo_ts + 2367, - 77: __ccgo_ts + 2376, - 78: __ccgo_ts + 2381, - 79: __ccgo_ts + 2390, - 80: __ccgo_ts + 2395, - 81: __ccgo_ts + 2400, - 82: __ccgo_ts + 2406, - 83: __ccgo_ts + 2414, - 84: __ccgo_ts + 2422, - 85: __ccgo_ts + 2432, - 86: __ccgo_ts + 2440, - 87: __ccgo_ts + 2447, - 88: __ccgo_ts + 2460, - 89: __ccgo_ts + 2465, - 90: __ccgo_ts + 2477, - 91: __ccgo_ts + 2485, - 92: __ccgo_ts + 2492, - 93: __ccgo_ts + 2503, - 94: __ccgo_ts + 2510, - 95: __ccgo_ts + 2517, - 96: __ccgo_ts + 2527, - 97: __ccgo_ts + 2536, - 98: __ccgo_ts + 2547, - 99: __ccgo_ts + 2553, - 100: __ccgo_ts + 2564, - 101: __ccgo_ts + 2574, - 102: __ccgo_ts + 2584, - 103: __ccgo_ts + 2591, - 104: __ccgo_ts + 2597, - 105: __ccgo_ts + 2607, - 106: __ccgo_ts + 2618, - 107: __ccgo_ts + 2622, - 108: __ccgo_ts + 2631, - 109: __ccgo_ts + 2640, - 110: __ccgo_ts + 2647, - 111: __ccgo_ts + 2657, - 112: __ccgo_ts + 2664, - 113: __ccgo_ts + 2673, - 114: __ccgo_ts + 2683, - 115: __ccgo_ts + 2690, - 116: __ccgo_ts + 2698, - 117: __ccgo_ts + 2712, - 118: __ccgo_ts + 2720, - 119: __ccgo_ts + 2734, - 120: __ccgo_ts + 2745, - 121: __ccgo_ts + 2758, - 122: __ccgo_ts + 2769, - 123: __ccgo_ts + 2775, - 124: __ccgo_ts + 2787, - 125: __ccgo_ts + 2796, - 126: __ccgo_ts + 2804, - 127: __ccgo_ts + 2813, - 128: __ccgo_ts + 2822, - 129: __ccgo_ts + 2829, - 130: __ccgo_ts + 2837, - 131: __ccgo_ts + 2844, - 132: __ccgo_ts + 2855, - 133: __ccgo_ts + 2869, - 134: __ccgo_ts + 2880, - 135: __ccgo_ts + 2888, - 136: __ccgo_ts + 2894, - 137: __ccgo_ts + 2902, - 138: __ccgo_ts + 2910, - 139: __ccgo_ts + 2920, - 140: __ccgo_ts + 2933, - 141: __ccgo_ts + 2943, - 142: __ccgo_ts + 2956, - 143: __ccgo_ts + 2965, - 144: __ccgo_ts + 2976, - 145: __ccgo_ts + 2984, - 146: __ccgo_ts + 2990, - 147: __ccgo_ts + 3002, - 148: __ccgo_ts + 3014, - 149: __ccgo_ts + 3022, - 150: __ccgo_ts + 3034, - 151: __ccgo_ts + 3047, - 152: __ccgo_ts + 3057, - 153: __ccgo_ts + 3067, - 154: __ccgo_ts + 3072, - 155: __ccgo_ts + 3084, - 156: __ccgo_ts + 3096, - 157: __ccgo_ts + 3106, - 158: __ccgo_ts + 3112, - 159: __ccgo_ts + 3122, - 160: __ccgo_ts + 3129, - 161: __ccgo_ts + 3141, - 162: __ccgo_ts + 3152, - 163: __ccgo_ts + 3160, - 164: __ccgo_ts + 3169, - 165: __ccgo_ts + 3178, - 166: __ccgo_ts + 3187, - 167: __ccgo_ts + 3194, - 168: __ccgo_ts + 3205, - 169: __ccgo_ts + 3218, - 170: __ccgo_ts + 3228, - 171: __ccgo_ts + 3235, - 172: __ccgo_ts + 3243, - 173: __ccgo_ts + 3252, - 174: __ccgo_ts + 3258, - 175: __ccgo_ts + 3265, - 176: __ccgo_ts + 3273, - 177: __ccgo_ts + 3281, - 178: __ccgo_ts + 3289, - 179: __ccgo_ts + 3299, - 180: __ccgo_ts + 3308, - 181: __ccgo_ts + 3319, - 182: __ccgo_ts + 3330, - 183: __ccgo_ts + 3341, - 184: __ccgo_ts + 3351, - 185: __ccgo_ts + 3357, - 186: __ccgo_ts + 3368, - 187: __ccgo_ts + 3379, - 188: __ccgo_ts + 3384, - 189: __ccgo_ts + 3392, + 0: __ccgo_ts + 1855, + 1: __ccgo_ts + 1865, + 2: __ccgo_ts + 1876, + 3: __ccgo_ts + 1888, + 4: __ccgo_ts + 1899, + 5: __ccgo_ts + 1911, + 6: __ccgo_ts + 1918, + 7: __ccgo_ts + 1926, + 8: __ccgo_ts + 1934, + 9: __ccgo_ts + 1939, + 10: __ccgo_ts + 1944, + 11: __ccgo_ts + 1950, + 12: __ccgo_ts + 1964, + 13: __ccgo_ts + 1970, + 14: __ccgo_ts + 1980, + 15: __ccgo_ts + 1985, + 16: __ccgo_ts + 1990, + 17: __ccgo_ts + 1993, + 18: __ccgo_ts + 1999, + 19: __ccgo_ts + 2006, + 20: __ccgo_ts + 2010, + 21: __ccgo_ts + 2020, + 22: __ccgo_ts + 2027, + 23: __ccgo_ts + 2034, + 24: __ccgo_ts + 2041, + 25: __ccgo_ts + 2048, + 26: __ccgo_ts + 2058, + 27: __ccgo_ts + 2067, + 28: __ccgo_ts + 2078, + 29: __ccgo_ts + 2087, + 30: __ccgo_ts + 2093, + 31: __ccgo_ts + 2103, + 32: __ccgo_ts + 2113, + 33: __ccgo_ts + 2118, + 34: __ccgo_ts + 2132, + 35: __ccgo_ts + 2143, + 36: __ccgo_ts + 2148, + 37: __ccgo_ts + 2155, + 38: __ccgo_ts + 2166, + 39: __ccgo_ts + 2171, + 40: __ccgo_ts + 2176, + 41: __ccgo_ts + 2182, + 42: __ccgo_ts + 2188, + 43: __ccgo_ts + 2194, + 44: __ccgo_ts + 2197, + 45: __ccgo_ts + 2201, + 46: __ccgo_ts + 2207, + 47: __ccgo_ts + 2218, + 48: __ccgo_ts + 2229, + 49: __ccgo_ts + 2237, + 50: __ccgo_ts + 2246, + 51: __ccgo_ts + 2253, + 52: __ccgo_ts + 2261, + 53: __ccgo_ts + 2264, + 54: __ccgo_ts + 2267, + 55: __ccgo_ts + 2270, + 56: __ccgo_ts + 2273, + 57: __ccgo_ts + 2276, + 58: __ccgo_ts + 2279, + 59: __ccgo_ts + 2286, + 60: __ccgo_ts + 2292, + 61: __ccgo_ts + 2302, + 62: __ccgo_ts + 2315, + 63: __ccgo_ts + 2326, + 64: __ccgo_ts + 2332, + 65: __ccgo_ts + 2339, + 66: __ccgo_ts + 2348, + 67: __ccgo_ts + 2357, + 68: __ccgo_ts + 2364, + 69: __ccgo_ts + 2377, + 70: __ccgo_ts + 2388, + 71: __ccgo_ts + 2393, + 72: __ccgo_ts + 2401, + 73: __ccgo_ts + 2407, + 74: __ccgo_ts + 2414, + 75: __ccgo_ts + 2426, + 76: __ccgo_ts + 2431, + 77: __ccgo_ts + 2440, + 78: __ccgo_ts + 2445, + 79: __ccgo_ts + 2454, + 80: __ccgo_ts + 2459, + 81: __ccgo_ts + 2464, + 82: __ccgo_ts + 2470, + 83: __ccgo_ts + 2478, + 84: __ccgo_ts + 2486, + 85: __ccgo_ts + 2496, + 86: __ccgo_ts + 2504, + 87: __ccgo_ts + 2511, + 88: __ccgo_ts + 2524, + 89: __ccgo_ts + 2529, + 90: __ccgo_ts + 2541, + 91: __ccgo_ts + 2549, + 92: __ccgo_ts + 2556, + 93: __ccgo_ts + 2567, + 94: __ccgo_ts + 2574, + 95: __ccgo_ts + 2581, + 96: __ccgo_ts + 2591, + 97: __ccgo_ts + 2600, + 98: __ccgo_ts + 2611, + 99: __ccgo_ts + 2617, + 100: __ccgo_ts + 2628, + 101: __ccgo_ts + 2638, + 102: __ccgo_ts + 2648, + 103: __ccgo_ts + 2655, + 104: __ccgo_ts + 2661, + 105: __ccgo_ts + 2671, + 106: __ccgo_ts + 2682, + 107: __ccgo_ts + 2686, + 108: __ccgo_ts + 2695, + 109: __ccgo_ts + 2704, + 110: __ccgo_ts + 2711, + 111: __ccgo_ts + 2721, + 112: __ccgo_ts + 2728, + 113: __ccgo_ts + 2737, + 114: __ccgo_ts + 2747, + 115: __ccgo_ts + 2754, + 116: __ccgo_ts + 2762, + 117: __ccgo_ts + 2776, + 118: __ccgo_ts + 2784, + 119: __ccgo_ts + 2798, + 120: __ccgo_ts + 2809, + 121: __ccgo_ts + 2822, + 122: __ccgo_ts + 2833, + 123: __ccgo_ts + 2839, + 124: __ccgo_ts + 2851, + 125: __ccgo_ts + 2860, + 126: __ccgo_ts + 2868, + 127: __ccgo_ts + 2877, + 128: __ccgo_ts + 2886, + 129: __ccgo_ts + 2893, + 130: __ccgo_ts + 2901, + 131: __ccgo_ts + 2908, + 132: __ccgo_ts + 2919, + 133: __ccgo_ts + 2933, + 134: __ccgo_ts + 2944, + 135: __ccgo_ts + 2952, + 136: __ccgo_ts + 2958, + 137: __ccgo_ts + 2966, + 138: __ccgo_ts + 2974, + 139: __ccgo_ts + 2984, + 140: __ccgo_ts + 2997, + 141: __ccgo_ts + 3007, + 142: __ccgo_ts + 3020, + 143: __ccgo_ts + 3029, + 144: __ccgo_ts + 3040, + 145: __ccgo_ts + 3048, + 146: __ccgo_ts + 3054, + 147: __ccgo_ts + 3066, + 148: __ccgo_ts + 3078, + 149: __ccgo_ts + 3086, + 150: __ccgo_ts + 3098, + 151: __ccgo_ts + 3111, + 152: __ccgo_ts + 3121, + 153: __ccgo_ts + 3131, + 154: __ccgo_ts + 3136, + 155: __ccgo_ts + 3148, + 156: __ccgo_ts + 3160, + 157: __ccgo_ts + 3170, + 158: __ccgo_ts + 3176, + 159: __ccgo_ts + 3186, + 160: __ccgo_ts + 3193, + 161: __ccgo_ts + 3205, + 162: __ccgo_ts + 3216, + 163: __ccgo_ts + 3224, + 164: __ccgo_ts + 3233, + 165: __ccgo_ts + 3242, + 166: __ccgo_ts + 3251, + 167: __ccgo_ts + 3258, + 168: __ccgo_ts + 3269, + 169: __ccgo_ts + 3282, + 170: __ccgo_ts + 3292, + 171: __ccgo_ts + 3299, + 172: __ccgo_ts + 3307, + 173: __ccgo_ts + 3316, + 174: __ccgo_ts + 3322, + 175: __ccgo_ts + 3329, + 176: __ccgo_ts + 3337, + 177: __ccgo_ts + 3345, + 178: __ccgo_ts + 3353, + 179: __ccgo_ts + 3363, + 180: __ccgo_ts + 3372, + 181: __ccgo_ts + 3383, + 182: __ccgo_ts + 3394, + 183: __ccgo_ts + 3405, + 184: __ccgo_ts + 3415, + 185: __ccgo_ts + 3421, + 186: __ccgo_ts + 3432, + 187: __ccgo_ts + 3443, + 188: __ccgo_ts + 3448, + 189: __ccgo_ts + 3456, } type Tstat = struct { @@ -24748,91 +24987,91 @@ type unix_syscall = Tunix_syscall // */ var _aSyscall = [29]Tunix_syscall{ 0: { - FzName: __ccgo_ts + 3402, + FzName: __ccgo_ts + 3466, }, 1: { - FzName: __ccgo_ts + 3407, + FzName: __ccgo_ts + 3471, }, 2: { - FzName: __ccgo_ts + 3413, + FzName: __ccgo_ts + 3477, }, 3: { - FzName: __ccgo_ts + 3420, + FzName: __ccgo_ts + 3484, }, 4: { - FzName: __ccgo_ts + 3427, + FzName: __ccgo_ts + 3491, }, 5: { - FzName: __ccgo_ts + 3432, + FzName: __ccgo_ts + 3496, }, 6: { - FzName: __ccgo_ts + 3438, + FzName: __ccgo_ts + 3502, }, 7: { - FzName: __ccgo_ts + 3448, + FzName: __ccgo_ts + 3512, }, 8: { - FzName: __ccgo_ts + 3454, + FzName: __ccgo_ts + 3518, }, 9: { - FzName: __ccgo_ts + 3459, + FzName: __ccgo_ts + 3523, }, 10: { - FzName: __ccgo_ts + 3465, + FzName: __ccgo_ts + 3529, }, 11: { - FzName: __ccgo_ts + 3473, + FzName: __ccgo_ts + 3537, }, 12: { - FzName: __ccgo_ts + 3479, + FzName: __ccgo_ts + 3543, }, 13: { - FzName: __ccgo_ts + 3486, + FzName: __ccgo_ts + 3550, }, 14: { - FzName: __ccgo_ts + 3495, + FzName: __ccgo_ts + 3559, }, 15: { - FzName: __ccgo_ts + 3502, + FzName: __ccgo_ts + 3566, }, 16: { - FzName: __ccgo_ts + 3512, + FzName: __ccgo_ts + 3576, }, 17: { - FzName: __ccgo_ts + 3519, + FzName: __ccgo_ts + 3583, }, 18: { - FzName: __ccgo_ts + 3533, + FzName: __ccgo_ts + 3597, }, 19: { - FzName: __ccgo_ts + 3539, + FzName: __ccgo_ts + 3603, }, 20: { - FzName: __ccgo_ts + 3545, + FzName: __ccgo_ts + 3609, }, 21: { - FzName: __ccgo_ts + 3552, + FzName: __ccgo_ts + 3616, }, 22: { - FzName: __ccgo_ts + 3560, + FzName: __ccgo_ts + 3624, }, 23: { - FzName: __ccgo_ts + 3565, + FzName: __ccgo_ts + 3629, }, 24: { - FzName: __ccgo_ts + 3572, + FzName: __ccgo_ts + 3636, }, 25: { - FzName: __ccgo_ts + 3579, + FzName: __ccgo_ts + 3643, }, 26: { - FzName: __ccgo_ts + 3591, + FzName: __ccgo_ts + 3655, }, 27: { - FzName: __ccgo_ts + 3600, + FzName: __ccgo_ts + 3664, }, 28: { - FzName: __ccgo_ts + 3606, + FzName: __ccgo_ts + 3670, }, } @@ -25071,9 +25310,9 @@ func _robust_open(tls *libc.TLS, z uintptr, f int32, m Tmode_t) (r int32) { (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, z) } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(1)].FpCurrent})))(tls, fd) - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3612, libc.VaList(bp+152, z, fd)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3676, libc.VaList(bp+152, z, fd)) fd = -int32(1) - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3655, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3719, O_RDONLY, int32(m)) < 0 { break } } @@ -25391,11 +25630,11 @@ func _unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uint ** equivalent to errno. Otherwise, use strerror_r(). */ /* This is a threadsafe build, but strerror_r() is not available. */ - zErr = __ccgo_ts + 1657 + zErr = __ccgo_ts + 1671 if zPath == uintptr(0) { - zPath = __ccgo_ts + 1657 + zPath = __ccgo_ts + 1671 } - Xsqlite3_log(tls, errcode, __ccgo_ts+3665, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) + Xsqlite3_log(tls, errcode, __ccgo_ts+3729, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) return errcode } @@ -25423,7 +25662,7 @@ func _robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { } else { v1 = uintptr(0) } - _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(16)< uint64(1) { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3749, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3813, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } if _fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3776, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3840, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -26117,7 +26356,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) { pFile = id _unixUnmapfile(tls, pFile) if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 { - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40172)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40505)) (*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1) } Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -26744,7 +26983,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { var _ /* zDirname at bp+0 */ [513]uint8 _, _ = fd, ii fd = -int32(1) - Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3804, libc.VaList(bp+528, zFilename)) + Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3868, libc.VaList(bp+528, zFilename)) ii = int32(libc.Xstrlen(tls, bp)) for { if !(ii > 0 && int32((*(*[513]uint8)(unsafe.Pointer(bp)))[ii]) != int32('/')) { @@ -26770,7 +27009,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { if fd >= 0 { return SQLITE_OK } - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(41778)), __ccgo_ts+3519, bp, int32(41778)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42111)), __ccgo_ts+3583, bp, int32(42111)) } // C documentation @@ -26809,7 +27048,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) { rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if rc != 0 { _storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<= nSize { iWrite = nSize - int64(1) } - nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1657, int32(1)) + nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1671, int32(1)) if nWrite != int32(1) { return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(3)<= 0 { - _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42583)) + _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42916)) (*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1) } (*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0) @@ -27432,7 +27671,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in ** help detect if a -shm file truncation is legitimate or is the work ** or a rogue process. */ if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 { - rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<= 0 { - _robust_close(tls, pNew, h, int32(43994)) + _robust_close(tls, pNew, h, int32(44327)) } } else { (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -28480,10 +28719,10 @@ func _fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilenam // ** Directories to consider for temp files. // */ var _azTempDirs = [6]uintptr{ - 2: __ccgo_ts + 3861, - 3: __ccgo_ts + 3870, - 4: __ccgo_ts + 3879, - 5: __ccgo_ts + 1670, + 2: __ccgo_ts + 3925, + 3: __ccgo_ts + 3934, + 4: __ccgo_ts + 3943, + 5: __ccgo_ts + 1684, } // C documentation @@ -28492,8 +28731,8 @@ var _azTempDirs = [6]uintptr{ // ** Initialize first two members of azTempDirs[] array. // */ func _unixTempFileInit(tls *libc.TLS) { - _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3884) - _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3898) + _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3948) + _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3962) } // C documentation @@ -28556,7 +28795,7 @@ func _unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) (r int32) { Xsqlite3_randomness(tls, int32(8), bp) _ = libc.Int32FromInt32(0) *(*uint8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2)))) = uint8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3905, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) + Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3969, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) if v2 = int32(*(*uint8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2))))) != 0; !v2 { v1 = iLimit iLimit++ @@ -28729,7 +28968,7 @@ func _findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintpt ** filename, check for the "modeof" parameter. If present, interpret ** its value as a filename and try to copy the mode, uid and gid from ** that file. */ - z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3922) + z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3986) if z != 0 { rc = _getFileMode(tls, z, pMode, pUid, pGid) } @@ -28767,12 +29006,12 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags bp := tls.Alloc(528) defer tls.Free(528) var ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, rc, rc2 int32 - var p, pUnused, zName uintptr + var p, pReadonly, pUnused, zName uintptr var _ /* gid at bp+524 */ Tgid_t var _ /* openMode at bp+516 */ Tmode_t var _ /* uid at bp+520 */ Tuid_t var _ /* zTmpname at bp+0 */ [514]uint8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pUnused, rc, rc2, zName + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pReadonly, pUnused, rc, rc2, zName p = pFile fd = -int32(1) /* File descriptor returned by open() */ openFlags = 0 /* Flags to pass to open() */ @@ -28882,17 +29121,24 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags } else { if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != int32(EISDIR) && isReadWrite != 0 { /* Failed to open the file for read/write access. Try read-only. */ + pReadonly = uintptr(0) flags &= ^(libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE)) openFlags &= ^(libc.Int32FromInt32(O_RDWR) | libc.Int32FromInt32(O_CREAT)) flags |= int32(SQLITE_OPEN_READONLY) openFlags |= O_RDONLY isReadonly = int32(1) - fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + pReadonly = _findReusableFd(tls, zName, flags) + if pReadonly != 0 { + fd = (*TUnixUnusedFd)(unsafe.Pointer(pReadonly)).Ffd + Xsqlite3_free(tls, pReadonly) + } else { + fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + } } } } if fd < 0 { - rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44435)), __ccgo_ts+3402, zName, int32(44435)) + rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44775)), __ccgo_ts+3466, zName, int32(44775)) if rc == SQLITE_OK { rc = rc2 } @@ -28971,7 +29217,7 @@ func _unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) ( if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(ENOENT) { rc = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(23)< int32(SQLITE_MAX_SYMLINK) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(44686)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45026)) return } got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+144, libc.Uint64FromInt64(4098)-libc.Uint64FromInt32(2)) if got <= 0 || got >= libc.Int64FromInt64(4098)-libc.Int64FromInt32(2) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44691)), __ccgo_ts+3591, zIn, int32(44691)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45031)), __ccgo_ts+3655, zIn, int32(45031)) return } (*(*[4098]uint8)(unsafe.Pointer(bp + 144)))[got] = uint8(0) @@ -29175,14 +29421,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z (*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut if int32(*(*uint8)(unsafe.Pointer(zPath))) != int32('/') { if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(4098)-libc.Uint64FromInt32(2)) == uintptr(0) { - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44749)), __ccgo_ts+3420, zPath, int32(44749)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45089)), __ccgo_ts+3484, zPath, int32(45089)) } _appendAllPathElements(tls, bp, bp+24) } _appendAllPathElements(tls, bp, zPath) *(*uint8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = uint8(0) if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) { - return _sqlite3CantopenError(tls, int32(44755)) + return _sqlite3CantopenError(tls, int32(45095)) } if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 { return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)< int64(1) { _sqlite3PagerUnrefNotNull(tls, pPgOld) - return _sqlite3CorruptError(tls, int32(63973)) + return _sqlite3CorruptError(tls, int32(64313)) } p4 = pPg + 52 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | int32((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC)) @@ -41432,7 +41678,7 @@ func _sqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in ** sqlite3_wal_checkpoint() call, but it happens very rarely. ** https://sqlite.org/forum/forumpost/fd0f19d229156939 */ - Xsqlite3_exec(tls, db, __ccgo_ts+4118, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+4182, uintptr(0), uintptr(0), uintptr(0)) } if (*TPager)(unsafe.Pointer(pPager)).FpWal != 0 { if eMode == SQLITE_CHECKPOINT_PASSIVE { @@ -42913,7 +43159,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in v2 = nCollide nCollide-- if v2 == 0 { - return _sqlite3CorruptError(tls, int32(65899)) + return _sqlite3CorruptError(tls, int32(66239)) } goto _1 _1: @@ -43005,7 +43251,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) { ** are able to understand */ version = _sqlite3Get4byte(tls, bp+8+4) if version != uint32(WAL_MAX_VERSION) { - rc = _sqlite3CantopenError(tls, int32(66031)) + rc = _sqlite3CantopenError(tls, int32(66371)) goto finished } /* Malloc a buffer to read frames into. */ @@ -43147,7 +43393,7 @@ finished: ** checkpointing the log file. */ if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FnPage != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(1)< int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = _sqlite3CorruptError(tls, int32(71032)) + rc = _sqlite3CorruptError(tls, int32(71421)) } else { rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -47907,7 +48160,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if key == uint32(0) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71230)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71619)) return } iPtrmap = _ptrmapPageno(tls, pBt, key) @@ -47920,12 +48173,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, /* The first byte of the extra data is the MemPage.isInit byte. ** If that byte is set, it means this page is also being used ** as a btree page. */ - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71243)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71632)) goto ptrmap_exit } offset = int32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1))) if offset < 0 { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71248)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71637)) goto ptrmap_exit } _ = libc.Int32FromInt32(0) @@ -47971,7 +48224,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin offset = int32(libc.Uint32FromInt32(5) * (key - uint32(iPtrmap) - libc.Uint32FromInt32(1))) if offset < 0 { _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) - return _sqlite3CorruptError(tls, int32(71293)) + return _sqlite3CorruptError(tls, int32(71682)) } _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -47981,7 +48234,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin } _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) if int32(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || int32(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) { - return _sqlite3CorruptError(tls, int32(71301)) + return _sqlite3CorruptError(tls, int32(71690)) } return SQLITE_OK } @@ -48420,7 +48673,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71741)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72130)) return } ovfl = _sqlite3Get4byte(tls, pCell+uintptr(int32((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4))) @@ -48466,12 +48719,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag { iFree = int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71799)) + return _sqlite3CorruptError(tls, int32(72188)) } if iFree != 0 { iFree2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71802)) + return _sqlite3CorruptError(tls, int32(72191)) } if 0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 { pEnd = data + uintptr(cellOffset+nCell*int32(2)) @@ -48479,21 +48732,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { sz = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree { - return _sqlite3CorruptError(tls, int32(71810)) + return _sqlite3CorruptError(tls, int32(72199)) } if iFree2 != 0 { if iFree+sz > iFree2 { - return _sqlite3CorruptError(tls, int32(71813)) + return _sqlite3CorruptError(tls, int32(72202)) } sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize { - return _sqlite3CorruptError(tls, int32(71815)) + return _sqlite3CorruptError(tls, int32(72204)) } libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) sz += sz2 } else { if iFree+sz > usableSize { - return _sqlite3CorruptError(tls, int32(71819)) + return _sqlite3CorruptError(tls, int32(72208)) } } cbrk = top + sz @@ -48541,13 +48794,13 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { ** if PRAGMA cell_size_check=ON. */ if pc > iCellLast { - return _sqlite3CorruptError(tls, int32(71852)) + return _sqlite3CorruptError(tls, int32(72241)) } _ = libc.Int32FromInt32(0) size = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc))) cbrk -= size if cbrk < iCellStart || pc+size > usableSize { - return _sqlite3CorruptError(tls, int32(71858)) + return _sqlite3CorruptError(tls, int32(72247)) } _ = libc.Int32FromInt32(0) *(*Tu8)(unsafe.Pointer(pAddr1)) = uint8(cbrk >> libc.Int32FromInt32(8)) @@ -48565,7 +48818,7 @@ defragment_out: ; _ = libc.Int32FromInt32(0) if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree { - return _sqlite3CorruptError(tls, int32(71872)) + return _sqlite3CorruptError(tls, int32(72261)) } _ = libc.Int32FromInt32(0) *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = uint8(cbrk >> libc.Int32FromInt32(8)) @@ -48628,7 +48881,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint } else { if x+pc > maxPC { /* This slot extends off the end of the usable part of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71929)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72318)) return uintptr(0) } else { /* The slot remains on the free-list. Reduce its size to account @@ -48645,14 +48898,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint if pc <= iAddr { if pc != 0 { /* The next slot in the chain comes before the current slot */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71944)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72333)) } return uintptr(0) } } if pc > maxPC+nByte-int32(4) { /* The free slot chain extends off the end of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71951)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72340)) } return uintptr(0) } @@ -48703,11 +48956,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) { top = int32(65536) } else { - return _sqlite3CorruptError(tls, int32(71999)) + return _sqlite3CorruptError(tls, int32(72388)) } } else { if top > int32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(72002)) + return _sqlite3CorruptError(tls, int32(72391)) } } /* If there is enough space between gap and top for one more cell pointer, @@ -48722,7 +48975,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r g2 = v1 *(*int32)(unsafe.Pointer(pIdx)) = v1 if g2 <= gap { - return _sqlite3CorruptError(tls, int32(72019)) + return _sqlite3CorruptError(tls, int32(72408)) } else { return SQLITE_OK } @@ -48815,12 +49068,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if int32(iFreeBlk) == 0 { break } /* TH3: corrupt082.100 */ - return _sqlite3CorruptError(tls, int32(72098)) + return _sqlite3CorruptError(tls, int32(72487)) } iPtr = iFreeBlk } if uint32(iFreeBlk) > (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-uint32(4) { /* TH3: corrupt081.100 */ - return _sqlite3CorruptError(tls, int32(72103)) + return _sqlite3CorruptError(tls, int32(72492)) } _ = libc.Int32FromInt32(0) /* At this point: @@ -48832,11 +49085,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if iFreeBlk != 0 && iEnd+uint32(3) >= uint32(iFreeBlk) { nFrag = uint8(uint32(iFreeBlk) - iEnd) if iEnd > uint32(iFreeBlk) { - return _sqlite3CorruptError(tls, int32(72115)) + return _sqlite3CorruptError(tls, int32(72504)) } iEnd = uint32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+int32(2)))))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return _sqlite3CorruptError(tls, int32(72118)) + return _sqlite3CorruptError(tls, int32(72507)) } iSize = uint16(iEnd - uint32(iStart)) iFreeBlk = uint16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= int32(iStart) { if iPtrEnd > int32(iStart) { - return _sqlite3CorruptError(tls, int32(72131)) + return _sqlite3CorruptError(tls, int32(72520)) } nFrag = Tu8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = uint16(iEnd - uint32(iPtr)) @@ -48857,7 +49110,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(7))))) { - return _sqlite3CorruptError(tls, int32(72137)) + return _sqlite3CorruptError(tls, int32(72526)) } p2 = data + uintptr(int32(hdr)+int32(7)) *(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - int32(nFrag)) @@ -48874,10 +49127,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) ** so just extend the cell content area rather than create another ** freelist entry */ if int32(iStart) < int32(x) { - return _sqlite3CorruptError(tls, int32(72151)) + return _sqlite3CorruptError(tls, int32(72540)) } if int32(iPtr) != int32(hdr)+int32(1) { - return _sqlite3CorruptError(tls, int32(72152)) + return _sqlite3CorruptError(tls, int32(72541)) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)))) = uint8(int32(iFreeBlk) >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)) + 1)) = uint8(iFreeBlk) @@ -48940,7 +49193,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72206)) + return _sqlite3CorruptError(tls, int32(72595)) } } } else { @@ -48966,7 +49219,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72230)) + return _sqlite3CorruptError(tls, int32(72619)) } } } @@ -49013,12 +49266,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will ** always be at least one cell before the first freeblock. */ - return _sqlite3CorruptError(tls, int32(72281)) + return _sqlite3CorruptError(tls, int32(72670)) } for int32(1) != 0 { if pc > iCellLast { /* Freeblock off the end of the page */ - return _sqlite3CorruptError(tls, int32(72286)) + return _sqlite3CorruptError(tls, int32(72675)) } next = uint32(int32(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) { /* Freeblock not in ascending order */ - return _sqlite3CorruptError(tls, int32(72296)) + return _sqlite3CorruptError(tls, int32(72685)) } if uint32(pc)+size > uint32(usableSize) { /* Last freeblock extends past page end */ - return _sqlite3CorruptError(tls, int32(72300)) + return _sqlite3CorruptError(tls, int32(72689)) } } /* At this point, nFree contains the sum of the offset to the start @@ -49045,7 +49298,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { ** area, according to the page header, lies within the page. */ if nFree > usableSize || nFree < iCellFirst { - return _sqlite3CorruptError(tls, int32(72312)) + return _sqlite3CorruptError(tls, int32(72701)) } (*TMemPage)(unsafe.Pointer(pPage)).FnFree = int32(uint16(nFree - iCellFirst)) return SQLITE_OK @@ -49076,11 +49329,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) { } pc = int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))) if pc < iCellFirst || pc > iCellLast { - return _sqlite3CorruptError(tls, int32(72343)) + return _sqlite3CorruptError(tls, int32(72732)) } sz = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return _sqlite3CorruptError(tls, int32(72348)) + return _sqlite3CorruptError(tls, int32(72737)) } goto _1 _1: @@ -49116,7 +49369,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating ** the b-tree page type. */ if _decodeFlags(tls, pPage, int32(*(*Tu8)(unsafe.Pointer(data)))) != 0 { - return _sqlite3CorruptError(tls, int32(72380)) + return _sqlite3CorruptError(tls, int32(72769)) } _ = libc.Int32FromInt32(0) (*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1)) @@ -49130,7 +49383,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FnCell = uint16(int32(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) { /* To many cells for a single page. The page must be corrupt */ - return _sqlite3CorruptError(tls, int32(72394)) + return _sqlite3CorruptError(tls, int32(72783)) } /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only ** possible for a root page of a table that contains no rows) then the @@ -49296,7 +49549,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe _ = libc.Int32FromInt32(0) if pgno > _btreePagecount(tls, pBt) { *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72537)) + return _sqlite3CorruptError(tls, int32(72926)) } rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly) if rc != 0 { @@ -49373,7 +49626,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) { _releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72609)) + return _sqlite3CorruptError(tls, int32(72998)) } (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0) } else { @@ -49465,7 +49718,7 @@ func _sqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt /* Set the variable isMemdb to true for an in-memory database, or ** false for a file-based database. */ - isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4199) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) + isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4263) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -50286,7 +50539,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { ** The original design allowed these amounts to vary, but as of ** version 3.6.0, we require them to be fixed. */ - if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4208, uint64(3)) != 0 { + if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4272, uint64(3)) != 0 { goto page1_init_failed } /* EVIDENCE-OF: R-51873-39618 The page size for a database file is @@ -50325,7 +50578,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { } if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) { if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 { - rc = _sqlite3CorruptError(tls, int32(73547)) + rc = _sqlite3CorruptError(tls, int32(73936)) goto page1_init_failed } else { nPage = *(*Tu32)(unsafe.Pointer(bp + 8)) @@ -50787,7 +51040,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT if int32(eType) == int32(PTRMAP_OVERFLOW2) { /* The pointer is always the first 4 bytes of the page in this case. */ if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return _sqlite3CorruptError(tls, int32(73995)) + return _sqlite3CorruptError(tls, int32(74384)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -50811,7 +51064,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74014)) + return _sqlite3CorruptError(tls, int32(74403)) } if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) { _sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo) @@ -50820,7 +51073,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } } else { if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74023)) + return _sqlite3CorruptError(tls, int32(74412)) } if _sqlite3Get4byte(tls, pCell) == iFrom { _sqlite3Put4byte(tls, pCell, iTo) @@ -50834,7 +51087,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } if i == nCell { if int32(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom { - return _sqlite3CorruptError(tls, int32(74035)) + return _sqlite3CorruptError(tls, int32(74424)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo) } @@ -50867,7 +51120,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iDbPage < uint32(3) { - return _sqlite3CorruptError(tls, int32(74070)) + return _sqlite3CorruptError(tls, int32(74459)) } /* Move page iDbPage from its current location to page number iFreePage */ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit) @@ -50965,7 +51218,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom return rc } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) { - return _sqlite3CorruptError(tls, int32(74168)) + return _sqlite3CorruptError(tls, int32(74557)) } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) { if bCommit == 0 { @@ -51004,7 +51257,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) - return _sqlite3CorruptError(tls, int32(74220)) + return _sqlite3CorruptError(tls, int32(74609)) } } _ = libc.Int32FromInt32(0) @@ -51073,7 +51326,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) { nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) nFin = _finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = _sqlite3CorruptError(tls, int32(74288)) + rc = _sqlite3CorruptError(tls, int32(74677)) } else { if nFree > uint32(0) { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -51119,7 +51372,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { ** is either a pointer-map page or the pending-byte page. If one ** is encountered, this indicates corruption. */ - return _sqlite3CorruptError(tls, int32(74339)) + return _sqlite3CorruptError(tls, int32(74728)) } nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) db = (*TBtree)(unsafe.Pointer(p)).Fdb @@ -51149,7 +51402,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { } nFin = _finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return _sqlite3CorruptError(tls, int32(74366)) + return _sqlite3CorruptError(tls, int32(74755)) } if nFin < nOrig { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -51647,7 +51900,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo _ = libc.Int32FromInt32(0) if iTable <= uint32(1) { if iTable < uint32(1) { - return _sqlite3CorruptError(tls, int32(74830)) + return _sqlite3CorruptError(tls, int32(75219)) } else { if _btreePagecount(tls, pBt) == uint32(0) { _ = libc.Int32FromInt32(0) @@ -52061,7 +52314,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(75235)) + return _sqlite3CorruptError(tls, int32(75624)) } _ = libc.Int32FromInt32(0) _getCellInfo(tls, pCur) @@ -52074,7 +52327,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ** but is recast into its current form to avoid integer overflow problems */ - return _sqlite3CorruptError(tls, int32(75250)) + return _sqlite3CorruptError(tls, int32(75639)) } /* Check if data must be read/written to/from the btree page itself. */ if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) { @@ -52102,7 +52355,11 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_ValidOvfl) == 0 { nOvfl = int32(((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload - uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) + ovflSize - uint32(1)) / ovflSize) if (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow == uintptr(0) || nOvfl*libc.Int32FromInt64(4) > _sqlite3MallocSize(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow) { - aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + if _sqlite3FaultSim(tls, int32(413)) != 0 { + aNew = uintptr(0) + } else { + aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + } if aNew == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -52113,6 +52370,9 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin p1 = pCur + 1 *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(BTCF_ValidOvfl)) } else { + /* Sanity check the validity of the overflow page cache */ + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* If the overflow page-list cache has been allocated and the ** entry for the first required overflow page is valid, skip ** directly to it. @@ -52127,7 +52387,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin for *(*TPgno)(unsafe.Pointer(bp)) != 0 { /* If required, populate the overflow page-list cache. */ if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(75312)) + return _sqlite3CorruptError(tls, int32(75710)) } _ = libc.Int32FromInt32(0) *(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp)) @@ -52204,7 +52464,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin } if rc == SQLITE_OK && amt > uint32(0) { /* Overflow chain ends prematurely */ - return _sqlite3CorruptError(tls, int32(75396)) + return _sqlite3CorruptError(tls, int32(75794)) } return rc } @@ -52357,7 +52617,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(75534)) + return _sqlite3CorruptError(tls, int32(75932)) } (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) p1 = pCur + 1 @@ -52370,7 +52630,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(75548)) + rc = _sqlite3CorruptError(tls, int32(75946)) } if rc != 0 { v3 = pCur + 84 @@ -52500,7 +52760,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) { ** (or the freelist). */ _ = libc.Int32FromInt32(0) if int32((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) { - return _sqlite3CorruptError(tls, int32(75683)) + return _sqlite3CorruptError(tls, int32(76081)) } goto skip_init skip_init: @@ -52514,7 +52774,7 @@ skip_init: } else { if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) { if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) { - return _sqlite3CorruptError(tls, int32(75695)) + return _sqlite3CorruptError(tls, int32(76093)) } subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8))) (*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID) @@ -52663,6 +52923,7 @@ func _sqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) (r int32) { _ = libc.Int32FromInt32(0) /* If the cursor already points to the last entry, this is a no-op. */ if CURSOR_VALID == int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) && int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_AtLast) != 0 { + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pRes)) = 0 return SQLITE_OK } @@ -52716,6 +52977,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh } if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey < intKey { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_AtLast) != 0 { + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pRes)) = -int32(1) return SQLITE_OK } @@ -52778,7 +53040,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh break } if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(75937)) + return _sqlite3CorruptError(tls, int32(76342)) } } } @@ -52994,7 +53256,7 @@ func _sqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes p3 = pCur + 1 *(*Tu8)(unsafe.Pointer(p3)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p3))) & ^libc.Int32FromInt32(BTCF_ValidOvfl)) if !((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76133)) + return _sqlite3CorruptError(tls, int32(76538)) } goto bypass_moveto_root /* Start search on the current page */ } @@ -53066,7 +53328,7 @@ bypass_moveto_root: /* Invalid key size: 0x80 0x80 0x01 */ /* Minimum legal index key size */ if nCell < int32(2) || uint32(nCell)/(*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage { - rc = _sqlite3CorruptError(tls, int32(76220)) + rc = _sqlite3CorruptError(tls, int32(76625)) goto moveto_index_finish } pCellKey = _sqlite3Malloc(tls, uint64(nCell+nOverrun)) @@ -53099,7 +53361,7 @@ bypass_moveto_root: rc = SQLITE_OK (*TBtCursor)(unsafe.Pointer(pCur)).Fix = uint16(idx) if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 { - rc = _sqlite3CorruptError(tls, int32(76252)) + rc = _sqlite3CorruptError(tls, int32(76657)) } goto moveto_index_finish } @@ -53136,7 +53398,7 @@ bypass_moveto_root: p9 = pCur + 1 *(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl))) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(76283)) + return _sqlite3CorruptError(tls, int32(76688)) } *(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = uint16(lwr) *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage @@ -53145,7 +53407,7 @@ bypass_moveto_root: rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(76294)) + rc = _sqlite3CorruptError(tls, int32(76699)) } if rc != 0 { v11 = pCur + 84 @@ -53197,11 +53459,11 @@ func _sqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) (r Ti64) { _, _ = i, n _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - /* Currently this interface is only called by the OP_IfSmaller - ** opcode, and it that case the cursor will always be valid and - ** will always point to a leaf node. */ + /* Currently this interface is only called by the OP_IfSizeBetween + ** opcode and the OP_Count opcode with P3=1. In either case, + ** the cursor will always be valid unless the btree is empty. */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return int64(-int32(1)) + return 0 } if int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).Fleaf) == 0 { return int64(-int32(1)) @@ -53279,7 +53541,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76395)) + return _sqlite3CorruptError(tls, int32(76800)) } if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { @@ -53394,7 +53656,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76488)) + return _sqlite3CorruptError(tls, int32(76893)) } if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { idx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) @@ -53488,7 +53750,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt ** stores the total number of pages on the freelist. */ n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36) if n >= mxPage { - return _sqlite3CorruptError(tls, int32(76578)) + return _sqlite3CorruptError(tls, int32(76983)) } if n > uint32(0) { searchList = uint8(0) /* If the free-list must be searched for 'nearby' */ @@ -53545,7 +53807,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt nSearch++ } if v2 || v1 > n { - rc = _sqlite3CorruptError(tls, int32(76634)) + rc = _sqlite3CorruptError(tls, int32(77039)) } else { rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0) } @@ -53574,7 +53836,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) { /* Value of k is out of range. Database corruption */ - rc = _sqlite3CorruptError(tls, int32(76663)) + rc = _sqlite3CorruptError(tls, int32(77068)) goto end_allocate_page } else { if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -53601,7 +53863,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8) if iNewTrunk > mxPage { - rc = _sqlite3CorruptError(tls, int32(76697)) + rc = _sqlite3CorruptError(tls, int32(77102)) goto end_allocate_page } rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0) @@ -53673,7 +53935,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4))) if iPage > mxPage || iPage < uint32(2) { - rc = _sqlite3CorruptError(tls, int32(76762)) + rc = _sqlite3CorruptError(tls, int32(77167)) goto end_allocate_page } if !(searchList != 0) || (iPage == nearby || iPage < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -53819,7 +54081,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(76889)) + return _sqlite3CorruptError(tls, int32(77294)) } if pMemPage != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage @@ -53870,7 +54132,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */ iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32) if iTrunk > _btreePagecount(tls, pBt) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76936)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77341)) goto freepage_out } *(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0) @@ -53880,7 +54142,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4) _ = libc.Int32FromInt32(0) if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76947)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77352)) goto freepage_out } if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) { @@ -53972,7 +54234,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp _ = libc.Int32FromInt32(0) if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { /* Cell extends past end of page */ - return _sqlite3CorruptError(tls, int32(77036)) + return _sqlite3CorruptError(tls, int32(77441)) } ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt @@ -53992,7 +54254,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp /* 0 is not a legal page number and page 1 cannot be an ** overflow page. Therefore if ovflPgno<2 or past the end of the ** file the database must be corrupt. */ - return _sqlite3CorruptError(tls, int32(77053)) + return _sqlite3CorruptError(tls, int32(77458)) } if nOvfl != 0 { rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp) @@ -54015,7 +54277,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp ** caller is iterating through or using in some other way, this ** can be problematic. */ - rc = _sqlite3CorruptError(tls, int32(77073)) + rc = _sqlite3CorruptError(tls, int32(77478)) } else { rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno) } @@ -54251,7 +54513,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { pc = uint32(int32(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77329)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77734)) return } rc = _freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -54686,12 +54948,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg _ = libc.Int32FromInt32(0) if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) { if uint64(pCell+uintptr(sz)) > uint64(pEnd) { - return _sqlite3CorruptError(tls, int32(77718)) + return _sqlite3CorruptError(tls, int32(78123)) } pCell = pTmp + uintptr(int64(pCell)-int64(aData)) } else { if uint64(pCell+uintptr(sz)) > uint64(pSrcEnd) && uint64(pCell) < uint64(pSrcEnd) { - return _sqlite3CorruptError(tls, int32(77723)) + return _sqlite3CorruptError(tls, int32(78128)) } } pData -= uintptr(sz) @@ -54699,7 +54961,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*Tu8)(unsafe.Pointer(pCellptr + 1)) = uint8(int64(pData) - int64(aData)) pCellptr += uintptr(2) if pData < pCellptr { - return _sqlite3CorruptError(tls, int32(77729)) + return _sqlite3CorruptError(tls, int32(78134)) } libc.Xmemmove(tls, pData, pCell, uint64(sz)) _ = libc.Int32FromInt32(0) @@ -54798,7 +55060,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr _ = libc.Int32FromInt32(0) if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(pEnd) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(pEnd) { _ = libc.Int32FromInt32(0) - _sqlite3CorruptError(tls, int32(77814)) + _sqlite3CorruptError(tls, int32(78219)) return int32(1) } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz)) @@ -54948,7 +55210,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p if iOld < iNew { nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray) if nShift > nCell { - return _sqlite3CorruptError(tls, int32(77936)) + return _sqlite3CorruptError(tls, int32(78341)) } libc.Xmemmove(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), uint64(nCell*int32(2))) nCell -= nShift @@ -55023,7 +55285,7 @@ editpage_fail: ; /* Unable to edit this page. Rebuild it from scratch instead. */ if nNew < int32(1) { - return _sqlite3CorruptError(tls, int32(78010)) + return _sqlite3CorruptError(tls, int32(78415)) } _populateCellCache(tls, pCArray, iNew, nNew) return _rebuildPage(tls, pCArray, iNew, nNew, pPg) @@ -55071,7 +55333,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return _sqlite3CorruptError(tls, int32(78050)) + return _sqlite3CorruptError(tls, int32(78455)) } /* dbfuzz001.test */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -55447,7 +55709,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa ** table-interior, index-leaf, or index-interior). */ if int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78471)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78876)) goto balance_cleanup } /* Load b.apCell[] with pointers to all cells in pOld. If pOld @@ -55470,7 +55732,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa libc.Xmemset(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*uint64(limit+int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow))) if int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 { if limit < int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78495)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78900)) goto balance_cleanup } limit = int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) @@ -55613,7 +55875,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa if i+int32(1) >= k { k = i + int32(2) if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78596)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79001)) goto balance_cleanup } (*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0 @@ -55656,7 +55918,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v10 = 0 } if cntNew[i] <= v10 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78629)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79034)) goto balance_cleanup } } @@ -55717,7 +55979,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v15 = 0 } if cntNew[i-int32(1)] <= v15 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78673)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79078)) goto balance_cleanup } goto _11 @@ -55750,7 +56012,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) nNew++ if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78706)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79111)) } if *(*int32)(unsafe.Pointer(bp)) != 0 { goto balance_cleanup @@ -55993,7 +56255,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa } pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8)) if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78906)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79311)) goto balance_cleanup } *(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno) @@ -56258,7 +56520,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) { break } if pOther != pCur && int32((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage { - return _sqlite3CorruptError(tls, int32(79138)) + return _sqlite3CorruptError(tls, int32(79543)) } goto _1 _1: @@ -56333,7 +56595,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) { /* The page being written is not a root page, and there is currently ** more than one reference to it. This only happens if the page is one ** of its own ancestor pages. Corruption. */ - rc = _sqlite3CorruptError(tls, int32(79198)) + rc = _sqlite3CorruptError(tls, int32(79603)) } else { pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8)) iIdx = int32(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2))) @@ -56496,7 +56758,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int return rc } if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = _sqlite3CorruptError(tls, int32(79362)) + rc = _sqlite3CorruptError(tls, int32(79767)) } else { if uint32(iOffset)+ovflPageSize < uint32(nTotal) { ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData) @@ -56527,7 +56789,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) { nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */ pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */ if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) { - return _sqlite3CorruptError(tls, int32(79390)) + return _sqlite3CorruptError(tls, int32(79795)) } if int32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal { /* The entire cell is local */ @@ -56614,7 +56876,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** Which can only happen if the SQLITE_NoSchemaError flag was set when ** the schema was loaded. This cannot be asserted though, as a user might ** set the flag, load the schema, and then unset the flag. */ - return _sqlite3CorruptError(tls, int32(79471)) + return _sqlite3CorruptError(tls, int32(79876)) } } /* Ensure that the cursor is not in the CURSOR_FAULT state and that it @@ -56717,7 +56979,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) { /* ^^^^^--- due to the moveToRoot() call above */ - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79594)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79999)) } else { *(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage) } @@ -56759,7 +57021,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if *(*int32)(unsafe.Pointer(bp + 4)) == 0 { _ = libc.Int32FromInt32(0) if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79636)) + return _sqlite3CorruptError(tls, int32(80041)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -56789,10 +57051,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ _ = libc.Int32FromInt32(0) /* clearCell never fails when nLocal==nPayload */ if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) { - return _sqlite3CorruptError(tls, int32(79663)) + return _sqlite3CorruptError(tls, int32(80068)) } if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79666)) + return _sqlite3CorruptError(tls, int32(80071)) } libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 8)))) return SQLITE_OK @@ -56917,7 +57179,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79768)) + return _sqlite3CorruptError(tls, int32(80173)) } nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -56939,7 +57201,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T } if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79793)) + return _sqlite3CorruptError(tls, int32(80198)) } ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -57048,7 +57310,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { return *(*int32)(unsafe.Pointer(bp)) } } else { - return _sqlite3CorruptError(tls, int32(79889)) + return _sqlite3CorruptError(tls, int32(80294)) } } _ = libc.Int32FromInt32(0) @@ -57056,14 +57318,14 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { iCellIdx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return _sqlite3CorruptError(tls, int32(79898)) + return _sqlite3CorruptError(tls, int32(80303)) } pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx)))))) if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 && _btreeComputeFreeSpace(tls, pPage) != 0 { - return _sqlite3CorruptError(tls, int32(79902)) + return _sqlite3CorruptError(tls, int32(80307)) } if pCell < (*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79905)) + return _sqlite3CorruptError(tls, int32(80310)) } /* If the BTREE_SAVEPOSITION bit is on, then the cursor position must ** be preserved following this delete operation. If the current delete @@ -57158,7 +57420,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { } pCell = (*TMemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(int32(2)*(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FnCell)-int32(1)))))))) if pCell < (*TMemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return _sqlite3CorruptError(tls, int32(79996)) + return _sqlite3CorruptError(tls, int32(80401)) } nCell = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pLeaf)).FxCellSize})))(tls, pLeaf, pCell)) _ = libc.Int32FromInt32(0) @@ -57278,7 +57540,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags */ _sqlite3BtreeGetMeta(tls, p, int32(BTREE_LARGEST_ROOT_PAGE), bp+8) if *(*TPgno)(unsafe.Pointer(bp + 8)) > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80112)) + return _sqlite3CorruptError(tls, int32(80517)) } *(*TPgno)(unsafe.Pointer(bp + 8))++ /* The new root-page may not be allocated on a pointer-map page, or the @@ -57320,7 +57582,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36) if int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) { - *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80160)) + *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80565)) } if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -57407,14 +57669,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int _, _, _, _ = hdr, i, pCell, v2 _ = libc.Int32FromInt32(0) if pgno > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80250)) + return _sqlite3CorruptError(tls, int32(80655)) } *(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0) if *(*int32)(unsafe.Pointer(bp + 8)) != 0 { return *(*int32)(unsafe.Pointer(bp + 8)) } if int32((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80257)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80662)) goto cleardatabasepage_out } hdr = int32((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset) @@ -57555,7 +57817,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iTable > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80361)) + return _sqlite3CorruptError(tls, int32(80766)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -57831,7 +58093,7 @@ func _checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4212, int32(1)) + Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4276, int32(1)) } if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, pCheck+72, (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp+8, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv0, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -57883,11 +58145,11 @@ func _checkRef(tls *libc.TLS, pCheck uintptr, iPage TPgno) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if iPage > (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnCkPage || iPage == uint32(0) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4214, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4278, libc.VaList(bp+8, iPage)) return int32(1) } if _getPageReferenced(tls, pCheck, iPage) != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4237, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4301, libc.VaList(bp+8, iPage)) return int32(1) } _setPageReferenced(tls, pCheck, iPage) @@ -57913,11 +58175,11 @@ func _checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild TPgno, eType Tu8, iParen if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< (*TBtShared)(unsafe.Pointer((*TIntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize/uint32(4)-uint32(2) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4367, libc.VaList(bp+16, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4431, libc.VaList(bp+16, iPage)) N-- } else { i = 0 @@ -57989,11 +58251,11 @@ func _checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage TPgno, N } if N != 0 && nErrAtStart == (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr { if isFreeList != 0 { - v2 = __ccgo_ts + 4406 + v2 = __ccgo_ts + 4470 } else { - v2 = __ccgo_ts + 4411 + v2 = __ccgo_ts + 4475 } - _checkAppendMsg(tls, pCheck, __ccgo_ts+4432, libc.VaList(bp+16, v2, expected-N, expected)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4496, libc.VaList(bp+16, v2, expected-N, expected)) } } @@ -58130,12 +58392,12 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr if _checkRef(tls, pCheck, iPage) != 0 { return 0 } - (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4458 + (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4522 (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage v1 = _btreeGetPage(tls, pBt, iPage, bp+8, 0) rc = v1 if v1 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4476, libc.VaList(bp+56, rc)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4540, libc.VaList(bp+56, rc)) if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< usableSize-uint32(4) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4630, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4694, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) doCoverageCheck = 0 goto _4 } pCell = data + uintptr(pc) (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FxParseCell})))(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), pCell, bp+24) if pc+uint32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnSize) > usableSize { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4660, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4724, 0) doCoverageCheck = 0 goto _4 } @@ -58221,7 +58486,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr v5 = libc.BoolInt32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey >= *(*Ti64)(unsafe.Pointer(bp))) } if v5 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4684, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4748, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) } *(*Ti64)(unsafe.Pointer(bp)) = (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey keyCanBeEqual = 0 /* Only the first key on the page may ==maxKey */ @@ -58245,7 +58510,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr d2 = _checkTreePage(tls, pCheck, uint32(pgno), bp, *(*Ti64)(unsafe.Pointer(bp))) keyCanBeEqual = 0 if d2 != depth { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4708, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4772, 0) depth = d2 } } else { @@ -58282,6 +58547,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr i-- } } + _ = libc.Int32FromInt32(0) /* Add the freeblocks to the min-heap ** ** EVIDENCE-OF: R-20690-50594 The second field of the b-tree page header @@ -58322,7 +58588,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr prev = contentOffset - uint32(1) /* Implied first min-heap entry */ for _btreeHeapPull(tls, heap, bp+16) != 0 { if prev&uint32(0xffff) >= *(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4733, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4797, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) break } else { nFrag = int32(uint32(nFrag) + (*(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) - prev&libc.Uint32FromInt32(0xffff) - libc.Uint32FromInt32(1))) @@ -58336,7 +58602,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr ** number of fragmented free bytes within the cell content area. */ if *(*Tu32)(unsafe.Pointer(heap)) == uint32(0) && nFrag != int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4770, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4834, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) } } goto end_of_check @@ -58376,22 +58642,23 @@ end_of_check: // ** the unverified btrees. Except, if aRoot[1] is 1, then the freelist // ** checks are still performed. // */ -func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { - bp := tls.Alloc(256) - defer tls.Free(256) +func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, aCnt uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { + bp := tls.Alloc(272) + defer tls.Free(272) var bCkFreelist, bPartial int32 var i, mx, mxInHdr TPgno var pBt uintptr var savedDbFlags Tu64 - var _ /* notUsed at bp+224 */ Ti64 + var _ /* notUsed at bp+232 */ Ti64 var _ /* sCheck at bp+0 */ TIntegrityCk - var _ /* zErr at bp+120 */ [100]uint8 + var _ /* zErr at bp+128 */ [100]uint8 _, _, _, _, _, _, _ = bCkFreelist, bPartial, i, mx, mxInHdr, pBt, savedDbFlags pBt = (*TBtree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Tsqlite3)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags bPartial = 0 /* True if not checking all btrees */ bCkFreelist = int32(1) /* True to scan the freelist */ _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* aRoot[0]==0 means this is a partial check */ if *(*TPgno)(unsafe.Pointer(aRoot)) == uint32(0) { _ = libc.Int32FromInt32(0) @@ -58403,13 +58670,13 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin _sqlite3BtreeEnter(tls, p) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - libc.Xmemset(tls, bp, 0, uint64(120)) + libc.Xmemset(tls, bp, 0, uint64(128)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fdb = db (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt = pBt (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage = _btreePagecount(tls, (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr = mxErr - _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+120, int32(100), int32(SQLITE_MAX_LENGTH)) + _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+128, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FerrMsg.FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage == uint32(0) { goto integrity_ck_cleanup @@ -58431,7 +58698,7 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin /* Check the integrity of the freelist */ if bCkFreelist != 0 { - (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4822 + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4886 _checkList(tls, bp, int32(1), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = uintptr(0) } @@ -58455,11 +58722,11 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } mxInHdr = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+52) if mx != mxInHdr { - _checkAppendMsg(tls, bp, __ccgo_ts+4833, libc.VaList(bp+240, mx, mxInHdr)) + _checkAppendMsg(tls, bp, __ccgo_ts+4897, libc.VaList(bp+248, mx, mxInHdr)) } } else { if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64) != uint32(0) { - _checkAppendMsg(tls, bp, __ccgo_ts+4878, 0) + _checkAppendMsg(tls, bp, __ccgo_ts+4942, 0) } } } @@ -58469,14 +58736,15 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin if !(int32(i) < nRoot && (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr != 0) { break } - if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == uint32(0) { - goto _2 - } - if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { - _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnRow = 0 + if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) != 0 { + if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { + _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + } + (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fv0 = *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) + _checkTreePage(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+232, libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)< nRec || iHdr >= *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84303)) + iHdr = uint32(uint8(v1)) + if *(*Tu32)(unsafe.Pointer(bp + 4)) > uint32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84745)) } - iField = *(*int32)(unsafe.Pointer(bp + 4)) + iField = int64(*(*Tu32)(unsafe.Pointer(bp + 4))) i = 0 for { if !(i <= iCol) { @@ -61655,19 +61955,19 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC } else { v3 = int32(_sqlite3GetVarint32(tls, a+uintptr(iHdr), bp)) } - iHdr += int32(uint8(v3)) - if iHdr > *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84309)) + iHdr += uint32(uint8(v3)) + if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84751)) } - szField = int32(_sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))) - iField += szField + szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp))) + iField += int64(szField) goto _2 _2: ; i++ } - if iField > nRec { - return _sqlite3CorruptError(tls, int32(84315)) + if iField > int64(nRec) { + return _sqlite3CorruptError(tls, int32(84757)) } if pMem == uintptr(0) { v4 = _sqlite3ValueNew(tls, db) @@ -61677,7 +61977,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return int32(SQLITE_NOMEM) } } - _sqlite3VdbeSerialGet(tls, a+uintptr(iField-szField), *(*Tu32)(unsafe.Pointer(bp)), pMem) + _sqlite3VdbeSerialGet(tls, a+uintptr(iField-int64(szField)), *(*Tu32)(unsafe.Pointer(bp)), pMem) (*TMem)(unsafe.Pointer(pMem)).Fenc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc return SQLITE_OK } @@ -62492,6 +62792,11 @@ func _resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { _ = libc.Int32FromInt32(0) /* True because of tag-20230419-1 */ (*TOp)(unsafe.Pointer(pOp)).Fp2 = *(*int32)(unsafe.Pointer(aLabel + uintptr(^(*TOp)(unsafe.Pointer(pOp)).Fp2)*4)) } + /* OPFLG_JUMP opcodes never have P2==0, though OPFLG_JUMP0 opcodes + ** might */ + _ = libc.Int32FromInt32(0) + /* Jumps never go off the end of the bytecode array */ + _ = libc.Int32FromInt32(0) break } /* The mkopcodeh.tcl script has so arranged things that the only @@ -63043,7 +63348,7 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { case -int32(8): pKeyInfo = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5090, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5154, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) j = 0 for { if !(j < int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)) { @@ -63053,68 +63358,68 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { if pColl != 0 { v2 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } zColl = v2 - if libc.Xstrcmp(tls, zColl, __ccgo_ts+5095) == 0 { - zColl = __ccgo_ts + 5102 + if libc.Xstrcmp(tls, zColl, __ccgo_ts+5159) == 0 { + zColl = __ccgo_ts + 5166 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_DESC) != 0 { - v3 = __ccgo_ts + 5083 + v3 = __ccgo_ts + 5147 } else { - v3 = __ccgo_ts + 1657 + v3 = __ccgo_ts + 1671 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_BIGNULL) != 0 { - v4 = __ccgo_ts + 5104 + v4 = __ccgo_ts + 5168 } else { - v4 = __ccgo_ts + 1657 + v4 = __ccgo_ts + 1671 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5107, libc.VaList(bp+40, v3, v4, zColl)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5171, libc.VaList(bp+40, v3, v4, zColl)) goto _1 _1: ; j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5115, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5179, int32(1)) case -int32(2): pColl1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5131, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5195, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) case -int32(7): pDef = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5140, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5204, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) case -int32(15): pDef1 = (*Tsqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpFunc - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5140, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5204, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) case -int32(13): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1413, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1432, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(3): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5147, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5211, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) case -int32(12): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1380, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1399, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(10): pMem = *(*uintptr)(unsafe.Pointer(pOp + 16)) if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Str) != 0 { zP4 = (*TMem)(unsafe.Pointer(pMem)).Fz } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1413, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1432, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1380, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1399, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Null) != 0 { - zP4 = __ccgo_ts + 1658 + zP4 = __ccgo_ts + 1672 } else { _ = libc.Int32FromInt32(0) - zP4 = __ccgo_ts + 5150 + zP4 = __ccgo_ts + 5214 } } } } case -int32(11): pVtab = (*TVTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpVtab - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5157, libc.VaList(bp+40, pVtab)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5221, libc.VaList(bp+40, pVtab)) case -int32(14): ai = *(*uintptr)(unsafe.Pointer(pOp + 16)) n = *(*Tu32)(unsafe.Pointer(ai)) /* The first element of an INTARRAY is always the @@ -63129,15 +63434,15 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } else { v6 = int32(',') } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5165, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5229, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) goto _5 _5: ; i++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5170, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5234, int32(1)) case -int32(4): - zP4 = __ccgo_ts + 5172 + zP4 = __ccgo_ts + 5236 case -int32(5): zP4 = (*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FzName default: @@ -63153,10 +63458,10 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } var _encnames = [4]uintptr{ - 0: __ccgo_ts + 5117, - 1: __ccgo_ts + 5119, - 2: __ccgo_ts + 5121, - 3: __ccgo_ts + 5126, + 0: __ccgo_ts + 5181, + 1: __ccgo_ts + 5183, + 2: __ccgo_ts + 5185, + 3: __ccgo_ts + 5190, } // C documentation @@ -64148,7 +64453,7 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { retryCount = 0 /* Select a super-journal file name */ nMainFile = _sqlite3Strlen30(tls, zMainFile) - zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5180, libc.VaList(bp+24, 0, zMainFile, 0)) + zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5244, libc.VaList(bp+24, 0, zMainFile, 0)) if zSuper == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -64156,18 +64461,18 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { for cond := true; cond; cond = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8)) != 0 { if retryCount != 0 { if retryCount > int32(100) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5192, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5256, libc.VaList(bp+24, zSuper)) _sqlite3OsDelete(tls, pVfs, zSuper, 0) break } else { if retryCount == int32(1) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5206, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5270, libc.VaList(bp+24, zSuper)) } } } retryCount++ Xsqlite3_randomness(tls, int32(4), bp+12) - Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5221, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) + Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5285, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) /* The antipenultimate character of the super-journal name must ** be "9" to avoid name collisions when using 8+3 filenames. */ _ = libc.Int32FromInt32(0) @@ -64404,7 +64709,7 @@ func _sqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) (r int32) { if deferred != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > 0 || !(deferred != 0) && (*TVdbe)(unsafe.Pointer(p)).FnFkConstraint > 0 { (*TVdbe)(unsafe.Pointer(p)).Frc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(3)< y { return +libc.Int32FromInt32(1) } - s = float64(i) - if s < r { + if float64(i) < r { v2 = -int32(1) } else { - v2 = libc.BoolInt32(s > r) + v2 = libc.BoolInt32(float64(i) > r) } return v2 } @@ -65750,7 +66054,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89131))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89580))) return 0 /* Corruption */ } /* Only needed by assert() statements */ @@ -65845,7 +66149,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr pKeyInfo = v4 } if v5 || int32((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89212))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89661))) return 0 /* Corruption */ } else { if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { @@ -65881,7 +66185,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } else { nStr = int32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2)) if d1+uint32(nStr) > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89242))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89691))) return 0 /* Corruption */ } else { if int32((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 { @@ -65937,7 +66241,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } idx1 += uint32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68))))) if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89293))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89742))) return 0 /* Corrupt index */ } } @@ -66078,7 +66382,7 @@ vrcs_restart: szHdr = int32(*(*Tu8)(unsafe.Pointer(aKey1))) nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2) if szHdr+nStr > nKey1 { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89456))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89905))) return 0 /* Corruption */ } if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr { @@ -66235,7 +66539,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr idx_rowid_corruption: ; _sqlite3VdbeMemReleaseMalloc(tls, bp+8) - return _sqlite3CorruptError(tls, int32(89614)) + return _sqlite3CorruptError(tls, int32(90063)) } // C documentation @@ -66268,7 +66572,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked ** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */ if nCellKey <= 0 || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return _sqlite3CorruptError(tls, int32(89647)) + return _sqlite3CorruptError(tls, int32(90096)) } _sqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, uint32(nCellKey), bp) @@ -66424,15 +66728,15 @@ func _sqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) (r int32) { pOp = (*TVdbe)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe)).FaOp + uintptr((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FiOp)*24 if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fopcode) == int32(OP_PureFunc) { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_IsCheck) != 0 { - zContext = __ccgo_ts + 5264 + zContext = __ccgo_ts + 5328 } else { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_GenCol) != 0 { - zContext = __ccgo_ts + 5283 + zContext = __ccgo_ts + 5347 } else { - zContext = __ccgo_ts + 5302 + zContext = __ccgo_ts + 5366 } } - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5311, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5375, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) return 0 @@ -66611,7 +66915,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) (r int32) { // */ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { if (*TVdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5347, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5411, 0) return int32(1) } else { return 0 @@ -66621,7 +66925,7 @@ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { func _vdbeSafetyNotNull(tls *libc.TLS, p uintptr) (r int32) { if p == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5392, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5456, 0) return int32(1) } else { return _vdbeSafety(tls, p) @@ -66683,7 +66987,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt db = (*TVdbe)(unsafe.Pointer(v)).Fdb if _vdbeSafety(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90035)) + return _sqlite3MisuseError(tls, int32(90484)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 { @@ -67214,7 +67518,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { _ = libc.Int32FromInt32(0) (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FisError = int32(SQLITE_TOOBIG) - _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5432, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) + _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5496, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) } // C documentation @@ -67425,7 +67729,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt /* the prepared statement */ cnt = 0 /* The database connection */ if _vdbeSafetyNotNull(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90829)) + return _sqlite3MisuseError(tls, int32(91278)) } db = (*TVdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) @@ -67559,7 +67863,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32 _, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1 *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) if pVal == uintptr(0) { - return _sqlite3MisuseError(tls, int32(90950)) + return _sqlite3MisuseError(tls, int32(91399)) } if int32((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) { return int32(SQLITE_ERROR) @@ -68032,18 +68336,18 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) (r int32) { // ** Column names appropriate for EXPLAIN or EXPLAIN QUERY PLAN. // */ var _azExplainColNames8 = [12]uintptr{ - 0: __ccgo_ts + 5455, - 1: __ccgo_ts + 5460, - 2: __ccgo_ts + 5467, - 3: __ccgo_ts + 5470, - 4: __ccgo_ts + 5473, - 5: __ccgo_ts + 5476, - 6: __ccgo_ts + 5479, - 7: __ccgo_ts + 5482, - 8: __ccgo_ts + 5490, - 9: __ccgo_ts + 5493, - 10: __ccgo_ts + 5500, - 11: __ccgo_ts + 5508, + 0: __ccgo_ts + 5519, + 1: __ccgo_ts + 5524, + 2: __ccgo_ts + 5531, + 3: __ccgo_ts + 5534, + 4: __ccgo_ts + 5537, + 5: __ccgo_ts + 5540, + 6: __ccgo_ts + 5543, + 7: __ccgo_ts + 5546, + 8: __ccgo_ts + 5554, + 9: __ccgo_ts + 5557, + 10: __ccgo_ts + 5564, + 11: __ccgo_ts + 5572, } var _azExplainColNames16data = [60]Tu16{ 0: uint16('a'), @@ -68289,14 +68593,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) { var v2 bool _, _, _ = pVar, v1, v2 if _vdbeSafetyNotNull(tls, p) != 0 { - return _sqlite3MisuseError(tls, int32(91554)) + return _sqlite3MisuseError(tls, int32(92003)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if int32((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) { - _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(91558))) + _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(92007))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5515, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) - return _sqlite3MisuseError(tls, int32(91562)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5579, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) + return _sqlite3MisuseError(tls, int32(92011)) } if i >= uint32((*TVdbe)(unsafe.Pointer(p)).FnVar) { _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE)) @@ -68870,7 +69174,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp /* Test that this call is being made from within an SQLITE_DELETE or ** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */ if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) { - rc = _sqlite3MisuseError(tls, int32(92098)) + rc = _sqlite3MisuseError(tls, int32(92547)) goto preupdate_old_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 { @@ -69001,7 +69305,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp rc = SQLITE_OK p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) { - rc = _sqlite3MisuseError(tls, int32(92221)) + rc = _sqlite3MisuseError(tls, int32(92670)) goto preupdate_new_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) { @@ -69178,7 +69482,7 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr break } } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5555, int32(3)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5619, int32(3)) _ = libc.Int32FromInt32(0) Xsqlite3_str_append(tls, bp+8, zStart, int32(int64(zRawSql)-int64(zStart))) } @@ -69217,13 +69521,13 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr _ = libc.Int32FromInt32(0) pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(*(*int32)(unsafe.Pointer(bp))-int32(1))*56 if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1658, int32(4)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1672, int32(4)) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1413, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1432, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5076, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5140, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Str) != 0 { /* Number of bytes of the string text to include in output */ enc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc @@ -69238,29 +69542,29 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr pVar = bp + 40 } nOut = (*TMem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5559, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5623, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != int32(SQLITE_UTF8) { _sqlite3VdbeMemRelease(tls, bp+40) } } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5566, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5630, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) } else { /* Number of bytes of the blob to include in output */ _ = libc.Int32FromInt32(0) - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5579, int32(2)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5643, int32(2)) nOut1 = (*TMem)(unsafe.Pointer(pVar)).Fn i = 0 for { if !(i < nOut1) { break } - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5582, libc.VaList(bp+104, int32(*(*uint8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5646, libc.VaList(bp+104, int32(*(*uint8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) goto _3 _3: ; i++ } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5587, int32(1)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5651, int32(1)) } } } @@ -69875,7 +70179,7 @@ var _azTypes = [5]uintptr{ 1: __ccgo_ts + 1153, 2: __ccgo_ts + 1158, 3: __ccgo_ts + 1136, - 4: __ccgo_ts + 1658, + 4: __ccgo_ts + 1672, } // C documentation @@ -69889,7 +70193,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { defer tls.Free(976) var aCol, aMem, aOffset, aOp, aPermute, aRoot, apArg, apArg1, db, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pnErr, t1, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v240, v241, v242, v250, v251, v252, v253, v255, v263, v278, v279, v286, v288, v297, v298, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 uintptr var affinity uint8 - var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 + var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, savedAnalysisLimit, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 var colCacheCtr, iAddr, iMap, iPrior, idx, len11, n3, p22, p23, serialType, serial_type, v213, v214, v216, v221, v222 Tu32 var encoding, isWriteLock, mTrace, op, p5, resetSchemaOnFault, vtabOnConflict, v225 Tu8 var flags1, flags11, flags2, flags3, flags31, newType, nullFlag, type1, type2, typeMask, v190 Tu16 @@ -69946,7 +70250,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { var _ /* z at bp+688 */ uintptr var _ /* zErr at bp+632 */ uintptr var _ /* zErr at bp+792 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, savedAnalysisLimit, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 aOp = (*TVdbe)(unsafe.Pointer(p)).FaOp /* Copy of p->aOp */ pOp = aOp /* Current operation */ rc = SQLITE_OK /* Value to return */ @@ -70222,7 +70526,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto _109 case int32(OP_SeekEnd): goto _110 - case int32(OP_IfSmaller): + case int32(OP_IfSizeBetween): goto _111 case int32(OP_Sort): goto _112 @@ -70519,7 +70823,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: EndCoroutine */ _5: - ; /* jump */ + ; /* jump0 */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -70543,7 +70847,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** ** The instruction at the address in register P1 is a Yield. ** Jump to the P2 parameter of that Yield. - ** After the jump, register P1 becomes undefined. + ** After the jump, the value register P1 is left with a value + ** such that subsequent OP_Yields go back to the this same + ** OP_EndCoroutine instruction. ** ** See also: InitCoroutine */ @@ -70555,8 +70861,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pCaller = aOp + uintptr(*(*Ti64)(unsafe.Pointer(pIn1)))*24 _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) + *(*Ti64)(unsafe.Pointer(pIn1)) = int64(int32((int64(pOp)-int64((*TVdbe)(unsafe.Pointer(p)).FaOp))/24) - int32(1)) pOp = aOp + uintptr((*TVdbeOp)(unsafe.Pointer(pCaller)).Fp2-int32(1))*24 - (*TMem)(unsafe.Pointer(pIn1)).Fflags = uint16(MEM_Undefined) goto _187 /* Opcode: Yield P1 P2 * * * ** @@ -70655,15 +70961,15 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) if (*TVdbe)(unsafe.Pointer(p)).Frc != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+5623, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) + _sqlite3VdbeError(tls, p, __ccgo_ts+5687, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) if *(*uintptr)(unsafe.Pointer(pOp + 16)) != 0 { - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5644, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5708, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } } else { - _sqlite3VdbeError(tls, p, __ccgo_ts+3804, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3868, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } pcx = int32((int64(pOp) - int64(aOp)) / 24) - Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5651, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5715, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) } rc = _sqlite3VdbeHalt(tls, p) _ = libc.Int32FromInt32(0) @@ -70868,18 +71174,14 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } (*TMem)(unsafe.Pointer(pOut)).Fenc = encoding goto _187 - /* Opcode: Variable P1 P2 * P4 * - ** Synopsis: r[P2]=parameter(P1,P4) + /* Opcode: Variable P1 P2 * * * + ** Synopsis: r[P2]=parameter(P1) ** ** Transfer the values of bound parameter P1 into register P2 - ** - ** If the parameter is named, then its name appears in P4. - ** The P4 value is used by sqlite3_bind_parameter_name(). */ _19: ; /* Value being transferred */ _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1-int32(1))*56 if _sqlite3VdbeMemTooBig(tls, pVar) != 0 { goto too_big @@ -71416,7 +71718,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** raise an SQLITE_MISMATCH exception. */ _38: - ; /* jump, in1 */ + ; /* jump0, in1 */ pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 if int32((*TMem)(unsafe.Pointer(pIn1)).Fflags)&int32(MEM_Int) == 0 { _applyAffinity(tls, pIn1, uint8(SQLITE_AFF_NUMERIC), encoding) @@ -72481,7 +72783,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24 goto _187 } else { - rc = _sqlite3CorruptError(tls, int32(95863)) + rc = _sqlite3CorruptError(tls, int32(96311)) goto abort_due_to_error } /* Opcode: TypeCheck P1 P2 P3 P4 * @@ -72590,7 +72892,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_type_error vdbe_type_error: ; - _sqlite3VdbeError(tls, p, __ccgo_ts+5675, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) + _sqlite3VdbeError(tls, p, __ccgo_ts+5739, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(12)< 0 && p12 == int32(SAVEPOINT_RELEASE) { /* It is not possible to release (commit) a savepoint if there are ** active write statements. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5789, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5853, 0) rc = int32(SQLITE_BUSY) } else { /* Determine whether or not this is a transaction savepoint. If so, @@ -73223,7 +73525,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If this instruction implements a COMMIT and other VMs are writing ** return an error indicating that the other VMs must complete first. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5843, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5907, 0) rc = int32(SQLITE_BUSY) goto abort_due_to_error } else { @@ -73253,12 +73555,12 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_return } else { if !(desiredAutoCommit != 0) { - v250 = __ccgo_ts + 5898 + v250 = __ccgo_ts + 5962 } else { if iRollback != 0 { - v251 = __ccgo_ts + 5946 + v251 = __ccgo_ts + 6010 } else { - v251 = __ccgo_ts + 5989 + v251 = __ccgo_ts + 6053 } v250 = v251 } @@ -73360,7 +73662,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** SQL statement was prepared. */ _sqlite3DbFree(tls, db, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg) - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6030) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6094) /* If the schema-cookie from the database file matches the cookie ** stored with the in-memory representation of the schema, do ** not reload the schema from the database file. @@ -73718,7 +74020,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fn = 0 - (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1657 + (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1671 } pCx1 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) if pCx1 != 0 && !(int32(TBool(*(*uint8)(unsafe.Pointer(pCx1 + 8))&0x8>>3)) != 0) && (*TOp)(unsafe.Pointer(pOp)).Fp2 <= int32((*TVdbeCursor)(unsafe.Pointer(pCx1)).FnField) { @@ -73834,7 +74136,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** is the only cursor opcode that works with a pseudo-table. ** ** P3 is the number of fields in the records that will be stored by - ** the pseudo-table. + ** the pseudo-table. If P2 is 0 or negative then the pseudo-cursor + ** will return NULL for every column. */ _83: ; @@ -73956,11 +74259,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: Found, NotFound, SeekGt, SeekGe, SeekLt */ _88: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _87: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _86: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _85: ; /* Only interested in == results */ _ = libc.Int32FromInt32(0) @@ -74586,7 +74889,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp + 248)) != 0 { _ = libc.Int32FromInt32(0) if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 { - rc = _sqlite3CorruptError(tls, int32(98111)) + rc = _sqlite3CorruptError(tls, int32(98565)) } else { goto jump_to_p2 } @@ -75261,14 +75564,20 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } goto _187 - /* Opcode: IfSmaller P1 P2 P3 * * + /* Opcode: IfSizeBetween P1 P2 P3 P4 * + ** + ** Let N be the approximate number of rows in the table or index + ** with cursor P1 and let X be 10*log2(N) if N is positive or -1 + ** if N is zero. ** - ** Estimate the number of rows in the table P1. Jump to P2 if that - ** estimate is less than approximately 2**(0.1*P3). + ** Jump to P2 if X is in between P3 and P4, inclusive. */ _111: ; _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) pC20 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) _ = libc.Int32FromInt32(0) pCrsr5 = *(*uintptr)(unsafe.Pointer(pC20 + 48)) @@ -75277,12 +75586,14 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { goto abort_due_to_error } - if *(*int32)(unsafe.Pointer(bp + 396)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { + sz = int64(-int32(1)) /* -Infinity encoding */ + } else { sz = _sqlite3BtreeRowCountEst(tls, pCrsr5) - if sz >= 0 && int32(_sqlite3LogEst(tls, uint64(sz))) < (*TOp)(unsafe.Pointer(pOp)).Fp3 { - *(*int32)(unsafe.Pointer(bp + 396)) = int32(1) - } + _ = libc.Int32FromInt32(0) + sz = int64(_sqlite3LogEst(tls, uint64(sz))) } + *(*int32)(unsafe.Pointer(bp + 396)) = libc.BoolInt32(sz >= int64((*TOp)(unsafe.Pointer(pOp)).Fp3) && sz <= int64((*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { goto jump_to_p2 } @@ -75589,7 +75900,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } else { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) { - rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) { - rc = _sqlite3CorruptError(tls, int32(99398)) + rc = _sqlite3CorruptError(tls, int32(99862)) goto abort_due_to_error } _sqlite3VdbeMemInit(tls, bp+552, db, uint16(0)) @@ -75935,11 +76246,18 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } *(*Ti64)(unsafe.Pointer(pOut)) = int64(*(*TPgno)(unsafe.Pointer(bp + 624))) goto _187 - /* Opcode: SqlExec * * * P4 * + /* Opcode: SqlExec P1 P2 * P4 * ** ** Run the SQL statement or statements specified in the P4 string. - ** Disable Auth and Trace callbacks while those statements are running if - ** P1 is true. + ** + ** The P1 parameter is a bitmask of options: + ** + ** 0x0001 Disable Auth and Trace callbacks while the statements + ** in P4 are running. + ** + ** 0x0002 Set db->nAnalysisLimit to P2 while the statements in + ** P4 are running. + ** */ _132: ; @@ -75947,16 +76265,21 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*uintptr)(unsafe.Pointer(bp + 632)) = uintptr(0) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth mTrace = (*Tsqlite3)(unsafe.Pointer(db)).FmTrace - if (*TOp)(unsafe.Pointer(pOp)).Fp1 != 0 { + savedAnalysisLimit = (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0001) != 0 { (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(0) } + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0002) != 0 { + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (*TOp)(unsafe.Pointer(pOp)).Fp2 + } rc = Xsqlite3_exec(tls, db, *(*uintptr)(unsafe.Pointer(pOp + 16)), uintptr(0), uintptr(0), bp+632) (*Tsqlite3)(unsafe.Pointer(db)).FnSqlExec-- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = mTrace + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = savedAnalysisLimit if *(*uintptr)(unsafe.Pointer(bp + 632)) != 0 || rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3804, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3868, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 632))) if rc == int32(SQLITE_NOMEM) { goto no_mem @@ -75989,13 +76312,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_SchemaChange) libc.SetBitFieldPtr16Uint32(p+200, libc.Uint32FromInt32(0), 0, 0x3) } else { - zSchema = __ccgo_ts + 6075 + zSchema = __ccgo_ts + 6139 (*(*TInitData)(unsafe.Pointer(bp + 640))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 640))).FiDb = iDb3 (*(*TInitData)(unsafe.Pointer(bp + 640))).FpzErrMsg = p + 168 (*(*TInitData)(unsafe.Pointer(bp + 640))).FmInitFlags = uint32(0) (*(*TInitData)(unsafe.Pointer(bp + 640))).FmxPage = _sqlite3BtreeLastPage(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6089, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6153, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -76012,7 +76335,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* The OP_ParseSchema opcode with a non-NULL P4 argument should parse ** at least one SQL statement. Any less than that indicates that ** the sqlite_schema table is corrupt. */ - rc = _sqlite3CorruptError(tls, int32(99678)) + rc = _sqlite3CorruptError(tls, int32(100155)) } _sqlite3DbFreeNN(tls, db, zSql) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) @@ -76079,11 +76402,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* Opcode: IntegrityCk P1 P2 P3 P4 P5 ** ** Do an analysis of the currently open database. Store in - ** register P1 the text of an error message describing any problems. - ** If no problems are found, store a NULL in register P1. + ** register (P1+1) the text of an error message describing any problems. + ** If no problems are found, store a NULL in register (P1+1). ** - ** The register P3 contains one less than the maximum number of allowed errors. - ** At most reg(P3) errors will be reported. + ** The register (P1) contains one less than the maximum number of allowed + ** errors. At most reg(P1) errors will be reported. ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. ** @@ -76098,18 +76421,20 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _138: ; /* Register keeping track of errors remaining */ _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) nRoot = (*TOp)(unsafe.Pointer(pOp)).Fp2 aRoot = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 _ = libc.Int32FromInt32(0) + pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 _ = libc.Int32FromInt32(0) - pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 _ = libc.Int32FromInt32(0) + pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1+int32(1))*56 _ = libc.Int32FromInt32(0) - rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) + _ = libc.Int32FromInt32(0) + rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, aMem+uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) _sqlite3VdbeMemSetNull(tls, pIn1) if *(*int32)(unsafe.Pointer(bp + 680)) == 0 { _ = libc.Int32FromInt32(0) @@ -76223,7 +76548,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** P1 contains the address of the memory cell that contains the first memory ** cell in an array of values used as arguments to the sub-program. P2 ** contains the address to jump to if the sub-program throws an IGNORE - ** exception using the RAISE() function. Register P3 contains the address + ** exception using the RAISE() function. P2 might be zero, if there is + ** no possibility that an IGNORE exception will be raised. + ** Register P3 contains the address ** of a memory cell in this (the parent) VM that is used to allocate the ** memory required by the sub-vdbe at runtime. ** @@ -76265,7 +76592,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } if (*TVdbe)(unsafe.Pointer(p)).FnFrame >= *(*int32)(unsafe.Pointer(db + 136 + 10*4)) { rc = int32(SQLITE_ERROR) - _sqlite3VdbeError(tls, p, __ccgo_ts+6132, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6196, 0) goto abort_due_to_error } /* Register pRt is used to store the memory required to save the state @@ -76649,7 +76976,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } /* IMP: R-24505-23230 */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3804, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3868, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError } if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FskipFlag != 0 { @@ -76711,7 +77038,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3VdbeMemFinalize(tls, pMem3, *(*uintptr)(unsafe.Pointer(pOp + 16))) } if rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3804, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3868, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) goto abort_due_to_error } _sqlite3VdbeChangeEncoding(tls, pMem3, int32(encoding)) @@ -76796,11 +77123,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeRead > int32(1) { rc = int32(SQLITE_ERROR) if eNew == int32(PAGER_JOURNALMODE_WAL) { - v286 = __ccgo_ts + 6169 + v286 = __ccgo_ts + 6233 } else { - v286 = __ccgo_ts + 6174 + v286 = __ccgo_ts + 6238 } - _sqlite3VdbeError(tls, p, __ccgo_ts+6181, libc.VaList(bp+944, v286)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6245, libc.VaList(bp+944, v286)) goto abort_due_to_error } else { if eOld == int32(PAGER_JOURNALMODE_WAL) { @@ -76968,7 +77295,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { if rc&int32(0xFF) == int32(SQLITE_LOCKED) { z1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - _sqlite3VdbeError(tls, p, __ccgo_ts+6233, libc.VaList(bp+944, z1)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6297, libc.VaList(bp+944, z1)) } goto abort_due_to_error } @@ -77146,7 +77473,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TValueList)(unsafe.Pointer(pRhs)).FpOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 pOut = _out2Prerelease(tls, p, pOp) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null) - _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6262, __ccgo_fp(_sqlite3VdbeValueListFree)) + _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6326, __ccgo_fp(_sqlite3VdbeValueListFree)) goto _187 /* Opcode: VFilter P1 P2 P3 P4 * ** Synopsis: iplan=r[P3] zplan='P4' @@ -77251,7 +77578,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_module)(unsafe.Pointer(pModule4)).FxColumn})))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 48)), bp+800, (*TOp)(unsafe.Pointer(pOp)).Fp2) _sqlite3VtabImportErrmsg(tls, p, pVtab4) if (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3804, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3868, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) rc = (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError } _sqlite3VdbeChangeEncoding(tls, pDest2, int32(encoding)) @@ -77520,7 +77847,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If the function returned an error, throw an exception */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3804, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3868, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError } _sqlite3VdbeDeleteAuxData(tls, db, p+296, (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FiOp, (*TOp)(unsafe.Pointer(pOp)).Fp1) @@ -77682,7 +78009,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { Xsqlite3_free(tls, z2) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeExec > int32(1) { - z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6272, libc.VaList(bp+944, zTrace)) + z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6336, libc.VaList(bp+944, zTrace)) (*(*func(*libc.TLS, Tu32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(&(*Tsqlite3)(unsafe.Pointer(db)).Ftrace))})))(tls, uint32(SQLITE_TRACE_STMT), (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) _sqlite3DbFree(tls, db, z3) } else { @@ -77756,16 +78083,16 @@ abort_due_to_error: rc = int32(SQLITE_NOMEM) } else { if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)<op on success */ - pTab = uintptr(0) /* A column of pTab */ - *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ - _ = libc.Int32FromInt32(0) /* the name context cannot be NULL. */ - _ = libc.Int32FromInt32(0) /* The Z in X.Y.Z cannot be NULL */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, cntTab, db, eNewExprOp, hCol, hCol1, hit, i, iCol, j, nSubquery, op, pCol, pEList, pItem, pMatch, pOrig, pSchema, pSrcList, pTab, pTopNC, pUpsert, zAs, zCol, zErr, v10, v5, v7, v8 /* Loop counters */ + cnt = 0 /* Number of matching column names */ + cntTab = 0 /* Number of potential "rowid" matches */ + nSubquery = 0 /* How many levels of subquery */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Use for looping over pSrcList items */ + pMatch = uintptr(0) /* The matching pSrcList item */ + pTopNC = pNC /* First namecontext in the list */ + pSchema = uintptr(0) /* Schema of the expression */ + eNewExprOp = int32(TK_COLUMN) /* New value for pExpr->op on success */ + pTab = uintptr(0) /* A column of pTab */ + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + zCol = *(*uintptr)(unsafe.Pointer(pRight + 8)) + _ = libc.Int32FromInt32(0) /* the name context cannot be NULL. */ + _ = libc.Int32FromInt32(0) /* The Z in X.Y.Z cannot be NULL */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) /* Initialize the node to no-match */ @@ -82768,7 +83096,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ; i++ } - if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6594, zDb) == 0 { + if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6658, zDb) == 0 { /* This branch is taken when the main database has been renamed ** using SQLITE_DBCONFIG_MAINDBNAME. */ pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema @@ -82870,7 +83198,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TTable)(unsafe.Pointer(pTab)).FpSchema != pSchema { goto _2 } - if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6599) != 0 { + if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6663) != 0 { goto _2 } } @@ -82985,16 +83313,16 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol op = int32((*TParse)(unsafe.Pointer(pParse)).FeTriggerOp) _ = libc.Int32FromInt32(0) if (*TParse)(unsafe.Pointer(pParse)).FbReturning != 0 { - if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0) { + if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0 || _isValidSchemaTableName(tls, zTab, (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab, uintptr(0)) != 0) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = libc.BoolInt32(op != int32(TK_DELETE)) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } } else { - if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6601, zTab) == 0 { + if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6665, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(1) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } else { - if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6605, zTab) == 0 { + if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6669, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = 0 pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } @@ -83003,7 +83331,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UUpsert) != 0 && zTab != uintptr(0) { pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16)) - if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6609, zTab) == 0 { + if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6673, zTab) == 0 { pTab = (*(*TSrcItem)(unsafe.Pointer((*TUpsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8))).FpTab (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(EXCLUDED_TABLE_NUMBER) } @@ -83125,15 +83453,15 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol _ = libc.Int32FromInt32(0) pOrig = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(j)*32))).FpExpr if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 && (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6618, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6682, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Win)) != uint32(0) && ((*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 || pNC != pTopNC) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6649, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6713, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if _sqlite3ExprVectorSize(tls, pOrig) != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6686, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6750, 0) return int32(WRC_Abort) } _resolveAlias(tls, pParse, pEList, j, pExpr, nSubquery) @@ -83187,7 +83515,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** a huge amount of legacy SQL that uses it. So for now, we just ** issue a warning. */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6704, libc.VaList(bp+24, zCol)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6768, libc.VaList(bp+24, zCol)) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_STRING) libc.Xmemset(tls, pExpr+64, 0, uint64(8)) return int32(WRC_Prune) @@ -83218,7 +83546,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } _extendFJMatch(tls, pParse, bp, pMatch, (*TExpr)(unsafe.Pointer(pExpr)).FiColumn) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_FUNCTION) - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6739 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6803 *(*uintptr)(unsafe.Pointer(pExpr + 32)) = *(*uintptr)(unsafe.Pointer(bp)) cnt = int32(1) goto lookupname_end @@ -83228,18 +83556,22 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } } if cnt == 0 { - v10 = __ccgo_ts + 6748 + v10 = __ccgo_ts + 6812 } else { - v10 = __ccgo_ts + 6763 + v10 = __ccgo_ts + 6827 } zErr = v10 if zDb != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6785, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6849, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) } else { if zTab != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6798, libc.VaList(bp+24, zErr, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6862, libc.VaList(bp+24, zErr, zTab, zCol)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6808, libc.VaList(bp+24, zErr, zCol)) + if cnt == 0 && (*TExpr)(unsafe.Pointer(pRight)).Fflags&uint32(libc.Int32FromInt32(EP_DblQuoted)) != uint32(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6872, libc.VaList(bp+24, zErr, zCol)) + } else { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6933, libc.VaList(bp+24, zErr, zCol)) + } } } _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -83270,8 +83602,12 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** If a generated column is referenced, set bits for every column ** of the table. */ - if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 && cnt == int32(1) && pMatch != uintptr(0) { - *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + if pMatch != 0 { + if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { + *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + } else { + libc.SetBitFieldPtr16Uint32(pMatch+60+4, libc.Uint32FromInt32(1), 14, 0x4000) + } } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(eNewExprOp) goto lookupname_end @@ -83367,19 +83703,19 @@ func _notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pEx defer tls.Free(32) var zIn uintptr _ = zIn - zIn = __ccgo_ts + 6815 + zIn = __ccgo_ts + 6940 if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IdxExpr) != 0 { - zIn = __ccgo_ts + 6843 + zIn = __ccgo_ts + 6968 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IsCheck) != 0 { - zIn = __ccgo_ts + 6861 + zIn = __ccgo_ts + 6986 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_GenCol) != 0 { - zIn = __ccgo_ts + 6879 + zIn = __ccgo_ts + 7004 } } } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6897, libc.VaList(bp+8, zMsg, zIn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7022, libc.VaList(bp+8, zMsg, zIn)) if pExpr != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } @@ -83429,8 +83765,8 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { var anRef [8]int32 var auth, i, is_agg, n, nLeft, nRef, nRight, no_such_func, rc, savedAllowFlags, wrong_num_args, v12, v4, v6, v7 int32 var enc Tu8 - var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zColumn, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zColumn, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 + var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 pNC = *(*uintptr)(unsafe.Pointer(pWalker + 40)) _ = libc.Int32FromInt32(0) pParse = (*TNameContext)(unsafe.Pointer(pNC)).FpParse @@ -83555,12 +83891,12 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { zDb = uintptr(0) zTable = uintptr(0) _ = libc.Int32FromInt32(0) - zColumn = *(*uintptr)(unsafe.Pointer(pExpr + 8)) + pRight = pExpr } else { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+6917, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7042, uintptr(0), pExpr) } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_ID) { @@ -83574,14 +83910,13 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { } _ = libc.Int32FromInt32(0) zTable = *(*uintptr)(unsafe.Pointer(pLeft + 8)) - zColumn = *(*uintptr)(unsafe.Pointer(pRight + 8)) _ = libc.Int32FromInt32(0) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameTokenRemap(tls, pParse, pExpr, pRight) _sqlite3RenameTokenRemap(tls, pParse, pExpr+64, pLeft) } } - return _lookupName(tls, pParse, zDb, zTable, zColumn, pNC, pExpr) + return _lookupName(tls, pParse, zDb, zTable, pRight, pNC, pExpr) /* Resolve function names */ fallthrough @@ -83622,7 +83957,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if n == int32(2) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = _exprProbability(tls, (*(*TExprList_item)(unsafe.Pointer(pList + 8 + 1*32))).FpExpr) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6934, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7059, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -83646,7 +83981,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { auth = _sqlite3AuthCheck(tls, pParse, int32(SQLITE_FUNCTION), uintptr(0), (*TFuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0)) if auth != SQLITE_OK { if auth == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6998, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7123, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) @@ -83668,7 +84003,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { ** all this. */ _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7034, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7159, uintptr(0), pExpr) } } else { _ = libc.Int32FromInt32(0) /* Must fit in 8 bits */ @@ -83693,29 +84028,29 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if 0 == libc.BoolInt32(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME)) { _ = libc.Int32FromInt32(0) if pDef != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7062, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7187, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 || is_agg != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) || is_agg != 0 && pWin != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 { if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 { - zType = __ccgo_ts + 7105 + zType = __ccgo_ts + 7230 } else { - zType = __ccgo_ts + 7112 + zType = __ccgo_ts + 7237 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7122, libc.VaList(bp+8, zType, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7247, libc.VaList(bp+8, zType, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else { if no_such_func != 0 && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7150, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7275, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if wrong_num_args != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7172, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7297, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7216, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7341, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { @@ -83739,7 +84074,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { *(*int32)(unsafe.Pointer(pNC + 40)) &= ^(libc.Int32FromInt32(NC_AllowWin) | v7) } } else { - if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { is_agg = int32(1) } } @@ -83805,21 +84140,23 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { case int32(TK_IN): if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) { nRef = (*TNameContext)(unsafe.Pointer(pNC)).FnRef + _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_SelfRef) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7264, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7389, pExpr, pExpr) } else { _sqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32))) } _ = libc.Int32FromInt32(0) if nRef != (*TNameContext)(unsafe.Pointer(pNC)).FnRef { *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 4)) |= uint32(SF_Correlated) } *(*int32)(unsafe.Pointer(pNC + 40)) |= int32(NC_Subquery) } case int32(TK_VARIABLE): _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IsCheck)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7275, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7400, pExpr, pExpr) } case int32(TK_IS): fallthrough @@ -83869,7 +84206,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { nRight = _sqlite3ExprVectorSize(tls, (*TExpr)(unsafe.Pointer(pExpr)).FpRight) } if nLeft != nRight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6686, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6750, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } break @@ -83997,7 +84334,7 @@ func _resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintpt func _resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7286, libc.VaList(bp+8, i, zType, mx)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7411, libc.VaList(bp+8, i, zType, mx)) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pError) } @@ -84032,7 +84369,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7342, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7467, 0) return int32(1) } i = 0 @@ -84071,7 +84408,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } if _sqlite3ExprIsInteger(tls, pE, bp) != 0 { if *(*int32)(unsafe.Pointer(bp)) <= 0 || *(*int32)(unsafe.Pointer(bp)) > (*TExprList)(unsafe.Pointer(pEList)).FnExpr { - _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7376, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) + _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7501, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) return int32(1) } } else { @@ -84144,7 +84481,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r break } if int32(uint32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7382, libc.VaList(bp+16, i+int32(1))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7507, libc.VaList(bp+16, i+int32(1))) return int32(1) } goto _3 @@ -84178,7 +84515,7 @@ func _sqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7443, libc.VaList(bp+8, zType)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7568, libc.VaList(bp+8, zType)) return int32(1) } pEList = (*TSelect)(unsafe.Pointer(pSelect)).FpEList @@ -84430,6 +84767,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } pItem = (*TSelect)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*104 + _ = libc.Int32FromInt32(0) /* Test of tag-20240424-1*/ if (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselFlags&uint32(SF_Resolved) == uint32(0) { if pOuterNC != 0 { v3 = (*TNameContext)(unsafe.Pointer(pOuterNC)).FnRef @@ -84502,7 +84840,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { (*(*TNameContext)(unsafe.Pointer(bp))).FncFlags |= int32(NC_UEList) if (*TSelect)(unsafe.Pointer(p)).FpHaving != 0 { if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Aggregate) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7474, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7599, 0) return int32(WRC_Abort) } if _sqlite3ResolveExprNames(tls, bp, (*TSelect)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -84569,7 +84907,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** is not detected until much later, and so we need to go ahead and ** resolve those symbols on the incorrect ORDER BY for consistency. */ - if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7376) != 0 { + if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7501) != 0 { return int32(WRC_Abort) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -84580,7 +84918,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** the GROUP BY clause does not contain aggregate functions. */ if pGroupBy != 0 { - if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7513) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { + if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7638) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(WRC_Abort) } i = 0 @@ -84590,7 +84928,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } if (*TExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(pItem2)).FpExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7519, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7644, 0) return int32(WRC_Abort) } goto _6 @@ -85621,7 +85959,7 @@ func _codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32 return } if nLeft != _sqlite3ExprVectorSize(tls, pRight) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6686, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6750, 0) return } _ = libc.Int32FromInt32(0) @@ -85706,7 +86044,7 @@ func _sqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) (r in rc = SQLITE_OK mxHeight = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4)) if nHeight > mxHeight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7578, libc.VaList(bp+8, mxHeight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7703, libc.VaList(bp+8, mxHeight)) rc = int32(SQLITE_ERROR) } return rc @@ -85872,11 +86210,12 @@ func _sqlite3ExprSetErrorOffset(tls *libc.TLS, pExpr uintptr, iOfst int32) { // ** appear to be quoted. If the quotes were of the form "..." (double-quotes) // ** then the EP_DblQuoted flag is set on the expression node. // ** -// ** Special case: If op==TK_INTEGER and pToken points to a string that -// ** can be translated into a 32-bit integer, then the token is not -// ** stored in u.zToken. Instead, the integer values is written -// ** into u.iValue and the EP_IntValue flag is set. No extra storage +// ** Special case (tag-20240227-a): If op==TK_INTEGER and pToken points to +// ** a string that can be translated into a 32-bit integer, then the token is +// ** not stored in u.zToken. Instead, the integer values is written +// ** into u.iValue and the EP_IntValue flag is set. No extra storage // ** is allocated to hold the integer text and the dequote flag is ignored. +// ** See also tag-20240227-b. // */ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) (r uintptr) { bp := tls.Alloc(16) @@ -85890,7 +86229,7 @@ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ _ = libc.Int32FromInt32(0) if pToken != 0 { if op != int32(TK_INTEGER) || (*TToken)(unsafe.Pointer(pToken)).Fz == uintptr(0) || _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pToken)).Fz, bp) == 0 { - nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) + nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) /* tag-20240227-a */ _ = libc.Int32FromInt32(0) } } @@ -86059,11 +86398,11 @@ func _sqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList } if nExprElem != nElem { if nExprElem > int32(1) { - v2 = __ccgo_ts + 7626 + v2 = __ccgo_ts + 7751 } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7628, libc.VaList(bp+8, nExprElem, v2, nElem)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7753, libc.VaList(bp+8, nExprElem, v2, nElem)) break } _ = libc.Int32FromInt32(0) @@ -86113,7 +86452,7 @@ func _sqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt if f&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_InnerON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { _sqlite3ExprDeferredDelete(tls, pParse, pLeft) _sqlite3ExprDeferredDelete(tls, pParse, pRight) - return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1731) + return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1791) } else { return _sqlite3PExpr(tls, pParse, int32(TK_AND), pLeft, pRight) } @@ -86143,7 +86482,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pNew + 52)) = int32(int64((*TToken)(unsafe.Pointer(pToken)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) if pList != 0 && (*TExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7672, libc.VaList(bp+8, pToken)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7797, libc.VaList(bp+8, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32)) = pList *(*Tu32)(unsafe.Pointer(pNew + 4)) |= uint32(libc.Int32FromInt32(EP_HasFunc)) @@ -86164,7 +86503,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u func _sqlite3ExprOrderByAggregateError(tls *libc.TLS, pParse uintptr, p uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7706, libc.VaList(bp+8, p)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7831, libc.VaList(bp+8, p)) } // C documentation @@ -86243,7 +86582,7 @@ func _sqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD ** SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning ** that the schema is possibly tainted). */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7756, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7881, libc.VaList(bp+8, pExpr)) } } } @@ -86300,7 +86639,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n bOk = libc.BoolInt32(0 == _sqlite3Atoi64(tls, z+1, bp, int32(n-uint32(1)), uint8(SQLITE_UTF8))) } if bOk == 0 || *(*Ti64)(unsafe.Pointer(bp)) < int64(1) || *(*Ti64)(unsafe.Pointer(bp)) > int64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7776, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7901, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) return } @@ -86333,7 +86672,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*TExpr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7819, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7944, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } } @@ -86344,8 +86683,13 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n // ** Recursively delete an expression tree. // */ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { + var pLeft uintptr + _ = pLeft _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) + goto exprDeleteRestart +exprDeleteRestart: + ; _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -86353,9 +86697,6 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)|libc.Int32FromInt32(EP_Leaf)) != libc.Uint32FromInt32(0)) { /* The Expr.x union is never used at the same time as Expr.pRight */ _ = libc.Int32FromInt32(0) - if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { - _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpLeft) - } if (*TExpr)(unsafe.Pointer(p)).FpRight != 0 { _ = libc.Int32FromInt32(0) _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpRight) @@ -86370,6 +86711,17 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { } } } + if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { + pLeft = (*TExpr)(unsafe.Pointer(p)).FpLeft + if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) && !((*TExpr)(unsafe.Pointer(pLeft)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { + /* Avoid unnecessary recursion on unary operators */ + _sqlite3DbNNFreeNN(tls, db, p) + p = pLeft + goto exprDeleteRestart + } else { + _sqlite3ExprDeleteNN(tls, db, pLeft) + } + } } if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { _sqlite3DbNNFreeNN(tls, db, p) @@ -86416,11 +86768,11 @@ func _sqlite3ClearOnOrUsing(tls *libc.TLS, db uintptr, p uintptr) { // ** // ** The pExpr might be deleted immediately on an OOM error. // ** -// ** The deferred delete is (currently) implemented by adding the -// ** pExpr to the pParse->pConstExpr list with a register number of 0. +// ** Return 0 if the delete was successfully deferred. Return non-zero +// ** if the delete happened immediately because of an OOM. // */ -func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { - _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr) +func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + return libc.BoolInt32(uintptr(0) == _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr)) } // C documentation @@ -86939,16 +87291,20 @@ func _sqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) (r ui (*TSrcItem)(unsafe.Pointer(pNewItem)).FiCursor = (*TSrcItem)(unsafe.Pointer(pOldItem)).FiCursor (*TSrcItem)(unsafe.Pointer(pNewItem)).FaddrFillSub = (*TSrcItem)(unsafe.Pointer(pOldItem)).FaddrFillSub (*TSrcItem)(unsafe.Pointer(pNewItem)).FregReturn = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregReturn + (*TSrcItem)(unsafe.Pointer(pNewItem)).FregResult = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregResult if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x2>>1)) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3DbStrDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88))) + } else { + if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { + *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) + } else { + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pNewItem)).Fu1)) = *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pOldItem)).Fu1)) + } } (*TSrcItem)(unsafe.Pointer(pNewItem)).Fu2 = (*TSrcItem)(unsafe.Pointer(pOldItem)).Fu2 if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x100>>8)) != 0 { (*TCteUse)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNewItem + 96)))).FnUse++ } - if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { - *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) - } v4 = (*TSrcItem)(unsafe.Pointer(pOldItem)).FpTab (*TSrcItem)(unsafe.Pointer(pNewItem)).FpTab = v4 pTab = v4 @@ -87214,7 +87570,7 @@ func _sqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, n = v2 } if v3 && (*TIdList)(unsafe.Pointer(pColumns)).FnId != v2 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7842, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7967, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error } i = 0 @@ -87359,7 +87715,7 @@ func _sqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, _ = mx mx = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4)) if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr > mx { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7872, libc.VaList(bp+8, zObject)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7997, libc.VaList(bp+8, zObject)) } } @@ -87461,10 +87817,10 @@ func _sqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) (r // ** anything else 0 // */ func _sqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) (r Tu32) { - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7895) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8020) == 0 { return uint32(EP_IsTrue) } - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7900) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8025) == 0 { return uint32(EP_IsFalse) } return uint32(0) @@ -87551,6 +87907,52 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { return pExpr } +// C documentation +// +// /* +// ** pExpr is a TK_FUNCTION node. Try to determine whether or not the +// ** function is a constant function. A function is constant if all of +// ** the following are true: +// ** +// ** (1) It is a scalar function (not an aggregate or window function) +// ** (2) It has either the SQLITE_FUNC_CONSTANT or SQLITE_FUNC_SLOCHNG +// ** property. +// ** (3) All of its arguments are constants +// ** +// ** This routine sets pWalker->eCode to 0 if pExpr is not a constant. +// ** It makes no changes to pWalker->eCode if pExpr is constant. In +// ** every case, it returns WRC_Abort. +// ** +// ** Called as a service subroutine from exprNodeIsConstant(). +// */ +func _exprNodeIsConstantFunction(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef, pList, v1 uintptr + var n int32 + var v2 bool + _, _, _, _, _, _ = db, n, pDef, pList, v1, v2 /* The database */ + _ = libc.Int32FromInt32(0) + if v2 = (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)) != uint32(0); !v2 { + v1 = *(*uintptr)(unsafe.Pointer(pExpr + 32)) + pList = v1 + } + if v2 || v1 == uintptr(0) { + n = 0 + } else { + n = (*TExprList)(unsafe.Pointer(pList)).FnExpr + _sqlite3WalkExprList(tls, pWalker, pList) + if int32((*TWalker)(unsafe.Pointer(pWalker)).FeCode) == 0 { + return int32(WRC_Abort) + } + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)|libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG)) == uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) +} + // C documentation // // /* @@ -87580,6 +87982,7 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { // ** malformed schema error. // */ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + _ = libc.Int32FromInt32(0) /* If pWalker->eCode is 2 then any term of the expression that comes from ** the ON or USING clauses of an outer join disqualifies the expression ** from being considered constant. */ @@ -87598,8 +88001,12 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 } return WRC_Continue } else { - (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) - return int32(WRC_Abort) + if (*TWalker)(unsafe.Pointer(pWalker)).FpParse != 0 { + return _exprNodeIsConstantFunction(tls, pWalker, pExpr) + } else { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } } fallthrough case int32(TK_ID): @@ -87626,6 +88033,8 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 case int32(TK_REGISTER): fallthrough case int32(TK_DOT): + fallthrough + case int32(TK_RAISE): (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) return int32(WRC_Abort) case int32(TK_VARIABLE): @@ -87651,14 +88060,14 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 return r } -func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32) { +func _exprIsConst(tls *libc.TLS, pParse uintptr, p uintptr, initFlag int32) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* w at bp+0 */ TWalker (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(initFlag) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) - *(*int32)(unsafe.Pointer(bp + 40)) = iCur _sqlite3WalkExpr(tls, bp, p) return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } @@ -87672,9 +88081,15 @@ func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32 // ** For the purposes of this function, a double-quoted string (ex: "abc") // ** is considered a variable but a single-quoted string (ex: 'abc') is // ** a constant. +// ** +// ** The pParse parameter may be NULL. But if it is NULL, there is no way +// ** to determine if function calls are constant or not, and hence all +// ** function calls will be considered to be non-constant. If pParse is +// ** not NULL, then a function call might be constant, depending on the +// ** function and on its parameters. // */ -func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(1), 0) +func _sqlite3ExprIsConstant(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(1)) } // C documentation @@ -87692,8 +88107,26 @@ func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { // ** can be added to the pParse->pConstExpr list and evaluated once when // ** the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). // */ -func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(2), 0) +func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(2)) +} + +// C documentation +// +// /* +// ** This routine examines sub-SELECT statements as an expression is being +// ** walked as part of sqlite3ExprIsTableConstant(). Sub-SELECTs are considered +// ** constant as long as they are uncorrelated - meaning that they do not +// ** contain any terms from outer contexts. +// */ +func _exprSelectWalkTableConstant(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if (*TSelect)(unsafe.Pointer(pSelect)).FselFlags&uint32(SF_Correlated) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) } // C documentation @@ -87703,9 +88136,25 @@ func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { // ** for any single row of the table with cursor iCur. In other words, the // ** expression must not refer to any non-deterministic function nor any // ** table other than iCur. +// ** +// ** Consider uncorrelated subqueries to be constants if the bAllowSubq +// ** parameter is true. // */ -func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) { - return _exprIsConst(tls, p, int32(3), iCur) +func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32, bAllowSubq int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(3) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = uintptr(0) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) + if bAllowSubq != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_exprSelectWalkTableConstant) + } else { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) + } + *(*int32)(unsafe.Pointer(bp + 40)) = iCur + _sqlite3WalkExpr(tls, bp, p) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } // C documentation @@ -87725,7 +88174,10 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** // ** (1) pExpr cannot refer to any table other than pSrc->iCursor. // ** -// ** (2) pExpr cannot use subqueries or non-deterministic functions. +// ** (2a) pExpr cannot use subqueries unless the bAllowSubq parameter is +// ** true and the subquery is non-correlated +// ** +// ** (2b) pExpr cannot use non-deterministic functions. // ** // ** (3) pSrc cannot be part of the left operand for a RIGHT JOIN. // ** (Is there some way to relax this constraint?) @@ -87751,7 +88203,7 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** which leads to incorrect answers. See also restriction (9) // ** on push-down. // */ -func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32) (r int32) { +func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32, bAllowSubq int32) (r int32) { var jj int32 var pSrc uintptr _, _ = jj, pSrc @@ -87789,7 +88241,8 @@ func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList jj++ } } - return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor) /* rules (1), (2) */ + /* Rules (1), (2a), and (2b) handled by the following: */ + return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor, bAllowSubq) } // C documentation @@ -87888,7 +88341,7 @@ func _sqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // */ func _sqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit Tu8) (r int32) { _ = libc.Int32FromInt32(0) - return _exprIsConst(tls, p, int32(4)+int32(isInit), 0) + return _exprIsConst(tls, uintptr(0), p, int32(4)+int32(isInit)) } // C documentation @@ -88032,13 +88485,13 @@ func _sqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) (r i // ** Return TRUE if the given string is a row-id column name. // */ func _sqlite3IsRowid(tls *libc.TLS, z uintptr) (r int32) { - if _sqlite3StrICmp(tls, z, __ccgo_ts+7906) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8031) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7914) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8039) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7920) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8045) == 0 { return int32(1) } return 0 @@ -88056,9 +88509,9 @@ func _sqlite3RowidAlias(tls *libc.TLS, pTab uintptr) (r uintptr) { var iCol, ii int32 _, _, _ = azOpt, iCol, ii azOpt = [3]uintptr{ - 0: __ccgo_ts + 7906, - 1: __ccgo_ts + 7914, - 2: __ccgo_ts + 7920, + 0: __ccgo_ts + 8031, + 1: __ccgo_ts + 8039, + 2: __ccgo_ts + 8045, } _ = libc.Int32FromInt32(0) ii = 0 @@ -88182,14 +88635,14 @@ func _sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int // ** The argument is an IN operator with a list (not a subquery) on the // ** right-hand side. Return TRUE if that list is constant. // */ -func _sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) (r int32) { +func _sqlite3InRhsIsConstant(tls *libc.TLS, pParse uintptr, pIn uintptr) (r int32) { var pLHS uintptr var res int32 _, _ = pLHS, res _ = libc.Int32FromInt32(0) pLHS = (*TExpr)(unsafe.Pointer(pIn)).FpLeft (*TExpr)(unsafe.Pointer(pIn)).FpLeft = uintptr(0) - res = _sqlite3ExprIsConstant(tls, pIn) + res = _sqlite3ExprIsConstant(tls, pParse, pIn) (*TExpr)(unsafe.Pointer(pIn)).FpLeft = pLHS return res } @@ -88347,7 +88800,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 iAddr = _sqlite3VdbeAddOp0(tls, v, int32(OP_Once)) _sqlite3OpenTable(tls, pParse, iTab, iDb, pTab, int32(OP_OpenRead)) eType = int32(IN_INDEX_ROWID) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+7924, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+8049, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) _sqlite3VdbeJumpHere(tls, v, iAddr) } else { /* Iterator variable */ affinity_ok = int32(1) @@ -88450,7 +88903,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 if colUsed == libc.Uint64FromInt32(1)<0 so that the new limit is either 1 or 0 */ db = (*TParse)(unsafe.Pointer(pParse)).Fdb - pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1731) + pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1791) if pLimit != 0 { (*TExpr)(unsafe.Pointer(pLimit)).FaffExpr = uint8(SQLITE_AFF_NUMERIC) pLimit = _sqlite3PExpr(tls, pParse, int32(TK_NE), _sqlite3ExprDup(tls, db, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft, 0), pLimit) @@ -88961,7 +89414,7 @@ func _sqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int3 (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { /* If there is no pre-existing limit add a limit of 1 */ - pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8139) + pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8264) (*TSelect)(unsafe.Pointer(pSel)).FpLimit = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), pLimit, uintptr(0)) } (*TSelect)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -89357,13 +89810,13 @@ func _codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, i _ = libc.Int32FromInt32(0) c = _sqlite3DecOrHexToI64(tls, z, bp) if c == int32(3) && !(negFlag != 0) || c == int32(2) || negFlag != 0 && *(*Ti64)(unsafe.Pointer(bp)) == int64(-libc.Int32FromInt32(1))-(libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)<= (*TAggInfo)(unsafe.Pointer(pInfo)).FnFunc { _ = libc.Int32FromInt32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8232, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8357, libc.VaList(bp+160, pExpr)) } else { _ = libc.Int32FromInt32(0) return (*TAggInfo)(unsafe.Pointer(pInfo)).FiFirstReg + (*TAggInfo)(unsafe.Pointer(pInfo)).FnColumn + int32((*TExpr)(unsafe.Pointer(pExpr)).FiAgg) @@ -90164,7 +90611,7 @@ expr_code_doover: if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { return (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64)))).FregResult } - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { /* SQL functions can be expensive. So try to avoid running them ** multiple times if we know they always give the same result */ return _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) @@ -90182,7 +90629,7 @@ expr_code_doover: zId = *(*uintptr)(unsafe.Pointer(pExpr + 8)) pDef = _sqlite3FindFunction(tls, db, zId, nFarg, enc, uint8(0)) if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8259, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8384, libc.VaList(bp+160, pExpr)) break } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_INLINE) != uint32(0) && pFarg != uintptr(0) { @@ -90199,7 +90646,7 @@ expr_code_doover: if !(i < nFarg) { break } - if i < int32(32) && _sqlite3ExprIsConstant(tls, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { + if i < int32(32) && _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { constMask |= libc.Uint32FromInt32(1) << i } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_NEEDCOLL) != uint32(0) && !(pColl != 0) { @@ -90296,7 +90743,7 @@ expr_code_doover: _ = libc.Int32FromInt32(0) n1 = _sqlite3ExprVectorSize(tls, pLeft2) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != n1 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7842, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7967, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) } return (*TExpr)(unsafe.Pointer(pLeft2)).FiTable + int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) case int32(TK_IN): @@ -90328,8 +90775,9 @@ expr_code_doover: if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Collate)) != libc.Uint32FromInt32(0)) { /* A TK_COLLATE Expr node without the EP_Collate tag is a so-called ** "SOFT-COLLATE" that is added to constraints that are pushed down - ** from outer queries into sub-queries by the push-down optimization. - ** Clear subtypes as subtypes may not cross a subquery boundary. + ** from outer queries into sub-queries by the WHERE-clause push-down + ** optimization. Clear subtypes as subtypes may not cross a subquery + ** boundary. */ _ = libc.Int32FromInt32(0) _sqlite3ExprCode(tls, pParse, (*TExpr)(unsafe.Pointer(pExpr)).FpLeft, target) @@ -90364,7 +90812,7 @@ expr_code_doover: _sqlite3VdbeAddOp1(tls, v, int32(OP_RealAffinity), target) } case int32(TK_VECTOR): - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6686, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6750, 0) break /* TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions ** that derive from the right-hand table of a LEFT JOIN. The @@ -90486,7 +90934,7 @@ expr_code_doover: case int32(TK_RAISE): _ = libc.Int32FromInt32(0) if !((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != 0) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8283, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8408, 0) return 0 } if int32((*TExpr)(unsafe.Pointer(pExpr)).FaffExpr) == int32(OE_Abort) { @@ -90610,7 +91058,7 @@ func _sqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin var r1, r2 int32 _, _ = r1, r2 pExpr = _sqlite3ExprSkipCollateAndLikely(tls, pExpr) - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { *(*int32)(unsafe.Pointer(pReg)) = 0 r2 = _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) } else { @@ -90683,7 +91131,7 @@ func _sqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // ** might choose to code the expression at initialization time. // */ func _sqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { _sqlite3ExprCodeCopy(tls, pParse, pExpr, target) @@ -90754,7 +91202,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ _sqlite3VdbeAddOp2(tls, v, int32(copyOp), j+srcReg-int32(1), target+i) } } else { - if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target+i) } else { inReg = _sqlite3ExprCodeTarget(tls, pParse, pExpr, target+i) @@ -92099,18 +92547,16 @@ func _agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnColumn && (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } else { _ = libc.Int32FromInt32(0) if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnFunc && (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } @@ -92680,8 +93126,8 @@ func _sqlite3FirstAvailableRegister(tls *libc.TLS, pParse uintptr, iMin int32) ( func _isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) - if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6534, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8333, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6598, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8458, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -92700,9 +93146,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, bp := tls.Alloc(48) defer tls.Free(48) (*TParse)(unsafe.Pointer(pParse)).FcolNamesSet = uint8(1) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8361, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8486, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8536, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8661, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) } } @@ -92718,9 +93164,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, func _renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8710, libc.VaList(bp+8, zDb, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8835, libc.VaList(bp+8, zDb, zDb)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8857, 0) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8982, 0) } } @@ -92778,7 +93224,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName ** in database iDb. If so, this is an error. */ if _sqlite3FindTable(tls, db, zName, zDb) != 0 || _sqlite3FindIndex(tls, db, zName, zDb) != 0 || _sqlite3IsShadowTableOf(tls, db, pTab, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9008, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9133, libc.VaList(bp+8, zName)) goto exit_rename_table } /* Make sure it is not a system table being altered, or a reserved name @@ -92787,11 +93233,11 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { goto exit_rename_table } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9067, zName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9192, zName) { goto exit_rename_table } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9073, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9198, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table } /* Invoke the authorization callback. */ @@ -92821,21 +93267,21 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName nTabName = _sqlite3Utf8CharLen(tls, zTabName, -int32(1)) /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in ** the schema to use the new table name. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9100, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9225, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) /* Update the tbl_name and name columns of the sqlite_schema table ** as required. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9284, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9409, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) /* If the sqlite_sequence table exists in this database, then update ** it with the new table name. */ - if _sqlite3FindTable(tls, db, __ccgo_ts+9589, zDb) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9605, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if _sqlite3FindTable(tls, db, __ccgo_ts+9714, zDb) != 0 { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9730, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* If the table being renamed is not itself part of the temp database, ** edit view and trigger definitions within the temp database ** as required. */ if iDb != int32(1) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9663, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9788, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) } /* If this is a virtual table, invoke the xRename() function if ** one is defined. The xRename() callback will modify the names @@ -92851,7 +93297,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName _sqlite3VdbeAddOp4(tls, v, int32(OP_VRename), i, 0, 0, pVTab, -int32(11)) } _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+9928, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+10053, 0) goto exit_rename_table exit_rename_table: ; @@ -92868,7 +93314,7 @@ exit_rename_table: func _sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9941, libc.VaList(bp+8, zErr, zDb, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10066, libc.VaList(bp+8, zErr, zDb, zTab)) } // C documentation @@ -92913,11 +93359,11 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** column must not be NULL. */ if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9979, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10104, 0) return } if (*TTable)(unsafe.Pointer(pNew)).FpIndex != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10011, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10136, 0) return } if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) == 0 { @@ -92935,10 +93381,10 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpFKey != 0 && pDflt != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10038) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10163) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && !(pDflt != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10097) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10222) } /* Ensure the default expression is something that sqlite3ValueFromExpr() ** can handle (i.e. not CURRENT_TIME etc.) @@ -92952,13 +93398,13 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr return } if !(*(*uintptr)(unsafe.Pointer(bp)) != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10150) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10275) } _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp))) } } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_STORED) != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10196) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10321) } } /* Modify the CREATE TABLE statement. */ @@ -92974,7 +93420,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** have to use printf() to translate between these units: */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10223, libc.VaList(bp+16, zDb, (*(*struct { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10348, libc.VaList(bp+16, zDb, (*(*struct { FaddColOffset int32 FpFKey uintptr FpDfltList uintptr @@ -93002,7 +93448,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterAdd)) /* Verify that constraints are still satisfied */ if (*TTable)(unsafe.Pointer(pNew)).FpCheck != uintptr(0) || int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Strict) != uint32(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10369, libc.VaList(bp+16, zTab, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10494, libc.VaList(bp+16, zTab, zDb)) } } } @@ -93042,12 +93488,12 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { goto exit_begin_add_column } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10722, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10847, 0) goto exit_begin_add_column } /* Make sure this is not an attempt to ALTER a view. */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10756, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10881, 0) goto exit_begin_add_column } if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { @@ -93075,7 +93521,7 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { nAlloc = (int32((*TTable)(unsafe.Pointer(pNew)).FnCol)-int32(1))/int32(8)*int32(8) + int32(8) _ = libc.Int32FromInt32(0) (*TTable)(unsafe.Pointer(pNew)).FaCol = _sqlite3DbMallocZero(tls, db, uint64(16)*uint64(nAlloc)) - (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10786, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10911, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !((*TTable)(unsafe.Pointer(pNew)).FaCol != 0) || !((*TTable)(unsafe.Pointer(pNew)).FzName != 0) { _ = libc.Int32FromInt32(0) goto exit_begin_add_column @@ -93139,18 +93585,18 @@ func _isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) (r i _, _ = zType, v1 zType = uintptr(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10805 + zType = __ccgo_ts + 10930 } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 10810 + zType = __ccgo_ts + 10935 } if zType != 0 { if bDrop != 0 { - v1 = __ccgo_ts + 10824 + v1 = __ccgo_ts + 10949 } else { - v1 = __ccgo_ts + 10841 + v1 = __ccgo_ts + 10966 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10859, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10984, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -93212,11 +93658,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld iCol++ } if iCol == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10877, libc.VaList(bp+8, pOld)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11002, libc.VaList(bp+8, pOld)) goto exit_rename_column } /* Ensure the schema contains no double-quoted strings */ - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1657, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1671, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1))) /* Do the rename operation using a recursive UPDATE statement that ** uses the sqlite_rename_column() SQL function to compute the new @@ -93229,11 +93675,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld } _ = libc.Int32FromInt32(0) bQuote = int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pNew)).Fz))]) & int32(0x80) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10898, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11080, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11023, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11205, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+9928, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+10053, int32(1)) goto exit_rename_column exit_rename_column: ; @@ -93712,11 +94158,11 @@ func _renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType u zT = Xsqlite3_value_text(tls, pType) zN = Xsqlite3_value_text(tls, pObject) if *(*uint8)(unsafe.Pointer(zWhen)) != 0 { - v1 = __ccgo_ts + 11211 + v1 = __ccgo_ts + 11336 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } - zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11213, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) + zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11338, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, zErr) } @@ -93793,8 +94239,8 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin if zSql == uintptr(0) { return int32(SQLITE_NOMEM) } - if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11236, int32(7)) != 0 { - return _sqlite3CorruptError(tls, int32(116682)) + if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11361, int32(7)) != 0 { + return _sqlite3CorruptError(tls, int32(117285)) } if bTemp != 0 { v1 = int32(1) @@ -93810,7 +94256,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin rc = int32(SQLITE_NOMEM) } if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = _sqlite3CorruptError(tls, int32(116693)) + rc = _sqlite3CorruptError(tls, int32(117296)) } (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0) return rc @@ -93849,7 +94295,7 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, ** ALTER TABLE statement was quoted (bQuote==1), then set zNew to ** point to zQuot so that all substitutions are made using the ** quoted version of the new column name. */ - zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11244, libc.VaList(bp+8, zNew)) + zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11369, libc.VaList(bp+8, zNew)) if zQuot == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -93895,11 +94341,11 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, *(*uint8)(unsafe.Pointer(zBuf1 + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = uint8(0) _sqlite3Dequote(tls, zBuf1) if int32(*(*uint8)(unsafe.Pointer((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == int32('\'') { - v1 = __ccgo_ts + 11211 + v1 = __ccgo_ts + 11336 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } - Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11250, libc.VaList(bp+8, zBuf1, v1)) + Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11375, libc.VaList(bp+8, zBuf1, v1)) zReplace = zBuf2 nReplace = uint32(_sqlite3Strlen30(tls, zReplace)) } @@ -94391,7 +94837,7 @@ renameColumnFunc_done: Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv))) } else { if (*(*TParse)(unsafe.Pointer(bp + 32))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1657, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) + _renameColumnParseError(tls, context, __ccgo_ts+1671, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -94620,7 +95066,7 @@ func _renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintpt Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + 3*8))) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1657, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) + _renameColumnParseError(tls, context, __ccgo_ts+1671, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -94882,7 +95328,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { /* This can happen if the sqlite_schema table is corrupt */ - rc = _sqlite3CorruptError(tls, int32(117652)) + rc = _sqlite3CorruptError(tls, int32(118255)) goto drop_column_done } pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName) @@ -94900,7 +95346,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr (*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz-- } } - zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11255, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) + zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11380, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -int32(1), uintptr(-libc.Int32FromInt32(1))) Xsqlite3_free(tls, zNew) goto drop_column_done @@ -94927,8 +95373,9 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName bp := tls.Alloc(48) defer tls.Free(48) var addr, i, iCol, iColPos, iCur, iDb, iPos, nField, reg, regOut, regRec, v2, v4, v7 int32 + var aff uint8 var db, pPk, pTab, v, zCol, zDb, v1, v3, v5, v8 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, aff, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Database containing pTab ("main" etc.) */ zCol = uintptr(0) /* Index of column zCol in pTab->aCol[] */ /* Look up the table being altered. */ @@ -94957,23 +95404,23 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName } iCol = _sqlite3ColumnIndex(tls, pTab, zCol) if iCol < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10877, libc.VaList(bp+8, pName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11002, libc.VaList(bp+8, pName)) goto exit_drop_column } /* Do not allow the user to drop a PRIMARY KEY column or a column ** constrained by a UNIQUE constraint. */ if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_PRIMKEY)|libc.Int32FromInt32(COLFLAG_UNIQUE)) != 0 { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - v1 = __ccgo_ts + 11262 + v1 = __ccgo_ts + 11387 } else { - v1 = __ccgo_ts + 5598 + v1 = __ccgo_ts + 5662 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11274, libc.VaList(bp+8, v1, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11399, libc.VaList(bp+8, v1, zCol)) goto exit_drop_column } /* Do not allow the number of columns to go to zero */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) <= int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11302, libc.VaList(bp+8, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11427, libc.VaList(bp+8, zCol)) goto exit_drop_column } /* Edit the sqlite_schema table */ @@ -94984,12 +95431,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_ALTER_TABLE), zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol) != 0 { goto exit_drop_column } - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1657, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1671, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1))) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11350, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11475, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11471, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11596, int32(1)) /* Edit rows of table on disk */ if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 && int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { pPk = uintptr(0) @@ -95047,7 +95494,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if i == int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regOut) } else { + aff = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity + if int32(aff) == int32(SQLITE_AFF_REAL) { + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = uint8(SQLITE_AFF_NUMERIC) + } _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab, iCur, i, regOut) + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = aff } nField++ } @@ -95092,27 +95544,27 @@ var _aAlterTableFuncs = [5]TFuncDef{ 0: { FnArg: int8(9), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11489, + FzName: __ccgo_ts + 11614, }, 1: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11510, + FzName: __ccgo_ts + 11635, }, 2: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11530, + FzName: __ccgo_ts + 11655, }, 3: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11549, + FzName: __ccgo_ts + 11674, }, 4: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11568, + FzName: __ccgo_ts + 11693, }, } @@ -95325,7 +95777,7 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW ** side-effect of the CREATE TABLE statement is to leave the rootpage ** of the new table in register pParse->regRoot. This is important ** because the OpenWrite opcode below will be needing it. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11671, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11796, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) aRoot[i] = uint32((*TParse)(unsafe.Pointer(pParse)).FregRoot) aCreateTbl[i] = uint8(OPFLAG_P2ISREG) } @@ -95336,10 +95788,10 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW aRoot[i] = (*TTable)(unsafe.Pointer(pStat)).Ftnum _sqlite3TableLock(tls, pParse, iDb, aRoot[i], uint8(1), zTab) if zWhere != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11694, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11819, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11724, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11849, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { /* The sqlite_stat[134] table already exists. Delete all rows. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Clear), int32(aRoot[i]), iDb) @@ -95372,15 +95824,15 @@ var _aTable = [3]struct { FzCols uintptr }{ 0: { - FzName: __ccgo_ts + 11591, - FzCols: __ccgo_ts + 11604, + FzName: __ccgo_ts + 11716, + FzCols: __ccgo_ts + 11729, }, 1: { - FzName: __ccgo_ts + 11617, - FzCols: __ccgo_ts + 11630, + FzName: __ccgo_ts + 11742, + FzCols: __ccgo_ts + 11755, }, 2: { - FzName: __ccgo_ts + 11658, + FzName: __ccgo_ts + 11783, }, } @@ -95689,7 +96141,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statInitFuncdef = TFuncDef{ FnArg: int8(4), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11742, + FzName: __ccgo_ts + 11867, } func init() { @@ -96075,7 +96527,7 @@ func _statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statPushFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(2) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11752, + FzName: __ccgo_ts + 11877, } func init() { @@ -96128,7 +96580,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { v1 = (*TStatAccum)(unsafe.Pointer(p)).FnRow } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11762, libc.VaList(bp+72, v1)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11887, libc.VaList(bp+72, v1)) i = 0 for { if !(i < (*TStatAccum)(unsafe.Pointer(p)).FnKeyCol) { @@ -96139,7 +96591,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if iVal == uint64(2) && (*TStatAccum)(unsafe.Pointer(p)).FnRow*uint64(10) <= nDistinct*uint64(11) { iVal = uint64(1) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11767, libc.VaList(bp+72, iVal)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11892, libc.VaList(bp+72, iVal)) _ = libc.Int32FromInt32(0) goto _2 _2: @@ -96180,7 +96632,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if !(i1 < (*TStatAccum)(unsafe.Pointer(p)).FnCol) { break } - Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11773, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) + Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11898, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) goto _3 _3: ; @@ -96198,7 +96650,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statGetFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(1) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11779, + FzName: __ccgo_ts + 11904, } func init() { @@ -96220,9 +96672,9 @@ func _callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, re // */ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { var aGotoChng, db, pColl, pIdx, pPk, pStat1, pX, v, zIdxName uintptr - var addrIsNull, addrNext, addrNextRow, addrRewind, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 + var addrGotoEnd, addrIsNull, addrNext, addrNextRow, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 var needTableCnt, seekOp Tu8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrIsNull, addrNext, addrNextRow, addrRewind, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrGotoEnd, addrIsNull, addrNext, addrNextRow, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Loop counter */ jZeroRows = -int32(1) /* Index of database containing pTab */ needTableCnt = uint8(1) @@ -96266,7 +96718,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Do not gather statistics on views or virtual tables */ return } - if Xsqlite3_strlike(tls, __ccgo_ts+11788, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, __ccgo_ts+11913, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { /* Do not gather statistics on system tables */ return } @@ -96283,7 +96735,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint return } (*TTable)(unsafe.Pointer(pStat1)).FzName = pStat1 + 1*104 - libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11591, uint64(13)) + libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11716, uint64(13)) (*TTable)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*TTable)(unsafe.Pointer(pStat1)).FiPKey = int16(-int32(1)) _sqlite3VdbeAddOp4(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Noop), 0, 0, 0, pStat1, -int32(6)) @@ -96337,9 +96789,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* ** Pseudo-code for loop that calls stat_push(): ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() ** goto chng_addr_0; ** ** next_row: @@ -96374,34 +96831,31 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _ = libc.Int32FromInt32(0) _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenRead), iIdxCur, int32((*TIndex)(unsafe.Pointer(pIdx)).Ftnum), iDb) _sqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - /* Invoke the stat_init() function. The arguments are: + /* Implementation of the following: ** + ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() + ** goto chng_addr_0; + */ + _ = libc.Int32FromInt32(0) + _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + /* Arguments to stat_init(): ** (1) the number of columns in the index including the rowid ** (or for a WITHOUT ROWID table, the number of PK columns), ** (2) the number of columns in the key without the rowid/pk - ** (3) estimated number of rows in the index, - */ + ** (3) estimated number of rows in the index. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), nCol, regStat+int32(1)) _ = libc.Int32FromInt32(0) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol), regRowid) - if (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0) { - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iIdxCur, regTemp) - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - } else { - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, int32(1)) - } - _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) != uint32(0))) _sqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat+int32(1), regStat, int32(4), uintptr(unsafe.Pointer(&_statInitFuncdef)), 0) - /* Implementation of the following: - ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; - ** regChng = 0 - ** goto next_push_0; - ** - */ + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regChng) addrNextRow = _sqlite3VdbeCurrentAddr(tls, v) if nColTest > 0 { @@ -96513,9 +96967,15 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), iIdxCur, addrNextRow) } /* Add the entry to the stat1 table. */ + if (*TIndex)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { + /* Partial indexes might get a zero-entry in sqlite_stat1. But + ** an empty table is omitted from sqlite_stat1. */ + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + addrGotoEnd = 0 + } _callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11798, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11923, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP4(tls, v, -int32(1), pStat1, -int32(5)) @@ -96534,6 +96994,11 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint v18 = int32(OP_NotFound) } seekOp = uint8(v18) + /* No STAT4 data is generated if the number of rows is zero */ + if addrGotoEnd == 0 { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Cast), regStat1, int32(SQLITE_AFF_INTEGER)) + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) + } if doOnce != 0 { mxCol = nCol /* Compute the maximum number of columns in any index */ @@ -96588,7 +97053,9 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeJumpHere(tls, v, addrIsNull) } /* End of analysis */ - _sqlite3VdbeJumpHere(tls, v, addrRewind) + if addrGotoEnd != 0 { + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + } goto _13 _13: ; @@ -96602,7 +97069,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint jZeroRows = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regIdxname) _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11798, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11923, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -96677,9 +97144,9 @@ func _analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr iStatCur = (*TParse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52)) += int32(3) if pOnlyIdx != 0 { - _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11802) + _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11927) } else { - _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11806) + _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11931) } _analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, (*TParse)(unsafe.Pointer(pParse)).FnMem+int32(1), (*TParse)(unsafe.Pointer(pParse)).FnTab) _loadAnalysis(tls, pParse, iDb) @@ -96810,7 +97277,7 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, _, _, _, _, _, _ = c, i, sz, v, z, v2 z = zIntArray if z == uintptr(0) { - z = __ccgo_ts + 1657 + z = __ccgo_ts + 1671 } i = 0 for { @@ -96845,17 +97312,17 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 6, 0x40) for *(*uint8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, __ccgo_ts+11810, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11935, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 2, 0x4) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11821, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11946, z) == 0 { sz = _sqlite3Atoi(tls, z+uintptr(3)) if sz < int32(2) { sz = int32(2) } (*TIndex)(unsafe.Pointer(pIndex)).FszIdxRow = _sqlite3LogEst(tls, uint64(sz)) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11831, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11956, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 6, 0x40) } } @@ -97239,11 +97706,11 @@ func _loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) (r int32) { rc = SQLITE_OK _ = libc.Int32FromInt32(0) if v2 = (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0); v2 { - v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11617, zDb) + v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11742, zDb) pStat4 = v1 } if v2 && v1 != uintptr(0) && int32((*TTable)(unsafe.Pointer(pStat4)).FeTabType) == TABTYP_NORM { - rc = _loadStatTbl(tls, db, __ccgo_ts+11843, __ccgo_ts+11912, zDb) + rc = _loadStatTbl(tls, db, __ccgo_ts+11968, __ccgo_ts+12037, zDb) } return rc } @@ -97312,10 +97779,10 @@ func _sqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) (r int32) { /* Load new statistics out of the sqlite_stat1 table */ (*(*TanalysisInfo)(unsafe.Pointer(bp))).Fdb = db (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName - v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11591, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) + v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11716, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) pStat1 = v3 if v3 != 0 && int32((*TTable)(unsafe.Pointer(pStat1)).FeTabType) == TABTYP_NORM { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+11964, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+12089, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -97429,7 +97896,7 @@ func _resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) (r int32) { // ** database iDb attached to handle db. // */ func _sqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) (r int32) { - return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6594, zName) == 0) + return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6658, zName) == 0) } // C documentation @@ -97471,21 +97938,21 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if zFile == uintptr(0) { - zFile = __ccgo_ts + 1657 + zFile = __ccgo_ts + 1671 } if zName == uintptr(0) { - zName = __ccgo_ts + 1657 + zName = __ccgo_ts + 1671 } if int32(uint32(*(*uint8)(unsafe.Pointer(db + 192 + 8))&0x4>>2)) != 0 { /* 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 + 40)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+3976) + *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+4040) if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { return } - rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12005, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) + rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12130, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) if rc == SQLITE_OK { pNewSchema = _sqlite3SchemaGet(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40))) if pNewSchema != 0 { @@ -97516,7 +97983,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { ** * Specified database name already being used. */ if (*Tsqlite3)(unsafe.Pointer(db)).FnDb >= *(*int32)(unsafe.Pointer(db + 136 + 7*4))+int32(2) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12008, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12133, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) goto attach_error } i = 0 @@ -97526,7 +97993,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } _ = libc.Int32FromInt32(0) if _sqlite3DbIsNamed(tls, db, i, zName) != 0 { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12045, libc.VaList(bp+56, zName)) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12170, libc.VaList(bp+56, zName)) goto attach_error } goto _1 @@ -97575,7 +98042,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FnoSharedCache = uint8(0) if rc == int32(SQLITE_CONSTRAINT) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12075, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12200, 0) } else { if rc == SQLITE_OK { (*TDb)(unsafe.Pointer(pNew)).FpSchema = _sqlite3SchemaGet(tls, db, (*TDb)(unsafe.Pointer(pNew)).FpBt) @@ -97583,7 +98050,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { rc = int32(SQLITE_NOMEM) } else { if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0 && int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12104, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12229, 0) rc = int32(SQLITE_ERROR) } } @@ -97629,10 +98096,10 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)<= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12200, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12325, libc.VaList(bp+136, zName)) goto detach_error } if i < int32(2) { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12221, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12346, libc.VaList(bp+136, zName)) goto detach_error } if _sqlite3BtreeTxnState(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != SQLITE_TXN_NONE || _sqlite3BtreeIsInBackup(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != 0 { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12247, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12372, libc.VaList(bp+136, zName)) goto detach_error } /* If any TEMP triggers reference the schema being detached, move those @@ -97800,7 +98267,7 @@ func _sqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { var _detach_func = TFuncDef{ FnArg: int8(1), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12269, + FzName: __ccgo_ts + 12394, } func init() { @@ -97822,7 +98289,7 @@ func _sqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, p var _attach_func = TFuncDef{ FnArg: int8(3), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12283, + FzName: __ccgo_ts + 12408, } func init() { @@ -97848,7 +98315,7 @@ func _fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) (r int32) { if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer((*TDbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit1.Fbusy != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } else { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12297, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12422, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) return int32(WRC_Abort) } } @@ -97882,7 +98349,7 @@ func _fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) (r int32) { if int32((*TDbFixer)(unsafe.Pointer(pFix)).FbTemp) == 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != _sqlite3FindDbName(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12321, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12446, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return int32(WRC_Abort) } _sqlite3DbFree(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) @@ -98099,7 +98566,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // ** user-supplied authorization function returned an illegal value. // */ func _sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12367, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12492, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) } @@ -98127,11 +98594,11 @@ func _sqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, int32(SQLITE_READ), zTab, zCol, zDb, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12390, libc.VaList(bp+8, zTab, zCol)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12515, libc.VaList(bp+8, zTab, zCol)) if (*Tsqlite3)(unsafe.Pointer(db)).FnDb > int32(2) || iDb != 0 { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12396, libc.VaList(bp+8, zDb, z)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12521, libc.VaList(bp+8, zDb, z)) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12402, libc.VaList(bp+8, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12527, libc.VaList(bp+8, z)) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != int32(SQLITE_IGNORE) && rc != SQLITE_OK { @@ -98197,7 +98664,7 @@ func _sqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint _ = libc.Int32FromInt32(0) zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName } else { - zCol = __ccgo_ts + 7914 + zCol = __ccgo_ts + 8039 } } _ = libc.Int32FromInt32(0) @@ -98234,7 +98701,7 @@ func _sqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, ** parameters can be either NULL or a string. */ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12429, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12554, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != SQLITE_OK && rc != int32(SQLITE_IGNORE) { @@ -98669,21 +99136,21 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { /* No match against the official names. But always match "main" ** to schema 0 as a legacy fallback. */ - if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6594) == 0 { + if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6658) == 0 { i = 0 } else { return uintptr(0) } } p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, zName) - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6534, int32(7)) == 0 { + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6598, int32(7)) == 0 { if i == int32(1) { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6561+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6580+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6075+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6542) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6625+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6644+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6139+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6606) } } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6580+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6075) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6644+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6139) } } } @@ -98714,12 +99181,12 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp ; i++ } - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6534, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6580+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6075) + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6598, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6644+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6139) } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6561+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6542) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6625+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6606) } } } @@ -98757,7 +99224,7 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt ** can be an eponymous virtual table. */ if int32((*TParse)(unsafe.Pointer(pParse)).FprepFlags)&int32(SQLITE_PREPARE_NO_VTAB) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 { pMod = _sqlite3HashFind(tls, db+576, zName) - if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12444, int32(7)) == 0 { + if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12569, int32(7)) == 0 { pMod = _sqlite3PragmaVtabRegister(tls, db, zName) } if pMod != 0 && _sqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0 { @@ -98775,15 +99242,15 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt } if p == uintptr(0) { if flags&uint32(LOCATE_VIEW) != 0 { - v1 = __ccgo_ts + 12452 + v1 = __ccgo_ts + 12577 } else { - v1 = __ccgo_ts + 12465 + v1 = __ccgo_ts + 12590 } zMsg = v1 if zDbase != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6798, libc.VaList(bp+8, zMsg, zDbase, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6862, libc.VaList(bp+8, zMsg, zDbase, zName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6808, libc.VaList(bp+8, zMsg, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6933, libc.VaList(bp+8, zMsg, zName)) } } else { _ = libc.Int32FromInt32(0) @@ -98823,12 +99290,12 @@ func _sqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags Tu32, p uintpt // ** names into the new preferred names, as appropriate. // */ func _sqlite3PreferredTableName(tls *libc.TLS, zName uintptr) (r uintptr) { - if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6534, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6075+7) == 0 { - return __ccgo_ts + 6580 + if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6598, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6139+7) == 0 { + return __ccgo_ts + 6644 } - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6542+7) == 0 { - return __ccgo_ts + 6561 + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6606+7) == 0 { + return __ccgo_ts + 6625 } } return zName @@ -99374,7 +99841,7 @@ func _sqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { var v uintptr _ = v v = _sqlite3GetVdbe(tls, p) - _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6075) + _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6139) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_OpenWrite), 0, int32(SCHEMA_ROOT), iDb, int32(5)) if (*TParse)(unsafe.Pointer(p)).FnTab == 0 { (*TParse)(unsafe.Pointer(p)).FnTab = int32(1) @@ -99406,7 +99873,7 @@ func _sqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) { } /* "main" is always an acceptable alias for the primary database ** even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. */ - if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6594, zName) { + if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6658, zName) { break } goto _1 @@ -99465,13 +99932,13 @@ func _sqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u _ = libc.Int32FromInt32(0) if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12479, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12604, 0) return -int32(1) } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = _sqlite3FindDb(tls, db, pName1) if iDb < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12496, libc.VaList(bp+8, pName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12621, libc.VaList(bp+8, pName1)) return -int32(1) } } else { @@ -99516,12 +99983,12 @@ func _sqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit))) != 0 || Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 1*8))) != 0 || Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 2*8))) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1657, 0) /* corruptSchema() will supply the error */ + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1671, 0) /* corruptSchema() will supply the error */ return int32(SQLITE_ERROR) } } else { - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6534, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12516, libc.VaList(bp+8, zName)) + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6598, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12641, libc.VaList(bp+8, zName)) return int32(SQLITE_ERROR) } } @@ -99737,9 +100204,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui /* Special case: Parsing the sqlite_schema or sqlite_temp_schema schema */ iDb = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6542 + v1 = __ccgo_ts + 6606 } else { - v1 = __ccgo_ts + 6075 + v1 = __ccgo_ts + 6139 } zName = _sqlite3DbStrDup(tls, db, v1) *(*uintptr)(unsafe.Pointer(bp)) = pName1 @@ -99752,7 +100219,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 && (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) && iDb != int32(1) { /* If creating a temp table, the name may not be qualified. Unless ** the database name is "temp" anyway. */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12558, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12683, 0) return } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 { @@ -99768,9 +100235,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui return } if isView != 0 { - v2 = __ccgo_ts + 10805 + v2 = __ccgo_ts + 10930 } else { - v2 = __ccgo_ts + 9067 + v2 = __ccgo_ts + 9192 } if _sqlite3CheckObjectName(tls, pParse, zName, v2, zName) != 0 { goto begin_table_error @@ -99782,9 +100249,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui _ = libc.Int32FromInt32(0) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp == int32(1) { - v3 = __ccgo_ts + 6542 + v3 = __ccgo_ts + 6606 } else { - v3 = __ccgo_ts + 6075 + v3 = __ccgo_ts + 6139 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto begin_table_error @@ -99808,11 +100275,11 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if pTable != 0 { if !(noErr != 0) { if int32((*TTable)(unsafe.Pointer(pTable)).FeTabType) == int32(TABTYP_VIEW) { - v4 = __ccgo_ts + 10805 + v4 = __ccgo_ts + 10930 } else { - v4 = __ccgo_ts + 9067 + v4 = __ccgo_ts + 9192 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12599, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12724, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -99821,7 +100288,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui goto begin_table_error } if _sqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12620, libc.VaList(bp+16, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12745, libc.VaList(bp+16, zName)) goto begin_table_error } } @@ -99977,7 +100444,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { _, _, _ = db, pHash, pRet db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TParse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12655, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12780, 0) } else { _ = libc.Int32FromInt32(0) } @@ -99994,7 +100461,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12689, libc.VaList(bp+8, pParse)) + Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12814, libc.VaList(bp+8, pParse)) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.FzName = pRet + 196 (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Fop = uint8(TK_RETURNING) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = uint8(TRIGGER_AFTER) @@ -100042,7 +100509,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok return } if int32((*TTable)(unsafe.Pointer(p)).FnCol)+int32(1) > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12709, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12834, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) return } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -100052,12 +100519,12 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok ** by the parser, we can sometimes end up with a typename that ends ** with "generated always". Check for this case and omit the surplus ** text. */ - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12732, int32(6)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12857, int32(6)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(6) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- } - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12739, int32(9)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12864, int32(9)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(9) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- @@ -100106,7 +100573,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok break } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FhName) == int32(hName) && _sqlite3StrICmp(tls, z, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FzCnName) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12749, libc.VaList(bp+40, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12874, libc.VaList(bp+40, z)) _sqlite3DbFree(tls, db, z) return } @@ -100316,10 +100783,10 @@ func _sqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar isInit = libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) != int32(1)) pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(p)).FnCol)-int32(1))*16 if !(_sqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12775, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12900, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12820, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12945, 0) } else { libc.Xmemset(tls, bp, 0, uint64(72)) (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_SPAN) @@ -100377,7 +100844,7 @@ func _makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { p1 = pCol + 14 *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(COLFLAG_PRIMKEY)) if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12861, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12986, 0) } } @@ -100414,7 +100881,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError goto primary_key_exit } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasPrimaryKey) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12913, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13038, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit } *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_HasPrimaryKey) @@ -100473,7 +100940,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError _sqlite3HasExplicitNulls(tls, pParse, pList) } else { if autoInc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12954, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13079, 0) } else { _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), uintptr(0), sortOrder, 0, uint8(SQLITE_IDXTYPE_PRIMARYKEY)) pList = uintptr(0) @@ -100590,17 +101057,17 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui } pCol = (*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-int32(1))*16 if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) == int32(PARSE_MODE_DECLARE_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13010, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13135, 0) goto generated_done } if int32((*TColumn)(unsafe.Pointer(pCol)).FiDflt) > 0 { goto generated_error } if pType != 0 { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13053, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13178, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { /* no-op */ } else { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13061, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13186, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { eType = uint8(COLFLAG_STORED) } else { goto generated_error @@ -100634,7 +101101,7 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui goto generated_error generated_error: ; - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13068, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13193, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) goto generated_done generated_done: ; @@ -100798,13 +101265,13 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { } n += _identLength(tls, (*TTable)(unsafe.Pointer(p)).FzName) if n < int32(50) { - zSep = __ccgo_ts + 1657 - zSep2 = __ccgo_ts + 13099 - zEnd = __ccgo_ts + 5115 + zSep = __ccgo_ts + 1671 + zSep2 = __ccgo_ts + 13224 + zEnd = __ccgo_ts + 5179 } else { - zSep = __ccgo_ts + 13101 - zSep2 = __ccgo_ts + 13105 - zEnd = __ccgo_ts + 13110 + zSep = __ccgo_ts + 13226 + zSep2 = __ccgo_ts + 13230 + zEnd = __ccgo_ts + 13235 } n += int32(35) + int32(6)*int32((*TTable)(unsafe.Pointer(p)).FnCol) zStmt = _sqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -100812,7 +101279,7 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { _sqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13113, 0) + Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13238, 0) *(*int32)(unsafe.Pointer(bp)) = _sqlite3Strlen30(tls, zStmt) _identPut(tls, zStmt, bp, (*TTable)(unsafe.Pointer(p)).FzName) v2 = *(*int32)(unsafe.Pointer(bp)) @@ -100842,17 +101309,17 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { i++ pCol += 16 } - Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3804, libc.VaList(bp+16, zEnd)) + Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3868, libc.VaList(bp+16, zEnd)) return zStmt } var _azType1 = [6]uintptr{ - 0: __ccgo_ts + 1657, - 1: __ccgo_ts + 13127, - 2: __ccgo_ts + 13133, - 3: __ccgo_ts + 13138, - 4: __ccgo_ts + 13143, - 5: __ccgo_ts + 13133, + 0: __ccgo_ts + 1671, + 1: __ccgo_ts + 13252, + 2: __ccgo_ts + 13258, + 3: __ccgo_ts + 13263, + 4: __ccgo_ts + 13268, + 5: __ccgo_ts + 13258, } // C documentation @@ -101451,13 +101918,13 @@ func _sqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts Tu32, pSelect uintptr) { bp := tls.Alloc(112) defer tls.Free(112) - var addrInsLoop, addrTop, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v4, v6, v8 int32 + var addrInsLoop, addrTop, iCsr, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v10, v4, v6, v8 int32 var colFlags Tu32 - var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v5, v7, v9 uintptr - var v10 Ti16 + var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v13, v5, v7, v9 uintptr + var v12 Ti16 var _ /* dest at bp+0 */ TSelectDest - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v4, v5, v6, v7, v8, v9 /* The new table */ - db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iCsr, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v12, v13, v4, v5, v6, v7, v8, v9 /* The new table */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ if pEnd == uintptr(0) && pSelect == uintptr(0) { return } @@ -101479,7 +101946,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if pSelect != 0 || !(int32((*TTable)(unsafe.Pointer(p)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) && (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1657, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1671, 0) return } (*TTable)(unsafe.Pointer(p)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum @@ -101506,9 +101973,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(ii)*16 if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf0>>4)) == COLTYPE_CUSTOM { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_HASTYPE) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13149, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1657))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13274, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1671))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13182, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13307, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } return } else { @@ -101531,11 +101998,11 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* Special processing for WITHOUT ROWID Tables */ if tabOpts&uint32(TF_WithoutRowid) != 0 { if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13209, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13334, 0) return } if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasPrimaryKey) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13259, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13384, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) return } *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) @@ -101582,7 +102049,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ii1++ } if nNG == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13291, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13416, 0) return } } @@ -101616,12 +102083,12 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if int32((*TTable)(unsafe.Pointer(p)).FeTabType) == TABTYP_NORM { /* A regular table */ - zType = __ccgo_ts + 9067 - zType2 = __ccgo_ts + 13335 + zType = __ccgo_ts + 9192 + zType2 = __ccgo_ts + 13460 } else { /* A view */ - zType = __ccgo_ts + 10805 - zType2 = __ccgo_ts + 13341 + zType = __ccgo_ts + 10930 + zType2 = __ccgo_ts + 13466 } /* If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT ** statement to populate the new table. The root-page number for the @@ -101636,29 +102103,31 @@ func _sqlite3EndTable(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 { /* A table that describes the SELECT results */ + if pSelect != 0 { /* Write cursor on the new table */ if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) (*TParse)(unsafe.Pointer(pParse)).FnErr++ return } - v5 = pParse + 56 - *(*int32)(unsafe.Pointer(v5))++ + v5 = pParse + 52 v4 = *(*int32)(unsafe.Pointer(v5)) - regYield = v4 + *(*int32)(unsafe.Pointer(v5))++ + iCsr = v4 v7 = pParse + 56 *(*int32)(unsafe.Pointer(v7))++ v6 = *(*int32)(unsafe.Pointer(v7)) - regRec = v6 + regYield = v6 v9 = pParse + 56 *(*int32)(unsafe.Pointer(v9))++ v8 = *(*int32)(unsafe.Pointer(v9)) - regRowid = v8 - _ = libc.Int32FromInt32(0) + regRec = v8 + v11 = pParse + 56 + *(*int32)(unsafe.Pointer(v11))++ + v10 = *(*int32)(unsafe.Pointer(v11)) + regRowid = v10 _sqlite3MayAbort(tls, pParse) - _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), int32(1), (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) + _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), iCsr, (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_P2ISREG)) - (*TParse)(unsafe.Pointer(pParse)).FnTab = int32(2) addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -101669,9 +102138,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr return } _ = libc.Int32FromInt32(0) - v10 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol - (*TTable)(unsafe.Pointer(p)).FnNVCol = v10 - (*TTable)(unsafe.Pointer(p)).FnCol = v10 + v12 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol + (*TTable)(unsafe.Pointer(p)).FnNVCol = v12 + (*TTable)(unsafe.Pointer(p)).FnCol = v12 (*TTable)(unsafe.Pointer(p)).FaCol = (*TTable)(unsafe.Pointer(pSelTab)).FaCol (*TTable)(unsafe.Pointer(pSelTab)).FnCol = 0 (*TTable)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) @@ -101686,33 +102155,33 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr addrInsLoop = _sqlite3VdbeAddOp1(tls, v, int32(OP_Yield), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSDParm) _sqlite3VdbeAddOp3(tls, v, int32(OP_MakeRecord), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst, (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst, regRec) _sqlite3TableAffinity(tls, v, p, 0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), int32(1), regRowid) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), int32(1), regRec, regRowid) + _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iCsr, regRowid) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iCsr, regRec, regRowid) _sqlite3VdbeGoto(tls, v, addrInsLoop) _sqlite3VdbeJumpHere(tls, v, addrInsLoop) - _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), int32(1)) + _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), iCsr) } /* Compute the complete text of the CREATE statement */ if pSelect != 0 { zStmt = _createTableStmt(tls, db, p) } else { if tabOpts != 0 { - v11 = pParse + 288 + v13 = pParse + 288 } else { - v11 = pEnd + v13 = pEnd } - pEnd2 = v11 + pEnd2 = v13 n = int32(int64((*TToken)(unsafe.Pointer(pEnd2)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) if int32(*(*uint8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pEnd2)).Fz))) != int32(';') { n = int32(uint32(n) + (*TToken)(unsafe.Pointer(pEnd2)).Fn) } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13346, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13471, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13361, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13486, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) _sqlite3DbFree(tls, db, zStmt) _sqlite3ChangeCookie(tls, pParse, iDb) /* Check to see if we need to create an sqlite_sequence table for @@ -101722,17 +102191,16 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 _ = libc.Int32FromInt32(0) if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13459, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13584, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) } } /* Reparse everything to update our internal data structures */ - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13501, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13626, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) /* Test for cycles in generated columns and illegal expressions ** in CHECK constraints and in DEFAULT clauses. */ if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasGenerated) != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13535, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(0x0001), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13660, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13556, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } /* Add the table to the in-memory representation of the database. */ @@ -101752,7 +102220,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ** then record a pointer to this table in the main database structure ** so that INSERT can find the table easily. */ _ = libc.Int32FromInt32(0) - if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9589) == 0 { + if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9714) == 0 { _ = libc.Int32FromInt32(0) (*TSchema)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -101787,7 +102255,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*uintptr)(unsafe.Pointer(bp + 112)) = uintptr(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if int32((*TParse)(unsafe.Pointer(pParse)).FnVar) > 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13588, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13681, 0) goto create_view_fail } _sqlite3StartTable(tls, pParse, pName1, pName2, isTemp, int32(1), 0, noErr) @@ -101804,7 +102272,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(TF_NoVisibleRowid) /* Never allow rowid in view */ _sqlite3TwoPartName(tls, pParse, pName1, pName2, bp+112) iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(p)).FpSchema) - _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10805, *(*uintptr)(unsafe.Pointer(bp + 112))) + _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10930, *(*uintptr)(unsafe.Pointer(bp + 112))) if _sqlite3FixSelect(tls, bp+16, pSelect) != 0 { goto create_view_fail } @@ -101904,7 +102372,7 @@ func _viewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) (r int32 ** SELECT * FROM temp.ex1; */ if int32((*TTable)(unsafe.Pointer(pTable)).FnCol) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13624, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13717, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) return int32(1) } _ = libc.Int32FromInt32(0) @@ -102096,7 +102564,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { v = _sqlite3GetVdbe(tls, pParse) r1 = _sqlite3GetTempReg(tls, pParse) if iTable < int32(2) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13654, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13747, 0) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Destroy), iTable, r1, iDb) _sqlite3MayAbort(tls, pParse) @@ -102109,7 +102577,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { ** is in register NNN. See grammar rules associated with the TK_REGISTER ** token for additional information. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13669, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13762, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) _sqlite3ReleaseTempReg(tls, pParse, r1) } @@ -102194,9 +102662,9 @@ func _sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uin if !(i <= int32(4)) { break } - Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13736, libc.VaList(bp+32, i)) + Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13829, libc.VaList(bp+32, i)) if _sqlite3FindTable(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, bp, zDbName) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11694, libc.VaList(bp+32, zDbName, bp, zType, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11819, libc.VaList(bp+32, zDbName, bp, zType, zName)) } goto _1 _1: @@ -102239,7 +102707,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** move as a result of the drop (can happen in auto-vacuum mode). */ if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13750, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13843, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* Drop all entries in the schema table that refer to the ** table. The program name loops through the schema table and deletes @@ -102248,7 +102716,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** created in the temp database that refers to a table in another ** database. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13795, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13888, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { _destroyTable(tls, pParse, pTab) } @@ -102283,11 +102751,11 @@ func _sqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) (r int32) { // ** Return true if it is not allowed to drop the given table // */ func _tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) (r int32) { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6534, int32(7)) == 0 { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3427, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6598, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3491, int32(4)) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7275, int32(10)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7400, int32(10)) == 0 { return 0 } return int32(1) @@ -102346,9 +102814,9 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6542 + v1 = __ccgo_ts + 6606 } else { - v1 = __ccgo_ts + 6075 + v1 = __ccgo_ts + 6139 } zTab = v1 zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName @@ -102381,18 +102849,18 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if _tableMayNotBeDropped(tls, db, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13862, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13955, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Ensure DROP TABLE is not used on a view, and DROP VIEW is not used ** on a table. */ if isView != 0 && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13890, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13983, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } if !(isView != 0) && int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13924, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14017, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Generate code to remove the table from the schema table @@ -102402,7 +102870,7 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) if !(isView != 0) { - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11806, (*TTable)(unsafe.Pointer(pTab)).FzName) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11931, (*TTable)(unsafe.Pointer(pTab)).FzName) _sqlite3FkDropTable(tls, pParse, pName, pTab) } _sqlite3CodeDropTable(tls, pParse, pTab, iDb, isView) @@ -102451,13 +102919,13 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p goto fk_end } if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13956, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14049, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) goto fk_end } nCol = int32(1) } else { if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14019, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14112, 0) goto fk_end } else { nCol = (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr @@ -102521,7 +102989,7 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p j++ } if j >= int32((*TTable)(unsafe.Pointer(p)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14113, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14206, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) goto fk_end } if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { @@ -102785,11 +103253,11 @@ func _sqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) (r i if int32(uint32(*(*uint16)(unsafe.Pointer(pList + 8 + uintptr(i)*32 + 16 + 4))&0x20>>5)) != 0 { sf = (*(*TExprList_item)(unsafe.Pointer(pList + 8 + uintptr(i)*32))).Ffg.FsortFlags if int32(sf) == 0 || int32(sf) == int32(3) { - v2 = __ccgo_ts + 14159 + v2 = __ccgo_ts + 14252 } else { - v2 = __ccgo_ts + 14165 + v2 = __ccgo_ts + 14258 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14170, libc.VaList(bp+8, v2)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14263, libc.VaList(bp+8, v2)) return int32(1) } goto _1 @@ -102871,7 +103339,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = int32(1) } } - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14198, *(*uintptr)(unsafe.Pointer(bp + 96))) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14291, *(*uintptr)(unsafe.Pointer(bp + 96))) if _sqlite3FixSrcList(tls, bp, pTblName) != 0 { /* Because the parser constructs pTblName from a single identifier, ** sqlite3FixSrcList can never fail. */ @@ -102883,7 +103351,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } if iDb == int32(1) && (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema != (*TTable)(unsafe.Pointer(pTab)).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14204, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14297, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if !((*TTable)(unsafe.Pointer(pTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { @@ -102900,16 +103368,16 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 _ = libc.Int32FromInt32(0) - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6534, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14254, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6598, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14347, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14282, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14375, 0) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14307, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14400, 0) goto exit_create_index } /* @@ -102931,19 +103399,19 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } _ = libc.Int32FromInt32(0) - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14198, (*TTable)(unsafe.Pointer(pTab)).FzName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14291, (*TTable)(unsafe.Pointer(pTab)).FzName) { goto exit_create_index } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if !((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0) { if _sqlite3FindTable(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14341, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14434, libc.VaList(bp+136, zName)) goto exit_create_index } } if _sqlite3FindIndex(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { if !(ifNotExist != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14375, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14468, libc.VaList(bp+136, zName)) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -102965,7 +103433,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pLoop = (*TIndex)(unsafe.Pointer(pLoop)).FpNext n++ } - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14399, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14492, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) if zName == uintptr(0) { goto exit_create_index } @@ -102983,9 +103451,9 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { zDb = (*TDb)(unsafe.Pointer(pDb)).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6542 + v2 = __ccgo_ts + 6606 } else { - v2 = __ccgo_ts + 6075 + v2 = __ccgo_ts + 6139 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v2, uintptr(0), zDb) != 0 { goto exit_create_index @@ -103014,7 +103482,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u _ = libc.Int32FromInt32(0) _sqlite3ExprListSetSortOrder(tls, pList, sortOrder, -int32(1)) } else { - _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14198) + _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14291) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { goto exit_create_index } @@ -103104,7 +103572,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pCExpr = _sqlite3ExprSkipCollate(tls, (*TExprList_item)(unsafe.Pointer(pListItem)).FpExpr) if int32((*TExpr)(unsafe.Pointer(pCExpr)).Fop) != int32(TK_COLUMN) { if pTab == (*TParse)(unsafe.Pointer(pParse)).FpNewTable { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14422, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14515, 0) goto exit_create_index } if (*TIndex)(unsafe.Pointer(pIndex)).FaColExpr == uintptr(0) { @@ -103261,7 +103729,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u ** explicitly specified behavior for the index. */ if !(int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) || int32((*TIndex)(unsafe.Pointer(pIndex)).FonError) == int32(OE_Default)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14483, libc.VaList(bp+136, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14576, libc.VaList(bp+136, 0)) } if int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) { (*TIndex)(unsafe.Pointer(pIdx)).FonError = (*TIndex)(unsafe.Pointer(pIndex)).FonError @@ -103294,8 +103762,8 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != uintptr(0) { (*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14525, 0) - (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125123)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14618, 0) + (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125741)) goto exit_create_index } } @@ -103336,11 +103804,11 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* A named index with an explicit CREATE INDEX statement */ if onError == OE_None { - v13 = __ccgo_ts + 1657 + v13 = __ccgo_ts + 1671 } else { - v13 = __ccgo_ts + 14542 + v13 = __ccgo_ts + 14635 } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14550, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14643, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) } else { /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ /* zStmt = sqlite3MPrintf(""); */ @@ -103348,7 +103816,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* Add an entry in sqlite_schema for this index */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14570, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14663, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) _sqlite3DbFree(tls, db, zStmt) /* Fill the index with data and reparse the schema. Code an OP_Expire ** to invalidate all pre-compiled statements. @@ -103356,7 +103824,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != 0 { _sqlite3RefillIndex(tls, pParse, pIndex, iMem) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14629, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14722, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Expire), 0, int32(1)) } _sqlite3VdbeJumpHere(tls, v, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum)) @@ -103526,7 +103994,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pIndex = _sqlite3FindIndex(tls, db, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzName, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) if pIndex == uintptr(0) { if !(ifExists != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14656, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14749, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) _sqlite3ForceNotReadOnly(tls, pParse) @@ -103535,7 +104003,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in goto exit_drop_index } if int32(uint32(*(*uint16)(unsafe.Pointer(pIndex + 100))&0x3>>0)) != SQLITE_IDXTYPE_APPDEF { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14674, libc.VaList(bp+8, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14767, libc.VaList(bp+8, 0)) goto exit_drop_index } iDb = _sqlite3SchemaToIndex(tls, db, (*TIndex)(unsafe.Pointer(pIndex)).FpSchema) @@ -103543,9 +104011,9 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pTab = (*TIndex)(unsafe.Pointer(pIndex)).FpTable zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6542 + v1 = __ccgo_ts + 6606 } else { - v1 = __ccgo_ts + 6075 + v1 = __ccgo_ts + 6139 } zTab = v1 if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_DELETE), zTab, uintptr(0), zDb) != 0 { @@ -103561,8 +104029,8 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in v = _sqlite3GetVdbe(tls, pParse) if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14747, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11802, (*TIndex)(unsafe.Pointer(pIndex)).FzName) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14840, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11927, (*TIndex)(unsafe.Pointer(pIndex)).FzName) _sqlite3ChangeCookie(tls, pParse, iDb) _destroyRootPage(tls, pParse, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum), iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropIndex), iDb, 0, 0, (*TIndex)(unsafe.Pointer(pIndex)).FzName, 0) @@ -103759,7 +104227,7 @@ func _sqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra nAlloc = int64(2)*int64((*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) + int64(nExtra) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc+nExtra >= int32(SQLITE_MAX_SRCLIST) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14807, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14900, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) return uintptr(0) } if nAlloc > int64(SQLITE_MAX_SRCLIST) { @@ -103996,11 +104464,11 @@ func _sqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa db = (*TParse)(unsafe.Pointer(pParse)).Fdb if !(p != 0) && pOnUsing != uintptr(0) && ((*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 || (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpUsing != 0) { if (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 { - v1 = __ccgo_ts + 14843 + v1 = __ccgo_ts + 14936 } else { - v1 = __ccgo_ts + 14846 + v1 = __ccgo_ts + 14939 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14852, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14945, libc.VaList(bp+8, v1)) goto append_from_error } p = _sqlite3SrcListAppend(tls, pParse, p, pTable, pDatabase) @@ -104217,7 +104685,7 @@ func _sqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { _ = libc.Int32FromInt32(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb _ = libc.Int32FromInt32(0) - if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14888, uintptr(0), uintptr(0)) != 0 { + if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14981, uintptr(0), uintptr(0)) != 0 { return } v = _sqlite3GetVdbe(tls, pParse) @@ -104267,9 +104735,9 @@ func _sqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { _ = libc.Int32FromInt32(0) isRollback = libc.BoolInt32(eType == int32(TK_ROLLBACK)) if isRollback != 0 { - v1 = __ccgo_ts + 14894 + v1 = __ccgo_ts + 14987 } else { - v1 = __ccgo_ts + 14903 + v1 = __ccgo_ts + 14996 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), v1, uintptr(0), uintptr(0)) != 0 { return @@ -104302,9 +104770,9 @@ func _sqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } var _az = [3]uintptr{ - 0: __ccgo_ts + 14888, - 1: __ccgo_ts + 14910, - 2: __ccgo_ts + 14894, + 0: __ccgo_ts + 14981, + 1: __ccgo_ts + 15003, + 2: __ccgo_ts + 14987, } // C documentation @@ -104324,7 +104792,7 @@ func _sqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) (r int32) { if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt == uintptr(0) && !((*TParse)(unsafe.Pointer(pParse)).Fexplain != 0) { rc = _sqlite3BtreeOpen(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp, 0, _flags) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14918, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15011, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = rc return int32(1) } @@ -104515,7 +104983,7 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable _sqlite3StrAccumInit(tls, bp, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136))) if (*TIndex)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+14988, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15081, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) } else { j = 0 for { @@ -104525,10 +104993,10 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx _ = libc.Int32FromInt32(0) zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*16))).FzCnName if j != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+14999, int32(2)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+15092, int32(2)) } Xsqlite3_str_appendall(tls, bp, (*TTable)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp, __ccgo_ts+1670, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+1684, int32(1)) Xsqlite3_str_appendall(tls, bp, zCol) goto _1 _1: @@ -104557,10 +105025,10 @@ func _sqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr _, _ = rc, zMsg if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12390, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12515, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(6)< libc.BoolInt32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15118, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15211, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } return 0 } @@ -105689,11 +106157,11 @@ func _sqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger ui bp := tls.Alloc(16) defer tls.Free(16) if _tabIsReadOnly(tls, pParse, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15151, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15244, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && (pTrigger == uintptr(0) || (*TTrigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 && (*TTrigger)(unsafe.Pointer(pTrigger)).FpNext == uintptr(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15180, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15273, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -106118,7 +106586,7 @@ func _sqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** invoke the callback function. */ if memCnt != 0 { - _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15218) + _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15311) } goto delete_from_cleanup delete_from_cleanup: @@ -106267,7 +106735,7 @@ func _sqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri v3 = 0 } _sqlite3VdbeAddOp2(tls, v, int32(OP_Delete), iDataCur, v3) - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11591) { + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11716) { _sqlite3VdbeAppendP4(tls, v, pTab, -int32(5)) } if int32(eMode) != ONEPASS_OFF { @@ -106585,11 +107053,11 @@ func _typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } var _azType2 = [5]uintptr{ - 0: __ccgo_ts + 6315, - 1: __ccgo_ts + 6310, - 2: __ccgo_ts + 8206, - 3: __ccgo_ts + 8201, - 4: __ccgo_ts + 1643, + 0: __ccgo_ts + 6379, + 1: __ccgo_ts + 6374, + 2: __ccgo_ts + 8331, + 3: __ccgo_ts + 8326, + 4: __ccgo_ts + 1657, } // C documentation @@ -106706,7 +107174,7 @@ func _absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* IMP: R-31676-45509 If X is the integer -9223372036854775808 ** then abs(X) throws an integer overflow error since there is no ** equivalent positive 64-bit two complement value. */ - Xsqlite3_result_error(tls, context, __ccgo_ts+15231, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15324, -int32(1)) return } iVal = -iVal @@ -107025,7 +107493,7 @@ func _roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } *(*float64)(unsafe.Pointer(bp)) = float64(int64(*(*float64)(unsafe.Pointer(bp)) + v1)) } else { - zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15248, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) + zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15341, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -107609,7 +108077,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { */ nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer(db + 136 + 8*4)) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15254, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15347, -int32(1)) return } if argc == int32(3) { @@ -107621,7 +108089,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { return } if _sqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), -int32(1)) != int32(1) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15287, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15380, -int32(1)) return } escape = _sqlite3Utf8Read(tls, bp+8) @@ -107703,7 +108171,7 @@ func _errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { defer tls.Free(16) _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // C documentation @@ -107793,17 +108261,17 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_FLOAT): r1 = Xsqlite3_value_double(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15332, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15425, libc.VaList(bp+16, r1)) zVal = Xsqlite3_str_value(tls, pStr) if zVal != 0 { _sqlite3AtoF(tls, zVal, bp, int32((*TStrAccum)(unsafe.Pointer(pStr)).FnChar), uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp)) { Xsqlite3_str_reset(tls, pStr) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15340, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15433, libc.VaList(bp+16, r1)) } } case int32(SQLITE_INTEGER): - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1413, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1432, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) case int32(SQLITE_BLOB): zBlob = Xsqlite3_value_blob(tls, pValue) nBlob = int64(Xsqlite3_value_bytes(tls, pValue)) @@ -107831,10 +108299,10 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { } case int32(SQLITE_TEXT): zArg = Xsqlite3_value_text(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15348, libc.VaList(bp+16, zArg)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15441, libc.VaList(bp+16, zArg)) default: _ = libc.Int32FromInt32(0) - Xsqlite3_str_append(tls, pStr, __ccgo_ts+1658, int32(4)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+1672, int32(4)) break } } @@ -108073,7 +108541,7 @@ func _unhexFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { var v3 uint32 var _ /* zHex at bp+0 */ uintptr _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ch, d, nHex, nPass, p, pBlob, zPass, v1, v2, v3, v4, v5, v6 - zPass = __ccgo_ts + 1657 + zPass = __ccgo_ts + 1671 nPass = 0 *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) nHex = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -108399,7 +108867,7 @@ var _lenOne = [1]uint32{ } var _azOne = [1]uintptr{ - 0: __ccgo_ts + 11211, + 0: __ccgo_ts + 11336, } // C documentation @@ -108468,7 +108936,7 @@ func _concatFuncCore(tls *libc.TLS, context uintptr, argc int32, argv uintptr, n // ** concatentation of all non-null arguments. // */ func _concatFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1657) + _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1671) } // C documentation @@ -108515,7 +108983,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { _ = libc.Int32FromInt32(0) zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = __ccgo_ts + 1657 + zIn = __ccgo_ts + 1671 } i = 0 for { @@ -108561,7 +109029,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { /* IMP: R-64894-50321 The string "?000" is returned if the argument ** is NULL or contains no ASCII alphabetic characters. */ - Xsqlite3_result_text(tls, context, __ccgo_ts+15351, int32(4), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, context, __ccgo_ts+15444, int32(4), libc.UintptrFromInt32(0)) } } @@ -108622,7 +109090,7 @@ func _loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { ** flag is set. See the sqlite3_enable_load_extension() API. */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_LoadExtFunc) == uint64(0) { - Xsqlite3_result_error(tls, context, __ccgo_ts+12429, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+12554, -int32(1)) return } if argc == int32(2) { @@ -108814,7 +109282,7 @@ func _sumFinalize(tls *libc.TLS, context uintptr) { if p != 0 && (*TSumCtx)(unsafe.Pointer(p)).Fcnt > 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fapprox != 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fovrfl != 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+15231, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15324, -int32(1)) } else { if !(_sqlite3IsOverflow(tls, (*TSumCtx)(unsafe.Pointer(p)).FrErr) != 0) { Xsqlite3_result_double(tls, context, (*TSumCtx)(unsafe.Pointer(p)).FrSum+(*TSumCtx)(unsafe.Pointer(p)).FrErr) @@ -109160,7 +109628,7 @@ func _groupConcatValue(tls *libc.TLS, context uintptr) { func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { var rc int32 _ = rc - rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15356, int32(2)) + rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15449, int32(2)) _ = libc.Int32FromInt32(0) if rc == int32(SQLITE_NOMEM) { _sqlite3OomFault(tls, db) @@ -109190,8 +109658,8 @@ func _sqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 if !(nArg <= int32(3)) { break } - _sqlite3CreateFunc(tls, db, __ccgo_ts+15362, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15362, nArg, uint8(SQLITE_UTF8), uint8(0)) + _sqlite3CreateFunc(tls, db, __ccgo_ts+15455, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15455, nArg, uint8(SQLITE_UTF8), uint8(0)) *(*Tu32)(unsafe.Pointer(pDef + 4)) |= uint32(flags) *(*Tu32)(unsafe.Pointer(pDef + 4)) &= uint32(^libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)) goto _1 @@ -109511,562 +109979,562 @@ var _aBuiltinFunc = [110]TFuncDef{ FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_implies_nonnull_row))), - FzName: __ccgo_ts + 15367, + FzName: __ccgo_ts + 15460, }, 1: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_compare))), - FzName: __ccgo_ts + 15387, + FzName: __ccgo_ts + 15480, }, 2: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_implies_expr))), - FzName: __ccgo_ts + 15400, + FzName: __ccgo_ts + 15493, }, 3: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_affinity))), - FzName: __ccgo_ts + 15418, + FzName: __ccgo_ts + 15511, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15427, + FzName: __ccgo_ts + 15520, }, 5: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15435, + FzName: __ccgo_ts + 15528, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15435, + FzName: __ccgo_ts + 15528, }, 7: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15450, + FzName: __ccgo_ts + 15543, }, 8: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15476, + FzName: __ccgo_ts + 15569, }, 9: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15501, + FzName: __ccgo_ts + 15594, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15510, + FzName: __ccgo_ts + 15603, }, 11: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15521, + FzName: __ccgo_ts + 15614, }, 12: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_sqlite_offset))), - FzName: __ccgo_ts + 15528, + FzName: __ccgo_ts + 15621, }, 13: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15542, + FzName: __ccgo_ts + 15635, }, 14: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15542, + FzName: __ccgo_ts + 15635, }, 15: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15548, + FzName: __ccgo_ts + 15641, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15548, + FzName: __ccgo_ts + 15641, }, 17: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 18: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 19: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15559, + FzName: __ccgo_ts + 15652, }, 20: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15559, + FzName: __ccgo_ts + 15652, }, 21: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15559, + FzName: __ccgo_ts + 15652, }, 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15563, + FzName: __ccgo_ts + 15656, }, 23: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15563, + FzName: __ccgo_ts + 15656, }, 24: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15563, + FzName: __ccgo_ts + 15656, }, 25: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15567, + FzName: __ccgo_ts + 15660, }, 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15574, + FzName: __ccgo_ts + 15667, }, 27: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_LENGTH)), - FzName: __ccgo_ts + 15582, + FzName: __ccgo_ts + 15675, }, 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_BYTELEN)), - FzName: __ccgo_ts + 15589, + FzName: __ccgo_ts + 15682, }, 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15602, + FzName: __ccgo_ts + 15695, }, 30: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15608, + FzName: __ccgo_ts + 15701, }, 31: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15615, + FzName: __ccgo_ts + 15708, }, 32: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15622, + FzName: __ccgo_ts + 15715, }, 33: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15630, + FzName: __ccgo_ts + 15723, }, 34: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15635, + FzName: __ccgo_ts + 15728, }, 35: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15639, + FzName: __ccgo_ts + 15732, }, 36: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15639, + FzName: __ccgo_ts + 15732, }, 37: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15645, + FzName: __ccgo_ts + 15738, }, 38: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15651, + FzName: __ccgo_ts + 15744, }, 39: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15657, + FzName: __ccgo_ts + 15750, }, 40: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15661, + FzName: __ccgo_ts + 15754, }, 41: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15661, + FzName: __ccgo_ts + 15754, }, 42: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15667, + FzName: __ccgo_ts + 15760, }, 43: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15667, + FzName: __ccgo_ts + 15760, }, 44: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15674, + FzName: __ccgo_ts + 15767, }, 45: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15674, + FzName: __ccgo_ts + 15767, }, 46: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15674, + FzName: __ccgo_ts + 15767, }, 47: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15684, + FzName: __ccgo_ts + 15777, }, 48: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15691, + FzName: __ccgo_ts + 15784, }, 49: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15698, + FzName: __ccgo_ts + 15791, }, 50: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15709, + FzName: __ccgo_ts + 15802, }, 51: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15716, + FzName: __ccgo_ts + 15809, }, 52: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15731, + FzName: __ccgo_ts + 15824, }, 53: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15748, + FzName: __ccgo_ts + 15841, }, 54: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15759, + FzName: __ccgo_ts + 15852, }, 55: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15765, + FzName: __ccgo_ts + 15858, }, 56: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15783, + FzName: __ccgo_ts + 15876, }, 57: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15791, + FzName: __ccgo_ts + 15884, }, 58: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15805, + FzName: __ccgo_ts + 15898, }, 59: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15813, + FzName: __ccgo_ts + 15906, }, 60: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15822, + FzName: __ccgo_ts + 15915, }, 61: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15822, + FzName: __ccgo_ts + 15915, }, 62: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15829, + FzName: __ccgo_ts + 15922, }, 63: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15829, + FzName: __ccgo_ts + 15922, }, 64: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15839, + FzName: __ccgo_ts + 15932, }, 65: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15843, + FzName: __ccgo_ts + 15936, }, 66: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15849, + FzName: __ccgo_ts + 15942, }, 67: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_COUNT) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15853, + FzName: __ccgo_ts + 15946, }, 68: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15853, + FzName: __ccgo_ts + 15946, }, 69: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15859, + FzName: __ccgo_ts + 15952, }, 70: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15859, + FzName: __ccgo_ts + 15952, }, 71: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15872, + FzName: __ccgo_ts + 15965, }, 72: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE) | libc.Int32FromInt32(SQLITE_FUNC_CASE)), FpUserData: uintptr(unsafe.Pointer(&_globInfo)), - FzName: __ccgo_ts + 15883, + FzName: __ccgo_ts + 15976, }, 73: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15362, + FzName: __ccgo_ts + 15455, }, 74: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15362, + FzName: __ccgo_ts + 15455, }, 75: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6739, + FzName: __ccgo_ts + 6803, }, 76: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6739, + FzName: __ccgo_ts + 6803, }, 77: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15888, + FzName: __ccgo_ts + 15981, }, 78: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15893, + FzName: __ccgo_ts + 1244, }, 79: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15901, + FzName: __ccgo_ts + 1252, }, 80: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15907, + FzName: __ccgo_ts + 15986, }, 81: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15913, + FzName: __ccgo_ts + 15992, }, 82: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15916, + FzName: __ccgo_ts + 15995, }, 83: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15920, + FzName: __ccgo_ts + 15999, }, 84: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15926, + FzName: __ccgo_ts + 16005, }, 85: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15916, + FzName: __ccgo_ts + 15995, }, 86: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15931, + FzName: __ccgo_ts + 16010, }, 87: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15935, + FzName: __ccgo_ts + 16014, }, 88: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15939, + FzName: __ccgo_ts + 16018, }, 89: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15945, + FzName: __ccgo_ts + 16024, }, 90: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15949, + FzName: __ccgo_ts + 16028, }, 91: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15954, + FzName: __ccgo_ts + 16033, }, 92: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15959, + FzName: __ccgo_ts + 16038, }, 93: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15964, + FzName: __ccgo_ts + 16043, }, 94: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15970, + FzName: __ccgo_ts + 16049, }, 95: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15974, + FzName: __ccgo_ts + 16053, }, 96: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15978, + FzName: __ccgo_ts + 16057, }, 97: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15982, + FzName: __ccgo_ts + 16061, }, 98: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15987, + FzName: __ccgo_ts + 16066, }, 99: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15992, + FzName: __ccgo_ts + 16071, }, 100: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15997, + FzName: __ccgo_ts + 16076, }, 101: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16003, + FzName: __ccgo_ts + 16082, }, 102: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16009, + FzName: __ccgo_ts + 16088, }, 103: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16015, + FzName: __ccgo_ts + 16094, }, 104: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16020, + FzName: __ccgo_ts + 16099, }, 105: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16028, + FzName: __ccgo_ts + 16107, }, 106: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16036, + FzName: __ccgo_ts + 16115, }, 107: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16039, + FzName: __ccgo_ts + 16118, }, 108: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 6739, + FzName: __ccgo_ts + 6803, }, 109: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_iif))), - FzName: __ccgo_ts + 16044, + FzName: __ccgo_ts + 16123, }, } @@ -110547,7 +111015,7 @@ func _sqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey } if !(pIdx != 0) { if !((*TParse)(unsafe.Pointer(pParse)).FdisableTriggers != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16048, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16127, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) } _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, aiCol) return int32(1) @@ -111679,11 +112147,11 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr break } *(*TToken)(unsafe.Pointer(bp + 16)) = TToken{ - Fz: __ccgo_ts + 6605, + Fz: __ccgo_ts + 6669, Fn: uint32(3), } /* Literal "old" token */ *(*TToken)(unsafe.Pointer(bp + 32)) = TToken{ - Fz: __ccgo_ts + 6601, + Fz: __ccgo_ts + 6665, Fn: uint32(3), } /* tFromCol = OLD.tToCol */ if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { @@ -111750,7 +112218,7 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr nFrom = _sqlite3Strlen30(tls, zFrom) if action == int32(OE_Restrict) { iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5234) + pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5298) if pRaise != 0 { (*TExpr)(unsafe.Pointer(pRaise)).FaffExpr = uint8(OE_Abort) } @@ -112358,7 +112826,7 @@ func _sqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8171, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8296, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) } (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -112625,6 +113093,226 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { } } +// C documentation +// +// /* +// ** If argument pVal is a Select object returned by an sqlite3MultiValues() +// ** that was able to use the co-routine optimization, finish coding the +// ** co-routine. +// */ +func _sqlite3MultiValuesEnd(tls *libc.TLS, pParse uintptr, pVal uintptr) { + var pItem uintptr + _ = pItem + if pVal != 0 && (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pVal)).FpSrc)).FnSrc > 0 { + pItem = (*TSelect)(unsafe.Pointer(pVal)).FpSrc + 8 + _sqlite3VdbeEndCoroutine(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn) + _sqlite3VdbeJumpHere(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FaddrFillSub-int32(1)) + } +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are constant. +// */ +func _exprListIsConstant(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + if 0 == _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are both constant and have no affinity. +// */ +func _exprListIsNoAffinity(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + var pExpr uintptr + _, _ = ii, pExpr + if _exprListIsConstant(tls, pParse, pRow) == 0 { + return 0 + } + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + pExpr = (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if 0 != int32(_sqlite3ExprAffinity(tls, pExpr)) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** This function is called by the parser for the second and subsequent +// ** rows of a multi-row VALUES clause. Argument pLeft is the part of +// ** the VALUES clause already parsed, argument pRow is the vector of values +// ** for the new row. The Select object returned represents the complete +// ** VALUES clause, including the new row. +// ** +// ** There are two ways in which this may be achieved - by incremental +// ** coding of a co-routine (the "co-routine" method) or by returning a +// ** Select object equivalent to the following (the "UNION ALL" method): +// ** +// ** "pLeft UNION ALL SELECT pRow" +// ** +// ** If the VALUES clause contains a lot of rows, this compound Select +// ** object may consume a lot of memory. +// ** +// ** When the co-routine method is used, each row that will be returned +// ** by the VALUES clause is coded into part of a co-routine as it is +// ** passed to this function. The returned Select object is equivalent to: +// ** +// ** SELECT * FROM ( +// ** Select object to read co-routine +// ** ) +// ** +// ** The co-routine method is used in most cases. Exceptions are: +// ** +// ** a) If the current statement has a WITH clause. This is to avoid +// ** statements like: +// ** +// ** WITH cte AS ( VALUES('x'), ('y') ... ) +// ** SELECT * FROM cte AS a, cte AS b; +// ** +// ** This will not work, as the co-routine uses a hard-coded register +// ** for its OP_Yield instructions, and so it is not possible for two +// ** cursors to iterate through it concurrently. +// ** +// ** b) The schema is currently being parsed (i.e. the VALUES clause is part +// ** of a schema item like a VIEW or TRIGGER). In this case there is no VM +// ** being generated when parsing is taking place, and so generating +// ** a co-routine is not possible. +// ** +// ** c) There are non-constant expressions in the VALUES clause (e.g. +// ** the VALUES clause is part of a correlated sub-query). +// ** +// ** d) One or more of the values in the first row of the VALUES clause +// ** has an affinity (i.e. is a CAST expression). This causes problems +// ** because the complex rules SQLite uses (see function +// ** sqlite3SubqueryColumnTypes() in select.c) to determine the effective +// ** affinity of such a column for all rows require access to all values in +// ** the column simultaneously. +// */ +func _sqlite3MultiValues(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRow uintptr) (r uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var f, v1 int32 + var p, pRet, pSelect, v, v2 uintptr + var _ /* dest at bp+0 */ TSelectDest + _, _, _, _, _, _, _ = f, p, pRet, pSelect, v, v1, v2 + if (*TParse)(unsafe.Pointer(pParse)).FbHasWith != 0 || (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy != 0 || _exprListIsConstant(tls, pParse, pRow) == 0 || (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 && _exprListIsNoAffinity(tls, pParse, (*TSelect)(unsafe.Pointer(pLeft)).FpEList) == 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { + /* The co-routine method cannot be used. Fall back to UNION ALL. */ + pSelect = uintptr(0) + f = libc.Int32FromInt32(SF_Values) | libc.Int32FromInt32(SF_MultiValue) + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc != 0 { + _sqlite3MultiValuesEnd(tls, pParse, pLeft) + f = int32(SF_Values) + } else { + if (*TSelect)(unsafe.Pointer(pLeft)).FpPrior != 0 { + /* In this case set the SF_MultiValue flag only if it was set on pLeft */ + f = int32(uint32(f) & (*TSelect)(unsafe.Pointer(pLeft)).FselFlags) + } + } + pSelect = _sqlite3SelectNew(tls, pParse, pRow, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(f), uintptr(0)) + *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) + if pSelect != 0 { + (*TSelect)(unsafe.Pointer(pSelect)).Fop = uint8(TK_ALL) + (*TSelect)(unsafe.Pointer(pSelect)).FpPrior = pLeft + pLeft = pSelect + } + } else { + p = uintptr(0) /* SrcItem that reads from co-routine */ + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 { + /* Co-routine has not yet been started and the special Select object + ** that accesses the co-routine has not yet been created. This block + ** does both those things. */ + v = _sqlite3GetVdbe(tls, pParse) + pRet = _sqlite3SelectNew(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) + /* Ensure the database schema has been read. This is to ensure we have + ** the correct text encoding. */ + if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmDbFlags&uint32(DBFLAG_SchemaKnownOk) == uint32(0) { + _sqlite3ReadSchema(tls, pParse) + } + if pRet != 0 { + (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pRet)).FpSrc)).FnSrc = int32(1) + (*TSelect)(unsafe.Pointer(pRet)).FpPrior = (*TSelect)(unsafe.Pointer(pLeft)).FpPrior + (*TSelect)(unsafe.Pointer(pRet)).Fop = (*TSelect)(unsafe.Pointer(pLeft)).Fop + (*TSelect)(unsafe.Pointer(pLeft)).FpPrior = uintptr(0) + (*TSelect)(unsafe.Pointer(pLeft)).Fop = uint8(TK_SELECT) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + p = (*TSelect)(unsafe.Pointer(pRet)).FpSrc + 8 + (*TSrcItem)(unsafe.Pointer(p)).FpSelect = pLeft + libc.SetBitFieldPtr16Uint32(p+60+4, libc.Uint32FromInt32(1), 5, 0x20) + (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + v2 = pParse + 56 + *(*int32)(unsafe.Pointer(v2))++ + v1 = *(*int32)(unsafe.Pointer(v2)) + (*TSrcItem)(unsafe.Pointer(p)).FregReturn = v1 + (*TSrcItem)(unsafe.Pointer(p)).FiCursor = -int32(1) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1)) = uint32(2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn, 0, (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub) + _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + /* Allocate registers for the output of the co-routine. Do so so + ** that there are two unused registers immediately before those + ** used by the co-routine. This allows the code in sqlite3Insert() + ** to use these registers directly, instead of copying the output + ** of the co-routine to a separate array for processing. */ + (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(3) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpEList)).FnExpr + *(*int32)(unsafe.Pointer(pParse + 56)) += int32(2) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst + *(*Tu32)(unsafe.Pointer(pLeft + 4)) |= uint32(SF_MultiValue) + _sqlite3Select(tls, pParse, pLeft, bp) + (*TSrcItem)(unsafe.Pointer(p)).FregResult = (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst + _ = libc.Int32FromInt32(0) + pLeft = pRet + } + } else { + p = (*TSelect)(unsafe.Pointer(pLeft)).FpSrc + 8 + _ = libc.Int32FromInt32(0) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1))++ + } + if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { + _ = libc.Int32FromInt32(0) + if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p)).FpSelect)).FpEList)).FnExpr != (*TExprList)(unsafe.Pointer(pRow)).FnExpr { + _sqlite3SelectWrongNumTermsError(tls, pParse, (*TSrcItem)(unsafe.Pointer(p)).FpSelect) + } else { + _sqlite3ExprCodeExprList(tls, pParse, pRow, (*TSrcItem)(unsafe.Pointer(p)).FregResult, 0, uint8(0)) + _sqlite3VdbeAddOp1(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Yield), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + } + } + _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pRow) + } + return pLeft +} + // C documentation // // /* @@ -112727,27 +113415,27 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { bp := tls.Alloc(160) defer tls.Free(160) - var aRegIdx, db, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, v, v13, v16, v18, v6, v9 uintptr - var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v12, v15, v17, v19, v23, v24, v5, v7, v8 int32 + var aRegIdx, db, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, v, v10, v14, v17, v19, v7 uintptr + var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v13, v16, v18, v20, v24, v25, v5, v6, v8, v9 int32 var appendFlag, bIdListInOrder, useTempTable, withoutRowid Tu8 - var colFlags, v21 Tu32 + var colFlags, v22 Tu32 var _ /* dest at bp+8 */ TSelectDest var _ /* iDataCur at bp+0 */ int32 var _ /* iIdxCur at bp+4 */ int32 var _ /* isReplace at bp+112 */ int32 var _ /* sNC at bp+56 */ TNameContext var _ /* tmask at bp+48 */ int32 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v12, v13, v15, v16, v17, v18, v19, v21, v23, v24, v5, v6, v7, v8, v9 /* Number of columns in the data */ - nHidden = 0 /* Number of hidden columns if TABLE is virtual */ - *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ - *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ - ipkColumn = -int32(1) /* Label for the end of the insertion loop */ - srcTab = 0 /* Data comes from this temporary cursor if >=0 */ - addrInsTop = 0 /* Jump to label "D" */ - addrCont = 0 /* Index of database holding TABLE */ - useTempTable = uint8(0) /* Store SELECT results in intermediate table */ - appendFlag = uint8(0) /* True if IDLIST is in table order */ - pList = uintptr(0) /* Register in which to store next column */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v10, v13, v14, v16, v17, v18, v19, v20, v22, v24, v25, v5, v6, v7, v8, v9 /* Number of columns in the data */ + nHidden = 0 /* Number of hidden columns if TABLE is virtual */ + *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ + *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ + ipkColumn = -int32(1) /* Label for the end of the insertion loop */ + srcTab = 0 /* Data comes from this temporary cursor if >=0 */ + addrInsTop = 0 /* Jump to label "D" */ + addrCont = 0 /* Index of database holding TABLE */ + useTempTable = uint8(0) /* Store SELECT results in intermediate table */ + appendFlag = uint8(0) /* True if IDLIST is in table order */ + pList = uintptr(0) /* Register in which to store next column */ /* Register allocations */ regFromSelect = 0 /* Base register for data coming from SELECT */ regAutoinc = 0 /* Register holding the AUTOINCREMENT counter */ @@ -112894,7 +113582,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _ = libc.Int32FromInt32(0) } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_STORED)|libc.Int32FromInt32(COLFLAG_VIRTUAL)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16093, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16172, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto insert_cleanup } break @@ -112909,7 +113597,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i bIdListInOrder = uint8(0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16134, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16213, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto insert_cleanup } @@ -112926,31 +113614,49 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** co-routine is the common header to the 3rd and 4th templates. */ if pSelect != 0 { /* Result code */ - v6 = pParse + 56 - *(*int32)(unsafe.Pointer(v6))++ - v5 = *(*int32)(unsafe.Pointer(v6)) - regYield = v5 - addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) - _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) - _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) - if bIdListInOrder != 0 { - v7 = regData + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc)).FnSrc == int32(1) && int32(uint32(*(*uint16)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + 60 + 4))&0x20>>5)) != 0 && (*TSelect)(unsafe.Pointer(pSelect)).FpPrior == uintptr(0) { + pItem = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSDParm = (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn + regFromSelect = (*TSrcItem)(unsafe.Pointer(pItem)).FregResult + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FpEList)).FnExpr + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+16245, libc.VaList(bp+128, pItem)) + if bIdListInOrder != 0 && nColumn == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { + regData = regFromSelect + regRowid = regData - int32(1) + if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { + v5 = int32(1) + } else { + v5 = 0 + } + regIns = regRowid - v5 + } } else { - v7 = 0 - } - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v7 - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) - rc = _sqlite3Select(tls, pParse, pSelect, bp+8) - regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst - _ = libc.Int32FromInt32(0) - if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { - goto insert_cleanup + v7 = pParse + 56 + *(*int32)(unsafe.Pointer(v7))++ + v6 = *(*int32)(unsafe.Pointer(v7)) /* Top of the co-routine */ + regYield = v6 + addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) + _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) + if bIdListInOrder != 0 { + v8 = regData + } else { + v8 = 0 + } + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) + rc = _sqlite3Select(tls, pParse, pSelect, bp+8) + regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst + _ = libc.Int32FromInt32(0) + if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { + goto insert_cleanup + } + _ = libc.Int32FromInt32(0) + _sqlite3VdbeEndCoroutine(tls, v, regYield) + _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ + _ = libc.Int32FromInt32(0) + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr } - _ = libc.Int32FromInt32(0) - _sqlite3VdbeEndCoroutine(tls, v, regYield) - _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ - _ = libc.Int32FromInt32(0) - nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr /* Set useTempTable to TRUE if the result of the SELECT statement ** should be written into a temporary table (template 4). Set to ** FALSE if each output row of the SELECT can be written directly into @@ -112964,10 +113670,10 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin useTempTable = uint8(1) } if useTempTable != 0 { /* Label "L" */ - v9 = pParse + 52 - v8 = *(*int32)(unsafe.Pointer(v9)) - *(*int32)(unsafe.Pointer(v9))++ - srcTab = v8 + v10 = pParse + 52 + v9 = *(*int32)(unsafe.Pointer(v10)) + *(*int32)(unsafe.Pointer(v10))++ + srcTab = v9 regRec = _sqlite3GetTempReg(tls, pParse) regTempRowid = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp2(tls, v, int32(OP_OpenEphemeral), srcTab, nColumn) @@ -113009,8 +113715,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { ipkColumn-- } - goto _10 - _10: + goto _11 + _11: ; i-- } @@ -113030,28 +113736,28 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_NOINSERT) != 0 { nHidden++ } - goto _11 - _11: + goto _12 + _12: ; i++ } } if nColumn != int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16166, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16253, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) goto insert_cleanup } } if pColumn != uintptr(0) && nColumn != (*TIdList)(unsafe.Pointer(pColumn)).FnId { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16218, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16305, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup } /* Initialize the count of rows to be inserted */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&(uint64(libc.Int32FromInt32(0x00001))<= 0 { /* tag-20191021-001: If the INTEGER PRIMARY KEY is being generated by the ** SELECT, go ahead and copy the value into the rowid slot now, so that @@ -113167,18 +113873,18 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** using excess space. The file format definition requires this extra ** NULL - we cannot optimize further by skipping the column completely */ _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) - goto _20 + goto _21 } - v21 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) - colFlags = v21 - if v21&uint32(COLFLAG_NOINSERT) != uint32(0) { + v22 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) + colFlags = v22 + if v22&uint32(COLFLAG_NOINSERT) != uint32(0) { nHidden++ if colFlags&uint32(COLFLAG_VIRTUAL) != uint32(0) { /* Virtual columns do not participate in OP_MakeRecord. So back up ** iRegStore by one slot to compensate for the iRegStore++ in the ** outer for() loop */ iRegStore-- - goto _20 + goto _21 } else { if colFlags&uint32(COLFLAG_STORED) != uint32(0) { /* Stored columns are computed later. But if there are BEFORE @@ -113188,13 +113894,13 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if *(*int32)(unsafe.Pointer(bp + 48))&int32(TRIGGER_BEFORE) != 0 { _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) } - goto _20 + goto _21 } else { if pColumn == uintptr(0) { /* Hidden columns that are not explicitly named in the INSERT ** get there default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } } } @@ -113206,8 +113912,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if !(j < (*TIdList)(unsafe.Pointer(pColumn)).FnId && *(*int32)(unsafe.Pointer(pColumn + 8 + uintptr(j)*16 + 8)) != i) { break } - goto _22 - _22: + goto _23 + _23: ; j++ } @@ -113215,14 +113921,14 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin /* A column not named in the insert column list gets its ** default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } k = j } else { if nColumn == 0 { /* This is INSERT INTO ... DEFAULT VALUES. Load the default value. */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } else { k = i - nHidden } @@ -113239,16 +113945,16 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin y = _sqlite3ExprCodeTarget(tls, pParse, pX, iRegStore) if y != iRegStore { if (*TExpr)(unsafe.Pointer(pX)).Fflags&uint32(libc.Int32FromInt32(EP_Subquery)) != uint32(0) { - v23 = int32(OP_Copy) + v24 = int32(OP_Copy) } else { - v23 = int32(OP_SCopy) + v24 = int32(OP_SCopy) } - _sqlite3VdbeAddOp2(tls, v, v23, y, iRegStore) + _sqlite3VdbeAddOp2(tls, v, v24, y, iRegStore) } } } - goto _20 - _20: + goto _21 + _21: ; i++ iRegStore++ @@ -113361,11 +114067,11 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _sqlite3VtabMakeWritable(tls, pParse, pTab) _sqlite3VdbeAddOp4(tls, v, int32(OP_VUpdate), int32(1), int32((*TTable)(unsafe.Pointer(pTab)).FnCol)+int32(2), regIns, pVTab, -int32(11)) if onError == int32(OE_Default) { - v24 = int32(OE_Abort) + v25 = int32(OE_Abort) } else { - v24 = onError + v25 = onError } - _sqlite3VdbeChangeP5(tls, v, uint16(v24)) + _sqlite3VdbeChangeP5(tls, v, uint16(v25)) _sqlite3MayAbort(tls, pParse) } else { *(*int32)(unsafe.Pointer(bp + 112)) = 0 /* True to use OPFLAG_SEEKRESULT */ @@ -113424,7 +114130,7 @@ insert_end: ** invoke the callback function. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16310) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16397) } goto insert_cleanup insert_cleanup: @@ -113823,7 +114529,7 @@ func _sqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case int32(OE_Rollback): fallthrough case int32(OE_Fail): - zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12390, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12515, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) _sqlite3VdbeAddOp3(tls, v, int32(OP_HaltIfNull), libc.Int32FromInt32(SQLITE_CONSTRAINT)|libc.Int32FromInt32(5)<= 0 && !(int32(*(*uint8)(unsafe.Pointer(zFile + uintptr(iFile)))) == libc.Int32FromUint8('/'))) { @@ -116099,7 +116805,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp iFile-- } iFile++ - if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16359, int32(3)) == 0 { + if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16446, int32(3)) == 0 { iFile += int32(3) } iEntry = int32(8) @@ -116119,7 +116825,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp ; iFile++ } - libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16363, uint64(6)) + libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16450, uint64(6)) zEntry = zAltEntry xInit = _sqlite3OsDlSym(tls, pVfs, handle, zEntry) } @@ -116131,7 +116837,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v7 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16369, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16456, libc.VaList(bp+16, zEntry, zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116146,7 +116852,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp return SQLITE_OK } if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16412, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16499, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3OsDlClose(tls, pVfs, handle) @@ -116177,7 +116883,7 @@ extension_not_found: *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v10 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16444, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16531, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116186,7 +116892,7 @@ extension_not_found: /* Shared library endings to try if zFile cannot be loaded as written */ var _azEndings = [1]uintptr{ - 0: __ccgo_ts + 16324, + 0: __ccgo_ts + 16411, } func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) (r int32) { @@ -116421,7 +117127,7 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { rc = v2 } if v3 && v2 != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16481, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16568, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -116475,63 +117181,63 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { // ** result column is different from the name of the pragma // */ var _pragCName = [57]uintptr{ - 0: __ccgo_ts + 5490, - 1: __ccgo_ts + 16520, - 2: __ccgo_ts + 9067, - 3: __ccgo_ts + 16524, - 4: __ccgo_ts + 16529, - 5: __ccgo_ts + 16532, - 6: __ccgo_ts + 16542, - 7: __ccgo_ts + 16552, - 8: __ccgo_ts + 16558, - 9: __ccgo_ts + 16562, - 10: __ccgo_ts + 16567, - 11: __ccgo_ts + 16572, - 12: __ccgo_ts + 16580, - 13: __ccgo_ts + 16591, - 14: __ccgo_ts + 16594, - 15: __ccgo_ts + 16601, - 16: __ccgo_ts + 16562, - 17: __ccgo_ts + 16567, - 18: __ccgo_ts + 16608, - 19: __ccgo_ts + 16613, - 20: __ccgo_ts + 16616, - 21: __ccgo_ts + 16623, - 22: __ccgo_ts + 16558, - 23: __ccgo_ts + 16562, - 24: __ccgo_ts + 16629, - 25: __ccgo_ts + 16634, - 26: __ccgo_ts + 16639, - 27: __ccgo_ts + 16562, - 28: __ccgo_ts + 16643, - 29: __ccgo_ts + 16567, - 30: __ccgo_ts + 16651, - 31: __ccgo_ts + 16655, - 32: __ccgo_ts + 16660, - 33: __ccgo_ts + 11806, - 34: __ccgo_ts + 11802, - 35: __ccgo_ts + 16666, - 36: __ccgo_ts + 16671, - 37: __ccgo_ts + 16676, - 38: __ccgo_ts + 16520, - 39: __ccgo_ts + 16562, - 40: __ccgo_ts + 16681, - 41: __ccgo_ts + 16688, - 42: __ccgo_ts + 16695, - 43: __ccgo_ts + 9067, - 44: __ccgo_ts + 16703, - 45: __ccgo_ts + 5493, - 46: __ccgo_ts + 16709, - 47: __ccgo_ts + 16520, - 48: __ccgo_ts + 16562, - 49: __ccgo_ts + 16714, - 50: __ccgo_ts + 16719, - 51: __ccgo_ts + 15916, - 52: __ccgo_ts + 16724, - 53: __ccgo_ts + 16737, - 54: __ccgo_ts + 16746, - 55: __ccgo_ts + 16753, - 56: __ccgo_ts + 16764, + 0: __ccgo_ts + 5554, + 1: __ccgo_ts + 16607, + 2: __ccgo_ts + 9192, + 3: __ccgo_ts + 16611, + 4: __ccgo_ts + 16616, + 5: __ccgo_ts + 16619, + 6: __ccgo_ts + 16629, + 7: __ccgo_ts + 16639, + 8: __ccgo_ts + 16645, + 9: __ccgo_ts + 16649, + 10: __ccgo_ts + 16654, + 11: __ccgo_ts + 16659, + 12: __ccgo_ts + 16667, + 13: __ccgo_ts + 16678, + 14: __ccgo_ts + 16681, + 15: __ccgo_ts + 16688, + 16: __ccgo_ts + 16649, + 17: __ccgo_ts + 16654, + 18: __ccgo_ts + 16695, + 19: __ccgo_ts + 16700, + 20: __ccgo_ts + 16703, + 21: __ccgo_ts + 16710, + 22: __ccgo_ts + 16645, + 23: __ccgo_ts + 16649, + 24: __ccgo_ts + 16716, + 25: __ccgo_ts + 16721, + 26: __ccgo_ts + 16726, + 27: __ccgo_ts + 16649, + 28: __ccgo_ts + 16730, + 29: __ccgo_ts + 16654, + 30: __ccgo_ts + 16738, + 31: __ccgo_ts + 16742, + 32: __ccgo_ts + 16747, + 33: __ccgo_ts + 11931, + 34: __ccgo_ts + 11927, + 35: __ccgo_ts + 16753, + 36: __ccgo_ts + 16758, + 37: __ccgo_ts + 16763, + 38: __ccgo_ts + 16607, + 39: __ccgo_ts + 16649, + 40: __ccgo_ts + 16768, + 41: __ccgo_ts + 16775, + 42: __ccgo_ts + 16782, + 43: __ccgo_ts + 9192, + 44: __ccgo_ts + 16790, + 45: __ccgo_ts + 5557, + 46: __ccgo_ts + 16796, + 47: __ccgo_ts + 16607, + 48: __ccgo_ts + 16649, + 49: __ccgo_ts + 16801, + 50: __ccgo_ts + 16806, + 51: __ccgo_ts + 15995, + 52: __ccgo_ts + 16811, + 53: __ccgo_ts + 16824, + 54: __ccgo_ts + 16833, + 55: __ccgo_ts + 16840, + 56: __ccgo_ts + 16851, } // C documentation @@ -116550,191 +117256,191 @@ type PragmaName = TPragmaName var _aPragmaName = [66]TPragmaName{ 0: { - FzName: __ccgo_ts + 16772, + FzName: __ccgo_ts + 16859, FePragTyp: uint8(PragTyp_ANALYSIS_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 1: { - FzName: __ccgo_ts + 16787, + FzName: __ccgo_ts + 16874, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_APPLICATION_ID), }, 2: { - FzName: __ccgo_ts + 16802, + FzName: __ccgo_ts + 16889, FePragTyp: uint8(PragTyp_AUTO_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 3: { - FzName: __ccgo_ts + 16814, + FzName: __ccgo_ts + 16901, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_AutoIndex), }, 4: { - FzName: __ccgo_ts + 16830, + FzName: __ccgo_ts + 16917, FePragTyp: uint8(PragTyp_BUSY_TIMEOUT), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(56), FnPragCName: uint8(1), }, 5: { - FzName: __ccgo_ts + 16753, + FzName: __ccgo_ts + 16840, FePragTyp: uint8(PragTyp_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 6: { - FzName: __ccgo_ts + 16843, + FzName: __ccgo_ts + 16930, FePragTyp: uint8(PragTyp_CACHE_SPILL), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 7: { - FzName: __ccgo_ts + 16855, + FzName: __ccgo_ts + 16942, FePragTyp: uint8(PragTyp_CASE_SENSITIVE_LIKE), FmPragFlg: uint8(PragFlg_NoColumns), }, 8: { - FzName: __ccgo_ts + 16875, + FzName: __ccgo_ts + 16962, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CellSizeCk), }, 9: { - FzName: __ccgo_ts + 16891, + FzName: __ccgo_ts + 16978, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CkptFullFSync), }, 10: { - FzName: __ccgo_ts + 16912, + FzName: __ccgo_ts + 16999, FePragTyp: uint8(PragTyp_COLLATION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(38), FnPragCName: uint8(2), }, 11: { - FzName: __ccgo_ts + 16927, + FzName: __ccgo_ts + 17014, FePragTyp: uint8(PragTyp_COMPILE_OPTIONS), FmPragFlg: uint8(PragFlg_Result0), }, 12: { - FzName: __ccgo_ts + 16943, + FzName: __ccgo_ts + 17030, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00001)) << libc.Int32FromInt32(32), }, 13: { - FzName: __ccgo_ts + 16957, + FzName: __ccgo_ts + 17044, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_DATA_VERSION), }, 14: { - FzName: __ccgo_ts + 16970, + FzName: __ccgo_ts + 17057, FePragTyp: uint8(PragTyp_DATABASE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(47), FnPragCName: uint8(3), }, 15: { - FzName: __ccgo_ts + 16984, + FzName: __ccgo_ts + 17071, FePragTyp: uint8(PragTyp_DEFAULT_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiPragCName: uint8(55), FnPragCName: uint8(1), }, 16: { - FzName: __ccgo_ts + 17003, + FzName: __ccgo_ts + 17090, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_DeferFKs), }, 17: { - FzName: __ccgo_ts + 17022, + FzName: __ccgo_ts + 17109, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_NullCallback), }, 18: { - FzName: __ccgo_ts + 17045, + FzName: __ccgo_ts + 17132, FePragTyp: uint8(PragTyp_ENCODING), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 19: { - FzName: __ccgo_ts + 17054, + FzName: __ccgo_ts + 17141, FePragTyp: uint8(PragTyp_FOREIGN_KEY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(43), FnPragCName: uint8(4), }, 20: { - FzName: __ccgo_ts + 17072, + FzName: __ccgo_ts + 17159, FePragTyp: uint8(PragTyp_FOREIGN_KEY_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FnPragCName: uint8(8), }, 21: { - FzName: __ccgo_ts + 17089, + FzName: __ccgo_ts + 17176, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ForeignKeys), }, 22: { - FzName: __ccgo_ts + 17102, + FzName: __ccgo_ts + 17189, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), }, 23: { - FzName: __ccgo_ts + 17117, + FzName: __ccgo_ts + 17204, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullColNames), }, 24: { - FzName: __ccgo_ts + 17135, + FzName: __ccgo_ts + 17222, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullFSync), }, 25: { - FzName: __ccgo_ts + 17145, + FzName: __ccgo_ts + 17232, FePragTyp: uint8(PragTyp_FUNCTION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(27), FnPragCName: uint8(6), }, 26: { - FzName: __ccgo_ts + 17159, + FzName: __ccgo_ts + 17246, FePragTyp: uint8(PragTyp_HARD_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 27: { - FzName: __ccgo_ts + 17175, + FzName: __ccgo_ts + 17262, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_IgnoreChecks), }, 28: { - FzName: __ccgo_ts + 17200, + FzName: __ccgo_ts + 17287, FePragTyp: uint8(PragTyp_INCREMENTAL_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_NoColumns)), }, 29: { - FzName: __ccgo_ts + 17219, + FzName: __ccgo_ts + 17306, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), FnPragCName: uint8(3), }, 30: { - FzName: __ccgo_ts + 17230, + FzName: __ccgo_ts + 17317, FePragTyp: uint8(PragTyp_INDEX_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(38), FnPragCName: uint8(5), }, 31: { - FzName: __ccgo_ts + 17241, + FzName: __ccgo_ts + 17328, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), @@ -116742,146 +117448,146 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 32: { - FzName: __ccgo_ts + 17253, + FzName: __ccgo_ts + 17340, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 33: { - FzName: __ccgo_ts + 17269, + FzName: __ccgo_ts + 17356, FePragTyp: uint8(PragTyp_JOURNAL_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 34: { - FzName: __ccgo_ts + 17282, + FzName: __ccgo_ts + 17369, FePragTyp: uint8(PragTyp_JOURNAL_SIZE_LIMIT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 35: { - FzName: __ccgo_ts + 17301, + FzName: __ccgo_ts + 17388, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_LegacyAlter), }, 36: { - FzName: __ccgo_ts + 17320, + FzName: __ccgo_ts + 17407, FePragTyp: uint8(PragTyp_LOCKING_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 37: { - FzName: __ccgo_ts + 17333, + FzName: __ccgo_ts + 17420, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 38: { - FzName: __ccgo_ts + 17348, + FzName: __ccgo_ts + 17435, FePragTyp: uint8(PragTyp_MMAP_SIZE), }, 39: { - FzName: __ccgo_ts + 17358, + FzName: __ccgo_ts + 17445, FePragTyp: uint8(PragTyp_MODULE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 40: { - FzName: __ccgo_ts + 17370, + FzName: __ccgo_ts + 17457, FePragTyp: uint8(PragTyp_OPTIMIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_NeedSchema)), }, 41: { - FzName: __ccgo_ts + 17379, + FzName: __ccgo_ts + 17466, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 42: { - FzName: __ccgo_ts + 17390, + FzName: __ccgo_ts + 17477, FePragTyp: uint8(PragTyp_PAGE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 43: { - FzName: __ccgo_ts + 17400, + FzName: __ccgo_ts + 17487, FePragTyp: uint8(PragTyp_PRAGMA_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 44: { - FzName: __ccgo_ts + 17412, + FzName: __ccgo_ts + 17499, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_QueryOnly), }, 45: { - FzName: __ccgo_ts + 17423, + FzName: __ccgo_ts + 17510, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 46: { - FzName: __ccgo_ts + 17435, + FzName: __ccgo_ts + 17522, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00004)) << libc.Int32FromInt32(32), }, 47: { - FzName: __ccgo_ts + 17452, + FzName: __ccgo_ts + 17539, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_RecTriggers), }, 48: { - FzName: __ccgo_ts + 17471, + FzName: __ccgo_ts + 17558, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ReverseOrder), }, 49: { - FzName: __ccgo_ts + 17497, + FzName: __ccgo_ts + 17584, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_SCHEMA_VERSION), }, 50: { - FzName: __ccgo_ts + 17512, + FzName: __ccgo_ts + 17599, FePragTyp: uint8(PragTyp_SECURE_DELETE), FmPragFlg: uint8(PragFlg_Result0), }, 51: { - FzName: __ccgo_ts + 17526, + FzName: __ccgo_ts + 17613, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ShortColNames), }, 52: { - FzName: __ccgo_ts + 17545, + FzName: __ccgo_ts + 17632, FePragTyp: uint8(PragTyp_SHRINK_MEMORY), FmPragFlg: uint8(PragFlg_NoColumns), }, 53: { - FzName: __ccgo_ts + 17559, + FzName: __ccgo_ts + 17646, FePragTyp: uint8(PragTyp_SOFT_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 54: { - FzName: __ccgo_ts + 17575, + FzName: __ccgo_ts + 17662, FePragTyp: uint8(PragTyp_SYNCHRONOUS), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 55: { - FzName: __ccgo_ts + 17587, + FzName: __ccgo_ts + 17674, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), FnPragCName: uint8(6), }, 56: { - FzName: __ccgo_ts + 17598, + FzName: __ccgo_ts + 17685, FePragTyp: uint8(PragTyp_TABLE_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1)), FiPragCName: uint8(15), FnPragCName: uint8(6), }, 57: { - FzName: __ccgo_ts + 17609, + FzName: __ccgo_ts + 17696, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), @@ -116889,45 +117595,45 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 58: { - FzName: __ccgo_ts + 17621, + FzName: __ccgo_ts + 17708, FePragTyp: uint8(PragTyp_TEMP_STORE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 59: { - FzName: __ccgo_ts + 17632, + FzName: __ccgo_ts + 17719, FePragTyp: uint8(PragTyp_TEMP_STORE_DIRECTORY), FmPragFlg: uint8(PragFlg_NoColumns1), }, 60: { - FzName: __ccgo_ts + 17653, + FzName: __ccgo_ts + 17740, FePragTyp: uint8(PragTyp_THREADS), FmPragFlg: uint8(PragFlg_Result0), }, 61: { - FzName: __ccgo_ts + 17661, + FzName: __ccgo_ts + 17748, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_TrustedSchema), }, 62: { - FzName: __ccgo_ts + 17676, + FzName: __ccgo_ts + 17763, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_USER_VERSION), }, 63: { - FzName: __ccgo_ts + 17689, + FzName: __ccgo_ts + 17776, FePragTyp: uint8(PragTyp_WAL_AUTOCHECKPOINT), }, 64: { - FzName: __ccgo_ts + 17708, + FzName: __ccgo_ts + 17795, FePragTyp: uint8(PragTyp_WAL_CHECKPOINT), FmPragFlg: uint8(PragFlg_NeedSchema), FiPragCName: uint8(50), FnPragCName: uint8(3), }, 65: { - FzName: __ccgo_ts + 17723, + FzName: __ccgo_ts + 17810, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(SQLITE_WriteSchema) | libc.Int32FromInt32(SQLITE_NoSchemaError)), @@ -116939,6 +117645,31 @@ var _aPragmaName = [66]TPragmaName{ /************** End of pragma.h **********************************************/ /************** Continuing where we left off in pragma.c *********************/ +/* +** When the 0x10 bit of PRAGMA optimize is set, any ANALYZE commands +** will be run with an analysis_limit set to the lessor of the value of +** the following macro or to the actual analysis_limit if it is non-zero, +** in order to prevent PRAGMA optimize from running for too long. +** +** The value of 2000 is chosen emperically so that the worst-case run-time +** for PRAGMA optimize does not exceed 100 milliseconds against a variety +** of test databases on a RaspberryPI-4 compiled using -Os and without +** -DSQLITE_DEBUG. Of course, your mileage may vary. For the purpose of +** this paragraph, "worst-case" means that ANALYZE ends up being +** run on every table in the database. The worst case typically only +** happens if PRAGMA optimize is run on a database file for which ANALYZE +** has not been previously run and the 0x10000 flag is included so that +** all tables are analyzed. The usual case for PRAGMA optimize is that +** no ANALYZE commands will be run at all, or if any ANALYZE happens it +** will be against a single table, so that expected timing for PRAGMA +** optimize on a PI-4 is more like 1 millisecond or less with the 0x10000 +** flag or less than 100 microseconds without the 0x10000 flag. +** +** An analysis limit of 2000 is almost always sufficient for the query +** planner to fully characterize an index. The additional accuracy from +** a larger analysis is not usually helpful. + */ + // C documentation // // /* @@ -117028,10 +117759,10 @@ func _sqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt Tu8) (r Tu8) { // */ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { if z != 0 { - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17739) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17826) { return int32(PAGER_LOCKINGMODE_EXCLUSIVE) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17749) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17836) { return PAGER_LOCKINGMODE_NORMAL } } @@ -117049,13 +117780,13 @@ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { func _getAutoVacuum(tls *libc.TLS, z uintptr) (r int32) { var i, v1 int32 _, _ = i, v1 - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8227) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8352) { return BTREE_AUTOVACUUM_NONE } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17756) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17843) { return int32(BTREE_AUTOVACUUM_FULL) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17761) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17848) { return int32(BTREE_AUTOVACUUM_INCR) } i = _sqlite3Atoi(tls, z) @@ -117078,10 +117809,10 @@ func _getTempStore(tls *libc.TLS, z uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(z))) <= int32('2') { return int32(*(*uint8)(unsafe.Pointer(z))) - int32('0') } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+16714) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+16801) == 0 { return int32(1) } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+17773) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+17860) == 0 { return int32(2) } else { return 0 @@ -117103,7 +117834,7 @@ func _invalidateTempStorage(tls *libc.TLS, pParse uintptr) (r int32) { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt != uintptr(0) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || _sqlite3BtreeTxnState(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) != SQLITE_TXN_NONE { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17780, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17867, 0) return int32(SQLITE_ERROR) } _sqlite3BtreeClose(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) @@ -117238,15 +117969,15 @@ func _actionName(tls *libc.TLS, action Tu8) (r uintptr) { _ = zName switch int32(action) { case int32(OE_SetNull): - zName = __ccgo_ts + 17842 + zName = __ccgo_ts + 17929 case int32(OE_SetDflt): - zName = __ccgo_ts + 17851 + zName = __ccgo_ts + 17938 case int32(OE_Cascade): - zName = __ccgo_ts + 17863 + zName = __ccgo_ts + 17950 case int32(OE_Restrict): - zName = __ccgo_ts + 17871 + zName = __ccgo_ts + 17958 default: - zName = __ccgo_ts + 17880 + zName = __ccgo_ts + 17967 _ = libc.Int32FromInt32(0) break } @@ -117275,12 +118006,12 @@ func _sqlite3JournalModename(tls *libc.TLS, eMode int32) (r uintptr) { } var _azModeName = [6]uintptr{ - 0: __ccgo_ts + 17890, - 1: __ccgo_ts + 17897, - 2: __ccgo_ts + 17905, - 3: __ccgo_ts + 17909, - 4: __ccgo_ts + 17773, - 5: __ccgo_ts + 17918, + 0: __ccgo_ts + 17977, + 1: __ccgo_ts + 17984, + 2: __ccgo_ts + 17992, + 3: __ccgo_ts + 17996, + 4: __ccgo_ts + 17860, + 5: __ccgo_ts + 18005, } // C documentation @@ -117346,15 +118077,15 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s goto _1 } if (*TFuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = __ccgo_ts + 17943 + zType = __ccgo_ts + 18030 } else { if (*TFuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = __ccgo_ts + 17945 + zType = __ccgo_ts + 18032 } else { - zType = __ccgo_ts + 7626 + zType = __ccgo_ts + 7751 } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+17947, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18034, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) goto _1 _1: ; @@ -117363,9 +118094,9 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s } var _azEnc = [4]uintptr{ - 1: __ccgo_ts + 17922, - 2: __ccgo_ts + 17927, - 3: __ccgo_ts + 17935, + 1: __ccgo_ts + 18009, + 2: __ccgo_ts + 18014, + 3: __ccgo_ts + 18022, } // C documentation @@ -117406,15 +118137,15 @@ func _integrityCheckResultRow(tls *libc.TLS, v uintptr) (r int32) { func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { bp := tls.Alloc(240) defer tls.Free(240) - var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, mxIdx, n, nHidden, nIdx, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v60, v62, v63, v64, v65, v68 int32 - var aOp, aOp1, aOp2, aOp3, aOp4, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v61, v66, v8 uintptr + var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v48, v50, v64, v66, v67, v68, v69, v72, v75, v76 int32 + var aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v65, v70, v8 uintptr var azOrigin [3]uintptr var cnum Ti16 var enc Tu8 var iPrior Tsqlite3_int64 + var iRange, szThreshold TLogEst var mask Tu64 var opMask Tu32 - var szThreshold TLogEst var _ /* N at bp+136 */ Tsqlite3_int64 var _ /* N at bp+144 */ Tsqlite3_int64 var _ /* N at bp+152 */ Tsqlite3_int64 @@ -117435,7 +118166,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var _ /* size at bp+60 */ int32 var _ /* sz at bp+64 */ Tsqlite3_int64 var _ /* x at bp+40 */ Ti64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iPrior, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, mxIdx, n, nHidden, nIdx, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v5, v60, v61, v62, v63, v64, v65, v66, v68, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iPrior, iRange, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v48, v5, v50, v64, v65, v66, v67, v68, v69, v70, v72, v75, v76, v8 zLeft = uintptr(0) /* Nul-terminated UTF-8 string */ zRight = uintptr(0) /* Nul-terminated UTF-8 string , or NULL */ zDb = uintptr(0) /* return value form SQLITE_FCNTL_PRAGMA */ @@ -117464,7 +118195,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p return } if minusFlag != 0 { - zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+17954, libc.VaList(bp+176, pValue)) + zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+18041, libc.VaList(bp+176, pValue)) } else { zRight = _sqlite3NameFromToken(tls, db, pValue) } @@ -117508,7 +118239,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } if rc != int32(SQLITE_NOTFOUND) { if (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0] != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3804, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3868, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) Xsqlite3_free(tls, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0]) } (*TParse)(unsafe.Pointer(pParse)).FnErr++ @@ -117615,7 +118346,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p b = -int32(1) _ = libc.Int32FromInt32(0) if zRight != 0 { - if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+17958) == 0 { + if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18045) == 0 { b = int32(2) } else { b = int32(_sqlite3GetBoolean(tls, zRight, uint8(0))) @@ -117686,7 +118417,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p */ fallthrough case int32(PragTyp_LOCKING_MODE): - zRet = __ccgo_ts + 17749 + zRet = __ccgo_ts + 17836 eMode = _getLockingMode(tls, zRight) if (*TToken)(unsafe.Pointer(pId2)).Fn == uint32(0) && eMode == -int32(1) { /* Simple "PRAGMA locking_mode;" statement. This is a query for @@ -117716,7 +118447,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } _ = libc.Int32FromInt32(0) if eMode == int32(PAGER_LOCKINGMODE_EXCLUSIVE) { - zRet = __ccgo_ts + 17739 + zRet = __ccgo_ts + 17826 } _returnSingleText(tls, v, zRet) break @@ -118011,7 +118742,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if *(*uint8)(unsafe.Pointer(zRight)) != 0 { rc = _sqlite3OsAccess(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, zRight, int32(SQLITE_ACCESS_READWRITE), bp+72) if rc != SQLITE_OK || *(*int32)(unsafe.Pointer(bp + 72)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17963, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18050, 0) Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) goto pragma_out } @@ -118021,7 +118752,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } Xsqlite3_free(tls, Xsqlite3_temp_directory) if *(*uint8)(unsafe.Pointer(zRight)) != 0 { - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+176, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+176, zRight)) } else { Xsqlite3_temp_directory = uintptr(0) } @@ -118043,7 +118774,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _returnSingleInt(tls, v, int64(int32((*TDb)(unsafe.Pointer(pDb)).Fsafety_level)-int32(1))) } else { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17988, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18075, 0) } else { if iDb != int32(1) { iLevel = (int32(_getSafetyLevel(tls, zRight, 0, uint8(1))) + int32(1)) & int32(PAGER_SYNCHRONOUS_MASK) @@ -118076,7 +118807,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if mask == uint64(SQLITE_DeferFKs) { (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons = 0 } - if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18041) == 0 { + if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18128) == 0 { /* IMP: R-60817-01178 If the argument is "RESET" then schema ** writing is disabled (as with "PRAGMA writable_schema=OFF") and, ** in addition, the schema is reloaded. */ @@ -118159,9 +118890,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - v14 = __ccgo_ts + 18047 + v14 = __ccgo_ts + 18134 } else { - v14 = __ccgo_ts + 18055 + v14 = __ccgo_ts + 18142 } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 { v15 = int32(1) @@ -118173,7 +118904,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v16 = *(*uintptr)(unsafe.Pointer(pColExpr + 8)) } - _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1657), v15, v16, k, isHidden)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1671), v15, v16, k, isHidden)) goto _12 _12: ; @@ -118232,7 +118963,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pTab1 = (*THashElem)(unsafe.Pointer(k1)).Fdata if int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) == 0 { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18062, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18149, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 80)) = uintptr(0) Xsqlite3_prepare(tls, db, zSql, -int32(1), bp+80, uintptr(0)) @@ -118240,7 +118971,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3DbFree(tls, db, zSql) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1627, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1641, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) } pHash = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FpSchema + 8 @@ -118262,19 +118993,19 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _20 } if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10805 + zType = __ccgo_ts + 10930 } else { if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 13053 + zType = __ccgo_ts + 13178 } else { if (*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Shadow) != 0 { - zType = __ccgo_ts + 18078 + zType = __ccgo_ts + 18165 } else { - zType = __ccgo_ts + 9067 + zType = __ccgo_ts + 9192 } } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18085, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18172, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) goto _20 _20: ; @@ -118322,9 +119053,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v22 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab3)).FaCol + uintptr(cnum)*16))).FzCnName } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18092, libc.VaList(bp+176, i1, int32(cnum), v22)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18179, libc.VaList(bp+176, i1, int32(cnum), v22)) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18097, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) + _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18184, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) } _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), int32(1), (*TParse)(unsafe.Pointer(pParse)).FnMem) goto _21 @@ -118348,11 +119079,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } azOrigin = [3]uintptr{ - 0: __ccgo_ts + 18102, - 1: __ccgo_ts + 18104, - 2: __ccgo_ts + 16591, + 0: __ccgo_ts + 18189, + 1: __ccgo_ts + 18191, + 2: __ccgo_ts + 16678, } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18106, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18193, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) goto _23 _23: ; @@ -118372,7 +119103,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _24 } _ = libc.Int32FromInt32(0) - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18112, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18199, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) goto _24 _24: ; @@ -118389,7 +119120,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pColl = (*THashElem)(unsafe.Pointer(p)).Fdata v26 = i4 i4++ - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18116, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18203, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) goto _25 _25: ; @@ -118441,7 +119172,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } pMod = (*THashElem)(unsafe.Pointer(j1)).Fdata - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7626, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7751, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) goto _30 _30: ; @@ -118453,7 +119184,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i6 < int32(libc.Uint64FromInt64(1584)/libc.Uint64FromInt64(24))) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7626, libc.VaList(bp+176, _aPragmaName[i6].FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7751, libc.VaList(bp+176, _aPragmaName[i6].FzName)) goto _31 _31: ; @@ -118479,7 +119210,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(j2 < (*TFKey)(unsafe.Pointer(pFK)).FnCol) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18119, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18128)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18206, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18215)) goto _32 _32: ; @@ -118625,7 +119356,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regResult+int32(1)) } - _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18133, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) + _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18220, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), regResult, int32(4)) _sqlite3VdbeResolveLabel(tls, v, addrOk) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 96))) @@ -118695,7 +119426,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p /* Set the maximum error count */ *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) if zRight != 0 { - if _sqlite3GetInt32(tls, zRight, bp+104) != 0 { + if _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pValue)).Fz, bp+104) != 0 { if *(*int32)(unsafe.Pointer(bp + 104)) <= 0 { *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) } @@ -118715,8 +119446,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i9 < (*Tsqlite3)(unsafe.Pointer(db)).FnDb) { break } /* Array of root page numbers of all btrees */ - cnt = 0 /* Number of entries in aRoot[] */ - mxIdx = 0 /* Maximum number of indexes for any table */ + cnt = 0 /* Number of entries in aRoot[] */ if libc.Bool(OMIT_TEMPDB != 0) && i9 == int32(1) { goto _40 } @@ -118758,9 +119488,6 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pIdx3 = (*TIndex)(unsafe.Pointer(pIdx3)).FpNext nIdx++ } - if nIdx > mxIdx { - mxIdx = nIdx - } goto _41 _41: ; @@ -118816,16 +119543,78 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } *(*int32)(unsafe.Pointer(aRoot)) = cnt /* Make sure sufficient number of registers have been allocated */ - _sqlite3TouchRegister(tls, pParse, int32(8)+mxIdx) + _sqlite3TouchRegister(tls, pParse, int32(8)+cnt) _sqlite3ClearTempRegCache(tls, pParse) /* Do the b-tree integrity checks */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(2), cnt, int32(1), aRoot, -int32(14)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(1), cnt, int32(8), aRoot, -int32(14)) _sqlite3VdbeChangeP5(tls, v, uint16(uint8(i9))) addr1 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(2)) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18137, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18224, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(2), int32(3), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, addr1) + /* Check that the indexes all have the right number of rows */ + if pObjTab != 0 { + v48 = int32(1) + } else { + v48 = 0 + } + cnt = v48 + _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18248) + x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst + for { + if !(x2 != 0) { + break + } + iTab = 0 + pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab9 { + goto _49 + } + if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + v50 = cnt + cnt++ + iTab = v50 + } else { + iTab = cnt + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx5 + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { + break + } + iTab++ + goto _51 + _51: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + } + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if (*TIndex)(unsafe.Pointer(pIdx5)).FpPartIdxWhere == uintptr(0) { + addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+cnt, 0, int32(8)+iTab) + _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) + _integrityCheckResultRow(tls, v) + _sqlite3VdbeJumpHere(tls, v, addr1) + } + cnt++ + goto _52 + _52: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + goto _49 + _49: + ; + x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext + } /* Make sure all the indices are constructed correctly. */ x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst @@ -118833,39 +119622,39 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata pPrior = uintptr(0) r1 = -int32(1) /* Maximum non-virtual column number */ - if pObjTab != 0 && pObjTab != pTab9 { - goto _48 + if pObjTab != 0 && pObjTab != pTab10 { + goto _53 } - if !(int32((*TTable)(unsafe.Pointer(pTab9)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { - goto _48 + if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _53 } - if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { pPk1 = uintptr(0) r2 = 0 } else { - pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab9) + pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab10) r2 = _sqlite3GetTempRange(tls, pParse, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), int32(1), r2, r2+int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)-int32(1)) } - _sqlite3OpenTableAndIndices(tls, pParse, pTab9, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) + _sqlite3OpenTableAndIndices(tls, pParse, pTab10, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) /* reg[7] counts the number of entries in the table. ** reg[8+i] counts the number of entries in the i-th index */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(7)) j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(8)+j4) /* index entries counter */ - goto _49 - _49: + goto _54 + _54: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } _ = libc.Int32FromInt32(0) @@ -118878,29 +119667,29 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** by the OP_IsType code, so it is a required step. */ _ = libc.Int32FromInt32(0) - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { mxCol = -int32(1) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { + if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { mxCol++ } - goto _50 - _50: + goto _55 + _55: ; j4++ } - if mxCol == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { + if mxCol == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { mxCol-- } } else { /* COLFLAG_VIRTUAL columns are not included in the WITHOUT ROWID ** PK index column-count, so there is no need to account for them ** in this case. */ - mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab9))).FnColumn) - int32(1) + mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab10))).FnColumn) - int32(1) } if mxCol >= 0 { _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 108)), mxCol, int32(3)) @@ -118910,7 +119699,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if pPk1 != 0 { a1 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 108)), 0, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), r2) - zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18161, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18277, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a1) @@ -118921,8 +119710,8 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprCodeLoadIndexColumn(tls, pParse, pPk1, *(*int32)(unsafe.Pointer(bp + 108)), j4, r2+j4) - goto _51 - _51: + goto _56 + _56: ; j4++ } @@ -118937,15 +119726,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** (4) Datatype for numeric columns in non-STRICT tables must not ** be a TEXT value that can be losslessly converted to numeric. */ - bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_Strict) != uint32(0)) + bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_Strict) != uint32(0)) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - pCol1 = (*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ - if j4 == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { - goto _52 + pCol1 = (*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ + if j4 == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { + goto _57 } if bStrict != 0 { doTypeCheck = libc.BoolInt32(int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4)) > int32(COLTYPE_ANY)) @@ -118953,28 +119742,28 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p doTypeCheck = libc.BoolInt32(int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) > int32(SQLITE_AFF_BLOB)) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf>>0)) == 0 && !(doTypeCheck != 0) { - goto _52 + goto _57 } /* Compute the operands that will be needed for OP_IsType */ p4 = int32(SQLITE_NULL) if int32((*TColumn)(unsafe.Pointer(pCol1)).FcolFlags)&int32(COLFLAG_VIRTUAL) != 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) p11 = -int32(1) p3 = int32(3) } else { if (*TColumn)(unsafe.Pointer(pCol1)).FiDflt != 0 { *(*uintptr)(unsafe.Pointer(bp + 120)) = uintptr(0) - _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab9, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, (*TColumn)(unsafe.Pointer(pCol1)).Faffinity, bp+120) + _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab10, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, (*TColumn)(unsafe.Pointer(pCol1)).Faffinity, bp+120) if *(*uintptr)(unsafe.Pointer(bp + 120)) != 0 { p4 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) } } p11 = *(*int32)(unsafe.Pointer(bp + 108)) - if !((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { - p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab9), int16(j4))) + if !((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { + p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab10), int16(j4))) } else { - p3 = int32(_sqlite3TableColumnToStorage(tls, pTab9, int16(j4))) + p3 = int32(_sqlite3TableColumnToStorage(tls, pTab10, int16(j4))) } } labelError = _sqlite3VdbeMakeLabel(tls, pParse) @@ -118991,10 +119780,10 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** is REAL, we have to load the actual data using OP_Column ** to reliably determine if the value is a NULL. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), p11, p3, int32(3)) - _sqlite3ColumnDefault(tls, v, pTab9, j4, int32(3)) + _sqlite3ColumnDefault(tls, v, pTab10, j4, int32(3)) jmp3 = _sqlite3VdbeAddOp2(tls, v, int32(OP_NotNull), int32(3), labelOk) } - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18197, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18313, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) if doTypeCheck != 0 { _sqlite3VdbeGoto(tls, v, labelError) @@ -119008,7 +119797,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _ = libc.Int32FromInt32(0) _sqlite3VdbeChangeP5(tls, v, uint16(_aStdTypeMask[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)])) - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18217, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18333, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) == int32(SQLITE_AFF_TEXT) { @@ -119016,7 +119805,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** NULL, TEXT, or BLOB. */ _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18239, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18355, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) >= int32(SQLITE_AFF_NUMERIC) { @@ -119025,12 +119814,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1b)) /* NULL, INT, FLOAT, or BLOB */ if p11 >= 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18262, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18378, -int32(1)) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), -int32(1), labelOk, int32(3), p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18264, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18380, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } } @@ -119038,14 +119827,14 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeResolveLabel(tls, v, labelError) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, labelOk) - goto _52 - _52: + goto _57 + _57: ; j4++ } /* Verify CHECK constraints */ - if (*TTable)(unsafe.Pointer(pTab9)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { - pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab9)).FpCheck, 0) + if (*TTable)(unsafe.Pointer(pTab10)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { + pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab10)).FpCheck, 0) if int32((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { addrCkFault = _sqlite3VdbeMakeLabel(tls, pParse) addrCkOk = _sqlite3VdbeMakeLabel(tls, pParse) @@ -119056,15 +119845,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprIfFalse(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8 + uintptr(k3)*32))).FpExpr, addrCkFault, 0) - goto _53 - _53: + goto _58 + _58: ; k3-- } _sqlite3ExprIfTrue(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8))).FpExpr, addrCkOk, int32(SQLITE_JUMPIFNULL)) _sqlite3VdbeResolveLabel(tls, v, addrCkFault) (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18284, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18400, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr2, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -119074,25 +119863,25 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(isQuick != 0) { /* Omit the remaining tests for quick_check */ /* Validate index entries for the current row */ j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } ckUniq = _sqlite3VdbeMakeLabel(tls, pParse) - if pPk1 == pIdx5 { - goto _54 + if pPk1 == pIdx6 { + goto _59 } - r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) - pPrior = pIdx5 + r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx6, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) + pPrior = pIdx6 _sqlite3VdbeAddOp2(tls, v, int32(OP_AddImm), int32(8)+j4, int32(1)) /* increment entry count */ /* Verify that an index entry exists for the current table row */ - jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18314) + jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18430) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18319) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18435) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) - jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx6)).FzName) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) jmp4 = _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, jmp21) @@ -119100,12 +119889,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** that extracts the rowid off the end of the index record. ** But it only works correctly if index record does not have ** any extra bytes at the end. Verify that this is the case. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { _sqlite3VdbeAddOp2(tls, v, int32(OP_IdxRowid), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)-int32(1)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18340) + jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)-int32(1)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18456) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18376) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18492) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp7) } @@ -119114,101 +119903,77 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p label6 = 0 kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { - goto _55 + if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { + goto _60 } if label6 == 0 { label6 = _sqlite3VdbeMakeLabel(tls, pParse) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 112))+j4, kk, int32(3)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ne), int32(3), label6, r1+kk) - goto _55 - _55: + goto _60 + _60: ; kk++ } if label6 != 0 { jmp6 = _sqlite3VdbeAddOp0(tls, v, int32(OP_Goto)) _sqlite3VdbeResolveLabel(tls, v, label6) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18314) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18430) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18387) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18503) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp6) } /* For UNIQUE indexes, verify that only one entry exists with the ** current key. The entry is unique if (1) any column is NULL ** or (2) the next entry has a different key */ - if int32((*TIndex)(unsafe.Pointer(pIdx5)).FonError) != OE_None { + if int32((*TIndex)(unsafe.Pointer(pIdx6)).FonError) != OE_None { uniqOk = _sqlite3VdbeMakeLabel(tls, pParse) kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2))) + iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FaiColumn + uintptr(kk)*2))) _ = libc.Int32FromInt32(0) - if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { - goto _56 + if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { + goto _61 } _sqlite3VdbeAddOp2(tls, v, int32(OP_IsNull), r1+kk, uniqOk) - goto _56 - _56: + goto _61 + _61: ; kk++ } jmp61 = _sqlite3VdbeAddOp1(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 112))+j4) _sqlite3VdbeGoto(tls, v, uniqOk) _sqlite3VdbeJumpHere(tls, v, jmp61) - _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18414) + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18530) _sqlite3VdbeGoto(tls, v, jmp5) _sqlite3VdbeResolveLabel(tls, v, uniqOk) } _sqlite3VdbeJumpHere(tls, v, jmp4) _sqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 128))) - goto _54 - _54: + goto _59 + _59: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } } _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 108)), loopTop) _sqlite3VdbeJumpHere(tls, v, loopTop-int32(1)) - if !(isQuick != 0) { - _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18441) - j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex - for { - if !(pIdx5 != 0) { - break - } - if pPk1 == pIdx5 { - goto _57 - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+j4, 0, int32(3)) - _sqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) - _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) - _integrityCheckResultRow(tls, v) - _sqlite3VdbeJumpHere(tls, v, addr1) - goto _57 - _57: - ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext - j4++ - } - if pPk1 != 0 { - _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) - } + if pPk1 != 0 { + _ = libc.Int32FromInt32(0) + _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) } - goto _48 - _48: + goto _53 + _53: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -119220,60 +119985,60 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata - if pObjTab != 0 && pObjTab != pTab10 { - goto _58 + pTab11 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab11 { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == TABTYP_NORM { - goto _58 + if int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == TABTYP_NORM { + goto _62 } - if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { - goto _58 + if !(int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FnCol) <= 0 { + if int32((*TTable)(unsafe.Pointer(pTab11)).FnCol) <= 0 { zMod = *(*uintptr)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).FazArg)) + })(unsafe.Pointer(pTab11 + 64))).FazArg)) if _sqlite3HashFind(tls, db+576, zMod) == uintptr(0) { - goto _58 + goto _62 } } - _sqlite3ViewGetColumnNames(tls, pParse, pTab10) + _sqlite3ViewGetColumnNames(tls, pParse, pTab11) if (*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp == uintptr(0) { - goto _58 + })(unsafe.Pointer(pTab11 + 64))).Fp == uintptr(0) { + goto _62 } pVTab = (*TVTable)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp)).FpVtab + })(unsafe.Pointer(pTab11 + 64))).Fp)).FpVtab if pVTab == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FiVersion < int32(4) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FxIntegrity == uintptr(0) { - goto _58 + goto _62 } _sqlite3VdbeAddOp3(tls, v, int32(OP_VCheck), i9, int32(3), isQuick) - (*TTable)(unsafe.Pointer(pTab10)).FnTabRef++ - _sqlite3VdbeAppendP4(tls, v, pTab10, -int32(16)) + (*TTable)(unsafe.Pointer(pTab11)).FnTabRef++ + _sqlite3VdbeAppendP4(tls, v, pTab11, -int32(16)) a11 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a11) - goto _58 - goto _58 - _58: + goto _62 + goto _62 + _62: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -119286,7 +120051,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if aOp2 != 0 { (*(*TVdbeOp)(unsafe.Pointer(aOp2))).Fp2 = int32(1) - *(*int32)(unsafe.Pointer(bp + 104)) (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 2*24))).Fp4type = int8(-libc.Int32FromInt32(1)) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18470 + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18557 (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 5*24))).Fp4type = int8(-libc.Int32FromInt32(1)) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = _sqlite3ErrStr(tls, int32(SQLITE_CORRUPT)) } @@ -119347,20 +120112,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc != 0 { - v60 = int32((*struct { + v64 = int32((*struct { FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc) } else { - v60 = int32(SQLITE_UTF16LE) + v64 = int32(SQLITE_UTF16LE) } - enc = uint8(v60) + enc = uint8(v64) (*TSchema)(unsafe.Pointer((*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema)).Fenc = enc _sqlite3SetTextEncoding(tls, db, enc) break } - goto _59 - _59: + goto _63 + _63: ; pEnc += 16 } @@ -119368,7 +120133,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).FzName != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18531, libc.VaList(bp+176, zRight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18618, libc.VaList(bp+176, zRight)) } } } @@ -119446,11 +120211,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p i10 = 0 (*TParse)(unsafe.Pointer(pParse)).FnMem = int32(1) for { - v62 = i10 + v66 = i10 i10++ - v61 = Xsqlite3_compileoption_get(tls, v62) - zOpt = v61 - if !(v61 != uintptr(0)) { + v65 = Xsqlite3_compileoption_get(tls, v66) + zOpt = v65 + if !(v65 != uintptr(0)) { break } _sqlite3VdbeLoadString(tls, v, int32(1), zOpt) @@ -119466,20 +120231,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p fallthrough case int32(PragTyp_WAL_CHECKPOINT): if (*TToken)(unsafe.Pointer(pId2)).Fz != 0 { - v63 = iDb + v67 = iDb } else { - v63 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) + v67 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) } - iBt = v63 + iBt = v67 eMode2 = SQLITE_CHECKPOINT_PASSIVE if zRight != 0 { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17756) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17843) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_FULL) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18556) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18643) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_RESTART) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17909) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17996) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_TRUNCATE) } } @@ -119503,11 +120268,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p Xsqlite3_wal_autocheckpoint(tls, db, _sqlite3Atoi(tls, zRight)) } if (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback == __ccgo_fp(_sqlite3WalDefaultHook) { - v64 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) + v68 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) } else { - v64 = 0 + v68 = 0 } - _returnSingleInt(tls, v, int64(v64)) + _returnSingleInt(tls, v, int64(v68)) break /* ** PRAGMA shrink_memory @@ -119535,47 +120300,68 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** ** The optional argument is a bitmask of optimizations to perform: ** - ** 0x0001 Debugging mode. Do not actually perform any optimizations - ** but instead return one line of text for each optimization - ** that would have been done. Off by default. + ** 0x00001 Debugging mode. Do not actually perform any optimizations + ** but instead return one line of text for each optimization + ** that would have been done. Off by default. ** - ** 0x0002 Run ANALYZE on tables that might benefit. On by default. - ** See below for additional information. + ** 0x00002 Run ANALYZE on tables that might benefit. On by default. + ** See below for additional information. ** - ** 0x0004 (Not yet implemented) Record usage and performance - ** information from the current session in the - ** database file so that it will be available to "optimize" - ** pragmas run by future database connections. + ** 0x00010 Run all ANALYZE operations using an analysis_limit that + ** is the lessor of the current analysis_limit and the + ** SQLITE_DEFAULT_OPTIMIZE_LIMIT compile-time option. + ** The default value of SQLITE_DEFAULT_OPTIMIZE_LIMIT is + ** currently (2024-02-19) set to 2000, which is such that + ** the worst case run-time for PRAGMA optimize on a 100MB + ** database will usually be less than 100 milliseconds on + ** a RaspberryPI-4 class machine. On by default. ** - ** 0x0008 (Not yet implemented) Create indexes that might have - ** been helpful to recent queries + ** 0x10000 Look at tables to see if they need to be reanalyzed + ** due to growth or shrinkage even if they have not been + ** queried during the current connection. Off by default. ** - ** The default MASK is and always shall be 0xfffe. 0xfffe means perform all - ** of the optimizations listed above except Debug Mode, including new - ** optimizations that have not yet been invented. If new optimizations are - ** ever added that should be off by default, those off-by-default - ** optimizations will have bitmasks of 0x10000 or larger. + ** The default MASK is and always shall be 0x0fffe. In the current + ** implementation, the default mask only covers the 0x00002 optimization, + ** though additional optimizations that are covered by 0x0fffe might be + ** added in the future. Optimizations that are off by default and must + ** be explicitly requested have masks of 0x10000 or greater. ** ** DETERMINATION OF WHEN TO RUN ANALYZE ** ** In the current implementation, a table is analyzed if only if all of ** the following are true: ** - ** (1) MASK bit 0x02 is set. + ** (1) MASK bit 0x00002 is set. + ** + ** (2) The table is an ordinary table, not a virtual table or view. ** - ** (2) The query planner used sqlite_stat1-style statistics for one or - ** more indexes of the table at some point during the lifetime of - ** the current connection. + ** (3) The table name does not begin with "sqlite_". ** - ** (3) One or more indexes of the table are currently unanalyzed OR - ** the number of rows in the table has increased by 25 times or more - ** since the last time ANALYZE was run. + ** (4) One or more of the following is true: + ** (4a) The 0x10000 MASK bit is set. + ** (4b) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. + ** (4c) The query planner used sqlite_stat1-style statistics for one + ** or more indexes of the table at some point during the lifetime + ** of the current connection. + ** + ** (5) One or more of the following is true: + ** (5a) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. (Same as 4a) + ** (5b) The number of rows in the table has increased or decreased by + ** 10-fold. In other words, the current size of the table is + ** 10 times larger than the size in sqlite_stat1 or else the + ** current size is less than 1/10th the size in sqlite_stat1. ** ** The rules for when tables are analyzed are likely to change in - ** future releases. + ** future releases. Future versions of SQLite might accept a string + ** literal argument to this pragma that contains a mnemonic description + ** of the options rather than a bitmap. */ fallthrough - case int32(PragTyp_OPTIMIZE): /* Mask of operations to perform */ + case int32(PragTyp_OPTIMIZE): /* Analysis limit to use */ + nCheck = 0 /* Number of tables to be optimized */ + nBtree = 0 /* Number of indexes on the current table */ if zRight != 0 { opMask = uint32(_sqlite3Atoi(tls, zRight)) if opMask&uint32(0x02) == uint32(0) { @@ -119584,22 +120370,31 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { opMask = uint32(0xfffe) } - v66 = pParse + 52 - v65 = *(*int32)(unsafe.Pointer(v66)) - *(*int32)(unsafe.Pointer(v66))++ - iTabCur = v65 + if opMask&uint32(0x10) == uint32(0) { + nLimit = 0 + } else { + if (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit > 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit < int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) { + nLimit = 0 + } else { + nLimit = int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) + } + } + v70 = pParse + 52 + v69 = *(*int32)(unsafe.Pointer(v70)) + *(*int32)(unsafe.Pointer(v70))++ + iTabCur = v69 if zDb != 0 { - v68 = iDb + v72 = iDb } else { - v68 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) + v72 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) } - iDbLast = v68 + iDbLast = v72 for { if !(iDb <= iDbLast) { break } if iDb == int32(1) { - goto _67 + goto _71 } _sqlite3CodeVerifySchema(tls, pParse, iDb) pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema @@ -119608,53 +120403,122 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(k4 != 0) { break } - pTab11 = (*THashElem)(unsafe.Pointer(k4)).Fdata - /* If table pTab has not been used in a way that would benefit from - ** having analysis statistics during the current session, then skip it. - ** This also has the effect of skipping virtual tables and views */ - if (*TTable)(unsafe.Pointer(pTab11)).FtabFlags&uint32(TF_StatsUsed) == uint32(0) { - goto _69 + pTab12 = (*THashElem)(unsafe.Pointer(k4)).Fdata + /* This only works for ordinary tables */ + if !(int32((*TTable)(unsafe.Pointer(pTab12)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _73 } - /* Reanalyze if the table is 25 times larger than the last analysis */ - szThreshold = int16(int32((*TTable)(unsafe.Pointer(pTab11)).FnRowLogEst) + int32(46)) - _ = libc.Int32FromInt32(0) - pIdx6 = (*TTable)(unsafe.Pointer(pTab11)).FpIndex + /* Do not scan system tables */ + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab12)).FzName, __ccgo_ts+6598, int32(7)) { + goto _73 + } + /* Find the size of the table as last recorded in sqlite_stat1. + ** If any index is unanalyzed, then the threshold is -1 to + ** indicate a new, unanalyzed index + */ + szThreshold = (*TTable)(unsafe.Pointer(pTab12)).FnRowLogEst + nIndex = 0 + pIdx7 = (*TTable)(unsafe.Pointer(pTab12)).FpIndex for { - if !(pIdx6 != 0) { + if !(pIdx7 != 0) { break } - if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7)) != 0) { - szThreshold = 0 /* Always analyze if any index lacks statistics */ - break + nIndex++ + if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx7 + 100))&0x80>>7)) != 0) { + szThreshold = int16(-int32(1)) /* Always analyze if any index lacks statistics */ } - goto _70 - _70: + goto _74 + _74: ; - pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext + pIdx7 = (*TIndex)(unsafe.Pointer(pIdx7)).FpNext + } + /* If table pTab has not been used in a way that would benefit from + ** having analysis statistics during the current session, then skip it, + ** unless the 0x10000 MASK bit is set. */ + if (*TTable)(unsafe.Pointer(pTab12)).FtabFlags&uint32(TF_MaybeReanalyze) != uint32(0) { + /* Check for size change if stat1 has been used for a query */ + } else { + if opMask&uint32(0x10000) != 0 { + /* Check for size change if 0x10000 is set */ + } else { + if (*TTable)(unsafe.Pointer(pTab12)).FpIndex != uintptr(0) && int32(szThreshold) < 0 { + /* Do analysis if unanalyzed indexes exists */ + } else { + /* Otherwise, we can skip this table */ + goto _73 + } + } } - if szThreshold != 0 { - _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab11, int32(OP_OpenRead)) - _sqlite3VdbeAddOp3(tls, v, int32(OP_IfSmaller), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), int32(szThreshold)) + nCheck++ + if nCheck == int32(2) { + /* If ANALYZE might be invoked two or more times, hold a write + ** transaction for efficiency */ + _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) + } + nBtree += nIndex + int32(1) + /* Reanalyze if the table is 10 times larger or smaller than + ** the last analysis. Unconditional reanalysis if there are + ** unanalyzed indexes. */ + _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab12, int32(OP_OpenRead)) + if int32(szThreshold) >= 0 { + iRange = int16(33) /* 10x size change */ + if int32(szThreshold) >= int32(iRange) { + v75 = int32(szThreshold) - int32(iRange) + } else { + v75 = -int32(1) + } + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IfSizeBetween), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), v75, int32(szThreshold)+int32(iRange)) + } else { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1))) } - zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18564, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab11)).FzName)) + zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18651, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab12)).FzName)) if opMask&uint32(0x01) != 0 { r11 = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, r11, 0, zSubSql, -int32(6)) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), r11, int32(1)) } else { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), 0, 0, 0, zSubSql, -int32(6)) + if nLimit != 0 { + v76 = int32(0x02) + } else { + v76 = 00 + } + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), v76, nLimit, 0, zSubSql, -int32(6)) } - goto _69 - _69: + goto _73 + _73: ; k4 = (*THashElem)(unsafe.Pointer(k4)).Fnext } - goto _67 - _67: + goto _71 + _71: ; iDb++ } _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) + /* In a schema with a large number of tables and indexes, scale back + ** the analysis_limit to avoid excess run-time in the worst case. + */ + if !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && nLimit > 0 && nBtree > int32(100) { + nLimit = int32(100) * nLimit / nBtree + if nLimit < int32(100) { + nLimit = int32(100) + } + aOp5 = _sqlite3VdbeGetOp(tls, v, 0) + iEnd = _sqlite3VdbeCurrentAddr(tls, v) + iAddr1 = 0 + for { + if !(iAddr1 < iEnd) { + break + } + if int32((*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fopcode) == int32(OP_SqlExec) { + (*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fp2 = nLimit + } + goto _77 + _77: + ; + iAddr1++ + } + } break /* ** PRAGMA busy_timeout @@ -119881,34 +120745,34 @@ var _encnames1 = [9]struct { Fenc Tu8 }{ 0: { - FzName: __ccgo_ts + 18473, + FzName: __ccgo_ts + 18560, Fenc: uint8(SQLITE_UTF8), }, 1: { - FzName: __ccgo_ts + 18478, + FzName: __ccgo_ts + 18565, Fenc: uint8(SQLITE_UTF8), }, 2: { - FzName: __ccgo_ts + 18484, + FzName: __ccgo_ts + 18571, Fenc: uint8(SQLITE_UTF16LE), }, 3: { - FzName: __ccgo_ts + 18493, + FzName: __ccgo_ts + 18580, Fenc: uint8(SQLITE_UTF16BE), }, 4: { - FzName: __ccgo_ts + 18502, + FzName: __ccgo_ts + 18589, Fenc: uint8(SQLITE_UTF16LE), }, 5: { - FzName: __ccgo_ts + 18510, + FzName: __ccgo_ts + 18597, Fenc: uint8(SQLITE_UTF16BE), }, 6: { - FzName: __ccgo_ts + 18518, + FzName: __ccgo_ts + 18605, }, 7: { - FzName: __ccgo_ts + 18525, + FzName: __ccgo_ts + 18612, }, 8: {}, } @@ -120004,14 +120868,14 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg _ = argc _ = argv _sqlite3StrAccumInit(tls, bp, uintptr(0), bp+32, int32(200), 0) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18582) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18669) i = 0 j = int32((*TPragmaName)(unsafe.Pointer(pPragma)).FiPragCName) for { if !(i < int32((*TPragmaName)(unsafe.Pointer(pPragma)).FnPragCName)) { break } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18597, libc.VaList(bp+240, int32(cSep), _pragCName[j])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18684, libc.VaList(bp+240, int32(cSep), _pragCName[j])) cSep = uint8(',') goto _1 _1: @@ -120020,19 +120884,19 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg j++ } if i == 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18604, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18691, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&int32(PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18610) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18697) j++ } if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(libc.Int32FromInt32(PragFlg_SchemaOpt)|libc.Int32FromInt32(PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18622) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18709) j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5115, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5179, int32(1)) _sqlite3StrAccumFinish(tls, bp) _ = libc.Int32FromInt32(0) rc = Xsqlite3_declare_vtab(tls, db, bp+32) @@ -120048,7 +120912,7 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg (*TPragmaVtab)(unsafe.Pointer(pTab)).FnHidden = uint8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab return rc @@ -120094,14 +120958,14 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 if !(i < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { break } - if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { goto _1 } if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != int32(SQLITE_INDEX_CONSTRAINT_EQ) { goto _1 } - if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { - goto _1 + if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + return int32(SQLITE_CONSTRAINT) } j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn - int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) _ = libc.Int32FromInt32(0) @@ -120120,16 +120984,13 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 j = seen[0] - int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) - if seen[int32(1)] == 0 { - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(1000) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000) - return SQLITE_OK - } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(20) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(20) - j = seen[int32(1)] - int32(1) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + if seen[int32(1)] != 0 { + j = seen[int32(1)] - int32(1) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + } return SQLITE_OK } @@ -120157,6 +121018,7 @@ func _pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { _ = i Xsqlite3_finalize(tls, (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) + (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(16)/libc.Uint64FromInt64(8))) { @@ -120235,7 +121097,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if zText != 0 { - *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+40, zText)) + *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+40, zText)) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -120247,13 +121109,13 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr j++ } _sqlite3StrAccumInit(tls, bp, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4))) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18637) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18724) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18645, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18732, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) } Xsqlite3_str_appendall(tls, bp, (*TPragmaName)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18649, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18736, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) } zSql = _sqlite3StrAccumFinish(tls, bp) if zSql == uintptr(0) { @@ -120262,7 +121124,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr rc = Xsqlite3_prepare_v2(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), pCsr+8, uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return _pragmaVtabNext(tls, pVtabCursor) @@ -120390,24 +121252,24 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) /* A error message has already been generated. Do not overwrite it */ } else { if (*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(libc.Int32FromInt32(INITFLAG_AlterMask)) != 0 { - *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18683, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) + *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18770, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) (*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR) } else { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140891)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141840)) } else { if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - v1 = __ccgo_ts + 5117 + v1 = __ccgo_ts + 5181 } zObj = v1 - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18711, libc.VaList(bp+8, zObj)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18798, libc.VaList(bp+8, zObj)) if zExtra != 0 && *(*uint8)(unsafe.Pointer(zExtra)) != 0 { - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18742, libc.VaList(bp+8, z, zExtra)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18829, libc.VaList(bp+8, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140898)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141847)) } } } @@ -120415,9 +121277,9 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } var _azAlterType = [3]uintptr{ - 0: __ccgo_ts + 18653, - 1: __ccgo_ts + 18660, - 2: __ccgo_ts + 18672, + 0: __ccgo_ts + 18740, + 1: __ccgo_ts + 18747, + 2: __ccgo_ts + 18759, } // C documentation @@ -120497,7 +121359,7 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(iDb) if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), db+192) == 0 || (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage && (*TInitData)(unsafe.Pointer(pData)).FmxPage > uint32(0) { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14525) + _corruptSchema(tls, pData, argv, __ccgo_ts+14618) } } libc.SetBitFieldPtr8Uint32(db+192+8, libc.Uint32FromInt32(0), 0, 0x1) @@ -120532,11 +121394,11 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr } else { pIndex = _sqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName) if pIndex == uintptr(0) { - _corruptSchema(tls, pData, argv, __ccgo_ts+18750) + _corruptSchema(tls, pData, argv, __ccgo_ts+18837) } else { if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum < uint32(2) || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage || _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14525) + _corruptSchema(tls, pData, argv, __ccgo_ts+14618) } } } @@ -120580,18 +121442,18 @@ func _sqlite3InitOne(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. */ - (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9067 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9192 if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6542 + v2 = __ccgo_ts + 6606 } else { - v2 = __ccgo_ts + 6075 + v2 = __ccgo_ts + 6139 } v1 = v2 zSchemaTabName = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(2)] = (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8139 - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18763 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8264 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18850 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(5)] = uintptr(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 72))).FiDb = iDb @@ -120681,7 +121543,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl } else { /* If opening an attached database, the encoding much match ENC(db) */ if (*(*[5]int32)(unsafe.Pointer(bp + 48)))[libc.Int32FromInt32(BTREE_TEXT_ENCODING)-libc.Int32FromInt32(1)]&int32(3) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12104) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12229) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -120707,7 +121569,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = uint8(1) } if int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > int32(SQLITE_MAX_FILE_FORMAT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18835) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18922) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -120723,7 +121585,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl */ _ = libc.Int32FromInt32(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).FmxPage = _sqlite3BtreeLastPage(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18859, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18946, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, __ccgo_fp(_sqlite3InitCallback), bp+72, uintptr(0)) @@ -121040,7 +121902,12 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) { var pCleanup uintptr _ = pCleanup - pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + if _sqlite3FaultSim(tls, int32(300)) != 0 { + pCleanup = uintptr(0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) + } else { + pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + } if pCleanup != 0 { (*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup (*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup @@ -121072,7 +121939,7 @@ func _sqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FpParse = pParse (*TParse)(unsafe.Pointer(pParse)).Fdb = db if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1627, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1641, 0) } } @@ -121108,7 +121975,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } _ = libc.Int32FromInt32(0) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1627, 0) + _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1641, 0) v1 = libc.Int32FromInt32(SQLITE_NOMEM) rc = v1 (*Tsqlite3)(unsafe.Pointer(db)).FerrCode = v1 @@ -121159,7 +122026,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep rc = _sqlite3BtreeSchemaLocked(tls, pBt) if rc != 0 { zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FzDbSName - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18893, libc.VaList(bp+432, zDb)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18980, libc.VaList(bp+432, zDb)) goto end_prepare } } @@ -121175,7 +122042,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep if nBytes >= 0 && (nBytes == 0 || int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(nBytes-int32(1))))) != 0) { mxLen = *(*int32)(unsafe.Pointer(db + 136 + 1*4)) if nBytes > mxLen { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+18923, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+19010, 0) rc = _sqlite3ApiExit(tls, db, int32(SQLITE_TOOBIG)) goto end_prepare } @@ -121211,7 +122078,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep _ = libc.Int32FromInt32(0) rc = (*(*TParse)(unsafe.Pointer(bp))).Frc if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3804, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3868, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) } else { _sqlite3Error(tls, db, rc) @@ -121242,7 +122109,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3 cnt = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141699)) + return _sqlite3MisuseError(tls, int32(142654)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) _sqlite3BtreeEnterAll(tls, db) @@ -121385,7 +122252,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr rc = SQLITE_OK *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141848)) + return _sqlite3MisuseError(tls, int32(142803)) } if nBytes >= 0 { z = zSql @@ -121795,15 +122662,15 @@ func _sqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC i++ } if jointype&(libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER)) == libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER) || jointype&int32(JT_ERROR) != 0 || jointype&(libc.Int32FromInt32(JT_OUTER)|libc.Int32FromInt32(JT_LEFT)|libc.Int32FromInt32(JT_RIGHT)) == int32(JT_OUTER) { - zSp1 = __ccgo_ts + 11211 - zSp2 = __ccgo_ts + 11211 + zSp1 = __ccgo_ts + 11336 + zSp2 = __ccgo_ts + 11336 if pB == uintptr(0) { zSp1++ } if pC == uintptr(0) { zSp2++ } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18942, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19029, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) jointype = int32(JT_INNER) } return jointype @@ -122106,7 +122973,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { if int32((*TSrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype)&int32(JT_NATURAL) != 0 { pUsing = uintptr(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18972, libc.VaList(bp+16, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19059, libc.VaList(bp+16, 0)) return int32(1) } j = 0 @@ -122159,7 +123026,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { zName1 = (*(*TIdList_item)(unsafe.Pointer(pList + 8 + uintptr(j)*16))).FzName iRightCol = _sqlite3ColumnIndex(tls, pRightTab, zName1) if iRightCol < 0 || _tableAndColumnIndex(tls, pSrc, 0, i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19022, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19109, libc.VaList(bp+16, zName1)) return int32(1) } pE1 = _sqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4))) @@ -122181,7 +123048,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { pFuncArgs = uintptr(0) /* Arguments to the coalesce() */ for _tableAndColumnIndex(tls, pSrc, *(*int32)(unsafe.Pointer(bp))+int32(1), i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) != 0 { if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 60 + 4))&0x400>>10)) == 0 || _sqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 72)), zName1) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19086, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19173, libc.VaList(bp+16, zName1)) break } pFuncArgs = _sqlite3ExprListAppend(tls, pParse, pFuncArgs, pE1) @@ -122227,7 +123094,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { } var _tkCoalesce = TToken{ - Fz: __ccgo_ts + 6739, + Fz: __ccgo_ts + 6803, Fn: uint32(8), } @@ -123027,13 +123894,13 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { _ = z switch id { case int32(TK_ALL): - z = __ccgo_ts + 19123 + z = __ccgo_ts + 19210 case int32(TK_INTERSECT): - z = __ccgo_ts + 19133 + z = __ccgo_ts + 19220 case int32(TK_EXCEPT): - z = __ccgo_ts + 19143 + z = __ccgo_ts + 19230 default: - z = __ccgo_ts + 19150 + z = __ccgo_ts + 19237 break } return z @@ -123054,7 +123921,7 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { func _explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19156, libc.VaList(bp+8, zUsage)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19243, libc.VaList(bp+8, zUsage)) } /* @@ -123088,12 +123955,17 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, iParm = (*TSelectDest)(unsafe.Pointer(pDest)).FiSDParm /* True if sorter record includes seq. no. */ nRefKey = 0 aOutEx = (*TSelect)(unsafe.Pointer(p)).FpEList + 8 - if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 { - v1 = __ccgo_ts + 19179 + nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat == 0 || nKey == int32(1) { + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat != 0 { + v1 = __ccgo_ts + 19266 + } else { + v1 = __ccgo_ts + 1671 + } + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19280, libc.VaList(bp+8, v1)) } else { - v1 = __ccgo_ts + 1657 + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19311, libc.VaList(bp+8, nKey)) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19194, libc.VaList(bp+8, v1)) _ = libc.Int32FromInt32(0) if (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut != 0 { _sqlite3VdbeAddOp2(tls, v, int32(OP_Gosub), (*TSortCtx)(unsafe.Pointer(pSort)).FregReturn, (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut) @@ -123116,7 +123988,6 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, regRow = _sqlite3GetTempRange(tls, pParse, nColumn) } } - nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat if int32((*TSortCtx)(unsafe.Pointer(pSort)).FsortFlags)&int32(SORTFLAG_UseSorter) != 0 { v3 = pParse + 56 *(*int32)(unsafe.Pointer(v3))++ @@ -123342,7 +124213,7 @@ func _columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr _ = libc.Int32FromInt32(0) if iCol < 0 { zType = __ccgo_ts + 1145 - *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16703 + *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16790 } else { *(*uintptr)(unsafe.Pointer(bp + 16)) = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, uintptr(0)) @@ -123495,13 +124366,13 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } _ = libc.Int32FromInt32(0) if iCol < 0 { - zCol = __ccgo_ts + 16703 + zCol = __ccgo_ts + 16790 } else { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } if fullName != 0 { zName1 = uintptr(0) - zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12390, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) + zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12515, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName1, __ccgo_fp(_sqlite3OomClear)) } else { _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, uintptr(-libc.Int32FromInt32(1))) @@ -123509,7 +124380,7 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { z = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32))).FzEName if z == uintptr(0) { - v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19225, libc.VaList(bp+8, i+int32(1))) + v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19357, libc.VaList(bp+8, i+int32(1))) } else { v2 = _sqlite3DbStrDup(tls, db, z) } @@ -123603,7 +124474,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if iCol >= 0 { v3 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } else { - v3 = __ccgo_ts + 16703 + v3 = __ccgo_ts + 16790 } zName = v3 } else { @@ -123619,7 +124490,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if zName != 0 && !(_sqlite3IsTrueOrFalse(tls, zName) != 0) { zName = _sqlite3DbStrDup(tls, db, zName) } else { - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19225, libc.VaList(bp+40, i+int32(1))) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19357, libc.VaList(bp+40, i+int32(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. @@ -123655,7 +124526,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, } *(*Tu32)(unsafe.Pointer(bp))++ v8 = *(*Tu32)(unsafe.Pointer(bp)) - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19234, libc.VaList(bp+40, nName, zName, v8)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19366, libc.VaList(bp+40, nName, zName, v8)) _sqlite3ProgressCheck(tls, pParse) if *(*Tu32)(unsafe.Pointer(bp)) > uint32(3) { Xsqlite3_randomness(tls, int32(4), bp) @@ -123715,9 +124586,9 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS defer tls.Free(64) var a, db, p, pCol, pColl, pS2, zType, p4, p5 uintptr var i, j, m int32 - var m1, n Ti64 + var k, n Ti64 var _ /* sNC at bp+0 */ TNameContext - _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, m, m1, n, p, pCol, pColl, pS2, zType, p4, p5 + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, k, m, n, p, pCol, pColl, pS2, zType, p4, p5 db = (*TParse)(unsafe.Pointer(pParse)).Fdb _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -123738,17 +124609,22 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS if !(i < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } + m = 0 + pS2 = pSelect *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags) & libc.Int32FromInt32(COLFLAG_NOINSERT)) p = (*(*TExprList_item)(unsafe.Pointer(a + uintptr(i)*32))).FpExpr /* pCol->szEst = ... // Column size est for SELECT tables never used */ (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, p) + for int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) && (*TSelect)(unsafe.Pointer(pS2)).FpNext != uintptr(0) { + m |= _sqlite3ExprDataType(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext + (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + } if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) { (*TColumn)(unsafe.Pointer(pCol)).Faffinity = aff } - if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && (*TSelect)(unsafe.Pointer(pSelect)).FpNext != 0 { - m = 0 - m = 0 - pS2 = (*TSelect)(unsafe.Pointer(pSelect)).FpNext + if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && ((*TSelect)(unsafe.Pointer(pS2)).FpNext != 0 || pS2 != pSelect) { + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext for { if !(pS2 != 0) { break @@ -123773,7 +124649,7 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS zType = _columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0)) if zType == uintptr(0) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) != int32(_sqlite3AffinityType(tls, zType, uintptr(0))) { if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_NUMERIC) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_FLEXNUM) { - zType = __ccgo_ts + 19242 + zType = __ccgo_ts + 19374 } else { zType = uintptr(0) j = int32(1) @@ -123793,13 +124669,13 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS } } if zType != 0 { - m1 = int64(_sqlite3Strlen30(tls, zType)) + k = int64(_sqlite3Strlen30(tls, zType)) n = int64(_sqlite3Strlen30(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) - (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+m1+int64(2))) + (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+k+int64(2))) p4 = pCol + 14 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) & ^(libc.Int32FromInt32(COLFLAG_HASTYPE) | libc.Int32FromInt32(COLFLAG_HASCOLL))) if (*TColumn)(unsafe.Pointer(pCol)).FzCnName != 0 { - libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(m1+int64(1))) + libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(k+int64(1))) p5 = pCol + 14 *(*Tu16)(unsafe.Pointer(p5)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p5))) | libc.Int32FromInt32(COLFLAG_HASTYPE)) } @@ -124095,7 +124971,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest iDistinct = 0 /* To ensure unique results if UNION */ eDest = int32(SRT_Fifo) /* Registers used by LIMIT and OFFSET */ if (*TSelect)(unsafe.Pointer(p)).FpWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19246, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19378, 0) return } /* Obtain authorization to do a recursive query */ @@ -124188,7 +125064,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest break } if (*TSelect)(unsafe.Pointer(pFirstRec)).FselFlags&uint32(SF_Aggregate) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19295, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19427, 0) goto end_of_recursive_query } (*TSelect)(unsafe.Pointer(pFirstRec)).Fop = uint8(TK_ALL) @@ -124203,7 +125079,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest /* Store the results of the setup-query in Queue. */ pSetup = (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior (*TSelect)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19337, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19469, 0) rc = _sqlite3Select(tls, pParse, pSetup, bp) (*TSelect)(unsafe.Pointer(pSetup)).FpNext = p if rc != 0 { @@ -124231,7 +125107,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest ** the value for the recursive-table. Store the results in the Queue. */ (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19343, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19475, 0) _sqlite3Select(tls, pParse, p, bp) _ = libc.Int32FromInt32(0) (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -124290,11 +125166,11 @@ func _multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) nRow += bShowAll } if nRow == int32(1) { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } else { - v1 = __ccgo_ts + 19358 + v1 = __ccgo_ts + 19490 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19360, libc.VaList(bp+8, nRow, v1)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19492, libc.VaList(bp+8, nRow, v1)) for p != 0 { _selectInnerLoop(tls, pParse, p, -int32(1), uintptr(0), uintptr(0), pDest, int32(1), int32(1)) if !(bShowAll != 0) { @@ -124409,8 +125285,8 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in return _multiSelectOrderBy(tls, pParse, p, pDest) } else { if (*TSelect)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19383, 0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19398, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19515, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19530, 0) } /* Generate code for the left and right SELECT statements. */ @@ -124436,7 +125312,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in _sqlite3VdbeAddOp3(tls, v, int32(OP_OffsetLimit), (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TSelect)(unsafe.Pointer(p)).FiOffset+int32(1), (*TSelect)(unsafe.Pointer(p)).FiOffset) } } - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19123, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19210, 0) rc = _sqlite3Select(tls, pParse, p, bp) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124493,7 +125369,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 48))).FeDest = op - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19417, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19549, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+48) _ = libc.Int32FromInt32(0) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior @@ -124559,7 +125435,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit1 = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 88))).FiSDParm = tab2 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19417, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19549, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+88) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124686,9 +125562,9 @@ func _sqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) bp := tls.Alloc(16) defer tls.Free(16) if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Values) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19438, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19570, 0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19484, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19616, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) } } @@ -125074,8 +125950,8 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy = _sqlite3ExprListDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0) - _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7376) - _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7376) + _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7501) + _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7501) /* Compute the limit registers */ _computeLimitRegisters(tls, pParse, p, labelEnd) if (*TSelect)(unsafe.Pointer(p)).FiLimit != 0 && op == int32(TK_ALL) { @@ -125119,14 +125995,14 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr regOutB = v21 _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), regAddrA) _sqlite3SelectDestInit(tls, bp+40, int32(SRT_Coroutine), regAddrB) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19566, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19698, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) /* Generate a coroutine to evaluate the SELECT statement to the ** left of the compound operator - the "A" select. */ addrSelectA = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regAddrA, 0, addrSelectA) (*TSelect)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19577, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19709, 0) _sqlite3Select(tls, pParse, pPrior, bp) _sqlite3VdbeEndCoroutine(tls, v, regAddrA) _sqlite3VdbeJumpHere(tls, v, addr1) @@ -125139,7 +126015,7 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr savedOffset = (*TSelect)(unsafe.Pointer(p)).FiOffset (*TSelect)(unsafe.Pointer(p)).FiLimit = regLimitB (*TSelect)(unsafe.Pointer(p)).FiOffset = 0 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19582, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19714, 0) _sqlite3Select(tls, pParse, p, bp+40) (*TSelect)(unsafe.Pointer(p)).FiLimit = savedLimit (*TSelect)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -125357,7 +126233,7 @@ func _substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) (r uintptr) { if pColl != 0 { v1 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v1 = __ccgo_ts + 5095 + v1 = __ccgo_ts + 5159 } pExpr = _sqlite3ExprAddCollateString(tls, (*TSubstContext)(unsafe.Pointer(pSubst)).FpParse, pExpr, v1) } @@ -126421,10 +127297,10 @@ func _findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pLeft) != 0 { + if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pLeft) != 0 { _constInsert(tls, pConst, pRight, pLeft, pExpr) } - if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pRight) != 0 { + if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pRight) != 0 { _constInsert(tls, pConst, pLeft, pRight, pExpr) } } @@ -126665,6 +127541,18 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** The hope is that the terms added to the inner query will make it more // ** efficient. // ** +// ** NAME AMBIGUITY +// ** +// ** This optimization is called the "WHERE-clause push-down optimization". +// ** +// ** Do not confuse this optimization with another unrelated optimization +// ** with a similar name: The "MySQL push-down optimization" causes WHERE +// ** clause terms that can be evaluated using only the index and without +// ** reference to the table are run first, so that if they are false, +// ** unnecessary table seeks are avoided. +// ** +// ** RULES +// ** // ** Do not attempt this optimization if: // ** // ** (1) (** This restriction was removed on 2017-09-29. We used to @@ -126730,10 +127618,10 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** (9c) There is a RIGHT JOIN (or FULL JOIN) in between the ON/USING // ** clause and the subquery. // ** -// ** Without this restriction, the push-down optimization might move -// ** the ON/USING filter expression from the left side of a RIGHT JOIN -// ** over to the right side, which leads to incorrect answers. See -// ** also restriction (6) in sqlite3ExprIsSingleTableConstraint(). +// ** Without this restriction, the WHERE-clause push-down optimization +// ** might move the ON/USING filter expression from the left side of a +// ** RIGHT JOIN over to the right side, which leads to incorrect answers. +// ** See also restriction (6) in sqlite3ExprIsSingleTableConstraint(). // ** // ** (10) The inner query is not the right-hand table of a RIGHT JOIN. // ** @@ -126828,7 +127716,7 @@ func _pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere ui nChng += _pushDownWhereTerms(tls, pParse, pSubq, (*TExpr)(unsafe.Pointer(pWhere)).FpRight, pSrcList, iSrc) pWhere = (*TExpr)(unsafe.Pointer(pWhere)).FpLeft } - if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc) != 0 { + if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc, int32(1)) != 0 { nChng++ *(*Tu32)(unsafe.Pointer(pSubq + 4)) |= uint32(SF_PushDown) for pSubq != 0 { @@ -127007,13 +127895,13 @@ func _minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) (r } _ = libc.Int32FromInt32(0) zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8)) - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15559) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15652) == 0 { eRet = int32(WHERE_ORDERBY_MIN) if _sqlite3ExprCanBeNull(tls, (*(*TExprList_item)(unsafe.Pointer(pEList + 8))).FpExpr) != 0 { sortFlags = uint8(KEYINFO_ORDER_BIGNULL) } } else { - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15563) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15656) == 0 { eRet = int32(WHERE_ORDERBY_MAX) sortFlags = uint8(KEYINFO_ORDER_DESC) } else { @@ -127109,7 +127997,7 @@ func _sqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r in pIdx = (*TIndex)(unsafe.Pointer(pIdx)).FpNext } if !(pIdx != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19588, libc.VaList(bp+8, zIndexedBy, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19720, libc.VaList(bp+8, zIndexedBy, 0)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) return int32(SQLITE_ERROR) } @@ -127236,7 +128124,7 @@ func _cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19606, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19738, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) return int32(1) } return 0 @@ -127418,7 +128306,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom *(*Tu32)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= uint32(SF_CopyCte) _ = libc.Int32FromInt32(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19629, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19761, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) return int32(2) } libc.SetBitFieldPtr16Uint32(pFrom+60+4, libc.Uint32FromInt32(1), 8, 0x100) @@ -127443,7 +128331,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ libc.SetBitFieldPtr16Uint32(pItem+60+4, libc.Uint32FromInt32(1), 6, 0x40) if (*TSelect)(unsafe.Pointer(pRecTerm)).FselFlags&uint32(SF_Recursive) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19649, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19781, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) return int32(2) } *(*Tu32)(unsafe.Pointer(pRecTerm + 4)) |= uint32(SF_Recursive) @@ -127465,7 +128353,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } pRecTerm = (*TSelect)(unsafe.Pointer(pRecTerm)).FpPrior } - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19692 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19824 pSavedWith = (*TParse)(unsafe.Pointer(pParse)).FpWith (*TParse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp)) if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { @@ -127501,7 +128389,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pEList = (*TSelect)(unsafe.Pointer(pLeft)).FpEList if (*TCte)(unsafe.Pointer(pCte)).FpCols != 0 { if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr != (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19715, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19847, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*TParse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return int32(2) } @@ -127510,9 +128398,9 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom _sqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8) if bMayRecursive != 0 { if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19753 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19885 } else { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19787 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19919 } _sqlite3WalkSelect(tls, pWalker, pSel) } @@ -127573,7 +128461,7 @@ func _sqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int if (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 { (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3DbStrDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias) } else { - (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19825, libc.VaList(bp+8, pFrom)) + (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19957, libc.VaList(bp+8, pFrom)) } for (*TSelect)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*TSelect)(unsafe.Pointer(pSel)).FpPrior @@ -127737,7 +128625,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { return int32(WRC_Abort) } if (*TTable)(unsafe.Pointer(pTab)).FnTabRef >= uint32(0xffff) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19829, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19961, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) (*TSrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return int32(WRC_Abort) } @@ -127753,7 +128641,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) && (*TTable)(unsafe.Pointer(pTab)).FpSchema != (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19868, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20000, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } (*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect = _sqlite3SelectDup(tls, db, (*(*struct { FpSelect uintptr @@ -127768,7 +128656,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).Fp)).FeVtabRisk) > libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15118, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15211, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } } _ = libc.Int32FromInt32(0) @@ -127905,7 +128793,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if iDb >= 0 { v10 = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName } else { - v10 = __ccgo_ts + 6599 + v10 = __ccgo_ts + 6663 } zSchemaName = v10 } @@ -127923,7 +128811,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if pNew != 0 { pX = pNew + 8 + uintptr((*TExprList)(unsafe.Pointer(pNew)).FnExpr-int32(1))*32 _ = libc.Int32FromInt32(0) - (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19899, libc.VaList(bp+8, zUName)) + (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20031, libc.VaList(bp+8, zUName)) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(ENAME_TAB), 0, 0x3) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(1), 7, 0x80) } @@ -128005,7 +128893,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, (*(*TExprList_item)(unsafe.Pointer(pNestedFrom + 8 + uintptr(j)*32))).FzEName) } else { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19904, libc.VaList(bp+8, zSchemaName, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20036, libc.VaList(bp+8, zSchemaName, zTabName, zName)) } if j == int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) { v13 = int32(ENAME_ROWID) @@ -128018,7 +128906,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } } else { if longNames != 0 { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12390, libc.VaList(bp+8, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12515, libc.VaList(bp+8, zTabName, zName)) libc.SetBitFieldPtr16Uint32(pX1+16+4, libc.Uint32FromInt32(ENAME_NAME), 0, 0x3) } else { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, zName) @@ -128038,9 +128926,9 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if !(tableSeen != 0) { if zTName != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19913, libc.VaList(bp+8, zTName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20045, libc.VaList(bp+8, zTName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19931, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20063, 0) } } } @@ -128054,7 +128942,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if (*TSelect)(unsafe.Pointer(p)).FpEList != 0 { if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19951, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20083, 0) return int32(WRC_Abort) } if elistFlags&uint32(libc.Int32FromInt32(EP_HasFunc)|libc.Int32FromInt32(EP_Subquery)) != uint32(0) { @@ -128416,12 +129304,12 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { pE = (*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFExpr _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19982, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20114, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -int32(1) } else { pKeyInfo = _sqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20033, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20165, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab >= 0 { @@ -128447,7 +129335,7 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { (*TKeyInfo)(unsafe.Pointer(pKeyInfo1)).FnKeyField++ } _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab, (*TExprList)(unsafe.Pointer(pOBList)).FnExpr+nExtra, 0, pKeyInfo1, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20066, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20198, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } goto _1 _1: @@ -128772,16 +129660,16 @@ func _explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintp if int32((*TParse)(unsafe.Pointer(pParse)).Fexplain) == int32(2) { bCover = libc.BoolInt32(pIdx != uintptr(0) && ((*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) || !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == libc.Int32FromInt32(SQLITE_IDXTYPE_PRIMARYKEY)))) if bCover != 0 { - v1 = __ccgo_ts + 20099 + v1 = __ccgo_ts + 20231 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } if bCover != 0 { v2 = (*TIndex)(unsafe.Pointer(pIdx)).FzName } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20122, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20254, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) } } @@ -128813,7 +129701,7 @@ func _havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3 ** statements AggInfo structure. */ if _sqlite3ExprIsConstantOrGroupBy(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*TSelect)(unsafe.Pointer(pS)).FpGroupBy) != 0 && libc.BoolInt32((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse)) == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8139) + pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8264) if pNew != 0 { pWhere = (*TSelect)(unsafe.Pointer(pS)).FpWhere t = *(*TExpr)(unsafe.Pointer(pNew)) @@ -128973,7 +129861,7 @@ func _countOfViewOptimization(tls *libc.TLS, pParse uintptr, p uintptr) (r int32 return 0 } /* Result is an aggregate */ _ = libc.Int32FromInt32(0) - if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15853) != 0 { + if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15946) != 0 { return 0 } /* Is count() */ _ = libc.Int32FromInt32(0) @@ -129246,7 +130134,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { v1 = (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p0)).FpTab)).FzName } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20134, libc.VaList(bp+176, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20266, libc.VaList(bp+176, v1)) goto select_end } /* Clear the SF_UFSrcCheck flag. The check has already been performed, @@ -129349,7 +130237,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r /* Catch mismatch in the declared columns of a view and the number of ** columns in the SELECT on the RHS */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) != (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20188, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20320, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end } /* Do not attempt the usual optimizations (flattening and ORDER BY @@ -129487,12 +130375,12 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r ** string for the fake column name seems safer. */ if (*TSrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0) && (*TSrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0) { - _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1657, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1671, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) } /* Generate code for all sub-queries in the FROM clause */ pSub1 = (*TSrcItem)(unsafe.Pointer(pItem1)).FpSelect - if pSub1 == uintptr(0) { + if pSub1 == uintptr(0) || (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub != 0 { goto _10 } /* The code for a subquery should only be generated once. */ @@ -129533,7 +130421,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop _sqlite3SelectDestInit(tls, bp+72, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20228, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20360, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60+4, libc.Uint32FromInt32(1), 5, 0x20) @@ -129581,7 +130469,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { } _sqlite3SelectDestInit(tls, bp+72, int32(SRT_EphemTab), (*TSrcItem)(unsafe.Pointer(pItem1)).FiCursor) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20243, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20375, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow if onceAddr != 0 { @@ -129999,11 +130887,11 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r groupBySort = 0 } else { if (*(*TDistinctCtx)(unsafe.Pointer(bp))).FisTnct != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Distinct) == uint32(0) { - v44 = __ccgo_ts + 20259 + v44 = __ccgo_ts + 20391 } else { - v44 = __ccgo_ts + 20268 + v44 = __ccgo_ts + 20400 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19156, libc.VaList(bp+176, v44)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19243, libc.VaList(bp+176, v44)) groupBySort = int32(1) nGroupBy = (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr nCol = nGroupBy @@ -130327,7 +131215,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeResolveLabel(tls, v, addrEnd) } /* endif aggregate query */ if int32((*(*TDistinctCtx)(unsafe.Pointer(bp))).FeTnctType) == int32(WHERE_DISTINCT_UNORDERED) { - _explainTempTable(tls, pParse, __ccgo_ts+20259) + _explainTempTable(tls, pParse, __ccgo_ts+20391) } /* If there is an ORDER BY clause, then we need to sort the results ** and send them to the callback one by one. @@ -130436,7 +131324,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr if !(i < nCol) { break } - z = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if z == uintptr(0) { goto malloc_failed } @@ -130452,7 +131340,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr } else { if int32((*TTabResult)(unsafe.Pointer(p)).FnColumn) != nCol { Xsqlite3_free(tls, (*TTabResult)(unsafe.Pointer(p)).FzErrMsg) - (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20277, 0) + (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20409, 0) (*TTabResult)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) return int32(1) } @@ -130543,7 +131431,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) } Xsqlite3_free(tls, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg) } @@ -130713,7 +131601,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if isTemp != 0 { /* If TEMP was specified, then the trigger name may not be qualified. */ if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20342, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20474, 0) goto trigger_cleanup } iDb = int32(1) @@ -130754,7 +131642,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } _ = libc.Int32FromInt32(0) - _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20388, *(*uintptr)(unsafe.Pointer(bp))) + _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20520, *(*uintptr)(unsafe.Pointer(bp))) if _sqlite3FixSrcList(tls, bp+8, pTableName) != 0 { goto trigger_cleanup } @@ -130764,11 +131652,11 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_orphan_error } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20396, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20528, 0) goto trigger_orphan_error } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, db) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20437, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20569, 0) goto trigger_orphan_error } /* Check that the trigger name is not reserved and that no trigger of the @@ -130778,14 +131666,14 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 _ = libc.Int32FromInt32(0) goto trigger_cleanup } - if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20388, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { + if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20520, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { goto trigger_cleanup } _ = libc.Int32FromInt32(0) if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema+56, zName) != 0 { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20477, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20609, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -130794,8 +131682,8 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 } } /* Do not create a trigger on a system table */ - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6534, int32(7)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20503, 0) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6598, int32(7)) == 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20635, 0) goto trigger_cleanup } /* INSTEAD of triggers are only for views and views only support INSTEAD @@ -130803,15 +131691,15 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && tr_tm != int32(TK_INSTEAD) { if tr_tm == int32(TK_BEFORE) { - v1 = __ccgo_ts + 20541 + v1 = __ccgo_ts + 20673 } else { - v1 = __ccgo_ts + 20548 + v1 = __ccgo_ts + 20680 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20554, libc.VaList(bp+112, v1, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20686, libc.VaList(bp+112, v1, pTableName+8)) goto trigger_orphan_error } if !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) && tr_tm == int32(TK_INSTEAD) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20591, libc.VaList(bp+112, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20723, libc.VaList(bp+112, pTableName+8)) goto trigger_orphan_error } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -130831,9 +131719,9 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iTabDb == int32(1) { - v3 = __ccgo_ts + 6542 + v3 = __ccgo_ts + 6606 } else { - v3 = __ccgo_ts + 6075 + v3 = __ccgo_ts + 6139 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto trigger_cleanup @@ -130935,7 +131823,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl pStepList = (*TTriggerStep)(unsafe.Pointer(pStepList)).FpNext } _sqlite3TokenInit(tls, bp+96, (*TTrigger)(unsafe.Pointer(pTrig)).FzName) - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20388, bp+96) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20520, bp+96) if _sqlite3FixTriggerStep(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 || _sqlite3FixExpr(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).FpWhen) != 0 { goto triggerfinish_cleanup } @@ -130958,7 +131846,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl break } if (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget != uintptr(0) && _sqlite3ShadowTableName(tls, db, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20637, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20769, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) goto triggerfinish_cleanup } goto _1 @@ -130974,10 +131862,10 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl } _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) z = _sqlite3DbStrNDup(tls, db, (*TToken)(unsafe.Pointer(pAll)).Fz, uint64((*TToken)(unsafe.Pointer(pAll)).Fn)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20685, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20817, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) _sqlite3DbFree(tls, db, z) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20760, libc.VaList(bp+120, zName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20892, libc.VaList(bp+120, zName)), uint16(0)) } } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { @@ -131253,7 +132141,7 @@ func _sqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int } if !(pTrigger != 0) { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20789, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20921, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, zDb) } @@ -131297,9 +132185,9 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { code = int32(SQLITE_DROP_TRIGGER) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6542 + v1 = __ccgo_ts + 6606 } else { - v1 = __ccgo_ts + 6075 + v1 = __ccgo_ts + 6139 } zTab = v1 if iDb == int32(1) { @@ -131314,7 +132202,7 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { v2 = _sqlite3GetVdbe(tls, pParse) v = v2 if v2 != uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20809, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20941, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropTrigger), iDb, 0, 0, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName, 0) } @@ -131450,11 +132338,11 @@ func _triggersReallyExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { if op != int32(TK_INSERT) { if op == int32(TK_DELETE) { - v1 = __ccgo_ts + 20871 + v1 = __ccgo_ts + 21003 } else { - v1 = __ccgo_ts + 20878 + v1 = __ccgo_ts + 21010 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20885, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21017, libc.VaList(bp+8, v1)) } (*TTrigger)(unsafe.Pointer(p)).Ftr_tm = uint8(TRIGGER_BEFORE) } else { @@ -131561,7 +132449,7 @@ func _isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != int32(TK_ASTERISK) { return 0 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20933, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21065, 0) return int32(1) } @@ -131626,6 +132514,81 @@ func _sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab return pNew } +// C documentation +// +// /* If the Expr node is a subquery or an EXISTS operator or an IN operator that +// ** uses a subquery, and if the subquery is SF_Correlated, then mark the +// ** expression as EP_VarSelect. +// */ +func _sqlite3ReturningSubqueryVarSelect(tls *libc.TLS, NotUsed uintptr, pExpr uintptr) (r int32) { + _ = NotUsed + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) && (*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FselFlags&uint32(SF_Correlated) != uint32(0) { + *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** If the SELECT references the table pWalker->u.pTab, then do two things: +// ** +// ** (1) Mark the SELECT as as SF_Correlated. +// ** (2) Set pWalker->eCode to non-zero so that the caller will know +// ** that (1) has happened. +// */ +func _sqlite3ReturningSubqueryCorrelated(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + var i int32 + var pSrc uintptr + _, _ = i, pSrc + _ = libc.Int32FromInt32(0) + pSrc = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + _ = libc.Int32FromInt32(0) + i = 0 + for { + if !(i < (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) { + break + } + if (*(*TSrcItem)(unsafe.Pointer(pSrc + 8 + uintptr(i)*104))).FpTab == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { + *(*Tu32)(unsafe.Pointer(pSelect + 4)) |= uint32(SF_Correlated) + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + break + } + goto _1 + _1: + ; + i++ + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Scan the expression list that is the argument to RETURNING looking +// ** for subqueries that depend on the table which is being modified in the +// ** statement that is hosting the RETURNING clause (pTab). Mark all such +// ** subqueries as SF_Correlated. If the subqueries are part of an +// ** expression, mark the expression as EP_VarSelect. +// ** +// ** https://sqlite.org/forum/forumpost/2c83569ce8945d39 +// */ +func _sqlite3ProcessReturningSubqueries(tls *libc.TLS, pEList uintptr, pTab uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ExprWalkNoop) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3ReturningSubqueryCorrelated) + *(*uintptr)(unsafe.Pointer(bp + 40)) = pTab + _sqlite3WalkExprList(tls, bp, pEList) + if (*(*TWalker)(unsafe.Pointer(bp))).FeCode != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ReturningSubqueryVarSelect) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop) + _sqlite3WalkExprList(tls, bp, pEList) + } +} + // C documentation // // /* @@ -131662,6 +132625,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab (*(*TSelect)(unsafe.Pointer(bp))).FpSrc = bp + 128 (*(*TSrcList)(unsafe.Pointer(bp + 128))).FnSrc = int32(1) (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FpTab = pTab + (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FzName = (*TTable)(unsafe.Pointer(pTab)).FzName /* tag-20240424-1 */ (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FiCursor = -int32(1) _sqlite3SelectPrep(tls, pParse, bp, uintptr(0)) if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { @@ -131687,6 +132651,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab if _sqlite3ResolveExprListNames(tls, bp+240, pNew) == SQLITE_OK && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { nCol = (*TExprList)(unsafe.Pointer(pNew)).FnExpr reg = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(1) + _sqlite3ProcessReturningSubqueries(tls, pNew, pTab) *(*int32)(unsafe.Pointer(pParse + 56)) += nCol + int32(2) (*TReturning)(unsafe.Pointer(pReturning)).FiRetReg = reg i = 0 @@ -131759,7 +132724,7 @@ func _codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orcon (*TParse)(unsafe.Pointer(pParse)).FeOrconf = uint8(v2) _ = libc.Int32FromInt32(0) if (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6272, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6336, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) } switch int32((*TTriggerStep)(unsafe.Pointer(pStep)).Fop) { case int32(TK_UPDATE): @@ -131866,7 +132831,7 @@ func _codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintp v = _sqlite3GetVdbe(tls, bp+56) if v != 0 { if (*TTrigger)(unsafe.Pointer(pTrigger)).FzName != 0 { - _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+20975, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) + _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+21107, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) } /* If one was specified, code the WHEN clause. If it evaluates to false ** (or NULL) the sub-vdbe is immediately halted by jumping to the @@ -132580,7 +133545,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui chngPk = uint8(1) } else { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20989, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21121, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto update_cleanup } } @@ -132600,13 +133565,13 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui pRowidExpr = (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FpExpr iRowidExpr = i } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21025, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21157, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto update_cleanup } } if j < 0 { - v11 = __ccgo_ts + 7914 + v11 = __ccgo_ts + 8039 } else { v11 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName } @@ -133302,7 +134267,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui ** that information. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21044) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21176) } goto update_cleanup update_cleanup: @@ -133751,9 +134716,9 @@ func _sqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr if nClause == 0 && (*TUpsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) { (*(*[16]uint8)(unsafe.Pointer(bp + 200)))[0] = uint8(0) } else { - Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21057, libc.VaList(bp+224, nClause+int32(1))) + Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21189, libc.VaList(bp+224, nClause+int32(1))) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21061, libc.VaList(bp+224, bp+200)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21193, libc.VaList(bp+224, bp+200)) return int32(SQLITE_ERROR) } goto _1 @@ -133859,7 +134824,7 @@ func _sqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i++ } i = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), iDataCur, 0, iPk, nPk) - _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12479, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12604, -int32(1)) _sqlite3MayAbort(tls, pParse) _sqlite3VdbeJumpHere(tls, v, i) } @@ -133942,7 +134907,7 @@ func _execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) (r int3 ** corrupt the sqlite_schema.sql field with other kinds of statements ** then run VACUUM to get those statements to execute at inappropriate ** times. */ - if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21134, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21138, uint64(3)) == 0) { + if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21266, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21270, uint64(3)) == 0) { rc = _execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -134071,24 +135036,24 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p pDb = uintptr(0) /* Name of output file */ pgflags = uint32(PAGER_SYNCHRONOUS_OFF) /* sync flags for output db */ if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21142) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21274) return int32(SQLITE_ERROR) /* IMP: R-12218-18073 */ } if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive > int32(1) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21182) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21314) return int32(SQLITE_ERROR) /* IMP: R-15610-35227 */ } saved_openFlags = (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags if pOut != 0 { if Xsqlite3_value_type(tls, pOut) != int32(SQLITE_TEXT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21225) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21357) return int32(SQLITE_ERROR) } zOut = Xsqlite3_value_text(tls, pOut) *(*uint32)(unsafe.Pointer(db + 76)) &= uint32(^libc.Int32FromInt32(SQLITE_OPEN_READONLY)) *(*uint32)(unsafe.Pointer(db + 76)) |= uint32(libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE)) } else { - zOut = __ccgo_ts + 1657 + zOut = __ccgo_ts + 1671 } /* Save the current value of the database flags so that it can be ** restored before returning. Then set the writable-schema flag, and @@ -134120,7 +135085,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** to write the journal header file. */ nDb = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21243, libc.VaList(bp+24, zOut)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21375, libc.VaList(bp+24, zOut)) (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if rc != SQLITE_OK { goto end_of_vacuum @@ -134134,7 +135099,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p *(*Ti64)(unsafe.Pointer(bp)) = 0 if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0) && (_sqlite3OsFileSize(tls, id, bp) != SQLITE_OK || *(*Ti64)(unsafe.Pointer(bp)) > 0) { rc = int32(SQLITE_ERROR) - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21266) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21398) goto end_of_vacuum } *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_VacuumInto) @@ -134151,7 +135116,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, ** to ensure that we do not try to change the page-size on a WAL database. */ - rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14888) + rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14981) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134182,11 +135147,11 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** in the temporary database. */ (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(nDb) /* force new CREATE statements into vacuum_db */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21293, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21425, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21401, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21533, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134195,7 +135160,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy ** the contents to the temporary database. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21455, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21587, libc.VaList(bp+24, zDbMain)) _ = libc.Int32FromInt32(0) *(*Tu32)(unsafe.Pointer(db + 44)) &= uint32(^libc.Int32FromInt32(DBFLAG_Vacuum)) if rc != SQLITE_OK { @@ -134206,7 +135171,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** associated storage, so all we have to do is copy their entries ** from the schema table. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21606, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21738, libc.VaList(bp+24, zDbMain)) if rc != 0 { goto end_of_vacuum } @@ -134754,7 +135719,7 @@ func _addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uint FazArg uintptr Fp uintptr })(unsafe.Pointer(pTable + 64))).FnArg+int32(3) >= *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12709, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12834, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = _sqlite3DbRealloc(tls, db, (*(*struct { FnArg int32 @@ -134881,7 +135846,7 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { if pEnd != 0 { (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32(int64((*TToken)(unsafe.Pointer(pEnd)).Fz)-int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz))) + (*TToken)(unsafe.Pointer(pEnd)).Fn } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21736, libc.VaList(bp+8, pParse+272)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21868, libc.VaList(bp+8, pParse+272)) /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. @@ -134891,11 +135856,11 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { ** by sqlite3StartTable(). */ iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+21760, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+21892, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) v = _sqlite3GetVdbe(tls, pParse) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) - zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21859, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21991, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) _sqlite3DbFree(tls, db, zStmt) v2 = pParse + 56 @@ -134985,7 +135950,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, break } if (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21878, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22010, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(SQLITE_LOCKED) } goto _1 @@ -135022,6 +135987,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+32) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _sqlite3DeleteTable(tls, db, pTab) (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*(*TVtabCtx)(unsafe.Pointer(bp))).FpPrior if rc == int32(SQLITE_NOMEM) { @@ -135030,9 +135997,9 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, _ = libc.Int32FromInt32(0) if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21920, libc.VaList(bp+48, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22052, libc.VaList(bp+48, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3804, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3868, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) } _sqlite3DbFree(tls, db, pVTable) @@ -135045,8 +136012,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*TModule)(unsafe.Pointer(pMod)).FnRefModule++ (*TVTable)(unsafe.Pointer(pVTable)).FnRef = int32(1) if (*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared == 0 { - zFormat = __ccgo_ts + 21950 - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + zFormat = __ccgo_ts + 22082 + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, zModuleName)) _sqlite3VtabUnlock(tls, pVTable) rc = int32(SQLITE_ERROR) } else { @@ -135071,7 +136038,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(iCol < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } - zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1657) + zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1671) i = 0 nType = _sqlite3Strlen30(tls, zType) i = 0 @@ -135079,7 +136046,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(i < nType) { break } - if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16594, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { + if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16681, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { break } goto _3 @@ -135163,13 +136130,13 @@ func _sqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).FazArg)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21996, libc.VaList(bp+16, zModule)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22128, libc.VaList(bp+16, zModule)) rc = int32(SQLITE_ERROR) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3804, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3868, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) (*TParse)(unsafe.Pointer(pParse)).Frc = rc } _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) @@ -135251,7 +136218,7 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, ** error. Otherwise, do nothing. */ if pMod == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21996, libc.VaList(bp+8, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22128, libc.VaList(bp+8, zMod)) rc = int32(SQLITE_ERROR) } else { rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr) @@ -135277,18 +136244,42 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r int32) { bp := tls.Alloc(448) defer tls.Free(448) - var initBusy, rc int32 - var pCtx, pIdx, pNew, pTab, v2 uintptr - var v1 Ti16 + var i, initBusy, rc int32 + var pCtx, pIdx, pNew, pTab, z, v3 uintptr + var v2 Ti16 var _ /* sParse at bp+0 */ TParse - _, _, _, _, _, _, _, _ = initBusy, pCtx, pIdx, pNew, pTab, rc, v1, v2 + var _ /* tokenType at bp+424 */ int32 + _, _, _, _, _, _, _, _, _, _ = i, initBusy, pCtx, pIdx, pNew, pTab, rc, z, v2, v3 rc = SQLITE_OK + /* Verify that the first two keywords in the CREATE TABLE statement + ** really are "CREATE" and "TABLE". If this is not the case, then + ** sqlite3_declare_vtab() is being misused. + */ + z = zCreateTable + i = 0 + for { + if !(_aKeyword1[i] != 0) { + break + } + *(*int32)(unsafe.Pointer(bp + 424)) = 0 + for cond := true; cond; cond = *(*int32)(unsafe.Pointer(bp + 424)) == int32(TK_SPACE) { + z += uintptr(_sqlite3GetToken(tls, z, bp+424)) + } + if *(*int32)(unsafe.Pointer(bp + 424)) != int32(_aKeyword1[i]) { + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+22147, 0) + return int32(SQLITE_ERROR) + } + goto _1 + _1: + ; + i++ + } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { - _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(155155))) + _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(156227))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) - return _sqlite3MisuseError(tls, int32(155157)) + return _sqlite3MisuseError(tls, int32(156229)) } pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab _ = libc.Int32FromInt32(0) @@ -135302,7 +136293,10 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i initBusy = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) (*(*TParse)(unsafe.Pointer(bp))).FnQueryLoop = int16(1) - if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) && (*(*TParse)(unsafe.Pointer(bp))).FpNewTable != uintptr(0) && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && int32((*TTable)(unsafe.Pointer((*(*TParse)(unsafe.Pointer(bp))).FpNewTable)).FeTabType) == TABTYP_NORM { + if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if !((*TTable)(unsafe.Pointer(pTab)).FaCol != 0) { pNew = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable @@ -135312,9 +136306,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpDfltList) - v1 = (*TTable)(unsafe.Pointer(pNew)).FnCol - (*TTable)(unsafe.Pointer(pTab)).FnCol = v1 - (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v1 + v2 = (*TTable)(unsafe.Pointer(pNew)).FnCol + (*TTable)(unsafe.Pointer(pTab)).FnCol = v2 + (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v2 *(*Tu32)(unsafe.Pointer(pTab + 48)) |= (*TTable)(unsafe.Pointer(pNew)).FtabFlags & uint32(libc.Int32FromInt32(TF_WithoutRowid)|libc.Int32FromInt32(TF_NoVisibleRowid)) (*TTable)(unsafe.Pointer(pNew)).FnCol = 0 (*TTable)(unsafe.Pointer(pNew)).FaCol = uintptr(0) @@ -135336,11 +136330,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = int32(1) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - v2 = __ccgo_ts + 3804 + v3 = __ccgo_ts + 3868 } else { - v2 = uintptr(0) + v3 = uintptr(0) } - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v2, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v3, libc.VaList(bp+440, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) rc = int32(SQLITE_ERROR) } @@ -135357,6 +136351,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i return rc } +var _aKeyword1 = [3]Tu8{ + 0: uint8(TK_CREATE), + 1: uint8(TK_TABLE), +} + // C documentation // // /* @@ -135818,7 +136817,7 @@ func _sqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) _addModuleArgument(tls, pParse, pTab, _sqlite3DbStrDup(tls, db, (*TTable)(unsafe.Pointer(pTab)).FzName)) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp) if rc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3804, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3868, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3VtabEponymousTableClear(tls, db, pMod) } @@ -135885,7 +136884,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = _sqlite3MisuseError(tls, int32(155651)) + rc = _sqlite3MisuseError(tls, int32(156723)) } else { _ = libc.Int32FromInt32(0) ap = va @@ -135899,7 +136898,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in case int32(SQLITE_VTAB_USES_ALL_SCHEMAS): (*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1) default: - rc = _sqlite3MisuseError(tls, int32(155673)) + rc = _sqlite3MisuseError(tls, int32(156745)) break } _ = ap @@ -136621,10 +137620,10 @@ type WhereInfo1 = TWhereInfo1 func _explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) (r uintptr) { i = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -int32(2) { - return __ccgo_ts + 22015 + return __ccgo_ts + 22160 } if i == -int32(1) { - return __ccgo_ts + 16703 + return __ccgo_ts + 16790 } return (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*16))).FzCnName } @@ -136644,10 +137643,10 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, _ = i _ = libc.Int32FromInt32(0) if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22022, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22167, int32(5)) } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22028, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22173, int32(1)) } i = 0 for { @@ -136655,7 +137654,7 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13099, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13224, int32(1)) } Xsqlite3_str_appendall(tls, pStr, _explainIndexColumnName(tls, pIdx, iTerm+i)) goto _1 @@ -136664,11 +137663,11 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5115, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5179, int32(1)) } Xsqlite3_str_append(tls, pStr, zOp, int32(1)) if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22028, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22173, int32(1)) } i = 0 for { @@ -136676,16 +137675,16 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13099, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13224, int32(1)) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5117, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5181, int32(1)) goto _2 _2: ; i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5115, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5179, int32(1)) } } @@ -136718,7 +137717,7 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { if int32(nEq) == 0 && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_BTM_LIMIT)|libc.Int32FromInt32(WHERE_TOP_LIMIT)) == uint32(0) { return } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22030, int32(2)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22175, int32(2)) i = 0 for { if !(i < int32(nEq)) { @@ -136726,12 +137725,12 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } z = _explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22022, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22167, int32(5)) } if i >= int32(nSkip) { - v2 = __ccgo_ts + 22033 + v2 = __ccgo_ts + 22178 } else { - v2 = __ccgo_ts + 22038 + v2 = __ccgo_ts + 22183 } Xsqlite3_str_appendf(tls, pStr, v2, libc.VaList(bp+8, z)) goto _1 @@ -136741,13 +137740,13 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } j = i if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_BTM_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22046) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22191) i = int32(1) } if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_TOP_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22048) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22193) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5115, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5179, int32(1)) } // C documentation @@ -136790,11 +137789,11 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if isSearch != 0 { - v2 = __ccgo_ts + 22050 + v2 = __ccgo_ts + 22195 } else { - v2 = __ccgo_ts + 22057 + v2 = __ccgo_ts + 22202 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22062, libc.VaList(bp+144, v2, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22207, libc.VaList(bp+144, v2, pItem)) if flags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_VIRTUALTABLE)) == uint32(0) { zFmt = uintptr(0) _ = libc.Int32FromInt32(0) @@ -136802,37 +137801,37 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _ = libc.Int32FromInt32(0) if !((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) && int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = __ccgo_ts + 11262 + zFmt = __ccgo_ts + 11387 } } else { if flags&uint32(WHERE_PARTIALIDX) != 0 { - zFmt = __ccgo_ts + 22068 + zFmt = __ccgo_ts + 22213 } else { if flags&uint32(WHERE_AUTO_INDEX) != 0 { - zFmt = __ccgo_ts + 22101 + zFmt = __ccgo_ts + 22246 } else { if flags&uint32(WHERE_IDX_ONLY) != 0 { - zFmt = __ccgo_ts + 22126 + zFmt = __ccgo_ts + 22271 } else { - zFmt = __ccgo_ts + 22144 + zFmt = __ccgo_ts + 22289 } } } } if zFmt != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22153, int32(7)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22298, int32(7)) Xsqlite3_str_appendf(tls, bp, zFmt, libc.VaList(bp+144, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) _explainIndexRange(tls, bp, pLoop) } } else { if flags&uint32(WHERE_IPK) != uint32(0) && flags&uint32(WHERE_CONSTRAINT) != uint32(0) { - zRowid = __ccgo_ts + 16703 - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22161, libc.VaList(bp+144, zRowid)) + zRowid = __ccgo_ts + 16790 + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22306, libc.VaList(bp+144, zRowid)) if flags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != 0 { cRangeOp = uint8('=') } else { if flags&uint32(WHERE_BOTH_LIMIT) == uint32(WHERE_BOTH_LIMIT) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22192, libc.VaList(bp+144, zRowid)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22337, libc.VaList(bp+144, zRowid)) cRangeOp = uint8('<') } else { if flags&uint32(WHERE_BTM_LIMIT) != 0 { @@ -136843,10 +137842,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22202, libc.VaList(bp+144, int32(cRangeOp))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22347, libc.VaList(bp+144, int32(cRangeOp))) } else { if flags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22207, libc.VaList(bp+144, (*(*struct { + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22352, libc.VaList(bp+144, (*(*struct { FidxNum int32 F__ccgo4 uint8 FisOrdered Ti8 @@ -136865,7 +137864,7 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } if int32((*TSrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&int32(JT_LEFT) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22234, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22379, 0) } zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) @@ -136899,14 +137898,14 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Initial space for EQP output string */ _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22245, libc.VaList(bp+144, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22390, libc.VaList(bp+144, pItem)) pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_IPK) != 0 { pTab = (*TSrcItem)(unsafe.Pointer(pItem)).FpTab if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22033, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22178, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) } else { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22266, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22411, 0) } } else { i = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) @@ -136916,16 +137915,16 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp } z = _explainIndexColumnName(tls, (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex, i) if i > int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22022, int32(5)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22167, int32(5)) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22033, libc.VaList(bp+144, z)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22178, libc.VaList(bp+144, z)) goto _1 _1: ; i++ } } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5115, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5179, int32(1)) zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) return ret @@ -137791,6 +138790,35 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32 } } +// C documentation +// +// /* +// ** Loop pLoop is a WHERE_INDEXED level that uses at least one IN(...) +// ** operator. Return true if level pLoop is guaranteed to visit only one +// ** row for each key generated for the index. +// */ +func _whereLoopIsOneRow(tls *libc.TLS, pLoop uintptr) (r int32) { + var ii int32 + _ = ii + if (*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FonError != 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) == 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq) == int32((*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FnKeyCol) { + ii = 0 + for { + if !(ii < int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq)) { + break + } + if int32((*TWhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(ii)*8)))).FeOperator)&(libc.Int32FromInt32(WO_IS)|libc.Int32FromInt32(WO_ISNULL)) != 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) + } + return 0 +} + // C documentation // // /* @@ -138521,7 +139549,10 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI _ = libc.Int32FromInt32(0) } /* Record the instruction used to terminate the loop. */ - if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 { + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 || (*(*struct { + FnIn int32 + FaInLoop uintptr + })(unsafe.Pointer(pLevel + 72))).FnIn != 0 && regBignull == 0 && _whereLoopIsOneRow(tls, pLoop) != 0 { (*TWhereLevel)(unsafe.Pointer(pLevel)).Fop = uint8(OP_Noop) } else { if bRev != 0 { @@ -138698,7 +139729,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22274, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22419, 0) ii = 0 for { if !(ii < (*TWhereClause)(unsafe.Pointer(pOrWc)).FnTerm) { @@ -138721,7 +139752,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } /* Loop through table entries that match term pOrTerm. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22289, libc.VaList(bp+96, ii+int32(1))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22434, libc.VaList(bp+96, ii+int32(1))) pSubWInfo = _sqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) _ = libc.Int32FromInt32(0) if pSubWInfo != 0 { @@ -138892,6 +139923,12 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** iLoop==3: Code all remaining expressions. ** ** An effort is made to skip unnecessary iterations of the loop. + ** + ** This optimization of causing simple query restrictions to occur before + ** more complex one is call the "push-down" optimization in MySQL. Here + ** in SQLite, the name is "MySQL push-down", since there is also another + ** totally unrelated optimization called "WHERE-clause push-down". + ** Sometimes the qualifier is omitted, resulting in an ambiguity, so beware. */ if pIdx != 0 { v60 = int32(1) @@ -139198,9 +140235,9 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe defer tls.Free(128) var addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, nPk, r, v3 int32 var mAll TBitmask - var pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr + var pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr var _ /* sFrom at bp+0 */ TSrcList - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pRJ = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpRJ @@ -139209,13 +140246,18 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop pTabItem = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 mAll = uint64(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22298, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22443, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) k = 0 for { if !(k < iLevel) { break } + _ = libc.Int32FromInt32(0) + pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*104 mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf + if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x20>>5)) != 0 { + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pRight)).FpSelect)).FpEList)).FnExpr-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiTabCur) iIdxCur = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiIdxCur if iIdxCur != 0 { @@ -139750,19 +140792,19 @@ var _aOp = [4]struct { FeOp2 uint8 }{ 0: { - FzOp: __ccgo_ts + 16552, + FzOp: __ccgo_ts + 16639, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH), }, 1: { - FzOp: __ccgo_ts + 15883, + FzOp: __ccgo_ts + 15976, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB), }, 2: { - FzOp: __ccgo_ts + 15362, + FzOp: __ccgo_ts + 15455, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE), }, 3: { - FzOp: __ccgo_ts + 22312, + FzOp: __ccgo_ts + 22457, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP), }, } @@ -140421,7 +141463,7 @@ func _exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, aiCurCol uintptr, pExpr goto _4 } _ = libc.Int32FromInt32(0) - if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_STRING) { + if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && !(_sqlite3ExprIsConstant(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr) != 0) { *(*int32)(unsafe.Pointer(aiCurCol)) = iCur *(*int32)(unsafe.Pointer(aiCurCol + 1*4)) = -int32(2) return int32(1) @@ -140581,7 +141623,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { extraRight = x - uint64(1) /* ON clause terms may not be used with an index ** on left table of a LEFT JOIN. Ticket #3015 */ if prereqAll>>libc.Int32FromInt32(1) >= x { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22319, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22464, 0) return } } else { @@ -140593,7 +141635,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { ** if there is a RIGHT or FULL JOIN in the query. This makes SQLite ** more like other systems, and also preserves legacy. */ if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*(*TSrcItem)(unsafe.Pointer(pSrc + 8))).Ffg.Fjointype)&int32(JT_LTORJ) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22319, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22464, 0) return } *(*Tu32)(unsafe.Pointer(pExpr + 4)) &= uint32(^libc.Int32FromInt32(EP_InnerON)) @@ -140684,7 +141726,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { if op == int32(TK_ISNULL) && !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)) != libc.Uint32FromInt32(0)) && 0 == _sqlite3ExprCanBeNull(tls, pLeft) { _ = libc.Int32FromInt32(0) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_TRUEFALSE) /* See tag-20230504-1 */ - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 7900 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8025 *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_IsFalse)) (*TWhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator = uint16(0) @@ -140787,7 +141829,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { *(*Tu8)(unsafe.Pointer(pC)) = uint8(int32(c1) + int32(1)) } if *(*int32)(unsafe.Pointer(bp + 12)) != 0 { - v13 = __ccgo_ts + 22360 + v13 = __ccgo_ts + 22505 } else { v13 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) } @@ -141060,6 +142102,9 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FleftCursor != iCsr { return } + if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FprereqRight != uint64(0) { + return + } goto _1 _1: ; @@ -141090,10 +142135,12 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { } /* All conditions are met. Add the terms to the where-clause object. */ _ = libc.Int32FromInt32(0) - _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) - if (*TSelect)(unsafe.Pointer(p)).FiOffset > 0 { + if (*TSelect)(unsafe.Pointer(p)).FiOffset != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiOffset, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpRight, iCsr, int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } + if (*TSelect)(unsafe.Pointer(p)).FiOffset == 0 || (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { + _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) + } } } @@ -141325,7 +142372,7 @@ func _sqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22367, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22512, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) return } pColRef = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_COLUMN), uintptr(0), 0) @@ -141767,6 +142814,50 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { return uintptr(0) } +// C documentation +// +// /* +// ** Term pTerm is guaranteed to be a WO_IN term. It may be a component term +// ** of a vector IN expression of the form "(x, y, ...) IN (SELECT ...)". +// ** This function checks to see if the term is compatible with an index +// ** column with affinity idxaff (one of the SQLITE_AFF_XYZ values). If so, +// ** it returns a pointer to the name of the collation sequence (e.g. "BINARY" +// ** or "NOCASE") used by the comparison in pTerm. If it is not compatible +// ** with affinity idxaff, NULL is returned. +// */ +func _indexInAffinityOk(tls *libc.TLS, pParse uintptr, pTerm uintptr, idxaff Tu8) (r uintptr) { + bp := tls.Alloc(80) + defer tls.Free(80) + var iField int32 + var pRet, pX, v1 uintptr + var _ /* inexpr at bp+0 */ TExpr + _, _, _, _ = iField, pRet, pX, v1 + pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr + _ = libc.Int32FromInt32(0) + if _sqlite3ExprIsVector(tls, (*TExpr)(unsafe.Pointer(pX)).FpLeft) != 0 { + iField = (*(*struct { + FleftColumn int32 + FiField int32 + })(unsafe.Pointer(pTerm + 32))).FiField - int32(1) + (*(*TExpr)(unsafe.Pointer(bp))).Fflags = uint32(0) + (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_EQ) + (*(*TExpr)(unsafe.Pointer(bp))).FpLeft = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pX)).FpLeft + 32)) + 8 + uintptr(iField)*32))).FpExpr + _ = libc.Int32FromInt32(0) + (*(*TExpr)(unsafe.Pointer(bp))).FpRight = (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pX + 32)))).FpEList + 8 + uintptr(iField)*32))).FpExpr + pX = bp + } + if _sqlite3IndexAffinityOk(tls, pX, idxaff) != 0 { + pRet = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pRet != 0 { + v1 = (*TCollSeq)(unsafe.Pointer(pRet)).FzName + } else { + v1 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + return v1 + } + return uintptr(0) +} + // C documentation // // /* @@ -141777,10 +142868,10 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { var iColumn Ti16 var iCur, j, k int32 - var pColl, pParse, pTerm, pWC, pX, v2 uintptr - var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, v2, v3, v5 /* The term being tested */ - k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ + var pColl, pParse, pTerm, pWC, pX, zCollName, v2, v5 uintptr + var v3, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, zCollName, v2, v3, v5, v6 /* The term being tested */ + k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ _ = libc.Int32FromInt32(0) pWC = (*TWhereScan)(unsafe.Pointer(pScan)).FpWC for int32(1) != 0 { @@ -141828,22 +142919,32 @@ func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { if (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName != 0 && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_ISNULL) == 0 { pParse = (*TWhereInfo)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr - if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { - goto _1 - } - _ = libc.Int32FromInt32(0) - pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) - if pColl == uintptr(0) { - pColl = (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_IN) != 0 { + zCollName = _indexInAffinityOk(tls, pParse, pTerm, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) + if !(zCollName != 0) { + goto _1 + } + } else { + if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { + goto _1 + } + _ = libc.Int32FromInt32(0) + pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pColl != 0 { + v5 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName + } else { + v5 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + zCollName = v5 } - if _sqlite3StrICmp(tls, (*TCollSeq)(unsafe.Pointer(pColl)).FzName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { + if _sqlite3StrICmp(tls, zCollName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { goto _1 } } - if v5 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v5 { + if v6 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v6 { pX = (*TExpr)(unsafe.Pointer((*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpRight } - if v5 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { + if v6 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { goto _1 } (*TWhereScan)(unsafe.Pointer(pScan)).FpWC = pWC @@ -142337,7 +143438,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea /* Make the automatic index a partial index if there are terms in the ** WHERE clause (or the ON clause of a LEFT join) that constrain which ** rows of the target table (pSrc) that can be used. */ - if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)) != 0 { + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom), 0) != 0 { pPartial = _sqlite3ExprAnd(tls, pParse, pPartial, _sqlite3ExprDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr, 0)) } if _termCanDriveIndex(tls, pTerm, pSrc, notReady) != 0 { @@ -142353,7 +143454,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea } cMask = v2 if !(sentWarning != 0) { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_WARNING)|libc.Int32FromInt32(1)<>14)) != 0) { eDistinct = int32(2) + libc.BoolInt32(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_SORTBYGROUP) != 0) } else { if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_GROUPBY) != 0 { @@ -142849,7 +143950,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB */ pIdxInfo = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(96)+(libc.Uint64FromInt64(12)+libc.Uint64FromInt64(8))*uint64(nTerm)+uint64(8)*uint64(nOrderBy)+uint64(40)+uint64(8)*uint64(nTerm)) if pIdxInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1627, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1641, 0) return uintptr(0) } pHidden = pIdxInfo + 1*96 @@ -142941,7 +144042,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB break } pExpr1 = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr - if _sqlite3ExprIsConstant(tls, pExpr1) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr1) != 0 { goto _11 } _ = libc.Int32FromInt32(0) @@ -143020,9 +144121,9 @@ func _vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) (r i _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) } else { if !((*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3804, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3868, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3804, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3868, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } } @@ -144394,7 +145495,7 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x4>>2)) != 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GE)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LE)-libc.Int32FromInt32(TK_EQ))) } - if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 { + if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 && int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x2>>1)) == 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ) | libc.Int32FromInt32(WO_IN) | libc.Int32FromInt32(WO_IS)) } } @@ -144646,10 +145747,13 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } } } - /* Set rCostIdx to the cost of visiting selected rows in index. Add - ** it to pNew->rRun, which is currently set to the cost of the index - ** seek only. Then, if this is a non-covering index, add the cost of - ** visiting the rows in the main table. */ + /* Set rCostIdx to the estimated cost of visiting selected rows in the + ** index. The estimate is the sum of two values: + ** 1. The cost of doing one search-by-key to find the first matching + ** entry + ** 2. Stepping forward in the index pNew->nOut times to find all + ** additional matching entries. + */ _ = libc.Int32FromInt32(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_IPK) { /* The pProbe->szIdxRow is low for an IPK table since the interior @@ -144660,7 +145764,14 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } else { rCostIdx = int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut) + int32(1) + int32(15)*int32((*TIndex)(unsafe.Pointer(pProbe)).FszIdxRow)/int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FszTabRow)) } - (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + rCostIdx = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + /* Estimate the cost of running the loop. If all data is coming + ** from the index, then this is just the cost of doing the index + ** lookup and scan. But if some data is coming out of the main table, + ** we also have to add in the cost of doing pNew->nOut searches to + ** locate the row in the main table that corresponds to the index entry. + */ + (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = rCostIdx if (*TWhereLoop)(unsafe.Pointer(pNew)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IDX_ONLY)|libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_EXPRIDX)) == uint32(0) { (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun, int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut)+int32(16))) } @@ -144766,7 +145877,7 @@ func _indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, if pExpr == uintptr(0) { goto _2 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { + if (int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) || int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_COLUMN)) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { return int32(1) } @@ -145103,7 +146214,7 @@ func _wherePartIdxExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, pPart uintpt if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) != int32(TK_COLUMN) { return } - if !(_sqlite3ExprIsConstant(tls, pRight) != 0) { + if !(_sqlite3ExprIsConstant(tls, uintptr(0), pRight) != 0) { return } if !(_sqlite3IsBinary(tls, _sqlite3ExprCompareCollSeq(tls, pParse, pPart)) != 0) { @@ -145438,7 +146549,7 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in ** unique index is used (making the index functionally non-unique) ** then the sqlite_stat1 data becomes important for scoring the ** plan */ - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) } _sqlite3Stat4ProbeFree(tls, (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec) (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid = 0 @@ -145467,6 +146578,31 @@ func _isLimitTerm(tls *libc.TLS, pTerm uintptr) (r int32) { return libc.BoolInt32(int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= int32(SQLITE_INDEX_CONSTRAINT_LIMIT) && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } +// C documentation +// +// /* +// ** Return true if the first nCons constraints in the pUsage array are +// ** marked as in-use (have argvIndex>0). False otherwise. +// */ +func _allConstraintsUsed(tls *libc.TLS, aUsage uintptr, nCons int32) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < nCons) { + break + } + if (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer(aUsage + uintptr(ii)*8))).FargvIndex <= 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + // C documentation // // /* @@ -145564,7 +146700,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if v3 >= 0 { j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).FiTermOffset if iTerm >= nConstraint || j < 0 || j >= (*TWhereClause)(unsafe.Pointer(pWC)).FnTerm || *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) || int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22440, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22585, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } pTerm1 = (*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(j)*56 @@ -145611,13 +146747,19 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, _ = libc.Int32FromInt32(0) } } + /* Unless pbRetryLimit is non-NULL, there should be no LIMIT/OFFSET + ** terms. And if there are any, they should follow all other terms. */ + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - if _isLimitTerm(tls, pTerm1) != 0 && *(*int32)(unsafe.Pointer(pbIn)) != 0 { + if _isLimitTerm(tls, pTerm1) != 0 && (*(*int32)(unsafe.Pointer(pbIn)) != 0 || !(_allConstraintsUsed(tls, pUsage, i) != 0)) { /* If there is an IN(...) term handled as an == (separate call to ** xFilter for each value on the RHS of the IN) and a LIMIT or - ** OFFSET term handled as well, the plan is unusable. Set output - ** variable *pbRetryLimit to true to tell the caller to retry with - ** LIMIT and OFFSET disabled. */ + ** OFFSET term handled as well, the plan is unusable. Similarly, + ** if there is a LIMIT/OFFSET and there are other unused terms, + ** the plan cannot be used. In these cases set variable *pbRetryLimit + ** to true to tell the caller to retry with LIMIT and OFFSET + ** disabled. */ if (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr != 0 { Xsqlite3_free(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = uintptr(0) @@ -145642,7 +146784,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { /* The non-zero argvIdx values must be contiguous. Raise an ** error if they are not */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22440, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22585, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } goto _6 @@ -145795,7 +146937,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal pVal = uintptr(0) rc = SQLITE_OK if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { - rc = _sqlite3MisuseError(tls, int32(165251)) /* EV: R-30545-25046 */ + rc = _sqlite3MisuseError(tls, int32(166453)) /* EV: R-30545-25046 */ } else { if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) { pTerm = (*TWhereClause)(unsafe.Pointer((*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC)).Fa + uintptr((*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)*56 @@ -146243,7 +147385,7 @@ func _whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) (r int32) { if rc != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { if rc == int32(SQLITE_DONE) { /* We hit the query planner search limit set by iPlanLimit */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22466, 0) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22611, 0) rc = SQLITE_OK } else { break @@ -146632,7 +147774,7 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } p = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr mTerm = _sqlite3WhereExprUsage(tls, pWInfo+592, p) - if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, p) != 0) { + if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, uintptr(0), p) != 0) { goto _9 } if mTerm & ^orderDistinctMask == uint64(0) { @@ -147053,7 +148195,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) iLoop++ } if nFrom == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22501, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22646, 0) _sqlite3DbFreeNN(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pSpace) return int32(SQLITE_ERROR) } @@ -147103,9 +148245,8 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) if int32((*TWherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*TExprList)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_ORDERED) } - if (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 && int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr { - (*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = int8((*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr) - } + /* vvv--- See check-in [12ad822d9b827777] on 2023-03-16 ---vvv */ + _ = libc.Int32FromInt32(0) } else { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*TWherePath)(unsafe.Pointer(pFrom)).FrevLoop if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 { @@ -147143,6 +148284,97 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) return SQLITE_OK } +// C documentation +// +// /* +// ** This routine implements a heuristic designed to improve query planning. +// ** This routine is called in between the first and second call to +// ** wherePathSolver(). Hence the name "Interstage" "Heuristic". +// ** +// ** The first call to wherePathSolver() (hereafter just "solver()") computes +// ** the best path without regard to the order of the outputs. The second call +// ** to the solver() builds upon the first call to try to find an alternative +// ** path that satisfies the ORDER BY clause. +// ** +// ** This routine looks at the results of the first solver() run, and for +// ** every FROM clause term in the resulting query plan that uses an equality +// ** constraint against an index, disable other WhereLoops for that same +// ** FROM clause term that would try to do a full-table scan. This prevents +// ** an index search from being converted into a full-table scan in order to +// ** satisfy an ORDER BY clause, since even though we might get slightly better +// ** performance using the full-scan without sorting if the output size +// ** estimates are very precise, we might also get severe performance +// ** degradation using the full-scan if the output size estimate is too large. +// ** It is better to err on the side of caution. +// ** +// ** Except, if the first solver() call generated a full-table scan in an outer +// ** loop then stop this analysis at the first full-scan, since the second +// ** solver() run might try to swap that full-scan for another in order to +// ** get the output into the correct order. In other words, we allow a +// ** rewrite like this: +// ** +// ** First Solver() Second Solver() +// ** |-- SCAN t1 |-- SCAN t2 +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** The purpose of this routine is to disallow rewrites such as: +// ** +// ** First Solver() Second Solver() +// ** |-- SEARCH t1 |-- SCAN t2 <--- bad! +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** See test cases in test/whereN.test for the real-world query that +// ** originally provoked this heuristic. +// */ +func _whereInterstageHeuristic(tls *libc.TLS, pWInfo uintptr) { + var i int32 + var iTab Tu8 + var p, pLoop uintptr + _, _, _, _ = i, iTab, p, pLoop + i = 0 + for { + if !(i < int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnLevel)) { + break + } + p = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(i)*104))).FpWLoop + if p == uintptr(0) { + break + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { + goto _1 + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_NULL)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != uint32(0) { + iTab = (*TWhereLoop)(unsafe.Pointer(p)).FiTab + pLoop = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpLoops + for { + if !(pLoop != 0) { + break + } + if int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab) != int32(iTab) { + goto _2 + } + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_CONSTRAINT)|libc.Int32FromInt32(WHERE_AUTO_INDEX)) != uint32(0) { + /* Auto-index and index-constrained loops allowed to remain */ + goto _2 + } + (*TWhereLoop)(unsafe.Pointer(pLoop)).Fprereq = uint64(-libc.Int32FromInt32(1)) /* Prevent 2nd solver() from using this one */ + goto _2 + _2: + ; + pLoop = (*TWhereLoop)(unsafe.Pointer(pLoop)).FpNextLoop + } + } else { + break + } + goto _1 + _1: + ; + i++ + } +} + // C documentation // // /* @@ -147461,7 +148693,7 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasStat1) == uint32(0) { break } - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) if i >= int32(1) && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&reqFlags == reqFlags && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_INDEXED)) != uint32(0) { if int32(nSearch) > int32((*TTable)(unsafe.Pointer(pTab)).FnRowLogEst) { *(*Tu32)(unsafe.Pointer(pLoop + 48)) |= uint32(WHERE_BLOOMFILTER) @@ -147476,6 +148708,69 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { } } +// C documentation +// +// /* +// ** Expression Node callback for sqlite3ExprCanReturnSubtype(). +// ** +// ** Only a function call is able to return a subtype. So if the node +// ** is not a function call, return WRC_Prune immediately. +// ** +// ** A function call is able to return a subtype if it has the +// ** SQLITE_RESULT_SUBTYPE property. +// ** +// ** Assume that every function is able to pass-through a subtype from +// ** one of its argument (using sqlite3_result_value()). Most functions +// ** are not this way, but we don't have a mechanism to distinguish those +// ** that are from those that are not, so assume they all work this way. +// ** That means that if one of its arguments is another function and that +// ** other function is able to return a subtype, then this function is +// ** able to return a subtype. +// */ +func _exprNodeCanReturnSubtype(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef uintptr + var n, v1 int32 + _, _, _, _ = db, n, pDef, v1 + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_FUNCTION) { + return int32(WRC_Prune) + } + _ = libc.Int32FromInt32(0) + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { + v1 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr + } else { + v1 = 0 + } + n = v1 + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + return int32(WRC_Prune) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Return TRUE if expression pExpr is able to return a subtype. +// ** +// ** A TRUE return does not guarantee that a subtype will be returned. +// ** It only indicates that a subtype return is possible. False positives +// ** are acceptable as they only disable an optimization. False negatives, +// ** on the other hand, can lead to incorrect answers. +// */ +func _sqlite3ExprCanReturnSubtype(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeCanReturnSubtype) + _sqlite3WalkExpr(tls, bp, pExpr) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) +} + // C documentation // // /* @@ -147490,9 +148785,9 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { // ** references to the corresponding column of the index. // */ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur int32, pTabItem uintptr) { - var db, p, pArg, pDef, pExpr, pTab uintptr - var i, j, n, v2 int32 - _, _, _, _, _, _, _, _, _, _ = db, i, j, n, p, pArg, pDef, pExpr, pTab, v2 + var i, j int32 + var p, pArg, pExpr, pTab uintptr + _, _, _, _, _, _ = i, j, p, pArg, pExpr, pTab _ = libc.Int32FromInt32(0) pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable i = 0 @@ -147510,22 +148805,14 @@ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur i goto _1 } } - if _sqlite3ExprIsConstant(tls, pExpr) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) != 0 { goto _1 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) { - db = (*TParse)(unsafe.Pointer(pParse)).Fdb - _ = libc.Int32FromInt32(0) - if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { - v2 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr - } else { - v2 = 0 - } - n = v2 - pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) - if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { - goto _1 - } + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) && _sqlite3ExprCanReturnSubtype(tls, pParse, pExpr) != 0 { + /* Functions that might set a subtype should not be replaced by the + ** value taken from an expression index since the index omits the + ** subtype. https://sqlite.org/forum/forumpost/68d284c86b082c3e */ + goto _1 } p = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(32)) if p == uintptr(0) { @@ -147699,7 +148986,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** bits in a Bitmask */ if (*TSrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22519, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22664, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) return uintptr(0) } /* This function normally generates a nested loop for all tables in @@ -147772,7 +149059,9 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere if int32(wctrlFlags)&int32(WHERE_WANT_DISTINCT) != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_DistinctOpt)) == uint32(0) { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_UNIQUE) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22547, 0) + if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FselFlags&uint32(SF_MultiValue) == uint32(0) { + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22692, 0) + } } else { /* Assign a bit from the bitmask to every term in the FROM clause. ** @@ -147906,6 +149195,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere goto whereBeginError } if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy != 0 { + _whereInterstageHeuristic(tls, pWInfo) _wherePathSolver(tls, pWInfo, int16(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut)+int32(1))) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto whereBeginError @@ -148228,10 +149518,10 @@ whereBeginError: // ** sqlite3WhereBegin() for additional information. // */ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { - var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, r1, ws, x, v4, v7 int32 - var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr + var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, r1, ws, x, v4, v7 int32 + var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pTabList = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList @@ -148374,7 +149664,14 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { addr = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfPos), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) _ = libc.Int32FromInt32(0) if ws&int32(WHERE_IDX_ONLY) == 0 { + pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 _ = libc.Int32FromInt32(0) + if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x20>>5)) != 0 { + n1 = (*TSrcItem)(unsafe.Pointer(pSrc)).FregResult + _ = libc.Int32FromInt32(0) + m = int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FnCol) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, n1, n1+m-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) } if ws&int32(WHERE_INDEXED) != 0 || ws&int32(WHERE_MULTI_OR) != 0 && *(*uintptr)(unsafe.Pointer(&(*TWhereLevel)(unsafe.Pointer(pLevel)).Fu)) != 0 { @@ -148423,6 +149720,7 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { ** OP_Rowid becomes OP_Null. */ if int32(uint32(*(*uint16)(unsafe.Pointer(pTabItem + 60 + 4))&0x20>>5)) != 0 { + _ = libc.Int32FromInt32(0) _translateColumnToCopy(tls, pParse, (*TWhereLevel)(unsafe.Pointer(pLevel)).FaddrBody, (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur, (*TSrcItem)(unsafe.Pointer(pTabItem)).FregResult, 0) goto _9 } @@ -148797,7 +150095,7 @@ func _nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) goto error_out error_out: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22565, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22710, -int32(1)) } func _nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { @@ -148984,7 +150282,7 @@ func _ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { if (*TNtileCtx)(unsafe.Pointer(p)).FnTotal == 0 { (*TNtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg))) if (*TNtileCtx)(unsafe.Pointer(p)).FnParam <= 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22621, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22766, -int32(1)) } } (*TNtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -149312,7 +150610,7 @@ func _windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) (r p = (*TWindow)(unsafe.Pointer(p)).FpNextWin } if p == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22666, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22811, libc.VaList(bp+8, zName)) } return p } @@ -149363,12 +150661,12 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin _sqlite3WindowChain(tls, pParse, pWin, pList) } if int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) == int32(TK_RANGE) && ((*TWindow)(unsafe.Pointer(pWin)).FpStart != 0 || (*TWindow)(unsafe.Pointer(pWin)).FpEnd != 0) && ((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*TExprList)(unsafe.Pointer((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != int32(1)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22685, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22830, 0) } else { if (*TFuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TWindow)(unsafe.Pointer(pWin)).FpFilter != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22756, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22901, 0) } else { aUp = [8]struct { FzFunc uintptr @@ -149441,7 +150739,7 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*TWindow)(unsafe.Pointer(pWin)).FeEnd = uint8(aUp[i].FeEnd) (*TWindow)(unsafe.Pointer(pWin)).FeExclude = uint8(0) if int32((*TWindow)(unsafe.Pointer(pWin)).FeStart) == int32(TK_FOLLOWING) { - (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8139) + (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8264) } break } @@ -149729,7 +151027,7 @@ func _disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintpt defer tls.Free(16) if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_FUNCTION) && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { _ = libc.Int32FromInt32(0) - _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22819, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) + _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22964, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) } return WRC_Continue } @@ -149872,7 +151170,7 @@ func _sqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { ** keep everything legal in this case. */ if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1731)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1791)) } pSub = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(bp)), pSrc, pWhere, pGroupBy, pHaving, pSort, uint32(0), uintptr(0)) (*TSelect)(unsafe.Pointer(p)).FpSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), uintptr(0), uintptr(0)) @@ -149977,7 +151275,7 @@ func _sqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { // ** variable values in the expression tree. // */ func _sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r uintptr) { - if 0 == _sqlite3ExprIsConstant(tls, pExpr) { + if 0 == _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) { if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameExprUnmap(tls, pParse, pExpr) } @@ -150023,7 +151321,7 @@ func _sqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int3 ** frame boundary. */ if eStart == int32(TK_CURRENT) && eEnd == int32(TK_PRECEDING) || eStart == int32(TK_FOLLOWING) && (eEnd == int32(TK_PRECEDING) || eEnd == int32(TK_CURRENT)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22845, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22990, 0) goto windowAllocErr } pWin = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) @@ -150091,18 +151389,18 @@ func _sqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint zErr = uintptr(0) /* Check for errors */ if (*TWindow)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = __ccgo_ts + 22877 + zErr = __ccgo_ts + 23022 } else { if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*TWindow)(unsafe.Pointer(pWin)).FpOrderBy != 0 { - zErr = __ccgo_ts + 22894 + zErr = __ccgo_ts + 23039 } else { if int32((*TWindow)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = __ccgo_ts + 22910 + zErr = __ccgo_ts + 23055 } } } if zErr != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22930, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23075, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) } else { (*TWindow)(unsafe.Pointer(pWin)).FpPartition = _sqlite3ExprListDup(tls, db, (*TWindow)(unsafe.Pointer(pExist)).FpPartition, 0) if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 { @@ -150130,7 +151428,7 @@ func _sqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(libc.Int32FromInt32(EP_WinFunc) | libc.Int32FromInt32(EP_FullSize)) (*TWindow)(unsafe.Pointer(pWin)).FpOwner = p if (*TExpr)(unsafe.Pointer(p)).Fflags&uint32(EP_Distinct) != 0 && int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) != int32(TK_FILTER) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22963, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23108, 0) } } else { _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -150332,7 +151630,7 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regZero) if eCond >= int32(WINDOW_STARTING_NUM) { regString = _sqlite3GetTempReg(tls, pParse) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1657, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1671, -int32(1)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, _sqlite3VdbeCurrentAddr(tls, v)+int32(2), reg) _sqlite3VdbeChangeP5(tls, v, uint16(libc.Int32FromInt32(SQLITE_AFF_NUMERIC)|libc.Int32FromInt32(SQLITE_JUMPIFNULL))) _ = libc.Int32FromInt32(0) @@ -150353,11 +151651,11 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { } var _azErr = [5]uintptr{ - 0: __ccgo_ts + 23010, - 1: __ccgo_ts + 23063, - 2: __ccgo_ts + 22565, - 3: __ccgo_ts + 23114, - 4: __ccgo_ts + 23166, + 0: __ccgo_ts + 23155, + 1: __ccgo_ts + 23208, + 2: __ccgo_ts + 22710, + 3: __ccgo_ts + 23259, + 4: __ccgo_ts + 23311, } var _aOp1 = [5]int32{ @@ -151129,7 +152427,7 @@ func _windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal ** the add/subtract is skipped for these, as required. If reg1 is a NULL, ** then the arithmetic is performed, but since adding or subtracting from ** NULL is always NULL anyway, this case is handled as required too. */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1657, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1671, -int32(1)) addrGe = _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, 0, reg1) if op == int32(OP_Ge) && arith == int32(OP_Add) || op == int32(OP_Le) && arith == int32(OP_Subtract) { _sqlite3VdbeAddOp3(tls, v, op, reg2, lbl, reg1) @@ -152170,11 +153468,11 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { cnt++ if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*TSelect)(unsafe.Pointer(pLoop)).FpLimit != 0 { if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - v1 = __ccgo_ts + 23216 + v1 = __ccgo_ts + 23361 } else { - v1 = __ccgo_ts + 23225 + v1 = __ccgo_ts + 23370 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23231, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23376, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) break } } @@ -152183,7 +153481,7 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { mxSelect = v2 } if v3 && v2 > 0 && cnt > mxSelect { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23273, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23418, 0) } } } @@ -152203,6 +153501,23 @@ func _attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith u return pSelect } +// C documentation +// +// /* Memory allocator for parser stack resizing. This is a thin wrapper around +// ** sqlite3_realloc() that includes a call to sqlite3FaultSim() to facilitate +// ** testing. +// */ +func _parserStackRealloc(tls *libc.TLS, pOld uintptr, newSize Tsqlite3_uint64) (r uintptr) { + var v1 uintptr + _ = v1 + if _sqlite3FaultSim(tls, int32(700)) != 0 { + v1 = uintptr(0) + } else { + v1 = Xsqlite3_realloc(tls, pOld, int32(newSize)) + } + return v1 +} + // C documentation // // /* Construct a new Expr object from a single token */ @@ -152272,7 +153587,7 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId _ = p p = _sqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if (hasCollate != 0 || sortOrder != -int32(1)) && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23307, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23452, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) } _sqlite3ExprListSetName(tls, pParse, p, pIdToken, int32(1)) return p @@ -152322,6 +153637,9 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser // ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser // ** sqlite3ParserCTX_* As sqlite3ParserARG_ except for %extra_context +// ** YYREALLOC Name of the realloc() function to use +// ** YYFREE Name of the free() function to use +// ** YYDYNSTACK True if stack space should be extended on heap // ** YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** YYNSTATE the combined number of states. @@ -152335,31 +153653,33 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** YY_NO_ACTION The yy_action[] code for no-op // ** YY_MIN_REDUCE Minimum value for reduce actions // ** YY_MAX_REDUCE Maximum value for reduce actions +// ** YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type TYYMINORTYPE = struct { Fyy0 [0]TToken - Fyy33 [0]uintptr - Fyy41 [0]uintptr - Fyy47 [0]uintptr - Fyy131 [0]uintptr - Fyy180 [0]TTrigEvent - Fyy231 [0]struct { + Fyy14 [0]uintptr + Fyy59 [0]uintptr + Fyy67 [0]uintptr + Fyy122 [0]uintptr + Fyy132 [0]uintptr + Fyy144 [0]int32 + Fyy168 [0]uintptr + Fyy203 [0]uintptr + Fyy211 [0]uintptr + Fyy269 [0]TOnOrUsing + Fyy286 [0]TTrigEvent + Fyy383 [0]struct { Fvalue int32 Fmask int32 } - Fyy254 [0]uintptr - Fyy285 [0]Tu32 - Fyy322 [0]uintptr - Fyy385 [0]uintptr - Fyy394 [0]int32 - Fyy444 [0]uintptr - Fyy516 [0]Tu8 - Fyy521 [0]uintptr - Fyy522 [0]uintptr - Fyy528 [0]uintptr - Fyy561 [0]TOnOrUsing - Fyy595 [0]TFrameBound + Fyy391 [0]Tu32 + Fyy427 [0]uintptr + Fyy454 [0]uintptr + Fyy462 [0]Tu8 + Fyy509 [0]TFrameBound + Fyy555 [0]uintptr Fyyinit int32 F__ccgo_pad20 [12]byte } @@ -152377,6 +153697,13 @@ type YYMINORTYPE = TYYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -152429,2152 +153756,2194 @@ type YYMINORTYPE = TYYMINORTYPE // ** yy_default[] Default action for each state. // ** // *********** Begin parsing tables **********************************************/ -var _yy_action = [2100]uint16{ - 0: uint16(572), - 1: uint16(210), - 2: uint16(572), - 3: uint16(119), - 4: uint16(116), - 5: uint16(231), - 6: uint16(572), - 7: uint16(119), - 8: uint16(116), - 9: uint16(231), - 10: uint16(572), - 11: uint16(1317), - 12: uint16(379), - 13: uint16(1296), - 14: uint16(410), - 15: uint16(566), - 16: uint16(566), - 17: uint16(566), - 18: uint16(572), - 19: uint16(411), - 20: uint16(380), - 21: uint16(1317), - 22: uint16(1279), - 23: uint16(42), - 24: uint16(42), - 25: uint16(42), - 26: uint16(42), - 27: uint16(210), - 28: uint16(1529), - 29: uint16(72), - 30: uint16(72), - 31: uint16(974), - 32: uint16(421), - 33: uint16(42), - 34: uint16(42), - 35: uint16(495), - 36: uint16(305), - 37: uint16(281), - 38: uint16(305), - 39: uint16(975), - 40: uint16(399), - 41: uint16(72), - 42: uint16(72), - 43: uint16(126), - 44: uint16(127), - 45: uint16(81), - 46: uint16(1217), - 47: uint16(1217), - 48: uint16(1054), - 49: uint16(1057), - 50: uint16(1044), - 51: uint16(1044), - 52: uint16(124), - 53: uint16(124), - 54: uint16(125), - 55: uint16(125), - 56: uint16(125), - 57: uint16(125), - 58: uint16(480), - 59: uint16(411), - 60: uint16(1244), - 61: uint16(1), - 62: uint16(1), - 63: uint16(578), - 64: uint16(2), - 65: uint16(1248), - 66: uint16(554), - 67: uint16(119), - 68: uint16(116), - 69: uint16(231), - 70: uint16(319), - 71: uint16(484), - 72: uint16(147), - 73: uint16(484), - 74: uint16(528), - 75: uint16(119), - 76: uint16(116), - 77: uint16(231), - 78: uint16(533), - 79: uint16(1330), - 80: uint16(419), - 81: uint16(527), - 82: uint16(143), - 83: uint16(126), - 84: uint16(127), - 85: uint16(81), - 86: uint16(1217), - 87: uint16(1217), - 88: uint16(1054), - 89: uint16(1057), - 90: uint16(1044), - 91: uint16(1044), - 92: uint16(124), - 93: uint16(124), - 94: uint16(125), - 95: uint16(125), - 96: uint16(125), - 97: uint16(125), - 98: uint16(119), - 99: uint16(116), - 100: uint16(231), - 101: uint16(329), - 102: uint16(123), - 103: uint16(123), - 104: uint16(123), - 105: uint16(123), - 106: uint16(122), - 107: uint16(122), - 108: uint16(121), - 109: uint16(121), - 110: uint16(121), - 111: uint16(120), - 112: uint16(117), - 113: uint16(448), - 114: uint16(286), - 115: uint16(286), - 116: uint16(286), - 117: uint16(286), - 118: uint16(446), - 119: uint16(446), - 120: uint16(446), - 121: uint16(1568), - 122: uint16(378), - 123: uint16(1570), - 124: uint16(1193), - 125: uint16(377), - 126: uint16(1164), - 127: uint16(569), - 128: uint16(1164), - 129: uint16(569), - 130: uint16(411), - 131: uint16(1568), - 132: uint16(541), - 133: uint16(261), - 134: uint16(228), - 135: uint16(448), - 136: uint16(102), - 137: uint16(146), - 138: uint16(453), - 139: uint16(318), - 140: uint16(563), - 141: uint16(242), - 142: uint16(123), - 143: uint16(123), - 144: uint16(123), - 145: uint16(123), - 146: uint16(122), - 147: uint16(122), - 148: uint16(121), - 149: uint16(121), - 150: uint16(121), - 151: uint16(120), - 152: uint16(117), - 153: uint16(448), - 154: uint16(126), - 155: uint16(127), - 156: uint16(81), - 157: uint16(1217), - 158: uint16(1217), - 159: uint16(1054), - 160: uint16(1057), - 161: uint16(1044), - 162: uint16(1044), - 163: uint16(124), - 164: uint16(124), - 165: uint16(125), - 166: uint16(125), - 167: uint16(125), - 168: uint16(125), - 169: uint16(143), - 170: uint16(296), - 171: uint16(1193), - 172: uint16(341), - 173: uint16(452), - 174: uint16(121), - 175: uint16(121), - 176: uint16(121), - 177: uint16(120), - 178: uint16(117), - 179: uint16(448), - 180: uint16(128), - 181: uint16(1193), - 182: uint16(1194), - 183: uint16(1193), - 184: uint16(149), - 185: uint16(445), - 186: uint16(444), - 187: uint16(572), - 188: uint16(120), - 189: uint16(117), - 190: uint16(448), - 191: uint16(125), - 192: uint16(125), - 193: uint16(125), - 194: uint16(125), - 195: uint16(118), - 196: uint16(123), - 197: uint16(123), - 198: uint16(123), - 199: uint16(123), - 200: uint16(122), - 201: uint16(122), - 202: uint16(121), - 203: uint16(121), - 204: uint16(121), - 205: uint16(120), - 206: uint16(117), - 207: uint16(448), - 208: uint16(458), - 209: uint16(114), - 210: uint16(13), - 211: uint16(13), - 212: uint16(550), - 213: uint16(123), - 214: uint16(123), - 215: uint16(123), - 216: uint16(123), - 217: uint16(122), - 218: uint16(122), - 219: uint16(121), - 220: uint16(121), - 221: uint16(121), - 222: uint16(120), - 223: uint16(117), - 224: uint16(448), - 225: uint16(424), - 226: uint16(318), - 227: uint16(563), - 228: uint16(1193), - 229: uint16(1194), - 230: uint16(1193), - 231: uint16(150), - 232: uint16(1225), - 233: uint16(411), - 234: uint16(1225), - 235: uint16(125), - 236: uint16(125), - 237: uint16(125), - 238: uint16(125), - 239: uint16(123), - 240: uint16(123), - 241: uint16(123), - 242: uint16(123), - 243: uint16(122), - 244: uint16(122), - 245: uint16(121), - 246: uint16(121), - 247: uint16(121), - 248: uint16(120), - 249: uint16(117), - 250: uint16(448), - 251: uint16(469), - 252: uint16(344), - 253: uint16(1041), - 254: uint16(1041), - 255: uint16(1055), - 256: uint16(1058), - 257: uint16(126), - 258: uint16(127), - 259: uint16(81), - 260: uint16(1217), - 261: uint16(1217), - 262: uint16(1054), - 263: uint16(1057), - 264: uint16(1044), - 265: uint16(1044), - 266: uint16(124), - 267: uint16(124), - 268: uint16(125), - 269: uint16(125), - 270: uint16(125), - 271: uint16(125), - 272: uint16(1282), - 273: uint16(526), - 274: uint16(224), - 275: uint16(1193), - 276: uint16(572), - 277: uint16(411), - 278: uint16(226), - 279: uint16(519), - 280: uint16(177), - 281: uint16(83), - 282: uint16(84), - 283: uint16(123), - 284: uint16(123), - 285: uint16(123), - 286: uint16(123), - 287: uint16(122), - 288: uint16(122), - 289: uint16(121), - 290: uint16(121), - 291: uint16(121), - 292: uint16(120), - 293: uint16(117), - 294: uint16(448), - 295: uint16(1010), - 296: uint16(16), - 297: uint16(16), - 298: uint16(1193), - 299: uint16(134), - 300: uint16(134), - 301: uint16(126), - 302: uint16(127), - 303: uint16(81), - 304: uint16(1217), - 305: uint16(1217), - 306: uint16(1054), - 307: uint16(1057), - 308: uint16(1044), - 309: uint16(1044), - 310: uint16(124), - 311: uint16(124), - 312: uint16(125), - 313: uint16(125), - 314: uint16(125), - 315: uint16(125), - 316: uint16(123), - 317: uint16(123), - 318: uint16(123), - 319: uint16(123), - 320: uint16(122), - 321: uint16(122), - 322: uint16(121), - 323: uint16(121), - 324: uint16(121), - 325: uint16(120), - 326: uint16(117), - 327: uint16(448), - 328: uint16(1045), - 329: uint16(550), - 330: uint16(1193), - 331: uint16(375), - 332: uint16(1193), - 333: uint16(1194), - 334: uint16(1193), - 335: uint16(254), - 336: uint16(1438), - 337: uint16(401), - 338: uint16(508), - 339: uint16(505), - 340: uint16(504), - 341: uint16(112), - 342: uint16(564), - 343: uint16(570), +var _yy_action = [2142]uint16{ + 0: uint16(576), + 1: uint16(128), + 2: uint16(125), + 3: uint16(232), + 4: uint16(1622), + 5: uint16(549), + 6: uint16(576), + 7: uint16(1290), + 8: uint16(1281), + 9: uint16(576), + 10: uint16(328), + 11: uint16(576), + 12: uint16(1300), + 13: uint16(212), + 14: uint16(576), + 15: uint16(128), + 16: uint16(125), + 17: uint16(232), + 18: uint16(578), + 19: uint16(412), + 20: uint16(578), + 21: uint16(391), + 22: uint16(1542), + 23: uint16(51), + 24: uint16(51), + 25: uint16(523), + 26: uint16(405), + 27: uint16(1293), + 28: uint16(529), + 29: uint16(51), + 30: uint16(51), + 31: uint16(983), + 32: uint16(51), + 33: uint16(51), + 34: uint16(81), + 35: uint16(81), + 36: uint16(1107), + 37: uint16(61), + 38: uint16(61), + 39: uint16(984), + 40: uint16(1107), + 41: uint16(1292), + 42: uint16(380), + 43: uint16(135), + 44: uint16(136), + 45: uint16(90), + 46: uint16(1228), + 47: uint16(1228), + 48: uint16(1063), + 49: uint16(1066), + 50: uint16(1053), + 51: uint16(1053), + 52: uint16(133), + 53: uint16(133), + 54: uint16(134), + 55: uint16(134), + 56: uint16(134), + 57: uint16(134), + 58: uint16(1577), + 59: uint16(412), + 60: uint16(287), + 61: uint16(287), + 62: uint16(7), + 63: uint16(287), + 64: uint16(287), + 65: uint16(422), + 66: uint16(1050), + 67: uint16(1050), + 68: uint16(1064), + 69: uint16(1067), + 70: uint16(289), + 71: uint16(556), + 72: uint16(492), + 73: uint16(573), + 74: uint16(524), + 75: uint16(561), + 76: uint16(573), + 77: uint16(497), + 78: uint16(561), + 79: uint16(482), + 80: uint16(530), + 81: uint16(262), + 82: uint16(229), + 83: uint16(135), + 84: uint16(136), + 85: uint16(90), + 86: uint16(1228), + 87: uint16(1228), + 88: uint16(1063), + 89: uint16(1066), + 90: uint16(1053), + 91: uint16(1053), + 92: uint16(133), + 93: uint16(133), + 94: uint16(134), + 95: uint16(134), + 96: uint16(134), + 97: uint16(134), + 98: uint16(128), + 99: uint16(125), + 100: uint16(232), + 101: uint16(1506), + 102: uint16(132), + 103: uint16(132), + 104: uint16(132), + 105: uint16(132), + 106: uint16(131), + 107: uint16(131), + 108: uint16(130), + 109: uint16(130), + 110: uint16(130), + 111: uint16(129), + 112: uint16(126), + 113: uint16(450), + 114: uint16(1204), + 115: uint16(1255), + 116: uint16(1), + 117: uint16(1), + 118: uint16(582), + 119: uint16(2), + 120: uint16(1259), + 121: uint16(1571), + 122: uint16(420), + 123: uint16(1582), + 124: uint16(379), + 125: uint16(320), + 126: uint16(1174), + 127: uint16(153), + 128: uint16(1174), + 129: uint16(1584), + 130: uint16(412), + 131: uint16(378), + 132: uint16(1582), + 133: uint16(543), + 134: uint16(1341), + 135: uint16(330), + 136: uint16(111), + 137: uint16(570), + 138: uint16(570), + 139: uint16(570), + 140: uint16(293), + 141: uint16(1054), + 142: uint16(132), + 143: uint16(132), + 144: uint16(132), + 145: uint16(132), + 146: uint16(131), + 147: uint16(131), + 148: uint16(130), + 149: uint16(130), + 150: uint16(130), + 151: uint16(129), + 152: uint16(126), + 153: uint16(450), + 154: uint16(135), + 155: uint16(136), + 156: uint16(90), + 157: uint16(1228), + 158: uint16(1228), + 159: uint16(1063), + 160: uint16(1066), + 161: uint16(1053), + 162: uint16(1053), + 163: uint16(133), + 164: uint16(133), + 165: uint16(134), + 166: uint16(134), + 167: uint16(134), + 168: uint16(134), + 169: uint16(287), + 170: uint16(287), + 171: uint16(1204), + 172: uint16(1205), + 173: uint16(1204), + 174: uint16(255), + 175: uint16(287), + 176: uint16(287), + 177: uint16(510), + 178: uint16(507), + 179: uint16(506), + 180: uint16(137), + 181: uint16(455), + 182: uint16(573), + 183: uint16(212), + 184: uint16(561), + 185: uint16(447), + 186: uint16(446), + 187: uint16(505), + 188: uint16(573), + 189: uint16(1616), + 190: uint16(561), + 191: uint16(134), + 192: uint16(134), + 193: uint16(134), + 194: uint16(134), + 195: uint16(127), + 196: uint16(400), + 197: uint16(243), + 198: uint16(132), + 199: uint16(132), + 200: uint16(132), + 201: uint16(132), + 202: uint16(131), + 203: uint16(131), + 204: uint16(130), + 205: uint16(130), + 206: uint16(130), + 207: uint16(129), + 208: uint16(126), + 209: uint16(450), + 210: uint16(282), + 211: uint16(471), + 212: uint16(345), + 213: uint16(132), + 214: uint16(132), + 215: uint16(132), + 216: uint16(132), + 217: uint16(131), + 218: uint16(131), + 219: uint16(130), + 220: uint16(130), + 221: uint16(130), + 222: uint16(129), + 223: uint16(126), + 224: uint16(450), + 225: uint16(574), + 226: uint16(155), + 227: uint16(936), + 228: uint16(936), + 229: uint16(454), + 230: uint16(227), + 231: uint16(521), + 232: uint16(1236), + 233: uint16(412), + 234: uint16(1236), + 235: uint16(134), + 236: uint16(134), + 237: uint16(134), + 238: uint16(134), + 239: uint16(132), + 240: uint16(132), + 241: uint16(132), + 242: uint16(132), + 243: uint16(131), + 244: uint16(131), + 245: uint16(130), + 246: uint16(130), + 247: uint16(130), + 248: uint16(129), + 249: uint16(126), + 250: uint16(450), + 251: uint16(130), + 252: uint16(130), + 253: uint16(130), + 254: uint16(129), + 255: uint16(126), + 256: uint16(450), + 257: uint16(135), + 258: uint16(136), + 259: uint16(90), + 260: uint16(1228), + 261: uint16(1228), + 262: uint16(1063), + 263: uint16(1066), + 264: uint16(1053), + 265: uint16(1053), + 266: uint16(133), + 267: uint16(133), + 268: uint16(134), + 269: uint16(134), + 270: uint16(134), + 271: uint16(134), + 272: uint16(128), + 273: uint16(125), + 274: uint16(232), + 275: uint16(450), + 276: uint16(576), + 277: uint16(412), + 278: uint16(397), + 279: uint16(1249), + 280: uint16(180), + 281: uint16(92), + 282: uint16(93), + 283: uint16(132), + 284: uint16(132), + 285: uint16(132), + 286: uint16(132), + 287: uint16(131), + 288: uint16(131), + 289: uint16(130), + 290: uint16(130), + 291: uint16(130), + 292: uint16(129), + 293: uint16(126), + 294: uint16(450), + 295: uint16(381), + 296: uint16(387), + 297: uint16(1204), + 298: uint16(383), + 299: uint16(81), + 300: uint16(81), + 301: uint16(135), + 302: uint16(136), + 303: uint16(90), + 304: uint16(1228), + 305: uint16(1228), + 306: uint16(1063), + 307: uint16(1066), + 308: uint16(1053), + 309: uint16(1053), + 310: uint16(133), + 311: uint16(133), + 312: uint16(134), + 313: uint16(134), + 314: uint16(134), + 315: uint16(134), + 316: uint16(132), + 317: uint16(132), + 318: uint16(132), + 319: uint16(132), + 320: uint16(131), + 321: uint16(131), + 322: uint16(130), + 323: uint16(130), + 324: uint16(130), + 325: uint16(129), + 326: uint16(126), + 327: uint16(450), + 328: uint16(131), + 329: uint16(131), + 330: uint16(130), + 331: uint16(130), + 332: uint16(130), + 333: uint16(129), + 334: uint16(126), + 335: uint16(450), + 336: uint16(556), + 337: uint16(1204), + 338: uint16(302), + 339: uint16(319), + 340: uint16(567), + 341: uint16(121), + 342: uint16(568), + 343: uint16(480), 344: uint16(4), - 345: uint16(929), - 346: uint16(929), - 347: uint16(435), - 348: uint16(503), - 349: uint16(342), - 350: uint16(464), - 351: uint16(330), - 352: uint16(362), - 353: uint16(396), - 354: uint16(1238), - 355: uint16(1193), - 356: uint16(1194), - 357: uint16(1193), - 358: uint16(567), - 359: uint16(572), - 360: uint16(123), - 361: uint16(123), - 362: uint16(123), - 363: uint16(123), - 364: uint16(122), - 365: uint16(122), - 366: uint16(121), - 367: uint16(121), - 368: uint16(121), - 369: uint16(120), - 370: uint16(117), - 371: uint16(448), - 372: uint16(286), - 373: uint16(286), - 374: uint16(371), - 375: uint16(1581), - 376: uint16(1607), - 377: uint16(445), - 378: uint16(444), - 379: uint16(155), - 380: uint16(411), - 381: uint16(449), - 382: uint16(72), - 383: uint16(72), - 384: uint16(1289), - 385: uint16(569), - 386: uint16(1222), - 387: uint16(1193), - 388: uint16(1194), - 389: uint16(1193), - 390: uint16(86), - 391: uint16(1224), - 392: uint16(273), - 393: uint16(561), - 394: uint16(547), - 395: uint16(520), - 396: uint16(520), - 397: uint16(572), - 398: uint16(99), - 399: uint16(1223), - 400: uint16(6), - 401: uint16(1281), - 402: uint16(476), - 403: uint16(143), - 404: uint16(126), - 405: uint16(127), - 406: uint16(81), - 407: uint16(1217), - 408: uint16(1217), - 409: uint16(1054), - 410: uint16(1057), - 411: uint16(1044), - 412: uint16(1044), - 413: uint16(124), - 414: uint16(124), - 415: uint16(125), - 416: uint16(125), - 417: uint16(125), - 418: uint16(125), - 419: uint16(554), - 420: uint16(13), - 421: uint16(13), - 422: uint16(1031), - 423: uint16(511), - 424: uint16(1225), - 425: uint16(1193), - 426: uint16(1225), - 427: uint16(553), - 428: uint16(110), - 429: uint16(110), - 430: uint16(224), - 431: uint16(572), - 432: uint16(1239), - 433: uint16(177), - 434: uint16(572), - 435: uint16(429), - 436: uint16(111), - 437: uint16(199), - 438: uint16(449), - 439: uint16(573), - 440: uint16(449), - 441: uint16(432), - 442: uint16(1555), - 443: uint16(1019), - 444: uint16(327), - 445: uint16(555), - 446: uint16(1193), - 447: uint16(272), - 448: uint16(289), - 449: uint16(370), - 450: uint16(514), - 451: uint16(365), - 452: uint16(513), - 453: uint16(259), - 454: uint16(72), - 455: uint16(72), - 456: uint16(547), - 457: uint16(72), - 458: uint16(72), - 459: uint16(361), - 460: uint16(318), - 461: uint16(563), - 462: uint16(1613), - 463: uint16(123), - 464: uint16(123), - 465: uint16(123), - 466: uint16(123), - 467: uint16(122), - 468: uint16(122), - 469: uint16(121), - 470: uint16(121), - 471: uint16(121), - 472: uint16(120), - 473: uint16(117), - 474: uint16(448), - 475: uint16(1019), - 476: uint16(1019), - 477: uint16(1021), - 478: uint16(1022), - 479: uint16(28), - 480: uint16(286), - 481: uint16(286), - 482: uint16(1193), - 483: uint16(1194), - 484: uint16(1193), - 485: uint16(1159), - 486: uint16(572), - 487: uint16(1612), - 488: uint16(411), - 489: uint16(904), - 490: uint16(192), - 491: uint16(554), - 492: uint16(358), - 493: uint16(569), - 494: uint16(554), - 495: uint16(940), - 496: uint16(537), - 497: uint16(521), - 498: uint16(1159), - 499: uint16(437), - 500: uint16(415), - 501: uint16(1159), - 502: uint16(556), - 503: uint16(1193), - 504: uint16(1194), - 505: uint16(1193), - 506: uint16(572), - 507: uint16(548), - 508: uint16(548), - 509: uint16(52), - 510: uint16(52), - 511: uint16(216), - 512: uint16(126), - 513: uint16(127), - 514: uint16(81), - 515: uint16(1217), - 516: uint16(1217), - 517: uint16(1054), - 518: uint16(1057), - 519: uint16(1044), - 520: uint16(1044), - 521: uint16(124), - 522: uint16(124), - 523: uint16(125), - 524: uint16(125), - 525: uint16(125), - 526: uint16(125), - 527: uint16(1193), - 528: uint16(478), - 529: uint16(136), - 530: uint16(136), - 531: uint16(411), - 532: uint16(286), - 533: uint16(286), - 534: uint16(1493), - 535: uint16(509), - 536: uint16(122), - 537: uint16(122), - 538: uint16(121), - 539: uint16(121), - 540: uint16(121), - 541: uint16(120), - 542: uint16(117), - 543: uint16(448), - 544: uint16(1010), - 545: uint16(569), - 546: uint16(522), - 547: uint16(219), - 548: uint16(545), - 549: uint16(545), - 550: uint16(318), - 551: uint16(563), - 552: uint16(143), - 553: uint16(6), - 554: uint16(536), - 555: uint16(126), - 556: uint16(127), - 557: uint16(81), - 558: uint16(1217), - 559: uint16(1217), - 560: uint16(1054), - 561: uint16(1057), - 562: uint16(1044), - 563: uint16(1044), - 564: uint16(124), - 565: uint16(124), - 566: uint16(125), - 567: uint16(125), - 568: uint16(125), - 569: uint16(125), - 570: uint16(1557), - 571: uint16(123), - 572: uint16(123), - 573: uint16(123), - 574: uint16(123), - 575: uint16(122), - 576: uint16(122), - 577: uint16(121), - 578: uint16(121), - 579: uint16(121), - 580: uint16(120), - 581: uint16(117), - 582: uint16(448), - 583: uint16(489), - 584: uint16(1193), - 585: uint16(1194), - 586: uint16(1193), - 587: uint16(486), - 588: uint16(283), - 589: uint16(1270), - 590: uint16(960), - 591: uint16(254), - 592: uint16(1193), - 593: uint16(375), - 594: uint16(508), - 595: uint16(505), - 596: uint16(504), - 597: uint16(1193), - 598: uint16(342), - 599: uint16(574), - 600: uint16(1193), - 601: uint16(574), - 602: uint16(411), - 603: uint16(294), - 604: uint16(503), - 605: uint16(960), - 606: uint16(879), - 607: uint16(193), - 608: uint16(484), - 609: uint16(318), - 610: uint16(563), - 611: uint16(386), - 612: uint16(292), - 613: uint16(382), - 614: uint16(123), - 615: uint16(123), - 616: uint16(123), - 617: uint16(123), - 618: uint16(122), - 619: uint16(122), - 620: uint16(121), - 621: uint16(121), - 622: uint16(121), - 623: uint16(120), - 624: uint16(117), - 625: uint16(448), - 626: uint16(126), - 627: uint16(127), - 628: uint16(81), - 629: uint16(1217), - 630: uint16(1217), - 631: uint16(1054), - 632: uint16(1057), - 633: uint16(1044), - 634: uint16(1044), - 635: uint16(124), - 636: uint16(124), - 637: uint16(125), - 638: uint16(125), - 639: uint16(125), - 640: uint16(125), - 641: uint16(411), - 642: uint16(396), - 643: uint16(1139), - 644: uint16(1193), - 645: uint16(872), - 646: uint16(101), - 647: uint16(286), - 648: uint16(286), - 649: uint16(1193), - 650: uint16(1194), - 651: uint16(1193), - 652: uint16(375), - 653: uint16(1096), - 654: uint16(1193), - 655: uint16(1194), - 656: uint16(1193), - 657: uint16(1193), - 658: uint16(1194), - 659: uint16(1193), - 660: uint16(569), - 661: uint16(459), - 662: uint16(33), - 663: uint16(375), - 664: uint16(235), - 665: uint16(126), - 666: uint16(127), - 667: uint16(81), - 668: uint16(1217), - 669: uint16(1217), - 670: uint16(1054), - 671: uint16(1057), - 672: uint16(1044), - 673: uint16(1044), - 674: uint16(124), - 675: uint16(124), - 676: uint16(125), - 677: uint16(125), - 678: uint16(125), - 679: uint16(125), - 680: uint16(1437), - 681: uint16(962), - 682: uint16(572), - 683: uint16(230), - 684: uint16(961), - 685: uint16(123), - 686: uint16(123), - 687: uint16(123), - 688: uint16(123), - 689: uint16(122), - 690: uint16(122), - 691: uint16(121), - 692: uint16(121), - 693: uint16(121), - 694: uint16(120), - 695: uint16(117), - 696: uint16(448), - 697: uint16(1159), - 698: uint16(230), - 699: uint16(1193), - 700: uint16(158), - 701: uint16(1193), - 702: uint16(1194), - 703: uint16(1193), - 704: uint16(1556), - 705: uint16(13), - 706: uint16(13), - 707: uint16(303), - 708: uint16(960), - 709: uint16(1233), - 710: uint16(1159), - 711: uint16(154), - 712: uint16(411), - 713: uint16(1159), - 714: uint16(375), - 715: uint16(1584), - 716: uint16(1177), - 717: uint16(5), - 718: uint16(371), - 719: uint16(1581), - 720: uint16(431), - 721: uint16(1239), - 722: uint16(3), - 723: uint16(960), - 724: uint16(123), - 725: uint16(123), - 726: uint16(123), - 727: uint16(123), - 728: uint16(122), - 729: uint16(122), - 730: uint16(121), - 731: uint16(121), - 732: uint16(121), - 733: uint16(120), - 734: uint16(117), - 735: uint16(448), - 736: uint16(126), - 737: uint16(127), - 738: uint16(81), - 739: uint16(1217), - 740: uint16(1217), - 741: uint16(1054), - 742: uint16(1057), - 743: uint16(1044), - 744: uint16(1044), - 745: uint16(124), - 746: uint16(124), - 747: uint16(125), - 748: uint16(125), - 749: uint16(125), - 750: uint16(125), - 751: uint16(411), - 752: uint16(210), - 753: uint16(571), - 754: uint16(1193), - 755: uint16(1032), - 756: uint16(1193), - 757: uint16(1194), - 758: uint16(1193), - 759: uint16(1193), - 760: uint16(390), - 761: uint16(855), - 762: uint16(156), - 763: uint16(1555), - 764: uint16(376), - 765: uint16(404), - 766: uint16(1101), - 767: uint16(1101), - 768: uint16(492), - 769: uint16(572), - 770: uint16(469), - 771: uint16(344), - 772: uint16(1322), - 773: uint16(1322), - 774: uint16(1555), - 775: uint16(126), - 776: uint16(127), - 777: uint16(81), - 778: uint16(1217), - 779: uint16(1217), - 780: uint16(1054), - 781: uint16(1057), - 782: uint16(1044), - 783: uint16(1044), - 784: uint16(124), - 785: uint16(124), - 786: uint16(125), - 787: uint16(125), - 788: uint16(125), - 789: uint16(125), - 790: uint16(130), - 791: uint16(572), - 792: uint16(13), - 793: uint16(13), - 794: uint16(532), - 795: uint16(123), - 796: uint16(123), - 797: uint16(123), - 798: uint16(123), - 799: uint16(122), - 800: uint16(122), - 801: uint16(121), - 802: uint16(121), - 803: uint16(121), - 804: uint16(120), - 805: uint16(117), - 806: uint16(448), - 807: uint16(304), - 808: uint16(572), - 809: uint16(457), - 810: uint16(229), - 811: uint16(1193), - 812: uint16(1194), - 813: uint16(1193), - 814: uint16(13), - 815: uint16(13), - 816: uint16(1193), - 817: uint16(1194), - 818: uint16(1193), - 819: uint16(1300), - 820: uint16(467), - 821: uint16(1270), - 822: uint16(411), - 823: uint16(1320), - 824: uint16(1320), - 825: uint16(1555), - 826: uint16(1015), - 827: uint16(457), - 828: uint16(456), - 829: uint16(436), - 830: uint16(301), - 831: uint16(72), - 832: uint16(72), - 833: uint16(1268), - 834: uint16(123), - 835: uint16(123), - 836: uint16(123), - 837: uint16(123), - 838: uint16(122), - 839: uint16(122), - 840: uint16(121), - 841: uint16(121), - 842: uint16(121), - 843: uint16(120), - 844: uint16(117), - 845: uint16(448), - 846: uint16(126), - 847: uint16(127), - 848: uint16(81), - 849: uint16(1217), - 850: uint16(1217), - 851: uint16(1054), - 852: uint16(1057), - 853: uint16(1044), - 854: uint16(1044), - 855: uint16(124), - 856: uint16(124), - 857: uint16(125), - 858: uint16(125), - 859: uint16(125), - 860: uint16(125), - 861: uint16(411), - 862: uint16(384), - 863: uint16(1076), - 864: uint16(1159), - 865: uint16(286), - 866: uint16(286), - 867: uint16(421), - 868: uint16(314), - 869: uint16(280), - 870: uint16(280), - 871: uint16(287), - 872: uint16(287), - 873: uint16(461), - 874: uint16(408), - 875: uint16(407), - 876: uint16(1539), - 877: uint16(1159), - 878: uint16(569), - 879: uint16(572), - 880: uint16(1159), - 881: uint16(1196), - 882: uint16(569), - 883: uint16(409), - 884: uint16(569), - 885: uint16(126), - 886: uint16(127), - 887: uint16(81), - 888: uint16(1217), - 889: uint16(1217), - 890: uint16(1054), - 891: uint16(1057), - 892: uint16(1044), - 893: uint16(1044), - 894: uint16(124), - 895: uint16(124), - 896: uint16(125), - 897: uint16(125), - 898: uint16(125), - 899: uint16(125), - 900: uint16(457), - 901: uint16(1485), - 902: uint16(13), - 903: uint16(13), - 904: uint16(1541), - 905: uint16(123), - 906: uint16(123), - 907: uint16(123), - 908: uint16(123), - 909: uint16(122), - 910: uint16(122), - 911: uint16(121), - 912: uint16(121), - 913: uint16(121), - 914: uint16(120), - 915: uint16(117), - 916: uint16(448), - 917: uint16(202), - 918: uint16(572), - 919: uint16(462), - 920: uint16(1587), - 921: uint16(578), - 922: uint16(2), - 923: uint16(1248), - 924: uint16(843), - 925: uint16(844), - 926: uint16(845), - 927: uint16(1563), - 928: uint16(319), - 929: uint16(409), - 930: uint16(147), - 931: uint16(6), - 932: uint16(411), - 933: uint16(257), - 934: uint16(256), - 935: uint16(255), - 936: uint16(208), - 937: uint16(1330), - 938: uint16(9), - 939: uint16(1196), - 940: uint16(264), - 941: uint16(72), - 942: uint16(72), - 943: uint16(1436), - 944: uint16(123), - 945: uint16(123), - 946: uint16(123), - 947: uint16(123), - 948: uint16(122), - 949: uint16(122), - 950: uint16(121), - 951: uint16(121), - 952: uint16(121), - 953: uint16(120), - 954: uint16(117), - 955: uint16(448), - 956: uint16(126), - 957: uint16(127), - 958: uint16(81), - 959: uint16(1217), - 960: uint16(1217), - 961: uint16(1054), - 962: uint16(1057), - 963: uint16(1044), - 964: uint16(1044), - 965: uint16(124), - 966: uint16(124), - 967: uint16(125), - 968: uint16(125), - 969: uint16(125), - 970: uint16(125), - 971: uint16(572), - 972: uint16(286), - 973: uint16(286), - 974: uint16(572), - 975: uint16(1213), - 976: uint16(411), - 977: uint16(577), - 978: uint16(315), - 979: uint16(1248), - 980: uint16(421), - 981: uint16(371), - 982: uint16(1581), - 983: uint16(356), - 984: uint16(319), - 985: uint16(569), - 986: uint16(147), - 987: uint16(495), - 988: uint16(529), - 989: uint16(1644), - 990: uint16(397), - 991: uint16(935), - 992: uint16(495), - 993: uint16(1330), - 994: uint16(71), - 995: uint16(71), - 996: uint16(934), - 997: uint16(72), - 998: uint16(72), - 999: uint16(242), - 1000: uint16(1328), - 1001: uint16(105), - 1002: uint16(81), - 1003: uint16(1217), - 1004: uint16(1217), - 1005: uint16(1054), - 1006: uint16(1057), - 1007: uint16(1044), - 1008: uint16(1044), - 1009: uint16(124), - 1010: uint16(124), - 1011: uint16(125), - 1012: uint16(125), - 1013: uint16(125), - 1014: uint16(125), - 1015: uint16(123), - 1016: uint16(123), - 1017: uint16(123), - 1018: uint16(123), - 1019: uint16(122), - 1020: uint16(122), - 1021: uint16(121), - 1022: uint16(121), - 1023: uint16(121), - 1024: uint16(120), - 1025: uint16(117), - 1026: uint16(448), - 1027: uint16(1117), - 1028: uint16(286), - 1029: uint16(286), - 1030: uint16(1422), - 1031: uint16(452), - 1032: uint16(1528), - 1033: uint16(1213), - 1034: uint16(443), - 1035: uint16(286), - 1036: uint16(286), - 1037: uint16(1492), - 1038: uint16(1355), - 1039: uint16(313), - 1040: uint16(478), - 1041: uint16(569), - 1042: uint16(1118), - 1043: uint16(454), - 1044: uint16(351), - 1045: uint16(495), - 1046: uint16(354), - 1047: uint16(1266), - 1048: uint16(569), - 1049: uint16(209), - 1050: uint16(572), - 1051: uint16(418), - 1052: uint16(179), - 1053: uint16(572), - 1054: uint16(1031), - 1055: uint16(242), - 1056: uint16(385), - 1057: uint16(1119), - 1058: uint16(523), - 1059: uint16(123), - 1060: uint16(123), - 1061: uint16(123), - 1062: uint16(123), - 1063: uint16(122), - 1064: uint16(122), - 1065: uint16(121), - 1066: uint16(121), - 1067: uint16(121), - 1068: uint16(120), - 1069: uint16(117), - 1070: uint16(448), - 1071: uint16(1020), - 1072: uint16(108), - 1073: uint16(72), - 1074: uint16(72), - 1075: uint16(1019), - 1076: uint16(13), - 1077: uint16(13), - 1078: uint16(915), - 1079: uint16(572), - 1080: uint16(1498), - 1081: uint16(572), - 1082: uint16(286), - 1083: uint16(286), - 1084: uint16(98), - 1085: uint16(530), - 1086: uint16(1537), - 1087: uint16(452), - 1088: uint16(916), - 1089: uint16(1334), - 1090: uint16(1329), - 1091: uint16(203), - 1092: uint16(411), - 1093: uint16(286), - 1094: uint16(286), - 1095: uint16(569), - 1096: uint16(152), - 1097: uint16(211), - 1098: uint16(1498), - 1099: uint16(1500), - 1100: uint16(426), - 1101: uint16(569), - 1102: uint16(56), - 1103: uint16(56), - 1104: uint16(57), - 1105: uint16(57), - 1106: uint16(569), - 1107: uint16(1019), - 1108: uint16(1019), - 1109: uint16(1021), - 1110: uint16(447), - 1111: uint16(572), - 1112: uint16(411), - 1113: uint16(531), - 1114: uint16(12), - 1115: uint16(297), - 1116: uint16(126), - 1117: uint16(127), - 1118: uint16(81), - 1119: uint16(1217), - 1120: uint16(1217), - 1121: uint16(1054), - 1122: uint16(1057), - 1123: uint16(1044), - 1124: uint16(1044), - 1125: uint16(124), - 1126: uint16(124), - 1127: uint16(125), - 1128: uint16(125), - 1129: uint16(125), - 1130: uint16(125), - 1131: uint16(572), - 1132: uint16(411), - 1133: uint16(867), - 1134: uint16(15), - 1135: uint16(15), - 1136: uint16(126), - 1137: uint16(127), - 1138: uint16(81), - 1139: uint16(1217), - 1140: uint16(1217), - 1141: uint16(1054), - 1142: uint16(1057), - 1143: uint16(1044), - 1144: uint16(1044), - 1145: uint16(124), - 1146: uint16(124), - 1147: uint16(125), - 1148: uint16(125), - 1149: uint16(125), - 1150: uint16(125), - 1151: uint16(373), - 1152: uint16(529), - 1153: uint16(264), - 1154: uint16(44), - 1155: uint16(44), - 1156: uint16(126), - 1157: uint16(115), - 1158: uint16(81), - 1159: uint16(1217), - 1160: uint16(1217), - 1161: uint16(1054), - 1162: uint16(1057), - 1163: uint16(1044), - 1164: uint16(1044), - 1165: uint16(124), - 1166: uint16(124), - 1167: uint16(125), - 1168: uint16(125), - 1169: uint16(125), - 1170: uint16(125), - 1171: uint16(1498), - 1172: uint16(478), - 1173: uint16(1271), - 1174: uint16(417), - 1175: uint16(123), - 1176: uint16(123), - 1177: uint16(123), - 1178: uint16(123), - 1179: uint16(122), - 1180: uint16(122), - 1181: uint16(121), - 1182: uint16(121), - 1183: uint16(121), - 1184: uint16(120), - 1185: uint16(117), - 1186: uint16(448), - 1187: uint16(205), - 1188: uint16(1213), - 1189: uint16(495), - 1190: uint16(430), - 1191: uint16(867), - 1192: uint16(468), - 1193: uint16(322), - 1194: uint16(495), - 1195: uint16(123), - 1196: uint16(123), - 1197: uint16(123), - 1198: uint16(123), - 1199: uint16(122), - 1200: uint16(122), - 1201: uint16(121), - 1202: uint16(121), - 1203: uint16(121), - 1204: uint16(120), - 1205: uint16(117), - 1206: uint16(448), - 1207: uint16(572), - 1208: uint16(557), - 1209: uint16(1140), - 1210: uint16(1642), - 1211: uint16(1422), - 1212: uint16(1642), - 1213: uint16(543), - 1214: uint16(572), - 1215: uint16(123), - 1216: uint16(123), - 1217: uint16(123), - 1218: uint16(123), - 1219: uint16(122), - 1220: uint16(122), - 1221: uint16(121), - 1222: uint16(121), - 1223: uint16(121), - 1224: uint16(120), - 1225: uint16(117), - 1226: uint16(448), - 1227: uint16(572), - 1228: uint16(1422), - 1229: uint16(572), - 1230: uint16(13), - 1231: uint16(13), - 1232: uint16(542), - 1233: uint16(323), - 1234: uint16(1325), - 1235: uint16(411), - 1236: uint16(334), - 1237: uint16(58), - 1238: uint16(58), - 1239: uint16(349), - 1240: uint16(1422), - 1241: uint16(1170), - 1242: uint16(326), - 1243: uint16(286), - 1244: uint16(286), - 1245: uint16(549), - 1246: uint16(1213), - 1247: uint16(300), - 1248: uint16(895), - 1249: uint16(530), - 1250: uint16(45), - 1251: uint16(45), - 1252: uint16(59), - 1253: uint16(59), - 1254: uint16(1140), - 1255: uint16(1643), - 1256: uint16(569), - 1257: uint16(1643), - 1258: uint16(565), - 1259: uint16(417), - 1260: uint16(127), - 1261: uint16(81), - 1262: uint16(1217), - 1263: uint16(1217), - 1264: uint16(1054), - 1265: uint16(1057), - 1266: uint16(1044), - 1267: uint16(1044), - 1268: uint16(124), - 1269: uint16(124), - 1270: uint16(125), - 1271: uint16(125), - 1272: uint16(125), - 1273: uint16(125), - 1274: uint16(1367), - 1275: uint16(373), - 1276: uint16(500), - 1277: uint16(290), - 1278: uint16(1193), - 1279: uint16(512), - 1280: uint16(1366), - 1281: uint16(427), - 1282: uint16(394), - 1283: uint16(394), - 1284: uint16(393), - 1285: uint16(275), - 1286: uint16(391), - 1287: uint16(896), - 1288: uint16(1138), - 1289: uint16(852), - 1290: uint16(478), - 1291: uint16(258), - 1292: uint16(1422), - 1293: uint16(1170), - 1294: uint16(463), - 1295: uint16(1159), - 1296: uint16(12), - 1297: uint16(331), - 1298: uint16(428), - 1299: uint16(333), - 1300: uint16(1117), - 1301: uint16(460), - 1302: uint16(236), - 1303: uint16(258), - 1304: uint16(325), - 1305: uint16(460), - 1306: uint16(544), - 1307: uint16(1544), - 1308: uint16(1159), - 1309: uint16(1098), - 1310: uint16(491), - 1311: uint16(1159), - 1312: uint16(324), - 1313: uint16(1098), - 1314: uint16(440), - 1315: uint16(1118), - 1316: uint16(335), - 1317: uint16(516), - 1318: uint16(123), - 1319: uint16(123), - 1320: uint16(123), - 1321: uint16(123), - 1322: uint16(122), - 1323: uint16(122), - 1324: uint16(121), - 1325: uint16(121), - 1326: uint16(121), - 1327: uint16(120), - 1328: uint16(117), - 1329: uint16(448), - 1330: uint16(1119), - 1331: uint16(318), - 1332: uint16(563), - 1333: uint16(1138), - 1334: uint16(572), - 1335: uint16(1193), - 1336: uint16(1194), - 1337: uint16(1193), - 1338: uint16(112), - 1339: uint16(564), - 1340: uint16(201), + 345: uint16(555), + 346: uint16(1149), + 347: uint16(1657), + 348: uint16(1628), + 349: uint16(1657), + 350: uint16(45), + 351: uint16(128), + 352: uint16(125), + 353: uint16(232), + 354: uint16(1204), + 355: uint16(1205), + 356: uint16(1204), + 357: uint16(1250), + 358: uint16(571), + 359: uint16(1169), + 360: uint16(132), + 361: uint16(132), + 362: uint16(132), + 363: uint16(132), + 364: uint16(131), + 365: uint16(131), + 366: uint16(130), + 367: uint16(130), + 368: uint16(130), + 369: uint16(129), + 370: uint16(126), + 371: uint16(450), + 372: uint16(1169), + 373: uint16(287), + 374: uint16(287), + 375: uint16(1169), + 376: uint16(1019), + 377: uint16(576), + 378: uint16(422), + 379: uint16(1019), + 380: uint16(412), + 381: uint16(451), + 382: uint16(1602), + 383: uint16(582), + 384: uint16(2), + 385: uint16(1259), + 386: uint16(573), + 387: uint16(44), + 388: uint16(561), + 389: uint16(95), + 390: uint16(320), + 391: uint16(110), + 392: uint16(153), + 393: uint16(565), + 394: uint16(1204), + 395: uint16(1205), + 396: uint16(1204), + 397: uint16(522), + 398: uint16(522), + 399: uint16(1341), + 400: uint16(81), + 401: uint16(81), + 402: uint16(7), + 403: uint16(44), + 404: uint16(135), + 405: uint16(136), + 406: uint16(90), + 407: uint16(1228), + 408: uint16(1228), + 409: uint16(1063), + 410: uint16(1066), + 411: uint16(1053), + 412: uint16(1053), + 413: uint16(133), + 414: uint16(133), + 415: uint16(134), + 416: uint16(134), + 417: uint16(134), + 418: uint16(134), + 419: uint16(295), + 420: uint16(1149), + 421: uint16(1658), + 422: uint16(1040), + 423: uint16(1658), + 424: uint16(1204), + 425: uint16(1147), + 426: uint16(319), + 427: uint16(567), + 428: uint16(119), + 429: uint16(119), + 430: uint16(343), + 431: uint16(466), + 432: uint16(331), + 433: uint16(343), + 434: uint16(287), + 435: uint16(287), + 436: uint16(120), + 437: uint16(556), + 438: uint16(451), + 439: uint16(577), + 440: uint16(451), + 441: uint16(1169), + 442: uint16(1169), + 443: uint16(1028), + 444: uint16(319), + 445: uint16(567), + 446: uint16(438), + 447: uint16(573), + 448: uint16(210), + 449: uint16(561), + 450: uint16(1339), + 451: uint16(1451), + 452: uint16(546), + 453: uint16(531), + 454: uint16(1169), + 455: uint16(1169), + 456: uint16(1598), + 457: uint16(1169), + 458: uint16(1169), + 459: uint16(416), + 460: uint16(319), + 461: uint16(567), + 462: uint16(243), + 463: uint16(132), + 464: uint16(132), + 465: uint16(132), + 466: uint16(132), + 467: uint16(131), + 468: uint16(131), + 469: uint16(130), + 470: uint16(130), + 471: uint16(130), + 472: uint16(129), + 473: uint16(126), + 474: uint16(450), + 475: uint16(1028), + 476: uint16(1028), + 477: uint16(1030), + 478: uint16(1031), + 479: uint16(35), + 480: uint16(44), + 481: uint16(1204), + 482: uint16(1205), + 483: uint16(1204), + 484: uint16(472), + 485: uint16(287), + 486: uint16(287), + 487: uint16(1328), + 488: uint16(412), + 489: uint16(1307), + 490: uint16(372), + 491: uint16(1595), + 492: uint16(359), + 493: uint16(225), + 494: uint16(454), + 495: uint16(1204), + 496: uint16(195), + 497: uint16(1328), + 498: uint16(573), + 499: uint16(1147), + 500: uint16(561), + 501: uint16(1333), + 502: uint16(1333), + 503: uint16(274), + 504: uint16(576), + 505: uint16(1188), + 506: uint16(576), + 507: uint16(340), + 508: uint16(46), + 509: uint16(196), + 510: uint16(537), + 511: uint16(217), + 512: uint16(135), + 513: uint16(136), + 514: uint16(90), + 515: uint16(1228), + 516: uint16(1228), + 517: uint16(1063), + 518: uint16(1066), + 519: uint16(1053), + 520: uint16(1053), + 521: uint16(133), + 522: uint16(133), + 523: uint16(134), + 524: uint16(134), + 525: uint16(134), + 526: uint16(134), + 527: uint16(19), + 528: uint16(19), + 529: uint16(19), + 530: uint16(19), + 531: uint16(412), + 532: uint16(581), + 533: uint16(1204), + 534: uint16(1259), + 535: uint16(511), + 536: uint16(1204), + 537: uint16(319), + 538: uint16(567), + 539: uint16(320), + 540: uint16(944), + 541: uint16(153), + 542: uint16(425), + 543: uint16(491), + 544: uint16(430), + 545: uint16(943), + 546: uint16(1204), + 547: uint16(488), + 548: uint16(1341), + 549: uint16(1450), + 550: uint16(532), + 551: uint16(1277), + 552: uint16(1204), + 553: uint16(1205), + 554: uint16(1204), + 555: uint16(135), + 556: uint16(136), + 557: uint16(90), + 558: uint16(1228), + 559: uint16(1228), + 560: uint16(1063), + 561: uint16(1066), + 562: uint16(1053), + 563: uint16(1053), + 564: uint16(133), + 565: uint16(133), + 566: uint16(134), + 567: uint16(134), + 568: uint16(134), + 569: uint16(134), + 570: uint16(575), + 571: uint16(132), + 572: uint16(132), + 573: uint16(132), + 574: uint16(132), + 575: uint16(131), + 576: uint16(131), + 577: uint16(130), + 578: uint16(130), + 579: uint16(130), + 580: uint16(129), + 581: uint16(126), + 582: uint16(450), + 583: uint16(287), + 584: uint16(287), + 585: uint16(528), + 586: uint16(287), + 587: uint16(287), + 588: uint16(372), + 589: uint16(1595), + 590: uint16(1204), + 591: uint16(1205), + 592: uint16(1204), + 593: uint16(1204), + 594: uint16(1205), + 595: uint16(1204), + 596: uint16(573), + 597: uint16(486), + 598: uint16(561), + 599: uint16(573), + 600: uint16(889), + 601: uint16(561), + 602: uint16(412), + 603: uint16(1204), + 604: uint16(1205), + 605: uint16(1204), + 606: uint16(886), + 607: uint16(40), + 608: uint16(22), + 609: uint16(22), + 610: uint16(220), + 611: uint16(243), + 612: uint16(525), + 613: uint16(1449), + 614: uint16(132), + 615: uint16(132), + 616: uint16(132), + 617: uint16(132), + 618: uint16(131), + 619: uint16(131), + 620: uint16(130), + 621: uint16(130), + 622: uint16(130), + 623: uint16(129), + 624: uint16(126), + 625: uint16(450), + 626: uint16(135), + 627: uint16(136), + 628: uint16(90), + 629: uint16(1228), + 630: uint16(1228), + 631: uint16(1063), + 632: uint16(1066), + 633: uint16(1053), + 634: uint16(1053), + 635: uint16(133), + 636: uint16(133), + 637: uint16(134), + 638: uint16(134), + 639: uint16(134), + 640: uint16(134), + 641: uint16(412), + 642: uint16(180), + 643: uint16(454), + 644: uint16(1204), + 645: uint16(879), + 646: uint16(255), + 647: uint16(287), + 648: uint16(287), + 649: uint16(510), + 650: uint16(507), + 651: uint16(506), + 652: uint16(372), + 653: uint16(1595), + 654: uint16(1568), + 655: uint16(1331), + 656: uint16(1331), + 657: uint16(576), + 658: uint16(889), + 659: uint16(505), + 660: uint16(573), + 661: uint16(44), + 662: uint16(561), + 663: uint16(559), + 664: uint16(1207), + 665: uint16(135), + 666: uint16(136), + 667: uint16(90), + 668: uint16(1228), + 669: uint16(1228), + 670: uint16(1063), + 671: uint16(1066), + 672: uint16(1053), + 673: uint16(1053), + 674: uint16(133), + 675: uint16(133), + 676: uint16(134), + 677: uint16(134), + 678: uint16(134), + 679: uint16(134), + 680: uint16(81), + 681: uint16(81), + 682: uint16(422), + 683: uint16(576), + 684: uint16(377), + 685: uint16(132), + 686: uint16(132), + 687: uint16(132), + 688: uint16(132), + 689: uint16(131), + 690: uint16(131), + 691: uint16(130), + 692: uint16(130), + 693: uint16(130), + 694: uint16(129), + 695: uint16(126), + 696: uint16(450), + 697: uint16(297), + 698: uint16(287), + 699: uint16(287), + 700: uint16(460), + 701: uint16(1204), + 702: uint16(1205), + 703: uint16(1204), + 704: uint16(1204), + 705: uint16(534), + 706: uint16(19), + 707: uint16(19), + 708: uint16(448), + 709: uint16(448), + 710: uint16(448), + 711: uint16(573), + 712: uint16(412), + 713: uint16(561), + 714: uint16(230), + 715: uint16(436), + 716: uint16(1187), + 717: uint16(535), + 718: uint16(319), + 719: uint16(567), + 720: uint16(363), + 721: uint16(432), + 722: uint16(1207), + 723: uint16(1435), + 724: uint16(132), + 725: uint16(132), + 726: uint16(132), + 727: uint16(132), + 728: uint16(131), + 729: uint16(131), + 730: uint16(130), + 731: uint16(130), + 732: uint16(130), + 733: uint16(129), + 734: uint16(126), + 735: uint16(450), + 736: uint16(135), + 737: uint16(136), + 738: uint16(90), + 739: uint16(1228), + 740: uint16(1228), + 741: uint16(1063), + 742: uint16(1066), + 743: uint16(1053), + 744: uint16(1053), + 745: uint16(133), + 746: uint16(133), + 747: uint16(134), + 748: uint16(134), + 749: uint16(134), + 750: uint16(134), + 751: uint16(412), + 752: uint16(211), + 753: uint16(949), + 754: uint16(1169), + 755: uint16(1041), + 756: uint16(1110), + 757: uint16(1110), + 758: uint16(494), + 759: uint16(547), + 760: uint16(547), + 761: uint16(1204), + 762: uint16(1205), + 763: uint16(1204), + 764: uint16(7), + 765: uint16(539), + 766: uint16(1570), + 767: uint16(1169), + 768: uint16(376), + 769: uint16(576), + 770: uint16(1169), + 771: uint16(5), + 772: uint16(1204), + 773: uint16(486), + 774: uint16(3), + 775: uint16(135), + 776: uint16(136), + 777: uint16(90), + 778: uint16(1228), + 779: uint16(1228), + 780: uint16(1063), + 781: uint16(1066), + 782: uint16(1053), + 783: uint16(1053), + 784: uint16(133), + 785: uint16(133), + 786: uint16(134), + 787: uint16(134), + 788: uint16(134), + 789: uint16(134), + 790: uint16(576), + 791: uint16(513), + 792: uint16(19), + 793: uint16(19), + 794: uint16(427), + 795: uint16(132), + 796: uint16(132), + 797: uint16(132), + 798: uint16(132), + 799: uint16(131), + 800: uint16(131), + 801: uint16(130), + 802: uint16(130), + 803: uint16(130), + 804: uint16(129), + 805: uint16(126), + 806: uint16(450), + 807: uint16(305), + 808: uint16(1204), + 809: uint16(433), + 810: uint16(225), + 811: uint16(1204), + 812: uint16(385), + 813: uint16(19), + 814: uint16(19), + 815: uint16(273), + 816: uint16(290), + 817: uint16(371), + 818: uint16(516), + 819: uint16(366), + 820: uint16(515), + 821: uint16(260), + 822: uint16(412), + 823: uint16(538), + 824: uint16(1568), + 825: uint16(549), + 826: uint16(1024), + 827: uint16(362), + 828: uint16(437), + 829: uint16(1204), + 830: uint16(1205), + 831: uint16(1204), + 832: uint16(902), + 833: uint16(1552), + 834: uint16(132), + 835: uint16(132), + 836: uint16(132), + 837: uint16(132), + 838: uint16(131), + 839: uint16(131), + 840: uint16(130), + 841: uint16(130), + 842: uint16(130), + 843: uint16(129), + 844: uint16(126), + 845: uint16(450), + 846: uint16(135), + 847: uint16(136), + 848: uint16(90), + 849: uint16(1228), + 850: uint16(1228), + 851: uint16(1063), + 852: uint16(1066), + 853: uint16(1053), + 854: uint16(1053), + 855: uint16(133), + 856: uint16(133), + 857: uint16(134), + 858: uint16(134), + 859: uint16(134), + 860: uint16(134), + 861: uint16(412), + 862: uint16(1435), + 863: uint16(514), + 864: uint16(1281), + 865: uint16(1204), + 866: uint16(1205), + 867: uint16(1204), + 868: uint16(1204), + 869: uint16(1205), + 870: uint16(1204), + 871: uint16(903), + 872: uint16(48), + 873: uint16(342), + 874: uint16(1568), + 875: uint16(1568), + 876: uint16(1279), + 877: uint16(1627), + 878: uint16(1568), + 879: uint16(911), + 880: uint16(576), + 881: uint16(129), + 882: uint16(126), + 883: uint16(450), + 884: uint16(110), + 885: uint16(135), + 886: uint16(136), + 887: uint16(90), + 888: uint16(1228), + 889: uint16(1228), + 890: uint16(1063), + 891: uint16(1066), + 892: uint16(1053), + 893: uint16(1053), + 894: uint16(133), + 895: uint16(133), + 896: uint16(134), + 897: uint16(134), + 898: uint16(134), + 899: uint16(134), + 900: uint16(265), + 901: uint16(576), + 902: uint16(459), + 903: uint16(19), + 904: uint16(19), + 905: uint16(132), + 906: uint16(132), + 907: uint16(132), + 908: uint16(132), + 909: uint16(131), + 910: uint16(131), + 911: uint16(130), + 912: uint16(130), + 913: uint16(130), + 914: uint16(129), + 915: uint16(126), + 916: uint16(450), + 917: uint16(1345), + 918: uint16(204), + 919: uint16(576), + 920: uint16(459), + 921: uint16(458), + 922: uint16(50), + 923: uint16(47), + 924: uint16(19), + 925: uint16(19), + 926: uint16(49), + 927: uint16(434), + 928: uint16(1105), + 929: uint16(573), + 930: uint16(497), + 931: uint16(561), + 932: uint16(412), + 933: uint16(428), + 934: uint16(108), + 935: uint16(1224), + 936: uint16(1569), + 937: uint16(1554), + 938: uint16(376), + 939: uint16(205), + 940: uint16(550), + 941: uint16(550), + 942: uint16(81), + 943: uint16(81), + 944: uint16(132), + 945: uint16(132), + 946: uint16(132), + 947: uint16(132), + 948: uint16(131), + 949: uint16(131), + 950: uint16(130), + 951: uint16(130), + 952: uint16(130), + 953: uint16(129), + 954: uint16(126), + 955: uint16(450), + 956: uint16(135), + 957: uint16(136), + 958: uint16(90), + 959: uint16(1228), + 960: uint16(1228), + 961: uint16(1063), + 962: uint16(1066), + 963: uint16(1053), + 964: uint16(1053), + 965: uint16(133), + 966: uint16(133), + 967: uint16(134), + 968: uint16(134), + 969: uint16(134), + 970: uint16(134), + 971: uint16(480), + 972: uint16(576), + 973: uint16(1204), + 974: uint16(576), + 975: uint16(1541), + 976: uint16(412), + 977: uint16(1435), + 978: uint16(969), + 979: uint16(315), + 980: uint16(1659), + 981: uint16(398), + 982: uint16(284), + 983: uint16(497), + 984: uint16(969), + 985: uint16(893), + 986: uint16(1569), + 987: uint16(1569), + 988: uint16(376), + 989: uint16(376), + 990: uint16(1569), + 991: uint16(461), + 992: uint16(376), + 993: uint16(1224), + 994: uint16(459), + 995: uint16(80), + 996: uint16(80), + 997: uint16(81), + 998: uint16(81), + 999: uint16(497), + 1000: uint16(374), + 1001: uint16(114), + 1002: uint16(90), + 1003: uint16(1228), + 1004: uint16(1228), + 1005: uint16(1063), + 1006: uint16(1066), + 1007: uint16(1053), + 1008: uint16(1053), + 1009: uint16(133), + 1010: uint16(133), + 1011: uint16(134), + 1012: uint16(134), + 1013: uint16(134), + 1014: uint16(134), + 1015: uint16(132), + 1016: uint16(132), + 1017: uint16(132), + 1018: uint16(132), + 1019: uint16(131), + 1020: uint16(131), + 1021: uint16(130), + 1022: uint16(130), + 1023: uint16(130), + 1024: uint16(129), + 1025: uint16(126), + 1026: uint16(450), + 1027: uint16(1204), + 1028: uint16(1505), + 1029: uint16(576), + 1030: uint16(1204), + 1031: uint16(1205), + 1032: uint16(1204), + 1033: uint16(1366), + 1034: uint16(316), + 1035: uint16(486), + 1036: uint16(281), + 1037: uint16(281), + 1038: uint16(497), + 1039: uint16(431), + 1040: uint16(557), + 1041: uint16(288), + 1042: uint16(288), + 1043: uint16(402), + 1044: uint16(1340), + 1045: uint16(471), + 1046: uint16(345), + 1047: uint16(298), + 1048: uint16(429), + 1049: uint16(573), + 1050: uint16(576), + 1051: uint16(561), + 1052: uint16(81), + 1053: uint16(81), + 1054: uint16(573), + 1055: uint16(374), + 1056: uint16(561), + 1057: uint16(971), + 1058: uint16(386), + 1059: uint16(132), + 1060: uint16(132), + 1061: uint16(132), + 1062: uint16(132), + 1063: uint16(131), + 1064: uint16(131), + 1065: uint16(130), + 1066: uint16(130), + 1067: uint16(130), + 1068: uint16(129), + 1069: uint16(126), + 1070: uint16(450), + 1071: uint16(231), + 1072: uint16(117), + 1073: uint16(81), + 1074: uint16(81), + 1075: uint16(287), + 1076: uint16(287), + 1077: uint16(231), + 1078: uint16(287), + 1079: uint16(287), + 1080: uint16(576), + 1081: uint16(1511), + 1082: uint16(576), + 1083: uint16(1336), + 1084: uint16(1204), + 1085: uint16(1205), + 1086: uint16(1204), + 1087: uint16(139), + 1088: uint16(573), + 1089: uint16(556), + 1090: uint16(561), + 1091: uint16(573), + 1092: uint16(412), + 1093: uint16(561), + 1094: uint16(441), + 1095: uint16(456), + 1096: uint16(969), + 1097: uint16(213), + 1098: uint16(558), + 1099: uint16(1511), + 1100: uint16(1513), + 1101: uint16(1550), + 1102: uint16(969), + 1103: uint16(143), + 1104: uint16(143), + 1105: uint16(145), + 1106: uint16(145), + 1107: uint16(1368), + 1108: uint16(314), + 1109: uint16(478), + 1110: uint16(444), + 1111: uint16(970), + 1112: uint16(412), + 1113: uint16(850), + 1114: uint16(851), + 1115: uint16(852), + 1116: uint16(135), + 1117: uint16(136), + 1118: uint16(90), + 1119: uint16(1228), + 1120: uint16(1228), + 1121: uint16(1063), + 1122: uint16(1066), + 1123: uint16(1053), + 1124: uint16(1053), + 1125: uint16(133), + 1126: uint16(133), + 1127: uint16(134), + 1128: uint16(134), + 1129: uint16(134), + 1130: uint16(134), + 1131: uint16(357), + 1132: uint16(412), + 1133: uint16(397), + 1134: uint16(1148), + 1135: uint16(304), + 1136: uint16(135), + 1137: uint16(136), + 1138: uint16(90), + 1139: uint16(1228), + 1140: uint16(1228), + 1141: uint16(1063), + 1142: uint16(1066), + 1143: uint16(1053), + 1144: uint16(1053), + 1145: uint16(133), + 1146: uint16(133), + 1147: uint16(134), + 1148: uint16(134), + 1149: uint16(134), + 1150: uint16(134), + 1151: uint16(1575), + 1152: uint16(323), + 1153: uint16(6), + 1154: uint16(862), + 1155: uint16(7), + 1156: uint16(135), + 1157: uint16(124), + 1158: uint16(90), + 1159: uint16(1228), + 1160: uint16(1228), + 1161: uint16(1063), + 1162: uint16(1066), + 1163: uint16(1053), + 1164: uint16(1053), + 1165: uint16(133), + 1166: uint16(133), + 1167: uint16(134), + 1168: uint16(134), + 1169: uint16(134), + 1170: uint16(134), + 1171: uint16(409), + 1172: uint16(408), + 1173: uint16(1511), + 1174: uint16(212), + 1175: uint16(132), + 1176: uint16(132), + 1177: uint16(132), + 1178: uint16(132), + 1179: uint16(131), + 1180: uint16(131), + 1181: uint16(130), + 1182: uint16(130), + 1183: uint16(130), + 1184: uint16(129), + 1185: uint16(126), + 1186: uint16(450), + 1187: uint16(411), + 1188: uint16(118), + 1189: uint16(1204), + 1190: uint16(116), + 1191: uint16(10), + 1192: uint16(352), + 1193: uint16(265), + 1194: uint16(355), + 1195: uint16(132), + 1196: uint16(132), + 1197: uint16(132), + 1198: uint16(132), + 1199: uint16(131), + 1200: uint16(131), + 1201: uint16(130), + 1202: uint16(130), + 1203: uint16(130), + 1204: uint16(129), + 1205: uint16(126), + 1206: uint16(450), + 1207: uint16(576), + 1208: uint16(324), + 1209: uint16(306), + 1210: uint16(576), + 1211: uint16(306), + 1212: uint16(1250), + 1213: uint16(469), + 1214: uint16(158), + 1215: uint16(132), + 1216: uint16(132), + 1217: uint16(132), + 1218: uint16(132), + 1219: uint16(131), + 1220: uint16(131), + 1221: uint16(130), + 1222: uint16(130), + 1223: uint16(130), + 1224: uint16(129), + 1225: uint16(126), + 1226: uint16(450), + 1227: uint16(207), + 1228: uint16(1224), + 1229: uint16(1126), + 1230: uint16(65), + 1231: uint16(65), + 1232: uint16(470), + 1233: uint16(66), + 1234: uint16(66), + 1235: uint16(412), + 1236: uint16(447), + 1237: uint16(446), + 1238: uint16(882), + 1239: uint16(531), + 1240: uint16(335), + 1241: uint16(258), + 1242: uint16(257), + 1243: uint16(256), + 1244: uint16(1127), + 1245: uint16(1233), + 1246: uint16(1204), + 1247: uint16(1205), + 1248: uint16(1204), + 1249: uint16(327), + 1250: uint16(1235), + 1251: uint16(874), + 1252: uint16(159), + 1253: uint16(576), + 1254: uint16(16), + 1255: uint16(480), + 1256: uint16(1085), + 1257: uint16(1040), + 1258: uint16(1234), + 1259: uint16(1128), + 1260: uint16(136), + 1261: uint16(90), + 1262: uint16(1228), + 1263: uint16(1228), + 1264: uint16(1063), + 1265: uint16(1066), + 1266: uint16(1053), + 1267: uint16(1053), + 1268: uint16(133), + 1269: uint16(133), + 1270: uint16(134), + 1271: uint16(134), + 1272: uint16(134), + 1273: uint16(134), + 1274: uint16(1029), + 1275: uint16(576), + 1276: uint16(81), + 1277: uint16(81), + 1278: uint16(1028), + 1279: uint16(1040), + 1280: uint16(922), + 1281: uint16(576), + 1282: uint16(463), + 1283: uint16(1236), + 1284: uint16(576), + 1285: uint16(1236), + 1286: uint16(1224), + 1287: uint16(502), + 1288: uint16(107), + 1289: uint16(1435), + 1290: uint16(923), + 1291: uint16(6), + 1292: uint16(576), + 1293: uint16(410), + 1294: uint16(1498), + 1295: uint16(882), + 1296: uint16(1029), + 1297: uint16(480), + 1298: uint16(21), + 1299: uint16(21), + 1300: uint16(1028), + 1301: uint16(332), + 1302: uint16(1380), + 1303: uint16(334), + 1304: uint16(53), + 1305: uint16(53), + 1306: uint16(497), + 1307: uint16(81), + 1308: uint16(81), + 1309: uint16(874), + 1310: uint16(1028), + 1311: uint16(1028), + 1312: uint16(1030), + 1313: uint16(445), + 1314: uint16(259), + 1315: uint16(19), + 1316: uint16(19), + 1317: uint16(533), + 1318: uint16(132), + 1319: uint16(132), + 1320: uint16(132), + 1321: uint16(132), + 1322: uint16(131), + 1323: uint16(131), + 1324: uint16(130), + 1325: uint16(130), + 1326: uint16(130), + 1327: uint16(129), + 1328: uint16(126), + 1329: uint16(450), + 1330: uint16(551), + 1331: uint16(301), + 1332: uint16(1028), + 1333: uint16(1028), + 1334: uint16(1030), + 1335: uint16(107), + 1336: uint16(532), + 1337: uint16(545), + 1338: uint16(121), + 1339: uint16(568), + 1340: uint16(1188), 1341: uint16(4), - 1342: uint16(238), - 1343: uint16(433), - 1344: uint16(935), - 1345: uint16(490), - 1346: uint16(285), - 1347: uint16(228), - 1348: uint16(1517), - 1349: uint16(934), - 1350: uint16(170), - 1351: uint16(560), - 1352: uint16(572), - 1353: uint16(142), - 1354: uint16(1516), - 1355: uint16(567), - 1356: uint16(572), - 1357: uint16(60), - 1358: uint16(60), - 1359: uint16(572), - 1360: uint16(416), - 1361: uint16(572), - 1362: uint16(441), - 1363: uint16(572), - 1364: uint16(535), - 1365: uint16(302), - 1366: uint16(875), - 1367: uint16(8), - 1368: uint16(487), - 1369: uint16(572), - 1370: uint16(237), - 1371: uint16(572), - 1372: uint16(416), - 1373: uint16(572), - 1374: uint16(485), - 1375: uint16(61), - 1376: uint16(61), - 1377: uint16(572), - 1378: uint16(449), - 1379: uint16(62), - 1380: uint16(62), - 1381: uint16(332), - 1382: uint16(63), - 1383: uint16(63), - 1384: uint16(46), - 1385: uint16(46), - 1386: uint16(47), - 1387: uint16(47), - 1388: uint16(361), - 1389: uint16(572), - 1390: uint16(561), - 1391: uint16(572), - 1392: uint16(48), - 1393: uint16(48), - 1394: uint16(50), - 1395: uint16(50), - 1396: uint16(51), - 1397: uint16(51), - 1398: uint16(572), - 1399: uint16(295), - 1400: uint16(64), - 1401: uint16(64), - 1402: uint16(482), - 1403: uint16(295), - 1404: uint16(539), - 1405: uint16(412), - 1406: uint16(471), - 1407: uint16(1031), - 1408: uint16(572), - 1409: uint16(538), - 1410: uint16(318), - 1411: uint16(563), - 1412: uint16(65), - 1413: uint16(65), - 1414: uint16(66), - 1415: uint16(66), - 1416: uint16(409), - 1417: uint16(475), - 1418: uint16(572), - 1419: uint16(1031), - 1420: uint16(572), - 1421: uint16(14), - 1422: uint16(14), - 1423: uint16(875), - 1424: uint16(1020), - 1425: uint16(110), - 1426: uint16(110), - 1427: uint16(409), - 1428: uint16(1019), - 1429: uint16(572), - 1430: uint16(474), - 1431: uint16(67), - 1432: uint16(67), - 1433: uint16(111), - 1434: uint16(455), - 1435: uint16(449), - 1436: uint16(573), - 1437: uint16(449), - 1438: uint16(98), - 1439: uint16(317), - 1440: uint16(1019), - 1441: uint16(132), - 1442: uint16(132), - 1443: uint16(133), - 1444: uint16(133), - 1445: uint16(572), - 1446: uint16(1561), - 1447: uint16(572), - 1448: uint16(974), - 1449: uint16(409), - 1450: uint16(6), - 1451: uint16(1562), - 1452: uint16(68), - 1453: uint16(68), - 1454: uint16(1560), - 1455: uint16(6), - 1456: uint16(975), - 1457: uint16(572), - 1458: uint16(6), - 1459: uint16(1559), - 1460: uint16(1019), - 1461: uint16(1019), - 1462: uint16(1021), - 1463: uint16(6), - 1464: uint16(346), - 1465: uint16(218), - 1466: uint16(101), - 1467: uint16(531), - 1468: uint16(53), - 1469: uint16(53), - 1470: uint16(69), - 1471: uint16(69), - 1472: uint16(1019), - 1473: uint16(1019), - 1474: uint16(1021), - 1475: uint16(1022), - 1476: uint16(28), - 1477: uint16(1586), - 1478: uint16(1181), - 1479: uint16(451), - 1480: uint16(70), - 1481: uint16(70), - 1482: uint16(290), - 1483: uint16(87), - 1484: uint16(215), - 1485: uint16(31), - 1486: uint16(1363), - 1487: uint16(394), - 1488: uint16(394), - 1489: uint16(393), - 1490: uint16(275), - 1491: uint16(391), - 1492: uint16(350), - 1493: uint16(109), - 1494: uint16(852), - 1495: uint16(107), - 1496: uint16(572), - 1497: uint16(112), - 1498: uint16(564), - 1499: uint16(483), - 1500: uint16(4), - 1501: uint16(1212), - 1502: uint16(572), - 1503: uint16(239), - 1504: uint16(153), - 1505: uint16(572), - 1506: uint16(39), - 1507: uint16(236), - 1508: uint16(1299), - 1509: uint16(325), - 1510: uint16(112), - 1511: uint16(564), - 1512: uint16(1298), - 1513: uint16(4), - 1514: uint16(567), - 1515: uint16(572), - 1516: uint16(32), - 1517: uint16(324), - 1518: uint16(572), - 1519: uint16(54), - 1520: uint16(54), - 1521: uint16(572), - 1522: uint16(1135), - 1523: uint16(353), - 1524: uint16(398), - 1525: uint16(165), - 1526: uint16(165), - 1527: uint16(567), - 1528: uint16(166), - 1529: uint16(166), - 1530: uint16(572), - 1531: uint16(291), - 1532: uint16(355), - 1533: uint16(572), - 1534: uint16(17), - 1535: uint16(357), - 1536: uint16(572), - 1537: uint16(449), - 1538: uint16(77), - 1539: uint16(77), - 1540: uint16(1313), - 1541: uint16(55), - 1542: uint16(55), - 1543: uint16(1297), - 1544: uint16(73), - 1545: uint16(73), - 1546: uint16(572), - 1547: uint16(238), - 1548: uint16(470), - 1549: uint16(561), - 1550: uint16(449), - 1551: uint16(472), - 1552: uint16(364), - 1553: uint16(135), - 1554: uint16(135), - 1555: uint16(170), - 1556: uint16(74), - 1557: uint16(74), - 1558: uint16(142), - 1559: uint16(163), - 1560: uint16(163), - 1561: uint16(374), - 1562: uint16(561), - 1563: uint16(539), - 1564: uint16(572), - 1565: uint16(321), - 1566: uint16(572), - 1567: uint16(886), - 1568: uint16(540), - 1569: uint16(137), - 1570: uint16(137), - 1571: uint16(339), - 1572: uint16(1353), - 1573: uint16(422), - 1574: uint16(298), - 1575: uint16(237), - 1576: uint16(539), - 1577: uint16(572), - 1578: uint16(1031), - 1579: uint16(572), - 1580: uint16(340), - 1581: uint16(538), - 1582: uint16(101), - 1583: uint16(369), - 1584: uint16(110), - 1585: uint16(110), - 1586: uint16(162), - 1587: uint16(131), - 1588: uint16(131), - 1589: uint16(164), - 1590: uint16(164), - 1591: uint16(1031), - 1592: uint16(111), - 1593: uint16(368), - 1594: uint16(449), - 1595: uint16(573), - 1596: uint16(449), + 1342: uint16(1126), + 1343: uint16(1576), + 1344: uint16(449), + 1345: uint16(576), + 1346: uint16(462), + 1347: uint16(7), + 1348: uint16(1282), + 1349: uint16(418), + 1350: uint16(462), + 1351: uint16(350), + 1352: uint16(1435), + 1353: uint16(576), + 1354: uint16(518), + 1355: uint16(571), + 1356: uint16(544), + 1357: uint16(1127), + 1358: uint16(121), + 1359: uint16(568), + 1360: uint16(442), + 1361: uint16(4), + 1362: uint16(1188), + 1363: uint16(464), + 1364: uint16(533), + 1365: uint16(1180), + 1366: uint16(1223), + 1367: uint16(9), + 1368: uint16(67), + 1369: uint16(67), + 1370: uint16(487), + 1371: uint16(576), + 1372: uint16(1128), + 1373: uint16(303), + 1374: uint16(410), + 1375: uint16(571), + 1376: uint16(54), + 1377: uint16(54), + 1378: uint16(451), + 1379: uint16(576), + 1380: uint16(123), + 1381: uint16(944), + 1382: uint16(576), + 1383: uint16(417), + 1384: uint16(576), + 1385: uint16(333), + 1386: uint16(943), + 1387: uint16(1379), + 1388: uint16(576), + 1389: uint16(236), + 1390: uint16(565), + 1391: uint16(576), + 1392: uint16(1574), + 1393: uint16(564), + 1394: uint16(68), + 1395: uint16(68), + 1396: uint16(7), + 1397: uint16(576), + 1398: uint16(451), + 1399: uint16(362), + 1400: uint16(419), + 1401: uint16(182), + 1402: uint16(69), + 1403: uint16(69), + 1404: uint16(541), + 1405: uint16(70), + 1406: uint16(70), + 1407: uint16(71), + 1408: uint16(71), + 1409: uint16(540), + 1410: uint16(565), + 1411: uint16(72), + 1412: uint16(72), + 1413: uint16(484), + 1414: uint16(55), + 1415: uint16(55), + 1416: uint16(473), + 1417: uint16(1180), + 1418: uint16(296), + 1419: uint16(1040), + 1420: uint16(56), + 1421: uint16(56), + 1422: uint16(296), + 1423: uint16(493), + 1424: uint16(541), + 1425: uint16(119), + 1426: uint16(119), + 1427: uint16(410), + 1428: uint16(1573), + 1429: uint16(542), + 1430: uint16(569), + 1431: uint16(418), + 1432: uint16(7), + 1433: uint16(120), + 1434: uint16(1244), + 1435: uint16(451), + 1436: uint16(577), + 1437: uint16(451), + 1438: uint16(465), + 1439: uint16(1040), + 1440: uint16(1028), + 1441: uint16(576), + 1442: uint16(1557), + 1443: uint16(552), + 1444: uint16(476), + 1445: uint16(119), + 1446: uint16(119), + 1447: uint16(527), + 1448: uint16(259), + 1449: uint16(121), + 1450: uint16(568), + 1451: uint16(240), + 1452: uint16(4), + 1453: uint16(120), + 1454: uint16(576), + 1455: uint16(451), + 1456: uint16(577), + 1457: uint16(451), + 1458: uint16(576), + 1459: uint16(477), + 1460: uint16(1028), + 1461: uint16(576), + 1462: uint16(156), + 1463: uint16(576), + 1464: uint16(57), + 1465: uint16(57), + 1466: uint16(571), + 1467: uint16(576), + 1468: uint16(286), + 1469: uint16(229), + 1470: uint16(410), + 1471: uint16(336), + 1472: uint16(1028), + 1473: uint16(1028), + 1474: uint16(1030), + 1475: uint16(1031), + 1476: uint16(35), + 1477: uint16(59), + 1478: uint16(59), + 1479: uint16(219), + 1480: uint16(983), + 1481: uint16(60), + 1482: uint16(60), + 1483: uint16(220), + 1484: uint16(73), + 1485: uint16(73), + 1486: uint16(74), + 1487: uint16(74), + 1488: uint16(984), + 1489: uint16(451), + 1490: uint16(75), + 1491: uint16(75), + 1492: uint16(1028), + 1493: uint16(1028), + 1494: uint16(1030), + 1495: uint16(1031), + 1496: uint16(35), + 1497: uint16(96), + 1498: uint16(216), + 1499: uint16(291), + 1500: uint16(552), + 1501: uint16(565), + 1502: uint16(1188), + 1503: uint16(318), + 1504: uint16(395), + 1505: uint16(395), + 1506: uint16(394), + 1507: uint16(276), + 1508: uint16(392), + 1509: uint16(576), + 1510: uint16(485), + 1511: uint16(859), + 1512: uint16(474), + 1513: uint16(1311), + 1514: uint16(410), + 1515: uint16(541), + 1516: uint16(576), + 1517: uint16(417), + 1518: uint16(1530), + 1519: uint16(1144), + 1520: uint16(540), + 1521: uint16(399), + 1522: uint16(1188), + 1523: uint16(292), + 1524: uint16(237), + 1525: uint16(1153), + 1526: uint16(326), + 1527: uint16(38), + 1528: uint16(23), + 1529: uint16(576), + 1530: uint16(1040), + 1531: uint16(576), + 1532: uint16(20), + 1533: uint16(20), + 1534: uint16(325), + 1535: uint16(299), + 1536: uint16(119), + 1537: uint16(119), + 1538: uint16(164), + 1539: uint16(76), + 1540: uint16(76), + 1541: uint16(1529), + 1542: uint16(121), + 1543: uint16(568), + 1544: uint16(120), + 1545: uint16(4), + 1546: uint16(451), + 1547: uint16(577), + 1548: uint16(451), + 1549: uint16(203), + 1550: uint16(576), + 1551: uint16(1028), + 1552: uint16(141), + 1553: uint16(141), + 1554: uint16(142), + 1555: uint16(142), + 1556: uint16(576), + 1557: uint16(322), + 1558: uint16(39), + 1559: uint16(571), + 1560: uint16(341), + 1561: uint16(1021), + 1562: uint16(110), + 1563: uint16(264), + 1564: uint16(239), + 1565: uint16(901), + 1566: uint16(900), + 1567: uint16(423), + 1568: uint16(242), + 1569: uint16(908), + 1570: uint16(909), + 1571: uint16(370), + 1572: uint16(173), + 1573: uint16(77), + 1574: uint16(77), + 1575: uint16(43), + 1576: uint16(479), + 1577: uint16(1310), + 1578: uint16(264), + 1579: uint16(62), + 1580: uint16(62), + 1581: uint16(369), + 1582: uint16(451), + 1583: uint16(1028), + 1584: uint16(1028), + 1585: uint16(1030), + 1586: uint16(1031), + 1587: uint16(35), + 1588: uint16(1601), + 1589: uint16(1192), + 1590: uint16(453), + 1591: uint16(1092), + 1592: uint16(238), + 1593: uint16(291), + 1594: uint16(565), + 1595: uint16(163), + 1596: uint16(1309), 1597: uint16(110), - 1598: uint16(110), - 1599: uint16(1019), - 1600: uint16(157), - 1601: uint16(157), - 1602: uint16(141), - 1603: uint16(141), - 1604: uint16(572), - 1605: uint16(111), - 1606: uint16(572), - 1607: uint16(449), - 1608: uint16(573), - 1609: uint16(449), - 1610: uint16(412), - 1611: uint16(288), - 1612: uint16(1019), - 1613: uint16(572), - 1614: uint16(882), - 1615: uint16(318), - 1616: uint16(563), - 1617: uint16(572), - 1618: uint16(219), - 1619: uint16(572), - 1620: uint16(241), - 1621: uint16(1012), - 1622: uint16(477), - 1623: uint16(263), - 1624: uint16(263), - 1625: uint16(894), - 1626: uint16(893), - 1627: uint16(140), - 1628: uint16(140), - 1629: uint16(138), - 1630: uint16(138), - 1631: uint16(1019), - 1632: uint16(1019), - 1633: uint16(1021), - 1634: uint16(1022), - 1635: uint16(28), - 1636: uint16(139), - 1637: uint16(139), - 1638: uint16(525), - 1639: uint16(455), - 1640: uint16(76), - 1641: uint16(76), - 1642: uint16(78), - 1643: uint16(78), - 1644: uint16(1019), - 1645: uint16(1019), - 1646: uint16(1021), - 1647: uint16(1022), - 1648: uint16(28), - 1649: uint16(1181), - 1650: uint16(451), - 1651: uint16(572), - 1652: uint16(1083), - 1653: uint16(290), - 1654: uint16(112), - 1655: uint16(564), - 1656: uint16(1575), - 1657: uint16(4), - 1658: uint16(394), - 1659: uint16(394), - 1660: uint16(393), - 1661: uint16(275), - 1662: uint16(391), - 1663: uint16(572), - 1664: uint16(1023), - 1665: uint16(852), - 1666: uint16(572), - 1667: uint16(479), - 1668: uint16(345), - 1669: uint16(263), - 1670: uint16(101), - 1671: uint16(567), - 1672: uint16(882), - 1673: uint16(1376), - 1674: uint16(75), - 1675: uint16(75), - 1676: uint16(1421), - 1677: uint16(501), - 1678: uint16(236), - 1679: uint16(260), - 1680: uint16(325), - 1681: uint16(112), - 1682: uint16(564), - 1683: uint16(359), - 1684: uint16(4), - 1685: uint16(101), - 1686: uint16(43), - 1687: uint16(43), - 1688: uint16(324), - 1689: uint16(49), - 1690: uint16(49), - 1691: uint16(901), - 1692: uint16(902), - 1693: uint16(161), - 1694: uint16(449), - 1695: uint16(101), - 1696: uint16(977), - 1697: uint16(978), - 1698: uint16(567), - 1699: uint16(1079), - 1700: uint16(1349), - 1701: uint16(260), - 1702: uint16(965), - 1703: uint16(932), - 1704: uint16(263), - 1705: uint16(114), - 1706: uint16(561), - 1707: uint16(1095), - 1708: uint16(517), - 1709: uint16(1095), - 1710: uint16(1083), - 1711: uint16(1094), - 1712: uint16(865), - 1713: uint16(1094), - 1714: uint16(151), - 1715: uint16(933), - 1716: uint16(1144), - 1717: uint16(114), - 1718: uint16(238), - 1719: uint16(1361), - 1720: uint16(558), - 1721: uint16(449), - 1722: uint16(1023), - 1723: uint16(559), - 1724: uint16(1426), - 1725: uint16(1278), - 1726: uint16(170), - 1727: uint16(1269), - 1728: uint16(1257), - 1729: uint16(142), - 1730: uint16(1601), - 1731: uint16(1256), - 1732: uint16(1258), - 1733: uint16(561), - 1734: uint16(1594), - 1735: uint16(1031), - 1736: uint16(496), - 1737: uint16(278), - 1738: uint16(213), - 1739: uint16(1346), - 1740: uint16(310), - 1741: uint16(110), - 1742: uint16(110), - 1743: uint16(939), - 1744: uint16(311), - 1745: uint16(312), - 1746: uint16(237), - 1747: uint16(11), - 1748: uint16(234), - 1749: uint16(111), - 1750: uint16(221), - 1751: uint16(449), - 1752: uint16(573), - 1753: uint16(449), - 1754: uint16(293), - 1755: uint16(395), - 1756: uint16(1019), - 1757: uint16(1408), - 1758: uint16(337), - 1759: uint16(1403), - 1760: uint16(1396), - 1761: uint16(338), - 1762: uint16(1031), - 1763: uint16(299), - 1764: uint16(343), - 1765: uint16(1413), - 1766: uint16(1412), - 1767: uint16(481), - 1768: uint16(110), - 1769: uint16(110), - 1770: uint16(506), - 1771: uint16(402), - 1772: uint16(225), - 1773: uint16(1296), - 1774: uint16(206), - 1775: uint16(367), - 1776: uint16(111), - 1777: uint16(1358), - 1778: uint16(449), - 1779: uint16(573), - 1780: uint16(449), - 1781: uint16(412), - 1782: uint16(1359), - 1783: uint16(1019), - 1784: uint16(1489), - 1785: uint16(1488), - 1786: uint16(318), - 1787: uint16(563), - 1788: uint16(1019), - 1789: uint16(1019), - 1790: uint16(1021), - 1791: uint16(1022), - 1792: uint16(28), - 1793: uint16(562), - 1794: uint16(207), - 1795: uint16(220), - 1796: uint16(80), - 1797: uint16(564), - 1798: uint16(389), - 1799: uint16(4), - 1800: uint16(1597), - 1801: uint16(1357), - 1802: uint16(552), - 1803: uint16(1356), - 1804: uint16(1233), - 1805: uint16(181), - 1806: uint16(267), - 1807: uint16(232), - 1808: uint16(1536), - 1809: uint16(1534), - 1810: uint16(455), - 1811: uint16(1230), - 1812: uint16(420), - 1813: uint16(567), - 1814: uint16(82), - 1815: uint16(1019), - 1816: uint16(1019), - 1817: uint16(1021), - 1818: uint16(1022), - 1819: uint16(28), - 1820: uint16(86), - 1821: uint16(217), - 1822: uint16(85), - 1823: uint16(1494), - 1824: uint16(190), - 1825: uint16(175), - 1826: uint16(183), - 1827: uint16(465), - 1828: uint16(185), - 1829: uint16(466), - 1830: uint16(36), - 1831: uint16(1409), - 1832: uint16(186), - 1833: uint16(187), - 1834: uint16(188), - 1835: uint16(499), - 1836: uint16(449), - 1837: uint16(244), - 1838: uint16(37), - 1839: uint16(99), - 1840: uint16(400), - 1841: uint16(1415), - 1842: uint16(1414), - 1843: uint16(488), - 1844: uint16(1417), - 1845: uint16(194), - 1846: uint16(473), - 1847: uint16(403), - 1848: uint16(561), - 1849: uint16(1483), - 1850: uint16(248), - 1851: uint16(92), - 1852: uint16(1505), - 1853: uint16(494), - 1854: uint16(198), - 1855: uint16(279), - 1856: uint16(112), - 1857: uint16(564), - 1858: uint16(250), - 1859: uint16(4), - 1860: uint16(348), - 1861: uint16(497), - 1862: uint16(405), - 1863: uint16(352), - 1864: uint16(1259), - 1865: uint16(251), - 1866: uint16(252), - 1867: uint16(515), - 1868: uint16(1316), - 1869: uint16(434), - 1870: uint16(1315), - 1871: uint16(1314), - 1872: uint16(94), - 1873: uint16(567), - 1874: uint16(1307), - 1875: uint16(886), - 1876: uint16(1306), - 1877: uint16(1031), - 1878: uint16(226), - 1879: uint16(406), - 1880: uint16(1611), - 1881: uint16(1610), - 1882: uint16(438), - 1883: uint16(110), - 1884: uint16(110), - 1885: uint16(1580), - 1886: uint16(1286), - 1887: uint16(524), - 1888: uint16(439), - 1889: uint16(308), - 1890: uint16(266), - 1891: uint16(111), - 1892: uint16(1285), - 1893: uint16(449), - 1894: uint16(573), - 1895: uint16(449), - 1896: uint16(449), - 1897: uint16(309), - 1898: uint16(1019), - 1899: uint16(366), - 1900: uint16(1284), - 1901: uint16(1609), - 1902: uint16(265), - 1903: uint16(1566), - 1904: uint16(1565), - 1905: uint16(442), - 1906: uint16(372), - 1907: uint16(1381), - 1908: uint16(561), - 1909: uint16(129), - 1910: uint16(550), - 1911: uint16(1380), - 1912: uint16(10), - 1913: uint16(1470), - 1914: uint16(383), - 1915: uint16(106), - 1916: uint16(316), - 1917: uint16(551), - 1918: uint16(100), - 1919: uint16(35), - 1920: uint16(534), - 1921: uint16(575), - 1922: uint16(212), - 1923: uint16(1339), - 1924: uint16(381), - 1925: uint16(387), - 1926: uint16(1187), - 1927: uint16(1338), - 1928: uint16(274), - 1929: uint16(276), - 1930: uint16(1019), - 1931: uint16(1019), - 1932: uint16(1021), - 1933: uint16(1022), - 1934: uint16(28), - 1935: uint16(277), - 1936: uint16(413), - 1937: uint16(1031), - 1938: uint16(576), - 1939: uint16(1254), - 1940: uint16(388), - 1941: uint16(1521), - 1942: uint16(1249), - 1943: uint16(110), - 1944: uint16(110), - 1945: uint16(167), - 1946: uint16(1522), - 1947: uint16(168), - 1948: uint16(148), - 1949: uint16(1520), - 1950: uint16(1519), - 1951: uint16(111), - 1952: uint16(306), - 1953: uint16(449), - 1954: uint16(573), - 1955: uint16(449), - 1956: uint16(222), - 1957: uint16(223), - 1958: uint16(1019), - 1959: uint16(839), - 1960: uint16(169), - 1961: uint16(79), - 1962: uint16(450), - 1963: uint16(214), - 1964: uint16(414), - 1965: uint16(233), - 1966: uint16(320), - 1967: uint16(145), - 1968: uint16(1093), - 1969: uint16(1091), - 1970: uint16(328), - 1971: uint16(182), - 1972: uint16(171), - 1973: uint16(1212), - 1974: uint16(918), - 1975: uint16(184), - 1976: uint16(240), - 1977: uint16(336), - 1978: uint16(243), - 1979: uint16(1107), - 1980: uint16(189), - 1981: uint16(172), - 1982: uint16(173), - 1983: uint16(423), - 1984: uint16(425), - 1985: uint16(88), - 1986: uint16(180), - 1987: uint16(191), - 1988: uint16(89), - 1989: uint16(90), - 1990: uint16(1019), - 1991: uint16(1019), - 1992: uint16(1021), - 1993: uint16(1022), - 1994: uint16(28), - 1995: uint16(91), - 1996: uint16(174), - 1997: uint16(1110), - 1998: uint16(245), - 1999: uint16(1106), - 2000: uint16(246), - 2001: uint16(159), - 2002: uint16(18), - 2003: uint16(247), - 2004: uint16(347), - 2005: uint16(1099), - 2006: uint16(263), - 2007: uint16(195), - 2008: uint16(1227), - 2009: uint16(493), - 2010: uint16(249), - 2011: uint16(196), - 2012: uint16(38), - 2013: uint16(854), - 2014: uint16(498), - 2015: uint16(368), - 2016: uint16(253), - 2017: uint16(360), - 2018: uint16(897), - 2019: uint16(197), - 2020: uint16(502), - 2021: uint16(93), - 2022: uint16(19), - 2023: uint16(20), - 2024: uint16(507), - 2025: uint16(884), - 2026: uint16(363), - 2027: uint16(510), - 2028: uint16(95), - 2029: uint16(307), - 2030: uint16(160), - 2031: uint16(96), - 2032: uint16(518), - 2033: uint16(97), - 2034: uint16(1175), - 2035: uint16(1060), - 2036: uint16(1146), - 2037: uint16(40), - 2038: uint16(21), - 2039: uint16(227), - 2040: uint16(176), - 2041: uint16(1145), - 2042: uint16(282), - 2043: uint16(284), - 2044: uint16(969), - 2045: uint16(200), - 2046: uint16(963), - 2047: uint16(114), - 2048: uint16(262), - 2049: uint16(1165), - 2050: uint16(22), - 2051: uint16(23), - 2052: uint16(24), - 2053: uint16(1161), - 2054: uint16(1169), - 2055: uint16(25), - 2056: uint16(1163), - 2057: uint16(1150), - 2058: uint16(34), - 2059: uint16(26), - 2060: uint16(1168), - 2061: uint16(546), - 2062: uint16(27), - 2063: uint16(204), - 2064: uint16(101), - 2065: uint16(103), - 2066: uint16(104), - 2067: uint16(1074), - 2068: uint16(7), - 2069: uint16(1061), - 2070: uint16(1059), - 2071: uint16(1063), - 2072: uint16(1116), - 2073: uint16(1064), - 2074: uint16(1115), - 2075: uint16(268), - 2076: uint16(269), - 2077: uint16(29), - 2078: uint16(41), - 2079: uint16(270), - 2080: uint16(1024), - 2081: uint16(866), - 2082: uint16(113), - 2083: uint16(30), - 2084: uint16(568), - 2085: uint16(392), - 2086: uint16(1183), - 2087: uint16(144), - 2088: uint16(178), - 2089: uint16(1182), - 2090: uint16(271), - 2091: uint16(928), - 2092: uint16(1245), - 2093: uint16(1245), - 2094: uint16(1245), - 2095: uint16(1245), - 2096: uint16(1245), - 2097: uint16(1245), - 2098: uint16(1245), - 2099: uint16(1602), -} -var _yy_lookahead = [2285]uint16{ - 0: uint16(193), - 1: uint16(193), - 2: uint16(193), - 3: uint16(274), - 4: uint16(275), - 5: uint16(276), - 6: uint16(193), - 7: uint16(274), - 8: uint16(275), - 9: uint16(276), - 10: uint16(193), - 11: uint16(223), - 12: uint16(219), - 13: uint16(225), - 14: uint16(206), - 15: uint16(210), - 16: uint16(211), - 17: uint16(212), - 18: uint16(193), + 1598: uint16(395), + 1599: uint16(395), + 1600: uint16(394), + 1601: uint16(276), + 1602: uint16(392), + 1603: uint16(986), + 1604: uint16(987), + 1605: uint16(859), + 1606: uint16(481), + 1607: uint16(346), + 1608: uint16(264), + 1609: uint16(110), + 1610: uint16(1032), + 1611: uint16(489), + 1612: uint16(576), + 1613: uint16(1188), + 1614: uint16(503), + 1615: uint16(1088), + 1616: uint16(261), + 1617: uint16(261), + 1618: uint16(237), + 1619: uint16(576), + 1620: uint16(326), + 1621: uint16(121), + 1622: uint16(568), + 1623: uint16(1040), + 1624: uint16(4), + 1625: uint16(347), + 1626: uint16(1376), + 1627: uint16(413), + 1628: uint16(325), + 1629: uint16(119), + 1630: uint16(119), + 1631: uint16(948), + 1632: uint16(319), + 1633: uint16(567), + 1634: uint16(351), + 1635: uint16(78), + 1636: uint16(78), + 1637: uint16(120), + 1638: uint16(571), + 1639: uint16(451), + 1640: uint16(577), + 1641: uint16(451), + 1642: uint16(79), + 1643: uint16(79), + 1644: uint16(1028), + 1645: uint16(354), + 1646: uint16(356), + 1647: uint16(576), + 1648: uint16(360), + 1649: uint16(1092), + 1650: uint16(110), + 1651: uint16(576), + 1652: uint16(974), + 1653: uint16(942), + 1654: uint16(264), + 1655: uint16(123), + 1656: uint16(457), + 1657: uint16(358), + 1658: uint16(239), + 1659: uint16(576), + 1660: uint16(519), + 1661: uint16(451), + 1662: uint16(939), + 1663: uint16(1104), + 1664: uint16(123), + 1665: uint16(1104), + 1666: uint16(173), + 1667: uint16(576), + 1668: uint16(1032), + 1669: uint16(43), + 1670: uint16(63), + 1671: uint16(63), + 1672: uint16(1324), + 1673: uint16(565), + 1674: uint16(168), + 1675: uint16(168), + 1676: uint16(1028), + 1677: uint16(1028), + 1678: uint16(1030), + 1679: uint16(1031), + 1680: uint16(35), + 1681: uint16(576), + 1682: uint16(169), + 1683: uint16(169), + 1684: uint16(1308), + 1685: uint16(872), + 1686: uint16(238), + 1687: uint16(157), + 1688: uint16(1589), + 1689: uint16(576), + 1690: uint16(86), + 1691: uint16(86), + 1692: uint16(365), + 1693: uint16(89), + 1694: uint16(568), + 1695: uint16(375), + 1696: uint16(4), + 1697: uint16(1103), + 1698: uint16(941), + 1699: uint16(1103), + 1700: uint16(123), + 1701: uint16(576), + 1702: uint16(1040), + 1703: uint16(1389), + 1704: uint16(64), + 1705: uint16(64), + 1706: uint16(1188), + 1707: uint16(1434), + 1708: uint16(119), + 1709: uint16(119), + 1710: uint16(571), + 1711: uint16(576), + 1712: uint16(82), + 1713: uint16(82), + 1714: uint16(563), + 1715: uint16(576), + 1716: uint16(120), + 1717: uint16(165), + 1718: uint16(451), + 1719: uint16(577), + 1720: uint16(451), + 1721: uint16(413), + 1722: uint16(1362), + 1723: uint16(1028), + 1724: uint16(144), + 1725: uint16(144), + 1726: uint16(319), + 1727: uint16(567), + 1728: uint16(576), + 1729: uint16(1374), + 1730: uint16(562), + 1731: uint16(498), + 1732: uint16(279), + 1733: uint16(451), + 1734: uint16(83), + 1735: uint16(83), + 1736: uint16(1439), + 1737: uint16(576), + 1738: uint16(166), + 1739: uint16(166), + 1740: uint16(576), + 1741: uint16(1289), + 1742: uint16(554), + 1743: uint16(576), + 1744: uint16(1280), + 1745: uint16(565), + 1746: uint16(576), + 1747: uint16(12), + 1748: uint16(576), + 1749: uint16(1268), + 1750: uint16(457), + 1751: uint16(146), + 1752: uint16(146), + 1753: uint16(1267), + 1754: uint16(576), + 1755: uint16(1028), + 1756: uint16(1028), + 1757: uint16(1030), + 1758: uint16(1031), + 1759: uint16(35), + 1760: uint16(140), + 1761: uint16(140), + 1762: uint16(1269), + 1763: uint16(167), + 1764: uint16(167), + 1765: uint16(1609), + 1766: uint16(160), + 1767: uint16(160), + 1768: uint16(1359), + 1769: uint16(150), + 1770: uint16(150), + 1771: uint16(149), + 1772: uint16(149), + 1773: uint16(311), + 1774: uint16(1040), + 1775: uint16(576), + 1776: uint16(312), + 1777: uint16(147), + 1778: uint16(147), + 1779: uint16(313), + 1780: uint16(119), + 1781: uint16(119), + 1782: uint16(222), + 1783: uint16(235), + 1784: uint16(576), + 1785: uint16(1188), + 1786: uint16(396), + 1787: uint16(576), + 1788: uint16(120), + 1789: uint16(576), + 1790: uint16(451), + 1791: uint16(577), + 1792: uint16(451), + 1793: uint16(1192), + 1794: uint16(453), + 1795: uint16(1028), + 1796: uint16(508), + 1797: uint16(291), + 1798: uint16(148), + 1799: uint16(148), + 1800: uint16(1421), + 1801: uint16(1612), + 1802: uint16(395), + 1803: uint16(395), + 1804: uint16(394), + 1805: uint16(276), + 1806: uint16(392), + 1807: uint16(85), + 1808: uint16(85), + 1809: uint16(859), + 1810: uint16(87), + 1811: uint16(87), + 1812: uint16(84), + 1813: uint16(84), + 1814: uint16(553), + 1815: uint16(576), + 1816: uint16(294), + 1817: uint16(576), + 1818: uint16(1426), + 1819: uint16(338), + 1820: uint16(339), + 1821: uint16(1425), + 1822: uint16(237), + 1823: uint16(300), + 1824: uint16(326), + 1825: uint16(1416), + 1826: uint16(1409), + 1827: uint16(1028), + 1828: uint16(1028), + 1829: uint16(1030), + 1830: uint16(1031), + 1831: uint16(35), + 1832: uint16(325), + 1833: uint16(344), + 1834: uint16(403), + 1835: uint16(483), + 1836: uint16(226), + 1837: uint16(1307), + 1838: uint16(52), + 1839: uint16(52), + 1840: uint16(58), + 1841: uint16(58), + 1842: uint16(368), + 1843: uint16(1371), + 1844: uint16(1502), + 1845: uint16(566), + 1846: uint16(1501), + 1847: uint16(121), + 1848: uint16(568), + 1849: uint16(221), + 1850: uint16(4), + 1851: uint16(208), + 1852: uint16(268), + 1853: uint16(209), + 1854: uint16(390), + 1855: uint16(1244), + 1856: uint16(1549), + 1857: uint16(1188), + 1858: uint16(1372), + 1859: uint16(1370), + 1860: uint16(1369), + 1861: uint16(1547), + 1862: uint16(239), + 1863: uint16(184), + 1864: uint16(571), + 1865: uint16(233), + 1866: uint16(421), + 1867: uint16(1241), + 1868: uint16(95), + 1869: uint16(218), + 1870: uint16(173), + 1871: uint16(1507), + 1872: uint16(193), + 1873: uint16(43), + 1874: uint16(91), + 1875: uint16(94), + 1876: uint16(178), + 1877: uint16(186), + 1878: uint16(467), + 1879: uint16(188), + 1880: uint16(468), + 1881: uint16(1422), + 1882: uint16(13), + 1883: uint16(189), + 1884: uint16(190), + 1885: uint16(191), + 1886: uint16(501), + 1887: uint16(451), + 1888: uint16(245), + 1889: uint16(108), + 1890: uint16(238), + 1891: uint16(401), + 1892: uint16(1428), + 1893: uint16(1427), + 1894: uint16(1430), + 1895: uint16(475), + 1896: uint16(404), + 1897: uint16(1496), + 1898: uint16(197), + 1899: uint16(565), + 1900: uint16(14), + 1901: uint16(490), + 1902: uint16(249), + 1903: uint16(101), + 1904: uint16(1518), + 1905: uint16(496), + 1906: uint16(349), + 1907: uint16(280), + 1908: uint16(251), + 1909: uint16(201), + 1910: uint16(353), + 1911: uint16(499), + 1912: uint16(252), + 1913: uint16(406), + 1914: uint16(1270), + 1915: uint16(253), + 1916: uint16(517), + 1917: uint16(1327), + 1918: uint16(1326), + 1919: uint16(435), + 1920: uint16(1325), + 1921: uint16(1318), + 1922: uint16(103), + 1923: uint16(893), + 1924: uint16(1296), + 1925: uint16(413), + 1926: uint16(227), + 1927: uint16(407), + 1928: uint16(1040), + 1929: uint16(1626), + 1930: uint16(319), + 1931: uint16(567), + 1932: uint16(1625), + 1933: uint16(1297), + 1934: uint16(119), + 1935: uint16(119), + 1936: uint16(439), + 1937: uint16(367), + 1938: uint16(1317), + 1939: uint16(1295), + 1940: uint16(1624), + 1941: uint16(526), + 1942: uint16(120), + 1943: uint16(440), + 1944: uint16(451), + 1945: uint16(577), + 1946: uint16(451), + 1947: uint16(1594), + 1948: uint16(309), + 1949: uint16(1028), + 1950: uint16(310), + 1951: uint16(373), + 1952: uint16(266), + 1953: uint16(267), + 1954: uint16(457), + 1955: uint16(1580), + 1956: uint16(1579), + 1957: uint16(443), + 1958: uint16(138), + 1959: uint16(1394), + 1960: uint16(552), + 1961: uint16(1393), + 1962: uint16(11), + 1963: uint16(1483), + 1964: uint16(384), + 1965: uint16(115), + 1966: uint16(317), + 1967: uint16(1350), + 1968: uint16(109), + 1969: uint16(536), + 1970: uint16(42), + 1971: uint16(579), + 1972: uint16(382), + 1973: uint16(214), + 1974: uint16(1349), + 1975: uint16(388), + 1976: uint16(1198), + 1977: uint16(389), + 1978: uint16(275), + 1979: uint16(277), + 1980: uint16(278), + 1981: uint16(1028), + 1982: uint16(1028), + 1983: uint16(1030), + 1984: uint16(1031), + 1985: uint16(35), + 1986: uint16(580), + 1987: uint16(1265), + 1988: uint16(414), + 1989: uint16(1260), + 1990: uint16(170), + 1991: uint16(415), + 1992: uint16(183), + 1993: uint16(1534), + 1994: uint16(1535), + 1995: uint16(1533), + 1996: uint16(171), + 1997: uint16(154), + 1998: uint16(307), + 1999: uint16(1532), + 2000: uint16(846), + 2001: uint16(223), + 2002: uint16(224), + 2003: uint16(88), + 2004: uint16(452), + 2005: uint16(215), + 2006: uint16(172), + 2007: uint16(321), + 2008: uint16(234), + 2009: uint16(1102), + 2010: uint16(152), + 2011: uint16(1188), + 2012: uint16(1100), + 2013: uint16(329), + 2014: uint16(185), + 2015: uint16(174), + 2016: uint16(1223), + 2017: uint16(925), + 2018: uint16(187), + 2019: uint16(241), + 2020: uint16(337), + 2021: uint16(244), + 2022: uint16(1116), + 2023: uint16(192), + 2024: uint16(175), + 2025: uint16(176), + 2026: uint16(424), + 2027: uint16(426), + 2028: uint16(97), + 2029: uint16(194), + 2030: uint16(98), + 2031: uint16(99), + 2032: uint16(100), + 2033: uint16(177), + 2034: uint16(1119), + 2035: uint16(1115), + 2036: uint16(246), + 2037: uint16(247), + 2038: uint16(161), + 2039: uint16(24), + 2040: uint16(248), + 2041: uint16(348), + 2042: uint16(1238), + 2043: uint16(264), + 2044: uint16(1108), + 2045: uint16(250), + 2046: uint16(495), + 2047: uint16(199), + 2048: uint16(198), + 2049: uint16(15), + 2050: uint16(861), + 2051: uint16(500), + 2052: uint16(369), + 2053: uint16(254), + 2054: uint16(504), + 2055: uint16(509), + 2056: uint16(512), + 2057: uint16(200), + 2058: uint16(102), + 2059: uint16(25), + 2060: uint16(179), + 2061: uint16(361), + 2062: uint16(26), + 2063: uint16(364), + 2064: uint16(104), + 2065: uint16(891), + 2066: uint16(308), + 2067: uint16(162), + 2068: uint16(105), + 2069: uint16(904), + 2070: uint16(520), + 2071: uint16(106), + 2072: uint16(1185), + 2073: uint16(1069), + 2074: uint16(1155), + 2075: uint16(17), + 2076: uint16(228), + 2077: uint16(27), + 2078: uint16(1154), + 2079: uint16(283), + 2080: uint16(285), + 2081: uint16(263), + 2082: uint16(978), + 2083: uint16(202), + 2084: uint16(972), + 2085: uint16(123), + 2086: uint16(28), + 2087: uint16(1175), + 2088: uint16(29), + 2089: uint16(30), + 2090: uint16(1179), + 2091: uint16(1171), + 2092: uint16(31), + 2093: uint16(1173), + 2094: uint16(1160), + 2095: uint16(41), + 2096: uint16(32), + 2097: uint16(206), + 2098: uint16(548), + 2099: uint16(33), + 2100: uint16(110), + 2101: uint16(1178), + 2102: uint16(1083), + 2103: uint16(8), + 2104: uint16(112), + 2105: uint16(1070), + 2106: uint16(113), + 2107: uint16(1068), + 2108: uint16(1072), + 2109: uint16(34), + 2110: uint16(1073), + 2111: uint16(560), + 2112: uint16(1125), + 2113: uint16(269), + 2114: uint16(1124), + 2115: uint16(270), + 2116: uint16(36), + 2117: uint16(18), + 2118: uint16(1194), + 2119: uint16(1033), + 2120: uint16(873), + 2121: uint16(151), + 2122: uint16(122), + 2123: uint16(37), + 2124: uint16(393), + 2125: uint16(271), + 2126: uint16(272), + 2127: uint16(572), + 2128: uint16(181), + 2129: uint16(1193), + 2130: uint16(1256), + 2131: uint16(1256), + 2132: uint16(1256), + 2133: uint16(935), + 2134: uint16(1256), + 2135: uint16(1256), + 2136: uint16(1256), + 2137: uint16(1256), + 2138: uint16(1256), + 2139: uint16(1256), + 2140: uint16(1256), + 2141: uint16(1617), +} +var _yy_lookahead = [2328]uint16{ + 0: uint16(194), + 1: uint16(276), + 2: uint16(277), + 3: uint16(278), + 4: uint16(216), + 5: uint16(194), + 6: uint16(194), + 7: uint16(217), + 8: uint16(194), + 9: uint16(194), + 10: uint16(194), + 11: uint16(194), + 12: uint16(224), + 13: uint16(194), + 14: uint16(194), + 15: uint16(276), + 16: uint16(277), + 17: uint16(278), + 18: uint16(204), 19: uint16(19), - 20: uint16(219), - 21: uint16(233), - 22: uint16(216), - 23: uint16(216), - 24: uint16(217), - 25: uint16(216), - 26: uint16(217), - 27: uint16(193), - 28: uint16(295), - 29: uint16(216), - 30: uint16(217), + 20: uint16(206), + 21: uint16(202), + 22: uint16(297), + 23: uint16(217), + 24: uint16(218), + 25: uint16(205), + 26: uint16(207), + 27: uint16(217), + 28: uint16(205), + 29: uint16(217), + 30: uint16(218), 31: uint16(31), - 32: uint16(193), - 33: uint16(216), + 32: uint16(217), + 33: uint16(218), 34: uint16(217), - 35: uint16(193), - 36: uint16(228), - 37: uint16(213), - 38: uint16(230), + 35: uint16(218), + 36: uint16(29), + 37: uint16(217), + 38: uint16(218), 39: uint16(39), - 40: uint16(206), - 41: uint16(216), - 42: uint16(217), + 40: uint16(33), + 41: uint16(217), + 42: uint16(220), 43: uint16(43), 44: uint16(44), 45: uint16(45), @@ -154590,31 +155959,31 @@ var _yy_lookahead = [2285]uint16{ 55: uint16(55), 56: uint16(56), 57: uint16(57), - 58: uint16(193), + 58: uint16(312), 59: uint16(19), - 60: uint16(185), - 61: uint16(186), - 62: uint16(187), - 63: uint16(188), - 64: uint16(189), - 65: uint16(190), - 66: uint16(253), - 67: uint16(274), - 68: uint16(275), - 69: uint16(276), - 70: uint16(195), - 71: uint16(193), - 72: uint16(197), - 73: uint16(193), - 74: uint16(261), - 75: uint16(274), - 76: uint16(275), - 77: uint16(276), - 78: uint16(253), - 79: uint16(204), - 80: uint16(238), - 81: uint16(204), - 82: uint16(81), + 60: uint16(240), + 61: uint16(241), + 62: uint16(316), + 63: uint16(240), + 64: uint16(241), + 65: uint16(194), + 66: uint16(46), + 67: uint16(47), + 68: uint16(48), + 69: uint16(49), + 70: uint16(22), + 71: uint16(254), + 72: uint16(65), + 73: uint16(253), + 74: uint16(254), + 75: uint16(255), + 76: uint16(253), + 77: uint16(194), + 78: uint16(255), + 79: uint16(194), + 80: uint16(263), + 81: uint16(258), + 82: uint16(259), 83: uint16(43), 84: uint16(44), 85: uint16(45), @@ -154630,10 +155999,10 @@ var _yy_lookahead = [2285]uint16{ 95: uint16(55), 96: uint16(56), 97: uint16(57), - 98: uint16(274), - 99: uint16(275), - 100: uint16(276), - 101: uint16(262), + 98: uint16(276), + 99: uint16(277), + 100: uint16(278), + 101: uint16(285), 102: uint16(102), 103: uint16(103), 104: uint16(104), @@ -154646,34 +156015,34 @@ var _yy_lookahead = [2285]uint16{ 111: uint16(111), 112: uint16(112), 113: uint16(113), - 114: uint16(239), - 115: uint16(240), - 116: uint16(239), - 117: uint16(240), - 118: uint16(210), - 119: uint16(211), - 120: uint16(212), - 121: uint16(314), - 122: uint16(315), - 123: uint16(314), - 124: uint16(59), - 125: uint16(316), + 114: uint16(59), + 115: uint16(186), + 116: uint16(187), + 117: uint16(188), + 118: uint16(189), + 119: uint16(190), + 120: uint16(191), + 121: uint16(310), + 122: uint16(239), + 123: uint16(317), + 124: uint16(318), + 125: uint16(196), 126: uint16(86), - 127: uint16(252), + 127: uint16(198), 128: uint16(88), - 129: uint16(252), + 129: uint16(317), 130: uint16(19), - 131: uint16(314), - 132: uint16(315), - 133: uint16(256), - 134: uint16(257), - 135: uint16(113), + 131: uint16(319), + 132: uint16(317), + 133: uint16(318), + 134: uint16(205), + 135: uint16(264), 136: uint16(25), - 137: uint16(72), - 138: uint16(296), - 139: uint16(138), - 140: uint16(139), - 141: uint16(266), + 137: uint16(211), + 138: uint16(212), + 139: uint16(213), + 140: uint16(205), + 141: uint16(121), 142: uint16(102), 143: uint16(103), 144: uint16(104), @@ -154701,50 +156070,50 @@ var _yy_lookahead = [2285]uint16{ 166: uint16(55), 167: uint16(56), 168: uint16(57), - 169: uint16(81), - 170: uint16(292), - 171: uint16(59), - 172: uint16(292), - 173: uint16(298), - 174: uint16(108), - 175: uint16(109), - 176: uint16(110), - 177: uint16(111), - 178: uint16(112), - 179: uint16(113), + 169: uint16(240), + 170: uint16(241), + 171: uint16(116), + 172: uint16(117), + 173: uint16(118), + 174: uint16(119), + 175: uint16(240), + 176: uint16(241), + 177: uint16(122), + 178: uint16(123), + 179: uint16(124), 180: uint16(69), - 181: uint16(116), - 182: uint16(117), - 183: uint16(118), - 184: uint16(72), + 181: uint16(298), + 182: uint16(253), + 183: uint16(194), + 184: uint16(255), 185: uint16(106), 186: uint16(107), - 187: uint16(193), - 188: uint16(111), - 189: uint16(112), - 190: uint16(113), + 187: uint16(132), + 188: uint16(253), + 189: uint16(141), + 190: uint16(255), 191: uint16(54), 192: uint16(55), 193: uint16(56), 194: uint16(57), 195: uint16(58), - 196: uint16(102), - 197: uint16(103), - 198: uint16(104), - 199: uint16(105), - 200: uint16(106), - 201: uint16(107), - 202: uint16(108), - 203: uint16(109), - 204: uint16(110), - 205: uint16(111), - 206: uint16(112), - 207: uint16(113), - 208: uint16(120), - 209: uint16(25), - 210: uint16(216), - 211: uint16(217), - 212: uint16(145), + 196: uint16(207), + 197: uint16(268), + 198: uint16(102), + 199: uint16(103), + 200: uint16(104), + 201: uint16(105), + 202: uint16(106), + 203: uint16(107), + 204: uint16(108), + 205: uint16(109), + 206: uint16(110), + 207: uint16(111), + 208: uint16(112), + 209: uint16(113), + 210: uint16(214), + 211: uint16(128), + 212: uint16(129), 213: uint16(102), 214: uint16(103), 215: uint16(104), @@ -154757,13 +156126,13 @@ var _yy_lookahead = [2285]uint16{ 222: uint16(111), 223: uint16(112), 224: uint16(113), - 225: uint16(231), - 226: uint16(138), - 227: uint16(139), - 228: uint16(116), - 229: uint16(117), - 230: uint16(118), - 231: uint16(164), + 225: uint16(134), + 226: uint16(25), + 227: uint16(136), + 228: uint16(137), + 229: uint16(300), + 230: uint16(165), + 231: uint16(166), 232: uint16(153), 233: uint16(19), 234: uint16(155), @@ -154783,12 +156152,12 @@ var _yy_lookahead = [2285]uint16{ 248: uint16(111), 249: uint16(112), 250: uint16(113), - 251: uint16(128), - 252: uint16(129), - 253: uint16(46), - 254: uint16(47), - 255: uint16(48), - 256: uint16(49), + 251: uint16(108), + 252: uint16(109), + 253: uint16(110), + 254: uint16(111), + 255: uint16(112), + 256: uint16(113), 257: uint16(43), 258: uint16(44), 259: uint16(45), @@ -154804,15 +156173,15 @@ var _yy_lookahead = [2285]uint16{ 269: uint16(55), 270: uint16(56), 271: uint16(57), - 272: uint16(216), - 273: uint16(193), - 274: uint16(25), - 275: uint16(59), - 276: uint16(193), + 272: uint16(276), + 273: uint16(277), + 274: uint16(278), + 275: uint16(113), + 276: uint16(194), 277: uint16(19), - 278: uint16(165), - 279: uint16(166), - 280: uint16(193), + 278: uint16(22), + 279: uint16(23), + 280: uint16(194), 281: uint16(67), 282: uint16(24), 283: uint16(102), @@ -154827,12 +156196,12 @@ var _yy_lookahead = [2285]uint16{ 292: uint16(111), 293: uint16(112), 294: uint16(113), - 295: uint16(73), - 296: uint16(216), - 297: uint16(217), - 298: uint16(59), - 299: uint16(216), - 300: uint16(217), + 295: uint16(220), + 296: uint16(250), + 297: uint16(59), + 298: uint16(252), + 299: uint16(217), + 300: uint16(218), 301: uint16(43), 302: uint16(44), 303: uint16(45), @@ -154860,38 +156229,38 @@ var _yy_lookahead = [2285]uint16{ 325: uint16(111), 326: uint16(112), 327: uint16(113), - 328: uint16(121), - 329: uint16(145), - 330: uint16(59), - 331: uint16(193), - 332: uint16(116), - 333: uint16(117), - 334: uint16(118), - 335: uint16(119), - 336: uint16(273), - 337: uint16(204), - 338: uint16(122), - 339: uint16(123), - 340: uint16(124), + 328: uint16(106), + 329: uint16(107), + 330: uint16(108), + 331: uint16(109), + 332: uint16(110), + 333: uint16(111), + 334: uint16(112), + 335: uint16(113), + 336: uint16(254), + 337: uint16(59), + 338: uint16(205), + 339: uint16(138), + 340: uint16(139), 341: uint16(19), 342: uint16(20), - 343: uint16(134), + 343: uint16(194), 344: uint16(22), - 345: uint16(136), - 346: uint16(137), - 347: uint16(19), - 348: uint16(132), - 349: uint16(127), - 350: uint16(128), - 351: uint16(129), - 352: uint16(24), - 353: uint16(22), - 354: uint16(23), - 355: uint16(116), - 356: uint16(117), - 357: uint16(118), + 345: uint16(263), + 346: uint16(22), + 347: uint16(23), + 348: uint16(231), + 349: uint16(25), + 350: uint16(72), + 351: uint16(276), + 352: uint16(277), + 353: uint16(278), + 354: uint16(116), + 355: uint16(117), + 356: uint16(118), + 357: uint16(101), 358: uint16(36), - 359: uint16(193), + 359: uint16(76), 360: uint16(102), 361: uint16(103), 362: uint16(104), @@ -154904,37 +156273,37 @@ var _yy_lookahead = [2285]uint16{ 369: uint16(111), 370: uint16(112), 371: uint16(113), - 372: uint16(239), + 372: uint16(89), 373: uint16(240), - 374: uint16(311), - 375: uint16(312), - 376: uint16(215), - 377: uint16(106), - 378: uint16(107), - 379: uint16(241), + 374: uint16(241), + 375: uint16(92), + 376: uint16(73), + 377: uint16(194), + 378: uint16(194), + 379: uint16(73), 380: uint16(19), 381: uint16(59), - 382: uint16(216), - 383: uint16(217), - 384: uint16(223), - 385: uint16(252), - 386: uint16(115), - 387: uint16(116), - 388: uint16(117), - 389: uint16(118), - 390: uint16(151), - 391: uint16(120), - 392: uint16(26), + 382: uint16(188), + 383: uint16(189), + 384: uint16(190), + 385: uint16(191), + 386: uint16(253), + 387: uint16(81), + 388: uint16(255), + 389: uint16(151), + 390: uint16(196), + 391: uint16(25), + 392: uint16(198), 393: uint16(71), - 394: uint16(193), - 395: uint16(308), - 396: uint16(309), - 397: uint16(193), - 398: uint16(149), - 399: uint16(128), - 400: uint16(313), - 401: uint16(216), - 402: uint16(269), + 394: uint16(116), + 395: uint16(117), + 396: uint16(118), + 397: uint16(311), + 398: uint16(312), + 399: uint16(205), + 400: uint16(217), + 401: uint16(218), + 402: uint16(316), 403: uint16(81), 404: uint16(43), 405: uint16(44), @@ -154951,50 +156320,50 @@ var _yy_lookahead = [2285]uint16{ 416: uint16(55), 417: uint16(56), 418: uint16(57), - 419: uint16(253), - 420: uint16(216), - 421: uint16(217), + 419: uint16(270), + 420: uint16(22), + 421: uint16(23), 422: uint16(100), - 423: uint16(95), - 424: uint16(153), - 425: uint16(59), - 426: uint16(155), - 427: uint16(261), + 423: uint16(25), + 424: uint16(59), + 425: uint16(101), + 426: uint16(138), + 427: uint16(139), 428: uint16(106), 429: uint16(107), - 430: uint16(25), - 431: uint16(193), - 432: uint16(101), - 433: uint16(193), - 434: uint16(193), - 435: uint16(231), + 430: uint16(127), + 431: uint16(128), + 432: uint16(129), + 433: uint16(127), + 434: uint16(240), + 435: uint16(241), 436: uint16(114), - 437: uint16(25), + 437: uint16(254), 438: uint16(116), 439: uint16(117), 440: uint16(118), - 441: uint16(113), - 442: uint16(304), + 441: uint16(76), + 442: uint16(76), 443: uint16(121), - 444: uint16(193), - 445: uint16(204), - 446: uint16(59), - 447: uint16(119), - 448: uint16(120), - 449: uint16(121), - 450: uint16(122), - 451: uint16(123), - 452: uint16(124), - 453: uint16(125), - 454: uint16(216), - 455: uint16(217), - 456: uint16(193), - 457: uint16(216), - 458: uint16(217), - 459: uint16(131), + 444: uint16(138), + 445: uint16(139), + 446: uint16(263), + 447: uint16(253), + 448: uint16(264), + 449: uint16(255), + 450: uint16(205), + 451: uint16(275), + 452: uint16(87), + 453: uint16(19), + 454: uint16(89), + 455: uint16(89), + 456: uint16(194), + 457: uint16(92), + 458: uint16(92), + 459: uint16(199), 460: uint16(138), 461: uint16(139), - 462: uint16(230), + 462: uint16(268), 463: uint16(102), 464: uint16(103), 465: uint16(104), @@ -155012,37 +156381,37 @@ var _yy_lookahead = [2285]uint16{ 477: uint16(155), 478: uint16(156), 479: uint16(157), - 480: uint16(239), - 481: uint16(240), - 482: uint16(116), - 483: uint16(117), - 484: uint16(118), - 485: uint16(76), - 486: uint16(193), - 487: uint16(23), + 480: uint16(81), + 481: uint16(116), + 482: uint16(117), + 483: uint16(118), + 484: uint16(129), + 485: uint16(240), + 486: uint16(241), + 487: uint16(224), 488: uint16(19), - 489: uint16(25), - 490: uint16(22), - 491: uint16(253), + 489: uint16(226), + 490: uint16(314), + 491: uint16(315), 492: uint16(23), - 493: uint16(252), - 494: uint16(253), - 495: uint16(108), - 496: uint16(87), - 497: uint16(204), - 498: uint16(89), - 499: uint16(261), - 500: uint16(198), - 501: uint16(92), - 502: uint16(261), - 503: uint16(116), - 504: uint16(117), - 505: uint16(118), - 506: uint16(193), - 507: uint16(306), - 508: uint16(307), - 509: uint16(216), - 510: uint16(217), + 493: uint16(25), + 494: uint16(300), + 495: uint16(59), + 496: uint16(22), + 497: uint16(234), + 498: uint16(253), + 499: uint16(101), + 500: uint16(255), + 501: uint16(236), + 502: uint16(237), + 503: uint16(26), + 504: uint16(194), + 505: uint16(183), + 506: uint16(194), + 507: uint16(152), + 508: uint16(72), + 509: uint16(22), + 510: uint16(145), 511: uint16(150), 512: uint16(43), 513: uint16(44), @@ -155059,34 +156428,34 @@ var _yy_lookahead = [2285]uint16{ 524: uint16(55), 525: uint16(56), 526: uint16(57), - 527: uint16(59), - 528: uint16(193), - 529: uint16(216), - 530: uint16(217), + 527: uint16(217), + 528: uint16(218), + 529: uint16(217), + 530: uint16(218), 531: uint16(19), - 532: uint16(239), - 533: uint16(240), - 534: uint16(283), + 532: uint16(189), + 533: uint16(59), + 534: uint16(191), 535: uint16(23), - 536: uint16(106), - 537: uint16(107), - 538: uint16(108), - 539: uint16(109), - 540: uint16(110), - 541: uint16(111), - 542: uint16(112), - 543: uint16(113), - 544: uint16(73), - 545: uint16(252), - 546: uint16(253), - 547: uint16(142), - 548: uint16(308), - 549: uint16(309), - 550: uint16(138), - 551: uint16(139), - 552: uint16(81), - 553: uint16(313), - 554: uint16(145), + 536: uint16(59), + 537: uint16(138), + 538: uint16(139), + 539: uint16(196), + 540: uint16(135), + 541: uint16(198), + 542: uint16(232), + 543: uint16(283), + 544: uint16(232), + 545: uint16(140), + 546: uint16(59), + 547: uint16(287), + 548: uint16(205), + 549: uint16(275), + 550: uint16(116), + 551: uint16(205), + 552: uint16(116), + 553: uint16(117), + 554: uint16(118), 555: uint16(43), 556: uint16(44), 557: uint16(45), @@ -155102,7 +156471,7 @@ var _yy_lookahead = [2285]uint16{ 567: uint16(55), 568: uint16(56), 569: uint16(57), - 570: uint16(307), + 570: uint16(194), 571: uint16(102), 572: uint16(103), 573: uint16(104), @@ -155115,37 +156484,37 @@ var _yy_lookahead = [2285]uint16{ 580: uint16(111), 581: uint16(112), 582: uint16(113), - 583: uint16(281), - 584: uint16(116), - 585: uint16(117), - 586: uint16(118), - 587: uint16(285), - 588: uint16(23), - 589: uint16(193), - 590: uint16(25), - 591: uint16(119), - 592: uint16(59), - 593: uint16(193), - 594: uint16(122), - 595: uint16(123), - 596: uint16(124), - 597: uint16(59), - 598: uint16(127), - 599: uint16(203), + 583: uint16(240), + 584: uint16(241), + 585: uint16(194), + 586: uint16(240), + 587: uint16(241), + 588: uint16(314), + 589: uint16(315), + 590: uint16(116), + 591: uint16(117), + 592: uint16(118), + 593: uint16(116), + 594: uint16(117), + 595: uint16(118), + 596: uint16(253), + 597: uint16(194), + 598: uint16(255), + 599: uint16(253), 600: uint16(59), - 601: uint16(205), + 601: uint16(255), 602: uint16(19), - 603: uint16(268), - 604: uint16(132), - 605: uint16(25), + 603: uint16(116), + 604: uint16(117), + 605: uint16(118), 606: uint16(23), 607: uint16(22), - 608: uint16(193), - 609: uint16(138), - 610: uint16(139), - 611: uint16(249), - 612: uint16(204), - 613: uint16(251), + 608: uint16(217), + 609: uint16(218), + 610: uint16(142), + 611: uint16(268), + 612: uint16(205), + 613: uint16(275), 614: uint16(102), 615: uint16(103), 616: uint16(104), @@ -155174,29 +156543,29 @@ var _yy_lookahead = [2285]uint16{ 639: uint16(56), 640: uint16(57), 641: uint16(19), - 642: uint16(22), - 643: uint16(23), + 642: uint16(194), + 643: uint16(300), 644: uint16(59), 645: uint16(23), - 646: uint16(25), - 647: uint16(239), - 648: uint16(240), - 649: uint16(116), - 650: uint16(117), - 651: uint16(118), - 652: uint16(193), - 653: uint16(11), - 654: uint16(116), - 655: uint16(117), - 656: uint16(118), - 657: uint16(116), + 646: uint16(119), + 647: uint16(240), + 648: uint16(241), + 649: uint16(122), + 650: uint16(123), + 651: uint16(124), + 652: uint16(314), + 653: uint16(315), + 654: uint16(194), + 655: uint16(236), + 656: uint16(237), + 657: uint16(194), 658: uint16(117), - 659: uint16(118), - 660: uint16(252), - 661: uint16(269), - 662: uint16(22), - 663: uint16(193), - 664: uint16(15), + 659: uint16(132), + 660: uint16(253), + 661: uint16(81), + 662: uint16(255), + 663: uint16(205), + 664: uint16(59), 665: uint16(43), 666: uint16(44), 667: uint16(45), @@ -155212,11 +156581,11 @@ var _yy_lookahead = [2285]uint16{ 677: uint16(55), 678: uint16(56), 679: uint16(57), - 680: uint16(273), - 681: uint16(143), - 682: uint16(193), - 683: uint16(118), - 684: uint16(143), + 680: uint16(217), + 681: uint16(218), + 682: uint16(194), + 683: uint16(194), + 684: uint16(194), 685: uint16(102), 686: uint16(103), 687: uint16(104), @@ -155229,33 +156598,33 @@ var _yy_lookahead = [2285]uint16{ 694: uint16(111), 695: uint16(112), 696: uint16(113), - 697: uint16(76), - 698: uint16(118), - 699: uint16(59), - 700: uint16(241), + 697: uint16(294), + 698: uint16(240), + 699: uint16(241), + 700: uint16(120), 701: uint16(116), 702: uint16(117), 703: uint16(118), - 704: uint16(304), - 705: uint16(216), + 704: uint16(59), + 705: uint16(194), 706: uint16(217), - 707: uint16(292), - 708: uint16(143), - 709: uint16(60), - 710: uint16(89), - 711: uint16(241), + 707: uint16(218), + 708: uint16(211), + 709: uint16(212), + 710: uint16(213), + 711: uint16(253), 712: uint16(19), - 713: uint16(92), - 714: uint16(193), - 715: uint16(193), + 713: uint16(255), + 714: uint16(194), + 715: uint16(19), 716: uint16(23), - 717: uint16(22), - 718: uint16(311), - 719: uint16(312), - 720: uint16(231), - 721: uint16(101), - 722: uint16(22), - 723: uint16(143), + 717: uint16(254), + 718: uint16(138), + 719: uint16(139), + 720: uint16(24), + 721: uint16(232), + 722: uint16(117), + 723: uint16(194), 724: uint16(102), 725: uint16(103), 726: uint16(104), @@ -155284,29 +156653,29 @@ var _yy_lookahead = [2285]uint16{ 749: uint16(56), 750: uint16(57), 751: uint16(19), - 752: uint16(193), - 753: uint16(193), - 754: uint16(59), + 752: uint16(264), + 753: uint16(108), + 754: uint16(76), 755: uint16(23), - 756: uint16(116), - 757: uint16(117), - 758: uint16(118), - 759: uint16(59), - 760: uint16(201), - 761: uint16(21), - 762: uint16(241), - 763: uint16(304), - 764: uint16(193), - 765: uint16(206), - 766: uint16(127), - 767: uint16(128), - 768: uint16(129), - 769: uint16(193), - 770: uint16(128), - 771: uint16(129), - 772: uint16(235), - 773: uint16(236), - 774: uint16(304), + 756: uint16(127), + 757: uint16(128), + 758: uint16(129), + 759: uint16(311), + 760: uint16(312), + 761: uint16(116), + 762: uint16(117), + 763: uint16(118), + 764: uint16(316), + 765: uint16(87), + 766: uint16(306), + 767: uint16(89), + 768: uint16(308), + 769: uint16(194), + 770: uint16(92), + 771: uint16(22), + 772: uint16(59), + 773: uint16(194), + 774: uint16(22), 775: uint16(43), 776: uint16(44), 777: uint16(45), @@ -155322,11 +156691,11 @@ var _yy_lookahead = [2285]uint16{ 787: uint16(55), 788: uint16(56), 789: uint16(57), - 790: uint16(22), - 791: uint16(193), - 792: uint16(216), - 793: uint16(217), - 794: uint16(193), + 790: uint16(194), + 791: uint16(95), + 792: uint16(217), + 793: uint16(218), + 794: uint16(265), 795: uint16(102), 796: uint16(103), 797: uint16(104), @@ -155339,33 +156708,33 @@ var _yy_lookahead = [2285]uint16{ 804: uint16(111), 805: uint16(112), 806: uint16(113), - 807: uint16(231), - 808: uint16(193), - 809: uint16(193), - 810: uint16(193), - 811: uint16(116), - 812: uint16(117), - 813: uint16(118), - 814: uint16(216), - 815: uint16(217), - 816: uint16(116), - 817: uint16(117), - 818: uint16(118), - 819: uint16(226), - 820: uint16(80), - 821: uint16(193), + 807: uint16(232), + 808: uint16(59), + 809: uint16(113), + 810: uint16(25), + 811: uint16(59), + 812: uint16(194), + 813: uint16(217), + 814: uint16(218), + 815: uint16(119), + 816: uint16(120), + 817: uint16(121), + 818: uint16(122), + 819: uint16(123), + 820: uint16(124), + 821: uint16(125), 822: uint16(19), - 823: uint16(235), - 824: uint16(236), - 825: uint16(304), + 823: uint16(145), + 824: uint16(194), + 825: uint16(194), 826: uint16(23), - 827: uint16(211), - 828: uint16(212), - 829: uint16(231), - 830: uint16(204), - 831: uint16(216), - 832: uint16(217), - 833: uint16(205), + 827: uint16(131), + 828: uint16(232), + 829: uint16(116), + 830: uint16(117), + 831: uint16(118), + 832: uint16(35), + 833: uint16(194), 834: uint16(102), 835: uint16(103), 836: uint16(104), @@ -155394,29 +156763,29 @@ var _yy_lookahead = [2285]uint16{ 859: uint16(56), 860: uint16(57), 861: uint16(19), - 862: uint16(193), - 863: uint16(123), - 864: uint16(76), - 865: uint16(239), - 866: uint16(240), - 867: uint16(193), - 868: uint16(253), - 869: uint16(239), - 870: uint16(240), - 871: uint16(239), - 872: uint16(240), - 873: uint16(244), - 874: uint16(106), - 875: uint16(107), - 876: uint16(193), - 877: uint16(89), - 878: uint16(252), - 879: uint16(193), - 880: uint16(92), - 881: uint16(59), - 882: uint16(252), - 883: uint16(254), - 884: uint16(252), + 862: uint16(194), + 863: uint16(66), + 864: uint16(194), + 865: uint16(116), + 866: uint16(117), + 867: uint16(118), + 868: uint16(116), + 869: uint16(117), + 870: uint16(118), + 871: uint16(74), + 872: uint16(242), + 873: uint16(294), + 874: uint16(194), + 875: uint16(194), + 876: uint16(206), + 877: uint16(23), + 878: uint16(194), + 879: uint16(25), + 880: uint16(194), + 881: uint16(111), + 882: uint16(112), + 883: uint16(113), + 884: uint16(25), 885: uint16(43), 886: uint16(44), 887: uint16(45), @@ -155432,11 +156801,11 @@ var _yy_lookahead = [2285]uint16{ 897: uint16(55), 898: uint16(56), 899: uint16(57), - 900: uint16(284), - 901: uint16(161), - 902: uint16(216), + 900: uint16(24), + 901: uint16(194), + 902: uint16(194), 903: uint16(217), - 904: uint16(193), + 904: uint16(218), 905: uint16(102), 906: uint16(103), 907: uint16(104), @@ -155449,33 +156818,33 @@ var _yy_lookahead = [2285]uint16{ 914: uint16(111), 915: uint16(112), 916: uint16(113), - 917: uint16(231), - 918: uint16(193), - 919: uint16(244), - 920: uint16(187), - 921: uint16(188), - 922: uint16(189), - 923: uint16(190), - 924: uint16(7), - 925: uint16(8), - 926: uint16(9), - 927: uint16(309), - 928: uint16(195), - 929: uint16(254), - 930: uint16(197), - 931: uint16(313), + 917: uint16(241), + 918: uint16(232), + 919: uint16(194), + 920: uint16(212), + 921: uint16(213), + 922: uint16(242), + 923: uint16(242), + 924: uint16(217), + 925: uint16(218), + 926: uint16(242), + 927: uint16(130), + 928: uint16(11), + 929: uint16(253), + 930: uint16(194), + 931: uint16(255), 932: uint16(19), - 933: uint16(127), - 934: uint16(128), - 935: uint16(129), - 936: uint16(262), - 937: uint16(204), - 938: uint16(22), - 939: uint16(117), - 940: uint16(24), - 941: uint16(216), + 933: uint16(265), + 934: uint16(149), + 935: uint16(59), + 936: uint16(306), + 937: uint16(194), + 938: uint16(308), + 939: uint16(232), + 940: uint16(309), + 941: uint16(310), 942: uint16(217), - 943: uint16(273), + 943: uint16(218), 944: uint16(102), 945: uint16(103), 946: uint16(104), @@ -155503,36 +156872,36 @@ var _yy_lookahead = [2285]uint16{ 968: uint16(55), 969: uint16(56), 970: uint16(57), - 971: uint16(193), - 972: uint16(239), - 973: uint16(240), - 974: uint16(193), - 975: uint16(59), + 971: uint16(194), + 972: uint16(194), + 973: uint16(59), + 974: uint16(194), + 975: uint16(239), 976: uint16(19), - 977: uint16(188), - 978: uint16(253), - 979: uint16(190), - 980: uint16(193), - 981: uint16(311), - 982: uint16(312), - 983: uint16(16), - 984: uint16(195), - 985: uint16(252), - 986: uint16(197), - 987: uint16(193), - 988: uint16(19), - 989: uint16(301), - 990: uint16(302), - 991: uint16(135), - 992: uint16(193), - 993: uint16(204), - 994: uint16(216), + 977: uint16(194), + 978: uint16(25), + 979: uint16(254), + 980: uint16(303), + 981: uint16(304), + 982: uint16(23), + 983: uint16(194), + 984: uint16(25), + 985: uint16(126), + 986: uint16(306), + 987: uint16(306), + 988: uint16(308), + 989: uint16(308), + 990: uint16(306), + 991: uint16(271), + 992: uint16(308), + 993: uint16(117), + 994: uint16(286), 995: uint16(217), - 996: uint16(140), - 997: uint16(216), - 998: uint16(217), - 999: uint16(266), - 1000: uint16(204), + 996: uint16(218), + 997: uint16(217), + 998: uint16(218), + 999: uint16(194), + 1000: uint16(194), 1001: uint16(159), 1002: uint16(45), 1003: uint16(46), @@ -155559,38 +156928,38 @@ var _yy_lookahead = [2285]uint16{ 1024: uint16(111), 1025: uint16(112), 1026: uint16(113), - 1027: uint16(12), + 1027: uint16(59), 1028: uint16(239), - 1029: uint16(240), - 1030: uint16(193), - 1031: uint16(298), - 1032: uint16(238), - 1033: uint16(117), - 1034: uint16(253), - 1035: uint16(239), + 1029: uint16(194), + 1030: uint16(116), + 1031: uint16(117), + 1032: uint16(118), + 1033: uint16(260), + 1034: uint16(254), + 1035: uint16(194), 1036: uint16(240), - 1037: uint16(238), - 1038: uint16(259), - 1039: uint16(260), - 1040: uint16(193), - 1041: uint16(252), - 1042: uint16(27), - 1043: uint16(193), - 1044: uint16(77), - 1045: uint16(193), - 1046: uint16(79), - 1047: uint16(204), - 1048: uint16(252), - 1049: uint16(262), - 1050: uint16(193), - 1051: uint16(299), - 1052: uint16(300), - 1053: uint16(193), - 1054: uint16(100), - 1055: uint16(266), - 1056: uint16(278), - 1057: uint16(42), - 1058: uint16(204), + 1037: uint16(241), + 1038: uint16(194), + 1039: uint16(233), + 1040: uint16(205), + 1041: uint16(240), + 1042: uint16(241), + 1043: uint16(205), + 1044: uint16(239), + 1045: uint16(128), + 1046: uint16(129), + 1047: uint16(270), + 1048: uint16(265), + 1049: uint16(253), + 1050: uint16(194), + 1051: uint16(255), + 1052: uint16(217), + 1053: uint16(218), + 1054: uint16(253), + 1055: uint16(194), + 1056: uint16(255), + 1057: uint16(143), + 1058: uint16(280), 1059: uint16(102), 1060: uint16(103), 1061: uint16(104), @@ -155603,51 +156972,51 @@ var _yy_lookahead = [2285]uint16{ 1068: uint16(111), 1069: uint16(112), 1070: uint16(113), - 1071: uint16(117), + 1071: uint16(118), 1072: uint16(159), - 1073: uint16(216), - 1074: uint16(217), - 1075: uint16(121), - 1076: uint16(216), - 1077: uint16(217), - 1078: uint16(63), - 1079: uint16(193), - 1080: uint16(193), - 1081: uint16(193), - 1082: uint16(239), - 1083: uint16(240), - 1084: uint16(115), - 1085: uint16(116), - 1086: uint16(193), - 1087: uint16(298), - 1088: uint16(73), - 1089: uint16(240), - 1090: uint16(238), - 1091: uint16(231), + 1073: uint16(217), + 1074: uint16(218), + 1075: uint16(240), + 1076: uint16(241), + 1077: uint16(118), + 1078: uint16(240), + 1079: uint16(241), + 1080: uint16(194), + 1081: uint16(194), + 1082: uint16(194), + 1083: uint16(239), + 1084: uint16(116), + 1085: uint16(117), + 1086: uint16(118), + 1087: uint16(22), + 1088: uint16(253), + 1089: uint16(254), + 1090: uint16(255), + 1091: uint16(253), 1092: uint16(19), - 1093: uint16(239), - 1094: uint16(240), - 1095: uint16(252), - 1096: uint16(22), + 1093: uint16(255), + 1094: uint16(233), + 1095: uint16(194), + 1096: uint16(143), 1097: uint16(24), - 1098: uint16(211), + 1098: uint16(263), 1099: uint16(212), - 1100: uint16(263), - 1101: uint16(252), - 1102: uint16(216), + 1100: uint16(213), + 1101: uint16(194), + 1102: uint16(143), 1103: uint16(217), - 1104: uint16(216), + 1104: uint16(218), 1105: uint16(217), - 1106: uint16(252), - 1107: uint16(153), - 1108: uint16(154), - 1109: uint16(155), - 1110: uint16(253), - 1111: uint16(193), + 1106: uint16(218), + 1107: uint16(261), + 1108: uint16(262), + 1109: uint16(271), + 1110: uint16(254), + 1111: uint16(143), 1112: uint16(19), - 1113: uint16(144), - 1114: uint16(213), - 1115: uint16(268), + 1113: uint16(7), + 1114: uint16(8), + 1115: uint16(9), 1116: uint16(43), 1117: uint16(44), 1118: uint16(45), @@ -155663,11 +157032,11 @@ var _yy_lookahead = [2285]uint16{ 1128: uint16(55), 1129: uint16(56), 1130: uint16(57), - 1131: uint16(193), + 1131: uint16(16), 1132: uint16(19), - 1133: uint16(59), - 1134: uint16(216), - 1135: uint16(217), + 1133: uint16(22), + 1134: uint16(23), + 1135: uint16(294), 1136: uint16(43), 1137: uint16(44), 1138: uint16(45), @@ -155683,11 +157052,11 @@ var _yy_lookahead = [2285]uint16{ 1148: uint16(55), 1149: uint16(56), 1150: uint16(57), - 1151: uint16(193), - 1152: uint16(19), - 1153: uint16(24), - 1154: uint16(216), - 1155: uint16(217), + 1151: uint16(312), + 1152: uint16(194), + 1153: uint16(214), + 1154: uint16(21), + 1155: uint16(316), 1156: uint16(43), 1157: uint16(44), 1158: uint16(45), @@ -155703,10 +157072,10 @@ var _yy_lookahead = [2285]uint16{ 1168: uint16(55), 1169: uint16(56), 1170: uint16(57), - 1171: uint16(284), - 1172: uint16(193), - 1173: uint16(208), - 1174: uint16(209), + 1171: uint16(106), + 1172: uint16(107), + 1173: uint16(286), + 1174: uint16(194), 1175: uint16(102), 1176: uint16(103), 1177: uint16(104), @@ -155719,14 +157088,14 @@ var _yy_lookahead = [2285]uint16{ 1184: uint16(111), 1185: uint16(112), 1186: uint16(113), - 1187: uint16(286), - 1188: uint16(59), - 1189: uint16(193), - 1190: uint16(232), - 1191: uint16(117), - 1192: uint16(291), - 1193: uint16(193), - 1194: uint16(193), + 1187: uint16(207), + 1188: uint16(158), + 1189: uint16(59), + 1190: uint16(160), + 1191: uint16(22), + 1192: uint16(77), + 1193: uint16(24), + 1194: uint16(79), 1195: uint16(102), 1196: uint16(103), 1197: uint16(104), @@ -155739,14 +157108,14 @@ var _yy_lookahead = [2285]uint16{ 1204: uint16(111), 1205: uint16(112), 1206: uint16(113), - 1207: uint16(193), - 1208: uint16(204), - 1209: uint16(22), - 1210: uint16(23), - 1211: uint16(193), - 1212: uint16(25), - 1213: uint16(66), - 1214: uint16(193), + 1207: uint16(194), + 1208: uint16(194), + 1209: uint16(229), + 1210: uint16(194), + 1211: uint16(231), + 1212: uint16(101), + 1213: uint16(80), + 1214: uint16(22), 1215: uint16(102), 1216: uint16(103), 1217: uint16(104), @@ -155759,39 +157128,39 @@ var _yy_lookahead = [2285]uint16{ 1224: uint16(111), 1225: uint16(112), 1226: uint16(113), - 1227: uint16(193), - 1228: uint16(193), - 1229: uint16(193), - 1230: uint16(216), - 1231: uint16(217), - 1232: uint16(85), - 1233: uint16(193), - 1234: uint16(238), + 1227: uint16(288), + 1228: uint16(59), + 1229: uint16(12), + 1230: uint16(217), + 1231: uint16(218), + 1232: uint16(293), + 1233: uint16(217), + 1234: uint16(218), 1235: uint16(19), - 1236: uint16(16), - 1237: uint16(216), - 1238: uint16(217), - 1239: uint16(238), - 1240: uint16(193), - 1241: uint16(94), - 1242: uint16(193), - 1243: uint16(239), - 1244: uint16(240), - 1245: uint16(231), - 1246: uint16(117), - 1247: uint16(268), - 1248: uint16(35), - 1249: uint16(116), - 1250: uint16(216), - 1251: uint16(217), - 1252: uint16(216), - 1253: uint16(217), - 1254: uint16(22), - 1255: uint16(23), - 1256: uint16(252), - 1257: uint16(25), - 1258: uint16(208), - 1259: uint16(209), + 1236: uint16(106), + 1237: uint16(107), + 1238: uint16(59), + 1239: uint16(19), + 1240: uint16(16), + 1241: uint16(127), + 1242: uint16(128), + 1243: uint16(129), + 1244: uint16(27), + 1245: uint16(115), + 1246: uint16(116), + 1247: uint16(117), + 1248: uint16(118), + 1249: uint16(194), + 1250: uint16(120), + 1251: uint16(59), + 1252: uint16(22), + 1253: uint16(194), + 1254: uint16(24), + 1255: uint16(194), + 1256: uint16(123), + 1257: uint16(100), + 1258: uint16(128), + 1259: uint16(42), 1260: uint16(44), 1261: uint16(45), 1262: uint16(46), @@ -155806,50 +157175,50 @@ var _yy_lookahead = [2285]uint16{ 1271: uint16(55), 1272: uint16(56), 1273: uint16(57), - 1274: uint16(193), - 1275: uint16(193), - 1276: uint16(19), - 1277: uint16(5), - 1278: uint16(59), - 1279: uint16(66), - 1280: uint16(193), - 1281: uint16(263), - 1282: uint16(10), - 1283: uint16(11), - 1284: uint16(12), - 1285: uint16(13), - 1286: uint16(14), - 1287: uint16(74), - 1288: uint16(101), - 1289: uint16(17), - 1290: uint16(193), - 1291: uint16(46), - 1292: uint16(193), - 1293: uint16(146), - 1294: uint16(193), - 1295: uint16(76), - 1296: uint16(213), - 1297: uint16(77), - 1298: uint16(263), - 1299: uint16(79), - 1300: uint16(12), - 1301: uint16(260), - 1302: uint16(30), - 1303: uint16(46), - 1304: uint16(32), - 1305: uint16(264), - 1306: uint16(87), - 1307: uint16(193), - 1308: uint16(89), - 1309: uint16(29), - 1310: uint16(263), - 1311: uint16(92), - 1312: uint16(40), - 1313: uint16(33), - 1314: uint16(232), - 1315: uint16(27), - 1316: uint16(193), - 1317: uint16(108), + 1274: uint16(117), + 1275: uint16(194), + 1276: uint16(217), + 1277: uint16(218), + 1278: uint16(121), + 1279: uint16(100), + 1280: uint16(63), + 1281: uint16(194), + 1282: uint16(245), + 1283: uint16(153), + 1284: uint16(194), + 1285: uint16(155), + 1286: uint16(117), + 1287: uint16(19), + 1288: uint16(115), + 1289: uint16(194), + 1290: uint16(73), + 1291: uint16(214), + 1292: uint16(194), + 1293: uint16(256), + 1294: uint16(161), + 1295: uint16(116), + 1296: uint16(117), + 1297: uint16(194), + 1298: uint16(217), + 1299: uint16(218), + 1300: uint16(121), + 1301: uint16(77), + 1302: uint16(194), + 1303: uint16(79), + 1304: uint16(217), + 1305: uint16(218), + 1306: uint16(194), + 1307: uint16(217), + 1308: uint16(218), + 1309: uint16(117), + 1310: uint16(153), + 1311: uint16(154), + 1312: uint16(155), + 1313: uint16(254), + 1314: uint16(46), + 1315: uint16(217), + 1316: uint16(218), + 1317: uint16(144), 1318: uint16(102), 1319: uint16(103), 1320: uint16(104), @@ -155862,1025 +157231,1068 @@ var _yy_lookahead = [2285]uint16{ 1327: uint16(111), 1328: uint16(112), 1329: uint16(113), - 1330: uint16(42), - 1331: uint16(138), - 1332: uint16(139), - 1333: uint16(101), - 1334: uint16(193), - 1335: uint16(116), - 1336: uint16(117), - 1337: uint16(118), + 1330: uint16(232), + 1331: uint16(270), + 1332: uint16(153), + 1333: uint16(154), + 1334: uint16(155), + 1335: uint16(115), + 1336: uint16(116), + 1337: uint16(66), 1338: uint16(19), 1339: uint16(20), - 1340: uint16(255), + 1340: uint16(183), 1341: uint16(22), - 1342: uint16(70), - 1343: uint16(130), - 1344: uint16(135), - 1345: uint16(65), - 1346: uint16(256), - 1347: uint16(257), - 1348: uint16(193), - 1349: uint16(140), - 1350: uint16(78), - 1351: uint16(63), - 1352: uint16(193), - 1353: uint16(81), - 1354: uint16(193), + 1342: uint16(12), + 1343: uint16(312), + 1344: uint16(254), + 1345: uint16(194), + 1346: uint16(262), + 1347: uint16(316), + 1348: uint16(209), + 1349: uint16(210), + 1350: uint16(266), + 1351: uint16(239), + 1352: uint16(194), + 1353: uint16(194), + 1354: uint16(108), 1355: uint16(36), - 1356: uint16(193), - 1357: uint16(216), - 1358: uint16(217), - 1359: uint16(193), - 1360: uint16(115), - 1361: uint16(193), - 1362: uint16(263), - 1363: uint16(193), - 1364: uint16(145), - 1365: uint16(268), - 1366: uint16(59), + 1356: uint16(85), + 1357: uint16(27), + 1358: uint16(19), + 1359: uint16(20), + 1360: uint16(265), + 1361: uint16(22), + 1362: uint16(183), + 1363: uint16(245), + 1364: uint16(144), + 1365: uint16(94), + 1366: uint16(25), 1367: uint16(48), - 1368: uint16(193), - 1369: uint16(193), - 1370: uint16(98), - 1371: uint16(193), - 1372: uint16(115), - 1373: uint16(193), - 1374: uint16(291), - 1375: uint16(216), + 1368: uint16(217), + 1369: uint16(218), + 1370: uint16(293), + 1371: uint16(194), + 1372: uint16(42), + 1373: uint16(270), + 1374: uint16(256), + 1375: uint16(36), 1376: uint16(217), - 1377: uint16(193), + 1377: uint16(218), 1378: uint16(59), - 1379: uint16(216), - 1380: uint16(217), - 1381: uint16(161), - 1382: uint16(216), - 1383: uint16(217), - 1384: uint16(216), - 1385: uint16(217), - 1386: uint16(216), - 1387: uint16(217), - 1388: uint16(131), - 1389: uint16(193), + 1379: uint16(194), + 1380: uint16(25), + 1381: uint16(135), + 1382: uint16(194), + 1383: uint16(115), + 1384: uint16(194), + 1385: uint16(161), + 1386: uint16(140), + 1387: uint16(194), + 1388: uint16(194), + 1389: uint16(15), 1390: uint16(71), - 1391: uint16(193), - 1392: uint16(216), - 1393: uint16(217), - 1394: uint16(216), - 1395: uint16(217), - 1396: uint16(216), - 1397: uint16(217), - 1398: uint16(193), - 1399: uint16(260), - 1400: uint16(216), - 1401: uint16(217), - 1402: uint16(19), - 1403: uint16(264), + 1391: uint16(194), + 1392: uint16(312), + 1393: uint16(63), + 1394: uint16(217), + 1395: uint16(218), + 1396: uint16(316), + 1397: uint16(194), + 1398: uint16(59), + 1399: uint16(131), + 1400: uint16(301), + 1401: uint16(302), + 1402: uint16(217), + 1403: uint16(218), 1404: uint16(85), - 1405: uint16(133), - 1406: uint16(244), - 1407: uint16(100), - 1408: uint16(193), + 1405: uint16(217), + 1406: uint16(218), + 1407: uint16(217), + 1408: uint16(218), 1409: uint16(90), - 1410: uint16(138), - 1411: uint16(139), - 1412: uint16(216), - 1413: uint16(217), - 1414: uint16(216), - 1415: uint16(217), - 1416: uint16(254), - 1417: uint16(244), - 1418: uint16(193), + 1410: uint16(71), + 1411: uint16(217), + 1412: uint16(218), + 1413: uint16(19), + 1414: uint16(217), + 1415: uint16(218), + 1416: uint16(245), + 1417: uint16(146), + 1418: uint16(262), 1419: uint16(100), - 1420: uint16(193), - 1421: uint16(216), - 1422: uint16(217), - 1423: uint16(116), - 1424: uint16(117), + 1420: uint16(217), + 1421: uint16(218), + 1422: uint16(266), + 1423: uint16(265), + 1424: uint16(85), 1425: uint16(106), 1426: uint16(107), - 1427: uint16(254), - 1428: uint16(121), - 1429: uint16(193), - 1430: uint16(115), - 1431: uint16(216), - 1432: uint16(217), + 1427: uint16(256), + 1428: uint16(312), + 1429: uint16(90), + 1430: uint16(209), + 1431: uint16(210), + 1432: uint16(316), 1433: uint16(114), - 1434: uint16(162), + 1434: uint16(60), 1435: uint16(116), 1436: uint16(117), 1437: uint16(118), - 1438: uint16(115), - 1439: uint16(244), + 1438: uint16(194), + 1439: uint16(100), 1440: uint16(121), - 1441: uint16(216), - 1442: uint16(217), - 1443: uint16(216), - 1444: uint16(217), - 1445: uint16(193), - 1446: uint16(309), - 1447: uint16(193), - 1448: uint16(31), - 1449: uint16(254), - 1450: uint16(313), - 1451: uint16(309), - 1452: uint16(216), - 1453: uint16(217), - 1454: uint16(309), - 1455: uint16(313), - 1456: uint16(39), - 1457: uint16(193), - 1458: uint16(313), - 1459: uint16(309), - 1460: uint16(153), - 1461: uint16(154), - 1462: uint16(155), - 1463: uint16(313), - 1464: uint16(193), - 1465: uint16(150), - 1466: uint16(25), - 1467: uint16(144), - 1468: uint16(216), - 1469: uint16(217), - 1470: uint16(216), - 1471: uint16(217), + 1441: uint16(194), + 1442: uint16(194), + 1443: uint16(145), + 1444: uint16(115), + 1445: uint16(106), + 1446: uint16(107), + 1447: uint16(19), + 1448: uint16(46), + 1449: uint16(19), + 1450: uint16(20), + 1451: uint16(24), + 1452: uint16(22), + 1453: uint16(114), + 1454: uint16(194), + 1455: uint16(116), + 1456: uint16(117), + 1457: uint16(118), + 1458: uint16(194), + 1459: uint16(245), + 1460: uint16(121), + 1461: uint16(194), + 1462: uint16(164), + 1463: uint16(194), + 1464: uint16(217), + 1465: uint16(218), + 1466: uint16(36), + 1467: uint16(194), + 1468: uint16(258), + 1469: uint16(259), + 1470: uint16(256), + 1471: uint16(194), 1472: uint16(153), 1473: uint16(154), 1474: uint16(155), 1475: uint16(156), 1476: uint16(157), - 1478: uint16(1), - 1479: uint16(2), - 1480: uint16(216), + 1477: uint16(217), + 1478: uint16(218), + 1479: uint16(150), + 1480: uint16(31), 1481: uint16(217), - 1482: uint16(5), - 1483: uint16(149), - 1484: uint16(150), - 1485: uint16(22), - 1486: uint16(193), - 1487: uint16(10), - 1488: uint16(11), - 1489: uint16(12), - 1490: uint16(13), - 1491: uint16(14), - 1492: uint16(193), - 1493: uint16(158), - 1494: uint16(17), - 1495: uint16(160), - 1496: uint16(193), - 1497: uint16(19), - 1498: uint16(20), - 1499: uint16(116), - 1500: uint16(22), - 1501: uint16(25), - 1502: uint16(193), - 1503: uint16(24), - 1504: uint16(22), - 1505: uint16(193), - 1506: uint16(24), - 1507: uint16(30), - 1508: uint16(226), - 1509: uint16(32), - 1510: uint16(19), - 1511: uint16(20), - 1512: uint16(226), - 1513: uint16(22), - 1514: uint16(36), - 1515: uint16(193), - 1516: uint16(53), - 1517: uint16(40), - 1518: uint16(193), - 1519: uint16(216), - 1520: uint16(217), - 1521: uint16(193), - 1522: uint16(23), - 1523: uint16(193), - 1524: uint16(25), - 1525: uint16(216), - 1526: uint16(217), - 1527: uint16(36), - 1528: uint16(216), - 1529: uint16(217), - 1530: uint16(193), - 1531: uint16(99), - 1532: uint16(193), - 1533: uint16(193), - 1534: uint16(22), - 1535: uint16(193), - 1536: uint16(193), - 1537: uint16(59), - 1538: uint16(216), + 1482: uint16(218), + 1483: uint16(142), + 1484: uint16(217), + 1485: uint16(218), + 1486: uint16(217), + 1487: uint16(218), + 1488: uint16(39), + 1489: uint16(59), + 1490: uint16(217), + 1491: uint16(218), + 1492: uint16(153), + 1493: uint16(154), + 1494: uint16(155), + 1495: uint16(156), + 1496: uint16(157), + 1497: uint16(149), + 1498: uint16(150), + 1499: uint16(5), + 1500: uint16(145), + 1501: uint16(71), + 1502: uint16(183), + 1503: uint16(245), + 1504: uint16(10), + 1505: uint16(11), + 1506: uint16(12), + 1507: uint16(13), + 1508: uint16(14), + 1509: uint16(194), + 1510: uint16(116), + 1511: uint16(17), + 1512: uint16(129), + 1513: uint16(227), + 1514: uint16(256), + 1515: uint16(85), + 1516: uint16(194), + 1517: uint16(115), + 1518: uint16(194), + 1519: uint16(23), + 1520: uint16(90), + 1521: uint16(25), + 1522: uint16(183), + 1523: uint16(99), + 1524: uint16(30), + 1525: uint16(97), + 1526: uint16(32), + 1527: uint16(22), + 1528: uint16(22), + 1529: uint16(194), + 1530: uint16(100), + 1531: uint16(194), + 1532: uint16(217), + 1533: uint16(218), + 1534: uint16(40), + 1535: uint16(152), + 1536: uint16(106), + 1537: uint16(107), + 1538: uint16(23), 1539: uint16(217), - 1540: uint16(193), - 1541: uint16(216), - 1542: uint16(217), - 1543: uint16(193), - 1544: uint16(216), - 1545: uint16(217), - 1546: uint16(193), - 1547: uint16(70), - 1548: uint16(129), - 1549: uint16(71), - 1550: uint16(59), - 1551: uint16(129), - 1552: uint16(193), - 1553: uint16(216), + 1540: uint16(218), + 1541: uint16(194), + 1542: uint16(19), + 1543: uint16(20), + 1544: uint16(114), + 1545: uint16(22), + 1546: uint16(116), + 1547: uint16(117), + 1548: uint16(118), + 1549: uint16(257), + 1550: uint16(194), + 1551: uint16(121), + 1552: uint16(217), + 1553: uint16(218), 1554: uint16(217), - 1555: uint16(78), - 1556: uint16(216), - 1557: uint16(217), - 1558: uint16(81), - 1559: uint16(216), - 1560: uint16(217), - 1561: uint16(193), - 1562: uint16(71), - 1563: uint16(85), - 1564: uint16(193), - 1565: uint16(133), - 1566: uint16(193), - 1567: uint16(126), - 1568: uint16(90), - 1569: uint16(216), - 1570: uint16(217), - 1571: uint16(152), - 1572: uint16(258), - 1573: uint16(61), - 1574: uint16(152), - 1575: uint16(98), - 1576: uint16(85), - 1577: uint16(193), - 1578: uint16(100), - 1579: uint16(193), - 1580: uint16(23), - 1581: uint16(90), - 1582: uint16(25), - 1583: uint16(121), - 1584: uint16(106), - 1585: uint16(107), - 1586: uint16(23), - 1587: uint16(216), - 1588: uint16(217), - 1589: uint16(216), - 1590: uint16(217), - 1591: uint16(100), - 1592: uint16(114), - 1593: uint16(131), - 1594: uint16(116), - 1595: uint16(117), - 1596: uint16(118), - 1597: uint16(106), - 1598: uint16(107), - 1599: uint16(121), - 1600: uint16(216), - 1601: uint16(217), - 1602: uint16(216), - 1603: uint16(217), - 1604: uint16(193), - 1605: uint16(114), - 1606: uint16(193), - 1607: uint16(116), - 1608: uint16(117), - 1609: uint16(118), - 1610: uint16(133), - 1611: uint16(22), - 1612: uint16(121), - 1613: uint16(193), - 1614: uint16(59), - 1615: uint16(138), - 1616: uint16(139), - 1617: uint16(193), - 1618: uint16(142), - 1619: uint16(193), - 1620: uint16(141), - 1621: uint16(23), - 1622: uint16(23), - 1623: uint16(25), - 1624: uint16(25), - 1625: uint16(120), - 1626: uint16(121), - 1627: uint16(216), - 1628: uint16(217), - 1629: uint16(216), - 1630: uint16(217), - 1631: uint16(153), - 1632: uint16(154), - 1633: uint16(155), - 1634: uint16(156), - 1635: uint16(157), - 1636: uint16(216), - 1637: uint16(217), - 1638: uint16(19), - 1639: uint16(162), - 1640: uint16(216), - 1641: uint16(217), - 1642: uint16(216), - 1643: uint16(217), - 1644: uint16(153), - 1645: uint16(154), - 1646: uint16(155), - 1647: uint16(156), - 1648: uint16(157), - 1649: uint16(1), - 1650: uint16(2), - 1651: uint16(193), - 1652: uint16(59), - 1653: uint16(5), - 1654: uint16(19), - 1655: uint16(20), - 1656: uint16(318), - 1657: uint16(22), - 1658: uint16(10), - 1659: uint16(11), - 1660: uint16(12), - 1661: uint16(13), - 1662: uint16(14), - 1663: uint16(193), - 1664: uint16(59), - 1665: uint16(17), - 1666: uint16(193), - 1667: uint16(23), - 1668: uint16(23), - 1669: uint16(25), - 1670: uint16(25), - 1671: uint16(36), - 1672: uint16(117), - 1673: uint16(193), - 1674: uint16(216), - 1675: uint16(217), - 1676: uint16(193), - 1677: uint16(23), - 1678: uint16(30), - 1679: uint16(25), - 1680: uint16(32), - 1681: uint16(19), - 1682: uint16(20), - 1683: uint16(23), - 1684: uint16(22), - 1685: uint16(25), - 1686: uint16(216), - 1687: uint16(217), - 1688: uint16(40), - 1689: uint16(216), + 1555: uint16(218), + 1556: uint16(194), + 1557: uint16(133), + 1558: uint16(53), + 1559: uint16(36), + 1560: uint16(23), + 1561: uint16(23), + 1562: uint16(25), + 1563: uint16(25), + 1564: uint16(70), + 1565: uint16(120), + 1566: uint16(121), + 1567: uint16(61), + 1568: uint16(141), + 1569: uint16(7), + 1570: uint16(8), + 1571: uint16(121), + 1572: uint16(78), + 1573: uint16(217), + 1574: uint16(218), + 1575: uint16(81), + 1576: uint16(23), + 1577: uint16(227), + 1578: uint16(25), + 1579: uint16(217), + 1580: uint16(218), + 1581: uint16(131), + 1582: uint16(59), + 1583: uint16(153), + 1584: uint16(154), + 1585: uint16(155), + 1586: uint16(156), + 1587: uint16(157), + 1589: uint16(1), + 1590: uint16(2), + 1591: uint16(59), + 1592: uint16(98), + 1593: uint16(5), + 1594: uint16(71), + 1595: uint16(23), + 1596: uint16(227), + 1597: uint16(25), + 1598: uint16(10), + 1599: uint16(11), + 1600: uint16(12), + 1601: uint16(13), + 1602: uint16(14), + 1603: uint16(83), + 1604: uint16(84), + 1605: uint16(17), + 1606: uint16(23), + 1607: uint16(23), + 1608: uint16(25), + 1609: uint16(25), + 1610: uint16(59), + 1611: uint16(194), + 1612: uint16(194), + 1613: uint16(183), + 1614: uint16(23), + 1615: uint16(23), + 1616: uint16(25), + 1617: uint16(25), + 1618: uint16(30), + 1619: uint16(194), + 1620: uint16(32), + 1621: uint16(19), + 1622: uint16(20), + 1623: uint16(100), + 1624: uint16(22), + 1625: uint16(194), + 1626: uint16(194), + 1627: uint16(133), + 1628: uint16(40), + 1629: uint16(106), + 1630: uint16(107), + 1631: uint16(108), + 1632: uint16(138), + 1633: uint16(139), + 1634: uint16(194), + 1635: uint16(217), + 1636: uint16(218), + 1637: uint16(114), + 1638: uint16(36), + 1639: uint16(116), + 1640: uint16(117), + 1641: uint16(118), + 1642: uint16(217), + 1643: uint16(218), + 1644: uint16(121), + 1645: uint16(194), + 1646: uint16(194), + 1647: uint16(194), + 1648: uint16(23), + 1649: uint16(117), + 1650: uint16(25), + 1651: uint16(194), + 1652: uint16(23), + 1653: uint16(23), + 1654: uint16(25), + 1655: uint16(25), + 1656: uint16(162), + 1657: uint16(194), + 1658: uint16(70), + 1659: uint16(194), + 1660: uint16(145), + 1661: uint16(59), + 1662: uint16(23), + 1663: uint16(153), + 1664: uint16(25), + 1665: uint16(155), + 1666: uint16(78), + 1667: uint16(194), + 1668: uint16(117), + 1669: uint16(81), + 1670: uint16(217), + 1671: uint16(218), + 1672: uint16(194), + 1673: uint16(71), + 1674: uint16(217), + 1675: uint16(218), + 1676: uint16(153), + 1677: uint16(154), + 1678: uint16(155), + 1679: uint16(156), + 1680: uint16(157), + 1681: uint16(194), + 1682: uint16(217), + 1683: uint16(218), + 1684: uint16(194), + 1685: uint16(23), + 1686: uint16(98), + 1687: uint16(25), + 1688: uint16(321), + 1689: uint16(194), 1690: uint16(217), - 1691: uint16(7), - 1692: uint16(8), - 1693: uint16(23), - 1694: uint16(59), - 1695: uint16(25), - 1696: uint16(83), - 1697: uint16(84), - 1698: uint16(36), - 1699: uint16(23), - 1700: uint16(193), - 1701: uint16(25), - 1702: uint16(23), - 1703: uint16(23), - 1704: uint16(25), - 1705: uint16(25), - 1706: uint16(71), - 1707: uint16(153), - 1708: uint16(145), - 1709: uint16(155), - 1710: uint16(117), - 1711: uint16(153), - 1712: uint16(23), - 1713: uint16(155), - 1714: uint16(25), - 1715: uint16(23), - 1716: uint16(97), - 1717: uint16(25), - 1718: uint16(70), - 1719: uint16(193), - 1720: uint16(193), - 1721: uint16(59), - 1722: uint16(117), - 1723: uint16(236), - 1724: uint16(193), - 1725: uint16(193), - 1726: uint16(78), - 1727: uint16(193), - 1728: uint16(193), - 1729: uint16(81), - 1730: uint16(141), - 1731: uint16(193), - 1732: uint16(193), - 1733: uint16(71), - 1734: uint16(193), - 1735: uint16(100), - 1736: uint16(288), - 1737: uint16(287), - 1738: uint16(242), - 1739: uint16(255), - 1740: uint16(255), - 1741: uint16(106), - 1742: uint16(107), - 1743: uint16(108), - 1744: uint16(255), - 1745: uint16(255), - 1746: uint16(98), - 1747: uint16(243), - 1748: uint16(297), - 1749: uint16(114), - 1750: uint16(214), - 1751: uint16(116), - 1752: uint16(117), - 1753: uint16(118), - 1754: uint16(245), - 1755: uint16(191), - 1756: uint16(121), - 1757: uint16(271), - 1758: uint16(293), - 1759: uint16(267), - 1760: uint16(267), - 1761: uint16(246), - 1762: uint16(100), - 1763: uint16(246), - 1764: uint16(245), - 1765: uint16(271), - 1766: uint16(271), - 1767: uint16(293), - 1768: uint16(106), - 1769: uint16(107), - 1770: uint16(220), - 1771: uint16(271), - 1772: uint16(229), - 1773: uint16(225), - 1774: uint16(249), - 1775: uint16(219), - 1776: uint16(114), - 1777: uint16(259), - 1778: uint16(116), - 1779: uint16(117), - 1780: uint16(118), - 1781: uint16(133), - 1782: uint16(259), - 1783: uint16(121), - 1784: uint16(219), - 1785: uint16(219), - 1786: uint16(138), - 1787: uint16(139), - 1788: uint16(153), - 1789: uint16(154), - 1790: uint16(155), - 1791: uint16(156), - 1792: uint16(157), - 1793: uint16(280), - 1794: uint16(249), - 1795: uint16(243), - 1796: uint16(19), - 1797: uint16(20), - 1798: uint16(245), - 1799: uint16(22), - 1800: uint16(196), - 1801: uint16(259), - 1802: uint16(140), - 1803: uint16(259), - 1804: uint16(60), - 1805: uint16(297), - 1806: uint16(141), - 1807: uint16(297), - 1808: uint16(200), - 1809: uint16(200), - 1810: uint16(162), - 1811: uint16(38), - 1812: uint16(200), - 1813: uint16(36), - 1814: uint16(294), - 1815: uint16(153), - 1816: uint16(154), - 1817: uint16(155), - 1818: uint16(156), - 1819: uint16(157), - 1820: uint16(151), - 1821: uint16(150), - 1822: uint16(294), - 1823: uint16(283), - 1824: uint16(22), - 1825: uint16(43), - 1826: uint16(234), - 1827: uint16(18), - 1828: uint16(237), - 1829: uint16(200), - 1830: uint16(270), - 1831: uint16(272), - 1832: uint16(237), - 1833: uint16(237), - 1834: uint16(237), - 1835: uint16(18), - 1836: uint16(59), - 1837: uint16(199), - 1838: uint16(270), - 1839: uint16(149), - 1840: uint16(246), - 1841: uint16(272), - 1842: uint16(272), - 1843: uint16(200), - 1844: uint16(234), - 1845: uint16(234), - 1846: uint16(246), - 1847: uint16(246), - 1848: uint16(71), - 1849: uint16(246), - 1850: uint16(199), - 1851: uint16(158), - 1852: uint16(290), - 1853: uint16(62), - 1854: uint16(22), - 1855: uint16(200), - 1856: uint16(19), - 1857: uint16(20), - 1858: uint16(199), - 1859: uint16(22), - 1860: uint16(289), - 1861: uint16(221), - 1862: uint16(221), - 1863: uint16(200), - 1864: uint16(200), - 1865: uint16(199), - 1866: uint16(199), - 1867: uint16(115), - 1868: uint16(218), - 1869: uint16(64), - 1870: uint16(218), - 1871: uint16(218), + 1691: uint16(218), + 1692: uint16(194), + 1693: uint16(19), + 1694: uint16(20), + 1695: uint16(194), + 1696: uint16(22), + 1697: uint16(153), + 1698: uint16(23), + 1699: uint16(155), + 1700: uint16(25), + 1701: uint16(194), + 1702: uint16(100), + 1703: uint16(194), + 1704: uint16(217), + 1705: uint16(218), + 1706: uint16(183), + 1707: uint16(194), + 1708: uint16(106), + 1709: uint16(107), + 1710: uint16(36), + 1711: uint16(194), + 1712: uint16(217), + 1713: uint16(218), + 1714: uint16(237), + 1715: uint16(194), + 1716: uint16(114), + 1717: uint16(243), + 1718: uint16(116), + 1719: uint16(117), + 1720: uint16(118), + 1721: uint16(133), + 1722: uint16(194), + 1723: uint16(121), + 1724: uint16(217), + 1725: uint16(218), + 1726: uint16(138), + 1727: uint16(139), + 1728: uint16(194), + 1729: uint16(194), + 1730: uint16(194), + 1731: uint16(290), + 1732: uint16(289), + 1733: uint16(59), + 1734: uint16(217), + 1735: uint16(218), + 1736: uint16(194), + 1737: uint16(194), + 1738: uint16(217), + 1739: uint16(218), + 1740: uint16(194), + 1741: uint16(194), + 1742: uint16(140), + 1743: uint16(194), + 1744: uint16(194), + 1745: uint16(71), + 1746: uint16(194), + 1747: uint16(244), + 1748: uint16(194), + 1749: uint16(194), + 1750: uint16(162), + 1751: uint16(217), + 1752: uint16(218), + 1753: uint16(194), + 1754: uint16(194), + 1755: uint16(153), + 1756: uint16(154), + 1757: uint16(155), + 1758: uint16(156), + 1759: uint16(157), + 1760: uint16(217), + 1761: uint16(218), + 1762: uint16(194), + 1763: uint16(217), + 1764: uint16(218), + 1765: uint16(194), + 1766: uint16(217), + 1767: uint16(218), + 1768: uint16(257), + 1769: uint16(217), + 1770: uint16(218), + 1771: uint16(217), + 1772: uint16(218), + 1773: uint16(257), + 1774: uint16(100), + 1775: uint16(194), + 1776: uint16(257), + 1777: uint16(217), + 1778: uint16(218), + 1779: uint16(257), + 1780: uint16(106), + 1781: uint16(107), + 1782: uint16(215), + 1783: uint16(299), + 1784: uint16(194), + 1785: uint16(183), + 1786: uint16(192), + 1787: uint16(194), + 1788: uint16(114), + 1789: uint16(194), + 1790: uint16(116), + 1791: uint16(117), + 1792: uint16(118), + 1793: uint16(1), + 1794: uint16(2), + 1795: uint16(121), + 1796: uint16(221), + 1797: uint16(5), + 1798: uint16(217), + 1799: uint16(218), + 1800: uint16(273), + 1801: uint16(197), + 1802: uint16(10), + 1803: uint16(11), + 1804: uint16(12), + 1805: uint16(13), + 1806: uint16(14), + 1807: uint16(217), + 1808: uint16(218), + 1809: uint16(17), + 1810: uint16(217), + 1811: uint16(218), + 1812: uint16(217), + 1813: uint16(218), + 1814: uint16(140), + 1815: uint16(194), + 1816: uint16(246), + 1817: uint16(194), + 1818: uint16(273), + 1819: uint16(295), + 1820: uint16(247), + 1821: uint16(273), + 1822: uint16(30), + 1823: uint16(247), + 1824: uint16(32), + 1825: uint16(269), + 1826: uint16(269), + 1827: uint16(153), + 1828: uint16(154), + 1829: uint16(155), + 1830: uint16(156), + 1831: uint16(157), + 1832: uint16(40), + 1833: uint16(246), + 1834: uint16(273), + 1835: uint16(295), + 1836: uint16(230), + 1837: uint16(226), + 1838: uint16(217), + 1839: uint16(218), + 1840: uint16(217), + 1841: uint16(218), + 1842: uint16(220), + 1843: uint16(261), + 1844: uint16(220), + 1845: uint16(282), + 1846: uint16(220), + 1847: uint16(19), + 1848: uint16(20), + 1849: uint16(244), + 1850: uint16(22), + 1851: uint16(250), + 1852: uint16(141), + 1853: uint16(250), + 1854: uint16(246), + 1855: uint16(60), + 1856: uint16(201), + 1857: uint16(183), + 1858: uint16(261), + 1859: uint16(261), + 1860: uint16(261), + 1861: uint16(201), + 1862: uint16(70), + 1863: uint16(299), + 1864: uint16(36), + 1865: uint16(299), + 1866: uint16(201), + 1867: uint16(38), + 1868: uint16(151), + 1869: uint16(150), + 1870: uint16(78), + 1871: uint16(285), 1872: uint16(22), - 1873: uint16(36), - 1874: uint16(227), - 1875: uint16(126), - 1876: uint16(227), - 1877: uint16(100), - 1878: uint16(165), - 1879: uint16(221), - 1880: uint16(224), - 1881: uint16(224), - 1882: uint16(24), - 1883: uint16(106), - 1884: uint16(107), - 1885: uint16(312), - 1886: uint16(218), - 1887: uint16(305), - 1888: uint16(113), - 1889: uint16(282), - 1890: uint16(91), - 1891: uint16(114), - 1892: uint16(220), - 1893: uint16(116), - 1894: uint16(117), - 1895: uint16(118), - 1896: uint16(59), - 1897: uint16(282), - 1898: uint16(121), - 1899: uint16(218), - 1900: uint16(218), - 1901: uint16(218), + 1873: uint16(81), + 1874: uint16(296), + 1875: uint16(296), + 1876: uint16(43), + 1877: uint16(235), + 1878: uint16(18), + 1879: uint16(238), + 1880: uint16(201), + 1881: uint16(274), + 1882: uint16(272), + 1883: uint16(238), + 1884: uint16(238), + 1885: uint16(238), + 1886: uint16(18), + 1887: uint16(59), + 1888: uint16(200), + 1889: uint16(149), + 1890: uint16(98), + 1891: uint16(247), + 1892: uint16(274), + 1893: uint16(274), + 1894: uint16(235), + 1895: uint16(247), + 1896: uint16(247), + 1897: uint16(247), + 1898: uint16(235), + 1899: uint16(71), + 1900: uint16(272), + 1901: uint16(201), 1902: uint16(200), - 1903: uint16(317), - 1904: uint16(317), - 1905: uint16(82), - 1906: uint16(221), - 1907: uint16(265), - 1908: uint16(71), - 1909: uint16(148), - 1910: uint16(145), - 1911: uint16(265), - 1912: uint16(22), - 1913: uint16(277), - 1914: uint16(200), - 1915: uint16(158), - 1916: uint16(279), - 1917: uint16(140), - 1918: uint16(147), - 1919: uint16(25), - 1920: uint16(146), - 1921: uint16(202), - 1922: uint16(248), - 1923: uint16(250), - 1924: uint16(249), - 1925: uint16(247), - 1926: uint16(13), - 1927: uint16(250), - 1928: uint16(194), - 1929: uint16(194), - 1930: uint16(153), - 1931: uint16(154), - 1932: uint16(155), - 1933: uint16(156), - 1934: uint16(157), - 1935: uint16(6), - 1936: uint16(303), - 1937: uint16(100), - 1938: uint16(192), - 1939: uint16(192), - 1940: uint16(246), - 1941: uint16(213), - 1942: uint16(192), - 1943: uint16(106), - 1944: uint16(107), - 1945: uint16(207), - 1946: uint16(213), - 1947: uint16(207), - 1948: uint16(222), - 1949: uint16(213), - 1950: uint16(213), - 1951: uint16(114), - 1952: uint16(222), - 1953: uint16(116), - 1954: uint16(117), - 1955: uint16(118), - 1956: uint16(214), - 1957: uint16(214), - 1958: uint16(121), - 1959: uint16(4), - 1960: uint16(207), - 1961: uint16(213), - 1962: uint16(3), - 1963: uint16(22), - 1964: uint16(303), - 1965: uint16(15), - 1966: uint16(163), - 1967: uint16(16), - 1968: uint16(23), - 1969: uint16(23), - 1970: uint16(139), - 1971: uint16(151), - 1972: uint16(130), - 1973: uint16(25), - 1974: uint16(20), - 1975: uint16(142), - 1976: uint16(24), - 1977: uint16(16), - 1978: uint16(144), - 1979: uint16(1), - 1980: uint16(142), - 1981: uint16(130), - 1982: uint16(130), - 1983: uint16(61), - 1984: uint16(37), - 1985: uint16(53), - 1986: uint16(300), - 1987: uint16(151), - 1988: uint16(53), - 1989: uint16(53), - 1990: uint16(153), - 1991: uint16(154), - 1992: uint16(155), - 1993: uint16(156), - 1994: uint16(157), - 1995: uint16(53), - 1996: uint16(130), - 1997: uint16(116), - 1998: uint16(34), - 1999: uint16(1), - 2000: uint16(141), - 2001: uint16(5), - 2002: uint16(22), - 2003: uint16(115), - 2004: uint16(161), - 2005: uint16(68), - 2006: uint16(25), - 2007: uint16(68), - 2008: uint16(75), - 2009: uint16(41), - 2010: uint16(141), - 2011: uint16(115), - 2012: uint16(24), - 2013: uint16(20), - 2014: uint16(19), - 2015: uint16(131), - 2016: uint16(125), - 2017: uint16(23), - 2018: uint16(28), - 2019: uint16(22), - 2020: uint16(67), - 2021: uint16(22), - 2022: uint16(22), - 2023: uint16(22), - 2024: uint16(67), - 2025: uint16(59), - 2026: uint16(24), - 2027: uint16(96), - 2028: uint16(22), - 2029: uint16(67), - 2030: uint16(23), - 2031: uint16(149), - 2032: uint16(22), - 2033: uint16(25), - 2034: uint16(23), - 2035: uint16(23), - 2036: uint16(23), - 2037: uint16(22), - 2038: uint16(34), - 2039: uint16(141), - 2040: uint16(37), - 2041: uint16(97), - 2042: uint16(23), - 2043: uint16(23), - 2044: uint16(116), - 2045: uint16(22), - 2046: uint16(143), - 2047: uint16(25), - 2048: uint16(34), - 2049: uint16(75), - 2050: uint16(34), - 2051: uint16(34), - 2052: uint16(34), - 2053: uint16(88), - 2054: uint16(75), - 2055: uint16(34), - 2056: uint16(86), - 2057: uint16(23), + 1903: uint16(158), + 1904: uint16(292), + 1905: uint16(62), + 1906: uint16(291), + 1907: uint16(201), + 1908: uint16(200), + 1909: uint16(22), + 1910: uint16(201), + 1911: uint16(222), + 1912: uint16(200), + 1913: uint16(222), + 1914: uint16(201), + 1915: uint16(200), + 1916: uint16(115), + 1917: uint16(219), + 1918: uint16(219), + 1919: uint16(64), + 1920: uint16(219), + 1921: uint16(228), + 1922: uint16(22), + 1923: uint16(126), + 1924: uint16(221), + 1925: uint16(133), + 1926: uint16(165), + 1927: uint16(222), + 1928: uint16(100), + 1929: uint16(225), + 1930: uint16(138), + 1931: uint16(139), + 1932: uint16(225), + 1933: uint16(219), + 1934: uint16(106), + 1935: uint16(107), + 1936: uint16(24), + 1937: uint16(219), + 1938: uint16(228), + 1939: uint16(219), + 1940: uint16(219), + 1941: uint16(307), + 1942: uint16(114), + 1943: uint16(113), + 1944: uint16(116), + 1945: uint16(117), + 1946: uint16(118), + 1947: uint16(315), + 1948: uint16(284), + 1949: uint16(121), + 1950: uint16(284), + 1951: uint16(222), + 1952: uint16(201), + 1953: uint16(91), + 1954: uint16(162), + 1955: uint16(320), + 1956: uint16(320), + 1957: uint16(82), + 1958: uint16(148), + 1959: uint16(267), + 1960: uint16(145), + 1961: uint16(267), + 1962: uint16(22), + 1963: uint16(279), + 1964: uint16(201), + 1965: uint16(158), + 1966: uint16(281), + 1967: uint16(251), + 1968: uint16(147), + 1969: uint16(146), + 1970: uint16(25), + 1971: uint16(203), + 1972: uint16(250), + 1973: uint16(249), + 1974: uint16(251), + 1975: uint16(248), + 1976: uint16(13), + 1977: uint16(247), + 1978: uint16(195), + 1979: uint16(195), + 1980: uint16(6), + 1981: uint16(153), + 1982: uint16(154), + 1983: uint16(155), + 1984: uint16(156), + 1985: uint16(157), + 1986: uint16(193), + 1987: uint16(193), + 1988: uint16(305), + 1989: uint16(193), + 1990: uint16(208), + 1991: uint16(305), + 1992: uint16(302), + 1993: uint16(214), + 1994: uint16(214), + 1995: uint16(214), + 1996: uint16(208), + 1997: uint16(223), + 1998: uint16(223), + 1999: uint16(214), + 2000: uint16(4), + 2001: uint16(215), + 2002: uint16(215), + 2003: uint16(214), + 2004: uint16(3), + 2005: uint16(22), + 2006: uint16(208), + 2007: uint16(163), + 2008: uint16(15), + 2009: uint16(23), + 2010: uint16(16), + 2011: uint16(183), + 2012: uint16(23), + 2013: uint16(139), + 2014: uint16(151), + 2015: uint16(130), + 2016: uint16(25), + 2017: uint16(20), + 2018: uint16(142), + 2019: uint16(24), + 2020: uint16(16), + 2021: uint16(144), + 2022: uint16(1), + 2023: uint16(142), + 2024: uint16(130), + 2025: uint16(130), + 2026: uint16(61), + 2027: uint16(37), + 2028: uint16(53), + 2029: uint16(151), + 2030: uint16(53), + 2031: uint16(53), + 2032: uint16(53), + 2033: uint16(130), + 2034: uint16(116), + 2035: uint16(1), + 2036: uint16(34), + 2037: uint16(141), + 2038: uint16(5), + 2039: uint16(22), + 2040: uint16(115), + 2041: uint16(161), + 2042: uint16(75), + 2043: uint16(25), + 2044: uint16(68), + 2045: uint16(141), + 2046: uint16(41), + 2047: uint16(115), + 2048: uint16(68), + 2049: uint16(24), + 2050: uint16(20), + 2051: uint16(19), + 2052: uint16(131), + 2053: uint16(125), + 2054: uint16(67), + 2055: uint16(67), + 2056: uint16(96), + 2057: uint16(22), 2058: uint16(22), - 2059: uint16(34), - 2060: uint16(93), - 2061: uint16(24), - 2062: uint16(34), - 2063: uint16(25), - 2064: uint16(25), - 2065: uint16(142), - 2066: uint16(142), + 2059: uint16(22), + 2060: uint16(37), + 2061: uint16(23), + 2062: uint16(22), + 2063: uint16(24), + 2064: uint16(22), + 2065: uint16(59), + 2066: uint16(67), 2067: uint16(23), - 2068: uint16(44), - 2069: uint16(23), - 2070: uint16(23), - 2071: uint16(23), + 2068: uint16(149), + 2069: uint16(28), + 2070: uint16(22), + 2071: uint16(25), 2072: uint16(23), - 2073: uint16(11), + 2073: uint16(23), 2074: uint16(23), - 2075: uint16(25), - 2076: uint16(22), - 2077: uint16(22), - 2078: uint16(22), - 2079: uint16(141), + 2075: uint16(22), + 2076: uint16(141), + 2077: uint16(34), + 2078: uint16(97), + 2079: uint16(23), 2080: uint16(23), - 2081: uint16(23), - 2082: uint16(22), + 2081: uint16(34), + 2082: uint16(116), 2083: uint16(22), - 2084: uint16(25), - 2085: uint16(15), - 2086: uint16(1), - 2087: uint16(23), - 2088: uint16(25), - 2089: uint16(1), - 2090: uint16(141), - 2091: uint16(135), - 2092: uint16(319), - 2093: uint16(319), - 2094: uint16(319), - 2095: uint16(319), - 2096: uint16(319), - 2097: uint16(319), - 2098: uint16(319), - 2099: uint16(141), - 2100: uint16(319), - 2101: uint16(319), - 2102: uint16(319), - 2103: uint16(319), - 2104: uint16(319), - 2105: uint16(319), - 2106: uint16(319), - 2107: uint16(319), - 2108: uint16(319), - 2109: uint16(319), - 2110: uint16(319), - 2111: uint16(319), - 2112: uint16(319), - 2113: uint16(319), - 2114: uint16(319), - 2115: uint16(319), - 2116: uint16(319), - 2117: uint16(319), - 2118: uint16(319), - 2119: uint16(319), - 2120: uint16(319), - 2121: uint16(319), - 2122: uint16(319), - 2123: uint16(319), - 2124: uint16(319), - 2125: uint16(319), - 2126: uint16(319), - 2127: uint16(319), - 2128: uint16(319), - 2129: uint16(319), - 2130: uint16(319), - 2131: uint16(319), - 2132: uint16(319), - 2133: uint16(319), - 2134: uint16(319), - 2135: uint16(319), - 2136: uint16(319), - 2137: uint16(319), - 2138: uint16(319), - 2139: uint16(319), - 2140: uint16(319), - 2141: uint16(319), - 2142: uint16(319), - 2143: uint16(319), - 2144: uint16(319), - 2145: uint16(319), - 2146: uint16(319), - 2147: uint16(319), - 2148: uint16(319), - 2149: uint16(319), - 2150: uint16(319), - 2151: uint16(319), - 2152: uint16(319), - 2153: uint16(319), - 2154: uint16(319), - 2155: uint16(319), - 2156: uint16(319), - 2157: uint16(319), - 2158: uint16(319), - 2159: uint16(319), - 2160: uint16(319), - 2161: uint16(319), - 2162: uint16(319), - 2163: uint16(319), - 2164: uint16(319), - 2165: uint16(319), - 2166: uint16(319), - 2167: uint16(319), - 2168: uint16(319), - 2169: uint16(319), - 2170: uint16(319), - 2171: uint16(319), - 2172: uint16(319), - 2173: uint16(319), - 2174: uint16(319), - 2175: uint16(319), - 2176: uint16(319), - 2177: uint16(319), - 2178: uint16(319), - 2179: uint16(319), - 2180: uint16(319), - 2181: uint16(319), - 2182: uint16(319), - 2183: uint16(319), - 2184: uint16(319), - 2185: uint16(319), - 2186: uint16(319), - 2187: uint16(319), - 2188: uint16(319), - 2189: uint16(319), - 2190: uint16(319), - 2191: uint16(319), - 2192: uint16(319), - 2193: uint16(319), - 2194: uint16(319), - 2195: uint16(319), - 2196: uint16(319), - 2197: uint16(319), - 2198: uint16(319), - 2199: uint16(319), - 2200: uint16(319), - 2201: uint16(319), - 2202: uint16(319), - 2203: uint16(319), - 2204: uint16(319), - 2205: uint16(319), - 2206: uint16(319), - 2207: uint16(319), - 2208: uint16(319), - 2209: uint16(319), - 2210: uint16(319), - 2211: uint16(319), - 2212: uint16(319), - 2213: uint16(319), - 2214: uint16(319), - 2215: uint16(319), - 2216: uint16(319), - 2217: uint16(319), - 2218: uint16(319), - 2219: uint16(319), - 2220: uint16(319), - 2221: uint16(319), - 2222: uint16(319), - 2223: uint16(319), - 2224: uint16(319), - 2225: uint16(319), - 2226: uint16(319), - 2227: uint16(319), - 2228: uint16(319), - 2229: uint16(319), - 2230: uint16(319), - 2231: uint16(319), - 2232: uint16(319), - 2233: uint16(319), - 2234: uint16(319), - 2235: uint16(319), - 2236: uint16(319), - 2237: uint16(319), - 2238: uint16(319), - 2239: uint16(319), - 2240: uint16(319), - 2241: uint16(319), - 2242: uint16(319), - 2243: uint16(319), - 2244: uint16(319), - 2245: uint16(319), - 2246: uint16(319), - 2247: uint16(319), - 2248: uint16(319), - 2249: uint16(319), - 2250: uint16(319), - 2251: uint16(319), - 2252: uint16(319), - 2253: uint16(319), - 2254: uint16(319), - 2255: uint16(319), - 2256: uint16(319), - 2257: uint16(319), - 2258: uint16(319), - 2259: uint16(319), - 2260: uint16(319), - 2261: uint16(319), - 2262: uint16(319), - 2263: uint16(319), - 2264: uint16(319), - 2265: uint16(319), - 2266: uint16(319), - 2267: uint16(319), - 2268: uint16(319), - 2269: uint16(319), - 2270: uint16(319), - 2271: uint16(319), - 2272: uint16(319), - 2273: uint16(319), - 2274: uint16(319), - 2275: uint16(319), - 2276: uint16(319), - 2277: uint16(319), - 2278: uint16(319), - 2279: uint16(319), - 2280: uint16(319), - 2281: uint16(319), - 2282: uint16(319), - 2283: uint16(319), - 2284: uint16(319), -} -var _yy_shift_ofst = [579]uint16{ - 0: uint16(1648), - 1: uint16(1477), - 2: uint16(1272), + 2084: uint16(143), + 2085: uint16(25), + 2086: uint16(34), + 2087: uint16(75), + 2088: uint16(34), + 2089: uint16(34), + 2090: uint16(75), + 2091: uint16(88), + 2092: uint16(34), + 2093: uint16(86), + 2094: uint16(23), + 2095: uint16(22), + 2096: uint16(34), + 2097: uint16(25), + 2098: uint16(24), + 2099: uint16(34), + 2100: uint16(25), + 2101: uint16(93), + 2102: uint16(23), + 2103: uint16(44), + 2104: uint16(142), + 2105: uint16(23), + 2106: uint16(142), + 2107: uint16(23), + 2108: uint16(23), + 2109: uint16(22), + 2110: uint16(11), + 2111: uint16(25), + 2112: uint16(23), + 2113: uint16(25), + 2114: uint16(23), + 2115: uint16(22), + 2116: uint16(22), + 2117: uint16(22), + 2118: uint16(1), + 2119: uint16(23), + 2120: uint16(23), + 2121: uint16(23), + 2122: uint16(22), + 2123: uint16(22), + 2124: uint16(15), + 2125: uint16(141), + 2126: uint16(141), + 2127: uint16(25), + 2128: uint16(25), + 2129: uint16(1), + 2130: uint16(322), + 2131: uint16(322), + 2132: uint16(322), + 2133: uint16(135), + 2134: uint16(322), + 2135: uint16(322), + 2136: uint16(322), + 2137: uint16(322), + 2138: uint16(322), + 2139: uint16(322), + 2140: uint16(322), + 2141: uint16(141), + 2142: uint16(322), + 2143: uint16(322), + 2144: uint16(322), + 2145: uint16(322), + 2146: uint16(322), + 2147: uint16(322), + 2148: uint16(322), + 2149: uint16(322), + 2150: uint16(322), + 2151: uint16(322), + 2152: uint16(322), + 2153: uint16(322), + 2154: uint16(322), + 2155: uint16(322), + 2156: uint16(322), + 2157: uint16(322), + 2158: uint16(322), + 2159: uint16(322), + 2160: uint16(322), + 2161: uint16(322), + 2162: uint16(322), + 2163: uint16(322), + 2164: uint16(322), + 2165: uint16(322), + 2166: uint16(322), + 2167: uint16(322), + 2168: uint16(322), + 2169: uint16(322), + 2170: uint16(322), + 2171: uint16(322), + 2172: uint16(322), + 2173: uint16(322), + 2174: uint16(322), + 2175: uint16(322), + 2176: uint16(322), + 2177: uint16(322), + 2178: uint16(322), + 2179: uint16(322), + 2180: uint16(322), + 2181: uint16(322), + 2182: uint16(322), + 2183: uint16(322), + 2184: uint16(322), + 2185: uint16(322), + 2186: uint16(322), + 2187: uint16(322), + 2188: uint16(322), + 2189: uint16(322), + 2190: uint16(322), + 2191: uint16(322), + 2192: uint16(322), + 2193: uint16(322), + 2194: uint16(322), + 2195: uint16(322), + 2196: uint16(322), + 2197: uint16(322), + 2198: uint16(322), + 2199: uint16(322), + 2200: uint16(322), + 2201: uint16(322), + 2202: uint16(322), + 2203: uint16(322), + 2204: uint16(322), + 2205: uint16(322), + 2206: uint16(322), + 2207: uint16(322), + 2208: uint16(322), + 2209: uint16(322), + 2210: uint16(322), + 2211: uint16(322), + 2212: uint16(322), + 2213: uint16(322), + 2214: uint16(322), + 2215: uint16(322), + 2216: uint16(322), + 2217: uint16(322), + 2218: uint16(322), + 2219: uint16(322), + 2220: uint16(322), + 2221: uint16(322), + 2222: uint16(322), + 2223: uint16(322), + 2224: uint16(322), + 2225: uint16(322), + 2226: uint16(322), + 2227: uint16(322), + 2228: uint16(322), + 2229: uint16(322), + 2230: uint16(322), + 2231: uint16(322), + 2232: uint16(322), + 2233: uint16(322), + 2234: uint16(322), + 2235: uint16(322), + 2236: uint16(322), + 2237: uint16(322), + 2238: uint16(322), + 2239: uint16(322), + 2240: uint16(322), + 2241: uint16(322), + 2242: uint16(322), + 2243: uint16(322), + 2244: uint16(322), + 2245: uint16(322), + 2246: uint16(322), + 2247: uint16(322), + 2248: uint16(322), + 2249: uint16(322), + 2250: uint16(322), + 2251: uint16(322), + 2252: uint16(322), + 2253: uint16(322), + 2254: uint16(322), + 2255: uint16(322), + 2256: uint16(322), + 2257: uint16(322), + 2258: uint16(322), + 2259: uint16(322), + 2260: uint16(322), + 2261: uint16(322), + 2262: uint16(322), + 2263: uint16(322), + 2264: uint16(322), + 2265: uint16(322), + 2266: uint16(322), + 2267: uint16(322), + 2268: uint16(322), + 2269: uint16(322), + 2270: uint16(322), + 2271: uint16(322), + 2272: uint16(322), + 2273: uint16(322), + 2274: uint16(322), + 2275: uint16(322), + 2276: uint16(322), + 2277: uint16(322), + 2278: uint16(322), + 2279: uint16(322), + 2280: uint16(322), + 2281: uint16(322), + 2282: uint16(322), + 2283: uint16(322), + 2284: uint16(322), + 2285: uint16(322), + 2286: uint16(322), + 2287: uint16(322), + 2288: uint16(322), + 2289: uint16(322), + 2290: uint16(322), + 2291: uint16(322), + 2292: uint16(322), + 2293: uint16(322), + 2294: uint16(322), + 2295: uint16(322), + 2296: uint16(322), + 2297: uint16(322), + 2298: uint16(322), + 2299: uint16(322), + 2300: uint16(322), + 2301: uint16(322), + 2302: uint16(322), + 2303: uint16(322), + 2304: uint16(322), + 2305: uint16(322), + 2306: uint16(322), + 2307: uint16(322), + 2308: uint16(322), + 2309: uint16(322), + 2310: uint16(322), + 2311: uint16(322), + 2312: uint16(322), + 2313: uint16(322), + 2314: uint16(322), + 2315: uint16(322), + 2316: uint16(322), + 2317: uint16(322), + 2318: uint16(322), + 2319: uint16(322), + 2320: uint16(322), + 2321: uint16(322), + 2322: uint16(322), + 2323: uint16(322), + 2324: uint16(322), + 2325: uint16(322), + 2326: uint16(322), + 2327: uint16(322), +} +var _yy_shift_ofst = [583]uint16{ + 0: uint16(1792), + 1: uint16(1588), + 2: uint16(1494), 3: uint16(322), 4: uint16(322), - 5: uint16(1), - 6: uint16(1319), - 7: uint16(1478), - 8: uint16(1491), - 9: uint16(1837), - 10: uint16(1837), - 11: uint16(1837), - 12: uint16(471), - 15: uint16(214), - 16: uint16(1093), - 17: uint16(1837), - 18: uint16(1837), - 19: uint16(1837), - 20: uint16(1837), - 21: uint16(1837), - 22: uint16(1837), - 23: uint16(1837), - 24: uint16(1837), - 25: uint16(1837), - 26: uint16(1837), - 27: uint16(1837), - 28: uint16(1837), - 29: uint16(1837), - 30: uint16(1837), - 31: uint16(271), - 32: uint16(271), - 33: uint16(1219), - 34: uint16(1219), - 35: uint16(216), - 36: uint16(88), - 37: uint16(1), - 38: uint16(1), - 39: uint16(1), - 40: uint16(1), - 41: uint16(1), - 42: uint16(40), - 43: uint16(111), - 44: uint16(258), - 45: uint16(361), - 46: uint16(469), - 47: uint16(512), - 48: uint16(583), - 49: uint16(622), - 50: uint16(693), - 51: uint16(732), - 52: uint16(803), - 53: uint16(842), - 54: uint16(913), - 55: uint16(1073), - 56: uint16(1093), - 57: uint16(1093), - 58: uint16(1093), - 59: uint16(1093), - 60: uint16(1093), - 61: uint16(1093), - 62: uint16(1093), - 63: uint16(1093), - 64: uint16(1093), + 5: uint16(399), + 6: uint16(306), + 7: uint16(1319), + 8: uint16(1339), + 9: uint16(1430), + 10: uint16(1828), + 11: uint16(1828), + 12: uint16(1828), + 13: uint16(580), + 14: uint16(399), + 15: uint16(399), + 16: uint16(399), + 17: uint16(399), + 18: uint16(399), + 21: uint16(214), + 22: uint16(1093), + 23: uint16(1828), + 24: uint16(1828), + 25: uint16(1828), + 26: uint16(1828), + 27: uint16(1828), + 28: uint16(1828), + 29: uint16(1828), + 30: uint16(1828), + 31: uint16(1828), + 32: uint16(1828), + 33: uint16(1828), + 34: uint16(1828), + 35: uint16(1828), + 36: uint16(1828), + 37: uint16(1828), + 38: uint16(1130), + 39: uint16(1130), + 40: uint16(365), + 41: uint16(365), + 42: uint16(55), + 43: uint16(278), + 44: uint16(436), + 45: uint16(713), + 46: uint16(713), + 47: uint16(201), + 48: uint16(201), + 49: uint16(201), + 50: uint16(201), + 51: uint16(40), + 52: uint16(111), + 53: uint16(258), + 54: uint16(361), + 55: uint16(469), + 56: uint16(512), + 57: uint16(583), + 58: uint16(622), + 59: uint16(693), + 60: uint16(732), + 61: uint16(803), + 62: uint16(842), + 63: uint16(913), + 64: uint16(1073), 65: uint16(1093), 66: uint16(1093), 67: uint16(1093), @@ -156890,1505 +158302,1514 @@ var _yy_shift_ofst = [579]uint16{ 71: uint16(1093), 72: uint16(1093), 73: uint16(1093), - 74: uint16(1113), + 74: uint16(1093), 75: uint16(1093), - 76: uint16(1216), - 77: uint16(957), - 78: uint16(957), - 79: uint16(1635), - 80: uint16(1662), - 81: uint16(1777), - 82: uint16(1837), - 83: uint16(1837), - 84: uint16(1837), - 85: uint16(1837), - 86: uint16(1837), - 87: uint16(1837), - 88: uint16(1837), - 89: uint16(1837), - 90: uint16(1837), - 91: uint16(1837), - 92: uint16(1837), - 93: uint16(1837), - 94: uint16(1837), - 95: uint16(1837), - 96: uint16(1837), - 97: uint16(1837), - 98: uint16(1837), - 99: uint16(1837), - 100: uint16(1837), - 101: uint16(1837), - 102: uint16(1837), - 103: uint16(1837), - 104: uint16(1837), - 105: uint16(1837), - 106: uint16(1837), - 107: uint16(1837), - 108: uint16(1837), - 109: uint16(1837), - 110: uint16(1837), - 111: uint16(1837), - 112: uint16(1837), - 113: uint16(1837), - 114: uint16(1837), - 115: uint16(1837), - 116: uint16(1837), - 117: uint16(1837), - 118: uint16(1837), - 119: uint16(1837), - 120: uint16(1837), - 121: uint16(1837), - 122: uint16(1837), - 123: uint16(1837), - 124: uint16(1837), - 125: uint16(1837), - 126: uint16(1837), - 127: uint16(1837), - 128: uint16(1837), - 129: uint16(1837), - 130: uint16(1837), - 131: uint16(137), - 132: uint16(181), - 133: uint16(181), - 134: uint16(181), - 135: uint16(181), - 136: uint16(181), - 137: uint16(181), - 138: uint16(181), - 139: uint16(94), - 140: uint16(430), - 141: uint16(66), - 142: uint16(65), - 143: uint16(112), - 144: uint16(366), - 145: uint16(533), - 146: uint16(533), - 147: uint16(740), - 148: uint16(1257), - 149: uint16(533), - 150: uint16(533), - 151: uint16(79), - 152: uint16(79), - 153: uint16(533), - 154: uint16(412), - 155: uint16(412), - 156: uint16(412), - 157: uint16(77), - 158: uint16(412), - 159: uint16(123), - 160: uint16(113), - 161: uint16(113), - 162: uint16(113), - 163: uint16(22), - 164: uint16(22), - 165: uint16(2100), - 166: uint16(2100), - 167: uint16(328), - 168: uint16(328), - 169: uint16(328), - 170: uint16(239), - 171: uint16(468), - 172: uint16(468), - 173: uint16(468), - 174: uint16(468), - 175: uint16(1015), - 176: uint16(1015), - 177: uint16(409), - 178: uint16(366), - 179: uint16(1187), - 180: uint16(1232), - 181: uint16(533), - 182: uint16(533), - 183: uint16(533), - 184: uint16(533), - 185: uint16(533), - 186: uint16(533), - 187: uint16(533), - 188: uint16(533), - 189: uint16(533), - 190: uint16(533), - 191: uint16(533), - 192: uint16(533), - 193: uint16(533), - 194: uint16(533), - 195: uint16(533), - 196: uint16(533), - 197: uint16(533), - 198: uint16(533), - 199: uint16(533), - 200: uint16(533), - 201: uint16(969), - 202: uint16(621), - 203: uint16(621), - 204: uint16(533), - 205: uint16(642), - 206: uint16(788), - 207: uint16(788), - 208: uint16(1133), - 209: uint16(1133), - 210: uint16(822), - 211: uint16(822), - 212: uint16(67), - 213: uint16(1193), - 214: uint16(2100), - 215: uint16(2100), - 216: uint16(2100), - 217: uint16(2100), - 218: uint16(2100), - 219: uint16(2100), - 220: uint16(2100), - 221: uint16(1307), - 222: uint16(954), - 223: uint16(954), - 224: uint16(585), - 225: uint16(472), - 226: uint16(640), - 227: uint16(387), - 228: uint16(695), - 229: uint16(538), - 230: uint16(541), - 231: uint16(700), - 232: uint16(533), - 233: uint16(533), - 234: uint16(533), - 235: uint16(533), - 236: uint16(533), - 237: uint16(533), - 238: uint16(533), - 239: uint16(533), - 240: uint16(533), - 241: uint16(533), - 242: uint16(222), - 243: uint16(533), - 244: uint16(533), - 245: uint16(533), - 246: uint16(533), - 247: uint16(533), - 248: uint16(533), - 249: uint16(533), - 250: uint16(533), - 251: uint16(533), - 252: uint16(533), - 253: uint16(533), - 254: uint16(533), - 255: uint16(1213), - 256: uint16(1213), - 257: uint16(1213), - 258: uint16(533), - 259: uint16(533), - 260: uint16(533), - 261: uint16(565), - 262: uint16(533), - 263: uint16(533), - 264: uint16(533), - 265: uint16(916), - 266: uint16(1147), - 267: uint16(533), - 268: uint16(533), - 269: uint16(1288), - 270: uint16(533), - 271: uint16(533), - 272: uint16(533), - 273: uint16(533), - 274: uint16(533), - 275: uint16(533), - 276: uint16(533), - 277: uint16(533), - 278: uint16(639), - 279: uint16(1280), - 280: uint16(209), - 281: uint16(1129), - 282: uint16(1129), - 283: uint16(1129), - 284: uint16(1129), - 285: uint16(580), - 286: uint16(209), - 287: uint16(209), - 288: uint16(1209), - 289: uint16(768), - 290: uint16(917), - 291: uint16(649), - 292: uint16(1315), - 293: uint16(1334), - 294: uint16(405), - 295: uint16(1334), - 296: uint16(1383), - 297: uint16(249), - 298: uint16(1315), - 299: uint16(1315), - 300: uint16(249), - 301: uint16(1315), - 302: uint16(405), - 303: uint16(1383), - 304: uint16(1441), - 305: uint16(464), - 306: uint16(1245), - 307: uint16(1417), - 308: uint16(1417), - 309: uint16(1417), - 310: uint16(1323), - 311: uint16(1323), - 312: uint16(1323), - 313: uint16(1323), - 314: uint16(184), - 315: uint16(184), - 316: uint16(1335), - 317: uint16(1476), - 318: uint16(856), - 319: uint16(1482), - 320: uint16(1744), - 321: uint16(1744), - 322: uint16(1665), - 323: uint16(1665), - 324: uint16(1773), - 325: uint16(1773), - 326: uint16(1665), - 327: uint16(1669), - 328: uint16(1671), - 329: uint16(1802), - 330: uint16(1782), - 331: uint16(1809), - 332: uint16(1809), - 333: uint16(1809), - 334: uint16(1809), - 335: uint16(1665), - 336: uint16(1817), - 337: uint16(1690), - 338: uint16(1671), - 339: uint16(1671), - 340: uint16(1690), - 341: uint16(1802), - 342: uint16(1782), - 343: uint16(1690), - 344: uint16(1782), - 345: uint16(1690), - 346: uint16(1665), - 347: uint16(1817), - 348: uint16(1693), - 349: uint16(1791), - 350: uint16(1665), - 351: uint16(1817), - 352: uint16(1832), - 353: uint16(1665), - 354: uint16(1817), - 355: uint16(1665), - 356: uint16(1817), - 357: uint16(1832), - 358: uint16(1752), - 359: uint16(1752), - 360: uint16(1752), - 361: uint16(1805), - 362: uint16(1850), - 363: uint16(1850), - 364: uint16(1832), - 365: uint16(1752), - 366: uint16(1749), - 367: uint16(1752), - 368: uint16(1805), - 369: uint16(1752), - 370: uint16(1752), - 371: uint16(1713), - 372: uint16(1858), - 373: uint16(1775), - 374: uint16(1775), - 375: uint16(1832), - 376: uint16(1665), - 377: uint16(1799), - 378: uint16(1799), - 379: uint16(1823), - 380: uint16(1823), - 381: uint16(1761), - 382: uint16(1765), - 383: uint16(1890), - 384: uint16(1665), - 385: uint16(1757), - 386: uint16(1761), - 387: uint16(1771), - 388: uint16(1774), - 389: uint16(1690), - 390: uint16(1894), - 391: uint16(1913), - 392: uint16(1913), - 393: uint16(1929), - 394: uint16(1929), - 395: uint16(1929), - 396: uint16(2100), - 397: uint16(2100), - 398: uint16(2100), - 399: uint16(2100), - 400: uint16(2100), - 401: uint16(2100), - 402: uint16(2100), - 403: uint16(2100), - 404: uint16(2100), - 405: uint16(2100), - 406: uint16(2100), - 407: uint16(2100), - 408: uint16(2100), - 409: uint16(2100), - 410: uint16(2100), - 411: uint16(207), - 412: uint16(1220), - 413: uint16(331), - 414: uint16(620), - 415: uint16(967), - 416: uint16(806), - 417: uint16(1074), - 418: uint16(1499), - 419: uint16(1432), - 420: uint16(1463), - 421: uint16(1479), - 422: uint16(1419), - 423: uint16(1422), - 424: uint16(1557), - 425: uint16(1512), - 426: uint16(1598), - 427: uint16(1599), - 428: uint16(1644), - 429: uint16(1645), - 430: uint16(1654), - 431: uint16(1660), - 432: uint16(1555), - 433: uint16(1505), - 434: uint16(1684), - 435: uint16(1462), - 436: uint16(1670), - 437: uint16(1563), - 438: uint16(1619), - 439: uint16(1593), - 440: uint16(1676), - 441: uint16(1679), - 442: uint16(1613), - 443: uint16(1680), - 444: uint16(1554), - 445: uint16(1558), - 446: uint16(1689), - 447: uint16(1692), - 448: uint16(1605), - 449: uint16(1589), - 450: uint16(1955), - 451: uint16(1959), - 452: uint16(1941), - 453: uint16(1803), - 454: uint16(1950), - 455: uint16(1951), - 456: uint16(1945), - 457: uint16(1946), - 458: uint16(1831), - 459: uint16(1820), - 460: uint16(1842), - 461: uint16(1948), - 462: uint16(1948), - 463: uint16(1952), - 464: uint16(1833), - 465: uint16(1954), - 466: uint16(1834), - 467: uint16(1961), - 468: uint16(1978), - 469: uint16(1838), - 470: uint16(1851), - 471: uint16(1948), - 472: uint16(1852), - 473: uint16(1922), - 474: uint16(1947), - 475: uint16(1948), - 476: uint16(1836), - 477: uint16(1932), - 478: uint16(1935), - 479: uint16(1936), - 480: uint16(1942), - 481: uint16(1866), - 482: uint16(1881), - 483: uint16(1964), - 484: uint16(1859), - 485: uint16(1998), - 486: uint16(1996), - 487: uint16(1980), - 488: uint16(1888), - 489: uint16(1843), - 490: uint16(1937), - 491: uint16(1981), - 492: uint16(1939), - 493: uint16(1933), - 494: uint16(1968), - 495: uint16(1869), - 496: uint16(1896), - 497: uint16(1988), - 498: uint16(1993), - 499: uint16(1995), - 500: uint16(1884), - 501: uint16(1891), - 502: uint16(1997), - 503: uint16(1953), - 504: uint16(1999), - 505: uint16(2000), - 506: uint16(1994), - 507: uint16(2001), - 508: uint16(1957), - 509: uint16(1966), - 510: uint16(2002), - 511: uint16(1931), - 512: uint16(1990), - 513: uint16(2006), - 514: uint16(1962), - 515: uint16(2003), - 516: uint16(2007), - 517: uint16(2004), - 518: uint16(1882), - 519: uint16(2010), - 520: uint16(2011), - 521: uint16(2012), - 522: uint16(2008), - 523: uint16(2013), - 524: uint16(2015), - 525: uint16(1944), - 526: uint16(1898), - 527: uint16(2019), - 528: uint16(2020), - 529: uint16(1928), - 530: uint16(2014), - 531: uint16(2023), - 532: uint16(1903), - 533: uint16(2022), - 534: uint16(2016), - 535: uint16(2017), - 536: uint16(2018), - 537: uint16(2021), - 538: uint16(1965), - 539: uint16(1974), - 540: uint16(1970), - 541: uint16(2024), - 542: uint16(1979), - 543: uint16(1967), - 544: uint16(2025), - 545: uint16(2034), - 546: uint16(2036), - 547: uint16(2037), - 548: uint16(2038), - 549: uint16(2039), - 550: uint16(2028), - 551: uint16(1923), - 552: uint16(1924), - 553: uint16(2044), - 554: uint16(2022), - 555: uint16(2046), - 556: uint16(2047), - 557: uint16(2048), - 558: uint16(2049), - 559: uint16(2050), - 560: uint16(2051), - 561: uint16(2054), - 562: uint16(2062), - 563: uint16(2055), - 564: uint16(2056), - 565: uint16(2057), - 566: uint16(2058), - 567: uint16(2060), - 568: uint16(2061), - 569: uint16(2059), - 570: uint16(1956), - 571: uint16(1938), - 572: uint16(1949), - 573: uint16(1958), - 574: uint16(2063), - 575: uint16(2064), - 576: uint16(2070), - 577: uint16(2085), - 578: uint16(2088), -} -var _yy_reduce_ofst = [411]int16{ - 0: int16(-int32(125)), - 1: int16(733), - 2: int16(789), - 3: int16(241), - 4: int16(293), - 5: int16(-int32(123)), - 6: int16(-int32(193)), - 7: int16(-int32(191)), - 8: int16(-int32(183)), - 9: int16(-int32(187)), - 10: int16(166), - 11: int16(238), - 12: int16(133), - 13: int16(-int32(207)), - 14: int16(-int32(199)), - 15: int16(-int32(267)), - 16: int16(-int32(176)), - 17: int16(-int32(6)), - 18: int16(204), - 19: int16(489), - 20: int16(576), - 21: int16(598), - 22: int16(-int32(175)), - 23: int16(686), - 24: int16(860), - 25: int16(615), - 26: int16(725), - 27: int16(1014), - 28: int16(778), - 29: int16(781), - 30: int16(857), - 31: int16(616), - 32: int16(887), - 33: int16(87), - 34: int16(240), - 35: int16(-int32(192)), - 36: int16(408), - 37: int16(626), - 38: int16(796), - 39: int16(843), - 40: int16(854), - 41: int16(1004), - 42: int16(-int32(271)), - 43: int16(-int32(271)), - 44: int16(-int32(271)), - 45: int16(-int32(271)), - 46: int16(-int32(271)), - 47: int16(-int32(271)), - 48: int16(-int32(271)), - 49: int16(-int32(271)), - 50: int16(-int32(271)), - 51: int16(-int32(271)), - 52: int16(-int32(271)), - 53: int16(-int32(271)), - 54: int16(-int32(271)), - 55: int16(-int32(271)), - 56: int16(-int32(271)), - 57: int16(-int32(271)), - 58: int16(-int32(271)), - 59: int16(-int32(271)), - 60: int16(-int32(271)), - 61: int16(-int32(271)), - 62: int16(-int32(271)), - 63: int16(-int32(271)), - 64: int16(-int32(271)), - 65: int16(-int32(271)), - 66: int16(-int32(271)), - 67: int16(-int32(271)), - 68: int16(-int32(271)), - 69: int16(-int32(271)), - 70: int16(-int32(271)), - 71: int16(-int32(271)), - 72: int16(-int32(271)), - 73: int16(-int32(271)), - 74: int16(-int32(271)), - 75: int16(-int32(271)), - 76: int16(-int32(271)), - 77: int16(-int32(271)), - 78: int16(-int32(271)), - 79: int16(80), - 80: int16(83), - 81: int16(313), - 82: int16(886), - 83: int16(888), - 84: int16(918), - 85: int16(938), - 86: int16(1021), - 87: int16(1034), - 88: int16(1036), - 89: int16(1141), - 90: int16(1159), - 91: int16(1163), - 92: int16(1166), - 93: int16(1168), - 94: int16(1170), - 95: int16(1176), - 96: int16(1178), - 97: int16(1180), - 98: int16(1184), - 99: int16(1196), - 100: int16(1198), - 101: int16(1205), - 102: int16(1215), - 103: int16(1225), - 104: int16(1227), - 105: int16(1236), - 106: int16(1252), - 107: int16(1254), - 108: int16(1264), - 109: int16(1303), - 110: int16(1309), - 111: int16(1312), - 112: int16(1322), - 113: int16(1325), - 114: int16(1328), - 115: int16(1337), - 116: int16(1340), - 117: int16(1343), - 118: int16(1353), - 119: int16(1371), - 120: int16(1373), - 121: int16(1384), - 122: int16(1386), - 123: int16(1411), - 124: int16(1413), - 125: int16(1420), - 126: int16(1424), - 127: int16(1426), - 128: int16(1458), - 129: int16(1470), - 130: int16(1473), - 131: int16(-int32(271)), - 132: int16(-int32(271)), - 133: int16(-int32(271)), - 134: int16(-int32(271)), - 135: int16(-int32(271)), - 136: int16(-int32(271)), - 137: int16(-int32(271)), - 138: int16(-int32(271)), - 139: int16(-int32(271)), - 140: int16(-int32(271)), - 141: int16(-int32(271)), - 142: int16(138), - 143: int16(459), - 144: int16(396), - 145: int16(-int32(158)), - 146: int16(470), - 147: int16(302), - 148: int16(-int32(212)), - 149: int16(521), - 150: int16(201), - 151: int16(-int32(195)), - 152: int16(-int32(92)), - 153: int16(559), - 154: int16(630), - 155: int16(632), - 156: int16(630), - 157: int16(-int32(271)), - 158: int16(632), - 159: int16(901), - 160: int16(63), - 161: int16(407), - 162: int16(670), - 163: int16(-int32(271)), - 164: int16(-int32(271)), - 165: int16(-int32(271)), - 166: int16(-int32(271)), - 167: int16(161), - 168: int16(161), - 169: int16(161), - 170: int16(251), - 171: int16(335), - 172: int16(847), - 173: int16(979), - 174: int16(1097), - 175: int16(537), - 176: int16(588), - 177: int16(618), - 178: int16(628), - 179: int16(688), - 180: int16(688), - 181: int16(-int32(166)), - 182: int16(-int32(161)), - 183: int16(674), - 184: int16(787), - 185: int16(794), - 186: int16(799), - 187: int16(852), - 188: int16(996), - 189: int16(-int32(122)), - 190: int16(837), - 191: int16(-int32(120)), - 192: int16(1018), - 193: int16(1035), - 194: int16(415), - 195: int16(1047), - 196: int16(1001), - 197: int16(958), - 198: int16(1082), - 199: int16(400), - 200: int16(1099), - 201: int16(779), - 202: int16(1137), - 203: int16(1142), - 204: int16(263), - 205: int16(1083), - 206: int16(1145), - 207: int16(1150), - 208: int16(1041), - 209: int16(1139), - 210: int16(965), - 211: int16(1050), - 212: int16(362), - 213: int16(849), - 214: int16(752), - 215: int16(629), - 216: int16(675), - 217: int16(1162), - 218: int16(1173), - 219: int16(1090), - 220: int16(1195), - 221: int16(-int32(194)), - 222: int16(56), - 223: int16(185), - 224: int16(-int32(135)), - 225: int16(232), - 226: int16(522), - 227: int16(560), - 228: int16(571), - 229: int16(601), - 230: int16(617), - 231: int16(669), - 232: int16(683), - 233: int16(711), - 234: int16(850), - 235: int16(893), - 236: int16(1000), - 237: int16(1040), - 238: int16(1049), - 239: int16(1081), - 240: int16(1087), - 241: int16(1101), - 242: int16(392), - 243: int16(1114), - 244: int16(1123), - 245: int16(1155), - 246: int16(1161), - 247: int16(1175), - 248: int16(1271), - 249: int16(1293), - 250: int16(1299), - 251: int16(1330), - 252: int16(1339), - 253: int16(1342), - 254: int16(1347), - 255: int16(593), - 256: int16(1282), - 257: int16(1286), - 258: int16(1350), - 259: int16(1359), - 260: int16(1368), - 261: int16(1314), - 262: int16(1480), - 263: int16(1483), - 264: int16(1507), - 265: int16(1085), - 266: int16(1338), - 267: int16(1526), - 268: int16(1527), - 269: int16(1487), - 270: int16(1531), - 271: int16(560), - 272: int16(1532), - 273: int16(1534), - 274: int16(1535), - 275: int16(1538), - 276: int16(1539), - 277: int16(1541), - 278: int16(1448), - 279: int16(1450), - 280: int16(1496), - 281: int16(1484), - 282: int16(1485), - 283: int16(1489), - 284: int16(1490), - 285: int16(1314), - 286: int16(1496), - 287: int16(1496), - 288: int16(1504), - 289: int16(1536), - 290: int16(1564), - 291: int16(1451), - 292: int16(1486), - 293: int16(1492), - 294: int16(1509), - 295: int16(1493), - 296: int16(1465), - 297: int16(1515), - 298: int16(1494), - 299: int16(1495), - 300: int16(1517), - 301: int16(1500), - 302: int16(1519), - 303: int16(1474), - 304: int16(1550), - 305: int16(1543), - 306: int16(1548), - 307: int16(1556), - 308: int16(1565), - 309: int16(1566), - 310: int16(1518), - 311: int16(1523), - 312: int16(1542), - 313: int16(1544), - 314: int16(1525), - 315: int16(1545), - 316: int16(1513), - 317: int16(1553), - 318: int16(1552), - 319: int16(1604), - 320: int16(1508), - 321: int16(1510), - 322: int16(1608), - 323: int16(1609), - 324: int16(1520), - 325: int16(1528), - 326: int16(1612), - 327: int16(1540), - 328: int16(1559), - 329: int16(1560), - 330: int16(1592), - 331: int16(1591), - 332: int16(1595), - 333: int16(1596), - 334: int16(1597), - 335: int16(1629), - 336: int16(1638), - 337: int16(1594), - 338: int16(1569), - 339: int16(1570), - 340: int16(1600), - 341: int16(1568), - 342: int16(1610), - 343: int16(1601), - 344: int16(1611), - 345: int16(1603), - 346: int16(1643), - 347: int16(1651), - 348: int16(1562), - 349: int16(1571), - 350: int16(1655), - 351: int16(1659), - 352: int16(1640), - 353: int16(1663), - 354: int16(1666), - 355: int16(1664), - 356: int16(1667), - 357: int16(1641), - 358: int16(1650), - 359: int16(1652), - 360: int16(1653), - 361: int16(1647), - 362: int16(1656), - 363: int16(1657), - 364: int16(1658), - 365: int16(1668), - 366: int16(1672), - 367: int16(1681), - 368: int16(1649), - 369: int16(1682), - 370: int16(1683), - 371: int16(1573), - 372: int16(1582), - 373: int16(1607), - 374: int16(1615), - 375: int16(1685), - 376: int16(1702), - 377: int16(1586), - 378: int16(1587), - 379: int16(1642), - 380: int16(1646), - 381: int16(1673), - 382: int16(1675), - 383: int16(1636), - 384: int16(1714), - 385: int16(1637), - 386: int16(1677), - 387: int16(1674), - 388: int16(1678), - 389: int16(1694), - 390: int16(1719), - 391: int16(1734), - 392: int16(1735), - 393: int16(1746), - 394: int16(1747), - 395: int16(1750), - 396: int16(1633), - 397: int16(1661), + 76: uint16(1093), + 77: uint16(1093), + 78: uint16(1093), + 79: uint16(1093), + 80: uint16(1093), + 81: uint16(1093), + 82: uint16(1093), + 83: uint16(1113), + 84: uint16(1093), + 85: uint16(1216), + 86: uint16(957), + 87: uint16(957), + 88: uint16(1523), + 89: uint16(1602), + 90: uint16(1674), + 91: uint16(1828), + 92: uint16(1828), + 93: uint16(1828), + 94: uint16(1828), + 95: uint16(1828), + 96: uint16(1828), + 97: uint16(1828), + 98: uint16(1828), + 99: uint16(1828), + 100: uint16(1828), + 101: uint16(1828), + 102: uint16(1828), + 103: uint16(1828), + 104: uint16(1828), + 105: uint16(1828), + 106: uint16(1828), + 107: uint16(1828), + 108: uint16(1828), + 109: uint16(1828), + 110: uint16(1828), + 111: uint16(1828), + 112: uint16(1828), + 113: uint16(1828), + 114: uint16(1828), + 115: uint16(1828), + 116: uint16(1828), + 117: uint16(1828), + 118: uint16(1828), + 119: uint16(1828), + 120: uint16(1828), + 121: uint16(1828), + 122: uint16(1828), + 123: uint16(1828), + 124: uint16(1828), + 125: uint16(1828), + 126: uint16(1828), + 127: uint16(1828), + 128: uint16(1828), + 129: uint16(1828), + 130: uint16(1828), + 131: uint16(1828), + 132: uint16(1828), + 133: uint16(1828), + 134: uint16(1828), + 135: uint16(1828), + 136: uint16(1828), + 137: uint16(1828), + 138: uint16(1828), + 139: uint16(1828), + 140: uint16(137), + 141: uint16(181), + 142: uint16(181), + 143: uint16(181), + 144: uint16(181), + 145: uint16(181), + 146: uint16(181), + 147: uint16(181), + 148: uint16(96), + 149: uint16(222), + 150: uint16(143), + 151: uint16(477), + 152: uint16(713), + 153: uint16(1133), + 154: uint16(1268), + 155: uint16(713), + 156: uint16(713), + 157: uint16(79), + 158: uint16(79), + 159: uint16(713), + 160: uint16(770), + 161: uint16(83), + 162: uint16(65), + 163: uint16(65), + 164: uint16(65), + 165: uint16(288), + 166: uint16(162), + 167: uint16(162), + 168: uint16(2142), + 169: uint16(2142), + 170: uint16(696), + 171: uint16(696), + 172: uint16(696), + 173: uint16(238), + 174: uint16(474), + 175: uint16(474), + 176: uint16(474), + 177: uint16(474), + 178: uint16(1217), + 179: uint16(1217), + 180: uint16(678), + 181: uint16(477), + 182: uint16(324), + 183: uint16(398), + 184: uint16(713), + 185: uint16(713), + 186: uint16(713), + 187: uint16(713), + 188: uint16(713), + 189: uint16(713), + 190: uint16(713), + 191: uint16(713), + 192: uint16(713), + 193: uint16(713), + 194: uint16(713), + 195: uint16(713), + 196: uint16(713), + 197: uint16(713), + 198: uint16(713), + 199: uint16(713), + 200: uint16(713), + 201: uint16(713), + 202: uint16(713), + 203: uint16(1220), + 204: uint16(366), + 205: uint16(366), + 206: uint16(713), + 207: uint16(917), + 208: uint16(283), + 209: uint16(283), + 210: uint16(434), + 211: uint16(434), + 212: uint16(605), + 213: uint16(605), + 214: uint16(1298), + 215: uint16(2142), + 216: uint16(2142), + 217: uint16(2142), + 218: uint16(2142), + 219: uint16(2142), + 220: uint16(2142), + 221: uint16(2142), + 222: uint16(1179), + 223: uint16(1157), + 224: uint16(1157), + 225: uint16(487), + 226: uint16(527), + 227: uint16(585), + 228: uint16(645), + 229: uint16(749), + 230: uint16(914), + 231: uint16(968), + 232: uint16(752), + 233: uint16(713), + 234: uint16(713), + 235: uint16(713), + 236: uint16(713), + 237: uint16(713), + 238: uint16(713), + 239: uint16(713), + 240: uint16(713), + 241: uint16(713), + 242: uint16(713), + 243: uint16(303), + 244: uint16(713), + 245: uint16(713), + 246: uint16(713), + 247: uint16(713), + 248: uint16(713), + 249: uint16(713), + 250: uint16(713), + 251: uint16(713), + 252: uint16(713), + 253: uint16(713), + 254: uint16(713), + 255: uint16(713), + 256: uint16(797), + 257: uint16(797), + 258: uint16(797), + 259: uint16(713), + 260: uint16(713), + 261: uint16(713), + 262: uint16(959), + 263: uint16(713), + 264: uint16(713), + 265: uint16(713), + 266: uint16(1169), + 267: uint16(1271), + 268: uint16(713), + 269: uint16(713), + 270: uint16(1330), + 271: uint16(713), + 272: uint16(713), + 273: uint16(713), + 274: uint16(713), + 275: uint16(713), + 276: uint16(713), + 277: uint16(713), + 278: uint16(713), + 279: uint16(629), + 280: uint16(7), + 281: uint16(91), + 282: uint16(876), + 283: uint16(876), + 284: uint16(876), + 285: uint16(876), + 286: uint16(953), + 287: uint16(91), + 288: uint16(91), + 289: uint16(1246), + 290: uint16(1065), + 291: uint16(1106), + 292: uint16(1374), + 293: uint16(1329), + 294: uint16(1348), + 295: uint16(468), + 296: uint16(1348), + 297: uint16(1394), + 298: uint16(785), + 299: uint16(1329), + 300: uint16(1329), + 301: uint16(785), + 302: uint16(1329), + 303: uint16(468), + 304: uint16(1394), + 305: uint16(859), + 306: uint16(854), + 307: uint16(1402), + 308: uint16(1449), + 309: uint16(1449), + 310: uint16(1449), + 311: uint16(1173), + 312: uint16(1173), + 313: uint16(1173), + 314: uint16(1173), + 315: uint16(1355), + 316: uint16(1355), + 317: uint16(1030), + 318: uint16(1341), + 319: uint16(405), + 320: uint16(1230), + 321: uint16(1795), + 322: uint16(1795), + 323: uint16(1711), + 324: uint16(1711), + 325: uint16(1829), + 326: uint16(1829), + 327: uint16(1711), + 328: uint16(1717), + 329: uint16(1719), + 330: uint16(1850), + 331: uint16(1833), + 332: uint16(1860), + 333: uint16(1860), + 334: uint16(1860), + 335: uint16(1860), + 336: uint16(1711), + 337: uint16(1868), + 338: uint16(1740), + 339: uint16(1719), + 340: uint16(1719), + 341: uint16(1740), + 342: uint16(1850), + 343: uint16(1833), + 344: uint16(1740), + 345: uint16(1833), + 346: uint16(1740), + 347: uint16(1711), + 348: uint16(1868), + 349: uint16(1745), + 350: uint16(1843), + 351: uint16(1711), + 352: uint16(1868), + 353: uint16(1887), + 354: uint16(1711), + 355: uint16(1868), + 356: uint16(1711), + 357: uint16(1868), + 358: uint16(1887), + 359: uint16(1801), + 360: uint16(1801), + 361: uint16(1801), + 362: uint16(1855), + 363: uint16(1900), + 364: uint16(1900), + 365: uint16(1887), + 366: uint16(1801), + 367: uint16(1797), + 368: uint16(1801), + 369: uint16(1855), + 370: uint16(1801), + 371: uint16(1801), + 372: uint16(1761), + 373: uint16(1912), + 374: uint16(1830), + 375: uint16(1830), + 376: uint16(1887), + 377: uint16(1711), + 378: uint16(1862), + 379: uint16(1862), + 380: uint16(1875), + 381: uint16(1875), + 382: uint16(1810), + 383: uint16(1815), + 384: uint16(1940), + 385: uint16(1711), + 386: uint16(1807), + 387: uint16(1810), + 388: uint16(1821), + 389: uint16(1823), + 390: uint16(1740), + 391: uint16(1945), + 392: uint16(1963), + 393: uint16(1963), + 394: uint16(1974), + 395: uint16(1974), + 396: uint16(1974), + 397: uint16(2142), + 398: uint16(2142), + 399: uint16(2142), + 400: uint16(2142), + 401: uint16(2142), + 402: uint16(2142), + 403: uint16(2142), + 404: uint16(2142), + 405: uint16(2142), + 406: uint16(2142), + 407: uint16(2142), + 408: uint16(2142), + 409: uint16(2142), + 410: uint16(2142), + 411: uint16(2142), + 412: uint16(20), + 413: uint16(1224), + 414: uint16(256), + 415: uint16(1111), + 416: uint16(1115), + 417: uint16(1114), + 418: uint16(1192), + 419: uint16(1496), + 420: uint16(1424), + 421: uint16(1505), + 422: uint16(1427), + 423: uint16(355), + 424: uint16(1383), + 425: uint16(1537), + 426: uint16(1506), + 427: uint16(1538), + 428: uint16(1553), + 429: uint16(1583), + 430: uint16(1584), + 431: uint16(1591), + 432: uint16(1625), + 433: uint16(541), + 434: uint16(1445), + 435: uint16(1562), + 436: uint16(1450), + 437: uint16(1572), + 438: uint16(1515), + 439: uint16(1428), + 440: uint16(1532), + 441: uint16(1592), + 442: uint16(1629), + 443: uint16(1520), + 444: uint16(1630), + 445: uint16(1639), + 446: uint16(1510), + 447: uint16(1544), + 448: uint16(1662), + 449: uint16(1675), + 450: uint16(1551), + 451: uint16(48), + 452: uint16(1996), + 453: uint16(2001), + 454: uint16(1983), + 455: uint16(1844), + 456: uint16(1993), + 457: uint16(1994), + 458: uint16(1986), + 459: uint16(1989), + 460: uint16(1874), + 461: uint16(1863), + 462: uint16(1885), + 463: uint16(1991), + 464: uint16(1991), + 465: uint16(1995), + 466: uint16(1876), + 467: uint16(1997), + 468: uint16(1877), + 469: uint16(2004), + 470: uint16(2021), + 471: uint16(1881), + 472: uint16(1894), + 473: uint16(1991), + 474: uint16(1895), + 475: uint16(1965), + 476: uint16(1990), + 477: uint16(1991), + 478: uint16(1878), + 479: uint16(1975), + 480: uint16(1977), + 481: uint16(1978), + 482: uint16(1979), + 483: uint16(1903), + 484: uint16(1918), + 485: uint16(2002), + 486: uint16(1896), + 487: uint16(2034), + 488: uint16(2033), + 489: uint16(2017), + 490: uint16(1925), + 491: uint16(1880), + 492: uint16(1976), + 493: uint16(2018), + 494: uint16(1980), + 495: uint16(1967), + 496: uint16(2005), + 497: uint16(1904), + 498: uint16(1932), + 499: uint16(2025), + 500: uint16(2030), + 501: uint16(2032), + 502: uint16(1921), + 503: uint16(1928), + 504: uint16(2035), + 505: uint16(1987), + 506: uint16(2036), + 507: uint16(2037), + 508: uint16(2038), + 509: uint16(2040), + 510: uint16(1988), + 511: uint16(2006), + 512: uint16(2039), + 513: uint16(1960), + 514: uint16(2041), + 515: uint16(2042), + 516: uint16(1999), + 517: uint16(2023), + 518: uint16(2044), + 519: uint16(2043), + 520: uint16(1919), + 521: uint16(2048), + 522: uint16(2049), + 523: uint16(2050), + 524: uint16(2046), + 525: uint16(2051), + 526: uint16(2053), + 527: uint16(1981), + 528: uint16(1935), + 529: uint16(2056), + 530: uint16(2057), + 531: uint16(1966), + 532: uint16(2047), + 533: uint16(2061), + 534: uint16(1941), + 535: uint16(2060), + 536: uint16(2052), + 537: uint16(2054), + 538: uint16(2055), + 539: uint16(2058), + 540: uint16(2003), + 541: uint16(2012), + 542: uint16(2007), + 543: uint16(2059), + 544: uint16(2015), + 545: uint16(2008), + 546: uint16(2062), + 547: uint16(2071), + 548: uint16(2073), + 549: uint16(2074), + 550: uint16(2072), + 551: uint16(2075), + 552: uint16(2065), + 553: uint16(1962), + 554: uint16(1964), + 555: uint16(2079), + 556: uint16(2060), + 557: uint16(2082), + 558: uint16(2084), + 559: uint16(2085), + 560: uint16(2087), + 561: uint16(2086), + 562: uint16(2089), + 563: uint16(2088), + 564: uint16(2091), + 565: uint16(2093), + 566: uint16(2099), + 567: uint16(2094), + 568: uint16(2095), + 569: uint16(2096), + 570: uint16(2097), + 571: uint16(2100), + 572: uint16(2101), + 573: uint16(2102), + 574: uint16(1998), + 575: uint16(1984), + 576: uint16(1985), + 577: uint16(2000), + 578: uint16(2103), + 579: uint16(2098), + 580: uint16(2109), + 581: uint16(2117), + 582: uint16(2128), +} +var _yy_reduce_ofst = [412]int16{ + 0: int16(-int32(71)), + 1: int16(194), + 2: int16(343), + 3: int16(835), + 4: int16(-int32(180)), + 5: int16(-int32(177)), + 6: int16(838), + 7: int16(-int32(194)), + 8: int16(-int32(188)), + 9: int16(-int32(185)), + 10: int16(-int32(183)), + 11: int16(82), + 12: int16(183), + 13: int16(-int32(65)), + 14: int16(133), + 15: int16(245), + 16: int16(346), + 17: int16(407), + 18: int16(458), + 19: int16(-int32(178)), + 20: int16(75), + 21: int16(-int32(275)), + 22: int16(-int32(4)), + 23: int16(310), + 24: int16(312), + 25: int16(489), + 26: int16(575), + 27: int16(596), + 28: int16(463), + 29: int16(686), + 30: int16(707), + 31: int16(725), + 32: int16(780), + 33: int16(1098), + 34: int16(856), + 35: int16(778), + 36: int16(1059), + 37: int16(1090), + 38: int16(708), + 39: int16(887), + 40: int16(86), + 41: int16(448), + 42: int16(980), + 43: int16(630), + 44: int16(680), + 45: int16(681), + 46: int16(684), + 47: int16(796), + 48: int16(801), + 49: int16(796), + 50: int16(801), + 51: int16(-int32(261)), + 52: int16(-int32(261)), + 53: int16(-int32(261)), + 54: int16(-int32(261)), + 55: int16(-int32(261)), + 56: int16(-int32(261)), + 57: int16(-int32(261)), + 58: int16(-int32(261)), + 59: int16(-int32(261)), + 60: int16(-int32(261)), + 61: int16(-int32(261)), + 62: int16(-int32(261)), + 63: int16(-int32(261)), + 64: int16(-int32(261)), + 65: int16(-int32(261)), + 66: int16(-int32(261)), + 67: int16(-int32(261)), + 68: int16(-int32(261)), + 69: int16(-int32(261)), + 70: int16(-int32(261)), + 71: int16(-int32(261)), + 72: int16(-int32(261)), + 73: int16(-int32(261)), + 74: int16(-int32(261)), + 75: int16(-int32(261)), + 76: int16(-int32(261)), + 77: int16(-int32(261)), + 78: int16(-int32(261)), + 79: int16(-int32(261)), + 80: int16(-int32(261)), + 81: int16(-int32(261)), + 82: int16(-int32(261)), + 83: int16(-int32(261)), + 84: int16(-int32(261)), + 85: int16(-int32(261)), + 86: int16(-int32(261)), + 87: int16(-int32(261)), + 88: int16(391), + 89: int16(886), + 90: int16(888), + 91: int16(1013), + 92: int16(1016), + 93: int16(1081), + 94: int16(1087), + 95: int16(1151), + 96: int16(1159), + 97: int16(1177), + 98: int16(1185), + 99: int16(1188), + 100: int16(1190), + 101: int16(1194), + 102: int16(1197), + 103: int16(1203), + 104: int16(1247), + 105: int16(1260), + 106: int16(1264), + 107: int16(1267), + 108: int16(1269), + 109: int16(1273), + 110: int16(1315), + 111: int16(1322), + 112: int16(1335), + 113: int16(1337), + 114: int16(1356), + 115: int16(1362), + 116: int16(1418), + 117: int16(1425), + 118: int16(1453), + 119: int16(1457), + 120: int16(1465), + 121: int16(1473), + 122: int16(1487), + 123: int16(1495), + 124: int16(1507), + 125: int16(1517), + 126: int16(1521), + 127: int16(1534), + 128: int16(1543), + 129: int16(1546), + 130: int16(1549), + 131: int16(1552), + 132: int16(1554), + 133: int16(1560), + 134: int16(1581), + 135: int16(1590), + 136: int16(1593), + 137: int16(1595), + 138: int16(1621), + 139: int16(1623), + 140: int16(-int32(261)), + 141: int16(-int32(261)), + 142: int16(-int32(261)), + 143: int16(-int32(261)), + 144: int16(-int32(261)), + 145: int16(-int32(261)), + 146: int16(-int32(261)), + 147: int16(-int32(261)), + 148: int16(-int32(261)), + 149: int16(-int32(261)), + 150: int16(-int32(261)), + 151: int16(-int32(186)), + 152: int16(-int32(117)), + 153: int16(260), + 154: int16(263), + 155: int16(460), + 156: int16(631), + 157: int16(-int32(74)), + 158: int16(497), + 159: int16(-int32(181)), + 160: int16(-int32(261)), + 161: int16(939), + 162: int16(176), + 163: int16(274), + 164: int16(338), + 165: int16(676), + 166: int16(-int32(261)), + 167: int16(-int32(261)), + 168: int16(-int32(261)), + 169: int16(-int32(261)), + 170: int16(-int32(212)), + 171: int16(-int32(212)), + 172: int16(-int32(212)), + 173: int16(-int32(184)), + 174: int16(149), + 175: int16(777), + 176: int16(1061), + 177: int16(1103), + 178: int16(265), + 179: int16(419), + 180: int16(-int32(254)), + 181: int16(670), + 182: int16(677), + 183: int16(677), + 184: int16(-int32(11)), + 185: int16(-int32(129)), + 186: int16(184), + 187: int16(488), + 188: int16(736), + 189: int16(789), + 190: int16(805), + 191: int16(844), + 192: int16(403), + 193: int16(529), + 194: int16(579), + 195: int16(668), + 196: int16(783), + 197: int16(841), + 198: int16(1158), + 199: int16(1112), + 200: int16(806), + 201: int16(861), + 202: int16(1095), + 203: int16(846), + 204: int16(839), + 205: int16(1031), + 206: int16(-int32(189)), + 207: int16(1077), + 208: int16(1080), + 209: int16(1116), + 210: int16(1084), + 211: int16(1156), + 212: int16(1139), + 213: int16(1221), + 214: int16(46), + 215: int16(1099), + 216: int16(1037), + 217: int16(1118), + 218: int16(1171), + 219: int16(1214), + 220: int16(1210), + 221: int16(1258), + 222: int16(-int32(210)), + 223: int16(-int32(190)), + 224: int16(-int32(176)), + 225: int16(-int32(115)), + 226: int16(117), + 227: int16(262), + 228: int16(376), + 229: int16(490), + 230: int16(511), + 231: int16(520), + 232: int16(618), + 233: int16(639), + 234: int16(743), + 235: int16(901), + 236: int16(907), + 237: int16(958), + 238: int16(1014), + 239: int16(1055), + 240: int16(1108), + 241: int16(1193), + 242: int16(1244), + 243: int16(720), + 244: int16(1248), + 245: int16(1277), + 246: int16(1324), + 247: int16(1347), + 248: int16(1417), + 249: int16(1431), + 250: int16(1432), + 251: int16(1440), + 252: int16(1451), + 253: int16(1452), + 254: int16(1463), + 255: int16(1478), + 256: int16(1286), + 257: int16(1350), + 258: int16(1369), + 259: int16(1490), + 260: int16(1498), + 261: int16(1501), + 262: int16(773), + 263: int16(1509), + 264: int16(1513), + 265: int16(1528), + 266: int16(1292), + 267: int16(1367), + 268: int16(1535), + 269: int16(1536), + 270: int16(1477), + 271: int16(1542), + 272: int16(376), + 273: int16(1547), + 274: int16(1550), + 275: int16(1555), + 276: int16(1559), + 277: int16(1568), + 278: int16(1571), + 279: int16(1441), + 280: int16(1443), + 281: int16(1474), + 282: int16(1511), + 283: int16(1516), + 284: int16(1519), + 285: int16(1522), + 286: int16(773), + 287: int16(1474), + 288: int16(1474), + 289: int16(1503), + 290: int16(1567), + 291: int16(1594), + 292: int16(1484), + 293: int16(1527), + 294: int16(1556), + 295: int16(1570), + 296: int16(1557), + 297: int16(1524), + 298: int16(1573), + 299: int16(1545), + 300: int16(1548), + 301: int16(1576), + 302: int16(1561), + 303: int16(1587), + 304: int16(1540), + 305: int16(1575), + 306: int16(1606), + 307: int16(1611), + 308: int16(1622), + 309: int16(1624), + 310: int16(1626), + 311: int16(1582), + 312: int16(1597), + 313: int16(1598), + 314: int16(1599), + 315: int16(1601), + 316: int16(1603), + 317: int16(1563), + 318: int16(1608), + 319: int16(1605), + 320: int16(1604), + 321: int16(1564), + 322: int16(1566), + 323: int16(1655), + 324: int16(1660), + 325: int16(1578), + 326: int16(1579), + 327: int16(1665), + 328: int16(1586), + 329: int16(1607), + 330: int16(1610), + 331: int16(1642), + 332: int16(1641), + 333: int16(1645), + 334: int16(1646), + 335: int16(1647), + 336: int16(1679), + 337: int16(1688), + 338: int16(1644), + 339: int16(1618), + 340: int16(1619), + 341: int16(1648), + 342: int16(1628), + 343: int16(1659), + 344: int16(1649), + 345: int16(1663), + 346: int16(1650), + 347: int16(1700), + 348: int16(1702), + 349: int16(1612), + 350: int16(1615), + 351: int16(1706), + 352: int16(1708), + 353: int16(1689), + 354: int16(1709), + 355: int16(1712), + 356: int16(1713), + 357: int16(1715), + 358: int16(1691), + 359: int16(1698), + 360: int16(1699), + 361: int16(1701), + 362: int16(1693), + 363: int16(1704), + 364: int16(1707), + 365: int16(1705), + 366: int16(1714), + 367: int16(1703), + 368: int16(1718), + 369: int16(1710), + 370: int16(1720), + 371: int16(1721), + 372: int16(1632), + 373: int16(1634), + 374: int16(1664), + 375: int16(1666), + 376: int16(1729), + 377: int16(1751), + 378: int16(1635), + 379: int16(1636), + 380: int16(1692), + 381: int16(1694), + 382: int16(1716), + 383: int16(1722), + 384: int16(1684), + 385: int16(1763), + 386: int16(1685), + 387: int16(1723), + 388: int16(1724), + 389: int16(1727), + 390: int16(1730), + 391: int16(1768), + 392: int16(1783), + 393: int16(1784), + 394: int16(1793), + 395: int16(1794), + 396: int16(1796), + 397: int16(1683), 398: int16(1686), - 399: int16(1738), - 400: int16(1728), - 401: int16(1733), - 402: int16(1736), - 403: int16(1737), - 404: int16(1740), - 405: int16(1726), - 406: int16(1730), - 407: int16(1742), - 408: int16(1743), - 409: int16(1748), - 410: int16(1753), -} -var _yy_default = [579]uint16{ - 0: uint16(1648), - 1: uint16(1648), - 2: uint16(1648), - 3: uint16(1478), - 4: uint16(1243), - 5: uint16(1354), - 6: uint16(1243), - 7: uint16(1243), - 8: uint16(1243), - 9: uint16(1478), - 10: uint16(1478), - 11: uint16(1478), - 12: uint16(1243), - 13: uint16(1384), - 14: uint16(1384), - 15: uint16(1531), - 16: uint16(1276), - 17: uint16(1243), - 18: uint16(1243), - 19: uint16(1243), - 20: uint16(1243), - 21: uint16(1243), - 22: uint16(1243), - 23: uint16(1243), - 24: uint16(1243), - 25: uint16(1243), - 26: uint16(1243), - 27: uint16(1243), - 28: uint16(1477), - 29: uint16(1243), - 30: uint16(1243), - 31: uint16(1243), - 32: uint16(1243), - 33: uint16(1564), - 34: uint16(1564), - 35: uint16(1243), - 36: uint16(1243), - 37: uint16(1243), - 38: uint16(1243), - 39: uint16(1243), - 40: uint16(1243), - 41: uint16(1243), - 42: uint16(1243), - 43: uint16(1393), - 44: uint16(1243), - 45: uint16(1400), - 46: uint16(1243), - 47: uint16(1243), - 48: uint16(1243), - 49: uint16(1243), - 50: uint16(1243), - 51: uint16(1479), - 52: uint16(1480), - 53: uint16(1243), - 54: uint16(1243), - 55: uint16(1243), - 56: uint16(1530), - 57: uint16(1532), - 58: uint16(1495), - 59: uint16(1407), - 60: uint16(1406), - 61: uint16(1405), - 62: uint16(1404), - 63: uint16(1513), - 64: uint16(1372), - 65: uint16(1398), - 66: uint16(1391), - 67: uint16(1395), - 68: uint16(1474), - 69: uint16(1475), - 70: uint16(1473), - 71: uint16(1626), - 72: uint16(1480), - 73: uint16(1479), - 74: uint16(1243), - 75: uint16(1394), - 76: uint16(1442), - 77: uint16(1458), - 78: uint16(1441), - 79: uint16(1243), - 80: uint16(1243), - 81: uint16(1243), - 82: uint16(1243), - 83: uint16(1243), - 84: uint16(1243), - 85: uint16(1243), - 86: uint16(1243), - 87: uint16(1243), - 88: uint16(1243), - 89: uint16(1243), - 90: uint16(1243), - 91: uint16(1243), - 92: uint16(1243), - 93: uint16(1243), - 94: uint16(1243), - 95: uint16(1243), - 96: uint16(1243), - 97: uint16(1243), - 98: uint16(1243), - 99: uint16(1243), - 100: uint16(1243), - 101: uint16(1243), - 102: uint16(1243), - 103: uint16(1243), - 104: uint16(1243), - 105: uint16(1243), - 106: uint16(1243), - 107: uint16(1243), - 108: uint16(1243), - 109: uint16(1243), - 110: uint16(1243), - 111: uint16(1243), - 112: uint16(1243), - 113: uint16(1243), - 114: uint16(1243), - 115: uint16(1243), - 116: uint16(1243), - 117: uint16(1243), - 118: uint16(1243), - 119: uint16(1243), - 120: uint16(1243), - 121: uint16(1243), - 122: uint16(1243), - 123: uint16(1243), - 124: uint16(1243), - 125: uint16(1243), - 126: uint16(1243), - 127: uint16(1243), - 128: uint16(1243), - 129: uint16(1243), - 130: uint16(1243), - 131: uint16(1450), - 132: uint16(1457), - 133: uint16(1456), - 134: uint16(1455), - 135: uint16(1464), - 136: uint16(1454), - 137: uint16(1451), - 138: uint16(1444), - 139: uint16(1443), - 140: uint16(1445), - 141: uint16(1446), - 142: uint16(1243), - 143: uint16(1243), - 144: uint16(1267), - 145: uint16(1243), - 146: uint16(1243), - 147: uint16(1264), - 148: uint16(1318), - 149: uint16(1243), - 150: uint16(1243), - 151: uint16(1243), - 152: uint16(1243), - 153: uint16(1243), - 154: uint16(1550), - 155: uint16(1549), - 156: uint16(1243), - 157: uint16(1447), - 158: uint16(1243), - 159: uint16(1276), - 160: uint16(1435), - 161: uint16(1434), - 162: uint16(1433), - 163: uint16(1461), - 164: uint16(1448), - 165: uint16(1460), - 166: uint16(1459), - 167: uint16(1538), - 168: uint16(1600), - 169: uint16(1599), - 170: uint16(1496), - 171: uint16(1243), - 172: uint16(1243), - 173: uint16(1243), - 174: uint16(1243), - 175: uint16(1243), - 176: uint16(1243), - 177: uint16(1564), - 178: uint16(1243), - 179: uint16(1243), - 180: uint16(1243), - 181: uint16(1243), - 182: uint16(1243), - 183: uint16(1243), - 184: uint16(1243), - 185: uint16(1243), - 186: uint16(1243), - 187: uint16(1243), - 188: uint16(1243), - 189: uint16(1243), - 190: uint16(1243), - 191: uint16(1243), - 192: uint16(1243), - 193: uint16(1243), - 194: uint16(1243), - 195: uint16(1243), - 196: uint16(1243), - 197: uint16(1243), - 198: uint16(1243), - 199: uint16(1243), - 200: uint16(1243), - 201: uint16(1374), - 202: uint16(1564), - 203: uint16(1564), - 204: uint16(1243), - 205: uint16(1276), - 206: uint16(1564), - 207: uint16(1564), - 208: uint16(1375), - 209: uint16(1375), - 210: uint16(1272), - 211: uint16(1272), - 212: uint16(1378), - 213: uint16(1243), - 214: uint16(1545), - 215: uint16(1345), - 216: uint16(1345), - 217: uint16(1345), - 218: uint16(1345), - 219: uint16(1354), - 220: uint16(1345), - 221: uint16(1243), - 222: uint16(1243), - 223: uint16(1243), - 224: uint16(1243), - 225: uint16(1243), - 226: uint16(1243), - 227: uint16(1243), - 228: uint16(1243), - 229: uint16(1243), - 230: uint16(1243), - 231: uint16(1243), - 232: uint16(1243), - 233: uint16(1243), - 234: uint16(1243), - 235: uint16(1243), - 236: uint16(1535), - 237: uint16(1533), - 238: uint16(1243), - 239: uint16(1243), - 240: uint16(1243), - 241: uint16(1243), - 242: uint16(1243), - 243: uint16(1243), - 244: uint16(1243), - 245: uint16(1243), - 246: uint16(1243), - 247: uint16(1243), - 248: uint16(1243), - 249: uint16(1243), - 250: uint16(1243), - 251: uint16(1243), - 252: uint16(1243), - 253: uint16(1243), - 254: uint16(1243), - 255: uint16(1243), - 256: uint16(1243), - 257: uint16(1243), - 258: uint16(1243), - 259: uint16(1243), - 260: uint16(1243), - 261: uint16(1243), - 262: uint16(1243), - 263: uint16(1243), - 264: uint16(1243), - 265: uint16(1350), - 266: uint16(1243), - 267: uint16(1243), - 268: uint16(1243), - 269: uint16(1243), - 270: uint16(1243), - 271: uint16(1243), - 272: uint16(1243), - 273: uint16(1243), - 274: uint16(1243), - 275: uint16(1243), - 276: uint16(1243), - 277: uint16(1593), - 278: uint16(1243), - 279: uint16(1508), - 280: uint16(1332), - 281: uint16(1350), - 282: uint16(1350), - 283: uint16(1350), - 284: uint16(1350), - 285: uint16(1352), - 286: uint16(1333), - 287: uint16(1331), - 288: uint16(1344), - 289: uint16(1277), - 290: uint16(1250), - 291: uint16(1640), - 292: uint16(1410), - 293: uint16(1399), - 294: uint16(1351), - 295: uint16(1399), - 296: uint16(1637), - 297: uint16(1397), + 399: int16(1690), + 400: int16(1782), + 401: int16(1779), + 402: int16(1780), + 403: int16(1781), + 404: int16(1785), + 405: int16(1788), + 406: int16(1774), + 407: int16(1775), + 408: int16(1786), + 409: int16(1787), + 410: int16(1789), + 411: int16(1798), +} +var _yy_default = [583]uint16{ + 0: uint16(1663), + 1: uint16(1663), + 2: uint16(1663), + 3: uint16(1491), + 4: uint16(1254), + 5: uint16(1367), + 6: uint16(1254), + 7: uint16(1254), + 8: uint16(1254), + 9: uint16(1254), + 10: uint16(1491), + 11: uint16(1491), + 12: uint16(1491), + 13: uint16(1254), + 14: uint16(1254), + 15: uint16(1254), + 16: uint16(1254), + 17: uint16(1254), + 18: uint16(1254), + 19: uint16(1397), + 20: uint16(1397), + 21: uint16(1544), + 22: uint16(1287), + 23: uint16(1254), + 24: uint16(1254), + 25: uint16(1254), + 26: uint16(1254), + 27: uint16(1254), + 28: uint16(1254), + 29: uint16(1254), + 30: uint16(1254), + 31: uint16(1254), + 32: uint16(1254), + 33: uint16(1254), + 34: uint16(1254), + 35: uint16(1490), + 36: uint16(1254), + 37: uint16(1254), + 38: uint16(1254), + 39: uint16(1254), + 40: uint16(1578), + 41: uint16(1578), + 42: uint16(1254), + 43: uint16(1254), + 44: uint16(1254), + 45: uint16(1254), + 46: uint16(1254), + 47: uint16(1563), + 48: uint16(1562), + 49: uint16(1254), + 50: uint16(1254), + 51: uint16(1254), + 52: uint16(1406), + 53: uint16(1254), + 54: uint16(1413), + 55: uint16(1254), + 56: uint16(1254), + 57: uint16(1254), + 58: uint16(1254), + 59: uint16(1254), + 60: uint16(1492), + 61: uint16(1493), + 62: uint16(1254), + 63: uint16(1254), + 64: uint16(1254), + 65: uint16(1543), + 66: uint16(1545), + 67: uint16(1508), + 68: uint16(1420), + 69: uint16(1419), + 70: uint16(1418), + 71: uint16(1417), + 72: uint16(1526), + 73: uint16(1385), + 74: uint16(1411), + 75: uint16(1404), + 76: uint16(1408), + 77: uint16(1487), + 78: uint16(1488), + 79: uint16(1486), + 80: uint16(1641), + 81: uint16(1493), + 82: uint16(1492), + 83: uint16(1254), + 84: uint16(1407), + 85: uint16(1455), + 86: uint16(1471), + 87: uint16(1454), + 88: uint16(1254), + 89: uint16(1254), + 90: uint16(1254), + 91: uint16(1254), + 92: uint16(1254), + 93: uint16(1254), + 94: uint16(1254), + 95: uint16(1254), + 96: uint16(1254), + 97: uint16(1254), + 98: uint16(1254), + 99: uint16(1254), + 100: uint16(1254), + 101: uint16(1254), + 102: uint16(1254), + 103: uint16(1254), + 104: uint16(1254), + 105: uint16(1254), + 106: uint16(1254), + 107: uint16(1254), + 108: uint16(1254), + 109: uint16(1254), + 110: uint16(1254), + 111: uint16(1254), + 112: uint16(1254), + 113: uint16(1254), + 114: uint16(1254), + 115: uint16(1254), + 116: uint16(1254), + 117: uint16(1254), + 118: uint16(1254), + 119: uint16(1254), + 120: uint16(1254), + 121: uint16(1254), + 122: uint16(1254), + 123: uint16(1254), + 124: uint16(1254), + 125: uint16(1254), + 126: uint16(1254), + 127: uint16(1254), + 128: uint16(1254), + 129: uint16(1254), + 130: uint16(1254), + 131: uint16(1254), + 132: uint16(1254), + 133: uint16(1254), + 134: uint16(1254), + 135: uint16(1254), + 136: uint16(1254), + 137: uint16(1254), + 138: uint16(1254), + 139: uint16(1254), + 140: uint16(1463), + 141: uint16(1470), + 142: uint16(1469), + 143: uint16(1468), + 144: uint16(1477), + 145: uint16(1467), + 146: uint16(1464), + 147: uint16(1457), + 148: uint16(1456), + 149: uint16(1458), + 150: uint16(1459), + 151: uint16(1278), + 152: uint16(1254), + 153: uint16(1275), + 154: uint16(1329), + 155: uint16(1254), + 156: uint16(1254), + 157: uint16(1254), + 158: uint16(1254), + 159: uint16(1254), + 160: uint16(1460), + 161: uint16(1287), + 162: uint16(1448), + 163: uint16(1447), + 164: uint16(1446), + 165: uint16(1254), + 166: uint16(1474), + 167: uint16(1461), + 168: uint16(1473), + 169: uint16(1472), + 170: uint16(1551), + 171: uint16(1615), + 172: uint16(1614), + 173: uint16(1509), + 174: uint16(1254), + 175: uint16(1254), + 176: uint16(1254), + 177: uint16(1254), + 178: uint16(1254), + 179: uint16(1254), + 180: uint16(1578), + 181: uint16(1254), + 182: uint16(1254), + 183: uint16(1254), + 184: uint16(1254), + 185: uint16(1254), + 186: uint16(1254), + 187: uint16(1254), + 188: uint16(1254), + 189: uint16(1254), + 190: uint16(1254), + 191: uint16(1254), + 192: uint16(1254), + 193: uint16(1254), + 194: uint16(1254), + 195: uint16(1254), + 196: uint16(1254), + 197: uint16(1254), + 198: uint16(1254), + 199: uint16(1254), + 200: uint16(1254), + 201: uint16(1254), + 202: uint16(1254), + 203: uint16(1387), + 204: uint16(1578), + 205: uint16(1578), + 206: uint16(1254), + 207: uint16(1287), + 208: uint16(1578), + 209: uint16(1578), + 210: uint16(1388), + 211: uint16(1388), + 212: uint16(1283), + 213: uint16(1283), + 214: uint16(1391), + 215: uint16(1558), + 216: uint16(1358), + 217: uint16(1358), + 218: uint16(1358), + 219: uint16(1358), + 220: uint16(1367), + 221: uint16(1358), + 222: uint16(1254), + 223: uint16(1254), + 224: uint16(1254), + 225: uint16(1254), + 226: uint16(1254), + 227: uint16(1254), + 228: uint16(1254), + 229: uint16(1254), + 230: uint16(1254), + 231: uint16(1254), + 232: uint16(1254), + 233: uint16(1254), + 234: uint16(1254), + 235: uint16(1254), + 236: uint16(1254), + 237: uint16(1548), + 238: uint16(1546), + 239: uint16(1254), + 240: uint16(1254), + 241: uint16(1254), + 242: uint16(1254), + 243: uint16(1254), + 244: uint16(1254), + 245: uint16(1254), + 246: uint16(1254), + 247: uint16(1254), + 248: uint16(1254), + 249: uint16(1254), + 250: uint16(1254), + 251: uint16(1254), + 252: uint16(1254), + 253: uint16(1254), + 254: uint16(1254), + 255: uint16(1254), + 256: uint16(1254), + 257: uint16(1254), + 258: uint16(1254), + 259: uint16(1254), + 260: uint16(1254), + 261: uint16(1254), + 262: uint16(1254), + 263: uint16(1254), + 264: uint16(1254), + 265: uint16(1254), + 266: uint16(1363), + 267: uint16(1254), + 268: uint16(1254), + 269: uint16(1254), + 270: uint16(1254), + 271: uint16(1254), + 272: uint16(1254), + 273: uint16(1254), + 274: uint16(1254), + 275: uint16(1254), + 276: uint16(1254), + 277: uint16(1254), + 278: uint16(1608), + 279: uint16(1254), + 280: uint16(1521), + 281: uint16(1343), + 282: uint16(1363), + 283: uint16(1363), + 284: uint16(1363), + 285: uint16(1363), + 286: uint16(1365), + 287: uint16(1344), + 288: uint16(1342), + 289: uint16(1357), + 290: uint16(1288), + 291: uint16(1261), + 292: uint16(1655), + 293: uint16(1423), + 294: uint16(1412), + 295: uint16(1364), + 296: uint16(1412), + 297: uint16(1652), 298: uint16(1410), - 299: uint16(1410), - 300: uint16(1397), + 299: uint16(1423), + 300: uint16(1423), 301: uint16(1410), - 302: uint16(1351), - 303: uint16(1637), - 304: uint16(1293), - 305: uint16(1615), - 306: uint16(1288), - 307: uint16(1384), - 308: uint16(1384), - 309: uint16(1384), - 310: uint16(1374), - 311: uint16(1374), - 312: uint16(1374), - 313: uint16(1374), - 314: uint16(1378), - 315: uint16(1378), - 316: uint16(1476), - 317: uint16(1351), - 318: uint16(1344), - 319: uint16(1243), - 320: uint16(1640), - 321: uint16(1640), - 322: uint16(1360), - 323: uint16(1360), - 324: uint16(1639), - 325: uint16(1639), - 326: uint16(1360), - 327: uint16(1496), - 328: uint16(1623), - 329: uint16(1419), - 330: uint16(1321), - 331: uint16(1327), - 332: uint16(1327), - 333: uint16(1327), - 334: uint16(1327), - 335: uint16(1360), - 336: uint16(1261), - 337: uint16(1397), - 338: uint16(1623), - 339: uint16(1623), - 340: uint16(1397), - 341: uint16(1419), - 342: uint16(1321), - 343: uint16(1397), - 344: uint16(1321), - 345: uint16(1397), - 346: uint16(1360), - 347: uint16(1261), - 348: uint16(1512), - 349: uint16(1634), - 350: uint16(1360), - 351: uint16(1261), - 352: uint16(1486), - 353: uint16(1360), - 354: uint16(1261), - 355: uint16(1360), - 356: uint16(1261), - 357: uint16(1486), - 358: uint16(1319), - 359: uint16(1319), - 360: uint16(1319), - 361: uint16(1308), - 362: uint16(1243), - 363: uint16(1243), - 364: uint16(1486), - 365: uint16(1319), - 366: uint16(1293), - 367: uint16(1319), - 368: uint16(1308), + 302: uint16(1423), + 303: uint16(1364), + 304: uint16(1652), + 305: uint16(1304), + 306: uint16(1630), + 307: uint16(1299), + 308: uint16(1397), + 309: uint16(1397), + 310: uint16(1397), + 311: uint16(1387), + 312: uint16(1387), + 313: uint16(1387), + 314: uint16(1387), + 315: uint16(1391), + 316: uint16(1391), + 317: uint16(1489), + 318: uint16(1364), + 319: uint16(1357), + 320: uint16(1254), + 321: uint16(1655), + 322: uint16(1655), + 323: uint16(1373), + 324: uint16(1373), + 325: uint16(1654), + 326: uint16(1654), + 327: uint16(1373), + 328: uint16(1509), + 329: uint16(1638), + 330: uint16(1432), + 331: uint16(1332), + 332: uint16(1338), + 333: uint16(1338), + 334: uint16(1338), + 335: uint16(1338), + 336: uint16(1373), + 337: uint16(1272), + 338: uint16(1410), + 339: uint16(1638), + 340: uint16(1638), + 341: uint16(1410), + 342: uint16(1432), + 343: uint16(1332), + 344: uint16(1410), + 345: uint16(1332), + 346: uint16(1410), + 347: uint16(1373), + 348: uint16(1272), + 349: uint16(1525), + 350: uint16(1649), + 351: uint16(1373), + 352: uint16(1272), + 353: uint16(1499), + 354: uint16(1373), + 355: uint16(1272), + 356: uint16(1373), + 357: uint16(1272), + 358: uint16(1499), + 359: uint16(1330), + 360: uint16(1330), + 361: uint16(1330), + 362: uint16(1319), + 363: uint16(1254), + 364: uint16(1254), + 365: uint16(1499), + 366: uint16(1330), + 367: uint16(1304), + 368: uint16(1330), 369: uint16(1319), - 370: uint16(1319), - 371: uint16(1582), - 372: uint16(1243), - 373: uint16(1490), - 374: uint16(1490), - 375: uint16(1486), - 376: uint16(1360), - 377: uint16(1574), - 378: uint16(1574), - 379: uint16(1387), - 380: uint16(1387), - 381: uint16(1392), - 382: uint16(1378), - 383: uint16(1481), - 384: uint16(1360), - 385: uint16(1243), - 386: uint16(1392), - 387: uint16(1390), - 388: uint16(1388), - 389: uint16(1397), - 390: uint16(1311), - 391: uint16(1596), - 392: uint16(1596), - 393: uint16(1592), - 394: uint16(1592), - 395: uint16(1592), - 396: uint16(1645), - 397: uint16(1645), - 398: uint16(1545), - 399: uint16(1608), - 400: uint16(1276), - 401: uint16(1276), - 402: uint16(1276), - 403: uint16(1276), - 404: uint16(1608), - 405: uint16(1295), - 406: uint16(1295), - 407: uint16(1277), - 408: uint16(1277), - 409: uint16(1276), - 410: uint16(1608), - 411: uint16(1243), - 412: uint16(1243), - 413: uint16(1243), - 414: uint16(1243), - 415: uint16(1243), - 416: uint16(1243), - 417: uint16(1603), - 418: uint16(1243), - 419: uint16(1540), - 420: uint16(1497), - 421: uint16(1364), - 422: uint16(1243), - 423: uint16(1243), - 424: uint16(1243), - 425: uint16(1243), - 426: uint16(1243), - 427: uint16(1243), - 428: uint16(1243), - 429: uint16(1243), - 430: uint16(1243), - 431: uint16(1243), - 432: uint16(1243), - 433: uint16(1243), - 434: uint16(1243), - 435: uint16(1243), - 436: uint16(1243), - 437: uint16(1243), - 438: uint16(1551), - 439: uint16(1243), - 440: uint16(1243), - 441: uint16(1243), - 442: uint16(1243), - 443: uint16(1243), - 444: uint16(1243), - 445: uint16(1243), - 446: uint16(1243), - 447: uint16(1243), - 448: uint16(1243), - 449: uint16(1424), - 450: uint16(1243), - 451: uint16(1246), - 452: uint16(1542), - 453: uint16(1243), - 454: uint16(1243), - 455: uint16(1243), - 456: uint16(1243), - 457: uint16(1243), - 458: uint16(1243), - 459: uint16(1243), - 460: uint16(1243), - 461: uint16(1401), - 462: uint16(1402), - 463: uint16(1365), - 464: uint16(1243), - 465: uint16(1243), - 466: uint16(1243), - 467: uint16(1243), - 468: uint16(1243), - 469: uint16(1243), - 470: uint16(1243), - 471: uint16(1416), - 472: uint16(1243), - 473: uint16(1243), - 474: uint16(1243), - 475: uint16(1411), - 476: uint16(1243), - 477: uint16(1243), - 478: uint16(1243), - 479: uint16(1243), - 480: uint16(1243), - 481: uint16(1243), - 482: uint16(1243), - 483: uint16(1243), - 484: uint16(1636), - 485: uint16(1243), - 486: uint16(1243), - 487: uint16(1243), - 488: uint16(1243), - 489: uint16(1243), - 490: uint16(1243), - 491: uint16(1511), - 492: uint16(1510), - 493: uint16(1243), - 494: uint16(1243), - 495: uint16(1362), - 496: uint16(1243), - 497: uint16(1243), - 498: uint16(1243), - 499: uint16(1243), - 500: uint16(1243), - 501: uint16(1243), - 502: uint16(1243), - 503: uint16(1243), - 504: uint16(1243), - 505: uint16(1243), - 506: uint16(1243), - 507: uint16(1243), - 508: uint16(1243), - 509: uint16(1291), - 510: uint16(1243), - 511: uint16(1243), - 512: uint16(1243), - 513: uint16(1243), - 514: uint16(1243), - 515: uint16(1243), - 516: uint16(1243), - 517: uint16(1243), - 518: uint16(1243), - 519: uint16(1243), - 520: uint16(1243), - 521: uint16(1243), - 522: uint16(1243), - 523: uint16(1243), - 524: uint16(1243), - 525: uint16(1243), - 526: uint16(1243), - 527: uint16(1243), - 528: uint16(1243), - 529: uint16(1243), - 530: uint16(1243), - 531: uint16(1243), - 532: uint16(1243), - 533: uint16(1389), - 534: uint16(1243), - 535: uint16(1243), - 536: uint16(1243), - 537: uint16(1243), - 538: uint16(1243), - 539: uint16(1243), - 540: uint16(1243), - 541: uint16(1243), - 542: uint16(1243), - 543: uint16(1243), - 544: uint16(1243), - 545: uint16(1243), - 546: uint16(1243), - 547: uint16(1243), - 548: uint16(1579), - 549: uint16(1379), - 550: uint16(1243), - 551: uint16(1243), - 552: uint16(1243), - 553: uint16(1243), - 554: uint16(1627), - 555: uint16(1243), - 556: uint16(1243), - 557: uint16(1243), - 558: uint16(1243), - 559: uint16(1243), - 560: uint16(1243), - 561: uint16(1243), - 562: uint16(1243), - 563: uint16(1243), - 564: uint16(1243), - 565: uint16(1243), - 566: uint16(1243), - 567: uint16(1243), - 568: uint16(1243), - 569: uint16(1619), - 570: uint16(1335), - 571: uint16(1425), - 572: uint16(1243), - 573: uint16(1428), - 574: uint16(1265), - 575: uint16(1243), - 576: uint16(1255), - 577: uint16(1243), - 578: uint16(1243), + 370: uint16(1330), + 371: uint16(1330), + 372: uint16(1596), + 373: uint16(1254), + 374: uint16(1503), + 375: uint16(1503), + 376: uint16(1499), + 377: uint16(1373), + 378: uint16(1588), + 379: uint16(1588), + 380: uint16(1400), + 381: uint16(1400), + 382: uint16(1405), + 383: uint16(1391), + 384: uint16(1494), + 385: uint16(1373), + 386: uint16(1254), + 387: uint16(1405), + 388: uint16(1403), + 389: uint16(1401), + 390: uint16(1410), + 391: uint16(1322), + 392: uint16(1611), + 393: uint16(1611), + 394: uint16(1607), + 395: uint16(1607), + 396: uint16(1607), + 397: uint16(1660), + 398: uint16(1660), + 399: uint16(1558), + 400: uint16(1623), + 401: uint16(1287), + 402: uint16(1287), + 403: uint16(1287), + 404: uint16(1287), + 405: uint16(1623), + 406: uint16(1306), + 407: uint16(1306), + 408: uint16(1288), + 409: uint16(1288), + 410: uint16(1287), + 411: uint16(1623), + 412: uint16(1254), + 413: uint16(1254), + 414: uint16(1254), + 415: uint16(1254), + 416: uint16(1254), + 417: uint16(1254), + 418: uint16(1618), + 419: uint16(1254), + 420: uint16(1553), + 421: uint16(1510), + 422: uint16(1377), + 423: uint16(1254), + 424: uint16(1254), + 425: uint16(1254), + 426: uint16(1254), + 427: uint16(1254), + 428: uint16(1254), + 429: uint16(1254), + 430: uint16(1254), + 431: uint16(1254), + 432: uint16(1254), + 433: uint16(1254), + 434: uint16(1254), + 435: uint16(1254), + 436: uint16(1254), + 437: uint16(1254), + 438: uint16(1254), + 439: uint16(1564), + 440: uint16(1254), + 441: uint16(1254), + 442: uint16(1254), + 443: uint16(1254), + 444: uint16(1254), + 445: uint16(1254), + 446: uint16(1254), + 447: uint16(1254), + 448: uint16(1254), + 449: uint16(1254), + 450: uint16(1254), + 451: uint16(1437), + 452: uint16(1254), + 453: uint16(1257), + 454: uint16(1555), + 455: uint16(1254), + 456: uint16(1254), + 457: uint16(1254), + 458: uint16(1254), + 459: uint16(1254), + 460: uint16(1254), + 461: uint16(1254), + 462: uint16(1254), + 463: uint16(1414), + 464: uint16(1415), + 465: uint16(1378), + 466: uint16(1254), + 467: uint16(1254), + 468: uint16(1254), + 469: uint16(1254), + 470: uint16(1254), + 471: uint16(1254), + 472: uint16(1254), + 473: uint16(1429), + 474: uint16(1254), + 475: uint16(1254), + 476: uint16(1254), + 477: uint16(1424), + 478: uint16(1254), + 479: uint16(1254), + 480: uint16(1254), + 481: uint16(1254), + 482: uint16(1254), + 483: uint16(1254), + 484: uint16(1254), + 485: uint16(1254), + 486: uint16(1651), + 487: uint16(1254), + 488: uint16(1254), + 489: uint16(1254), + 490: uint16(1254), + 491: uint16(1254), + 492: uint16(1254), + 493: uint16(1524), + 494: uint16(1523), + 495: uint16(1254), + 496: uint16(1254), + 497: uint16(1375), + 498: uint16(1254), + 499: uint16(1254), + 500: uint16(1254), + 501: uint16(1254), + 502: uint16(1254), + 503: uint16(1254), + 504: uint16(1254), + 505: uint16(1254), + 506: uint16(1254), + 507: uint16(1254), + 508: uint16(1254), + 509: uint16(1254), + 510: uint16(1254), + 511: uint16(1302), + 512: uint16(1254), + 513: uint16(1254), + 514: uint16(1254), + 515: uint16(1254), + 516: uint16(1254), + 517: uint16(1254), + 518: uint16(1254), + 519: uint16(1254), + 520: uint16(1254), + 521: uint16(1254), + 522: uint16(1254), + 523: uint16(1254), + 524: uint16(1254), + 525: uint16(1254), + 526: uint16(1254), + 527: uint16(1254), + 528: uint16(1254), + 529: uint16(1254), + 530: uint16(1254), + 531: uint16(1254), + 532: uint16(1254), + 533: uint16(1254), + 534: uint16(1254), + 535: uint16(1402), + 536: uint16(1254), + 537: uint16(1254), + 538: uint16(1254), + 539: uint16(1254), + 540: uint16(1254), + 541: uint16(1254), + 542: uint16(1254), + 543: uint16(1254), + 544: uint16(1254), + 545: uint16(1254), + 546: uint16(1254), + 547: uint16(1254), + 548: uint16(1254), + 549: uint16(1254), + 550: uint16(1593), + 551: uint16(1392), + 552: uint16(1254), + 553: uint16(1254), + 554: uint16(1254), + 555: uint16(1254), + 556: uint16(1642), + 557: uint16(1254), + 558: uint16(1254), + 559: uint16(1254), + 560: uint16(1254), + 561: uint16(1352), + 562: uint16(1254), + 563: uint16(1254), + 564: uint16(1254), + 565: uint16(1254), + 566: uint16(1254), + 567: uint16(1254), + 568: uint16(1254), + 569: uint16(1254), + 570: uint16(1254), + 571: uint16(1254), + 572: uint16(1254), + 573: uint16(1634), + 574: uint16(1346), + 575: uint16(1438), + 576: uint16(1254), + 577: uint16(1441), + 578: uint16(1276), + 579: uint16(1254), + 580: uint16(1266), + 581: uint16(1254), + 582: uint16(1254), } /********** End of lemon-generated parsing tables *****************************/ @@ -158409,7 +159830,7 @@ var _yy_default = [579]uint16{ // ** to revert to identifiers if they keyword does not apply in the context where // ** it appears. // */ -var _yyFallback = [185]uint16{ +var _yyFallback = [186]uint16{ 2: uint16(59), 3: uint16(59), 4: uint16(59), @@ -158522,8 +159943,9 @@ type yyStackEntry = TyyStackEntry type TyyParser1 = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser1 = TyyParser1 @@ -158531,14 +159953,46 @@ type yyParser1 = TyyParser1 type TyyParser = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser = TyyParser /* #include */ +// C documentation +// +// /* +// ** Try to increase the size of the parser stack. Return the number +// ** of errors. Return 0 on success. +// */ +func _yyGrowStack(tls *libc.TLS, p uintptr) (r int32) { + var idx, newSize, oldSize int32 + var pNew uintptr + _, _, _, _ = idx, newSize, oldSize, pNew + oldSize = int32(1) + int32((int64((*TyyParser)(unsafe.Pointer(p)).FyystackEnd)-int64((*TyyParser)(unsafe.Pointer(p)).Fyystack))/24) + newSize = oldSize*int32(2) + int32(100) + idx = int32((int64((*TyyParser)(unsafe.Pointer(p)).Fyytos) - int64((*TyyParser)(unsafe.Pointer(p)).Fyystack)) / 24) + if (*TyyParser)(unsafe.Pointer(p)).Fyystack == p+32 { + pNew = _parserStackRealloc(tls, uintptr(0), uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + libc.Xmemcpy(tls, pNew, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(oldSize)*uint64(24)) + } else { + pNew = _parserStackRealloc(tls, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + } + (*TyyParser)(unsafe.Pointer(p)).Fyystack = pNew + (*TyyParser)(unsafe.Pointer(p)).Fyytos = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(idx)*24 + (*TyyParser)(unsafe.Pointer(p)).FyystackEnd = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(newSize-int32(1))*24 + return 0 +} + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -158554,10 +160008,11 @@ func _sqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { _ = yypParser yypParser = yypRawParser (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fstateno = uint16(0) - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fmajor = uint16(0) - (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = yypParser + 16 + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack = yypParser + 32 + (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fstateno = uint16(0) + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fmajor = uint16(0) } // C documentation @@ -158585,103 +160040,105 @@ func _yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor u ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case int32(204): /* select */ + case int32(205): /* select */ fallthrough - case int32(239): /* selectnowith */ + case int32(240): /* selectnowith */ fallthrough - case int32(240): /* oneselect */ + case int32(241): /* oneselect */ fallthrough - case int32(252): /* values */ + case int32(253): /* values */ + fallthrough + case int32(255): /* mvalues */ _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(216): /* term */ + case int32(217): /* term */ fallthrough - case int32(217): /* expr */ + case int32(218): /* expr */ fallthrough - case int32(246): /* where_opt */ + case int32(247): /* where_opt */ fallthrough - case int32(248): /* having_opt */ + case int32(249): /* having_opt */ fallthrough - case int32(267): /* where_opt_ret */ + case int32(269): /* where_opt_ret */ fallthrough - case int32(278): /* case_operand */ + case int32(280): /* case_operand */ fallthrough - case int32(280): /* case_else */ + case int32(282): /* case_else */ fallthrough - case int32(283): /* vinto */ + case int32(285): /* vinto */ fallthrough - case int32(290): /* when_clause */ + case int32(292): /* when_clause */ fallthrough - case int32(295): /* key_opt */ + case int32(297): /* key_opt */ fallthrough - case int32(311): /* filter_clause */ + case int32(314): /* filter_clause */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(221): /* eidlist_opt */ + case int32(222): /* eidlist_opt */ fallthrough - case int32(231): /* sortlist */ + case int32(232): /* sortlist */ fallthrough - case int32(232): /* eidlist */ + case int32(233): /* eidlist */ fallthrough - case int32(244): /* selcollist */ + case int32(245): /* selcollist */ fallthrough - case int32(247): /* groupby_opt */ + case int32(248): /* groupby_opt */ fallthrough - case int32(249): /* orderby_opt */ + case int32(250): /* orderby_opt */ fallthrough - case int32(253): /* nexprlist */ + case int32(254): /* nexprlist */ fallthrough - case int32(254): /* sclp */ + case int32(256): /* sclp */ fallthrough - case int32(261): /* exprlist */ + case int32(263): /* exprlist */ fallthrough - case int32(268): /* setlist */ + case int32(270): /* setlist */ fallthrough - case int32(277): /* paren_exprlist */ + case int32(279): /* paren_exprlist */ fallthrough - case int32(279): /* case_exprlist */ + case int32(281): /* case_exprlist */ fallthrough - case int32(310): /* part_opt */ + case int32(313): /* part_opt */ _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(238): /* fullname */ + case int32(239): /* fullname */ fallthrough - case int32(245): /* from */ + case int32(246): /* from */ fallthrough - case int32(256): /* seltablist */ + case int32(258): /* seltablist */ fallthrough - case int32(257): /* stl_prefix */ + case int32(259): /* stl_prefix */ fallthrough - case int32(262): /* xfullname */ + case int32(264): /* xfullname */ _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(241): /* wqlist */ + case int32(242): /* wqlist */ _sqlite3WithDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(251): /* window_clause */ + case int32(252): /* window_clause */ fallthrough - case int32(306): /* windowdefn_list */ + case int32(309): /* windowdefn_list */ _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(263): /* idlist */ + case int32(265): /* idlist */ fallthrough - case int32(270): /* idlist_opt */ + case int32(272): /* idlist_opt */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(273): /* filter_over */ + case int32(275): /* filter_over */ fallthrough - case int32(307): /* windowdefn */ + case int32(310): /* windowdefn */ fallthrough - case int32(308): /* window */ + case int32(311): /* window */ fallthrough - case int32(309): /* frame_opt */ + case int32(312): /* frame_opt */ fallthrough - case int32(312): /* over_clause */ + case int32(315): /* over_clause */ _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(286): /* trigger_cmd_list */ + case int32(288): /* trigger_cmd_list */ fallthrough - case int32(291): /* trigger_cmd */ + case int32(293): /* trigger_cmd */ _sqlite3DeleteTriggerStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(288): /* trigger_event */ + case int32(290): /* trigger_event */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TTrigEvent)(unsafe.Pointer(yypminor))).Fb) - case int32(314): /* frame_bound */ + case int32(317): /* frame_bound */ fallthrough - case int32(315): /* frame_bound_s */ + case int32(318): /* frame_bound_s */ fallthrough - case int32(316): /* frame_bound_e */ + case int32(319): /* frame_bound_e */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TFrameBound)(unsafe.Pointer(yypminor))).FpExpr) break /********* End destructor definitions *****************************************/ @@ -158717,11 +160174,20 @@ func _yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var pParser, yytos uintptr + _, _ = pParser, yytos pParser = p - for (*TyyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { - _yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling yy_pop_parser_stack() for each + ** element left in the stack */ + yytos = (*TyyParser)(unsafe.Pointer(pParser)).Fyytos + for yytos > (*TyyParser)(unsafe.Pointer(pParser)).Fyystack { + if int32((*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor) >= int32(YY_MIN_DSTRCTR) { + _yy_destructor(tls, pParser, (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor, yytos+8) + } + yytos -= 24 + } + if (*TyyParser)(unsafe.Pointer(pParser)).Fyystack != pParser+32 { + Xsqlite3_free(tls, (*TyyParser)(unsafe.Pointer(pParser)).Fyystack) } } @@ -158816,13 +160282,13 @@ func _yyStackOverflow(tls *libc.TLS, yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*TyyParser)(unsafe.Pointer(yypParser)).FpParse - for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { + for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack { _yy_pop_parser_stack(tls, yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23345, 0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) /******** End %stack_overflow code ********************************************/ /* Suppress warning about unused %extra_argument var */ (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -158841,15 +160307,19 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint var yytos uintptr _ = yytos (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 - if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 - _yyStackOverflow(tls, yypParser) - return + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + if yytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { + if _yyGrowStack(tls, yypParser) != 0 { + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 + _yyStackOverflow(tls, yypParser) + return + } + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + _ = libc.Int32FromInt32(0) } if int32(yyNewState) > int32(YY_MAX_SHIFT) { yyNewState = uint16(int32(yyNewState) + (libc.Int32FromInt32(YY_MIN_REDUCE) - libc.Int32FromInt32(YY_MIN_SHIFTREDUCE))) } - yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos (*TyyStackEntry)(unsafe.Pointer(yytos)).Fstateno = yyNewState (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor = yyMajor *(*TToken)(unsafe.Pointer(yytos + 8)) = yyMinor @@ -158859,419 +160329,423 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint // // /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side // ** of that rule */ -var _yyRuleInfoLhs = [405]uint16{ - 0: uint16(189), - 1: uint16(189), - 2: uint16(188), - 3: uint16(190), - 4: uint16(191), - 5: uint16(191), - 6: uint16(191), - 7: uint16(191), - 8: uint16(190), - 9: uint16(190), - 10: uint16(190), - 11: uint16(190), - 12: uint16(190), - 13: uint16(195), - 14: uint16(197), - 15: uint16(199), - 16: uint16(199), - 17: uint16(198), - 18: uint16(198), - 19: uint16(196), - 20: uint16(196), - 21: uint16(203), - 22: uint16(203), - 23: uint16(205), - 24: uint16(205), - 25: uint16(206), - 26: uint16(208), - 27: uint16(208), - 28: uint16(208), - 29: uint16(209), - 30: uint16(213), - 31: uint16(214), - 32: uint16(215), - 33: uint16(215), - 34: uint16(215), - 35: uint16(215), - 36: uint16(215), - 37: uint16(215), - 38: uint16(215), - 39: uint16(215), - 40: uint16(215), - 41: uint16(215), - 42: uint16(215), - 43: uint16(215), - 44: uint16(215), - 45: uint16(224), - 46: uint16(224), - 47: uint16(220), - 48: uint16(220), - 49: uint16(222), - 50: uint16(222), - 51: uint16(225), - 52: uint16(225), - 53: uint16(225), - 54: uint16(225), - 55: uint16(226), - 56: uint16(226), - 57: uint16(226), - 58: uint16(226), - 59: uint16(226), - 60: uint16(223), - 61: uint16(223), - 62: uint16(227), - 63: uint16(227), - 64: uint16(227), - 65: uint16(202), - 66: uint16(229), - 67: uint16(230), - 68: uint16(230), - 69: uint16(230), - 70: uint16(230), - 71: uint16(230), - 72: uint16(233), - 73: uint16(218), - 74: uint16(218), - 75: uint16(234), - 76: uint16(234), - 77: uint16(235), - 78: uint16(235), - 79: uint16(190), - 80: uint16(237), - 81: uint16(237), - 82: uint16(190), - 83: uint16(190), - 84: uint16(190), - 85: uint16(204), - 86: uint16(204), - 87: uint16(204), - 88: uint16(239), - 89: uint16(242), - 90: uint16(242), - 91: uint16(242), - 92: uint16(240), - 93: uint16(240), - 94: uint16(252), - 95: uint16(252), - 96: uint16(243), - 97: uint16(243), - 98: uint16(243), - 99: uint16(254), +var _yyRuleInfoLhs = [409]uint16{ + 0: uint16(190), + 1: uint16(190), + 2: uint16(189), + 3: uint16(191), + 4: uint16(192), + 5: uint16(192), + 6: uint16(192), + 7: uint16(192), + 8: uint16(191), + 9: uint16(191), + 10: uint16(191), + 11: uint16(191), + 12: uint16(191), + 13: uint16(196), + 14: uint16(198), + 15: uint16(200), + 16: uint16(200), + 17: uint16(199), + 18: uint16(199), + 19: uint16(197), + 20: uint16(197), + 21: uint16(204), + 22: uint16(204), + 23: uint16(206), + 24: uint16(206), + 25: uint16(207), + 26: uint16(209), + 27: uint16(209), + 28: uint16(209), + 29: uint16(210), + 30: uint16(214), + 31: uint16(215), + 32: uint16(216), + 33: uint16(216), + 34: uint16(216), + 35: uint16(216), + 36: uint16(216), + 37: uint16(216), + 38: uint16(216), + 39: uint16(216), + 40: uint16(216), + 41: uint16(216), + 42: uint16(216), + 43: uint16(216), + 44: uint16(216), + 45: uint16(225), + 46: uint16(225), + 47: uint16(221), + 48: uint16(221), + 49: uint16(223), + 50: uint16(223), + 51: uint16(226), + 52: uint16(226), + 53: uint16(226), + 54: uint16(226), + 55: uint16(227), + 56: uint16(227), + 57: uint16(227), + 58: uint16(227), + 59: uint16(227), + 60: uint16(224), + 61: uint16(224), + 62: uint16(228), + 63: uint16(228), + 64: uint16(228), + 65: uint16(203), + 66: uint16(230), + 67: uint16(231), + 68: uint16(231), + 69: uint16(231), + 70: uint16(231), + 71: uint16(231), + 72: uint16(234), + 73: uint16(219), + 74: uint16(219), + 75: uint16(235), + 76: uint16(235), + 77: uint16(236), + 78: uint16(236), + 79: uint16(191), + 80: uint16(238), + 81: uint16(238), + 82: uint16(191), + 83: uint16(191), + 84: uint16(191), + 85: uint16(205), + 86: uint16(205), + 87: uint16(205), + 88: uint16(240), + 89: uint16(243), + 90: uint16(243), + 91: uint16(243), + 92: uint16(241), + 93: uint16(241), + 94: uint16(253), + 95: uint16(241), + 96: uint16(255), + 97: uint16(255), + 98: uint16(244), + 99: uint16(244), 100: uint16(244), - 101: uint16(244), - 102: uint16(244), - 103: uint16(255), - 104: uint16(255), - 105: uint16(245), - 106: uint16(245), - 107: uint16(257), - 108: uint16(257), - 109: uint16(256), - 110: uint16(256), - 111: uint16(256), - 112: uint16(256), - 113: uint16(256), - 114: uint16(200), - 115: uint16(200), - 116: uint16(238), - 117: uint16(238), - 118: uint16(262), - 119: uint16(262), - 120: uint16(262), - 121: uint16(262), - 122: uint16(258), - 123: uint16(258), - 124: uint16(258), - 125: uint16(258), - 126: uint16(259), - 127: uint16(259), - 128: uint16(259), - 129: uint16(264), - 130: uint16(260), - 131: uint16(260), - 132: uint16(249), - 133: uint16(249), - 134: uint16(231), - 135: uint16(231), - 136: uint16(219), - 137: uint16(219), - 138: uint16(219), - 139: uint16(265), - 140: uint16(265), - 141: uint16(265), - 142: uint16(247), - 143: uint16(247), + 101: uint16(256), + 102: uint16(245), + 103: uint16(245), + 104: uint16(245), + 105: uint16(257), + 106: uint16(257), + 107: uint16(246), + 108: uint16(246), + 109: uint16(259), + 110: uint16(259), + 111: uint16(258), + 112: uint16(258), + 113: uint16(258), + 114: uint16(258), + 115: uint16(258), + 116: uint16(201), + 117: uint16(201), + 118: uint16(239), + 119: uint16(239), + 120: uint16(264), + 121: uint16(264), + 122: uint16(264), + 123: uint16(264), + 124: uint16(260), + 125: uint16(260), + 126: uint16(260), + 127: uint16(260), + 128: uint16(261), + 129: uint16(261), + 130: uint16(261), + 131: uint16(266), + 132: uint16(262), + 133: uint16(262), + 134: uint16(250), + 135: uint16(250), + 136: uint16(232), + 137: uint16(232), + 138: uint16(220), + 139: uint16(220), + 140: uint16(220), + 141: uint16(267), + 142: uint16(267), + 143: uint16(267), 144: uint16(248), 145: uint16(248), - 146: uint16(250), - 147: uint16(250), - 148: uint16(250), - 149: uint16(250), - 150: uint16(190), - 151: uint16(246), - 152: uint16(246), - 153: uint16(267), - 154: uint16(267), - 155: uint16(267), - 156: uint16(267), - 157: uint16(190), - 158: uint16(268), - 159: uint16(268), - 160: uint16(268), - 161: uint16(268), - 162: uint16(190), - 163: uint16(190), - 164: uint16(271), - 165: uint16(271), - 166: uint16(271), - 167: uint16(271), - 168: uint16(271), - 169: uint16(271), - 170: uint16(272), - 171: uint16(269), - 172: uint16(269), - 173: uint16(270), - 174: uint16(270), - 175: uint16(263), - 176: uint16(263), - 177: uint16(217), - 178: uint16(217), - 179: uint16(217), - 180: uint16(217), - 181: uint16(216), - 182: uint16(216), - 183: uint16(216), + 146: uint16(249), + 147: uint16(249), + 148: uint16(251), + 149: uint16(251), + 150: uint16(251), + 151: uint16(251), + 152: uint16(191), + 153: uint16(247), + 154: uint16(247), + 155: uint16(269), + 156: uint16(269), + 157: uint16(269), + 158: uint16(269), + 159: uint16(191), + 160: uint16(270), + 161: uint16(270), + 162: uint16(270), + 163: uint16(270), + 164: uint16(191), + 165: uint16(191), + 166: uint16(273), + 167: uint16(273), + 168: uint16(273), + 169: uint16(273), + 170: uint16(273), + 171: uint16(273), + 172: uint16(274), + 173: uint16(271), + 174: uint16(271), + 175: uint16(272), + 176: uint16(272), + 177: uint16(265), + 178: uint16(265), + 179: uint16(218), + 180: uint16(218), + 181: uint16(218), + 182: uint16(218), + 183: uint16(217), 184: uint16(217), 185: uint16(217), - 186: uint16(217), - 187: uint16(217), - 188: uint16(217), - 189: uint16(217), - 190: uint16(217), - 191: uint16(217), - 192: uint16(217), - 193: uint16(216), - 194: uint16(217), + 186: uint16(218), + 187: uint16(218), + 188: uint16(218), + 189: uint16(218), + 190: uint16(218), + 191: uint16(218), + 192: uint16(218), + 193: uint16(218), + 194: uint16(218), 195: uint16(217), - 196: uint16(217), - 197: uint16(217), - 198: uint16(217), - 199: uint16(217), - 200: uint16(217), - 201: uint16(217), - 202: uint16(217), - 203: uint16(274), - 204: uint16(217), - 205: uint16(217), - 206: uint16(217), - 207: uint16(217), - 208: uint16(217), - 209: uint16(217), - 210: uint16(217), - 211: uint16(217), - 212: uint16(217), - 213: uint16(217), - 214: uint16(217), - 215: uint16(217), - 216: uint16(275), - 217: uint16(275), - 218: uint16(217), - 219: uint16(276), - 220: uint16(276), - 221: uint16(217), - 222: uint16(217), - 223: uint16(217), - 224: uint16(217), - 225: uint16(217), - 226: uint16(217), - 227: uint16(279), - 228: uint16(279), - 229: uint16(280), - 230: uint16(280), - 231: uint16(278), - 232: uint16(261), - 233: uint16(253), - 234: uint16(253), - 235: uint16(277), - 236: uint16(277), - 237: uint16(190), - 238: uint16(281), - 239: uint16(281), - 240: uint16(221), - 241: uint16(221), - 242: uint16(232), - 243: uint16(232), - 244: uint16(282), - 245: uint16(282), - 246: uint16(190), - 247: uint16(190), - 248: uint16(190), - 249: uint16(283), - 250: uint16(283), - 251: uint16(190), - 252: uint16(190), - 253: uint16(190), - 254: uint16(190), - 255: uint16(190), - 256: uint16(211), - 257: uint16(212), - 258: uint16(190), - 259: uint16(285), - 260: uint16(287), + 196: uint16(218), + 197: uint16(218), + 198: uint16(218), + 199: uint16(218), + 200: uint16(218), + 201: uint16(218), + 202: uint16(218), + 203: uint16(218), + 204: uint16(218), + 205: uint16(276), + 206: uint16(218), + 207: uint16(218), + 208: uint16(218), + 209: uint16(218), + 210: uint16(218), + 211: uint16(218), + 212: uint16(218), + 213: uint16(218), + 214: uint16(218), + 215: uint16(218), + 216: uint16(218), + 217: uint16(218), + 218: uint16(277), + 219: uint16(277), + 220: uint16(218), + 221: uint16(278), + 222: uint16(278), + 223: uint16(218), + 224: uint16(218), + 225: uint16(218), + 226: uint16(218), + 227: uint16(218), + 228: uint16(218), + 229: uint16(281), + 230: uint16(281), + 231: uint16(282), + 232: uint16(282), + 233: uint16(280), + 234: uint16(263), + 235: uint16(254), + 236: uint16(254), + 237: uint16(279), + 238: uint16(279), + 239: uint16(191), + 240: uint16(283), + 241: uint16(283), + 242: uint16(222), + 243: uint16(222), + 244: uint16(233), + 245: uint16(233), + 246: uint16(284), + 247: uint16(284), + 248: uint16(191), + 249: uint16(191), + 250: uint16(191), + 251: uint16(285), + 252: uint16(285), + 253: uint16(191), + 254: uint16(191), + 255: uint16(191), + 256: uint16(191), + 257: uint16(191), + 258: uint16(212), + 259: uint16(213), + 260: uint16(191), 261: uint16(287), - 262: uint16(287), - 263: uint16(288), - 264: uint16(288), - 265: uint16(288), + 262: uint16(289), + 263: uint16(289), + 264: uint16(289), + 265: uint16(290), 266: uint16(290), 267: uint16(290), - 268: uint16(286), - 269: uint16(286), - 270: uint16(292), - 271: uint16(293), - 272: uint16(293), - 273: uint16(291), - 274: uint16(291), - 275: uint16(291), - 276: uint16(291), - 277: uint16(217), - 278: uint16(217), - 279: uint16(236), - 280: uint16(236), - 281: uint16(236), - 282: uint16(190), - 283: uint16(190), - 284: uint16(190), - 285: uint16(295), - 286: uint16(295), - 287: uint16(190), - 288: uint16(190), - 289: uint16(190), - 290: uint16(190), - 291: uint16(190), - 292: uint16(190), - 293: uint16(190), - 294: uint16(296), - 295: uint16(190), - 296: uint16(190), - 297: uint16(190), - 298: uint16(298), - 299: uint16(300), - 300: uint16(301), - 301: uint16(301), - 302: uint16(302), - 303: uint16(266), - 304: uint16(266), - 305: uint16(305), - 306: uint16(305), - 307: uint16(305), - 308: uint16(304), - 309: uint16(241), - 310: uint16(241), - 311: uint16(306), - 312: uint16(307), - 313: uint16(308), - 314: uint16(308), - 315: uint16(308), - 316: uint16(308), - 317: uint16(308), - 318: uint16(309), - 319: uint16(309), - 320: uint16(309), - 321: uint16(313), - 322: uint16(315), - 323: uint16(315), + 268: uint16(292), + 269: uint16(292), + 270: uint16(288), + 271: uint16(288), + 272: uint16(294), + 273: uint16(295), + 274: uint16(295), + 275: uint16(293), + 276: uint16(293), + 277: uint16(293), + 278: uint16(293), + 279: uint16(218), + 280: uint16(218), + 281: uint16(237), + 282: uint16(237), + 283: uint16(237), + 284: uint16(191), + 285: uint16(191), + 286: uint16(191), + 287: uint16(297), + 288: uint16(297), + 289: uint16(191), + 290: uint16(191), + 291: uint16(191), + 292: uint16(191), + 293: uint16(191), + 294: uint16(191), + 295: uint16(191), + 296: uint16(298), + 297: uint16(191), + 298: uint16(191), + 299: uint16(191), + 300: uint16(300), + 301: uint16(302), + 302: uint16(303), + 303: uint16(303), + 304: uint16(304), + 305: uint16(268), + 306: uint16(268), + 307: uint16(307), + 308: uint16(307), + 309: uint16(307), + 310: uint16(306), + 311: uint16(308), + 312: uint16(242), + 313: uint16(242), + 314: uint16(309), + 315: uint16(310), + 316: uint16(311), + 317: uint16(311), + 318: uint16(311), + 319: uint16(311), + 320: uint16(311), + 321: uint16(312), + 322: uint16(312), + 323: uint16(312), 324: uint16(316), - 325: uint16(316), - 326: uint16(314), - 327: uint16(314), - 328: uint16(317), + 325: uint16(318), + 326: uint16(318), + 327: uint16(319), + 328: uint16(319), 329: uint16(317), - 330: uint16(318), - 331: uint16(318), - 332: uint16(318), - 333: uint16(251), - 334: uint16(273), - 335: uint16(273), - 336: uint16(273), - 337: uint16(312), - 338: uint16(312), - 339: uint16(311), - 340: uint16(185), - 341: uint16(186), - 342: uint16(186), - 343: uint16(187), - 344: uint16(187), + 330: uint16(317), + 331: uint16(320), + 332: uint16(320), + 333: uint16(321), + 334: uint16(321), + 335: uint16(321), + 336: uint16(252), + 337: uint16(275), + 338: uint16(275), + 339: uint16(275), + 340: uint16(315), + 341: uint16(315), + 342: uint16(314), + 343: uint16(217), + 344: uint16(186), 345: uint16(187), - 346: uint16(192), - 347: uint16(192), - 348: uint16(192), - 349: uint16(194), - 350: uint16(194), - 351: uint16(190), - 352: uint16(203), - 353: uint16(201), - 354: uint16(201), - 355: uint16(193), - 356: uint16(193), - 357: uint16(208), - 358: uint16(209), - 359: uint16(210), - 360: uint16(210), - 361: uint16(207), - 362: uint16(207), - 363: uint16(215), - 364: uint16(215), - 365: uint16(215), - 366: uint16(202), - 367: uint16(228), - 368: uint16(228), - 369: uint16(229), - 370: uint16(233), - 371: uint16(235), - 372: uint16(239), - 373: uint16(240), - 374: uint16(254), - 375: uint16(255), - 376: uint16(264), - 377: uint16(272), - 378: uint16(217), - 379: uint16(274), - 380: uint16(278), - 381: uint16(261), - 382: uint16(284), - 383: uint16(284), - 384: uint16(284), - 385: uint16(284), - 386: uint16(284), - 387: uint16(211), - 388: uint16(289), - 389: uint16(289), - 390: uint16(292), - 391: uint16(293), - 392: uint16(294), - 393: uint16(294), - 394: uint16(297), - 395: uint16(297), - 396: uint16(299), - 397: uint16(299), - 398: uint16(300), - 399: uint16(303), - 400: uint16(303), - 401: uint16(303), - 402: uint16(266), - 403: uint16(306), - 404: uint16(308), + 346: uint16(187), + 347: uint16(188), + 348: uint16(188), + 349: uint16(188), + 350: uint16(193), + 351: uint16(193), + 352: uint16(193), + 353: uint16(195), + 354: uint16(195), + 355: uint16(191), + 356: uint16(204), + 357: uint16(202), + 358: uint16(202), + 359: uint16(194), + 360: uint16(194), + 361: uint16(209), + 362: uint16(210), + 363: uint16(211), + 364: uint16(211), + 365: uint16(208), + 366: uint16(208), + 367: uint16(216), + 368: uint16(216), + 369: uint16(216), + 370: uint16(203), + 371: uint16(229), + 372: uint16(229), + 373: uint16(230), + 374: uint16(234), + 375: uint16(236), + 376: uint16(240), + 377: uint16(241), + 378: uint16(256), + 379: uint16(257), + 380: uint16(266), + 381: uint16(274), + 382: uint16(218), + 383: uint16(276), + 384: uint16(280), + 385: uint16(263), + 386: uint16(286), + 387: uint16(286), + 388: uint16(286), + 389: uint16(286), + 390: uint16(286), + 391: uint16(212), + 392: uint16(291), + 393: uint16(291), + 394: uint16(294), + 395: uint16(295), + 396: uint16(296), + 397: uint16(296), + 398: uint16(299), + 399: uint16(299), + 400: uint16(301), + 401: uint16(301), + 402: uint16(302), + 403: uint16(305), + 404: uint16(305), + 405: uint16(305), + 406: uint16(268), + 407: uint16(309), + 408: uint16(311), } // C documentation // // /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number // ** of symbols on the right-hand side of that rule. */ -var _yyRuleInfoNRhs = [405]int8{ +var _yyRuleInfoNRhs = [409]int8{ 0: int8(-int32(1)), 1: int8(-int32(3)), 2: int8(-int32(1)), @@ -159352,273 +160826,277 @@ var _yyRuleInfoNRhs = [405]int8{ 92: int8(-int32(9)), 93: int8(-int32(10)), 94: int8(-int32(4)), - 95: int8(-int32(5)), - 96: int8(-int32(1)), - 97: int8(-int32(1)), - 100: int8(-int32(5)), - 101: int8(-int32(3)), + 95: int8(-int32(1)), + 96: int8(-int32(5)), + 97: int8(-int32(5)), + 98: int8(-int32(1)), + 99: int8(-int32(1)), 102: int8(-int32(5)), - 103: int8(-int32(2)), - 106: int8(-int32(2)), - 107: int8(-int32(2)), - 109: int8(-int32(5)), - 110: int8(-int32(6)), - 111: int8(-int32(8)), + 103: int8(-int32(3)), + 104: int8(-int32(5)), + 105: int8(-int32(2)), + 108: int8(-int32(2)), + 109: int8(-int32(2)), + 111: int8(-int32(5)), 112: int8(-int32(6)), - 113: int8(-int32(6)), - 115: int8(-int32(2)), - 116: int8(-int32(1)), - 117: int8(-int32(3)), + 113: int8(-int32(8)), + 114: int8(-int32(6)), + 115: int8(-int32(6)), + 117: int8(-int32(2)), 118: int8(-int32(1)), 119: int8(-int32(3)), - 120: int8(-int32(5)), + 120: int8(-int32(1)), 121: int8(-int32(3)), - 122: int8(-int32(1)), - 123: int8(-int32(2)), - 124: int8(-int32(3)), - 125: int8(-int32(4)), - 126: int8(-int32(2)), + 122: int8(-int32(5)), + 123: int8(-int32(3)), + 124: int8(-int32(1)), + 125: int8(-int32(2)), + 126: int8(-int32(3)), 127: int8(-int32(4)), - 130: int8(-int32(3)), - 131: int8(-int32(2)), - 133: int8(-int32(3)), - 134: int8(-int32(5)), + 128: int8(-int32(2)), + 129: int8(-int32(4)), + 132: int8(-int32(3)), + 133: int8(-int32(2)), 135: int8(-int32(3)), - 136: int8(-int32(1)), - 137: int8(-int32(1)), - 139: int8(-int32(2)), - 140: int8(-int32(2)), - 143: int8(-int32(3)), - 145: int8(-int32(2)), + 136: int8(-int32(5)), + 137: int8(-int32(3)), + 138: int8(-int32(1)), + 139: int8(-int32(1)), + 141: int8(-int32(2)), + 142: int8(-int32(2)), + 145: int8(-int32(3)), 147: int8(-int32(2)), - 148: int8(-int32(4)), - 149: int8(-int32(4)), - 150: int8(-int32(6)), - 152: int8(-int32(2)), + 149: int8(-int32(2)), + 150: int8(-int32(4)), + 151: int8(-int32(4)), + 152: int8(-int32(6)), 154: int8(-int32(2)), - 155: int8(-int32(2)), - 156: int8(-int32(4)), - 157: int8(-int32(9)), - 158: int8(-int32(5)), - 159: int8(-int32(7)), - 160: int8(-int32(3)), - 161: int8(-int32(5)), - 162: int8(-int32(7)), - 163: int8(-int32(8)), - 165: int8(-int32(2)), - 166: int8(-int32(12)), - 167: int8(-int32(9)), - 168: int8(-int32(5)), - 169: int8(-int32(8)), - 170: int8(-int32(2)), - 171: int8(-int32(2)), - 172: int8(-int32(1)), - 174: int8(-int32(3)), - 175: int8(-int32(3)), - 176: int8(-int32(1)), + 156: int8(-int32(2)), + 157: int8(-int32(2)), + 158: int8(-int32(4)), + 159: int8(-int32(9)), + 160: int8(-int32(5)), + 161: int8(-int32(7)), + 162: int8(-int32(3)), + 163: int8(-int32(5)), + 164: int8(-int32(7)), + 165: int8(-int32(8)), + 167: int8(-int32(2)), + 168: int8(-int32(12)), + 169: int8(-int32(9)), + 170: int8(-int32(5)), + 171: int8(-int32(8)), + 172: int8(-int32(2)), + 173: int8(-int32(2)), + 174: int8(-int32(1)), + 176: int8(-int32(3)), 177: int8(-int32(3)), 178: int8(-int32(1)), 179: int8(-int32(3)), - 180: int8(-int32(5)), - 181: int8(-int32(1)), - 182: int8(-int32(1)), + 180: int8(-int32(1)), + 181: int8(-int32(3)), + 182: int8(-int32(5)), 183: int8(-int32(1)), 184: int8(-int32(1)), - 185: int8(-int32(3)), - 186: int8(-int32(6)), - 187: int8(-int32(5)), - 188: int8(-int32(8)), - 189: int8(-int32(4)), - 190: int8(-int32(6)), - 191: int8(-int32(9)), - 192: int8(-int32(5)), - 193: int8(-int32(1)), + 185: int8(-int32(1)), + 186: int8(-int32(1)), + 187: int8(-int32(3)), + 188: int8(-int32(6)), + 189: int8(-int32(5)), + 190: int8(-int32(8)), + 191: int8(-int32(4)), + 192: int8(-int32(6)), + 193: int8(-int32(9)), 194: int8(-int32(5)), - 195: int8(-int32(3)), - 196: int8(-int32(3)), + 195: int8(-int32(1)), + 196: int8(-int32(5)), 197: int8(-int32(3)), 198: int8(-int32(3)), 199: int8(-int32(3)), 200: int8(-int32(3)), 201: int8(-int32(3)), 202: int8(-int32(3)), - 203: int8(-int32(2)), + 203: int8(-int32(3)), 204: int8(-int32(3)), - 205: int8(-int32(5)), - 206: int8(-int32(2)), - 207: int8(-int32(3)), - 208: int8(-int32(3)), - 209: int8(-int32(4)), - 210: int8(-int32(6)), - 211: int8(-int32(5)), - 212: int8(-int32(2)), - 213: int8(-int32(2)), + 205: int8(-int32(2)), + 206: int8(-int32(3)), + 207: int8(-int32(5)), + 208: int8(-int32(2)), + 209: int8(-int32(3)), + 210: int8(-int32(3)), + 211: int8(-int32(4)), + 212: int8(-int32(6)), + 213: int8(-int32(5)), 214: int8(-int32(2)), - 215: int8(-int32(3)), - 216: int8(-int32(1)), - 217: int8(-int32(2)), - 218: int8(-int32(5)), - 219: int8(-int32(1)), - 220: int8(-int32(2)), - 221: int8(-int32(5)), - 222: int8(-int32(3)), + 215: int8(-int32(2)), + 216: int8(-int32(2)), + 217: int8(-int32(3)), + 218: int8(-int32(1)), + 219: int8(-int32(2)), + 220: int8(-int32(5)), + 221: int8(-int32(1)), + 222: int8(-int32(2)), 223: int8(-int32(5)), - 224: int8(-int32(5)), - 225: int8(-int32(4)), + 224: int8(-int32(3)), + 225: int8(-int32(5)), 226: int8(-int32(5)), - 227: int8(-int32(5)), - 228: int8(-int32(4)), - 229: int8(-int32(2)), - 233: int8(-int32(3)), - 234: int8(-int32(1)), - 236: int8(-int32(3)), - 237: int8(-int32(12)), - 238: int8(-int32(1)), - 241: int8(-int32(3)), - 242: int8(-int32(5)), + 227: int8(-int32(4)), + 228: int8(-int32(5)), + 229: int8(-int32(5)), + 230: int8(-int32(4)), + 231: int8(-int32(2)), + 235: int8(-int32(3)), + 236: int8(-int32(1)), + 238: int8(-int32(3)), + 239: int8(-int32(12)), + 240: int8(-int32(1)), 243: int8(-int32(3)), - 245: int8(-int32(2)), - 246: int8(-int32(4)), + 244: int8(-int32(5)), + 245: int8(-int32(3)), 247: int8(-int32(2)), - 248: int8(-int32(3)), + 248: int8(-int32(4)), 249: int8(-int32(2)), - 251: int8(-int32(3)), - 252: int8(-int32(5)), - 253: int8(-int32(6)), + 250: int8(-int32(3)), + 251: int8(-int32(2)), + 253: int8(-int32(3)), 254: int8(-int32(5)), 255: int8(-int32(6)), - 256: int8(-int32(2)), - 257: int8(-int32(2)), - 258: int8(-int32(5)), - 259: int8(-int32(11)), - 260: int8(-int32(1)), - 261: int8(-int32(2)), - 263: int8(-int32(1)), - 264: int8(-int32(1)), - 265: int8(-int32(3)), - 267: int8(-int32(2)), - 268: int8(-int32(3)), + 256: int8(-int32(5)), + 257: int8(-int32(6)), + 258: int8(-int32(2)), + 259: int8(-int32(2)), + 260: int8(-int32(5)), + 261: int8(-int32(11)), + 262: int8(-int32(1)), + 263: int8(-int32(2)), + 265: int8(-int32(1)), + 266: int8(-int32(1)), + 267: int8(-int32(3)), 269: int8(-int32(2)), 270: int8(-int32(3)), - 271: int8(-int32(3)), - 272: int8(-int32(2)), - 273: int8(-int32(9)), - 274: int8(-int32(8)), - 275: int8(-int32(6)), - 276: int8(-int32(3)), - 277: int8(-int32(4)), - 278: int8(-int32(6)), - 279: int8(-int32(1)), - 280: int8(-int32(1)), + 271: int8(-int32(2)), + 272: int8(-int32(3)), + 273: int8(-int32(3)), + 274: int8(-int32(2)), + 275: int8(-int32(9)), + 276: int8(-int32(8)), + 277: int8(-int32(6)), + 278: int8(-int32(3)), + 279: int8(-int32(4)), + 280: int8(-int32(6)), 281: int8(-int32(1)), - 282: int8(-int32(4)), - 283: int8(-int32(6)), - 284: int8(-int32(3)), - 286: int8(-int32(2)), - 287: int8(-int32(1)), - 288: int8(-int32(3)), + 282: int8(-int32(1)), + 283: int8(-int32(1)), + 284: int8(-int32(4)), + 285: int8(-int32(6)), + 286: int8(-int32(3)), + 288: int8(-int32(2)), 289: int8(-int32(1)), 290: int8(-int32(3)), - 291: int8(-int32(6)), - 292: int8(-int32(7)), + 291: int8(-int32(1)), + 292: int8(-int32(3)), 293: int8(-int32(6)), - 294: int8(-int32(1)), - 295: int8(-int32(8)), + 294: int8(-int32(7)), + 295: int8(-int32(6)), 296: int8(-int32(1)), - 297: int8(-int32(4)), - 298: int8(-int32(8)), - 300: int8(-int32(1)), - 301: int8(-int32(3)), + 297: int8(-int32(8)), + 298: int8(-int32(1)), + 299: int8(-int32(4)), + 300: int8(-int32(8)), 302: int8(-int32(1)), - 303: int8(-int32(2)), - 304: int8(-int32(3)), - 305: int8(-int32(1)), - 306: int8(-int32(2)), - 307: int8(-int32(3)), - 308: int8(-int32(6)), - 309: int8(-int32(1)), - 310: int8(-int32(3)), - 311: int8(-int32(3)), - 312: int8(-int32(5)), - 313: int8(-int32(5)), - 314: int8(-int32(6)), - 315: int8(-int32(4)), + 303: int8(-int32(3)), + 304: int8(-int32(1)), + 305: int8(-int32(2)), + 306: int8(-int32(3)), + 307: int8(-int32(1)), + 308: int8(-int32(2)), + 309: int8(-int32(3)), + 310: int8(-int32(6)), + 311: int8(-int32(1)), + 312: int8(-int32(1)), + 313: int8(-int32(3)), + 314: int8(-int32(3)), + 315: int8(-int32(5)), 316: int8(-int32(5)), - 317: int8(-int32(2)), - 319: int8(-int32(3)), - 320: int8(-int32(6)), - 321: int8(-int32(1)), - 322: int8(-int32(1)), - 323: int8(-int32(2)), + 317: int8(-int32(6)), + 318: int8(-int32(4)), + 319: int8(-int32(5)), + 320: int8(-int32(2)), + 322: int8(-int32(3)), + 323: int8(-int32(6)), 324: int8(-int32(1)), - 325: int8(-int32(2)), + 325: int8(-int32(1)), 326: int8(-int32(2)), - 327: int8(-int32(2)), + 327: int8(-int32(1)), + 328: int8(-int32(2)), 329: int8(-int32(2)), 330: int8(-int32(2)), - 331: int8(-int32(2)), - 332: int8(-int32(1)), + 332: int8(-int32(2)), 333: int8(-int32(2)), 334: int8(-int32(2)), 335: int8(-int32(1)), - 336: int8(-int32(1)), - 337: int8(-int32(4)), - 338: int8(-int32(2)), - 339: int8(-int32(5)), - 340: int8(-int32(1)), + 336: int8(-int32(2)), + 337: int8(-int32(2)), + 338: int8(-int32(1)), + 339: int8(-int32(1)), + 340: int8(-int32(4)), 341: int8(-int32(2)), - 342: int8(-int32(1)), + 342: int8(-int32(5)), 343: int8(-int32(1)), - 344: int8(-int32(2)), - 345: int8(-int32(3)), + 344: int8(-int32(1)), + 345: int8(-int32(2)), + 346: int8(-int32(1)), 347: int8(-int32(1)), 348: int8(-int32(2)), - 349: int8(-int32(1)), - 351: int8(-int32(2)), - 352: int8(-int32(1)), - 353: int8(-int32(4)), - 354: int8(-int32(2)), - 355: int8(-int32(1)), + 349: int8(-int32(3)), + 351: int8(-int32(1)), + 352: int8(-int32(2)), + 353: int8(-int32(1)), + 355: int8(-int32(2)), 356: int8(-int32(1)), - 357: int8(-int32(1)), - 358: int8(-int32(1)), + 357: int8(-int32(4)), + 358: int8(-int32(2)), 359: int8(-int32(1)), 360: int8(-int32(1)), - 361: int8(-int32(2)), - 363: int8(-int32(2)), - 364: int8(-int32(4)), + 361: int8(-int32(1)), + 362: int8(-int32(1)), + 363: int8(-int32(1)), + 364: int8(-int32(1)), 365: int8(-int32(2)), - 366: int8(-int32(2)), - 367: int8(-int32(3)), - 368: int8(-int32(1)), - 370: int8(-int32(1)), - 371: int8(-int32(1)), + 367: int8(-int32(2)), + 368: int8(-int32(4)), + 369: int8(-int32(2)), + 370: int8(-int32(2)), + 371: int8(-int32(3)), 372: int8(-int32(1)), - 373: int8(-int32(1)), - 374: int8(-int32(2)), + 374: int8(-int32(1)), 375: int8(-int32(1)), 376: int8(-int32(1)), - 378: int8(-int32(1)), + 377: int8(-int32(1)), + 378: int8(-int32(2)), 379: int8(-int32(1)), 380: int8(-int32(1)), - 381: int8(-int32(1)), 382: int8(-int32(1)), 383: int8(-int32(1)), 384: int8(-int32(1)), 385: int8(-int32(1)), 386: int8(-int32(1)), 387: int8(-int32(1)), - 389: int8(-int32(3)), + 388: int8(-int32(1)), + 389: int8(-int32(1)), 390: int8(-int32(1)), - 392: int8(-int32(1)), - 395: int8(-int32(1)), + 391: int8(-int32(1)), + 393: int8(-int32(3)), + 394: int8(-int32(1)), 396: int8(-int32(1)), - 397: int8(-int32(3)), - 398: int8(-int32(2)), - 400: int8(-int32(4)), - 401: int8(-int32(2)), - 403: int8(-int32(1)), - 404: int8(-int32(1)), + 399: int8(-int32(1)), + 400: int8(-int32(1)), + 401: int8(-int32(3)), + 402: int8(-int32(2)), + 404: int8(-int32(4)), + 405: int8(-int32(2)), + 407: int8(-int32(1)), + 408: int8(-int32(1)), } // C documentation @@ -159636,18 +161114,19 @@ var _yyRuleInfoNRhs = [405]int8{ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken TToken, pParse uintptr) (r uint16) { bp := tls.Alloc(144) defer tls.Free(144) - var bNot, bNot1, nExpr, yygoto, yysize, v344 int32 + var bNot, bNot1, nExpr, yygoto, yysize int32 var n Tu32 - var p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v343, v345, v346, v347, v348 uintptr + var op Tu8 + var p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v347, v348, v349, v350, v351 uintptr var yyact uint16 - var v349 TToken + var v352 TToken var _ /* all at bp+104 */ TToken var _ /* as at bp+72 */ TToken var _ /* dest at bp+16 */ TSelectDest var _ /* t at bp+88 */ TToken var _ /* x at bp+56 */ TToken var _ /* yylhsminor at bp+0 */ TYYMINORTYPE - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v343, v344, v345, v346, v347, v348, v349 /* Amount to pop the stack */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, op, p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v347, v348, v349, v350, v351, v352 /* Amount to pop the stack */ _ = yyLookahead _ = yyLookaheadToken yymsp = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos @@ -159668,7 +161147,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _7 case uint32(7): goto _8 - case uint32(321): + case uint32(324): goto _9 case uint32(9): goto _10 @@ -159696,9 +161175,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _21 case uint32(81): goto _22 - case uint32(98): + case uint32(100): goto _23 - case uint32(244): + case uint32(246): goto _24 case uint32(16): goto _25 @@ -159722,7 +161201,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _34 case uint32(26): goto _35 - case uint32(104): + case uint32(106): goto _36 case uint32(27): goto _37 @@ -159796,17 +161275,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _71 case uint32(61): goto _72 - case uint32(171): + case uint32(173): goto _73 case uint32(80): goto _74 case uint32(63): goto _75 - case uint32(217): + case uint32(219): goto _76 - case uint32(220): + case uint32(222): goto _77 - case uint32(245): + case uint32(247): goto _78 case uint32(64): goto _79 @@ -159828,7 +161307,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _87 case uint32(77): goto _88 - case uint32(172): + case uint32(174): goto _89 case uint32(78): goto _90 @@ -159862,47 +161341,47 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _104 case uint32(95): goto _105 - case uint32(96): - goto _106 case uint32(97): + goto _106 + case uint32(96): goto _107 - case uint32(132): + case uint32(98): goto _108 case uint32(99): goto _109 - case uint32(142): + case uint32(134): goto _110 - case uint32(232): + case uint32(101): goto _111 - case uint32(235): + case uint32(144): goto _112 - case uint32(240): + case uint32(234): goto _113 - case uint32(100): + case uint32(237): goto _114 - case uint32(101): + case uint32(242): goto _115 case uint32(102): goto _116 - case uint32(115): - goto _117 case uint32(103): + goto _117 + case uint32(104): goto _118 - case uint32(256): + case uint32(117): goto _119 - case uint32(257): + case uint32(105): goto _120 - case uint32(108): + case uint32(258): goto _121 - case uint32(105): + case uint32(259): goto _122 - case uint32(106): + case uint32(110): goto _123 case uint32(107): goto _124 - case uint32(109): + case uint32(108): goto _125 - case uint32(110): + case uint32(109): goto _126 case uint32(111): goto _127 @@ -159910,13 +161389,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _128 case uint32(113): goto _129 - case uint32(129): - goto _130 case uint32(114): + goto _130 + case uint32(115): goto _131 - case uint32(116): + case uint32(131): goto _132 - case uint32(117): + case uint32(116): goto _133 case uint32(118): goto _134 @@ -159940,15 +161419,15 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _143 case uint32(128): goto _144 - case uint32(130): + case uint32(129): goto _145 - case uint32(131): + case uint32(130): goto _146 - case uint32(143): + case uint32(132): goto _147 case uint32(133): goto _148 - case uint32(134): + case uint32(145): goto _149 case uint32(135): goto _150 @@ -159956,49 +161435,49 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _151 case uint32(137): goto _152 - case uint32(141): - goto _153 case uint32(138): - goto _154 + goto _153 case uint32(139): + goto _154 + case uint32(143): goto _155 case uint32(140): goto _156 - case uint32(146): + case uint32(141): goto _157 - case uint32(144): + case uint32(142): goto _158 - case uint32(151): + case uint32(148): goto _159 - case uint32(153): + case uint32(146): goto _160 - case uint32(230): + case uint32(153): goto _161 - case uint32(231): + case uint32(155): goto _162 - case uint32(250): + case uint32(232): goto _163 - case uint32(152): + case uint32(233): goto _164 - case uint32(145): + case uint32(252): goto _165 case uint32(154): goto _166 - case uint32(229): + case uint32(147): goto _167 - case uint32(249): + case uint32(156): goto _168 - case uint32(147): + case uint32(231): goto _169 - case uint32(148): + case uint32(251): goto _170 case uint32(149): goto _171 case uint32(150): goto _172 - case uint32(155): + case uint32(151): goto _173 - case uint32(156): + case uint32(152): goto _174 case uint32(157): goto _175 @@ -160028,9 +161507,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _187 case uint32(170): goto _188 - case uint32(173): + case uint32(171): goto _189 - case uint32(174): + case uint32(172): goto _190 case uint32(175): goto _191 @@ -160044,13 +161523,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _195 case uint32(180): goto _196 - case uint32(182): - goto _197 case uint32(181): + goto _197 + case uint32(182): goto _198 - case uint32(183): - goto _199 case uint32(184): + goto _199 + case uint32(183): goto _200 case uint32(185): goto _201 @@ -160074,13 +161553,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _210 case uint32(195): goto _211 - case uint32(197): - goto _212 case uint32(196): + goto _212 + case uint32(197): goto _213 - case uint32(198): - goto _214 case uint32(199): + goto _214 + case uint32(198): goto _215 case uint32(200): goto _216 @@ -160106,23 +161585,23 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _226 case uint32(211): goto _227 - case uint32(213): - goto _228 case uint32(212): + goto _228 + case uint32(213): goto _229 - case uint32(214): - goto _230 case uint32(215): + goto _230 + case uint32(214): goto _231 - case uint32(219): - goto _232 case uint32(216): + goto _232 + case uint32(217): goto _233 - case uint32(218): - goto _234 case uint32(221): + goto _234 + case uint32(218): goto _235 - case uint32(222): + case uint32(220): goto _236 case uint32(223): goto _237 @@ -160136,35 +161615,35 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _241 case uint32(228): goto _242 - case uint32(233): + case uint32(229): goto _243 - case uint32(234): + case uint32(230): goto _244 - case uint32(241): + case uint32(235): goto _245 case uint32(236): goto _246 - case uint32(237): + case uint32(243): goto _247 - case uint32(280): - goto _248 case uint32(238): - goto _249 + goto _248 case uint32(239): + goto _249 + case uint32(282): goto _250 - case uint32(242): + case uint32(240): goto _251 - case uint32(243): + case uint32(241): goto _252 - case uint32(246): + case uint32(244): goto _253 - case uint32(247): + case uint32(245): goto _254 case uint32(248): goto _255 - case uint32(251): + case uint32(249): goto _256 - case uint32(252): + case uint32(250): goto _257 case uint32(253): goto _258 @@ -160172,9 +161651,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _259 case uint32(255): goto _260 - case uint32(258): + case uint32(256): goto _261 - case uint32(259): + case uint32(257): goto _262 case uint32(260): goto _263 @@ -160182,21 +161661,21 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _264 case uint32(262): goto _265 - case uint32(264): - goto _266 case uint32(263): + goto _266 + case uint32(264): goto _267 - case uint32(265): + case uint32(266): goto _268 - case uint32(285): + case uint32(265): goto _269 - case uint32(266): + case uint32(267): goto _270 - case uint32(286): + case uint32(287): goto _271 - case uint32(267): - goto _272 case uint32(268): + goto _272 + case uint32(288): goto _273 case uint32(269): goto _274 @@ -160220,17 +161699,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _283 case uint32(279): goto _284 - case uint32(281): + case uint32(280): goto _285 - case uint32(282): + case uint32(281): goto _286 case uint32(283): goto _287 case uint32(284): goto _288 - case uint32(287): + case uint32(285): goto _289 - case uint32(288): + case uint32(286): goto _290 case uint32(289): goto _291 @@ -160254,19 +161733,19 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _300 case uint32(299): goto _301 - case uint32(301): - goto _302 case uint32(300): + goto _302 + case uint32(301): goto _303 - case uint32(302): + case uint32(303): goto _304 - case uint32(304): + case uint32(302): goto _305 - case uint32(303): + case uint32(304): goto _306 - case uint32(305): - goto _307 case uint32(306): + goto _307 + case uint32(305): goto _308 case uint32(307): goto _309 @@ -160296,31 +161775,31 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _321 case uint32(320): goto _322 - case uint32(324): + case uint32(321): goto _323 case uint32(322): goto _324 - case uint32(325): - goto _325 case uint32(323): - goto _326 + goto _325 case uint32(327): + goto _326 + case uint32(325): goto _327 - case uint32(326): - goto _328 case uint32(328): + goto _328 + case uint32(326): goto _329 - case uint32(329): + case uint32(330): goto _330 - case uint32(331): + case uint32(329): goto _331 - case uint32(330): + case uint32(331): goto _332 case uint32(332): goto _333 - case uint32(333): - goto _334 case uint32(334): + goto _334 + case uint32(333): goto _335 case uint32(335): goto _336 @@ -160332,34 +161811,42 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _339 case uint32(339): goto _340 - default: + case uint32(340): goto _341 + case uint32(341): + goto _342 + case uint32(342): + goto _343 + case uint32(343): + goto _344 + default: + goto _345 } - goto _342 + goto _346 _1: ; /* explain ::= EXPLAIN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(1) } - goto _342 + goto _346 _2: ; /* explain ::= EXPLAIN QUERY PLAN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(2) } - goto _342 + goto _346 _3: ; /* cmdx ::= cmd */ _sqlite3FinishCoding(tls, pParse) - goto _342 + goto _346 _4: ; /* cmd ::= BEGIN transtype trans_opt */ _sqlite3BeginTransaction(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _5: ; /* transtype ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_DEFERRED) - goto _342 + goto _346 _7: ; /* transtype ::= DEFERRED */ _6: @@ -160369,33 +161856,33 @@ _8: _9: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 + goto _346 _11: ; /* cmd ::= COMMIT|END trans_opt */ _10: ; _sqlite3EndTransaction(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor)) - goto _342 + goto _346 _12: ; /* cmd ::= SAVEPOINT nm */ _sqlite3Savepoint(tls, pParse, SAVEPOINT_BEGIN, yymsp+8) - goto _342 + goto _346 _13: ; /* cmd ::= RELEASE savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_RELEASE), yymsp+8) - goto _342 + goto _346 _14: ; /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_ROLLBACK), yymsp+8) - goto _342 + goto _346 _15: ; /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ _sqlite3StartTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), 0, 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _16: ; /* createkw ::= CREATE */ _disableLookaside(tls, pParse) - goto _342 + goto _346 _18: ; /* ifnotexists ::= */ _17: @@ -160413,56 +161900,56 @@ _23: _24: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = 0 - goto _342 + goto _346 _25: ; /* ifnotexists ::= IF NOT EXISTS */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(1) - goto _342 + goto _346 _26: ; /* temp ::= TEMP */ *(*int32)(unsafe.Pointer(yymsp + 8)) = libc.BoolInt32(int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0) - goto _342 + goto _346 _27: ; /* create_table_args ::= LP columnlist conslist_opt RP table_option_set */ _sqlite3EndTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*Tu32)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 + goto _346 _28: ; /* create_table_args ::= AS select */ _sqlite3EndTable(tls, pParse, uintptr(0), uintptr(0), uint32(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _29: ; /* table_option_set ::= */ *(*Tu32)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint32(0) - goto _342 + goto _346 _30: ; /* table_option_set ::= table_option_set COMMA table_option */ *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) | *(*Tu32)(unsafe.Pointer(yymsp + 8)) *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _31: ; /* table_option ::= WITHOUT nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16703, int32(5)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16790, int32(5)) == 0 { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) } else { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23367, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23490, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } - goto _342 + goto _346 _32: ; /* table_option ::= nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16616, int32(6)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16703, int32(6)) == 0 { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(TF_Strict) } else { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23367, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23490, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } *(*Tu32)(unsafe.Pointer(yymsp + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _33: ; /* columnname ::= nm typetoken */ _sqlite3AddColumn(tls, pParse, *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*TToken)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _35: ; /* typetoken ::= */ _34: @@ -160471,52 +161958,52 @@ _36: ; *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 + goto _346 _37: ; /* typetoken ::= typename LP signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) - goto _342 + goto _346 _38: ; /* typetoken ::= typename LP signed COMMA signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))))) - goto _342 + goto _346 _39: ; /* typename ::= typename ID|STRING */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) + uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) - goto _342 + goto _346 _40: ; /* scanpt ::= */ _ = libc.Int32FromInt32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken.Fz - goto _342 + goto _346 _41: ; /* scantok ::= */ _ = libc.Int32FromInt32(0) *(*TToken)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken - goto _342 + goto _346 _43: ; /* ccons ::= CONSTRAINT nm */ _42: ; (*TParse)(unsafe.Pointer(pParse)).FconstraintName = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _44: ; /* ccons ::= DEFAULT scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _45: ; /* ccons ::= DEFAULT LP expr RP */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))+uintptr(1), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _46: ; /* ccons ::= DEFAULT PLUS scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _47: ; /* ccons ::= DEFAULT MINUS scantok term */ p = _sqlite3PExpr(tls, pParse, int32(TK_UMINUS), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) _sqlite3AddDefaultValue(tls, pParse, p, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _48: ; /* ccons ::= DEFAULT scantok ID|INDEXED */ p1 = _tokenExpr(tls, pParse, int32(TK_STRING), *(*TToken)(unsafe.Pointer(yymsp + 8))) @@ -160524,99 +162011,99 @@ _48: _sqlite3ExprIdToTrueFalse(tls, p1) } _sqlite3AddDefaultValue(tls, pParse, p1, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - goto _342 + goto _346 _49: ; /* ccons ::= NOT NULL onconf */ _sqlite3AddNotNull(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _50: ; /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ _sqlite3AddPrimaryKey(tls, pParse, uintptr(0), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _51: ; /* ccons ::= UNIQUE onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _52: ; /* ccons ::= CHECK LP expr RP */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _53: ; /* ccons ::= REFERENCES nm eidlist_opt refargs */ _sqlite3CreateForeignKey(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _54: ; /* ccons ::= defer_subclause */ _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _55: ; /* ccons ::= COLLATE ID|STRING */ _sqlite3AddCollateType(tls, pParse, yymsp+8) - goto _342 + goto _346 _56: ; /* generated ::= LP expr RP */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 + goto _346 _57: ; /* generated ::= LP expr RP ID */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 + goto _346 _58: ; /* autoinc ::= AUTOINCR */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(1) - goto _342 + goto _346 _59: ; /* refargs ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = libc.Int32FromInt32(OE_None) * libc.Int32FromInt32(0x0101) /* EV: R-19803-45884 */ - goto _342 + goto _346 _60: ; /* refargs ::= refargs refarg */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) & ^*(*int32)(unsafe.Pointer(yymsp + 8 + 4)) | *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _61: ; /* refarg ::= MATCH nm */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _62: ; /* refarg ::= ON INSERT refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _63: ; /* refarg ::= ON DELETE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x0000ff) - goto _342 + goto _346 _64: ; /* refarg ::= ON UPDATE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) << int32(8) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x00ff00) - goto _342 + goto _346 _65: ; /* refact ::= SET NULL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetNull) /* EV: R-33326-45252 */ - goto _342 + goto _346 _66: ; /* refact ::= SET DEFAULT */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetDflt) /* EV: R-33326-45252 */ - goto _342 + goto _346 _67: ; /* refact ::= CASCADE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Cascade) /* EV: R-33326-45252 */ - goto _342 + goto _346 _68: ; /* refact ::= RESTRICT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Restrict) /* EV: R-33326-45252 */ - goto _342 + goto _346 _69: ; /* refact ::= NO ACTION */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = OE_None /* EV: R-33326-45252 */ - goto _342 + goto _346 _70: ; /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 - goto _342 + goto _346 _72: ; /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ _71: @@ -160624,7 +162111,7 @@ _71: _73: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _75: ; /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ _74: @@ -160636,64 +162123,64 @@ _77: _78: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(1) - goto _342 + goto _346 _79: ; /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 - goto _342 + goto _346 _80: ; /* tconscomma ::= COMMA */ (*TParse)(unsafe.Pointer(pParse)).FconstraintName.Fn = uint32(0) - goto _342 + goto _346 _81: ; /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ _sqlite3AddPrimaryKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), 0) - goto _342 + goto _346 _82: ; /* tcons ::= UNIQUE LP sortlist RP onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _83: ; /* tcons ::= CHECK LP expr RP onconf */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _84: ; /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ _sqlite3CreateForeignKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _86: ; /* onconf ::= */ _85: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(OE_Default) - goto _342 + goto _346 _87: ; /* onconf ::= ON CONFLICT resolvetype */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _88: ; /* resolvetype ::= IGNORE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Ignore) - goto _342 + goto _346 _90: ; /* resolvetype ::= REPLACE */ _89: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Replace) - goto _342 + goto _346 _91: ; /* cmd ::= DROP TABLE ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _92: ; /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ _sqlite3CreateView(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) - goto _342 + goto _346 _93: ; /* cmd ::= DROP VIEW ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), int32(1), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _94: ; /* cmd ::= select */ *(*TSelectDest)(unsafe.Pointer(bp + 16)) = TSelectDest{ @@ -160701,22 +162188,22 @@ _94: } _sqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), bp+16) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _95: ; /* select ::= WITH wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _96: ; /* select ::= WITH RECURSIVE wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _97: ; /* select ::= selectnowith */ p2 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) if p2 != 0 { _parserDoubleLinkSelect(tls, pParse, p2) } - goto _342 + goto _346 _98: ; /* selectnowith ::= selectnowith multiselect_op oneselect */ pRhs = *(*uintptr)(unsafe.Pointer(yymsp + 8)) @@ -160741,21 +162228,21 @@ _98: _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pLhs) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = pRhs - goto _342 + goto _346 _100: ; /* multiselect_op ::= UNION */ _99: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-OP*/ - goto _342 + goto _346 _101: ; /* multiselect_op ::= UNION ALL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_ALL) - goto _342 + goto _346 _102: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _103: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(9))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -160764,116 +162251,111 @@ _103: } else { _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) } - goto _342 + goto _346 _104: ; /* values ::= VALUES LP nexprlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) - goto _342 + goto _346 _105: - ; /* values ::= values COMMA LP nexprlist RP */ - pLeft = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) - pRight = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(libc.Int32FromInt32(SF_Values)|libc.Int32FromInt32(SF_MultiValue)), uintptr(0)) - if pLeft != 0 { - *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) - } - if pRight != 0 { - (*TSelect)(unsafe.Pointer(pRight)).Fop = uint8(TK_ALL) - (*TSelect)(unsafe.Pointer(pRight)).FpPrior = pLeft - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pRight - } else { - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pLeft - } - goto _342 + ; /* oneselect ::= mvalues */ + _sqlite3MultiValuesEnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_107: + ; /* mvalues ::= values COMMA LP nexprlist RP */ _106: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3MultiValues(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_108: ; /* distinct ::= DISTINCT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_Distinct) - goto _342 -_107: + goto _346 +_109: ; /* distinct ::= ALL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_All) - goto _342 -_109: + goto _346 +_111: ; /* sclp ::= */ -_108: - ; _110: ; -_111: - ; _112: ; _113: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 _114: + ; +_115: + ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 +_116: ; /* selcollist ::= sclp scanpt expr scanpt as */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) > uint32(0) { _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+8, int32(1)) } _sqlite3ExprListSetSpan(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_115: + goto _346 +_117: ; /* selcollist ::= sclp scanpt STAR */ p3 = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_ASTERISK), uintptr(0)) _sqlite3ExprSetErrorOffset(tls, p3, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), p3) - goto _342 -_116: + goto _346 +_118: ; /* selcollist ::= sclp scanpt nm DOT STAR */ - pRight1 = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) - _sqlite3ExprSetErrorOffset(tls, pRight1, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) - pLeft1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft1, pRight1) + pRight = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) + _sqlite3ExprSetErrorOffset(tls, pRight, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) + pLeft = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) + pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft, pRight) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pDot) - goto _342 -_118: + goto _346 +_120: ; /* as ::= AS nm */ -_117: - ; _119: ; -_120: +_121: ; - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 _122: + ; + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) + goto _346 +_124: ; /* from ::= */ -_121: +_123: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_123: + goto _346 +_125: ; /* from ::= FROM seltablist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) _sqlite3SrcListShiftJoinType(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_124: + goto _346 +_126: ; /* stl_prefix ::= seltablist joinop */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 && (*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc > 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8 + uintptr((*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc-int32(1))*104))).Ffg.Fjointype = uint8(*(*int32)(unsafe.Pointer(yymsp + 8))) } - goto _342 -_125: + goto _346 +_127: ; /* seltablist ::= stl_prefix nm dbnm as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) - goto _342 -_126: + goto _346 +_128: ; /* seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_127: + goto _346 +_129: ; /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListFuncArgs(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) - goto _342 -_128: + goto _346 +_130: ; /* seltablist ::= stl_prefix LP select RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_129: + goto _346 +_131: ; /* seltablist ::= stl_prefix LP seltablist RP as on_using */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) == uintptr(0) && *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) == uint32(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8)) == uintptr(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) @@ -160895,9 +162377,9 @@ _129: libc.SetBitFieldPtr16Uint32(pOld+60+4, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pNew+60+4, libc.Uint32FromInt32(1), 2, 0x4) } - v343 = libc.UintptrFromInt32(0) - (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v343 - (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v343 + v347 = libc.UintptrFromInt32(0) + (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v347 + (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v347 (*TSrcItem)(unsafe.Pointer(pOld)).FpSelect = uintptr(0) } _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) @@ -160907,189 +162389,189 @@ _129: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, pSubquery, yymsp+8) } } - goto _342 -_131: + goto _346 +_133: ; /* dbnm ::= */ -_130: +_132: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) - goto _342 -_132: + goto _346 +_134: ; /* fullname ::= nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_133: + goto _346 +_135: ; /* fullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_134: + goto _346 +_136: ; /* xfullname ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) /*A-overwrites-X*/ - goto _342 -_135: + goto _346 +_137: ; /* xfullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) /*A-overwrites-X*/ - goto _342 -_136: + goto _346 +_138: ; /* xfullname ::= nm DOT nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_137: + goto _346 +_139: ; /* xfullname ::= nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0)) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_138: + goto _346 +_140: ; /* joinop ::= COMMA|JOIN */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(JT_INNER) - goto _342 -_139: + goto _346 +_141: ; /* joinop ::= JOIN_KW JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), uintptr(0)) /*X-overwrites-A*/ - goto _342 -_140: + goto _346 +_142: ; /* joinop ::= JOIN_KW nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0)) /*X-overwrites-A*/ - goto _342 -_141: + goto _346 +_143: ; /* joinop ::= JOIN_KW nm nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) /*X-overwrites-A*/ - goto _342 -_142: + goto _346 +_144: ; /* on_using ::= ON expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uintptr(0) - goto _342 -_143: + goto _346 +_145: ; /* on_using ::= USING LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_144: + goto _346 +_146: ; /* on_using ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uintptr(0) - goto _342 -_145: + goto _346 +_147: ; /* indexed_by ::= INDEXED BY nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 -_146: + goto _346 +_148: ; /* indexed_by ::= NOT INDEXED */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(1) - goto _342 -_148: + goto _346 +_150: ; /* orderby_opt ::= ORDER BY sortlist */ -_147: +_149: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_149: + goto _346 +_151: ; /* sortlist ::= sortlist COMMA expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_150: + goto _346 +_152: ; /* sortlist ::= expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) /*A-overwrites-Y*/ _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_151: + goto _346 +_153: ; /* sortorder ::= ASC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = SQLITE_SO_ASC - goto _342 -_152: + goto _346 +_154: ; /* sortorder ::= DESC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_154: + goto _346 +_156: ; /* sortorder ::= */ -_153: +_155: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = -int32(1) - goto _342 -_155: + goto _346 +_157: ; /* nulls ::= NULLS FIRST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = SQLITE_SO_ASC - goto _342 -_156: + goto _346 +_158: ; /* nulls ::= NULLS LAST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_158: + goto _346 +_160: ; /* having_opt ::= */ -_157: - ; _159: ; -_160: - ; _161: ; _162: ; _163: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_165: - ; /* having_opt ::= HAVING expr */ _164: ; -_166: +_165: ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 _167: + ; /* having_opt ::= HAVING expr */ +_166: ; _168: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 _169: + ; +_170: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + goto _346 +_171: ; /* limit_opt ::= LIMIT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 -_170: + goto _346 +_172: ; /* limit_opt ::= LIMIT expr OFFSET expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_171: + goto _346 +_173: ; /* limit_opt ::= LIMIT expr COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 -_172: + goto _346 +_174: ; /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) _sqlite3DeleteFrom(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0)) - goto _342 -_173: + goto _346 +_175: ; /* where_opt_ret ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) - goto _342 -_174: + goto _346 +_176: ; /* where_opt_ret ::= WHERE expr RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) - goto _342 -_175: + goto _346 +_177: ; /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) - _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23394) + _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23517) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { pFromClause = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) if (*TSrcList)(unsafe.Pointer(pFromClause)).FnSrc > int32(1) { @@ -161101,95 +162583,95 @@ _175: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), pFromClause) } _sqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_176: + goto _346 +_178: ; /* setlist ::= setlist COMMA nm EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) - goto _342 -_177: + goto _346 +_179: ; /* setlist ::= setlist COMMA LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_178: + goto _346 +_180: ; /* setlist ::= nm EQ expr */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_179: + goto _346 +_181: ; /* setlist ::= LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_180: + goto _346 +_182: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_181: + goto _346 +_183: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0)) - goto _342 -_182: + goto _346 +_184: ; /* upsert ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_183: + goto _346 +_185: ; /* upsert ::= RETURNING selcollist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_184: + goto _346 +_186: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(11))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_185: + goto _346 +_187: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_186: + goto _346 +_188: ; /* upsert ::= ON CONFLICT DO NOTHING returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_187: + goto _346 +_189: ; /* upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_188: + goto _346 +_190: ; /* returning ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_189: + goto _346 +_191: ; /* idlist_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_190: + goto _346 +_192: ; /* idlist_opt ::= LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_191: + goto _346 +_193: ; /* idlist ::= idlist COMMA nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3IdListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 -_192: + goto _346 +_194: ; /* idlist ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3IdListAppend(tls, pParse, uintptr(0), yymsp+8) /*A-overwrites-Y*/ - goto _342 -_193: + goto _346 +_195: ; /* expr ::= LP expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_194: + goto _346 +_196: ; /* expr ::= ID|INDEXED|JOIN_KW */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_195: + goto _346 +_197: ; /* expr ::= nm DOT nm */ temp1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) temp2 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp1, temp2) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_196: + goto _346 +_198: ; /* expr ::= nm DOT nm DOT nm */ temp11 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) temp21 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) @@ -161200,22 +162682,22 @@ _196: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp11, temp4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_198: + goto _346 +_200: ; /* term ::= NULL|FLOAT|BLOB */ -_197: +_199: ; *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_199: + goto _346 +_201: ; /* term ::= INTEGER */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), yymsp+8, int32(1)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 52)) = int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8))) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_200: + goto _346 +_202: ; /* expr ::= VARIABLE */ if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8))))) == int32('#') && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)) + 1))])&int32(0x04) != 0) { n = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) @@ -161228,7 +162710,7 @@ _200: *(*TToken)(unsafe.Pointer(bp + 88)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) /*A-overwrites-X*/ _ = libc.Int32FromInt32(0) if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23403, libc.VaList(bp+128, bp+88)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23526, libc.VaList(bp+128, bp+88)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_REGISTER), uintptr(0), uintptr(0)) @@ -161237,57 +162719,57 @@ _200: } } } - goto _342 -_201: + goto _346 +_203: ; /* expr ::= expr COLLATE ID|STRING */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAddCollateToken(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8, int32(1)) - goto _342 -_202: + goto _346 +_204: ; /* expr ::= CAST LP expr AS typetoken RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_CAST), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) _sqlite3ExprAttachSubtrees(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) - goto _342 -_203: + goto _346 +_205: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_204: + goto _346 +_206: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_205: + goto _346 +_207: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_206: + goto _346 +_208: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_207: + goto _346 +_209: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_208: + goto _346 +_210: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, 0) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_209: + goto _346 +_211: ; /* term ::= CTIME_KW */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_210: + goto _346 +_212: ; /* expr ::= LP nexprlist COMMA expr RP */ pList = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_VECTOR), uintptr(0), uintptr(0)) @@ -161299,33 +162781,33 @@ _210: } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pList) } - goto _342 -_211: + goto _346 +_213: ; /* expr ::= expr AND expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_213: + goto _346 +_215: ; /* expr ::= expr OR expr */ -_212: - ; _214: ; -_215: - ; _216: ; _217: ; _218: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 _219: + ; +_220: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_221: ; /* likeop ::= NOT LIKE_KW|MATCH */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) |= uint32(0x80000000) /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/ - goto _342 -_220: + goto _346 +_222: ; /* expr ::= expr likeop expr */ bNot = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -161338,8 +162820,8 @@ _220: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_221: + goto _346 +_223: ; /* expr ::= expr likeop expr ESCAPE expr */ bNot1 = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -161353,65 +162835,69 @@ _221: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_222: + goto _346 +_224: ; /* expr ::= expr ISNULL|NOTNULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_223: + goto _346 +_225: ; /* expr ::= expr NOT NULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOTNULL), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uintptr(0)) - goto _342 -_224: + goto _346 +_226: ; /* expr ::= expr IS expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_225: + goto _346 +_227: ; /* expr ::= expr IS NOT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_226: + goto _346 +_228: ; /* expr ::= expr IS NOT DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_227: + goto _346 +_229: ; /* expr ::= expr IS DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_229: + goto _346 +_231: ; /* expr ::= NOT expr */ -_228: +_230: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) /*A-overwrites-B*/ - goto _342 -_230: + goto _346 +_232: ; /* expr ::= PLUS|MINUS expr */ - if int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) == int32(TK_PLUS) { - v344 = int32(TK_UPLUS) + p4 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + op = uint8(int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) + (libc.Int32FromInt32(TK_UPLUS) - libc.Int32FromInt32(TK_PLUS))) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if p4 != 0 && int32((*TExpr)(unsafe.Pointer(p4)).Fop) == int32(TK_UPLUS) { + (*TExpr)(unsafe.Pointer(p4)).Fop = op + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = p4 } else { - v344 = int32(TK_UMINUS) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(op), p4, uintptr(0)) + /*A-overwrites-B*/ } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, v344, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - /*A-overwrites-B*/ - goto _342 -_231: + goto _346 +_233: ; /* expr ::= expr PTR expr */ pList3 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList3 = _sqlite3ExprListAppend(tls, pParse, pList3, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, pList3, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_233: + goto _346 +_235: ; /* between_op ::= BETWEEN */ -_232: +_234: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = 0 - goto _342 -_234: + goto _346 +_236: ; /* expr ::= expr between_op expr AND expr */ pList4 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList4 = _sqlite3ExprListAppend(tls, pParse, pList4, *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -161424,8 +162910,8 @@ _234: if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_235: + goto _346 +_237: ; /* expr ::= expr in_op LP exprlist RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) == uintptr(0) { /* Expressions of the form @@ -161438,17 +162924,17 @@ _235: */ _sqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { - v345 = __ccgo_ts + 7895 + v348 = __ccgo_ts + 8020 } else { - v345 = __ccgo_ts + 7900 + v348 = __ccgo_ts + 8025 } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v345) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v348) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { _sqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } } else { pRHS = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr - if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { + if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pParse, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr = uintptr(0) _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) pRHS = _sqlite3PExpr(tls, pParse, int32(TK_UPLUS), pRHS, uintptr(0)) @@ -161482,463 +162968,467 @@ _235: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } } - goto _342 -_236: + goto _346 +_238: ; /* expr ::= LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_SELECT), uintptr(0), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_237: + goto _346 +_239: ; /* expr ::= expr in_op LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_238: + goto _346 +_240: ; /* expr ::= expr in_op nm dbnm paren_exprlist */ pSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) pSelect = _sqlite3SelectNew(tls, pParse, uintptr(0), pSrc, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { if pSelect != 0 { - v346 = pSrc + v349 = pSrc } else { - v346 = uintptr(0) + v349 = uintptr(0) } - _sqlite3SrcListFuncArgs(tls, pParse, v346, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + _sqlite3SrcListFuncArgs(tls, pParse, v349, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pSelect) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_239: + goto _346 +_241: ; /* expr ::= EXISTS LP select RP */ - v347 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v347 - p4 = v347 - _sqlite3PExprAddSelect(tls, pParse, p4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_240: + v350 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v350 + p5 = v350 + _sqlite3PExprAddSelect(tls, pParse, p5, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_242: ; /* expr ::= CASE case_operand case_exprlist case_else END */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_CASE), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { - v348 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + v351 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } else { - v348 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + v351 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) } - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v348 + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v351 _sqlite3ExprSetHeightAndFlags(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } - goto _342 -_241: + goto _346 +_243: ; /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_242: + goto _346 +_244: ; /* case_exprlist ::= WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_243: + goto _346 +_245: ; /* nexprlist ::= nexprlist COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_244: + goto _346 +_246: ; /* nexprlist ::= expr */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_246: + goto _346 +_248: ; /* paren_exprlist ::= LP exprlist RP */ -_245: +_247: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_247: + goto _346 +_249: ; /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ _sqlite3CreateIndex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, uintptr(0)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(11))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8)), SQLITE_SO_ASC, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), uint8(SQLITE_IDXTYPE_APPDEF)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && (*TParse)(unsafe.Pointer(pParse)).FpNewIndex != 0 { _sqlite3RenameTokenMap(tls, pParse, (*TIndex)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpNewIndex)).FzName, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) } - goto _342 -_249: + goto _346 +_251: ; /* uniqueflag ::= UNIQUE */ -_248: +_250: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Abort) - goto _342 -_250: + goto _346 +_252: ; /* uniqueflag ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = OE_None - goto _342 -_251: + goto _346 +_253: ; /* eidlist ::= eidlist COMMA nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_252: + goto _346 +_254: ; /* eidlist ::= nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_253: + goto _346 +_255: ; /* cmd ::= DROP INDEX ifexists fullname */ _sqlite3DropIndex(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_254: + goto _346 +_256: ; /* cmd ::= VACUUM vinto */ _sqlite3Vacuum(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_255: + goto _346 +_257: ; /* cmd ::= VACUUM nm vinto */ _sqlite3Vacuum(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_256: + goto _346 +_258: ; /* cmd ::= PRAGMA nm dbnm */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, uintptr(0), 0) - goto _342 -_257: + goto _346 +_259: ; /* cmd ::= PRAGMA nm dbnm EQ nmnum */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, 0) - goto _342 -_258: + goto _346 +_260: ; /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) - goto _342 -_259: + goto _346 +_261: ; /* cmd ::= PRAGMA nm dbnm EQ minus_num */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, int32(1)) - goto _342 -_260: + goto _346 +_262: ; /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) - goto _342 -_261: + goto _346 +_263: ; /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ (*(*TToken)(unsafe.Pointer(bp + 104))).Fz = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) (*(*TToken)(unsafe.Pointer(bp + 104))).Fn = uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) + *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) _sqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), bp+104) - goto _342 -_262: + goto _346 +_264: ; /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ _sqlite3BeginTrigger(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8 + 8)) == uint32(0) { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) } else { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) } - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v349 /*A-overwrites-T*/ - goto _342 -_263: + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v352 /*A-overwrites-T*/ + goto _346 +_265: ; /* trigger_time ::= BEFORE|AFTER */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_264: + goto _346 +_266: ; /* trigger_time ::= INSTEAD OF */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_INSTEAD) - goto _342 -_265: + goto _346 +_267: ; /* trigger_time ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_BEFORE) - goto _342 -_267: + goto _346 +_269: ; /* trigger_event ::= DELETE|INSERT */ -_266: +_268: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) = uintptr(0) - goto _342 -_268: + goto _346 +_270: ; /* trigger_event ::= UPDATE OF idlist */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(TK_UPDATE) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_270: + goto _346 +_272: ; /* when_clause ::= */ -_269: +_271: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_272: + goto _346 +_274: ; /* when_clause ::= WHEN expr */ -_271: +_273: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_273: + goto _346 +_275: ; /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ _ = libc.Int32FromInt32(0) (*TTriggerStep)(unsafe.Pointer((*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast)).FpNext = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_274: + goto _346 +_276: ; /* trigger_cmd_list ::= trigger_cmd SEMI */ _ = libc.Int32FromInt32(0) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_275: + goto _346 +_277: ; /* trnm ::= nm DOT nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23427, 0) - goto _342 -_276: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23550, 0) + goto _346 +_278: ; /* tridxby ::= INDEXED BY nm */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23522, 0) - goto _342 -_277: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23645, 0) + goto _346 +_279: ; /* tridxby ::= NOT INDEXED */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23606, 0) - goto _342 -_278: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23729, 0) + goto _346 +_280: ; /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerUpdateStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_279: + goto _346 +_281: ; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-6].minor.yy394*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_280: + goto _346 +_282: ; /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerDeleteStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_281: + goto _346 +_283: ; /* trigger_cmd ::= scanpt select scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-1].minor.yy47*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-1].minor.yy555*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_282: + goto _346 +_284: ; /* expr ::= RAISE LP IGNORE RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_RAISE), uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)))).FaffExpr = uint8(OE_Ignore) } - goto _342 -_283: + goto _346 +_285: ; /* expr ::= RAISE LP raisetype COMMA nm RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_RAISE), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)))).FaffExpr = uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) } - goto _342 -_284: + goto _346 +_286: ; /* raisetype ::= ROLLBACK */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Rollback) - goto _342 -_285: + goto _346 +_287: ; /* raisetype ::= FAIL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Fail) - goto _342 -_286: + goto _346 +_288: ; /* cmd ::= DROP TRIGGER ifexists fullname */ _sqlite3DropTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_287: + goto _346 +_289: ; /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ _sqlite3Attach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_288: + goto _346 +_290: ; /* cmd ::= DETACH database_kw_opt expr */ _sqlite3Detach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_289: + goto _346 +_291: ; /* cmd ::= REINDEX */ _sqlite3Reindex(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_290: + goto _346 +_292: ; /* cmd ::= REINDEX nm dbnm */ _sqlite3Reindex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_291: + goto _346 +_293: ; /* cmd ::= ANALYZE */ _sqlite3Analyze(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_292: + goto _346 +_294: ; /* cmd ::= ANALYZE nm dbnm */ _sqlite3Analyze(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_293: + goto _346 +_295: ; /* cmd ::= ALTER TABLE fullname RENAME TO nm */ _sqlite3AlterRenameTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_294: + goto _346 +_296: ; /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(int32(int64((*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fz)-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) + (*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fn _sqlite3AlterFinishAddColumn(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_295: + goto _346 +_297: ; /* cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ _sqlite3AlterDropColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_296: + goto _346 +_298: ; /* add_column_fullname ::= fullname */ _disableLookaside(tls, pParse) _sqlite3AlterBeginAddColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_297: + goto _346 +_299: ; /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ _sqlite3AlterRenameColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) - goto _342 -_298: + goto _346 +_300: ; /* cmd ::= create_vtab */ _sqlite3VtabFinishParse(tls, pParse, uintptr(0)) - goto _342 -_299: + goto _346 +_301: ; /* cmd ::= create_vtab LP vtabarglist RP */ _sqlite3VtabFinishParse(tls, pParse, yymsp+8) - goto _342 -_300: + goto _346 +_302: ; /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ _sqlite3VtabBeginParse(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) - goto _342 -_301: + goto _346 +_303: ; /* vtabarg ::= */ _sqlite3VtabArgInit(tls, pParse) - goto _342 -_303: + goto _346 +_305: ; /* vtabargtoken ::= ANY */ -_302: - ; _304: ; - _sqlite3VtabArgExtend(tls, pParse, yymsp+8) - goto _342 _306: + ; + _sqlite3VtabArgExtend(tls, pParse, yymsp+8) + goto _346 +_308: ; /* with ::= WITH wqlist */ -_305: +_307: ; _sqlite3WithPush(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint8(1)) - goto _342 -_307: + goto _346 +_309: ; /* wqas ::= AS */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8(M10d_Any) - goto _342 -_308: + goto _346 +_310: ; /* wqas ::= AS MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8(M10d_Yes) - goto _342 -_309: + goto _346 +_311: ; /* wqas ::= AS NOT MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = uint8(M10d_No) - goto _342 -_310: - ; /* wqitem ::= nm eidlist_opt wqas LP select RP */ + goto _346 +_312: + ; /* wqitem ::= withnm eidlist_opt wqas LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) /*A-overwrites-X*/ - goto _342 -_311: + goto _346 +_313: + ; /* withnm ::= nm */ + (*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1) + goto _346 +_314: ; /* wqlist ::= wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_312: + goto _346 +_315: ; /* wqlist ::= wqlist COMMA wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3WithAdd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_313: + goto _346 +_316: ; /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ _ = libc.Int32FromInt32(0) _sqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_314: + goto _346 +_317: ; /* windowdefn ::= nm AS LP window RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)))) } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_315: + goto _346 +_318: ; /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_316: + goto _346 +_319: ; /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_317: + goto _346 +_320: ; /* window ::= ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_318: + goto _346 +_321: ; /* window ::= nm ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_319: + goto _346 +_322: ; /* window ::= nm frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_320: + goto _346 +_323: ; /* frame_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = _sqlite3WindowAlloc(tls, pParse, 0, int32(TK_UNBOUNDED), uintptr(0), int32(TK_CURRENT), uintptr(0), uint8(0)) - goto _342 -_321: + goto _346 +_324: ; /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), int32(TK_CURRENT), uintptr(0), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_322: + goto _346 +_325: ; /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_324: + goto _346 +_327: ; /* frame_bound_s ::= frame_bound */ -_323: +_326: ; *(*TFrameBound)(unsafe.Pointer(bp)) = *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_326: + goto _346 +_329: ; /* frame_bound_s ::= UNBOUNDED PRECEDING */ -_325: +_328: ; -_327: +_330: ; (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = uintptr(0) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_328: + goto _346 +_331: ; /* frame_bound ::= expr PRECEDING|FOLLOWING */ (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_329: + goto _346 +_332: ; /* frame_exclude_opt ::= */ *(*Tu8)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint8(0) - goto _342 -_330: + goto _346 +_333: ; /* frame_exclude_opt ::= EXCLUDE frame_exclude */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*Tu8)(unsafe.Pointer(yymsp + 8)) - goto _342 -_332: + goto _346 +_335: ; /* frame_exclude ::= NO OTHERS */ -_331: +_334: ; *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) /*A-overwrites-X*/ - goto _342 -_333: + goto _346 +_336: ; /* frame_exclude ::= GROUP|TIES */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_334: + goto _346 +_337: ; /* window_clause ::= WINDOW windowdefn_list */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_335: + goto _346 +_338: ; /* filter_over ::= filter_clause over_clause */ if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) @@ -161947,13 +163437,13 @@ _335: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_336: + goto _346 +_339: ; /* filter_over ::= over_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_337: + goto _346 +_340: ; /* filter_over ::= filter_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { @@ -161963,24 +163453,30 @@ _337: _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_338: + goto _346 +_341: ; /* over_clause ::= OVER LP window RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) _ = libc.Int32FromInt32(0) - goto _342 -_339: + goto _346 +_342: ; /* over_clause ::= OVER nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) } - goto _342 -_340: + goto _346 +_343: ; /* filter_clause ::= FILTER LP WHERE expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_341: + goto _346 +_344: + ; /* term ::= QNUMBER */ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) + _sqlite3DequoteNumber(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))) + *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + goto _346 +_345: ; _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -161997,9 +163493,9 @@ _341: _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - goto _342 + goto _346 /********** End reduce actions ************************************************/ -_342: +_346: ; _ = libc.Int32FromInt32(0) yygoto = int32(_yyRuleInfoLhs[yyruleno]) @@ -162036,9 +163532,9 @@ func _yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, _yyminor /************ Begin %syntax_error code ****************************************/ _ = yymajor /* Silence some compiler warnings */ if *(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp))).Fz)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23403, libc.VaList(bp+24, bp)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23526, libc.VaList(bp+24, bp)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23691, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23814, 0) } /************ End %syntax_error code ******************************************/ /* Suppress warning about unused %extra_argument variable */ @@ -162107,8 +163603,10 @@ func _sqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor TToken) { ** enough on the stack to push the LHS value */ if int32(_yyRuleInfoNRhs[yyruleno]) == 0 { if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos >= (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - _yyStackOverflow(tls, yypParser) - break + if _yyGrowStack(tls, yypParser) != 0 { + _yyStackOverflow(tls, yypParser) + break + } } } yyact = _yy_reduce(tls, yypParser, yyruleno, yymajor, yyminor, pParse) @@ -164260,9 +165758,9 @@ func _analyzeFilterKeyword(tls *libc.TLS, _z uintptr, lastToken int32) (r int32) // ** Store the token type in *tokenType before returning. // */ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { - var c, delim, i, n, v10, v14, v16, v19, v20, v3, v5, v7, v8 int32 - var v15, v6 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v14, v15, v16, v19, v20, v3, v5, v6, v7, v8 + var c, delim, i, n, v10, v16, v18, v21, v22, v3, v5, v7, v8 int32 + var v17, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v16, v17, v18, v21, v22, v3, v5, v6, v7, v8 switch int32(_aiClass[*(*uint8)(unsafe.Pointer(z))]) { /* Switch on the character-class of the first byte ** of the token. See the comment on the CC_ defines ** above. */ @@ -164458,39 +165956,83 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('X')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 2))])&int32(0x08) != 0 { i = int32(3) for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { + if !(int32(1) != 0) { break } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } goto _11 _11: ; i++ } - return i - } - i = 0 - for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _12 - _12: - ; - i++ - } - if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { - i++ - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + } else { + i = 0 + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _12 + _12: + ; i++ } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) - } - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { - i += int32(2) - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } i++ + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _13 + _13: + ; + i++ + } + } + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } + i += int32(2) + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _14 + _14: + ; + i++ + } } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) } for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x46) != 0 { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_ILLEGAL) @@ -164501,24 +166043,24 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { i = int32(1) c = int32(*(*uint8)(unsafe.Pointer(z))) for { - if v15 = c != int32(']'); v15 { - v14 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v14 + if v17 = c != int32(']'); v17 { + v16 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v16 } - if !(v15 && v14 != 0) { + if !(v17 && v16 != 0) { break } - goto _13 - _13: + goto _15 + _15: ; i++ } if c == int32(']') { - v16 = int32(TK_ID) + v18 = int32(TK_ID) } else { - v16 = int32(TK_ILLEGAL) + v18 = int32(TK_ILLEGAL) } - *(*int32)(unsafe.Pointer(tokenType)) = v16 + *(*int32)(unsafe.Pointer(tokenType)) = v18 return i case int32(CC_VARNUM): *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) @@ -164527,8 +166069,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { break } - goto _17 - _17: + goto _19 + _19: ; i++ } @@ -164540,9 +166082,9 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) i = int32(1) for { - v19 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v19 - if !(v19 != 0) { + v21 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v21 + if !(v21 != 0) { break } if int32(_sqlite3CtypeMap[uint8(c)])&int32(0x46) != 0 { @@ -164551,12 +166093,12 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if c == int32('(') && n > 0 { for { i++ - goto _21 - _21: + goto _23 + _23: ; - v20 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v20 - if !(v20 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { + v22 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v22 + if !(v22 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { break } } @@ -164574,8 +166116,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { } } } - goto _18 - _18: + goto _20 + _20: ; i++ } @@ -164593,8 +166135,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_aiClass[*(*uint8)(unsafe.Pointer(z + uintptr(i)))]) <= int32(CC_KYWD)) { break } - goto _22 - _22: + goto _24 + _24: ; i++ } @@ -164615,8 +166157,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { break } - goto _23 - _23: + goto _25 + _25: ; i++ } @@ -164668,7 +166210,7 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { var lastTokenParsed, mxSqlLen, n, nErr int32 var _ /* sEngine at bp+8 */ TyyParser var _ /* tokenType at bp+0 */ int32 - var _ /* x at bp+2432 */ TToken + var _ /* x at bp+2440 */ TToken _, _, _, _, _, _, _ = db, lastTokenParsed, mxSqlLen, n, nErr, pEngine, pParentParse nErr = 0 /* The LEMON-generated LALR(1) parser */ n = 0 /* type of the next token */ @@ -164735,10 +166277,12 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(bp)) = _analyzeFilterKeyword(tls, zSql+6, lastTokenParsed) } else { - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fz = zSql - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fn = uint32(n) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23708, libc.VaList(bp+2456, bp+2432)) - break + if *(*int32)(unsafe.Pointer(bp)) != int32(TK_QNUMBER) { + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fz = zSql + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fn = uint32(n) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23831, libc.VaList(bp+2464, bp+2440)) + break + } } } } @@ -164761,9 +166305,9 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { } if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg != 0 || (*TParse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK && (*TParse)(unsafe.Pointer(pParse)).Frc != int32(SQLITE_DONE) { if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) { - (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3804, libc.VaList(bp+2456, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) + (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3868, libc.VaList(bp+2464, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) } - Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23733, libc.VaList(bp+2456, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) + Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23856, libc.VaList(bp+2464, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) nErr++ } (*TParse)(unsafe.Pointer(pParse)).FzTail = zSql @@ -164956,7 +166500,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('c'): fallthrough case int32('C'): - if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23744, int32(6)) == 0 { + if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23867, int32(6)) == 0 { token = uint8(tkCREATE) } else { token = uint8(tkOTHER) @@ -164964,13 +166508,13 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('t'): fallthrough case int32('T'): - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20388, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20520, int32(7)) == 0 { token = uint8(tkTRIGGER) } else { - if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23751, int32(4)) == 0 { + if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23874, int32(4)) == 0 { token = uint8(tkTEMP) } else { - if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23756, int32(9)) == 0 { + if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23879, int32(9)) == 0 { token = uint8(tkTEMP) } else { token = uint8(tkOTHER) @@ -164980,10 +166524,10 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('e'): fallthrough case int32('E'): - if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23766, int32(3)) == 0 { + if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23889, int32(3)) == 0 { token = uint8(tkEND) } else { - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23770, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23893, int32(7)) == 0 { token = uint8(tkEXPLAIN) } else { token = uint8(tkOTHER) @@ -165425,7 +166969,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) { */ if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 { if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)<= 0 && rc < int32(libc.Uint64FromInt64(232)/libc.Uint64FromInt64(8)) && _aMsg[rc] != uintptr(0) { @@ -166575,31 +168119,31 @@ func _sqlite3ErrStr(tls *libc.TLS, rc int32) (r uintptr) { } var _aMsg = [29]uintptr{ - 0: __ccgo_ts + 23846, - 1: __ccgo_ts + 23859, - 3: __ccgo_ts + 23875, - 4: __ccgo_ts + 23900, - 5: __ccgo_ts + 23914, - 6: __ccgo_ts + 23933, - 7: __ccgo_ts + 1627, - 8: __ccgo_ts + 23958, - 9: __ccgo_ts + 23995, - 10: __ccgo_ts + 24007, - 11: __ccgo_ts + 24022, - 12: __ccgo_ts + 24055, - 13: __ccgo_ts + 24073, - 14: __ccgo_ts + 24098, - 15: __ccgo_ts + 24127, - 17: __ccgo_ts + 6030, - 18: __ccgo_ts + 5432, - 19: __ccgo_ts + 24144, - 20: __ccgo_ts + 24162, - 21: __ccgo_ts + 24180, - 23: __ccgo_ts + 24214, - 25: __ccgo_ts + 24235, - 26: __ccgo_ts + 24261, - 27: __ccgo_ts + 24284, - 28: __ccgo_ts + 24305, + 0: __ccgo_ts + 23969, + 1: __ccgo_ts + 23982, + 3: __ccgo_ts + 23998, + 4: __ccgo_ts + 24023, + 5: __ccgo_ts + 24037, + 6: __ccgo_ts + 24056, + 7: __ccgo_ts + 1641, + 8: __ccgo_ts + 24081, + 9: __ccgo_ts + 24118, + 10: __ccgo_ts + 24130, + 11: __ccgo_ts + 24145, + 12: __ccgo_ts + 24178, + 13: __ccgo_ts + 24196, + 14: __ccgo_ts + 24221, + 15: __ccgo_ts + 24250, + 17: __ccgo_ts + 6094, + 18: __ccgo_ts + 5496, + 19: __ccgo_ts + 24267, + 20: __ccgo_ts + 24285, + 21: __ccgo_ts + 24303, + 23: __ccgo_ts + 24337, + 25: __ccgo_ts + 24358, + 26: __ccgo_ts + 24384, + 27: __ccgo_ts + 24407, + 28: __ccgo_ts + 24428, } // C documentation @@ -166781,7 +168325,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) { - return _sqlite3MisuseError(tls, int32(180244)) + return _sqlite3MisuseError(tls, int32(181689)) } _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -166827,7 +168371,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i p = _sqlite3FindFunction(tls, db, zFunctionName, nArg, uint8(enc), uint8(0)) if p != 0 && (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) == uint32(enc) && int32((*TFuncDef)(unsafe.Pointer(p)).FnArg) == nArg { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24402, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24525, 0) _ = libc.Int32FromInt32(0) return int32(SQLITE_BUSY) } else { @@ -166957,7 +168501,7 @@ func _sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotU zName = Xsqlite3_user_data(tls, context) _ = NotUsed _ = NotUsed2 - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24465, libc.VaList(bp+8, zName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24588, libc.VaList(bp+8, zName)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -166988,7 +168532,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i if rc != 0 { return SQLITE_OK } - zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, zName)) + zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, zName)) if zCopy == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -167236,7 +168780,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) { /* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint ** mode: */ - return _sqlite3MisuseError(tls, int32(180859)) + return _sqlite3MisuseError(tls, int32(182304)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if zDb != 0 && *(*uint8)(unsafe.Pointer(zDb)) != 0 { @@ -167246,7 +168790,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in } if iDb < 0 { rc = int32(SQLITE_ERROR) - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24516, libc.VaList(bp+8, zDb)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24639, libc.VaList(bp+8, zDb)) } else { (*Tsqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = _sqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -167371,7 +168915,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) { return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM)) } if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(180995))) + return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(182440))) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -167504,7 +169048,7 @@ var _misuse = [34]Tu16{ // */ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181074)) + return _sqlite3MisuseError(tls, int32(182519)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -167514,7 +169058,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181083)) + return _sqlite3MisuseError(tls, int32(182528)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -167564,7 +169108,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui enc2 = int32(SQLITE_UTF16LE) } if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) { - return _sqlite3MisuseError(tls, int32(181131)) + return _sqlite3MisuseError(tls, int32(182576)) } /* Check if this call is removing or replacing an existing collation ** sequence. If so, and there are active VMs, return busy. If there @@ -167573,7 +169117,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui pColl = _sqlite3FindCollSeq(tls, db, uint8(enc2), zName, 0) if pColl != 0 && (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24537, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24660, 0) return int32(SQLITE_BUSY) } _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -167734,7 +169278,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u zVfs = zDefaultVfs nUri = _sqlite3Strlen30(tls, zUri) _ = libc.Int32FromInt32(0) - if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24605, uint64(5)) == 0 { /* Input character index */ + if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24728, uint64(5)) == 0 { /* Input character index */ iOut = 0 /* Output character index */ nByte = uint64(nUri + int32(8)) /* Bytes of space to allocate */ /* Make sure the SQLITE_OPEN_URI flag is set to indicate to the VFS xOpen @@ -167764,8 +169308,8 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u for *(*uint8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0 && int32(*(*uint8)(unsafe.Pointer(zUri + uintptr(iIn)))) != int32('/') { iIn++ } - if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24611, zUri+7, uint64(9)) != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24621, libc.VaList(bp+8, iIn-int32(7), zUri+7)) + if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24734, zUri+7, uint64(9)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24744, libc.VaList(bp+8, iIn-int32(7), zUri+7)) rc = int32(SQLITE_ERROR) goto parse_uri_out } @@ -167855,24 +169399,24 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u nOpt = _sqlite3Strlen30(tls, zOpt) zVal = zOpt + uintptr(nOpt+int32(1)) nVal = _sqlite3Strlen30(tls, zVal) - if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24649, zOpt, uint64(3)) == 0 { + if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24772, zOpt, uint64(3)) == 0 { zVfs = zVal } else { aMode = uintptr(0) zModeType = uintptr(0) mask = 0 limit = 0 - if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24653, zOpt, uint64(5)) == 0 { + if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24776, zOpt, uint64(5)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_SHAREDCACHE) | libc.Int32FromInt32(SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&_aCacheMode)) limit = mask - zModeType = __ccgo_ts + 24653 + zModeType = __ccgo_ts + 24776 } - if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24674, zOpt, uint64(4)) == 0 { + if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24797, zOpt, uint64(4)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_READONLY) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&_aOpenMode)) limit = int32(uint32(mask) & flags) - zModeType = __ccgo_ts + 3413 + zModeType = __ccgo_ts + 3477 } if aMode != 0 { mode = 0 @@ -167901,12 +169445,12 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u i++ } if mode == 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24689, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24812, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_ERROR) goto parse_uri_out } if mode & ^libc.Int32FromInt32(SQLITE_OPEN_MEMORY) > limit { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24709, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24832, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_PERM) goto parse_uri_out } @@ -167930,7 +169474,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u } *(*uintptr)(unsafe.Pointer(ppVfs)) = Xsqlite3_vfs_find(tls, zVfs) if *(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24733, libc.VaList(bp+8, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24856, libc.VaList(bp+8, zVfs)) rc = int32(SQLITE_ERROR) } goto parse_uri_out @@ -167950,11 +169494,11 @@ var _aCacheMode = [3]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24659, + Fz: __ccgo_ts + 24782, Fmode: int32(SQLITE_OPEN_SHAREDCACHE), }, 1: { - Fz: __ccgo_ts + 24666, + Fz: __ccgo_ts + 24789, Fmode: int32(SQLITE_OPEN_PRIVATECACHE), }, 2: {}, @@ -167965,19 +169509,19 @@ var _aOpenMode = [5]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24679, + Fz: __ccgo_ts + 24802, Fmode: int32(SQLITE_OPEN_READONLY), }, 1: { - Fz: __ccgo_ts + 24682, + Fz: __ccgo_ts + 24805, Fmode: int32(SQLITE_OPEN_READWRITE), }, 2: { - Fz: __ccgo_ts + 24685, + Fz: __ccgo_ts + 24808, Fmode: libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE), }, 3: { - Fz: __ccgo_ts + 17773, + Fz: __ccgo_ts + 17860, Fmode: int32(SQLITE_OPEN_MEMORY), }, 4: {}, @@ -168106,8 +169650,8 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16BE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+22360, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+24749, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+22505, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+24872, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto opendb_out } @@ -168131,7 +169675,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* READWRITE */ /* READWRITE | CREATE */ if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 { - rc = _sqlite3MisuseError(tls, int32(181803)) /* IMP: R-18321-05872 */ + rc = _sqlite3MisuseError(tls, int32(183248)) /* IMP: R-18321-05872 */ } else { rc = _sqlite3ParseUri(tls, zVfs, zFilename, bp, db, bp+8, bp+16) } @@ -168140,7 +169684,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _sqlite3OomFault(tls, db) } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { - v2 = __ccgo_ts + 3804 + v2 = __ccgo_ts + 3868 } else { v2 = uintptr(0) } @@ -168168,9 +169712,9 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* The default safety_level for the main database is FULL; for the temp ** database it is OFF. This matches the pager layer defaults. */ - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6594 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6658 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).Fsafety_level = uint8(libc.Int32FromInt32(SQLITE_DEFAULT_SYNCHRONOUS) + libc.Int32FromInt32(1)) - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23751 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23874 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).Fsafety_level = uint8(PAGER_SYNCHRONOUS_OFF) (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState = uint8(SQLITE_STATE_OPEN) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -168266,7 +169810,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) { return rc } if zFilename == uintptr(0) { - zFilename = __ccgo_ts + 24755 + zFilename = __ccgo_ts + 24878 } pVal = _sqlite3ValueNew(tls, uintptr(0)) _sqlite3ValueSetStr(tls, pVal, -int32(1), zFilename, uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(0)) @@ -168487,20 +170031,20 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) (r int32) { func _sqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, __ccgo_ts+24758, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) + Xsqlite3_log(tls, iErr, __ccgo_ts+24881, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) return iErr } func _sqlite3CorruptError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24783) + return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24906) } func _sqlite3MisuseError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24803) + return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24926) } func _sqlite3CantopenError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24810) + return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24933) } // C documentation @@ -168631,11 +170175,11 @@ error_out: } if SQLITE_OK == rc && !(pTab != 0) { _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24827, libc.VaList(bp+16, zTableName, zColumnName)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24950, libc.VaList(bp+16, zTableName, zColumnName)) rc = int32(SQLITE_ERROR) } if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - v3 = __ccgo_ts + 3804 + v3 = __ccgo_ts + 3868 } else { v3 = uintptr(0) } @@ -169664,7 +171208,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) (r int32) { var _ /* nOpt at bp+0 */ int32 _, _, _ = azCompileOpt, i, n azCompileOpt = _sqlite3CompileOptions(tls, bp) - if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24855, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24978, int32(7)) == 0 { zOptName += uintptr(7) } n = _sqlite3Strlen30(tls, zOptName) @@ -169886,7 +171430,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui _leaveMutex(tls) _ = libc.Int32FromInt32(0) if rc != 0 { - v2 = __ccgo_ts + 24863 + v2 = __ccgo_ts + 24986 } else { v2 = uintptr(0) } @@ -170769,23 +172313,23 @@ func _sqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { // ** string must correspond to the JSONB_* integer above. // */ var _jsonbType = [17]uintptr{ - 0: __ccgo_ts + 1643, - 1: __ccgo_ts + 7895, - 2: __ccgo_ts + 7900, - 3: __ccgo_ts + 6315, - 4: __ccgo_ts + 6315, - 5: __ccgo_ts + 6310, - 6: __ccgo_ts + 6310, - 7: __ccgo_ts + 8206, - 8: __ccgo_ts + 8206, - 9: __ccgo_ts + 8206, - 10: __ccgo_ts + 8206, - 11: __ccgo_ts + 24886, - 12: __ccgo_ts + 24892, - 13: __ccgo_ts + 1657, - 14: __ccgo_ts + 1657, - 15: __ccgo_ts + 1657, - 16: __ccgo_ts + 1657, + 0: __ccgo_ts + 1657, + 1: __ccgo_ts + 8020, + 2: __ccgo_ts + 8025, + 3: __ccgo_ts + 6379, + 4: __ccgo_ts + 6379, + 5: __ccgo_ts + 6374, + 6: __ccgo_ts + 6374, + 7: __ccgo_ts + 8331, + 8: __ccgo_ts + 8331, + 9: __ccgo_ts + 8331, + 10: __ccgo_ts + 8331, + 11: __ccgo_ts + 25009, + 12: __ccgo_ts + 25015, + 13: __ccgo_ts + 1671, + 14: __ccgo_ts + 1671, + 15: __ccgo_ts + 1671, + 16: __ccgo_ts + 1671, } // C documentation @@ -171556,6 +173100,46 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { _jsonAppendChar(tls, p, uint8(',')) } +// C documentation +// +// /* c is a control character. Append the canonical JSON representation +// ** of that control character to p. +// ** +// ** This routine assumes that the output buffer has already been enlarged +// ** sufficiently to hold the worst-case encoding plus a nul terminator. +// */ +func _jsonAppendControlChar(tls *libc.TLS, p uintptr, c Tu8) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if _aSpecial[c] != 0 { + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = uint8('\\') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = _aSpecial[c] + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(2) + } else { + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = uint8('\\') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = uint8('u') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(2)))) = uint8('0') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(3)))) = uint8('0') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(4)))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 25022 + uintptr(int32(c)>>int32(4)))) + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(5)))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 25022 + uintptr(int32(c)&int32(0xf)))) + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(6) + } +} + +var _aSpecial = [32]uint8{ + 8: uint8('b'), + 9: uint8('t'), + 10: uint8('n'), + 12: uint8('f'), + 13: uint8('r'), +} + // C documentation // // /* Append the N-byte string in zIn to the end of the JsonString string @@ -171569,9 +173153,9 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { var c Tu8 var k Tu32 - var z, v10, v12, v14, v16, v18, v2, v20, v22, v24, v6, v8 uintptr - var v1, v11, v13, v15, v17, v19, v21, v23, v5, v7, v9 Tu64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v5, v6, v7, v8, v9 + var z, v10, v2, v4, v6, v8 uintptr + var v1, v3, v5, v7, v9 Tu64 + _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v2, v3, v4, v5, v6, v7, v8, v9 z = zIn if z == uintptr(0) { return @@ -171628,91 +173212,41 @@ func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { N -= k } c = *(*Tu8)(unsafe.Pointer(z)) - if !(int32(c) == int32('"') || int32(c) == int32('\\')) { - goto _3 - } - goto json_simple_escape - json_simple_escape: - ; - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { - return - } - v6 = p + 24 - v5 = *(*Tu64)(unsafe.Pointer(v6)) - *(*Tu64)(unsafe.Pointer(v6))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = uint8('\\') - v8 = p + 24 - v7 = *(*Tu64)(unsafe.Pointer(v8)) - *(*Tu64)(unsafe.Pointer(v8))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = c - goto _4 - _3: - ; - if int32(c) == int32('\'') { - v10 = p + 24 - v9 = *(*Tu64)(unsafe.Pointer(v10)) - *(*Tu64)(unsafe.Pointer(v10))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = c - } else { - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - if _aSpecial[c] != 0 { - c = _aSpecial[c] - goto json_simple_escape - } - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + if int32(c) == int32('"') || int32(c) == int32('\\') { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { return } - v12 = p + 24 - v11 = *(*Tu64)(unsafe.Pointer(v12)) - *(*Tu64)(unsafe.Pointer(v12))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v11))) = uint8('\\') - v14 = p + 24 - v13 = *(*Tu64)(unsafe.Pointer(v14)) - *(*Tu64)(unsafe.Pointer(v14))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v13))) = uint8('u') - v16 = p + 24 - v15 = *(*Tu64)(unsafe.Pointer(v16)) - *(*Tu64)(unsafe.Pointer(v16))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v15))) = uint8('0') - v18 = p + 24 - v17 = *(*Tu64)(unsafe.Pointer(v18)) - *(*Tu64)(unsafe.Pointer(v18))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v17))) = uint8('0') - v20 = p + 24 - v19 = *(*Tu64)(unsafe.Pointer(v20)) - *(*Tu64)(unsafe.Pointer(v20))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v19))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 24899 + uintptr(int32(c)>>int32(4)))) - v22 = p + 24 - v21 = *(*Tu64)(unsafe.Pointer(v22)) - *(*Tu64)(unsafe.Pointer(v22))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v21))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 24899 + uintptr(int32(c)&int32(0xf)))) + v4 = p + 24 + v3 = *(*Tu64)(unsafe.Pointer(v4)) + *(*Tu64)(unsafe.Pointer(v4))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v3))) = uint8('\\') + v6 = p + 24 + v5 = *(*Tu64)(unsafe.Pointer(v6)) + *(*Tu64)(unsafe.Pointer(v6))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = c + } else { + if int32(c) == int32('\'') { + v8 = p + 24 + v7 = *(*Tu64)(unsafe.Pointer(v8)) + *(*Tu64)(unsafe.Pointer(v8))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = c + } else { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + return + } + _jsonAppendControlChar(tls, p, c) + } } - _4: - ; z++ N-- } - v24 = p + 24 - v23 = *(*Tu64)(unsafe.Pointer(v24)) - *(*Tu64)(unsafe.Pointer(v24))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v23))) = uint8('"') + v10 = p + 24 + v9 = *(*Tu64)(unsafe.Pointer(v10)) + *(*Tu64)(unsafe.Pointer(v10))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = uint8('"') _ = libc.Int32FromInt32(0) } -var _aSpecial = [32]uint8{ - 8: uint8('b'), - 9: uint8('t'), - 10: uint8('n'), - 12: uint8('f'), - 13: uint8('r'), -} - // C documentation // // /* @@ -171728,9 +173262,9 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _, _, _, _ = n, n1, z, z1 switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_NULL): - _jsonAppendRawNZ(tls, p, __ccgo_ts+1643, uint32(4)) + _jsonAppendRawNZ(tls, p, __ccgo_ts+1657, uint32(4)) case int32(SQLITE_FLOAT): - _jsonPrintf(tls, int32(100), p, __ccgo_ts+15332, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) + _jsonPrintf(tls, int32(100), p, __ccgo_ts+15425, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) case int32(SQLITE_INTEGER): z = Xsqlite3_value_text(tls, pValue) n = uint32(Xsqlite3_value_bytes(tls, pValue)) @@ -171751,7 +173285,7 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _jsonTranslateBlobToText(tls, bp, uint32(0), p) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr) == 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24916, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25039, -int32(1)) (*TJsonString)(unsafe.Pointer(p)).FeErr = uint8(JSTRING_ERR) _jsonStringReset(tls, p) } @@ -171807,7 +173341,7 @@ func _jsonReturnString(tls *libc.TLS, p uintptr, pParse uintptr, ctx uintptr) { Xsqlite3_result_error_nomem(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr)&int32(JSTRING_MALFORMED) != 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25068, -int32(1)) } } } @@ -172091,8 +173625,8 @@ var _aNanInfName = [5]TNanInfName{ Fn: uint8(3), FeType: uint8(JSONB_FLOAT), FnRepl: uint8(7), - FzMatch: __ccgo_ts + 24960, - FzRepl: __ccgo_ts + 24964, + FzMatch: __ccgo_ts + 25083, + FzRepl: __ccgo_ts + 25087, }, 1: { Fc1: uint8('i'), @@ -172100,32 +173634,32 @@ var _aNanInfName = [5]TNanInfName{ Fn: uint8(8), FeType: uint8(JSONB_FLOAT), FnRepl: uint8(7), - FzMatch: __ccgo_ts + 24972, - FzRepl: __ccgo_ts + 24964, + FzMatch: __ccgo_ts + 25095, + FzRepl: __ccgo_ts + 25087, }, 2: { Fc1: uint8('n'), Fc2: uint8('N'), Fn: uint8(3), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 1648, - FzRepl: __ccgo_ts + 1643, + FzMatch: __ccgo_ts + 1662, + FzRepl: __ccgo_ts + 1657, }, 3: { Fc1: uint8('q'), Fc2: uint8('Q'), Fn: uint8(4), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 24981, - FzRepl: __ccgo_ts + 1643, + FzMatch: __ccgo_ts + 25104, + FzRepl: __ccgo_ts + 1657, }, 4: { Fc1: uint8('s'), Fc2: uint8('S'), Fn: uint8(4), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 24986, - FzRepl: __ccgo_ts + 1643, + FzMatch: __ccgo_ts + 25109, + FzRepl: __ccgo_ts + 1657, }, } @@ -172140,7 +173674,7 @@ func _jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24991, libc.VaList(bp+8, zFuncName)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25114, libc.VaList(bp+8, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) } @@ -172594,30 +174128,37 @@ func _jsonbValidityCheck(tls *libc.TLS, pParse uintptr, i Tu32, iEnd Tu32, iDept return j + uint32(1) } } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) <= int32(0x1f) { + /* Control characters in JSON5 string literals are ok */ + if int32(x) == int32(JSONB_TEXTJ) { + return j + uint32(1) + } } else { - if libc.Xstrchr(tls, __ccgo_ts+25034, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { - j++ + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { + return j + uint32(1) } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { - if j+uint32(5) >= k { - return j + uint32(1) - } - if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { - return j + uint32(1) - } + if libc.Xstrchr(tls, __ccgo_ts+25157, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { j++ } else { - if int32(x) != int32(JSONB_TEXT5) { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { + if j+uint32(5) >= k { + return j + uint32(1) + } + if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { + return j + uint32(1) + } + j++ } else { - *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) - szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) - if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + if int32(x) != int32(JSONB_TEXT5) { return j + uint32(1) + } else { + *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) + szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) + if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + return j + uint32(1) + } + j += szC - uint32(1) } - j += szC - uint32(1) } } } @@ -173048,9 +174589,14 @@ parse_string: } } else { if int32(c) <= int32(0x1f) { - /* Control characters are not allowed in strings */ - (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j - return -int32(1) + if int32(c) == 0 { + (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j + return -int32(1) + } + /* Control characters are not allowed in canonical JSON string + ** literals, but are allowed in JSON5 string literals. */ + opcode = uint8(JSONB_TEXT5) + (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) } else { if int32(c) == int32('"') { opcode = uint8(JSONB_TEXT5) @@ -173064,7 +174610,7 @@ parse_string: return int32(j + uint32(1)) _5: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7895, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8020, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_TRUE)) return int32(i + uint32(4)) } @@ -173072,7 +174618,7 @@ _5: return -int32(1) _6: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7900, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(5))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8025, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(5))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_FALSE)) return int32(i + uint32(5)) } @@ -173153,14 +174699,14 @@ parse_number: /* JSON5 allows for "+Infinity" and "-Infinity" using exactly ** that case. SQLite also allows these in any case and it allows ** "+inf" and "-inf". */ - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+24960, int32(3)) == 0 { + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+25083, int32(3)) == 0 { (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('-') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25043) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25166) } else { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25050) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25173) } - if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25056, int32(5)) == 0 { + if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25179, int32(5)) == 0 { v48 = int32(9) } else { v48 = int32(4) @@ -173324,11 +174870,10 @@ _29: return -int32(1) _37: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1643, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1657, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) return int32(i + uint32(4)) } - /* fall-through into the default case that checks for NaN */ _38: ; c = *(*uint8)(unsafe.Pointer(z + uintptr(i))) @@ -173348,7 +174893,7 @@ _38: goto _51 } if int32(_aNanInfName[k1].FeType) == int32(JSONB_FLOAT) { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25050) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25173) } else { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) } @@ -173393,7 +174938,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 i += _json5Whitespace(tls, zJson+uintptr(i)) if *(*uint8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { if pCtx != 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25068, -int32(1)) } _jsonParseReset(tls, pParse) return int32(1) @@ -173406,7 +174951,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 if (*TJsonParse)(unsafe.Pointer(pParse)).Foom != 0 { Xsqlite3_result_error_nomem(tls, pCtx) } else { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25068, -int32(1)) } } _jsonParseReset(tls, pParse) @@ -173571,15 +175116,15 @@ func _jsonTranslateBlobToText(tls *libc.TLS, pParse uintptr, i Tu32, pOut uintpt goto _16 _2: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1643, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1657, uint32(4)) return i + uint32(1) _3: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7895, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8020, uint32(4)) return i + uint32(1) _4: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7900, uint32(5)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8025, uint32(5)) return i + uint32(1) _6: ; @@ -173628,9 +175173,9 @@ _7: k++ } if bOverflow != 0 { - v19 = __ccgo_ts + 24964 + v19 = __ccgo_ts + 25087 } else { - v19 = __ccgo_ts + 11762 + v19 = __ccgo_ts + 11887 } _jsonPrintf(tls, int32(100), pOut, v19, libc.VaList(bp+16, u)) goto _16 @@ -173678,7 +175223,7 @@ _11: for sz2 > uint32(0) { k2 = uint32(0) for { - if !(k2 < sz2 && int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('\\') && int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('"')) { + if !(k2 < sz2 && (_jsonIsOk[*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))] != 0 || int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) == int32('\''))) { break } goto _21 @@ -173695,7 +175240,16 @@ _11: sz2 -= k2 } if int32(*(*uint8)(unsafe.Pointer(zIn2))) == int32('"') { - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25062, uint32(2)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25185, uint32(2)) + zIn2++ + sz2-- + continue + } + if int32(*(*uint8)(unsafe.Pointer(zIn2))) <= int32(0x1f) { + if (*TJsonString)(unsafe.Pointer(pOut)).FnUsed+uint64(7) > (*TJsonString)(unsafe.Pointer(pOut)).FnAlloc && _jsonStringGrow(tls, pOut, uint32(7)) != 0 { + break + } + _jsonAppendControlChar(tls, pOut, *(*uint8)(unsafe.Pointer(zIn2))) zIn2++ sz2-- continue @@ -173711,7 +175265,7 @@ _11: case int32('\''): _jsonAppendChar(tls, pOut, uint8('\'')) case int32('v'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25065, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25188, uint32(6)) case int32('x'): if sz2 < uint32(4) { p23 = pOut + 33 @@ -173719,12 +175273,12 @@ _11: sz2 = uint32(2) break } - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25072, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25195, uint32(4)) _jsonAppendRawNZ(tls, pOut, zIn2+2, uint32(2)) zIn2 += uintptr(2) sz2 -= uint32(2) case int32('0'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25077, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25200, uint32(6)) case int32('\r'): if sz2 > uint32(2) && int32(*(*uint8)(unsafe.Pointer(zIn2 + 2))) == int32('\n') { zIn2++ @@ -173814,6 +175368,140 @@ _16: return i + n + *(*Tu32)(unsafe.Pointer(bp)) } +// C documentation +// +// /* Context for recursion of json_pretty() +// */ +type TJsonPretty = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty = TJsonPretty + +type TJsonPretty1 = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty1 = TJsonPretty1 + +// C documentation +// +// /* Append indentation to the pretty JSON under construction */ +func _jsonPrettyIndent(tls *libc.TLS, pPretty uintptr) { + var jj Tu32 + _ = jj + jj = uint32(0) + for { + if !(jj < (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent) { + break + } + _jsonAppendRaw(tls, (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut, (*TJsonPretty)(unsafe.Pointer(pPretty)).FzIndent, (*TJsonPretty)(unsafe.Pointer(pPretty)).FszIndent) + goto _1 + _1: + ; + jj++ + } +} + +// C documentation +// +// /* +// ** Translate the binary JSONB representation of JSON beginning at +// ** pParse->aBlob[i] into a JSON text string. Append the JSON +// ** text onto the end of pOut. Return the index in pParse->aBlob[] +// ** of the first byte past the end of the element that is translated. +// ** +// ** This is a variant of jsonTranslateBlobToText() that "pretty-prints" +// ** the output. Extra whitespace is inserted to make the JSON easier +// ** for humans to read. +// ** +// ** If an error is detected in the BLOB input, the pOut->eErr flag +// ** might get set to JSTRING_MALFORMED. But not all BLOB input errors +// ** are detected. So a malformed JSONB input might either result +// ** in an error, or in incorrect JSON. +// ** +// ** The pOut->eErr JSTRING_OOM flag is set on a OOM. +// */ +func _jsonTranslateBlobToPrettyText(tls *libc.TLS, pPretty uintptr, i Tu32) (r Tu32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var iEnd, j, n Tu32 + var pOut, pParse, p1, p2 uintptr + var _ /* sz at bp+0 */ Tu32 + _, _, _, _, _, _, _ = iEnd, j, n, pOut, pParse, p1, p2 + pParse = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpParse + pOut = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut + n = _jsonbPayloadSize(tls, pParse, i, bp) + if n == uint32(0) { + p1 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + return (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob + uint32(1) + } + switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { + case int32(JSONB_ARRAY): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, uint8('[')) + if j < iEnd { + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25207, uint32(2)) + } + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, uint8(']')) + i = iEnd + case int32(JSONB_OBJECT): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, uint8('{')) + if j < iEnd { + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToText(tls, pParse, j, pOut) + if j > iEnd { + p2 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p2)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p2))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25210, uint32(2)) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25207, uint32(2)) + } + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, uint8('}')) + i = iEnd + default: + i = _jsonTranslateBlobToText(tls, pParse, i, pOut) + break + } + return i +} + // C documentation // // /* Return true if the input pJson @@ -174541,7 +176229,7 @@ func _jsonReturnFromBlob(tls *libc.TLS, pParse uintptr, i Tu32, pCtx uintptr, te db = Xsqlite3_context_db_handle(tls, pCtx) n = _jsonbPayloadSize(tls, pParse, i, bp) if n == uint32(0) { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25068, -int32(1)) return } switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { @@ -174781,7 +176469,7 @@ returnfromblob_oom: goto returnfromblob_malformed returnfromblob_malformed: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25068, -int32(1)) return } @@ -174822,7 +176510,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob = Xsqlite3_value_blob(tls, pArg) (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob = uint32(Xsqlite3_value_bytes(tls, pArg)) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24916, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25039, -int32(1)) return int32(1) } case int32(SQLITE_TEXT): @@ -174835,7 +176523,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FzJson = zJson (*TJsonParse)(unsafe.Pointer(pParse)).FnJson = nJson if _jsonConvertTextToBlob(tls, pParse, ctx) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) _sqlite3DbFree(tls, (*TJsonParse)(unsafe.Pointer(pParse)).Fdb, (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob) libc.Xmemset(tls, pParse, 0, uint64(72)) return int32(1) @@ -174854,10 +176542,10 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin return int32(1) } if int32(*(*uint8)(unsafe.Pointer(z))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25050) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25173) } else { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('-') && int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25043) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25166) } else { _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(n), z) } @@ -174896,7 +176584,7 @@ func _jsonBadPathError(tls *libc.TLS, ctx uintptr, zPath uintptr) (r uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25084, libc.VaList(bp+8, zPath)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25213, libc.VaList(bp+8, zPath)) if ctx == uintptr(0) { return zMsg } @@ -174994,7 +176682,7 @@ jsonInsertIntoBlob_patherror: ; _jsonParseFree(tls, p) if rc == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) } else { _jsonBadPathError(tls, ctx, zPath) } @@ -175178,7 +176866,7 @@ json_pfa_malformed: return p } else { _jsonParseFree(tls, p) - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) return uintptr(0) } goto json_pfa_oom @@ -175313,7 +177001,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if int32(*(*uint8)(unsafe.Pointer(zPath))) == int32('$') { v1 = zPath + uintptr(1) } else { - v1 = __ccgo_ts + 25102 + v1 = __ccgo_ts + 25231 } i = _jsonLookupStep(tls, p, uint32(0), v1, uint32(0)) if i >= uint32(JSON_LOOKUP_PATHERROR) { @@ -175323,7 +177011,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) } } eErr = uint8(1) @@ -175341,25 +177029,6 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) _jsonParseFree(tls, p) } -// C documentation -// -// /* True if the string is all digits */ -func _jsonAllDigits(tls *libc.TLS, z uintptr, n int32) (r int32) { - var i int32 - _ = i - i = 0 - for { - if !(i < n && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _1 - _1: - ; - i++ - } - return libc.BoolInt32(i == n) -} - // C documentation // // /* True if the string is all alphanumerics and underscores */ @@ -175446,21 +177115,21 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { ** [NUMBER] ==> $[NUMBER] // Not PG. Purely for convenience */ _jsonStringInit(tls, bp, ctx) - if _jsonAllDigits(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25104, uint32(1)) + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) == int32(SQLITE_INTEGER) { + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25233, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+5170, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+5234, uint32(2)) } else { if _jsonAllAlphanum(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1670, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1684, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { if int32(*(*uint8)(unsafe.Pointer(zPath))) == int32('[') && nPath >= int32(3) && int32(*(*uint8)(unsafe.Pointer(zPath + uintptr(nPath-int32(1))))) == int32(']') { _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25106, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25235, uint32(2)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25109, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25238, uint32(1)) } } } @@ -175497,11 +177166,11 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { goto json_extract_error /* Return NULL if not found */ } else { _jsonAppendSeparator(tls, bp) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1643, uint32(4)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1657, uint32(4)) } } else { if j == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) goto json_extract_error } else { _jsonBadPathError(tls, ctx, zPath) @@ -175772,7 +177441,7 @@ func _jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == int32(JSON_MERGE_OOM) { Xsqlite3_result_error_nomem(tls, ctx) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) } } _jsonParseFree(tls, pPatch) @@ -175796,7 +177465,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { var _ /* jx at bp+0 */ TJsonString _, _, _ = i, n, z if argc&int32(1) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25111, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25240, -int32(1)) return } _jsonStringInit(tls, bp, ctx) @@ -175807,7 +177476,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { break } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != int32(SQLITE_TEXT) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25162, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25291, -int32(1)) _jsonStringReset(tls, bp) return } @@ -175879,7 +177548,7 @@ func _jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) } } goto json_remove_done @@ -175916,7 +177585,7 @@ func _jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { return } if argc&int32(1) == 0 { - _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15805) + _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15898) return } _jsonInsertIntoBlob(tls, ctx, argc, argv, int32(JEDIT_REPL)) @@ -175947,9 +177616,9 @@ func _jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { } if argc&int32(1) == 0 { if bIsSet != 0 { - v1 = __ccgo_ts + 25196 + v1 = __ccgo_ts + 25325 } else { - v1 = __ccgo_ts + 25200 + v1 = __ccgo_ts + 25329 } _jsonWrongNumArgs(tls, ctx, v1) return @@ -175997,7 +177666,7 @@ func _jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) } } goto json_type_done @@ -176012,6 +177681,48 @@ json_type_done: _jsonParseFree(tls, p) } +// C documentation +// +// /* +// ** json_pretty(JSON) +// ** json_pretty(JSON, INDENT) +// ** +// ** Return text that is a pretty-printed rendering of the input JSON. +// ** If the argument is not valid JSON, return NULL. +// ** +// ** The INDENT argument is text that is used for indentation. If omitted, +// ** it defaults to four spaces (the same as PostgreSQL). +// */ +func _jsonPrettyFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { + bp := tls.Alloc(176) + defer tls.Free(176) + var v1 uintptr + var v2 bool + var _ /* s at bp+0 */ TJsonString + var _ /* x at bp+136 */ TJsonPretty + _, _ = v1, v2 /* Pretty printing context */ + libc.Xmemset(tls, bp+136, 0, uint64(32)) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse = _jsonParseFuncArg(tls, ctx, *(*uintptr)(unsafe.Pointer(argv)), uint32(0)) + if (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse == uintptr(0) { + return + } + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpOut = bp + _jsonStringInit(tls, bp, ctx) + if v2 = argc == int32(1); !v2 { + v1 = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = v1 + } + if v2 || v1 == uintptr(0) { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = __ccgo_ts + 25336 + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(4) + } else { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(libc.Xstrlen(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent)) + } + _jsonTranslateBlobToPrettyText(tls, bp+136, uint32(0)) + _jsonReturnString(tls, bp, uintptr(0), uintptr(0)) + _jsonParseFree(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse) +} + // C documentation // // /* @@ -176086,7 +177797,7 @@ func _jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if argc == int32(2) { f = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if f < int64(1) || f > int64(15) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25207, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25341, -int32(1)) return } flags = uint8(f & int64(0x0f)) @@ -176276,7 +177987,7 @@ func _jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25264, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25398, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -176425,7 +178136,7 @@ func _jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25267, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25401, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -176528,7 +178239,7 @@ func _jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argv _ = argc _ = pAux - rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25270) + rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25404) if rc == SQLITE_OK { pNew = _sqlite3DbMallocZero(tls, db, uint64(32)) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -176664,7 +178375,7 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TJsonEachCursor)(unsafe.Pointer(p)).FeType) == int32(JSONB_ARRAY) { - _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25353, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) + _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25487, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) } else { *(*Tu32)(unsafe.Pointer(bp)) = uint32(0) needQuote = 0 @@ -176690,9 +178401,9 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { } } if needQuote != 0 { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25360, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25494, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } else { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25368, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25502, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } } } @@ -177082,7 +178793,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a i = v5 (*TJsonEachCursor)(unsafe.Pointer(p)).FeType = uint8(0) (*TJsonEachCursor)(unsafe.Pointer(p)).FnRoot = uint32(1) - _jsonAppendRaw(tls, p+56, __ccgo_ts+25374, uint32(1)) + _jsonAppendRaw(tls, p+56, __ccgo_ts+25508, uint32(1)) } (*TJsonEachCursor)(unsafe.Pointer(p)).FnParent = uint32(0) n = _jsonbPayloadSize(tls, p+192, i, bp) @@ -177106,7 +178817,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a json_each_malformed_input: ; Xsqlite3_free(tls, (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg) - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24945, 0) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25068, 0) _jsonEachCursorReset(tls, p) if (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { v6 = int32(SQLITE_ERROR) @@ -177160,183 +178871,193 @@ func init() { // ** Register JSON functions. // */ func _sqlite3RegisterJsonFunctions(tls *libc.TLS) { - _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2304)/libc.Uint64FromInt64(72))) + _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2448)/libc.Uint64FromInt64(72))) } -var _aJsonFunc = [32]TFuncDef{ +var _aJsonFunc = [34]TFuncDef{ 0: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25376, + FzName: __ccgo_ts + 25510, }, 1: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25381, + FzName: __ccgo_ts + 25515, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25387, + FzName: __ccgo_ts + 25521, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25398, + FzName: __ccgo_ts + 25532, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25410, + FzName: __ccgo_ts + 25544, }, 5: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25410, + FzName: __ccgo_ts + 25544, }, 6: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25428, + FzName: __ccgo_ts + 25562, }, 7: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25448, + FzName: __ccgo_ts + 25582, }, 8: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25461, + FzName: __ccgo_ts + 25595, }, 9: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_JSON) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25475, + FzName: __ccgo_ts + 25609, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_SQL) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25478, + FzName: __ccgo_ts + 25612, }, 11: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25482, + FzName: __ccgo_ts + 25616, }, 12: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25494, + FzName: __ccgo_ts + 25628, }, 13: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25507, + FzName: __ccgo_ts + 25641, }, 14: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25519, + FzName: __ccgo_ts + 25653, }, 15: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25532, + FzName: __ccgo_ts + 25666, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25543, + FzName: __ccgo_ts + 25677, }, 17: { FnArg: int8(1), - FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25555, + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25689, }, 18: { + FnArg: int8(2), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25689, + }, + 19: { + FnArg: int8(1), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25701, + }, + 20: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25566, + FzName: __ccgo_ts + 25712, }, - 19: { + 21: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25578, + FzName: __ccgo_ts + 25724, }, - 20: { + 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25591, + FzName: __ccgo_ts + 25737, }, - 21: { + 23: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25604, + FzName: __ccgo_ts + 25750, }, - 22: { + 24: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25618, + FzName: __ccgo_ts + 25764, }, - 23: { + 25: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25627, + FzName: __ccgo_ts + 25773, }, - 24: { + 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25637, + FzName: __ccgo_ts + 25783, }, - 25: { + 27: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25637, + FzName: __ccgo_ts + 25783, }, - 26: { + 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25647, + FzName: __ccgo_ts + 25793, }, - 27: { + 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25647, + FzName: __ccgo_ts + 25793, }, - 28: { + 30: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25658, + FzName: __ccgo_ts + 25804, }, - 29: { + 31: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25675, + FzName: __ccgo_ts + 25821, }, - 30: { + 32: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25693, + FzName: __ccgo_ts + 25839, }, - 31: { + 33: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25711, + FzName: __ccgo_ts + 25857, }, } @@ -177359,33 +179080,35 @@ func init() { *(*uintptr)(unsafe.Add(p, 1032)) = __ccgo_fp(_jsonObjectFunc) *(*uintptr)(unsafe.Add(p, 1104)) = __ccgo_fp(_jsonPatchFunc) *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonPatchFunc) - *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonQuoteFunc) - *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2048)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2056)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2064)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2120)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2128)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2136)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonQuoteFunc) + *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2208)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2280)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2328)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2336)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2344)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2352)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2400)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2408)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2416)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2424)) = __ccgo_fp(_jsonGroupInverse) } // C documentation @@ -177417,11 +179140,11 @@ var _aMod = [2]struct { FpModule uintptr }{ 0: { - FzName: __ccgo_ts + 25730, + FzName: __ccgo_ts + 25876, FpModule: uintptr(unsafe.Pointer(&_jsonEachModule)), }, 1: { - FzName: __ccgo_ts + 25740, + FzName: __ccgo_ts + 25886, FpModule: uintptr(unsafe.Pointer(&_jsonTreeModule)), }, } @@ -178074,7 +179797,7 @@ func _nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode Ti64, pParent uintptr, pp } } if (*TRtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) { - rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25750, iNode, 0, pRtree+112) + rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25896, iNode, 0, pRtree+112) } if rc != 0 { *(*uintptr)(unsafe.Pointer(ppNode)) = uintptr(0) @@ -178386,7 +180109,7 @@ func _rtreeDestroy(tls *libc.TLS, pVtab uintptr) (r int32) { var rc int32 _, _, _ = pRtree, rc, zCreate pRtree = pVtab - zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25755, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25901, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if !(zCreate != 0) { rc = int32(SQLITE_NOMEM) } else { @@ -179320,7 +181043,7 @@ func _findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid Ti64, ppLeaf uintptr, p func _deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) (r int32) { var pBlob, pInfo, pSrc uintptr _, _, _ = pBlob, pInfo, pSrc /* Callback information */ - pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25837) + pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25983) if pSrc == uintptr(0) { return int32(SQLITE_ERROR) } @@ -179375,7 +181098,7 @@ func _rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp iRowid = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) *(*Ti64)(unsafe.Pointer(bp + 24)) = 0 eType = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) == float64(iRowid) { + if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && 0 == _sqlite3IntFloatCompare(tls, iRowid, Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))) { rc = _findLeafNode(tls, pRtree, iRowid, bp+16, bp+24) } else { rc = SQLITE_OK @@ -180864,7 +182587,7 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) _, _, _, _, _, _ = rc, zCol, zCol1, zCol2, zSql, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) _ = libc.Int32FromInt32(0) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25851, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25997, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -int32(1), bp, uintptr(0)) } else { @@ -180874,11 +182597,11 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) if rc == SQLITE_OK { if iCol == 0 { zCol = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25871, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26017, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { zCol1 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol) zCol2 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol+int32(1)) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25903, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26049, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -181057,6 +182780,7 @@ func _rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) (r int32) { var pRtree uintptr _ = pRtree pRtree = pVtab + _ = libc.Int32FromInt32(0) (*TRtree)(unsafe.Pointer(pRtree)).FinWrTrans = uint8(1) return SQLITE_OK } @@ -181093,7 +182817,7 @@ func _rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) (r int32) { _, _, _ = pRtree, rc, zSql pRtree = pVtab rc = int32(SQLITE_NOMEM) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25940, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26086, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) if zSql != 0 { _nodeBlobReset(tls, pRtree) rc = Xsqlite3_exec(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -181147,9 +182871,9 @@ func _rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) (r int32) { var v2 int64 var _ /* p at bp+0 */ uintptr _, _, _, _, _, _ = nRow, rc, zFmt, zSql, v1, v2 - zFmt = __ccgo_ts + 26085 + zFmt = __ccgo_ts + 26231 nRow = int64(RTREE_MIN_ROWEST) - rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11591, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11716, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == int32(SQLITE_ERROR) { @@ -181207,9 +182931,9 @@ func _rtreeShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName1 = [3]uintptr{ - 0: __ccgo_ts + 26141, - 1: __ccgo_ts + 5493, - 2: __ccgo_ts + 16703, + 0: __ccgo_ts + 26287, + 1: __ccgo_ts + 5557, + 2: __ccgo_ts + 16790, } var _rtreeModule = Tsqlite3_module{ @@ -181253,21 +182977,21 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref (*TRtree)(unsafe.Pointer(pRtree)).Fdb = db if isCreate != 0 { p = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26555, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26701, libc.VaList(bp+8, zDb, zPrefix)) ii = 0 for { if !(ii < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26617, libc.VaList(bp+8, ii)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26763, libc.VaList(bp+8, ii)) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26622, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26686, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26756, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26768, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26832, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26902, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return int32(SQLITE_NOMEM) @@ -181297,7 +183021,7 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } else { /* An UPSERT is very slightly slower than REPLACE, but it is needed ** if there are auxiliary columns */ - zFormat = __ccgo_ts + 26805 + zFormat = __ccgo_ts + 26951 } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+8, zDb, zPrefix)) if zSql != 0 { @@ -181312,31 +183036,31 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref i++ } if (*TRtree)(unsafe.Pointer(pRtree)).FnAux != 0 && rc != int32(SQLITE_NOMEM) { - (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+26913, libc.VaList(bp+8, zDb, zPrefix)) + (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+27059, libc.VaList(bp+8, zDb, zPrefix)) if (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { p1 = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26958, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27104, libc.VaList(bp+8, zDb, zPrefix)) ii1 = 0 for { if !(ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } if ii1 != 0 { - Xsqlite3_str_append(tls, p1, __ccgo_ts+13099, int32(1)) + Xsqlite3_str_append(tls, p1, __ccgo_ts+13224, int32(1)) } if ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26985, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27131, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) } else { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27007, libc.VaList(bp+8, ii1, ii1+int32(2))) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27153, libc.VaList(bp+8, ii1, ii1+int32(2))) } goto _3 _3: ; ii1++ } - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27015, 0) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27161, 0) zSql1 = Xsqlite3_str_finish(tls, p1) if zSql1 == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -181350,14 +183074,14 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } var _azSql = [8]uintptr{ - 0: __ccgo_ts + 26146, - 1: __ccgo_ts + 26199, - 2: __ccgo_ts + 26244, - 3: __ccgo_ts + 26296, - 4: __ccgo_ts + 26350, - 5: __ccgo_ts + 26395, - 6: __ccgo_ts + 26453, - 7: __ccgo_ts + 26508, + 0: __ccgo_ts + 26292, + 1: __ccgo_ts + 26345, + 2: __ccgo_ts + 26390, + 3: __ccgo_ts + 26442, + 4: __ccgo_ts + 26496, + 5: __ccgo_ts + 26541, + 6: __ccgo_ts + 26599, + 7: __ccgo_ts + 26654, } // C documentation @@ -181415,7 +183139,7 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE _, _ = rc, zSql if isCreate != 0 { *(*int32)(unsafe.Pointer(bp)) = 0 - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27031, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27177, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) rc = _getIntFromStmt(tls, db, zSql, bp) if rc == SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp)) - int32(64) @@ -181423,17 +183147,17 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = int32(4) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*int32(RTREE_MAXCELLS) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27051, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27197, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) rc = _getIntFromStmt(tls, db, zSql, pRtree+32) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } else { if (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize < libc.Int32FromInt32(512)-libc.Int32FromInt32(64) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< libc.Int32FromInt32(RTREE_MAX_AUX_COLUMN)+libc.Int32FromInt32(3) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) return int32(SQLITE_ERROR) } Xsqlite3_vtab_config(tls, db, int32(SQLITE_VTAB_CONSTRAINT_SUPPORT), libc.VaList(bp+8, int32(1))) @@ -181510,13 +183234,13 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27294, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27440, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27300, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27446, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = int32(4) for { if !(ii < argc) { @@ -181525,7 +183249,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt zArg = *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)) if int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('+') { (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27324, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27470, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) } else { if int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux) > 0 { break @@ -181539,19 +183263,19 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27351, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27497, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) } else { if ii < argc { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, aErrMsg[int32(4)])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, aErrMsg[int32(4)])) rc = int32(SQLITE_ERROR) } else { v3 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v3 if SQLITE_OK != v3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } } @@ -181574,7 +183298,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } } if iErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, aErrMsg[iErr])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, aErrMsg[iErr])) goto rtreeInit_fail } (*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell = uint8(int32(8) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnDim2)*int32(4)) @@ -181585,7 +183309,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -181603,8 +183327,8 @@ rtreeInit_fail: } var _azFormat = [2]uintptr{ - 0: __ccgo_ts + 27330, - 1: __ccgo_ts + 27341, + 0: __ccgo_ts + 27476, + 1: __ccgo_ts + 27487, } // C documentation @@ -181662,21 +183386,21 @@ func _rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { } _nodeGetCell(tls, bp+40, bp, ii, bp+1008) if ii > 0 { - Xsqlite3_str_append(tls, pOut, __ccgo_ts+11211, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+11336, int32(1)) } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27354, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27500, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) jj = 0 for { if !(jj < int32((*(*TRtree)(unsafe.Pointer(bp + 40))).FnDim2)) { break } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27360, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27506, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) goto _2 _2: ; jj++ } - Xsqlite3_str_append(tls, pOut, __ccgo_ts+27364, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+27510, int32(1)) goto _1 _1: ; @@ -181703,7 +183427,7 @@ func _rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { _ = zBlob _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != int32(SQLITE_BLOB) || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+27366, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+27512, -int32(1)) } else { zBlob = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -181821,11 +183545,11 @@ func _rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintpt (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } else { if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - v1 = __ccgo_ts + 4212 + v1 = __ccgo_ts + 4276 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27399, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27545, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } @@ -181859,7 +183583,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt _, _, _ = nNode, pNode, pRet pRet = uintptr(0) /* Return value */ if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) { - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27406, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27552, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { Xsqlite3_bind_int64(tls, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode, int32(1), iNode) @@ -181876,7 +183600,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt } _rtreeCheckReset(tls, pCheck, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27451, libc.VaList(bp+8, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27597, libc.VaList(bp+8, iNode)) } } return pRet @@ -181905,8 +183629,8 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i var rc int32 _, _, _, _, _, _ = azSql, ii, pStmt, rc, v1, v2 azSql = [2]uintptr{ - 0: __ccgo_ts + 27483, - 1: __ccgo_ts + 27537, + 0: __ccgo_ts + 27629, + 1: __ccgo_ts + 27683, } _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) { @@ -181920,21 +183644,21 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i rc = Xsqlite3_step(tls, pStmt) if rc == int32(SQLITE_DONE) { if bLeaf != 0 { - v1 = __ccgo_ts + 27585 + v1 = __ccgo_ts + 27731 } else { - v1 = __ccgo_ts + 27593 + v1 = __ccgo_ts + 27739 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27602, libc.VaList(bp+8, iKey, iVal, v1)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27748, libc.VaList(bp+8, iKey, iVal, v1)) } else { if rc == int32(SQLITE_ROW) { ii = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { if bLeaf != 0 { - v2 = __ccgo_ts + 27585 + v2 = __ccgo_ts + 27731 } else { - v2 = __ccgo_ts + 27593 + v2 = __ccgo_ts + 27739 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27647, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27793, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) } } } @@ -181979,7 +183703,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 v2 = libc.BoolInt32(*(*TRtreeValue)(unsafe.Pointer(bp)) > *(*TRtreeValue)(unsafe.Pointer(bp + 4))) } if v2 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27705, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27851, libc.VaList(bp+24, i, iCell, iNode)) } if pParent != 0 { _readCoord(tls, pParent+uintptr(libc.Int32FromInt32(4)*libc.Int32FromInt32(2)*i), bp+8) @@ -181997,7 +183721,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 } } if v5 || v4 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27753, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27899, libc.VaList(bp+24, i, iCell, iNode)) } } goto _1 @@ -182032,19 +183756,19 @@ func _rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintpt aNode = _rtreeCheckGetNode(tls, pCheck, iNode, bp) if aNode != 0 { if *(*int32)(unsafe.Pointer(bp)) < int32(4) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27820, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27966, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) } else { /* Used to iterate through cells */ if aParent == uintptr(0) { iDepth = _readInt16(tls, aNode) if iDepth > int32(RTREE_MAX_DEPTH) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27854, libc.VaList(bp+16, iDepth)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28000, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = _readInt16(tls, aNode+2) if int32(4)+nCell*(int32(8)+(*TRtreeCheck)(unsafe.Pointer(pCheck)).FnDim*int32(2)*int32(4)) > *(*int32)(unsafe.Pointer(bp)) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27884, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28030, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) } else { i = 0 for { @@ -182089,12 +183813,12 @@ func _rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect Ti64) var pCount uintptr _, _ = nActual, pCount if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { - pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27939, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) + pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28085, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) if pCount != 0 { if Xsqlite3_step(tls, pCount) == int32(SQLITE_ROW) { nActual = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27970, libc.VaList(bp+8, zTbl, nExpect, nActual)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28116, libc.VaList(bp+8, zTbl, nExpect, nActual)) } } (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -182123,7 +183847,7 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzDb = zDb (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzTab = zTab /* Find the number of auxiliary columns */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28037, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28183, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { nAux = Xsqlite3_column_count(tls, pStmt) - int32(2) Xsqlite3_finalize(tls, pStmt) @@ -182133,11 +183857,11 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe } } /* Find number of dimensions in the rtree table. */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25851, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25997, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim = (Xsqlite3_column_count(tls, pStmt) - int32(1) - nAux) / int32(2) if (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim < int32(1) { - _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28065, 0) + _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28211, 0) } else { if int32(SQLITE_ROW) == Xsqlite3_step(tls, pStmt) { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FbInt = libc.BoolInt32(Xsqlite3_column_type(tls, pStmt, int32(1)) == int32(SQLITE_INTEGER)) @@ -182153,8 +183877,8 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe if (*(*TRtreeCheck)(unsafe.Pointer(bp))).Frc == SQLITE_OK { _rtreeCheckNode(tls, bp, 0, uintptr(0), int64(1)) } - _rtreeCheckCount(tls, bp, __ccgo_ts+28096, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) - _rtreeCheckCount(tls, bp, __ccgo_ts+28103, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28242, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28249, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) } /* Finalize SQL statements used by the integrity-check */ Xsqlite3_finalize(tls, (*(*TRtreeCheck)(unsafe.Pointer(bp))).FpGetNode) @@ -182182,7 +183906,7 @@ func _rtreeIntegrity(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zName uintpt _ = isQuick rc = _rtreeCheckTable(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, pzErr) if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28111, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28257, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) if *(*uintptr)(unsafe.Pointer(pzErr)) == uintptr(0) { rc = int32(SQLITE_NOMEM) } @@ -182233,13 +183957,13 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { var _ /* zReport at bp+0 */ uintptr _, _, _, _ = rc, zDb, zTab, v1 if nArg != int32(1) && nArg != int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+28130, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+28276, -int32(1)) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zDb = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg))) if nArg == int32(1) { zTab = zDb - zDb = __ccgo_ts + 6594 + zDb = __ccgo_ts + 6658 } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -182248,7 +183972,7 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { if *(*uintptr)(unsafe.Pointer(bp)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(bp)) } else { - v1 = __ccgo_ts + 18470 + v1 = __ccgo_ts + 18557 } Xsqlite3_result_text(tls, ctx, v1, -int32(1), uintptr(-libc.Int32FromInt32(1))) } else { @@ -182715,19 +184439,19 @@ func _geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) if p != 0 { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) - Xsqlite3_str_append(tls, x, __ccgo_ts+25104, int32(1)) + Xsqlite3_str_append(tls, x, __ccgo_ts+25233, int32(1)) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28181, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28327, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28192, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28338, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -182756,20 +184480,20 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) cSep = uint8('\'') - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28203, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28349, 0) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28221, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28367, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) cSep = uint8(' ') goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28229, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28375, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) i = int32(1) for { if !(i < argc) { @@ -182777,14 +184501,14 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if z != 0 && *(*uint8)(unsafe.Pointer(z)) != 0 { - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28237, libc.VaList(bp+8, z)) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28383, libc.VaList(bp+8, z)) } goto _2 _2: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28241, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28387, 0) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -183914,13 +185638,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27294, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27440, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28254, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28400, 0) (*TRtree)(unsafe.Pointer(pRtree)).FnAux = uint8(1) /* Add one for _shape */ (*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = uint8(1) /* The _shape column is always not-null */ ii = int32(3) @@ -183929,13 +185653,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint break } (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28276, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28422, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27351, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27497, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) @@ -183943,7 +185667,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint v2 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v2 if SQLITE_OK != v2 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } Xsqlite3_free(tls, zSql) @@ -183958,7 +185682,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -184175,7 +185899,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iRowidTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(1) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16703 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16790 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).Fomit = uint8(1) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(30) @@ -184185,7 +185909,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iFuncTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28280 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28426 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).Fomit = uint8(0) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(300) @@ -184193,7 +185917,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { return SQLITE_OK } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(4) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28286 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28432 (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(3e+06) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -184315,7 +186039,7 @@ func _geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pR _geopolyBBox(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(aData + 2*8)), bp+8+8, bp) if *(*int32)(unsafe.Pointer(bp)) != 0 { if *(*int32)(unsafe.Pointer(bp)) == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28295, 0) + (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28441, 0) } goto geopoly_update_end } @@ -184419,12 +186143,12 @@ geopoly_update_end: func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) { _ = pVtab _ = nArg - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28335) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28481) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION) } - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28351) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28497) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1) @@ -184495,7 +186219,7 @@ func _sqlite3_geopoly_init(tls *libc.TLS, db uintptr) (r int32) { i++ } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28528, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28674, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -184509,61 +186233,61 @@ var _aFunc = [12]struct { 0: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28366, + FzName: __ccgo_ts + 28512, }, 1: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28379, + FzName: __ccgo_ts + 28525, }, 2: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28392, + FzName: __ccgo_ts + 28538, }, 3: { FnArg: int8(-int32(1)), FbPure: uint8(1), - FzName: __ccgo_ts + 28405, + FzName: __ccgo_ts + 28551, }, 4: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28351, + FzName: __ccgo_ts + 28497, }, 5: { FnArg: int8(3), FbPure: uint8(1), - FzName: __ccgo_ts + 28417, + FzName: __ccgo_ts + 28563, }, 6: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28335, + FzName: __ccgo_ts + 28481, }, 7: { FnArg: int8(1), - FzName: __ccgo_ts + 28440, + FzName: __ccgo_ts + 28586, }, 8: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28454, + FzName: __ccgo_ts + 28600, }, 9: { FnArg: int8(7), FbPure: uint8(1), - FzName: __ccgo_ts + 28467, + FzName: __ccgo_ts + 28613, }, 10: { FnArg: int8(4), FbPure: uint8(1), - FzName: __ccgo_ts + 28481, + FzName: __ccgo_ts + 28627, }, 11: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28497, + FzName: __ccgo_ts + 28643, }, } @@ -184589,7 +186313,7 @@ var _aAgg = [1]struct { FzName uintptr }{ 0: { - FzName: __ccgo_ts + 28509, + FzName: __ccgo_ts + 28655, }, } @@ -184614,20 +186338,20 @@ func _sqlite3RtreeInit(tls *libc.TLS, db uintptr) (r int32) { var rc, utf8 int32 _, _, _, _ = c, c1, rc, utf8 utf8 = int32(SQLITE_UTF8) - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28536, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28682, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28546, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28692, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28557, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28703, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { c = libc.UintptrFromInt32(RTREE_COORD_REAL32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28280, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28426, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { c1 = libc.UintptrFromInt32(RTREE_COORD_INT32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28568, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28714, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) } if rc == SQLITE_OK { rc = _sqlite3_geopoly_init(tls, db) @@ -184729,7 +186453,7 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { Xsqlite3_result_error_nomem(tls, ctx) _rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25837, __ccgo_fp(_rtreeMatchArgFree)) + Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25983, __ccgo_fp(_rtreeMatchArgFree)) } } } @@ -185947,7 +187671,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt /* Figure out the size of the output */ nOut = _rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+28578, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28724, -int32(1)) return } aOut = Xsqlite3_malloc(tls, nOut+int32(1)) @@ -185957,7 +187681,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt nOut2 = _rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut) if nOut2 != nOut { Xsqlite3_free(tls, aOut) - Xsqlite3_result_error(tls, context, __ccgo_ts+28578, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28724, -int32(1)) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, __ccgo_fp(Xsqlite3_free)) } @@ -185983,7 +187707,7 @@ func _prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg _ = rc rc = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -186006,7 +187730,7 @@ func _resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) (r in _ = rc rc = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -186139,7 +187863,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { /* Free any SQLite statements used while processing the previous object */ _rbuObjIterClearStatements(tls, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28599, uintptr(0), uintptr(0), p+64) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28745, uintptr(0), uintptr(0), p+64) } if rc == SQLITE_OK { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 { @@ -186149,6 +187873,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { if rc != int32(SQLITE_ROW) { rc = _resetAndCollectError(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, p+64) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = uintptr(0) + (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = uintptr(0) } else { (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, 0) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, int32(1)) @@ -186229,7 +187954,7 @@ func _rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { Xsqlite3_result_text(tls, pCtx, zIn, -int32(1), libc.UintptrFromInt32(0)) } } else { - if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25750, zIn, uint64(4)) == 0 { + if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25896, zIn, uint64(4)) == 0 { i = int32(4) for { if !(int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) <= int32('9')) { @@ -186266,13 +187991,13 @@ func _rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { _, _ = rc, v1 libc.Xmemset(tls, pIter, 0, uint64(192)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 28770 + v1 = __ccgo_ts + 28916 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28811, libc.VaList(bp+8, v1))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28957, libc.VaList(bp+8, v1))) if rc == SQLITE_OK { - rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+28961) + rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+29107) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = int32(1) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -186440,7 +188165,7 @@ func _rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { rc = Xsqlite3_finalize(tls, pStmt) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && rc != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } @@ -186502,7 +188227,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 _ = libc.Int32FromInt32(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29086, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29232, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0]) != int32(SQLITE_ROW) { /* Either an error, or no such table. */ goto rbuTableType_end @@ -186512,7 +188237,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0], int32(1)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29205, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29351, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { goto rbuTableType_end } @@ -186520,7 +188245,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu zOrig = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(3)) zIdx = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(1)) if zOrig != 0 && zIdx != 0 && int32(*(*Tu8)(unsafe.Pointer(zOrig))) == int32('p') { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29226, libc.VaList(bp+40, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29372, libc.VaList(bp+40, zIdx))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)]) == int32(SQLITE_ROW) { *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)], 0) @@ -186532,7 +188257,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29277, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29423, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { for Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)]) == int32(SQLITE_ROW) { if Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)], int32(5)) > 0 { @@ -186576,7 +188301,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { bIndex = 0 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.Xmemcpy(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29298, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29444, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -186589,7 +188314,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { if bPartial != 0 { libc.Xmemset(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, int32(0x01), uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29326, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29472, libc.VaList(bp+24, zIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) if iCid >= 0 { @@ -186643,7 +188368,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 _rbuTableType(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+8, pIter+108) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+19913, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+20045, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc @@ -186655,7 +188380,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 /* Populate the azTblCol[] and nTblCol variables based on the columns ** of the input table. Ignore any input table columns that begin with ** "rbu_". */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29355, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29501, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp))) _rbuAllocateIterArrays(tls, p, pIter, nCol) @@ -186666,7 +188391,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 break } zName = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), i) - if Xsqlite3_strnicmp(tls, __ccgo_ts+29374, zName, int32(4)) != 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+29520, zName, int32(4)) != 0 { zCopy = _rbuStrndup(tls, zName, p+56) *(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol v3 = pIter + 16 @@ -186674,7 +188399,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 *(*int32)(unsafe.Pointer(v3))++ *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(v2)*8)) = zCopy } else { - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29379, zName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29525, zName) { bRbuRowid = int32(1) } } @@ -186688,17 +188413,17 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && bRbuRowid != libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) if bRbuRowid != 0 { - v4 = __ccgo_ts + 29389 + v4 = __ccgo_ts + 29535 } else { - v4 = __ccgo_ts + 29402 + v4 = __ccgo_ts + 29548 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29411, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29557, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) } /* Check that all non-HIDDEN columns in the destination table are also ** present in the input table. Populate the abTblPk[], azTblType[] and ** aiTblOrder[] arrays at the same time. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29440, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29586, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zName1 = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -186720,7 +188445,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 } if i == (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29462, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29608, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) } else { iPk = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) bNotNull = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) @@ -186762,15 +188487,15 @@ func _rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) var z, zList, zSep uintptr _, _, _, _ = i, z, zList, zSep zList = uintptr(0) - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } z = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+29489, libc.VaList(bp+8, zList, zSep, z)) - zSep = __ccgo_ts + 14999 + zList = _rbuMPrintf(tls, p, __ccgo_ts+29635, libc.VaList(bp+8, zList, zSep, z)) + zSep = __ccgo_ts + 15092 goto _1 _1: ; @@ -186795,7 +188520,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, _, _, _, _, _ = i, iPk, zCol, zRet, zSep iPk = int32(1) zRet = uintptr(0) - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 for int32(1) != 0 { i = 0 for { @@ -186804,7 +188529,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, } if int32(*(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29498, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29644, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -186852,21 +188577,21 @@ func _rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zRet = uintptr(0) if bRowid != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29511, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29657, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iMax = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29543, libc.VaList(bp+16, iMax)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29689, libc.VaList(bp+16, iMax)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1657, __ccgo_ts+14999, __ccgo_ts+29566) - zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29572, __ccgo_ts+29579, __ccgo_ts+5115) - zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1657, __ccgo_ts+14999, __ccgo_ts+1657) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1671, __ccgo_ts+15092, __ccgo_ts+29712) + zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29718, __ccgo_ts+29725, __ccgo_ts+5179) + zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1671, __ccgo_ts+15092, __ccgo_ts+1671) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29587, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29733, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zVal = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29629, libc.VaList(bp+16, zList, zVal)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29775, libc.VaList(bp+16, zList, zVal)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } @@ -186915,10 +188640,10 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 iCol = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29326, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29472, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(4)) @@ -186941,15 +188666,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _ = libc.Int32FromInt32(0) zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { - zCol = __ccgo_ts + 29649 + zCol = __ccgo_ts + 29795 } } else { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) } - zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29657, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29678, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29714, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) - zSep = __ccgo_ts + 14999 + zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29803, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29824, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) + zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29860, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) + zSep = __ccgo_ts + 15092 iCol++ } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) @@ -186958,9 +188683,9 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29741, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29887, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 iCol = 0 for { if !(iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -186975,15 +188700,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { break } } - zVector = _rbuMPrintf(tls, p, __ccgo_ts+29789, libc.VaList(bp+24, zVector, zSep, zQuoted)) - zSep = __ccgo_ts + 14999 + zVector = _rbuMPrintf(tls, p, __ccgo_ts+29935, libc.VaList(bp+24, zVector, zSep, zQuoted)) + zSep = __ccgo_ts + 15092 goto _2 _2: ; iCol++ } if !(bFailed != 0) { - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29796, libc.VaList(bp+24, zLhs, zVector)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29942, libc.VaList(bp+24, zLhs, zVector)) } } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -187037,12 +188762,12 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zImpPK = uintptr(0) /* String to return via *pzImposterPK */ zWhere = uintptr(0) /* String to return via *pzWhere */ nBind = 0 /* Value to return via *pnBind */ - zCom = __ccgo_ts + 1657 /* Set to ", " later on */ - zAnd = __ccgo_ts + 1657 /* Set to " AND " later on */ + zCom = __ccgo_ts + 1671 /* Set to ", " later on */ + zAnd = __ccgo_ts + 1671 /* Set to " AND " later on */ *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_xinfo = ? */ if rc == SQLITE_OK { _ = libc.Int32FromInt32(0) - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29326, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29472, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -187051,8 +188776,8 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = uintptr(0) if iCid == -int32(2) { iSeq = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29808, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) - zType = __ccgo_ts + 1657 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29954, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) + zType = __ccgo_ts + 1671 } else { if iCid < 0 { /* An integer primary key. If the table has an explicit IPK, use @@ -187072,9 +188797,9 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - zCol = __ccgo_ts + 29649 + zCol = __ccgo_ts + 29795 } else { - zCol = __ccgo_ts + 29379 + zCol = __ccgo_ts + 29525 } } zType = __ccgo_ts + 1145 @@ -187082,24 +188807,24 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) zType = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)) } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29830, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29976, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) } if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) != 0 { if bDesc != 0 { - v2 = __ccgo_ts + 29566 + v2 = __ccgo_ts + 29712 } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } zOrder = v2 - zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29850, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) + zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29996, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+29871, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) - zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+29904, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) + zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+30017, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) + zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+30050, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) { rc = int32(SQLITE_NOMEM) } - zCom = __ccgo_ts + 14999 - zAnd = __ccgo_ts + 22022 + zCom = __ccgo_ts + 15092 + zAnd = __ccgo_ts + 22167 nBind++ } rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -187145,7 +188870,7 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr _, _, _, _ = i, zCol, zList, zS zList = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zS = __ccgo_ts + 1657 + zS = __ccgo_ts + 1671 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187153,11 +188878,11 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29928, libc.VaList(bp+8, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30074, libc.VaList(bp+8, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29940, libc.VaList(bp+8, zList, zS)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30086, libc.VaList(bp+8, zList, zS)) } - zS = __ccgo_ts + 14999 + zS = __ccgo_ts + 15092 if zList == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) break @@ -187169,7 +188894,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 (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29949, libc.VaList(bp+8, zList, zObj)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30095, libc.VaList(bp+8, zList, zObj)) } } return zList @@ -187195,27 +188920,27 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _ = i, i1, zCol, zList, zSep, zSep1 zList = uintptr(0) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29964, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30110, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29978, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) - zSep = __ccgo_ts + 22022 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30124, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) + zSep = __ccgo_ts + 22167 } goto _1 _1: ; i++ } - zList = _rbuMPrintf(tls, p, __ccgo_ts+29990, libc.VaList(bp+8, zList)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30136, libc.VaList(bp+8, zList)) } else { - zSep1 = __ccgo_ts + 1657 + zSep1 = __ccgo_ts + 1671 i1 = 0 for { if !(i1 < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187223,8 +188948,8 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i1))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i1)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+30040, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) - zSep1 = __ccgo_ts + 22022 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30186, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) + zSep1 = __ccgo_ts + 22167 } goto _2 _2: @@ -187247,7 +188972,7 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { // */ func _rbuBadControlError(tls *libc.TLS, p uintptr) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30053, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30199, 0) } // C documentation @@ -187281,7 +189006,7 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt if int32(libc.Xstrlen(tls, zMask)) != (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { _rbuBadControlError(tls, p) } else { - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187289,16 +189014,16 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt } c = *(*uint8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) if int32(c) == int32('x') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30040, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14999 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30186, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15092 } else { if int32(c) == int32('d') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30079, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14999 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30225, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15092 } else { if int32(c) == int32('f') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30109, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14999 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30255, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15092 } } } @@ -187383,16 +189108,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { z = uintptr(0) _ = libc.Int32FromInt32(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zSep = __ccgo_ts + 30146 + zSep = __ccgo_ts + 30292 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_list = (pIter->zTbl) */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA index_xinfo = */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29298, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29444, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) - if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16591) == 0 { + if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16678) == 0 { zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29326, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29472, libc.VaList(bp+24, zIdx))) } break } @@ -187403,16 +189128,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { /* int iCid = sqlite3_column_int(pXInfo, 0); */ zCol = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(2)) if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) != 0 { - v1 = __ccgo_ts + 29566 + v1 = __ccgo_ts + 29712 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } zDesc = v1 - z = _rbuMPrintf(tls, p, __ccgo_ts+30159, libc.VaList(bp+24, z, zSep, zCol, zDesc)) - zSep = __ccgo_ts + 14999 + z = _rbuMPrintf(tls, p, __ccgo_ts+30305, libc.VaList(bp+24, z, zSep, zCol, zDesc)) + zSep = __ccgo_ts + 15092 } } - z = _rbuMPrintf(tls, p, __ccgo_ts+30170, libc.VaList(bp+24, z)) + z = _rbuMPrintf(tls, p, __ccgo_ts+30316, libc.VaList(bp+24, z)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) } return z @@ -187452,13 +189177,13 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* SELECT name ... WHERE rootpage = $tnum */ zIdx = uintptr(0) /* Name of PK index */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA main.index_xinfo = $zIdx */ - zComma = __ccgo_ts + 1657 + zComma = __ccgo_ts + 1671 zCols = uintptr(0) /* Used to build up list of table cols */ zPk = uintptr(0) /* Used to build up table PK declaration */ /* 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. */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30174) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30320) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), tnum) if int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -187466,7 +189191,7 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { } } if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29326, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29472, libc.VaList(bp+24, zIdx))) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { @@ -187475,21 +189200,21 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) bDesc = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(4)) - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30224, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30370, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) if bDesc != 0 { - v1 = __ccgo_ts + 29566 + v1 = __ccgo_ts + 29712 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } - zPk = _rbuMPrintf(tls, p, __ccgo_ts+30246, libc.VaList(bp+24, zPk, zComma, iCid, v1)) - zComma = __ccgo_ts + 14999 + zPk = _rbuMPrintf(tls, p, __ccgo_ts+30392, libc.VaList(bp+24, zPk, zComma, iCid, v1)) + zComma = __ccgo_ts + 15092 } } - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30256, libc.VaList(bp+24, zCols)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30402, libc.VaList(bp+24, zCols)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30271, libc.VaList(bp+24, zCols, zPk)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30417, libc.VaList(bp+24, zCols, zPk)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, 0, 0)) } } @@ -187524,30 +189249,30 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { _, _, _, _, _, _, _, _, _ = iCol, tnum, zCol, zComma, zPk, zPk1, zSql, v2, v3 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { tnum = (*TRbuObjIter)(unsafe.Pointer(pIter)).FiTnum - zComma = __ccgo_ts + 1657 + zComma = __ccgo_ts + 1671 zSql = uintptr(0) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, 0, int32(1))) iCol = 0 for { if !((*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } - zPk = __ccgo_ts + 1657 + zPk = __ccgo_ts + 1671 zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_IPK) && *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 { /* If the target table column is an "INTEGER PRIMARY KEY", add ** "PRIMARY KEY" to the imposter table column declaration. */ - zPk = __ccgo_ts + 30333 + zPk = __ccgo_ts + 30479 } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - v2 = __ccgo_ts + 30346 + v2 = __ccgo_ts + 30492 } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30356, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) - zComma = __ccgo_ts + 14999 + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30502, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) + zComma = __ccgo_ts + 15092 goto _1 _1: ; @@ -187556,17 +189281,17 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { zPk1 = _rbuWithoutRowidPK(tls, p, pIter) if zPk1 != 0 { - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30383, libc.VaList(bp+16, zSql, zPk1)) + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30529, libc.VaList(bp+16, zSql, zPk1)) } } - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, int32(1), tnum)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, int32(1), tnum)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { - v3 = __ccgo_ts + 30390 + v3 = __ccgo_ts + 30536 } else { - v3 = __ccgo_ts + 1657 + v3 = __ccgo_ts + 1671 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30405, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, 0, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30551, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, 0, 0)) } } @@ -187593,7 +189318,7 @@ func _rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zColli zBind = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1)+bRbuRowid) if zBind != 0 { _ = libc.Int32FromInt32(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30437, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30583, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -187641,7 +189366,7 @@ func _rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintpt zRet = uintptr(0) _ = libc.Int32FromInt32(0) if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30494) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30640) } if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx, -int32(1), libc.UintptrFromInt32(0)) @@ -187812,7 +189537,7 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zIdx = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx zLimit = uintptr(0) if nOffset != 0 { - zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30560, libc.VaList(bp+40, nOffset)) + zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30706, libc.VaList(bp+40, nOffset)) if !(zLimit != 0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) } @@ -187830,18 +189555,18 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zCollist = _rbuObjIterGetIndexCols(tls, p, pIter, bp, bp+8, bp+16, bp+24) zBind = _rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 24))) /* Create the imposter table used to write to this index. */ - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, 0, int32(1))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30580, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30726, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, 0, 0)) /* Create the statement to insert index entries */ (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 24)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30645, libc.VaList(bp+40, zTbl, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30791, libc.VaList(bp+40, zTbl, zBind))) } /* And to delete index entries */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30681, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30827, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) } /* Create the SELECT statement to read keys in sorted order */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -187856,26 +189581,26 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } if zStart != 0 { if zPart != 0 { - v2 = __ccgo_ts + 30715 + v2 = __ccgo_ts + 30861 } else { - v2 = __ccgo_ts + 30719 + v2 = __ccgo_ts + 30865 } v1 = v2 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30725, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30871, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) Xsqlite3_free(tls, zStart) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30786, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30932, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { if zPart != 0 { - v3 = __ccgo_ts + 30715 + v3 = __ccgo_ts + 30861 } else { - v3 = __ccgo_ts + 30719 + v3 = __ccgo_ts + 30865 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30847, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30993, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -187894,62 +189619,62 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zTbl1 = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl /* Imposter table name */ zBindings = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+bRbuRowid) zWhere1 = _rbuObjIterGetWhere(tls, p, pIter) - zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6605) - zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6601) + zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6669) + zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6665) zCollist = _rbuObjIterGetCollist(tls, p, pIter) (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol /* Create the imposter table or tables (if required). */ _rbuCreateImposterTable(tls, p, pIter) _rbuCreateImposterTable2(tls, p, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) { - v4 = __ccgo_ts + 1657 + v4 = __ccgo_ts + 1671 } else { - v4 = __ccgo_ts + 31006 + v4 = __ccgo_ts + 31152 } zWrite = v4 /* Create the INSERT statement to write to the target PK b-tree */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if bRbuRowid != 0 { - v5 = __ccgo_ts + 31015 + v5 = __ccgo_ts + 31161 } else { - v5 = __ccgo_ts + 1657 + v5 = __ccgo_ts + 1671 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31025, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31171, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) } /* Create the DELETE statement to write to the target PK b-tree. ** Because it only performs INSERT operations, this is not required for ** an rbu vacuum handle. */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31061, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31207, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) } if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zRbuRowid = __ccgo_ts + 1657 + zRbuRowid = __ccgo_ts + 1671 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zRbuRowid = __ccgo_ts + 31089 + zRbuRowid = __ccgo_ts + 31235 } /* Create the rbu_tmp_xxx table and the triggers to populate it. */ if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - v6 = __ccgo_ts + 31101 + v6 = __ccgo_ts + 31247 } else { - v6 = __ccgo_ts + 1657 + v6 = __ccgo_ts + 1671 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31118, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31194, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31264, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31340, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31493, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31639, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) } _rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) } /* Create the SELECT statement to read keys from data_xxx */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zRbuRowid1 = __ccgo_ts + 1657 + zRbuRowid1 = __ccgo_ts + 1671 zStart1 = uintptr(0) zOrder = uintptr(0) if bRbuRowid != 0 { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v7 = __ccgo_ts + 31592 + v7 = __ccgo_ts + 31738 } else { - v7 = __ccgo_ts + 31602 + v7 = __ccgo_ts + 31748 } zRbuRowid1 = v7 } @@ -187962,28 +189687,28 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } } if bRbuRowid != 0 { - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29649, 0) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29795, 0) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1657, __ccgo_ts+14999, __ccgo_ts+1657) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1671, __ccgo_ts+15092, __ccgo_ts+1671) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v8 = __ccgo_ts + 31613 + v8 = __ccgo_ts + 31759 } else { - v8 = __ccgo_ts + 1657 + v8 = __ccgo_ts + 1671 } if zStart1 != 0 { v9 = zStart1 } else { - v9 = __ccgo_ts + 1657 + v9 = __ccgo_ts + 1671 } if zOrder != 0 { - v10 = __ccgo_ts + 23216 + v10 = __ccgo_ts + 23361 } else { - v10 = __ccgo_ts + 1657 + v10 = __ccgo_ts + 1671 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31619, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31765, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) } Xsqlite3_free(tls, zStart1) Xsqlite3_free(tls, zOrder) @@ -188070,11 +189795,11 @@ func _rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, p (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpNext = (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - zPrefix = __ccgo_ts + 1657 + zPrefix = __ccgo_ts + 1671 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { - zPrefix = __ccgo_ts + 31006 + zPrefix = __ccgo_ts + 31152 } - zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31667, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) + zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31813, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate) *(*uintptr)(unsafe.Pointer(ppStmt)) = (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpUpdate } @@ -188101,7 +189826,7 @@ func _rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) (r } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp, flags, v1) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp))) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) } @@ -188148,7 +189873,7 @@ func _rbuLoadState(tls *libc.TLS, p uintptr) (r uintptr) { if pRet == uintptr(0) { return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31697, libc.VaList(bp+24, p+48))) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31843, libc.VaList(bp+24, p+48))) for *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) { case int32(RBU_STATE_STAGE): @@ -188210,27 +189935,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu = _rbuOpenDbhandle(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, int32(1)) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain = dbMain if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6594, int32(SQLITE_FCNTL_RBUCNT), p) + Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6658, int32(SQLITE_FCNTL_RBUCNT), p) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) { - zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6594) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31727, libc.VaList(bp+8, zFile, zFile)) + zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6658) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31873, libc.VaList(bp+8, zFile, zFile)) } } /* If using separate RBU and state databases, attach the state database to ** the RBU db handle now. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31755, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48, __ccgo_ts+3427, uint64(4)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31901, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+3491, uint64(4)) } else { - libc.Xmemcpy(tls, p+48, __ccgo_ts+6594, uint64(4)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+6658, uint64(4)) } /* If it has not already been created, create the rbu_state table */ - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31773, libc.VaList(bp+8, p+48)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31919, libc.VaList(bp+8, p+48)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { bOpen = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6594, int32(SQLITE_FCNTL_RBUCNT), p) + rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6658, int32(SQLITE_FCNTL_RBUCNT), p) if rc != int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -188263,10 +189988,10 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) return } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31839, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31985, 0) } else { zExtra = uintptr(0) - if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24605, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { + if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24728, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { zExtra = (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5 for *(*uint8)(unsafe.Pointer(zExtra)) != 0 { v1 = zExtra @@ -188280,16 +190005,16 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if zExtra == uintptr(0) { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } else { - v2 = __ccgo_ts + 31871 + v2 = __ccgo_ts + 32017 } if zExtra == uintptr(0) { - v3 = __ccgo_ts + 1657 + v3 = __ccgo_ts + 1671 } else { v3 = zExtra } - zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+31873, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6594), v2, v3)) + zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+32019, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6658), v2, v3)) if zTarget == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) return @@ -188300,27 +190025,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31905, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32051, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31920, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32066, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31937, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32083, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, int32(SQLITE_FCNTL_RBU), p) } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31953, 0) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32099, 0) /* Mark the database file just opened as an RBU target database. If ** this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. ** This is an error. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, int32(SQLITE_FCNTL_RBU), p) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31981, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32127, 0) } } @@ -188370,7 +190095,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) { pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = int64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))<= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+32981, zState+uintptr(n-int32(7)), uint64(7)) { + if n >= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33127, zState+uintptr(n-int32(7)), uint64(7)) { return _rbuMisuseError(tls) } } @@ -189612,7 +191337,7 @@ func _rbuEditErrmsg(tls *libc.TLS, p uintptr) { if !(uint64(i) < nErrmsg-uint64(8)) { break } - if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31006, uint64(8)) == 0 { + if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31152, uint64(8)) == 0 { nDel = int32(8) for int32(*(*uint8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= int32('9') { nDel++ @@ -189640,7 +191365,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { if p != 0 { /* Commit the transaction to the *-oal file. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14903, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14996, uintptr(0), uintptr(0), p+64) } /* Sync the db file if currently doing an incremental checkpoint */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) { @@ -189649,7 +191374,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { } _rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14903, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14996, uintptr(0), uintptr(0), p+64) } /* Close any open statement handles. */ _rbuObjIterFinalize(tls, p+80) @@ -189659,7 +191384,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { ** specifying the current target and state databases to start a new ** vacuum from scratch. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 { - rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32989, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33135, uintptr(0), uintptr(0), uintptr(0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_DONE) && rc2 != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -189774,7 +191499,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14903, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14996, uintptr(0), uintptr(0), uintptr(0)) } } /* Sync the db file */ @@ -189788,19 +191513,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14903, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14996, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 14888 + v1 = __ccgo_ts + 14981 } else { - v1 = __ccgo_ts + 32941 + v1 = __ccgo_ts + 33087 } zBegin = v1 rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32941, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33087, uintptr(0), uintptr(0), uintptr(0)) } } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -190374,7 +192099,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xControl})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, int32(SQLITE_FCNTL_ZIPVFS), bp) if rc == SQLITE_OK { rc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33016, 0) + (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33162, 0) } else { if rc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p @@ -190400,7 +192125,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r if rc == SQLITE_OK && op == int32(SQLITE_FCNTL_VFSNAME) { pRbuVfs = (*Trbu_file)(unsafe.Pointer(p)).FpRbuVfs zIn = *(*uintptr)(unsafe.Pointer(pArg)) - zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33039, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33185, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -190601,7 +192326,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag if pDb != 0 { if (*Trbu_file)(unsafe.Pointer(pDb)).FpRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FeStage == int32(RBU_STAGE_OAL) { if (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6594) + zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6658) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -190615,7 +192340,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag } else { (*Trbu_file)(unsafe.Pointer(pFd)).FpRbu = (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRbu } - if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33050, 0) != 0 { + if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33196, 0) != 0 { _ = libc.Int32FromInt32(0) oflags = libc.Int32FromInt32(SQLITE_OPEN_TEMP_DB) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_EXCLUSIVE) | libc.Int32FromInt32(SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -191170,7 +192895,7 @@ func _statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint _sqlite3TokenInit(tls, bp, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = _sqlite3FindDb(tls, db, bp) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12200, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12325, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return int32(SQLITE_ERROR) } } else { @@ -191673,7 +193398,7 @@ statNextRestart: (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiPgno = iRoot (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33061, 0) + v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33207, 0) z = v1 (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FzPath = v1 if z == uintptr(0) { @@ -191711,8 +193436,8 @@ statNextRestart: if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { (*TStatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*TStatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*TStatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*Tu32)(unsafe.Pointer((*TStatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33063 - v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33072, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33209 + v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33218, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) z = v2 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v2 if z == uintptr(0) { @@ -191741,7 +193466,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage++ if (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage >= int32(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) { _statResetCsr(tls, pCsr) - return _sqlite3CorruptError(tls, int32(222551)) + return _sqlite3CorruptError(tls, int32(224206)) } _ = libc.Int32FromInt32(0) if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell { @@ -191753,7 +193478,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnPage++ (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33084, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) + v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33230, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) z = v4 (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FzPath = v4 if z == uintptr(0) { @@ -191776,13 +193501,13 @@ statNextRestart: case int32(0x05): /* table internal */ fallthrough case int32(0x02): /* index internal */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33092 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33238 case int32(0x0D): /* table leaf */ fallthrough case int32(0x0A): /* index leaf */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33101 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33247 default: - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33106 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33252 break } *(*int32)(unsafe.Pointer(pCsr + 2108)) += (*TStatPage)(unsafe.Pointer(p1)).FnCell @@ -191791,7 +193516,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnMxPayload = (*TStatPage)(unsafe.Pointer(p1)).FnMxPayload } if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) + v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) z = v5 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v5 if z == uintptr(0) { @@ -191880,12 +193605,12 @@ func _statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, a (*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg = uint8(0) } pSql = Xsqlite3_str_new(tls, (*TStatTable)(unsafe.Pointer(pTab)).Fdb) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33116, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33262, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33271, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33417, libc.VaList(bp+8, zName)) } if idxNum&int32(0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33285, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33431, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -191962,7 +193687,7 @@ func _statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) (r int32) { // ** Invoke this routine to register the "dbstat" virtual table module // */ func _sqlite3DbstatRegister(tls *libc.TLS, db uintptr) (r int32) { - return Xsqlite3_create_module(tls, db, __ccgo_ts+33300, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, __ccgo_ts+33446, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) } var _dbstat_module = Tsqlite3_module{} @@ -193251,20 +194976,20 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, *(*uintptr)(unsafe.Pointer(pazDflt)) = uintptr(0) } nThis = _sqlite3Strlen30(tls, zThis) - if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11591, zThis) { + if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11716, zThis) { rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { /* For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. */ - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33307, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33453, 0) } else { if rc == int32(SQLITE_ERROR) { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1657, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1671, 0) } else { return rc } } } else { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33428, libc.VaList(bp+16, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33574, libc.VaList(bp+16, zDb, zThis)) } if !(zPragma != 0) { return int32(SQLITE_NOMEM) @@ -193288,7 +195013,7 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, bRowid = 0 } nDbCol += bRowid - nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+29649)) + nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+29795)) rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == SQLITE_OK { nByte = Tsqlite3_int64(uint64(nByte) + uint64(nDbCol)*(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(2)+libc.Uint64FromInt64(1)+libc.Uint64FromInt32(1)+libc.Uint64FromInt32(1))) @@ -193312,8 +195037,8 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 if bRowid != 0 { - nName = libc.Xstrlen(tls, __ccgo_ts+29649) - libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29649, nName+uint64(1)) + nName = libc.Xstrlen(tls, __ccgo_ts+29795) + libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29795, nName+uint64(1)) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc pAlloc += uintptr(nName + uint64(1)) *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) = uint8(1) @@ -193406,7 +195131,7 @@ func _sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr, db uintptr ; i++ } - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11591, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11716, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { (*TSessionTable)(unsafe.Pointer(pTab)).FbStat1 = int32(1) } if pSession != 0 && (*Tsqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { @@ -193698,10 +195423,10 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin _, _, _, _ = ii, zDflt, zSep, v2 *(*TSessionBuffer)(unsafe.Pointer(bp)) = TSessionBuffer{} *(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK - zSep = __ccgo_ts + 11211 + zSep = __ccgo_ts + 11336 ii = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33457, 0) + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33603, 0) ii = 0 for { if !(ii < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol) { @@ -193710,11 +195435,11 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin if *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) != 0 { v2 = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) } else { - v2 = __ccgo_ts + 1658 + v2 = __ccgo_ts + 1672 } zDflt = v2 - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5085, libc.VaList(bp+32, zSep, zDflt)) - zSep = __ccgo_ts + 14999 + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5149, libc.VaList(bp+32, zSep, zDflt)) + zSep = __ccgo_ts + 15092 goto _1 _1: ; @@ -194033,7 +195758,7 @@ func _sessionPreupdateOneChange(tls *libc.TLS, op int32, iRowid Ti64, pSession u rc = int32(SQLITE_NOMEM) goto error_out } - _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1657, uint8(0), libc.UintptrFromInt32(0)) + _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1671, uint8(0), libc.UintptrFromInt32(0)) (*Tsqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p } } @@ -194364,7 +196089,7 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr var i int32 var zRet, zSep uintptr _, _, _ = i, zRet, zSep - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 zRet = uintptr(0) i = 0 for { @@ -194372,8 +196097,8 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr break } if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33464, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 22022 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33610, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 22167 if zRet == uintptr(0) { break } @@ -194392,7 +196117,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint var bHave, i int32 var zRet, zSep uintptr _, _, _, _ = bHave, i, zRet, zSep - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 zRet = uintptr(0) bHave = 0 i = 0 @@ -194402,8 +196127,8 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if int32(*(*Tu8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = int32(1) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33498, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 33539 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33644, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 33685 if zRet == uintptr(0) { break } @@ -194415,7 +196140,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if bHave == 0 { _ = libc.Int32FromInt32(0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1731, 0) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1791, 0) } return zRet } @@ -194426,12 +196151,12 @@ func _sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, bRowid int var zRet, zSel, v1 uintptr _, _, _ = zRet, zSel, v1 if bRowid != 0 { - v1 = __ccgo_ts + 33544 + v1 = __ccgo_ts + 33690 } else { - v1 = __ccgo_ts + 6599 + v1 = __ccgo_ts + 6663 } zSel = v1 - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33555, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33701, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -194492,11 +196217,11 @@ func _sessionAllCols(tls *libc.TLS, zDb uintptr, pTab uintptr) (r uintptr) { break } if zRet != 0 { - v2 = __ccgo_ts + 14999 + v2 = __ccgo_ts + 15092 } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33634, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33780, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) if !(zRet != 0) { break } @@ -194524,7 +196249,7 @@ func _sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFr } else { z1 = _sessionAllCols(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, pTab) z2 = _sessionAllCols(tls, zFrom, pTab) - zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33653, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) + zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33799, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) if zStmt == uintptr(0) || z1 == uintptr(0) || z2 == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -194624,7 +196349,7 @@ func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl u Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if bMismatch != 0 { if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33710, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33856, 0) } rc = int32(SQLITE_SCHEMA) } @@ -194956,7 +196681,7 @@ func _sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* aBuf at bp+0 */ [24]uint8 - Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5147, libc.VaList(bp+32, iVal)) + Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5211, libc.VaList(bp+32, iVal)) _sessionAppendStr(tls, p, bp, pRc) } @@ -195251,23 +196976,23 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt _, _, _, _, _, _, _ = i, nSql, zCols, zSep, zSql, v1, v3 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK zSql = uintptr(0) - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 if bRowid != 0 { - v1 = __ccgo_ts + 33544 + v1 = __ccgo_ts + 33690 } else { - v1 = __ccgo_ts + 6599 + v1 = __ccgo_ts + 6663 } zCols = v1 nSql = -int32(1) *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 24)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 40)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+33737, bp) - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11591, zTab) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+33741, bp) - _sessionAppendStr(tls, bp+24, __ccgo_ts+33765, bp) - _sessionAppendStr(tls, bp+40, __ccgo_ts+33774, bp) - zCols = __ccgo_ts + 33819 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33883, bp) + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11716, zTab) { + _sessionAppendStr(tls, bp+8, __ccgo_ts+33887, bp) + _sessionAppendStr(tls, bp+24, __ccgo_ts+33911, bp) + _sessionAppendStr(tls, bp+40, __ccgo_ts+33920, bp) + zCols = __ccgo_ts + 33965 } else { i = 0 for { @@ -195277,11 +197002,11 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { _sessionAppendStr(tls, bp+24, zSep, bp) _sessionAppendStr(tls, bp+40, zSep, bp) - zSep = __ccgo_ts + 14999 + zSep = __ccgo_ts + 15092 _sessionAppendIdent(tls, bp+24, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp) - _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33833, libc.VaList(bp+64, i+int32(1))) + _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33979, libc.VaList(bp+64, i+int32(1))) } else { - _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33837, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33983, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) } goto _2 _2: @@ -195293,9 +197018,9 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if bIgnoreNoop != 0 { v3 = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf } else { - v3 = __ccgo_ts + 1657 + v3 = __ccgo_ts + 1671 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+33864, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+34010, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) if zSql == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } @@ -195441,7 +197166,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+33906, uintptr(0), uintptr(0), uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+34052, uintptr(0), uintptr(0), uintptr(0)) if *(*int32)(unsafe.Pointer(bp + 16)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -195548,7 +197273,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, } } Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf) - Xsqlite3_exec(tls, db, __ccgo_ts+33926, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34072, uintptr(0), uintptr(0), uintptr(0)) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -195969,7 +197694,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, int32(9)) if rc == SQLITE_OK { if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData { - rc = _sqlite3CorruptError(tls, int32(226700)) + rc = _sqlite3CorruptError(tls, int32(228355)) } else { v3 = pIn + 8 v2 = *(*int32)(unsafe.Pointer(v3)) @@ -195994,7 +197719,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = _sqlite3CorruptError(tls, int32(226720)) + rc = _sqlite3CorruptError(tls, int32(228375)) } else { if eType == int32(SQLITE_TEXT) { v4 = int32(SQLITE_UTF8) @@ -196009,7 +197734,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap } if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) { if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) { - rc = _sqlite3CorruptError(tls, int32(226730)) + rc = _sqlite3CorruptError(tls, int32(228385)) } else { *(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal) if eType == int32(SQLITE_INTEGER) { @@ -196065,7 +197790,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) ( ** large value for nCol may cause nRead to wrap around and become ** negative. Leading to a crash. */ if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) { - rc = _sqlite3CorruptError(tls, int32(226778)) + rc = _sqlite3CorruptError(tls, int32(228433)) } else { rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100)) nRead += *(*int32)(unsafe.Pointer(bp)) @@ -196171,7 +197896,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) { (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 _sessionBufferGrow(tls, p+72, int64(nByte), bp) } else { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(226866)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(228521)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -196244,12 +197969,12 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { return (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc } + _sessionDiscardData(tls, p) + (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext /* If the iterator is already at the end of the changeset, return DONE. */ if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { return int32(SQLITE_DONE) } - _sessionDiscardData(tls, p) - (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext v3 = p + 8 v2 = *(*int32)(unsafe.Pointer(v3)) *(*int32)(unsafe.Pointer(v3))++ @@ -196280,7 +198005,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin /* The first record in the changeset is not a table header. Must be a ** corrupt changeset. */ _ = libc.Int32FromInt32(0) - v7 = _sqlite3CorruptError(tls, int32(226952)) + v7 = _sqlite3CorruptError(tls, int32(228607)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7 return v7 } @@ -196290,7 +198015,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin *(*int32)(unsafe.Pointer(v9))++ (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8)))) if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) { - v10 = _sqlite3CorruptError(tls, int32(226958)) + v10 = _sqlite3CorruptError(tls, int32(228613)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10 return v10 } @@ -196371,7 +198096,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin _ = libc.Int32FromInt32(0) *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - v16 = _sqlite3CorruptError(tls, int32(227002)) + v16 = _sqlite3CorruptError(tls, int32(228657)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16 return v16 } @@ -196782,7 +198507,7 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu goto finished_invert } default: - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(227367)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(229022)) goto finished_invert } _ = libc.Int32FromInt32(0) @@ -196987,18 +198712,18 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 } if pUp == uintptr(0) { nByte = int32(uint64(24) * uint64(nU32) * uint64(4)) - bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11591) == 0) + bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11716) == 0) pUp = Xsqlite3_malloc(tls, nByte) if pUp == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } else { - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 libc.Xmemset(tls, bp+8, 0, uint64(16)) (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24 libc.Xmemcpy(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*TSessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(4)) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33944, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34090, bp) _sessionAppendIdent(tls, bp+8, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33957, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34103, bp) /* Create the assignments part of the UPDATE */ ii = 0 for { @@ -197008,9 +198733,9 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if int32(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33963, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34109, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(1), bp) - zSep = __ccgo_ts + 14999 + zSep = __ccgo_ts + 15092 } goto _2 _2: @@ -197018,8 +198743,8 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 ii++ } /* Create the WHERE clause part of the UPDATE */ - zSep = __ccgo_ts + 1657 - _sessionAppendStr(tls, bp+8, __ccgo_ts+33968, bp) + zSep = __ccgo_ts + 1671 + _sessionAppendStr(tls, bp+8, __ccgo_ts+34114, bp) ii = 0 for { if !(ii < (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { @@ -197029,13 +198754,13 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 _sessionAppendStr(tls, bp+8, zSep, bp) if bStat1 != 0 && ii == int32(1) { _ = libc.Int32FromInt32(0) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33976, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34122, bp) } else { _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34051, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34197, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(2), bp) } - zSep = __ccgo_ts + 22022 + zSep = __ccgo_ts + 22167 } goto _3 _3: @@ -197119,13 +198844,13 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in var _ /* buf at bp+8 */ TSessionBuffer var _ /* rc at bp+0 */ int32 _, _, _ = i, nPk, zSep - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} nPk = 0 - _sessionAppendStr(tls, bp+8, __ccgo_ts+34057, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34203, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33968, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34114, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -197135,9 +198860,9 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in nPk++ _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33963, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34109, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 22022 + zSep = __ccgo_ts + 22167 } goto _1 _1: @@ -197145,10 +198870,10 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in i++ } if nPk < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol { - _sessionAppendStr(tls, bp+8, __ccgo_ts+34075, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34221, bp) _sessionAppendInteger(tls, bp+8, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol+int32(1), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33539, bp) - zSep = __ccgo_ts + 1657 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33685, bp) + zSep = __ccgo_ts + 1671 i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -197157,16 +198882,16 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in if !(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34051, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34197, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 34083 + zSep = __ccgo_ts + 34229 } goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5115, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5179, bp) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+8, uintptr(0)) @@ -197192,7 +198917,7 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in // */ func _sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r int32) { /* TODO */ - return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6594, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) + return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6658, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } // C documentation @@ -197215,16 +198940,16 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+34088, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34234, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+22028, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+22173, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } if i != 0 { - _sessionAppendStr(tls, bp+8, __ccgo_ts+14999, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+15092, bp) } _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) goto _1 @@ -197232,19 +198957,19 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34106, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34252, bp) i = int32(1) for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34117, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34263, bp) goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5115, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5179, bp) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+16, uintptr(0)) } @@ -197267,12 +198992,12 @@ func _sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) (r int func _sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) (r int32) { var rc int32 _ = rc - rc = _sessionSelectRow(tls, db, __ccgo_ts+11591, p) + rc = _sessionSelectRow(tls, db, __ccgo_ts+11716, p) if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34121) + rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34267) } if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34234) + rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34380) } return rc } @@ -197339,7 +199064,7 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { /* The value in the changeset was "undefined". This indicates a ** corrupt changeset blob. */ - rc = _sqlite3CorruptError(tls, int32(227849)) + rc = _sqlite3CorruptError(tls, int32(229504)) } else { rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp))) } @@ -197767,7 +199492,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply } else { if *(*int32)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34378, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34524, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = _sessionBindRow(tls, pIter, __ccgo_fp(Xsqlite3changeset_new), (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) Xsqlite3_bind_int(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol+int32(1), int32(1)) @@ -197780,7 +199505,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34399, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34545, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -197876,10 +199601,10 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbIgnoreNoop = libc.BoolUint8(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_IGNORENOOP) != 0)) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34418, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34564, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34444, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34590, uintptr(0), uintptr(0), uintptr(0)) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) { Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0)) @@ -197910,7 +199635,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui ** non-zero, proceed. */ schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144)))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) + *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { rc = int32(SQLITE_NOMEM) break @@ -197920,7 +199645,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } else { nMinCol = 0 Xsqlite3changeset_pk(tls, pIter, bp+152, uintptr(0)) - rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6594, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) + rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6658, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) if rc != SQLITE_OK { break } @@ -197939,18 +199664,18 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol == 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34474, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34620, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol < *(*int32)(unsafe.Pointer(bp + 136)) { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34518, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34664, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) } else { if *(*int32)(unsafe.Pointer(bp + 136)) < nMinCol || libc.Xmemcmp(tls, (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FabPK, *(*uintptr)(unsafe.Pointer(bp + 152)), uint64(*(*int32)(unsafe.Pointer(bp + 136)))) != 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34589, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34735, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol = *(*int32)(unsafe.Pointer(bp + 136)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11591) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11716) { v2 = _sessionStat1Sql(tls, db, bp+8) rc = v2 if v2 != 0 { @@ -198007,13 +199732,13 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } } } - Xsqlite3_exec(tls, db, __ccgo_ts+34649, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34795, uintptr(0), uintptr(0), uintptr(0)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34679, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34825, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, __ccgo_ts+34703, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, __ccgo_ts+34679, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34849, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34825, uintptr(0), uintptr(0), uintptr(0)) } } _ = libc.Int32FromInt32(0) @@ -198107,6 +199832,7 @@ type Tsqlite3_changegroup1 = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -198473,118 +200199,145 @@ func _sessionChangesetExtendRecord(tls *libc.TLS, pGrp uintptr, pTab uintptr, nC // C documentation // // /* -// ** Add all changes in the changeset traversed by the iterator passed as -// ** the first argument to the changegroup hash tables. +// ** Locate or create a SessionTable object that may be used to add the +// ** change currently pointed to by iterator pIter to changegroup pGrp. +// ** If successful, set output variable (*ppTab) to point to the table +// ** object and return SQLITE_OK. Otherwise, if some error occurs, return +// ** an SQLite error code and leave (*ppTab) set to NULL. // */ -func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { - bp := tls.Alloc(80) - defer tls.Free(80) - var bPkOnly1, bPkOnly2, iHash, nNew, rc int32 - var pExist, pTab, pp, ppTab uintptr - var _ /* aRec at bp+0 */ uintptr - var _ /* abPK at bp+64 */ uintptr - var _ /* bIndirect at bp+48 */ int32 - var _ /* nCol at bp+40 */ int32 - var _ /* nRec at bp+8 */ int32 - var _ /* op at bp+44 */ int32 - var _ /* pChange at bp+56 */ uintptr - var _ /* rec at bp+16 */ TSessionBuffer - var _ /* zNew at bp+32 */ uintptr - _, _, _, _, _, _, _, _, _ = bPkOnly1, bPkOnly2, iHash, nNew, pExist, pTab, pp, ppTab, rc +func _sessionChangesetFindTable(tls *libc.TLS, pGrp uintptr, zTab uintptr, pIter uintptr, ppTab uintptr) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var nTab, rc int32 + var pTab, ppNew uintptr + var _ /* abPK at bp+0 */ uintptr + var _ /* nCol at bp+8 */ int32 + _, _, _, _ = nTab, pTab, ppNew, rc rc = SQLITE_OK pTab = uintptr(0) - *(*TSessionBuffer)(unsafe.Pointer(bp + 16)) = TSessionBuffer{} - for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { - pExist = uintptr(0) - /* Ensure that only changesets, or only patchsets, but not a mixture - ** of both, are being combined. It is an error to try to combine a - ** changeset and a patchset. */ - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset - } else { - if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { - rc = int32(SQLITE_ERROR) - break - } + nTab = int32(libc.Xstrlen(tls, zTab)) + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(ppTab)) = uintptr(0) + Xsqlite3changeset_pk(tls, pIter, bp, bp+8) + /* Search the list for an existing table */ + pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList + for { + if !(pTab != 0) { + break } - Xsqlite3changeset_op(tls, pIter, bp+32, bp+40, bp+44, bp+48) - if !(pTab != 0) || Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), (*TSessionTable)(unsafe.Pointer(pTab)).FzName) != 0 { - /* Search the list for a matching table */ - nNew = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))) - Xsqlite3changeset_pk(tls, pIter, bp+64, uintptr(0)) - pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList - for { - if !(pTab != 0) { - break - } - if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), nNew+int32(1)) { - break - } - goto _1 - _1: - ; - pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext - } - if !(pTab != 0) { - pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 40)))+uint64(nNew)+uint64(1)) - if !(pTab != 0) { - rc = int32(SQLITE_NOMEM) - break - } - libc.Xmemset(tls, pTab, 0, uint64(80)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 40)) - (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 64)), uint64(*(*int32)(unsafe.Pointer(bp + 40)))) - (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 40))) - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), uint64(nNew+int32(1))) - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 - rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) - if rc != 0 { - _ = libc.Int32FromInt32(0) - Xsqlite3_free(tls, pTab) - break - } - } - /* The new object must be linked on to the end of the list, not - ** simply added to the start of it. This is to ensure that the - ** tables within the output of sqlite3changegroup_output() are in - ** the right order. */ - ppTab = pGrp + 8 - for { - if !(*(*uintptr)(unsafe.Pointer(ppTab)) != 0) { - break - } - goto _2 - _2: - ; - ppTab = *(*uintptr)(unsafe.Pointer(ppTab)) - } - *(*uintptr)(unsafe.Pointer(ppTab)) = pTab - } - if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*uintptr)(unsafe.Pointer(bp + 64))) != 0) { - rc = int32(SQLITE_SCHEMA) - break - } + if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, nTab+int32(1)) { + break } - if *(*int32)(unsafe.Pointer(bp + 40)) < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol { - _ = libc.Int32FromInt32(0) - rc = _sessionChangesetExtendRecord(tls, pGrp, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*int32)(unsafe.Pointer(bp + 44)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+16) + goto _1 + _1: + ; + pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext + } + /* If one was not found above, create a new table now */ + if !(pTab != 0) { + pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 8)))+uint64(nTab)+uint64(1)) + if !(pTab != 0) { + return int32(SQLITE_NOMEM) + } + libc.Xmemset(tls, pTab, 0, uint64(80)) + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 8)) + (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp)), uint64(*(*int32)(unsafe.Pointer(bp + 8)))) + (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 8))) + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, uint64(nTab+int32(1))) + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 + rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) if rc != 0 { + _ = libc.Int32FromInt32(0) + Xsqlite3_free(tls, pTab) + return rc + } + } + /* The new object must be linked on to the end of the list, not + ** simply added to the start of it. This is to ensure that the + ** tables within the output of sqlite3changegroup_output() are in + ** the right order. */ + ppNew = pGrp + 8 + for { + if !(*(*uintptr)(unsafe.Pointer(ppNew)) != 0) { break } - *(*uintptr)(unsafe.Pointer(bp)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf - *(*int32)(unsafe.Pointer(bp + 8)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf + goto _2 + _2: + ; + ppNew = *(*uintptr)(unsafe.Pointer(ppNew)) } - if _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { - rc = int32(SQLITE_NOMEM) - break + *(*uintptr)(unsafe.Pointer(ppNew)) = pTab + } + /* Check that the table is compatible. */ + if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp))) != 0) { + rc = int32(SQLITE_SCHEMA) + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + return rc +} + +// C documentation +// +// /* +// ** Add the change currently indicated by iterator pIter to the hash table +// ** belonging to changegroup pGrp. +// */ +func _sessionOneChangeToHash(tls *libc.TLS, pGrp uintptr, pIter uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var aRec, pBuf, pExist, pp uintptr + var bPkOnly1, bPkOnly2, iHash, nRec, rc int32 + var _ /* bIndirect at bp+8 */ int32 + var _ /* nCol at bp+0 */ int32 + var _ /* op at bp+4 */ int32 + var _ /* pChange at bp+16 */ uintptr + var _ /* pTab at bp+24 */ uintptr + var _ /* zTab at bp+32 */ uintptr + _, _, _, _, _, _, _, _, _ = aRec, bPkOnly1, bPkOnly2, iHash, nRec, pBuf, pExist, pp, rc + rc = SQLITE_OK + *(*int32)(unsafe.Pointer(bp)) = 0 + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + iHash = 0 + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) + pExist = uintptr(0) + pp = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) + aRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent+int32(2)) + nRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent - int32(2) + /* Ensure that only changesets, or only patchsets, but not a mixture + ** of both, are being combined. It is an error to try to combine a + ** changeset and a patchset. */ + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = int32(SQLITE_ERROR) } - iHash = int32(_sessionChangeHash(tls, pTab, libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)), *(*uintptr)(unsafe.Pointer(bp)), (*TSessionTable)(unsafe.Pointer(pTab)).FnChange)) + } + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0) + Xsqlite3changeset_op(tls, pIter, bp+32, bp, bp+4, bp+8) + rc = _sessionChangesetFindTable(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 32)), pIter, bp+24) + } + if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) < (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnCol { + pBuf = pGrp + 16 + rc = _sessionChangesetExtendRecord(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), aRec, nRec, pBuf) + aRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + nRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FnBuf + _ = libc.Int32FromInt32(0) + } + if rc == SQLITE_OK && _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 24))) != 0 { + rc = int32(SQLITE_NOMEM) + } + if rc == SQLITE_OK { /* Search for existing entry. If found, remove it from the hash table. - ** Code below may link it back in. - */ - pp = (*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8 + ** Code below may link it back in. */ + iHash = int32(_sessionChangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)), aRec, (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnChange)) + pp = (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8 for { if !(*(*uintptr)(unsafe.Pointer(pp)) != 0) { break @@ -198593,30 +200346,54 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase bPkOnly2 = 0 if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { bPkOnly1 = libc.BoolInt32(int32((*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fop) == int32(SQLITE_DELETE)) - bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)) + bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)) } - if _sessionChangeEqual(tls, pTab, bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp))) != 0 { + if _sessionChangeEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, aRec) != 0 { pExist = *(*uintptr)(unsafe.Pointer(pp)) *(*uintptr)(unsafe.Pointer(pp)) = (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry-- + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry-- break } - goto _3 - _3: + goto _1 + _1: ; pp = *(*uintptr)(unsafe.Pointer(pp)) + 24 } - rc = _sessionChangeMerge(tls, pTab, bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 44)), *(*int32)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+56) - if rc != 0 { + } + if rc == SQLITE_OK { + rc = _sessionChangeMerge(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 4)), *(*int32)(unsafe.Pointer(bp + 8)), aRec, nRec, bp+16) + } + if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { + (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 16)) + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry++ + } + if rc == SQLITE_OK { + rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// C documentation +// +// /* +// ** Add all changes in the changeset traversed by the iterator passed as +// ** the first argument to the changegroup hash tables. +// */ +func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var rc int32 + var _ /* aRec at bp+0 */ uintptr + var _ /* nRec at bp+8 */ int32 + _ = rc + rc = SQLITE_OK + for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { + rc = _sessionOneChangeToHash(tls, pGrp, pIter, bRebase) + if rc != SQLITE_OK { break } - if *(*uintptr)(unsafe.Pointer(bp + 56)) != 0 { - (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) - *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 56)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry++ - } } - Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf) if rc == SQLITE_OK { rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc } @@ -198727,11 +200504,11 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) (r int32) { var rc int32 _, _ = p, rc rc = SQLITE_OK /* New object */ - p = Xsqlite3_malloc(tls, int32(32)) + p = Xsqlite3_malloc(tls, int32(48)) if p == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, p, 0, uint64(32)) + libc.Xmemset(tls, p, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(pp)) = p return rc @@ -198753,7 +200530,7 @@ func Xsqlite3changegroup_schema(tls *libc.TLS, pGrp uintptr, db uintptr, zDb uin ** or after sqlite3changegroup_schema() has already been called. */ rc = int32(SQLITE_MISUSE) } else { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, zDb)) + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, zDb)) if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -198783,6 +200560,19 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin return rc } +// C documentation +// +// /* +// ** Add a single change to a changeset-group. +// */ +func Xsqlite3changegroup_add_change(tls *libc.TLS, pGrp uintptr, pIter uintptr) (r int32) { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent == (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc != SQLITE_OK || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbInvert != 0 { + /* Iterator does not point to any valid entry or is an INVERT iterator. */ + return int32(SQLITE_ERROR) + } + return _sessionOneChangeToHash(tls, pGrp, pIter, 0) +} + // C documentation // // /* @@ -198830,6 +200620,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { if pGrp != 0 { Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Frec.FaBuf) Xsqlite3_free(tls, pGrp) } } @@ -199197,11 +200988,11 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) (r int32) { var rc int32 _, _ = pNew, rc rc = SQLITE_OK - pNew = Xsqlite3_malloc(tls, int32(32)) + pNew = Xsqlite3_malloc(tls, int32(48)) if pNew == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, pNew, 0, uint64(32)) + libc.Xmemset(tls, pNew, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(ppNew)) = pNew return rc @@ -199275,6 +201066,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { if p != 0 { _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.Frec.FaBuf) Xsqlite3_free(tls, p) } } @@ -199906,6 +201698,9 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** sqlite3Fts5ParserARG_STORE Code to store %extra_argument into fts5yypParser // ** sqlite3Fts5ParserARG_FETCH Code to extract %extra_argument from fts5yypParser // ** sqlite3Fts5ParserCTX_* As sqlite3Fts5ParserARG_ except for %extra_context +// ** fts5YYREALLOC Name of the realloc() function to use +// ** fts5YYFREE Name of the free() function to use +// ** fts5YYDYNSTACK True if stack space should be extended on heap // ** fts5YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** fts5YYNSTATE the combined number of states. @@ -199919,6 +201714,8 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** fts5YY_NO_ACTION The fts5yy_action[] code for no-op // ** fts5YY_MIN_REDUCE Minimum value for reduce actions // ** fts5YY_MAX_REDUCE Maximum value for reduce actions +// ** fts5YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** fts5YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type Tfts5YYMINORTYPE = struct { @@ -199945,6 +201742,13 @@ type fts5YYMINORTYPE = Tfts5YYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -200374,8 +202178,9 @@ type fts5yyStackEntry = Tfts5yyStackEntry type Tfts5yyParser1 = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser1 = Tfts5yyParser1 @@ -200383,14 +202188,19 @@ type fts5yyParser1 = Tfts5yyParser1 type Tfts5yyParser = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser = Tfts5yyParser /* #include */ +/* For builds that do no have a growable stack, fts5yyGrowStack always +** returns an error. + */ + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3Fts5ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -200405,10 +202215,11 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { var fts5yypParser uintptr _ = fts5yypParser fts5yypParser = fts5yypRawParser - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fstateno = uint8(0) - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fmajor = uint8(0) - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = fts5yypParser + 16 + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack = fts5yypParser + 32 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fstateno = uint8(0) + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fmajor = uint8(0) } // C documentation @@ -200428,7 +202239,7 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) { var fts5yypParser uintptr _ = fts5yypParser - fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2424)) + fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432)) if fts5yypParser != 0 { _sqlite3Fts5ParserInit(tls, fts5yypParser) } @@ -200512,11 +202323,17 @@ func _fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var fts5yytos, pParser uintptr + _, _ = fts5yytos, pParser pParser = p - for (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { - _fts5yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling fts5yy_pop_parser_stack() for each + ** element left in the stack */ + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos + for fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yystack { + if int32((*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor) >= int32(fts5YY_MIN_DSTRCTR) { + _fts5yy_destructor(tls, pParser, (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor, fts5yytos+8) + } + fts5yytos -= 24 } } @@ -200616,13 +202433,13 @@ func _fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse - for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { + for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack { _fts5yy_pop_parser_stack(tls, fts5yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34731, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34877, 0) /******** End %stack_overflow code ********************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument var */ } @@ -200640,15 +202457,19 @@ func _fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, f var fts5yytos uintptr _ = fts5yytos (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 - if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 - _fts5yyStackOverflow(tls, fts5yypParser) - return + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + if fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { + if int32(1) != 0 { + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 + _fts5yyStackOverflow(tls, fts5yypParser) + return + } + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + _ = libc.Int32FromInt32(0) } if int32(fts5yyNewState) > int32(fts5YY_MAX_SHIFT) { fts5yyNewState = uint8(int32(fts5yyNewState) + (libc.Int32FromInt32(fts5YY_MIN_REDUCE) - libc.Int32FromInt32(fts5YY_MIN_SHIFTREDUCE))) } - fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fstateno = fts5yyNewState (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor = fts5yyMajor *(*TFts5Token)(unsafe.Pointer(fts5yytos + 8)) = fts5yyMinor @@ -200978,7 +202799,7 @@ func _fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int3 pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse /************ Begin %syntax_error code ****************************************/ _ = fts5yymajor /* Silence a compiler warning */ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34759, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34905, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) /************ End %syntax_error code ******************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument variable */ } @@ -201044,8 +202865,10 @@ func _sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5y ** enough on the stack to push the LHS value */ if int32(_fts5yyRuleInfoNRhs[fts5yyruleno]) == 0 { if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos >= (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - _fts5yyStackOverflow(tls, fts5yypParser) - break + if int32(1) != 0 { + _fts5yyStackOverflow(tls, fts5yypParser) + break + } } } fts5yyact = _fts5yy_reduce(tls, fts5yypParser, fts5yyruleno, fts5yymajor, fts5yyminor) @@ -201286,7 +203109,7 @@ func _fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n in if n < 0 { n = int32(libc.Xstrlen(tls, z)) } - (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34790, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34936, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*THighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = int32(SQLITE_NOMEM) } @@ -201384,7 +203207,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint var _ /* rc at bp+104 */ int32 _, _ = iCol, zErr if nVal != int32(3) { - zErr = __ccgo_ts + 34797 + zErr = __ccgo_ts + 34943 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -201395,7 +203218,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint (*(*THighlightContext)(unsafe.Pointer(bp))).FiRangeEnd = -int32(1) *(*int32)(unsafe.Pointer(bp + 104)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})))(tls, pFts, iCol, bp+24, bp+32) if *(*int32)(unsafe.Pointer(bp + 104)) == int32(SQLITE_RANGE) { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1657, -int32(1), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1671, -int32(1), libc.UintptrFromInt32(0)) *(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_OK } else { if (*(*THighlightContext)(unsafe.Pointer(bp))).FzIn != 0 { @@ -201596,7 +203419,7 @@ func _fts5ValueToText(tls *libc.TLS, pVal uintptr) (r uintptr) { if zRet != 0 { v1 = zRet } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } return v1 } @@ -201630,7 +203453,7 @@ func _fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintpt nBestScore = 0 /* Score of best snippet */ *(*int32)(unsafe.Pointer(bp + 112)) = 0 if nVal != int32(5) { - zErr = __ccgo_ts + 34847 + zErr = __ccgo_ts + 34993 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -202011,15 +203834,15 @@ func _sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) (r int32) { FxDestroy uintptr }{ 0: { - FzFunc: __ccgo_ts + 34895, + FzFunc: __ccgo_ts + 35041, FxFunc: __ccgo_fp(_fts5SnippetFunction), }, 1: { - FzFunc: __ccgo_ts + 34903, + FzFunc: __ccgo_ts + 35049, FxFunc: __ccgo_fp(_fts5HighlightFunction), }, 2: { - FzFunc: __ccgo_ts + 34913, + FzFunc: __ccgo_ts + 35059, FxFunc: __ccgo_fp(_fts5Bm25Function), }, } @@ -202684,7 +204507,7 @@ func _fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) (r uintptr) { case int32('n'): fallthrough case int32('N'): - if Xsqlite3_strnicmp(tls, __ccgo_ts+1643, p, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+1657, p, int32(4)) == 0 { p = p + 4 } else { p = uintptr(0) @@ -202890,7 +204713,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _, _, _, _, _, _, _, _, _, _, _, _ = azArg, bFirst, nArg, nByte, nCmd, nPre, p, p1, p2, pDel, pSpace, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK nCmd = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, __ccgo_ts+34918, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35064, zCmd, nCmd) == 0 { nByte = int32(libc.Uint64FromInt64(4) * libc.Uint64FromInt32(FTS5_MAX_PREFIX_INDEXES)) bFirst = int32(1) if (*TFts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { @@ -202916,12 +204739,12 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } } if int32(*(*uint8)(unsafe.Pointer(p))) < int32('0') || int32(*(*uint8)(unsafe.Pointer(p))) > int32('9') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34925, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35071, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } if (*TFts5Config)(unsafe.Pointer(pConfig)).FnPrefix == int32(FTS5_MAX_PREFIX_INDEXES) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34956, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35102, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -202930,7 +204753,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC p++ } if nPre <= 0 || nPre >= int32(1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34989, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35135, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -202941,7 +204764,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _ = libc.Int32FromInt32(0) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35026, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35172, zCmd, nCmd) == 0 { p1 = zArg nArg = int64(libc.Xstrlen(tls, zArg) + uint64(1)) azArg = _sqlite3Fts5MallocZero(tls, bp, int64(uint64(8)*uint64(nArg))) @@ -202949,7 +204772,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC pSpace = pDel if azArg != 0 && pSpace != 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35035, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35181, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { nArg = 0 @@ -202976,7 +204799,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC nArg++ } if p1 == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35068, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35214, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(nArg), pConfig, pzErr) @@ -202987,58 +204810,58 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC Xsqlite3_free(tls, pDel) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35102, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35248, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35110, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35256, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if *(*uint8)(unsafe.Pointer(zArg)) != 0 { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_EXTERNAL) - (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35142, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35288, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_NONE) } } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35148, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35294, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35167, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35313, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35210, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35356, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35224, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35370, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, zArg, -int32(1)) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35262, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35408, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35273, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35419, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+5508, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+5572, zCmd, nCmd) == 0 { *(*[4]TFts5Enum)(unsafe.Pointer(bp + 8)) = [4]TFts5Enum{ 0: { - FzName: __ccgo_ts + 8227, + FzName: __ccgo_ts + 8352, FeVal: int32(FTS5_DETAIL_NONE), }, 1: { - FzName: __ccgo_ts + 17756, + FzName: __ccgo_ts + 17843, }, 2: { - FzName: __ccgo_ts + 35308, + FzName: __ccgo_ts + 35454, FeVal: int32(FTS5_DETAIL_COLUMNS), }, 3: {}, @@ -203046,20 +204869,20 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC v2 = _fts5ConfigSetEnum(tls, bp+8, zArg, pConfig+96) *(*int32)(unsafe.Pointer(bp)) = v2 if v2 != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35316, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35462, 0) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35347, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35493, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35357, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35503, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbTokendata = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35391, libc.VaList(bp+80, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35537, libc.VaList(bp+80, nCmd, zCmd)) return int32(SQLITE_ERROR) } @@ -203133,15 +204956,15 @@ func _fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr var v2 uintptr _, _, _ = rc, v1, v2 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35419) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16703) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35424, libc.VaList(bp+8, zCol)) + if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35565) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16790) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35570, libc.VaList(bp+8, zCol)) rc = int32(SQLITE_ERROR) } else { if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35454) { + if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35600) { *(*Tu8)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*TFts5Config)(unsafe.Pointer(p)).FnCol))) = uint8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35464, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35610, libc.VaList(bp+8, zArg)) rc = int32(SQLITE_ERROR) } } @@ -203167,7 +204990,7 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TFts5Buffer)(unsafe.Pointer(bp + 8)) = TFts5Buffer{} - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35495, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35641, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*TFts5Config)(unsafe.Pointer(p)).FeContent != int32(FTS5_CONTENT_NONE) { i = 0 for { @@ -203175,9 +204998,9 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { break } if (*TFts5Config)(unsafe.Pointer(p)).FeContent == int32(FTS5_CONTENT_EXTERNAL) { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35500, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35646, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35507, libc.VaList(bp+32, i)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35653, libc.VaList(bp+32, i)) } goto _1 _1: @@ -203238,8 +205061,8 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in (*TFts5Config)(unsafe.Pointer(pRet)).FzName = _sqlite3Fts5Strndup(tls, bp, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -int32(1)) (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize = int32(1) (*TFts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35419) == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35515, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) + if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35565) == 0 { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35661, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } _ = libc.Int32FromInt32(0) @@ -203272,19 +205095,19 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35544, libc.VaList(bp+40, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35690, libc.VaList(bp+40, zOrig)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bOption != 0 { if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { v4 = *(*uintptr)(unsafe.Pointer(bp + 8)) } else { - v4 = __ccgo_ts + 1657 + v4 = __ccgo_ts + 1671 } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { v5 = *(*uintptr)(unsafe.Pointer(bp + 16)) } else { - v5 = __ccgo_ts + 1657 + v5 = __ccgo_ts + 1671 } *(*int32)(unsafe.Pointer(bp)) = _fts5ConfigParseSpecial(tls, pGlobal, pRet, v4, v5, pzErr) } else { @@ -203302,7 +205125,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } /* We only allow contentless_delete=1 if the table is indeed contentless. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FeContent != int32(FTS5_CONTENT_NONE) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35564, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35710, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* We only allow contentless_delete=1 if columnsize=0 is not present. @@ -203310,7 +205133,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in ** This restriction may be removed at some point. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35614, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35760, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* If a tokenizer= option was successfully parsed, the tokenizer has @@ -203324,18 +205147,18 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in zTail = uintptr(0) _ = libc.Int32FromInt32(0) if (*TFts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { - zTail = __ccgo_ts + 35102 + zTail = __ccgo_ts + 35248 } else { if (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = __ccgo_ts + 35669 + zTail = __ccgo_ts + 35815 } } if zTail != 0 { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35677, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35823, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0) { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16703, -int32(1)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16790, -int32(1)) } /* Formulate the zContentExprlist text */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -203399,25 +205222,25 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) { var _ /* rc at bp+0 */ int32 _, _, _, _ = i, zSep, zSql, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35688, 0) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35834, 0) i = 0 for { if !(zSql != 0 && i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } if i == 0 { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } else { - v2 = __ccgo_ts + 14999 + v2 = __ccgo_ts + 15092 } zSep = v2 - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35704, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35850, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) goto _1 _1: ; i++ } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35711, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35419)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35857, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35565)) _ = libc.Int32FromInt32(0) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_declare_vtab(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -203565,7 +205388,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV var _ /* zRankArgs at bp+8 */ uintptr _, _, _, _, _, _, _, _, _, _ = bVal, nAutomerge, nCrisisMerge, nHashSize, nUsermerge, nVal, pgsz, rc, zIn, v1 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35737) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35883) { pgsz = 0 if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -203576,7 +205399,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35742) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35888) { nHashSize = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -203587,7 +205410,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35751) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35897) { nAutomerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -203601,7 +205424,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35761) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35907) { nUsermerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -203612,7 +205435,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35771) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35917) { nCrisisMerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -203629,7 +205452,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35783) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35929) { nVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nVal = Xsqlite3_value_int(tls, pVal) @@ -203644,7 +205467,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } (*TFts5Config)(unsafe.Pointer(pConfig)).FnDeleteMerge = nVal } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35419) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35565) { zIn = Xsqlite3_value_text(tls, pVal) rc = _sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8) if rc == SQLITE_OK { @@ -203659,7 +205482,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35795) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35941) { bVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { bVal = Xsqlite3_value_int(tls, pVal) @@ -203701,7 +205524,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in var _ /* p at bp+0 */ uintptr var _ /* rc at bp+8 */ int32 _, _, _, _, _ = iVersion, pVal, zK, zSelect, zSql - zSelect = __ccgo_ts + 35809 + zSelect = __ccgo_ts + 35955 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_OK iVersion = 0 @@ -203722,7 +205545,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in for int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zK = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) pVal = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) - if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35841) { + if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35987) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 12)) = 0 @@ -203735,7 +205558,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in *(*int32)(unsafe.Pointer(bp + 8)) = int32(SQLITE_ERROR) if (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { _ = libc.Int32FromInt32(0) - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35849, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35995, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = iVersion @@ -203957,7 +205780,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr } } if int32(*(*uint8)(unsafe.Pointer(z2))) == int32('\000') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35920, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36066, 0) return FTS5_EOF } goto _1 @@ -203968,7 +205791,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z2) - int64(z)) default: if _sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z))) == 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35940, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36086, libc.VaList(bp+8, z)) return FTS5_EOF } tok = int32(FTS5_STRING) @@ -203983,13 +205806,13 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr z21++ } (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z21) - int64(z)) - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35971, uint64(2)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36117, uint64(2)) == 0 { tok = int32(FTS5_OR) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35974, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36120, uint64(3)) == 0 { tok = int32(FTS5_NOT) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30715, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30861, uint64(3)) == 0 { tok = int32(FTS5_AND) } break @@ -206097,8 +207920,8 @@ func _sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, pp func _sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+35978, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34759, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) + if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36124, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34905, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -206118,7 +207941,7 @@ func _sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, } c = *(*uint8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) if int32(c) < int32('0') || int32(c) > int32('9') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35983, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36129, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) return } nNear = nNear*int32(10) + (int32(*(*uint8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - int32('0')) @@ -206258,7 +208081,7 @@ func _sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p u iCol++ } if iCol == (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21025, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21157, libc.VaList(bp+8, z)) } else { pRet = _fts5ParseColset(tls, pParse, pColset, iCol) } @@ -206385,7 +208208,7 @@ func _sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pC var _ /* pFree at bp+0 */ uintptr *(*uintptr)(unsafe.Pointer(bp)) = pColset if (*TFts5Config)(unsafe.Pointer((*TFts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == int32(FTS5_DETAIL_NONE) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36012, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36158, 0) } else { _fts5ParseSetColset(tls, pParse, pExpr, pColset, bp) } @@ -206582,11 +208405,11 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin pPhrase = *(*uintptr)(unsafe.Pointer(pNear + 24)) if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase != int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*(*TFts5ExprTerm)(unsafe.Pointer(pPhrase + 32))).FbFirst != 0 { if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == int32(1) { - v2 = __ccgo_ts + 36065 + v2 = __ccgo_ts + 36211 } else { - v2 = __ccgo_ts + 35978 + v2 = __ccgo_ts + 36124 } - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36072, libc.VaList(bp+8, v2)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36218, libc.VaList(bp+8, v2)) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -206595,7 +208418,7 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin _fts5ExprAddChildren(tls, pRet, pLeft) _fts5ExprAddChildren(tls, pRet, pRight) if (*TFts5ExprNode)(unsafe.Pointer(pRet)).FiHeight > int32(SQLITE_FTS5_MAX_EXPR_DEPTH) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36122, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36268, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -208764,7 +210587,7 @@ func _fts5DataRead(tls *libc.TLS, p uintptr, iRowid Ti64) (r uintptr) { ** to the requested entry. */ if (*TFts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36175, iRowid, 0, p+72) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36321, iRowid, 0, p+72) } /* If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls ** above returned SQLITE_ERROR, return SQLITE_CORRUPT_VTAB instead. @@ -208858,7 +210681,7 @@ func _fts5DataWrite(tls *libc.TLS, p uintptr, iRowid Ti64, pData uintptr, nData } if (*TFts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36181, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36327, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return } @@ -208887,7 +210710,7 @@ func _fts5DataDelete(tls *libc.TLS, p uintptr, iFirst Ti64, iLast Ti64) { } if (*TFts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36232, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36378, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if _fts5IndexPrepareStmt(tls, p, p+88, zSql) != 0 { return } @@ -208921,7 +210744,7 @@ func _fts5DataRemoveSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { } if (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36281, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36427, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter, int32(1), iSegid) @@ -209091,7 +210914,7 @@ func _fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie ui } i = int32(4) /* Check if this is a V2 structure record. Set bStructureV2 if it is. */ - if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36321, uint64(4)) { + if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36467, uint64(4)) { i += int32(4) bStructureV2 = int32(1) } @@ -209284,7 +211107,7 @@ func _fts5IndexDataVersion(tls *libc.TLS, p uintptr) (r Ti64) { iVersion = 0 if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*TFts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) { - (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36326, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36472, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return 0 } @@ -209372,7 +211195,7 @@ func _fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = int32(4) if (*TFts5Structure)(unsafe.Pointer(pStruct)).FnOriginCntr > uint64(0) { _ = libc.Int32FromInt32(0) - libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36321, uint64(4)) + libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36467, uint64(4)) *(*int32)(unsafe.Pointer(bp + 8)) += int32(4) } *(*int32)(unsafe.Pointer(bp + 8)) += _sqlite3Fts5PutVarint(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), uint64((*TFts5Structure)(unsafe.Pointer(pStruct)).FnLevel)) @@ -210789,7 +212612,7 @@ func _fts5IdxSelectStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36349, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36495, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect } @@ -210881,7 +212704,7 @@ func _fts5IdxNextStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36433, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36579, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect } @@ -212560,7 +214383,7 @@ func _fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { if (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { v1 = (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } z = v1 /* The following was already done in fts5WriteInit(): */ @@ -212929,7 +214752,7 @@ func _fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { _sqlite3Fts5BufferSize(tls, p+60, pWriter+8+8, uint32(nBuffer)) if (*TFts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36515, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36661, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { /* Initialize the 4-byte leaf-page header to 0x00. */ @@ -213430,7 +215253,7 @@ func _fts5SecureDeleteIdxEntry(tls *libc.TLS, p uintptr, iSegid int32, iPgno int if iPgno != int32(1) { _ = libc.Int32FromInt32(0) if (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx == uintptr(0) { - _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36572, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36718, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx, int32(1), iSegid) @@ -214970,7 +216793,7 @@ func _sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) (r int32) { if (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FbContentlessDelete != 0 { (*(*TFts5Structure)(unsafe.Pointer(bp))).FnOriginCntr = uint64(1) } - _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1657, 0) + _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1671, 0) _fts5StructureWrite(tls, p, bp) return _fts5IndexReturn(tls, p) } @@ -214997,11 +216820,11 @@ func _sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uin if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*TFts5Index)(unsafe.Pointer(p)).FnWorkUnit = int32(FTS5_WORK_UNIT) - (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36633, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36779, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25750, __ccgo_ts+36641, 0, pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25896, __ccgo_ts+36787, 0, pzErr) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11802, __ccgo_ts+36676, int32(1), pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11927, __ccgo_ts+36822, int32(1), pzErr) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5IndexReinit(tls, p) @@ -215540,7 +217363,7 @@ func _fts5SetupTokendataIter(tls *libc.TLS, p uintptr, pToken uintptr, nToken in pNew = _fts5MultiIterAlloc(tls, p, (*TFts5Structure)(unsafe.Pointer(pStruct)).FnSegment) if pSmall != 0 { _sqlite3Fts5BufferSet(tls, p+60, bp, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fn, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36720) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36866) } else { _sqlite3Fts5BufferSet(tls, p+60, bp, nToken, pToken) } @@ -216070,7 +217893,7 @@ func _sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) _ = libc.Int32FromInt32(0) _sqlite3Fts5Put32(tls, bp, iNew) - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36175, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36321, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, int32(4), 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -216669,7 +218492,7 @@ func _fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { if (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { return } - _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36722, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) + _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36868, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) /* Iterate through the b-tree hierarchy. */ for (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { /* Data for this leaf */ zIdxTerm = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -216902,7 +218725,7 @@ func _sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum Tu64, bUseC } else { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = 0 _fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16))+104+uintptr((*(*TFts5CResult)(unsafe.Pointer((*TFts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FaFirst + 1*4))).FiFirst)*128, uintptr(0), bp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36808) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36954) for 0 == _sqlite3Fts5PoslistNext64(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn, bp+40, bp+32) { iCol = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) >> libc.Int32FromInt32(32)) iTokOff = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) & libc.Int64FromInt32(0x7FFFFFFF)) @@ -217500,7 +219323,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36813, 0) + (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36959, 0) return int32(SQLITE_ERROR) } idxStr = Xsqlite3_malloc(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pInfo)).FnConstraint*int32(8)+int32(1)) @@ -217540,7 +219363,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v3 = iIdxStr iIdxStr++ *(*uint8)(unsafe.Pointer(idxStr + uintptr(v3))) = uint8('M') - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5147, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5211, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) _ = libc.Int32FromInt32(0) } @@ -217562,7 +219385,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v6 = int32('G') } *(*uint8)(unsafe.Pointer(idxStr + uintptr(v5))) = uint8(v6) - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5147, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5211, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) iCons++ v7 = iCons @@ -218004,7 +219827,7 @@ func _fts5NextMethod(tls *libc.TLS, pCursor uintptr) (r int32) { *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_EOF) rc = Xsqlite3_reset(tls, (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -218031,7 +219854,7 @@ func _fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt } else { rc = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -218066,21 +219889,21 @@ func _fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ if zRankArgs != 0 { - v1 = __ccgo_ts + 14999 + v1 = __ccgo_ts + 15092 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } if zRankArgs != 0 { v2 = zRankArgs } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } if bDesc != 0 { - v3 = __ccgo_ts + 36852 + v3 = __ccgo_ts + 36998 } else { - v3 = __ccgo_ts + 36857 + v3 = __ccgo_ts + 37003 } - rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+36861, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) + rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+37007, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter if rc == SQLITE_OK { _ = libc.Int32FromInt32(0) @@ -218140,14 +219963,14 @@ func _fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr } _ = libc.Int32FromInt32(0) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan = int32(FTS5_PLAN_SPECIAL) - if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+36916, z, n) { + if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+37062, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = int64(_sqlite3Fts5IndexReads(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex)) } else { - if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5490, z, n) { + if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5554, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { /* An unrecognized directive. Return an error message. */ - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36922, libc.VaList(bp+8, n, z)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37068, libc.VaList(bp+8, n, z)) rc = int32(SQLITE_ERROR) } } @@ -218197,7 +220020,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { zRank = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank zRankArgs = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36950, libc.VaList(bp+24, zRankArgs)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37096, libc.VaList(bp+24, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp+8, uintptr(0)) @@ -218233,7 +220056,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { pAux = _fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { _ = libc.Int32FromInt32(0) - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36960, libc.VaList(bp+24, zRank)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37106, libc.VaList(bp+24, zRank)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -218267,7 +220090,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_FREE_ZRANK) } else { if rc == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36981, libc.VaList(bp+24, z)) + (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37127, libc.VaList(bp+24, z)) } } } else { @@ -218275,7 +220098,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRank (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRankArgs } else { - (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 34913 + (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 35059 (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -218326,7 +220149,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint iIdxStr = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36813, 0) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36959, 0) return int32(SQLITE_ERROR) } if (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan != 0 { @@ -218356,7 +220179,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint case int32('M'): zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))) if zText == uintptr(0) { - zText = __ccgo_ts + 1657 + zText = __ccgo_ts + 1671 } iCol = 0 for cond := true; cond; cond = int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= int32('9') { @@ -218484,7 +220307,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint } } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent == uintptr(0) { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37014, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37160, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = int32(SQLITE_ERROR) } else { /* This is either a full-table scan (ePlan==FTS5_PLAN_SCAN) or a lookup @@ -218628,7 +220451,7 @@ func _fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) (r int32) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< int32(1) { - v1 = __ccgo_ts + 20878 + v1 = __ccgo_ts + 21010 } else { - v1 = __ccgo_ts + 37292 + v1 = __ccgo_ts + 37438 } - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37304, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37450, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if nArg == int32(1) { @@ -218893,7 +220716,7 @@ func _fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && bUpdateOrDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FbSecureDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion == int32(FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35841, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35987, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = int32(FTS5_CURRENT_VERSION_SECUREDELETE) } @@ -219694,7 +221517,7 @@ func _fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) iCsrId = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) pCsr = _fts5CursorFromCsrid(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId) if pCsr == uintptr(0) || (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37341, libc.VaList(bp+8, iCsrId)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37487, libc.VaList(bp+8, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } else { @@ -219886,7 +221709,7 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = uintptr(0) } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 && Xsqlite3_vtab_nochange(tls, pCtx) != 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37362, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37508, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -220129,7 +221952,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr if pMod == uintptr(0) { _ = libc.Int32FromInt32(0) rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37433, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37579, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) } else { if azArg != 0 { v2 = azArg + 1*8 @@ -220145,7 +221968,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr (*TFts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16 if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37455, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37601, 0) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FePattern = _sqlite3Fts5TokenizerPattern(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate, (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok) @@ -220201,7 +222024,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { pGlobal = Xsqlite3_user_data(tls, pCtx) _ = nArg _ = libc.Int32FromInt32(0) - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37486) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37632) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal } @@ -220216,7 +222039,7 @@ func _fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr _ = libc.Int32FromInt32(0) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37499, -int32(1), uintptr(-libc.Int32FromInt32(1))) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37645, -int32(1), uintptr(-libc.Int32FromInt32(1))) } // C documentation @@ -220245,11 +222068,11 @@ func _fts5ShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName2 = [5]uintptr{ - 0: __ccgo_ts + 37590, - 1: __ccgo_ts + 35102, - 2: __ccgo_ts + 25750, - 3: __ccgo_ts + 35669, - 4: __ccgo_ts + 11802, + 0: __ccgo_ts + 37736, + 1: __ccgo_ts + 35248, + 2: __ccgo_ts + 25896, + 3: __ccgo_ts + 35815, + 4: __ccgo_ts + 11927, } // C documentation @@ -220263,21 +222086,27 @@ func _fts5IntegrityMethod(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zTabnam bp := tls.Alloc(32) defer tls.Free(32) var pTab uintptr - var rc int32 - _, _ = pTab, rc + var rc, v1 int32 + _, _, _ = pTab, rc, v1 pTab = pVtab _ = libc.Int32FromInt32(0) _ = isQuick rc = _sqlite3Fts5StorageIntegrity(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, 0) if rc&int32(0xff) == int32(SQLITE_CORRUPT) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37597, libc.VaList(bp+8, zSchema, zTabname)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37743, libc.VaList(bp+8, zSchema, zTabname)) + if *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { + v1 = SQLITE_OK + } else { + v1 = int32(SQLITE_NOMEM) + } + rc = v1 } else { if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37643, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37789, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) } } _sqlite3Fts5IndexCloseReader(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) - return SQLITE_OK + return rc } func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { @@ -220296,7 +222125,7 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateFunction = __ccgo_fp(_fts5CreateAux) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateTokenizer = __ccgo_fp(_fts5CreateTokenizer) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = __ccgo_fp(_fts5FindTokenizer) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37706, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37852, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) if rc == SQLITE_OK { rc = _sqlite3Fts5IndexInit(tls, db) } @@ -220313,10 +222142,10 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { rc = _sqlite3Fts5VocabInit(tls, pGlobal, db) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37706, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37852, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37711, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37857, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) } } /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file @@ -220421,17 +222250,17 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { azStmt = [11]uintptr{ - 0: __ccgo_ts + 37726, - 1: __ccgo_ts + 37794, - 2: __ccgo_ts + 37863, - 3: __ccgo_ts + 37896, - 4: __ccgo_ts + 37935, - 5: __ccgo_ts + 37975, - 6: __ccgo_ts + 38014, - 7: __ccgo_ts + 38057, - 8: __ccgo_ts + 38096, - 9: __ccgo_ts + 38140, - 10: __ccgo_ts + 38180, + 0: __ccgo_ts + 37872, + 1: __ccgo_ts + 37940, + 2: __ccgo_ts + 38009, + 3: __ccgo_ts + 38042, + 4: __ccgo_ts + 38081, + 5: __ccgo_ts + 38121, + 6: __ccgo_ts + 38160, + 7: __ccgo_ts + 38203, + 8: __ccgo_ts + 38242, + 9: __ccgo_ts + 38286, + 10: __ccgo_ts + 38326, } pC = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig zSql = uintptr(0) @@ -220468,16 +222297,16 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, } case int32(FTS5_STMT_REPLACE_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v2 = __ccgo_ts + 38203 + v2 = __ccgo_ts + 38349 } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName, v2)) case int32(FTS5_STMT_LOOKUP_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v3 = __ccgo_ts + 38206 + v3 = __ccgo_ts + 38352 } else { - v3 = __ccgo_ts + 1657 + v3 = __ccgo_ts + 1671 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, v3, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName)) default: @@ -220496,7 +222325,7 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, (*TFts5Config)(unsafe.Pointer((*TFts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if rc != SQLITE_OK && pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -220533,12 +222362,12 @@ func _sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) (r int32) { defer tls.Free(64) var rc int32 _ = rc - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38214, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38360, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38318, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38464, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38356, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38502, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } @@ -220547,7 +222376,7 @@ func _fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail ui bp := tls.Alloc(48) defer tls.Free(48) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38394, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) + *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38540, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -220559,14 +222388,14 @@ func _sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) ( _ = pConfig pConfig = (*TFts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageSync(tls, pStorage) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25750, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11802, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37590, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25896, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11927, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37736, zName) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35669, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35815, zName) } if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35102, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35248, zName) } return *(*int32)(unsafe.Pointer(bp)) } @@ -220586,13 +222415,13 @@ func _sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDef _, _ = rc, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if bWithout != 0 { - v1 = __ccgo_ts + 30390 + v1 = __ccgo_ts + 30536 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38436, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38582, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38466, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38612, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) } return rc @@ -220633,36 +222462,36 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr if zDefn == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38510, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38656, 0) iOff = int32(libc.Xstrlen(tls, zDefn)) i = 0 for { if !(i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } - Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38533, libc.VaList(bp+8, i)) + Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38679, libc.VaList(bp+8, i)) iOff += int32(libc.Xstrlen(tls, zDefn+uintptr(iOff))) goto _2 _2: ; i++ } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35102, zDefn, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35248, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - zCols = __ccgo_ts + 38539 + zCols = __ccgo_ts + 38685 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 { - zCols = __ccgo_ts + 38571 + zCols = __ccgo_ts + 38717 } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35669, zCols, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35815, zCols, 0, pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37590, __ccgo_ts+38619, int32(1), pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37736, __ccgo_ts+38765, int32(1), pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35841, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35987, uintptr(0), int32(FTS5_CURRENT_VERSION)) } } if rc != 0 { @@ -221009,9 +222838,9 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig (*TFts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 /* Delete the contents of the %_data and %_docsize tables. */ - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38636, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38782, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38686, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38832, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } /* Reinitialize the %_data table. This call creates the initial structure ** and averages records. */ @@ -221019,7 +222848,7 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3Fts5IndexReinit(tls, (*TFts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35841, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35987, uintptr(0), int32(FTS5_CURRENT_VERSION)) } return rc } @@ -221233,7 +223062,7 @@ func _fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var _ /* pCnt at bp+0 */ uintptr _, _, _ = pConfig, rc, zSql pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38715, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38861, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -221444,14 +223273,14 @@ func _sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) (r int32 ** number of rows. */ if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { *(*Ti64)(unsafe.Pointer(bp + 48)) = 0 - rc = _fts5StorageCount(tls, p, __ccgo_ts+35102, bp+48) + rc = _fts5StorageCount(tls, p, __ccgo_ts+35248, bp+48) if rc == SQLITE_OK && *(*Ti64)(unsafe.Pointer(bp + 48)) != (*TFts5Storage)(unsafe.Pointer(p)).FnTotalRow { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) } @@ -222664,64 +224493,64 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38817, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38963, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38820, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38966, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38825, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38971, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('e'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38830, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38976, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38833, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38979, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('l'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38836, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38982, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38841, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38987, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38846, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38992, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38850, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38996, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38856, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39002, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38861, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39007, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -222730,49 +224559,49 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38865, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39011, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38869, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39015, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } } case int32('s'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38872, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39018, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('t'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38876, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39022, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38880, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39026, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38884, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39030, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38888, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39034, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('z'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38892, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39038, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -222789,20 +224618,20 @@ func _fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38896, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38876, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39042, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39022, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('b'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38899, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38902, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39045, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39048, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38906, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38892, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39052, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39038, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } @@ -222818,75 +224647,75 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38909, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39055, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38876, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39022, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38917, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39063, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38924, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39070, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(4) } } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38929, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39075, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38825, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38971, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38934, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39080, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38820, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38966, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } } case int32('e'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38939, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39085, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38892, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39038, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('g'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38944, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39090, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15916, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15995, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('l'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38949, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39095, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38902, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39048, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38953, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39099, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38817, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38963, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38958, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39104, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38861, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39007, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38964, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39110, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38968, uint64(1)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39114, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(1) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38970, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39116, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38884, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39030, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } @@ -222895,48 +224724,48 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38976, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39122, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38892, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39038, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38984, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39130, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38876, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39022, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38990, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39136, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38876, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39022, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } } } case int32('s'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38995, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39141, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38817, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38963, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39001, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39147, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38888, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39034, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39009, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39155, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39017, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39163, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39021, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39167, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38884, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39030, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } @@ -222944,21 +224773,21 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39029, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39175, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38817, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38963, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39035, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39181, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38888, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39034, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39041, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39187, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38902, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39048, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(3) } } @@ -222976,48 +224805,48 @@ func _fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39048, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39194, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38833, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38979, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } case int32('s'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39053, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39199, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39058, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39204, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38833, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38979, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39064, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39210, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38833, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38979, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39017, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39163, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39070, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39216, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } case int32('z'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39076, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39222, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38817, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38963, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } @@ -223033,13 +224862,13 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('e'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39082, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39228, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39086, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39232, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(2) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39089, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39235, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) ret = int32(1) @@ -223047,7 +224876,7 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39092, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39238, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) ret = int32(1) @@ -223209,14 +225038,14 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p break } zArg = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+int32(1))*8)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39096) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39242) { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { (*TTrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('0')) } } else { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38789) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38935) { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('2') || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { @@ -223491,7 +225320,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { Fx Tfts5_tokenizer }{ 0: { - FzName: __ccgo_ts + 38807, + FzName: __ccgo_ts + 38953, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5UnicodeCreate), FxDelete: __ccgo_fp(_fts5UnicodeDelete), @@ -223499,7 +225328,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 1: { - FzName: __ccgo_ts + 39111, + FzName: __ccgo_ts + 39257, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5AsciiCreate), FxDelete: __ccgo_fp(_fts5AsciiDelete), @@ -223507,7 +225336,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 2: { - FzName: __ccgo_ts + 39117, + FzName: __ccgo_ts + 39263, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5PorterCreate), FxDelete: __ccgo_fp(_fts5PorterDelete), @@ -223515,7 +225344,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 3: { - FzName: __ccgo_ts + 39124, + FzName: __ccgo_ts + 39270, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5TriCreate), FxDelete: __ccgo_fp(_fts5TriDelete), @@ -229060,16 +230889,16 @@ func _fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uin zCopy = _sqlite3Fts5Strndup(tls, bp, zType, -int32(1)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { _sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39132) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39278) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39136) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39282) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_ROW) } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39140) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39286) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_INSTANCE) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39149, libc.VaList(bp+16, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39295, libc.VaList(bp+16, zCopy)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -229138,15 +230967,15 @@ func _fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg var _ /* rc at bp+0 */ int32 _, _, _, _, _, _, _, _, _, _, _, _ = azSchema, bDb, nByte, nDb, nTab, pRet, zDb, zTab, zType, v1, v2, v3 azSchema = [3]uintptr{ - 0: __ccgo_ts + 39183, - 1: __ccgo_ts + 39223, - 2: __ccgo_ts + 39258, + 0: __ccgo_ts + 39329, + 1: __ccgo_ts + 39369, + 2: __ccgo_ts + 39404, } pRet = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23751, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) + bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23874, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) if argc != int32(5) && bDb == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39301, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39447, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bDb != 0 { @@ -229317,10 +231146,10 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) zSql = uintptr(0) if (*TFts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39334, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39480, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return int32(SQLITE_ERROR) } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39365, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39511, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, (*TFts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), bp+8, uintptr(0)) } @@ -229340,7 +231169,7 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39416, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39562, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } else { @@ -229649,7 +231478,7 @@ func _fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnuse if pLe != 0 { zCopy = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = __ccgo_ts + 1657 + zCopy = __ccgo_ts + 1671 } (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm+int32(1)) @@ -229777,7 +231606,7 @@ func _sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) (r int32) var p uintptr _ = p p = pGlobal - return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39442, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39588, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) } var _fts5Vocab = Tsqlite3_module{ @@ -229830,7 +231659,7 @@ func init() { // /************** End of stmt.c ************************************************/ // /* Return the source-id for this library */ func Xsqlite3_sourceid(tls *libc.TLS) (r uintptr) { - return __ccgo_ts + 39452 + return __ccgo_ts + 39598 } type TAggInfo_col = struct { @@ -230112,11 +231941,11 @@ var Xsqlite3_temp_directory uintptr // ** // ** See also: [sqlite_version()] and [sqlite_source_id()]. // */ -var Xsqlite3_version = [7]uint8{'3', '.', '4', '5', '.', '3'} +var Xsqlite3_version = [7]uint8{'3', '.', '4', '6', '.', '0'} var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data -var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%04d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00PRAGMA \"%w\".integrity_check(%Q)\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00RIGHT PART OF \x00USE TEMP B-TREE FOR %sORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00" +var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00" type Sqlite3_int64 = sqlite3_int64 type Sqlite3_mutex_methods = sqlite3_mutex_methods diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_riscv64.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_riscv64.go index 7e86d8043d..3aedd92beb 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_riscv64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_riscv64.go @@ -1,4 +1,4 @@ -// Code generated for linux/riscv64 by 'generator --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -extended-errors -o sqlite3.go sqlite3.c -I/tmp/libsqlite3/sqlite-amalgamation-3450300/ccgo -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. +// Code generated for linux/riscv64 by 'generator --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libz/include/linux/riscv64 -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libtcl8.6/include/linux/riscv64 -extended-errors -o sqlite3.go sqlite3.c -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. //go:build linux && riscv64 // +build linux,riscv64 @@ -1045,6 +1045,7 @@ const OPFLG_IN1 = 2 const OPFLG_IN2 = 4 const OPFLG_IN3 = 8 const OPFLG_JUMP = 1 +const OPFLG_JUMP0 = 128 const OPFLG_NCYCLE = 64 const OPFLG_OUT2 = 16 const OPFLG_OUT3 = 32 @@ -1122,7 +1123,7 @@ const OP_IfNotOpen = 25 const OP_IfNotZero = 60 const OP_IfNullRow = 20 const OP_IfPos = 59 -const OP_IfSmaller = 33 +const OP_IfSizeBetween = 33 const OP_IncrVacuum = 62 const OP_Init = 8 const OP_InitCoroutine = 11 @@ -1526,6 +1527,7 @@ const SF_ComplexResult = 262144 const SF_Compound = 256 const SF_Converted = 65536 const SF_CopyCte = 67108864 +const SF_Correlated = 536870912 const SF_Distinct = 1 const SF_Expanded = 64 const SF_FixedLimit = 16384 @@ -1800,6 +1802,7 @@ const SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT = -1 const SQLITE_DEFAULT_LOOKASIDE = 40 const SQLITE_DEFAULT_MEMSTATUS = 0 const SQLITE_DEFAULT_MMAP_SIZE = 0 +const SQLITE_DEFAULT_OPTIMIZE_LIMIT = 2000 const SQLITE_DEFAULT_PAGE_SIZE = 4096 const SQLITE_DEFAULT_PCACHE_INITSZ = 20 const SQLITE_DEFAULT_PROXYDIR_PERMISSIONS = 493 @@ -1817,6 +1820,7 @@ const SQLITE_DESERIALIZE_READONLY = 4 const SQLITE_DESERIALIZE_RESIZEABLE = 2 const SQLITE_DETACH = 25 const SQLITE_DETERMINISTIC = 2048 +const SQLITE_DIGIT_SEPARATOR = 95 const SQLITE_DIRECTONLY = 524288 const SQLITE_DIRECT_OVERFLOW_READ = 1 const SQLITE_DONE = 101 @@ -2241,7 +2245,7 @@ const SQLITE_SHM_SHARED = 4 const SQLITE_SHM_UNLOCK = 1 const SQLITE_SORTER_PMASZ = 250 const SQLITE_SOUNDEX = 1 -const SQLITE_SOURCE_ID = "2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355" +const SQLITE_SOURCE_ID = "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e" const SQLITE_SO_ASC = 0 const SQLITE_SO_DESC = 1 const SQLITE_SO_UNDEFINED = -1 @@ -2349,8 +2353,8 @@ const SQLITE_UTF16LE = 2 const SQLITE_UTF16NATIVE = 2 const SQLITE_UTF16_ALIGNED = 8 const SQLITE_UTF8 = 1 -const SQLITE_VERSION = "3.45.3" -const SQLITE_VERSION_NUMBER = 3045003 +const SQLITE_VERSION = "3.46.0" +const SQLITE_VERSION_NUMBER = 3046000 const SQLITE_VTABRISK_High = 2 const SQLITE_VTABRISK_Low = 0 const SQLITE_VTABRISK_Normal = 1 @@ -2511,11 +2515,11 @@ const TF_HasStat1 = 16 const TF_HasStat4 = 8192 const TF_HasStored = 64 const TF_HasVirtual = 32 +const TF_MaybeReanalyze = 256 const TF_NoVisibleRowid = 512 const TF_OOOHidden = 1024 const TF_Readonly = 1 const TF_Shadow = 4096 -const TF_StatsUsed = 256 const TF_Strict = 65536 const TF_WithoutRowid = 128 const TIMER_ABSTIME = 1 @@ -2672,7 +2676,7 @@ const TK_ID = 59 const TK_IF = 18 const TK_IF_NULL_ROW = 179 const TK_IGNORE = 63 -const TK_ILLEGAL = 184 +const TK_ILLEGAL = 185 const TK_IMMEDIATE = 8 const TK_IN = 49 const TK_INDEX = 161 @@ -2720,6 +2724,7 @@ const TK_PRAGMA = 70 const TK_PRECEDING = 88 const TK_PRIMARY = 122 const TK_PTR = 112 +const TK_QNUMBER = 183 const TK_QUERY = 3 const TK_RAISE = 71 const TK_RANGE = 89 @@ -2744,7 +2749,7 @@ const TK_SELECT_COLUMN = 178 const TK_SEMI = 1 const TK_SET = 130 const TK_SLASH = 109 -const TK_SPACE = 183 +const TK_SPACE = 184 const TK_SPAN = 181 const TK_STAR = 108 const TK_STRING = 117 @@ -2757,12 +2762,12 @@ const TK_TRANSACTION = 6 const TK_TRIGGER = 77 const TK_TRUEFALSE = 170 const TK_TRUTH = 175 -const TK_UMINUS = 173 +const TK_UMINUS = 174 const TK_UNBOUNDED = 90 const TK_UNION = 134 const TK_UNIQUE = 123 const TK_UPDATE = 129 -const TK_UPLUS = 174 +const TK_UPLUS = 173 const TK_USING = 144 const TK_VACUUM = 78 const TK_VALUES = 139 @@ -2918,31 +2923,37 @@ const W_OK = 2 const XN_EXPR = -2 const XN_ROWID = -1 const X_OK = 1 +const YYDYNSTACK = 1 const YYFALLBACK = 1 +const YYFREE = 0 +const YYGROWABLESTACK = 1 const YYMALLOCARGTYPE = 0 -const YYNOCODE = 319 +const YYNOCODE = 322 const YYNOERRORRECOVERY = 1 -const YYNRULE = 405 -const YYNRULE_WITH_ACTION = 340 -const YYNSTATE = 579 -const YYNTOKEN = 185 +const YYNRULE = 409 +const YYNRULE_WITH_ACTION = 344 +const YYNSTATE = 583 +const YYNTOKEN = 186 const YYPARSEFREENEVERNULL = 1 +const YYREALLOC = 0 const YYSTACKDEPTH = 100 const YYWILDCARD = 101 -const YY_ACCEPT_ACTION = 1244 -const YY_ACTTAB_COUNT = 2100 -const YY_ERROR_ACTION = 1243 -const YY_MAX_REDUCE = 1650 -const YY_MAX_SHIFT = 578 -const YY_MAX_SHIFTREDUCE = 1242 -const YY_MIN_REDUCE = 1246 -const YY_MIN_SHIFTREDUCE = 838 -const YY_NO_ACTION = 1245 -const YY_REDUCE_COUNT = 410 -const YY_REDUCE_MAX = 1753 -const YY_REDUCE_MIN = -271 -const YY_SHIFT_COUNT = 578 -const YY_SHIFT_MAX = 2088 +const YY_ACCEPT_ACTION = 1255 +const YY_ACTTAB_COUNT = 2142 +const YY_ERROR_ACTION = 1254 +const YY_MAX_DSTRCTR = 319 +const YY_MAX_REDUCE = 1665 +const YY_MAX_SHIFT = 582 +const YY_MAX_SHIFTREDUCE = 1253 +const YY_MIN_DSTRCTR = 205 +const YY_MIN_REDUCE = 1257 +const YY_MIN_SHIFTREDUCE = 845 +const YY_NO_ACTION = 1256 +const YY_REDUCE_COUNT = 411 +const YY_REDUCE_MAX = 1798 +const YY_REDUCE_MIN = -275 +const YY_SHIFT_COUNT = 582 +const YY_SHIFT_MAX = 2128 const YY_SHIFT_MIN = 0 const _ALLOCA_H = 1 const _ASSERT_H = 1 @@ -3582,6 +3593,9 @@ const fdatasync = 0 const first_valueInvFunc = 0 const first_valueValueFunc = 0 const fts5GetVarint = 0 +const fts5YYDYNSTACK = 0 +const fts5YYFREE = 0 +const fts5YYGROWABLESTACK = 0 const fts5YYMALLOCARGTYPE = 0 const fts5YYNFTS5TOKEN = 16 const fts5YYNOCODE = 27 @@ -3590,13 +3604,16 @@ const fts5YYNRULE = 28 const fts5YYNRULE_WITH_ACTION = 28 const fts5YYNSTATE = 35 const fts5YYPARSEFREENOTNULL = 1 +const fts5YYREALLOC = 0 const fts5YYSTACKDEPTH = 100 const fts5YY_ACCEPT_ACTION = 81 const fts5YY_ACTTAB_COUNT = 105 const fts5YY_ERROR_ACTION = 80 +const fts5YY_MAX_DSTRCTR = 24 const fts5YY_MAX_REDUCE = 110 const fts5YY_MAX_SHIFT = 34 const fts5YY_MAX_SHIFTREDUCE = 79 +const fts5YY_MIN_DSTRCTR = 16 const fts5YY_MIN_REDUCE = 83 const fts5YY_MIN_SHIFTREDUCE = 52 const fts5YY_NO_ACTION = 82 @@ -4018,11 +4035,11 @@ type sqlite3_file1 = Tsqlite3_file1 // ** // ** xLock() upgrades the database file lock. In other words, xLock() moves the // ** database file lock in the direction NONE toward EXCLUSIVE. The argument to -// ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never +// ** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never // ** SQLITE_LOCK_NONE. If the database file lock is already at or above the // ** requested lock, then the call to xLock() is a no-op. // ** xUnlock() downgrades the database file lock to either SHARED or NONE. -// * If the lock is already at or below the requested lock state, then the call +// ** If the lock is already at or below the requested lock state, then the call // ** to xUnlock() is a no-op. // ** The xCheckReservedLock() method checks whether any database connection, // ** either in this process or in some other process, is holding a RESERVED, @@ -5802,6 +5819,7 @@ type Tsqlite3_changegroup = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -6128,8 +6146,8 @@ type Fts5PhraseIter1 = TFts5PhraseIter1 ** EXTENSION API FUNCTIONS ** ** xUserData(pFts): -** Return a copy of the context pointer the extension function was -** registered with. +** Return a copy of the pUserData pointer passed to the xCreateFunction() +** API when the extension function was registered. ** ** xColumnTotalSize(pFts, iCol, pnToken): ** If parameter iCol is less than zero, set output variable *pnToken @@ -7886,7 +7904,7 @@ type uptr = Tuptr ** 0x00000010 Display sqlite3_index_info xBestIndex calls ** 0x00000020 Range an equality scan metrics ** 0x00000040 IN operator decisions -** 0x00000080 WhereLoop cost adjustements +** 0x00000080 WhereLoop cost adjustments ** 0x00000100 ** 0x00000200 Covering index decisions ** 0x00000400 OR optimization @@ -8398,6 +8416,7 @@ type TParse = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -8617,6 +8636,7 @@ type TSrcItem = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -10893,10 +10913,12 @@ type IdList1 = TIdList1 ** ** Union member validity: ** -** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc -** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy -** u2.pIBIndex fg.isIndexedBy && !fg.isCte -** u2.pCteUse fg.isCte && !fg.isIndexedBy +** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc +** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy +** u1.nRow !fg.isTabFunc && !fg.isIndexedBy +** +** u2.pIBIndex fg.isIndexedBy && !fg.isCte +** u2.pCteUse fg.isCte && !fg.isIndexedBy */ type TSrcItem1 = struct { FpSchema uintptr @@ -10922,6 +10944,7 @@ type TSrcItem1 = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -11325,6 +11348,7 @@ type TParse1 = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -12687,12 +12711,12 @@ var _sqlite3WhereTrace = uint32(0) var _sqlite3OpcodeProperty = [190]uint8{ 4: uint8(0x10), 6: uint8(0x41), - 8: uint8(0x01), + 8: uint8(0x81), 9: uint8(0x01), 10: uint8(0x01), - 11: uint8(0x01), - 12: uint8(0x03), - 13: uint8(0x03), + 11: uint8(0x81), + 12: uint8(0x83), + 13: uint8(0x83), 14: uint8(0x01), 15: uint8(0x01), 16: uint8(0x03), @@ -12700,22 +12724,22 @@ var _sqlite3OpcodeProperty = [190]uint8{ 18: uint8(0x01), 19: uint8(0x12), 20: uint8(0x01), - 21: uint8(0x49), - 22: uint8(0x49), - 23: uint8(0x49), - 24: uint8(0x49), + 21: uint8(0xc9), + 22: uint8(0xc9), + 23: uint8(0xc9), + 24: uint8(0xc9), 25: uint8(0x01), 26: uint8(0x49), 27: uint8(0x49), 28: uint8(0x49), 29: uint8(0x49), - 30: uint8(0x49), + 30: uint8(0xc9), 31: uint8(0x49), - 32: uint8(0x41), + 32: uint8(0xc1), 33: uint8(0x01), 34: uint8(0x41), 35: uint8(0x41), - 36: uint8(0x41), + 36: uint8(0xc1), 37: uint8(0x01), 38: uint8(0x41), 39: uint8(0x41), @@ -12727,7 +12751,7 @@ var _sqlite3OpcodeProperty = [190]uint8{ 45: uint8(0x41), 46: uint8(0x23), 47: uint8(0x0b), - 48: uint8(0x01), + 48: uint8(0x81), 49: uint8(0x01), 50: uint8(0x03), 51: uint8(0x03), @@ -13597,7 +13621,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin var pMutex, v1 uintptr _, _ = pMutex, v1 if op < 0 || op >= int32(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) { - return _sqlite3MisuseError(tls, int32(23890)) + return _sqlite3MisuseError(tls, int32(23961)) } if _statMutex[op] != 0 { v1 = _sqlite3Pcache1Mutex(tls) @@ -13960,43 +13984,37 @@ type itimerspec = Titimerspec // ** A structure for holding a single date and time. // */ type TDateTime = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD uint8 - FrawS uint8 - FvalidYMD uint8 - FvalidHMS uint8 - FvalidTZ uint8 - FtzSet uint8 - FisError uint8 - FuseSubsec uint8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD uint8 + FvalidYMD uint8 + FvalidHMS uint8 + FnFloor uint8 + F__ccgo44 uint8 } type DateTime = TDateTime type TDateTime1 = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD uint8 - FrawS uint8 - FvalidYMD uint8 - FvalidHMS uint8 - FvalidTZ uint8 - FtzSet uint8 - FisError uint8 - FuseSubsec uint8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD uint8 + FvalidYMD uint8 + FvalidHMS uint8 + FnFloor uint8 + F__ccgo44 uint8 } type DateTime1 = TDateTime1 @@ -14123,6 +14141,8 @@ func _parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { } else { if c == int32('Z') || c == int32('z') { zDate++ + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) goto zulu_time } else { return libc.BoolInt32(c != 0) @@ -14141,7 +14161,6 @@ zulu_time: for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(zDate))])&int32(0x01) != 0 { zDate++ } - (*TDateTime)(unsafe.Pointer(p)).FtzSet = uint8(1) return libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zDate))) != 0) } @@ -14158,11 +14177,10 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var ms, rScale float64 - var v1 int32 var _ /* h at bp+0 */ int32 var _ /* m at bp+4 */ int32 var _ /* s at bp+8 */ int32 - _, _, _ = ms, rScale, v1 + _, _ = ms, rScale ms = float64(0) if _getDigits(tls, zDate, __ccgo_ts+1162, libc.VaList(bp+24, bp, bp+4)) != int32(2) { return int32(1) @@ -14188,7 +14206,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { *(*int32)(unsafe.Pointer(bp + 8)) = 0 } (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) (*TDateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp)) (*TDateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 4)) @@ -14196,12 +14214,6 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { if _parseTimezone(tls, zDate, p) != 0 { return int32(1) } - if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { - v1 = int32(1) - } else { - v1 = 0 - } - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(v1) return 0 } @@ -14212,7 +14224,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { // */ func _datetimeError(tls *libc.TLS, p uintptr) { libc.Xmemset(tls, p, 0, uint64(48)) - (*TDateTime)(unsafe.Pointer(p)).FisError = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 1, 0x2) } // C documentation @@ -14238,7 +14250,7 @@ func _computeJD(tls *libc.TLS, p uintptr) { M = int32(1) D = int32(1) } - if Y < -int32(4713) || Y > int32(9999) || (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Y < -int32(4713) || Y > int32(9999) || int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { _datetimeError(tls, p) return } @@ -14254,11 +14266,44 @@ func _computeJD(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) if (*TDateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) += int64((*TDateTime)(unsafe.Pointer(p)).Fh*int32(3600000)+(*TDateTime)(unsafe.Pointer(p)).Fm*int32(60000)) + int64((*TDateTime)(unsafe.Pointer(p)).Fs*libc.Float64FromInt32(1000)+libc.Float64FromFloat64(0.5)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64((*TDateTime)(unsafe.Pointer(p)).Ftz * int32(60000)) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + } + } +} + +// C documentation +// +// /* +// ** Given the YYYY-MM-DD information current in p, determine if there +// ** is day-of-month overflow and set nFloor to the number of days that +// ** would need to be subtracted from the date in order to bring the +// ** date back to the end of the month. +// */ +func _computeFloor(tls *libc.TLS, p uintptr) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if (*TDateTime)(unsafe.Pointer(p)).FD <= int32(28) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } else { + if int32(1)<<(*TDateTime)(unsafe.Pointer(p)).FM&int32(0x15aa) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FM != int32(2) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = libc.BoolUint8((*TDateTime)(unsafe.Pointer(p)).FD == libc.Int32FromInt32(31)) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FY%int32(4) != 0 || (*TDateTime)(unsafe.Pointer(p)).FY%int32(100) == 0 && (*TDateTime)(unsafe.Pointer(p)).FY%int32(400) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8((*TDateTime)(unsafe.Pointer(p)).FD - int32(28)) + } else { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8((*TDateTime)(unsafe.Pointer(p)).FD - int32(29)) + } + } } } } @@ -14317,12 +14362,15 @@ func _parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FY = v1 (*TDateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 4)) (*TDateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 8)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + _computeFloor(tls, p) + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { _computeJD(tls, p) } return 0 } +/* Forward declaration */ + // C documentation // // /* @@ -14334,6 +14382,9 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) (*TDateTime)(unsafe.Pointer(p)).FiJD = _sqlite3StmtCurrentTime(tls, context) if (*TDateTime)(unsafe.Pointer(p)).FiJD > 0 { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + _clearYMD_HMS_TZ(tls, p) return 0 } else { return int32(1) @@ -14351,7 +14402,7 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) // */ func _setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { (*TDateTime)(unsafe.Pointer(p)).Fs = r - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 0, 0x1) if r >= float64(0) && r < float64(5.3734845e+06) { (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r*libc.Float64FromFloat64(8.64e+07) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) @@ -14394,7 +14445,7 @@ func _parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) return 0 } else { if (_sqlite3StrICmp(tls, zDate, __ccgo_ts+1190) == 0 || _sqlite3StrICmp(tls, zDate, __ccgo_ts+1197) == 0) && _sqlite3NotPureFunc(tls, context) != 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) return _setDateTimeToCurrent(tls, context, p) } } @@ -14486,7 +14537,7 @@ func _computeHMS(tls *libc.TLS, p uintptr) { day_min = day_ms / int32(60000) (*TDateTime)(unsafe.Pointer(p)).Fm = day_min % int32(60) (*TDateTime)(unsafe.Pointer(p)).Fh = day_min / int32(60) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) } @@ -14508,7 +14559,7 @@ func _computeYMD_HMS(tls *libc.TLS, p uintptr) { func _clearYMD_HMS_TZ(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 } /* @@ -14609,9 +14660,9 @@ func _toLocaltime(tls *libc.TLS, p uintptr, pCtx uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FisError = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 1, 0x2) return SQLITE_OK } @@ -14659,13 +14710,13 @@ var _aXformType = [6]struct { FnName: uint8(5), FzName: [7]uint8{'m', 'o', 'n', 't', 'h'}, FrLimit: float32(176546), - FrXform: float32(2.592e+06), + FrXform: float32(libc.Float64FromFloat64(30) * libc.Float64FromFloat64(86400)), }, 5: { FnName: uint8(4), FzName: [7]uint8{'y', 'e', 'a', 'r'}, FrLimit: float32(14713), - FrXform: float32(3.1536e+07), + FrXform: float32(libc.Float64FromFloat64(365) * libc.Float64FromFloat64(86400)), }, } @@ -14679,15 +14730,15 @@ var _aXformType = [6]struct { func _autoAdjustDate(tls *libc.TLS, p uintptr) { var r float64 _ = r - if !((*TDateTime)(unsafe.Pointer(p)).FrawS != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + if !(int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } else { if (*TDateTime)(unsafe.Pointer(p)).Fs >= float64(int64(-libc.Int32FromInt32(21086676))*libc.Int64FromInt32(10000)) && (*TDateTime)(unsafe.Pointer(p)).Fs <= float64(libc.Int64FromInt32(25340230)*libc.Int64FromInt32(10000)+libc.Int64FromInt32(799)) { r = (*TDateTime)(unsafe.Pointer(p)).Fs*float64(1000) + float64(2.1086676e+14) _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } } @@ -14704,14 +14755,20 @@ func _autoAdjustDate(tls *libc.TLS, p uintptr) { // ** NNN.NNNN seconds // ** NNN months // ** NNN years +// ** +/-YYYY-MM-DD HH:MM:SS.SSS +// ** ceiling +// ** floor // ** start of month // ** start of year // ** start of week // ** start of day // ** weekday N // ** unixepoch +// ** auto // ** localtime // ** utc +// ** subsec +// ** subsecond // ** // ** Return 0 on success and 1 if there is any kind of error. If the error // ** is in a system call (i.e. localtime()), then an error message is written @@ -14722,12 +14779,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, bp := tls.Alloc(160) defer tls.Free(160) var Z, day Tsqlite3_int64 - var cnt, i, rc, x, y, v12, v2, v5, v7, v9 int32 - var iErr, iGuess, iOrigJD, v1 Ti64 - var rRounder, v10 float64 + var cnt, i, rc, x, y, v1, v10, v13, v3, v6, v8 int32 + var iErr, iGuess, iOrigJD, v2 Ti64 + var rRounder, v11 float64 var z0 uint8 var z2 uintptr - var v3, v6 bool + var v4, v7 bool var _ /* D at bp+64 */ int32 var _ /* M at bp+60 */ int32 var _ /* Y at bp+56 */ int32 @@ -14736,7 +14793,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, var _ /* new at bp+8 */ TDateTime var _ /* r at bp+0 */ float64 var _ /* tx at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v12, v2, v3, v5, v6, v7, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v11, v13, v2, v3, v4, v6, v7, v8 rc = int32(1) switch int32(_sqlite3UpperToLower[*(*uint8)(unsafe.Pointer(z))]) { case int32('a'): @@ -14753,6 +14810,33 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _autoAdjustDate(tls, p) rc = 0 } + case int32('c'): + /* + ** ceiling + ** + ** Resolve day-of-month overflow by rolling forward into the next + ** month. As this is the default action, this modifier is really + ** a no-op that is only included for symmetry. See "floor". + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1235) == 0 { + _computeJD(tls, p) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } + case int32('f'): + /* + ** floor + ** + ** Resolve day-of-month overflow by rolling back to the end of the + ** previous month. + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1243) == 0 { + _computeJD(tls, p) + *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64(int32((*TDateTime)(unsafe.Pointer(p)).FnFloor) * int32(86400000)) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + } case int32('j'): /* ** julianday @@ -14762,13 +14846,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** value in the allowed range of julian day numbers understood by ** SQLite (0..5373484.5) then the result will be NULL. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1235) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1249) == 0 { if idx > int32(1) { return int32(1) } /* IMP: R-31176-64601 */ - if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { rc = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } case int32('l'): @@ -14777,8 +14861,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Assuming the current time value is UTC (a.k.a. GMT), shift it to ** show local time. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1245) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - rc = _toLocaltime(tls, p, pCtx) + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1259) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x10>>4)) != 0 { + v1 = SQLITE_OK + } else { + v1 = _toLocaltime(tls, p, pCtx) + } + rc = v1 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 4, 0x10) } case int32('u'): /* @@ -14787,7 +14878,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Treat the current value of p->s as the number of ** seconds since 1970. Convert to a real julian day number. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1255) == 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1269) == 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { if idx > int32(1) { return int32(1) } /* IMP: R-49255-55373 */ @@ -14796,17 +14887,17 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(*(*float64)(unsafe.Pointer(bp)) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) rc = 0 } } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1265) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - if int32((*TDateTime)(unsafe.Pointer(p)).FtzSet) == 0 { /* Guess at the corresponding utc time */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1279) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x8>>3)) == 0 { /* Guess at the corresponding utc time */ cnt = 0 /* Guess is off by this much */ _computeJD(tls, p) - v1 = (*TDateTime)(unsafe.Pointer(p)).FiJD - iOrigJD = v1 - iGuess = v1 + v2 = (*TDateTime)(unsafe.Pointer(p)).FiJD + iOrigJD = v2 + iGuess = v2 iErr = 0 for { libc.Xmemset(tls, bp+8, 0, uint64(48)) @@ -14819,21 +14910,22 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, bp+8) iErr = (*(*TDateTime)(unsafe.Pointer(bp + 8))).FiJD - iOrigJD - goto _4 - _4: + goto _5 + _5: ; - if v3 = iErr != 0; v3 { - v2 = cnt + if v4 = iErr != 0; v4 { + v3 = cnt cnt++ } - if !(v3 && v2 < int32(3)) { + if !(v4 && v3 < int32(3)) { break } } libc.Xmemset(tls, p, 0, uint64(48)) (*TDateTime)(unsafe.Pointer(p)).FiJD = iGuess (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FtzSet = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) } rc = SQLITE_OK } @@ -14846,13 +14938,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** weekday N where 0==Sunday, 1==Monday, and so forth. If the ** date is already on the appropriate weekday, this is a no-op. */ - if v6 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1269, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v6 { - v5 = int32(*(*float64)(unsafe.Pointer(bp))) - n = v5 + if v7 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1283, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v7 { + v6 = int32(*(*float64)(unsafe.Pointer(bp))) + n = v6 } - if v6 && float64(v5) == *(*float64)(unsafe.Pointer(bp)) { + if v7 && float64(v6) == *(*float64)(unsafe.Pointer(bp)) { _computeYMD_HMS(tls, p) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) _computeJD(tls, p) Z = ((*TDateTime)(unsafe.Pointer(p)).FiJD + int64(129600000)) / int64(86400000) % int64(7) @@ -14876,9 +14968,9 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Show subsecond precision in the output of datetime() and ** unixepoch() and strftime('%s'). */ - if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1278, int32(9)) != 0 { + if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1292, int32(9)) != 0 { if Xsqlite3_stricmp(tls, z, __ccgo_ts+1190) == 0 || Xsqlite3_stricmp(tls, z, __ccgo_ts+1197) == 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) rc = 0 } break @@ -14889,23 +14981,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z += uintptr(9) _computeYMD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) - v7 = libc.Int32FromInt32(0) - (*TDateTime)(unsafe.Pointer(p)).Fm = v7 - (*TDateTime)(unsafe.Pointer(p)).Fh = v7 + v8 = libc.Int32FromInt32(0) + (*TDateTime)(unsafe.Pointer(p)).Fm = v8 + (*TDateTime)(unsafe.Pointer(p)).Fh = v8 (*TDateTime)(unsafe.Pointer(p)).Fs = float64(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1288) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1302) == 0 { (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1294) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1308) == 0 { (*TDateTime)(unsafe.Pointer(p)).FM = int32(1) (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1299) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1313) == 0 { rc = 0 } } @@ -14947,15 +15039,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == int32('-') { - if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1303, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1317, libc.VaList(bp+136, bp+56)) == int32(1) { break } - if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1307, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1321, libc.VaList(bp+136, bp+56)) == int32(1) { break } } - goto _8 - _8: + goto _9 + _9: ; n++ } @@ -14972,12 +15064,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } /* Must start with +/- */ if n == int32(5) { - if _getDigits(tls, z+1, __ccgo_ts+1311, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1325, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } } else { _ = libc.Int32FromInt32(0) - if _getDigits(tls, z+1, __ccgo_ts+1323, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1337, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } z++ @@ -14999,13 +15091,14 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, *(*int32)(unsafe.Pointer(p + 12)) += *(*int32)(unsafe.Pointer(bp + 60)) } if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v9 + x = v10 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) _computeJD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) @@ -15049,7 +15142,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z++ } n = _sqlite3Strlen30(tls, z) - if n > int32(10) || n < int32(3) { + if n < int32(3) || n > int32(10) { break } if int32(_sqlite3UpperToLower[*(*uint8)(unsafe.Pointer(z + uintptr(n-int32(1))))]) == int32('s') { @@ -15058,11 +15151,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeJD(tls, p) _ = libc.Int32FromInt32(0) if *(*float64)(unsafe.Pointer(bp)) < libc.Float64FromInt32(0) { - v10 = -libc.Float64FromFloat64(0.5) + v11 = -libc.Float64FromFloat64(0.5) } else { - v10 = +libc.Float64FromFloat64(0.5) + v11 = +libc.Float64FromFloat64(0.5) } - rRounder = v10 + rRounder = v11 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) i = 0 for { if !(i < int32(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) { @@ -15075,20 +15169,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 12)) += int32(*(*float64)(unsafe.Pointer(bp))) if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v12 + x = v13 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) case int32(5): /* Special processing to add years */ y = int32(*(*float64)(unsafe.Pointer(bp))) _ = libc.Int32FromInt32(0) _computeYMD_HMS(tls, p) + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(p + 8)) += y + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) break @@ -15098,8 +15195,8 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, rc = 0 break } - goto _11 - _11: + goto _12 + _12: ; i++ } @@ -15158,7 +15255,7 @@ func _isDate(tls *libc.TLS, context uintptr, argc int32, argv uintptr, p uintptr i++ } _computeJD(tls, p) - if (*TDateTime)(unsafe.Pointer(p)).FisError != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x2>>1)) != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { return int32(1) } if argc == int32(1) && (*TDateTime)(unsafe.Pointer(p)).FvalidYMD != 0 && (*TDateTime)(unsafe.Pointer(p)).FD > int32(28) { @@ -15206,7 +15303,7 @@ func _unixepochFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _ /* x at bp+0 */ TDateTime if _isDate(tls, context, argc, argv, bp) == 0 { _computeJD(tls, bp) - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { Xsqlite3_result_double(tls, context, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000)) } else { Xsqlite3_result_int64(tls, context, (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/int64(1000)-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000)) @@ -15251,7 +15348,7 @@ func _datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(15)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(16)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(17)] = uint8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(18)] = uint8(int32('0') + s/int32(10000)%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(19)] = uint8(int32('0') + s/int32(1000)%int32(10)) @@ -15299,7 +15396,7 @@ func _timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(3)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(4)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(5)] = uint8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(6)] = uint8(int32('0') + s/int32(10000)%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(7)] = uint8(int32('0') + s/int32(1000)%int32(10)) @@ -15360,6 +15457,62 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } +// C documentation +// +// /* +// ** Compute the number of days after the most recent January 1. +// ** +// ** In other words, compute the zero-based day number for the +// ** current year: +// ** +// ** Jan01 = 0, Jan02 = 1, ..., Jan31 = 30, Feb01 = 31, ... +// ** Dec31 = 364 or 365. +// */ +func _daysAfterJan01(tls *libc.TLS, pDate uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* jan01 at bp+0 */ TDateTime + *(*TDateTime)(unsafe.Pointer(bp)) = *(*TDateTime)(unsafe.Pointer(pDate)) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + (*(*TDateTime)(unsafe.Pointer(bp))).FvalidJD = uint8(0) + (*(*TDateTime)(unsafe.Pointer(bp))).FM = int32(1) + (*(*TDateTime)(unsafe.Pointer(bp))).FD = int32(1) + _computeJD(tls, bp) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD - (*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Monday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Monday, 1=Tuesday, 2=Wednesday, ..., 6=Sunday. +// */ +func _daysAfterMonday(tls *libc.TLS, pDate uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(43200000))/libc.Int64FromInt32(86400000)) % int32(7) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Sunday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Sunday, 1=Monday, 2=Tues, ..., 6=Saturday +// */ +func _daysAfterSunday(tls *libc.TLS, pDate uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)) % int32(7) +} + // C documentation // // /* @@ -15367,33 +15520,48 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // ** // ** Return a string described by FORMAT. Conversions as follows: // ** -// ** %d day of month +// ** %d day of month 01-31 +// ** %e day of month 1-31 // ** %f ** fractional seconds SS.SSS +// ** %F ISO date. YYYY-MM-DD +// ** %G ISO year corresponding to %V 0000-9999. +// ** %g 2-digit ISO year corresponding to %V 00-99 // ** %H hour 00-24 -// ** %j day of year 000-366 +// ** %k hour 0-24 (leading zero converted to space) +// ** %I hour 01-12 +// ** %j day of year 001-366 // ** %J ** julian day number +// ** %l hour 1-12 (leading zero converted to space) // ** %m month 01-12 // ** %M minute 00-59 +// ** %p "am" or "pm" +// ** %P "AM" or "PM" +// ** %R time as HH:MM // ** %s seconds since 1970-01-01 // ** %S seconds 00-59 -// ** %w day of week 0-6 Sunday==0 -// ** %W week of year 00-53 +// ** %T time as HH:MM:SS +// ** %u day of week 1-7 Monday==1, Sunday==7 +// ** %w day of week 0-6 Sunday==0, Monday==1 +// ** %U week of year 00-53 (First Sunday is start of week 01) +// ** %V week of year 01-53 (First week containing Thursday is week 01) +// ** %W week of year 00-53 (First Monday is start of week 01) // ** %Y year 0000-9999 // ** %% % // */ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(208) + defer tls.Free(208) var c, cf uint8 var db, zFmt, v3, v4, v5, v6, v7 uintptr - var h, nDay, wd int32 + var h int32 var i, j, v2 Tsize_t var iS Ti64 var s float64 var _ /* sRes at bp+48 */ Tsqlite3_str var _ /* x at bp+0 */ TDateTime + var _ /* y at bp+128 */ TDateTime var _ /* y at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, nDay, s, wd, zFmt, v2, v3, v4, v5, v6, v7 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, s, zFmt, v2, v3, v4, v5, v6, v7 if argc == 0 { return } @@ -15426,28 +15594,42 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { fallthrough case int32('e'): if int32(cf) == int32('d') { - v3 = __ccgo_ts + 1335 + v3 = __ccgo_ts + 1349 } else { - v3 = __ccgo_ts + 1340 + v3 = __ccgo_ts + 1354 } - Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) - case int32('f'): + Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('f'): /* Fractional seconds. (Non-standard) */ s = (*(*TDateTime)(unsafe.Pointer(bp))).Fs if s > float64(59.999) { s = float64(59.999) } - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1344, libc.VaList(bp+136, s)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, s)) case int32('F'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1351, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1365, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('G'): /* Fall thru */ + fallthrough + case int32('g'): + *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) + _ = libc.Int32FromInt32(0) + /* Move y so that it is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidYMD = uint8(0) + _computeYMD(tls, bp+80) + if int32(cf) == int32('g') { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY%int32(100))) + } else { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1380, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY)) + } case int32('H'): fallthrough case int32('k'): if int32(cf) == int32('H') { - v4 = __ccgo_ts + 1335 + v4 = __ccgo_ts + 1349 } else { - v4 = __ccgo_ts + 1340 + v4 = __ccgo_ts + 1354 } - Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) + Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) case int32('I'): /* Fall thru */ fallthrough case int32('l'): @@ -15459,73 +15641,72 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { h = int32(12) } if int32(cf) == int32('I') { - v5 = __ccgo_ts + 1335 + v5 = __ccgo_ts + 1349 } else { - v5 = __ccgo_ts + 1340 + v5 = __ccgo_ts + 1354 } - Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+136, h)) - case int32('W'): /* Fall thru */ - fallthrough - case int32('j'): /* Number of days since 1st day of year */ - *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidJD = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FM = int32(1) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FD = int32(1) - _computeJD(tls, bp+80) - nDay = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) - if int32(cf) == int32('W') { /* 0=Monday, 1=Tuesday, ... 6=Sunday */ - wd = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000) % libc.Int64FromInt32(7)) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+136, (nDay+int32(7)-wd)/int32(7))) - } else { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1366, libc.VaList(bp+136, nDay+int32(1))) - } - case int32('J'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1371, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) + Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+184, h)) + case int32('j'): /* Day of year. Jan01==1, Jan02==2, and so forth */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1385, libc.VaList(bp+184, _daysAfterJan01(tls, bp)+int32(1))) + case int32('J'): /* Julian day number. (Non-standard) */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1390, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) case int32('m'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) case int32('M'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('p'): /* Fall thru */ fallthrough case int32('P'): if (*(*TDateTime)(unsafe.Pointer(bp))).Fh >= int32(12) { if int32(cf) == int32('p') { - v6 = __ccgo_ts + 1377 + v6 = __ccgo_ts + 1396 } else { - v6 = __ccgo_ts + 1380 + v6 = __ccgo_ts + 1399 } Xsqlite3_str_append(tls, bp+48, v6, int32(2)) } else { if int32(cf) == int32('p') { - v7 = __ccgo_ts + 1383 + v7 = __ccgo_ts + 1402 } else { - v7 = __ccgo_ts + 1386 + v7 = __ccgo_ts + 1405 } Xsqlite3_str_append(tls, bp+48, v7, int32(2)) } case int32('R'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1389, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1408, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('s'): - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1399, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1418, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) } else { iS = (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/libc.Int64FromInt32(1000) - libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1404, libc.VaList(bp+136, iS)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1423, libc.VaList(bp+184, iS)) } case int32('S'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1335, libc.VaList(bp+136, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+184, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) case int32('T'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1409, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) - case int32('u'): /* Fall thru */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1428, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + case int32('u'): /* Day of week. 1 to 7. Monday==1, Sunday==7 */ fallthrough - case int32('w'): - c = uint8(int32(uint8(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)%libc.Int64FromInt32(7))) + int32('0')) + case int32('w'): /* Day of week. 0 to 6. Sunday==0, Monday==1 */ + c = uint8(int32(uint8(_daysAfterSunday(tls, bp))) + int32('0')) if int32(c) == int32('0') && int32(cf) == int32('u') { c = uint8('7') } Xsqlite3_str_appendchar(tls, bp+48, int32(1), c) + case int32('U'): /* Week num. 00-53. First Sun of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterSunday(tls, bp)+int32(7))/int32(7))) + case int32('V'): /* Week num. 01-53. First week with a Thur is week 01 */ + *(*TDateTime)(unsafe.Pointer(bp + 128)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Adjust y so that is the Thursday in the same week as x */ + _ = libc.Int32FromInt32(0) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FvalidYMD = uint8(0) + _computeYMD(tls, bp+128) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+184, _daysAfterJan01(tls, bp+128)/int32(7)+int32(1))) + case int32('W'): /* Week num. 00-53. First Mon of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1349, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterMonday(tls, bp)+int32(7))/int32(7))) case int32('Y'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1424, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1380, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) case int32('%'): Xsqlite3_str_appendchar(tls, bp+48, int32(1), uint8('%')) default: @@ -15678,12 +15859,10 @@ func _timediffFunc(tls *libc.TLS, context uintptr, NotUsed1 int32, argv uintptr) p2 = bp *(*Tsqlite3_int64)(unsafe.Pointer(p2)) = Tsqlite3_int64(uint64(*(*Tsqlite3_int64)(unsafe.Pointer(p2))) + libc.Uint64FromInt32(1486995408)*libc.Uint64FromInt32(100000)) } - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidYMD = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidHMS = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidTZ = uint8(0) + _clearYMD_HMS_TZ(tls, bp) _computeYMD_HMS(tls, bp) _sqlite3StrAccumInit(tls, bp+96, uintptr(0), uintptr(0), 0, int32(100)) - Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1429, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) + Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1443, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) _sqlite3ResultStrAccum(tls, context, bp+96) } @@ -15716,55 +15895,55 @@ var _aDateTimeFuncs = [10]TFuncDef{ FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1235, + FzName: __ccgo_ts + 1249, }, 1: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1255, + FzName: __ccgo_ts + 1269, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1463, + FzName: __ccgo_ts + 1477, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1468, + FzName: __ccgo_ts + 1482, }, 4: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1473, + FzName: __ccgo_ts + 1487, }, 5: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1482, + FzName: __ccgo_ts + 1496, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1491, + FzName: __ccgo_ts + 1505, }, 7: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1500, + FzName: __ccgo_ts + 1514, }, 8: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1513, + FzName: __ccgo_ts + 1527, }, 9: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1531, + FzName: __ccgo_ts + 1545, }, } @@ -16446,7 +16625,7 @@ func _sqlite3MemMalloc(tls *libc.TLS, nByte int32) (r uintptr) { *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1544, libc.VaList(bp+8, nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1558, libc.VaList(bp+8, nByte)) } return p } @@ -16511,7 +16690,7 @@ func _sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) (r uintptr) *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1582, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1596, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) } return p } @@ -17927,7 +18106,7 @@ func _sqlite3OomFault(tls *libc.TLS, db uintptr) (r uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = uint16(0) if (*Tsqlite3)(unsafe.Pointer(db)).FpParse != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1632, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) pParse = (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).FpOuterParse for { @@ -18354,7 +18533,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li v3 = int32(*(*uint8)(unsafe.Pointer(v4))) c = v3 if v3 == 0 { - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1632, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1646, int32(1)) break } /* Find out what flags are present */ @@ -18771,9 +18950,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial != 0 { if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial) == int32(2) { if flag_zeropad != 0 { - v57 = __ccgo_ts + 1634 + v57 = __ccgo_ts + 1648 } else { - v57 = __ccgo_ts + 1639 + v57 = __ccgo_ts + 1653 } bufpt = v57 length = _sqlite3Strlen30(tls, bufpt) @@ -18784,7 +18963,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP = int32(1000) (*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fn = int32(1) } else { - libc.Xmemcpy(tls, bp, __ccgo_ts+1643, uint64(5)) + libc.Xmemcpy(tls, bp, __ccgo_ts+1657, uint64(5)) bufpt = bp if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fsign) == int32('-') { /* no-op */ @@ -18806,14 +18985,13 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li prefix = flag_prefix } exp = (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP - int32(1) - if int32(xtype) == int32(etGENERIC) && precision > 0 { - precision-- - } /* ** If the field type is etGENERIC, then convert to either etEXP ** or etFLOAT, as appropriate. */ if int32(xtype) == int32(etGENERIC) { + _ = libc.Int32FromInt32(0) + precision-- flag_rtz = libc.BoolUint8(!(flag_alternateform != 0)) if exp < -int32(4) || exp > precision { xtype = uint8(etEXP) @@ -19120,7 +19298,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li bufpt = libc.VaUintptr(&ap) } if bufpt == uintptr(0) { - bufpt = __ccgo_ts + 1648 + bufpt = __ccgo_ts + 1662 } else { if int32(xtype) == int32(etDYNSTRING) { if (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FnChar == uint32(0) && (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FmxAlloc != 0 && width == 0 && precision < 0 && int32((*Tsqlite3_str)(unsafe.Pointer(pAccum)).FaccError) == 0 { @@ -19209,9 +19387,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li isnull = libc.BoolInt32(escarg == uintptr(0)) if isnull != 0 { if int32(xtype) == int32(etSQLESCAPE2) { - v98 = __ccgo_ts + 1649 + v98 = __ccgo_ts + 1663 } else { - v98 = __ccgo_ts + 1654 + v98 = __ccgo_ts + 1668 } escarg = v98 } @@ -19331,7 +19509,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*TSrcItem)(unsafe.Pointer(pItem)).FzName != 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1661, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1675, int32(1)) } Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzName) } else { @@ -19339,11 +19517,16 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzAlias) } else { pSel = (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect - _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* Because of tag-20240424-1 */ if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_NestedFrom) != 0 { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1663, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1677, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) } else { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1673, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_MultiValue) != 0 { + _ = libc.Int32FromInt32(0) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1687, libc.VaList(bp+128, *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pItem)).Fu1)))) + } else { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1708, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + } } } } @@ -19632,7 +19815,7 @@ func _sqlite3ResultStrAccum(tls *libc.TLS, pCtx uintptr, p uintptr) { if int32((*TStrAccum)(unsafe.Pointer(p)).FprintfFlags)&int32(SQLITE_PRINTF_MALLOCED) != 0 { Xsqlite3_result_text(tls, pCtx, (*TStrAccum)(unsafe.Pointer(p)).FzText, int32((*TStrAccum)(unsafe.Pointer(p)).FnChar), __ccgo_fp(_sqlite3OomClear)) } else { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1648, 0, libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1662, 0, libc.UintptrFromInt32(0)) Xsqlite3_str_reset(tls, p) } } @@ -21571,6 +21754,62 @@ func _sqlite3DequoteExpr(tls *libc.TLS, p uintptr) { _sqlite3Dequote(tls, *(*uintptr)(unsafe.Pointer(p + 8))) } +// C documentation +// +// /* +// ** Expression p is a QNUMBER (quoted number). Dequote the value in p->u.zToken +// ** and set the type to INTEGER or FLOAT. "Quoted" integers or floats are those +// ** that contain '_' characters that must be removed before further processing. +// */ +func _sqlite3DequoteNumber(tls *libc.TLS, pParse uintptr, p uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var bHex int32 + var pIn, pOut, v1, v3 uintptr + var _ /* iValue at bp+0 */ int32 + _, _, _, _, _ = bHex, pIn, pOut, v1, v3 + _ = libc.Int32FromInt32(0) + if p != 0 { + pIn = *(*uintptr)(unsafe.Pointer(p + 8)) + pOut = *(*uintptr)(unsafe.Pointer(p + 8)) + bHex = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(pIn + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(pIn + 1))) == int32('X'))) + _ = libc.Int32FromInt32(0) + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + for { + if int32(*(*uint8)(unsafe.Pointer(pIn))) != int32('_') { + v3 = pOut + pOut++ + *(*uint8)(unsafe.Pointer(v3)) = *(*uint8)(unsafe.Pointer(pIn)) + if int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('E') || int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('.') { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_FLOAT) + } + } else { + if bHex == 0 && (!(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1))))])&libc.Int32FromInt32(0x04) != 0) || !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + 1))])&libc.Int32FromInt32(0x04) != 0)) || bHex == int32(1) && (!(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1))))])&libc.Int32FromInt32(0x08) != 0) || !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + 1))])&libc.Int32FromInt32(0x08) != 0)) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1722, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(p + 8)))) + } + } + goto _2 + _2: + ; + v1 = pIn + pIn++ + if !(*(*uint8)(unsafe.Pointer(v1)) != 0) { + break + } + } + if bHex != 0 { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + } + /* tag-20240227-a: If after dequoting, the number is an integer that + ** fits in 32 bits, then it must be converted into EP_IntValue. Other + ** parts of the code expect this. See also tag-20240227-b. */ + if int32((*TExpr)(unsafe.Pointer(p)).Fop) == int32(TK_INTEGER) && _sqlite3GetInt32(tls, *(*uintptr)(unsafe.Pointer(p + 8)), bp) != 0 { + *(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(p)).Fu)) = *(*int32)(unsafe.Pointer(bp)) + *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(EP_IntValue) + } + } +} + // C documentation // // /* @@ -22125,7 +22364,7 @@ func _compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) (r int32) { _, _, _ = c, i, pow63 c = 0 /* 012345678901234567 */ - pow63 = __ccgo_ts + 1687 + pow63 = __ccgo_ts + 1747 i = 0 for { if !(c == 0 && i < int32(18)) { @@ -22357,7 +22596,7 @@ func _sqlite3DecOrHexToI64(tls *libc.TLS, z uintptr, pOut uintptr) (r int32) { } return 0 } else { - n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1706)) + n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1766)) if *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 { n++ } @@ -22515,7 +22754,7 @@ func _sqlite3FpDecode(tls *libc.TLS, p uintptr, _r float64, iRound int32, mxRoun (*TFpDecode)(unsafe.Pointer(p)).Fsign = uint8('+') (*TFpDecode)(unsafe.Pointer(p)).Fn = int32(1) (*TFpDecode)(unsafe.Pointer(p)).FiDP = int32(1) - (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1722 + (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1782 return } else { (*TFpDecode)(unsafe.Pointer(p)).Fsign = uint8('+') @@ -23076,7 +23315,7 @@ func _sqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) (r uintptr func _logBadConnection(tls *libc.TLS, zType uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1724, libc.VaList(bp+8, zType)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1784, libc.VaList(bp+8, zType)) } // C documentation @@ -23099,13 +23338,13 @@ func _sqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) (r int32) { var eOpenState Tu8 _ = eOpenState if db == uintptr(0) { - _logBadConnection(tls, __ccgo_ts+1649) + _logBadConnection(tls, __ccgo_ts+1663) return 0 } eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_OPEN) { if _sqlite3SafetyCheckSickOrOk(tls, db) != 0 { - _logBadConnection(tls, __ccgo_ts+1769) + _logBadConnection(tls, __ccgo_ts+1829) } return 0 } else { @@ -23119,7 +23358,7 @@ func _sqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) (r int32) { _ = eOpenState eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_SICK) && int32(eOpenState) != int32(SQLITE_STATE_OPEN) && int32(eOpenState) != int32(SQLITE_STATE_BUSY) { - _logBadConnection(tls, __ccgo_ts+1778) + _logBadConnection(tls, __ccgo_ts+1838) return 0 } else { return int32(1) @@ -23778,196 +24017,196 @@ func _sqlite3OpcodeName(tls *libc.TLS, i int32) (r uintptr) { } var _azName = [190]uintptr{ - 0: __ccgo_ts + 1786, - 1: __ccgo_ts + 1796, - 2: __ccgo_ts + 1807, - 3: __ccgo_ts + 1819, - 4: __ccgo_ts + 1830, - 5: __ccgo_ts + 1842, - 6: __ccgo_ts + 1849, - 7: __ccgo_ts + 1857, - 8: __ccgo_ts + 1865, - 9: __ccgo_ts + 1870, - 10: __ccgo_ts + 1875, - 11: __ccgo_ts + 1881, - 12: __ccgo_ts + 1895, - 13: __ccgo_ts + 1901, - 14: __ccgo_ts + 1911, - 15: __ccgo_ts + 1916, - 16: __ccgo_ts + 1921, - 17: __ccgo_ts + 1924, - 18: __ccgo_ts + 1930, - 19: __ccgo_ts + 1937, - 20: __ccgo_ts + 1941, - 21: __ccgo_ts + 1951, - 22: __ccgo_ts + 1958, - 23: __ccgo_ts + 1965, - 24: __ccgo_ts + 1972, - 25: __ccgo_ts + 1979, - 26: __ccgo_ts + 1989, - 27: __ccgo_ts + 1998, - 28: __ccgo_ts + 2009, - 29: __ccgo_ts + 2018, - 30: __ccgo_ts + 2024, - 31: __ccgo_ts + 2034, - 32: __ccgo_ts + 2044, - 33: __ccgo_ts + 2049, - 34: __ccgo_ts + 2059, - 35: __ccgo_ts + 2070, - 36: __ccgo_ts + 2075, - 37: __ccgo_ts + 2082, - 38: __ccgo_ts + 2093, - 39: __ccgo_ts + 2098, - 40: __ccgo_ts + 2103, - 41: __ccgo_ts + 2109, - 42: __ccgo_ts + 2115, - 43: __ccgo_ts + 2121, - 44: __ccgo_ts + 2124, - 45: __ccgo_ts + 2128, - 46: __ccgo_ts + 2134, - 47: __ccgo_ts + 2145, - 48: __ccgo_ts + 2156, - 49: __ccgo_ts + 2164, - 50: __ccgo_ts + 2173, - 51: __ccgo_ts + 2180, - 52: __ccgo_ts + 2188, - 53: __ccgo_ts + 2191, - 54: __ccgo_ts + 2194, - 55: __ccgo_ts + 2197, - 56: __ccgo_ts + 2200, - 57: __ccgo_ts + 2203, - 58: __ccgo_ts + 2206, - 59: __ccgo_ts + 2213, - 60: __ccgo_ts + 2219, - 61: __ccgo_ts + 2229, - 62: __ccgo_ts + 2242, - 63: __ccgo_ts + 2253, - 64: __ccgo_ts + 2259, - 65: __ccgo_ts + 2266, - 66: __ccgo_ts + 2275, - 67: __ccgo_ts + 2284, - 68: __ccgo_ts + 2291, - 69: __ccgo_ts + 2304, - 70: __ccgo_ts + 2315, - 71: __ccgo_ts + 2320, - 72: __ccgo_ts + 2328, - 73: __ccgo_ts + 2334, - 74: __ccgo_ts + 2341, - 75: __ccgo_ts + 2353, - 76: __ccgo_ts + 2358, - 77: __ccgo_ts + 2367, - 78: __ccgo_ts + 2372, - 79: __ccgo_ts + 2381, - 80: __ccgo_ts + 2386, - 81: __ccgo_ts + 2391, - 82: __ccgo_ts + 2397, - 83: __ccgo_ts + 2405, - 84: __ccgo_ts + 2413, - 85: __ccgo_ts + 2423, - 86: __ccgo_ts + 2431, - 87: __ccgo_ts + 2438, - 88: __ccgo_ts + 2451, - 89: __ccgo_ts + 2456, - 90: __ccgo_ts + 2468, - 91: __ccgo_ts + 2476, - 92: __ccgo_ts + 2483, - 93: __ccgo_ts + 2494, - 94: __ccgo_ts + 2501, - 95: __ccgo_ts + 2508, - 96: __ccgo_ts + 2518, - 97: __ccgo_ts + 2527, - 98: __ccgo_ts + 2538, - 99: __ccgo_ts + 2544, - 100: __ccgo_ts + 2555, - 101: __ccgo_ts + 2565, - 102: __ccgo_ts + 2575, - 103: __ccgo_ts + 2582, - 104: __ccgo_ts + 2588, - 105: __ccgo_ts + 2598, - 106: __ccgo_ts + 2609, - 107: __ccgo_ts + 2613, - 108: __ccgo_ts + 2622, - 109: __ccgo_ts + 2631, - 110: __ccgo_ts + 2638, - 111: __ccgo_ts + 2648, - 112: __ccgo_ts + 2655, - 113: __ccgo_ts + 2664, - 114: __ccgo_ts + 2674, - 115: __ccgo_ts + 2681, - 116: __ccgo_ts + 2689, - 117: __ccgo_ts + 2703, - 118: __ccgo_ts + 2711, - 119: __ccgo_ts + 2725, - 120: __ccgo_ts + 2736, - 121: __ccgo_ts + 2749, - 122: __ccgo_ts + 2760, - 123: __ccgo_ts + 2766, - 124: __ccgo_ts + 2778, - 125: __ccgo_ts + 2787, - 126: __ccgo_ts + 2795, - 127: __ccgo_ts + 2804, - 128: __ccgo_ts + 2813, - 129: __ccgo_ts + 2820, - 130: __ccgo_ts + 2828, - 131: __ccgo_ts + 2835, - 132: __ccgo_ts + 2846, - 133: __ccgo_ts + 2860, - 134: __ccgo_ts + 2871, - 135: __ccgo_ts + 2879, - 136: __ccgo_ts + 2885, - 137: __ccgo_ts + 2893, - 138: __ccgo_ts + 2901, - 139: __ccgo_ts + 2911, - 140: __ccgo_ts + 2924, - 141: __ccgo_ts + 2934, - 142: __ccgo_ts + 2947, - 143: __ccgo_ts + 2956, - 144: __ccgo_ts + 2967, - 145: __ccgo_ts + 2975, - 146: __ccgo_ts + 2981, - 147: __ccgo_ts + 2993, - 148: __ccgo_ts + 3005, - 149: __ccgo_ts + 3013, - 150: __ccgo_ts + 3025, - 151: __ccgo_ts + 3038, - 152: __ccgo_ts + 3048, - 153: __ccgo_ts + 3058, - 154: __ccgo_ts + 3063, - 155: __ccgo_ts + 3075, - 156: __ccgo_ts + 3087, - 157: __ccgo_ts + 3097, - 158: __ccgo_ts + 3103, - 159: __ccgo_ts + 3113, - 160: __ccgo_ts + 3120, - 161: __ccgo_ts + 3132, - 162: __ccgo_ts + 3143, - 163: __ccgo_ts + 3151, - 164: __ccgo_ts + 3160, - 165: __ccgo_ts + 3169, - 166: __ccgo_ts + 3178, - 167: __ccgo_ts + 3185, - 168: __ccgo_ts + 3196, - 169: __ccgo_ts + 3209, - 170: __ccgo_ts + 3219, - 171: __ccgo_ts + 3226, - 172: __ccgo_ts + 3234, - 173: __ccgo_ts + 3243, - 174: __ccgo_ts + 3249, - 175: __ccgo_ts + 3256, - 176: __ccgo_ts + 3264, - 177: __ccgo_ts + 3272, - 178: __ccgo_ts + 3280, - 179: __ccgo_ts + 3290, - 180: __ccgo_ts + 3299, - 181: __ccgo_ts + 3310, - 182: __ccgo_ts + 3321, - 183: __ccgo_ts + 3332, - 184: __ccgo_ts + 3342, - 185: __ccgo_ts + 3348, - 186: __ccgo_ts + 3359, - 187: __ccgo_ts + 3370, - 188: __ccgo_ts + 3375, - 189: __ccgo_ts + 3383, + 0: __ccgo_ts + 1846, + 1: __ccgo_ts + 1856, + 2: __ccgo_ts + 1867, + 3: __ccgo_ts + 1879, + 4: __ccgo_ts + 1890, + 5: __ccgo_ts + 1902, + 6: __ccgo_ts + 1909, + 7: __ccgo_ts + 1917, + 8: __ccgo_ts + 1925, + 9: __ccgo_ts + 1930, + 10: __ccgo_ts + 1935, + 11: __ccgo_ts + 1941, + 12: __ccgo_ts + 1955, + 13: __ccgo_ts + 1961, + 14: __ccgo_ts + 1971, + 15: __ccgo_ts + 1976, + 16: __ccgo_ts + 1981, + 17: __ccgo_ts + 1984, + 18: __ccgo_ts + 1990, + 19: __ccgo_ts + 1997, + 20: __ccgo_ts + 2001, + 21: __ccgo_ts + 2011, + 22: __ccgo_ts + 2018, + 23: __ccgo_ts + 2025, + 24: __ccgo_ts + 2032, + 25: __ccgo_ts + 2039, + 26: __ccgo_ts + 2049, + 27: __ccgo_ts + 2058, + 28: __ccgo_ts + 2069, + 29: __ccgo_ts + 2078, + 30: __ccgo_ts + 2084, + 31: __ccgo_ts + 2094, + 32: __ccgo_ts + 2104, + 33: __ccgo_ts + 2109, + 34: __ccgo_ts + 2123, + 35: __ccgo_ts + 2134, + 36: __ccgo_ts + 2139, + 37: __ccgo_ts + 2146, + 38: __ccgo_ts + 2157, + 39: __ccgo_ts + 2162, + 40: __ccgo_ts + 2167, + 41: __ccgo_ts + 2173, + 42: __ccgo_ts + 2179, + 43: __ccgo_ts + 2185, + 44: __ccgo_ts + 2188, + 45: __ccgo_ts + 2192, + 46: __ccgo_ts + 2198, + 47: __ccgo_ts + 2209, + 48: __ccgo_ts + 2220, + 49: __ccgo_ts + 2228, + 50: __ccgo_ts + 2237, + 51: __ccgo_ts + 2244, + 52: __ccgo_ts + 2252, + 53: __ccgo_ts + 2255, + 54: __ccgo_ts + 2258, + 55: __ccgo_ts + 2261, + 56: __ccgo_ts + 2264, + 57: __ccgo_ts + 2267, + 58: __ccgo_ts + 2270, + 59: __ccgo_ts + 2277, + 60: __ccgo_ts + 2283, + 61: __ccgo_ts + 2293, + 62: __ccgo_ts + 2306, + 63: __ccgo_ts + 2317, + 64: __ccgo_ts + 2323, + 65: __ccgo_ts + 2330, + 66: __ccgo_ts + 2339, + 67: __ccgo_ts + 2348, + 68: __ccgo_ts + 2355, + 69: __ccgo_ts + 2368, + 70: __ccgo_ts + 2379, + 71: __ccgo_ts + 2384, + 72: __ccgo_ts + 2392, + 73: __ccgo_ts + 2398, + 74: __ccgo_ts + 2405, + 75: __ccgo_ts + 2417, + 76: __ccgo_ts + 2422, + 77: __ccgo_ts + 2431, + 78: __ccgo_ts + 2436, + 79: __ccgo_ts + 2445, + 80: __ccgo_ts + 2450, + 81: __ccgo_ts + 2455, + 82: __ccgo_ts + 2461, + 83: __ccgo_ts + 2469, + 84: __ccgo_ts + 2477, + 85: __ccgo_ts + 2487, + 86: __ccgo_ts + 2495, + 87: __ccgo_ts + 2502, + 88: __ccgo_ts + 2515, + 89: __ccgo_ts + 2520, + 90: __ccgo_ts + 2532, + 91: __ccgo_ts + 2540, + 92: __ccgo_ts + 2547, + 93: __ccgo_ts + 2558, + 94: __ccgo_ts + 2565, + 95: __ccgo_ts + 2572, + 96: __ccgo_ts + 2582, + 97: __ccgo_ts + 2591, + 98: __ccgo_ts + 2602, + 99: __ccgo_ts + 2608, + 100: __ccgo_ts + 2619, + 101: __ccgo_ts + 2629, + 102: __ccgo_ts + 2639, + 103: __ccgo_ts + 2646, + 104: __ccgo_ts + 2652, + 105: __ccgo_ts + 2662, + 106: __ccgo_ts + 2673, + 107: __ccgo_ts + 2677, + 108: __ccgo_ts + 2686, + 109: __ccgo_ts + 2695, + 110: __ccgo_ts + 2702, + 111: __ccgo_ts + 2712, + 112: __ccgo_ts + 2719, + 113: __ccgo_ts + 2728, + 114: __ccgo_ts + 2738, + 115: __ccgo_ts + 2745, + 116: __ccgo_ts + 2753, + 117: __ccgo_ts + 2767, + 118: __ccgo_ts + 2775, + 119: __ccgo_ts + 2789, + 120: __ccgo_ts + 2800, + 121: __ccgo_ts + 2813, + 122: __ccgo_ts + 2824, + 123: __ccgo_ts + 2830, + 124: __ccgo_ts + 2842, + 125: __ccgo_ts + 2851, + 126: __ccgo_ts + 2859, + 127: __ccgo_ts + 2868, + 128: __ccgo_ts + 2877, + 129: __ccgo_ts + 2884, + 130: __ccgo_ts + 2892, + 131: __ccgo_ts + 2899, + 132: __ccgo_ts + 2910, + 133: __ccgo_ts + 2924, + 134: __ccgo_ts + 2935, + 135: __ccgo_ts + 2943, + 136: __ccgo_ts + 2949, + 137: __ccgo_ts + 2957, + 138: __ccgo_ts + 2965, + 139: __ccgo_ts + 2975, + 140: __ccgo_ts + 2988, + 141: __ccgo_ts + 2998, + 142: __ccgo_ts + 3011, + 143: __ccgo_ts + 3020, + 144: __ccgo_ts + 3031, + 145: __ccgo_ts + 3039, + 146: __ccgo_ts + 3045, + 147: __ccgo_ts + 3057, + 148: __ccgo_ts + 3069, + 149: __ccgo_ts + 3077, + 150: __ccgo_ts + 3089, + 151: __ccgo_ts + 3102, + 152: __ccgo_ts + 3112, + 153: __ccgo_ts + 3122, + 154: __ccgo_ts + 3127, + 155: __ccgo_ts + 3139, + 156: __ccgo_ts + 3151, + 157: __ccgo_ts + 3161, + 158: __ccgo_ts + 3167, + 159: __ccgo_ts + 3177, + 160: __ccgo_ts + 3184, + 161: __ccgo_ts + 3196, + 162: __ccgo_ts + 3207, + 163: __ccgo_ts + 3215, + 164: __ccgo_ts + 3224, + 165: __ccgo_ts + 3233, + 166: __ccgo_ts + 3242, + 167: __ccgo_ts + 3249, + 168: __ccgo_ts + 3260, + 169: __ccgo_ts + 3273, + 170: __ccgo_ts + 3283, + 171: __ccgo_ts + 3290, + 172: __ccgo_ts + 3298, + 173: __ccgo_ts + 3307, + 174: __ccgo_ts + 3313, + 175: __ccgo_ts + 3320, + 176: __ccgo_ts + 3328, + 177: __ccgo_ts + 3336, + 178: __ccgo_ts + 3344, + 179: __ccgo_ts + 3354, + 180: __ccgo_ts + 3363, + 181: __ccgo_ts + 3374, + 182: __ccgo_ts + 3385, + 183: __ccgo_ts + 3396, + 184: __ccgo_ts + 3406, + 185: __ccgo_ts + 3412, + 186: __ccgo_ts + 3423, + 187: __ccgo_ts + 3434, + 188: __ccgo_ts + 3439, + 189: __ccgo_ts + 3447, } type Tstat = struct { @@ -24711,91 +24950,91 @@ type unix_syscall = Tunix_syscall // */ var _aSyscall = [29]Tunix_syscall{ 0: { - FzName: __ccgo_ts + 3393, + FzName: __ccgo_ts + 3457, }, 1: { - FzName: __ccgo_ts + 3398, + FzName: __ccgo_ts + 3462, }, 2: { - FzName: __ccgo_ts + 3404, + FzName: __ccgo_ts + 3468, }, 3: { - FzName: __ccgo_ts + 3411, + FzName: __ccgo_ts + 3475, }, 4: { - FzName: __ccgo_ts + 3418, + FzName: __ccgo_ts + 3482, }, 5: { - FzName: __ccgo_ts + 3423, + FzName: __ccgo_ts + 3487, }, 6: { - FzName: __ccgo_ts + 3429, + FzName: __ccgo_ts + 3493, }, 7: { - FzName: __ccgo_ts + 3439, + FzName: __ccgo_ts + 3503, }, 8: { - FzName: __ccgo_ts + 3445, + FzName: __ccgo_ts + 3509, }, 9: { - FzName: __ccgo_ts + 3450, + FzName: __ccgo_ts + 3514, }, 10: { - FzName: __ccgo_ts + 3456, + FzName: __ccgo_ts + 3520, }, 11: { - FzName: __ccgo_ts + 3464, + FzName: __ccgo_ts + 3528, }, 12: { - FzName: __ccgo_ts + 3470, + FzName: __ccgo_ts + 3534, }, 13: { - FzName: __ccgo_ts + 3477, + FzName: __ccgo_ts + 3541, }, 14: { - FzName: __ccgo_ts + 3486, + FzName: __ccgo_ts + 3550, }, 15: { - FzName: __ccgo_ts + 3493, + FzName: __ccgo_ts + 3557, }, 16: { - FzName: __ccgo_ts + 3503, + FzName: __ccgo_ts + 3567, }, 17: { - FzName: __ccgo_ts + 3510, + FzName: __ccgo_ts + 3574, }, 18: { - FzName: __ccgo_ts + 3524, + FzName: __ccgo_ts + 3588, }, 19: { - FzName: __ccgo_ts + 3530, + FzName: __ccgo_ts + 3594, }, 20: { - FzName: __ccgo_ts + 3536, + FzName: __ccgo_ts + 3600, }, 21: { - FzName: __ccgo_ts + 3543, + FzName: __ccgo_ts + 3607, }, 22: { - FzName: __ccgo_ts + 3551, + FzName: __ccgo_ts + 3615, }, 23: { - FzName: __ccgo_ts + 3556, + FzName: __ccgo_ts + 3620, }, 24: { - FzName: __ccgo_ts + 3563, + FzName: __ccgo_ts + 3627, }, 25: { - FzName: __ccgo_ts + 3570, + FzName: __ccgo_ts + 3634, }, 26: { - FzName: __ccgo_ts + 3582, + FzName: __ccgo_ts + 3646, }, 27: { - FzName: __ccgo_ts + 3591, + FzName: __ccgo_ts + 3655, }, 28: { - FzName: __ccgo_ts + 3597, + FzName: __ccgo_ts + 3661, }, } @@ -25034,9 +25273,9 @@ func _robust_open(tls *libc.TLS, z uintptr, f int32, m Tmode_t) (r int32) { (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, z) } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(1)].FpCurrent})))(tls, fd) - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3603, libc.VaList(bp+136, z, fd)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3667, libc.VaList(bp+136, z, fd)) fd = -int32(1) - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3646, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3710, O_RDONLY, int32(m)) < 0 { break } } @@ -25354,11 +25593,11 @@ func _unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uint ** equivalent to errno. Otherwise, use strerror_r(). */ /* This is a threadsafe build, but strerror_r() is not available. */ - zErr = __ccgo_ts + 1648 + zErr = __ccgo_ts + 1662 if zPath == uintptr(0) { - zPath = __ccgo_ts + 1648 + zPath = __ccgo_ts + 1662 } - Xsqlite3_log(tls, errcode, __ccgo_ts+3656, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) + Xsqlite3_log(tls, errcode, __ccgo_ts+3720, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) return errcode } @@ -25386,7 +25625,7 @@ func _robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { } else { v1 = uintptr(0) } - _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(16)< uint32(1) { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3740, libc.VaList(bp+136, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3804, libc.VaList(bp+136, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } if _fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3767, libc.VaList(bp+136, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3831, libc.VaList(bp+136, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -26080,7 +26319,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) { pFile = id _unixUnmapfile(tls, pFile) if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 { - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40172)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40505)) (*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1) } Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -26707,7 +26946,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { var _ /* zDirname at bp+0 */ [513]uint8 _, _ = fd, ii fd = -int32(1) - Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3795, libc.VaList(bp+528, zFilename)) + Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3859, libc.VaList(bp+528, zFilename)) ii = int32(libc.Xstrlen(tls, bp)) for { if !(ii > 0 && int32((*(*[513]uint8)(unsafe.Pointer(bp)))[ii]) != int32('/')) { @@ -26733,7 +26972,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { if fd >= 0 { return SQLITE_OK } - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(41778)), __ccgo_ts+3510, bp, int32(41778)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42111)), __ccgo_ts+3574, bp, int32(42111)) } // C documentation @@ -26772,7 +27011,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) { rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if rc != 0 { _storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<= nSize { iWrite = nSize - int64(1) } - nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1648, int32(1)) + nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1662, int32(1)) if nWrite != int32(1) { return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(3)<= 0 { - _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42583)) + _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42916)) (*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1) } (*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0) @@ -27395,7 +27634,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in ** help detect if a -shm file truncation is legitimate or is the work ** or a rogue process. */ if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 { - rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<= 0 { - _robust_close(tls, pNew, h, int32(43994)) + _robust_close(tls, pNew, h, int32(44327)) } } else { (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -28443,10 +28682,10 @@ func _fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilenam // ** Directories to consider for temp files. // */ var _azTempDirs = [6]uintptr{ - 2: __ccgo_ts + 3852, - 3: __ccgo_ts + 3861, - 4: __ccgo_ts + 3870, - 5: __ccgo_ts + 1661, + 2: __ccgo_ts + 3916, + 3: __ccgo_ts + 3925, + 4: __ccgo_ts + 3934, + 5: __ccgo_ts + 1675, } // C documentation @@ -28455,8 +28694,8 @@ var _azTempDirs = [6]uintptr{ // ** Initialize first two members of azTempDirs[] array. // */ func _unixTempFileInit(tls *libc.TLS) { - _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3875) - _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3889) + _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3939) + _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3953) } // C documentation @@ -28519,7 +28758,7 @@ func _unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) (r int32) { Xsqlite3_randomness(tls, int32(8), bp) _ = libc.Int32FromInt32(0) *(*uint8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2)))) = uint8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3896, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) + Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3960, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) if v2 = int32(*(*uint8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2))))) != 0; !v2 { v1 = iLimit iLimit++ @@ -28692,7 +28931,7 @@ func _findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintpt ** filename, check for the "modeof" parameter. If present, interpret ** its value as a filename and try to copy the mode, uid and gid from ** that file. */ - z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3913) + z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3977) if z != 0 { rc = _getFileMode(tls, z, pMode, pUid, pGid) } @@ -28730,12 +28969,12 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags bp := tls.Alloc(528) defer tls.Free(528) var ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, rc, rc2 int32 - var p, pUnused, zName uintptr + var p, pReadonly, pUnused, zName uintptr var _ /* gid at bp+524 */ Tgid_t var _ /* openMode at bp+516 */ Tmode_t var _ /* uid at bp+520 */ Tuid_t var _ /* zTmpname at bp+0 */ [514]uint8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pUnused, rc, rc2, zName + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pReadonly, pUnused, rc, rc2, zName p = pFile fd = -int32(1) /* File descriptor returned by open() */ openFlags = 0 /* Flags to pass to open() */ @@ -28845,17 +29084,24 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags } else { if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != int32(EISDIR) && isReadWrite != 0 { /* Failed to open the file for read/write access. Try read-only. */ + pReadonly = uintptr(0) flags &= ^(libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE)) openFlags &= ^(libc.Int32FromInt32(O_RDWR) | libc.Int32FromInt32(O_CREAT)) flags |= int32(SQLITE_OPEN_READONLY) openFlags |= O_RDONLY isReadonly = int32(1) - fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + pReadonly = _findReusableFd(tls, zName, flags) + if pReadonly != 0 { + fd = (*TUnixUnusedFd)(unsafe.Pointer(pReadonly)).Ffd + Xsqlite3_free(tls, pReadonly) + } else { + fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + } } } } if fd < 0 { - rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44435)), __ccgo_ts+3393, zName, int32(44435)) + rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44775)), __ccgo_ts+3457, zName, int32(44775)) if rc == SQLITE_OK { rc = rc2 } @@ -28934,7 +29180,7 @@ func _unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) ( if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(ENOENT) { rc = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(23)< int32(SQLITE_MAX_SYMLINK) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(44686)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45026)) return } got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+128, libc.Uint64FromInt64(4098)-libc.Uint64FromInt32(2)) if got <= 0 || got >= libc.Int64FromInt64(4098)-libc.Int64FromInt32(2) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44691)), __ccgo_ts+3582, zIn, int32(44691)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45031)), __ccgo_ts+3646, zIn, int32(45031)) return } (*(*[4098]uint8)(unsafe.Pointer(bp + 128)))[got] = uint8(0) @@ -29138,14 +29384,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z (*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut if int32(*(*uint8)(unsafe.Pointer(zPath))) != int32('/') { if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(4098)-libc.Uint64FromInt32(2)) == uintptr(0) { - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44749)), __ccgo_ts+3411, zPath, int32(44749)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45089)), __ccgo_ts+3475, zPath, int32(45089)) } _appendAllPathElements(tls, bp, bp+24) } _appendAllPathElements(tls, bp, zPath) *(*uint8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = uint8(0) if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) { - return _sqlite3CantopenError(tls, int32(44755)) + return _sqlite3CantopenError(tls, int32(45095)) } if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 { return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)< int64(1) { _sqlite3PagerUnrefNotNull(tls, pPgOld) - return _sqlite3CorruptError(tls, int32(63973)) + return _sqlite3CorruptError(tls, int32(64313)) } p4 = pPg + 52 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | int32((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC)) @@ -41395,7 +41641,7 @@ func _sqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in ** sqlite3_wal_checkpoint() call, but it happens very rarely. ** https://sqlite.org/forum/forumpost/fd0f19d229156939 */ - Xsqlite3_exec(tls, db, __ccgo_ts+4109, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+4173, uintptr(0), uintptr(0), uintptr(0)) } if (*TPager)(unsafe.Pointer(pPager)).FpWal != 0 { if eMode == SQLITE_CHECKPOINT_PASSIVE { @@ -42876,7 +43122,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in v2 = nCollide nCollide-- if v2 == 0 { - return _sqlite3CorruptError(tls, int32(65899)) + return _sqlite3CorruptError(tls, int32(66239)) } goto _1 _1: @@ -42968,7 +43214,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) { ** are able to understand */ version = _sqlite3Get4byte(tls, bp+8+4) if version != uint32(WAL_MAX_VERSION) { - rc = _sqlite3CantopenError(tls, int32(66031)) + rc = _sqlite3CantopenError(tls, int32(66371)) goto finished } /* Malloc a buffer to read frames into. */ @@ -43110,7 +43356,7 @@ finished: ** checkpointing the log file. */ if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FnPage != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(1)< int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = _sqlite3CorruptError(tls, int32(71032)) + rc = _sqlite3CorruptError(tls, int32(71421)) } else { rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -47870,7 +48123,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if key == uint32(0) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71230)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71619)) return } iPtrmap = _ptrmapPageno(tls, pBt, key) @@ -47883,12 +48136,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, /* The first byte of the extra data is the MemPage.isInit byte. ** If that byte is set, it means this page is also being used ** as a btree page. */ - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71243)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71632)) goto ptrmap_exit } offset = int32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1))) if offset < 0 { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71248)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71637)) goto ptrmap_exit } _ = libc.Int32FromInt32(0) @@ -47934,7 +48187,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin offset = int32(libc.Uint32FromInt32(5) * (key - uint32(iPtrmap) - libc.Uint32FromInt32(1))) if offset < 0 { _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) - return _sqlite3CorruptError(tls, int32(71293)) + return _sqlite3CorruptError(tls, int32(71682)) } _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -47944,7 +48197,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin } _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) if int32(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || int32(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) { - return _sqlite3CorruptError(tls, int32(71301)) + return _sqlite3CorruptError(tls, int32(71690)) } return SQLITE_OK } @@ -48383,7 +48636,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71741)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72130)) return } ovfl = _sqlite3Get4byte(tls, pCell+uintptr(int32((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4))) @@ -48429,12 +48682,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag { iFree = int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71799)) + return _sqlite3CorruptError(tls, int32(72188)) } if iFree != 0 { iFree2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71802)) + return _sqlite3CorruptError(tls, int32(72191)) } if 0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 { pEnd = data + uintptr(cellOffset+nCell*int32(2)) @@ -48442,21 +48695,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { sz = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree { - return _sqlite3CorruptError(tls, int32(71810)) + return _sqlite3CorruptError(tls, int32(72199)) } if iFree2 != 0 { if iFree+sz > iFree2 { - return _sqlite3CorruptError(tls, int32(71813)) + return _sqlite3CorruptError(tls, int32(72202)) } sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize { - return _sqlite3CorruptError(tls, int32(71815)) + return _sqlite3CorruptError(tls, int32(72204)) } libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) sz += sz2 } else { if iFree+sz > usableSize { - return _sqlite3CorruptError(tls, int32(71819)) + return _sqlite3CorruptError(tls, int32(72208)) } } cbrk = top + sz @@ -48504,13 +48757,13 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { ** if PRAGMA cell_size_check=ON. */ if pc > iCellLast { - return _sqlite3CorruptError(tls, int32(71852)) + return _sqlite3CorruptError(tls, int32(72241)) } _ = libc.Int32FromInt32(0) size = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc))) cbrk -= size if cbrk < iCellStart || pc+size > usableSize { - return _sqlite3CorruptError(tls, int32(71858)) + return _sqlite3CorruptError(tls, int32(72247)) } _ = libc.Int32FromInt32(0) *(*Tu8)(unsafe.Pointer(pAddr1)) = uint8(cbrk >> libc.Int32FromInt32(8)) @@ -48528,7 +48781,7 @@ defragment_out: ; _ = libc.Int32FromInt32(0) if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree { - return _sqlite3CorruptError(tls, int32(71872)) + return _sqlite3CorruptError(tls, int32(72261)) } _ = libc.Int32FromInt32(0) *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = uint8(cbrk >> libc.Int32FromInt32(8)) @@ -48591,7 +48844,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint } else { if x+pc > maxPC { /* This slot extends off the end of the usable part of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71929)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72318)) return uintptr(0) } else { /* The slot remains on the free-list. Reduce its size to account @@ -48608,14 +48861,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint if pc <= iAddr { if pc != 0 { /* The next slot in the chain comes before the current slot */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71944)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72333)) } return uintptr(0) } } if pc > maxPC+nByte-int32(4) { /* The free slot chain extends off the end of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71951)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72340)) } return uintptr(0) } @@ -48666,11 +48919,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) { top = int32(65536) } else { - return _sqlite3CorruptError(tls, int32(71999)) + return _sqlite3CorruptError(tls, int32(72388)) } } else { if top > int32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(72002)) + return _sqlite3CorruptError(tls, int32(72391)) } } /* If there is enough space between gap and top for one more cell pointer, @@ -48685,7 +48938,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r g2 = v1 *(*int32)(unsafe.Pointer(pIdx)) = v1 if g2 <= gap { - return _sqlite3CorruptError(tls, int32(72019)) + return _sqlite3CorruptError(tls, int32(72408)) } else { return SQLITE_OK } @@ -48778,12 +49031,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if int32(iFreeBlk) == 0 { break } /* TH3: corrupt082.100 */ - return _sqlite3CorruptError(tls, int32(72098)) + return _sqlite3CorruptError(tls, int32(72487)) } iPtr = iFreeBlk } if uint32(iFreeBlk) > (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-uint32(4) { /* TH3: corrupt081.100 */ - return _sqlite3CorruptError(tls, int32(72103)) + return _sqlite3CorruptError(tls, int32(72492)) } _ = libc.Int32FromInt32(0) /* At this point: @@ -48795,11 +49048,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if iFreeBlk != 0 && iEnd+uint32(3) >= uint32(iFreeBlk) { nFrag = uint8(uint32(iFreeBlk) - iEnd) if iEnd > uint32(iFreeBlk) { - return _sqlite3CorruptError(tls, int32(72115)) + return _sqlite3CorruptError(tls, int32(72504)) } iEnd = uint32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+int32(2)))))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return _sqlite3CorruptError(tls, int32(72118)) + return _sqlite3CorruptError(tls, int32(72507)) } iSize = uint16(iEnd - uint32(iStart)) iFreeBlk = uint16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= int32(iStart) { if iPtrEnd > int32(iStart) { - return _sqlite3CorruptError(tls, int32(72131)) + return _sqlite3CorruptError(tls, int32(72520)) } nFrag = Tu8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = uint16(iEnd - uint32(iPtr)) @@ -48820,7 +49073,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(7))))) { - return _sqlite3CorruptError(tls, int32(72137)) + return _sqlite3CorruptError(tls, int32(72526)) } p2 = data + uintptr(int32(hdr)+int32(7)) *(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - int32(nFrag)) @@ -48837,10 +49090,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) ** so just extend the cell content area rather than create another ** freelist entry */ if int32(iStart) < int32(x) { - return _sqlite3CorruptError(tls, int32(72151)) + return _sqlite3CorruptError(tls, int32(72540)) } if int32(iPtr) != int32(hdr)+int32(1) { - return _sqlite3CorruptError(tls, int32(72152)) + return _sqlite3CorruptError(tls, int32(72541)) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)))) = uint8(int32(iFreeBlk) >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)) + 1)) = uint8(iFreeBlk) @@ -48903,7 +49156,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72206)) + return _sqlite3CorruptError(tls, int32(72595)) } } } else { @@ -48929,7 +49182,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72230)) + return _sqlite3CorruptError(tls, int32(72619)) } } } @@ -48976,12 +49229,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will ** always be at least one cell before the first freeblock. */ - return _sqlite3CorruptError(tls, int32(72281)) + return _sqlite3CorruptError(tls, int32(72670)) } for int32(1) != 0 { if pc > iCellLast { /* Freeblock off the end of the page */ - return _sqlite3CorruptError(tls, int32(72286)) + return _sqlite3CorruptError(tls, int32(72675)) } next = uint32(int32(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) { /* Freeblock not in ascending order */ - return _sqlite3CorruptError(tls, int32(72296)) + return _sqlite3CorruptError(tls, int32(72685)) } if uint32(pc)+size > uint32(usableSize) { /* Last freeblock extends past page end */ - return _sqlite3CorruptError(tls, int32(72300)) + return _sqlite3CorruptError(tls, int32(72689)) } } /* At this point, nFree contains the sum of the offset to the start @@ -49008,7 +49261,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { ** area, according to the page header, lies within the page. */ if nFree > usableSize || nFree < iCellFirst { - return _sqlite3CorruptError(tls, int32(72312)) + return _sqlite3CorruptError(tls, int32(72701)) } (*TMemPage)(unsafe.Pointer(pPage)).FnFree = int32(uint16(nFree - iCellFirst)) return SQLITE_OK @@ -49039,11 +49292,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) { } pc = int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))) if pc < iCellFirst || pc > iCellLast { - return _sqlite3CorruptError(tls, int32(72343)) + return _sqlite3CorruptError(tls, int32(72732)) } sz = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return _sqlite3CorruptError(tls, int32(72348)) + return _sqlite3CorruptError(tls, int32(72737)) } goto _1 _1: @@ -49079,7 +49332,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating ** the b-tree page type. */ if _decodeFlags(tls, pPage, int32(*(*Tu8)(unsafe.Pointer(data)))) != 0 { - return _sqlite3CorruptError(tls, int32(72380)) + return _sqlite3CorruptError(tls, int32(72769)) } _ = libc.Int32FromInt32(0) (*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1)) @@ -49093,7 +49346,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FnCell = uint16(int32(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) { /* To many cells for a single page. The page must be corrupt */ - return _sqlite3CorruptError(tls, int32(72394)) + return _sqlite3CorruptError(tls, int32(72783)) } /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only ** possible for a root page of a table that contains no rows) then the @@ -49259,7 +49512,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe _ = libc.Int32FromInt32(0) if pgno > _btreePagecount(tls, pBt) { *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72537)) + return _sqlite3CorruptError(tls, int32(72926)) } rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly) if rc != 0 { @@ -49336,7 +49589,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) { _releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72609)) + return _sqlite3CorruptError(tls, int32(72998)) } (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0) } else { @@ -49428,7 +49681,7 @@ func _sqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt /* Set the variable isMemdb to true for an in-memory database, or ** false for a file-based database. */ - isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4190) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) + isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4254) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -50249,7 +50502,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { ** The original design allowed these amounts to vary, but as of ** version 3.6.0, we require them to be fixed. */ - if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4199, uint64(3)) != 0 { + if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4263, uint64(3)) != 0 { goto page1_init_failed } /* EVIDENCE-OF: R-51873-39618 The page size for a database file is @@ -50288,7 +50541,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { } if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) { if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 { - rc = _sqlite3CorruptError(tls, int32(73547)) + rc = _sqlite3CorruptError(tls, int32(73936)) goto page1_init_failed } else { nPage = *(*Tu32)(unsafe.Pointer(bp + 8)) @@ -50750,7 +51003,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT if int32(eType) == int32(PTRMAP_OVERFLOW2) { /* The pointer is always the first 4 bytes of the page in this case. */ if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return _sqlite3CorruptError(tls, int32(73995)) + return _sqlite3CorruptError(tls, int32(74384)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -50774,7 +51027,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74014)) + return _sqlite3CorruptError(tls, int32(74403)) } if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) { _sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo) @@ -50783,7 +51036,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } } else { if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74023)) + return _sqlite3CorruptError(tls, int32(74412)) } if _sqlite3Get4byte(tls, pCell) == iFrom { _sqlite3Put4byte(tls, pCell, iTo) @@ -50797,7 +51050,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } if i == nCell { if int32(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom { - return _sqlite3CorruptError(tls, int32(74035)) + return _sqlite3CorruptError(tls, int32(74424)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo) } @@ -50830,7 +51083,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iDbPage < uint32(3) { - return _sqlite3CorruptError(tls, int32(74070)) + return _sqlite3CorruptError(tls, int32(74459)) } /* Move page iDbPage from its current location to page number iFreePage */ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit) @@ -50928,7 +51181,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom return rc } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) { - return _sqlite3CorruptError(tls, int32(74168)) + return _sqlite3CorruptError(tls, int32(74557)) } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) { if bCommit == 0 { @@ -50967,7 +51220,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) - return _sqlite3CorruptError(tls, int32(74220)) + return _sqlite3CorruptError(tls, int32(74609)) } } _ = libc.Int32FromInt32(0) @@ -51036,7 +51289,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) { nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) nFin = _finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = _sqlite3CorruptError(tls, int32(74288)) + rc = _sqlite3CorruptError(tls, int32(74677)) } else { if nFree > uint32(0) { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -51082,7 +51335,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { ** is either a pointer-map page or the pending-byte page. If one ** is encountered, this indicates corruption. */ - return _sqlite3CorruptError(tls, int32(74339)) + return _sqlite3CorruptError(tls, int32(74728)) } nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) db = (*TBtree)(unsafe.Pointer(p)).Fdb @@ -51112,7 +51365,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { } nFin = _finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return _sqlite3CorruptError(tls, int32(74366)) + return _sqlite3CorruptError(tls, int32(74755)) } if nFin < nOrig { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -51610,7 +51863,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo _ = libc.Int32FromInt32(0) if iTable <= uint32(1) { if iTable < uint32(1) { - return _sqlite3CorruptError(tls, int32(74830)) + return _sqlite3CorruptError(tls, int32(75219)) } else { if _btreePagecount(tls, pBt) == uint32(0) { _ = libc.Int32FromInt32(0) @@ -52024,7 +52277,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(75235)) + return _sqlite3CorruptError(tls, int32(75624)) } _ = libc.Int32FromInt32(0) _getCellInfo(tls, pCur) @@ -52037,7 +52290,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ** but is recast into its current form to avoid integer overflow problems */ - return _sqlite3CorruptError(tls, int32(75250)) + return _sqlite3CorruptError(tls, int32(75639)) } /* Check if data must be read/written to/from the btree page itself. */ if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) { @@ -52065,7 +52318,11 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_ValidOvfl) == 0 { nOvfl = int32(((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload - uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) + ovflSize - uint32(1)) / ovflSize) if (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow == uintptr(0) || nOvfl*libc.Int32FromInt64(4) > _sqlite3MallocSize(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow) { - aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + if _sqlite3FaultSim(tls, int32(413)) != 0 { + aNew = uintptr(0) + } else { + aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + } if aNew == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -52076,6 +52333,9 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin p1 = pCur + 1 *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(BTCF_ValidOvfl)) } else { + /* Sanity check the validity of the overflow page cache */ + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* If the overflow page-list cache has been allocated and the ** entry for the first required overflow page is valid, skip ** directly to it. @@ -52090,7 +52350,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin for *(*TPgno)(unsafe.Pointer(bp)) != 0 { /* If required, populate the overflow page-list cache. */ if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(75312)) + return _sqlite3CorruptError(tls, int32(75710)) } _ = libc.Int32FromInt32(0) *(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp)) @@ -52167,7 +52427,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin } if rc == SQLITE_OK && amt > uint32(0) { /* Overflow chain ends prematurely */ - return _sqlite3CorruptError(tls, int32(75396)) + return _sqlite3CorruptError(tls, int32(75794)) } return rc } @@ -52320,7 +52580,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(75534)) + return _sqlite3CorruptError(tls, int32(75932)) } (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) p1 = pCur + 1 @@ -52333,7 +52593,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(75548)) + rc = _sqlite3CorruptError(tls, int32(75946)) } if rc != 0 { v3 = pCur + 84 @@ -52463,7 +52723,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) { ** (or the freelist). */ _ = libc.Int32FromInt32(0) if int32((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) { - return _sqlite3CorruptError(tls, int32(75683)) + return _sqlite3CorruptError(tls, int32(76081)) } goto skip_init skip_init: @@ -52477,7 +52737,7 @@ skip_init: } else { if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) { if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) { - return _sqlite3CorruptError(tls, int32(75695)) + return _sqlite3CorruptError(tls, int32(76093)) } subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8))) (*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID) @@ -52626,6 +52886,7 @@ func _sqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) (r int32) { _ = libc.Int32FromInt32(0) /* If the cursor already points to the last entry, this is a no-op. */ if CURSOR_VALID == int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) && int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_AtLast) != 0 { + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pRes)) = 0 return SQLITE_OK } @@ -52679,6 +52940,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh } if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey < intKey { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_AtLast) != 0 { + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pRes)) = -int32(1) return SQLITE_OK } @@ -52741,7 +53003,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh break } if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(75937)) + return _sqlite3CorruptError(tls, int32(76342)) } } } @@ -52957,7 +53219,7 @@ func _sqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes p3 = pCur + 1 *(*Tu8)(unsafe.Pointer(p3)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p3))) & ^libc.Int32FromInt32(BTCF_ValidOvfl)) if !((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76133)) + return _sqlite3CorruptError(tls, int32(76538)) } goto bypass_moveto_root /* Start search on the current page */ } @@ -53029,7 +53291,7 @@ bypass_moveto_root: /* Invalid key size: 0x80 0x80 0x01 */ /* Minimum legal index key size */ if nCell < int32(2) || uint32(nCell)/(*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage { - rc = _sqlite3CorruptError(tls, int32(76220)) + rc = _sqlite3CorruptError(tls, int32(76625)) goto moveto_index_finish } pCellKey = _sqlite3Malloc(tls, uint64(nCell+nOverrun)) @@ -53062,7 +53324,7 @@ bypass_moveto_root: rc = SQLITE_OK (*TBtCursor)(unsafe.Pointer(pCur)).Fix = uint16(idx) if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 { - rc = _sqlite3CorruptError(tls, int32(76252)) + rc = _sqlite3CorruptError(tls, int32(76657)) } goto moveto_index_finish } @@ -53099,7 +53361,7 @@ bypass_moveto_root: p9 = pCur + 1 *(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl))) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(76283)) + return _sqlite3CorruptError(tls, int32(76688)) } *(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = uint16(lwr) *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage @@ -53108,7 +53370,7 @@ bypass_moveto_root: rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(76294)) + rc = _sqlite3CorruptError(tls, int32(76699)) } if rc != 0 { v11 = pCur + 84 @@ -53160,11 +53422,11 @@ func _sqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) (r Ti64) { _, _ = i, n _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - /* Currently this interface is only called by the OP_IfSmaller - ** opcode, and it that case the cursor will always be valid and - ** will always point to a leaf node. */ + /* Currently this interface is only called by the OP_IfSizeBetween + ** opcode and the OP_Count opcode with P3=1. In either case, + ** the cursor will always be valid unless the btree is empty. */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return int64(-int32(1)) + return 0 } if int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).Fleaf) == 0 { return int64(-int32(1)) @@ -53242,7 +53504,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76395)) + return _sqlite3CorruptError(tls, int32(76800)) } if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { @@ -53357,7 +53619,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76488)) + return _sqlite3CorruptError(tls, int32(76893)) } if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { idx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) @@ -53451,7 +53713,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt ** stores the total number of pages on the freelist. */ n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36) if n >= mxPage { - return _sqlite3CorruptError(tls, int32(76578)) + return _sqlite3CorruptError(tls, int32(76983)) } if n > uint32(0) { searchList = uint8(0) /* If the free-list must be searched for 'nearby' */ @@ -53508,7 +53770,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt nSearch++ } if v2 || v1 > n { - rc = _sqlite3CorruptError(tls, int32(76634)) + rc = _sqlite3CorruptError(tls, int32(77039)) } else { rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0) } @@ -53537,7 +53799,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) { /* Value of k is out of range. Database corruption */ - rc = _sqlite3CorruptError(tls, int32(76663)) + rc = _sqlite3CorruptError(tls, int32(77068)) goto end_allocate_page } else { if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -53564,7 +53826,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8) if iNewTrunk > mxPage { - rc = _sqlite3CorruptError(tls, int32(76697)) + rc = _sqlite3CorruptError(tls, int32(77102)) goto end_allocate_page } rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0) @@ -53636,7 +53898,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4))) if iPage > mxPage || iPage < uint32(2) { - rc = _sqlite3CorruptError(tls, int32(76762)) + rc = _sqlite3CorruptError(tls, int32(77167)) goto end_allocate_page } if !(searchList != 0) || (iPage == nearby || iPage < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -53782,7 +54044,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(76889)) + return _sqlite3CorruptError(tls, int32(77294)) } if pMemPage != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage @@ -53833,7 +54095,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */ iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32) if iTrunk > _btreePagecount(tls, pBt) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76936)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77341)) goto freepage_out } *(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0) @@ -53843,7 +54105,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4) _ = libc.Int32FromInt32(0) if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76947)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77352)) goto freepage_out } if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) { @@ -53935,7 +54197,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp _ = libc.Int32FromInt32(0) if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { /* Cell extends past end of page */ - return _sqlite3CorruptError(tls, int32(77036)) + return _sqlite3CorruptError(tls, int32(77441)) } ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt @@ -53955,7 +54217,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp /* 0 is not a legal page number and page 1 cannot be an ** overflow page. Therefore if ovflPgno<2 or past the end of the ** file the database must be corrupt. */ - return _sqlite3CorruptError(tls, int32(77053)) + return _sqlite3CorruptError(tls, int32(77458)) } if nOvfl != 0 { rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp) @@ -53978,7 +54240,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp ** caller is iterating through or using in some other way, this ** can be problematic. */ - rc = _sqlite3CorruptError(tls, int32(77073)) + rc = _sqlite3CorruptError(tls, int32(77478)) } else { rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno) } @@ -54214,7 +54476,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { pc = uint32(int32(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77329)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77734)) return } rc = _freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -54649,12 +54911,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg _ = libc.Int32FromInt32(0) if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) { if uint64(pCell+uintptr(sz)) > uint64(pEnd) { - return _sqlite3CorruptError(tls, int32(77718)) + return _sqlite3CorruptError(tls, int32(78123)) } pCell = pTmp + uintptr(int64(pCell)-int64(aData)) } else { if uint64(pCell+uintptr(sz)) > uint64(pSrcEnd) && uint64(pCell) < uint64(pSrcEnd) { - return _sqlite3CorruptError(tls, int32(77723)) + return _sqlite3CorruptError(tls, int32(78128)) } } pData -= uintptr(sz) @@ -54662,7 +54924,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*Tu8)(unsafe.Pointer(pCellptr + 1)) = uint8(int64(pData) - int64(aData)) pCellptr += uintptr(2) if pData < pCellptr { - return _sqlite3CorruptError(tls, int32(77729)) + return _sqlite3CorruptError(tls, int32(78134)) } libc.Xmemmove(tls, pData, pCell, uint64(sz)) _ = libc.Int32FromInt32(0) @@ -54761,7 +55023,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr _ = libc.Int32FromInt32(0) if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(pEnd) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(pEnd) { _ = libc.Int32FromInt32(0) - _sqlite3CorruptError(tls, int32(77814)) + _sqlite3CorruptError(tls, int32(78219)) return int32(1) } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz)) @@ -54911,7 +55173,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p if iOld < iNew { nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray) if nShift > nCell { - return _sqlite3CorruptError(tls, int32(77936)) + return _sqlite3CorruptError(tls, int32(78341)) } libc.Xmemmove(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), uint64(nCell*int32(2))) nCell -= nShift @@ -54986,7 +55248,7 @@ editpage_fail: ; /* Unable to edit this page. Rebuild it from scratch instead. */ if nNew < int32(1) { - return _sqlite3CorruptError(tls, int32(78010)) + return _sqlite3CorruptError(tls, int32(78415)) } _populateCellCache(tls, pCArray, iNew, nNew) return _rebuildPage(tls, pCArray, iNew, nNew, pPg) @@ -55034,7 +55296,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return _sqlite3CorruptError(tls, int32(78050)) + return _sqlite3CorruptError(tls, int32(78455)) } /* dbfuzz001.test */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -55410,7 +55672,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa ** table-interior, index-leaf, or index-interior). */ if int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78471)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78876)) goto balance_cleanup } /* Load b.apCell[] with pointers to all cells in pOld. If pOld @@ -55433,7 +55695,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa libc.Xmemset(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*uint64(limit+int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow))) if int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 { if limit < int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78495)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78900)) goto balance_cleanup } limit = int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) @@ -55576,7 +55838,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa if i+int32(1) >= k { k = i + int32(2) if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78596)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79001)) goto balance_cleanup } (*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0 @@ -55619,7 +55881,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v10 = 0 } if cntNew[i] <= v10 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78629)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79034)) goto balance_cleanup } } @@ -55680,7 +55942,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v15 = 0 } if cntNew[i-int32(1)] <= v15 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78673)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79078)) goto balance_cleanup } goto _11 @@ -55713,7 +55975,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) nNew++ if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78706)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79111)) } if *(*int32)(unsafe.Pointer(bp)) != 0 { goto balance_cleanup @@ -55956,7 +56218,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa } pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8)) if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78906)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79311)) goto balance_cleanup } *(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno) @@ -56221,7 +56483,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) { break } if pOther != pCur && int32((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage { - return _sqlite3CorruptError(tls, int32(79138)) + return _sqlite3CorruptError(tls, int32(79543)) } goto _1 _1: @@ -56296,7 +56558,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) { /* The page being written is not a root page, and there is currently ** more than one reference to it. This only happens if the page is one ** of its own ancestor pages. Corruption. */ - rc = _sqlite3CorruptError(tls, int32(79198)) + rc = _sqlite3CorruptError(tls, int32(79603)) } else { pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8)) iIdx = int32(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2))) @@ -56459,7 +56721,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int return rc } if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = _sqlite3CorruptError(tls, int32(79362)) + rc = _sqlite3CorruptError(tls, int32(79767)) } else { if uint32(iOffset)+ovflPageSize < uint32(nTotal) { ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData) @@ -56490,7 +56752,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) { nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */ pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */ if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) { - return _sqlite3CorruptError(tls, int32(79390)) + return _sqlite3CorruptError(tls, int32(79795)) } if int32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal { /* The entire cell is local */ @@ -56577,7 +56839,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** Which can only happen if the SQLITE_NoSchemaError flag was set when ** the schema was loaded. This cannot be asserted though, as a user might ** set the flag, load the schema, and then unset the flag. */ - return _sqlite3CorruptError(tls, int32(79471)) + return _sqlite3CorruptError(tls, int32(79876)) } } /* Ensure that the cursor is not in the CURSOR_FAULT state and that it @@ -56680,7 +56942,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) { /* ^^^^^--- due to the moveToRoot() call above */ - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79594)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79999)) } else { *(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage) } @@ -56722,7 +56984,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if *(*int32)(unsafe.Pointer(bp + 4)) == 0 { _ = libc.Int32FromInt32(0) if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79636)) + return _sqlite3CorruptError(tls, int32(80041)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -56752,10 +57014,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ _ = libc.Int32FromInt32(0) /* clearCell never fails when nLocal==nPayload */ if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) { - return _sqlite3CorruptError(tls, int32(79663)) + return _sqlite3CorruptError(tls, int32(80068)) } if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79666)) + return _sqlite3CorruptError(tls, int32(80071)) } libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 8)))) return SQLITE_OK @@ -56880,7 +57142,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79768)) + return _sqlite3CorruptError(tls, int32(80173)) } nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -56902,7 +57164,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T } if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79793)) + return _sqlite3CorruptError(tls, int32(80198)) } ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -57011,7 +57273,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { return *(*int32)(unsafe.Pointer(bp)) } } else { - return _sqlite3CorruptError(tls, int32(79889)) + return _sqlite3CorruptError(tls, int32(80294)) } } _ = libc.Int32FromInt32(0) @@ -57019,14 +57281,14 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { iCellIdx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return _sqlite3CorruptError(tls, int32(79898)) + return _sqlite3CorruptError(tls, int32(80303)) } pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx)))))) if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 && _btreeComputeFreeSpace(tls, pPage) != 0 { - return _sqlite3CorruptError(tls, int32(79902)) + return _sqlite3CorruptError(tls, int32(80307)) } if pCell < (*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79905)) + return _sqlite3CorruptError(tls, int32(80310)) } /* If the BTREE_SAVEPOSITION bit is on, then the cursor position must ** be preserved following this delete operation. If the current delete @@ -57121,7 +57383,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { } pCell = (*TMemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(int32(2)*(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FnCell)-int32(1)))))))) if pCell < (*TMemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return _sqlite3CorruptError(tls, int32(79996)) + return _sqlite3CorruptError(tls, int32(80401)) } nCell = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pLeaf)).FxCellSize})))(tls, pLeaf, pCell)) _ = libc.Int32FromInt32(0) @@ -57241,7 +57503,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags */ _sqlite3BtreeGetMeta(tls, p, int32(BTREE_LARGEST_ROOT_PAGE), bp+8) if *(*TPgno)(unsafe.Pointer(bp + 8)) > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80112)) + return _sqlite3CorruptError(tls, int32(80517)) } *(*TPgno)(unsafe.Pointer(bp + 8))++ /* The new root-page may not be allocated on a pointer-map page, or the @@ -57283,7 +57545,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36) if int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) { - *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80160)) + *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80565)) } if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -57370,14 +57632,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int _, _, _, _ = hdr, i, pCell, v2 _ = libc.Int32FromInt32(0) if pgno > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80250)) + return _sqlite3CorruptError(tls, int32(80655)) } *(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0) if *(*int32)(unsafe.Pointer(bp + 8)) != 0 { return *(*int32)(unsafe.Pointer(bp + 8)) } if int32((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80257)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80662)) goto cleardatabasepage_out } hdr = int32((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset) @@ -57518,7 +57780,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iTable > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80361)) + return _sqlite3CorruptError(tls, int32(80766)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -57794,7 +58056,7 @@ func _checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4203, int32(1)) + Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4267, int32(1)) } if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, pCheck+72, (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp+8, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv0, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -57846,11 +58108,11 @@ func _checkRef(tls *libc.TLS, pCheck uintptr, iPage TPgno) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if iPage > (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnCkPage || iPage == uint32(0) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4205, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4269, libc.VaList(bp+8, iPage)) return int32(1) } if _getPageReferenced(tls, pCheck, iPage) != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4228, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4292, libc.VaList(bp+8, iPage)) return int32(1) } _setPageReferenced(tls, pCheck, iPage) @@ -57876,11 +58138,11 @@ func _checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild TPgno, eType Tu8, iParen if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< (*TBtShared)(unsafe.Pointer((*TIntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize/uint32(4)-uint32(2) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4358, libc.VaList(bp+16, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4422, libc.VaList(bp+16, iPage)) N-- } else { i = 0 @@ -57952,11 +58214,11 @@ func _checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage TPgno, N } if N != 0 && nErrAtStart == (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr { if isFreeList != 0 { - v2 = __ccgo_ts + 4397 + v2 = __ccgo_ts + 4461 } else { - v2 = __ccgo_ts + 4402 + v2 = __ccgo_ts + 4466 } - _checkAppendMsg(tls, pCheck, __ccgo_ts+4423, libc.VaList(bp+16, v2, expected-N, expected)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4487, libc.VaList(bp+16, v2, expected-N, expected)) } } @@ -58093,12 +58355,12 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr if _checkRef(tls, pCheck, iPage) != 0 { return 0 } - (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4449 + (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4513 (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage v1 = _btreeGetPage(tls, pBt, iPage, bp+8, 0) rc = v1 if v1 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4467, libc.VaList(bp+56, rc)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4531, libc.VaList(bp+56, rc)) if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< usableSize-uint32(4) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4621, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4685, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) doCoverageCheck = 0 goto _4 } pCell = data + uintptr(pc) (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FxParseCell})))(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), pCell, bp+24) if pc+uint32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnSize) > usableSize { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4651, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4715, 0) doCoverageCheck = 0 goto _4 } @@ -58184,7 +58449,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr v5 = libc.BoolInt32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey >= *(*Ti64)(unsafe.Pointer(bp))) } if v5 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4675, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4739, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) } *(*Ti64)(unsafe.Pointer(bp)) = (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey keyCanBeEqual = 0 /* Only the first key on the page may ==maxKey */ @@ -58208,7 +58473,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr d2 = _checkTreePage(tls, pCheck, uint32(pgno), bp, *(*Ti64)(unsafe.Pointer(bp))) keyCanBeEqual = 0 if d2 != depth { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4699, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4763, 0) depth = d2 } } else { @@ -58245,6 +58510,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr i-- } } + _ = libc.Int32FromInt32(0) /* Add the freeblocks to the min-heap ** ** EVIDENCE-OF: R-20690-50594 The second field of the b-tree page header @@ -58285,7 +58551,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr prev = contentOffset - uint32(1) /* Implied first min-heap entry */ for _btreeHeapPull(tls, heap, bp+16) != 0 { if prev&uint32(0xffff) >= *(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4724, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4788, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) break } else { nFrag = int32(uint32(nFrag) + (*(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) - prev&libc.Uint32FromInt32(0xffff) - libc.Uint32FromInt32(1))) @@ -58299,7 +58565,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr ** number of fragmented free bytes within the cell content area. */ if *(*Tu32)(unsafe.Pointer(heap)) == uint32(0) && nFrag != int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4761, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4825, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) } } goto end_of_check @@ -58339,22 +58605,23 @@ end_of_check: // ** the unverified btrees. Except, if aRoot[1] is 1, then the freelist // ** checks are still performed. // */ -func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { - bp := tls.Alloc(256) - defer tls.Free(256) +func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, aCnt uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { + bp := tls.Alloc(272) + defer tls.Free(272) var bCkFreelist, bPartial int32 var i, mx, mxInHdr TPgno var pBt uintptr var savedDbFlags Tu64 - var _ /* notUsed at bp+224 */ Ti64 + var _ /* notUsed at bp+232 */ Ti64 var _ /* sCheck at bp+0 */ TIntegrityCk - var _ /* zErr at bp+120 */ [100]uint8 + var _ /* zErr at bp+128 */ [100]uint8 _, _, _, _, _, _, _ = bCkFreelist, bPartial, i, mx, mxInHdr, pBt, savedDbFlags pBt = (*TBtree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Tsqlite3)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags bPartial = 0 /* True if not checking all btrees */ bCkFreelist = int32(1) /* True to scan the freelist */ _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* aRoot[0]==0 means this is a partial check */ if *(*TPgno)(unsafe.Pointer(aRoot)) == uint32(0) { _ = libc.Int32FromInt32(0) @@ -58366,13 +58633,13 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin _sqlite3BtreeEnter(tls, p) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - libc.Xmemset(tls, bp, 0, uint64(120)) + libc.Xmemset(tls, bp, 0, uint64(128)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fdb = db (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt = pBt (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage = _btreePagecount(tls, (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr = mxErr - _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+120, int32(100), int32(SQLITE_MAX_LENGTH)) + _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+128, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FerrMsg.FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage == uint32(0) { goto integrity_ck_cleanup @@ -58394,7 +58661,7 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin /* Check the integrity of the freelist */ if bCkFreelist != 0 { - (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4813 + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4877 _checkList(tls, bp, int32(1), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = uintptr(0) } @@ -58418,11 +58685,11 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } mxInHdr = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+52) if mx != mxInHdr { - _checkAppendMsg(tls, bp, __ccgo_ts+4824, libc.VaList(bp+240, mx, mxInHdr)) + _checkAppendMsg(tls, bp, __ccgo_ts+4888, libc.VaList(bp+248, mx, mxInHdr)) } } else { if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64) != uint32(0) { - _checkAppendMsg(tls, bp, __ccgo_ts+4869, 0) + _checkAppendMsg(tls, bp, __ccgo_ts+4933, 0) } } } @@ -58432,14 +58699,15 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin if !(int32(i) < nRoot && (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr != 0) { break } - if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == uint32(0) { - goto _2 - } - if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { - _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnRow = 0 + if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) != 0 { + if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { + _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + } + (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fv0 = *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) + _checkTreePage(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+232, libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)< nRec || iHdr >= *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84303)) + iHdr = uint32(uint8(v1)) + if *(*Tu32)(unsafe.Pointer(bp + 4)) > uint32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84745)) } - iField = *(*int32)(unsafe.Pointer(bp + 4)) + iField = int64(*(*Tu32)(unsafe.Pointer(bp + 4))) i = 0 for { if !(i <= iCol) { @@ -61618,19 +61918,19 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC } else { v3 = int32(_sqlite3GetVarint32(tls, a+uintptr(iHdr), bp)) } - iHdr += int32(uint8(v3)) - if iHdr > *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84309)) + iHdr += uint32(uint8(v3)) + if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84751)) } - szField = int32(_sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))) - iField += szField + szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp))) + iField += int64(szField) goto _2 _2: ; i++ } - if iField > nRec { - return _sqlite3CorruptError(tls, int32(84315)) + if iField > int64(nRec) { + return _sqlite3CorruptError(tls, int32(84757)) } if pMem == uintptr(0) { v4 = _sqlite3ValueNew(tls, db) @@ -61640,7 +61940,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return int32(SQLITE_NOMEM) } } - _sqlite3VdbeSerialGet(tls, a+uintptr(iField-szField), *(*Tu32)(unsafe.Pointer(bp)), pMem) + _sqlite3VdbeSerialGet(tls, a+uintptr(iField-int64(szField)), *(*Tu32)(unsafe.Pointer(bp)), pMem) (*TMem)(unsafe.Pointer(pMem)).Fenc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc return SQLITE_OK } @@ -62455,6 +62755,11 @@ func _resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { _ = libc.Int32FromInt32(0) /* True because of tag-20230419-1 */ (*TOp)(unsafe.Pointer(pOp)).Fp2 = *(*int32)(unsafe.Pointer(aLabel + uintptr(^(*TOp)(unsafe.Pointer(pOp)).Fp2)*4)) } + /* OPFLG_JUMP opcodes never have P2==0, though OPFLG_JUMP0 opcodes + ** might */ + _ = libc.Int32FromInt32(0) + /* Jumps never go off the end of the bytecode array */ + _ = libc.Int32FromInt32(0) break } /* The mkopcodeh.tcl script has so arranged things that the only @@ -63006,7 +63311,7 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { case -int32(8): pKeyInfo = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5081, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5145, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) j = 0 for { if !(j < int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)) { @@ -63016,68 +63321,68 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { if pColl != 0 { v2 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } zColl = v2 - if libc.Xstrcmp(tls, zColl, __ccgo_ts+5086) == 0 { - zColl = __ccgo_ts + 5093 + if libc.Xstrcmp(tls, zColl, __ccgo_ts+5150) == 0 { + zColl = __ccgo_ts + 5157 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_DESC) != 0 { - v3 = __ccgo_ts + 5074 + v3 = __ccgo_ts + 5138 } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_BIGNULL) != 0 { - v4 = __ccgo_ts + 5095 + v4 = __ccgo_ts + 5159 } else { - v4 = __ccgo_ts + 1648 + v4 = __ccgo_ts + 1662 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5098, libc.VaList(bp+40, v3, v4, zColl)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5162, libc.VaList(bp+40, v3, v4, zColl)) goto _1 _1: ; j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5170, int32(1)) case -int32(2): pColl1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5122, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5186, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) case -int32(7): pDef = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5131, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5195, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) case -int32(15): pDef1 = (*Tsqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpFunc - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5131, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5195, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) case -int32(13): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1404, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1423, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(3): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5138, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5202, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) case -int32(12): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1371, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1390, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(10): pMem = *(*uintptr)(unsafe.Pointer(pOp + 16)) if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Str) != 0 { zP4 = (*TMem)(unsafe.Pointer(pMem)).Fz } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1404, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1423, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1371, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1390, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Null) != 0 { - zP4 = __ccgo_ts + 1649 + zP4 = __ccgo_ts + 1663 } else { _ = libc.Int32FromInt32(0) - zP4 = __ccgo_ts + 5141 + zP4 = __ccgo_ts + 5205 } } } } case -int32(11): pVtab = (*TVTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpVtab - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5148, libc.VaList(bp+40, pVtab)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5212, libc.VaList(bp+40, pVtab)) case -int32(14): ai = *(*uintptr)(unsafe.Pointer(pOp + 16)) n = *(*Tu32)(unsafe.Pointer(ai)) /* The first element of an INTARRAY is always the @@ -63092,15 +63397,15 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } else { v6 = int32(',') } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5156, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5220, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) goto _5 _5: ; i++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5161, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5225, int32(1)) case -int32(4): - zP4 = __ccgo_ts + 5163 + zP4 = __ccgo_ts + 5227 case -int32(5): zP4 = (*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FzName default: @@ -63116,10 +63421,10 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } var _encnames = [4]uintptr{ - 0: __ccgo_ts + 5108, - 1: __ccgo_ts + 5110, - 2: __ccgo_ts + 5112, - 3: __ccgo_ts + 5117, + 0: __ccgo_ts + 5172, + 1: __ccgo_ts + 5174, + 2: __ccgo_ts + 5176, + 3: __ccgo_ts + 5181, } // C documentation @@ -64111,7 +64416,7 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { retryCount = 0 /* Select a super-journal file name */ nMainFile = _sqlite3Strlen30(tls, zMainFile) - zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5171, libc.VaList(bp+24, 0, zMainFile, 0)) + zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5235, libc.VaList(bp+24, 0, zMainFile, 0)) if zSuper == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -64119,18 +64424,18 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { for cond := true; cond; cond = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8)) != 0 { if retryCount != 0 { if retryCount > int32(100) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5183, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5247, libc.VaList(bp+24, zSuper)) _sqlite3OsDelete(tls, pVfs, zSuper, 0) break } else { if retryCount == int32(1) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5197, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5261, libc.VaList(bp+24, zSuper)) } } } retryCount++ Xsqlite3_randomness(tls, int32(4), bp+12) - Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5212, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) + Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5276, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) /* The antipenultimate character of the super-journal name must ** be "9" to avoid name collisions when using 8+3 filenames. */ _ = libc.Int32FromInt32(0) @@ -64367,7 +64672,7 @@ func _sqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) (r int32) { if deferred != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > 0 || !(deferred != 0) && (*TVdbe)(unsafe.Pointer(p)).FnFkConstraint > 0 { (*TVdbe)(unsafe.Pointer(p)).Frc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(3)< y { return +libc.Int32FromInt32(1) } - s = float64(i) - if s < r { + if float64(i) < r { v2 = -int32(1) } else { - v2 = libc.BoolInt32(s > r) + v2 = libc.BoolInt32(float64(i) > r) } return v2 } @@ -65713,7 +66017,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89131))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89580))) return 0 /* Corruption */ } /* Only needed by assert() statements */ @@ -65808,7 +66112,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr pKeyInfo = v4 } if v5 || int32((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89212))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89661))) return 0 /* Corruption */ } else { if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { @@ -65844,7 +66148,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } else { nStr = int32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2)) if d1+uint32(nStr) > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89242))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89691))) return 0 /* Corruption */ } else { if int32((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 { @@ -65900,7 +66204,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } idx1 += uint32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68))))) if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89293))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89742))) return 0 /* Corrupt index */ } } @@ -66041,7 +66345,7 @@ vrcs_restart: szHdr = int32(*(*Tu8)(unsafe.Pointer(aKey1))) nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2) if szHdr+nStr > nKey1 { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89456))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89905))) return 0 /* Corruption */ } if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr { @@ -66198,7 +66502,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr idx_rowid_corruption: ; _sqlite3VdbeMemReleaseMalloc(tls, bp+8) - return _sqlite3CorruptError(tls, int32(89614)) + return _sqlite3CorruptError(tls, int32(90063)) } // C documentation @@ -66231,7 +66535,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked ** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */ if nCellKey <= 0 || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return _sqlite3CorruptError(tls, int32(89647)) + return _sqlite3CorruptError(tls, int32(90096)) } _sqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, uint32(nCellKey), bp) @@ -66387,15 +66691,15 @@ func _sqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) (r int32) { pOp = (*TVdbe)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe)).FaOp + uintptr((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FiOp)*24 if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fopcode) == int32(OP_PureFunc) { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_IsCheck) != 0 { - zContext = __ccgo_ts + 5255 + zContext = __ccgo_ts + 5319 } else { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_GenCol) != 0 { - zContext = __ccgo_ts + 5274 + zContext = __ccgo_ts + 5338 } else { - zContext = __ccgo_ts + 5293 + zContext = __ccgo_ts + 5357 } } - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5302, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5366, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) return 0 @@ -66574,7 +66878,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) (r int32) { // */ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { if (*TVdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5338, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5402, 0) return int32(1) } else { return 0 @@ -66584,7 +66888,7 @@ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { func _vdbeSafetyNotNull(tls *libc.TLS, p uintptr) (r int32) { if p == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5383, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5447, 0) return int32(1) } else { return _vdbeSafety(tls, p) @@ -66646,7 +66950,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt db = (*TVdbe)(unsafe.Pointer(v)).Fdb if _vdbeSafety(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90035)) + return _sqlite3MisuseError(tls, int32(90484)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 { @@ -67177,7 +67481,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { _ = libc.Int32FromInt32(0) (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FisError = int32(SQLITE_TOOBIG) - _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5423, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) + _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5487, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) } // C documentation @@ -67388,7 +67692,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt /* the prepared statement */ cnt = 0 /* The database connection */ if _vdbeSafetyNotNull(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90829)) + return _sqlite3MisuseError(tls, int32(91278)) } db = (*TVdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) @@ -67522,7 +67826,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32 _, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1 *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) if pVal == uintptr(0) { - return _sqlite3MisuseError(tls, int32(90950)) + return _sqlite3MisuseError(tls, int32(91399)) } if int32((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) { return int32(SQLITE_ERROR) @@ -67995,18 +68299,18 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) (r int32) { // ** Column names appropriate for EXPLAIN or EXPLAIN QUERY PLAN. // */ var _azExplainColNames8 = [12]uintptr{ - 0: __ccgo_ts + 5446, - 1: __ccgo_ts + 5451, - 2: __ccgo_ts + 5458, - 3: __ccgo_ts + 5461, - 4: __ccgo_ts + 5464, - 5: __ccgo_ts + 5467, - 6: __ccgo_ts + 5470, - 7: __ccgo_ts + 5473, - 8: __ccgo_ts + 5481, - 9: __ccgo_ts + 5484, - 10: __ccgo_ts + 5491, - 11: __ccgo_ts + 5499, + 0: __ccgo_ts + 5510, + 1: __ccgo_ts + 5515, + 2: __ccgo_ts + 5522, + 3: __ccgo_ts + 5525, + 4: __ccgo_ts + 5528, + 5: __ccgo_ts + 5531, + 6: __ccgo_ts + 5534, + 7: __ccgo_ts + 5537, + 8: __ccgo_ts + 5545, + 9: __ccgo_ts + 5548, + 10: __ccgo_ts + 5555, + 11: __ccgo_ts + 5563, } var _azExplainColNames16data = [60]Tu16{ 0: uint16('a'), @@ -68252,14 +68556,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) { var v2 bool _, _, _ = pVar, v1, v2 if _vdbeSafetyNotNull(tls, p) != 0 { - return _sqlite3MisuseError(tls, int32(91554)) + return _sqlite3MisuseError(tls, int32(92003)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if int32((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) { - _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(91558))) + _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(92007))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5506, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) - return _sqlite3MisuseError(tls, int32(91562)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5570, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) + return _sqlite3MisuseError(tls, int32(92011)) } if i >= uint32((*TVdbe)(unsafe.Pointer(p)).FnVar) { _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE)) @@ -68833,7 +69137,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp /* Test that this call is being made from within an SQLITE_DELETE or ** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */ if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) { - rc = _sqlite3MisuseError(tls, int32(92098)) + rc = _sqlite3MisuseError(tls, int32(92547)) goto preupdate_old_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 { @@ -68964,7 +69268,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp rc = SQLITE_OK p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) { - rc = _sqlite3MisuseError(tls, int32(92221)) + rc = _sqlite3MisuseError(tls, int32(92670)) goto preupdate_new_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) { @@ -69141,7 +69445,7 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr break } } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5546, int32(3)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5610, int32(3)) _ = libc.Int32FromInt32(0) Xsqlite3_str_append(tls, bp+8, zStart, int32(int64(zRawSql)-int64(zStart))) } @@ -69180,13 +69484,13 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr _ = libc.Int32FromInt32(0) pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(*(*int32)(unsafe.Pointer(bp))-int32(1))*56 if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1649, int32(4)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1663, int32(4)) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1404, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1423, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5067, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5131, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Str) != 0 { /* Number of bytes of the string text to include in output */ enc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc @@ -69201,29 +69505,29 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr pVar = bp + 40 } nOut = (*TMem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5550, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5614, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != int32(SQLITE_UTF8) { _sqlite3VdbeMemRelease(tls, bp+40) } } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5557, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5621, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) } else { /* Number of bytes of the blob to include in output */ _ = libc.Int32FromInt32(0) - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5570, int32(2)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5634, int32(2)) nOut1 = (*TMem)(unsafe.Pointer(pVar)).Fn i = 0 for { if !(i < nOut1) { break } - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5573, libc.VaList(bp+104, int32(*(*uint8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5637, libc.VaList(bp+104, int32(*(*uint8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) goto _3 _3: ; i++ } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5578, int32(1)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5642, int32(1)) } } } @@ -69838,7 +70142,7 @@ var _azTypes = [5]uintptr{ 1: __ccgo_ts + 1144, 2: __ccgo_ts + 1149, 3: __ccgo_ts + 1127, - 4: __ccgo_ts + 1649, + 4: __ccgo_ts + 1663, } // C documentation @@ -69852,7 +70156,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { defer tls.Free(976) var aCol, aMem, aOffset, aOp, aPermute, aRoot, apArg, apArg1, db, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pnErr, t1, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v240, v241, v242, v250, v251, v252, v253, v255, v263, v278, v279, v286, v288, v297, v298, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 uintptr var affinity uint8 - var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 + var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, savedAnalysisLimit, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 var colCacheCtr, iAddr, iMap, iPrior, idx, len11, n3, p22, p23, serialType, serial_type, v213, v214, v216, v221, v222 Tu32 var encoding, isWriteLock, mTrace, op, p5, resetSchemaOnFault, vtabOnConflict, v225 Tu8 var flags1, flags11, flags2, flags3, flags31, newType, nullFlag, type1, type2, typeMask, v190 Tu16 @@ -69909,7 +70213,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { var _ /* z at bp+688 */ uintptr var _ /* zErr at bp+632 */ uintptr var _ /* zErr at bp+792 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, savedAnalysisLimit, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 aOp = (*TVdbe)(unsafe.Pointer(p)).FaOp /* Copy of p->aOp */ pOp = aOp /* Current operation */ rc = SQLITE_OK /* Value to return */ @@ -70185,7 +70489,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto _109 case int32(OP_SeekEnd): goto _110 - case int32(OP_IfSmaller): + case int32(OP_IfSizeBetween): goto _111 case int32(OP_Sort): goto _112 @@ -70482,7 +70786,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: EndCoroutine */ _5: - ; /* jump */ + ; /* jump0 */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -70506,7 +70810,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** ** The instruction at the address in register P1 is a Yield. ** Jump to the P2 parameter of that Yield. - ** After the jump, register P1 becomes undefined. + ** After the jump, the value register P1 is left with a value + ** such that subsequent OP_Yields go back to the this same + ** OP_EndCoroutine instruction. ** ** See also: InitCoroutine */ @@ -70518,8 +70824,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pCaller = aOp + uintptr(*(*Ti64)(unsafe.Pointer(pIn1)))*24 _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) + *(*Ti64)(unsafe.Pointer(pIn1)) = int64(int32((int64(pOp)-int64((*TVdbe)(unsafe.Pointer(p)).FaOp))/24) - int32(1)) pOp = aOp + uintptr((*TVdbeOp)(unsafe.Pointer(pCaller)).Fp2-int32(1))*24 - (*TMem)(unsafe.Pointer(pIn1)).Fflags = uint16(MEM_Undefined) goto _187 /* Opcode: Yield P1 P2 * * * ** @@ -70618,15 +70924,15 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) if (*TVdbe)(unsafe.Pointer(p)).Frc != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+5614, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) + _sqlite3VdbeError(tls, p, __ccgo_ts+5678, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) if *(*uintptr)(unsafe.Pointer(pOp + 16)) != 0 { - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5635, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5699, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } } else { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } pcx = int32((int64(pOp) - int64(aOp)) / 24) - Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5642, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5706, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) } rc = _sqlite3VdbeHalt(tls, p) _ = libc.Int32FromInt32(0) @@ -70831,18 +71137,14 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } (*TMem)(unsafe.Pointer(pOut)).Fenc = encoding goto _187 - /* Opcode: Variable P1 P2 * P4 * - ** Synopsis: r[P2]=parameter(P1,P4) + /* Opcode: Variable P1 P2 * * * + ** Synopsis: r[P2]=parameter(P1) ** ** Transfer the values of bound parameter P1 into register P2 - ** - ** If the parameter is named, then its name appears in P4. - ** The P4 value is used by sqlite3_bind_parameter_name(). */ _19: ; /* Value being transferred */ _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1-int32(1))*56 if _sqlite3VdbeMemTooBig(tls, pVar) != 0 { goto too_big @@ -71379,7 +71681,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** raise an SQLITE_MISMATCH exception. */ _38: - ; /* jump, in1 */ + ; /* jump0, in1 */ pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 if int32((*TMem)(unsafe.Pointer(pIn1)).Fflags)&int32(MEM_Int) == 0 { _applyAffinity(tls, pIn1, uint8(SQLITE_AFF_NUMERIC), encoding) @@ -72444,7 +72746,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24 goto _187 } else { - rc = _sqlite3CorruptError(tls, int32(95863)) + rc = _sqlite3CorruptError(tls, int32(96311)) goto abort_due_to_error } /* Opcode: TypeCheck P1 P2 P3 P4 * @@ -72553,7 +72855,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_type_error vdbe_type_error: ; - _sqlite3VdbeError(tls, p, __ccgo_ts+5666, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) + _sqlite3VdbeError(tls, p, __ccgo_ts+5730, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(12)< 0 && p12 == int32(SAVEPOINT_RELEASE) { /* It is not possible to release (commit) a savepoint if there are ** active write statements. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5780, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5844, 0) rc = int32(SQLITE_BUSY) } else { /* Determine whether or not this is a transaction savepoint. If so, @@ -73186,7 +73488,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If this instruction implements a COMMIT and other VMs are writing ** return an error indicating that the other VMs must complete first. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5834, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5898, 0) rc = int32(SQLITE_BUSY) goto abort_due_to_error } else { @@ -73216,12 +73518,12 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_return } else { if !(desiredAutoCommit != 0) { - v250 = __ccgo_ts + 5889 + v250 = __ccgo_ts + 5953 } else { if iRollback != 0 { - v251 = __ccgo_ts + 5937 + v251 = __ccgo_ts + 6001 } else { - v251 = __ccgo_ts + 5980 + v251 = __ccgo_ts + 6044 } v250 = v251 } @@ -73323,7 +73625,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** SQL statement was prepared. */ _sqlite3DbFree(tls, db, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg) - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6021) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6085) /* If the schema-cookie from the database file matches the cookie ** stored with the in-memory representation of the schema, do ** not reload the schema from the database file. @@ -73681,7 +73983,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fn = 0 - (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1648 + (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1662 } pCx1 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) if pCx1 != 0 && !(int32(TBool(*(*uint8)(unsafe.Pointer(pCx1 + 8))&0x8>>3)) != 0) && (*TOp)(unsafe.Pointer(pOp)).Fp2 <= int32((*TVdbeCursor)(unsafe.Pointer(pCx1)).FnField) { @@ -73797,7 +74099,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** is the only cursor opcode that works with a pseudo-table. ** ** P3 is the number of fields in the records that will be stored by - ** the pseudo-table. + ** the pseudo-table. If P2 is 0 or negative then the pseudo-cursor + ** will return NULL for every column. */ _83: ; @@ -73919,11 +74222,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: Found, NotFound, SeekGt, SeekGe, SeekLt */ _88: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _87: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _86: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _85: ; /* Only interested in == results */ _ = libc.Int32FromInt32(0) @@ -74549,7 +74852,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp + 248)) != 0 { _ = libc.Int32FromInt32(0) if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 { - rc = _sqlite3CorruptError(tls, int32(98111)) + rc = _sqlite3CorruptError(tls, int32(98565)) } else { goto jump_to_p2 } @@ -75224,14 +75527,20 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } goto _187 - /* Opcode: IfSmaller P1 P2 P3 * * + /* Opcode: IfSizeBetween P1 P2 P3 P4 * + ** + ** Let N be the approximate number of rows in the table or index + ** with cursor P1 and let X be 10*log2(N) if N is positive or -1 + ** if N is zero. ** - ** Estimate the number of rows in the table P1. Jump to P2 if that - ** estimate is less than approximately 2**(0.1*P3). + ** Jump to P2 if X is in between P3 and P4, inclusive. */ _111: ; _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) pC20 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) _ = libc.Int32FromInt32(0) pCrsr5 = *(*uintptr)(unsafe.Pointer(pC20 + 48)) @@ -75240,12 +75549,14 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { goto abort_due_to_error } - if *(*int32)(unsafe.Pointer(bp + 396)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { + sz = int64(-int32(1)) /* -Infinity encoding */ + } else { sz = _sqlite3BtreeRowCountEst(tls, pCrsr5) - if sz >= 0 && int32(_sqlite3LogEst(tls, uint64(sz))) < (*TOp)(unsafe.Pointer(pOp)).Fp3 { - *(*int32)(unsafe.Pointer(bp + 396)) = int32(1) - } + _ = libc.Int32FromInt32(0) + sz = int64(_sqlite3LogEst(tls, uint64(sz))) } + *(*int32)(unsafe.Pointer(bp + 396)) = libc.BoolInt32(sz >= int64((*TOp)(unsafe.Pointer(pOp)).Fp3) && sz <= int64((*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { goto jump_to_p2 } @@ -75552,7 +75863,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } else { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) { - rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) { - rc = _sqlite3CorruptError(tls, int32(99398)) + rc = _sqlite3CorruptError(tls, int32(99862)) goto abort_due_to_error } _sqlite3VdbeMemInit(tls, bp+552, db, uint16(0)) @@ -75898,11 +76209,18 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } *(*Ti64)(unsafe.Pointer(pOut)) = int64(*(*TPgno)(unsafe.Pointer(bp + 624))) goto _187 - /* Opcode: SqlExec * * * P4 * + /* Opcode: SqlExec P1 P2 * P4 * ** ** Run the SQL statement or statements specified in the P4 string. - ** Disable Auth and Trace callbacks while those statements are running if - ** P1 is true. + ** + ** The P1 parameter is a bitmask of options: + ** + ** 0x0001 Disable Auth and Trace callbacks while the statements + ** in P4 are running. + ** + ** 0x0002 Set db->nAnalysisLimit to P2 while the statements in + ** P4 are running. + ** */ _132: ; @@ -75910,16 +76228,21 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*uintptr)(unsafe.Pointer(bp + 632)) = uintptr(0) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth mTrace = (*Tsqlite3)(unsafe.Pointer(db)).FmTrace - if (*TOp)(unsafe.Pointer(pOp)).Fp1 != 0 { + savedAnalysisLimit = (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0001) != 0 { (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(0) } + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0002) != 0 { + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (*TOp)(unsafe.Pointer(pOp)).Fp2 + } rc = Xsqlite3_exec(tls, db, *(*uintptr)(unsafe.Pointer(pOp + 16)), uintptr(0), uintptr(0), bp+632) (*Tsqlite3)(unsafe.Pointer(db)).FnSqlExec-- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = mTrace + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = savedAnalysisLimit if *(*uintptr)(unsafe.Pointer(bp + 632)) != 0 || rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 632))) if rc == int32(SQLITE_NOMEM) { goto no_mem @@ -75952,13 +76275,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_SchemaChange) libc.SetBitFieldPtr16Uint32(p+200, libc.Uint32FromInt32(0), 0, 0x3) } else { - zSchema = __ccgo_ts + 6066 + zSchema = __ccgo_ts + 6130 (*(*TInitData)(unsafe.Pointer(bp + 640))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 640))).FiDb = iDb3 (*(*TInitData)(unsafe.Pointer(bp + 640))).FpzErrMsg = p + 168 (*(*TInitData)(unsafe.Pointer(bp + 640))).FmInitFlags = uint32(0) (*(*TInitData)(unsafe.Pointer(bp + 640))).FmxPage = _sqlite3BtreeLastPage(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6080, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6144, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -75975,7 +76298,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* The OP_ParseSchema opcode with a non-NULL P4 argument should parse ** at least one SQL statement. Any less than that indicates that ** the sqlite_schema table is corrupt. */ - rc = _sqlite3CorruptError(tls, int32(99678)) + rc = _sqlite3CorruptError(tls, int32(100155)) } _sqlite3DbFreeNN(tls, db, zSql) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) @@ -76042,11 +76365,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* Opcode: IntegrityCk P1 P2 P3 P4 P5 ** ** Do an analysis of the currently open database. Store in - ** register P1 the text of an error message describing any problems. - ** If no problems are found, store a NULL in register P1. + ** register (P1+1) the text of an error message describing any problems. + ** If no problems are found, store a NULL in register (P1+1). ** - ** The register P3 contains one less than the maximum number of allowed errors. - ** At most reg(P3) errors will be reported. + ** The register (P1) contains one less than the maximum number of allowed + ** errors. At most reg(P1) errors will be reported. ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. ** @@ -76061,18 +76384,20 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _138: ; /* Register keeping track of errors remaining */ _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) nRoot = (*TOp)(unsafe.Pointer(pOp)).Fp2 aRoot = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 _ = libc.Int32FromInt32(0) + pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 _ = libc.Int32FromInt32(0) - pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 _ = libc.Int32FromInt32(0) + pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1+int32(1))*56 _ = libc.Int32FromInt32(0) - rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) + _ = libc.Int32FromInt32(0) + rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, aMem+uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) _sqlite3VdbeMemSetNull(tls, pIn1) if *(*int32)(unsafe.Pointer(bp + 680)) == 0 { _ = libc.Int32FromInt32(0) @@ -76186,7 +76511,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** P1 contains the address of the memory cell that contains the first memory ** cell in an array of values used as arguments to the sub-program. P2 ** contains the address to jump to if the sub-program throws an IGNORE - ** exception using the RAISE() function. Register P3 contains the address + ** exception using the RAISE() function. P2 might be zero, if there is + ** no possibility that an IGNORE exception will be raised. + ** Register P3 contains the address ** of a memory cell in this (the parent) VM that is used to allocate the ** memory required by the sub-vdbe at runtime. ** @@ -76228,7 +76555,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } if (*TVdbe)(unsafe.Pointer(p)).FnFrame >= *(*int32)(unsafe.Pointer(db + 136 + 10*4)) { rc = int32(SQLITE_ERROR) - _sqlite3VdbeError(tls, p, __ccgo_ts+6123, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6187, 0) goto abort_due_to_error } /* Register pRt is used to store the memory required to save the state @@ -76612,7 +76939,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } /* IMP: R-24505-23230 */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError } if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FskipFlag != 0 { @@ -76674,7 +77001,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3VdbeMemFinalize(tls, pMem3, *(*uintptr)(unsafe.Pointer(pOp + 16))) } if rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) goto abort_due_to_error } _sqlite3VdbeChangeEncoding(tls, pMem3, int32(encoding)) @@ -76759,11 +77086,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeRead > int32(1) { rc = int32(SQLITE_ERROR) if eNew == int32(PAGER_JOURNALMODE_WAL) { - v286 = __ccgo_ts + 6160 + v286 = __ccgo_ts + 6224 } else { - v286 = __ccgo_ts + 6165 + v286 = __ccgo_ts + 6229 } - _sqlite3VdbeError(tls, p, __ccgo_ts+6172, libc.VaList(bp+944, v286)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6236, libc.VaList(bp+944, v286)) goto abort_due_to_error } else { if eOld == int32(PAGER_JOURNALMODE_WAL) { @@ -76931,7 +77258,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { if rc&int32(0xFF) == int32(SQLITE_LOCKED) { z1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - _sqlite3VdbeError(tls, p, __ccgo_ts+6224, libc.VaList(bp+944, z1)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6288, libc.VaList(bp+944, z1)) } goto abort_due_to_error } @@ -77109,7 +77436,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TValueList)(unsafe.Pointer(pRhs)).FpOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 pOut = _out2Prerelease(tls, p, pOp) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null) - _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6253, __ccgo_fp(_sqlite3VdbeValueListFree)) + _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6317, __ccgo_fp(_sqlite3VdbeValueListFree)) goto _187 /* Opcode: VFilter P1 P2 P3 P4 * ** Synopsis: iplan=r[P3] zplan='P4' @@ -77214,7 +77541,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_module)(unsafe.Pointer(pModule4)).FxColumn})))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 48)), bp+800, (*TOp)(unsafe.Pointer(pOp)).Fp2) _sqlite3VtabImportErrmsg(tls, p, pVtab4) if (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) rc = (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError } _sqlite3VdbeChangeEncoding(tls, pDest2, int32(encoding)) @@ -77483,7 +77810,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If the function returned an error, throw an exception */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3795, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3859, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError } _sqlite3VdbeDeleteAuxData(tls, db, p+296, (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FiOp, (*TOp)(unsafe.Pointer(pOp)).Fp1) @@ -77645,7 +77972,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { Xsqlite3_free(tls, z2) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeExec > int32(1) { - z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6263, libc.VaList(bp+944, zTrace)) + z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6327, libc.VaList(bp+944, zTrace)) (*(*func(*libc.TLS, Tu32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(&(*Tsqlite3)(unsafe.Pointer(db)).Ftrace))})))(tls, uint32(SQLITE_TRACE_STMT), (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) _sqlite3DbFree(tls, db, z3) } else { @@ -77719,16 +78046,16 @@ abort_due_to_error: rc = int32(SQLITE_NOMEM) } else { if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)<op on success */ - pTab = uintptr(0) /* A column of pTab */ - *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ - _ = libc.Int32FromInt32(0) /* the name context cannot be NULL. */ - _ = libc.Int32FromInt32(0) /* The Z in X.Y.Z cannot be NULL */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, cntTab, db, eNewExprOp, hCol, hCol1, hit, i, iCol, j, nSubquery, op, pCol, pEList, pItem, pMatch, pOrig, pSchema, pSrcList, pTab, pTopNC, pUpsert, zAs, zCol, zErr, v10, v5, v7, v8 /* Loop counters */ + cnt = 0 /* Number of matching column names */ + cntTab = 0 /* Number of potential "rowid" matches */ + nSubquery = 0 /* How many levels of subquery */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Use for looping over pSrcList items */ + pMatch = uintptr(0) /* The matching pSrcList item */ + pTopNC = pNC /* First namecontext in the list */ + pSchema = uintptr(0) /* Schema of the expression */ + eNewExprOp = int32(TK_COLUMN) /* New value for pExpr->op on success */ + pTab = uintptr(0) /* A column of pTab */ + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + zCol = *(*uintptr)(unsafe.Pointer(pRight + 8)) + _ = libc.Int32FromInt32(0) /* the name context cannot be NULL. */ + _ = libc.Int32FromInt32(0) /* The Z in X.Y.Z cannot be NULL */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) /* Initialize the node to no-match */ @@ -82731,7 +83059,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ; i++ } - if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6585, zDb) == 0 { + if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6649, zDb) == 0 { /* This branch is taken when the main database has been renamed ** using SQLITE_DBCONFIG_MAINDBNAME. */ pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema @@ -82833,7 +83161,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TTable)(unsafe.Pointer(pTab)).FpSchema != pSchema { goto _2 } - if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6590) != 0 { + if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6654) != 0 { goto _2 } } @@ -82948,16 +83276,16 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol op = int32((*TParse)(unsafe.Pointer(pParse)).FeTriggerOp) _ = libc.Int32FromInt32(0) if (*TParse)(unsafe.Pointer(pParse)).FbReturning != 0 { - if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0) { + if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0 || _isValidSchemaTableName(tls, zTab, (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab, uintptr(0)) != 0) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = libc.BoolInt32(op != int32(TK_DELETE)) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } } else { - if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6592, zTab) == 0 { + if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6656, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(1) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } else { - if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6596, zTab) == 0 { + if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6660, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = 0 pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } @@ -82966,7 +83294,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UUpsert) != 0 && zTab != uintptr(0) { pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16)) - if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6600, zTab) == 0 { + if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6664, zTab) == 0 { pTab = (*(*TSrcItem)(unsafe.Pointer((*TUpsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8))).FpTab (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(EXCLUDED_TABLE_NUMBER) } @@ -83088,15 +83416,15 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol _ = libc.Int32FromInt32(0) pOrig = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(j)*32))).FpExpr if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 && (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6609, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6673, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Win)) != uint32(0) && ((*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 || pNC != pTopNC) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6640, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6704, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if _sqlite3ExprVectorSize(tls, pOrig) != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) return int32(WRC_Abort) } _resolveAlias(tls, pParse, pEList, j, pExpr, nSubquery) @@ -83150,7 +83478,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** a huge amount of legacy SQL that uses it. So for now, we just ** issue a warning. */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6695, libc.VaList(bp+24, zCol)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6759, libc.VaList(bp+24, zCol)) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_STRING) libc.Xmemset(tls, pExpr+64, 0, uint64(8)) return int32(WRC_Prune) @@ -83181,7 +83509,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } _extendFJMatch(tls, pParse, bp, pMatch, (*TExpr)(unsafe.Pointer(pExpr)).FiColumn) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_FUNCTION) - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6730 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6794 *(*uintptr)(unsafe.Pointer(pExpr + 32)) = *(*uintptr)(unsafe.Pointer(bp)) cnt = int32(1) goto lookupname_end @@ -83191,18 +83519,22 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } } if cnt == 0 { - v10 = __ccgo_ts + 6739 + v10 = __ccgo_ts + 6803 } else { - v10 = __ccgo_ts + 6754 + v10 = __ccgo_ts + 6818 } zErr = v10 if zDb != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6776, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6840, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) } else { if zTab != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6789, libc.VaList(bp+24, zErr, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6853, libc.VaList(bp+24, zErr, zTab, zCol)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6799, libc.VaList(bp+24, zErr, zCol)) + if cnt == 0 && (*TExpr)(unsafe.Pointer(pRight)).Fflags&uint32(libc.Int32FromInt32(EP_DblQuoted)) != uint32(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6863, libc.VaList(bp+24, zErr, zCol)) + } else { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6924, libc.VaList(bp+24, zErr, zCol)) + } } } _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -83233,8 +83565,12 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** If a generated column is referenced, set bits for every column ** of the table. */ - if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 && cnt == int32(1) && pMatch != uintptr(0) { - *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + if pMatch != 0 { + if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { + *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + } else { + libc.SetBitFieldPtr16Uint32(pMatch+60+4, libc.Uint32FromInt32(1), 14, 0x4000) + } } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(eNewExprOp) goto lookupname_end @@ -83330,19 +83666,19 @@ func _notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pEx defer tls.Free(32) var zIn uintptr _ = zIn - zIn = __ccgo_ts + 6806 + zIn = __ccgo_ts + 6931 if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IdxExpr) != 0 { - zIn = __ccgo_ts + 6834 + zIn = __ccgo_ts + 6959 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IsCheck) != 0 { - zIn = __ccgo_ts + 6852 + zIn = __ccgo_ts + 6977 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_GenCol) != 0 { - zIn = __ccgo_ts + 6870 + zIn = __ccgo_ts + 6995 } } } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6888, libc.VaList(bp+8, zMsg, zIn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7013, libc.VaList(bp+8, zMsg, zIn)) if pExpr != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } @@ -83392,8 +83728,8 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { var anRef [8]int32 var auth, i, is_agg, n, nLeft, nRef, nRight, no_such_func, rc, savedAllowFlags, wrong_num_args, v12, v4, v6, v7 int32 var enc Tu8 - var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zColumn, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zColumn, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 + var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 pNC = *(*uintptr)(unsafe.Pointer(pWalker + 40)) _ = libc.Int32FromInt32(0) pParse = (*TNameContext)(unsafe.Pointer(pNC)).FpParse @@ -83518,12 +83854,12 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { zDb = uintptr(0) zTable = uintptr(0) _ = libc.Int32FromInt32(0) - zColumn = *(*uintptr)(unsafe.Pointer(pExpr + 8)) + pRight = pExpr } else { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+6908, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7033, uintptr(0), pExpr) } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_ID) { @@ -83537,14 +83873,13 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { } _ = libc.Int32FromInt32(0) zTable = *(*uintptr)(unsafe.Pointer(pLeft + 8)) - zColumn = *(*uintptr)(unsafe.Pointer(pRight + 8)) _ = libc.Int32FromInt32(0) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameTokenRemap(tls, pParse, pExpr, pRight) _sqlite3RenameTokenRemap(tls, pParse, pExpr+64, pLeft) } } - return _lookupName(tls, pParse, zDb, zTable, zColumn, pNC, pExpr) + return _lookupName(tls, pParse, zDb, zTable, pRight, pNC, pExpr) /* Resolve function names */ fallthrough @@ -83585,7 +83920,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if n == int32(2) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = _exprProbability(tls, (*(*TExprList_item)(unsafe.Pointer(pList + 8 + 1*32))).FpExpr) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6925, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7050, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -83609,7 +83944,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { auth = _sqlite3AuthCheck(tls, pParse, int32(SQLITE_FUNCTION), uintptr(0), (*TFuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0)) if auth != SQLITE_OK { if auth == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6989, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7114, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) @@ -83631,7 +83966,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { ** all this. */ _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7025, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7150, uintptr(0), pExpr) } } else { _ = libc.Int32FromInt32(0) /* Must fit in 8 bits */ @@ -83656,29 +83991,29 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if 0 == libc.BoolInt32(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME)) { _ = libc.Int32FromInt32(0) if pDef != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7053, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7178, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 || is_agg != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) || is_agg != 0 && pWin != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 { if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 { - zType = __ccgo_ts + 7096 + zType = __ccgo_ts + 7221 } else { - zType = __ccgo_ts + 7103 + zType = __ccgo_ts + 7228 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7113, libc.VaList(bp+8, zType, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7238, libc.VaList(bp+8, zType, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else { if no_such_func != 0 && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7141, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7266, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if wrong_num_args != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7163, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7288, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7207, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7332, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { @@ -83702,7 +84037,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { *(*int32)(unsafe.Pointer(pNC + 40)) &= ^(libc.Int32FromInt32(NC_AllowWin) | v7) } } else { - if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { is_agg = int32(1) } } @@ -83768,21 +84103,23 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { case int32(TK_IN): if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) { nRef = (*TNameContext)(unsafe.Pointer(pNC)).FnRef + _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_SelfRef) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7255, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7380, pExpr, pExpr) } else { _sqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32))) } _ = libc.Int32FromInt32(0) if nRef != (*TNameContext)(unsafe.Pointer(pNC)).FnRef { *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 4)) |= uint32(SF_Correlated) } *(*int32)(unsafe.Pointer(pNC + 40)) |= int32(NC_Subquery) } case int32(TK_VARIABLE): _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IsCheck)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7266, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7391, pExpr, pExpr) } case int32(TK_IS): fallthrough @@ -83832,7 +84169,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { nRight = _sqlite3ExprVectorSize(tls, (*TExpr)(unsafe.Pointer(pExpr)).FpRight) } if nLeft != nRight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } break @@ -83960,7 +84297,7 @@ func _resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintpt func _resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7277, libc.VaList(bp+8, i, zType, mx)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7402, libc.VaList(bp+8, i, zType, mx)) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pError) } @@ -83995,7 +84332,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7333, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7458, 0) return int32(1) } i = 0 @@ -84034,7 +84371,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } if _sqlite3ExprIsInteger(tls, pE, bp) != 0 { if *(*int32)(unsafe.Pointer(bp)) <= 0 || *(*int32)(unsafe.Pointer(bp)) > (*TExprList)(unsafe.Pointer(pEList)).FnExpr { - _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7367, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) + _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7492, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) return int32(1) } } else { @@ -84107,7 +84444,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r break } if int32(uint32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7373, libc.VaList(bp+16, i+int32(1))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7498, libc.VaList(bp+16, i+int32(1))) return int32(1) } goto _3 @@ -84141,7 +84478,7 @@ func _sqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7434, libc.VaList(bp+8, zType)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7559, libc.VaList(bp+8, zType)) return int32(1) } pEList = (*TSelect)(unsafe.Pointer(pSelect)).FpEList @@ -84393,6 +84730,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } pItem = (*TSelect)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*104 + _ = libc.Int32FromInt32(0) /* Test of tag-20240424-1*/ if (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselFlags&uint32(SF_Resolved) == uint32(0) { if pOuterNC != 0 { v3 = (*TNameContext)(unsafe.Pointer(pOuterNC)).FnRef @@ -84465,7 +84803,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { (*(*TNameContext)(unsafe.Pointer(bp))).FncFlags |= int32(NC_UEList) if (*TSelect)(unsafe.Pointer(p)).FpHaving != 0 { if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Aggregate) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7465, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7590, 0) return int32(WRC_Abort) } if _sqlite3ResolveExprNames(tls, bp, (*TSelect)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -84532,7 +84870,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** is not detected until much later, and so we need to go ahead and ** resolve those symbols on the incorrect ORDER BY for consistency. */ - if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7367) != 0 { + if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7492) != 0 { return int32(WRC_Abort) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -84543,7 +84881,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** the GROUP BY clause does not contain aggregate functions. */ if pGroupBy != 0 { - if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7504) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { + if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7629) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(WRC_Abort) } i = 0 @@ -84553,7 +84891,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } if (*TExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(pItem2)).FpExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7510, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7635, 0) return int32(WRC_Abort) } goto _6 @@ -85584,7 +85922,7 @@ func _codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32 return } if nLeft != _sqlite3ExprVectorSize(tls, pRight) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) return } _ = libc.Int32FromInt32(0) @@ -85669,7 +86007,7 @@ func _sqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) (r in rc = SQLITE_OK mxHeight = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4)) if nHeight > mxHeight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7569, libc.VaList(bp+8, mxHeight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7694, libc.VaList(bp+8, mxHeight)) rc = int32(SQLITE_ERROR) } return rc @@ -85835,11 +86173,12 @@ func _sqlite3ExprSetErrorOffset(tls *libc.TLS, pExpr uintptr, iOfst int32) { // ** appear to be quoted. If the quotes were of the form "..." (double-quotes) // ** then the EP_DblQuoted flag is set on the expression node. // ** -// ** Special case: If op==TK_INTEGER and pToken points to a string that -// ** can be translated into a 32-bit integer, then the token is not -// ** stored in u.zToken. Instead, the integer values is written -// ** into u.iValue and the EP_IntValue flag is set. No extra storage +// ** Special case (tag-20240227-a): If op==TK_INTEGER and pToken points to +// ** a string that can be translated into a 32-bit integer, then the token is +// ** not stored in u.zToken. Instead, the integer values is written +// ** into u.iValue and the EP_IntValue flag is set. No extra storage // ** is allocated to hold the integer text and the dequote flag is ignored. +// ** See also tag-20240227-b. // */ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) (r uintptr) { bp := tls.Alloc(16) @@ -85853,7 +86192,7 @@ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ _ = libc.Int32FromInt32(0) if pToken != 0 { if op != int32(TK_INTEGER) || (*TToken)(unsafe.Pointer(pToken)).Fz == uintptr(0) || _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pToken)).Fz, bp) == 0 { - nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) + nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) /* tag-20240227-a */ _ = libc.Int32FromInt32(0) } } @@ -86022,11 +86361,11 @@ func _sqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList } if nExprElem != nElem { if nExprElem > int32(1) { - v2 = __ccgo_ts + 7617 + v2 = __ccgo_ts + 7742 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7619, libc.VaList(bp+8, nExprElem, v2, nElem)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7744, libc.VaList(bp+8, nExprElem, v2, nElem)) break } _ = libc.Int32FromInt32(0) @@ -86076,7 +86415,7 @@ func _sqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt if f&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_InnerON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { _sqlite3ExprDeferredDelete(tls, pParse, pLeft) _sqlite3ExprDeferredDelete(tls, pParse, pRight) - return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1722) + return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1782) } else { return _sqlite3PExpr(tls, pParse, int32(TK_AND), pLeft, pRight) } @@ -86106,7 +86445,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pNew + 52)) = int32(int64((*TToken)(unsafe.Pointer(pToken)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) if pList != 0 && (*TExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7663, libc.VaList(bp+8, pToken)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7788, libc.VaList(bp+8, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32)) = pList *(*Tu32)(unsafe.Pointer(pNew + 4)) |= uint32(libc.Int32FromInt32(EP_HasFunc)) @@ -86127,7 +86466,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u func _sqlite3ExprOrderByAggregateError(tls *libc.TLS, pParse uintptr, p uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7697, libc.VaList(bp+8, p)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7822, libc.VaList(bp+8, p)) } // C documentation @@ -86206,7 +86545,7 @@ func _sqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD ** SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning ** that the schema is possibly tainted). */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7747, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7872, libc.VaList(bp+8, pExpr)) } } } @@ -86263,7 +86602,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n bOk = libc.BoolInt32(0 == _sqlite3Atoi64(tls, z+1, bp, int32(n-uint32(1)), uint8(SQLITE_UTF8))) } if bOk == 0 || *(*Ti64)(unsafe.Pointer(bp)) < int64(1) || *(*Ti64)(unsafe.Pointer(bp)) > int64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7767, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7892, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) return } @@ -86296,7 +86635,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*TExpr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7810, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7935, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } } @@ -86307,8 +86646,13 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n // ** Recursively delete an expression tree. // */ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { + var pLeft uintptr + _ = pLeft _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) + goto exprDeleteRestart +exprDeleteRestart: + ; _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -86316,9 +86660,6 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)|libc.Int32FromInt32(EP_Leaf)) != libc.Uint32FromInt32(0)) { /* The Expr.x union is never used at the same time as Expr.pRight */ _ = libc.Int32FromInt32(0) - if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { - _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpLeft) - } if (*TExpr)(unsafe.Pointer(p)).FpRight != 0 { _ = libc.Int32FromInt32(0) _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpRight) @@ -86333,6 +86674,17 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { } } } + if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { + pLeft = (*TExpr)(unsafe.Pointer(p)).FpLeft + if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) && !((*TExpr)(unsafe.Pointer(pLeft)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { + /* Avoid unnecessary recursion on unary operators */ + _sqlite3DbNNFreeNN(tls, db, p) + p = pLeft + goto exprDeleteRestart + } else { + _sqlite3ExprDeleteNN(tls, db, pLeft) + } + } } if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { _sqlite3DbNNFreeNN(tls, db, p) @@ -86379,11 +86731,11 @@ func _sqlite3ClearOnOrUsing(tls *libc.TLS, db uintptr, p uintptr) { // ** // ** The pExpr might be deleted immediately on an OOM error. // ** -// ** The deferred delete is (currently) implemented by adding the -// ** pExpr to the pParse->pConstExpr list with a register number of 0. +// ** Return 0 if the delete was successfully deferred. Return non-zero +// ** if the delete happened immediately because of an OOM. // */ -func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { - _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr) +func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + return libc.BoolInt32(uintptr(0) == _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr)) } // C documentation @@ -86902,16 +87254,20 @@ func _sqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) (r ui (*TSrcItem)(unsafe.Pointer(pNewItem)).FiCursor = (*TSrcItem)(unsafe.Pointer(pOldItem)).FiCursor (*TSrcItem)(unsafe.Pointer(pNewItem)).FaddrFillSub = (*TSrcItem)(unsafe.Pointer(pOldItem)).FaddrFillSub (*TSrcItem)(unsafe.Pointer(pNewItem)).FregReturn = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregReturn + (*TSrcItem)(unsafe.Pointer(pNewItem)).FregResult = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregResult if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x2>>1)) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3DbStrDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88))) + } else { + if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { + *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) + } else { + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pNewItem)).Fu1)) = *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pOldItem)).Fu1)) + } } (*TSrcItem)(unsafe.Pointer(pNewItem)).Fu2 = (*TSrcItem)(unsafe.Pointer(pOldItem)).Fu2 if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x100>>8)) != 0 { (*TCteUse)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNewItem + 96)))).FnUse++ } - if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { - *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) - } v4 = (*TSrcItem)(unsafe.Pointer(pOldItem)).FpTab (*TSrcItem)(unsafe.Pointer(pNewItem)).FpTab = v4 pTab = v4 @@ -87177,7 +87533,7 @@ func _sqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, n = v2 } if v3 && (*TIdList)(unsafe.Pointer(pColumns)).FnId != v2 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7833, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7958, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error } i = 0 @@ -87322,7 +87678,7 @@ func _sqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, _ = mx mx = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4)) if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr > mx { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7863, libc.VaList(bp+8, zObject)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7988, libc.VaList(bp+8, zObject)) } } @@ -87424,10 +87780,10 @@ func _sqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) (r // ** anything else 0 // */ func _sqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) (r Tu32) { - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7886) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8011) == 0 { return uint32(EP_IsTrue) } - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7891) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8016) == 0 { return uint32(EP_IsFalse) } return uint32(0) @@ -87514,6 +87870,52 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { return pExpr } +// C documentation +// +// /* +// ** pExpr is a TK_FUNCTION node. Try to determine whether or not the +// ** function is a constant function. A function is constant if all of +// ** the following are true: +// ** +// ** (1) It is a scalar function (not an aggregate or window function) +// ** (2) It has either the SQLITE_FUNC_CONSTANT or SQLITE_FUNC_SLOCHNG +// ** property. +// ** (3) All of its arguments are constants +// ** +// ** This routine sets pWalker->eCode to 0 if pExpr is not a constant. +// ** It makes no changes to pWalker->eCode if pExpr is constant. In +// ** every case, it returns WRC_Abort. +// ** +// ** Called as a service subroutine from exprNodeIsConstant(). +// */ +func _exprNodeIsConstantFunction(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef, pList, v1 uintptr + var n int32 + var v2 bool + _, _, _, _, _, _ = db, n, pDef, pList, v1, v2 /* The database */ + _ = libc.Int32FromInt32(0) + if v2 = (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)) != uint32(0); !v2 { + v1 = *(*uintptr)(unsafe.Pointer(pExpr + 32)) + pList = v1 + } + if v2 || v1 == uintptr(0) { + n = 0 + } else { + n = (*TExprList)(unsafe.Pointer(pList)).FnExpr + _sqlite3WalkExprList(tls, pWalker, pList) + if int32((*TWalker)(unsafe.Pointer(pWalker)).FeCode) == 0 { + return int32(WRC_Abort) + } + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)|libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG)) == uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) +} + // C documentation // // /* @@ -87543,6 +87945,7 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { // ** malformed schema error. // */ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + _ = libc.Int32FromInt32(0) /* If pWalker->eCode is 2 then any term of the expression that comes from ** the ON or USING clauses of an outer join disqualifies the expression ** from being considered constant. */ @@ -87561,8 +87964,12 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 } return WRC_Continue } else { - (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) - return int32(WRC_Abort) + if (*TWalker)(unsafe.Pointer(pWalker)).FpParse != 0 { + return _exprNodeIsConstantFunction(tls, pWalker, pExpr) + } else { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } } fallthrough case int32(TK_ID): @@ -87589,6 +87996,8 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 case int32(TK_REGISTER): fallthrough case int32(TK_DOT): + fallthrough + case int32(TK_RAISE): (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) return int32(WRC_Abort) case int32(TK_VARIABLE): @@ -87614,14 +88023,14 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 return r } -func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32) { +func _exprIsConst(tls *libc.TLS, pParse uintptr, p uintptr, initFlag int32) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* w at bp+0 */ TWalker (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(initFlag) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) - *(*int32)(unsafe.Pointer(bp + 40)) = iCur _sqlite3WalkExpr(tls, bp, p) return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } @@ -87635,9 +88044,15 @@ func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32 // ** For the purposes of this function, a double-quoted string (ex: "abc") // ** is considered a variable but a single-quoted string (ex: 'abc') is // ** a constant. +// ** +// ** The pParse parameter may be NULL. But if it is NULL, there is no way +// ** to determine if function calls are constant or not, and hence all +// ** function calls will be considered to be non-constant. If pParse is +// ** not NULL, then a function call might be constant, depending on the +// ** function and on its parameters. // */ -func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(1), 0) +func _sqlite3ExprIsConstant(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(1)) } // C documentation @@ -87655,8 +88070,26 @@ func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { // ** can be added to the pParse->pConstExpr list and evaluated once when // ** the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). // */ -func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(2), 0) +func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(2)) +} + +// C documentation +// +// /* +// ** This routine examines sub-SELECT statements as an expression is being +// ** walked as part of sqlite3ExprIsTableConstant(). Sub-SELECTs are considered +// ** constant as long as they are uncorrelated - meaning that they do not +// ** contain any terms from outer contexts. +// */ +func _exprSelectWalkTableConstant(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if (*TSelect)(unsafe.Pointer(pSelect)).FselFlags&uint32(SF_Correlated) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) } // C documentation @@ -87666,9 +88099,25 @@ func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { // ** for any single row of the table with cursor iCur. In other words, the // ** expression must not refer to any non-deterministic function nor any // ** table other than iCur. +// ** +// ** Consider uncorrelated subqueries to be constants if the bAllowSubq +// ** parameter is true. // */ -func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) { - return _exprIsConst(tls, p, int32(3), iCur) +func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32, bAllowSubq int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(3) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = uintptr(0) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) + if bAllowSubq != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_exprSelectWalkTableConstant) + } else { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) + } + *(*int32)(unsafe.Pointer(bp + 40)) = iCur + _sqlite3WalkExpr(tls, bp, p) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } // C documentation @@ -87688,7 +88137,10 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** // ** (1) pExpr cannot refer to any table other than pSrc->iCursor. // ** -// ** (2) pExpr cannot use subqueries or non-deterministic functions. +// ** (2a) pExpr cannot use subqueries unless the bAllowSubq parameter is +// ** true and the subquery is non-correlated +// ** +// ** (2b) pExpr cannot use non-deterministic functions. // ** // ** (3) pSrc cannot be part of the left operand for a RIGHT JOIN. // ** (Is there some way to relax this constraint?) @@ -87714,7 +88166,7 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** which leads to incorrect answers. See also restriction (9) // ** on push-down. // */ -func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32) (r int32) { +func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32, bAllowSubq int32) (r int32) { var jj int32 var pSrc uintptr _, _ = jj, pSrc @@ -87752,7 +88204,8 @@ func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList jj++ } } - return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor) /* rules (1), (2) */ + /* Rules (1), (2a), and (2b) handled by the following: */ + return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor, bAllowSubq) } // C documentation @@ -87851,7 +88304,7 @@ func _sqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // */ func _sqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit Tu8) (r int32) { _ = libc.Int32FromInt32(0) - return _exprIsConst(tls, p, int32(4)+int32(isInit), 0) + return _exprIsConst(tls, uintptr(0), p, int32(4)+int32(isInit)) } // C documentation @@ -87995,13 +88448,13 @@ func _sqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) (r i // ** Return TRUE if the given string is a row-id column name. // */ func _sqlite3IsRowid(tls *libc.TLS, z uintptr) (r int32) { - if _sqlite3StrICmp(tls, z, __ccgo_ts+7897) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8022) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7905) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8030) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7911) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8036) == 0 { return int32(1) } return 0 @@ -88019,9 +88472,9 @@ func _sqlite3RowidAlias(tls *libc.TLS, pTab uintptr) (r uintptr) { var iCol, ii int32 _, _, _ = azOpt, iCol, ii azOpt = [3]uintptr{ - 0: __ccgo_ts + 7897, - 1: __ccgo_ts + 7905, - 2: __ccgo_ts + 7911, + 0: __ccgo_ts + 8022, + 1: __ccgo_ts + 8030, + 2: __ccgo_ts + 8036, } _ = libc.Int32FromInt32(0) ii = 0 @@ -88145,14 +88598,14 @@ func _sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int // ** The argument is an IN operator with a list (not a subquery) on the // ** right-hand side. Return TRUE if that list is constant. // */ -func _sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) (r int32) { +func _sqlite3InRhsIsConstant(tls *libc.TLS, pParse uintptr, pIn uintptr) (r int32) { var pLHS uintptr var res int32 _, _ = pLHS, res _ = libc.Int32FromInt32(0) pLHS = (*TExpr)(unsafe.Pointer(pIn)).FpLeft (*TExpr)(unsafe.Pointer(pIn)).FpLeft = uintptr(0) - res = _sqlite3ExprIsConstant(tls, pIn) + res = _sqlite3ExprIsConstant(tls, pParse, pIn) (*TExpr)(unsafe.Pointer(pIn)).FpLeft = pLHS return res } @@ -88310,7 +88763,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 iAddr = _sqlite3VdbeAddOp0(tls, v, int32(OP_Once)) _sqlite3OpenTable(tls, pParse, iTab, iDb, pTab, int32(OP_OpenRead)) eType = int32(IN_INDEX_ROWID) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+7915, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+8040, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) _sqlite3VdbeJumpHere(tls, v, iAddr) } else { /* Iterator variable */ affinity_ok = int32(1) @@ -88413,7 +88866,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 if colUsed == libc.Uint64FromInt32(1)<0 so that the new limit is either 1 or 0 */ db = (*TParse)(unsafe.Pointer(pParse)).Fdb - pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1722) + pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1782) if pLimit != 0 { (*TExpr)(unsafe.Pointer(pLimit)).FaffExpr = uint8(SQLITE_AFF_NUMERIC) pLimit = _sqlite3PExpr(tls, pParse, int32(TK_NE), _sqlite3ExprDup(tls, db, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft, 0), pLimit) @@ -88924,7 +89377,7 @@ func _sqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int3 (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { /* If there is no pre-existing limit add a limit of 1 */ - pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8130) + pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8255) (*TSelect)(unsafe.Pointer(pSel)).FpLimit = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), pLimit, uintptr(0)) } (*TSelect)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -89320,13 +89773,13 @@ func _codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, i _ = libc.Int32FromInt32(0) c = _sqlite3DecOrHexToI64(tls, z, bp) if c == int32(3) && !(negFlag != 0) || c == int32(2) || negFlag != 0 && *(*Ti64)(unsafe.Pointer(bp)) == int64(-libc.Int32FromInt32(1))-(libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)<= (*TAggInfo)(unsafe.Pointer(pInfo)).FnFunc { _ = libc.Int32FromInt32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8223, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8348, libc.VaList(bp+160, pExpr)) } else { _ = libc.Int32FromInt32(0) return (*TAggInfo)(unsafe.Pointer(pInfo)).FiFirstReg + (*TAggInfo)(unsafe.Pointer(pInfo)).FnColumn + int32((*TExpr)(unsafe.Pointer(pExpr)).FiAgg) @@ -90127,7 +90574,7 @@ expr_code_doover: if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { return (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64)))).FregResult } - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { /* SQL functions can be expensive. So try to avoid running them ** multiple times if we know they always give the same result */ return _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) @@ -90145,7 +90592,7 @@ expr_code_doover: zId = *(*uintptr)(unsafe.Pointer(pExpr + 8)) pDef = _sqlite3FindFunction(tls, db, zId, nFarg, enc, uint8(0)) if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8250, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8375, libc.VaList(bp+160, pExpr)) break } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_INLINE) != uint32(0) && pFarg != uintptr(0) { @@ -90162,7 +90609,7 @@ expr_code_doover: if !(i < nFarg) { break } - if i < int32(32) && _sqlite3ExprIsConstant(tls, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { + if i < int32(32) && _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { constMask |= libc.Uint32FromInt32(1) << i } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_NEEDCOLL) != uint32(0) && !(pColl != 0) { @@ -90259,7 +90706,7 @@ expr_code_doover: _ = libc.Int32FromInt32(0) n1 = _sqlite3ExprVectorSize(tls, pLeft2) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != n1 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7833, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7958, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) } return (*TExpr)(unsafe.Pointer(pLeft2)).FiTable + int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) case int32(TK_IN): @@ -90291,8 +90738,9 @@ expr_code_doover: if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Collate)) != libc.Uint32FromInt32(0)) { /* A TK_COLLATE Expr node without the EP_Collate tag is a so-called ** "SOFT-COLLATE" that is added to constraints that are pushed down - ** from outer queries into sub-queries by the push-down optimization. - ** Clear subtypes as subtypes may not cross a subquery boundary. + ** from outer queries into sub-queries by the WHERE-clause push-down + ** optimization. Clear subtypes as subtypes may not cross a subquery + ** boundary. */ _ = libc.Int32FromInt32(0) _sqlite3ExprCode(tls, pParse, (*TExpr)(unsafe.Pointer(pExpr)).FpLeft, target) @@ -90327,7 +90775,7 @@ expr_code_doover: _sqlite3VdbeAddOp1(tls, v, int32(OP_RealAffinity), target) } case int32(TK_VECTOR): - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6677, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6741, 0) break /* TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions ** that derive from the right-hand table of a LEFT JOIN. The @@ -90449,7 +90897,7 @@ expr_code_doover: case int32(TK_RAISE): _ = libc.Int32FromInt32(0) if !((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != 0) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8274, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8399, 0) return 0 } if int32((*TExpr)(unsafe.Pointer(pExpr)).FaffExpr) == int32(OE_Abort) { @@ -90573,7 +91021,7 @@ func _sqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin var r1, r2 int32 _, _ = r1, r2 pExpr = _sqlite3ExprSkipCollateAndLikely(tls, pExpr) - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { *(*int32)(unsafe.Pointer(pReg)) = 0 r2 = _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) } else { @@ -90646,7 +91094,7 @@ func _sqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // ** might choose to code the expression at initialization time. // */ func _sqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { _sqlite3ExprCodeCopy(tls, pParse, pExpr, target) @@ -90717,7 +91165,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ _sqlite3VdbeAddOp2(tls, v, int32(copyOp), j+srcReg-int32(1), target+i) } } else { - if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target+i) } else { inReg = _sqlite3ExprCodeTarget(tls, pParse, pExpr, target+i) @@ -92062,18 +92510,16 @@ func _agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnColumn && (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } else { _ = libc.Int32FromInt32(0) if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnFunc && (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } @@ -92643,8 +93089,8 @@ func _sqlite3FirstAvailableRegister(tls *libc.TLS, pParse uintptr, iMin int32) ( func _isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) - if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8324, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8449, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -92663,9 +93109,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, bp := tls.Alloc(48) defer tls.Free(48) (*TParse)(unsafe.Pointer(pParse)).FcolNamesSet = uint8(1) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8352, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8477, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8527, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8652, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) } } @@ -92681,9 +93127,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, func _renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8701, libc.VaList(bp+8, zDb, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8826, libc.VaList(bp+8, zDb, zDb)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8848, 0) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8973, 0) } } @@ -92741,7 +93187,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName ** in database iDb. If so, this is an error. */ if _sqlite3FindTable(tls, db, zName, zDb) != 0 || _sqlite3FindIndex(tls, db, zName, zDb) != 0 || _sqlite3IsShadowTableOf(tls, db, pTab, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8999, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9124, libc.VaList(bp+8, zName)) goto exit_rename_table } /* Make sure it is not a system table being altered, or a reserved name @@ -92750,11 +93196,11 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { goto exit_rename_table } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9058, zName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9183, zName) { goto exit_rename_table } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9064, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9189, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table } /* Invoke the authorization callback. */ @@ -92784,21 +93230,21 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName nTabName = _sqlite3Utf8CharLen(tls, zTabName, -int32(1)) /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in ** the schema to use the new table name. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9091, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9216, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) /* Update the tbl_name and name columns of the sqlite_schema table ** as required. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9275, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9400, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) /* If the sqlite_sequence table exists in this database, then update ** it with the new table name. */ - if _sqlite3FindTable(tls, db, __ccgo_ts+9580, zDb) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9596, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if _sqlite3FindTable(tls, db, __ccgo_ts+9705, zDb) != 0 { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9721, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* If the table being renamed is not itself part of the temp database, ** edit view and trigger definitions within the temp database ** as required. */ if iDb != int32(1) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9654, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9779, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) } /* If this is a virtual table, invoke the xRename() function if ** one is defined. The xRename() callback will modify the names @@ -92814,7 +93260,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName _sqlite3VdbeAddOp4(tls, v, int32(OP_VRename), i, 0, 0, pVTab, -int32(11)) } _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+9919, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+10044, 0) goto exit_rename_table exit_rename_table: ; @@ -92831,7 +93277,7 @@ exit_rename_table: func _sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9932, libc.VaList(bp+8, zErr, zDb, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10057, libc.VaList(bp+8, zErr, zDb, zTab)) } // C documentation @@ -92876,11 +93322,11 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** column must not be NULL. */ if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9970, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10095, 0) return } if (*TTable)(unsafe.Pointer(pNew)).FpIndex != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10002, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10127, 0) return } if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) == 0 { @@ -92898,10 +93344,10 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpFKey != 0 && pDflt != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10029) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10154) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && !(pDflt != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10088) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10213) } /* Ensure the default expression is something that sqlite3ValueFromExpr() ** can handle (i.e. not CURRENT_TIME etc.) @@ -92915,13 +93361,13 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr return } if !(*(*uintptr)(unsafe.Pointer(bp)) != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10141) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10266) } _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp))) } } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_STORED) != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10187) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10312) } } /* Modify the CREATE TABLE statement. */ @@ -92937,7 +93383,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** have to use printf() to translate between these units: */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10214, libc.VaList(bp+16, zDb, (*(*struct { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10339, libc.VaList(bp+16, zDb, (*(*struct { FaddColOffset int32 FpFKey uintptr FpDfltList uintptr @@ -92965,7 +93411,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterAdd)) /* Verify that constraints are still satisfied */ if (*TTable)(unsafe.Pointer(pNew)).FpCheck != uintptr(0) || int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Strict) != uint32(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10360, libc.VaList(bp+16, zTab, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10485, libc.VaList(bp+16, zTab, zDb)) } } } @@ -93005,12 +93451,12 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { goto exit_begin_add_column } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10713, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10838, 0) goto exit_begin_add_column } /* Make sure this is not an attempt to ALTER a view. */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10747, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10872, 0) goto exit_begin_add_column } if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { @@ -93038,7 +93484,7 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { nAlloc = (int32((*TTable)(unsafe.Pointer(pNew)).FnCol)-int32(1))/int32(8)*int32(8) + int32(8) _ = libc.Int32FromInt32(0) (*TTable)(unsafe.Pointer(pNew)).FaCol = _sqlite3DbMallocZero(tls, db, uint64(16)*uint64(nAlloc)) - (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10777, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10902, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !((*TTable)(unsafe.Pointer(pNew)).FaCol != 0) || !((*TTable)(unsafe.Pointer(pNew)).FzName != 0) { _ = libc.Int32FromInt32(0) goto exit_begin_add_column @@ -93102,18 +93548,18 @@ func _isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) (r i _, _ = zType, v1 zType = uintptr(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10796 + zType = __ccgo_ts + 10921 } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 10801 + zType = __ccgo_ts + 10926 } if zType != 0 { if bDrop != 0 { - v1 = __ccgo_ts + 10815 + v1 = __ccgo_ts + 10940 } else { - v1 = __ccgo_ts + 10832 + v1 = __ccgo_ts + 10957 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10850, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10975, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -93175,11 +93621,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld iCol++ } if iCol == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10868, libc.VaList(bp+8, pOld)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10993, libc.VaList(bp+8, pOld)) goto exit_rename_column } /* Ensure the schema contains no double-quoted strings */ - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1648, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1662, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1))) /* Do the rename operation using a recursive UPDATE statement that ** uses the sqlite_rename_column() SQL function to compute the new @@ -93192,11 +93638,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld } _ = libc.Int32FromInt32(0) bQuote = int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pNew)).Fz))]) & int32(0x80) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10889, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11071, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11014, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11196, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+9919, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+10044, int32(1)) goto exit_rename_column exit_rename_column: ; @@ -93675,11 +94121,11 @@ func _renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType u zT = Xsqlite3_value_text(tls, pType) zN = Xsqlite3_value_text(tls, pObject) if *(*uint8)(unsafe.Pointer(zWhen)) != 0 { - v1 = __ccgo_ts + 11202 + v1 = __ccgo_ts + 11327 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11204, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) + zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11329, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, zErr) } @@ -93756,8 +94202,8 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin if zSql == uintptr(0) { return int32(SQLITE_NOMEM) } - if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11227, int32(7)) != 0 { - return _sqlite3CorruptError(tls, int32(116682)) + if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11352, int32(7)) != 0 { + return _sqlite3CorruptError(tls, int32(117285)) } if bTemp != 0 { v1 = int32(1) @@ -93773,7 +94219,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin rc = int32(SQLITE_NOMEM) } if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = _sqlite3CorruptError(tls, int32(116693)) + rc = _sqlite3CorruptError(tls, int32(117296)) } (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0) return rc @@ -93812,7 +94258,7 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, ** ALTER TABLE statement was quoted (bQuote==1), then set zNew to ** point to zQuot so that all substitutions are made using the ** quoted version of the new column name. */ - zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11235, libc.VaList(bp+8, zNew)) + zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11360, libc.VaList(bp+8, zNew)) if zQuot == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -93858,11 +94304,11 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, *(*uint8)(unsafe.Pointer(zBuf1 + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = uint8(0) _sqlite3Dequote(tls, zBuf1) if int32(*(*uint8)(unsafe.Pointer((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == int32('\'') { - v1 = __ccgo_ts + 11202 + v1 = __ccgo_ts + 11327 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11241, libc.VaList(bp+8, zBuf1, v1)) + Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11366, libc.VaList(bp+8, zBuf1, v1)) zReplace = zBuf2 nReplace = uint32(_sqlite3Strlen30(tls, zReplace)) } @@ -94354,7 +94800,7 @@ renameColumnFunc_done: Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv))) } else { if (*(*TParse)(unsafe.Pointer(bp + 32))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1648, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) + _renameColumnParseError(tls, context, __ccgo_ts+1662, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -94583,7 +95029,7 @@ func _renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintpt Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + 3*8))) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1648, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) + _renameColumnParseError(tls, context, __ccgo_ts+1662, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -94845,7 +95291,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { /* This can happen if the sqlite_schema table is corrupt */ - rc = _sqlite3CorruptError(tls, int32(117652)) + rc = _sqlite3CorruptError(tls, int32(118255)) goto drop_column_done } pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName) @@ -94863,7 +95309,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr (*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz-- } } - zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11246, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) + zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11371, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -int32(1), uintptr(-libc.Int32FromInt32(1))) Xsqlite3_free(tls, zNew) goto drop_column_done @@ -94890,8 +95336,9 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName bp := tls.Alloc(48) defer tls.Free(48) var addr, i, iCol, iColPos, iCur, iDb, iPos, nField, reg, regOut, regRec, v2, v4, v7 int32 + var aff uint8 var db, pPk, pTab, v, zCol, zDb, v1, v3, v5, v8 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, aff, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Database containing pTab ("main" etc.) */ zCol = uintptr(0) /* Index of column zCol in pTab->aCol[] */ /* Look up the table being altered. */ @@ -94920,23 +95367,23 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName } iCol = _sqlite3ColumnIndex(tls, pTab, zCol) if iCol < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10868, libc.VaList(bp+8, pName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10993, libc.VaList(bp+8, pName)) goto exit_drop_column } /* Do not allow the user to drop a PRIMARY KEY column or a column ** constrained by a UNIQUE constraint. */ if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_PRIMKEY)|libc.Int32FromInt32(COLFLAG_UNIQUE)) != 0 { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - v1 = __ccgo_ts + 11253 + v1 = __ccgo_ts + 11378 } else { - v1 = __ccgo_ts + 5589 + v1 = __ccgo_ts + 5653 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11265, libc.VaList(bp+8, v1, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11390, libc.VaList(bp+8, v1, zCol)) goto exit_drop_column } /* Do not allow the number of columns to go to zero */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) <= int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11293, libc.VaList(bp+8, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11418, libc.VaList(bp+8, zCol)) goto exit_drop_column } /* Edit the sqlite_schema table */ @@ -94947,12 +95394,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_ALTER_TABLE), zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol) != 0 { goto exit_drop_column } - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1648, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1662, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1))) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11341, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11466, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11462, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11587, int32(1)) /* Edit rows of table on disk */ if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 && int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { pPk = uintptr(0) @@ -95010,7 +95457,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if i == int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regOut) } else { + aff = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity + if int32(aff) == int32(SQLITE_AFF_REAL) { + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = uint8(SQLITE_AFF_NUMERIC) + } _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab, iCur, i, regOut) + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = aff } nField++ } @@ -95055,27 +95507,27 @@ var _aAlterTableFuncs = [5]TFuncDef{ 0: { FnArg: int8(9), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11480, + FzName: __ccgo_ts + 11605, }, 1: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11501, + FzName: __ccgo_ts + 11626, }, 2: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11521, + FzName: __ccgo_ts + 11646, }, 3: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11540, + FzName: __ccgo_ts + 11665, }, 4: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11559, + FzName: __ccgo_ts + 11684, }, } @@ -95288,7 +95740,7 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW ** side-effect of the CREATE TABLE statement is to leave the rootpage ** of the new table in register pParse->regRoot. This is important ** because the OpenWrite opcode below will be needing it. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11662, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11787, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) aRoot[i] = uint32((*TParse)(unsafe.Pointer(pParse)).FregRoot) aCreateTbl[i] = uint8(OPFLAG_P2ISREG) } @@ -95299,10 +95751,10 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW aRoot[i] = (*TTable)(unsafe.Pointer(pStat)).Ftnum _sqlite3TableLock(tls, pParse, iDb, aRoot[i], uint8(1), zTab) if zWhere != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11685, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11810, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11715, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11840, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { /* The sqlite_stat[134] table already exists. Delete all rows. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Clear), int32(aRoot[i]), iDb) @@ -95335,15 +95787,15 @@ var _aTable = [3]struct { FzCols uintptr }{ 0: { - FzName: __ccgo_ts + 11582, - FzCols: __ccgo_ts + 11595, + FzName: __ccgo_ts + 11707, + FzCols: __ccgo_ts + 11720, }, 1: { - FzName: __ccgo_ts + 11608, - FzCols: __ccgo_ts + 11621, + FzName: __ccgo_ts + 11733, + FzCols: __ccgo_ts + 11746, }, 2: { - FzName: __ccgo_ts + 11649, + FzName: __ccgo_ts + 11774, }, } @@ -95652,7 +96104,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statInitFuncdef = TFuncDef{ FnArg: int8(4), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11733, + FzName: __ccgo_ts + 11858, } func init() { @@ -96038,7 +96490,7 @@ func _statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statPushFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(2) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11743, + FzName: __ccgo_ts + 11868, } func init() { @@ -96091,7 +96543,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { v1 = (*TStatAccum)(unsafe.Pointer(p)).FnRow } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11753, libc.VaList(bp+72, v1)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11878, libc.VaList(bp+72, v1)) i = 0 for { if !(i < (*TStatAccum)(unsafe.Pointer(p)).FnKeyCol) { @@ -96102,7 +96554,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if iVal == uint64(2) && (*TStatAccum)(unsafe.Pointer(p)).FnRow*uint64(10) <= nDistinct*uint64(11) { iVal = uint64(1) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11758, libc.VaList(bp+72, iVal)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11883, libc.VaList(bp+72, iVal)) _ = libc.Int32FromInt32(0) goto _2 _2: @@ -96143,7 +96595,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if !(i1 < (*TStatAccum)(unsafe.Pointer(p)).FnCol) { break } - Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11764, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) + Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11889, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) goto _3 _3: ; @@ -96161,7 +96613,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statGetFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(1) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11770, + FzName: __ccgo_ts + 11895, } func init() { @@ -96183,9 +96635,9 @@ func _callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, re // */ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { var aGotoChng, db, pColl, pIdx, pPk, pStat1, pX, v, zIdxName uintptr - var addrIsNull, addrNext, addrNextRow, addrRewind, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 + var addrGotoEnd, addrIsNull, addrNext, addrNextRow, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 var needTableCnt, seekOp Tu8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrIsNull, addrNext, addrNextRow, addrRewind, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrGotoEnd, addrIsNull, addrNext, addrNextRow, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Loop counter */ jZeroRows = -int32(1) /* Index of database containing pTab */ needTableCnt = uint8(1) @@ -96229,7 +96681,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Do not gather statistics on views or virtual tables */ return } - if Xsqlite3_strlike(tls, __ccgo_ts+11779, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, __ccgo_ts+11904, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { /* Do not gather statistics on system tables */ return } @@ -96246,7 +96698,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint return } (*TTable)(unsafe.Pointer(pStat1)).FzName = pStat1 + 1*104 - libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11582, uint64(13)) + libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11707, uint64(13)) (*TTable)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*TTable)(unsafe.Pointer(pStat1)).FiPKey = int16(-int32(1)) _sqlite3VdbeAddOp4(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Noop), 0, 0, 0, pStat1, -int32(6)) @@ -96300,9 +96752,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* ** Pseudo-code for loop that calls stat_push(): ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() ** goto chng_addr_0; ** ** next_row: @@ -96337,34 +96794,31 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _ = libc.Int32FromInt32(0) _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenRead), iIdxCur, int32((*TIndex)(unsafe.Pointer(pIdx)).Ftnum), iDb) _sqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - /* Invoke the stat_init() function. The arguments are: + /* Implementation of the following: ** + ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() + ** goto chng_addr_0; + */ + _ = libc.Int32FromInt32(0) + _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + /* Arguments to stat_init(): ** (1) the number of columns in the index including the rowid ** (or for a WITHOUT ROWID table, the number of PK columns), ** (2) the number of columns in the key without the rowid/pk - ** (3) estimated number of rows in the index, - */ + ** (3) estimated number of rows in the index. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), nCol, regStat+int32(1)) _ = libc.Int32FromInt32(0) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol), regRowid) - if (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0) { - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iIdxCur, regTemp) - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - } else { - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, int32(1)) - } - _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) != uint32(0))) _sqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat+int32(1), regStat, int32(4), uintptr(unsafe.Pointer(&_statInitFuncdef)), 0) - /* Implementation of the following: - ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; - ** regChng = 0 - ** goto next_push_0; - ** - */ + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regChng) addrNextRow = _sqlite3VdbeCurrentAddr(tls, v) if nColTest > 0 { @@ -96476,9 +96930,15 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), iIdxCur, addrNextRow) } /* Add the entry to the stat1 table. */ + if (*TIndex)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { + /* Partial indexes might get a zero-entry in sqlite_stat1. But + ** an empty table is omitted from sqlite_stat1. */ + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + addrGotoEnd = 0 + } _callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11789, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11914, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP4(tls, v, -int32(1), pStat1, -int32(5)) @@ -96497,6 +96957,11 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint v18 = int32(OP_NotFound) } seekOp = uint8(v18) + /* No STAT4 data is generated if the number of rows is zero */ + if addrGotoEnd == 0 { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Cast), regStat1, int32(SQLITE_AFF_INTEGER)) + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) + } if doOnce != 0 { mxCol = nCol /* Compute the maximum number of columns in any index */ @@ -96551,7 +97016,9 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeJumpHere(tls, v, addrIsNull) } /* End of analysis */ - _sqlite3VdbeJumpHere(tls, v, addrRewind) + if addrGotoEnd != 0 { + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + } goto _13 _13: ; @@ -96565,7 +97032,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint jZeroRows = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regIdxname) _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11789, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11914, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -96640,9 +97107,9 @@ func _analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr iStatCur = (*TParse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52)) += int32(3) if pOnlyIdx != 0 { - _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11793) + _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11918) } else { - _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11797) + _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11922) } _analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, (*TParse)(unsafe.Pointer(pParse)).FnMem+int32(1), (*TParse)(unsafe.Pointer(pParse)).FnTab) _loadAnalysis(tls, pParse, iDb) @@ -96773,7 +97240,7 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, _, _, _, _, _, _ = c, i, sz, v, z, v2 z = zIntArray if z == uintptr(0) { - z = __ccgo_ts + 1648 + z = __ccgo_ts + 1662 } i = 0 for { @@ -96808,17 +97275,17 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 6, 0x40) for *(*uint8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, __ccgo_ts+11801, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11926, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 2, 0x4) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11812, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11937, z) == 0 { sz = _sqlite3Atoi(tls, z+uintptr(3)) if sz < int32(2) { sz = int32(2) } (*TIndex)(unsafe.Pointer(pIndex)).FszIdxRow = _sqlite3LogEst(tls, uint64(sz)) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11822, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11947, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 6, 0x40) } } @@ -97202,11 +97669,11 @@ func _loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) (r int32) { rc = SQLITE_OK _ = libc.Int32FromInt32(0) if v2 = (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0); v2 { - v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11608, zDb) + v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11733, zDb) pStat4 = v1 } if v2 && v1 != uintptr(0) && int32((*TTable)(unsafe.Pointer(pStat4)).FeTabType) == TABTYP_NORM { - rc = _loadStatTbl(tls, db, __ccgo_ts+11834, __ccgo_ts+11903, zDb) + rc = _loadStatTbl(tls, db, __ccgo_ts+11959, __ccgo_ts+12028, zDb) } return rc } @@ -97275,10 +97742,10 @@ func _sqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) (r int32) { /* Load new statistics out of the sqlite_stat1 table */ (*(*TanalysisInfo)(unsafe.Pointer(bp))).Fdb = db (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName - v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11582, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) + v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11707, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) pStat1 = v3 if v3 != 0 && int32((*TTable)(unsafe.Pointer(pStat1)).FeTabType) == TABTYP_NORM { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+11955, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+12080, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -97392,7 +97859,7 @@ func _resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) (r int32) { // ** database iDb attached to handle db. // */ func _sqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) (r int32) { - return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6585, zName) == 0) + return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6649, zName) == 0) } // C documentation @@ -97434,21 +97901,21 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if zFile == uintptr(0) { - zFile = __ccgo_ts + 1648 + zFile = __ccgo_ts + 1662 } if zName == uintptr(0) { - zName = __ccgo_ts + 1648 + zName = __ccgo_ts + 1662 } if int32(uint32(*(*uint8)(unsafe.Pointer(db + 192 + 8))&0x4>>2)) != 0 { /* 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 + 40)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+3967) + *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+4031) if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { return } - rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+11996, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) + rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12121, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) if rc == SQLITE_OK { pNewSchema = _sqlite3SchemaGet(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40))) if pNewSchema != 0 { @@ -97479,7 +97946,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { ** * Specified database name already being used. */ if (*Tsqlite3)(unsafe.Pointer(db)).FnDb >= *(*int32)(unsafe.Pointer(db + 136 + 7*4))+int32(2) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+11999, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12124, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) goto attach_error } i = 0 @@ -97489,7 +97956,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } _ = libc.Int32FromInt32(0) if _sqlite3DbIsNamed(tls, db, i, zName) != 0 { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12036, libc.VaList(bp+56, zName)) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12161, libc.VaList(bp+56, zName)) goto attach_error } goto _1 @@ -97538,7 +98005,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FnoSharedCache = uint8(0) if rc == int32(SQLITE_CONSTRAINT) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12066, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12191, 0) } else { if rc == SQLITE_OK { (*TDb)(unsafe.Pointer(pNew)).FpSchema = _sqlite3SchemaGet(tls, db, (*TDb)(unsafe.Pointer(pNew)).FpBt) @@ -97546,7 +98013,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { rc = int32(SQLITE_NOMEM) } else { if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0 && int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12095, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12220, 0) rc = int32(SQLITE_ERROR) } } @@ -97592,10 +98059,10 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)<= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12191, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12316, libc.VaList(bp+136, zName)) goto detach_error } if i < int32(2) { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12212, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12337, libc.VaList(bp+136, zName)) goto detach_error } if _sqlite3BtreeTxnState(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != SQLITE_TXN_NONE || _sqlite3BtreeIsInBackup(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != 0 { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12238, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12363, libc.VaList(bp+136, zName)) goto detach_error } /* If any TEMP triggers reference the schema being detached, move those @@ -97763,7 +98230,7 @@ func _sqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { var _detach_func = TFuncDef{ FnArg: int8(1), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12260, + FzName: __ccgo_ts + 12385, } func init() { @@ -97785,7 +98252,7 @@ func _sqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, p var _attach_func = TFuncDef{ FnArg: int8(3), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12274, + FzName: __ccgo_ts + 12399, } func init() { @@ -97811,7 +98278,7 @@ func _fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) (r int32) { if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer((*TDbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit1.Fbusy != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } else { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12288, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12413, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) return int32(WRC_Abort) } } @@ -97845,7 +98312,7 @@ func _fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) (r int32) { if int32((*TDbFixer)(unsafe.Pointer(pFix)).FbTemp) == 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != _sqlite3FindDbName(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12312, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12437, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return int32(WRC_Abort) } _sqlite3DbFree(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) @@ -98062,7 +98529,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // ** user-supplied authorization function returned an illegal value. // */ func _sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12358, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12483, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) } @@ -98090,11 +98557,11 @@ func _sqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, int32(SQLITE_READ), zTab, zCol, zDb, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12381, libc.VaList(bp+8, zTab, zCol)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12506, libc.VaList(bp+8, zTab, zCol)) if (*Tsqlite3)(unsafe.Pointer(db)).FnDb > int32(2) || iDb != 0 { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12387, libc.VaList(bp+8, zDb, z)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12512, libc.VaList(bp+8, zDb, z)) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12393, libc.VaList(bp+8, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12518, libc.VaList(bp+8, z)) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != int32(SQLITE_IGNORE) && rc != SQLITE_OK { @@ -98160,7 +98627,7 @@ func _sqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint _ = libc.Int32FromInt32(0) zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName } else { - zCol = __ccgo_ts + 7905 + zCol = __ccgo_ts + 8030 } } _ = libc.Int32FromInt32(0) @@ -98197,7 +98664,7 @@ func _sqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, ** parameters can be either NULL or a string. */ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12420, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12545, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != SQLITE_OK && rc != int32(SQLITE_IGNORE) { @@ -98632,21 +99099,21 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { /* No match against the official names. But always match "main" ** to schema 0 as a legacy fallback. */ - if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6585) == 0 { + if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6649) == 0 { i = 0 } else { return uintptr(0) } } p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, zName) - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) == 0 { + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) == 0 { if i == int32(1) { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6552+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6571+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6066+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6533) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6616+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6635+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6130+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6597) } } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6571+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6066) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6635+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6130) } } } @@ -98677,12 +99144,12 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp ; i++ } - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6571+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6066) + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6635+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6130) } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6552+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6533) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6616+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6597) } } } @@ -98720,7 +99187,7 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt ** can be an eponymous virtual table. */ if int32((*TParse)(unsafe.Pointer(pParse)).FprepFlags)&int32(SQLITE_PREPARE_NO_VTAB) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 { pMod = _sqlite3HashFind(tls, db+576, zName) - if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12435, int32(7)) == 0 { + if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12560, int32(7)) == 0 { pMod = _sqlite3PragmaVtabRegister(tls, db, zName) } if pMod != 0 && _sqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0 { @@ -98738,15 +99205,15 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt } if p == uintptr(0) { if flags&uint32(LOCATE_VIEW) != 0 { - v1 = __ccgo_ts + 12443 + v1 = __ccgo_ts + 12568 } else { - v1 = __ccgo_ts + 12456 + v1 = __ccgo_ts + 12581 } zMsg = v1 if zDbase != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6789, libc.VaList(bp+8, zMsg, zDbase, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6853, libc.VaList(bp+8, zMsg, zDbase, zName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6799, libc.VaList(bp+8, zMsg, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6924, libc.VaList(bp+8, zMsg, zName)) } } else { _ = libc.Int32FromInt32(0) @@ -98786,12 +99253,12 @@ func _sqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags Tu32, p uintpt // ** names into the new preferred names, as appropriate. // */ func _sqlite3PreferredTableName(tls *libc.TLS, zName uintptr) (r uintptr) { - if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6066+7) == 0 { - return __ccgo_ts + 6571 + if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6130+7) == 0 { + return __ccgo_ts + 6635 } - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6533+7) == 0 { - return __ccgo_ts + 6552 + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6597+7) == 0 { + return __ccgo_ts + 6616 } } return zName @@ -99337,7 +99804,7 @@ func _sqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { var v uintptr _ = v v = _sqlite3GetVdbe(tls, p) - _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6066) + _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6130) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_OpenWrite), 0, int32(SCHEMA_ROOT), iDb, int32(5)) if (*TParse)(unsafe.Pointer(p)).FnTab == 0 { (*TParse)(unsafe.Pointer(p)).FnTab = int32(1) @@ -99369,7 +99836,7 @@ func _sqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) { } /* "main" is always an acceptable alias for the primary database ** even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. */ - if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6585, zName) { + if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6649, zName) { break } goto _1 @@ -99428,13 +99895,13 @@ func _sqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u _ = libc.Int32FromInt32(0) if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12470, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12595, 0) return -int32(1) } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = _sqlite3FindDb(tls, db, pName1) if iDb < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12487, libc.VaList(bp+8, pName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12612, libc.VaList(bp+8, pName1)) return -int32(1) } } else { @@ -99479,12 +99946,12 @@ func _sqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit))) != 0 || Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 1*8))) != 0 || Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 2*8))) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1648, 0) /* corruptSchema() will supply the error */ + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1662, 0) /* corruptSchema() will supply the error */ return int32(SQLITE_ERROR) } } else { - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6525, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12507, libc.VaList(bp+8, zName)) + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6589, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12632, libc.VaList(bp+8, zName)) return int32(SQLITE_ERROR) } } @@ -99700,9 +100167,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui /* Special case: Parsing the sqlite_schema or sqlite_temp_schema schema */ iDb = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zName = _sqlite3DbStrDup(tls, db, v1) *(*uintptr)(unsafe.Pointer(bp)) = pName1 @@ -99715,7 +100182,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 && (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) && iDb != int32(1) { /* If creating a temp table, the name may not be qualified. Unless ** the database name is "temp" anyway. */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12549, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12674, 0) return } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 { @@ -99731,9 +100198,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui return } if isView != 0 { - v2 = __ccgo_ts + 10796 + v2 = __ccgo_ts + 10921 } else { - v2 = __ccgo_ts + 9058 + v2 = __ccgo_ts + 9183 } if _sqlite3CheckObjectName(tls, pParse, zName, v2, zName) != 0 { goto begin_table_error @@ -99745,9 +100212,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui _ = libc.Int32FromInt32(0) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp == int32(1) { - v3 = __ccgo_ts + 6533 + v3 = __ccgo_ts + 6597 } else { - v3 = __ccgo_ts + 6066 + v3 = __ccgo_ts + 6130 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto begin_table_error @@ -99771,11 +100238,11 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if pTable != 0 { if !(noErr != 0) { if int32((*TTable)(unsafe.Pointer(pTable)).FeTabType) == int32(TABTYP_VIEW) { - v4 = __ccgo_ts + 10796 + v4 = __ccgo_ts + 10921 } else { - v4 = __ccgo_ts + 9058 + v4 = __ccgo_ts + 9183 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12590, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12715, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -99784,7 +100251,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui goto begin_table_error } if _sqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12611, libc.VaList(bp+16, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12736, libc.VaList(bp+16, zName)) goto begin_table_error } } @@ -99940,7 +100407,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { _, _, _ = db, pHash, pRet db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TParse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12646, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12771, 0) } else { _ = libc.Int32FromInt32(0) } @@ -99957,7 +100424,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12680, libc.VaList(bp+8, pParse)) + Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12805, libc.VaList(bp+8, pParse)) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.FzName = pRet + 196 (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Fop = uint8(TK_RETURNING) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = uint8(TRIGGER_AFTER) @@ -100005,7 +100472,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok return } if int32((*TTable)(unsafe.Pointer(p)).FnCol)+int32(1) > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12700, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12825, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) return } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -100015,12 +100482,12 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok ** by the parser, we can sometimes end up with a typename that ends ** with "generated always". Check for this case and omit the surplus ** text. */ - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12723, int32(6)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12848, int32(6)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(6) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- } - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12730, int32(9)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12855, int32(9)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(9) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- @@ -100069,7 +100536,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok break } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FhName) == int32(hName) && _sqlite3StrICmp(tls, z, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FzCnName) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12740, libc.VaList(bp+40, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12865, libc.VaList(bp+40, z)) _sqlite3DbFree(tls, db, z) return } @@ -100279,10 +100746,10 @@ func _sqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar isInit = libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) != int32(1)) pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(p)).FnCol)-int32(1))*16 if !(_sqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12766, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12891, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12811, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12936, 0) } else { libc.Xmemset(tls, bp, 0, uint64(72)) (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_SPAN) @@ -100340,7 +100807,7 @@ func _makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { p1 = pCol + 14 *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(COLFLAG_PRIMKEY)) if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12852, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12977, 0) } } @@ -100377,7 +100844,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError goto primary_key_exit } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasPrimaryKey) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12904, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13029, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit } *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_HasPrimaryKey) @@ -100436,7 +100903,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError _sqlite3HasExplicitNulls(tls, pParse, pList) } else { if autoInc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12945, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13070, 0) } else { _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), uintptr(0), sortOrder, 0, uint8(SQLITE_IDXTYPE_PRIMARYKEY)) pList = uintptr(0) @@ -100553,17 +101020,17 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui } pCol = (*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-int32(1))*16 if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) == int32(PARSE_MODE_DECLARE_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13001, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13126, 0) goto generated_done } if int32((*TColumn)(unsafe.Pointer(pCol)).FiDflt) > 0 { goto generated_error } if pType != 0 { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13044, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13169, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { /* no-op */ } else { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13052, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13177, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { eType = uint8(COLFLAG_STORED) } else { goto generated_error @@ -100597,7 +101064,7 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui goto generated_error generated_error: ; - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13059, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13184, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) goto generated_done generated_done: ; @@ -100761,13 +101228,13 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { } n += _identLength(tls, (*TTable)(unsafe.Pointer(p)).FzName) if n < int32(50) { - zSep = __ccgo_ts + 1648 - zSep2 = __ccgo_ts + 13090 - zEnd = __ccgo_ts + 5106 + zSep = __ccgo_ts + 1662 + zSep2 = __ccgo_ts + 13215 + zEnd = __ccgo_ts + 5170 } else { - zSep = __ccgo_ts + 13092 - zSep2 = __ccgo_ts + 13096 - zEnd = __ccgo_ts + 13101 + zSep = __ccgo_ts + 13217 + zSep2 = __ccgo_ts + 13221 + zEnd = __ccgo_ts + 13226 } n += int32(35) + int32(6)*int32((*TTable)(unsafe.Pointer(p)).FnCol) zStmt = _sqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -100775,7 +101242,7 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { _sqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13104, 0) + Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13229, 0) *(*int32)(unsafe.Pointer(bp)) = _sqlite3Strlen30(tls, zStmt) _identPut(tls, zStmt, bp, (*TTable)(unsafe.Pointer(p)).FzName) v2 = *(*int32)(unsafe.Pointer(bp)) @@ -100805,17 +101272,17 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { i++ pCol += 16 } - Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3795, libc.VaList(bp+16, zEnd)) + Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3859, libc.VaList(bp+16, zEnd)) return zStmt } var _azType1 = [6]uintptr{ - 0: __ccgo_ts + 1648, - 1: __ccgo_ts + 13118, - 2: __ccgo_ts + 13124, - 3: __ccgo_ts + 13129, - 4: __ccgo_ts + 13134, - 5: __ccgo_ts + 13124, + 0: __ccgo_ts + 1662, + 1: __ccgo_ts + 13243, + 2: __ccgo_ts + 13249, + 3: __ccgo_ts + 13254, + 4: __ccgo_ts + 13259, + 5: __ccgo_ts + 13249, } // C documentation @@ -101414,13 +101881,13 @@ func _sqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts Tu32, pSelect uintptr) { bp := tls.Alloc(112) defer tls.Free(112) - var addrInsLoop, addrTop, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v4, v6, v8 int32 + var addrInsLoop, addrTop, iCsr, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v10, v4, v6, v8 int32 var colFlags Tu32 - var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v5, v7, v9 uintptr - var v10 Ti16 + var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v13, v5, v7, v9 uintptr + var v12 Ti16 var _ /* dest at bp+0 */ TSelectDest - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v4, v5, v6, v7, v8, v9 /* The new table */ - db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iCsr, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v12, v13, v4, v5, v6, v7, v8, v9 /* The new table */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ if pEnd == uintptr(0) && pSelect == uintptr(0) { return } @@ -101442,7 +101909,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if pSelect != 0 || !(int32((*TTable)(unsafe.Pointer(p)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) && (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1648, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1662, 0) return } (*TTable)(unsafe.Pointer(p)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum @@ -101469,9 +101936,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(ii)*16 if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf0>>4)) == COLTYPE_CUSTOM { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_HASTYPE) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13140, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1648))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13265, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1662))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13173, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13298, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } return } else { @@ -101494,11 +101961,11 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* Special processing for WITHOUT ROWID Tables */ if tabOpts&uint32(TF_WithoutRowid) != 0 { if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13200, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13325, 0) return } if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasPrimaryKey) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13250, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13375, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) return } *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) @@ -101545,7 +102012,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ii1++ } if nNG == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13282, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13407, 0) return } } @@ -101579,12 +102046,12 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if int32((*TTable)(unsafe.Pointer(p)).FeTabType) == TABTYP_NORM { /* A regular table */ - zType = __ccgo_ts + 9058 - zType2 = __ccgo_ts + 13326 + zType = __ccgo_ts + 9183 + zType2 = __ccgo_ts + 13451 } else { /* A view */ - zType = __ccgo_ts + 10796 - zType2 = __ccgo_ts + 13332 + zType = __ccgo_ts + 10921 + zType2 = __ccgo_ts + 13457 } /* If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT ** statement to populate the new table. The root-page number for the @@ -101599,29 +102066,31 @@ func _sqlite3EndTable(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 { /* A table that describes the SELECT results */ + if pSelect != 0 { /* Write cursor on the new table */ if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) (*TParse)(unsafe.Pointer(pParse)).FnErr++ return } - v5 = pParse + 56 - *(*int32)(unsafe.Pointer(v5))++ + v5 = pParse + 52 v4 = *(*int32)(unsafe.Pointer(v5)) - regYield = v4 + *(*int32)(unsafe.Pointer(v5))++ + iCsr = v4 v7 = pParse + 56 *(*int32)(unsafe.Pointer(v7))++ v6 = *(*int32)(unsafe.Pointer(v7)) - regRec = v6 + regYield = v6 v9 = pParse + 56 *(*int32)(unsafe.Pointer(v9))++ v8 = *(*int32)(unsafe.Pointer(v9)) - regRowid = v8 - _ = libc.Int32FromInt32(0) + regRec = v8 + v11 = pParse + 56 + *(*int32)(unsafe.Pointer(v11))++ + v10 = *(*int32)(unsafe.Pointer(v11)) + regRowid = v10 _sqlite3MayAbort(tls, pParse) - _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), int32(1), (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) + _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), iCsr, (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_P2ISREG)) - (*TParse)(unsafe.Pointer(pParse)).FnTab = int32(2) addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -101632,9 +102101,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr return } _ = libc.Int32FromInt32(0) - v10 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol - (*TTable)(unsafe.Pointer(p)).FnNVCol = v10 - (*TTable)(unsafe.Pointer(p)).FnCol = v10 + v12 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol + (*TTable)(unsafe.Pointer(p)).FnNVCol = v12 + (*TTable)(unsafe.Pointer(p)).FnCol = v12 (*TTable)(unsafe.Pointer(p)).FaCol = (*TTable)(unsafe.Pointer(pSelTab)).FaCol (*TTable)(unsafe.Pointer(pSelTab)).FnCol = 0 (*TTable)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) @@ -101649,33 +102118,33 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr addrInsLoop = _sqlite3VdbeAddOp1(tls, v, int32(OP_Yield), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSDParm) _sqlite3VdbeAddOp3(tls, v, int32(OP_MakeRecord), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst, (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst, regRec) _sqlite3TableAffinity(tls, v, p, 0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), int32(1), regRowid) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), int32(1), regRec, regRowid) + _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iCsr, regRowid) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iCsr, regRec, regRowid) _sqlite3VdbeGoto(tls, v, addrInsLoop) _sqlite3VdbeJumpHere(tls, v, addrInsLoop) - _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), int32(1)) + _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), iCsr) } /* Compute the complete text of the CREATE statement */ if pSelect != 0 { zStmt = _createTableStmt(tls, db, p) } else { if tabOpts != 0 { - v11 = pParse + 288 + v13 = pParse + 288 } else { - v11 = pEnd + v13 = pEnd } - pEnd2 = v11 + pEnd2 = v13 n = int32(int64((*TToken)(unsafe.Pointer(pEnd2)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) if int32(*(*uint8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pEnd2)).Fz))) != int32(';') { n = int32(uint32(n) + (*TToken)(unsafe.Pointer(pEnd2)).Fn) } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13337, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13462, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13352, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13477, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) _sqlite3DbFree(tls, db, zStmt) _sqlite3ChangeCookie(tls, pParse, iDb) /* Check to see if we need to create an sqlite_sequence table for @@ -101685,17 +102154,16 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 _ = libc.Int32FromInt32(0) if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13450, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13575, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) } } /* Reparse everything to update our internal data structures */ - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13492, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13617, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) /* Test for cycles in generated columns and illegal expressions ** in CHECK constraints and in DEFAULT clauses. */ if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasGenerated) != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13526, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(0x0001), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13651, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13547, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } /* Add the table to the in-memory representation of the database. */ @@ -101715,7 +102183,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ** then record a pointer to this table in the main database structure ** so that INSERT can find the table easily. */ _ = libc.Int32FromInt32(0) - if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9580) == 0 { + if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9705) == 0 { _ = libc.Int32FromInt32(0) (*TSchema)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -101750,7 +102218,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*uintptr)(unsafe.Pointer(bp + 112)) = uintptr(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if int32((*TParse)(unsafe.Pointer(pParse)).FnVar) > 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13579, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13672, 0) goto create_view_fail } _sqlite3StartTable(tls, pParse, pName1, pName2, isTemp, int32(1), 0, noErr) @@ -101767,7 +102235,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(TF_NoVisibleRowid) /* Never allow rowid in view */ _sqlite3TwoPartName(tls, pParse, pName1, pName2, bp+112) iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(p)).FpSchema) - _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10796, *(*uintptr)(unsafe.Pointer(bp + 112))) + _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10921, *(*uintptr)(unsafe.Pointer(bp + 112))) if _sqlite3FixSelect(tls, bp+16, pSelect) != 0 { goto create_view_fail } @@ -101867,7 +102335,7 @@ func _viewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) (r int32 ** SELECT * FROM temp.ex1; */ if int32((*TTable)(unsafe.Pointer(pTable)).FnCol) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13615, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13708, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) return int32(1) } _ = libc.Int32FromInt32(0) @@ -102059,7 +102527,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { v = _sqlite3GetVdbe(tls, pParse) r1 = _sqlite3GetTempReg(tls, pParse) if iTable < int32(2) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13645, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13738, 0) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Destroy), iTable, r1, iDb) _sqlite3MayAbort(tls, pParse) @@ -102072,7 +102540,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { ** is in register NNN. See grammar rules associated with the TK_REGISTER ** token for additional information. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13660, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13753, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) _sqlite3ReleaseTempReg(tls, pParse, r1) } @@ -102157,9 +102625,9 @@ func _sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uin if !(i <= int32(4)) { break } - Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13727, libc.VaList(bp+32, i)) + Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13820, libc.VaList(bp+32, i)) if _sqlite3FindTable(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, bp, zDbName) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11685, libc.VaList(bp+32, zDbName, bp, zType, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11810, libc.VaList(bp+32, zDbName, bp, zType, zName)) } goto _1 _1: @@ -102202,7 +102670,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** move as a result of the drop (can happen in auto-vacuum mode). */ if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13741, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13834, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* Drop all entries in the schema table that refer to the ** table. The program name loops through the schema table and deletes @@ -102211,7 +102679,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** created in the temp database that refers to a table in another ** database. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13786, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13879, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { _destroyTable(tls, pParse, pTab) } @@ -102246,11 +102714,11 @@ func _sqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) (r int32) { // ** Return true if it is not allowed to drop the given table // */ func _tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) (r int32) { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) == 0 { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3418, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3482, int32(4)) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7266, int32(10)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7391, int32(10)) == 0 { return 0 } return int32(1) @@ -102309,9 +102777,9 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zTab = v1 zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName @@ -102344,18 +102812,18 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if _tableMayNotBeDropped(tls, db, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13853, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13946, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Ensure DROP TABLE is not used on a view, and DROP VIEW is not used ** on a table. */ if isView != 0 && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13881, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13974, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } if !(isView != 0) && int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13915, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14008, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Generate code to remove the table from the schema table @@ -102365,7 +102833,7 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) if !(isView != 0) { - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11797, (*TTable)(unsafe.Pointer(pTab)).FzName) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11922, (*TTable)(unsafe.Pointer(pTab)).FzName) _sqlite3FkDropTable(tls, pParse, pName, pTab) } _sqlite3CodeDropTable(tls, pParse, pTab, iDb, isView) @@ -102414,13 +102882,13 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p goto fk_end } if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13947, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14040, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) goto fk_end } nCol = int32(1) } else { if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14010, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14103, 0) goto fk_end } else { nCol = (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr @@ -102484,7 +102952,7 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p j++ } if j >= int32((*TTable)(unsafe.Pointer(p)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14104, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14197, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) goto fk_end } if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { @@ -102748,11 +103216,11 @@ func _sqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) (r i if int32(uint32(*(*uint16)(unsafe.Pointer(pList + 8 + uintptr(i)*32 + 16 + 4))&0x20>>5)) != 0 { sf = (*(*TExprList_item)(unsafe.Pointer(pList + 8 + uintptr(i)*32))).Ffg.FsortFlags if int32(sf) == 0 || int32(sf) == int32(3) { - v2 = __ccgo_ts + 14150 + v2 = __ccgo_ts + 14243 } else { - v2 = __ccgo_ts + 14156 + v2 = __ccgo_ts + 14249 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14161, libc.VaList(bp+8, v2)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14254, libc.VaList(bp+8, v2)) return int32(1) } goto _1 @@ -102834,7 +103302,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = int32(1) } } - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14189, *(*uintptr)(unsafe.Pointer(bp + 96))) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14282, *(*uintptr)(unsafe.Pointer(bp + 96))) if _sqlite3FixSrcList(tls, bp, pTblName) != 0 { /* Because the parser constructs pTblName from a single identifier, ** sqlite3FixSrcList can never fail. */ @@ -102846,7 +103314,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } if iDb == int32(1) && (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema != (*TTable)(unsafe.Pointer(pTab)).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14195, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14288, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if !((*TTable)(unsafe.Pointer(pTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { @@ -102863,16 +103331,16 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 _ = libc.Int32FromInt32(0) - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14245, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14338, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14273, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14366, 0) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14298, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14391, 0) goto exit_create_index } /* @@ -102894,19 +103362,19 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } _ = libc.Int32FromInt32(0) - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14189, (*TTable)(unsafe.Pointer(pTab)).FzName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14282, (*TTable)(unsafe.Pointer(pTab)).FzName) { goto exit_create_index } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if !((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0) { if _sqlite3FindTable(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14332, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14425, libc.VaList(bp+136, zName)) goto exit_create_index } } if _sqlite3FindIndex(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { if !(ifNotExist != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14366, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14459, libc.VaList(bp+136, zName)) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -102928,7 +103396,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pLoop = (*TIndex)(unsafe.Pointer(pLoop)).FpNext n++ } - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14390, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14483, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) if zName == uintptr(0) { goto exit_create_index } @@ -102946,9 +103414,9 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { zDb = (*TDb)(unsafe.Pointer(pDb)).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6533 + v2 = __ccgo_ts + 6597 } else { - v2 = __ccgo_ts + 6066 + v2 = __ccgo_ts + 6130 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v2, uintptr(0), zDb) != 0 { goto exit_create_index @@ -102977,7 +103445,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u _ = libc.Int32FromInt32(0) _sqlite3ExprListSetSortOrder(tls, pList, sortOrder, -int32(1)) } else { - _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14189) + _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14282) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { goto exit_create_index } @@ -103067,7 +103535,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pCExpr = _sqlite3ExprSkipCollate(tls, (*TExprList_item)(unsafe.Pointer(pListItem)).FpExpr) if int32((*TExpr)(unsafe.Pointer(pCExpr)).Fop) != int32(TK_COLUMN) { if pTab == (*TParse)(unsafe.Pointer(pParse)).FpNewTable { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14413, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14506, 0) goto exit_create_index } if (*TIndex)(unsafe.Pointer(pIndex)).FaColExpr == uintptr(0) { @@ -103224,7 +103692,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u ** explicitly specified behavior for the index. */ if !(int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) || int32((*TIndex)(unsafe.Pointer(pIndex)).FonError) == int32(OE_Default)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14474, libc.VaList(bp+136, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14567, libc.VaList(bp+136, 0)) } if int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) { (*TIndex)(unsafe.Pointer(pIdx)).FonError = (*TIndex)(unsafe.Pointer(pIndex)).FonError @@ -103257,8 +103725,8 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != uintptr(0) { (*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14516, 0) - (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125123)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14609, 0) + (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125741)) goto exit_create_index } } @@ -103299,11 +103767,11 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* A named index with an explicit CREATE INDEX statement */ if onError == OE_None { - v13 = __ccgo_ts + 1648 + v13 = __ccgo_ts + 1662 } else { - v13 = __ccgo_ts + 14533 + v13 = __ccgo_ts + 14626 } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14541, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14634, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) } else { /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ /* zStmt = sqlite3MPrintf(""); */ @@ -103311,7 +103779,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* Add an entry in sqlite_schema for this index */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14561, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14654, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) _sqlite3DbFree(tls, db, zStmt) /* Fill the index with data and reparse the schema. Code an OP_Expire ** to invalidate all pre-compiled statements. @@ -103319,7 +103787,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != 0 { _sqlite3RefillIndex(tls, pParse, pIndex, iMem) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14620, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14713, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Expire), 0, int32(1)) } _sqlite3VdbeJumpHere(tls, v, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum)) @@ -103489,7 +103957,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pIndex = _sqlite3FindIndex(tls, db, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzName, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) if pIndex == uintptr(0) { if !(ifExists != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14647, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14740, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) _sqlite3ForceNotReadOnly(tls, pParse) @@ -103498,7 +103966,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in goto exit_drop_index } if int32(uint32(*(*uint16)(unsafe.Pointer(pIndex + 100))&0x3>>0)) != SQLITE_IDXTYPE_APPDEF { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14665, libc.VaList(bp+8, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14758, libc.VaList(bp+8, 0)) goto exit_drop_index } iDb = _sqlite3SchemaToIndex(tls, db, (*TIndex)(unsafe.Pointer(pIndex)).FpSchema) @@ -103506,9 +103974,9 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pTab = (*TIndex)(unsafe.Pointer(pIndex)).FpTable zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zTab = v1 if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_DELETE), zTab, uintptr(0), zDb) != 0 { @@ -103524,8 +103992,8 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in v = _sqlite3GetVdbe(tls, pParse) if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14738, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11793, (*TIndex)(unsafe.Pointer(pIndex)).FzName) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14831, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11918, (*TIndex)(unsafe.Pointer(pIndex)).FzName) _sqlite3ChangeCookie(tls, pParse, iDb) _destroyRootPage(tls, pParse, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum), iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropIndex), iDb, 0, 0, (*TIndex)(unsafe.Pointer(pIndex)).FzName, 0) @@ -103722,7 +104190,7 @@ func _sqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra nAlloc = int64(2)*int64((*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) + int64(nExtra) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc+nExtra >= int32(SQLITE_MAX_SRCLIST) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14798, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14891, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) return uintptr(0) } if nAlloc > int64(SQLITE_MAX_SRCLIST) { @@ -103959,11 +104427,11 @@ func _sqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa db = (*TParse)(unsafe.Pointer(pParse)).Fdb if !(p != 0) && pOnUsing != uintptr(0) && ((*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 || (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpUsing != 0) { if (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 { - v1 = __ccgo_ts + 14834 + v1 = __ccgo_ts + 14927 } else { - v1 = __ccgo_ts + 14837 + v1 = __ccgo_ts + 14930 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14843, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14936, libc.VaList(bp+8, v1)) goto append_from_error } p = _sqlite3SrcListAppend(tls, pParse, p, pTable, pDatabase) @@ -104180,7 +104648,7 @@ func _sqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { _ = libc.Int32FromInt32(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb _ = libc.Int32FromInt32(0) - if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14879, uintptr(0), uintptr(0)) != 0 { + if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14972, uintptr(0), uintptr(0)) != 0 { return } v = _sqlite3GetVdbe(tls, pParse) @@ -104230,9 +104698,9 @@ func _sqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { _ = libc.Int32FromInt32(0) isRollback = libc.BoolInt32(eType == int32(TK_ROLLBACK)) if isRollback != 0 { - v1 = __ccgo_ts + 14885 + v1 = __ccgo_ts + 14978 } else { - v1 = __ccgo_ts + 14894 + v1 = __ccgo_ts + 14987 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), v1, uintptr(0), uintptr(0)) != 0 { return @@ -104265,9 +104733,9 @@ func _sqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } var _az = [3]uintptr{ - 0: __ccgo_ts + 14879, - 1: __ccgo_ts + 14901, - 2: __ccgo_ts + 14885, + 0: __ccgo_ts + 14972, + 1: __ccgo_ts + 14994, + 2: __ccgo_ts + 14978, } // C documentation @@ -104287,7 +104755,7 @@ func _sqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) (r int32) { if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt == uintptr(0) && !((*TParse)(unsafe.Pointer(pParse)).Fexplain != 0) { rc = _sqlite3BtreeOpen(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp, 0, _flags) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14909, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15002, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = rc return int32(1) } @@ -104478,7 +104946,7 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable _sqlite3StrAccumInit(tls, bp, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136))) if (*TIndex)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+14979, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15072, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) } else { j = 0 for { @@ -104488,10 +104956,10 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx _ = libc.Int32FromInt32(0) zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*16))).FzCnName if j != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+14990, int32(2)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+15083, int32(2)) } Xsqlite3_str_appendall(tls, bp, (*TTable)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp, __ccgo_ts+1661, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+1675, int32(1)) Xsqlite3_str_appendall(tls, bp, zCol) goto _1 _1: @@ -104520,10 +104988,10 @@ func _sqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr _, _ = rc, zMsg if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12381, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12506, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(6)< libc.BoolInt32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15109, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15202, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } return 0 } @@ -105652,11 +106120,11 @@ func _sqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger ui bp := tls.Alloc(16) defer tls.Free(16) if _tabIsReadOnly(tls, pParse, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15142, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15235, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && (pTrigger == uintptr(0) || (*TTrigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 && (*TTrigger)(unsafe.Pointer(pTrigger)).FpNext == uintptr(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15171, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15264, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -106081,7 +106549,7 @@ func _sqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** invoke the callback function. */ if memCnt != 0 { - _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15209) + _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15302) } goto delete_from_cleanup delete_from_cleanup: @@ -106230,7 +106698,7 @@ func _sqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri v3 = 0 } _sqlite3VdbeAddOp2(tls, v, int32(OP_Delete), iDataCur, v3) - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11582) { + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11707) { _sqlite3VdbeAppendP4(tls, v, pTab, -int32(5)) } if int32(eMode) != ONEPASS_OFF { @@ -106548,11 +107016,11 @@ func _typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } var _azType2 = [5]uintptr{ - 0: __ccgo_ts + 6306, - 1: __ccgo_ts + 6301, - 2: __ccgo_ts + 8197, - 3: __ccgo_ts + 8192, - 4: __ccgo_ts + 1634, + 0: __ccgo_ts + 6370, + 1: __ccgo_ts + 6365, + 2: __ccgo_ts + 8322, + 3: __ccgo_ts + 8317, + 4: __ccgo_ts + 1648, } // C documentation @@ -106669,7 +107137,7 @@ func _absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* IMP: R-31676-45509 If X is the integer -9223372036854775808 ** then abs(X) throws an integer overflow error since there is no ** equivalent positive 64-bit two complement value. */ - Xsqlite3_result_error(tls, context, __ccgo_ts+15222, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15315, -int32(1)) return } iVal = -iVal @@ -106988,7 +107456,7 @@ func _roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } *(*float64)(unsafe.Pointer(bp)) = float64(int64(*(*float64)(unsafe.Pointer(bp)) + v1)) } else { - zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15239, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) + zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15332, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -107572,7 +108040,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { */ nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer(db + 136 + 8*4)) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15245, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15338, -int32(1)) return } if argc == int32(3) { @@ -107584,7 +108052,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { return } if _sqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), -int32(1)) != int32(1) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15278, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15371, -int32(1)) return } escape = _sqlite3Utf8Read(tls, bp+8) @@ -107666,7 +108134,7 @@ func _errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { defer tls.Free(16) _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // C documentation @@ -107756,17 +108224,17 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_FLOAT): r1 = Xsqlite3_value_double(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15323, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15416, libc.VaList(bp+16, r1)) zVal = Xsqlite3_str_value(tls, pStr) if zVal != 0 { _sqlite3AtoF(tls, zVal, bp, int32((*TStrAccum)(unsafe.Pointer(pStr)).FnChar), uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp)) { Xsqlite3_str_reset(tls, pStr) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15331, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15424, libc.VaList(bp+16, r1)) } } case int32(SQLITE_INTEGER): - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1404, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1423, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) case int32(SQLITE_BLOB): zBlob = Xsqlite3_value_blob(tls, pValue) nBlob = int64(Xsqlite3_value_bytes(tls, pValue)) @@ -107794,10 +108262,10 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { } case int32(SQLITE_TEXT): zArg = Xsqlite3_value_text(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15339, libc.VaList(bp+16, zArg)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15432, libc.VaList(bp+16, zArg)) default: _ = libc.Int32FromInt32(0) - Xsqlite3_str_append(tls, pStr, __ccgo_ts+1649, int32(4)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+1663, int32(4)) break } } @@ -108036,7 +108504,7 @@ func _unhexFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { var v3 uint32 var _ /* zHex at bp+0 */ uintptr _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ch, d, nHex, nPass, p, pBlob, zPass, v1, v2, v3, v4, v5, v6 - zPass = __ccgo_ts + 1648 + zPass = __ccgo_ts + 1662 nPass = 0 *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) nHex = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -108362,7 +108830,7 @@ var _lenOne = [1]uint32{ } var _azOne = [1]uintptr{ - 0: __ccgo_ts + 11202, + 0: __ccgo_ts + 11327, } // C documentation @@ -108431,7 +108899,7 @@ func _concatFuncCore(tls *libc.TLS, context uintptr, argc int32, argv uintptr, n // ** concatentation of all non-null arguments. // */ func _concatFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1648) + _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1662) } // C documentation @@ -108478,7 +108946,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { _ = libc.Int32FromInt32(0) zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = __ccgo_ts + 1648 + zIn = __ccgo_ts + 1662 } i = 0 for { @@ -108524,7 +108992,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { /* IMP: R-64894-50321 The string "?000" is returned if the argument ** is NULL or contains no ASCII alphabetic characters. */ - Xsqlite3_result_text(tls, context, __ccgo_ts+15342, int32(4), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, context, __ccgo_ts+15435, int32(4), libc.UintptrFromInt32(0)) } } @@ -108585,7 +109053,7 @@ func _loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { ** flag is set. See the sqlite3_enable_load_extension() API. */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_LoadExtFunc) == uint64(0) { - Xsqlite3_result_error(tls, context, __ccgo_ts+12420, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+12545, -int32(1)) return } if argc == int32(2) { @@ -108777,7 +109245,7 @@ func _sumFinalize(tls *libc.TLS, context uintptr) { if p != 0 && (*TSumCtx)(unsafe.Pointer(p)).Fcnt > 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fapprox != 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fovrfl != 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+15222, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15315, -int32(1)) } else { if !(_sqlite3IsOverflow(tls, (*TSumCtx)(unsafe.Pointer(p)).FrErr) != 0) { Xsqlite3_result_double(tls, context, (*TSumCtx)(unsafe.Pointer(p)).FrSum+(*TSumCtx)(unsafe.Pointer(p)).FrErr) @@ -109123,7 +109591,7 @@ func _groupConcatValue(tls *libc.TLS, context uintptr) { func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { var rc int32 _ = rc - rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15347, int32(2)) + rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15440, int32(2)) _ = libc.Int32FromInt32(0) if rc == int32(SQLITE_NOMEM) { _sqlite3OomFault(tls, db) @@ -109153,8 +109621,8 @@ func _sqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 if !(nArg <= int32(3)) { break } - _sqlite3CreateFunc(tls, db, __ccgo_ts+15353, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15353, nArg, uint8(SQLITE_UTF8), uint8(0)) + _sqlite3CreateFunc(tls, db, __ccgo_ts+15446, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15446, nArg, uint8(SQLITE_UTF8), uint8(0)) *(*Tu32)(unsafe.Pointer(pDef + 4)) |= uint32(flags) *(*Tu32)(unsafe.Pointer(pDef + 4)) &= uint32(^libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)) goto _1 @@ -109474,562 +109942,562 @@ var _aBuiltinFunc = [110]TFuncDef{ FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_implies_nonnull_row))), - FzName: __ccgo_ts + 15358, + FzName: __ccgo_ts + 15451, }, 1: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_compare))), - FzName: __ccgo_ts + 15378, + FzName: __ccgo_ts + 15471, }, 2: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_implies_expr))), - FzName: __ccgo_ts + 15391, + FzName: __ccgo_ts + 15484, }, 3: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_affinity))), - FzName: __ccgo_ts + 15409, + FzName: __ccgo_ts + 15502, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15418, + FzName: __ccgo_ts + 15511, }, 5: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15426, + FzName: __ccgo_ts + 15519, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15426, + FzName: __ccgo_ts + 15519, }, 7: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15441, + FzName: __ccgo_ts + 15534, }, 8: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15467, + FzName: __ccgo_ts + 15560, }, 9: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15492, + FzName: __ccgo_ts + 15585, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15501, + FzName: __ccgo_ts + 15594, }, 11: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15512, + FzName: __ccgo_ts + 15605, }, 12: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_sqlite_offset))), - FzName: __ccgo_ts + 15519, + FzName: __ccgo_ts + 15612, }, 13: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15533, + FzName: __ccgo_ts + 15626, }, 14: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15533, + FzName: __ccgo_ts + 15626, }, 15: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15539, + FzName: __ccgo_ts + 15632, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15539, + FzName: __ccgo_ts + 15632, }, 17: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15545, + FzName: __ccgo_ts + 15638, }, 18: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15545, + FzName: __ccgo_ts + 15638, }, 19: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15550, + FzName: __ccgo_ts + 15643, }, 20: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15550, + FzName: __ccgo_ts + 15643, }, 21: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15550, + FzName: __ccgo_ts + 15643, }, 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 23: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 24: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 25: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15558, + FzName: __ccgo_ts + 15651, }, 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15565, + FzName: __ccgo_ts + 15658, }, 27: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_LENGTH)), - FzName: __ccgo_ts + 15573, + FzName: __ccgo_ts + 15666, }, 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_BYTELEN)), - FzName: __ccgo_ts + 15580, + FzName: __ccgo_ts + 15673, }, 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15593, + FzName: __ccgo_ts + 15686, }, 30: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15599, + FzName: __ccgo_ts + 15692, }, 31: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15606, + FzName: __ccgo_ts + 15699, }, 32: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15613, + FzName: __ccgo_ts + 15706, }, 33: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15621, + FzName: __ccgo_ts + 15714, }, 34: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15626, + FzName: __ccgo_ts + 15719, }, 35: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15630, + FzName: __ccgo_ts + 15723, }, 36: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15630, + FzName: __ccgo_ts + 15723, }, 37: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15636, + FzName: __ccgo_ts + 15729, }, 38: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15642, + FzName: __ccgo_ts + 15735, }, 39: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15648, + FzName: __ccgo_ts + 15741, }, 40: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15652, + FzName: __ccgo_ts + 15745, }, 41: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15652, + FzName: __ccgo_ts + 15745, }, 42: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15658, + FzName: __ccgo_ts + 15751, }, 43: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15658, + FzName: __ccgo_ts + 15751, }, 44: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15665, + FzName: __ccgo_ts + 15758, }, 45: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15665, + FzName: __ccgo_ts + 15758, }, 46: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15665, + FzName: __ccgo_ts + 15758, }, 47: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15675, + FzName: __ccgo_ts + 15768, }, 48: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15682, + FzName: __ccgo_ts + 15775, }, 49: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15689, + FzName: __ccgo_ts + 15782, }, 50: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15700, + FzName: __ccgo_ts + 15793, }, 51: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15707, + FzName: __ccgo_ts + 15800, }, 52: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15722, + FzName: __ccgo_ts + 15815, }, 53: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15739, + FzName: __ccgo_ts + 15832, }, 54: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15750, + FzName: __ccgo_ts + 15843, }, 55: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15756, + FzName: __ccgo_ts + 15849, }, 56: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15774, + FzName: __ccgo_ts + 15867, }, 57: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15782, + FzName: __ccgo_ts + 15875, }, 58: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15796, + FzName: __ccgo_ts + 15889, }, 59: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15804, + FzName: __ccgo_ts + 15897, }, 60: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15813, + FzName: __ccgo_ts + 15906, }, 61: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15813, + FzName: __ccgo_ts + 15906, }, 62: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15820, + FzName: __ccgo_ts + 15913, }, 63: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15820, + FzName: __ccgo_ts + 15913, }, 64: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15830, + FzName: __ccgo_ts + 15923, }, 65: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15834, + FzName: __ccgo_ts + 15927, }, 66: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15840, + FzName: __ccgo_ts + 15933, }, 67: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_COUNT) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15844, + FzName: __ccgo_ts + 15937, }, 68: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15844, + FzName: __ccgo_ts + 15937, }, 69: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15850, + FzName: __ccgo_ts + 15943, }, 70: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15850, + FzName: __ccgo_ts + 15943, }, 71: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15863, + FzName: __ccgo_ts + 15956, }, 72: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE) | libc.Int32FromInt32(SQLITE_FUNC_CASE)), FpUserData: uintptr(unsafe.Pointer(&_globInfo)), - FzName: __ccgo_ts + 15874, + FzName: __ccgo_ts + 15967, }, 73: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15353, + FzName: __ccgo_ts + 15446, }, 74: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15353, + FzName: __ccgo_ts + 15446, }, 75: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6730, + FzName: __ccgo_ts + 6794, }, 76: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6730, + FzName: __ccgo_ts + 6794, }, 77: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15879, + FzName: __ccgo_ts + 15972, }, 78: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15884, + FzName: __ccgo_ts + 1235, }, 79: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15892, + FzName: __ccgo_ts + 1243, }, 80: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15898, + FzName: __ccgo_ts + 15977, }, 81: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15904, + FzName: __ccgo_ts + 15983, }, 82: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15907, + FzName: __ccgo_ts + 15986, }, 83: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15911, + FzName: __ccgo_ts + 15990, }, 84: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15917, + FzName: __ccgo_ts + 15996, }, 85: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15907, + FzName: __ccgo_ts + 15986, }, 86: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15922, + FzName: __ccgo_ts + 16001, }, 87: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15926, + FzName: __ccgo_ts + 16005, }, 88: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15930, + FzName: __ccgo_ts + 16009, }, 89: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15936, + FzName: __ccgo_ts + 16015, }, 90: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15940, + FzName: __ccgo_ts + 16019, }, 91: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15945, + FzName: __ccgo_ts + 16024, }, 92: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15950, + FzName: __ccgo_ts + 16029, }, 93: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15955, + FzName: __ccgo_ts + 16034, }, 94: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15961, + FzName: __ccgo_ts + 16040, }, 95: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15965, + FzName: __ccgo_ts + 16044, }, 96: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15969, + FzName: __ccgo_ts + 16048, }, 97: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15973, + FzName: __ccgo_ts + 16052, }, 98: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15978, + FzName: __ccgo_ts + 16057, }, 99: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15983, + FzName: __ccgo_ts + 16062, }, 100: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15988, + FzName: __ccgo_ts + 16067, }, 101: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15994, + FzName: __ccgo_ts + 16073, }, 102: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16000, + FzName: __ccgo_ts + 16079, }, 103: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16006, + FzName: __ccgo_ts + 16085, }, 104: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16011, + FzName: __ccgo_ts + 16090, }, 105: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16019, + FzName: __ccgo_ts + 16098, }, 106: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16027, + FzName: __ccgo_ts + 16106, }, 107: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16030, + FzName: __ccgo_ts + 16109, }, 108: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 6730, + FzName: __ccgo_ts + 6794, }, 109: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_iif))), - FzName: __ccgo_ts + 16035, + FzName: __ccgo_ts + 16114, }, } @@ -110510,7 +110978,7 @@ func _sqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey } if !(pIdx != 0) { if !((*TParse)(unsafe.Pointer(pParse)).FdisableTriggers != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16039, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16118, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) } _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, aiCol) return int32(1) @@ -111642,11 +112110,11 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr break } *(*TToken)(unsafe.Pointer(bp + 16)) = TToken{ - Fz: __ccgo_ts + 6596, + Fz: __ccgo_ts + 6660, Fn: uint32(3), } /* Literal "old" token */ *(*TToken)(unsafe.Pointer(bp + 32)) = TToken{ - Fz: __ccgo_ts + 6592, + Fz: __ccgo_ts + 6656, Fn: uint32(3), } /* tFromCol = OLD.tToCol */ if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { @@ -111713,7 +112181,7 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr nFrom = _sqlite3Strlen30(tls, zFrom) if action == int32(OE_Restrict) { iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5225) + pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5289) if pRaise != 0 { (*TExpr)(unsafe.Pointer(pRaise)).FaffExpr = uint8(OE_Abort) } @@ -112321,7 +112789,7 @@ func _sqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8162, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8287, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) } (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -112588,6 +113056,226 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { } } +// C documentation +// +// /* +// ** If argument pVal is a Select object returned by an sqlite3MultiValues() +// ** that was able to use the co-routine optimization, finish coding the +// ** co-routine. +// */ +func _sqlite3MultiValuesEnd(tls *libc.TLS, pParse uintptr, pVal uintptr) { + var pItem uintptr + _ = pItem + if pVal != 0 && (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pVal)).FpSrc)).FnSrc > 0 { + pItem = (*TSelect)(unsafe.Pointer(pVal)).FpSrc + 8 + _sqlite3VdbeEndCoroutine(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn) + _sqlite3VdbeJumpHere(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FaddrFillSub-int32(1)) + } +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are constant. +// */ +func _exprListIsConstant(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + if 0 == _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are both constant and have no affinity. +// */ +func _exprListIsNoAffinity(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + var pExpr uintptr + _, _ = ii, pExpr + if _exprListIsConstant(tls, pParse, pRow) == 0 { + return 0 + } + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + pExpr = (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if 0 != int32(_sqlite3ExprAffinity(tls, pExpr)) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** This function is called by the parser for the second and subsequent +// ** rows of a multi-row VALUES clause. Argument pLeft is the part of +// ** the VALUES clause already parsed, argument pRow is the vector of values +// ** for the new row. The Select object returned represents the complete +// ** VALUES clause, including the new row. +// ** +// ** There are two ways in which this may be achieved - by incremental +// ** coding of a co-routine (the "co-routine" method) or by returning a +// ** Select object equivalent to the following (the "UNION ALL" method): +// ** +// ** "pLeft UNION ALL SELECT pRow" +// ** +// ** If the VALUES clause contains a lot of rows, this compound Select +// ** object may consume a lot of memory. +// ** +// ** When the co-routine method is used, each row that will be returned +// ** by the VALUES clause is coded into part of a co-routine as it is +// ** passed to this function. The returned Select object is equivalent to: +// ** +// ** SELECT * FROM ( +// ** Select object to read co-routine +// ** ) +// ** +// ** The co-routine method is used in most cases. Exceptions are: +// ** +// ** a) If the current statement has a WITH clause. This is to avoid +// ** statements like: +// ** +// ** WITH cte AS ( VALUES('x'), ('y') ... ) +// ** SELECT * FROM cte AS a, cte AS b; +// ** +// ** This will not work, as the co-routine uses a hard-coded register +// ** for its OP_Yield instructions, and so it is not possible for two +// ** cursors to iterate through it concurrently. +// ** +// ** b) The schema is currently being parsed (i.e. the VALUES clause is part +// ** of a schema item like a VIEW or TRIGGER). In this case there is no VM +// ** being generated when parsing is taking place, and so generating +// ** a co-routine is not possible. +// ** +// ** c) There are non-constant expressions in the VALUES clause (e.g. +// ** the VALUES clause is part of a correlated sub-query). +// ** +// ** d) One or more of the values in the first row of the VALUES clause +// ** has an affinity (i.e. is a CAST expression). This causes problems +// ** because the complex rules SQLite uses (see function +// ** sqlite3SubqueryColumnTypes() in select.c) to determine the effective +// ** affinity of such a column for all rows require access to all values in +// ** the column simultaneously. +// */ +func _sqlite3MultiValues(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRow uintptr) (r uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var f, v1 int32 + var p, pRet, pSelect, v, v2 uintptr + var _ /* dest at bp+0 */ TSelectDest + _, _, _, _, _, _, _ = f, p, pRet, pSelect, v, v1, v2 + if (*TParse)(unsafe.Pointer(pParse)).FbHasWith != 0 || (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy != 0 || _exprListIsConstant(tls, pParse, pRow) == 0 || (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 && _exprListIsNoAffinity(tls, pParse, (*TSelect)(unsafe.Pointer(pLeft)).FpEList) == 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { + /* The co-routine method cannot be used. Fall back to UNION ALL. */ + pSelect = uintptr(0) + f = libc.Int32FromInt32(SF_Values) | libc.Int32FromInt32(SF_MultiValue) + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc != 0 { + _sqlite3MultiValuesEnd(tls, pParse, pLeft) + f = int32(SF_Values) + } else { + if (*TSelect)(unsafe.Pointer(pLeft)).FpPrior != 0 { + /* In this case set the SF_MultiValue flag only if it was set on pLeft */ + f = int32(uint32(f) & (*TSelect)(unsafe.Pointer(pLeft)).FselFlags) + } + } + pSelect = _sqlite3SelectNew(tls, pParse, pRow, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(f), uintptr(0)) + *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) + if pSelect != 0 { + (*TSelect)(unsafe.Pointer(pSelect)).Fop = uint8(TK_ALL) + (*TSelect)(unsafe.Pointer(pSelect)).FpPrior = pLeft + pLeft = pSelect + } + } else { + p = uintptr(0) /* SrcItem that reads from co-routine */ + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 { + /* Co-routine has not yet been started and the special Select object + ** that accesses the co-routine has not yet been created. This block + ** does both those things. */ + v = _sqlite3GetVdbe(tls, pParse) + pRet = _sqlite3SelectNew(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) + /* Ensure the database schema has been read. This is to ensure we have + ** the correct text encoding. */ + if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmDbFlags&uint32(DBFLAG_SchemaKnownOk) == uint32(0) { + _sqlite3ReadSchema(tls, pParse) + } + if pRet != 0 { + (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pRet)).FpSrc)).FnSrc = int32(1) + (*TSelect)(unsafe.Pointer(pRet)).FpPrior = (*TSelect)(unsafe.Pointer(pLeft)).FpPrior + (*TSelect)(unsafe.Pointer(pRet)).Fop = (*TSelect)(unsafe.Pointer(pLeft)).Fop + (*TSelect)(unsafe.Pointer(pLeft)).FpPrior = uintptr(0) + (*TSelect)(unsafe.Pointer(pLeft)).Fop = uint8(TK_SELECT) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + p = (*TSelect)(unsafe.Pointer(pRet)).FpSrc + 8 + (*TSrcItem)(unsafe.Pointer(p)).FpSelect = pLeft + libc.SetBitFieldPtr16Uint32(p+60+4, libc.Uint32FromInt32(1), 5, 0x20) + (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + v2 = pParse + 56 + *(*int32)(unsafe.Pointer(v2))++ + v1 = *(*int32)(unsafe.Pointer(v2)) + (*TSrcItem)(unsafe.Pointer(p)).FregReturn = v1 + (*TSrcItem)(unsafe.Pointer(p)).FiCursor = -int32(1) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1)) = uint32(2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn, 0, (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub) + _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + /* Allocate registers for the output of the co-routine. Do so so + ** that there are two unused registers immediately before those + ** used by the co-routine. This allows the code in sqlite3Insert() + ** to use these registers directly, instead of copying the output + ** of the co-routine to a separate array for processing. */ + (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(3) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpEList)).FnExpr + *(*int32)(unsafe.Pointer(pParse + 56)) += int32(2) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst + *(*Tu32)(unsafe.Pointer(pLeft + 4)) |= uint32(SF_MultiValue) + _sqlite3Select(tls, pParse, pLeft, bp) + (*TSrcItem)(unsafe.Pointer(p)).FregResult = (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst + _ = libc.Int32FromInt32(0) + pLeft = pRet + } + } else { + p = (*TSelect)(unsafe.Pointer(pLeft)).FpSrc + 8 + _ = libc.Int32FromInt32(0) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1))++ + } + if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { + _ = libc.Int32FromInt32(0) + if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p)).FpSelect)).FpEList)).FnExpr != (*TExprList)(unsafe.Pointer(pRow)).FnExpr { + _sqlite3SelectWrongNumTermsError(tls, pParse, (*TSrcItem)(unsafe.Pointer(p)).FpSelect) + } else { + _sqlite3ExprCodeExprList(tls, pParse, pRow, (*TSrcItem)(unsafe.Pointer(p)).FregResult, 0, uint8(0)) + _sqlite3VdbeAddOp1(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Yield), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + } + } + _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pRow) + } + return pLeft +} + // C documentation // // /* @@ -112690,27 +113378,27 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { bp := tls.Alloc(160) defer tls.Free(160) - var aRegIdx, db, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, v, v13, v16, v18, v6, v9 uintptr - var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v12, v15, v17, v19, v23, v24, v5, v7, v8 int32 + var aRegIdx, db, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, v, v10, v14, v17, v19, v7 uintptr + var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v13, v16, v18, v20, v24, v25, v5, v6, v8, v9 int32 var appendFlag, bIdListInOrder, useTempTable, withoutRowid Tu8 - var colFlags, v21 Tu32 + var colFlags, v22 Tu32 var _ /* dest at bp+8 */ TSelectDest var _ /* iDataCur at bp+0 */ int32 var _ /* iIdxCur at bp+4 */ int32 var _ /* isReplace at bp+112 */ int32 var _ /* sNC at bp+56 */ TNameContext var _ /* tmask at bp+48 */ int32 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v12, v13, v15, v16, v17, v18, v19, v21, v23, v24, v5, v6, v7, v8, v9 /* Number of columns in the data */ - nHidden = 0 /* Number of hidden columns if TABLE is virtual */ - *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ - *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ - ipkColumn = -int32(1) /* Label for the end of the insertion loop */ - srcTab = 0 /* Data comes from this temporary cursor if >=0 */ - addrInsTop = 0 /* Jump to label "D" */ - addrCont = 0 /* Index of database holding TABLE */ - useTempTable = uint8(0) /* Store SELECT results in intermediate table */ - appendFlag = uint8(0) /* True if IDLIST is in table order */ - pList = uintptr(0) /* Register in which to store next column */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v10, v13, v14, v16, v17, v18, v19, v20, v22, v24, v25, v5, v6, v7, v8, v9 /* Number of columns in the data */ + nHidden = 0 /* Number of hidden columns if TABLE is virtual */ + *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ + *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ + ipkColumn = -int32(1) /* Label for the end of the insertion loop */ + srcTab = 0 /* Data comes from this temporary cursor if >=0 */ + addrInsTop = 0 /* Jump to label "D" */ + addrCont = 0 /* Index of database holding TABLE */ + useTempTable = uint8(0) /* Store SELECT results in intermediate table */ + appendFlag = uint8(0) /* True if IDLIST is in table order */ + pList = uintptr(0) /* Register in which to store next column */ /* Register allocations */ regFromSelect = 0 /* Base register for data coming from SELECT */ regAutoinc = 0 /* Register holding the AUTOINCREMENT counter */ @@ -112857,7 +113545,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _ = libc.Int32FromInt32(0) } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_STORED)|libc.Int32FromInt32(COLFLAG_VIRTUAL)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16084, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16163, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto insert_cleanup } break @@ -112872,7 +113560,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i bIdListInOrder = uint8(0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16125, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16204, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto insert_cleanup } @@ -112889,31 +113577,49 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** co-routine is the common header to the 3rd and 4th templates. */ if pSelect != 0 { /* Result code */ - v6 = pParse + 56 - *(*int32)(unsafe.Pointer(v6))++ - v5 = *(*int32)(unsafe.Pointer(v6)) - regYield = v5 - addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) - _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) - _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) - if bIdListInOrder != 0 { - v7 = regData + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc)).FnSrc == int32(1) && int32(uint32(*(*uint16)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + 60 + 4))&0x20>>5)) != 0 && (*TSelect)(unsafe.Pointer(pSelect)).FpPrior == uintptr(0) { + pItem = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSDParm = (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn + regFromSelect = (*TSrcItem)(unsafe.Pointer(pItem)).FregResult + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FpEList)).FnExpr + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+16236, libc.VaList(bp+128, pItem)) + if bIdListInOrder != 0 && nColumn == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { + regData = regFromSelect + regRowid = regData - int32(1) + if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { + v5 = int32(1) + } else { + v5 = 0 + } + regIns = regRowid - v5 + } } else { - v7 = 0 - } - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v7 - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) - rc = _sqlite3Select(tls, pParse, pSelect, bp+8) - regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst - _ = libc.Int32FromInt32(0) - if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { - goto insert_cleanup + v7 = pParse + 56 + *(*int32)(unsafe.Pointer(v7))++ + v6 = *(*int32)(unsafe.Pointer(v7)) /* Top of the co-routine */ + regYield = v6 + addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) + _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) + if bIdListInOrder != 0 { + v8 = regData + } else { + v8 = 0 + } + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) + rc = _sqlite3Select(tls, pParse, pSelect, bp+8) + regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst + _ = libc.Int32FromInt32(0) + if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { + goto insert_cleanup + } + _ = libc.Int32FromInt32(0) + _sqlite3VdbeEndCoroutine(tls, v, regYield) + _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ + _ = libc.Int32FromInt32(0) + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr } - _ = libc.Int32FromInt32(0) - _sqlite3VdbeEndCoroutine(tls, v, regYield) - _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ - _ = libc.Int32FromInt32(0) - nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr /* Set useTempTable to TRUE if the result of the SELECT statement ** should be written into a temporary table (template 4). Set to ** FALSE if each output row of the SELECT can be written directly into @@ -112927,10 +113633,10 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin useTempTable = uint8(1) } if useTempTable != 0 { /* Label "L" */ - v9 = pParse + 52 - v8 = *(*int32)(unsafe.Pointer(v9)) - *(*int32)(unsafe.Pointer(v9))++ - srcTab = v8 + v10 = pParse + 52 + v9 = *(*int32)(unsafe.Pointer(v10)) + *(*int32)(unsafe.Pointer(v10))++ + srcTab = v9 regRec = _sqlite3GetTempReg(tls, pParse) regTempRowid = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp2(tls, v, int32(OP_OpenEphemeral), srcTab, nColumn) @@ -112972,8 +113678,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { ipkColumn-- } - goto _10 - _10: + goto _11 + _11: ; i-- } @@ -112993,28 +113699,28 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_NOINSERT) != 0 { nHidden++ } - goto _11 - _11: + goto _12 + _12: ; i++ } } if nColumn != int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16157, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16244, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) goto insert_cleanup } } if pColumn != uintptr(0) && nColumn != (*TIdList)(unsafe.Pointer(pColumn)).FnId { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16209, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16296, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup } /* Initialize the count of rows to be inserted */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&(uint64(libc.Int32FromInt32(0x00001))<= 0 { /* tag-20191021-001: If the INTEGER PRIMARY KEY is being generated by the ** SELECT, go ahead and copy the value into the rowid slot now, so that @@ -113130,18 +113836,18 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** using excess space. The file format definition requires this extra ** NULL - we cannot optimize further by skipping the column completely */ _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) - goto _20 + goto _21 } - v21 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) - colFlags = v21 - if v21&uint32(COLFLAG_NOINSERT) != uint32(0) { + v22 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) + colFlags = v22 + if v22&uint32(COLFLAG_NOINSERT) != uint32(0) { nHidden++ if colFlags&uint32(COLFLAG_VIRTUAL) != uint32(0) { /* Virtual columns do not participate in OP_MakeRecord. So back up ** iRegStore by one slot to compensate for the iRegStore++ in the ** outer for() loop */ iRegStore-- - goto _20 + goto _21 } else { if colFlags&uint32(COLFLAG_STORED) != uint32(0) { /* Stored columns are computed later. But if there are BEFORE @@ -113151,13 +113857,13 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if *(*int32)(unsafe.Pointer(bp + 48))&int32(TRIGGER_BEFORE) != 0 { _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) } - goto _20 + goto _21 } else { if pColumn == uintptr(0) { /* Hidden columns that are not explicitly named in the INSERT ** get there default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } } } @@ -113169,8 +113875,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if !(j < (*TIdList)(unsafe.Pointer(pColumn)).FnId && *(*int32)(unsafe.Pointer(pColumn + 8 + uintptr(j)*16 + 8)) != i) { break } - goto _22 - _22: + goto _23 + _23: ; j++ } @@ -113178,14 +113884,14 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin /* A column not named in the insert column list gets its ** default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } k = j } else { if nColumn == 0 { /* This is INSERT INTO ... DEFAULT VALUES. Load the default value. */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } else { k = i - nHidden } @@ -113202,16 +113908,16 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin y = _sqlite3ExprCodeTarget(tls, pParse, pX, iRegStore) if y != iRegStore { if (*TExpr)(unsafe.Pointer(pX)).Fflags&uint32(libc.Int32FromInt32(EP_Subquery)) != uint32(0) { - v23 = int32(OP_Copy) + v24 = int32(OP_Copy) } else { - v23 = int32(OP_SCopy) + v24 = int32(OP_SCopy) } - _sqlite3VdbeAddOp2(tls, v, v23, y, iRegStore) + _sqlite3VdbeAddOp2(tls, v, v24, y, iRegStore) } } } - goto _20 - _20: + goto _21 + _21: ; i++ iRegStore++ @@ -113324,11 +114030,11 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _sqlite3VtabMakeWritable(tls, pParse, pTab) _sqlite3VdbeAddOp4(tls, v, int32(OP_VUpdate), int32(1), int32((*TTable)(unsafe.Pointer(pTab)).FnCol)+int32(2), regIns, pVTab, -int32(11)) if onError == int32(OE_Default) { - v24 = int32(OE_Abort) + v25 = int32(OE_Abort) } else { - v24 = onError + v25 = onError } - _sqlite3VdbeChangeP5(tls, v, uint16(v24)) + _sqlite3VdbeChangeP5(tls, v, uint16(v25)) _sqlite3MayAbort(tls, pParse) } else { *(*int32)(unsafe.Pointer(bp + 112)) = 0 /* True to use OPFLAG_SEEKRESULT */ @@ -113387,7 +114093,7 @@ insert_end: ** invoke the callback function. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16301) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16388) } goto insert_cleanup insert_cleanup: @@ -113786,7 +114492,7 @@ func _sqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case int32(OE_Rollback): fallthrough case int32(OE_Fail): - zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12381, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12506, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) _sqlite3VdbeAddOp3(tls, v, int32(OP_HaltIfNull), libc.Int32FromInt32(SQLITE_CONSTRAINT)|libc.Int32FromInt32(5)<= 0 && !(int32(*(*uint8)(unsafe.Pointer(zFile + uintptr(iFile)))) == libc.Int32FromUint8('/'))) { @@ -116062,7 +116768,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp iFile-- } iFile++ - if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16350, int32(3)) == 0 { + if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16437, int32(3)) == 0 { iFile += int32(3) } iEntry = int32(8) @@ -116082,7 +116788,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp ; iFile++ } - libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16354, uint64(6)) + libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16441, uint64(6)) zEntry = zAltEntry xInit = _sqlite3OsDlSym(tls, pVfs, handle, zEntry) } @@ -116094,7 +116800,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v7 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16360, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16447, libc.VaList(bp+16, zEntry, zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116109,7 +116815,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp return SQLITE_OK } if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16403, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16490, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3OsDlClose(tls, pVfs, handle) @@ -116140,7 +116846,7 @@ extension_not_found: *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v10 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16435, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16522, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116149,7 +116855,7 @@ extension_not_found: /* Shared library endings to try if zFile cannot be loaded as written */ var _azEndings = [1]uintptr{ - 0: __ccgo_ts + 16315, + 0: __ccgo_ts + 16402, } func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) (r int32) { @@ -116384,7 +117090,7 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { rc = v2 } if v3 && v2 != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16472, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16559, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -116438,63 +117144,63 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { // ** result column is different from the name of the pragma // */ var _pragCName = [57]uintptr{ - 0: __ccgo_ts + 5481, - 1: __ccgo_ts + 16511, - 2: __ccgo_ts + 9058, - 3: __ccgo_ts + 16515, - 4: __ccgo_ts + 16520, - 5: __ccgo_ts + 16523, - 6: __ccgo_ts + 16533, - 7: __ccgo_ts + 16543, - 8: __ccgo_ts + 16549, - 9: __ccgo_ts + 16553, - 10: __ccgo_ts + 16558, - 11: __ccgo_ts + 16563, - 12: __ccgo_ts + 16571, - 13: __ccgo_ts + 16582, - 14: __ccgo_ts + 16585, - 15: __ccgo_ts + 16592, - 16: __ccgo_ts + 16553, - 17: __ccgo_ts + 16558, - 18: __ccgo_ts + 16599, - 19: __ccgo_ts + 16604, - 20: __ccgo_ts + 16607, - 21: __ccgo_ts + 16614, - 22: __ccgo_ts + 16549, - 23: __ccgo_ts + 16553, - 24: __ccgo_ts + 16620, - 25: __ccgo_ts + 16625, - 26: __ccgo_ts + 16630, - 27: __ccgo_ts + 16553, - 28: __ccgo_ts + 16634, - 29: __ccgo_ts + 16558, - 30: __ccgo_ts + 16642, - 31: __ccgo_ts + 16646, - 32: __ccgo_ts + 16651, - 33: __ccgo_ts + 11797, - 34: __ccgo_ts + 11793, - 35: __ccgo_ts + 16657, - 36: __ccgo_ts + 16662, - 37: __ccgo_ts + 16667, - 38: __ccgo_ts + 16511, - 39: __ccgo_ts + 16553, - 40: __ccgo_ts + 16672, - 41: __ccgo_ts + 16679, - 42: __ccgo_ts + 16686, - 43: __ccgo_ts + 9058, - 44: __ccgo_ts + 16694, - 45: __ccgo_ts + 5484, - 46: __ccgo_ts + 16700, - 47: __ccgo_ts + 16511, - 48: __ccgo_ts + 16553, - 49: __ccgo_ts + 16705, - 50: __ccgo_ts + 16710, - 51: __ccgo_ts + 15907, - 52: __ccgo_ts + 16715, - 53: __ccgo_ts + 16728, - 54: __ccgo_ts + 16737, - 55: __ccgo_ts + 16744, - 56: __ccgo_ts + 16755, + 0: __ccgo_ts + 5545, + 1: __ccgo_ts + 16598, + 2: __ccgo_ts + 9183, + 3: __ccgo_ts + 16602, + 4: __ccgo_ts + 16607, + 5: __ccgo_ts + 16610, + 6: __ccgo_ts + 16620, + 7: __ccgo_ts + 16630, + 8: __ccgo_ts + 16636, + 9: __ccgo_ts + 16640, + 10: __ccgo_ts + 16645, + 11: __ccgo_ts + 16650, + 12: __ccgo_ts + 16658, + 13: __ccgo_ts + 16669, + 14: __ccgo_ts + 16672, + 15: __ccgo_ts + 16679, + 16: __ccgo_ts + 16640, + 17: __ccgo_ts + 16645, + 18: __ccgo_ts + 16686, + 19: __ccgo_ts + 16691, + 20: __ccgo_ts + 16694, + 21: __ccgo_ts + 16701, + 22: __ccgo_ts + 16636, + 23: __ccgo_ts + 16640, + 24: __ccgo_ts + 16707, + 25: __ccgo_ts + 16712, + 26: __ccgo_ts + 16717, + 27: __ccgo_ts + 16640, + 28: __ccgo_ts + 16721, + 29: __ccgo_ts + 16645, + 30: __ccgo_ts + 16729, + 31: __ccgo_ts + 16733, + 32: __ccgo_ts + 16738, + 33: __ccgo_ts + 11922, + 34: __ccgo_ts + 11918, + 35: __ccgo_ts + 16744, + 36: __ccgo_ts + 16749, + 37: __ccgo_ts + 16754, + 38: __ccgo_ts + 16598, + 39: __ccgo_ts + 16640, + 40: __ccgo_ts + 16759, + 41: __ccgo_ts + 16766, + 42: __ccgo_ts + 16773, + 43: __ccgo_ts + 9183, + 44: __ccgo_ts + 16781, + 45: __ccgo_ts + 5548, + 46: __ccgo_ts + 16787, + 47: __ccgo_ts + 16598, + 48: __ccgo_ts + 16640, + 49: __ccgo_ts + 16792, + 50: __ccgo_ts + 16797, + 51: __ccgo_ts + 15986, + 52: __ccgo_ts + 16802, + 53: __ccgo_ts + 16815, + 54: __ccgo_ts + 16824, + 55: __ccgo_ts + 16831, + 56: __ccgo_ts + 16842, } // C documentation @@ -116513,191 +117219,191 @@ type PragmaName = TPragmaName var _aPragmaName = [66]TPragmaName{ 0: { - FzName: __ccgo_ts + 16763, + FzName: __ccgo_ts + 16850, FePragTyp: uint8(PragTyp_ANALYSIS_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 1: { - FzName: __ccgo_ts + 16778, + FzName: __ccgo_ts + 16865, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_APPLICATION_ID), }, 2: { - FzName: __ccgo_ts + 16793, + FzName: __ccgo_ts + 16880, FePragTyp: uint8(PragTyp_AUTO_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 3: { - FzName: __ccgo_ts + 16805, + FzName: __ccgo_ts + 16892, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_AutoIndex), }, 4: { - FzName: __ccgo_ts + 16821, + FzName: __ccgo_ts + 16908, FePragTyp: uint8(PragTyp_BUSY_TIMEOUT), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(56), FnPragCName: uint8(1), }, 5: { - FzName: __ccgo_ts + 16744, + FzName: __ccgo_ts + 16831, FePragTyp: uint8(PragTyp_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 6: { - FzName: __ccgo_ts + 16834, + FzName: __ccgo_ts + 16921, FePragTyp: uint8(PragTyp_CACHE_SPILL), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 7: { - FzName: __ccgo_ts + 16846, + FzName: __ccgo_ts + 16933, FePragTyp: uint8(PragTyp_CASE_SENSITIVE_LIKE), FmPragFlg: uint8(PragFlg_NoColumns), }, 8: { - FzName: __ccgo_ts + 16866, + FzName: __ccgo_ts + 16953, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CellSizeCk), }, 9: { - FzName: __ccgo_ts + 16882, + FzName: __ccgo_ts + 16969, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CkptFullFSync), }, 10: { - FzName: __ccgo_ts + 16903, + FzName: __ccgo_ts + 16990, FePragTyp: uint8(PragTyp_COLLATION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(38), FnPragCName: uint8(2), }, 11: { - FzName: __ccgo_ts + 16918, + FzName: __ccgo_ts + 17005, FePragTyp: uint8(PragTyp_COMPILE_OPTIONS), FmPragFlg: uint8(PragFlg_Result0), }, 12: { - FzName: __ccgo_ts + 16934, + FzName: __ccgo_ts + 17021, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00001)) << libc.Int32FromInt32(32), }, 13: { - FzName: __ccgo_ts + 16948, + FzName: __ccgo_ts + 17035, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_DATA_VERSION), }, 14: { - FzName: __ccgo_ts + 16961, + FzName: __ccgo_ts + 17048, FePragTyp: uint8(PragTyp_DATABASE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(47), FnPragCName: uint8(3), }, 15: { - FzName: __ccgo_ts + 16975, + FzName: __ccgo_ts + 17062, FePragTyp: uint8(PragTyp_DEFAULT_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiPragCName: uint8(55), FnPragCName: uint8(1), }, 16: { - FzName: __ccgo_ts + 16994, + FzName: __ccgo_ts + 17081, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_DeferFKs), }, 17: { - FzName: __ccgo_ts + 17013, + FzName: __ccgo_ts + 17100, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_NullCallback), }, 18: { - FzName: __ccgo_ts + 17036, + FzName: __ccgo_ts + 17123, FePragTyp: uint8(PragTyp_ENCODING), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 19: { - FzName: __ccgo_ts + 17045, + FzName: __ccgo_ts + 17132, FePragTyp: uint8(PragTyp_FOREIGN_KEY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(43), FnPragCName: uint8(4), }, 20: { - FzName: __ccgo_ts + 17063, + FzName: __ccgo_ts + 17150, FePragTyp: uint8(PragTyp_FOREIGN_KEY_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FnPragCName: uint8(8), }, 21: { - FzName: __ccgo_ts + 17080, + FzName: __ccgo_ts + 17167, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ForeignKeys), }, 22: { - FzName: __ccgo_ts + 17093, + FzName: __ccgo_ts + 17180, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), }, 23: { - FzName: __ccgo_ts + 17108, + FzName: __ccgo_ts + 17195, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullColNames), }, 24: { - FzName: __ccgo_ts + 17126, + FzName: __ccgo_ts + 17213, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullFSync), }, 25: { - FzName: __ccgo_ts + 17136, + FzName: __ccgo_ts + 17223, FePragTyp: uint8(PragTyp_FUNCTION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(27), FnPragCName: uint8(6), }, 26: { - FzName: __ccgo_ts + 17150, + FzName: __ccgo_ts + 17237, FePragTyp: uint8(PragTyp_HARD_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 27: { - FzName: __ccgo_ts + 17166, + FzName: __ccgo_ts + 17253, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_IgnoreChecks), }, 28: { - FzName: __ccgo_ts + 17191, + FzName: __ccgo_ts + 17278, FePragTyp: uint8(PragTyp_INCREMENTAL_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_NoColumns)), }, 29: { - FzName: __ccgo_ts + 17210, + FzName: __ccgo_ts + 17297, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), FnPragCName: uint8(3), }, 30: { - FzName: __ccgo_ts + 17221, + FzName: __ccgo_ts + 17308, FePragTyp: uint8(PragTyp_INDEX_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(38), FnPragCName: uint8(5), }, 31: { - FzName: __ccgo_ts + 17232, + FzName: __ccgo_ts + 17319, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), @@ -116705,146 +117411,146 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 32: { - FzName: __ccgo_ts + 17244, + FzName: __ccgo_ts + 17331, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 33: { - FzName: __ccgo_ts + 17260, + FzName: __ccgo_ts + 17347, FePragTyp: uint8(PragTyp_JOURNAL_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 34: { - FzName: __ccgo_ts + 17273, + FzName: __ccgo_ts + 17360, FePragTyp: uint8(PragTyp_JOURNAL_SIZE_LIMIT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 35: { - FzName: __ccgo_ts + 17292, + FzName: __ccgo_ts + 17379, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_LegacyAlter), }, 36: { - FzName: __ccgo_ts + 17311, + FzName: __ccgo_ts + 17398, FePragTyp: uint8(PragTyp_LOCKING_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 37: { - FzName: __ccgo_ts + 17324, + FzName: __ccgo_ts + 17411, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 38: { - FzName: __ccgo_ts + 17339, + FzName: __ccgo_ts + 17426, FePragTyp: uint8(PragTyp_MMAP_SIZE), }, 39: { - FzName: __ccgo_ts + 17349, + FzName: __ccgo_ts + 17436, FePragTyp: uint8(PragTyp_MODULE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 40: { - FzName: __ccgo_ts + 17361, + FzName: __ccgo_ts + 17448, FePragTyp: uint8(PragTyp_OPTIMIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_NeedSchema)), }, 41: { - FzName: __ccgo_ts + 17370, + FzName: __ccgo_ts + 17457, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 42: { - FzName: __ccgo_ts + 17381, + FzName: __ccgo_ts + 17468, FePragTyp: uint8(PragTyp_PAGE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 43: { - FzName: __ccgo_ts + 17391, + FzName: __ccgo_ts + 17478, FePragTyp: uint8(PragTyp_PRAGMA_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 44: { - FzName: __ccgo_ts + 17403, + FzName: __ccgo_ts + 17490, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_QueryOnly), }, 45: { - FzName: __ccgo_ts + 17414, + FzName: __ccgo_ts + 17501, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 46: { - FzName: __ccgo_ts + 17426, + FzName: __ccgo_ts + 17513, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00004)) << libc.Int32FromInt32(32), }, 47: { - FzName: __ccgo_ts + 17443, + FzName: __ccgo_ts + 17530, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_RecTriggers), }, 48: { - FzName: __ccgo_ts + 17462, + FzName: __ccgo_ts + 17549, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ReverseOrder), }, 49: { - FzName: __ccgo_ts + 17488, + FzName: __ccgo_ts + 17575, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_SCHEMA_VERSION), }, 50: { - FzName: __ccgo_ts + 17503, + FzName: __ccgo_ts + 17590, FePragTyp: uint8(PragTyp_SECURE_DELETE), FmPragFlg: uint8(PragFlg_Result0), }, 51: { - FzName: __ccgo_ts + 17517, + FzName: __ccgo_ts + 17604, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ShortColNames), }, 52: { - FzName: __ccgo_ts + 17536, + FzName: __ccgo_ts + 17623, FePragTyp: uint8(PragTyp_SHRINK_MEMORY), FmPragFlg: uint8(PragFlg_NoColumns), }, 53: { - FzName: __ccgo_ts + 17550, + FzName: __ccgo_ts + 17637, FePragTyp: uint8(PragTyp_SOFT_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 54: { - FzName: __ccgo_ts + 17566, + FzName: __ccgo_ts + 17653, FePragTyp: uint8(PragTyp_SYNCHRONOUS), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 55: { - FzName: __ccgo_ts + 17578, + FzName: __ccgo_ts + 17665, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), FnPragCName: uint8(6), }, 56: { - FzName: __ccgo_ts + 17589, + FzName: __ccgo_ts + 17676, FePragTyp: uint8(PragTyp_TABLE_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1)), FiPragCName: uint8(15), FnPragCName: uint8(6), }, 57: { - FzName: __ccgo_ts + 17600, + FzName: __ccgo_ts + 17687, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), @@ -116852,45 +117558,45 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 58: { - FzName: __ccgo_ts + 17612, + FzName: __ccgo_ts + 17699, FePragTyp: uint8(PragTyp_TEMP_STORE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 59: { - FzName: __ccgo_ts + 17623, + FzName: __ccgo_ts + 17710, FePragTyp: uint8(PragTyp_TEMP_STORE_DIRECTORY), FmPragFlg: uint8(PragFlg_NoColumns1), }, 60: { - FzName: __ccgo_ts + 17644, + FzName: __ccgo_ts + 17731, FePragTyp: uint8(PragTyp_THREADS), FmPragFlg: uint8(PragFlg_Result0), }, 61: { - FzName: __ccgo_ts + 17652, + FzName: __ccgo_ts + 17739, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_TrustedSchema), }, 62: { - FzName: __ccgo_ts + 17667, + FzName: __ccgo_ts + 17754, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_USER_VERSION), }, 63: { - FzName: __ccgo_ts + 17680, + FzName: __ccgo_ts + 17767, FePragTyp: uint8(PragTyp_WAL_AUTOCHECKPOINT), }, 64: { - FzName: __ccgo_ts + 17699, + FzName: __ccgo_ts + 17786, FePragTyp: uint8(PragTyp_WAL_CHECKPOINT), FmPragFlg: uint8(PragFlg_NeedSchema), FiPragCName: uint8(50), FnPragCName: uint8(3), }, 65: { - FzName: __ccgo_ts + 17714, + FzName: __ccgo_ts + 17801, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(SQLITE_WriteSchema) | libc.Int32FromInt32(SQLITE_NoSchemaError)), @@ -116902,6 +117608,31 @@ var _aPragmaName = [66]TPragmaName{ /************** End of pragma.h **********************************************/ /************** Continuing where we left off in pragma.c *********************/ +/* +** When the 0x10 bit of PRAGMA optimize is set, any ANALYZE commands +** will be run with an analysis_limit set to the lessor of the value of +** the following macro or to the actual analysis_limit if it is non-zero, +** in order to prevent PRAGMA optimize from running for too long. +** +** The value of 2000 is chosen emperically so that the worst-case run-time +** for PRAGMA optimize does not exceed 100 milliseconds against a variety +** of test databases on a RaspberryPI-4 compiled using -Os and without +** -DSQLITE_DEBUG. Of course, your mileage may vary. For the purpose of +** this paragraph, "worst-case" means that ANALYZE ends up being +** run on every table in the database. The worst case typically only +** happens if PRAGMA optimize is run on a database file for which ANALYZE +** has not been previously run and the 0x10000 flag is included so that +** all tables are analyzed. The usual case for PRAGMA optimize is that +** no ANALYZE commands will be run at all, or if any ANALYZE happens it +** will be against a single table, so that expected timing for PRAGMA +** optimize on a PI-4 is more like 1 millisecond or less with the 0x10000 +** flag or less than 100 microseconds without the 0x10000 flag. +** +** An analysis limit of 2000 is almost always sufficient for the query +** planner to fully characterize an index. The additional accuracy from +** a larger analysis is not usually helpful. + */ + // C documentation // // /* @@ -116991,10 +117722,10 @@ func _sqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt Tu8) (r Tu8) { // */ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { if z != 0 { - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17730) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17817) { return int32(PAGER_LOCKINGMODE_EXCLUSIVE) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17740) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17827) { return PAGER_LOCKINGMODE_NORMAL } } @@ -117012,13 +117743,13 @@ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { func _getAutoVacuum(tls *libc.TLS, z uintptr) (r int32) { var i, v1 int32 _, _ = i, v1 - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8218) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8343) { return BTREE_AUTOVACUUM_NONE } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17747) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17834) { return int32(BTREE_AUTOVACUUM_FULL) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17752) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17839) { return int32(BTREE_AUTOVACUUM_INCR) } i = _sqlite3Atoi(tls, z) @@ -117041,10 +117772,10 @@ func _getTempStore(tls *libc.TLS, z uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(z))) <= int32('2') { return int32(*(*uint8)(unsafe.Pointer(z))) - int32('0') } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+16705) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+16792) == 0 { return int32(1) } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+17764) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+17851) == 0 { return int32(2) } else { return 0 @@ -117066,7 +117797,7 @@ func _invalidateTempStorage(tls *libc.TLS, pParse uintptr) (r int32) { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt != uintptr(0) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || _sqlite3BtreeTxnState(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) != SQLITE_TXN_NONE { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17771, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17858, 0) return int32(SQLITE_ERROR) } _sqlite3BtreeClose(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) @@ -117201,15 +117932,15 @@ func _actionName(tls *libc.TLS, action Tu8) (r uintptr) { _ = zName switch int32(action) { case int32(OE_SetNull): - zName = __ccgo_ts + 17833 + zName = __ccgo_ts + 17920 case int32(OE_SetDflt): - zName = __ccgo_ts + 17842 + zName = __ccgo_ts + 17929 case int32(OE_Cascade): - zName = __ccgo_ts + 17854 + zName = __ccgo_ts + 17941 case int32(OE_Restrict): - zName = __ccgo_ts + 17862 + zName = __ccgo_ts + 17949 default: - zName = __ccgo_ts + 17871 + zName = __ccgo_ts + 17958 _ = libc.Int32FromInt32(0) break } @@ -117238,12 +117969,12 @@ func _sqlite3JournalModename(tls *libc.TLS, eMode int32) (r uintptr) { } var _azModeName = [6]uintptr{ - 0: __ccgo_ts + 17881, - 1: __ccgo_ts + 17888, - 2: __ccgo_ts + 17896, - 3: __ccgo_ts + 17900, - 4: __ccgo_ts + 17764, - 5: __ccgo_ts + 17909, + 0: __ccgo_ts + 17968, + 1: __ccgo_ts + 17975, + 2: __ccgo_ts + 17983, + 3: __ccgo_ts + 17987, + 4: __ccgo_ts + 17851, + 5: __ccgo_ts + 17996, } // C documentation @@ -117309,15 +118040,15 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s goto _1 } if (*TFuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = __ccgo_ts + 17934 + zType = __ccgo_ts + 18021 } else { if (*TFuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = __ccgo_ts + 17936 + zType = __ccgo_ts + 18023 } else { - zType = __ccgo_ts + 7617 + zType = __ccgo_ts + 7742 } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+17938, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18025, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) goto _1 _1: ; @@ -117326,9 +118057,9 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s } var _azEnc = [4]uintptr{ - 1: __ccgo_ts + 17913, - 2: __ccgo_ts + 17918, - 3: __ccgo_ts + 17926, + 1: __ccgo_ts + 18000, + 2: __ccgo_ts + 18005, + 3: __ccgo_ts + 18013, } // C documentation @@ -117369,15 +118100,15 @@ func _integrityCheckResultRow(tls *libc.TLS, v uintptr) (r int32) { func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { bp := tls.Alloc(240) defer tls.Free(240) - var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, mxIdx, n, nHidden, nIdx, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v60, v62, v63, v64, v65, v68 int32 - var aOp, aOp1, aOp2, aOp3, aOp4, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v61, v66, v8 uintptr + var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v48, v50, v64, v66, v67, v68, v69, v72, v75, v76 int32 + var aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v65, v70, v8 uintptr var azOrigin [3]uintptr var cnum Ti16 var enc Tu8 var iPrior Tsqlite3_int64 + var iRange, szThreshold TLogEst var mask Tu64 var opMask Tu32 - var szThreshold TLogEst var _ /* N at bp+136 */ Tsqlite3_int64 var _ /* N at bp+144 */ Tsqlite3_int64 var _ /* N at bp+152 */ Tsqlite3_int64 @@ -117398,7 +118129,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var _ /* size at bp+60 */ int32 var _ /* sz at bp+64 */ Tsqlite3_int64 var _ /* x at bp+40 */ Ti64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iPrior, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, mxIdx, n, nHidden, nIdx, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v5, v60, v61, v62, v63, v64, v65, v66, v68, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iPrior, iRange, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v48, v5, v50, v64, v65, v66, v67, v68, v69, v70, v72, v75, v76, v8 zLeft = uintptr(0) /* Nul-terminated UTF-8 string */ zRight = uintptr(0) /* Nul-terminated UTF-8 string , or NULL */ zDb = uintptr(0) /* return value form SQLITE_FCNTL_PRAGMA */ @@ -117427,7 +118158,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p return } if minusFlag != 0 { - zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+17945, libc.VaList(bp+176, pValue)) + zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+18032, libc.VaList(bp+176, pValue)) } else { zRight = _sqlite3NameFromToken(tls, db, pValue) } @@ -117471,7 +118202,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } if rc != int32(SQLITE_NOTFOUND) { if (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0] != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) Xsqlite3_free(tls, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0]) } (*TParse)(unsafe.Pointer(pParse)).FnErr++ @@ -117578,7 +118309,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p b = -int32(1) _ = libc.Int32FromInt32(0) if zRight != 0 { - if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+17949) == 0 { + if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18036) == 0 { b = int32(2) } else { b = int32(_sqlite3GetBoolean(tls, zRight, uint8(0))) @@ -117649,7 +118380,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p */ fallthrough case int32(PragTyp_LOCKING_MODE): - zRet = __ccgo_ts + 17740 + zRet = __ccgo_ts + 17827 eMode = _getLockingMode(tls, zRight) if (*TToken)(unsafe.Pointer(pId2)).Fn == uint32(0) && eMode == -int32(1) { /* Simple "PRAGMA locking_mode;" statement. This is a query for @@ -117679,7 +118410,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } _ = libc.Int32FromInt32(0) if eMode == int32(PAGER_LOCKINGMODE_EXCLUSIVE) { - zRet = __ccgo_ts + 17730 + zRet = __ccgo_ts + 17817 } _returnSingleText(tls, v, zRet) break @@ -117974,7 +118705,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if *(*uint8)(unsafe.Pointer(zRight)) != 0 { rc = _sqlite3OsAccess(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, zRight, int32(SQLITE_ACCESS_READWRITE), bp+72) if rc != SQLITE_OK || *(*int32)(unsafe.Pointer(bp + 72)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17954, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18041, 0) Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) goto pragma_out } @@ -117984,7 +118715,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } Xsqlite3_free(tls, Xsqlite3_temp_directory) if *(*uint8)(unsafe.Pointer(zRight)) != 0 { - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+176, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+176, zRight)) } else { Xsqlite3_temp_directory = uintptr(0) } @@ -118006,7 +118737,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _returnSingleInt(tls, v, int64(int32((*TDb)(unsafe.Pointer(pDb)).Fsafety_level)-int32(1))) } else { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17979, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18066, 0) } else { if iDb != int32(1) { iLevel = (int32(_getSafetyLevel(tls, zRight, 0, uint8(1))) + int32(1)) & int32(PAGER_SYNCHRONOUS_MASK) @@ -118039,7 +118770,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if mask == uint64(SQLITE_DeferFKs) { (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons = 0 } - if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18032) == 0 { + if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18119) == 0 { /* IMP: R-60817-01178 If the argument is "RESET" then schema ** writing is disabled (as with "PRAGMA writable_schema=OFF") and, ** in addition, the schema is reloaded. */ @@ -118122,9 +118853,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - v14 = __ccgo_ts + 18038 + v14 = __ccgo_ts + 18125 } else { - v14 = __ccgo_ts + 18046 + v14 = __ccgo_ts + 18133 } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 { v15 = int32(1) @@ -118136,7 +118867,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v16 = *(*uintptr)(unsafe.Pointer(pColExpr + 8)) } - _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1648), v15, v16, k, isHidden)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1662), v15, v16, k, isHidden)) goto _12 _12: ; @@ -118195,7 +118926,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pTab1 = (*THashElem)(unsafe.Pointer(k1)).Fdata if int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) == 0 { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18053, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18140, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 80)) = uintptr(0) Xsqlite3_prepare(tls, db, zSql, -int32(1), bp+80, uintptr(0)) @@ -118203,7 +118934,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3DbFree(tls, db, zSql) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1632, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) } pHash = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FpSchema + 8 @@ -118225,19 +118956,19 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _20 } if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10796 + zType = __ccgo_ts + 10921 } else { if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 13044 + zType = __ccgo_ts + 13169 } else { if (*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Shadow) != 0 { - zType = __ccgo_ts + 18069 + zType = __ccgo_ts + 18156 } else { - zType = __ccgo_ts + 9058 + zType = __ccgo_ts + 9183 } } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18076, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18163, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) goto _20 _20: ; @@ -118285,9 +119016,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v22 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab3)).FaCol + uintptr(cnum)*16))).FzCnName } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18083, libc.VaList(bp+176, i1, int32(cnum), v22)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18170, libc.VaList(bp+176, i1, int32(cnum), v22)) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18088, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) + _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18175, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) } _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), int32(1), (*TParse)(unsafe.Pointer(pParse)).FnMem) goto _21 @@ -118311,11 +119042,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } azOrigin = [3]uintptr{ - 0: __ccgo_ts + 18093, - 1: __ccgo_ts + 18095, - 2: __ccgo_ts + 16582, + 0: __ccgo_ts + 18180, + 1: __ccgo_ts + 18182, + 2: __ccgo_ts + 16669, } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18097, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18184, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) goto _23 _23: ; @@ -118335,7 +119066,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _24 } _ = libc.Int32FromInt32(0) - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18103, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18190, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) goto _24 _24: ; @@ -118352,7 +119083,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pColl = (*THashElem)(unsafe.Pointer(p)).Fdata v26 = i4 i4++ - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18107, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18194, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) goto _25 _25: ; @@ -118404,7 +119135,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } pMod = (*THashElem)(unsafe.Pointer(j1)).Fdata - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7617, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7742, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) goto _30 _30: ; @@ -118416,7 +119147,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i6 < int32(libc.Uint64FromInt64(1584)/libc.Uint64FromInt64(24))) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7617, libc.VaList(bp+176, _aPragmaName[i6].FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7742, libc.VaList(bp+176, _aPragmaName[i6].FzName)) goto _31 _31: ; @@ -118442,7 +119173,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(j2 < (*TFKey)(unsafe.Pointer(pFK)).FnCol) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18110, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18119)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18197, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18206)) goto _32 _32: ; @@ -118588,7 +119319,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regResult+int32(1)) } - _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18124, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) + _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18211, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), regResult, int32(4)) _sqlite3VdbeResolveLabel(tls, v, addrOk) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 96))) @@ -118658,7 +119389,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p /* Set the maximum error count */ *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) if zRight != 0 { - if _sqlite3GetInt32(tls, zRight, bp+104) != 0 { + if _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pValue)).Fz, bp+104) != 0 { if *(*int32)(unsafe.Pointer(bp + 104)) <= 0 { *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) } @@ -118678,8 +119409,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i9 < (*Tsqlite3)(unsafe.Pointer(db)).FnDb) { break } /* Array of root page numbers of all btrees */ - cnt = 0 /* Number of entries in aRoot[] */ - mxIdx = 0 /* Maximum number of indexes for any table */ + cnt = 0 /* Number of entries in aRoot[] */ if libc.Bool(OMIT_TEMPDB != 0) && i9 == int32(1) { goto _40 } @@ -118721,9 +119451,6 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pIdx3 = (*TIndex)(unsafe.Pointer(pIdx3)).FpNext nIdx++ } - if nIdx > mxIdx { - mxIdx = nIdx - } goto _41 _41: ; @@ -118779,16 +119506,78 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } *(*int32)(unsafe.Pointer(aRoot)) = cnt /* Make sure sufficient number of registers have been allocated */ - _sqlite3TouchRegister(tls, pParse, int32(8)+mxIdx) + _sqlite3TouchRegister(tls, pParse, int32(8)+cnt) _sqlite3ClearTempRegCache(tls, pParse) /* Do the b-tree integrity checks */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(2), cnt, int32(1), aRoot, -int32(14)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(1), cnt, int32(8), aRoot, -int32(14)) _sqlite3VdbeChangeP5(tls, v, uint16(uint8(i9))) addr1 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(2)) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18128, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18215, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(2), int32(3), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, addr1) + /* Check that the indexes all have the right number of rows */ + if pObjTab != 0 { + v48 = int32(1) + } else { + v48 = 0 + } + cnt = v48 + _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18239) + x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst + for { + if !(x2 != 0) { + break + } + iTab = 0 + pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab9 { + goto _49 + } + if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + v50 = cnt + cnt++ + iTab = v50 + } else { + iTab = cnt + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx5 + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { + break + } + iTab++ + goto _51 + _51: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + } + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if (*TIndex)(unsafe.Pointer(pIdx5)).FpPartIdxWhere == uintptr(0) { + addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+cnt, 0, int32(8)+iTab) + _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) + _integrityCheckResultRow(tls, v) + _sqlite3VdbeJumpHere(tls, v, addr1) + } + cnt++ + goto _52 + _52: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + goto _49 + _49: + ; + x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext + } /* Make sure all the indices are constructed correctly. */ x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst @@ -118796,39 +119585,39 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata pPrior = uintptr(0) r1 = -int32(1) /* Maximum non-virtual column number */ - if pObjTab != 0 && pObjTab != pTab9 { - goto _48 + if pObjTab != 0 && pObjTab != pTab10 { + goto _53 } - if !(int32((*TTable)(unsafe.Pointer(pTab9)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { - goto _48 + if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _53 } - if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { pPk1 = uintptr(0) r2 = 0 } else { - pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab9) + pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab10) r2 = _sqlite3GetTempRange(tls, pParse, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), int32(1), r2, r2+int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)-int32(1)) } - _sqlite3OpenTableAndIndices(tls, pParse, pTab9, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) + _sqlite3OpenTableAndIndices(tls, pParse, pTab10, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) /* reg[7] counts the number of entries in the table. ** reg[8+i] counts the number of entries in the i-th index */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(7)) j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(8)+j4) /* index entries counter */ - goto _49 - _49: + goto _54 + _54: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } _ = libc.Int32FromInt32(0) @@ -118841,29 +119630,29 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** by the OP_IsType code, so it is a required step. */ _ = libc.Int32FromInt32(0) - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { mxCol = -int32(1) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { + if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { mxCol++ } - goto _50 - _50: + goto _55 + _55: ; j4++ } - if mxCol == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { + if mxCol == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { mxCol-- } } else { /* COLFLAG_VIRTUAL columns are not included in the WITHOUT ROWID ** PK index column-count, so there is no need to account for them ** in this case. */ - mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab9))).FnColumn) - int32(1) + mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab10))).FnColumn) - int32(1) } if mxCol >= 0 { _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 108)), mxCol, int32(3)) @@ -118873,7 +119662,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if pPk1 != 0 { a1 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 108)), 0, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), r2) - zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18152, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18268, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a1) @@ -118884,8 +119673,8 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprCodeLoadIndexColumn(tls, pParse, pPk1, *(*int32)(unsafe.Pointer(bp + 108)), j4, r2+j4) - goto _51 - _51: + goto _56 + _56: ; j4++ } @@ -118900,15 +119689,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** (4) Datatype for numeric columns in non-STRICT tables must not ** be a TEXT value that can be losslessly converted to numeric. */ - bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_Strict) != uint32(0)) + bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_Strict) != uint32(0)) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - pCol1 = (*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ - if j4 == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { - goto _52 + pCol1 = (*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ + if j4 == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { + goto _57 } if bStrict != 0 { doTypeCheck = libc.BoolInt32(int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4)) > int32(COLTYPE_ANY)) @@ -118916,28 +119705,28 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p doTypeCheck = libc.BoolInt32(int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) > int32(SQLITE_AFF_BLOB)) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf>>0)) == 0 && !(doTypeCheck != 0) { - goto _52 + goto _57 } /* Compute the operands that will be needed for OP_IsType */ p4 = int32(SQLITE_NULL) if int32((*TColumn)(unsafe.Pointer(pCol1)).FcolFlags)&int32(COLFLAG_VIRTUAL) != 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) p11 = -int32(1) p3 = int32(3) } else { if (*TColumn)(unsafe.Pointer(pCol1)).FiDflt != 0 { *(*uintptr)(unsafe.Pointer(bp + 120)) = uintptr(0) - _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab9, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, (*TColumn)(unsafe.Pointer(pCol1)).Faffinity, bp+120) + _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab10, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, (*TColumn)(unsafe.Pointer(pCol1)).Faffinity, bp+120) if *(*uintptr)(unsafe.Pointer(bp + 120)) != 0 { p4 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) } } p11 = *(*int32)(unsafe.Pointer(bp + 108)) - if !((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { - p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab9), int16(j4))) + if !((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { + p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab10), int16(j4))) } else { - p3 = int32(_sqlite3TableColumnToStorage(tls, pTab9, int16(j4))) + p3 = int32(_sqlite3TableColumnToStorage(tls, pTab10, int16(j4))) } } labelError = _sqlite3VdbeMakeLabel(tls, pParse) @@ -118954,10 +119743,10 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** is REAL, we have to load the actual data using OP_Column ** to reliably determine if the value is a NULL. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), p11, p3, int32(3)) - _sqlite3ColumnDefault(tls, v, pTab9, j4, int32(3)) + _sqlite3ColumnDefault(tls, v, pTab10, j4, int32(3)) jmp3 = _sqlite3VdbeAddOp2(tls, v, int32(OP_NotNull), int32(3), labelOk) } - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18188, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18304, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) if doTypeCheck != 0 { _sqlite3VdbeGoto(tls, v, labelError) @@ -118971,7 +119760,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _ = libc.Int32FromInt32(0) _sqlite3VdbeChangeP5(tls, v, uint16(_aStdTypeMask[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)])) - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18208, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18324, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) == int32(SQLITE_AFF_TEXT) { @@ -118979,7 +119768,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** NULL, TEXT, or BLOB. */ _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18230, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18346, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) >= int32(SQLITE_AFF_NUMERIC) { @@ -118988,12 +119777,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1b)) /* NULL, INT, FLOAT, or BLOB */ if p11 >= 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18253, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18369, -int32(1)) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), -int32(1), labelOk, int32(3), p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18255, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18371, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } } @@ -119001,14 +119790,14 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeResolveLabel(tls, v, labelError) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, labelOk) - goto _52 - _52: + goto _57 + _57: ; j4++ } /* Verify CHECK constraints */ - if (*TTable)(unsafe.Pointer(pTab9)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { - pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab9)).FpCheck, 0) + if (*TTable)(unsafe.Pointer(pTab10)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { + pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab10)).FpCheck, 0) if int32((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { addrCkFault = _sqlite3VdbeMakeLabel(tls, pParse) addrCkOk = _sqlite3VdbeMakeLabel(tls, pParse) @@ -119019,15 +119808,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprIfFalse(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8 + uintptr(k3)*32))).FpExpr, addrCkFault, 0) - goto _53 - _53: + goto _58 + _58: ; k3-- } _sqlite3ExprIfTrue(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8))).FpExpr, addrCkOk, int32(SQLITE_JUMPIFNULL)) _sqlite3VdbeResolveLabel(tls, v, addrCkFault) (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18275, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18391, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr2, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -119037,25 +119826,25 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(isQuick != 0) { /* Omit the remaining tests for quick_check */ /* Validate index entries for the current row */ j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } ckUniq = _sqlite3VdbeMakeLabel(tls, pParse) - if pPk1 == pIdx5 { - goto _54 + if pPk1 == pIdx6 { + goto _59 } - r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) - pPrior = pIdx5 + r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx6, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) + pPrior = pIdx6 _sqlite3VdbeAddOp2(tls, v, int32(OP_AddImm), int32(8)+j4, int32(1)) /* increment entry count */ /* Verify that an index entry exists for the current table row */ - jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18305) + jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18421) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18310) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18426) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) - jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx6)).FzName) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) jmp4 = _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, jmp21) @@ -119063,12 +119852,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** that extracts the rowid off the end of the index record. ** But it only works correctly if index record does not have ** any extra bytes at the end. Verify that this is the case. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { _sqlite3VdbeAddOp2(tls, v, int32(OP_IdxRowid), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)-int32(1)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18331) + jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)-int32(1)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18447) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18367) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18483) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp7) } @@ -119077,101 +119866,77 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p label6 = 0 kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { - goto _55 + if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { + goto _60 } if label6 == 0 { label6 = _sqlite3VdbeMakeLabel(tls, pParse) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 112))+j4, kk, int32(3)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ne), int32(3), label6, r1+kk) - goto _55 - _55: + goto _60 + _60: ; kk++ } if label6 != 0 { jmp6 = _sqlite3VdbeAddOp0(tls, v, int32(OP_Goto)) _sqlite3VdbeResolveLabel(tls, v, label6) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18305) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18421) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18378) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18494) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp6) } /* For UNIQUE indexes, verify that only one entry exists with the ** current key. The entry is unique if (1) any column is NULL ** or (2) the next entry has a different key */ - if int32((*TIndex)(unsafe.Pointer(pIdx5)).FonError) != OE_None { + if int32((*TIndex)(unsafe.Pointer(pIdx6)).FonError) != OE_None { uniqOk = _sqlite3VdbeMakeLabel(tls, pParse) kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2))) + iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FaiColumn + uintptr(kk)*2))) _ = libc.Int32FromInt32(0) - if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { - goto _56 + if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { + goto _61 } _sqlite3VdbeAddOp2(tls, v, int32(OP_IsNull), r1+kk, uniqOk) - goto _56 - _56: + goto _61 + _61: ; kk++ } jmp61 = _sqlite3VdbeAddOp1(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 112))+j4) _sqlite3VdbeGoto(tls, v, uniqOk) _sqlite3VdbeJumpHere(tls, v, jmp61) - _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18405) + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18521) _sqlite3VdbeGoto(tls, v, jmp5) _sqlite3VdbeResolveLabel(tls, v, uniqOk) } _sqlite3VdbeJumpHere(tls, v, jmp4) _sqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 128))) - goto _54 - _54: + goto _59 + _59: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } } _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 108)), loopTop) _sqlite3VdbeJumpHere(tls, v, loopTop-int32(1)) - if !(isQuick != 0) { - _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18432) - j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex - for { - if !(pIdx5 != 0) { - break - } - if pPk1 == pIdx5 { - goto _57 - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+j4, 0, int32(3)) - _sqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) - _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) - _integrityCheckResultRow(tls, v) - _sqlite3VdbeJumpHere(tls, v, addr1) - goto _57 - _57: - ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext - j4++ - } - if pPk1 != 0 { - _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) - } + if pPk1 != 0 { + _ = libc.Int32FromInt32(0) + _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) } - goto _48 - _48: + goto _53 + _53: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -119183,60 +119948,60 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata - if pObjTab != 0 && pObjTab != pTab10 { - goto _58 + pTab11 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab11 { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == TABTYP_NORM { - goto _58 + if int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == TABTYP_NORM { + goto _62 } - if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { - goto _58 + if !(int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FnCol) <= 0 { + if int32((*TTable)(unsafe.Pointer(pTab11)).FnCol) <= 0 { zMod = *(*uintptr)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).FazArg)) + })(unsafe.Pointer(pTab11 + 64))).FazArg)) if _sqlite3HashFind(tls, db+576, zMod) == uintptr(0) { - goto _58 + goto _62 } } - _sqlite3ViewGetColumnNames(tls, pParse, pTab10) + _sqlite3ViewGetColumnNames(tls, pParse, pTab11) if (*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp == uintptr(0) { - goto _58 + })(unsafe.Pointer(pTab11 + 64))).Fp == uintptr(0) { + goto _62 } pVTab = (*TVTable)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp)).FpVtab + })(unsafe.Pointer(pTab11 + 64))).Fp)).FpVtab if pVTab == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FiVersion < int32(4) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FxIntegrity == uintptr(0) { - goto _58 + goto _62 } _sqlite3VdbeAddOp3(tls, v, int32(OP_VCheck), i9, int32(3), isQuick) - (*TTable)(unsafe.Pointer(pTab10)).FnTabRef++ - _sqlite3VdbeAppendP4(tls, v, pTab10, -int32(16)) + (*TTable)(unsafe.Pointer(pTab11)).FnTabRef++ + _sqlite3VdbeAppendP4(tls, v, pTab11, -int32(16)) a11 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a11) - goto _58 - goto _58 - _58: + goto _62 + goto _62 + _62: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -119249,7 +120014,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if aOp2 != 0 { (*(*TVdbeOp)(unsafe.Pointer(aOp2))).Fp2 = int32(1) - *(*int32)(unsafe.Pointer(bp + 104)) (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 2*24))).Fp4type = int8(-libc.Int32FromInt32(1)) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18461 + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18548 (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 5*24))).Fp4type = int8(-libc.Int32FromInt32(1)) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = _sqlite3ErrStr(tls, int32(SQLITE_CORRUPT)) } @@ -119310,20 +120075,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc != 0 { - v60 = int32((*struct { + v64 = int32((*struct { FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc) } else { - v60 = int32(SQLITE_UTF16LE) + v64 = int32(SQLITE_UTF16LE) } - enc = uint8(v60) + enc = uint8(v64) (*TSchema)(unsafe.Pointer((*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema)).Fenc = enc _sqlite3SetTextEncoding(tls, db, enc) break } - goto _59 - _59: + goto _63 + _63: ; pEnc += 16 } @@ -119331,7 +120096,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).FzName != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18522, libc.VaList(bp+176, zRight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18609, libc.VaList(bp+176, zRight)) } } } @@ -119409,11 +120174,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p i10 = 0 (*TParse)(unsafe.Pointer(pParse)).FnMem = int32(1) for { - v62 = i10 + v66 = i10 i10++ - v61 = Xsqlite3_compileoption_get(tls, v62) - zOpt = v61 - if !(v61 != uintptr(0)) { + v65 = Xsqlite3_compileoption_get(tls, v66) + zOpt = v65 + if !(v65 != uintptr(0)) { break } _sqlite3VdbeLoadString(tls, v, int32(1), zOpt) @@ -119429,20 +120194,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p fallthrough case int32(PragTyp_WAL_CHECKPOINT): if (*TToken)(unsafe.Pointer(pId2)).Fz != 0 { - v63 = iDb + v67 = iDb } else { - v63 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) + v67 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) } - iBt = v63 + iBt = v67 eMode2 = SQLITE_CHECKPOINT_PASSIVE if zRight != 0 { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17747) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17834) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_FULL) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18547) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18634) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_RESTART) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17900) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17987) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_TRUNCATE) } } @@ -119466,11 +120231,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p Xsqlite3_wal_autocheckpoint(tls, db, _sqlite3Atoi(tls, zRight)) } if (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback == __ccgo_fp(_sqlite3WalDefaultHook) { - v64 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) + v68 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) } else { - v64 = 0 + v68 = 0 } - _returnSingleInt(tls, v, int64(v64)) + _returnSingleInt(tls, v, int64(v68)) break /* ** PRAGMA shrink_memory @@ -119498,47 +120263,68 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** ** The optional argument is a bitmask of optimizations to perform: ** - ** 0x0001 Debugging mode. Do not actually perform any optimizations - ** but instead return one line of text for each optimization - ** that would have been done. Off by default. + ** 0x00001 Debugging mode. Do not actually perform any optimizations + ** but instead return one line of text for each optimization + ** that would have been done. Off by default. ** - ** 0x0002 Run ANALYZE on tables that might benefit. On by default. - ** See below for additional information. + ** 0x00002 Run ANALYZE on tables that might benefit. On by default. + ** See below for additional information. ** - ** 0x0004 (Not yet implemented) Record usage and performance - ** information from the current session in the - ** database file so that it will be available to "optimize" - ** pragmas run by future database connections. + ** 0x00010 Run all ANALYZE operations using an analysis_limit that + ** is the lessor of the current analysis_limit and the + ** SQLITE_DEFAULT_OPTIMIZE_LIMIT compile-time option. + ** The default value of SQLITE_DEFAULT_OPTIMIZE_LIMIT is + ** currently (2024-02-19) set to 2000, which is such that + ** the worst case run-time for PRAGMA optimize on a 100MB + ** database will usually be less than 100 milliseconds on + ** a RaspberryPI-4 class machine. On by default. ** - ** 0x0008 (Not yet implemented) Create indexes that might have - ** been helpful to recent queries + ** 0x10000 Look at tables to see if they need to be reanalyzed + ** due to growth or shrinkage even if they have not been + ** queried during the current connection. Off by default. ** - ** The default MASK is and always shall be 0xfffe. 0xfffe means perform all - ** of the optimizations listed above except Debug Mode, including new - ** optimizations that have not yet been invented. If new optimizations are - ** ever added that should be off by default, those off-by-default - ** optimizations will have bitmasks of 0x10000 or larger. + ** The default MASK is and always shall be 0x0fffe. In the current + ** implementation, the default mask only covers the 0x00002 optimization, + ** though additional optimizations that are covered by 0x0fffe might be + ** added in the future. Optimizations that are off by default and must + ** be explicitly requested have masks of 0x10000 or greater. ** ** DETERMINATION OF WHEN TO RUN ANALYZE ** ** In the current implementation, a table is analyzed if only if all of ** the following are true: ** - ** (1) MASK bit 0x02 is set. + ** (1) MASK bit 0x00002 is set. + ** + ** (2) The table is an ordinary table, not a virtual table or view. ** - ** (2) The query planner used sqlite_stat1-style statistics for one or - ** more indexes of the table at some point during the lifetime of - ** the current connection. + ** (3) The table name does not begin with "sqlite_". ** - ** (3) One or more indexes of the table are currently unanalyzed OR - ** the number of rows in the table has increased by 25 times or more - ** since the last time ANALYZE was run. + ** (4) One or more of the following is true: + ** (4a) The 0x10000 MASK bit is set. + ** (4b) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. + ** (4c) The query planner used sqlite_stat1-style statistics for one + ** or more indexes of the table at some point during the lifetime + ** of the current connection. + ** + ** (5) One or more of the following is true: + ** (5a) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. (Same as 4a) + ** (5b) The number of rows in the table has increased or decreased by + ** 10-fold. In other words, the current size of the table is + ** 10 times larger than the size in sqlite_stat1 or else the + ** current size is less than 1/10th the size in sqlite_stat1. ** ** The rules for when tables are analyzed are likely to change in - ** future releases. + ** future releases. Future versions of SQLite might accept a string + ** literal argument to this pragma that contains a mnemonic description + ** of the options rather than a bitmap. */ fallthrough - case int32(PragTyp_OPTIMIZE): /* Mask of operations to perform */ + case int32(PragTyp_OPTIMIZE): /* Analysis limit to use */ + nCheck = 0 /* Number of tables to be optimized */ + nBtree = 0 /* Number of indexes on the current table */ if zRight != 0 { opMask = uint32(_sqlite3Atoi(tls, zRight)) if opMask&uint32(0x02) == uint32(0) { @@ -119547,22 +120333,31 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { opMask = uint32(0xfffe) } - v66 = pParse + 52 - v65 = *(*int32)(unsafe.Pointer(v66)) - *(*int32)(unsafe.Pointer(v66))++ - iTabCur = v65 + if opMask&uint32(0x10) == uint32(0) { + nLimit = 0 + } else { + if (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit > 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit < int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) { + nLimit = 0 + } else { + nLimit = int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) + } + } + v70 = pParse + 52 + v69 = *(*int32)(unsafe.Pointer(v70)) + *(*int32)(unsafe.Pointer(v70))++ + iTabCur = v69 if zDb != 0 { - v68 = iDb + v72 = iDb } else { - v68 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) + v72 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) } - iDbLast = v68 + iDbLast = v72 for { if !(iDb <= iDbLast) { break } if iDb == int32(1) { - goto _67 + goto _71 } _sqlite3CodeVerifySchema(tls, pParse, iDb) pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema @@ -119571,53 +120366,122 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(k4 != 0) { break } - pTab11 = (*THashElem)(unsafe.Pointer(k4)).Fdata - /* If table pTab has not been used in a way that would benefit from - ** having analysis statistics during the current session, then skip it. - ** This also has the effect of skipping virtual tables and views */ - if (*TTable)(unsafe.Pointer(pTab11)).FtabFlags&uint32(TF_StatsUsed) == uint32(0) { - goto _69 + pTab12 = (*THashElem)(unsafe.Pointer(k4)).Fdata + /* This only works for ordinary tables */ + if !(int32((*TTable)(unsafe.Pointer(pTab12)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _73 } - /* Reanalyze if the table is 25 times larger than the last analysis */ - szThreshold = int16(int32((*TTable)(unsafe.Pointer(pTab11)).FnRowLogEst) + int32(46)) - _ = libc.Int32FromInt32(0) - pIdx6 = (*TTable)(unsafe.Pointer(pTab11)).FpIndex + /* Do not scan system tables */ + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab12)).FzName, __ccgo_ts+6589, int32(7)) { + goto _73 + } + /* Find the size of the table as last recorded in sqlite_stat1. + ** If any index is unanalyzed, then the threshold is -1 to + ** indicate a new, unanalyzed index + */ + szThreshold = (*TTable)(unsafe.Pointer(pTab12)).FnRowLogEst + nIndex = 0 + pIdx7 = (*TTable)(unsafe.Pointer(pTab12)).FpIndex for { - if !(pIdx6 != 0) { + if !(pIdx7 != 0) { break } - if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7)) != 0) { - szThreshold = 0 /* Always analyze if any index lacks statistics */ - break + nIndex++ + if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx7 + 100))&0x80>>7)) != 0) { + szThreshold = int16(-int32(1)) /* Always analyze if any index lacks statistics */ } - goto _70 - _70: + goto _74 + _74: ; - pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext + pIdx7 = (*TIndex)(unsafe.Pointer(pIdx7)).FpNext + } + /* If table pTab has not been used in a way that would benefit from + ** having analysis statistics during the current session, then skip it, + ** unless the 0x10000 MASK bit is set. */ + if (*TTable)(unsafe.Pointer(pTab12)).FtabFlags&uint32(TF_MaybeReanalyze) != uint32(0) { + /* Check for size change if stat1 has been used for a query */ + } else { + if opMask&uint32(0x10000) != 0 { + /* Check for size change if 0x10000 is set */ + } else { + if (*TTable)(unsafe.Pointer(pTab12)).FpIndex != uintptr(0) && int32(szThreshold) < 0 { + /* Do analysis if unanalyzed indexes exists */ + } else { + /* Otherwise, we can skip this table */ + goto _73 + } + } } - if szThreshold != 0 { - _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab11, int32(OP_OpenRead)) - _sqlite3VdbeAddOp3(tls, v, int32(OP_IfSmaller), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), int32(szThreshold)) + nCheck++ + if nCheck == int32(2) { + /* If ANALYZE might be invoked two or more times, hold a write + ** transaction for efficiency */ + _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) + } + nBtree += nIndex + int32(1) + /* Reanalyze if the table is 10 times larger or smaller than + ** the last analysis. Unconditional reanalysis if there are + ** unanalyzed indexes. */ + _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab12, int32(OP_OpenRead)) + if int32(szThreshold) >= 0 { + iRange = int16(33) /* 10x size change */ + if int32(szThreshold) >= int32(iRange) { + v75 = int32(szThreshold) - int32(iRange) + } else { + v75 = -int32(1) + } + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IfSizeBetween), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), v75, int32(szThreshold)+int32(iRange)) + } else { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1))) } - zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18555, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab11)).FzName)) + zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18642, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab12)).FzName)) if opMask&uint32(0x01) != 0 { r11 = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, r11, 0, zSubSql, -int32(6)) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), r11, int32(1)) } else { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), 0, 0, 0, zSubSql, -int32(6)) + if nLimit != 0 { + v76 = int32(0x02) + } else { + v76 = 00 + } + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), v76, nLimit, 0, zSubSql, -int32(6)) } - goto _69 - _69: + goto _73 + _73: ; k4 = (*THashElem)(unsafe.Pointer(k4)).Fnext } - goto _67 - _67: + goto _71 + _71: ; iDb++ } _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) + /* In a schema with a large number of tables and indexes, scale back + ** the analysis_limit to avoid excess run-time in the worst case. + */ + if !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && nLimit > 0 && nBtree > int32(100) { + nLimit = int32(100) * nLimit / nBtree + if nLimit < int32(100) { + nLimit = int32(100) + } + aOp5 = _sqlite3VdbeGetOp(tls, v, 0) + iEnd = _sqlite3VdbeCurrentAddr(tls, v) + iAddr1 = 0 + for { + if !(iAddr1 < iEnd) { + break + } + if int32((*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fopcode) == int32(OP_SqlExec) { + (*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fp2 = nLimit + } + goto _77 + _77: + ; + iAddr1++ + } + } break /* ** PRAGMA busy_timeout @@ -119844,34 +120708,34 @@ var _encnames1 = [9]struct { Fenc Tu8 }{ 0: { - FzName: __ccgo_ts + 18464, + FzName: __ccgo_ts + 18551, Fenc: uint8(SQLITE_UTF8), }, 1: { - FzName: __ccgo_ts + 18469, + FzName: __ccgo_ts + 18556, Fenc: uint8(SQLITE_UTF8), }, 2: { - FzName: __ccgo_ts + 18475, + FzName: __ccgo_ts + 18562, Fenc: uint8(SQLITE_UTF16LE), }, 3: { - FzName: __ccgo_ts + 18484, + FzName: __ccgo_ts + 18571, Fenc: uint8(SQLITE_UTF16BE), }, 4: { - FzName: __ccgo_ts + 18493, + FzName: __ccgo_ts + 18580, Fenc: uint8(SQLITE_UTF16LE), }, 5: { - FzName: __ccgo_ts + 18501, + FzName: __ccgo_ts + 18588, Fenc: uint8(SQLITE_UTF16BE), }, 6: { - FzName: __ccgo_ts + 18509, + FzName: __ccgo_ts + 18596, }, 7: { - FzName: __ccgo_ts + 18516, + FzName: __ccgo_ts + 18603, }, 8: {}, } @@ -119967,14 +120831,14 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg _ = argc _ = argv _sqlite3StrAccumInit(tls, bp, uintptr(0), bp+32, int32(200), 0) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18573) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18660) i = 0 j = int32((*TPragmaName)(unsafe.Pointer(pPragma)).FiPragCName) for { if !(i < int32((*TPragmaName)(unsafe.Pointer(pPragma)).FnPragCName)) { break } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18588, libc.VaList(bp+240, int32(cSep), _pragCName[j])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18675, libc.VaList(bp+240, int32(cSep), _pragCName[j])) cSep = uint8(',') goto _1 _1: @@ -119983,19 +120847,19 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg j++ } if i == 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18595, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18682, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&int32(PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18601) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18688) j++ } if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(libc.Int32FromInt32(PragFlg_SchemaOpt)|libc.Int32FromInt32(PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18613) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18700) j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5170, int32(1)) _sqlite3StrAccumFinish(tls, bp) _ = libc.Int32FromInt32(0) rc = Xsqlite3_declare_vtab(tls, db, bp+32) @@ -120011,7 +120875,7 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg (*TPragmaVtab)(unsafe.Pointer(pTab)).FnHidden = uint8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab return rc @@ -120057,14 +120921,14 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 if !(i < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { break } - if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { goto _1 } if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != int32(SQLITE_INDEX_CONSTRAINT_EQ) { goto _1 } - if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { - goto _1 + if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + return int32(SQLITE_CONSTRAINT) } j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn - int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) _ = libc.Int32FromInt32(0) @@ -120083,16 +120947,13 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 j = seen[0] - int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) - if seen[int32(1)] == 0 { - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(1000) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000) - return SQLITE_OK - } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(20) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(20) - j = seen[int32(1)] - int32(1) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + if seen[int32(1)] != 0 { + j = seen[int32(1)] - int32(1) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + } return SQLITE_OK } @@ -120120,6 +120981,7 @@ func _pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { _ = i Xsqlite3_finalize(tls, (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) + (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(16)/libc.Uint64FromInt64(8))) { @@ -120198,7 +121060,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if zText != 0 { - *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+40, zText)) + *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+40, zText)) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -120210,13 +121072,13 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr j++ } _sqlite3StrAccumInit(tls, bp, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4))) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18628) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18715) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18636, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18723, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) } Xsqlite3_str_appendall(tls, bp, (*TPragmaName)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18640, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18727, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) } zSql = _sqlite3StrAccumFinish(tls, bp) if zSql == uintptr(0) { @@ -120225,7 +121087,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr rc = Xsqlite3_prepare_v2(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), pCsr+8, uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return _pragmaVtabNext(tls, pVtabCursor) @@ -120353,24 +121215,24 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) /* A error message has already been generated. Do not overwrite it */ } else { if (*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(libc.Int32FromInt32(INITFLAG_AlterMask)) != 0 { - *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18674, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) + *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18761, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) (*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR) } else { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140891)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141840)) } else { if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - v1 = __ccgo_ts + 5108 + v1 = __ccgo_ts + 5172 } zObj = v1 - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18702, libc.VaList(bp+8, zObj)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18789, libc.VaList(bp+8, zObj)) if zExtra != 0 && *(*uint8)(unsafe.Pointer(zExtra)) != 0 { - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18733, libc.VaList(bp+8, z, zExtra)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18820, libc.VaList(bp+8, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140898)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141847)) } } } @@ -120378,9 +121240,9 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } var _azAlterType = [3]uintptr{ - 0: __ccgo_ts + 18644, - 1: __ccgo_ts + 18651, - 2: __ccgo_ts + 18663, + 0: __ccgo_ts + 18731, + 1: __ccgo_ts + 18738, + 2: __ccgo_ts + 18750, } // C documentation @@ -120460,7 +121322,7 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(iDb) if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), db+192) == 0 || (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage && (*TInitData)(unsafe.Pointer(pData)).FmxPage > uint32(0) { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14516) + _corruptSchema(tls, pData, argv, __ccgo_ts+14609) } } libc.SetBitFieldPtr8Uint32(db+192+8, libc.Uint32FromInt32(0), 0, 0x1) @@ -120495,11 +121357,11 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr } else { pIndex = _sqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName) if pIndex == uintptr(0) { - _corruptSchema(tls, pData, argv, __ccgo_ts+18741) + _corruptSchema(tls, pData, argv, __ccgo_ts+18828) } else { if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum < uint32(2) || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage || _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14516) + _corruptSchema(tls, pData, argv, __ccgo_ts+14609) } } } @@ -120543,18 +121405,18 @@ func _sqlite3InitOne(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. */ - (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9058 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9183 if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6533 + v2 = __ccgo_ts + 6597 } else { - v2 = __ccgo_ts + 6066 + v2 = __ccgo_ts + 6130 } v1 = v2 zSchemaTabName = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(2)] = (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8130 - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18754 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8255 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18841 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(5)] = uintptr(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 72))).FiDb = iDb @@ -120644,7 +121506,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl } else { /* If opening an attached database, the encoding much match ENC(db) */ if (*(*[5]int32)(unsafe.Pointer(bp + 48)))[libc.Int32FromInt32(BTREE_TEXT_ENCODING)-libc.Int32FromInt32(1)]&int32(3) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12095) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12220) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -120670,7 +121532,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = uint8(1) } if int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > int32(SQLITE_MAX_FILE_FORMAT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18826) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18913) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -120686,7 +121548,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl */ _ = libc.Int32FromInt32(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).FmxPage = _sqlite3BtreeLastPage(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18850, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18937, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, __ccgo_fp(_sqlite3InitCallback), bp+72, uintptr(0)) @@ -121003,7 +121865,12 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) { var pCleanup uintptr _ = pCleanup - pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + if _sqlite3FaultSim(tls, int32(300)) != 0 { + pCleanup = uintptr(0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) + } else { + pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + } if pCleanup != 0 { (*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup (*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup @@ -121035,7 +121902,7 @@ func _sqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FpParse = pParse (*TParse)(unsafe.Pointer(pParse)).Fdb = db if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1632, 0) } } @@ -121071,7 +121938,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } _ = libc.Int32FromInt32(0) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1632, 0) v1 = libc.Int32FromInt32(SQLITE_NOMEM) rc = v1 (*Tsqlite3)(unsafe.Pointer(db)).FerrCode = v1 @@ -121122,7 +121989,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep rc = _sqlite3BtreeSchemaLocked(tls, pBt) if rc != 0 { zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FzDbSName - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18884, libc.VaList(bp+432, zDb)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18971, libc.VaList(bp+432, zDb)) goto end_prepare } } @@ -121138,7 +122005,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep if nBytes >= 0 && (nBytes == 0 || int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(nBytes-int32(1))))) != 0) { mxLen = *(*int32)(unsafe.Pointer(db + 136 + 1*4)) if nBytes > mxLen { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+18914, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+19001, 0) rc = _sqlite3ApiExit(tls, db, int32(SQLITE_TOOBIG)) goto end_prepare } @@ -121174,7 +122041,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep _ = libc.Int32FromInt32(0) rc = (*(*TParse)(unsafe.Pointer(bp))).Frc if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3795, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3859, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) } else { _sqlite3Error(tls, db, rc) @@ -121205,7 +122072,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3 cnt = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141699)) + return _sqlite3MisuseError(tls, int32(142654)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) _sqlite3BtreeEnterAll(tls, db) @@ -121348,7 +122215,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr rc = SQLITE_OK *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141848)) + return _sqlite3MisuseError(tls, int32(142803)) } if nBytes >= 0 { z = zSql @@ -121758,15 +122625,15 @@ func _sqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC i++ } if jointype&(libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER)) == libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER) || jointype&int32(JT_ERROR) != 0 || jointype&(libc.Int32FromInt32(JT_OUTER)|libc.Int32FromInt32(JT_LEFT)|libc.Int32FromInt32(JT_RIGHT)) == int32(JT_OUTER) { - zSp1 = __ccgo_ts + 11202 - zSp2 = __ccgo_ts + 11202 + zSp1 = __ccgo_ts + 11327 + zSp2 = __ccgo_ts + 11327 if pB == uintptr(0) { zSp1++ } if pC == uintptr(0) { zSp2++ } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18933, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19020, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) jointype = int32(JT_INNER) } return jointype @@ -122069,7 +122936,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { if int32((*TSrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype)&int32(JT_NATURAL) != 0 { pUsing = uintptr(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18963, libc.VaList(bp+16, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19050, libc.VaList(bp+16, 0)) return int32(1) } j = 0 @@ -122122,7 +122989,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { zName1 = (*(*TIdList_item)(unsafe.Pointer(pList + 8 + uintptr(j)*16))).FzName iRightCol = _sqlite3ColumnIndex(tls, pRightTab, zName1) if iRightCol < 0 || _tableAndColumnIndex(tls, pSrc, 0, i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19013, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19100, libc.VaList(bp+16, zName1)) return int32(1) } pE1 = _sqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4))) @@ -122144,7 +123011,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { pFuncArgs = uintptr(0) /* Arguments to the coalesce() */ for _tableAndColumnIndex(tls, pSrc, *(*int32)(unsafe.Pointer(bp))+int32(1), i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) != 0 { if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 60 + 4))&0x400>>10)) == 0 || _sqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 72)), zName1) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19077, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19164, libc.VaList(bp+16, zName1)) break } pFuncArgs = _sqlite3ExprListAppend(tls, pParse, pFuncArgs, pE1) @@ -122190,7 +123057,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { } var _tkCoalesce = TToken{ - Fz: __ccgo_ts + 6730, + Fz: __ccgo_ts + 6794, Fn: uint32(8), } @@ -122990,13 +123857,13 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { _ = z switch id { case int32(TK_ALL): - z = __ccgo_ts + 19114 + z = __ccgo_ts + 19201 case int32(TK_INTERSECT): - z = __ccgo_ts + 19124 + z = __ccgo_ts + 19211 case int32(TK_EXCEPT): - z = __ccgo_ts + 19134 + z = __ccgo_ts + 19221 default: - z = __ccgo_ts + 19141 + z = __ccgo_ts + 19228 break } return z @@ -123017,7 +123884,7 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { func _explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19147, libc.VaList(bp+8, zUsage)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19234, libc.VaList(bp+8, zUsage)) } /* @@ -123051,12 +123918,17 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, iParm = (*TSelectDest)(unsafe.Pointer(pDest)).FiSDParm /* True if sorter record includes seq. no. */ nRefKey = 0 aOutEx = (*TSelect)(unsafe.Pointer(p)).FpEList + 8 - if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 { - v1 = __ccgo_ts + 19170 + nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat == 0 || nKey == int32(1) { + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat != 0 { + v1 = __ccgo_ts + 19257 + } else { + v1 = __ccgo_ts + 1662 + } + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19271, libc.VaList(bp+8, v1)) } else { - v1 = __ccgo_ts + 1648 + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19302, libc.VaList(bp+8, nKey)) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19185, libc.VaList(bp+8, v1)) _ = libc.Int32FromInt32(0) if (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut != 0 { _sqlite3VdbeAddOp2(tls, v, int32(OP_Gosub), (*TSortCtx)(unsafe.Pointer(pSort)).FregReturn, (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut) @@ -123079,7 +123951,6 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, regRow = _sqlite3GetTempRange(tls, pParse, nColumn) } } - nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat if int32((*TSortCtx)(unsafe.Pointer(pSort)).FsortFlags)&int32(SORTFLAG_UseSorter) != 0 { v3 = pParse + 56 *(*int32)(unsafe.Pointer(v3))++ @@ -123305,7 +124176,7 @@ func _columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr _ = libc.Int32FromInt32(0) if iCol < 0 { zType = __ccgo_ts + 1136 - *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16694 + *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16781 } else { *(*uintptr)(unsafe.Pointer(bp + 16)) = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, uintptr(0)) @@ -123458,13 +124329,13 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } _ = libc.Int32FromInt32(0) if iCol < 0 { - zCol = __ccgo_ts + 16694 + zCol = __ccgo_ts + 16781 } else { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } if fullName != 0 { zName1 = uintptr(0) - zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12381, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) + zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12506, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName1, __ccgo_fp(_sqlite3OomClear)) } else { _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, uintptr(-libc.Int32FromInt32(1))) @@ -123472,7 +124343,7 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { z = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32))).FzEName if z == uintptr(0) { - v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19216, libc.VaList(bp+8, i+int32(1))) + v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19348, libc.VaList(bp+8, i+int32(1))) } else { v2 = _sqlite3DbStrDup(tls, db, z) } @@ -123566,7 +124437,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if iCol >= 0 { v3 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } else { - v3 = __ccgo_ts + 16694 + v3 = __ccgo_ts + 16781 } zName = v3 } else { @@ -123582,7 +124453,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if zName != 0 && !(_sqlite3IsTrueOrFalse(tls, zName) != 0) { zName = _sqlite3DbStrDup(tls, db, zName) } else { - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19216, libc.VaList(bp+40, i+int32(1))) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19348, libc.VaList(bp+40, i+int32(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. @@ -123618,7 +124489,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, } *(*Tu32)(unsafe.Pointer(bp))++ v8 = *(*Tu32)(unsafe.Pointer(bp)) - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19225, libc.VaList(bp+40, nName, zName, v8)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19357, libc.VaList(bp+40, nName, zName, v8)) _sqlite3ProgressCheck(tls, pParse) if *(*Tu32)(unsafe.Pointer(bp)) > uint32(3) { Xsqlite3_randomness(tls, int32(4), bp) @@ -123678,9 +124549,9 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS defer tls.Free(64) var a, db, p, pCol, pColl, pS2, zType, p4, p5 uintptr var i, j, m int32 - var m1, n Ti64 + var k, n Ti64 var _ /* sNC at bp+0 */ TNameContext - _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, m, m1, n, p, pCol, pColl, pS2, zType, p4, p5 + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, k, m, n, p, pCol, pColl, pS2, zType, p4, p5 db = (*TParse)(unsafe.Pointer(pParse)).Fdb _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -123701,17 +124572,22 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS if !(i < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } + m = 0 + pS2 = pSelect *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags) & libc.Int32FromInt32(COLFLAG_NOINSERT)) p = (*(*TExprList_item)(unsafe.Pointer(a + uintptr(i)*32))).FpExpr /* pCol->szEst = ... // Column size est for SELECT tables never used */ (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, p) + for int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) && (*TSelect)(unsafe.Pointer(pS2)).FpNext != uintptr(0) { + m |= _sqlite3ExprDataType(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext + (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + } if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) { (*TColumn)(unsafe.Pointer(pCol)).Faffinity = aff } - if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && (*TSelect)(unsafe.Pointer(pSelect)).FpNext != 0 { - m = 0 - m = 0 - pS2 = (*TSelect)(unsafe.Pointer(pSelect)).FpNext + if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && ((*TSelect)(unsafe.Pointer(pS2)).FpNext != 0 || pS2 != pSelect) { + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext for { if !(pS2 != 0) { break @@ -123736,7 +124612,7 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS zType = _columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0)) if zType == uintptr(0) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) != int32(_sqlite3AffinityType(tls, zType, uintptr(0))) { if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_NUMERIC) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_FLEXNUM) { - zType = __ccgo_ts + 19233 + zType = __ccgo_ts + 19365 } else { zType = uintptr(0) j = int32(1) @@ -123756,13 +124632,13 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS } } if zType != 0 { - m1 = int64(_sqlite3Strlen30(tls, zType)) + k = int64(_sqlite3Strlen30(tls, zType)) n = int64(_sqlite3Strlen30(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) - (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+m1+int64(2))) + (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+k+int64(2))) p4 = pCol + 14 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) & ^(libc.Int32FromInt32(COLFLAG_HASTYPE) | libc.Int32FromInt32(COLFLAG_HASCOLL))) if (*TColumn)(unsafe.Pointer(pCol)).FzCnName != 0 { - libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(m1+int64(1))) + libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(k+int64(1))) p5 = pCol + 14 *(*Tu16)(unsafe.Pointer(p5)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p5))) | libc.Int32FromInt32(COLFLAG_HASTYPE)) } @@ -124058,7 +124934,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest iDistinct = 0 /* To ensure unique results if UNION */ eDest = int32(SRT_Fifo) /* Registers used by LIMIT and OFFSET */ if (*TSelect)(unsafe.Pointer(p)).FpWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19237, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19369, 0) return } /* Obtain authorization to do a recursive query */ @@ -124151,7 +125027,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest break } if (*TSelect)(unsafe.Pointer(pFirstRec)).FselFlags&uint32(SF_Aggregate) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19286, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19418, 0) goto end_of_recursive_query } (*TSelect)(unsafe.Pointer(pFirstRec)).Fop = uint8(TK_ALL) @@ -124166,7 +125042,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest /* Store the results of the setup-query in Queue. */ pSetup = (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior (*TSelect)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19328, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19460, 0) rc = _sqlite3Select(tls, pParse, pSetup, bp) (*TSelect)(unsafe.Pointer(pSetup)).FpNext = p if rc != 0 { @@ -124194,7 +125070,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest ** the value for the recursive-table. Store the results in the Queue. */ (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19334, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19466, 0) _sqlite3Select(tls, pParse, p, bp) _ = libc.Int32FromInt32(0) (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -124253,11 +125129,11 @@ func _multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) nRow += bShowAll } if nRow == int32(1) { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } else { - v1 = __ccgo_ts + 19349 + v1 = __ccgo_ts + 19481 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19351, libc.VaList(bp+8, nRow, v1)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19483, libc.VaList(bp+8, nRow, v1)) for p != 0 { _selectInnerLoop(tls, pParse, p, -int32(1), uintptr(0), uintptr(0), pDest, int32(1), int32(1)) if !(bShowAll != 0) { @@ -124372,8 +125248,8 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in return _multiSelectOrderBy(tls, pParse, p, pDest) } else { if (*TSelect)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19374, 0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19389, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19506, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19521, 0) } /* Generate code for the left and right SELECT statements. */ @@ -124399,7 +125275,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in _sqlite3VdbeAddOp3(tls, v, int32(OP_OffsetLimit), (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TSelect)(unsafe.Pointer(p)).FiOffset+int32(1), (*TSelect)(unsafe.Pointer(p)).FiOffset) } } - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19114, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19201, 0) rc = _sqlite3Select(tls, pParse, p, bp) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124456,7 +125332,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 48))).FeDest = op - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19408, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19540, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+48) _ = libc.Int32FromInt32(0) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior @@ -124522,7 +125398,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit1 = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 88))).FiSDParm = tab2 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19408, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19540, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+88) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124649,9 +125525,9 @@ func _sqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) bp := tls.Alloc(16) defer tls.Free(16) if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Values) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19429, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19561, 0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19475, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19607, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) } } @@ -125037,8 +125913,8 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy = _sqlite3ExprListDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0) - _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7367) - _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7367) + _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7492) + _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7492) /* Compute the limit registers */ _computeLimitRegisters(tls, pParse, p, labelEnd) if (*TSelect)(unsafe.Pointer(p)).FiLimit != 0 && op == int32(TK_ALL) { @@ -125082,14 +125958,14 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr regOutB = v21 _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), regAddrA) _sqlite3SelectDestInit(tls, bp+40, int32(SRT_Coroutine), regAddrB) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19557, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19689, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) /* Generate a coroutine to evaluate the SELECT statement to the ** left of the compound operator - the "A" select. */ addrSelectA = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regAddrA, 0, addrSelectA) (*TSelect)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19568, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19700, 0) _sqlite3Select(tls, pParse, pPrior, bp) _sqlite3VdbeEndCoroutine(tls, v, regAddrA) _sqlite3VdbeJumpHere(tls, v, addr1) @@ -125102,7 +125978,7 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr savedOffset = (*TSelect)(unsafe.Pointer(p)).FiOffset (*TSelect)(unsafe.Pointer(p)).FiLimit = regLimitB (*TSelect)(unsafe.Pointer(p)).FiOffset = 0 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19573, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19705, 0) _sqlite3Select(tls, pParse, p, bp+40) (*TSelect)(unsafe.Pointer(p)).FiLimit = savedLimit (*TSelect)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -125320,7 +126196,7 @@ func _substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) (r uintptr) { if pColl != 0 { v1 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v1 = __ccgo_ts + 5086 + v1 = __ccgo_ts + 5150 } pExpr = _sqlite3ExprAddCollateString(tls, (*TSubstContext)(unsafe.Pointer(pSubst)).FpParse, pExpr, v1) } @@ -126384,10 +127260,10 @@ func _findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pLeft) != 0 { + if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pLeft) != 0 { _constInsert(tls, pConst, pRight, pLeft, pExpr) } - if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pRight) != 0 { + if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pRight) != 0 { _constInsert(tls, pConst, pLeft, pRight, pExpr) } } @@ -126628,6 +127504,18 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** The hope is that the terms added to the inner query will make it more // ** efficient. // ** +// ** NAME AMBIGUITY +// ** +// ** This optimization is called the "WHERE-clause push-down optimization". +// ** +// ** Do not confuse this optimization with another unrelated optimization +// ** with a similar name: The "MySQL push-down optimization" causes WHERE +// ** clause terms that can be evaluated using only the index and without +// ** reference to the table are run first, so that if they are false, +// ** unnecessary table seeks are avoided. +// ** +// ** RULES +// ** // ** Do not attempt this optimization if: // ** // ** (1) (** This restriction was removed on 2017-09-29. We used to @@ -126693,10 +127581,10 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** (9c) There is a RIGHT JOIN (or FULL JOIN) in between the ON/USING // ** clause and the subquery. // ** -// ** Without this restriction, the push-down optimization might move -// ** the ON/USING filter expression from the left side of a RIGHT JOIN -// ** over to the right side, which leads to incorrect answers. See -// ** also restriction (6) in sqlite3ExprIsSingleTableConstraint(). +// ** Without this restriction, the WHERE-clause push-down optimization +// ** might move the ON/USING filter expression from the left side of a +// ** RIGHT JOIN over to the right side, which leads to incorrect answers. +// ** See also restriction (6) in sqlite3ExprIsSingleTableConstraint(). // ** // ** (10) The inner query is not the right-hand table of a RIGHT JOIN. // ** @@ -126791,7 +127679,7 @@ func _pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere ui nChng += _pushDownWhereTerms(tls, pParse, pSubq, (*TExpr)(unsafe.Pointer(pWhere)).FpRight, pSrcList, iSrc) pWhere = (*TExpr)(unsafe.Pointer(pWhere)).FpLeft } - if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc) != 0 { + if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc, int32(1)) != 0 { nChng++ *(*Tu32)(unsafe.Pointer(pSubq + 4)) |= uint32(SF_PushDown) for pSubq != 0 { @@ -126970,13 +127858,13 @@ func _minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) (r } _ = libc.Int32FromInt32(0) zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8)) - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15550) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15643) == 0 { eRet = int32(WHERE_ORDERBY_MIN) if _sqlite3ExprCanBeNull(tls, (*(*TExprList_item)(unsafe.Pointer(pEList + 8))).FpExpr) != 0 { sortFlags = uint8(KEYINFO_ORDER_BIGNULL) } } else { - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15554) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15647) == 0 { eRet = int32(WHERE_ORDERBY_MAX) sortFlags = uint8(KEYINFO_ORDER_DESC) } else { @@ -127072,7 +127960,7 @@ func _sqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r in pIdx = (*TIndex)(unsafe.Pointer(pIdx)).FpNext } if !(pIdx != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19579, libc.VaList(bp+8, zIndexedBy, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19711, libc.VaList(bp+8, zIndexedBy, 0)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) return int32(SQLITE_ERROR) } @@ -127199,7 +128087,7 @@ func _cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19597, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19729, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) return int32(1) } return 0 @@ -127381,7 +128269,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom *(*Tu32)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= uint32(SF_CopyCte) _ = libc.Int32FromInt32(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19620, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19752, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) return int32(2) } libc.SetBitFieldPtr16Uint32(pFrom+60+4, libc.Uint32FromInt32(1), 8, 0x100) @@ -127406,7 +128294,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ libc.SetBitFieldPtr16Uint32(pItem+60+4, libc.Uint32FromInt32(1), 6, 0x40) if (*TSelect)(unsafe.Pointer(pRecTerm)).FselFlags&uint32(SF_Recursive) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19640, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19772, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) return int32(2) } *(*Tu32)(unsafe.Pointer(pRecTerm + 4)) |= uint32(SF_Recursive) @@ -127428,7 +128316,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } pRecTerm = (*TSelect)(unsafe.Pointer(pRecTerm)).FpPrior } - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19683 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19815 pSavedWith = (*TParse)(unsafe.Pointer(pParse)).FpWith (*TParse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp)) if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { @@ -127464,7 +128352,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pEList = (*TSelect)(unsafe.Pointer(pLeft)).FpEList if (*TCte)(unsafe.Pointer(pCte)).FpCols != 0 { if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr != (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19706, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19838, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*TParse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return int32(2) } @@ -127473,9 +128361,9 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom _sqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8) if bMayRecursive != 0 { if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19744 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19876 } else { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19778 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19910 } _sqlite3WalkSelect(tls, pWalker, pSel) } @@ -127536,7 +128424,7 @@ func _sqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int if (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 { (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3DbStrDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias) } else { - (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19816, libc.VaList(bp+8, pFrom)) + (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19948, libc.VaList(bp+8, pFrom)) } for (*TSelect)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*TSelect)(unsafe.Pointer(pSel)).FpPrior @@ -127700,7 +128588,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { return int32(WRC_Abort) } if (*TTable)(unsafe.Pointer(pTab)).FnTabRef >= uint32(0xffff) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19820, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19952, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) (*TSrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return int32(WRC_Abort) } @@ -127716,7 +128604,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) && (*TTable)(unsafe.Pointer(pTab)).FpSchema != (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19859, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19991, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } (*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect = _sqlite3SelectDup(tls, db, (*(*struct { FpSelect uintptr @@ -127731,7 +128619,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).Fp)).FeVtabRisk) > libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15109, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15202, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } } _ = libc.Int32FromInt32(0) @@ -127868,7 +128756,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if iDb >= 0 { v10 = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName } else { - v10 = __ccgo_ts + 6590 + v10 = __ccgo_ts + 6654 } zSchemaName = v10 } @@ -127886,7 +128774,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if pNew != 0 { pX = pNew + 8 + uintptr((*TExprList)(unsafe.Pointer(pNew)).FnExpr-int32(1))*32 _ = libc.Int32FromInt32(0) - (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19890, libc.VaList(bp+8, zUName)) + (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20022, libc.VaList(bp+8, zUName)) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(ENAME_TAB), 0, 0x3) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(1), 7, 0x80) } @@ -127968,7 +128856,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, (*(*TExprList_item)(unsafe.Pointer(pNestedFrom + 8 + uintptr(j)*32))).FzEName) } else { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19895, libc.VaList(bp+8, zSchemaName, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20027, libc.VaList(bp+8, zSchemaName, zTabName, zName)) } if j == int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) { v13 = int32(ENAME_ROWID) @@ -127981,7 +128869,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } } else { if longNames != 0 { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12381, libc.VaList(bp+8, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12506, libc.VaList(bp+8, zTabName, zName)) libc.SetBitFieldPtr16Uint32(pX1+16+4, libc.Uint32FromInt32(ENAME_NAME), 0, 0x3) } else { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, zName) @@ -128001,9 +128889,9 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if !(tableSeen != 0) { if zTName != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19904, libc.VaList(bp+8, zTName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20036, libc.VaList(bp+8, zTName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19922, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20054, 0) } } } @@ -128017,7 +128905,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if (*TSelect)(unsafe.Pointer(p)).FpEList != 0 { if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19942, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20074, 0) return int32(WRC_Abort) } if elistFlags&uint32(libc.Int32FromInt32(EP_HasFunc)|libc.Int32FromInt32(EP_Subquery)) != uint32(0) { @@ -128379,12 +129267,12 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { pE = (*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFExpr _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19973, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20105, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -int32(1) } else { pKeyInfo = _sqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20024, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20156, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab >= 0 { @@ -128410,7 +129298,7 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { (*TKeyInfo)(unsafe.Pointer(pKeyInfo1)).FnKeyField++ } _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab, (*TExprList)(unsafe.Pointer(pOBList)).FnExpr+nExtra, 0, pKeyInfo1, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20057, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20189, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } goto _1 _1: @@ -128735,16 +129623,16 @@ func _explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintp if int32((*TParse)(unsafe.Pointer(pParse)).Fexplain) == int32(2) { bCover = libc.BoolInt32(pIdx != uintptr(0) && ((*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) || !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == libc.Int32FromInt32(SQLITE_IDXTYPE_PRIMARYKEY)))) if bCover != 0 { - v1 = __ccgo_ts + 20090 + v1 = __ccgo_ts + 20222 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } if bCover != 0 { v2 = (*TIndex)(unsafe.Pointer(pIdx)).FzName } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20113, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20245, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) } } @@ -128776,7 +129664,7 @@ func _havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3 ** statements AggInfo structure. */ if _sqlite3ExprIsConstantOrGroupBy(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*TSelect)(unsafe.Pointer(pS)).FpGroupBy) != 0 && libc.BoolInt32((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse)) == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8130) + pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8255) if pNew != 0 { pWhere = (*TSelect)(unsafe.Pointer(pS)).FpWhere t = *(*TExpr)(unsafe.Pointer(pNew)) @@ -128936,7 +129824,7 @@ func _countOfViewOptimization(tls *libc.TLS, pParse uintptr, p uintptr) (r int32 return 0 } /* Result is an aggregate */ _ = libc.Int32FromInt32(0) - if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15844) != 0 { + if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15937) != 0 { return 0 } /* Is count() */ _ = libc.Int32FromInt32(0) @@ -129209,7 +130097,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { v1 = (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p0)).FpTab)).FzName } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20125, libc.VaList(bp+176, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20257, libc.VaList(bp+176, v1)) goto select_end } /* Clear the SF_UFSrcCheck flag. The check has already been performed, @@ -129312,7 +130200,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r /* Catch mismatch in the declared columns of a view and the number of ** columns in the SELECT on the RHS */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) != (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20179, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20311, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end } /* Do not attempt the usual optimizations (flattening and ORDER BY @@ -129450,12 +130338,12 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r ** string for the fake column name seems safer. */ if (*TSrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0) && (*TSrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0) { - _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1648, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1662, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) } /* Generate code for all sub-queries in the FROM clause */ pSub1 = (*TSrcItem)(unsafe.Pointer(pItem1)).FpSelect - if pSub1 == uintptr(0) { + if pSub1 == uintptr(0) || (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub != 0 { goto _10 } /* The code for a subquery should only be generated once. */ @@ -129496,7 +130384,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop _sqlite3SelectDestInit(tls, bp+72, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20219, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20351, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60+4, libc.Uint32FromInt32(1), 5, 0x20) @@ -129544,7 +130432,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { } _sqlite3SelectDestInit(tls, bp+72, int32(SRT_EphemTab), (*TSrcItem)(unsafe.Pointer(pItem1)).FiCursor) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20234, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20366, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow if onceAddr != 0 { @@ -129962,11 +130850,11 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r groupBySort = 0 } else { if (*(*TDistinctCtx)(unsafe.Pointer(bp))).FisTnct != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Distinct) == uint32(0) { - v44 = __ccgo_ts + 20250 + v44 = __ccgo_ts + 20382 } else { - v44 = __ccgo_ts + 20259 + v44 = __ccgo_ts + 20391 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19147, libc.VaList(bp+176, v44)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19234, libc.VaList(bp+176, v44)) groupBySort = int32(1) nGroupBy = (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr nCol = nGroupBy @@ -130290,7 +131178,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeResolveLabel(tls, v, addrEnd) } /* endif aggregate query */ if int32((*(*TDistinctCtx)(unsafe.Pointer(bp))).FeTnctType) == int32(WHERE_DISTINCT_UNORDERED) { - _explainTempTable(tls, pParse, __ccgo_ts+20250) + _explainTempTable(tls, pParse, __ccgo_ts+20382) } /* If there is an ORDER BY clause, then we need to sort the results ** and send them to the callback one by one. @@ -130399,7 +131287,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr if !(i < nCol) { break } - z = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if z == uintptr(0) { goto malloc_failed } @@ -130415,7 +131303,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr } else { if int32((*TTabResult)(unsafe.Pointer(p)).FnColumn) != nCol { Xsqlite3_free(tls, (*TTabResult)(unsafe.Pointer(p)).FzErrMsg) - (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20268, 0) + (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20400, 0) (*TTabResult)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) return int32(1) } @@ -130506,7 +131394,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) } Xsqlite3_free(tls, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg) } @@ -130676,7 +131564,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if isTemp != 0 { /* If TEMP was specified, then the trigger name may not be qualified. */ if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20333, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20465, 0) goto trigger_cleanup } iDb = int32(1) @@ -130717,7 +131605,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } _ = libc.Int32FromInt32(0) - _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20379, *(*uintptr)(unsafe.Pointer(bp))) + _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20511, *(*uintptr)(unsafe.Pointer(bp))) if _sqlite3FixSrcList(tls, bp+8, pTableName) != 0 { goto trigger_cleanup } @@ -130727,11 +131615,11 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_orphan_error } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20387, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20519, 0) goto trigger_orphan_error } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, db) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20428, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20560, 0) goto trigger_orphan_error } /* Check that the trigger name is not reserved and that no trigger of the @@ -130741,14 +131629,14 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 _ = libc.Int32FromInt32(0) goto trigger_cleanup } - if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20379, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { + if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20511, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { goto trigger_cleanup } _ = libc.Int32FromInt32(0) if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema+56, zName) != 0 { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20468, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20600, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -130757,8 +131645,8 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 } } /* Do not create a trigger on a system table */ - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6525, int32(7)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20494, 0) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6589, int32(7)) == 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20626, 0) goto trigger_cleanup } /* INSTEAD of triggers are only for views and views only support INSTEAD @@ -130766,15 +131654,15 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && tr_tm != int32(TK_INSTEAD) { if tr_tm == int32(TK_BEFORE) { - v1 = __ccgo_ts + 20532 + v1 = __ccgo_ts + 20664 } else { - v1 = __ccgo_ts + 20539 + v1 = __ccgo_ts + 20671 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20545, libc.VaList(bp+112, v1, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20677, libc.VaList(bp+112, v1, pTableName+8)) goto trigger_orphan_error } if !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) && tr_tm == int32(TK_INSTEAD) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20582, libc.VaList(bp+112, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20714, libc.VaList(bp+112, pTableName+8)) goto trigger_orphan_error } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -130794,9 +131682,9 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iTabDb == int32(1) { - v3 = __ccgo_ts + 6533 + v3 = __ccgo_ts + 6597 } else { - v3 = __ccgo_ts + 6066 + v3 = __ccgo_ts + 6130 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto trigger_cleanup @@ -130898,7 +131786,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl pStepList = (*TTriggerStep)(unsafe.Pointer(pStepList)).FpNext } _sqlite3TokenInit(tls, bp+96, (*TTrigger)(unsafe.Pointer(pTrig)).FzName) - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20379, bp+96) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20511, bp+96) if _sqlite3FixTriggerStep(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 || _sqlite3FixExpr(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).FpWhen) != 0 { goto triggerfinish_cleanup } @@ -130921,7 +131809,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl break } if (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget != uintptr(0) && _sqlite3ShadowTableName(tls, db, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20628, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20760, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) goto triggerfinish_cleanup } goto _1 @@ -130937,10 +131825,10 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl } _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) z = _sqlite3DbStrNDup(tls, db, (*TToken)(unsafe.Pointer(pAll)).Fz, uint64((*TToken)(unsafe.Pointer(pAll)).Fn)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20676, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20808, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) _sqlite3DbFree(tls, db, z) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20751, libc.VaList(bp+120, zName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20883, libc.VaList(bp+120, zName)), uint16(0)) } } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { @@ -131216,7 +132104,7 @@ func _sqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int } if !(pTrigger != 0) { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20780, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20912, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, zDb) } @@ -131260,9 +132148,9 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { code = int32(SQLITE_DROP_TRIGGER) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6533 + v1 = __ccgo_ts + 6597 } else { - v1 = __ccgo_ts + 6066 + v1 = __ccgo_ts + 6130 } zTab = v1 if iDb == int32(1) { @@ -131277,7 +132165,7 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { v2 = _sqlite3GetVdbe(tls, pParse) v = v2 if v2 != uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20800, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20932, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropTrigger), iDb, 0, 0, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName, 0) } @@ -131413,11 +132301,11 @@ func _triggersReallyExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { if op != int32(TK_INSERT) { if op == int32(TK_DELETE) { - v1 = __ccgo_ts + 20862 + v1 = __ccgo_ts + 20994 } else { - v1 = __ccgo_ts + 20869 + v1 = __ccgo_ts + 21001 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20876, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21008, libc.VaList(bp+8, v1)) } (*TTrigger)(unsafe.Pointer(p)).Ftr_tm = uint8(TRIGGER_BEFORE) } else { @@ -131524,7 +132412,7 @@ func _isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != int32(TK_ASTERISK) { return 0 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20924, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21056, 0) return int32(1) } @@ -131589,6 +132477,81 @@ func _sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab return pNew } +// C documentation +// +// /* If the Expr node is a subquery or an EXISTS operator or an IN operator that +// ** uses a subquery, and if the subquery is SF_Correlated, then mark the +// ** expression as EP_VarSelect. +// */ +func _sqlite3ReturningSubqueryVarSelect(tls *libc.TLS, NotUsed uintptr, pExpr uintptr) (r int32) { + _ = NotUsed + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) && (*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FselFlags&uint32(SF_Correlated) != uint32(0) { + *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** If the SELECT references the table pWalker->u.pTab, then do two things: +// ** +// ** (1) Mark the SELECT as as SF_Correlated. +// ** (2) Set pWalker->eCode to non-zero so that the caller will know +// ** that (1) has happened. +// */ +func _sqlite3ReturningSubqueryCorrelated(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + var i int32 + var pSrc uintptr + _, _ = i, pSrc + _ = libc.Int32FromInt32(0) + pSrc = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + _ = libc.Int32FromInt32(0) + i = 0 + for { + if !(i < (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) { + break + } + if (*(*TSrcItem)(unsafe.Pointer(pSrc + 8 + uintptr(i)*104))).FpTab == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { + *(*Tu32)(unsafe.Pointer(pSelect + 4)) |= uint32(SF_Correlated) + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + break + } + goto _1 + _1: + ; + i++ + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Scan the expression list that is the argument to RETURNING looking +// ** for subqueries that depend on the table which is being modified in the +// ** statement that is hosting the RETURNING clause (pTab). Mark all such +// ** subqueries as SF_Correlated. If the subqueries are part of an +// ** expression, mark the expression as EP_VarSelect. +// ** +// ** https://sqlite.org/forum/forumpost/2c83569ce8945d39 +// */ +func _sqlite3ProcessReturningSubqueries(tls *libc.TLS, pEList uintptr, pTab uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ExprWalkNoop) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3ReturningSubqueryCorrelated) + *(*uintptr)(unsafe.Pointer(bp + 40)) = pTab + _sqlite3WalkExprList(tls, bp, pEList) + if (*(*TWalker)(unsafe.Pointer(bp))).FeCode != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ReturningSubqueryVarSelect) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop) + _sqlite3WalkExprList(tls, bp, pEList) + } +} + // C documentation // // /* @@ -131625,6 +132588,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab (*(*TSelect)(unsafe.Pointer(bp))).FpSrc = bp + 128 (*(*TSrcList)(unsafe.Pointer(bp + 128))).FnSrc = int32(1) (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FpTab = pTab + (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FzName = (*TTable)(unsafe.Pointer(pTab)).FzName /* tag-20240424-1 */ (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FiCursor = -int32(1) _sqlite3SelectPrep(tls, pParse, bp, uintptr(0)) if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { @@ -131650,6 +132614,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab if _sqlite3ResolveExprListNames(tls, bp+240, pNew) == SQLITE_OK && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { nCol = (*TExprList)(unsafe.Pointer(pNew)).FnExpr reg = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(1) + _sqlite3ProcessReturningSubqueries(tls, pNew, pTab) *(*int32)(unsafe.Pointer(pParse + 56)) += nCol + int32(2) (*TReturning)(unsafe.Pointer(pReturning)).FiRetReg = reg i = 0 @@ -131722,7 +132687,7 @@ func _codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orcon (*TParse)(unsafe.Pointer(pParse)).FeOrconf = uint8(v2) _ = libc.Int32FromInt32(0) if (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6263, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6327, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) } switch int32((*TTriggerStep)(unsafe.Pointer(pStep)).Fop) { case int32(TK_UPDATE): @@ -131829,7 +132794,7 @@ func _codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintp v = _sqlite3GetVdbe(tls, bp+56) if v != 0 { if (*TTrigger)(unsafe.Pointer(pTrigger)).FzName != 0 { - _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+20966, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) + _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+21098, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) } /* If one was specified, code the WHEN clause. If it evaluates to false ** (or NULL) the sub-vdbe is immediately halted by jumping to the @@ -132543,7 +133508,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui chngPk = uint8(1) } else { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20980, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21112, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto update_cleanup } } @@ -132563,13 +133528,13 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui pRowidExpr = (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FpExpr iRowidExpr = i } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21016, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21148, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto update_cleanup } } if j < 0 { - v11 = __ccgo_ts + 7905 + v11 = __ccgo_ts + 8030 } else { v11 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName } @@ -133265,7 +134230,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui ** that information. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21035) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21167) } goto update_cleanup update_cleanup: @@ -133714,9 +134679,9 @@ func _sqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr if nClause == 0 && (*TUpsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) { (*(*[16]uint8)(unsafe.Pointer(bp + 200)))[0] = uint8(0) } else { - Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21048, libc.VaList(bp+224, nClause+int32(1))) + Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21180, libc.VaList(bp+224, nClause+int32(1))) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21052, libc.VaList(bp+224, bp+200)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21184, libc.VaList(bp+224, bp+200)) return int32(SQLITE_ERROR) } goto _1 @@ -133822,7 +134787,7 @@ func _sqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i++ } i = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), iDataCur, 0, iPk, nPk) - _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12470, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12595, -int32(1)) _sqlite3MayAbort(tls, pParse) _sqlite3VdbeJumpHere(tls, v, i) } @@ -133905,7 +134870,7 @@ func _execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) (r int3 ** corrupt the sqlite_schema.sql field with other kinds of statements ** then run VACUUM to get those statements to execute at inappropriate ** times. */ - if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21125, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21129, uint64(3)) == 0) { + if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21257, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21261, uint64(3)) == 0) { rc = _execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -134034,24 +134999,24 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p pDb = uintptr(0) /* Name of output file */ pgflags = uint32(PAGER_SYNCHRONOUS_OFF) /* sync flags for output db */ if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21133) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21265) return int32(SQLITE_ERROR) /* IMP: R-12218-18073 */ } if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive > int32(1) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21173) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21305) return int32(SQLITE_ERROR) /* IMP: R-15610-35227 */ } saved_openFlags = (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags if pOut != 0 { if Xsqlite3_value_type(tls, pOut) != int32(SQLITE_TEXT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21216) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21348) return int32(SQLITE_ERROR) } zOut = Xsqlite3_value_text(tls, pOut) *(*uint32)(unsafe.Pointer(db + 76)) &= uint32(^libc.Int32FromInt32(SQLITE_OPEN_READONLY)) *(*uint32)(unsafe.Pointer(db + 76)) |= uint32(libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE)) } else { - zOut = __ccgo_ts + 1648 + zOut = __ccgo_ts + 1662 } /* Save the current value of the database flags so that it can be ** restored before returning. Then set the writable-schema flag, and @@ -134083,7 +135048,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** to write the journal header file. */ nDb = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21234, libc.VaList(bp+24, zOut)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21366, libc.VaList(bp+24, zOut)) (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if rc != SQLITE_OK { goto end_of_vacuum @@ -134097,7 +135062,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p *(*Ti64)(unsafe.Pointer(bp)) = 0 if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0) && (_sqlite3OsFileSize(tls, id, bp) != SQLITE_OK || *(*Ti64)(unsafe.Pointer(bp)) > 0) { rc = int32(SQLITE_ERROR) - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21257) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21389) goto end_of_vacuum } *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_VacuumInto) @@ -134114,7 +135079,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, ** to ensure that we do not try to change the page-size on a WAL database. */ - rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14879) + rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14972) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134145,11 +135110,11 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** in the temporary database. */ (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(nDb) /* force new CREATE statements into vacuum_db */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21284, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21416, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21392, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21524, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134158,7 +135123,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy ** the contents to the temporary database. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21446, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21578, libc.VaList(bp+24, zDbMain)) _ = libc.Int32FromInt32(0) *(*Tu32)(unsafe.Pointer(db + 44)) &= uint32(^libc.Int32FromInt32(DBFLAG_Vacuum)) if rc != SQLITE_OK { @@ -134169,7 +135134,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** associated storage, so all we have to do is copy their entries ** from the schema table. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21597, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21729, libc.VaList(bp+24, zDbMain)) if rc != 0 { goto end_of_vacuum } @@ -134717,7 +135682,7 @@ func _addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uint FazArg uintptr Fp uintptr })(unsafe.Pointer(pTable + 64))).FnArg+int32(3) >= *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12700, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12825, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = _sqlite3DbRealloc(tls, db, (*(*struct { FnArg int32 @@ -134844,7 +135809,7 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { if pEnd != 0 { (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32(int64((*TToken)(unsafe.Pointer(pEnd)).Fz)-int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz))) + (*TToken)(unsafe.Pointer(pEnd)).Fn } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21727, libc.VaList(bp+8, pParse+272)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21859, libc.VaList(bp+8, pParse+272)) /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. @@ -134854,11 +135819,11 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { ** by sqlite3StartTable(). */ iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+21751, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+21883, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) v = _sqlite3GetVdbe(tls, pParse) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) - zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21850, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21982, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) _sqlite3DbFree(tls, db, zStmt) v2 = pParse + 56 @@ -134948,7 +135913,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, break } if (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21869, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22001, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(SQLITE_LOCKED) } goto _1 @@ -134985,6 +135950,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+32) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _sqlite3DeleteTable(tls, db, pTab) (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*(*TVtabCtx)(unsafe.Pointer(bp))).FpPrior if rc == int32(SQLITE_NOMEM) { @@ -134993,9 +135960,9 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, _ = libc.Int32FromInt32(0) if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21911, libc.VaList(bp+48, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22043, libc.VaList(bp+48, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3795, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3859, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) } _sqlite3DbFree(tls, db, pVTable) @@ -135008,8 +135975,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*TModule)(unsafe.Pointer(pMod)).FnRefModule++ (*TVTable)(unsafe.Pointer(pVTable)).FnRef = int32(1) if (*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared == 0 { - zFormat = __ccgo_ts + 21941 - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + zFormat = __ccgo_ts + 22073 + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, zModuleName)) _sqlite3VtabUnlock(tls, pVTable) rc = int32(SQLITE_ERROR) } else { @@ -135034,7 +136001,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(iCol < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } - zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1648) + zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1662) i = 0 nType = _sqlite3Strlen30(tls, zType) i = 0 @@ -135042,7 +136009,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(i < nType) { break } - if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16585, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { + if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16672, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { break } goto _3 @@ -135126,13 +136093,13 @@ func _sqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).FazArg)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21987, libc.VaList(bp+16, zModule)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22119, libc.VaList(bp+16, zModule)) rc = int32(SQLITE_ERROR) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) (*TParse)(unsafe.Pointer(pParse)).Frc = rc } _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) @@ -135214,7 +136181,7 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, ** error. Otherwise, do nothing. */ if pMod == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21987, libc.VaList(bp+8, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22119, libc.VaList(bp+8, zMod)) rc = int32(SQLITE_ERROR) } else { rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr) @@ -135240,18 +136207,42 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r int32) { bp := tls.Alloc(448) defer tls.Free(448) - var initBusy, rc int32 - var pCtx, pIdx, pNew, pTab, v2 uintptr - var v1 Ti16 + var i, initBusy, rc int32 + var pCtx, pIdx, pNew, pTab, z, v3 uintptr + var v2 Ti16 var _ /* sParse at bp+0 */ TParse - _, _, _, _, _, _, _, _ = initBusy, pCtx, pIdx, pNew, pTab, rc, v1, v2 + var _ /* tokenType at bp+424 */ int32 + _, _, _, _, _, _, _, _, _, _ = i, initBusy, pCtx, pIdx, pNew, pTab, rc, z, v2, v3 rc = SQLITE_OK + /* Verify that the first two keywords in the CREATE TABLE statement + ** really are "CREATE" and "TABLE". If this is not the case, then + ** sqlite3_declare_vtab() is being misused. + */ + z = zCreateTable + i = 0 + for { + if !(_aKeyword1[i] != 0) { + break + } + *(*int32)(unsafe.Pointer(bp + 424)) = 0 + for cond := true; cond; cond = *(*int32)(unsafe.Pointer(bp + 424)) == int32(TK_SPACE) { + z += uintptr(_sqlite3GetToken(tls, z, bp+424)) + } + if *(*int32)(unsafe.Pointer(bp + 424)) != int32(_aKeyword1[i]) { + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+22138, 0) + return int32(SQLITE_ERROR) + } + goto _1 + _1: + ; + i++ + } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { - _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(155155))) + _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(156227))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) - return _sqlite3MisuseError(tls, int32(155157)) + return _sqlite3MisuseError(tls, int32(156229)) } pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab _ = libc.Int32FromInt32(0) @@ -135265,7 +136256,10 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i initBusy = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) (*(*TParse)(unsafe.Pointer(bp))).FnQueryLoop = int16(1) - if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) && (*(*TParse)(unsafe.Pointer(bp))).FpNewTable != uintptr(0) && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && int32((*TTable)(unsafe.Pointer((*(*TParse)(unsafe.Pointer(bp))).FpNewTable)).FeTabType) == TABTYP_NORM { + if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if !((*TTable)(unsafe.Pointer(pTab)).FaCol != 0) { pNew = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable @@ -135275,9 +136269,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpDfltList) - v1 = (*TTable)(unsafe.Pointer(pNew)).FnCol - (*TTable)(unsafe.Pointer(pTab)).FnCol = v1 - (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v1 + v2 = (*TTable)(unsafe.Pointer(pNew)).FnCol + (*TTable)(unsafe.Pointer(pTab)).FnCol = v2 + (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v2 *(*Tu32)(unsafe.Pointer(pTab + 48)) |= (*TTable)(unsafe.Pointer(pNew)).FtabFlags & uint32(libc.Int32FromInt32(TF_WithoutRowid)|libc.Int32FromInt32(TF_NoVisibleRowid)) (*TTable)(unsafe.Pointer(pNew)).FnCol = 0 (*TTable)(unsafe.Pointer(pNew)).FaCol = uintptr(0) @@ -135299,11 +136293,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = int32(1) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - v2 = __ccgo_ts + 3795 + v3 = __ccgo_ts + 3859 } else { - v2 = uintptr(0) + v3 = uintptr(0) } - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v2, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v3, libc.VaList(bp+440, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) rc = int32(SQLITE_ERROR) } @@ -135320,6 +136314,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i return rc } +var _aKeyword1 = [3]Tu8{ + 0: uint8(TK_CREATE), + 1: uint8(TK_TABLE), +} + // C documentation // // /* @@ -135781,7 +136780,7 @@ func _sqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) _addModuleArgument(tls, pParse, pTab, _sqlite3DbStrDup(tls, db, (*TTable)(unsafe.Pointer(pTab)).FzName)) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp) if rc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3VtabEponymousTableClear(tls, db, pMod) } @@ -135848,7 +136847,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = _sqlite3MisuseError(tls, int32(155651)) + rc = _sqlite3MisuseError(tls, int32(156723)) } else { _ = libc.Int32FromInt32(0) ap = va @@ -135862,7 +136861,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in case int32(SQLITE_VTAB_USES_ALL_SCHEMAS): (*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1) default: - rc = _sqlite3MisuseError(tls, int32(155673)) + rc = _sqlite3MisuseError(tls, int32(156745)) break } _ = ap @@ -136584,10 +137583,10 @@ type WhereInfo1 = TWhereInfo1 func _explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) (r uintptr) { i = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -int32(2) { - return __ccgo_ts + 22006 + return __ccgo_ts + 22151 } if i == -int32(1) { - return __ccgo_ts + 16694 + return __ccgo_ts + 16781 } return (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*16))).FzCnName } @@ -136607,10 +137606,10 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, _ = i _ = libc.Int32FromInt32(0) if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22013, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22158, int32(5)) } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22019, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22164, int32(1)) } i = 0 for { @@ -136618,7 +137617,7 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13090, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13215, int32(1)) } Xsqlite3_str_appendall(tls, pStr, _explainIndexColumnName(tls, pIdx, iTerm+i)) goto _1 @@ -136627,11 +137626,11 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5170, int32(1)) } Xsqlite3_str_append(tls, pStr, zOp, int32(1)) if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22019, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22164, int32(1)) } i = 0 for { @@ -136639,16 +137638,16 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13090, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13215, int32(1)) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5108, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5172, int32(1)) goto _2 _2: ; i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5170, int32(1)) } } @@ -136681,7 +137680,7 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { if int32(nEq) == 0 && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_BTM_LIMIT)|libc.Int32FromInt32(WHERE_TOP_LIMIT)) == uint32(0) { return } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22021, int32(2)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22166, int32(2)) i = 0 for { if !(i < int32(nEq)) { @@ -136689,12 +137688,12 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } z = _explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22013, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22158, int32(5)) } if i >= int32(nSkip) { - v2 = __ccgo_ts + 22024 + v2 = __ccgo_ts + 22169 } else { - v2 = __ccgo_ts + 22029 + v2 = __ccgo_ts + 22174 } Xsqlite3_str_appendf(tls, pStr, v2, libc.VaList(bp+8, z)) goto _1 @@ -136704,13 +137703,13 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } j = i if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_BTM_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22037) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22182) i = int32(1) } if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_TOP_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22039) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22184) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5170, int32(1)) } // C documentation @@ -136753,11 +137752,11 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if isSearch != 0 { - v2 = __ccgo_ts + 22041 + v2 = __ccgo_ts + 22186 } else { - v2 = __ccgo_ts + 22048 + v2 = __ccgo_ts + 22193 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22053, libc.VaList(bp+144, v2, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22198, libc.VaList(bp+144, v2, pItem)) if flags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_VIRTUALTABLE)) == uint32(0) { zFmt = uintptr(0) _ = libc.Int32FromInt32(0) @@ -136765,37 +137764,37 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _ = libc.Int32FromInt32(0) if !((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) && int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = __ccgo_ts + 11253 + zFmt = __ccgo_ts + 11378 } } else { if flags&uint32(WHERE_PARTIALIDX) != 0 { - zFmt = __ccgo_ts + 22059 + zFmt = __ccgo_ts + 22204 } else { if flags&uint32(WHERE_AUTO_INDEX) != 0 { - zFmt = __ccgo_ts + 22092 + zFmt = __ccgo_ts + 22237 } else { if flags&uint32(WHERE_IDX_ONLY) != 0 { - zFmt = __ccgo_ts + 22117 + zFmt = __ccgo_ts + 22262 } else { - zFmt = __ccgo_ts + 22135 + zFmt = __ccgo_ts + 22280 } } } } if zFmt != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22144, int32(7)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22289, int32(7)) Xsqlite3_str_appendf(tls, bp, zFmt, libc.VaList(bp+144, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) _explainIndexRange(tls, bp, pLoop) } } else { if flags&uint32(WHERE_IPK) != uint32(0) && flags&uint32(WHERE_CONSTRAINT) != uint32(0) { - zRowid = __ccgo_ts + 16694 - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22152, libc.VaList(bp+144, zRowid)) + zRowid = __ccgo_ts + 16781 + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22297, libc.VaList(bp+144, zRowid)) if flags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != 0 { cRangeOp = uint8('=') } else { if flags&uint32(WHERE_BOTH_LIMIT) == uint32(WHERE_BOTH_LIMIT) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22183, libc.VaList(bp+144, zRowid)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22328, libc.VaList(bp+144, zRowid)) cRangeOp = uint8('<') } else { if flags&uint32(WHERE_BTM_LIMIT) != 0 { @@ -136806,10 +137805,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22193, libc.VaList(bp+144, int32(cRangeOp))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22338, libc.VaList(bp+144, int32(cRangeOp))) } else { if flags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22198, libc.VaList(bp+144, (*(*struct { + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22343, libc.VaList(bp+144, (*(*struct { FidxNum int32 F__ccgo4 uint8 FisOrdered Ti8 @@ -136828,7 +137827,7 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } if int32((*TSrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&int32(JT_LEFT) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22225, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22370, 0) } zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) @@ -136862,14 +137861,14 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Initial space for EQP output string */ _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22236, libc.VaList(bp+144, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22381, libc.VaList(bp+144, pItem)) pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_IPK) != 0 { pTab = (*TSrcItem)(unsafe.Pointer(pItem)).FpTab if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22024, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22169, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) } else { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22257, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22402, 0) } } else { i = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) @@ -136879,16 +137878,16 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp } z = _explainIndexColumnName(tls, (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex, i) if i > int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22013, int32(5)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22158, int32(5)) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22024, libc.VaList(bp+144, z)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22169, libc.VaList(bp+144, z)) goto _1 _1: ; i++ } } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5106, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5170, int32(1)) zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) return ret @@ -137754,6 +138753,35 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32 } } +// C documentation +// +// /* +// ** Loop pLoop is a WHERE_INDEXED level that uses at least one IN(...) +// ** operator. Return true if level pLoop is guaranteed to visit only one +// ** row for each key generated for the index. +// */ +func _whereLoopIsOneRow(tls *libc.TLS, pLoop uintptr) (r int32) { + var ii int32 + _ = ii + if (*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FonError != 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) == 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq) == int32((*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FnKeyCol) { + ii = 0 + for { + if !(ii < int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq)) { + break + } + if int32((*TWhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(ii)*8)))).FeOperator)&(libc.Int32FromInt32(WO_IS)|libc.Int32FromInt32(WO_ISNULL)) != 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) + } + return 0 +} + // C documentation // // /* @@ -138484,7 +139512,10 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI _ = libc.Int32FromInt32(0) } /* Record the instruction used to terminate the loop. */ - if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 { + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 || (*(*struct { + FnIn int32 + FaInLoop uintptr + })(unsafe.Pointer(pLevel + 72))).FnIn != 0 && regBignull == 0 && _whereLoopIsOneRow(tls, pLoop) != 0 { (*TWhereLevel)(unsafe.Pointer(pLevel)).Fop = uint8(OP_Noop) } else { if bRev != 0 { @@ -138661,7 +139692,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22265, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22410, 0) ii = 0 for { if !(ii < (*TWhereClause)(unsafe.Pointer(pOrWc)).FnTerm) { @@ -138684,7 +139715,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } /* Loop through table entries that match term pOrTerm. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22280, libc.VaList(bp+96, ii+int32(1))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22425, libc.VaList(bp+96, ii+int32(1))) pSubWInfo = _sqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) _ = libc.Int32FromInt32(0) if pSubWInfo != 0 { @@ -138855,6 +139886,12 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** iLoop==3: Code all remaining expressions. ** ** An effort is made to skip unnecessary iterations of the loop. + ** + ** This optimization of causing simple query restrictions to occur before + ** more complex one is call the "push-down" optimization in MySQL. Here + ** in SQLite, the name is "MySQL push-down", since there is also another + ** totally unrelated optimization called "WHERE-clause push-down". + ** Sometimes the qualifier is omitted, resulting in an ambiguity, so beware. */ if pIdx != 0 { v60 = int32(1) @@ -139161,9 +140198,9 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe defer tls.Free(128) var addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, nPk, r, v3 int32 var mAll TBitmask - var pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr + var pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr var _ /* sFrom at bp+0 */ TSrcList - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pRJ = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpRJ @@ -139172,13 +140209,18 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop pTabItem = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 mAll = uint64(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22289, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22434, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) k = 0 for { if !(k < iLevel) { break } + _ = libc.Int32FromInt32(0) + pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*104 mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf + if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x20>>5)) != 0 { + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pRight)).FpSelect)).FpEList)).FnExpr-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiTabCur) iIdxCur = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiIdxCur if iIdxCur != 0 { @@ -139713,19 +140755,19 @@ var _aOp = [4]struct { FeOp2 uint8 }{ 0: { - FzOp: __ccgo_ts + 16543, + FzOp: __ccgo_ts + 16630, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH), }, 1: { - FzOp: __ccgo_ts + 15874, + FzOp: __ccgo_ts + 15967, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB), }, 2: { - FzOp: __ccgo_ts + 15353, + FzOp: __ccgo_ts + 15446, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE), }, 3: { - FzOp: __ccgo_ts + 22303, + FzOp: __ccgo_ts + 22448, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP), }, } @@ -140384,7 +141426,7 @@ func _exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, aiCurCol uintptr, pExpr goto _4 } _ = libc.Int32FromInt32(0) - if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_STRING) { + if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && !(_sqlite3ExprIsConstant(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr) != 0) { *(*int32)(unsafe.Pointer(aiCurCol)) = iCur *(*int32)(unsafe.Pointer(aiCurCol + 1*4)) = -int32(2) return int32(1) @@ -140544,7 +141586,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { extraRight = x - uint64(1) /* ON clause terms may not be used with an index ** on left table of a LEFT JOIN. Ticket #3015 */ if prereqAll>>libc.Int32FromInt32(1) >= x { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22310, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22455, 0) return } } else { @@ -140556,7 +141598,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { ** if there is a RIGHT or FULL JOIN in the query. This makes SQLite ** more like other systems, and also preserves legacy. */ if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*(*TSrcItem)(unsafe.Pointer(pSrc + 8))).Ffg.Fjointype)&int32(JT_LTORJ) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22310, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22455, 0) return } *(*Tu32)(unsafe.Pointer(pExpr + 4)) &= uint32(^libc.Int32FromInt32(EP_InnerON)) @@ -140647,7 +141689,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { if op == int32(TK_ISNULL) && !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)) != libc.Uint32FromInt32(0)) && 0 == _sqlite3ExprCanBeNull(tls, pLeft) { _ = libc.Int32FromInt32(0) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_TRUEFALSE) /* See tag-20230504-1 */ - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 7891 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8016 *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_IsFalse)) (*TWhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator = uint16(0) @@ -140750,7 +141792,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { *(*Tu8)(unsafe.Pointer(pC)) = uint8(int32(c1) + int32(1)) } if *(*int32)(unsafe.Pointer(bp + 12)) != 0 { - v13 = __ccgo_ts + 22351 + v13 = __ccgo_ts + 22496 } else { v13 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) } @@ -141023,6 +142065,9 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FleftCursor != iCsr { return } + if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FprereqRight != uint64(0) { + return + } goto _1 _1: ; @@ -141053,10 +142098,12 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { } /* All conditions are met. Add the terms to the where-clause object. */ _ = libc.Int32FromInt32(0) - _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) - if (*TSelect)(unsafe.Pointer(p)).FiOffset > 0 { + if (*TSelect)(unsafe.Pointer(p)).FiOffset != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiOffset, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpRight, iCsr, int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } + if (*TSelect)(unsafe.Pointer(p)).FiOffset == 0 || (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { + _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) + } } } @@ -141288,7 +142335,7 @@ func _sqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22358, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22503, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) return } pColRef = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_COLUMN), uintptr(0), 0) @@ -141730,6 +142777,50 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { return uintptr(0) } +// C documentation +// +// /* +// ** Term pTerm is guaranteed to be a WO_IN term. It may be a component term +// ** of a vector IN expression of the form "(x, y, ...) IN (SELECT ...)". +// ** This function checks to see if the term is compatible with an index +// ** column with affinity idxaff (one of the SQLITE_AFF_XYZ values). If so, +// ** it returns a pointer to the name of the collation sequence (e.g. "BINARY" +// ** or "NOCASE") used by the comparison in pTerm. If it is not compatible +// ** with affinity idxaff, NULL is returned. +// */ +func _indexInAffinityOk(tls *libc.TLS, pParse uintptr, pTerm uintptr, idxaff Tu8) (r uintptr) { + bp := tls.Alloc(80) + defer tls.Free(80) + var iField int32 + var pRet, pX, v1 uintptr + var _ /* inexpr at bp+0 */ TExpr + _, _, _, _ = iField, pRet, pX, v1 + pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr + _ = libc.Int32FromInt32(0) + if _sqlite3ExprIsVector(tls, (*TExpr)(unsafe.Pointer(pX)).FpLeft) != 0 { + iField = (*(*struct { + FleftColumn int32 + FiField int32 + })(unsafe.Pointer(pTerm + 32))).FiField - int32(1) + (*(*TExpr)(unsafe.Pointer(bp))).Fflags = uint32(0) + (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_EQ) + (*(*TExpr)(unsafe.Pointer(bp))).FpLeft = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pX)).FpLeft + 32)) + 8 + uintptr(iField)*32))).FpExpr + _ = libc.Int32FromInt32(0) + (*(*TExpr)(unsafe.Pointer(bp))).FpRight = (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pX + 32)))).FpEList + 8 + uintptr(iField)*32))).FpExpr + pX = bp + } + if _sqlite3IndexAffinityOk(tls, pX, idxaff) != 0 { + pRet = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pRet != 0 { + v1 = (*TCollSeq)(unsafe.Pointer(pRet)).FzName + } else { + v1 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + return v1 + } + return uintptr(0) +} + // C documentation // // /* @@ -141740,10 +142831,10 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { var iColumn Ti16 var iCur, j, k int32 - var pColl, pParse, pTerm, pWC, pX, v2 uintptr - var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, v2, v3, v5 /* The term being tested */ - k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ + var pColl, pParse, pTerm, pWC, pX, zCollName, v2, v5 uintptr + var v3, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, zCollName, v2, v3, v5, v6 /* The term being tested */ + k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ _ = libc.Int32FromInt32(0) pWC = (*TWhereScan)(unsafe.Pointer(pScan)).FpWC for int32(1) != 0 { @@ -141791,22 +142882,32 @@ func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { if (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName != 0 && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_ISNULL) == 0 { pParse = (*TWhereInfo)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr - if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { - goto _1 - } - _ = libc.Int32FromInt32(0) - pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) - if pColl == uintptr(0) { - pColl = (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_IN) != 0 { + zCollName = _indexInAffinityOk(tls, pParse, pTerm, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) + if !(zCollName != 0) { + goto _1 + } + } else { + if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { + goto _1 + } + _ = libc.Int32FromInt32(0) + pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pColl != 0 { + v5 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName + } else { + v5 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + zCollName = v5 } - if _sqlite3StrICmp(tls, (*TCollSeq)(unsafe.Pointer(pColl)).FzName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { + if _sqlite3StrICmp(tls, zCollName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { goto _1 } } - if v5 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v5 { + if v6 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v6 { pX = (*TExpr)(unsafe.Pointer((*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpRight } - if v5 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { + if v6 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { goto _1 } (*TWhereScan)(unsafe.Pointer(pScan)).FpWC = pWC @@ -142300,7 +143401,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea /* Make the automatic index a partial index if there are terms in the ** WHERE clause (or the ON clause of a LEFT join) that constrain which ** rows of the target table (pSrc) that can be used. */ - if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)) != 0 { + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom), 0) != 0 { pPartial = _sqlite3ExprAnd(tls, pParse, pPartial, _sqlite3ExprDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr, 0)) } if _termCanDriveIndex(tls, pTerm, pSrc, notReady) != 0 { @@ -142316,7 +143417,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea } cMask = v2 if !(sentWarning != 0) { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_WARNING)|libc.Int32FromInt32(1)<>14)) != 0) { eDistinct = int32(2) + libc.BoolInt32(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_SORTBYGROUP) != 0) } else { if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_GROUPBY) != 0 { @@ -142812,7 +143913,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB */ pIdxInfo = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(96)+(libc.Uint64FromInt64(12)+libc.Uint64FromInt64(8))*uint64(nTerm)+uint64(8)*uint64(nOrderBy)+uint64(40)+uint64(8)*uint64(nTerm)) if pIdxInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1618, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1632, 0) return uintptr(0) } pHidden = pIdxInfo + 1*96 @@ -142904,7 +144005,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB break } pExpr1 = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr - if _sqlite3ExprIsConstant(tls, pExpr1) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr1) != 0 { goto _11 } _ = libc.Int32FromInt32(0) @@ -142983,9 +144084,9 @@ func _vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) (r i _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) } else { if !((*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3795, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3859, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } } @@ -144357,7 +145458,7 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x4>>2)) != 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GE)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LE)-libc.Int32FromInt32(TK_EQ))) } - if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 { + if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 && int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x2>>1)) == 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ) | libc.Int32FromInt32(WO_IN) | libc.Int32FromInt32(WO_IS)) } } @@ -144609,10 +145710,13 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } } } - /* Set rCostIdx to the cost of visiting selected rows in index. Add - ** it to pNew->rRun, which is currently set to the cost of the index - ** seek only. Then, if this is a non-covering index, add the cost of - ** visiting the rows in the main table. */ + /* Set rCostIdx to the estimated cost of visiting selected rows in the + ** index. The estimate is the sum of two values: + ** 1. The cost of doing one search-by-key to find the first matching + ** entry + ** 2. Stepping forward in the index pNew->nOut times to find all + ** additional matching entries. + */ _ = libc.Int32FromInt32(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_IPK) { /* The pProbe->szIdxRow is low for an IPK table since the interior @@ -144623,7 +145727,14 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } else { rCostIdx = int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut) + int32(1) + int32(15)*int32((*TIndex)(unsafe.Pointer(pProbe)).FszIdxRow)/int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FszTabRow)) } - (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + rCostIdx = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + /* Estimate the cost of running the loop. If all data is coming + ** from the index, then this is just the cost of doing the index + ** lookup and scan. But if some data is coming out of the main table, + ** we also have to add in the cost of doing pNew->nOut searches to + ** locate the row in the main table that corresponds to the index entry. + */ + (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = rCostIdx if (*TWhereLoop)(unsafe.Pointer(pNew)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IDX_ONLY)|libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_EXPRIDX)) == uint32(0) { (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun, int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut)+int32(16))) } @@ -144729,7 +145840,7 @@ func _indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, if pExpr == uintptr(0) { goto _2 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { + if (int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) || int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_COLUMN)) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { return int32(1) } @@ -145066,7 +146177,7 @@ func _wherePartIdxExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, pPart uintpt if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) != int32(TK_COLUMN) { return } - if !(_sqlite3ExprIsConstant(tls, pRight) != 0) { + if !(_sqlite3ExprIsConstant(tls, uintptr(0), pRight) != 0) { return } if !(_sqlite3IsBinary(tls, _sqlite3ExprCompareCollSeq(tls, pParse, pPart)) != 0) { @@ -145401,7 +146512,7 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in ** unique index is used (making the index functionally non-unique) ** then the sqlite_stat1 data becomes important for scoring the ** plan */ - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) } _sqlite3Stat4ProbeFree(tls, (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec) (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid = 0 @@ -145430,6 +146541,31 @@ func _isLimitTerm(tls *libc.TLS, pTerm uintptr) (r int32) { return libc.BoolInt32(int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= int32(SQLITE_INDEX_CONSTRAINT_LIMIT) && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } +// C documentation +// +// /* +// ** Return true if the first nCons constraints in the pUsage array are +// ** marked as in-use (have argvIndex>0). False otherwise. +// */ +func _allConstraintsUsed(tls *libc.TLS, aUsage uintptr, nCons int32) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < nCons) { + break + } + if (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer(aUsage + uintptr(ii)*8))).FargvIndex <= 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + // C documentation // // /* @@ -145527,7 +146663,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if v3 >= 0 { j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).FiTermOffset if iTerm >= nConstraint || j < 0 || j >= (*TWhereClause)(unsafe.Pointer(pWC)).FnTerm || *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) || int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22431, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22576, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } pTerm1 = (*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(j)*56 @@ -145574,13 +146710,19 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, _ = libc.Int32FromInt32(0) } } + /* Unless pbRetryLimit is non-NULL, there should be no LIMIT/OFFSET + ** terms. And if there are any, they should follow all other terms. */ + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - if _isLimitTerm(tls, pTerm1) != 0 && *(*int32)(unsafe.Pointer(pbIn)) != 0 { + if _isLimitTerm(tls, pTerm1) != 0 && (*(*int32)(unsafe.Pointer(pbIn)) != 0 || !(_allConstraintsUsed(tls, pUsage, i) != 0)) { /* If there is an IN(...) term handled as an == (separate call to ** xFilter for each value on the RHS of the IN) and a LIMIT or - ** OFFSET term handled as well, the plan is unusable. Set output - ** variable *pbRetryLimit to true to tell the caller to retry with - ** LIMIT and OFFSET disabled. */ + ** OFFSET term handled as well, the plan is unusable. Similarly, + ** if there is a LIMIT/OFFSET and there are other unused terms, + ** the plan cannot be used. In these cases set variable *pbRetryLimit + ** to true to tell the caller to retry with LIMIT and OFFSET + ** disabled. */ if (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr != 0 { Xsqlite3_free(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = uintptr(0) @@ -145605,7 +146747,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { /* The non-zero argvIdx values must be contiguous. Raise an ** error if they are not */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22431, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22576, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } goto _6 @@ -145758,7 +146900,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal pVal = uintptr(0) rc = SQLITE_OK if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { - rc = _sqlite3MisuseError(tls, int32(165251)) /* EV: R-30545-25046 */ + rc = _sqlite3MisuseError(tls, int32(166453)) /* EV: R-30545-25046 */ } else { if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) { pTerm = (*TWhereClause)(unsafe.Pointer((*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC)).Fa + uintptr((*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)*56 @@ -146206,7 +147348,7 @@ func _whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) (r int32) { if rc != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { if rc == int32(SQLITE_DONE) { /* We hit the query planner search limit set by iPlanLimit */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22457, 0) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22602, 0) rc = SQLITE_OK } else { break @@ -146595,7 +147737,7 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } p = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr mTerm = _sqlite3WhereExprUsage(tls, pWInfo+592, p) - if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, p) != 0) { + if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, uintptr(0), p) != 0) { goto _9 } if mTerm & ^orderDistinctMask == uint64(0) { @@ -147016,7 +148158,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) iLoop++ } if nFrom == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22492, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22637, 0) _sqlite3DbFreeNN(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pSpace) return int32(SQLITE_ERROR) } @@ -147066,9 +148208,8 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) if int32((*TWherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*TExprList)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_ORDERED) } - if (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 && int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr { - (*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = int8((*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr) - } + /* vvv--- See check-in [12ad822d9b827777] on 2023-03-16 ---vvv */ + _ = libc.Int32FromInt32(0) } else { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*TWherePath)(unsafe.Pointer(pFrom)).FrevLoop if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 { @@ -147106,6 +148247,97 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) return SQLITE_OK } +// C documentation +// +// /* +// ** This routine implements a heuristic designed to improve query planning. +// ** This routine is called in between the first and second call to +// ** wherePathSolver(). Hence the name "Interstage" "Heuristic". +// ** +// ** The first call to wherePathSolver() (hereafter just "solver()") computes +// ** the best path without regard to the order of the outputs. The second call +// ** to the solver() builds upon the first call to try to find an alternative +// ** path that satisfies the ORDER BY clause. +// ** +// ** This routine looks at the results of the first solver() run, and for +// ** every FROM clause term in the resulting query plan that uses an equality +// ** constraint against an index, disable other WhereLoops for that same +// ** FROM clause term that would try to do a full-table scan. This prevents +// ** an index search from being converted into a full-table scan in order to +// ** satisfy an ORDER BY clause, since even though we might get slightly better +// ** performance using the full-scan without sorting if the output size +// ** estimates are very precise, we might also get severe performance +// ** degradation using the full-scan if the output size estimate is too large. +// ** It is better to err on the side of caution. +// ** +// ** Except, if the first solver() call generated a full-table scan in an outer +// ** loop then stop this analysis at the first full-scan, since the second +// ** solver() run might try to swap that full-scan for another in order to +// ** get the output into the correct order. In other words, we allow a +// ** rewrite like this: +// ** +// ** First Solver() Second Solver() +// ** |-- SCAN t1 |-- SCAN t2 +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** The purpose of this routine is to disallow rewrites such as: +// ** +// ** First Solver() Second Solver() +// ** |-- SEARCH t1 |-- SCAN t2 <--- bad! +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** See test cases in test/whereN.test for the real-world query that +// ** originally provoked this heuristic. +// */ +func _whereInterstageHeuristic(tls *libc.TLS, pWInfo uintptr) { + var i int32 + var iTab Tu8 + var p, pLoop uintptr + _, _, _, _ = i, iTab, p, pLoop + i = 0 + for { + if !(i < int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnLevel)) { + break + } + p = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(i)*104))).FpWLoop + if p == uintptr(0) { + break + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { + goto _1 + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_NULL)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != uint32(0) { + iTab = (*TWhereLoop)(unsafe.Pointer(p)).FiTab + pLoop = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpLoops + for { + if !(pLoop != 0) { + break + } + if int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab) != int32(iTab) { + goto _2 + } + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_CONSTRAINT)|libc.Int32FromInt32(WHERE_AUTO_INDEX)) != uint32(0) { + /* Auto-index and index-constrained loops allowed to remain */ + goto _2 + } + (*TWhereLoop)(unsafe.Pointer(pLoop)).Fprereq = uint64(-libc.Int32FromInt32(1)) /* Prevent 2nd solver() from using this one */ + goto _2 + _2: + ; + pLoop = (*TWhereLoop)(unsafe.Pointer(pLoop)).FpNextLoop + } + } else { + break + } + goto _1 + _1: + ; + i++ + } +} + // C documentation // // /* @@ -147424,7 +148656,7 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasStat1) == uint32(0) { break } - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) if i >= int32(1) && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&reqFlags == reqFlags && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_INDEXED)) != uint32(0) { if int32(nSearch) > int32((*TTable)(unsafe.Pointer(pTab)).FnRowLogEst) { *(*Tu32)(unsafe.Pointer(pLoop + 48)) |= uint32(WHERE_BLOOMFILTER) @@ -147439,6 +148671,69 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { } } +// C documentation +// +// /* +// ** Expression Node callback for sqlite3ExprCanReturnSubtype(). +// ** +// ** Only a function call is able to return a subtype. So if the node +// ** is not a function call, return WRC_Prune immediately. +// ** +// ** A function call is able to return a subtype if it has the +// ** SQLITE_RESULT_SUBTYPE property. +// ** +// ** Assume that every function is able to pass-through a subtype from +// ** one of its argument (using sqlite3_result_value()). Most functions +// ** are not this way, but we don't have a mechanism to distinguish those +// ** that are from those that are not, so assume they all work this way. +// ** That means that if one of its arguments is another function and that +// ** other function is able to return a subtype, then this function is +// ** able to return a subtype. +// */ +func _exprNodeCanReturnSubtype(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef uintptr + var n, v1 int32 + _, _, _, _ = db, n, pDef, v1 + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_FUNCTION) { + return int32(WRC_Prune) + } + _ = libc.Int32FromInt32(0) + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { + v1 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr + } else { + v1 = 0 + } + n = v1 + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + return int32(WRC_Prune) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Return TRUE if expression pExpr is able to return a subtype. +// ** +// ** A TRUE return does not guarantee that a subtype will be returned. +// ** It only indicates that a subtype return is possible. False positives +// ** are acceptable as they only disable an optimization. False negatives, +// ** on the other hand, can lead to incorrect answers. +// */ +func _sqlite3ExprCanReturnSubtype(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeCanReturnSubtype) + _sqlite3WalkExpr(tls, bp, pExpr) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) +} + // C documentation // // /* @@ -147453,9 +148748,9 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { // ** references to the corresponding column of the index. // */ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur int32, pTabItem uintptr) { - var db, p, pArg, pDef, pExpr, pTab uintptr - var i, j, n, v2 int32 - _, _, _, _, _, _, _, _, _, _ = db, i, j, n, p, pArg, pDef, pExpr, pTab, v2 + var i, j int32 + var p, pArg, pExpr, pTab uintptr + _, _, _, _, _, _ = i, j, p, pArg, pExpr, pTab _ = libc.Int32FromInt32(0) pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable i = 0 @@ -147473,22 +148768,14 @@ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur i goto _1 } } - if _sqlite3ExprIsConstant(tls, pExpr) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) != 0 { goto _1 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) { - db = (*TParse)(unsafe.Pointer(pParse)).Fdb - _ = libc.Int32FromInt32(0) - if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { - v2 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr - } else { - v2 = 0 - } - n = v2 - pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) - if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { - goto _1 - } + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) && _sqlite3ExprCanReturnSubtype(tls, pParse, pExpr) != 0 { + /* Functions that might set a subtype should not be replaced by the + ** value taken from an expression index since the index omits the + ** subtype. https://sqlite.org/forum/forumpost/68d284c86b082c3e */ + goto _1 } p = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(32)) if p == uintptr(0) { @@ -147662,7 +148949,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** bits in a Bitmask */ if (*TSrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22510, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22655, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) return uintptr(0) } /* This function normally generates a nested loop for all tables in @@ -147735,7 +149022,9 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere if int32(wctrlFlags)&int32(WHERE_WANT_DISTINCT) != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_DistinctOpt)) == uint32(0) { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_UNIQUE) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22538, 0) + if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FselFlags&uint32(SF_MultiValue) == uint32(0) { + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22683, 0) + } } else { /* Assign a bit from the bitmask to every term in the FROM clause. ** @@ -147869,6 +149158,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere goto whereBeginError } if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy != 0 { + _whereInterstageHeuristic(tls, pWInfo) _wherePathSolver(tls, pWInfo, int16(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut)+int32(1))) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto whereBeginError @@ -148191,10 +149481,10 @@ whereBeginError: // ** sqlite3WhereBegin() for additional information. // */ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { - var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, r1, ws, x, v4, v7 int32 - var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr + var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, r1, ws, x, v4, v7 int32 + var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pTabList = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList @@ -148337,7 +149627,14 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { addr = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfPos), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) _ = libc.Int32FromInt32(0) if ws&int32(WHERE_IDX_ONLY) == 0 { + pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 _ = libc.Int32FromInt32(0) + if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x20>>5)) != 0 { + n1 = (*TSrcItem)(unsafe.Pointer(pSrc)).FregResult + _ = libc.Int32FromInt32(0) + m = int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FnCol) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, n1, n1+m-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) } if ws&int32(WHERE_INDEXED) != 0 || ws&int32(WHERE_MULTI_OR) != 0 && *(*uintptr)(unsafe.Pointer(&(*TWhereLevel)(unsafe.Pointer(pLevel)).Fu)) != 0 { @@ -148386,6 +149683,7 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { ** OP_Rowid becomes OP_Null. */ if int32(uint32(*(*uint16)(unsafe.Pointer(pTabItem + 60 + 4))&0x20>>5)) != 0 { + _ = libc.Int32FromInt32(0) _translateColumnToCopy(tls, pParse, (*TWhereLevel)(unsafe.Pointer(pLevel)).FaddrBody, (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur, (*TSrcItem)(unsafe.Pointer(pTabItem)).FregResult, 0) goto _9 } @@ -148760,7 +150058,7 @@ func _nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) goto error_out error_out: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22556, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22701, -int32(1)) } func _nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { @@ -148947,7 +150245,7 @@ func _ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { if (*TNtileCtx)(unsafe.Pointer(p)).FnTotal == 0 { (*TNtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg))) if (*TNtileCtx)(unsafe.Pointer(p)).FnParam <= 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22612, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22757, -int32(1)) } } (*TNtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -149275,7 +150573,7 @@ func _windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) (r p = (*TWindow)(unsafe.Pointer(p)).FpNextWin } if p == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22657, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22802, libc.VaList(bp+8, zName)) } return p } @@ -149326,12 +150624,12 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin _sqlite3WindowChain(tls, pParse, pWin, pList) } if int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) == int32(TK_RANGE) && ((*TWindow)(unsafe.Pointer(pWin)).FpStart != 0 || (*TWindow)(unsafe.Pointer(pWin)).FpEnd != 0) && ((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*TExprList)(unsafe.Pointer((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != int32(1)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22676, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22821, 0) } else { if (*TFuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TWindow)(unsafe.Pointer(pWin)).FpFilter != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22747, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22892, 0) } else { aUp = [8]struct { FzFunc uintptr @@ -149404,7 +150702,7 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*TWindow)(unsafe.Pointer(pWin)).FeEnd = uint8(aUp[i].FeEnd) (*TWindow)(unsafe.Pointer(pWin)).FeExclude = uint8(0) if int32((*TWindow)(unsafe.Pointer(pWin)).FeStart) == int32(TK_FOLLOWING) { - (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8130) + (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8255) } break } @@ -149692,7 +150990,7 @@ func _disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintpt defer tls.Free(16) if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_FUNCTION) && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { _ = libc.Int32FromInt32(0) - _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22810, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) + _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22955, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) } return WRC_Continue } @@ -149835,7 +151133,7 @@ func _sqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { ** keep everything legal in this case. */ if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1722)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1782)) } pSub = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(bp)), pSrc, pWhere, pGroupBy, pHaving, pSort, uint32(0), uintptr(0)) (*TSelect)(unsafe.Pointer(p)).FpSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), uintptr(0), uintptr(0)) @@ -149940,7 +151238,7 @@ func _sqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { // ** variable values in the expression tree. // */ func _sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r uintptr) { - if 0 == _sqlite3ExprIsConstant(tls, pExpr) { + if 0 == _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) { if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameExprUnmap(tls, pParse, pExpr) } @@ -149986,7 +151284,7 @@ func _sqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int3 ** frame boundary. */ if eStart == int32(TK_CURRENT) && eEnd == int32(TK_PRECEDING) || eStart == int32(TK_FOLLOWING) && (eEnd == int32(TK_PRECEDING) || eEnd == int32(TK_CURRENT)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22836, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22981, 0) goto windowAllocErr } pWin = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) @@ -150054,18 +151352,18 @@ func _sqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint zErr = uintptr(0) /* Check for errors */ if (*TWindow)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = __ccgo_ts + 22868 + zErr = __ccgo_ts + 23013 } else { if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*TWindow)(unsafe.Pointer(pWin)).FpOrderBy != 0 { - zErr = __ccgo_ts + 22885 + zErr = __ccgo_ts + 23030 } else { if int32((*TWindow)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = __ccgo_ts + 22901 + zErr = __ccgo_ts + 23046 } } } if zErr != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22921, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23066, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) } else { (*TWindow)(unsafe.Pointer(pWin)).FpPartition = _sqlite3ExprListDup(tls, db, (*TWindow)(unsafe.Pointer(pExist)).FpPartition, 0) if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 { @@ -150093,7 +151391,7 @@ func _sqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(libc.Int32FromInt32(EP_WinFunc) | libc.Int32FromInt32(EP_FullSize)) (*TWindow)(unsafe.Pointer(pWin)).FpOwner = p if (*TExpr)(unsafe.Pointer(p)).Fflags&uint32(EP_Distinct) != 0 && int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) != int32(TK_FILTER) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22954, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23099, 0) } } else { _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -150295,7 +151593,7 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regZero) if eCond >= int32(WINDOW_STARTING_NUM) { regString = _sqlite3GetTempReg(tls, pParse) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1648, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1662, -int32(1)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, _sqlite3VdbeCurrentAddr(tls, v)+int32(2), reg) _sqlite3VdbeChangeP5(tls, v, uint16(libc.Int32FromInt32(SQLITE_AFF_NUMERIC)|libc.Int32FromInt32(SQLITE_JUMPIFNULL))) _ = libc.Int32FromInt32(0) @@ -150316,11 +151614,11 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { } var _azErr = [5]uintptr{ - 0: __ccgo_ts + 23001, - 1: __ccgo_ts + 23054, - 2: __ccgo_ts + 22556, - 3: __ccgo_ts + 23105, - 4: __ccgo_ts + 23157, + 0: __ccgo_ts + 23146, + 1: __ccgo_ts + 23199, + 2: __ccgo_ts + 22701, + 3: __ccgo_ts + 23250, + 4: __ccgo_ts + 23302, } var _aOp1 = [5]int32{ @@ -151092,7 +152390,7 @@ func _windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal ** the add/subtract is skipped for these, as required. If reg1 is a NULL, ** then the arithmetic is performed, but since adding or subtracting from ** NULL is always NULL anyway, this case is handled as required too. */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1648, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1662, -int32(1)) addrGe = _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, 0, reg1) if op == int32(OP_Ge) && arith == int32(OP_Add) || op == int32(OP_Le) && arith == int32(OP_Subtract) { _sqlite3VdbeAddOp3(tls, v, op, reg2, lbl, reg1) @@ -152133,11 +153431,11 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { cnt++ if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*TSelect)(unsafe.Pointer(pLoop)).FpLimit != 0 { if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - v1 = __ccgo_ts + 23207 + v1 = __ccgo_ts + 23352 } else { - v1 = __ccgo_ts + 23216 + v1 = __ccgo_ts + 23361 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23222, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23367, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) break } } @@ -152146,7 +153444,7 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { mxSelect = v2 } if v3 && v2 > 0 && cnt > mxSelect { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23264, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23409, 0) } } } @@ -152166,6 +153464,23 @@ func _attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith u return pSelect } +// C documentation +// +// /* Memory allocator for parser stack resizing. This is a thin wrapper around +// ** sqlite3_realloc() that includes a call to sqlite3FaultSim() to facilitate +// ** testing. +// */ +func _parserStackRealloc(tls *libc.TLS, pOld uintptr, newSize Tsqlite3_uint64) (r uintptr) { + var v1 uintptr + _ = v1 + if _sqlite3FaultSim(tls, int32(700)) != 0 { + v1 = uintptr(0) + } else { + v1 = Xsqlite3_realloc(tls, pOld, int32(newSize)) + } + return v1 +} + // C documentation // // /* Construct a new Expr object from a single token */ @@ -152235,7 +153550,7 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId _ = p p = _sqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if (hasCollate != 0 || sortOrder != -int32(1)) && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23298, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23443, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) } _sqlite3ExprListSetName(tls, pParse, p, pIdToken, int32(1)) return p @@ -152285,6 +153600,9 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser // ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser // ** sqlite3ParserCTX_* As sqlite3ParserARG_ except for %extra_context +// ** YYREALLOC Name of the realloc() function to use +// ** YYFREE Name of the free() function to use +// ** YYDYNSTACK True if stack space should be extended on heap // ** YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** YYNSTATE the combined number of states. @@ -152298,31 +153616,33 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** YY_NO_ACTION The yy_action[] code for no-op // ** YY_MIN_REDUCE Minimum value for reduce actions // ** YY_MAX_REDUCE Maximum value for reduce actions +// ** YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type TYYMINORTYPE = struct { Fyy0 [0]TToken - Fyy33 [0]uintptr - Fyy41 [0]uintptr - Fyy47 [0]uintptr - Fyy131 [0]uintptr - Fyy180 [0]TTrigEvent - Fyy231 [0]struct { + Fyy14 [0]uintptr + Fyy59 [0]uintptr + Fyy67 [0]uintptr + Fyy122 [0]uintptr + Fyy132 [0]uintptr + Fyy144 [0]int32 + Fyy168 [0]uintptr + Fyy203 [0]uintptr + Fyy211 [0]uintptr + Fyy269 [0]TOnOrUsing + Fyy286 [0]TTrigEvent + Fyy383 [0]struct { Fvalue int32 Fmask int32 } - Fyy254 [0]uintptr - Fyy285 [0]Tu32 - Fyy322 [0]uintptr - Fyy385 [0]uintptr - Fyy394 [0]int32 - Fyy444 [0]uintptr - Fyy516 [0]Tu8 - Fyy521 [0]uintptr - Fyy522 [0]uintptr - Fyy528 [0]uintptr - Fyy561 [0]TOnOrUsing - Fyy595 [0]TFrameBound + Fyy391 [0]Tu32 + Fyy427 [0]uintptr + Fyy454 [0]uintptr + Fyy462 [0]Tu8 + Fyy509 [0]TFrameBound + Fyy555 [0]uintptr Fyyinit int32 F__ccgo_pad20 [12]byte } @@ -152340,6 +153660,13 @@ type YYMINORTYPE = TYYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -152392,2152 +153719,2194 @@ type YYMINORTYPE = TYYMINORTYPE // ** yy_default[] Default action for each state. // ** // *********** Begin parsing tables **********************************************/ -var _yy_action = [2100]uint16{ - 0: uint16(572), - 1: uint16(210), - 2: uint16(572), - 3: uint16(119), - 4: uint16(116), - 5: uint16(231), - 6: uint16(572), - 7: uint16(119), - 8: uint16(116), - 9: uint16(231), - 10: uint16(572), - 11: uint16(1317), - 12: uint16(379), - 13: uint16(1296), - 14: uint16(410), - 15: uint16(566), - 16: uint16(566), - 17: uint16(566), - 18: uint16(572), - 19: uint16(411), - 20: uint16(380), - 21: uint16(1317), - 22: uint16(1279), - 23: uint16(42), - 24: uint16(42), - 25: uint16(42), - 26: uint16(42), - 27: uint16(210), - 28: uint16(1529), - 29: uint16(72), - 30: uint16(72), - 31: uint16(974), - 32: uint16(421), - 33: uint16(42), - 34: uint16(42), - 35: uint16(495), - 36: uint16(305), - 37: uint16(281), - 38: uint16(305), - 39: uint16(975), - 40: uint16(399), - 41: uint16(72), - 42: uint16(72), - 43: uint16(126), - 44: uint16(127), - 45: uint16(81), - 46: uint16(1217), - 47: uint16(1217), - 48: uint16(1054), - 49: uint16(1057), - 50: uint16(1044), - 51: uint16(1044), - 52: uint16(124), - 53: uint16(124), - 54: uint16(125), - 55: uint16(125), - 56: uint16(125), - 57: uint16(125), - 58: uint16(480), - 59: uint16(411), - 60: uint16(1244), - 61: uint16(1), - 62: uint16(1), - 63: uint16(578), - 64: uint16(2), - 65: uint16(1248), - 66: uint16(554), - 67: uint16(119), - 68: uint16(116), - 69: uint16(231), - 70: uint16(319), - 71: uint16(484), - 72: uint16(147), - 73: uint16(484), - 74: uint16(528), - 75: uint16(119), - 76: uint16(116), - 77: uint16(231), - 78: uint16(533), - 79: uint16(1330), - 80: uint16(419), - 81: uint16(527), - 82: uint16(143), - 83: uint16(126), - 84: uint16(127), - 85: uint16(81), - 86: uint16(1217), - 87: uint16(1217), - 88: uint16(1054), - 89: uint16(1057), - 90: uint16(1044), - 91: uint16(1044), - 92: uint16(124), - 93: uint16(124), - 94: uint16(125), - 95: uint16(125), - 96: uint16(125), - 97: uint16(125), - 98: uint16(119), - 99: uint16(116), - 100: uint16(231), - 101: uint16(329), - 102: uint16(123), - 103: uint16(123), - 104: uint16(123), - 105: uint16(123), - 106: uint16(122), - 107: uint16(122), - 108: uint16(121), - 109: uint16(121), - 110: uint16(121), - 111: uint16(120), - 112: uint16(117), - 113: uint16(448), - 114: uint16(286), - 115: uint16(286), - 116: uint16(286), - 117: uint16(286), - 118: uint16(446), - 119: uint16(446), - 120: uint16(446), - 121: uint16(1568), - 122: uint16(378), - 123: uint16(1570), - 124: uint16(1193), - 125: uint16(377), - 126: uint16(1164), - 127: uint16(569), - 128: uint16(1164), - 129: uint16(569), - 130: uint16(411), - 131: uint16(1568), - 132: uint16(541), - 133: uint16(261), - 134: uint16(228), - 135: uint16(448), - 136: uint16(102), - 137: uint16(146), - 138: uint16(453), - 139: uint16(318), - 140: uint16(563), - 141: uint16(242), - 142: uint16(123), - 143: uint16(123), - 144: uint16(123), - 145: uint16(123), - 146: uint16(122), - 147: uint16(122), - 148: uint16(121), - 149: uint16(121), - 150: uint16(121), - 151: uint16(120), - 152: uint16(117), - 153: uint16(448), - 154: uint16(126), - 155: uint16(127), - 156: uint16(81), - 157: uint16(1217), - 158: uint16(1217), - 159: uint16(1054), - 160: uint16(1057), - 161: uint16(1044), - 162: uint16(1044), - 163: uint16(124), - 164: uint16(124), - 165: uint16(125), - 166: uint16(125), - 167: uint16(125), - 168: uint16(125), - 169: uint16(143), - 170: uint16(296), - 171: uint16(1193), - 172: uint16(341), - 173: uint16(452), - 174: uint16(121), - 175: uint16(121), - 176: uint16(121), - 177: uint16(120), - 178: uint16(117), - 179: uint16(448), - 180: uint16(128), - 181: uint16(1193), - 182: uint16(1194), - 183: uint16(1193), - 184: uint16(149), - 185: uint16(445), - 186: uint16(444), - 187: uint16(572), - 188: uint16(120), - 189: uint16(117), - 190: uint16(448), - 191: uint16(125), - 192: uint16(125), - 193: uint16(125), - 194: uint16(125), - 195: uint16(118), - 196: uint16(123), - 197: uint16(123), - 198: uint16(123), - 199: uint16(123), - 200: uint16(122), - 201: uint16(122), - 202: uint16(121), - 203: uint16(121), - 204: uint16(121), - 205: uint16(120), - 206: uint16(117), - 207: uint16(448), - 208: uint16(458), - 209: uint16(114), - 210: uint16(13), - 211: uint16(13), - 212: uint16(550), - 213: uint16(123), - 214: uint16(123), - 215: uint16(123), - 216: uint16(123), - 217: uint16(122), - 218: uint16(122), - 219: uint16(121), - 220: uint16(121), - 221: uint16(121), - 222: uint16(120), - 223: uint16(117), - 224: uint16(448), - 225: uint16(424), - 226: uint16(318), - 227: uint16(563), - 228: uint16(1193), - 229: uint16(1194), - 230: uint16(1193), - 231: uint16(150), - 232: uint16(1225), - 233: uint16(411), - 234: uint16(1225), - 235: uint16(125), - 236: uint16(125), - 237: uint16(125), - 238: uint16(125), - 239: uint16(123), - 240: uint16(123), - 241: uint16(123), - 242: uint16(123), - 243: uint16(122), - 244: uint16(122), - 245: uint16(121), - 246: uint16(121), - 247: uint16(121), - 248: uint16(120), - 249: uint16(117), - 250: uint16(448), - 251: uint16(469), - 252: uint16(344), - 253: uint16(1041), - 254: uint16(1041), - 255: uint16(1055), - 256: uint16(1058), - 257: uint16(126), - 258: uint16(127), - 259: uint16(81), - 260: uint16(1217), - 261: uint16(1217), - 262: uint16(1054), - 263: uint16(1057), - 264: uint16(1044), - 265: uint16(1044), - 266: uint16(124), - 267: uint16(124), - 268: uint16(125), - 269: uint16(125), - 270: uint16(125), - 271: uint16(125), - 272: uint16(1282), - 273: uint16(526), - 274: uint16(224), - 275: uint16(1193), - 276: uint16(572), - 277: uint16(411), - 278: uint16(226), - 279: uint16(519), - 280: uint16(177), - 281: uint16(83), - 282: uint16(84), - 283: uint16(123), - 284: uint16(123), - 285: uint16(123), - 286: uint16(123), - 287: uint16(122), - 288: uint16(122), - 289: uint16(121), - 290: uint16(121), - 291: uint16(121), - 292: uint16(120), - 293: uint16(117), - 294: uint16(448), - 295: uint16(1010), - 296: uint16(16), - 297: uint16(16), - 298: uint16(1193), - 299: uint16(134), - 300: uint16(134), - 301: uint16(126), - 302: uint16(127), - 303: uint16(81), - 304: uint16(1217), - 305: uint16(1217), - 306: uint16(1054), - 307: uint16(1057), - 308: uint16(1044), - 309: uint16(1044), - 310: uint16(124), - 311: uint16(124), - 312: uint16(125), - 313: uint16(125), - 314: uint16(125), - 315: uint16(125), - 316: uint16(123), - 317: uint16(123), - 318: uint16(123), - 319: uint16(123), - 320: uint16(122), - 321: uint16(122), - 322: uint16(121), - 323: uint16(121), - 324: uint16(121), - 325: uint16(120), - 326: uint16(117), - 327: uint16(448), - 328: uint16(1045), - 329: uint16(550), - 330: uint16(1193), - 331: uint16(375), - 332: uint16(1193), - 333: uint16(1194), - 334: uint16(1193), - 335: uint16(254), - 336: uint16(1438), - 337: uint16(401), - 338: uint16(508), - 339: uint16(505), - 340: uint16(504), - 341: uint16(112), - 342: uint16(564), - 343: uint16(570), +var _yy_action = [2142]uint16{ + 0: uint16(576), + 1: uint16(128), + 2: uint16(125), + 3: uint16(232), + 4: uint16(1622), + 5: uint16(549), + 6: uint16(576), + 7: uint16(1290), + 8: uint16(1281), + 9: uint16(576), + 10: uint16(328), + 11: uint16(576), + 12: uint16(1300), + 13: uint16(212), + 14: uint16(576), + 15: uint16(128), + 16: uint16(125), + 17: uint16(232), + 18: uint16(578), + 19: uint16(412), + 20: uint16(578), + 21: uint16(391), + 22: uint16(1542), + 23: uint16(51), + 24: uint16(51), + 25: uint16(523), + 26: uint16(405), + 27: uint16(1293), + 28: uint16(529), + 29: uint16(51), + 30: uint16(51), + 31: uint16(983), + 32: uint16(51), + 33: uint16(51), + 34: uint16(81), + 35: uint16(81), + 36: uint16(1107), + 37: uint16(61), + 38: uint16(61), + 39: uint16(984), + 40: uint16(1107), + 41: uint16(1292), + 42: uint16(380), + 43: uint16(135), + 44: uint16(136), + 45: uint16(90), + 46: uint16(1228), + 47: uint16(1228), + 48: uint16(1063), + 49: uint16(1066), + 50: uint16(1053), + 51: uint16(1053), + 52: uint16(133), + 53: uint16(133), + 54: uint16(134), + 55: uint16(134), + 56: uint16(134), + 57: uint16(134), + 58: uint16(1577), + 59: uint16(412), + 60: uint16(287), + 61: uint16(287), + 62: uint16(7), + 63: uint16(287), + 64: uint16(287), + 65: uint16(422), + 66: uint16(1050), + 67: uint16(1050), + 68: uint16(1064), + 69: uint16(1067), + 70: uint16(289), + 71: uint16(556), + 72: uint16(492), + 73: uint16(573), + 74: uint16(524), + 75: uint16(561), + 76: uint16(573), + 77: uint16(497), + 78: uint16(561), + 79: uint16(482), + 80: uint16(530), + 81: uint16(262), + 82: uint16(229), + 83: uint16(135), + 84: uint16(136), + 85: uint16(90), + 86: uint16(1228), + 87: uint16(1228), + 88: uint16(1063), + 89: uint16(1066), + 90: uint16(1053), + 91: uint16(1053), + 92: uint16(133), + 93: uint16(133), + 94: uint16(134), + 95: uint16(134), + 96: uint16(134), + 97: uint16(134), + 98: uint16(128), + 99: uint16(125), + 100: uint16(232), + 101: uint16(1506), + 102: uint16(132), + 103: uint16(132), + 104: uint16(132), + 105: uint16(132), + 106: uint16(131), + 107: uint16(131), + 108: uint16(130), + 109: uint16(130), + 110: uint16(130), + 111: uint16(129), + 112: uint16(126), + 113: uint16(450), + 114: uint16(1204), + 115: uint16(1255), + 116: uint16(1), + 117: uint16(1), + 118: uint16(582), + 119: uint16(2), + 120: uint16(1259), + 121: uint16(1571), + 122: uint16(420), + 123: uint16(1582), + 124: uint16(379), + 125: uint16(320), + 126: uint16(1174), + 127: uint16(153), + 128: uint16(1174), + 129: uint16(1584), + 130: uint16(412), + 131: uint16(378), + 132: uint16(1582), + 133: uint16(543), + 134: uint16(1341), + 135: uint16(330), + 136: uint16(111), + 137: uint16(570), + 138: uint16(570), + 139: uint16(570), + 140: uint16(293), + 141: uint16(1054), + 142: uint16(132), + 143: uint16(132), + 144: uint16(132), + 145: uint16(132), + 146: uint16(131), + 147: uint16(131), + 148: uint16(130), + 149: uint16(130), + 150: uint16(130), + 151: uint16(129), + 152: uint16(126), + 153: uint16(450), + 154: uint16(135), + 155: uint16(136), + 156: uint16(90), + 157: uint16(1228), + 158: uint16(1228), + 159: uint16(1063), + 160: uint16(1066), + 161: uint16(1053), + 162: uint16(1053), + 163: uint16(133), + 164: uint16(133), + 165: uint16(134), + 166: uint16(134), + 167: uint16(134), + 168: uint16(134), + 169: uint16(287), + 170: uint16(287), + 171: uint16(1204), + 172: uint16(1205), + 173: uint16(1204), + 174: uint16(255), + 175: uint16(287), + 176: uint16(287), + 177: uint16(510), + 178: uint16(507), + 179: uint16(506), + 180: uint16(137), + 181: uint16(455), + 182: uint16(573), + 183: uint16(212), + 184: uint16(561), + 185: uint16(447), + 186: uint16(446), + 187: uint16(505), + 188: uint16(573), + 189: uint16(1616), + 190: uint16(561), + 191: uint16(134), + 192: uint16(134), + 193: uint16(134), + 194: uint16(134), + 195: uint16(127), + 196: uint16(400), + 197: uint16(243), + 198: uint16(132), + 199: uint16(132), + 200: uint16(132), + 201: uint16(132), + 202: uint16(131), + 203: uint16(131), + 204: uint16(130), + 205: uint16(130), + 206: uint16(130), + 207: uint16(129), + 208: uint16(126), + 209: uint16(450), + 210: uint16(282), + 211: uint16(471), + 212: uint16(345), + 213: uint16(132), + 214: uint16(132), + 215: uint16(132), + 216: uint16(132), + 217: uint16(131), + 218: uint16(131), + 219: uint16(130), + 220: uint16(130), + 221: uint16(130), + 222: uint16(129), + 223: uint16(126), + 224: uint16(450), + 225: uint16(574), + 226: uint16(155), + 227: uint16(936), + 228: uint16(936), + 229: uint16(454), + 230: uint16(227), + 231: uint16(521), + 232: uint16(1236), + 233: uint16(412), + 234: uint16(1236), + 235: uint16(134), + 236: uint16(134), + 237: uint16(134), + 238: uint16(134), + 239: uint16(132), + 240: uint16(132), + 241: uint16(132), + 242: uint16(132), + 243: uint16(131), + 244: uint16(131), + 245: uint16(130), + 246: uint16(130), + 247: uint16(130), + 248: uint16(129), + 249: uint16(126), + 250: uint16(450), + 251: uint16(130), + 252: uint16(130), + 253: uint16(130), + 254: uint16(129), + 255: uint16(126), + 256: uint16(450), + 257: uint16(135), + 258: uint16(136), + 259: uint16(90), + 260: uint16(1228), + 261: uint16(1228), + 262: uint16(1063), + 263: uint16(1066), + 264: uint16(1053), + 265: uint16(1053), + 266: uint16(133), + 267: uint16(133), + 268: uint16(134), + 269: uint16(134), + 270: uint16(134), + 271: uint16(134), + 272: uint16(128), + 273: uint16(125), + 274: uint16(232), + 275: uint16(450), + 276: uint16(576), + 277: uint16(412), + 278: uint16(397), + 279: uint16(1249), + 280: uint16(180), + 281: uint16(92), + 282: uint16(93), + 283: uint16(132), + 284: uint16(132), + 285: uint16(132), + 286: uint16(132), + 287: uint16(131), + 288: uint16(131), + 289: uint16(130), + 290: uint16(130), + 291: uint16(130), + 292: uint16(129), + 293: uint16(126), + 294: uint16(450), + 295: uint16(381), + 296: uint16(387), + 297: uint16(1204), + 298: uint16(383), + 299: uint16(81), + 300: uint16(81), + 301: uint16(135), + 302: uint16(136), + 303: uint16(90), + 304: uint16(1228), + 305: uint16(1228), + 306: uint16(1063), + 307: uint16(1066), + 308: uint16(1053), + 309: uint16(1053), + 310: uint16(133), + 311: uint16(133), + 312: uint16(134), + 313: uint16(134), + 314: uint16(134), + 315: uint16(134), + 316: uint16(132), + 317: uint16(132), + 318: uint16(132), + 319: uint16(132), + 320: uint16(131), + 321: uint16(131), + 322: uint16(130), + 323: uint16(130), + 324: uint16(130), + 325: uint16(129), + 326: uint16(126), + 327: uint16(450), + 328: uint16(131), + 329: uint16(131), + 330: uint16(130), + 331: uint16(130), + 332: uint16(130), + 333: uint16(129), + 334: uint16(126), + 335: uint16(450), + 336: uint16(556), + 337: uint16(1204), + 338: uint16(302), + 339: uint16(319), + 340: uint16(567), + 341: uint16(121), + 342: uint16(568), + 343: uint16(480), 344: uint16(4), - 345: uint16(929), - 346: uint16(929), - 347: uint16(435), - 348: uint16(503), - 349: uint16(342), - 350: uint16(464), - 351: uint16(330), - 352: uint16(362), - 353: uint16(396), - 354: uint16(1238), - 355: uint16(1193), - 356: uint16(1194), - 357: uint16(1193), - 358: uint16(567), - 359: uint16(572), - 360: uint16(123), - 361: uint16(123), - 362: uint16(123), - 363: uint16(123), - 364: uint16(122), - 365: uint16(122), - 366: uint16(121), - 367: uint16(121), - 368: uint16(121), - 369: uint16(120), - 370: uint16(117), - 371: uint16(448), - 372: uint16(286), - 373: uint16(286), - 374: uint16(371), - 375: uint16(1581), - 376: uint16(1607), - 377: uint16(445), - 378: uint16(444), - 379: uint16(155), - 380: uint16(411), - 381: uint16(449), - 382: uint16(72), - 383: uint16(72), - 384: uint16(1289), - 385: uint16(569), - 386: uint16(1222), - 387: uint16(1193), - 388: uint16(1194), - 389: uint16(1193), - 390: uint16(86), - 391: uint16(1224), - 392: uint16(273), - 393: uint16(561), - 394: uint16(547), - 395: uint16(520), - 396: uint16(520), - 397: uint16(572), - 398: uint16(99), - 399: uint16(1223), - 400: uint16(6), - 401: uint16(1281), - 402: uint16(476), - 403: uint16(143), - 404: uint16(126), - 405: uint16(127), - 406: uint16(81), - 407: uint16(1217), - 408: uint16(1217), - 409: uint16(1054), - 410: uint16(1057), - 411: uint16(1044), - 412: uint16(1044), - 413: uint16(124), - 414: uint16(124), - 415: uint16(125), - 416: uint16(125), - 417: uint16(125), - 418: uint16(125), - 419: uint16(554), - 420: uint16(13), - 421: uint16(13), - 422: uint16(1031), - 423: uint16(511), - 424: uint16(1225), - 425: uint16(1193), - 426: uint16(1225), - 427: uint16(553), - 428: uint16(110), - 429: uint16(110), - 430: uint16(224), - 431: uint16(572), - 432: uint16(1239), - 433: uint16(177), - 434: uint16(572), - 435: uint16(429), - 436: uint16(111), - 437: uint16(199), - 438: uint16(449), - 439: uint16(573), - 440: uint16(449), - 441: uint16(432), - 442: uint16(1555), - 443: uint16(1019), - 444: uint16(327), - 445: uint16(555), - 446: uint16(1193), - 447: uint16(272), - 448: uint16(289), - 449: uint16(370), - 450: uint16(514), - 451: uint16(365), - 452: uint16(513), - 453: uint16(259), - 454: uint16(72), - 455: uint16(72), - 456: uint16(547), - 457: uint16(72), - 458: uint16(72), - 459: uint16(361), - 460: uint16(318), - 461: uint16(563), - 462: uint16(1613), - 463: uint16(123), - 464: uint16(123), - 465: uint16(123), - 466: uint16(123), - 467: uint16(122), - 468: uint16(122), - 469: uint16(121), - 470: uint16(121), - 471: uint16(121), - 472: uint16(120), - 473: uint16(117), - 474: uint16(448), - 475: uint16(1019), - 476: uint16(1019), - 477: uint16(1021), - 478: uint16(1022), - 479: uint16(28), - 480: uint16(286), - 481: uint16(286), - 482: uint16(1193), - 483: uint16(1194), - 484: uint16(1193), - 485: uint16(1159), - 486: uint16(572), - 487: uint16(1612), - 488: uint16(411), - 489: uint16(904), - 490: uint16(192), - 491: uint16(554), - 492: uint16(358), - 493: uint16(569), - 494: uint16(554), - 495: uint16(940), - 496: uint16(537), - 497: uint16(521), - 498: uint16(1159), - 499: uint16(437), - 500: uint16(415), - 501: uint16(1159), - 502: uint16(556), - 503: uint16(1193), - 504: uint16(1194), - 505: uint16(1193), - 506: uint16(572), - 507: uint16(548), - 508: uint16(548), - 509: uint16(52), - 510: uint16(52), - 511: uint16(216), - 512: uint16(126), - 513: uint16(127), - 514: uint16(81), - 515: uint16(1217), - 516: uint16(1217), - 517: uint16(1054), - 518: uint16(1057), - 519: uint16(1044), - 520: uint16(1044), - 521: uint16(124), - 522: uint16(124), - 523: uint16(125), - 524: uint16(125), - 525: uint16(125), - 526: uint16(125), - 527: uint16(1193), - 528: uint16(478), - 529: uint16(136), - 530: uint16(136), - 531: uint16(411), - 532: uint16(286), - 533: uint16(286), - 534: uint16(1493), - 535: uint16(509), - 536: uint16(122), - 537: uint16(122), - 538: uint16(121), - 539: uint16(121), - 540: uint16(121), - 541: uint16(120), - 542: uint16(117), - 543: uint16(448), - 544: uint16(1010), - 545: uint16(569), - 546: uint16(522), - 547: uint16(219), - 548: uint16(545), - 549: uint16(545), - 550: uint16(318), - 551: uint16(563), - 552: uint16(143), - 553: uint16(6), - 554: uint16(536), - 555: uint16(126), - 556: uint16(127), - 557: uint16(81), - 558: uint16(1217), - 559: uint16(1217), - 560: uint16(1054), - 561: uint16(1057), - 562: uint16(1044), - 563: uint16(1044), - 564: uint16(124), - 565: uint16(124), - 566: uint16(125), - 567: uint16(125), - 568: uint16(125), - 569: uint16(125), - 570: uint16(1557), - 571: uint16(123), - 572: uint16(123), - 573: uint16(123), - 574: uint16(123), - 575: uint16(122), - 576: uint16(122), - 577: uint16(121), - 578: uint16(121), - 579: uint16(121), - 580: uint16(120), - 581: uint16(117), - 582: uint16(448), - 583: uint16(489), - 584: uint16(1193), - 585: uint16(1194), - 586: uint16(1193), - 587: uint16(486), - 588: uint16(283), - 589: uint16(1270), - 590: uint16(960), - 591: uint16(254), - 592: uint16(1193), - 593: uint16(375), - 594: uint16(508), - 595: uint16(505), - 596: uint16(504), - 597: uint16(1193), - 598: uint16(342), - 599: uint16(574), - 600: uint16(1193), - 601: uint16(574), - 602: uint16(411), - 603: uint16(294), - 604: uint16(503), - 605: uint16(960), - 606: uint16(879), - 607: uint16(193), - 608: uint16(484), - 609: uint16(318), - 610: uint16(563), - 611: uint16(386), - 612: uint16(292), - 613: uint16(382), - 614: uint16(123), - 615: uint16(123), - 616: uint16(123), - 617: uint16(123), - 618: uint16(122), - 619: uint16(122), - 620: uint16(121), - 621: uint16(121), - 622: uint16(121), - 623: uint16(120), - 624: uint16(117), - 625: uint16(448), - 626: uint16(126), - 627: uint16(127), - 628: uint16(81), - 629: uint16(1217), - 630: uint16(1217), - 631: uint16(1054), - 632: uint16(1057), - 633: uint16(1044), - 634: uint16(1044), - 635: uint16(124), - 636: uint16(124), - 637: uint16(125), - 638: uint16(125), - 639: uint16(125), - 640: uint16(125), - 641: uint16(411), - 642: uint16(396), - 643: uint16(1139), - 644: uint16(1193), - 645: uint16(872), - 646: uint16(101), - 647: uint16(286), - 648: uint16(286), - 649: uint16(1193), - 650: uint16(1194), - 651: uint16(1193), - 652: uint16(375), - 653: uint16(1096), - 654: uint16(1193), - 655: uint16(1194), - 656: uint16(1193), - 657: uint16(1193), - 658: uint16(1194), - 659: uint16(1193), - 660: uint16(569), - 661: uint16(459), - 662: uint16(33), - 663: uint16(375), - 664: uint16(235), - 665: uint16(126), - 666: uint16(127), - 667: uint16(81), - 668: uint16(1217), - 669: uint16(1217), - 670: uint16(1054), - 671: uint16(1057), - 672: uint16(1044), - 673: uint16(1044), - 674: uint16(124), - 675: uint16(124), - 676: uint16(125), - 677: uint16(125), - 678: uint16(125), - 679: uint16(125), - 680: uint16(1437), - 681: uint16(962), - 682: uint16(572), - 683: uint16(230), - 684: uint16(961), - 685: uint16(123), - 686: uint16(123), - 687: uint16(123), - 688: uint16(123), - 689: uint16(122), - 690: uint16(122), - 691: uint16(121), - 692: uint16(121), - 693: uint16(121), - 694: uint16(120), - 695: uint16(117), - 696: uint16(448), - 697: uint16(1159), - 698: uint16(230), - 699: uint16(1193), - 700: uint16(158), - 701: uint16(1193), - 702: uint16(1194), - 703: uint16(1193), - 704: uint16(1556), - 705: uint16(13), - 706: uint16(13), - 707: uint16(303), - 708: uint16(960), - 709: uint16(1233), - 710: uint16(1159), - 711: uint16(154), - 712: uint16(411), - 713: uint16(1159), - 714: uint16(375), - 715: uint16(1584), - 716: uint16(1177), - 717: uint16(5), - 718: uint16(371), - 719: uint16(1581), - 720: uint16(431), - 721: uint16(1239), - 722: uint16(3), - 723: uint16(960), - 724: uint16(123), - 725: uint16(123), - 726: uint16(123), - 727: uint16(123), - 728: uint16(122), - 729: uint16(122), - 730: uint16(121), - 731: uint16(121), - 732: uint16(121), - 733: uint16(120), - 734: uint16(117), - 735: uint16(448), - 736: uint16(126), - 737: uint16(127), - 738: uint16(81), - 739: uint16(1217), - 740: uint16(1217), - 741: uint16(1054), - 742: uint16(1057), - 743: uint16(1044), - 744: uint16(1044), - 745: uint16(124), - 746: uint16(124), - 747: uint16(125), - 748: uint16(125), - 749: uint16(125), - 750: uint16(125), - 751: uint16(411), - 752: uint16(210), - 753: uint16(571), - 754: uint16(1193), - 755: uint16(1032), - 756: uint16(1193), - 757: uint16(1194), - 758: uint16(1193), - 759: uint16(1193), - 760: uint16(390), - 761: uint16(855), - 762: uint16(156), - 763: uint16(1555), - 764: uint16(376), - 765: uint16(404), - 766: uint16(1101), - 767: uint16(1101), - 768: uint16(492), - 769: uint16(572), - 770: uint16(469), - 771: uint16(344), - 772: uint16(1322), - 773: uint16(1322), - 774: uint16(1555), - 775: uint16(126), - 776: uint16(127), - 777: uint16(81), - 778: uint16(1217), - 779: uint16(1217), - 780: uint16(1054), - 781: uint16(1057), - 782: uint16(1044), - 783: uint16(1044), - 784: uint16(124), - 785: uint16(124), - 786: uint16(125), - 787: uint16(125), - 788: uint16(125), - 789: uint16(125), - 790: uint16(130), - 791: uint16(572), - 792: uint16(13), - 793: uint16(13), - 794: uint16(532), - 795: uint16(123), - 796: uint16(123), - 797: uint16(123), - 798: uint16(123), - 799: uint16(122), - 800: uint16(122), - 801: uint16(121), - 802: uint16(121), - 803: uint16(121), - 804: uint16(120), - 805: uint16(117), - 806: uint16(448), - 807: uint16(304), - 808: uint16(572), - 809: uint16(457), - 810: uint16(229), - 811: uint16(1193), - 812: uint16(1194), - 813: uint16(1193), - 814: uint16(13), - 815: uint16(13), - 816: uint16(1193), - 817: uint16(1194), - 818: uint16(1193), - 819: uint16(1300), - 820: uint16(467), - 821: uint16(1270), - 822: uint16(411), - 823: uint16(1320), - 824: uint16(1320), - 825: uint16(1555), - 826: uint16(1015), - 827: uint16(457), - 828: uint16(456), - 829: uint16(436), - 830: uint16(301), - 831: uint16(72), - 832: uint16(72), - 833: uint16(1268), - 834: uint16(123), - 835: uint16(123), - 836: uint16(123), - 837: uint16(123), - 838: uint16(122), - 839: uint16(122), - 840: uint16(121), - 841: uint16(121), - 842: uint16(121), - 843: uint16(120), - 844: uint16(117), - 845: uint16(448), - 846: uint16(126), - 847: uint16(127), - 848: uint16(81), - 849: uint16(1217), - 850: uint16(1217), - 851: uint16(1054), - 852: uint16(1057), - 853: uint16(1044), - 854: uint16(1044), - 855: uint16(124), - 856: uint16(124), - 857: uint16(125), - 858: uint16(125), - 859: uint16(125), - 860: uint16(125), - 861: uint16(411), - 862: uint16(384), - 863: uint16(1076), - 864: uint16(1159), - 865: uint16(286), - 866: uint16(286), - 867: uint16(421), - 868: uint16(314), - 869: uint16(280), - 870: uint16(280), - 871: uint16(287), - 872: uint16(287), - 873: uint16(461), - 874: uint16(408), - 875: uint16(407), - 876: uint16(1539), - 877: uint16(1159), - 878: uint16(569), - 879: uint16(572), - 880: uint16(1159), - 881: uint16(1196), - 882: uint16(569), - 883: uint16(409), - 884: uint16(569), - 885: uint16(126), - 886: uint16(127), - 887: uint16(81), - 888: uint16(1217), - 889: uint16(1217), - 890: uint16(1054), - 891: uint16(1057), - 892: uint16(1044), - 893: uint16(1044), - 894: uint16(124), - 895: uint16(124), - 896: uint16(125), - 897: uint16(125), - 898: uint16(125), - 899: uint16(125), - 900: uint16(457), - 901: uint16(1485), - 902: uint16(13), - 903: uint16(13), - 904: uint16(1541), - 905: uint16(123), - 906: uint16(123), - 907: uint16(123), - 908: uint16(123), - 909: uint16(122), - 910: uint16(122), - 911: uint16(121), - 912: uint16(121), - 913: uint16(121), - 914: uint16(120), - 915: uint16(117), - 916: uint16(448), - 917: uint16(202), - 918: uint16(572), - 919: uint16(462), - 920: uint16(1587), - 921: uint16(578), - 922: uint16(2), - 923: uint16(1248), - 924: uint16(843), - 925: uint16(844), - 926: uint16(845), - 927: uint16(1563), - 928: uint16(319), - 929: uint16(409), - 930: uint16(147), - 931: uint16(6), - 932: uint16(411), - 933: uint16(257), - 934: uint16(256), - 935: uint16(255), - 936: uint16(208), - 937: uint16(1330), - 938: uint16(9), - 939: uint16(1196), - 940: uint16(264), - 941: uint16(72), - 942: uint16(72), - 943: uint16(1436), - 944: uint16(123), - 945: uint16(123), - 946: uint16(123), - 947: uint16(123), - 948: uint16(122), - 949: uint16(122), - 950: uint16(121), - 951: uint16(121), - 952: uint16(121), - 953: uint16(120), - 954: uint16(117), - 955: uint16(448), - 956: uint16(126), - 957: uint16(127), - 958: uint16(81), - 959: uint16(1217), - 960: uint16(1217), - 961: uint16(1054), - 962: uint16(1057), - 963: uint16(1044), - 964: uint16(1044), - 965: uint16(124), - 966: uint16(124), - 967: uint16(125), - 968: uint16(125), - 969: uint16(125), - 970: uint16(125), - 971: uint16(572), - 972: uint16(286), - 973: uint16(286), - 974: uint16(572), - 975: uint16(1213), - 976: uint16(411), - 977: uint16(577), - 978: uint16(315), - 979: uint16(1248), - 980: uint16(421), - 981: uint16(371), - 982: uint16(1581), - 983: uint16(356), - 984: uint16(319), - 985: uint16(569), - 986: uint16(147), - 987: uint16(495), - 988: uint16(529), - 989: uint16(1644), - 990: uint16(397), - 991: uint16(935), - 992: uint16(495), - 993: uint16(1330), - 994: uint16(71), - 995: uint16(71), - 996: uint16(934), - 997: uint16(72), - 998: uint16(72), - 999: uint16(242), - 1000: uint16(1328), - 1001: uint16(105), - 1002: uint16(81), - 1003: uint16(1217), - 1004: uint16(1217), - 1005: uint16(1054), - 1006: uint16(1057), - 1007: uint16(1044), - 1008: uint16(1044), - 1009: uint16(124), - 1010: uint16(124), - 1011: uint16(125), - 1012: uint16(125), - 1013: uint16(125), - 1014: uint16(125), - 1015: uint16(123), - 1016: uint16(123), - 1017: uint16(123), - 1018: uint16(123), - 1019: uint16(122), - 1020: uint16(122), - 1021: uint16(121), - 1022: uint16(121), - 1023: uint16(121), - 1024: uint16(120), - 1025: uint16(117), - 1026: uint16(448), - 1027: uint16(1117), - 1028: uint16(286), - 1029: uint16(286), - 1030: uint16(1422), - 1031: uint16(452), - 1032: uint16(1528), - 1033: uint16(1213), - 1034: uint16(443), - 1035: uint16(286), - 1036: uint16(286), - 1037: uint16(1492), - 1038: uint16(1355), - 1039: uint16(313), - 1040: uint16(478), - 1041: uint16(569), - 1042: uint16(1118), - 1043: uint16(454), - 1044: uint16(351), - 1045: uint16(495), - 1046: uint16(354), - 1047: uint16(1266), - 1048: uint16(569), - 1049: uint16(209), - 1050: uint16(572), - 1051: uint16(418), - 1052: uint16(179), - 1053: uint16(572), - 1054: uint16(1031), - 1055: uint16(242), - 1056: uint16(385), - 1057: uint16(1119), - 1058: uint16(523), - 1059: uint16(123), - 1060: uint16(123), - 1061: uint16(123), - 1062: uint16(123), - 1063: uint16(122), - 1064: uint16(122), - 1065: uint16(121), - 1066: uint16(121), - 1067: uint16(121), - 1068: uint16(120), - 1069: uint16(117), - 1070: uint16(448), - 1071: uint16(1020), - 1072: uint16(108), - 1073: uint16(72), - 1074: uint16(72), - 1075: uint16(1019), - 1076: uint16(13), - 1077: uint16(13), - 1078: uint16(915), - 1079: uint16(572), - 1080: uint16(1498), - 1081: uint16(572), - 1082: uint16(286), - 1083: uint16(286), - 1084: uint16(98), - 1085: uint16(530), - 1086: uint16(1537), - 1087: uint16(452), - 1088: uint16(916), - 1089: uint16(1334), - 1090: uint16(1329), - 1091: uint16(203), - 1092: uint16(411), - 1093: uint16(286), - 1094: uint16(286), - 1095: uint16(569), - 1096: uint16(152), - 1097: uint16(211), - 1098: uint16(1498), - 1099: uint16(1500), - 1100: uint16(426), - 1101: uint16(569), - 1102: uint16(56), - 1103: uint16(56), - 1104: uint16(57), - 1105: uint16(57), - 1106: uint16(569), - 1107: uint16(1019), - 1108: uint16(1019), - 1109: uint16(1021), - 1110: uint16(447), - 1111: uint16(572), - 1112: uint16(411), - 1113: uint16(531), - 1114: uint16(12), - 1115: uint16(297), - 1116: uint16(126), - 1117: uint16(127), - 1118: uint16(81), - 1119: uint16(1217), - 1120: uint16(1217), - 1121: uint16(1054), - 1122: uint16(1057), - 1123: uint16(1044), - 1124: uint16(1044), - 1125: uint16(124), - 1126: uint16(124), - 1127: uint16(125), - 1128: uint16(125), - 1129: uint16(125), - 1130: uint16(125), - 1131: uint16(572), - 1132: uint16(411), - 1133: uint16(867), - 1134: uint16(15), - 1135: uint16(15), - 1136: uint16(126), - 1137: uint16(127), - 1138: uint16(81), - 1139: uint16(1217), - 1140: uint16(1217), - 1141: uint16(1054), - 1142: uint16(1057), - 1143: uint16(1044), - 1144: uint16(1044), - 1145: uint16(124), - 1146: uint16(124), - 1147: uint16(125), - 1148: uint16(125), - 1149: uint16(125), - 1150: uint16(125), - 1151: uint16(373), - 1152: uint16(529), - 1153: uint16(264), - 1154: uint16(44), - 1155: uint16(44), - 1156: uint16(126), - 1157: uint16(115), - 1158: uint16(81), - 1159: uint16(1217), - 1160: uint16(1217), - 1161: uint16(1054), - 1162: uint16(1057), - 1163: uint16(1044), - 1164: uint16(1044), - 1165: uint16(124), - 1166: uint16(124), - 1167: uint16(125), - 1168: uint16(125), - 1169: uint16(125), - 1170: uint16(125), - 1171: uint16(1498), - 1172: uint16(478), - 1173: uint16(1271), - 1174: uint16(417), - 1175: uint16(123), - 1176: uint16(123), - 1177: uint16(123), - 1178: uint16(123), - 1179: uint16(122), - 1180: uint16(122), - 1181: uint16(121), - 1182: uint16(121), - 1183: uint16(121), - 1184: uint16(120), - 1185: uint16(117), - 1186: uint16(448), - 1187: uint16(205), - 1188: uint16(1213), - 1189: uint16(495), - 1190: uint16(430), - 1191: uint16(867), - 1192: uint16(468), - 1193: uint16(322), - 1194: uint16(495), - 1195: uint16(123), - 1196: uint16(123), - 1197: uint16(123), - 1198: uint16(123), - 1199: uint16(122), - 1200: uint16(122), - 1201: uint16(121), - 1202: uint16(121), - 1203: uint16(121), - 1204: uint16(120), - 1205: uint16(117), - 1206: uint16(448), - 1207: uint16(572), - 1208: uint16(557), - 1209: uint16(1140), - 1210: uint16(1642), - 1211: uint16(1422), - 1212: uint16(1642), - 1213: uint16(543), - 1214: uint16(572), - 1215: uint16(123), - 1216: uint16(123), - 1217: uint16(123), - 1218: uint16(123), - 1219: uint16(122), - 1220: uint16(122), - 1221: uint16(121), - 1222: uint16(121), - 1223: uint16(121), - 1224: uint16(120), - 1225: uint16(117), - 1226: uint16(448), - 1227: uint16(572), - 1228: uint16(1422), - 1229: uint16(572), - 1230: uint16(13), - 1231: uint16(13), - 1232: uint16(542), - 1233: uint16(323), - 1234: uint16(1325), - 1235: uint16(411), - 1236: uint16(334), - 1237: uint16(58), - 1238: uint16(58), - 1239: uint16(349), - 1240: uint16(1422), - 1241: uint16(1170), - 1242: uint16(326), - 1243: uint16(286), - 1244: uint16(286), - 1245: uint16(549), - 1246: uint16(1213), - 1247: uint16(300), - 1248: uint16(895), - 1249: uint16(530), - 1250: uint16(45), - 1251: uint16(45), - 1252: uint16(59), - 1253: uint16(59), - 1254: uint16(1140), - 1255: uint16(1643), - 1256: uint16(569), - 1257: uint16(1643), - 1258: uint16(565), - 1259: uint16(417), - 1260: uint16(127), - 1261: uint16(81), - 1262: uint16(1217), - 1263: uint16(1217), - 1264: uint16(1054), - 1265: uint16(1057), - 1266: uint16(1044), - 1267: uint16(1044), - 1268: uint16(124), - 1269: uint16(124), - 1270: uint16(125), - 1271: uint16(125), - 1272: uint16(125), - 1273: uint16(125), - 1274: uint16(1367), - 1275: uint16(373), - 1276: uint16(500), - 1277: uint16(290), - 1278: uint16(1193), - 1279: uint16(512), - 1280: uint16(1366), - 1281: uint16(427), - 1282: uint16(394), - 1283: uint16(394), - 1284: uint16(393), - 1285: uint16(275), - 1286: uint16(391), - 1287: uint16(896), - 1288: uint16(1138), - 1289: uint16(852), - 1290: uint16(478), - 1291: uint16(258), - 1292: uint16(1422), - 1293: uint16(1170), - 1294: uint16(463), - 1295: uint16(1159), - 1296: uint16(12), - 1297: uint16(331), - 1298: uint16(428), - 1299: uint16(333), - 1300: uint16(1117), - 1301: uint16(460), - 1302: uint16(236), - 1303: uint16(258), - 1304: uint16(325), - 1305: uint16(460), - 1306: uint16(544), - 1307: uint16(1544), - 1308: uint16(1159), - 1309: uint16(1098), - 1310: uint16(491), - 1311: uint16(1159), - 1312: uint16(324), - 1313: uint16(1098), - 1314: uint16(440), - 1315: uint16(1118), - 1316: uint16(335), - 1317: uint16(516), - 1318: uint16(123), - 1319: uint16(123), - 1320: uint16(123), - 1321: uint16(123), - 1322: uint16(122), - 1323: uint16(122), - 1324: uint16(121), - 1325: uint16(121), - 1326: uint16(121), - 1327: uint16(120), - 1328: uint16(117), - 1329: uint16(448), - 1330: uint16(1119), - 1331: uint16(318), - 1332: uint16(563), - 1333: uint16(1138), - 1334: uint16(572), - 1335: uint16(1193), - 1336: uint16(1194), - 1337: uint16(1193), - 1338: uint16(112), - 1339: uint16(564), - 1340: uint16(201), + 345: uint16(555), + 346: uint16(1149), + 347: uint16(1657), + 348: uint16(1628), + 349: uint16(1657), + 350: uint16(45), + 351: uint16(128), + 352: uint16(125), + 353: uint16(232), + 354: uint16(1204), + 355: uint16(1205), + 356: uint16(1204), + 357: uint16(1250), + 358: uint16(571), + 359: uint16(1169), + 360: uint16(132), + 361: uint16(132), + 362: uint16(132), + 363: uint16(132), + 364: uint16(131), + 365: uint16(131), + 366: uint16(130), + 367: uint16(130), + 368: uint16(130), + 369: uint16(129), + 370: uint16(126), + 371: uint16(450), + 372: uint16(1169), + 373: uint16(287), + 374: uint16(287), + 375: uint16(1169), + 376: uint16(1019), + 377: uint16(576), + 378: uint16(422), + 379: uint16(1019), + 380: uint16(412), + 381: uint16(451), + 382: uint16(1602), + 383: uint16(582), + 384: uint16(2), + 385: uint16(1259), + 386: uint16(573), + 387: uint16(44), + 388: uint16(561), + 389: uint16(95), + 390: uint16(320), + 391: uint16(110), + 392: uint16(153), + 393: uint16(565), + 394: uint16(1204), + 395: uint16(1205), + 396: uint16(1204), + 397: uint16(522), + 398: uint16(522), + 399: uint16(1341), + 400: uint16(81), + 401: uint16(81), + 402: uint16(7), + 403: uint16(44), + 404: uint16(135), + 405: uint16(136), + 406: uint16(90), + 407: uint16(1228), + 408: uint16(1228), + 409: uint16(1063), + 410: uint16(1066), + 411: uint16(1053), + 412: uint16(1053), + 413: uint16(133), + 414: uint16(133), + 415: uint16(134), + 416: uint16(134), + 417: uint16(134), + 418: uint16(134), + 419: uint16(295), + 420: uint16(1149), + 421: uint16(1658), + 422: uint16(1040), + 423: uint16(1658), + 424: uint16(1204), + 425: uint16(1147), + 426: uint16(319), + 427: uint16(567), + 428: uint16(119), + 429: uint16(119), + 430: uint16(343), + 431: uint16(466), + 432: uint16(331), + 433: uint16(343), + 434: uint16(287), + 435: uint16(287), + 436: uint16(120), + 437: uint16(556), + 438: uint16(451), + 439: uint16(577), + 440: uint16(451), + 441: uint16(1169), + 442: uint16(1169), + 443: uint16(1028), + 444: uint16(319), + 445: uint16(567), + 446: uint16(438), + 447: uint16(573), + 448: uint16(210), + 449: uint16(561), + 450: uint16(1339), + 451: uint16(1451), + 452: uint16(546), + 453: uint16(531), + 454: uint16(1169), + 455: uint16(1169), + 456: uint16(1598), + 457: uint16(1169), + 458: uint16(1169), + 459: uint16(416), + 460: uint16(319), + 461: uint16(567), + 462: uint16(243), + 463: uint16(132), + 464: uint16(132), + 465: uint16(132), + 466: uint16(132), + 467: uint16(131), + 468: uint16(131), + 469: uint16(130), + 470: uint16(130), + 471: uint16(130), + 472: uint16(129), + 473: uint16(126), + 474: uint16(450), + 475: uint16(1028), + 476: uint16(1028), + 477: uint16(1030), + 478: uint16(1031), + 479: uint16(35), + 480: uint16(44), + 481: uint16(1204), + 482: uint16(1205), + 483: uint16(1204), + 484: uint16(472), + 485: uint16(287), + 486: uint16(287), + 487: uint16(1328), + 488: uint16(412), + 489: uint16(1307), + 490: uint16(372), + 491: uint16(1595), + 492: uint16(359), + 493: uint16(225), + 494: uint16(454), + 495: uint16(1204), + 496: uint16(195), + 497: uint16(1328), + 498: uint16(573), + 499: uint16(1147), + 500: uint16(561), + 501: uint16(1333), + 502: uint16(1333), + 503: uint16(274), + 504: uint16(576), + 505: uint16(1188), + 506: uint16(576), + 507: uint16(340), + 508: uint16(46), + 509: uint16(196), + 510: uint16(537), + 511: uint16(217), + 512: uint16(135), + 513: uint16(136), + 514: uint16(90), + 515: uint16(1228), + 516: uint16(1228), + 517: uint16(1063), + 518: uint16(1066), + 519: uint16(1053), + 520: uint16(1053), + 521: uint16(133), + 522: uint16(133), + 523: uint16(134), + 524: uint16(134), + 525: uint16(134), + 526: uint16(134), + 527: uint16(19), + 528: uint16(19), + 529: uint16(19), + 530: uint16(19), + 531: uint16(412), + 532: uint16(581), + 533: uint16(1204), + 534: uint16(1259), + 535: uint16(511), + 536: uint16(1204), + 537: uint16(319), + 538: uint16(567), + 539: uint16(320), + 540: uint16(944), + 541: uint16(153), + 542: uint16(425), + 543: uint16(491), + 544: uint16(430), + 545: uint16(943), + 546: uint16(1204), + 547: uint16(488), + 548: uint16(1341), + 549: uint16(1450), + 550: uint16(532), + 551: uint16(1277), + 552: uint16(1204), + 553: uint16(1205), + 554: uint16(1204), + 555: uint16(135), + 556: uint16(136), + 557: uint16(90), + 558: uint16(1228), + 559: uint16(1228), + 560: uint16(1063), + 561: uint16(1066), + 562: uint16(1053), + 563: uint16(1053), + 564: uint16(133), + 565: uint16(133), + 566: uint16(134), + 567: uint16(134), + 568: uint16(134), + 569: uint16(134), + 570: uint16(575), + 571: uint16(132), + 572: uint16(132), + 573: uint16(132), + 574: uint16(132), + 575: uint16(131), + 576: uint16(131), + 577: uint16(130), + 578: uint16(130), + 579: uint16(130), + 580: uint16(129), + 581: uint16(126), + 582: uint16(450), + 583: uint16(287), + 584: uint16(287), + 585: uint16(528), + 586: uint16(287), + 587: uint16(287), + 588: uint16(372), + 589: uint16(1595), + 590: uint16(1204), + 591: uint16(1205), + 592: uint16(1204), + 593: uint16(1204), + 594: uint16(1205), + 595: uint16(1204), + 596: uint16(573), + 597: uint16(486), + 598: uint16(561), + 599: uint16(573), + 600: uint16(889), + 601: uint16(561), + 602: uint16(412), + 603: uint16(1204), + 604: uint16(1205), + 605: uint16(1204), + 606: uint16(886), + 607: uint16(40), + 608: uint16(22), + 609: uint16(22), + 610: uint16(220), + 611: uint16(243), + 612: uint16(525), + 613: uint16(1449), + 614: uint16(132), + 615: uint16(132), + 616: uint16(132), + 617: uint16(132), + 618: uint16(131), + 619: uint16(131), + 620: uint16(130), + 621: uint16(130), + 622: uint16(130), + 623: uint16(129), + 624: uint16(126), + 625: uint16(450), + 626: uint16(135), + 627: uint16(136), + 628: uint16(90), + 629: uint16(1228), + 630: uint16(1228), + 631: uint16(1063), + 632: uint16(1066), + 633: uint16(1053), + 634: uint16(1053), + 635: uint16(133), + 636: uint16(133), + 637: uint16(134), + 638: uint16(134), + 639: uint16(134), + 640: uint16(134), + 641: uint16(412), + 642: uint16(180), + 643: uint16(454), + 644: uint16(1204), + 645: uint16(879), + 646: uint16(255), + 647: uint16(287), + 648: uint16(287), + 649: uint16(510), + 650: uint16(507), + 651: uint16(506), + 652: uint16(372), + 653: uint16(1595), + 654: uint16(1568), + 655: uint16(1331), + 656: uint16(1331), + 657: uint16(576), + 658: uint16(889), + 659: uint16(505), + 660: uint16(573), + 661: uint16(44), + 662: uint16(561), + 663: uint16(559), + 664: uint16(1207), + 665: uint16(135), + 666: uint16(136), + 667: uint16(90), + 668: uint16(1228), + 669: uint16(1228), + 670: uint16(1063), + 671: uint16(1066), + 672: uint16(1053), + 673: uint16(1053), + 674: uint16(133), + 675: uint16(133), + 676: uint16(134), + 677: uint16(134), + 678: uint16(134), + 679: uint16(134), + 680: uint16(81), + 681: uint16(81), + 682: uint16(422), + 683: uint16(576), + 684: uint16(377), + 685: uint16(132), + 686: uint16(132), + 687: uint16(132), + 688: uint16(132), + 689: uint16(131), + 690: uint16(131), + 691: uint16(130), + 692: uint16(130), + 693: uint16(130), + 694: uint16(129), + 695: uint16(126), + 696: uint16(450), + 697: uint16(297), + 698: uint16(287), + 699: uint16(287), + 700: uint16(460), + 701: uint16(1204), + 702: uint16(1205), + 703: uint16(1204), + 704: uint16(1204), + 705: uint16(534), + 706: uint16(19), + 707: uint16(19), + 708: uint16(448), + 709: uint16(448), + 710: uint16(448), + 711: uint16(573), + 712: uint16(412), + 713: uint16(561), + 714: uint16(230), + 715: uint16(436), + 716: uint16(1187), + 717: uint16(535), + 718: uint16(319), + 719: uint16(567), + 720: uint16(363), + 721: uint16(432), + 722: uint16(1207), + 723: uint16(1435), + 724: uint16(132), + 725: uint16(132), + 726: uint16(132), + 727: uint16(132), + 728: uint16(131), + 729: uint16(131), + 730: uint16(130), + 731: uint16(130), + 732: uint16(130), + 733: uint16(129), + 734: uint16(126), + 735: uint16(450), + 736: uint16(135), + 737: uint16(136), + 738: uint16(90), + 739: uint16(1228), + 740: uint16(1228), + 741: uint16(1063), + 742: uint16(1066), + 743: uint16(1053), + 744: uint16(1053), + 745: uint16(133), + 746: uint16(133), + 747: uint16(134), + 748: uint16(134), + 749: uint16(134), + 750: uint16(134), + 751: uint16(412), + 752: uint16(211), + 753: uint16(949), + 754: uint16(1169), + 755: uint16(1041), + 756: uint16(1110), + 757: uint16(1110), + 758: uint16(494), + 759: uint16(547), + 760: uint16(547), + 761: uint16(1204), + 762: uint16(1205), + 763: uint16(1204), + 764: uint16(7), + 765: uint16(539), + 766: uint16(1570), + 767: uint16(1169), + 768: uint16(376), + 769: uint16(576), + 770: uint16(1169), + 771: uint16(5), + 772: uint16(1204), + 773: uint16(486), + 774: uint16(3), + 775: uint16(135), + 776: uint16(136), + 777: uint16(90), + 778: uint16(1228), + 779: uint16(1228), + 780: uint16(1063), + 781: uint16(1066), + 782: uint16(1053), + 783: uint16(1053), + 784: uint16(133), + 785: uint16(133), + 786: uint16(134), + 787: uint16(134), + 788: uint16(134), + 789: uint16(134), + 790: uint16(576), + 791: uint16(513), + 792: uint16(19), + 793: uint16(19), + 794: uint16(427), + 795: uint16(132), + 796: uint16(132), + 797: uint16(132), + 798: uint16(132), + 799: uint16(131), + 800: uint16(131), + 801: uint16(130), + 802: uint16(130), + 803: uint16(130), + 804: uint16(129), + 805: uint16(126), + 806: uint16(450), + 807: uint16(305), + 808: uint16(1204), + 809: uint16(433), + 810: uint16(225), + 811: uint16(1204), + 812: uint16(385), + 813: uint16(19), + 814: uint16(19), + 815: uint16(273), + 816: uint16(290), + 817: uint16(371), + 818: uint16(516), + 819: uint16(366), + 820: uint16(515), + 821: uint16(260), + 822: uint16(412), + 823: uint16(538), + 824: uint16(1568), + 825: uint16(549), + 826: uint16(1024), + 827: uint16(362), + 828: uint16(437), + 829: uint16(1204), + 830: uint16(1205), + 831: uint16(1204), + 832: uint16(902), + 833: uint16(1552), + 834: uint16(132), + 835: uint16(132), + 836: uint16(132), + 837: uint16(132), + 838: uint16(131), + 839: uint16(131), + 840: uint16(130), + 841: uint16(130), + 842: uint16(130), + 843: uint16(129), + 844: uint16(126), + 845: uint16(450), + 846: uint16(135), + 847: uint16(136), + 848: uint16(90), + 849: uint16(1228), + 850: uint16(1228), + 851: uint16(1063), + 852: uint16(1066), + 853: uint16(1053), + 854: uint16(1053), + 855: uint16(133), + 856: uint16(133), + 857: uint16(134), + 858: uint16(134), + 859: uint16(134), + 860: uint16(134), + 861: uint16(412), + 862: uint16(1435), + 863: uint16(514), + 864: uint16(1281), + 865: uint16(1204), + 866: uint16(1205), + 867: uint16(1204), + 868: uint16(1204), + 869: uint16(1205), + 870: uint16(1204), + 871: uint16(903), + 872: uint16(48), + 873: uint16(342), + 874: uint16(1568), + 875: uint16(1568), + 876: uint16(1279), + 877: uint16(1627), + 878: uint16(1568), + 879: uint16(911), + 880: uint16(576), + 881: uint16(129), + 882: uint16(126), + 883: uint16(450), + 884: uint16(110), + 885: uint16(135), + 886: uint16(136), + 887: uint16(90), + 888: uint16(1228), + 889: uint16(1228), + 890: uint16(1063), + 891: uint16(1066), + 892: uint16(1053), + 893: uint16(1053), + 894: uint16(133), + 895: uint16(133), + 896: uint16(134), + 897: uint16(134), + 898: uint16(134), + 899: uint16(134), + 900: uint16(265), + 901: uint16(576), + 902: uint16(459), + 903: uint16(19), + 904: uint16(19), + 905: uint16(132), + 906: uint16(132), + 907: uint16(132), + 908: uint16(132), + 909: uint16(131), + 910: uint16(131), + 911: uint16(130), + 912: uint16(130), + 913: uint16(130), + 914: uint16(129), + 915: uint16(126), + 916: uint16(450), + 917: uint16(1345), + 918: uint16(204), + 919: uint16(576), + 920: uint16(459), + 921: uint16(458), + 922: uint16(50), + 923: uint16(47), + 924: uint16(19), + 925: uint16(19), + 926: uint16(49), + 927: uint16(434), + 928: uint16(1105), + 929: uint16(573), + 930: uint16(497), + 931: uint16(561), + 932: uint16(412), + 933: uint16(428), + 934: uint16(108), + 935: uint16(1224), + 936: uint16(1569), + 937: uint16(1554), + 938: uint16(376), + 939: uint16(205), + 940: uint16(550), + 941: uint16(550), + 942: uint16(81), + 943: uint16(81), + 944: uint16(132), + 945: uint16(132), + 946: uint16(132), + 947: uint16(132), + 948: uint16(131), + 949: uint16(131), + 950: uint16(130), + 951: uint16(130), + 952: uint16(130), + 953: uint16(129), + 954: uint16(126), + 955: uint16(450), + 956: uint16(135), + 957: uint16(136), + 958: uint16(90), + 959: uint16(1228), + 960: uint16(1228), + 961: uint16(1063), + 962: uint16(1066), + 963: uint16(1053), + 964: uint16(1053), + 965: uint16(133), + 966: uint16(133), + 967: uint16(134), + 968: uint16(134), + 969: uint16(134), + 970: uint16(134), + 971: uint16(480), + 972: uint16(576), + 973: uint16(1204), + 974: uint16(576), + 975: uint16(1541), + 976: uint16(412), + 977: uint16(1435), + 978: uint16(969), + 979: uint16(315), + 980: uint16(1659), + 981: uint16(398), + 982: uint16(284), + 983: uint16(497), + 984: uint16(969), + 985: uint16(893), + 986: uint16(1569), + 987: uint16(1569), + 988: uint16(376), + 989: uint16(376), + 990: uint16(1569), + 991: uint16(461), + 992: uint16(376), + 993: uint16(1224), + 994: uint16(459), + 995: uint16(80), + 996: uint16(80), + 997: uint16(81), + 998: uint16(81), + 999: uint16(497), + 1000: uint16(374), + 1001: uint16(114), + 1002: uint16(90), + 1003: uint16(1228), + 1004: uint16(1228), + 1005: uint16(1063), + 1006: uint16(1066), + 1007: uint16(1053), + 1008: uint16(1053), + 1009: uint16(133), + 1010: uint16(133), + 1011: uint16(134), + 1012: uint16(134), + 1013: uint16(134), + 1014: uint16(134), + 1015: uint16(132), + 1016: uint16(132), + 1017: uint16(132), + 1018: uint16(132), + 1019: uint16(131), + 1020: uint16(131), + 1021: uint16(130), + 1022: uint16(130), + 1023: uint16(130), + 1024: uint16(129), + 1025: uint16(126), + 1026: uint16(450), + 1027: uint16(1204), + 1028: uint16(1505), + 1029: uint16(576), + 1030: uint16(1204), + 1031: uint16(1205), + 1032: uint16(1204), + 1033: uint16(1366), + 1034: uint16(316), + 1035: uint16(486), + 1036: uint16(281), + 1037: uint16(281), + 1038: uint16(497), + 1039: uint16(431), + 1040: uint16(557), + 1041: uint16(288), + 1042: uint16(288), + 1043: uint16(402), + 1044: uint16(1340), + 1045: uint16(471), + 1046: uint16(345), + 1047: uint16(298), + 1048: uint16(429), + 1049: uint16(573), + 1050: uint16(576), + 1051: uint16(561), + 1052: uint16(81), + 1053: uint16(81), + 1054: uint16(573), + 1055: uint16(374), + 1056: uint16(561), + 1057: uint16(971), + 1058: uint16(386), + 1059: uint16(132), + 1060: uint16(132), + 1061: uint16(132), + 1062: uint16(132), + 1063: uint16(131), + 1064: uint16(131), + 1065: uint16(130), + 1066: uint16(130), + 1067: uint16(130), + 1068: uint16(129), + 1069: uint16(126), + 1070: uint16(450), + 1071: uint16(231), + 1072: uint16(117), + 1073: uint16(81), + 1074: uint16(81), + 1075: uint16(287), + 1076: uint16(287), + 1077: uint16(231), + 1078: uint16(287), + 1079: uint16(287), + 1080: uint16(576), + 1081: uint16(1511), + 1082: uint16(576), + 1083: uint16(1336), + 1084: uint16(1204), + 1085: uint16(1205), + 1086: uint16(1204), + 1087: uint16(139), + 1088: uint16(573), + 1089: uint16(556), + 1090: uint16(561), + 1091: uint16(573), + 1092: uint16(412), + 1093: uint16(561), + 1094: uint16(441), + 1095: uint16(456), + 1096: uint16(969), + 1097: uint16(213), + 1098: uint16(558), + 1099: uint16(1511), + 1100: uint16(1513), + 1101: uint16(1550), + 1102: uint16(969), + 1103: uint16(143), + 1104: uint16(143), + 1105: uint16(145), + 1106: uint16(145), + 1107: uint16(1368), + 1108: uint16(314), + 1109: uint16(478), + 1110: uint16(444), + 1111: uint16(970), + 1112: uint16(412), + 1113: uint16(850), + 1114: uint16(851), + 1115: uint16(852), + 1116: uint16(135), + 1117: uint16(136), + 1118: uint16(90), + 1119: uint16(1228), + 1120: uint16(1228), + 1121: uint16(1063), + 1122: uint16(1066), + 1123: uint16(1053), + 1124: uint16(1053), + 1125: uint16(133), + 1126: uint16(133), + 1127: uint16(134), + 1128: uint16(134), + 1129: uint16(134), + 1130: uint16(134), + 1131: uint16(357), + 1132: uint16(412), + 1133: uint16(397), + 1134: uint16(1148), + 1135: uint16(304), + 1136: uint16(135), + 1137: uint16(136), + 1138: uint16(90), + 1139: uint16(1228), + 1140: uint16(1228), + 1141: uint16(1063), + 1142: uint16(1066), + 1143: uint16(1053), + 1144: uint16(1053), + 1145: uint16(133), + 1146: uint16(133), + 1147: uint16(134), + 1148: uint16(134), + 1149: uint16(134), + 1150: uint16(134), + 1151: uint16(1575), + 1152: uint16(323), + 1153: uint16(6), + 1154: uint16(862), + 1155: uint16(7), + 1156: uint16(135), + 1157: uint16(124), + 1158: uint16(90), + 1159: uint16(1228), + 1160: uint16(1228), + 1161: uint16(1063), + 1162: uint16(1066), + 1163: uint16(1053), + 1164: uint16(1053), + 1165: uint16(133), + 1166: uint16(133), + 1167: uint16(134), + 1168: uint16(134), + 1169: uint16(134), + 1170: uint16(134), + 1171: uint16(409), + 1172: uint16(408), + 1173: uint16(1511), + 1174: uint16(212), + 1175: uint16(132), + 1176: uint16(132), + 1177: uint16(132), + 1178: uint16(132), + 1179: uint16(131), + 1180: uint16(131), + 1181: uint16(130), + 1182: uint16(130), + 1183: uint16(130), + 1184: uint16(129), + 1185: uint16(126), + 1186: uint16(450), + 1187: uint16(411), + 1188: uint16(118), + 1189: uint16(1204), + 1190: uint16(116), + 1191: uint16(10), + 1192: uint16(352), + 1193: uint16(265), + 1194: uint16(355), + 1195: uint16(132), + 1196: uint16(132), + 1197: uint16(132), + 1198: uint16(132), + 1199: uint16(131), + 1200: uint16(131), + 1201: uint16(130), + 1202: uint16(130), + 1203: uint16(130), + 1204: uint16(129), + 1205: uint16(126), + 1206: uint16(450), + 1207: uint16(576), + 1208: uint16(324), + 1209: uint16(306), + 1210: uint16(576), + 1211: uint16(306), + 1212: uint16(1250), + 1213: uint16(469), + 1214: uint16(158), + 1215: uint16(132), + 1216: uint16(132), + 1217: uint16(132), + 1218: uint16(132), + 1219: uint16(131), + 1220: uint16(131), + 1221: uint16(130), + 1222: uint16(130), + 1223: uint16(130), + 1224: uint16(129), + 1225: uint16(126), + 1226: uint16(450), + 1227: uint16(207), + 1228: uint16(1224), + 1229: uint16(1126), + 1230: uint16(65), + 1231: uint16(65), + 1232: uint16(470), + 1233: uint16(66), + 1234: uint16(66), + 1235: uint16(412), + 1236: uint16(447), + 1237: uint16(446), + 1238: uint16(882), + 1239: uint16(531), + 1240: uint16(335), + 1241: uint16(258), + 1242: uint16(257), + 1243: uint16(256), + 1244: uint16(1127), + 1245: uint16(1233), + 1246: uint16(1204), + 1247: uint16(1205), + 1248: uint16(1204), + 1249: uint16(327), + 1250: uint16(1235), + 1251: uint16(874), + 1252: uint16(159), + 1253: uint16(576), + 1254: uint16(16), + 1255: uint16(480), + 1256: uint16(1085), + 1257: uint16(1040), + 1258: uint16(1234), + 1259: uint16(1128), + 1260: uint16(136), + 1261: uint16(90), + 1262: uint16(1228), + 1263: uint16(1228), + 1264: uint16(1063), + 1265: uint16(1066), + 1266: uint16(1053), + 1267: uint16(1053), + 1268: uint16(133), + 1269: uint16(133), + 1270: uint16(134), + 1271: uint16(134), + 1272: uint16(134), + 1273: uint16(134), + 1274: uint16(1029), + 1275: uint16(576), + 1276: uint16(81), + 1277: uint16(81), + 1278: uint16(1028), + 1279: uint16(1040), + 1280: uint16(922), + 1281: uint16(576), + 1282: uint16(463), + 1283: uint16(1236), + 1284: uint16(576), + 1285: uint16(1236), + 1286: uint16(1224), + 1287: uint16(502), + 1288: uint16(107), + 1289: uint16(1435), + 1290: uint16(923), + 1291: uint16(6), + 1292: uint16(576), + 1293: uint16(410), + 1294: uint16(1498), + 1295: uint16(882), + 1296: uint16(1029), + 1297: uint16(480), + 1298: uint16(21), + 1299: uint16(21), + 1300: uint16(1028), + 1301: uint16(332), + 1302: uint16(1380), + 1303: uint16(334), + 1304: uint16(53), + 1305: uint16(53), + 1306: uint16(497), + 1307: uint16(81), + 1308: uint16(81), + 1309: uint16(874), + 1310: uint16(1028), + 1311: uint16(1028), + 1312: uint16(1030), + 1313: uint16(445), + 1314: uint16(259), + 1315: uint16(19), + 1316: uint16(19), + 1317: uint16(533), + 1318: uint16(132), + 1319: uint16(132), + 1320: uint16(132), + 1321: uint16(132), + 1322: uint16(131), + 1323: uint16(131), + 1324: uint16(130), + 1325: uint16(130), + 1326: uint16(130), + 1327: uint16(129), + 1328: uint16(126), + 1329: uint16(450), + 1330: uint16(551), + 1331: uint16(301), + 1332: uint16(1028), + 1333: uint16(1028), + 1334: uint16(1030), + 1335: uint16(107), + 1336: uint16(532), + 1337: uint16(545), + 1338: uint16(121), + 1339: uint16(568), + 1340: uint16(1188), 1341: uint16(4), - 1342: uint16(238), - 1343: uint16(433), - 1344: uint16(935), - 1345: uint16(490), - 1346: uint16(285), - 1347: uint16(228), - 1348: uint16(1517), - 1349: uint16(934), - 1350: uint16(170), - 1351: uint16(560), - 1352: uint16(572), - 1353: uint16(142), - 1354: uint16(1516), - 1355: uint16(567), - 1356: uint16(572), - 1357: uint16(60), - 1358: uint16(60), - 1359: uint16(572), - 1360: uint16(416), - 1361: uint16(572), - 1362: uint16(441), - 1363: uint16(572), - 1364: uint16(535), - 1365: uint16(302), - 1366: uint16(875), - 1367: uint16(8), - 1368: uint16(487), - 1369: uint16(572), - 1370: uint16(237), - 1371: uint16(572), - 1372: uint16(416), - 1373: uint16(572), - 1374: uint16(485), - 1375: uint16(61), - 1376: uint16(61), - 1377: uint16(572), - 1378: uint16(449), - 1379: uint16(62), - 1380: uint16(62), - 1381: uint16(332), - 1382: uint16(63), - 1383: uint16(63), - 1384: uint16(46), - 1385: uint16(46), - 1386: uint16(47), - 1387: uint16(47), - 1388: uint16(361), - 1389: uint16(572), - 1390: uint16(561), - 1391: uint16(572), - 1392: uint16(48), - 1393: uint16(48), - 1394: uint16(50), - 1395: uint16(50), - 1396: uint16(51), - 1397: uint16(51), - 1398: uint16(572), - 1399: uint16(295), - 1400: uint16(64), - 1401: uint16(64), - 1402: uint16(482), - 1403: uint16(295), - 1404: uint16(539), - 1405: uint16(412), - 1406: uint16(471), - 1407: uint16(1031), - 1408: uint16(572), - 1409: uint16(538), - 1410: uint16(318), - 1411: uint16(563), - 1412: uint16(65), - 1413: uint16(65), - 1414: uint16(66), - 1415: uint16(66), - 1416: uint16(409), - 1417: uint16(475), - 1418: uint16(572), - 1419: uint16(1031), - 1420: uint16(572), - 1421: uint16(14), - 1422: uint16(14), - 1423: uint16(875), - 1424: uint16(1020), - 1425: uint16(110), - 1426: uint16(110), - 1427: uint16(409), - 1428: uint16(1019), - 1429: uint16(572), - 1430: uint16(474), - 1431: uint16(67), - 1432: uint16(67), - 1433: uint16(111), - 1434: uint16(455), - 1435: uint16(449), - 1436: uint16(573), - 1437: uint16(449), - 1438: uint16(98), - 1439: uint16(317), - 1440: uint16(1019), - 1441: uint16(132), - 1442: uint16(132), - 1443: uint16(133), - 1444: uint16(133), - 1445: uint16(572), - 1446: uint16(1561), - 1447: uint16(572), - 1448: uint16(974), - 1449: uint16(409), - 1450: uint16(6), - 1451: uint16(1562), - 1452: uint16(68), - 1453: uint16(68), - 1454: uint16(1560), - 1455: uint16(6), - 1456: uint16(975), - 1457: uint16(572), - 1458: uint16(6), - 1459: uint16(1559), - 1460: uint16(1019), - 1461: uint16(1019), - 1462: uint16(1021), - 1463: uint16(6), - 1464: uint16(346), - 1465: uint16(218), - 1466: uint16(101), - 1467: uint16(531), - 1468: uint16(53), - 1469: uint16(53), - 1470: uint16(69), - 1471: uint16(69), - 1472: uint16(1019), - 1473: uint16(1019), - 1474: uint16(1021), - 1475: uint16(1022), - 1476: uint16(28), - 1477: uint16(1586), - 1478: uint16(1181), - 1479: uint16(451), - 1480: uint16(70), - 1481: uint16(70), - 1482: uint16(290), - 1483: uint16(87), - 1484: uint16(215), - 1485: uint16(31), - 1486: uint16(1363), - 1487: uint16(394), - 1488: uint16(394), - 1489: uint16(393), - 1490: uint16(275), - 1491: uint16(391), - 1492: uint16(350), - 1493: uint16(109), - 1494: uint16(852), - 1495: uint16(107), - 1496: uint16(572), - 1497: uint16(112), - 1498: uint16(564), - 1499: uint16(483), - 1500: uint16(4), - 1501: uint16(1212), - 1502: uint16(572), - 1503: uint16(239), - 1504: uint16(153), - 1505: uint16(572), - 1506: uint16(39), - 1507: uint16(236), - 1508: uint16(1299), - 1509: uint16(325), - 1510: uint16(112), - 1511: uint16(564), - 1512: uint16(1298), - 1513: uint16(4), - 1514: uint16(567), - 1515: uint16(572), - 1516: uint16(32), - 1517: uint16(324), - 1518: uint16(572), - 1519: uint16(54), - 1520: uint16(54), - 1521: uint16(572), - 1522: uint16(1135), - 1523: uint16(353), - 1524: uint16(398), - 1525: uint16(165), - 1526: uint16(165), - 1527: uint16(567), - 1528: uint16(166), - 1529: uint16(166), - 1530: uint16(572), - 1531: uint16(291), - 1532: uint16(355), - 1533: uint16(572), - 1534: uint16(17), - 1535: uint16(357), - 1536: uint16(572), - 1537: uint16(449), - 1538: uint16(77), - 1539: uint16(77), - 1540: uint16(1313), - 1541: uint16(55), - 1542: uint16(55), - 1543: uint16(1297), - 1544: uint16(73), - 1545: uint16(73), - 1546: uint16(572), - 1547: uint16(238), - 1548: uint16(470), - 1549: uint16(561), - 1550: uint16(449), - 1551: uint16(472), - 1552: uint16(364), - 1553: uint16(135), - 1554: uint16(135), - 1555: uint16(170), - 1556: uint16(74), - 1557: uint16(74), - 1558: uint16(142), - 1559: uint16(163), - 1560: uint16(163), - 1561: uint16(374), - 1562: uint16(561), - 1563: uint16(539), - 1564: uint16(572), - 1565: uint16(321), - 1566: uint16(572), - 1567: uint16(886), - 1568: uint16(540), - 1569: uint16(137), - 1570: uint16(137), - 1571: uint16(339), - 1572: uint16(1353), - 1573: uint16(422), - 1574: uint16(298), - 1575: uint16(237), - 1576: uint16(539), - 1577: uint16(572), - 1578: uint16(1031), - 1579: uint16(572), - 1580: uint16(340), - 1581: uint16(538), - 1582: uint16(101), - 1583: uint16(369), - 1584: uint16(110), - 1585: uint16(110), - 1586: uint16(162), - 1587: uint16(131), - 1588: uint16(131), - 1589: uint16(164), - 1590: uint16(164), - 1591: uint16(1031), - 1592: uint16(111), - 1593: uint16(368), - 1594: uint16(449), - 1595: uint16(573), - 1596: uint16(449), + 1342: uint16(1126), + 1343: uint16(1576), + 1344: uint16(449), + 1345: uint16(576), + 1346: uint16(462), + 1347: uint16(7), + 1348: uint16(1282), + 1349: uint16(418), + 1350: uint16(462), + 1351: uint16(350), + 1352: uint16(1435), + 1353: uint16(576), + 1354: uint16(518), + 1355: uint16(571), + 1356: uint16(544), + 1357: uint16(1127), + 1358: uint16(121), + 1359: uint16(568), + 1360: uint16(442), + 1361: uint16(4), + 1362: uint16(1188), + 1363: uint16(464), + 1364: uint16(533), + 1365: uint16(1180), + 1366: uint16(1223), + 1367: uint16(9), + 1368: uint16(67), + 1369: uint16(67), + 1370: uint16(487), + 1371: uint16(576), + 1372: uint16(1128), + 1373: uint16(303), + 1374: uint16(410), + 1375: uint16(571), + 1376: uint16(54), + 1377: uint16(54), + 1378: uint16(451), + 1379: uint16(576), + 1380: uint16(123), + 1381: uint16(944), + 1382: uint16(576), + 1383: uint16(417), + 1384: uint16(576), + 1385: uint16(333), + 1386: uint16(943), + 1387: uint16(1379), + 1388: uint16(576), + 1389: uint16(236), + 1390: uint16(565), + 1391: uint16(576), + 1392: uint16(1574), + 1393: uint16(564), + 1394: uint16(68), + 1395: uint16(68), + 1396: uint16(7), + 1397: uint16(576), + 1398: uint16(451), + 1399: uint16(362), + 1400: uint16(419), + 1401: uint16(182), + 1402: uint16(69), + 1403: uint16(69), + 1404: uint16(541), + 1405: uint16(70), + 1406: uint16(70), + 1407: uint16(71), + 1408: uint16(71), + 1409: uint16(540), + 1410: uint16(565), + 1411: uint16(72), + 1412: uint16(72), + 1413: uint16(484), + 1414: uint16(55), + 1415: uint16(55), + 1416: uint16(473), + 1417: uint16(1180), + 1418: uint16(296), + 1419: uint16(1040), + 1420: uint16(56), + 1421: uint16(56), + 1422: uint16(296), + 1423: uint16(493), + 1424: uint16(541), + 1425: uint16(119), + 1426: uint16(119), + 1427: uint16(410), + 1428: uint16(1573), + 1429: uint16(542), + 1430: uint16(569), + 1431: uint16(418), + 1432: uint16(7), + 1433: uint16(120), + 1434: uint16(1244), + 1435: uint16(451), + 1436: uint16(577), + 1437: uint16(451), + 1438: uint16(465), + 1439: uint16(1040), + 1440: uint16(1028), + 1441: uint16(576), + 1442: uint16(1557), + 1443: uint16(552), + 1444: uint16(476), + 1445: uint16(119), + 1446: uint16(119), + 1447: uint16(527), + 1448: uint16(259), + 1449: uint16(121), + 1450: uint16(568), + 1451: uint16(240), + 1452: uint16(4), + 1453: uint16(120), + 1454: uint16(576), + 1455: uint16(451), + 1456: uint16(577), + 1457: uint16(451), + 1458: uint16(576), + 1459: uint16(477), + 1460: uint16(1028), + 1461: uint16(576), + 1462: uint16(156), + 1463: uint16(576), + 1464: uint16(57), + 1465: uint16(57), + 1466: uint16(571), + 1467: uint16(576), + 1468: uint16(286), + 1469: uint16(229), + 1470: uint16(410), + 1471: uint16(336), + 1472: uint16(1028), + 1473: uint16(1028), + 1474: uint16(1030), + 1475: uint16(1031), + 1476: uint16(35), + 1477: uint16(59), + 1478: uint16(59), + 1479: uint16(219), + 1480: uint16(983), + 1481: uint16(60), + 1482: uint16(60), + 1483: uint16(220), + 1484: uint16(73), + 1485: uint16(73), + 1486: uint16(74), + 1487: uint16(74), + 1488: uint16(984), + 1489: uint16(451), + 1490: uint16(75), + 1491: uint16(75), + 1492: uint16(1028), + 1493: uint16(1028), + 1494: uint16(1030), + 1495: uint16(1031), + 1496: uint16(35), + 1497: uint16(96), + 1498: uint16(216), + 1499: uint16(291), + 1500: uint16(552), + 1501: uint16(565), + 1502: uint16(1188), + 1503: uint16(318), + 1504: uint16(395), + 1505: uint16(395), + 1506: uint16(394), + 1507: uint16(276), + 1508: uint16(392), + 1509: uint16(576), + 1510: uint16(485), + 1511: uint16(859), + 1512: uint16(474), + 1513: uint16(1311), + 1514: uint16(410), + 1515: uint16(541), + 1516: uint16(576), + 1517: uint16(417), + 1518: uint16(1530), + 1519: uint16(1144), + 1520: uint16(540), + 1521: uint16(399), + 1522: uint16(1188), + 1523: uint16(292), + 1524: uint16(237), + 1525: uint16(1153), + 1526: uint16(326), + 1527: uint16(38), + 1528: uint16(23), + 1529: uint16(576), + 1530: uint16(1040), + 1531: uint16(576), + 1532: uint16(20), + 1533: uint16(20), + 1534: uint16(325), + 1535: uint16(299), + 1536: uint16(119), + 1537: uint16(119), + 1538: uint16(164), + 1539: uint16(76), + 1540: uint16(76), + 1541: uint16(1529), + 1542: uint16(121), + 1543: uint16(568), + 1544: uint16(120), + 1545: uint16(4), + 1546: uint16(451), + 1547: uint16(577), + 1548: uint16(451), + 1549: uint16(203), + 1550: uint16(576), + 1551: uint16(1028), + 1552: uint16(141), + 1553: uint16(141), + 1554: uint16(142), + 1555: uint16(142), + 1556: uint16(576), + 1557: uint16(322), + 1558: uint16(39), + 1559: uint16(571), + 1560: uint16(341), + 1561: uint16(1021), + 1562: uint16(110), + 1563: uint16(264), + 1564: uint16(239), + 1565: uint16(901), + 1566: uint16(900), + 1567: uint16(423), + 1568: uint16(242), + 1569: uint16(908), + 1570: uint16(909), + 1571: uint16(370), + 1572: uint16(173), + 1573: uint16(77), + 1574: uint16(77), + 1575: uint16(43), + 1576: uint16(479), + 1577: uint16(1310), + 1578: uint16(264), + 1579: uint16(62), + 1580: uint16(62), + 1581: uint16(369), + 1582: uint16(451), + 1583: uint16(1028), + 1584: uint16(1028), + 1585: uint16(1030), + 1586: uint16(1031), + 1587: uint16(35), + 1588: uint16(1601), + 1589: uint16(1192), + 1590: uint16(453), + 1591: uint16(1092), + 1592: uint16(238), + 1593: uint16(291), + 1594: uint16(565), + 1595: uint16(163), + 1596: uint16(1309), 1597: uint16(110), - 1598: uint16(110), - 1599: uint16(1019), - 1600: uint16(157), - 1601: uint16(157), - 1602: uint16(141), - 1603: uint16(141), - 1604: uint16(572), - 1605: uint16(111), - 1606: uint16(572), - 1607: uint16(449), - 1608: uint16(573), - 1609: uint16(449), - 1610: uint16(412), - 1611: uint16(288), - 1612: uint16(1019), - 1613: uint16(572), - 1614: uint16(882), - 1615: uint16(318), - 1616: uint16(563), - 1617: uint16(572), - 1618: uint16(219), - 1619: uint16(572), - 1620: uint16(241), - 1621: uint16(1012), - 1622: uint16(477), - 1623: uint16(263), - 1624: uint16(263), - 1625: uint16(894), - 1626: uint16(893), - 1627: uint16(140), - 1628: uint16(140), - 1629: uint16(138), - 1630: uint16(138), - 1631: uint16(1019), - 1632: uint16(1019), - 1633: uint16(1021), - 1634: uint16(1022), - 1635: uint16(28), - 1636: uint16(139), - 1637: uint16(139), - 1638: uint16(525), - 1639: uint16(455), - 1640: uint16(76), - 1641: uint16(76), - 1642: uint16(78), - 1643: uint16(78), - 1644: uint16(1019), - 1645: uint16(1019), - 1646: uint16(1021), - 1647: uint16(1022), - 1648: uint16(28), - 1649: uint16(1181), - 1650: uint16(451), - 1651: uint16(572), - 1652: uint16(1083), - 1653: uint16(290), - 1654: uint16(112), - 1655: uint16(564), - 1656: uint16(1575), - 1657: uint16(4), - 1658: uint16(394), - 1659: uint16(394), - 1660: uint16(393), - 1661: uint16(275), - 1662: uint16(391), - 1663: uint16(572), - 1664: uint16(1023), - 1665: uint16(852), - 1666: uint16(572), - 1667: uint16(479), - 1668: uint16(345), - 1669: uint16(263), - 1670: uint16(101), - 1671: uint16(567), - 1672: uint16(882), - 1673: uint16(1376), - 1674: uint16(75), - 1675: uint16(75), - 1676: uint16(1421), - 1677: uint16(501), - 1678: uint16(236), - 1679: uint16(260), - 1680: uint16(325), - 1681: uint16(112), - 1682: uint16(564), - 1683: uint16(359), - 1684: uint16(4), - 1685: uint16(101), - 1686: uint16(43), - 1687: uint16(43), - 1688: uint16(324), - 1689: uint16(49), - 1690: uint16(49), - 1691: uint16(901), - 1692: uint16(902), - 1693: uint16(161), - 1694: uint16(449), - 1695: uint16(101), - 1696: uint16(977), - 1697: uint16(978), - 1698: uint16(567), - 1699: uint16(1079), - 1700: uint16(1349), - 1701: uint16(260), - 1702: uint16(965), - 1703: uint16(932), - 1704: uint16(263), - 1705: uint16(114), - 1706: uint16(561), - 1707: uint16(1095), - 1708: uint16(517), - 1709: uint16(1095), - 1710: uint16(1083), - 1711: uint16(1094), - 1712: uint16(865), - 1713: uint16(1094), - 1714: uint16(151), - 1715: uint16(933), - 1716: uint16(1144), - 1717: uint16(114), - 1718: uint16(238), - 1719: uint16(1361), - 1720: uint16(558), - 1721: uint16(449), - 1722: uint16(1023), - 1723: uint16(559), - 1724: uint16(1426), - 1725: uint16(1278), - 1726: uint16(170), - 1727: uint16(1269), - 1728: uint16(1257), - 1729: uint16(142), - 1730: uint16(1601), - 1731: uint16(1256), - 1732: uint16(1258), - 1733: uint16(561), - 1734: uint16(1594), - 1735: uint16(1031), - 1736: uint16(496), - 1737: uint16(278), - 1738: uint16(213), - 1739: uint16(1346), - 1740: uint16(310), - 1741: uint16(110), - 1742: uint16(110), - 1743: uint16(939), - 1744: uint16(311), - 1745: uint16(312), - 1746: uint16(237), - 1747: uint16(11), - 1748: uint16(234), - 1749: uint16(111), - 1750: uint16(221), - 1751: uint16(449), - 1752: uint16(573), - 1753: uint16(449), - 1754: uint16(293), - 1755: uint16(395), - 1756: uint16(1019), - 1757: uint16(1408), - 1758: uint16(337), - 1759: uint16(1403), - 1760: uint16(1396), - 1761: uint16(338), - 1762: uint16(1031), - 1763: uint16(299), - 1764: uint16(343), - 1765: uint16(1413), - 1766: uint16(1412), - 1767: uint16(481), - 1768: uint16(110), - 1769: uint16(110), - 1770: uint16(506), - 1771: uint16(402), - 1772: uint16(225), - 1773: uint16(1296), - 1774: uint16(206), - 1775: uint16(367), - 1776: uint16(111), - 1777: uint16(1358), - 1778: uint16(449), - 1779: uint16(573), - 1780: uint16(449), - 1781: uint16(412), - 1782: uint16(1359), - 1783: uint16(1019), - 1784: uint16(1489), - 1785: uint16(1488), - 1786: uint16(318), - 1787: uint16(563), - 1788: uint16(1019), - 1789: uint16(1019), - 1790: uint16(1021), - 1791: uint16(1022), - 1792: uint16(28), - 1793: uint16(562), - 1794: uint16(207), - 1795: uint16(220), - 1796: uint16(80), - 1797: uint16(564), - 1798: uint16(389), - 1799: uint16(4), - 1800: uint16(1597), - 1801: uint16(1357), - 1802: uint16(552), - 1803: uint16(1356), - 1804: uint16(1233), - 1805: uint16(181), - 1806: uint16(267), - 1807: uint16(232), - 1808: uint16(1536), - 1809: uint16(1534), - 1810: uint16(455), - 1811: uint16(1230), - 1812: uint16(420), - 1813: uint16(567), - 1814: uint16(82), - 1815: uint16(1019), - 1816: uint16(1019), - 1817: uint16(1021), - 1818: uint16(1022), - 1819: uint16(28), - 1820: uint16(86), - 1821: uint16(217), - 1822: uint16(85), - 1823: uint16(1494), - 1824: uint16(190), - 1825: uint16(175), - 1826: uint16(183), - 1827: uint16(465), - 1828: uint16(185), - 1829: uint16(466), - 1830: uint16(36), - 1831: uint16(1409), - 1832: uint16(186), - 1833: uint16(187), - 1834: uint16(188), - 1835: uint16(499), - 1836: uint16(449), - 1837: uint16(244), - 1838: uint16(37), - 1839: uint16(99), - 1840: uint16(400), - 1841: uint16(1415), - 1842: uint16(1414), - 1843: uint16(488), - 1844: uint16(1417), - 1845: uint16(194), - 1846: uint16(473), - 1847: uint16(403), - 1848: uint16(561), - 1849: uint16(1483), - 1850: uint16(248), - 1851: uint16(92), - 1852: uint16(1505), - 1853: uint16(494), - 1854: uint16(198), - 1855: uint16(279), - 1856: uint16(112), - 1857: uint16(564), - 1858: uint16(250), - 1859: uint16(4), - 1860: uint16(348), - 1861: uint16(497), - 1862: uint16(405), - 1863: uint16(352), - 1864: uint16(1259), - 1865: uint16(251), - 1866: uint16(252), - 1867: uint16(515), - 1868: uint16(1316), - 1869: uint16(434), - 1870: uint16(1315), - 1871: uint16(1314), - 1872: uint16(94), - 1873: uint16(567), - 1874: uint16(1307), - 1875: uint16(886), - 1876: uint16(1306), - 1877: uint16(1031), - 1878: uint16(226), - 1879: uint16(406), - 1880: uint16(1611), - 1881: uint16(1610), - 1882: uint16(438), - 1883: uint16(110), - 1884: uint16(110), - 1885: uint16(1580), - 1886: uint16(1286), - 1887: uint16(524), - 1888: uint16(439), - 1889: uint16(308), - 1890: uint16(266), - 1891: uint16(111), - 1892: uint16(1285), - 1893: uint16(449), - 1894: uint16(573), - 1895: uint16(449), - 1896: uint16(449), - 1897: uint16(309), - 1898: uint16(1019), - 1899: uint16(366), - 1900: uint16(1284), - 1901: uint16(1609), - 1902: uint16(265), - 1903: uint16(1566), - 1904: uint16(1565), - 1905: uint16(442), - 1906: uint16(372), - 1907: uint16(1381), - 1908: uint16(561), - 1909: uint16(129), - 1910: uint16(550), - 1911: uint16(1380), - 1912: uint16(10), - 1913: uint16(1470), - 1914: uint16(383), - 1915: uint16(106), - 1916: uint16(316), - 1917: uint16(551), - 1918: uint16(100), - 1919: uint16(35), - 1920: uint16(534), - 1921: uint16(575), - 1922: uint16(212), - 1923: uint16(1339), - 1924: uint16(381), - 1925: uint16(387), - 1926: uint16(1187), - 1927: uint16(1338), - 1928: uint16(274), - 1929: uint16(276), - 1930: uint16(1019), - 1931: uint16(1019), - 1932: uint16(1021), - 1933: uint16(1022), - 1934: uint16(28), - 1935: uint16(277), - 1936: uint16(413), - 1937: uint16(1031), - 1938: uint16(576), - 1939: uint16(1254), - 1940: uint16(388), - 1941: uint16(1521), - 1942: uint16(1249), - 1943: uint16(110), - 1944: uint16(110), - 1945: uint16(167), - 1946: uint16(1522), - 1947: uint16(168), - 1948: uint16(148), - 1949: uint16(1520), - 1950: uint16(1519), - 1951: uint16(111), - 1952: uint16(306), - 1953: uint16(449), - 1954: uint16(573), - 1955: uint16(449), - 1956: uint16(222), - 1957: uint16(223), - 1958: uint16(1019), - 1959: uint16(839), - 1960: uint16(169), - 1961: uint16(79), - 1962: uint16(450), - 1963: uint16(214), - 1964: uint16(414), - 1965: uint16(233), - 1966: uint16(320), - 1967: uint16(145), - 1968: uint16(1093), - 1969: uint16(1091), - 1970: uint16(328), - 1971: uint16(182), - 1972: uint16(171), - 1973: uint16(1212), - 1974: uint16(918), - 1975: uint16(184), - 1976: uint16(240), - 1977: uint16(336), - 1978: uint16(243), - 1979: uint16(1107), - 1980: uint16(189), - 1981: uint16(172), - 1982: uint16(173), - 1983: uint16(423), - 1984: uint16(425), - 1985: uint16(88), - 1986: uint16(180), - 1987: uint16(191), - 1988: uint16(89), - 1989: uint16(90), - 1990: uint16(1019), - 1991: uint16(1019), - 1992: uint16(1021), - 1993: uint16(1022), - 1994: uint16(28), - 1995: uint16(91), - 1996: uint16(174), - 1997: uint16(1110), - 1998: uint16(245), - 1999: uint16(1106), - 2000: uint16(246), - 2001: uint16(159), - 2002: uint16(18), - 2003: uint16(247), - 2004: uint16(347), - 2005: uint16(1099), - 2006: uint16(263), - 2007: uint16(195), - 2008: uint16(1227), - 2009: uint16(493), - 2010: uint16(249), - 2011: uint16(196), - 2012: uint16(38), - 2013: uint16(854), - 2014: uint16(498), - 2015: uint16(368), - 2016: uint16(253), - 2017: uint16(360), - 2018: uint16(897), - 2019: uint16(197), - 2020: uint16(502), - 2021: uint16(93), - 2022: uint16(19), - 2023: uint16(20), - 2024: uint16(507), - 2025: uint16(884), - 2026: uint16(363), - 2027: uint16(510), - 2028: uint16(95), - 2029: uint16(307), - 2030: uint16(160), - 2031: uint16(96), - 2032: uint16(518), - 2033: uint16(97), - 2034: uint16(1175), - 2035: uint16(1060), - 2036: uint16(1146), - 2037: uint16(40), - 2038: uint16(21), - 2039: uint16(227), - 2040: uint16(176), - 2041: uint16(1145), - 2042: uint16(282), - 2043: uint16(284), - 2044: uint16(969), - 2045: uint16(200), - 2046: uint16(963), - 2047: uint16(114), - 2048: uint16(262), - 2049: uint16(1165), - 2050: uint16(22), - 2051: uint16(23), - 2052: uint16(24), - 2053: uint16(1161), - 2054: uint16(1169), - 2055: uint16(25), - 2056: uint16(1163), - 2057: uint16(1150), - 2058: uint16(34), - 2059: uint16(26), - 2060: uint16(1168), - 2061: uint16(546), - 2062: uint16(27), - 2063: uint16(204), - 2064: uint16(101), - 2065: uint16(103), - 2066: uint16(104), - 2067: uint16(1074), - 2068: uint16(7), - 2069: uint16(1061), - 2070: uint16(1059), - 2071: uint16(1063), - 2072: uint16(1116), - 2073: uint16(1064), - 2074: uint16(1115), - 2075: uint16(268), - 2076: uint16(269), - 2077: uint16(29), - 2078: uint16(41), - 2079: uint16(270), - 2080: uint16(1024), - 2081: uint16(866), - 2082: uint16(113), - 2083: uint16(30), - 2084: uint16(568), - 2085: uint16(392), - 2086: uint16(1183), - 2087: uint16(144), - 2088: uint16(178), - 2089: uint16(1182), - 2090: uint16(271), - 2091: uint16(928), - 2092: uint16(1245), - 2093: uint16(1245), - 2094: uint16(1245), - 2095: uint16(1245), - 2096: uint16(1245), - 2097: uint16(1245), - 2098: uint16(1245), - 2099: uint16(1602), -} -var _yy_lookahead = [2285]uint16{ - 0: uint16(193), - 1: uint16(193), - 2: uint16(193), - 3: uint16(274), - 4: uint16(275), - 5: uint16(276), - 6: uint16(193), - 7: uint16(274), - 8: uint16(275), - 9: uint16(276), - 10: uint16(193), - 11: uint16(223), - 12: uint16(219), - 13: uint16(225), - 14: uint16(206), - 15: uint16(210), - 16: uint16(211), - 17: uint16(212), - 18: uint16(193), + 1598: uint16(395), + 1599: uint16(395), + 1600: uint16(394), + 1601: uint16(276), + 1602: uint16(392), + 1603: uint16(986), + 1604: uint16(987), + 1605: uint16(859), + 1606: uint16(481), + 1607: uint16(346), + 1608: uint16(264), + 1609: uint16(110), + 1610: uint16(1032), + 1611: uint16(489), + 1612: uint16(576), + 1613: uint16(1188), + 1614: uint16(503), + 1615: uint16(1088), + 1616: uint16(261), + 1617: uint16(261), + 1618: uint16(237), + 1619: uint16(576), + 1620: uint16(326), + 1621: uint16(121), + 1622: uint16(568), + 1623: uint16(1040), + 1624: uint16(4), + 1625: uint16(347), + 1626: uint16(1376), + 1627: uint16(413), + 1628: uint16(325), + 1629: uint16(119), + 1630: uint16(119), + 1631: uint16(948), + 1632: uint16(319), + 1633: uint16(567), + 1634: uint16(351), + 1635: uint16(78), + 1636: uint16(78), + 1637: uint16(120), + 1638: uint16(571), + 1639: uint16(451), + 1640: uint16(577), + 1641: uint16(451), + 1642: uint16(79), + 1643: uint16(79), + 1644: uint16(1028), + 1645: uint16(354), + 1646: uint16(356), + 1647: uint16(576), + 1648: uint16(360), + 1649: uint16(1092), + 1650: uint16(110), + 1651: uint16(576), + 1652: uint16(974), + 1653: uint16(942), + 1654: uint16(264), + 1655: uint16(123), + 1656: uint16(457), + 1657: uint16(358), + 1658: uint16(239), + 1659: uint16(576), + 1660: uint16(519), + 1661: uint16(451), + 1662: uint16(939), + 1663: uint16(1104), + 1664: uint16(123), + 1665: uint16(1104), + 1666: uint16(173), + 1667: uint16(576), + 1668: uint16(1032), + 1669: uint16(43), + 1670: uint16(63), + 1671: uint16(63), + 1672: uint16(1324), + 1673: uint16(565), + 1674: uint16(168), + 1675: uint16(168), + 1676: uint16(1028), + 1677: uint16(1028), + 1678: uint16(1030), + 1679: uint16(1031), + 1680: uint16(35), + 1681: uint16(576), + 1682: uint16(169), + 1683: uint16(169), + 1684: uint16(1308), + 1685: uint16(872), + 1686: uint16(238), + 1687: uint16(157), + 1688: uint16(1589), + 1689: uint16(576), + 1690: uint16(86), + 1691: uint16(86), + 1692: uint16(365), + 1693: uint16(89), + 1694: uint16(568), + 1695: uint16(375), + 1696: uint16(4), + 1697: uint16(1103), + 1698: uint16(941), + 1699: uint16(1103), + 1700: uint16(123), + 1701: uint16(576), + 1702: uint16(1040), + 1703: uint16(1389), + 1704: uint16(64), + 1705: uint16(64), + 1706: uint16(1188), + 1707: uint16(1434), + 1708: uint16(119), + 1709: uint16(119), + 1710: uint16(571), + 1711: uint16(576), + 1712: uint16(82), + 1713: uint16(82), + 1714: uint16(563), + 1715: uint16(576), + 1716: uint16(120), + 1717: uint16(165), + 1718: uint16(451), + 1719: uint16(577), + 1720: uint16(451), + 1721: uint16(413), + 1722: uint16(1362), + 1723: uint16(1028), + 1724: uint16(144), + 1725: uint16(144), + 1726: uint16(319), + 1727: uint16(567), + 1728: uint16(576), + 1729: uint16(1374), + 1730: uint16(562), + 1731: uint16(498), + 1732: uint16(279), + 1733: uint16(451), + 1734: uint16(83), + 1735: uint16(83), + 1736: uint16(1439), + 1737: uint16(576), + 1738: uint16(166), + 1739: uint16(166), + 1740: uint16(576), + 1741: uint16(1289), + 1742: uint16(554), + 1743: uint16(576), + 1744: uint16(1280), + 1745: uint16(565), + 1746: uint16(576), + 1747: uint16(12), + 1748: uint16(576), + 1749: uint16(1268), + 1750: uint16(457), + 1751: uint16(146), + 1752: uint16(146), + 1753: uint16(1267), + 1754: uint16(576), + 1755: uint16(1028), + 1756: uint16(1028), + 1757: uint16(1030), + 1758: uint16(1031), + 1759: uint16(35), + 1760: uint16(140), + 1761: uint16(140), + 1762: uint16(1269), + 1763: uint16(167), + 1764: uint16(167), + 1765: uint16(1609), + 1766: uint16(160), + 1767: uint16(160), + 1768: uint16(1359), + 1769: uint16(150), + 1770: uint16(150), + 1771: uint16(149), + 1772: uint16(149), + 1773: uint16(311), + 1774: uint16(1040), + 1775: uint16(576), + 1776: uint16(312), + 1777: uint16(147), + 1778: uint16(147), + 1779: uint16(313), + 1780: uint16(119), + 1781: uint16(119), + 1782: uint16(222), + 1783: uint16(235), + 1784: uint16(576), + 1785: uint16(1188), + 1786: uint16(396), + 1787: uint16(576), + 1788: uint16(120), + 1789: uint16(576), + 1790: uint16(451), + 1791: uint16(577), + 1792: uint16(451), + 1793: uint16(1192), + 1794: uint16(453), + 1795: uint16(1028), + 1796: uint16(508), + 1797: uint16(291), + 1798: uint16(148), + 1799: uint16(148), + 1800: uint16(1421), + 1801: uint16(1612), + 1802: uint16(395), + 1803: uint16(395), + 1804: uint16(394), + 1805: uint16(276), + 1806: uint16(392), + 1807: uint16(85), + 1808: uint16(85), + 1809: uint16(859), + 1810: uint16(87), + 1811: uint16(87), + 1812: uint16(84), + 1813: uint16(84), + 1814: uint16(553), + 1815: uint16(576), + 1816: uint16(294), + 1817: uint16(576), + 1818: uint16(1426), + 1819: uint16(338), + 1820: uint16(339), + 1821: uint16(1425), + 1822: uint16(237), + 1823: uint16(300), + 1824: uint16(326), + 1825: uint16(1416), + 1826: uint16(1409), + 1827: uint16(1028), + 1828: uint16(1028), + 1829: uint16(1030), + 1830: uint16(1031), + 1831: uint16(35), + 1832: uint16(325), + 1833: uint16(344), + 1834: uint16(403), + 1835: uint16(483), + 1836: uint16(226), + 1837: uint16(1307), + 1838: uint16(52), + 1839: uint16(52), + 1840: uint16(58), + 1841: uint16(58), + 1842: uint16(368), + 1843: uint16(1371), + 1844: uint16(1502), + 1845: uint16(566), + 1846: uint16(1501), + 1847: uint16(121), + 1848: uint16(568), + 1849: uint16(221), + 1850: uint16(4), + 1851: uint16(208), + 1852: uint16(268), + 1853: uint16(209), + 1854: uint16(390), + 1855: uint16(1244), + 1856: uint16(1549), + 1857: uint16(1188), + 1858: uint16(1372), + 1859: uint16(1370), + 1860: uint16(1369), + 1861: uint16(1547), + 1862: uint16(239), + 1863: uint16(184), + 1864: uint16(571), + 1865: uint16(233), + 1866: uint16(421), + 1867: uint16(1241), + 1868: uint16(95), + 1869: uint16(218), + 1870: uint16(173), + 1871: uint16(1507), + 1872: uint16(193), + 1873: uint16(43), + 1874: uint16(91), + 1875: uint16(94), + 1876: uint16(178), + 1877: uint16(186), + 1878: uint16(467), + 1879: uint16(188), + 1880: uint16(468), + 1881: uint16(1422), + 1882: uint16(13), + 1883: uint16(189), + 1884: uint16(190), + 1885: uint16(191), + 1886: uint16(501), + 1887: uint16(451), + 1888: uint16(245), + 1889: uint16(108), + 1890: uint16(238), + 1891: uint16(401), + 1892: uint16(1428), + 1893: uint16(1427), + 1894: uint16(1430), + 1895: uint16(475), + 1896: uint16(404), + 1897: uint16(1496), + 1898: uint16(197), + 1899: uint16(565), + 1900: uint16(14), + 1901: uint16(490), + 1902: uint16(249), + 1903: uint16(101), + 1904: uint16(1518), + 1905: uint16(496), + 1906: uint16(349), + 1907: uint16(280), + 1908: uint16(251), + 1909: uint16(201), + 1910: uint16(353), + 1911: uint16(499), + 1912: uint16(252), + 1913: uint16(406), + 1914: uint16(1270), + 1915: uint16(253), + 1916: uint16(517), + 1917: uint16(1327), + 1918: uint16(1326), + 1919: uint16(435), + 1920: uint16(1325), + 1921: uint16(1318), + 1922: uint16(103), + 1923: uint16(893), + 1924: uint16(1296), + 1925: uint16(413), + 1926: uint16(227), + 1927: uint16(407), + 1928: uint16(1040), + 1929: uint16(1626), + 1930: uint16(319), + 1931: uint16(567), + 1932: uint16(1625), + 1933: uint16(1297), + 1934: uint16(119), + 1935: uint16(119), + 1936: uint16(439), + 1937: uint16(367), + 1938: uint16(1317), + 1939: uint16(1295), + 1940: uint16(1624), + 1941: uint16(526), + 1942: uint16(120), + 1943: uint16(440), + 1944: uint16(451), + 1945: uint16(577), + 1946: uint16(451), + 1947: uint16(1594), + 1948: uint16(309), + 1949: uint16(1028), + 1950: uint16(310), + 1951: uint16(373), + 1952: uint16(266), + 1953: uint16(267), + 1954: uint16(457), + 1955: uint16(1580), + 1956: uint16(1579), + 1957: uint16(443), + 1958: uint16(138), + 1959: uint16(1394), + 1960: uint16(552), + 1961: uint16(1393), + 1962: uint16(11), + 1963: uint16(1483), + 1964: uint16(384), + 1965: uint16(115), + 1966: uint16(317), + 1967: uint16(1350), + 1968: uint16(109), + 1969: uint16(536), + 1970: uint16(42), + 1971: uint16(579), + 1972: uint16(382), + 1973: uint16(214), + 1974: uint16(1349), + 1975: uint16(388), + 1976: uint16(1198), + 1977: uint16(389), + 1978: uint16(275), + 1979: uint16(277), + 1980: uint16(278), + 1981: uint16(1028), + 1982: uint16(1028), + 1983: uint16(1030), + 1984: uint16(1031), + 1985: uint16(35), + 1986: uint16(580), + 1987: uint16(1265), + 1988: uint16(414), + 1989: uint16(1260), + 1990: uint16(170), + 1991: uint16(415), + 1992: uint16(183), + 1993: uint16(1534), + 1994: uint16(1535), + 1995: uint16(1533), + 1996: uint16(171), + 1997: uint16(154), + 1998: uint16(307), + 1999: uint16(1532), + 2000: uint16(846), + 2001: uint16(223), + 2002: uint16(224), + 2003: uint16(88), + 2004: uint16(452), + 2005: uint16(215), + 2006: uint16(172), + 2007: uint16(321), + 2008: uint16(234), + 2009: uint16(1102), + 2010: uint16(152), + 2011: uint16(1188), + 2012: uint16(1100), + 2013: uint16(329), + 2014: uint16(185), + 2015: uint16(174), + 2016: uint16(1223), + 2017: uint16(925), + 2018: uint16(187), + 2019: uint16(241), + 2020: uint16(337), + 2021: uint16(244), + 2022: uint16(1116), + 2023: uint16(192), + 2024: uint16(175), + 2025: uint16(176), + 2026: uint16(424), + 2027: uint16(426), + 2028: uint16(97), + 2029: uint16(194), + 2030: uint16(98), + 2031: uint16(99), + 2032: uint16(100), + 2033: uint16(177), + 2034: uint16(1119), + 2035: uint16(1115), + 2036: uint16(246), + 2037: uint16(247), + 2038: uint16(161), + 2039: uint16(24), + 2040: uint16(248), + 2041: uint16(348), + 2042: uint16(1238), + 2043: uint16(264), + 2044: uint16(1108), + 2045: uint16(250), + 2046: uint16(495), + 2047: uint16(199), + 2048: uint16(198), + 2049: uint16(15), + 2050: uint16(861), + 2051: uint16(500), + 2052: uint16(369), + 2053: uint16(254), + 2054: uint16(504), + 2055: uint16(509), + 2056: uint16(512), + 2057: uint16(200), + 2058: uint16(102), + 2059: uint16(25), + 2060: uint16(179), + 2061: uint16(361), + 2062: uint16(26), + 2063: uint16(364), + 2064: uint16(104), + 2065: uint16(891), + 2066: uint16(308), + 2067: uint16(162), + 2068: uint16(105), + 2069: uint16(904), + 2070: uint16(520), + 2071: uint16(106), + 2072: uint16(1185), + 2073: uint16(1069), + 2074: uint16(1155), + 2075: uint16(17), + 2076: uint16(228), + 2077: uint16(27), + 2078: uint16(1154), + 2079: uint16(283), + 2080: uint16(285), + 2081: uint16(263), + 2082: uint16(978), + 2083: uint16(202), + 2084: uint16(972), + 2085: uint16(123), + 2086: uint16(28), + 2087: uint16(1175), + 2088: uint16(29), + 2089: uint16(30), + 2090: uint16(1179), + 2091: uint16(1171), + 2092: uint16(31), + 2093: uint16(1173), + 2094: uint16(1160), + 2095: uint16(41), + 2096: uint16(32), + 2097: uint16(206), + 2098: uint16(548), + 2099: uint16(33), + 2100: uint16(110), + 2101: uint16(1178), + 2102: uint16(1083), + 2103: uint16(8), + 2104: uint16(112), + 2105: uint16(1070), + 2106: uint16(113), + 2107: uint16(1068), + 2108: uint16(1072), + 2109: uint16(34), + 2110: uint16(1073), + 2111: uint16(560), + 2112: uint16(1125), + 2113: uint16(269), + 2114: uint16(1124), + 2115: uint16(270), + 2116: uint16(36), + 2117: uint16(18), + 2118: uint16(1194), + 2119: uint16(1033), + 2120: uint16(873), + 2121: uint16(151), + 2122: uint16(122), + 2123: uint16(37), + 2124: uint16(393), + 2125: uint16(271), + 2126: uint16(272), + 2127: uint16(572), + 2128: uint16(181), + 2129: uint16(1193), + 2130: uint16(1256), + 2131: uint16(1256), + 2132: uint16(1256), + 2133: uint16(935), + 2134: uint16(1256), + 2135: uint16(1256), + 2136: uint16(1256), + 2137: uint16(1256), + 2138: uint16(1256), + 2139: uint16(1256), + 2140: uint16(1256), + 2141: uint16(1617), +} +var _yy_lookahead = [2328]uint16{ + 0: uint16(194), + 1: uint16(276), + 2: uint16(277), + 3: uint16(278), + 4: uint16(216), + 5: uint16(194), + 6: uint16(194), + 7: uint16(217), + 8: uint16(194), + 9: uint16(194), + 10: uint16(194), + 11: uint16(194), + 12: uint16(224), + 13: uint16(194), + 14: uint16(194), + 15: uint16(276), + 16: uint16(277), + 17: uint16(278), + 18: uint16(204), 19: uint16(19), - 20: uint16(219), - 21: uint16(233), - 22: uint16(216), - 23: uint16(216), - 24: uint16(217), - 25: uint16(216), - 26: uint16(217), - 27: uint16(193), - 28: uint16(295), - 29: uint16(216), - 30: uint16(217), + 20: uint16(206), + 21: uint16(202), + 22: uint16(297), + 23: uint16(217), + 24: uint16(218), + 25: uint16(205), + 26: uint16(207), + 27: uint16(217), + 28: uint16(205), + 29: uint16(217), + 30: uint16(218), 31: uint16(31), - 32: uint16(193), - 33: uint16(216), + 32: uint16(217), + 33: uint16(218), 34: uint16(217), - 35: uint16(193), - 36: uint16(228), - 37: uint16(213), - 38: uint16(230), + 35: uint16(218), + 36: uint16(29), + 37: uint16(217), + 38: uint16(218), 39: uint16(39), - 40: uint16(206), - 41: uint16(216), - 42: uint16(217), + 40: uint16(33), + 41: uint16(217), + 42: uint16(220), 43: uint16(43), 44: uint16(44), 45: uint16(45), @@ -154553,31 +155922,31 @@ var _yy_lookahead = [2285]uint16{ 55: uint16(55), 56: uint16(56), 57: uint16(57), - 58: uint16(193), + 58: uint16(312), 59: uint16(19), - 60: uint16(185), - 61: uint16(186), - 62: uint16(187), - 63: uint16(188), - 64: uint16(189), - 65: uint16(190), - 66: uint16(253), - 67: uint16(274), - 68: uint16(275), - 69: uint16(276), - 70: uint16(195), - 71: uint16(193), - 72: uint16(197), - 73: uint16(193), - 74: uint16(261), - 75: uint16(274), - 76: uint16(275), - 77: uint16(276), - 78: uint16(253), - 79: uint16(204), - 80: uint16(238), - 81: uint16(204), - 82: uint16(81), + 60: uint16(240), + 61: uint16(241), + 62: uint16(316), + 63: uint16(240), + 64: uint16(241), + 65: uint16(194), + 66: uint16(46), + 67: uint16(47), + 68: uint16(48), + 69: uint16(49), + 70: uint16(22), + 71: uint16(254), + 72: uint16(65), + 73: uint16(253), + 74: uint16(254), + 75: uint16(255), + 76: uint16(253), + 77: uint16(194), + 78: uint16(255), + 79: uint16(194), + 80: uint16(263), + 81: uint16(258), + 82: uint16(259), 83: uint16(43), 84: uint16(44), 85: uint16(45), @@ -154593,10 +155962,10 @@ var _yy_lookahead = [2285]uint16{ 95: uint16(55), 96: uint16(56), 97: uint16(57), - 98: uint16(274), - 99: uint16(275), - 100: uint16(276), - 101: uint16(262), + 98: uint16(276), + 99: uint16(277), + 100: uint16(278), + 101: uint16(285), 102: uint16(102), 103: uint16(103), 104: uint16(104), @@ -154609,34 +155978,34 @@ var _yy_lookahead = [2285]uint16{ 111: uint16(111), 112: uint16(112), 113: uint16(113), - 114: uint16(239), - 115: uint16(240), - 116: uint16(239), - 117: uint16(240), - 118: uint16(210), - 119: uint16(211), - 120: uint16(212), - 121: uint16(314), - 122: uint16(315), - 123: uint16(314), - 124: uint16(59), - 125: uint16(316), + 114: uint16(59), + 115: uint16(186), + 116: uint16(187), + 117: uint16(188), + 118: uint16(189), + 119: uint16(190), + 120: uint16(191), + 121: uint16(310), + 122: uint16(239), + 123: uint16(317), + 124: uint16(318), + 125: uint16(196), 126: uint16(86), - 127: uint16(252), + 127: uint16(198), 128: uint16(88), - 129: uint16(252), + 129: uint16(317), 130: uint16(19), - 131: uint16(314), - 132: uint16(315), - 133: uint16(256), - 134: uint16(257), - 135: uint16(113), + 131: uint16(319), + 132: uint16(317), + 133: uint16(318), + 134: uint16(205), + 135: uint16(264), 136: uint16(25), - 137: uint16(72), - 138: uint16(296), - 139: uint16(138), - 140: uint16(139), - 141: uint16(266), + 137: uint16(211), + 138: uint16(212), + 139: uint16(213), + 140: uint16(205), + 141: uint16(121), 142: uint16(102), 143: uint16(103), 144: uint16(104), @@ -154664,50 +156033,50 @@ var _yy_lookahead = [2285]uint16{ 166: uint16(55), 167: uint16(56), 168: uint16(57), - 169: uint16(81), - 170: uint16(292), - 171: uint16(59), - 172: uint16(292), - 173: uint16(298), - 174: uint16(108), - 175: uint16(109), - 176: uint16(110), - 177: uint16(111), - 178: uint16(112), - 179: uint16(113), + 169: uint16(240), + 170: uint16(241), + 171: uint16(116), + 172: uint16(117), + 173: uint16(118), + 174: uint16(119), + 175: uint16(240), + 176: uint16(241), + 177: uint16(122), + 178: uint16(123), + 179: uint16(124), 180: uint16(69), - 181: uint16(116), - 182: uint16(117), - 183: uint16(118), - 184: uint16(72), + 181: uint16(298), + 182: uint16(253), + 183: uint16(194), + 184: uint16(255), 185: uint16(106), 186: uint16(107), - 187: uint16(193), - 188: uint16(111), - 189: uint16(112), - 190: uint16(113), + 187: uint16(132), + 188: uint16(253), + 189: uint16(141), + 190: uint16(255), 191: uint16(54), 192: uint16(55), 193: uint16(56), 194: uint16(57), 195: uint16(58), - 196: uint16(102), - 197: uint16(103), - 198: uint16(104), - 199: uint16(105), - 200: uint16(106), - 201: uint16(107), - 202: uint16(108), - 203: uint16(109), - 204: uint16(110), - 205: uint16(111), - 206: uint16(112), - 207: uint16(113), - 208: uint16(120), - 209: uint16(25), - 210: uint16(216), - 211: uint16(217), - 212: uint16(145), + 196: uint16(207), + 197: uint16(268), + 198: uint16(102), + 199: uint16(103), + 200: uint16(104), + 201: uint16(105), + 202: uint16(106), + 203: uint16(107), + 204: uint16(108), + 205: uint16(109), + 206: uint16(110), + 207: uint16(111), + 208: uint16(112), + 209: uint16(113), + 210: uint16(214), + 211: uint16(128), + 212: uint16(129), 213: uint16(102), 214: uint16(103), 215: uint16(104), @@ -154720,13 +156089,13 @@ var _yy_lookahead = [2285]uint16{ 222: uint16(111), 223: uint16(112), 224: uint16(113), - 225: uint16(231), - 226: uint16(138), - 227: uint16(139), - 228: uint16(116), - 229: uint16(117), - 230: uint16(118), - 231: uint16(164), + 225: uint16(134), + 226: uint16(25), + 227: uint16(136), + 228: uint16(137), + 229: uint16(300), + 230: uint16(165), + 231: uint16(166), 232: uint16(153), 233: uint16(19), 234: uint16(155), @@ -154746,12 +156115,12 @@ var _yy_lookahead = [2285]uint16{ 248: uint16(111), 249: uint16(112), 250: uint16(113), - 251: uint16(128), - 252: uint16(129), - 253: uint16(46), - 254: uint16(47), - 255: uint16(48), - 256: uint16(49), + 251: uint16(108), + 252: uint16(109), + 253: uint16(110), + 254: uint16(111), + 255: uint16(112), + 256: uint16(113), 257: uint16(43), 258: uint16(44), 259: uint16(45), @@ -154767,15 +156136,15 @@ var _yy_lookahead = [2285]uint16{ 269: uint16(55), 270: uint16(56), 271: uint16(57), - 272: uint16(216), - 273: uint16(193), - 274: uint16(25), - 275: uint16(59), - 276: uint16(193), + 272: uint16(276), + 273: uint16(277), + 274: uint16(278), + 275: uint16(113), + 276: uint16(194), 277: uint16(19), - 278: uint16(165), - 279: uint16(166), - 280: uint16(193), + 278: uint16(22), + 279: uint16(23), + 280: uint16(194), 281: uint16(67), 282: uint16(24), 283: uint16(102), @@ -154790,12 +156159,12 @@ var _yy_lookahead = [2285]uint16{ 292: uint16(111), 293: uint16(112), 294: uint16(113), - 295: uint16(73), - 296: uint16(216), - 297: uint16(217), - 298: uint16(59), - 299: uint16(216), - 300: uint16(217), + 295: uint16(220), + 296: uint16(250), + 297: uint16(59), + 298: uint16(252), + 299: uint16(217), + 300: uint16(218), 301: uint16(43), 302: uint16(44), 303: uint16(45), @@ -154823,38 +156192,38 @@ var _yy_lookahead = [2285]uint16{ 325: uint16(111), 326: uint16(112), 327: uint16(113), - 328: uint16(121), - 329: uint16(145), - 330: uint16(59), - 331: uint16(193), - 332: uint16(116), - 333: uint16(117), - 334: uint16(118), - 335: uint16(119), - 336: uint16(273), - 337: uint16(204), - 338: uint16(122), - 339: uint16(123), - 340: uint16(124), + 328: uint16(106), + 329: uint16(107), + 330: uint16(108), + 331: uint16(109), + 332: uint16(110), + 333: uint16(111), + 334: uint16(112), + 335: uint16(113), + 336: uint16(254), + 337: uint16(59), + 338: uint16(205), + 339: uint16(138), + 340: uint16(139), 341: uint16(19), 342: uint16(20), - 343: uint16(134), + 343: uint16(194), 344: uint16(22), - 345: uint16(136), - 346: uint16(137), - 347: uint16(19), - 348: uint16(132), - 349: uint16(127), - 350: uint16(128), - 351: uint16(129), - 352: uint16(24), - 353: uint16(22), - 354: uint16(23), - 355: uint16(116), - 356: uint16(117), - 357: uint16(118), + 345: uint16(263), + 346: uint16(22), + 347: uint16(23), + 348: uint16(231), + 349: uint16(25), + 350: uint16(72), + 351: uint16(276), + 352: uint16(277), + 353: uint16(278), + 354: uint16(116), + 355: uint16(117), + 356: uint16(118), + 357: uint16(101), 358: uint16(36), - 359: uint16(193), + 359: uint16(76), 360: uint16(102), 361: uint16(103), 362: uint16(104), @@ -154867,37 +156236,37 @@ var _yy_lookahead = [2285]uint16{ 369: uint16(111), 370: uint16(112), 371: uint16(113), - 372: uint16(239), + 372: uint16(89), 373: uint16(240), - 374: uint16(311), - 375: uint16(312), - 376: uint16(215), - 377: uint16(106), - 378: uint16(107), - 379: uint16(241), + 374: uint16(241), + 375: uint16(92), + 376: uint16(73), + 377: uint16(194), + 378: uint16(194), + 379: uint16(73), 380: uint16(19), 381: uint16(59), - 382: uint16(216), - 383: uint16(217), - 384: uint16(223), - 385: uint16(252), - 386: uint16(115), - 387: uint16(116), - 388: uint16(117), - 389: uint16(118), - 390: uint16(151), - 391: uint16(120), - 392: uint16(26), + 382: uint16(188), + 383: uint16(189), + 384: uint16(190), + 385: uint16(191), + 386: uint16(253), + 387: uint16(81), + 388: uint16(255), + 389: uint16(151), + 390: uint16(196), + 391: uint16(25), + 392: uint16(198), 393: uint16(71), - 394: uint16(193), - 395: uint16(308), - 396: uint16(309), - 397: uint16(193), - 398: uint16(149), - 399: uint16(128), - 400: uint16(313), - 401: uint16(216), - 402: uint16(269), + 394: uint16(116), + 395: uint16(117), + 396: uint16(118), + 397: uint16(311), + 398: uint16(312), + 399: uint16(205), + 400: uint16(217), + 401: uint16(218), + 402: uint16(316), 403: uint16(81), 404: uint16(43), 405: uint16(44), @@ -154914,50 +156283,50 @@ var _yy_lookahead = [2285]uint16{ 416: uint16(55), 417: uint16(56), 418: uint16(57), - 419: uint16(253), - 420: uint16(216), - 421: uint16(217), + 419: uint16(270), + 420: uint16(22), + 421: uint16(23), 422: uint16(100), - 423: uint16(95), - 424: uint16(153), - 425: uint16(59), - 426: uint16(155), - 427: uint16(261), + 423: uint16(25), + 424: uint16(59), + 425: uint16(101), + 426: uint16(138), + 427: uint16(139), 428: uint16(106), 429: uint16(107), - 430: uint16(25), - 431: uint16(193), - 432: uint16(101), - 433: uint16(193), - 434: uint16(193), - 435: uint16(231), + 430: uint16(127), + 431: uint16(128), + 432: uint16(129), + 433: uint16(127), + 434: uint16(240), + 435: uint16(241), 436: uint16(114), - 437: uint16(25), + 437: uint16(254), 438: uint16(116), 439: uint16(117), 440: uint16(118), - 441: uint16(113), - 442: uint16(304), + 441: uint16(76), + 442: uint16(76), 443: uint16(121), - 444: uint16(193), - 445: uint16(204), - 446: uint16(59), - 447: uint16(119), - 448: uint16(120), - 449: uint16(121), - 450: uint16(122), - 451: uint16(123), - 452: uint16(124), - 453: uint16(125), - 454: uint16(216), - 455: uint16(217), - 456: uint16(193), - 457: uint16(216), - 458: uint16(217), - 459: uint16(131), + 444: uint16(138), + 445: uint16(139), + 446: uint16(263), + 447: uint16(253), + 448: uint16(264), + 449: uint16(255), + 450: uint16(205), + 451: uint16(275), + 452: uint16(87), + 453: uint16(19), + 454: uint16(89), + 455: uint16(89), + 456: uint16(194), + 457: uint16(92), + 458: uint16(92), + 459: uint16(199), 460: uint16(138), 461: uint16(139), - 462: uint16(230), + 462: uint16(268), 463: uint16(102), 464: uint16(103), 465: uint16(104), @@ -154975,37 +156344,37 @@ var _yy_lookahead = [2285]uint16{ 477: uint16(155), 478: uint16(156), 479: uint16(157), - 480: uint16(239), - 481: uint16(240), - 482: uint16(116), - 483: uint16(117), - 484: uint16(118), - 485: uint16(76), - 486: uint16(193), - 487: uint16(23), + 480: uint16(81), + 481: uint16(116), + 482: uint16(117), + 483: uint16(118), + 484: uint16(129), + 485: uint16(240), + 486: uint16(241), + 487: uint16(224), 488: uint16(19), - 489: uint16(25), - 490: uint16(22), - 491: uint16(253), + 489: uint16(226), + 490: uint16(314), + 491: uint16(315), 492: uint16(23), - 493: uint16(252), - 494: uint16(253), - 495: uint16(108), - 496: uint16(87), - 497: uint16(204), - 498: uint16(89), - 499: uint16(261), - 500: uint16(198), - 501: uint16(92), - 502: uint16(261), - 503: uint16(116), - 504: uint16(117), - 505: uint16(118), - 506: uint16(193), - 507: uint16(306), - 508: uint16(307), - 509: uint16(216), - 510: uint16(217), + 493: uint16(25), + 494: uint16(300), + 495: uint16(59), + 496: uint16(22), + 497: uint16(234), + 498: uint16(253), + 499: uint16(101), + 500: uint16(255), + 501: uint16(236), + 502: uint16(237), + 503: uint16(26), + 504: uint16(194), + 505: uint16(183), + 506: uint16(194), + 507: uint16(152), + 508: uint16(72), + 509: uint16(22), + 510: uint16(145), 511: uint16(150), 512: uint16(43), 513: uint16(44), @@ -155022,34 +156391,34 @@ var _yy_lookahead = [2285]uint16{ 524: uint16(55), 525: uint16(56), 526: uint16(57), - 527: uint16(59), - 528: uint16(193), - 529: uint16(216), - 530: uint16(217), + 527: uint16(217), + 528: uint16(218), + 529: uint16(217), + 530: uint16(218), 531: uint16(19), - 532: uint16(239), - 533: uint16(240), - 534: uint16(283), + 532: uint16(189), + 533: uint16(59), + 534: uint16(191), 535: uint16(23), - 536: uint16(106), - 537: uint16(107), - 538: uint16(108), - 539: uint16(109), - 540: uint16(110), - 541: uint16(111), - 542: uint16(112), - 543: uint16(113), - 544: uint16(73), - 545: uint16(252), - 546: uint16(253), - 547: uint16(142), - 548: uint16(308), - 549: uint16(309), - 550: uint16(138), - 551: uint16(139), - 552: uint16(81), - 553: uint16(313), - 554: uint16(145), + 536: uint16(59), + 537: uint16(138), + 538: uint16(139), + 539: uint16(196), + 540: uint16(135), + 541: uint16(198), + 542: uint16(232), + 543: uint16(283), + 544: uint16(232), + 545: uint16(140), + 546: uint16(59), + 547: uint16(287), + 548: uint16(205), + 549: uint16(275), + 550: uint16(116), + 551: uint16(205), + 552: uint16(116), + 553: uint16(117), + 554: uint16(118), 555: uint16(43), 556: uint16(44), 557: uint16(45), @@ -155065,7 +156434,7 @@ var _yy_lookahead = [2285]uint16{ 567: uint16(55), 568: uint16(56), 569: uint16(57), - 570: uint16(307), + 570: uint16(194), 571: uint16(102), 572: uint16(103), 573: uint16(104), @@ -155078,37 +156447,37 @@ var _yy_lookahead = [2285]uint16{ 580: uint16(111), 581: uint16(112), 582: uint16(113), - 583: uint16(281), - 584: uint16(116), - 585: uint16(117), - 586: uint16(118), - 587: uint16(285), - 588: uint16(23), - 589: uint16(193), - 590: uint16(25), - 591: uint16(119), - 592: uint16(59), - 593: uint16(193), - 594: uint16(122), - 595: uint16(123), - 596: uint16(124), - 597: uint16(59), - 598: uint16(127), - 599: uint16(203), + 583: uint16(240), + 584: uint16(241), + 585: uint16(194), + 586: uint16(240), + 587: uint16(241), + 588: uint16(314), + 589: uint16(315), + 590: uint16(116), + 591: uint16(117), + 592: uint16(118), + 593: uint16(116), + 594: uint16(117), + 595: uint16(118), + 596: uint16(253), + 597: uint16(194), + 598: uint16(255), + 599: uint16(253), 600: uint16(59), - 601: uint16(205), + 601: uint16(255), 602: uint16(19), - 603: uint16(268), - 604: uint16(132), - 605: uint16(25), + 603: uint16(116), + 604: uint16(117), + 605: uint16(118), 606: uint16(23), 607: uint16(22), - 608: uint16(193), - 609: uint16(138), - 610: uint16(139), - 611: uint16(249), - 612: uint16(204), - 613: uint16(251), + 608: uint16(217), + 609: uint16(218), + 610: uint16(142), + 611: uint16(268), + 612: uint16(205), + 613: uint16(275), 614: uint16(102), 615: uint16(103), 616: uint16(104), @@ -155137,29 +156506,29 @@ var _yy_lookahead = [2285]uint16{ 639: uint16(56), 640: uint16(57), 641: uint16(19), - 642: uint16(22), - 643: uint16(23), + 642: uint16(194), + 643: uint16(300), 644: uint16(59), 645: uint16(23), - 646: uint16(25), - 647: uint16(239), - 648: uint16(240), - 649: uint16(116), - 650: uint16(117), - 651: uint16(118), - 652: uint16(193), - 653: uint16(11), - 654: uint16(116), - 655: uint16(117), - 656: uint16(118), - 657: uint16(116), + 646: uint16(119), + 647: uint16(240), + 648: uint16(241), + 649: uint16(122), + 650: uint16(123), + 651: uint16(124), + 652: uint16(314), + 653: uint16(315), + 654: uint16(194), + 655: uint16(236), + 656: uint16(237), + 657: uint16(194), 658: uint16(117), - 659: uint16(118), - 660: uint16(252), - 661: uint16(269), - 662: uint16(22), - 663: uint16(193), - 664: uint16(15), + 659: uint16(132), + 660: uint16(253), + 661: uint16(81), + 662: uint16(255), + 663: uint16(205), + 664: uint16(59), 665: uint16(43), 666: uint16(44), 667: uint16(45), @@ -155175,11 +156544,11 @@ var _yy_lookahead = [2285]uint16{ 677: uint16(55), 678: uint16(56), 679: uint16(57), - 680: uint16(273), - 681: uint16(143), - 682: uint16(193), - 683: uint16(118), - 684: uint16(143), + 680: uint16(217), + 681: uint16(218), + 682: uint16(194), + 683: uint16(194), + 684: uint16(194), 685: uint16(102), 686: uint16(103), 687: uint16(104), @@ -155192,33 +156561,33 @@ var _yy_lookahead = [2285]uint16{ 694: uint16(111), 695: uint16(112), 696: uint16(113), - 697: uint16(76), - 698: uint16(118), - 699: uint16(59), - 700: uint16(241), + 697: uint16(294), + 698: uint16(240), + 699: uint16(241), + 700: uint16(120), 701: uint16(116), 702: uint16(117), 703: uint16(118), - 704: uint16(304), - 705: uint16(216), + 704: uint16(59), + 705: uint16(194), 706: uint16(217), - 707: uint16(292), - 708: uint16(143), - 709: uint16(60), - 710: uint16(89), - 711: uint16(241), + 707: uint16(218), + 708: uint16(211), + 709: uint16(212), + 710: uint16(213), + 711: uint16(253), 712: uint16(19), - 713: uint16(92), - 714: uint16(193), - 715: uint16(193), + 713: uint16(255), + 714: uint16(194), + 715: uint16(19), 716: uint16(23), - 717: uint16(22), - 718: uint16(311), - 719: uint16(312), - 720: uint16(231), - 721: uint16(101), - 722: uint16(22), - 723: uint16(143), + 717: uint16(254), + 718: uint16(138), + 719: uint16(139), + 720: uint16(24), + 721: uint16(232), + 722: uint16(117), + 723: uint16(194), 724: uint16(102), 725: uint16(103), 726: uint16(104), @@ -155247,29 +156616,29 @@ var _yy_lookahead = [2285]uint16{ 749: uint16(56), 750: uint16(57), 751: uint16(19), - 752: uint16(193), - 753: uint16(193), - 754: uint16(59), + 752: uint16(264), + 753: uint16(108), + 754: uint16(76), 755: uint16(23), - 756: uint16(116), - 757: uint16(117), - 758: uint16(118), - 759: uint16(59), - 760: uint16(201), - 761: uint16(21), - 762: uint16(241), - 763: uint16(304), - 764: uint16(193), - 765: uint16(206), - 766: uint16(127), - 767: uint16(128), - 768: uint16(129), - 769: uint16(193), - 770: uint16(128), - 771: uint16(129), - 772: uint16(235), - 773: uint16(236), - 774: uint16(304), + 756: uint16(127), + 757: uint16(128), + 758: uint16(129), + 759: uint16(311), + 760: uint16(312), + 761: uint16(116), + 762: uint16(117), + 763: uint16(118), + 764: uint16(316), + 765: uint16(87), + 766: uint16(306), + 767: uint16(89), + 768: uint16(308), + 769: uint16(194), + 770: uint16(92), + 771: uint16(22), + 772: uint16(59), + 773: uint16(194), + 774: uint16(22), 775: uint16(43), 776: uint16(44), 777: uint16(45), @@ -155285,11 +156654,11 @@ var _yy_lookahead = [2285]uint16{ 787: uint16(55), 788: uint16(56), 789: uint16(57), - 790: uint16(22), - 791: uint16(193), - 792: uint16(216), - 793: uint16(217), - 794: uint16(193), + 790: uint16(194), + 791: uint16(95), + 792: uint16(217), + 793: uint16(218), + 794: uint16(265), 795: uint16(102), 796: uint16(103), 797: uint16(104), @@ -155302,33 +156671,33 @@ var _yy_lookahead = [2285]uint16{ 804: uint16(111), 805: uint16(112), 806: uint16(113), - 807: uint16(231), - 808: uint16(193), - 809: uint16(193), - 810: uint16(193), - 811: uint16(116), - 812: uint16(117), - 813: uint16(118), - 814: uint16(216), - 815: uint16(217), - 816: uint16(116), - 817: uint16(117), - 818: uint16(118), - 819: uint16(226), - 820: uint16(80), - 821: uint16(193), + 807: uint16(232), + 808: uint16(59), + 809: uint16(113), + 810: uint16(25), + 811: uint16(59), + 812: uint16(194), + 813: uint16(217), + 814: uint16(218), + 815: uint16(119), + 816: uint16(120), + 817: uint16(121), + 818: uint16(122), + 819: uint16(123), + 820: uint16(124), + 821: uint16(125), 822: uint16(19), - 823: uint16(235), - 824: uint16(236), - 825: uint16(304), + 823: uint16(145), + 824: uint16(194), + 825: uint16(194), 826: uint16(23), - 827: uint16(211), - 828: uint16(212), - 829: uint16(231), - 830: uint16(204), - 831: uint16(216), - 832: uint16(217), - 833: uint16(205), + 827: uint16(131), + 828: uint16(232), + 829: uint16(116), + 830: uint16(117), + 831: uint16(118), + 832: uint16(35), + 833: uint16(194), 834: uint16(102), 835: uint16(103), 836: uint16(104), @@ -155357,29 +156726,29 @@ var _yy_lookahead = [2285]uint16{ 859: uint16(56), 860: uint16(57), 861: uint16(19), - 862: uint16(193), - 863: uint16(123), - 864: uint16(76), - 865: uint16(239), - 866: uint16(240), - 867: uint16(193), - 868: uint16(253), - 869: uint16(239), - 870: uint16(240), - 871: uint16(239), - 872: uint16(240), - 873: uint16(244), - 874: uint16(106), - 875: uint16(107), - 876: uint16(193), - 877: uint16(89), - 878: uint16(252), - 879: uint16(193), - 880: uint16(92), - 881: uint16(59), - 882: uint16(252), - 883: uint16(254), - 884: uint16(252), + 862: uint16(194), + 863: uint16(66), + 864: uint16(194), + 865: uint16(116), + 866: uint16(117), + 867: uint16(118), + 868: uint16(116), + 869: uint16(117), + 870: uint16(118), + 871: uint16(74), + 872: uint16(242), + 873: uint16(294), + 874: uint16(194), + 875: uint16(194), + 876: uint16(206), + 877: uint16(23), + 878: uint16(194), + 879: uint16(25), + 880: uint16(194), + 881: uint16(111), + 882: uint16(112), + 883: uint16(113), + 884: uint16(25), 885: uint16(43), 886: uint16(44), 887: uint16(45), @@ -155395,11 +156764,11 @@ var _yy_lookahead = [2285]uint16{ 897: uint16(55), 898: uint16(56), 899: uint16(57), - 900: uint16(284), - 901: uint16(161), - 902: uint16(216), + 900: uint16(24), + 901: uint16(194), + 902: uint16(194), 903: uint16(217), - 904: uint16(193), + 904: uint16(218), 905: uint16(102), 906: uint16(103), 907: uint16(104), @@ -155412,33 +156781,33 @@ var _yy_lookahead = [2285]uint16{ 914: uint16(111), 915: uint16(112), 916: uint16(113), - 917: uint16(231), - 918: uint16(193), - 919: uint16(244), - 920: uint16(187), - 921: uint16(188), - 922: uint16(189), - 923: uint16(190), - 924: uint16(7), - 925: uint16(8), - 926: uint16(9), - 927: uint16(309), - 928: uint16(195), - 929: uint16(254), - 930: uint16(197), - 931: uint16(313), + 917: uint16(241), + 918: uint16(232), + 919: uint16(194), + 920: uint16(212), + 921: uint16(213), + 922: uint16(242), + 923: uint16(242), + 924: uint16(217), + 925: uint16(218), + 926: uint16(242), + 927: uint16(130), + 928: uint16(11), + 929: uint16(253), + 930: uint16(194), + 931: uint16(255), 932: uint16(19), - 933: uint16(127), - 934: uint16(128), - 935: uint16(129), - 936: uint16(262), - 937: uint16(204), - 938: uint16(22), - 939: uint16(117), - 940: uint16(24), - 941: uint16(216), + 933: uint16(265), + 934: uint16(149), + 935: uint16(59), + 936: uint16(306), + 937: uint16(194), + 938: uint16(308), + 939: uint16(232), + 940: uint16(309), + 941: uint16(310), 942: uint16(217), - 943: uint16(273), + 943: uint16(218), 944: uint16(102), 945: uint16(103), 946: uint16(104), @@ -155466,36 +156835,36 @@ var _yy_lookahead = [2285]uint16{ 968: uint16(55), 969: uint16(56), 970: uint16(57), - 971: uint16(193), - 972: uint16(239), - 973: uint16(240), - 974: uint16(193), - 975: uint16(59), + 971: uint16(194), + 972: uint16(194), + 973: uint16(59), + 974: uint16(194), + 975: uint16(239), 976: uint16(19), - 977: uint16(188), - 978: uint16(253), - 979: uint16(190), - 980: uint16(193), - 981: uint16(311), - 982: uint16(312), - 983: uint16(16), - 984: uint16(195), - 985: uint16(252), - 986: uint16(197), - 987: uint16(193), - 988: uint16(19), - 989: uint16(301), - 990: uint16(302), - 991: uint16(135), - 992: uint16(193), - 993: uint16(204), - 994: uint16(216), + 977: uint16(194), + 978: uint16(25), + 979: uint16(254), + 980: uint16(303), + 981: uint16(304), + 982: uint16(23), + 983: uint16(194), + 984: uint16(25), + 985: uint16(126), + 986: uint16(306), + 987: uint16(306), + 988: uint16(308), + 989: uint16(308), + 990: uint16(306), + 991: uint16(271), + 992: uint16(308), + 993: uint16(117), + 994: uint16(286), 995: uint16(217), - 996: uint16(140), - 997: uint16(216), - 998: uint16(217), - 999: uint16(266), - 1000: uint16(204), + 996: uint16(218), + 997: uint16(217), + 998: uint16(218), + 999: uint16(194), + 1000: uint16(194), 1001: uint16(159), 1002: uint16(45), 1003: uint16(46), @@ -155522,38 +156891,38 @@ var _yy_lookahead = [2285]uint16{ 1024: uint16(111), 1025: uint16(112), 1026: uint16(113), - 1027: uint16(12), + 1027: uint16(59), 1028: uint16(239), - 1029: uint16(240), - 1030: uint16(193), - 1031: uint16(298), - 1032: uint16(238), - 1033: uint16(117), - 1034: uint16(253), - 1035: uint16(239), + 1029: uint16(194), + 1030: uint16(116), + 1031: uint16(117), + 1032: uint16(118), + 1033: uint16(260), + 1034: uint16(254), + 1035: uint16(194), 1036: uint16(240), - 1037: uint16(238), - 1038: uint16(259), - 1039: uint16(260), - 1040: uint16(193), - 1041: uint16(252), - 1042: uint16(27), - 1043: uint16(193), - 1044: uint16(77), - 1045: uint16(193), - 1046: uint16(79), - 1047: uint16(204), - 1048: uint16(252), - 1049: uint16(262), - 1050: uint16(193), - 1051: uint16(299), - 1052: uint16(300), - 1053: uint16(193), - 1054: uint16(100), - 1055: uint16(266), - 1056: uint16(278), - 1057: uint16(42), - 1058: uint16(204), + 1037: uint16(241), + 1038: uint16(194), + 1039: uint16(233), + 1040: uint16(205), + 1041: uint16(240), + 1042: uint16(241), + 1043: uint16(205), + 1044: uint16(239), + 1045: uint16(128), + 1046: uint16(129), + 1047: uint16(270), + 1048: uint16(265), + 1049: uint16(253), + 1050: uint16(194), + 1051: uint16(255), + 1052: uint16(217), + 1053: uint16(218), + 1054: uint16(253), + 1055: uint16(194), + 1056: uint16(255), + 1057: uint16(143), + 1058: uint16(280), 1059: uint16(102), 1060: uint16(103), 1061: uint16(104), @@ -155566,51 +156935,51 @@ var _yy_lookahead = [2285]uint16{ 1068: uint16(111), 1069: uint16(112), 1070: uint16(113), - 1071: uint16(117), + 1071: uint16(118), 1072: uint16(159), - 1073: uint16(216), - 1074: uint16(217), - 1075: uint16(121), - 1076: uint16(216), - 1077: uint16(217), - 1078: uint16(63), - 1079: uint16(193), - 1080: uint16(193), - 1081: uint16(193), - 1082: uint16(239), - 1083: uint16(240), - 1084: uint16(115), - 1085: uint16(116), - 1086: uint16(193), - 1087: uint16(298), - 1088: uint16(73), - 1089: uint16(240), - 1090: uint16(238), - 1091: uint16(231), + 1073: uint16(217), + 1074: uint16(218), + 1075: uint16(240), + 1076: uint16(241), + 1077: uint16(118), + 1078: uint16(240), + 1079: uint16(241), + 1080: uint16(194), + 1081: uint16(194), + 1082: uint16(194), + 1083: uint16(239), + 1084: uint16(116), + 1085: uint16(117), + 1086: uint16(118), + 1087: uint16(22), + 1088: uint16(253), + 1089: uint16(254), + 1090: uint16(255), + 1091: uint16(253), 1092: uint16(19), - 1093: uint16(239), - 1094: uint16(240), - 1095: uint16(252), - 1096: uint16(22), + 1093: uint16(255), + 1094: uint16(233), + 1095: uint16(194), + 1096: uint16(143), 1097: uint16(24), - 1098: uint16(211), + 1098: uint16(263), 1099: uint16(212), - 1100: uint16(263), - 1101: uint16(252), - 1102: uint16(216), + 1100: uint16(213), + 1101: uint16(194), + 1102: uint16(143), 1103: uint16(217), - 1104: uint16(216), + 1104: uint16(218), 1105: uint16(217), - 1106: uint16(252), - 1107: uint16(153), - 1108: uint16(154), - 1109: uint16(155), - 1110: uint16(253), - 1111: uint16(193), + 1106: uint16(218), + 1107: uint16(261), + 1108: uint16(262), + 1109: uint16(271), + 1110: uint16(254), + 1111: uint16(143), 1112: uint16(19), - 1113: uint16(144), - 1114: uint16(213), - 1115: uint16(268), + 1113: uint16(7), + 1114: uint16(8), + 1115: uint16(9), 1116: uint16(43), 1117: uint16(44), 1118: uint16(45), @@ -155626,11 +156995,11 @@ var _yy_lookahead = [2285]uint16{ 1128: uint16(55), 1129: uint16(56), 1130: uint16(57), - 1131: uint16(193), + 1131: uint16(16), 1132: uint16(19), - 1133: uint16(59), - 1134: uint16(216), - 1135: uint16(217), + 1133: uint16(22), + 1134: uint16(23), + 1135: uint16(294), 1136: uint16(43), 1137: uint16(44), 1138: uint16(45), @@ -155646,11 +157015,11 @@ var _yy_lookahead = [2285]uint16{ 1148: uint16(55), 1149: uint16(56), 1150: uint16(57), - 1151: uint16(193), - 1152: uint16(19), - 1153: uint16(24), - 1154: uint16(216), - 1155: uint16(217), + 1151: uint16(312), + 1152: uint16(194), + 1153: uint16(214), + 1154: uint16(21), + 1155: uint16(316), 1156: uint16(43), 1157: uint16(44), 1158: uint16(45), @@ -155666,10 +157035,10 @@ var _yy_lookahead = [2285]uint16{ 1168: uint16(55), 1169: uint16(56), 1170: uint16(57), - 1171: uint16(284), - 1172: uint16(193), - 1173: uint16(208), - 1174: uint16(209), + 1171: uint16(106), + 1172: uint16(107), + 1173: uint16(286), + 1174: uint16(194), 1175: uint16(102), 1176: uint16(103), 1177: uint16(104), @@ -155682,14 +157051,14 @@ var _yy_lookahead = [2285]uint16{ 1184: uint16(111), 1185: uint16(112), 1186: uint16(113), - 1187: uint16(286), - 1188: uint16(59), - 1189: uint16(193), - 1190: uint16(232), - 1191: uint16(117), - 1192: uint16(291), - 1193: uint16(193), - 1194: uint16(193), + 1187: uint16(207), + 1188: uint16(158), + 1189: uint16(59), + 1190: uint16(160), + 1191: uint16(22), + 1192: uint16(77), + 1193: uint16(24), + 1194: uint16(79), 1195: uint16(102), 1196: uint16(103), 1197: uint16(104), @@ -155702,14 +157071,14 @@ var _yy_lookahead = [2285]uint16{ 1204: uint16(111), 1205: uint16(112), 1206: uint16(113), - 1207: uint16(193), - 1208: uint16(204), - 1209: uint16(22), - 1210: uint16(23), - 1211: uint16(193), - 1212: uint16(25), - 1213: uint16(66), - 1214: uint16(193), + 1207: uint16(194), + 1208: uint16(194), + 1209: uint16(229), + 1210: uint16(194), + 1211: uint16(231), + 1212: uint16(101), + 1213: uint16(80), + 1214: uint16(22), 1215: uint16(102), 1216: uint16(103), 1217: uint16(104), @@ -155722,39 +157091,39 @@ var _yy_lookahead = [2285]uint16{ 1224: uint16(111), 1225: uint16(112), 1226: uint16(113), - 1227: uint16(193), - 1228: uint16(193), - 1229: uint16(193), - 1230: uint16(216), - 1231: uint16(217), - 1232: uint16(85), - 1233: uint16(193), - 1234: uint16(238), + 1227: uint16(288), + 1228: uint16(59), + 1229: uint16(12), + 1230: uint16(217), + 1231: uint16(218), + 1232: uint16(293), + 1233: uint16(217), + 1234: uint16(218), 1235: uint16(19), - 1236: uint16(16), - 1237: uint16(216), - 1238: uint16(217), - 1239: uint16(238), - 1240: uint16(193), - 1241: uint16(94), - 1242: uint16(193), - 1243: uint16(239), - 1244: uint16(240), - 1245: uint16(231), - 1246: uint16(117), - 1247: uint16(268), - 1248: uint16(35), - 1249: uint16(116), - 1250: uint16(216), - 1251: uint16(217), - 1252: uint16(216), - 1253: uint16(217), - 1254: uint16(22), - 1255: uint16(23), - 1256: uint16(252), - 1257: uint16(25), - 1258: uint16(208), - 1259: uint16(209), + 1236: uint16(106), + 1237: uint16(107), + 1238: uint16(59), + 1239: uint16(19), + 1240: uint16(16), + 1241: uint16(127), + 1242: uint16(128), + 1243: uint16(129), + 1244: uint16(27), + 1245: uint16(115), + 1246: uint16(116), + 1247: uint16(117), + 1248: uint16(118), + 1249: uint16(194), + 1250: uint16(120), + 1251: uint16(59), + 1252: uint16(22), + 1253: uint16(194), + 1254: uint16(24), + 1255: uint16(194), + 1256: uint16(123), + 1257: uint16(100), + 1258: uint16(128), + 1259: uint16(42), 1260: uint16(44), 1261: uint16(45), 1262: uint16(46), @@ -155769,50 +157138,50 @@ var _yy_lookahead = [2285]uint16{ 1271: uint16(55), 1272: uint16(56), 1273: uint16(57), - 1274: uint16(193), - 1275: uint16(193), - 1276: uint16(19), - 1277: uint16(5), - 1278: uint16(59), - 1279: uint16(66), - 1280: uint16(193), - 1281: uint16(263), - 1282: uint16(10), - 1283: uint16(11), - 1284: uint16(12), - 1285: uint16(13), - 1286: uint16(14), - 1287: uint16(74), - 1288: uint16(101), - 1289: uint16(17), - 1290: uint16(193), - 1291: uint16(46), - 1292: uint16(193), - 1293: uint16(146), - 1294: uint16(193), - 1295: uint16(76), - 1296: uint16(213), - 1297: uint16(77), - 1298: uint16(263), - 1299: uint16(79), - 1300: uint16(12), - 1301: uint16(260), - 1302: uint16(30), - 1303: uint16(46), - 1304: uint16(32), - 1305: uint16(264), - 1306: uint16(87), - 1307: uint16(193), - 1308: uint16(89), - 1309: uint16(29), - 1310: uint16(263), - 1311: uint16(92), - 1312: uint16(40), - 1313: uint16(33), - 1314: uint16(232), - 1315: uint16(27), - 1316: uint16(193), - 1317: uint16(108), + 1274: uint16(117), + 1275: uint16(194), + 1276: uint16(217), + 1277: uint16(218), + 1278: uint16(121), + 1279: uint16(100), + 1280: uint16(63), + 1281: uint16(194), + 1282: uint16(245), + 1283: uint16(153), + 1284: uint16(194), + 1285: uint16(155), + 1286: uint16(117), + 1287: uint16(19), + 1288: uint16(115), + 1289: uint16(194), + 1290: uint16(73), + 1291: uint16(214), + 1292: uint16(194), + 1293: uint16(256), + 1294: uint16(161), + 1295: uint16(116), + 1296: uint16(117), + 1297: uint16(194), + 1298: uint16(217), + 1299: uint16(218), + 1300: uint16(121), + 1301: uint16(77), + 1302: uint16(194), + 1303: uint16(79), + 1304: uint16(217), + 1305: uint16(218), + 1306: uint16(194), + 1307: uint16(217), + 1308: uint16(218), + 1309: uint16(117), + 1310: uint16(153), + 1311: uint16(154), + 1312: uint16(155), + 1313: uint16(254), + 1314: uint16(46), + 1315: uint16(217), + 1316: uint16(218), + 1317: uint16(144), 1318: uint16(102), 1319: uint16(103), 1320: uint16(104), @@ -155825,1025 +157194,1068 @@ var _yy_lookahead = [2285]uint16{ 1327: uint16(111), 1328: uint16(112), 1329: uint16(113), - 1330: uint16(42), - 1331: uint16(138), - 1332: uint16(139), - 1333: uint16(101), - 1334: uint16(193), - 1335: uint16(116), - 1336: uint16(117), - 1337: uint16(118), + 1330: uint16(232), + 1331: uint16(270), + 1332: uint16(153), + 1333: uint16(154), + 1334: uint16(155), + 1335: uint16(115), + 1336: uint16(116), + 1337: uint16(66), 1338: uint16(19), 1339: uint16(20), - 1340: uint16(255), + 1340: uint16(183), 1341: uint16(22), - 1342: uint16(70), - 1343: uint16(130), - 1344: uint16(135), - 1345: uint16(65), - 1346: uint16(256), - 1347: uint16(257), - 1348: uint16(193), - 1349: uint16(140), - 1350: uint16(78), - 1351: uint16(63), - 1352: uint16(193), - 1353: uint16(81), - 1354: uint16(193), + 1342: uint16(12), + 1343: uint16(312), + 1344: uint16(254), + 1345: uint16(194), + 1346: uint16(262), + 1347: uint16(316), + 1348: uint16(209), + 1349: uint16(210), + 1350: uint16(266), + 1351: uint16(239), + 1352: uint16(194), + 1353: uint16(194), + 1354: uint16(108), 1355: uint16(36), - 1356: uint16(193), - 1357: uint16(216), - 1358: uint16(217), - 1359: uint16(193), - 1360: uint16(115), - 1361: uint16(193), - 1362: uint16(263), - 1363: uint16(193), - 1364: uint16(145), - 1365: uint16(268), - 1366: uint16(59), + 1356: uint16(85), + 1357: uint16(27), + 1358: uint16(19), + 1359: uint16(20), + 1360: uint16(265), + 1361: uint16(22), + 1362: uint16(183), + 1363: uint16(245), + 1364: uint16(144), + 1365: uint16(94), + 1366: uint16(25), 1367: uint16(48), - 1368: uint16(193), - 1369: uint16(193), - 1370: uint16(98), - 1371: uint16(193), - 1372: uint16(115), - 1373: uint16(193), - 1374: uint16(291), - 1375: uint16(216), + 1368: uint16(217), + 1369: uint16(218), + 1370: uint16(293), + 1371: uint16(194), + 1372: uint16(42), + 1373: uint16(270), + 1374: uint16(256), + 1375: uint16(36), 1376: uint16(217), - 1377: uint16(193), + 1377: uint16(218), 1378: uint16(59), - 1379: uint16(216), - 1380: uint16(217), - 1381: uint16(161), - 1382: uint16(216), - 1383: uint16(217), - 1384: uint16(216), - 1385: uint16(217), - 1386: uint16(216), - 1387: uint16(217), - 1388: uint16(131), - 1389: uint16(193), + 1379: uint16(194), + 1380: uint16(25), + 1381: uint16(135), + 1382: uint16(194), + 1383: uint16(115), + 1384: uint16(194), + 1385: uint16(161), + 1386: uint16(140), + 1387: uint16(194), + 1388: uint16(194), + 1389: uint16(15), 1390: uint16(71), - 1391: uint16(193), - 1392: uint16(216), - 1393: uint16(217), - 1394: uint16(216), - 1395: uint16(217), - 1396: uint16(216), - 1397: uint16(217), - 1398: uint16(193), - 1399: uint16(260), - 1400: uint16(216), - 1401: uint16(217), - 1402: uint16(19), - 1403: uint16(264), + 1391: uint16(194), + 1392: uint16(312), + 1393: uint16(63), + 1394: uint16(217), + 1395: uint16(218), + 1396: uint16(316), + 1397: uint16(194), + 1398: uint16(59), + 1399: uint16(131), + 1400: uint16(301), + 1401: uint16(302), + 1402: uint16(217), + 1403: uint16(218), 1404: uint16(85), - 1405: uint16(133), - 1406: uint16(244), - 1407: uint16(100), - 1408: uint16(193), + 1405: uint16(217), + 1406: uint16(218), + 1407: uint16(217), + 1408: uint16(218), 1409: uint16(90), - 1410: uint16(138), - 1411: uint16(139), - 1412: uint16(216), - 1413: uint16(217), - 1414: uint16(216), - 1415: uint16(217), - 1416: uint16(254), - 1417: uint16(244), - 1418: uint16(193), + 1410: uint16(71), + 1411: uint16(217), + 1412: uint16(218), + 1413: uint16(19), + 1414: uint16(217), + 1415: uint16(218), + 1416: uint16(245), + 1417: uint16(146), + 1418: uint16(262), 1419: uint16(100), - 1420: uint16(193), - 1421: uint16(216), - 1422: uint16(217), - 1423: uint16(116), - 1424: uint16(117), + 1420: uint16(217), + 1421: uint16(218), + 1422: uint16(266), + 1423: uint16(265), + 1424: uint16(85), 1425: uint16(106), 1426: uint16(107), - 1427: uint16(254), - 1428: uint16(121), - 1429: uint16(193), - 1430: uint16(115), - 1431: uint16(216), - 1432: uint16(217), + 1427: uint16(256), + 1428: uint16(312), + 1429: uint16(90), + 1430: uint16(209), + 1431: uint16(210), + 1432: uint16(316), 1433: uint16(114), - 1434: uint16(162), + 1434: uint16(60), 1435: uint16(116), 1436: uint16(117), 1437: uint16(118), - 1438: uint16(115), - 1439: uint16(244), + 1438: uint16(194), + 1439: uint16(100), 1440: uint16(121), - 1441: uint16(216), - 1442: uint16(217), - 1443: uint16(216), - 1444: uint16(217), - 1445: uint16(193), - 1446: uint16(309), - 1447: uint16(193), - 1448: uint16(31), - 1449: uint16(254), - 1450: uint16(313), - 1451: uint16(309), - 1452: uint16(216), - 1453: uint16(217), - 1454: uint16(309), - 1455: uint16(313), - 1456: uint16(39), - 1457: uint16(193), - 1458: uint16(313), - 1459: uint16(309), - 1460: uint16(153), - 1461: uint16(154), - 1462: uint16(155), - 1463: uint16(313), - 1464: uint16(193), - 1465: uint16(150), - 1466: uint16(25), - 1467: uint16(144), - 1468: uint16(216), - 1469: uint16(217), - 1470: uint16(216), - 1471: uint16(217), + 1441: uint16(194), + 1442: uint16(194), + 1443: uint16(145), + 1444: uint16(115), + 1445: uint16(106), + 1446: uint16(107), + 1447: uint16(19), + 1448: uint16(46), + 1449: uint16(19), + 1450: uint16(20), + 1451: uint16(24), + 1452: uint16(22), + 1453: uint16(114), + 1454: uint16(194), + 1455: uint16(116), + 1456: uint16(117), + 1457: uint16(118), + 1458: uint16(194), + 1459: uint16(245), + 1460: uint16(121), + 1461: uint16(194), + 1462: uint16(164), + 1463: uint16(194), + 1464: uint16(217), + 1465: uint16(218), + 1466: uint16(36), + 1467: uint16(194), + 1468: uint16(258), + 1469: uint16(259), + 1470: uint16(256), + 1471: uint16(194), 1472: uint16(153), 1473: uint16(154), 1474: uint16(155), 1475: uint16(156), 1476: uint16(157), - 1478: uint16(1), - 1479: uint16(2), - 1480: uint16(216), + 1477: uint16(217), + 1478: uint16(218), + 1479: uint16(150), + 1480: uint16(31), 1481: uint16(217), - 1482: uint16(5), - 1483: uint16(149), - 1484: uint16(150), - 1485: uint16(22), - 1486: uint16(193), - 1487: uint16(10), - 1488: uint16(11), - 1489: uint16(12), - 1490: uint16(13), - 1491: uint16(14), - 1492: uint16(193), - 1493: uint16(158), - 1494: uint16(17), - 1495: uint16(160), - 1496: uint16(193), - 1497: uint16(19), - 1498: uint16(20), - 1499: uint16(116), - 1500: uint16(22), - 1501: uint16(25), - 1502: uint16(193), - 1503: uint16(24), - 1504: uint16(22), - 1505: uint16(193), - 1506: uint16(24), - 1507: uint16(30), - 1508: uint16(226), - 1509: uint16(32), - 1510: uint16(19), - 1511: uint16(20), - 1512: uint16(226), - 1513: uint16(22), - 1514: uint16(36), - 1515: uint16(193), - 1516: uint16(53), - 1517: uint16(40), - 1518: uint16(193), - 1519: uint16(216), - 1520: uint16(217), - 1521: uint16(193), - 1522: uint16(23), - 1523: uint16(193), - 1524: uint16(25), - 1525: uint16(216), - 1526: uint16(217), - 1527: uint16(36), - 1528: uint16(216), - 1529: uint16(217), - 1530: uint16(193), - 1531: uint16(99), - 1532: uint16(193), - 1533: uint16(193), - 1534: uint16(22), - 1535: uint16(193), - 1536: uint16(193), - 1537: uint16(59), - 1538: uint16(216), + 1482: uint16(218), + 1483: uint16(142), + 1484: uint16(217), + 1485: uint16(218), + 1486: uint16(217), + 1487: uint16(218), + 1488: uint16(39), + 1489: uint16(59), + 1490: uint16(217), + 1491: uint16(218), + 1492: uint16(153), + 1493: uint16(154), + 1494: uint16(155), + 1495: uint16(156), + 1496: uint16(157), + 1497: uint16(149), + 1498: uint16(150), + 1499: uint16(5), + 1500: uint16(145), + 1501: uint16(71), + 1502: uint16(183), + 1503: uint16(245), + 1504: uint16(10), + 1505: uint16(11), + 1506: uint16(12), + 1507: uint16(13), + 1508: uint16(14), + 1509: uint16(194), + 1510: uint16(116), + 1511: uint16(17), + 1512: uint16(129), + 1513: uint16(227), + 1514: uint16(256), + 1515: uint16(85), + 1516: uint16(194), + 1517: uint16(115), + 1518: uint16(194), + 1519: uint16(23), + 1520: uint16(90), + 1521: uint16(25), + 1522: uint16(183), + 1523: uint16(99), + 1524: uint16(30), + 1525: uint16(97), + 1526: uint16(32), + 1527: uint16(22), + 1528: uint16(22), + 1529: uint16(194), + 1530: uint16(100), + 1531: uint16(194), + 1532: uint16(217), + 1533: uint16(218), + 1534: uint16(40), + 1535: uint16(152), + 1536: uint16(106), + 1537: uint16(107), + 1538: uint16(23), 1539: uint16(217), - 1540: uint16(193), - 1541: uint16(216), - 1542: uint16(217), - 1543: uint16(193), - 1544: uint16(216), - 1545: uint16(217), - 1546: uint16(193), - 1547: uint16(70), - 1548: uint16(129), - 1549: uint16(71), - 1550: uint16(59), - 1551: uint16(129), - 1552: uint16(193), - 1553: uint16(216), + 1540: uint16(218), + 1541: uint16(194), + 1542: uint16(19), + 1543: uint16(20), + 1544: uint16(114), + 1545: uint16(22), + 1546: uint16(116), + 1547: uint16(117), + 1548: uint16(118), + 1549: uint16(257), + 1550: uint16(194), + 1551: uint16(121), + 1552: uint16(217), + 1553: uint16(218), 1554: uint16(217), - 1555: uint16(78), - 1556: uint16(216), - 1557: uint16(217), - 1558: uint16(81), - 1559: uint16(216), - 1560: uint16(217), - 1561: uint16(193), - 1562: uint16(71), - 1563: uint16(85), - 1564: uint16(193), - 1565: uint16(133), - 1566: uint16(193), - 1567: uint16(126), - 1568: uint16(90), - 1569: uint16(216), - 1570: uint16(217), - 1571: uint16(152), - 1572: uint16(258), - 1573: uint16(61), - 1574: uint16(152), - 1575: uint16(98), - 1576: uint16(85), - 1577: uint16(193), - 1578: uint16(100), - 1579: uint16(193), - 1580: uint16(23), - 1581: uint16(90), - 1582: uint16(25), - 1583: uint16(121), - 1584: uint16(106), - 1585: uint16(107), - 1586: uint16(23), - 1587: uint16(216), - 1588: uint16(217), - 1589: uint16(216), - 1590: uint16(217), - 1591: uint16(100), - 1592: uint16(114), - 1593: uint16(131), - 1594: uint16(116), - 1595: uint16(117), - 1596: uint16(118), - 1597: uint16(106), - 1598: uint16(107), - 1599: uint16(121), - 1600: uint16(216), - 1601: uint16(217), - 1602: uint16(216), - 1603: uint16(217), - 1604: uint16(193), - 1605: uint16(114), - 1606: uint16(193), - 1607: uint16(116), - 1608: uint16(117), - 1609: uint16(118), - 1610: uint16(133), - 1611: uint16(22), - 1612: uint16(121), - 1613: uint16(193), - 1614: uint16(59), - 1615: uint16(138), - 1616: uint16(139), - 1617: uint16(193), - 1618: uint16(142), - 1619: uint16(193), - 1620: uint16(141), - 1621: uint16(23), - 1622: uint16(23), - 1623: uint16(25), - 1624: uint16(25), - 1625: uint16(120), - 1626: uint16(121), - 1627: uint16(216), - 1628: uint16(217), - 1629: uint16(216), - 1630: uint16(217), - 1631: uint16(153), - 1632: uint16(154), - 1633: uint16(155), - 1634: uint16(156), - 1635: uint16(157), - 1636: uint16(216), - 1637: uint16(217), - 1638: uint16(19), - 1639: uint16(162), - 1640: uint16(216), - 1641: uint16(217), - 1642: uint16(216), - 1643: uint16(217), - 1644: uint16(153), - 1645: uint16(154), - 1646: uint16(155), - 1647: uint16(156), - 1648: uint16(157), - 1649: uint16(1), - 1650: uint16(2), - 1651: uint16(193), - 1652: uint16(59), - 1653: uint16(5), - 1654: uint16(19), - 1655: uint16(20), - 1656: uint16(318), - 1657: uint16(22), - 1658: uint16(10), - 1659: uint16(11), - 1660: uint16(12), - 1661: uint16(13), - 1662: uint16(14), - 1663: uint16(193), - 1664: uint16(59), - 1665: uint16(17), - 1666: uint16(193), - 1667: uint16(23), - 1668: uint16(23), - 1669: uint16(25), - 1670: uint16(25), - 1671: uint16(36), - 1672: uint16(117), - 1673: uint16(193), - 1674: uint16(216), - 1675: uint16(217), - 1676: uint16(193), - 1677: uint16(23), - 1678: uint16(30), - 1679: uint16(25), - 1680: uint16(32), - 1681: uint16(19), - 1682: uint16(20), - 1683: uint16(23), - 1684: uint16(22), - 1685: uint16(25), - 1686: uint16(216), - 1687: uint16(217), - 1688: uint16(40), - 1689: uint16(216), + 1555: uint16(218), + 1556: uint16(194), + 1557: uint16(133), + 1558: uint16(53), + 1559: uint16(36), + 1560: uint16(23), + 1561: uint16(23), + 1562: uint16(25), + 1563: uint16(25), + 1564: uint16(70), + 1565: uint16(120), + 1566: uint16(121), + 1567: uint16(61), + 1568: uint16(141), + 1569: uint16(7), + 1570: uint16(8), + 1571: uint16(121), + 1572: uint16(78), + 1573: uint16(217), + 1574: uint16(218), + 1575: uint16(81), + 1576: uint16(23), + 1577: uint16(227), + 1578: uint16(25), + 1579: uint16(217), + 1580: uint16(218), + 1581: uint16(131), + 1582: uint16(59), + 1583: uint16(153), + 1584: uint16(154), + 1585: uint16(155), + 1586: uint16(156), + 1587: uint16(157), + 1589: uint16(1), + 1590: uint16(2), + 1591: uint16(59), + 1592: uint16(98), + 1593: uint16(5), + 1594: uint16(71), + 1595: uint16(23), + 1596: uint16(227), + 1597: uint16(25), + 1598: uint16(10), + 1599: uint16(11), + 1600: uint16(12), + 1601: uint16(13), + 1602: uint16(14), + 1603: uint16(83), + 1604: uint16(84), + 1605: uint16(17), + 1606: uint16(23), + 1607: uint16(23), + 1608: uint16(25), + 1609: uint16(25), + 1610: uint16(59), + 1611: uint16(194), + 1612: uint16(194), + 1613: uint16(183), + 1614: uint16(23), + 1615: uint16(23), + 1616: uint16(25), + 1617: uint16(25), + 1618: uint16(30), + 1619: uint16(194), + 1620: uint16(32), + 1621: uint16(19), + 1622: uint16(20), + 1623: uint16(100), + 1624: uint16(22), + 1625: uint16(194), + 1626: uint16(194), + 1627: uint16(133), + 1628: uint16(40), + 1629: uint16(106), + 1630: uint16(107), + 1631: uint16(108), + 1632: uint16(138), + 1633: uint16(139), + 1634: uint16(194), + 1635: uint16(217), + 1636: uint16(218), + 1637: uint16(114), + 1638: uint16(36), + 1639: uint16(116), + 1640: uint16(117), + 1641: uint16(118), + 1642: uint16(217), + 1643: uint16(218), + 1644: uint16(121), + 1645: uint16(194), + 1646: uint16(194), + 1647: uint16(194), + 1648: uint16(23), + 1649: uint16(117), + 1650: uint16(25), + 1651: uint16(194), + 1652: uint16(23), + 1653: uint16(23), + 1654: uint16(25), + 1655: uint16(25), + 1656: uint16(162), + 1657: uint16(194), + 1658: uint16(70), + 1659: uint16(194), + 1660: uint16(145), + 1661: uint16(59), + 1662: uint16(23), + 1663: uint16(153), + 1664: uint16(25), + 1665: uint16(155), + 1666: uint16(78), + 1667: uint16(194), + 1668: uint16(117), + 1669: uint16(81), + 1670: uint16(217), + 1671: uint16(218), + 1672: uint16(194), + 1673: uint16(71), + 1674: uint16(217), + 1675: uint16(218), + 1676: uint16(153), + 1677: uint16(154), + 1678: uint16(155), + 1679: uint16(156), + 1680: uint16(157), + 1681: uint16(194), + 1682: uint16(217), + 1683: uint16(218), + 1684: uint16(194), + 1685: uint16(23), + 1686: uint16(98), + 1687: uint16(25), + 1688: uint16(321), + 1689: uint16(194), 1690: uint16(217), - 1691: uint16(7), - 1692: uint16(8), - 1693: uint16(23), - 1694: uint16(59), - 1695: uint16(25), - 1696: uint16(83), - 1697: uint16(84), - 1698: uint16(36), - 1699: uint16(23), - 1700: uint16(193), - 1701: uint16(25), - 1702: uint16(23), - 1703: uint16(23), - 1704: uint16(25), - 1705: uint16(25), - 1706: uint16(71), - 1707: uint16(153), - 1708: uint16(145), - 1709: uint16(155), - 1710: uint16(117), - 1711: uint16(153), - 1712: uint16(23), - 1713: uint16(155), - 1714: uint16(25), - 1715: uint16(23), - 1716: uint16(97), - 1717: uint16(25), - 1718: uint16(70), - 1719: uint16(193), - 1720: uint16(193), - 1721: uint16(59), - 1722: uint16(117), - 1723: uint16(236), - 1724: uint16(193), - 1725: uint16(193), - 1726: uint16(78), - 1727: uint16(193), - 1728: uint16(193), - 1729: uint16(81), - 1730: uint16(141), - 1731: uint16(193), - 1732: uint16(193), - 1733: uint16(71), - 1734: uint16(193), - 1735: uint16(100), - 1736: uint16(288), - 1737: uint16(287), - 1738: uint16(242), - 1739: uint16(255), - 1740: uint16(255), - 1741: uint16(106), - 1742: uint16(107), - 1743: uint16(108), - 1744: uint16(255), - 1745: uint16(255), - 1746: uint16(98), - 1747: uint16(243), - 1748: uint16(297), - 1749: uint16(114), - 1750: uint16(214), - 1751: uint16(116), - 1752: uint16(117), - 1753: uint16(118), - 1754: uint16(245), - 1755: uint16(191), - 1756: uint16(121), - 1757: uint16(271), - 1758: uint16(293), - 1759: uint16(267), - 1760: uint16(267), - 1761: uint16(246), - 1762: uint16(100), - 1763: uint16(246), - 1764: uint16(245), - 1765: uint16(271), - 1766: uint16(271), - 1767: uint16(293), - 1768: uint16(106), - 1769: uint16(107), - 1770: uint16(220), - 1771: uint16(271), - 1772: uint16(229), - 1773: uint16(225), - 1774: uint16(249), - 1775: uint16(219), - 1776: uint16(114), - 1777: uint16(259), - 1778: uint16(116), - 1779: uint16(117), - 1780: uint16(118), - 1781: uint16(133), - 1782: uint16(259), - 1783: uint16(121), - 1784: uint16(219), - 1785: uint16(219), - 1786: uint16(138), - 1787: uint16(139), - 1788: uint16(153), - 1789: uint16(154), - 1790: uint16(155), - 1791: uint16(156), - 1792: uint16(157), - 1793: uint16(280), - 1794: uint16(249), - 1795: uint16(243), - 1796: uint16(19), - 1797: uint16(20), - 1798: uint16(245), - 1799: uint16(22), - 1800: uint16(196), - 1801: uint16(259), - 1802: uint16(140), - 1803: uint16(259), - 1804: uint16(60), - 1805: uint16(297), - 1806: uint16(141), - 1807: uint16(297), - 1808: uint16(200), - 1809: uint16(200), - 1810: uint16(162), - 1811: uint16(38), - 1812: uint16(200), - 1813: uint16(36), - 1814: uint16(294), - 1815: uint16(153), - 1816: uint16(154), - 1817: uint16(155), - 1818: uint16(156), - 1819: uint16(157), - 1820: uint16(151), - 1821: uint16(150), - 1822: uint16(294), - 1823: uint16(283), - 1824: uint16(22), - 1825: uint16(43), - 1826: uint16(234), - 1827: uint16(18), - 1828: uint16(237), - 1829: uint16(200), - 1830: uint16(270), - 1831: uint16(272), - 1832: uint16(237), - 1833: uint16(237), - 1834: uint16(237), - 1835: uint16(18), - 1836: uint16(59), - 1837: uint16(199), - 1838: uint16(270), - 1839: uint16(149), - 1840: uint16(246), - 1841: uint16(272), - 1842: uint16(272), - 1843: uint16(200), - 1844: uint16(234), - 1845: uint16(234), - 1846: uint16(246), - 1847: uint16(246), - 1848: uint16(71), - 1849: uint16(246), - 1850: uint16(199), - 1851: uint16(158), - 1852: uint16(290), - 1853: uint16(62), - 1854: uint16(22), - 1855: uint16(200), - 1856: uint16(19), - 1857: uint16(20), - 1858: uint16(199), - 1859: uint16(22), - 1860: uint16(289), - 1861: uint16(221), - 1862: uint16(221), - 1863: uint16(200), - 1864: uint16(200), - 1865: uint16(199), - 1866: uint16(199), - 1867: uint16(115), - 1868: uint16(218), - 1869: uint16(64), - 1870: uint16(218), - 1871: uint16(218), + 1691: uint16(218), + 1692: uint16(194), + 1693: uint16(19), + 1694: uint16(20), + 1695: uint16(194), + 1696: uint16(22), + 1697: uint16(153), + 1698: uint16(23), + 1699: uint16(155), + 1700: uint16(25), + 1701: uint16(194), + 1702: uint16(100), + 1703: uint16(194), + 1704: uint16(217), + 1705: uint16(218), + 1706: uint16(183), + 1707: uint16(194), + 1708: uint16(106), + 1709: uint16(107), + 1710: uint16(36), + 1711: uint16(194), + 1712: uint16(217), + 1713: uint16(218), + 1714: uint16(237), + 1715: uint16(194), + 1716: uint16(114), + 1717: uint16(243), + 1718: uint16(116), + 1719: uint16(117), + 1720: uint16(118), + 1721: uint16(133), + 1722: uint16(194), + 1723: uint16(121), + 1724: uint16(217), + 1725: uint16(218), + 1726: uint16(138), + 1727: uint16(139), + 1728: uint16(194), + 1729: uint16(194), + 1730: uint16(194), + 1731: uint16(290), + 1732: uint16(289), + 1733: uint16(59), + 1734: uint16(217), + 1735: uint16(218), + 1736: uint16(194), + 1737: uint16(194), + 1738: uint16(217), + 1739: uint16(218), + 1740: uint16(194), + 1741: uint16(194), + 1742: uint16(140), + 1743: uint16(194), + 1744: uint16(194), + 1745: uint16(71), + 1746: uint16(194), + 1747: uint16(244), + 1748: uint16(194), + 1749: uint16(194), + 1750: uint16(162), + 1751: uint16(217), + 1752: uint16(218), + 1753: uint16(194), + 1754: uint16(194), + 1755: uint16(153), + 1756: uint16(154), + 1757: uint16(155), + 1758: uint16(156), + 1759: uint16(157), + 1760: uint16(217), + 1761: uint16(218), + 1762: uint16(194), + 1763: uint16(217), + 1764: uint16(218), + 1765: uint16(194), + 1766: uint16(217), + 1767: uint16(218), + 1768: uint16(257), + 1769: uint16(217), + 1770: uint16(218), + 1771: uint16(217), + 1772: uint16(218), + 1773: uint16(257), + 1774: uint16(100), + 1775: uint16(194), + 1776: uint16(257), + 1777: uint16(217), + 1778: uint16(218), + 1779: uint16(257), + 1780: uint16(106), + 1781: uint16(107), + 1782: uint16(215), + 1783: uint16(299), + 1784: uint16(194), + 1785: uint16(183), + 1786: uint16(192), + 1787: uint16(194), + 1788: uint16(114), + 1789: uint16(194), + 1790: uint16(116), + 1791: uint16(117), + 1792: uint16(118), + 1793: uint16(1), + 1794: uint16(2), + 1795: uint16(121), + 1796: uint16(221), + 1797: uint16(5), + 1798: uint16(217), + 1799: uint16(218), + 1800: uint16(273), + 1801: uint16(197), + 1802: uint16(10), + 1803: uint16(11), + 1804: uint16(12), + 1805: uint16(13), + 1806: uint16(14), + 1807: uint16(217), + 1808: uint16(218), + 1809: uint16(17), + 1810: uint16(217), + 1811: uint16(218), + 1812: uint16(217), + 1813: uint16(218), + 1814: uint16(140), + 1815: uint16(194), + 1816: uint16(246), + 1817: uint16(194), + 1818: uint16(273), + 1819: uint16(295), + 1820: uint16(247), + 1821: uint16(273), + 1822: uint16(30), + 1823: uint16(247), + 1824: uint16(32), + 1825: uint16(269), + 1826: uint16(269), + 1827: uint16(153), + 1828: uint16(154), + 1829: uint16(155), + 1830: uint16(156), + 1831: uint16(157), + 1832: uint16(40), + 1833: uint16(246), + 1834: uint16(273), + 1835: uint16(295), + 1836: uint16(230), + 1837: uint16(226), + 1838: uint16(217), + 1839: uint16(218), + 1840: uint16(217), + 1841: uint16(218), + 1842: uint16(220), + 1843: uint16(261), + 1844: uint16(220), + 1845: uint16(282), + 1846: uint16(220), + 1847: uint16(19), + 1848: uint16(20), + 1849: uint16(244), + 1850: uint16(22), + 1851: uint16(250), + 1852: uint16(141), + 1853: uint16(250), + 1854: uint16(246), + 1855: uint16(60), + 1856: uint16(201), + 1857: uint16(183), + 1858: uint16(261), + 1859: uint16(261), + 1860: uint16(261), + 1861: uint16(201), + 1862: uint16(70), + 1863: uint16(299), + 1864: uint16(36), + 1865: uint16(299), + 1866: uint16(201), + 1867: uint16(38), + 1868: uint16(151), + 1869: uint16(150), + 1870: uint16(78), + 1871: uint16(285), 1872: uint16(22), - 1873: uint16(36), - 1874: uint16(227), - 1875: uint16(126), - 1876: uint16(227), - 1877: uint16(100), - 1878: uint16(165), - 1879: uint16(221), - 1880: uint16(224), - 1881: uint16(224), - 1882: uint16(24), - 1883: uint16(106), - 1884: uint16(107), - 1885: uint16(312), - 1886: uint16(218), - 1887: uint16(305), - 1888: uint16(113), - 1889: uint16(282), - 1890: uint16(91), - 1891: uint16(114), - 1892: uint16(220), - 1893: uint16(116), - 1894: uint16(117), - 1895: uint16(118), - 1896: uint16(59), - 1897: uint16(282), - 1898: uint16(121), - 1899: uint16(218), - 1900: uint16(218), - 1901: uint16(218), + 1873: uint16(81), + 1874: uint16(296), + 1875: uint16(296), + 1876: uint16(43), + 1877: uint16(235), + 1878: uint16(18), + 1879: uint16(238), + 1880: uint16(201), + 1881: uint16(274), + 1882: uint16(272), + 1883: uint16(238), + 1884: uint16(238), + 1885: uint16(238), + 1886: uint16(18), + 1887: uint16(59), + 1888: uint16(200), + 1889: uint16(149), + 1890: uint16(98), + 1891: uint16(247), + 1892: uint16(274), + 1893: uint16(274), + 1894: uint16(235), + 1895: uint16(247), + 1896: uint16(247), + 1897: uint16(247), + 1898: uint16(235), + 1899: uint16(71), + 1900: uint16(272), + 1901: uint16(201), 1902: uint16(200), - 1903: uint16(317), - 1904: uint16(317), - 1905: uint16(82), - 1906: uint16(221), - 1907: uint16(265), - 1908: uint16(71), - 1909: uint16(148), - 1910: uint16(145), - 1911: uint16(265), - 1912: uint16(22), - 1913: uint16(277), - 1914: uint16(200), - 1915: uint16(158), - 1916: uint16(279), - 1917: uint16(140), - 1918: uint16(147), - 1919: uint16(25), - 1920: uint16(146), - 1921: uint16(202), - 1922: uint16(248), - 1923: uint16(250), - 1924: uint16(249), - 1925: uint16(247), - 1926: uint16(13), - 1927: uint16(250), - 1928: uint16(194), - 1929: uint16(194), - 1930: uint16(153), - 1931: uint16(154), - 1932: uint16(155), - 1933: uint16(156), - 1934: uint16(157), - 1935: uint16(6), - 1936: uint16(303), - 1937: uint16(100), - 1938: uint16(192), - 1939: uint16(192), - 1940: uint16(246), - 1941: uint16(213), - 1942: uint16(192), - 1943: uint16(106), - 1944: uint16(107), - 1945: uint16(207), - 1946: uint16(213), - 1947: uint16(207), - 1948: uint16(222), - 1949: uint16(213), - 1950: uint16(213), - 1951: uint16(114), - 1952: uint16(222), - 1953: uint16(116), - 1954: uint16(117), - 1955: uint16(118), - 1956: uint16(214), - 1957: uint16(214), - 1958: uint16(121), - 1959: uint16(4), - 1960: uint16(207), - 1961: uint16(213), - 1962: uint16(3), - 1963: uint16(22), - 1964: uint16(303), - 1965: uint16(15), - 1966: uint16(163), - 1967: uint16(16), - 1968: uint16(23), - 1969: uint16(23), - 1970: uint16(139), - 1971: uint16(151), - 1972: uint16(130), - 1973: uint16(25), - 1974: uint16(20), - 1975: uint16(142), - 1976: uint16(24), - 1977: uint16(16), - 1978: uint16(144), - 1979: uint16(1), - 1980: uint16(142), - 1981: uint16(130), - 1982: uint16(130), - 1983: uint16(61), - 1984: uint16(37), - 1985: uint16(53), - 1986: uint16(300), - 1987: uint16(151), - 1988: uint16(53), - 1989: uint16(53), - 1990: uint16(153), - 1991: uint16(154), - 1992: uint16(155), - 1993: uint16(156), - 1994: uint16(157), - 1995: uint16(53), - 1996: uint16(130), - 1997: uint16(116), - 1998: uint16(34), - 1999: uint16(1), - 2000: uint16(141), - 2001: uint16(5), - 2002: uint16(22), - 2003: uint16(115), - 2004: uint16(161), - 2005: uint16(68), - 2006: uint16(25), - 2007: uint16(68), - 2008: uint16(75), - 2009: uint16(41), - 2010: uint16(141), - 2011: uint16(115), - 2012: uint16(24), - 2013: uint16(20), - 2014: uint16(19), - 2015: uint16(131), - 2016: uint16(125), - 2017: uint16(23), - 2018: uint16(28), - 2019: uint16(22), - 2020: uint16(67), - 2021: uint16(22), - 2022: uint16(22), - 2023: uint16(22), - 2024: uint16(67), - 2025: uint16(59), - 2026: uint16(24), - 2027: uint16(96), - 2028: uint16(22), - 2029: uint16(67), - 2030: uint16(23), - 2031: uint16(149), - 2032: uint16(22), - 2033: uint16(25), - 2034: uint16(23), - 2035: uint16(23), - 2036: uint16(23), - 2037: uint16(22), - 2038: uint16(34), - 2039: uint16(141), - 2040: uint16(37), - 2041: uint16(97), - 2042: uint16(23), - 2043: uint16(23), - 2044: uint16(116), - 2045: uint16(22), - 2046: uint16(143), - 2047: uint16(25), - 2048: uint16(34), - 2049: uint16(75), - 2050: uint16(34), - 2051: uint16(34), - 2052: uint16(34), - 2053: uint16(88), - 2054: uint16(75), - 2055: uint16(34), - 2056: uint16(86), - 2057: uint16(23), + 1903: uint16(158), + 1904: uint16(292), + 1905: uint16(62), + 1906: uint16(291), + 1907: uint16(201), + 1908: uint16(200), + 1909: uint16(22), + 1910: uint16(201), + 1911: uint16(222), + 1912: uint16(200), + 1913: uint16(222), + 1914: uint16(201), + 1915: uint16(200), + 1916: uint16(115), + 1917: uint16(219), + 1918: uint16(219), + 1919: uint16(64), + 1920: uint16(219), + 1921: uint16(228), + 1922: uint16(22), + 1923: uint16(126), + 1924: uint16(221), + 1925: uint16(133), + 1926: uint16(165), + 1927: uint16(222), + 1928: uint16(100), + 1929: uint16(225), + 1930: uint16(138), + 1931: uint16(139), + 1932: uint16(225), + 1933: uint16(219), + 1934: uint16(106), + 1935: uint16(107), + 1936: uint16(24), + 1937: uint16(219), + 1938: uint16(228), + 1939: uint16(219), + 1940: uint16(219), + 1941: uint16(307), + 1942: uint16(114), + 1943: uint16(113), + 1944: uint16(116), + 1945: uint16(117), + 1946: uint16(118), + 1947: uint16(315), + 1948: uint16(284), + 1949: uint16(121), + 1950: uint16(284), + 1951: uint16(222), + 1952: uint16(201), + 1953: uint16(91), + 1954: uint16(162), + 1955: uint16(320), + 1956: uint16(320), + 1957: uint16(82), + 1958: uint16(148), + 1959: uint16(267), + 1960: uint16(145), + 1961: uint16(267), + 1962: uint16(22), + 1963: uint16(279), + 1964: uint16(201), + 1965: uint16(158), + 1966: uint16(281), + 1967: uint16(251), + 1968: uint16(147), + 1969: uint16(146), + 1970: uint16(25), + 1971: uint16(203), + 1972: uint16(250), + 1973: uint16(249), + 1974: uint16(251), + 1975: uint16(248), + 1976: uint16(13), + 1977: uint16(247), + 1978: uint16(195), + 1979: uint16(195), + 1980: uint16(6), + 1981: uint16(153), + 1982: uint16(154), + 1983: uint16(155), + 1984: uint16(156), + 1985: uint16(157), + 1986: uint16(193), + 1987: uint16(193), + 1988: uint16(305), + 1989: uint16(193), + 1990: uint16(208), + 1991: uint16(305), + 1992: uint16(302), + 1993: uint16(214), + 1994: uint16(214), + 1995: uint16(214), + 1996: uint16(208), + 1997: uint16(223), + 1998: uint16(223), + 1999: uint16(214), + 2000: uint16(4), + 2001: uint16(215), + 2002: uint16(215), + 2003: uint16(214), + 2004: uint16(3), + 2005: uint16(22), + 2006: uint16(208), + 2007: uint16(163), + 2008: uint16(15), + 2009: uint16(23), + 2010: uint16(16), + 2011: uint16(183), + 2012: uint16(23), + 2013: uint16(139), + 2014: uint16(151), + 2015: uint16(130), + 2016: uint16(25), + 2017: uint16(20), + 2018: uint16(142), + 2019: uint16(24), + 2020: uint16(16), + 2021: uint16(144), + 2022: uint16(1), + 2023: uint16(142), + 2024: uint16(130), + 2025: uint16(130), + 2026: uint16(61), + 2027: uint16(37), + 2028: uint16(53), + 2029: uint16(151), + 2030: uint16(53), + 2031: uint16(53), + 2032: uint16(53), + 2033: uint16(130), + 2034: uint16(116), + 2035: uint16(1), + 2036: uint16(34), + 2037: uint16(141), + 2038: uint16(5), + 2039: uint16(22), + 2040: uint16(115), + 2041: uint16(161), + 2042: uint16(75), + 2043: uint16(25), + 2044: uint16(68), + 2045: uint16(141), + 2046: uint16(41), + 2047: uint16(115), + 2048: uint16(68), + 2049: uint16(24), + 2050: uint16(20), + 2051: uint16(19), + 2052: uint16(131), + 2053: uint16(125), + 2054: uint16(67), + 2055: uint16(67), + 2056: uint16(96), + 2057: uint16(22), 2058: uint16(22), - 2059: uint16(34), - 2060: uint16(93), - 2061: uint16(24), - 2062: uint16(34), - 2063: uint16(25), - 2064: uint16(25), - 2065: uint16(142), - 2066: uint16(142), + 2059: uint16(22), + 2060: uint16(37), + 2061: uint16(23), + 2062: uint16(22), + 2063: uint16(24), + 2064: uint16(22), + 2065: uint16(59), + 2066: uint16(67), 2067: uint16(23), - 2068: uint16(44), - 2069: uint16(23), - 2070: uint16(23), - 2071: uint16(23), + 2068: uint16(149), + 2069: uint16(28), + 2070: uint16(22), + 2071: uint16(25), 2072: uint16(23), - 2073: uint16(11), + 2073: uint16(23), 2074: uint16(23), - 2075: uint16(25), - 2076: uint16(22), - 2077: uint16(22), - 2078: uint16(22), - 2079: uint16(141), + 2075: uint16(22), + 2076: uint16(141), + 2077: uint16(34), + 2078: uint16(97), + 2079: uint16(23), 2080: uint16(23), - 2081: uint16(23), - 2082: uint16(22), + 2081: uint16(34), + 2082: uint16(116), 2083: uint16(22), - 2084: uint16(25), - 2085: uint16(15), - 2086: uint16(1), - 2087: uint16(23), - 2088: uint16(25), - 2089: uint16(1), - 2090: uint16(141), - 2091: uint16(135), - 2092: uint16(319), - 2093: uint16(319), - 2094: uint16(319), - 2095: uint16(319), - 2096: uint16(319), - 2097: uint16(319), - 2098: uint16(319), - 2099: uint16(141), - 2100: uint16(319), - 2101: uint16(319), - 2102: uint16(319), - 2103: uint16(319), - 2104: uint16(319), - 2105: uint16(319), - 2106: uint16(319), - 2107: uint16(319), - 2108: uint16(319), - 2109: uint16(319), - 2110: uint16(319), - 2111: uint16(319), - 2112: uint16(319), - 2113: uint16(319), - 2114: uint16(319), - 2115: uint16(319), - 2116: uint16(319), - 2117: uint16(319), - 2118: uint16(319), - 2119: uint16(319), - 2120: uint16(319), - 2121: uint16(319), - 2122: uint16(319), - 2123: uint16(319), - 2124: uint16(319), - 2125: uint16(319), - 2126: uint16(319), - 2127: uint16(319), - 2128: uint16(319), - 2129: uint16(319), - 2130: uint16(319), - 2131: uint16(319), - 2132: uint16(319), - 2133: uint16(319), - 2134: uint16(319), - 2135: uint16(319), - 2136: uint16(319), - 2137: uint16(319), - 2138: uint16(319), - 2139: uint16(319), - 2140: uint16(319), - 2141: uint16(319), - 2142: uint16(319), - 2143: uint16(319), - 2144: uint16(319), - 2145: uint16(319), - 2146: uint16(319), - 2147: uint16(319), - 2148: uint16(319), - 2149: uint16(319), - 2150: uint16(319), - 2151: uint16(319), - 2152: uint16(319), - 2153: uint16(319), - 2154: uint16(319), - 2155: uint16(319), - 2156: uint16(319), - 2157: uint16(319), - 2158: uint16(319), - 2159: uint16(319), - 2160: uint16(319), - 2161: uint16(319), - 2162: uint16(319), - 2163: uint16(319), - 2164: uint16(319), - 2165: uint16(319), - 2166: uint16(319), - 2167: uint16(319), - 2168: uint16(319), - 2169: uint16(319), - 2170: uint16(319), - 2171: uint16(319), - 2172: uint16(319), - 2173: uint16(319), - 2174: uint16(319), - 2175: uint16(319), - 2176: uint16(319), - 2177: uint16(319), - 2178: uint16(319), - 2179: uint16(319), - 2180: uint16(319), - 2181: uint16(319), - 2182: uint16(319), - 2183: uint16(319), - 2184: uint16(319), - 2185: uint16(319), - 2186: uint16(319), - 2187: uint16(319), - 2188: uint16(319), - 2189: uint16(319), - 2190: uint16(319), - 2191: uint16(319), - 2192: uint16(319), - 2193: uint16(319), - 2194: uint16(319), - 2195: uint16(319), - 2196: uint16(319), - 2197: uint16(319), - 2198: uint16(319), - 2199: uint16(319), - 2200: uint16(319), - 2201: uint16(319), - 2202: uint16(319), - 2203: uint16(319), - 2204: uint16(319), - 2205: uint16(319), - 2206: uint16(319), - 2207: uint16(319), - 2208: uint16(319), - 2209: uint16(319), - 2210: uint16(319), - 2211: uint16(319), - 2212: uint16(319), - 2213: uint16(319), - 2214: uint16(319), - 2215: uint16(319), - 2216: uint16(319), - 2217: uint16(319), - 2218: uint16(319), - 2219: uint16(319), - 2220: uint16(319), - 2221: uint16(319), - 2222: uint16(319), - 2223: uint16(319), - 2224: uint16(319), - 2225: uint16(319), - 2226: uint16(319), - 2227: uint16(319), - 2228: uint16(319), - 2229: uint16(319), - 2230: uint16(319), - 2231: uint16(319), - 2232: uint16(319), - 2233: uint16(319), - 2234: uint16(319), - 2235: uint16(319), - 2236: uint16(319), - 2237: uint16(319), - 2238: uint16(319), - 2239: uint16(319), - 2240: uint16(319), - 2241: uint16(319), - 2242: uint16(319), - 2243: uint16(319), - 2244: uint16(319), - 2245: uint16(319), - 2246: uint16(319), - 2247: uint16(319), - 2248: uint16(319), - 2249: uint16(319), - 2250: uint16(319), - 2251: uint16(319), - 2252: uint16(319), - 2253: uint16(319), - 2254: uint16(319), - 2255: uint16(319), - 2256: uint16(319), - 2257: uint16(319), - 2258: uint16(319), - 2259: uint16(319), - 2260: uint16(319), - 2261: uint16(319), - 2262: uint16(319), - 2263: uint16(319), - 2264: uint16(319), - 2265: uint16(319), - 2266: uint16(319), - 2267: uint16(319), - 2268: uint16(319), - 2269: uint16(319), - 2270: uint16(319), - 2271: uint16(319), - 2272: uint16(319), - 2273: uint16(319), - 2274: uint16(319), - 2275: uint16(319), - 2276: uint16(319), - 2277: uint16(319), - 2278: uint16(319), - 2279: uint16(319), - 2280: uint16(319), - 2281: uint16(319), - 2282: uint16(319), - 2283: uint16(319), - 2284: uint16(319), -} -var _yy_shift_ofst = [579]uint16{ - 0: uint16(1648), - 1: uint16(1477), - 2: uint16(1272), + 2084: uint16(143), + 2085: uint16(25), + 2086: uint16(34), + 2087: uint16(75), + 2088: uint16(34), + 2089: uint16(34), + 2090: uint16(75), + 2091: uint16(88), + 2092: uint16(34), + 2093: uint16(86), + 2094: uint16(23), + 2095: uint16(22), + 2096: uint16(34), + 2097: uint16(25), + 2098: uint16(24), + 2099: uint16(34), + 2100: uint16(25), + 2101: uint16(93), + 2102: uint16(23), + 2103: uint16(44), + 2104: uint16(142), + 2105: uint16(23), + 2106: uint16(142), + 2107: uint16(23), + 2108: uint16(23), + 2109: uint16(22), + 2110: uint16(11), + 2111: uint16(25), + 2112: uint16(23), + 2113: uint16(25), + 2114: uint16(23), + 2115: uint16(22), + 2116: uint16(22), + 2117: uint16(22), + 2118: uint16(1), + 2119: uint16(23), + 2120: uint16(23), + 2121: uint16(23), + 2122: uint16(22), + 2123: uint16(22), + 2124: uint16(15), + 2125: uint16(141), + 2126: uint16(141), + 2127: uint16(25), + 2128: uint16(25), + 2129: uint16(1), + 2130: uint16(322), + 2131: uint16(322), + 2132: uint16(322), + 2133: uint16(135), + 2134: uint16(322), + 2135: uint16(322), + 2136: uint16(322), + 2137: uint16(322), + 2138: uint16(322), + 2139: uint16(322), + 2140: uint16(322), + 2141: uint16(141), + 2142: uint16(322), + 2143: uint16(322), + 2144: uint16(322), + 2145: uint16(322), + 2146: uint16(322), + 2147: uint16(322), + 2148: uint16(322), + 2149: uint16(322), + 2150: uint16(322), + 2151: uint16(322), + 2152: uint16(322), + 2153: uint16(322), + 2154: uint16(322), + 2155: uint16(322), + 2156: uint16(322), + 2157: uint16(322), + 2158: uint16(322), + 2159: uint16(322), + 2160: uint16(322), + 2161: uint16(322), + 2162: uint16(322), + 2163: uint16(322), + 2164: uint16(322), + 2165: uint16(322), + 2166: uint16(322), + 2167: uint16(322), + 2168: uint16(322), + 2169: uint16(322), + 2170: uint16(322), + 2171: uint16(322), + 2172: uint16(322), + 2173: uint16(322), + 2174: uint16(322), + 2175: uint16(322), + 2176: uint16(322), + 2177: uint16(322), + 2178: uint16(322), + 2179: uint16(322), + 2180: uint16(322), + 2181: uint16(322), + 2182: uint16(322), + 2183: uint16(322), + 2184: uint16(322), + 2185: uint16(322), + 2186: uint16(322), + 2187: uint16(322), + 2188: uint16(322), + 2189: uint16(322), + 2190: uint16(322), + 2191: uint16(322), + 2192: uint16(322), + 2193: uint16(322), + 2194: uint16(322), + 2195: uint16(322), + 2196: uint16(322), + 2197: uint16(322), + 2198: uint16(322), + 2199: uint16(322), + 2200: uint16(322), + 2201: uint16(322), + 2202: uint16(322), + 2203: uint16(322), + 2204: uint16(322), + 2205: uint16(322), + 2206: uint16(322), + 2207: uint16(322), + 2208: uint16(322), + 2209: uint16(322), + 2210: uint16(322), + 2211: uint16(322), + 2212: uint16(322), + 2213: uint16(322), + 2214: uint16(322), + 2215: uint16(322), + 2216: uint16(322), + 2217: uint16(322), + 2218: uint16(322), + 2219: uint16(322), + 2220: uint16(322), + 2221: uint16(322), + 2222: uint16(322), + 2223: uint16(322), + 2224: uint16(322), + 2225: uint16(322), + 2226: uint16(322), + 2227: uint16(322), + 2228: uint16(322), + 2229: uint16(322), + 2230: uint16(322), + 2231: uint16(322), + 2232: uint16(322), + 2233: uint16(322), + 2234: uint16(322), + 2235: uint16(322), + 2236: uint16(322), + 2237: uint16(322), + 2238: uint16(322), + 2239: uint16(322), + 2240: uint16(322), + 2241: uint16(322), + 2242: uint16(322), + 2243: uint16(322), + 2244: uint16(322), + 2245: uint16(322), + 2246: uint16(322), + 2247: uint16(322), + 2248: uint16(322), + 2249: uint16(322), + 2250: uint16(322), + 2251: uint16(322), + 2252: uint16(322), + 2253: uint16(322), + 2254: uint16(322), + 2255: uint16(322), + 2256: uint16(322), + 2257: uint16(322), + 2258: uint16(322), + 2259: uint16(322), + 2260: uint16(322), + 2261: uint16(322), + 2262: uint16(322), + 2263: uint16(322), + 2264: uint16(322), + 2265: uint16(322), + 2266: uint16(322), + 2267: uint16(322), + 2268: uint16(322), + 2269: uint16(322), + 2270: uint16(322), + 2271: uint16(322), + 2272: uint16(322), + 2273: uint16(322), + 2274: uint16(322), + 2275: uint16(322), + 2276: uint16(322), + 2277: uint16(322), + 2278: uint16(322), + 2279: uint16(322), + 2280: uint16(322), + 2281: uint16(322), + 2282: uint16(322), + 2283: uint16(322), + 2284: uint16(322), + 2285: uint16(322), + 2286: uint16(322), + 2287: uint16(322), + 2288: uint16(322), + 2289: uint16(322), + 2290: uint16(322), + 2291: uint16(322), + 2292: uint16(322), + 2293: uint16(322), + 2294: uint16(322), + 2295: uint16(322), + 2296: uint16(322), + 2297: uint16(322), + 2298: uint16(322), + 2299: uint16(322), + 2300: uint16(322), + 2301: uint16(322), + 2302: uint16(322), + 2303: uint16(322), + 2304: uint16(322), + 2305: uint16(322), + 2306: uint16(322), + 2307: uint16(322), + 2308: uint16(322), + 2309: uint16(322), + 2310: uint16(322), + 2311: uint16(322), + 2312: uint16(322), + 2313: uint16(322), + 2314: uint16(322), + 2315: uint16(322), + 2316: uint16(322), + 2317: uint16(322), + 2318: uint16(322), + 2319: uint16(322), + 2320: uint16(322), + 2321: uint16(322), + 2322: uint16(322), + 2323: uint16(322), + 2324: uint16(322), + 2325: uint16(322), + 2326: uint16(322), + 2327: uint16(322), +} +var _yy_shift_ofst = [583]uint16{ + 0: uint16(1792), + 1: uint16(1588), + 2: uint16(1494), 3: uint16(322), 4: uint16(322), - 5: uint16(1), - 6: uint16(1319), - 7: uint16(1478), - 8: uint16(1491), - 9: uint16(1837), - 10: uint16(1837), - 11: uint16(1837), - 12: uint16(471), - 15: uint16(214), - 16: uint16(1093), - 17: uint16(1837), - 18: uint16(1837), - 19: uint16(1837), - 20: uint16(1837), - 21: uint16(1837), - 22: uint16(1837), - 23: uint16(1837), - 24: uint16(1837), - 25: uint16(1837), - 26: uint16(1837), - 27: uint16(1837), - 28: uint16(1837), - 29: uint16(1837), - 30: uint16(1837), - 31: uint16(271), - 32: uint16(271), - 33: uint16(1219), - 34: uint16(1219), - 35: uint16(216), - 36: uint16(88), - 37: uint16(1), - 38: uint16(1), - 39: uint16(1), - 40: uint16(1), - 41: uint16(1), - 42: uint16(40), - 43: uint16(111), - 44: uint16(258), - 45: uint16(361), - 46: uint16(469), - 47: uint16(512), - 48: uint16(583), - 49: uint16(622), - 50: uint16(693), - 51: uint16(732), - 52: uint16(803), - 53: uint16(842), - 54: uint16(913), - 55: uint16(1073), - 56: uint16(1093), - 57: uint16(1093), - 58: uint16(1093), - 59: uint16(1093), - 60: uint16(1093), - 61: uint16(1093), - 62: uint16(1093), - 63: uint16(1093), - 64: uint16(1093), + 5: uint16(399), + 6: uint16(306), + 7: uint16(1319), + 8: uint16(1339), + 9: uint16(1430), + 10: uint16(1828), + 11: uint16(1828), + 12: uint16(1828), + 13: uint16(580), + 14: uint16(399), + 15: uint16(399), + 16: uint16(399), + 17: uint16(399), + 18: uint16(399), + 21: uint16(214), + 22: uint16(1093), + 23: uint16(1828), + 24: uint16(1828), + 25: uint16(1828), + 26: uint16(1828), + 27: uint16(1828), + 28: uint16(1828), + 29: uint16(1828), + 30: uint16(1828), + 31: uint16(1828), + 32: uint16(1828), + 33: uint16(1828), + 34: uint16(1828), + 35: uint16(1828), + 36: uint16(1828), + 37: uint16(1828), + 38: uint16(1130), + 39: uint16(1130), + 40: uint16(365), + 41: uint16(365), + 42: uint16(55), + 43: uint16(278), + 44: uint16(436), + 45: uint16(713), + 46: uint16(713), + 47: uint16(201), + 48: uint16(201), + 49: uint16(201), + 50: uint16(201), + 51: uint16(40), + 52: uint16(111), + 53: uint16(258), + 54: uint16(361), + 55: uint16(469), + 56: uint16(512), + 57: uint16(583), + 58: uint16(622), + 59: uint16(693), + 60: uint16(732), + 61: uint16(803), + 62: uint16(842), + 63: uint16(913), + 64: uint16(1073), 65: uint16(1093), 66: uint16(1093), 67: uint16(1093), @@ -156853,1505 +158265,1514 @@ var _yy_shift_ofst = [579]uint16{ 71: uint16(1093), 72: uint16(1093), 73: uint16(1093), - 74: uint16(1113), + 74: uint16(1093), 75: uint16(1093), - 76: uint16(1216), - 77: uint16(957), - 78: uint16(957), - 79: uint16(1635), - 80: uint16(1662), - 81: uint16(1777), - 82: uint16(1837), - 83: uint16(1837), - 84: uint16(1837), - 85: uint16(1837), - 86: uint16(1837), - 87: uint16(1837), - 88: uint16(1837), - 89: uint16(1837), - 90: uint16(1837), - 91: uint16(1837), - 92: uint16(1837), - 93: uint16(1837), - 94: uint16(1837), - 95: uint16(1837), - 96: uint16(1837), - 97: uint16(1837), - 98: uint16(1837), - 99: uint16(1837), - 100: uint16(1837), - 101: uint16(1837), - 102: uint16(1837), - 103: uint16(1837), - 104: uint16(1837), - 105: uint16(1837), - 106: uint16(1837), - 107: uint16(1837), - 108: uint16(1837), - 109: uint16(1837), - 110: uint16(1837), - 111: uint16(1837), - 112: uint16(1837), - 113: uint16(1837), - 114: uint16(1837), - 115: uint16(1837), - 116: uint16(1837), - 117: uint16(1837), - 118: uint16(1837), - 119: uint16(1837), - 120: uint16(1837), - 121: uint16(1837), - 122: uint16(1837), - 123: uint16(1837), - 124: uint16(1837), - 125: uint16(1837), - 126: uint16(1837), - 127: uint16(1837), - 128: uint16(1837), - 129: uint16(1837), - 130: uint16(1837), - 131: uint16(137), - 132: uint16(181), - 133: uint16(181), - 134: uint16(181), - 135: uint16(181), - 136: uint16(181), - 137: uint16(181), - 138: uint16(181), - 139: uint16(94), - 140: uint16(430), - 141: uint16(66), - 142: uint16(65), - 143: uint16(112), - 144: uint16(366), - 145: uint16(533), - 146: uint16(533), - 147: uint16(740), - 148: uint16(1257), - 149: uint16(533), - 150: uint16(533), - 151: uint16(79), - 152: uint16(79), - 153: uint16(533), - 154: uint16(412), - 155: uint16(412), - 156: uint16(412), - 157: uint16(77), - 158: uint16(412), - 159: uint16(123), - 160: uint16(113), - 161: uint16(113), - 162: uint16(113), - 163: uint16(22), - 164: uint16(22), - 165: uint16(2100), - 166: uint16(2100), - 167: uint16(328), - 168: uint16(328), - 169: uint16(328), - 170: uint16(239), - 171: uint16(468), - 172: uint16(468), - 173: uint16(468), - 174: uint16(468), - 175: uint16(1015), - 176: uint16(1015), - 177: uint16(409), - 178: uint16(366), - 179: uint16(1187), - 180: uint16(1232), - 181: uint16(533), - 182: uint16(533), - 183: uint16(533), - 184: uint16(533), - 185: uint16(533), - 186: uint16(533), - 187: uint16(533), - 188: uint16(533), - 189: uint16(533), - 190: uint16(533), - 191: uint16(533), - 192: uint16(533), - 193: uint16(533), - 194: uint16(533), - 195: uint16(533), - 196: uint16(533), - 197: uint16(533), - 198: uint16(533), - 199: uint16(533), - 200: uint16(533), - 201: uint16(969), - 202: uint16(621), - 203: uint16(621), - 204: uint16(533), - 205: uint16(642), - 206: uint16(788), - 207: uint16(788), - 208: uint16(1133), - 209: uint16(1133), - 210: uint16(822), - 211: uint16(822), - 212: uint16(67), - 213: uint16(1193), - 214: uint16(2100), - 215: uint16(2100), - 216: uint16(2100), - 217: uint16(2100), - 218: uint16(2100), - 219: uint16(2100), - 220: uint16(2100), - 221: uint16(1307), - 222: uint16(954), - 223: uint16(954), - 224: uint16(585), - 225: uint16(472), - 226: uint16(640), - 227: uint16(387), - 228: uint16(695), - 229: uint16(538), - 230: uint16(541), - 231: uint16(700), - 232: uint16(533), - 233: uint16(533), - 234: uint16(533), - 235: uint16(533), - 236: uint16(533), - 237: uint16(533), - 238: uint16(533), - 239: uint16(533), - 240: uint16(533), - 241: uint16(533), - 242: uint16(222), - 243: uint16(533), - 244: uint16(533), - 245: uint16(533), - 246: uint16(533), - 247: uint16(533), - 248: uint16(533), - 249: uint16(533), - 250: uint16(533), - 251: uint16(533), - 252: uint16(533), - 253: uint16(533), - 254: uint16(533), - 255: uint16(1213), - 256: uint16(1213), - 257: uint16(1213), - 258: uint16(533), - 259: uint16(533), - 260: uint16(533), - 261: uint16(565), - 262: uint16(533), - 263: uint16(533), - 264: uint16(533), - 265: uint16(916), - 266: uint16(1147), - 267: uint16(533), - 268: uint16(533), - 269: uint16(1288), - 270: uint16(533), - 271: uint16(533), - 272: uint16(533), - 273: uint16(533), - 274: uint16(533), - 275: uint16(533), - 276: uint16(533), - 277: uint16(533), - 278: uint16(639), - 279: uint16(1280), - 280: uint16(209), - 281: uint16(1129), - 282: uint16(1129), - 283: uint16(1129), - 284: uint16(1129), - 285: uint16(580), - 286: uint16(209), - 287: uint16(209), - 288: uint16(1209), - 289: uint16(768), - 290: uint16(917), - 291: uint16(649), - 292: uint16(1315), - 293: uint16(1334), - 294: uint16(405), - 295: uint16(1334), - 296: uint16(1383), - 297: uint16(249), - 298: uint16(1315), - 299: uint16(1315), - 300: uint16(249), - 301: uint16(1315), - 302: uint16(405), - 303: uint16(1383), - 304: uint16(1441), - 305: uint16(464), - 306: uint16(1245), - 307: uint16(1417), - 308: uint16(1417), - 309: uint16(1417), - 310: uint16(1323), - 311: uint16(1323), - 312: uint16(1323), - 313: uint16(1323), - 314: uint16(184), - 315: uint16(184), - 316: uint16(1335), - 317: uint16(1476), - 318: uint16(856), - 319: uint16(1482), - 320: uint16(1744), - 321: uint16(1744), - 322: uint16(1665), - 323: uint16(1665), - 324: uint16(1773), - 325: uint16(1773), - 326: uint16(1665), - 327: uint16(1669), - 328: uint16(1671), - 329: uint16(1802), - 330: uint16(1782), - 331: uint16(1809), - 332: uint16(1809), - 333: uint16(1809), - 334: uint16(1809), - 335: uint16(1665), - 336: uint16(1817), - 337: uint16(1690), - 338: uint16(1671), - 339: uint16(1671), - 340: uint16(1690), - 341: uint16(1802), - 342: uint16(1782), - 343: uint16(1690), - 344: uint16(1782), - 345: uint16(1690), - 346: uint16(1665), - 347: uint16(1817), - 348: uint16(1693), - 349: uint16(1791), - 350: uint16(1665), - 351: uint16(1817), - 352: uint16(1832), - 353: uint16(1665), - 354: uint16(1817), - 355: uint16(1665), - 356: uint16(1817), - 357: uint16(1832), - 358: uint16(1752), - 359: uint16(1752), - 360: uint16(1752), - 361: uint16(1805), - 362: uint16(1850), - 363: uint16(1850), - 364: uint16(1832), - 365: uint16(1752), - 366: uint16(1749), - 367: uint16(1752), - 368: uint16(1805), - 369: uint16(1752), - 370: uint16(1752), - 371: uint16(1713), - 372: uint16(1858), - 373: uint16(1775), - 374: uint16(1775), - 375: uint16(1832), - 376: uint16(1665), - 377: uint16(1799), - 378: uint16(1799), - 379: uint16(1823), - 380: uint16(1823), - 381: uint16(1761), - 382: uint16(1765), - 383: uint16(1890), - 384: uint16(1665), - 385: uint16(1757), - 386: uint16(1761), - 387: uint16(1771), - 388: uint16(1774), - 389: uint16(1690), - 390: uint16(1894), - 391: uint16(1913), - 392: uint16(1913), - 393: uint16(1929), - 394: uint16(1929), - 395: uint16(1929), - 396: uint16(2100), - 397: uint16(2100), - 398: uint16(2100), - 399: uint16(2100), - 400: uint16(2100), - 401: uint16(2100), - 402: uint16(2100), - 403: uint16(2100), - 404: uint16(2100), - 405: uint16(2100), - 406: uint16(2100), - 407: uint16(2100), - 408: uint16(2100), - 409: uint16(2100), - 410: uint16(2100), - 411: uint16(207), - 412: uint16(1220), - 413: uint16(331), - 414: uint16(620), - 415: uint16(967), - 416: uint16(806), - 417: uint16(1074), - 418: uint16(1499), - 419: uint16(1432), - 420: uint16(1463), - 421: uint16(1479), - 422: uint16(1419), - 423: uint16(1422), - 424: uint16(1557), - 425: uint16(1512), - 426: uint16(1598), - 427: uint16(1599), - 428: uint16(1644), - 429: uint16(1645), - 430: uint16(1654), - 431: uint16(1660), - 432: uint16(1555), - 433: uint16(1505), - 434: uint16(1684), - 435: uint16(1462), - 436: uint16(1670), - 437: uint16(1563), - 438: uint16(1619), - 439: uint16(1593), - 440: uint16(1676), - 441: uint16(1679), - 442: uint16(1613), - 443: uint16(1680), - 444: uint16(1554), - 445: uint16(1558), - 446: uint16(1689), - 447: uint16(1692), - 448: uint16(1605), - 449: uint16(1589), - 450: uint16(1955), - 451: uint16(1959), - 452: uint16(1941), - 453: uint16(1803), - 454: uint16(1950), - 455: uint16(1951), - 456: uint16(1945), - 457: uint16(1946), - 458: uint16(1831), - 459: uint16(1820), - 460: uint16(1842), - 461: uint16(1948), - 462: uint16(1948), - 463: uint16(1952), - 464: uint16(1833), - 465: uint16(1954), - 466: uint16(1834), - 467: uint16(1961), - 468: uint16(1978), - 469: uint16(1838), - 470: uint16(1851), - 471: uint16(1948), - 472: uint16(1852), - 473: uint16(1922), - 474: uint16(1947), - 475: uint16(1948), - 476: uint16(1836), - 477: uint16(1932), - 478: uint16(1935), - 479: uint16(1936), - 480: uint16(1942), - 481: uint16(1866), - 482: uint16(1881), - 483: uint16(1964), - 484: uint16(1859), - 485: uint16(1998), - 486: uint16(1996), - 487: uint16(1980), - 488: uint16(1888), - 489: uint16(1843), - 490: uint16(1937), - 491: uint16(1981), - 492: uint16(1939), - 493: uint16(1933), - 494: uint16(1968), - 495: uint16(1869), - 496: uint16(1896), - 497: uint16(1988), - 498: uint16(1993), - 499: uint16(1995), - 500: uint16(1884), - 501: uint16(1891), - 502: uint16(1997), - 503: uint16(1953), - 504: uint16(1999), - 505: uint16(2000), - 506: uint16(1994), - 507: uint16(2001), - 508: uint16(1957), - 509: uint16(1966), - 510: uint16(2002), - 511: uint16(1931), - 512: uint16(1990), - 513: uint16(2006), - 514: uint16(1962), - 515: uint16(2003), - 516: uint16(2007), - 517: uint16(2004), - 518: uint16(1882), - 519: uint16(2010), - 520: uint16(2011), - 521: uint16(2012), - 522: uint16(2008), - 523: uint16(2013), - 524: uint16(2015), - 525: uint16(1944), - 526: uint16(1898), - 527: uint16(2019), - 528: uint16(2020), - 529: uint16(1928), - 530: uint16(2014), - 531: uint16(2023), - 532: uint16(1903), - 533: uint16(2022), - 534: uint16(2016), - 535: uint16(2017), - 536: uint16(2018), - 537: uint16(2021), - 538: uint16(1965), - 539: uint16(1974), - 540: uint16(1970), - 541: uint16(2024), - 542: uint16(1979), - 543: uint16(1967), - 544: uint16(2025), - 545: uint16(2034), - 546: uint16(2036), - 547: uint16(2037), - 548: uint16(2038), - 549: uint16(2039), - 550: uint16(2028), - 551: uint16(1923), - 552: uint16(1924), - 553: uint16(2044), - 554: uint16(2022), - 555: uint16(2046), - 556: uint16(2047), - 557: uint16(2048), - 558: uint16(2049), - 559: uint16(2050), - 560: uint16(2051), - 561: uint16(2054), - 562: uint16(2062), - 563: uint16(2055), - 564: uint16(2056), - 565: uint16(2057), - 566: uint16(2058), - 567: uint16(2060), - 568: uint16(2061), - 569: uint16(2059), - 570: uint16(1956), - 571: uint16(1938), - 572: uint16(1949), - 573: uint16(1958), - 574: uint16(2063), - 575: uint16(2064), - 576: uint16(2070), - 577: uint16(2085), - 578: uint16(2088), -} -var _yy_reduce_ofst = [411]int16{ - 0: int16(-int32(125)), - 1: int16(733), - 2: int16(789), - 3: int16(241), - 4: int16(293), - 5: int16(-int32(123)), - 6: int16(-int32(193)), - 7: int16(-int32(191)), - 8: int16(-int32(183)), - 9: int16(-int32(187)), - 10: int16(166), - 11: int16(238), - 12: int16(133), - 13: int16(-int32(207)), - 14: int16(-int32(199)), - 15: int16(-int32(267)), - 16: int16(-int32(176)), - 17: int16(-int32(6)), - 18: int16(204), - 19: int16(489), - 20: int16(576), - 21: int16(598), - 22: int16(-int32(175)), - 23: int16(686), - 24: int16(860), - 25: int16(615), - 26: int16(725), - 27: int16(1014), - 28: int16(778), - 29: int16(781), - 30: int16(857), - 31: int16(616), - 32: int16(887), - 33: int16(87), - 34: int16(240), - 35: int16(-int32(192)), - 36: int16(408), - 37: int16(626), - 38: int16(796), - 39: int16(843), - 40: int16(854), - 41: int16(1004), - 42: int16(-int32(271)), - 43: int16(-int32(271)), - 44: int16(-int32(271)), - 45: int16(-int32(271)), - 46: int16(-int32(271)), - 47: int16(-int32(271)), - 48: int16(-int32(271)), - 49: int16(-int32(271)), - 50: int16(-int32(271)), - 51: int16(-int32(271)), - 52: int16(-int32(271)), - 53: int16(-int32(271)), - 54: int16(-int32(271)), - 55: int16(-int32(271)), - 56: int16(-int32(271)), - 57: int16(-int32(271)), - 58: int16(-int32(271)), - 59: int16(-int32(271)), - 60: int16(-int32(271)), - 61: int16(-int32(271)), - 62: int16(-int32(271)), - 63: int16(-int32(271)), - 64: int16(-int32(271)), - 65: int16(-int32(271)), - 66: int16(-int32(271)), - 67: int16(-int32(271)), - 68: int16(-int32(271)), - 69: int16(-int32(271)), - 70: int16(-int32(271)), - 71: int16(-int32(271)), - 72: int16(-int32(271)), - 73: int16(-int32(271)), - 74: int16(-int32(271)), - 75: int16(-int32(271)), - 76: int16(-int32(271)), - 77: int16(-int32(271)), - 78: int16(-int32(271)), - 79: int16(80), - 80: int16(83), - 81: int16(313), - 82: int16(886), - 83: int16(888), - 84: int16(918), - 85: int16(938), - 86: int16(1021), - 87: int16(1034), - 88: int16(1036), - 89: int16(1141), - 90: int16(1159), - 91: int16(1163), - 92: int16(1166), - 93: int16(1168), - 94: int16(1170), - 95: int16(1176), - 96: int16(1178), - 97: int16(1180), - 98: int16(1184), - 99: int16(1196), - 100: int16(1198), - 101: int16(1205), - 102: int16(1215), - 103: int16(1225), - 104: int16(1227), - 105: int16(1236), - 106: int16(1252), - 107: int16(1254), - 108: int16(1264), - 109: int16(1303), - 110: int16(1309), - 111: int16(1312), - 112: int16(1322), - 113: int16(1325), - 114: int16(1328), - 115: int16(1337), - 116: int16(1340), - 117: int16(1343), - 118: int16(1353), - 119: int16(1371), - 120: int16(1373), - 121: int16(1384), - 122: int16(1386), - 123: int16(1411), - 124: int16(1413), - 125: int16(1420), - 126: int16(1424), - 127: int16(1426), - 128: int16(1458), - 129: int16(1470), - 130: int16(1473), - 131: int16(-int32(271)), - 132: int16(-int32(271)), - 133: int16(-int32(271)), - 134: int16(-int32(271)), - 135: int16(-int32(271)), - 136: int16(-int32(271)), - 137: int16(-int32(271)), - 138: int16(-int32(271)), - 139: int16(-int32(271)), - 140: int16(-int32(271)), - 141: int16(-int32(271)), - 142: int16(138), - 143: int16(459), - 144: int16(396), - 145: int16(-int32(158)), - 146: int16(470), - 147: int16(302), - 148: int16(-int32(212)), - 149: int16(521), - 150: int16(201), - 151: int16(-int32(195)), - 152: int16(-int32(92)), - 153: int16(559), - 154: int16(630), - 155: int16(632), - 156: int16(630), - 157: int16(-int32(271)), - 158: int16(632), - 159: int16(901), - 160: int16(63), - 161: int16(407), - 162: int16(670), - 163: int16(-int32(271)), - 164: int16(-int32(271)), - 165: int16(-int32(271)), - 166: int16(-int32(271)), - 167: int16(161), - 168: int16(161), - 169: int16(161), - 170: int16(251), - 171: int16(335), - 172: int16(847), - 173: int16(979), - 174: int16(1097), - 175: int16(537), - 176: int16(588), - 177: int16(618), - 178: int16(628), - 179: int16(688), - 180: int16(688), - 181: int16(-int32(166)), - 182: int16(-int32(161)), - 183: int16(674), - 184: int16(787), - 185: int16(794), - 186: int16(799), - 187: int16(852), - 188: int16(996), - 189: int16(-int32(122)), - 190: int16(837), - 191: int16(-int32(120)), - 192: int16(1018), - 193: int16(1035), - 194: int16(415), - 195: int16(1047), - 196: int16(1001), - 197: int16(958), - 198: int16(1082), - 199: int16(400), - 200: int16(1099), - 201: int16(779), - 202: int16(1137), - 203: int16(1142), - 204: int16(263), - 205: int16(1083), - 206: int16(1145), - 207: int16(1150), - 208: int16(1041), - 209: int16(1139), - 210: int16(965), - 211: int16(1050), - 212: int16(362), - 213: int16(849), - 214: int16(752), - 215: int16(629), - 216: int16(675), - 217: int16(1162), - 218: int16(1173), - 219: int16(1090), - 220: int16(1195), - 221: int16(-int32(194)), - 222: int16(56), - 223: int16(185), - 224: int16(-int32(135)), - 225: int16(232), - 226: int16(522), - 227: int16(560), - 228: int16(571), - 229: int16(601), - 230: int16(617), - 231: int16(669), - 232: int16(683), - 233: int16(711), - 234: int16(850), - 235: int16(893), - 236: int16(1000), - 237: int16(1040), - 238: int16(1049), - 239: int16(1081), - 240: int16(1087), - 241: int16(1101), - 242: int16(392), - 243: int16(1114), - 244: int16(1123), - 245: int16(1155), - 246: int16(1161), - 247: int16(1175), - 248: int16(1271), - 249: int16(1293), - 250: int16(1299), - 251: int16(1330), - 252: int16(1339), - 253: int16(1342), - 254: int16(1347), - 255: int16(593), - 256: int16(1282), - 257: int16(1286), - 258: int16(1350), - 259: int16(1359), - 260: int16(1368), - 261: int16(1314), - 262: int16(1480), - 263: int16(1483), - 264: int16(1507), - 265: int16(1085), - 266: int16(1338), - 267: int16(1526), - 268: int16(1527), - 269: int16(1487), - 270: int16(1531), - 271: int16(560), - 272: int16(1532), - 273: int16(1534), - 274: int16(1535), - 275: int16(1538), - 276: int16(1539), - 277: int16(1541), - 278: int16(1448), - 279: int16(1450), - 280: int16(1496), - 281: int16(1484), - 282: int16(1485), - 283: int16(1489), - 284: int16(1490), - 285: int16(1314), - 286: int16(1496), - 287: int16(1496), - 288: int16(1504), - 289: int16(1536), - 290: int16(1564), - 291: int16(1451), - 292: int16(1486), - 293: int16(1492), - 294: int16(1509), - 295: int16(1493), - 296: int16(1465), - 297: int16(1515), - 298: int16(1494), - 299: int16(1495), - 300: int16(1517), - 301: int16(1500), - 302: int16(1519), - 303: int16(1474), - 304: int16(1550), - 305: int16(1543), - 306: int16(1548), - 307: int16(1556), - 308: int16(1565), - 309: int16(1566), - 310: int16(1518), - 311: int16(1523), - 312: int16(1542), - 313: int16(1544), - 314: int16(1525), - 315: int16(1545), - 316: int16(1513), - 317: int16(1553), - 318: int16(1552), - 319: int16(1604), - 320: int16(1508), - 321: int16(1510), - 322: int16(1608), - 323: int16(1609), - 324: int16(1520), - 325: int16(1528), - 326: int16(1612), - 327: int16(1540), - 328: int16(1559), - 329: int16(1560), - 330: int16(1592), - 331: int16(1591), - 332: int16(1595), - 333: int16(1596), - 334: int16(1597), - 335: int16(1629), - 336: int16(1638), - 337: int16(1594), - 338: int16(1569), - 339: int16(1570), - 340: int16(1600), - 341: int16(1568), - 342: int16(1610), - 343: int16(1601), - 344: int16(1611), - 345: int16(1603), - 346: int16(1643), - 347: int16(1651), - 348: int16(1562), - 349: int16(1571), - 350: int16(1655), - 351: int16(1659), - 352: int16(1640), - 353: int16(1663), - 354: int16(1666), - 355: int16(1664), - 356: int16(1667), - 357: int16(1641), - 358: int16(1650), - 359: int16(1652), - 360: int16(1653), - 361: int16(1647), - 362: int16(1656), - 363: int16(1657), - 364: int16(1658), - 365: int16(1668), - 366: int16(1672), - 367: int16(1681), - 368: int16(1649), - 369: int16(1682), - 370: int16(1683), - 371: int16(1573), - 372: int16(1582), - 373: int16(1607), - 374: int16(1615), - 375: int16(1685), - 376: int16(1702), - 377: int16(1586), - 378: int16(1587), - 379: int16(1642), - 380: int16(1646), - 381: int16(1673), - 382: int16(1675), - 383: int16(1636), - 384: int16(1714), - 385: int16(1637), - 386: int16(1677), - 387: int16(1674), - 388: int16(1678), - 389: int16(1694), - 390: int16(1719), - 391: int16(1734), - 392: int16(1735), - 393: int16(1746), - 394: int16(1747), - 395: int16(1750), - 396: int16(1633), - 397: int16(1661), + 76: uint16(1093), + 77: uint16(1093), + 78: uint16(1093), + 79: uint16(1093), + 80: uint16(1093), + 81: uint16(1093), + 82: uint16(1093), + 83: uint16(1113), + 84: uint16(1093), + 85: uint16(1216), + 86: uint16(957), + 87: uint16(957), + 88: uint16(1523), + 89: uint16(1602), + 90: uint16(1674), + 91: uint16(1828), + 92: uint16(1828), + 93: uint16(1828), + 94: uint16(1828), + 95: uint16(1828), + 96: uint16(1828), + 97: uint16(1828), + 98: uint16(1828), + 99: uint16(1828), + 100: uint16(1828), + 101: uint16(1828), + 102: uint16(1828), + 103: uint16(1828), + 104: uint16(1828), + 105: uint16(1828), + 106: uint16(1828), + 107: uint16(1828), + 108: uint16(1828), + 109: uint16(1828), + 110: uint16(1828), + 111: uint16(1828), + 112: uint16(1828), + 113: uint16(1828), + 114: uint16(1828), + 115: uint16(1828), + 116: uint16(1828), + 117: uint16(1828), + 118: uint16(1828), + 119: uint16(1828), + 120: uint16(1828), + 121: uint16(1828), + 122: uint16(1828), + 123: uint16(1828), + 124: uint16(1828), + 125: uint16(1828), + 126: uint16(1828), + 127: uint16(1828), + 128: uint16(1828), + 129: uint16(1828), + 130: uint16(1828), + 131: uint16(1828), + 132: uint16(1828), + 133: uint16(1828), + 134: uint16(1828), + 135: uint16(1828), + 136: uint16(1828), + 137: uint16(1828), + 138: uint16(1828), + 139: uint16(1828), + 140: uint16(137), + 141: uint16(181), + 142: uint16(181), + 143: uint16(181), + 144: uint16(181), + 145: uint16(181), + 146: uint16(181), + 147: uint16(181), + 148: uint16(96), + 149: uint16(222), + 150: uint16(143), + 151: uint16(477), + 152: uint16(713), + 153: uint16(1133), + 154: uint16(1268), + 155: uint16(713), + 156: uint16(713), + 157: uint16(79), + 158: uint16(79), + 159: uint16(713), + 160: uint16(770), + 161: uint16(83), + 162: uint16(65), + 163: uint16(65), + 164: uint16(65), + 165: uint16(288), + 166: uint16(162), + 167: uint16(162), + 168: uint16(2142), + 169: uint16(2142), + 170: uint16(696), + 171: uint16(696), + 172: uint16(696), + 173: uint16(238), + 174: uint16(474), + 175: uint16(474), + 176: uint16(474), + 177: uint16(474), + 178: uint16(1217), + 179: uint16(1217), + 180: uint16(678), + 181: uint16(477), + 182: uint16(324), + 183: uint16(398), + 184: uint16(713), + 185: uint16(713), + 186: uint16(713), + 187: uint16(713), + 188: uint16(713), + 189: uint16(713), + 190: uint16(713), + 191: uint16(713), + 192: uint16(713), + 193: uint16(713), + 194: uint16(713), + 195: uint16(713), + 196: uint16(713), + 197: uint16(713), + 198: uint16(713), + 199: uint16(713), + 200: uint16(713), + 201: uint16(713), + 202: uint16(713), + 203: uint16(1220), + 204: uint16(366), + 205: uint16(366), + 206: uint16(713), + 207: uint16(917), + 208: uint16(283), + 209: uint16(283), + 210: uint16(434), + 211: uint16(434), + 212: uint16(605), + 213: uint16(605), + 214: uint16(1298), + 215: uint16(2142), + 216: uint16(2142), + 217: uint16(2142), + 218: uint16(2142), + 219: uint16(2142), + 220: uint16(2142), + 221: uint16(2142), + 222: uint16(1179), + 223: uint16(1157), + 224: uint16(1157), + 225: uint16(487), + 226: uint16(527), + 227: uint16(585), + 228: uint16(645), + 229: uint16(749), + 230: uint16(914), + 231: uint16(968), + 232: uint16(752), + 233: uint16(713), + 234: uint16(713), + 235: uint16(713), + 236: uint16(713), + 237: uint16(713), + 238: uint16(713), + 239: uint16(713), + 240: uint16(713), + 241: uint16(713), + 242: uint16(713), + 243: uint16(303), + 244: uint16(713), + 245: uint16(713), + 246: uint16(713), + 247: uint16(713), + 248: uint16(713), + 249: uint16(713), + 250: uint16(713), + 251: uint16(713), + 252: uint16(713), + 253: uint16(713), + 254: uint16(713), + 255: uint16(713), + 256: uint16(797), + 257: uint16(797), + 258: uint16(797), + 259: uint16(713), + 260: uint16(713), + 261: uint16(713), + 262: uint16(959), + 263: uint16(713), + 264: uint16(713), + 265: uint16(713), + 266: uint16(1169), + 267: uint16(1271), + 268: uint16(713), + 269: uint16(713), + 270: uint16(1330), + 271: uint16(713), + 272: uint16(713), + 273: uint16(713), + 274: uint16(713), + 275: uint16(713), + 276: uint16(713), + 277: uint16(713), + 278: uint16(713), + 279: uint16(629), + 280: uint16(7), + 281: uint16(91), + 282: uint16(876), + 283: uint16(876), + 284: uint16(876), + 285: uint16(876), + 286: uint16(953), + 287: uint16(91), + 288: uint16(91), + 289: uint16(1246), + 290: uint16(1065), + 291: uint16(1106), + 292: uint16(1374), + 293: uint16(1329), + 294: uint16(1348), + 295: uint16(468), + 296: uint16(1348), + 297: uint16(1394), + 298: uint16(785), + 299: uint16(1329), + 300: uint16(1329), + 301: uint16(785), + 302: uint16(1329), + 303: uint16(468), + 304: uint16(1394), + 305: uint16(859), + 306: uint16(854), + 307: uint16(1402), + 308: uint16(1449), + 309: uint16(1449), + 310: uint16(1449), + 311: uint16(1173), + 312: uint16(1173), + 313: uint16(1173), + 314: uint16(1173), + 315: uint16(1355), + 316: uint16(1355), + 317: uint16(1030), + 318: uint16(1341), + 319: uint16(405), + 320: uint16(1230), + 321: uint16(1795), + 322: uint16(1795), + 323: uint16(1711), + 324: uint16(1711), + 325: uint16(1829), + 326: uint16(1829), + 327: uint16(1711), + 328: uint16(1717), + 329: uint16(1719), + 330: uint16(1850), + 331: uint16(1833), + 332: uint16(1860), + 333: uint16(1860), + 334: uint16(1860), + 335: uint16(1860), + 336: uint16(1711), + 337: uint16(1868), + 338: uint16(1740), + 339: uint16(1719), + 340: uint16(1719), + 341: uint16(1740), + 342: uint16(1850), + 343: uint16(1833), + 344: uint16(1740), + 345: uint16(1833), + 346: uint16(1740), + 347: uint16(1711), + 348: uint16(1868), + 349: uint16(1745), + 350: uint16(1843), + 351: uint16(1711), + 352: uint16(1868), + 353: uint16(1887), + 354: uint16(1711), + 355: uint16(1868), + 356: uint16(1711), + 357: uint16(1868), + 358: uint16(1887), + 359: uint16(1801), + 360: uint16(1801), + 361: uint16(1801), + 362: uint16(1855), + 363: uint16(1900), + 364: uint16(1900), + 365: uint16(1887), + 366: uint16(1801), + 367: uint16(1797), + 368: uint16(1801), + 369: uint16(1855), + 370: uint16(1801), + 371: uint16(1801), + 372: uint16(1761), + 373: uint16(1912), + 374: uint16(1830), + 375: uint16(1830), + 376: uint16(1887), + 377: uint16(1711), + 378: uint16(1862), + 379: uint16(1862), + 380: uint16(1875), + 381: uint16(1875), + 382: uint16(1810), + 383: uint16(1815), + 384: uint16(1940), + 385: uint16(1711), + 386: uint16(1807), + 387: uint16(1810), + 388: uint16(1821), + 389: uint16(1823), + 390: uint16(1740), + 391: uint16(1945), + 392: uint16(1963), + 393: uint16(1963), + 394: uint16(1974), + 395: uint16(1974), + 396: uint16(1974), + 397: uint16(2142), + 398: uint16(2142), + 399: uint16(2142), + 400: uint16(2142), + 401: uint16(2142), + 402: uint16(2142), + 403: uint16(2142), + 404: uint16(2142), + 405: uint16(2142), + 406: uint16(2142), + 407: uint16(2142), + 408: uint16(2142), + 409: uint16(2142), + 410: uint16(2142), + 411: uint16(2142), + 412: uint16(20), + 413: uint16(1224), + 414: uint16(256), + 415: uint16(1111), + 416: uint16(1115), + 417: uint16(1114), + 418: uint16(1192), + 419: uint16(1496), + 420: uint16(1424), + 421: uint16(1505), + 422: uint16(1427), + 423: uint16(355), + 424: uint16(1383), + 425: uint16(1537), + 426: uint16(1506), + 427: uint16(1538), + 428: uint16(1553), + 429: uint16(1583), + 430: uint16(1584), + 431: uint16(1591), + 432: uint16(1625), + 433: uint16(541), + 434: uint16(1445), + 435: uint16(1562), + 436: uint16(1450), + 437: uint16(1572), + 438: uint16(1515), + 439: uint16(1428), + 440: uint16(1532), + 441: uint16(1592), + 442: uint16(1629), + 443: uint16(1520), + 444: uint16(1630), + 445: uint16(1639), + 446: uint16(1510), + 447: uint16(1544), + 448: uint16(1662), + 449: uint16(1675), + 450: uint16(1551), + 451: uint16(48), + 452: uint16(1996), + 453: uint16(2001), + 454: uint16(1983), + 455: uint16(1844), + 456: uint16(1993), + 457: uint16(1994), + 458: uint16(1986), + 459: uint16(1989), + 460: uint16(1874), + 461: uint16(1863), + 462: uint16(1885), + 463: uint16(1991), + 464: uint16(1991), + 465: uint16(1995), + 466: uint16(1876), + 467: uint16(1997), + 468: uint16(1877), + 469: uint16(2004), + 470: uint16(2021), + 471: uint16(1881), + 472: uint16(1894), + 473: uint16(1991), + 474: uint16(1895), + 475: uint16(1965), + 476: uint16(1990), + 477: uint16(1991), + 478: uint16(1878), + 479: uint16(1975), + 480: uint16(1977), + 481: uint16(1978), + 482: uint16(1979), + 483: uint16(1903), + 484: uint16(1918), + 485: uint16(2002), + 486: uint16(1896), + 487: uint16(2034), + 488: uint16(2033), + 489: uint16(2017), + 490: uint16(1925), + 491: uint16(1880), + 492: uint16(1976), + 493: uint16(2018), + 494: uint16(1980), + 495: uint16(1967), + 496: uint16(2005), + 497: uint16(1904), + 498: uint16(1932), + 499: uint16(2025), + 500: uint16(2030), + 501: uint16(2032), + 502: uint16(1921), + 503: uint16(1928), + 504: uint16(2035), + 505: uint16(1987), + 506: uint16(2036), + 507: uint16(2037), + 508: uint16(2038), + 509: uint16(2040), + 510: uint16(1988), + 511: uint16(2006), + 512: uint16(2039), + 513: uint16(1960), + 514: uint16(2041), + 515: uint16(2042), + 516: uint16(1999), + 517: uint16(2023), + 518: uint16(2044), + 519: uint16(2043), + 520: uint16(1919), + 521: uint16(2048), + 522: uint16(2049), + 523: uint16(2050), + 524: uint16(2046), + 525: uint16(2051), + 526: uint16(2053), + 527: uint16(1981), + 528: uint16(1935), + 529: uint16(2056), + 530: uint16(2057), + 531: uint16(1966), + 532: uint16(2047), + 533: uint16(2061), + 534: uint16(1941), + 535: uint16(2060), + 536: uint16(2052), + 537: uint16(2054), + 538: uint16(2055), + 539: uint16(2058), + 540: uint16(2003), + 541: uint16(2012), + 542: uint16(2007), + 543: uint16(2059), + 544: uint16(2015), + 545: uint16(2008), + 546: uint16(2062), + 547: uint16(2071), + 548: uint16(2073), + 549: uint16(2074), + 550: uint16(2072), + 551: uint16(2075), + 552: uint16(2065), + 553: uint16(1962), + 554: uint16(1964), + 555: uint16(2079), + 556: uint16(2060), + 557: uint16(2082), + 558: uint16(2084), + 559: uint16(2085), + 560: uint16(2087), + 561: uint16(2086), + 562: uint16(2089), + 563: uint16(2088), + 564: uint16(2091), + 565: uint16(2093), + 566: uint16(2099), + 567: uint16(2094), + 568: uint16(2095), + 569: uint16(2096), + 570: uint16(2097), + 571: uint16(2100), + 572: uint16(2101), + 573: uint16(2102), + 574: uint16(1998), + 575: uint16(1984), + 576: uint16(1985), + 577: uint16(2000), + 578: uint16(2103), + 579: uint16(2098), + 580: uint16(2109), + 581: uint16(2117), + 582: uint16(2128), +} +var _yy_reduce_ofst = [412]int16{ + 0: int16(-int32(71)), + 1: int16(194), + 2: int16(343), + 3: int16(835), + 4: int16(-int32(180)), + 5: int16(-int32(177)), + 6: int16(838), + 7: int16(-int32(194)), + 8: int16(-int32(188)), + 9: int16(-int32(185)), + 10: int16(-int32(183)), + 11: int16(82), + 12: int16(183), + 13: int16(-int32(65)), + 14: int16(133), + 15: int16(245), + 16: int16(346), + 17: int16(407), + 18: int16(458), + 19: int16(-int32(178)), + 20: int16(75), + 21: int16(-int32(275)), + 22: int16(-int32(4)), + 23: int16(310), + 24: int16(312), + 25: int16(489), + 26: int16(575), + 27: int16(596), + 28: int16(463), + 29: int16(686), + 30: int16(707), + 31: int16(725), + 32: int16(780), + 33: int16(1098), + 34: int16(856), + 35: int16(778), + 36: int16(1059), + 37: int16(1090), + 38: int16(708), + 39: int16(887), + 40: int16(86), + 41: int16(448), + 42: int16(980), + 43: int16(630), + 44: int16(680), + 45: int16(681), + 46: int16(684), + 47: int16(796), + 48: int16(801), + 49: int16(796), + 50: int16(801), + 51: int16(-int32(261)), + 52: int16(-int32(261)), + 53: int16(-int32(261)), + 54: int16(-int32(261)), + 55: int16(-int32(261)), + 56: int16(-int32(261)), + 57: int16(-int32(261)), + 58: int16(-int32(261)), + 59: int16(-int32(261)), + 60: int16(-int32(261)), + 61: int16(-int32(261)), + 62: int16(-int32(261)), + 63: int16(-int32(261)), + 64: int16(-int32(261)), + 65: int16(-int32(261)), + 66: int16(-int32(261)), + 67: int16(-int32(261)), + 68: int16(-int32(261)), + 69: int16(-int32(261)), + 70: int16(-int32(261)), + 71: int16(-int32(261)), + 72: int16(-int32(261)), + 73: int16(-int32(261)), + 74: int16(-int32(261)), + 75: int16(-int32(261)), + 76: int16(-int32(261)), + 77: int16(-int32(261)), + 78: int16(-int32(261)), + 79: int16(-int32(261)), + 80: int16(-int32(261)), + 81: int16(-int32(261)), + 82: int16(-int32(261)), + 83: int16(-int32(261)), + 84: int16(-int32(261)), + 85: int16(-int32(261)), + 86: int16(-int32(261)), + 87: int16(-int32(261)), + 88: int16(391), + 89: int16(886), + 90: int16(888), + 91: int16(1013), + 92: int16(1016), + 93: int16(1081), + 94: int16(1087), + 95: int16(1151), + 96: int16(1159), + 97: int16(1177), + 98: int16(1185), + 99: int16(1188), + 100: int16(1190), + 101: int16(1194), + 102: int16(1197), + 103: int16(1203), + 104: int16(1247), + 105: int16(1260), + 106: int16(1264), + 107: int16(1267), + 108: int16(1269), + 109: int16(1273), + 110: int16(1315), + 111: int16(1322), + 112: int16(1335), + 113: int16(1337), + 114: int16(1356), + 115: int16(1362), + 116: int16(1418), + 117: int16(1425), + 118: int16(1453), + 119: int16(1457), + 120: int16(1465), + 121: int16(1473), + 122: int16(1487), + 123: int16(1495), + 124: int16(1507), + 125: int16(1517), + 126: int16(1521), + 127: int16(1534), + 128: int16(1543), + 129: int16(1546), + 130: int16(1549), + 131: int16(1552), + 132: int16(1554), + 133: int16(1560), + 134: int16(1581), + 135: int16(1590), + 136: int16(1593), + 137: int16(1595), + 138: int16(1621), + 139: int16(1623), + 140: int16(-int32(261)), + 141: int16(-int32(261)), + 142: int16(-int32(261)), + 143: int16(-int32(261)), + 144: int16(-int32(261)), + 145: int16(-int32(261)), + 146: int16(-int32(261)), + 147: int16(-int32(261)), + 148: int16(-int32(261)), + 149: int16(-int32(261)), + 150: int16(-int32(261)), + 151: int16(-int32(186)), + 152: int16(-int32(117)), + 153: int16(260), + 154: int16(263), + 155: int16(460), + 156: int16(631), + 157: int16(-int32(74)), + 158: int16(497), + 159: int16(-int32(181)), + 160: int16(-int32(261)), + 161: int16(939), + 162: int16(176), + 163: int16(274), + 164: int16(338), + 165: int16(676), + 166: int16(-int32(261)), + 167: int16(-int32(261)), + 168: int16(-int32(261)), + 169: int16(-int32(261)), + 170: int16(-int32(212)), + 171: int16(-int32(212)), + 172: int16(-int32(212)), + 173: int16(-int32(184)), + 174: int16(149), + 175: int16(777), + 176: int16(1061), + 177: int16(1103), + 178: int16(265), + 179: int16(419), + 180: int16(-int32(254)), + 181: int16(670), + 182: int16(677), + 183: int16(677), + 184: int16(-int32(11)), + 185: int16(-int32(129)), + 186: int16(184), + 187: int16(488), + 188: int16(736), + 189: int16(789), + 190: int16(805), + 191: int16(844), + 192: int16(403), + 193: int16(529), + 194: int16(579), + 195: int16(668), + 196: int16(783), + 197: int16(841), + 198: int16(1158), + 199: int16(1112), + 200: int16(806), + 201: int16(861), + 202: int16(1095), + 203: int16(846), + 204: int16(839), + 205: int16(1031), + 206: int16(-int32(189)), + 207: int16(1077), + 208: int16(1080), + 209: int16(1116), + 210: int16(1084), + 211: int16(1156), + 212: int16(1139), + 213: int16(1221), + 214: int16(46), + 215: int16(1099), + 216: int16(1037), + 217: int16(1118), + 218: int16(1171), + 219: int16(1214), + 220: int16(1210), + 221: int16(1258), + 222: int16(-int32(210)), + 223: int16(-int32(190)), + 224: int16(-int32(176)), + 225: int16(-int32(115)), + 226: int16(117), + 227: int16(262), + 228: int16(376), + 229: int16(490), + 230: int16(511), + 231: int16(520), + 232: int16(618), + 233: int16(639), + 234: int16(743), + 235: int16(901), + 236: int16(907), + 237: int16(958), + 238: int16(1014), + 239: int16(1055), + 240: int16(1108), + 241: int16(1193), + 242: int16(1244), + 243: int16(720), + 244: int16(1248), + 245: int16(1277), + 246: int16(1324), + 247: int16(1347), + 248: int16(1417), + 249: int16(1431), + 250: int16(1432), + 251: int16(1440), + 252: int16(1451), + 253: int16(1452), + 254: int16(1463), + 255: int16(1478), + 256: int16(1286), + 257: int16(1350), + 258: int16(1369), + 259: int16(1490), + 260: int16(1498), + 261: int16(1501), + 262: int16(773), + 263: int16(1509), + 264: int16(1513), + 265: int16(1528), + 266: int16(1292), + 267: int16(1367), + 268: int16(1535), + 269: int16(1536), + 270: int16(1477), + 271: int16(1542), + 272: int16(376), + 273: int16(1547), + 274: int16(1550), + 275: int16(1555), + 276: int16(1559), + 277: int16(1568), + 278: int16(1571), + 279: int16(1441), + 280: int16(1443), + 281: int16(1474), + 282: int16(1511), + 283: int16(1516), + 284: int16(1519), + 285: int16(1522), + 286: int16(773), + 287: int16(1474), + 288: int16(1474), + 289: int16(1503), + 290: int16(1567), + 291: int16(1594), + 292: int16(1484), + 293: int16(1527), + 294: int16(1556), + 295: int16(1570), + 296: int16(1557), + 297: int16(1524), + 298: int16(1573), + 299: int16(1545), + 300: int16(1548), + 301: int16(1576), + 302: int16(1561), + 303: int16(1587), + 304: int16(1540), + 305: int16(1575), + 306: int16(1606), + 307: int16(1611), + 308: int16(1622), + 309: int16(1624), + 310: int16(1626), + 311: int16(1582), + 312: int16(1597), + 313: int16(1598), + 314: int16(1599), + 315: int16(1601), + 316: int16(1603), + 317: int16(1563), + 318: int16(1608), + 319: int16(1605), + 320: int16(1604), + 321: int16(1564), + 322: int16(1566), + 323: int16(1655), + 324: int16(1660), + 325: int16(1578), + 326: int16(1579), + 327: int16(1665), + 328: int16(1586), + 329: int16(1607), + 330: int16(1610), + 331: int16(1642), + 332: int16(1641), + 333: int16(1645), + 334: int16(1646), + 335: int16(1647), + 336: int16(1679), + 337: int16(1688), + 338: int16(1644), + 339: int16(1618), + 340: int16(1619), + 341: int16(1648), + 342: int16(1628), + 343: int16(1659), + 344: int16(1649), + 345: int16(1663), + 346: int16(1650), + 347: int16(1700), + 348: int16(1702), + 349: int16(1612), + 350: int16(1615), + 351: int16(1706), + 352: int16(1708), + 353: int16(1689), + 354: int16(1709), + 355: int16(1712), + 356: int16(1713), + 357: int16(1715), + 358: int16(1691), + 359: int16(1698), + 360: int16(1699), + 361: int16(1701), + 362: int16(1693), + 363: int16(1704), + 364: int16(1707), + 365: int16(1705), + 366: int16(1714), + 367: int16(1703), + 368: int16(1718), + 369: int16(1710), + 370: int16(1720), + 371: int16(1721), + 372: int16(1632), + 373: int16(1634), + 374: int16(1664), + 375: int16(1666), + 376: int16(1729), + 377: int16(1751), + 378: int16(1635), + 379: int16(1636), + 380: int16(1692), + 381: int16(1694), + 382: int16(1716), + 383: int16(1722), + 384: int16(1684), + 385: int16(1763), + 386: int16(1685), + 387: int16(1723), + 388: int16(1724), + 389: int16(1727), + 390: int16(1730), + 391: int16(1768), + 392: int16(1783), + 393: int16(1784), + 394: int16(1793), + 395: int16(1794), + 396: int16(1796), + 397: int16(1683), 398: int16(1686), - 399: int16(1738), - 400: int16(1728), - 401: int16(1733), - 402: int16(1736), - 403: int16(1737), - 404: int16(1740), - 405: int16(1726), - 406: int16(1730), - 407: int16(1742), - 408: int16(1743), - 409: int16(1748), - 410: int16(1753), -} -var _yy_default = [579]uint16{ - 0: uint16(1648), - 1: uint16(1648), - 2: uint16(1648), - 3: uint16(1478), - 4: uint16(1243), - 5: uint16(1354), - 6: uint16(1243), - 7: uint16(1243), - 8: uint16(1243), - 9: uint16(1478), - 10: uint16(1478), - 11: uint16(1478), - 12: uint16(1243), - 13: uint16(1384), - 14: uint16(1384), - 15: uint16(1531), - 16: uint16(1276), - 17: uint16(1243), - 18: uint16(1243), - 19: uint16(1243), - 20: uint16(1243), - 21: uint16(1243), - 22: uint16(1243), - 23: uint16(1243), - 24: uint16(1243), - 25: uint16(1243), - 26: uint16(1243), - 27: uint16(1243), - 28: uint16(1477), - 29: uint16(1243), - 30: uint16(1243), - 31: uint16(1243), - 32: uint16(1243), - 33: uint16(1564), - 34: uint16(1564), - 35: uint16(1243), - 36: uint16(1243), - 37: uint16(1243), - 38: uint16(1243), - 39: uint16(1243), - 40: uint16(1243), - 41: uint16(1243), - 42: uint16(1243), - 43: uint16(1393), - 44: uint16(1243), - 45: uint16(1400), - 46: uint16(1243), - 47: uint16(1243), - 48: uint16(1243), - 49: uint16(1243), - 50: uint16(1243), - 51: uint16(1479), - 52: uint16(1480), - 53: uint16(1243), - 54: uint16(1243), - 55: uint16(1243), - 56: uint16(1530), - 57: uint16(1532), - 58: uint16(1495), - 59: uint16(1407), - 60: uint16(1406), - 61: uint16(1405), - 62: uint16(1404), - 63: uint16(1513), - 64: uint16(1372), - 65: uint16(1398), - 66: uint16(1391), - 67: uint16(1395), - 68: uint16(1474), - 69: uint16(1475), - 70: uint16(1473), - 71: uint16(1626), - 72: uint16(1480), - 73: uint16(1479), - 74: uint16(1243), - 75: uint16(1394), - 76: uint16(1442), - 77: uint16(1458), - 78: uint16(1441), - 79: uint16(1243), - 80: uint16(1243), - 81: uint16(1243), - 82: uint16(1243), - 83: uint16(1243), - 84: uint16(1243), - 85: uint16(1243), - 86: uint16(1243), - 87: uint16(1243), - 88: uint16(1243), - 89: uint16(1243), - 90: uint16(1243), - 91: uint16(1243), - 92: uint16(1243), - 93: uint16(1243), - 94: uint16(1243), - 95: uint16(1243), - 96: uint16(1243), - 97: uint16(1243), - 98: uint16(1243), - 99: uint16(1243), - 100: uint16(1243), - 101: uint16(1243), - 102: uint16(1243), - 103: uint16(1243), - 104: uint16(1243), - 105: uint16(1243), - 106: uint16(1243), - 107: uint16(1243), - 108: uint16(1243), - 109: uint16(1243), - 110: uint16(1243), - 111: uint16(1243), - 112: uint16(1243), - 113: uint16(1243), - 114: uint16(1243), - 115: uint16(1243), - 116: uint16(1243), - 117: uint16(1243), - 118: uint16(1243), - 119: uint16(1243), - 120: uint16(1243), - 121: uint16(1243), - 122: uint16(1243), - 123: uint16(1243), - 124: uint16(1243), - 125: uint16(1243), - 126: uint16(1243), - 127: uint16(1243), - 128: uint16(1243), - 129: uint16(1243), - 130: uint16(1243), - 131: uint16(1450), - 132: uint16(1457), - 133: uint16(1456), - 134: uint16(1455), - 135: uint16(1464), - 136: uint16(1454), - 137: uint16(1451), - 138: uint16(1444), - 139: uint16(1443), - 140: uint16(1445), - 141: uint16(1446), - 142: uint16(1243), - 143: uint16(1243), - 144: uint16(1267), - 145: uint16(1243), - 146: uint16(1243), - 147: uint16(1264), - 148: uint16(1318), - 149: uint16(1243), - 150: uint16(1243), - 151: uint16(1243), - 152: uint16(1243), - 153: uint16(1243), - 154: uint16(1550), - 155: uint16(1549), - 156: uint16(1243), - 157: uint16(1447), - 158: uint16(1243), - 159: uint16(1276), - 160: uint16(1435), - 161: uint16(1434), - 162: uint16(1433), - 163: uint16(1461), - 164: uint16(1448), - 165: uint16(1460), - 166: uint16(1459), - 167: uint16(1538), - 168: uint16(1600), - 169: uint16(1599), - 170: uint16(1496), - 171: uint16(1243), - 172: uint16(1243), - 173: uint16(1243), - 174: uint16(1243), - 175: uint16(1243), - 176: uint16(1243), - 177: uint16(1564), - 178: uint16(1243), - 179: uint16(1243), - 180: uint16(1243), - 181: uint16(1243), - 182: uint16(1243), - 183: uint16(1243), - 184: uint16(1243), - 185: uint16(1243), - 186: uint16(1243), - 187: uint16(1243), - 188: uint16(1243), - 189: uint16(1243), - 190: uint16(1243), - 191: uint16(1243), - 192: uint16(1243), - 193: uint16(1243), - 194: uint16(1243), - 195: uint16(1243), - 196: uint16(1243), - 197: uint16(1243), - 198: uint16(1243), - 199: uint16(1243), - 200: uint16(1243), - 201: uint16(1374), - 202: uint16(1564), - 203: uint16(1564), - 204: uint16(1243), - 205: uint16(1276), - 206: uint16(1564), - 207: uint16(1564), - 208: uint16(1375), - 209: uint16(1375), - 210: uint16(1272), - 211: uint16(1272), - 212: uint16(1378), - 213: uint16(1243), - 214: uint16(1545), - 215: uint16(1345), - 216: uint16(1345), - 217: uint16(1345), - 218: uint16(1345), - 219: uint16(1354), - 220: uint16(1345), - 221: uint16(1243), - 222: uint16(1243), - 223: uint16(1243), - 224: uint16(1243), - 225: uint16(1243), - 226: uint16(1243), - 227: uint16(1243), - 228: uint16(1243), - 229: uint16(1243), - 230: uint16(1243), - 231: uint16(1243), - 232: uint16(1243), - 233: uint16(1243), - 234: uint16(1243), - 235: uint16(1243), - 236: uint16(1535), - 237: uint16(1533), - 238: uint16(1243), - 239: uint16(1243), - 240: uint16(1243), - 241: uint16(1243), - 242: uint16(1243), - 243: uint16(1243), - 244: uint16(1243), - 245: uint16(1243), - 246: uint16(1243), - 247: uint16(1243), - 248: uint16(1243), - 249: uint16(1243), - 250: uint16(1243), - 251: uint16(1243), - 252: uint16(1243), - 253: uint16(1243), - 254: uint16(1243), - 255: uint16(1243), - 256: uint16(1243), - 257: uint16(1243), - 258: uint16(1243), - 259: uint16(1243), - 260: uint16(1243), - 261: uint16(1243), - 262: uint16(1243), - 263: uint16(1243), - 264: uint16(1243), - 265: uint16(1350), - 266: uint16(1243), - 267: uint16(1243), - 268: uint16(1243), - 269: uint16(1243), - 270: uint16(1243), - 271: uint16(1243), - 272: uint16(1243), - 273: uint16(1243), - 274: uint16(1243), - 275: uint16(1243), - 276: uint16(1243), - 277: uint16(1593), - 278: uint16(1243), - 279: uint16(1508), - 280: uint16(1332), - 281: uint16(1350), - 282: uint16(1350), - 283: uint16(1350), - 284: uint16(1350), - 285: uint16(1352), - 286: uint16(1333), - 287: uint16(1331), - 288: uint16(1344), - 289: uint16(1277), - 290: uint16(1250), - 291: uint16(1640), - 292: uint16(1410), - 293: uint16(1399), - 294: uint16(1351), - 295: uint16(1399), - 296: uint16(1637), - 297: uint16(1397), + 399: int16(1690), + 400: int16(1782), + 401: int16(1779), + 402: int16(1780), + 403: int16(1781), + 404: int16(1785), + 405: int16(1788), + 406: int16(1774), + 407: int16(1775), + 408: int16(1786), + 409: int16(1787), + 410: int16(1789), + 411: int16(1798), +} +var _yy_default = [583]uint16{ + 0: uint16(1663), + 1: uint16(1663), + 2: uint16(1663), + 3: uint16(1491), + 4: uint16(1254), + 5: uint16(1367), + 6: uint16(1254), + 7: uint16(1254), + 8: uint16(1254), + 9: uint16(1254), + 10: uint16(1491), + 11: uint16(1491), + 12: uint16(1491), + 13: uint16(1254), + 14: uint16(1254), + 15: uint16(1254), + 16: uint16(1254), + 17: uint16(1254), + 18: uint16(1254), + 19: uint16(1397), + 20: uint16(1397), + 21: uint16(1544), + 22: uint16(1287), + 23: uint16(1254), + 24: uint16(1254), + 25: uint16(1254), + 26: uint16(1254), + 27: uint16(1254), + 28: uint16(1254), + 29: uint16(1254), + 30: uint16(1254), + 31: uint16(1254), + 32: uint16(1254), + 33: uint16(1254), + 34: uint16(1254), + 35: uint16(1490), + 36: uint16(1254), + 37: uint16(1254), + 38: uint16(1254), + 39: uint16(1254), + 40: uint16(1578), + 41: uint16(1578), + 42: uint16(1254), + 43: uint16(1254), + 44: uint16(1254), + 45: uint16(1254), + 46: uint16(1254), + 47: uint16(1563), + 48: uint16(1562), + 49: uint16(1254), + 50: uint16(1254), + 51: uint16(1254), + 52: uint16(1406), + 53: uint16(1254), + 54: uint16(1413), + 55: uint16(1254), + 56: uint16(1254), + 57: uint16(1254), + 58: uint16(1254), + 59: uint16(1254), + 60: uint16(1492), + 61: uint16(1493), + 62: uint16(1254), + 63: uint16(1254), + 64: uint16(1254), + 65: uint16(1543), + 66: uint16(1545), + 67: uint16(1508), + 68: uint16(1420), + 69: uint16(1419), + 70: uint16(1418), + 71: uint16(1417), + 72: uint16(1526), + 73: uint16(1385), + 74: uint16(1411), + 75: uint16(1404), + 76: uint16(1408), + 77: uint16(1487), + 78: uint16(1488), + 79: uint16(1486), + 80: uint16(1641), + 81: uint16(1493), + 82: uint16(1492), + 83: uint16(1254), + 84: uint16(1407), + 85: uint16(1455), + 86: uint16(1471), + 87: uint16(1454), + 88: uint16(1254), + 89: uint16(1254), + 90: uint16(1254), + 91: uint16(1254), + 92: uint16(1254), + 93: uint16(1254), + 94: uint16(1254), + 95: uint16(1254), + 96: uint16(1254), + 97: uint16(1254), + 98: uint16(1254), + 99: uint16(1254), + 100: uint16(1254), + 101: uint16(1254), + 102: uint16(1254), + 103: uint16(1254), + 104: uint16(1254), + 105: uint16(1254), + 106: uint16(1254), + 107: uint16(1254), + 108: uint16(1254), + 109: uint16(1254), + 110: uint16(1254), + 111: uint16(1254), + 112: uint16(1254), + 113: uint16(1254), + 114: uint16(1254), + 115: uint16(1254), + 116: uint16(1254), + 117: uint16(1254), + 118: uint16(1254), + 119: uint16(1254), + 120: uint16(1254), + 121: uint16(1254), + 122: uint16(1254), + 123: uint16(1254), + 124: uint16(1254), + 125: uint16(1254), + 126: uint16(1254), + 127: uint16(1254), + 128: uint16(1254), + 129: uint16(1254), + 130: uint16(1254), + 131: uint16(1254), + 132: uint16(1254), + 133: uint16(1254), + 134: uint16(1254), + 135: uint16(1254), + 136: uint16(1254), + 137: uint16(1254), + 138: uint16(1254), + 139: uint16(1254), + 140: uint16(1463), + 141: uint16(1470), + 142: uint16(1469), + 143: uint16(1468), + 144: uint16(1477), + 145: uint16(1467), + 146: uint16(1464), + 147: uint16(1457), + 148: uint16(1456), + 149: uint16(1458), + 150: uint16(1459), + 151: uint16(1278), + 152: uint16(1254), + 153: uint16(1275), + 154: uint16(1329), + 155: uint16(1254), + 156: uint16(1254), + 157: uint16(1254), + 158: uint16(1254), + 159: uint16(1254), + 160: uint16(1460), + 161: uint16(1287), + 162: uint16(1448), + 163: uint16(1447), + 164: uint16(1446), + 165: uint16(1254), + 166: uint16(1474), + 167: uint16(1461), + 168: uint16(1473), + 169: uint16(1472), + 170: uint16(1551), + 171: uint16(1615), + 172: uint16(1614), + 173: uint16(1509), + 174: uint16(1254), + 175: uint16(1254), + 176: uint16(1254), + 177: uint16(1254), + 178: uint16(1254), + 179: uint16(1254), + 180: uint16(1578), + 181: uint16(1254), + 182: uint16(1254), + 183: uint16(1254), + 184: uint16(1254), + 185: uint16(1254), + 186: uint16(1254), + 187: uint16(1254), + 188: uint16(1254), + 189: uint16(1254), + 190: uint16(1254), + 191: uint16(1254), + 192: uint16(1254), + 193: uint16(1254), + 194: uint16(1254), + 195: uint16(1254), + 196: uint16(1254), + 197: uint16(1254), + 198: uint16(1254), + 199: uint16(1254), + 200: uint16(1254), + 201: uint16(1254), + 202: uint16(1254), + 203: uint16(1387), + 204: uint16(1578), + 205: uint16(1578), + 206: uint16(1254), + 207: uint16(1287), + 208: uint16(1578), + 209: uint16(1578), + 210: uint16(1388), + 211: uint16(1388), + 212: uint16(1283), + 213: uint16(1283), + 214: uint16(1391), + 215: uint16(1558), + 216: uint16(1358), + 217: uint16(1358), + 218: uint16(1358), + 219: uint16(1358), + 220: uint16(1367), + 221: uint16(1358), + 222: uint16(1254), + 223: uint16(1254), + 224: uint16(1254), + 225: uint16(1254), + 226: uint16(1254), + 227: uint16(1254), + 228: uint16(1254), + 229: uint16(1254), + 230: uint16(1254), + 231: uint16(1254), + 232: uint16(1254), + 233: uint16(1254), + 234: uint16(1254), + 235: uint16(1254), + 236: uint16(1254), + 237: uint16(1548), + 238: uint16(1546), + 239: uint16(1254), + 240: uint16(1254), + 241: uint16(1254), + 242: uint16(1254), + 243: uint16(1254), + 244: uint16(1254), + 245: uint16(1254), + 246: uint16(1254), + 247: uint16(1254), + 248: uint16(1254), + 249: uint16(1254), + 250: uint16(1254), + 251: uint16(1254), + 252: uint16(1254), + 253: uint16(1254), + 254: uint16(1254), + 255: uint16(1254), + 256: uint16(1254), + 257: uint16(1254), + 258: uint16(1254), + 259: uint16(1254), + 260: uint16(1254), + 261: uint16(1254), + 262: uint16(1254), + 263: uint16(1254), + 264: uint16(1254), + 265: uint16(1254), + 266: uint16(1363), + 267: uint16(1254), + 268: uint16(1254), + 269: uint16(1254), + 270: uint16(1254), + 271: uint16(1254), + 272: uint16(1254), + 273: uint16(1254), + 274: uint16(1254), + 275: uint16(1254), + 276: uint16(1254), + 277: uint16(1254), + 278: uint16(1608), + 279: uint16(1254), + 280: uint16(1521), + 281: uint16(1343), + 282: uint16(1363), + 283: uint16(1363), + 284: uint16(1363), + 285: uint16(1363), + 286: uint16(1365), + 287: uint16(1344), + 288: uint16(1342), + 289: uint16(1357), + 290: uint16(1288), + 291: uint16(1261), + 292: uint16(1655), + 293: uint16(1423), + 294: uint16(1412), + 295: uint16(1364), + 296: uint16(1412), + 297: uint16(1652), 298: uint16(1410), - 299: uint16(1410), - 300: uint16(1397), + 299: uint16(1423), + 300: uint16(1423), 301: uint16(1410), - 302: uint16(1351), - 303: uint16(1637), - 304: uint16(1293), - 305: uint16(1615), - 306: uint16(1288), - 307: uint16(1384), - 308: uint16(1384), - 309: uint16(1384), - 310: uint16(1374), - 311: uint16(1374), - 312: uint16(1374), - 313: uint16(1374), - 314: uint16(1378), - 315: uint16(1378), - 316: uint16(1476), - 317: uint16(1351), - 318: uint16(1344), - 319: uint16(1243), - 320: uint16(1640), - 321: uint16(1640), - 322: uint16(1360), - 323: uint16(1360), - 324: uint16(1639), - 325: uint16(1639), - 326: uint16(1360), - 327: uint16(1496), - 328: uint16(1623), - 329: uint16(1419), - 330: uint16(1321), - 331: uint16(1327), - 332: uint16(1327), - 333: uint16(1327), - 334: uint16(1327), - 335: uint16(1360), - 336: uint16(1261), - 337: uint16(1397), - 338: uint16(1623), - 339: uint16(1623), - 340: uint16(1397), - 341: uint16(1419), - 342: uint16(1321), - 343: uint16(1397), - 344: uint16(1321), - 345: uint16(1397), - 346: uint16(1360), - 347: uint16(1261), - 348: uint16(1512), - 349: uint16(1634), - 350: uint16(1360), - 351: uint16(1261), - 352: uint16(1486), - 353: uint16(1360), - 354: uint16(1261), - 355: uint16(1360), - 356: uint16(1261), - 357: uint16(1486), - 358: uint16(1319), - 359: uint16(1319), - 360: uint16(1319), - 361: uint16(1308), - 362: uint16(1243), - 363: uint16(1243), - 364: uint16(1486), - 365: uint16(1319), - 366: uint16(1293), - 367: uint16(1319), - 368: uint16(1308), + 302: uint16(1423), + 303: uint16(1364), + 304: uint16(1652), + 305: uint16(1304), + 306: uint16(1630), + 307: uint16(1299), + 308: uint16(1397), + 309: uint16(1397), + 310: uint16(1397), + 311: uint16(1387), + 312: uint16(1387), + 313: uint16(1387), + 314: uint16(1387), + 315: uint16(1391), + 316: uint16(1391), + 317: uint16(1489), + 318: uint16(1364), + 319: uint16(1357), + 320: uint16(1254), + 321: uint16(1655), + 322: uint16(1655), + 323: uint16(1373), + 324: uint16(1373), + 325: uint16(1654), + 326: uint16(1654), + 327: uint16(1373), + 328: uint16(1509), + 329: uint16(1638), + 330: uint16(1432), + 331: uint16(1332), + 332: uint16(1338), + 333: uint16(1338), + 334: uint16(1338), + 335: uint16(1338), + 336: uint16(1373), + 337: uint16(1272), + 338: uint16(1410), + 339: uint16(1638), + 340: uint16(1638), + 341: uint16(1410), + 342: uint16(1432), + 343: uint16(1332), + 344: uint16(1410), + 345: uint16(1332), + 346: uint16(1410), + 347: uint16(1373), + 348: uint16(1272), + 349: uint16(1525), + 350: uint16(1649), + 351: uint16(1373), + 352: uint16(1272), + 353: uint16(1499), + 354: uint16(1373), + 355: uint16(1272), + 356: uint16(1373), + 357: uint16(1272), + 358: uint16(1499), + 359: uint16(1330), + 360: uint16(1330), + 361: uint16(1330), + 362: uint16(1319), + 363: uint16(1254), + 364: uint16(1254), + 365: uint16(1499), + 366: uint16(1330), + 367: uint16(1304), + 368: uint16(1330), 369: uint16(1319), - 370: uint16(1319), - 371: uint16(1582), - 372: uint16(1243), - 373: uint16(1490), - 374: uint16(1490), - 375: uint16(1486), - 376: uint16(1360), - 377: uint16(1574), - 378: uint16(1574), - 379: uint16(1387), - 380: uint16(1387), - 381: uint16(1392), - 382: uint16(1378), - 383: uint16(1481), - 384: uint16(1360), - 385: uint16(1243), - 386: uint16(1392), - 387: uint16(1390), - 388: uint16(1388), - 389: uint16(1397), - 390: uint16(1311), - 391: uint16(1596), - 392: uint16(1596), - 393: uint16(1592), - 394: uint16(1592), - 395: uint16(1592), - 396: uint16(1645), - 397: uint16(1645), - 398: uint16(1545), - 399: uint16(1608), - 400: uint16(1276), - 401: uint16(1276), - 402: uint16(1276), - 403: uint16(1276), - 404: uint16(1608), - 405: uint16(1295), - 406: uint16(1295), - 407: uint16(1277), - 408: uint16(1277), - 409: uint16(1276), - 410: uint16(1608), - 411: uint16(1243), - 412: uint16(1243), - 413: uint16(1243), - 414: uint16(1243), - 415: uint16(1243), - 416: uint16(1243), - 417: uint16(1603), - 418: uint16(1243), - 419: uint16(1540), - 420: uint16(1497), - 421: uint16(1364), - 422: uint16(1243), - 423: uint16(1243), - 424: uint16(1243), - 425: uint16(1243), - 426: uint16(1243), - 427: uint16(1243), - 428: uint16(1243), - 429: uint16(1243), - 430: uint16(1243), - 431: uint16(1243), - 432: uint16(1243), - 433: uint16(1243), - 434: uint16(1243), - 435: uint16(1243), - 436: uint16(1243), - 437: uint16(1243), - 438: uint16(1551), - 439: uint16(1243), - 440: uint16(1243), - 441: uint16(1243), - 442: uint16(1243), - 443: uint16(1243), - 444: uint16(1243), - 445: uint16(1243), - 446: uint16(1243), - 447: uint16(1243), - 448: uint16(1243), - 449: uint16(1424), - 450: uint16(1243), - 451: uint16(1246), - 452: uint16(1542), - 453: uint16(1243), - 454: uint16(1243), - 455: uint16(1243), - 456: uint16(1243), - 457: uint16(1243), - 458: uint16(1243), - 459: uint16(1243), - 460: uint16(1243), - 461: uint16(1401), - 462: uint16(1402), - 463: uint16(1365), - 464: uint16(1243), - 465: uint16(1243), - 466: uint16(1243), - 467: uint16(1243), - 468: uint16(1243), - 469: uint16(1243), - 470: uint16(1243), - 471: uint16(1416), - 472: uint16(1243), - 473: uint16(1243), - 474: uint16(1243), - 475: uint16(1411), - 476: uint16(1243), - 477: uint16(1243), - 478: uint16(1243), - 479: uint16(1243), - 480: uint16(1243), - 481: uint16(1243), - 482: uint16(1243), - 483: uint16(1243), - 484: uint16(1636), - 485: uint16(1243), - 486: uint16(1243), - 487: uint16(1243), - 488: uint16(1243), - 489: uint16(1243), - 490: uint16(1243), - 491: uint16(1511), - 492: uint16(1510), - 493: uint16(1243), - 494: uint16(1243), - 495: uint16(1362), - 496: uint16(1243), - 497: uint16(1243), - 498: uint16(1243), - 499: uint16(1243), - 500: uint16(1243), - 501: uint16(1243), - 502: uint16(1243), - 503: uint16(1243), - 504: uint16(1243), - 505: uint16(1243), - 506: uint16(1243), - 507: uint16(1243), - 508: uint16(1243), - 509: uint16(1291), - 510: uint16(1243), - 511: uint16(1243), - 512: uint16(1243), - 513: uint16(1243), - 514: uint16(1243), - 515: uint16(1243), - 516: uint16(1243), - 517: uint16(1243), - 518: uint16(1243), - 519: uint16(1243), - 520: uint16(1243), - 521: uint16(1243), - 522: uint16(1243), - 523: uint16(1243), - 524: uint16(1243), - 525: uint16(1243), - 526: uint16(1243), - 527: uint16(1243), - 528: uint16(1243), - 529: uint16(1243), - 530: uint16(1243), - 531: uint16(1243), - 532: uint16(1243), - 533: uint16(1389), - 534: uint16(1243), - 535: uint16(1243), - 536: uint16(1243), - 537: uint16(1243), - 538: uint16(1243), - 539: uint16(1243), - 540: uint16(1243), - 541: uint16(1243), - 542: uint16(1243), - 543: uint16(1243), - 544: uint16(1243), - 545: uint16(1243), - 546: uint16(1243), - 547: uint16(1243), - 548: uint16(1579), - 549: uint16(1379), - 550: uint16(1243), - 551: uint16(1243), - 552: uint16(1243), - 553: uint16(1243), - 554: uint16(1627), - 555: uint16(1243), - 556: uint16(1243), - 557: uint16(1243), - 558: uint16(1243), - 559: uint16(1243), - 560: uint16(1243), - 561: uint16(1243), - 562: uint16(1243), - 563: uint16(1243), - 564: uint16(1243), - 565: uint16(1243), - 566: uint16(1243), - 567: uint16(1243), - 568: uint16(1243), - 569: uint16(1619), - 570: uint16(1335), - 571: uint16(1425), - 572: uint16(1243), - 573: uint16(1428), - 574: uint16(1265), - 575: uint16(1243), - 576: uint16(1255), - 577: uint16(1243), - 578: uint16(1243), + 370: uint16(1330), + 371: uint16(1330), + 372: uint16(1596), + 373: uint16(1254), + 374: uint16(1503), + 375: uint16(1503), + 376: uint16(1499), + 377: uint16(1373), + 378: uint16(1588), + 379: uint16(1588), + 380: uint16(1400), + 381: uint16(1400), + 382: uint16(1405), + 383: uint16(1391), + 384: uint16(1494), + 385: uint16(1373), + 386: uint16(1254), + 387: uint16(1405), + 388: uint16(1403), + 389: uint16(1401), + 390: uint16(1410), + 391: uint16(1322), + 392: uint16(1611), + 393: uint16(1611), + 394: uint16(1607), + 395: uint16(1607), + 396: uint16(1607), + 397: uint16(1660), + 398: uint16(1660), + 399: uint16(1558), + 400: uint16(1623), + 401: uint16(1287), + 402: uint16(1287), + 403: uint16(1287), + 404: uint16(1287), + 405: uint16(1623), + 406: uint16(1306), + 407: uint16(1306), + 408: uint16(1288), + 409: uint16(1288), + 410: uint16(1287), + 411: uint16(1623), + 412: uint16(1254), + 413: uint16(1254), + 414: uint16(1254), + 415: uint16(1254), + 416: uint16(1254), + 417: uint16(1254), + 418: uint16(1618), + 419: uint16(1254), + 420: uint16(1553), + 421: uint16(1510), + 422: uint16(1377), + 423: uint16(1254), + 424: uint16(1254), + 425: uint16(1254), + 426: uint16(1254), + 427: uint16(1254), + 428: uint16(1254), + 429: uint16(1254), + 430: uint16(1254), + 431: uint16(1254), + 432: uint16(1254), + 433: uint16(1254), + 434: uint16(1254), + 435: uint16(1254), + 436: uint16(1254), + 437: uint16(1254), + 438: uint16(1254), + 439: uint16(1564), + 440: uint16(1254), + 441: uint16(1254), + 442: uint16(1254), + 443: uint16(1254), + 444: uint16(1254), + 445: uint16(1254), + 446: uint16(1254), + 447: uint16(1254), + 448: uint16(1254), + 449: uint16(1254), + 450: uint16(1254), + 451: uint16(1437), + 452: uint16(1254), + 453: uint16(1257), + 454: uint16(1555), + 455: uint16(1254), + 456: uint16(1254), + 457: uint16(1254), + 458: uint16(1254), + 459: uint16(1254), + 460: uint16(1254), + 461: uint16(1254), + 462: uint16(1254), + 463: uint16(1414), + 464: uint16(1415), + 465: uint16(1378), + 466: uint16(1254), + 467: uint16(1254), + 468: uint16(1254), + 469: uint16(1254), + 470: uint16(1254), + 471: uint16(1254), + 472: uint16(1254), + 473: uint16(1429), + 474: uint16(1254), + 475: uint16(1254), + 476: uint16(1254), + 477: uint16(1424), + 478: uint16(1254), + 479: uint16(1254), + 480: uint16(1254), + 481: uint16(1254), + 482: uint16(1254), + 483: uint16(1254), + 484: uint16(1254), + 485: uint16(1254), + 486: uint16(1651), + 487: uint16(1254), + 488: uint16(1254), + 489: uint16(1254), + 490: uint16(1254), + 491: uint16(1254), + 492: uint16(1254), + 493: uint16(1524), + 494: uint16(1523), + 495: uint16(1254), + 496: uint16(1254), + 497: uint16(1375), + 498: uint16(1254), + 499: uint16(1254), + 500: uint16(1254), + 501: uint16(1254), + 502: uint16(1254), + 503: uint16(1254), + 504: uint16(1254), + 505: uint16(1254), + 506: uint16(1254), + 507: uint16(1254), + 508: uint16(1254), + 509: uint16(1254), + 510: uint16(1254), + 511: uint16(1302), + 512: uint16(1254), + 513: uint16(1254), + 514: uint16(1254), + 515: uint16(1254), + 516: uint16(1254), + 517: uint16(1254), + 518: uint16(1254), + 519: uint16(1254), + 520: uint16(1254), + 521: uint16(1254), + 522: uint16(1254), + 523: uint16(1254), + 524: uint16(1254), + 525: uint16(1254), + 526: uint16(1254), + 527: uint16(1254), + 528: uint16(1254), + 529: uint16(1254), + 530: uint16(1254), + 531: uint16(1254), + 532: uint16(1254), + 533: uint16(1254), + 534: uint16(1254), + 535: uint16(1402), + 536: uint16(1254), + 537: uint16(1254), + 538: uint16(1254), + 539: uint16(1254), + 540: uint16(1254), + 541: uint16(1254), + 542: uint16(1254), + 543: uint16(1254), + 544: uint16(1254), + 545: uint16(1254), + 546: uint16(1254), + 547: uint16(1254), + 548: uint16(1254), + 549: uint16(1254), + 550: uint16(1593), + 551: uint16(1392), + 552: uint16(1254), + 553: uint16(1254), + 554: uint16(1254), + 555: uint16(1254), + 556: uint16(1642), + 557: uint16(1254), + 558: uint16(1254), + 559: uint16(1254), + 560: uint16(1254), + 561: uint16(1352), + 562: uint16(1254), + 563: uint16(1254), + 564: uint16(1254), + 565: uint16(1254), + 566: uint16(1254), + 567: uint16(1254), + 568: uint16(1254), + 569: uint16(1254), + 570: uint16(1254), + 571: uint16(1254), + 572: uint16(1254), + 573: uint16(1634), + 574: uint16(1346), + 575: uint16(1438), + 576: uint16(1254), + 577: uint16(1441), + 578: uint16(1276), + 579: uint16(1254), + 580: uint16(1266), + 581: uint16(1254), + 582: uint16(1254), } /********** End of lemon-generated parsing tables *****************************/ @@ -158372,7 +159793,7 @@ var _yy_default = [579]uint16{ // ** to revert to identifiers if they keyword does not apply in the context where // ** it appears. // */ -var _yyFallback = [185]uint16{ +var _yyFallback = [186]uint16{ 2: uint16(59), 3: uint16(59), 4: uint16(59), @@ -158485,8 +159906,9 @@ type yyStackEntry = TyyStackEntry type TyyParser1 = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser1 = TyyParser1 @@ -158494,14 +159916,46 @@ type yyParser1 = TyyParser1 type TyyParser = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser = TyyParser /* #include */ +// C documentation +// +// /* +// ** Try to increase the size of the parser stack. Return the number +// ** of errors. Return 0 on success. +// */ +func _yyGrowStack(tls *libc.TLS, p uintptr) (r int32) { + var idx, newSize, oldSize int32 + var pNew uintptr + _, _, _, _ = idx, newSize, oldSize, pNew + oldSize = int32(1) + int32((int64((*TyyParser)(unsafe.Pointer(p)).FyystackEnd)-int64((*TyyParser)(unsafe.Pointer(p)).Fyystack))/24) + newSize = oldSize*int32(2) + int32(100) + idx = int32((int64((*TyyParser)(unsafe.Pointer(p)).Fyytos) - int64((*TyyParser)(unsafe.Pointer(p)).Fyystack)) / 24) + if (*TyyParser)(unsafe.Pointer(p)).Fyystack == p+32 { + pNew = _parserStackRealloc(tls, uintptr(0), uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + libc.Xmemcpy(tls, pNew, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(oldSize)*uint64(24)) + } else { + pNew = _parserStackRealloc(tls, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + } + (*TyyParser)(unsafe.Pointer(p)).Fyystack = pNew + (*TyyParser)(unsafe.Pointer(p)).Fyytos = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(idx)*24 + (*TyyParser)(unsafe.Pointer(p)).FyystackEnd = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(newSize-int32(1))*24 + return 0 +} + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -158517,10 +159971,11 @@ func _sqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { _ = yypParser yypParser = yypRawParser (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fstateno = uint16(0) - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fmajor = uint16(0) - (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = yypParser + 16 + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack = yypParser + 32 + (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fstateno = uint16(0) + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fmajor = uint16(0) } // C documentation @@ -158548,103 +160003,105 @@ func _yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor u ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case int32(204): /* select */ + case int32(205): /* select */ fallthrough - case int32(239): /* selectnowith */ + case int32(240): /* selectnowith */ fallthrough - case int32(240): /* oneselect */ + case int32(241): /* oneselect */ fallthrough - case int32(252): /* values */ + case int32(253): /* values */ + fallthrough + case int32(255): /* mvalues */ _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(216): /* term */ + case int32(217): /* term */ fallthrough - case int32(217): /* expr */ + case int32(218): /* expr */ fallthrough - case int32(246): /* where_opt */ + case int32(247): /* where_opt */ fallthrough - case int32(248): /* having_opt */ + case int32(249): /* having_opt */ fallthrough - case int32(267): /* where_opt_ret */ + case int32(269): /* where_opt_ret */ fallthrough - case int32(278): /* case_operand */ + case int32(280): /* case_operand */ fallthrough - case int32(280): /* case_else */ + case int32(282): /* case_else */ fallthrough - case int32(283): /* vinto */ + case int32(285): /* vinto */ fallthrough - case int32(290): /* when_clause */ + case int32(292): /* when_clause */ fallthrough - case int32(295): /* key_opt */ + case int32(297): /* key_opt */ fallthrough - case int32(311): /* filter_clause */ + case int32(314): /* filter_clause */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(221): /* eidlist_opt */ + case int32(222): /* eidlist_opt */ fallthrough - case int32(231): /* sortlist */ + case int32(232): /* sortlist */ fallthrough - case int32(232): /* eidlist */ + case int32(233): /* eidlist */ fallthrough - case int32(244): /* selcollist */ + case int32(245): /* selcollist */ fallthrough - case int32(247): /* groupby_opt */ + case int32(248): /* groupby_opt */ fallthrough - case int32(249): /* orderby_opt */ + case int32(250): /* orderby_opt */ fallthrough - case int32(253): /* nexprlist */ + case int32(254): /* nexprlist */ fallthrough - case int32(254): /* sclp */ + case int32(256): /* sclp */ fallthrough - case int32(261): /* exprlist */ + case int32(263): /* exprlist */ fallthrough - case int32(268): /* setlist */ + case int32(270): /* setlist */ fallthrough - case int32(277): /* paren_exprlist */ + case int32(279): /* paren_exprlist */ fallthrough - case int32(279): /* case_exprlist */ + case int32(281): /* case_exprlist */ fallthrough - case int32(310): /* part_opt */ + case int32(313): /* part_opt */ _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(238): /* fullname */ + case int32(239): /* fullname */ fallthrough - case int32(245): /* from */ + case int32(246): /* from */ fallthrough - case int32(256): /* seltablist */ + case int32(258): /* seltablist */ fallthrough - case int32(257): /* stl_prefix */ + case int32(259): /* stl_prefix */ fallthrough - case int32(262): /* xfullname */ + case int32(264): /* xfullname */ _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(241): /* wqlist */ + case int32(242): /* wqlist */ _sqlite3WithDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(251): /* window_clause */ + case int32(252): /* window_clause */ fallthrough - case int32(306): /* windowdefn_list */ + case int32(309): /* windowdefn_list */ _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(263): /* idlist */ + case int32(265): /* idlist */ fallthrough - case int32(270): /* idlist_opt */ + case int32(272): /* idlist_opt */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(273): /* filter_over */ + case int32(275): /* filter_over */ fallthrough - case int32(307): /* windowdefn */ + case int32(310): /* windowdefn */ fallthrough - case int32(308): /* window */ + case int32(311): /* window */ fallthrough - case int32(309): /* frame_opt */ + case int32(312): /* frame_opt */ fallthrough - case int32(312): /* over_clause */ + case int32(315): /* over_clause */ _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(286): /* trigger_cmd_list */ + case int32(288): /* trigger_cmd_list */ fallthrough - case int32(291): /* trigger_cmd */ + case int32(293): /* trigger_cmd */ _sqlite3DeleteTriggerStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(288): /* trigger_event */ + case int32(290): /* trigger_event */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TTrigEvent)(unsafe.Pointer(yypminor))).Fb) - case int32(314): /* frame_bound */ + case int32(317): /* frame_bound */ fallthrough - case int32(315): /* frame_bound_s */ + case int32(318): /* frame_bound_s */ fallthrough - case int32(316): /* frame_bound_e */ + case int32(319): /* frame_bound_e */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TFrameBound)(unsafe.Pointer(yypminor))).FpExpr) break /********* End destructor definitions *****************************************/ @@ -158680,11 +160137,20 @@ func _yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var pParser, yytos uintptr + _, _ = pParser, yytos pParser = p - for (*TyyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { - _yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling yy_pop_parser_stack() for each + ** element left in the stack */ + yytos = (*TyyParser)(unsafe.Pointer(pParser)).Fyytos + for yytos > (*TyyParser)(unsafe.Pointer(pParser)).Fyystack { + if int32((*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor) >= int32(YY_MIN_DSTRCTR) { + _yy_destructor(tls, pParser, (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor, yytos+8) + } + yytos -= 24 + } + if (*TyyParser)(unsafe.Pointer(pParser)).Fyystack != pParser+32 { + Xsqlite3_free(tls, (*TyyParser)(unsafe.Pointer(pParser)).Fyystack) } } @@ -158779,13 +160245,13 @@ func _yyStackOverflow(tls *libc.TLS, yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*TyyParser)(unsafe.Pointer(yypParser)).FpParse - for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { + for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack { _yy_pop_parser_stack(tls, yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23336, 0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) /******** End %stack_overflow code ********************************************/ /* Suppress warning about unused %extra_argument var */ (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -158804,15 +160270,19 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint var yytos uintptr _ = yytos (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 - if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 - _yyStackOverflow(tls, yypParser) - return + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + if yytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { + if _yyGrowStack(tls, yypParser) != 0 { + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 + _yyStackOverflow(tls, yypParser) + return + } + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + _ = libc.Int32FromInt32(0) } if int32(yyNewState) > int32(YY_MAX_SHIFT) { yyNewState = uint16(int32(yyNewState) + (libc.Int32FromInt32(YY_MIN_REDUCE) - libc.Int32FromInt32(YY_MIN_SHIFTREDUCE))) } - yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos (*TyyStackEntry)(unsafe.Pointer(yytos)).Fstateno = yyNewState (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor = yyMajor *(*TToken)(unsafe.Pointer(yytos + 8)) = yyMinor @@ -158822,419 +160292,423 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint // // /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side // ** of that rule */ -var _yyRuleInfoLhs = [405]uint16{ - 0: uint16(189), - 1: uint16(189), - 2: uint16(188), - 3: uint16(190), - 4: uint16(191), - 5: uint16(191), - 6: uint16(191), - 7: uint16(191), - 8: uint16(190), - 9: uint16(190), - 10: uint16(190), - 11: uint16(190), - 12: uint16(190), - 13: uint16(195), - 14: uint16(197), - 15: uint16(199), - 16: uint16(199), - 17: uint16(198), - 18: uint16(198), - 19: uint16(196), - 20: uint16(196), - 21: uint16(203), - 22: uint16(203), - 23: uint16(205), - 24: uint16(205), - 25: uint16(206), - 26: uint16(208), - 27: uint16(208), - 28: uint16(208), - 29: uint16(209), - 30: uint16(213), - 31: uint16(214), - 32: uint16(215), - 33: uint16(215), - 34: uint16(215), - 35: uint16(215), - 36: uint16(215), - 37: uint16(215), - 38: uint16(215), - 39: uint16(215), - 40: uint16(215), - 41: uint16(215), - 42: uint16(215), - 43: uint16(215), - 44: uint16(215), - 45: uint16(224), - 46: uint16(224), - 47: uint16(220), - 48: uint16(220), - 49: uint16(222), - 50: uint16(222), - 51: uint16(225), - 52: uint16(225), - 53: uint16(225), - 54: uint16(225), - 55: uint16(226), - 56: uint16(226), - 57: uint16(226), - 58: uint16(226), - 59: uint16(226), - 60: uint16(223), - 61: uint16(223), - 62: uint16(227), - 63: uint16(227), - 64: uint16(227), - 65: uint16(202), - 66: uint16(229), - 67: uint16(230), - 68: uint16(230), - 69: uint16(230), - 70: uint16(230), - 71: uint16(230), - 72: uint16(233), - 73: uint16(218), - 74: uint16(218), - 75: uint16(234), - 76: uint16(234), - 77: uint16(235), - 78: uint16(235), - 79: uint16(190), - 80: uint16(237), - 81: uint16(237), - 82: uint16(190), - 83: uint16(190), - 84: uint16(190), - 85: uint16(204), - 86: uint16(204), - 87: uint16(204), - 88: uint16(239), - 89: uint16(242), - 90: uint16(242), - 91: uint16(242), - 92: uint16(240), - 93: uint16(240), - 94: uint16(252), - 95: uint16(252), - 96: uint16(243), - 97: uint16(243), - 98: uint16(243), - 99: uint16(254), +var _yyRuleInfoLhs = [409]uint16{ + 0: uint16(190), + 1: uint16(190), + 2: uint16(189), + 3: uint16(191), + 4: uint16(192), + 5: uint16(192), + 6: uint16(192), + 7: uint16(192), + 8: uint16(191), + 9: uint16(191), + 10: uint16(191), + 11: uint16(191), + 12: uint16(191), + 13: uint16(196), + 14: uint16(198), + 15: uint16(200), + 16: uint16(200), + 17: uint16(199), + 18: uint16(199), + 19: uint16(197), + 20: uint16(197), + 21: uint16(204), + 22: uint16(204), + 23: uint16(206), + 24: uint16(206), + 25: uint16(207), + 26: uint16(209), + 27: uint16(209), + 28: uint16(209), + 29: uint16(210), + 30: uint16(214), + 31: uint16(215), + 32: uint16(216), + 33: uint16(216), + 34: uint16(216), + 35: uint16(216), + 36: uint16(216), + 37: uint16(216), + 38: uint16(216), + 39: uint16(216), + 40: uint16(216), + 41: uint16(216), + 42: uint16(216), + 43: uint16(216), + 44: uint16(216), + 45: uint16(225), + 46: uint16(225), + 47: uint16(221), + 48: uint16(221), + 49: uint16(223), + 50: uint16(223), + 51: uint16(226), + 52: uint16(226), + 53: uint16(226), + 54: uint16(226), + 55: uint16(227), + 56: uint16(227), + 57: uint16(227), + 58: uint16(227), + 59: uint16(227), + 60: uint16(224), + 61: uint16(224), + 62: uint16(228), + 63: uint16(228), + 64: uint16(228), + 65: uint16(203), + 66: uint16(230), + 67: uint16(231), + 68: uint16(231), + 69: uint16(231), + 70: uint16(231), + 71: uint16(231), + 72: uint16(234), + 73: uint16(219), + 74: uint16(219), + 75: uint16(235), + 76: uint16(235), + 77: uint16(236), + 78: uint16(236), + 79: uint16(191), + 80: uint16(238), + 81: uint16(238), + 82: uint16(191), + 83: uint16(191), + 84: uint16(191), + 85: uint16(205), + 86: uint16(205), + 87: uint16(205), + 88: uint16(240), + 89: uint16(243), + 90: uint16(243), + 91: uint16(243), + 92: uint16(241), + 93: uint16(241), + 94: uint16(253), + 95: uint16(241), + 96: uint16(255), + 97: uint16(255), + 98: uint16(244), + 99: uint16(244), 100: uint16(244), - 101: uint16(244), - 102: uint16(244), - 103: uint16(255), - 104: uint16(255), - 105: uint16(245), - 106: uint16(245), - 107: uint16(257), - 108: uint16(257), - 109: uint16(256), - 110: uint16(256), - 111: uint16(256), - 112: uint16(256), - 113: uint16(256), - 114: uint16(200), - 115: uint16(200), - 116: uint16(238), - 117: uint16(238), - 118: uint16(262), - 119: uint16(262), - 120: uint16(262), - 121: uint16(262), - 122: uint16(258), - 123: uint16(258), - 124: uint16(258), - 125: uint16(258), - 126: uint16(259), - 127: uint16(259), - 128: uint16(259), - 129: uint16(264), - 130: uint16(260), - 131: uint16(260), - 132: uint16(249), - 133: uint16(249), - 134: uint16(231), - 135: uint16(231), - 136: uint16(219), - 137: uint16(219), - 138: uint16(219), - 139: uint16(265), - 140: uint16(265), - 141: uint16(265), - 142: uint16(247), - 143: uint16(247), + 101: uint16(256), + 102: uint16(245), + 103: uint16(245), + 104: uint16(245), + 105: uint16(257), + 106: uint16(257), + 107: uint16(246), + 108: uint16(246), + 109: uint16(259), + 110: uint16(259), + 111: uint16(258), + 112: uint16(258), + 113: uint16(258), + 114: uint16(258), + 115: uint16(258), + 116: uint16(201), + 117: uint16(201), + 118: uint16(239), + 119: uint16(239), + 120: uint16(264), + 121: uint16(264), + 122: uint16(264), + 123: uint16(264), + 124: uint16(260), + 125: uint16(260), + 126: uint16(260), + 127: uint16(260), + 128: uint16(261), + 129: uint16(261), + 130: uint16(261), + 131: uint16(266), + 132: uint16(262), + 133: uint16(262), + 134: uint16(250), + 135: uint16(250), + 136: uint16(232), + 137: uint16(232), + 138: uint16(220), + 139: uint16(220), + 140: uint16(220), + 141: uint16(267), + 142: uint16(267), + 143: uint16(267), 144: uint16(248), 145: uint16(248), - 146: uint16(250), - 147: uint16(250), - 148: uint16(250), - 149: uint16(250), - 150: uint16(190), - 151: uint16(246), - 152: uint16(246), - 153: uint16(267), - 154: uint16(267), - 155: uint16(267), - 156: uint16(267), - 157: uint16(190), - 158: uint16(268), - 159: uint16(268), - 160: uint16(268), - 161: uint16(268), - 162: uint16(190), - 163: uint16(190), - 164: uint16(271), - 165: uint16(271), - 166: uint16(271), - 167: uint16(271), - 168: uint16(271), - 169: uint16(271), - 170: uint16(272), - 171: uint16(269), - 172: uint16(269), - 173: uint16(270), - 174: uint16(270), - 175: uint16(263), - 176: uint16(263), - 177: uint16(217), - 178: uint16(217), - 179: uint16(217), - 180: uint16(217), - 181: uint16(216), - 182: uint16(216), - 183: uint16(216), + 146: uint16(249), + 147: uint16(249), + 148: uint16(251), + 149: uint16(251), + 150: uint16(251), + 151: uint16(251), + 152: uint16(191), + 153: uint16(247), + 154: uint16(247), + 155: uint16(269), + 156: uint16(269), + 157: uint16(269), + 158: uint16(269), + 159: uint16(191), + 160: uint16(270), + 161: uint16(270), + 162: uint16(270), + 163: uint16(270), + 164: uint16(191), + 165: uint16(191), + 166: uint16(273), + 167: uint16(273), + 168: uint16(273), + 169: uint16(273), + 170: uint16(273), + 171: uint16(273), + 172: uint16(274), + 173: uint16(271), + 174: uint16(271), + 175: uint16(272), + 176: uint16(272), + 177: uint16(265), + 178: uint16(265), + 179: uint16(218), + 180: uint16(218), + 181: uint16(218), + 182: uint16(218), + 183: uint16(217), 184: uint16(217), 185: uint16(217), - 186: uint16(217), - 187: uint16(217), - 188: uint16(217), - 189: uint16(217), - 190: uint16(217), - 191: uint16(217), - 192: uint16(217), - 193: uint16(216), - 194: uint16(217), + 186: uint16(218), + 187: uint16(218), + 188: uint16(218), + 189: uint16(218), + 190: uint16(218), + 191: uint16(218), + 192: uint16(218), + 193: uint16(218), + 194: uint16(218), 195: uint16(217), - 196: uint16(217), - 197: uint16(217), - 198: uint16(217), - 199: uint16(217), - 200: uint16(217), - 201: uint16(217), - 202: uint16(217), - 203: uint16(274), - 204: uint16(217), - 205: uint16(217), - 206: uint16(217), - 207: uint16(217), - 208: uint16(217), - 209: uint16(217), - 210: uint16(217), - 211: uint16(217), - 212: uint16(217), - 213: uint16(217), - 214: uint16(217), - 215: uint16(217), - 216: uint16(275), - 217: uint16(275), - 218: uint16(217), - 219: uint16(276), - 220: uint16(276), - 221: uint16(217), - 222: uint16(217), - 223: uint16(217), - 224: uint16(217), - 225: uint16(217), - 226: uint16(217), - 227: uint16(279), - 228: uint16(279), - 229: uint16(280), - 230: uint16(280), - 231: uint16(278), - 232: uint16(261), - 233: uint16(253), - 234: uint16(253), - 235: uint16(277), - 236: uint16(277), - 237: uint16(190), - 238: uint16(281), - 239: uint16(281), - 240: uint16(221), - 241: uint16(221), - 242: uint16(232), - 243: uint16(232), - 244: uint16(282), - 245: uint16(282), - 246: uint16(190), - 247: uint16(190), - 248: uint16(190), - 249: uint16(283), - 250: uint16(283), - 251: uint16(190), - 252: uint16(190), - 253: uint16(190), - 254: uint16(190), - 255: uint16(190), - 256: uint16(211), - 257: uint16(212), - 258: uint16(190), - 259: uint16(285), - 260: uint16(287), + 196: uint16(218), + 197: uint16(218), + 198: uint16(218), + 199: uint16(218), + 200: uint16(218), + 201: uint16(218), + 202: uint16(218), + 203: uint16(218), + 204: uint16(218), + 205: uint16(276), + 206: uint16(218), + 207: uint16(218), + 208: uint16(218), + 209: uint16(218), + 210: uint16(218), + 211: uint16(218), + 212: uint16(218), + 213: uint16(218), + 214: uint16(218), + 215: uint16(218), + 216: uint16(218), + 217: uint16(218), + 218: uint16(277), + 219: uint16(277), + 220: uint16(218), + 221: uint16(278), + 222: uint16(278), + 223: uint16(218), + 224: uint16(218), + 225: uint16(218), + 226: uint16(218), + 227: uint16(218), + 228: uint16(218), + 229: uint16(281), + 230: uint16(281), + 231: uint16(282), + 232: uint16(282), + 233: uint16(280), + 234: uint16(263), + 235: uint16(254), + 236: uint16(254), + 237: uint16(279), + 238: uint16(279), + 239: uint16(191), + 240: uint16(283), + 241: uint16(283), + 242: uint16(222), + 243: uint16(222), + 244: uint16(233), + 245: uint16(233), + 246: uint16(284), + 247: uint16(284), + 248: uint16(191), + 249: uint16(191), + 250: uint16(191), + 251: uint16(285), + 252: uint16(285), + 253: uint16(191), + 254: uint16(191), + 255: uint16(191), + 256: uint16(191), + 257: uint16(191), + 258: uint16(212), + 259: uint16(213), + 260: uint16(191), 261: uint16(287), - 262: uint16(287), - 263: uint16(288), - 264: uint16(288), - 265: uint16(288), + 262: uint16(289), + 263: uint16(289), + 264: uint16(289), + 265: uint16(290), 266: uint16(290), 267: uint16(290), - 268: uint16(286), - 269: uint16(286), - 270: uint16(292), - 271: uint16(293), - 272: uint16(293), - 273: uint16(291), - 274: uint16(291), - 275: uint16(291), - 276: uint16(291), - 277: uint16(217), - 278: uint16(217), - 279: uint16(236), - 280: uint16(236), - 281: uint16(236), - 282: uint16(190), - 283: uint16(190), - 284: uint16(190), - 285: uint16(295), - 286: uint16(295), - 287: uint16(190), - 288: uint16(190), - 289: uint16(190), - 290: uint16(190), - 291: uint16(190), - 292: uint16(190), - 293: uint16(190), - 294: uint16(296), - 295: uint16(190), - 296: uint16(190), - 297: uint16(190), - 298: uint16(298), - 299: uint16(300), - 300: uint16(301), - 301: uint16(301), - 302: uint16(302), - 303: uint16(266), - 304: uint16(266), - 305: uint16(305), - 306: uint16(305), - 307: uint16(305), - 308: uint16(304), - 309: uint16(241), - 310: uint16(241), - 311: uint16(306), - 312: uint16(307), - 313: uint16(308), - 314: uint16(308), - 315: uint16(308), - 316: uint16(308), - 317: uint16(308), - 318: uint16(309), - 319: uint16(309), - 320: uint16(309), - 321: uint16(313), - 322: uint16(315), - 323: uint16(315), + 268: uint16(292), + 269: uint16(292), + 270: uint16(288), + 271: uint16(288), + 272: uint16(294), + 273: uint16(295), + 274: uint16(295), + 275: uint16(293), + 276: uint16(293), + 277: uint16(293), + 278: uint16(293), + 279: uint16(218), + 280: uint16(218), + 281: uint16(237), + 282: uint16(237), + 283: uint16(237), + 284: uint16(191), + 285: uint16(191), + 286: uint16(191), + 287: uint16(297), + 288: uint16(297), + 289: uint16(191), + 290: uint16(191), + 291: uint16(191), + 292: uint16(191), + 293: uint16(191), + 294: uint16(191), + 295: uint16(191), + 296: uint16(298), + 297: uint16(191), + 298: uint16(191), + 299: uint16(191), + 300: uint16(300), + 301: uint16(302), + 302: uint16(303), + 303: uint16(303), + 304: uint16(304), + 305: uint16(268), + 306: uint16(268), + 307: uint16(307), + 308: uint16(307), + 309: uint16(307), + 310: uint16(306), + 311: uint16(308), + 312: uint16(242), + 313: uint16(242), + 314: uint16(309), + 315: uint16(310), + 316: uint16(311), + 317: uint16(311), + 318: uint16(311), + 319: uint16(311), + 320: uint16(311), + 321: uint16(312), + 322: uint16(312), + 323: uint16(312), 324: uint16(316), - 325: uint16(316), - 326: uint16(314), - 327: uint16(314), - 328: uint16(317), + 325: uint16(318), + 326: uint16(318), + 327: uint16(319), + 328: uint16(319), 329: uint16(317), - 330: uint16(318), - 331: uint16(318), - 332: uint16(318), - 333: uint16(251), - 334: uint16(273), - 335: uint16(273), - 336: uint16(273), - 337: uint16(312), - 338: uint16(312), - 339: uint16(311), - 340: uint16(185), - 341: uint16(186), - 342: uint16(186), - 343: uint16(187), - 344: uint16(187), + 330: uint16(317), + 331: uint16(320), + 332: uint16(320), + 333: uint16(321), + 334: uint16(321), + 335: uint16(321), + 336: uint16(252), + 337: uint16(275), + 338: uint16(275), + 339: uint16(275), + 340: uint16(315), + 341: uint16(315), + 342: uint16(314), + 343: uint16(217), + 344: uint16(186), 345: uint16(187), - 346: uint16(192), - 347: uint16(192), - 348: uint16(192), - 349: uint16(194), - 350: uint16(194), - 351: uint16(190), - 352: uint16(203), - 353: uint16(201), - 354: uint16(201), - 355: uint16(193), - 356: uint16(193), - 357: uint16(208), - 358: uint16(209), - 359: uint16(210), - 360: uint16(210), - 361: uint16(207), - 362: uint16(207), - 363: uint16(215), - 364: uint16(215), - 365: uint16(215), - 366: uint16(202), - 367: uint16(228), - 368: uint16(228), - 369: uint16(229), - 370: uint16(233), - 371: uint16(235), - 372: uint16(239), - 373: uint16(240), - 374: uint16(254), - 375: uint16(255), - 376: uint16(264), - 377: uint16(272), - 378: uint16(217), - 379: uint16(274), - 380: uint16(278), - 381: uint16(261), - 382: uint16(284), - 383: uint16(284), - 384: uint16(284), - 385: uint16(284), - 386: uint16(284), - 387: uint16(211), - 388: uint16(289), - 389: uint16(289), - 390: uint16(292), - 391: uint16(293), - 392: uint16(294), - 393: uint16(294), - 394: uint16(297), - 395: uint16(297), - 396: uint16(299), - 397: uint16(299), - 398: uint16(300), - 399: uint16(303), - 400: uint16(303), - 401: uint16(303), - 402: uint16(266), - 403: uint16(306), - 404: uint16(308), + 346: uint16(187), + 347: uint16(188), + 348: uint16(188), + 349: uint16(188), + 350: uint16(193), + 351: uint16(193), + 352: uint16(193), + 353: uint16(195), + 354: uint16(195), + 355: uint16(191), + 356: uint16(204), + 357: uint16(202), + 358: uint16(202), + 359: uint16(194), + 360: uint16(194), + 361: uint16(209), + 362: uint16(210), + 363: uint16(211), + 364: uint16(211), + 365: uint16(208), + 366: uint16(208), + 367: uint16(216), + 368: uint16(216), + 369: uint16(216), + 370: uint16(203), + 371: uint16(229), + 372: uint16(229), + 373: uint16(230), + 374: uint16(234), + 375: uint16(236), + 376: uint16(240), + 377: uint16(241), + 378: uint16(256), + 379: uint16(257), + 380: uint16(266), + 381: uint16(274), + 382: uint16(218), + 383: uint16(276), + 384: uint16(280), + 385: uint16(263), + 386: uint16(286), + 387: uint16(286), + 388: uint16(286), + 389: uint16(286), + 390: uint16(286), + 391: uint16(212), + 392: uint16(291), + 393: uint16(291), + 394: uint16(294), + 395: uint16(295), + 396: uint16(296), + 397: uint16(296), + 398: uint16(299), + 399: uint16(299), + 400: uint16(301), + 401: uint16(301), + 402: uint16(302), + 403: uint16(305), + 404: uint16(305), + 405: uint16(305), + 406: uint16(268), + 407: uint16(309), + 408: uint16(311), } // C documentation // // /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number // ** of symbols on the right-hand side of that rule. */ -var _yyRuleInfoNRhs = [405]int8{ +var _yyRuleInfoNRhs = [409]int8{ 0: int8(-int32(1)), 1: int8(-int32(3)), 2: int8(-int32(1)), @@ -159315,273 +160789,277 @@ var _yyRuleInfoNRhs = [405]int8{ 92: int8(-int32(9)), 93: int8(-int32(10)), 94: int8(-int32(4)), - 95: int8(-int32(5)), - 96: int8(-int32(1)), - 97: int8(-int32(1)), - 100: int8(-int32(5)), - 101: int8(-int32(3)), + 95: int8(-int32(1)), + 96: int8(-int32(5)), + 97: int8(-int32(5)), + 98: int8(-int32(1)), + 99: int8(-int32(1)), 102: int8(-int32(5)), - 103: int8(-int32(2)), - 106: int8(-int32(2)), - 107: int8(-int32(2)), - 109: int8(-int32(5)), - 110: int8(-int32(6)), - 111: int8(-int32(8)), + 103: int8(-int32(3)), + 104: int8(-int32(5)), + 105: int8(-int32(2)), + 108: int8(-int32(2)), + 109: int8(-int32(2)), + 111: int8(-int32(5)), 112: int8(-int32(6)), - 113: int8(-int32(6)), - 115: int8(-int32(2)), - 116: int8(-int32(1)), - 117: int8(-int32(3)), + 113: int8(-int32(8)), + 114: int8(-int32(6)), + 115: int8(-int32(6)), + 117: int8(-int32(2)), 118: int8(-int32(1)), 119: int8(-int32(3)), - 120: int8(-int32(5)), + 120: int8(-int32(1)), 121: int8(-int32(3)), - 122: int8(-int32(1)), - 123: int8(-int32(2)), - 124: int8(-int32(3)), - 125: int8(-int32(4)), - 126: int8(-int32(2)), + 122: int8(-int32(5)), + 123: int8(-int32(3)), + 124: int8(-int32(1)), + 125: int8(-int32(2)), + 126: int8(-int32(3)), 127: int8(-int32(4)), - 130: int8(-int32(3)), - 131: int8(-int32(2)), - 133: int8(-int32(3)), - 134: int8(-int32(5)), + 128: int8(-int32(2)), + 129: int8(-int32(4)), + 132: int8(-int32(3)), + 133: int8(-int32(2)), 135: int8(-int32(3)), - 136: int8(-int32(1)), - 137: int8(-int32(1)), - 139: int8(-int32(2)), - 140: int8(-int32(2)), - 143: int8(-int32(3)), - 145: int8(-int32(2)), + 136: int8(-int32(5)), + 137: int8(-int32(3)), + 138: int8(-int32(1)), + 139: int8(-int32(1)), + 141: int8(-int32(2)), + 142: int8(-int32(2)), + 145: int8(-int32(3)), 147: int8(-int32(2)), - 148: int8(-int32(4)), - 149: int8(-int32(4)), - 150: int8(-int32(6)), - 152: int8(-int32(2)), + 149: int8(-int32(2)), + 150: int8(-int32(4)), + 151: int8(-int32(4)), + 152: int8(-int32(6)), 154: int8(-int32(2)), - 155: int8(-int32(2)), - 156: int8(-int32(4)), - 157: int8(-int32(9)), - 158: int8(-int32(5)), - 159: int8(-int32(7)), - 160: int8(-int32(3)), - 161: int8(-int32(5)), - 162: int8(-int32(7)), - 163: int8(-int32(8)), - 165: int8(-int32(2)), - 166: int8(-int32(12)), - 167: int8(-int32(9)), - 168: int8(-int32(5)), - 169: int8(-int32(8)), - 170: int8(-int32(2)), - 171: int8(-int32(2)), - 172: int8(-int32(1)), - 174: int8(-int32(3)), - 175: int8(-int32(3)), - 176: int8(-int32(1)), + 156: int8(-int32(2)), + 157: int8(-int32(2)), + 158: int8(-int32(4)), + 159: int8(-int32(9)), + 160: int8(-int32(5)), + 161: int8(-int32(7)), + 162: int8(-int32(3)), + 163: int8(-int32(5)), + 164: int8(-int32(7)), + 165: int8(-int32(8)), + 167: int8(-int32(2)), + 168: int8(-int32(12)), + 169: int8(-int32(9)), + 170: int8(-int32(5)), + 171: int8(-int32(8)), + 172: int8(-int32(2)), + 173: int8(-int32(2)), + 174: int8(-int32(1)), + 176: int8(-int32(3)), 177: int8(-int32(3)), 178: int8(-int32(1)), 179: int8(-int32(3)), - 180: int8(-int32(5)), - 181: int8(-int32(1)), - 182: int8(-int32(1)), + 180: int8(-int32(1)), + 181: int8(-int32(3)), + 182: int8(-int32(5)), 183: int8(-int32(1)), 184: int8(-int32(1)), - 185: int8(-int32(3)), - 186: int8(-int32(6)), - 187: int8(-int32(5)), - 188: int8(-int32(8)), - 189: int8(-int32(4)), - 190: int8(-int32(6)), - 191: int8(-int32(9)), - 192: int8(-int32(5)), - 193: int8(-int32(1)), + 185: int8(-int32(1)), + 186: int8(-int32(1)), + 187: int8(-int32(3)), + 188: int8(-int32(6)), + 189: int8(-int32(5)), + 190: int8(-int32(8)), + 191: int8(-int32(4)), + 192: int8(-int32(6)), + 193: int8(-int32(9)), 194: int8(-int32(5)), - 195: int8(-int32(3)), - 196: int8(-int32(3)), + 195: int8(-int32(1)), + 196: int8(-int32(5)), 197: int8(-int32(3)), 198: int8(-int32(3)), 199: int8(-int32(3)), 200: int8(-int32(3)), 201: int8(-int32(3)), 202: int8(-int32(3)), - 203: int8(-int32(2)), + 203: int8(-int32(3)), 204: int8(-int32(3)), - 205: int8(-int32(5)), - 206: int8(-int32(2)), - 207: int8(-int32(3)), - 208: int8(-int32(3)), - 209: int8(-int32(4)), - 210: int8(-int32(6)), - 211: int8(-int32(5)), - 212: int8(-int32(2)), - 213: int8(-int32(2)), + 205: int8(-int32(2)), + 206: int8(-int32(3)), + 207: int8(-int32(5)), + 208: int8(-int32(2)), + 209: int8(-int32(3)), + 210: int8(-int32(3)), + 211: int8(-int32(4)), + 212: int8(-int32(6)), + 213: int8(-int32(5)), 214: int8(-int32(2)), - 215: int8(-int32(3)), - 216: int8(-int32(1)), - 217: int8(-int32(2)), - 218: int8(-int32(5)), - 219: int8(-int32(1)), - 220: int8(-int32(2)), - 221: int8(-int32(5)), - 222: int8(-int32(3)), + 215: int8(-int32(2)), + 216: int8(-int32(2)), + 217: int8(-int32(3)), + 218: int8(-int32(1)), + 219: int8(-int32(2)), + 220: int8(-int32(5)), + 221: int8(-int32(1)), + 222: int8(-int32(2)), 223: int8(-int32(5)), - 224: int8(-int32(5)), - 225: int8(-int32(4)), + 224: int8(-int32(3)), + 225: int8(-int32(5)), 226: int8(-int32(5)), - 227: int8(-int32(5)), - 228: int8(-int32(4)), - 229: int8(-int32(2)), - 233: int8(-int32(3)), - 234: int8(-int32(1)), - 236: int8(-int32(3)), - 237: int8(-int32(12)), - 238: int8(-int32(1)), - 241: int8(-int32(3)), - 242: int8(-int32(5)), + 227: int8(-int32(4)), + 228: int8(-int32(5)), + 229: int8(-int32(5)), + 230: int8(-int32(4)), + 231: int8(-int32(2)), + 235: int8(-int32(3)), + 236: int8(-int32(1)), + 238: int8(-int32(3)), + 239: int8(-int32(12)), + 240: int8(-int32(1)), 243: int8(-int32(3)), - 245: int8(-int32(2)), - 246: int8(-int32(4)), + 244: int8(-int32(5)), + 245: int8(-int32(3)), 247: int8(-int32(2)), - 248: int8(-int32(3)), + 248: int8(-int32(4)), 249: int8(-int32(2)), - 251: int8(-int32(3)), - 252: int8(-int32(5)), - 253: int8(-int32(6)), + 250: int8(-int32(3)), + 251: int8(-int32(2)), + 253: int8(-int32(3)), 254: int8(-int32(5)), 255: int8(-int32(6)), - 256: int8(-int32(2)), - 257: int8(-int32(2)), - 258: int8(-int32(5)), - 259: int8(-int32(11)), - 260: int8(-int32(1)), - 261: int8(-int32(2)), - 263: int8(-int32(1)), - 264: int8(-int32(1)), - 265: int8(-int32(3)), - 267: int8(-int32(2)), - 268: int8(-int32(3)), + 256: int8(-int32(5)), + 257: int8(-int32(6)), + 258: int8(-int32(2)), + 259: int8(-int32(2)), + 260: int8(-int32(5)), + 261: int8(-int32(11)), + 262: int8(-int32(1)), + 263: int8(-int32(2)), + 265: int8(-int32(1)), + 266: int8(-int32(1)), + 267: int8(-int32(3)), 269: int8(-int32(2)), 270: int8(-int32(3)), - 271: int8(-int32(3)), - 272: int8(-int32(2)), - 273: int8(-int32(9)), - 274: int8(-int32(8)), - 275: int8(-int32(6)), - 276: int8(-int32(3)), - 277: int8(-int32(4)), - 278: int8(-int32(6)), - 279: int8(-int32(1)), - 280: int8(-int32(1)), + 271: int8(-int32(2)), + 272: int8(-int32(3)), + 273: int8(-int32(3)), + 274: int8(-int32(2)), + 275: int8(-int32(9)), + 276: int8(-int32(8)), + 277: int8(-int32(6)), + 278: int8(-int32(3)), + 279: int8(-int32(4)), + 280: int8(-int32(6)), 281: int8(-int32(1)), - 282: int8(-int32(4)), - 283: int8(-int32(6)), - 284: int8(-int32(3)), - 286: int8(-int32(2)), - 287: int8(-int32(1)), - 288: int8(-int32(3)), + 282: int8(-int32(1)), + 283: int8(-int32(1)), + 284: int8(-int32(4)), + 285: int8(-int32(6)), + 286: int8(-int32(3)), + 288: int8(-int32(2)), 289: int8(-int32(1)), 290: int8(-int32(3)), - 291: int8(-int32(6)), - 292: int8(-int32(7)), + 291: int8(-int32(1)), + 292: int8(-int32(3)), 293: int8(-int32(6)), - 294: int8(-int32(1)), - 295: int8(-int32(8)), + 294: int8(-int32(7)), + 295: int8(-int32(6)), 296: int8(-int32(1)), - 297: int8(-int32(4)), - 298: int8(-int32(8)), - 300: int8(-int32(1)), - 301: int8(-int32(3)), + 297: int8(-int32(8)), + 298: int8(-int32(1)), + 299: int8(-int32(4)), + 300: int8(-int32(8)), 302: int8(-int32(1)), - 303: int8(-int32(2)), - 304: int8(-int32(3)), - 305: int8(-int32(1)), - 306: int8(-int32(2)), - 307: int8(-int32(3)), - 308: int8(-int32(6)), - 309: int8(-int32(1)), - 310: int8(-int32(3)), - 311: int8(-int32(3)), - 312: int8(-int32(5)), - 313: int8(-int32(5)), - 314: int8(-int32(6)), - 315: int8(-int32(4)), + 303: int8(-int32(3)), + 304: int8(-int32(1)), + 305: int8(-int32(2)), + 306: int8(-int32(3)), + 307: int8(-int32(1)), + 308: int8(-int32(2)), + 309: int8(-int32(3)), + 310: int8(-int32(6)), + 311: int8(-int32(1)), + 312: int8(-int32(1)), + 313: int8(-int32(3)), + 314: int8(-int32(3)), + 315: int8(-int32(5)), 316: int8(-int32(5)), - 317: int8(-int32(2)), - 319: int8(-int32(3)), - 320: int8(-int32(6)), - 321: int8(-int32(1)), - 322: int8(-int32(1)), - 323: int8(-int32(2)), + 317: int8(-int32(6)), + 318: int8(-int32(4)), + 319: int8(-int32(5)), + 320: int8(-int32(2)), + 322: int8(-int32(3)), + 323: int8(-int32(6)), 324: int8(-int32(1)), - 325: int8(-int32(2)), + 325: int8(-int32(1)), 326: int8(-int32(2)), - 327: int8(-int32(2)), + 327: int8(-int32(1)), + 328: int8(-int32(2)), 329: int8(-int32(2)), 330: int8(-int32(2)), - 331: int8(-int32(2)), - 332: int8(-int32(1)), + 332: int8(-int32(2)), 333: int8(-int32(2)), 334: int8(-int32(2)), 335: int8(-int32(1)), - 336: int8(-int32(1)), - 337: int8(-int32(4)), - 338: int8(-int32(2)), - 339: int8(-int32(5)), - 340: int8(-int32(1)), + 336: int8(-int32(2)), + 337: int8(-int32(2)), + 338: int8(-int32(1)), + 339: int8(-int32(1)), + 340: int8(-int32(4)), 341: int8(-int32(2)), - 342: int8(-int32(1)), + 342: int8(-int32(5)), 343: int8(-int32(1)), - 344: int8(-int32(2)), - 345: int8(-int32(3)), + 344: int8(-int32(1)), + 345: int8(-int32(2)), + 346: int8(-int32(1)), 347: int8(-int32(1)), 348: int8(-int32(2)), - 349: int8(-int32(1)), - 351: int8(-int32(2)), - 352: int8(-int32(1)), - 353: int8(-int32(4)), - 354: int8(-int32(2)), - 355: int8(-int32(1)), + 349: int8(-int32(3)), + 351: int8(-int32(1)), + 352: int8(-int32(2)), + 353: int8(-int32(1)), + 355: int8(-int32(2)), 356: int8(-int32(1)), - 357: int8(-int32(1)), - 358: int8(-int32(1)), + 357: int8(-int32(4)), + 358: int8(-int32(2)), 359: int8(-int32(1)), 360: int8(-int32(1)), - 361: int8(-int32(2)), - 363: int8(-int32(2)), - 364: int8(-int32(4)), + 361: int8(-int32(1)), + 362: int8(-int32(1)), + 363: int8(-int32(1)), + 364: int8(-int32(1)), 365: int8(-int32(2)), - 366: int8(-int32(2)), - 367: int8(-int32(3)), - 368: int8(-int32(1)), - 370: int8(-int32(1)), - 371: int8(-int32(1)), + 367: int8(-int32(2)), + 368: int8(-int32(4)), + 369: int8(-int32(2)), + 370: int8(-int32(2)), + 371: int8(-int32(3)), 372: int8(-int32(1)), - 373: int8(-int32(1)), - 374: int8(-int32(2)), + 374: int8(-int32(1)), 375: int8(-int32(1)), 376: int8(-int32(1)), - 378: int8(-int32(1)), + 377: int8(-int32(1)), + 378: int8(-int32(2)), 379: int8(-int32(1)), 380: int8(-int32(1)), - 381: int8(-int32(1)), 382: int8(-int32(1)), 383: int8(-int32(1)), 384: int8(-int32(1)), 385: int8(-int32(1)), 386: int8(-int32(1)), 387: int8(-int32(1)), - 389: int8(-int32(3)), + 388: int8(-int32(1)), + 389: int8(-int32(1)), 390: int8(-int32(1)), - 392: int8(-int32(1)), - 395: int8(-int32(1)), + 391: int8(-int32(1)), + 393: int8(-int32(3)), + 394: int8(-int32(1)), 396: int8(-int32(1)), - 397: int8(-int32(3)), - 398: int8(-int32(2)), - 400: int8(-int32(4)), - 401: int8(-int32(2)), - 403: int8(-int32(1)), - 404: int8(-int32(1)), + 399: int8(-int32(1)), + 400: int8(-int32(1)), + 401: int8(-int32(3)), + 402: int8(-int32(2)), + 404: int8(-int32(4)), + 405: int8(-int32(2)), + 407: int8(-int32(1)), + 408: int8(-int32(1)), } // C documentation @@ -159599,18 +161077,19 @@ var _yyRuleInfoNRhs = [405]int8{ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken TToken, pParse uintptr) (r uint16) { bp := tls.Alloc(144) defer tls.Free(144) - var bNot, bNot1, nExpr, yygoto, yysize, v344 int32 + var bNot, bNot1, nExpr, yygoto, yysize int32 var n Tu32 - var p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v343, v345, v346, v347, v348 uintptr + var op Tu8 + var p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v347, v348, v349, v350, v351 uintptr var yyact uint16 - var v349 TToken + var v352 TToken var _ /* all at bp+104 */ TToken var _ /* as at bp+72 */ TToken var _ /* dest at bp+16 */ TSelectDest var _ /* t at bp+88 */ TToken var _ /* x at bp+56 */ TToken var _ /* yylhsminor at bp+0 */ TYYMINORTYPE - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v343, v344, v345, v346, v347, v348, v349 /* Amount to pop the stack */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, op, p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v347, v348, v349, v350, v351, v352 /* Amount to pop the stack */ _ = yyLookahead _ = yyLookaheadToken yymsp = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos @@ -159631,7 +161110,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _7 case uint32(7): goto _8 - case uint32(321): + case uint32(324): goto _9 case uint32(9): goto _10 @@ -159659,9 +161138,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _21 case uint32(81): goto _22 - case uint32(98): + case uint32(100): goto _23 - case uint32(244): + case uint32(246): goto _24 case uint32(16): goto _25 @@ -159685,7 +161164,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _34 case uint32(26): goto _35 - case uint32(104): + case uint32(106): goto _36 case uint32(27): goto _37 @@ -159759,17 +161238,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _71 case uint32(61): goto _72 - case uint32(171): + case uint32(173): goto _73 case uint32(80): goto _74 case uint32(63): goto _75 - case uint32(217): + case uint32(219): goto _76 - case uint32(220): + case uint32(222): goto _77 - case uint32(245): + case uint32(247): goto _78 case uint32(64): goto _79 @@ -159791,7 +161270,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _87 case uint32(77): goto _88 - case uint32(172): + case uint32(174): goto _89 case uint32(78): goto _90 @@ -159825,47 +161304,47 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _104 case uint32(95): goto _105 - case uint32(96): - goto _106 case uint32(97): + goto _106 + case uint32(96): goto _107 - case uint32(132): + case uint32(98): goto _108 case uint32(99): goto _109 - case uint32(142): + case uint32(134): goto _110 - case uint32(232): + case uint32(101): goto _111 - case uint32(235): + case uint32(144): goto _112 - case uint32(240): + case uint32(234): goto _113 - case uint32(100): + case uint32(237): goto _114 - case uint32(101): + case uint32(242): goto _115 case uint32(102): goto _116 - case uint32(115): - goto _117 case uint32(103): + goto _117 + case uint32(104): goto _118 - case uint32(256): + case uint32(117): goto _119 - case uint32(257): + case uint32(105): goto _120 - case uint32(108): + case uint32(258): goto _121 - case uint32(105): + case uint32(259): goto _122 - case uint32(106): + case uint32(110): goto _123 case uint32(107): goto _124 - case uint32(109): + case uint32(108): goto _125 - case uint32(110): + case uint32(109): goto _126 case uint32(111): goto _127 @@ -159873,13 +161352,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _128 case uint32(113): goto _129 - case uint32(129): - goto _130 case uint32(114): + goto _130 + case uint32(115): goto _131 - case uint32(116): + case uint32(131): goto _132 - case uint32(117): + case uint32(116): goto _133 case uint32(118): goto _134 @@ -159903,15 +161382,15 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _143 case uint32(128): goto _144 - case uint32(130): + case uint32(129): goto _145 - case uint32(131): + case uint32(130): goto _146 - case uint32(143): + case uint32(132): goto _147 case uint32(133): goto _148 - case uint32(134): + case uint32(145): goto _149 case uint32(135): goto _150 @@ -159919,49 +161398,49 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _151 case uint32(137): goto _152 - case uint32(141): - goto _153 case uint32(138): - goto _154 + goto _153 case uint32(139): + goto _154 + case uint32(143): goto _155 case uint32(140): goto _156 - case uint32(146): + case uint32(141): goto _157 - case uint32(144): + case uint32(142): goto _158 - case uint32(151): + case uint32(148): goto _159 - case uint32(153): + case uint32(146): goto _160 - case uint32(230): + case uint32(153): goto _161 - case uint32(231): + case uint32(155): goto _162 - case uint32(250): + case uint32(232): goto _163 - case uint32(152): + case uint32(233): goto _164 - case uint32(145): + case uint32(252): goto _165 case uint32(154): goto _166 - case uint32(229): + case uint32(147): goto _167 - case uint32(249): + case uint32(156): goto _168 - case uint32(147): + case uint32(231): goto _169 - case uint32(148): + case uint32(251): goto _170 case uint32(149): goto _171 case uint32(150): goto _172 - case uint32(155): + case uint32(151): goto _173 - case uint32(156): + case uint32(152): goto _174 case uint32(157): goto _175 @@ -159991,9 +161470,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _187 case uint32(170): goto _188 - case uint32(173): + case uint32(171): goto _189 - case uint32(174): + case uint32(172): goto _190 case uint32(175): goto _191 @@ -160007,13 +161486,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _195 case uint32(180): goto _196 - case uint32(182): - goto _197 case uint32(181): + goto _197 + case uint32(182): goto _198 - case uint32(183): - goto _199 case uint32(184): + goto _199 + case uint32(183): goto _200 case uint32(185): goto _201 @@ -160037,13 +161516,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _210 case uint32(195): goto _211 - case uint32(197): - goto _212 case uint32(196): + goto _212 + case uint32(197): goto _213 - case uint32(198): - goto _214 case uint32(199): + goto _214 + case uint32(198): goto _215 case uint32(200): goto _216 @@ -160069,23 +161548,23 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _226 case uint32(211): goto _227 - case uint32(213): - goto _228 case uint32(212): + goto _228 + case uint32(213): goto _229 - case uint32(214): - goto _230 case uint32(215): + goto _230 + case uint32(214): goto _231 - case uint32(219): - goto _232 case uint32(216): + goto _232 + case uint32(217): goto _233 - case uint32(218): - goto _234 case uint32(221): + goto _234 + case uint32(218): goto _235 - case uint32(222): + case uint32(220): goto _236 case uint32(223): goto _237 @@ -160099,35 +161578,35 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _241 case uint32(228): goto _242 - case uint32(233): + case uint32(229): goto _243 - case uint32(234): + case uint32(230): goto _244 - case uint32(241): + case uint32(235): goto _245 case uint32(236): goto _246 - case uint32(237): + case uint32(243): goto _247 - case uint32(280): - goto _248 case uint32(238): - goto _249 + goto _248 case uint32(239): + goto _249 + case uint32(282): goto _250 - case uint32(242): + case uint32(240): goto _251 - case uint32(243): + case uint32(241): goto _252 - case uint32(246): + case uint32(244): goto _253 - case uint32(247): + case uint32(245): goto _254 case uint32(248): goto _255 - case uint32(251): + case uint32(249): goto _256 - case uint32(252): + case uint32(250): goto _257 case uint32(253): goto _258 @@ -160135,9 +161614,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _259 case uint32(255): goto _260 - case uint32(258): + case uint32(256): goto _261 - case uint32(259): + case uint32(257): goto _262 case uint32(260): goto _263 @@ -160145,21 +161624,21 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _264 case uint32(262): goto _265 - case uint32(264): - goto _266 case uint32(263): + goto _266 + case uint32(264): goto _267 - case uint32(265): + case uint32(266): goto _268 - case uint32(285): + case uint32(265): goto _269 - case uint32(266): + case uint32(267): goto _270 - case uint32(286): + case uint32(287): goto _271 - case uint32(267): - goto _272 case uint32(268): + goto _272 + case uint32(288): goto _273 case uint32(269): goto _274 @@ -160183,17 +161662,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _283 case uint32(279): goto _284 - case uint32(281): + case uint32(280): goto _285 - case uint32(282): + case uint32(281): goto _286 case uint32(283): goto _287 case uint32(284): goto _288 - case uint32(287): + case uint32(285): goto _289 - case uint32(288): + case uint32(286): goto _290 case uint32(289): goto _291 @@ -160217,19 +161696,19 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _300 case uint32(299): goto _301 - case uint32(301): - goto _302 case uint32(300): + goto _302 + case uint32(301): goto _303 - case uint32(302): + case uint32(303): goto _304 - case uint32(304): + case uint32(302): goto _305 - case uint32(303): + case uint32(304): goto _306 - case uint32(305): - goto _307 case uint32(306): + goto _307 + case uint32(305): goto _308 case uint32(307): goto _309 @@ -160259,31 +161738,31 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _321 case uint32(320): goto _322 - case uint32(324): + case uint32(321): goto _323 case uint32(322): goto _324 - case uint32(325): - goto _325 case uint32(323): - goto _326 + goto _325 case uint32(327): + goto _326 + case uint32(325): goto _327 - case uint32(326): - goto _328 case uint32(328): + goto _328 + case uint32(326): goto _329 - case uint32(329): + case uint32(330): goto _330 - case uint32(331): + case uint32(329): goto _331 - case uint32(330): + case uint32(331): goto _332 case uint32(332): goto _333 - case uint32(333): - goto _334 case uint32(334): + goto _334 + case uint32(333): goto _335 case uint32(335): goto _336 @@ -160295,34 +161774,42 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _339 case uint32(339): goto _340 - default: + case uint32(340): goto _341 + case uint32(341): + goto _342 + case uint32(342): + goto _343 + case uint32(343): + goto _344 + default: + goto _345 } - goto _342 + goto _346 _1: ; /* explain ::= EXPLAIN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(1) } - goto _342 + goto _346 _2: ; /* explain ::= EXPLAIN QUERY PLAN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(2) } - goto _342 + goto _346 _3: ; /* cmdx ::= cmd */ _sqlite3FinishCoding(tls, pParse) - goto _342 + goto _346 _4: ; /* cmd ::= BEGIN transtype trans_opt */ _sqlite3BeginTransaction(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _5: ; /* transtype ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_DEFERRED) - goto _342 + goto _346 _7: ; /* transtype ::= DEFERRED */ _6: @@ -160332,33 +161819,33 @@ _8: _9: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 + goto _346 _11: ; /* cmd ::= COMMIT|END trans_opt */ _10: ; _sqlite3EndTransaction(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor)) - goto _342 + goto _346 _12: ; /* cmd ::= SAVEPOINT nm */ _sqlite3Savepoint(tls, pParse, SAVEPOINT_BEGIN, yymsp+8) - goto _342 + goto _346 _13: ; /* cmd ::= RELEASE savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_RELEASE), yymsp+8) - goto _342 + goto _346 _14: ; /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_ROLLBACK), yymsp+8) - goto _342 + goto _346 _15: ; /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ _sqlite3StartTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), 0, 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _16: ; /* createkw ::= CREATE */ _disableLookaside(tls, pParse) - goto _342 + goto _346 _18: ; /* ifnotexists ::= */ _17: @@ -160376,56 +161863,56 @@ _23: _24: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = 0 - goto _342 + goto _346 _25: ; /* ifnotexists ::= IF NOT EXISTS */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(1) - goto _342 + goto _346 _26: ; /* temp ::= TEMP */ *(*int32)(unsafe.Pointer(yymsp + 8)) = libc.BoolInt32(int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0) - goto _342 + goto _346 _27: ; /* create_table_args ::= LP columnlist conslist_opt RP table_option_set */ _sqlite3EndTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*Tu32)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 + goto _346 _28: ; /* create_table_args ::= AS select */ _sqlite3EndTable(tls, pParse, uintptr(0), uintptr(0), uint32(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _29: ; /* table_option_set ::= */ *(*Tu32)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint32(0) - goto _342 + goto _346 _30: ; /* table_option_set ::= table_option_set COMMA table_option */ *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) | *(*Tu32)(unsafe.Pointer(yymsp + 8)) *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _31: ; /* table_option ::= WITHOUT nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16694, int32(5)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16781, int32(5)) == 0 { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) } else { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23358, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23481, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } - goto _342 + goto _346 _32: ; /* table_option ::= nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16607, int32(6)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16694, int32(6)) == 0 { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(TF_Strict) } else { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23358, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23481, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } *(*Tu32)(unsafe.Pointer(yymsp + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _33: ; /* columnname ::= nm typetoken */ _sqlite3AddColumn(tls, pParse, *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*TToken)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _35: ; /* typetoken ::= */ _34: @@ -160434,52 +161921,52 @@ _36: ; *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 + goto _346 _37: ; /* typetoken ::= typename LP signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) - goto _342 + goto _346 _38: ; /* typetoken ::= typename LP signed COMMA signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))))) - goto _342 + goto _346 _39: ; /* typename ::= typename ID|STRING */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) + uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) - goto _342 + goto _346 _40: ; /* scanpt ::= */ _ = libc.Int32FromInt32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken.Fz - goto _342 + goto _346 _41: ; /* scantok ::= */ _ = libc.Int32FromInt32(0) *(*TToken)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken - goto _342 + goto _346 _43: ; /* ccons ::= CONSTRAINT nm */ _42: ; (*TParse)(unsafe.Pointer(pParse)).FconstraintName = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _44: ; /* ccons ::= DEFAULT scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _45: ; /* ccons ::= DEFAULT LP expr RP */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))+uintptr(1), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _46: ; /* ccons ::= DEFAULT PLUS scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _47: ; /* ccons ::= DEFAULT MINUS scantok term */ p = _sqlite3PExpr(tls, pParse, int32(TK_UMINUS), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) _sqlite3AddDefaultValue(tls, pParse, p, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _48: ; /* ccons ::= DEFAULT scantok ID|INDEXED */ p1 = _tokenExpr(tls, pParse, int32(TK_STRING), *(*TToken)(unsafe.Pointer(yymsp + 8))) @@ -160487,99 +161974,99 @@ _48: _sqlite3ExprIdToTrueFalse(tls, p1) } _sqlite3AddDefaultValue(tls, pParse, p1, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - goto _342 + goto _346 _49: ; /* ccons ::= NOT NULL onconf */ _sqlite3AddNotNull(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _50: ; /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ _sqlite3AddPrimaryKey(tls, pParse, uintptr(0), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _51: ; /* ccons ::= UNIQUE onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _52: ; /* ccons ::= CHECK LP expr RP */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _53: ; /* ccons ::= REFERENCES nm eidlist_opt refargs */ _sqlite3CreateForeignKey(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _54: ; /* ccons ::= defer_subclause */ _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _55: ; /* ccons ::= COLLATE ID|STRING */ _sqlite3AddCollateType(tls, pParse, yymsp+8) - goto _342 + goto _346 _56: ; /* generated ::= LP expr RP */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 + goto _346 _57: ; /* generated ::= LP expr RP ID */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 + goto _346 _58: ; /* autoinc ::= AUTOINCR */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(1) - goto _342 + goto _346 _59: ; /* refargs ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = libc.Int32FromInt32(OE_None) * libc.Int32FromInt32(0x0101) /* EV: R-19803-45884 */ - goto _342 + goto _346 _60: ; /* refargs ::= refargs refarg */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) & ^*(*int32)(unsafe.Pointer(yymsp + 8 + 4)) | *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _61: ; /* refarg ::= MATCH nm */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _62: ; /* refarg ::= ON INSERT refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _63: ; /* refarg ::= ON DELETE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x0000ff) - goto _342 + goto _346 _64: ; /* refarg ::= ON UPDATE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) << int32(8) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x00ff00) - goto _342 + goto _346 _65: ; /* refact ::= SET NULL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetNull) /* EV: R-33326-45252 */ - goto _342 + goto _346 _66: ; /* refact ::= SET DEFAULT */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetDflt) /* EV: R-33326-45252 */ - goto _342 + goto _346 _67: ; /* refact ::= CASCADE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Cascade) /* EV: R-33326-45252 */ - goto _342 + goto _346 _68: ; /* refact ::= RESTRICT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Restrict) /* EV: R-33326-45252 */ - goto _342 + goto _346 _69: ; /* refact ::= NO ACTION */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = OE_None /* EV: R-33326-45252 */ - goto _342 + goto _346 _70: ; /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 - goto _342 + goto _346 _72: ; /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ _71: @@ -160587,7 +162074,7 @@ _71: _73: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _75: ; /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ _74: @@ -160599,64 +162086,64 @@ _77: _78: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(1) - goto _342 + goto _346 _79: ; /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 - goto _342 + goto _346 _80: ; /* tconscomma ::= COMMA */ (*TParse)(unsafe.Pointer(pParse)).FconstraintName.Fn = uint32(0) - goto _342 + goto _346 _81: ; /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ _sqlite3AddPrimaryKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), 0) - goto _342 + goto _346 _82: ; /* tcons ::= UNIQUE LP sortlist RP onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _83: ; /* tcons ::= CHECK LP expr RP onconf */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _84: ; /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ _sqlite3CreateForeignKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _86: ; /* onconf ::= */ _85: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(OE_Default) - goto _342 + goto _346 _87: ; /* onconf ::= ON CONFLICT resolvetype */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _88: ; /* resolvetype ::= IGNORE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Ignore) - goto _342 + goto _346 _90: ; /* resolvetype ::= REPLACE */ _89: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Replace) - goto _342 + goto _346 _91: ; /* cmd ::= DROP TABLE ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _92: ; /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ _sqlite3CreateView(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) - goto _342 + goto _346 _93: ; /* cmd ::= DROP VIEW ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), int32(1), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _94: ; /* cmd ::= select */ *(*TSelectDest)(unsafe.Pointer(bp + 16)) = TSelectDest{ @@ -160664,22 +162151,22 @@ _94: } _sqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), bp+16) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _95: ; /* select ::= WITH wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _96: ; /* select ::= WITH RECURSIVE wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _97: ; /* select ::= selectnowith */ p2 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) if p2 != 0 { _parserDoubleLinkSelect(tls, pParse, p2) } - goto _342 + goto _346 _98: ; /* selectnowith ::= selectnowith multiselect_op oneselect */ pRhs = *(*uintptr)(unsafe.Pointer(yymsp + 8)) @@ -160704,21 +162191,21 @@ _98: _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pLhs) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = pRhs - goto _342 + goto _346 _100: ; /* multiselect_op ::= UNION */ _99: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-OP*/ - goto _342 + goto _346 _101: ; /* multiselect_op ::= UNION ALL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_ALL) - goto _342 + goto _346 _102: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _103: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(9))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -160727,116 +162214,111 @@ _103: } else { _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) } - goto _342 + goto _346 _104: ; /* values ::= VALUES LP nexprlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) - goto _342 + goto _346 _105: - ; /* values ::= values COMMA LP nexprlist RP */ - pLeft = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) - pRight = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(libc.Int32FromInt32(SF_Values)|libc.Int32FromInt32(SF_MultiValue)), uintptr(0)) - if pLeft != 0 { - *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) - } - if pRight != 0 { - (*TSelect)(unsafe.Pointer(pRight)).Fop = uint8(TK_ALL) - (*TSelect)(unsafe.Pointer(pRight)).FpPrior = pLeft - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pRight - } else { - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pLeft - } - goto _342 + ; /* oneselect ::= mvalues */ + _sqlite3MultiValuesEnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_107: + ; /* mvalues ::= values COMMA LP nexprlist RP */ _106: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3MultiValues(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_108: ; /* distinct ::= DISTINCT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_Distinct) - goto _342 -_107: + goto _346 +_109: ; /* distinct ::= ALL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_All) - goto _342 -_109: + goto _346 +_111: ; /* sclp ::= */ -_108: - ; _110: ; -_111: - ; _112: ; _113: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 _114: + ; +_115: + ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 +_116: ; /* selcollist ::= sclp scanpt expr scanpt as */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) > uint32(0) { _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+8, int32(1)) } _sqlite3ExprListSetSpan(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_115: + goto _346 +_117: ; /* selcollist ::= sclp scanpt STAR */ p3 = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_ASTERISK), uintptr(0)) _sqlite3ExprSetErrorOffset(tls, p3, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), p3) - goto _342 -_116: + goto _346 +_118: ; /* selcollist ::= sclp scanpt nm DOT STAR */ - pRight1 = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) - _sqlite3ExprSetErrorOffset(tls, pRight1, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) - pLeft1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft1, pRight1) + pRight = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) + _sqlite3ExprSetErrorOffset(tls, pRight, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) + pLeft = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) + pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft, pRight) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pDot) - goto _342 -_118: + goto _346 +_120: ; /* as ::= AS nm */ -_117: - ; _119: ; -_120: +_121: ; - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 _122: + ; + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) + goto _346 +_124: ; /* from ::= */ -_121: +_123: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_123: + goto _346 +_125: ; /* from ::= FROM seltablist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) _sqlite3SrcListShiftJoinType(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_124: + goto _346 +_126: ; /* stl_prefix ::= seltablist joinop */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 && (*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc > 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8 + uintptr((*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc-int32(1))*104))).Ffg.Fjointype = uint8(*(*int32)(unsafe.Pointer(yymsp + 8))) } - goto _342 -_125: + goto _346 +_127: ; /* seltablist ::= stl_prefix nm dbnm as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) - goto _342 -_126: + goto _346 +_128: ; /* seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_127: + goto _346 +_129: ; /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListFuncArgs(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) - goto _342 -_128: + goto _346 +_130: ; /* seltablist ::= stl_prefix LP select RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_129: + goto _346 +_131: ; /* seltablist ::= stl_prefix LP seltablist RP as on_using */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) == uintptr(0) && *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) == uint32(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8)) == uintptr(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) @@ -160858,9 +162340,9 @@ _129: libc.SetBitFieldPtr16Uint32(pOld+60+4, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pNew+60+4, libc.Uint32FromInt32(1), 2, 0x4) } - v343 = libc.UintptrFromInt32(0) - (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v343 - (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v343 + v347 = libc.UintptrFromInt32(0) + (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v347 + (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v347 (*TSrcItem)(unsafe.Pointer(pOld)).FpSelect = uintptr(0) } _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) @@ -160870,189 +162352,189 @@ _129: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, pSubquery, yymsp+8) } } - goto _342 -_131: + goto _346 +_133: ; /* dbnm ::= */ -_130: +_132: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) - goto _342 -_132: + goto _346 +_134: ; /* fullname ::= nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_133: + goto _346 +_135: ; /* fullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_134: + goto _346 +_136: ; /* xfullname ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) /*A-overwrites-X*/ - goto _342 -_135: + goto _346 +_137: ; /* xfullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) /*A-overwrites-X*/ - goto _342 -_136: + goto _346 +_138: ; /* xfullname ::= nm DOT nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_137: + goto _346 +_139: ; /* xfullname ::= nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0)) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_138: + goto _346 +_140: ; /* joinop ::= COMMA|JOIN */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(JT_INNER) - goto _342 -_139: + goto _346 +_141: ; /* joinop ::= JOIN_KW JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), uintptr(0)) /*X-overwrites-A*/ - goto _342 -_140: + goto _346 +_142: ; /* joinop ::= JOIN_KW nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0)) /*X-overwrites-A*/ - goto _342 -_141: + goto _346 +_143: ; /* joinop ::= JOIN_KW nm nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) /*X-overwrites-A*/ - goto _342 -_142: + goto _346 +_144: ; /* on_using ::= ON expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uintptr(0) - goto _342 -_143: + goto _346 +_145: ; /* on_using ::= USING LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_144: + goto _346 +_146: ; /* on_using ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uintptr(0) - goto _342 -_145: + goto _346 +_147: ; /* indexed_by ::= INDEXED BY nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 -_146: + goto _346 +_148: ; /* indexed_by ::= NOT INDEXED */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(1) - goto _342 -_148: + goto _346 +_150: ; /* orderby_opt ::= ORDER BY sortlist */ -_147: +_149: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_149: + goto _346 +_151: ; /* sortlist ::= sortlist COMMA expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_150: + goto _346 +_152: ; /* sortlist ::= expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) /*A-overwrites-Y*/ _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_151: + goto _346 +_153: ; /* sortorder ::= ASC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = SQLITE_SO_ASC - goto _342 -_152: + goto _346 +_154: ; /* sortorder ::= DESC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_154: + goto _346 +_156: ; /* sortorder ::= */ -_153: +_155: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = -int32(1) - goto _342 -_155: + goto _346 +_157: ; /* nulls ::= NULLS FIRST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = SQLITE_SO_ASC - goto _342 -_156: + goto _346 +_158: ; /* nulls ::= NULLS LAST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_158: + goto _346 +_160: ; /* having_opt ::= */ -_157: - ; _159: ; -_160: - ; _161: ; _162: ; _163: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_165: - ; /* having_opt ::= HAVING expr */ _164: ; -_166: +_165: ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 _167: + ; /* having_opt ::= HAVING expr */ +_166: ; _168: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 _169: + ; +_170: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + goto _346 +_171: ; /* limit_opt ::= LIMIT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 -_170: + goto _346 +_172: ; /* limit_opt ::= LIMIT expr OFFSET expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_171: + goto _346 +_173: ; /* limit_opt ::= LIMIT expr COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 -_172: + goto _346 +_174: ; /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) _sqlite3DeleteFrom(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0)) - goto _342 -_173: + goto _346 +_175: ; /* where_opt_ret ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) - goto _342 -_174: + goto _346 +_176: ; /* where_opt_ret ::= WHERE expr RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) - goto _342 -_175: + goto _346 +_177: ; /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) - _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23385) + _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23508) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { pFromClause = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) if (*TSrcList)(unsafe.Pointer(pFromClause)).FnSrc > int32(1) { @@ -161064,95 +162546,95 @@ _175: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), pFromClause) } _sqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_176: + goto _346 +_178: ; /* setlist ::= setlist COMMA nm EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) - goto _342 -_177: + goto _346 +_179: ; /* setlist ::= setlist COMMA LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_178: + goto _346 +_180: ; /* setlist ::= nm EQ expr */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_179: + goto _346 +_181: ; /* setlist ::= LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_180: + goto _346 +_182: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_181: + goto _346 +_183: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0)) - goto _342 -_182: + goto _346 +_184: ; /* upsert ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_183: + goto _346 +_185: ; /* upsert ::= RETURNING selcollist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_184: + goto _346 +_186: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(11))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_185: + goto _346 +_187: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_186: + goto _346 +_188: ; /* upsert ::= ON CONFLICT DO NOTHING returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_187: + goto _346 +_189: ; /* upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_188: + goto _346 +_190: ; /* returning ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_189: + goto _346 +_191: ; /* idlist_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_190: + goto _346 +_192: ; /* idlist_opt ::= LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_191: + goto _346 +_193: ; /* idlist ::= idlist COMMA nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3IdListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 -_192: + goto _346 +_194: ; /* idlist ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3IdListAppend(tls, pParse, uintptr(0), yymsp+8) /*A-overwrites-Y*/ - goto _342 -_193: + goto _346 +_195: ; /* expr ::= LP expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_194: + goto _346 +_196: ; /* expr ::= ID|INDEXED|JOIN_KW */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_195: + goto _346 +_197: ; /* expr ::= nm DOT nm */ temp1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) temp2 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp1, temp2) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_196: + goto _346 +_198: ; /* expr ::= nm DOT nm DOT nm */ temp11 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) temp21 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) @@ -161163,22 +162645,22 @@ _196: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp11, temp4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_198: + goto _346 +_200: ; /* term ::= NULL|FLOAT|BLOB */ -_197: +_199: ; *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_199: + goto _346 +_201: ; /* term ::= INTEGER */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), yymsp+8, int32(1)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 52)) = int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8))) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_200: + goto _346 +_202: ; /* expr ::= VARIABLE */ if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8))))) == int32('#') && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)) + 1))])&int32(0x04) != 0) { n = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) @@ -161191,7 +162673,7 @@ _200: *(*TToken)(unsafe.Pointer(bp + 88)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) /*A-overwrites-X*/ _ = libc.Int32FromInt32(0) if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23394, libc.VaList(bp+128, bp+88)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23517, libc.VaList(bp+128, bp+88)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_REGISTER), uintptr(0), uintptr(0)) @@ -161200,57 +162682,57 @@ _200: } } } - goto _342 -_201: + goto _346 +_203: ; /* expr ::= expr COLLATE ID|STRING */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAddCollateToken(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8, int32(1)) - goto _342 -_202: + goto _346 +_204: ; /* expr ::= CAST LP expr AS typetoken RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_CAST), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) _sqlite3ExprAttachSubtrees(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) - goto _342 -_203: + goto _346 +_205: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_204: + goto _346 +_206: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_205: + goto _346 +_207: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_206: + goto _346 +_208: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_207: + goto _346 +_209: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_208: + goto _346 +_210: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, 0) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_209: + goto _346 +_211: ; /* term ::= CTIME_KW */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_210: + goto _346 +_212: ; /* expr ::= LP nexprlist COMMA expr RP */ pList = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_VECTOR), uintptr(0), uintptr(0)) @@ -161262,33 +162744,33 @@ _210: } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pList) } - goto _342 -_211: + goto _346 +_213: ; /* expr ::= expr AND expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_213: + goto _346 +_215: ; /* expr ::= expr OR expr */ -_212: - ; _214: ; -_215: - ; _216: ; _217: ; _218: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 _219: + ; +_220: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_221: ; /* likeop ::= NOT LIKE_KW|MATCH */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) |= uint32(0x80000000) /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/ - goto _342 -_220: + goto _346 +_222: ; /* expr ::= expr likeop expr */ bNot = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -161301,8 +162783,8 @@ _220: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_221: + goto _346 +_223: ; /* expr ::= expr likeop expr ESCAPE expr */ bNot1 = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -161316,65 +162798,69 @@ _221: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_222: + goto _346 +_224: ; /* expr ::= expr ISNULL|NOTNULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_223: + goto _346 +_225: ; /* expr ::= expr NOT NULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOTNULL), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uintptr(0)) - goto _342 -_224: + goto _346 +_226: ; /* expr ::= expr IS expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_225: + goto _346 +_227: ; /* expr ::= expr IS NOT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_226: + goto _346 +_228: ; /* expr ::= expr IS NOT DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_227: + goto _346 +_229: ; /* expr ::= expr IS DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_229: + goto _346 +_231: ; /* expr ::= NOT expr */ -_228: +_230: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) /*A-overwrites-B*/ - goto _342 -_230: + goto _346 +_232: ; /* expr ::= PLUS|MINUS expr */ - if int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) == int32(TK_PLUS) { - v344 = int32(TK_UPLUS) + p4 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + op = uint8(int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) + (libc.Int32FromInt32(TK_UPLUS) - libc.Int32FromInt32(TK_PLUS))) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if p4 != 0 && int32((*TExpr)(unsafe.Pointer(p4)).Fop) == int32(TK_UPLUS) { + (*TExpr)(unsafe.Pointer(p4)).Fop = op + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = p4 } else { - v344 = int32(TK_UMINUS) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(op), p4, uintptr(0)) + /*A-overwrites-B*/ } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, v344, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - /*A-overwrites-B*/ - goto _342 -_231: + goto _346 +_233: ; /* expr ::= expr PTR expr */ pList3 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList3 = _sqlite3ExprListAppend(tls, pParse, pList3, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, pList3, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_233: + goto _346 +_235: ; /* between_op ::= BETWEEN */ -_232: +_234: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = 0 - goto _342 -_234: + goto _346 +_236: ; /* expr ::= expr between_op expr AND expr */ pList4 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList4 = _sqlite3ExprListAppend(tls, pParse, pList4, *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -161387,8 +162873,8 @@ _234: if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_235: + goto _346 +_237: ; /* expr ::= expr in_op LP exprlist RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) == uintptr(0) { /* Expressions of the form @@ -161401,17 +162887,17 @@ _235: */ _sqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { - v345 = __ccgo_ts + 7886 + v348 = __ccgo_ts + 8011 } else { - v345 = __ccgo_ts + 7891 + v348 = __ccgo_ts + 8016 } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v345) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v348) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { _sqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } } else { pRHS = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr - if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { + if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pParse, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr = uintptr(0) _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) pRHS = _sqlite3PExpr(tls, pParse, int32(TK_UPLUS), pRHS, uintptr(0)) @@ -161445,463 +162931,467 @@ _235: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } } - goto _342 -_236: + goto _346 +_238: ; /* expr ::= LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_SELECT), uintptr(0), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_237: + goto _346 +_239: ; /* expr ::= expr in_op LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_238: + goto _346 +_240: ; /* expr ::= expr in_op nm dbnm paren_exprlist */ pSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) pSelect = _sqlite3SelectNew(tls, pParse, uintptr(0), pSrc, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { if pSelect != 0 { - v346 = pSrc + v349 = pSrc } else { - v346 = uintptr(0) + v349 = uintptr(0) } - _sqlite3SrcListFuncArgs(tls, pParse, v346, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + _sqlite3SrcListFuncArgs(tls, pParse, v349, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pSelect) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_239: + goto _346 +_241: ; /* expr ::= EXISTS LP select RP */ - v347 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v347 - p4 = v347 - _sqlite3PExprAddSelect(tls, pParse, p4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_240: + v350 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v350 + p5 = v350 + _sqlite3PExprAddSelect(tls, pParse, p5, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_242: ; /* expr ::= CASE case_operand case_exprlist case_else END */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_CASE), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { - v348 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + v351 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } else { - v348 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + v351 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) } - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v348 + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v351 _sqlite3ExprSetHeightAndFlags(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } - goto _342 -_241: + goto _346 +_243: ; /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_242: + goto _346 +_244: ; /* case_exprlist ::= WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_243: + goto _346 +_245: ; /* nexprlist ::= nexprlist COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_244: + goto _346 +_246: ; /* nexprlist ::= expr */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_246: + goto _346 +_248: ; /* paren_exprlist ::= LP exprlist RP */ -_245: +_247: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_247: + goto _346 +_249: ; /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ _sqlite3CreateIndex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, uintptr(0)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(11))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8)), SQLITE_SO_ASC, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), uint8(SQLITE_IDXTYPE_APPDEF)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && (*TParse)(unsafe.Pointer(pParse)).FpNewIndex != 0 { _sqlite3RenameTokenMap(tls, pParse, (*TIndex)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpNewIndex)).FzName, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) } - goto _342 -_249: + goto _346 +_251: ; /* uniqueflag ::= UNIQUE */ -_248: +_250: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Abort) - goto _342 -_250: + goto _346 +_252: ; /* uniqueflag ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = OE_None - goto _342 -_251: + goto _346 +_253: ; /* eidlist ::= eidlist COMMA nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_252: + goto _346 +_254: ; /* eidlist ::= nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_253: + goto _346 +_255: ; /* cmd ::= DROP INDEX ifexists fullname */ _sqlite3DropIndex(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_254: + goto _346 +_256: ; /* cmd ::= VACUUM vinto */ _sqlite3Vacuum(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_255: + goto _346 +_257: ; /* cmd ::= VACUUM nm vinto */ _sqlite3Vacuum(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_256: + goto _346 +_258: ; /* cmd ::= PRAGMA nm dbnm */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, uintptr(0), 0) - goto _342 -_257: + goto _346 +_259: ; /* cmd ::= PRAGMA nm dbnm EQ nmnum */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, 0) - goto _342 -_258: + goto _346 +_260: ; /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) - goto _342 -_259: + goto _346 +_261: ; /* cmd ::= PRAGMA nm dbnm EQ minus_num */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, int32(1)) - goto _342 -_260: + goto _346 +_262: ; /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) - goto _342 -_261: + goto _346 +_263: ; /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ (*(*TToken)(unsafe.Pointer(bp + 104))).Fz = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) (*(*TToken)(unsafe.Pointer(bp + 104))).Fn = uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) + *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) _sqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), bp+104) - goto _342 -_262: + goto _346 +_264: ; /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ _sqlite3BeginTrigger(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8 + 8)) == uint32(0) { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) } else { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) } - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v349 /*A-overwrites-T*/ - goto _342 -_263: + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v352 /*A-overwrites-T*/ + goto _346 +_265: ; /* trigger_time ::= BEFORE|AFTER */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_264: + goto _346 +_266: ; /* trigger_time ::= INSTEAD OF */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_INSTEAD) - goto _342 -_265: + goto _346 +_267: ; /* trigger_time ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_BEFORE) - goto _342 -_267: + goto _346 +_269: ; /* trigger_event ::= DELETE|INSERT */ -_266: +_268: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) = uintptr(0) - goto _342 -_268: + goto _346 +_270: ; /* trigger_event ::= UPDATE OF idlist */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(TK_UPDATE) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_270: + goto _346 +_272: ; /* when_clause ::= */ -_269: +_271: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_272: + goto _346 +_274: ; /* when_clause ::= WHEN expr */ -_271: +_273: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_273: + goto _346 +_275: ; /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ _ = libc.Int32FromInt32(0) (*TTriggerStep)(unsafe.Pointer((*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast)).FpNext = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_274: + goto _346 +_276: ; /* trigger_cmd_list ::= trigger_cmd SEMI */ _ = libc.Int32FromInt32(0) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_275: + goto _346 +_277: ; /* trnm ::= nm DOT nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23418, 0) - goto _342 -_276: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23541, 0) + goto _346 +_278: ; /* tridxby ::= INDEXED BY nm */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23513, 0) - goto _342 -_277: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23636, 0) + goto _346 +_279: ; /* tridxby ::= NOT INDEXED */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23597, 0) - goto _342 -_278: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23720, 0) + goto _346 +_280: ; /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerUpdateStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_279: + goto _346 +_281: ; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-6].minor.yy394*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_280: + goto _346 +_282: ; /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerDeleteStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_281: + goto _346 +_283: ; /* trigger_cmd ::= scanpt select scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-1].minor.yy47*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-1].minor.yy555*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_282: + goto _346 +_284: ; /* expr ::= RAISE LP IGNORE RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_RAISE), uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)))).FaffExpr = uint8(OE_Ignore) } - goto _342 -_283: + goto _346 +_285: ; /* expr ::= RAISE LP raisetype COMMA nm RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_RAISE), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)))).FaffExpr = uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) } - goto _342 -_284: + goto _346 +_286: ; /* raisetype ::= ROLLBACK */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Rollback) - goto _342 -_285: + goto _346 +_287: ; /* raisetype ::= FAIL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Fail) - goto _342 -_286: + goto _346 +_288: ; /* cmd ::= DROP TRIGGER ifexists fullname */ _sqlite3DropTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_287: + goto _346 +_289: ; /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ _sqlite3Attach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_288: + goto _346 +_290: ; /* cmd ::= DETACH database_kw_opt expr */ _sqlite3Detach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_289: + goto _346 +_291: ; /* cmd ::= REINDEX */ _sqlite3Reindex(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_290: + goto _346 +_292: ; /* cmd ::= REINDEX nm dbnm */ _sqlite3Reindex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_291: + goto _346 +_293: ; /* cmd ::= ANALYZE */ _sqlite3Analyze(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_292: + goto _346 +_294: ; /* cmd ::= ANALYZE nm dbnm */ _sqlite3Analyze(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_293: + goto _346 +_295: ; /* cmd ::= ALTER TABLE fullname RENAME TO nm */ _sqlite3AlterRenameTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_294: + goto _346 +_296: ; /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(int32(int64((*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fz)-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) + (*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fn _sqlite3AlterFinishAddColumn(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_295: + goto _346 +_297: ; /* cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ _sqlite3AlterDropColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_296: + goto _346 +_298: ; /* add_column_fullname ::= fullname */ _disableLookaside(tls, pParse) _sqlite3AlterBeginAddColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_297: + goto _346 +_299: ; /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ _sqlite3AlterRenameColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) - goto _342 -_298: + goto _346 +_300: ; /* cmd ::= create_vtab */ _sqlite3VtabFinishParse(tls, pParse, uintptr(0)) - goto _342 -_299: + goto _346 +_301: ; /* cmd ::= create_vtab LP vtabarglist RP */ _sqlite3VtabFinishParse(tls, pParse, yymsp+8) - goto _342 -_300: + goto _346 +_302: ; /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ _sqlite3VtabBeginParse(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) - goto _342 -_301: + goto _346 +_303: ; /* vtabarg ::= */ _sqlite3VtabArgInit(tls, pParse) - goto _342 -_303: + goto _346 +_305: ; /* vtabargtoken ::= ANY */ -_302: - ; _304: ; - _sqlite3VtabArgExtend(tls, pParse, yymsp+8) - goto _342 _306: + ; + _sqlite3VtabArgExtend(tls, pParse, yymsp+8) + goto _346 +_308: ; /* with ::= WITH wqlist */ -_305: +_307: ; _sqlite3WithPush(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint8(1)) - goto _342 -_307: + goto _346 +_309: ; /* wqas ::= AS */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8(M10d_Any) - goto _342 -_308: + goto _346 +_310: ; /* wqas ::= AS MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8(M10d_Yes) - goto _342 -_309: + goto _346 +_311: ; /* wqas ::= AS NOT MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = uint8(M10d_No) - goto _342 -_310: - ; /* wqitem ::= nm eidlist_opt wqas LP select RP */ + goto _346 +_312: + ; /* wqitem ::= withnm eidlist_opt wqas LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) /*A-overwrites-X*/ - goto _342 -_311: + goto _346 +_313: + ; /* withnm ::= nm */ + (*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1) + goto _346 +_314: ; /* wqlist ::= wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_312: + goto _346 +_315: ; /* wqlist ::= wqlist COMMA wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3WithAdd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_313: + goto _346 +_316: ; /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ _ = libc.Int32FromInt32(0) _sqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_314: + goto _346 +_317: ; /* windowdefn ::= nm AS LP window RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)))) } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_315: + goto _346 +_318: ; /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_316: + goto _346 +_319: ; /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_317: + goto _346 +_320: ; /* window ::= ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_318: + goto _346 +_321: ; /* window ::= nm ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_319: + goto _346 +_322: ; /* window ::= nm frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_320: + goto _346 +_323: ; /* frame_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = _sqlite3WindowAlloc(tls, pParse, 0, int32(TK_UNBOUNDED), uintptr(0), int32(TK_CURRENT), uintptr(0), uint8(0)) - goto _342 -_321: + goto _346 +_324: ; /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), int32(TK_CURRENT), uintptr(0), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_322: + goto _346 +_325: ; /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_324: + goto _346 +_327: ; /* frame_bound_s ::= frame_bound */ -_323: +_326: ; *(*TFrameBound)(unsafe.Pointer(bp)) = *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_326: + goto _346 +_329: ; /* frame_bound_s ::= UNBOUNDED PRECEDING */ -_325: +_328: ; -_327: +_330: ; (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = uintptr(0) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_328: + goto _346 +_331: ; /* frame_bound ::= expr PRECEDING|FOLLOWING */ (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_329: + goto _346 +_332: ; /* frame_exclude_opt ::= */ *(*Tu8)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint8(0) - goto _342 -_330: + goto _346 +_333: ; /* frame_exclude_opt ::= EXCLUDE frame_exclude */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*Tu8)(unsafe.Pointer(yymsp + 8)) - goto _342 -_332: + goto _346 +_335: ; /* frame_exclude ::= NO OTHERS */ -_331: +_334: ; *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) /*A-overwrites-X*/ - goto _342 -_333: + goto _346 +_336: ; /* frame_exclude ::= GROUP|TIES */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_334: + goto _346 +_337: ; /* window_clause ::= WINDOW windowdefn_list */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_335: + goto _346 +_338: ; /* filter_over ::= filter_clause over_clause */ if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) @@ -161910,13 +163400,13 @@ _335: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_336: + goto _346 +_339: ; /* filter_over ::= over_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_337: + goto _346 +_340: ; /* filter_over ::= filter_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { @@ -161926,24 +163416,30 @@ _337: _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_338: + goto _346 +_341: ; /* over_clause ::= OVER LP window RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) _ = libc.Int32FromInt32(0) - goto _342 -_339: + goto _346 +_342: ; /* over_clause ::= OVER nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) } - goto _342 -_340: + goto _346 +_343: ; /* filter_clause ::= FILTER LP WHERE expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_341: + goto _346 +_344: + ; /* term ::= QNUMBER */ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) + _sqlite3DequoteNumber(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))) + *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + goto _346 +_345: ; _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -161960,9 +163456,9 @@ _341: _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - goto _342 + goto _346 /********** End reduce actions ************************************************/ -_342: +_346: ; _ = libc.Int32FromInt32(0) yygoto = int32(_yyRuleInfoLhs[yyruleno]) @@ -161999,9 +163495,9 @@ func _yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, _yyminor /************ Begin %syntax_error code ****************************************/ _ = yymajor /* Silence some compiler warnings */ if *(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp))).Fz)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23394, libc.VaList(bp+24, bp)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23517, libc.VaList(bp+24, bp)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23682, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23805, 0) } /************ End %syntax_error code ******************************************/ /* Suppress warning about unused %extra_argument variable */ @@ -162070,8 +163566,10 @@ func _sqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor TToken) { ** enough on the stack to push the LHS value */ if int32(_yyRuleInfoNRhs[yyruleno]) == 0 { if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos >= (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - _yyStackOverflow(tls, yypParser) - break + if _yyGrowStack(tls, yypParser) != 0 { + _yyStackOverflow(tls, yypParser) + break + } } } yyact = _yy_reduce(tls, yypParser, yyruleno, yymajor, yyminor, pParse) @@ -164223,9 +165721,9 @@ func _analyzeFilterKeyword(tls *libc.TLS, _z uintptr, lastToken int32) (r int32) // ** Store the token type in *tokenType before returning. // */ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { - var c, delim, i, n, v10, v14, v16, v19, v20, v3, v5, v7, v8 int32 - var v15, v6 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v14, v15, v16, v19, v20, v3, v5, v6, v7, v8 + var c, delim, i, n, v10, v16, v18, v21, v22, v3, v5, v7, v8 int32 + var v17, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v16, v17, v18, v21, v22, v3, v5, v6, v7, v8 switch int32(_aiClass[*(*uint8)(unsafe.Pointer(z))]) { /* Switch on the character-class of the first byte ** of the token. See the comment on the CC_ defines ** above. */ @@ -164421,39 +165919,83 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('X')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 2))])&int32(0x08) != 0 { i = int32(3) for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { + if !(int32(1) != 0) { break } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } goto _11 _11: ; i++ } - return i - } - i = 0 - for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _12 - _12: - ; - i++ - } - if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { - i++ - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + } else { + i = 0 + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _12 + _12: + ; i++ } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) - } - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { - i += int32(2) - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } i++ + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _13 + _13: + ; + i++ + } + } + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } + i += int32(2) + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _14 + _14: + ; + i++ + } } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) } for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x46) != 0 { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_ILLEGAL) @@ -164464,24 +166006,24 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { i = int32(1) c = int32(*(*uint8)(unsafe.Pointer(z))) for { - if v15 = c != int32(']'); v15 { - v14 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v14 + if v17 = c != int32(']'); v17 { + v16 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v16 } - if !(v15 && v14 != 0) { + if !(v17 && v16 != 0) { break } - goto _13 - _13: + goto _15 + _15: ; i++ } if c == int32(']') { - v16 = int32(TK_ID) + v18 = int32(TK_ID) } else { - v16 = int32(TK_ILLEGAL) + v18 = int32(TK_ILLEGAL) } - *(*int32)(unsafe.Pointer(tokenType)) = v16 + *(*int32)(unsafe.Pointer(tokenType)) = v18 return i case int32(CC_VARNUM): *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) @@ -164490,8 +166032,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { break } - goto _17 - _17: + goto _19 + _19: ; i++ } @@ -164503,9 +166045,9 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) i = int32(1) for { - v19 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v19 - if !(v19 != 0) { + v21 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v21 + if !(v21 != 0) { break } if int32(_sqlite3CtypeMap[uint8(c)])&int32(0x46) != 0 { @@ -164514,12 +166056,12 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if c == int32('(') && n > 0 { for { i++ - goto _21 - _21: + goto _23 + _23: ; - v20 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v20 - if !(v20 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { + v22 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v22 + if !(v22 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { break } } @@ -164537,8 +166079,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { } } } - goto _18 - _18: + goto _20 + _20: ; i++ } @@ -164556,8 +166098,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_aiClass[*(*uint8)(unsafe.Pointer(z + uintptr(i)))]) <= int32(CC_KYWD)) { break } - goto _22 - _22: + goto _24 + _24: ; i++ } @@ -164578,8 +166120,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { break } - goto _23 - _23: + goto _25 + _25: ; i++ } @@ -164631,7 +166173,7 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { var lastTokenParsed, mxSqlLen, n, nErr int32 var _ /* sEngine at bp+8 */ TyyParser var _ /* tokenType at bp+0 */ int32 - var _ /* x at bp+2432 */ TToken + var _ /* x at bp+2440 */ TToken _, _, _, _, _, _, _ = db, lastTokenParsed, mxSqlLen, n, nErr, pEngine, pParentParse nErr = 0 /* The LEMON-generated LALR(1) parser */ n = 0 /* type of the next token */ @@ -164698,10 +166240,12 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(bp)) = _analyzeFilterKeyword(tls, zSql+6, lastTokenParsed) } else { - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fz = zSql - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fn = uint32(n) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23699, libc.VaList(bp+2456, bp+2432)) - break + if *(*int32)(unsafe.Pointer(bp)) != int32(TK_QNUMBER) { + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fz = zSql + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fn = uint32(n) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23822, libc.VaList(bp+2464, bp+2440)) + break + } } } } @@ -164724,9 +166268,9 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { } if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg != 0 || (*TParse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK && (*TParse)(unsafe.Pointer(pParse)).Frc != int32(SQLITE_DONE) { if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) { - (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3795, libc.VaList(bp+2456, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) + (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3859, libc.VaList(bp+2464, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) } - Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23724, libc.VaList(bp+2456, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) + Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23847, libc.VaList(bp+2464, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) nErr++ } (*TParse)(unsafe.Pointer(pParse)).FzTail = zSql @@ -164919,7 +166463,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('c'): fallthrough case int32('C'): - if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23735, int32(6)) == 0 { + if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23858, int32(6)) == 0 { token = uint8(tkCREATE) } else { token = uint8(tkOTHER) @@ -164927,13 +166471,13 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('t'): fallthrough case int32('T'): - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20379, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20511, int32(7)) == 0 { token = uint8(tkTRIGGER) } else { - if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23742, int32(4)) == 0 { + if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23865, int32(4)) == 0 { token = uint8(tkTEMP) } else { - if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23747, int32(9)) == 0 { + if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23870, int32(9)) == 0 { token = uint8(tkTEMP) } else { token = uint8(tkOTHER) @@ -164943,10 +166487,10 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('e'): fallthrough case int32('E'): - if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23757, int32(3)) == 0 { + if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23880, int32(3)) == 0 { token = uint8(tkEND) } else { - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23761, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23884, int32(7)) == 0 { token = uint8(tkEXPLAIN) } else { token = uint8(tkOTHER) @@ -165388,7 +166932,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) { */ if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 { if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)<= 0 && rc < int32(libc.Uint64FromInt64(232)/libc.Uint64FromInt64(8)) && _aMsg[rc] != uintptr(0) { @@ -166538,31 +168082,31 @@ func _sqlite3ErrStr(tls *libc.TLS, rc int32) (r uintptr) { } var _aMsg = [29]uintptr{ - 0: __ccgo_ts + 23837, - 1: __ccgo_ts + 23850, - 3: __ccgo_ts + 23866, - 4: __ccgo_ts + 23891, - 5: __ccgo_ts + 23905, - 6: __ccgo_ts + 23924, - 7: __ccgo_ts + 1618, - 8: __ccgo_ts + 23949, - 9: __ccgo_ts + 23986, - 10: __ccgo_ts + 23998, - 11: __ccgo_ts + 24013, - 12: __ccgo_ts + 24046, - 13: __ccgo_ts + 24064, - 14: __ccgo_ts + 24089, - 15: __ccgo_ts + 24118, - 17: __ccgo_ts + 6021, - 18: __ccgo_ts + 5423, - 19: __ccgo_ts + 24135, - 20: __ccgo_ts + 24153, - 21: __ccgo_ts + 24171, - 23: __ccgo_ts + 24205, - 25: __ccgo_ts + 24226, - 26: __ccgo_ts + 24252, - 27: __ccgo_ts + 24275, - 28: __ccgo_ts + 24296, + 0: __ccgo_ts + 23960, + 1: __ccgo_ts + 23973, + 3: __ccgo_ts + 23989, + 4: __ccgo_ts + 24014, + 5: __ccgo_ts + 24028, + 6: __ccgo_ts + 24047, + 7: __ccgo_ts + 1632, + 8: __ccgo_ts + 24072, + 9: __ccgo_ts + 24109, + 10: __ccgo_ts + 24121, + 11: __ccgo_ts + 24136, + 12: __ccgo_ts + 24169, + 13: __ccgo_ts + 24187, + 14: __ccgo_ts + 24212, + 15: __ccgo_ts + 24241, + 17: __ccgo_ts + 6085, + 18: __ccgo_ts + 5487, + 19: __ccgo_ts + 24258, + 20: __ccgo_ts + 24276, + 21: __ccgo_ts + 24294, + 23: __ccgo_ts + 24328, + 25: __ccgo_ts + 24349, + 26: __ccgo_ts + 24375, + 27: __ccgo_ts + 24398, + 28: __ccgo_ts + 24419, } // C documentation @@ -166744,7 +168288,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) { - return _sqlite3MisuseError(tls, int32(180244)) + return _sqlite3MisuseError(tls, int32(181689)) } _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -166790,7 +168334,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i p = _sqlite3FindFunction(tls, db, zFunctionName, nArg, uint8(enc), uint8(0)) if p != 0 && (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) == uint32(enc) && int32((*TFuncDef)(unsafe.Pointer(p)).FnArg) == nArg { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24393, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24516, 0) _ = libc.Int32FromInt32(0) return int32(SQLITE_BUSY) } else { @@ -166920,7 +168464,7 @@ func _sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotU zName = Xsqlite3_user_data(tls, context) _ = NotUsed _ = NotUsed2 - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24456, libc.VaList(bp+8, zName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24579, libc.VaList(bp+8, zName)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -166951,7 +168495,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i if rc != 0 { return SQLITE_OK } - zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, zName)) + zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, zName)) if zCopy == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -167199,7 +168743,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) { /* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint ** mode: */ - return _sqlite3MisuseError(tls, int32(180859)) + return _sqlite3MisuseError(tls, int32(182304)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if zDb != 0 && *(*uint8)(unsafe.Pointer(zDb)) != 0 { @@ -167209,7 +168753,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in } if iDb < 0 { rc = int32(SQLITE_ERROR) - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24507, libc.VaList(bp+8, zDb)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24630, libc.VaList(bp+8, zDb)) } else { (*Tsqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = _sqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -167334,7 +168878,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) { return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM)) } if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(180995))) + return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(182440))) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -167467,7 +169011,7 @@ var _misuse = [34]Tu16{ // */ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181074)) + return _sqlite3MisuseError(tls, int32(182519)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -167477,7 +169021,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181083)) + return _sqlite3MisuseError(tls, int32(182528)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -167527,7 +169071,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui enc2 = int32(SQLITE_UTF16LE) } if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) { - return _sqlite3MisuseError(tls, int32(181131)) + return _sqlite3MisuseError(tls, int32(182576)) } /* Check if this call is removing or replacing an existing collation ** sequence. If so, and there are active VMs, return busy. If there @@ -167536,7 +169080,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui pColl = _sqlite3FindCollSeq(tls, db, uint8(enc2), zName, 0) if pColl != 0 && (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24528, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24651, 0) return int32(SQLITE_BUSY) } _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -167697,7 +169241,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u zVfs = zDefaultVfs nUri = _sqlite3Strlen30(tls, zUri) _ = libc.Int32FromInt32(0) - if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24596, uint64(5)) == 0 { /* Input character index */ + if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24719, uint64(5)) == 0 { /* Input character index */ iOut = 0 /* Output character index */ nByte = uint64(nUri + int32(8)) /* Bytes of space to allocate */ /* Make sure the SQLITE_OPEN_URI flag is set to indicate to the VFS xOpen @@ -167727,8 +169271,8 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u for *(*uint8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0 && int32(*(*uint8)(unsafe.Pointer(zUri + uintptr(iIn)))) != int32('/') { iIn++ } - if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24602, zUri+7, uint64(9)) != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24612, libc.VaList(bp+8, iIn-int32(7), zUri+7)) + if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24725, zUri+7, uint64(9)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24735, libc.VaList(bp+8, iIn-int32(7), zUri+7)) rc = int32(SQLITE_ERROR) goto parse_uri_out } @@ -167818,24 +169362,24 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u nOpt = _sqlite3Strlen30(tls, zOpt) zVal = zOpt + uintptr(nOpt+int32(1)) nVal = _sqlite3Strlen30(tls, zVal) - if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24640, zOpt, uint64(3)) == 0 { + if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24763, zOpt, uint64(3)) == 0 { zVfs = zVal } else { aMode = uintptr(0) zModeType = uintptr(0) mask = 0 limit = 0 - if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24644, zOpt, uint64(5)) == 0 { + if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24767, zOpt, uint64(5)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_SHAREDCACHE) | libc.Int32FromInt32(SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&_aCacheMode)) limit = mask - zModeType = __ccgo_ts + 24644 + zModeType = __ccgo_ts + 24767 } - if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24665, zOpt, uint64(4)) == 0 { + if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24788, zOpt, uint64(4)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_READONLY) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&_aOpenMode)) limit = int32(uint32(mask) & flags) - zModeType = __ccgo_ts + 3404 + zModeType = __ccgo_ts + 3468 } if aMode != 0 { mode = 0 @@ -167864,12 +169408,12 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u i++ } if mode == 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24680, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24803, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_ERROR) goto parse_uri_out } if mode & ^libc.Int32FromInt32(SQLITE_OPEN_MEMORY) > limit { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24700, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24823, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_PERM) goto parse_uri_out } @@ -167893,7 +169437,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u } *(*uintptr)(unsafe.Pointer(ppVfs)) = Xsqlite3_vfs_find(tls, zVfs) if *(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24724, libc.VaList(bp+8, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24847, libc.VaList(bp+8, zVfs)) rc = int32(SQLITE_ERROR) } goto parse_uri_out @@ -167913,11 +169457,11 @@ var _aCacheMode = [3]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24650, + Fz: __ccgo_ts + 24773, Fmode: int32(SQLITE_OPEN_SHAREDCACHE), }, 1: { - Fz: __ccgo_ts + 24657, + Fz: __ccgo_ts + 24780, Fmode: int32(SQLITE_OPEN_PRIVATECACHE), }, 2: {}, @@ -167928,19 +169472,19 @@ var _aOpenMode = [5]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24670, + Fz: __ccgo_ts + 24793, Fmode: int32(SQLITE_OPEN_READONLY), }, 1: { - Fz: __ccgo_ts + 24673, + Fz: __ccgo_ts + 24796, Fmode: int32(SQLITE_OPEN_READWRITE), }, 2: { - Fz: __ccgo_ts + 24676, + Fz: __ccgo_ts + 24799, Fmode: libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE), }, 3: { - Fz: __ccgo_ts + 17764, + Fz: __ccgo_ts + 17851, Fmode: int32(SQLITE_OPEN_MEMORY), }, 4: {}, @@ -168069,8 +169613,8 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16BE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+22351, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+24740, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+22496, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+24863, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto opendb_out } @@ -168094,7 +169638,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* READWRITE */ /* READWRITE | CREATE */ if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 { - rc = _sqlite3MisuseError(tls, int32(181803)) /* IMP: R-18321-05872 */ + rc = _sqlite3MisuseError(tls, int32(183248)) /* IMP: R-18321-05872 */ } else { rc = _sqlite3ParseUri(tls, zVfs, zFilename, bp, db, bp+8, bp+16) } @@ -168103,7 +169647,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _sqlite3OomFault(tls, db) } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { - v2 = __ccgo_ts + 3795 + v2 = __ccgo_ts + 3859 } else { v2 = uintptr(0) } @@ -168131,9 +169675,9 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* The default safety_level for the main database is FULL; for the temp ** database it is OFF. This matches the pager layer defaults. */ - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6585 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6649 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).Fsafety_level = uint8(libc.Int32FromInt32(SQLITE_DEFAULT_SYNCHRONOUS) + libc.Int32FromInt32(1)) - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23742 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23865 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).Fsafety_level = uint8(PAGER_SYNCHRONOUS_OFF) (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState = uint8(SQLITE_STATE_OPEN) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -168229,7 +169773,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) { return rc } if zFilename == uintptr(0) { - zFilename = __ccgo_ts + 24746 + zFilename = __ccgo_ts + 24869 } pVal = _sqlite3ValueNew(tls, uintptr(0)) _sqlite3ValueSetStr(tls, pVal, -int32(1), zFilename, uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(0)) @@ -168450,20 +169994,20 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) (r int32) { func _sqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, __ccgo_ts+24749, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) + Xsqlite3_log(tls, iErr, __ccgo_ts+24872, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) return iErr } func _sqlite3CorruptError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24774) + return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24897) } func _sqlite3MisuseError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24794) + return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24917) } func _sqlite3CantopenError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24801) + return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24924) } // C documentation @@ -168594,11 +170138,11 @@ error_out: } if SQLITE_OK == rc && !(pTab != 0) { _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24818, libc.VaList(bp+16, zTableName, zColumnName)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24941, libc.VaList(bp+16, zTableName, zColumnName)) rc = int32(SQLITE_ERROR) } if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - v3 = __ccgo_ts + 3795 + v3 = __ccgo_ts + 3859 } else { v3 = uintptr(0) } @@ -169627,7 +171171,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) (r int32) { var _ /* nOpt at bp+0 */ int32 _, _, _ = azCompileOpt, i, n azCompileOpt = _sqlite3CompileOptions(tls, bp) - if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24846, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24969, int32(7)) == 0 { zOptName += uintptr(7) } n = _sqlite3Strlen30(tls, zOptName) @@ -169849,7 +171393,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui _leaveMutex(tls) _ = libc.Int32FromInt32(0) if rc != 0 { - v2 = __ccgo_ts + 24854 + v2 = __ccgo_ts + 24977 } else { v2 = uintptr(0) } @@ -170732,23 +172276,23 @@ func _sqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { // ** string must correspond to the JSONB_* integer above. // */ var _jsonbType = [17]uintptr{ - 0: __ccgo_ts + 1634, - 1: __ccgo_ts + 7886, - 2: __ccgo_ts + 7891, - 3: __ccgo_ts + 6306, - 4: __ccgo_ts + 6306, - 5: __ccgo_ts + 6301, - 6: __ccgo_ts + 6301, - 7: __ccgo_ts + 8197, - 8: __ccgo_ts + 8197, - 9: __ccgo_ts + 8197, - 10: __ccgo_ts + 8197, - 11: __ccgo_ts + 24877, - 12: __ccgo_ts + 24883, - 13: __ccgo_ts + 1648, - 14: __ccgo_ts + 1648, - 15: __ccgo_ts + 1648, - 16: __ccgo_ts + 1648, + 0: __ccgo_ts + 1648, + 1: __ccgo_ts + 8011, + 2: __ccgo_ts + 8016, + 3: __ccgo_ts + 6370, + 4: __ccgo_ts + 6370, + 5: __ccgo_ts + 6365, + 6: __ccgo_ts + 6365, + 7: __ccgo_ts + 8322, + 8: __ccgo_ts + 8322, + 9: __ccgo_ts + 8322, + 10: __ccgo_ts + 8322, + 11: __ccgo_ts + 25000, + 12: __ccgo_ts + 25006, + 13: __ccgo_ts + 1662, + 14: __ccgo_ts + 1662, + 15: __ccgo_ts + 1662, + 16: __ccgo_ts + 1662, } // C documentation @@ -171519,6 +173063,46 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { _jsonAppendChar(tls, p, uint8(',')) } +// C documentation +// +// /* c is a control character. Append the canonical JSON representation +// ** of that control character to p. +// ** +// ** This routine assumes that the output buffer has already been enlarged +// ** sufficiently to hold the worst-case encoding plus a nul terminator. +// */ +func _jsonAppendControlChar(tls *libc.TLS, p uintptr, c Tu8) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if _aSpecial[c] != 0 { + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = uint8('\\') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = _aSpecial[c] + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(2) + } else { + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = uint8('\\') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = uint8('u') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(2)))) = uint8('0') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(3)))) = uint8('0') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(4)))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 25013 + uintptr(int32(c)>>int32(4)))) + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(5)))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 25013 + uintptr(int32(c)&int32(0xf)))) + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(6) + } +} + +var _aSpecial = [32]uint8{ + 8: uint8('b'), + 9: uint8('t'), + 10: uint8('n'), + 12: uint8('f'), + 13: uint8('r'), +} + // C documentation // // /* Append the N-byte string in zIn to the end of the JsonString string @@ -171532,9 +173116,9 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { var c Tu8 var k Tu32 - var z, v10, v12, v14, v16, v18, v2, v20, v22, v24, v6, v8 uintptr - var v1, v11, v13, v15, v17, v19, v21, v23, v5, v7, v9 Tu64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v5, v6, v7, v8, v9 + var z, v10, v2, v4, v6, v8 uintptr + var v1, v3, v5, v7, v9 Tu64 + _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v2, v3, v4, v5, v6, v7, v8, v9 z = zIn if z == uintptr(0) { return @@ -171591,91 +173175,41 @@ func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { N -= k } c = *(*Tu8)(unsafe.Pointer(z)) - if !(int32(c) == int32('"') || int32(c) == int32('\\')) { - goto _3 - } - goto json_simple_escape - json_simple_escape: - ; - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { - return - } - v6 = p + 24 - v5 = *(*Tu64)(unsafe.Pointer(v6)) - *(*Tu64)(unsafe.Pointer(v6))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = uint8('\\') - v8 = p + 24 - v7 = *(*Tu64)(unsafe.Pointer(v8)) - *(*Tu64)(unsafe.Pointer(v8))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = c - goto _4 - _3: - ; - if int32(c) == int32('\'') { - v10 = p + 24 - v9 = *(*Tu64)(unsafe.Pointer(v10)) - *(*Tu64)(unsafe.Pointer(v10))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = c - } else { - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - if _aSpecial[c] != 0 { - c = _aSpecial[c] - goto json_simple_escape - } - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + if int32(c) == int32('"') || int32(c) == int32('\\') { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { return } - v12 = p + 24 - v11 = *(*Tu64)(unsafe.Pointer(v12)) - *(*Tu64)(unsafe.Pointer(v12))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v11))) = uint8('\\') - v14 = p + 24 - v13 = *(*Tu64)(unsafe.Pointer(v14)) - *(*Tu64)(unsafe.Pointer(v14))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v13))) = uint8('u') - v16 = p + 24 - v15 = *(*Tu64)(unsafe.Pointer(v16)) - *(*Tu64)(unsafe.Pointer(v16))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v15))) = uint8('0') - v18 = p + 24 - v17 = *(*Tu64)(unsafe.Pointer(v18)) - *(*Tu64)(unsafe.Pointer(v18))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v17))) = uint8('0') - v20 = p + 24 - v19 = *(*Tu64)(unsafe.Pointer(v20)) - *(*Tu64)(unsafe.Pointer(v20))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v19))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 24890 + uintptr(int32(c)>>int32(4)))) - v22 = p + 24 - v21 = *(*Tu64)(unsafe.Pointer(v22)) - *(*Tu64)(unsafe.Pointer(v22))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v21))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 24890 + uintptr(int32(c)&int32(0xf)))) + v4 = p + 24 + v3 = *(*Tu64)(unsafe.Pointer(v4)) + *(*Tu64)(unsafe.Pointer(v4))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v3))) = uint8('\\') + v6 = p + 24 + v5 = *(*Tu64)(unsafe.Pointer(v6)) + *(*Tu64)(unsafe.Pointer(v6))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = c + } else { + if int32(c) == int32('\'') { + v8 = p + 24 + v7 = *(*Tu64)(unsafe.Pointer(v8)) + *(*Tu64)(unsafe.Pointer(v8))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = c + } else { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + return + } + _jsonAppendControlChar(tls, p, c) + } } - _4: - ; z++ N-- } - v24 = p + 24 - v23 = *(*Tu64)(unsafe.Pointer(v24)) - *(*Tu64)(unsafe.Pointer(v24))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v23))) = uint8('"') + v10 = p + 24 + v9 = *(*Tu64)(unsafe.Pointer(v10)) + *(*Tu64)(unsafe.Pointer(v10))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = uint8('"') _ = libc.Int32FromInt32(0) } -var _aSpecial = [32]uint8{ - 8: uint8('b'), - 9: uint8('t'), - 10: uint8('n'), - 12: uint8('f'), - 13: uint8('r'), -} - // C documentation // // /* @@ -171691,9 +173225,9 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _, _, _, _ = n, n1, z, z1 switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_NULL): - _jsonAppendRawNZ(tls, p, __ccgo_ts+1634, uint32(4)) + _jsonAppendRawNZ(tls, p, __ccgo_ts+1648, uint32(4)) case int32(SQLITE_FLOAT): - _jsonPrintf(tls, int32(100), p, __ccgo_ts+15323, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) + _jsonPrintf(tls, int32(100), p, __ccgo_ts+15416, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) case int32(SQLITE_INTEGER): z = Xsqlite3_value_text(tls, pValue) n = uint32(Xsqlite3_value_bytes(tls, pValue)) @@ -171714,7 +173248,7 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _jsonTranslateBlobToText(tls, bp, uint32(0), p) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr) == 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24907, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25030, -int32(1)) (*TJsonString)(unsafe.Pointer(p)).FeErr = uint8(JSTRING_ERR) _jsonStringReset(tls, p) } @@ -171770,7 +173304,7 @@ func _jsonReturnString(tls *libc.TLS, p uintptr, pParse uintptr, ctx uintptr) { Xsqlite3_result_error_nomem(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr)&int32(JSTRING_MALFORMED) != 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25059, -int32(1)) } } } @@ -172054,8 +173588,8 @@ var _aNanInfName = [5]TNanInfName{ Fn: uint8(3), FeType: uint8(JSONB_FLOAT), FnRepl: uint8(7), - FzMatch: __ccgo_ts + 24951, - FzRepl: __ccgo_ts + 24955, + FzMatch: __ccgo_ts + 25074, + FzRepl: __ccgo_ts + 25078, }, 1: { Fc1: uint8('i'), @@ -172063,32 +173597,32 @@ var _aNanInfName = [5]TNanInfName{ Fn: uint8(8), FeType: uint8(JSONB_FLOAT), FnRepl: uint8(7), - FzMatch: __ccgo_ts + 24963, - FzRepl: __ccgo_ts + 24955, + FzMatch: __ccgo_ts + 25086, + FzRepl: __ccgo_ts + 25078, }, 2: { Fc1: uint8('n'), Fc2: uint8('N'), Fn: uint8(3), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 1639, - FzRepl: __ccgo_ts + 1634, + FzMatch: __ccgo_ts + 1653, + FzRepl: __ccgo_ts + 1648, }, 3: { Fc1: uint8('q'), Fc2: uint8('Q'), Fn: uint8(4), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 24972, - FzRepl: __ccgo_ts + 1634, + FzMatch: __ccgo_ts + 25095, + FzRepl: __ccgo_ts + 1648, }, 4: { Fc1: uint8('s'), Fc2: uint8('S'), Fn: uint8(4), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 24977, - FzRepl: __ccgo_ts + 1634, + FzMatch: __ccgo_ts + 25100, + FzRepl: __ccgo_ts + 1648, }, } @@ -172103,7 +173637,7 @@ func _jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24982, libc.VaList(bp+8, zFuncName)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25105, libc.VaList(bp+8, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) } @@ -172557,30 +174091,37 @@ func _jsonbValidityCheck(tls *libc.TLS, pParse uintptr, i Tu32, iEnd Tu32, iDept return j + uint32(1) } } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) <= int32(0x1f) { + /* Control characters in JSON5 string literals are ok */ + if int32(x) == int32(JSONB_TEXTJ) { + return j + uint32(1) + } } else { - if libc.Xstrchr(tls, __ccgo_ts+25025, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { - j++ + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { + return j + uint32(1) } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { - if j+uint32(5) >= k { - return j + uint32(1) - } - if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { - return j + uint32(1) - } + if libc.Xstrchr(tls, __ccgo_ts+25148, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { j++ } else { - if int32(x) != int32(JSONB_TEXT5) { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { + if j+uint32(5) >= k { + return j + uint32(1) + } + if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { + return j + uint32(1) + } + j++ } else { - *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) - szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) - if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + if int32(x) != int32(JSONB_TEXT5) { return j + uint32(1) + } else { + *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) + szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) + if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + return j + uint32(1) + } + j += szC - uint32(1) } - j += szC - uint32(1) } } } @@ -173011,9 +174552,14 @@ parse_string: } } else { if int32(c) <= int32(0x1f) { - /* Control characters are not allowed in strings */ - (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j - return -int32(1) + if int32(c) == 0 { + (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j + return -int32(1) + } + /* Control characters are not allowed in canonical JSON string + ** literals, but are allowed in JSON5 string literals. */ + opcode = uint8(JSONB_TEXT5) + (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) } else { if int32(c) == int32('"') { opcode = uint8(JSONB_TEXT5) @@ -173027,7 +174573,7 @@ parse_string: return int32(j + uint32(1)) _5: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7886, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8011, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_TRUE)) return int32(i + uint32(4)) } @@ -173035,7 +174581,7 @@ _5: return -int32(1) _6: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7891, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(5))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8016, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(5))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_FALSE)) return int32(i + uint32(5)) } @@ -173116,14 +174662,14 @@ parse_number: /* JSON5 allows for "+Infinity" and "-Infinity" using exactly ** that case. SQLite also allows these in any case and it allows ** "+inf" and "-inf". */ - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+24951, int32(3)) == 0 { + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+25074, int32(3)) == 0 { (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('-') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25034) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25157) } else { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25041) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25164) } - if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25047, int32(5)) == 0 { + if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25170, int32(5)) == 0 { v48 = int32(9) } else { v48 = int32(4) @@ -173287,11 +174833,10 @@ _29: return -int32(1) _37: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1634, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1648, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) return int32(i + uint32(4)) } - /* fall-through into the default case that checks for NaN */ _38: ; c = *(*uint8)(unsafe.Pointer(z + uintptr(i))) @@ -173311,7 +174856,7 @@ _38: goto _51 } if int32(_aNanInfName[k1].FeType) == int32(JSONB_FLOAT) { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25041) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25164) } else { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) } @@ -173356,7 +174901,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 i += _json5Whitespace(tls, zJson+uintptr(i)) if *(*uint8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { if pCtx != 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) } _jsonParseReset(tls, pParse) return int32(1) @@ -173369,7 +174914,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 if (*TJsonParse)(unsafe.Pointer(pParse)).Foom != 0 { Xsqlite3_result_error_nomem(tls, pCtx) } else { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) } } _jsonParseReset(tls, pParse) @@ -173534,15 +175079,15 @@ func _jsonTranslateBlobToText(tls *libc.TLS, pParse uintptr, i Tu32, pOut uintpt goto _16 _2: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1634, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1648, uint32(4)) return i + uint32(1) _3: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7886, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8011, uint32(4)) return i + uint32(1) _4: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7891, uint32(5)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8016, uint32(5)) return i + uint32(1) _6: ; @@ -173591,9 +175136,9 @@ _7: k++ } if bOverflow != 0 { - v19 = __ccgo_ts + 24955 + v19 = __ccgo_ts + 25078 } else { - v19 = __ccgo_ts + 11753 + v19 = __ccgo_ts + 11878 } _jsonPrintf(tls, int32(100), pOut, v19, libc.VaList(bp+16, u)) goto _16 @@ -173641,7 +175186,7 @@ _11: for sz2 > uint32(0) { k2 = uint32(0) for { - if !(k2 < sz2 && int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('\\') && int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('"')) { + if !(k2 < sz2 && (_jsonIsOk[*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))] != 0 || int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) == int32('\''))) { break } goto _21 @@ -173658,7 +175203,16 @@ _11: sz2 -= k2 } if int32(*(*uint8)(unsafe.Pointer(zIn2))) == int32('"') { - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25053, uint32(2)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25176, uint32(2)) + zIn2++ + sz2-- + continue + } + if int32(*(*uint8)(unsafe.Pointer(zIn2))) <= int32(0x1f) { + if (*TJsonString)(unsafe.Pointer(pOut)).FnUsed+uint64(7) > (*TJsonString)(unsafe.Pointer(pOut)).FnAlloc && _jsonStringGrow(tls, pOut, uint32(7)) != 0 { + break + } + _jsonAppendControlChar(tls, pOut, *(*uint8)(unsafe.Pointer(zIn2))) zIn2++ sz2-- continue @@ -173674,7 +175228,7 @@ _11: case int32('\''): _jsonAppendChar(tls, pOut, uint8('\'')) case int32('v'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25056, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25179, uint32(6)) case int32('x'): if sz2 < uint32(4) { p23 = pOut + 33 @@ -173682,12 +175236,12 @@ _11: sz2 = uint32(2) break } - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25063, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25186, uint32(4)) _jsonAppendRawNZ(tls, pOut, zIn2+2, uint32(2)) zIn2 += uintptr(2) sz2 -= uint32(2) case int32('0'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25068, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25191, uint32(6)) case int32('\r'): if sz2 > uint32(2) && int32(*(*uint8)(unsafe.Pointer(zIn2 + 2))) == int32('\n') { zIn2++ @@ -173777,6 +175331,140 @@ _16: return i + n + *(*Tu32)(unsafe.Pointer(bp)) } +// C documentation +// +// /* Context for recursion of json_pretty() +// */ +type TJsonPretty = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty = TJsonPretty + +type TJsonPretty1 = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty1 = TJsonPretty1 + +// C documentation +// +// /* Append indentation to the pretty JSON under construction */ +func _jsonPrettyIndent(tls *libc.TLS, pPretty uintptr) { + var jj Tu32 + _ = jj + jj = uint32(0) + for { + if !(jj < (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent) { + break + } + _jsonAppendRaw(tls, (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut, (*TJsonPretty)(unsafe.Pointer(pPretty)).FzIndent, (*TJsonPretty)(unsafe.Pointer(pPretty)).FszIndent) + goto _1 + _1: + ; + jj++ + } +} + +// C documentation +// +// /* +// ** Translate the binary JSONB representation of JSON beginning at +// ** pParse->aBlob[i] into a JSON text string. Append the JSON +// ** text onto the end of pOut. Return the index in pParse->aBlob[] +// ** of the first byte past the end of the element that is translated. +// ** +// ** This is a variant of jsonTranslateBlobToText() that "pretty-prints" +// ** the output. Extra whitespace is inserted to make the JSON easier +// ** for humans to read. +// ** +// ** If an error is detected in the BLOB input, the pOut->eErr flag +// ** might get set to JSTRING_MALFORMED. But not all BLOB input errors +// ** are detected. So a malformed JSONB input might either result +// ** in an error, or in incorrect JSON. +// ** +// ** The pOut->eErr JSTRING_OOM flag is set on a OOM. +// */ +func _jsonTranslateBlobToPrettyText(tls *libc.TLS, pPretty uintptr, i Tu32) (r Tu32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var iEnd, j, n Tu32 + var pOut, pParse, p1, p2 uintptr + var _ /* sz at bp+0 */ Tu32 + _, _, _, _, _, _, _ = iEnd, j, n, pOut, pParse, p1, p2 + pParse = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpParse + pOut = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut + n = _jsonbPayloadSize(tls, pParse, i, bp) + if n == uint32(0) { + p1 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + return (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob + uint32(1) + } + switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { + case int32(JSONB_ARRAY): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, uint8('[')) + if j < iEnd { + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25198, uint32(2)) + } + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, uint8(']')) + i = iEnd + case int32(JSONB_OBJECT): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, uint8('{')) + if j < iEnd { + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToText(tls, pParse, j, pOut) + if j > iEnd { + p2 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p2)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p2))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25201, uint32(2)) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25198, uint32(2)) + } + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, uint8('}')) + i = iEnd + default: + i = _jsonTranslateBlobToText(tls, pParse, i, pOut) + break + } + return i +} + // C documentation // // /* Return true if the input pJson @@ -174504,7 +176192,7 @@ func _jsonReturnFromBlob(tls *libc.TLS, pParse uintptr, i Tu32, pCtx uintptr, te db = Xsqlite3_context_db_handle(tls, pCtx) n = _jsonbPayloadSize(tls, pParse, i, bp) if n == uint32(0) { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) return } switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { @@ -174744,7 +176432,7 @@ returnfromblob_oom: goto returnfromblob_malformed returnfromblob_malformed: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25059, -int32(1)) return } @@ -174785,7 +176473,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob = Xsqlite3_value_blob(tls, pArg) (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob = uint32(Xsqlite3_value_bytes(tls, pArg)) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24907, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25030, -int32(1)) return int32(1) } case int32(SQLITE_TEXT): @@ -174798,7 +176486,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FzJson = zJson (*TJsonParse)(unsafe.Pointer(pParse)).FnJson = nJson if _jsonConvertTextToBlob(tls, pParse, ctx) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) _sqlite3DbFree(tls, (*TJsonParse)(unsafe.Pointer(pParse)).Fdb, (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob) libc.Xmemset(tls, pParse, 0, uint64(72)) return int32(1) @@ -174817,10 +176505,10 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin return int32(1) } if int32(*(*uint8)(unsafe.Pointer(z))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25041) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25164) } else { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('-') && int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25034) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25157) } else { _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(n), z) } @@ -174859,7 +176547,7 @@ func _jsonBadPathError(tls *libc.TLS, ctx uintptr, zPath uintptr) (r uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25075, libc.VaList(bp+8, zPath)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25204, libc.VaList(bp+8, zPath)) if ctx == uintptr(0) { return zMsg } @@ -174957,7 +176645,7 @@ jsonInsertIntoBlob_patherror: ; _jsonParseFree(tls, p) if rc == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } else { _jsonBadPathError(tls, ctx, zPath) } @@ -175141,7 +176829,7 @@ json_pfa_malformed: return p } else { _jsonParseFree(tls, p) - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) return uintptr(0) } goto json_pfa_oom @@ -175276,7 +176964,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if int32(*(*uint8)(unsafe.Pointer(zPath))) == int32('$') { v1 = zPath + uintptr(1) } else { - v1 = __ccgo_ts + 25093 + v1 = __ccgo_ts + 25222 } i = _jsonLookupStep(tls, p, uint32(0), v1, uint32(0)) if i >= uint32(JSON_LOOKUP_PATHERROR) { @@ -175286,7 +176974,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } eErr = uint8(1) @@ -175304,25 +176992,6 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) _jsonParseFree(tls, p) } -// C documentation -// -// /* True if the string is all digits */ -func _jsonAllDigits(tls *libc.TLS, z uintptr, n int32) (r int32) { - var i int32 - _ = i - i = 0 - for { - if !(i < n && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _1 - _1: - ; - i++ - } - return libc.BoolInt32(i == n) -} - // C documentation // // /* True if the string is all alphanumerics and underscores */ @@ -175409,21 +177078,21 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { ** [NUMBER] ==> $[NUMBER] // Not PG. Purely for convenience */ _jsonStringInit(tls, bp, ctx) - if _jsonAllDigits(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25095, uint32(1)) + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) == int32(SQLITE_INTEGER) { + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25224, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+5161, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+5225, uint32(2)) } else { if _jsonAllAlphanum(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1661, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1675, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { if int32(*(*uint8)(unsafe.Pointer(zPath))) == int32('[') && nPath >= int32(3) && int32(*(*uint8)(unsafe.Pointer(zPath + uintptr(nPath-int32(1))))) == int32(']') { _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25097, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25226, uint32(2)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25100, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25229, uint32(1)) } } } @@ -175460,11 +177129,11 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { goto json_extract_error /* Return NULL if not found */ } else { _jsonAppendSeparator(tls, bp) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1634, uint32(4)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1648, uint32(4)) } } else { if j == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) goto json_extract_error } else { _jsonBadPathError(tls, ctx, zPath) @@ -175735,7 +177404,7 @@ func _jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == int32(JSON_MERGE_OOM) { Xsqlite3_result_error_nomem(tls, ctx) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } _jsonParseFree(tls, pPatch) @@ -175759,7 +177428,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { var _ /* jx at bp+0 */ TJsonString _, _, _ = i, n, z if argc&int32(1) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25102, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25231, -int32(1)) return } _jsonStringInit(tls, bp, ctx) @@ -175770,7 +177439,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { break } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != int32(SQLITE_TEXT) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25153, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25282, -int32(1)) _jsonStringReset(tls, bp) return } @@ -175842,7 +177511,7 @@ func _jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } goto json_remove_done @@ -175879,7 +177548,7 @@ func _jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { return } if argc&int32(1) == 0 { - _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15796) + _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15889) return } _jsonInsertIntoBlob(tls, ctx, argc, argv, int32(JEDIT_REPL)) @@ -175910,9 +177579,9 @@ func _jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { } if argc&int32(1) == 0 { if bIsSet != 0 { - v1 = __ccgo_ts + 25187 + v1 = __ccgo_ts + 25316 } else { - v1 = __ccgo_ts + 25191 + v1 = __ccgo_ts + 25320 } _jsonWrongNumArgs(tls, ctx, v1) return @@ -175960,7 +177629,7 @@ func _jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24936, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25059, -int32(1)) } } goto json_type_done @@ -175975,6 +177644,48 @@ json_type_done: _jsonParseFree(tls, p) } +// C documentation +// +// /* +// ** json_pretty(JSON) +// ** json_pretty(JSON, INDENT) +// ** +// ** Return text that is a pretty-printed rendering of the input JSON. +// ** If the argument is not valid JSON, return NULL. +// ** +// ** The INDENT argument is text that is used for indentation. If omitted, +// ** it defaults to four spaces (the same as PostgreSQL). +// */ +func _jsonPrettyFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { + bp := tls.Alloc(176) + defer tls.Free(176) + var v1 uintptr + var v2 bool + var _ /* s at bp+0 */ TJsonString + var _ /* x at bp+136 */ TJsonPretty + _, _ = v1, v2 /* Pretty printing context */ + libc.Xmemset(tls, bp+136, 0, uint64(32)) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse = _jsonParseFuncArg(tls, ctx, *(*uintptr)(unsafe.Pointer(argv)), uint32(0)) + if (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse == uintptr(0) { + return + } + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpOut = bp + _jsonStringInit(tls, bp, ctx) + if v2 = argc == int32(1); !v2 { + v1 = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = v1 + } + if v2 || v1 == uintptr(0) { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = __ccgo_ts + 25327 + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(4) + } else { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(libc.Xstrlen(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent)) + } + _jsonTranslateBlobToPrettyText(tls, bp+136, uint32(0)) + _jsonReturnString(tls, bp, uintptr(0), uintptr(0)) + _jsonParseFree(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse) +} + // C documentation // // /* @@ -176049,7 +177760,7 @@ func _jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if argc == int32(2) { f = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if f < int64(1) || f > int64(15) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25198, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25332, -int32(1)) return } flags = uint8(f & int64(0x0f)) @@ -176239,7 +177950,7 @@ func _jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25255, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25389, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -176388,7 +178099,7 @@ func _jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25258, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25392, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -176491,7 +178202,7 @@ func _jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argv _ = argc _ = pAux - rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25261) + rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25395) if rc == SQLITE_OK { pNew = _sqlite3DbMallocZero(tls, db, uint64(32)) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -176627,7 +178338,7 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TJsonEachCursor)(unsafe.Pointer(p)).FeType) == int32(JSONB_ARRAY) { - _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25344, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) + _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25478, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) } else { *(*Tu32)(unsafe.Pointer(bp)) = uint32(0) needQuote = 0 @@ -176653,9 +178364,9 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { } } if needQuote != 0 { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25351, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25485, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } else { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25359, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25493, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } } } @@ -177045,7 +178756,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a i = v5 (*TJsonEachCursor)(unsafe.Pointer(p)).FeType = uint8(0) (*TJsonEachCursor)(unsafe.Pointer(p)).FnRoot = uint32(1) - _jsonAppendRaw(tls, p+56, __ccgo_ts+25365, uint32(1)) + _jsonAppendRaw(tls, p+56, __ccgo_ts+25499, uint32(1)) } (*TJsonEachCursor)(unsafe.Pointer(p)).FnParent = uint32(0) n = _jsonbPayloadSize(tls, p+192, i, bp) @@ -177069,7 +178780,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a json_each_malformed_input: ; Xsqlite3_free(tls, (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg) - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24936, 0) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25059, 0) _jsonEachCursorReset(tls, p) if (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { v6 = int32(SQLITE_ERROR) @@ -177123,183 +178834,193 @@ func init() { // ** Register JSON functions. // */ func _sqlite3RegisterJsonFunctions(tls *libc.TLS) { - _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2304)/libc.Uint64FromInt64(72))) + _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2448)/libc.Uint64FromInt64(72))) } -var _aJsonFunc = [32]TFuncDef{ +var _aJsonFunc = [34]TFuncDef{ 0: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25367, + FzName: __ccgo_ts + 25501, }, 1: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25372, + FzName: __ccgo_ts + 25506, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25378, + FzName: __ccgo_ts + 25512, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25389, + FzName: __ccgo_ts + 25523, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25401, + FzName: __ccgo_ts + 25535, }, 5: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25401, + FzName: __ccgo_ts + 25535, }, 6: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25419, + FzName: __ccgo_ts + 25553, }, 7: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25439, + FzName: __ccgo_ts + 25573, }, 8: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25452, + FzName: __ccgo_ts + 25586, }, 9: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_JSON) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25466, + FzName: __ccgo_ts + 25600, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_SQL) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25469, + FzName: __ccgo_ts + 25603, }, 11: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25473, + FzName: __ccgo_ts + 25607, }, 12: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25485, + FzName: __ccgo_ts + 25619, }, 13: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25498, + FzName: __ccgo_ts + 25632, }, 14: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25510, + FzName: __ccgo_ts + 25644, }, 15: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25523, + FzName: __ccgo_ts + 25657, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25534, + FzName: __ccgo_ts + 25668, }, 17: { FnArg: int8(1), - FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25546, + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25680, }, 18: { + FnArg: int8(2), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25680, + }, + 19: { + FnArg: int8(1), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25692, + }, + 20: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25557, + FzName: __ccgo_ts + 25703, }, - 19: { + 21: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25569, + FzName: __ccgo_ts + 25715, }, - 20: { + 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25582, + FzName: __ccgo_ts + 25728, }, - 21: { + 23: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25595, + FzName: __ccgo_ts + 25741, }, - 22: { + 24: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25609, + FzName: __ccgo_ts + 25755, }, - 23: { + 25: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25618, + FzName: __ccgo_ts + 25764, }, - 24: { + 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25628, + FzName: __ccgo_ts + 25774, }, - 25: { + 27: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25628, + FzName: __ccgo_ts + 25774, }, - 26: { + 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25638, + FzName: __ccgo_ts + 25784, }, - 27: { + 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25638, + FzName: __ccgo_ts + 25784, }, - 28: { + 30: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25649, + FzName: __ccgo_ts + 25795, }, - 29: { + 31: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25666, + FzName: __ccgo_ts + 25812, }, - 30: { + 32: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25684, + FzName: __ccgo_ts + 25830, }, - 31: { + 33: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25702, + FzName: __ccgo_ts + 25848, }, } @@ -177322,33 +179043,35 @@ func init() { *(*uintptr)(unsafe.Add(p, 1032)) = __ccgo_fp(_jsonObjectFunc) *(*uintptr)(unsafe.Add(p, 1104)) = __ccgo_fp(_jsonPatchFunc) *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonPatchFunc) - *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonQuoteFunc) - *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2048)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2056)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2064)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2120)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2128)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2136)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonQuoteFunc) + *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2208)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2280)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2328)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2336)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2344)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2352)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2400)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2408)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2416)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2424)) = __ccgo_fp(_jsonGroupInverse) } // C documentation @@ -177380,11 +179103,11 @@ var _aMod = [2]struct { FpModule uintptr }{ 0: { - FzName: __ccgo_ts + 25721, + FzName: __ccgo_ts + 25867, FpModule: uintptr(unsafe.Pointer(&_jsonEachModule)), }, 1: { - FzName: __ccgo_ts + 25731, + FzName: __ccgo_ts + 25877, FpModule: uintptr(unsafe.Pointer(&_jsonTreeModule)), }, } @@ -178037,7 +179760,7 @@ func _nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode Ti64, pParent uintptr, pp } } if (*TRtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) { - rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25741, iNode, 0, pRtree+112) + rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25887, iNode, 0, pRtree+112) } if rc != 0 { *(*uintptr)(unsafe.Pointer(ppNode)) = uintptr(0) @@ -178349,7 +180072,7 @@ func _rtreeDestroy(tls *libc.TLS, pVtab uintptr) (r int32) { var rc int32 _, _, _ = pRtree, rc, zCreate pRtree = pVtab - zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25746, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25892, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if !(zCreate != 0) { rc = int32(SQLITE_NOMEM) } else { @@ -179283,7 +181006,7 @@ func _findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid Ti64, ppLeaf uintptr, p func _deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) (r int32) { var pBlob, pInfo, pSrc uintptr _, _, _ = pBlob, pInfo, pSrc /* Callback information */ - pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25828) + pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25974) if pSrc == uintptr(0) { return int32(SQLITE_ERROR) } @@ -179338,7 +181061,7 @@ func _rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp iRowid = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) *(*Ti64)(unsafe.Pointer(bp + 24)) = 0 eType = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) == float64(iRowid) { + if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && 0 == _sqlite3IntFloatCompare(tls, iRowid, Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))) { rc = _findLeafNode(tls, pRtree, iRowid, bp+16, bp+24) } else { rc = SQLITE_OK @@ -180827,7 +182550,7 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) _, _, _, _, _, _ = rc, zCol, zCol1, zCol2, zSql, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) _ = libc.Int32FromInt32(0) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25842, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25988, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -int32(1), bp, uintptr(0)) } else { @@ -180837,11 +182560,11 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) if rc == SQLITE_OK { if iCol == 0 { zCol = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25862, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26008, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { zCol1 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol) zCol2 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol+int32(1)) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25894, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26040, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -181020,6 +182743,7 @@ func _rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) (r int32) { var pRtree uintptr _ = pRtree pRtree = pVtab + _ = libc.Int32FromInt32(0) (*TRtree)(unsafe.Pointer(pRtree)).FinWrTrans = uint8(1) return SQLITE_OK } @@ -181056,7 +182780,7 @@ func _rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) (r int32) { _, _, _ = pRtree, rc, zSql pRtree = pVtab rc = int32(SQLITE_NOMEM) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25931, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26077, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) if zSql != 0 { _nodeBlobReset(tls, pRtree) rc = Xsqlite3_exec(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -181110,9 +182834,9 @@ func _rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) (r int32) { var v2 int64 var _ /* p at bp+0 */ uintptr _, _, _, _, _, _ = nRow, rc, zFmt, zSql, v1, v2 - zFmt = __ccgo_ts + 26076 + zFmt = __ccgo_ts + 26222 nRow = int64(RTREE_MIN_ROWEST) - rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11582, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11707, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == int32(SQLITE_ERROR) { @@ -181170,9 +182894,9 @@ func _rtreeShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName1 = [3]uintptr{ - 0: __ccgo_ts + 26132, - 1: __ccgo_ts + 5484, - 2: __ccgo_ts + 16694, + 0: __ccgo_ts + 26278, + 1: __ccgo_ts + 5548, + 2: __ccgo_ts + 16781, } var _rtreeModule = Tsqlite3_module{ @@ -181216,21 +182940,21 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref (*TRtree)(unsafe.Pointer(pRtree)).Fdb = db if isCreate != 0 { p = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26546, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26692, libc.VaList(bp+8, zDb, zPrefix)) ii = 0 for { if !(ii < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26608, libc.VaList(bp+8, ii)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26754, libc.VaList(bp+8, ii)) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26613, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26677, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26747, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26759, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26823, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26893, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return int32(SQLITE_NOMEM) @@ -181260,7 +182984,7 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } else { /* An UPSERT is very slightly slower than REPLACE, but it is needed ** if there are auxiliary columns */ - zFormat = __ccgo_ts + 26796 + zFormat = __ccgo_ts + 26942 } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+8, zDb, zPrefix)) if zSql != 0 { @@ -181275,31 +182999,31 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref i++ } if (*TRtree)(unsafe.Pointer(pRtree)).FnAux != 0 && rc != int32(SQLITE_NOMEM) { - (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+26904, libc.VaList(bp+8, zDb, zPrefix)) + (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+27050, libc.VaList(bp+8, zDb, zPrefix)) if (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { p1 = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26949, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27095, libc.VaList(bp+8, zDb, zPrefix)) ii1 = 0 for { if !(ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } if ii1 != 0 { - Xsqlite3_str_append(tls, p1, __ccgo_ts+13090, int32(1)) + Xsqlite3_str_append(tls, p1, __ccgo_ts+13215, int32(1)) } if ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26976, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27122, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) } else { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26998, libc.VaList(bp+8, ii1, ii1+int32(2))) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27144, libc.VaList(bp+8, ii1, ii1+int32(2))) } goto _3 _3: ; ii1++ } - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27006, 0) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27152, 0) zSql1 = Xsqlite3_str_finish(tls, p1) if zSql1 == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -181313,14 +183037,14 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } var _azSql = [8]uintptr{ - 0: __ccgo_ts + 26137, - 1: __ccgo_ts + 26190, - 2: __ccgo_ts + 26235, - 3: __ccgo_ts + 26287, - 4: __ccgo_ts + 26341, - 5: __ccgo_ts + 26386, - 6: __ccgo_ts + 26444, - 7: __ccgo_ts + 26499, + 0: __ccgo_ts + 26283, + 1: __ccgo_ts + 26336, + 2: __ccgo_ts + 26381, + 3: __ccgo_ts + 26433, + 4: __ccgo_ts + 26487, + 5: __ccgo_ts + 26532, + 6: __ccgo_ts + 26590, + 7: __ccgo_ts + 26645, } // C documentation @@ -181378,7 +183102,7 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE _, _ = rc, zSql if isCreate != 0 { *(*int32)(unsafe.Pointer(bp)) = 0 - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27022, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27168, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) rc = _getIntFromStmt(tls, db, zSql, bp) if rc == SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp)) - int32(64) @@ -181386,17 +183110,17 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = int32(4) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*int32(RTREE_MAXCELLS) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27042, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27188, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) rc = _getIntFromStmt(tls, db, zSql, pRtree+32) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } else { if (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize < libc.Int32FromInt32(512)-libc.Int32FromInt32(64) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< libc.Int32FromInt32(RTREE_MAX_AUX_COLUMN)+libc.Int32FromInt32(3) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) return int32(SQLITE_ERROR) } Xsqlite3_vtab_config(tls, db, int32(SQLITE_VTAB_CONSTRAINT_SUPPORT), libc.VaList(bp+8, int32(1))) @@ -181473,13 +183197,13 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27285, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27431, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27291, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27437, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = int32(4) for { if !(ii < argc) { @@ -181488,7 +183212,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt zArg = *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)) if int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('+') { (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27315, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27461, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) } else { if int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux) > 0 { break @@ -181502,19 +183226,19 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27342, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27488, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) } else { if ii < argc { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, aErrMsg[int32(4)])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, aErrMsg[int32(4)])) rc = int32(SQLITE_ERROR) } else { v3 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v3 if SQLITE_OK != v3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } } @@ -181537,7 +183261,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } } if iErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, aErrMsg[iErr])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, aErrMsg[iErr])) goto rtreeInit_fail } (*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell = uint8(int32(8) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnDim2)*int32(4)) @@ -181548,7 +183272,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -181566,8 +183290,8 @@ rtreeInit_fail: } var _azFormat = [2]uintptr{ - 0: __ccgo_ts + 27321, - 1: __ccgo_ts + 27332, + 0: __ccgo_ts + 27467, + 1: __ccgo_ts + 27478, } // C documentation @@ -181625,21 +183349,21 @@ func _rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { } _nodeGetCell(tls, bp+40, bp, ii, bp+1008) if ii > 0 { - Xsqlite3_str_append(tls, pOut, __ccgo_ts+11202, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+11327, int32(1)) } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27345, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27491, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) jj = 0 for { if !(jj < int32((*(*TRtree)(unsafe.Pointer(bp + 40))).FnDim2)) { break } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27351, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27497, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) goto _2 _2: ; jj++ } - Xsqlite3_str_append(tls, pOut, __ccgo_ts+27355, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+27501, int32(1)) goto _1 _1: ; @@ -181666,7 +183390,7 @@ func _rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { _ = zBlob _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != int32(SQLITE_BLOB) || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+27357, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+27503, -int32(1)) } else { zBlob = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -181784,11 +183508,11 @@ func _rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintpt (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } else { if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - v1 = __ccgo_ts + 4203 + v1 = __ccgo_ts + 4267 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27390, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27536, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } @@ -181822,7 +183546,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt _, _, _ = nNode, pNode, pRet pRet = uintptr(0) /* Return value */ if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) { - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27397, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27543, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { Xsqlite3_bind_int64(tls, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode, int32(1), iNode) @@ -181839,7 +183563,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt } _rtreeCheckReset(tls, pCheck, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27442, libc.VaList(bp+8, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27588, libc.VaList(bp+8, iNode)) } } return pRet @@ -181868,8 +183592,8 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i var rc int32 _, _, _, _, _, _ = azSql, ii, pStmt, rc, v1, v2 azSql = [2]uintptr{ - 0: __ccgo_ts + 27474, - 1: __ccgo_ts + 27528, + 0: __ccgo_ts + 27620, + 1: __ccgo_ts + 27674, } _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) { @@ -181883,21 +183607,21 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i rc = Xsqlite3_step(tls, pStmt) if rc == int32(SQLITE_DONE) { if bLeaf != 0 { - v1 = __ccgo_ts + 27576 + v1 = __ccgo_ts + 27722 } else { - v1 = __ccgo_ts + 27584 + v1 = __ccgo_ts + 27730 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27593, libc.VaList(bp+8, iKey, iVal, v1)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27739, libc.VaList(bp+8, iKey, iVal, v1)) } else { if rc == int32(SQLITE_ROW) { ii = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { if bLeaf != 0 { - v2 = __ccgo_ts + 27576 + v2 = __ccgo_ts + 27722 } else { - v2 = __ccgo_ts + 27584 + v2 = __ccgo_ts + 27730 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27638, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27784, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) } } } @@ -181942,7 +183666,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 v2 = libc.BoolInt32(*(*TRtreeValue)(unsafe.Pointer(bp)) > *(*TRtreeValue)(unsafe.Pointer(bp + 4))) } if v2 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27696, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27842, libc.VaList(bp+24, i, iCell, iNode)) } if pParent != 0 { _readCoord(tls, pParent+uintptr(libc.Int32FromInt32(4)*libc.Int32FromInt32(2)*i), bp+8) @@ -181960,7 +183684,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 } } if v5 || v4 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27744, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27890, libc.VaList(bp+24, i, iCell, iNode)) } } goto _1 @@ -181995,19 +183719,19 @@ func _rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintpt aNode = _rtreeCheckGetNode(tls, pCheck, iNode, bp) if aNode != 0 { if *(*int32)(unsafe.Pointer(bp)) < int32(4) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27811, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27957, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) } else { /* Used to iterate through cells */ if aParent == uintptr(0) { iDepth = _readInt16(tls, aNode) if iDepth > int32(RTREE_MAX_DEPTH) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27845, libc.VaList(bp+16, iDepth)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27991, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = _readInt16(tls, aNode+2) if int32(4)+nCell*(int32(8)+(*TRtreeCheck)(unsafe.Pointer(pCheck)).FnDim*int32(2)*int32(4)) > *(*int32)(unsafe.Pointer(bp)) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27875, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28021, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) } else { i = 0 for { @@ -182052,12 +183776,12 @@ func _rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect Ti64) var pCount uintptr _, _ = nActual, pCount if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { - pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27930, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) + pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28076, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) if pCount != 0 { if Xsqlite3_step(tls, pCount) == int32(SQLITE_ROW) { nActual = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27961, libc.VaList(bp+8, zTbl, nExpect, nActual)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28107, libc.VaList(bp+8, zTbl, nExpect, nActual)) } } (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -182086,7 +183810,7 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzDb = zDb (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzTab = zTab /* Find the number of auxiliary columns */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28028, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28174, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { nAux = Xsqlite3_column_count(tls, pStmt) - int32(2) Xsqlite3_finalize(tls, pStmt) @@ -182096,11 +183820,11 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe } } /* Find number of dimensions in the rtree table. */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25842, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25988, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim = (Xsqlite3_column_count(tls, pStmt) - int32(1) - nAux) / int32(2) if (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim < int32(1) { - _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28056, 0) + _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28202, 0) } else { if int32(SQLITE_ROW) == Xsqlite3_step(tls, pStmt) { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FbInt = libc.BoolInt32(Xsqlite3_column_type(tls, pStmt, int32(1)) == int32(SQLITE_INTEGER)) @@ -182116,8 +183840,8 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe if (*(*TRtreeCheck)(unsafe.Pointer(bp))).Frc == SQLITE_OK { _rtreeCheckNode(tls, bp, 0, uintptr(0), int64(1)) } - _rtreeCheckCount(tls, bp, __ccgo_ts+28087, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) - _rtreeCheckCount(tls, bp, __ccgo_ts+28094, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28233, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28240, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) } /* Finalize SQL statements used by the integrity-check */ Xsqlite3_finalize(tls, (*(*TRtreeCheck)(unsafe.Pointer(bp))).FpGetNode) @@ -182145,7 +183869,7 @@ func _rtreeIntegrity(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zName uintpt _ = isQuick rc = _rtreeCheckTable(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, pzErr) if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28102, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28248, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) if *(*uintptr)(unsafe.Pointer(pzErr)) == uintptr(0) { rc = int32(SQLITE_NOMEM) } @@ -182196,13 +183920,13 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { var _ /* zReport at bp+0 */ uintptr _, _, _, _ = rc, zDb, zTab, v1 if nArg != int32(1) && nArg != int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+28121, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+28267, -int32(1)) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zDb = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg))) if nArg == int32(1) { zTab = zDb - zDb = __ccgo_ts + 6585 + zDb = __ccgo_ts + 6649 } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -182211,7 +183935,7 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { if *(*uintptr)(unsafe.Pointer(bp)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(bp)) } else { - v1 = __ccgo_ts + 18461 + v1 = __ccgo_ts + 18548 } Xsqlite3_result_text(tls, ctx, v1, -int32(1), uintptr(-libc.Int32FromInt32(1))) } else { @@ -182678,19 +184402,19 @@ func _geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) if p != 0 { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) - Xsqlite3_str_append(tls, x, __ccgo_ts+25095, int32(1)) + Xsqlite3_str_append(tls, x, __ccgo_ts+25224, int32(1)) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28172, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28318, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28183, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28329, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -182719,20 +184443,20 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) cSep = uint8('\'') - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28194, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28340, 0) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28212, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28358, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) cSep = uint8(' ') goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28220, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28366, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) i = int32(1) for { if !(i < argc) { @@ -182740,14 +184464,14 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if z != 0 && *(*uint8)(unsafe.Pointer(z)) != 0 { - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28228, libc.VaList(bp+8, z)) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28374, libc.VaList(bp+8, z)) } goto _2 _2: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28232, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28378, 0) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -183877,13 +185601,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27285, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27431, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28245, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28391, 0) (*TRtree)(unsafe.Pointer(pRtree)).FnAux = uint8(1) /* Add one for _shape */ (*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = uint8(1) /* The _shape column is always not-null */ ii = int32(3) @@ -183892,13 +185616,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint break } (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28267, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28413, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27342, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27488, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) @@ -183906,7 +185630,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint v2 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v2 if SQLITE_OK != v2 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } Xsqlite3_free(tls, zSql) @@ -183921,7 +185645,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -184138,7 +185862,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iRowidTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(1) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16694 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16781 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).Fomit = uint8(1) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(30) @@ -184148,7 +185872,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iFuncTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28271 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28417 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).Fomit = uint8(0) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(300) @@ -184156,7 +185880,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { return SQLITE_OK } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(4) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28277 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28423 (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(3e+06) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -184278,7 +186002,7 @@ func _geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pR _geopolyBBox(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(aData + 2*8)), bp+8+8, bp) if *(*int32)(unsafe.Pointer(bp)) != 0 { if *(*int32)(unsafe.Pointer(bp)) == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28286, 0) + (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28432, 0) } goto geopoly_update_end } @@ -184382,12 +186106,12 @@ geopoly_update_end: func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) { _ = pVtab _ = nArg - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28326) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28472) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION) } - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28342) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28488) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1) @@ -184458,7 +186182,7 @@ func _sqlite3_geopoly_init(tls *libc.TLS, db uintptr) (r int32) { i++ } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28519, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28665, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -184472,61 +186196,61 @@ var _aFunc = [12]struct { 0: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28357, + FzName: __ccgo_ts + 28503, }, 1: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28370, + FzName: __ccgo_ts + 28516, }, 2: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28383, + FzName: __ccgo_ts + 28529, }, 3: { FnArg: int8(-int32(1)), FbPure: uint8(1), - FzName: __ccgo_ts + 28396, + FzName: __ccgo_ts + 28542, }, 4: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28342, + FzName: __ccgo_ts + 28488, }, 5: { FnArg: int8(3), FbPure: uint8(1), - FzName: __ccgo_ts + 28408, + FzName: __ccgo_ts + 28554, }, 6: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28326, + FzName: __ccgo_ts + 28472, }, 7: { FnArg: int8(1), - FzName: __ccgo_ts + 28431, + FzName: __ccgo_ts + 28577, }, 8: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28445, + FzName: __ccgo_ts + 28591, }, 9: { FnArg: int8(7), FbPure: uint8(1), - FzName: __ccgo_ts + 28458, + FzName: __ccgo_ts + 28604, }, 10: { FnArg: int8(4), FbPure: uint8(1), - FzName: __ccgo_ts + 28472, + FzName: __ccgo_ts + 28618, }, 11: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28488, + FzName: __ccgo_ts + 28634, }, } @@ -184552,7 +186276,7 @@ var _aAgg = [1]struct { FzName uintptr }{ 0: { - FzName: __ccgo_ts + 28500, + FzName: __ccgo_ts + 28646, }, } @@ -184577,20 +186301,20 @@ func _sqlite3RtreeInit(tls *libc.TLS, db uintptr) (r int32) { var rc, utf8 int32 _, _, _, _ = c, c1, rc, utf8 utf8 = int32(SQLITE_UTF8) - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28527, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28673, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28537, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28683, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28548, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28694, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { c = libc.UintptrFromInt32(RTREE_COORD_REAL32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28271, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28417, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { c1 = libc.UintptrFromInt32(RTREE_COORD_INT32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28559, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28705, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) } if rc == SQLITE_OK { rc = _sqlite3_geopoly_init(tls, db) @@ -184692,7 +186416,7 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { Xsqlite3_result_error_nomem(tls, ctx) _rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25828, __ccgo_fp(_rtreeMatchArgFree)) + Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25974, __ccgo_fp(_rtreeMatchArgFree)) } } } @@ -185910,7 +187634,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt /* Figure out the size of the output */ nOut = _rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+28569, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28715, -int32(1)) return } aOut = Xsqlite3_malloc(tls, nOut+int32(1)) @@ -185920,7 +187644,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt nOut2 = _rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut) if nOut2 != nOut { Xsqlite3_free(tls, aOut) - Xsqlite3_result_error(tls, context, __ccgo_ts+28569, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28715, -int32(1)) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, __ccgo_fp(Xsqlite3_free)) } @@ -185946,7 +187670,7 @@ func _prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg _ = rc rc = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -185969,7 +187693,7 @@ func _resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) (r in _ = rc rc = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -186102,7 +187826,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { /* Free any SQLite statements used while processing the previous object */ _rbuObjIterClearStatements(tls, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28590, uintptr(0), uintptr(0), p+64) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28736, uintptr(0), uintptr(0), p+64) } if rc == SQLITE_OK { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 { @@ -186112,6 +187836,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { if rc != int32(SQLITE_ROW) { rc = _resetAndCollectError(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, p+64) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = uintptr(0) + (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = uintptr(0) } else { (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, 0) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, int32(1)) @@ -186192,7 +187917,7 @@ func _rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { Xsqlite3_result_text(tls, pCtx, zIn, -int32(1), libc.UintptrFromInt32(0)) } } else { - if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25741, zIn, uint64(4)) == 0 { + if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25887, zIn, uint64(4)) == 0 { i = int32(4) for { if !(int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) <= int32('9')) { @@ -186229,13 +187954,13 @@ func _rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { _, _ = rc, v1 libc.Xmemset(tls, pIter, 0, uint64(192)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 28761 + v1 = __ccgo_ts + 28907 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28802, libc.VaList(bp+8, v1))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28948, libc.VaList(bp+8, v1))) if rc == SQLITE_OK { - rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+28952) + rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+29098) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = int32(1) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -186403,7 +188128,7 @@ func _rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { rc = Xsqlite3_finalize(tls, pStmt) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && rc != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } @@ -186465,7 +188190,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 _ = libc.Int32FromInt32(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29077, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29223, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0]) != int32(SQLITE_ROW) { /* Either an error, or no such table. */ goto rbuTableType_end @@ -186475,7 +188200,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0], int32(1)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29196, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29342, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { goto rbuTableType_end } @@ -186483,7 +188208,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu zOrig = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(3)) zIdx = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(1)) if zOrig != 0 && zIdx != 0 && int32(*(*Tu8)(unsafe.Pointer(zOrig))) == int32('p') { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29217, libc.VaList(bp+40, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29363, libc.VaList(bp+40, zIdx))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)]) == int32(SQLITE_ROW) { *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)], 0) @@ -186495,7 +188220,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29268, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29414, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { for Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)]) == int32(SQLITE_ROW) { if Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)], int32(5)) > 0 { @@ -186539,7 +188264,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { bIndex = 0 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.Xmemcpy(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29289, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29435, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -186552,7 +188277,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { if bPartial != 0 { libc.Xmemset(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, int32(0x01), uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+24, zIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) if iCid >= 0 { @@ -186606,7 +188331,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 _rbuTableType(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+8, pIter+108) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+19904, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+20036, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc @@ -186618,7 +188343,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 /* Populate the azTblCol[] and nTblCol variables based on the columns ** of the input table. Ignore any input table columns that begin with ** "rbu_". */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29346, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29492, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp))) _rbuAllocateIterArrays(tls, p, pIter, nCol) @@ -186629,7 +188354,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 break } zName = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), i) - if Xsqlite3_strnicmp(tls, __ccgo_ts+29365, zName, int32(4)) != 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+29511, zName, int32(4)) != 0 { zCopy = _rbuStrndup(tls, zName, p+56) *(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol v3 = pIter + 16 @@ -186637,7 +188362,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 *(*int32)(unsafe.Pointer(v3))++ *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(v2)*8)) = zCopy } else { - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29370, zName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29516, zName) { bRbuRowid = int32(1) } } @@ -186651,17 +188376,17 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && bRbuRowid != libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) if bRbuRowid != 0 { - v4 = __ccgo_ts + 29380 + v4 = __ccgo_ts + 29526 } else { - v4 = __ccgo_ts + 29393 + v4 = __ccgo_ts + 29539 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29402, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29548, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) } /* Check that all non-HIDDEN columns in the destination table are also ** present in the input table. Populate the abTblPk[], azTblType[] and ** aiTblOrder[] arrays at the same time. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29431, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29577, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zName1 = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -186683,7 +188408,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 } if i == (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29453, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29599, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) } else { iPk = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) bNotNull = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) @@ -186725,15 +188450,15 @@ func _rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) var z, zList, zSep uintptr _, _, _, _ = i, z, zList, zSep zList = uintptr(0) - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } z = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+29480, libc.VaList(bp+8, zList, zSep, z)) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+29626, libc.VaList(bp+8, zList, zSep, z)) + zSep = __ccgo_ts + 15083 goto _1 _1: ; @@ -186758,7 +188483,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, _, _, _, _, _ = i, iPk, zCol, zRet, zSep iPk = int32(1) zRet = uintptr(0) - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 for int32(1) != 0 { i = 0 for { @@ -186767,7 +188492,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, } if int32(*(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29489, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29635, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -186815,21 +188540,21 @@ func _rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zRet = uintptr(0) if bRowid != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29502, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29648, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iMax = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29534, libc.VaList(bp+16, iMax)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29680, libc.VaList(bp+16, iMax)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1648, __ccgo_ts+14990, __ccgo_ts+29557) - zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29563, __ccgo_ts+29570, __ccgo_ts+5106) - zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1648, __ccgo_ts+14990, __ccgo_ts+1648) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1662, __ccgo_ts+15083, __ccgo_ts+29703) + zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29709, __ccgo_ts+29716, __ccgo_ts+5170) + zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1662, __ccgo_ts+15083, __ccgo_ts+1662) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29578, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29724, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zVal = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29620, libc.VaList(bp+16, zList, zVal)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29766, libc.VaList(bp+16, zList, zVal)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } @@ -186878,10 +188603,10 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 iCol = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(4)) @@ -186904,15 +188629,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _ = libc.Int32FromInt32(0) zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { - zCol = __ccgo_ts + 29640 + zCol = __ccgo_ts + 29786 } } else { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) } - zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29648, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29669, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29705, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) - zSep = __ccgo_ts + 14990 + zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29794, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29815, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) + zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29851, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) + zSep = __ccgo_ts + 15083 iCol++ } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) @@ -186921,9 +188646,9 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29732, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29878, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 iCol = 0 for { if !(iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -186938,15 +188663,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { break } } - zVector = _rbuMPrintf(tls, p, __ccgo_ts+29780, libc.VaList(bp+24, zVector, zSep, zQuoted)) - zSep = __ccgo_ts + 14990 + zVector = _rbuMPrintf(tls, p, __ccgo_ts+29926, libc.VaList(bp+24, zVector, zSep, zQuoted)) + zSep = __ccgo_ts + 15083 goto _2 _2: ; iCol++ } if !(bFailed != 0) { - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29787, libc.VaList(bp+24, zLhs, zVector)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29933, libc.VaList(bp+24, zLhs, zVector)) } } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -187000,12 +188725,12 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zImpPK = uintptr(0) /* String to return via *pzImposterPK */ zWhere = uintptr(0) /* String to return via *pzWhere */ nBind = 0 /* Value to return via *pnBind */ - zCom = __ccgo_ts + 1648 /* Set to ", " later on */ - zAnd = __ccgo_ts + 1648 /* Set to " AND " later on */ + zCom = __ccgo_ts + 1662 /* Set to ", " later on */ + zAnd = __ccgo_ts + 1662 /* Set to " AND " later on */ *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_xinfo = ? */ if rc == SQLITE_OK { _ = libc.Int32FromInt32(0) - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -187014,8 +188739,8 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = uintptr(0) if iCid == -int32(2) { iSeq = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29799, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) - zType = __ccgo_ts + 1648 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29945, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) + zType = __ccgo_ts + 1662 } else { if iCid < 0 { /* An integer primary key. If the table has an explicit IPK, use @@ -187035,9 +188760,9 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - zCol = __ccgo_ts + 29640 + zCol = __ccgo_ts + 29786 } else { - zCol = __ccgo_ts + 29370 + zCol = __ccgo_ts + 29516 } } zType = __ccgo_ts + 1136 @@ -187045,24 +188770,24 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) zType = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)) } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29821, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29967, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) } if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) != 0 { if bDesc != 0 { - v2 = __ccgo_ts + 29557 + v2 = __ccgo_ts + 29703 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } zOrder = v2 - zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29841, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) + zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29987, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+29862, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) - zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+29895, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) + zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+30008, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) + zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+30041, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) { rc = int32(SQLITE_NOMEM) } - zCom = __ccgo_ts + 14990 - zAnd = __ccgo_ts + 22013 + zCom = __ccgo_ts + 15083 + zAnd = __ccgo_ts + 22158 nBind++ } rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -187108,7 +188833,7 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr _, _, _, _ = i, zCol, zList, zS zList = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zS = __ccgo_ts + 1648 + zS = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187116,11 +188841,11 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29919, libc.VaList(bp+8, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30065, libc.VaList(bp+8, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29931, libc.VaList(bp+8, zList, zS)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30077, libc.VaList(bp+8, zList, zS)) } - zS = __ccgo_ts + 14990 + zS = __ccgo_ts + 15083 if zList == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) break @@ -187132,7 +188857,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 (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29940, libc.VaList(bp+8, zList, zObj)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30086, libc.VaList(bp+8, zList, zObj)) } } return zList @@ -187158,27 +188883,27 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _ = i, i1, zCol, zList, zSep, zSep1 zList = uintptr(0) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29955, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30101, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29969, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) - zSep = __ccgo_ts + 22013 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30115, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) + zSep = __ccgo_ts + 22158 } goto _1 _1: ; i++ } - zList = _rbuMPrintf(tls, p, __ccgo_ts+29981, libc.VaList(bp+8, zList)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30127, libc.VaList(bp+8, zList)) } else { - zSep1 = __ccgo_ts + 1648 + zSep1 = __ccgo_ts + 1662 i1 = 0 for { if !(i1 < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187186,8 +188911,8 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i1))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i1)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+30031, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) - zSep1 = __ccgo_ts + 22013 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30177, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) + zSep1 = __ccgo_ts + 22158 } goto _2 _2: @@ -187210,7 +188935,7 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { // */ func _rbuBadControlError(tls *libc.TLS, p uintptr) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30044, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30190, 0) } // C documentation @@ -187244,7 +188969,7 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt if int32(libc.Xstrlen(tls, zMask)) != (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { _rbuBadControlError(tls, p) } else { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187252,16 +188977,16 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt } c = *(*uint8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) if int32(c) == int32('x') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30031, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30177, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15083 } else { if int32(c) == int32('d') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30070, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30216, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15083 } else { if int32(c) == int32('f') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30100, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14990 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30246, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15083 } } } @@ -187346,16 +189071,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { z = uintptr(0) _ = libc.Int32FromInt32(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zSep = __ccgo_ts + 30137 + zSep = __ccgo_ts + 30283 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_list = (pIter->zTbl) */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA index_xinfo = */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29289, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29435, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) - if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16582) == 0 { + if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16669) == 0 { zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+24, zIdx))) } break } @@ -187366,16 +189091,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { /* int iCid = sqlite3_column_int(pXInfo, 0); */ zCol = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(2)) if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) != 0 { - v1 = __ccgo_ts + 29557 + v1 = __ccgo_ts + 29703 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } zDesc = v1 - z = _rbuMPrintf(tls, p, __ccgo_ts+30150, libc.VaList(bp+24, z, zSep, zCol, zDesc)) - zSep = __ccgo_ts + 14990 + z = _rbuMPrintf(tls, p, __ccgo_ts+30296, libc.VaList(bp+24, z, zSep, zCol, zDesc)) + zSep = __ccgo_ts + 15083 } } - z = _rbuMPrintf(tls, p, __ccgo_ts+30161, libc.VaList(bp+24, z)) + z = _rbuMPrintf(tls, p, __ccgo_ts+30307, libc.VaList(bp+24, z)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) } return z @@ -187415,13 +189140,13 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* SELECT name ... WHERE rootpage = $tnum */ zIdx = uintptr(0) /* Name of PK index */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA main.index_xinfo = $zIdx */ - zComma = __ccgo_ts + 1648 + zComma = __ccgo_ts + 1662 zCols = uintptr(0) /* Used to build up list of table cols */ zPk = uintptr(0) /* Used to build up table PK declaration */ /* 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. */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30165) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30311) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), tnum) if int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -187429,7 +189154,7 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { } } if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29317, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29463, libc.VaList(bp+24, zIdx))) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { @@ -187438,21 +189163,21 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) bDesc = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(4)) - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30215, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30361, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) if bDesc != 0 { - v1 = __ccgo_ts + 29557 + v1 = __ccgo_ts + 29703 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - zPk = _rbuMPrintf(tls, p, __ccgo_ts+30237, libc.VaList(bp+24, zPk, zComma, iCid, v1)) - zComma = __ccgo_ts + 14990 + zPk = _rbuMPrintf(tls, p, __ccgo_ts+30383, libc.VaList(bp+24, zPk, zComma, iCid, v1)) + zComma = __ccgo_ts + 15083 } } - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30247, libc.VaList(bp+24, zCols)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30393, libc.VaList(bp+24, zCols)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30262, libc.VaList(bp+24, zCols, zPk)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30408, libc.VaList(bp+24, zCols, zPk)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, 0)) } } @@ -187487,30 +189212,30 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { _, _, _, _, _, _, _, _, _ = iCol, tnum, zCol, zComma, zPk, zPk1, zSql, v2, v3 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { tnum = (*TRbuObjIter)(unsafe.Pointer(pIter)).FiTnum - zComma = __ccgo_ts + 1648 + zComma = __ccgo_ts + 1662 zSql = uintptr(0) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, int32(1))) iCol = 0 for { if !((*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } - zPk = __ccgo_ts + 1648 + zPk = __ccgo_ts + 1662 zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_IPK) && *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 { /* If the target table column is an "INTEGER PRIMARY KEY", add ** "PRIMARY KEY" to the imposter table column declaration. */ - zPk = __ccgo_ts + 30324 + zPk = __ccgo_ts + 30470 } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - v2 = __ccgo_ts + 30337 + v2 = __ccgo_ts + 30483 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30347, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) - zComma = __ccgo_ts + 14990 + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30493, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) + zComma = __ccgo_ts + 15083 goto _1 _1: ; @@ -187519,17 +189244,17 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { zPk1 = _rbuWithoutRowidPK(tls, p, pIter) if zPk1 != 0 { - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30374, libc.VaList(bp+16, zSql, zPk1)) + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30520, libc.VaList(bp+16, zSql, zPk1)) } } - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(1), tnum)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(1), tnum)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { - v3 = __ccgo_ts + 30381 + v3 = __ccgo_ts + 30527 } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30396, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30542, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, 0)) } } @@ -187556,7 +189281,7 @@ func _rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zColli zBind = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1)+bRbuRowid) if zBind != 0 { _ = libc.Int32FromInt32(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30428, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30574, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -187604,7 +189329,7 @@ func _rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintpt zRet = uintptr(0) _ = libc.Int32FromInt32(0) if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30485) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30631) } if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx, -int32(1), libc.UintptrFromInt32(0)) @@ -187775,7 +189500,7 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zIdx = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx zLimit = uintptr(0) if nOffset != 0 { - zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30551, libc.VaList(bp+40, nOffset)) + zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30697, libc.VaList(bp+40, nOffset)) if !(zLimit != 0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) } @@ -187793,18 +189518,18 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zCollist = _rbuObjIterGetIndexCols(tls, p, pIter, bp, bp+8, bp+16, bp+24) zBind = _rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 24))) /* Create the imposter table used to write to this index. */ - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, int32(1))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30571, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30717, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, 0, 0)) /* Create the statement to insert index entries */ (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 24)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30636, libc.VaList(bp+40, zTbl, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30782, libc.VaList(bp+40, zTbl, zBind))) } /* And to delete index entries */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30672, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30818, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) } /* Create the SELECT statement to read keys in sorted order */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -187819,26 +189544,26 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } if zStart != 0 { if zPart != 0 { - v2 = __ccgo_ts + 30706 + v2 = __ccgo_ts + 30852 } else { - v2 = __ccgo_ts + 30710 + v2 = __ccgo_ts + 30856 } v1 = v2 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30716, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30862, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) Xsqlite3_free(tls, zStart) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30777, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30923, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { if zPart != 0 { - v3 = __ccgo_ts + 30706 + v3 = __ccgo_ts + 30852 } else { - v3 = __ccgo_ts + 30710 + v3 = __ccgo_ts + 30856 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30838, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30984, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -187857,62 +189582,62 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zTbl1 = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl /* Imposter table name */ zBindings = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+bRbuRowid) zWhere1 = _rbuObjIterGetWhere(tls, p, pIter) - zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6596) - zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6592) + zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6660) + zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6656) zCollist = _rbuObjIterGetCollist(tls, p, pIter) (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol /* Create the imposter table or tables (if required). */ _rbuCreateImposterTable(tls, p, pIter) _rbuCreateImposterTable2(tls, p, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) { - v4 = __ccgo_ts + 1648 + v4 = __ccgo_ts + 1662 } else { - v4 = __ccgo_ts + 30997 + v4 = __ccgo_ts + 31143 } zWrite = v4 /* Create the INSERT statement to write to the target PK b-tree */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if bRbuRowid != 0 { - v5 = __ccgo_ts + 31006 + v5 = __ccgo_ts + 31152 } else { - v5 = __ccgo_ts + 1648 + v5 = __ccgo_ts + 1662 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31016, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31162, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) } /* Create the DELETE statement to write to the target PK b-tree. ** Because it only performs INSERT operations, this is not required for ** an rbu vacuum handle. */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31052, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31198, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) } if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zRbuRowid = __ccgo_ts + 1648 + zRbuRowid = __ccgo_ts + 1662 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zRbuRowid = __ccgo_ts + 31080 + zRbuRowid = __ccgo_ts + 31226 } /* Create the rbu_tmp_xxx table and the triggers to populate it. */ if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - v6 = __ccgo_ts + 31092 + v6 = __ccgo_ts + 31238 } else { - v6 = __ccgo_ts + 1648 + v6 = __ccgo_ts + 1662 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31109, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31185, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31255, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31331, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31484, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31630, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) } _rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) } /* Create the SELECT statement to read keys from data_xxx */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zRbuRowid1 = __ccgo_ts + 1648 + zRbuRowid1 = __ccgo_ts + 1662 zStart1 = uintptr(0) zOrder = uintptr(0) if bRbuRowid != 0 { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v7 = __ccgo_ts + 31583 + v7 = __ccgo_ts + 31729 } else { - v7 = __ccgo_ts + 31593 + v7 = __ccgo_ts + 31739 } zRbuRowid1 = v7 } @@ -187925,28 +189650,28 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } } if bRbuRowid != 0 { - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29640, 0) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29786, 0) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1648, __ccgo_ts+14990, __ccgo_ts+1648) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1662, __ccgo_ts+15083, __ccgo_ts+1662) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v8 = __ccgo_ts + 31604 + v8 = __ccgo_ts + 31750 } else { - v8 = __ccgo_ts + 1648 + v8 = __ccgo_ts + 1662 } if zStart1 != 0 { v9 = zStart1 } else { - v9 = __ccgo_ts + 1648 + v9 = __ccgo_ts + 1662 } if zOrder != 0 { - v10 = __ccgo_ts + 23207 + v10 = __ccgo_ts + 23352 } else { - v10 = __ccgo_ts + 1648 + v10 = __ccgo_ts + 1662 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31610, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31756, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) } Xsqlite3_free(tls, zStart1) Xsqlite3_free(tls, zOrder) @@ -188033,11 +189758,11 @@ func _rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, p (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpNext = (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - zPrefix = __ccgo_ts + 1648 + zPrefix = __ccgo_ts + 1662 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { - zPrefix = __ccgo_ts + 30997 + zPrefix = __ccgo_ts + 31143 } - zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31658, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) + zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31804, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate) *(*uintptr)(unsafe.Pointer(ppStmt)) = (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpUpdate } @@ -188064,7 +189789,7 @@ func _rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) (r } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp, flags, v1) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp))) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) } @@ -188111,7 +189836,7 @@ func _rbuLoadState(tls *libc.TLS, p uintptr) (r uintptr) { if pRet == uintptr(0) { return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31688, libc.VaList(bp+24, p+48))) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31834, libc.VaList(bp+24, p+48))) for *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) { case int32(RBU_STATE_STAGE): @@ -188173,27 +189898,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu = _rbuOpenDbhandle(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, int32(1)) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain = dbMain if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBUCNT), p) + Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBUCNT), p) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) { - zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31718, libc.VaList(bp+8, zFile, zFile)) + zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31864, libc.VaList(bp+8, zFile, zFile)) } } /* If using separate RBU and state databases, attach the state database to ** the RBU db handle now. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31746, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48, __ccgo_ts+3418, uint64(4)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31892, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+3482, uint64(4)) } else { - libc.Xmemcpy(tls, p+48, __ccgo_ts+6585, uint64(4)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+6649, uint64(4)) } /* If it has not already been created, create the rbu_state table */ - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31764, libc.VaList(bp+8, p+48)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31910, libc.VaList(bp+8, p+48)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { bOpen = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBUCNT), p) + rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBUCNT), p) if rc != int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -188226,10 +189951,10 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) return } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31830, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31976, 0) } else { zExtra = uintptr(0) - if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24596, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { + if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24719, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { zExtra = (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5 for *(*uint8)(unsafe.Pointer(zExtra)) != 0 { v1 = zExtra @@ -188243,16 +189968,16 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if zExtra == uintptr(0) { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } else { - v2 = __ccgo_ts + 31862 + v2 = __ccgo_ts + 32008 } if zExtra == uintptr(0) { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } else { v3 = zExtra } - zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+31864, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6585), v2, v3)) + zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+32010, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6649), v2, v3)) if zTarget == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) return @@ -188263,27 +189988,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31896, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32042, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31911, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32057, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31928, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32074, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBU), p) } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31944, 0) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32090, 0) /* Mark the database file just opened as an RBU target database. If ** this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. ** This is an error. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6585, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6649, int32(SQLITE_FCNTL_RBU), p) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31972, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32118, 0) } } @@ -188333,7 +190058,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) { pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = int64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))<= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+32972, zState+uintptr(n-int32(7)), uint64(7)) { + if n >= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33118, zState+uintptr(n-int32(7)), uint64(7)) { return _rbuMisuseError(tls) } } @@ -189575,7 +191300,7 @@ func _rbuEditErrmsg(tls *libc.TLS, p uintptr) { if !(uint64(i) < nErrmsg-uint64(8)) { break } - if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+30997, uint64(8)) == 0 { + if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31143, uint64(8)) == 0 { nDel = int32(8) for int32(*(*uint8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= int32('9') { nDel++ @@ -189603,7 +191328,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { if p != 0 { /* Commit the transaction to the *-oal file. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14894, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14987, uintptr(0), uintptr(0), p+64) } /* Sync the db file if currently doing an incremental checkpoint */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) { @@ -189612,7 +191337,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { } _rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14894, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14987, uintptr(0), uintptr(0), p+64) } /* Close any open statement handles. */ _rbuObjIterFinalize(tls, p+80) @@ -189622,7 +191347,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { ** specifying the current target and state databases to start a new ** vacuum from scratch. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 { - rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32980, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33126, uintptr(0), uintptr(0), uintptr(0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_DONE) && rc2 != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -189737,7 +191462,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14894, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14987, uintptr(0), uintptr(0), uintptr(0)) } } /* Sync the db file */ @@ -189751,19 +191476,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14894, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14987, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 14879 + v1 = __ccgo_ts + 14972 } else { - v1 = __ccgo_ts + 32932 + v1 = __ccgo_ts + 33078 } zBegin = v1 rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32932, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33078, uintptr(0), uintptr(0), uintptr(0)) } } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -190337,7 +192062,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xControl})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, int32(SQLITE_FCNTL_ZIPVFS), bp) if rc == SQLITE_OK { rc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33007, 0) + (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33153, 0) } else { if rc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p @@ -190363,7 +192088,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r if rc == SQLITE_OK && op == int32(SQLITE_FCNTL_VFSNAME) { pRbuVfs = (*Trbu_file)(unsafe.Pointer(p)).FpRbuVfs zIn = *(*uintptr)(unsafe.Pointer(pArg)) - zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33030, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33176, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -190564,7 +192289,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag if pDb != 0 { if (*Trbu_file)(unsafe.Pointer(pDb)).FpRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FeStage == int32(RBU_STAGE_OAL) { if (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6585) + zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6649) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -190578,7 +192303,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag } else { (*Trbu_file)(unsafe.Pointer(pFd)).FpRbu = (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRbu } - if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33041, 0) != 0 { + if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33187, 0) != 0 { _ = libc.Int32FromInt32(0) oflags = libc.Int32FromInt32(SQLITE_OPEN_TEMP_DB) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_EXCLUSIVE) | libc.Int32FromInt32(SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -191133,7 +192858,7 @@ func _statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint _sqlite3TokenInit(tls, bp, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = _sqlite3FindDb(tls, db, bp) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12191, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12316, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return int32(SQLITE_ERROR) } } else { @@ -191636,7 +193361,7 @@ statNextRestart: (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiPgno = iRoot (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33052, 0) + v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33198, 0) z = v1 (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FzPath = v1 if z == uintptr(0) { @@ -191674,8 +193399,8 @@ statNextRestart: if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { (*TStatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*TStatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*TStatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*Tu32)(unsafe.Pointer((*TStatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33054 - v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33063, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33200 + v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33209, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) z = v2 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v2 if z == uintptr(0) { @@ -191704,7 +193429,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage++ if (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage >= int32(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) { _statResetCsr(tls, pCsr) - return _sqlite3CorruptError(tls, int32(222551)) + return _sqlite3CorruptError(tls, int32(224206)) } _ = libc.Int32FromInt32(0) if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell { @@ -191716,7 +193441,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnPage++ (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33075, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) + v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33221, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) z = v4 (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FzPath = v4 if z == uintptr(0) { @@ -191739,13 +193464,13 @@ statNextRestart: case int32(0x05): /* table internal */ fallthrough case int32(0x02): /* index internal */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33083 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33229 case int32(0x0D): /* table leaf */ fallthrough case int32(0x0A): /* index leaf */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33092 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33238 default: - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33097 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33243 break } *(*int32)(unsafe.Pointer(pCsr + 2108)) += (*TStatPage)(unsafe.Pointer(p1)).FnCell @@ -191754,7 +193479,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnMxPayload = (*TStatPage)(unsafe.Pointer(p1)).FnMxPayload } if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) + v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) z = v5 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v5 if z == uintptr(0) { @@ -191843,12 +193568,12 @@ func _statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, a (*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg = uint8(0) } pSql = Xsqlite3_str_new(tls, (*TStatTable)(unsafe.Pointer(pTab)).Fdb) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33107, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33253, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33262, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33408, libc.VaList(bp+8, zName)) } if idxNum&int32(0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33276, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33422, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -191925,7 +193650,7 @@ func _statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) (r int32) { // ** Invoke this routine to register the "dbstat" virtual table module // */ func _sqlite3DbstatRegister(tls *libc.TLS, db uintptr) (r int32) { - return Xsqlite3_create_module(tls, db, __ccgo_ts+33291, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, __ccgo_ts+33437, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) } var _dbstat_module = Tsqlite3_module{} @@ -193214,20 +194939,20 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, *(*uintptr)(unsafe.Pointer(pazDflt)) = uintptr(0) } nThis = _sqlite3Strlen30(tls, zThis) - if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11582, zThis) { + if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11707, zThis) { rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { /* For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. */ - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33298, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33444, 0) } else { if rc == int32(SQLITE_ERROR) { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1648, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1662, 0) } else { return rc } } } else { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33419, libc.VaList(bp+16, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33565, libc.VaList(bp+16, zDb, zThis)) } if !(zPragma != 0) { return int32(SQLITE_NOMEM) @@ -193251,7 +194976,7 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, bRowid = 0 } nDbCol += bRowid - nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+29640)) + nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+29786)) rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == SQLITE_OK { nByte = Tsqlite3_int64(uint64(nByte) + uint64(nDbCol)*(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(2)+libc.Uint64FromInt64(1)+libc.Uint64FromInt32(1)+libc.Uint64FromInt32(1))) @@ -193275,8 +195000,8 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 if bRowid != 0 { - nName = libc.Xstrlen(tls, __ccgo_ts+29640) - libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29640, nName+uint64(1)) + nName = libc.Xstrlen(tls, __ccgo_ts+29786) + libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29786, nName+uint64(1)) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc pAlloc += uintptr(nName + uint64(1)) *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) = uint8(1) @@ -193369,7 +195094,7 @@ func _sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr, db uintptr ; i++ } - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11582, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11707, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { (*TSessionTable)(unsafe.Pointer(pTab)).FbStat1 = int32(1) } if pSession != 0 && (*Tsqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { @@ -193661,10 +195386,10 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin _, _, _, _ = ii, zDflt, zSep, v2 *(*TSessionBuffer)(unsafe.Pointer(bp)) = TSessionBuffer{} *(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK - zSep = __ccgo_ts + 11202 + zSep = __ccgo_ts + 11327 ii = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33448, 0) + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33594, 0) ii = 0 for { if !(ii < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol) { @@ -193673,11 +195398,11 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin if *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) != 0 { v2 = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) } else { - v2 = __ccgo_ts + 1649 + v2 = __ccgo_ts + 1663 } zDflt = v2 - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5076, libc.VaList(bp+32, zSep, zDflt)) - zSep = __ccgo_ts + 14990 + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5140, libc.VaList(bp+32, zSep, zDflt)) + zSep = __ccgo_ts + 15083 goto _1 _1: ; @@ -193996,7 +195721,7 @@ func _sessionPreupdateOneChange(tls *libc.TLS, op int32, iRowid Ti64, pSession u rc = int32(SQLITE_NOMEM) goto error_out } - _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1648, uint8(0), libc.UintptrFromInt32(0)) + _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1662, uint8(0), libc.UintptrFromInt32(0)) (*Tsqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p } } @@ -194327,7 +196052,7 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr var i int32 var zRet, zSep uintptr _, _, _ = i, zRet, zSep - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 zRet = uintptr(0) i = 0 for { @@ -194335,8 +196060,8 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr break } if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33455, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 22013 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33601, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 22158 if zRet == uintptr(0) { break } @@ -194355,7 +196080,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint var bHave, i int32 var zRet, zSep uintptr _, _, _, _ = bHave, i, zRet, zSep - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 zRet = uintptr(0) bHave = 0 i = 0 @@ -194365,8 +196090,8 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if int32(*(*Tu8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = int32(1) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33489, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 33530 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33635, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 33676 if zRet == uintptr(0) { break } @@ -194378,7 +196103,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if bHave == 0 { _ = libc.Int32FromInt32(0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1722, 0) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1782, 0) } return zRet } @@ -194389,12 +196114,12 @@ func _sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, bRowid int var zRet, zSel, v1 uintptr _, _, _ = zRet, zSel, v1 if bRowid != 0 { - v1 = __ccgo_ts + 33535 + v1 = __ccgo_ts + 33681 } else { - v1 = __ccgo_ts + 6590 + v1 = __ccgo_ts + 6654 } zSel = v1 - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33546, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33692, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -194455,11 +196180,11 @@ func _sessionAllCols(tls *libc.TLS, zDb uintptr, pTab uintptr) (r uintptr) { break } if zRet != 0 { - v2 = __ccgo_ts + 14990 + v2 = __ccgo_ts + 15083 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33625, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33771, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) if !(zRet != 0) { break } @@ -194487,7 +196212,7 @@ func _sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFr } else { z1 = _sessionAllCols(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, pTab) z2 = _sessionAllCols(tls, zFrom, pTab) - zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33644, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) + zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33790, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) if zStmt == uintptr(0) || z1 == uintptr(0) || z2 == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -194587,7 +196312,7 @@ func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl u Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if bMismatch != 0 { if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33701, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33847, 0) } rc = int32(SQLITE_SCHEMA) } @@ -194919,7 +196644,7 @@ func _sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* aBuf at bp+0 */ [24]uint8 - Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5138, libc.VaList(bp+32, iVal)) + Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5202, libc.VaList(bp+32, iVal)) _sessionAppendStr(tls, p, bp, pRc) } @@ -195214,23 +196939,23 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt _, _, _, _, _, _, _ = i, nSql, zCols, zSep, zSql, v1, v3 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK zSql = uintptr(0) - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 if bRowid != 0 { - v1 = __ccgo_ts + 33535 + v1 = __ccgo_ts + 33681 } else { - v1 = __ccgo_ts + 6590 + v1 = __ccgo_ts + 6654 } zCols = v1 nSql = -int32(1) *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 24)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 40)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+33728, bp) - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11582, zTab) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+33732, bp) - _sessionAppendStr(tls, bp+24, __ccgo_ts+33756, bp) - _sessionAppendStr(tls, bp+40, __ccgo_ts+33765, bp) - zCols = __ccgo_ts + 33810 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33874, bp) + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11707, zTab) { + _sessionAppendStr(tls, bp+8, __ccgo_ts+33878, bp) + _sessionAppendStr(tls, bp+24, __ccgo_ts+33902, bp) + _sessionAppendStr(tls, bp+40, __ccgo_ts+33911, bp) + zCols = __ccgo_ts + 33956 } else { i = 0 for { @@ -195240,11 +196965,11 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { _sessionAppendStr(tls, bp+24, zSep, bp) _sessionAppendStr(tls, bp+40, zSep, bp) - zSep = __ccgo_ts + 14990 + zSep = __ccgo_ts + 15083 _sessionAppendIdent(tls, bp+24, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp) - _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33824, libc.VaList(bp+64, i+int32(1))) + _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33970, libc.VaList(bp+64, i+int32(1))) } else { - _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33828, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33974, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) } goto _2 _2: @@ -195256,9 +196981,9 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if bIgnoreNoop != 0 { v3 = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+33855, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+34001, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) if zSql == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } @@ -195404,7 +197129,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+33897, uintptr(0), uintptr(0), uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+34043, uintptr(0), uintptr(0), uintptr(0)) if *(*int32)(unsafe.Pointer(bp + 16)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -195511,7 +197236,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, } } Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf) - Xsqlite3_exec(tls, db, __ccgo_ts+33917, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34063, uintptr(0), uintptr(0), uintptr(0)) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -195932,7 +197657,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, int32(9)) if rc == SQLITE_OK { if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData { - rc = _sqlite3CorruptError(tls, int32(226700)) + rc = _sqlite3CorruptError(tls, int32(228355)) } else { v3 = pIn + 8 v2 = *(*int32)(unsafe.Pointer(v3)) @@ -195957,7 +197682,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = _sqlite3CorruptError(tls, int32(226720)) + rc = _sqlite3CorruptError(tls, int32(228375)) } else { if eType == int32(SQLITE_TEXT) { v4 = int32(SQLITE_UTF8) @@ -195972,7 +197697,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap } if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) { if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) { - rc = _sqlite3CorruptError(tls, int32(226730)) + rc = _sqlite3CorruptError(tls, int32(228385)) } else { *(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal) if eType == int32(SQLITE_INTEGER) { @@ -196028,7 +197753,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) ( ** large value for nCol may cause nRead to wrap around and become ** negative. Leading to a crash. */ if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) { - rc = _sqlite3CorruptError(tls, int32(226778)) + rc = _sqlite3CorruptError(tls, int32(228433)) } else { rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100)) nRead += *(*int32)(unsafe.Pointer(bp)) @@ -196134,7 +197859,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) { (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 _sessionBufferGrow(tls, p+72, int64(nByte), bp) } else { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(226866)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(228521)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -196207,12 +197932,12 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { return (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc } + _sessionDiscardData(tls, p) + (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext /* If the iterator is already at the end of the changeset, return DONE. */ if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { return int32(SQLITE_DONE) } - _sessionDiscardData(tls, p) - (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext v3 = p + 8 v2 = *(*int32)(unsafe.Pointer(v3)) *(*int32)(unsafe.Pointer(v3))++ @@ -196243,7 +197968,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin /* The first record in the changeset is not a table header. Must be a ** corrupt changeset. */ _ = libc.Int32FromInt32(0) - v7 = _sqlite3CorruptError(tls, int32(226952)) + v7 = _sqlite3CorruptError(tls, int32(228607)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7 return v7 } @@ -196253,7 +197978,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin *(*int32)(unsafe.Pointer(v9))++ (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8)))) if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) { - v10 = _sqlite3CorruptError(tls, int32(226958)) + v10 = _sqlite3CorruptError(tls, int32(228613)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10 return v10 } @@ -196334,7 +198059,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin _ = libc.Int32FromInt32(0) *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - v16 = _sqlite3CorruptError(tls, int32(227002)) + v16 = _sqlite3CorruptError(tls, int32(228657)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16 return v16 } @@ -196745,7 +198470,7 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu goto finished_invert } default: - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(227367)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(229022)) goto finished_invert } _ = libc.Int32FromInt32(0) @@ -196950,18 +198675,18 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 } if pUp == uintptr(0) { nByte = int32(uint64(24) * uint64(nU32) * uint64(4)) - bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11582) == 0) + bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11707) == 0) pUp = Xsqlite3_malloc(tls, nByte) if pUp == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } else { - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 libc.Xmemset(tls, bp+8, 0, uint64(16)) (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24 libc.Xmemcpy(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*TSessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(4)) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33935, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34081, bp) _sessionAppendIdent(tls, bp+8, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33948, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34094, bp) /* Create the assignments part of the UPDATE */ ii = 0 for { @@ -196971,9 +198696,9 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if int32(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33954, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34100, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(1), bp) - zSep = __ccgo_ts + 14990 + zSep = __ccgo_ts + 15083 } goto _2 _2: @@ -196981,8 +198706,8 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 ii++ } /* Create the WHERE clause part of the UPDATE */ - zSep = __ccgo_ts + 1648 - _sessionAppendStr(tls, bp+8, __ccgo_ts+33959, bp) + zSep = __ccgo_ts + 1662 + _sessionAppendStr(tls, bp+8, __ccgo_ts+34105, bp) ii = 0 for { if !(ii < (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { @@ -196992,13 +198717,13 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 _sessionAppendStr(tls, bp+8, zSep, bp) if bStat1 != 0 && ii == int32(1) { _ = libc.Int32FromInt32(0) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33967, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34113, bp) } else { _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34042, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34188, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(2), bp) } - zSep = __ccgo_ts + 22013 + zSep = __ccgo_ts + 22158 } goto _3 _3: @@ -197082,13 +198807,13 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in var _ /* buf at bp+8 */ TSessionBuffer var _ /* rc at bp+0 */ int32 _, _, _ = i, nPk, zSep - zSep = __ccgo_ts + 1648 + zSep = __ccgo_ts + 1662 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} nPk = 0 - _sessionAppendStr(tls, bp+8, __ccgo_ts+34048, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34194, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33959, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34105, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -197098,9 +198823,9 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in nPk++ _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33954, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34100, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 22013 + zSep = __ccgo_ts + 22158 } goto _1 _1: @@ -197108,10 +198833,10 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in i++ } if nPk < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol { - _sessionAppendStr(tls, bp+8, __ccgo_ts+34066, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34212, bp) _sessionAppendInteger(tls, bp+8, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol+int32(1), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33530, bp) - zSep = __ccgo_ts + 1648 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33676, bp) + zSep = __ccgo_ts + 1662 i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -197120,16 +198845,16 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in if !(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34042, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34188, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 34074 + zSep = __ccgo_ts + 34220 } goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5106, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5170, bp) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+8, uintptr(0)) @@ -197155,7 +198880,7 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in // */ func _sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r int32) { /* TODO */ - return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6585, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) + return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6649, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } // C documentation @@ -197178,16 +198903,16 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+34079, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34225, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+22019, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+22164, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } if i != 0 { - _sessionAppendStr(tls, bp+8, __ccgo_ts+14990, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+15083, bp) } _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) goto _1 @@ -197195,19 +198920,19 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34097, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34243, bp) i = int32(1) for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34108, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34254, bp) goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5106, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5170, bp) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+16, uintptr(0)) } @@ -197230,12 +198955,12 @@ func _sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) (r int func _sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) (r int32) { var rc int32 _ = rc - rc = _sessionSelectRow(tls, db, __ccgo_ts+11582, p) + rc = _sessionSelectRow(tls, db, __ccgo_ts+11707, p) if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34112) + rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34258) } if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34225) + rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34371) } return rc } @@ -197302,7 +199027,7 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { /* The value in the changeset was "undefined". This indicates a ** corrupt changeset blob. */ - rc = _sqlite3CorruptError(tls, int32(227849)) + rc = _sqlite3CorruptError(tls, int32(229504)) } else { rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp))) } @@ -197730,7 +199455,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply } else { if *(*int32)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34369, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34515, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = _sessionBindRow(tls, pIter, __ccgo_fp(Xsqlite3changeset_new), (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) Xsqlite3_bind_int(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol+int32(1), int32(1)) @@ -197743,7 +199468,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34390, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34536, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -197839,10 +199564,10 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbIgnoreNoop = libc.BoolUint8(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_IGNORENOOP) != 0)) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34409, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34555, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34435, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34581, uintptr(0), uintptr(0), uintptr(0)) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) { Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0)) @@ -197873,7 +199598,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui ** non-zero, proceed. */ schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144)))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) + *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { rc = int32(SQLITE_NOMEM) break @@ -197883,7 +199608,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } else { nMinCol = 0 Xsqlite3changeset_pk(tls, pIter, bp+152, uintptr(0)) - rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6585, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) + rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6649, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) if rc != SQLITE_OK { break } @@ -197902,18 +199627,18 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol == 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34465, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34611, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol < *(*int32)(unsafe.Pointer(bp + 136)) { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34509, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34655, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) } else { if *(*int32)(unsafe.Pointer(bp + 136)) < nMinCol || libc.Xmemcmp(tls, (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FabPK, *(*uintptr)(unsafe.Pointer(bp + 152)), uint64(*(*int32)(unsafe.Pointer(bp + 136)))) != 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34580, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34726, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol = *(*int32)(unsafe.Pointer(bp + 136)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11582) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11707) { v2 = _sessionStat1Sql(tls, db, bp+8) rc = v2 if v2 != 0 { @@ -197970,13 +199695,13 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } } } - Xsqlite3_exec(tls, db, __ccgo_ts+34640, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34786, uintptr(0), uintptr(0), uintptr(0)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34670, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34816, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, __ccgo_ts+34694, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, __ccgo_ts+34670, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34840, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34816, uintptr(0), uintptr(0), uintptr(0)) } } _ = libc.Int32FromInt32(0) @@ -198070,6 +199795,7 @@ type Tsqlite3_changegroup1 = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -198436,118 +200162,145 @@ func _sessionChangesetExtendRecord(tls *libc.TLS, pGrp uintptr, pTab uintptr, nC // C documentation // // /* -// ** Add all changes in the changeset traversed by the iterator passed as -// ** the first argument to the changegroup hash tables. +// ** Locate or create a SessionTable object that may be used to add the +// ** change currently pointed to by iterator pIter to changegroup pGrp. +// ** If successful, set output variable (*ppTab) to point to the table +// ** object and return SQLITE_OK. Otherwise, if some error occurs, return +// ** an SQLite error code and leave (*ppTab) set to NULL. // */ -func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { - bp := tls.Alloc(80) - defer tls.Free(80) - var bPkOnly1, bPkOnly2, iHash, nNew, rc int32 - var pExist, pTab, pp, ppTab uintptr - var _ /* aRec at bp+0 */ uintptr - var _ /* abPK at bp+64 */ uintptr - var _ /* bIndirect at bp+48 */ int32 - var _ /* nCol at bp+40 */ int32 - var _ /* nRec at bp+8 */ int32 - var _ /* op at bp+44 */ int32 - var _ /* pChange at bp+56 */ uintptr - var _ /* rec at bp+16 */ TSessionBuffer - var _ /* zNew at bp+32 */ uintptr - _, _, _, _, _, _, _, _, _ = bPkOnly1, bPkOnly2, iHash, nNew, pExist, pTab, pp, ppTab, rc +func _sessionChangesetFindTable(tls *libc.TLS, pGrp uintptr, zTab uintptr, pIter uintptr, ppTab uintptr) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var nTab, rc int32 + var pTab, ppNew uintptr + var _ /* abPK at bp+0 */ uintptr + var _ /* nCol at bp+8 */ int32 + _, _, _, _ = nTab, pTab, ppNew, rc rc = SQLITE_OK pTab = uintptr(0) - *(*TSessionBuffer)(unsafe.Pointer(bp + 16)) = TSessionBuffer{} - for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { - pExist = uintptr(0) - /* Ensure that only changesets, or only patchsets, but not a mixture - ** of both, are being combined. It is an error to try to combine a - ** changeset and a patchset. */ - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset - } else { - if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { - rc = int32(SQLITE_ERROR) - break - } + nTab = int32(libc.Xstrlen(tls, zTab)) + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(ppTab)) = uintptr(0) + Xsqlite3changeset_pk(tls, pIter, bp, bp+8) + /* Search the list for an existing table */ + pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList + for { + if !(pTab != 0) { + break } - Xsqlite3changeset_op(tls, pIter, bp+32, bp+40, bp+44, bp+48) - if !(pTab != 0) || Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), (*TSessionTable)(unsafe.Pointer(pTab)).FzName) != 0 { - /* Search the list for a matching table */ - nNew = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))) - Xsqlite3changeset_pk(tls, pIter, bp+64, uintptr(0)) - pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList - for { - if !(pTab != 0) { - break - } - if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), nNew+int32(1)) { - break - } - goto _1 - _1: - ; - pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext - } - if !(pTab != 0) { - pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 40)))+uint64(nNew)+uint64(1)) - if !(pTab != 0) { - rc = int32(SQLITE_NOMEM) - break - } - libc.Xmemset(tls, pTab, 0, uint64(80)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 40)) - (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 64)), uint64(*(*int32)(unsafe.Pointer(bp + 40)))) - (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 40))) - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), uint64(nNew+int32(1))) - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 - rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) - if rc != 0 { - _ = libc.Int32FromInt32(0) - Xsqlite3_free(tls, pTab) - break - } - } - /* The new object must be linked on to the end of the list, not - ** simply added to the start of it. This is to ensure that the - ** tables within the output of sqlite3changegroup_output() are in - ** the right order. */ - ppTab = pGrp + 8 - for { - if !(*(*uintptr)(unsafe.Pointer(ppTab)) != 0) { - break - } - goto _2 - _2: - ; - ppTab = *(*uintptr)(unsafe.Pointer(ppTab)) - } - *(*uintptr)(unsafe.Pointer(ppTab)) = pTab - } - if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*uintptr)(unsafe.Pointer(bp + 64))) != 0) { - rc = int32(SQLITE_SCHEMA) - break - } + if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, nTab+int32(1)) { + break } - if *(*int32)(unsafe.Pointer(bp + 40)) < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol { - _ = libc.Int32FromInt32(0) - rc = _sessionChangesetExtendRecord(tls, pGrp, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*int32)(unsafe.Pointer(bp + 44)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+16) + goto _1 + _1: + ; + pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext + } + /* If one was not found above, create a new table now */ + if !(pTab != 0) { + pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 8)))+uint64(nTab)+uint64(1)) + if !(pTab != 0) { + return int32(SQLITE_NOMEM) + } + libc.Xmemset(tls, pTab, 0, uint64(80)) + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 8)) + (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp)), uint64(*(*int32)(unsafe.Pointer(bp + 8)))) + (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 8))) + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, uint64(nTab+int32(1))) + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 + rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) if rc != 0 { + _ = libc.Int32FromInt32(0) + Xsqlite3_free(tls, pTab) + return rc + } + } + /* The new object must be linked on to the end of the list, not + ** simply added to the start of it. This is to ensure that the + ** tables within the output of sqlite3changegroup_output() are in + ** the right order. */ + ppNew = pGrp + 8 + for { + if !(*(*uintptr)(unsafe.Pointer(ppNew)) != 0) { break } - *(*uintptr)(unsafe.Pointer(bp)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf - *(*int32)(unsafe.Pointer(bp + 8)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf + goto _2 + _2: + ; + ppNew = *(*uintptr)(unsafe.Pointer(ppNew)) } - if _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { - rc = int32(SQLITE_NOMEM) - break + *(*uintptr)(unsafe.Pointer(ppNew)) = pTab + } + /* Check that the table is compatible. */ + if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp))) != 0) { + rc = int32(SQLITE_SCHEMA) + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + return rc +} + +// C documentation +// +// /* +// ** Add the change currently indicated by iterator pIter to the hash table +// ** belonging to changegroup pGrp. +// */ +func _sessionOneChangeToHash(tls *libc.TLS, pGrp uintptr, pIter uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var aRec, pBuf, pExist, pp uintptr + var bPkOnly1, bPkOnly2, iHash, nRec, rc int32 + var _ /* bIndirect at bp+8 */ int32 + var _ /* nCol at bp+0 */ int32 + var _ /* op at bp+4 */ int32 + var _ /* pChange at bp+16 */ uintptr + var _ /* pTab at bp+24 */ uintptr + var _ /* zTab at bp+32 */ uintptr + _, _, _, _, _, _, _, _, _ = aRec, bPkOnly1, bPkOnly2, iHash, nRec, pBuf, pExist, pp, rc + rc = SQLITE_OK + *(*int32)(unsafe.Pointer(bp)) = 0 + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + iHash = 0 + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) + pExist = uintptr(0) + pp = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) + aRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent+int32(2)) + nRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent - int32(2) + /* Ensure that only changesets, or only patchsets, but not a mixture + ** of both, are being combined. It is an error to try to combine a + ** changeset and a patchset. */ + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = int32(SQLITE_ERROR) } - iHash = int32(_sessionChangeHash(tls, pTab, libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)), *(*uintptr)(unsafe.Pointer(bp)), (*TSessionTable)(unsafe.Pointer(pTab)).FnChange)) + } + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0) + Xsqlite3changeset_op(tls, pIter, bp+32, bp, bp+4, bp+8) + rc = _sessionChangesetFindTable(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 32)), pIter, bp+24) + } + if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) < (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnCol { + pBuf = pGrp + 16 + rc = _sessionChangesetExtendRecord(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), aRec, nRec, pBuf) + aRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + nRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FnBuf + _ = libc.Int32FromInt32(0) + } + if rc == SQLITE_OK && _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 24))) != 0 { + rc = int32(SQLITE_NOMEM) + } + if rc == SQLITE_OK { /* Search for existing entry. If found, remove it from the hash table. - ** Code below may link it back in. - */ - pp = (*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8 + ** Code below may link it back in. */ + iHash = int32(_sessionChangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)), aRec, (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnChange)) + pp = (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8 for { if !(*(*uintptr)(unsafe.Pointer(pp)) != 0) { break @@ -198556,30 +200309,54 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase bPkOnly2 = 0 if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { bPkOnly1 = libc.BoolInt32(int32((*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fop) == int32(SQLITE_DELETE)) - bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)) + bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)) } - if _sessionChangeEqual(tls, pTab, bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp))) != 0 { + if _sessionChangeEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, aRec) != 0 { pExist = *(*uintptr)(unsafe.Pointer(pp)) *(*uintptr)(unsafe.Pointer(pp)) = (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry-- + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry-- break } - goto _3 - _3: + goto _1 + _1: ; pp = *(*uintptr)(unsafe.Pointer(pp)) + 24 } - rc = _sessionChangeMerge(tls, pTab, bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 44)), *(*int32)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+56) - if rc != 0 { + } + if rc == SQLITE_OK { + rc = _sessionChangeMerge(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 4)), *(*int32)(unsafe.Pointer(bp + 8)), aRec, nRec, bp+16) + } + if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { + (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 16)) + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry++ + } + if rc == SQLITE_OK { + rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// C documentation +// +// /* +// ** Add all changes in the changeset traversed by the iterator passed as +// ** the first argument to the changegroup hash tables. +// */ +func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var rc int32 + var _ /* aRec at bp+0 */ uintptr + var _ /* nRec at bp+8 */ int32 + _ = rc + rc = SQLITE_OK + for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { + rc = _sessionOneChangeToHash(tls, pGrp, pIter, bRebase) + if rc != SQLITE_OK { break } - if *(*uintptr)(unsafe.Pointer(bp + 56)) != 0 { - (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) - *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 56)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry++ - } } - Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf) if rc == SQLITE_OK { rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc } @@ -198690,11 +200467,11 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) (r int32) { var rc int32 _, _ = p, rc rc = SQLITE_OK /* New object */ - p = Xsqlite3_malloc(tls, int32(32)) + p = Xsqlite3_malloc(tls, int32(48)) if p == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, p, 0, uint64(32)) + libc.Xmemset(tls, p, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(pp)) = p return rc @@ -198716,7 +200493,7 @@ func Xsqlite3changegroup_schema(tls *libc.TLS, pGrp uintptr, db uintptr, zDb uin ** or after sqlite3changegroup_schema() has already been called. */ rc = int32(SQLITE_MISUSE) } else { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, zDb)) + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, zDb)) if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -198746,6 +200523,19 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin return rc } +// C documentation +// +// /* +// ** Add a single change to a changeset-group. +// */ +func Xsqlite3changegroup_add_change(tls *libc.TLS, pGrp uintptr, pIter uintptr) (r int32) { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent == (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc != SQLITE_OK || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbInvert != 0 { + /* Iterator does not point to any valid entry or is an INVERT iterator. */ + return int32(SQLITE_ERROR) + } + return _sessionOneChangeToHash(tls, pGrp, pIter, 0) +} + // C documentation // // /* @@ -198793,6 +200583,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { if pGrp != 0 { Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Frec.FaBuf) Xsqlite3_free(tls, pGrp) } } @@ -199160,11 +200951,11 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) (r int32) { var rc int32 _, _ = pNew, rc rc = SQLITE_OK - pNew = Xsqlite3_malloc(tls, int32(32)) + pNew = Xsqlite3_malloc(tls, int32(48)) if pNew == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, pNew, 0, uint64(32)) + libc.Xmemset(tls, pNew, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(ppNew)) = pNew return rc @@ -199238,6 +201029,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { if p != 0 { _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.Frec.FaBuf) Xsqlite3_free(tls, p) } } @@ -199869,6 +201661,9 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** sqlite3Fts5ParserARG_STORE Code to store %extra_argument into fts5yypParser // ** sqlite3Fts5ParserARG_FETCH Code to extract %extra_argument from fts5yypParser // ** sqlite3Fts5ParserCTX_* As sqlite3Fts5ParserARG_ except for %extra_context +// ** fts5YYREALLOC Name of the realloc() function to use +// ** fts5YYFREE Name of the free() function to use +// ** fts5YYDYNSTACK True if stack space should be extended on heap // ** fts5YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** fts5YYNSTATE the combined number of states. @@ -199882,6 +201677,8 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** fts5YY_NO_ACTION The fts5yy_action[] code for no-op // ** fts5YY_MIN_REDUCE Minimum value for reduce actions // ** fts5YY_MAX_REDUCE Maximum value for reduce actions +// ** fts5YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** fts5YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type Tfts5YYMINORTYPE = struct { @@ -199908,6 +201705,13 @@ type fts5YYMINORTYPE = Tfts5YYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -200337,8 +202141,9 @@ type fts5yyStackEntry = Tfts5yyStackEntry type Tfts5yyParser1 = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser1 = Tfts5yyParser1 @@ -200346,14 +202151,19 @@ type fts5yyParser1 = Tfts5yyParser1 type Tfts5yyParser = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser = Tfts5yyParser /* #include */ +/* For builds that do no have a growable stack, fts5yyGrowStack always +** returns an error. + */ + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3Fts5ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -200368,10 +202178,11 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { var fts5yypParser uintptr _ = fts5yypParser fts5yypParser = fts5yypRawParser - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fstateno = uint8(0) - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fmajor = uint8(0) - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = fts5yypParser + 16 + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack = fts5yypParser + 32 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fstateno = uint8(0) + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fmajor = uint8(0) } // C documentation @@ -200391,7 +202202,7 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) { var fts5yypParser uintptr _ = fts5yypParser - fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2424)) + fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432)) if fts5yypParser != 0 { _sqlite3Fts5ParserInit(tls, fts5yypParser) } @@ -200475,11 +202286,17 @@ func _fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var fts5yytos, pParser uintptr + _, _ = fts5yytos, pParser pParser = p - for (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { - _fts5yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling fts5yy_pop_parser_stack() for each + ** element left in the stack */ + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos + for fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yystack { + if int32((*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor) >= int32(fts5YY_MIN_DSTRCTR) { + _fts5yy_destructor(tls, pParser, (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor, fts5yytos+8) + } + fts5yytos -= 24 } } @@ -200579,13 +202396,13 @@ func _fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse - for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { + for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack { _fts5yy_pop_parser_stack(tls, fts5yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34722, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34868, 0) /******** End %stack_overflow code ********************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument var */ } @@ -200603,15 +202420,19 @@ func _fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, f var fts5yytos uintptr _ = fts5yytos (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 - if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 - _fts5yyStackOverflow(tls, fts5yypParser) - return + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + if fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { + if int32(1) != 0 { + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 + _fts5yyStackOverflow(tls, fts5yypParser) + return + } + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + _ = libc.Int32FromInt32(0) } if int32(fts5yyNewState) > int32(fts5YY_MAX_SHIFT) { fts5yyNewState = uint8(int32(fts5yyNewState) + (libc.Int32FromInt32(fts5YY_MIN_REDUCE) - libc.Int32FromInt32(fts5YY_MIN_SHIFTREDUCE))) } - fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fstateno = fts5yyNewState (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor = fts5yyMajor *(*TFts5Token)(unsafe.Pointer(fts5yytos + 8)) = fts5yyMinor @@ -200941,7 +202762,7 @@ func _fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int3 pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse /************ Begin %syntax_error code ****************************************/ _ = fts5yymajor /* Silence a compiler warning */ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34750, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34896, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) /************ End %syntax_error code ******************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument variable */ } @@ -201007,8 +202828,10 @@ func _sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5y ** enough on the stack to push the LHS value */ if int32(_fts5yyRuleInfoNRhs[fts5yyruleno]) == 0 { if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos >= (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - _fts5yyStackOverflow(tls, fts5yypParser) - break + if int32(1) != 0 { + _fts5yyStackOverflow(tls, fts5yypParser) + break + } } } fts5yyact = _fts5yy_reduce(tls, fts5yypParser, fts5yyruleno, fts5yymajor, fts5yyminor) @@ -201249,7 +203072,7 @@ func _fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n in if n < 0 { n = int32(libc.Xstrlen(tls, z)) } - (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34781, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34927, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*THighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = int32(SQLITE_NOMEM) } @@ -201347,7 +203170,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint var _ /* rc at bp+104 */ int32 _, _ = iCol, zErr if nVal != int32(3) { - zErr = __ccgo_ts + 34788 + zErr = __ccgo_ts + 34934 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -201358,7 +203181,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint (*(*THighlightContext)(unsafe.Pointer(bp))).FiRangeEnd = -int32(1) *(*int32)(unsafe.Pointer(bp + 104)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})))(tls, pFts, iCol, bp+24, bp+32) if *(*int32)(unsafe.Pointer(bp + 104)) == int32(SQLITE_RANGE) { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1648, -int32(1), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1662, -int32(1), libc.UintptrFromInt32(0)) *(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_OK } else { if (*(*THighlightContext)(unsafe.Pointer(bp))).FzIn != 0 { @@ -201559,7 +203382,7 @@ func _fts5ValueToText(tls *libc.TLS, pVal uintptr) (r uintptr) { if zRet != 0 { v1 = zRet } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } return v1 } @@ -201593,7 +203416,7 @@ func _fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintpt nBestScore = 0 /* Score of best snippet */ *(*int32)(unsafe.Pointer(bp + 112)) = 0 if nVal != int32(5) { - zErr = __ccgo_ts + 34838 + zErr = __ccgo_ts + 34984 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -201974,15 +203797,15 @@ func _sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) (r int32) { FxDestroy uintptr }{ 0: { - FzFunc: __ccgo_ts + 34886, + FzFunc: __ccgo_ts + 35032, FxFunc: __ccgo_fp(_fts5SnippetFunction), }, 1: { - FzFunc: __ccgo_ts + 34894, + FzFunc: __ccgo_ts + 35040, FxFunc: __ccgo_fp(_fts5HighlightFunction), }, 2: { - FzFunc: __ccgo_ts + 34904, + FzFunc: __ccgo_ts + 35050, FxFunc: __ccgo_fp(_fts5Bm25Function), }, } @@ -202647,7 +204470,7 @@ func _fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) (r uintptr) { case int32('n'): fallthrough case int32('N'): - if Xsqlite3_strnicmp(tls, __ccgo_ts+1634, p, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+1648, p, int32(4)) == 0 { p = p + 4 } else { p = uintptr(0) @@ -202853,7 +204676,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _, _, _, _, _, _, _, _, _, _, _, _ = azArg, bFirst, nArg, nByte, nCmd, nPre, p, p1, p2, pDel, pSpace, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK nCmd = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, __ccgo_ts+34909, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35055, zCmd, nCmd) == 0 { nByte = int32(libc.Uint64FromInt64(4) * libc.Uint64FromInt32(FTS5_MAX_PREFIX_INDEXES)) bFirst = int32(1) if (*TFts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { @@ -202879,12 +204702,12 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } } if int32(*(*uint8)(unsafe.Pointer(p))) < int32('0') || int32(*(*uint8)(unsafe.Pointer(p))) > int32('9') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34916, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35062, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } if (*TFts5Config)(unsafe.Pointer(pConfig)).FnPrefix == int32(FTS5_MAX_PREFIX_INDEXES) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34947, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35093, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -202893,7 +204716,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC p++ } if nPre <= 0 || nPre >= int32(1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34980, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35126, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -202904,7 +204727,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _ = libc.Int32FromInt32(0) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35017, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35163, zCmd, nCmd) == 0 { p1 = zArg nArg = int64(libc.Xstrlen(tls, zArg) + uint64(1)) azArg = _sqlite3Fts5MallocZero(tls, bp, int64(uint64(8)*uint64(nArg))) @@ -202912,7 +204735,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC pSpace = pDel if azArg != 0 && pSpace != 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35026, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35172, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { nArg = 0 @@ -202939,7 +204762,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC nArg++ } if p1 == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35059, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35205, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(nArg), pConfig, pzErr) @@ -202950,58 +204773,58 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC Xsqlite3_free(tls, pDel) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35093, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35239, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35101, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35247, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if *(*uint8)(unsafe.Pointer(zArg)) != 0 { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_EXTERNAL) - (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35133, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35279, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_NONE) } } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35139, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35285, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35158, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35304, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35201, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35347, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35215, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35361, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, zArg, -int32(1)) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35253, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35399, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35264, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35410, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+5499, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+5563, zCmd, nCmd) == 0 { *(*[4]TFts5Enum)(unsafe.Pointer(bp + 8)) = [4]TFts5Enum{ 0: { - FzName: __ccgo_ts + 8218, + FzName: __ccgo_ts + 8343, FeVal: int32(FTS5_DETAIL_NONE), }, 1: { - FzName: __ccgo_ts + 17747, + FzName: __ccgo_ts + 17834, }, 2: { - FzName: __ccgo_ts + 35299, + FzName: __ccgo_ts + 35445, FeVal: int32(FTS5_DETAIL_COLUMNS), }, 3: {}, @@ -203009,20 +204832,20 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC v2 = _fts5ConfigSetEnum(tls, bp+8, zArg, pConfig+96) *(*int32)(unsafe.Pointer(bp)) = v2 if v2 != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35307, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35453, 0) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35338, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35484, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35348, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35494, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbTokendata = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35382, libc.VaList(bp+80, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35528, libc.VaList(bp+80, nCmd, zCmd)) return int32(SQLITE_ERROR) } @@ -203096,15 +204919,15 @@ func _fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr var v2 uintptr _, _, _ = rc, v1, v2 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35410) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16694) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35415, libc.VaList(bp+8, zCol)) + if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35556) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16781) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35561, libc.VaList(bp+8, zCol)) rc = int32(SQLITE_ERROR) } else { if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35445) { + if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35591) { *(*Tu8)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*TFts5Config)(unsafe.Pointer(p)).FnCol))) = uint8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35455, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35601, libc.VaList(bp+8, zArg)) rc = int32(SQLITE_ERROR) } } @@ -203130,7 +204953,7 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TFts5Buffer)(unsafe.Pointer(bp + 8)) = TFts5Buffer{} - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35486, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35632, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*TFts5Config)(unsafe.Pointer(p)).FeContent != int32(FTS5_CONTENT_NONE) { i = 0 for { @@ -203138,9 +204961,9 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { break } if (*TFts5Config)(unsafe.Pointer(p)).FeContent == int32(FTS5_CONTENT_EXTERNAL) { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35491, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35637, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35498, libc.VaList(bp+32, i)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35644, libc.VaList(bp+32, i)) } goto _1 _1: @@ -203201,8 +205024,8 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in (*TFts5Config)(unsafe.Pointer(pRet)).FzName = _sqlite3Fts5Strndup(tls, bp, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -int32(1)) (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize = int32(1) (*TFts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35410) == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35506, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) + if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35556) == 0 { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35652, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } _ = libc.Int32FromInt32(0) @@ -203235,19 +205058,19 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35535, libc.VaList(bp+40, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35681, libc.VaList(bp+40, zOrig)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bOption != 0 { if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { v4 = *(*uintptr)(unsafe.Pointer(bp + 8)) } else { - v4 = __ccgo_ts + 1648 + v4 = __ccgo_ts + 1662 } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { v5 = *(*uintptr)(unsafe.Pointer(bp + 16)) } else { - v5 = __ccgo_ts + 1648 + v5 = __ccgo_ts + 1662 } *(*int32)(unsafe.Pointer(bp)) = _fts5ConfigParseSpecial(tls, pGlobal, pRet, v4, v5, pzErr) } else { @@ -203265,7 +205088,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } /* We only allow contentless_delete=1 if the table is indeed contentless. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FeContent != int32(FTS5_CONTENT_NONE) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35555, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35701, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* We only allow contentless_delete=1 if columnsize=0 is not present. @@ -203273,7 +205096,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in ** This restriction may be removed at some point. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35605, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35751, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* If a tokenizer= option was successfully parsed, the tokenizer has @@ -203287,18 +205110,18 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in zTail = uintptr(0) _ = libc.Int32FromInt32(0) if (*TFts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { - zTail = __ccgo_ts + 35093 + zTail = __ccgo_ts + 35239 } else { if (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = __ccgo_ts + 35660 + zTail = __ccgo_ts + 35806 } } if zTail != 0 { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35668, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35814, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0) { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16694, -int32(1)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16781, -int32(1)) } /* Formulate the zContentExprlist text */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -203362,25 +205185,25 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) { var _ /* rc at bp+0 */ int32 _, _, _, _ = i, zSep, zSql, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35679, 0) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35825, 0) i = 0 for { if !(zSql != 0 && i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } if i == 0 { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } else { - v2 = __ccgo_ts + 14990 + v2 = __ccgo_ts + 15083 } zSep = v2 - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35695, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35841, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) goto _1 _1: ; i++ } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35702, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35410)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35848, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35556)) _ = libc.Int32FromInt32(0) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_declare_vtab(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -203528,7 +205351,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV var _ /* zRankArgs at bp+8 */ uintptr _, _, _, _, _, _, _, _, _, _ = bVal, nAutomerge, nCrisisMerge, nHashSize, nUsermerge, nVal, pgsz, rc, zIn, v1 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35728) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35874) { pgsz = 0 if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -203539,7 +205362,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35733) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35879) { nHashSize = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -203550,7 +205373,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35742) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35888) { nAutomerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -203564,7 +205387,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35752) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35898) { nUsermerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -203575,7 +205398,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35762) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35908) { nCrisisMerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -203592,7 +205415,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35774) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35920) { nVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nVal = Xsqlite3_value_int(tls, pVal) @@ -203607,7 +205430,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } (*TFts5Config)(unsafe.Pointer(pConfig)).FnDeleteMerge = nVal } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35410) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35556) { zIn = Xsqlite3_value_text(tls, pVal) rc = _sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8) if rc == SQLITE_OK { @@ -203622,7 +205445,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35786) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35932) { bVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { bVal = Xsqlite3_value_int(tls, pVal) @@ -203664,7 +205487,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in var _ /* p at bp+0 */ uintptr var _ /* rc at bp+8 */ int32 _, _, _, _, _ = iVersion, pVal, zK, zSelect, zSql - zSelect = __ccgo_ts + 35800 + zSelect = __ccgo_ts + 35946 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_OK iVersion = 0 @@ -203685,7 +205508,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in for int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zK = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) pVal = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) - if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35832) { + if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35978) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 12)) = 0 @@ -203698,7 +205521,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in *(*int32)(unsafe.Pointer(bp + 8)) = int32(SQLITE_ERROR) if (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { _ = libc.Int32FromInt32(0) - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35840, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35986, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = iVersion @@ -203920,7 +205743,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr } } if int32(*(*uint8)(unsafe.Pointer(z2))) == int32('\000') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35911, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36057, 0) return FTS5_EOF } goto _1 @@ -203931,7 +205754,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z2) - int64(z)) default: if _sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z))) == 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35931, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36077, libc.VaList(bp+8, z)) return FTS5_EOF } tok = int32(FTS5_STRING) @@ -203946,13 +205769,13 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr z21++ } (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z21) - int64(z)) - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35962, uint64(2)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36108, uint64(2)) == 0 { tok = int32(FTS5_OR) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35965, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36111, uint64(3)) == 0 { tok = int32(FTS5_NOT) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30706, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30852, uint64(3)) == 0 { tok = int32(FTS5_AND) } break @@ -206060,8 +207883,8 @@ func _sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, pp func _sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+35969, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34750, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) + if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36115, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34896, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -206081,7 +207904,7 @@ func _sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, } c = *(*uint8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) if int32(c) < int32('0') || int32(c) > int32('9') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35974, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36120, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) return } nNear = nNear*int32(10) + (int32(*(*uint8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - int32('0')) @@ -206221,7 +208044,7 @@ func _sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p u iCol++ } if iCol == (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21016, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21148, libc.VaList(bp+8, z)) } else { pRet = _fts5ParseColset(tls, pParse, pColset, iCol) } @@ -206348,7 +208171,7 @@ func _sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pC var _ /* pFree at bp+0 */ uintptr *(*uintptr)(unsafe.Pointer(bp)) = pColset if (*TFts5Config)(unsafe.Pointer((*TFts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == int32(FTS5_DETAIL_NONE) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36003, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36149, 0) } else { _fts5ParseSetColset(tls, pParse, pExpr, pColset, bp) } @@ -206545,11 +208368,11 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin pPhrase = *(*uintptr)(unsafe.Pointer(pNear + 24)) if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase != int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*(*TFts5ExprTerm)(unsafe.Pointer(pPhrase + 32))).FbFirst != 0 { if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == int32(1) { - v2 = __ccgo_ts + 36056 + v2 = __ccgo_ts + 36202 } else { - v2 = __ccgo_ts + 35969 + v2 = __ccgo_ts + 36115 } - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36063, libc.VaList(bp+8, v2)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36209, libc.VaList(bp+8, v2)) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -206558,7 +208381,7 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin _fts5ExprAddChildren(tls, pRet, pLeft) _fts5ExprAddChildren(tls, pRet, pRight) if (*TFts5ExprNode)(unsafe.Pointer(pRet)).FiHeight > int32(SQLITE_FTS5_MAX_EXPR_DEPTH) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36113, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36259, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -208727,7 +210550,7 @@ func _fts5DataRead(tls *libc.TLS, p uintptr, iRowid Ti64) (r uintptr) { ** to the requested entry. */ if (*TFts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36166, iRowid, 0, p+72) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36312, iRowid, 0, p+72) } /* If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls ** above returned SQLITE_ERROR, return SQLITE_CORRUPT_VTAB instead. @@ -208821,7 +210644,7 @@ func _fts5DataWrite(tls *libc.TLS, p uintptr, iRowid Ti64, pData uintptr, nData } if (*TFts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36172, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36318, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return } @@ -208850,7 +210673,7 @@ func _fts5DataDelete(tls *libc.TLS, p uintptr, iFirst Ti64, iLast Ti64) { } if (*TFts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36223, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36369, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if _fts5IndexPrepareStmt(tls, p, p+88, zSql) != 0 { return } @@ -208884,7 +210707,7 @@ func _fts5DataRemoveSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { } if (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36272, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36418, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter, int32(1), iSegid) @@ -209054,7 +210877,7 @@ func _fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie ui } i = int32(4) /* Check if this is a V2 structure record. Set bStructureV2 if it is. */ - if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36312, uint64(4)) { + if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36458, uint64(4)) { i += int32(4) bStructureV2 = int32(1) } @@ -209247,7 +211070,7 @@ func _fts5IndexDataVersion(tls *libc.TLS, p uintptr) (r Ti64) { iVersion = 0 if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*TFts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) { - (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36317, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36463, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return 0 } @@ -209335,7 +211158,7 @@ func _fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = int32(4) if (*TFts5Structure)(unsafe.Pointer(pStruct)).FnOriginCntr > uint64(0) { _ = libc.Int32FromInt32(0) - libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36312, uint64(4)) + libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36458, uint64(4)) *(*int32)(unsafe.Pointer(bp + 8)) += int32(4) } *(*int32)(unsafe.Pointer(bp + 8)) += _sqlite3Fts5PutVarint(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), uint64((*TFts5Structure)(unsafe.Pointer(pStruct)).FnLevel)) @@ -210752,7 +212575,7 @@ func _fts5IdxSelectStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36340, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36486, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect } @@ -210844,7 +212667,7 @@ func _fts5IdxNextStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36424, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36570, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect } @@ -212523,7 +214346,7 @@ func _fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { if (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { v1 = (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } z = v1 /* The following was already done in fts5WriteInit(): */ @@ -212892,7 +214715,7 @@ func _fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { _sqlite3Fts5BufferSize(tls, p+60, pWriter+8+8, uint32(nBuffer)) if (*TFts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36506, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36652, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { /* Initialize the 4-byte leaf-page header to 0x00. */ @@ -213393,7 +215216,7 @@ func _fts5SecureDeleteIdxEntry(tls *libc.TLS, p uintptr, iSegid int32, iPgno int if iPgno != int32(1) { _ = libc.Int32FromInt32(0) if (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx == uintptr(0) { - _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36563, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36709, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx, int32(1), iSegid) @@ -214933,7 +216756,7 @@ func _sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) (r int32) { if (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FbContentlessDelete != 0 { (*(*TFts5Structure)(unsafe.Pointer(bp))).FnOriginCntr = uint64(1) } - _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1648, 0) + _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1662, 0) _fts5StructureWrite(tls, p, bp) return _fts5IndexReturn(tls, p) } @@ -214960,11 +216783,11 @@ func _sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uin if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*TFts5Index)(unsafe.Pointer(p)).FnWorkUnit = int32(FTS5_WORK_UNIT) - (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36624, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36770, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25741, __ccgo_ts+36632, 0, pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25887, __ccgo_ts+36778, 0, pzErr) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11793, __ccgo_ts+36667, int32(1), pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11918, __ccgo_ts+36813, int32(1), pzErr) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5IndexReinit(tls, p) @@ -215503,7 +217326,7 @@ func _fts5SetupTokendataIter(tls *libc.TLS, p uintptr, pToken uintptr, nToken in pNew = _fts5MultiIterAlloc(tls, p, (*TFts5Structure)(unsafe.Pointer(pStruct)).FnSegment) if pSmall != 0 { _sqlite3Fts5BufferSet(tls, p+60, bp, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fn, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36711) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36857) } else { _sqlite3Fts5BufferSet(tls, p+60, bp, nToken, pToken) } @@ -216033,7 +217856,7 @@ func _sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) _ = libc.Int32FromInt32(0) _sqlite3Fts5Put32(tls, bp, iNew) - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36166, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36312, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, int32(4), 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -216632,7 +218455,7 @@ func _fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { if (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { return } - _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36713, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) + _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36859, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) /* Iterate through the b-tree hierarchy. */ for (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { /* Data for this leaf */ zIdxTerm = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -216865,7 +218688,7 @@ func _sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum Tu64, bUseC } else { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = 0 _fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16))+104+uintptr((*(*TFts5CResult)(unsafe.Pointer((*TFts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FaFirst + 1*4))).FiFirst)*128, uintptr(0), bp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36799) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36945) for 0 == _sqlite3Fts5PoslistNext64(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn, bp+40, bp+32) { iCol = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) >> libc.Int32FromInt32(32)) iTokOff = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) & libc.Int64FromInt32(0x7FFFFFFF)) @@ -217463,7 +219286,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36804, 0) + (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36950, 0) return int32(SQLITE_ERROR) } idxStr = Xsqlite3_malloc(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pInfo)).FnConstraint*int32(8)+int32(1)) @@ -217503,7 +219326,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v3 = iIdxStr iIdxStr++ *(*uint8)(unsafe.Pointer(idxStr + uintptr(v3))) = uint8('M') - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5138, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5202, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) _ = libc.Int32FromInt32(0) } @@ -217525,7 +219348,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v6 = int32('G') } *(*uint8)(unsafe.Pointer(idxStr + uintptr(v5))) = uint8(v6) - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5138, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5202, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) iCons++ v7 = iCons @@ -217967,7 +219790,7 @@ func _fts5NextMethod(tls *libc.TLS, pCursor uintptr) (r int32) { *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_EOF) rc = Xsqlite3_reset(tls, (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -217994,7 +219817,7 @@ func _fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt } else { rc = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -218029,21 +219852,21 @@ func _fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ if zRankArgs != 0 { - v1 = __ccgo_ts + 14990 + v1 = __ccgo_ts + 15083 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } if zRankArgs != 0 { v2 = zRankArgs } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } if bDesc != 0 { - v3 = __ccgo_ts + 36843 + v3 = __ccgo_ts + 36989 } else { - v3 = __ccgo_ts + 36848 + v3 = __ccgo_ts + 36994 } - rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+36852, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) + rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+36998, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter if rc == SQLITE_OK { _ = libc.Int32FromInt32(0) @@ -218103,14 +219926,14 @@ func _fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr } _ = libc.Int32FromInt32(0) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan = int32(FTS5_PLAN_SPECIAL) - if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+36907, z, n) { + if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+37053, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = int64(_sqlite3Fts5IndexReads(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex)) } else { - if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5481, z, n) { + if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5545, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { /* An unrecognized directive. Return an error message. */ - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36913, libc.VaList(bp+8, n, z)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37059, libc.VaList(bp+8, n, z)) rc = int32(SQLITE_ERROR) } } @@ -218160,7 +219983,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { zRank = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank zRankArgs = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36941, libc.VaList(bp+24, zRankArgs)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37087, libc.VaList(bp+24, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp+8, uintptr(0)) @@ -218196,7 +220019,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { pAux = _fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { _ = libc.Int32FromInt32(0) - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36951, libc.VaList(bp+24, zRank)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37097, libc.VaList(bp+24, zRank)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -218230,7 +220053,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_FREE_ZRANK) } else { if rc == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36972, libc.VaList(bp+24, z)) + (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37118, libc.VaList(bp+24, z)) } } } else { @@ -218238,7 +220061,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRank (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRankArgs } else { - (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 34904 + (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 35050 (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -218289,7 +220112,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint iIdxStr = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36804, 0) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36950, 0) return int32(SQLITE_ERROR) } if (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan != 0 { @@ -218319,7 +220142,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint case int32('M'): zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))) if zText == uintptr(0) { - zText = __ccgo_ts + 1648 + zText = __ccgo_ts + 1662 } iCol = 0 for cond := true; cond; cond = int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= int32('9') { @@ -218447,7 +220270,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint } } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent == uintptr(0) { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37005, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37151, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = int32(SQLITE_ERROR) } else { /* This is either a full-table scan (ePlan==FTS5_PLAN_SCAN) or a lookup @@ -218591,7 +220414,7 @@ func _fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) (r int32) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< int32(1) { - v1 = __ccgo_ts + 20869 + v1 = __ccgo_ts + 21001 } else { - v1 = __ccgo_ts + 37283 + v1 = __ccgo_ts + 37429 } - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37295, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37441, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if nArg == int32(1) { @@ -218856,7 +220679,7 @@ func _fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && bUpdateOrDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FbSecureDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion == int32(FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35832, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35978, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = int32(FTS5_CURRENT_VERSION_SECUREDELETE) } @@ -219657,7 +221480,7 @@ func _fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) iCsrId = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) pCsr = _fts5CursorFromCsrid(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId) if pCsr == uintptr(0) || (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37332, libc.VaList(bp+8, iCsrId)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37478, libc.VaList(bp+8, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } else { @@ -219849,7 +221672,7 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = uintptr(0) } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 && Xsqlite3_vtab_nochange(tls, pCtx) != 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37353, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37499, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -220092,7 +221915,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr if pMod == uintptr(0) { _ = libc.Int32FromInt32(0) rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37424, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37570, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) } else { if azArg != 0 { v2 = azArg + 1*8 @@ -220108,7 +221931,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr (*TFts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16 if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37446, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37592, 0) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FePattern = _sqlite3Fts5TokenizerPattern(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate, (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok) @@ -220164,7 +221987,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { pGlobal = Xsqlite3_user_data(tls, pCtx) _ = nArg _ = libc.Int32FromInt32(0) - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37477) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37623) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal } @@ -220179,7 +222002,7 @@ func _fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr _ = libc.Int32FromInt32(0) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37490, -int32(1), uintptr(-libc.Int32FromInt32(1))) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37636, -int32(1), uintptr(-libc.Int32FromInt32(1))) } // C documentation @@ -220208,11 +222031,11 @@ func _fts5ShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName2 = [5]uintptr{ - 0: __ccgo_ts + 37581, - 1: __ccgo_ts + 35093, - 2: __ccgo_ts + 25741, - 3: __ccgo_ts + 35660, - 4: __ccgo_ts + 11793, + 0: __ccgo_ts + 37727, + 1: __ccgo_ts + 35239, + 2: __ccgo_ts + 25887, + 3: __ccgo_ts + 35806, + 4: __ccgo_ts + 11918, } // C documentation @@ -220226,21 +222049,27 @@ func _fts5IntegrityMethod(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zTabnam bp := tls.Alloc(32) defer tls.Free(32) var pTab uintptr - var rc int32 - _, _ = pTab, rc + var rc, v1 int32 + _, _, _ = pTab, rc, v1 pTab = pVtab _ = libc.Int32FromInt32(0) _ = isQuick rc = _sqlite3Fts5StorageIntegrity(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, 0) if rc&int32(0xff) == int32(SQLITE_CORRUPT) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37588, libc.VaList(bp+8, zSchema, zTabname)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37734, libc.VaList(bp+8, zSchema, zTabname)) + if *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { + v1 = SQLITE_OK + } else { + v1 = int32(SQLITE_NOMEM) + } + rc = v1 } else { if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37634, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37780, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) } } _sqlite3Fts5IndexCloseReader(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) - return SQLITE_OK + return rc } func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { @@ -220259,7 +222088,7 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateFunction = __ccgo_fp(_fts5CreateAux) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateTokenizer = __ccgo_fp(_fts5CreateTokenizer) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = __ccgo_fp(_fts5FindTokenizer) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37697, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37843, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) if rc == SQLITE_OK { rc = _sqlite3Fts5IndexInit(tls, db) } @@ -220276,10 +222105,10 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { rc = _sqlite3Fts5VocabInit(tls, pGlobal, db) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37697, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37843, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37702, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37848, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) } } /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file @@ -220384,17 +222213,17 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { azStmt = [11]uintptr{ - 0: __ccgo_ts + 37717, - 1: __ccgo_ts + 37785, - 2: __ccgo_ts + 37854, - 3: __ccgo_ts + 37887, - 4: __ccgo_ts + 37926, - 5: __ccgo_ts + 37966, - 6: __ccgo_ts + 38005, - 7: __ccgo_ts + 38048, - 8: __ccgo_ts + 38087, - 9: __ccgo_ts + 38131, - 10: __ccgo_ts + 38171, + 0: __ccgo_ts + 37863, + 1: __ccgo_ts + 37931, + 2: __ccgo_ts + 38000, + 3: __ccgo_ts + 38033, + 4: __ccgo_ts + 38072, + 5: __ccgo_ts + 38112, + 6: __ccgo_ts + 38151, + 7: __ccgo_ts + 38194, + 8: __ccgo_ts + 38233, + 9: __ccgo_ts + 38277, + 10: __ccgo_ts + 38317, } pC = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig zSql = uintptr(0) @@ -220431,16 +222260,16 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, } case int32(FTS5_STMT_REPLACE_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v2 = __ccgo_ts + 38194 + v2 = __ccgo_ts + 38340 } else { - v2 = __ccgo_ts + 1648 + v2 = __ccgo_ts + 1662 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName, v2)) case int32(FTS5_STMT_LOOKUP_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v3 = __ccgo_ts + 38197 + v3 = __ccgo_ts + 38343 } else { - v3 = __ccgo_ts + 1648 + v3 = __ccgo_ts + 1662 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, v3, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName)) default: @@ -220459,7 +222288,7 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, (*TFts5Config)(unsafe.Pointer((*TFts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if rc != SQLITE_OK && pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3795, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3859, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -220496,12 +222325,12 @@ func _sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) (r int32) { defer tls.Free(64) var rc int32 _ = rc - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38205, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38351, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38309, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38455, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38347, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38493, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } @@ -220510,7 +222339,7 @@ func _fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail ui bp := tls.Alloc(48) defer tls.Free(48) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38385, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) + *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38531, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -220522,14 +222351,14 @@ func _sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) ( _ = pConfig pConfig = (*TFts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageSync(tls, pStorage) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25741, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11793, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37581, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25887, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11918, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37727, zName) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35660, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35806, zName) } if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35093, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35239, zName) } return *(*int32)(unsafe.Pointer(bp)) } @@ -220549,13 +222378,13 @@ func _sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDef _, _ = rc, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if bWithout != 0 { - v1 = __ccgo_ts + 30381 + v1 = __ccgo_ts + 30527 } else { - v1 = __ccgo_ts + 1648 + v1 = __ccgo_ts + 1662 } - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38427, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38573, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38457, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38603, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) } return rc @@ -220596,36 +222425,36 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr if zDefn == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38501, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38647, 0) iOff = int32(libc.Xstrlen(tls, zDefn)) i = 0 for { if !(i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } - Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38524, libc.VaList(bp+8, i)) + Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38670, libc.VaList(bp+8, i)) iOff += int32(libc.Xstrlen(tls, zDefn+uintptr(iOff))) goto _2 _2: ; i++ } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35093, zDefn, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35239, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - zCols = __ccgo_ts + 38530 + zCols = __ccgo_ts + 38676 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 { - zCols = __ccgo_ts + 38562 + zCols = __ccgo_ts + 38708 } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35660, zCols, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35806, zCols, 0, pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37581, __ccgo_ts+38610, int32(1), pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37727, __ccgo_ts+38756, int32(1), pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35832, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35978, uintptr(0), int32(FTS5_CURRENT_VERSION)) } } if rc != 0 { @@ -220972,9 +222801,9 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig (*TFts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 /* Delete the contents of the %_data and %_docsize tables. */ - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38627, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38773, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38677, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38823, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } /* Reinitialize the %_data table. This call creates the initial structure ** and averages records. */ @@ -220982,7 +222811,7 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3Fts5IndexReinit(tls, (*TFts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35832, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35978, uintptr(0), int32(FTS5_CURRENT_VERSION)) } return rc } @@ -221196,7 +223025,7 @@ func _fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var _ /* pCnt at bp+0 */ uintptr _, _, _ = pConfig, rc, zSql pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38706, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38852, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -221407,14 +223236,14 @@ func _sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) (r int32 ** number of rows. */ if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { *(*Ti64)(unsafe.Pointer(bp + 48)) = 0 - rc = _fts5StorageCount(tls, p, __ccgo_ts+35093, bp+48) + rc = _fts5StorageCount(tls, p, __ccgo_ts+35239, bp+48) if rc == SQLITE_OK && *(*Ti64)(unsafe.Pointer(bp + 48)) != (*TFts5Storage)(unsafe.Pointer(p)).FnTotalRow { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) } @@ -222627,64 +224456,64 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38808, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38954, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38811, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38957, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38816, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38962, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('e'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38821, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38967, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38824, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38970, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('l'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38827, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38973, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38832, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38978, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38837, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38983, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38841, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38987, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38847, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38993, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38852, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38998, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -222693,49 +224522,49 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38856, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39002, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38860, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39006, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } } case int32('s'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38863, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39009, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('t'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38867, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39013, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38871, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39017, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38875, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39021, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38879, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39025, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('z'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38883, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39029, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -222752,20 +224581,20 @@ func _fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38887, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38867, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39033, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39013, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('b'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38890, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38893, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39036, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39039, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38897, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38883, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39043, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39029, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } @@ -222781,75 +224610,75 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38900, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39046, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38867, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39013, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38908, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39054, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38915, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39061, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(4) } } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38920, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39066, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38816, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38962, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38925, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39071, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38811, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38957, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } } case int32('e'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38930, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39076, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38883, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39029, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('g'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38935, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39081, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15907, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15986, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('l'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38940, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39086, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38893, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39039, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38944, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39090, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38808, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38954, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38949, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39095, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38852, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38998, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38955, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39101, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38959, uint64(1)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39105, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(1) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38961, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39107, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38875, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39021, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } @@ -222858,48 +224687,48 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38967, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39113, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38883, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39029, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38975, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39121, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38867, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39013, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38981, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39127, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38867, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39013, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } } } case int32('s'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38986, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39132, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38808, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38954, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38992, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39138, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38879, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39025, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39000, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39146, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39008, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39154, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39012, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39158, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38875, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39021, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } @@ -222907,21 +224736,21 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39020, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39166, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38808, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38954, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39026, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39172, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38879, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39025, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39032, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39178, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38893, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39039, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(3) } } @@ -222939,48 +224768,48 @@ func _fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39039, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39185, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38824, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38970, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } case int32('s'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39044, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39190, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39049, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39195, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38824, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38970, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39055, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39201, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38824, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38970, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39008, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39154, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39061, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39207, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } case int32('z'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39067, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39213, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38808, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38954, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } @@ -222996,13 +224825,13 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('e'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39073, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39219, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39077, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39223, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(2) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39080, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39226, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) ret = int32(1) @@ -223010,7 +224839,7 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39083, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39229, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) ret = int32(1) @@ -223172,14 +225001,14 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p break } zArg = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+int32(1))*8)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39087) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39233) { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { (*TTrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('0')) } } else { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38780) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38926) { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('2') || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { @@ -223454,7 +225283,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { Fx Tfts5_tokenizer }{ 0: { - FzName: __ccgo_ts + 38798, + FzName: __ccgo_ts + 38944, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5UnicodeCreate), FxDelete: __ccgo_fp(_fts5UnicodeDelete), @@ -223462,7 +225291,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 1: { - FzName: __ccgo_ts + 39102, + FzName: __ccgo_ts + 39248, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5AsciiCreate), FxDelete: __ccgo_fp(_fts5AsciiDelete), @@ -223470,7 +225299,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 2: { - FzName: __ccgo_ts + 39108, + FzName: __ccgo_ts + 39254, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5PorterCreate), FxDelete: __ccgo_fp(_fts5PorterDelete), @@ -223478,7 +225307,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 3: { - FzName: __ccgo_ts + 39115, + FzName: __ccgo_ts + 39261, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5TriCreate), FxDelete: __ccgo_fp(_fts5TriDelete), @@ -229023,16 +230852,16 @@ func _fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uin zCopy = _sqlite3Fts5Strndup(tls, bp, zType, -int32(1)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { _sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39123) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39269) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39127) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39273) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_ROW) } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39131) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39277) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_INSTANCE) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39140, libc.VaList(bp+16, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39286, libc.VaList(bp+16, zCopy)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -229101,15 +230930,15 @@ func _fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg var _ /* rc at bp+0 */ int32 _, _, _, _, _, _, _, _, _, _, _, _ = azSchema, bDb, nByte, nDb, nTab, pRet, zDb, zTab, zType, v1, v2, v3 azSchema = [3]uintptr{ - 0: __ccgo_ts + 39174, - 1: __ccgo_ts + 39214, - 2: __ccgo_ts + 39249, + 0: __ccgo_ts + 39320, + 1: __ccgo_ts + 39360, + 2: __ccgo_ts + 39395, } pRet = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23742, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) + bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23865, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) if argc != int32(5) && bDb == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39292, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39438, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bDb != 0 { @@ -229280,10 +231109,10 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) zSql = uintptr(0) if (*TFts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39325, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39471, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return int32(SQLITE_ERROR) } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39356, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39502, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, (*TFts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), bp+8, uintptr(0)) } @@ -229303,7 +231132,7 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39407, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39553, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } else { @@ -229612,7 +231441,7 @@ func _fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnuse if pLe != 0 { zCopy = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = __ccgo_ts + 1648 + zCopy = __ccgo_ts + 1662 } (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm+int32(1)) @@ -229740,7 +231569,7 @@ func _sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) (r int32) var p uintptr _ = p p = pGlobal - return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39433, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39579, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) } var _fts5Vocab = Tsqlite3_module{ @@ -229793,7 +231622,7 @@ func init() { // /************** End of stmt.c ************************************************/ // /* Return the source-id for this library */ func Xsqlite3_sourceid(tls *libc.TLS) (r uintptr) { - return __ccgo_ts + 39443 + return __ccgo_ts + 39589 } type TAggInfo_col = struct { @@ -230075,11 +231904,11 @@ var Xsqlite3_temp_directory uintptr // ** // ** See also: [sqlite_version()] and [sqlite_source_id()]. // */ -var Xsqlite3_version = [7]uint8{'3', '.', '4', '5', '.', '3'} +var Xsqlite3_version = [7]uint8{'3', '.', '4', '6', '.', '0'} var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data -var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-11.2.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%04d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00PRAGMA \"%w\".integrity_check(%Q)\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00RIGHT PART OF \x00USE TEMP B-TREE FOR %sORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00" +var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-11.2.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00" type Sqlite3_int64 = sqlite3_int64 type Sqlite3_mutex_methods = sqlite3_mutex_methods diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_s390x.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_s390x.go index 33c65371db..2c276e6c37 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_linux_s390x.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_s390x.go @@ -1,4 +1,4 @@ -// Code generated for linux/s390x by 'generator -mlong-double-64 --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -extended-errors -o sqlite3.go sqlite3.c -I/tmp/libsqlite3/sqlite-amalgamation-3450300/ccgo -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. +// Code generated for linux/s390x by 'generator -mlong-double-64 --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libz/include/linux/s390x -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libtcl8.6/include/linux/s390x -extended-errors -o sqlite3.go sqlite3.c -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -eval-all-macros', DO NOT EDIT. //go:build linux && s390x // +build linux,s390x @@ -1013,6 +1013,7 @@ const OPFLG_IN1 = 2 const OPFLG_IN2 = 4 const OPFLG_IN3 = 8 const OPFLG_JUMP = 1 +const OPFLG_JUMP0 = 128 const OPFLG_NCYCLE = 64 const OPFLG_OUT2 = 16 const OPFLG_OUT3 = 32 @@ -1090,7 +1091,7 @@ const OP_IfNotOpen = 25 const OP_IfNotZero = 60 const OP_IfNullRow = 20 const OP_IfPos = 59 -const OP_IfSmaller = 33 +const OP_IfSizeBetween = 33 const OP_IncrVacuum = 62 const OP_Init = 8 const OP_InitCoroutine = 11 @@ -1493,6 +1494,7 @@ const SF_ComplexResult = 262144 const SF_Compound = 256 const SF_Converted = 65536 const SF_CopyCte = 67108864 +const SF_Correlated = 536870912 const SF_Distinct = 1 const SF_Expanded = 64 const SF_FixedLimit = 16384 @@ -1765,6 +1767,7 @@ const SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT = -1 const SQLITE_DEFAULT_LOOKASIDE = 40 const SQLITE_DEFAULT_MEMSTATUS = 0 const SQLITE_DEFAULT_MMAP_SIZE = 0 +const SQLITE_DEFAULT_OPTIMIZE_LIMIT = 2000 const SQLITE_DEFAULT_PAGE_SIZE = 4096 const SQLITE_DEFAULT_PCACHE_INITSZ = 20 const SQLITE_DEFAULT_PROXYDIR_PERMISSIONS = 493 @@ -1782,6 +1785,7 @@ const SQLITE_DESERIALIZE_READONLY = 4 const SQLITE_DESERIALIZE_RESIZEABLE = 2 const SQLITE_DETACH = 25 const SQLITE_DETERMINISTIC = 2048 +const SQLITE_DIGIT_SEPARATOR = 95 const SQLITE_DIRECTONLY = 524288 const SQLITE_DIRECT_OVERFLOW_READ = 1 const SQLITE_DONE = 101 @@ -2206,7 +2210,7 @@ const SQLITE_SHM_SHARED = 4 const SQLITE_SHM_UNLOCK = 1 const SQLITE_SORTER_PMASZ = 250 const SQLITE_SOUNDEX = 1 -const SQLITE_SOURCE_ID = "2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355" +const SQLITE_SOURCE_ID = "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e" const SQLITE_SO_ASC = 0 const SQLITE_SO_DESC = 1 const SQLITE_SO_UNDEFINED = -1 @@ -2314,8 +2318,8 @@ const SQLITE_UTF16LE = 2 const SQLITE_UTF16NATIVE = 3 const SQLITE_UTF16_ALIGNED = 8 const SQLITE_UTF8 = 1 -const SQLITE_VERSION = "3.45.3" -const SQLITE_VERSION_NUMBER = 3045003 +const SQLITE_VERSION = "3.46.0" +const SQLITE_VERSION_NUMBER = 3046000 const SQLITE_VTABRISK_High = 2 const SQLITE_VTABRISK_Low = 0 const SQLITE_VTABRISK_Normal = 1 @@ -2472,11 +2476,11 @@ const TF_HasStat1 = 16 const TF_HasStat4 = 8192 const TF_HasStored = 64 const TF_HasVirtual = 32 +const TF_MaybeReanalyze = 256 const TF_NoVisibleRowid = 512 const TF_OOOHidden = 1024 const TF_Readonly = 1 const TF_Shadow = 4096 -const TF_StatsUsed = 256 const TF_Strict = 65536 const TF_WithoutRowid = 128 const TIMER_ABSTIME = 1 @@ -2633,7 +2637,7 @@ const TK_ID = 59 const TK_IF = 18 const TK_IF_NULL_ROW = 179 const TK_IGNORE = 63 -const TK_ILLEGAL = 184 +const TK_ILLEGAL = 185 const TK_IMMEDIATE = 8 const TK_IN = 49 const TK_INDEX = 161 @@ -2681,6 +2685,7 @@ const TK_PRAGMA = 70 const TK_PRECEDING = 88 const TK_PRIMARY = 122 const TK_PTR = 112 +const TK_QNUMBER = 183 const TK_QUERY = 3 const TK_RAISE = 71 const TK_RANGE = 89 @@ -2705,7 +2710,7 @@ const TK_SELECT_COLUMN = 178 const TK_SEMI = 1 const TK_SET = 130 const TK_SLASH = 109 -const TK_SPACE = 183 +const TK_SPACE = 184 const TK_SPAN = 181 const TK_STAR = 108 const TK_STRING = 117 @@ -2718,12 +2723,12 @@ const TK_TRANSACTION = 6 const TK_TRIGGER = 77 const TK_TRUEFALSE = 170 const TK_TRUTH = 175 -const TK_UMINUS = 173 +const TK_UMINUS = 174 const TK_UNBOUNDED = 90 const TK_UNION = 134 const TK_UNIQUE = 123 const TK_UPDATE = 129 -const TK_UPLUS = 174 +const TK_UPLUS = 173 const TK_USING = 144 const TK_VACUUM = 78 const TK_VALUES = 139 @@ -2879,31 +2884,37 @@ const W_OK = 2 const XN_EXPR = -2 const XN_ROWID = -1 const X_OK = 1 +const YYDYNSTACK = 1 const YYFALLBACK = 1 +const YYFREE = 0 +const YYGROWABLESTACK = 1 const YYMALLOCARGTYPE = 0 -const YYNOCODE = 319 +const YYNOCODE = 322 const YYNOERRORRECOVERY = 1 -const YYNRULE = 405 -const YYNRULE_WITH_ACTION = 340 -const YYNSTATE = 579 -const YYNTOKEN = 185 +const YYNRULE = 409 +const YYNRULE_WITH_ACTION = 344 +const YYNSTATE = 583 +const YYNTOKEN = 186 const YYPARSEFREENEVERNULL = 1 +const YYREALLOC = 0 const YYSTACKDEPTH = 100 const YYWILDCARD = 101 -const YY_ACCEPT_ACTION = 1244 -const YY_ACTTAB_COUNT = 2100 -const YY_ERROR_ACTION = 1243 -const YY_MAX_REDUCE = 1650 -const YY_MAX_SHIFT = 578 -const YY_MAX_SHIFTREDUCE = 1242 -const YY_MIN_REDUCE = 1246 -const YY_MIN_SHIFTREDUCE = 838 -const YY_NO_ACTION = 1245 -const YY_REDUCE_COUNT = 410 -const YY_REDUCE_MAX = 1753 -const YY_REDUCE_MIN = -271 -const YY_SHIFT_COUNT = 578 -const YY_SHIFT_MAX = 2088 +const YY_ACCEPT_ACTION = 1255 +const YY_ACTTAB_COUNT = 2142 +const YY_ERROR_ACTION = 1254 +const YY_MAX_DSTRCTR = 319 +const YY_MAX_REDUCE = 1665 +const YY_MAX_SHIFT = 582 +const YY_MAX_SHIFTREDUCE = 1253 +const YY_MIN_DSTRCTR = 205 +const YY_MIN_REDUCE = 1257 +const YY_MIN_SHIFTREDUCE = 845 +const YY_NO_ACTION = 1256 +const YY_REDUCE_COUNT = 411 +const YY_REDUCE_MAX = 1798 +const YY_REDUCE_MIN = -275 +const YY_SHIFT_COUNT = 582 +const YY_SHIFT_MAX = 2128 const YY_SHIFT_MIN = 0 const _ALLOCA_H = 1 const _ASSERT_H = 1 @@ -3517,6 +3528,9 @@ const fdatasync = 0 const first_valueInvFunc = 0 const first_valueValueFunc = 0 const fts5GetVarint = 0 +const fts5YYDYNSTACK = 0 +const fts5YYFREE = 0 +const fts5YYGROWABLESTACK = 0 const fts5YYMALLOCARGTYPE = 0 const fts5YYNFTS5TOKEN = 16 const fts5YYNOCODE = 27 @@ -3525,13 +3539,16 @@ const fts5YYNRULE = 28 const fts5YYNRULE_WITH_ACTION = 28 const fts5YYNSTATE = 35 const fts5YYPARSEFREENOTNULL = 1 +const fts5YYREALLOC = 0 const fts5YYSTACKDEPTH = 100 const fts5YY_ACCEPT_ACTION = 81 const fts5YY_ACTTAB_COUNT = 105 const fts5YY_ERROR_ACTION = 80 +const fts5YY_MAX_DSTRCTR = 24 const fts5YY_MAX_REDUCE = 110 const fts5YY_MAX_SHIFT = 34 const fts5YY_MAX_SHIFTREDUCE = 79 +const fts5YY_MIN_DSTRCTR = 16 const fts5YY_MIN_REDUCE = 83 const fts5YY_MIN_SHIFTREDUCE = 52 const fts5YY_NO_ACTION = 82 @@ -3953,11 +3970,11 @@ type sqlite3_file1 = Tsqlite3_file1 // ** // ** xLock() upgrades the database file lock. In other words, xLock() moves the // ** database file lock in the direction NONE toward EXCLUSIVE. The argument to -// ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never +// ** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never // ** SQLITE_LOCK_NONE. If the database file lock is already at or above the // ** requested lock, then the call to xLock() is a no-op. // ** xUnlock() downgrades the database file lock to either SHARED or NONE. -// * If the lock is already at or below the requested lock state, then the call +// ** If the lock is already at or below the requested lock state, then the call // ** to xUnlock() is a no-op. // ** The xCheckReservedLock() method checks whether any database connection, // ** either in this process or in some other process, is holding a RESERVED, @@ -5737,6 +5754,7 @@ type Tsqlite3_changegroup = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -6063,8 +6081,8 @@ type Fts5PhraseIter1 = TFts5PhraseIter1 ** EXTENSION API FUNCTIONS ** ** xUserData(pFts): -** Return a copy of the context pointer the extension function was -** registered with. +** Return a copy of the pUserData pointer passed to the xCreateFunction() +** API when the extension function was registered. ** ** xColumnTotalSize(pFts, iCol, pnToken): ** If parameter iCol is less than zero, set output variable *pnToken @@ -7820,7 +7838,7 @@ type uptr = Tuptr ** 0x00000010 Display sqlite3_index_info xBestIndex calls ** 0x00000020 Range an equality scan metrics ** 0x00000040 IN operator decisions -** 0x00000080 WhereLoop cost adjustements +** 0x00000080 WhereLoop cost adjustments ** 0x00000100 ** 0x00000200 Covering index decisions ** 0x00000400 OR optimization @@ -8332,6 +8350,7 @@ type TParse = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -8551,6 +8570,7 @@ type TSrcItem = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -10827,10 +10847,12 @@ type IdList1 = TIdList1 ** ** Union member validity: ** -** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc -** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy -** u2.pIBIndex fg.isIndexedBy && !fg.isCte -** u2.pCteUse fg.isCte && !fg.isIndexedBy +** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc +** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy +** u1.nRow !fg.isTabFunc && !fg.isIndexedBy +** +** u2.pIBIndex fg.isIndexedBy && !fg.isCte +** u2.pCteUse fg.isCte && !fg.isIndexedBy */ type TSrcItem1 = struct { FpSchema uintptr @@ -10856,6 +10878,7 @@ type TSrcItem1 = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -11259,6 +11282,7 @@ type TParse1 = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -12621,12 +12645,12 @@ var _sqlite3WhereTrace = uint32(0) var _sqlite3OpcodeProperty = [190]uint8{ 4: uint8(0x10), 6: uint8(0x41), - 8: uint8(0x01), + 8: uint8(0x81), 9: uint8(0x01), 10: uint8(0x01), - 11: uint8(0x01), - 12: uint8(0x03), - 13: uint8(0x03), + 11: uint8(0x81), + 12: uint8(0x83), + 13: uint8(0x83), 14: uint8(0x01), 15: uint8(0x01), 16: uint8(0x03), @@ -12634,22 +12658,22 @@ var _sqlite3OpcodeProperty = [190]uint8{ 18: uint8(0x01), 19: uint8(0x12), 20: uint8(0x01), - 21: uint8(0x49), - 22: uint8(0x49), - 23: uint8(0x49), - 24: uint8(0x49), + 21: uint8(0xc9), + 22: uint8(0xc9), + 23: uint8(0xc9), + 24: uint8(0xc9), 25: uint8(0x01), 26: uint8(0x49), 27: uint8(0x49), 28: uint8(0x49), 29: uint8(0x49), - 30: uint8(0x49), + 30: uint8(0xc9), 31: uint8(0x49), - 32: uint8(0x41), + 32: uint8(0xc1), 33: uint8(0x01), 34: uint8(0x41), 35: uint8(0x41), - 36: uint8(0x41), + 36: uint8(0xc1), 37: uint8(0x01), 38: uint8(0x41), 39: uint8(0x41), @@ -12661,7 +12685,7 @@ var _sqlite3OpcodeProperty = [190]uint8{ 45: uint8(0x41), 46: uint8(0x23), 47: uint8(0x0b), - 48: uint8(0x01), + 48: uint8(0x81), 49: uint8(0x01), 50: uint8(0x03), 51: uint8(0x03), @@ -13531,7 +13555,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin var pMutex, v1 uintptr _, _ = pMutex, v1 if op < 0 || op >= int32(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) { - return _sqlite3MisuseError(tls, int32(23890)) + return _sqlite3MisuseError(tls, int32(23961)) } if _statMutex[op] != 0 { v1 = _sqlite3Pcache1Mutex(tls) @@ -13894,43 +13918,37 @@ type itimerspec = Titimerspec // ** A structure for holding a single date and time. // */ type TDateTime = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD uint8 - FrawS uint8 - FvalidYMD uint8 - FvalidHMS uint8 - FvalidTZ uint8 - FtzSet uint8 - FisError uint8 - FuseSubsec uint8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD uint8 + FvalidYMD uint8 + FvalidHMS uint8 + FnFloor uint8 + F__ccgo44 uint8 } type DateTime = TDateTime type TDateTime1 = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD uint8 - FrawS uint8 - FvalidYMD uint8 - FvalidHMS uint8 - FvalidTZ uint8 - FtzSet uint8 - FisError uint8 - FuseSubsec uint8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD uint8 + FvalidYMD uint8 + FvalidHMS uint8 + FnFloor uint8 + F__ccgo44 uint8 } type DateTime1 = TDateTime1 @@ -14057,6 +14075,8 @@ func _parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { } else { if c == int32('Z') || c == int32('z') { zDate++ + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) goto zulu_time } else { return libc.BoolInt32(c != 0) @@ -14075,7 +14095,6 @@ zulu_time: for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(zDate))])&int32(0x01) != 0 { zDate++ } - (*TDateTime)(unsafe.Pointer(p)).FtzSet = uint8(1) return libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zDate))) != 0) } @@ -14092,11 +14111,10 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var ms, rScale float64 - var v1 int32 var _ /* h at bp+0 */ int32 var _ /* m at bp+4 */ int32 var _ /* s at bp+8 */ int32 - _, _, _ = ms, rScale, v1 + _, _ = ms, rScale ms = float64(0) if _getDigits(tls, zDate, __ccgo_ts+1171, libc.VaList(bp+24, bp, bp+4)) != int32(2) { return int32(1) @@ -14122,7 +14140,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { *(*int32)(unsafe.Pointer(bp + 8)) = 0 } (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) (*TDateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp)) (*TDateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 4)) @@ -14130,12 +14148,6 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { if _parseTimezone(tls, zDate, p) != 0 { return int32(1) } - if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { - v1 = int32(1) - } else { - v1 = 0 - } - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(v1) return 0 } @@ -14146,7 +14158,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { // */ func _datetimeError(tls *libc.TLS, p uintptr) { libc.Xmemset(tls, p, 0, uint64(48)) - (*TDateTime)(unsafe.Pointer(p)).FisError = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 1, 0x2) } // C documentation @@ -14172,7 +14184,7 @@ func _computeJD(tls *libc.TLS, p uintptr) { M = int32(1) D = int32(1) } - if Y < -int32(4713) || Y > int32(9999) || (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Y < -int32(4713) || Y > int32(9999) || int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { _datetimeError(tls, p) return } @@ -14188,11 +14200,44 @@ func _computeJD(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) if (*TDateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) += int64((*TDateTime)(unsafe.Pointer(p)).Fh*int32(3600000)+(*TDateTime)(unsafe.Pointer(p)).Fm*int32(60000)) + int64((*TDateTime)(unsafe.Pointer(p)).Fs*libc.Float64FromInt32(1000)+libc.Float64FromFloat64(0.5)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64((*TDateTime)(unsafe.Pointer(p)).Ftz * int32(60000)) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + } + } +} + +// C documentation +// +// /* +// ** Given the YYYY-MM-DD information current in p, determine if there +// ** is day-of-month overflow and set nFloor to the number of days that +// ** would need to be subtracted from the date in order to bring the +// ** date back to the end of the month. +// */ +func _computeFloor(tls *libc.TLS, p uintptr) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if (*TDateTime)(unsafe.Pointer(p)).FD <= int32(28) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } else { + if int32(1)<<(*TDateTime)(unsafe.Pointer(p)).FM&int32(0x15aa) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FM != int32(2) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = libc.BoolUint8((*TDateTime)(unsafe.Pointer(p)).FD == libc.Int32FromInt32(31)) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FY%int32(4) != 0 || (*TDateTime)(unsafe.Pointer(p)).FY%int32(100) == 0 && (*TDateTime)(unsafe.Pointer(p)).FY%int32(400) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8((*TDateTime)(unsafe.Pointer(p)).FD - int32(28)) + } else { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8((*TDateTime)(unsafe.Pointer(p)).FD - int32(29)) + } + } } } } @@ -14251,12 +14296,15 @@ func _parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FY = v1 (*TDateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 4)) (*TDateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 8)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + _computeFloor(tls, p) + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { _computeJD(tls, p) } return 0 } +/* Forward declaration */ + // C documentation // // /* @@ -14268,6 +14316,9 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) (*TDateTime)(unsafe.Pointer(p)).FiJD = _sqlite3StmtCurrentTime(tls, context) if (*TDateTime)(unsafe.Pointer(p)).FiJD > 0 { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + _clearYMD_HMS_TZ(tls, p) return 0 } else { return int32(1) @@ -14285,7 +14336,7 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) // */ func _setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { (*TDateTime)(unsafe.Pointer(p)).Fs = r - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 0, 0x1) if r >= float64(0) && r < float64(5.3734845e+06) { (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r*libc.Float64FromFloat64(8.64e+07) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) @@ -14328,7 +14379,7 @@ func _parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) return 0 } else { if (_sqlite3StrICmp(tls, zDate, __ccgo_ts+1199) == 0 || _sqlite3StrICmp(tls, zDate, __ccgo_ts+1206) == 0) && _sqlite3NotPureFunc(tls, context) != 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) return _setDateTimeToCurrent(tls, context, p) } } @@ -14420,7 +14471,7 @@ func _computeHMS(tls *libc.TLS, p uintptr) { day_min = day_ms / int32(60000) (*TDateTime)(unsafe.Pointer(p)).Fm = day_min % int32(60) (*TDateTime)(unsafe.Pointer(p)).Fh = day_min / int32(60) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) } @@ -14442,7 +14493,7 @@ func _computeYMD_HMS(tls *libc.TLS, p uintptr) { func _clearYMD_HMS_TZ(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 } /* @@ -14543,9 +14594,9 @@ func _toLocaltime(tls *libc.TLS, p uintptr, pCtx uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FisError = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 1, 0x2) return SQLITE_OK } @@ -14593,13 +14644,13 @@ var _aXformType = [6]struct { FnName: uint8(5), FzName: [7]uint8{'m', 'o', 'n', 't', 'h'}, FrLimit: float32(176546), - FrXform: float32(2.592e+06), + FrXform: float32(libc.Float64FromFloat64(30) * libc.Float64FromFloat64(86400)), }, 5: { FnName: uint8(4), FzName: [7]uint8{'y', 'e', 'a', 'r'}, FrLimit: float32(14713), - FrXform: float32(3.1536e+07), + FrXform: float32(libc.Float64FromFloat64(365) * libc.Float64FromFloat64(86400)), }, } @@ -14613,15 +14664,15 @@ var _aXformType = [6]struct { func _autoAdjustDate(tls *libc.TLS, p uintptr) { var r float64 _ = r - if !((*TDateTime)(unsafe.Pointer(p)).FrawS != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + if !(int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } else { if (*TDateTime)(unsafe.Pointer(p)).Fs >= float64(int64(-libc.Int32FromInt32(21086676))*libc.Int64FromInt32(10000)) && (*TDateTime)(unsafe.Pointer(p)).Fs <= float64(libc.Int64FromInt32(25340230)*libc.Int64FromInt32(10000)+libc.Int64FromInt32(799)) { r = (*TDateTime)(unsafe.Pointer(p)).Fs*float64(1000) + float64(2.1086676e+14) _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } } @@ -14638,14 +14689,20 @@ func _autoAdjustDate(tls *libc.TLS, p uintptr) { // ** NNN.NNNN seconds // ** NNN months // ** NNN years +// ** +/-YYYY-MM-DD HH:MM:SS.SSS +// ** ceiling +// ** floor // ** start of month // ** start of year // ** start of week // ** start of day // ** weekday N // ** unixepoch +// ** auto // ** localtime // ** utc +// ** subsec +// ** subsecond // ** // ** Return 0 on success and 1 if there is any kind of error. If the error // ** is in a system call (i.e. localtime()), then an error message is written @@ -14656,12 +14713,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, bp := tls.Alloc(160) defer tls.Free(160) var Z, day Tsqlite3_int64 - var cnt, i, rc, x, y, v12, v2, v5, v7, v9 int32 - var iErr, iGuess, iOrigJD, v1 Ti64 - var rRounder, v10 float64 + var cnt, i, rc, x, y, v1, v10, v13, v3, v6, v8 int32 + var iErr, iGuess, iOrigJD, v2 Ti64 + var rRounder, v11 float64 var z0 uint8 var z2 uintptr - var v3, v6 bool + var v4, v7 bool var _ /* D at bp+64 */ int32 var _ /* M at bp+60 */ int32 var _ /* Y at bp+56 */ int32 @@ -14670,7 +14727,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, var _ /* new at bp+8 */ TDateTime var _ /* r at bp+0 */ float64 var _ /* tx at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v12, v2, v3, v5, v6, v7, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v11, v13, v2, v3, v4, v6, v7, v8 rc = int32(1) switch int32(_sqlite3UpperToLower[*(*uint8)(unsafe.Pointer(z))]) { case int32('a'): @@ -14687,6 +14744,33 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _autoAdjustDate(tls, p) rc = 0 } + case int32('c'): + /* + ** ceiling + ** + ** Resolve day-of-month overflow by rolling forward into the next + ** month. As this is the default action, this modifier is really + ** a no-op that is only included for symmetry. See "floor". + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1244) == 0 { + _computeJD(tls, p) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) + } + case int32('f'): + /* + ** floor + ** + ** Resolve day-of-month overflow by rolling back to the end of the + ** previous month. + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1252) == 0 { + _computeJD(tls, p) + *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64(int32((*TDateTime)(unsafe.Pointer(p)).FnFloor) * int32(86400000)) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + } case int32('j'): /* ** julianday @@ -14696,13 +14780,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** value in the allowed range of julian day numbers understood by ** SQLite (0..5373484.5) then the result will be NULL. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1244) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1258) == 0 { if idx > int32(1) { return int32(1) } /* IMP: R-31176-64601 */ - if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { rc = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } case int32('l'): @@ -14711,8 +14795,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Assuming the current time value is UTC (a.k.a. GMT), shift it to ** show local time. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1254) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - rc = _toLocaltime(tls, p, pCtx) + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1268) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x10>>4)) != 0 { + v1 = SQLITE_OK + } else { + v1 = _toLocaltime(tls, p, pCtx) + } + rc = v1 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 4, 0x10) } case int32('u'): /* @@ -14721,7 +14812,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Treat the current value of p->s as the number of ** seconds since 1970. Convert to a real julian day number. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1264) == 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1278) == 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { if idx > int32(1) { return int32(1) } /* IMP: R-49255-55373 */ @@ -14730,17 +14821,17 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(*(*float64)(unsafe.Pointer(bp)) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) rc = 0 } } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1274) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - if int32((*TDateTime)(unsafe.Pointer(p)).FtzSet) == 0 { /* Guess at the corresponding utc time */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1288) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x8>>3)) == 0 { /* Guess at the corresponding utc time */ cnt = 0 /* Guess is off by this much */ _computeJD(tls, p) - v1 = (*TDateTime)(unsafe.Pointer(p)).FiJD - iOrigJD = v1 - iGuess = v1 + v2 = (*TDateTime)(unsafe.Pointer(p)).FiJD + iOrigJD = v2 + iGuess = v2 iErr = 0 for { libc.Xmemset(tls, bp+8, 0, uint64(48)) @@ -14753,21 +14844,22 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, bp+8) iErr = (*(*TDateTime)(unsafe.Pointer(bp + 8))).FiJD - iOrigJD - goto _4 - _4: + goto _5 + _5: ; - if v3 = iErr != 0; v3 { - v2 = cnt + if v4 = iErr != 0; v4 { + v3 = cnt cnt++ } - if !(v3 && v2 < int32(3)) { + if !(v4 && v3 < int32(3)) { break } } libc.Xmemset(tls, p, 0, uint64(48)) (*TDateTime)(unsafe.Pointer(p)).FiJD = iGuess (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(1) - (*TDateTime)(unsafe.Pointer(p)).FtzSet = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) } rc = SQLITE_OK } @@ -14780,13 +14872,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** weekday N where 0==Sunday, 1==Monday, and so forth. If the ** date is already on the appropriate weekday, this is a no-op. */ - if v6 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1278, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v6 { - v5 = int32(*(*float64)(unsafe.Pointer(bp))) - n = v5 + if v7 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1292, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v7 { + v6 = int32(*(*float64)(unsafe.Pointer(bp))) + n = v6 } - if v6 && float64(v5) == *(*float64)(unsafe.Pointer(bp)) { + if v7 && float64(v6) == *(*float64)(unsafe.Pointer(bp)) { _computeYMD_HMS(tls, p) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) _computeJD(tls, p) Z = ((*TDateTime)(unsafe.Pointer(p)).FiJD + int64(129600000)) / int64(86400000) % int64(7) @@ -14810,9 +14902,9 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Show subsecond precision in the output of datetime() and ** unixepoch() and strftime('%s'). */ - if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1287, int32(9)) != 0 { + if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1301, int32(9)) != 0 { if Xsqlite3_stricmp(tls, z, __ccgo_ts+1199) == 0 || Xsqlite3_stricmp(tls, z, __ccgo_ts+1206) == 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = uint8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) rc = 0 } break @@ -14823,23 +14915,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z += uintptr(9) _computeYMD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(1) - v7 = libc.Int32FromInt32(0) - (*TDateTime)(unsafe.Pointer(p)).Fm = v7 - (*TDateTime)(unsafe.Pointer(p)).Fh = v7 + v8 = libc.Int32FromInt32(0) + (*TDateTime)(unsafe.Pointer(p)).Fm = v8 + (*TDateTime)(unsafe.Pointer(p)).Fh = v8 (*TDateTime)(unsafe.Pointer(p)).Fs = float64(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = uint8(0) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = uint8(0) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1297) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1311) == 0 { (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1303) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1317) == 0 { (*TDateTime)(unsafe.Pointer(p)).FM = int32(1) (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1308) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1322) == 0 { rc = 0 } } @@ -14881,15 +14973,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == int32('-') { - if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1312, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1326, libc.VaList(bp+136, bp+56)) == int32(1) { break } - if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1316, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1330, libc.VaList(bp+136, bp+56)) == int32(1) { break } } - goto _8 - _8: + goto _9 + _9: ; n++ } @@ -14906,12 +14998,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } /* Must start with +/- */ if n == int32(5) { - if _getDigits(tls, z+1, __ccgo_ts+1320, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1334, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } } else { _ = libc.Int32FromInt32(0) - if _getDigits(tls, z+1, __ccgo_ts+1332, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1346, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } z++ @@ -14933,13 +15025,14 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, *(*int32)(unsafe.Pointer(p + 12)) += *(*int32)(unsafe.Pointer(bp + 60)) } if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v9 + x = v10 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) _computeJD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = uint8(0) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = uint8(0) @@ -14983,7 +15076,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z++ } n = _sqlite3Strlen30(tls, z) - if n > int32(10) || n < int32(3) { + if n < int32(3) || n > int32(10) { break } if int32(_sqlite3UpperToLower[*(*uint8)(unsafe.Pointer(z + uintptr(n-int32(1))))]) == int32('s') { @@ -14992,11 +15085,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeJD(tls, p) _ = libc.Int32FromInt32(0) if *(*float64)(unsafe.Pointer(bp)) < libc.Float64FromInt32(0) { - v10 = -libc.Float64FromFloat64(0.5) + v11 = -libc.Float64FromFloat64(0.5) } else { - v10 = +libc.Float64FromFloat64(0.5) + v11 = +libc.Float64FromFloat64(0.5) } - rRounder = v10 + rRounder = v11 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = uint8(0) i = 0 for { if !(i < int32(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) { @@ -15009,20 +15103,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 12)) += int32(*(*float64)(unsafe.Pointer(bp))) if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v12 + x = v13 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) case int32(5): /* Special processing to add years */ y = int32(*(*float64)(unsafe.Pointer(bp))) _ = libc.Int32FromInt32(0) _computeYMD_HMS(tls, p) + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(p + 8)) += y + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = uint8(0) *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) break @@ -15032,8 +15129,8 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, rc = 0 break } - goto _11 - _11: + goto _12 + _12: ; i++ } @@ -15092,7 +15189,7 @@ func _isDate(tls *libc.TLS, context uintptr, argc int32, argv uintptr, p uintptr i++ } _computeJD(tls, p) - if (*TDateTime)(unsafe.Pointer(p)).FisError != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x2>>1)) != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { return int32(1) } if argc == int32(1) && (*TDateTime)(unsafe.Pointer(p)).FvalidYMD != 0 && (*TDateTime)(unsafe.Pointer(p)).FD > int32(28) { @@ -15140,7 +15237,7 @@ func _unixepochFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _ /* x at bp+0 */ TDateTime if _isDate(tls, context, argc, argv, bp) == 0 { _computeJD(tls, bp) - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { Xsqlite3_result_double(tls, context, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000)) } else { Xsqlite3_result_int64(tls, context, (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/int64(1000)-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000)) @@ -15185,7 +15282,7 @@ func _datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(15)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(16)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(17)] = uint8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(18)] = uint8(int32('0') + s/int32(10000)%int32(10)) (*(*[32]uint8)(unsafe.Pointer(bp + 48)))[int32(19)] = uint8(int32('0') + s/int32(1000)%int32(10)) @@ -15233,7 +15330,7 @@ func _timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(3)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(4)] = uint8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(5)] = uint8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(6)] = uint8(int32('0') + s/int32(10000)%int32(10)) (*(*[16]uint8)(unsafe.Pointer(bp + 48)))[int32(7)] = uint8(int32('0') + s/int32(1000)%int32(10)) @@ -15294,6 +15391,62 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } +// C documentation +// +// /* +// ** Compute the number of days after the most recent January 1. +// ** +// ** In other words, compute the zero-based day number for the +// ** current year: +// ** +// ** Jan01 = 0, Jan02 = 1, ..., Jan31 = 30, Feb01 = 31, ... +// ** Dec31 = 364 or 365. +// */ +func _daysAfterJan01(tls *libc.TLS, pDate uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* jan01 at bp+0 */ TDateTime + *(*TDateTime)(unsafe.Pointer(bp)) = *(*TDateTime)(unsafe.Pointer(pDate)) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + (*(*TDateTime)(unsafe.Pointer(bp))).FvalidJD = uint8(0) + (*(*TDateTime)(unsafe.Pointer(bp))).FM = int32(1) + (*(*TDateTime)(unsafe.Pointer(bp))).FD = int32(1) + _computeJD(tls, bp) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD - (*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Monday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Monday, 1=Tuesday, 2=Wednesday, ..., 6=Sunday. +// */ +func _daysAfterMonday(tls *libc.TLS, pDate uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(43200000))/libc.Int64FromInt32(86400000)) % int32(7) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Sunday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Sunday, 1=Monday, 2=Tues, ..., 6=Saturday +// */ +func _daysAfterSunday(tls *libc.TLS, pDate uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)) % int32(7) +} + // C documentation // // /* @@ -15301,33 +15454,48 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // ** // ** Return a string described by FORMAT. Conversions as follows: // ** -// ** %d day of month +// ** %d day of month 01-31 +// ** %e day of month 1-31 // ** %f ** fractional seconds SS.SSS +// ** %F ISO date. YYYY-MM-DD +// ** %G ISO year corresponding to %V 0000-9999. +// ** %g 2-digit ISO year corresponding to %V 00-99 // ** %H hour 00-24 -// ** %j day of year 000-366 +// ** %k hour 0-24 (leading zero converted to space) +// ** %I hour 01-12 +// ** %j day of year 001-366 // ** %J ** julian day number +// ** %l hour 1-12 (leading zero converted to space) // ** %m month 01-12 // ** %M minute 00-59 +// ** %p "am" or "pm" +// ** %P "AM" or "PM" +// ** %R time as HH:MM // ** %s seconds since 1970-01-01 // ** %S seconds 00-59 -// ** %w day of week 0-6 Sunday==0 -// ** %W week of year 00-53 +// ** %T time as HH:MM:SS +// ** %u day of week 1-7 Monday==1, Sunday==7 +// ** %w day of week 0-6 Sunday==0, Monday==1 +// ** %U week of year 00-53 (First Sunday is start of week 01) +// ** %V week of year 01-53 (First week containing Thursday is week 01) +// ** %W week of year 00-53 (First Monday is start of week 01) // ** %Y year 0000-9999 // ** %% % // */ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(208) + defer tls.Free(208) var c, cf uint8 var db, zFmt, v3, v4, v5, v6, v7 uintptr - var h, nDay, wd int32 + var h int32 var i, j, v2 Tsize_t var iS Ti64 var s float64 var _ /* sRes at bp+48 */ Tsqlite3_str var _ /* x at bp+0 */ TDateTime + var _ /* y at bp+128 */ TDateTime var _ /* y at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, nDay, s, wd, zFmt, v2, v3, v4, v5, v6, v7 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, s, zFmt, v2, v3, v4, v5, v6, v7 if argc == 0 { return } @@ -15360,28 +15528,42 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { fallthrough case int32('e'): if int32(cf) == int32('d') { - v3 = __ccgo_ts + 1344 + v3 = __ccgo_ts + 1358 } else { - v3 = __ccgo_ts + 1349 + v3 = __ccgo_ts + 1363 } - Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) - case int32('f'): + Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('f'): /* Fractional seconds. (Non-standard) */ s = (*(*TDateTime)(unsafe.Pointer(bp))).Fs if s > float64(59.999) { s = float64(59.999) } - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1353, libc.VaList(bp+136, s)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1367, libc.VaList(bp+184, s)) case int32('F'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1360, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1374, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('G'): /* Fall thru */ + fallthrough + case int32('g'): + *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) + _ = libc.Int32FromInt32(0) + /* Move y so that it is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidYMD = uint8(0) + _computeYMD(tls, bp+80) + if int32(cf) == int32('g') { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY%int32(100))) + } else { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1389, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY)) + } case int32('H'): fallthrough case int32('k'): if int32(cf) == int32('H') { - v4 = __ccgo_ts + 1344 + v4 = __ccgo_ts + 1358 } else { - v4 = __ccgo_ts + 1349 + v4 = __ccgo_ts + 1363 } - Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) + Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) case int32('I'): /* Fall thru */ fallthrough case int32('l'): @@ -15393,73 +15575,72 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { h = int32(12) } if int32(cf) == int32('I') { - v5 = __ccgo_ts + 1344 + v5 = __ccgo_ts + 1358 } else { - v5 = __ccgo_ts + 1349 + v5 = __ccgo_ts + 1363 } - Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+136, h)) - case int32('W'): /* Fall thru */ - fallthrough - case int32('j'): /* Number of days since 1st day of year */ - *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidJD = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FM = int32(1) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FD = int32(1) - _computeJD(tls, bp+80) - nDay = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) - if int32(cf) == int32('W') { /* 0=Monday, 1=Tuesday, ... 6=Sunday */ - wd = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000) % libc.Int64FromInt32(7)) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1344, libc.VaList(bp+136, (nDay+int32(7)-wd)/int32(7))) - } else { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1375, libc.VaList(bp+136, nDay+int32(1))) - } - case int32('J'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1380, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) + Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+184, h)) + case int32('j'): /* Day of year. Jan01==1, Jan02==2, and so forth */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1394, libc.VaList(bp+184, _daysAfterJan01(tls, bp)+int32(1))) + case int32('J'): /* Julian day number. (Non-standard) */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1399, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) case int32('m'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1344, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) case int32('M'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1344, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('p'): /* Fall thru */ fallthrough case int32('P'): if (*(*TDateTime)(unsafe.Pointer(bp))).Fh >= int32(12) { if int32(cf) == int32('p') { - v6 = __ccgo_ts + 1386 + v6 = __ccgo_ts + 1405 } else { - v6 = __ccgo_ts + 1389 + v6 = __ccgo_ts + 1408 } Xsqlite3_str_append(tls, bp+48, v6, int32(2)) } else { if int32(cf) == int32('p') { - v7 = __ccgo_ts + 1392 + v7 = __ccgo_ts + 1411 } else { - v7 = __ccgo_ts + 1395 + v7 = __ccgo_ts + 1414 } Xsqlite3_str_append(tls, bp+48, v7, int32(2)) } case int32('R'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1398, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1417, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('s'): - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1408, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1427, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) } else { iS = (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/libc.Int64FromInt32(1000) - libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1413, libc.VaList(bp+136, iS)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1432, libc.VaList(bp+184, iS)) } case int32('S'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1344, libc.VaList(bp+136, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) case int32('T'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1418, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) - case int32('u'): /* Fall thru */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1437, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + case int32('u'): /* Day of week. 1 to 7. Monday==1, Sunday==7 */ fallthrough - case int32('w'): - c = uint8(int32(uint8(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)%libc.Int64FromInt32(7))) + int32('0')) + case int32('w'): /* Day of week. 0 to 6. Sunday==0, Monday==1 */ + c = uint8(int32(uint8(_daysAfterSunday(tls, bp))) + int32('0')) if int32(c) == int32('0') && int32(cf) == int32('u') { c = uint8('7') } Xsqlite3_str_appendchar(tls, bp+48, int32(1), c) + case int32('U'): /* Week num. 00-53. First Sun of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterSunday(tls, bp)+int32(7))/int32(7))) + case int32('V'): /* Week num. 01-53. First week with a Thur is week 01 */ + *(*TDateTime)(unsafe.Pointer(bp + 128)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Adjust y so that is the Thursday in the same week as x */ + _ = libc.Int32FromInt32(0) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FvalidYMD = uint8(0) + _computeYMD(tls, bp+128) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, _daysAfterJan01(tls, bp+128)/int32(7)+int32(1))) + case int32('W'): /* Week num. 00-53. First Mon of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1358, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterMonday(tls, bp)+int32(7))/int32(7))) case int32('Y'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1433, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1389, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) case int32('%'): Xsqlite3_str_appendchar(tls, bp+48, int32(1), uint8('%')) default: @@ -15612,12 +15793,10 @@ func _timediffFunc(tls *libc.TLS, context uintptr, NotUsed1 int32, argv uintptr) p2 = bp *(*Tsqlite3_int64)(unsafe.Pointer(p2)) = Tsqlite3_int64(uint64(*(*Tsqlite3_int64)(unsafe.Pointer(p2))) + libc.Uint64FromInt32(1486995408)*libc.Uint64FromInt32(100000)) } - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidYMD = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidHMS = uint8(0) - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidTZ = uint8(0) + _clearYMD_HMS_TZ(tls, bp) _computeYMD_HMS(tls, bp) _sqlite3StrAccumInit(tls, bp+96, uintptr(0), uintptr(0), 0, int32(100)) - Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1438, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) + Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1452, libc.VaList(bp+136, int32(sign), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) _sqlite3ResultStrAccum(tls, context, bp+96) } @@ -15650,55 +15829,55 @@ var _aDateTimeFuncs = [10]TFuncDef{ FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1244, + FzName: __ccgo_ts + 1258, }, 1: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1264, + FzName: __ccgo_ts + 1278, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1472, + FzName: __ccgo_ts + 1486, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1477, + FzName: __ccgo_ts + 1491, }, 4: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1482, + FzName: __ccgo_ts + 1496, }, 5: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1491, + FzName: __ccgo_ts + 1505, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1500, + FzName: __ccgo_ts + 1514, }, 7: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1509, + FzName: __ccgo_ts + 1523, }, 8: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1522, + FzName: __ccgo_ts + 1536, }, 9: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1540, + FzName: __ccgo_ts + 1554, }, } @@ -16380,7 +16559,7 @@ func _sqlite3MemMalloc(tls *libc.TLS, nByte int32) (r uintptr) { *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1553, libc.VaList(bp+8, nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1567, libc.VaList(bp+8, nByte)) } return p } @@ -16445,7 +16624,7 @@ func _sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) (r uintptr) *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(nByte) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1591, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1605, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) } return p } @@ -17861,7 +18040,7 @@ func _sqlite3OomFault(tls *libc.TLS, db uintptr) (r uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = uint16(0) if (*Tsqlite3)(unsafe.Pointer(db)).FpParse != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1627, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1641, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) pParse = (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).FpOuterParse for { @@ -18288,7 +18467,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li v3 = int32(*(*uint8)(unsafe.Pointer(v4))) c = v3 if v3 == 0 { - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1641, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1655, int32(1)) break } /* Find out what flags are present */ @@ -18705,9 +18884,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial != 0 { if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial) == int32(2) { if flag_zeropad != 0 { - v57 = __ccgo_ts + 1643 + v57 = __ccgo_ts + 1657 } else { - v57 = __ccgo_ts + 1648 + v57 = __ccgo_ts + 1662 } bufpt = v57 length = _sqlite3Strlen30(tls, bufpt) @@ -18718,7 +18897,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP = int32(1000) (*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fn = int32(1) } else { - libc.Xmemcpy(tls, bp, __ccgo_ts+1652, uint64(5)) + libc.Xmemcpy(tls, bp, __ccgo_ts+1666, uint64(5)) bufpt = bp if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fsign) == int32('-') { /* no-op */ @@ -18740,14 +18919,13 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li prefix = flag_prefix } exp = (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP - int32(1) - if int32(xtype) == int32(etGENERIC) && precision > 0 { - precision-- - } /* ** If the field type is etGENERIC, then convert to either etEXP ** or etFLOAT, as appropriate. */ if int32(xtype) == int32(etGENERIC) { + _ = libc.Int32FromInt32(0) + precision-- flag_rtz = libc.BoolUint8(!(flag_alternateform != 0)) if exp < -int32(4) || exp > precision { xtype = uint8(etEXP) @@ -19054,7 +19232,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li bufpt = libc.VaUintptr(&ap) } if bufpt == uintptr(0) { - bufpt = __ccgo_ts + 1657 + bufpt = __ccgo_ts + 1671 } else { if int32(xtype) == int32(etDYNSTRING) { if (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FnChar == uint32(0) && (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FmxAlloc != 0 && width == 0 && precision < 0 && int32((*Tsqlite3_str)(unsafe.Pointer(pAccum)).FaccError) == 0 { @@ -19143,9 +19321,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li isnull = libc.BoolInt32(escarg == uintptr(0)) if isnull != 0 { if int32(xtype) == int32(etSQLESCAPE2) { - v98 = __ccgo_ts + 1658 + v98 = __ccgo_ts + 1672 } else { - v98 = __ccgo_ts + 1663 + v98 = __ccgo_ts + 1677 } escarg = v98 } @@ -19265,7 +19443,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*TSrcItem)(unsafe.Pointer(pItem)).FzName != 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1670, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1684, int32(1)) } Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzName) } else { @@ -19273,11 +19451,16 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzAlias) } else { pSel = (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect - _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* Because of tag-20240424-1 */ if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_NestedFrom) != 0 { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1672, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1686, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) } else { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1682, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_MultiValue) != 0 { + _ = libc.Int32FromInt32(0) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1696, libc.VaList(bp+128, *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pItem)).Fu1)))) + } else { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1717, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + } } } } @@ -19566,7 +19749,7 @@ func _sqlite3ResultStrAccum(tls *libc.TLS, pCtx uintptr, p uintptr) { if int32((*TStrAccum)(unsafe.Pointer(p)).FprintfFlags)&int32(SQLITE_PRINTF_MALLOCED) != 0 { Xsqlite3_result_text(tls, pCtx, (*TStrAccum)(unsafe.Pointer(p)).FzText, int32((*TStrAccum)(unsafe.Pointer(p)).FnChar), __ccgo_fp(_sqlite3OomClear)) } else { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1657, 0, libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1671, 0, libc.UintptrFromInt32(0)) Xsqlite3_str_reset(tls, p) } } @@ -21511,6 +21694,62 @@ func _sqlite3DequoteExpr(tls *libc.TLS, p uintptr) { _sqlite3Dequote(tls, *(*uintptr)(unsafe.Pointer(p + 8))) } +// C documentation +// +// /* +// ** Expression p is a QNUMBER (quoted number). Dequote the value in p->u.zToken +// ** and set the type to INTEGER or FLOAT. "Quoted" integers or floats are those +// ** that contain '_' characters that must be removed before further processing. +// */ +func _sqlite3DequoteNumber(tls *libc.TLS, pParse uintptr, p uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var bHex int32 + var pIn, pOut, v1, v3 uintptr + var _ /* iValue at bp+0 */ int32 + _, _, _, _, _ = bHex, pIn, pOut, v1, v3 + _ = libc.Int32FromInt32(0) + if p != 0 { + pIn = *(*uintptr)(unsafe.Pointer(p + 8)) + pOut = *(*uintptr)(unsafe.Pointer(p + 8)) + bHex = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(pIn + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(pIn + 1))) == int32('X'))) + _ = libc.Int32FromInt32(0) + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + for { + if int32(*(*uint8)(unsafe.Pointer(pIn))) != int32('_') { + v3 = pOut + pOut++ + *(*uint8)(unsafe.Pointer(v3)) = *(*uint8)(unsafe.Pointer(pIn)) + if int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('E') || int32(*(*uint8)(unsafe.Pointer(pIn))) == int32('.') { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_FLOAT) + } + } else { + if bHex == 0 && (!(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1))))])&libc.Int32FromInt32(0x04) != 0) || !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + 1))])&libc.Int32FromInt32(0x04) != 0)) || bHex == int32(1) && (!(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1))))])&libc.Int32FromInt32(0x08) != 0) || !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(pIn + 1))])&libc.Int32FromInt32(0x08) != 0)) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1731, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(p + 8)))) + } + } + goto _2 + _2: + ; + v1 = pIn + pIn++ + if !(*(*uint8)(unsafe.Pointer(v1)) != 0) { + break + } + } + if bHex != 0 { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + } + /* tag-20240227-a: If after dequoting, the number is an integer that + ** fits in 32 bits, then it must be converted into EP_IntValue. Other + ** parts of the code expect this. See also tag-20240227-b. */ + if int32((*TExpr)(unsafe.Pointer(p)).Fop) == int32(TK_INTEGER) && _sqlite3GetInt32(tls, *(*uintptr)(unsafe.Pointer(p + 8)), bp) != 0 { + *(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(p)).Fu)) = *(*int32)(unsafe.Pointer(bp)) + *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(EP_IntValue) + } + } +} + // C documentation // // /* @@ -22065,7 +22304,7 @@ func _compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) (r int32) { _, _, _ = c, i, pow63 c = 0 /* 012345678901234567 */ - pow63 = __ccgo_ts + 1696 + pow63 = __ccgo_ts + 1756 i = 0 for { if !(c == 0 && i < int32(18)) { @@ -22297,7 +22536,7 @@ func _sqlite3DecOrHexToI64(tls *libc.TLS, z uintptr, pOut uintptr) (r int32) { } return 0 } else { - n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1715)) + n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1775)) if *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 { n++ } @@ -22455,7 +22694,7 @@ func _sqlite3FpDecode(tls *libc.TLS, p uintptr, _r float64, iRound int32, mxRoun (*TFpDecode)(unsafe.Pointer(p)).Fsign = uint8('+') (*TFpDecode)(unsafe.Pointer(p)).Fn = int32(1) (*TFpDecode)(unsafe.Pointer(p)).FiDP = int32(1) - (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1731 + (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1791 return } else { (*TFpDecode)(unsafe.Pointer(p)).Fsign = uint8('+') @@ -23015,7 +23254,7 @@ func _sqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) (r uintptr func _logBadConnection(tls *libc.TLS, zType uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1733, libc.VaList(bp+8, zType)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1793, libc.VaList(bp+8, zType)) } // C documentation @@ -23038,13 +23277,13 @@ func _sqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) (r int32) { var eOpenState Tu8 _ = eOpenState if db == uintptr(0) { - _logBadConnection(tls, __ccgo_ts+1658) + _logBadConnection(tls, __ccgo_ts+1672) return 0 } eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_OPEN) { if _sqlite3SafetyCheckSickOrOk(tls, db) != 0 { - _logBadConnection(tls, __ccgo_ts+1778) + _logBadConnection(tls, __ccgo_ts+1838) } return 0 } else { @@ -23058,7 +23297,7 @@ func _sqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) (r int32) { _ = eOpenState eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(eOpenState) != int32(SQLITE_STATE_SICK) && int32(eOpenState) != int32(SQLITE_STATE_OPEN) && int32(eOpenState) != int32(SQLITE_STATE_BUSY) { - _logBadConnection(tls, __ccgo_ts+1787) + _logBadConnection(tls, __ccgo_ts+1847) return 0 } else { return int32(1) @@ -23717,196 +23956,196 @@ func _sqlite3OpcodeName(tls *libc.TLS, i int32) (r uintptr) { } var _azName = [190]uintptr{ - 0: __ccgo_ts + 1795, - 1: __ccgo_ts + 1805, - 2: __ccgo_ts + 1816, - 3: __ccgo_ts + 1828, - 4: __ccgo_ts + 1839, - 5: __ccgo_ts + 1851, - 6: __ccgo_ts + 1858, - 7: __ccgo_ts + 1866, - 8: __ccgo_ts + 1874, - 9: __ccgo_ts + 1879, - 10: __ccgo_ts + 1884, - 11: __ccgo_ts + 1890, - 12: __ccgo_ts + 1904, - 13: __ccgo_ts + 1910, - 14: __ccgo_ts + 1920, - 15: __ccgo_ts + 1925, - 16: __ccgo_ts + 1930, - 17: __ccgo_ts + 1933, - 18: __ccgo_ts + 1939, - 19: __ccgo_ts + 1946, - 20: __ccgo_ts + 1950, - 21: __ccgo_ts + 1960, - 22: __ccgo_ts + 1967, - 23: __ccgo_ts + 1974, - 24: __ccgo_ts + 1981, - 25: __ccgo_ts + 1988, - 26: __ccgo_ts + 1998, - 27: __ccgo_ts + 2007, - 28: __ccgo_ts + 2018, - 29: __ccgo_ts + 2027, - 30: __ccgo_ts + 2033, - 31: __ccgo_ts + 2043, - 32: __ccgo_ts + 2053, - 33: __ccgo_ts + 2058, - 34: __ccgo_ts + 2068, - 35: __ccgo_ts + 2079, - 36: __ccgo_ts + 2084, - 37: __ccgo_ts + 2091, - 38: __ccgo_ts + 2102, - 39: __ccgo_ts + 2107, - 40: __ccgo_ts + 2112, - 41: __ccgo_ts + 2118, - 42: __ccgo_ts + 2124, - 43: __ccgo_ts + 2130, - 44: __ccgo_ts + 2133, - 45: __ccgo_ts + 2137, - 46: __ccgo_ts + 2143, - 47: __ccgo_ts + 2154, - 48: __ccgo_ts + 2165, - 49: __ccgo_ts + 2173, - 50: __ccgo_ts + 2182, - 51: __ccgo_ts + 2189, - 52: __ccgo_ts + 2197, - 53: __ccgo_ts + 2200, - 54: __ccgo_ts + 2203, - 55: __ccgo_ts + 2206, - 56: __ccgo_ts + 2209, - 57: __ccgo_ts + 2212, - 58: __ccgo_ts + 2215, - 59: __ccgo_ts + 2222, - 60: __ccgo_ts + 2228, - 61: __ccgo_ts + 2238, - 62: __ccgo_ts + 2251, - 63: __ccgo_ts + 2262, - 64: __ccgo_ts + 2268, - 65: __ccgo_ts + 2275, - 66: __ccgo_ts + 2284, - 67: __ccgo_ts + 2293, - 68: __ccgo_ts + 2300, - 69: __ccgo_ts + 2313, - 70: __ccgo_ts + 2324, - 71: __ccgo_ts + 2329, - 72: __ccgo_ts + 2337, - 73: __ccgo_ts + 2343, - 74: __ccgo_ts + 2350, - 75: __ccgo_ts + 2362, - 76: __ccgo_ts + 2367, - 77: __ccgo_ts + 2376, - 78: __ccgo_ts + 2381, - 79: __ccgo_ts + 2390, - 80: __ccgo_ts + 2395, - 81: __ccgo_ts + 2400, - 82: __ccgo_ts + 2406, - 83: __ccgo_ts + 2414, - 84: __ccgo_ts + 2422, - 85: __ccgo_ts + 2432, - 86: __ccgo_ts + 2440, - 87: __ccgo_ts + 2447, - 88: __ccgo_ts + 2460, - 89: __ccgo_ts + 2465, - 90: __ccgo_ts + 2477, - 91: __ccgo_ts + 2485, - 92: __ccgo_ts + 2492, - 93: __ccgo_ts + 2503, - 94: __ccgo_ts + 2510, - 95: __ccgo_ts + 2517, - 96: __ccgo_ts + 2527, - 97: __ccgo_ts + 2536, - 98: __ccgo_ts + 2547, - 99: __ccgo_ts + 2553, - 100: __ccgo_ts + 2564, - 101: __ccgo_ts + 2574, - 102: __ccgo_ts + 2584, - 103: __ccgo_ts + 2591, - 104: __ccgo_ts + 2597, - 105: __ccgo_ts + 2607, - 106: __ccgo_ts + 2618, - 107: __ccgo_ts + 2622, - 108: __ccgo_ts + 2631, - 109: __ccgo_ts + 2640, - 110: __ccgo_ts + 2647, - 111: __ccgo_ts + 2657, - 112: __ccgo_ts + 2664, - 113: __ccgo_ts + 2673, - 114: __ccgo_ts + 2683, - 115: __ccgo_ts + 2690, - 116: __ccgo_ts + 2698, - 117: __ccgo_ts + 2712, - 118: __ccgo_ts + 2720, - 119: __ccgo_ts + 2734, - 120: __ccgo_ts + 2745, - 121: __ccgo_ts + 2758, - 122: __ccgo_ts + 2769, - 123: __ccgo_ts + 2775, - 124: __ccgo_ts + 2787, - 125: __ccgo_ts + 2796, - 126: __ccgo_ts + 2804, - 127: __ccgo_ts + 2813, - 128: __ccgo_ts + 2822, - 129: __ccgo_ts + 2829, - 130: __ccgo_ts + 2837, - 131: __ccgo_ts + 2844, - 132: __ccgo_ts + 2855, - 133: __ccgo_ts + 2869, - 134: __ccgo_ts + 2880, - 135: __ccgo_ts + 2888, - 136: __ccgo_ts + 2894, - 137: __ccgo_ts + 2902, - 138: __ccgo_ts + 2910, - 139: __ccgo_ts + 2920, - 140: __ccgo_ts + 2933, - 141: __ccgo_ts + 2943, - 142: __ccgo_ts + 2956, - 143: __ccgo_ts + 2965, - 144: __ccgo_ts + 2976, - 145: __ccgo_ts + 2984, - 146: __ccgo_ts + 2990, - 147: __ccgo_ts + 3002, - 148: __ccgo_ts + 3014, - 149: __ccgo_ts + 3022, - 150: __ccgo_ts + 3034, - 151: __ccgo_ts + 3047, - 152: __ccgo_ts + 3057, - 153: __ccgo_ts + 3067, - 154: __ccgo_ts + 3072, - 155: __ccgo_ts + 3084, - 156: __ccgo_ts + 3096, - 157: __ccgo_ts + 3106, - 158: __ccgo_ts + 3112, - 159: __ccgo_ts + 3122, - 160: __ccgo_ts + 3129, - 161: __ccgo_ts + 3141, - 162: __ccgo_ts + 3152, - 163: __ccgo_ts + 3160, - 164: __ccgo_ts + 3169, - 165: __ccgo_ts + 3178, - 166: __ccgo_ts + 3187, - 167: __ccgo_ts + 3194, - 168: __ccgo_ts + 3205, - 169: __ccgo_ts + 3218, - 170: __ccgo_ts + 3228, - 171: __ccgo_ts + 3235, - 172: __ccgo_ts + 3243, - 173: __ccgo_ts + 3252, - 174: __ccgo_ts + 3258, - 175: __ccgo_ts + 3265, - 176: __ccgo_ts + 3273, - 177: __ccgo_ts + 3281, - 178: __ccgo_ts + 3289, - 179: __ccgo_ts + 3299, - 180: __ccgo_ts + 3308, - 181: __ccgo_ts + 3319, - 182: __ccgo_ts + 3330, - 183: __ccgo_ts + 3341, - 184: __ccgo_ts + 3351, - 185: __ccgo_ts + 3357, - 186: __ccgo_ts + 3368, - 187: __ccgo_ts + 3379, - 188: __ccgo_ts + 3384, - 189: __ccgo_ts + 3392, + 0: __ccgo_ts + 1855, + 1: __ccgo_ts + 1865, + 2: __ccgo_ts + 1876, + 3: __ccgo_ts + 1888, + 4: __ccgo_ts + 1899, + 5: __ccgo_ts + 1911, + 6: __ccgo_ts + 1918, + 7: __ccgo_ts + 1926, + 8: __ccgo_ts + 1934, + 9: __ccgo_ts + 1939, + 10: __ccgo_ts + 1944, + 11: __ccgo_ts + 1950, + 12: __ccgo_ts + 1964, + 13: __ccgo_ts + 1970, + 14: __ccgo_ts + 1980, + 15: __ccgo_ts + 1985, + 16: __ccgo_ts + 1990, + 17: __ccgo_ts + 1993, + 18: __ccgo_ts + 1999, + 19: __ccgo_ts + 2006, + 20: __ccgo_ts + 2010, + 21: __ccgo_ts + 2020, + 22: __ccgo_ts + 2027, + 23: __ccgo_ts + 2034, + 24: __ccgo_ts + 2041, + 25: __ccgo_ts + 2048, + 26: __ccgo_ts + 2058, + 27: __ccgo_ts + 2067, + 28: __ccgo_ts + 2078, + 29: __ccgo_ts + 2087, + 30: __ccgo_ts + 2093, + 31: __ccgo_ts + 2103, + 32: __ccgo_ts + 2113, + 33: __ccgo_ts + 2118, + 34: __ccgo_ts + 2132, + 35: __ccgo_ts + 2143, + 36: __ccgo_ts + 2148, + 37: __ccgo_ts + 2155, + 38: __ccgo_ts + 2166, + 39: __ccgo_ts + 2171, + 40: __ccgo_ts + 2176, + 41: __ccgo_ts + 2182, + 42: __ccgo_ts + 2188, + 43: __ccgo_ts + 2194, + 44: __ccgo_ts + 2197, + 45: __ccgo_ts + 2201, + 46: __ccgo_ts + 2207, + 47: __ccgo_ts + 2218, + 48: __ccgo_ts + 2229, + 49: __ccgo_ts + 2237, + 50: __ccgo_ts + 2246, + 51: __ccgo_ts + 2253, + 52: __ccgo_ts + 2261, + 53: __ccgo_ts + 2264, + 54: __ccgo_ts + 2267, + 55: __ccgo_ts + 2270, + 56: __ccgo_ts + 2273, + 57: __ccgo_ts + 2276, + 58: __ccgo_ts + 2279, + 59: __ccgo_ts + 2286, + 60: __ccgo_ts + 2292, + 61: __ccgo_ts + 2302, + 62: __ccgo_ts + 2315, + 63: __ccgo_ts + 2326, + 64: __ccgo_ts + 2332, + 65: __ccgo_ts + 2339, + 66: __ccgo_ts + 2348, + 67: __ccgo_ts + 2357, + 68: __ccgo_ts + 2364, + 69: __ccgo_ts + 2377, + 70: __ccgo_ts + 2388, + 71: __ccgo_ts + 2393, + 72: __ccgo_ts + 2401, + 73: __ccgo_ts + 2407, + 74: __ccgo_ts + 2414, + 75: __ccgo_ts + 2426, + 76: __ccgo_ts + 2431, + 77: __ccgo_ts + 2440, + 78: __ccgo_ts + 2445, + 79: __ccgo_ts + 2454, + 80: __ccgo_ts + 2459, + 81: __ccgo_ts + 2464, + 82: __ccgo_ts + 2470, + 83: __ccgo_ts + 2478, + 84: __ccgo_ts + 2486, + 85: __ccgo_ts + 2496, + 86: __ccgo_ts + 2504, + 87: __ccgo_ts + 2511, + 88: __ccgo_ts + 2524, + 89: __ccgo_ts + 2529, + 90: __ccgo_ts + 2541, + 91: __ccgo_ts + 2549, + 92: __ccgo_ts + 2556, + 93: __ccgo_ts + 2567, + 94: __ccgo_ts + 2574, + 95: __ccgo_ts + 2581, + 96: __ccgo_ts + 2591, + 97: __ccgo_ts + 2600, + 98: __ccgo_ts + 2611, + 99: __ccgo_ts + 2617, + 100: __ccgo_ts + 2628, + 101: __ccgo_ts + 2638, + 102: __ccgo_ts + 2648, + 103: __ccgo_ts + 2655, + 104: __ccgo_ts + 2661, + 105: __ccgo_ts + 2671, + 106: __ccgo_ts + 2682, + 107: __ccgo_ts + 2686, + 108: __ccgo_ts + 2695, + 109: __ccgo_ts + 2704, + 110: __ccgo_ts + 2711, + 111: __ccgo_ts + 2721, + 112: __ccgo_ts + 2728, + 113: __ccgo_ts + 2737, + 114: __ccgo_ts + 2747, + 115: __ccgo_ts + 2754, + 116: __ccgo_ts + 2762, + 117: __ccgo_ts + 2776, + 118: __ccgo_ts + 2784, + 119: __ccgo_ts + 2798, + 120: __ccgo_ts + 2809, + 121: __ccgo_ts + 2822, + 122: __ccgo_ts + 2833, + 123: __ccgo_ts + 2839, + 124: __ccgo_ts + 2851, + 125: __ccgo_ts + 2860, + 126: __ccgo_ts + 2868, + 127: __ccgo_ts + 2877, + 128: __ccgo_ts + 2886, + 129: __ccgo_ts + 2893, + 130: __ccgo_ts + 2901, + 131: __ccgo_ts + 2908, + 132: __ccgo_ts + 2919, + 133: __ccgo_ts + 2933, + 134: __ccgo_ts + 2944, + 135: __ccgo_ts + 2952, + 136: __ccgo_ts + 2958, + 137: __ccgo_ts + 2966, + 138: __ccgo_ts + 2974, + 139: __ccgo_ts + 2984, + 140: __ccgo_ts + 2997, + 141: __ccgo_ts + 3007, + 142: __ccgo_ts + 3020, + 143: __ccgo_ts + 3029, + 144: __ccgo_ts + 3040, + 145: __ccgo_ts + 3048, + 146: __ccgo_ts + 3054, + 147: __ccgo_ts + 3066, + 148: __ccgo_ts + 3078, + 149: __ccgo_ts + 3086, + 150: __ccgo_ts + 3098, + 151: __ccgo_ts + 3111, + 152: __ccgo_ts + 3121, + 153: __ccgo_ts + 3131, + 154: __ccgo_ts + 3136, + 155: __ccgo_ts + 3148, + 156: __ccgo_ts + 3160, + 157: __ccgo_ts + 3170, + 158: __ccgo_ts + 3176, + 159: __ccgo_ts + 3186, + 160: __ccgo_ts + 3193, + 161: __ccgo_ts + 3205, + 162: __ccgo_ts + 3216, + 163: __ccgo_ts + 3224, + 164: __ccgo_ts + 3233, + 165: __ccgo_ts + 3242, + 166: __ccgo_ts + 3251, + 167: __ccgo_ts + 3258, + 168: __ccgo_ts + 3269, + 169: __ccgo_ts + 3282, + 170: __ccgo_ts + 3292, + 171: __ccgo_ts + 3299, + 172: __ccgo_ts + 3307, + 173: __ccgo_ts + 3316, + 174: __ccgo_ts + 3322, + 175: __ccgo_ts + 3329, + 176: __ccgo_ts + 3337, + 177: __ccgo_ts + 3345, + 178: __ccgo_ts + 3353, + 179: __ccgo_ts + 3363, + 180: __ccgo_ts + 3372, + 181: __ccgo_ts + 3383, + 182: __ccgo_ts + 3394, + 183: __ccgo_ts + 3405, + 184: __ccgo_ts + 3415, + 185: __ccgo_ts + 3421, + 186: __ccgo_ts + 3432, + 187: __ccgo_ts + 3443, + 188: __ccgo_ts + 3448, + 189: __ccgo_ts + 3456, } type Tstat = struct { @@ -24646,91 +24885,91 @@ type unix_syscall = Tunix_syscall // */ var _aSyscall = [29]Tunix_syscall{ 0: { - FzName: __ccgo_ts + 3402, + FzName: __ccgo_ts + 3466, }, 1: { - FzName: __ccgo_ts + 3407, + FzName: __ccgo_ts + 3471, }, 2: { - FzName: __ccgo_ts + 3413, + FzName: __ccgo_ts + 3477, }, 3: { - FzName: __ccgo_ts + 3420, + FzName: __ccgo_ts + 3484, }, 4: { - FzName: __ccgo_ts + 3427, + FzName: __ccgo_ts + 3491, }, 5: { - FzName: __ccgo_ts + 3432, + FzName: __ccgo_ts + 3496, }, 6: { - FzName: __ccgo_ts + 3438, + FzName: __ccgo_ts + 3502, }, 7: { - FzName: __ccgo_ts + 3448, + FzName: __ccgo_ts + 3512, }, 8: { - FzName: __ccgo_ts + 3454, + FzName: __ccgo_ts + 3518, }, 9: { - FzName: __ccgo_ts + 3459, + FzName: __ccgo_ts + 3523, }, 10: { - FzName: __ccgo_ts + 3465, + FzName: __ccgo_ts + 3529, }, 11: { - FzName: __ccgo_ts + 3473, + FzName: __ccgo_ts + 3537, }, 12: { - FzName: __ccgo_ts + 3479, + FzName: __ccgo_ts + 3543, }, 13: { - FzName: __ccgo_ts + 3486, + FzName: __ccgo_ts + 3550, }, 14: { - FzName: __ccgo_ts + 3495, + FzName: __ccgo_ts + 3559, }, 15: { - FzName: __ccgo_ts + 3502, + FzName: __ccgo_ts + 3566, }, 16: { - FzName: __ccgo_ts + 3512, + FzName: __ccgo_ts + 3576, }, 17: { - FzName: __ccgo_ts + 3519, + FzName: __ccgo_ts + 3583, }, 18: { - FzName: __ccgo_ts + 3533, + FzName: __ccgo_ts + 3597, }, 19: { - FzName: __ccgo_ts + 3539, + FzName: __ccgo_ts + 3603, }, 20: { - FzName: __ccgo_ts + 3545, + FzName: __ccgo_ts + 3609, }, 21: { - FzName: __ccgo_ts + 3552, + FzName: __ccgo_ts + 3616, }, 22: { - FzName: __ccgo_ts + 3560, + FzName: __ccgo_ts + 3624, }, 23: { - FzName: __ccgo_ts + 3565, + FzName: __ccgo_ts + 3629, }, 24: { - FzName: __ccgo_ts + 3572, + FzName: __ccgo_ts + 3636, }, 25: { - FzName: __ccgo_ts + 3579, + FzName: __ccgo_ts + 3643, }, 26: { - FzName: __ccgo_ts + 3591, + FzName: __ccgo_ts + 3655, }, 27: { - FzName: __ccgo_ts + 3600, + FzName: __ccgo_ts + 3664, }, 28: { - FzName: __ccgo_ts + 3606, + FzName: __ccgo_ts + 3670, }, } @@ -24969,9 +25208,9 @@ func _robust_open(tls *libc.TLS, z uintptr, f int32, m Tmode_t) (r int32) { (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, z) } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(1)].FpCurrent})))(tls, fd) - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3612, libc.VaList(bp+152, z, fd)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3676, libc.VaList(bp+152, z, fd)) fd = -int32(1) - if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3655, O_RDONLY, int32(m)) < 0 { + if (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[0].FpCurrent})))(tls, __ccgo_ts+3719, O_RDONLY, int32(m)) < 0 { break } } @@ -25289,11 +25528,11 @@ func _unixLogErrorAtLine(tls *libc.TLS, errcode int32, zFunc uintptr, zPath uint ** equivalent to errno. Otherwise, use strerror_r(). */ /* This is a threadsafe build, but strerror_r() is not available. */ - zErr = __ccgo_ts + 1657 + zErr = __ccgo_ts + 1671 if zPath == uintptr(0) { - zPath = __ccgo_ts + 1657 + zPath = __ccgo_ts + 1671 } - Xsqlite3_log(tls, errcode, __ccgo_ts+3665, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) + Xsqlite3_log(tls, errcode, __ccgo_ts+3729, libc.VaList(bp+8, iLine, iErrno, zFunc, zPath, zErr)) return errcode } @@ -25321,7 +25560,7 @@ func _robust_close(tls *libc.TLS, pFile uintptr, h int32, lineno int32) { } else { v1 = uintptr(0) } - _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(16)< uint64(1) { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3749, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3813, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } if _fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3776, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+3840, libc.VaList(bp+152, (*TunixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -26015,7 +26254,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) { pFile = id _unixUnmapfile(tls, pFile) if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 { - _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40172)) + _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40505)) (*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1) } Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused) @@ -26642,7 +26881,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { var _ /* zDirname at bp+0 */ [513]uint8 _, _ = fd, ii fd = -int32(1) - Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3804, libc.VaList(bp+528, zFilename)) + Xsqlite3_snprintf(tls, int32(MAX_PATHNAME), bp, __ccgo_ts+3868, libc.VaList(bp+528, zFilename)) ii = int32(libc.Xstrlen(tls, bp)) for { if !(ii > 0 && int32((*(*[513]uint8)(unsafe.Pointer(bp)))[ii]) != int32('/')) { @@ -26668,7 +26907,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) { if fd >= 0 { return SQLITE_OK } - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(41778)), __ccgo_ts+3519, bp, int32(41778)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42111)), __ccgo_ts+3583, bp, int32(42111)) } // C documentation @@ -26707,7 +26946,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) { rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly) if rc != 0 { _storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))) - return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<= nSize { iWrite = nSize - int64(1) } - nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1657, int32(1)) + nWrite = _seekAndWrite(tls, pFile, iWrite, __ccgo_ts+1671, int32(1)) if nWrite != int32(1) { return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(3)<= 0 { - _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42583)) + _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(42916)) (*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1) } (*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0) @@ -27330,7 +27569,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in ** help detect if a -shm file truncation is legitimate or is the work ** or a rogue process. */ if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 { - rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<= 0 { - _robust_close(tls, pNew, h, int32(43994)) + _robust_close(tls, pNew, h, int32(44327)) } } else { (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle @@ -28378,10 +28617,10 @@ func _fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilenam // ** Directories to consider for temp files. // */ var _azTempDirs = [6]uintptr{ - 2: __ccgo_ts + 3861, - 3: __ccgo_ts + 3870, - 4: __ccgo_ts + 3879, - 5: __ccgo_ts + 1670, + 2: __ccgo_ts + 3925, + 3: __ccgo_ts + 3934, + 4: __ccgo_ts + 3943, + 5: __ccgo_ts + 1684, } // C documentation @@ -28390,8 +28629,8 @@ var _azTempDirs = [6]uintptr{ // ** Initialize first two members of azTempDirs[] array. // */ func _unixTempFileInit(tls *libc.TLS) { - _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3884) - _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3898) + _azTempDirs[0] = libc.Xgetenv(tls, __ccgo_ts+3948) + _azTempDirs[int32(1)] = libc.Xgetenv(tls, __ccgo_ts+3962) } // C documentation @@ -28454,7 +28693,7 @@ func _unixGetTempname(tls *libc.TLS, nBuf int32, zBuf uintptr) (r int32) { Xsqlite3_randomness(tls, int32(8), bp) _ = libc.Int32FromInt32(0) *(*uint8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2)))) = uint8(0) - Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3905, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) + Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+3969, libc.VaList(bp+16, zDir, *(*Tu64)(unsafe.Pointer(bp)), 0)) if v2 = int32(*(*uint8)(unsafe.Pointer(zBuf + uintptr(nBuf-int32(2))))) != 0; !v2 { v1 = iLimit iLimit++ @@ -28627,7 +28866,7 @@ func _findCreateFileMode(tls *libc.TLS, zPath uintptr, flags int32, pMode uintpt ** filename, check for the "modeof" parameter. If present, interpret ** its value as a filename and try to copy the mode, uid and gid from ** that file. */ - z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3922) + z = Xsqlite3_uri_parameter(tls, zPath, __ccgo_ts+3986) if z != 0 { rc = _getFileMode(tls, z, pMode, pUid, pGid) } @@ -28665,12 +28904,12 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags bp := tls.Alloc(528) defer tls.Free(528) var ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, rc, rc2 int32 - var p, pUnused, zName uintptr + var p, pReadonly, pUnused, zName uintptr var _ /* gid at bp+524 */ Tgid_t var _ /* openMode at bp+516 */ Tmode_t var _ /* uid at bp+520 */ Tuid_t var _ /* zTmpname at bp+0 */ [514]uint8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pUnused, rc, rc2, zName + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = ctrlFlags, eType, fd, isCreate, isDelete, isExclusive, isNewJrnl, isReadWrite, isReadonly, noLock, openFlags, p, pReadonly, pUnused, rc, rc2, zName p = pFile fd = -int32(1) /* File descriptor returned by open() */ openFlags = 0 /* Flags to pass to open() */ @@ -28780,17 +29019,24 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags } else { if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != int32(EISDIR) && isReadWrite != 0 { /* Failed to open the file for read/write access. Try read-only. */ + pReadonly = uintptr(0) flags &= ^(libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE)) openFlags &= ^(libc.Int32FromInt32(O_RDWR) | libc.Int32FromInt32(O_CREAT)) flags |= int32(SQLITE_OPEN_READONLY) openFlags |= O_RDONLY isReadonly = int32(1) - fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + pReadonly = _findReusableFd(tls, zName, flags) + if pReadonly != 0 { + fd = (*TUnixUnusedFd)(unsafe.Pointer(pReadonly)).Ffd + Xsqlite3_free(tls, pReadonly) + } else { + fd = _robust_open(tls, zName, openFlags, *(*Tmode_t)(unsafe.Pointer(bp + 516))) + } } } } if fd < 0 { - rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44435)), __ccgo_ts+3402, zName, int32(44435)) + rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44775)), __ccgo_ts+3466, zName, int32(44775)) if rc == SQLITE_OK { rc = rc2 } @@ -28869,7 +29115,7 @@ func _unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) ( if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(ENOENT) { rc = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(23)< int32(SQLITE_MAX_SYMLINK) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(44686)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45026)) return } got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+144, libc.Uint64FromInt64(4098)-libc.Uint64FromInt32(2)) if got <= 0 || got >= libc.Int64FromInt64(4098)-libc.Int64FromInt32(2) { - (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44691)), __ccgo_ts+3591, zIn, int32(44691)) + (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45031)), __ccgo_ts+3655, zIn, int32(45031)) return } (*(*[4098]uint8)(unsafe.Pointer(bp + 144)))[got] = uint8(0) @@ -29073,14 +29319,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z (*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut if int32(*(*uint8)(unsafe.Pointer(zPath))) != int32('/') { if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(4098)-libc.Uint64FromInt32(2)) == uintptr(0) { - return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(44749)), __ccgo_ts+3420, zPath, int32(44749)) + return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45089)), __ccgo_ts+3484, zPath, int32(45089)) } _appendAllPathElements(tls, bp, bp+24) } _appendAllPathElements(tls, bp, zPath) *(*uint8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = uint8(0) if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) { - return _sqlite3CantopenError(tls, int32(44755)) + return _sqlite3CantopenError(tls, int32(45095)) } if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 { return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)< int64(1) { _sqlite3PagerUnrefNotNull(tls, pPgOld) - return _sqlite3CorruptError(tls, int32(63973)) + return _sqlite3CorruptError(tls, int32(64313)) } p4 = pPg + 52 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | int32((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC)) @@ -41330,7 +41576,7 @@ func _sqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in ** sqlite3_wal_checkpoint() call, but it happens very rarely. ** https://sqlite.org/forum/forumpost/fd0f19d229156939 */ - Xsqlite3_exec(tls, db, __ccgo_ts+4118, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+4182, uintptr(0), uintptr(0), uintptr(0)) } if (*TPager)(unsafe.Pointer(pPager)).FpWal != 0 { if eMode == SQLITE_CHECKPOINT_PASSIVE { @@ -42811,7 +43057,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in v2 = nCollide nCollide-- if v2 == 0 { - return _sqlite3CorruptError(tls, int32(65899)) + return _sqlite3CorruptError(tls, int32(66239)) } goto _1 _1: @@ -42903,7 +43149,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) { ** are able to understand */ version = _sqlite3Get4byte(tls, bp+8+4) if version != uint32(WAL_MAX_VERSION) { - rc = _sqlite3CantopenError(tls, int32(66031)) + rc = _sqlite3CantopenError(tls, int32(66371)) goto finished } /* Malloc a buffer to read frames into. */ @@ -43045,7 +43291,7 @@ finished: ** checkpointing the log file. */ if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FnPage != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(1)< int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = _sqlite3CorruptError(tls, int32(71032)) + rc = _sqlite3CorruptError(tls, int32(71421)) } else { rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -47805,7 +48058,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if key == uint32(0) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71230)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71619)) return } iPtrmap = _ptrmapPageno(tls, pBt, key) @@ -47818,12 +48071,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, /* The first byte of the extra data is the MemPage.isInit byte. ** If that byte is set, it means this page is also being used ** as a btree page. */ - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71243)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71632)) goto ptrmap_exit } offset = int32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1))) if offset < 0 { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71248)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71637)) goto ptrmap_exit } _ = libc.Int32FromInt32(0) @@ -47869,7 +48122,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin offset = int32(libc.Uint32FromInt32(5) * (key - uint32(iPtrmap) - libc.Uint32FromInt32(1))) if offset < 0 { _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) - return _sqlite3CorruptError(tls, int32(71293)) + return _sqlite3CorruptError(tls, int32(71682)) } _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -47879,7 +48132,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin } _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) if int32(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || int32(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) { - return _sqlite3CorruptError(tls, int32(71301)) + return _sqlite3CorruptError(tls, int32(71690)) } return SQLITE_OK } @@ -48318,7 +48571,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71741)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72130)) return } ovfl = _sqlite3Get4byte(tls, pCell+uintptr(int32((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4))) @@ -48364,12 +48617,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag { iFree = int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71799)) + return _sqlite3CorruptError(tls, int32(72188)) } if iFree != 0 { iFree2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71802)) + return _sqlite3CorruptError(tls, int32(72191)) } if 0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 { pEnd = data + uintptr(cellOffset+nCell*int32(2)) @@ -48377,21 +48630,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { sz = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree { - return _sqlite3CorruptError(tls, int32(71810)) + return _sqlite3CorruptError(tls, int32(72199)) } if iFree2 != 0 { if iFree+sz > iFree2 { - return _sqlite3CorruptError(tls, int32(71813)) + return _sqlite3CorruptError(tls, int32(72202)) } sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize { - return _sqlite3CorruptError(tls, int32(71815)) + return _sqlite3CorruptError(tls, int32(72204)) } libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) sz += sz2 } else { if iFree+sz > usableSize { - return _sqlite3CorruptError(tls, int32(71819)) + return _sqlite3CorruptError(tls, int32(72208)) } } cbrk = top + sz @@ -48439,13 +48692,13 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { ** if PRAGMA cell_size_check=ON. */ if pc > iCellLast { - return _sqlite3CorruptError(tls, int32(71852)) + return _sqlite3CorruptError(tls, int32(72241)) } _ = libc.Int32FromInt32(0) size = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc))) cbrk -= size if cbrk < iCellStart || pc+size > usableSize { - return _sqlite3CorruptError(tls, int32(71858)) + return _sqlite3CorruptError(tls, int32(72247)) } _ = libc.Int32FromInt32(0) *(*Tu8)(unsafe.Pointer(pAddr1)) = uint8(cbrk >> libc.Int32FromInt32(8)) @@ -48463,7 +48716,7 @@ defragment_out: ; _ = libc.Int32FromInt32(0) if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree { - return _sqlite3CorruptError(tls, int32(71872)) + return _sqlite3CorruptError(tls, int32(72261)) } _ = libc.Int32FromInt32(0) *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = uint8(cbrk >> libc.Int32FromInt32(8)) @@ -48526,7 +48779,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint } else { if x+pc > maxPC { /* This slot extends off the end of the usable part of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71929)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72318)) return uintptr(0) } else { /* The slot remains on the free-list. Reduce its size to account @@ -48543,14 +48796,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint if pc <= iAddr { if pc != 0 { /* The next slot in the chain comes before the current slot */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71944)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72333)) } return uintptr(0) } } if pc > maxPC+nByte-int32(4) { /* The free slot chain extends off the end of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71951)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72340)) } return uintptr(0) } @@ -48601,11 +48854,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) { top = int32(65536) } else { - return _sqlite3CorruptError(tls, int32(71999)) + return _sqlite3CorruptError(tls, int32(72388)) } } else { if top > int32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(72002)) + return _sqlite3CorruptError(tls, int32(72391)) } } /* If there is enough space between gap and top for one more cell pointer, @@ -48620,7 +48873,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r g2 = v1 *(*int32)(unsafe.Pointer(pIdx)) = v1 if g2 <= gap { - return _sqlite3CorruptError(tls, int32(72019)) + return _sqlite3CorruptError(tls, int32(72408)) } else { return SQLITE_OK } @@ -48713,12 +48966,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if int32(iFreeBlk) == 0 { break } /* TH3: corrupt082.100 */ - return _sqlite3CorruptError(tls, int32(72098)) + return _sqlite3CorruptError(tls, int32(72487)) } iPtr = iFreeBlk } if uint32(iFreeBlk) > (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-uint32(4) { /* TH3: corrupt081.100 */ - return _sqlite3CorruptError(tls, int32(72103)) + return _sqlite3CorruptError(tls, int32(72492)) } _ = libc.Int32FromInt32(0) /* At this point: @@ -48730,11 +48983,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if iFreeBlk != 0 && iEnd+uint32(3) >= uint32(iFreeBlk) { nFrag = uint8(uint32(iFreeBlk) - iEnd) if iEnd > uint32(iFreeBlk) { - return _sqlite3CorruptError(tls, int32(72115)) + return _sqlite3CorruptError(tls, int32(72504)) } iEnd = uint32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+int32(2)))))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return _sqlite3CorruptError(tls, int32(72118)) + return _sqlite3CorruptError(tls, int32(72507)) } iSize = uint16(iEnd - uint32(iStart)) iFreeBlk = uint16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= int32(iStart) { if iPtrEnd > int32(iStart) { - return _sqlite3CorruptError(tls, int32(72131)) + return _sqlite3CorruptError(tls, int32(72520)) } nFrag = Tu8(int32(nFrag) + (int32(iStart) - iPtrEnd)) iSize = uint16(iEnd - uint32(iPtr)) @@ -48755,7 +49008,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) } } if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(7))))) { - return _sqlite3CorruptError(tls, int32(72137)) + return _sqlite3CorruptError(tls, int32(72526)) } p2 = data + uintptr(int32(hdr)+int32(7)) *(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - int32(nFrag)) @@ -48772,10 +49025,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) ** so just extend the cell content area rather than create another ** freelist entry */ if int32(iStart) < int32(x) { - return _sqlite3CorruptError(tls, int32(72151)) + return _sqlite3CorruptError(tls, int32(72540)) } if int32(iPtr) != int32(hdr)+int32(1) { - return _sqlite3CorruptError(tls, int32(72152)) + return _sqlite3CorruptError(tls, int32(72541)) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)))) = uint8(int32(iFreeBlk) >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+int32(1)) + 1)) = uint8(iFreeBlk) @@ -48838,7 +49091,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72206)) + return _sqlite3CorruptError(tls, int32(72595)) } } } else { @@ -48864,7 +49117,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72230)) + return _sqlite3CorruptError(tls, int32(72619)) } } } @@ -48911,12 +49164,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will ** always be at least one cell before the first freeblock. */ - return _sqlite3CorruptError(tls, int32(72281)) + return _sqlite3CorruptError(tls, int32(72670)) } for int32(1) != 0 { if pc > iCellLast { /* Freeblock off the end of the page */ - return _sqlite3CorruptError(tls, int32(72286)) + return _sqlite3CorruptError(tls, int32(72675)) } next = uint32(int32(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) { /* Freeblock not in ascending order */ - return _sqlite3CorruptError(tls, int32(72296)) + return _sqlite3CorruptError(tls, int32(72685)) } if uint32(pc)+size > uint32(usableSize) { /* Last freeblock extends past page end */ - return _sqlite3CorruptError(tls, int32(72300)) + return _sqlite3CorruptError(tls, int32(72689)) } } /* At this point, nFree contains the sum of the offset to the start @@ -48943,7 +49196,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { ** area, according to the page header, lies within the page. */ if nFree > usableSize || nFree < iCellFirst { - return _sqlite3CorruptError(tls, int32(72312)) + return _sqlite3CorruptError(tls, int32(72701)) } (*TMemPage)(unsafe.Pointer(pPage)).FnFree = int32(uint16(nFree - iCellFirst)) return SQLITE_OK @@ -48974,11 +49227,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) { } pc = int32(*(*Tu16)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2))))) if pc < iCellFirst || pc > iCellLast { - return _sqlite3CorruptError(tls, int32(72343)) + return _sqlite3CorruptError(tls, int32(72732)) } sz = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return _sqlite3CorruptError(tls, int32(72348)) + return _sqlite3CorruptError(tls, int32(72737)) } goto _1 _1: @@ -49014,7 +49267,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating ** the b-tree page type. */ if _decodeFlags(tls, pPage, int32(*(*Tu8)(unsafe.Pointer(data)))) != 0 { - return _sqlite3CorruptError(tls, int32(72380)) + return _sqlite3CorruptError(tls, int32(72769)) } _ = libc.Int32FromInt32(0) (*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1)) @@ -49028,7 +49281,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FnCell = uint16(int32(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) { /* To many cells for a single page. The page must be corrupt */ - return _sqlite3CorruptError(tls, int32(72394)) + return _sqlite3CorruptError(tls, int32(72783)) } /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only ** possible for a root page of a table that contains no rows) then the @@ -49194,7 +49447,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe _ = libc.Int32FromInt32(0) if pgno > _btreePagecount(tls, pBt) { *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72537)) + return _sqlite3CorruptError(tls, int32(72926)) } rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly) if rc != 0 { @@ -49271,7 +49524,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) { _releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72609)) + return _sqlite3CorruptError(tls, int32(72998)) } (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0) } else { @@ -49363,7 +49616,7 @@ func _sqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt /* Set the variable isMemdb to true for an in-memory database, or ** false for a file-based database. */ - isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4199) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) + isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+4263) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -50184,7 +50437,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { ** The original design allowed these amounts to vary, but as of ** version 3.6.0, we require them to be fixed. */ - if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4208, uint64(3)) != 0 { + if libc.Xmemcmp(tls, page1+21, __ccgo_ts+4272, uint64(3)) != 0 { goto page1_init_failed } /* EVIDENCE-OF: R-51873-39618 The page size for a database file is @@ -50223,7 +50476,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { } if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) { if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 { - rc = _sqlite3CorruptError(tls, int32(73547)) + rc = _sqlite3CorruptError(tls, int32(73936)) goto page1_init_failed } else { nPage = *(*Tu32)(unsafe.Pointer(bp + 8)) @@ -50685,7 +50938,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT if int32(eType) == int32(PTRMAP_OVERFLOW2) { /* The pointer is always the first 4 bytes of the page in this case. */ if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return _sqlite3CorruptError(tls, int32(73995)) + return _sqlite3CorruptError(tls, int32(74384)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -50709,7 +50962,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74014)) + return _sqlite3CorruptError(tls, int32(74403)) } if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) { _sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo) @@ -50718,7 +50971,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } } else { if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74023)) + return _sqlite3CorruptError(tls, int32(74412)) } if _sqlite3Get4byte(tls, pCell) == iFrom { _sqlite3Put4byte(tls, pCell, iTo) @@ -50732,7 +50985,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } if i == nCell { if int32(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom { - return _sqlite3CorruptError(tls, int32(74035)) + return _sqlite3CorruptError(tls, int32(74424)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo) } @@ -50765,7 +51018,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iDbPage < uint32(3) { - return _sqlite3CorruptError(tls, int32(74070)) + return _sqlite3CorruptError(tls, int32(74459)) } /* Move page iDbPage from its current location to page number iFreePage */ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit) @@ -50863,7 +51116,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom return rc } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) { - return _sqlite3CorruptError(tls, int32(74168)) + return _sqlite3CorruptError(tls, int32(74557)) } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) { if bCommit == 0 { @@ -50902,7 +51155,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) - return _sqlite3CorruptError(tls, int32(74220)) + return _sqlite3CorruptError(tls, int32(74609)) } } _ = libc.Int32FromInt32(0) @@ -50971,7 +51224,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) { nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) nFin = _finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = _sqlite3CorruptError(tls, int32(74288)) + rc = _sqlite3CorruptError(tls, int32(74677)) } else { if nFree > uint32(0) { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -51017,7 +51270,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { ** is either a pointer-map page or the pending-byte page. If one ** is encountered, this indicates corruption. */ - return _sqlite3CorruptError(tls, int32(74339)) + return _sqlite3CorruptError(tls, int32(74728)) } nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) db = (*TBtree)(unsafe.Pointer(p)).Fdb @@ -51047,7 +51300,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { } nFin = _finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return _sqlite3CorruptError(tls, int32(74366)) + return _sqlite3CorruptError(tls, int32(74755)) } if nFin < nOrig { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -51545,7 +51798,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo _ = libc.Int32FromInt32(0) if iTable <= uint32(1) { if iTable < uint32(1) { - return _sqlite3CorruptError(tls, int32(74830)) + return _sqlite3CorruptError(tls, int32(75219)) } else { if _btreePagecount(tls, pBt) == uint32(0) { _ = libc.Int32FromInt32(0) @@ -51959,7 +52212,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(75235)) + return _sqlite3CorruptError(tls, int32(75624)) } _ = libc.Int32FromInt32(0) _getCellInfo(tls, pCur) @@ -51972,7 +52225,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ** but is recast into its current form to avoid integer overflow problems */ - return _sqlite3CorruptError(tls, int32(75250)) + return _sqlite3CorruptError(tls, int32(75639)) } /* Check if data must be read/written to/from the btree page itself. */ if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) { @@ -52000,7 +52253,11 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_ValidOvfl) == 0 { nOvfl = int32(((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload - uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) + ovflSize - uint32(1)) / ovflSize) if (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow == uintptr(0) || nOvfl*libc.Int32FromInt64(4) > _sqlite3MallocSize(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow) { - aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + if _sqlite3FaultSim(tls, int32(413)) != 0 { + aNew = uintptr(0) + } else { + aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + } if aNew == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -52011,6 +52268,9 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin p1 = pCur + 1 *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(BTCF_ValidOvfl)) } else { + /* Sanity check the validity of the overflow page cache */ + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* If the overflow page-list cache has been allocated and the ** entry for the first required overflow page is valid, skip ** directly to it. @@ -52025,7 +52285,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin for *(*TPgno)(unsafe.Pointer(bp)) != 0 { /* If required, populate the overflow page-list cache. */ if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(75312)) + return _sqlite3CorruptError(tls, int32(75710)) } _ = libc.Int32FromInt32(0) *(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp)) @@ -52102,7 +52362,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin } if rc == SQLITE_OK && amt > uint32(0) { /* Overflow chain ends prematurely */ - return _sqlite3CorruptError(tls, int32(75396)) + return _sqlite3CorruptError(tls, int32(75794)) } return rc } @@ -52255,7 +52515,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(75534)) + return _sqlite3CorruptError(tls, int32(75932)) } (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) p1 = pCur + 1 @@ -52268,7 +52528,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(75548)) + rc = _sqlite3CorruptError(tls, int32(75946)) } if rc != 0 { v3 = pCur + 84 @@ -52398,7 +52658,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) { ** (or the freelist). */ _ = libc.Int32FromInt32(0) if int32((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) { - return _sqlite3CorruptError(tls, int32(75683)) + return _sqlite3CorruptError(tls, int32(76081)) } goto skip_init skip_init: @@ -52412,7 +52672,7 @@ skip_init: } else { if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) { if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) { - return _sqlite3CorruptError(tls, int32(75695)) + return _sqlite3CorruptError(tls, int32(76093)) } subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8))) (*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID) @@ -52561,6 +52821,7 @@ func _sqlite3BtreeLast(tls *libc.TLS, pCur uintptr, pRes uintptr) (r int32) { _ = libc.Int32FromInt32(0) /* If the cursor already points to the last entry, this is a no-op. */ if CURSOR_VALID == int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) && int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_AtLast) != 0 { + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pRes)) = 0 return SQLITE_OK } @@ -52614,6 +52875,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh } if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey < intKey { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_AtLast) != 0 { + _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pRes)) = -int32(1) return SQLITE_OK } @@ -52676,7 +52938,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh break } if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(75937)) + return _sqlite3CorruptError(tls, int32(76342)) } } } @@ -52892,7 +53154,7 @@ func _sqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes p3 = pCur + 1 *(*Tu8)(unsafe.Pointer(p3)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p3))) & ^libc.Int32FromInt32(BTCF_ValidOvfl)) if !((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76133)) + return _sqlite3CorruptError(tls, int32(76538)) } goto bypass_moveto_root /* Start search on the current page */ } @@ -52964,7 +53226,7 @@ bypass_moveto_root: /* Invalid key size: 0x80 0x80 0x01 */ /* Minimum legal index key size */ if nCell < int32(2) || uint32(nCell)/(*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage { - rc = _sqlite3CorruptError(tls, int32(76220)) + rc = _sqlite3CorruptError(tls, int32(76625)) goto moveto_index_finish } pCellKey = _sqlite3Malloc(tls, uint64(nCell+nOverrun)) @@ -52997,7 +53259,7 @@ bypass_moveto_root: rc = SQLITE_OK (*TBtCursor)(unsafe.Pointer(pCur)).Fix = uint16(idx) if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 { - rc = _sqlite3CorruptError(tls, int32(76252)) + rc = _sqlite3CorruptError(tls, int32(76657)) } goto moveto_index_finish } @@ -53034,7 +53296,7 @@ bypass_moveto_root: p9 = pCur + 1 *(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl))) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(76283)) + return _sqlite3CorruptError(tls, int32(76688)) } *(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = uint16(lwr) *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage @@ -53043,7 +53305,7 @@ bypass_moveto_root: rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(76294)) + rc = _sqlite3CorruptError(tls, int32(76699)) } if rc != 0 { v11 = pCur + 84 @@ -53095,11 +53357,11 @@ func _sqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) (r Ti64) { _, _ = i, n _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - /* Currently this interface is only called by the OP_IfSmaller - ** opcode, and it that case the cursor will always be valid and - ** will always point to a leaf node. */ + /* Currently this interface is only called by the OP_IfSizeBetween + ** opcode and the OP_Count opcode with P3=1. In either case, + ** the cursor will always be valid unless the btree is empty. */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return int64(-int32(1)) + return 0 } if int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).Fleaf) == 0 { return int64(-int32(1)) @@ -53177,7 +53439,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76395)) + return _sqlite3CorruptError(tls, int32(76800)) } if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { @@ -53292,7 +53554,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76488)) + return _sqlite3CorruptError(tls, int32(76893)) } if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { idx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) @@ -53386,7 +53648,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt ** stores the total number of pages on the freelist. */ n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36) if n >= mxPage { - return _sqlite3CorruptError(tls, int32(76578)) + return _sqlite3CorruptError(tls, int32(76983)) } if n > uint32(0) { searchList = uint8(0) /* If the free-list must be searched for 'nearby' */ @@ -53443,7 +53705,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt nSearch++ } if v2 || v1 > n { - rc = _sqlite3CorruptError(tls, int32(76634)) + rc = _sqlite3CorruptError(tls, int32(77039)) } else { rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0) } @@ -53472,7 +53734,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) { /* Value of k is out of range. Database corruption */ - rc = _sqlite3CorruptError(tls, int32(76663)) + rc = _sqlite3CorruptError(tls, int32(77068)) goto end_allocate_page } else { if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -53499,7 +53761,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8) if iNewTrunk > mxPage { - rc = _sqlite3CorruptError(tls, int32(76697)) + rc = _sqlite3CorruptError(tls, int32(77102)) goto end_allocate_page } rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0) @@ -53571,7 +53833,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4))) if iPage > mxPage || iPage < uint32(2) { - rc = _sqlite3CorruptError(tls, int32(76762)) + rc = _sqlite3CorruptError(tls, int32(77167)) goto end_allocate_page } if !(searchList != 0) || (iPage == nearby || iPage < nearby && int32(eMode) == int32(BTALLOC_LE)) { @@ -53717,7 +53979,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(76889)) + return _sqlite3CorruptError(tls, int32(77294)) } if pMemPage != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage @@ -53768,7 +54030,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */ iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32) if iTrunk > _btreePagecount(tls, pBt) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76936)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77341)) goto freepage_out } *(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0) @@ -53778,7 +54040,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4) _ = libc.Int32FromInt32(0) if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76947)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77352)) goto freepage_out } if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) { @@ -53870,7 +54132,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp _ = libc.Int32FromInt32(0) if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { /* Cell extends past end of page */ - return _sqlite3CorruptError(tls, int32(77036)) + return _sqlite3CorruptError(tls, int32(77441)) } ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt @@ -53890,7 +54152,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp /* 0 is not a legal page number and page 1 cannot be an ** overflow page. Therefore if ovflPgno<2 or past the end of the ** file the database must be corrupt. */ - return _sqlite3CorruptError(tls, int32(77053)) + return _sqlite3CorruptError(tls, int32(77458)) } if nOvfl != 0 { rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp) @@ -53913,7 +54175,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp ** caller is iterating through or using in some other way, this ** can be problematic. */ - rc = _sqlite3CorruptError(tls, int32(77073)) + rc = _sqlite3CorruptError(tls, int32(77478)) } else { rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno) } @@ -54149,7 +54411,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { pc = uint32(int32(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77329)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77734)) return } rc = _freeSpace(tls, pPage, uint16(pc), uint16(sz)) @@ -54584,12 +54846,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg _ = libc.Int32FromInt32(0) if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) { if uint64(pCell+uintptr(sz)) > uint64(pEnd) { - return _sqlite3CorruptError(tls, int32(77718)) + return _sqlite3CorruptError(tls, int32(78123)) } pCell = pTmp + uintptr(int64(pCell)-int64(aData)) } else { if uint64(pCell+uintptr(sz)) > uint64(pSrcEnd) && uint64(pCell) < uint64(pSrcEnd) { - return _sqlite3CorruptError(tls, int32(77723)) + return _sqlite3CorruptError(tls, int32(78128)) } } pData -= uintptr(sz) @@ -54597,7 +54859,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*Tu8)(unsafe.Pointer(pCellptr + 1)) = uint8(int64(pData) - int64(aData)) pCellptr += uintptr(2) if pData < pCellptr { - return _sqlite3CorruptError(tls, int32(77729)) + return _sqlite3CorruptError(tls, int32(78134)) } libc.Xmemmove(tls, pData, pCell, uint64(sz)) _ = libc.Int32FromInt32(0) @@ -54696,7 +54958,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr _ = libc.Int32FromInt32(0) if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(pEnd) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(pEnd) { _ = libc.Int32FromInt32(0) - _sqlite3CorruptError(tls, int32(77814)) + _sqlite3CorruptError(tls, int32(78219)) return int32(1) } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz)) @@ -54846,7 +55108,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p if iOld < iNew { nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray) if nShift > nCell { - return _sqlite3CorruptError(tls, int32(77936)) + return _sqlite3CorruptError(tls, int32(78341)) } libc.Xmemmove(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), uint64(nCell*int32(2))) nCell -= nShift @@ -54921,7 +55183,7 @@ editpage_fail: ; /* Unable to edit this page. Rebuild it from scratch instead. */ if nNew < int32(1) { - return _sqlite3CorruptError(tls, int32(78010)) + return _sqlite3CorruptError(tls, int32(78415)) } _populateCellCache(tls, pCArray, iNew, nNew) return _rebuildPage(tls, pCArray, iNew, nNew, pPg) @@ -54969,7 +55231,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return _sqlite3CorruptError(tls, int32(78050)) + return _sqlite3CorruptError(tls, int32(78455)) } /* dbfuzz001.test */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -55345,7 +55607,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa ** table-interior, index-leaf, or index-interior). */ if int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78471)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78876)) goto balance_cleanup } /* Load b.apCell[] with pointers to all cells in pOld. If pOld @@ -55368,7 +55630,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa libc.Xmemset(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*uint64(limit+int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow))) if int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 { if limit < int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78495)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78900)) goto balance_cleanup } limit = int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) @@ -55511,7 +55773,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa if i+int32(1) >= k { k = i + int32(2) if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78596)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79001)) goto balance_cleanup } (*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0 @@ -55554,7 +55816,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v10 = 0 } if cntNew[i] <= v10 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78629)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79034)) goto balance_cleanup } } @@ -55615,7 +55877,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v15 = 0 } if cntNew[i-int32(1)] <= v15 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78673)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79078)) goto balance_cleanup } goto _11 @@ -55648,7 +55910,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) nNew++ if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78706)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79111)) } if *(*int32)(unsafe.Pointer(bp)) != 0 { goto balance_cleanup @@ -55891,7 +56153,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa } pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8)) if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78906)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79311)) goto balance_cleanup } *(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno) @@ -56156,7 +56418,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) { break } if pOther != pCur && int32((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage { - return _sqlite3CorruptError(tls, int32(79138)) + return _sqlite3CorruptError(tls, int32(79543)) } goto _1 _1: @@ -56231,7 +56493,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) { /* The page being written is not a root page, and there is currently ** more than one reference to it. This only happens if the page is one ** of its own ancestor pages. Corruption. */ - rc = _sqlite3CorruptError(tls, int32(79198)) + rc = _sqlite3CorruptError(tls, int32(79603)) } else { pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8)) iIdx = int32(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2))) @@ -56394,7 +56656,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int return rc } if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = _sqlite3CorruptError(tls, int32(79362)) + rc = _sqlite3CorruptError(tls, int32(79767)) } else { if uint32(iOffset)+ovflPageSize < uint32(nTotal) { ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData) @@ -56425,7 +56687,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) { nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */ pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */ if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) { - return _sqlite3CorruptError(tls, int32(79390)) + return _sqlite3CorruptError(tls, int32(79795)) } if int32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal { /* The entire cell is local */ @@ -56512,7 +56774,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** Which can only happen if the SQLITE_NoSchemaError flag was set when ** the schema was loaded. This cannot be asserted though, as a user might ** set the flag, load the schema, and then unset the flag. */ - return _sqlite3CorruptError(tls, int32(79471)) + return _sqlite3CorruptError(tls, int32(79876)) } } /* Ensure that the cursor is not in the CURSOR_FAULT state and that it @@ -56615,7 +56877,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) { /* ^^^^^--- due to the moveToRoot() call above */ - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79594)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79999)) } else { *(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage) } @@ -56657,7 +56919,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if *(*int32)(unsafe.Pointer(bp + 4)) == 0 { _ = libc.Int32FromInt32(0) if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79636)) + return _sqlite3CorruptError(tls, int32(80041)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -56687,10 +56949,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ _ = libc.Int32FromInt32(0) /* clearCell never fails when nLocal==nPayload */ if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) { - return _sqlite3CorruptError(tls, int32(79663)) + return _sqlite3CorruptError(tls, int32(80068)) } if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79666)) + return _sqlite3CorruptError(tls, int32(80071)) } libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 8)))) return SQLITE_OK @@ -56815,7 +57077,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79768)) + return _sqlite3CorruptError(tls, int32(80173)) } nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -56837,7 +57099,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T } if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79793)) + return _sqlite3CorruptError(tls, int32(80198)) } ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -56946,7 +57208,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { return *(*int32)(unsafe.Pointer(bp)) } } else { - return _sqlite3CorruptError(tls, int32(79889)) + return _sqlite3CorruptError(tls, int32(80294)) } } _ = libc.Int32FromInt32(0) @@ -56954,14 +57216,14 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { iCellIdx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return _sqlite3CorruptError(tls, int32(79898)) + return _sqlite3CorruptError(tls, int32(80303)) } pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(*(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx))))) if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 && _btreeComputeFreeSpace(tls, pPage) != 0 { - return _sqlite3CorruptError(tls, int32(79902)) + return _sqlite3CorruptError(tls, int32(80307)) } if pCell < (*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79905)) + return _sqlite3CorruptError(tls, int32(80310)) } /* If the BTREE_SAVEPOSITION bit is on, then the cursor position must ** be preserved following this delete operation. If the current delete @@ -57056,7 +57318,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { } pCell = (*TMemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(*(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(int32(2)*(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FnCell)-int32(1))))))) if pCell < (*TMemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return _sqlite3CorruptError(tls, int32(79996)) + return _sqlite3CorruptError(tls, int32(80401)) } nCell = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pLeaf)).FxCellSize})))(tls, pLeaf, pCell)) _ = libc.Int32FromInt32(0) @@ -57176,7 +57438,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags */ _sqlite3BtreeGetMeta(tls, p, int32(BTREE_LARGEST_ROOT_PAGE), bp+8) if *(*TPgno)(unsafe.Pointer(bp + 8)) > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80112)) + return _sqlite3CorruptError(tls, int32(80517)) } *(*TPgno)(unsafe.Pointer(bp + 8))++ /* The new root-page may not be allocated on a pointer-map page, or the @@ -57218,7 +57480,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36) if int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) { - *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80160)) + *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80565)) } if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -57305,14 +57567,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int _, _, _, _ = hdr, i, pCell, v2 _ = libc.Int32FromInt32(0) if pgno > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80250)) + return _sqlite3CorruptError(tls, int32(80655)) } *(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0) if *(*int32)(unsafe.Pointer(bp + 8)) != 0 { return *(*int32)(unsafe.Pointer(bp + 8)) } if int32((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80257)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80662)) goto cleardatabasepage_out } hdr = int32((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset) @@ -57453,7 +57715,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if iTable > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80361)) + return _sqlite3CorruptError(tls, int32(80766)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0)) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -57729,7 +57991,7 @@ func _checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4212, int32(1)) + Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+4276, int32(1)) } if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, pCheck+72, (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp+8, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv0, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -57781,11 +58043,11 @@ func _checkRef(tls *libc.TLS, pCheck uintptr, iPage TPgno) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if iPage > (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnCkPage || iPage == uint32(0) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4214, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4278, libc.VaList(bp+8, iPage)) return int32(1) } if _getPageReferenced(tls, pCheck, iPage) != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4237, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4301, libc.VaList(bp+8, iPage)) return int32(1) } _setPageReferenced(tls, pCheck, iPage) @@ -57811,11 +58073,11 @@ func _checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild TPgno, eType Tu8, iParen if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< (*TBtShared)(unsafe.Pointer((*TIntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize/uint32(4)-uint32(2) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4367, libc.VaList(bp+16, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4431, libc.VaList(bp+16, iPage)) N-- } else { i = 0 @@ -57887,11 +58149,11 @@ func _checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage TPgno, N } if N != 0 && nErrAtStart == (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr { if isFreeList != 0 { - v2 = __ccgo_ts + 4406 + v2 = __ccgo_ts + 4470 } else { - v2 = __ccgo_ts + 4411 + v2 = __ccgo_ts + 4475 } - _checkAppendMsg(tls, pCheck, __ccgo_ts+4432, libc.VaList(bp+16, v2, expected-N, expected)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4496, libc.VaList(bp+16, v2, expected-N, expected)) } } @@ -58028,12 +58290,12 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr if _checkRef(tls, pCheck, iPage) != 0 { return 0 } - (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4458 + (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 4522 (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage v1 = _btreeGetPage(tls, pBt, iPage, bp+8, 0) rc = v1 if v1 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4476, libc.VaList(bp+56, rc)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4540, libc.VaList(bp+56, rc)) if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< usableSize-uint32(4) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4630, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4694, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) doCoverageCheck = 0 goto _4 } pCell = data + uintptr(pc) (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FxParseCell})))(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), pCell, bp+24) if pc+uint32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnSize) > usableSize { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4660, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4724, 0) doCoverageCheck = 0 goto _4 } @@ -58119,7 +58384,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr v5 = libc.BoolInt32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey >= *(*Ti64)(unsafe.Pointer(bp))) } if v5 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4684, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4748, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) } *(*Ti64)(unsafe.Pointer(bp)) = (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey keyCanBeEqual = 0 /* Only the first key on the page may ==maxKey */ @@ -58143,7 +58408,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr d2 = _checkTreePage(tls, pCheck, uint32(pgno), bp, *(*Ti64)(unsafe.Pointer(bp))) keyCanBeEqual = 0 if d2 != depth { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4708, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4772, 0) depth = d2 } } else { @@ -58180,6 +58445,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr i-- } } + _ = libc.Int32FromInt32(0) /* Add the freeblocks to the min-heap ** ** EVIDENCE-OF: R-20690-50594 The second field of the b-tree page header @@ -58220,7 +58486,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr prev = contentOffset - uint32(1) /* Implied first min-heap entry */ for _btreeHeapPull(tls, heap, bp+16) != 0 { if prev&uint32(0xffff) >= *(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4733, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4797, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) break } else { nFrag = int32(uint32(nFrag) + (*(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) - prev&libc.Uint32FromInt32(0xffff) - libc.Uint32FromInt32(1))) @@ -58234,7 +58500,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr ** number of fragmented free bytes within the cell content area. */ if *(*Tu32)(unsafe.Pointer(heap)) == uint32(0) && nFrag != int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+4770, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+4834, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) } } goto end_of_check @@ -58274,22 +58540,23 @@ end_of_check: // ** the unverified btrees. Except, if aRoot[1] is 1, then the freelist // ** checks are still performed. // */ -func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { - bp := tls.Alloc(256) - defer tls.Free(256) +func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, aCnt uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { + bp := tls.Alloc(272) + defer tls.Free(272) var bCkFreelist, bPartial int32 var i, mx, mxInHdr TPgno var pBt uintptr var savedDbFlags Tu64 - var _ /* notUsed at bp+224 */ Ti64 + var _ /* notUsed at bp+232 */ Ti64 var _ /* sCheck at bp+0 */ TIntegrityCk - var _ /* zErr at bp+120 */ [100]uint8 + var _ /* zErr at bp+128 */ [100]uint8 _, _, _, _, _, _, _ = bCkFreelist, bPartial, i, mx, mxInHdr, pBt, savedDbFlags pBt = (*TBtree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Tsqlite3)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags bPartial = 0 /* True if not checking all btrees */ bCkFreelist = int32(1) /* True to scan the freelist */ _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) /* aRoot[0]==0 means this is a partial check */ if *(*TPgno)(unsafe.Pointer(aRoot)) == uint32(0) { _ = libc.Int32FromInt32(0) @@ -58301,13 +58568,13 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin _sqlite3BtreeEnter(tls, p) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - libc.Xmemset(tls, bp, 0, uint64(120)) + libc.Xmemset(tls, bp, 0, uint64(128)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fdb = db (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt = pBt (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage = _btreePagecount(tls, (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr = mxErr - _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+120, int32(100), int32(SQLITE_MAX_LENGTH)) + _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+128, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FerrMsg.FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage == uint32(0) { goto integrity_ck_cleanup @@ -58329,7 +58596,7 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin /* Check the integrity of the freelist */ if bCkFreelist != 0 { - (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4822 + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 4886 _checkList(tls, bp, int32(1), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = uintptr(0) } @@ -58353,11 +58620,11 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } mxInHdr = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+52) if mx != mxInHdr { - _checkAppendMsg(tls, bp, __ccgo_ts+4833, libc.VaList(bp+240, mx, mxInHdr)) + _checkAppendMsg(tls, bp, __ccgo_ts+4897, libc.VaList(bp+248, mx, mxInHdr)) } } else { if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64) != uint32(0) { - _checkAppendMsg(tls, bp, __ccgo_ts+4878, 0) + _checkAppendMsg(tls, bp, __ccgo_ts+4942, 0) } } } @@ -58367,14 +58634,15 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin if !(int32(i) < nRoot && (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr != 0) { break } - if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == uint32(0) { - goto _2 - } - if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { - _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnRow = 0 + if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) != 0 { + if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { + _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + } + (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fv0 = *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) + _checkTreePage(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+232, libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)< nRec || iHdr >= *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84303)) + iHdr = uint32(uint8(v1)) + if *(*Tu32)(unsafe.Pointer(bp + 4)) > uint32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84745)) } - iField = *(*int32)(unsafe.Pointer(bp + 4)) + iField = int64(*(*Tu32)(unsafe.Pointer(bp + 4))) i = 0 for { if !(i <= iCol) { @@ -61553,19 +61853,19 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC } else { v3 = int32(_sqlite3GetVarint32(tls, a+uintptr(iHdr), bp)) } - iHdr += int32(uint8(v3)) - if iHdr > *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84309)) + iHdr += uint32(uint8(v3)) + if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84751)) } - szField = int32(_sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))) - iField += szField + szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp))) + iField += int64(szField) goto _2 _2: ; i++ } - if iField > nRec { - return _sqlite3CorruptError(tls, int32(84315)) + if iField > int64(nRec) { + return _sqlite3CorruptError(tls, int32(84757)) } if pMem == uintptr(0) { v4 = _sqlite3ValueNew(tls, db) @@ -61575,7 +61875,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return int32(SQLITE_NOMEM) } } - _sqlite3VdbeSerialGet(tls, a+uintptr(iField-szField), *(*Tu32)(unsafe.Pointer(bp)), pMem) + _sqlite3VdbeSerialGet(tls, a+uintptr(iField-int64(szField)), *(*Tu32)(unsafe.Pointer(bp)), pMem) (*TMem)(unsafe.Pointer(pMem)).Fenc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc return SQLITE_OK } @@ -62390,6 +62690,11 @@ func _resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { _ = libc.Int32FromInt32(0) /* True because of tag-20230419-1 */ (*TOp)(unsafe.Pointer(pOp)).Fp2 = *(*int32)(unsafe.Pointer(aLabel + uintptr(^(*TOp)(unsafe.Pointer(pOp)).Fp2)*4)) } + /* OPFLG_JUMP opcodes never have P2==0, though OPFLG_JUMP0 opcodes + ** might */ + _ = libc.Int32FromInt32(0) + /* Jumps never go off the end of the bytecode array */ + _ = libc.Int32FromInt32(0) break } /* The mkopcodeh.tcl script has so arranged things that the only @@ -62941,7 +63246,7 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { case -int32(8): pKeyInfo = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5090, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5154, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) j = 0 for { if !(j < int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)) { @@ -62951,68 +63256,68 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { if pColl != 0 { v2 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } zColl = v2 - if libc.Xstrcmp(tls, zColl, __ccgo_ts+5095) == 0 { - zColl = __ccgo_ts + 5102 + if libc.Xstrcmp(tls, zColl, __ccgo_ts+5159) == 0 { + zColl = __ccgo_ts + 5166 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_DESC) != 0 { - v3 = __ccgo_ts + 5083 + v3 = __ccgo_ts + 5147 } else { - v3 = __ccgo_ts + 1657 + v3 = __ccgo_ts + 1671 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_BIGNULL) != 0 { - v4 = __ccgo_ts + 5104 + v4 = __ccgo_ts + 5168 } else { - v4 = __ccgo_ts + 1657 + v4 = __ccgo_ts + 1671 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5107, libc.VaList(bp+40, v3, v4, zColl)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5171, libc.VaList(bp+40, v3, v4, zColl)) goto _1 _1: ; j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5115, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5179, int32(1)) case -int32(2): pColl1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5131, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5195, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) case -int32(7): pDef = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5140, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5204, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) case -int32(15): pDef1 = (*Tsqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpFunc - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5140, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5204, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) case -int32(13): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1413, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1432, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(3): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5147, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5211, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) case -int32(12): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1380, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1399, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(10): pMem = *(*uintptr)(unsafe.Pointer(pOp + 16)) if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Str) != 0 { zP4 = (*TMem)(unsafe.Pointer(pMem)).Fz } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1413, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1432, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1380, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1399, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Null) != 0 { - zP4 = __ccgo_ts + 1658 + zP4 = __ccgo_ts + 1672 } else { _ = libc.Int32FromInt32(0) - zP4 = __ccgo_ts + 5150 + zP4 = __ccgo_ts + 5214 } } } } case -int32(11): pVtab = (*TVTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpVtab - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5157, libc.VaList(bp+40, pVtab)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5221, libc.VaList(bp+40, pVtab)) case -int32(14): ai = *(*uintptr)(unsafe.Pointer(pOp + 16)) n = *(*Tu32)(unsafe.Pointer(ai)) /* The first element of an INTARRAY is always the @@ -63027,15 +63332,15 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } else { v6 = int32(',') } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5165, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+5229, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) goto _5 _5: ; i++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5170, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5234, int32(1)) case -int32(4): - zP4 = __ccgo_ts + 5172 + zP4 = __ccgo_ts + 5236 case -int32(5): zP4 = (*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FzName default: @@ -63051,10 +63356,10 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } var _encnames = [4]uintptr{ - 0: __ccgo_ts + 5117, - 1: __ccgo_ts + 5119, - 2: __ccgo_ts + 5121, - 3: __ccgo_ts + 5126, + 0: __ccgo_ts + 5181, + 1: __ccgo_ts + 5183, + 2: __ccgo_ts + 5185, + 3: __ccgo_ts + 5190, } // C documentation @@ -64046,7 +64351,7 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { retryCount = 0 /* Select a super-journal file name */ nMainFile = _sqlite3Strlen30(tls, zMainFile) - zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5180, libc.VaList(bp+24, 0, zMainFile, 0)) + zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+5244, libc.VaList(bp+24, 0, zMainFile, 0)) if zSuper == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -64054,18 +64359,18 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { for cond := true; cond; cond = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8)) != 0 { if retryCount != 0 { if retryCount > int32(100) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5192, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5256, libc.VaList(bp+24, zSuper)) _sqlite3OsDelete(tls, pVfs, zSuper, 0) break } else { if retryCount == int32(1) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5206, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+5270, libc.VaList(bp+24, zSuper)) } } } retryCount++ Xsqlite3_randomness(tls, int32(4), bp+12) - Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5221, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) + Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+5285, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) /* The antipenultimate character of the super-journal name must ** be "9" to avoid name collisions when using 8+3 filenames. */ _ = libc.Int32FromInt32(0) @@ -64302,7 +64607,7 @@ func _sqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) (r int32) { if deferred != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > 0 || !(deferred != 0) && (*TVdbe)(unsafe.Pointer(p)).FnFkConstraint > 0 { (*TVdbe)(unsafe.Pointer(p)).Frc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(3)< y { return +libc.Int32FromInt32(1) } - s = float64(i) - if s < r { + if float64(i) < r { v2 = -int32(1) } else { - v2 = libc.BoolInt32(s > r) + v2 = libc.BoolInt32(float64(i) > r) } return v2 } @@ -65648,7 +65952,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89131))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89580))) return 0 /* Corruption */ } /* Only needed by assert() statements */ @@ -65743,7 +66047,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr pKeyInfo = v4 } if v5 || int32((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89212))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89661))) return 0 /* Corruption */ } else { if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { @@ -65779,7 +66083,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } else { nStr = int32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2)) if d1+uint32(nStr) > uint32(nKey1) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89242))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89691))) return 0 /* Corruption */ } else { if int32((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 { @@ -65835,7 +66139,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } idx1 += uint32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68))))) if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89293))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89742))) return 0 /* Corrupt index */ } } @@ -65976,7 +66280,7 @@ vrcs_restart: szHdr = int32(*(*Tu8)(unsafe.Pointer(aKey1))) nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2) if szHdr+nStr > nKey1 { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89456))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89905))) return 0 /* Corruption */ } if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr { @@ -66133,7 +66437,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr idx_rowid_corruption: ; _sqlite3VdbeMemReleaseMalloc(tls, bp+8) - return _sqlite3CorruptError(tls, int32(89614)) + return _sqlite3CorruptError(tls, int32(90063)) } // C documentation @@ -66166,7 +66470,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked ** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */ if nCellKey <= 0 || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return _sqlite3CorruptError(tls, int32(89647)) + return _sqlite3CorruptError(tls, int32(90096)) } _sqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, uint32(nCellKey), bp) @@ -66322,15 +66626,15 @@ func _sqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) (r int32) { pOp = (*TVdbe)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe)).FaOp + uintptr((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FiOp)*24 if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fopcode) == int32(OP_PureFunc) { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_IsCheck) != 0 { - zContext = __ccgo_ts + 5264 + zContext = __ccgo_ts + 5328 } else { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_GenCol) != 0 { - zContext = __ccgo_ts + 5283 + zContext = __ccgo_ts + 5347 } else { - zContext = __ccgo_ts + 5302 + zContext = __ccgo_ts + 5366 } } - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5311, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+5375, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) return 0 @@ -66509,7 +66813,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) (r int32) { // */ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { if (*TVdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5347, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5411, 0) return int32(1) } else { return 0 @@ -66519,7 +66823,7 @@ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { func _vdbeSafetyNotNull(tls *libc.TLS, p uintptr) (r int32) { if p == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5392, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5456, 0) return int32(1) } else { return _vdbeSafety(tls, p) @@ -66581,7 +66885,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt db = (*TVdbe)(unsafe.Pointer(v)).Fdb if _vdbeSafety(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90035)) + return _sqlite3MisuseError(tls, int32(90484)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 { @@ -67112,7 +67416,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { _ = libc.Int32FromInt32(0) (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FisError = int32(SQLITE_TOOBIG) - _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5432, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) + _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+5496, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) } // C documentation @@ -67323,7 +67627,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt /* the prepared statement */ cnt = 0 /* The database connection */ if _vdbeSafetyNotNull(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90829)) + return _sqlite3MisuseError(tls, int32(91278)) } db = (*TVdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) @@ -67457,7 +67761,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32 _, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1 *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) if pVal == uintptr(0) { - return _sqlite3MisuseError(tls, int32(90950)) + return _sqlite3MisuseError(tls, int32(91399)) } if int32((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) { return int32(SQLITE_ERROR) @@ -67930,18 +68234,18 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) (r int32) { // ** Column names appropriate for EXPLAIN or EXPLAIN QUERY PLAN. // */ var _azExplainColNames8 = [12]uintptr{ - 0: __ccgo_ts + 5455, - 1: __ccgo_ts + 5460, - 2: __ccgo_ts + 5467, - 3: __ccgo_ts + 5470, - 4: __ccgo_ts + 5473, - 5: __ccgo_ts + 5476, - 6: __ccgo_ts + 5479, - 7: __ccgo_ts + 5482, - 8: __ccgo_ts + 5490, - 9: __ccgo_ts + 5493, - 10: __ccgo_ts + 5500, - 11: __ccgo_ts + 5508, + 0: __ccgo_ts + 5519, + 1: __ccgo_ts + 5524, + 2: __ccgo_ts + 5531, + 3: __ccgo_ts + 5534, + 4: __ccgo_ts + 5537, + 5: __ccgo_ts + 5540, + 6: __ccgo_ts + 5543, + 7: __ccgo_ts + 5546, + 8: __ccgo_ts + 5554, + 9: __ccgo_ts + 5557, + 10: __ccgo_ts + 5564, + 11: __ccgo_ts + 5572, } var _azExplainColNames16data = [60]Tu16{ 0: uint16('a'), @@ -68187,14 +68491,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) { var v2 bool _, _, _ = pVar, v1, v2 if _vdbeSafetyNotNull(tls, p) != 0 { - return _sqlite3MisuseError(tls, int32(91554)) + return _sqlite3MisuseError(tls, int32(92003)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if int32((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) { - _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(91558))) + _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(92007))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5515, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) - return _sqlite3MisuseError(tls, int32(91562)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5579, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) + return _sqlite3MisuseError(tls, int32(92011)) } if i >= uint32((*TVdbe)(unsafe.Pointer(p)).FnVar) { _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE)) @@ -68768,7 +69072,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp /* Test that this call is being made from within an SQLITE_DELETE or ** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */ if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) { - rc = _sqlite3MisuseError(tls, int32(92098)) + rc = _sqlite3MisuseError(tls, int32(92547)) goto preupdate_old_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 { @@ -68899,7 +69203,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp rc = SQLITE_OK p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) { - rc = _sqlite3MisuseError(tls, int32(92221)) + rc = _sqlite3MisuseError(tls, int32(92670)) goto preupdate_new_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) { @@ -69076,7 +69380,7 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr break } } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5555, int32(3)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5619, int32(3)) _ = libc.Int32FromInt32(0) Xsqlite3_str_append(tls, bp+8, zStart, int32(int64(zRawSql)-int64(zStart))) } @@ -69115,13 +69419,13 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr _ = libc.Int32FromInt32(0) pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(*(*int32)(unsafe.Pointer(bp))-int32(1))*56 if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1658, int32(4)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1672, int32(4)) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1413, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1432, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5076, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5140, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Str) != 0 { /* Number of bytes of the string text to include in output */ enc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc @@ -69136,29 +69440,29 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr pVar = bp + 40 } nOut = (*TMem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5559, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5623, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != int32(SQLITE_UTF8) { _sqlite3VdbeMemRelease(tls, bp+40) } } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5566, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5630, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) } else { /* Number of bytes of the blob to include in output */ _ = libc.Int32FromInt32(0) - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5579, int32(2)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5643, int32(2)) nOut1 = (*TMem)(unsafe.Pointer(pVar)).Fn i = 0 for { if !(i < nOut1) { break } - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5582, libc.VaList(bp+104, int32(*(*uint8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+5646, libc.VaList(bp+104, int32(*(*uint8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) goto _3 _3: ; i++ } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5587, int32(1)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+5651, int32(1)) } } } @@ -69773,7 +70077,7 @@ var _azTypes = [5]uintptr{ 1: __ccgo_ts + 1153, 2: __ccgo_ts + 1158, 3: __ccgo_ts + 1136, - 4: __ccgo_ts + 1658, + 4: __ccgo_ts + 1672, } // C documentation @@ -69787,7 +70091,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { defer tls.Free(976) var aCol, aMem, aOffset, aOp, aPermute, aRoot, apArg, apArg1, db, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pnErr, t1, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v240, v241, v242, v250, v251, v252, v253, v255, v263, v278, v279, v286, v288, v297, v298, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 uintptr var affinity uint8 - var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 + var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, savedAnalysisLimit, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 var colCacheCtr, iAddr, iMap, iPrior, idx, len11, n3, p22, p23, serialType, serial_type, v213, v214, v216, v221, v222 Tu32 var encoding, isWriteLock, mTrace, op, p5, resetSchemaOnFault, vtabOnConflict, v225 Tu8 var flags1, flags11, flags2, flags3, flags31, newType, nullFlag, type1, type2, typeMask, v190 Tu16 @@ -69844,7 +70148,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { var _ /* z at bp+688 */ uintptr var _ /* zErr at bp+632 */ uintptr var _ /* zErr at bp+792 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, savedAnalysisLimit, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 aOp = (*TVdbe)(unsafe.Pointer(p)).FaOp /* Copy of p->aOp */ pOp = aOp /* Current operation */ rc = SQLITE_OK /* Value to return */ @@ -70120,7 +70424,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto _109 case int32(OP_SeekEnd): goto _110 - case int32(OP_IfSmaller): + case int32(OP_IfSizeBetween): goto _111 case int32(OP_Sort): goto _112 @@ -70417,7 +70721,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: EndCoroutine */ _5: - ; /* jump */ + ; /* jump0 */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -70441,7 +70745,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** ** The instruction at the address in register P1 is a Yield. ** Jump to the P2 parameter of that Yield. - ** After the jump, register P1 becomes undefined. + ** After the jump, the value register P1 is left with a value + ** such that subsequent OP_Yields go back to the this same + ** OP_EndCoroutine instruction. ** ** See also: InitCoroutine */ @@ -70453,8 +70759,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pCaller = aOp + uintptr(*(*Ti64)(unsafe.Pointer(pIn1)))*24 _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) + *(*Ti64)(unsafe.Pointer(pIn1)) = int64(int32((int64(pOp)-int64((*TVdbe)(unsafe.Pointer(p)).FaOp))/24) - int32(1)) pOp = aOp + uintptr((*TVdbeOp)(unsafe.Pointer(pCaller)).Fp2-int32(1))*24 - (*TMem)(unsafe.Pointer(pIn1)).Fflags = uint16(MEM_Undefined) goto _187 /* Opcode: Yield P1 P2 * * * ** @@ -70553,15 +70859,15 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) if (*TVdbe)(unsafe.Pointer(p)).Frc != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+5623, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) + _sqlite3VdbeError(tls, p, __ccgo_ts+5687, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) if *(*uintptr)(unsafe.Pointer(pOp + 16)) != 0 { - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5644, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+5708, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } } else { - _sqlite3VdbeError(tls, p, __ccgo_ts+3804, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3868, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } pcx = int32((int64(pOp) - int64(aOp)) / 24) - Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5651, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+5715, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) } rc = _sqlite3VdbeHalt(tls, p) _ = libc.Int32FromInt32(0) @@ -70766,18 +71072,14 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } (*TMem)(unsafe.Pointer(pOut)).Fenc = encoding goto _187 - /* Opcode: Variable P1 P2 * P4 * - ** Synopsis: r[P2]=parameter(P1,P4) + /* Opcode: Variable P1 P2 * * * + ** Synopsis: r[P2]=parameter(P1) ** ** Transfer the values of bound parameter P1 into register P2 - ** - ** If the parameter is named, then its name appears in P4. - ** The P4 value is used by sqlite3_bind_parameter_name(). */ _19: ; /* Value being transferred */ _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1-int32(1))*56 if _sqlite3VdbeMemTooBig(tls, pVar) != 0 { goto too_big @@ -71314,7 +71616,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** raise an SQLITE_MISMATCH exception. */ _38: - ; /* jump, in1 */ + ; /* jump0, in1 */ pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 if int32((*TMem)(unsafe.Pointer(pIn1)).Fflags)&int32(MEM_Int) == 0 { _applyAffinity(tls, pIn1, uint8(SQLITE_AFF_NUMERIC), encoding) @@ -72379,7 +72681,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24 goto _187 } else { - rc = _sqlite3CorruptError(tls, int32(95863)) + rc = _sqlite3CorruptError(tls, int32(96311)) goto abort_due_to_error } /* Opcode: TypeCheck P1 P2 P3 P4 * @@ -72488,7 +72790,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_type_error vdbe_type_error: ; - _sqlite3VdbeError(tls, p, __ccgo_ts+5675, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) + _sqlite3VdbeError(tls, p, __ccgo_ts+5739, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(12)< 0 && p12 == int32(SAVEPOINT_RELEASE) { /* It is not possible to release (commit) a savepoint if there are ** active write statements. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5789, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5853, 0) rc = int32(SQLITE_BUSY) } else { /* Determine whether or not this is a transaction savepoint. If so, @@ -73121,7 +73423,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If this instruction implements a COMMIT and other VMs are writing ** return an error indicating that the other VMs must complete first. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+5843, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+5907, 0) rc = int32(SQLITE_BUSY) goto abort_due_to_error } else { @@ -73151,12 +73453,12 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_return } else { if !(desiredAutoCommit != 0) { - v250 = __ccgo_ts + 5898 + v250 = __ccgo_ts + 5962 } else { if iRollback != 0 { - v251 = __ccgo_ts + 5946 + v251 = __ccgo_ts + 6010 } else { - v251 = __ccgo_ts + 5989 + v251 = __ccgo_ts + 6053 } v250 = v251 } @@ -73258,7 +73560,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** SQL statement was prepared. */ _sqlite3DbFree(tls, db, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg) - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6030) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+6094) /* If the schema-cookie from the database file matches the cookie ** stored with the in-memory representation of the schema, do ** not reload the schema from the database file. @@ -73616,7 +73918,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fn = 0 - (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1657 + (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1671 } pCx1 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) if pCx1 != 0 && !(int32(TBool(*(*uint8)(unsafe.Pointer(pCx1 + 8))&0x8>>3)) != 0) && (*TOp)(unsafe.Pointer(pOp)).Fp2 <= int32((*TVdbeCursor)(unsafe.Pointer(pCx1)).FnField) { @@ -73732,7 +74034,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** is the only cursor opcode that works with a pseudo-table. ** ** P3 is the number of fields in the records that will be stored by - ** the pseudo-table. + ** the pseudo-table. If P2 is 0 or negative then the pseudo-cursor + ** will return NULL for every column. */ _83: ; @@ -73854,11 +74157,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: Found, NotFound, SeekGt, SeekGe, SeekLt */ _88: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _87: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _86: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _85: ; /* Only interested in == results */ _ = libc.Int32FromInt32(0) @@ -74484,7 +74787,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp + 248)) != 0 { _ = libc.Int32FromInt32(0) if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 { - rc = _sqlite3CorruptError(tls, int32(98111)) + rc = _sqlite3CorruptError(tls, int32(98565)) } else { goto jump_to_p2 } @@ -75159,14 +75462,20 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } goto _187 - /* Opcode: IfSmaller P1 P2 P3 * * + /* Opcode: IfSizeBetween P1 P2 P3 P4 * + ** + ** Let N be the approximate number of rows in the table or index + ** with cursor P1 and let X be 10*log2(N) if N is positive or -1 + ** if N is zero. ** - ** Estimate the number of rows in the table P1. Jump to P2 if that - ** estimate is less than approximately 2**(0.1*P3). + ** Jump to P2 if X is in between P3 and P4, inclusive. */ _111: ; _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) pC20 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) _ = libc.Int32FromInt32(0) pCrsr5 = *(*uintptr)(unsafe.Pointer(pC20 + 48)) @@ -75175,12 +75484,14 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { goto abort_due_to_error } - if *(*int32)(unsafe.Pointer(bp + 396)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { + sz = int64(-int32(1)) /* -Infinity encoding */ + } else { sz = _sqlite3BtreeRowCountEst(tls, pCrsr5) - if sz >= 0 && int32(_sqlite3LogEst(tls, uint64(sz))) < (*TOp)(unsafe.Pointer(pOp)).Fp3 { - *(*int32)(unsafe.Pointer(bp + 396)) = int32(1) - } + _ = libc.Int32FromInt32(0) + sz = int64(_sqlite3LogEst(tls, uint64(sz))) } + *(*int32)(unsafe.Pointer(bp + 396)) = libc.BoolInt32(sz >= int64((*TOp)(unsafe.Pointer(pOp)).Fp3) && sz <= int64((*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { goto jump_to_p2 } @@ -75487,7 +75798,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } else { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) { - rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) { - rc = _sqlite3CorruptError(tls, int32(99398)) + rc = _sqlite3CorruptError(tls, int32(99862)) goto abort_due_to_error } _sqlite3VdbeMemInit(tls, bp+552, db, uint16(0)) @@ -75833,11 +76144,18 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } *(*Ti64)(unsafe.Pointer(pOut)) = int64(*(*TPgno)(unsafe.Pointer(bp + 624))) goto _187 - /* Opcode: SqlExec * * * P4 * + /* Opcode: SqlExec P1 P2 * P4 * ** ** Run the SQL statement or statements specified in the P4 string. - ** Disable Auth and Trace callbacks while those statements are running if - ** P1 is true. + ** + ** The P1 parameter is a bitmask of options: + ** + ** 0x0001 Disable Auth and Trace callbacks while the statements + ** in P4 are running. + ** + ** 0x0002 Set db->nAnalysisLimit to P2 while the statements in + ** P4 are running. + ** */ _132: ; @@ -75845,16 +76163,21 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*uintptr)(unsafe.Pointer(bp + 632)) = uintptr(0) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth mTrace = (*Tsqlite3)(unsafe.Pointer(db)).FmTrace - if (*TOp)(unsafe.Pointer(pOp)).Fp1 != 0 { + savedAnalysisLimit = (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0001) != 0 { (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(0) } + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0002) != 0 { + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (*TOp)(unsafe.Pointer(pOp)).Fp2 + } rc = Xsqlite3_exec(tls, db, *(*uintptr)(unsafe.Pointer(pOp + 16)), uintptr(0), uintptr(0), bp+632) (*Tsqlite3)(unsafe.Pointer(db)).FnSqlExec-- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = mTrace + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = savedAnalysisLimit if *(*uintptr)(unsafe.Pointer(bp + 632)) != 0 || rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3804, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3868, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 632))) if rc == int32(SQLITE_NOMEM) { goto no_mem @@ -75887,13 +76210,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_SchemaChange) libc.SetBitFieldPtr16Uint32(p+200, libc.Uint32FromInt32(0), 0, 0x3) } else { - zSchema = __ccgo_ts + 6075 + zSchema = __ccgo_ts + 6139 (*(*TInitData)(unsafe.Pointer(bp + 640))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 640))).FiDb = iDb3 (*(*TInitData)(unsafe.Pointer(bp + 640))).FpzErrMsg = p + 168 (*(*TInitData)(unsafe.Pointer(bp + 640))).FmInitFlags = uint32(0) (*(*TInitData)(unsafe.Pointer(bp + 640))).FmxPage = _sqlite3BtreeLastPage(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6089, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+6153, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -75910,7 +76233,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* The OP_ParseSchema opcode with a non-NULL P4 argument should parse ** at least one SQL statement. Any less than that indicates that ** the sqlite_schema table is corrupt. */ - rc = _sqlite3CorruptError(tls, int32(99678)) + rc = _sqlite3CorruptError(tls, int32(100155)) } _sqlite3DbFreeNN(tls, db, zSql) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) @@ -75977,11 +76300,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* Opcode: IntegrityCk P1 P2 P3 P4 P5 ** ** Do an analysis of the currently open database. Store in - ** register P1 the text of an error message describing any problems. - ** If no problems are found, store a NULL in register P1. + ** register (P1+1) the text of an error message describing any problems. + ** If no problems are found, store a NULL in register (P1+1). ** - ** The register P3 contains one less than the maximum number of allowed errors. - ** At most reg(P3) errors will be reported. + ** The register (P1) contains one less than the maximum number of allowed + ** errors. At most reg(P1) errors will be reported. ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. ** @@ -75996,18 +76319,20 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { _138: ; /* Register keeping track of errors remaining */ _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) nRoot = (*TOp)(unsafe.Pointer(pOp)).Fp2 aRoot = *(*uintptr)(unsafe.Pointer(pOp + 16)) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 _ = libc.Int32FromInt32(0) + pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 _ = libc.Int32FromInt32(0) - pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 _ = libc.Int32FromInt32(0) + pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1+int32(1))*56 _ = libc.Int32FromInt32(0) - rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) + _ = libc.Int32FromInt32(0) + rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, aMem+uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) _sqlite3VdbeMemSetNull(tls, pIn1) if *(*int32)(unsafe.Pointer(bp + 680)) == 0 { _ = libc.Int32FromInt32(0) @@ -76121,7 +76446,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** P1 contains the address of the memory cell that contains the first memory ** cell in an array of values used as arguments to the sub-program. P2 ** contains the address to jump to if the sub-program throws an IGNORE - ** exception using the RAISE() function. Register P3 contains the address + ** exception using the RAISE() function. P2 might be zero, if there is + ** no possibility that an IGNORE exception will be raised. + ** Register P3 contains the address ** of a memory cell in this (the parent) VM that is used to allocate the ** memory required by the sub-vdbe at runtime. ** @@ -76163,7 +76490,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } if (*TVdbe)(unsafe.Pointer(p)).FnFrame >= *(*int32)(unsafe.Pointer(db + 136 + 10*4)) { rc = int32(SQLITE_ERROR) - _sqlite3VdbeError(tls, p, __ccgo_ts+6132, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+6196, 0) goto abort_due_to_error } /* Register pRt is used to store the memory required to save the state @@ -76547,7 +76874,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } /* IMP: R-24505-23230 */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3804, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3868, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError } if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FskipFlag != 0 { @@ -76609,7 +76936,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3VdbeMemFinalize(tls, pMem3, *(*uintptr)(unsafe.Pointer(pOp + 16))) } if rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3804, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3868, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) goto abort_due_to_error } _sqlite3VdbeChangeEncoding(tls, pMem3, int32(encoding)) @@ -76694,11 +77021,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeRead > int32(1) { rc = int32(SQLITE_ERROR) if eNew == int32(PAGER_JOURNALMODE_WAL) { - v286 = __ccgo_ts + 6169 + v286 = __ccgo_ts + 6233 } else { - v286 = __ccgo_ts + 6174 + v286 = __ccgo_ts + 6238 } - _sqlite3VdbeError(tls, p, __ccgo_ts+6181, libc.VaList(bp+944, v286)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6245, libc.VaList(bp+944, v286)) goto abort_due_to_error } else { if eOld == int32(PAGER_JOURNALMODE_WAL) { @@ -76866,7 +77193,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { if rc&int32(0xFF) == int32(SQLITE_LOCKED) { z1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - _sqlite3VdbeError(tls, p, __ccgo_ts+6233, libc.VaList(bp+944, z1)) + _sqlite3VdbeError(tls, p, __ccgo_ts+6297, libc.VaList(bp+944, z1)) } goto abort_due_to_error } @@ -77044,7 +77371,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TValueList)(unsafe.Pointer(pRhs)).FpOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 pOut = _out2Prerelease(tls, p, pOp) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null) - _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6262, __ccgo_fp(_sqlite3VdbeValueListFree)) + _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+6326, __ccgo_fp(_sqlite3VdbeValueListFree)) goto _187 /* Opcode: VFilter P1 P2 P3 P4 * ** Synopsis: iplan=r[P3] zplan='P4' @@ -77149,7 +77476,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_module)(unsafe.Pointer(pModule4)).FxColumn})))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 48)), bp+800, (*TOp)(unsafe.Pointer(pOp)).Fp2) _sqlite3VtabImportErrmsg(tls, p, pVtab4) if (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3804, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3868, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) rc = (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError } _sqlite3VdbeChangeEncoding(tls, pDest2, int32(encoding)) @@ -77418,7 +77745,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If the function returned an error, throw an exception */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+3804, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+3868, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError } _sqlite3VdbeDeleteAuxData(tls, db, p+296, (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FiOp, (*TOp)(unsafe.Pointer(pOp)).Fp1) @@ -77580,7 +77907,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { Xsqlite3_free(tls, z2) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeExec > int32(1) { - z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6272, libc.VaList(bp+944, zTrace)) + z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+6336, libc.VaList(bp+944, zTrace)) (*(*func(*libc.TLS, Tu32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(&(*Tsqlite3)(unsafe.Pointer(db)).Ftrace))})))(tls, uint32(SQLITE_TRACE_STMT), (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) _sqlite3DbFree(tls, db, z3) } else { @@ -77654,16 +77981,16 @@ abort_due_to_error: rc = int32(SQLITE_NOMEM) } else { if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)<op on success */ - pTab = uintptr(0) /* A column of pTab */ - *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ - _ = libc.Int32FromInt32(0) /* the name context cannot be NULL. */ - _ = libc.Int32FromInt32(0) /* The Z in X.Y.Z cannot be NULL */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, cntTab, db, eNewExprOp, hCol, hCol1, hit, i, iCol, j, nSubquery, op, pCol, pEList, pItem, pMatch, pOrig, pSchema, pSrcList, pTab, pTopNC, pUpsert, zAs, zCol, zErr, v10, v5, v7, v8 /* Loop counters */ + cnt = 0 /* Number of matching column names */ + cntTab = 0 /* Number of potential "rowid" matches */ + nSubquery = 0 /* How many levels of subquery */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Use for looping over pSrcList items */ + pMatch = uintptr(0) /* The matching pSrcList item */ + pTopNC = pNC /* First namecontext in the list */ + pSchema = uintptr(0) /* Schema of the expression */ + eNewExprOp = int32(TK_COLUMN) /* New value for pExpr->op on success */ + pTab = uintptr(0) /* A column of pTab */ + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + zCol = *(*uintptr)(unsafe.Pointer(pRight + 8)) + _ = libc.Int32FromInt32(0) /* the name context cannot be NULL. */ + _ = libc.Int32FromInt32(0) /* The Z in X.Y.Z cannot be NULL */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) /* Initialize the node to no-match */ @@ -82666,7 +82994,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ; i++ } - if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6594, zDb) == 0 { + if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+6658, zDb) == 0 { /* This branch is taken when the main database has been renamed ** using SQLITE_DBCONFIG_MAINDBNAME. */ pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema @@ -82768,7 +83096,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TTable)(unsafe.Pointer(pTab)).FpSchema != pSchema { goto _2 } - if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6599) != 0 { + if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+6663) != 0 { goto _2 } } @@ -82883,16 +83211,16 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol op = int32((*TParse)(unsafe.Pointer(pParse)).FeTriggerOp) _ = libc.Int32FromInt32(0) if (*TParse)(unsafe.Pointer(pParse)).FbReturning != 0 { - if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0) { + if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0 || _isValidSchemaTableName(tls, zTab, (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab, uintptr(0)) != 0) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = libc.BoolInt32(op != int32(TK_DELETE)) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } } else { - if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6601, zTab) == 0 { + if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6665, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(1) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } else { - if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6605, zTab) == 0 { + if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6669, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = 0 pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } @@ -82901,7 +83229,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UUpsert) != 0 && zTab != uintptr(0) { pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16)) - if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6609, zTab) == 0 { + if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+6673, zTab) == 0 { pTab = (*(*TSrcItem)(unsafe.Pointer((*TUpsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8))).FpTab (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(EXCLUDED_TABLE_NUMBER) } @@ -83023,15 +83351,15 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol _ = libc.Int32FromInt32(0) pOrig = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(j)*32))).FpExpr if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 && (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6618, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6682, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Win)) != uint32(0) && ((*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 || pNC != pTopNC) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6649, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6713, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if _sqlite3ExprVectorSize(tls, pOrig) != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6686, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6750, 0) return int32(WRC_Abort) } _resolveAlias(tls, pParse, pEList, j, pExpr, nSubquery) @@ -83085,7 +83413,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** a huge amount of legacy SQL that uses it. So for now, we just ** issue a warning. */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6704, libc.VaList(bp+24, zCol)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+6768, libc.VaList(bp+24, zCol)) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_STRING) libc.Xmemset(tls, pExpr+64, 0, uint64(8)) return int32(WRC_Prune) @@ -83116,7 +83444,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } _extendFJMatch(tls, pParse, bp, pMatch, (*TExpr)(unsafe.Pointer(pExpr)).FiColumn) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_FUNCTION) - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6739 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 6803 *(*uintptr)(unsafe.Pointer(pExpr + 32)) = *(*uintptr)(unsafe.Pointer(bp)) cnt = int32(1) goto lookupname_end @@ -83126,18 +83454,22 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } } if cnt == 0 { - v10 = __ccgo_ts + 6748 + v10 = __ccgo_ts + 6812 } else { - v10 = __ccgo_ts + 6763 + v10 = __ccgo_ts + 6827 } zErr = v10 if zDb != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6785, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6849, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) } else { if zTab != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6798, libc.VaList(bp+24, zErr, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6862, libc.VaList(bp+24, zErr, zTab, zCol)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6808, libc.VaList(bp+24, zErr, zCol)) + if cnt == 0 && (*TExpr)(unsafe.Pointer(pRight)).Fflags&uint32(libc.Int32FromInt32(EP_DblQuoted)) != uint32(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6872, libc.VaList(bp+24, zErr, zCol)) + } else { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6933, libc.VaList(bp+24, zErr, zCol)) + } } } _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -83168,8 +83500,12 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** If a generated column is referenced, set bits for every column ** of the table. */ - if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 && cnt == int32(1) && pMatch != uintptr(0) { - *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + if pMatch != 0 { + if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { + *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + } else { + libc.SetBitFieldPtr16Uint32(pMatch+60+4, libc.Uint32FromInt32(1), 14, 0x4000) + } } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(eNewExprOp) goto lookupname_end @@ -83265,19 +83601,19 @@ func _notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pEx defer tls.Free(32) var zIn uintptr _ = zIn - zIn = __ccgo_ts + 6815 + zIn = __ccgo_ts + 6940 if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IdxExpr) != 0 { - zIn = __ccgo_ts + 6843 + zIn = __ccgo_ts + 6968 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IsCheck) != 0 { - zIn = __ccgo_ts + 6861 + zIn = __ccgo_ts + 6986 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_GenCol) != 0 { - zIn = __ccgo_ts + 6879 + zIn = __ccgo_ts + 7004 } } } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6897, libc.VaList(bp+8, zMsg, zIn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7022, libc.VaList(bp+8, zMsg, zIn)) if pExpr != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } @@ -83327,8 +83663,8 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { var anRef [8]int32 var auth, i, is_agg, n, nLeft, nRef, nRight, no_such_func, rc, savedAllowFlags, wrong_num_args, v12, v4, v6, v7 int32 var enc Tu8 - var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zColumn, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zColumn, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 + var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 pNC = *(*uintptr)(unsafe.Pointer(pWalker + 40)) _ = libc.Int32FromInt32(0) pParse = (*TNameContext)(unsafe.Pointer(pNC)).FpParse @@ -83453,12 +83789,12 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { zDb = uintptr(0) zTable = uintptr(0) _ = libc.Int32FromInt32(0) - zColumn = *(*uintptr)(unsafe.Pointer(pExpr + 8)) + pRight = pExpr } else { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+6917, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7042, uintptr(0), pExpr) } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_ID) { @@ -83472,14 +83808,13 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { } _ = libc.Int32FromInt32(0) zTable = *(*uintptr)(unsafe.Pointer(pLeft + 8)) - zColumn = *(*uintptr)(unsafe.Pointer(pRight + 8)) _ = libc.Int32FromInt32(0) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameTokenRemap(tls, pParse, pExpr, pRight) _sqlite3RenameTokenRemap(tls, pParse, pExpr+64, pLeft) } } - return _lookupName(tls, pParse, zDb, zTable, zColumn, pNC, pExpr) + return _lookupName(tls, pParse, zDb, zTable, pRight, pNC, pExpr) /* Resolve function names */ fallthrough @@ -83520,7 +83855,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if n == int32(2) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = _exprProbability(tls, (*(*TExprList_item)(unsafe.Pointer(pList + 8 + 1*32))).FpExpr) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6934, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7059, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -83544,7 +83879,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { auth = _sqlite3AuthCheck(tls, pParse, int32(SQLITE_FUNCTION), uintptr(0), (*TFuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0)) if auth != SQLITE_OK { if auth == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6998, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7123, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) @@ -83566,7 +83901,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { ** all this. */ _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7034, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7159, uintptr(0), pExpr) } } else { _ = libc.Int32FromInt32(0) /* Must fit in 8 bits */ @@ -83591,29 +83926,29 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if 0 == libc.BoolInt32(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME)) { _ = libc.Int32FromInt32(0) if pDef != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7062, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7187, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 || is_agg != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) || is_agg != 0 && pWin != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 { if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 { - zType = __ccgo_ts + 7105 + zType = __ccgo_ts + 7230 } else { - zType = __ccgo_ts + 7112 + zType = __ccgo_ts + 7237 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7122, libc.VaList(bp+8, zType, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7247, libc.VaList(bp+8, zType, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else { if no_such_func != 0 && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7150, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7275, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if wrong_num_args != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7172, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7297, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7216, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7341, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { @@ -83637,7 +83972,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { *(*int32)(unsafe.Pointer(pNC + 40)) &= ^(libc.Int32FromInt32(NC_AllowWin) | v7) } } else { - if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { is_agg = int32(1) } } @@ -83703,21 +84038,23 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { case int32(TK_IN): if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) { nRef = (*TNameContext)(unsafe.Pointer(pNC)).FnRef + _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_SelfRef) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7264, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7389, pExpr, pExpr) } else { _sqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32))) } _ = libc.Int32FromInt32(0) if nRef != (*TNameContext)(unsafe.Pointer(pNC)).FnRef { *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 4)) |= uint32(SF_Correlated) } *(*int32)(unsafe.Pointer(pNC + 40)) |= int32(NC_Subquery) } case int32(TK_VARIABLE): _ = libc.Int32FromInt32(0) if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IsCheck)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+7275, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+7400, pExpr, pExpr) } case int32(TK_IS): fallthrough @@ -83767,7 +84104,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { nRight = _sqlite3ExprVectorSize(tls, (*TExpr)(unsafe.Pointer(pExpr)).FpRight) } if nLeft != nRight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6686, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6750, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } break @@ -83895,7 +84232,7 @@ func _resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintpt func _resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7286, libc.VaList(bp+8, i, zType, mx)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7411, libc.VaList(bp+8, i, zType, mx)) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pError) } @@ -83930,7 +84267,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7342, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7467, 0) return int32(1) } i = 0 @@ -83969,7 +84306,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } if _sqlite3ExprIsInteger(tls, pE, bp) != 0 { if *(*int32)(unsafe.Pointer(bp)) <= 0 || *(*int32)(unsafe.Pointer(bp)) > (*TExprList)(unsafe.Pointer(pEList)).FnExpr { - _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7376, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) + _resolveOutOfRangeError(tls, pParse, __ccgo_ts+7501, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) return int32(1) } } else { @@ -84042,7 +84379,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r break } if int32(uint32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7382, libc.VaList(bp+16, i+int32(1))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7507, libc.VaList(bp+16, i+int32(1))) return int32(1) } goto _3 @@ -84076,7 +84413,7 @@ func _sqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7443, libc.VaList(bp+8, zType)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7568, libc.VaList(bp+8, zType)) return int32(1) } pEList = (*TSelect)(unsafe.Pointer(pSelect)).FpEList @@ -84328,6 +84665,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } pItem = (*TSelect)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*104 + _ = libc.Int32FromInt32(0) /* Test of tag-20240424-1*/ if (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselFlags&uint32(SF_Resolved) == uint32(0) { if pOuterNC != 0 { v3 = (*TNameContext)(unsafe.Pointer(pOuterNC)).FnRef @@ -84400,7 +84738,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { (*(*TNameContext)(unsafe.Pointer(bp))).FncFlags |= int32(NC_UEList) if (*TSelect)(unsafe.Pointer(p)).FpHaving != 0 { if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Aggregate) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7474, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7599, 0) return int32(WRC_Abort) } if _sqlite3ResolveExprNames(tls, bp, (*TSelect)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -84467,7 +84805,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** is not detected until much later, and so we need to go ahead and ** resolve those symbols on the incorrect ORDER BY for consistency. */ - if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7376) != 0 { + if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7501) != 0 { return int32(WRC_Abort) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -84478,7 +84816,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** the GROUP BY clause does not contain aggregate functions. */ if pGroupBy != 0 { - if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7513) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { + if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+7638) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(WRC_Abort) } i = 0 @@ -84488,7 +84826,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } if (*TExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(pItem2)).FpExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7519, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7644, 0) return int32(WRC_Abort) } goto _6 @@ -85519,7 +85857,7 @@ func _codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32 return } if nLeft != _sqlite3ExprVectorSize(tls, pRight) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6686, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6750, 0) return } _ = libc.Int32FromInt32(0) @@ -85604,7 +85942,7 @@ func _sqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) (r in rc = SQLITE_OK mxHeight = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4)) if nHeight > mxHeight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7578, libc.VaList(bp+8, mxHeight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7703, libc.VaList(bp+8, mxHeight)) rc = int32(SQLITE_ERROR) } return rc @@ -85770,11 +86108,12 @@ func _sqlite3ExprSetErrorOffset(tls *libc.TLS, pExpr uintptr, iOfst int32) { // ** appear to be quoted. If the quotes were of the form "..." (double-quotes) // ** then the EP_DblQuoted flag is set on the expression node. // ** -// ** Special case: If op==TK_INTEGER and pToken points to a string that -// ** can be translated into a 32-bit integer, then the token is not -// ** stored in u.zToken. Instead, the integer values is written -// ** into u.iValue and the EP_IntValue flag is set. No extra storage +// ** Special case (tag-20240227-a): If op==TK_INTEGER and pToken points to +// ** a string that can be translated into a 32-bit integer, then the token is +// ** not stored in u.zToken. Instead, the integer values is written +// ** into u.iValue and the EP_IntValue flag is set. No extra storage // ** is allocated to hold the integer text and the dequote flag is ignored. +// ** See also tag-20240227-b. // */ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) (r uintptr) { bp := tls.Alloc(16) @@ -85788,7 +86127,7 @@ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ _ = libc.Int32FromInt32(0) if pToken != 0 { if op != int32(TK_INTEGER) || (*TToken)(unsafe.Pointer(pToken)).Fz == uintptr(0) || _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pToken)).Fz, bp) == 0 { - nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) + nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) /* tag-20240227-a */ _ = libc.Int32FromInt32(0) } } @@ -85957,11 +86296,11 @@ func _sqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList } if nExprElem != nElem { if nExprElem > int32(1) { - v2 = __ccgo_ts + 7626 + v2 = __ccgo_ts + 7751 } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7628, libc.VaList(bp+8, nExprElem, v2, nElem)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7753, libc.VaList(bp+8, nExprElem, v2, nElem)) break } _ = libc.Int32FromInt32(0) @@ -86011,7 +86350,7 @@ func _sqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt if f&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_InnerON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { _sqlite3ExprDeferredDelete(tls, pParse, pLeft) _sqlite3ExprDeferredDelete(tls, pParse, pRight) - return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1731) + return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1791) } else { return _sqlite3PExpr(tls, pParse, int32(TK_AND), pLeft, pRight) } @@ -86041,7 +86380,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(pNew + 52)) = int32(int64((*TToken)(unsafe.Pointer(pToken)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) if pList != 0 && (*TExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7672, libc.VaList(bp+8, pToken)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7797, libc.VaList(bp+8, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32)) = pList *(*Tu32)(unsafe.Pointer(pNew + 4)) |= uint32(libc.Int32FromInt32(EP_HasFunc)) @@ -86062,7 +86401,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u func _sqlite3ExprOrderByAggregateError(tls *libc.TLS, pParse uintptr, p uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7706, libc.VaList(bp+8, p)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7831, libc.VaList(bp+8, p)) } // C documentation @@ -86141,7 +86480,7 @@ func _sqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD ** SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning ** that the schema is possibly tainted). */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7756, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7881, libc.VaList(bp+8, pExpr)) } } } @@ -86198,7 +86537,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n bOk = libc.BoolInt32(0 == _sqlite3Atoi64(tls, z+1, bp, int32(n-uint32(1)), uint8(SQLITE_UTF8))) } if bOk == 0 || *(*Ti64)(unsafe.Pointer(bp)) < int64(1) || *(*Ti64)(unsafe.Pointer(bp)) > int64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7776, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7901, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) return } @@ -86231,7 +86570,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*TExpr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7819, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7944, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } } @@ -86242,8 +86581,13 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n // ** Recursively delete an expression tree. // */ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { + var pLeft uintptr + _ = pLeft _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) + goto exprDeleteRestart +exprDeleteRestart: + ; _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -86251,9 +86595,6 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)|libc.Int32FromInt32(EP_Leaf)) != libc.Uint32FromInt32(0)) { /* The Expr.x union is never used at the same time as Expr.pRight */ _ = libc.Int32FromInt32(0) - if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { - _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpLeft) - } if (*TExpr)(unsafe.Pointer(p)).FpRight != 0 { _ = libc.Int32FromInt32(0) _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpRight) @@ -86268,6 +86609,17 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { } } } + if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { + pLeft = (*TExpr)(unsafe.Pointer(p)).FpLeft + if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) && !((*TExpr)(unsafe.Pointer(pLeft)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { + /* Avoid unnecessary recursion on unary operators */ + _sqlite3DbNNFreeNN(tls, db, p) + p = pLeft + goto exprDeleteRestart + } else { + _sqlite3ExprDeleteNN(tls, db, pLeft) + } + } } if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { _sqlite3DbNNFreeNN(tls, db, p) @@ -86314,11 +86666,11 @@ func _sqlite3ClearOnOrUsing(tls *libc.TLS, db uintptr, p uintptr) { // ** // ** The pExpr might be deleted immediately on an OOM error. // ** -// ** The deferred delete is (currently) implemented by adding the -// ** pExpr to the pParse->pConstExpr list with a register number of 0. +// ** Return 0 if the delete was successfully deferred. Return non-zero +// ** if the delete happened immediately because of an OOM. // */ -func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { - _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr) +func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + return libc.BoolInt32(uintptr(0) == _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr)) } // C documentation @@ -86837,16 +87189,20 @@ func _sqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) (r ui (*TSrcItem)(unsafe.Pointer(pNewItem)).FiCursor = (*TSrcItem)(unsafe.Pointer(pOldItem)).FiCursor (*TSrcItem)(unsafe.Pointer(pNewItem)).FaddrFillSub = (*TSrcItem)(unsafe.Pointer(pOldItem)).FaddrFillSub (*TSrcItem)(unsafe.Pointer(pNewItem)).FregReturn = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregReturn + (*TSrcItem)(unsafe.Pointer(pNewItem)).FregResult = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregResult if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x2>>1)) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3DbStrDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88))) + } else { + if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { + *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) + } else { + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pNewItem)).Fu1)) = *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pOldItem)).Fu1)) + } } (*TSrcItem)(unsafe.Pointer(pNewItem)).Fu2 = (*TSrcItem)(unsafe.Pointer(pOldItem)).Fu2 if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x100>>8)) != 0 { (*TCteUse)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNewItem + 96)))).FnUse++ } - if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { - *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) - } v4 = (*TSrcItem)(unsafe.Pointer(pOldItem)).FpTab (*TSrcItem)(unsafe.Pointer(pNewItem)).FpTab = v4 pTab = v4 @@ -87112,7 +87468,7 @@ func _sqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, n = v2 } if v3 && (*TIdList)(unsafe.Pointer(pColumns)).FnId != v2 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7842, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7967, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error } i = 0 @@ -87257,7 +87613,7 @@ func _sqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, _ = mx mx = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4)) if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr > mx { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7872, libc.VaList(bp+8, zObject)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7997, libc.VaList(bp+8, zObject)) } } @@ -87359,10 +87715,10 @@ func _sqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) (r // ** anything else 0 // */ func _sqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) (r Tu32) { - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7895) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8020) == 0 { return uint32(EP_IsTrue) } - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+7900) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+8025) == 0 { return uint32(EP_IsFalse) } return uint32(0) @@ -87449,6 +87805,52 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { return pExpr } +// C documentation +// +// /* +// ** pExpr is a TK_FUNCTION node. Try to determine whether or not the +// ** function is a constant function. A function is constant if all of +// ** the following are true: +// ** +// ** (1) It is a scalar function (not an aggregate or window function) +// ** (2) It has either the SQLITE_FUNC_CONSTANT or SQLITE_FUNC_SLOCHNG +// ** property. +// ** (3) All of its arguments are constants +// ** +// ** This routine sets pWalker->eCode to 0 if pExpr is not a constant. +// ** It makes no changes to pWalker->eCode if pExpr is constant. In +// ** every case, it returns WRC_Abort. +// ** +// ** Called as a service subroutine from exprNodeIsConstant(). +// */ +func _exprNodeIsConstantFunction(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef, pList, v1 uintptr + var n int32 + var v2 bool + _, _, _, _, _, _ = db, n, pDef, pList, v1, v2 /* The database */ + _ = libc.Int32FromInt32(0) + if v2 = (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)) != uint32(0); !v2 { + v1 = *(*uintptr)(unsafe.Pointer(pExpr + 32)) + pList = v1 + } + if v2 || v1 == uintptr(0) { + n = 0 + } else { + n = (*TExprList)(unsafe.Pointer(pList)).FnExpr + _sqlite3WalkExprList(tls, pWalker, pList) + if int32((*TWalker)(unsafe.Pointer(pWalker)).FeCode) == 0 { + return int32(WRC_Abort) + } + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)|libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG)) == uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) +} + // C documentation // // /* @@ -87478,6 +87880,7 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { // ** malformed schema error. // */ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + _ = libc.Int32FromInt32(0) /* If pWalker->eCode is 2 then any term of the expression that comes from ** the ON or USING clauses of an outer join disqualifies the expression ** from being considered constant. */ @@ -87496,8 +87899,12 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 } return WRC_Continue } else { - (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) - return int32(WRC_Abort) + if (*TWalker)(unsafe.Pointer(pWalker)).FpParse != 0 { + return _exprNodeIsConstantFunction(tls, pWalker, pExpr) + } else { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } } fallthrough case int32(TK_ID): @@ -87524,6 +87931,8 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 case int32(TK_REGISTER): fallthrough case int32(TK_DOT): + fallthrough + case int32(TK_RAISE): (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) return int32(WRC_Abort) case int32(TK_VARIABLE): @@ -87549,14 +87958,14 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 return r } -func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32) { +func _exprIsConst(tls *libc.TLS, pParse uintptr, p uintptr, initFlag int32) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* w at bp+0 */ TWalker (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(initFlag) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) - *(*int32)(unsafe.Pointer(bp + 40)) = iCur _sqlite3WalkExpr(tls, bp, p) return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } @@ -87570,9 +87979,15 @@ func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32 // ** For the purposes of this function, a double-quoted string (ex: "abc") // ** is considered a variable but a single-quoted string (ex: 'abc') is // ** a constant. +// ** +// ** The pParse parameter may be NULL. But if it is NULL, there is no way +// ** to determine if function calls are constant or not, and hence all +// ** function calls will be considered to be non-constant. If pParse is +// ** not NULL, then a function call might be constant, depending on the +// ** function and on its parameters. // */ -func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(1), 0) +func _sqlite3ExprIsConstant(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(1)) } // C documentation @@ -87590,8 +88005,26 @@ func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { // ** can be added to the pParse->pConstExpr list and evaluated once when // ** the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). // */ -func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(2), 0) +func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(2)) +} + +// C documentation +// +// /* +// ** This routine examines sub-SELECT statements as an expression is being +// ** walked as part of sqlite3ExprIsTableConstant(). Sub-SELECTs are considered +// ** constant as long as they are uncorrelated - meaning that they do not +// ** contain any terms from outer contexts. +// */ +func _exprSelectWalkTableConstant(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if (*TSelect)(unsafe.Pointer(pSelect)).FselFlags&uint32(SF_Correlated) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) } // C documentation @@ -87601,9 +88034,25 @@ func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { // ** for any single row of the table with cursor iCur. In other words, the // ** expression must not refer to any non-deterministic function nor any // ** table other than iCur. +// ** +// ** Consider uncorrelated subqueries to be constants if the bAllowSubq +// ** parameter is true. // */ -func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) { - return _exprIsConst(tls, p, int32(3), iCur) +func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32, bAllowSubq int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(3) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = uintptr(0) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) + if bAllowSubq != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_exprSelectWalkTableConstant) + } else { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) + } + *(*int32)(unsafe.Pointer(bp + 40)) = iCur + _sqlite3WalkExpr(tls, bp, p) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } // C documentation @@ -87623,7 +88072,10 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** // ** (1) pExpr cannot refer to any table other than pSrc->iCursor. // ** -// ** (2) pExpr cannot use subqueries or non-deterministic functions. +// ** (2a) pExpr cannot use subqueries unless the bAllowSubq parameter is +// ** true and the subquery is non-correlated +// ** +// ** (2b) pExpr cannot use non-deterministic functions. // ** // ** (3) pSrc cannot be part of the left operand for a RIGHT JOIN. // ** (Is there some way to relax this constraint?) @@ -87649,7 +88101,7 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** which leads to incorrect answers. See also restriction (9) // ** on push-down. // */ -func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32) (r int32) { +func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32, bAllowSubq int32) (r int32) { var jj int32 var pSrc uintptr _, _ = jj, pSrc @@ -87687,7 +88139,8 @@ func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList jj++ } } - return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor) /* rules (1), (2) */ + /* Rules (1), (2a), and (2b) handled by the following: */ + return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor, bAllowSubq) } // C documentation @@ -87786,7 +88239,7 @@ func _sqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // */ func _sqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit Tu8) (r int32) { _ = libc.Int32FromInt32(0) - return _exprIsConst(tls, p, int32(4)+int32(isInit), 0) + return _exprIsConst(tls, uintptr(0), p, int32(4)+int32(isInit)) } // C documentation @@ -87930,13 +88383,13 @@ func _sqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff uint8) (r i // ** Return TRUE if the given string is a row-id column name. // */ func _sqlite3IsRowid(tls *libc.TLS, z uintptr) (r int32) { - if _sqlite3StrICmp(tls, z, __ccgo_ts+7906) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8031) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7914) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8039) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+7920) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+8045) == 0 { return int32(1) } return 0 @@ -87954,9 +88407,9 @@ func _sqlite3RowidAlias(tls *libc.TLS, pTab uintptr) (r uintptr) { var iCol, ii int32 _, _, _ = azOpt, iCol, ii azOpt = [3]uintptr{ - 0: __ccgo_ts + 7906, - 1: __ccgo_ts + 7914, - 2: __ccgo_ts + 7920, + 0: __ccgo_ts + 8031, + 1: __ccgo_ts + 8039, + 2: __ccgo_ts + 8045, } _ = libc.Int32FromInt32(0) ii = 0 @@ -88080,14 +88533,14 @@ func _sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int // ** The argument is an IN operator with a list (not a subquery) on the // ** right-hand side. Return TRUE if that list is constant. // */ -func _sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) (r int32) { +func _sqlite3InRhsIsConstant(tls *libc.TLS, pParse uintptr, pIn uintptr) (r int32) { var pLHS uintptr var res int32 _, _ = pLHS, res _ = libc.Int32FromInt32(0) pLHS = (*TExpr)(unsafe.Pointer(pIn)).FpLeft (*TExpr)(unsafe.Pointer(pIn)).FpLeft = uintptr(0) - res = _sqlite3ExprIsConstant(tls, pIn) + res = _sqlite3ExprIsConstant(tls, pParse, pIn) (*TExpr)(unsafe.Pointer(pIn)).FpLeft = pLHS return res } @@ -88245,7 +88698,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 iAddr = _sqlite3VdbeAddOp0(tls, v, int32(OP_Once)) _sqlite3OpenTable(tls, pParse, iTab, iDb, pTab, int32(OP_OpenRead)) eType = int32(IN_INDEX_ROWID) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+7924, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+8049, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) _sqlite3VdbeJumpHere(tls, v, iAddr) } else { /* Iterator variable */ affinity_ok = int32(1) @@ -88348,7 +88801,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 if colUsed == libc.Uint64FromInt32(1)<0 so that the new limit is either 1 or 0 */ db = (*TParse)(unsafe.Pointer(pParse)).Fdb - pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1731) + pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1791) if pLimit != 0 { (*TExpr)(unsafe.Pointer(pLimit)).FaffExpr = uint8(SQLITE_AFF_NUMERIC) pLimit = _sqlite3PExpr(tls, pParse, int32(TK_NE), _sqlite3ExprDup(tls, db, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft, 0), pLimit) @@ -88859,7 +89312,7 @@ func _sqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int3 (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { /* If there is no pre-existing limit add a limit of 1 */ - pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8139) + pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+8264) (*TSelect)(unsafe.Pointer(pSel)).FpLimit = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), pLimit, uintptr(0)) } (*TSelect)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -89255,13 +89708,13 @@ func _codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, i _ = libc.Int32FromInt32(0) c = _sqlite3DecOrHexToI64(tls, z, bp) if c == int32(3) && !(negFlag != 0) || c == int32(2) || negFlag != 0 && *(*Ti64)(unsafe.Pointer(bp)) == int64(-libc.Int32FromInt32(1))-(libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)<= (*TAggInfo)(unsafe.Pointer(pInfo)).FnFunc { _ = libc.Int32FromInt32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8232, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8357, libc.VaList(bp+160, pExpr)) } else { _ = libc.Int32FromInt32(0) return (*TAggInfo)(unsafe.Pointer(pInfo)).FiFirstReg + (*TAggInfo)(unsafe.Pointer(pInfo)).FnColumn + int32((*TExpr)(unsafe.Pointer(pExpr)).FiAgg) @@ -90062,7 +90509,7 @@ expr_code_doover: if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { return (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64)))).FregResult } - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { /* SQL functions can be expensive. So try to avoid running them ** multiple times if we know they always give the same result */ return _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) @@ -90080,7 +90527,7 @@ expr_code_doover: zId = *(*uintptr)(unsafe.Pointer(pExpr + 8)) pDef = _sqlite3FindFunction(tls, db, zId, nFarg, enc, uint8(0)) if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8259, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8384, libc.VaList(bp+160, pExpr)) break } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_INLINE) != uint32(0) && pFarg != uintptr(0) { @@ -90097,7 +90544,7 @@ expr_code_doover: if !(i < nFarg) { break } - if i < int32(32) && _sqlite3ExprIsConstant(tls, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { + if i < int32(32) && _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { constMask |= libc.Uint32FromInt32(1) << i } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_NEEDCOLL) != uint32(0) && !(pColl != 0) { @@ -90194,7 +90641,7 @@ expr_code_doover: _ = libc.Int32FromInt32(0) n1 = _sqlite3ExprVectorSize(tls, pLeft2) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != n1 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7842, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7967, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) } return (*TExpr)(unsafe.Pointer(pLeft2)).FiTable + int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) case int32(TK_IN): @@ -90226,8 +90673,9 @@ expr_code_doover: if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Collate)) != libc.Uint32FromInt32(0)) { /* A TK_COLLATE Expr node without the EP_Collate tag is a so-called ** "SOFT-COLLATE" that is added to constraints that are pushed down - ** from outer queries into sub-queries by the push-down optimization. - ** Clear subtypes as subtypes may not cross a subquery boundary. + ** from outer queries into sub-queries by the WHERE-clause push-down + ** optimization. Clear subtypes as subtypes may not cross a subquery + ** boundary. */ _ = libc.Int32FromInt32(0) _sqlite3ExprCode(tls, pParse, (*TExpr)(unsafe.Pointer(pExpr)).FpLeft, target) @@ -90262,7 +90710,7 @@ expr_code_doover: _sqlite3VdbeAddOp1(tls, v, int32(OP_RealAffinity), target) } case int32(TK_VECTOR): - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6686, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6750, 0) break /* TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions ** that derive from the right-hand table of a LEFT JOIN. The @@ -90384,7 +90832,7 @@ expr_code_doover: case int32(TK_RAISE): _ = libc.Int32FromInt32(0) if !((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != 0) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8283, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8408, 0) return 0 } if int32((*TExpr)(unsafe.Pointer(pExpr)).FaffExpr) == int32(OE_Abort) { @@ -90508,7 +90956,7 @@ func _sqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin var r1, r2 int32 _, _ = r1, r2 pExpr = _sqlite3ExprSkipCollateAndLikely(tls, pExpr) - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { *(*int32)(unsafe.Pointer(pReg)) = 0 r2 = _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) } else { @@ -90581,7 +91029,7 @@ func _sqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // ** might choose to code the expression at initialization time. // */ func _sqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { _sqlite3ExprCodeCopy(tls, pParse, pExpr, target) @@ -90652,7 +91100,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ _sqlite3VdbeAddOp2(tls, v, int32(copyOp), j+srcReg-int32(1), target+i) } } else { - if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if int32(flags)&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target+i) } else { inReg = _sqlite3ExprCodeTarget(tls, pParse, pExpr, target+i) @@ -91997,18 +92445,16 @@ func _agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnColumn && (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } else { _ = libc.Int32FromInt32(0) if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnFunc && (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } @@ -92578,8 +93024,8 @@ func _sqlite3FirstAvailableRegister(tls *libc.TLS, pParse uintptr, iMin int32) ( func _isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) - if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6534, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8333, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6598, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8458, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -92598,9 +93044,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, bp := tls.Alloc(48) defer tls.Free(48) (*TParse)(unsafe.Pointer(pParse)).FcolNamesSet = uint8(1) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8361, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8486, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8536, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8661, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) } } @@ -92616,9 +93062,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, func _renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8710, libc.VaList(bp+8, zDb, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8835, libc.VaList(bp+8, zDb, zDb)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+8857, 0) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+8982, 0) } } @@ -92676,7 +93122,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName ** in database iDb. If so, this is an error. */ if _sqlite3FindTable(tls, db, zName, zDb) != 0 || _sqlite3FindIndex(tls, db, zName, zDb) != 0 || _sqlite3IsShadowTableOf(tls, db, pTab, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9008, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9133, libc.VaList(bp+8, zName)) goto exit_rename_table } /* Make sure it is not a system table being altered, or a reserved name @@ -92685,11 +93131,11 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { goto exit_rename_table } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9067, zName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+9192, zName) { goto exit_rename_table } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9073, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9198, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table } /* Invoke the authorization callback. */ @@ -92719,21 +93165,21 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName nTabName = _sqlite3Utf8CharLen(tls, zTabName, -int32(1)) /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in ** the schema to use the new table name. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9100, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9225, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) /* Update the tbl_name and name columns of the sqlite_schema table ** as required. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9284, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9409, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) /* If the sqlite_sequence table exists in this database, then update ** it with the new table name. */ - if _sqlite3FindTable(tls, db, __ccgo_ts+9589, zDb) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9605, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if _sqlite3FindTable(tls, db, __ccgo_ts+9714, zDb) != 0 { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9730, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* If the table being renamed is not itself part of the temp database, ** edit view and trigger definitions within the temp database ** as required. */ if iDb != int32(1) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9663, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9788, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) } /* If this is a virtual table, invoke the xRename() function if ** one is defined. The xRename() callback will modify the names @@ -92749,7 +93195,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName _sqlite3VdbeAddOp4(tls, v, int32(OP_VRename), i, 0, 0, pVTab, -int32(11)) } _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+9928, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+10053, 0) goto exit_rename_table exit_rename_table: ; @@ -92766,7 +93212,7 @@ exit_rename_table: func _sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9941, libc.VaList(bp+8, zErr, zDb, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10066, libc.VaList(bp+8, zErr, zDb, zTab)) } // C documentation @@ -92811,11 +93257,11 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** column must not be NULL. */ if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9979, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10104, 0) return } if (*TTable)(unsafe.Pointer(pNew)).FpIndex != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10011, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10136, 0) return } if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) == 0 { @@ -92833,10 +93279,10 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpFKey != 0 && pDflt != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10038) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10163) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && !(pDflt != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10097) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10222) } /* Ensure the default expression is something that sqlite3ValueFromExpr() ** can handle (i.e. not CURRENT_TIME etc.) @@ -92850,13 +93296,13 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr return } if !(*(*uintptr)(unsafe.Pointer(bp)) != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10150) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10275) } _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp))) } } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_STORED) != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10196) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+10321) } } /* Modify the CREATE TABLE statement. */ @@ -92872,7 +93318,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** have to use printf() to translate between these units: */ _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10223, libc.VaList(bp+16, zDb, (*(*struct { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10348, libc.VaList(bp+16, zDb, (*(*struct { FaddColOffset int32 FpFKey uintptr FpDfltList uintptr @@ -92900,7 +93346,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterAdd)) /* Verify that constraints are still satisfied */ if (*TTable)(unsafe.Pointer(pNew)).FpCheck != uintptr(0) || int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Strict) != uint32(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10369, libc.VaList(bp+16, zTab, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10494, libc.VaList(bp+16, zTab, zDb)) } } } @@ -92940,12 +93386,12 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { goto exit_begin_add_column } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10722, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10847, 0) goto exit_begin_add_column } /* Make sure this is not an attempt to ALTER a view. */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10756, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10881, 0) goto exit_begin_add_column } if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { @@ -92973,7 +93419,7 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { nAlloc = (int32((*TTable)(unsafe.Pointer(pNew)).FnCol)-int32(1))/int32(8)*int32(8) + int32(8) _ = libc.Int32FromInt32(0) (*TTable)(unsafe.Pointer(pNew)).FaCol = _sqlite3DbMallocZero(tls, db, uint64(16)*uint64(nAlloc)) - (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10786, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+10911, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !((*TTable)(unsafe.Pointer(pNew)).FaCol != 0) || !((*TTable)(unsafe.Pointer(pNew)).FzName != 0) { _ = libc.Int32FromInt32(0) goto exit_begin_add_column @@ -93037,18 +93483,18 @@ func _isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) (r i _, _ = zType, v1 zType = uintptr(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10805 + zType = __ccgo_ts + 10930 } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 10810 + zType = __ccgo_ts + 10935 } if zType != 0 { if bDrop != 0 { - v1 = __ccgo_ts + 10824 + v1 = __ccgo_ts + 10949 } else { - v1 = __ccgo_ts + 10841 + v1 = __ccgo_ts + 10966 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10859, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10984, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -93110,11 +93556,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld iCol++ } if iCol == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10877, libc.VaList(bp+8, pOld)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11002, libc.VaList(bp+8, pOld)) goto exit_rename_column } /* Ensure the schema contains no double-quoted strings */ - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1657, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1671, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1))) /* Do the rename operation using a recursive UPDATE statement that ** uses the sqlite_rename_column() SQL function to compute the new @@ -93127,11 +93573,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld } _ = libc.Int32FromInt32(0) bQuote = int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pNew)).Fz))]) & int32(0x80) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10898, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11080, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11023, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11205, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+9928, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+10053, int32(1)) goto exit_rename_column exit_rename_column: ; @@ -93610,11 +94056,11 @@ func _renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType u zT = Xsqlite3_value_text(tls, pType) zN = Xsqlite3_value_text(tls, pObject) if *(*uint8)(unsafe.Pointer(zWhen)) != 0 { - v1 = __ccgo_ts + 11211 + v1 = __ccgo_ts + 11336 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } - zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11213, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) + zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+11338, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, zErr) } @@ -93691,8 +94137,8 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin if zSql == uintptr(0) { return int32(SQLITE_NOMEM) } - if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11236, int32(7)) != 0 { - return _sqlite3CorruptError(tls, int32(116682)) + if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11361, int32(7)) != 0 { + return _sqlite3CorruptError(tls, int32(117285)) } if bTemp != 0 { v1 = int32(1) @@ -93708,7 +94154,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin rc = int32(SQLITE_NOMEM) } if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = _sqlite3CorruptError(tls, int32(116693)) + rc = _sqlite3CorruptError(tls, int32(117296)) } (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0) return rc @@ -93747,7 +94193,7 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, ** ALTER TABLE statement was quoted (bQuote==1), then set zNew to ** point to zQuot so that all substitutions are made using the ** quoted version of the new column name. */ - zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11244, libc.VaList(bp+8, zNew)) + zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+11369, libc.VaList(bp+8, zNew)) if zQuot == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -93793,11 +94239,11 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, *(*uint8)(unsafe.Pointer(zBuf1 + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = uint8(0) _sqlite3Dequote(tls, zBuf1) if int32(*(*uint8)(unsafe.Pointer((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == int32('\'') { - v1 = __ccgo_ts + 11211 + v1 = __ccgo_ts + 11336 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } - Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11250, libc.VaList(bp+8, zBuf1, v1)) + Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+11375, libc.VaList(bp+8, zBuf1, v1)) zReplace = zBuf2 nReplace = uint32(_sqlite3Strlen30(tls, zReplace)) } @@ -94289,7 +94735,7 @@ renameColumnFunc_done: Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv))) } else { if (*(*TParse)(unsafe.Pointer(bp + 32))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1657, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) + _renameColumnParseError(tls, context, __ccgo_ts+1671, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -94518,7 +94964,7 @@ func _renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintpt Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + 3*8))) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1657, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) + _renameColumnParseError(tls, context, __ccgo_ts+1671, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -94780,7 +95226,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { /* This can happen if the sqlite_schema table is corrupt */ - rc = _sqlite3CorruptError(tls, int32(117652)) + rc = _sqlite3CorruptError(tls, int32(118255)) goto drop_column_done } pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName) @@ -94798,7 +95244,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr (*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz-- } } - zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11255, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) + zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+11380, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(zSql), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -int32(1), uintptr(-libc.Int32FromInt32(1))) Xsqlite3_free(tls, zNew) goto drop_column_done @@ -94825,8 +95271,9 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName bp := tls.Alloc(48) defer tls.Free(48) var addr, i, iCol, iColPos, iCur, iDb, iPos, nField, reg, regOut, regRec, v2, v4, v7 int32 + var aff uint8 var db, pPk, pTab, v, zCol, zDb, v1, v3, v5, v8 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, aff, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Database containing pTab ("main" etc.) */ zCol = uintptr(0) /* Index of column zCol in pTab->aCol[] */ /* Look up the table being altered. */ @@ -94855,23 +95302,23 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName } iCol = _sqlite3ColumnIndex(tls, pTab, zCol) if iCol < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10877, libc.VaList(bp+8, pName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11002, libc.VaList(bp+8, pName)) goto exit_drop_column } /* Do not allow the user to drop a PRIMARY KEY column or a column ** constrained by a UNIQUE constraint. */ if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_PRIMKEY)|libc.Int32FromInt32(COLFLAG_UNIQUE)) != 0 { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - v1 = __ccgo_ts + 11262 + v1 = __ccgo_ts + 11387 } else { - v1 = __ccgo_ts + 5598 + v1 = __ccgo_ts + 5662 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11274, libc.VaList(bp+8, v1, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11399, libc.VaList(bp+8, v1, zCol)) goto exit_drop_column } /* Do not allow the number of columns to go to zero */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) <= int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11302, libc.VaList(bp+8, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11427, libc.VaList(bp+8, zCol)) goto exit_drop_column } /* Edit the sqlite_schema table */ @@ -94882,12 +95329,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_ALTER_TABLE), zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol) != 0 { goto exit_drop_column } - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1657, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1671, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1))) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11350, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11475, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11471, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11596, int32(1)) /* Edit rows of table on disk */ if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 && int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { pPk = uintptr(0) @@ -94945,7 +95392,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if i == int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regOut) } else { + aff = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity + if int32(aff) == int32(SQLITE_AFF_REAL) { + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = uint8(SQLITE_AFF_NUMERIC) + } _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab, iCur, i, regOut) + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = aff } nField++ } @@ -94990,27 +95442,27 @@ var _aAlterTableFuncs = [5]TFuncDef{ 0: { FnArg: int8(9), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11489, + FzName: __ccgo_ts + 11614, }, 1: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11510, + FzName: __ccgo_ts + 11635, }, 2: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11530, + FzName: __ccgo_ts + 11655, }, 3: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11549, + FzName: __ccgo_ts + 11674, }, 4: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 11568, + FzName: __ccgo_ts + 11693, }, } @@ -95223,7 +95675,7 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW ** side-effect of the CREATE TABLE statement is to leave the rootpage ** of the new table in register pParse->regRoot. This is important ** because the OpenWrite opcode below will be needing it. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11671, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11796, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) aRoot[i] = uint32((*TParse)(unsafe.Pointer(pParse)).FregRoot) aCreateTbl[i] = uint8(OPFLAG_P2ISREG) } @@ -95234,10 +95686,10 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW aRoot[i] = (*TTable)(unsafe.Pointer(pStat)).Ftnum _sqlite3TableLock(tls, pParse, iDb, aRoot[i], uint8(1), zTab) if zWhere != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11694, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11819, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11724, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11849, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { /* The sqlite_stat[134] table already exists. Delete all rows. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Clear), int32(aRoot[i]), iDb) @@ -95270,15 +95722,15 @@ var _aTable = [3]struct { FzCols uintptr }{ 0: { - FzName: __ccgo_ts + 11591, - FzCols: __ccgo_ts + 11604, + FzName: __ccgo_ts + 11716, + FzCols: __ccgo_ts + 11729, }, 1: { - FzName: __ccgo_ts + 11617, - FzCols: __ccgo_ts + 11630, + FzName: __ccgo_ts + 11742, + FzCols: __ccgo_ts + 11755, }, 2: { - FzName: __ccgo_ts + 11658, + FzName: __ccgo_ts + 11783, }, } @@ -95587,7 +96039,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statInitFuncdef = TFuncDef{ FnArg: int8(4), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11742, + FzName: __ccgo_ts + 11867, } func init() { @@ -95973,7 +96425,7 @@ func _statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statPushFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(2) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11752, + FzName: __ccgo_ts + 11877, } func init() { @@ -96026,7 +96478,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { v1 = (*TStatAccum)(unsafe.Pointer(p)).FnRow } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11762, libc.VaList(bp+72, v1)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11887, libc.VaList(bp+72, v1)) i = 0 for { if !(i < (*TStatAccum)(unsafe.Pointer(p)).FnKeyCol) { @@ -96037,7 +96489,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if iVal == uint64(2) && (*TStatAccum)(unsafe.Pointer(p)).FnRow*uint64(10) <= nDistinct*uint64(11) { iVal = uint64(1) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11767, libc.VaList(bp+72, iVal)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+11892, libc.VaList(bp+72, iVal)) _ = libc.Int32FromInt32(0) goto _2 _2: @@ -96078,7 +96530,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if !(i1 < (*TStatAccum)(unsafe.Pointer(p)).FnCol) { break } - Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11773, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) + Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+11898, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) goto _3 _3: ; @@ -96096,7 +96548,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statGetFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(1) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 11779, + FzName: __ccgo_ts + 11904, } func init() { @@ -96118,9 +96570,9 @@ func _callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, re // */ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { var aGotoChng, db, pColl, pIdx, pPk, pStat1, pX, v, zIdxName uintptr - var addrIsNull, addrNext, addrNextRow, addrRewind, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 + var addrGotoEnd, addrIsNull, addrNext, addrNextRow, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 var needTableCnt, seekOp Tu8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrIsNull, addrNext, addrNextRow, addrRewind, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrGotoEnd, addrIsNull, addrNext, addrNextRow, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Loop counter */ jZeroRows = -int32(1) /* Index of database containing pTab */ needTableCnt = uint8(1) @@ -96164,7 +96616,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Do not gather statistics on views or virtual tables */ return } - if Xsqlite3_strlike(tls, __ccgo_ts+11788, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, __ccgo_ts+11913, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { /* Do not gather statistics on system tables */ return } @@ -96181,7 +96633,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint return } (*TTable)(unsafe.Pointer(pStat1)).FzName = pStat1 + 1*104 - libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11591, uint64(13)) + libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+11716, uint64(13)) (*TTable)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*TTable)(unsafe.Pointer(pStat1)).FiPKey = int16(-int32(1)) _sqlite3VdbeAddOp4(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Noop), 0, 0, 0, pStat1, -int32(6)) @@ -96235,9 +96687,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* ** Pseudo-code for loop that calls stat_push(): ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() ** goto chng_addr_0; ** ** next_row: @@ -96272,34 +96729,31 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _ = libc.Int32FromInt32(0) _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenRead), iIdxCur, int32((*TIndex)(unsafe.Pointer(pIdx)).Ftnum), iDb) _sqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - /* Invoke the stat_init() function. The arguments are: + /* Implementation of the following: ** + ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() + ** goto chng_addr_0; + */ + _ = libc.Int32FromInt32(0) + _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + /* Arguments to stat_init(): ** (1) the number of columns in the index including the rowid ** (or for a WITHOUT ROWID table, the number of PK columns), ** (2) the number of columns in the key without the rowid/pk - ** (3) estimated number of rows in the index, - */ + ** (3) estimated number of rows in the index. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), nCol, regStat+int32(1)) _ = libc.Int32FromInt32(0) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol), regRowid) - if (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0) { - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iIdxCur, regTemp) - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - } else { - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, int32(1)) - } - _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) != uint32(0))) _sqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat+int32(1), regStat, int32(4), uintptr(unsafe.Pointer(&_statInitFuncdef)), 0) - /* Implementation of the following: - ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; - ** regChng = 0 - ** goto next_push_0; - ** - */ + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regChng) addrNextRow = _sqlite3VdbeCurrentAddr(tls, v) if nColTest > 0 { @@ -96411,9 +96865,15 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), iIdxCur, addrNextRow) } /* Add the entry to the stat1 table. */ + if (*TIndex)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { + /* Partial indexes might get a zero-entry in sqlite_stat1. But + ** an empty table is omitted from sqlite_stat1. */ + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + addrGotoEnd = 0 + } _callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11798, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11923, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP4(tls, v, -int32(1), pStat1, -int32(5)) @@ -96432,6 +96892,11 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint v18 = int32(OP_NotFound) } seekOp = uint8(v18) + /* No STAT4 data is generated if the number of rows is zero */ + if addrGotoEnd == 0 { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Cast), regStat1, int32(SQLITE_AFF_INTEGER)) + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) + } if doOnce != 0 { mxCol = nCol /* Compute the maximum number of columns in any index */ @@ -96486,7 +96951,9 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeJumpHere(tls, v, addrIsNull) } /* End of analysis */ - _sqlite3VdbeJumpHere(tls, v, addrRewind) + if addrGotoEnd != 0 { + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + } goto _13 _13: ; @@ -96500,7 +96967,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint jZeroRows = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regIdxname) _ = libc.Int32FromInt32(0) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11798, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+11923, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -96575,9 +97042,9 @@ func _analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr iStatCur = (*TParse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52)) += int32(3) if pOnlyIdx != 0 { - _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11802) + _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+11927) } else { - _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11806) + _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11931) } _analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, (*TParse)(unsafe.Pointer(pParse)).FnMem+int32(1), (*TParse)(unsafe.Pointer(pParse)).FnTab) _loadAnalysis(tls, pParse, iDb) @@ -96708,7 +97175,7 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, _, _, _, _, _, _ = c, i, sz, v, z, v2 z = zIntArray if z == uintptr(0) { - z = __ccgo_ts + 1657 + z = __ccgo_ts + 1671 } i = 0 for { @@ -96743,17 +97210,17 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 6, 0x40) for *(*uint8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, __ccgo_ts+11810, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11935, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 2, 0x4) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11821, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11946, z) == 0 { sz = _sqlite3Atoi(tls, z+uintptr(3)) if sz < int32(2) { sz = int32(2) } (*TIndex)(unsafe.Pointer(pIndex)).FszIdxRow = _sqlite3LogEst(tls, uint64(sz)) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+11831, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+11956, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 6, 0x40) } } @@ -97137,11 +97604,11 @@ func _loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) (r int32) { rc = SQLITE_OK _ = libc.Int32FromInt32(0) if v2 = (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0); v2 { - v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11617, zDb) + v1 = _sqlite3FindTable(tls, db, __ccgo_ts+11742, zDb) pStat4 = v1 } if v2 && v1 != uintptr(0) && int32((*TTable)(unsafe.Pointer(pStat4)).FeTabType) == TABTYP_NORM { - rc = _loadStatTbl(tls, db, __ccgo_ts+11843, __ccgo_ts+11912, zDb) + rc = _loadStatTbl(tls, db, __ccgo_ts+11968, __ccgo_ts+12037, zDb) } return rc } @@ -97210,10 +97677,10 @@ func _sqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) (r int32) { /* Load new statistics out of the sqlite_stat1 table */ (*(*TanalysisInfo)(unsafe.Pointer(bp))).Fdb = db (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName - v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11591, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) + v3 = _sqlite3FindTable(tls, db, __ccgo_ts+11716, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) pStat1 = v3 if v3 != 0 && int32((*TTable)(unsafe.Pointer(pStat1)).FeTabType) == TABTYP_NORM { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+11964, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+12089, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -97327,7 +97794,7 @@ func _resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) (r int32) { // ** database iDb attached to handle db. // */ func _sqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) (r int32) { - return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6594, zName) == 0) + return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+6658, zName) == 0) } // C documentation @@ -97369,21 +97836,21 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if zFile == uintptr(0) { - zFile = __ccgo_ts + 1657 + zFile = __ccgo_ts + 1671 } if zName == uintptr(0) { - zName = __ccgo_ts + 1657 + zName = __ccgo_ts + 1671 } if int32(uint32(*(*uint8)(unsafe.Pointer(db + 192 + 8))&0x4>>2)) != 0 { /* 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 + 40)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+3976) + *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+4040) if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { return } - rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12005, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) + rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+12130, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) if rc == SQLITE_OK { pNewSchema = _sqlite3SchemaGet(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40))) if pNewSchema != 0 { @@ -97414,7 +97881,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { ** * Specified database name already being used. */ if (*Tsqlite3)(unsafe.Pointer(db)).FnDb >= *(*int32)(unsafe.Pointer(db + 136 + 7*4))+int32(2) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12008, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12133, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) goto attach_error } i = 0 @@ -97424,7 +97891,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } _ = libc.Int32FromInt32(0) if _sqlite3DbIsNamed(tls, db, i, zName) != 0 { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12045, libc.VaList(bp+56, zName)) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12170, libc.VaList(bp+56, zName)) goto attach_error } goto _1 @@ -97473,7 +97940,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FnoSharedCache = uint8(0) if rc == int32(SQLITE_CONSTRAINT) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12075, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12200, 0) } else { if rc == SQLITE_OK { (*TDb)(unsafe.Pointer(pNew)).FpSchema = _sqlite3SchemaGet(tls, db, (*TDb)(unsafe.Pointer(pNew)).FpBt) @@ -97481,7 +97948,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { rc = int32(SQLITE_NOMEM) } else { if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0 && int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12104, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+12229, 0) rc = int32(SQLITE_ERROR) } } @@ -97527,10 +97994,10 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)<= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12200, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12325, libc.VaList(bp+136, zName)) goto detach_error } if i < int32(2) { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12221, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12346, libc.VaList(bp+136, zName)) goto detach_error } if _sqlite3BtreeTxnState(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != SQLITE_TXN_NONE || _sqlite3BtreeIsInBackup(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != 0 { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12247, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+12372, libc.VaList(bp+136, zName)) goto detach_error } /* If any TEMP triggers reference the schema being detached, move those @@ -97698,7 +98165,7 @@ func _sqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { var _detach_func = TFuncDef{ FnArg: int8(1), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12269, + FzName: __ccgo_ts + 12394, } func init() { @@ -97720,7 +98187,7 @@ func _sqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, p var _attach_func = TFuncDef{ FnArg: int8(3), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 12283, + FzName: __ccgo_ts + 12408, } func init() { @@ -97746,7 +98213,7 @@ func _fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) (r int32) { if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer((*TDbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit1.Fbusy != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } else { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12297, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12422, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) return int32(WRC_Abort) } } @@ -97780,7 +98247,7 @@ func _fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) (r int32) { if int32((*TDbFixer)(unsafe.Pointer(pFix)).FbTemp) == 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != _sqlite3FindDbName(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12321, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+12446, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return int32(WRC_Abort) } _sqlite3DbFree(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) @@ -97997,7 +98464,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // ** user-supplied authorization function returned an illegal value. // */ func _sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12367, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12492, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) } @@ -98025,11 +98492,11 @@ func _sqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, int32(SQLITE_READ), zTab, zCol, zDb, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12390, libc.VaList(bp+8, zTab, zCol)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12515, libc.VaList(bp+8, zTab, zCol)) if (*Tsqlite3)(unsafe.Pointer(db)).FnDb > int32(2) || iDb != 0 { - z = Xsqlite3_mprintf(tls, __ccgo_ts+12396, libc.VaList(bp+8, zDb, z)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+12521, libc.VaList(bp+8, zDb, z)) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12402, libc.VaList(bp+8, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12527, libc.VaList(bp+8, z)) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != int32(SQLITE_IGNORE) && rc != SQLITE_OK { @@ -98095,7 +98562,7 @@ func _sqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint _ = libc.Int32FromInt32(0) zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName } else { - zCol = __ccgo_ts + 7914 + zCol = __ccgo_ts + 8039 } } _ = libc.Int32FromInt32(0) @@ -98132,7 +98599,7 @@ func _sqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, ** parameters can be either NULL or a string. */ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12429, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12554, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != SQLITE_OK && rc != int32(SQLITE_IGNORE) { @@ -98567,21 +99034,21 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { /* No match against the official names. But always match "main" ** to schema 0 as a legacy fallback. */ - if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6594) == 0 { + if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+6658) == 0 { i = 0 } else { return uintptr(0) } } p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, zName) - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6534, int32(7)) == 0 { + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6598, int32(7)) == 0 { if i == int32(1) { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6561+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6580+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6075+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6542) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6625+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6644+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6139+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6606) } } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6580+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6075) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6644+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+6139) } } } @@ -98612,12 +99079,12 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp ; i++ } - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6534, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6580+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6075) + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6598, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6644+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+6139) } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6561+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6542) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6625+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+6606) } } } @@ -98655,7 +99122,7 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt ** can be an eponymous virtual table. */ if int32((*TParse)(unsafe.Pointer(pParse)).FprepFlags)&int32(SQLITE_PREPARE_NO_VTAB) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 { pMod = _sqlite3HashFind(tls, db+576, zName) - if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12444, int32(7)) == 0 { + if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+12569, int32(7)) == 0 { pMod = _sqlite3PragmaVtabRegister(tls, db, zName) } if pMod != 0 && _sqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0 { @@ -98673,15 +99140,15 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt } if p == uintptr(0) { if flags&uint32(LOCATE_VIEW) != 0 { - v1 = __ccgo_ts + 12452 + v1 = __ccgo_ts + 12577 } else { - v1 = __ccgo_ts + 12465 + v1 = __ccgo_ts + 12590 } zMsg = v1 if zDbase != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6798, libc.VaList(bp+8, zMsg, zDbase, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6862, libc.VaList(bp+8, zMsg, zDbase, zName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6808, libc.VaList(bp+8, zMsg, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+6933, libc.VaList(bp+8, zMsg, zName)) } } else { _ = libc.Int32FromInt32(0) @@ -98721,12 +99188,12 @@ func _sqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags Tu32, p uintpt // ** names into the new preferred names, as appropriate. // */ func _sqlite3PreferredTableName(tls *libc.TLS, zName uintptr) (r uintptr) { - if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6534, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6075+7) == 0 { - return __ccgo_ts + 6580 + if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6598, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6139+7) == 0 { + return __ccgo_ts + 6644 } - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6542+7) == 0 { - return __ccgo_ts + 6561 + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+6606+7) == 0 { + return __ccgo_ts + 6625 } } return zName @@ -99272,7 +99739,7 @@ func _sqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { var v uintptr _ = v v = _sqlite3GetVdbe(tls, p) - _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6075) + _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+6139) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_OpenWrite), 0, int32(SCHEMA_ROOT), iDb, int32(5)) if (*TParse)(unsafe.Pointer(p)).FnTab == 0 { (*TParse)(unsafe.Pointer(p)).FnTab = int32(1) @@ -99304,7 +99771,7 @@ func _sqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) { } /* "main" is always an acceptable alias for the primary database ** even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. */ - if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6594, zName) { + if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+6658, zName) { break } goto _1 @@ -99363,13 +99830,13 @@ func _sqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u _ = libc.Int32FromInt32(0) if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12479, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12604, 0) return -int32(1) } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = _sqlite3FindDb(tls, db, pName1) if iDb < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12496, libc.VaList(bp+8, pName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12621, libc.VaList(bp+8, pName1)) return -int32(1) } } else { @@ -99414,12 +99881,12 @@ func _sqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit))) != 0 || Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 1*8))) != 0 || Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 2*8))) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1657, 0) /* corruptSchema() will supply the error */ + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1671, 0) /* corruptSchema() will supply the error */ return int32(SQLITE_ERROR) } } else { - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6534, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12516, libc.VaList(bp+8, zName)) + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+6598, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12641, libc.VaList(bp+8, zName)) return int32(SQLITE_ERROR) } } @@ -99635,9 +100102,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui /* Special case: Parsing the sqlite_schema or sqlite_temp_schema schema */ iDb = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6542 + v1 = __ccgo_ts + 6606 } else { - v1 = __ccgo_ts + 6075 + v1 = __ccgo_ts + 6139 } zName = _sqlite3DbStrDup(tls, db, v1) *(*uintptr)(unsafe.Pointer(bp)) = pName1 @@ -99650,7 +100117,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 && (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) && iDb != int32(1) { /* If creating a temp table, the name may not be qualified. Unless ** the database name is "temp" anyway. */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12558, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12683, 0) return } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 { @@ -99666,9 +100133,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui return } if isView != 0 { - v2 = __ccgo_ts + 10805 + v2 = __ccgo_ts + 10930 } else { - v2 = __ccgo_ts + 9067 + v2 = __ccgo_ts + 9192 } if _sqlite3CheckObjectName(tls, pParse, zName, v2, zName) != 0 { goto begin_table_error @@ -99680,9 +100147,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui _ = libc.Int32FromInt32(0) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp == int32(1) { - v3 = __ccgo_ts + 6542 + v3 = __ccgo_ts + 6606 } else { - v3 = __ccgo_ts + 6075 + v3 = __ccgo_ts + 6139 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto begin_table_error @@ -99706,11 +100173,11 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if pTable != 0 { if !(noErr != 0) { if int32((*TTable)(unsafe.Pointer(pTable)).FeTabType) == int32(TABTYP_VIEW) { - v4 = __ccgo_ts + 10805 + v4 = __ccgo_ts + 10930 } else { - v4 = __ccgo_ts + 9067 + v4 = __ccgo_ts + 9192 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12599, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12724, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -99719,7 +100186,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui goto begin_table_error } if _sqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12620, libc.VaList(bp+16, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12745, libc.VaList(bp+16, zName)) goto begin_table_error } } @@ -99875,7 +100342,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { _, _, _ = db, pHash, pRet db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TParse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12655, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12780, 0) } else { _ = libc.Int32FromInt32(0) } @@ -99892,7 +100359,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12689, libc.VaList(bp+8, pParse)) + Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+12814, libc.VaList(bp+8, pParse)) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.FzName = pRet + 196 (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Fop = uint8(TK_RETURNING) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = uint8(TRIGGER_AFTER) @@ -99940,7 +100407,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok return } if int32((*TTable)(unsafe.Pointer(p)).FnCol)+int32(1) > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12709, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12834, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) return } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -99950,12 +100417,12 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok ** by the parser, we can sometimes end up with a typename that ends ** with "generated always". Check for this case and omit the surplus ** text. */ - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12732, int32(6)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+12857, int32(6)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(6) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- } - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12739, int32(9)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+12864, int32(9)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(9) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- @@ -100004,7 +100471,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok break } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FhName) == int32(hName) && _sqlite3StrICmp(tls, z, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FzCnName) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12749, libc.VaList(bp+40, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12874, libc.VaList(bp+40, z)) _sqlite3DbFree(tls, db, z) return } @@ -100214,10 +100681,10 @@ func _sqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar isInit = libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) != int32(1)) pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(p)).FnCol)-int32(1))*16 if !(_sqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(isInit)) != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12775, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12900, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12820, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12945, 0) } else { libc.Xmemset(tls, bp, 0, uint64(72)) (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_SPAN) @@ -100275,7 +100742,7 @@ func _makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { p1 = pCol + 14 *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(COLFLAG_PRIMKEY)) if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12861, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12986, 0) } } @@ -100312,7 +100779,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError goto primary_key_exit } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasPrimaryKey) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12913, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13038, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit } *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_HasPrimaryKey) @@ -100371,7 +100838,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError _sqlite3HasExplicitNulls(tls, pParse, pList) } else { if autoInc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12954, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13079, 0) } else { _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), uintptr(0), sortOrder, 0, uint8(SQLITE_IDXTYPE_PRIMARYKEY)) pList = uintptr(0) @@ -100488,17 +100955,17 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui } pCol = (*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-int32(1))*16 if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) == int32(PARSE_MODE_DECLARE_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13010, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13135, 0) goto generated_done } if int32((*TColumn)(unsafe.Pointer(pCol)).FiDflt) > 0 { goto generated_error } if pType != 0 { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13053, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+13178, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { /* no-op */ } else { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13061, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+13186, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { eType = uint8(COLFLAG_STORED) } else { goto generated_error @@ -100532,7 +100999,7 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui goto generated_error generated_error: ; - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13068, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13193, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) goto generated_done generated_done: ; @@ -100696,13 +101163,13 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { } n += _identLength(tls, (*TTable)(unsafe.Pointer(p)).FzName) if n < int32(50) { - zSep = __ccgo_ts + 1657 - zSep2 = __ccgo_ts + 13099 - zEnd = __ccgo_ts + 5115 + zSep = __ccgo_ts + 1671 + zSep2 = __ccgo_ts + 13224 + zEnd = __ccgo_ts + 5179 } else { - zSep = __ccgo_ts + 13101 - zSep2 = __ccgo_ts + 13105 - zEnd = __ccgo_ts + 13110 + zSep = __ccgo_ts + 13226 + zSep2 = __ccgo_ts + 13230 + zEnd = __ccgo_ts + 13235 } n += int32(35) + int32(6)*int32((*TTable)(unsafe.Pointer(p)).FnCol) zStmt = _sqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -100710,7 +101177,7 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { _sqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13113, 0) + Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+13238, 0) *(*int32)(unsafe.Pointer(bp)) = _sqlite3Strlen30(tls, zStmt) _identPut(tls, zStmt, bp, (*TTable)(unsafe.Pointer(p)).FzName) v2 = *(*int32)(unsafe.Pointer(bp)) @@ -100740,17 +101207,17 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { i++ pCol += 16 } - Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3804, libc.VaList(bp+16, zEnd)) + Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+3868, libc.VaList(bp+16, zEnd)) return zStmt } var _azType1 = [6]uintptr{ - 0: __ccgo_ts + 1657, - 1: __ccgo_ts + 13127, - 2: __ccgo_ts + 13133, - 3: __ccgo_ts + 13138, - 4: __ccgo_ts + 13143, - 5: __ccgo_ts + 13133, + 0: __ccgo_ts + 1671, + 1: __ccgo_ts + 13252, + 2: __ccgo_ts + 13258, + 3: __ccgo_ts + 13263, + 4: __ccgo_ts + 13268, + 5: __ccgo_ts + 13258, } // C documentation @@ -101349,13 +101816,13 @@ func _sqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts Tu32, pSelect uintptr) { bp := tls.Alloc(112) defer tls.Free(112) - var addrInsLoop, addrTop, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v4, v6, v8 int32 + var addrInsLoop, addrTop, iCsr, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v10, v4, v6, v8 int32 var colFlags Tu32 - var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v5, v7, v9 uintptr - var v10 Ti16 + var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v13, v5, v7, v9 uintptr + var v12 Ti16 var _ /* dest at bp+0 */ TSelectDest - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v4, v5, v6, v7, v8, v9 /* The new table */ - db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iCsr, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v12, v13, v4, v5, v6, v7, v8, v9 /* The new table */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ if pEnd == uintptr(0) && pSelect == uintptr(0) { return } @@ -101377,7 +101844,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if pSelect != 0 || !(int32((*TTable)(unsafe.Pointer(p)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) && (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1657, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1671, 0) return } (*TTable)(unsafe.Pointer(p)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum @@ -101404,9 +101871,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(ii)*16 if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf0>>4)) == COLTYPE_CUSTOM { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_HASTYPE) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13149, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1657))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13274, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1671))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13182, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13307, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } return } else { @@ -101429,11 +101896,11 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* Special processing for WITHOUT ROWID Tables */ if tabOpts&uint32(TF_WithoutRowid) != 0 { if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13209, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13334, 0) return } if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasPrimaryKey) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13259, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13384, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) return } *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) @@ -101480,7 +101947,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ii1++ } if nNG == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13291, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13416, 0) return } } @@ -101514,12 +101981,12 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if int32((*TTable)(unsafe.Pointer(p)).FeTabType) == TABTYP_NORM { /* A regular table */ - zType = __ccgo_ts + 9067 - zType2 = __ccgo_ts + 13335 + zType = __ccgo_ts + 9192 + zType2 = __ccgo_ts + 13460 } else { /* A view */ - zType = __ccgo_ts + 10805 - zType2 = __ccgo_ts + 13341 + zType = __ccgo_ts + 10930 + zType2 = __ccgo_ts + 13466 } /* If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT ** statement to populate the new table. The root-page number for the @@ -101534,29 +102001,31 @@ func _sqlite3EndTable(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 { /* A table that describes the SELECT results */ + if pSelect != 0 { /* Write cursor on the new table */ if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) (*TParse)(unsafe.Pointer(pParse)).FnErr++ return } - v5 = pParse + 56 - *(*int32)(unsafe.Pointer(v5))++ + v5 = pParse + 52 v4 = *(*int32)(unsafe.Pointer(v5)) - regYield = v4 + *(*int32)(unsafe.Pointer(v5))++ + iCsr = v4 v7 = pParse + 56 *(*int32)(unsafe.Pointer(v7))++ v6 = *(*int32)(unsafe.Pointer(v7)) - regRec = v6 + regYield = v6 v9 = pParse + 56 *(*int32)(unsafe.Pointer(v9))++ v8 = *(*int32)(unsafe.Pointer(v9)) - regRowid = v8 - _ = libc.Int32FromInt32(0) + regRec = v8 + v11 = pParse + 56 + *(*int32)(unsafe.Pointer(v11))++ + v10 = *(*int32)(unsafe.Pointer(v11)) + regRowid = v10 _sqlite3MayAbort(tls, pParse) - _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), int32(1), (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) + _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), iCsr, (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_P2ISREG)) - (*TParse)(unsafe.Pointer(pParse)).FnTab = int32(2) addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -101567,9 +102036,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr return } _ = libc.Int32FromInt32(0) - v10 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol - (*TTable)(unsafe.Pointer(p)).FnNVCol = v10 - (*TTable)(unsafe.Pointer(p)).FnCol = v10 + v12 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol + (*TTable)(unsafe.Pointer(p)).FnNVCol = v12 + (*TTable)(unsafe.Pointer(p)).FnCol = v12 (*TTable)(unsafe.Pointer(p)).FaCol = (*TTable)(unsafe.Pointer(pSelTab)).FaCol (*TTable)(unsafe.Pointer(pSelTab)).FnCol = 0 (*TTable)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) @@ -101584,33 +102053,33 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr addrInsLoop = _sqlite3VdbeAddOp1(tls, v, int32(OP_Yield), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSDParm) _sqlite3VdbeAddOp3(tls, v, int32(OP_MakeRecord), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst, (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst, regRec) _sqlite3TableAffinity(tls, v, p, 0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), int32(1), regRowid) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), int32(1), regRec, regRowid) + _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iCsr, regRowid) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iCsr, regRec, regRowid) _sqlite3VdbeGoto(tls, v, addrInsLoop) _sqlite3VdbeJumpHere(tls, v, addrInsLoop) - _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), int32(1)) + _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), iCsr) } /* Compute the complete text of the CREATE statement */ if pSelect != 0 { zStmt = _createTableStmt(tls, db, p) } else { if tabOpts != 0 { - v11 = pParse + 288 + v13 = pParse + 288 } else { - v11 = pEnd + v13 = pEnd } - pEnd2 = v11 + pEnd2 = v13 n = int32(int64((*TToken)(unsafe.Pointer(pEnd2)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) if int32(*(*uint8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pEnd2)).Fz))) != int32(';') { n = int32(uint32(n) + (*TToken)(unsafe.Pointer(pEnd2)).Fn) } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13346, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+13471, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13361, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13486, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) _sqlite3DbFree(tls, db, zStmt) _sqlite3ChangeCookie(tls, pParse, iDb) /* Check to see if we need to create an sqlite_sequence table for @@ -101620,17 +102089,16 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 _ = libc.Int32FromInt32(0) if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13459, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13584, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) } } /* Reparse everything to update our internal data structures */ - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13501, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+13626, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) /* Test for cycles in generated columns and illegal expressions ** in CHECK constraints and in DEFAULT clauses. */ if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasGenerated) != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13535, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(0x0001), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13660, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+13556, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } /* Add the table to the in-memory representation of the database. */ @@ -101650,7 +102118,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ** then record a pointer to this table in the main database structure ** so that INSERT can find the table easily. */ _ = libc.Int32FromInt32(0) - if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9589) == 0 { + if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+9714) == 0 { _ = libc.Int32FromInt32(0) (*TSchema)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -101685,7 +102153,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*uintptr)(unsafe.Pointer(bp + 112)) = uintptr(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if int32((*TParse)(unsafe.Pointer(pParse)).FnVar) > 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13588, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13681, 0) goto create_view_fail } _sqlite3StartTable(tls, pParse, pName1, pName2, isTemp, int32(1), 0, noErr) @@ -101702,7 +102170,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(TF_NoVisibleRowid) /* Never allow rowid in view */ _sqlite3TwoPartName(tls, pParse, pName1, pName2, bp+112) iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(p)).FpSchema) - _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10805, *(*uintptr)(unsafe.Pointer(bp + 112))) + _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+10930, *(*uintptr)(unsafe.Pointer(bp + 112))) if _sqlite3FixSelect(tls, bp+16, pSelect) != 0 { goto create_view_fail } @@ -101802,7 +102270,7 @@ func _viewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) (r int32 ** SELECT * FROM temp.ex1; */ if int32((*TTable)(unsafe.Pointer(pTable)).FnCol) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13624, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13717, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) return int32(1) } _ = libc.Int32FromInt32(0) @@ -101994,7 +102462,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { v = _sqlite3GetVdbe(tls, pParse) r1 = _sqlite3GetTempReg(tls, pParse) if iTable < int32(2) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13654, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13747, 0) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Destroy), iTable, r1, iDb) _sqlite3MayAbort(tls, pParse) @@ -102007,7 +102475,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { ** is in register NNN. See grammar rules associated with the TK_REGISTER ** token for additional information. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13669, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13762, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) _sqlite3ReleaseTempReg(tls, pParse, r1) } @@ -102092,9 +102560,9 @@ func _sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uin if !(i <= int32(4)) { break } - Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13736, libc.VaList(bp+32, i)) + Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+13829, libc.VaList(bp+32, i)) if _sqlite3FindTable(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, bp, zDbName) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11694, libc.VaList(bp+32, zDbName, bp, zType, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11819, libc.VaList(bp+32, zDbName, bp, zType, zName)) } goto _1 _1: @@ -102137,7 +102605,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** move as a result of the drop (can happen in auto-vacuum mode). */ if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13750, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13843, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* Drop all entries in the schema table that refer to the ** table. The program name loops through the schema table and deletes @@ -102146,7 +102614,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** created in the temp database that refers to a table in another ** database. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13795, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13888, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { _destroyTable(tls, pParse, pTab) } @@ -102181,11 +102649,11 @@ func _sqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) (r int32) { // ** Return true if it is not allowed to drop the given table // */ func _tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) (r int32) { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6534, int32(7)) == 0 { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3427, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6598, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+3491, int32(4)) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7275, int32(10)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+7400, int32(10)) == 0 { return 0 } return int32(1) @@ -102244,9 +102712,9 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6542 + v1 = __ccgo_ts + 6606 } else { - v1 = __ccgo_ts + 6075 + v1 = __ccgo_ts + 6139 } zTab = v1 zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName @@ -102279,18 +102747,18 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if _tableMayNotBeDropped(tls, db, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13862, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13955, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Ensure DROP TABLE is not used on a view, and DROP VIEW is not used ** on a table. */ if isView != 0 && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13890, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13983, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } if !(isView != 0) && int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13924, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14017, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Generate code to remove the table from the schema table @@ -102300,7 +102768,7 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) if !(isView != 0) { - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11806, (*TTable)(unsafe.Pointer(pTab)).FzName) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11931, (*TTable)(unsafe.Pointer(pTab)).FzName) _sqlite3FkDropTable(tls, pParse, pName, pTab) } _sqlite3CodeDropTable(tls, pParse, pTab, iDb, isView) @@ -102349,13 +102817,13 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p goto fk_end } if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13956, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14049, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) goto fk_end } nCol = int32(1) } else { if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14019, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14112, 0) goto fk_end } else { nCol = (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr @@ -102419,7 +102887,7 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p j++ } if j >= int32((*TTable)(unsafe.Pointer(p)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14113, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14206, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) goto fk_end } if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { @@ -102683,11 +103151,11 @@ func _sqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) (r i if int32(uint32(*(*uint16)(unsafe.Pointer(pList + 8 + uintptr(i)*32 + 16 + 4))&0x20>>5)) != 0 { sf = (*(*TExprList_item)(unsafe.Pointer(pList + 8 + uintptr(i)*32))).Ffg.FsortFlags if int32(sf) == 0 || int32(sf) == int32(3) { - v2 = __ccgo_ts + 14159 + v2 = __ccgo_ts + 14252 } else { - v2 = __ccgo_ts + 14165 + v2 = __ccgo_ts + 14258 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14170, libc.VaList(bp+8, v2)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14263, libc.VaList(bp+8, v2)) return int32(1) } goto _1 @@ -102769,7 +103237,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = int32(1) } } - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14198, *(*uintptr)(unsafe.Pointer(bp + 96))) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+14291, *(*uintptr)(unsafe.Pointer(bp + 96))) if _sqlite3FixSrcList(tls, bp, pTblName) != 0 { /* Because the parser constructs pTblName from a single identifier, ** sqlite3FixSrcList can never fail. */ @@ -102781,7 +103249,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } if iDb == int32(1) && (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema != (*TTable)(unsafe.Pointer(pTab)).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14204, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14297, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if !((*TTable)(unsafe.Pointer(pTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { @@ -102798,16 +103266,16 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 _ = libc.Int32FromInt32(0) - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6534, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14254, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6598, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14347, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14282, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14375, 0) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14307, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14400, 0) goto exit_create_index } /* @@ -102829,19 +103297,19 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } _ = libc.Int32FromInt32(0) - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14198, (*TTable)(unsafe.Pointer(pTab)).FzName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+14291, (*TTable)(unsafe.Pointer(pTab)).FzName) { goto exit_create_index } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if !((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0) { if _sqlite3FindTable(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14341, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14434, libc.VaList(bp+136, zName)) goto exit_create_index } } if _sqlite3FindIndex(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { if !(ifNotExist != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14375, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14468, libc.VaList(bp+136, zName)) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -102863,7 +103331,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pLoop = (*TIndex)(unsafe.Pointer(pLoop)).FpNext n++ } - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14399, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+14492, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) if zName == uintptr(0) { goto exit_create_index } @@ -102881,9 +103349,9 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { zDb = (*TDb)(unsafe.Pointer(pDb)).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6542 + v2 = __ccgo_ts + 6606 } else { - v2 = __ccgo_ts + 6075 + v2 = __ccgo_ts + 6139 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v2, uintptr(0), zDb) != 0 { goto exit_create_index @@ -102912,7 +103380,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u _ = libc.Int32FromInt32(0) _sqlite3ExprListSetSortOrder(tls, pList, sortOrder, -int32(1)) } else { - _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14198) + _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+14291) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { goto exit_create_index } @@ -103002,7 +103470,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pCExpr = _sqlite3ExprSkipCollate(tls, (*TExprList_item)(unsafe.Pointer(pListItem)).FpExpr) if int32((*TExpr)(unsafe.Pointer(pCExpr)).Fop) != int32(TK_COLUMN) { if pTab == (*TParse)(unsafe.Pointer(pParse)).FpNewTable { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14422, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14515, 0) goto exit_create_index } if (*TIndex)(unsafe.Pointer(pIndex)).FaColExpr == uintptr(0) { @@ -103159,7 +103627,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u ** explicitly specified behavior for the index. */ if !(int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) || int32((*TIndex)(unsafe.Pointer(pIndex)).FonError) == int32(OE_Default)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14483, libc.VaList(bp+136, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14576, libc.VaList(bp+136, 0)) } if int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) { (*TIndex)(unsafe.Pointer(pIdx)).FonError = (*TIndex)(unsafe.Pointer(pIndex)).FonError @@ -103192,8 +103660,8 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != uintptr(0) { (*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14525, 0) - (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125123)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14618, 0) + (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125741)) goto exit_create_index } } @@ -103234,11 +103702,11 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* A named index with an explicit CREATE INDEX statement */ if onError == OE_None { - v13 = __ccgo_ts + 1657 + v13 = __ccgo_ts + 1671 } else { - v13 = __ccgo_ts + 14542 + v13 = __ccgo_ts + 14635 } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14550, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14643, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) } else { /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ /* zStmt = sqlite3MPrintf(""); */ @@ -103246,7 +103714,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* Add an entry in sqlite_schema for this index */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14570, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14663, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) _sqlite3DbFree(tls, db, zStmt) /* Fill the index with data and reparse the schema. Code an OP_Expire ** to invalidate all pre-compiled statements. @@ -103254,7 +103722,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != 0 { _sqlite3RefillIndex(tls, pParse, pIndex, iMem) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14629, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14722, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Expire), 0, int32(1)) } _sqlite3VdbeJumpHere(tls, v, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum)) @@ -103424,7 +103892,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pIndex = _sqlite3FindIndex(tls, db, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzName, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) if pIndex == uintptr(0) { if !(ifExists != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14656, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14749, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) _sqlite3ForceNotReadOnly(tls, pParse) @@ -103433,7 +103901,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in goto exit_drop_index } if int32(uint32(*(*uint16)(unsafe.Pointer(pIndex + 100))&0x3>>0)) != SQLITE_IDXTYPE_APPDEF { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14674, libc.VaList(bp+8, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14767, libc.VaList(bp+8, 0)) goto exit_drop_index } iDb = _sqlite3SchemaToIndex(tls, db, (*TIndex)(unsafe.Pointer(pIndex)).FpSchema) @@ -103441,9 +103909,9 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pTab = (*TIndex)(unsafe.Pointer(pIndex)).FpTable zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6542 + v1 = __ccgo_ts + 6606 } else { - v1 = __ccgo_ts + 6075 + v1 = __ccgo_ts + 6139 } zTab = v1 if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_DELETE), zTab, uintptr(0), zDb) != 0 { @@ -103459,8 +103927,8 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in v = _sqlite3GetVdbe(tls, pParse) if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14747, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11802, (*TIndex)(unsafe.Pointer(pIndex)).FzName) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14840, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+11927, (*TIndex)(unsafe.Pointer(pIndex)).FzName) _sqlite3ChangeCookie(tls, pParse, iDb) _destroyRootPage(tls, pParse, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum), iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropIndex), iDb, 0, 0, (*TIndex)(unsafe.Pointer(pIndex)).FzName, 0) @@ -103657,7 +104125,7 @@ func _sqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra nAlloc = int64(2)*int64((*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) + int64(nExtra) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc+nExtra >= int32(SQLITE_MAX_SRCLIST) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14807, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14900, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) return uintptr(0) } if nAlloc > int64(SQLITE_MAX_SRCLIST) { @@ -103894,11 +104362,11 @@ func _sqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa db = (*TParse)(unsafe.Pointer(pParse)).Fdb if !(p != 0) && pOnUsing != uintptr(0) && ((*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 || (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpUsing != 0) { if (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 { - v1 = __ccgo_ts + 14843 + v1 = __ccgo_ts + 14936 } else { - v1 = __ccgo_ts + 14846 + v1 = __ccgo_ts + 14939 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14852, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14945, libc.VaList(bp+8, v1)) goto append_from_error } p = _sqlite3SrcListAppend(tls, pParse, p, pTable, pDatabase) @@ -104115,7 +104583,7 @@ func _sqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { _ = libc.Int32FromInt32(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb _ = libc.Int32FromInt32(0) - if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14888, uintptr(0), uintptr(0)) != 0 { + if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+14981, uintptr(0), uintptr(0)) != 0 { return } v = _sqlite3GetVdbe(tls, pParse) @@ -104165,9 +104633,9 @@ func _sqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { _ = libc.Int32FromInt32(0) isRollback = libc.BoolInt32(eType == int32(TK_ROLLBACK)) if isRollback != 0 { - v1 = __ccgo_ts + 14894 + v1 = __ccgo_ts + 14987 } else { - v1 = __ccgo_ts + 14903 + v1 = __ccgo_ts + 14996 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), v1, uintptr(0), uintptr(0)) != 0 { return @@ -104200,9 +104668,9 @@ func _sqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } var _az = [3]uintptr{ - 0: __ccgo_ts + 14888, - 1: __ccgo_ts + 14910, - 2: __ccgo_ts + 14894, + 0: __ccgo_ts + 14981, + 1: __ccgo_ts + 15003, + 2: __ccgo_ts + 14987, } // C documentation @@ -104222,7 +104690,7 @@ func _sqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) (r int32) { if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt == uintptr(0) && !((*TParse)(unsafe.Pointer(pParse)).Fexplain != 0) { rc = _sqlite3BtreeOpen(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp, 0, _flags) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14918, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15011, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = rc return int32(1) } @@ -104413,7 +104881,7 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable _sqlite3StrAccumInit(tls, bp, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136))) if (*TIndex)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+14988, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+15081, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) } else { j = 0 for { @@ -104423,10 +104891,10 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx _ = libc.Int32FromInt32(0) zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*16))).FzCnName if j != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+14999, int32(2)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+15092, int32(2)) } Xsqlite3_str_appendall(tls, bp, (*TTable)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp, __ccgo_ts+1670, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+1684, int32(1)) Xsqlite3_str_appendall(tls, bp, zCol) goto _1 _1: @@ -104455,10 +104923,10 @@ func _sqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr _, _ = rc, zMsg if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12390, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12515, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(6)< libc.BoolInt32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15118, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15211, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } return 0 } @@ -105587,11 +106055,11 @@ func _sqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger ui bp := tls.Alloc(16) defer tls.Free(16) if _tabIsReadOnly(tls, pParse, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15151, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15244, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && (pTrigger == uintptr(0) || (*TTrigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 && (*TTrigger)(unsafe.Pointer(pTrigger)).FpNext == uintptr(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15180, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15273, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -106016,7 +106484,7 @@ func _sqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** invoke the callback function. */ if memCnt != 0 { - _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15218) + _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+15311) } goto delete_from_cleanup delete_from_cleanup: @@ -106165,7 +106633,7 @@ func _sqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri v3 = 0 } _sqlite3VdbeAddOp2(tls, v, int32(OP_Delete), iDataCur, v3) - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11591) { + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+11716) { _sqlite3VdbeAppendP4(tls, v, pTab, -int32(5)) } if int32(eMode) != ONEPASS_OFF { @@ -106483,11 +106951,11 @@ func _typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } var _azType2 = [5]uintptr{ - 0: __ccgo_ts + 6315, - 1: __ccgo_ts + 6310, - 2: __ccgo_ts + 8206, - 3: __ccgo_ts + 8201, - 4: __ccgo_ts + 1643, + 0: __ccgo_ts + 6379, + 1: __ccgo_ts + 6374, + 2: __ccgo_ts + 8331, + 3: __ccgo_ts + 8326, + 4: __ccgo_ts + 1657, } // C documentation @@ -106604,7 +107072,7 @@ func _absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* IMP: R-31676-45509 If X is the integer -9223372036854775808 ** then abs(X) throws an integer overflow error since there is no ** equivalent positive 64-bit two complement value. */ - Xsqlite3_result_error(tls, context, __ccgo_ts+15231, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15324, -int32(1)) return } iVal = -iVal @@ -106923,7 +107391,7 @@ func _roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } *(*float64)(unsafe.Pointer(bp)) = float64(int64(*(*float64)(unsafe.Pointer(bp)) + v1)) } else { - zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15248, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) + zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+15341, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -107507,7 +107975,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { */ nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer(db + 136 + 8*4)) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15254, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15347, -int32(1)) return } if argc == int32(3) { @@ -107519,7 +107987,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { return } if _sqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), -int32(1)) != int32(1) { - Xsqlite3_result_error(tls, context, __ccgo_ts+15287, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15380, -int32(1)) return } escape = _sqlite3Utf8Read(tls, bp+8) @@ -107601,7 +108069,7 @@ func _errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { defer tls.Free(16) _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // C documentation @@ -107691,17 +108159,17 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_FLOAT): r1 = Xsqlite3_value_double(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15332, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15425, libc.VaList(bp+16, r1)) zVal = Xsqlite3_str_value(tls, pStr) if zVal != 0 { _sqlite3AtoF(tls, zVal, bp, int32((*TStrAccum)(unsafe.Pointer(pStr)).FnChar), uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp)) { Xsqlite3_str_reset(tls, pStr) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15340, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15433, libc.VaList(bp+16, r1)) } } case int32(SQLITE_INTEGER): - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1413, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1432, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) case int32(SQLITE_BLOB): zBlob = Xsqlite3_value_blob(tls, pValue) nBlob = int64(Xsqlite3_value_bytes(tls, pValue)) @@ -107729,10 +108197,10 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { } case int32(SQLITE_TEXT): zArg = Xsqlite3_value_text(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15348, libc.VaList(bp+16, zArg)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+15441, libc.VaList(bp+16, zArg)) default: _ = libc.Int32FromInt32(0) - Xsqlite3_str_append(tls, pStr, __ccgo_ts+1658, int32(4)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+1672, int32(4)) break } } @@ -107971,7 +108439,7 @@ func _unhexFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { var v3 uint32 var _ /* zHex at bp+0 */ uintptr _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ch, d, nHex, nPass, p, pBlob, zPass, v1, v2, v3, v4, v5, v6 - zPass = __ccgo_ts + 1657 + zPass = __ccgo_ts + 1671 nPass = 0 *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) nHex = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -108297,7 +108765,7 @@ var _lenOne = [1]uint32{ } var _azOne = [1]uintptr{ - 0: __ccgo_ts + 11211, + 0: __ccgo_ts + 11336, } // C documentation @@ -108366,7 +108834,7 @@ func _concatFuncCore(tls *libc.TLS, context uintptr, argc int32, argv uintptr, n // ** concatentation of all non-null arguments. // */ func _concatFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1657) + _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1671) } // C documentation @@ -108413,7 +108881,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { _ = libc.Int32FromInt32(0) zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = __ccgo_ts + 1657 + zIn = __ccgo_ts + 1671 } i = 0 for { @@ -108459,7 +108927,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { /* IMP: R-64894-50321 The string "?000" is returned if the argument ** is NULL or contains no ASCII alphabetic characters. */ - Xsqlite3_result_text(tls, context, __ccgo_ts+15351, int32(4), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, context, __ccgo_ts+15444, int32(4), libc.UintptrFromInt32(0)) } } @@ -108520,7 +108988,7 @@ func _loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { ** flag is set. See the sqlite3_enable_load_extension() API. */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_LoadExtFunc) == uint64(0) { - Xsqlite3_result_error(tls, context, __ccgo_ts+12429, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+12554, -int32(1)) return } if argc == int32(2) { @@ -108712,7 +109180,7 @@ func _sumFinalize(tls *libc.TLS, context uintptr) { if p != 0 && (*TSumCtx)(unsafe.Pointer(p)).Fcnt > 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fapprox != 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fovrfl != 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+15231, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+15324, -int32(1)) } else { if !(_sqlite3IsOverflow(tls, (*TSumCtx)(unsafe.Pointer(p)).FrErr) != 0) { Xsqlite3_result_double(tls, context, (*TSumCtx)(unsafe.Pointer(p)).FrSum+(*TSumCtx)(unsafe.Pointer(p)).FrErr) @@ -109058,7 +109526,7 @@ func _groupConcatValue(tls *libc.TLS, context uintptr) { func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { var rc int32 _ = rc - rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15356, int32(2)) + rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+15449, int32(2)) _ = libc.Int32FromInt32(0) if rc == int32(SQLITE_NOMEM) { _sqlite3OomFault(tls, db) @@ -109088,8 +109556,8 @@ func _sqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 if !(nArg <= int32(3)) { break } - _sqlite3CreateFunc(tls, db, __ccgo_ts+15362, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15362, nArg, uint8(SQLITE_UTF8), uint8(0)) + _sqlite3CreateFunc(tls, db, __ccgo_ts+15455, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+15455, nArg, uint8(SQLITE_UTF8), uint8(0)) *(*Tu32)(unsafe.Pointer(pDef + 4)) |= uint32(flags) *(*Tu32)(unsafe.Pointer(pDef + 4)) &= uint32(^libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)) goto _1 @@ -109409,562 +109877,562 @@ var _aBuiltinFunc = [110]TFuncDef{ FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_implies_nonnull_row))), - FzName: __ccgo_ts + 15367, + FzName: __ccgo_ts + 15460, }, 1: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_compare))), - FzName: __ccgo_ts + 15387, + FzName: __ccgo_ts + 15480, }, 2: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_implies_expr))), - FzName: __ccgo_ts + 15400, + FzName: __ccgo_ts + 15493, }, 3: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_affinity))), - FzName: __ccgo_ts + 15418, + FzName: __ccgo_ts + 15511, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15427, + FzName: __ccgo_ts + 15520, }, 5: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15435, + FzName: __ccgo_ts + 15528, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 15435, + FzName: __ccgo_ts + 15528, }, 7: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15450, + FzName: __ccgo_ts + 15543, }, 8: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15476, + FzName: __ccgo_ts + 15569, }, 9: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15501, + FzName: __ccgo_ts + 15594, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15510, + FzName: __ccgo_ts + 15603, }, 11: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 15521, + FzName: __ccgo_ts + 15614, }, 12: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_sqlite_offset))), - FzName: __ccgo_ts + 15528, + FzName: __ccgo_ts + 15621, }, 13: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15542, + FzName: __ccgo_ts + 15635, }, 14: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15542, + FzName: __ccgo_ts + 15635, }, 15: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15548, + FzName: __ccgo_ts + 15641, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15548, + FzName: __ccgo_ts + 15641, }, 17: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 18: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 15554, + FzName: __ccgo_ts + 15647, }, 19: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15559, + FzName: __ccgo_ts + 15652, }, 20: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15559, + FzName: __ccgo_ts + 15652, }, 21: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15559, + FzName: __ccgo_ts + 15652, }, 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15563, + FzName: __ccgo_ts + 15656, }, 23: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15563, + FzName: __ccgo_ts + 15656, }, 24: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15563, + FzName: __ccgo_ts + 15656, }, 25: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15567, + FzName: __ccgo_ts + 15660, }, 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 15574, + FzName: __ccgo_ts + 15667, }, 27: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_LENGTH)), - FzName: __ccgo_ts + 15582, + FzName: __ccgo_ts + 15675, }, 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_BYTELEN)), - FzName: __ccgo_ts + 15589, + FzName: __ccgo_ts + 15682, }, 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15602, + FzName: __ccgo_ts + 15695, }, 30: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15608, + FzName: __ccgo_ts + 15701, }, 31: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15615, + FzName: __ccgo_ts + 15708, }, 32: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15622, + FzName: __ccgo_ts + 15715, }, 33: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15630, + FzName: __ccgo_ts + 15723, }, 34: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15635, + FzName: __ccgo_ts + 15728, }, 35: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15639, + FzName: __ccgo_ts + 15732, }, 36: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15639, + FzName: __ccgo_ts + 15732, }, 37: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15645, + FzName: __ccgo_ts + 15738, }, 38: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15651, + FzName: __ccgo_ts + 15744, }, 39: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15657, + FzName: __ccgo_ts + 15750, }, 40: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15661, + FzName: __ccgo_ts + 15754, }, 41: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15661, + FzName: __ccgo_ts + 15754, }, 42: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15667, + FzName: __ccgo_ts + 15760, }, 43: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15667, + FzName: __ccgo_ts + 15760, }, 44: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15674, + FzName: __ccgo_ts + 15767, }, 45: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15674, + FzName: __ccgo_ts + 15767, }, 46: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15674, + FzName: __ccgo_ts + 15767, }, 47: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15684, + FzName: __ccgo_ts + 15777, }, 48: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15691, + FzName: __ccgo_ts + 15784, }, 49: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15698, + FzName: __ccgo_ts + 15791, }, 50: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15709, + FzName: __ccgo_ts + 15802, }, 51: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15716, + FzName: __ccgo_ts + 15809, }, 52: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15731, + FzName: __ccgo_ts + 15824, }, 53: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15748, + FzName: __ccgo_ts + 15841, }, 54: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15759, + FzName: __ccgo_ts + 15852, }, 55: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15765, + FzName: __ccgo_ts + 15858, }, 56: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15783, + FzName: __ccgo_ts + 15876, }, 57: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15791, + FzName: __ccgo_ts + 15884, }, 58: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15805, + FzName: __ccgo_ts + 15898, }, 59: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15813, + FzName: __ccgo_ts + 15906, }, 60: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15822, + FzName: __ccgo_ts + 15915, }, 61: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15822, + FzName: __ccgo_ts + 15915, }, 62: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15829, + FzName: __ccgo_ts + 15922, }, 63: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15829, + FzName: __ccgo_ts + 15922, }, 64: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15839, + FzName: __ccgo_ts + 15932, }, 65: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15843, + FzName: __ccgo_ts + 15936, }, 66: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15849, + FzName: __ccgo_ts + 15942, }, 67: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_COUNT) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15853, + FzName: __ccgo_ts + 15946, }, 68: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 15853, + FzName: __ccgo_ts + 15946, }, 69: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15859, + FzName: __ccgo_ts + 15952, }, 70: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15859, + FzName: __ccgo_ts + 15952, }, 71: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 15872, + FzName: __ccgo_ts + 15965, }, 72: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE) | libc.Int32FromInt32(SQLITE_FUNC_CASE)), FpUserData: uintptr(unsafe.Pointer(&_globInfo)), - FzName: __ccgo_ts + 15883, + FzName: __ccgo_ts + 15976, }, 73: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15362, + FzName: __ccgo_ts + 15455, }, 74: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 15362, + FzName: __ccgo_ts + 15455, }, 75: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6739, + FzName: __ccgo_ts + 6803, }, 76: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 6739, + FzName: __ccgo_ts + 6803, }, 77: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15888, + FzName: __ccgo_ts + 15981, }, 78: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15893, + FzName: __ccgo_ts + 1244, }, 79: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15901, + FzName: __ccgo_ts + 1252, }, 80: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15907, + FzName: __ccgo_ts + 15986, }, 81: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15913, + FzName: __ccgo_ts + 15992, }, 82: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15916, + FzName: __ccgo_ts + 15995, }, 83: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 15920, + FzName: __ccgo_ts + 15999, }, 84: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 15926, + FzName: __ccgo_ts + 16005, }, 85: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 15916, + FzName: __ccgo_ts + 15995, }, 86: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15931, + FzName: __ccgo_ts + 16010, }, 87: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15935, + FzName: __ccgo_ts + 16014, }, 88: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15939, + FzName: __ccgo_ts + 16018, }, 89: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15945, + FzName: __ccgo_ts + 16024, }, 90: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15949, + FzName: __ccgo_ts + 16028, }, 91: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15954, + FzName: __ccgo_ts + 16033, }, 92: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15959, + FzName: __ccgo_ts + 16038, }, 93: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15964, + FzName: __ccgo_ts + 16043, }, 94: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15970, + FzName: __ccgo_ts + 16049, }, 95: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15974, + FzName: __ccgo_ts + 16053, }, 96: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15978, + FzName: __ccgo_ts + 16057, }, 97: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15982, + FzName: __ccgo_ts + 16061, }, 98: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15987, + FzName: __ccgo_ts + 16066, }, 99: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15992, + FzName: __ccgo_ts + 16071, }, 100: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 15997, + FzName: __ccgo_ts + 16076, }, 101: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16003, + FzName: __ccgo_ts + 16082, }, 102: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16009, + FzName: __ccgo_ts + 16088, }, 103: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16015, + FzName: __ccgo_ts + 16094, }, 104: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16020, + FzName: __ccgo_ts + 16099, }, 105: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16028, + FzName: __ccgo_ts + 16107, }, 106: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16036, + FzName: __ccgo_ts + 16115, }, 107: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16039, + FzName: __ccgo_ts + 16118, }, 108: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 6739, + FzName: __ccgo_ts + 6803, }, 109: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_iif))), - FzName: __ccgo_ts + 16044, + FzName: __ccgo_ts + 16123, }, } @@ -110445,7 +110913,7 @@ func _sqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey } if !(pIdx != 0) { if !((*TParse)(unsafe.Pointer(pParse)).FdisableTriggers != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16048, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16127, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) } _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, aiCol) return int32(1) @@ -111577,11 +112045,11 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr break } *(*TToken)(unsafe.Pointer(bp + 16)) = TToken{ - Fz: __ccgo_ts + 6605, + Fz: __ccgo_ts + 6669, Fn: uint32(3), } /* Literal "old" token */ *(*TToken)(unsafe.Pointer(bp + 32)) = TToken{ - Fz: __ccgo_ts + 6601, + Fz: __ccgo_ts + 6665, Fn: uint32(3), } /* tFromCol = OLD.tToCol */ if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { @@ -111648,7 +112116,7 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr nFrom = _sqlite3Strlen30(tls, zFrom) if action == int32(OE_Restrict) { iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5234) + pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+5298) if pRaise != 0 { (*TExpr)(unsafe.Pointer(pRaise)).FaffExpr = uint8(OE_Abort) } @@ -112256,7 +112724,7 @@ func _sqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8171, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8296, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) } (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -112523,6 +112991,226 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { } } +// C documentation +// +// /* +// ** If argument pVal is a Select object returned by an sqlite3MultiValues() +// ** that was able to use the co-routine optimization, finish coding the +// ** co-routine. +// */ +func _sqlite3MultiValuesEnd(tls *libc.TLS, pParse uintptr, pVal uintptr) { + var pItem uintptr + _ = pItem + if pVal != 0 && (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pVal)).FpSrc)).FnSrc > 0 { + pItem = (*TSelect)(unsafe.Pointer(pVal)).FpSrc + 8 + _sqlite3VdbeEndCoroutine(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn) + _sqlite3VdbeJumpHere(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FaddrFillSub-int32(1)) + } +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are constant. +// */ +func _exprListIsConstant(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + if 0 == _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are both constant and have no affinity. +// */ +func _exprListIsNoAffinity(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + var pExpr uintptr + _, _ = ii, pExpr + if _exprListIsConstant(tls, pParse, pRow) == 0 { + return 0 + } + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + pExpr = (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if 0 != int32(_sqlite3ExprAffinity(tls, pExpr)) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** This function is called by the parser for the second and subsequent +// ** rows of a multi-row VALUES clause. Argument pLeft is the part of +// ** the VALUES clause already parsed, argument pRow is the vector of values +// ** for the new row. The Select object returned represents the complete +// ** VALUES clause, including the new row. +// ** +// ** There are two ways in which this may be achieved - by incremental +// ** coding of a co-routine (the "co-routine" method) or by returning a +// ** Select object equivalent to the following (the "UNION ALL" method): +// ** +// ** "pLeft UNION ALL SELECT pRow" +// ** +// ** If the VALUES clause contains a lot of rows, this compound Select +// ** object may consume a lot of memory. +// ** +// ** When the co-routine method is used, each row that will be returned +// ** by the VALUES clause is coded into part of a co-routine as it is +// ** passed to this function. The returned Select object is equivalent to: +// ** +// ** SELECT * FROM ( +// ** Select object to read co-routine +// ** ) +// ** +// ** The co-routine method is used in most cases. Exceptions are: +// ** +// ** a) If the current statement has a WITH clause. This is to avoid +// ** statements like: +// ** +// ** WITH cte AS ( VALUES('x'), ('y') ... ) +// ** SELECT * FROM cte AS a, cte AS b; +// ** +// ** This will not work, as the co-routine uses a hard-coded register +// ** for its OP_Yield instructions, and so it is not possible for two +// ** cursors to iterate through it concurrently. +// ** +// ** b) The schema is currently being parsed (i.e. the VALUES clause is part +// ** of a schema item like a VIEW or TRIGGER). In this case there is no VM +// ** being generated when parsing is taking place, and so generating +// ** a co-routine is not possible. +// ** +// ** c) There are non-constant expressions in the VALUES clause (e.g. +// ** the VALUES clause is part of a correlated sub-query). +// ** +// ** d) One or more of the values in the first row of the VALUES clause +// ** has an affinity (i.e. is a CAST expression). This causes problems +// ** because the complex rules SQLite uses (see function +// ** sqlite3SubqueryColumnTypes() in select.c) to determine the effective +// ** affinity of such a column for all rows require access to all values in +// ** the column simultaneously. +// */ +func _sqlite3MultiValues(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRow uintptr) (r uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var f, v1 int32 + var p, pRet, pSelect, v, v2 uintptr + var _ /* dest at bp+0 */ TSelectDest + _, _, _, _, _, _, _ = f, p, pRet, pSelect, v, v1, v2 + if (*TParse)(unsafe.Pointer(pParse)).FbHasWith != 0 || (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy != 0 || _exprListIsConstant(tls, pParse, pRow) == 0 || (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 && _exprListIsNoAffinity(tls, pParse, (*TSelect)(unsafe.Pointer(pLeft)).FpEList) == 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { + /* The co-routine method cannot be used. Fall back to UNION ALL. */ + pSelect = uintptr(0) + f = libc.Int32FromInt32(SF_Values) | libc.Int32FromInt32(SF_MultiValue) + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc != 0 { + _sqlite3MultiValuesEnd(tls, pParse, pLeft) + f = int32(SF_Values) + } else { + if (*TSelect)(unsafe.Pointer(pLeft)).FpPrior != 0 { + /* In this case set the SF_MultiValue flag only if it was set on pLeft */ + f = int32(uint32(f) & (*TSelect)(unsafe.Pointer(pLeft)).FselFlags) + } + } + pSelect = _sqlite3SelectNew(tls, pParse, pRow, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(f), uintptr(0)) + *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) + if pSelect != 0 { + (*TSelect)(unsafe.Pointer(pSelect)).Fop = uint8(TK_ALL) + (*TSelect)(unsafe.Pointer(pSelect)).FpPrior = pLeft + pLeft = pSelect + } + } else { + p = uintptr(0) /* SrcItem that reads from co-routine */ + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 { + /* Co-routine has not yet been started and the special Select object + ** that accesses the co-routine has not yet been created. This block + ** does both those things. */ + v = _sqlite3GetVdbe(tls, pParse) + pRet = _sqlite3SelectNew(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) + /* Ensure the database schema has been read. This is to ensure we have + ** the correct text encoding. */ + if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmDbFlags&uint32(DBFLAG_SchemaKnownOk) == uint32(0) { + _sqlite3ReadSchema(tls, pParse) + } + if pRet != 0 { + (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pRet)).FpSrc)).FnSrc = int32(1) + (*TSelect)(unsafe.Pointer(pRet)).FpPrior = (*TSelect)(unsafe.Pointer(pLeft)).FpPrior + (*TSelect)(unsafe.Pointer(pRet)).Fop = (*TSelect)(unsafe.Pointer(pLeft)).Fop + (*TSelect)(unsafe.Pointer(pLeft)).FpPrior = uintptr(0) + (*TSelect)(unsafe.Pointer(pLeft)).Fop = uint8(TK_SELECT) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + p = (*TSelect)(unsafe.Pointer(pRet)).FpSrc + 8 + (*TSrcItem)(unsafe.Pointer(p)).FpSelect = pLeft + libc.SetBitFieldPtr16Uint32(p+60+4, libc.Uint32FromInt32(1), 5, 0x20) + (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + v2 = pParse + 56 + *(*int32)(unsafe.Pointer(v2))++ + v1 = *(*int32)(unsafe.Pointer(v2)) + (*TSrcItem)(unsafe.Pointer(p)).FregReturn = v1 + (*TSrcItem)(unsafe.Pointer(p)).FiCursor = -int32(1) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1)) = uint32(2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn, 0, (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub) + _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + /* Allocate registers for the output of the co-routine. Do so so + ** that there are two unused registers immediately before those + ** used by the co-routine. This allows the code in sqlite3Insert() + ** to use these registers directly, instead of copying the output + ** of the co-routine to a separate array for processing. */ + (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(3) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpEList)).FnExpr + *(*int32)(unsafe.Pointer(pParse + 56)) += int32(2) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst + *(*Tu32)(unsafe.Pointer(pLeft + 4)) |= uint32(SF_MultiValue) + _sqlite3Select(tls, pParse, pLeft, bp) + (*TSrcItem)(unsafe.Pointer(p)).FregResult = (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst + _ = libc.Int32FromInt32(0) + pLeft = pRet + } + } else { + p = (*TSelect)(unsafe.Pointer(pLeft)).FpSrc + 8 + _ = libc.Int32FromInt32(0) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1))++ + } + if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { + _ = libc.Int32FromInt32(0) + if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p)).FpSelect)).FpEList)).FnExpr != (*TExprList)(unsafe.Pointer(pRow)).FnExpr { + _sqlite3SelectWrongNumTermsError(tls, pParse, (*TSrcItem)(unsafe.Pointer(p)).FpSelect) + } else { + _sqlite3ExprCodeExprList(tls, pParse, pRow, (*TSrcItem)(unsafe.Pointer(p)).FregResult, 0, uint8(0)) + _sqlite3VdbeAddOp1(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Yield), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + } + } + _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pRow) + } + return pLeft +} + // C documentation // // /* @@ -112625,27 +113313,27 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { bp := tls.Alloc(160) defer tls.Free(160) - var aRegIdx, db, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, v, v13, v16, v18, v6, v9 uintptr - var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v12, v15, v17, v19, v23, v24, v5, v7, v8 int32 + var aRegIdx, db, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, v, v10, v14, v17, v19, v7 uintptr + var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v13, v16, v18, v20, v24, v25, v5, v6, v8, v9 int32 var appendFlag, bIdListInOrder, useTempTable, withoutRowid Tu8 - var colFlags, v21 Tu32 + var colFlags, v22 Tu32 var _ /* dest at bp+8 */ TSelectDest var _ /* iDataCur at bp+0 */ int32 var _ /* iIdxCur at bp+4 */ int32 var _ /* isReplace at bp+112 */ int32 var _ /* sNC at bp+56 */ TNameContext var _ /* tmask at bp+48 */ int32 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v12, v13, v15, v16, v17, v18, v19, v21, v23, v24, v5, v6, v7, v8, v9 /* Number of columns in the data */ - nHidden = 0 /* Number of hidden columns if TABLE is virtual */ - *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ - *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ - ipkColumn = -int32(1) /* Label for the end of the insertion loop */ - srcTab = 0 /* Data comes from this temporary cursor if >=0 */ - addrInsTop = 0 /* Jump to label "D" */ - addrCont = 0 /* Index of database holding TABLE */ - useTempTable = uint8(0) /* Store SELECT results in intermediate table */ - appendFlag = uint8(0) /* True if IDLIST is in table order */ - pList = uintptr(0) /* Register in which to store next column */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v10, v13, v14, v16, v17, v18, v19, v20, v22, v24, v25, v5, v6, v7, v8, v9 /* Number of columns in the data */ + nHidden = 0 /* Number of hidden columns if TABLE is virtual */ + *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ + *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ + ipkColumn = -int32(1) /* Label for the end of the insertion loop */ + srcTab = 0 /* Data comes from this temporary cursor if >=0 */ + addrInsTop = 0 /* Jump to label "D" */ + addrCont = 0 /* Index of database holding TABLE */ + useTempTable = uint8(0) /* Store SELECT results in intermediate table */ + appendFlag = uint8(0) /* True if IDLIST is in table order */ + pList = uintptr(0) /* Register in which to store next column */ /* Register allocations */ regFromSelect = 0 /* Base register for data coming from SELECT */ regAutoinc = 0 /* Register holding the AUTOINCREMENT counter */ @@ -112792,7 +113480,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _ = libc.Int32FromInt32(0) } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_STORED)|libc.Int32FromInt32(COLFLAG_VIRTUAL)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16093, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16172, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto insert_cleanup } break @@ -112807,7 +113495,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i bIdListInOrder = uint8(0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16134, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16213, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto insert_cleanup } @@ -112824,31 +113512,49 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** co-routine is the common header to the 3rd and 4th templates. */ if pSelect != 0 { /* Result code */ - v6 = pParse + 56 - *(*int32)(unsafe.Pointer(v6))++ - v5 = *(*int32)(unsafe.Pointer(v6)) - regYield = v5 - addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) - _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) - _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) - if bIdListInOrder != 0 { - v7 = regData + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc)).FnSrc == int32(1) && int32(uint32(*(*uint16)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + 60 + 4))&0x20>>5)) != 0 && (*TSelect)(unsafe.Pointer(pSelect)).FpPrior == uintptr(0) { + pItem = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSDParm = (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn + regFromSelect = (*TSrcItem)(unsafe.Pointer(pItem)).FregResult + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FpEList)).FnExpr + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+16245, libc.VaList(bp+128, pItem)) + if bIdListInOrder != 0 && nColumn == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { + regData = regFromSelect + regRowid = regData - int32(1) + if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { + v5 = int32(1) + } else { + v5 = 0 + } + regIns = regRowid - v5 + } } else { - v7 = 0 - } - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v7 - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) - rc = _sqlite3Select(tls, pParse, pSelect, bp+8) - regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst - _ = libc.Int32FromInt32(0) - if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { - goto insert_cleanup + v7 = pParse + 56 + *(*int32)(unsafe.Pointer(v7))++ + v6 = *(*int32)(unsafe.Pointer(v7)) /* Top of the co-routine */ + regYield = v6 + addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) + _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) + if bIdListInOrder != 0 { + v8 = regData + } else { + v8 = 0 + } + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) + rc = _sqlite3Select(tls, pParse, pSelect, bp+8) + regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst + _ = libc.Int32FromInt32(0) + if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { + goto insert_cleanup + } + _ = libc.Int32FromInt32(0) + _sqlite3VdbeEndCoroutine(tls, v, regYield) + _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ + _ = libc.Int32FromInt32(0) + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr } - _ = libc.Int32FromInt32(0) - _sqlite3VdbeEndCoroutine(tls, v, regYield) - _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ - _ = libc.Int32FromInt32(0) - nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr /* Set useTempTable to TRUE if the result of the SELECT statement ** should be written into a temporary table (template 4). Set to ** FALSE if each output row of the SELECT can be written directly into @@ -112862,10 +113568,10 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin useTempTable = uint8(1) } if useTempTable != 0 { /* Label "L" */ - v9 = pParse + 52 - v8 = *(*int32)(unsafe.Pointer(v9)) - *(*int32)(unsafe.Pointer(v9))++ - srcTab = v8 + v10 = pParse + 52 + v9 = *(*int32)(unsafe.Pointer(v10)) + *(*int32)(unsafe.Pointer(v10))++ + srcTab = v9 regRec = _sqlite3GetTempReg(tls, pParse) regTempRowid = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp2(tls, v, int32(OP_OpenEphemeral), srcTab, nColumn) @@ -112907,8 +113613,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { ipkColumn-- } - goto _10 - _10: + goto _11 + _11: ; i-- } @@ -112928,28 +113634,28 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_NOINSERT) != 0 { nHidden++ } - goto _11 - _11: + goto _12 + _12: ; i++ } } if nColumn != int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16166, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16253, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) goto insert_cleanup } } if pColumn != uintptr(0) && nColumn != (*TIdList)(unsafe.Pointer(pColumn)).FnId { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16218, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16305, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup } /* Initialize the count of rows to be inserted */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&(uint64(libc.Int32FromInt32(0x00001))<= 0 { /* tag-20191021-001: If the INTEGER PRIMARY KEY is being generated by the ** SELECT, go ahead and copy the value into the rowid slot now, so that @@ -113065,18 +113771,18 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** using excess space. The file format definition requires this extra ** NULL - we cannot optimize further by skipping the column completely */ _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) - goto _20 + goto _21 } - v21 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) - colFlags = v21 - if v21&uint32(COLFLAG_NOINSERT) != uint32(0) { + v22 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) + colFlags = v22 + if v22&uint32(COLFLAG_NOINSERT) != uint32(0) { nHidden++ if colFlags&uint32(COLFLAG_VIRTUAL) != uint32(0) { /* Virtual columns do not participate in OP_MakeRecord. So back up ** iRegStore by one slot to compensate for the iRegStore++ in the ** outer for() loop */ iRegStore-- - goto _20 + goto _21 } else { if colFlags&uint32(COLFLAG_STORED) != uint32(0) { /* Stored columns are computed later. But if there are BEFORE @@ -113086,13 +113792,13 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if *(*int32)(unsafe.Pointer(bp + 48))&int32(TRIGGER_BEFORE) != 0 { _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) } - goto _20 + goto _21 } else { if pColumn == uintptr(0) { /* Hidden columns that are not explicitly named in the INSERT ** get there default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } } } @@ -113104,8 +113810,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if !(j < (*TIdList)(unsafe.Pointer(pColumn)).FnId && *(*int32)(unsafe.Pointer(pColumn + 8 + uintptr(j)*16 + 8)) != i) { break } - goto _22 - _22: + goto _23 + _23: ; j++ } @@ -113113,14 +113819,14 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin /* A column not named in the insert column list gets its ** default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } k = j } else { if nColumn == 0 { /* This is INSERT INTO ... DEFAULT VALUES. Load the default value. */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } else { k = i - nHidden } @@ -113137,16 +113843,16 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin y = _sqlite3ExprCodeTarget(tls, pParse, pX, iRegStore) if y != iRegStore { if (*TExpr)(unsafe.Pointer(pX)).Fflags&uint32(libc.Int32FromInt32(EP_Subquery)) != uint32(0) { - v23 = int32(OP_Copy) + v24 = int32(OP_Copy) } else { - v23 = int32(OP_SCopy) + v24 = int32(OP_SCopy) } - _sqlite3VdbeAddOp2(tls, v, v23, y, iRegStore) + _sqlite3VdbeAddOp2(tls, v, v24, y, iRegStore) } } } - goto _20 - _20: + goto _21 + _21: ; i++ iRegStore++ @@ -113259,11 +113965,11 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _sqlite3VtabMakeWritable(tls, pParse, pTab) _sqlite3VdbeAddOp4(tls, v, int32(OP_VUpdate), int32(1), int32((*TTable)(unsafe.Pointer(pTab)).FnCol)+int32(2), regIns, pVTab, -int32(11)) if onError == int32(OE_Default) { - v24 = int32(OE_Abort) + v25 = int32(OE_Abort) } else { - v24 = onError + v25 = onError } - _sqlite3VdbeChangeP5(tls, v, uint16(v24)) + _sqlite3VdbeChangeP5(tls, v, uint16(v25)) _sqlite3MayAbort(tls, pParse) } else { *(*int32)(unsafe.Pointer(bp + 112)) = 0 /* True to use OPFLAG_SEEKRESULT */ @@ -113322,7 +114028,7 @@ insert_end: ** invoke the callback function. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16310) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+16397) } goto insert_cleanup insert_cleanup: @@ -113721,7 +114427,7 @@ func _sqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case int32(OE_Rollback): fallthrough case int32(OE_Fail): - zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12390, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+12515, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) _sqlite3VdbeAddOp3(tls, v, int32(OP_HaltIfNull), libc.Int32FromInt32(SQLITE_CONSTRAINT)|libc.Int32FromInt32(5)<= 0 && !(int32(*(*uint8)(unsafe.Pointer(zFile + uintptr(iFile)))) == libc.Int32FromUint8('/'))) { @@ -115997,7 +116703,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp iFile-- } iFile++ - if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16359, int32(3)) == 0 { + if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+16446, int32(3)) == 0 { iFile += int32(3) } iEntry = int32(8) @@ -116017,7 +116723,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp ; iFile++ } - libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16363, uint64(6)) + libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+16450, uint64(6)) zEntry = zAltEntry xInit = _sqlite3OsDlSym(tls, pVfs, handle, zEntry) } @@ -116029,7 +116735,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v7 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16369, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16456, libc.VaList(bp+16, zEntry, zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116044,7 +116750,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp return SQLITE_OK } if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16412, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+16499, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3OsDlClose(tls, pVfs, handle) @@ -116075,7 +116781,7 @@ extension_not_found: *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v10 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16444, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+16531, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -116084,7 +116790,7 @@ extension_not_found: /* Shared library endings to try if zFile cannot be loaded as written */ var _azEndings = [1]uintptr{ - 0: __ccgo_ts + 16324, + 0: __ccgo_ts + 16411, } func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) (r int32) { @@ -116319,7 +117025,7 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { rc = v2 } if v3 && v2 != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16481, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+16568, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -116373,63 +117079,63 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { // ** result column is different from the name of the pragma // */ var _pragCName = [57]uintptr{ - 0: __ccgo_ts + 5490, - 1: __ccgo_ts + 16520, - 2: __ccgo_ts + 9067, - 3: __ccgo_ts + 16524, - 4: __ccgo_ts + 16529, - 5: __ccgo_ts + 16532, - 6: __ccgo_ts + 16542, - 7: __ccgo_ts + 16552, - 8: __ccgo_ts + 16558, - 9: __ccgo_ts + 16562, - 10: __ccgo_ts + 16567, - 11: __ccgo_ts + 16572, - 12: __ccgo_ts + 16580, - 13: __ccgo_ts + 16591, - 14: __ccgo_ts + 16594, - 15: __ccgo_ts + 16601, - 16: __ccgo_ts + 16562, - 17: __ccgo_ts + 16567, - 18: __ccgo_ts + 16608, - 19: __ccgo_ts + 16613, - 20: __ccgo_ts + 16616, - 21: __ccgo_ts + 16623, - 22: __ccgo_ts + 16558, - 23: __ccgo_ts + 16562, - 24: __ccgo_ts + 16629, - 25: __ccgo_ts + 16634, - 26: __ccgo_ts + 16639, - 27: __ccgo_ts + 16562, - 28: __ccgo_ts + 16643, - 29: __ccgo_ts + 16567, - 30: __ccgo_ts + 16651, - 31: __ccgo_ts + 16655, - 32: __ccgo_ts + 16660, - 33: __ccgo_ts + 11806, - 34: __ccgo_ts + 11802, - 35: __ccgo_ts + 16666, - 36: __ccgo_ts + 16671, - 37: __ccgo_ts + 16676, - 38: __ccgo_ts + 16520, - 39: __ccgo_ts + 16562, - 40: __ccgo_ts + 16681, - 41: __ccgo_ts + 16688, - 42: __ccgo_ts + 16695, - 43: __ccgo_ts + 9067, - 44: __ccgo_ts + 16703, - 45: __ccgo_ts + 5493, - 46: __ccgo_ts + 16709, - 47: __ccgo_ts + 16520, - 48: __ccgo_ts + 16562, - 49: __ccgo_ts + 16714, - 50: __ccgo_ts + 16719, - 51: __ccgo_ts + 15916, - 52: __ccgo_ts + 16724, - 53: __ccgo_ts + 16737, - 54: __ccgo_ts + 16746, - 55: __ccgo_ts + 16753, - 56: __ccgo_ts + 16764, + 0: __ccgo_ts + 5554, + 1: __ccgo_ts + 16607, + 2: __ccgo_ts + 9192, + 3: __ccgo_ts + 16611, + 4: __ccgo_ts + 16616, + 5: __ccgo_ts + 16619, + 6: __ccgo_ts + 16629, + 7: __ccgo_ts + 16639, + 8: __ccgo_ts + 16645, + 9: __ccgo_ts + 16649, + 10: __ccgo_ts + 16654, + 11: __ccgo_ts + 16659, + 12: __ccgo_ts + 16667, + 13: __ccgo_ts + 16678, + 14: __ccgo_ts + 16681, + 15: __ccgo_ts + 16688, + 16: __ccgo_ts + 16649, + 17: __ccgo_ts + 16654, + 18: __ccgo_ts + 16695, + 19: __ccgo_ts + 16700, + 20: __ccgo_ts + 16703, + 21: __ccgo_ts + 16710, + 22: __ccgo_ts + 16645, + 23: __ccgo_ts + 16649, + 24: __ccgo_ts + 16716, + 25: __ccgo_ts + 16721, + 26: __ccgo_ts + 16726, + 27: __ccgo_ts + 16649, + 28: __ccgo_ts + 16730, + 29: __ccgo_ts + 16654, + 30: __ccgo_ts + 16738, + 31: __ccgo_ts + 16742, + 32: __ccgo_ts + 16747, + 33: __ccgo_ts + 11931, + 34: __ccgo_ts + 11927, + 35: __ccgo_ts + 16753, + 36: __ccgo_ts + 16758, + 37: __ccgo_ts + 16763, + 38: __ccgo_ts + 16607, + 39: __ccgo_ts + 16649, + 40: __ccgo_ts + 16768, + 41: __ccgo_ts + 16775, + 42: __ccgo_ts + 16782, + 43: __ccgo_ts + 9192, + 44: __ccgo_ts + 16790, + 45: __ccgo_ts + 5557, + 46: __ccgo_ts + 16796, + 47: __ccgo_ts + 16607, + 48: __ccgo_ts + 16649, + 49: __ccgo_ts + 16801, + 50: __ccgo_ts + 16806, + 51: __ccgo_ts + 15995, + 52: __ccgo_ts + 16811, + 53: __ccgo_ts + 16824, + 54: __ccgo_ts + 16833, + 55: __ccgo_ts + 16840, + 56: __ccgo_ts + 16851, } // C documentation @@ -116448,191 +117154,191 @@ type PragmaName = TPragmaName var _aPragmaName = [66]TPragmaName{ 0: { - FzName: __ccgo_ts + 16772, + FzName: __ccgo_ts + 16859, FePragTyp: uint8(PragTyp_ANALYSIS_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 1: { - FzName: __ccgo_ts + 16787, + FzName: __ccgo_ts + 16874, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_APPLICATION_ID), }, 2: { - FzName: __ccgo_ts + 16802, + FzName: __ccgo_ts + 16889, FePragTyp: uint8(PragTyp_AUTO_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 3: { - FzName: __ccgo_ts + 16814, + FzName: __ccgo_ts + 16901, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_AutoIndex), }, 4: { - FzName: __ccgo_ts + 16830, + FzName: __ccgo_ts + 16917, FePragTyp: uint8(PragTyp_BUSY_TIMEOUT), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(56), FnPragCName: uint8(1), }, 5: { - FzName: __ccgo_ts + 16753, + FzName: __ccgo_ts + 16840, FePragTyp: uint8(PragTyp_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 6: { - FzName: __ccgo_ts + 16843, + FzName: __ccgo_ts + 16930, FePragTyp: uint8(PragTyp_CACHE_SPILL), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 7: { - FzName: __ccgo_ts + 16855, + FzName: __ccgo_ts + 16942, FePragTyp: uint8(PragTyp_CASE_SENSITIVE_LIKE), FmPragFlg: uint8(PragFlg_NoColumns), }, 8: { - FzName: __ccgo_ts + 16875, + FzName: __ccgo_ts + 16962, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CellSizeCk), }, 9: { - FzName: __ccgo_ts + 16891, + FzName: __ccgo_ts + 16978, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CkptFullFSync), }, 10: { - FzName: __ccgo_ts + 16912, + FzName: __ccgo_ts + 16999, FePragTyp: uint8(PragTyp_COLLATION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(38), FnPragCName: uint8(2), }, 11: { - FzName: __ccgo_ts + 16927, + FzName: __ccgo_ts + 17014, FePragTyp: uint8(PragTyp_COMPILE_OPTIONS), FmPragFlg: uint8(PragFlg_Result0), }, 12: { - FzName: __ccgo_ts + 16943, + FzName: __ccgo_ts + 17030, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00001)) << libc.Int32FromInt32(32), }, 13: { - FzName: __ccgo_ts + 16957, + FzName: __ccgo_ts + 17044, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_DATA_VERSION), }, 14: { - FzName: __ccgo_ts + 16970, + FzName: __ccgo_ts + 17057, FePragTyp: uint8(PragTyp_DATABASE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(47), FnPragCName: uint8(3), }, 15: { - FzName: __ccgo_ts + 16984, + FzName: __ccgo_ts + 17071, FePragTyp: uint8(PragTyp_DEFAULT_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiPragCName: uint8(55), FnPragCName: uint8(1), }, 16: { - FzName: __ccgo_ts + 17003, + FzName: __ccgo_ts + 17090, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_DeferFKs), }, 17: { - FzName: __ccgo_ts + 17022, + FzName: __ccgo_ts + 17109, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_NullCallback), }, 18: { - FzName: __ccgo_ts + 17045, + FzName: __ccgo_ts + 17132, FePragTyp: uint8(PragTyp_ENCODING), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 19: { - FzName: __ccgo_ts + 17054, + FzName: __ccgo_ts + 17141, FePragTyp: uint8(PragTyp_FOREIGN_KEY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(43), FnPragCName: uint8(4), }, 20: { - FzName: __ccgo_ts + 17072, + FzName: __ccgo_ts + 17159, FePragTyp: uint8(PragTyp_FOREIGN_KEY_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FnPragCName: uint8(8), }, 21: { - FzName: __ccgo_ts + 17089, + FzName: __ccgo_ts + 17176, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ForeignKeys), }, 22: { - FzName: __ccgo_ts + 17102, + FzName: __ccgo_ts + 17189, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), }, 23: { - FzName: __ccgo_ts + 17117, + FzName: __ccgo_ts + 17204, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullColNames), }, 24: { - FzName: __ccgo_ts + 17135, + FzName: __ccgo_ts + 17222, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullFSync), }, 25: { - FzName: __ccgo_ts + 17145, + FzName: __ccgo_ts + 17232, FePragTyp: uint8(PragTyp_FUNCTION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(27), FnPragCName: uint8(6), }, 26: { - FzName: __ccgo_ts + 17159, + FzName: __ccgo_ts + 17246, FePragTyp: uint8(PragTyp_HARD_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 27: { - FzName: __ccgo_ts + 17175, + FzName: __ccgo_ts + 17262, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_IgnoreChecks), }, 28: { - FzName: __ccgo_ts + 17200, + FzName: __ccgo_ts + 17287, FePragTyp: uint8(PragTyp_INCREMENTAL_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_NoColumns)), }, 29: { - FzName: __ccgo_ts + 17219, + FzName: __ccgo_ts + 17306, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), FnPragCName: uint8(3), }, 30: { - FzName: __ccgo_ts + 17230, + FzName: __ccgo_ts + 17317, FePragTyp: uint8(PragTyp_INDEX_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(38), FnPragCName: uint8(5), }, 31: { - FzName: __ccgo_ts + 17241, + FzName: __ccgo_ts + 17328, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), @@ -116640,146 +117346,146 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 32: { - FzName: __ccgo_ts + 17253, + FzName: __ccgo_ts + 17340, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 33: { - FzName: __ccgo_ts + 17269, + FzName: __ccgo_ts + 17356, FePragTyp: uint8(PragTyp_JOURNAL_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 34: { - FzName: __ccgo_ts + 17282, + FzName: __ccgo_ts + 17369, FePragTyp: uint8(PragTyp_JOURNAL_SIZE_LIMIT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 35: { - FzName: __ccgo_ts + 17301, + FzName: __ccgo_ts + 17388, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_LegacyAlter), }, 36: { - FzName: __ccgo_ts + 17320, + FzName: __ccgo_ts + 17407, FePragTyp: uint8(PragTyp_LOCKING_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 37: { - FzName: __ccgo_ts + 17333, + FzName: __ccgo_ts + 17420, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 38: { - FzName: __ccgo_ts + 17348, + FzName: __ccgo_ts + 17435, FePragTyp: uint8(PragTyp_MMAP_SIZE), }, 39: { - FzName: __ccgo_ts + 17358, + FzName: __ccgo_ts + 17445, FePragTyp: uint8(PragTyp_MODULE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 40: { - FzName: __ccgo_ts + 17370, + FzName: __ccgo_ts + 17457, FePragTyp: uint8(PragTyp_OPTIMIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_NeedSchema)), }, 41: { - FzName: __ccgo_ts + 17379, + FzName: __ccgo_ts + 17466, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 42: { - FzName: __ccgo_ts + 17390, + FzName: __ccgo_ts + 17477, FePragTyp: uint8(PragTyp_PAGE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 43: { - FzName: __ccgo_ts + 17400, + FzName: __ccgo_ts + 17487, FePragTyp: uint8(PragTyp_PRAGMA_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 44: { - FzName: __ccgo_ts + 17412, + FzName: __ccgo_ts + 17499, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_QueryOnly), }, 45: { - FzName: __ccgo_ts + 17423, + FzName: __ccgo_ts + 17510, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 46: { - FzName: __ccgo_ts + 17435, + FzName: __ccgo_ts + 17522, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00004)) << libc.Int32FromInt32(32), }, 47: { - FzName: __ccgo_ts + 17452, + FzName: __ccgo_ts + 17539, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_RecTriggers), }, 48: { - FzName: __ccgo_ts + 17471, + FzName: __ccgo_ts + 17558, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ReverseOrder), }, 49: { - FzName: __ccgo_ts + 17497, + FzName: __ccgo_ts + 17584, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_SCHEMA_VERSION), }, 50: { - FzName: __ccgo_ts + 17512, + FzName: __ccgo_ts + 17599, FePragTyp: uint8(PragTyp_SECURE_DELETE), FmPragFlg: uint8(PragFlg_Result0), }, 51: { - FzName: __ccgo_ts + 17526, + FzName: __ccgo_ts + 17613, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ShortColNames), }, 52: { - FzName: __ccgo_ts + 17545, + FzName: __ccgo_ts + 17632, FePragTyp: uint8(PragTyp_SHRINK_MEMORY), FmPragFlg: uint8(PragFlg_NoColumns), }, 53: { - FzName: __ccgo_ts + 17559, + FzName: __ccgo_ts + 17646, FePragTyp: uint8(PragTyp_SOFT_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 54: { - FzName: __ccgo_ts + 17575, + FzName: __ccgo_ts + 17662, FePragTyp: uint8(PragTyp_SYNCHRONOUS), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 55: { - FzName: __ccgo_ts + 17587, + FzName: __ccgo_ts + 17674, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), FnPragCName: uint8(6), }, 56: { - FzName: __ccgo_ts + 17598, + FzName: __ccgo_ts + 17685, FePragTyp: uint8(PragTyp_TABLE_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1)), FiPragCName: uint8(15), FnPragCName: uint8(6), }, 57: { - FzName: __ccgo_ts + 17609, + FzName: __ccgo_ts + 17696, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), @@ -116787,45 +117493,45 @@ var _aPragmaName = [66]TPragmaName{ FiArg: uint64(1), }, 58: { - FzName: __ccgo_ts + 17621, + FzName: __ccgo_ts + 17708, FePragTyp: uint8(PragTyp_TEMP_STORE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 59: { - FzName: __ccgo_ts + 17632, + FzName: __ccgo_ts + 17719, FePragTyp: uint8(PragTyp_TEMP_STORE_DIRECTORY), FmPragFlg: uint8(PragFlg_NoColumns1), }, 60: { - FzName: __ccgo_ts + 17653, + FzName: __ccgo_ts + 17740, FePragTyp: uint8(PragTyp_THREADS), FmPragFlg: uint8(PragFlg_Result0), }, 61: { - FzName: __ccgo_ts + 17661, + FzName: __ccgo_ts + 17748, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_TrustedSchema), }, 62: { - FzName: __ccgo_ts + 17676, + FzName: __ccgo_ts + 17763, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_USER_VERSION), }, 63: { - FzName: __ccgo_ts + 17689, + FzName: __ccgo_ts + 17776, FePragTyp: uint8(PragTyp_WAL_AUTOCHECKPOINT), }, 64: { - FzName: __ccgo_ts + 17708, + FzName: __ccgo_ts + 17795, FePragTyp: uint8(PragTyp_WAL_CHECKPOINT), FmPragFlg: uint8(PragFlg_NeedSchema), FiPragCName: uint8(50), FnPragCName: uint8(3), }, 65: { - FzName: __ccgo_ts + 17723, + FzName: __ccgo_ts + 17810, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(SQLITE_WriteSchema) | libc.Int32FromInt32(SQLITE_NoSchemaError)), @@ -116837,6 +117543,31 @@ var _aPragmaName = [66]TPragmaName{ /************** End of pragma.h **********************************************/ /************** Continuing where we left off in pragma.c *********************/ +/* +** When the 0x10 bit of PRAGMA optimize is set, any ANALYZE commands +** will be run with an analysis_limit set to the lessor of the value of +** the following macro or to the actual analysis_limit if it is non-zero, +** in order to prevent PRAGMA optimize from running for too long. +** +** The value of 2000 is chosen emperically so that the worst-case run-time +** for PRAGMA optimize does not exceed 100 milliseconds against a variety +** of test databases on a RaspberryPI-4 compiled using -Os and without +** -DSQLITE_DEBUG. Of course, your mileage may vary. For the purpose of +** this paragraph, "worst-case" means that ANALYZE ends up being +** run on every table in the database. The worst case typically only +** happens if PRAGMA optimize is run on a database file for which ANALYZE +** has not been previously run and the 0x10000 flag is included so that +** all tables are analyzed. The usual case for PRAGMA optimize is that +** no ANALYZE commands will be run at all, or if any ANALYZE happens it +** will be against a single table, so that expected timing for PRAGMA +** optimize on a PI-4 is more like 1 millisecond or less with the 0x10000 +** flag or less than 100 microseconds without the 0x10000 flag. +** +** An analysis limit of 2000 is almost always sufficient for the query +** planner to fully characterize an index. The additional accuracy from +** a larger analysis is not usually helpful. + */ + // C documentation // // /* @@ -116926,10 +117657,10 @@ func _sqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt Tu8) (r Tu8) { // */ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { if z != 0 { - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17739) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17826) { return int32(PAGER_LOCKINGMODE_EXCLUSIVE) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17749) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17836) { return PAGER_LOCKINGMODE_NORMAL } } @@ -116947,13 +117678,13 @@ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { func _getAutoVacuum(tls *libc.TLS, z uintptr) (r int32) { var i, v1 int32 _, _ = i, v1 - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8227) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+8352) { return BTREE_AUTOVACUUM_NONE } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17756) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17843) { return int32(BTREE_AUTOVACUUM_FULL) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17761) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+17848) { return int32(BTREE_AUTOVACUUM_INCR) } i = _sqlite3Atoi(tls, z) @@ -116976,10 +117707,10 @@ func _getTempStore(tls *libc.TLS, z uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(z))) <= int32('2') { return int32(*(*uint8)(unsafe.Pointer(z))) - int32('0') } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+16714) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+16801) == 0 { return int32(1) } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+17773) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+17860) == 0 { return int32(2) } else { return 0 @@ -117001,7 +117732,7 @@ func _invalidateTempStorage(tls *libc.TLS, pParse uintptr) (r int32) { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt != uintptr(0) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || _sqlite3BtreeTxnState(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) != SQLITE_TXN_NONE { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17780, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17867, 0) return int32(SQLITE_ERROR) } _sqlite3BtreeClose(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) @@ -117136,15 +117867,15 @@ func _actionName(tls *libc.TLS, action Tu8) (r uintptr) { _ = zName switch int32(action) { case int32(OE_SetNull): - zName = __ccgo_ts + 17842 + zName = __ccgo_ts + 17929 case int32(OE_SetDflt): - zName = __ccgo_ts + 17851 + zName = __ccgo_ts + 17938 case int32(OE_Cascade): - zName = __ccgo_ts + 17863 + zName = __ccgo_ts + 17950 case int32(OE_Restrict): - zName = __ccgo_ts + 17871 + zName = __ccgo_ts + 17958 default: - zName = __ccgo_ts + 17880 + zName = __ccgo_ts + 17967 _ = libc.Int32FromInt32(0) break } @@ -117173,12 +117904,12 @@ func _sqlite3JournalModename(tls *libc.TLS, eMode int32) (r uintptr) { } var _azModeName = [6]uintptr{ - 0: __ccgo_ts + 17890, - 1: __ccgo_ts + 17897, - 2: __ccgo_ts + 17905, - 3: __ccgo_ts + 17909, - 4: __ccgo_ts + 17773, - 5: __ccgo_ts + 17918, + 0: __ccgo_ts + 17977, + 1: __ccgo_ts + 17984, + 2: __ccgo_ts + 17992, + 3: __ccgo_ts + 17996, + 4: __ccgo_ts + 17860, + 5: __ccgo_ts + 18005, } // C documentation @@ -117244,15 +117975,15 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s goto _1 } if (*TFuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = __ccgo_ts + 17943 + zType = __ccgo_ts + 18030 } else { if (*TFuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = __ccgo_ts + 17945 + zType = __ccgo_ts + 18032 } else { - zType = __ccgo_ts + 7626 + zType = __ccgo_ts + 7751 } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+17947, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18034, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) goto _1 _1: ; @@ -117261,9 +117992,9 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s } var _azEnc = [4]uintptr{ - 1: __ccgo_ts + 17922, - 2: __ccgo_ts + 17927, - 3: __ccgo_ts + 17935, + 1: __ccgo_ts + 18009, + 2: __ccgo_ts + 18014, + 3: __ccgo_ts + 18022, } // C documentation @@ -117304,15 +118035,15 @@ func _integrityCheckResultRow(tls *libc.TLS, v uintptr) (r int32) { func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { bp := tls.Alloc(240) defer tls.Free(240) - var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, mxIdx, n, nHidden, nIdx, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v60, v62, v63, v64, v65, v68 int32 - var aOp, aOp1, aOp2, aOp3, aOp4, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v61, v66, v8 uintptr + var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v48, v50, v64, v66, v67, v68, v69, v72, v75, v76 int32 + var aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v65, v70, v8 uintptr var azOrigin [3]uintptr var cnum Ti16 var enc Tu8 var iPrior Tsqlite3_int64 + var iRange, szThreshold TLogEst var mask Tu64 var opMask Tu32 - var szThreshold TLogEst var _ /* N at bp+136 */ Tsqlite3_int64 var _ /* N at bp+144 */ Tsqlite3_int64 var _ /* N at bp+152 */ Tsqlite3_int64 @@ -117333,7 +118064,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var _ /* size at bp+60 */ int32 var _ /* sz at bp+64 */ Tsqlite3_int64 var _ /* x at bp+40 */ Ti64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iPrior, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, mxIdx, n, nHidden, nIdx, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v5, v60, v61, v62, v63, v64, v65, v66, v68, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iPrior, iRange, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v48, v5, v50, v64, v65, v66, v67, v68, v69, v70, v72, v75, v76, v8 zLeft = uintptr(0) /* Nul-terminated UTF-8 string */ zRight = uintptr(0) /* Nul-terminated UTF-8 string , or NULL */ zDb = uintptr(0) /* return value form SQLITE_FCNTL_PRAGMA */ @@ -117362,7 +118093,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p return } if minusFlag != 0 { - zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+17954, libc.VaList(bp+176, pValue)) + zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+18041, libc.VaList(bp+176, pValue)) } else { zRight = _sqlite3NameFromToken(tls, db, pValue) } @@ -117406,7 +118137,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } if rc != int32(SQLITE_NOTFOUND) { if (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0] != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3804, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3868, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) Xsqlite3_free(tls, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0]) } (*TParse)(unsafe.Pointer(pParse)).FnErr++ @@ -117513,7 +118244,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p b = -int32(1) _ = libc.Int32FromInt32(0) if zRight != 0 { - if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+17958) == 0 { + if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18045) == 0 { b = int32(2) } else { b = int32(_sqlite3GetBoolean(tls, zRight, uint8(0))) @@ -117584,7 +118315,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p */ fallthrough case int32(PragTyp_LOCKING_MODE): - zRet = __ccgo_ts + 17749 + zRet = __ccgo_ts + 17836 eMode = _getLockingMode(tls, zRight) if (*TToken)(unsafe.Pointer(pId2)).Fn == uint32(0) && eMode == -int32(1) { /* Simple "PRAGMA locking_mode;" statement. This is a query for @@ -117614,7 +118345,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } _ = libc.Int32FromInt32(0) if eMode == int32(PAGER_LOCKINGMODE_EXCLUSIVE) { - zRet = __ccgo_ts + 17739 + zRet = __ccgo_ts + 17826 } _returnSingleText(tls, v, zRet) break @@ -117909,7 +118640,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if *(*uint8)(unsafe.Pointer(zRight)) != 0 { rc = _sqlite3OsAccess(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, zRight, int32(SQLITE_ACCESS_READWRITE), bp+72) if rc != SQLITE_OK || *(*int32)(unsafe.Pointer(bp + 72)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17963, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18050, 0) Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) goto pragma_out } @@ -117919,7 +118650,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } Xsqlite3_free(tls, Xsqlite3_temp_directory) if *(*uint8)(unsafe.Pointer(zRight)) != 0 { - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+176, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+176, zRight)) } else { Xsqlite3_temp_directory = uintptr(0) } @@ -117941,7 +118672,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _returnSingleInt(tls, v, int64(int32((*TDb)(unsafe.Pointer(pDb)).Fsafety_level)-int32(1))) } else { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17988, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18075, 0) } else { if iDb != int32(1) { iLevel = (int32(_getSafetyLevel(tls, zRight, 0, uint8(1))) + int32(1)) & int32(PAGER_SYNCHRONOUS_MASK) @@ -117974,7 +118705,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if mask == uint64(SQLITE_DeferFKs) { (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons = 0 } - if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18041) == 0 { + if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+18128) == 0 { /* IMP: R-60817-01178 If the argument is "RESET" then schema ** writing is disabled (as with "PRAGMA writable_schema=OFF") and, ** in addition, the schema is reloaded. */ @@ -118057,9 +118788,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - v14 = __ccgo_ts + 18047 + v14 = __ccgo_ts + 18134 } else { - v14 = __ccgo_ts + 18055 + v14 = __ccgo_ts + 18142 } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 { v15 = int32(1) @@ -118071,7 +118802,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v16 = *(*uintptr)(unsafe.Pointer(pColExpr + 8)) } - _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1657), v15, v16, k, isHidden)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1671), v15, v16, k, isHidden)) goto _12 _12: ; @@ -118130,7 +118861,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pTab1 = (*THashElem)(unsafe.Pointer(k1)).Fdata if int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) == 0 { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18062, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18149, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 80)) = uintptr(0) Xsqlite3_prepare(tls, db, zSql, -int32(1), bp+80, uintptr(0)) @@ -118138,7 +118869,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3DbFree(tls, db, zSql) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1627, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1641, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) } pHash = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FpSchema + 8 @@ -118160,19 +118891,19 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _20 } if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 10805 + zType = __ccgo_ts + 10930 } else { if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 13053 + zType = __ccgo_ts + 13178 } else { if (*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Shadow) != 0 { - zType = __ccgo_ts + 18078 + zType = __ccgo_ts + 18165 } else { - zType = __ccgo_ts + 9067 + zType = __ccgo_ts + 9192 } } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18085, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18172, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) goto _20 _20: ; @@ -118220,9 +118951,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v22 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab3)).FaCol + uintptr(cnum)*16))).FzCnName } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18092, libc.VaList(bp+176, i1, int32(cnum), v22)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18179, libc.VaList(bp+176, i1, int32(cnum), v22)) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18097, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) + _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+18184, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) } _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), int32(1), (*TParse)(unsafe.Pointer(pParse)).FnMem) goto _21 @@ -118246,11 +118977,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } azOrigin = [3]uintptr{ - 0: __ccgo_ts + 18102, - 1: __ccgo_ts + 18104, - 2: __ccgo_ts + 16591, + 0: __ccgo_ts + 18189, + 1: __ccgo_ts + 18191, + 2: __ccgo_ts + 16678, } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18106, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18193, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) goto _23 _23: ; @@ -118270,7 +119001,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _24 } _ = libc.Int32FromInt32(0) - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18112, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18199, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) goto _24 _24: ; @@ -118287,7 +119018,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pColl = (*THashElem)(unsafe.Pointer(p)).Fdata v26 = i4 i4++ - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18116, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18203, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) goto _25 _25: ; @@ -118339,7 +119070,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } pMod = (*THashElem)(unsafe.Pointer(j1)).Fdata - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7626, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7751, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) goto _30 _30: ; @@ -118351,7 +119082,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i6 < int32(libc.Uint64FromInt64(1584)/libc.Uint64FromInt64(24))) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7626, libc.VaList(bp+176, _aPragmaName[i6].FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+7751, libc.VaList(bp+176, _aPragmaName[i6].FzName)) goto _31 _31: ; @@ -118377,7 +119108,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(j2 < (*TFKey)(unsafe.Pointer(pFK)).FnCol) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18119, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18128)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+18206, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+18215)) goto _32 _32: ; @@ -118523,7 +119254,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regResult+int32(1)) } - _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18133, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) + _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+18220, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), regResult, int32(4)) _sqlite3VdbeResolveLabel(tls, v, addrOk) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 96))) @@ -118593,7 +119324,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p /* Set the maximum error count */ *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) if zRight != 0 { - if _sqlite3GetInt32(tls, zRight, bp+104) != 0 { + if _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pValue)).Fz, bp+104) != 0 { if *(*int32)(unsafe.Pointer(bp + 104)) <= 0 { *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) } @@ -118613,8 +119344,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i9 < (*Tsqlite3)(unsafe.Pointer(db)).FnDb) { break } /* Array of root page numbers of all btrees */ - cnt = 0 /* Number of entries in aRoot[] */ - mxIdx = 0 /* Maximum number of indexes for any table */ + cnt = 0 /* Number of entries in aRoot[] */ if libc.Bool(OMIT_TEMPDB != 0) && i9 == int32(1) { goto _40 } @@ -118656,9 +119386,6 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pIdx3 = (*TIndex)(unsafe.Pointer(pIdx3)).FpNext nIdx++ } - if nIdx > mxIdx { - mxIdx = nIdx - } goto _41 _41: ; @@ -118714,16 +119441,78 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } *(*int32)(unsafe.Pointer(aRoot)) = cnt /* Make sure sufficient number of registers have been allocated */ - _sqlite3TouchRegister(tls, pParse, int32(8)+mxIdx) + _sqlite3TouchRegister(tls, pParse, int32(8)+cnt) _sqlite3ClearTempRegCache(tls, pParse) /* Do the b-tree integrity checks */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(2), cnt, int32(1), aRoot, -int32(14)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(1), cnt, int32(8), aRoot, -int32(14)) _sqlite3VdbeChangeP5(tls, v, uint16(uint8(i9))) addr1 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(2)) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18137, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+18224, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(2), int32(3), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, addr1) + /* Check that the indexes all have the right number of rows */ + if pObjTab != 0 { + v48 = int32(1) + } else { + v48 = 0 + } + cnt = v48 + _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18248) + x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst + for { + if !(x2 != 0) { + break + } + iTab = 0 + pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab9 { + goto _49 + } + if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + v50 = cnt + cnt++ + iTab = v50 + } else { + iTab = cnt + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx5 + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { + break + } + iTab++ + goto _51 + _51: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + } + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if (*TIndex)(unsafe.Pointer(pIdx5)).FpPartIdxWhere == uintptr(0) { + addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+cnt, 0, int32(8)+iTab) + _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) + _integrityCheckResultRow(tls, v) + _sqlite3VdbeJumpHere(tls, v, addr1) + } + cnt++ + goto _52 + _52: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + goto _49 + _49: + ; + x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext + } /* Make sure all the indices are constructed correctly. */ x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst @@ -118731,39 +119520,39 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata pPrior = uintptr(0) r1 = -int32(1) /* Maximum non-virtual column number */ - if pObjTab != 0 && pObjTab != pTab9 { - goto _48 + if pObjTab != 0 && pObjTab != pTab10 { + goto _53 } - if !(int32((*TTable)(unsafe.Pointer(pTab9)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { - goto _48 + if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _53 } - if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { pPk1 = uintptr(0) r2 = 0 } else { - pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab9) + pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab10) r2 = _sqlite3GetTempRange(tls, pParse, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), int32(1), r2, r2+int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)-int32(1)) } - _sqlite3OpenTableAndIndices(tls, pParse, pTab9, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) + _sqlite3OpenTableAndIndices(tls, pParse, pTab10, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) /* reg[7] counts the number of entries in the table. ** reg[8+i] counts the number of entries in the i-th index */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(7)) j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(8)+j4) /* index entries counter */ - goto _49 - _49: + goto _54 + _54: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } _ = libc.Int32FromInt32(0) @@ -118776,29 +119565,29 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** by the OP_IsType code, so it is a required step. */ _ = libc.Int32FromInt32(0) - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { mxCol = -int32(1) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { + if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { mxCol++ } - goto _50 - _50: + goto _55 + _55: ; j4++ } - if mxCol == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { + if mxCol == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { mxCol-- } } else { /* COLFLAG_VIRTUAL columns are not included in the WITHOUT ROWID ** PK index column-count, so there is no need to account for them ** in this case. */ - mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab9))).FnColumn) - int32(1) + mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab10))).FnColumn) - int32(1) } if mxCol >= 0 { _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 108)), mxCol, int32(3)) @@ -118808,7 +119597,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if pPk1 != 0 { a1 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 108)), 0, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), r2) - zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18161, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+18277, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a1) @@ -118819,8 +119608,8 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprCodeLoadIndexColumn(tls, pParse, pPk1, *(*int32)(unsafe.Pointer(bp + 108)), j4, r2+j4) - goto _51 - _51: + goto _56 + _56: ; j4++ } @@ -118835,15 +119624,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** (4) Datatype for numeric columns in non-STRICT tables must not ** be a TEXT value that can be losslessly converted to numeric. */ - bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_Strict) != uint32(0)) + bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_Strict) != uint32(0)) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - pCol1 = (*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ - if j4 == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { - goto _52 + pCol1 = (*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ + if j4 == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { + goto _57 } if bStrict != 0 { doTypeCheck = libc.BoolInt32(int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4)) > int32(COLTYPE_ANY)) @@ -118851,28 +119640,28 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p doTypeCheck = libc.BoolInt32(int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) > int32(SQLITE_AFF_BLOB)) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf>>0)) == 0 && !(doTypeCheck != 0) { - goto _52 + goto _57 } /* Compute the operands that will be needed for OP_IsType */ p4 = int32(SQLITE_NULL) if int32((*TColumn)(unsafe.Pointer(pCol1)).FcolFlags)&int32(COLFLAG_VIRTUAL) != 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) p11 = -int32(1) p3 = int32(3) } else { if (*TColumn)(unsafe.Pointer(pCol1)).FiDflt != 0 { *(*uintptr)(unsafe.Pointer(bp + 120)) = uintptr(0) - _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab9, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, (*TColumn)(unsafe.Pointer(pCol1)).Faffinity, bp+120) + _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab10, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, (*TColumn)(unsafe.Pointer(pCol1)).Faffinity, bp+120) if *(*uintptr)(unsafe.Pointer(bp + 120)) != 0 { p4 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) } } p11 = *(*int32)(unsafe.Pointer(bp + 108)) - if !((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { - p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab9), int16(j4))) + if !((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { + p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab10), int16(j4))) } else { - p3 = int32(_sqlite3TableColumnToStorage(tls, pTab9, int16(j4))) + p3 = int32(_sqlite3TableColumnToStorage(tls, pTab10, int16(j4))) } } labelError = _sqlite3VdbeMakeLabel(tls, pParse) @@ -118889,10 +119678,10 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** is REAL, we have to load the actual data using OP_Column ** to reliably determine if the value is a NULL. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), p11, p3, int32(3)) - _sqlite3ColumnDefault(tls, v, pTab9, j4, int32(3)) + _sqlite3ColumnDefault(tls, v, pTab10, j4, int32(3)) jmp3 = _sqlite3VdbeAddOp2(tls, v, int32(OP_NotNull), int32(3), labelOk) } - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18197, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18313, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) if doTypeCheck != 0 { _sqlite3VdbeGoto(tls, v, labelError) @@ -118906,7 +119695,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _ = libc.Int32FromInt32(0) _sqlite3VdbeChangeP5(tls, v, uint16(_aStdTypeMask[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)])) - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18217, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18333, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) == int32(SQLITE_AFF_TEXT) { @@ -118914,7 +119703,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** NULL, TEXT, or BLOB. */ _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18239, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18355, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) >= int32(SQLITE_AFF_NUMERIC) { @@ -118923,12 +119712,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1b)) /* NULL, INT, FLOAT, or BLOB */ if p11 >= 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18262, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+18378, -int32(1)) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), -int32(1), labelOk, int32(3), p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18264, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+18380, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } } @@ -118936,14 +119725,14 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeResolveLabel(tls, v, labelError) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, labelOk) - goto _52 - _52: + goto _57 + _57: ; j4++ } /* Verify CHECK constraints */ - if (*TTable)(unsafe.Pointer(pTab9)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { - pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab9)).FpCheck, 0) + if (*TTable)(unsafe.Pointer(pTab10)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { + pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab10)).FpCheck, 0) if int32((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { addrCkFault = _sqlite3VdbeMakeLabel(tls, pParse) addrCkOk = _sqlite3VdbeMakeLabel(tls, pParse) @@ -118954,15 +119743,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprIfFalse(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8 + uintptr(k3)*32))).FpExpr, addrCkFault, 0) - goto _53 - _53: + goto _58 + _58: ; k3-- } _sqlite3ExprIfTrue(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8))).FpExpr, addrCkOk, int32(SQLITE_JUMPIFNULL)) _sqlite3VdbeResolveLabel(tls, v, addrCkFault) (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18284, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+18400, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr2, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -118972,25 +119761,25 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(isQuick != 0) { /* Omit the remaining tests for quick_check */ /* Validate index entries for the current row */ j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } ckUniq = _sqlite3VdbeMakeLabel(tls, pParse) - if pPk1 == pIdx5 { - goto _54 + if pPk1 == pIdx6 { + goto _59 } - r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) - pPrior = pIdx5 + r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx6, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) + pPrior = pIdx6 _sqlite3VdbeAddOp2(tls, v, int32(OP_AddImm), int32(8)+j4, int32(1)) /* increment entry count */ /* Verify that an index entry exists for the current table row */ - jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18314) + jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18430) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18319) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18435) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) - jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx6)).FzName) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) jmp4 = _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, jmp21) @@ -118998,12 +119787,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** that extracts the rowid off the end of the index record. ** But it only works correctly if index record does not have ** any extra bytes at the end. Verify that this is the case. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { _sqlite3VdbeAddOp2(tls, v, int32(OP_IdxRowid), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)-int32(1)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18340) + jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)-int32(1)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18456) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18376) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18492) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp7) } @@ -119012,101 +119801,77 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p label6 = 0 kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { - goto _55 + if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { + goto _60 } if label6 == 0 { label6 = _sqlite3VdbeMakeLabel(tls, pParse) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 112))+j4, kk, int32(3)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ne), int32(3), label6, r1+kk) - goto _55 - _55: + goto _60 + _60: ; kk++ } if label6 != 0 { jmp6 = _sqlite3VdbeAddOp0(tls, v, int32(OP_Goto)) _sqlite3VdbeResolveLabel(tls, v, label6) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18314) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18430) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18387) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+18503) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp6) } /* For UNIQUE indexes, verify that only one entry exists with the ** current key. The entry is unique if (1) any column is NULL ** or (2) the next entry has a different key */ - if int32((*TIndex)(unsafe.Pointer(pIdx5)).FonError) != OE_None { + if int32((*TIndex)(unsafe.Pointer(pIdx6)).FonError) != OE_None { uniqOk = _sqlite3VdbeMakeLabel(tls, pParse) kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2))) + iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FaiColumn + uintptr(kk)*2))) _ = libc.Int32FromInt32(0) - if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { - goto _56 + if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { + goto _61 } _sqlite3VdbeAddOp2(tls, v, int32(OP_IsNull), r1+kk, uniqOk) - goto _56 - _56: + goto _61 + _61: ; kk++ } jmp61 = _sqlite3VdbeAddOp1(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 112))+j4) _sqlite3VdbeGoto(tls, v, uniqOk) _sqlite3VdbeJumpHere(tls, v, jmp61) - _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18414) + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+18530) _sqlite3VdbeGoto(tls, v, jmp5) _sqlite3VdbeResolveLabel(tls, v, uniqOk) } _sqlite3VdbeJumpHere(tls, v, jmp4) _sqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 128))) - goto _54 - _54: + goto _59 + _59: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } } _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 108)), loopTop) _sqlite3VdbeJumpHere(tls, v, loopTop-int32(1)) - if !(isQuick != 0) { - _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+18441) - j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex - for { - if !(pIdx5 != 0) { - break - } - if pPk1 == pIdx5 { - goto _57 - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+j4, 0, int32(3)) - _sqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) - _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) - _integrityCheckResultRow(tls, v) - _sqlite3VdbeJumpHere(tls, v, addr1) - goto _57 - _57: - ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext - j4++ - } - if pPk1 != 0 { - _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) - } + if pPk1 != 0 { + _ = libc.Int32FromInt32(0) + _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) } - goto _48 - _48: + goto _53 + _53: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -119118,60 +119883,60 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata - if pObjTab != 0 && pObjTab != pTab10 { - goto _58 + pTab11 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab11 { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == TABTYP_NORM { - goto _58 + if int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == TABTYP_NORM { + goto _62 } - if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { - goto _58 + if !(int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FnCol) <= 0 { + if int32((*TTable)(unsafe.Pointer(pTab11)).FnCol) <= 0 { zMod = *(*uintptr)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).FazArg)) + })(unsafe.Pointer(pTab11 + 64))).FazArg)) if _sqlite3HashFind(tls, db+576, zMod) == uintptr(0) { - goto _58 + goto _62 } } - _sqlite3ViewGetColumnNames(tls, pParse, pTab10) + _sqlite3ViewGetColumnNames(tls, pParse, pTab11) if (*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp == uintptr(0) { - goto _58 + })(unsafe.Pointer(pTab11 + 64))).Fp == uintptr(0) { + goto _62 } pVTab = (*TVTable)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp)).FpVtab + })(unsafe.Pointer(pTab11 + 64))).Fp)).FpVtab if pVTab == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FiVersion < int32(4) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FxIntegrity == uintptr(0) { - goto _58 + goto _62 } _sqlite3VdbeAddOp3(tls, v, int32(OP_VCheck), i9, int32(3), isQuick) - (*TTable)(unsafe.Pointer(pTab10)).FnTabRef++ - _sqlite3VdbeAppendP4(tls, v, pTab10, -int32(16)) + (*TTable)(unsafe.Pointer(pTab11)).FnTabRef++ + _sqlite3VdbeAppendP4(tls, v, pTab11, -int32(16)) a11 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a11) - goto _58 - goto _58 - _58: + goto _62 + goto _62 + _62: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -119184,7 +119949,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if aOp2 != 0 { (*(*TVdbeOp)(unsafe.Pointer(aOp2))).Fp2 = int32(1) - *(*int32)(unsafe.Pointer(bp + 104)) (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 2*24))).Fp4type = int8(-libc.Int32FromInt32(1)) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18470 + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 18557 (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 5*24))).Fp4type = int8(-libc.Int32FromInt32(1)) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = _sqlite3ErrStr(tls, int32(SQLITE_CORRUPT)) } @@ -119245,20 +120010,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc != 0 { - v60 = int32((*struct { + v64 = int32((*struct { FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc) } else { - v60 = int32(SQLITE_UTF16BE) + v64 = int32(SQLITE_UTF16BE) } - enc = uint8(v60) + enc = uint8(v64) (*TSchema)(unsafe.Pointer((*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema)).Fenc = enc _sqlite3SetTextEncoding(tls, db, enc) break } - goto _59 - _59: + goto _63 + _63: ; pEnc += 16 } @@ -119266,7 +120031,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).FzName != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18531, libc.VaList(bp+176, zRight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18618, libc.VaList(bp+176, zRight)) } } } @@ -119344,11 +120109,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p i10 = 0 (*TParse)(unsafe.Pointer(pParse)).FnMem = int32(1) for { - v62 = i10 + v66 = i10 i10++ - v61 = Xsqlite3_compileoption_get(tls, v62) - zOpt = v61 - if !(v61 != uintptr(0)) { + v65 = Xsqlite3_compileoption_get(tls, v66) + zOpt = v65 + if !(v65 != uintptr(0)) { break } _sqlite3VdbeLoadString(tls, v, int32(1), zOpt) @@ -119364,20 +120129,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p fallthrough case int32(PragTyp_WAL_CHECKPOINT): if (*TToken)(unsafe.Pointer(pId2)).Fz != 0 { - v63 = iDb + v67 = iDb } else { - v63 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) + v67 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) } - iBt = v63 + iBt = v67 eMode2 = SQLITE_CHECKPOINT_PASSIVE if zRight != 0 { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17756) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17843) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_FULL) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18556) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+18643) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_RESTART) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17909) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+17996) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_TRUNCATE) } } @@ -119401,11 +120166,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p Xsqlite3_wal_autocheckpoint(tls, db, _sqlite3Atoi(tls, zRight)) } if (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback == __ccgo_fp(_sqlite3WalDefaultHook) { - v64 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) + v68 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) } else { - v64 = 0 + v68 = 0 } - _returnSingleInt(tls, v, int64(v64)) + _returnSingleInt(tls, v, int64(v68)) break /* ** PRAGMA shrink_memory @@ -119433,47 +120198,68 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** ** The optional argument is a bitmask of optimizations to perform: ** - ** 0x0001 Debugging mode. Do not actually perform any optimizations - ** but instead return one line of text for each optimization - ** that would have been done. Off by default. + ** 0x00001 Debugging mode. Do not actually perform any optimizations + ** but instead return one line of text for each optimization + ** that would have been done. Off by default. ** - ** 0x0002 Run ANALYZE on tables that might benefit. On by default. - ** See below for additional information. + ** 0x00002 Run ANALYZE on tables that might benefit. On by default. + ** See below for additional information. ** - ** 0x0004 (Not yet implemented) Record usage and performance - ** information from the current session in the - ** database file so that it will be available to "optimize" - ** pragmas run by future database connections. + ** 0x00010 Run all ANALYZE operations using an analysis_limit that + ** is the lessor of the current analysis_limit and the + ** SQLITE_DEFAULT_OPTIMIZE_LIMIT compile-time option. + ** The default value of SQLITE_DEFAULT_OPTIMIZE_LIMIT is + ** currently (2024-02-19) set to 2000, which is such that + ** the worst case run-time for PRAGMA optimize on a 100MB + ** database will usually be less than 100 milliseconds on + ** a RaspberryPI-4 class machine. On by default. ** - ** 0x0008 (Not yet implemented) Create indexes that might have - ** been helpful to recent queries + ** 0x10000 Look at tables to see if they need to be reanalyzed + ** due to growth or shrinkage even if they have not been + ** queried during the current connection. Off by default. ** - ** The default MASK is and always shall be 0xfffe. 0xfffe means perform all - ** of the optimizations listed above except Debug Mode, including new - ** optimizations that have not yet been invented. If new optimizations are - ** ever added that should be off by default, those off-by-default - ** optimizations will have bitmasks of 0x10000 or larger. + ** The default MASK is and always shall be 0x0fffe. In the current + ** implementation, the default mask only covers the 0x00002 optimization, + ** though additional optimizations that are covered by 0x0fffe might be + ** added in the future. Optimizations that are off by default and must + ** be explicitly requested have masks of 0x10000 or greater. ** ** DETERMINATION OF WHEN TO RUN ANALYZE ** ** In the current implementation, a table is analyzed if only if all of ** the following are true: ** - ** (1) MASK bit 0x02 is set. + ** (1) MASK bit 0x00002 is set. + ** + ** (2) The table is an ordinary table, not a virtual table or view. ** - ** (2) The query planner used sqlite_stat1-style statistics for one or - ** more indexes of the table at some point during the lifetime of - ** the current connection. + ** (3) The table name does not begin with "sqlite_". ** - ** (3) One or more indexes of the table are currently unanalyzed OR - ** the number of rows in the table has increased by 25 times or more - ** since the last time ANALYZE was run. + ** (4) One or more of the following is true: + ** (4a) The 0x10000 MASK bit is set. + ** (4b) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. + ** (4c) The query planner used sqlite_stat1-style statistics for one + ** or more indexes of the table at some point during the lifetime + ** of the current connection. + ** + ** (5) One or more of the following is true: + ** (5a) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. (Same as 4a) + ** (5b) The number of rows in the table has increased or decreased by + ** 10-fold. In other words, the current size of the table is + ** 10 times larger than the size in sqlite_stat1 or else the + ** current size is less than 1/10th the size in sqlite_stat1. ** ** The rules for when tables are analyzed are likely to change in - ** future releases. + ** future releases. Future versions of SQLite might accept a string + ** literal argument to this pragma that contains a mnemonic description + ** of the options rather than a bitmap. */ fallthrough - case int32(PragTyp_OPTIMIZE): /* Mask of operations to perform */ + case int32(PragTyp_OPTIMIZE): /* Analysis limit to use */ + nCheck = 0 /* Number of tables to be optimized */ + nBtree = 0 /* Number of indexes on the current table */ if zRight != 0 { opMask = uint32(_sqlite3Atoi(tls, zRight)) if opMask&uint32(0x02) == uint32(0) { @@ -119482,22 +120268,31 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { opMask = uint32(0xfffe) } - v66 = pParse + 52 - v65 = *(*int32)(unsafe.Pointer(v66)) - *(*int32)(unsafe.Pointer(v66))++ - iTabCur = v65 + if opMask&uint32(0x10) == uint32(0) { + nLimit = 0 + } else { + if (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit > 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit < int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) { + nLimit = 0 + } else { + nLimit = int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) + } + } + v70 = pParse + 52 + v69 = *(*int32)(unsafe.Pointer(v70)) + *(*int32)(unsafe.Pointer(v70))++ + iTabCur = v69 if zDb != 0 { - v68 = iDb + v72 = iDb } else { - v68 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) + v72 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) } - iDbLast = v68 + iDbLast = v72 for { if !(iDb <= iDbLast) { break } if iDb == int32(1) { - goto _67 + goto _71 } _sqlite3CodeVerifySchema(tls, pParse, iDb) pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema @@ -119506,53 +120301,122 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(k4 != 0) { break } - pTab11 = (*THashElem)(unsafe.Pointer(k4)).Fdata - /* If table pTab has not been used in a way that would benefit from - ** having analysis statistics during the current session, then skip it. - ** This also has the effect of skipping virtual tables and views */ - if (*TTable)(unsafe.Pointer(pTab11)).FtabFlags&uint32(TF_StatsUsed) == uint32(0) { - goto _69 + pTab12 = (*THashElem)(unsafe.Pointer(k4)).Fdata + /* This only works for ordinary tables */ + if !(int32((*TTable)(unsafe.Pointer(pTab12)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _73 } - /* Reanalyze if the table is 25 times larger than the last analysis */ - szThreshold = int16(int32((*TTable)(unsafe.Pointer(pTab11)).FnRowLogEst) + int32(46)) - _ = libc.Int32FromInt32(0) - pIdx6 = (*TTable)(unsafe.Pointer(pTab11)).FpIndex + /* Do not scan system tables */ + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab12)).FzName, __ccgo_ts+6598, int32(7)) { + goto _73 + } + /* Find the size of the table as last recorded in sqlite_stat1. + ** If any index is unanalyzed, then the threshold is -1 to + ** indicate a new, unanalyzed index + */ + szThreshold = (*TTable)(unsafe.Pointer(pTab12)).FnRowLogEst + nIndex = 0 + pIdx7 = (*TTable)(unsafe.Pointer(pTab12)).FpIndex for { - if !(pIdx6 != 0) { + if !(pIdx7 != 0) { break } - if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7)) != 0) { - szThreshold = 0 /* Always analyze if any index lacks statistics */ - break + nIndex++ + if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx7 + 100))&0x80>>7)) != 0) { + szThreshold = int16(-int32(1)) /* Always analyze if any index lacks statistics */ } - goto _70 - _70: + goto _74 + _74: ; - pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext + pIdx7 = (*TIndex)(unsafe.Pointer(pIdx7)).FpNext + } + /* If table pTab has not been used in a way that would benefit from + ** having analysis statistics during the current session, then skip it, + ** unless the 0x10000 MASK bit is set. */ + if (*TTable)(unsafe.Pointer(pTab12)).FtabFlags&uint32(TF_MaybeReanalyze) != uint32(0) { + /* Check for size change if stat1 has been used for a query */ + } else { + if opMask&uint32(0x10000) != 0 { + /* Check for size change if 0x10000 is set */ + } else { + if (*TTable)(unsafe.Pointer(pTab12)).FpIndex != uintptr(0) && int32(szThreshold) < 0 { + /* Do analysis if unanalyzed indexes exists */ + } else { + /* Otherwise, we can skip this table */ + goto _73 + } + } } - if szThreshold != 0 { - _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab11, int32(OP_OpenRead)) - _sqlite3VdbeAddOp3(tls, v, int32(OP_IfSmaller), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), int32(szThreshold)) + nCheck++ + if nCheck == int32(2) { + /* If ANALYZE might be invoked two or more times, hold a write + ** transaction for efficiency */ + _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) + } + nBtree += nIndex + int32(1) + /* Reanalyze if the table is 10 times larger or smaller than + ** the last analysis. Unconditional reanalysis if there are + ** unanalyzed indexes. */ + _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab12, int32(OP_OpenRead)) + if int32(szThreshold) >= 0 { + iRange = int16(33) /* 10x size change */ + if int32(szThreshold) >= int32(iRange) { + v75 = int32(szThreshold) - int32(iRange) + } else { + v75 = -int32(1) + } + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IfSizeBetween), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), v75, int32(szThreshold)+int32(iRange)) + } else { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1))) } - zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18564, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab11)).FzName)) + zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18651, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab12)).FzName)) if opMask&uint32(0x01) != 0 { r11 = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, r11, 0, zSubSql, -int32(6)) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), r11, int32(1)) } else { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), 0, 0, 0, zSubSql, -int32(6)) + if nLimit != 0 { + v76 = int32(0x02) + } else { + v76 = 00 + } + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), v76, nLimit, 0, zSubSql, -int32(6)) } - goto _69 - _69: + goto _73 + _73: ; k4 = (*THashElem)(unsafe.Pointer(k4)).Fnext } - goto _67 - _67: + goto _71 + _71: ; iDb++ } _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) + /* In a schema with a large number of tables and indexes, scale back + ** the analysis_limit to avoid excess run-time in the worst case. + */ + if !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && nLimit > 0 && nBtree > int32(100) { + nLimit = int32(100) * nLimit / nBtree + if nLimit < int32(100) { + nLimit = int32(100) + } + aOp5 = _sqlite3VdbeGetOp(tls, v, 0) + iEnd = _sqlite3VdbeCurrentAddr(tls, v) + iAddr1 = 0 + for { + if !(iAddr1 < iEnd) { + break + } + if int32((*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fopcode) == int32(OP_SqlExec) { + (*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fp2 = nLimit + } + goto _77 + _77: + ; + iAddr1++ + } + } break /* ** PRAGMA busy_timeout @@ -119779,34 +120643,34 @@ var _encnames1 = [9]struct { Fenc Tu8 }{ 0: { - FzName: __ccgo_ts + 18473, + FzName: __ccgo_ts + 18560, Fenc: uint8(SQLITE_UTF8), }, 1: { - FzName: __ccgo_ts + 18478, + FzName: __ccgo_ts + 18565, Fenc: uint8(SQLITE_UTF8), }, 2: { - FzName: __ccgo_ts + 18484, + FzName: __ccgo_ts + 18571, Fenc: uint8(SQLITE_UTF16LE), }, 3: { - FzName: __ccgo_ts + 18493, + FzName: __ccgo_ts + 18580, Fenc: uint8(SQLITE_UTF16BE), }, 4: { - FzName: __ccgo_ts + 18502, + FzName: __ccgo_ts + 18589, Fenc: uint8(SQLITE_UTF16LE), }, 5: { - FzName: __ccgo_ts + 18510, + FzName: __ccgo_ts + 18597, Fenc: uint8(SQLITE_UTF16BE), }, 6: { - FzName: __ccgo_ts + 18518, + FzName: __ccgo_ts + 18605, }, 7: { - FzName: __ccgo_ts + 18525, + FzName: __ccgo_ts + 18612, }, 8: {}, } @@ -119902,14 +120766,14 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg _ = argc _ = argv _sqlite3StrAccumInit(tls, bp, uintptr(0), bp+32, int32(200), 0) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18582) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18669) i = 0 j = int32((*TPragmaName)(unsafe.Pointer(pPragma)).FiPragCName) for { if !(i < int32((*TPragmaName)(unsafe.Pointer(pPragma)).FnPragCName)) { break } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18597, libc.VaList(bp+240, int32(cSep), _pragCName[j])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18684, libc.VaList(bp+240, int32(cSep), _pragCName[j])) cSep = uint8(',') goto _1 _1: @@ -119918,19 +120782,19 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg j++ } if i == 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18604, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18691, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&int32(PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18610) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18697) j++ } if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(libc.Int32FromInt32(PragFlg_SchemaOpt)|libc.Int32FromInt32(PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18622) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18709) j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5115, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5179, int32(1)) _sqlite3StrAccumFinish(tls, bp) _ = libc.Int32FromInt32(0) rc = Xsqlite3_declare_vtab(tls, db, bp+32) @@ -119946,7 +120810,7 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg (*TPragmaVtab)(unsafe.Pointer(pTab)).FnHidden = uint8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab return rc @@ -119992,14 +120856,14 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 if !(i < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { break } - if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { goto _1 } if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != int32(SQLITE_INDEX_CONSTRAINT_EQ) { goto _1 } - if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { - goto _1 + if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + return int32(SQLITE_CONSTRAINT) } j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn - int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) _ = libc.Int32FromInt32(0) @@ -120018,16 +120882,13 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 j = seen[0] - int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) - if seen[int32(1)] == 0 { - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(1000) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000) - return SQLITE_OK - } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(20) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(20) - j = seen[int32(1)] - int32(1) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + if seen[int32(1)] != 0 { + j = seen[int32(1)] - int32(1) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + } return SQLITE_OK } @@ -120055,6 +120916,7 @@ func _pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { _ = i Xsqlite3_finalize(tls, (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) + (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(16)/libc.Uint64FromInt64(8))) { @@ -120133,7 +120995,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if zText != 0 { - *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+40, zText)) + *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+40, zText)) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -120145,13 +121007,13 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr j++ } _sqlite3StrAccumInit(tls, bp, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4))) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18637) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+18724) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18645, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18732, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) } Xsqlite3_str_appendall(tls, bp, (*TPragmaName)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18649, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+18736, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) } zSql = _sqlite3StrAccumFinish(tls, bp) if zSql == uintptr(0) { @@ -120160,7 +121022,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr rc = Xsqlite3_prepare_v2(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), pCsr+8, uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return _pragmaVtabNext(tls, pVtabCursor) @@ -120288,24 +121150,24 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) /* A error message has already been generated. Do not overwrite it */ } else { if (*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(libc.Int32FromInt32(INITFLAG_AlterMask)) != 0 { - *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18683, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) + *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+18770, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) (*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR) } else { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140891)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141840)) } else { if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - v1 = __ccgo_ts + 5117 + v1 = __ccgo_ts + 5181 } zObj = v1 - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18711, libc.VaList(bp+8, zObj)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18798, libc.VaList(bp+8, zObj)) if zExtra != 0 && *(*uint8)(unsafe.Pointer(zExtra)) != 0 { - z = _sqlite3MPrintf(tls, db, __ccgo_ts+18742, libc.VaList(bp+8, z, zExtra)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+18829, libc.VaList(bp+8, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140898)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141847)) } } } @@ -120313,9 +121175,9 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } var _azAlterType = [3]uintptr{ - 0: __ccgo_ts + 18653, - 1: __ccgo_ts + 18660, - 2: __ccgo_ts + 18672, + 0: __ccgo_ts + 18740, + 1: __ccgo_ts + 18747, + 2: __ccgo_ts + 18759, } // C documentation @@ -120395,7 +121257,7 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(iDb) if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), db+192) == 0 || (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage && (*TInitData)(unsafe.Pointer(pData)).FmxPage > uint32(0) { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14525) + _corruptSchema(tls, pData, argv, __ccgo_ts+14618) } } libc.SetBitFieldPtr8Uint32(db+192+8, libc.Uint32FromInt32(0), 0, 0x1) @@ -120430,11 +121292,11 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr } else { pIndex = _sqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName) if pIndex == uintptr(0) { - _corruptSchema(tls, pData, argv, __ccgo_ts+18750) + _corruptSchema(tls, pData, argv, __ccgo_ts+18837) } else { if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum < uint32(2) || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage || _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+14525) + _corruptSchema(tls, pData, argv, __ccgo_ts+14618) } } } @@ -120478,18 +121340,18 @@ func _sqlite3InitOne(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. */ - (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9067 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 9192 if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 6542 + v2 = __ccgo_ts + 6606 } else { - v2 = __ccgo_ts + 6075 + v2 = __ccgo_ts + 6139 } v1 = v2 zSchemaTabName = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(2)] = (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8139 - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18763 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 8264 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 18850 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(5)] = uintptr(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 72))).FiDb = iDb @@ -120579,7 +121441,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl } else { /* If opening an attached database, the encoding much match ENC(db) */ if (*(*[5]int32)(unsafe.Pointer(bp + 48)))[libc.Int32FromInt32(BTREE_TEXT_ENCODING)-libc.Int32FromInt32(1)]&int32(3) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12104) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+12229) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -120605,7 +121467,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = uint8(1) } if int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > int32(SQLITE_MAX_FILE_FORMAT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18835) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+18922) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -120621,7 +121483,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl */ _ = libc.Int32FromInt32(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).FmxPage = _sqlite3BtreeLastPage(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18859, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+18946, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, __ccgo_fp(_sqlite3InitCallback), bp+72, uintptr(0)) @@ -120938,7 +121800,12 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) { var pCleanup uintptr _ = pCleanup - pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + if _sqlite3FaultSim(tls, int32(300)) != 0 { + pCleanup = uintptr(0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) + } else { + pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + } if pCleanup != 0 { (*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup (*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup @@ -120970,7 +121837,7 @@ func _sqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FpParse = pParse (*TParse)(unsafe.Pointer(pParse)).Fdb = db if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1627, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1641, 0) } } @@ -121006,7 +121873,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } _ = libc.Int32FromInt32(0) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1627, 0) + _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1641, 0) v1 = libc.Int32FromInt32(SQLITE_NOMEM) rc = v1 (*Tsqlite3)(unsafe.Pointer(db)).FerrCode = v1 @@ -121057,7 +121924,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep rc = _sqlite3BtreeSchemaLocked(tls, pBt) if rc != 0 { zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FzDbSName - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18893, libc.VaList(bp+432, zDb)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+18980, libc.VaList(bp+432, zDb)) goto end_prepare } } @@ -121073,7 +121940,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep if nBytes >= 0 && (nBytes == 0 || int32(*(*uint8)(unsafe.Pointer(zSql + uintptr(nBytes-int32(1))))) != 0) { mxLen = *(*int32)(unsafe.Pointer(db + 136 + 1*4)) if nBytes > mxLen { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+18923, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+19010, 0) rc = _sqlite3ApiExit(tls, db, int32(SQLITE_TOOBIG)) goto end_prepare } @@ -121109,7 +121976,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep _ = libc.Int32FromInt32(0) rc = (*(*TParse)(unsafe.Pointer(bp))).Frc if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3804, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+3868, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) } else { _sqlite3Error(tls, db, rc) @@ -121140,7 +122007,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3 cnt = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141699)) + return _sqlite3MisuseError(tls, int32(142654)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) _sqlite3BtreeEnterAll(tls, db) @@ -121283,7 +122150,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr rc = SQLITE_OK *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141848)) + return _sqlite3MisuseError(tls, int32(142803)) } if nBytes >= 0 { z = zSql @@ -121693,15 +122560,15 @@ func _sqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC i++ } if jointype&(libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER)) == libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER) || jointype&int32(JT_ERROR) != 0 || jointype&(libc.Int32FromInt32(JT_OUTER)|libc.Int32FromInt32(JT_LEFT)|libc.Int32FromInt32(JT_RIGHT)) == int32(JT_OUTER) { - zSp1 = __ccgo_ts + 11211 - zSp2 = __ccgo_ts + 11211 + zSp1 = __ccgo_ts + 11336 + zSp2 = __ccgo_ts + 11336 if pB == uintptr(0) { zSp1++ } if pC == uintptr(0) { zSp2++ } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18942, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19029, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) jointype = int32(JT_INNER) } return jointype @@ -122004,7 +122871,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { if int32((*TSrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype)&int32(JT_NATURAL) != 0 { pUsing = uintptr(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+18972, libc.VaList(bp+16, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19059, libc.VaList(bp+16, 0)) return int32(1) } j = 0 @@ -122057,7 +122924,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { zName1 = (*(*TIdList_item)(unsafe.Pointer(pList + 8 + uintptr(j)*16))).FzName iRightCol = _sqlite3ColumnIndex(tls, pRightTab, zName1) if iRightCol < 0 || _tableAndColumnIndex(tls, pSrc, 0, i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19022, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19109, libc.VaList(bp+16, zName1)) return int32(1) } pE1 = _sqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4))) @@ -122079,7 +122946,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { pFuncArgs = uintptr(0) /* Arguments to the coalesce() */ for _tableAndColumnIndex(tls, pSrc, *(*int32)(unsafe.Pointer(bp))+int32(1), i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) != 0 { if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 60 + 4))&0x400>>10)) == 0 || _sqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 72)), zName1) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19086, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19173, libc.VaList(bp+16, zName1)) break } pFuncArgs = _sqlite3ExprListAppend(tls, pParse, pFuncArgs, pE1) @@ -122125,7 +122992,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { } var _tkCoalesce = TToken{ - Fz: __ccgo_ts + 6739, + Fz: __ccgo_ts + 6803, Fn: uint32(8), } @@ -122925,13 +123792,13 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { _ = z switch id { case int32(TK_ALL): - z = __ccgo_ts + 19123 + z = __ccgo_ts + 19210 case int32(TK_INTERSECT): - z = __ccgo_ts + 19133 + z = __ccgo_ts + 19220 case int32(TK_EXCEPT): - z = __ccgo_ts + 19143 + z = __ccgo_ts + 19230 default: - z = __ccgo_ts + 19150 + z = __ccgo_ts + 19237 break } return z @@ -122952,7 +123819,7 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { func _explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19156, libc.VaList(bp+8, zUsage)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19243, libc.VaList(bp+8, zUsage)) } /* @@ -122986,12 +123853,17 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, iParm = (*TSelectDest)(unsafe.Pointer(pDest)).FiSDParm /* True if sorter record includes seq. no. */ nRefKey = 0 aOutEx = (*TSelect)(unsafe.Pointer(p)).FpEList + 8 - if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 { - v1 = __ccgo_ts + 19179 + nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat == 0 || nKey == int32(1) { + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat != 0 { + v1 = __ccgo_ts + 19266 + } else { + v1 = __ccgo_ts + 1671 + } + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19280, libc.VaList(bp+8, v1)) } else { - v1 = __ccgo_ts + 1657 + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19311, libc.VaList(bp+8, nKey)) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19194, libc.VaList(bp+8, v1)) _ = libc.Int32FromInt32(0) if (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut != 0 { _sqlite3VdbeAddOp2(tls, v, int32(OP_Gosub), (*TSortCtx)(unsafe.Pointer(pSort)).FregReturn, (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut) @@ -123014,7 +123886,6 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, regRow = _sqlite3GetTempRange(tls, pParse, nColumn) } } - nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat if int32((*TSortCtx)(unsafe.Pointer(pSort)).FsortFlags)&int32(SORTFLAG_UseSorter) != 0 { v3 = pParse + 56 *(*int32)(unsafe.Pointer(v3))++ @@ -123240,7 +124111,7 @@ func _columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr _ = libc.Int32FromInt32(0) if iCol < 0 { zType = __ccgo_ts + 1145 - *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16703 + *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 16790 } else { *(*uintptr)(unsafe.Pointer(bp + 16)) = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, uintptr(0)) @@ -123393,13 +124264,13 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } _ = libc.Int32FromInt32(0) if iCol < 0 { - zCol = __ccgo_ts + 16703 + zCol = __ccgo_ts + 16790 } else { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } if fullName != 0 { zName1 = uintptr(0) - zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12390, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) + zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+12515, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName1, __ccgo_fp(_sqlite3OomClear)) } else { _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, uintptr(-libc.Int32FromInt32(1))) @@ -123407,7 +124278,7 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { z = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32))).FzEName if z == uintptr(0) { - v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19225, libc.VaList(bp+8, i+int32(1))) + v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19357, libc.VaList(bp+8, i+int32(1))) } else { v2 = _sqlite3DbStrDup(tls, db, z) } @@ -123501,7 +124372,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if iCol >= 0 { v3 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } else { - v3 = __ccgo_ts + 16703 + v3 = __ccgo_ts + 16790 } zName = v3 } else { @@ -123517,7 +124388,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if zName != 0 && !(_sqlite3IsTrueOrFalse(tls, zName) != 0) { zName = _sqlite3DbStrDup(tls, db, zName) } else { - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19225, libc.VaList(bp+40, i+int32(1))) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19357, libc.VaList(bp+40, i+int32(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. @@ -123553,7 +124424,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, } *(*Tu32)(unsafe.Pointer(bp))++ v8 = *(*Tu32)(unsafe.Pointer(bp)) - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19234, libc.VaList(bp+40, nName, zName, v8)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+19366, libc.VaList(bp+40, nName, zName, v8)) _sqlite3ProgressCheck(tls, pParse) if *(*Tu32)(unsafe.Pointer(bp)) > uint32(3) { Xsqlite3_randomness(tls, int32(4), bp) @@ -123613,9 +124484,9 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS defer tls.Free(64) var a, db, p, pCol, pColl, pS2, zType, p4, p5 uintptr var i, j, m int32 - var m1, n Ti64 + var k, n Ti64 var _ /* sNC at bp+0 */ TNameContext - _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, m, m1, n, p, pCol, pColl, pS2, zType, p4, p5 + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, k, m, n, p, pCol, pColl, pS2, zType, p4, p5 db = (*TParse)(unsafe.Pointer(pParse)).Fdb _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -123636,17 +124507,22 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS if !(i < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } + m = 0 + pS2 = pSelect *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags) & libc.Int32FromInt32(COLFLAG_NOINSERT)) p = (*(*TExprList_item)(unsafe.Pointer(a + uintptr(i)*32))).FpExpr /* pCol->szEst = ... // Column size est for SELECT tables never used */ (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, p) + for int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) && (*TSelect)(unsafe.Pointer(pS2)).FpNext != uintptr(0) { + m |= _sqlite3ExprDataType(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext + (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + } if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) { (*TColumn)(unsafe.Pointer(pCol)).Faffinity = aff } - if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && (*TSelect)(unsafe.Pointer(pSelect)).FpNext != 0 { - m = 0 - m = 0 - pS2 = (*TSelect)(unsafe.Pointer(pSelect)).FpNext + if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && ((*TSelect)(unsafe.Pointer(pS2)).FpNext != 0 || pS2 != pSelect) { + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext for { if !(pS2 != 0) { break @@ -123671,7 +124547,7 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS zType = _columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0)) if zType == uintptr(0) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) != int32(_sqlite3AffinityType(tls, zType, uintptr(0))) { if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_NUMERIC) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_FLEXNUM) { - zType = __ccgo_ts + 19242 + zType = __ccgo_ts + 19374 } else { zType = uintptr(0) j = int32(1) @@ -123691,13 +124567,13 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS } } if zType != 0 { - m1 = int64(_sqlite3Strlen30(tls, zType)) + k = int64(_sqlite3Strlen30(tls, zType)) n = int64(_sqlite3Strlen30(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) - (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+m1+int64(2))) + (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+k+int64(2))) p4 = pCol + 14 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) & ^(libc.Int32FromInt32(COLFLAG_HASTYPE) | libc.Int32FromInt32(COLFLAG_HASCOLL))) if (*TColumn)(unsafe.Pointer(pCol)).FzCnName != 0 { - libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(m1+int64(1))) + libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(k+int64(1))) p5 = pCol + 14 *(*Tu16)(unsafe.Pointer(p5)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p5))) | libc.Int32FromInt32(COLFLAG_HASTYPE)) } @@ -123993,7 +124869,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest iDistinct = 0 /* To ensure unique results if UNION */ eDest = int32(SRT_Fifo) /* Registers used by LIMIT and OFFSET */ if (*TSelect)(unsafe.Pointer(p)).FpWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19246, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19378, 0) return } /* Obtain authorization to do a recursive query */ @@ -124086,7 +124962,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest break } if (*TSelect)(unsafe.Pointer(pFirstRec)).FselFlags&uint32(SF_Aggregate) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19295, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19427, 0) goto end_of_recursive_query } (*TSelect)(unsafe.Pointer(pFirstRec)).Fop = uint8(TK_ALL) @@ -124101,7 +124977,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest /* Store the results of the setup-query in Queue. */ pSetup = (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior (*TSelect)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19337, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19469, 0) rc = _sqlite3Select(tls, pParse, pSetup, bp) (*TSelect)(unsafe.Pointer(pSetup)).FpNext = p if rc != 0 { @@ -124129,7 +125005,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest ** the value for the recursive-table. Store the results in the Queue. */ (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19343, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19475, 0) _sqlite3Select(tls, pParse, p, bp) _ = libc.Int32FromInt32(0) (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -124188,11 +125064,11 @@ func _multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) nRow += bShowAll } if nRow == int32(1) { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } else { - v1 = __ccgo_ts + 19358 + v1 = __ccgo_ts + 19490 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19360, libc.VaList(bp+8, nRow, v1)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19492, libc.VaList(bp+8, nRow, v1)) for p != 0 { _selectInnerLoop(tls, pParse, p, -int32(1), uintptr(0), uintptr(0), pDest, int32(1), int32(1)) if !(bShowAll != 0) { @@ -124307,8 +125183,8 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in return _multiSelectOrderBy(tls, pParse, p, pDest) } else { if (*TSelect)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19383, 0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19398, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19515, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19530, 0) } /* Generate code for the left and right SELECT statements. */ @@ -124334,7 +125210,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in _sqlite3VdbeAddOp3(tls, v, int32(OP_OffsetLimit), (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TSelect)(unsafe.Pointer(p)).FiOffset+int32(1), (*TSelect)(unsafe.Pointer(p)).FiOffset) } } - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19123, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19210, 0) rc = _sqlite3Select(tls, pParse, p, bp) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124391,7 +125267,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 48))).FeDest = op - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19417, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19549, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+48) _ = libc.Int32FromInt32(0) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior @@ -124457,7 +125333,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit1 = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 88))).FiSDParm = tab2 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19417, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19549, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+88) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -124584,9 +125460,9 @@ func _sqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) bp := tls.Alloc(16) defer tls.Free(16) if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Values) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19438, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19570, 0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19484, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19616, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) } } @@ -124972,8 +125848,8 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy = _sqlite3ExprListDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0) - _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7376) - _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7376) + _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+7501) + _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+7501) /* Compute the limit registers */ _computeLimitRegisters(tls, pParse, p, labelEnd) if (*TSelect)(unsafe.Pointer(p)).FiLimit != 0 && op == int32(TK_ALL) { @@ -125017,14 +125893,14 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr regOutB = v21 _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), regAddrA) _sqlite3SelectDestInit(tls, bp+40, int32(SRT_Coroutine), regAddrB) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19566, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19698, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) /* Generate a coroutine to evaluate the SELECT statement to the ** left of the compound operator - the "A" select. */ addrSelectA = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regAddrA, 0, addrSelectA) (*TSelect)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19577, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19709, 0) _sqlite3Select(tls, pParse, pPrior, bp) _sqlite3VdbeEndCoroutine(tls, v, regAddrA) _sqlite3VdbeJumpHere(tls, v, addr1) @@ -125037,7 +125913,7 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr savedOffset = (*TSelect)(unsafe.Pointer(p)).FiOffset (*TSelect)(unsafe.Pointer(p)).FiLimit = regLimitB (*TSelect)(unsafe.Pointer(p)).FiOffset = 0 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19582, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+19714, 0) _sqlite3Select(tls, pParse, p, bp+40) (*TSelect)(unsafe.Pointer(p)).FiLimit = savedLimit (*TSelect)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -125255,7 +126131,7 @@ func _substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) (r uintptr) { if pColl != 0 { v1 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v1 = __ccgo_ts + 5095 + v1 = __ccgo_ts + 5159 } pExpr = _sqlite3ExprAddCollateString(tls, (*TSubstContext)(unsafe.Pointer(pSubst)).FpParse, pExpr, v1) } @@ -126319,10 +127195,10 @@ func _findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pLeft) != 0 { + if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pLeft) != 0 { _constInsert(tls, pConst, pRight, pLeft, pExpr) } - if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pRight) != 0 { + if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pRight) != 0 { _constInsert(tls, pConst, pLeft, pRight, pExpr) } } @@ -126563,6 +127439,18 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** The hope is that the terms added to the inner query will make it more // ** efficient. // ** +// ** NAME AMBIGUITY +// ** +// ** This optimization is called the "WHERE-clause push-down optimization". +// ** +// ** Do not confuse this optimization with another unrelated optimization +// ** with a similar name: The "MySQL push-down optimization" causes WHERE +// ** clause terms that can be evaluated using only the index and without +// ** reference to the table are run first, so that if they are false, +// ** unnecessary table seeks are avoided. +// ** +// ** RULES +// ** // ** Do not attempt this optimization if: // ** // ** (1) (** This restriction was removed on 2017-09-29. We used to @@ -126628,10 +127516,10 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** (9c) There is a RIGHT JOIN (or FULL JOIN) in between the ON/USING // ** clause and the subquery. // ** -// ** Without this restriction, the push-down optimization might move -// ** the ON/USING filter expression from the left side of a RIGHT JOIN -// ** over to the right side, which leads to incorrect answers. See -// ** also restriction (6) in sqlite3ExprIsSingleTableConstraint(). +// ** Without this restriction, the WHERE-clause push-down optimization +// ** might move the ON/USING filter expression from the left side of a +// ** RIGHT JOIN over to the right side, which leads to incorrect answers. +// ** See also restriction (6) in sqlite3ExprIsSingleTableConstraint(). // ** // ** (10) The inner query is not the right-hand table of a RIGHT JOIN. // ** @@ -126726,7 +127614,7 @@ func _pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere ui nChng += _pushDownWhereTerms(tls, pParse, pSubq, (*TExpr)(unsafe.Pointer(pWhere)).FpRight, pSrcList, iSrc) pWhere = (*TExpr)(unsafe.Pointer(pWhere)).FpLeft } - if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc) != 0 { + if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc, int32(1)) != 0 { nChng++ *(*Tu32)(unsafe.Pointer(pSubq + 4)) |= uint32(SF_PushDown) for pSubq != 0 { @@ -126905,13 +127793,13 @@ func _minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) (r } _ = libc.Int32FromInt32(0) zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8)) - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15559) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15652) == 0 { eRet = int32(WHERE_ORDERBY_MIN) if _sqlite3ExprCanBeNull(tls, (*(*TExprList_item)(unsafe.Pointer(pEList + 8))).FpExpr) != 0 { sortFlags = uint8(KEYINFO_ORDER_BIGNULL) } } else { - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15563) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+15656) == 0 { eRet = int32(WHERE_ORDERBY_MAX) sortFlags = uint8(KEYINFO_ORDER_DESC) } else { @@ -127007,7 +127895,7 @@ func _sqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r in pIdx = (*TIndex)(unsafe.Pointer(pIdx)).FpNext } if !(pIdx != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19588, libc.VaList(bp+8, zIndexedBy, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19720, libc.VaList(bp+8, zIndexedBy, 0)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) return int32(SQLITE_ERROR) } @@ -127134,7 +128022,7 @@ func _cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19606, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19738, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) return int32(1) } return 0 @@ -127316,7 +128204,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom *(*Tu32)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= uint32(SF_CopyCte) _ = libc.Int32FromInt32(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19629, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19761, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) return int32(2) } libc.SetBitFieldPtr16Uint32(pFrom+60+4, libc.Uint32FromInt32(1), 8, 0x100) @@ -127341,7 +128229,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ libc.SetBitFieldPtr16Uint32(pItem+60+4, libc.Uint32FromInt32(1), 6, 0x40) if (*TSelect)(unsafe.Pointer(pRecTerm)).FselFlags&uint32(SF_Recursive) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19649, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19781, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) return int32(2) } *(*Tu32)(unsafe.Pointer(pRecTerm + 4)) |= uint32(SF_Recursive) @@ -127363,7 +128251,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } pRecTerm = (*TSelect)(unsafe.Pointer(pRecTerm)).FpPrior } - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19692 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19824 pSavedWith = (*TParse)(unsafe.Pointer(pParse)).FpWith (*TParse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp)) if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { @@ -127399,7 +128287,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pEList = (*TSelect)(unsafe.Pointer(pLeft)).FpEList if (*TCte)(unsafe.Pointer(pCte)).FpCols != 0 { if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr != (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19715, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19847, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*TParse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return int32(2) } @@ -127408,9 +128296,9 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom _sqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8) if bMayRecursive != 0 { if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19753 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19885 } else { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19787 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 19919 } _sqlite3WalkSelect(tls, pWalker, pSel) } @@ -127471,7 +128359,7 @@ func _sqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int if (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 { (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3DbStrDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias) } else { - (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19825, libc.VaList(bp+8, pFrom)) + (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+19957, libc.VaList(bp+8, pFrom)) } for (*TSelect)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*TSelect)(unsafe.Pointer(pSel)).FpPrior @@ -127635,7 +128523,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { return int32(WRC_Abort) } if (*TTable)(unsafe.Pointer(pTab)).FnTabRef >= uint32(0xffff) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19829, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19961, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) (*TSrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return int32(WRC_Abort) } @@ -127651,7 +128539,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) && (*TTable)(unsafe.Pointer(pTab)).FpSchema != (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19868, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20000, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } (*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect = _sqlite3SelectDup(tls, db, (*(*struct { FpSelect uintptr @@ -127666,7 +128554,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).Fp)).FeVtabRisk) > libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15118, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15211, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } } _ = libc.Int32FromInt32(0) @@ -127803,7 +128691,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if iDb >= 0 { v10 = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName } else { - v10 = __ccgo_ts + 6599 + v10 = __ccgo_ts + 6663 } zSchemaName = v10 } @@ -127821,7 +128709,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if pNew != 0 { pX = pNew + 8 + uintptr((*TExprList)(unsafe.Pointer(pNew)).FnExpr-int32(1))*32 _ = libc.Int32FromInt32(0) - (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19899, libc.VaList(bp+8, zUName)) + (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20031, libc.VaList(bp+8, zUName)) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(ENAME_TAB), 0, 0x3) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(1), 7, 0x80) } @@ -127903,7 +128791,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { _ = libc.Int32FromInt32(0) (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, (*(*TExprList_item)(unsafe.Pointer(pNestedFrom + 8 + uintptr(j)*32))).FzEName) } else { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+19904, libc.VaList(bp+8, zSchemaName, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+20036, libc.VaList(bp+8, zSchemaName, zTabName, zName)) } if j == int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) { v13 = int32(ENAME_ROWID) @@ -127916,7 +128804,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } } else { if longNames != 0 { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12390, libc.VaList(bp+8, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+12515, libc.VaList(bp+8, zTabName, zName)) libc.SetBitFieldPtr16Uint32(pX1+16+4, libc.Uint32FromInt32(ENAME_NAME), 0, 0x3) } else { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, zName) @@ -127936,9 +128824,9 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if !(tableSeen != 0) { if zTName != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19913, libc.VaList(bp+8, zTName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20045, libc.VaList(bp+8, zTName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19931, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20063, 0) } } } @@ -127952,7 +128840,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if (*TSelect)(unsafe.Pointer(p)).FpEList != 0 { if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19951, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20083, 0) return int32(WRC_Abort) } if elistFlags&uint32(libc.Int32FromInt32(EP_HasFunc)|libc.Int32FromInt32(EP_Subquery)) != uint32(0) { @@ -128314,12 +129202,12 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { pE = (*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFExpr _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19982, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20114, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -int32(1) } else { pKeyInfo = _sqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20033, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20165, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab >= 0 { @@ -128345,7 +129233,7 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { (*TKeyInfo)(unsafe.Pointer(pKeyInfo1)).FnKeyField++ } _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab, (*TExprList)(unsafe.Pointer(pOBList)).FnExpr+nExtra, 0, pKeyInfo1, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20066, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20198, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } goto _1 _1: @@ -128670,16 +129558,16 @@ func _explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintp if int32((*TParse)(unsafe.Pointer(pParse)).Fexplain) == int32(2) { bCover = libc.BoolInt32(pIdx != uintptr(0) && ((*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) || !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == libc.Int32FromInt32(SQLITE_IDXTYPE_PRIMARYKEY)))) if bCover != 0 { - v1 = __ccgo_ts + 20099 + v1 = __ccgo_ts + 20231 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } if bCover != 0 { v2 = (*TIndex)(unsafe.Pointer(pIdx)).FzName } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20122, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20254, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) } } @@ -128711,7 +129599,7 @@ func _havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3 ** statements AggInfo structure. */ if _sqlite3ExprIsConstantOrGroupBy(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*TSelect)(unsafe.Pointer(pS)).FpGroupBy) != 0 && libc.BoolInt32((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse)) == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8139) + pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8264) if pNew != 0 { pWhere = (*TSelect)(unsafe.Pointer(pS)).FpWhere t = *(*TExpr)(unsafe.Pointer(pNew)) @@ -128871,7 +129759,7 @@ func _countOfViewOptimization(tls *libc.TLS, pParse uintptr, p uintptr) (r int32 return 0 } /* Result is an aggregate */ _ = libc.Int32FromInt32(0) - if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15853) != 0 { + if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+15946) != 0 { return 0 } /* Is count() */ _ = libc.Int32FromInt32(0) @@ -129144,7 +130032,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { v1 = (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p0)).FpTab)).FzName } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20134, libc.VaList(bp+176, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20266, libc.VaList(bp+176, v1)) goto select_end } /* Clear the SF_UFSrcCheck flag. The check has already been performed, @@ -129247,7 +130135,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r /* Catch mismatch in the declared columns of a view and the number of ** columns in the SELECT on the RHS */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) != (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20188, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20320, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end } /* Do not attempt the usual optimizations (flattening and ORDER BY @@ -129385,12 +130273,12 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r ** string for the fake column name seems safer. */ if (*TSrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0) && (*TSrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0) { - _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1657, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1671, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) } /* Generate code for all sub-queries in the FROM clause */ pSub1 = (*TSrcItem)(unsafe.Pointer(pItem1)).FpSelect - if pSub1 == uintptr(0) { + if pSub1 == uintptr(0) || (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub != 0 { goto _10 } /* The code for a subquery should only be generated once. */ @@ -129431,7 +130319,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop _sqlite3SelectDestInit(tls, bp+72, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20228, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20360, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60+4, libc.Uint32FromInt32(1), 5, 0x20) @@ -129479,7 +130367,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { } _sqlite3SelectDestInit(tls, bp+72, int32(SRT_EphemTab), (*TSrcItem)(unsafe.Pointer(pItem1)).FiCursor) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20243, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20375, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow if onceAddr != 0 { @@ -129897,11 +130785,11 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r groupBySort = 0 } else { if (*(*TDistinctCtx)(unsafe.Pointer(bp))).FisTnct != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Distinct) == uint32(0) { - v44 = __ccgo_ts + 20259 + v44 = __ccgo_ts + 20391 } else { - v44 = __ccgo_ts + 20268 + v44 = __ccgo_ts + 20400 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19156, libc.VaList(bp+176, v44)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+19243, libc.VaList(bp+176, v44)) groupBySort = int32(1) nGroupBy = (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr nCol = nGroupBy @@ -130225,7 +131113,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeResolveLabel(tls, v, addrEnd) } /* endif aggregate query */ if int32((*(*TDistinctCtx)(unsafe.Pointer(bp))).FeTnctType) == int32(WHERE_DISTINCT_UNORDERED) { - _explainTempTable(tls, pParse, __ccgo_ts+20259) + _explainTempTable(tls, pParse, __ccgo_ts+20391) } /* If there is an ORDER BY clause, then we need to sort the results ** and send them to the callback one by one. @@ -130334,7 +131222,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr if !(i < nCol) { break } - z = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if z == uintptr(0) { goto malloc_failed } @@ -130350,7 +131238,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr } else { if int32((*TTabResult)(unsafe.Pointer(p)).FnColumn) != nCol { Xsqlite3_free(tls, (*TTabResult)(unsafe.Pointer(p)).FzErrMsg) - (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20277, 0) + (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+20409, 0) (*TTabResult)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) return int32(1) } @@ -130441,7 +131329,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) } Xsqlite3_free(tls, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg) } @@ -130611,7 +131499,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if isTemp != 0 { /* If TEMP was specified, then the trigger name may not be qualified. */ if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20342, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20474, 0) goto trigger_cleanup } iDb = int32(1) @@ -130652,7 +131540,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } _ = libc.Int32FromInt32(0) - _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20388, *(*uintptr)(unsafe.Pointer(bp))) + _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+20520, *(*uintptr)(unsafe.Pointer(bp))) if _sqlite3FixSrcList(tls, bp+8, pTableName) != 0 { goto trigger_cleanup } @@ -130662,11 +131550,11 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_orphan_error } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20396, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20528, 0) goto trigger_orphan_error } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, db) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20437, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20569, 0) goto trigger_orphan_error } /* Check that the trigger name is not reserved and that no trigger of the @@ -130676,14 +131564,14 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 _ = libc.Int32FromInt32(0) goto trigger_cleanup } - if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20388, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { + if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+20520, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { goto trigger_cleanup } _ = libc.Int32FromInt32(0) if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema+56, zName) != 0 { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20477, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20609, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) } else { _ = libc.Int32FromInt32(0) _sqlite3CodeVerifySchema(tls, pParse, iDb) @@ -130692,8 +131580,8 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 } } /* Do not create a trigger on a system table */ - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6534, int32(7)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20503, 0) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+6598, int32(7)) == 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20635, 0) goto trigger_cleanup } /* INSTEAD of triggers are only for views and views only support INSTEAD @@ -130701,15 +131589,15 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && tr_tm != int32(TK_INSTEAD) { if tr_tm == int32(TK_BEFORE) { - v1 = __ccgo_ts + 20541 + v1 = __ccgo_ts + 20673 } else { - v1 = __ccgo_ts + 20548 + v1 = __ccgo_ts + 20680 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20554, libc.VaList(bp+112, v1, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20686, libc.VaList(bp+112, v1, pTableName+8)) goto trigger_orphan_error } if !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) && tr_tm == int32(TK_INSTEAD) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20591, libc.VaList(bp+112, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20723, libc.VaList(bp+112, pTableName+8)) goto trigger_orphan_error } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -130729,9 +131617,9 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iTabDb == int32(1) { - v3 = __ccgo_ts + 6542 + v3 = __ccgo_ts + 6606 } else { - v3 = __ccgo_ts + 6075 + v3 = __ccgo_ts + 6139 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto trigger_cleanup @@ -130833,7 +131721,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl pStepList = (*TTriggerStep)(unsafe.Pointer(pStepList)).FpNext } _sqlite3TokenInit(tls, bp+96, (*TTrigger)(unsafe.Pointer(pTrig)).FzName) - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20388, bp+96) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+20520, bp+96) if _sqlite3FixTriggerStep(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 || _sqlite3FixExpr(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).FpWhen) != 0 { goto triggerfinish_cleanup } @@ -130856,7 +131744,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl break } if (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget != uintptr(0) && _sqlite3ShadowTableName(tls, db, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20637, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20769, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) goto triggerfinish_cleanup } goto _1 @@ -130872,10 +131760,10 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl } _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) z = _sqlite3DbStrNDup(tls, db, (*TToken)(unsafe.Pointer(pAll)).Fz, uint64((*TToken)(unsafe.Pointer(pAll)).Fn)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20685, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20817, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) _sqlite3DbFree(tls, db, z) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20760, libc.VaList(bp+120, zName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+20892, libc.VaList(bp+120, zName)), uint16(0)) } } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { @@ -131151,7 +132039,7 @@ func _sqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int } if !(pTrigger != 0) { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20789, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20921, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, zDb) } @@ -131195,9 +132083,9 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { code = int32(SQLITE_DROP_TRIGGER) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 6542 + v1 = __ccgo_ts + 6606 } else { - v1 = __ccgo_ts + 6075 + v1 = __ccgo_ts + 6139 } zTab = v1 if iDb == int32(1) { @@ -131212,7 +132100,7 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { v2 = _sqlite3GetVdbe(tls, pParse) v = v2 if v2 != uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+20809, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+20941, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropTrigger), iDb, 0, 0, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName, 0) } @@ -131348,11 +132236,11 @@ func _triggersReallyExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { if op != int32(TK_INSERT) { if op == int32(TK_DELETE) { - v1 = __ccgo_ts + 20871 + v1 = __ccgo_ts + 21003 } else { - v1 = __ccgo_ts + 20878 + v1 = __ccgo_ts + 21010 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20885, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21017, libc.VaList(bp+8, v1)) } (*TTrigger)(unsafe.Pointer(p)).Ftr_tm = uint8(TRIGGER_BEFORE) } else { @@ -131459,7 +132347,7 @@ func _isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != int32(TK_ASTERISK) { return 0 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20933, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21065, 0) return int32(1) } @@ -131524,6 +132412,81 @@ func _sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab return pNew } +// C documentation +// +// /* If the Expr node is a subquery or an EXISTS operator or an IN operator that +// ** uses a subquery, and if the subquery is SF_Correlated, then mark the +// ** expression as EP_VarSelect. +// */ +func _sqlite3ReturningSubqueryVarSelect(tls *libc.TLS, NotUsed uintptr, pExpr uintptr) (r int32) { + _ = NotUsed + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) && (*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FselFlags&uint32(SF_Correlated) != uint32(0) { + *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** If the SELECT references the table pWalker->u.pTab, then do two things: +// ** +// ** (1) Mark the SELECT as as SF_Correlated. +// ** (2) Set pWalker->eCode to non-zero so that the caller will know +// ** that (1) has happened. +// */ +func _sqlite3ReturningSubqueryCorrelated(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + var i int32 + var pSrc uintptr + _, _ = i, pSrc + _ = libc.Int32FromInt32(0) + pSrc = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + _ = libc.Int32FromInt32(0) + i = 0 + for { + if !(i < (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) { + break + } + if (*(*TSrcItem)(unsafe.Pointer(pSrc + 8 + uintptr(i)*104))).FpTab == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { + *(*Tu32)(unsafe.Pointer(pSelect + 4)) |= uint32(SF_Correlated) + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + break + } + goto _1 + _1: + ; + i++ + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Scan the expression list that is the argument to RETURNING looking +// ** for subqueries that depend on the table which is being modified in the +// ** statement that is hosting the RETURNING clause (pTab). Mark all such +// ** subqueries as SF_Correlated. If the subqueries are part of an +// ** expression, mark the expression as EP_VarSelect. +// ** +// ** https://sqlite.org/forum/forumpost/2c83569ce8945d39 +// */ +func _sqlite3ProcessReturningSubqueries(tls *libc.TLS, pEList uintptr, pTab uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ExprWalkNoop) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3ReturningSubqueryCorrelated) + *(*uintptr)(unsafe.Pointer(bp + 40)) = pTab + _sqlite3WalkExprList(tls, bp, pEList) + if (*(*TWalker)(unsafe.Pointer(bp))).FeCode != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ReturningSubqueryVarSelect) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop) + _sqlite3WalkExprList(tls, bp, pEList) + } +} + // C documentation // // /* @@ -131560,6 +132523,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab (*(*TSelect)(unsafe.Pointer(bp))).FpSrc = bp + 128 (*(*TSrcList)(unsafe.Pointer(bp + 128))).FnSrc = int32(1) (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FpTab = pTab + (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FzName = (*TTable)(unsafe.Pointer(pTab)).FzName /* tag-20240424-1 */ (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FiCursor = -int32(1) _sqlite3SelectPrep(tls, pParse, bp, uintptr(0)) if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { @@ -131585,6 +132549,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab if _sqlite3ResolveExprListNames(tls, bp+240, pNew) == SQLITE_OK && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { nCol = (*TExprList)(unsafe.Pointer(pNew)).FnExpr reg = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(1) + _sqlite3ProcessReturningSubqueries(tls, pNew, pTab) *(*int32)(unsafe.Pointer(pParse + 56)) += nCol + int32(2) (*TReturning)(unsafe.Pointer(pReturning)).FiRetReg = reg i = 0 @@ -131657,7 +132622,7 @@ func _codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orcon (*TParse)(unsafe.Pointer(pParse)).FeOrconf = uint8(v2) _ = libc.Int32FromInt32(0) if (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6272, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+6336, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) } switch int32((*TTriggerStep)(unsafe.Pointer(pStep)).Fop) { case int32(TK_UPDATE): @@ -131764,7 +132729,7 @@ func _codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintp v = _sqlite3GetVdbe(tls, bp+56) if v != 0 { if (*TTrigger)(unsafe.Pointer(pTrigger)).FzName != 0 { - _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+20975, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) + _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+21107, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) } /* If one was specified, code the WHEN clause. If it evaluates to false ** (or NULL) the sub-vdbe is immediately halted by jumping to the @@ -132478,7 +133443,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui chngPk = uint8(1) } else { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20989, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21121, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto update_cleanup } } @@ -132498,13 +133463,13 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui pRowidExpr = (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FpExpr iRowidExpr = i } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21025, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21157, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto update_cleanup } } if j < 0 { - v11 = __ccgo_ts + 7914 + v11 = __ccgo_ts + 8039 } else { v11 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName } @@ -133200,7 +134165,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui ** that information. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21044) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+21176) } goto update_cleanup update_cleanup: @@ -133649,9 +134614,9 @@ func _sqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr if nClause == 0 && (*TUpsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) { (*(*[16]uint8)(unsafe.Pointer(bp + 200)))[0] = uint8(0) } else { - Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21057, libc.VaList(bp+224, nClause+int32(1))) + Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+21189, libc.VaList(bp+224, nClause+int32(1))) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21061, libc.VaList(bp+224, bp+200)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21193, libc.VaList(bp+224, bp+200)) return int32(SQLITE_ERROR) } goto _1 @@ -133757,7 +134722,7 @@ func _sqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i++ } i = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), iDataCur, 0, iPk, nPk) - _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12479, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+12604, -int32(1)) _sqlite3MayAbort(tls, pParse) _sqlite3VdbeJumpHere(tls, v, i) } @@ -133840,7 +134805,7 @@ func _execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) (r int3 ** corrupt the sqlite_schema.sql field with other kinds of statements ** then run VACUUM to get those statements to execute at inappropriate ** times. */ - if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21134, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21138, uint64(3)) == 0) { + if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21266, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+21270, uint64(3)) == 0) { rc = _execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -133969,24 +134934,24 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p pDb = uintptr(0) /* Name of output file */ pgflags = uint32(PAGER_SYNCHRONOUS_OFF) /* sync flags for output db */ if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21142) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21274) return int32(SQLITE_ERROR) /* IMP: R-12218-18073 */ } if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive > int32(1) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21182) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21314) return int32(SQLITE_ERROR) /* IMP: R-15610-35227 */ } saved_openFlags = (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags if pOut != 0 { if Xsqlite3_value_type(tls, pOut) != int32(SQLITE_TEXT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21225) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21357) return int32(SQLITE_ERROR) } zOut = Xsqlite3_value_text(tls, pOut) *(*uint32)(unsafe.Pointer(db + 76)) &= uint32(^libc.Int32FromInt32(SQLITE_OPEN_READONLY)) *(*uint32)(unsafe.Pointer(db + 76)) |= uint32(libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE)) } else { - zOut = __ccgo_ts + 1657 + zOut = __ccgo_ts + 1671 } /* Save the current value of the database flags so that it can be ** restored before returning. Then set the writable-schema flag, and @@ -134018,7 +134983,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** to write the journal header file. */ nDb = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21243, libc.VaList(bp+24, zOut)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21375, libc.VaList(bp+24, zOut)) (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if rc != SQLITE_OK { goto end_of_vacuum @@ -134032,7 +134997,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p *(*Ti64)(unsafe.Pointer(bp)) = 0 if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0) && (_sqlite3OsFileSize(tls, id, bp) != SQLITE_OK || *(*Ti64)(unsafe.Pointer(bp)) > 0) { rc = int32(SQLITE_ERROR) - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21266) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+21398) goto end_of_vacuum } *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_VacuumInto) @@ -134049,7 +135014,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, ** to ensure that we do not try to change the page-size on a WAL database. */ - rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14888) + rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+14981) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134080,11 +135045,11 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** in the temporary database. */ (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(nDb) /* force new CREATE statements into vacuum_db */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21293, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21425, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21401, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21533, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } @@ -134093,7 +135058,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy ** the contents to the temporary database. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21455, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21587, libc.VaList(bp+24, zDbMain)) _ = libc.Int32FromInt32(0) *(*Tu32)(unsafe.Pointer(db + 44)) &= uint32(^libc.Int32FromInt32(DBFLAG_Vacuum)) if rc != SQLITE_OK { @@ -134104,7 +135069,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** associated storage, so all we have to do is copy their entries ** from the schema table. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21606, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+21738, libc.VaList(bp+24, zDbMain)) if rc != 0 { goto end_of_vacuum } @@ -134652,7 +135617,7 @@ func _addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uint FazArg uintptr Fp uintptr })(unsafe.Pointer(pTable + 64))).FnArg+int32(3) >= *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12709, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12834, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = _sqlite3DbRealloc(tls, db, (*(*struct { FnArg int32 @@ -134779,7 +135744,7 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { if pEnd != 0 { (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32(int64((*TToken)(unsafe.Pointer(pEnd)).Fz)-int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz))) + (*TToken)(unsafe.Pointer(pEnd)).Fn } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21736, libc.VaList(bp+8, pParse+272)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+21868, libc.VaList(bp+8, pParse+272)) /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. @@ -134789,11 +135754,11 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { ** by sqlite3StartTable(). */ iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+21760, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+21892, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) v = _sqlite3GetVdbe(tls, pParse) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) - zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21859, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+21991, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) _sqlite3DbFree(tls, db, zStmt) v2 = pParse + 56 @@ -134883,7 +135848,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, break } if (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21878, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22010, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(SQLITE_LOCKED) } goto _1 @@ -134920,6 +135885,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+32) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _sqlite3DeleteTable(tls, db, pTab) (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*(*TVtabCtx)(unsafe.Pointer(bp))).FpPrior if rc == int32(SQLITE_NOMEM) { @@ -134928,9 +135895,9 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, _ = libc.Int32FromInt32(0) if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21920, libc.VaList(bp+48, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22052, libc.VaList(bp+48, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3804, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+3868, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) } _sqlite3DbFree(tls, db, pVTable) @@ -134943,8 +135910,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*TModule)(unsafe.Pointer(pMod)).FnRefModule++ (*TVTable)(unsafe.Pointer(pVTable)).FnRef = int32(1) if (*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared == 0 { - zFormat = __ccgo_ts + 21950 - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + zFormat = __ccgo_ts + 22082 + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, zModuleName)) _sqlite3VtabUnlock(tls, pVTable) rc = int32(SQLITE_ERROR) } else { @@ -134969,7 +135936,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(iCol < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } - zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1657) + zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1671) i = 0 nType = _sqlite3Strlen30(tls, zType) i = 0 @@ -134977,7 +135944,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(i < nType) { break } - if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16594, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { + if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+16681, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*uint8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { break } goto _3 @@ -135061,13 +136028,13 @@ func _sqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).FazArg)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21996, libc.VaList(bp+16, zModule)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22128, libc.VaList(bp+16, zModule)) rc = int32(SQLITE_ERROR) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3804, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3868, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) (*TParse)(unsafe.Pointer(pParse)).Frc = rc } _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) @@ -135149,7 +136116,7 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, ** error. Otherwise, do nothing. */ if pMod == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+21996, libc.VaList(bp+8, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+22128, libc.VaList(bp+8, zMod)) rc = int32(SQLITE_ERROR) } else { rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr) @@ -135175,18 +136142,42 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r int32) { bp := tls.Alloc(448) defer tls.Free(448) - var initBusy, rc int32 - var pCtx, pIdx, pNew, pTab, v2 uintptr - var v1 Ti16 + var i, initBusy, rc int32 + var pCtx, pIdx, pNew, pTab, z, v3 uintptr + var v2 Ti16 var _ /* sParse at bp+0 */ TParse - _, _, _, _, _, _, _, _ = initBusy, pCtx, pIdx, pNew, pTab, rc, v1, v2 + var _ /* tokenType at bp+424 */ int32 + _, _, _, _, _, _, _, _, _, _ = i, initBusy, pCtx, pIdx, pNew, pTab, rc, z, v2, v3 rc = SQLITE_OK + /* Verify that the first two keywords in the CREATE TABLE statement + ** really are "CREATE" and "TABLE". If this is not the case, then + ** sqlite3_declare_vtab() is being misused. + */ + z = zCreateTable + i = 0 + for { + if !(_aKeyword1[i] != 0) { + break + } + *(*int32)(unsafe.Pointer(bp + 424)) = 0 + for cond := true; cond; cond = *(*int32)(unsafe.Pointer(bp + 424)) == int32(TK_SPACE) { + z += uintptr(_sqlite3GetToken(tls, z, bp+424)) + } + if *(*int32)(unsafe.Pointer(bp + 424)) != int32(_aKeyword1[i]) { + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+22147, 0) + return int32(SQLITE_ERROR) + } + goto _1 + _1: + ; + i++ + } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { - _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(155155))) + _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(156227))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) - return _sqlite3MisuseError(tls, int32(155157)) + return _sqlite3MisuseError(tls, int32(156229)) } pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab _ = libc.Int32FromInt32(0) @@ -135200,7 +136191,10 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i initBusy = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) (*(*TParse)(unsafe.Pointer(bp))).FnQueryLoop = int16(1) - if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) && (*(*TParse)(unsafe.Pointer(bp))).FpNewTable != uintptr(0) && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && int32((*TTable)(unsafe.Pointer((*(*TParse)(unsafe.Pointer(bp))).FpNewTable)).FeTabType) == TABTYP_NORM { + if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if !((*TTable)(unsafe.Pointer(pTab)).FaCol != 0) { pNew = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable @@ -135210,9 +136204,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpDfltList) - v1 = (*TTable)(unsafe.Pointer(pNew)).FnCol - (*TTable)(unsafe.Pointer(pTab)).FnCol = v1 - (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v1 + v2 = (*TTable)(unsafe.Pointer(pNew)).FnCol + (*TTable)(unsafe.Pointer(pTab)).FnCol = v2 + (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v2 *(*Tu32)(unsafe.Pointer(pTab + 48)) |= (*TTable)(unsafe.Pointer(pNew)).FtabFlags & uint32(libc.Int32FromInt32(TF_WithoutRowid)|libc.Int32FromInt32(TF_NoVisibleRowid)) (*TTable)(unsafe.Pointer(pNew)).FnCol = 0 (*TTable)(unsafe.Pointer(pNew)).FaCol = uintptr(0) @@ -135234,11 +136228,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = int32(1) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - v2 = __ccgo_ts + 3804 + v3 = __ccgo_ts + 3868 } else { - v2 = uintptr(0) + v3 = uintptr(0) } - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v2, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v3, libc.VaList(bp+440, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) rc = int32(SQLITE_ERROR) } @@ -135255,6 +136249,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i return rc } +var _aKeyword1 = [3]Tu8{ + 0: uint8(TK_CREATE), + 1: uint8(TK_TABLE), +} + // C documentation // // /* @@ -135716,7 +136715,7 @@ func _sqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) _addModuleArgument(tls, pParse, pTab, _sqlite3DbStrDup(tls, db, (*TTable)(unsafe.Pointer(pTab)).FzName)) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp) if rc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3804, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3868, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3VtabEponymousTableClear(tls, db, pMod) } @@ -135783,7 +136782,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = _sqlite3MisuseError(tls, int32(155651)) + rc = _sqlite3MisuseError(tls, int32(156723)) } else { _ = libc.Int32FromInt32(0) ap = va @@ -135797,7 +136796,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in case int32(SQLITE_VTAB_USES_ALL_SCHEMAS): (*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1) default: - rc = _sqlite3MisuseError(tls, int32(155673)) + rc = _sqlite3MisuseError(tls, int32(156745)) break } _ = ap @@ -136519,10 +137518,10 @@ type WhereInfo1 = TWhereInfo1 func _explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) (r uintptr) { i = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -int32(2) { - return __ccgo_ts + 22015 + return __ccgo_ts + 22160 } if i == -int32(1) { - return __ccgo_ts + 16703 + return __ccgo_ts + 16790 } return (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*16))).FzCnName } @@ -136542,10 +137541,10 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, _ = i _ = libc.Int32FromInt32(0) if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22022, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22167, int32(5)) } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22028, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22173, int32(1)) } i = 0 for { @@ -136553,7 +137552,7 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13099, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13224, int32(1)) } Xsqlite3_str_appendall(tls, pStr, _explainIndexColumnName(tls, pIdx, iTerm+i)) goto _1 @@ -136562,11 +137561,11 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5115, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5179, int32(1)) } Xsqlite3_str_append(tls, pStr, zOp, int32(1)) if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22028, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22173, int32(1)) } i = 0 for { @@ -136574,16 +137573,16 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+13099, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+13224, int32(1)) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5117, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5181, int32(1)) goto _2 _2: ; i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5115, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5179, int32(1)) } } @@ -136616,7 +137615,7 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { if int32(nEq) == 0 && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_BTM_LIMIT)|libc.Int32FromInt32(WHERE_TOP_LIMIT)) == uint32(0) { return } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22030, int32(2)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22175, int32(2)) i = 0 for { if !(i < int32(nEq)) { @@ -136624,12 +137623,12 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } z = _explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+22022, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+22167, int32(5)) } if i >= int32(nSkip) { - v2 = __ccgo_ts + 22033 + v2 = __ccgo_ts + 22178 } else { - v2 = __ccgo_ts + 22038 + v2 = __ccgo_ts + 22183 } Xsqlite3_str_appendf(tls, pStr, v2, libc.VaList(bp+8, z)) goto _1 @@ -136639,13 +137638,13 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } j = i if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_BTM_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22046) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+22191) i = int32(1) } if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_TOP_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22048) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+22193) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+5115, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+5179, int32(1)) } // C documentation @@ -136688,11 +137687,11 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if isSearch != 0 { - v2 = __ccgo_ts + 22050 + v2 = __ccgo_ts + 22195 } else { - v2 = __ccgo_ts + 22057 + v2 = __ccgo_ts + 22202 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22062, libc.VaList(bp+144, v2, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22207, libc.VaList(bp+144, v2, pItem)) if flags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_VIRTUALTABLE)) == uint32(0) { zFmt = uintptr(0) _ = libc.Int32FromInt32(0) @@ -136700,37 +137699,37 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _ = libc.Int32FromInt32(0) if !((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) && int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = __ccgo_ts + 11262 + zFmt = __ccgo_ts + 11387 } } else { if flags&uint32(WHERE_PARTIALIDX) != 0 { - zFmt = __ccgo_ts + 22068 + zFmt = __ccgo_ts + 22213 } else { if flags&uint32(WHERE_AUTO_INDEX) != 0 { - zFmt = __ccgo_ts + 22101 + zFmt = __ccgo_ts + 22246 } else { if flags&uint32(WHERE_IDX_ONLY) != 0 { - zFmt = __ccgo_ts + 22126 + zFmt = __ccgo_ts + 22271 } else { - zFmt = __ccgo_ts + 22144 + zFmt = __ccgo_ts + 22289 } } } } if zFmt != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22153, int32(7)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22298, int32(7)) Xsqlite3_str_appendf(tls, bp, zFmt, libc.VaList(bp+144, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) _explainIndexRange(tls, bp, pLoop) } } else { if flags&uint32(WHERE_IPK) != uint32(0) && flags&uint32(WHERE_CONSTRAINT) != uint32(0) { - zRowid = __ccgo_ts + 16703 - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22161, libc.VaList(bp+144, zRowid)) + zRowid = __ccgo_ts + 16790 + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22306, libc.VaList(bp+144, zRowid)) if flags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != 0 { cRangeOp = uint8('=') } else { if flags&uint32(WHERE_BOTH_LIMIT) == uint32(WHERE_BOTH_LIMIT) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22192, libc.VaList(bp+144, zRowid)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22337, libc.VaList(bp+144, zRowid)) cRangeOp = uint8('<') } else { if flags&uint32(WHERE_BTM_LIMIT) != 0 { @@ -136741,10 +137740,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22202, libc.VaList(bp+144, int32(cRangeOp))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22347, libc.VaList(bp+144, int32(cRangeOp))) } else { if flags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22207, libc.VaList(bp+144, (*(*struct { + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22352, libc.VaList(bp+144, (*(*struct { FidxNum int32 F__ccgo4 uint8 FisOrdered Ti8 @@ -136763,7 +137762,7 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } if int32((*TSrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&int32(JT_LEFT) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22234, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22379, 0) } zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) @@ -136797,14 +137796,14 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Initial space for EQP output string */ _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22245, libc.VaList(bp+144, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22390, libc.VaList(bp+144, pItem)) pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_IPK) != 0 { pTab = (*TSrcItem)(unsafe.Pointer(pItem)).FpTab if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22033, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22178, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) } else { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22266, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22411, 0) } } else { i = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) @@ -136814,16 +137813,16 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp } z = _explainIndexColumnName(tls, (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex, i) if i > int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) { - Xsqlite3_str_append(tls, bp, __ccgo_ts+22022, int32(5)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+22167, int32(5)) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22033, libc.VaList(bp+144, z)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+22178, libc.VaList(bp+144, z)) goto _1 _1: ; i++ } } - Xsqlite3_str_append(tls, bp, __ccgo_ts+5115, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+5179, int32(1)) zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) return ret @@ -137689,6 +138688,35 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32 } } +// C documentation +// +// /* +// ** Loop pLoop is a WHERE_INDEXED level that uses at least one IN(...) +// ** operator. Return true if level pLoop is guaranteed to visit only one +// ** row for each key generated for the index. +// */ +func _whereLoopIsOneRow(tls *libc.TLS, pLoop uintptr) (r int32) { + var ii int32 + _ = ii + if (*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FonError != 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) == 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq) == int32((*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FnKeyCol) { + ii = 0 + for { + if !(ii < int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq)) { + break + } + if int32((*TWhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(ii)*8)))).FeOperator)&(libc.Int32FromInt32(WO_IS)|libc.Int32FromInt32(WO_ISNULL)) != 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) + } + return 0 +} + // C documentation // // /* @@ -138419,7 +139447,10 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI _ = libc.Int32FromInt32(0) } /* Record the instruction used to terminate the loop. */ - if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 { + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 || (*(*struct { + FnIn int32 + FaInLoop uintptr + })(unsafe.Pointer(pLevel + 72))).FnIn != 0 && regBignull == 0 && _whereLoopIsOneRow(tls, pLoop) != 0 { (*TWhereLevel)(unsafe.Pointer(pLevel)).Fop = uint8(OP_Noop) } else { if bRev != 0 { @@ -138596,7 +139627,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22274, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22419, 0) ii = 0 for { if !(ii < (*TWhereClause)(unsafe.Pointer(pOrWc)).FnTerm) { @@ -138619,7 +139650,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } /* Loop through table entries that match term pOrTerm. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22289, libc.VaList(bp+96, ii+int32(1))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22434, libc.VaList(bp+96, ii+int32(1))) pSubWInfo = _sqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) _ = libc.Int32FromInt32(0) if pSubWInfo != 0 { @@ -138790,6 +139821,12 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** iLoop==3: Code all remaining expressions. ** ** An effort is made to skip unnecessary iterations of the loop. + ** + ** This optimization of causing simple query restrictions to occur before + ** more complex one is call the "push-down" optimization in MySQL. Here + ** in SQLite, the name is "MySQL push-down", since there is also another + ** totally unrelated optimization called "WHERE-clause push-down". + ** Sometimes the qualifier is omitted, resulting in an ambiguity, so beware. */ if pIdx != 0 { v60 = int32(1) @@ -139096,9 +140133,9 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe defer tls.Free(128) var addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, nPk, r, v3 int32 var mAll TBitmask - var pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr + var pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr var _ /* sFrom at bp+0 */ TSrcList - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pRJ = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpRJ @@ -139107,13 +140144,18 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop pTabItem = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 mAll = uint64(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22298, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+22443, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) k = 0 for { if !(k < iLevel) { break } + _ = libc.Int32FromInt32(0) + pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*104 mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf + if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x20>>5)) != 0 { + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pRight)).FpSelect)).FpEList)).FnExpr-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiTabCur) iIdxCur = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiIdxCur if iIdxCur != 0 { @@ -139648,19 +140690,19 @@ var _aOp = [4]struct { FeOp2 uint8 }{ 0: { - FzOp: __ccgo_ts + 16552, + FzOp: __ccgo_ts + 16639, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH), }, 1: { - FzOp: __ccgo_ts + 15883, + FzOp: __ccgo_ts + 15976, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB), }, 2: { - FzOp: __ccgo_ts + 15362, + FzOp: __ccgo_ts + 15455, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE), }, 3: { - FzOp: __ccgo_ts + 22312, + FzOp: __ccgo_ts + 22457, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP), }, } @@ -140319,7 +141361,7 @@ func _exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, aiCurCol uintptr, pExpr goto _4 } _ = libc.Int32FromInt32(0) - if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_STRING) { + if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && !(_sqlite3ExprIsConstant(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr) != 0) { *(*int32)(unsafe.Pointer(aiCurCol)) = iCur *(*int32)(unsafe.Pointer(aiCurCol + 1*4)) = -int32(2) return int32(1) @@ -140479,7 +141521,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { extraRight = x - uint64(1) /* ON clause terms may not be used with an index ** on left table of a LEFT JOIN. Ticket #3015 */ if prereqAll>>libc.Int32FromInt32(1) >= x { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22319, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22464, 0) return } } else { @@ -140491,7 +141533,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { ** if there is a RIGHT or FULL JOIN in the query. This makes SQLite ** more like other systems, and also preserves legacy. */ if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*(*TSrcItem)(unsafe.Pointer(pSrc + 8))).Ffg.Fjointype)&int32(JT_LTORJ) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22319, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22464, 0) return } *(*Tu32)(unsafe.Pointer(pExpr + 4)) &= uint32(^libc.Int32FromInt32(EP_InnerON)) @@ -140582,7 +141624,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { if op == int32(TK_ISNULL) && !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)) != libc.Uint32FromInt32(0)) && 0 == _sqlite3ExprCanBeNull(tls, pLeft) { _ = libc.Int32FromInt32(0) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_TRUEFALSE) /* See tag-20230504-1 */ - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 7900 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8025 *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_IsFalse)) (*TWhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator = uint16(0) @@ -140685,7 +141727,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { *(*Tu8)(unsafe.Pointer(pC)) = uint8(int32(c1) + int32(1)) } if *(*int32)(unsafe.Pointer(bp + 12)) != 0 { - v13 = __ccgo_ts + 22360 + v13 = __ccgo_ts + 22505 } else { v13 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) } @@ -140958,6 +142000,9 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FleftCursor != iCsr { return } + if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FprereqRight != uint64(0) { + return + } goto _1 _1: ; @@ -140988,10 +142033,12 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { } /* All conditions are met. Add the terms to the where-clause object. */ _ = libc.Int32FromInt32(0) - _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) - if (*TSelect)(unsafe.Pointer(p)).FiOffset > 0 { + if (*TSelect)(unsafe.Pointer(p)).FiOffset != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiOffset, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpRight, iCsr, int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } + if (*TSelect)(unsafe.Pointer(p)).FiOffset == 0 || (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { + _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) + } } } @@ -141223,7 +142270,7 @@ func _sqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22367, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22512, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) return } pColRef = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_COLUMN), uintptr(0), 0) @@ -141665,6 +142712,50 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { return uintptr(0) } +// C documentation +// +// /* +// ** Term pTerm is guaranteed to be a WO_IN term. It may be a component term +// ** of a vector IN expression of the form "(x, y, ...) IN (SELECT ...)". +// ** This function checks to see if the term is compatible with an index +// ** column with affinity idxaff (one of the SQLITE_AFF_XYZ values). If so, +// ** it returns a pointer to the name of the collation sequence (e.g. "BINARY" +// ** or "NOCASE") used by the comparison in pTerm. If it is not compatible +// ** with affinity idxaff, NULL is returned. +// */ +func _indexInAffinityOk(tls *libc.TLS, pParse uintptr, pTerm uintptr, idxaff Tu8) (r uintptr) { + bp := tls.Alloc(80) + defer tls.Free(80) + var iField int32 + var pRet, pX, v1 uintptr + var _ /* inexpr at bp+0 */ TExpr + _, _, _, _ = iField, pRet, pX, v1 + pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr + _ = libc.Int32FromInt32(0) + if _sqlite3ExprIsVector(tls, (*TExpr)(unsafe.Pointer(pX)).FpLeft) != 0 { + iField = (*(*struct { + FleftColumn int32 + FiField int32 + })(unsafe.Pointer(pTerm + 32))).FiField - int32(1) + (*(*TExpr)(unsafe.Pointer(bp))).Fflags = uint32(0) + (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_EQ) + (*(*TExpr)(unsafe.Pointer(bp))).FpLeft = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pX)).FpLeft + 32)) + 8 + uintptr(iField)*32))).FpExpr + _ = libc.Int32FromInt32(0) + (*(*TExpr)(unsafe.Pointer(bp))).FpRight = (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pX + 32)))).FpEList + 8 + uintptr(iField)*32))).FpExpr + pX = bp + } + if _sqlite3IndexAffinityOk(tls, pX, idxaff) != 0 { + pRet = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pRet != 0 { + v1 = (*TCollSeq)(unsafe.Pointer(pRet)).FzName + } else { + v1 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + return v1 + } + return uintptr(0) +} + // C documentation // // /* @@ -141675,10 +142766,10 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { var iColumn Ti16 var iCur, j, k int32 - var pColl, pParse, pTerm, pWC, pX, v2 uintptr - var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, v2, v3, v5 /* The term being tested */ - k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ + var pColl, pParse, pTerm, pWC, pX, zCollName, v2, v5 uintptr + var v3, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, zCollName, v2, v3, v5, v6 /* The term being tested */ + k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ _ = libc.Int32FromInt32(0) pWC = (*TWhereScan)(unsafe.Pointer(pScan)).FpWC for int32(1) != 0 { @@ -141726,22 +142817,32 @@ func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { if (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName != 0 && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_ISNULL) == 0 { pParse = (*TWhereInfo)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr - if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { - goto _1 - } - _ = libc.Int32FromInt32(0) - pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) - if pColl == uintptr(0) { - pColl = (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_IN) != 0 { + zCollName = _indexInAffinityOk(tls, pParse, pTerm, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) + if !(zCollName != 0) { + goto _1 + } + } else { + if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { + goto _1 + } + _ = libc.Int32FromInt32(0) + pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pColl != 0 { + v5 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName + } else { + v5 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + zCollName = v5 } - if _sqlite3StrICmp(tls, (*TCollSeq)(unsafe.Pointer(pColl)).FzName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { + if _sqlite3StrICmp(tls, zCollName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { goto _1 } } - if v5 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v5 { + if v6 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v6 { pX = (*TExpr)(unsafe.Pointer((*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpRight } - if v5 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { + if v6 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { goto _1 } (*TWhereScan)(unsafe.Pointer(pScan)).FpWC = pWC @@ -142235,7 +143336,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea /* Make the automatic index a partial index if there are terms in the ** WHERE clause (or the ON clause of a LEFT join) that constrain which ** rows of the target table (pSrc) that can be used. */ - if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)) != 0 { + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom), 0) != 0 { pPartial = _sqlite3ExprAnd(tls, pParse, pPartial, _sqlite3ExprDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr, 0)) } if _termCanDriveIndex(tls, pTerm, pSrc, notReady) != 0 { @@ -142251,7 +143352,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea } cMask = v2 if !(sentWarning != 0) { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_WARNING)|libc.Int32FromInt32(1)<>14)) != 0) { eDistinct = int32(2) + libc.BoolInt32(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_SORTBYGROUP) != 0) } else { if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_GROUPBY) != 0 { @@ -142747,7 +143848,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB */ pIdxInfo = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(96)+(libc.Uint64FromInt64(12)+libc.Uint64FromInt64(8))*uint64(nTerm)+uint64(8)*uint64(nOrderBy)+uint64(40)+uint64(8)*uint64(nTerm)) if pIdxInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1627, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1641, 0) return uintptr(0) } pHidden = pIdxInfo + 1*96 @@ -142839,7 +143940,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB break } pExpr1 = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr - if _sqlite3ExprIsConstant(tls, pExpr1) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr1) != 0 { goto _11 } _ = libc.Int32FromInt32(0) @@ -142918,9 +144019,9 @@ func _vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) (r i _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) } else { if !((*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3804, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3868, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3804, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+3868, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } } @@ -144292,7 +145393,7 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x4>>2)) != 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GE)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LE)-libc.Int32FromInt32(TK_EQ))) } - if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 { + if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 && int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x2>>1)) == 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ) | libc.Int32FromInt32(WO_IN) | libc.Int32FromInt32(WO_IS)) } } @@ -144544,10 +145645,13 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } } } - /* Set rCostIdx to the cost of visiting selected rows in index. Add - ** it to pNew->rRun, which is currently set to the cost of the index - ** seek only. Then, if this is a non-covering index, add the cost of - ** visiting the rows in the main table. */ + /* Set rCostIdx to the estimated cost of visiting selected rows in the + ** index. The estimate is the sum of two values: + ** 1. The cost of doing one search-by-key to find the first matching + ** entry + ** 2. Stepping forward in the index pNew->nOut times to find all + ** additional matching entries. + */ _ = libc.Int32FromInt32(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_IPK) { /* The pProbe->szIdxRow is low for an IPK table since the interior @@ -144558,7 +145662,14 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } else { rCostIdx = int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut) + int32(1) + int32(15)*int32((*TIndex)(unsafe.Pointer(pProbe)).FszIdxRow)/int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FszTabRow)) } - (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + rCostIdx = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + /* Estimate the cost of running the loop. If all data is coming + ** from the index, then this is just the cost of doing the index + ** lookup and scan. But if some data is coming out of the main table, + ** we also have to add in the cost of doing pNew->nOut searches to + ** locate the row in the main table that corresponds to the index entry. + */ + (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = rCostIdx if (*TWhereLoop)(unsafe.Pointer(pNew)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IDX_ONLY)|libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_EXPRIDX)) == uint32(0) { (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun, int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut)+int32(16))) } @@ -144664,7 +145775,7 @@ func _indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, if pExpr == uintptr(0) { goto _2 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { + if (int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) || int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_COLUMN)) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { return int32(1) } @@ -145001,7 +146112,7 @@ func _wherePartIdxExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, pPart uintpt if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) != int32(TK_COLUMN) { return } - if !(_sqlite3ExprIsConstant(tls, pRight) != 0) { + if !(_sqlite3ExprIsConstant(tls, uintptr(0), pRight) != 0) { return } if !(_sqlite3IsBinary(tls, _sqlite3ExprCompareCollSeq(tls, pParse, pPart)) != 0) { @@ -145336,7 +146447,7 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in ** unique index is used (making the index functionally non-unique) ** then the sqlite_stat1 data becomes important for scoring the ** plan */ - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) } _sqlite3Stat4ProbeFree(tls, (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec) (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid = 0 @@ -145365,6 +146476,31 @@ func _isLimitTerm(tls *libc.TLS, pTerm uintptr) (r int32) { return libc.BoolInt32(int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= int32(SQLITE_INDEX_CONSTRAINT_LIMIT) && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } +// C documentation +// +// /* +// ** Return true if the first nCons constraints in the pUsage array are +// ** marked as in-use (have argvIndex>0). False otherwise. +// */ +func _allConstraintsUsed(tls *libc.TLS, aUsage uintptr, nCons int32) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < nCons) { + break + } + if (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer(aUsage + uintptr(ii)*8))).FargvIndex <= 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + // C documentation // // /* @@ -145462,7 +146598,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if v3 >= 0 { j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).FiTermOffset if iTerm >= nConstraint || j < 0 || j >= (*TWhereClause)(unsafe.Pointer(pWC)).FnTerm || *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) || int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22440, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22585, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } pTerm1 = (*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(j)*56 @@ -145509,13 +146645,19 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, _ = libc.Int32FromInt32(0) } } + /* Unless pbRetryLimit is non-NULL, there should be no LIMIT/OFFSET + ** terms. And if there are any, they should follow all other terms. */ + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - if _isLimitTerm(tls, pTerm1) != 0 && *(*int32)(unsafe.Pointer(pbIn)) != 0 { + if _isLimitTerm(tls, pTerm1) != 0 && (*(*int32)(unsafe.Pointer(pbIn)) != 0 || !(_allConstraintsUsed(tls, pUsage, i) != 0)) { /* If there is an IN(...) term handled as an == (separate call to ** xFilter for each value on the RHS of the IN) and a LIMIT or - ** OFFSET term handled as well, the plan is unusable. Set output - ** variable *pbRetryLimit to true to tell the caller to retry with - ** LIMIT and OFFSET disabled. */ + ** OFFSET term handled as well, the plan is unusable. Similarly, + ** if there is a LIMIT/OFFSET and there are other unused terms, + ** the plan cannot be used. In these cases set variable *pbRetryLimit + ** to true to tell the caller to retry with LIMIT and OFFSET + ** disabled. */ if (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr != 0 { Xsqlite3_free(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = uintptr(0) @@ -145540,7 +146682,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { /* The non-zero argvIdx values must be contiguous. Raise an ** error if they are not */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22440, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22585, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } goto _6 @@ -145693,7 +146835,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal pVal = uintptr(0) rc = SQLITE_OK if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { - rc = _sqlite3MisuseError(tls, int32(165251)) /* EV: R-30545-25046 */ + rc = _sqlite3MisuseError(tls, int32(166453)) /* EV: R-30545-25046 */ } else { if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) { pTerm = (*TWhereClause)(unsafe.Pointer((*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC)).Fa + uintptr((*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)*56 @@ -146141,7 +147283,7 @@ func _whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) (r int32) { if rc != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { if rc == int32(SQLITE_DONE) { /* We hit the query planner search limit set by iPlanLimit */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22466, 0) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+22611, 0) rc = SQLITE_OK } else { break @@ -146530,7 +147672,7 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } p = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr mTerm = _sqlite3WhereExprUsage(tls, pWInfo+592, p) - if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, p) != 0) { + if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, uintptr(0), p) != 0) { goto _9 } if mTerm & ^orderDistinctMask == uint64(0) { @@ -146951,7 +148093,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) iLoop++ } if nFrom == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22501, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22646, 0) _sqlite3DbFreeNN(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pSpace) return int32(SQLITE_ERROR) } @@ -147001,9 +148143,8 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) if int32((*TWherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*TExprList)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_ORDERED) } - if (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 && int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr { - (*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = int8((*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr) - } + /* vvv--- See check-in [12ad822d9b827777] on 2023-03-16 ---vvv */ + _ = libc.Int32FromInt32(0) } else { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*TWherePath)(unsafe.Pointer(pFrom)).FrevLoop if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 { @@ -147041,6 +148182,97 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) return SQLITE_OK } +// C documentation +// +// /* +// ** This routine implements a heuristic designed to improve query planning. +// ** This routine is called in between the first and second call to +// ** wherePathSolver(). Hence the name "Interstage" "Heuristic". +// ** +// ** The first call to wherePathSolver() (hereafter just "solver()") computes +// ** the best path without regard to the order of the outputs. The second call +// ** to the solver() builds upon the first call to try to find an alternative +// ** path that satisfies the ORDER BY clause. +// ** +// ** This routine looks at the results of the first solver() run, and for +// ** every FROM clause term in the resulting query plan that uses an equality +// ** constraint against an index, disable other WhereLoops for that same +// ** FROM clause term that would try to do a full-table scan. This prevents +// ** an index search from being converted into a full-table scan in order to +// ** satisfy an ORDER BY clause, since even though we might get slightly better +// ** performance using the full-scan without sorting if the output size +// ** estimates are very precise, we might also get severe performance +// ** degradation using the full-scan if the output size estimate is too large. +// ** It is better to err on the side of caution. +// ** +// ** Except, if the first solver() call generated a full-table scan in an outer +// ** loop then stop this analysis at the first full-scan, since the second +// ** solver() run might try to swap that full-scan for another in order to +// ** get the output into the correct order. In other words, we allow a +// ** rewrite like this: +// ** +// ** First Solver() Second Solver() +// ** |-- SCAN t1 |-- SCAN t2 +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** The purpose of this routine is to disallow rewrites such as: +// ** +// ** First Solver() Second Solver() +// ** |-- SEARCH t1 |-- SCAN t2 <--- bad! +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** See test cases in test/whereN.test for the real-world query that +// ** originally provoked this heuristic. +// */ +func _whereInterstageHeuristic(tls *libc.TLS, pWInfo uintptr) { + var i int32 + var iTab Tu8 + var p, pLoop uintptr + _, _, _, _ = i, iTab, p, pLoop + i = 0 + for { + if !(i < int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnLevel)) { + break + } + p = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(i)*104))).FpWLoop + if p == uintptr(0) { + break + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { + goto _1 + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_NULL)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != uint32(0) { + iTab = (*TWhereLoop)(unsafe.Pointer(p)).FiTab + pLoop = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpLoops + for { + if !(pLoop != 0) { + break + } + if int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab) != int32(iTab) { + goto _2 + } + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_CONSTRAINT)|libc.Int32FromInt32(WHERE_AUTO_INDEX)) != uint32(0) { + /* Auto-index and index-constrained loops allowed to remain */ + goto _2 + } + (*TWhereLoop)(unsafe.Pointer(pLoop)).Fprereq = uint64(-libc.Int32FromInt32(1)) /* Prevent 2nd solver() from using this one */ + goto _2 + _2: + ; + pLoop = (*TWhereLoop)(unsafe.Pointer(pLoop)).FpNextLoop + } + } else { + break + } + goto _1 + _1: + ; + i++ + } +} + // C documentation // // /* @@ -147359,7 +148591,7 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasStat1) == uint32(0) { break } - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) if i >= int32(1) && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&reqFlags == reqFlags && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_INDEXED)) != uint32(0) { if int32(nSearch) > int32((*TTable)(unsafe.Pointer(pTab)).FnRowLogEst) { *(*Tu32)(unsafe.Pointer(pLoop + 48)) |= uint32(WHERE_BLOOMFILTER) @@ -147374,6 +148606,69 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { } } +// C documentation +// +// /* +// ** Expression Node callback for sqlite3ExprCanReturnSubtype(). +// ** +// ** Only a function call is able to return a subtype. So if the node +// ** is not a function call, return WRC_Prune immediately. +// ** +// ** A function call is able to return a subtype if it has the +// ** SQLITE_RESULT_SUBTYPE property. +// ** +// ** Assume that every function is able to pass-through a subtype from +// ** one of its argument (using sqlite3_result_value()). Most functions +// ** are not this way, but we don't have a mechanism to distinguish those +// ** that are from those that are not, so assume they all work this way. +// ** That means that if one of its arguments is another function and that +// ** other function is able to return a subtype, then this function is +// ** able to return a subtype. +// */ +func _exprNodeCanReturnSubtype(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef uintptr + var n, v1 int32 + _, _, _, _ = db, n, pDef, v1 + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_FUNCTION) { + return int32(WRC_Prune) + } + _ = libc.Int32FromInt32(0) + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { + v1 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr + } else { + v1 = 0 + } + n = v1 + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + return int32(WRC_Prune) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Return TRUE if expression pExpr is able to return a subtype. +// ** +// ** A TRUE return does not guarantee that a subtype will be returned. +// ** It only indicates that a subtype return is possible. False positives +// ** are acceptable as they only disable an optimization. False negatives, +// ** on the other hand, can lead to incorrect answers. +// */ +func _sqlite3ExprCanReturnSubtype(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeCanReturnSubtype) + _sqlite3WalkExpr(tls, bp, pExpr) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) +} + // C documentation // // /* @@ -147388,9 +148683,9 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { // ** references to the corresponding column of the index. // */ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur int32, pTabItem uintptr) { - var db, p, pArg, pDef, pExpr, pTab uintptr - var i, j, n, v2 int32 - _, _, _, _, _, _, _, _, _, _ = db, i, j, n, p, pArg, pDef, pExpr, pTab, v2 + var i, j int32 + var p, pArg, pExpr, pTab uintptr + _, _, _, _, _, _ = i, j, p, pArg, pExpr, pTab _ = libc.Int32FromInt32(0) pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable i = 0 @@ -147408,22 +148703,14 @@ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur i goto _1 } } - if _sqlite3ExprIsConstant(tls, pExpr) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) != 0 { goto _1 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) { - db = (*TParse)(unsafe.Pointer(pParse)).Fdb - _ = libc.Int32FromInt32(0) - if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { - v2 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr - } else { - v2 = 0 - } - n = v2 - pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) - if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { - goto _1 - } + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) && _sqlite3ExprCanReturnSubtype(tls, pParse, pExpr) != 0 { + /* Functions that might set a subtype should not be replaced by the + ** value taken from an expression index since the index omits the + ** subtype. https://sqlite.org/forum/forumpost/68d284c86b082c3e */ + goto _1 } p = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(32)) if p == uintptr(0) { @@ -147597,7 +148884,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** bits in a Bitmask */ if (*TSrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22519, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22664, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) return uintptr(0) } /* This function normally generates a nested loop for all tables in @@ -147670,7 +148957,9 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere if int32(wctrlFlags)&int32(WHERE_WANT_DISTINCT) != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_DistinctOpt)) == uint32(0) { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_UNIQUE) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22547, 0) + if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FselFlags&uint32(SF_MultiValue) == uint32(0) { + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+22692, 0) + } } else { /* Assign a bit from the bitmask to every term in the FROM clause. ** @@ -147804,6 +149093,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere goto whereBeginError } if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy != 0 { + _whereInterstageHeuristic(tls, pWInfo) _wherePathSolver(tls, pWInfo, int16(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut)+int32(1))) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto whereBeginError @@ -148126,10 +149416,10 @@ whereBeginError: // ** sqlite3WhereBegin() for additional information. // */ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { - var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, r1, ws, x, v4, v7 int32 - var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr + var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, r1, ws, x, v4, v7 int32 + var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pTabList = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList @@ -148272,7 +149562,14 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { addr = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfPos), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) _ = libc.Int32FromInt32(0) if ws&int32(WHERE_IDX_ONLY) == 0 { + pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 _ = libc.Int32FromInt32(0) + if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x20>>5)) != 0 { + n1 = (*TSrcItem)(unsafe.Pointer(pSrc)).FregResult + _ = libc.Int32FromInt32(0) + m = int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FnCol) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, n1, n1+m-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) } if ws&int32(WHERE_INDEXED) != 0 || ws&int32(WHERE_MULTI_OR) != 0 && *(*uintptr)(unsafe.Pointer(&(*TWhereLevel)(unsafe.Pointer(pLevel)).Fu)) != 0 { @@ -148321,6 +149618,7 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { ** OP_Rowid becomes OP_Null. */ if int32(uint32(*(*uint16)(unsafe.Pointer(pTabItem + 60 + 4))&0x20>>5)) != 0 { + _ = libc.Int32FromInt32(0) _translateColumnToCopy(tls, pParse, (*TWhereLevel)(unsafe.Pointer(pLevel)).FaddrBody, (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur, (*TSrcItem)(unsafe.Pointer(pTabItem)).FregResult, 0) goto _9 } @@ -148695,7 +149993,7 @@ func _nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) goto error_out error_out: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22565, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22710, -int32(1)) } func _nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { @@ -148882,7 +150180,7 @@ func _ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { if (*TNtileCtx)(unsafe.Pointer(p)).FnTotal == 0 { (*TNtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg))) if (*TNtileCtx)(unsafe.Pointer(p)).FnParam <= 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22621, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+22766, -int32(1)) } } (*TNtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -149210,7 +150508,7 @@ func _windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) (r p = (*TWindow)(unsafe.Pointer(p)).FpNextWin } if p == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22666, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22811, libc.VaList(bp+8, zName)) } return p } @@ -149261,12 +150559,12 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin _sqlite3WindowChain(tls, pParse, pWin, pList) } if int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) == int32(TK_RANGE) && ((*TWindow)(unsafe.Pointer(pWin)).FpStart != 0 || (*TWindow)(unsafe.Pointer(pWin)).FpEnd != 0) && ((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*TExprList)(unsafe.Pointer((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != int32(1)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22685, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22830, 0) } else { if (*TFuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TWindow)(unsafe.Pointer(pWin)).FpFilter != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22756, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22901, 0) } else { aUp = [8]struct { FzFunc uintptr @@ -149339,7 +150637,7 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*TWindow)(unsafe.Pointer(pWin)).FeEnd = uint8(aUp[i].FeEnd) (*TWindow)(unsafe.Pointer(pWin)).FeExclude = uint8(0) if int32((*TWindow)(unsafe.Pointer(pWin)).FeStart) == int32(TK_FOLLOWING) { - (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8139) + (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+8264) } break } @@ -149627,7 +150925,7 @@ func _disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintpt defer tls.Free(16) if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_FUNCTION) && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { _ = libc.Int32FromInt32(0) - _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22819, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) + _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+22964, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) } return WRC_Continue } @@ -149770,7 +151068,7 @@ func _sqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { ** keep everything legal in this case. */ if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1731)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1791)) } pSub = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(bp)), pSrc, pWhere, pGroupBy, pHaving, pSort, uint32(0), uintptr(0)) (*TSelect)(unsafe.Pointer(p)).FpSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), uintptr(0), uintptr(0)) @@ -149875,7 +151173,7 @@ func _sqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { // ** variable values in the expression tree. // */ func _sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r uintptr) { - if 0 == _sqlite3ExprIsConstant(tls, pExpr) { + if 0 == _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) { if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameExprUnmap(tls, pParse, pExpr) } @@ -149921,7 +151219,7 @@ func _sqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int3 ** frame boundary. */ if eStart == int32(TK_CURRENT) && eEnd == int32(TK_PRECEDING) || eStart == int32(TK_FOLLOWING) && (eEnd == int32(TK_PRECEDING) || eEnd == int32(TK_CURRENT)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22845, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22990, 0) goto windowAllocErr } pWin = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) @@ -149989,18 +151287,18 @@ func _sqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint zErr = uintptr(0) /* Check for errors */ if (*TWindow)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = __ccgo_ts + 22877 + zErr = __ccgo_ts + 23022 } else { if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*TWindow)(unsafe.Pointer(pWin)).FpOrderBy != 0 { - zErr = __ccgo_ts + 22894 + zErr = __ccgo_ts + 23039 } else { if int32((*TWindow)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = __ccgo_ts + 22910 + zErr = __ccgo_ts + 23055 } } } if zErr != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22930, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23075, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) } else { (*TWindow)(unsafe.Pointer(pWin)).FpPartition = _sqlite3ExprListDup(tls, db, (*TWindow)(unsafe.Pointer(pExist)).FpPartition, 0) if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 { @@ -150028,7 +151326,7 @@ func _sqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(libc.Int32FromInt32(EP_WinFunc) | libc.Int32FromInt32(EP_FullSize)) (*TWindow)(unsafe.Pointer(pWin)).FpOwner = p if (*TExpr)(unsafe.Pointer(p)).Fflags&uint32(EP_Distinct) != 0 && int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) != int32(TK_FILTER) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22963, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23108, 0) } } else { _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -150230,7 +151528,7 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regZero) if eCond >= int32(WINDOW_STARTING_NUM) { regString = _sqlite3GetTempReg(tls, pParse) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1657, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1671, -int32(1)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, _sqlite3VdbeCurrentAddr(tls, v)+int32(2), reg) _sqlite3VdbeChangeP5(tls, v, uint16(libc.Int32FromInt32(SQLITE_AFF_NUMERIC)|libc.Int32FromInt32(SQLITE_JUMPIFNULL))) _ = libc.Int32FromInt32(0) @@ -150251,11 +151549,11 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { } var _azErr = [5]uintptr{ - 0: __ccgo_ts + 23010, - 1: __ccgo_ts + 23063, - 2: __ccgo_ts + 22565, - 3: __ccgo_ts + 23114, - 4: __ccgo_ts + 23166, + 0: __ccgo_ts + 23155, + 1: __ccgo_ts + 23208, + 2: __ccgo_ts + 22710, + 3: __ccgo_ts + 23259, + 4: __ccgo_ts + 23311, } var _aOp1 = [5]int32{ @@ -151027,7 +152325,7 @@ func _windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal ** the add/subtract is skipped for these, as required. If reg1 is a NULL, ** then the arithmetic is performed, but since adding or subtracting from ** NULL is always NULL anyway, this case is handled as required too. */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1657, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1671, -int32(1)) addrGe = _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, 0, reg1) if op == int32(OP_Ge) && arith == int32(OP_Add) || op == int32(OP_Le) && arith == int32(OP_Subtract) { _sqlite3VdbeAddOp3(tls, v, op, reg2, lbl, reg1) @@ -152068,11 +153366,11 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { cnt++ if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*TSelect)(unsafe.Pointer(pLoop)).FpLimit != 0 { if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - v1 = __ccgo_ts + 23216 + v1 = __ccgo_ts + 23361 } else { - v1 = __ccgo_ts + 23225 + v1 = __ccgo_ts + 23370 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23231, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23376, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) break } } @@ -152081,7 +153379,7 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { mxSelect = v2 } if v3 && v2 > 0 && cnt > mxSelect { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23273, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23418, 0) } } } @@ -152101,6 +153399,23 @@ func _attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith u return pSelect } +// C documentation +// +// /* Memory allocator for parser stack resizing. This is a thin wrapper around +// ** sqlite3_realloc() that includes a call to sqlite3FaultSim() to facilitate +// ** testing. +// */ +func _parserStackRealloc(tls *libc.TLS, pOld uintptr, newSize Tsqlite3_uint64) (r uintptr) { + var v1 uintptr + _ = v1 + if _sqlite3FaultSim(tls, int32(700)) != 0 { + v1 = uintptr(0) + } else { + v1 = Xsqlite3_realloc(tls, pOld, int32(newSize)) + } + return v1 +} + // C documentation // // /* Construct a new Expr object from a single token */ @@ -152170,7 +153485,7 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId _ = p p = _sqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if (hasCollate != 0 || sortOrder != -int32(1)) && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23307, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23452, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) } _sqlite3ExprListSetName(tls, pParse, p, pIdToken, int32(1)) return p @@ -152220,6 +153535,9 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser // ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser // ** sqlite3ParserCTX_* As sqlite3ParserARG_ except for %extra_context +// ** YYREALLOC Name of the realloc() function to use +// ** YYFREE Name of the free() function to use +// ** YYDYNSTACK True if stack space should be extended on heap // ** YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** YYNSTATE the combined number of states. @@ -152233,31 +153551,33 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** YY_NO_ACTION The yy_action[] code for no-op // ** YY_MIN_REDUCE Minimum value for reduce actions // ** YY_MAX_REDUCE Maximum value for reduce actions +// ** YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type TYYMINORTYPE = struct { Fyy0 [0]TToken - Fyy33 [0]uintptr - Fyy41 [0]uintptr - Fyy47 [0]uintptr - Fyy131 [0]uintptr - Fyy180 [0]TTrigEvent - Fyy231 [0]struct { + Fyy14 [0]uintptr + Fyy59 [0]uintptr + Fyy67 [0]uintptr + Fyy122 [0]uintptr + Fyy132 [0]uintptr + Fyy144 [0]int32 + Fyy168 [0]uintptr + Fyy203 [0]uintptr + Fyy211 [0]uintptr + Fyy269 [0]TOnOrUsing + Fyy286 [0]TTrigEvent + Fyy383 [0]struct { Fvalue int32 Fmask int32 } - Fyy254 [0]uintptr - Fyy285 [0]Tu32 - Fyy322 [0]uintptr - Fyy385 [0]uintptr - Fyy394 [0]int32 - Fyy444 [0]uintptr - Fyy516 [0]Tu8 - Fyy521 [0]uintptr - Fyy522 [0]uintptr - Fyy528 [0]uintptr - Fyy561 [0]TOnOrUsing - Fyy595 [0]TFrameBound + Fyy391 [0]Tu32 + Fyy427 [0]uintptr + Fyy454 [0]uintptr + Fyy462 [0]Tu8 + Fyy509 [0]TFrameBound + Fyy555 [0]uintptr Fyyinit int32 F__ccgo_pad20 [12]byte } @@ -152275,6 +153595,13 @@ type YYMINORTYPE = TYYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -152327,2152 +153654,2194 @@ type YYMINORTYPE = TYYMINORTYPE // ** yy_default[] Default action for each state. // ** // *********** Begin parsing tables **********************************************/ -var _yy_action = [2100]uint16{ - 0: uint16(572), - 1: uint16(210), - 2: uint16(572), - 3: uint16(119), - 4: uint16(116), - 5: uint16(231), - 6: uint16(572), - 7: uint16(119), - 8: uint16(116), - 9: uint16(231), - 10: uint16(572), - 11: uint16(1317), - 12: uint16(379), - 13: uint16(1296), - 14: uint16(410), - 15: uint16(566), - 16: uint16(566), - 17: uint16(566), - 18: uint16(572), - 19: uint16(411), - 20: uint16(380), - 21: uint16(1317), - 22: uint16(1279), - 23: uint16(42), - 24: uint16(42), - 25: uint16(42), - 26: uint16(42), - 27: uint16(210), - 28: uint16(1529), - 29: uint16(72), - 30: uint16(72), - 31: uint16(974), - 32: uint16(421), - 33: uint16(42), - 34: uint16(42), - 35: uint16(495), - 36: uint16(305), - 37: uint16(281), - 38: uint16(305), - 39: uint16(975), - 40: uint16(399), - 41: uint16(72), - 42: uint16(72), - 43: uint16(126), - 44: uint16(127), - 45: uint16(81), - 46: uint16(1217), - 47: uint16(1217), - 48: uint16(1054), - 49: uint16(1057), - 50: uint16(1044), - 51: uint16(1044), - 52: uint16(124), - 53: uint16(124), - 54: uint16(125), - 55: uint16(125), - 56: uint16(125), - 57: uint16(125), - 58: uint16(480), - 59: uint16(411), - 60: uint16(1244), - 61: uint16(1), - 62: uint16(1), - 63: uint16(578), - 64: uint16(2), - 65: uint16(1248), - 66: uint16(554), - 67: uint16(119), - 68: uint16(116), - 69: uint16(231), - 70: uint16(319), - 71: uint16(484), - 72: uint16(147), - 73: uint16(484), - 74: uint16(528), - 75: uint16(119), - 76: uint16(116), - 77: uint16(231), - 78: uint16(533), - 79: uint16(1330), - 80: uint16(419), - 81: uint16(527), - 82: uint16(143), - 83: uint16(126), - 84: uint16(127), - 85: uint16(81), - 86: uint16(1217), - 87: uint16(1217), - 88: uint16(1054), - 89: uint16(1057), - 90: uint16(1044), - 91: uint16(1044), - 92: uint16(124), - 93: uint16(124), - 94: uint16(125), - 95: uint16(125), - 96: uint16(125), - 97: uint16(125), - 98: uint16(119), - 99: uint16(116), - 100: uint16(231), - 101: uint16(329), - 102: uint16(123), - 103: uint16(123), - 104: uint16(123), - 105: uint16(123), - 106: uint16(122), - 107: uint16(122), - 108: uint16(121), - 109: uint16(121), - 110: uint16(121), - 111: uint16(120), - 112: uint16(117), - 113: uint16(448), - 114: uint16(286), - 115: uint16(286), - 116: uint16(286), - 117: uint16(286), - 118: uint16(446), - 119: uint16(446), - 120: uint16(446), - 121: uint16(1568), - 122: uint16(378), - 123: uint16(1570), - 124: uint16(1193), - 125: uint16(377), - 126: uint16(1164), - 127: uint16(569), - 128: uint16(1164), - 129: uint16(569), - 130: uint16(411), - 131: uint16(1568), - 132: uint16(541), - 133: uint16(261), - 134: uint16(228), - 135: uint16(448), - 136: uint16(102), - 137: uint16(146), - 138: uint16(453), - 139: uint16(318), - 140: uint16(563), - 141: uint16(242), - 142: uint16(123), - 143: uint16(123), - 144: uint16(123), - 145: uint16(123), - 146: uint16(122), - 147: uint16(122), - 148: uint16(121), - 149: uint16(121), - 150: uint16(121), - 151: uint16(120), - 152: uint16(117), - 153: uint16(448), - 154: uint16(126), - 155: uint16(127), - 156: uint16(81), - 157: uint16(1217), - 158: uint16(1217), - 159: uint16(1054), - 160: uint16(1057), - 161: uint16(1044), - 162: uint16(1044), - 163: uint16(124), - 164: uint16(124), - 165: uint16(125), - 166: uint16(125), - 167: uint16(125), - 168: uint16(125), - 169: uint16(143), - 170: uint16(296), - 171: uint16(1193), - 172: uint16(341), - 173: uint16(452), - 174: uint16(121), - 175: uint16(121), - 176: uint16(121), - 177: uint16(120), - 178: uint16(117), - 179: uint16(448), - 180: uint16(128), - 181: uint16(1193), - 182: uint16(1194), - 183: uint16(1193), - 184: uint16(149), - 185: uint16(445), - 186: uint16(444), - 187: uint16(572), - 188: uint16(120), - 189: uint16(117), - 190: uint16(448), - 191: uint16(125), - 192: uint16(125), - 193: uint16(125), - 194: uint16(125), - 195: uint16(118), - 196: uint16(123), - 197: uint16(123), - 198: uint16(123), - 199: uint16(123), - 200: uint16(122), - 201: uint16(122), - 202: uint16(121), - 203: uint16(121), - 204: uint16(121), - 205: uint16(120), - 206: uint16(117), - 207: uint16(448), - 208: uint16(458), - 209: uint16(114), - 210: uint16(13), - 211: uint16(13), - 212: uint16(550), - 213: uint16(123), - 214: uint16(123), - 215: uint16(123), - 216: uint16(123), - 217: uint16(122), - 218: uint16(122), - 219: uint16(121), - 220: uint16(121), - 221: uint16(121), - 222: uint16(120), - 223: uint16(117), - 224: uint16(448), - 225: uint16(424), - 226: uint16(318), - 227: uint16(563), - 228: uint16(1193), - 229: uint16(1194), - 230: uint16(1193), - 231: uint16(150), - 232: uint16(1225), - 233: uint16(411), - 234: uint16(1225), - 235: uint16(125), - 236: uint16(125), - 237: uint16(125), - 238: uint16(125), - 239: uint16(123), - 240: uint16(123), - 241: uint16(123), - 242: uint16(123), - 243: uint16(122), - 244: uint16(122), - 245: uint16(121), - 246: uint16(121), - 247: uint16(121), - 248: uint16(120), - 249: uint16(117), - 250: uint16(448), - 251: uint16(469), - 252: uint16(344), - 253: uint16(1041), - 254: uint16(1041), - 255: uint16(1055), - 256: uint16(1058), - 257: uint16(126), - 258: uint16(127), - 259: uint16(81), - 260: uint16(1217), - 261: uint16(1217), - 262: uint16(1054), - 263: uint16(1057), - 264: uint16(1044), - 265: uint16(1044), - 266: uint16(124), - 267: uint16(124), - 268: uint16(125), - 269: uint16(125), - 270: uint16(125), - 271: uint16(125), - 272: uint16(1282), - 273: uint16(526), - 274: uint16(224), - 275: uint16(1193), - 276: uint16(572), - 277: uint16(411), - 278: uint16(226), - 279: uint16(519), - 280: uint16(177), - 281: uint16(83), - 282: uint16(84), - 283: uint16(123), - 284: uint16(123), - 285: uint16(123), - 286: uint16(123), - 287: uint16(122), - 288: uint16(122), - 289: uint16(121), - 290: uint16(121), - 291: uint16(121), - 292: uint16(120), - 293: uint16(117), - 294: uint16(448), - 295: uint16(1010), - 296: uint16(16), - 297: uint16(16), - 298: uint16(1193), - 299: uint16(134), - 300: uint16(134), - 301: uint16(126), - 302: uint16(127), - 303: uint16(81), - 304: uint16(1217), - 305: uint16(1217), - 306: uint16(1054), - 307: uint16(1057), - 308: uint16(1044), - 309: uint16(1044), - 310: uint16(124), - 311: uint16(124), - 312: uint16(125), - 313: uint16(125), - 314: uint16(125), - 315: uint16(125), - 316: uint16(123), - 317: uint16(123), - 318: uint16(123), - 319: uint16(123), - 320: uint16(122), - 321: uint16(122), - 322: uint16(121), - 323: uint16(121), - 324: uint16(121), - 325: uint16(120), - 326: uint16(117), - 327: uint16(448), - 328: uint16(1045), - 329: uint16(550), - 330: uint16(1193), - 331: uint16(375), - 332: uint16(1193), - 333: uint16(1194), - 334: uint16(1193), - 335: uint16(254), - 336: uint16(1438), - 337: uint16(401), - 338: uint16(508), - 339: uint16(505), - 340: uint16(504), - 341: uint16(112), - 342: uint16(564), - 343: uint16(570), +var _yy_action = [2142]uint16{ + 0: uint16(576), + 1: uint16(128), + 2: uint16(125), + 3: uint16(232), + 4: uint16(1622), + 5: uint16(549), + 6: uint16(576), + 7: uint16(1290), + 8: uint16(1281), + 9: uint16(576), + 10: uint16(328), + 11: uint16(576), + 12: uint16(1300), + 13: uint16(212), + 14: uint16(576), + 15: uint16(128), + 16: uint16(125), + 17: uint16(232), + 18: uint16(578), + 19: uint16(412), + 20: uint16(578), + 21: uint16(391), + 22: uint16(1542), + 23: uint16(51), + 24: uint16(51), + 25: uint16(523), + 26: uint16(405), + 27: uint16(1293), + 28: uint16(529), + 29: uint16(51), + 30: uint16(51), + 31: uint16(983), + 32: uint16(51), + 33: uint16(51), + 34: uint16(81), + 35: uint16(81), + 36: uint16(1107), + 37: uint16(61), + 38: uint16(61), + 39: uint16(984), + 40: uint16(1107), + 41: uint16(1292), + 42: uint16(380), + 43: uint16(135), + 44: uint16(136), + 45: uint16(90), + 46: uint16(1228), + 47: uint16(1228), + 48: uint16(1063), + 49: uint16(1066), + 50: uint16(1053), + 51: uint16(1053), + 52: uint16(133), + 53: uint16(133), + 54: uint16(134), + 55: uint16(134), + 56: uint16(134), + 57: uint16(134), + 58: uint16(1577), + 59: uint16(412), + 60: uint16(287), + 61: uint16(287), + 62: uint16(7), + 63: uint16(287), + 64: uint16(287), + 65: uint16(422), + 66: uint16(1050), + 67: uint16(1050), + 68: uint16(1064), + 69: uint16(1067), + 70: uint16(289), + 71: uint16(556), + 72: uint16(492), + 73: uint16(573), + 74: uint16(524), + 75: uint16(561), + 76: uint16(573), + 77: uint16(497), + 78: uint16(561), + 79: uint16(482), + 80: uint16(530), + 81: uint16(262), + 82: uint16(229), + 83: uint16(135), + 84: uint16(136), + 85: uint16(90), + 86: uint16(1228), + 87: uint16(1228), + 88: uint16(1063), + 89: uint16(1066), + 90: uint16(1053), + 91: uint16(1053), + 92: uint16(133), + 93: uint16(133), + 94: uint16(134), + 95: uint16(134), + 96: uint16(134), + 97: uint16(134), + 98: uint16(128), + 99: uint16(125), + 100: uint16(232), + 101: uint16(1506), + 102: uint16(132), + 103: uint16(132), + 104: uint16(132), + 105: uint16(132), + 106: uint16(131), + 107: uint16(131), + 108: uint16(130), + 109: uint16(130), + 110: uint16(130), + 111: uint16(129), + 112: uint16(126), + 113: uint16(450), + 114: uint16(1204), + 115: uint16(1255), + 116: uint16(1), + 117: uint16(1), + 118: uint16(582), + 119: uint16(2), + 120: uint16(1259), + 121: uint16(1571), + 122: uint16(420), + 123: uint16(1582), + 124: uint16(379), + 125: uint16(320), + 126: uint16(1174), + 127: uint16(153), + 128: uint16(1174), + 129: uint16(1584), + 130: uint16(412), + 131: uint16(378), + 132: uint16(1582), + 133: uint16(543), + 134: uint16(1341), + 135: uint16(330), + 136: uint16(111), + 137: uint16(570), + 138: uint16(570), + 139: uint16(570), + 140: uint16(293), + 141: uint16(1054), + 142: uint16(132), + 143: uint16(132), + 144: uint16(132), + 145: uint16(132), + 146: uint16(131), + 147: uint16(131), + 148: uint16(130), + 149: uint16(130), + 150: uint16(130), + 151: uint16(129), + 152: uint16(126), + 153: uint16(450), + 154: uint16(135), + 155: uint16(136), + 156: uint16(90), + 157: uint16(1228), + 158: uint16(1228), + 159: uint16(1063), + 160: uint16(1066), + 161: uint16(1053), + 162: uint16(1053), + 163: uint16(133), + 164: uint16(133), + 165: uint16(134), + 166: uint16(134), + 167: uint16(134), + 168: uint16(134), + 169: uint16(287), + 170: uint16(287), + 171: uint16(1204), + 172: uint16(1205), + 173: uint16(1204), + 174: uint16(255), + 175: uint16(287), + 176: uint16(287), + 177: uint16(510), + 178: uint16(507), + 179: uint16(506), + 180: uint16(137), + 181: uint16(455), + 182: uint16(573), + 183: uint16(212), + 184: uint16(561), + 185: uint16(447), + 186: uint16(446), + 187: uint16(505), + 188: uint16(573), + 189: uint16(1616), + 190: uint16(561), + 191: uint16(134), + 192: uint16(134), + 193: uint16(134), + 194: uint16(134), + 195: uint16(127), + 196: uint16(400), + 197: uint16(243), + 198: uint16(132), + 199: uint16(132), + 200: uint16(132), + 201: uint16(132), + 202: uint16(131), + 203: uint16(131), + 204: uint16(130), + 205: uint16(130), + 206: uint16(130), + 207: uint16(129), + 208: uint16(126), + 209: uint16(450), + 210: uint16(282), + 211: uint16(471), + 212: uint16(345), + 213: uint16(132), + 214: uint16(132), + 215: uint16(132), + 216: uint16(132), + 217: uint16(131), + 218: uint16(131), + 219: uint16(130), + 220: uint16(130), + 221: uint16(130), + 222: uint16(129), + 223: uint16(126), + 224: uint16(450), + 225: uint16(574), + 226: uint16(155), + 227: uint16(936), + 228: uint16(936), + 229: uint16(454), + 230: uint16(227), + 231: uint16(521), + 232: uint16(1236), + 233: uint16(412), + 234: uint16(1236), + 235: uint16(134), + 236: uint16(134), + 237: uint16(134), + 238: uint16(134), + 239: uint16(132), + 240: uint16(132), + 241: uint16(132), + 242: uint16(132), + 243: uint16(131), + 244: uint16(131), + 245: uint16(130), + 246: uint16(130), + 247: uint16(130), + 248: uint16(129), + 249: uint16(126), + 250: uint16(450), + 251: uint16(130), + 252: uint16(130), + 253: uint16(130), + 254: uint16(129), + 255: uint16(126), + 256: uint16(450), + 257: uint16(135), + 258: uint16(136), + 259: uint16(90), + 260: uint16(1228), + 261: uint16(1228), + 262: uint16(1063), + 263: uint16(1066), + 264: uint16(1053), + 265: uint16(1053), + 266: uint16(133), + 267: uint16(133), + 268: uint16(134), + 269: uint16(134), + 270: uint16(134), + 271: uint16(134), + 272: uint16(128), + 273: uint16(125), + 274: uint16(232), + 275: uint16(450), + 276: uint16(576), + 277: uint16(412), + 278: uint16(397), + 279: uint16(1249), + 280: uint16(180), + 281: uint16(92), + 282: uint16(93), + 283: uint16(132), + 284: uint16(132), + 285: uint16(132), + 286: uint16(132), + 287: uint16(131), + 288: uint16(131), + 289: uint16(130), + 290: uint16(130), + 291: uint16(130), + 292: uint16(129), + 293: uint16(126), + 294: uint16(450), + 295: uint16(381), + 296: uint16(387), + 297: uint16(1204), + 298: uint16(383), + 299: uint16(81), + 300: uint16(81), + 301: uint16(135), + 302: uint16(136), + 303: uint16(90), + 304: uint16(1228), + 305: uint16(1228), + 306: uint16(1063), + 307: uint16(1066), + 308: uint16(1053), + 309: uint16(1053), + 310: uint16(133), + 311: uint16(133), + 312: uint16(134), + 313: uint16(134), + 314: uint16(134), + 315: uint16(134), + 316: uint16(132), + 317: uint16(132), + 318: uint16(132), + 319: uint16(132), + 320: uint16(131), + 321: uint16(131), + 322: uint16(130), + 323: uint16(130), + 324: uint16(130), + 325: uint16(129), + 326: uint16(126), + 327: uint16(450), + 328: uint16(131), + 329: uint16(131), + 330: uint16(130), + 331: uint16(130), + 332: uint16(130), + 333: uint16(129), + 334: uint16(126), + 335: uint16(450), + 336: uint16(556), + 337: uint16(1204), + 338: uint16(302), + 339: uint16(319), + 340: uint16(567), + 341: uint16(121), + 342: uint16(568), + 343: uint16(480), 344: uint16(4), - 345: uint16(929), - 346: uint16(929), - 347: uint16(435), - 348: uint16(503), - 349: uint16(342), - 350: uint16(464), - 351: uint16(330), - 352: uint16(362), - 353: uint16(396), - 354: uint16(1238), - 355: uint16(1193), - 356: uint16(1194), - 357: uint16(1193), - 358: uint16(567), - 359: uint16(572), - 360: uint16(123), - 361: uint16(123), - 362: uint16(123), - 363: uint16(123), - 364: uint16(122), - 365: uint16(122), - 366: uint16(121), - 367: uint16(121), - 368: uint16(121), - 369: uint16(120), - 370: uint16(117), - 371: uint16(448), - 372: uint16(286), - 373: uint16(286), - 374: uint16(371), - 375: uint16(1581), - 376: uint16(1607), - 377: uint16(445), - 378: uint16(444), - 379: uint16(155), - 380: uint16(411), - 381: uint16(449), - 382: uint16(72), - 383: uint16(72), - 384: uint16(1289), - 385: uint16(569), - 386: uint16(1222), - 387: uint16(1193), - 388: uint16(1194), - 389: uint16(1193), - 390: uint16(86), - 391: uint16(1224), - 392: uint16(273), - 393: uint16(561), - 394: uint16(547), - 395: uint16(520), - 396: uint16(520), - 397: uint16(572), - 398: uint16(99), - 399: uint16(1223), - 400: uint16(6), - 401: uint16(1281), - 402: uint16(476), - 403: uint16(143), - 404: uint16(126), - 405: uint16(127), - 406: uint16(81), - 407: uint16(1217), - 408: uint16(1217), - 409: uint16(1054), - 410: uint16(1057), - 411: uint16(1044), - 412: uint16(1044), - 413: uint16(124), - 414: uint16(124), - 415: uint16(125), - 416: uint16(125), - 417: uint16(125), - 418: uint16(125), - 419: uint16(554), - 420: uint16(13), - 421: uint16(13), - 422: uint16(1031), - 423: uint16(511), - 424: uint16(1225), - 425: uint16(1193), - 426: uint16(1225), - 427: uint16(553), - 428: uint16(110), - 429: uint16(110), - 430: uint16(224), - 431: uint16(572), - 432: uint16(1239), - 433: uint16(177), - 434: uint16(572), - 435: uint16(429), - 436: uint16(111), - 437: uint16(199), - 438: uint16(449), - 439: uint16(573), - 440: uint16(449), - 441: uint16(432), - 442: uint16(1555), - 443: uint16(1019), - 444: uint16(327), - 445: uint16(555), - 446: uint16(1193), - 447: uint16(272), - 448: uint16(289), - 449: uint16(370), - 450: uint16(514), - 451: uint16(365), - 452: uint16(513), - 453: uint16(259), - 454: uint16(72), - 455: uint16(72), - 456: uint16(547), - 457: uint16(72), - 458: uint16(72), - 459: uint16(361), - 460: uint16(318), - 461: uint16(563), - 462: uint16(1613), - 463: uint16(123), - 464: uint16(123), - 465: uint16(123), - 466: uint16(123), - 467: uint16(122), - 468: uint16(122), - 469: uint16(121), - 470: uint16(121), - 471: uint16(121), - 472: uint16(120), - 473: uint16(117), - 474: uint16(448), - 475: uint16(1019), - 476: uint16(1019), - 477: uint16(1021), - 478: uint16(1022), - 479: uint16(28), - 480: uint16(286), - 481: uint16(286), - 482: uint16(1193), - 483: uint16(1194), - 484: uint16(1193), - 485: uint16(1159), - 486: uint16(572), - 487: uint16(1612), - 488: uint16(411), - 489: uint16(904), - 490: uint16(192), - 491: uint16(554), - 492: uint16(358), - 493: uint16(569), - 494: uint16(554), - 495: uint16(940), - 496: uint16(537), - 497: uint16(521), - 498: uint16(1159), - 499: uint16(437), - 500: uint16(415), - 501: uint16(1159), - 502: uint16(556), - 503: uint16(1193), - 504: uint16(1194), - 505: uint16(1193), - 506: uint16(572), - 507: uint16(548), - 508: uint16(548), - 509: uint16(52), - 510: uint16(52), - 511: uint16(216), - 512: uint16(126), - 513: uint16(127), - 514: uint16(81), - 515: uint16(1217), - 516: uint16(1217), - 517: uint16(1054), - 518: uint16(1057), - 519: uint16(1044), - 520: uint16(1044), - 521: uint16(124), - 522: uint16(124), - 523: uint16(125), - 524: uint16(125), - 525: uint16(125), - 526: uint16(125), - 527: uint16(1193), - 528: uint16(478), - 529: uint16(136), - 530: uint16(136), - 531: uint16(411), - 532: uint16(286), - 533: uint16(286), - 534: uint16(1493), - 535: uint16(509), - 536: uint16(122), - 537: uint16(122), - 538: uint16(121), - 539: uint16(121), - 540: uint16(121), - 541: uint16(120), - 542: uint16(117), - 543: uint16(448), - 544: uint16(1010), - 545: uint16(569), - 546: uint16(522), - 547: uint16(219), - 548: uint16(545), - 549: uint16(545), - 550: uint16(318), - 551: uint16(563), - 552: uint16(143), - 553: uint16(6), - 554: uint16(536), - 555: uint16(126), - 556: uint16(127), - 557: uint16(81), - 558: uint16(1217), - 559: uint16(1217), - 560: uint16(1054), - 561: uint16(1057), - 562: uint16(1044), - 563: uint16(1044), - 564: uint16(124), - 565: uint16(124), - 566: uint16(125), - 567: uint16(125), - 568: uint16(125), - 569: uint16(125), - 570: uint16(1557), - 571: uint16(123), - 572: uint16(123), - 573: uint16(123), - 574: uint16(123), - 575: uint16(122), - 576: uint16(122), - 577: uint16(121), - 578: uint16(121), - 579: uint16(121), - 580: uint16(120), - 581: uint16(117), - 582: uint16(448), - 583: uint16(489), - 584: uint16(1193), - 585: uint16(1194), - 586: uint16(1193), - 587: uint16(486), - 588: uint16(283), - 589: uint16(1270), - 590: uint16(960), - 591: uint16(254), - 592: uint16(1193), - 593: uint16(375), - 594: uint16(508), - 595: uint16(505), - 596: uint16(504), - 597: uint16(1193), - 598: uint16(342), - 599: uint16(574), - 600: uint16(1193), - 601: uint16(574), - 602: uint16(411), - 603: uint16(294), - 604: uint16(503), - 605: uint16(960), - 606: uint16(879), - 607: uint16(193), - 608: uint16(484), - 609: uint16(318), - 610: uint16(563), - 611: uint16(386), - 612: uint16(292), - 613: uint16(382), - 614: uint16(123), - 615: uint16(123), - 616: uint16(123), - 617: uint16(123), - 618: uint16(122), - 619: uint16(122), - 620: uint16(121), - 621: uint16(121), - 622: uint16(121), - 623: uint16(120), - 624: uint16(117), - 625: uint16(448), - 626: uint16(126), - 627: uint16(127), - 628: uint16(81), - 629: uint16(1217), - 630: uint16(1217), - 631: uint16(1054), - 632: uint16(1057), - 633: uint16(1044), - 634: uint16(1044), - 635: uint16(124), - 636: uint16(124), - 637: uint16(125), - 638: uint16(125), - 639: uint16(125), - 640: uint16(125), - 641: uint16(411), - 642: uint16(396), - 643: uint16(1139), - 644: uint16(1193), - 645: uint16(872), - 646: uint16(101), - 647: uint16(286), - 648: uint16(286), - 649: uint16(1193), - 650: uint16(1194), - 651: uint16(1193), - 652: uint16(375), - 653: uint16(1096), - 654: uint16(1193), - 655: uint16(1194), - 656: uint16(1193), - 657: uint16(1193), - 658: uint16(1194), - 659: uint16(1193), - 660: uint16(569), - 661: uint16(459), - 662: uint16(33), - 663: uint16(375), - 664: uint16(235), - 665: uint16(126), - 666: uint16(127), - 667: uint16(81), - 668: uint16(1217), - 669: uint16(1217), - 670: uint16(1054), - 671: uint16(1057), - 672: uint16(1044), - 673: uint16(1044), - 674: uint16(124), - 675: uint16(124), - 676: uint16(125), - 677: uint16(125), - 678: uint16(125), - 679: uint16(125), - 680: uint16(1437), - 681: uint16(962), - 682: uint16(572), - 683: uint16(230), - 684: uint16(961), - 685: uint16(123), - 686: uint16(123), - 687: uint16(123), - 688: uint16(123), - 689: uint16(122), - 690: uint16(122), - 691: uint16(121), - 692: uint16(121), - 693: uint16(121), - 694: uint16(120), - 695: uint16(117), - 696: uint16(448), - 697: uint16(1159), - 698: uint16(230), - 699: uint16(1193), - 700: uint16(158), - 701: uint16(1193), - 702: uint16(1194), - 703: uint16(1193), - 704: uint16(1556), - 705: uint16(13), - 706: uint16(13), - 707: uint16(303), - 708: uint16(960), - 709: uint16(1233), - 710: uint16(1159), - 711: uint16(154), - 712: uint16(411), - 713: uint16(1159), - 714: uint16(375), - 715: uint16(1584), - 716: uint16(1177), - 717: uint16(5), - 718: uint16(371), - 719: uint16(1581), - 720: uint16(431), - 721: uint16(1239), - 722: uint16(3), - 723: uint16(960), - 724: uint16(123), - 725: uint16(123), - 726: uint16(123), - 727: uint16(123), - 728: uint16(122), - 729: uint16(122), - 730: uint16(121), - 731: uint16(121), - 732: uint16(121), - 733: uint16(120), - 734: uint16(117), - 735: uint16(448), - 736: uint16(126), - 737: uint16(127), - 738: uint16(81), - 739: uint16(1217), - 740: uint16(1217), - 741: uint16(1054), - 742: uint16(1057), - 743: uint16(1044), - 744: uint16(1044), - 745: uint16(124), - 746: uint16(124), - 747: uint16(125), - 748: uint16(125), - 749: uint16(125), - 750: uint16(125), - 751: uint16(411), - 752: uint16(210), - 753: uint16(571), - 754: uint16(1193), - 755: uint16(1032), - 756: uint16(1193), - 757: uint16(1194), - 758: uint16(1193), - 759: uint16(1193), - 760: uint16(390), - 761: uint16(855), - 762: uint16(156), - 763: uint16(1555), - 764: uint16(376), - 765: uint16(404), - 766: uint16(1101), - 767: uint16(1101), - 768: uint16(492), - 769: uint16(572), - 770: uint16(469), - 771: uint16(344), - 772: uint16(1322), - 773: uint16(1322), - 774: uint16(1555), - 775: uint16(126), - 776: uint16(127), - 777: uint16(81), - 778: uint16(1217), - 779: uint16(1217), - 780: uint16(1054), - 781: uint16(1057), - 782: uint16(1044), - 783: uint16(1044), - 784: uint16(124), - 785: uint16(124), - 786: uint16(125), - 787: uint16(125), - 788: uint16(125), - 789: uint16(125), - 790: uint16(130), - 791: uint16(572), - 792: uint16(13), - 793: uint16(13), - 794: uint16(532), - 795: uint16(123), - 796: uint16(123), - 797: uint16(123), - 798: uint16(123), - 799: uint16(122), - 800: uint16(122), - 801: uint16(121), - 802: uint16(121), - 803: uint16(121), - 804: uint16(120), - 805: uint16(117), - 806: uint16(448), - 807: uint16(304), - 808: uint16(572), - 809: uint16(457), - 810: uint16(229), - 811: uint16(1193), - 812: uint16(1194), - 813: uint16(1193), - 814: uint16(13), - 815: uint16(13), - 816: uint16(1193), - 817: uint16(1194), - 818: uint16(1193), - 819: uint16(1300), - 820: uint16(467), - 821: uint16(1270), - 822: uint16(411), - 823: uint16(1320), - 824: uint16(1320), - 825: uint16(1555), - 826: uint16(1015), - 827: uint16(457), - 828: uint16(456), - 829: uint16(436), - 830: uint16(301), - 831: uint16(72), - 832: uint16(72), - 833: uint16(1268), - 834: uint16(123), - 835: uint16(123), - 836: uint16(123), - 837: uint16(123), - 838: uint16(122), - 839: uint16(122), - 840: uint16(121), - 841: uint16(121), - 842: uint16(121), - 843: uint16(120), - 844: uint16(117), - 845: uint16(448), - 846: uint16(126), - 847: uint16(127), - 848: uint16(81), - 849: uint16(1217), - 850: uint16(1217), - 851: uint16(1054), - 852: uint16(1057), - 853: uint16(1044), - 854: uint16(1044), - 855: uint16(124), - 856: uint16(124), - 857: uint16(125), - 858: uint16(125), - 859: uint16(125), - 860: uint16(125), - 861: uint16(411), - 862: uint16(384), - 863: uint16(1076), - 864: uint16(1159), - 865: uint16(286), - 866: uint16(286), - 867: uint16(421), - 868: uint16(314), - 869: uint16(280), - 870: uint16(280), - 871: uint16(287), - 872: uint16(287), - 873: uint16(461), - 874: uint16(408), - 875: uint16(407), - 876: uint16(1539), - 877: uint16(1159), - 878: uint16(569), - 879: uint16(572), - 880: uint16(1159), - 881: uint16(1196), - 882: uint16(569), - 883: uint16(409), - 884: uint16(569), - 885: uint16(126), - 886: uint16(127), - 887: uint16(81), - 888: uint16(1217), - 889: uint16(1217), - 890: uint16(1054), - 891: uint16(1057), - 892: uint16(1044), - 893: uint16(1044), - 894: uint16(124), - 895: uint16(124), - 896: uint16(125), - 897: uint16(125), - 898: uint16(125), - 899: uint16(125), - 900: uint16(457), - 901: uint16(1485), - 902: uint16(13), - 903: uint16(13), - 904: uint16(1541), - 905: uint16(123), - 906: uint16(123), - 907: uint16(123), - 908: uint16(123), - 909: uint16(122), - 910: uint16(122), - 911: uint16(121), - 912: uint16(121), - 913: uint16(121), - 914: uint16(120), - 915: uint16(117), - 916: uint16(448), - 917: uint16(202), - 918: uint16(572), - 919: uint16(462), - 920: uint16(1587), - 921: uint16(578), - 922: uint16(2), - 923: uint16(1248), - 924: uint16(843), - 925: uint16(844), - 926: uint16(845), - 927: uint16(1563), - 928: uint16(319), - 929: uint16(409), - 930: uint16(147), - 931: uint16(6), - 932: uint16(411), - 933: uint16(257), - 934: uint16(256), - 935: uint16(255), - 936: uint16(208), - 937: uint16(1330), - 938: uint16(9), - 939: uint16(1196), - 940: uint16(264), - 941: uint16(72), - 942: uint16(72), - 943: uint16(1436), - 944: uint16(123), - 945: uint16(123), - 946: uint16(123), - 947: uint16(123), - 948: uint16(122), - 949: uint16(122), - 950: uint16(121), - 951: uint16(121), - 952: uint16(121), - 953: uint16(120), - 954: uint16(117), - 955: uint16(448), - 956: uint16(126), - 957: uint16(127), - 958: uint16(81), - 959: uint16(1217), - 960: uint16(1217), - 961: uint16(1054), - 962: uint16(1057), - 963: uint16(1044), - 964: uint16(1044), - 965: uint16(124), - 966: uint16(124), - 967: uint16(125), - 968: uint16(125), - 969: uint16(125), - 970: uint16(125), - 971: uint16(572), - 972: uint16(286), - 973: uint16(286), - 974: uint16(572), - 975: uint16(1213), - 976: uint16(411), - 977: uint16(577), - 978: uint16(315), - 979: uint16(1248), - 980: uint16(421), - 981: uint16(371), - 982: uint16(1581), - 983: uint16(356), - 984: uint16(319), - 985: uint16(569), - 986: uint16(147), - 987: uint16(495), - 988: uint16(529), - 989: uint16(1644), - 990: uint16(397), - 991: uint16(935), - 992: uint16(495), - 993: uint16(1330), - 994: uint16(71), - 995: uint16(71), - 996: uint16(934), - 997: uint16(72), - 998: uint16(72), - 999: uint16(242), - 1000: uint16(1328), - 1001: uint16(105), - 1002: uint16(81), - 1003: uint16(1217), - 1004: uint16(1217), - 1005: uint16(1054), - 1006: uint16(1057), - 1007: uint16(1044), - 1008: uint16(1044), - 1009: uint16(124), - 1010: uint16(124), - 1011: uint16(125), - 1012: uint16(125), - 1013: uint16(125), - 1014: uint16(125), - 1015: uint16(123), - 1016: uint16(123), - 1017: uint16(123), - 1018: uint16(123), - 1019: uint16(122), - 1020: uint16(122), - 1021: uint16(121), - 1022: uint16(121), - 1023: uint16(121), - 1024: uint16(120), - 1025: uint16(117), - 1026: uint16(448), - 1027: uint16(1117), - 1028: uint16(286), - 1029: uint16(286), - 1030: uint16(1422), - 1031: uint16(452), - 1032: uint16(1528), - 1033: uint16(1213), - 1034: uint16(443), - 1035: uint16(286), - 1036: uint16(286), - 1037: uint16(1492), - 1038: uint16(1355), - 1039: uint16(313), - 1040: uint16(478), - 1041: uint16(569), - 1042: uint16(1118), - 1043: uint16(454), - 1044: uint16(351), - 1045: uint16(495), - 1046: uint16(354), - 1047: uint16(1266), - 1048: uint16(569), - 1049: uint16(209), - 1050: uint16(572), - 1051: uint16(418), - 1052: uint16(179), - 1053: uint16(572), - 1054: uint16(1031), - 1055: uint16(242), - 1056: uint16(385), - 1057: uint16(1119), - 1058: uint16(523), - 1059: uint16(123), - 1060: uint16(123), - 1061: uint16(123), - 1062: uint16(123), - 1063: uint16(122), - 1064: uint16(122), - 1065: uint16(121), - 1066: uint16(121), - 1067: uint16(121), - 1068: uint16(120), - 1069: uint16(117), - 1070: uint16(448), - 1071: uint16(1020), - 1072: uint16(108), - 1073: uint16(72), - 1074: uint16(72), - 1075: uint16(1019), - 1076: uint16(13), - 1077: uint16(13), - 1078: uint16(915), - 1079: uint16(572), - 1080: uint16(1498), - 1081: uint16(572), - 1082: uint16(286), - 1083: uint16(286), - 1084: uint16(98), - 1085: uint16(530), - 1086: uint16(1537), - 1087: uint16(452), - 1088: uint16(916), - 1089: uint16(1334), - 1090: uint16(1329), - 1091: uint16(203), - 1092: uint16(411), - 1093: uint16(286), - 1094: uint16(286), - 1095: uint16(569), - 1096: uint16(152), - 1097: uint16(211), - 1098: uint16(1498), - 1099: uint16(1500), - 1100: uint16(426), - 1101: uint16(569), - 1102: uint16(56), - 1103: uint16(56), - 1104: uint16(57), - 1105: uint16(57), - 1106: uint16(569), - 1107: uint16(1019), - 1108: uint16(1019), - 1109: uint16(1021), - 1110: uint16(447), - 1111: uint16(572), - 1112: uint16(411), - 1113: uint16(531), - 1114: uint16(12), - 1115: uint16(297), - 1116: uint16(126), - 1117: uint16(127), - 1118: uint16(81), - 1119: uint16(1217), - 1120: uint16(1217), - 1121: uint16(1054), - 1122: uint16(1057), - 1123: uint16(1044), - 1124: uint16(1044), - 1125: uint16(124), - 1126: uint16(124), - 1127: uint16(125), - 1128: uint16(125), - 1129: uint16(125), - 1130: uint16(125), - 1131: uint16(572), - 1132: uint16(411), - 1133: uint16(867), - 1134: uint16(15), - 1135: uint16(15), - 1136: uint16(126), - 1137: uint16(127), - 1138: uint16(81), - 1139: uint16(1217), - 1140: uint16(1217), - 1141: uint16(1054), - 1142: uint16(1057), - 1143: uint16(1044), - 1144: uint16(1044), - 1145: uint16(124), - 1146: uint16(124), - 1147: uint16(125), - 1148: uint16(125), - 1149: uint16(125), - 1150: uint16(125), - 1151: uint16(373), - 1152: uint16(529), - 1153: uint16(264), - 1154: uint16(44), - 1155: uint16(44), - 1156: uint16(126), - 1157: uint16(115), - 1158: uint16(81), - 1159: uint16(1217), - 1160: uint16(1217), - 1161: uint16(1054), - 1162: uint16(1057), - 1163: uint16(1044), - 1164: uint16(1044), - 1165: uint16(124), - 1166: uint16(124), - 1167: uint16(125), - 1168: uint16(125), - 1169: uint16(125), - 1170: uint16(125), - 1171: uint16(1498), - 1172: uint16(478), - 1173: uint16(1271), - 1174: uint16(417), - 1175: uint16(123), - 1176: uint16(123), - 1177: uint16(123), - 1178: uint16(123), - 1179: uint16(122), - 1180: uint16(122), - 1181: uint16(121), - 1182: uint16(121), - 1183: uint16(121), - 1184: uint16(120), - 1185: uint16(117), - 1186: uint16(448), - 1187: uint16(205), - 1188: uint16(1213), - 1189: uint16(495), - 1190: uint16(430), - 1191: uint16(867), - 1192: uint16(468), - 1193: uint16(322), - 1194: uint16(495), - 1195: uint16(123), - 1196: uint16(123), - 1197: uint16(123), - 1198: uint16(123), - 1199: uint16(122), - 1200: uint16(122), - 1201: uint16(121), - 1202: uint16(121), - 1203: uint16(121), - 1204: uint16(120), - 1205: uint16(117), - 1206: uint16(448), - 1207: uint16(572), - 1208: uint16(557), - 1209: uint16(1140), - 1210: uint16(1642), - 1211: uint16(1422), - 1212: uint16(1642), - 1213: uint16(543), - 1214: uint16(572), - 1215: uint16(123), - 1216: uint16(123), - 1217: uint16(123), - 1218: uint16(123), - 1219: uint16(122), - 1220: uint16(122), - 1221: uint16(121), - 1222: uint16(121), - 1223: uint16(121), - 1224: uint16(120), - 1225: uint16(117), - 1226: uint16(448), - 1227: uint16(572), - 1228: uint16(1422), - 1229: uint16(572), - 1230: uint16(13), - 1231: uint16(13), - 1232: uint16(542), - 1233: uint16(323), - 1234: uint16(1325), - 1235: uint16(411), - 1236: uint16(334), - 1237: uint16(58), - 1238: uint16(58), - 1239: uint16(349), - 1240: uint16(1422), - 1241: uint16(1170), - 1242: uint16(326), - 1243: uint16(286), - 1244: uint16(286), - 1245: uint16(549), - 1246: uint16(1213), - 1247: uint16(300), - 1248: uint16(895), - 1249: uint16(530), - 1250: uint16(45), - 1251: uint16(45), - 1252: uint16(59), - 1253: uint16(59), - 1254: uint16(1140), - 1255: uint16(1643), - 1256: uint16(569), - 1257: uint16(1643), - 1258: uint16(565), - 1259: uint16(417), - 1260: uint16(127), - 1261: uint16(81), - 1262: uint16(1217), - 1263: uint16(1217), - 1264: uint16(1054), - 1265: uint16(1057), - 1266: uint16(1044), - 1267: uint16(1044), - 1268: uint16(124), - 1269: uint16(124), - 1270: uint16(125), - 1271: uint16(125), - 1272: uint16(125), - 1273: uint16(125), - 1274: uint16(1367), - 1275: uint16(373), - 1276: uint16(500), - 1277: uint16(290), - 1278: uint16(1193), - 1279: uint16(512), - 1280: uint16(1366), - 1281: uint16(427), - 1282: uint16(394), - 1283: uint16(394), - 1284: uint16(393), - 1285: uint16(275), - 1286: uint16(391), - 1287: uint16(896), - 1288: uint16(1138), - 1289: uint16(852), - 1290: uint16(478), - 1291: uint16(258), - 1292: uint16(1422), - 1293: uint16(1170), - 1294: uint16(463), - 1295: uint16(1159), - 1296: uint16(12), - 1297: uint16(331), - 1298: uint16(428), - 1299: uint16(333), - 1300: uint16(1117), - 1301: uint16(460), - 1302: uint16(236), - 1303: uint16(258), - 1304: uint16(325), - 1305: uint16(460), - 1306: uint16(544), - 1307: uint16(1544), - 1308: uint16(1159), - 1309: uint16(1098), - 1310: uint16(491), - 1311: uint16(1159), - 1312: uint16(324), - 1313: uint16(1098), - 1314: uint16(440), - 1315: uint16(1118), - 1316: uint16(335), - 1317: uint16(516), - 1318: uint16(123), - 1319: uint16(123), - 1320: uint16(123), - 1321: uint16(123), - 1322: uint16(122), - 1323: uint16(122), - 1324: uint16(121), - 1325: uint16(121), - 1326: uint16(121), - 1327: uint16(120), - 1328: uint16(117), - 1329: uint16(448), - 1330: uint16(1119), - 1331: uint16(318), - 1332: uint16(563), - 1333: uint16(1138), - 1334: uint16(572), - 1335: uint16(1193), - 1336: uint16(1194), - 1337: uint16(1193), - 1338: uint16(112), - 1339: uint16(564), - 1340: uint16(201), + 345: uint16(555), + 346: uint16(1149), + 347: uint16(1657), + 348: uint16(1628), + 349: uint16(1657), + 350: uint16(45), + 351: uint16(128), + 352: uint16(125), + 353: uint16(232), + 354: uint16(1204), + 355: uint16(1205), + 356: uint16(1204), + 357: uint16(1250), + 358: uint16(571), + 359: uint16(1169), + 360: uint16(132), + 361: uint16(132), + 362: uint16(132), + 363: uint16(132), + 364: uint16(131), + 365: uint16(131), + 366: uint16(130), + 367: uint16(130), + 368: uint16(130), + 369: uint16(129), + 370: uint16(126), + 371: uint16(450), + 372: uint16(1169), + 373: uint16(287), + 374: uint16(287), + 375: uint16(1169), + 376: uint16(1019), + 377: uint16(576), + 378: uint16(422), + 379: uint16(1019), + 380: uint16(412), + 381: uint16(451), + 382: uint16(1602), + 383: uint16(582), + 384: uint16(2), + 385: uint16(1259), + 386: uint16(573), + 387: uint16(44), + 388: uint16(561), + 389: uint16(95), + 390: uint16(320), + 391: uint16(110), + 392: uint16(153), + 393: uint16(565), + 394: uint16(1204), + 395: uint16(1205), + 396: uint16(1204), + 397: uint16(522), + 398: uint16(522), + 399: uint16(1341), + 400: uint16(81), + 401: uint16(81), + 402: uint16(7), + 403: uint16(44), + 404: uint16(135), + 405: uint16(136), + 406: uint16(90), + 407: uint16(1228), + 408: uint16(1228), + 409: uint16(1063), + 410: uint16(1066), + 411: uint16(1053), + 412: uint16(1053), + 413: uint16(133), + 414: uint16(133), + 415: uint16(134), + 416: uint16(134), + 417: uint16(134), + 418: uint16(134), + 419: uint16(295), + 420: uint16(1149), + 421: uint16(1658), + 422: uint16(1040), + 423: uint16(1658), + 424: uint16(1204), + 425: uint16(1147), + 426: uint16(319), + 427: uint16(567), + 428: uint16(119), + 429: uint16(119), + 430: uint16(343), + 431: uint16(466), + 432: uint16(331), + 433: uint16(343), + 434: uint16(287), + 435: uint16(287), + 436: uint16(120), + 437: uint16(556), + 438: uint16(451), + 439: uint16(577), + 440: uint16(451), + 441: uint16(1169), + 442: uint16(1169), + 443: uint16(1028), + 444: uint16(319), + 445: uint16(567), + 446: uint16(438), + 447: uint16(573), + 448: uint16(210), + 449: uint16(561), + 450: uint16(1339), + 451: uint16(1451), + 452: uint16(546), + 453: uint16(531), + 454: uint16(1169), + 455: uint16(1169), + 456: uint16(1598), + 457: uint16(1169), + 458: uint16(1169), + 459: uint16(416), + 460: uint16(319), + 461: uint16(567), + 462: uint16(243), + 463: uint16(132), + 464: uint16(132), + 465: uint16(132), + 466: uint16(132), + 467: uint16(131), + 468: uint16(131), + 469: uint16(130), + 470: uint16(130), + 471: uint16(130), + 472: uint16(129), + 473: uint16(126), + 474: uint16(450), + 475: uint16(1028), + 476: uint16(1028), + 477: uint16(1030), + 478: uint16(1031), + 479: uint16(35), + 480: uint16(44), + 481: uint16(1204), + 482: uint16(1205), + 483: uint16(1204), + 484: uint16(472), + 485: uint16(287), + 486: uint16(287), + 487: uint16(1328), + 488: uint16(412), + 489: uint16(1307), + 490: uint16(372), + 491: uint16(1595), + 492: uint16(359), + 493: uint16(225), + 494: uint16(454), + 495: uint16(1204), + 496: uint16(195), + 497: uint16(1328), + 498: uint16(573), + 499: uint16(1147), + 500: uint16(561), + 501: uint16(1333), + 502: uint16(1333), + 503: uint16(274), + 504: uint16(576), + 505: uint16(1188), + 506: uint16(576), + 507: uint16(340), + 508: uint16(46), + 509: uint16(196), + 510: uint16(537), + 511: uint16(217), + 512: uint16(135), + 513: uint16(136), + 514: uint16(90), + 515: uint16(1228), + 516: uint16(1228), + 517: uint16(1063), + 518: uint16(1066), + 519: uint16(1053), + 520: uint16(1053), + 521: uint16(133), + 522: uint16(133), + 523: uint16(134), + 524: uint16(134), + 525: uint16(134), + 526: uint16(134), + 527: uint16(19), + 528: uint16(19), + 529: uint16(19), + 530: uint16(19), + 531: uint16(412), + 532: uint16(581), + 533: uint16(1204), + 534: uint16(1259), + 535: uint16(511), + 536: uint16(1204), + 537: uint16(319), + 538: uint16(567), + 539: uint16(320), + 540: uint16(944), + 541: uint16(153), + 542: uint16(425), + 543: uint16(491), + 544: uint16(430), + 545: uint16(943), + 546: uint16(1204), + 547: uint16(488), + 548: uint16(1341), + 549: uint16(1450), + 550: uint16(532), + 551: uint16(1277), + 552: uint16(1204), + 553: uint16(1205), + 554: uint16(1204), + 555: uint16(135), + 556: uint16(136), + 557: uint16(90), + 558: uint16(1228), + 559: uint16(1228), + 560: uint16(1063), + 561: uint16(1066), + 562: uint16(1053), + 563: uint16(1053), + 564: uint16(133), + 565: uint16(133), + 566: uint16(134), + 567: uint16(134), + 568: uint16(134), + 569: uint16(134), + 570: uint16(575), + 571: uint16(132), + 572: uint16(132), + 573: uint16(132), + 574: uint16(132), + 575: uint16(131), + 576: uint16(131), + 577: uint16(130), + 578: uint16(130), + 579: uint16(130), + 580: uint16(129), + 581: uint16(126), + 582: uint16(450), + 583: uint16(287), + 584: uint16(287), + 585: uint16(528), + 586: uint16(287), + 587: uint16(287), + 588: uint16(372), + 589: uint16(1595), + 590: uint16(1204), + 591: uint16(1205), + 592: uint16(1204), + 593: uint16(1204), + 594: uint16(1205), + 595: uint16(1204), + 596: uint16(573), + 597: uint16(486), + 598: uint16(561), + 599: uint16(573), + 600: uint16(889), + 601: uint16(561), + 602: uint16(412), + 603: uint16(1204), + 604: uint16(1205), + 605: uint16(1204), + 606: uint16(886), + 607: uint16(40), + 608: uint16(22), + 609: uint16(22), + 610: uint16(220), + 611: uint16(243), + 612: uint16(525), + 613: uint16(1449), + 614: uint16(132), + 615: uint16(132), + 616: uint16(132), + 617: uint16(132), + 618: uint16(131), + 619: uint16(131), + 620: uint16(130), + 621: uint16(130), + 622: uint16(130), + 623: uint16(129), + 624: uint16(126), + 625: uint16(450), + 626: uint16(135), + 627: uint16(136), + 628: uint16(90), + 629: uint16(1228), + 630: uint16(1228), + 631: uint16(1063), + 632: uint16(1066), + 633: uint16(1053), + 634: uint16(1053), + 635: uint16(133), + 636: uint16(133), + 637: uint16(134), + 638: uint16(134), + 639: uint16(134), + 640: uint16(134), + 641: uint16(412), + 642: uint16(180), + 643: uint16(454), + 644: uint16(1204), + 645: uint16(879), + 646: uint16(255), + 647: uint16(287), + 648: uint16(287), + 649: uint16(510), + 650: uint16(507), + 651: uint16(506), + 652: uint16(372), + 653: uint16(1595), + 654: uint16(1568), + 655: uint16(1331), + 656: uint16(1331), + 657: uint16(576), + 658: uint16(889), + 659: uint16(505), + 660: uint16(573), + 661: uint16(44), + 662: uint16(561), + 663: uint16(559), + 664: uint16(1207), + 665: uint16(135), + 666: uint16(136), + 667: uint16(90), + 668: uint16(1228), + 669: uint16(1228), + 670: uint16(1063), + 671: uint16(1066), + 672: uint16(1053), + 673: uint16(1053), + 674: uint16(133), + 675: uint16(133), + 676: uint16(134), + 677: uint16(134), + 678: uint16(134), + 679: uint16(134), + 680: uint16(81), + 681: uint16(81), + 682: uint16(422), + 683: uint16(576), + 684: uint16(377), + 685: uint16(132), + 686: uint16(132), + 687: uint16(132), + 688: uint16(132), + 689: uint16(131), + 690: uint16(131), + 691: uint16(130), + 692: uint16(130), + 693: uint16(130), + 694: uint16(129), + 695: uint16(126), + 696: uint16(450), + 697: uint16(297), + 698: uint16(287), + 699: uint16(287), + 700: uint16(460), + 701: uint16(1204), + 702: uint16(1205), + 703: uint16(1204), + 704: uint16(1204), + 705: uint16(534), + 706: uint16(19), + 707: uint16(19), + 708: uint16(448), + 709: uint16(448), + 710: uint16(448), + 711: uint16(573), + 712: uint16(412), + 713: uint16(561), + 714: uint16(230), + 715: uint16(436), + 716: uint16(1187), + 717: uint16(535), + 718: uint16(319), + 719: uint16(567), + 720: uint16(363), + 721: uint16(432), + 722: uint16(1207), + 723: uint16(1435), + 724: uint16(132), + 725: uint16(132), + 726: uint16(132), + 727: uint16(132), + 728: uint16(131), + 729: uint16(131), + 730: uint16(130), + 731: uint16(130), + 732: uint16(130), + 733: uint16(129), + 734: uint16(126), + 735: uint16(450), + 736: uint16(135), + 737: uint16(136), + 738: uint16(90), + 739: uint16(1228), + 740: uint16(1228), + 741: uint16(1063), + 742: uint16(1066), + 743: uint16(1053), + 744: uint16(1053), + 745: uint16(133), + 746: uint16(133), + 747: uint16(134), + 748: uint16(134), + 749: uint16(134), + 750: uint16(134), + 751: uint16(412), + 752: uint16(211), + 753: uint16(949), + 754: uint16(1169), + 755: uint16(1041), + 756: uint16(1110), + 757: uint16(1110), + 758: uint16(494), + 759: uint16(547), + 760: uint16(547), + 761: uint16(1204), + 762: uint16(1205), + 763: uint16(1204), + 764: uint16(7), + 765: uint16(539), + 766: uint16(1570), + 767: uint16(1169), + 768: uint16(376), + 769: uint16(576), + 770: uint16(1169), + 771: uint16(5), + 772: uint16(1204), + 773: uint16(486), + 774: uint16(3), + 775: uint16(135), + 776: uint16(136), + 777: uint16(90), + 778: uint16(1228), + 779: uint16(1228), + 780: uint16(1063), + 781: uint16(1066), + 782: uint16(1053), + 783: uint16(1053), + 784: uint16(133), + 785: uint16(133), + 786: uint16(134), + 787: uint16(134), + 788: uint16(134), + 789: uint16(134), + 790: uint16(576), + 791: uint16(513), + 792: uint16(19), + 793: uint16(19), + 794: uint16(427), + 795: uint16(132), + 796: uint16(132), + 797: uint16(132), + 798: uint16(132), + 799: uint16(131), + 800: uint16(131), + 801: uint16(130), + 802: uint16(130), + 803: uint16(130), + 804: uint16(129), + 805: uint16(126), + 806: uint16(450), + 807: uint16(305), + 808: uint16(1204), + 809: uint16(433), + 810: uint16(225), + 811: uint16(1204), + 812: uint16(385), + 813: uint16(19), + 814: uint16(19), + 815: uint16(273), + 816: uint16(290), + 817: uint16(371), + 818: uint16(516), + 819: uint16(366), + 820: uint16(515), + 821: uint16(260), + 822: uint16(412), + 823: uint16(538), + 824: uint16(1568), + 825: uint16(549), + 826: uint16(1024), + 827: uint16(362), + 828: uint16(437), + 829: uint16(1204), + 830: uint16(1205), + 831: uint16(1204), + 832: uint16(902), + 833: uint16(1552), + 834: uint16(132), + 835: uint16(132), + 836: uint16(132), + 837: uint16(132), + 838: uint16(131), + 839: uint16(131), + 840: uint16(130), + 841: uint16(130), + 842: uint16(130), + 843: uint16(129), + 844: uint16(126), + 845: uint16(450), + 846: uint16(135), + 847: uint16(136), + 848: uint16(90), + 849: uint16(1228), + 850: uint16(1228), + 851: uint16(1063), + 852: uint16(1066), + 853: uint16(1053), + 854: uint16(1053), + 855: uint16(133), + 856: uint16(133), + 857: uint16(134), + 858: uint16(134), + 859: uint16(134), + 860: uint16(134), + 861: uint16(412), + 862: uint16(1435), + 863: uint16(514), + 864: uint16(1281), + 865: uint16(1204), + 866: uint16(1205), + 867: uint16(1204), + 868: uint16(1204), + 869: uint16(1205), + 870: uint16(1204), + 871: uint16(903), + 872: uint16(48), + 873: uint16(342), + 874: uint16(1568), + 875: uint16(1568), + 876: uint16(1279), + 877: uint16(1627), + 878: uint16(1568), + 879: uint16(911), + 880: uint16(576), + 881: uint16(129), + 882: uint16(126), + 883: uint16(450), + 884: uint16(110), + 885: uint16(135), + 886: uint16(136), + 887: uint16(90), + 888: uint16(1228), + 889: uint16(1228), + 890: uint16(1063), + 891: uint16(1066), + 892: uint16(1053), + 893: uint16(1053), + 894: uint16(133), + 895: uint16(133), + 896: uint16(134), + 897: uint16(134), + 898: uint16(134), + 899: uint16(134), + 900: uint16(265), + 901: uint16(576), + 902: uint16(459), + 903: uint16(19), + 904: uint16(19), + 905: uint16(132), + 906: uint16(132), + 907: uint16(132), + 908: uint16(132), + 909: uint16(131), + 910: uint16(131), + 911: uint16(130), + 912: uint16(130), + 913: uint16(130), + 914: uint16(129), + 915: uint16(126), + 916: uint16(450), + 917: uint16(1345), + 918: uint16(204), + 919: uint16(576), + 920: uint16(459), + 921: uint16(458), + 922: uint16(50), + 923: uint16(47), + 924: uint16(19), + 925: uint16(19), + 926: uint16(49), + 927: uint16(434), + 928: uint16(1105), + 929: uint16(573), + 930: uint16(497), + 931: uint16(561), + 932: uint16(412), + 933: uint16(428), + 934: uint16(108), + 935: uint16(1224), + 936: uint16(1569), + 937: uint16(1554), + 938: uint16(376), + 939: uint16(205), + 940: uint16(550), + 941: uint16(550), + 942: uint16(81), + 943: uint16(81), + 944: uint16(132), + 945: uint16(132), + 946: uint16(132), + 947: uint16(132), + 948: uint16(131), + 949: uint16(131), + 950: uint16(130), + 951: uint16(130), + 952: uint16(130), + 953: uint16(129), + 954: uint16(126), + 955: uint16(450), + 956: uint16(135), + 957: uint16(136), + 958: uint16(90), + 959: uint16(1228), + 960: uint16(1228), + 961: uint16(1063), + 962: uint16(1066), + 963: uint16(1053), + 964: uint16(1053), + 965: uint16(133), + 966: uint16(133), + 967: uint16(134), + 968: uint16(134), + 969: uint16(134), + 970: uint16(134), + 971: uint16(480), + 972: uint16(576), + 973: uint16(1204), + 974: uint16(576), + 975: uint16(1541), + 976: uint16(412), + 977: uint16(1435), + 978: uint16(969), + 979: uint16(315), + 980: uint16(1659), + 981: uint16(398), + 982: uint16(284), + 983: uint16(497), + 984: uint16(969), + 985: uint16(893), + 986: uint16(1569), + 987: uint16(1569), + 988: uint16(376), + 989: uint16(376), + 990: uint16(1569), + 991: uint16(461), + 992: uint16(376), + 993: uint16(1224), + 994: uint16(459), + 995: uint16(80), + 996: uint16(80), + 997: uint16(81), + 998: uint16(81), + 999: uint16(497), + 1000: uint16(374), + 1001: uint16(114), + 1002: uint16(90), + 1003: uint16(1228), + 1004: uint16(1228), + 1005: uint16(1063), + 1006: uint16(1066), + 1007: uint16(1053), + 1008: uint16(1053), + 1009: uint16(133), + 1010: uint16(133), + 1011: uint16(134), + 1012: uint16(134), + 1013: uint16(134), + 1014: uint16(134), + 1015: uint16(132), + 1016: uint16(132), + 1017: uint16(132), + 1018: uint16(132), + 1019: uint16(131), + 1020: uint16(131), + 1021: uint16(130), + 1022: uint16(130), + 1023: uint16(130), + 1024: uint16(129), + 1025: uint16(126), + 1026: uint16(450), + 1027: uint16(1204), + 1028: uint16(1505), + 1029: uint16(576), + 1030: uint16(1204), + 1031: uint16(1205), + 1032: uint16(1204), + 1033: uint16(1366), + 1034: uint16(316), + 1035: uint16(486), + 1036: uint16(281), + 1037: uint16(281), + 1038: uint16(497), + 1039: uint16(431), + 1040: uint16(557), + 1041: uint16(288), + 1042: uint16(288), + 1043: uint16(402), + 1044: uint16(1340), + 1045: uint16(471), + 1046: uint16(345), + 1047: uint16(298), + 1048: uint16(429), + 1049: uint16(573), + 1050: uint16(576), + 1051: uint16(561), + 1052: uint16(81), + 1053: uint16(81), + 1054: uint16(573), + 1055: uint16(374), + 1056: uint16(561), + 1057: uint16(971), + 1058: uint16(386), + 1059: uint16(132), + 1060: uint16(132), + 1061: uint16(132), + 1062: uint16(132), + 1063: uint16(131), + 1064: uint16(131), + 1065: uint16(130), + 1066: uint16(130), + 1067: uint16(130), + 1068: uint16(129), + 1069: uint16(126), + 1070: uint16(450), + 1071: uint16(231), + 1072: uint16(117), + 1073: uint16(81), + 1074: uint16(81), + 1075: uint16(287), + 1076: uint16(287), + 1077: uint16(231), + 1078: uint16(287), + 1079: uint16(287), + 1080: uint16(576), + 1081: uint16(1511), + 1082: uint16(576), + 1083: uint16(1336), + 1084: uint16(1204), + 1085: uint16(1205), + 1086: uint16(1204), + 1087: uint16(139), + 1088: uint16(573), + 1089: uint16(556), + 1090: uint16(561), + 1091: uint16(573), + 1092: uint16(412), + 1093: uint16(561), + 1094: uint16(441), + 1095: uint16(456), + 1096: uint16(969), + 1097: uint16(213), + 1098: uint16(558), + 1099: uint16(1511), + 1100: uint16(1513), + 1101: uint16(1550), + 1102: uint16(969), + 1103: uint16(143), + 1104: uint16(143), + 1105: uint16(145), + 1106: uint16(145), + 1107: uint16(1368), + 1108: uint16(314), + 1109: uint16(478), + 1110: uint16(444), + 1111: uint16(970), + 1112: uint16(412), + 1113: uint16(850), + 1114: uint16(851), + 1115: uint16(852), + 1116: uint16(135), + 1117: uint16(136), + 1118: uint16(90), + 1119: uint16(1228), + 1120: uint16(1228), + 1121: uint16(1063), + 1122: uint16(1066), + 1123: uint16(1053), + 1124: uint16(1053), + 1125: uint16(133), + 1126: uint16(133), + 1127: uint16(134), + 1128: uint16(134), + 1129: uint16(134), + 1130: uint16(134), + 1131: uint16(357), + 1132: uint16(412), + 1133: uint16(397), + 1134: uint16(1148), + 1135: uint16(304), + 1136: uint16(135), + 1137: uint16(136), + 1138: uint16(90), + 1139: uint16(1228), + 1140: uint16(1228), + 1141: uint16(1063), + 1142: uint16(1066), + 1143: uint16(1053), + 1144: uint16(1053), + 1145: uint16(133), + 1146: uint16(133), + 1147: uint16(134), + 1148: uint16(134), + 1149: uint16(134), + 1150: uint16(134), + 1151: uint16(1575), + 1152: uint16(323), + 1153: uint16(6), + 1154: uint16(862), + 1155: uint16(7), + 1156: uint16(135), + 1157: uint16(124), + 1158: uint16(90), + 1159: uint16(1228), + 1160: uint16(1228), + 1161: uint16(1063), + 1162: uint16(1066), + 1163: uint16(1053), + 1164: uint16(1053), + 1165: uint16(133), + 1166: uint16(133), + 1167: uint16(134), + 1168: uint16(134), + 1169: uint16(134), + 1170: uint16(134), + 1171: uint16(409), + 1172: uint16(408), + 1173: uint16(1511), + 1174: uint16(212), + 1175: uint16(132), + 1176: uint16(132), + 1177: uint16(132), + 1178: uint16(132), + 1179: uint16(131), + 1180: uint16(131), + 1181: uint16(130), + 1182: uint16(130), + 1183: uint16(130), + 1184: uint16(129), + 1185: uint16(126), + 1186: uint16(450), + 1187: uint16(411), + 1188: uint16(118), + 1189: uint16(1204), + 1190: uint16(116), + 1191: uint16(10), + 1192: uint16(352), + 1193: uint16(265), + 1194: uint16(355), + 1195: uint16(132), + 1196: uint16(132), + 1197: uint16(132), + 1198: uint16(132), + 1199: uint16(131), + 1200: uint16(131), + 1201: uint16(130), + 1202: uint16(130), + 1203: uint16(130), + 1204: uint16(129), + 1205: uint16(126), + 1206: uint16(450), + 1207: uint16(576), + 1208: uint16(324), + 1209: uint16(306), + 1210: uint16(576), + 1211: uint16(306), + 1212: uint16(1250), + 1213: uint16(469), + 1214: uint16(158), + 1215: uint16(132), + 1216: uint16(132), + 1217: uint16(132), + 1218: uint16(132), + 1219: uint16(131), + 1220: uint16(131), + 1221: uint16(130), + 1222: uint16(130), + 1223: uint16(130), + 1224: uint16(129), + 1225: uint16(126), + 1226: uint16(450), + 1227: uint16(207), + 1228: uint16(1224), + 1229: uint16(1126), + 1230: uint16(65), + 1231: uint16(65), + 1232: uint16(470), + 1233: uint16(66), + 1234: uint16(66), + 1235: uint16(412), + 1236: uint16(447), + 1237: uint16(446), + 1238: uint16(882), + 1239: uint16(531), + 1240: uint16(335), + 1241: uint16(258), + 1242: uint16(257), + 1243: uint16(256), + 1244: uint16(1127), + 1245: uint16(1233), + 1246: uint16(1204), + 1247: uint16(1205), + 1248: uint16(1204), + 1249: uint16(327), + 1250: uint16(1235), + 1251: uint16(874), + 1252: uint16(159), + 1253: uint16(576), + 1254: uint16(16), + 1255: uint16(480), + 1256: uint16(1085), + 1257: uint16(1040), + 1258: uint16(1234), + 1259: uint16(1128), + 1260: uint16(136), + 1261: uint16(90), + 1262: uint16(1228), + 1263: uint16(1228), + 1264: uint16(1063), + 1265: uint16(1066), + 1266: uint16(1053), + 1267: uint16(1053), + 1268: uint16(133), + 1269: uint16(133), + 1270: uint16(134), + 1271: uint16(134), + 1272: uint16(134), + 1273: uint16(134), + 1274: uint16(1029), + 1275: uint16(576), + 1276: uint16(81), + 1277: uint16(81), + 1278: uint16(1028), + 1279: uint16(1040), + 1280: uint16(922), + 1281: uint16(576), + 1282: uint16(463), + 1283: uint16(1236), + 1284: uint16(576), + 1285: uint16(1236), + 1286: uint16(1224), + 1287: uint16(502), + 1288: uint16(107), + 1289: uint16(1435), + 1290: uint16(923), + 1291: uint16(6), + 1292: uint16(576), + 1293: uint16(410), + 1294: uint16(1498), + 1295: uint16(882), + 1296: uint16(1029), + 1297: uint16(480), + 1298: uint16(21), + 1299: uint16(21), + 1300: uint16(1028), + 1301: uint16(332), + 1302: uint16(1380), + 1303: uint16(334), + 1304: uint16(53), + 1305: uint16(53), + 1306: uint16(497), + 1307: uint16(81), + 1308: uint16(81), + 1309: uint16(874), + 1310: uint16(1028), + 1311: uint16(1028), + 1312: uint16(1030), + 1313: uint16(445), + 1314: uint16(259), + 1315: uint16(19), + 1316: uint16(19), + 1317: uint16(533), + 1318: uint16(132), + 1319: uint16(132), + 1320: uint16(132), + 1321: uint16(132), + 1322: uint16(131), + 1323: uint16(131), + 1324: uint16(130), + 1325: uint16(130), + 1326: uint16(130), + 1327: uint16(129), + 1328: uint16(126), + 1329: uint16(450), + 1330: uint16(551), + 1331: uint16(301), + 1332: uint16(1028), + 1333: uint16(1028), + 1334: uint16(1030), + 1335: uint16(107), + 1336: uint16(532), + 1337: uint16(545), + 1338: uint16(121), + 1339: uint16(568), + 1340: uint16(1188), 1341: uint16(4), - 1342: uint16(238), - 1343: uint16(433), - 1344: uint16(935), - 1345: uint16(490), - 1346: uint16(285), - 1347: uint16(228), - 1348: uint16(1517), - 1349: uint16(934), - 1350: uint16(170), - 1351: uint16(560), - 1352: uint16(572), - 1353: uint16(142), - 1354: uint16(1516), - 1355: uint16(567), - 1356: uint16(572), - 1357: uint16(60), - 1358: uint16(60), - 1359: uint16(572), - 1360: uint16(416), - 1361: uint16(572), - 1362: uint16(441), - 1363: uint16(572), - 1364: uint16(535), - 1365: uint16(302), - 1366: uint16(875), - 1367: uint16(8), - 1368: uint16(487), - 1369: uint16(572), - 1370: uint16(237), - 1371: uint16(572), - 1372: uint16(416), - 1373: uint16(572), - 1374: uint16(485), - 1375: uint16(61), - 1376: uint16(61), - 1377: uint16(572), - 1378: uint16(449), - 1379: uint16(62), - 1380: uint16(62), - 1381: uint16(332), - 1382: uint16(63), - 1383: uint16(63), - 1384: uint16(46), - 1385: uint16(46), - 1386: uint16(47), - 1387: uint16(47), - 1388: uint16(361), - 1389: uint16(572), - 1390: uint16(561), - 1391: uint16(572), - 1392: uint16(48), - 1393: uint16(48), - 1394: uint16(50), - 1395: uint16(50), - 1396: uint16(51), - 1397: uint16(51), - 1398: uint16(572), - 1399: uint16(295), - 1400: uint16(64), - 1401: uint16(64), - 1402: uint16(482), - 1403: uint16(295), - 1404: uint16(539), - 1405: uint16(412), - 1406: uint16(471), - 1407: uint16(1031), - 1408: uint16(572), - 1409: uint16(538), - 1410: uint16(318), - 1411: uint16(563), - 1412: uint16(65), - 1413: uint16(65), - 1414: uint16(66), - 1415: uint16(66), - 1416: uint16(409), - 1417: uint16(475), - 1418: uint16(572), - 1419: uint16(1031), - 1420: uint16(572), - 1421: uint16(14), - 1422: uint16(14), - 1423: uint16(875), - 1424: uint16(1020), - 1425: uint16(110), - 1426: uint16(110), - 1427: uint16(409), - 1428: uint16(1019), - 1429: uint16(572), - 1430: uint16(474), - 1431: uint16(67), - 1432: uint16(67), - 1433: uint16(111), - 1434: uint16(455), - 1435: uint16(449), - 1436: uint16(573), - 1437: uint16(449), - 1438: uint16(98), - 1439: uint16(317), - 1440: uint16(1019), - 1441: uint16(132), - 1442: uint16(132), - 1443: uint16(133), - 1444: uint16(133), - 1445: uint16(572), - 1446: uint16(1561), - 1447: uint16(572), - 1448: uint16(974), - 1449: uint16(409), - 1450: uint16(6), - 1451: uint16(1562), - 1452: uint16(68), - 1453: uint16(68), - 1454: uint16(1560), - 1455: uint16(6), - 1456: uint16(975), - 1457: uint16(572), - 1458: uint16(6), - 1459: uint16(1559), - 1460: uint16(1019), - 1461: uint16(1019), - 1462: uint16(1021), - 1463: uint16(6), - 1464: uint16(346), - 1465: uint16(218), - 1466: uint16(101), - 1467: uint16(531), - 1468: uint16(53), - 1469: uint16(53), - 1470: uint16(69), - 1471: uint16(69), - 1472: uint16(1019), - 1473: uint16(1019), - 1474: uint16(1021), - 1475: uint16(1022), - 1476: uint16(28), - 1477: uint16(1586), - 1478: uint16(1181), - 1479: uint16(451), - 1480: uint16(70), - 1481: uint16(70), - 1482: uint16(290), - 1483: uint16(87), - 1484: uint16(215), - 1485: uint16(31), - 1486: uint16(1363), - 1487: uint16(394), - 1488: uint16(394), - 1489: uint16(393), - 1490: uint16(275), - 1491: uint16(391), - 1492: uint16(350), - 1493: uint16(109), - 1494: uint16(852), - 1495: uint16(107), - 1496: uint16(572), - 1497: uint16(112), - 1498: uint16(564), - 1499: uint16(483), - 1500: uint16(4), - 1501: uint16(1212), - 1502: uint16(572), - 1503: uint16(239), - 1504: uint16(153), - 1505: uint16(572), - 1506: uint16(39), - 1507: uint16(236), - 1508: uint16(1299), - 1509: uint16(325), - 1510: uint16(112), - 1511: uint16(564), - 1512: uint16(1298), - 1513: uint16(4), - 1514: uint16(567), - 1515: uint16(572), - 1516: uint16(32), - 1517: uint16(324), - 1518: uint16(572), - 1519: uint16(54), - 1520: uint16(54), - 1521: uint16(572), - 1522: uint16(1135), - 1523: uint16(353), - 1524: uint16(398), - 1525: uint16(165), - 1526: uint16(165), - 1527: uint16(567), - 1528: uint16(166), - 1529: uint16(166), - 1530: uint16(572), - 1531: uint16(291), - 1532: uint16(355), - 1533: uint16(572), - 1534: uint16(17), - 1535: uint16(357), - 1536: uint16(572), - 1537: uint16(449), - 1538: uint16(77), - 1539: uint16(77), - 1540: uint16(1313), - 1541: uint16(55), - 1542: uint16(55), - 1543: uint16(1297), - 1544: uint16(73), - 1545: uint16(73), - 1546: uint16(572), - 1547: uint16(238), - 1548: uint16(470), - 1549: uint16(561), - 1550: uint16(449), - 1551: uint16(472), - 1552: uint16(364), - 1553: uint16(135), - 1554: uint16(135), - 1555: uint16(170), - 1556: uint16(74), - 1557: uint16(74), - 1558: uint16(142), - 1559: uint16(163), - 1560: uint16(163), - 1561: uint16(374), - 1562: uint16(561), - 1563: uint16(539), - 1564: uint16(572), - 1565: uint16(321), - 1566: uint16(572), - 1567: uint16(886), - 1568: uint16(540), - 1569: uint16(137), - 1570: uint16(137), - 1571: uint16(339), - 1572: uint16(1353), - 1573: uint16(422), - 1574: uint16(298), - 1575: uint16(237), - 1576: uint16(539), - 1577: uint16(572), - 1578: uint16(1031), - 1579: uint16(572), - 1580: uint16(340), - 1581: uint16(538), - 1582: uint16(101), - 1583: uint16(369), - 1584: uint16(110), - 1585: uint16(110), - 1586: uint16(162), - 1587: uint16(131), - 1588: uint16(131), - 1589: uint16(164), - 1590: uint16(164), - 1591: uint16(1031), - 1592: uint16(111), - 1593: uint16(368), - 1594: uint16(449), - 1595: uint16(573), - 1596: uint16(449), + 1342: uint16(1126), + 1343: uint16(1576), + 1344: uint16(449), + 1345: uint16(576), + 1346: uint16(462), + 1347: uint16(7), + 1348: uint16(1282), + 1349: uint16(418), + 1350: uint16(462), + 1351: uint16(350), + 1352: uint16(1435), + 1353: uint16(576), + 1354: uint16(518), + 1355: uint16(571), + 1356: uint16(544), + 1357: uint16(1127), + 1358: uint16(121), + 1359: uint16(568), + 1360: uint16(442), + 1361: uint16(4), + 1362: uint16(1188), + 1363: uint16(464), + 1364: uint16(533), + 1365: uint16(1180), + 1366: uint16(1223), + 1367: uint16(9), + 1368: uint16(67), + 1369: uint16(67), + 1370: uint16(487), + 1371: uint16(576), + 1372: uint16(1128), + 1373: uint16(303), + 1374: uint16(410), + 1375: uint16(571), + 1376: uint16(54), + 1377: uint16(54), + 1378: uint16(451), + 1379: uint16(576), + 1380: uint16(123), + 1381: uint16(944), + 1382: uint16(576), + 1383: uint16(417), + 1384: uint16(576), + 1385: uint16(333), + 1386: uint16(943), + 1387: uint16(1379), + 1388: uint16(576), + 1389: uint16(236), + 1390: uint16(565), + 1391: uint16(576), + 1392: uint16(1574), + 1393: uint16(564), + 1394: uint16(68), + 1395: uint16(68), + 1396: uint16(7), + 1397: uint16(576), + 1398: uint16(451), + 1399: uint16(362), + 1400: uint16(419), + 1401: uint16(182), + 1402: uint16(69), + 1403: uint16(69), + 1404: uint16(541), + 1405: uint16(70), + 1406: uint16(70), + 1407: uint16(71), + 1408: uint16(71), + 1409: uint16(540), + 1410: uint16(565), + 1411: uint16(72), + 1412: uint16(72), + 1413: uint16(484), + 1414: uint16(55), + 1415: uint16(55), + 1416: uint16(473), + 1417: uint16(1180), + 1418: uint16(296), + 1419: uint16(1040), + 1420: uint16(56), + 1421: uint16(56), + 1422: uint16(296), + 1423: uint16(493), + 1424: uint16(541), + 1425: uint16(119), + 1426: uint16(119), + 1427: uint16(410), + 1428: uint16(1573), + 1429: uint16(542), + 1430: uint16(569), + 1431: uint16(418), + 1432: uint16(7), + 1433: uint16(120), + 1434: uint16(1244), + 1435: uint16(451), + 1436: uint16(577), + 1437: uint16(451), + 1438: uint16(465), + 1439: uint16(1040), + 1440: uint16(1028), + 1441: uint16(576), + 1442: uint16(1557), + 1443: uint16(552), + 1444: uint16(476), + 1445: uint16(119), + 1446: uint16(119), + 1447: uint16(527), + 1448: uint16(259), + 1449: uint16(121), + 1450: uint16(568), + 1451: uint16(240), + 1452: uint16(4), + 1453: uint16(120), + 1454: uint16(576), + 1455: uint16(451), + 1456: uint16(577), + 1457: uint16(451), + 1458: uint16(576), + 1459: uint16(477), + 1460: uint16(1028), + 1461: uint16(576), + 1462: uint16(156), + 1463: uint16(576), + 1464: uint16(57), + 1465: uint16(57), + 1466: uint16(571), + 1467: uint16(576), + 1468: uint16(286), + 1469: uint16(229), + 1470: uint16(410), + 1471: uint16(336), + 1472: uint16(1028), + 1473: uint16(1028), + 1474: uint16(1030), + 1475: uint16(1031), + 1476: uint16(35), + 1477: uint16(59), + 1478: uint16(59), + 1479: uint16(219), + 1480: uint16(983), + 1481: uint16(60), + 1482: uint16(60), + 1483: uint16(220), + 1484: uint16(73), + 1485: uint16(73), + 1486: uint16(74), + 1487: uint16(74), + 1488: uint16(984), + 1489: uint16(451), + 1490: uint16(75), + 1491: uint16(75), + 1492: uint16(1028), + 1493: uint16(1028), + 1494: uint16(1030), + 1495: uint16(1031), + 1496: uint16(35), + 1497: uint16(96), + 1498: uint16(216), + 1499: uint16(291), + 1500: uint16(552), + 1501: uint16(565), + 1502: uint16(1188), + 1503: uint16(318), + 1504: uint16(395), + 1505: uint16(395), + 1506: uint16(394), + 1507: uint16(276), + 1508: uint16(392), + 1509: uint16(576), + 1510: uint16(485), + 1511: uint16(859), + 1512: uint16(474), + 1513: uint16(1311), + 1514: uint16(410), + 1515: uint16(541), + 1516: uint16(576), + 1517: uint16(417), + 1518: uint16(1530), + 1519: uint16(1144), + 1520: uint16(540), + 1521: uint16(399), + 1522: uint16(1188), + 1523: uint16(292), + 1524: uint16(237), + 1525: uint16(1153), + 1526: uint16(326), + 1527: uint16(38), + 1528: uint16(23), + 1529: uint16(576), + 1530: uint16(1040), + 1531: uint16(576), + 1532: uint16(20), + 1533: uint16(20), + 1534: uint16(325), + 1535: uint16(299), + 1536: uint16(119), + 1537: uint16(119), + 1538: uint16(164), + 1539: uint16(76), + 1540: uint16(76), + 1541: uint16(1529), + 1542: uint16(121), + 1543: uint16(568), + 1544: uint16(120), + 1545: uint16(4), + 1546: uint16(451), + 1547: uint16(577), + 1548: uint16(451), + 1549: uint16(203), + 1550: uint16(576), + 1551: uint16(1028), + 1552: uint16(141), + 1553: uint16(141), + 1554: uint16(142), + 1555: uint16(142), + 1556: uint16(576), + 1557: uint16(322), + 1558: uint16(39), + 1559: uint16(571), + 1560: uint16(341), + 1561: uint16(1021), + 1562: uint16(110), + 1563: uint16(264), + 1564: uint16(239), + 1565: uint16(901), + 1566: uint16(900), + 1567: uint16(423), + 1568: uint16(242), + 1569: uint16(908), + 1570: uint16(909), + 1571: uint16(370), + 1572: uint16(173), + 1573: uint16(77), + 1574: uint16(77), + 1575: uint16(43), + 1576: uint16(479), + 1577: uint16(1310), + 1578: uint16(264), + 1579: uint16(62), + 1580: uint16(62), + 1581: uint16(369), + 1582: uint16(451), + 1583: uint16(1028), + 1584: uint16(1028), + 1585: uint16(1030), + 1586: uint16(1031), + 1587: uint16(35), + 1588: uint16(1601), + 1589: uint16(1192), + 1590: uint16(453), + 1591: uint16(1092), + 1592: uint16(238), + 1593: uint16(291), + 1594: uint16(565), + 1595: uint16(163), + 1596: uint16(1309), 1597: uint16(110), - 1598: uint16(110), - 1599: uint16(1019), - 1600: uint16(157), - 1601: uint16(157), - 1602: uint16(141), - 1603: uint16(141), - 1604: uint16(572), - 1605: uint16(111), - 1606: uint16(572), - 1607: uint16(449), - 1608: uint16(573), - 1609: uint16(449), - 1610: uint16(412), - 1611: uint16(288), - 1612: uint16(1019), - 1613: uint16(572), - 1614: uint16(882), - 1615: uint16(318), - 1616: uint16(563), - 1617: uint16(572), - 1618: uint16(219), - 1619: uint16(572), - 1620: uint16(241), - 1621: uint16(1012), - 1622: uint16(477), - 1623: uint16(263), - 1624: uint16(263), - 1625: uint16(894), - 1626: uint16(893), - 1627: uint16(140), - 1628: uint16(140), - 1629: uint16(138), - 1630: uint16(138), - 1631: uint16(1019), - 1632: uint16(1019), - 1633: uint16(1021), - 1634: uint16(1022), - 1635: uint16(28), - 1636: uint16(139), - 1637: uint16(139), - 1638: uint16(525), - 1639: uint16(455), - 1640: uint16(76), - 1641: uint16(76), - 1642: uint16(78), - 1643: uint16(78), - 1644: uint16(1019), - 1645: uint16(1019), - 1646: uint16(1021), - 1647: uint16(1022), - 1648: uint16(28), - 1649: uint16(1181), - 1650: uint16(451), - 1651: uint16(572), - 1652: uint16(1083), - 1653: uint16(290), - 1654: uint16(112), - 1655: uint16(564), - 1656: uint16(1575), - 1657: uint16(4), - 1658: uint16(394), - 1659: uint16(394), - 1660: uint16(393), - 1661: uint16(275), - 1662: uint16(391), - 1663: uint16(572), - 1664: uint16(1023), - 1665: uint16(852), - 1666: uint16(572), - 1667: uint16(479), - 1668: uint16(345), - 1669: uint16(263), - 1670: uint16(101), - 1671: uint16(567), - 1672: uint16(882), - 1673: uint16(1376), - 1674: uint16(75), - 1675: uint16(75), - 1676: uint16(1421), - 1677: uint16(501), - 1678: uint16(236), - 1679: uint16(260), - 1680: uint16(325), - 1681: uint16(112), - 1682: uint16(564), - 1683: uint16(359), - 1684: uint16(4), - 1685: uint16(101), - 1686: uint16(43), - 1687: uint16(43), - 1688: uint16(324), - 1689: uint16(49), - 1690: uint16(49), - 1691: uint16(901), - 1692: uint16(902), - 1693: uint16(161), - 1694: uint16(449), - 1695: uint16(101), - 1696: uint16(977), - 1697: uint16(978), - 1698: uint16(567), - 1699: uint16(1079), - 1700: uint16(1349), - 1701: uint16(260), - 1702: uint16(965), - 1703: uint16(932), - 1704: uint16(263), - 1705: uint16(114), - 1706: uint16(561), - 1707: uint16(1095), - 1708: uint16(517), - 1709: uint16(1095), - 1710: uint16(1083), - 1711: uint16(1094), - 1712: uint16(865), - 1713: uint16(1094), - 1714: uint16(151), - 1715: uint16(933), - 1716: uint16(1144), - 1717: uint16(114), - 1718: uint16(238), - 1719: uint16(1361), - 1720: uint16(558), - 1721: uint16(449), - 1722: uint16(1023), - 1723: uint16(559), - 1724: uint16(1426), - 1725: uint16(1278), - 1726: uint16(170), - 1727: uint16(1269), - 1728: uint16(1257), - 1729: uint16(142), - 1730: uint16(1601), - 1731: uint16(1256), - 1732: uint16(1258), - 1733: uint16(561), - 1734: uint16(1594), - 1735: uint16(1031), - 1736: uint16(496), - 1737: uint16(278), - 1738: uint16(213), - 1739: uint16(1346), - 1740: uint16(310), - 1741: uint16(110), - 1742: uint16(110), - 1743: uint16(939), - 1744: uint16(311), - 1745: uint16(312), - 1746: uint16(237), - 1747: uint16(11), - 1748: uint16(234), - 1749: uint16(111), - 1750: uint16(221), - 1751: uint16(449), - 1752: uint16(573), - 1753: uint16(449), - 1754: uint16(293), - 1755: uint16(395), - 1756: uint16(1019), - 1757: uint16(1408), - 1758: uint16(337), - 1759: uint16(1403), - 1760: uint16(1396), - 1761: uint16(338), - 1762: uint16(1031), - 1763: uint16(299), - 1764: uint16(343), - 1765: uint16(1413), - 1766: uint16(1412), - 1767: uint16(481), - 1768: uint16(110), - 1769: uint16(110), - 1770: uint16(506), - 1771: uint16(402), - 1772: uint16(225), - 1773: uint16(1296), - 1774: uint16(206), - 1775: uint16(367), - 1776: uint16(111), - 1777: uint16(1358), - 1778: uint16(449), - 1779: uint16(573), - 1780: uint16(449), - 1781: uint16(412), - 1782: uint16(1359), - 1783: uint16(1019), - 1784: uint16(1489), - 1785: uint16(1488), - 1786: uint16(318), - 1787: uint16(563), - 1788: uint16(1019), - 1789: uint16(1019), - 1790: uint16(1021), - 1791: uint16(1022), - 1792: uint16(28), - 1793: uint16(562), - 1794: uint16(207), - 1795: uint16(220), - 1796: uint16(80), - 1797: uint16(564), - 1798: uint16(389), - 1799: uint16(4), - 1800: uint16(1597), - 1801: uint16(1357), - 1802: uint16(552), - 1803: uint16(1356), - 1804: uint16(1233), - 1805: uint16(181), - 1806: uint16(267), - 1807: uint16(232), - 1808: uint16(1536), - 1809: uint16(1534), - 1810: uint16(455), - 1811: uint16(1230), - 1812: uint16(420), - 1813: uint16(567), - 1814: uint16(82), - 1815: uint16(1019), - 1816: uint16(1019), - 1817: uint16(1021), - 1818: uint16(1022), - 1819: uint16(28), - 1820: uint16(86), - 1821: uint16(217), - 1822: uint16(85), - 1823: uint16(1494), - 1824: uint16(190), - 1825: uint16(175), - 1826: uint16(183), - 1827: uint16(465), - 1828: uint16(185), - 1829: uint16(466), - 1830: uint16(36), - 1831: uint16(1409), - 1832: uint16(186), - 1833: uint16(187), - 1834: uint16(188), - 1835: uint16(499), - 1836: uint16(449), - 1837: uint16(244), - 1838: uint16(37), - 1839: uint16(99), - 1840: uint16(400), - 1841: uint16(1415), - 1842: uint16(1414), - 1843: uint16(488), - 1844: uint16(1417), - 1845: uint16(194), - 1846: uint16(473), - 1847: uint16(403), - 1848: uint16(561), - 1849: uint16(1483), - 1850: uint16(248), - 1851: uint16(92), - 1852: uint16(1505), - 1853: uint16(494), - 1854: uint16(198), - 1855: uint16(279), - 1856: uint16(112), - 1857: uint16(564), - 1858: uint16(250), - 1859: uint16(4), - 1860: uint16(348), - 1861: uint16(497), - 1862: uint16(405), - 1863: uint16(352), - 1864: uint16(1259), - 1865: uint16(251), - 1866: uint16(252), - 1867: uint16(515), - 1868: uint16(1316), - 1869: uint16(434), - 1870: uint16(1315), - 1871: uint16(1314), - 1872: uint16(94), - 1873: uint16(567), - 1874: uint16(1307), - 1875: uint16(886), - 1876: uint16(1306), - 1877: uint16(1031), - 1878: uint16(226), - 1879: uint16(406), - 1880: uint16(1611), - 1881: uint16(1610), - 1882: uint16(438), - 1883: uint16(110), - 1884: uint16(110), - 1885: uint16(1580), - 1886: uint16(1286), - 1887: uint16(524), - 1888: uint16(439), - 1889: uint16(308), - 1890: uint16(266), - 1891: uint16(111), - 1892: uint16(1285), - 1893: uint16(449), - 1894: uint16(573), - 1895: uint16(449), - 1896: uint16(449), - 1897: uint16(309), - 1898: uint16(1019), - 1899: uint16(366), - 1900: uint16(1284), - 1901: uint16(1609), - 1902: uint16(265), - 1903: uint16(1566), - 1904: uint16(1565), - 1905: uint16(442), - 1906: uint16(372), - 1907: uint16(1381), - 1908: uint16(561), - 1909: uint16(129), - 1910: uint16(550), - 1911: uint16(1380), - 1912: uint16(10), - 1913: uint16(1470), - 1914: uint16(383), - 1915: uint16(106), - 1916: uint16(316), - 1917: uint16(551), - 1918: uint16(100), - 1919: uint16(35), - 1920: uint16(534), - 1921: uint16(575), - 1922: uint16(212), - 1923: uint16(1339), - 1924: uint16(381), - 1925: uint16(387), - 1926: uint16(1187), - 1927: uint16(1338), - 1928: uint16(274), - 1929: uint16(276), - 1930: uint16(1019), - 1931: uint16(1019), - 1932: uint16(1021), - 1933: uint16(1022), - 1934: uint16(28), - 1935: uint16(277), - 1936: uint16(413), - 1937: uint16(1031), - 1938: uint16(576), - 1939: uint16(1254), - 1940: uint16(388), - 1941: uint16(1521), - 1942: uint16(1249), - 1943: uint16(110), - 1944: uint16(110), - 1945: uint16(167), - 1946: uint16(1522), - 1947: uint16(168), - 1948: uint16(148), - 1949: uint16(1520), - 1950: uint16(1519), - 1951: uint16(111), - 1952: uint16(306), - 1953: uint16(449), - 1954: uint16(573), - 1955: uint16(449), - 1956: uint16(222), - 1957: uint16(223), - 1958: uint16(1019), - 1959: uint16(839), - 1960: uint16(169), - 1961: uint16(79), - 1962: uint16(450), - 1963: uint16(214), - 1964: uint16(414), - 1965: uint16(233), - 1966: uint16(320), - 1967: uint16(145), - 1968: uint16(1093), - 1969: uint16(1091), - 1970: uint16(328), - 1971: uint16(182), - 1972: uint16(171), - 1973: uint16(1212), - 1974: uint16(918), - 1975: uint16(184), - 1976: uint16(240), - 1977: uint16(336), - 1978: uint16(243), - 1979: uint16(1107), - 1980: uint16(189), - 1981: uint16(172), - 1982: uint16(173), - 1983: uint16(423), - 1984: uint16(425), - 1985: uint16(88), - 1986: uint16(180), - 1987: uint16(191), - 1988: uint16(89), - 1989: uint16(90), - 1990: uint16(1019), - 1991: uint16(1019), - 1992: uint16(1021), - 1993: uint16(1022), - 1994: uint16(28), - 1995: uint16(91), - 1996: uint16(174), - 1997: uint16(1110), - 1998: uint16(245), - 1999: uint16(1106), - 2000: uint16(246), - 2001: uint16(159), - 2002: uint16(18), - 2003: uint16(247), - 2004: uint16(347), - 2005: uint16(1099), - 2006: uint16(263), - 2007: uint16(195), - 2008: uint16(1227), - 2009: uint16(493), - 2010: uint16(249), - 2011: uint16(196), - 2012: uint16(38), - 2013: uint16(854), - 2014: uint16(498), - 2015: uint16(368), - 2016: uint16(253), - 2017: uint16(360), - 2018: uint16(897), - 2019: uint16(197), - 2020: uint16(502), - 2021: uint16(93), - 2022: uint16(19), - 2023: uint16(20), - 2024: uint16(507), - 2025: uint16(884), - 2026: uint16(363), - 2027: uint16(510), - 2028: uint16(95), - 2029: uint16(307), - 2030: uint16(160), - 2031: uint16(96), - 2032: uint16(518), - 2033: uint16(97), - 2034: uint16(1175), - 2035: uint16(1060), - 2036: uint16(1146), - 2037: uint16(40), - 2038: uint16(21), - 2039: uint16(227), - 2040: uint16(176), - 2041: uint16(1145), - 2042: uint16(282), - 2043: uint16(284), - 2044: uint16(969), - 2045: uint16(200), - 2046: uint16(963), - 2047: uint16(114), - 2048: uint16(262), - 2049: uint16(1165), - 2050: uint16(22), - 2051: uint16(23), - 2052: uint16(24), - 2053: uint16(1161), - 2054: uint16(1169), - 2055: uint16(25), - 2056: uint16(1163), - 2057: uint16(1150), - 2058: uint16(34), - 2059: uint16(26), - 2060: uint16(1168), - 2061: uint16(546), - 2062: uint16(27), - 2063: uint16(204), - 2064: uint16(101), - 2065: uint16(103), - 2066: uint16(104), - 2067: uint16(1074), - 2068: uint16(7), - 2069: uint16(1061), - 2070: uint16(1059), - 2071: uint16(1063), - 2072: uint16(1116), - 2073: uint16(1064), - 2074: uint16(1115), - 2075: uint16(268), - 2076: uint16(269), - 2077: uint16(29), - 2078: uint16(41), - 2079: uint16(270), - 2080: uint16(1024), - 2081: uint16(866), - 2082: uint16(113), - 2083: uint16(30), - 2084: uint16(568), - 2085: uint16(392), - 2086: uint16(1183), - 2087: uint16(144), - 2088: uint16(178), - 2089: uint16(1182), - 2090: uint16(271), - 2091: uint16(928), - 2092: uint16(1245), - 2093: uint16(1245), - 2094: uint16(1245), - 2095: uint16(1245), - 2096: uint16(1245), - 2097: uint16(1245), - 2098: uint16(1245), - 2099: uint16(1602), -} -var _yy_lookahead = [2285]uint16{ - 0: uint16(193), - 1: uint16(193), - 2: uint16(193), - 3: uint16(274), - 4: uint16(275), - 5: uint16(276), - 6: uint16(193), - 7: uint16(274), - 8: uint16(275), - 9: uint16(276), - 10: uint16(193), - 11: uint16(223), - 12: uint16(219), - 13: uint16(225), - 14: uint16(206), - 15: uint16(210), - 16: uint16(211), - 17: uint16(212), - 18: uint16(193), + 1598: uint16(395), + 1599: uint16(395), + 1600: uint16(394), + 1601: uint16(276), + 1602: uint16(392), + 1603: uint16(986), + 1604: uint16(987), + 1605: uint16(859), + 1606: uint16(481), + 1607: uint16(346), + 1608: uint16(264), + 1609: uint16(110), + 1610: uint16(1032), + 1611: uint16(489), + 1612: uint16(576), + 1613: uint16(1188), + 1614: uint16(503), + 1615: uint16(1088), + 1616: uint16(261), + 1617: uint16(261), + 1618: uint16(237), + 1619: uint16(576), + 1620: uint16(326), + 1621: uint16(121), + 1622: uint16(568), + 1623: uint16(1040), + 1624: uint16(4), + 1625: uint16(347), + 1626: uint16(1376), + 1627: uint16(413), + 1628: uint16(325), + 1629: uint16(119), + 1630: uint16(119), + 1631: uint16(948), + 1632: uint16(319), + 1633: uint16(567), + 1634: uint16(351), + 1635: uint16(78), + 1636: uint16(78), + 1637: uint16(120), + 1638: uint16(571), + 1639: uint16(451), + 1640: uint16(577), + 1641: uint16(451), + 1642: uint16(79), + 1643: uint16(79), + 1644: uint16(1028), + 1645: uint16(354), + 1646: uint16(356), + 1647: uint16(576), + 1648: uint16(360), + 1649: uint16(1092), + 1650: uint16(110), + 1651: uint16(576), + 1652: uint16(974), + 1653: uint16(942), + 1654: uint16(264), + 1655: uint16(123), + 1656: uint16(457), + 1657: uint16(358), + 1658: uint16(239), + 1659: uint16(576), + 1660: uint16(519), + 1661: uint16(451), + 1662: uint16(939), + 1663: uint16(1104), + 1664: uint16(123), + 1665: uint16(1104), + 1666: uint16(173), + 1667: uint16(576), + 1668: uint16(1032), + 1669: uint16(43), + 1670: uint16(63), + 1671: uint16(63), + 1672: uint16(1324), + 1673: uint16(565), + 1674: uint16(168), + 1675: uint16(168), + 1676: uint16(1028), + 1677: uint16(1028), + 1678: uint16(1030), + 1679: uint16(1031), + 1680: uint16(35), + 1681: uint16(576), + 1682: uint16(169), + 1683: uint16(169), + 1684: uint16(1308), + 1685: uint16(872), + 1686: uint16(238), + 1687: uint16(157), + 1688: uint16(1589), + 1689: uint16(576), + 1690: uint16(86), + 1691: uint16(86), + 1692: uint16(365), + 1693: uint16(89), + 1694: uint16(568), + 1695: uint16(375), + 1696: uint16(4), + 1697: uint16(1103), + 1698: uint16(941), + 1699: uint16(1103), + 1700: uint16(123), + 1701: uint16(576), + 1702: uint16(1040), + 1703: uint16(1389), + 1704: uint16(64), + 1705: uint16(64), + 1706: uint16(1188), + 1707: uint16(1434), + 1708: uint16(119), + 1709: uint16(119), + 1710: uint16(571), + 1711: uint16(576), + 1712: uint16(82), + 1713: uint16(82), + 1714: uint16(563), + 1715: uint16(576), + 1716: uint16(120), + 1717: uint16(165), + 1718: uint16(451), + 1719: uint16(577), + 1720: uint16(451), + 1721: uint16(413), + 1722: uint16(1362), + 1723: uint16(1028), + 1724: uint16(144), + 1725: uint16(144), + 1726: uint16(319), + 1727: uint16(567), + 1728: uint16(576), + 1729: uint16(1374), + 1730: uint16(562), + 1731: uint16(498), + 1732: uint16(279), + 1733: uint16(451), + 1734: uint16(83), + 1735: uint16(83), + 1736: uint16(1439), + 1737: uint16(576), + 1738: uint16(166), + 1739: uint16(166), + 1740: uint16(576), + 1741: uint16(1289), + 1742: uint16(554), + 1743: uint16(576), + 1744: uint16(1280), + 1745: uint16(565), + 1746: uint16(576), + 1747: uint16(12), + 1748: uint16(576), + 1749: uint16(1268), + 1750: uint16(457), + 1751: uint16(146), + 1752: uint16(146), + 1753: uint16(1267), + 1754: uint16(576), + 1755: uint16(1028), + 1756: uint16(1028), + 1757: uint16(1030), + 1758: uint16(1031), + 1759: uint16(35), + 1760: uint16(140), + 1761: uint16(140), + 1762: uint16(1269), + 1763: uint16(167), + 1764: uint16(167), + 1765: uint16(1609), + 1766: uint16(160), + 1767: uint16(160), + 1768: uint16(1359), + 1769: uint16(150), + 1770: uint16(150), + 1771: uint16(149), + 1772: uint16(149), + 1773: uint16(311), + 1774: uint16(1040), + 1775: uint16(576), + 1776: uint16(312), + 1777: uint16(147), + 1778: uint16(147), + 1779: uint16(313), + 1780: uint16(119), + 1781: uint16(119), + 1782: uint16(222), + 1783: uint16(235), + 1784: uint16(576), + 1785: uint16(1188), + 1786: uint16(396), + 1787: uint16(576), + 1788: uint16(120), + 1789: uint16(576), + 1790: uint16(451), + 1791: uint16(577), + 1792: uint16(451), + 1793: uint16(1192), + 1794: uint16(453), + 1795: uint16(1028), + 1796: uint16(508), + 1797: uint16(291), + 1798: uint16(148), + 1799: uint16(148), + 1800: uint16(1421), + 1801: uint16(1612), + 1802: uint16(395), + 1803: uint16(395), + 1804: uint16(394), + 1805: uint16(276), + 1806: uint16(392), + 1807: uint16(85), + 1808: uint16(85), + 1809: uint16(859), + 1810: uint16(87), + 1811: uint16(87), + 1812: uint16(84), + 1813: uint16(84), + 1814: uint16(553), + 1815: uint16(576), + 1816: uint16(294), + 1817: uint16(576), + 1818: uint16(1426), + 1819: uint16(338), + 1820: uint16(339), + 1821: uint16(1425), + 1822: uint16(237), + 1823: uint16(300), + 1824: uint16(326), + 1825: uint16(1416), + 1826: uint16(1409), + 1827: uint16(1028), + 1828: uint16(1028), + 1829: uint16(1030), + 1830: uint16(1031), + 1831: uint16(35), + 1832: uint16(325), + 1833: uint16(344), + 1834: uint16(403), + 1835: uint16(483), + 1836: uint16(226), + 1837: uint16(1307), + 1838: uint16(52), + 1839: uint16(52), + 1840: uint16(58), + 1841: uint16(58), + 1842: uint16(368), + 1843: uint16(1371), + 1844: uint16(1502), + 1845: uint16(566), + 1846: uint16(1501), + 1847: uint16(121), + 1848: uint16(568), + 1849: uint16(221), + 1850: uint16(4), + 1851: uint16(208), + 1852: uint16(268), + 1853: uint16(209), + 1854: uint16(390), + 1855: uint16(1244), + 1856: uint16(1549), + 1857: uint16(1188), + 1858: uint16(1372), + 1859: uint16(1370), + 1860: uint16(1369), + 1861: uint16(1547), + 1862: uint16(239), + 1863: uint16(184), + 1864: uint16(571), + 1865: uint16(233), + 1866: uint16(421), + 1867: uint16(1241), + 1868: uint16(95), + 1869: uint16(218), + 1870: uint16(173), + 1871: uint16(1507), + 1872: uint16(193), + 1873: uint16(43), + 1874: uint16(91), + 1875: uint16(94), + 1876: uint16(178), + 1877: uint16(186), + 1878: uint16(467), + 1879: uint16(188), + 1880: uint16(468), + 1881: uint16(1422), + 1882: uint16(13), + 1883: uint16(189), + 1884: uint16(190), + 1885: uint16(191), + 1886: uint16(501), + 1887: uint16(451), + 1888: uint16(245), + 1889: uint16(108), + 1890: uint16(238), + 1891: uint16(401), + 1892: uint16(1428), + 1893: uint16(1427), + 1894: uint16(1430), + 1895: uint16(475), + 1896: uint16(404), + 1897: uint16(1496), + 1898: uint16(197), + 1899: uint16(565), + 1900: uint16(14), + 1901: uint16(490), + 1902: uint16(249), + 1903: uint16(101), + 1904: uint16(1518), + 1905: uint16(496), + 1906: uint16(349), + 1907: uint16(280), + 1908: uint16(251), + 1909: uint16(201), + 1910: uint16(353), + 1911: uint16(499), + 1912: uint16(252), + 1913: uint16(406), + 1914: uint16(1270), + 1915: uint16(253), + 1916: uint16(517), + 1917: uint16(1327), + 1918: uint16(1326), + 1919: uint16(435), + 1920: uint16(1325), + 1921: uint16(1318), + 1922: uint16(103), + 1923: uint16(893), + 1924: uint16(1296), + 1925: uint16(413), + 1926: uint16(227), + 1927: uint16(407), + 1928: uint16(1040), + 1929: uint16(1626), + 1930: uint16(319), + 1931: uint16(567), + 1932: uint16(1625), + 1933: uint16(1297), + 1934: uint16(119), + 1935: uint16(119), + 1936: uint16(439), + 1937: uint16(367), + 1938: uint16(1317), + 1939: uint16(1295), + 1940: uint16(1624), + 1941: uint16(526), + 1942: uint16(120), + 1943: uint16(440), + 1944: uint16(451), + 1945: uint16(577), + 1946: uint16(451), + 1947: uint16(1594), + 1948: uint16(309), + 1949: uint16(1028), + 1950: uint16(310), + 1951: uint16(373), + 1952: uint16(266), + 1953: uint16(267), + 1954: uint16(457), + 1955: uint16(1580), + 1956: uint16(1579), + 1957: uint16(443), + 1958: uint16(138), + 1959: uint16(1394), + 1960: uint16(552), + 1961: uint16(1393), + 1962: uint16(11), + 1963: uint16(1483), + 1964: uint16(384), + 1965: uint16(115), + 1966: uint16(317), + 1967: uint16(1350), + 1968: uint16(109), + 1969: uint16(536), + 1970: uint16(42), + 1971: uint16(579), + 1972: uint16(382), + 1973: uint16(214), + 1974: uint16(1349), + 1975: uint16(388), + 1976: uint16(1198), + 1977: uint16(389), + 1978: uint16(275), + 1979: uint16(277), + 1980: uint16(278), + 1981: uint16(1028), + 1982: uint16(1028), + 1983: uint16(1030), + 1984: uint16(1031), + 1985: uint16(35), + 1986: uint16(580), + 1987: uint16(1265), + 1988: uint16(414), + 1989: uint16(1260), + 1990: uint16(170), + 1991: uint16(415), + 1992: uint16(183), + 1993: uint16(1534), + 1994: uint16(1535), + 1995: uint16(1533), + 1996: uint16(171), + 1997: uint16(154), + 1998: uint16(307), + 1999: uint16(1532), + 2000: uint16(846), + 2001: uint16(223), + 2002: uint16(224), + 2003: uint16(88), + 2004: uint16(452), + 2005: uint16(215), + 2006: uint16(172), + 2007: uint16(321), + 2008: uint16(234), + 2009: uint16(1102), + 2010: uint16(152), + 2011: uint16(1188), + 2012: uint16(1100), + 2013: uint16(329), + 2014: uint16(185), + 2015: uint16(174), + 2016: uint16(1223), + 2017: uint16(925), + 2018: uint16(187), + 2019: uint16(241), + 2020: uint16(337), + 2021: uint16(244), + 2022: uint16(1116), + 2023: uint16(192), + 2024: uint16(175), + 2025: uint16(176), + 2026: uint16(424), + 2027: uint16(426), + 2028: uint16(97), + 2029: uint16(194), + 2030: uint16(98), + 2031: uint16(99), + 2032: uint16(100), + 2033: uint16(177), + 2034: uint16(1119), + 2035: uint16(1115), + 2036: uint16(246), + 2037: uint16(247), + 2038: uint16(161), + 2039: uint16(24), + 2040: uint16(248), + 2041: uint16(348), + 2042: uint16(1238), + 2043: uint16(264), + 2044: uint16(1108), + 2045: uint16(250), + 2046: uint16(495), + 2047: uint16(199), + 2048: uint16(198), + 2049: uint16(15), + 2050: uint16(861), + 2051: uint16(500), + 2052: uint16(369), + 2053: uint16(254), + 2054: uint16(504), + 2055: uint16(509), + 2056: uint16(512), + 2057: uint16(200), + 2058: uint16(102), + 2059: uint16(25), + 2060: uint16(179), + 2061: uint16(361), + 2062: uint16(26), + 2063: uint16(364), + 2064: uint16(104), + 2065: uint16(891), + 2066: uint16(308), + 2067: uint16(162), + 2068: uint16(105), + 2069: uint16(904), + 2070: uint16(520), + 2071: uint16(106), + 2072: uint16(1185), + 2073: uint16(1069), + 2074: uint16(1155), + 2075: uint16(17), + 2076: uint16(228), + 2077: uint16(27), + 2078: uint16(1154), + 2079: uint16(283), + 2080: uint16(285), + 2081: uint16(263), + 2082: uint16(978), + 2083: uint16(202), + 2084: uint16(972), + 2085: uint16(123), + 2086: uint16(28), + 2087: uint16(1175), + 2088: uint16(29), + 2089: uint16(30), + 2090: uint16(1179), + 2091: uint16(1171), + 2092: uint16(31), + 2093: uint16(1173), + 2094: uint16(1160), + 2095: uint16(41), + 2096: uint16(32), + 2097: uint16(206), + 2098: uint16(548), + 2099: uint16(33), + 2100: uint16(110), + 2101: uint16(1178), + 2102: uint16(1083), + 2103: uint16(8), + 2104: uint16(112), + 2105: uint16(1070), + 2106: uint16(113), + 2107: uint16(1068), + 2108: uint16(1072), + 2109: uint16(34), + 2110: uint16(1073), + 2111: uint16(560), + 2112: uint16(1125), + 2113: uint16(269), + 2114: uint16(1124), + 2115: uint16(270), + 2116: uint16(36), + 2117: uint16(18), + 2118: uint16(1194), + 2119: uint16(1033), + 2120: uint16(873), + 2121: uint16(151), + 2122: uint16(122), + 2123: uint16(37), + 2124: uint16(393), + 2125: uint16(271), + 2126: uint16(272), + 2127: uint16(572), + 2128: uint16(181), + 2129: uint16(1193), + 2130: uint16(1256), + 2131: uint16(1256), + 2132: uint16(1256), + 2133: uint16(935), + 2134: uint16(1256), + 2135: uint16(1256), + 2136: uint16(1256), + 2137: uint16(1256), + 2138: uint16(1256), + 2139: uint16(1256), + 2140: uint16(1256), + 2141: uint16(1617), +} +var _yy_lookahead = [2328]uint16{ + 0: uint16(194), + 1: uint16(276), + 2: uint16(277), + 3: uint16(278), + 4: uint16(216), + 5: uint16(194), + 6: uint16(194), + 7: uint16(217), + 8: uint16(194), + 9: uint16(194), + 10: uint16(194), + 11: uint16(194), + 12: uint16(224), + 13: uint16(194), + 14: uint16(194), + 15: uint16(276), + 16: uint16(277), + 17: uint16(278), + 18: uint16(204), 19: uint16(19), - 20: uint16(219), - 21: uint16(233), - 22: uint16(216), - 23: uint16(216), - 24: uint16(217), - 25: uint16(216), - 26: uint16(217), - 27: uint16(193), - 28: uint16(295), - 29: uint16(216), - 30: uint16(217), + 20: uint16(206), + 21: uint16(202), + 22: uint16(297), + 23: uint16(217), + 24: uint16(218), + 25: uint16(205), + 26: uint16(207), + 27: uint16(217), + 28: uint16(205), + 29: uint16(217), + 30: uint16(218), 31: uint16(31), - 32: uint16(193), - 33: uint16(216), + 32: uint16(217), + 33: uint16(218), 34: uint16(217), - 35: uint16(193), - 36: uint16(228), - 37: uint16(213), - 38: uint16(230), + 35: uint16(218), + 36: uint16(29), + 37: uint16(217), + 38: uint16(218), 39: uint16(39), - 40: uint16(206), - 41: uint16(216), - 42: uint16(217), + 40: uint16(33), + 41: uint16(217), + 42: uint16(220), 43: uint16(43), 44: uint16(44), 45: uint16(45), @@ -154488,31 +155857,31 @@ var _yy_lookahead = [2285]uint16{ 55: uint16(55), 56: uint16(56), 57: uint16(57), - 58: uint16(193), + 58: uint16(312), 59: uint16(19), - 60: uint16(185), - 61: uint16(186), - 62: uint16(187), - 63: uint16(188), - 64: uint16(189), - 65: uint16(190), - 66: uint16(253), - 67: uint16(274), - 68: uint16(275), - 69: uint16(276), - 70: uint16(195), - 71: uint16(193), - 72: uint16(197), - 73: uint16(193), - 74: uint16(261), - 75: uint16(274), - 76: uint16(275), - 77: uint16(276), - 78: uint16(253), - 79: uint16(204), - 80: uint16(238), - 81: uint16(204), - 82: uint16(81), + 60: uint16(240), + 61: uint16(241), + 62: uint16(316), + 63: uint16(240), + 64: uint16(241), + 65: uint16(194), + 66: uint16(46), + 67: uint16(47), + 68: uint16(48), + 69: uint16(49), + 70: uint16(22), + 71: uint16(254), + 72: uint16(65), + 73: uint16(253), + 74: uint16(254), + 75: uint16(255), + 76: uint16(253), + 77: uint16(194), + 78: uint16(255), + 79: uint16(194), + 80: uint16(263), + 81: uint16(258), + 82: uint16(259), 83: uint16(43), 84: uint16(44), 85: uint16(45), @@ -154528,10 +155897,10 @@ var _yy_lookahead = [2285]uint16{ 95: uint16(55), 96: uint16(56), 97: uint16(57), - 98: uint16(274), - 99: uint16(275), - 100: uint16(276), - 101: uint16(262), + 98: uint16(276), + 99: uint16(277), + 100: uint16(278), + 101: uint16(285), 102: uint16(102), 103: uint16(103), 104: uint16(104), @@ -154544,34 +155913,34 @@ var _yy_lookahead = [2285]uint16{ 111: uint16(111), 112: uint16(112), 113: uint16(113), - 114: uint16(239), - 115: uint16(240), - 116: uint16(239), - 117: uint16(240), - 118: uint16(210), - 119: uint16(211), - 120: uint16(212), - 121: uint16(314), - 122: uint16(315), - 123: uint16(314), - 124: uint16(59), - 125: uint16(316), + 114: uint16(59), + 115: uint16(186), + 116: uint16(187), + 117: uint16(188), + 118: uint16(189), + 119: uint16(190), + 120: uint16(191), + 121: uint16(310), + 122: uint16(239), + 123: uint16(317), + 124: uint16(318), + 125: uint16(196), 126: uint16(86), - 127: uint16(252), + 127: uint16(198), 128: uint16(88), - 129: uint16(252), + 129: uint16(317), 130: uint16(19), - 131: uint16(314), - 132: uint16(315), - 133: uint16(256), - 134: uint16(257), - 135: uint16(113), + 131: uint16(319), + 132: uint16(317), + 133: uint16(318), + 134: uint16(205), + 135: uint16(264), 136: uint16(25), - 137: uint16(72), - 138: uint16(296), - 139: uint16(138), - 140: uint16(139), - 141: uint16(266), + 137: uint16(211), + 138: uint16(212), + 139: uint16(213), + 140: uint16(205), + 141: uint16(121), 142: uint16(102), 143: uint16(103), 144: uint16(104), @@ -154599,50 +155968,50 @@ var _yy_lookahead = [2285]uint16{ 166: uint16(55), 167: uint16(56), 168: uint16(57), - 169: uint16(81), - 170: uint16(292), - 171: uint16(59), - 172: uint16(292), - 173: uint16(298), - 174: uint16(108), - 175: uint16(109), - 176: uint16(110), - 177: uint16(111), - 178: uint16(112), - 179: uint16(113), + 169: uint16(240), + 170: uint16(241), + 171: uint16(116), + 172: uint16(117), + 173: uint16(118), + 174: uint16(119), + 175: uint16(240), + 176: uint16(241), + 177: uint16(122), + 178: uint16(123), + 179: uint16(124), 180: uint16(69), - 181: uint16(116), - 182: uint16(117), - 183: uint16(118), - 184: uint16(72), + 181: uint16(298), + 182: uint16(253), + 183: uint16(194), + 184: uint16(255), 185: uint16(106), 186: uint16(107), - 187: uint16(193), - 188: uint16(111), - 189: uint16(112), - 190: uint16(113), + 187: uint16(132), + 188: uint16(253), + 189: uint16(141), + 190: uint16(255), 191: uint16(54), 192: uint16(55), 193: uint16(56), 194: uint16(57), 195: uint16(58), - 196: uint16(102), - 197: uint16(103), - 198: uint16(104), - 199: uint16(105), - 200: uint16(106), - 201: uint16(107), - 202: uint16(108), - 203: uint16(109), - 204: uint16(110), - 205: uint16(111), - 206: uint16(112), - 207: uint16(113), - 208: uint16(120), - 209: uint16(25), - 210: uint16(216), - 211: uint16(217), - 212: uint16(145), + 196: uint16(207), + 197: uint16(268), + 198: uint16(102), + 199: uint16(103), + 200: uint16(104), + 201: uint16(105), + 202: uint16(106), + 203: uint16(107), + 204: uint16(108), + 205: uint16(109), + 206: uint16(110), + 207: uint16(111), + 208: uint16(112), + 209: uint16(113), + 210: uint16(214), + 211: uint16(128), + 212: uint16(129), 213: uint16(102), 214: uint16(103), 215: uint16(104), @@ -154655,13 +156024,13 @@ var _yy_lookahead = [2285]uint16{ 222: uint16(111), 223: uint16(112), 224: uint16(113), - 225: uint16(231), - 226: uint16(138), - 227: uint16(139), - 228: uint16(116), - 229: uint16(117), - 230: uint16(118), - 231: uint16(164), + 225: uint16(134), + 226: uint16(25), + 227: uint16(136), + 228: uint16(137), + 229: uint16(300), + 230: uint16(165), + 231: uint16(166), 232: uint16(153), 233: uint16(19), 234: uint16(155), @@ -154681,12 +156050,12 @@ var _yy_lookahead = [2285]uint16{ 248: uint16(111), 249: uint16(112), 250: uint16(113), - 251: uint16(128), - 252: uint16(129), - 253: uint16(46), - 254: uint16(47), - 255: uint16(48), - 256: uint16(49), + 251: uint16(108), + 252: uint16(109), + 253: uint16(110), + 254: uint16(111), + 255: uint16(112), + 256: uint16(113), 257: uint16(43), 258: uint16(44), 259: uint16(45), @@ -154702,15 +156071,15 @@ var _yy_lookahead = [2285]uint16{ 269: uint16(55), 270: uint16(56), 271: uint16(57), - 272: uint16(216), - 273: uint16(193), - 274: uint16(25), - 275: uint16(59), - 276: uint16(193), + 272: uint16(276), + 273: uint16(277), + 274: uint16(278), + 275: uint16(113), + 276: uint16(194), 277: uint16(19), - 278: uint16(165), - 279: uint16(166), - 280: uint16(193), + 278: uint16(22), + 279: uint16(23), + 280: uint16(194), 281: uint16(67), 282: uint16(24), 283: uint16(102), @@ -154725,12 +156094,12 @@ var _yy_lookahead = [2285]uint16{ 292: uint16(111), 293: uint16(112), 294: uint16(113), - 295: uint16(73), - 296: uint16(216), - 297: uint16(217), - 298: uint16(59), - 299: uint16(216), - 300: uint16(217), + 295: uint16(220), + 296: uint16(250), + 297: uint16(59), + 298: uint16(252), + 299: uint16(217), + 300: uint16(218), 301: uint16(43), 302: uint16(44), 303: uint16(45), @@ -154758,38 +156127,38 @@ var _yy_lookahead = [2285]uint16{ 325: uint16(111), 326: uint16(112), 327: uint16(113), - 328: uint16(121), - 329: uint16(145), - 330: uint16(59), - 331: uint16(193), - 332: uint16(116), - 333: uint16(117), - 334: uint16(118), - 335: uint16(119), - 336: uint16(273), - 337: uint16(204), - 338: uint16(122), - 339: uint16(123), - 340: uint16(124), + 328: uint16(106), + 329: uint16(107), + 330: uint16(108), + 331: uint16(109), + 332: uint16(110), + 333: uint16(111), + 334: uint16(112), + 335: uint16(113), + 336: uint16(254), + 337: uint16(59), + 338: uint16(205), + 339: uint16(138), + 340: uint16(139), 341: uint16(19), 342: uint16(20), - 343: uint16(134), + 343: uint16(194), 344: uint16(22), - 345: uint16(136), - 346: uint16(137), - 347: uint16(19), - 348: uint16(132), - 349: uint16(127), - 350: uint16(128), - 351: uint16(129), - 352: uint16(24), - 353: uint16(22), - 354: uint16(23), - 355: uint16(116), - 356: uint16(117), - 357: uint16(118), + 345: uint16(263), + 346: uint16(22), + 347: uint16(23), + 348: uint16(231), + 349: uint16(25), + 350: uint16(72), + 351: uint16(276), + 352: uint16(277), + 353: uint16(278), + 354: uint16(116), + 355: uint16(117), + 356: uint16(118), + 357: uint16(101), 358: uint16(36), - 359: uint16(193), + 359: uint16(76), 360: uint16(102), 361: uint16(103), 362: uint16(104), @@ -154802,37 +156171,37 @@ var _yy_lookahead = [2285]uint16{ 369: uint16(111), 370: uint16(112), 371: uint16(113), - 372: uint16(239), + 372: uint16(89), 373: uint16(240), - 374: uint16(311), - 375: uint16(312), - 376: uint16(215), - 377: uint16(106), - 378: uint16(107), - 379: uint16(241), + 374: uint16(241), + 375: uint16(92), + 376: uint16(73), + 377: uint16(194), + 378: uint16(194), + 379: uint16(73), 380: uint16(19), 381: uint16(59), - 382: uint16(216), - 383: uint16(217), - 384: uint16(223), - 385: uint16(252), - 386: uint16(115), - 387: uint16(116), - 388: uint16(117), - 389: uint16(118), - 390: uint16(151), - 391: uint16(120), - 392: uint16(26), + 382: uint16(188), + 383: uint16(189), + 384: uint16(190), + 385: uint16(191), + 386: uint16(253), + 387: uint16(81), + 388: uint16(255), + 389: uint16(151), + 390: uint16(196), + 391: uint16(25), + 392: uint16(198), 393: uint16(71), - 394: uint16(193), - 395: uint16(308), - 396: uint16(309), - 397: uint16(193), - 398: uint16(149), - 399: uint16(128), - 400: uint16(313), - 401: uint16(216), - 402: uint16(269), + 394: uint16(116), + 395: uint16(117), + 396: uint16(118), + 397: uint16(311), + 398: uint16(312), + 399: uint16(205), + 400: uint16(217), + 401: uint16(218), + 402: uint16(316), 403: uint16(81), 404: uint16(43), 405: uint16(44), @@ -154849,50 +156218,50 @@ var _yy_lookahead = [2285]uint16{ 416: uint16(55), 417: uint16(56), 418: uint16(57), - 419: uint16(253), - 420: uint16(216), - 421: uint16(217), + 419: uint16(270), + 420: uint16(22), + 421: uint16(23), 422: uint16(100), - 423: uint16(95), - 424: uint16(153), - 425: uint16(59), - 426: uint16(155), - 427: uint16(261), + 423: uint16(25), + 424: uint16(59), + 425: uint16(101), + 426: uint16(138), + 427: uint16(139), 428: uint16(106), 429: uint16(107), - 430: uint16(25), - 431: uint16(193), - 432: uint16(101), - 433: uint16(193), - 434: uint16(193), - 435: uint16(231), + 430: uint16(127), + 431: uint16(128), + 432: uint16(129), + 433: uint16(127), + 434: uint16(240), + 435: uint16(241), 436: uint16(114), - 437: uint16(25), + 437: uint16(254), 438: uint16(116), 439: uint16(117), 440: uint16(118), - 441: uint16(113), - 442: uint16(304), + 441: uint16(76), + 442: uint16(76), 443: uint16(121), - 444: uint16(193), - 445: uint16(204), - 446: uint16(59), - 447: uint16(119), - 448: uint16(120), - 449: uint16(121), - 450: uint16(122), - 451: uint16(123), - 452: uint16(124), - 453: uint16(125), - 454: uint16(216), - 455: uint16(217), - 456: uint16(193), - 457: uint16(216), - 458: uint16(217), - 459: uint16(131), + 444: uint16(138), + 445: uint16(139), + 446: uint16(263), + 447: uint16(253), + 448: uint16(264), + 449: uint16(255), + 450: uint16(205), + 451: uint16(275), + 452: uint16(87), + 453: uint16(19), + 454: uint16(89), + 455: uint16(89), + 456: uint16(194), + 457: uint16(92), + 458: uint16(92), + 459: uint16(199), 460: uint16(138), 461: uint16(139), - 462: uint16(230), + 462: uint16(268), 463: uint16(102), 464: uint16(103), 465: uint16(104), @@ -154910,37 +156279,37 @@ var _yy_lookahead = [2285]uint16{ 477: uint16(155), 478: uint16(156), 479: uint16(157), - 480: uint16(239), - 481: uint16(240), - 482: uint16(116), - 483: uint16(117), - 484: uint16(118), - 485: uint16(76), - 486: uint16(193), - 487: uint16(23), + 480: uint16(81), + 481: uint16(116), + 482: uint16(117), + 483: uint16(118), + 484: uint16(129), + 485: uint16(240), + 486: uint16(241), + 487: uint16(224), 488: uint16(19), - 489: uint16(25), - 490: uint16(22), - 491: uint16(253), + 489: uint16(226), + 490: uint16(314), + 491: uint16(315), 492: uint16(23), - 493: uint16(252), - 494: uint16(253), - 495: uint16(108), - 496: uint16(87), - 497: uint16(204), - 498: uint16(89), - 499: uint16(261), - 500: uint16(198), - 501: uint16(92), - 502: uint16(261), - 503: uint16(116), - 504: uint16(117), - 505: uint16(118), - 506: uint16(193), - 507: uint16(306), - 508: uint16(307), - 509: uint16(216), - 510: uint16(217), + 493: uint16(25), + 494: uint16(300), + 495: uint16(59), + 496: uint16(22), + 497: uint16(234), + 498: uint16(253), + 499: uint16(101), + 500: uint16(255), + 501: uint16(236), + 502: uint16(237), + 503: uint16(26), + 504: uint16(194), + 505: uint16(183), + 506: uint16(194), + 507: uint16(152), + 508: uint16(72), + 509: uint16(22), + 510: uint16(145), 511: uint16(150), 512: uint16(43), 513: uint16(44), @@ -154957,34 +156326,34 @@ var _yy_lookahead = [2285]uint16{ 524: uint16(55), 525: uint16(56), 526: uint16(57), - 527: uint16(59), - 528: uint16(193), - 529: uint16(216), - 530: uint16(217), + 527: uint16(217), + 528: uint16(218), + 529: uint16(217), + 530: uint16(218), 531: uint16(19), - 532: uint16(239), - 533: uint16(240), - 534: uint16(283), + 532: uint16(189), + 533: uint16(59), + 534: uint16(191), 535: uint16(23), - 536: uint16(106), - 537: uint16(107), - 538: uint16(108), - 539: uint16(109), - 540: uint16(110), - 541: uint16(111), - 542: uint16(112), - 543: uint16(113), - 544: uint16(73), - 545: uint16(252), - 546: uint16(253), - 547: uint16(142), - 548: uint16(308), - 549: uint16(309), - 550: uint16(138), - 551: uint16(139), - 552: uint16(81), - 553: uint16(313), - 554: uint16(145), + 536: uint16(59), + 537: uint16(138), + 538: uint16(139), + 539: uint16(196), + 540: uint16(135), + 541: uint16(198), + 542: uint16(232), + 543: uint16(283), + 544: uint16(232), + 545: uint16(140), + 546: uint16(59), + 547: uint16(287), + 548: uint16(205), + 549: uint16(275), + 550: uint16(116), + 551: uint16(205), + 552: uint16(116), + 553: uint16(117), + 554: uint16(118), 555: uint16(43), 556: uint16(44), 557: uint16(45), @@ -155000,7 +156369,7 @@ var _yy_lookahead = [2285]uint16{ 567: uint16(55), 568: uint16(56), 569: uint16(57), - 570: uint16(307), + 570: uint16(194), 571: uint16(102), 572: uint16(103), 573: uint16(104), @@ -155013,37 +156382,37 @@ var _yy_lookahead = [2285]uint16{ 580: uint16(111), 581: uint16(112), 582: uint16(113), - 583: uint16(281), - 584: uint16(116), - 585: uint16(117), - 586: uint16(118), - 587: uint16(285), - 588: uint16(23), - 589: uint16(193), - 590: uint16(25), - 591: uint16(119), - 592: uint16(59), - 593: uint16(193), - 594: uint16(122), - 595: uint16(123), - 596: uint16(124), - 597: uint16(59), - 598: uint16(127), - 599: uint16(203), + 583: uint16(240), + 584: uint16(241), + 585: uint16(194), + 586: uint16(240), + 587: uint16(241), + 588: uint16(314), + 589: uint16(315), + 590: uint16(116), + 591: uint16(117), + 592: uint16(118), + 593: uint16(116), + 594: uint16(117), + 595: uint16(118), + 596: uint16(253), + 597: uint16(194), + 598: uint16(255), + 599: uint16(253), 600: uint16(59), - 601: uint16(205), + 601: uint16(255), 602: uint16(19), - 603: uint16(268), - 604: uint16(132), - 605: uint16(25), + 603: uint16(116), + 604: uint16(117), + 605: uint16(118), 606: uint16(23), 607: uint16(22), - 608: uint16(193), - 609: uint16(138), - 610: uint16(139), - 611: uint16(249), - 612: uint16(204), - 613: uint16(251), + 608: uint16(217), + 609: uint16(218), + 610: uint16(142), + 611: uint16(268), + 612: uint16(205), + 613: uint16(275), 614: uint16(102), 615: uint16(103), 616: uint16(104), @@ -155072,29 +156441,29 @@ var _yy_lookahead = [2285]uint16{ 639: uint16(56), 640: uint16(57), 641: uint16(19), - 642: uint16(22), - 643: uint16(23), + 642: uint16(194), + 643: uint16(300), 644: uint16(59), 645: uint16(23), - 646: uint16(25), - 647: uint16(239), - 648: uint16(240), - 649: uint16(116), - 650: uint16(117), - 651: uint16(118), - 652: uint16(193), - 653: uint16(11), - 654: uint16(116), - 655: uint16(117), - 656: uint16(118), - 657: uint16(116), + 646: uint16(119), + 647: uint16(240), + 648: uint16(241), + 649: uint16(122), + 650: uint16(123), + 651: uint16(124), + 652: uint16(314), + 653: uint16(315), + 654: uint16(194), + 655: uint16(236), + 656: uint16(237), + 657: uint16(194), 658: uint16(117), - 659: uint16(118), - 660: uint16(252), - 661: uint16(269), - 662: uint16(22), - 663: uint16(193), - 664: uint16(15), + 659: uint16(132), + 660: uint16(253), + 661: uint16(81), + 662: uint16(255), + 663: uint16(205), + 664: uint16(59), 665: uint16(43), 666: uint16(44), 667: uint16(45), @@ -155110,11 +156479,11 @@ var _yy_lookahead = [2285]uint16{ 677: uint16(55), 678: uint16(56), 679: uint16(57), - 680: uint16(273), - 681: uint16(143), - 682: uint16(193), - 683: uint16(118), - 684: uint16(143), + 680: uint16(217), + 681: uint16(218), + 682: uint16(194), + 683: uint16(194), + 684: uint16(194), 685: uint16(102), 686: uint16(103), 687: uint16(104), @@ -155127,33 +156496,33 @@ var _yy_lookahead = [2285]uint16{ 694: uint16(111), 695: uint16(112), 696: uint16(113), - 697: uint16(76), - 698: uint16(118), - 699: uint16(59), - 700: uint16(241), + 697: uint16(294), + 698: uint16(240), + 699: uint16(241), + 700: uint16(120), 701: uint16(116), 702: uint16(117), 703: uint16(118), - 704: uint16(304), - 705: uint16(216), + 704: uint16(59), + 705: uint16(194), 706: uint16(217), - 707: uint16(292), - 708: uint16(143), - 709: uint16(60), - 710: uint16(89), - 711: uint16(241), + 707: uint16(218), + 708: uint16(211), + 709: uint16(212), + 710: uint16(213), + 711: uint16(253), 712: uint16(19), - 713: uint16(92), - 714: uint16(193), - 715: uint16(193), + 713: uint16(255), + 714: uint16(194), + 715: uint16(19), 716: uint16(23), - 717: uint16(22), - 718: uint16(311), - 719: uint16(312), - 720: uint16(231), - 721: uint16(101), - 722: uint16(22), - 723: uint16(143), + 717: uint16(254), + 718: uint16(138), + 719: uint16(139), + 720: uint16(24), + 721: uint16(232), + 722: uint16(117), + 723: uint16(194), 724: uint16(102), 725: uint16(103), 726: uint16(104), @@ -155182,29 +156551,29 @@ var _yy_lookahead = [2285]uint16{ 749: uint16(56), 750: uint16(57), 751: uint16(19), - 752: uint16(193), - 753: uint16(193), - 754: uint16(59), + 752: uint16(264), + 753: uint16(108), + 754: uint16(76), 755: uint16(23), - 756: uint16(116), - 757: uint16(117), - 758: uint16(118), - 759: uint16(59), - 760: uint16(201), - 761: uint16(21), - 762: uint16(241), - 763: uint16(304), - 764: uint16(193), - 765: uint16(206), - 766: uint16(127), - 767: uint16(128), - 768: uint16(129), - 769: uint16(193), - 770: uint16(128), - 771: uint16(129), - 772: uint16(235), - 773: uint16(236), - 774: uint16(304), + 756: uint16(127), + 757: uint16(128), + 758: uint16(129), + 759: uint16(311), + 760: uint16(312), + 761: uint16(116), + 762: uint16(117), + 763: uint16(118), + 764: uint16(316), + 765: uint16(87), + 766: uint16(306), + 767: uint16(89), + 768: uint16(308), + 769: uint16(194), + 770: uint16(92), + 771: uint16(22), + 772: uint16(59), + 773: uint16(194), + 774: uint16(22), 775: uint16(43), 776: uint16(44), 777: uint16(45), @@ -155220,11 +156589,11 @@ var _yy_lookahead = [2285]uint16{ 787: uint16(55), 788: uint16(56), 789: uint16(57), - 790: uint16(22), - 791: uint16(193), - 792: uint16(216), - 793: uint16(217), - 794: uint16(193), + 790: uint16(194), + 791: uint16(95), + 792: uint16(217), + 793: uint16(218), + 794: uint16(265), 795: uint16(102), 796: uint16(103), 797: uint16(104), @@ -155237,33 +156606,33 @@ var _yy_lookahead = [2285]uint16{ 804: uint16(111), 805: uint16(112), 806: uint16(113), - 807: uint16(231), - 808: uint16(193), - 809: uint16(193), - 810: uint16(193), - 811: uint16(116), - 812: uint16(117), - 813: uint16(118), - 814: uint16(216), - 815: uint16(217), - 816: uint16(116), - 817: uint16(117), - 818: uint16(118), - 819: uint16(226), - 820: uint16(80), - 821: uint16(193), + 807: uint16(232), + 808: uint16(59), + 809: uint16(113), + 810: uint16(25), + 811: uint16(59), + 812: uint16(194), + 813: uint16(217), + 814: uint16(218), + 815: uint16(119), + 816: uint16(120), + 817: uint16(121), + 818: uint16(122), + 819: uint16(123), + 820: uint16(124), + 821: uint16(125), 822: uint16(19), - 823: uint16(235), - 824: uint16(236), - 825: uint16(304), + 823: uint16(145), + 824: uint16(194), + 825: uint16(194), 826: uint16(23), - 827: uint16(211), - 828: uint16(212), - 829: uint16(231), - 830: uint16(204), - 831: uint16(216), - 832: uint16(217), - 833: uint16(205), + 827: uint16(131), + 828: uint16(232), + 829: uint16(116), + 830: uint16(117), + 831: uint16(118), + 832: uint16(35), + 833: uint16(194), 834: uint16(102), 835: uint16(103), 836: uint16(104), @@ -155292,29 +156661,29 @@ var _yy_lookahead = [2285]uint16{ 859: uint16(56), 860: uint16(57), 861: uint16(19), - 862: uint16(193), - 863: uint16(123), - 864: uint16(76), - 865: uint16(239), - 866: uint16(240), - 867: uint16(193), - 868: uint16(253), - 869: uint16(239), - 870: uint16(240), - 871: uint16(239), - 872: uint16(240), - 873: uint16(244), - 874: uint16(106), - 875: uint16(107), - 876: uint16(193), - 877: uint16(89), - 878: uint16(252), - 879: uint16(193), - 880: uint16(92), - 881: uint16(59), - 882: uint16(252), - 883: uint16(254), - 884: uint16(252), + 862: uint16(194), + 863: uint16(66), + 864: uint16(194), + 865: uint16(116), + 866: uint16(117), + 867: uint16(118), + 868: uint16(116), + 869: uint16(117), + 870: uint16(118), + 871: uint16(74), + 872: uint16(242), + 873: uint16(294), + 874: uint16(194), + 875: uint16(194), + 876: uint16(206), + 877: uint16(23), + 878: uint16(194), + 879: uint16(25), + 880: uint16(194), + 881: uint16(111), + 882: uint16(112), + 883: uint16(113), + 884: uint16(25), 885: uint16(43), 886: uint16(44), 887: uint16(45), @@ -155330,11 +156699,11 @@ var _yy_lookahead = [2285]uint16{ 897: uint16(55), 898: uint16(56), 899: uint16(57), - 900: uint16(284), - 901: uint16(161), - 902: uint16(216), + 900: uint16(24), + 901: uint16(194), + 902: uint16(194), 903: uint16(217), - 904: uint16(193), + 904: uint16(218), 905: uint16(102), 906: uint16(103), 907: uint16(104), @@ -155347,33 +156716,33 @@ var _yy_lookahead = [2285]uint16{ 914: uint16(111), 915: uint16(112), 916: uint16(113), - 917: uint16(231), - 918: uint16(193), - 919: uint16(244), - 920: uint16(187), - 921: uint16(188), - 922: uint16(189), - 923: uint16(190), - 924: uint16(7), - 925: uint16(8), - 926: uint16(9), - 927: uint16(309), - 928: uint16(195), - 929: uint16(254), - 930: uint16(197), - 931: uint16(313), + 917: uint16(241), + 918: uint16(232), + 919: uint16(194), + 920: uint16(212), + 921: uint16(213), + 922: uint16(242), + 923: uint16(242), + 924: uint16(217), + 925: uint16(218), + 926: uint16(242), + 927: uint16(130), + 928: uint16(11), + 929: uint16(253), + 930: uint16(194), + 931: uint16(255), 932: uint16(19), - 933: uint16(127), - 934: uint16(128), - 935: uint16(129), - 936: uint16(262), - 937: uint16(204), - 938: uint16(22), - 939: uint16(117), - 940: uint16(24), - 941: uint16(216), + 933: uint16(265), + 934: uint16(149), + 935: uint16(59), + 936: uint16(306), + 937: uint16(194), + 938: uint16(308), + 939: uint16(232), + 940: uint16(309), + 941: uint16(310), 942: uint16(217), - 943: uint16(273), + 943: uint16(218), 944: uint16(102), 945: uint16(103), 946: uint16(104), @@ -155401,36 +156770,36 @@ var _yy_lookahead = [2285]uint16{ 968: uint16(55), 969: uint16(56), 970: uint16(57), - 971: uint16(193), - 972: uint16(239), - 973: uint16(240), - 974: uint16(193), - 975: uint16(59), + 971: uint16(194), + 972: uint16(194), + 973: uint16(59), + 974: uint16(194), + 975: uint16(239), 976: uint16(19), - 977: uint16(188), - 978: uint16(253), - 979: uint16(190), - 980: uint16(193), - 981: uint16(311), - 982: uint16(312), - 983: uint16(16), - 984: uint16(195), - 985: uint16(252), - 986: uint16(197), - 987: uint16(193), - 988: uint16(19), - 989: uint16(301), - 990: uint16(302), - 991: uint16(135), - 992: uint16(193), - 993: uint16(204), - 994: uint16(216), + 977: uint16(194), + 978: uint16(25), + 979: uint16(254), + 980: uint16(303), + 981: uint16(304), + 982: uint16(23), + 983: uint16(194), + 984: uint16(25), + 985: uint16(126), + 986: uint16(306), + 987: uint16(306), + 988: uint16(308), + 989: uint16(308), + 990: uint16(306), + 991: uint16(271), + 992: uint16(308), + 993: uint16(117), + 994: uint16(286), 995: uint16(217), - 996: uint16(140), - 997: uint16(216), - 998: uint16(217), - 999: uint16(266), - 1000: uint16(204), + 996: uint16(218), + 997: uint16(217), + 998: uint16(218), + 999: uint16(194), + 1000: uint16(194), 1001: uint16(159), 1002: uint16(45), 1003: uint16(46), @@ -155457,38 +156826,38 @@ var _yy_lookahead = [2285]uint16{ 1024: uint16(111), 1025: uint16(112), 1026: uint16(113), - 1027: uint16(12), + 1027: uint16(59), 1028: uint16(239), - 1029: uint16(240), - 1030: uint16(193), - 1031: uint16(298), - 1032: uint16(238), - 1033: uint16(117), - 1034: uint16(253), - 1035: uint16(239), + 1029: uint16(194), + 1030: uint16(116), + 1031: uint16(117), + 1032: uint16(118), + 1033: uint16(260), + 1034: uint16(254), + 1035: uint16(194), 1036: uint16(240), - 1037: uint16(238), - 1038: uint16(259), - 1039: uint16(260), - 1040: uint16(193), - 1041: uint16(252), - 1042: uint16(27), - 1043: uint16(193), - 1044: uint16(77), - 1045: uint16(193), - 1046: uint16(79), - 1047: uint16(204), - 1048: uint16(252), - 1049: uint16(262), - 1050: uint16(193), - 1051: uint16(299), - 1052: uint16(300), - 1053: uint16(193), - 1054: uint16(100), - 1055: uint16(266), - 1056: uint16(278), - 1057: uint16(42), - 1058: uint16(204), + 1037: uint16(241), + 1038: uint16(194), + 1039: uint16(233), + 1040: uint16(205), + 1041: uint16(240), + 1042: uint16(241), + 1043: uint16(205), + 1044: uint16(239), + 1045: uint16(128), + 1046: uint16(129), + 1047: uint16(270), + 1048: uint16(265), + 1049: uint16(253), + 1050: uint16(194), + 1051: uint16(255), + 1052: uint16(217), + 1053: uint16(218), + 1054: uint16(253), + 1055: uint16(194), + 1056: uint16(255), + 1057: uint16(143), + 1058: uint16(280), 1059: uint16(102), 1060: uint16(103), 1061: uint16(104), @@ -155501,51 +156870,51 @@ var _yy_lookahead = [2285]uint16{ 1068: uint16(111), 1069: uint16(112), 1070: uint16(113), - 1071: uint16(117), + 1071: uint16(118), 1072: uint16(159), - 1073: uint16(216), - 1074: uint16(217), - 1075: uint16(121), - 1076: uint16(216), - 1077: uint16(217), - 1078: uint16(63), - 1079: uint16(193), - 1080: uint16(193), - 1081: uint16(193), - 1082: uint16(239), - 1083: uint16(240), - 1084: uint16(115), - 1085: uint16(116), - 1086: uint16(193), - 1087: uint16(298), - 1088: uint16(73), - 1089: uint16(240), - 1090: uint16(238), - 1091: uint16(231), + 1073: uint16(217), + 1074: uint16(218), + 1075: uint16(240), + 1076: uint16(241), + 1077: uint16(118), + 1078: uint16(240), + 1079: uint16(241), + 1080: uint16(194), + 1081: uint16(194), + 1082: uint16(194), + 1083: uint16(239), + 1084: uint16(116), + 1085: uint16(117), + 1086: uint16(118), + 1087: uint16(22), + 1088: uint16(253), + 1089: uint16(254), + 1090: uint16(255), + 1091: uint16(253), 1092: uint16(19), - 1093: uint16(239), - 1094: uint16(240), - 1095: uint16(252), - 1096: uint16(22), + 1093: uint16(255), + 1094: uint16(233), + 1095: uint16(194), + 1096: uint16(143), 1097: uint16(24), - 1098: uint16(211), + 1098: uint16(263), 1099: uint16(212), - 1100: uint16(263), - 1101: uint16(252), - 1102: uint16(216), + 1100: uint16(213), + 1101: uint16(194), + 1102: uint16(143), 1103: uint16(217), - 1104: uint16(216), + 1104: uint16(218), 1105: uint16(217), - 1106: uint16(252), - 1107: uint16(153), - 1108: uint16(154), - 1109: uint16(155), - 1110: uint16(253), - 1111: uint16(193), + 1106: uint16(218), + 1107: uint16(261), + 1108: uint16(262), + 1109: uint16(271), + 1110: uint16(254), + 1111: uint16(143), 1112: uint16(19), - 1113: uint16(144), - 1114: uint16(213), - 1115: uint16(268), + 1113: uint16(7), + 1114: uint16(8), + 1115: uint16(9), 1116: uint16(43), 1117: uint16(44), 1118: uint16(45), @@ -155561,11 +156930,11 @@ var _yy_lookahead = [2285]uint16{ 1128: uint16(55), 1129: uint16(56), 1130: uint16(57), - 1131: uint16(193), + 1131: uint16(16), 1132: uint16(19), - 1133: uint16(59), - 1134: uint16(216), - 1135: uint16(217), + 1133: uint16(22), + 1134: uint16(23), + 1135: uint16(294), 1136: uint16(43), 1137: uint16(44), 1138: uint16(45), @@ -155581,11 +156950,11 @@ var _yy_lookahead = [2285]uint16{ 1148: uint16(55), 1149: uint16(56), 1150: uint16(57), - 1151: uint16(193), - 1152: uint16(19), - 1153: uint16(24), - 1154: uint16(216), - 1155: uint16(217), + 1151: uint16(312), + 1152: uint16(194), + 1153: uint16(214), + 1154: uint16(21), + 1155: uint16(316), 1156: uint16(43), 1157: uint16(44), 1158: uint16(45), @@ -155601,10 +156970,10 @@ var _yy_lookahead = [2285]uint16{ 1168: uint16(55), 1169: uint16(56), 1170: uint16(57), - 1171: uint16(284), - 1172: uint16(193), - 1173: uint16(208), - 1174: uint16(209), + 1171: uint16(106), + 1172: uint16(107), + 1173: uint16(286), + 1174: uint16(194), 1175: uint16(102), 1176: uint16(103), 1177: uint16(104), @@ -155617,14 +156986,14 @@ var _yy_lookahead = [2285]uint16{ 1184: uint16(111), 1185: uint16(112), 1186: uint16(113), - 1187: uint16(286), - 1188: uint16(59), - 1189: uint16(193), - 1190: uint16(232), - 1191: uint16(117), - 1192: uint16(291), - 1193: uint16(193), - 1194: uint16(193), + 1187: uint16(207), + 1188: uint16(158), + 1189: uint16(59), + 1190: uint16(160), + 1191: uint16(22), + 1192: uint16(77), + 1193: uint16(24), + 1194: uint16(79), 1195: uint16(102), 1196: uint16(103), 1197: uint16(104), @@ -155637,14 +157006,14 @@ var _yy_lookahead = [2285]uint16{ 1204: uint16(111), 1205: uint16(112), 1206: uint16(113), - 1207: uint16(193), - 1208: uint16(204), - 1209: uint16(22), - 1210: uint16(23), - 1211: uint16(193), - 1212: uint16(25), - 1213: uint16(66), - 1214: uint16(193), + 1207: uint16(194), + 1208: uint16(194), + 1209: uint16(229), + 1210: uint16(194), + 1211: uint16(231), + 1212: uint16(101), + 1213: uint16(80), + 1214: uint16(22), 1215: uint16(102), 1216: uint16(103), 1217: uint16(104), @@ -155657,39 +157026,39 @@ var _yy_lookahead = [2285]uint16{ 1224: uint16(111), 1225: uint16(112), 1226: uint16(113), - 1227: uint16(193), - 1228: uint16(193), - 1229: uint16(193), - 1230: uint16(216), - 1231: uint16(217), - 1232: uint16(85), - 1233: uint16(193), - 1234: uint16(238), + 1227: uint16(288), + 1228: uint16(59), + 1229: uint16(12), + 1230: uint16(217), + 1231: uint16(218), + 1232: uint16(293), + 1233: uint16(217), + 1234: uint16(218), 1235: uint16(19), - 1236: uint16(16), - 1237: uint16(216), - 1238: uint16(217), - 1239: uint16(238), - 1240: uint16(193), - 1241: uint16(94), - 1242: uint16(193), - 1243: uint16(239), - 1244: uint16(240), - 1245: uint16(231), - 1246: uint16(117), - 1247: uint16(268), - 1248: uint16(35), - 1249: uint16(116), - 1250: uint16(216), - 1251: uint16(217), - 1252: uint16(216), - 1253: uint16(217), - 1254: uint16(22), - 1255: uint16(23), - 1256: uint16(252), - 1257: uint16(25), - 1258: uint16(208), - 1259: uint16(209), + 1236: uint16(106), + 1237: uint16(107), + 1238: uint16(59), + 1239: uint16(19), + 1240: uint16(16), + 1241: uint16(127), + 1242: uint16(128), + 1243: uint16(129), + 1244: uint16(27), + 1245: uint16(115), + 1246: uint16(116), + 1247: uint16(117), + 1248: uint16(118), + 1249: uint16(194), + 1250: uint16(120), + 1251: uint16(59), + 1252: uint16(22), + 1253: uint16(194), + 1254: uint16(24), + 1255: uint16(194), + 1256: uint16(123), + 1257: uint16(100), + 1258: uint16(128), + 1259: uint16(42), 1260: uint16(44), 1261: uint16(45), 1262: uint16(46), @@ -155704,50 +157073,50 @@ var _yy_lookahead = [2285]uint16{ 1271: uint16(55), 1272: uint16(56), 1273: uint16(57), - 1274: uint16(193), - 1275: uint16(193), - 1276: uint16(19), - 1277: uint16(5), - 1278: uint16(59), - 1279: uint16(66), - 1280: uint16(193), - 1281: uint16(263), - 1282: uint16(10), - 1283: uint16(11), - 1284: uint16(12), - 1285: uint16(13), - 1286: uint16(14), - 1287: uint16(74), - 1288: uint16(101), - 1289: uint16(17), - 1290: uint16(193), - 1291: uint16(46), - 1292: uint16(193), - 1293: uint16(146), - 1294: uint16(193), - 1295: uint16(76), - 1296: uint16(213), - 1297: uint16(77), - 1298: uint16(263), - 1299: uint16(79), - 1300: uint16(12), - 1301: uint16(260), - 1302: uint16(30), - 1303: uint16(46), - 1304: uint16(32), - 1305: uint16(264), - 1306: uint16(87), - 1307: uint16(193), - 1308: uint16(89), - 1309: uint16(29), - 1310: uint16(263), - 1311: uint16(92), - 1312: uint16(40), - 1313: uint16(33), - 1314: uint16(232), - 1315: uint16(27), - 1316: uint16(193), - 1317: uint16(108), + 1274: uint16(117), + 1275: uint16(194), + 1276: uint16(217), + 1277: uint16(218), + 1278: uint16(121), + 1279: uint16(100), + 1280: uint16(63), + 1281: uint16(194), + 1282: uint16(245), + 1283: uint16(153), + 1284: uint16(194), + 1285: uint16(155), + 1286: uint16(117), + 1287: uint16(19), + 1288: uint16(115), + 1289: uint16(194), + 1290: uint16(73), + 1291: uint16(214), + 1292: uint16(194), + 1293: uint16(256), + 1294: uint16(161), + 1295: uint16(116), + 1296: uint16(117), + 1297: uint16(194), + 1298: uint16(217), + 1299: uint16(218), + 1300: uint16(121), + 1301: uint16(77), + 1302: uint16(194), + 1303: uint16(79), + 1304: uint16(217), + 1305: uint16(218), + 1306: uint16(194), + 1307: uint16(217), + 1308: uint16(218), + 1309: uint16(117), + 1310: uint16(153), + 1311: uint16(154), + 1312: uint16(155), + 1313: uint16(254), + 1314: uint16(46), + 1315: uint16(217), + 1316: uint16(218), + 1317: uint16(144), 1318: uint16(102), 1319: uint16(103), 1320: uint16(104), @@ -155760,1025 +157129,1068 @@ var _yy_lookahead = [2285]uint16{ 1327: uint16(111), 1328: uint16(112), 1329: uint16(113), - 1330: uint16(42), - 1331: uint16(138), - 1332: uint16(139), - 1333: uint16(101), - 1334: uint16(193), - 1335: uint16(116), - 1336: uint16(117), - 1337: uint16(118), + 1330: uint16(232), + 1331: uint16(270), + 1332: uint16(153), + 1333: uint16(154), + 1334: uint16(155), + 1335: uint16(115), + 1336: uint16(116), + 1337: uint16(66), 1338: uint16(19), 1339: uint16(20), - 1340: uint16(255), + 1340: uint16(183), 1341: uint16(22), - 1342: uint16(70), - 1343: uint16(130), - 1344: uint16(135), - 1345: uint16(65), - 1346: uint16(256), - 1347: uint16(257), - 1348: uint16(193), - 1349: uint16(140), - 1350: uint16(78), - 1351: uint16(63), - 1352: uint16(193), - 1353: uint16(81), - 1354: uint16(193), + 1342: uint16(12), + 1343: uint16(312), + 1344: uint16(254), + 1345: uint16(194), + 1346: uint16(262), + 1347: uint16(316), + 1348: uint16(209), + 1349: uint16(210), + 1350: uint16(266), + 1351: uint16(239), + 1352: uint16(194), + 1353: uint16(194), + 1354: uint16(108), 1355: uint16(36), - 1356: uint16(193), - 1357: uint16(216), - 1358: uint16(217), - 1359: uint16(193), - 1360: uint16(115), - 1361: uint16(193), - 1362: uint16(263), - 1363: uint16(193), - 1364: uint16(145), - 1365: uint16(268), - 1366: uint16(59), + 1356: uint16(85), + 1357: uint16(27), + 1358: uint16(19), + 1359: uint16(20), + 1360: uint16(265), + 1361: uint16(22), + 1362: uint16(183), + 1363: uint16(245), + 1364: uint16(144), + 1365: uint16(94), + 1366: uint16(25), 1367: uint16(48), - 1368: uint16(193), - 1369: uint16(193), - 1370: uint16(98), - 1371: uint16(193), - 1372: uint16(115), - 1373: uint16(193), - 1374: uint16(291), - 1375: uint16(216), + 1368: uint16(217), + 1369: uint16(218), + 1370: uint16(293), + 1371: uint16(194), + 1372: uint16(42), + 1373: uint16(270), + 1374: uint16(256), + 1375: uint16(36), 1376: uint16(217), - 1377: uint16(193), + 1377: uint16(218), 1378: uint16(59), - 1379: uint16(216), - 1380: uint16(217), - 1381: uint16(161), - 1382: uint16(216), - 1383: uint16(217), - 1384: uint16(216), - 1385: uint16(217), - 1386: uint16(216), - 1387: uint16(217), - 1388: uint16(131), - 1389: uint16(193), + 1379: uint16(194), + 1380: uint16(25), + 1381: uint16(135), + 1382: uint16(194), + 1383: uint16(115), + 1384: uint16(194), + 1385: uint16(161), + 1386: uint16(140), + 1387: uint16(194), + 1388: uint16(194), + 1389: uint16(15), 1390: uint16(71), - 1391: uint16(193), - 1392: uint16(216), - 1393: uint16(217), - 1394: uint16(216), - 1395: uint16(217), - 1396: uint16(216), - 1397: uint16(217), - 1398: uint16(193), - 1399: uint16(260), - 1400: uint16(216), - 1401: uint16(217), - 1402: uint16(19), - 1403: uint16(264), + 1391: uint16(194), + 1392: uint16(312), + 1393: uint16(63), + 1394: uint16(217), + 1395: uint16(218), + 1396: uint16(316), + 1397: uint16(194), + 1398: uint16(59), + 1399: uint16(131), + 1400: uint16(301), + 1401: uint16(302), + 1402: uint16(217), + 1403: uint16(218), 1404: uint16(85), - 1405: uint16(133), - 1406: uint16(244), - 1407: uint16(100), - 1408: uint16(193), + 1405: uint16(217), + 1406: uint16(218), + 1407: uint16(217), + 1408: uint16(218), 1409: uint16(90), - 1410: uint16(138), - 1411: uint16(139), - 1412: uint16(216), - 1413: uint16(217), - 1414: uint16(216), - 1415: uint16(217), - 1416: uint16(254), - 1417: uint16(244), - 1418: uint16(193), + 1410: uint16(71), + 1411: uint16(217), + 1412: uint16(218), + 1413: uint16(19), + 1414: uint16(217), + 1415: uint16(218), + 1416: uint16(245), + 1417: uint16(146), + 1418: uint16(262), 1419: uint16(100), - 1420: uint16(193), - 1421: uint16(216), - 1422: uint16(217), - 1423: uint16(116), - 1424: uint16(117), + 1420: uint16(217), + 1421: uint16(218), + 1422: uint16(266), + 1423: uint16(265), + 1424: uint16(85), 1425: uint16(106), 1426: uint16(107), - 1427: uint16(254), - 1428: uint16(121), - 1429: uint16(193), - 1430: uint16(115), - 1431: uint16(216), - 1432: uint16(217), + 1427: uint16(256), + 1428: uint16(312), + 1429: uint16(90), + 1430: uint16(209), + 1431: uint16(210), + 1432: uint16(316), 1433: uint16(114), - 1434: uint16(162), + 1434: uint16(60), 1435: uint16(116), 1436: uint16(117), 1437: uint16(118), - 1438: uint16(115), - 1439: uint16(244), + 1438: uint16(194), + 1439: uint16(100), 1440: uint16(121), - 1441: uint16(216), - 1442: uint16(217), - 1443: uint16(216), - 1444: uint16(217), - 1445: uint16(193), - 1446: uint16(309), - 1447: uint16(193), - 1448: uint16(31), - 1449: uint16(254), - 1450: uint16(313), - 1451: uint16(309), - 1452: uint16(216), - 1453: uint16(217), - 1454: uint16(309), - 1455: uint16(313), - 1456: uint16(39), - 1457: uint16(193), - 1458: uint16(313), - 1459: uint16(309), - 1460: uint16(153), - 1461: uint16(154), - 1462: uint16(155), - 1463: uint16(313), - 1464: uint16(193), - 1465: uint16(150), - 1466: uint16(25), - 1467: uint16(144), - 1468: uint16(216), - 1469: uint16(217), - 1470: uint16(216), - 1471: uint16(217), + 1441: uint16(194), + 1442: uint16(194), + 1443: uint16(145), + 1444: uint16(115), + 1445: uint16(106), + 1446: uint16(107), + 1447: uint16(19), + 1448: uint16(46), + 1449: uint16(19), + 1450: uint16(20), + 1451: uint16(24), + 1452: uint16(22), + 1453: uint16(114), + 1454: uint16(194), + 1455: uint16(116), + 1456: uint16(117), + 1457: uint16(118), + 1458: uint16(194), + 1459: uint16(245), + 1460: uint16(121), + 1461: uint16(194), + 1462: uint16(164), + 1463: uint16(194), + 1464: uint16(217), + 1465: uint16(218), + 1466: uint16(36), + 1467: uint16(194), + 1468: uint16(258), + 1469: uint16(259), + 1470: uint16(256), + 1471: uint16(194), 1472: uint16(153), 1473: uint16(154), 1474: uint16(155), 1475: uint16(156), 1476: uint16(157), - 1478: uint16(1), - 1479: uint16(2), - 1480: uint16(216), + 1477: uint16(217), + 1478: uint16(218), + 1479: uint16(150), + 1480: uint16(31), 1481: uint16(217), - 1482: uint16(5), - 1483: uint16(149), - 1484: uint16(150), - 1485: uint16(22), - 1486: uint16(193), - 1487: uint16(10), - 1488: uint16(11), - 1489: uint16(12), - 1490: uint16(13), - 1491: uint16(14), - 1492: uint16(193), - 1493: uint16(158), - 1494: uint16(17), - 1495: uint16(160), - 1496: uint16(193), - 1497: uint16(19), - 1498: uint16(20), - 1499: uint16(116), - 1500: uint16(22), - 1501: uint16(25), - 1502: uint16(193), - 1503: uint16(24), - 1504: uint16(22), - 1505: uint16(193), - 1506: uint16(24), - 1507: uint16(30), - 1508: uint16(226), - 1509: uint16(32), - 1510: uint16(19), - 1511: uint16(20), - 1512: uint16(226), - 1513: uint16(22), - 1514: uint16(36), - 1515: uint16(193), - 1516: uint16(53), - 1517: uint16(40), - 1518: uint16(193), - 1519: uint16(216), - 1520: uint16(217), - 1521: uint16(193), - 1522: uint16(23), - 1523: uint16(193), - 1524: uint16(25), - 1525: uint16(216), - 1526: uint16(217), - 1527: uint16(36), - 1528: uint16(216), - 1529: uint16(217), - 1530: uint16(193), - 1531: uint16(99), - 1532: uint16(193), - 1533: uint16(193), - 1534: uint16(22), - 1535: uint16(193), - 1536: uint16(193), - 1537: uint16(59), - 1538: uint16(216), + 1482: uint16(218), + 1483: uint16(142), + 1484: uint16(217), + 1485: uint16(218), + 1486: uint16(217), + 1487: uint16(218), + 1488: uint16(39), + 1489: uint16(59), + 1490: uint16(217), + 1491: uint16(218), + 1492: uint16(153), + 1493: uint16(154), + 1494: uint16(155), + 1495: uint16(156), + 1496: uint16(157), + 1497: uint16(149), + 1498: uint16(150), + 1499: uint16(5), + 1500: uint16(145), + 1501: uint16(71), + 1502: uint16(183), + 1503: uint16(245), + 1504: uint16(10), + 1505: uint16(11), + 1506: uint16(12), + 1507: uint16(13), + 1508: uint16(14), + 1509: uint16(194), + 1510: uint16(116), + 1511: uint16(17), + 1512: uint16(129), + 1513: uint16(227), + 1514: uint16(256), + 1515: uint16(85), + 1516: uint16(194), + 1517: uint16(115), + 1518: uint16(194), + 1519: uint16(23), + 1520: uint16(90), + 1521: uint16(25), + 1522: uint16(183), + 1523: uint16(99), + 1524: uint16(30), + 1525: uint16(97), + 1526: uint16(32), + 1527: uint16(22), + 1528: uint16(22), + 1529: uint16(194), + 1530: uint16(100), + 1531: uint16(194), + 1532: uint16(217), + 1533: uint16(218), + 1534: uint16(40), + 1535: uint16(152), + 1536: uint16(106), + 1537: uint16(107), + 1538: uint16(23), 1539: uint16(217), - 1540: uint16(193), - 1541: uint16(216), - 1542: uint16(217), - 1543: uint16(193), - 1544: uint16(216), - 1545: uint16(217), - 1546: uint16(193), - 1547: uint16(70), - 1548: uint16(129), - 1549: uint16(71), - 1550: uint16(59), - 1551: uint16(129), - 1552: uint16(193), - 1553: uint16(216), + 1540: uint16(218), + 1541: uint16(194), + 1542: uint16(19), + 1543: uint16(20), + 1544: uint16(114), + 1545: uint16(22), + 1546: uint16(116), + 1547: uint16(117), + 1548: uint16(118), + 1549: uint16(257), + 1550: uint16(194), + 1551: uint16(121), + 1552: uint16(217), + 1553: uint16(218), 1554: uint16(217), - 1555: uint16(78), - 1556: uint16(216), - 1557: uint16(217), - 1558: uint16(81), - 1559: uint16(216), - 1560: uint16(217), - 1561: uint16(193), - 1562: uint16(71), - 1563: uint16(85), - 1564: uint16(193), - 1565: uint16(133), - 1566: uint16(193), - 1567: uint16(126), - 1568: uint16(90), - 1569: uint16(216), - 1570: uint16(217), - 1571: uint16(152), - 1572: uint16(258), - 1573: uint16(61), - 1574: uint16(152), - 1575: uint16(98), - 1576: uint16(85), - 1577: uint16(193), - 1578: uint16(100), - 1579: uint16(193), - 1580: uint16(23), - 1581: uint16(90), - 1582: uint16(25), - 1583: uint16(121), - 1584: uint16(106), - 1585: uint16(107), - 1586: uint16(23), - 1587: uint16(216), - 1588: uint16(217), - 1589: uint16(216), - 1590: uint16(217), - 1591: uint16(100), - 1592: uint16(114), - 1593: uint16(131), - 1594: uint16(116), - 1595: uint16(117), - 1596: uint16(118), - 1597: uint16(106), - 1598: uint16(107), - 1599: uint16(121), - 1600: uint16(216), - 1601: uint16(217), - 1602: uint16(216), - 1603: uint16(217), - 1604: uint16(193), - 1605: uint16(114), - 1606: uint16(193), - 1607: uint16(116), - 1608: uint16(117), - 1609: uint16(118), - 1610: uint16(133), - 1611: uint16(22), - 1612: uint16(121), - 1613: uint16(193), - 1614: uint16(59), - 1615: uint16(138), - 1616: uint16(139), - 1617: uint16(193), - 1618: uint16(142), - 1619: uint16(193), - 1620: uint16(141), - 1621: uint16(23), - 1622: uint16(23), - 1623: uint16(25), - 1624: uint16(25), - 1625: uint16(120), - 1626: uint16(121), - 1627: uint16(216), - 1628: uint16(217), - 1629: uint16(216), - 1630: uint16(217), - 1631: uint16(153), - 1632: uint16(154), - 1633: uint16(155), - 1634: uint16(156), - 1635: uint16(157), - 1636: uint16(216), - 1637: uint16(217), - 1638: uint16(19), - 1639: uint16(162), - 1640: uint16(216), - 1641: uint16(217), - 1642: uint16(216), - 1643: uint16(217), - 1644: uint16(153), - 1645: uint16(154), - 1646: uint16(155), - 1647: uint16(156), - 1648: uint16(157), - 1649: uint16(1), - 1650: uint16(2), - 1651: uint16(193), - 1652: uint16(59), - 1653: uint16(5), - 1654: uint16(19), - 1655: uint16(20), - 1656: uint16(318), - 1657: uint16(22), - 1658: uint16(10), - 1659: uint16(11), - 1660: uint16(12), - 1661: uint16(13), - 1662: uint16(14), - 1663: uint16(193), - 1664: uint16(59), - 1665: uint16(17), - 1666: uint16(193), - 1667: uint16(23), - 1668: uint16(23), - 1669: uint16(25), - 1670: uint16(25), - 1671: uint16(36), - 1672: uint16(117), - 1673: uint16(193), - 1674: uint16(216), - 1675: uint16(217), - 1676: uint16(193), - 1677: uint16(23), - 1678: uint16(30), - 1679: uint16(25), - 1680: uint16(32), - 1681: uint16(19), - 1682: uint16(20), - 1683: uint16(23), - 1684: uint16(22), - 1685: uint16(25), - 1686: uint16(216), - 1687: uint16(217), - 1688: uint16(40), - 1689: uint16(216), + 1555: uint16(218), + 1556: uint16(194), + 1557: uint16(133), + 1558: uint16(53), + 1559: uint16(36), + 1560: uint16(23), + 1561: uint16(23), + 1562: uint16(25), + 1563: uint16(25), + 1564: uint16(70), + 1565: uint16(120), + 1566: uint16(121), + 1567: uint16(61), + 1568: uint16(141), + 1569: uint16(7), + 1570: uint16(8), + 1571: uint16(121), + 1572: uint16(78), + 1573: uint16(217), + 1574: uint16(218), + 1575: uint16(81), + 1576: uint16(23), + 1577: uint16(227), + 1578: uint16(25), + 1579: uint16(217), + 1580: uint16(218), + 1581: uint16(131), + 1582: uint16(59), + 1583: uint16(153), + 1584: uint16(154), + 1585: uint16(155), + 1586: uint16(156), + 1587: uint16(157), + 1589: uint16(1), + 1590: uint16(2), + 1591: uint16(59), + 1592: uint16(98), + 1593: uint16(5), + 1594: uint16(71), + 1595: uint16(23), + 1596: uint16(227), + 1597: uint16(25), + 1598: uint16(10), + 1599: uint16(11), + 1600: uint16(12), + 1601: uint16(13), + 1602: uint16(14), + 1603: uint16(83), + 1604: uint16(84), + 1605: uint16(17), + 1606: uint16(23), + 1607: uint16(23), + 1608: uint16(25), + 1609: uint16(25), + 1610: uint16(59), + 1611: uint16(194), + 1612: uint16(194), + 1613: uint16(183), + 1614: uint16(23), + 1615: uint16(23), + 1616: uint16(25), + 1617: uint16(25), + 1618: uint16(30), + 1619: uint16(194), + 1620: uint16(32), + 1621: uint16(19), + 1622: uint16(20), + 1623: uint16(100), + 1624: uint16(22), + 1625: uint16(194), + 1626: uint16(194), + 1627: uint16(133), + 1628: uint16(40), + 1629: uint16(106), + 1630: uint16(107), + 1631: uint16(108), + 1632: uint16(138), + 1633: uint16(139), + 1634: uint16(194), + 1635: uint16(217), + 1636: uint16(218), + 1637: uint16(114), + 1638: uint16(36), + 1639: uint16(116), + 1640: uint16(117), + 1641: uint16(118), + 1642: uint16(217), + 1643: uint16(218), + 1644: uint16(121), + 1645: uint16(194), + 1646: uint16(194), + 1647: uint16(194), + 1648: uint16(23), + 1649: uint16(117), + 1650: uint16(25), + 1651: uint16(194), + 1652: uint16(23), + 1653: uint16(23), + 1654: uint16(25), + 1655: uint16(25), + 1656: uint16(162), + 1657: uint16(194), + 1658: uint16(70), + 1659: uint16(194), + 1660: uint16(145), + 1661: uint16(59), + 1662: uint16(23), + 1663: uint16(153), + 1664: uint16(25), + 1665: uint16(155), + 1666: uint16(78), + 1667: uint16(194), + 1668: uint16(117), + 1669: uint16(81), + 1670: uint16(217), + 1671: uint16(218), + 1672: uint16(194), + 1673: uint16(71), + 1674: uint16(217), + 1675: uint16(218), + 1676: uint16(153), + 1677: uint16(154), + 1678: uint16(155), + 1679: uint16(156), + 1680: uint16(157), + 1681: uint16(194), + 1682: uint16(217), + 1683: uint16(218), + 1684: uint16(194), + 1685: uint16(23), + 1686: uint16(98), + 1687: uint16(25), + 1688: uint16(321), + 1689: uint16(194), 1690: uint16(217), - 1691: uint16(7), - 1692: uint16(8), - 1693: uint16(23), - 1694: uint16(59), - 1695: uint16(25), - 1696: uint16(83), - 1697: uint16(84), - 1698: uint16(36), - 1699: uint16(23), - 1700: uint16(193), - 1701: uint16(25), - 1702: uint16(23), - 1703: uint16(23), - 1704: uint16(25), - 1705: uint16(25), - 1706: uint16(71), - 1707: uint16(153), - 1708: uint16(145), - 1709: uint16(155), - 1710: uint16(117), - 1711: uint16(153), - 1712: uint16(23), - 1713: uint16(155), - 1714: uint16(25), - 1715: uint16(23), - 1716: uint16(97), - 1717: uint16(25), - 1718: uint16(70), - 1719: uint16(193), - 1720: uint16(193), - 1721: uint16(59), - 1722: uint16(117), - 1723: uint16(236), - 1724: uint16(193), - 1725: uint16(193), - 1726: uint16(78), - 1727: uint16(193), - 1728: uint16(193), - 1729: uint16(81), - 1730: uint16(141), - 1731: uint16(193), - 1732: uint16(193), - 1733: uint16(71), - 1734: uint16(193), - 1735: uint16(100), - 1736: uint16(288), - 1737: uint16(287), - 1738: uint16(242), - 1739: uint16(255), - 1740: uint16(255), - 1741: uint16(106), - 1742: uint16(107), - 1743: uint16(108), - 1744: uint16(255), - 1745: uint16(255), - 1746: uint16(98), - 1747: uint16(243), - 1748: uint16(297), - 1749: uint16(114), - 1750: uint16(214), - 1751: uint16(116), - 1752: uint16(117), - 1753: uint16(118), - 1754: uint16(245), - 1755: uint16(191), - 1756: uint16(121), - 1757: uint16(271), - 1758: uint16(293), - 1759: uint16(267), - 1760: uint16(267), - 1761: uint16(246), - 1762: uint16(100), - 1763: uint16(246), - 1764: uint16(245), - 1765: uint16(271), - 1766: uint16(271), - 1767: uint16(293), - 1768: uint16(106), - 1769: uint16(107), - 1770: uint16(220), - 1771: uint16(271), - 1772: uint16(229), - 1773: uint16(225), - 1774: uint16(249), - 1775: uint16(219), - 1776: uint16(114), - 1777: uint16(259), - 1778: uint16(116), - 1779: uint16(117), - 1780: uint16(118), - 1781: uint16(133), - 1782: uint16(259), - 1783: uint16(121), - 1784: uint16(219), - 1785: uint16(219), - 1786: uint16(138), - 1787: uint16(139), - 1788: uint16(153), - 1789: uint16(154), - 1790: uint16(155), - 1791: uint16(156), - 1792: uint16(157), - 1793: uint16(280), - 1794: uint16(249), - 1795: uint16(243), - 1796: uint16(19), - 1797: uint16(20), - 1798: uint16(245), - 1799: uint16(22), - 1800: uint16(196), - 1801: uint16(259), - 1802: uint16(140), - 1803: uint16(259), - 1804: uint16(60), - 1805: uint16(297), - 1806: uint16(141), - 1807: uint16(297), - 1808: uint16(200), - 1809: uint16(200), - 1810: uint16(162), - 1811: uint16(38), - 1812: uint16(200), - 1813: uint16(36), - 1814: uint16(294), - 1815: uint16(153), - 1816: uint16(154), - 1817: uint16(155), - 1818: uint16(156), - 1819: uint16(157), - 1820: uint16(151), - 1821: uint16(150), - 1822: uint16(294), - 1823: uint16(283), - 1824: uint16(22), - 1825: uint16(43), - 1826: uint16(234), - 1827: uint16(18), - 1828: uint16(237), - 1829: uint16(200), - 1830: uint16(270), - 1831: uint16(272), - 1832: uint16(237), - 1833: uint16(237), - 1834: uint16(237), - 1835: uint16(18), - 1836: uint16(59), - 1837: uint16(199), - 1838: uint16(270), - 1839: uint16(149), - 1840: uint16(246), - 1841: uint16(272), - 1842: uint16(272), - 1843: uint16(200), - 1844: uint16(234), - 1845: uint16(234), - 1846: uint16(246), - 1847: uint16(246), - 1848: uint16(71), - 1849: uint16(246), - 1850: uint16(199), - 1851: uint16(158), - 1852: uint16(290), - 1853: uint16(62), - 1854: uint16(22), - 1855: uint16(200), - 1856: uint16(19), - 1857: uint16(20), - 1858: uint16(199), - 1859: uint16(22), - 1860: uint16(289), - 1861: uint16(221), - 1862: uint16(221), - 1863: uint16(200), - 1864: uint16(200), - 1865: uint16(199), - 1866: uint16(199), - 1867: uint16(115), - 1868: uint16(218), - 1869: uint16(64), - 1870: uint16(218), - 1871: uint16(218), + 1691: uint16(218), + 1692: uint16(194), + 1693: uint16(19), + 1694: uint16(20), + 1695: uint16(194), + 1696: uint16(22), + 1697: uint16(153), + 1698: uint16(23), + 1699: uint16(155), + 1700: uint16(25), + 1701: uint16(194), + 1702: uint16(100), + 1703: uint16(194), + 1704: uint16(217), + 1705: uint16(218), + 1706: uint16(183), + 1707: uint16(194), + 1708: uint16(106), + 1709: uint16(107), + 1710: uint16(36), + 1711: uint16(194), + 1712: uint16(217), + 1713: uint16(218), + 1714: uint16(237), + 1715: uint16(194), + 1716: uint16(114), + 1717: uint16(243), + 1718: uint16(116), + 1719: uint16(117), + 1720: uint16(118), + 1721: uint16(133), + 1722: uint16(194), + 1723: uint16(121), + 1724: uint16(217), + 1725: uint16(218), + 1726: uint16(138), + 1727: uint16(139), + 1728: uint16(194), + 1729: uint16(194), + 1730: uint16(194), + 1731: uint16(290), + 1732: uint16(289), + 1733: uint16(59), + 1734: uint16(217), + 1735: uint16(218), + 1736: uint16(194), + 1737: uint16(194), + 1738: uint16(217), + 1739: uint16(218), + 1740: uint16(194), + 1741: uint16(194), + 1742: uint16(140), + 1743: uint16(194), + 1744: uint16(194), + 1745: uint16(71), + 1746: uint16(194), + 1747: uint16(244), + 1748: uint16(194), + 1749: uint16(194), + 1750: uint16(162), + 1751: uint16(217), + 1752: uint16(218), + 1753: uint16(194), + 1754: uint16(194), + 1755: uint16(153), + 1756: uint16(154), + 1757: uint16(155), + 1758: uint16(156), + 1759: uint16(157), + 1760: uint16(217), + 1761: uint16(218), + 1762: uint16(194), + 1763: uint16(217), + 1764: uint16(218), + 1765: uint16(194), + 1766: uint16(217), + 1767: uint16(218), + 1768: uint16(257), + 1769: uint16(217), + 1770: uint16(218), + 1771: uint16(217), + 1772: uint16(218), + 1773: uint16(257), + 1774: uint16(100), + 1775: uint16(194), + 1776: uint16(257), + 1777: uint16(217), + 1778: uint16(218), + 1779: uint16(257), + 1780: uint16(106), + 1781: uint16(107), + 1782: uint16(215), + 1783: uint16(299), + 1784: uint16(194), + 1785: uint16(183), + 1786: uint16(192), + 1787: uint16(194), + 1788: uint16(114), + 1789: uint16(194), + 1790: uint16(116), + 1791: uint16(117), + 1792: uint16(118), + 1793: uint16(1), + 1794: uint16(2), + 1795: uint16(121), + 1796: uint16(221), + 1797: uint16(5), + 1798: uint16(217), + 1799: uint16(218), + 1800: uint16(273), + 1801: uint16(197), + 1802: uint16(10), + 1803: uint16(11), + 1804: uint16(12), + 1805: uint16(13), + 1806: uint16(14), + 1807: uint16(217), + 1808: uint16(218), + 1809: uint16(17), + 1810: uint16(217), + 1811: uint16(218), + 1812: uint16(217), + 1813: uint16(218), + 1814: uint16(140), + 1815: uint16(194), + 1816: uint16(246), + 1817: uint16(194), + 1818: uint16(273), + 1819: uint16(295), + 1820: uint16(247), + 1821: uint16(273), + 1822: uint16(30), + 1823: uint16(247), + 1824: uint16(32), + 1825: uint16(269), + 1826: uint16(269), + 1827: uint16(153), + 1828: uint16(154), + 1829: uint16(155), + 1830: uint16(156), + 1831: uint16(157), + 1832: uint16(40), + 1833: uint16(246), + 1834: uint16(273), + 1835: uint16(295), + 1836: uint16(230), + 1837: uint16(226), + 1838: uint16(217), + 1839: uint16(218), + 1840: uint16(217), + 1841: uint16(218), + 1842: uint16(220), + 1843: uint16(261), + 1844: uint16(220), + 1845: uint16(282), + 1846: uint16(220), + 1847: uint16(19), + 1848: uint16(20), + 1849: uint16(244), + 1850: uint16(22), + 1851: uint16(250), + 1852: uint16(141), + 1853: uint16(250), + 1854: uint16(246), + 1855: uint16(60), + 1856: uint16(201), + 1857: uint16(183), + 1858: uint16(261), + 1859: uint16(261), + 1860: uint16(261), + 1861: uint16(201), + 1862: uint16(70), + 1863: uint16(299), + 1864: uint16(36), + 1865: uint16(299), + 1866: uint16(201), + 1867: uint16(38), + 1868: uint16(151), + 1869: uint16(150), + 1870: uint16(78), + 1871: uint16(285), 1872: uint16(22), - 1873: uint16(36), - 1874: uint16(227), - 1875: uint16(126), - 1876: uint16(227), - 1877: uint16(100), - 1878: uint16(165), - 1879: uint16(221), - 1880: uint16(224), - 1881: uint16(224), - 1882: uint16(24), - 1883: uint16(106), - 1884: uint16(107), - 1885: uint16(312), - 1886: uint16(218), - 1887: uint16(305), - 1888: uint16(113), - 1889: uint16(282), - 1890: uint16(91), - 1891: uint16(114), - 1892: uint16(220), - 1893: uint16(116), - 1894: uint16(117), - 1895: uint16(118), - 1896: uint16(59), - 1897: uint16(282), - 1898: uint16(121), - 1899: uint16(218), - 1900: uint16(218), - 1901: uint16(218), + 1873: uint16(81), + 1874: uint16(296), + 1875: uint16(296), + 1876: uint16(43), + 1877: uint16(235), + 1878: uint16(18), + 1879: uint16(238), + 1880: uint16(201), + 1881: uint16(274), + 1882: uint16(272), + 1883: uint16(238), + 1884: uint16(238), + 1885: uint16(238), + 1886: uint16(18), + 1887: uint16(59), + 1888: uint16(200), + 1889: uint16(149), + 1890: uint16(98), + 1891: uint16(247), + 1892: uint16(274), + 1893: uint16(274), + 1894: uint16(235), + 1895: uint16(247), + 1896: uint16(247), + 1897: uint16(247), + 1898: uint16(235), + 1899: uint16(71), + 1900: uint16(272), + 1901: uint16(201), 1902: uint16(200), - 1903: uint16(317), - 1904: uint16(317), - 1905: uint16(82), - 1906: uint16(221), - 1907: uint16(265), - 1908: uint16(71), - 1909: uint16(148), - 1910: uint16(145), - 1911: uint16(265), - 1912: uint16(22), - 1913: uint16(277), - 1914: uint16(200), - 1915: uint16(158), - 1916: uint16(279), - 1917: uint16(140), - 1918: uint16(147), - 1919: uint16(25), - 1920: uint16(146), - 1921: uint16(202), - 1922: uint16(248), - 1923: uint16(250), - 1924: uint16(249), - 1925: uint16(247), - 1926: uint16(13), - 1927: uint16(250), - 1928: uint16(194), - 1929: uint16(194), - 1930: uint16(153), - 1931: uint16(154), - 1932: uint16(155), - 1933: uint16(156), - 1934: uint16(157), - 1935: uint16(6), - 1936: uint16(303), - 1937: uint16(100), - 1938: uint16(192), - 1939: uint16(192), - 1940: uint16(246), - 1941: uint16(213), - 1942: uint16(192), - 1943: uint16(106), - 1944: uint16(107), - 1945: uint16(207), - 1946: uint16(213), - 1947: uint16(207), - 1948: uint16(222), - 1949: uint16(213), - 1950: uint16(213), - 1951: uint16(114), - 1952: uint16(222), - 1953: uint16(116), - 1954: uint16(117), - 1955: uint16(118), - 1956: uint16(214), - 1957: uint16(214), - 1958: uint16(121), - 1959: uint16(4), - 1960: uint16(207), - 1961: uint16(213), - 1962: uint16(3), - 1963: uint16(22), - 1964: uint16(303), - 1965: uint16(15), - 1966: uint16(163), - 1967: uint16(16), - 1968: uint16(23), - 1969: uint16(23), - 1970: uint16(139), - 1971: uint16(151), - 1972: uint16(130), - 1973: uint16(25), - 1974: uint16(20), - 1975: uint16(142), - 1976: uint16(24), - 1977: uint16(16), - 1978: uint16(144), - 1979: uint16(1), - 1980: uint16(142), - 1981: uint16(130), - 1982: uint16(130), - 1983: uint16(61), - 1984: uint16(37), - 1985: uint16(53), - 1986: uint16(300), - 1987: uint16(151), - 1988: uint16(53), - 1989: uint16(53), - 1990: uint16(153), - 1991: uint16(154), - 1992: uint16(155), - 1993: uint16(156), - 1994: uint16(157), - 1995: uint16(53), - 1996: uint16(130), - 1997: uint16(116), - 1998: uint16(34), - 1999: uint16(1), - 2000: uint16(141), - 2001: uint16(5), - 2002: uint16(22), - 2003: uint16(115), - 2004: uint16(161), - 2005: uint16(68), - 2006: uint16(25), - 2007: uint16(68), - 2008: uint16(75), - 2009: uint16(41), - 2010: uint16(141), - 2011: uint16(115), - 2012: uint16(24), - 2013: uint16(20), - 2014: uint16(19), - 2015: uint16(131), - 2016: uint16(125), - 2017: uint16(23), - 2018: uint16(28), - 2019: uint16(22), - 2020: uint16(67), - 2021: uint16(22), - 2022: uint16(22), - 2023: uint16(22), - 2024: uint16(67), - 2025: uint16(59), - 2026: uint16(24), - 2027: uint16(96), - 2028: uint16(22), - 2029: uint16(67), - 2030: uint16(23), - 2031: uint16(149), - 2032: uint16(22), - 2033: uint16(25), - 2034: uint16(23), - 2035: uint16(23), - 2036: uint16(23), - 2037: uint16(22), - 2038: uint16(34), - 2039: uint16(141), - 2040: uint16(37), - 2041: uint16(97), - 2042: uint16(23), - 2043: uint16(23), - 2044: uint16(116), - 2045: uint16(22), - 2046: uint16(143), - 2047: uint16(25), - 2048: uint16(34), - 2049: uint16(75), - 2050: uint16(34), - 2051: uint16(34), - 2052: uint16(34), - 2053: uint16(88), - 2054: uint16(75), - 2055: uint16(34), - 2056: uint16(86), - 2057: uint16(23), + 1903: uint16(158), + 1904: uint16(292), + 1905: uint16(62), + 1906: uint16(291), + 1907: uint16(201), + 1908: uint16(200), + 1909: uint16(22), + 1910: uint16(201), + 1911: uint16(222), + 1912: uint16(200), + 1913: uint16(222), + 1914: uint16(201), + 1915: uint16(200), + 1916: uint16(115), + 1917: uint16(219), + 1918: uint16(219), + 1919: uint16(64), + 1920: uint16(219), + 1921: uint16(228), + 1922: uint16(22), + 1923: uint16(126), + 1924: uint16(221), + 1925: uint16(133), + 1926: uint16(165), + 1927: uint16(222), + 1928: uint16(100), + 1929: uint16(225), + 1930: uint16(138), + 1931: uint16(139), + 1932: uint16(225), + 1933: uint16(219), + 1934: uint16(106), + 1935: uint16(107), + 1936: uint16(24), + 1937: uint16(219), + 1938: uint16(228), + 1939: uint16(219), + 1940: uint16(219), + 1941: uint16(307), + 1942: uint16(114), + 1943: uint16(113), + 1944: uint16(116), + 1945: uint16(117), + 1946: uint16(118), + 1947: uint16(315), + 1948: uint16(284), + 1949: uint16(121), + 1950: uint16(284), + 1951: uint16(222), + 1952: uint16(201), + 1953: uint16(91), + 1954: uint16(162), + 1955: uint16(320), + 1956: uint16(320), + 1957: uint16(82), + 1958: uint16(148), + 1959: uint16(267), + 1960: uint16(145), + 1961: uint16(267), + 1962: uint16(22), + 1963: uint16(279), + 1964: uint16(201), + 1965: uint16(158), + 1966: uint16(281), + 1967: uint16(251), + 1968: uint16(147), + 1969: uint16(146), + 1970: uint16(25), + 1971: uint16(203), + 1972: uint16(250), + 1973: uint16(249), + 1974: uint16(251), + 1975: uint16(248), + 1976: uint16(13), + 1977: uint16(247), + 1978: uint16(195), + 1979: uint16(195), + 1980: uint16(6), + 1981: uint16(153), + 1982: uint16(154), + 1983: uint16(155), + 1984: uint16(156), + 1985: uint16(157), + 1986: uint16(193), + 1987: uint16(193), + 1988: uint16(305), + 1989: uint16(193), + 1990: uint16(208), + 1991: uint16(305), + 1992: uint16(302), + 1993: uint16(214), + 1994: uint16(214), + 1995: uint16(214), + 1996: uint16(208), + 1997: uint16(223), + 1998: uint16(223), + 1999: uint16(214), + 2000: uint16(4), + 2001: uint16(215), + 2002: uint16(215), + 2003: uint16(214), + 2004: uint16(3), + 2005: uint16(22), + 2006: uint16(208), + 2007: uint16(163), + 2008: uint16(15), + 2009: uint16(23), + 2010: uint16(16), + 2011: uint16(183), + 2012: uint16(23), + 2013: uint16(139), + 2014: uint16(151), + 2015: uint16(130), + 2016: uint16(25), + 2017: uint16(20), + 2018: uint16(142), + 2019: uint16(24), + 2020: uint16(16), + 2021: uint16(144), + 2022: uint16(1), + 2023: uint16(142), + 2024: uint16(130), + 2025: uint16(130), + 2026: uint16(61), + 2027: uint16(37), + 2028: uint16(53), + 2029: uint16(151), + 2030: uint16(53), + 2031: uint16(53), + 2032: uint16(53), + 2033: uint16(130), + 2034: uint16(116), + 2035: uint16(1), + 2036: uint16(34), + 2037: uint16(141), + 2038: uint16(5), + 2039: uint16(22), + 2040: uint16(115), + 2041: uint16(161), + 2042: uint16(75), + 2043: uint16(25), + 2044: uint16(68), + 2045: uint16(141), + 2046: uint16(41), + 2047: uint16(115), + 2048: uint16(68), + 2049: uint16(24), + 2050: uint16(20), + 2051: uint16(19), + 2052: uint16(131), + 2053: uint16(125), + 2054: uint16(67), + 2055: uint16(67), + 2056: uint16(96), + 2057: uint16(22), 2058: uint16(22), - 2059: uint16(34), - 2060: uint16(93), - 2061: uint16(24), - 2062: uint16(34), - 2063: uint16(25), - 2064: uint16(25), - 2065: uint16(142), - 2066: uint16(142), + 2059: uint16(22), + 2060: uint16(37), + 2061: uint16(23), + 2062: uint16(22), + 2063: uint16(24), + 2064: uint16(22), + 2065: uint16(59), + 2066: uint16(67), 2067: uint16(23), - 2068: uint16(44), - 2069: uint16(23), - 2070: uint16(23), - 2071: uint16(23), + 2068: uint16(149), + 2069: uint16(28), + 2070: uint16(22), + 2071: uint16(25), 2072: uint16(23), - 2073: uint16(11), + 2073: uint16(23), 2074: uint16(23), - 2075: uint16(25), - 2076: uint16(22), - 2077: uint16(22), - 2078: uint16(22), - 2079: uint16(141), + 2075: uint16(22), + 2076: uint16(141), + 2077: uint16(34), + 2078: uint16(97), + 2079: uint16(23), 2080: uint16(23), - 2081: uint16(23), - 2082: uint16(22), + 2081: uint16(34), + 2082: uint16(116), 2083: uint16(22), - 2084: uint16(25), - 2085: uint16(15), - 2086: uint16(1), - 2087: uint16(23), - 2088: uint16(25), - 2089: uint16(1), - 2090: uint16(141), - 2091: uint16(135), - 2092: uint16(319), - 2093: uint16(319), - 2094: uint16(319), - 2095: uint16(319), - 2096: uint16(319), - 2097: uint16(319), - 2098: uint16(319), - 2099: uint16(141), - 2100: uint16(319), - 2101: uint16(319), - 2102: uint16(319), - 2103: uint16(319), - 2104: uint16(319), - 2105: uint16(319), - 2106: uint16(319), - 2107: uint16(319), - 2108: uint16(319), - 2109: uint16(319), - 2110: uint16(319), - 2111: uint16(319), - 2112: uint16(319), - 2113: uint16(319), - 2114: uint16(319), - 2115: uint16(319), - 2116: uint16(319), - 2117: uint16(319), - 2118: uint16(319), - 2119: uint16(319), - 2120: uint16(319), - 2121: uint16(319), - 2122: uint16(319), - 2123: uint16(319), - 2124: uint16(319), - 2125: uint16(319), - 2126: uint16(319), - 2127: uint16(319), - 2128: uint16(319), - 2129: uint16(319), - 2130: uint16(319), - 2131: uint16(319), - 2132: uint16(319), - 2133: uint16(319), - 2134: uint16(319), - 2135: uint16(319), - 2136: uint16(319), - 2137: uint16(319), - 2138: uint16(319), - 2139: uint16(319), - 2140: uint16(319), - 2141: uint16(319), - 2142: uint16(319), - 2143: uint16(319), - 2144: uint16(319), - 2145: uint16(319), - 2146: uint16(319), - 2147: uint16(319), - 2148: uint16(319), - 2149: uint16(319), - 2150: uint16(319), - 2151: uint16(319), - 2152: uint16(319), - 2153: uint16(319), - 2154: uint16(319), - 2155: uint16(319), - 2156: uint16(319), - 2157: uint16(319), - 2158: uint16(319), - 2159: uint16(319), - 2160: uint16(319), - 2161: uint16(319), - 2162: uint16(319), - 2163: uint16(319), - 2164: uint16(319), - 2165: uint16(319), - 2166: uint16(319), - 2167: uint16(319), - 2168: uint16(319), - 2169: uint16(319), - 2170: uint16(319), - 2171: uint16(319), - 2172: uint16(319), - 2173: uint16(319), - 2174: uint16(319), - 2175: uint16(319), - 2176: uint16(319), - 2177: uint16(319), - 2178: uint16(319), - 2179: uint16(319), - 2180: uint16(319), - 2181: uint16(319), - 2182: uint16(319), - 2183: uint16(319), - 2184: uint16(319), - 2185: uint16(319), - 2186: uint16(319), - 2187: uint16(319), - 2188: uint16(319), - 2189: uint16(319), - 2190: uint16(319), - 2191: uint16(319), - 2192: uint16(319), - 2193: uint16(319), - 2194: uint16(319), - 2195: uint16(319), - 2196: uint16(319), - 2197: uint16(319), - 2198: uint16(319), - 2199: uint16(319), - 2200: uint16(319), - 2201: uint16(319), - 2202: uint16(319), - 2203: uint16(319), - 2204: uint16(319), - 2205: uint16(319), - 2206: uint16(319), - 2207: uint16(319), - 2208: uint16(319), - 2209: uint16(319), - 2210: uint16(319), - 2211: uint16(319), - 2212: uint16(319), - 2213: uint16(319), - 2214: uint16(319), - 2215: uint16(319), - 2216: uint16(319), - 2217: uint16(319), - 2218: uint16(319), - 2219: uint16(319), - 2220: uint16(319), - 2221: uint16(319), - 2222: uint16(319), - 2223: uint16(319), - 2224: uint16(319), - 2225: uint16(319), - 2226: uint16(319), - 2227: uint16(319), - 2228: uint16(319), - 2229: uint16(319), - 2230: uint16(319), - 2231: uint16(319), - 2232: uint16(319), - 2233: uint16(319), - 2234: uint16(319), - 2235: uint16(319), - 2236: uint16(319), - 2237: uint16(319), - 2238: uint16(319), - 2239: uint16(319), - 2240: uint16(319), - 2241: uint16(319), - 2242: uint16(319), - 2243: uint16(319), - 2244: uint16(319), - 2245: uint16(319), - 2246: uint16(319), - 2247: uint16(319), - 2248: uint16(319), - 2249: uint16(319), - 2250: uint16(319), - 2251: uint16(319), - 2252: uint16(319), - 2253: uint16(319), - 2254: uint16(319), - 2255: uint16(319), - 2256: uint16(319), - 2257: uint16(319), - 2258: uint16(319), - 2259: uint16(319), - 2260: uint16(319), - 2261: uint16(319), - 2262: uint16(319), - 2263: uint16(319), - 2264: uint16(319), - 2265: uint16(319), - 2266: uint16(319), - 2267: uint16(319), - 2268: uint16(319), - 2269: uint16(319), - 2270: uint16(319), - 2271: uint16(319), - 2272: uint16(319), - 2273: uint16(319), - 2274: uint16(319), - 2275: uint16(319), - 2276: uint16(319), - 2277: uint16(319), - 2278: uint16(319), - 2279: uint16(319), - 2280: uint16(319), - 2281: uint16(319), - 2282: uint16(319), - 2283: uint16(319), - 2284: uint16(319), -} -var _yy_shift_ofst = [579]uint16{ - 0: uint16(1648), - 1: uint16(1477), - 2: uint16(1272), + 2084: uint16(143), + 2085: uint16(25), + 2086: uint16(34), + 2087: uint16(75), + 2088: uint16(34), + 2089: uint16(34), + 2090: uint16(75), + 2091: uint16(88), + 2092: uint16(34), + 2093: uint16(86), + 2094: uint16(23), + 2095: uint16(22), + 2096: uint16(34), + 2097: uint16(25), + 2098: uint16(24), + 2099: uint16(34), + 2100: uint16(25), + 2101: uint16(93), + 2102: uint16(23), + 2103: uint16(44), + 2104: uint16(142), + 2105: uint16(23), + 2106: uint16(142), + 2107: uint16(23), + 2108: uint16(23), + 2109: uint16(22), + 2110: uint16(11), + 2111: uint16(25), + 2112: uint16(23), + 2113: uint16(25), + 2114: uint16(23), + 2115: uint16(22), + 2116: uint16(22), + 2117: uint16(22), + 2118: uint16(1), + 2119: uint16(23), + 2120: uint16(23), + 2121: uint16(23), + 2122: uint16(22), + 2123: uint16(22), + 2124: uint16(15), + 2125: uint16(141), + 2126: uint16(141), + 2127: uint16(25), + 2128: uint16(25), + 2129: uint16(1), + 2130: uint16(322), + 2131: uint16(322), + 2132: uint16(322), + 2133: uint16(135), + 2134: uint16(322), + 2135: uint16(322), + 2136: uint16(322), + 2137: uint16(322), + 2138: uint16(322), + 2139: uint16(322), + 2140: uint16(322), + 2141: uint16(141), + 2142: uint16(322), + 2143: uint16(322), + 2144: uint16(322), + 2145: uint16(322), + 2146: uint16(322), + 2147: uint16(322), + 2148: uint16(322), + 2149: uint16(322), + 2150: uint16(322), + 2151: uint16(322), + 2152: uint16(322), + 2153: uint16(322), + 2154: uint16(322), + 2155: uint16(322), + 2156: uint16(322), + 2157: uint16(322), + 2158: uint16(322), + 2159: uint16(322), + 2160: uint16(322), + 2161: uint16(322), + 2162: uint16(322), + 2163: uint16(322), + 2164: uint16(322), + 2165: uint16(322), + 2166: uint16(322), + 2167: uint16(322), + 2168: uint16(322), + 2169: uint16(322), + 2170: uint16(322), + 2171: uint16(322), + 2172: uint16(322), + 2173: uint16(322), + 2174: uint16(322), + 2175: uint16(322), + 2176: uint16(322), + 2177: uint16(322), + 2178: uint16(322), + 2179: uint16(322), + 2180: uint16(322), + 2181: uint16(322), + 2182: uint16(322), + 2183: uint16(322), + 2184: uint16(322), + 2185: uint16(322), + 2186: uint16(322), + 2187: uint16(322), + 2188: uint16(322), + 2189: uint16(322), + 2190: uint16(322), + 2191: uint16(322), + 2192: uint16(322), + 2193: uint16(322), + 2194: uint16(322), + 2195: uint16(322), + 2196: uint16(322), + 2197: uint16(322), + 2198: uint16(322), + 2199: uint16(322), + 2200: uint16(322), + 2201: uint16(322), + 2202: uint16(322), + 2203: uint16(322), + 2204: uint16(322), + 2205: uint16(322), + 2206: uint16(322), + 2207: uint16(322), + 2208: uint16(322), + 2209: uint16(322), + 2210: uint16(322), + 2211: uint16(322), + 2212: uint16(322), + 2213: uint16(322), + 2214: uint16(322), + 2215: uint16(322), + 2216: uint16(322), + 2217: uint16(322), + 2218: uint16(322), + 2219: uint16(322), + 2220: uint16(322), + 2221: uint16(322), + 2222: uint16(322), + 2223: uint16(322), + 2224: uint16(322), + 2225: uint16(322), + 2226: uint16(322), + 2227: uint16(322), + 2228: uint16(322), + 2229: uint16(322), + 2230: uint16(322), + 2231: uint16(322), + 2232: uint16(322), + 2233: uint16(322), + 2234: uint16(322), + 2235: uint16(322), + 2236: uint16(322), + 2237: uint16(322), + 2238: uint16(322), + 2239: uint16(322), + 2240: uint16(322), + 2241: uint16(322), + 2242: uint16(322), + 2243: uint16(322), + 2244: uint16(322), + 2245: uint16(322), + 2246: uint16(322), + 2247: uint16(322), + 2248: uint16(322), + 2249: uint16(322), + 2250: uint16(322), + 2251: uint16(322), + 2252: uint16(322), + 2253: uint16(322), + 2254: uint16(322), + 2255: uint16(322), + 2256: uint16(322), + 2257: uint16(322), + 2258: uint16(322), + 2259: uint16(322), + 2260: uint16(322), + 2261: uint16(322), + 2262: uint16(322), + 2263: uint16(322), + 2264: uint16(322), + 2265: uint16(322), + 2266: uint16(322), + 2267: uint16(322), + 2268: uint16(322), + 2269: uint16(322), + 2270: uint16(322), + 2271: uint16(322), + 2272: uint16(322), + 2273: uint16(322), + 2274: uint16(322), + 2275: uint16(322), + 2276: uint16(322), + 2277: uint16(322), + 2278: uint16(322), + 2279: uint16(322), + 2280: uint16(322), + 2281: uint16(322), + 2282: uint16(322), + 2283: uint16(322), + 2284: uint16(322), + 2285: uint16(322), + 2286: uint16(322), + 2287: uint16(322), + 2288: uint16(322), + 2289: uint16(322), + 2290: uint16(322), + 2291: uint16(322), + 2292: uint16(322), + 2293: uint16(322), + 2294: uint16(322), + 2295: uint16(322), + 2296: uint16(322), + 2297: uint16(322), + 2298: uint16(322), + 2299: uint16(322), + 2300: uint16(322), + 2301: uint16(322), + 2302: uint16(322), + 2303: uint16(322), + 2304: uint16(322), + 2305: uint16(322), + 2306: uint16(322), + 2307: uint16(322), + 2308: uint16(322), + 2309: uint16(322), + 2310: uint16(322), + 2311: uint16(322), + 2312: uint16(322), + 2313: uint16(322), + 2314: uint16(322), + 2315: uint16(322), + 2316: uint16(322), + 2317: uint16(322), + 2318: uint16(322), + 2319: uint16(322), + 2320: uint16(322), + 2321: uint16(322), + 2322: uint16(322), + 2323: uint16(322), + 2324: uint16(322), + 2325: uint16(322), + 2326: uint16(322), + 2327: uint16(322), +} +var _yy_shift_ofst = [583]uint16{ + 0: uint16(1792), + 1: uint16(1588), + 2: uint16(1494), 3: uint16(322), 4: uint16(322), - 5: uint16(1), - 6: uint16(1319), - 7: uint16(1478), - 8: uint16(1491), - 9: uint16(1837), - 10: uint16(1837), - 11: uint16(1837), - 12: uint16(471), - 15: uint16(214), - 16: uint16(1093), - 17: uint16(1837), - 18: uint16(1837), - 19: uint16(1837), - 20: uint16(1837), - 21: uint16(1837), - 22: uint16(1837), - 23: uint16(1837), - 24: uint16(1837), - 25: uint16(1837), - 26: uint16(1837), - 27: uint16(1837), - 28: uint16(1837), - 29: uint16(1837), - 30: uint16(1837), - 31: uint16(271), - 32: uint16(271), - 33: uint16(1219), - 34: uint16(1219), - 35: uint16(216), - 36: uint16(88), - 37: uint16(1), - 38: uint16(1), - 39: uint16(1), - 40: uint16(1), - 41: uint16(1), - 42: uint16(40), - 43: uint16(111), - 44: uint16(258), - 45: uint16(361), - 46: uint16(469), - 47: uint16(512), - 48: uint16(583), - 49: uint16(622), - 50: uint16(693), - 51: uint16(732), - 52: uint16(803), - 53: uint16(842), - 54: uint16(913), - 55: uint16(1073), - 56: uint16(1093), - 57: uint16(1093), - 58: uint16(1093), - 59: uint16(1093), - 60: uint16(1093), - 61: uint16(1093), - 62: uint16(1093), - 63: uint16(1093), - 64: uint16(1093), + 5: uint16(399), + 6: uint16(306), + 7: uint16(1319), + 8: uint16(1339), + 9: uint16(1430), + 10: uint16(1828), + 11: uint16(1828), + 12: uint16(1828), + 13: uint16(580), + 14: uint16(399), + 15: uint16(399), + 16: uint16(399), + 17: uint16(399), + 18: uint16(399), + 21: uint16(214), + 22: uint16(1093), + 23: uint16(1828), + 24: uint16(1828), + 25: uint16(1828), + 26: uint16(1828), + 27: uint16(1828), + 28: uint16(1828), + 29: uint16(1828), + 30: uint16(1828), + 31: uint16(1828), + 32: uint16(1828), + 33: uint16(1828), + 34: uint16(1828), + 35: uint16(1828), + 36: uint16(1828), + 37: uint16(1828), + 38: uint16(1130), + 39: uint16(1130), + 40: uint16(365), + 41: uint16(365), + 42: uint16(55), + 43: uint16(278), + 44: uint16(436), + 45: uint16(713), + 46: uint16(713), + 47: uint16(201), + 48: uint16(201), + 49: uint16(201), + 50: uint16(201), + 51: uint16(40), + 52: uint16(111), + 53: uint16(258), + 54: uint16(361), + 55: uint16(469), + 56: uint16(512), + 57: uint16(583), + 58: uint16(622), + 59: uint16(693), + 60: uint16(732), + 61: uint16(803), + 62: uint16(842), + 63: uint16(913), + 64: uint16(1073), 65: uint16(1093), 66: uint16(1093), 67: uint16(1093), @@ -156788,1505 +158200,1514 @@ var _yy_shift_ofst = [579]uint16{ 71: uint16(1093), 72: uint16(1093), 73: uint16(1093), - 74: uint16(1113), + 74: uint16(1093), 75: uint16(1093), - 76: uint16(1216), - 77: uint16(957), - 78: uint16(957), - 79: uint16(1635), - 80: uint16(1662), - 81: uint16(1777), - 82: uint16(1837), - 83: uint16(1837), - 84: uint16(1837), - 85: uint16(1837), - 86: uint16(1837), - 87: uint16(1837), - 88: uint16(1837), - 89: uint16(1837), - 90: uint16(1837), - 91: uint16(1837), - 92: uint16(1837), - 93: uint16(1837), - 94: uint16(1837), - 95: uint16(1837), - 96: uint16(1837), - 97: uint16(1837), - 98: uint16(1837), - 99: uint16(1837), - 100: uint16(1837), - 101: uint16(1837), - 102: uint16(1837), - 103: uint16(1837), - 104: uint16(1837), - 105: uint16(1837), - 106: uint16(1837), - 107: uint16(1837), - 108: uint16(1837), - 109: uint16(1837), - 110: uint16(1837), - 111: uint16(1837), - 112: uint16(1837), - 113: uint16(1837), - 114: uint16(1837), - 115: uint16(1837), - 116: uint16(1837), - 117: uint16(1837), - 118: uint16(1837), - 119: uint16(1837), - 120: uint16(1837), - 121: uint16(1837), - 122: uint16(1837), - 123: uint16(1837), - 124: uint16(1837), - 125: uint16(1837), - 126: uint16(1837), - 127: uint16(1837), - 128: uint16(1837), - 129: uint16(1837), - 130: uint16(1837), - 131: uint16(137), - 132: uint16(181), - 133: uint16(181), - 134: uint16(181), - 135: uint16(181), - 136: uint16(181), - 137: uint16(181), - 138: uint16(181), - 139: uint16(94), - 140: uint16(430), - 141: uint16(66), - 142: uint16(65), - 143: uint16(112), - 144: uint16(366), - 145: uint16(533), - 146: uint16(533), - 147: uint16(740), - 148: uint16(1257), - 149: uint16(533), - 150: uint16(533), - 151: uint16(79), - 152: uint16(79), - 153: uint16(533), - 154: uint16(412), - 155: uint16(412), - 156: uint16(412), - 157: uint16(77), - 158: uint16(412), - 159: uint16(123), - 160: uint16(113), - 161: uint16(113), - 162: uint16(113), - 163: uint16(22), - 164: uint16(22), - 165: uint16(2100), - 166: uint16(2100), - 167: uint16(328), - 168: uint16(328), - 169: uint16(328), - 170: uint16(239), - 171: uint16(468), - 172: uint16(468), - 173: uint16(468), - 174: uint16(468), - 175: uint16(1015), - 176: uint16(1015), - 177: uint16(409), - 178: uint16(366), - 179: uint16(1187), - 180: uint16(1232), - 181: uint16(533), - 182: uint16(533), - 183: uint16(533), - 184: uint16(533), - 185: uint16(533), - 186: uint16(533), - 187: uint16(533), - 188: uint16(533), - 189: uint16(533), - 190: uint16(533), - 191: uint16(533), - 192: uint16(533), - 193: uint16(533), - 194: uint16(533), - 195: uint16(533), - 196: uint16(533), - 197: uint16(533), - 198: uint16(533), - 199: uint16(533), - 200: uint16(533), - 201: uint16(969), - 202: uint16(621), - 203: uint16(621), - 204: uint16(533), - 205: uint16(642), - 206: uint16(788), - 207: uint16(788), - 208: uint16(1133), - 209: uint16(1133), - 210: uint16(822), - 211: uint16(822), - 212: uint16(67), - 213: uint16(1193), - 214: uint16(2100), - 215: uint16(2100), - 216: uint16(2100), - 217: uint16(2100), - 218: uint16(2100), - 219: uint16(2100), - 220: uint16(2100), - 221: uint16(1307), - 222: uint16(954), - 223: uint16(954), - 224: uint16(585), - 225: uint16(472), - 226: uint16(640), - 227: uint16(387), - 228: uint16(695), - 229: uint16(538), - 230: uint16(541), - 231: uint16(700), - 232: uint16(533), - 233: uint16(533), - 234: uint16(533), - 235: uint16(533), - 236: uint16(533), - 237: uint16(533), - 238: uint16(533), - 239: uint16(533), - 240: uint16(533), - 241: uint16(533), - 242: uint16(222), - 243: uint16(533), - 244: uint16(533), - 245: uint16(533), - 246: uint16(533), - 247: uint16(533), - 248: uint16(533), - 249: uint16(533), - 250: uint16(533), - 251: uint16(533), - 252: uint16(533), - 253: uint16(533), - 254: uint16(533), - 255: uint16(1213), - 256: uint16(1213), - 257: uint16(1213), - 258: uint16(533), - 259: uint16(533), - 260: uint16(533), - 261: uint16(565), - 262: uint16(533), - 263: uint16(533), - 264: uint16(533), - 265: uint16(916), - 266: uint16(1147), - 267: uint16(533), - 268: uint16(533), - 269: uint16(1288), - 270: uint16(533), - 271: uint16(533), - 272: uint16(533), - 273: uint16(533), - 274: uint16(533), - 275: uint16(533), - 276: uint16(533), - 277: uint16(533), - 278: uint16(639), - 279: uint16(1280), - 280: uint16(209), - 281: uint16(1129), - 282: uint16(1129), - 283: uint16(1129), - 284: uint16(1129), - 285: uint16(580), - 286: uint16(209), - 287: uint16(209), - 288: uint16(1209), - 289: uint16(768), - 290: uint16(917), - 291: uint16(649), - 292: uint16(1315), - 293: uint16(1334), - 294: uint16(405), - 295: uint16(1334), - 296: uint16(1383), - 297: uint16(249), - 298: uint16(1315), - 299: uint16(1315), - 300: uint16(249), - 301: uint16(1315), - 302: uint16(405), - 303: uint16(1383), - 304: uint16(1441), - 305: uint16(464), - 306: uint16(1245), - 307: uint16(1417), - 308: uint16(1417), - 309: uint16(1417), - 310: uint16(1323), - 311: uint16(1323), - 312: uint16(1323), - 313: uint16(1323), - 314: uint16(184), - 315: uint16(184), - 316: uint16(1335), - 317: uint16(1476), - 318: uint16(856), - 319: uint16(1482), - 320: uint16(1744), - 321: uint16(1744), - 322: uint16(1665), - 323: uint16(1665), - 324: uint16(1773), - 325: uint16(1773), - 326: uint16(1665), - 327: uint16(1669), - 328: uint16(1671), - 329: uint16(1802), - 330: uint16(1782), - 331: uint16(1809), - 332: uint16(1809), - 333: uint16(1809), - 334: uint16(1809), - 335: uint16(1665), - 336: uint16(1817), - 337: uint16(1690), - 338: uint16(1671), - 339: uint16(1671), - 340: uint16(1690), - 341: uint16(1802), - 342: uint16(1782), - 343: uint16(1690), - 344: uint16(1782), - 345: uint16(1690), - 346: uint16(1665), - 347: uint16(1817), - 348: uint16(1693), - 349: uint16(1791), - 350: uint16(1665), - 351: uint16(1817), - 352: uint16(1832), - 353: uint16(1665), - 354: uint16(1817), - 355: uint16(1665), - 356: uint16(1817), - 357: uint16(1832), - 358: uint16(1752), - 359: uint16(1752), - 360: uint16(1752), - 361: uint16(1805), - 362: uint16(1850), - 363: uint16(1850), - 364: uint16(1832), - 365: uint16(1752), - 366: uint16(1749), - 367: uint16(1752), - 368: uint16(1805), - 369: uint16(1752), - 370: uint16(1752), - 371: uint16(1713), - 372: uint16(1858), - 373: uint16(1775), - 374: uint16(1775), - 375: uint16(1832), - 376: uint16(1665), - 377: uint16(1799), - 378: uint16(1799), - 379: uint16(1823), - 380: uint16(1823), - 381: uint16(1761), - 382: uint16(1765), - 383: uint16(1890), - 384: uint16(1665), - 385: uint16(1757), - 386: uint16(1761), - 387: uint16(1771), - 388: uint16(1774), - 389: uint16(1690), - 390: uint16(1894), - 391: uint16(1913), - 392: uint16(1913), - 393: uint16(1929), - 394: uint16(1929), - 395: uint16(1929), - 396: uint16(2100), - 397: uint16(2100), - 398: uint16(2100), - 399: uint16(2100), - 400: uint16(2100), - 401: uint16(2100), - 402: uint16(2100), - 403: uint16(2100), - 404: uint16(2100), - 405: uint16(2100), - 406: uint16(2100), - 407: uint16(2100), - 408: uint16(2100), - 409: uint16(2100), - 410: uint16(2100), - 411: uint16(207), - 412: uint16(1220), - 413: uint16(331), - 414: uint16(620), - 415: uint16(967), - 416: uint16(806), - 417: uint16(1074), - 418: uint16(1499), - 419: uint16(1432), - 420: uint16(1463), - 421: uint16(1479), - 422: uint16(1419), - 423: uint16(1422), - 424: uint16(1557), - 425: uint16(1512), - 426: uint16(1598), - 427: uint16(1599), - 428: uint16(1644), - 429: uint16(1645), - 430: uint16(1654), - 431: uint16(1660), - 432: uint16(1555), - 433: uint16(1505), - 434: uint16(1684), - 435: uint16(1462), - 436: uint16(1670), - 437: uint16(1563), - 438: uint16(1619), - 439: uint16(1593), - 440: uint16(1676), - 441: uint16(1679), - 442: uint16(1613), - 443: uint16(1680), - 444: uint16(1554), - 445: uint16(1558), - 446: uint16(1689), - 447: uint16(1692), - 448: uint16(1605), - 449: uint16(1589), - 450: uint16(1955), - 451: uint16(1959), - 452: uint16(1941), - 453: uint16(1803), - 454: uint16(1950), - 455: uint16(1951), - 456: uint16(1945), - 457: uint16(1946), - 458: uint16(1831), - 459: uint16(1820), - 460: uint16(1842), - 461: uint16(1948), - 462: uint16(1948), - 463: uint16(1952), - 464: uint16(1833), - 465: uint16(1954), - 466: uint16(1834), - 467: uint16(1961), - 468: uint16(1978), - 469: uint16(1838), - 470: uint16(1851), - 471: uint16(1948), - 472: uint16(1852), - 473: uint16(1922), - 474: uint16(1947), - 475: uint16(1948), - 476: uint16(1836), - 477: uint16(1932), - 478: uint16(1935), - 479: uint16(1936), - 480: uint16(1942), - 481: uint16(1866), - 482: uint16(1881), - 483: uint16(1964), - 484: uint16(1859), - 485: uint16(1998), - 486: uint16(1996), - 487: uint16(1980), - 488: uint16(1888), - 489: uint16(1843), - 490: uint16(1937), - 491: uint16(1981), - 492: uint16(1939), - 493: uint16(1933), - 494: uint16(1968), - 495: uint16(1869), - 496: uint16(1896), - 497: uint16(1988), - 498: uint16(1993), - 499: uint16(1995), - 500: uint16(1884), - 501: uint16(1891), - 502: uint16(1997), - 503: uint16(1953), - 504: uint16(1999), - 505: uint16(2000), - 506: uint16(1994), - 507: uint16(2001), - 508: uint16(1957), - 509: uint16(1966), - 510: uint16(2002), - 511: uint16(1931), - 512: uint16(1990), - 513: uint16(2006), - 514: uint16(1962), - 515: uint16(2003), - 516: uint16(2007), - 517: uint16(2004), - 518: uint16(1882), - 519: uint16(2010), - 520: uint16(2011), - 521: uint16(2012), - 522: uint16(2008), - 523: uint16(2013), - 524: uint16(2015), - 525: uint16(1944), - 526: uint16(1898), - 527: uint16(2019), - 528: uint16(2020), - 529: uint16(1928), - 530: uint16(2014), - 531: uint16(2023), - 532: uint16(1903), - 533: uint16(2022), - 534: uint16(2016), - 535: uint16(2017), - 536: uint16(2018), - 537: uint16(2021), - 538: uint16(1965), - 539: uint16(1974), - 540: uint16(1970), - 541: uint16(2024), - 542: uint16(1979), - 543: uint16(1967), - 544: uint16(2025), - 545: uint16(2034), - 546: uint16(2036), - 547: uint16(2037), - 548: uint16(2038), - 549: uint16(2039), - 550: uint16(2028), - 551: uint16(1923), - 552: uint16(1924), - 553: uint16(2044), - 554: uint16(2022), - 555: uint16(2046), - 556: uint16(2047), - 557: uint16(2048), - 558: uint16(2049), - 559: uint16(2050), - 560: uint16(2051), - 561: uint16(2054), - 562: uint16(2062), - 563: uint16(2055), - 564: uint16(2056), - 565: uint16(2057), - 566: uint16(2058), - 567: uint16(2060), - 568: uint16(2061), - 569: uint16(2059), - 570: uint16(1956), - 571: uint16(1938), - 572: uint16(1949), - 573: uint16(1958), - 574: uint16(2063), - 575: uint16(2064), - 576: uint16(2070), - 577: uint16(2085), - 578: uint16(2088), -} -var _yy_reduce_ofst = [411]int16{ - 0: int16(-int32(125)), - 1: int16(733), - 2: int16(789), - 3: int16(241), - 4: int16(293), - 5: int16(-int32(123)), - 6: int16(-int32(193)), - 7: int16(-int32(191)), - 8: int16(-int32(183)), - 9: int16(-int32(187)), - 10: int16(166), - 11: int16(238), - 12: int16(133), - 13: int16(-int32(207)), - 14: int16(-int32(199)), - 15: int16(-int32(267)), - 16: int16(-int32(176)), - 17: int16(-int32(6)), - 18: int16(204), - 19: int16(489), - 20: int16(576), - 21: int16(598), - 22: int16(-int32(175)), - 23: int16(686), - 24: int16(860), - 25: int16(615), - 26: int16(725), - 27: int16(1014), - 28: int16(778), - 29: int16(781), - 30: int16(857), - 31: int16(616), - 32: int16(887), - 33: int16(87), - 34: int16(240), - 35: int16(-int32(192)), - 36: int16(408), - 37: int16(626), - 38: int16(796), - 39: int16(843), - 40: int16(854), - 41: int16(1004), - 42: int16(-int32(271)), - 43: int16(-int32(271)), - 44: int16(-int32(271)), - 45: int16(-int32(271)), - 46: int16(-int32(271)), - 47: int16(-int32(271)), - 48: int16(-int32(271)), - 49: int16(-int32(271)), - 50: int16(-int32(271)), - 51: int16(-int32(271)), - 52: int16(-int32(271)), - 53: int16(-int32(271)), - 54: int16(-int32(271)), - 55: int16(-int32(271)), - 56: int16(-int32(271)), - 57: int16(-int32(271)), - 58: int16(-int32(271)), - 59: int16(-int32(271)), - 60: int16(-int32(271)), - 61: int16(-int32(271)), - 62: int16(-int32(271)), - 63: int16(-int32(271)), - 64: int16(-int32(271)), - 65: int16(-int32(271)), - 66: int16(-int32(271)), - 67: int16(-int32(271)), - 68: int16(-int32(271)), - 69: int16(-int32(271)), - 70: int16(-int32(271)), - 71: int16(-int32(271)), - 72: int16(-int32(271)), - 73: int16(-int32(271)), - 74: int16(-int32(271)), - 75: int16(-int32(271)), - 76: int16(-int32(271)), - 77: int16(-int32(271)), - 78: int16(-int32(271)), - 79: int16(80), - 80: int16(83), - 81: int16(313), - 82: int16(886), - 83: int16(888), - 84: int16(918), - 85: int16(938), - 86: int16(1021), - 87: int16(1034), - 88: int16(1036), - 89: int16(1141), - 90: int16(1159), - 91: int16(1163), - 92: int16(1166), - 93: int16(1168), - 94: int16(1170), - 95: int16(1176), - 96: int16(1178), - 97: int16(1180), - 98: int16(1184), - 99: int16(1196), - 100: int16(1198), - 101: int16(1205), - 102: int16(1215), - 103: int16(1225), - 104: int16(1227), - 105: int16(1236), - 106: int16(1252), - 107: int16(1254), - 108: int16(1264), - 109: int16(1303), - 110: int16(1309), - 111: int16(1312), - 112: int16(1322), - 113: int16(1325), - 114: int16(1328), - 115: int16(1337), - 116: int16(1340), - 117: int16(1343), - 118: int16(1353), - 119: int16(1371), - 120: int16(1373), - 121: int16(1384), - 122: int16(1386), - 123: int16(1411), - 124: int16(1413), - 125: int16(1420), - 126: int16(1424), - 127: int16(1426), - 128: int16(1458), - 129: int16(1470), - 130: int16(1473), - 131: int16(-int32(271)), - 132: int16(-int32(271)), - 133: int16(-int32(271)), - 134: int16(-int32(271)), - 135: int16(-int32(271)), - 136: int16(-int32(271)), - 137: int16(-int32(271)), - 138: int16(-int32(271)), - 139: int16(-int32(271)), - 140: int16(-int32(271)), - 141: int16(-int32(271)), - 142: int16(138), - 143: int16(459), - 144: int16(396), - 145: int16(-int32(158)), - 146: int16(470), - 147: int16(302), - 148: int16(-int32(212)), - 149: int16(521), - 150: int16(201), - 151: int16(-int32(195)), - 152: int16(-int32(92)), - 153: int16(559), - 154: int16(630), - 155: int16(632), - 156: int16(630), - 157: int16(-int32(271)), - 158: int16(632), - 159: int16(901), - 160: int16(63), - 161: int16(407), - 162: int16(670), - 163: int16(-int32(271)), - 164: int16(-int32(271)), - 165: int16(-int32(271)), - 166: int16(-int32(271)), - 167: int16(161), - 168: int16(161), - 169: int16(161), - 170: int16(251), - 171: int16(335), - 172: int16(847), - 173: int16(979), - 174: int16(1097), - 175: int16(537), - 176: int16(588), - 177: int16(618), - 178: int16(628), - 179: int16(688), - 180: int16(688), - 181: int16(-int32(166)), - 182: int16(-int32(161)), - 183: int16(674), - 184: int16(787), - 185: int16(794), - 186: int16(799), - 187: int16(852), - 188: int16(996), - 189: int16(-int32(122)), - 190: int16(837), - 191: int16(-int32(120)), - 192: int16(1018), - 193: int16(1035), - 194: int16(415), - 195: int16(1047), - 196: int16(1001), - 197: int16(958), - 198: int16(1082), - 199: int16(400), - 200: int16(1099), - 201: int16(779), - 202: int16(1137), - 203: int16(1142), - 204: int16(263), - 205: int16(1083), - 206: int16(1145), - 207: int16(1150), - 208: int16(1041), - 209: int16(1139), - 210: int16(965), - 211: int16(1050), - 212: int16(362), - 213: int16(849), - 214: int16(752), - 215: int16(629), - 216: int16(675), - 217: int16(1162), - 218: int16(1173), - 219: int16(1090), - 220: int16(1195), - 221: int16(-int32(194)), - 222: int16(56), - 223: int16(185), - 224: int16(-int32(135)), - 225: int16(232), - 226: int16(522), - 227: int16(560), - 228: int16(571), - 229: int16(601), - 230: int16(617), - 231: int16(669), - 232: int16(683), - 233: int16(711), - 234: int16(850), - 235: int16(893), - 236: int16(1000), - 237: int16(1040), - 238: int16(1049), - 239: int16(1081), - 240: int16(1087), - 241: int16(1101), - 242: int16(392), - 243: int16(1114), - 244: int16(1123), - 245: int16(1155), - 246: int16(1161), - 247: int16(1175), - 248: int16(1271), - 249: int16(1293), - 250: int16(1299), - 251: int16(1330), - 252: int16(1339), - 253: int16(1342), - 254: int16(1347), - 255: int16(593), - 256: int16(1282), - 257: int16(1286), - 258: int16(1350), - 259: int16(1359), - 260: int16(1368), - 261: int16(1314), - 262: int16(1480), - 263: int16(1483), - 264: int16(1507), - 265: int16(1085), - 266: int16(1338), - 267: int16(1526), - 268: int16(1527), - 269: int16(1487), - 270: int16(1531), - 271: int16(560), - 272: int16(1532), - 273: int16(1534), - 274: int16(1535), - 275: int16(1538), - 276: int16(1539), - 277: int16(1541), - 278: int16(1448), - 279: int16(1450), - 280: int16(1496), - 281: int16(1484), - 282: int16(1485), - 283: int16(1489), - 284: int16(1490), - 285: int16(1314), - 286: int16(1496), - 287: int16(1496), - 288: int16(1504), - 289: int16(1536), - 290: int16(1564), - 291: int16(1451), - 292: int16(1486), - 293: int16(1492), - 294: int16(1509), - 295: int16(1493), - 296: int16(1465), - 297: int16(1515), - 298: int16(1494), - 299: int16(1495), - 300: int16(1517), - 301: int16(1500), - 302: int16(1519), - 303: int16(1474), - 304: int16(1550), - 305: int16(1543), - 306: int16(1548), - 307: int16(1556), - 308: int16(1565), - 309: int16(1566), - 310: int16(1518), - 311: int16(1523), - 312: int16(1542), - 313: int16(1544), - 314: int16(1525), - 315: int16(1545), - 316: int16(1513), - 317: int16(1553), - 318: int16(1552), - 319: int16(1604), - 320: int16(1508), - 321: int16(1510), - 322: int16(1608), - 323: int16(1609), - 324: int16(1520), - 325: int16(1528), - 326: int16(1612), - 327: int16(1540), - 328: int16(1559), - 329: int16(1560), - 330: int16(1592), - 331: int16(1591), - 332: int16(1595), - 333: int16(1596), - 334: int16(1597), - 335: int16(1629), - 336: int16(1638), - 337: int16(1594), - 338: int16(1569), - 339: int16(1570), - 340: int16(1600), - 341: int16(1568), - 342: int16(1610), - 343: int16(1601), - 344: int16(1611), - 345: int16(1603), - 346: int16(1643), - 347: int16(1651), - 348: int16(1562), - 349: int16(1571), - 350: int16(1655), - 351: int16(1659), - 352: int16(1640), - 353: int16(1663), - 354: int16(1666), - 355: int16(1664), - 356: int16(1667), - 357: int16(1641), - 358: int16(1650), - 359: int16(1652), - 360: int16(1653), - 361: int16(1647), - 362: int16(1656), - 363: int16(1657), - 364: int16(1658), - 365: int16(1668), - 366: int16(1672), - 367: int16(1681), - 368: int16(1649), - 369: int16(1682), - 370: int16(1683), - 371: int16(1573), - 372: int16(1582), - 373: int16(1607), - 374: int16(1615), - 375: int16(1685), - 376: int16(1702), - 377: int16(1586), - 378: int16(1587), - 379: int16(1642), - 380: int16(1646), - 381: int16(1673), - 382: int16(1675), - 383: int16(1636), - 384: int16(1714), - 385: int16(1637), - 386: int16(1677), - 387: int16(1674), - 388: int16(1678), - 389: int16(1694), - 390: int16(1719), - 391: int16(1734), - 392: int16(1735), - 393: int16(1746), - 394: int16(1747), - 395: int16(1750), - 396: int16(1633), - 397: int16(1661), + 76: uint16(1093), + 77: uint16(1093), + 78: uint16(1093), + 79: uint16(1093), + 80: uint16(1093), + 81: uint16(1093), + 82: uint16(1093), + 83: uint16(1113), + 84: uint16(1093), + 85: uint16(1216), + 86: uint16(957), + 87: uint16(957), + 88: uint16(1523), + 89: uint16(1602), + 90: uint16(1674), + 91: uint16(1828), + 92: uint16(1828), + 93: uint16(1828), + 94: uint16(1828), + 95: uint16(1828), + 96: uint16(1828), + 97: uint16(1828), + 98: uint16(1828), + 99: uint16(1828), + 100: uint16(1828), + 101: uint16(1828), + 102: uint16(1828), + 103: uint16(1828), + 104: uint16(1828), + 105: uint16(1828), + 106: uint16(1828), + 107: uint16(1828), + 108: uint16(1828), + 109: uint16(1828), + 110: uint16(1828), + 111: uint16(1828), + 112: uint16(1828), + 113: uint16(1828), + 114: uint16(1828), + 115: uint16(1828), + 116: uint16(1828), + 117: uint16(1828), + 118: uint16(1828), + 119: uint16(1828), + 120: uint16(1828), + 121: uint16(1828), + 122: uint16(1828), + 123: uint16(1828), + 124: uint16(1828), + 125: uint16(1828), + 126: uint16(1828), + 127: uint16(1828), + 128: uint16(1828), + 129: uint16(1828), + 130: uint16(1828), + 131: uint16(1828), + 132: uint16(1828), + 133: uint16(1828), + 134: uint16(1828), + 135: uint16(1828), + 136: uint16(1828), + 137: uint16(1828), + 138: uint16(1828), + 139: uint16(1828), + 140: uint16(137), + 141: uint16(181), + 142: uint16(181), + 143: uint16(181), + 144: uint16(181), + 145: uint16(181), + 146: uint16(181), + 147: uint16(181), + 148: uint16(96), + 149: uint16(222), + 150: uint16(143), + 151: uint16(477), + 152: uint16(713), + 153: uint16(1133), + 154: uint16(1268), + 155: uint16(713), + 156: uint16(713), + 157: uint16(79), + 158: uint16(79), + 159: uint16(713), + 160: uint16(770), + 161: uint16(83), + 162: uint16(65), + 163: uint16(65), + 164: uint16(65), + 165: uint16(288), + 166: uint16(162), + 167: uint16(162), + 168: uint16(2142), + 169: uint16(2142), + 170: uint16(696), + 171: uint16(696), + 172: uint16(696), + 173: uint16(238), + 174: uint16(474), + 175: uint16(474), + 176: uint16(474), + 177: uint16(474), + 178: uint16(1217), + 179: uint16(1217), + 180: uint16(678), + 181: uint16(477), + 182: uint16(324), + 183: uint16(398), + 184: uint16(713), + 185: uint16(713), + 186: uint16(713), + 187: uint16(713), + 188: uint16(713), + 189: uint16(713), + 190: uint16(713), + 191: uint16(713), + 192: uint16(713), + 193: uint16(713), + 194: uint16(713), + 195: uint16(713), + 196: uint16(713), + 197: uint16(713), + 198: uint16(713), + 199: uint16(713), + 200: uint16(713), + 201: uint16(713), + 202: uint16(713), + 203: uint16(1220), + 204: uint16(366), + 205: uint16(366), + 206: uint16(713), + 207: uint16(917), + 208: uint16(283), + 209: uint16(283), + 210: uint16(434), + 211: uint16(434), + 212: uint16(605), + 213: uint16(605), + 214: uint16(1298), + 215: uint16(2142), + 216: uint16(2142), + 217: uint16(2142), + 218: uint16(2142), + 219: uint16(2142), + 220: uint16(2142), + 221: uint16(2142), + 222: uint16(1179), + 223: uint16(1157), + 224: uint16(1157), + 225: uint16(487), + 226: uint16(527), + 227: uint16(585), + 228: uint16(645), + 229: uint16(749), + 230: uint16(914), + 231: uint16(968), + 232: uint16(752), + 233: uint16(713), + 234: uint16(713), + 235: uint16(713), + 236: uint16(713), + 237: uint16(713), + 238: uint16(713), + 239: uint16(713), + 240: uint16(713), + 241: uint16(713), + 242: uint16(713), + 243: uint16(303), + 244: uint16(713), + 245: uint16(713), + 246: uint16(713), + 247: uint16(713), + 248: uint16(713), + 249: uint16(713), + 250: uint16(713), + 251: uint16(713), + 252: uint16(713), + 253: uint16(713), + 254: uint16(713), + 255: uint16(713), + 256: uint16(797), + 257: uint16(797), + 258: uint16(797), + 259: uint16(713), + 260: uint16(713), + 261: uint16(713), + 262: uint16(959), + 263: uint16(713), + 264: uint16(713), + 265: uint16(713), + 266: uint16(1169), + 267: uint16(1271), + 268: uint16(713), + 269: uint16(713), + 270: uint16(1330), + 271: uint16(713), + 272: uint16(713), + 273: uint16(713), + 274: uint16(713), + 275: uint16(713), + 276: uint16(713), + 277: uint16(713), + 278: uint16(713), + 279: uint16(629), + 280: uint16(7), + 281: uint16(91), + 282: uint16(876), + 283: uint16(876), + 284: uint16(876), + 285: uint16(876), + 286: uint16(953), + 287: uint16(91), + 288: uint16(91), + 289: uint16(1246), + 290: uint16(1065), + 291: uint16(1106), + 292: uint16(1374), + 293: uint16(1329), + 294: uint16(1348), + 295: uint16(468), + 296: uint16(1348), + 297: uint16(1394), + 298: uint16(785), + 299: uint16(1329), + 300: uint16(1329), + 301: uint16(785), + 302: uint16(1329), + 303: uint16(468), + 304: uint16(1394), + 305: uint16(859), + 306: uint16(854), + 307: uint16(1402), + 308: uint16(1449), + 309: uint16(1449), + 310: uint16(1449), + 311: uint16(1173), + 312: uint16(1173), + 313: uint16(1173), + 314: uint16(1173), + 315: uint16(1355), + 316: uint16(1355), + 317: uint16(1030), + 318: uint16(1341), + 319: uint16(405), + 320: uint16(1230), + 321: uint16(1795), + 322: uint16(1795), + 323: uint16(1711), + 324: uint16(1711), + 325: uint16(1829), + 326: uint16(1829), + 327: uint16(1711), + 328: uint16(1717), + 329: uint16(1719), + 330: uint16(1850), + 331: uint16(1833), + 332: uint16(1860), + 333: uint16(1860), + 334: uint16(1860), + 335: uint16(1860), + 336: uint16(1711), + 337: uint16(1868), + 338: uint16(1740), + 339: uint16(1719), + 340: uint16(1719), + 341: uint16(1740), + 342: uint16(1850), + 343: uint16(1833), + 344: uint16(1740), + 345: uint16(1833), + 346: uint16(1740), + 347: uint16(1711), + 348: uint16(1868), + 349: uint16(1745), + 350: uint16(1843), + 351: uint16(1711), + 352: uint16(1868), + 353: uint16(1887), + 354: uint16(1711), + 355: uint16(1868), + 356: uint16(1711), + 357: uint16(1868), + 358: uint16(1887), + 359: uint16(1801), + 360: uint16(1801), + 361: uint16(1801), + 362: uint16(1855), + 363: uint16(1900), + 364: uint16(1900), + 365: uint16(1887), + 366: uint16(1801), + 367: uint16(1797), + 368: uint16(1801), + 369: uint16(1855), + 370: uint16(1801), + 371: uint16(1801), + 372: uint16(1761), + 373: uint16(1912), + 374: uint16(1830), + 375: uint16(1830), + 376: uint16(1887), + 377: uint16(1711), + 378: uint16(1862), + 379: uint16(1862), + 380: uint16(1875), + 381: uint16(1875), + 382: uint16(1810), + 383: uint16(1815), + 384: uint16(1940), + 385: uint16(1711), + 386: uint16(1807), + 387: uint16(1810), + 388: uint16(1821), + 389: uint16(1823), + 390: uint16(1740), + 391: uint16(1945), + 392: uint16(1963), + 393: uint16(1963), + 394: uint16(1974), + 395: uint16(1974), + 396: uint16(1974), + 397: uint16(2142), + 398: uint16(2142), + 399: uint16(2142), + 400: uint16(2142), + 401: uint16(2142), + 402: uint16(2142), + 403: uint16(2142), + 404: uint16(2142), + 405: uint16(2142), + 406: uint16(2142), + 407: uint16(2142), + 408: uint16(2142), + 409: uint16(2142), + 410: uint16(2142), + 411: uint16(2142), + 412: uint16(20), + 413: uint16(1224), + 414: uint16(256), + 415: uint16(1111), + 416: uint16(1115), + 417: uint16(1114), + 418: uint16(1192), + 419: uint16(1496), + 420: uint16(1424), + 421: uint16(1505), + 422: uint16(1427), + 423: uint16(355), + 424: uint16(1383), + 425: uint16(1537), + 426: uint16(1506), + 427: uint16(1538), + 428: uint16(1553), + 429: uint16(1583), + 430: uint16(1584), + 431: uint16(1591), + 432: uint16(1625), + 433: uint16(541), + 434: uint16(1445), + 435: uint16(1562), + 436: uint16(1450), + 437: uint16(1572), + 438: uint16(1515), + 439: uint16(1428), + 440: uint16(1532), + 441: uint16(1592), + 442: uint16(1629), + 443: uint16(1520), + 444: uint16(1630), + 445: uint16(1639), + 446: uint16(1510), + 447: uint16(1544), + 448: uint16(1662), + 449: uint16(1675), + 450: uint16(1551), + 451: uint16(48), + 452: uint16(1996), + 453: uint16(2001), + 454: uint16(1983), + 455: uint16(1844), + 456: uint16(1993), + 457: uint16(1994), + 458: uint16(1986), + 459: uint16(1989), + 460: uint16(1874), + 461: uint16(1863), + 462: uint16(1885), + 463: uint16(1991), + 464: uint16(1991), + 465: uint16(1995), + 466: uint16(1876), + 467: uint16(1997), + 468: uint16(1877), + 469: uint16(2004), + 470: uint16(2021), + 471: uint16(1881), + 472: uint16(1894), + 473: uint16(1991), + 474: uint16(1895), + 475: uint16(1965), + 476: uint16(1990), + 477: uint16(1991), + 478: uint16(1878), + 479: uint16(1975), + 480: uint16(1977), + 481: uint16(1978), + 482: uint16(1979), + 483: uint16(1903), + 484: uint16(1918), + 485: uint16(2002), + 486: uint16(1896), + 487: uint16(2034), + 488: uint16(2033), + 489: uint16(2017), + 490: uint16(1925), + 491: uint16(1880), + 492: uint16(1976), + 493: uint16(2018), + 494: uint16(1980), + 495: uint16(1967), + 496: uint16(2005), + 497: uint16(1904), + 498: uint16(1932), + 499: uint16(2025), + 500: uint16(2030), + 501: uint16(2032), + 502: uint16(1921), + 503: uint16(1928), + 504: uint16(2035), + 505: uint16(1987), + 506: uint16(2036), + 507: uint16(2037), + 508: uint16(2038), + 509: uint16(2040), + 510: uint16(1988), + 511: uint16(2006), + 512: uint16(2039), + 513: uint16(1960), + 514: uint16(2041), + 515: uint16(2042), + 516: uint16(1999), + 517: uint16(2023), + 518: uint16(2044), + 519: uint16(2043), + 520: uint16(1919), + 521: uint16(2048), + 522: uint16(2049), + 523: uint16(2050), + 524: uint16(2046), + 525: uint16(2051), + 526: uint16(2053), + 527: uint16(1981), + 528: uint16(1935), + 529: uint16(2056), + 530: uint16(2057), + 531: uint16(1966), + 532: uint16(2047), + 533: uint16(2061), + 534: uint16(1941), + 535: uint16(2060), + 536: uint16(2052), + 537: uint16(2054), + 538: uint16(2055), + 539: uint16(2058), + 540: uint16(2003), + 541: uint16(2012), + 542: uint16(2007), + 543: uint16(2059), + 544: uint16(2015), + 545: uint16(2008), + 546: uint16(2062), + 547: uint16(2071), + 548: uint16(2073), + 549: uint16(2074), + 550: uint16(2072), + 551: uint16(2075), + 552: uint16(2065), + 553: uint16(1962), + 554: uint16(1964), + 555: uint16(2079), + 556: uint16(2060), + 557: uint16(2082), + 558: uint16(2084), + 559: uint16(2085), + 560: uint16(2087), + 561: uint16(2086), + 562: uint16(2089), + 563: uint16(2088), + 564: uint16(2091), + 565: uint16(2093), + 566: uint16(2099), + 567: uint16(2094), + 568: uint16(2095), + 569: uint16(2096), + 570: uint16(2097), + 571: uint16(2100), + 572: uint16(2101), + 573: uint16(2102), + 574: uint16(1998), + 575: uint16(1984), + 576: uint16(1985), + 577: uint16(2000), + 578: uint16(2103), + 579: uint16(2098), + 580: uint16(2109), + 581: uint16(2117), + 582: uint16(2128), +} +var _yy_reduce_ofst = [412]int16{ + 0: int16(-int32(71)), + 1: int16(194), + 2: int16(343), + 3: int16(835), + 4: int16(-int32(180)), + 5: int16(-int32(177)), + 6: int16(838), + 7: int16(-int32(194)), + 8: int16(-int32(188)), + 9: int16(-int32(185)), + 10: int16(-int32(183)), + 11: int16(82), + 12: int16(183), + 13: int16(-int32(65)), + 14: int16(133), + 15: int16(245), + 16: int16(346), + 17: int16(407), + 18: int16(458), + 19: int16(-int32(178)), + 20: int16(75), + 21: int16(-int32(275)), + 22: int16(-int32(4)), + 23: int16(310), + 24: int16(312), + 25: int16(489), + 26: int16(575), + 27: int16(596), + 28: int16(463), + 29: int16(686), + 30: int16(707), + 31: int16(725), + 32: int16(780), + 33: int16(1098), + 34: int16(856), + 35: int16(778), + 36: int16(1059), + 37: int16(1090), + 38: int16(708), + 39: int16(887), + 40: int16(86), + 41: int16(448), + 42: int16(980), + 43: int16(630), + 44: int16(680), + 45: int16(681), + 46: int16(684), + 47: int16(796), + 48: int16(801), + 49: int16(796), + 50: int16(801), + 51: int16(-int32(261)), + 52: int16(-int32(261)), + 53: int16(-int32(261)), + 54: int16(-int32(261)), + 55: int16(-int32(261)), + 56: int16(-int32(261)), + 57: int16(-int32(261)), + 58: int16(-int32(261)), + 59: int16(-int32(261)), + 60: int16(-int32(261)), + 61: int16(-int32(261)), + 62: int16(-int32(261)), + 63: int16(-int32(261)), + 64: int16(-int32(261)), + 65: int16(-int32(261)), + 66: int16(-int32(261)), + 67: int16(-int32(261)), + 68: int16(-int32(261)), + 69: int16(-int32(261)), + 70: int16(-int32(261)), + 71: int16(-int32(261)), + 72: int16(-int32(261)), + 73: int16(-int32(261)), + 74: int16(-int32(261)), + 75: int16(-int32(261)), + 76: int16(-int32(261)), + 77: int16(-int32(261)), + 78: int16(-int32(261)), + 79: int16(-int32(261)), + 80: int16(-int32(261)), + 81: int16(-int32(261)), + 82: int16(-int32(261)), + 83: int16(-int32(261)), + 84: int16(-int32(261)), + 85: int16(-int32(261)), + 86: int16(-int32(261)), + 87: int16(-int32(261)), + 88: int16(391), + 89: int16(886), + 90: int16(888), + 91: int16(1013), + 92: int16(1016), + 93: int16(1081), + 94: int16(1087), + 95: int16(1151), + 96: int16(1159), + 97: int16(1177), + 98: int16(1185), + 99: int16(1188), + 100: int16(1190), + 101: int16(1194), + 102: int16(1197), + 103: int16(1203), + 104: int16(1247), + 105: int16(1260), + 106: int16(1264), + 107: int16(1267), + 108: int16(1269), + 109: int16(1273), + 110: int16(1315), + 111: int16(1322), + 112: int16(1335), + 113: int16(1337), + 114: int16(1356), + 115: int16(1362), + 116: int16(1418), + 117: int16(1425), + 118: int16(1453), + 119: int16(1457), + 120: int16(1465), + 121: int16(1473), + 122: int16(1487), + 123: int16(1495), + 124: int16(1507), + 125: int16(1517), + 126: int16(1521), + 127: int16(1534), + 128: int16(1543), + 129: int16(1546), + 130: int16(1549), + 131: int16(1552), + 132: int16(1554), + 133: int16(1560), + 134: int16(1581), + 135: int16(1590), + 136: int16(1593), + 137: int16(1595), + 138: int16(1621), + 139: int16(1623), + 140: int16(-int32(261)), + 141: int16(-int32(261)), + 142: int16(-int32(261)), + 143: int16(-int32(261)), + 144: int16(-int32(261)), + 145: int16(-int32(261)), + 146: int16(-int32(261)), + 147: int16(-int32(261)), + 148: int16(-int32(261)), + 149: int16(-int32(261)), + 150: int16(-int32(261)), + 151: int16(-int32(186)), + 152: int16(-int32(117)), + 153: int16(260), + 154: int16(263), + 155: int16(460), + 156: int16(631), + 157: int16(-int32(74)), + 158: int16(497), + 159: int16(-int32(181)), + 160: int16(-int32(261)), + 161: int16(939), + 162: int16(176), + 163: int16(274), + 164: int16(338), + 165: int16(676), + 166: int16(-int32(261)), + 167: int16(-int32(261)), + 168: int16(-int32(261)), + 169: int16(-int32(261)), + 170: int16(-int32(212)), + 171: int16(-int32(212)), + 172: int16(-int32(212)), + 173: int16(-int32(184)), + 174: int16(149), + 175: int16(777), + 176: int16(1061), + 177: int16(1103), + 178: int16(265), + 179: int16(419), + 180: int16(-int32(254)), + 181: int16(670), + 182: int16(677), + 183: int16(677), + 184: int16(-int32(11)), + 185: int16(-int32(129)), + 186: int16(184), + 187: int16(488), + 188: int16(736), + 189: int16(789), + 190: int16(805), + 191: int16(844), + 192: int16(403), + 193: int16(529), + 194: int16(579), + 195: int16(668), + 196: int16(783), + 197: int16(841), + 198: int16(1158), + 199: int16(1112), + 200: int16(806), + 201: int16(861), + 202: int16(1095), + 203: int16(846), + 204: int16(839), + 205: int16(1031), + 206: int16(-int32(189)), + 207: int16(1077), + 208: int16(1080), + 209: int16(1116), + 210: int16(1084), + 211: int16(1156), + 212: int16(1139), + 213: int16(1221), + 214: int16(46), + 215: int16(1099), + 216: int16(1037), + 217: int16(1118), + 218: int16(1171), + 219: int16(1214), + 220: int16(1210), + 221: int16(1258), + 222: int16(-int32(210)), + 223: int16(-int32(190)), + 224: int16(-int32(176)), + 225: int16(-int32(115)), + 226: int16(117), + 227: int16(262), + 228: int16(376), + 229: int16(490), + 230: int16(511), + 231: int16(520), + 232: int16(618), + 233: int16(639), + 234: int16(743), + 235: int16(901), + 236: int16(907), + 237: int16(958), + 238: int16(1014), + 239: int16(1055), + 240: int16(1108), + 241: int16(1193), + 242: int16(1244), + 243: int16(720), + 244: int16(1248), + 245: int16(1277), + 246: int16(1324), + 247: int16(1347), + 248: int16(1417), + 249: int16(1431), + 250: int16(1432), + 251: int16(1440), + 252: int16(1451), + 253: int16(1452), + 254: int16(1463), + 255: int16(1478), + 256: int16(1286), + 257: int16(1350), + 258: int16(1369), + 259: int16(1490), + 260: int16(1498), + 261: int16(1501), + 262: int16(773), + 263: int16(1509), + 264: int16(1513), + 265: int16(1528), + 266: int16(1292), + 267: int16(1367), + 268: int16(1535), + 269: int16(1536), + 270: int16(1477), + 271: int16(1542), + 272: int16(376), + 273: int16(1547), + 274: int16(1550), + 275: int16(1555), + 276: int16(1559), + 277: int16(1568), + 278: int16(1571), + 279: int16(1441), + 280: int16(1443), + 281: int16(1474), + 282: int16(1511), + 283: int16(1516), + 284: int16(1519), + 285: int16(1522), + 286: int16(773), + 287: int16(1474), + 288: int16(1474), + 289: int16(1503), + 290: int16(1567), + 291: int16(1594), + 292: int16(1484), + 293: int16(1527), + 294: int16(1556), + 295: int16(1570), + 296: int16(1557), + 297: int16(1524), + 298: int16(1573), + 299: int16(1545), + 300: int16(1548), + 301: int16(1576), + 302: int16(1561), + 303: int16(1587), + 304: int16(1540), + 305: int16(1575), + 306: int16(1606), + 307: int16(1611), + 308: int16(1622), + 309: int16(1624), + 310: int16(1626), + 311: int16(1582), + 312: int16(1597), + 313: int16(1598), + 314: int16(1599), + 315: int16(1601), + 316: int16(1603), + 317: int16(1563), + 318: int16(1608), + 319: int16(1605), + 320: int16(1604), + 321: int16(1564), + 322: int16(1566), + 323: int16(1655), + 324: int16(1660), + 325: int16(1578), + 326: int16(1579), + 327: int16(1665), + 328: int16(1586), + 329: int16(1607), + 330: int16(1610), + 331: int16(1642), + 332: int16(1641), + 333: int16(1645), + 334: int16(1646), + 335: int16(1647), + 336: int16(1679), + 337: int16(1688), + 338: int16(1644), + 339: int16(1618), + 340: int16(1619), + 341: int16(1648), + 342: int16(1628), + 343: int16(1659), + 344: int16(1649), + 345: int16(1663), + 346: int16(1650), + 347: int16(1700), + 348: int16(1702), + 349: int16(1612), + 350: int16(1615), + 351: int16(1706), + 352: int16(1708), + 353: int16(1689), + 354: int16(1709), + 355: int16(1712), + 356: int16(1713), + 357: int16(1715), + 358: int16(1691), + 359: int16(1698), + 360: int16(1699), + 361: int16(1701), + 362: int16(1693), + 363: int16(1704), + 364: int16(1707), + 365: int16(1705), + 366: int16(1714), + 367: int16(1703), + 368: int16(1718), + 369: int16(1710), + 370: int16(1720), + 371: int16(1721), + 372: int16(1632), + 373: int16(1634), + 374: int16(1664), + 375: int16(1666), + 376: int16(1729), + 377: int16(1751), + 378: int16(1635), + 379: int16(1636), + 380: int16(1692), + 381: int16(1694), + 382: int16(1716), + 383: int16(1722), + 384: int16(1684), + 385: int16(1763), + 386: int16(1685), + 387: int16(1723), + 388: int16(1724), + 389: int16(1727), + 390: int16(1730), + 391: int16(1768), + 392: int16(1783), + 393: int16(1784), + 394: int16(1793), + 395: int16(1794), + 396: int16(1796), + 397: int16(1683), 398: int16(1686), - 399: int16(1738), - 400: int16(1728), - 401: int16(1733), - 402: int16(1736), - 403: int16(1737), - 404: int16(1740), - 405: int16(1726), - 406: int16(1730), - 407: int16(1742), - 408: int16(1743), - 409: int16(1748), - 410: int16(1753), -} -var _yy_default = [579]uint16{ - 0: uint16(1648), - 1: uint16(1648), - 2: uint16(1648), - 3: uint16(1478), - 4: uint16(1243), - 5: uint16(1354), - 6: uint16(1243), - 7: uint16(1243), - 8: uint16(1243), - 9: uint16(1478), - 10: uint16(1478), - 11: uint16(1478), - 12: uint16(1243), - 13: uint16(1384), - 14: uint16(1384), - 15: uint16(1531), - 16: uint16(1276), - 17: uint16(1243), - 18: uint16(1243), - 19: uint16(1243), - 20: uint16(1243), - 21: uint16(1243), - 22: uint16(1243), - 23: uint16(1243), - 24: uint16(1243), - 25: uint16(1243), - 26: uint16(1243), - 27: uint16(1243), - 28: uint16(1477), - 29: uint16(1243), - 30: uint16(1243), - 31: uint16(1243), - 32: uint16(1243), - 33: uint16(1564), - 34: uint16(1564), - 35: uint16(1243), - 36: uint16(1243), - 37: uint16(1243), - 38: uint16(1243), - 39: uint16(1243), - 40: uint16(1243), - 41: uint16(1243), - 42: uint16(1243), - 43: uint16(1393), - 44: uint16(1243), - 45: uint16(1400), - 46: uint16(1243), - 47: uint16(1243), - 48: uint16(1243), - 49: uint16(1243), - 50: uint16(1243), - 51: uint16(1479), - 52: uint16(1480), - 53: uint16(1243), - 54: uint16(1243), - 55: uint16(1243), - 56: uint16(1530), - 57: uint16(1532), - 58: uint16(1495), - 59: uint16(1407), - 60: uint16(1406), - 61: uint16(1405), - 62: uint16(1404), - 63: uint16(1513), - 64: uint16(1372), - 65: uint16(1398), - 66: uint16(1391), - 67: uint16(1395), - 68: uint16(1474), - 69: uint16(1475), - 70: uint16(1473), - 71: uint16(1626), - 72: uint16(1480), - 73: uint16(1479), - 74: uint16(1243), - 75: uint16(1394), - 76: uint16(1442), - 77: uint16(1458), - 78: uint16(1441), - 79: uint16(1243), - 80: uint16(1243), - 81: uint16(1243), - 82: uint16(1243), - 83: uint16(1243), - 84: uint16(1243), - 85: uint16(1243), - 86: uint16(1243), - 87: uint16(1243), - 88: uint16(1243), - 89: uint16(1243), - 90: uint16(1243), - 91: uint16(1243), - 92: uint16(1243), - 93: uint16(1243), - 94: uint16(1243), - 95: uint16(1243), - 96: uint16(1243), - 97: uint16(1243), - 98: uint16(1243), - 99: uint16(1243), - 100: uint16(1243), - 101: uint16(1243), - 102: uint16(1243), - 103: uint16(1243), - 104: uint16(1243), - 105: uint16(1243), - 106: uint16(1243), - 107: uint16(1243), - 108: uint16(1243), - 109: uint16(1243), - 110: uint16(1243), - 111: uint16(1243), - 112: uint16(1243), - 113: uint16(1243), - 114: uint16(1243), - 115: uint16(1243), - 116: uint16(1243), - 117: uint16(1243), - 118: uint16(1243), - 119: uint16(1243), - 120: uint16(1243), - 121: uint16(1243), - 122: uint16(1243), - 123: uint16(1243), - 124: uint16(1243), - 125: uint16(1243), - 126: uint16(1243), - 127: uint16(1243), - 128: uint16(1243), - 129: uint16(1243), - 130: uint16(1243), - 131: uint16(1450), - 132: uint16(1457), - 133: uint16(1456), - 134: uint16(1455), - 135: uint16(1464), - 136: uint16(1454), - 137: uint16(1451), - 138: uint16(1444), - 139: uint16(1443), - 140: uint16(1445), - 141: uint16(1446), - 142: uint16(1243), - 143: uint16(1243), - 144: uint16(1267), - 145: uint16(1243), - 146: uint16(1243), - 147: uint16(1264), - 148: uint16(1318), - 149: uint16(1243), - 150: uint16(1243), - 151: uint16(1243), - 152: uint16(1243), - 153: uint16(1243), - 154: uint16(1550), - 155: uint16(1549), - 156: uint16(1243), - 157: uint16(1447), - 158: uint16(1243), - 159: uint16(1276), - 160: uint16(1435), - 161: uint16(1434), - 162: uint16(1433), - 163: uint16(1461), - 164: uint16(1448), - 165: uint16(1460), - 166: uint16(1459), - 167: uint16(1538), - 168: uint16(1600), - 169: uint16(1599), - 170: uint16(1496), - 171: uint16(1243), - 172: uint16(1243), - 173: uint16(1243), - 174: uint16(1243), - 175: uint16(1243), - 176: uint16(1243), - 177: uint16(1564), - 178: uint16(1243), - 179: uint16(1243), - 180: uint16(1243), - 181: uint16(1243), - 182: uint16(1243), - 183: uint16(1243), - 184: uint16(1243), - 185: uint16(1243), - 186: uint16(1243), - 187: uint16(1243), - 188: uint16(1243), - 189: uint16(1243), - 190: uint16(1243), - 191: uint16(1243), - 192: uint16(1243), - 193: uint16(1243), - 194: uint16(1243), - 195: uint16(1243), - 196: uint16(1243), - 197: uint16(1243), - 198: uint16(1243), - 199: uint16(1243), - 200: uint16(1243), - 201: uint16(1374), - 202: uint16(1564), - 203: uint16(1564), - 204: uint16(1243), - 205: uint16(1276), - 206: uint16(1564), - 207: uint16(1564), - 208: uint16(1375), - 209: uint16(1375), - 210: uint16(1272), - 211: uint16(1272), - 212: uint16(1378), - 213: uint16(1243), - 214: uint16(1545), - 215: uint16(1345), - 216: uint16(1345), - 217: uint16(1345), - 218: uint16(1345), - 219: uint16(1354), - 220: uint16(1345), - 221: uint16(1243), - 222: uint16(1243), - 223: uint16(1243), - 224: uint16(1243), - 225: uint16(1243), - 226: uint16(1243), - 227: uint16(1243), - 228: uint16(1243), - 229: uint16(1243), - 230: uint16(1243), - 231: uint16(1243), - 232: uint16(1243), - 233: uint16(1243), - 234: uint16(1243), - 235: uint16(1243), - 236: uint16(1535), - 237: uint16(1533), - 238: uint16(1243), - 239: uint16(1243), - 240: uint16(1243), - 241: uint16(1243), - 242: uint16(1243), - 243: uint16(1243), - 244: uint16(1243), - 245: uint16(1243), - 246: uint16(1243), - 247: uint16(1243), - 248: uint16(1243), - 249: uint16(1243), - 250: uint16(1243), - 251: uint16(1243), - 252: uint16(1243), - 253: uint16(1243), - 254: uint16(1243), - 255: uint16(1243), - 256: uint16(1243), - 257: uint16(1243), - 258: uint16(1243), - 259: uint16(1243), - 260: uint16(1243), - 261: uint16(1243), - 262: uint16(1243), - 263: uint16(1243), - 264: uint16(1243), - 265: uint16(1350), - 266: uint16(1243), - 267: uint16(1243), - 268: uint16(1243), - 269: uint16(1243), - 270: uint16(1243), - 271: uint16(1243), - 272: uint16(1243), - 273: uint16(1243), - 274: uint16(1243), - 275: uint16(1243), - 276: uint16(1243), - 277: uint16(1593), - 278: uint16(1243), - 279: uint16(1508), - 280: uint16(1332), - 281: uint16(1350), - 282: uint16(1350), - 283: uint16(1350), - 284: uint16(1350), - 285: uint16(1352), - 286: uint16(1333), - 287: uint16(1331), - 288: uint16(1344), - 289: uint16(1277), - 290: uint16(1250), - 291: uint16(1640), - 292: uint16(1410), - 293: uint16(1399), - 294: uint16(1351), - 295: uint16(1399), - 296: uint16(1637), - 297: uint16(1397), + 399: int16(1690), + 400: int16(1782), + 401: int16(1779), + 402: int16(1780), + 403: int16(1781), + 404: int16(1785), + 405: int16(1788), + 406: int16(1774), + 407: int16(1775), + 408: int16(1786), + 409: int16(1787), + 410: int16(1789), + 411: int16(1798), +} +var _yy_default = [583]uint16{ + 0: uint16(1663), + 1: uint16(1663), + 2: uint16(1663), + 3: uint16(1491), + 4: uint16(1254), + 5: uint16(1367), + 6: uint16(1254), + 7: uint16(1254), + 8: uint16(1254), + 9: uint16(1254), + 10: uint16(1491), + 11: uint16(1491), + 12: uint16(1491), + 13: uint16(1254), + 14: uint16(1254), + 15: uint16(1254), + 16: uint16(1254), + 17: uint16(1254), + 18: uint16(1254), + 19: uint16(1397), + 20: uint16(1397), + 21: uint16(1544), + 22: uint16(1287), + 23: uint16(1254), + 24: uint16(1254), + 25: uint16(1254), + 26: uint16(1254), + 27: uint16(1254), + 28: uint16(1254), + 29: uint16(1254), + 30: uint16(1254), + 31: uint16(1254), + 32: uint16(1254), + 33: uint16(1254), + 34: uint16(1254), + 35: uint16(1490), + 36: uint16(1254), + 37: uint16(1254), + 38: uint16(1254), + 39: uint16(1254), + 40: uint16(1578), + 41: uint16(1578), + 42: uint16(1254), + 43: uint16(1254), + 44: uint16(1254), + 45: uint16(1254), + 46: uint16(1254), + 47: uint16(1563), + 48: uint16(1562), + 49: uint16(1254), + 50: uint16(1254), + 51: uint16(1254), + 52: uint16(1406), + 53: uint16(1254), + 54: uint16(1413), + 55: uint16(1254), + 56: uint16(1254), + 57: uint16(1254), + 58: uint16(1254), + 59: uint16(1254), + 60: uint16(1492), + 61: uint16(1493), + 62: uint16(1254), + 63: uint16(1254), + 64: uint16(1254), + 65: uint16(1543), + 66: uint16(1545), + 67: uint16(1508), + 68: uint16(1420), + 69: uint16(1419), + 70: uint16(1418), + 71: uint16(1417), + 72: uint16(1526), + 73: uint16(1385), + 74: uint16(1411), + 75: uint16(1404), + 76: uint16(1408), + 77: uint16(1487), + 78: uint16(1488), + 79: uint16(1486), + 80: uint16(1641), + 81: uint16(1493), + 82: uint16(1492), + 83: uint16(1254), + 84: uint16(1407), + 85: uint16(1455), + 86: uint16(1471), + 87: uint16(1454), + 88: uint16(1254), + 89: uint16(1254), + 90: uint16(1254), + 91: uint16(1254), + 92: uint16(1254), + 93: uint16(1254), + 94: uint16(1254), + 95: uint16(1254), + 96: uint16(1254), + 97: uint16(1254), + 98: uint16(1254), + 99: uint16(1254), + 100: uint16(1254), + 101: uint16(1254), + 102: uint16(1254), + 103: uint16(1254), + 104: uint16(1254), + 105: uint16(1254), + 106: uint16(1254), + 107: uint16(1254), + 108: uint16(1254), + 109: uint16(1254), + 110: uint16(1254), + 111: uint16(1254), + 112: uint16(1254), + 113: uint16(1254), + 114: uint16(1254), + 115: uint16(1254), + 116: uint16(1254), + 117: uint16(1254), + 118: uint16(1254), + 119: uint16(1254), + 120: uint16(1254), + 121: uint16(1254), + 122: uint16(1254), + 123: uint16(1254), + 124: uint16(1254), + 125: uint16(1254), + 126: uint16(1254), + 127: uint16(1254), + 128: uint16(1254), + 129: uint16(1254), + 130: uint16(1254), + 131: uint16(1254), + 132: uint16(1254), + 133: uint16(1254), + 134: uint16(1254), + 135: uint16(1254), + 136: uint16(1254), + 137: uint16(1254), + 138: uint16(1254), + 139: uint16(1254), + 140: uint16(1463), + 141: uint16(1470), + 142: uint16(1469), + 143: uint16(1468), + 144: uint16(1477), + 145: uint16(1467), + 146: uint16(1464), + 147: uint16(1457), + 148: uint16(1456), + 149: uint16(1458), + 150: uint16(1459), + 151: uint16(1278), + 152: uint16(1254), + 153: uint16(1275), + 154: uint16(1329), + 155: uint16(1254), + 156: uint16(1254), + 157: uint16(1254), + 158: uint16(1254), + 159: uint16(1254), + 160: uint16(1460), + 161: uint16(1287), + 162: uint16(1448), + 163: uint16(1447), + 164: uint16(1446), + 165: uint16(1254), + 166: uint16(1474), + 167: uint16(1461), + 168: uint16(1473), + 169: uint16(1472), + 170: uint16(1551), + 171: uint16(1615), + 172: uint16(1614), + 173: uint16(1509), + 174: uint16(1254), + 175: uint16(1254), + 176: uint16(1254), + 177: uint16(1254), + 178: uint16(1254), + 179: uint16(1254), + 180: uint16(1578), + 181: uint16(1254), + 182: uint16(1254), + 183: uint16(1254), + 184: uint16(1254), + 185: uint16(1254), + 186: uint16(1254), + 187: uint16(1254), + 188: uint16(1254), + 189: uint16(1254), + 190: uint16(1254), + 191: uint16(1254), + 192: uint16(1254), + 193: uint16(1254), + 194: uint16(1254), + 195: uint16(1254), + 196: uint16(1254), + 197: uint16(1254), + 198: uint16(1254), + 199: uint16(1254), + 200: uint16(1254), + 201: uint16(1254), + 202: uint16(1254), + 203: uint16(1387), + 204: uint16(1578), + 205: uint16(1578), + 206: uint16(1254), + 207: uint16(1287), + 208: uint16(1578), + 209: uint16(1578), + 210: uint16(1388), + 211: uint16(1388), + 212: uint16(1283), + 213: uint16(1283), + 214: uint16(1391), + 215: uint16(1558), + 216: uint16(1358), + 217: uint16(1358), + 218: uint16(1358), + 219: uint16(1358), + 220: uint16(1367), + 221: uint16(1358), + 222: uint16(1254), + 223: uint16(1254), + 224: uint16(1254), + 225: uint16(1254), + 226: uint16(1254), + 227: uint16(1254), + 228: uint16(1254), + 229: uint16(1254), + 230: uint16(1254), + 231: uint16(1254), + 232: uint16(1254), + 233: uint16(1254), + 234: uint16(1254), + 235: uint16(1254), + 236: uint16(1254), + 237: uint16(1548), + 238: uint16(1546), + 239: uint16(1254), + 240: uint16(1254), + 241: uint16(1254), + 242: uint16(1254), + 243: uint16(1254), + 244: uint16(1254), + 245: uint16(1254), + 246: uint16(1254), + 247: uint16(1254), + 248: uint16(1254), + 249: uint16(1254), + 250: uint16(1254), + 251: uint16(1254), + 252: uint16(1254), + 253: uint16(1254), + 254: uint16(1254), + 255: uint16(1254), + 256: uint16(1254), + 257: uint16(1254), + 258: uint16(1254), + 259: uint16(1254), + 260: uint16(1254), + 261: uint16(1254), + 262: uint16(1254), + 263: uint16(1254), + 264: uint16(1254), + 265: uint16(1254), + 266: uint16(1363), + 267: uint16(1254), + 268: uint16(1254), + 269: uint16(1254), + 270: uint16(1254), + 271: uint16(1254), + 272: uint16(1254), + 273: uint16(1254), + 274: uint16(1254), + 275: uint16(1254), + 276: uint16(1254), + 277: uint16(1254), + 278: uint16(1608), + 279: uint16(1254), + 280: uint16(1521), + 281: uint16(1343), + 282: uint16(1363), + 283: uint16(1363), + 284: uint16(1363), + 285: uint16(1363), + 286: uint16(1365), + 287: uint16(1344), + 288: uint16(1342), + 289: uint16(1357), + 290: uint16(1288), + 291: uint16(1261), + 292: uint16(1655), + 293: uint16(1423), + 294: uint16(1412), + 295: uint16(1364), + 296: uint16(1412), + 297: uint16(1652), 298: uint16(1410), - 299: uint16(1410), - 300: uint16(1397), + 299: uint16(1423), + 300: uint16(1423), 301: uint16(1410), - 302: uint16(1351), - 303: uint16(1637), - 304: uint16(1293), - 305: uint16(1615), - 306: uint16(1288), - 307: uint16(1384), - 308: uint16(1384), - 309: uint16(1384), - 310: uint16(1374), - 311: uint16(1374), - 312: uint16(1374), - 313: uint16(1374), - 314: uint16(1378), - 315: uint16(1378), - 316: uint16(1476), - 317: uint16(1351), - 318: uint16(1344), - 319: uint16(1243), - 320: uint16(1640), - 321: uint16(1640), - 322: uint16(1360), - 323: uint16(1360), - 324: uint16(1639), - 325: uint16(1639), - 326: uint16(1360), - 327: uint16(1496), - 328: uint16(1623), - 329: uint16(1419), - 330: uint16(1321), - 331: uint16(1327), - 332: uint16(1327), - 333: uint16(1327), - 334: uint16(1327), - 335: uint16(1360), - 336: uint16(1261), - 337: uint16(1397), - 338: uint16(1623), - 339: uint16(1623), - 340: uint16(1397), - 341: uint16(1419), - 342: uint16(1321), - 343: uint16(1397), - 344: uint16(1321), - 345: uint16(1397), - 346: uint16(1360), - 347: uint16(1261), - 348: uint16(1512), - 349: uint16(1634), - 350: uint16(1360), - 351: uint16(1261), - 352: uint16(1486), - 353: uint16(1360), - 354: uint16(1261), - 355: uint16(1360), - 356: uint16(1261), - 357: uint16(1486), - 358: uint16(1319), - 359: uint16(1319), - 360: uint16(1319), - 361: uint16(1308), - 362: uint16(1243), - 363: uint16(1243), - 364: uint16(1486), - 365: uint16(1319), - 366: uint16(1293), - 367: uint16(1319), - 368: uint16(1308), + 302: uint16(1423), + 303: uint16(1364), + 304: uint16(1652), + 305: uint16(1304), + 306: uint16(1630), + 307: uint16(1299), + 308: uint16(1397), + 309: uint16(1397), + 310: uint16(1397), + 311: uint16(1387), + 312: uint16(1387), + 313: uint16(1387), + 314: uint16(1387), + 315: uint16(1391), + 316: uint16(1391), + 317: uint16(1489), + 318: uint16(1364), + 319: uint16(1357), + 320: uint16(1254), + 321: uint16(1655), + 322: uint16(1655), + 323: uint16(1373), + 324: uint16(1373), + 325: uint16(1654), + 326: uint16(1654), + 327: uint16(1373), + 328: uint16(1509), + 329: uint16(1638), + 330: uint16(1432), + 331: uint16(1332), + 332: uint16(1338), + 333: uint16(1338), + 334: uint16(1338), + 335: uint16(1338), + 336: uint16(1373), + 337: uint16(1272), + 338: uint16(1410), + 339: uint16(1638), + 340: uint16(1638), + 341: uint16(1410), + 342: uint16(1432), + 343: uint16(1332), + 344: uint16(1410), + 345: uint16(1332), + 346: uint16(1410), + 347: uint16(1373), + 348: uint16(1272), + 349: uint16(1525), + 350: uint16(1649), + 351: uint16(1373), + 352: uint16(1272), + 353: uint16(1499), + 354: uint16(1373), + 355: uint16(1272), + 356: uint16(1373), + 357: uint16(1272), + 358: uint16(1499), + 359: uint16(1330), + 360: uint16(1330), + 361: uint16(1330), + 362: uint16(1319), + 363: uint16(1254), + 364: uint16(1254), + 365: uint16(1499), + 366: uint16(1330), + 367: uint16(1304), + 368: uint16(1330), 369: uint16(1319), - 370: uint16(1319), - 371: uint16(1582), - 372: uint16(1243), - 373: uint16(1490), - 374: uint16(1490), - 375: uint16(1486), - 376: uint16(1360), - 377: uint16(1574), - 378: uint16(1574), - 379: uint16(1387), - 380: uint16(1387), - 381: uint16(1392), - 382: uint16(1378), - 383: uint16(1481), - 384: uint16(1360), - 385: uint16(1243), - 386: uint16(1392), - 387: uint16(1390), - 388: uint16(1388), - 389: uint16(1397), - 390: uint16(1311), - 391: uint16(1596), - 392: uint16(1596), - 393: uint16(1592), - 394: uint16(1592), - 395: uint16(1592), - 396: uint16(1645), - 397: uint16(1645), - 398: uint16(1545), - 399: uint16(1608), - 400: uint16(1276), - 401: uint16(1276), - 402: uint16(1276), - 403: uint16(1276), - 404: uint16(1608), - 405: uint16(1295), - 406: uint16(1295), - 407: uint16(1277), - 408: uint16(1277), - 409: uint16(1276), - 410: uint16(1608), - 411: uint16(1243), - 412: uint16(1243), - 413: uint16(1243), - 414: uint16(1243), - 415: uint16(1243), - 416: uint16(1243), - 417: uint16(1603), - 418: uint16(1243), - 419: uint16(1540), - 420: uint16(1497), - 421: uint16(1364), - 422: uint16(1243), - 423: uint16(1243), - 424: uint16(1243), - 425: uint16(1243), - 426: uint16(1243), - 427: uint16(1243), - 428: uint16(1243), - 429: uint16(1243), - 430: uint16(1243), - 431: uint16(1243), - 432: uint16(1243), - 433: uint16(1243), - 434: uint16(1243), - 435: uint16(1243), - 436: uint16(1243), - 437: uint16(1243), - 438: uint16(1551), - 439: uint16(1243), - 440: uint16(1243), - 441: uint16(1243), - 442: uint16(1243), - 443: uint16(1243), - 444: uint16(1243), - 445: uint16(1243), - 446: uint16(1243), - 447: uint16(1243), - 448: uint16(1243), - 449: uint16(1424), - 450: uint16(1243), - 451: uint16(1246), - 452: uint16(1542), - 453: uint16(1243), - 454: uint16(1243), - 455: uint16(1243), - 456: uint16(1243), - 457: uint16(1243), - 458: uint16(1243), - 459: uint16(1243), - 460: uint16(1243), - 461: uint16(1401), - 462: uint16(1402), - 463: uint16(1365), - 464: uint16(1243), - 465: uint16(1243), - 466: uint16(1243), - 467: uint16(1243), - 468: uint16(1243), - 469: uint16(1243), - 470: uint16(1243), - 471: uint16(1416), - 472: uint16(1243), - 473: uint16(1243), - 474: uint16(1243), - 475: uint16(1411), - 476: uint16(1243), - 477: uint16(1243), - 478: uint16(1243), - 479: uint16(1243), - 480: uint16(1243), - 481: uint16(1243), - 482: uint16(1243), - 483: uint16(1243), - 484: uint16(1636), - 485: uint16(1243), - 486: uint16(1243), - 487: uint16(1243), - 488: uint16(1243), - 489: uint16(1243), - 490: uint16(1243), - 491: uint16(1511), - 492: uint16(1510), - 493: uint16(1243), - 494: uint16(1243), - 495: uint16(1362), - 496: uint16(1243), - 497: uint16(1243), - 498: uint16(1243), - 499: uint16(1243), - 500: uint16(1243), - 501: uint16(1243), - 502: uint16(1243), - 503: uint16(1243), - 504: uint16(1243), - 505: uint16(1243), - 506: uint16(1243), - 507: uint16(1243), - 508: uint16(1243), - 509: uint16(1291), - 510: uint16(1243), - 511: uint16(1243), - 512: uint16(1243), - 513: uint16(1243), - 514: uint16(1243), - 515: uint16(1243), - 516: uint16(1243), - 517: uint16(1243), - 518: uint16(1243), - 519: uint16(1243), - 520: uint16(1243), - 521: uint16(1243), - 522: uint16(1243), - 523: uint16(1243), - 524: uint16(1243), - 525: uint16(1243), - 526: uint16(1243), - 527: uint16(1243), - 528: uint16(1243), - 529: uint16(1243), - 530: uint16(1243), - 531: uint16(1243), - 532: uint16(1243), - 533: uint16(1389), - 534: uint16(1243), - 535: uint16(1243), - 536: uint16(1243), - 537: uint16(1243), - 538: uint16(1243), - 539: uint16(1243), - 540: uint16(1243), - 541: uint16(1243), - 542: uint16(1243), - 543: uint16(1243), - 544: uint16(1243), - 545: uint16(1243), - 546: uint16(1243), - 547: uint16(1243), - 548: uint16(1579), - 549: uint16(1379), - 550: uint16(1243), - 551: uint16(1243), - 552: uint16(1243), - 553: uint16(1243), - 554: uint16(1627), - 555: uint16(1243), - 556: uint16(1243), - 557: uint16(1243), - 558: uint16(1243), - 559: uint16(1243), - 560: uint16(1243), - 561: uint16(1243), - 562: uint16(1243), - 563: uint16(1243), - 564: uint16(1243), - 565: uint16(1243), - 566: uint16(1243), - 567: uint16(1243), - 568: uint16(1243), - 569: uint16(1619), - 570: uint16(1335), - 571: uint16(1425), - 572: uint16(1243), - 573: uint16(1428), - 574: uint16(1265), - 575: uint16(1243), - 576: uint16(1255), - 577: uint16(1243), - 578: uint16(1243), + 370: uint16(1330), + 371: uint16(1330), + 372: uint16(1596), + 373: uint16(1254), + 374: uint16(1503), + 375: uint16(1503), + 376: uint16(1499), + 377: uint16(1373), + 378: uint16(1588), + 379: uint16(1588), + 380: uint16(1400), + 381: uint16(1400), + 382: uint16(1405), + 383: uint16(1391), + 384: uint16(1494), + 385: uint16(1373), + 386: uint16(1254), + 387: uint16(1405), + 388: uint16(1403), + 389: uint16(1401), + 390: uint16(1410), + 391: uint16(1322), + 392: uint16(1611), + 393: uint16(1611), + 394: uint16(1607), + 395: uint16(1607), + 396: uint16(1607), + 397: uint16(1660), + 398: uint16(1660), + 399: uint16(1558), + 400: uint16(1623), + 401: uint16(1287), + 402: uint16(1287), + 403: uint16(1287), + 404: uint16(1287), + 405: uint16(1623), + 406: uint16(1306), + 407: uint16(1306), + 408: uint16(1288), + 409: uint16(1288), + 410: uint16(1287), + 411: uint16(1623), + 412: uint16(1254), + 413: uint16(1254), + 414: uint16(1254), + 415: uint16(1254), + 416: uint16(1254), + 417: uint16(1254), + 418: uint16(1618), + 419: uint16(1254), + 420: uint16(1553), + 421: uint16(1510), + 422: uint16(1377), + 423: uint16(1254), + 424: uint16(1254), + 425: uint16(1254), + 426: uint16(1254), + 427: uint16(1254), + 428: uint16(1254), + 429: uint16(1254), + 430: uint16(1254), + 431: uint16(1254), + 432: uint16(1254), + 433: uint16(1254), + 434: uint16(1254), + 435: uint16(1254), + 436: uint16(1254), + 437: uint16(1254), + 438: uint16(1254), + 439: uint16(1564), + 440: uint16(1254), + 441: uint16(1254), + 442: uint16(1254), + 443: uint16(1254), + 444: uint16(1254), + 445: uint16(1254), + 446: uint16(1254), + 447: uint16(1254), + 448: uint16(1254), + 449: uint16(1254), + 450: uint16(1254), + 451: uint16(1437), + 452: uint16(1254), + 453: uint16(1257), + 454: uint16(1555), + 455: uint16(1254), + 456: uint16(1254), + 457: uint16(1254), + 458: uint16(1254), + 459: uint16(1254), + 460: uint16(1254), + 461: uint16(1254), + 462: uint16(1254), + 463: uint16(1414), + 464: uint16(1415), + 465: uint16(1378), + 466: uint16(1254), + 467: uint16(1254), + 468: uint16(1254), + 469: uint16(1254), + 470: uint16(1254), + 471: uint16(1254), + 472: uint16(1254), + 473: uint16(1429), + 474: uint16(1254), + 475: uint16(1254), + 476: uint16(1254), + 477: uint16(1424), + 478: uint16(1254), + 479: uint16(1254), + 480: uint16(1254), + 481: uint16(1254), + 482: uint16(1254), + 483: uint16(1254), + 484: uint16(1254), + 485: uint16(1254), + 486: uint16(1651), + 487: uint16(1254), + 488: uint16(1254), + 489: uint16(1254), + 490: uint16(1254), + 491: uint16(1254), + 492: uint16(1254), + 493: uint16(1524), + 494: uint16(1523), + 495: uint16(1254), + 496: uint16(1254), + 497: uint16(1375), + 498: uint16(1254), + 499: uint16(1254), + 500: uint16(1254), + 501: uint16(1254), + 502: uint16(1254), + 503: uint16(1254), + 504: uint16(1254), + 505: uint16(1254), + 506: uint16(1254), + 507: uint16(1254), + 508: uint16(1254), + 509: uint16(1254), + 510: uint16(1254), + 511: uint16(1302), + 512: uint16(1254), + 513: uint16(1254), + 514: uint16(1254), + 515: uint16(1254), + 516: uint16(1254), + 517: uint16(1254), + 518: uint16(1254), + 519: uint16(1254), + 520: uint16(1254), + 521: uint16(1254), + 522: uint16(1254), + 523: uint16(1254), + 524: uint16(1254), + 525: uint16(1254), + 526: uint16(1254), + 527: uint16(1254), + 528: uint16(1254), + 529: uint16(1254), + 530: uint16(1254), + 531: uint16(1254), + 532: uint16(1254), + 533: uint16(1254), + 534: uint16(1254), + 535: uint16(1402), + 536: uint16(1254), + 537: uint16(1254), + 538: uint16(1254), + 539: uint16(1254), + 540: uint16(1254), + 541: uint16(1254), + 542: uint16(1254), + 543: uint16(1254), + 544: uint16(1254), + 545: uint16(1254), + 546: uint16(1254), + 547: uint16(1254), + 548: uint16(1254), + 549: uint16(1254), + 550: uint16(1593), + 551: uint16(1392), + 552: uint16(1254), + 553: uint16(1254), + 554: uint16(1254), + 555: uint16(1254), + 556: uint16(1642), + 557: uint16(1254), + 558: uint16(1254), + 559: uint16(1254), + 560: uint16(1254), + 561: uint16(1352), + 562: uint16(1254), + 563: uint16(1254), + 564: uint16(1254), + 565: uint16(1254), + 566: uint16(1254), + 567: uint16(1254), + 568: uint16(1254), + 569: uint16(1254), + 570: uint16(1254), + 571: uint16(1254), + 572: uint16(1254), + 573: uint16(1634), + 574: uint16(1346), + 575: uint16(1438), + 576: uint16(1254), + 577: uint16(1441), + 578: uint16(1276), + 579: uint16(1254), + 580: uint16(1266), + 581: uint16(1254), + 582: uint16(1254), } /********** End of lemon-generated parsing tables *****************************/ @@ -158307,7 +159728,7 @@ var _yy_default = [579]uint16{ // ** to revert to identifiers if they keyword does not apply in the context where // ** it appears. // */ -var _yyFallback = [185]uint16{ +var _yyFallback = [186]uint16{ 2: uint16(59), 3: uint16(59), 4: uint16(59), @@ -158420,8 +159841,9 @@ type yyStackEntry = TyyStackEntry type TyyParser1 = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser1 = TyyParser1 @@ -158429,14 +159851,46 @@ type yyParser1 = TyyParser1 type TyyParser = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser = TyyParser /* #include */ +// C documentation +// +// /* +// ** Try to increase the size of the parser stack. Return the number +// ** of errors. Return 0 on success. +// */ +func _yyGrowStack(tls *libc.TLS, p uintptr) (r int32) { + var idx, newSize, oldSize int32 + var pNew uintptr + _, _, _, _ = idx, newSize, oldSize, pNew + oldSize = int32(1) + int32((int64((*TyyParser)(unsafe.Pointer(p)).FyystackEnd)-int64((*TyyParser)(unsafe.Pointer(p)).Fyystack))/24) + newSize = oldSize*int32(2) + int32(100) + idx = int32((int64((*TyyParser)(unsafe.Pointer(p)).Fyytos) - int64((*TyyParser)(unsafe.Pointer(p)).Fyystack)) / 24) + if (*TyyParser)(unsafe.Pointer(p)).Fyystack == p+32 { + pNew = _parserStackRealloc(tls, uintptr(0), uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + libc.Xmemcpy(tls, pNew, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(oldSize)*uint64(24)) + } else { + pNew = _parserStackRealloc(tls, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(newSize)*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + } + (*TyyParser)(unsafe.Pointer(p)).Fyystack = pNew + (*TyyParser)(unsafe.Pointer(p)).Fyytos = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(idx)*24 + (*TyyParser)(unsafe.Pointer(p)).FyystackEnd = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(newSize-int32(1))*24 + return 0 +} + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -158452,10 +159906,11 @@ func _sqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { _ = yypParser yypParser = yypRawParser (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fstateno = uint16(0) - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fmajor = uint16(0) - (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = yypParser + 16 + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack = yypParser + 32 + (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fstateno = uint16(0) + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fmajor = uint16(0) } // C documentation @@ -158483,103 +159938,105 @@ func _yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor u ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case int32(204): /* select */ + case int32(205): /* select */ fallthrough - case int32(239): /* selectnowith */ + case int32(240): /* selectnowith */ fallthrough - case int32(240): /* oneselect */ + case int32(241): /* oneselect */ fallthrough - case int32(252): /* values */ + case int32(253): /* values */ + fallthrough + case int32(255): /* mvalues */ _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(216): /* term */ + case int32(217): /* term */ fallthrough - case int32(217): /* expr */ + case int32(218): /* expr */ fallthrough - case int32(246): /* where_opt */ + case int32(247): /* where_opt */ fallthrough - case int32(248): /* having_opt */ + case int32(249): /* having_opt */ fallthrough - case int32(267): /* where_opt_ret */ + case int32(269): /* where_opt_ret */ fallthrough - case int32(278): /* case_operand */ + case int32(280): /* case_operand */ fallthrough - case int32(280): /* case_else */ + case int32(282): /* case_else */ fallthrough - case int32(283): /* vinto */ + case int32(285): /* vinto */ fallthrough - case int32(290): /* when_clause */ + case int32(292): /* when_clause */ fallthrough - case int32(295): /* key_opt */ + case int32(297): /* key_opt */ fallthrough - case int32(311): /* filter_clause */ + case int32(314): /* filter_clause */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(221): /* eidlist_opt */ + case int32(222): /* eidlist_opt */ fallthrough - case int32(231): /* sortlist */ + case int32(232): /* sortlist */ fallthrough - case int32(232): /* eidlist */ + case int32(233): /* eidlist */ fallthrough - case int32(244): /* selcollist */ + case int32(245): /* selcollist */ fallthrough - case int32(247): /* groupby_opt */ + case int32(248): /* groupby_opt */ fallthrough - case int32(249): /* orderby_opt */ + case int32(250): /* orderby_opt */ fallthrough - case int32(253): /* nexprlist */ + case int32(254): /* nexprlist */ fallthrough - case int32(254): /* sclp */ + case int32(256): /* sclp */ fallthrough - case int32(261): /* exprlist */ + case int32(263): /* exprlist */ fallthrough - case int32(268): /* setlist */ + case int32(270): /* setlist */ fallthrough - case int32(277): /* paren_exprlist */ + case int32(279): /* paren_exprlist */ fallthrough - case int32(279): /* case_exprlist */ + case int32(281): /* case_exprlist */ fallthrough - case int32(310): /* part_opt */ + case int32(313): /* part_opt */ _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(238): /* fullname */ + case int32(239): /* fullname */ fallthrough - case int32(245): /* from */ + case int32(246): /* from */ fallthrough - case int32(256): /* seltablist */ + case int32(258): /* seltablist */ fallthrough - case int32(257): /* stl_prefix */ + case int32(259): /* stl_prefix */ fallthrough - case int32(262): /* xfullname */ + case int32(264): /* xfullname */ _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(241): /* wqlist */ + case int32(242): /* wqlist */ _sqlite3WithDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(251): /* window_clause */ + case int32(252): /* window_clause */ fallthrough - case int32(306): /* windowdefn_list */ + case int32(309): /* windowdefn_list */ _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(263): /* idlist */ + case int32(265): /* idlist */ fallthrough - case int32(270): /* idlist_opt */ + case int32(272): /* idlist_opt */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(273): /* filter_over */ + case int32(275): /* filter_over */ fallthrough - case int32(307): /* windowdefn */ + case int32(310): /* windowdefn */ fallthrough - case int32(308): /* window */ + case int32(311): /* window */ fallthrough - case int32(309): /* frame_opt */ + case int32(312): /* frame_opt */ fallthrough - case int32(312): /* over_clause */ + case int32(315): /* over_clause */ _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(286): /* trigger_cmd_list */ + case int32(288): /* trigger_cmd_list */ fallthrough - case int32(291): /* trigger_cmd */ + case int32(293): /* trigger_cmd */ _sqlite3DeleteTriggerStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(288): /* trigger_event */ + case int32(290): /* trigger_event */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TTrigEvent)(unsafe.Pointer(yypminor))).Fb) - case int32(314): /* frame_bound */ + case int32(317): /* frame_bound */ fallthrough - case int32(315): /* frame_bound_s */ + case int32(318): /* frame_bound_s */ fallthrough - case int32(316): /* frame_bound_e */ + case int32(319): /* frame_bound_e */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TFrameBound)(unsafe.Pointer(yypminor))).FpExpr) break /********* End destructor definitions *****************************************/ @@ -158615,11 +160072,20 @@ func _yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var pParser, yytos uintptr + _, _ = pParser, yytos pParser = p - for (*TyyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { - _yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling yy_pop_parser_stack() for each + ** element left in the stack */ + yytos = (*TyyParser)(unsafe.Pointer(pParser)).Fyytos + for yytos > (*TyyParser)(unsafe.Pointer(pParser)).Fyystack { + if int32((*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor) >= int32(YY_MIN_DSTRCTR) { + _yy_destructor(tls, pParser, (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor, yytos+8) + } + yytos -= 24 + } + if (*TyyParser)(unsafe.Pointer(pParser)).Fyystack != pParser+32 { + Xsqlite3_free(tls, (*TyyParser)(unsafe.Pointer(pParser)).Fyystack) } } @@ -158714,13 +160180,13 @@ func _yyStackOverflow(tls *libc.TLS, yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*TyyParser)(unsafe.Pointer(yypParser)).FpParse - for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { + for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack { _yy_pop_parser_stack(tls, yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23345, 0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) /******** End %stack_overflow code ********************************************/ /* Suppress warning about unused %extra_argument var */ (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -158739,15 +160205,19 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint var yytos uintptr _ = yytos (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 - if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 - _yyStackOverflow(tls, yypParser) - return + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + if yytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { + if _yyGrowStack(tls, yypParser) != 0 { + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 + _yyStackOverflow(tls, yypParser) + return + } + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + _ = libc.Int32FromInt32(0) } if int32(yyNewState) > int32(YY_MAX_SHIFT) { yyNewState = uint16(int32(yyNewState) + (libc.Int32FromInt32(YY_MIN_REDUCE) - libc.Int32FromInt32(YY_MIN_SHIFTREDUCE))) } - yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos (*TyyStackEntry)(unsafe.Pointer(yytos)).Fstateno = yyNewState (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor = yyMajor *(*TToken)(unsafe.Pointer(yytos + 8)) = yyMinor @@ -158757,419 +160227,423 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint // // /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side // ** of that rule */ -var _yyRuleInfoLhs = [405]uint16{ - 0: uint16(189), - 1: uint16(189), - 2: uint16(188), - 3: uint16(190), - 4: uint16(191), - 5: uint16(191), - 6: uint16(191), - 7: uint16(191), - 8: uint16(190), - 9: uint16(190), - 10: uint16(190), - 11: uint16(190), - 12: uint16(190), - 13: uint16(195), - 14: uint16(197), - 15: uint16(199), - 16: uint16(199), - 17: uint16(198), - 18: uint16(198), - 19: uint16(196), - 20: uint16(196), - 21: uint16(203), - 22: uint16(203), - 23: uint16(205), - 24: uint16(205), - 25: uint16(206), - 26: uint16(208), - 27: uint16(208), - 28: uint16(208), - 29: uint16(209), - 30: uint16(213), - 31: uint16(214), - 32: uint16(215), - 33: uint16(215), - 34: uint16(215), - 35: uint16(215), - 36: uint16(215), - 37: uint16(215), - 38: uint16(215), - 39: uint16(215), - 40: uint16(215), - 41: uint16(215), - 42: uint16(215), - 43: uint16(215), - 44: uint16(215), - 45: uint16(224), - 46: uint16(224), - 47: uint16(220), - 48: uint16(220), - 49: uint16(222), - 50: uint16(222), - 51: uint16(225), - 52: uint16(225), - 53: uint16(225), - 54: uint16(225), - 55: uint16(226), - 56: uint16(226), - 57: uint16(226), - 58: uint16(226), - 59: uint16(226), - 60: uint16(223), - 61: uint16(223), - 62: uint16(227), - 63: uint16(227), - 64: uint16(227), - 65: uint16(202), - 66: uint16(229), - 67: uint16(230), - 68: uint16(230), - 69: uint16(230), - 70: uint16(230), - 71: uint16(230), - 72: uint16(233), - 73: uint16(218), - 74: uint16(218), - 75: uint16(234), - 76: uint16(234), - 77: uint16(235), - 78: uint16(235), - 79: uint16(190), - 80: uint16(237), - 81: uint16(237), - 82: uint16(190), - 83: uint16(190), - 84: uint16(190), - 85: uint16(204), - 86: uint16(204), - 87: uint16(204), - 88: uint16(239), - 89: uint16(242), - 90: uint16(242), - 91: uint16(242), - 92: uint16(240), - 93: uint16(240), - 94: uint16(252), - 95: uint16(252), - 96: uint16(243), - 97: uint16(243), - 98: uint16(243), - 99: uint16(254), +var _yyRuleInfoLhs = [409]uint16{ + 0: uint16(190), + 1: uint16(190), + 2: uint16(189), + 3: uint16(191), + 4: uint16(192), + 5: uint16(192), + 6: uint16(192), + 7: uint16(192), + 8: uint16(191), + 9: uint16(191), + 10: uint16(191), + 11: uint16(191), + 12: uint16(191), + 13: uint16(196), + 14: uint16(198), + 15: uint16(200), + 16: uint16(200), + 17: uint16(199), + 18: uint16(199), + 19: uint16(197), + 20: uint16(197), + 21: uint16(204), + 22: uint16(204), + 23: uint16(206), + 24: uint16(206), + 25: uint16(207), + 26: uint16(209), + 27: uint16(209), + 28: uint16(209), + 29: uint16(210), + 30: uint16(214), + 31: uint16(215), + 32: uint16(216), + 33: uint16(216), + 34: uint16(216), + 35: uint16(216), + 36: uint16(216), + 37: uint16(216), + 38: uint16(216), + 39: uint16(216), + 40: uint16(216), + 41: uint16(216), + 42: uint16(216), + 43: uint16(216), + 44: uint16(216), + 45: uint16(225), + 46: uint16(225), + 47: uint16(221), + 48: uint16(221), + 49: uint16(223), + 50: uint16(223), + 51: uint16(226), + 52: uint16(226), + 53: uint16(226), + 54: uint16(226), + 55: uint16(227), + 56: uint16(227), + 57: uint16(227), + 58: uint16(227), + 59: uint16(227), + 60: uint16(224), + 61: uint16(224), + 62: uint16(228), + 63: uint16(228), + 64: uint16(228), + 65: uint16(203), + 66: uint16(230), + 67: uint16(231), + 68: uint16(231), + 69: uint16(231), + 70: uint16(231), + 71: uint16(231), + 72: uint16(234), + 73: uint16(219), + 74: uint16(219), + 75: uint16(235), + 76: uint16(235), + 77: uint16(236), + 78: uint16(236), + 79: uint16(191), + 80: uint16(238), + 81: uint16(238), + 82: uint16(191), + 83: uint16(191), + 84: uint16(191), + 85: uint16(205), + 86: uint16(205), + 87: uint16(205), + 88: uint16(240), + 89: uint16(243), + 90: uint16(243), + 91: uint16(243), + 92: uint16(241), + 93: uint16(241), + 94: uint16(253), + 95: uint16(241), + 96: uint16(255), + 97: uint16(255), + 98: uint16(244), + 99: uint16(244), 100: uint16(244), - 101: uint16(244), - 102: uint16(244), - 103: uint16(255), - 104: uint16(255), - 105: uint16(245), - 106: uint16(245), - 107: uint16(257), - 108: uint16(257), - 109: uint16(256), - 110: uint16(256), - 111: uint16(256), - 112: uint16(256), - 113: uint16(256), - 114: uint16(200), - 115: uint16(200), - 116: uint16(238), - 117: uint16(238), - 118: uint16(262), - 119: uint16(262), - 120: uint16(262), - 121: uint16(262), - 122: uint16(258), - 123: uint16(258), - 124: uint16(258), - 125: uint16(258), - 126: uint16(259), - 127: uint16(259), - 128: uint16(259), - 129: uint16(264), - 130: uint16(260), - 131: uint16(260), - 132: uint16(249), - 133: uint16(249), - 134: uint16(231), - 135: uint16(231), - 136: uint16(219), - 137: uint16(219), - 138: uint16(219), - 139: uint16(265), - 140: uint16(265), - 141: uint16(265), - 142: uint16(247), - 143: uint16(247), + 101: uint16(256), + 102: uint16(245), + 103: uint16(245), + 104: uint16(245), + 105: uint16(257), + 106: uint16(257), + 107: uint16(246), + 108: uint16(246), + 109: uint16(259), + 110: uint16(259), + 111: uint16(258), + 112: uint16(258), + 113: uint16(258), + 114: uint16(258), + 115: uint16(258), + 116: uint16(201), + 117: uint16(201), + 118: uint16(239), + 119: uint16(239), + 120: uint16(264), + 121: uint16(264), + 122: uint16(264), + 123: uint16(264), + 124: uint16(260), + 125: uint16(260), + 126: uint16(260), + 127: uint16(260), + 128: uint16(261), + 129: uint16(261), + 130: uint16(261), + 131: uint16(266), + 132: uint16(262), + 133: uint16(262), + 134: uint16(250), + 135: uint16(250), + 136: uint16(232), + 137: uint16(232), + 138: uint16(220), + 139: uint16(220), + 140: uint16(220), + 141: uint16(267), + 142: uint16(267), + 143: uint16(267), 144: uint16(248), 145: uint16(248), - 146: uint16(250), - 147: uint16(250), - 148: uint16(250), - 149: uint16(250), - 150: uint16(190), - 151: uint16(246), - 152: uint16(246), - 153: uint16(267), - 154: uint16(267), - 155: uint16(267), - 156: uint16(267), - 157: uint16(190), - 158: uint16(268), - 159: uint16(268), - 160: uint16(268), - 161: uint16(268), - 162: uint16(190), - 163: uint16(190), - 164: uint16(271), - 165: uint16(271), - 166: uint16(271), - 167: uint16(271), - 168: uint16(271), - 169: uint16(271), - 170: uint16(272), - 171: uint16(269), - 172: uint16(269), - 173: uint16(270), - 174: uint16(270), - 175: uint16(263), - 176: uint16(263), - 177: uint16(217), - 178: uint16(217), - 179: uint16(217), - 180: uint16(217), - 181: uint16(216), - 182: uint16(216), - 183: uint16(216), + 146: uint16(249), + 147: uint16(249), + 148: uint16(251), + 149: uint16(251), + 150: uint16(251), + 151: uint16(251), + 152: uint16(191), + 153: uint16(247), + 154: uint16(247), + 155: uint16(269), + 156: uint16(269), + 157: uint16(269), + 158: uint16(269), + 159: uint16(191), + 160: uint16(270), + 161: uint16(270), + 162: uint16(270), + 163: uint16(270), + 164: uint16(191), + 165: uint16(191), + 166: uint16(273), + 167: uint16(273), + 168: uint16(273), + 169: uint16(273), + 170: uint16(273), + 171: uint16(273), + 172: uint16(274), + 173: uint16(271), + 174: uint16(271), + 175: uint16(272), + 176: uint16(272), + 177: uint16(265), + 178: uint16(265), + 179: uint16(218), + 180: uint16(218), + 181: uint16(218), + 182: uint16(218), + 183: uint16(217), 184: uint16(217), 185: uint16(217), - 186: uint16(217), - 187: uint16(217), - 188: uint16(217), - 189: uint16(217), - 190: uint16(217), - 191: uint16(217), - 192: uint16(217), - 193: uint16(216), - 194: uint16(217), + 186: uint16(218), + 187: uint16(218), + 188: uint16(218), + 189: uint16(218), + 190: uint16(218), + 191: uint16(218), + 192: uint16(218), + 193: uint16(218), + 194: uint16(218), 195: uint16(217), - 196: uint16(217), - 197: uint16(217), - 198: uint16(217), - 199: uint16(217), - 200: uint16(217), - 201: uint16(217), - 202: uint16(217), - 203: uint16(274), - 204: uint16(217), - 205: uint16(217), - 206: uint16(217), - 207: uint16(217), - 208: uint16(217), - 209: uint16(217), - 210: uint16(217), - 211: uint16(217), - 212: uint16(217), - 213: uint16(217), - 214: uint16(217), - 215: uint16(217), - 216: uint16(275), - 217: uint16(275), - 218: uint16(217), - 219: uint16(276), - 220: uint16(276), - 221: uint16(217), - 222: uint16(217), - 223: uint16(217), - 224: uint16(217), - 225: uint16(217), - 226: uint16(217), - 227: uint16(279), - 228: uint16(279), - 229: uint16(280), - 230: uint16(280), - 231: uint16(278), - 232: uint16(261), - 233: uint16(253), - 234: uint16(253), - 235: uint16(277), - 236: uint16(277), - 237: uint16(190), - 238: uint16(281), - 239: uint16(281), - 240: uint16(221), - 241: uint16(221), - 242: uint16(232), - 243: uint16(232), - 244: uint16(282), - 245: uint16(282), - 246: uint16(190), - 247: uint16(190), - 248: uint16(190), - 249: uint16(283), - 250: uint16(283), - 251: uint16(190), - 252: uint16(190), - 253: uint16(190), - 254: uint16(190), - 255: uint16(190), - 256: uint16(211), - 257: uint16(212), - 258: uint16(190), - 259: uint16(285), - 260: uint16(287), + 196: uint16(218), + 197: uint16(218), + 198: uint16(218), + 199: uint16(218), + 200: uint16(218), + 201: uint16(218), + 202: uint16(218), + 203: uint16(218), + 204: uint16(218), + 205: uint16(276), + 206: uint16(218), + 207: uint16(218), + 208: uint16(218), + 209: uint16(218), + 210: uint16(218), + 211: uint16(218), + 212: uint16(218), + 213: uint16(218), + 214: uint16(218), + 215: uint16(218), + 216: uint16(218), + 217: uint16(218), + 218: uint16(277), + 219: uint16(277), + 220: uint16(218), + 221: uint16(278), + 222: uint16(278), + 223: uint16(218), + 224: uint16(218), + 225: uint16(218), + 226: uint16(218), + 227: uint16(218), + 228: uint16(218), + 229: uint16(281), + 230: uint16(281), + 231: uint16(282), + 232: uint16(282), + 233: uint16(280), + 234: uint16(263), + 235: uint16(254), + 236: uint16(254), + 237: uint16(279), + 238: uint16(279), + 239: uint16(191), + 240: uint16(283), + 241: uint16(283), + 242: uint16(222), + 243: uint16(222), + 244: uint16(233), + 245: uint16(233), + 246: uint16(284), + 247: uint16(284), + 248: uint16(191), + 249: uint16(191), + 250: uint16(191), + 251: uint16(285), + 252: uint16(285), + 253: uint16(191), + 254: uint16(191), + 255: uint16(191), + 256: uint16(191), + 257: uint16(191), + 258: uint16(212), + 259: uint16(213), + 260: uint16(191), 261: uint16(287), - 262: uint16(287), - 263: uint16(288), - 264: uint16(288), - 265: uint16(288), + 262: uint16(289), + 263: uint16(289), + 264: uint16(289), + 265: uint16(290), 266: uint16(290), 267: uint16(290), - 268: uint16(286), - 269: uint16(286), - 270: uint16(292), - 271: uint16(293), - 272: uint16(293), - 273: uint16(291), - 274: uint16(291), - 275: uint16(291), - 276: uint16(291), - 277: uint16(217), - 278: uint16(217), - 279: uint16(236), - 280: uint16(236), - 281: uint16(236), - 282: uint16(190), - 283: uint16(190), - 284: uint16(190), - 285: uint16(295), - 286: uint16(295), - 287: uint16(190), - 288: uint16(190), - 289: uint16(190), - 290: uint16(190), - 291: uint16(190), - 292: uint16(190), - 293: uint16(190), - 294: uint16(296), - 295: uint16(190), - 296: uint16(190), - 297: uint16(190), - 298: uint16(298), - 299: uint16(300), - 300: uint16(301), - 301: uint16(301), - 302: uint16(302), - 303: uint16(266), - 304: uint16(266), - 305: uint16(305), - 306: uint16(305), - 307: uint16(305), - 308: uint16(304), - 309: uint16(241), - 310: uint16(241), - 311: uint16(306), - 312: uint16(307), - 313: uint16(308), - 314: uint16(308), - 315: uint16(308), - 316: uint16(308), - 317: uint16(308), - 318: uint16(309), - 319: uint16(309), - 320: uint16(309), - 321: uint16(313), - 322: uint16(315), - 323: uint16(315), + 268: uint16(292), + 269: uint16(292), + 270: uint16(288), + 271: uint16(288), + 272: uint16(294), + 273: uint16(295), + 274: uint16(295), + 275: uint16(293), + 276: uint16(293), + 277: uint16(293), + 278: uint16(293), + 279: uint16(218), + 280: uint16(218), + 281: uint16(237), + 282: uint16(237), + 283: uint16(237), + 284: uint16(191), + 285: uint16(191), + 286: uint16(191), + 287: uint16(297), + 288: uint16(297), + 289: uint16(191), + 290: uint16(191), + 291: uint16(191), + 292: uint16(191), + 293: uint16(191), + 294: uint16(191), + 295: uint16(191), + 296: uint16(298), + 297: uint16(191), + 298: uint16(191), + 299: uint16(191), + 300: uint16(300), + 301: uint16(302), + 302: uint16(303), + 303: uint16(303), + 304: uint16(304), + 305: uint16(268), + 306: uint16(268), + 307: uint16(307), + 308: uint16(307), + 309: uint16(307), + 310: uint16(306), + 311: uint16(308), + 312: uint16(242), + 313: uint16(242), + 314: uint16(309), + 315: uint16(310), + 316: uint16(311), + 317: uint16(311), + 318: uint16(311), + 319: uint16(311), + 320: uint16(311), + 321: uint16(312), + 322: uint16(312), + 323: uint16(312), 324: uint16(316), - 325: uint16(316), - 326: uint16(314), - 327: uint16(314), - 328: uint16(317), + 325: uint16(318), + 326: uint16(318), + 327: uint16(319), + 328: uint16(319), 329: uint16(317), - 330: uint16(318), - 331: uint16(318), - 332: uint16(318), - 333: uint16(251), - 334: uint16(273), - 335: uint16(273), - 336: uint16(273), - 337: uint16(312), - 338: uint16(312), - 339: uint16(311), - 340: uint16(185), - 341: uint16(186), - 342: uint16(186), - 343: uint16(187), - 344: uint16(187), + 330: uint16(317), + 331: uint16(320), + 332: uint16(320), + 333: uint16(321), + 334: uint16(321), + 335: uint16(321), + 336: uint16(252), + 337: uint16(275), + 338: uint16(275), + 339: uint16(275), + 340: uint16(315), + 341: uint16(315), + 342: uint16(314), + 343: uint16(217), + 344: uint16(186), 345: uint16(187), - 346: uint16(192), - 347: uint16(192), - 348: uint16(192), - 349: uint16(194), - 350: uint16(194), - 351: uint16(190), - 352: uint16(203), - 353: uint16(201), - 354: uint16(201), - 355: uint16(193), - 356: uint16(193), - 357: uint16(208), - 358: uint16(209), - 359: uint16(210), - 360: uint16(210), - 361: uint16(207), - 362: uint16(207), - 363: uint16(215), - 364: uint16(215), - 365: uint16(215), - 366: uint16(202), - 367: uint16(228), - 368: uint16(228), - 369: uint16(229), - 370: uint16(233), - 371: uint16(235), - 372: uint16(239), - 373: uint16(240), - 374: uint16(254), - 375: uint16(255), - 376: uint16(264), - 377: uint16(272), - 378: uint16(217), - 379: uint16(274), - 380: uint16(278), - 381: uint16(261), - 382: uint16(284), - 383: uint16(284), - 384: uint16(284), - 385: uint16(284), - 386: uint16(284), - 387: uint16(211), - 388: uint16(289), - 389: uint16(289), - 390: uint16(292), - 391: uint16(293), - 392: uint16(294), - 393: uint16(294), - 394: uint16(297), - 395: uint16(297), - 396: uint16(299), - 397: uint16(299), - 398: uint16(300), - 399: uint16(303), - 400: uint16(303), - 401: uint16(303), - 402: uint16(266), - 403: uint16(306), - 404: uint16(308), + 346: uint16(187), + 347: uint16(188), + 348: uint16(188), + 349: uint16(188), + 350: uint16(193), + 351: uint16(193), + 352: uint16(193), + 353: uint16(195), + 354: uint16(195), + 355: uint16(191), + 356: uint16(204), + 357: uint16(202), + 358: uint16(202), + 359: uint16(194), + 360: uint16(194), + 361: uint16(209), + 362: uint16(210), + 363: uint16(211), + 364: uint16(211), + 365: uint16(208), + 366: uint16(208), + 367: uint16(216), + 368: uint16(216), + 369: uint16(216), + 370: uint16(203), + 371: uint16(229), + 372: uint16(229), + 373: uint16(230), + 374: uint16(234), + 375: uint16(236), + 376: uint16(240), + 377: uint16(241), + 378: uint16(256), + 379: uint16(257), + 380: uint16(266), + 381: uint16(274), + 382: uint16(218), + 383: uint16(276), + 384: uint16(280), + 385: uint16(263), + 386: uint16(286), + 387: uint16(286), + 388: uint16(286), + 389: uint16(286), + 390: uint16(286), + 391: uint16(212), + 392: uint16(291), + 393: uint16(291), + 394: uint16(294), + 395: uint16(295), + 396: uint16(296), + 397: uint16(296), + 398: uint16(299), + 399: uint16(299), + 400: uint16(301), + 401: uint16(301), + 402: uint16(302), + 403: uint16(305), + 404: uint16(305), + 405: uint16(305), + 406: uint16(268), + 407: uint16(309), + 408: uint16(311), } // C documentation // // /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number // ** of symbols on the right-hand side of that rule. */ -var _yyRuleInfoNRhs = [405]int8{ +var _yyRuleInfoNRhs = [409]int8{ 0: int8(-int32(1)), 1: int8(-int32(3)), 2: int8(-int32(1)), @@ -159250,273 +160724,277 @@ var _yyRuleInfoNRhs = [405]int8{ 92: int8(-int32(9)), 93: int8(-int32(10)), 94: int8(-int32(4)), - 95: int8(-int32(5)), - 96: int8(-int32(1)), - 97: int8(-int32(1)), - 100: int8(-int32(5)), - 101: int8(-int32(3)), + 95: int8(-int32(1)), + 96: int8(-int32(5)), + 97: int8(-int32(5)), + 98: int8(-int32(1)), + 99: int8(-int32(1)), 102: int8(-int32(5)), - 103: int8(-int32(2)), - 106: int8(-int32(2)), - 107: int8(-int32(2)), - 109: int8(-int32(5)), - 110: int8(-int32(6)), - 111: int8(-int32(8)), + 103: int8(-int32(3)), + 104: int8(-int32(5)), + 105: int8(-int32(2)), + 108: int8(-int32(2)), + 109: int8(-int32(2)), + 111: int8(-int32(5)), 112: int8(-int32(6)), - 113: int8(-int32(6)), - 115: int8(-int32(2)), - 116: int8(-int32(1)), - 117: int8(-int32(3)), + 113: int8(-int32(8)), + 114: int8(-int32(6)), + 115: int8(-int32(6)), + 117: int8(-int32(2)), 118: int8(-int32(1)), 119: int8(-int32(3)), - 120: int8(-int32(5)), + 120: int8(-int32(1)), 121: int8(-int32(3)), - 122: int8(-int32(1)), - 123: int8(-int32(2)), - 124: int8(-int32(3)), - 125: int8(-int32(4)), - 126: int8(-int32(2)), + 122: int8(-int32(5)), + 123: int8(-int32(3)), + 124: int8(-int32(1)), + 125: int8(-int32(2)), + 126: int8(-int32(3)), 127: int8(-int32(4)), - 130: int8(-int32(3)), - 131: int8(-int32(2)), - 133: int8(-int32(3)), - 134: int8(-int32(5)), + 128: int8(-int32(2)), + 129: int8(-int32(4)), + 132: int8(-int32(3)), + 133: int8(-int32(2)), 135: int8(-int32(3)), - 136: int8(-int32(1)), - 137: int8(-int32(1)), - 139: int8(-int32(2)), - 140: int8(-int32(2)), - 143: int8(-int32(3)), - 145: int8(-int32(2)), + 136: int8(-int32(5)), + 137: int8(-int32(3)), + 138: int8(-int32(1)), + 139: int8(-int32(1)), + 141: int8(-int32(2)), + 142: int8(-int32(2)), + 145: int8(-int32(3)), 147: int8(-int32(2)), - 148: int8(-int32(4)), - 149: int8(-int32(4)), - 150: int8(-int32(6)), - 152: int8(-int32(2)), + 149: int8(-int32(2)), + 150: int8(-int32(4)), + 151: int8(-int32(4)), + 152: int8(-int32(6)), 154: int8(-int32(2)), - 155: int8(-int32(2)), - 156: int8(-int32(4)), - 157: int8(-int32(9)), - 158: int8(-int32(5)), - 159: int8(-int32(7)), - 160: int8(-int32(3)), - 161: int8(-int32(5)), - 162: int8(-int32(7)), - 163: int8(-int32(8)), - 165: int8(-int32(2)), - 166: int8(-int32(12)), - 167: int8(-int32(9)), - 168: int8(-int32(5)), - 169: int8(-int32(8)), - 170: int8(-int32(2)), - 171: int8(-int32(2)), - 172: int8(-int32(1)), - 174: int8(-int32(3)), - 175: int8(-int32(3)), - 176: int8(-int32(1)), + 156: int8(-int32(2)), + 157: int8(-int32(2)), + 158: int8(-int32(4)), + 159: int8(-int32(9)), + 160: int8(-int32(5)), + 161: int8(-int32(7)), + 162: int8(-int32(3)), + 163: int8(-int32(5)), + 164: int8(-int32(7)), + 165: int8(-int32(8)), + 167: int8(-int32(2)), + 168: int8(-int32(12)), + 169: int8(-int32(9)), + 170: int8(-int32(5)), + 171: int8(-int32(8)), + 172: int8(-int32(2)), + 173: int8(-int32(2)), + 174: int8(-int32(1)), + 176: int8(-int32(3)), 177: int8(-int32(3)), 178: int8(-int32(1)), 179: int8(-int32(3)), - 180: int8(-int32(5)), - 181: int8(-int32(1)), - 182: int8(-int32(1)), + 180: int8(-int32(1)), + 181: int8(-int32(3)), + 182: int8(-int32(5)), 183: int8(-int32(1)), 184: int8(-int32(1)), - 185: int8(-int32(3)), - 186: int8(-int32(6)), - 187: int8(-int32(5)), - 188: int8(-int32(8)), - 189: int8(-int32(4)), - 190: int8(-int32(6)), - 191: int8(-int32(9)), - 192: int8(-int32(5)), - 193: int8(-int32(1)), + 185: int8(-int32(1)), + 186: int8(-int32(1)), + 187: int8(-int32(3)), + 188: int8(-int32(6)), + 189: int8(-int32(5)), + 190: int8(-int32(8)), + 191: int8(-int32(4)), + 192: int8(-int32(6)), + 193: int8(-int32(9)), 194: int8(-int32(5)), - 195: int8(-int32(3)), - 196: int8(-int32(3)), + 195: int8(-int32(1)), + 196: int8(-int32(5)), 197: int8(-int32(3)), 198: int8(-int32(3)), 199: int8(-int32(3)), 200: int8(-int32(3)), 201: int8(-int32(3)), 202: int8(-int32(3)), - 203: int8(-int32(2)), + 203: int8(-int32(3)), 204: int8(-int32(3)), - 205: int8(-int32(5)), - 206: int8(-int32(2)), - 207: int8(-int32(3)), - 208: int8(-int32(3)), - 209: int8(-int32(4)), - 210: int8(-int32(6)), - 211: int8(-int32(5)), - 212: int8(-int32(2)), - 213: int8(-int32(2)), + 205: int8(-int32(2)), + 206: int8(-int32(3)), + 207: int8(-int32(5)), + 208: int8(-int32(2)), + 209: int8(-int32(3)), + 210: int8(-int32(3)), + 211: int8(-int32(4)), + 212: int8(-int32(6)), + 213: int8(-int32(5)), 214: int8(-int32(2)), - 215: int8(-int32(3)), - 216: int8(-int32(1)), - 217: int8(-int32(2)), - 218: int8(-int32(5)), - 219: int8(-int32(1)), - 220: int8(-int32(2)), - 221: int8(-int32(5)), - 222: int8(-int32(3)), + 215: int8(-int32(2)), + 216: int8(-int32(2)), + 217: int8(-int32(3)), + 218: int8(-int32(1)), + 219: int8(-int32(2)), + 220: int8(-int32(5)), + 221: int8(-int32(1)), + 222: int8(-int32(2)), 223: int8(-int32(5)), - 224: int8(-int32(5)), - 225: int8(-int32(4)), + 224: int8(-int32(3)), + 225: int8(-int32(5)), 226: int8(-int32(5)), - 227: int8(-int32(5)), - 228: int8(-int32(4)), - 229: int8(-int32(2)), - 233: int8(-int32(3)), - 234: int8(-int32(1)), - 236: int8(-int32(3)), - 237: int8(-int32(12)), - 238: int8(-int32(1)), - 241: int8(-int32(3)), - 242: int8(-int32(5)), + 227: int8(-int32(4)), + 228: int8(-int32(5)), + 229: int8(-int32(5)), + 230: int8(-int32(4)), + 231: int8(-int32(2)), + 235: int8(-int32(3)), + 236: int8(-int32(1)), + 238: int8(-int32(3)), + 239: int8(-int32(12)), + 240: int8(-int32(1)), 243: int8(-int32(3)), - 245: int8(-int32(2)), - 246: int8(-int32(4)), + 244: int8(-int32(5)), + 245: int8(-int32(3)), 247: int8(-int32(2)), - 248: int8(-int32(3)), + 248: int8(-int32(4)), 249: int8(-int32(2)), - 251: int8(-int32(3)), - 252: int8(-int32(5)), - 253: int8(-int32(6)), + 250: int8(-int32(3)), + 251: int8(-int32(2)), + 253: int8(-int32(3)), 254: int8(-int32(5)), 255: int8(-int32(6)), - 256: int8(-int32(2)), - 257: int8(-int32(2)), - 258: int8(-int32(5)), - 259: int8(-int32(11)), - 260: int8(-int32(1)), - 261: int8(-int32(2)), - 263: int8(-int32(1)), - 264: int8(-int32(1)), - 265: int8(-int32(3)), - 267: int8(-int32(2)), - 268: int8(-int32(3)), + 256: int8(-int32(5)), + 257: int8(-int32(6)), + 258: int8(-int32(2)), + 259: int8(-int32(2)), + 260: int8(-int32(5)), + 261: int8(-int32(11)), + 262: int8(-int32(1)), + 263: int8(-int32(2)), + 265: int8(-int32(1)), + 266: int8(-int32(1)), + 267: int8(-int32(3)), 269: int8(-int32(2)), 270: int8(-int32(3)), - 271: int8(-int32(3)), - 272: int8(-int32(2)), - 273: int8(-int32(9)), - 274: int8(-int32(8)), - 275: int8(-int32(6)), - 276: int8(-int32(3)), - 277: int8(-int32(4)), - 278: int8(-int32(6)), - 279: int8(-int32(1)), - 280: int8(-int32(1)), + 271: int8(-int32(2)), + 272: int8(-int32(3)), + 273: int8(-int32(3)), + 274: int8(-int32(2)), + 275: int8(-int32(9)), + 276: int8(-int32(8)), + 277: int8(-int32(6)), + 278: int8(-int32(3)), + 279: int8(-int32(4)), + 280: int8(-int32(6)), 281: int8(-int32(1)), - 282: int8(-int32(4)), - 283: int8(-int32(6)), - 284: int8(-int32(3)), - 286: int8(-int32(2)), - 287: int8(-int32(1)), - 288: int8(-int32(3)), + 282: int8(-int32(1)), + 283: int8(-int32(1)), + 284: int8(-int32(4)), + 285: int8(-int32(6)), + 286: int8(-int32(3)), + 288: int8(-int32(2)), 289: int8(-int32(1)), 290: int8(-int32(3)), - 291: int8(-int32(6)), - 292: int8(-int32(7)), + 291: int8(-int32(1)), + 292: int8(-int32(3)), 293: int8(-int32(6)), - 294: int8(-int32(1)), - 295: int8(-int32(8)), + 294: int8(-int32(7)), + 295: int8(-int32(6)), 296: int8(-int32(1)), - 297: int8(-int32(4)), - 298: int8(-int32(8)), - 300: int8(-int32(1)), - 301: int8(-int32(3)), + 297: int8(-int32(8)), + 298: int8(-int32(1)), + 299: int8(-int32(4)), + 300: int8(-int32(8)), 302: int8(-int32(1)), - 303: int8(-int32(2)), - 304: int8(-int32(3)), - 305: int8(-int32(1)), - 306: int8(-int32(2)), - 307: int8(-int32(3)), - 308: int8(-int32(6)), - 309: int8(-int32(1)), - 310: int8(-int32(3)), - 311: int8(-int32(3)), - 312: int8(-int32(5)), - 313: int8(-int32(5)), - 314: int8(-int32(6)), - 315: int8(-int32(4)), + 303: int8(-int32(3)), + 304: int8(-int32(1)), + 305: int8(-int32(2)), + 306: int8(-int32(3)), + 307: int8(-int32(1)), + 308: int8(-int32(2)), + 309: int8(-int32(3)), + 310: int8(-int32(6)), + 311: int8(-int32(1)), + 312: int8(-int32(1)), + 313: int8(-int32(3)), + 314: int8(-int32(3)), + 315: int8(-int32(5)), 316: int8(-int32(5)), - 317: int8(-int32(2)), - 319: int8(-int32(3)), - 320: int8(-int32(6)), - 321: int8(-int32(1)), - 322: int8(-int32(1)), - 323: int8(-int32(2)), + 317: int8(-int32(6)), + 318: int8(-int32(4)), + 319: int8(-int32(5)), + 320: int8(-int32(2)), + 322: int8(-int32(3)), + 323: int8(-int32(6)), 324: int8(-int32(1)), - 325: int8(-int32(2)), + 325: int8(-int32(1)), 326: int8(-int32(2)), - 327: int8(-int32(2)), + 327: int8(-int32(1)), + 328: int8(-int32(2)), 329: int8(-int32(2)), 330: int8(-int32(2)), - 331: int8(-int32(2)), - 332: int8(-int32(1)), + 332: int8(-int32(2)), 333: int8(-int32(2)), 334: int8(-int32(2)), 335: int8(-int32(1)), - 336: int8(-int32(1)), - 337: int8(-int32(4)), - 338: int8(-int32(2)), - 339: int8(-int32(5)), - 340: int8(-int32(1)), + 336: int8(-int32(2)), + 337: int8(-int32(2)), + 338: int8(-int32(1)), + 339: int8(-int32(1)), + 340: int8(-int32(4)), 341: int8(-int32(2)), - 342: int8(-int32(1)), + 342: int8(-int32(5)), 343: int8(-int32(1)), - 344: int8(-int32(2)), - 345: int8(-int32(3)), + 344: int8(-int32(1)), + 345: int8(-int32(2)), + 346: int8(-int32(1)), 347: int8(-int32(1)), 348: int8(-int32(2)), - 349: int8(-int32(1)), - 351: int8(-int32(2)), - 352: int8(-int32(1)), - 353: int8(-int32(4)), - 354: int8(-int32(2)), - 355: int8(-int32(1)), + 349: int8(-int32(3)), + 351: int8(-int32(1)), + 352: int8(-int32(2)), + 353: int8(-int32(1)), + 355: int8(-int32(2)), 356: int8(-int32(1)), - 357: int8(-int32(1)), - 358: int8(-int32(1)), + 357: int8(-int32(4)), + 358: int8(-int32(2)), 359: int8(-int32(1)), 360: int8(-int32(1)), - 361: int8(-int32(2)), - 363: int8(-int32(2)), - 364: int8(-int32(4)), + 361: int8(-int32(1)), + 362: int8(-int32(1)), + 363: int8(-int32(1)), + 364: int8(-int32(1)), 365: int8(-int32(2)), - 366: int8(-int32(2)), - 367: int8(-int32(3)), - 368: int8(-int32(1)), - 370: int8(-int32(1)), - 371: int8(-int32(1)), + 367: int8(-int32(2)), + 368: int8(-int32(4)), + 369: int8(-int32(2)), + 370: int8(-int32(2)), + 371: int8(-int32(3)), 372: int8(-int32(1)), - 373: int8(-int32(1)), - 374: int8(-int32(2)), + 374: int8(-int32(1)), 375: int8(-int32(1)), 376: int8(-int32(1)), - 378: int8(-int32(1)), + 377: int8(-int32(1)), + 378: int8(-int32(2)), 379: int8(-int32(1)), 380: int8(-int32(1)), - 381: int8(-int32(1)), 382: int8(-int32(1)), 383: int8(-int32(1)), 384: int8(-int32(1)), 385: int8(-int32(1)), 386: int8(-int32(1)), 387: int8(-int32(1)), - 389: int8(-int32(3)), + 388: int8(-int32(1)), + 389: int8(-int32(1)), 390: int8(-int32(1)), - 392: int8(-int32(1)), - 395: int8(-int32(1)), + 391: int8(-int32(1)), + 393: int8(-int32(3)), + 394: int8(-int32(1)), 396: int8(-int32(1)), - 397: int8(-int32(3)), - 398: int8(-int32(2)), - 400: int8(-int32(4)), - 401: int8(-int32(2)), - 403: int8(-int32(1)), - 404: int8(-int32(1)), + 399: int8(-int32(1)), + 400: int8(-int32(1)), + 401: int8(-int32(3)), + 402: int8(-int32(2)), + 404: int8(-int32(4)), + 405: int8(-int32(2)), + 407: int8(-int32(1)), + 408: int8(-int32(1)), } // C documentation @@ -159534,18 +161012,19 @@ var _yyRuleInfoNRhs = [405]int8{ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken TToken, pParse uintptr) (r uint16) { bp := tls.Alloc(144) defer tls.Free(144) - var bNot, bNot1, nExpr, yygoto, yysize, v344 int32 + var bNot, bNot1, nExpr, yygoto, yysize int32 var n Tu32 - var p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v343, v345, v346, v347, v348 uintptr + var op Tu8 + var p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v347, v348, v349, v350, v351 uintptr var yyact uint16 - var v349 TToken + var v352 TToken var _ /* all at bp+104 */ TToken var _ /* as at bp+72 */ TToken var _ /* dest at bp+16 */ TSelectDest var _ /* t at bp+88 */ TToken var _ /* x at bp+56 */ TToken var _ /* yylhsminor at bp+0 */ TYYMINORTYPE - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v343, v344, v345, v346, v347, v348, v349 /* Amount to pop the stack */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, op, p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v347, v348, v349, v350, v351, v352 /* Amount to pop the stack */ _ = yyLookahead _ = yyLookaheadToken yymsp = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos @@ -159566,7 +161045,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _7 case uint32(7): goto _8 - case uint32(321): + case uint32(324): goto _9 case uint32(9): goto _10 @@ -159594,9 +161073,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _21 case uint32(81): goto _22 - case uint32(98): + case uint32(100): goto _23 - case uint32(244): + case uint32(246): goto _24 case uint32(16): goto _25 @@ -159620,7 +161099,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _34 case uint32(26): goto _35 - case uint32(104): + case uint32(106): goto _36 case uint32(27): goto _37 @@ -159694,17 +161173,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _71 case uint32(61): goto _72 - case uint32(171): + case uint32(173): goto _73 case uint32(80): goto _74 case uint32(63): goto _75 - case uint32(217): + case uint32(219): goto _76 - case uint32(220): + case uint32(222): goto _77 - case uint32(245): + case uint32(247): goto _78 case uint32(64): goto _79 @@ -159726,7 +161205,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _87 case uint32(77): goto _88 - case uint32(172): + case uint32(174): goto _89 case uint32(78): goto _90 @@ -159760,47 +161239,47 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _104 case uint32(95): goto _105 - case uint32(96): - goto _106 case uint32(97): + goto _106 + case uint32(96): goto _107 - case uint32(132): + case uint32(98): goto _108 case uint32(99): goto _109 - case uint32(142): + case uint32(134): goto _110 - case uint32(232): + case uint32(101): goto _111 - case uint32(235): + case uint32(144): goto _112 - case uint32(240): + case uint32(234): goto _113 - case uint32(100): + case uint32(237): goto _114 - case uint32(101): + case uint32(242): goto _115 case uint32(102): goto _116 - case uint32(115): - goto _117 case uint32(103): + goto _117 + case uint32(104): goto _118 - case uint32(256): + case uint32(117): goto _119 - case uint32(257): + case uint32(105): goto _120 - case uint32(108): + case uint32(258): goto _121 - case uint32(105): + case uint32(259): goto _122 - case uint32(106): + case uint32(110): goto _123 case uint32(107): goto _124 - case uint32(109): + case uint32(108): goto _125 - case uint32(110): + case uint32(109): goto _126 case uint32(111): goto _127 @@ -159808,13 +161287,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _128 case uint32(113): goto _129 - case uint32(129): - goto _130 case uint32(114): + goto _130 + case uint32(115): goto _131 - case uint32(116): + case uint32(131): goto _132 - case uint32(117): + case uint32(116): goto _133 case uint32(118): goto _134 @@ -159838,15 +161317,15 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _143 case uint32(128): goto _144 - case uint32(130): + case uint32(129): goto _145 - case uint32(131): + case uint32(130): goto _146 - case uint32(143): + case uint32(132): goto _147 case uint32(133): goto _148 - case uint32(134): + case uint32(145): goto _149 case uint32(135): goto _150 @@ -159854,49 +161333,49 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _151 case uint32(137): goto _152 - case uint32(141): - goto _153 case uint32(138): - goto _154 + goto _153 case uint32(139): + goto _154 + case uint32(143): goto _155 case uint32(140): goto _156 - case uint32(146): + case uint32(141): goto _157 - case uint32(144): + case uint32(142): goto _158 - case uint32(151): + case uint32(148): goto _159 - case uint32(153): + case uint32(146): goto _160 - case uint32(230): + case uint32(153): goto _161 - case uint32(231): + case uint32(155): goto _162 - case uint32(250): + case uint32(232): goto _163 - case uint32(152): + case uint32(233): goto _164 - case uint32(145): + case uint32(252): goto _165 case uint32(154): goto _166 - case uint32(229): + case uint32(147): goto _167 - case uint32(249): + case uint32(156): goto _168 - case uint32(147): + case uint32(231): goto _169 - case uint32(148): + case uint32(251): goto _170 case uint32(149): goto _171 case uint32(150): goto _172 - case uint32(155): + case uint32(151): goto _173 - case uint32(156): + case uint32(152): goto _174 case uint32(157): goto _175 @@ -159926,9 +161405,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _187 case uint32(170): goto _188 - case uint32(173): + case uint32(171): goto _189 - case uint32(174): + case uint32(172): goto _190 case uint32(175): goto _191 @@ -159942,13 +161421,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _195 case uint32(180): goto _196 - case uint32(182): - goto _197 case uint32(181): + goto _197 + case uint32(182): goto _198 - case uint32(183): - goto _199 case uint32(184): + goto _199 + case uint32(183): goto _200 case uint32(185): goto _201 @@ -159972,13 +161451,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _210 case uint32(195): goto _211 - case uint32(197): - goto _212 case uint32(196): + goto _212 + case uint32(197): goto _213 - case uint32(198): - goto _214 case uint32(199): + goto _214 + case uint32(198): goto _215 case uint32(200): goto _216 @@ -160004,23 +161483,23 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _226 case uint32(211): goto _227 - case uint32(213): - goto _228 case uint32(212): + goto _228 + case uint32(213): goto _229 - case uint32(214): - goto _230 case uint32(215): + goto _230 + case uint32(214): goto _231 - case uint32(219): - goto _232 case uint32(216): + goto _232 + case uint32(217): goto _233 - case uint32(218): - goto _234 case uint32(221): + goto _234 + case uint32(218): goto _235 - case uint32(222): + case uint32(220): goto _236 case uint32(223): goto _237 @@ -160034,35 +161513,35 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _241 case uint32(228): goto _242 - case uint32(233): + case uint32(229): goto _243 - case uint32(234): + case uint32(230): goto _244 - case uint32(241): + case uint32(235): goto _245 case uint32(236): goto _246 - case uint32(237): + case uint32(243): goto _247 - case uint32(280): - goto _248 case uint32(238): - goto _249 + goto _248 case uint32(239): + goto _249 + case uint32(282): goto _250 - case uint32(242): + case uint32(240): goto _251 - case uint32(243): + case uint32(241): goto _252 - case uint32(246): + case uint32(244): goto _253 - case uint32(247): + case uint32(245): goto _254 case uint32(248): goto _255 - case uint32(251): + case uint32(249): goto _256 - case uint32(252): + case uint32(250): goto _257 case uint32(253): goto _258 @@ -160070,9 +161549,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _259 case uint32(255): goto _260 - case uint32(258): + case uint32(256): goto _261 - case uint32(259): + case uint32(257): goto _262 case uint32(260): goto _263 @@ -160080,21 +161559,21 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _264 case uint32(262): goto _265 - case uint32(264): - goto _266 case uint32(263): + goto _266 + case uint32(264): goto _267 - case uint32(265): + case uint32(266): goto _268 - case uint32(285): + case uint32(265): goto _269 - case uint32(266): + case uint32(267): goto _270 - case uint32(286): + case uint32(287): goto _271 - case uint32(267): - goto _272 case uint32(268): + goto _272 + case uint32(288): goto _273 case uint32(269): goto _274 @@ -160118,17 +161597,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _283 case uint32(279): goto _284 - case uint32(281): + case uint32(280): goto _285 - case uint32(282): + case uint32(281): goto _286 case uint32(283): goto _287 case uint32(284): goto _288 - case uint32(287): + case uint32(285): goto _289 - case uint32(288): + case uint32(286): goto _290 case uint32(289): goto _291 @@ -160152,19 +161631,19 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _300 case uint32(299): goto _301 - case uint32(301): - goto _302 case uint32(300): + goto _302 + case uint32(301): goto _303 - case uint32(302): + case uint32(303): goto _304 - case uint32(304): + case uint32(302): goto _305 - case uint32(303): + case uint32(304): goto _306 - case uint32(305): - goto _307 case uint32(306): + goto _307 + case uint32(305): goto _308 case uint32(307): goto _309 @@ -160194,31 +161673,31 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _321 case uint32(320): goto _322 - case uint32(324): + case uint32(321): goto _323 case uint32(322): goto _324 - case uint32(325): - goto _325 case uint32(323): - goto _326 + goto _325 case uint32(327): + goto _326 + case uint32(325): goto _327 - case uint32(326): - goto _328 case uint32(328): + goto _328 + case uint32(326): goto _329 - case uint32(329): + case uint32(330): goto _330 - case uint32(331): + case uint32(329): goto _331 - case uint32(330): + case uint32(331): goto _332 case uint32(332): goto _333 - case uint32(333): - goto _334 case uint32(334): + goto _334 + case uint32(333): goto _335 case uint32(335): goto _336 @@ -160230,34 +161709,42 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _339 case uint32(339): goto _340 - default: + case uint32(340): goto _341 + case uint32(341): + goto _342 + case uint32(342): + goto _343 + case uint32(343): + goto _344 + default: + goto _345 } - goto _342 + goto _346 _1: ; /* explain ::= EXPLAIN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(1) } - goto _342 + goto _346 _2: ; /* explain ::= EXPLAIN QUERY PLAN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(2) } - goto _342 + goto _346 _3: ; /* cmdx ::= cmd */ _sqlite3FinishCoding(tls, pParse) - goto _342 + goto _346 _4: ; /* cmd ::= BEGIN transtype trans_opt */ _sqlite3BeginTransaction(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _5: ; /* transtype ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_DEFERRED) - goto _342 + goto _346 _7: ; /* transtype ::= DEFERRED */ _6: @@ -160267,33 +161754,33 @@ _8: _9: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 + goto _346 _11: ; /* cmd ::= COMMIT|END trans_opt */ _10: ; _sqlite3EndTransaction(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor)) - goto _342 + goto _346 _12: ; /* cmd ::= SAVEPOINT nm */ _sqlite3Savepoint(tls, pParse, SAVEPOINT_BEGIN, yymsp+8) - goto _342 + goto _346 _13: ; /* cmd ::= RELEASE savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_RELEASE), yymsp+8) - goto _342 + goto _346 _14: ; /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_ROLLBACK), yymsp+8) - goto _342 + goto _346 _15: ; /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ _sqlite3StartTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), 0, 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _16: ; /* createkw ::= CREATE */ _disableLookaside(tls, pParse) - goto _342 + goto _346 _18: ; /* ifnotexists ::= */ _17: @@ -160311,56 +161798,56 @@ _23: _24: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = 0 - goto _342 + goto _346 _25: ; /* ifnotexists ::= IF NOT EXISTS */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(1) - goto _342 + goto _346 _26: ; /* temp ::= TEMP */ *(*int32)(unsafe.Pointer(yymsp + 8)) = libc.BoolInt32(int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0) - goto _342 + goto _346 _27: ; /* create_table_args ::= LP columnlist conslist_opt RP table_option_set */ _sqlite3EndTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*Tu32)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 + goto _346 _28: ; /* create_table_args ::= AS select */ _sqlite3EndTable(tls, pParse, uintptr(0), uintptr(0), uint32(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _29: ; /* table_option_set ::= */ *(*Tu32)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint32(0) - goto _342 + goto _346 _30: ; /* table_option_set ::= table_option_set COMMA table_option */ *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) | *(*Tu32)(unsafe.Pointer(yymsp + 8)) *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _31: ; /* table_option ::= WITHOUT nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16703, int32(5)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16790, int32(5)) == 0 { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) } else { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23367, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23490, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } - goto _342 + goto _346 _32: ; /* table_option ::= nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16616, int32(6)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+16703, int32(6)) == 0 { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(TF_Strict) } else { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23367, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23490, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } *(*Tu32)(unsafe.Pointer(yymsp + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _33: ; /* columnname ::= nm typetoken */ _sqlite3AddColumn(tls, pParse, *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*TToken)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _35: ; /* typetoken ::= */ _34: @@ -160369,52 +161856,52 @@ _36: ; *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 + goto _346 _37: ; /* typetoken ::= typename LP signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) - goto _342 + goto _346 _38: ; /* typetoken ::= typename LP signed COMMA signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))))) - goto _342 + goto _346 _39: ; /* typename ::= typename ID|STRING */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) + uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) - goto _342 + goto _346 _40: ; /* scanpt ::= */ _ = libc.Int32FromInt32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken.Fz - goto _342 + goto _346 _41: ; /* scantok ::= */ _ = libc.Int32FromInt32(0) *(*TToken)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken - goto _342 + goto _346 _43: ; /* ccons ::= CONSTRAINT nm */ _42: ; (*TParse)(unsafe.Pointer(pParse)).FconstraintName = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _44: ; /* ccons ::= DEFAULT scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _45: ; /* ccons ::= DEFAULT LP expr RP */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))+uintptr(1), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _46: ; /* ccons ::= DEFAULT PLUS scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _47: ; /* ccons ::= DEFAULT MINUS scantok term */ p = _sqlite3PExpr(tls, pParse, int32(TK_UMINUS), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) _sqlite3AddDefaultValue(tls, pParse, p, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _48: ; /* ccons ::= DEFAULT scantok ID|INDEXED */ p1 = _tokenExpr(tls, pParse, int32(TK_STRING), *(*TToken)(unsafe.Pointer(yymsp + 8))) @@ -160422,99 +161909,99 @@ _48: _sqlite3ExprIdToTrueFalse(tls, p1) } _sqlite3AddDefaultValue(tls, pParse, p1, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - goto _342 + goto _346 _49: ; /* ccons ::= NOT NULL onconf */ _sqlite3AddNotNull(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _50: ; /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ _sqlite3AddPrimaryKey(tls, pParse, uintptr(0), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _51: ; /* ccons ::= UNIQUE onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _52: ; /* ccons ::= CHECK LP expr RP */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _53: ; /* ccons ::= REFERENCES nm eidlist_opt refargs */ _sqlite3CreateForeignKey(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _54: ; /* ccons ::= defer_subclause */ _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _55: ; /* ccons ::= COLLATE ID|STRING */ _sqlite3AddCollateType(tls, pParse, yymsp+8) - goto _342 + goto _346 _56: ; /* generated ::= LP expr RP */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 + goto _346 _57: ; /* generated ::= LP expr RP ID */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 + goto _346 _58: ; /* autoinc ::= AUTOINCR */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(1) - goto _342 + goto _346 _59: ; /* refargs ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = libc.Int32FromInt32(OE_None) * libc.Int32FromInt32(0x0101) /* EV: R-19803-45884 */ - goto _342 + goto _346 _60: ; /* refargs ::= refargs refarg */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) & ^*(*int32)(unsafe.Pointer(yymsp + 8 + 4)) | *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _61: ; /* refarg ::= MATCH nm */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _62: ; /* refarg ::= ON INSERT refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _63: ; /* refarg ::= ON DELETE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x0000ff) - goto _342 + goto _346 _64: ; /* refarg ::= ON UPDATE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) << int32(8) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x00ff00) - goto _342 + goto _346 _65: ; /* refact ::= SET NULL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetNull) /* EV: R-33326-45252 */ - goto _342 + goto _346 _66: ; /* refact ::= SET DEFAULT */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetDflt) /* EV: R-33326-45252 */ - goto _342 + goto _346 _67: ; /* refact ::= CASCADE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Cascade) /* EV: R-33326-45252 */ - goto _342 + goto _346 _68: ; /* refact ::= RESTRICT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Restrict) /* EV: R-33326-45252 */ - goto _342 + goto _346 _69: ; /* refact ::= NO ACTION */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = OE_None /* EV: R-33326-45252 */ - goto _342 + goto _346 _70: ; /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 - goto _342 + goto _346 _72: ; /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ _71: @@ -160522,7 +162009,7 @@ _71: _73: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _75: ; /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ _74: @@ -160534,64 +162021,64 @@ _77: _78: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(1) - goto _342 + goto _346 _79: ; /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 - goto _342 + goto _346 _80: ; /* tconscomma ::= COMMA */ (*TParse)(unsafe.Pointer(pParse)).FconstraintName.Fn = uint32(0) - goto _342 + goto _346 _81: ; /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ _sqlite3AddPrimaryKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), 0) - goto _342 + goto _346 _82: ; /* tcons ::= UNIQUE LP sortlist RP onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _83: ; /* tcons ::= CHECK LP expr RP onconf */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _84: ; /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ _sqlite3CreateForeignKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _86: ; /* onconf ::= */ _85: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(OE_Default) - goto _342 + goto _346 _87: ; /* onconf ::= ON CONFLICT resolvetype */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _88: ; /* resolvetype ::= IGNORE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Ignore) - goto _342 + goto _346 _90: ; /* resolvetype ::= REPLACE */ _89: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Replace) - goto _342 + goto _346 _91: ; /* cmd ::= DROP TABLE ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _92: ; /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ _sqlite3CreateView(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) - goto _342 + goto _346 _93: ; /* cmd ::= DROP VIEW ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), int32(1), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _94: ; /* cmd ::= select */ *(*TSelectDest)(unsafe.Pointer(bp + 16)) = TSelectDest{ @@ -160599,22 +162086,22 @@ _94: } _sqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), bp+16) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _95: ; /* select ::= WITH wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _96: ; /* select ::= WITH RECURSIVE wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _97: ; /* select ::= selectnowith */ p2 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) if p2 != 0 { _parserDoubleLinkSelect(tls, pParse, p2) } - goto _342 + goto _346 _98: ; /* selectnowith ::= selectnowith multiselect_op oneselect */ pRhs = *(*uintptr)(unsafe.Pointer(yymsp + 8)) @@ -160639,21 +162126,21 @@ _98: _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pLhs) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = pRhs - goto _342 + goto _346 _100: ; /* multiselect_op ::= UNION */ _99: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-OP*/ - goto _342 + goto _346 _101: ; /* multiselect_op ::= UNION ALL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_ALL) - goto _342 + goto _346 _102: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _103: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(9))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -160662,116 +162149,111 @@ _103: } else { _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) } - goto _342 + goto _346 _104: ; /* values ::= VALUES LP nexprlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) - goto _342 + goto _346 _105: - ; /* values ::= values COMMA LP nexprlist RP */ - pLeft = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) - pRight = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(libc.Int32FromInt32(SF_Values)|libc.Int32FromInt32(SF_MultiValue)), uintptr(0)) - if pLeft != 0 { - *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) - } - if pRight != 0 { - (*TSelect)(unsafe.Pointer(pRight)).Fop = uint8(TK_ALL) - (*TSelect)(unsafe.Pointer(pRight)).FpPrior = pLeft - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pRight - } else { - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pLeft - } - goto _342 + ; /* oneselect ::= mvalues */ + _sqlite3MultiValuesEnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_107: + ; /* mvalues ::= values COMMA LP nexprlist RP */ _106: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3MultiValues(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_108: ; /* distinct ::= DISTINCT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_Distinct) - goto _342 -_107: + goto _346 +_109: ; /* distinct ::= ALL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_All) - goto _342 -_109: + goto _346 +_111: ; /* sclp ::= */ -_108: - ; _110: ; -_111: - ; _112: ; _113: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 _114: + ; +_115: + ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 +_116: ; /* selcollist ::= sclp scanpt expr scanpt as */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) > uint32(0) { _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+8, int32(1)) } _sqlite3ExprListSetSpan(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_115: + goto _346 +_117: ; /* selcollist ::= sclp scanpt STAR */ p3 = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_ASTERISK), uintptr(0)) _sqlite3ExprSetErrorOffset(tls, p3, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), p3) - goto _342 -_116: + goto _346 +_118: ; /* selcollist ::= sclp scanpt nm DOT STAR */ - pRight1 = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) - _sqlite3ExprSetErrorOffset(tls, pRight1, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) - pLeft1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft1, pRight1) + pRight = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) + _sqlite3ExprSetErrorOffset(tls, pRight, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) + pLeft = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) + pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft, pRight) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pDot) - goto _342 -_118: + goto _346 +_120: ; /* as ::= AS nm */ -_117: - ; _119: ; -_120: +_121: ; - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 _122: + ; + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) + goto _346 +_124: ; /* from ::= */ -_121: +_123: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_123: + goto _346 +_125: ; /* from ::= FROM seltablist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) _sqlite3SrcListShiftJoinType(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_124: + goto _346 +_126: ; /* stl_prefix ::= seltablist joinop */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 && (*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc > 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8 + uintptr((*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc-int32(1))*104))).Ffg.Fjointype = uint8(*(*int32)(unsafe.Pointer(yymsp + 8))) } - goto _342 -_125: + goto _346 +_127: ; /* seltablist ::= stl_prefix nm dbnm as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) - goto _342 -_126: + goto _346 +_128: ; /* seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_127: + goto _346 +_129: ; /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListFuncArgs(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) - goto _342 -_128: + goto _346 +_130: ; /* seltablist ::= stl_prefix LP select RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_129: + goto _346 +_131: ; /* seltablist ::= stl_prefix LP seltablist RP as on_using */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) == uintptr(0) && *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) == uint32(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8)) == uintptr(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) @@ -160793,9 +162275,9 @@ _129: libc.SetBitFieldPtr16Uint32(pOld+60+4, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pNew+60+4, libc.Uint32FromInt32(1), 2, 0x4) } - v343 = libc.UintptrFromInt32(0) - (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v343 - (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v343 + v347 = libc.UintptrFromInt32(0) + (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v347 + (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v347 (*TSrcItem)(unsafe.Pointer(pOld)).FpSelect = uintptr(0) } _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) @@ -160805,189 +162287,189 @@ _129: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, pSubquery, yymsp+8) } } - goto _342 -_131: + goto _346 +_133: ; /* dbnm ::= */ -_130: +_132: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) - goto _342 -_132: + goto _346 +_134: ; /* fullname ::= nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_133: + goto _346 +_135: ; /* fullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_134: + goto _346 +_136: ; /* xfullname ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) /*A-overwrites-X*/ - goto _342 -_135: + goto _346 +_137: ; /* xfullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) /*A-overwrites-X*/ - goto _342 -_136: + goto _346 +_138: ; /* xfullname ::= nm DOT nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_137: + goto _346 +_139: ; /* xfullname ::= nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0)) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_138: + goto _346 +_140: ; /* joinop ::= COMMA|JOIN */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(JT_INNER) - goto _342 -_139: + goto _346 +_141: ; /* joinop ::= JOIN_KW JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), uintptr(0)) /*X-overwrites-A*/ - goto _342 -_140: + goto _346 +_142: ; /* joinop ::= JOIN_KW nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0)) /*X-overwrites-A*/ - goto _342 -_141: + goto _346 +_143: ; /* joinop ::= JOIN_KW nm nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) /*X-overwrites-A*/ - goto _342 -_142: + goto _346 +_144: ; /* on_using ::= ON expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uintptr(0) - goto _342 -_143: + goto _346 +_145: ; /* on_using ::= USING LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_144: + goto _346 +_146: ; /* on_using ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uintptr(0) - goto _342 -_145: + goto _346 +_147: ; /* indexed_by ::= INDEXED BY nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 -_146: + goto _346 +_148: ; /* indexed_by ::= NOT INDEXED */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(1) - goto _342 -_148: + goto _346 +_150: ; /* orderby_opt ::= ORDER BY sortlist */ -_147: +_149: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_149: + goto _346 +_151: ; /* sortlist ::= sortlist COMMA expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_150: + goto _346 +_152: ; /* sortlist ::= expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) /*A-overwrites-Y*/ _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_151: + goto _346 +_153: ; /* sortorder ::= ASC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = SQLITE_SO_ASC - goto _342 -_152: + goto _346 +_154: ; /* sortorder ::= DESC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_154: + goto _346 +_156: ; /* sortorder ::= */ -_153: +_155: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = -int32(1) - goto _342 -_155: + goto _346 +_157: ; /* nulls ::= NULLS FIRST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = SQLITE_SO_ASC - goto _342 -_156: + goto _346 +_158: ; /* nulls ::= NULLS LAST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_158: + goto _346 +_160: ; /* having_opt ::= */ -_157: - ; _159: ; -_160: - ; _161: ; _162: ; _163: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_165: - ; /* having_opt ::= HAVING expr */ _164: ; -_166: +_165: ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 _167: + ; /* having_opt ::= HAVING expr */ +_166: ; _168: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 _169: + ; +_170: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + goto _346 +_171: ; /* limit_opt ::= LIMIT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 -_170: + goto _346 +_172: ; /* limit_opt ::= LIMIT expr OFFSET expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_171: + goto _346 +_173: ; /* limit_opt ::= LIMIT expr COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 -_172: + goto _346 +_174: ; /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) _sqlite3DeleteFrom(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0)) - goto _342 -_173: + goto _346 +_175: ; /* where_opt_ret ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) - goto _342 -_174: + goto _346 +_176: ; /* where_opt_ret ::= WHERE expr RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) - goto _342 -_175: + goto _346 +_177: ; /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) - _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23394) + _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+23517) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { pFromClause = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) if (*TSrcList)(unsafe.Pointer(pFromClause)).FnSrc > int32(1) { @@ -160999,95 +162481,95 @@ _175: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), pFromClause) } _sqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_176: + goto _346 +_178: ; /* setlist ::= setlist COMMA nm EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) - goto _342 -_177: + goto _346 +_179: ; /* setlist ::= setlist COMMA LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_178: + goto _346 +_180: ; /* setlist ::= nm EQ expr */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_179: + goto _346 +_181: ; /* setlist ::= LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_180: + goto _346 +_182: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_181: + goto _346 +_183: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0)) - goto _342 -_182: + goto _346 +_184: ; /* upsert ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_183: + goto _346 +_185: ; /* upsert ::= RETURNING selcollist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_184: + goto _346 +_186: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(11))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_185: + goto _346 +_187: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_186: + goto _346 +_188: ; /* upsert ::= ON CONFLICT DO NOTHING returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_187: + goto _346 +_189: ; /* upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_188: + goto _346 +_190: ; /* returning ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_189: + goto _346 +_191: ; /* idlist_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_190: + goto _346 +_192: ; /* idlist_opt ::= LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_191: + goto _346 +_193: ; /* idlist ::= idlist COMMA nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3IdListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 -_192: + goto _346 +_194: ; /* idlist ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3IdListAppend(tls, pParse, uintptr(0), yymsp+8) /*A-overwrites-Y*/ - goto _342 -_193: + goto _346 +_195: ; /* expr ::= LP expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_194: + goto _346 +_196: ; /* expr ::= ID|INDEXED|JOIN_KW */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_195: + goto _346 +_197: ; /* expr ::= nm DOT nm */ temp1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) temp2 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp1, temp2) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_196: + goto _346 +_198: ; /* expr ::= nm DOT nm DOT nm */ temp11 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) temp21 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) @@ -161098,22 +162580,22 @@ _196: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp11, temp4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_198: + goto _346 +_200: ; /* term ::= NULL|FLOAT|BLOB */ -_197: +_199: ; *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_199: + goto _346 +_201: ; /* term ::= INTEGER */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), yymsp+8, int32(1)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 52)) = int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8))) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_200: + goto _346 +_202: ; /* expr ::= VARIABLE */ if !(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8))))) == int32('#') && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)) + 1))])&int32(0x04) != 0) { n = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) @@ -161126,7 +162608,7 @@ _200: *(*TToken)(unsafe.Pointer(bp + 88)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) /*A-overwrites-X*/ _ = libc.Int32FromInt32(0) if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23403, libc.VaList(bp+128, bp+88)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23526, libc.VaList(bp+128, bp+88)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_REGISTER), uintptr(0), uintptr(0)) @@ -161135,57 +162617,57 @@ _200: } } } - goto _342 -_201: + goto _346 +_203: ; /* expr ::= expr COLLATE ID|STRING */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAddCollateToken(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8, int32(1)) - goto _342 -_202: + goto _346 +_204: ; /* expr ::= CAST LP expr AS typetoken RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_CAST), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) _sqlite3ExprAttachSubtrees(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) - goto _342 -_203: + goto _346 +_205: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_204: + goto _346 +_206: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_205: + goto _346 +_207: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_206: + goto _346 +_208: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_207: + goto _346 +_209: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_208: + goto _346 +_210: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, 0) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_209: + goto _346 +_211: ; /* term ::= CTIME_KW */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_210: + goto _346 +_212: ; /* expr ::= LP nexprlist COMMA expr RP */ pList = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_VECTOR), uintptr(0), uintptr(0)) @@ -161197,33 +162679,33 @@ _210: } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pList) } - goto _342 -_211: + goto _346 +_213: ; /* expr ::= expr AND expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_213: + goto _346 +_215: ; /* expr ::= expr OR expr */ -_212: - ; _214: ; -_215: - ; _216: ; _217: ; _218: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 _219: + ; +_220: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_221: ; /* likeop ::= NOT LIKE_KW|MATCH */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) |= uint32(0x80000000) /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/ - goto _342 -_220: + goto _346 +_222: ; /* expr ::= expr likeop expr */ bNot = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -161236,8 +162718,8 @@ _220: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_221: + goto _346 +_223: ; /* expr ::= expr likeop expr ESCAPE expr */ bNot1 = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -161251,65 +162733,69 @@ _221: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_222: + goto _346 +_224: ; /* expr ::= expr ISNULL|NOTNULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_223: + goto _346 +_225: ; /* expr ::= expr NOT NULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOTNULL), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uintptr(0)) - goto _342 -_224: + goto _346 +_226: ; /* expr ::= expr IS expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_225: + goto _346 +_227: ; /* expr ::= expr IS NOT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_226: + goto _346 +_228: ; /* expr ::= expr IS NOT DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_227: + goto _346 +_229: ; /* expr ::= expr IS DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_229: + goto _346 +_231: ; /* expr ::= NOT expr */ -_228: +_230: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) /*A-overwrites-B*/ - goto _342 -_230: + goto _346 +_232: ; /* expr ::= PLUS|MINUS expr */ - if int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) == int32(TK_PLUS) { - v344 = int32(TK_UPLUS) + p4 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + op = uint8(int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) + (libc.Int32FromInt32(TK_UPLUS) - libc.Int32FromInt32(TK_PLUS))) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if p4 != 0 && int32((*TExpr)(unsafe.Pointer(p4)).Fop) == int32(TK_UPLUS) { + (*TExpr)(unsafe.Pointer(p4)).Fop = op + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = p4 } else { - v344 = int32(TK_UMINUS) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(op), p4, uintptr(0)) + /*A-overwrites-B*/ } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, v344, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - /*A-overwrites-B*/ - goto _342 -_231: + goto _346 +_233: ; /* expr ::= expr PTR expr */ pList3 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList3 = _sqlite3ExprListAppend(tls, pParse, pList3, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, pList3, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_233: + goto _346 +_235: ; /* between_op ::= BETWEEN */ -_232: +_234: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = 0 - goto _342 -_234: + goto _346 +_236: ; /* expr ::= expr between_op expr AND expr */ pList4 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList4 = _sqlite3ExprListAppend(tls, pParse, pList4, *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -161322,8 +162808,8 @@ _234: if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_235: + goto _346 +_237: ; /* expr ::= expr in_op LP exprlist RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) == uintptr(0) { /* Expressions of the form @@ -161336,17 +162822,17 @@ _235: */ _sqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { - v345 = __ccgo_ts + 7895 + v348 = __ccgo_ts + 8020 } else { - v345 = __ccgo_ts + 7900 + v348 = __ccgo_ts + 8025 } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v345) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v348) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { _sqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } } else { pRHS = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr - if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { + if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pParse, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr = uintptr(0) _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) pRHS = _sqlite3PExpr(tls, pParse, int32(TK_UPLUS), pRHS, uintptr(0)) @@ -161380,463 +162866,467 @@ _235: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } } - goto _342 -_236: + goto _346 +_238: ; /* expr ::= LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_SELECT), uintptr(0), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_237: + goto _346 +_239: ; /* expr ::= expr in_op LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_238: + goto _346 +_240: ; /* expr ::= expr in_op nm dbnm paren_exprlist */ pSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) pSelect = _sqlite3SelectNew(tls, pParse, uintptr(0), pSrc, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { if pSelect != 0 { - v346 = pSrc + v349 = pSrc } else { - v346 = uintptr(0) + v349 = uintptr(0) } - _sqlite3SrcListFuncArgs(tls, pParse, v346, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + _sqlite3SrcListFuncArgs(tls, pParse, v349, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pSelect) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_239: + goto _346 +_241: ; /* expr ::= EXISTS LP select RP */ - v347 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v347 - p4 = v347 - _sqlite3PExprAddSelect(tls, pParse, p4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_240: + v350 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v350 + p5 = v350 + _sqlite3PExprAddSelect(tls, pParse, p5, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_242: ; /* expr ::= CASE case_operand case_exprlist case_else END */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_CASE), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { - v348 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + v351 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } else { - v348 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + v351 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) } - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v348 + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v351 _sqlite3ExprSetHeightAndFlags(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } - goto _342 -_241: + goto _346 +_243: ; /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_242: + goto _346 +_244: ; /* case_exprlist ::= WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_243: + goto _346 +_245: ; /* nexprlist ::= nexprlist COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_244: + goto _346 +_246: ; /* nexprlist ::= expr */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_246: + goto _346 +_248: ; /* paren_exprlist ::= LP exprlist RP */ -_245: +_247: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_247: + goto _346 +_249: ; /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ _sqlite3CreateIndex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, uintptr(0)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(11))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8)), SQLITE_SO_ASC, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), uint8(SQLITE_IDXTYPE_APPDEF)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && (*TParse)(unsafe.Pointer(pParse)).FpNewIndex != 0 { _sqlite3RenameTokenMap(tls, pParse, (*TIndex)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpNewIndex)).FzName, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) } - goto _342 -_249: + goto _346 +_251: ; /* uniqueflag ::= UNIQUE */ -_248: +_250: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Abort) - goto _342 -_250: + goto _346 +_252: ; /* uniqueflag ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = OE_None - goto _342 -_251: + goto _346 +_253: ; /* eidlist ::= eidlist COMMA nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_252: + goto _346 +_254: ; /* eidlist ::= nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_253: + goto _346 +_255: ; /* cmd ::= DROP INDEX ifexists fullname */ _sqlite3DropIndex(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_254: + goto _346 +_256: ; /* cmd ::= VACUUM vinto */ _sqlite3Vacuum(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_255: + goto _346 +_257: ; /* cmd ::= VACUUM nm vinto */ _sqlite3Vacuum(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_256: + goto _346 +_258: ; /* cmd ::= PRAGMA nm dbnm */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, uintptr(0), 0) - goto _342 -_257: + goto _346 +_259: ; /* cmd ::= PRAGMA nm dbnm EQ nmnum */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, 0) - goto _342 -_258: + goto _346 +_260: ; /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) - goto _342 -_259: + goto _346 +_261: ; /* cmd ::= PRAGMA nm dbnm EQ minus_num */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, int32(1)) - goto _342 -_260: + goto _346 +_262: ; /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) - goto _342 -_261: + goto _346 +_263: ; /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ (*(*TToken)(unsafe.Pointer(bp + 104))).Fz = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) (*(*TToken)(unsafe.Pointer(bp + 104))).Fn = uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) + *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) _sqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), bp+104) - goto _342 -_262: + goto _346 +_264: ; /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ _sqlite3BeginTrigger(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8 + 8)) == uint32(0) { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) } else { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) } - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v349 /*A-overwrites-T*/ - goto _342 -_263: + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v352 /*A-overwrites-T*/ + goto _346 +_265: ; /* trigger_time ::= BEFORE|AFTER */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_264: + goto _346 +_266: ; /* trigger_time ::= INSTEAD OF */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_INSTEAD) - goto _342 -_265: + goto _346 +_267: ; /* trigger_time ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_BEFORE) - goto _342 -_267: + goto _346 +_269: ; /* trigger_event ::= DELETE|INSERT */ -_266: +_268: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) = uintptr(0) - goto _342 -_268: + goto _346 +_270: ; /* trigger_event ::= UPDATE OF idlist */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(TK_UPDATE) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_270: + goto _346 +_272: ; /* when_clause ::= */ -_269: +_271: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_272: + goto _346 +_274: ; /* when_clause ::= WHEN expr */ -_271: +_273: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_273: + goto _346 +_275: ; /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ _ = libc.Int32FromInt32(0) (*TTriggerStep)(unsafe.Pointer((*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast)).FpNext = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_274: + goto _346 +_276: ; /* trigger_cmd_list ::= trigger_cmd SEMI */ _ = libc.Int32FromInt32(0) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_275: + goto _346 +_277: ; /* trnm ::= nm DOT nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23427, 0) - goto _342 -_276: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23550, 0) + goto _346 +_278: ; /* tridxby ::= INDEXED BY nm */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23522, 0) - goto _342 -_277: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23645, 0) + goto _346 +_279: ; /* tridxby ::= NOT INDEXED */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23606, 0) - goto _342 -_278: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23729, 0) + goto _346 +_280: ; /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerUpdateStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_279: + goto _346 +_281: ; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-6].minor.yy394*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_280: + goto _346 +_282: ; /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerDeleteStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_281: + goto _346 +_283: ; /* trigger_cmd ::= scanpt select scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-1].minor.yy47*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-1].minor.yy555*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_282: + goto _346 +_284: ; /* expr ::= RAISE LP IGNORE RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_RAISE), uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)))).FaffExpr = uint8(OE_Ignore) } - goto _342 -_283: + goto _346 +_285: ; /* expr ::= RAISE LP raisetype COMMA nm RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_RAISE), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)))).FaffExpr = uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) } - goto _342 -_284: + goto _346 +_286: ; /* raisetype ::= ROLLBACK */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Rollback) - goto _342 -_285: + goto _346 +_287: ; /* raisetype ::= FAIL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Fail) - goto _342 -_286: + goto _346 +_288: ; /* cmd ::= DROP TRIGGER ifexists fullname */ _sqlite3DropTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_287: + goto _346 +_289: ; /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ _sqlite3Attach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_288: + goto _346 +_290: ; /* cmd ::= DETACH database_kw_opt expr */ _sqlite3Detach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_289: + goto _346 +_291: ; /* cmd ::= REINDEX */ _sqlite3Reindex(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_290: + goto _346 +_292: ; /* cmd ::= REINDEX nm dbnm */ _sqlite3Reindex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_291: + goto _346 +_293: ; /* cmd ::= ANALYZE */ _sqlite3Analyze(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_292: + goto _346 +_294: ; /* cmd ::= ANALYZE nm dbnm */ _sqlite3Analyze(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_293: + goto _346 +_295: ; /* cmd ::= ALTER TABLE fullname RENAME TO nm */ _sqlite3AlterRenameTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_294: + goto _346 +_296: ; /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(int32(int64((*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fz)-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) + (*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fn _sqlite3AlterFinishAddColumn(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_295: + goto _346 +_297: ; /* cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ _sqlite3AlterDropColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_296: + goto _346 +_298: ; /* add_column_fullname ::= fullname */ _disableLookaside(tls, pParse) _sqlite3AlterBeginAddColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_297: + goto _346 +_299: ; /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ _sqlite3AlterRenameColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) - goto _342 -_298: + goto _346 +_300: ; /* cmd ::= create_vtab */ _sqlite3VtabFinishParse(tls, pParse, uintptr(0)) - goto _342 -_299: + goto _346 +_301: ; /* cmd ::= create_vtab LP vtabarglist RP */ _sqlite3VtabFinishParse(tls, pParse, yymsp+8) - goto _342 -_300: + goto _346 +_302: ; /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ _sqlite3VtabBeginParse(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) - goto _342 -_301: + goto _346 +_303: ; /* vtabarg ::= */ _sqlite3VtabArgInit(tls, pParse) - goto _342 -_303: + goto _346 +_305: ; /* vtabargtoken ::= ANY */ -_302: - ; _304: ; - _sqlite3VtabArgExtend(tls, pParse, yymsp+8) - goto _342 _306: + ; + _sqlite3VtabArgExtend(tls, pParse, yymsp+8) + goto _346 +_308: ; /* with ::= WITH wqlist */ -_305: +_307: ; _sqlite3WithPush(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint8(1)) - goto _342 -_307: + goto _346 +_309: ; /* wqas ::= AS */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8(M10d_Any) - goto _342 -_308: + goto _346 +_310: ; /* wqas ::= AS MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8(M10d_Yes) - goto _342 -_309: + goto _346 +_311: ; /* wqas ::= AS NOT MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = uint8(M10d_No) - goto _342 -_310: - ; /* wqitem ::= nm eidlist_opt wqas LP select RP */ + goto _346 +_312: + ; /* wqitem ::= withnm eidlist_opt wqas LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) /*A-overwrites-X*/ - goto _342 -_311: + goto _346 +_313: + ; /* withnm ::= nm */ + (*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1) + goto _346 +_314: ; /* wqlist ::= wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_312: + goto _346 +_315: ; /* wqlist ::= wqlist COMMA wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3WithAdd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_313: + goto _346 +_316: ; /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ _ = libc.Int32FromInt32(0) _sqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_314: + goto _346 +_317: ; /* windowdefn ::= nm AS LP window RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)))) } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_315: + goto _346 +_318: ; /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_316: + goto _346 +_319: ; /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_317: + goto _346 +_320: ; /* window ::= ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_318: + goto _346 +_321: ; /* window ::= nm ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_319: + goto _346 +_322: ; /* window ::= nm frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_320: + goto _346 +_323: ; /* frame_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = _sqlite3WindowAlloc(tls, pParse, 0, int32(TK_UNBOUNDED), uintptr(0), int32(TK_CURRENT), uintptr(0), uint8(0)) - goto _342 -_321: + goto _346 +_324: ; /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), int32(TK_CURRENT), uintptr(0), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_322: + goto _346 +_325: ; /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_324: + goto _346 +_327: ; /* frame_bound_s ::= frame_bound */ -_323: +_326: ; *(*TFrameBound)(unsafe.Pointer(bp)) = *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_326: + goto _346 +_329: ; /* frame_bound_s ::= UNBOUNDED PRECEDING */ -_325: +_328: ; -_327: +_330: ; (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = uintptr(0) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_328: + goto _346 +_331: ; /* frame_bound ::= expr PRECEDING|FOLLOWING */ (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_329: + goto _346 +_332: ; /* frame_exclude_opt ::= */ *(*Tu8)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint8(0) - goto _342 -_330: + goto _346 +_333: ; /* frame_exclude_opt ::= EXCLUDE frame_exclude */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*Tu8)(unsafe.Pointer(yymsp + 8)) - goto _342 -_332: + goto _346 +_335: ; /* frame_exclude ::= NO OTHERS */ -_331: +_334: ; *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) /*A-overwrites-X*/ - goto _342 -_333: + goto _346 +_336: ; /* frame_exclude ::= GROUP|TIES */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_334: + goto _346 +_337: ; /* window_clause ::= WINDOW windowdefn_list */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_335: + goto _346 +_338: ; /* filter_over ::= filter_clause over_clause */ if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) @@ -161845,13 +163335,13 @@ _335: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_336: + goto _346 +_339: ; /* filter_over ::= over_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_337: + goto _346 +_340: ; /* filter_over ::= filter_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { @@ -161861,24 +163351,30 @@ _337: _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_338: + goto _346 +_341: ; /* over_clause ::= OVER LP window RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) _ = libc.Int32FromInt32(0) - goto _342 -_339: + goto _346 +_342: ; /* over_clause ::= OVER nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) } - goto _342 -_340: + goto _346 +_343: ; /* filter_clause ::= FILTER LP WHERE expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_341: + goto _346 +_344: + ; /* term ::= QNUMBER */ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) + _sqlite3DequoteNumber(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))) + *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + goto _346 +_345: ; _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -161895,9 +163391,9 @@ _341: _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) - goto _342 + goto _346 /********** End reduce actions ************************************************/ -_342: +_346: ; _ = libc.Int32FromInt32(0) yygoto = int32(_yyRuleInfoLhs[yyruleno]) @@ -161934,9 +163430,9 @@ func _yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, _yyminor /************ Begin %syntax_error code ****************************************/ _ = yymajor /* Silence some compiler warnings */ if *(*uint8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp))).Fz)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23403, libc.VaList(bp+24, bp)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23526, libc.VaList(bp+24, bp)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23691, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23814, 0) } /************ End %syntax_error code ******************************************/ /* Suppress warning about unused %extra_argument variable */ @@ -162005,8 +163501,10 @@ func _sqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor TToken) { ** enough on the stack to push the LHS value */ if int32(_yyRuleInfoNRhs[yyruleno]) == 0 { if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos >= (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - _yyStackOverflow(tls, yypParser) - break + if _yyGrowStack(tls, yypParser) != 0 { + _yyStackOverflow(tls, yypParser) + break + } } } yyact = _yy_reduce(tls, yypParser, yyruleno, yymajor, yyminor, pParse) @@ -164158,9 +165656,9 @@ func _analyzeFilterKeyword(tls *libc.TLS, _z uintptr, lastToken int32) (r int32) // ** Store the token type in *tokenType before returning. // */ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { - var c, delim, i, n, v10, v14, v16, v19, v20, v3, v5, v7, v8 int32 - var v15, v6 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v14, v15, v16, v19, v20, v3, v5, v6, v7, v8 + var c, delim, i, n, v10, v16, v18, v21, v22, v3, v5, v7, v8 int32 + var v17, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v16, v17, v18, v21, v22, v3, v5, v6, v7, v8 switch int32(_aiClass[*(*uint8)(unsafe.Pointer(z))]) { /* Switch on the character-class of the first byte ** of the token. See the comment on the CC_ defines ** above. */ @@ -164356,39 +165854,83 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('X')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 2))])&int32(0x08) != 0 { i = int32(3) for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { + if !(int32(1) != 0) { break } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } goto _11 _11: ; i++ } - return i - } - i = 0 - for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _12 - _12: - ; - i++ - } - if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { - i++ - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + } else { + i = 0 + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _12 + _12: + ; i++ } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) - } - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { - i += int32(2) - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } i++ + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _13 + _13: + ; + i++ + } + } + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } + i += int32(2) + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _14 + _14: + ; + i++ + } } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) } for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x46) != 0 { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_ILLEGAL) @@ -164399,24 +165941,24 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { i = int32(1) c = int32(*(*uint8)(unsafe.Pointer(z))) for { - if v15 = c != int32(']'); v15 { - v14 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v14 + if v17 = c != int32(']'); v17 { + v16 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v16 } - if !(v15 && v14 != 0) { + if !(v17 && v16 != 0) { break } - goto _13 - _13: + goto _15 + _15: ; i++ } if c == int32(']') { - v16 = int32(TK_ID) + v18 = int32(TK_ID) } else { - v16 = int32(TK_ILLEGAL) + v18 = int32(TK_ILLEGAL) } - *(*int32)(unsafe.Pointer(tokenType)) = v16 + *(*int32)(unsafe.Pointer(tokenType)) = v18 return i case int32(CC_VARNUM): *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) @@ -164425,8 +165967,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { break } - goto _17 - _17: + goto _19 + _19: ; i++ } @@ -164438,9 +165980,9 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) i = int32(1) for { - v19 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v19 - if !(v19 != 0) { + v21 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v21 + if !(v21 != 0) { break } if int32(_sqlite3CtypeMap[uint8(c)])&int32(0x46) != 0 { @@ -164449,12 +165991,12 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if c == int32('(') && n > 0 { for { i++ - goto _21 - _21: + goto _23 + _23: ; - v20 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v20 - if !(v20 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { + v22 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v22 + if !(v22 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { break } } @@ -164472,8 +166014,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { } } } - goto _18 - _18: + goto _20 + _20: ; i++ } @@ -164491,8 +166033,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_aiClass[*(*uint8)(unsafe.Pointer(z + uintptr(i)))]) <= int32(CC_KYWD)) { break } - goto _22 - _22: + goto _24 + _24: ; i++ } @@ -164513,8 +166055,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { break } - goto _23 - _23: + goto _25 + _25: ; i++ } @@ -164566,7 +166108,7 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { var lastTokenParsed, mxSqlLen, n, nErr int32 var _ /* sEngine at bp+8 */ TyyParser var _ /* tokenType at bp+0 */ int32 - var _ /* x at bp+2432 */ TToken + var _ /* x at bp+2440 */ TToken _, _, _, _, _, _, _ = db, lastTokenParsed, mxSqlLen, n, nErr, pEngine, pParentParse nErr = 0 /* The LEMON-generated LALR(1) parser */ n = 0 /* type of the next token */ @@ -164633,10 +166175,12 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { _ = libc.Int32FromInt32(0) *(*int32)(unsafe.Pointer(bp)) = _analyzeFilterKeyword(tls, zSql+6, lastTokenParsed) } else { - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fz = zSql - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fn = uint32(n) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23708, libc.VaList(bp+2456, bp+2432)) - break + if *(*int32)(unsafe.Pointer(bp)) != int32(TK_QNUMBER) { + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fz = zSql + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fn = uint32(n) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23831, libc.VaList(bp+2464, bp+2440)) + break + } } } } @@ -164659,9 +166203,9 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { } if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg != 0 || (*TParse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK && (*TParse)(unsafe.Pointer(pParse)).Frc != int32(SQLITE_DONE) { if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) { - (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3804, libc.VaList(bp+2456, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) + (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+3868, libc.VaList(bp+2464, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) } - Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23733, libc.VaList(bp+2456, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) + Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+23856, libc.VaList(bp+2464, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) nErr++ } (*TParse)(unsafe.Pointer(pParse)).FzTail = zSql @@ -164854,7 +166398,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('c'): fallthrough case int32('C'): - if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23744, int32(6)) == 0 { + if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23867, int32(6)) == 0 { token = uint8(tkCREATE) } else { token = uint8(tkOTHER) @@ -164862,13 +166406,13 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('t'): fallthrough case int32('T'): - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20388, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+20520, int32(7)) == 0 { token = uint8(tkTRIGGER) } else { - if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23751, int32(4)) == 0 { + if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23874, int32(4)) == 0 { token = uint8(tkTEMP) } else { - if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23756, int32(9)) == 0 { + if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23879, int32(9)) == 0 { token = uint8(tkTEMP) } else { token = uint8(tkOTHER) @@ -164878,10 +166422,10 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('e'): fallthrough case int32('E'): - if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23766, int32(3)) == 0 { + if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23889, int32(3)) == 0 { token = uint8(tkEND) } else { - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23770, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+23893, int32(7)) == 0 { token = uint8(tkEXPLAIN) } else { token = uint8(tkOTHER) @@ -165323,7 +166867,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) { */ if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 { if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)<= 0 && rc < int32(libc.Uint64FromInt64(232)/libc.Uint64FromInt64(8)) && _aMsg[rc] != uintptr(0) { @@ -166473,31 +168017,31 @@ func _sqlite3ErrStr(tls *libc.TLS, rc int32) (r uintptr) { } var _aMsg = [29]uintptr{ - 0: __ccgo_ts + 23846, - 1: __ccgo_ts + 23859, - 3: __ccgo_ts + 23875, - 4: __ccgo_ts + 23900, - 5: __ccgo_ts + 23914, - 6: __ccgo_ts + 23933, - 7: __ccgo_ts + 1627, - 8: __ccgo_ts + 23958, - 9: __ccgo_ts + 23995, - 10: __ccgo_ts + 24007, - 11: __ccgo_ts + 24022, - 12: __ccgo_ts + 24055, - 13: __ccgo_ts + 24073, - 14: __ccgo_ts + 24098, - 15: __ccgo_ts + 24127, - 17: __ccgo_ts + 6030, - 18: __ccgo_ts + 5432, - 19: __ccgo_ts + 24144, - 20: __ccgo_ts + 24162, - 21: __ccgo_ts + 24180, - 23: __ccgo_ts + 24214, - 25: __ccgo_ts + 24235, - 26: __ccgo_ts + 24261, - 27: __ccgo_ts + 24284, - 28: __ccgo_ts + 24305, + 0: __ccgo_ts + 23969, + 1: __ccgo_ts + 23982, + 3: __ccgo_ts + 23998, + 4: __ccgo_ts + 24023, + 5: __ccgo_ts + 24037, + 6: __ccgo_ts + 24056, + 7: __ccgo_ts + 1641, + 8: __ccgo_ts + 24081, + 9: __ccgo_ts + 24118, + 10: __ccgo_ts + 24130, + 11: __ccgo_ts + 24145, + 12: __ccgo_ts + 24178, + 13: __ccgo_ts + 24196, + 14: __ccgo_ts + 24221, + 15: __ccgo_ts + 24250, + 17: __ccgo_ts + 6094, + 18: __ccgo_ts + 5496, + 19: __ccgo_ts + 24267, + 20: __ccgo_ts + 24285, + 21: __ccgo_ts + 24303, + 23: __ccgo_ts + 24337, + 25: __ccgo_ts + 24358, + 26: __ccgo_ts + 24384, + 27: __ccgo_ts + 24407, + 28: __ccgo_ts + 24428, } // C documentation @@ -166679,7 +168223,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) { - return _sqlite3MisuseError(tls, int32(180244)) + return _sqlite3MisuseError(tls, int32(181689)) } _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) @@ -166725,7 +168269,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i p = _sqlite3FindFunction(tls, db, zFunctionName, nArg, uint8(enc), uint8(0)) if p != 0 && (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) == uint32(enc) && int32((*TFuncDef)(unsafe.Pointer(p)).FnArg) == nArg { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24402, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24525, 0) _ = libc.Int32FromInt32(0) return int32(SQLITE_BUSY) } else { @@ -166855,7 +168399,7 @@ func _sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotU zName = Xsqlite3_user_data(tls, context) _ = NotUsed _ = NotUsed2 - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24465, libc.VaList(bp+8, zName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+24588, libc.VaList(bp+8, zName)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -166886,7 +168430,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i if rc != 0 { return SQLITE_OK } - zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, zName)) + zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, zName)) if zCopy == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -167134,7 +168678,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) { /* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint ** mode: */ - return _sqlite3MisuseError(tls, int32(180859)) + return _sqlite3MisuseError(tls, int32(182304)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if zDb != 0 && *(*uint8)(unsafe.Pointer(zDb)) != 0 { @@ -167144,7 +168688,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in } if iDb < 0 { rc = int32(SQLITE_ERROR) - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24516, libc.VaList(bp+8, zDb)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+24639, libc.VaList(bp+8, zDb)) } else { (*Tsqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = _sqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -167269,7 +168813,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) { return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM)) } if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(180995))) + return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(182440))) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -167402,7 +168946,7 @@ var _misuse = [34]Tu16{ // */ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181074)) + return _sqlite3MisuseError(tls, int32(182519)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -167412,7 +168956,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181083)) + return _sqlite3MisuseError(tls, int32(182528)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -167462,7 +169006,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui enc2 = int32(SQLITE_UTF16BE) } if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) { - return _sqlite3MisuseError(tls, int32(181131)) + return _sqlite3MisuseError(tls, int32(182576)) } /* Check if this call is removing or replacing an existing collation ** sequence. If so, and there are active VMs, return busy. If there @@ -167471,7 +169015,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui pColl = _sqlite3FindCollSeq(tls, db, uint8(enc2), zName, 0) if pColl != 0 && (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24537, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+24660, 0) return int32(SQLITE_BUSY) } _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -167632,7 +169176,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u zVfs = zDefaultVfs nUri = _sqlite3Strlen30(tls, zUri) _ = libc.Int32FromInt32(0) - if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24605, uint64(5)) == 0 { /* Input character index */ + if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+24728, uint64(5)) == 0 { /* Input character index */ iOut = 0 /* Output character index */ nByte = uint64(nUri + int32(8)) /* Bytes of space to allocate */ /* Make sure the SQLITE_OPEN_URI flag is set to indicate to the VFS xOpen @@ -167662,8 +169206,8 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u for *(*uint8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0 && int32(*(*uint8)(unsafe.Pointer(zUri + uintptr(iIn)))) != int32('/') { iIn++ } - if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24611, zUri+7, uint64(9)) != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24621, libc.VaList(bp+8, iIn-int32(7), zUri+7)) + if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+24734, zUri+7, uint64(9)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24744, libc.VaList(bp+8, iIn-int32(7), zUri+7)) rc = int32(SQLITE_ERROR) goto parse_uri_out } @@ -167753,24 +169297,24 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u nOpt = _sqlite3Strlen30(tls, zOpt) zVal = zOpt + uintptr(nOpt+int32(1)) nVal = _sqlite3Strlen30(tls, zVal) - if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24649, zOpt, uint64(3)) == 0 { + if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+24772, zOpt, uint64(3)) == 0 { zVfs = zVal } else { aMode = uintptr(0) zModeType = uintptr(0) mask = 0 limit = 0 - if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24653, zOpt, uint64(5)) == 0 { + if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+24776, zOpt, uint64(5)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_SHAREDCACHE) | libc.Int32FromInt32(SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&_aCacheMode)) limit = mask - zModeType = __ccgo_ts + 24653 + zModeType = __ccgo_ts + 24776 } - if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24674, zOpt, uint64(4)) == 0 { + if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+24797, zOpt, uint64(4)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_READONLY) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&_aOpenMode)) limit = int32(uint32(mask) & flags) - zModeType = __ccgo_ts + 3413 + zModeType = __ccgo_ts + 3477 } if aMode != 0 { mode = 0 @@ -167799,12 +169343,12 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u i++ } if mode == 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24689, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24812, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_ERROR) goto parse_uri_out } if mode & ^libc.Int32FromInt32(SQLITE_OPEN_MEMORY) > limit { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24709, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24832, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_PERM) goto parse_uri_out } @@ -167828,7 +169372,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u } *(*uintptr)(unsafe.Pointer(ppVfs)) = Xsqlite3_vfs_find(tls, zVfs) if *(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24733, libc.VaList(bp+8, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+24856, libc.VaList(bp+8, zVfs)) rc = int32(SQLITE_ERROR) } goto parse_uri_out @@ -167848,11 +169392,11 @@ var _aCacheMode = [3]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24659, + Fz: __ccgo_ts + 24782, Fmode: int32(SQLITE_OPEN_SHAREDCACHE), }, 1: { - Fz: __ccgo_ts + 24666, + Fz: __ccgo_ts + 24789, Fmode: int32(SQLITE_OPEN_PRIVATECACHE), }, 2: {}, @@ -167863,19 +169407,19 @@ var _aOpenMode = [5]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 24679, + Fz: __ccgo_ts + 24802, Fmode: int32(SQLITE_OPEN_READONLY), }, 1: { - Fz: __ccgo_ts + 24682, + Fz: __ccgo_ts + 24805, Fmode: int32(SQLITE_OPEN_READWRITE), }, 2: { - Fz: __ccgo_ts + 24685, + Fz: __ccgo_ts + 24808, Fmode: libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE), }, 3: { - Fz: __ccgo_ts + 17773, + Fz: __ccgo_ts + 17860, Fmode: int32(SQLITE_OPEN_MEMORY), }, 4: {}, @@ -168004,8 +169548,8 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16BE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+22360, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+24749, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+22505, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+24872, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto opendb_out } @@ -168029,7 +169573,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* READWRITE */ /* READWRITE | CREATE */ if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 { - rc = _sqlite3MisuseError(tls, int32(181803)) /* IMP: R-18321-05872 */ + rc = _sqlite3MisuseError(tls, int32(183248)) /* IMP: R-18321-05872 */ } else { rc = _sqlite3ParseUri(tls, zVfs, zFilename, bp, db, bp+8, bp+16) } @@ -168038,7 +169582,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _sqlite3OomFault(tls, db) } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { - v2 = __ccgo_ts + 3804 + v2 = __ccgo_ts + 3868 } else { v2 = uintptr(0) } @@ -168066,9 +169610,9 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* The default safety_level for the main database is FULL; for the temp ** database it is OFF. This matches the pager layer defaults. */ - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6594 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 6658 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).Fsafety_level = uint8(libc.Int32FromInt32(SQLITE_DEFAULT_SYNCHRONOUS) + libc.Int32FromInt32(1)) - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23751 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 23874 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).Fsafety_level = uint8(PAGER_SYNCHRONOUS_OFF) (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState = uint8(SQLITE_STATE_OPEN) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -168164,7 +169708,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) { return rc } if zFilename == uintptr(0) { - zFilename = __ccgo_ts + 24755 + zFilename = __ccgo_ts + 24878 } pVal = _sqlite3ValueNew(tls, uintptr(0)) _sqlite3ValueSetStr(tls, pVal, -int32(1), zFilename, uint8(SQLITE_UTF16BE), libc.UintptrFromInt32(0)) @@ -168385,20 +169929,20 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) (r int32) { func _sqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, __ccgo_ts+24758, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) + Xsqlite3_log(tls, iErr, __ccgo_ts+24881, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) return iErr } func _sqlite3CorruptError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24783) + return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+24906) } func _sqlite3MisuseError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24803) + return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+24926) } func _sqlite3CantopenError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24810) + return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+24933) } // C documentation @@ -168529,11 +170073,11 @@ error_out: } if SQLITE_OK == rc && !(pTab != 0) { _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24827, libc.VaList(bp+16, zTableName, zColumnName)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+24950, libc.VaList(bp+16, zTableName, zColumnName)) rc = int32(SQLITE_ERROR) } if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - v3 = __ccgo_ts + 3804 + v3 = __ccgo_ts + 3868 } else { v3 = uintptr(0) } @@ -169562,7 +171106,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) (r int32) { var _ /* nOpt at bp+0 */ int32 _, _, _ = azCompileOpt, i, n azCompileOpt = _sqlite3CompileOptions(tls, bp) - if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24855, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+24978, int32(7)) == 0 { zOptName += uintptr(7) } n = _sqlite3Strlen30(tls, zOptName) @@ -169784,7 +171328,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui _leaveMutex(tls) _ = libc.Int32FromInt32(0) if rc != 0 { - v2 = __ccgo_ts + 24863 + v2 = __ccgo_ts + 24986 } else { v2 = uintptr(0) } @@ -170667,23 +172211,23 @@ func _sqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { // ** string must correspond to the JSONB_* integer above. // */ var _jsonbType = [17]uintptr{ - 0: __ccgo_ts + 1643, - 1: __ccgo_ts + 7895, - 2: __ccgo_ts + 7900, - 3: __ccgo_ts + 6315, - 4: __ccgo_ts + 6315, - 5: __ccgo_ts + 6310, - 6: __ccgo_ts + 6310, - 7: __ccgo_ts + 8206, - 8: __ccgo_ts + 8206, - 9: __ccgo_ts + 8206, - 10: __ccgo_ts + 8206, - 11: __ccgo_ts + 24886, - 12: __ccgo_ts + 24892, - 13: __ccgo_ts + 1657, - 14: __ccgo_ts + 1657, - 15: __ccgo_ts + 1657, - 16: __ccgo_ts + 1657, + 0: __ccgo_ts + 1657, + 1: __ccgo_ts + 8020, + 2: __ccgo_ts + 8025, + 3: __ccgo_ts + 6379, + 4: __ccgo_ts + 6379, + 5: __ccgo_ts + 6374, + 6: __ccgo_ts + 6374, + 7: __ccgo_ts + 8331, + 8: __ccgo_ts + 8331, + 9: __ccgo_ts + 8331, + 10: __ccgo_ts + 8331, + 11: __ccgo_ts + 25009, + 12: __ccgo_ts + 25015, + 13: __ccgo_ts + 1671, + 14: __ccgo_ts + 1671, + 15: __ccgo_ts + 1671, + 16: __ccgo_ts + 1671, } // C documentation @@ -171454,6 +172998,46 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { _jsonAppendChar(tls, p, uint8(',')) } +// C documentation +// +// /* c is a control character. Append the canonical JSON representation +// ** of that control character to p. +// ** +// ** This routine assumes that the output buffer has already been enlarged +// ** sufficiently to hold the worst-case encoding plus a nul terminator. +// */ +func _jsonAppendControlChar(tls *libc.TLS, p uintptr, c Tu8) { + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + _ = libc.Int32FromInt32(0) + if _aSpecial[c] != 0 { + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = uint8('\\') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = _aSpecial[c] + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(2) + } else { + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = uint8('\\') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = uint8('u') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(2)))) = uint8('0') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(3)))) = uint8('0') + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(4)))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 25022 + uintptr(int32(c)>>int32(4)))) + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(5)))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 25022 + uintptr(int32(c)&int32(0xf)))) + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(6) + } +} + +var _aSpecial = [32]uint8{ + 8: uint8('b'), + 9: uint8('t'), + 10: uint8('n'), + 12: uint8('f'), + 13: uint8('r'), +} + // C documentation // // /* Append the N-byte string in zIn to the end of the JsonString string @@ -171467,9 +173051,9 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { var c Tu8 var k Tu32 - var z, v10, v12, v14, v16, v18, v2, v20, v22, v24, v6, v8 uintptr - var v1, v11, v13, v15, v17, v19, v21, v23, v5, v7, v9 Tu64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v5, v6, v7, v8, v9 + var z, v10, v2, v4, v6, v8 uintptr + var v1, v3, v5, v7, v9 Tu64 + _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v2, v3, v4, v5, v6, v7, v8, v9 z = zIn if z == uintptr(0) { return @@ -171526,91 +173110,41 @@ func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { N -= k } c = *(*Tu8)(unsafe.Pointer(z)) - if !(int32(c) == int32('"') || int32(c) == int32('\\')) { - goto _3 - } - goto json_simple_escape - json_simple_escape: - ; - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { - return - } - v6 = p + 24 - v5 = *(*Tu64)(unsafe.Pointer(v6)) - *(*Tu64)(unsafe.Pointer(v6))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = uint8('\\') - v8 = p + 24 - v7 = *(*Tu64)(unsafe.Pointer(v8)) - *(*Tu64)(unsafe.Pointer(v8))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = c - goto _4 - _3: - ; - if int32(c) == int32('\'') { - v10 = p + 24 - v9 = *(*Tu64)(unsafe.Pointer(v10)) - *(*Tu64)(unsafe.Pointer(v10))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = c - } else { - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - _ = libc.Int32FromInt32(0) - if _aSpecial[c] != 0 { - c = _aSpecial[c] - goto json_simple_escape - } - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + if int32(c) == int32('"') || int32(c) == int32('\\') { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { return } - v12 = p + 24 - v11 = *(*Tu64)(unsafe.Pointer(v12)) - *(*Tu64)(unsafe.Pointer(v12))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v11))) = uint8('\\') - v14 = p + 24 - v13 = *(*Tu64)(unsafe.Pointer(v14)) - *(*Tu64)(unsafe.Pointer(v14))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v13))) = uint8('u') - v16 = p + 24 - v15 = *(*Tu64)(unsafe.Pointer(v16)) - *(*Tu64)(unsafe.Pointer(v16))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v15))) = uint8('0') - v18 = p + 24 - v17 = *(*Tu64)(unsafe.Pointer(v18)) - *(*Tu64)(unsafe.Pointer(v18))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v17))) = uint8('0') - v20 = p + 24 - v19 = *(*Tu64)(unsafe.Pointer(v20)) - *(*Tu64)(unsafe.Pointer(v20))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v19))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 24899 + uintptr(int32(c)>>int32(4)))) - v22 = p + 24 - v21 = *(*Tu64)(unsafe.Pointer(v22)) - *(*Tu64)(unsafe.Pointer(v22))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v21))) = *(*uint8)(unsafe.Pointer(__ccgo_ts + 24899 + uintptr(int32(c)&int32(0xf)))) + v4 = p + 24 + v3 = *(*Tu64)(unsafe.Pointer(v4)) + *(*Tu64)(unsafe.Pointer(v4))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v3))) = uint8('\\') + v6 = p + 24 + v5 = *(*Tu64)(unsafe.Pointer(v6)) + *(*Tu64)(unsafe.Pointer(v6))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = c + } else { + if int32(c) == int32('\'') { + v8 = p + 24 + v7 = *(*Tu64)(unsafe.Pointer(v8)) + *(*Tu64)(unsafe.Pointer(v8))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = c + } else { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(N)+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + return + } + _jsonAppendControlChar(tls, p, c) + } } - _4: - ; z++ N-- } - v24 = p + 24 - v23 = *(*Tu64)(unsafe.Pointer(v24)) - *(*Tu64)(unsafe.Pointer(v24))++ - *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v23))) = uint8('"') + v10 = p + 24 + v9 = *(*Tu64)(unsafe.Pointer(v10)) + *(*Tu64)(unsafe.Pointer(v10))++ + *(*uint8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = uint8('"') _ = libc.Int32FromInt32(0) } -var _aSpecial = [32]uint8{ - 8: uint8('b'), - 9: uint8('t'), - 10: uint8('n'), - 12: uint8('f'), - 13: uint8('r'), -} - // C documentation // // /* @@ -171626,9 +173160,9 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _, _, _, _ = n, n1, z, z1 switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_NULL): - _jsonAppendRawNZ(tls, p, __ccgo_ts+1643, uint32(4)) + _jsonAppendRawNZ(tls, p, __ccgo_ts+1657, uint32(4)) case int32(SQLITE_FLOAT): - _jsonPrintf(tls, int32(100), p, __ccgo_ts+15332, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) + _jsonPrintf(tls, int32(100), p, __ccgo_ts+15425, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) case int32(SQLITE_INTEGER): z = Xsqlite3_value_text(tls, pValue) n = uint32(Xsqlite3_value_bytes(tls, pValue)) @@ -171649,7 +173183,7 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _jsonTranslateBlobToText(tls, bp, uint32(0), p) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr) == 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24916, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25039, -int32(1)) (*TJsonString)(unsafe.Pointer(p)).FeErr = uint8(JSTRING_ERR) _jsonStringReset(tls, p) } @@ -171705,7 +173239,7 @@ func _jsonReturnString(tls *libc.TLS, p uintptr, pParse uintptr, ctx uintptr) { Xsqlite3_result_error_nomem(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr)&int32(JSTRING_MALFORMED) != 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+25068, -int32(1)) } } } @@ -171989,8 +173523,8 @@ var _aNanInfName = [5]TNanInfName{ Fn: uint8(3), FeType: uint8(JSONB_FLOAT), FnRepl: uint8(7), - FzMatch: __ccgo_ts + 24960, - FzRepl: __ccgo_ts + 24964, + FzMatch: __ccgo_ts + 25083, + FzRepl: __ccgo_ts + 25087, }, 1: { Fc1: uint8('i'), @@ -171998,32 +173532,32 @@ var _aNanInfName = [5]TNanInfName{ Fn: uint8(8), FeType: uint8(JSONB_FLOAT), FnRepl: uint8(7), - FzMatch: __ccgo_ts + 24972, - FzRepl: __ccgo_ts + 24964, + FzMatch: __ccgo_ts + 25095, + FzRepl: __ccgo_ts + 25087, }, 2: { Fc1: uint8('n'), Fc2: uint8('N'), Fn: uint8(3), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 1648, - FzRepl: __ccgo_ts + 1643, + FzMatch: __ccgo_ts + 1662, + FzRepl: __ccgo_ts + 1657, }, 3: { Fc1: uint8('q'), Fc2: uint8('Q'), Fn: uint8(4), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 24981, - FzRepl: __ccgo_ts + 1643, + FzMatch: __ccgo_ts + 25104, + FzRepl: __ccgo_ts + 1657, }, 4: { Fc1: uint8('s'), Fc2: uint8('S'), Fn: uint8(4), FnRepl: uint8(4), - FzMatch: __ccgo_ts + 24986, - FzRepl: __ccgo_ts + 1643, + FzMatch: __ccgo_ts + 25109, + FzRepl: __ccgo_ts + 1657, }, } @@ -172038,7 +173572,7 @@ func _jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24991, libc.VaList(bp+8, zFuncName)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25114, libc.VaList(bp+8, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) } @@ -172492,30 +174026,37 @@ func _jsonbValidityCheck(tls *libc.TLS, pParse uintptr, i Tu32, iEnd Tu32, iDept return j + uint32(1) } } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) <= int32(0x1f) { + /* Control characters in JSON5 string literals are ok */ + if int32(x) == int32(JSONB_TEXTJ) { + return j + uint32(1) + } } else { - if libc.Xstrchr(tls, __ccgo_ts+25034, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { - j++ + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { + return j + uint32(1) } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { - if j+uint32(5) >= k { - return j + uint32(1) - } - if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { - return j + uint32(1) - } + if libc.Xstrchr(tls, __ccgo_ts+25157, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { j++ } else { - if int32(x) != int32(JSONB_TEXT5) { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { + if j+uint32(5) >= k { + return j + uint32(1) + } + if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { + return j + uint32(1) + } + j++ } else { - *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) - szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) - if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + if int32(x) != int32(JSONB_TEXT5) { return j + uint32(1) + } else { + *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) + szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) + if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + return j + uint32(1) + } + j += szC - uint32(1) } - j += szC - uint32(1) } } } @@ -172946,9 +174487,14 @@ parse_string: } } else { if int32(c) <= int32(0x1f) { - /* Control characters are not allowed in strings */ - (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j - return -int32(1) + if int32(c) == 0 { + (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j + return -int32(1) + } + /* Control characters are not allowed in canonical JSON string + ** literals, but are allowed in JSON5 string literals. */ + opcode = uint8(JSONB_TEXT5) + (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) } else { if int32(c) == int32('"') { opcode = uint8(JSONB_TEXT5) @@ -172962,7 +174508,7 @@ parse_string: return int32(j + uint32(1)) _5: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7895, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8020, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_TRUE)) return int32(i + uint32(4)) } @@ -172970,7 +174516,7 @@ _5: return -int32(1) _6: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+7900, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(5))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+8025, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(5))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_FALSE)) return int32(i + uint32(5)) } @@ -173051,14 +174597,14 @@ parse_number: /* JSON5 allows for "+Infinity" and "-Infinity" using exactly ** that case. SQLite also allows these in any case and it allows ** "+inf" and "-inf". */ - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+24960, int32(3)) == 0 { + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+25083, int32(3)) == 0 { (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('-') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25043) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25166) } else { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25050) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25173) } - if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25056, int32(5)) == 0 { + if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+25179, int32(5)) == 0 { v48 = int32(9) } else { v48 = int32(4) @@ -173222,11 +174768,10 @@ _29: return -int32(1) _37: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1643, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1657, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+uint32(4))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) return int32(i + uint32(4)) } - /* fall-through into the default case that checks for NaN */ _38: ; c = *(*uint8)(unsafe.Pointer(z + uintptr(i))) @@ -173246,7 +174791,7 @@ _38: goto _51 } if int32(_aNanInfName[k1].FeType) == int32(JSONB_FLOAT) { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25050) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25173) } else { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) } @@ -173291,7 +174836,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 i += _json5Whitespace(tls, zJson+uintptr(i)) if *(*uint8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { if pCtx != 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25068, -int32(1)) } _jsonParseReset(tls, pParse) return int32(1) @@ -173304,7 +174849,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 if (*TJsonParse)(unsafe.Pointer(pParse)).Foom != 0 { Xsqlite3_result_error_nomem(tls, pCtx) } else { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25068, -int32(1)) } } _jsonParseReset(tls, pParse) @@ -173469,15 +175014,15 @@ func _jsonTranslateBlobToText(tls *libc.TLS, pParse uintptr, i Tu32, pOut uintpt goto _16 _2: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1643, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1657, uint32(4)) return i + uint32(1) _3: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7895, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8020, uint32(4)) return i + uint32(1) _4: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+7900, uint32(5)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+8025, uint32(5)) return i + uint32(1) _6: ; @@ -173526,9 +175071,9 @@ _7: k++ } if bOverflow != 0 { - v19 = __ccgo_ts + 24964 + v19 = __ccgo_ts + 25087 } else { - v19 = __ccgo_ts + 11762 + v19 = __ccgo_ts + 11887 } _jsonPrintf(tls, int32(100), pOut, v19, libc.VaList(bp+16, u)) goto _16 @@ -173576,7 +175121,7 @@ _11: for sz2 > uint32(0) { k2 = uint32(0) for { - if !(k2 < sz2 && int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('\\') && int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('"')) { + if !(k2 < sz2 && (_jsonIsOk[*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))] != 0 || int32(*(*uint8)(unsafe.Pointer(zIn2 + uintptr(k2)))) == int32('\''))) { break } goto _21 @@ -173593,7 +175138,16 @@ _11: sz2 -= k2 } if int32(*(*uint8)(unsafe.Pointer(zIn2))) == int32('"') { - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25062, uint32(2)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25185, uint32(2)) + zIn2++ + sz2-- + continue + } + if int32(*(*uint8)(unsafe.Pointer(zIn2))) <= int32(0x1f) { + if (*TJsonString)(unsafe.Pointer(pOut)).FnUsed+uint64(7) > (*TJsonString)(unsafe.Pointer(pOut)).FnAlloc && _jsonStringGrow(tls, pOut, uint32(7)) != 0 { + break + } + _jsonAppendControlChar(tls, pOut, *(*uint8)(unsafe.Pointer(zIn2))) zIn2++ sz2-- continue @@ -173609,7 +175163,7 @@ _11: case int32('\''): _jsonAppendChar(tls, pOut, uint8('\'')) case int32('v'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25065, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25188, uint32(6)) case int32('x'): if sz2 < uint32(4) { p23 = pOut + 33 @@ -173617,12 +175171,12 @@ _11: sz2 = uint32(2) break } - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25072, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25195, uint32(4)) _jsonAppendRawNZ(tls, pOut, zIn2+2, uint32(2)) zIn2 += uintptr(2) sz2 -= uint32(2) case int32('0'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25077, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25200, uint32(6)) case int32('\r'): if sz2 > uint32(2) && int32(*(*uint8)(unsafe.Pointer(zIn2 + 2))) == int32('\n') { zIn2++ @@ -173712,6 +175266,140 @@ _16: return i + n + *(*Tu32)(unsafe.Pointer(bp)) } +// C documentation +// +// /* Context for recursion of json_pretty() +// */ +type TJsonPretty = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty = TJsonPretty + +type TJsonPretty1 = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty1 = TJsonPretty1 + +// C documentation +// +// /* Append indentation to the pretty JSON under construction */ +func _jsonPrettyIndent(tls *libc.TLS, pPretty uintptr) { + var jj Tu32 + _ = jj + jj = uint32(0) + for { + if !(jj < (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent) { + break + } + _jsonAppendRaw(tls, (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut, (*TJsonPretty)(unsafe.Pointer(pPretty)).FzIndent, (*TJsonPretty)(unsafe.Pointer(pPretty)).FszIndent) + goto _1 + _1: + ; + jj++ + } +} + +// C documentation +// +// /* +// ** Translate the binary JSONB representation of JSON beginning at +// ** pParse->aBlob[i] into a JSON text string. Append the JSON +// ** text onto the end of pOut. Return the index in pParse->aBlob[] +// ** of the first byte past the end of the element that is translated. +// ** +// ** This is a variant of jsonTranslateBlobToText() that "pretty-prints" +// ** the output. Extra whitespace is inserted to make the JSON easier +// ** for humans to read. +// ** +// ** If an error is detected in the BLOB input, the pOut->eErr flag +// ** might get set to JSTRING_MALFORMED. But not all BLOB input errors +// ** are detected. So a malformed JSONB input might either result +// ** in an error, or in incorrect JSON. +// ** +// ** The pOut->eErr JSTRING_OOM flag is set on a OOM. +// */ +func _jsonTranslateBlobToPrettyText(tls *libc.TLS, pPretty uintptr, i Tu32) (r Tu32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var iEnd, j, n Tu32 + var pOut, pParse, p1, p2 uintptr + var _ /* sz at bp+0 */ Tu32 + _, _, _, _, _, _, _ = iEnd, j, n, pOut, pParse, p1, p2 + pParse = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpParse + pOut = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut + n = _jsonbPayloadSize(tls, pParse, i, bp) + if n == uint32(0) { + p1 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + return (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob + uint32(1) + } + switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { + case int32(JSONB_ARRAY): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, uint8('[')) + if j < iEnd { + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25207, uint32(2)) + } + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, uint8(']')) + i = iEnd + case int32(JSONB_OBJECT): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, uint8('{')) + if j < iEnd { + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToText(tls, pParse, j, pOut) + if j > iEnd { + p2 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p2)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p2))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25210, uint32(2)) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+25207, uint32(2)) + } + _jsonAppendChar(tls, pOut, uint8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, uint8('}')) + i = iEnd + default: + i = _jsonTranslateBlobToText(tls, pParse, i, pOut) + break + } + return i +} + // C documentation // // /* Return true if the input pJson @@ -174439,7 +176127,7 @@ func _jsonReturnFromBlob(tls *libc.TLS, pParse uintptr, i Tu32, pCtx uintptr, te db = Xsqlite3_context_db_handle(tls, pCtx) n = _jsonbPayloadSize(tls, pParse, i, bp) if n == uint32(0) { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25068, -int32(1)) return } switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { @@ -174679,7 +176367,7 @@ returnfromblob_oom: goto returnfromblob_malformed returnfromblob_malformed: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+25068, -int32(1)) return } @@ -174720,7 +176408,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob = Xsqlite3_value_blob(tls, pArg) (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob = uint32(Xsqlite3_value_bytes(tls, pArg)) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24916, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25039, -int32(1)) return int32(1) } case int32(SQLITE_TEXT): @@ -174733,7 +176421,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FzJson = zJson (*TJsonParse)(unsafe.Pointer(pParse)).FnJson = nJson if _jsonConvertTextToBlob(tls, pParse, ctx) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) _sqlite3DbFree(tls, (*TJsonParse)(unsafe.Pointer(pParse)).Fdb, (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob) libc.Xmemset(tls, pParse, 0, uint64(72)) return int32(1) @@ -174752,10 +176440,10 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin return int32(1) } if int32(*(*uint8)(unsafe.Pointer(z))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25050) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+25173) } else { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('-') && int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25043) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+25166) } else { _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(n), z) } @@ -174794,7 +176482,7 @@ func _jsonBadPathError(tls *libc.TLS, ctx uintptr, zPath uintptr) (r uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25084, libc.VaList(bp+8, zPath)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25213, libc.VaList(bp+8, zPath)) if ctx == uintptr(0) { return zMsg } @@ -174892,7 +176580,7 @@ jsonInsertIntoBlob_patherror: ; _jsonParseFree(tls, p) if rc == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) } else { _jsonBadPathError(tls, ctx, zPath) } @@ -175076,7 +176764,7 @@ json_pfa_malformed: return p } else { _jsonParseFree(tls, p) - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) return uintptr(0) } goto json_pfa_oom @@ -175211,7 +176899,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if int32(*(*uint8)(unsafe.Pointer(zPath))) == int32('$') { v1 = zPath + uintptr(1) } else { - v1 = __ccgo_ts + 25102 + v1 = __ccgo_ts + 25231 } i = _jsonLookupStep(tls, p, uint32(0), v1, uint32(0)) if i >= uint32(JSON_LOOKUP_PATHERROR) { @@ -175221,7 +176909,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) } } eErr = uint8(1) @@ -175239,25 +176927,6 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) _jsonParseFree(tls, p) } -// C documentation -// -// /* True if the string is all digits */ -func _jsonAllDigits(tls *libc.TLS, z uintptr, n int32) (r int32) { - var i int32 - _ = i - i = 0 - for { - if !(i < n && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _1 - _1: - ; - i++ - } - return libc.BoolInt32(i == n) -} - // C documentation // // /* True if the string is all alphanumerics and underscores */ @@ -175344,21 +177013,21 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { ** [NUMBER] ==> $[NUMBER] // Not PG. Purely for convenience */ _jsonStringInit(tls, bp, ctx) - if _jsonAllDigits(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25104, uint32(1)) + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) == int32(SQLITE_INTEGER) { + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25233, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+5170, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+5234, uint32(2)) } else { if _jsonAllAlphanum(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1670, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1684, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { if int32(*(*uint8)(unsafe.Pointer(zPath))) == int32('[') && nPath >= int32(3) && int32(*(*uint8)(unsafe.Pointer(zPath + uintptr(nPath-int32(1))))) == int32(']') { _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) } else { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25106, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25235, uint32(2)) _jsonAppendRaw(tls, bp, zPath, uint32(nPath)) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+25109, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+25238, uint32(1)) } } } @@ -175395,11 +177064,11 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { goto json_extract_error /* Return NULL if not found */ } else { _jsonAppendSeparator(tls, bp) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1643, uint32(4)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1657, uint32(4)) } } else { if j == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) goto json_extract_error } else { _jsonBadPathError(tls, ctx, zPath) @@ -175670,7 +177339,7 @@ func _jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == int32(JSON_MERGE_OOM) { Xsqlite3_result_error_nomem(tls, ctx) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) } } _jsonParseFree(tls, pPatch) @@ -175694,7 +177363,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { var _ /* jx at bp+0 */ TJsonString _, _, _ = i, n, z if argc&int32(1) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25111, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25240, -int32(1)) return } _jsonStringInit(tls, bp, ctx) @@ -175705,7 +177374,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { break } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != int32(SQLITE_TEXT) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25162, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25291, -int32(1)) _jsonStringReset(tls, bp) return } @@ -175777,7 +177446,7 @@ func _jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) } } goto json_remove_done @@ -175814,7 +177483,7 @@ func _jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { return } if argc&int32(1) == 0 { - _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15805) + _jsonWrongNumArgs(tls, ctx, __ccgo_ts+15898) return } _jsonInsertIntoBlob(tls, ctx, argc, argv, int32(JEDIT_REPL)) @@ -175845,9 +177514,9 @@ func _jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { } if argc&int32(1) == 0 { if bIsSet != 0 { - v1 = __ccgo_ts + 25196 + v1 = __ccgo_ts + 25325 } else { - v1 = __ccgo_ts + 25200 + v1 = __ccgo_ts + 25329 } _jsonWrongNumArgs(tls, ctx, v1) return @@ -175895,7 +177564,7 @@ func _jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+24945, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25068, -int32(1)) } } goto json_type_done @@ -175910,6 +177579,48 @@ json_type_done: _jsonParseFree(tls, p) } +// C documentation +// +// /* +// ** json_pretty(JSON) +// ** json_pretty(JSON, INDENT) +// ** +// ** Return text that is a pretty-printed rendering of the input JSON. +// ** If the argument is not valid JSON, return NULL. +// ** +// ** The INDENT argument is text that is used for indentation. If omitted, +// ** it defaults to four spaces (the same as PostgreSQL). +// */ +func _jsonPrettyFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { + bp := tls.Alloc(176) + defer tls.Free(176) + var v1 uintptr + var v2 bool + var _ /* s at bp+0 */ TJsonString + var _ /* x at bp+136 */ TJsonPretty + _, _ = v1, v2 /* Pretty printing context */ + libc.Xmemset(tls, bp+136, 0, uint64(32)) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse = _jsonParseFuncArg(tls, ctx, *(*uintptr)(unsafe.Pointer(argv)), uint32(0)) + if (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse == uintptr(0) { + return + } + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpOut = bp + _jsonStringInit(tls, bp, ctx) + if v2 = argc == int32(1); !v2 { + v1 = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = v1 + } + if v2 || v1 == uintptr(0) { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = __ccgo_ts + 25336 + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(4) + } else { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(libc.Xstrlen(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent)) + } + _jsonTranslateBlobToPrettyText(tls, bp+136, uint32(0)) + _jsonReturnString(tls, bp, uintptr(0), uintptr(0)) + _jsonParseFree(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse) +} + // C documentation // // /* @@ -175984,7 +177695,7 @@ func _jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if argc == int32(2) { f = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if f < int64(1) || f > int64(15) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+25207, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+25341, -int32(1)) return } flags = uint8(f & int64(0x0f)) @@ -176174,7 +177885,7 @@ func _jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25264, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25398, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -176323,7 +178034,7 @@ func _jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+25267, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+25401, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -176426,7 +178137,7 @@ func _jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argv _ = argc _ = pAux - rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25270) + rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+25404) if rc == SQLITE_OK { pNew = _sqlite3DbMallocZero(tls, db, uint64(32)) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -176562,7 +178273,7 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if int32((*TJsonEachCursor)(unsafe.Pointer(p)).FeType) == int32(JSONB_ARRAY) { - _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25353, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) + _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+25487, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) } else { *(*Tu32)(unsafe.Pointer(bp)) = uint32(0) needQuote = 0 @@ -176588,9 +178299,9 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { } } if needQuote != 0 { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25360, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+25494, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } else { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25368, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+25502, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } } } @@ -176980,7 +178691,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a i = v5 (*TJsonEachCursor)(unsafe.Pointer(p)).FeType = uint8(0) (*TJsonEachCursor)(unsafe.Pointer(p)).FnRoot = uint32(1) - _jsonAppendRaw(tls, p+56, __ccgo_ts+25374, uint32(1)) + _jsonAppendRaw(tls, p+56, __ccgo_ts+25508, uint32(1)) } (*TJsonEachCursor)(unsafe.Pointer(p)).FnParent = uint32(0) n = _jsonbPayloadSize(tls, p+192, i, bp) @@ -177004,7 +178715,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a json_each_malformed_input: ; Xsqlite3_free(tls, (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg) - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+24945, 0) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25068, 0) _jsonEachCursorReset(tls, p) if (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { v6 = int32(SQLITE_ERROR) @@ -177058,183 +178769,193 @@ func init() { // ** Register JSON functions. // */ func _sqlite3RegisterJsonFunctions(tls *libc.TLS) { - _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2304)/libc.Uint64FromInt64(72))) + _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2448)/libc.Uint64FromInt64(72))) } -var _aJsonFunc = [32]TFuncDef{ +var _aJsonFunc = [34]TFuncDef{ 0: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25376, + FzName: __ccgo_ts + 25510, }, 1: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25381, + FzName: __ccgo_ts + 25515, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25387, + FzName: __ccgo_ts + 25521, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25398, + FzName: __ccgo_ts + 25532, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25410, + FzName: __ccgo_ts + 25544, }, 5: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25410, + FzName: __ccgo_ts + 25544, }, 6: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25428, + FzName: __ccgo_ts + 25562, }, 7: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25448, + FzName: __ccgo_ts + 25582, }, 8: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25461, + FzName: __ccgo_ts + 25595, }, 9: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_JSON) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25475, + FzName: __ccgo_ts + 25609, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_SQL) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25478, + FzName: __ccgo_ts + 25612, }, 11: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25482, + FzName: __ccgo_ts + 25616, }, 12: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25494, + FzName: __ccgo_ts + 25628, }, 13: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25507, + FzName: __ccgo_ts + 25641, }, 14: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25519, + FzName: __ccgo_ts + 25653, }, 15: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25532, + FzName: __ccgo_ts + 25666, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25543, + FzName: __ccgo_ts + 25677, }, 17: { FnArg: int8(1), - FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25555, + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25689, }, 18: { + FnArg: int8(2), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25689, + }, + 19: { + FnArg: int8(1), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 25701, + }, + 20: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25566, + FzName: __ccgo_ts + 25712, }, - 19: { + 21: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25578, + FzName: __ccgo_ts + 25724, }, - 20: { + 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25591, + FzName: __ccgo_ts + 25737, }, - 21: { + 23: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25604, + FzName: __ccgo_ts + 25750, }, - 22: { + 24: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25618, + FzName: __ccgo_ts + 25764, }, - 23: { + 25: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25627, + FzName: __ccgo_ts + 25773, }, - 24: { + 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25637, + FzName: __ccgo_ts + 25783, }, - 25: { + 27: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25637, + FzName: __ccgo_ts + 25783, }, - 26: { + 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25647, + FzName: __ccgo_ts + 25793, }, - 27: { + 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 25647, + FzName: __ccgo_ts + 25793, }, - 28: { + 30: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25658, + FzName: __ccgo_ts + 25804, }, - 29: { + 31: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25675, + FzName: __ccgo_ts + 25821, }, - 30: { + 32: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 25693, + FzName: __ccgo_ts + 25839, }, - 31: { + 33: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 25711, + FzName: __ccgo_ts + 25857, }, } @@ -177257,33 +178978,35 @@ func init() { *(*uintptr)(unsafe.Add(p, 1032)) = __ccgo_fp(_jsonObjectFunc) *(*uintptr)(unsafe.Add(p, 1104)) = __ccgo_fp(_jsonPatchFunc) *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonPatchFunc) - *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonQuoteFunc) - *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2048)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2056)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2064)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2120)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2128)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2136)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonQuoteFunc) + *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2208)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2280)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2328)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2336)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2344)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2352)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2400)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2408)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2416)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2424)) = __ccgo_fp(_jsonGroupInverse) } // C documentation @@ -177315,11 +179038,11 @@ var _aMod = [2]struct { FpModule uintptr }{ 0: { - FzName: __ccgo_ts + 25730, + FzName: __ccgo_ts + 25876, FpModule: uintptr(unsafe.Pointer(&_jsonEachModule)), }, 1: { - FzName: __ccgo_ts + 25740, + FzName: __ccgo_ts + 25886, FpModule: uintptr(unsafe.Pointer(&_jsonTreeModule)), }, } @@ -177971,7 +179694,7 @@ func _nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode Ti64, pParent uintptr, pp } } if (*TRtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) { - rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25750, iNode, 0, pRtree+112) + rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+25896, iNode, 0, pRtree+112) } if rc != 0 { *(*uintptr)(unsafe.Pointer(ppNode)) = uintptr(0) @@ -178283,7 +180006,7 @@ func _rtreeDestroy(tls *libc.TLS, pVtab uintptr) (r int32) { var rc int32 _, _, _ = pRtree, rc, zCreate pRtree = pVtab - zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25755, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+25901, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if !(zCreate != 0) { rc = int32(SQLITE_NOMEM) } else { @@ -179217,7 +180940,7 @@ func _findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid Ti64, ppLeaf uintptr, p func _deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) (r int32) { var pBlob, pInfo, pSrc uintptr _, _, _ = pBlob, pInfo, pSrc /* Callback information */ - pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25837) + pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+25983) if pSrc == uintptr(0) { return int32(SQLITE_ERROR) } @@ -179272,7 +180995,7 @@ func _rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp iRowid = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) *(*Ti64)(unsafe.Pointer(bp + 24)) = 0 eType = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) == float64(iRowid) { + if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && 0 == _sqlite3IntFloatCompare(tls, iRowid, Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))) { rc = _findLeafNode(tls, pRtree, iRowid, bp+16, bp+24) } else { rc = SQLITE_OK @@ -180761,7 +182484,7 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) _, _, _, _, _, _ = rc, zCol, zCol1, zCol2, zSql, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) _ = libc.Int32FromInt32(0) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25851, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25997, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -int32(1), bp, uintptr(0)) } else { @@ -180771,11 +182494,11 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) if rc == SQLITE_OK { if iCol == 0 { zCol = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25871, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26017, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { zCol1 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol) zCol2 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol+int32(1)) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+25903, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26049, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -180954,6 +182677,7 @@ func _rtreeBeginTransaction(tls *libc.TLS, pVtab uintptr) (r int32) { var pRtree uintptr _ = pRtree pRtree = pVtab + _ = libc.Int32FromInt32(0) (*TRtree)(unsafe.Pointer(pRtree)).FinWrTrans = uint8(1) return SQLITE_OK } @@ -180990,7 +182714,7 @@ func _rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) (r int32) { _, _, _ = pRtree, rc, zSql pRtree = pVtab rc = int32(SQLITE_NOMEM) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+25940, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+26086, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) if zSql != 0 { _nodeBlobReset(tls, pRtree) rc = Xsqlite3_exec(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -181044,9 +182768,9 @@ func _rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) (r int32) { var v2 int64 var _ /* p at bp+0 */ uintptr _, _, _, _, _, _ = nRow, rc, zFmt, zSql, v1, v2 - zFmt = __ccgo_ts + 26085 + zFmt = __ccgo_ts + 26231 nRow = int64(RTREE_MIN_ROWEST) - rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11591, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+11716, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == int32(SQLITE_ERROR) { @@ -181104,9 +182828,9 @@ func _rtreeShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName1 = [3]uintptr{ - 0: __ccgo_ts + 26141, - 1: __ccgo_ts + 5493, - 2: __ccgo_ts + 16703, + 0: __ccgo_ts + 26287, + 1: __ccgo_ts + 5557, + 2: __ccgo_ts + 16790, } var _rtreeModule = Tsqlite3_module{ @@ -181150,21 +182874,21 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref (*TRtree)(unsafe.Pointer(pRtree)).Fdb = db if isCreate != 0 { p = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26555, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26701, libc.VaList(bp+8, zDb, zPrefix)) ii = 0 for { if !(ii < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26617, libc.VaList(bp+8, ii)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26763, libc.VaList(bp+8, ii)) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26622, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26686, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+26756, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26768, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26832, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+26902, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return int32(SQLITE_NOMEM) @@ -181194,7 +182918,7 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } else { /* An UPSERT is very slightly slower than REPLACE, but it is needed ** if there are auxiliary columns */ - zFormat = __ccgo_ts + 26805 + zFormat = __ccgo_ts + 26951 } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+8, zDb, zPrefix)) if zSql != 0 { @@ -181209,31 +182933,31 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref i++ } if (*TRtree)(unsafe.Pointer(pRtree)).FnAux != 0 && rc != int32(SQLITE_NOMEM) { - (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+26913, libc.VaList(bp+8, zDb, zPrefix)) + (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+27059, libc.VaList(bp+8, zDb, zPrefix)) if (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { p1 = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26958, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27104, libc.VaList(bp+8, zDb, zPrefix)) ii1 = 0 for { if !(ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } if ii1 != 0 { - Xsqlite3_str_append(tls, p1, __ccgo_ts+13099, int32(1)) + Xsqlite3_str_append(tls, p1, __ccgo_ts+13224, int32(1)) } if ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+26985, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27131, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) } else { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27007, libc.VaList(bp+8, ii1, ii1+int32(2))) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27153, libc.VaList(bp+8, ii1, ii1+int32(2))) } goto _3 _3: ; ii1++ } - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27015, 0) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+27161, 0) zSql1 = Xsqlite3_str_finish(tls, p1) if zSql1 == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -181247,14 +182971,14 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } var _azSql = [8]uintptr{ - 0: __ccgo_ts + 26146, - 1: __ccgo_ts + 26199, - 2: __ccgo_ts + 26244, - 3: __ccgo_ts + 26296, - 4: __ccgo_ts + 26350, - 5: __ccgo_ts + 26395, - 6: __ccgo_ts + 26453, - 7: __ccgo_ts + 26508, + 0: __ccgo_ts + 26292, + 1: __ccgo_ts + 26345, + 2: __ccgo_ts + 26390, + 3: __ccgo_ts + 26442, + 4: __ccgo_ts + 26496, + 5: __ccgo_ts + 26541, + 6: __ccgo_ts + 26599, + 7: __ccgo_ts + 26654, } // C documentation @@ -181312,7 +183036,7 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE _, _ = rc, zSql if isCreate != 0 { *(*int32)(unsafe.Pointer(bp)) = 0 - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27031, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27177, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) rc = _getIntFromStmt(tls, db, zSql, bp) if rc == SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp)) - int32(64) @@ -181320,17 +183044,17 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = int32(4) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*int32(RTREE_MAXCELLS) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27051, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27197, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) rc = _getIntFromStmt(tls, db, zSql, pRtree+32) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } else { if (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize < libc.Int32FromInt32(512)-libc.Int32FromInt32(64) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< libc.Int32FromInt32(RTREE_MAX_AUX_COLUMN)+libc.Int32FromInt32(3) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) return int32(SQLITE_ERROR) } Xsqlite3_vtab_config(tls, db, int32(SQLITE_VTAB_CONSTRAINT_SUPPORT), libc.VaList(bp+8, int32(1))) @@ -181407,13 +183131,13 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27294, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27440, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27300, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27446, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = int32(4) for { if !(ii < argc) { @@ -181422,7 +183146,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt zArg = *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)) if int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('+') { (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27324, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27470, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) } else { if int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux) > 0 { break @@ -181436,19 +183160,19 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27351, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27497, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) } else { if ii < argc { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, aErrMsg[int32(4)])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, aErrMsg[int32(4)])) rc = int32(SQLITE_ERROR) } else { v3 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v3 if SQLITE_OK != v3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } } @@ -181471,7 +183195,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } } if iErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, aErrMsg[iErr])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, aErrMsg[iErr])) goto rtreeInit_fail } (*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell = uint8(int32(8) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnDim2)*int32(4)) @@ -181482,7 +183206,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -181500,8 +183224,8 @@ rtreeInit_fail: } var _azFormat = [2]uintptr{ - 0: __ccgo_ts + 27330, - 1: __ccgo_ts + 27341, + 0: __ccgo_ts + 27476, + 1: __ccgo_ts + 27487, } // C documentation @@ -181559,21 +183283,21 @@ func _rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { } _nodeGetCell(tls, bp+40, bp, ii, bp+1008) if ii > 0 { - Xsqlite3_str_append(tls, pOut, __ccgo_ts+11211, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+11336, int32(1)) } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27354, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27500, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) jj = 0 for { if !(jj < int32((*(*TRtree)(unsafe.Pointer(bp + 40))).FnDim2)) { break } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27360, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+27506, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) goto _2 _2: ; jj++ } - Xsqlite3_str_append(tls, pOut, __ccgo_ts+27364, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+27510, int32(1)) goto _1 _1: ; @@ -181600,7 +183324,7 @@ func _rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { _ = zBlob _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != int32(SQLITE_BLOB) || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+27366, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+27512, -int32(1)) } else { zBlob = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -181718,11 +183442,11 @@ func _rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintpt (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } else { if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - v1 = __ccgo_ts + 4212 + v1 = __ccgo_ts + 4276 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27399, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+27545, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } @@ -181756,7 +183480,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt _, _, _ = nNode, pNode, pRet pRet = uintptr(0) /* Return value */ if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) { - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27406, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27552, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { Xsqlite3_bind_int64(tls, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode, int32(1), iNode) @@ -181773,7 +183497,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt } _rtreeCheckReset(tls, pCheck, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27451, libc.VaList(bp+8, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27597, libc.VaList(bp+8, iNode)) } } return pRet @@ -181802,8 +183526,8 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i var rc int32 _, _, _, _, _, _ = azSql, ii, pStmt, rc, v1, v2 azSql = [2]uintptr{ - 0: __ccgo_ts + 27483, - 1: __ccgo_ts + 27537, + 0: __ccgo_ts + 27629, + 1: __ccgo_ts + 27683, } _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) { @@ -181817,21 +183541,21 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i rc = Xsqlite3_step(tls, pStmt) if rc == int32(SQLITE_DONE) { if bLeaf != 0 { - v1 = __ccgo_ts + 27585 + v1 = __ccgo_ts + 27731 } else { - v1 = __ccgo_ts + 27593 + v1 = __ccgo_ts + 27739 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27602, libc.VaList(bp+8, iKey, iVal, v1)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27748, libc.VaList(bp+8, iKey, iVal, v1)) } else { if rc == int32(SQLITE_ROW) { ii = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { if bLeaf != 0 { - v2 = __ccgo_ts + 27585 + v2 = __ccgo_ts + 27731 } else { - v2 = __ccgo_ts + 27593 + v2 = __ccgo_ts + 27739 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27647, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27793, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) } } } @@ -181876,7 +183600,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 v2 = libc.BoolInt32(*(*TRtreeValue)(unsafe.Pointer(bp)) > *(*TRtreeValue)(unsafe.Pointer(bp + 4))) } if v2 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27705, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27851, libc.VaList(bp+24, i, iCell, iNode)) } if pParent != 0 { _readCoord(tls, pParent+uintptr(libc.Int32FromInt32(4)*libc.Int32FromInt32(2)*i), bp+8) @@ -181894,7 +183618,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 } } if v5 || v4 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27753, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27899, libc.VaList(bp+24, i, iCell, iNode)) } } goto _1 @@ -181929,19 +183653,19 @@ func _rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintpt aNode = _rtreeCheckGetNode(tls, pCheck, iNode, bp) if aNode != 0 { if *(*int32)(unsafe.Pointer(bp)) < int32(4) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27820, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27966, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) } else { /* Used to iterate through cells */ if aParent == uintptr(0) { iDepth = _readInt16(tls, aNode) if iDepth > int32(RTREE_MAX_DEPTH) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27854, libc.VaList(bp+16, iDepth)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28000, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = _readInt16(tls, aNode+2) if int32(4)+nCell*(int32(8)+(*TRtreeCheck)(unsafe.Pointer(pCheck)).FnDim*int32(2)*int32(4)) > *(*int32)(unsafe.Pointer(bp)) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27884, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28030, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) } else { i = 0 for { @@ -181986,12 +183710,12 @@ func _rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect Ti64) var pCount uintptr _, _ = nActual, pCount if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { - pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+27939, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) + pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28085, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) if pCount != 0 { if Xsqlite3_step(tls, pCount) == int32(SQLITE_ROW) { nActual = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+27970, libc.VaList(bp+8, zTbl, nExpect, nActual)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28116, libc.VaList(bp+8, zTbl, nExpect, nActual)) } } (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -182020,7 +183744,7 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzDb = zDb (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzTab = zTab /* Find the number of auxiliary columns */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28037, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+28183, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { nAux = Xsqlite3_column_count(tls, pStmt) - int32(2) Xsqlite3_finalize(tls, pStmt) @@ -182030,11 +183754,11 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe } } /* Find number of dimensions in the rtree table. */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25851, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+25997, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim = (Xsqlite3_column_count(tls, pStmt) - int32(1) - nAux) / int32(2) if (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim < int32(1) { - _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28065, 0) + _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+28211, 0) } else { if int32(SQLITE_ROW) == Xsqlite3_step(tls, pStmt) { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FbInt = libc.BoolInt32(Xsqlite3_column_type(tls, pStmt, int32(1)) == int32(SQLITE_INTEGER)) @@ -182050,8 +183774,8 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe if (*(*TRtreeCheck)(unsafe.Pointer(bp))).Frc == SQLITE_OK { _rtreeCheckNode(tls, bp, 0, uintptr(0), int64(1)) } - _rtreeCheckCount(tls, bp, __ccgo_ts+28096, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) - _rtreeCheckCount(tls, bp, __ccgo_ts+28103, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28242, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+28249, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) } /* Finalize SQL statements used by the integrity-check */ Xsqlite3_finalize(tls, (*(*TRtreeCheck)(unsafe.Pointer(bp))).FpGetNode) @@ -182079,7 +183803,7 @@ func _rtreeIntegrity(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zName uintpt _ = isQuick rc = _rtreeCheckTable(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, pzErr) if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28111, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+28257, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) if *(*uintptr)(unsafe.Pointer(pzErr)) == uintptr(0) { rc = int32(SQLITE_NOMEM) } @@ -182130,13 +183854,13 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { var _ /* zReport at bp+0 */ uintptr _, _, _, _ = rc, zDb, zTab, v1 if nArg != int32(1) && nArg != int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+28130, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+28276, -int32(1)) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zDb = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg))) if nArg == int32(1) { zTab = zDb - zDb = __ccgo_ts + 6594 + zDb = __ccgo_ts + 6658 } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -182145,7 +183869,7 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { if *(*uintptr)(unsafe.Pointer(bp)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(bp)) } else { - v1 = __ccgo_ts + 18470 + v1 = __ccgo_ts + 18557 } Xsqlite3_result_text(tls, ctx, v1, -int32(1), uintptr(-libc.Int32FromInt32(1))) } else { @@ -182612,19 +184336,19 @@ func _geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) if p != 0 { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) - Xsqlite3_str_append(tls, x, __ccgo_ts+25104, int32(1)) + Xsqlite3_str_append(tls, x, __ccgo_ts+25233, int32(1)) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28181, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28327, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28192, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28338, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -182653,20 +184377,20 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) cSep = uint8('\'') - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28203, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28349, 0) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28221, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28367, libc.VaList(bp+8, int32(cSep), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) cSep = uint8(' ') goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28229, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28375, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) i = int32(1) for { if !(i < argc) { @@ -182674,14 +184398,14 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if z != 0 && *(*uint8)(unsafe.Pointer(z)) != 0 { - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28237, libc.VaList(bp+8, z)) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28383, libc.VaList(bp+8, z)) } goto _2 _2: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+28241, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+28387, 0) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -183811,13 +185535,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(nDb)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName)) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27294, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+27440, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28254, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28400, 0) (*TRtree)(unsafe.Pointer(pRtree)).FnAux = uint8(1) /* Add one for _shape */ (*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = uint8(1) /* The _shape column is always not-null */ ii = int32(3) @@ -183826,13 +185550,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint break } (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28276, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28422, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27351, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+27497, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) @@ -183840,7 +185564,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint v2 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v2 if SQLITE_OK != v2 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } Xsqlite3_free(tls, zSql) @@ -183855,7 +185579,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -184072,7 +185796,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iRowidTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(1) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16703 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 16790 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).Fomit = uint8(1) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(30) @@ -184082,7 +185806,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iFuncTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28280 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28426 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).Fomit = uint8(0) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(300) @@ -184090,7 +185814,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { return SQLITE_OK } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(4) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28286 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 28432 (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(3e+06) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -184212,7 +185936,7 @@ func _geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pR _geopolyBBox(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(aData + 2*8)), bp+8+8, bp) if *(*int32)(unsafe.Pointer(bp)) != 0 { if *(*int32)(unsafe.Pointer(bp)) == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28295, 0) + (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+28441, 0) } goto geopoly_update_end } @@ -184316,12 +186040,12 @@ geopoly_update_end: func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) { _ = pVtab _ = nArg - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28335) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28481) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION) } - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28351) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28497) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1) @@ -184392,7 +186116,7 @@ func _sqlite3_geopoly_init(tls *libc.TLS, db uintptr) (r int32) { i++ } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28528, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28674, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -184406,61 +186130,61 @@ var _aFunc = [12]struct { 0: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28366, + FzName: __ccgo_ts + 28512, }, 1: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28379, + FzName: __ccgo_ts + 28525, }, 2: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28392, + FzName: __ccgo_ts + 28538, }, 3: { FnArg: int8(-int32(1)), FbPure: uint8(1), - FzName: __ccgo_ts + 28405, + FzName: __ccgo_ts + 28551, }, 4: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28351, + FzName: __ccgo_ts + 28497, }, 5: { FnArg: int8(3), FbPure: uint8(1), - FzName: __ccgo_ts + 28417, + FzName: __ccgo_ts + 28563, }, 6: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 28335, + FzName: __ccgo_ts + 28481, }, 7: { FnArg: int8(1), - FzName: __ccgo_ts + 28440, + FzName: __ccgo_ts + 28586, }, 8: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28454, + FzName: __ccgo_ts + 28600, }, 9: { FnArg: int8(7), FbPure: uint8(1), - FzName: __ccgo_ts + 28467, + FzName: __ccgo_ts + 28613, }, 10: { FnArg: int8(4), FbPure: uint8(1), - FzName: __ccgo_ts + 28481, + FzName: __ccgo_ts + 28627, }, 11: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 28497, + FzName: __ccgo_ts + 28643, }, } @@ -184486,7 +186210,7 @@ var _aAgg = [1]struct { FzName uintptr }{ 0: { - FzName: __ccgo_ts + 28509, + FzName: __ccgo_ts + 28655, }, } @@ -184511,20 +186235,20 @@ func _sqlite3RtreeInit(tls *libc.TLS, db uintptr) (r int32) { var rc, utf8 int32 _, _, _, _ = c, c1, rc, utf8 utf8 = int32(SQLITE_UTF8) - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28536, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28682, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28546, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28692, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28557, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+28703, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { c = libc.UintptrFromInt32(RTREE_COORD_REAL32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28280, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28426, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { c1 = libc.UintptrFromInt32(RTREE_COORD_INT32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28568, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+28714, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) } if rc == SQLITE_OK { rc = _sqlite3_geopoly_init(tls, db) @@ -184626,7 +186350,7 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { Xsqlite3_result_error_nomem(tls, ctx) _rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25837, __ccgo_fp(_rtreeMatchArgFree)) + Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+25983, __ccgo_fp(_rtreeMatchArgFree)) } } } @@ -185844,7 +187568,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt /* Figure out the size of the output */ nOut = _rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+28578, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28724, -int32(1)) return } aOut = Xsqlite3_malloc(tls, nOut+int32(1)) @@ -185854,7 +187578,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt nOut2 = _rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut) if nOut2 != nOut { Xsqlite3_free(tls, aOut) - Xsqlite3_result_error(tls, context, __ccgo_ts+28578, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+28724, -int32(1)) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, __ccgo_fp(Xsqlite3_free)) } @@ -185880,7 +187604,7 @@ func _prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg _ = rc rc = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -185903,7 +187627,7 @@ func _resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) (r in _ = rc rc = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -186036,7 +187760,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { /* Free any SQLite statements used while processing the previous object */ _rbuObjIterClearStatements(tls, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28599, uintptr(0), uintptr(0), p+64) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+28745, uintptr(0), uintptr(0), p+64) } if rc == SQLITE_OK { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 { @@ -186046,6 +187770,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { if rc != int32(SQLITE_ROW) { rc = _resetAndCollectError(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, p+64) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = uintptr(0) + (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = uintptr(0) } else { (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, 0) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, int32(1)) @@ -186126,7 +187851,7 @@ func _rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { Xsqlite3_result_text(tls, pCtx, zIn, -int32(1), libc.UintptrFromInt32(0)) } } else { - if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25750, zIn, uint64(4)) == 0 { + if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25896, zIn, uint64(4)) == 0 { i = int32(4) for { if !(int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) <= int32('9')) { @@ -186163,13 +187888,13 @@ func _rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { _, _ = rc, v1 libc.Xmemset(tls, pIter, 0, uint64(192)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 28770 + v1 = __ccgo_ts + 28916 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28811, libc.VaList(bp+8, v1))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+28957, libc.VaList(bp+8, v1))) if rc == SQLITE_OK { - rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+28961) + rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+29107) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = int32(1) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -186337,7 +188062,7 @@ func _rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { rc = Xsqlite3_finalize(tls, pStmt) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && rc != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } @@ -186399,7 +188124,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 _ = libc.Int32FromInt32(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29086, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29232, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0]) != int32(SQLITE_ROW) { /* Either an error, or no such table. */ goto rbuTableType_end @@ -186409,7 +188134,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0], int32(1)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29205, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29351, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { goto rbuTableType_end } @@ -186417,7 +188142,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu zOrig = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(3)) zIdx = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(1)) if zOrig != 0 && zIdx != 0 && int32(*(*Tu8)(unsafe.Pointer(zOrig))) == int32('p') { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29226, libc.VaList(bp+40, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29372, libc.VaList(bp+40, zIdx))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)]) == int32(SQLITE_ROW) { *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)], 0) @@ -186429,7 +188154,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29277, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29423, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { for Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)]) == int32(SQLITE_ROW) { if Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)], int32(5)) > 0 { @@ -186473,7 +188198,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { bIndex = 0 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.Xmemcpy(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29298, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29444, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -186486,7 +188211,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { if bPartial != 0 { libc.Xmemset(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, int32(0x01), uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29326, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29472, libc.VaList(bp+24, zIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) if iCid >= 0 { @@ -186540,7 +188265,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 _rbuTableType(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+8, pIter+108) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+19913, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+20045, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc @@ -186552,7 +188277,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 /* Populate the azTblCol[] and nTblCol variables based on the columns ** of the input table. Ignore any input table columns that begin with ** "rbu_". */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29355, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29501, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp))) _rbuAllocateIterArrays(tls, p, pIter, nCol) @@ -186563,7 +188288,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 break } zName = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), i) - if Xsqlite3_strnicmp(tls, __ccgo_ts+29374, zName, int32(4)) != 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+29520, zName, int32(4)) != 0 { zCopy = _rbuStrndup(tls, zName, p+56) *(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol v3 = pIter + 16 @@ -186571,7 +188296,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 *(*int32)(unsafe.Pointer(v3))++ *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(v2)*8)) = zCopy } else { - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29379, zName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+29525, zName) { bRbuRowid = int32(1) } } @@ -186585,17 +188310,17 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && bRbuRowid != libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) if bRbuRowid != 0 { - v4 = __ccgo_ts + 29389 + v4 = __ccgo_ts + 29535 } else { - v4 = __ccgo_ts + 29402 + v4 = __ccgo_ts + 29548 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29411, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29557, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) } /* Check that all non-HIDDEN columns in the destination table are also ** present in the input table. Populate the abTblPk[], azTblType[] and ** aiTblOrder[] arrays at the same time. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29440, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29586, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zName1 = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -186617,7 +188342,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 } if i == (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29462, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+29608, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) } else { iPk = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) bNotNull = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) @@ -186659,15 +188384,15 @@ func _rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) var z, zList, zSep uintptr _, _, _, _ = i, z, zList, zSep zList = uintptr(0) - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } z = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+29489, libc.VaList(bp+8, zList, zSep, z)) - zSep = __ccgo_ts + 14999 + zList = _rbuMPrintf(tls, p, __ccgo_ts+29635, libc.VaList(bp+8, zList, zSep, z)) + zSep = __ccgo_ts + 15092 goto _1 _1: ; @@ -186692,7 +188417,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, _, _, _, _, _ = i, iPk, zCol, zRet, zSep iPk = int32(1) zRet = uintptr(0) - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 for int32(1) != 0 { i = 0 for { @@ -186701,7 +188426,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, } if int32(*(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29498, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29644, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -186749,21 +188474,21 @@ func _rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zRet = uintptr(0) if bRowid != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29511, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29657, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iMax = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29543, libc.VaList(bp+16, iMax)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29689, libc.VaList(bp+16, iMax)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1657, __ccgo_ts+14999, __ccgo_ts+29566) - zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29572, __ccgo_ts+29579, __ccgo_ts+5115) - zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1657, __ccgo_ts+14999, __ccgo_ts+1657) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1671, __ccgo_ts+15092, __ccgo_ts+29712) + zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+29718, __ccgo_ts+29725, __ccgo_ts+5179) + zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1671, __ccgo_ts+15092, __ccgo_ts+1671) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29587, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29733, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zVal = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29629, libc.VaList(bp+16, zList, zVal)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29775, libc.VaList(bp+16, zList, zVal)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } @@ -186812,10 +188537,10 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 iCol = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29326, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29472, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(4)) @@ -186838,15 +188563,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _ = libc.Int32FromInt32(0) zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { - zCol = __ccgo_ts + 29649 + zCol = __ccgo_ts + 29795 } } else { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) } - zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29657, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29678, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29714, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) - zSep = __ccgo_ts + 14999 + zLhs = _rbuMPrintf(tls, p, __ccgo_ts+29803, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29824, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) + zSelect = _rbuMPrintf(tls, p, __ccgo_ts+29860, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) + zSep = __ccgo_ts + 15092 iCol++ } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) @@ -186855,9 +188580,9 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29741, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29887, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 iCol = 0 for { if !(iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -186872,15 +188597,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { break } } - zVector = _rbuMPrintf(tls, p, __ccgo_ts+29789, libc.VaList(bp+24, zVector, zSep, zQuoted)) - zSep = __ccgo_ts + 14999 + zVector = _rbuMPrintf(tls, p, __ccgo_ts+29935, libc.VaList(bp+24, zVector, zSep, zQuoted)) + zSep = __ccgo_ts + 15092 goto _2 _2: ; iCol++ } if !(bFailed != 0) { - zRet = _rbuMPrintf(tls, p, __ccgo_ts+29796, libc.VaList(bp+24, zLhs, zVector)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+29942, libc.VaList(bp+24, zLhs, zVector)) } } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -186934,12 +188659,12 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zImpPK = uintptr(0) /* String to return via *pzImposterPK */ zWhere = uintptr(0) /* String to return via *pzWhere */ nBind = 0 /* Value to return via *pnBind */ - zCom = __ccgo_ts + 1657 /* Set to ", " later on */ - zAnd = __ccgo_ts + 1657 /* Set to " AND " later on */ + zCom = __ccgo_ts + 1671 /* Set to ", " later on */ + zAnd = __ccgo_ts + 1671 /* Set to " AND " later on */ *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_xinfo = ? */ if rc == SQLITE_OK { _ = libc.Int32FromInt32(0) - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29326, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29472, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -186948,8 +188673,8 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = uintptr(0) if iCid == -int32(2) { iSeq = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29808, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) - zType = __ccgo_ts + 1657 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29954, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) + zType = __ccgo_ts + 1671 } else { if iCid < 0 { /* An integer primary key. If the table has an explicit IPK, use @@ -186969,9 +188694,9 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - zCol = __ccgo_ts + 29649 + zCol = __ccgo_ts + 29795 } else { - zCol = __ccgo_ts + 29379 + zCol = __ccgo_ts + 29525 } } zType = __ccgo_ts + 1145 @@ -186979,24 +188704,24 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) zType = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)) } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29830, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+29976, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) } if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) != 0 { if bDesc != 0 { - v2 = __ccgo_ts + 29566 + v2 = __ccgo_ts + 29712 } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } zOrder = v2 - zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29850, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) + zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+29996, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+29871, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) - zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+29904, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) + zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+30017, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) + zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+30050, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) { rc = int32(SQLITE_NOMEM) } - zCom = __ccgo_ts + 14999 - zAnd = __ccgo_ts + 22022 + zCom = __ccgo_ts + 15092 + zAnd = __ccgo_ts + 22167 nBind++ } rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -187042,7 +188767,7 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr _, _, _, _ = i, zCol, zList, zS zList = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zS = __ccgo_ts + 1657 + zS = __ccgo_ts + 1671 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187050,11 +188775,11 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29928, libc.VaList(bp+8, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30074, libc.VaList(bp+8, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, __ccgo_ts+29940, libc.VaList(bp+8, zList, zS)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+30086, libc.VaList(bp+8, zList, zS)) } - zS = __ccgo_ts + 14999 + zS = __ccgo_ts + 15092 if zList == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) break @@ -187066,7 +188791,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 (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29949, libc.VaList(bp+8, zList, zObj)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30095, libc.VaList(bp+8, zList, zObj)) } } return zList @@ -187092,27 +188817,27 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _ = i, i1, zCol, zList, zSep, zSep1 zList = uintptr(0) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29964, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30110, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = _rbuMPrintf(tls, p, __ccgo_ts+29978, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) - zSep = __ccgo_ts + 22022 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30124, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) + zSep = __ccgo_ts + 22167 } goto _1 _1: ; i++ } - zList = _rbuMPrintf(tls, p, __ccgo_ts+29990, libc.VaList(bp+8, zList)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+30136, libc.VaList(bp+8, zList)) } else { - zSep1 = __ccgo_ts + 1657 + zSep1 = __ccgo_ts + 1671 i1 = 0 for { if !(i1 < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187120,8 +188845,8 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i1))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i1)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+30040, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) - zSep1 = __ccgo_ts + 22022 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30186, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) + zSep1 = __ccgo_ts + 22167 } goto _2 _2: @@ -187144,7 +188869,7 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { // */ func _rbuBadControlError(tls *libc.TLS, p uintptr) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30053, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30199, 0) } // C documentation @@ -187178,7 +188903,7 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt if int32(libc.Xstrlen(tls, zMask)) != (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { _rbuBadControlError(tls, p) } else { - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -187186,16 +188911,16 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt } c = *(*uint8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) if int32(c) == int32('x') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30040, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14999 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30186, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15092 } else { if int32(c) == int32('d') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30079, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14999 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30225, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15092 } else { if int32(c) == int32('f') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+30109, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 14999 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30255, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 15092 } } } @@ -187280,16 +189005,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { z = uintptr(0) _ = libc.Int32FromInt32(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zSep = __ccgo_ts + 30146 + zSep = __ccgo_ts + 30292 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_list = (pIter->zTbl) */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA index_xinfo = */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29298, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29444, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) - if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16591) == 0 { + if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+16678) == 0 { zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29326, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29472, libc.VaList(bp+24, zIdx))) } break } @@ -187300,16 +189025,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { /* int iCid = sqlite3_column_int(pXInfo, 0); */ zCol = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(2)) if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) != 0 { - v1 = __ccgo_ts + 29566 + v1 = __ccgo_ts + 29712 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } zDesc = v1 - z = _rbuMPrintf(tls, p, __ccgo_ts+30159, libc.VaList(bp+24, z, zSep, zCol, zDesc)) - zSep = __ccgo_ts + 14999 + z = _rbuMPrintf(tls, p, __ccgo_ts+30305, libc.VaList(bp+24, z, zSep, zCol, zDesc)) + zSep = __ccgo_ts + 15092 } } - z = _rbuMPrintf(tls, p, __ccgo_ts+30170, libc.VaList(bp+24, z)) + z = _rbuMPrintf(tls, p, __ccgo_ts+30316, libc.VaList(bp+24, z)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) } return z @@ -187349,13 +189074,13 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* SELECT name ... WHERE rootpage = $tnum */ zIdx = uintptr(0) /* Name of PK index */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA main.index_xinfo = $zIdx */ - zComma = __ccgo_ts + 1657 + zComma = __ccgo_ts + 1671 zCols = uintptr(0) /* Used to build up list of table cols */ zPk = uintptr(0) /* Used to build up table PK declaration */ /* 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. */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30174) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30320) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), tnum) if int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -187363,7 +189088,7 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { } } if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29326, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+29472, libc.VaList(bp+24, zIdx))) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { @@ -187372,21 +189097,21 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) bDesc = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(4)) - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30224, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30370, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) if bDesc != 0 { - v1 = __ccgo_ts + 29566 + v1 = __ccgo_ts + 29712 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } - zPk = _rbuMPrintf(tls, p, __ccgo_ts+30246, libc.VaList(bp+24, zPk, zComma, iCid, v1)) - zComma = __ccgo_ts + 14999 + zPk = _rbuMPrintf(tls, p, __ccgo_ts+30392, libc.VaList(bp+24, zPk, zComma, iCid, v1)) + zComma = __ccgo_ts + 15092 } } - zCols = _rbuMPrintf(tls, p, __ccgo_ts+30256, libc.VaList(bp+24, zCols)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+30402, libc.VaList(bp+24, zCols)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30271, libc.VaList(bp+24, zCols, zPk)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30417, libc.VaList(bp+24, zCols, zPk)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, 0, 0)) } } @@ -187421,30 +189146,30 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { _, _, _, _, _, _, _, _, _ = iCol, tnum, zCol, zComma, zPk, zPk1, zSql, v2, v3 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { tnum = (*TRbuObjIter)(unsafe.Pointer(pIter)).FiTnum - zComma = __ccgo_ts + 1657 + zComma = __ccgo_ts + 1671 zSql = uintptr(0) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, 0, int32(1))) iCol = 0 for { if !((*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } - zPk = __ccgo_ts + 1657 + zPk = __ccgo_ts + 1671 zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_IPK) && *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 { /* If the target table column is an "INTEGER PRIMARY KEY", add ** "PRIMARY KEY" to the imposter table column declaration. */ - zPk = __ccgo_ts + 30333 + zPk = __ccgo_ts + 30479 } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - v2 = __ccgo_ts + 30346 + v2 = __ccgo_ts + 30492 } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30356, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) - zComma = __ccgo_ts + 14999 + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30502, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) + zComma = __ccgo_ts + 15092 goto _1 _1: ; @@ -187453,17 +189178,17 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { zPk1 = _rbuWithoutRowidPK(tls, p, pIter) if zPk1 != 0 { - zSql = _rbuMPrintf(tls, p, __ccgo_ts+30383, libc.VaList(bp+16, zSql, zPk1)) + zSql = _rbuMPrintf(tls, p, __ccgo_ts+30529, libc.VaList(bp+16, zSql, zPk1)) } } - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, int32(1), tnum)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, int32(1), tnum)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { - v3 = __ccgo_ts + 30390 + v3 = __ccgo_ts + 30536 } else { - v3 = __ccgo_ts + 1657 + v3 = __ccgo_ts + 1671 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30405, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, 0, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30551, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, 0, 0)) } } @@ -187490,7 +189215,7 @@ func _rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zColli zBind = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1)+bRbuRowid) if zBind != 0 { _ = libc.Int32FromInt32(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30437, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30583, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -187538,7 +189263,7 @@ func _rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintpt zRet = uintptr(0) _ = libc.Int32FromInt32(0) if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30494) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+30640) } if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx, -int32(1), libc.UintptrFromInt32(0)) @@ -187709,7 +189434,7 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zIdx = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx zLimit = uintptr(0) if nOffset != 0 { - zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30560, libc.VaList(bp+40, nOffset)) + zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+30706, libc.VaList(bp+40, nOffset)) if !(zLimit != 0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) } @@ -187727,18 +189452,18 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zCollist = _rbuObjIterGetIndexCols(tls, p, pIter, bp, bp+8, bp+16, bp+24) zBind = _rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 24))) /* Create the imposter table used to write to this index. */ - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, 0, int32(1))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30580, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30726, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, 0, 0)) /* Create the statement to insert index entries */ (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 24)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30645, libc.VaList(bp+40, zTbl, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30791, libc.VaList(bp+40, zTbl, zBind))) } /* And to delete index entries */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30681, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30827, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) } /* Create the SELECT statement to read keys in sorted order */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -187753,26 +189478,26 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } if zStart != 0 { if zPart != 0 { - v2 = __ccgo_ts + 30715 + v2 = __ccgo_ts + 30861 } else { - v2 = __ccgo_ts + 30719 + v2 = __ccgo_ts + 30865 } v1 = v2 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30725, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30871, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) Xsqlite3_free(tls, zStart) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30786, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30932, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { if zPart != 0 { - v3 = __ccgo_ts + 30715 + v3 = __ccgo_ts + 30861 } else { - v3 = __ccgo_ts + 30719 + v3 = __ccgo_ts + 30865 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30847, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+30993, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -187791,62 +189516,62 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zTbl1 = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl /* Imposter table name */ zBindings = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+bRbuRowid) zWhere1 = _rbuObjIterGetWhere(tls, p, pIter) - zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6605) - zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6601) + zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6669) + zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+6665) zCollist = _rbuObjIterGetCollist(tls, p, pIter) (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol /* Create the imposter table or tables (if required). */ _rbuCreateImposterTable(tls, p, pIter) _rbuCreateImposterTable2(tls, p, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) { - v4 = __ccgo_ts + 1657 + v4 = __ccgo_ts + 1671 } else { - v4 = __ccgo_ts + 31006 + v4 = __ccgo_ts + 31152 } zWrite = v4 /* Create the INSERT statement to write to the target PK b-tree */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if bRbuRowid != 0 { - v5 = __ccgo_ts + 31015 + v5 = __ccgo_ts + 31161 } else { - v5 = __ccgo_ts + 1657 + v5 = __ccgo_ts + 1671 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31025, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31171, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) } /* Create the DELETE statement to write to the target PK b-tree. ** Because it only performs INSERT operations, this is not required for ** an rbu vacuum handle. */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31061, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31207, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) } if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zRbuRowid = __ccgo_ts + 1657 + zRbuRowid = __ccgo_ts + 1671 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zRbuRowid = __ccgo_ts + 31089 + zRbuRowid = __ccgo_ts + 31235 } /* Create the rbu_tmp_xxx table and the triggers to populate it. */ if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - v6 = __ccgo_ts + 31101 + v6 = __ccgo_ts + 31247 } else { - v6 = __ccgo_ts + 1657 + v6 = __ccgo_ts + 1671 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31118, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31194, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31264, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31340, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31493, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31639, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) } _rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) } /* Create the SELECT statement to read keys from data_xxx */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zRbuRowid1 = __ccgo_ts + 1657 + zRbuRowid1 = __ccgo_ts + 1671 zStart1 = uintptr(0) zOrder = uintptr(0) if bRbuRowid != 0 { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v7 = __ccgo_ts + 31592 + v7 = __ccgo_ts + 31738 } else { - v7 = __ccgo_ts + 31602 + v7 = __ccgo_ts + 31748 } zRbuRowid1 = v7 } @@ -187859,28 +189584,28 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } } if bRbuRowid != 0 { - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29649, 0) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+29795, 0) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1657, __ccgo_ts+14999, __ccgo_ts+1657) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1671, __ccgo_ts+15092, __ccgo_ts+1671) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v8 = __ccgo_ts + 31613 + v8 = __ccgo_ts + 31759 } else { - v8 = __ccgo_ts + 1657 + v8 = __ccgo_ts + 1671 } if zStart1 != 0 { v9 = zStart1 } else { - v9 = __ccgo_ts + 1657 + v9 = __ccgo_ts + 1671 } if zOrder != 0 { - v10 = __ccgo_ts + 23216 + v10 = __ccgo_ts + 23361 } else { - v10 = __ccgo_ts + 1657 + v10 = __ccgo_ts + 1671 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31619, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+31765, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) } Xsqlite3_free(tls, zStart1) Xsqlite3_free(tls, zOrder) @@ -187967,11 +189692,11 @@ func _rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, p (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpNext = (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - zPrefix = __ccgo_ts + 1657 + zPrefix = __ccgo_ts + 1671 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { - zPrefix = __ccgo_ts + 31006 + zPrefix = __ccgo_ts + 31152 } - zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31667, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) + zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+31813, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate) *(*uintptr)(unsafe.Pointer(ppStmt)) = (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpUpdate } @@ -187998,7 +189723,7 @@ func _rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) (r } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp, flags, v1) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp))) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) } @@ -188045,7 +189770,7 @@ func _rbuLoadState(tls *libc.TLS, p uintptr) (r uintptr) { if pRet == uintptr(0) { return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31697, libc.VaList(bp+24, p+48))) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31843, libc.VaList(bp+24, p+48))) for *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) { case int32(RBU_STATE_STAGE): @@ -188107,27 +189832,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu = _rbuOpenDbhandle(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, int32(1)) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain = dbMain if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6594, int32(SQLITE_FCNTL_RBUCNT), p) + Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6658, int32(SQLITE_FCNTL_RBUCNT), p) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) { - zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6594) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31727, libc.VaList(bp+8, zFile, zFile)) + zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6658) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+31873, libc.VaList(bp+8, zFile, zFile)) } } /* If using separate RBU and state databases, attach the state database to ** the RBU db handle now. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31755, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48, __ccgo_ts+3427, uint64(4)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31901, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+3491, uint64(4)) } else { - libc.Xmemcpy(tls, p+48, __ccgo_ts+6594, uint64(4)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+6658, uint64(4)) } /* If it has not already been created, create the rbu_state table */ - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31773, libc.VaList(bp+8, p+48)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31919, libc.VaList(bp+8, p+48)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { bOpen = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6594, int32(SQLITE_FCNTL_RBUCNT), p) + rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6658, int32(SQLITE_FCNTL_RBUCNT), p) if rc != int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -188160,10 +189885,10 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) return } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31839, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31985, 0) } else { zExtra = uintptr(0) - if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24605, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { + if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+24728, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { zExtra = (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5 for *(*uint8)(unsafe.Pointer(zExtra)) != 0 { v1 = zExtra @@ -188177,16 +189902,16 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if zExtra == uintptr(0) { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } else { - v2 = __ccgo_ts + 31871 + v2 = __ccgo_ts + 32017 } if zExtra == uintptr(0) { - v3 = __ccgo_ts + 1657 + v3 = __ccgo_ts + 1671 } else { v3 = zExtra } - zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+31873, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6594), v2, v3)) + zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+32019, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+6658), v2, v3)) if zTarget == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) return @@ -188197,27 +189922,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31905, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32051, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31920, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32066, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+31937, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32083, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, int32(SQLITE_FCNTL_RBU), p) } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31953, 0) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32099, 0) /* Mark the database file just opened as an RBU target database. If ** this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. ** This is an error. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6594, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+6658, int32(SQLITE_FCNTL_RBU), p) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31981, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+32127, 0) } } @@ -188267,7 +189992,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) { pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = int64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))<= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+32981, zState+uintptr(n-int32(7)), uint64(7)) { + if n >= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+33127, zState+uintptr(n-int32(7)), uint64(7)) { return _rbuMisuseError(tls) } } @@ -189509,7 +191234,7 @@ func _rbuEditErrmsg(tls *libc.TLS, p uintptr) { if !(uint64(i) < nErrmsg-uint64(8)) { break } - if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31006, uint64(8)) == 0 { + if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+31152, uint64(8)) == 0 { nDel = int32(8) for int32(*(*uint8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= int32('9') { nDel++ @@ -189537,7 +191262,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { if p != 0 { /* Commit the transaction to the *-oal file. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14903, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14996, uintptr(0), uintptr(0), p+64) } /* Sync the db file if currently doing an incremental checkpoint */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) { @@ -189546,7 +191271,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { } _rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14903, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14996, uintptr(0), uintptr(0), p+64) } /* Close any open statement handles. */ _rbuObjIterFinalize(tls, p+80) @@ -189556,7 +191281,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { ** specifying the current target and state databases to start a new ** vacuum from scratch. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 { - rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32989, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33135, uintptr(0), uintptr(0), uintptr(0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_DONE) && rc2 != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -189671,7 +191396,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14903, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+14996, uintptr(0), uintptr(0), uintptr(0)) } } /* Sync the db file */ @@ -189685,19 +191410,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { _ = libc.Int32FromInt32(0) if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14903, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+14996, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 14888 + v1 = __ccgo_ts + 14981 } else { - v1 = __ccgo_ts + 32941 + v1 = __ccgo_ts + 33087 } zBegin = v1 rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32941, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33087, uintptr(0), uintptr(0), uintptr(0)) } } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -190271,7 +191996,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xControl})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, int32(SQLITE_FCNTL_ZIPVFS), bp) if rc == SQLITE_OK { rc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33016, 0) + (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33162, 0) } else { if rc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p @@ -190297,7 +192022,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r if rc == SQLITE_OK && op == int32(SQLITE_FCNTL_VFSNAME) { pRbuVfs = (*Trbu_file)(unsafe.Pointer(p)).FpRbuVfs zIn = *(*uintptr)(unsafe.Pointer(pArg)) - zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33039, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + zOut = Xsqlite3_mprintf(tls, __ccgo_ts+33185, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -190498,7 +192223,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag if pDb != 0 { if (*Trbu_file)(unsafe.Pointer(pDb)).FpRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FeStage == int32(RBU_STAGE_OAL) { if (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6594) + zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+6658) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -190512,7 +192237,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag } else { (*Trbu_file)(unsafe.Pointer(pFd)).FpRbu = (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRbu } - if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33050, 0) != 0 { + if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+33196, 0) != 0 { _ = libc.Int32FromInt32(0) oflags = libc.Int32FromInt32(SQLITE_OPEN_TEMP_DB) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_EXCLUSIVE) | libc.Int32FromInt32(SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) @@ -191067,7 +192792,7 @@ func _statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint _sqlite3TokenInit(tls, bp, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = _sqlite3FindDb(tls, db, bp) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12200, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+12325, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return int32(SQLITE_ERROR) } } else { @@ -191570,7 +193295,7 @@ statNextRestart: (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiPgno = iRoot (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33061, 0) + v1 = Xsqlite3_mprintf(tls, __ccgo_ts+33207, 0) z = v1 (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FzPath = v1 if z == uintptr(0) { @@ -191608,8 +193333,8 @@ statNextRestart: if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { (*TStatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*TStatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*TStatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*Tu32)(unsafe.Pointer((*TStatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33063 - v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33072, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33209 + v2 = Xsqlite3_mprintf(tls, __ccgo_ts+33218, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) z = v2 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v2 if z == uintptr(0) { @@ -191638,7 +193363,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage++ if (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage >= int32(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) { _statResetCsr(tls, pCsr) - return _sqlite3CorruptError(tls, int32(222551)) + return _sqlite3CorruptError(tls, int32(224206)) } _ = libc.Int32FromInt32(0) if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell { @@ -191650,7 +193375,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnPage++ (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33084, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) + v4 = Xsqlite3_mprintf(tls, __ccgo_ts+33230, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) z = v4 (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FzPath = v4 if z == uintptr(0) { @@ -191673,13 +193398,13 @@ statNextRestart: case int32(0x05): /* table internal */ fallthrough case int32(0x02): /* index internal */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33092 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33238 case int32(0x0D): /* table leaf */ fallthrough case int32(0x0A): /* index leaf */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33101 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33247 default: - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33106 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 33252 break } *(*int32)(unsafe.Pointer(pCsr + 2108)) += (*TStatPage)(unsafe.Pointer(p1)).FnCell @@ -191688,7 +193413,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnMxPayload = (*TStatPage)(unsafe.Pointer(p1)).FnMxPayload } if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) + v5 = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) z = v5 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v5 if z == uintptr(0) { @@ -191777,12 +193502,12 @@ func _statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, a (*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg = uint8(0) } pSql = Xsqlite3_str_new(tls, (*TStatTable)(unsafe.Pointer(pTab)).Fdb) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33116, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33262, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33271, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33417, libc.VaList(bp+8, zName)) } if idxNum&int32(0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33285, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+33431, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -191859,7 +193584,7 @@ func _statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) (r int32) { // ** Invoke this routine to register the "dbstat" virtual table module // */ func _sqlite3DbstatRegister(tls *libc.TLS, db uintptr) (r int32) { - return Xsqlite3_create_module(tls, db, __ccgo_ts+33300, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, __ccgo_ts+33446, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) } var _dbstat_module = Tsqlite3_module{} @@ -193148,20 +194873,20 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, *(*uintptr)(unsafe.Pointer(pazDflt)) = uintptr(0) } nThis = _sqlite3Strlen30(tls, zThis) - if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11591, zThis) { + if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11716, zThis) { rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { /* For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. */ - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33307, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33453, 0) } else { if rc == int32(SQLITE_ERROR) { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1657, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1671, 0) } else { return rc } } } else { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33428, libc.VaList(bp+16, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+33574, libc.VaList(bp+16, zDb, zThis)) } if !(zPragma != 0) { return int32(SQLITE_NOMEM) @@ -193185,7 +194910,7 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, bRowid = 0 } nDbCol += bRowid - nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+29649)) + nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+29795)) rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == SQLITE_OK { nByte = Tsqlite3_int64(uint64(nByte) + uint64(nDbCol)*(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(2)+libc.Uint64FromInt64(1)+libc.Uint64FromInt32(1)+libc.Uint64FromInt32(1))) @@ -193209,8 +194934,8 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 if bRowid != 0 { - nName = libc.Xstrlen(tls, __ccgo_ts+29649) - libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29649, nName+uint64(1)) + nName = libc.Xstrlen(tls, __ccgo_ts+29795) + libc.Xmemcpy(tls, pAlloc, __ccgo_ts+29795, nName+uint64(1)) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc pAlloc += uintptr(nName + uint64(1)) *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) = uint8(1) @@ -193303,7 +195028,7 @@ func _sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr, db uintptr ; i++ } - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11591, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11716, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { (*TSessionTable)(unsafe.Pointer(pTab)).FbStat1 = int32(1) } if pSession != 0 && (*Tsqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { @@ -193595,10 +195320,10 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin _, _, _, _ = ii, zDflt, zSep, v2 *(*TSessionBuffer)(unsafe.Pointer(bp)) = TSessionBuffer{} *(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK - zSep = __ccgo_ts + 11211 + zSep = __ccgo_ts + 11336 ii = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33457, 0) + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+33603, 0) ii = 0 for { if !(ii < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol) { @@ -193607,11 +195332,11 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin if *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) != 0 { v2 = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) } else { - v2 = __ccgo_ts + 1658 + v2 = __ccgo_ts + 1672 } zDflt = v2 - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5085, libc.VaList(bp+32, zSep, zDflt)) - zSep = __ccgo_ts + 14999 + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+5149, libc.VaList(bp+32, zSep, zDflt)) + zSep = __ccgo_ts + 15092 goto _1 _1: ; @@ -193930,7 +195655,7 @@ func _sessionPreupdateOneChange(tls *libc.TLS, op int32, iRowid Ti64, pSession u rc = int32(SQLITE_NOMEM) goto error_out } - _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1657, uint8(0), libc.UintptrFromInt32(0)) + _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1671, uint8(0), libc.UintptrFromInt32(0)) (*Tsqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p } } @@ -194261,7 +195986,7 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr var i int32 var zRet, zSep uintptr _, _, _ = i, zRet, zSep - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 zRet = uintptr(0) i = 0 for { @@ -194269,8 +195994,8 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr break } if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33464, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 22022 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33610, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 22167 if zRet == uintptr(0) { break } @@ -194289,7 +196014,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint var bHave, i int32 var zRet, zSep uintptr _, _, _, _ = bHave, i, zRet, zSep - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 zRet = uintptr(0) bHave = 0 i = 0 @@ -194299,8 +196024,8 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if int32(*(*Tu8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = int32(1) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33498, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 33539 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33644, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 33685 if zRet == uintptr(0) { break } @@ -194312,7 +196037,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if bHave == 0 { _ = libc.Int32FromInt32(0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1731, 0) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1791, 0) } return zRet } @@ -194323,12 +196048,12 @@ func _sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, bRowid int var zRet, zSel, v1 uintptr _, _, _ = zRet, zSel, v1 if bRowid != 0 { - v1 = __ccgo_ts + 33544 + v1 = __ccgo_ts + 33690 } else { - v1 = __ccgo_ts + 6599 + v1 = __ccgo_ts + 6663 } zSel = v1 - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33555, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33701, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -194389,11 +196114,11 @@ func _sessionAllCols(tls *libc.TLS, zDb uintptr, pTab uintptr) (r uintptr) { break } if zRet != 0 { - v2 = __ccgo_ts + 14999 + v2 = __ccgo_ts + 15092 } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33634, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+33780, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) if !(zRet != 0) { break } @@ -194421,7 +196146,7 @@ func _sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFr } else { z1 = _sessionAllCols(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, pTab) z2 = _sessionAllCols(tls, zFrom, pTab) - zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33653, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) + zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+33799, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) if zStmt == uintptr(0) || z1 == uintptr(0) || z2 == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -194521,7 +196246,7 @@ func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl u Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if bMismatch != 0 { if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33710, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+33856, 0) } rc = int32(SQLITE_SCHEMA) } @@ -194853,7 +196578,7 @@ func _sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* aBuf at bp+0 */ [24]uint8 - Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5147, libc.VaList(bp+32, iVal)) + Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+5211, libc.VaList(bp+32, iVal)) _sessionAppendStr(tls, p, bp, pRc) } @@ -195148,23 +196873,23 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt _, _, _, _, _, _, _ = i, nSql, zCols, zSep, zSql, v1, v3 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK zSql = uintptr(0) - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 if bRowid != 0 { - v1 = __ccgo_ts + 33544 + v1 = __ccgo_ts + 33690 } else { - v1 = __ccgo_ts + 6599 + v1 = __ccgo_ts + 6663 } zCols = v1 nSql = -int32(1) *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 24)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 40)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+33737, bp) - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11591, zTab) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+33741, bp) - _sessionAppendStr(tls, bp+24, __ccgo_ts+33765, bp) - _sessionAppendStr(tls, bp+40, __ccgo_ts+33774, bp) - zCols = __ccgo_ts + 33819 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33883, bp) + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+11716, zTab) { + _sessionAppendStr(tls, bp+8, __ccgo_ts+33887, bp) + _sessionAppendStr(tls, bp+24, __ccgo_ts+33911, bp) + _sessionAppendStr(tls, bp+40, __ccgo_ts+33920, bp) + zCols = __ccgo_ts + 33965 } else { i = 0 for { @@ -195174,11 +196899,11 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { _sessionAppendStr(tls, bp+24, zSep, bp) _sessionAppendStr(tls, bp+40, zSep, bp) - zSep = __ccgo_ts + 14999 + zSep = __ccgo_ts + 15092 _sessionAppendIdent(tls, bp+24, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp) - _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33833, libc.VaList(bp+64, i+int32(1))) + _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+33979, libc.VaList(bp+64, i+int32(1))) } else { - _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33837, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+33983, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) } goto _2 _2: @@ -195190,9 +196915,9 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if bIgnoreNoop != 0 { v3 = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf } else { - v3 = __ccgo_ts + 1657 + v3 = __ccgo_ts + 1671 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+33864, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+34010, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) if zSql == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } @@ -195338,7 +197063,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+33906, uintptr(0), uintptr(0), uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+34052, uintptr(0), uintptr(0), uintptr(0)) if *(*int32)(unsafe.Pointer(bp + 16)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -195445,7 +197170,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, } } Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf) - Xsqlite3_exec(tls, db, __ccgo_ts+33926, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34072, uintptr(0), uintptr(0), uintptr(0)) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -195866,7 +197591,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, int32(9)) if rc == SQLITE_OK { if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData { - rc = _sqlite3CorruptError(tls, int32(226700)) + rc = _sqlite3CorruptError(tls, int32(228355)) } else { v3 = pIn + 8 v2 = *(*int32)(unsafe.Pointer(v3)) @@ -195891,7 +197616,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = _sqlite3CorruptError(tls, int32(226720)) + rc = _sqlite3CorruptError(tls, int32(228375)) } else { if eType == int32(SQLITE_TEXT) { v4 = int32(SQLITE_UTF8) @@ -195906,7 +197631,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap } if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) { if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) { - rc = _sqlite3CorruptError(tls, int32(226730)) + rc = _sqlite3CorruptError(tls, int32(228385)) } else { *(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal) if eType == int32(SQLITE_INTEGER) { @@ -195962,7 +197687,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) ( ** large value for nCol may cause nRead to wrap around and become ** negative. Leading to a crash. */ if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) { - rc = _sqlite3CorruptError(tls, int32(226778)) + rc = _sqlite3CorruptError(tls, int32(228433)) } else { rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100)) nRead += *(*int32)(unsafe.Pointer(bp)) @@ -196068,7 +197793,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) { (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 _sessionBufferGrow(tls, p+72, int64(nByte), bp) } else { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(226866)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(228521)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -196141,12 +197866,12 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { return (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc } + _sessionDiscardData(tls, p) + (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext /* If the iterator is already at the end of the changeset, return DONE. */ if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { return int32(SQLITE_DONE) } - _sessionDiscardData(tls, p) - (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext v3 = p + 8 v2 = *(*int32)(unsafe.Pointer(v3)) *(*int32)(unsafe.Pointer(v3))++ @@ -196177,7 +197902,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin /* The first record in the changeset is not a table header. Must be a ** corrupt changeset. */ _ = libc.Int32FromInt32(0) - v7 = _sqlite3CorruptError(tls, int32(226952)) + v7 = _sqlite3CorruptError(tls, int32(228607)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7 return v7 } @@ -196187,7 +197912,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin *(*int32)(unsafe.Pointer(v9))++ (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8)))) if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) { - v10 = _sqlite3CorruptError(tls, int32(226958)) + v10 = _sqlite3CorruptError(tls, int32(228613)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10 return v10 } @@ -196268,7 +197993,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin _ = libc.Int32FromInt32(0) *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - v16 = _sqlite3CorruptError(tls, int32(227002)) + v16 = _sqlite3CorruptError(tls, int32(228657)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16 return v16 } @@ -196679,7 +198404,7 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu goto finished_invert } default: - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(227367)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(229022)) goto finished_invert } _ = libc.Int32FromInt32(0) @@ -196884,18 +198609,18 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 } if pUp == uintptr(0) { nByte = int32(uint64(24) * uint64(nU32) * uint64(4)) - bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11591) == 0) + bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+11716) == 0) pUp = Xsqlite3_malloc(tls, nByte) if pUp == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } else { - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 libc.Xmemset(tls, bp+8, 0, uint64(16)) (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24 libc.Xmemcpy(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*TSessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(4)) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33944, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34090, bp) _sessionAppendIdent(tls, bp+8, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33957, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34103, bp) /* Create the assignments part of the UPDATE */ ii = 0 for { @@ -196905,9 +198630,9 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if int32(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33963, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34109, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(1), bp) - zSep = __ccgo_ts + 14999 + zSep = __ccgo_ts + 15092 } goto _2 _2: @@ -196915,8 +198640,8 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 ii++ } /* Create the WHERE clause part of the UPDATE */ - zSep = __ccgo_ts + 1657 - _sessionAppendStr(tls, bp+8, __ccgo_ts+33968, bp) + zSep = __ccgo_ts + 1671 + _sessionAppendStr(tls, bp+8, __ccgo_ts+34114, bp) ii = 0 for { if !(ii < (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { @@ -196926,13 +198651,13 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 _sessionAppendStr(tls, bp+8, zSep, bp) if bStat1 != 0 && ii == int32(1) { _ = libc.Int32FromInt32(0) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33976, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34122, bp) } else { _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34051, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34197, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(2), bp) } - zSep = __ccgo_ts + 22022 + zSep = __ccgo_ts + 22167 } goto _3 _3: @@ -197016,13 +198741,13 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in var _ /* buf at bp+8 */ TSessionBuffer var _ /* rc at bp+0 */ int32 _, _, _ = i, nPk, zSep - zSep = __ccgo_ts + 1657 + zSep = __ccgo_ts + 1671 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} nPk = 0 - _sessionAppendStr(tls, bp+8, __ccgo_ts+34057, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34203, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33968, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34114, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -197032,9 +198757,9 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in nPk++ _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33963, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34109, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 22022 + zSep = __ccgo_ts + 22167 } goto _1 _1: @@ -197042,10 +198767,10 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in i++ } if nPk < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol { - _sessionAppendStr(tls, bp+8, __ccgo_ts+34075, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34221, bp) _sessionAppendInteger(tls, bp+8, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol+int32(1), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+33539, bp) - zSep = __ccgo_ts + 1657 + _sessionAppendStr(tls, bp+8, __ccgo_ts+33685, bp) + zSep = __ccgo_ts + 1671 i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -197054,16 +198779,16 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in if !(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34051, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34197, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 34083 + zSep = __ccgo_ts + 34229 } goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5115, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5179, bp) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+8, uintptr(0)) @@ -197089,7 +198814,7 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in // */ func _sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r int32) { /* TODO */ - return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6594, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) + return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+6658, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } // C documentation @@ -197112,16 +198837,16 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+34088, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34234, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+22028, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+22173, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } if i != 0 { - _sessionAppendStr(tls, bp+8, __ccgo_ts+14999, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+15092, bp) } _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) goto _1 @@ -197129,19 +198854,19 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34106, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34252, bp) i = int32(1) for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } - _sessionAppendStr(tls, bp+8, __ccgo_ts+34117, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+34263, bp) goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+5115, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+5179, bp) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+16, uintptr(0)) } @@ -197164,12 +198889,12 @@ func _sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) (r int func _sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) (r int32) { var rc int32 _ = rc - rc = _sessionSelectRow(tls, db, __ccgo_ts+11591, p) + rc = _sessionSelectRow(tls, db, __ccgo_ts+11716, p) if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34121) + rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+34267) } if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34234) + rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+34380) } return rc } @@ -197236,7 +198961,7 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { /* The value in the changeset was "undefined". This indicates a ** corrupt changeset blob. */ - rc = _sqlite3CorruptError(tls, int32(227849)) + rc = _sqlite3CorruptError(tls, int32(229504)) } else { rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp))) } @@ -197664,7 +199389,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply } else { if *(*int32)(unsafe.Pointer(bp)) != 0 { _ = libc.Int32FromInt32(0) - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34378, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34524, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = _sessionBindRow(tls, pIter, __ccgo_fp(Xsqlite3changeset_new), (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) Xsqlite3_bind_int(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol+int32(1), int32(1)) @@ -197677,7 +199402,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34399, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34545, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -197773,10 +199498,10 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbIgnoreNoop = libc.BoolUint8(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_IGNORENOOP) != 0)) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34418, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34564, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34444, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34590, uintptr(0), uintptr(0), uintptr(0)) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) { Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0)) @@ -197807,7 +199532,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui ** non-zero, proceed. */ schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144)))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) + *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { rc = int32(SQLITE_NOMEM) break @@ -197817,7 +199542,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } else { nMinCol = 0 Xsqlite3changeset_pk(tls, pIter, bp+152, uintptr(0)) - rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6594, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) + rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+6658, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) if rc != SQLITE_OK { break } @@ -197836,18 +199561,18 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol == 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34474, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34620, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol < *(*int32)(unsafe.Pointer(bp + 136)) { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34518, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34664, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) } else { if *(*int32)(unsafe.Pointer(bp + 136)) < nMinCol || libc.Xmemcmp(tls, (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FabPK, *(*uintptr)(unsafe.Pointer(bp + 152)), uint64(*(*int32)(unsafe.Pointer(bp + 136)))) != 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34589, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+34735, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol = *(*int32)(unsafe.Pointer(bp + 136)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11591) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+11716) { v2 = _sessionStat1Sql(tls, db, bp+8) rc = v2 if v2 != 0 { @@ -197904,13 +199629,13 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } } } - Xsqlite3_exec(tls, db, __ccgo_ts+34649, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34795, uintptr(0), uintptr(0), uintptr(0)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+34679, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+34825, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, __ccgo_ts+34703, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, __ccgo_ts+34679, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34849, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+34825, uintptr(0), uintptr(0), uintptr(0)) } } _ = libc.Int32FromInt32(0) @@ -198004,6 +199729,7 @@ type Tsqlite3_changegroup1 = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -198370,118 +200096,145 @@ func _sessionChangesetExtendRecord(tls *libc.TLS, pGrp uintptr, pTab uintptr, nC // C documentation // // /* -// ** Add all changes in the changeset traversed by the iterator passed as -// ** the first argument to the changegroup hash tables. +// ** Locate or create a SessionTable object that may be used to add the +// ** change currently pointed to by iterator pIter to changegroup pGrp. +// ** If successful, set output variable (*ppTab) to point to the table +// ** object and return SQLITE_OK. Otherwise, if some error occurs, return +// ** an SQLite error code and leave (*ppTab) set to NULL. // */ -func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { - bp := tls.Alloc(80) - defer tls.Free(80) - var bPkOnly1, bPkOnly2, iHash, nNew, rc int32 - var pExist, pTab, pp, ppTab uintptr - var _ /* aRec at bp+0 */ uintptr - var _ /* abPK at bp+64 */ uintptr - var _ /* bIndirect at bp+48 */ int32 - var _ /* nCol at bp+40 */ int32 - var _ /* nRec at bp+8 */ int32 - var _ /* op at bp+44 */ int32 - var _ /* pChange at bp+56 */ uintptr - var _ /* rec at bp+16 */ TSessionBuffer - var _ /* zNew at bp+32 */ uintptr - _, _, _, _, _, _, _, _, _ = bPkOnly1, bPkOnly2, iHash, nNew, pExist, pTab, pp, ppTab, rc +func _sessionChangesetFindTable(tls *libc.TLS, pGrp uintptr, zTab uintptr, pIter uintptr, ppTab uintptr) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var nTab, rc int32 + var pTab, ppNew uintptr + var _ /* abPK at bp+0 */ uintptr + var _ /* nCol at bp+8 */ int32 + _, _, _, _ = nTab, pTab, ppNew, rc rc = SQLITE_OK pTab = uintptr(0) - *(*TSessionBuffer)(unsafe.Pointer(bp + 16)) = TSessionBuffer{} - for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { - pExist = uintptr(0) - /* Ensure that only changesets, or only patchsets, but not a mixture - ** of both, are being combined. It is an error to try to combine a - ** changeset and a patchset. */ - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset - } else { - if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { - rc = int32(SQLITE_ERROR) - break - } + nTab = int32(libc.Xstrlen(tls, zTab)) + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(ppTab)) = uintptr(0) + Xsqlite3changeset_pk(tls, pIter, bp, bp+8) + /* Search the list for an existing table */ + pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList + for { + if !(pTab != 0) { + break } - Xsqlite3changeset_op(tls, pIter, bp+32, bp+40, bp+44, bp+48) - if !(pTab != 0) || Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), (*TSessionTable)(unsafe.Pointer(pTab)).FzName) != 0 { - /* Search the list for a matching table */ - nNew = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))) - Xsqlite3changeset_pk(tls, pIter, bp+64, uintptr(0)) - pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList - for { - if !(pTab != 0) { - break - } - if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), nNew+int32(1)) { - break - } - goto _1 - _1: - ; - pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext - } - if !(pTab != 0) { - pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 40)))+uint64(nNew)+uint64(1)) - if !(pTab != 0) { - rc = int32(SQLITE_NOMEM) - break - } - libc.Xmemset(tls, pTab, 0, uint64(80)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 40)) - (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 64)), uint64(*(*int32)(unsafe.Pointer(bp + 40)))) - (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 40))) - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), uint64(nNew+int32(1))) - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 - rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) - if rc != 0 { - _ = libc.Int32FromInt32(0) - Xsqlite3_free(tls, pTab) - break - } - } - /* The new object must be linked on to the end of the list, not - ** simply added to the start of it. This is to ensure that the - ** tables within the output of sqlite3changegroup_output() are in - ** the right order. */ - ppTab = pGrp + 8 - for { - if !(*(*uintptr)(unsafe.Pointer(ppTab)) != 0) { - break - } - goto _2 - _2: - ; - ppTab = *(*uintptr)(unsafe.Pointer(ppTab)) - } - *(*uintptr)(unsafe.Pointer(ppTab)) = pTab - } - if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*uintptr)(unsafe.Pointer(bp + 64))) != 0) { - rc = int32(SQLITE_SCHEMA) - break - } + if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, nTab+int32(1)) { + break } - if *(*int32)(unsafe.Pointer(bp + 40)) < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol { - _ = libc.Int32FromInt32(0) - rc = _sessionChangesetExtendRecord(tls, pGrp, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*int32)(unsafe.Pointer(bp + 44)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+16) + goto _1 + _1: + ; + pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext + } + /* If one was not found above, create a new table now */ + if !(pTab != 0) { + pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 8)))+uint64(nTab)+uint64(1)) + if !(pTab != 0) { + return int32(SQLITE_NOMEM) + } + libc.Xmemset(tls, pTab, 0, uint64(80)) + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 8)) + (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp)), uint64(*(*int32)(unsafe.Pointer(bp + 8)))) + (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 8))) + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, uint64(nTab+int32(1))) + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 + rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) if rc != 0 { + _ = libc.Int32FromInt32(0) + Xsqlite3_free(tls, pTab) + return rc + } + } + /* The new object must be linked on to the end of the list, not + ** simply added to the start of it. This is to ensure that the + ** tables within the output of sqlite3changegroup_output() are in + ** the right order. */ + ppNew = pGrp + 8 + for { + if !(*(*uintptr)(unsafe.Pointer(ppNew)) != 0) { break } - *(*uintptr)(unsafe.Pointer(bp)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf - *(*int32)(unsafe.Pointer(bp + 8)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf + goto _2 + _2: + ; + ppNew = *(*uintptr)(unsafe.Pointer(ppNew)) } - if _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { - rc = int32(SQLITE_NOMEM) - break + *(*uintptr)(unsafe.Pointer(ppNew)) = pTab + } + /* Check that the table is compatible. */ + if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp))) != 0) { + rc = int32(SQLITE_SCHEMA) + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + return rc +} + +// C documentation +// +// /* +// ** Add the change currently indicated by iterator pIter to the hash table +// ** belonging to changegroup pGrp. +// */ +func _sessionOneChangeToHash(tls *libc.TLS, pGrp uintptr, pIter uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var aRec, pBuf, pExist, pp uintptr + var bPkOnly1, bPkOnly2, iHash, nRec, rc int32 + var _ /* bIndirect at bp+8 */ int32 + var _ /* nCol at bp+0 */ int32 + var _ /* op at bp+4 */ int32 + var _ /* pChange at bp+16 */ uintptr + var _ /* pTab at bp+24 */ uintptr + var _ /* zTab at bp+32 */ uintptr + _, _, _, _, _, _, _, _, _ = aRec, bPkOnly1, bPkOnly2, iHash, nRec, pBuf, pExist, pp, rc + rc = SQLITE_OK + *(*int32)(unsafe.Pointer(bp)) = 0 + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + iHash = 0 + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) + pExist = uintptr(0) + pp = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) + aRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent+int32(2)) + nRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent - int32(2) + /* Ensure that only changesets, or only patchsets, but not a mixture + ** of both, are being combined. It is an error to try to combine a + ** changeset and a patchset. */ + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = int32(SQLITE_ERROR) } - iHash = int32(_sessionChangeHash(tls, pTab, libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)), *(*uintptr)(unsafe.Pointer(bp)), (*TSessionTable)(unsafe.Pointer(pTab)).FnChange)) + } + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0) + Xsqlite3changeset_op(tls, pIter, bp+32, bp, bp+4, bp+8) + rc = _sessionChangesetFindTable(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 32)), pIter, bp+24) + } + if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) < (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnCol { + pBuf = pGrp + 16 + rc = _sessionChangesetExtendRecord(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), aRec, nRec, pBuf) + aRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + nRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FnBuf + _ = libc.Int32FromInt32(0) + } + if rc == SQLITE_OK && _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 24))) != 0 { + rc = int32(SQLITE_NOMEM) + } + if rc == SQLITE_OK { /* Search for existing entry. If found, remove it from the hash table. - ** Code below may link it back in. - */ - pp = (*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8 + ** Code below may link it back in. */ + iHash = int32(_sessionChangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)), aRec, (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnChange)) + pp = (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8 for { if !(*(*uintptr)(unsafe.Pointer(pp)) != 0) { break @@ -198490,30 +200243,54 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase bPkOnly2 = 0 if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { bPkOnly1 = libc.BoolInt32(int32((*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fop) == int32(SQLITE_DELETE)) - bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)) + bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)) } - if _sessionChangeEqual(tls, pTab, bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp))) != 0 { + if _sessionChangeEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, aRec) != 0 { pExist = *(*uintptr)(unsafe.Pointer(pp)) *(*uintptr)(unsafe.Pointer(pp)) = (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry-- + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry-- break } - goto _3 - _3: + goto _1 + _1: ; pp = *(*uintptr)(unsafe.Pointer(pp)) + 24 } - rc = _sessionChangeMerge(tls, pTab, bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 44)), *(*int32)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+56) - if rc != 0 { + } + if rc == SQLITE_OK { + rc = _sessionChangeMerge(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 4)), *(*int32)(unsafe.Pointer(bp + 8)), aRec, nRec, bp+16) + } + if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { + (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 16)) + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry++ + } + if rc == SQLITE_OK { + rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// C documentation +// +// /* +// ** Add all changes in the changeset traversed by the iterator passed as +// ** the first argument to the changegroup hash tables. +// */ +func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var rc int32 + var _ /* aRec at bp+0 */ uintptr + var _ /* nRec at bp+8 */ int32 + _ = rc + rc = SQLITE_OK + for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { + rc = _sessionOneChangeToHash(tls, pGrp, pIter, bRebase) + if rc != SQLITE_OK { break } - if *(*uintptr)(unsafe.Pointer(bp + 56)) != 0 { - (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) - *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 56)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry++ - } } - Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf) if rc == SQLITE_OK { rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc } @@ -198624,11 +200401,11 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) (r int32) { var rc int32 _, _ = p, rc rc = SQLITE_OK /* New object */ - p = Xsqlite3_malloc(tls, int32(32)) + p = Xsqlite3_malloc(tls, int32(48)) if p == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, p, 0, uint64(32)) + libc.Xmemset(tls, p, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(pp)) = p return rc @@ -198650,7 +200427,7 @@ func Xsqlite3changegroup_schema(tls *libc.TLS, pGrp uintptr, db uintptr, zDb uin ** or after sqlite3changegroup_schema() has already been called. */ rc = int32(SQLITE_MISUSE) } else { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, zDb)) + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, zDb)) if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -198680,6 +200457,19 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin return rc } +// C documentation +// +// /* +// ** Add a single change to a changeset-group. +// */ +func Xsqlite3changegroup_add_change(tls *libc.TLS, pGrp uintptr, pIter uintptr) (r int32) { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent == (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc != SQLITE_OK || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbInvert != 0 { + /* Iterator does not point to any valid entry or is an INVERT iterator. */ + return int32(SQLITE_ERROR) + } + return _sessionOneChangeToHash(tls, pGrp, pIter, 0) +} + // C documentation // // /* @@ -198727,6 +200517,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { if pGrp != 0 { Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Frec.FaBuf) Xsqlite3_free(tls, pGrp) } } @@ -199094,11 +200885,11 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) (r int32) { var rc int32 _, _ = pNew, rc rc = SQLITE_OK - pNew = Xsqlite3_malloc(tls, int32(32)) + pNew = Xsqlite3_malloc(tls, int32(48)) if pNew == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, pNew, 0, uint64(32)) + libc.Xmemset(tls, pNew, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(ppNew)) = pNew return rc @@ -199172,6 +200963,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { if p != 0 { _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.Frec.FaBuf) Xsqlite3_free(tls, p) } } @@ -199803,6 +201595,9 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** sqlite3Fts5ParserARG_STORE Code to store %extra_argument into fts5yypParser // ** sqlite3Fts5ParserARG_FETCH Code to extract %extra_argument from fts5yypParser // ** sqlite3Fts5ParserCTX_* As sqlite3Fts5ParserARG_ except for %extra_context +// ** fts5YYREALLOC Name of the realloc() function to use +// ** fts5YYFREE Name of the free() function to use +// ** fts5YYDYNSTACK True if stack space should be extended on heap // ** fts5YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** fts5YYNSTATE the combined number of states. @@ -199816,6 +201611,8 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** fts5YY_NO_ACTION The fts5yy_action[] code for no-op // ** fts5YY_MIN_REDUCE Minimum value for reduce actions // ** fts5YY_MAX_REDUCE Maximum value for reduce actions +// ** fts5YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** fts5YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type Tfts5YYMINORTYPE = struct { @@ -199842,6 +201639,13 @@ type fts5YYMINORTYPE = Tfts5YYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -200271,8 +202075,9 @@ type fts5yyStackEntry = Tfts5yyStackEntry type Tfts5yyParser1 = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser1 = Tfts5yyParser1 @@ -200280,14 +202085,19 @@ type fts5yyParser1 = Tfts5yyParser1 type Tfts5yyParser = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser = Tfts5yyParser /* #include */ +/* For builds that do no have a growable stack, fts5yyGrowStack always +** returns an error. + */ + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3Fts5ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -200302,10 +202112,11 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { var fts5yypParser uintptr _ = fts5yypParser fts5yypParser = fts5yypRawParser - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fstateno = uint8(0) - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fmajor = uint8(0) - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = fts5yypParser + 16 + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack = fts5yypParser + 32 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fstateno = uint8(0) + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fmajor = uint8(0) } // C documentation @@ -200325,7 +202136,7 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) { var fts5yypParser uintptr _ = fts5yypParser - fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2424)) + fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432)) if fts5yypParser != 0 { _sqlite3Fts5ParserInit(tls, fts5yypParser) } @@ -200409,11 +202220,17 @@ func _fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var fts5yytos, pParser uintptr + _, _ = fts5yytos, pParser pParser = p - for (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { - _fts5yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling fts5yy_pop_parser_stack() for each + ** element left in the stack */ + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos + for fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yystack { + if int32((*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor) >= int32(fts5YY_MIN_DSTRCTR) { + _fts5yy_destructor(tls, pParser, (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor, fts5yytos+8) + } + fts5yytos -= 24 } } @@ -200513,13 +202330,13 @@ func _fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse - for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { + for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack { _fts5yy_pop_parser_stack(tls, fts5yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34731, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34877, 0) /******** End %stack_overflow code ********************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument var */ } @@ -200537,15 +202354,19 @@ func _fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, f var fts5yytos uintptr _ = fts5yytos (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 - if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 - _fts5yyStackOverflow(tls, fts5yypParser) - return + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + if fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { + if int32(1) != 0 { + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 + _fts5yyStackOverflow(tls, fts5yypParser) + return + } + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + _ = libc.Int32FromInt32(0) } if int32(fts5yyNewState) > int32(fts5YY_MAX_SHIFT) { fts5yyNewState = uint8(int32(fts5yyNewState) + (libc.Int32FromInt32(fts5YY_MIN_REDUCE) - libc.Int32FromInt32(fts5YY_MIN_SHIFTREDUCE))) } - fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fstateno = fts5yyNewState (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor = fts5yyMajor *(*TFts5Token)(unsafe.Pointer(fts5yytos + 8)) = fts5yyMinor @@ -200875,7 +202696,7 @@ func _fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int3 pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse /************ Begin %syntax_error code ****************************************/ _ = fts5yymajor /* Silence a compiler warning */ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34759, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34905, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) /************ End %syntax_error code ******************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument variable */ } @@ -200941,8 +202762,10 @@ func _sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5y ** enough on the stack to push the LHS value */ if int32(_fts5yyRuleInfoNRhs[fts5yyruleno]) == 0 { if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos >= (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - _fts5yyStackOverflow(tls, fts5yypParser) - break + if int32(1) != 0 { + _fts5yyStackOverflow(tls, fts5yypParser) + break + } } } fts5yyact = _fts5yy_reduce(tls, fts5yypParser, fts5yyruleno, fts5yymajor, fts5yyminor) @@ -201183,7 +203006,7 @@ func _fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n in if n < 0 { n = int32(libc.Xstrlen(tls, z)) } - (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34790, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+34936, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*THighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = int32(SQLITE_NOMEM) } @@ -201281,7 +203104,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint var _ /* rc at bp+104 */ int32 _, _ = iCol, zErr if nVal != int32(3) { - zErr = __ccgo_ts + 34797 + zErr = __ccgo_ts + 34943 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -201292,7 +203115,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint (*(*THighlightContext)(unsafe.Pointer(bp))).FiRangeEnd = -int32(1) *(*int32)(unsafe.Pointer(bp + 104)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})))(tls, pFts, iCol, bp+24, bp+32) if *(*int32)(unsafe.Pointer(bp + 104)) == int32(SQLITE_RANGE) { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1657, -int32(1), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1671, -int32(1), libc.UintptrFromInt32(0)) *(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_OK } else { if (*(*THighlightContext)(unsafe.Pointer(bp))).FzIn != 0 { @@ -201493,7 +203316,7 @@ func _fts5ValueToText(tls *libc.TLS, pVal uintptr) (r uintptr) { if zRet != 0 { v1 = zRet } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } return v1 } @@ -201527,7 +203350,7 @@ func _fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintpt nBestScore = 0 /* Score of best snippet */ *(*int32)(unsafe.Pointer(bp + 112)) = 0 if nVal != int32(5) { - zErr = __ccgo_ts + 34847 + zErr = __ccgo_ts + 34993 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -201908,15 +203731,15 @@ func _sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) (r int32) { FxDestroy uintptr }{ 0: { - FzFunc: __ccgo_ts + 34895, + FzFunc: __ccgo_ts + 35041, FxFunc: __ccgo_fp(_fts5SnippetFunction), }, 1: { - FzFunc: __ccgo_ts + 34903, + FzFunc: __ccgo_ts + 35049, FxFunc: __ccgo_fp(_fts5HighlightFunction), }, 2: { - FzFunc: __ccgo_ts + 34913, + FzFunc: __ccgo_ts + 35059, FxFunc: __ccgo_fp(_fts5Bm25Function), }, } @@ -202581,7 +204404,7 @@ func _fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) (r uintptr) { case int32('n'): fallthrough case int32('N'): - if Xsqlite3_strnicmp(tls, __ccgo_ts+1643, p, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+1657, p, int32(4)) == 0 { p = p + 4 } else { p = uintptr(0) @@ -202787,7 +204610,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _, _, _, _, _, _, _, _, _, _, _, _ = azArg, bFirst, nArg, nByte, nCmd, nPre, p, p1, p2, pDel, pSpace, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK nCmd = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, __ccgo_ts+34918, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35064, zCmd, nCmd) == 0 { nByte = int32(libc.Uint64FromInt64(4) * libc.Uint64FromInt32(FTS5_MAX_PREFIX_INDEXES)) bFirst = int32(1) if (*TFts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { @@ -202813,12 +204636,12 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } } if int32(*(*uint8)(unsafe.Pointer(p))) < int32('0') || int32(*(*uint8)(unsafe.Pointer(p))) > int32('9') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34925, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35071, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } if (*TFts5Config)(unsafe.Pointer(pConfig)).FnPrefix == int32(FTS5_MAX_PREFIX_INDEXES) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34956, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35102, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -202827,7 +204650,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC p++ } if nPre <= 0 || nPre >= int32(1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+34989, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35135, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -202838,7 +204661,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _ = libc.Int32FromInt32(0) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35026, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35172, zCmd, nCmd) == 0 { p1 = zArg nArg = int64(libc.Xstrlen(tls, zArg) + uint64(1)) azArg = _sqlite3Fts5MallocZero(tls, bp, int64(uint64(8)*uint64(nArg))) @@ -202846,7 +204669,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC pSpace = pDel if azArg != 0 && pSpace != 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35035, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35181, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { nArg = 0 @@ -202873,7 +204696,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC nArg++ } if p1 == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35068, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35214, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(nArg), pConfig, pzErr) @@ -202884,58 +204707,58 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC Xsqlite3_free(tls, pDel) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35102, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35248, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35110, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35256, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if *(*uint8)(unsafe.Pointer(zArg)) != 0 { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_EXTERNAL) - (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35142, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35288, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_NONE) } } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35148, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35294, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35167, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35313, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35210, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35356, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35224, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35370, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, zArg, -int32(1)) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35262, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35408, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35273, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35419, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+5508, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+5572, zCmd, nCmd) == 0 { *(*[4]TFts5Enum)(unsafe.Pointer(bp + 8)) = [4]TFts5Enum{ 0: { - FzName: __ccgo_ts + 8227, + FzName: __ccgo_ts + 8352, FeVal: int32(FTS5_DETAIL_NONE), }, 1: { - FzName: __ccgo_ts + 17756, + FzName: __ccgo_ts + 17843, }, 2: { - FzName: __ccgo_ts + 35308, + FzName: __ccgo_ts + 35454, FeVal: int32(FTS5_DETAIL_COLUMNS), }, 3: {}, @@ -202943,20 +204766,20 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC v2 = _fts5ConfigSetEnum(tls, bp+8, zArg, pConfig+96) *(*int32)(unsafe.Pointer(bp)) = v2 if v2 != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35316, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35462, 0) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+35347, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+35493, zCmd, nCmd) == 0 { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35357, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35503, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbTokendata = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35391, libc.VaList(bp+80, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35537, libc.VaList(bp+80, nCmd, zCmd)) return int32(SQLITE_ERROR) } @@ -203030,15 +204853,15 @@ func _fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr var v2 uintptr _, _, _ = rc, v1, v2 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35419) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16703) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35424, libc.VaList(bp+8, zCol)) + if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+35565) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+16790) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35570, libc.VaList(bp+8, zCol)) rc = int32(SQLITE_ERROR) } else { if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35454) { + if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+35600) { *(*Tu8)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*TFts5Config)(unsafe.Pointer(p)).FnCol))) = uint8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35464, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35610, libc.VaList(bp+8, zArg)) rc = int32(SQLITE_ERROR) } } @@ -203064,7 +204887,7 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TFts5Buffer)(unsafe.Pointer(bp + 8)) = TFts5Buffer{} - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35495, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35641, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*TFts5Config)(unsafe.Pointer(p)).FeContent != int32(FTS5_CONTENT_NONE) { i = 0 for { @@ -203072,9 +204895,9 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { break } if (*TFts5Config)(unsafe.Pointer(p)).FeContent == int32(FTS5_CONTENT_EXTERNAL) { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35500, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35646, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35507, libc.VaList(bp+32, i)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+35653, libc.VaList(bp+32, i)) } goto _1 _1: @@ -203135,8 +204958,8 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in (*TFts5Config)(unsafe.Pointer(pRet)).FzName = _sqlite3Fts5Strndup(tls, bp, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -int32(1)) (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize = int32(1) (*TFts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35419) == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35515, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) + if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+35565) == 0 { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35661, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } _ = libc.Int32FromInt32(0) @@ -203169,19 +204992,19 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35544, libc.VaList(bp+40, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35690, libc.VaList(bp+40, zOrig)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bOption != 0 { if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { v4 = *(*uintptr)(unsafe.Pointer(bp + 8)) } else { - v4 = __ccgo_ts + 1657 + v4 = __ccgo_ts + 1671 } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { v5 = *(*uintptr)(unsafe.Pointer(bp + 16)) } else { - v5 = __ccgo_ts + 1657 + v5 = __ccgo_ts + 1671 } *(*int32)(unsafe.Pointer(bp)) = _fts5ConfigParseSpecial(tls, pGlobal, pRet, v4, v5, pzErr) } else { @@ -203199,7 +205022,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } /* We only allow contentless_delete=1 if the table is indeed contentless. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FeContent != int32(FTS5_CONTENT_NONE) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35564, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35710, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* We only allow contentless_delete=1 if columnsize=0 is not present. @@ -203207,7 +205030,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in ** This restriction may be removed at some point. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35614, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+35760, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* If a tokenizer= option was successfully parsed, the tokenizer has @@ -203221,18 +205044,18 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in zTail = uintptr(0) _ = libc.Int32FromInt32(0) if (*TFts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { - zTail = __ccgo_ts + 35102 + zTail = __ccgo_ts + 35248 } else { if (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = __ccgo_ts + 35669 + zTail = __ccgo_ts + 35815 } } if zTail != 0 { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35677, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35823, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0) { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16703, -int32(1)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+16790, -int32(1)) } /* Formulate the zContentExprlist text */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -203296,25 +205119,25 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) { var _ /* rc at bp+0 */ int32 _, _, _, _ = i, zSep, zSql, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35688, 0) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35834, 0) i = 0 for { if !(zSql != 0 && i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } if i == 0 { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } else { - v2 = __ccgo_ts + 14999 + v2 = __ccgo_ts + 15092 } zSep = v2 - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35704, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35850, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) goto _1 _1: ; i++ } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35711, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35419)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+35857, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+35565)) _ = libc.Int32FromInt32(0) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_declare_vtab(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -203462,7 +205285,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV var _ /* zRankArgs at bp+8 */ uintptr _, _, _, _, _, _, _, _, _, _ = bVal, nAutomerge, nCrisisMerge, nHashSize, nUsermerge, nVal, pgsz, rc, zIn, v1 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35737) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35883) { pgsz = 0 if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -203473,7 +205296,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35742) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35888) { nHashSize = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -203484,7 +205307,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35751) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35897) { nAutomerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -203498,7 +205321,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35761) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35907) { nUsermerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -203509,7 +205332,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35771) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35917) { nCrisisMerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -203526,7 +205349,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35783) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35929) { nVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nVal = Xsqlite3_value_int(tls, pVal) @@ -203541,7 +205364,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } (*TFts5Config)(unsafe.Pointer(pConfig)).FnDeleteMerge = nVal } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35419) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35565) { zIn = Xsqlite3_value_text(tls, pVal) rc = _sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8) if rc == SQLITE_OK { @@ -203556,7 +205379,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35795) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+35941) { bVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { bVal = Xsqlite3_value_int(tls, pVal) @@ -203598,7 +205421,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in var _ /* p at bp+0 */ uintptr var _ /* rc at bp+8 */ int32 _, _, _, _, _ = iVersion, pVal, zK, zSelect, zSql - zSelect = __ccgo_ts + 35809 + zSelect = __ccgo_ts + 35955 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_OK iVersion = 0 @@ -203619,7 +205442,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in for int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zK = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) pVal = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) - if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35841) { + if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+35987) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 12)) = 0 @@ -203632,7 +205455,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in *(*int32)(unsafe.Pointer(bp + 8)) = int32(SQLITE_ERROR) if (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { _ = libc.Int32FromInt32(0) - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35849, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35995, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = iVersion @@ -203854,7 +205677,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr } } if int32(*(*uint8)(unsafe.Pointer(z2))) == int32('\000') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35920, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36066, 0) return FTS5_EOF } goto _1 @@ -203865,7 +205688,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z2) - int64(z)) default: if _sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z))) == 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35940, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36086, libc.VaList(bp+8, z)) return FTS5_EOF } tok = int32(FTS5_STRING) @@ -203880,13 +205703,13 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr z21++ } (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(z21) - int64(z)) - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35971, uint64(2)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36117, uint64(2)) == 0 { tok = int32(FTS5_OR) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+35974, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+36120, uint64(3)) == 0 { tok = int32(FTS5_NOT) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30715, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+30861, uint64(3)) == 0 { tok = int32(FTS5_AND) } break @@ -205994,8 +207817,8 @@ func _sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, pp func _sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+35978, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34759, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) + if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+36124, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+34905, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -206015,7 +207838,7 @@ func _sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, } c = *(*uint8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) if int32(c) < int32('0') || int32(c) > int32('9') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+35983, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36129, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) return } nNear = nNear*int32(10) + (int32(*(*uint8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - int32('0')) @@ -206155,7 +207978,7 @@ func _sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p u iCol++ } if iCol == (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21025, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+21157, libc.VaList(bp+8, z)) } else { pRet = _fts5ParseColset(tls, pParse, pColset, iCol) } @@ -206282,7 +208105,7 @@ func _sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pC var _ /* pFree at bp+0 */ uintptr *(*uintptr)(unsafe.Pointer(bp)) = pColset if (*TFts5Config)(unsafe.Pointer((*TFts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == int32(FTS5_DETAIL_NONE) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36012, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36158, 0) } else { _fts5ParseSetColset(tls, pParse, pExpr, pColset, bp) } @@ -206479,11 +208302,11 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin pPhrase = *(*uintptr)(unsafe.Pointer(pNear + 24)) if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase != int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*(*TFts5ExprTerm)(unsafe.Pointer(pPhrase + 32))).FbFirst != 0 { if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == int32(1) { - v2 = __ccgo_ts + 36065 + v2 = __ccgo_ts + 36211 } else { - v2 = __ccgo_ts + 35978 + v2 = __ccgo_ts + 36124 } - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36072, libc.VaList(bp+8, v2)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36218, libc.VaList(bp+8, v2)) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -206492,7 +208315,7 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin _fts5ExprAddChildren(tls, pRet, pLeft) _fts5ExprAddChildren(tls, pRet, pRight) if (*TFts5ExprNode)(unsafe.Pointer(pRet)).FiHeight > int32(SQLITE_FTS5_MAX_EXPR_DEPTH) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36122, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36268, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -208661,7 +210484,7 @@ func _fts5DataRead(tls *libc.TLS, p uintptr, iRowid Ti64) (r uintptr) { ** to the requested entry. */ if (*TFts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36175, iRowid, 0, p+72) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36321, iRowid, 0, p+72) } /* If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls ** above returned SQLITE_ERROR, return SQLITE_CORRUPT_VTAB instead. @@ -208755,7 +210578,7 @@ func _fts5DataWrite(tls *libc.TLS, p uintptr, iRowid Ti64, pData uintptr, nData } if (*TFts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36181, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+36327, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return } @@ -208784,7 +210607,7 @@ func _fts5DataDelete(tls *libc.TLS, p uintptr, iFirst Ti64, iLast Ti64) { } if (*TFts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36232, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+36378, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if _fts5IndexPrepareStmt(tls, p, p+88, zSql) != 0 { return } @@ -208818,7 +210641,7 @@ func _fts5DataRemoveSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { } if (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36281, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+36427, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter, int32(1), iSegid) @@ -208988,7 +210811,7 @@ func _fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie ui } i = int32(4) /* Check if this is a V2 structure record. Set bStructureV2 if it is. */ - if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36321, uint64(4)) { + if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+36467, uint64(4)) { i += int32(4) bStructureV2 = int32(1) } @@ -209181,7 +211004,7 @@ func _fts5IndexDataVersion(tls *libc.TLS, p uintptr) (r Ti64) { iVersion = 0 if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*TFts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) { - (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36326, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+36472, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return 0 } @@ -209269,7 +211092,7 @@ func _fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = int32(4) if (*TFts5Structure)(unsafe.Pointer(pStruct)).FnOriginCntr > uint64(0) { _ = libc.Int32FromInt32(0) - libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36321, uint64(4)) + libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+36467, uint64(4)) *(*int32)(unsafe.Pointer(bp + 8)) += int32(4) } *(*int32)(unsafe.Pointer(bp + 8)) += _sqlite3Fts5PutVarint(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), uint64((*TFts5Structure)(unsafe.Pointer(pStruct)).FnLevel)) @@ -210686,7 +212509,7 @@ func _fts5IdxSelectStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36349, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+36495, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect } @@ -210778,7 +212601,7 @@ func _fts5IdxNextStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36433, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+36579, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect } @@ -212457,7 +214280,7 @@ func _fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { if (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { v1 = (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } z = v1 /* The following was already done in fts5WriteInit(): */ @@ -212826,7 +214649,7 @@ func _fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { _sqlite3Fts5BufferSize(tls, p+60, pWriter+8+8, uint32(nBuffer)) if (*TFts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36515, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+36661, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { /* Initialize the 4-byte leaf-page header to 0x00. */ @@ -213327,7 +215150,7 @@ func _fts5SecureDeleteIdxEntry(tls *libc.TLS, p uintptr, iSegid int32, iPgno int if iPgno != int32(1) { _ = libc.Int32FromInt32(0) if (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx == uintptr(0) { - _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36572, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+36718, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx, int32(1), iSegid) @@ -214867,7 +216690,7 @@ func _sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) (r int32) { if (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FbContentlessDelete != 0 { (*(*TFts5Structure)(unsafe.Pointer(bp))).FnOriginCntr = uint64(1) } - _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1657, 0) + _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1671, 0) _fts5StructureWrite(tls, p, bp) return _fts5IndexReturn(tls, p) } @@ -214894,11 +216717,11 @@ func _sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uin if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*TFts5Index)(unsafe.Pointer(p)).FnWorkUnit = int32(FTS5_WORK_UNIT) - (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36633, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36779, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25750, __ccgo_ts+36641, 0, pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+25896, __ccgo_ts+36787, 0, pzErr) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11802, __ccgo_ts+36676, int32(1), pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+11927, __ccgo_ts+36822, int32(1), pzErr) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5IndexReinit(tls, p) @@ -215437,7 +217260,7 @@ func _fts5SetupTokendataIter(tls *libc.TLS, p uintptr, pToken uintptr, nToken in pNew = _fts5MultiIterAlloc(tls, p, (*TFts5Structure)(unsafe.Pointer(pStruct)).FnSegment) if pSmall != 0 { _sqlite3Fts5BufferSet(tls, p+60, bp, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fn, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36720) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+36866) } else { _sqlite3Fts5BufferSet(tls, p+60, bp, nToken, pToken) } @@ -215967,7 +217790,7 @@ func _sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) _ = libc.Int32FromInt32(0) _sqlite3Fts5Put32(tls, bp, iNew) - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36175, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+36321, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, int32(4), 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -216566,7 +218389,7 @@ func _fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { if (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { return } - _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36722, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) + _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+36868, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) /* Iterate through the b-tree hierarchy. */ for (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { /* Data for this leaf */ zIdxTerm = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -216799,7 +218622,7 @@ func _sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum Tu64, bUseC } else { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = 0 _fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16))+104+uintptr((*(*TFts5CResult)(unsafe.Pointer((*TFts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FaFirst + 1*4))).FiFirst)*128, uintptr(0), bp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36808) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+36954) for 0 == _sqlite3Fts5PoslistNext64(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn, bp+40, bp+32) { iCol = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) >> libc.Int32FromInt32(32)) iTokOff = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) & libc.Int64FromInt32(0x7FFFFFFF)) @@ -217397,7 +219220,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) _ = libc.Int32FromInt32(0) _ = libc.Int32FromInt32(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36813, 0) + (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36959, 0) return int32(SQLITE_ERROR) } idxStr = Xsqlite3_malloc(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pInfo)).FnConstraint*int32(8)+int32(1)) @@ -217437,7 +219260,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v3 = iIdxStr iIdxStr++ *(*uint8)(unsafe.Pointer(idxStr + uintptr(v3))) = uint8('M') - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5147, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5211, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) _ = libc.Int32FromInt32(0) } @@ -217459,7 +219282,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v6 = int32('G') } *(*uint8)(unsafe.Pointer(idxStr + uintptr(v5))) = uint8(v6) - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5147, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+5211, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) iCons++ v7 = iCons @@ -217901,7 +219724,7 @@ func _fts5NextMethod(tls *libc.TLS, pCursor uintptr) (r int32) { *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_EOF) rc = Xsqlite3_reset(tls, (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -217928,7 +219751,7 @@ func _fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt } else { rc = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -217963,21 +219786,21 @@ func _fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ if zRankArgs != 0 { - v1 = __ccgo_ts + 14999 + v1 = __ccgo_ts + 15092 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } if zRankArgs != 0 { v2 = zRankArgs } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } if bDesc != 0 { - v3 = __ccgo_ts + 36852 + v3 = __ccgo_ts + 36998 } else { - v3 = __ccgo_ts + 36857 + v3 = __ccgo_ts + 37003 } - rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+36861, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) + rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+37007, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter if rc == SQLITE_OK { _ = libc.Int32FromInt32(0) @@ -218037,14 +219860,14 @@ func _fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr } _ = libc.Int32FromInt32(0) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan = int32(FTS5_PLAN_SPECIAL) - if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+36916, z, n) { + if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+37062, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = int64(_sqlite3Fts5IndexReads(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex)) } else { - if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5490, z, n) { + if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+5554, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { /* An unrecognized directive. Return an error message. */ - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36922, libc.VaList(bp+8, n, z)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37068, libc.VaList(bp+8, n, z)) rc = int32(SQLITE_ERROR) } } @@ -218094,7 +219917,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { zRank = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank zRankArgs = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36950, libc.VaList(bp+24, zRankArgs)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37096, libc.VaList(bp+24, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp+8, uintptr(0)) @@ -218130,7 +219953,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { pAux = _fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { _ = libc.Int32FromInt32(0) - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36960, libc.VaList(bp+24, zRank)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37106, libc.VaList(bp+24, zRank)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -218164,7 +219987,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_FREE_ZRANK) } else { if rc == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36981, libc.VaList(bp+24, z)) + (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37127, libc.VaList(bp+24, z)) } } } else { @@ -218172,7 +219995,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRank (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRankArgs } else { - (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 34913 + (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 35059 (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -218223,7 +220046,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint iIdxStr = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36813, 0) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+36959, 0) return int32(SQLITE_ERROR) } if (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan != 0 { @@ -218253,7 +220076,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint case int32('M'): zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))) if zText == uintptr(0) { - zText = __ccgo_ts + 1657 + zText = __ccgo_ts + 1671 } iCol = 0 for cond := true; cond; cond = int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= int32('0') && int32(*(*uint8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= int32('9') { @@ -218381,7 +220204,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint } } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent == uintptr(0) { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37014, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37160, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = int32(SQLITE_ERROR) } else { /* This is either a full-table scan (ePlan==FTS5_PLAN_SCAN) or a lookup @@ -218525,7 +220348,7 @@ func _fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) (r int32) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< int32(1) { - v1 = __ccgo_ts + 20878 + v1 = __ccgo_ts + 21010 } else { - v1 = __ccgo_ts + 37292 + v1 = __ccgo_ts + 37438 } - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37304, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+37450, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if nArg == int32(1) { @@ -218790,7 +220613,7 @@ func _fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && bUpdateOrDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FbSecureDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion == int32(FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35841, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+35987, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = int32(FTS5_CURRENT_VERSION_SECUREDELETE) } @@ -219591,7 +221414,7 @@ func _fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) iCsrId = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) pCsr = _fts5CursorFromCsrid(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId) if pCsr == uintptr(0) || (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37341, libc.VaList(bp+8, iCsrId)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37487, libc.VaList(bp+8, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } else { @@ -219783,7 +221606,7 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = uintptr(0) } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 && Xsqlite3_vtab_nochange(tls, pCtx) != 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37362, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+37508, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -220026,7 +221849,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr if pMod == uintptr(0) { _ = libc.Int32FromInt32(0) rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37433, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37579, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) } else { if azArg != 0 { v2 = azArg + 1*8 @@ -220042,7 +221865,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr (*TFts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16 if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37455, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37601, 0) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FePattern = _sqlite3Fts5TokenizerPattern(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate, (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok) @@ -220098,7 +221921,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { pGlobal = Xsqlite3_user_data(tls, pCtx) _ = nArg _ = libc.Int32FromInt32(0) - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37486) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+37632) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal } @@ -220113,7 +221936,7 @@ func _fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr _ = libc.Int32FromInt32(0) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37499, -int32(1), uintptr(-libc.Int32FromInt32(1))) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+37645, -int32(1), uintptr(-libc.Int32FromInt32(1))) } // C documentation @@ -220142,11 +221965,11 @@ func _fts5ShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName2 = [5]uintptr{ - 0: __ccgo_ts + 37590, - 1: __ccgo_ts + 35102, - 2: __ccgo_ts + 25750, - 3: __ccgo_ts + 35669, - 4: __ccgo_ts + 11802, + 0: __ccgo_ts + 37736, + 1: __ccgo_ts + 35248, + 2: __ccgo_ts + 25896, + 3: __ccgo_ts + 35815, + 4: __ccgo_ts + 11927, } // C documentation @@ -220160,21 +221983,27 @@ func _fts5IntegrityMethod(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zTabnam bp := tls.Alloc(32) defer tls.Free(32) var pTab uintptr - var rc int32 - _, _ = pTab, rc + var rc, v1 int32 + _, _, _ = pTab, rc, v1 pTab = pVtab _ = libc.Int32FromInt32(0) _ = isQuick rc = _sqlite3Fts5StorageIntegrity(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, 0) if rc&int32(0xff) == int32(SQLITE_CORRUPT) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37597, libc.VaList(bp+8, zSchema, zTabname)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37743, libc.VaList(bp+8, zSchema, zTabname)) + if *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { + v1 = SQLITE_OK + } else { + v1 = int32(SQLITE_NOMEM) + } + rc = v1 } else { if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37643, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37789, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) } } _sqlite3Fts5IndexCloseReader(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) - return SQLITE_OK + return rc } func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { @@ -220193,7 +222022,7 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateFunction = __ccgo_fp(_fts5CreateAux) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateTokenizer = __ccgo_fp(_fts5CreateTokenizer) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = __ccgo_fp(_fts5FindTokenizer) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37706, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+37852, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) if rc == SQLITE_OK { rc = _sqlite3Fts5IndexInit(tls, db) } @@ -220210,10 +222039,10 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { rc = _sqlite3Fts5VocabInit(tls, pGlobal, db) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37706, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37852, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37711, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+37857, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) } } /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file @@ -220318,17 +222147,17 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, _ = libc.Int32FromInt32(0) if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { azStmt = [11]uintptr{ - 0: __ccgo_ts + 37726, - 1: __ccgo_ts + 37794, - 2: __ccgo_ts + 37863, - 3: __ccgo_ts + 37896, - 4: __ccgo_ts + 37935, - 5: __ccgo_ts + 37975, - 6: __ccgo_ts + 38014, - 7: __ccgo_ts + 38057, - 8: __ccgo_ts + 38096, - 9: __ccgo_ts + 38140, - 10: __ccgo_ts + 38180, + 0: __ccgo_ts + 37872, + 1: __ccgo_ts + 37940, + 2: __ccgo_ts + 38009, + 3: __ccgo_ts + 38042, + 4: __ccgo_ts + 38081, + 5: __ccgo_ts + 38121, + 6: __ccgo_ts + 38160, + 7: __ccgo_ts + 38203, + 8: __ccgo_ts + 38242, + 9: __ccgo_ts + 38286, + 10: __ccgo_ts + 38326, } pC = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig zSql = uintptr(0) @@ -220365,16 +222194,16 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, } case int32(FTS5_STMT_REPLACE_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v2 = __ccgo_ts + 38203 + v2 = __ccgo_ts + 38349 } else { - v2 = __ccgo_ts + 1657 + v2 = __ccgo_ts + 1671 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName, v2)) case int32(FTS5_STMT_LOOKUP_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v3 = __ccgo_ts + 38206 + v3 = __ccgo_ts + 38352 } else { - v3 = __ccgo_ts + 1657 + v3 = __ccgo_ts + 1671 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, v3, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName)) default: @@ -220393,7 +222222,7 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, (*TFts5Config)(unsafe.Pointer((*TFts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if rc != SQLITE_OK && pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3804, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+3868, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -220430,12 +222259,12 @@ func _sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) (r int32) { defer tls.Free(64) var rc int32 _ = rc - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38214, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38360, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38318, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38464, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38356, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38502, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } @@ -220444,7 +222273,7 @@ func _fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail ui bp := tls.Alloc(48) defer tls.Free(48) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38394, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) + *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38540, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -220456,14 +222285,14 @@ func _sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) ( _ = pConfig pConfig = (*TFts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageSync(tls, pStorage) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25750, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11802, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37590, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+25896, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+11927, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37736, zName) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35669, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35815, zName) } if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35102, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+35248, zName) } return *(*int32)(unsafe.Pointer(bp)) } @@ -220483,13 +222312,13 @@ func _sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDef _, _ = rc, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if bWithout != 0 { - v1 = __ccgo_ts + 30390 + v1 = __ccgo_ts + 30536 } else { - v1 = __ccgo_ts + 1657 + v1 = __ccgo_ts + 1671 } - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38436, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+38582, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38466, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38612, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) } return rc @@ -220530,36 +222359,36 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr if zDefn == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38510, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+38656, 0) iOff = int32(libc.Xstrlen(tls, zDefn)) i = 0 for { if !(i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } - Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38533, libc.VaList(bp+8, i)) + Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+38679, libc.VaList(bp+8, i)) iOff += int32(libc.Xstrlen(tls, zDefn+uintptr(iOff))) goto _2 _2: ; i++ } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35102, zDefn, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35248, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - zCols = __ccgo_ts + 38539 + zCols = __ccgo_ts + 38685 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 { - zCols = __ccgo_ts + 38571 + zCols = __ccgo_ts + 38717 } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35669, zCols, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+35815, zCols, 0, pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37590, __ccgo_ts+38619, int32(1), pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37736, __ccgo_ts+38765, int32(1), pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35841, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35987, uintptr(0), int32(FTS5_CURRENT_VERSION)) } } if rc != 0 { @@ -220906,9 +222735,9 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig (*TFts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 /* Delete the contents of the %_data and %_docsize tables. */ - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38636, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38782, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38686, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+38832, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } /* Reinitialize the %_data table. This call creates the initial structure ** and averages records. */ @@ -220916,7 +222745,7 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3Fts5IndexReinit(tls, (*TFts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35841, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+35987, uintptr(0), int32(FTS5_CURRENT_VERSION)) } return rc } @@ -221130,7 +222959,7 @@ func _fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var _ /* pCnt at bp+0 */ uintptr _, _, _ = pConfig, rc, zSql pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38715, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+38861, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -221341,14 +223170,14 @@ func _sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) (r int32 ** number of rows. */ if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { *(*Ti64)(unsafe.Pointer(bp + 48)) = 0 - rc = _fts5StorageCount(tls, p, __ccgo_ts+35102, bp+48) + rc = _fts5StorageCount(tls, p, __ccgo_ts+35248, bp+48) if rc == SQLITE_OK && *(*Ti64)(unsafe.Pointer(bp + 48)) != (*TFts5Storage)(unsafe.Pointer(p)).FnTotalRow { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) } @@ -222561,64 +224390,64 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38817, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38963, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38820, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38966, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38825, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38971, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('e'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38830, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38976, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38833, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38979, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('l'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38836, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38982, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38841, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38987, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38846, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38992, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38850, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38996, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38856, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39002, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38861, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39007, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -222627,49 +224456,49 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38865, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39011, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38869, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39015, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } } case int32('s'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38872, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39018, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('t'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38876, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39022, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38880, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39026, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38884, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39030, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38888, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39034, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('z'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38892, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39038, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -222686,20 +224515,20 @@ func _fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38896, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38876, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39042, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39022, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('b'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38899, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38902, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39045, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39048, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38906, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+38892, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39052, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+39038, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } @@ -222715,75 +224544,75 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38909, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39055, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38876, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39022, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38917, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39063, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38924, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39070, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(4) } } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38929, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39075, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38825, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38971, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38934, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39080, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38820, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38966, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } } case int32('e'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38939, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39085, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38892, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39038, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('g'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38944, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39090, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15916, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+15995, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('l'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38949, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39095, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38902, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39048, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38953, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39099, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38817, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38963, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38958, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39104, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38861, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39007, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38964, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39110, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+38968, uint64(1)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39114, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(1) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38970, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39116, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38884, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39030, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } @@ -222792,48 +224621,48 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38976, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39122, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38892, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39038, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38984, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39130, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38876, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39022, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38990, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39136, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38876, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+39022, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } } } case int32('s'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+38995, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39141, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38817, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38963, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39001, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39147, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38888, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39034, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39009, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39155, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39017, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39163, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39021, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39167, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+38884, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+39030, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } @@ -222841,21 +224670,21 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39029, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39175, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38817, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38963, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39035, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39181, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38888, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+39034, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39041, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39187, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+38902, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+39048, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(3) } } @@ -222873,48 +224702,48 @@ func _fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39048, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39194, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38833, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+38979, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } case int32('s'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39053, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39199, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39058, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39204, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38833, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38979, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39064, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39210, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38833, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38979, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39017, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39163, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39070, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39216, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } case int32('z'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39076, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39222, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38817, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+38963, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } @@ -222930,13 +224759,13 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('e'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39082, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39228, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39086, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+39232, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(2) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39089, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39235, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) ret = int32(1) @@ -222944,7 +224773,7 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39092, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+39238, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) ret = int32(1) @@ -223106,14 +224935,14 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p break } zArg = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+int32(1))*8)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39096) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+39242) { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { (*TTrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = libc.BoolInt32(int32(*(*uint8)(unsafe.Pointer(zArg))) == int32('0')) } } else { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38789) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+38935) { if int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('1') && int32(*(*uint8)(unsafe.Pointer(zArg))) != int32('2') || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { @@ -223388,7 +225217,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { Fx Tfts5_tokenizer }{ 0: { - FzName: __ccgo_ts + 38807, + FzName: __ccgo_ts + 38953, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5UnicodeCreate), FxDelete: __ccgo_fp(_fts5UnicodeDelete), @@ -223396,7 +225225,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 1: { - FzName: __ccgo_ts + 39111, + FzName: __ccgo_ts + 39257, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5AsciiCreate), FxDelete: __ccgo_fp(_fts5AsciiDelete), @@ -223404,7 +225233,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 2: { - FzName: __ccgo_ts + 39117, + FzName: __ccgo_ts + 39263, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5PorterCreate), FxDelete: __ccgo_fp(_fts5PorterDelete), @@ -223412,7 +225241,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 3: { - FzName: __ccgo_ts + 39124, + FzName: __ccgo_ts + 39270, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5TriCreate), FxDelete: __ccgo_fp(_fts5TriDelete), @@ -228957,16 +230786,16 @@ func _fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uin zCopy = _sqlite3Fts5Strndup(tls, bp, zType, -int32(1)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { _sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39132) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39278) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39136) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39282) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_ROW) } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39140) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+39286) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_INSTANCE) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39149, libc.VaList(bp+16, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39295, libc.VaList(bp+16, zCopy)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -229035,15 +230864,15 @@ func _fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg var _ /* rc at bp+0 */ int32 _, _, _, _, _, _, _, _, _, _, _, _ = azSchema, bDb, nByte, nDb, nTab, pRet, zDb, zTab, zType, v1, v2, v3 azSchema = [3]uintptr{ - 0: __ccgo_ts + 39183, - 1: __ccgo_ts + 39223, - 2: __ccgo_ts + 39258, + 0: __ccgo_ts + 39329, + 1: __ccgo_ts + 39369, + 2: __ccgo_ts + 39404, } pRet = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23751, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) + bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+23874, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) if argc != int32(5) && bDb == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39301, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39447, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bDb != 0 { @@ -229214,10 +231043,10 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) zSql = uintptr(0) if (*TFts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39334, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39480, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return int32(SQLITE_ERROR) } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39365, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+39511, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, (*TFts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), bp+8, uintptr(0)) } @@ -229237,7 +231066,7 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39416, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+39562, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } else { @@ -229546,7 +231375,7 @@ func _fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnuse if pLe != 0 { zCopy = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = __ccgo_ts + 1657 + zCopy = __ccgo_ts + 1671 } (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm+int32(1)) @@ -229674,7 +231503,7 @@ func _sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) (r int32) var p uintptr _ = p p = pGlobal - return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39442, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39588, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) } var _fts5Vocab = Tsqlite3_module{ @@ -229727,7 +231556,7 @@ func init() { // /************** End of stmt.c ************************************************/ // /* Return the source-id for this library */ func Xsqlite3_sourceid(tls *libc.TLS) (r uintptr) { - return __ccgo_ts + 39452 + return __ccgo_ts + 39598 } type TAggInfo_col = struct { @@ -230009,11 +231838,11 @@ var Xsqlite3_temp_directory uintptr // ** // ** See also: [sqlite_version()] and [sqlite_source_id()]. // */ -var Xsqlite3_version = [7]uint8{'3', '.', '4', '5', '.', '3'} +var Xsqlite3_version = [7]uint8{'3', '.', '4', '6', '.', '0'} var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data -var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%04d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00PRAGMA \"%w\".integrity_check(%Q)\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00RIGHT PART OF \x00USE TEMP B-TREE FOR %sORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00" +var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00" type Sqlite3_int64 = sqlite3_int64 type Sqlite3_mutex_methods = sqlite3_mutex_methods diff --git a/vendor/modernc.org/sqlite/lib/sqlite_windows.go b/vendor/modernc.org/sqlite/lib/sqlite_windows.go index 15f94022e4..b5561cd2fd 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_windows.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_windows.go @@ -1,4 +1,4 @@ -// Code generated for windows/amd64 by 'generator -mlong-double-64 --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -extended-errors -o sqlite3.go sqlite3.c -I/tmp/libsqlite3/sqlite-amalgamation-3450300/ccgo --cpp /usr/bin/x86_64-w64-mingw32-gcc --goarch amd64 --goos windows -DSQLITE_HAVE_C99_MATH_FUNCS=(1) -DSQLITE_OS_WIN=1 -DSQLITE_OMIT_SEH -build-lines \/\/go:build windows && (amd64 || arm64)\n\/\/ \x2bbuild windows\n\/\/ \x2bbuild amd64 arm64 -map gcc=x86_64-w64-mingw32-gcc -eval-all-macros', DO NOT EDIT. +// Code generated for windows/amd64 by 'generator -mlong-double-64 --package-name libsqlite3 --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -ignore-unsupported-alignment -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DNDEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_WITHOUT_ZONEMALLOC -Dpread64=pread -Dpwrite64=pwrite -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libz/include/windows/amd64 -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libtcl8.6/include/windows/amd64 -extended-errors -o sqlite3.go sqlite3.c --cpp /usr/bin/x86_64-w64-mingw32-gcc --goarch amd64 --goos windows -DSQLITE_HAVE_C99_MATH_FUNCS=(1) -DSQLITE_OS_WIN=1 -DSQLITE_OMIT_SEH -build-lines \/\/go:build windows && (amd64 || arm64)\n\/\/ \x2bbuild windows\n\/\/ \x2bbuild amd64 arm64 -map gcc=x86_64-w64-mingw32-gcc -eval-all-macros', DO NOT EDIT. //go:build windows && (amd64 || arm64) // +build windows @@ -12541,6 +12541,7 @@ const OPFLG_IN1 = 2 const OPFLG_IN2 = 4 const OPFLG_IN3 = 8 const OPFLG_JUMP = 1 +const OPFLG_JUMP0 = 128 const OPFLG_NCYCLE = 64 const OPFLG_OUT2 = 16 const OPFLG_OUT3 = 32 @@ -12621,7 +12622,7 @@ const OP_IfNotOpen = 25 const OP_IfNotZero = 60 const OP_IfNullRow = 20 const OP_IfPos = 59 -const OP_IfSmaller = 33 +const OP_IfSizeBetween = 33 const OP_IncrVacuum = 62 const OP_Init = 8 const OP_InitCoroutine = 11 @@ -16141,6 +16142,7 @@ const SF_ComplexResult = 262144 const SF_Compound = 256 const SF_Converted = 65536 const SF_CopyCte = 67108864 +const SF_Correlated = 536870912 const SF_Distinct = 1 const SF_Expanded = 64 const SF_FixedLimit = 16384 @@ -17033,6 +17035,7 @@ const SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT = -1 const SQLITE_DEFAULT_LOOKASIDE = 40 const SQLITE_DEFAULT_MEMSTATUS = 0 const SQLITE_DEFAULT_MMAP_SIZE = 0 +const SQLITE_DEFAULT_OPTIMIZE_LIMIT = 2000 const SQLITE_DEFAULT_PAGE_SIZE = 4096 const SQLITE_DEFAULT_PCACHE_INITSZ = 20 const SQLITE_DEFAULT_RECURSIVE_TRIGGERS = 0 @@ -17049,6 +17052,7 @@ const SQLITE_DESERIALIZE_READONLY = 4 const SQLITE_DESERIALIZE_RESIZEABLE = 2 const SQLITE_DETACH = 25 const SQLITE_DETERMINISTIC = 2048 +const SQLITE_DIGIT_SEPARATOR = 95 const SQLITE_DIRECTONLY = 524288 const SQLITE_DIRECT_OVERFLOW_READ = 1 const SQLITE_DONE = 101 @@ -17476,7 +17480,7 @@ const SQLITE_SHM_SHARED = 4 const SQLITE_SHM_UNLOCK = 1 const SQLITE_SORTER_PMASZ = 250 const SQLITE_SOUNDEX = 1 -const SQLITE_SOURCE_ID = "2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355" +const SQLITE_SOURCE_ID = "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e" const SQLITE_SO_ASC = 0 const SQLITE_SO_DESC = 1 const SQLITE_SO_UNDEFINED = -1 @@ -17585,8 +17589,8 @@ const SQLITE_UTF16LE = 2 const SQLITE_UTF16NATIVE = 2 const SQLITE_UTF16_ALIGNED = 8 const SQLITE_UTF8 = 1 -const SQLITE_VERSION = "3.45.3" -const SQLITE_VERSION_NUMBER = 3045003 +const SQLITE_VERSION = "3.46.0" +const SQLITE_VERSION_NUMBER = 3046000 const SQLITE_VTABRISK_High = 2 const SQLITE_VTABRISK_Low = 0 const SQLITE_VTABRISK_Normal = 1 @@ -18438,12 +18442,12 @@ const TF_HasStat1 = 16 const TF_HasStat4 = 8192 const TF_HasStored = 64 const TF_HasVirtual = 32 +const TF_MaybeReanalyze = 256 const TF_NoVisibleRowid = 512 const TF_OOOHidden = 1024 const TF_REUSE_SOCKET = 2 const TF_Readonly = 1 const TF_Shadow = 4096 -const TF_StatsUsed = 256 const TF_Strict = 65536 const TF_WRITE_BEHIND = 4 const TF_WithoutRowid = 128 @@ -18617,7 +18621,7 @@ const TK_ID = 59 const TK_IF = 18 const TK_IF_NULL_ROW = 179 const TK_IGNORE = 63 -const TK_ILLEGAL = 184 +const TK_ILLEGAL = 185 const TK_IMMEDIATE = 8 const TK_IN = 49 const TK_INDEX = 161 @@ -18665,6 +18669,7 @@ const TK_PRAGMA = 70 const TK_PRECEDING = 88 const TK_PRIMARY = 122 const TK_PTR = 112 +const TK_QNUMBER = 183 const TK_QUERY = 3 const TK_RAISE = 71 const TK_RANGE = 89 @@ -18689,7 +18694,7 @@ const TK_SELECT_COLUMN = 178 const TK_SEMI = 1 const TK_SET = 130 const TK_SLASH = 109 -const TK_SPACE = 183 +const TK_SPACE = 184 const TK_SPAN = 181 const TK_STAR = 108 const TK_STRING = 117 @@ -18702,12 +18707,12 @@ const TK_TRANSACTION = 6 const TK_TRIGGER = 77 const TK_TRUEFALSE = 170 const TK_TRUTH = 175 -const TK_UMINUS = 173 +const TK_UMINUS = 174 const TK_UNBOUNDED = 90 const TK_UNION = 134 const TK_UNIQUE = 123 const TK_UPDATE = 129 -const TK_UPLUS = 174 +const TK_UPLUS = 173 const TK_USING = 144 const TK_VACUUM = 78 const TK_VALUES = 139 @@ -20875,31 +20880,37 @@ const XTYP_UNREGISTER = 32978 const XTYP_WILDCONNECT = 8418 const XTYP_XACT_COMPLETE = 32896 const XcvData = 0 +const YYDYNSTACK = 1 const YYFALLBACK = 1 +const YYFREE = 0 +const YYGROWABLESTACK = 1 const YYMALLOCARGTYPE = 0 -const YYNOCODE = 319 +const YYNOCODE = 322 const YYNOERRORRECOVERY = 1 -const YYNRULE = 405 -const YYNRULE_WITH_ACTION = 340 -const YYNSTATE = 579 -const YYNTOKEN = 185 +const YYNRULE = 409 +const YYNRULE_WITH_ACTION = 344 +const YYNSTATE = 583 +const YYNTOKEN = 186 const YYPARSEFREENEVERNULL = 1 +const YYREALLOC = 0 const YYSTACKDEPTH = 100 const YYWILDCARD = 101 -const YY_ACCEPT_ACTION = 1244 -const YY_ACTTAB_COUNT = 2100 -const YY_ERROR_ACTION = 1243 -const YY_MAX_REDUCE = 1650 -const YY_MAX_SHIFT = 578 -const YY_MAX_SHIFTREDUCE = 1242 -const YY_MIN_REDUCE = 1246 -const YY_MIN_SHIFTREDUCE = 838 -const YY_NO_ACTION = 1245 -const YY_REDUCE_COUNT = 410 -const YY_REDUCE_MAX = 1753 -const YY_REDUCE_MIN = -271 -const YY_SHIFT_COUNT = 578 -const YY_SHIFT_MAX = 2088 +const YY_ACCEPT_ACTION = 1255 +const YY_ACTTAB_COUNT = 2142 +const YY_ERROR_ACTION = 1254 +const YY_MAX_DSTRCTR = 319 +const YY_MAX_REDUCE = 1665 +const YY_MAX_SHIFT = 582 +const YY_MAX_SHIFTREDUCE = 1253 +const YY_MIN_DSTRCTR = 205 +const YY_MIN_REDUCE = 1257 +const YY_MIN_SHIFTREDUCE = 845 +const YY_NO_ACTION = 1256 +const YY_REDUCE_COUNT = 411 +const YY_REDUCE_MAX = 1798 +const YY_REDUCE_MIN = -275 +const YY_SHIFT_COUNT = 582 +const YY_SHIFT_MAX = 2128 const YY_SHIFT_MIN = 0 const YieldProcessor = 0 const ZAWPROXYAPI = "DECLSPEC_IMPORT" @@ -21699,6 +21710,9 @@ const frm4 = 1079 const fseeko = 0 const ftello = 0 const fts5GetVarint = 0 +const fts5YYDYNSTACK = 0 +const fts5YYFREE = 0 +const fts5YYGROWABLESTACK = 0 const fts5YYMALLOCARGTYPE = 0 const fts5YYNFTS5TOKEN = 16 const fts5YYNOCODE = 27 @@ -21707,13 +21721,16 @@ const fts5YYNRULE = 28 const fts5YYNRULE_WITH_ACTION = 28 const fts5YYNSTATE = 35 const fts5YYPARSEFREENOTNULL = 1 +const fts5YYREALLOC = 0 const fts5YYSTACKDEPTH = 100 const fts5YY_ACCEPT_ACTION = 81 const fts5YY_ACTTAB_COUNT = 105 const fts5YY_ERROR_ACTION = 80 +const fts5YY_MAX_DSTRCTR = 24 const fts5YY_MAX_REDUCE = 110 const fts5YY_MAX_SHIFT = 34 const fts5YY_MAX_SHIFTREDUCE = 79 +const fts5YY_MIN_DSTRCTR = 16 const fts5YY_MIN_REDUCE = 83 const fts5YY_MIN_SHIFTREDUCE = 52 const fts5YY_NO_ACTION = 82 @@ -22842,11 +22859,11 @@ type sqlite3_file1 = Tsqlite3_file1 // ** // ** xLock() upgrades the database file lock. In other words, xLock() moves the // ** database file lock in the direction NONE toward EXCLUSIVE. The argument to -// ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never +// ** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never // ** SQLITE_LOCK_NONE. If the database file lock is already at or above the // ** requested lock, then the call to xLock() is a no-op. // ** xUnlock() downgrades the database file lock to either SHARED or NONE. -// * If the lock is already at or below the requested lock state, then the call +// ** If the lock is already at or below the requested lock state, then the call // ** to xUnlock() is a no-op. // ** The xCheckReservedLock() method checks whether any database connection, // ** either in this process or in some other process, is holding a RESERVED, @@ -24991,6 +25008,7 @@ type Tsqlite3_changegroup = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -25317,8 +25335,8 @@ type Fts5PhraseIter1 = TFts5PhraseIter1 ** EXTENSION API FUNCTIONS ** ** xUserData(pFts): -** Return a copy of the context pointer the extension function was -** registered with. +** Return a copy of the pUserData pointer passed to the xCreateFunction() +** API when the extension function was registered. ** ** xColumnTotalSize(pFts, iCol, pnToken): ** If parameter iCol is less than zero, set output variable *pnToken @@ -26660,7 +26678,7 @@ type uptr = Tuptr ** 0x00000010 Display sqlite3_index_info xBestIndex calls ** 0x00000020 Range an equality scan metrics ** 0x00000040 IN operator decisions -** 0x00000080 WhereLoop cost adjustements +** 0x00000080 WhereLoop cost adjustments ** 0x00000100 ** 0x00000200 Covering index decisions ** 0x00000400 OR optimization @@ -27172,6 +27190,7 @@ type TParse = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -27393,6 +27412,7 @@ type TSrcItem = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -29669,10 +29689,12 @@ type IdList1 = TIdList1 ** ** Union member validity: ** -** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc -** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy -** u2.pIBIndex fg.isIndexedBy && !fg.isCte -** u2.pCteUse fg.isCte && !fg.isIndexedBy +** u1.zIndexedBy fg.isIndexedBy && !fg.isTabFunc +** u1.pFuncArg fg.isTabFunc && !fg.isIndexedBy +** u1.nRow !fg.isTabFunc && !fg.isIndexedBy +** +** u2.pIBIndex fg.isIndexedBy && !fg.isCte +** u2.pCteUse fg.isCte && !fg.isIndexedBy */ type TSrcItem1 = struct { FpSchema uintptr @@ -29698,6 +29720,7 @@ type TSrcItem1 = struct { FcolUsed TBitmask Fu1 struct { FpFuncArg [0]uintptr + FnRow [0]Tu32 FzIndexedBy uintptr } Fu2 struct { @@ -30101,6 +30124,7 @@ type TParse1 = struct { FdisableLookaside Tu8 FprepFlags Tu8 FwithinRJSubrtn Tu8 + FbHasWith Tu8 FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -31464,12 +31488,12 @@ var _sqlite3WhereTrace = uint32(0) var _sqlite3OpcodeProperty = [190]uint8{ 4: uint8(0x10), 6: uint8(0x41), - 8: uint8(0x01), + 8: uint8(0x81), 9: uint8(0x01), 10: uint8(0x01), - 11: uint8(0x01), - 12: uint8(0x03), - 13: uint8(0x03), + 11: uint8(0x81), + 12: uint8(0x83), + 13: uint8(0x83), 14: uint8(0x01), 15: uint8(0x01), 16: uint8(0x03), @@ -31477,22 +31501,22 @@ var _sqlite3OpcodeProperty = [190]uint8{ 18: uint8(0x01), 19: uint8(0x12), 20: uint8(0x01), - 21: uint8(0x49), - 22: uint8(0x49), - 23: uint8(0x49), - 24: uint8(0x49), + 21: uint8(0xc9), + 22: uint8(0xc9), + 23: uint8(0xc9), + 24: uint8(0xc9), 25: uint8(0x01), 26: uint8(0x49), 27: uint8(0x49), 28: uint8(0x49), 29: uint8(0x49), - 30: uint8(0x49), + 30: uint8(0xc9), 31: uint8(0x49), - 32: uint8(0x41), + 32: uint8(0xc1), 33: uint8(0x01), 34: uint8(0x41), 35: uint8(0x41), - 36: uint8(0x41), + 36: uint8(0xc1), 37: uint8(0x01), 38: uint8(0x41), 39: uint8(0x41), @@ -31504,7 +31528,7 @@ var _sqlite3OpcodeProperty = [190]uint8{ 45: uint8(0x41), 46: uint8(0x23), 47: uint8(0x0b), - 48: uint8(0x01), + 48: uint8(0x81), 49: uint8(0x01), 50: uint8(0x03), 51: uint8(0x03), @@ -32359,7 +32383,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin var pMutex, v1 uintptr _, _ = pMutex, v1 if op < 0 || op >= int32(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) { - return _sqlite3MisuseError(tls, int32(23890)) + return _sqlite3MisuseError(tls, int32(23961)) } if _statMutex[op] != 0 { v1 = _sqlite3Pcache1Mutex(tls) @@ -32744,43 +32768,37 @@ type clockid_t = Tclockid_t // ** A structure for holding a single date and time. // */ type TDateTime = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - FuseSubsec int8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FvalidYMD int8 + FvalidHMS int8 + FnFloor int8 + F__ccgo44 uint8 } type DateTime = TDateTime type TDateTime1 = struct { - FiJD Tsqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - FuseSubsec int8 + FiJD Tsqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FvalidYMD int8 + FvalidHMS int8 + FnFloor int8 + F__ccgo44 uint8 } type DateTime1 = TDateTime1 @@ -32906,6 +32924,8 @@ func _parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { } else { if c == int32('Z') || c == int32('z') { zDate++ + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) goto zulu_time } else { return libc.BoolInt32(c != 0) @@ -32924,7 +32944,6 @@ zulu_time: for int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate)))])&int32(0x01) != 0 { zDate++ } - (*TDateTime)(unsafe.Pointer(p)).FtzSet = int8(1) return libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zDate))) != 0) } @@ -32941,11 +32960,10 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var ms, rScale float64 - var v1 int32 var _ /* h at bp+0 */ int32 var _ /* m at bp+4 */ int32 var _ /* s at bp+8 */ int32 - _, _, _ = ms, rScale, v1 + _, _ = ms, rScale ms = float64(0) if _getDigits(tls, zDate, __ccgo_ts+1172, libc.VaList(bp+24, bp, bp+4)) != int32(2) { return int32(1) @@ -32971,7 +32989,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { *(*int32)(unsafe.Pointer(bp + 8)) = 0 } (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) (*TDateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp)) (*TDateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 4)) @@ -32979,12 +32997,6 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { if _parseTimezone(tls, zDate, p) != 0 { return int32(1) } - if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { - v1 = int32(1) - } else { - v1 = 0 - } - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = int8(v1) return 0 } @@ -32995,7 +33007,7 @@ func _parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { // */ func _datetimeError(tls *libc.TLS, p uintptr) { libc.Xmemset(tls, p, 0, uint64(48)) - (*TDateTime)(unsafe.Pointer(p)).FisError = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 1, 0x2) } // C documentation @@ -33021,7 +33033,7 @@ func _computeJD(tls *libc.TLS, p uintptr) { M = int32(1) D = int32(1) } - if Y < -int32(4713) || Y > int32(9999) || (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Y < -int32(4713) || Y > int32(9999) || int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { _datetimeError(tls, p) return } @@ -33037,11 +33049,41 @@ func _computeJD(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) if (*TDateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) += int64((*TDateTime)(unsafe.Pointer(p)).Fh*int32(3600000)+(*TDateTime)(unsafe.Pointer(p)).Fm*int32(60000)) + int64((*TDateTime)(unsafe.Pointer(p)).Fs*libc.Float64FromInt32(1000)+libc.Float64FromFloat64(0.5)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64((*TDateTime)(unsafe.Pointer(p)).Ftz * int32(60000)) (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + } + } +} + +// C documentation +// +// /* +// ** Given the YYYY-MM-DD information current in p, determine if there +// ** is day-of-month overflow and set nFloor to the number of days that +// ** would need to be subtracted from the date in order to bring the +// ** date back to the end of the month. +// */ +func _computeFloor(tls *libc.TLS, p uintptr) { + if (*TDateTime)(unsafe.Pointer(p)).FD <= int32(28) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } else { + if int32(1)<<(*TDateTime)(unsafe.Pointer(p)).FM&int32(0x15aa) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } else { + if (*TDateTime)(unsafe.Pointer(p)).FM != int32(2) { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = libc.BoolInt8((*TDateTime)(unsafe.Pointer(p)).FD == libc.Int32FromInt32(31)) + } else { + if (*TDateTime)(unsafe.Pointer(p)).FY%int32(4) != 0 || (*TDateTime)(unsafe.Pointer(p)).FY%int32(100) == 0 && (*TDateTime)(unsafe.Pointer(p)).FY%int32(400) != 0 { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = int8((*TDateTime)(unsafe.Pointer(p)).FD - int32(28)) + } else { + (*TDateTime)(unsafe.Pointer(p)).FnFloor = int8((*TDateTime)(unsafe.Pointer(p)).FD - int32(29)) + } + } } } } @@ -33100,12 +33142,15 @@ func _parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FY = v1 (*TDateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 4)) (*TDateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 8)) - if (*TDateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { + _computeFloor(tls, p) + if (*TDateTime)(unsafe.Pointer(p)).Ftz != 0 { _computeJD(tls, p) } return 0 } +/* Forward declaration */ + // C documentation // // /* @@ -33117,6 +33162,9 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) (*TDateTime)(unsafe.Pointer(p)).FiJD = _sqlite3StmtCurrentTime(tls, context) if (*TDateTime)(unsafe.Pointer(p)).FiJD > 0 { (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) + _clearYMD_HMS_TZ(tls, p) return 0 } else { return int32(1) @@ -33134,7 +33182,7 @@ func _setDateTimeToCurrent(tls *libc.TLS, context uintptr, p uintptr) (r int32) // */ func _setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { (*TDateTime)(unsafe.Pointer(p)).Fs = r - (*TDateTime)(unsafe.Pointer(p)).FrawS = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 0, 0x1) if r >= float64(0) && r < float64(5.3734845e+06) { (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r*libc.Float64FromFloat64(8.64e+07) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) @@ -33177,7 +33225,7 @@ func _parseDateOrTime(tls *libc.TLS, context uintptr, zDate uintptr, p uintptr) return 0 } else { if (_sqlite3StrICmp(tls, zDate, __ccgo_ts+1200) == 0 || _sqlite3StrICmp(tls, zDate, __ccgo_ts+1207) == 0) && _sqlite3NotPureFunc(tls, context) != 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) return _setDateTimeToCurrent(tls, context, p) } } @@ -33269,7 +33317,7 @@ func _computeHMS(tls *libc.TLS, p uintptr) { day_min = day_ms / int32(60000) (*TDateTime)(unsafe.Pointer(p)).Fm = day_min % int32(60) (*TDateTime)(unsafe.Pointer(p)).Fh = day_min / int32(60) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) } @@ -33291,7 +33339,7 @@ func _computeYMD_HMS(tls *libc.TLS, p uintptr) { func _clearYMD_HMS_TZ(tls *libc.TLS, p uintptr) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 } /* @@ -33395,9 +33443,9 @@ func _toLocaltime(tls *libc.TLS, p uintptr, pCtx uintptr) (r int32) { (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = int8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 - (*TDateTime)(unsafe.Pointer(p)).FisError = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 1, 0x2) return SQLITE_OK } @@ -33445,13 +33493,13 @@ var _aXformType = [6]struct { FnName: uint8(5), FzName: [7]int8{'m', 'o', 'n', 't', 'h'}, FrLimit: float32(176546), - FrXform: float32(2.592e+06), + FrXform: float32(libc.Float64FromFloat64(30) * libc.Float64FromFloat64(86400)), }, 5: { FnName: uint8(4), FzName: [7]int8{'y', 'e', 'a', 'r'}, FrLimit: float32(14713), - FrXform: float32(3.1536e+07), + FrXform: float32(libc.Float64FromFloat64(365) * libc.Float64FromFloat64(86400)), }, } @@ -33465,15 +33513,15 @@ var _aXformType = [6]struct { func _autoAdjustDate(tls *libc.TLS, p uintptr) { var r float64 _ = r - if !((*TDateTime)(unsafe.Pointer(p)).FrawS != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + if !(int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0) || (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 { + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } else { if (*TDateTime)(unsafe.Pointer(p)).Fs >= float64(int64(-libc.Int32FromInt32(21086676))*libc.Int64FromInt32(10000)) && (*TDateTime)(unsafe.Pointer(p)).Fs <= float64(libc.Int64FromInt32(25340230)*libc.Int64FromInt32(10000)+libc.Int64FromInt32(799)) { r = (*TDateTime)(unsafe.Pointer(p)).Fs*float64(1000) + float64(2.1086676e+14) _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(r + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } } @@ -33490,14 +33538,20 @@ func _autoAdjustDate(tls *libc.TLS, p uintptr) { // ** NNN.NNNN seconds // ** NNN months // ** NNN years +// ** +/-YYYY-MM-DD HH:MM:SS.SSS +// ** ceiling +// ** floor // ** start of month // ** start of year // ** start of week // ** start of day // ** weekday N // ** unixepoch +// ** auto // ** localtime // ** utc +// ** subsec +// ** subsecond // ** // ** Return 0 on success and 1 if there is any kind of error. If the error // ** is in a system call (i.e. localtime()), then an error message is written @@ -33508,12 +33562,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, bp := tls.Alloc(160) defer tls.Free(160) var Z, day Tsqlite3_int64 - var cnt, i, rc, x, y, v12, v2, v5, v7, v9 int32 - var iErr, iGuess, iOrigJD, v1 Ti64 - var rRounder, v10 float64 + var cnt, i, rc, x, y, v1, v10, v13, v3, v6, v8 int32 + var iErr, iGuess, iOrigJD, v2 Ti64 + var rRounder, v11 float64 var z0 int8 var z2 uintptr - var v3, v6 bool + var v4, v7 bool var _ /* D at bp+64 */ int32 var _ /* M at bp+60 */ int32 var _ /* Y at bp+56 */ int32 @@ -33522,7 +33576,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, var _ /* new at bp+8 */ TDateTime var _ /* r at bp+0 */ float64 var _ /* tx at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v12, v2, v3, v5, v6, v7, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = Z, cnt, day, i, iErr, iGuess, iOrigJD, rRounder, rc, x, y, z0, z2, v1, v10, v11, v13, v2, v3, v4, v6, v7, v8 rc = int32(1) switch int32(_sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z)))]) { case int32('a'): @@ -33539,6 +33593,33 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _autoAdjustDate(tls, p) rc = 0 } + case int32('c'): + /* + ** ceiling + ** + ** Resolve day-of-month overflow by rolling forward into the next + ** month. As this is the default action, this modifier is really + ** a no-op that is only included for symmetry. See "floor". + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1245) == 0 { + _computeJD(tls, p) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 + } + case int32('f'): + /* + ** floor + ** + ** Resolve day-of-month overflow by rolling back to the end of the + ** previous month. + */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1253) == 0 { + _computeJD(tls, p) + *(*Tsqlite3_int64)(unsafe.Pointer(p)) -= int64(int32((*TDateTime)(unsafe.Pointer(p)).FnFloor) * int32(86400000)) + _clearYMD_HMS_TZ(tls, p) + rc = 0 + } case int32('j'): /* ** julianday @@ -33548,13 +33629,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** value in the allowed range of julian day numbers understood by ** SQLite (0..5373484.5) then the result will be NULL. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1245) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1259) == 0 { if idx > int32(1) { return int32(1) } /* IMP: R-31176-64601 */ - if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if (*TDateTime)(unsafe.Pointer(p)).FvalidJD != 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { rc = 0 - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) } } case int32('l'): @@ -33563,8 +33644,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Assuming the current time value is UTC (a.k.a. GMT), shift it to ** show local time. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1255) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - rc = _toLocaltime(tls, p, pCtx) + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1269) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x10>>4)) != 0 { + v1 = SQLITE_OK + } else { + v1 = _toLocaltime(tls, p, pCtx) + } + rc = v1 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 4, 0x10) } case int32('u'): /* @@ -33573,7 +33661,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Treat the current value of p->s as the number of ** seconds since 1970. Convert to a real julian day number. */ - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1265) == 0 && (*TDateTime)(unsafe.Pointer(p)).FrawS != 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1279) == 0 && int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x1>>0)) != 0 { if idx > int32(1) { return int32(1) } /* IMP: R-49255-55373 */ @@ -33582,17 +33670,17 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _clearYMD_HMS_TZ(tls, p) (*TDateTime)(unsafe.Pointer(p)).FiJD = int64(*(*float64)(unsafe.Pointer(bp)) + libc.Float64FromFloat64(0.5)) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) rc = 0 } } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1275) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { - if int32((*TDateTime)(unsafe.Pointer(p)).FtzSet) == 0 { /* Guess at the corresponding utc time */ + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1289) == 0 && _sqlite3NotPureFunc(tls, pCtx) != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x8>>3)) == 0 { /* Guess at the corresponding utc time */ cnt = 0 /* Guess is off by this much */ _computeJD(tls, p) - v1 = (*TDateTime)(unsafe.Pointer(p)).FiJD - iOrigJD = v1 - iGuess = v1 + v2 = (*TDateTime)(unsafe.Pointer(p)).FiJD + iOrigJD = v2 + iGuess = v2 iErr = 0 for { libc.Xmemset(tls, bp+8, 0, uint64(48)) @@ -33605,21 +33693,22 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, bp+8) iErr = (*(*TDateTime)(unsafe.Pointer(bp + 8))).FiJD - iOrigJD - goto _4 - _4: + goto _5 + _5: ; - if v3 = iErr != 0; v3 { - v2 = cnt + if v4 = iErr != 0; v4 { + v3 = cnt cnt++ } - if !(v3 && v2 < int32(3)) { + if !(v4 && v3 < int32(3)) { break } } libc.Xmemset(tls, p, 0, uint64(48)) (*TDateTime)(unsafe.Pointer(p)).FiJD = iGuess (*TDateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) - (*TDateTime)(unsafe.Pointer(p)).FtzSet = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 3, 0x8) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 4, 0x10) } rc = SQLITE_OK } @@ -33632,13 +33721,13 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** weekday N where 0==Sunday, 1==Monday, and so forth. If the ** date is already on the appropriate weekday, this is a no-op. */ - if v6 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1279, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v6 { - v5 = int32(*(*float64)(unsafe.Pointer(bp))) - n = v5 + if v7 = Xsqlite3_strnicmp(tls, z, __ccgo_ts+1293, int32(8)) == 0 && _sqlite3AtoF(tls, z+8, bp, _sqlite3Strlen30(tls, z+8), uint8(SQLITE_UTF8)) > 0 && *(*float64)(unsafe.Pointer(bp)) >= float64(0) && *(*float64)(unsafe.Pointer(bp)) < float64(7); v7 { + v6 = int32(*(*float64)(unsafe.Pointer(bp))) + n = v6 } - if v6 && float64(v5) == *(*float64)(unsafe.Pointer(bp)) { + if v7 && float64(v6) == *(*float64)(unsafe.Pointer(bp)) { _computeYMD_HMS(tls, p) - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 _computeJD(tls, p) Z = ((*TDateTime)(unsafe.Pointer(p)).FiJD + int64(129600000)) / int64(86400000) % int64(7) @@ -33662,9 +33751,9 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, ** Show subsecond precision in the output of datetime() and ** unixepoch() and strftime('%s'). */ - if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1288, int32(9)) != 0 { + if Xsqlite3_strnicmp(tls, z, __ccgo_ts+1302, int32(9)) != 0 { if Xsqlite3_stricmp(tls, z, __ccgo_ts+1200) == 0 || Xsqlite3_stricmp(tls, z, __ccgo_ts+1207) == 0 { - (*TDateTime)(unsafe.Pointer(p)).FuseSubsec = int8(1) + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(1), 2, 0x4) rc = 0 } break @@ -33675,23 +33764,23 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z += uintptr(9) _computeYMD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) - v7 = libc.Int32FromInt32(0) - (*TDateTime)(unsafe.Pointer(p)).Fm = v7 - (*TDateTime)(unsafe.Pointer(p)).Fh = v7 + v8 = libc.Int32FromInt32(0) + (*TDateTime)(unsafe.Pointer(p)).Fm = v8 + (*TDateTime)(unsafe.Pointer(p)).Fh = v8 (*TDateTime)(unsafe.Pointer(p)).Fs = float64(0) - (*TDateTime)(unsafe.Pointer(p)).FrawS = 0 - (*TDateTime)(unsafe.Pointer(p)).FvalidTZ = 0 + libc.SetBitFieldPtr8Uint32(p+44, libc.Uint32FromInt32(0), 0, 0x1) + (*TDateTime)(unsafe.Pointer(p)).Ftz = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1298) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1312) == 0 { (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1304) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1318) == 0 { (*TDateTime)(unsafe.Pointer(p)).FM = int32(1) (*TDateTime)(unsafe.Pointer(p)).FD = int32(1) rc = 0 } else { - if Xsqlite3_stricmp(tls, z, __ccgo_ts+1309) == 0 { + if Xsqlite3_stricmp(tls, z, __ccgo_ts+1323) == 0 { rc = 0 } } @@ -33733,15 +33822,15 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == int32('-') { - if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1313, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(5) && _getDigits(tls, z+1, __ccgo_ts+1327, libc.VaList(bp+136, bp+56)) == int32(1) { break } - if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1317, libc.VaList(bp+136, bp+56)) == int32(1) { + if n == int32(6) && _getDigits(tls, z+1, __ccgo_ts+1331, libc.VaList(bp+136, bp+56)) == int32(1) { break } } - goto _8 - _8: + goto _9 + _9: ; n++ } @@ -33757,11 +33846,11 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, break } /* Must start with +/- */ if n == int32(5) { - if _getDigits(tls, z+1, __ccgo_ts+1321, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1335, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } } else { - if _getDigits(tls, z+1, __ccgo_ts+1333, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { + if _getDigits(tls, z+1, __ccgo_ts+1347, libc.VaList(bp+136, bp+56, bp+60, bp+64)) != int32(3) { break } z++ @@ -33783,13 +33872,14 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, *(*int32)(unsafe.Pointer(p + 12)) += *(*int32)(unsafe.Pointer(bp + 60)) } if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v9 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v10 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v9 + x = v10 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) _computeJD(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidHMS = 0 (*TDateTime)(unsafe.Pointer(p)).FvalidYMD = 0 @@ -33833,7 +33923,7 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, z++ } n = _sqlite3Strlen30(tls, z) - if n > int32(10) || n < int32(3) { + if n < int32(3) || n > int32(10) { break } if int32(_sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(z + uintptr(n-int32(1)))))]) == int32('s') { @@ -33841,11 +33931,12 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, } _computeJD(tls, p) if *(*float64)(unsafe.Pointer(bp)) < libc.Float64FromInt32(0) { - v10 = -libc.Float64FromFloat64(0.5) + v11 = -libc.Float64FromFloat64(0.5) } else { - v10 = +libc.Float64FromFloat64(0.5) + v11 = +libc.Float64FromFloat64(0.5) } - rRounder = v10 + rRounder = v11 + (*TDateTime)(unsafe.Pointer(p)).FnFloor = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) { @@ -33857,19 +33948,21 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 12)) += int32(*(*float64)(unsafe.Pointer(bp))) if (*TDateTime)(unsafe.Pointer(p)).FM > 0 { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(1)) / int32(12) } else { - v12 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) + v13 = ((*TDateTime)(unsafe.Pointer(p)).FM - int32(12)) / int32(12) } - x = v12 + x = v13 *(*int32)(unsafe.Pointer(p + 8)) += x *(*int32)(unsafe.Pointer(p + 12)) -= x * int32(12) + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) case int32(5): /* Special processing to add years */ y = int32(*(*float64)(unsafe.Pointer(bp))) _computeYMD_HMS(tls, p) *(*int32)(unsafe.Pointer(p + 8)) += y + _computeFloor(tls, p) (*TDateTime)(unsafe.Pointer(p)).FvalidJD = 0 *(*float64)(unsafe.Pointer(bp)) -= float64(int32(*(*float64)(unsafe.Pointer(bp)))) break @@ -33879,8 +33972,8 @@ func _parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr, rc = 0 break } - goto _11 - _11: + goto _12 + _12: ; i++ } @@ -33939,7 +34032,7 @@ func _isDate(tls *libc.TLS, context uintptr, argc int32, argv uintptr, p uintptr i++ } _computeJD(tls, p) - if (*TDateTime)(unsafe.Pointer(p)).FisError != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { + if int32(uint32(*(*uint8)(unsafe.Pointer(p + 44))&0x2>>1)) != 0 || !(_validJulianDay(tls, (*TDateTime)(unsafe.Pointer(p)).FiJD) != 0) { return int32(1) } if argc == int32(1) && (*TDateTime)(unsafe.Pointer(p)).FvalidYMD != 0 && (*TDateTime)(unsafe.Pointer(p)).FD > int32(28) { @@ -33986,7 +34079,7 @@ func _unixepochFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _ /* x at bp+0 */ TDateTime if _isDate(tls, context, argc, argv, bp) == 0 { _computeJD(tls, bp) - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { Xsqlite3_result_double(tls, context, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000)) } else { Xsqlite3_result_int64(tls, context, (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/int64(1000)-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000)) @@ -34031,7 +34124,7 @@ func _datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(15)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(16)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(17)] = int8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(18)] = int8(int32('0') + s/int32(10000)%int32(10)) (*(*[32]int8)(unsafe.Pointer(bp + 48)))[int32(19)] = int8(int32('0') + s/int32(1000)%int32(10)) @@ -34079,7 +34172,7 @@ func _timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(3)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm/int32(10)%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(4)] = int8(int32('0') + (*(*TDateTime)(unsafe.Pointer(bp))).Fm%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(5)] = int8(':') - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { s = int32(libc.Float64FromFloat64(1000)*(*(*TDateTime)(unsafe.Pointer(bp))).Fs + libc.Float64FromFloat64(0.5)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(6)] = int8(int32('0') + s/int32(10000)%int32(10)) (*(*[16]int8)(unsafe.Pointer(bp + 48)))[int32(7)] = int8(int32('0') + s/int32(1000)%int32(10)) @@ -34140,6 +34233,57 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } +// C documentation +// +// /* +// ** Compute the number of days after the most recent January 1. +// ** +// ** In other words, compute the zero-based day number for the +// ** current year: +// ** +// ** Jan01 = 0, Jan02 = 1, ..., Jan31 = 30, Feb01 = 31, ... +// ** Dec31 = 364 or 365. +// */ +func _daysAfterJan01(tls *libc.TLS, pDate uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* jan01 at bp+0 */ TDateTime + *(*TDateTime)(unsafe.Pointer(bp)) = *(*TDateTime)(unsafe.Pointer(pDate)) + (*(*TDateTime)(unsafe.Pointer(bp))).FvalidJD = 0 + (*(*TDateTime)(unsafe.Pointer(bp))).FM = int32(1) + (*(*TDateTime)(unsafe.Pointer(bp))).FD = int32(1) + _computeJD(tls, bp) + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD - (*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Monday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Monday, 1=Tuesday, 2=Wednesday, ..., 6=Sunday. +// */ +func _daysAfterMonday(tls *libc.TLS, pDate uintptr) (r int32) { + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(43200000))/libc.Int64FromInt32(86400000)) % int32(7) +} + +// C documentation +// +// /* +// ** Return the number of days after the most recent Sunday. +// ** +// ** In other words, return the day of the week according +// ** to this code: +// ** +// ** 0=Sunday, 1=Monday, 2=Tues, ..., 6=Saturday +// */ +func _daysAfterSunday(tls *libc.TLS, pDate uintptr) (r int32) { + return int32(((*TDateTime)(unsafe.Pointer(pDate)).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)) % int32(7) +} + // C documentation // // /* @@ -34147,33 +34291,48 @@ func _dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // ** // ** Return a string described by FORMAT. Conversions as follows: // ** -// ** %d day of month +// ** %d day of month 01-31 +// ** %e day of month 1-31 // ** %f ** fractional seconds SS.SSS +// ** %F ISO date. YYYY-MM-DD +// ** %G ISO year corresponding to %V 0000-9999. +// ** %g 2-digit ISO year corresponding to %V 00-99 // ** %H hour 00-24 -// ** %j day of year 000-366 +// ** %k hour 0-24 (leading zero converted to space) +// ** %I hour 01-12 +// ** %j day of year 001-366 // ** %J ** julian day number +// ** %l hour 1-12 (leading zero converted to space) // ** %m month 01-12 // ** %M minute 00-59 +// ** %p "am" or "pm" +// ** %P "AM" or "PM" +// ** %R time as HH:MM // ** %s seconds since 1970-01-01 // ** %S seconds 00-59 -// ** %w day of week 0-6 Sunday==0 -// ** %W week of year 00-53 +// ** %T time as HH:MM:SS +// ** %u day of week 1-7 Monday==1, Sunday==7 +// ** %w day of week 0-6 Sunday==0, Monday==1 +// ** %U week of year 00-53 (First Sunday is start of week 01) +// ** %V week of year 01-53 (First week containing Thursday is week 01) +// ** %W week of year 00-53 (First Monday is start of week 01) // ** %Y year 0000-9999 // ** %% % // */ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(208) + defer tls.Free(208) var c, cf int8 var db, zFmt, v3, v4, v5, v6, v7 uintptr - var h, nDay, wd int32 + var h int32 var i, j, v2 Tsize_t var iS Ti64 var s float64 var _ /* sRes at bp+48 */ Tsqlite3_str var _ /* x at bp+0 */ TDateTime + var _ /* y at bp+128 */ TDateTime var _ /* y at bp+80 */ TDateTime - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, nDay, s, wd, zFmt, v2, v3, v4, v5, v6, v7 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, cf, db, h, i, iS, j, s, zFmt, v2, v3, v4, v5, v6, v7 if argc == 0 { return } @@ -34206,28 +34365,41 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { fallthrough case int32('e'): if int32(int32(cf)) == int32('d') { - v3 = __ccgo_ts + 1345 + v3 = __ccgo_ts + 1359 } else { - v3 = __ccgo_ts + 1350 + v3 = __ccgo_ts + 1364 } - Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) - case int32('f'): + Xsqlite3_str_appendf(tls, bp+48, v3, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('f'): /* Fractional seconds. (Non-standard) */ s = (*(*TDateTime)(unsafe.Pointer(bp))).Fs if s > float64(59.999) { s = float64(59.999) } - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1354, libc.VaList(bp+136, s)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1368, libc.VaList(bp+184, s)) case int32('F'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1361, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1375, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY, (*(*TDateTime)(unsafe.Pointer(bp))).FM, (*(*TDateTime)(unsafe.Pointer(bp))).FD)) + case int32('G'): /* Fall thru */ + fallthrough + case int32('g'): + *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Move y so that it is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidYMD = 0 + _computeYMD(tls, bp+80) + if int32(int32(cf)) == int32('g') { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1359, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY%int32(100))) + } else { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1390, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp + 80))).FY)) + } case int32('H'): fallthrough case int32('k'): if int32(int32(cf)) == int32('H') { - v4 = __ccgo_ts + 1345 + v4 = __ccgo_ts + 1359 } else { - v4 = __ccgo_ts + 1350 + v4 = __ccgo_ts + 1364 } - Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) + Xsqlite3_str_appendf(tls, bp+48, v4, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh)) case int32('I'): /* Fall thru */ fallthrough case int32('l'): @@ -34239,73 +34411,71 @@ func _strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { h = int32(12) } if int32(int32(cf)) == int32('I') { - v5 = __ccgo_ts + 1345 + v5 = __ccgo_ts + 1359 } else { - v5 = __ccgo_ts + 1350 + v5 = __ccgo_ts + 1364 } - Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+136, h)) - case int32('W'): /* Fall thru */ - fallthrough - case int32('j'): /* Number of days since 1st day of year */ - *(*TDateTime)(unsafe.Pointer(bp + 80)) = *(*TDateTime)(unsafe.Pointer(bp)) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FvalidJD = 0 - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FM = int32(1) - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FD = int32(1) - _computeJD(tls, bp+80) - nDay = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD - (*(*TDateTime)(unsafe.Pointer(bp + 80))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000)) - if int32(int32(cf)) == int32('W') { /* 0=Monday, 1=Tuesday, ... 6=Sunday */ - wd = int32(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD + libc.Int64FromInt32(43200000)) / libc.Int64FromInt32(86400000) % libc.Int64FromInt32(7)) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1345, libc.VaList(bp+136, (nDay+int32(7)-wd)/int32(7))) - } else { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1376, libc.VaList(bp+136, nDay+int32(1))) - } - case int32('J'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1381, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) + Xsqlite3_str_appendf(tls, bp+48, v5, libc.VaList(bp+184, h)) + case int32('j'): /* Day of year. Jan01==1, Jan02==2, and so forth */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1395, libc.VaList(bp+184, _daysAfterJan01(tls, bp)+int32(1))) + case int32('J'): /* Julian day number. (Non-standard) */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1400, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD)/float64(8.64e+07))) case int32('m'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1345, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1359, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FM)) case int32('M'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1345, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1359, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('p'): /* Fall thru */ fallthrough case int32('P'): if (*(*TDateTime)(unsafe.Pointer(bp))).Fh >= int32(12) { if int32(int32(cf)) == int32('p') { - v6 = __ccgo_ts + 1387 + v6 = __ccgo_ts + 1406 } else { - v6 = __ccgo_ts + 1390 + v6 = __ccgo_ts + 1409 } Xsqlite3_str_append(tls, bp+48, v6, int32(2)) } else { if int32(int32(cf)) == int32('p') { - v7 = __ccgo_ts + 1393 + v7 = __ccgo_ts + 1412 } else { - v7 = __ccgo_ts + 1396 + v7 = __ccgo_ts + 1415 } Xsqlite3_str_append(tls, bp+48, v7, int32(2)) } case int32('R'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1399, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1418, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm)) case int32('s'): - if (*(*TDateTime)(unsafe.Pointer(bp))).FuseSubsec != 0 { - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1409, libc.VaList(bp+136, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) + if int32(uint32(*(*uint8)(unsafe.Pointer(bp + 44))&0x4>>2)) != 0 { + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1428, libc.VaList(bp+184, float64((*(*TDateTime)(unsafe.Pointer(bp))).FiJD-libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000000))/float64(1000))) } else { iS = (*(*TDateTime)(unsafe.Pointer(bp))).FiJD/libc.Int64FromInt32(1000) - libc.Int64FromInt32(21086676)*libc.Int64FromInt32(10000) - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1414, libc.VaList(bp+136, iS)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1433, libc.VaList(bp+184, iS)) } case int32('S'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1345, libc.VaList(bp+136, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1359, libc.VaList(bp+184, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) case int32('T'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1419, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) - case int32('u'): /* Fall thru */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1438, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, int32((*(*TDateTime)(unsafe.Pointer(bp))).Fs))) + case int32('u'): /* Day of week. 1 to 7. Monday==1, Sunday==7 */ fallthrough - case int32('w'): - c = int8(int32(int8(((*(*TDateTime)(unsafe.Pointer(bp))).FiJD+libc.Int64FromInt32(129600000))/libc.Int64FromInt32(86400000)%libc.Int64FromInt32(7))) + int32('0')) + case int32('w'): /* Day of week. 0 to 6. Sunday==0, Monday==1 */ + c = int8(int32(int8(_daysAfterSunday(tls, bp))) + int32('0')) if int32(int32(c)) == int32('0') && int32(int32(cf)) == int32('u') { c = int8('7') } Xsqlite3_str_appendchar(tls, bp+48, int32(1), c) + case int32('U'): /* Week num. 00-53. First Sun of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1359, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterSunday(tls, bp)+int32(7))/int32(7))) + case int32('V'): /* Week num. 01-53. First week with a Thur is week 01 */ + *(*TDateTime)(unsafe.Pointer(bp + 128)) = *(*TDateTime)(unsafe.Pointer(bp)) + /* Adjust y so that is the Thursday in the same week as x */ + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FiJD += int64((int32(3) - _daysAfterMonday(tls, bp)) * int32(86400000)) + (*(*TDateTime)(unsafe.Pointer(bp + 128))).FvalidYMD = 0 + _computeYMD(tls, bp+128) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1359, libc.VaList(bp+184, _daysAfterJan01(tls, bp+128)/int32(7)+int32(1))) + case int32('W'): /* Week num. 00-53. First Mon of the year is week 01 */ + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1359, libc.VaList(bp+184, (_daysAfterJan01(tls, bp)-_daysAfterMonday(tls, bp)+int32(7))/int32(7))) case int32('Y'): - Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1434, libc.VaList(bp+136, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) + Xsqlite3_str_appendf(tls, bp+48, __ccgo_ts+1390, libc.VaList(bp+184, (*(*TDateTime)(unsafe.Pointer(bp))).FY)) case int32('%'): Xsqlite3_str_appendchar(tls, bp+48, int32(1), int8('%')) default: @@ -34458,12 +34628,10 @@ func _timediffFunc(tls *libc.TLS, context uintptr, NotUsed1 int32, argv uintptr) p2 = bp *(*Tsqlite3_int64)(unsafe.Pointer(p2)) = Tsqlite3_int64(uint64(*(*Tsqlite3_int64)(unsafe.Pointer(p2))) + libc.Uint64FromInt32(1486995408)*libc.Uint64FromInt32(100000)) } - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidYMD = 0 - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidHMS = 0 - (*(*TDateTime)(unsafe.Pointer(bp))).FvalidTZ = 0 + _clearYMD_HMS_TZ(tls, bp) _computeYMD_HMS(tls, bp) _sqlite3StrAccumInit(tls, bp+96, uintptr(0), uintptr(0), 0, int32(100)) - Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1439, libc.VaList(bp+136, int32(int32(sign)), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) + Xsqlite3_str_appendf(tls, bp+96, __ccgo_ts+1453, libc.VaList(bp+136, int32(int32(sign)), Y, M, (*(*TDateTime)(unsafe.Pointer(bp))).FD-int32(1), (*(*TDateTime)(unsafe.Pointer(bp))).Fh, (*(*TDateTime)(unsafe.Pointer(bp))).Fm, (*(*TDateTime)(unsafe.Pointer(bp))).Fs)) _sqlite3ResultStrAccum(tls, context, bp+96) } @@ -34496,55 +34664,55 @@ var _aDateTimeFuncs = [10]TFuncDef{ FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1245, + FzName: __ccgo_ts + 1259, }, 1: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1265, + FzName: __ccgo_ts + 1279, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1473, + FzName: __ccgo_ts + 1487, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1478, + FzName: __ccgo_ts + 1492, }, 4: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1483, + FzName: __ccgo_ts + 1497, }, 5: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1492, + FzName: __ccgo_ts + 1506, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), FpUserData: uintptr(unsafe.Pointer(&_sqlite3Config)), - FzName: __ccgo_ts + 1501, + FzName: __ccgo_ts + 1515, }, 7: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1510, + FzName: __ccgo_ts + 1524, }, 8: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1523, + FzName: __ccgo_ts + 1537, }, 9: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 1541, + FzName: __ccgo_ts + 1555, }, } @@ -35215,7 +35383,7 @@ func _sqlite3MemMalloc(tls *libc.TLS, nByte int32) (r uintptr) { *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(int64(nByte)) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1554, libc.VaList(bp+8, nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1568, libc.VaList(bp+8, nByte)) } return p } @@ -35277,7 +35445,7 @@ func _sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) (r uintptr) *(*Tsqlite3_int64)(unsafe.Pointer(p)) = int64(int64(nByte)) p += 8 } else { - Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1592, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) + Xsqlite3_log(tls, int32(SQLITE_NOMEM), __ccgo_ts+1606, libc.VaList(bp+8, _sqlite3MemSize(tls, pPrior), nByte)) } return p } @@ -93751,7 +93919,7 @@ func _sqlite3OomFault(tls *libc.TLS, db uintptr) (r uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = uint16(0) if (*Tsqlite3)(unsafe.Pointer(db)).FpParse != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1628, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1642, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) pParse = (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).FpOuterParse for { @@ -94173,7 +94341,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li v3 = int32(*(*int8)(unsafe.Pointer(v4))) c = v3 if v3 == 0 { - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1642, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1656, int32(1)) break } /* Find out what flags are present */ @@ -94588,9 +94756,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial != 0 { if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).FisSpecial) == int32(2) { if flag_zeropad != 0 { - v57 = __ccgo_ts + 1644 + v57 = __ccgo_ts + 1658 } else { - v57 = __ccgo_ts + 1649 + v57 = __ccgo_ts + 1663 } bufpt = v57 length = _sqlite3Strlen30(tls, bufpt) @@ -94601,7 +94769,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP = int32(1000) (*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fn = int32(1) } else { - libc.Xmemcpy(tls, bp, __ccgo_ts+1653, uint64(5)) + libc.Xmemcpy(tls, bp, __ccgo_ts+1667, uint64(5)) bufpt = bp if int32((*(*TFpDecode)(unsafe.Pointer(bp + 72))).Fsign) == int32('-') { /* no-op */ @@ -94623,14 +94791,12 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li prefix = int8(int8(flag_prefix)) } exp = (*(*TFpDecode)(unsafe.Pointer(bp + 72))).FiDP - int32(1) - if int32(int32(xtype)) == int32(etGENERIC) && precision > 0 { - precision-- - } /* ** If the field type is etGENERIC, then convert to either etEXP ** or etFLOAT, as appropriate. */ if int32(int32(xtype)) == int32(etGENERIC) { + precision-- flag_rtz = libc.BoolUint8(!(flag_alternateform != 0)) if exp < -int32(4) || exp > precision { xtype = uint8(etEXP) @@ -94936,7 +95102,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li bufpt = libc.VaUintptr(&ap) } if bufpt == uintptr(0) { - bufpt = __ccgo_ts + 1658 + bufpt = __ccgo_ts + 1672 } else { if int32(int32(xtype)) == int32(etDYNSTRING) { if (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FnChar == uint32(0) && (*Tsqlite3_str)(unsafe.Pointer(pAccum)).FmxAlloc != 0 && width == 0 && precision < 0 && int32((*Tsqlite3_str)(unsafe.Pointer(pAccum)).FaccError) == 0 { @@ -95024,9 +95190,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li isnull = libc.BoolInt32(escarg == uintptr(0)) if isnull != 0 { if int32(int32(xtype)) == int32(etSQLESCAPE2) { - v98 = __ccgo_ts + 1659 + v98 = __ccgo_ts + 1673 } else { - v98 = __ccgo_ts + 1664 + v98 = __ccgo_ts + 1678 } escarg = v98 } @@ -95144,7 +95310,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li if (*TSrcItem)(unsafe.Pointer(pItem)).FzName != 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1671, int32(1)) + Xsqlite3_str_append(tls, pAccum, __ccgo_ts+1685, int32(1)) } Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzName) } else { @@ -95152,10 +95318,15 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Tva_li Xsqlite3_str_appendall(tls, pAccum, (*TSrcItem)(unsafe.Pointer(pItem)).FzAlias) } else { pSel = (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect + /* Because of tag-20240424-1 */ if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_NestedFrom) != 0 { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1673, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1687, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) } else { - Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1683, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_MultiValue) != 0 { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1697, libc.VaList(bp+128, *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pItem)).Fu1)))) + } else { + Xsqlite3_str_appendf(tls, pAccum, __ccgo_ts+1718, libc.VaList(bp+128, (*TSelect)(unsafe.Pointer(pSel)).FselId)) + } } } } @@ -95434,7 +95605,7 @@ func _sqlite3ResultStrAccum(tls *libc.TLS, pCtx uintptr, p uintptr) { if int32((*TStrAccum)(unsafe.Pointer(p)).FprintfFlags)&int32(SQLITE_PRINTF_MALLOCED) != 0 { Xsqlite3_result_text(tls, pCtx, (*TStrAccum)(unsafe.Pointer(p)).FzText, int32((*TStrAccum)(unsafe.Pointer(p)).FnChar), __ccgo_fp(_sqlite3OomClear)) } else { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1658, 0, libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1672, 0, libc.UintptrFromInt32(0)) Xsqlite3_str_reset(tls, p) } } @@ -97365,6 +97536,60 @@ func _sqlite3DequoteExpr(tls *libc.TLS, p uintptr) { _sqlite3Dequote(tls, *(*uintptr)(unsafe.Pointer(p + 8))) } +// C documentation +// +// /* +// ** Expression p is a QNUMBER (quoted number). Dequote the value in p->u.zToken +// ** and set the type to INTEGER or FLOAT. "Quoted" integers or floats are those +// ** that contain '_' characters that must be removed before further processing. +// */ +func _sqlite3DequoteNumber(tls *libc.TLS, pParse uintptr, p uintptr) { + bp := tls.Alloc(32) + defer tls.Free(32) + var bHex int32 + var pIn, pOut, v1, v3 uintptr + var _ /* iValue at bp+0 */ int32 + _, _, _, _, _ = bHex, pIn, pOut, v1, v3 + if p != 0 { + pIn = *(*uintptr)(unsafe.Pointer(p + 8)) + pOut = *(*uintptr)(unsafe.Pointer(p + 8)) + bHex = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(pIn))) == int32('0') && (int32(*(*int8)(unsafe.Pointer(pIn + 1))) == int32('x') || int32(*(*int8)(unsafe.Pointer(pIn + 1))) == int32('X'))) + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + for { + if int32(*(*int8)(unsafe.Pointer(pIn))) != int32('_') { + v3 = pOut + pOut++ + *(*int8)(unsafe.Pointer(v3)) = *(*int8)(unsafe.Pointer(pIn)) + if int32(*(*int8)(unsafe.Pointer(pIn))) == int32('e') || int32(*(*int8)(unsafe.Pointer(pIn))) == int32('E') || int32(*(*int8)(unsafe.Pointer(pIn))) == int32('.') { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_FLOAT) + } + } else { + if bHex == 0 && (!(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1)))))])&libc.Int32FromInt32(0x04) != 0) || !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + 1)))])&libc.Int32FromInt32(0x04) != 0)) || bHex == int32(1) && (!(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + uintptr(-libc.Int32FromInt32(1)))))])&libc.Int32FromInt32(0x08) != 0) || !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(pIn + 1)))])&libc.Int32FromInt32(0x08) != 0)) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1732, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(p + 8)))) + } + } + goto _2 + _2: + ; + v1 = pIn + pIn++ + if !(*(*int8)(unsafe.Pointer(v1)) != 0) { + break + } + } + if bHex != 0 { + (*TExpr)(unsafe.Pointer(p)).Fop = uint8(TK_INTEGER) + } + /* tag-20240227-a: If after dequoting, the number is an integer that + ** fits in 32 bits, then it must be converted into EP_IntValue. Other + ** parts of the code expect this. See also tag-20240227-b. */ + if int32((*TExpr)(unsafe.Pointer(p)).Fop) == int32(TK_INTEGER) && _sqlite3GetInt32(tls, *(*uintptr)(unsafe.Pointer(p + 8)), bp) != 0 { + *(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(p)).Fu)) = *(*int32)(unsafe.Pointer(bp)) + *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(EP_IntValue) + } + } +} + // C documentation // // /* @@ -97915,7 +98140,7 @@ func _compare2pow63(tls *libc.TLS, zNum uintptr, incr int32) (r int32) { _, _, _ = c, i, pow63 c = 0 /* 012345678901234567 */ - pow63 = __ccgo_ts + 1697 + pow63 = __ccgo_ts + 1757 i = 0 for { if !(c == 0 && i < int32(18)) { @@ -98142,7 +98367,7 @@ func _sqlite3DecOrHexToI64(tls *libc.TLS, z uintptr, pOut uintptr) (r int32) { } return 0 } else { - n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1716)) + n = int32(libc.Uint64FromInt32(0x3fffffff) & libc.Xstrspn(tls, z, __ccgo_ts+1776)) if *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 { n++ } @@ -98300,7 +98525,7 @@ func _sqlite3FpDecode(tls *libc.TLS, p uintptr, _r float64, iRound int32, mxRoun (*TFpDecode)(unsafe.Pointer(p)).Fsign = int8('+') (*TFpDecode)(unsafe.Pointer(p)).Fn = int32(1) (*TFpDecode)(unsafe.Pointer(p)).FiDP = int32(1) - (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1732 + (*TFpDecode)(unsafe.Pointer(p)).Fz = __ccgo_ts + 1792 return } else { (*TFpDecode)(unsafe.Pointer(p)).Fsign = int8('+') @@ -98849,7 +99074,7 @@ func _sqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) (r uintptr func _logBadConnection(tls *libc.TLS, zType uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1734, libc.VaList(bp+8, zType)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+1794, libc.VaList(bp+8, zType)) } // C documentation @@ -98872,13 +99097,13 @@ func _sqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) (r int32) { var eOpenState Tu8 _ = eOpenState if db == uintptr(0) { - _logBadConnection(tls, __ccgo_ts+1659) + _logBadConnection(tls, __ccgo_ts+1673) return 0 } eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(int32(eOpenState)) != int32(SQLITE_STATE_OPEN) { if _sqlite3SafetyCheckSickOrOk(tls, db) != 0 { - _logBadConnection(tls, __ccgo_ts+1779) + _logBadConnection(tls, __ccgo_ts+1839) } return 0 } else { @@ -98892,7 +99117,7 @@ func _sqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) (r int32) { _ = eOpenState eOpenState = (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState if int32(int32(eOpenState)) != int32(SQLITE_STATE_SICK) && int32(int32(eOpenState)) != int32(SQLITE_STATE_OPEN) && int32(int32(eOpenState)) != int32(SQLITE_STATE_BUSY) { - _logBadConnection(tls, __ccgo_ts+1788) + _logBadConnection(tls, __ccgo_ts+1848) return 0 } else { return int32(1) @@ -99538,196 +99763,196 @@ func _sqlite3OpcodeName(tls *libc.TLS, i int32) (r uintptr) { } var _azName = [190]uintptr{ - 0: __ccgo_ts + 1796, - 1: __ccgo_ts + 1806, - 2: __ccgo_ts + 1817, - 3: __ccgo_ts + 1829, - 4: __ccgo_ts + 1840, - 5: __ccgo_ts + 1852, - 6: __ccgo_ts + 1859, - 7: __ccgo_ts + 1867, - 8: __ccgo_ts + 1875, - 9: __ccgo_ts + 1880, - 10: __ccgo_ts + 1885, - 11: __ccgo_ts + 1891, - 12: __ccgo_ts + 1905, - 13: __ccgo_ts + 1911, - 14: __ccgo_ts + 1921, - 15: __ccgo_ts + 1926, - 16: __ccgo_ts + 1931, - 17: __ccgo_ts + 1934, - 18: __ccgo_ts + 1940, - 19: __ccgo_ts + 1947, - 20: __ccgo_ts + 1951, - 21: __ccgo_ts + 1961, - 22: __ccgo_ts + 1968, - 23: __ccgo_ts + 1975, - 24: __ccgo_ts + 1982, - 25: __ccgo_ts + 1989, - 26: __ccgo_ts + 1999, - 27: __ccgo_ts + 2008, - 28: __ccgo_ts + 2019, - 29: __ccgo_ts + 2028, - 30: __ccgo_ts + 2034, - 31: __ccgo_ts + 2044, - 32: __ccgo_ts + 2054, - 33: __ccgo_ts + 2059, - 34: __ccgo_ts + 2069, - 35: __ccgo_ts + 2080, - 36: __ccgo_ts + 2085, - 37: __ccgo_ts + 2092, - 38: __ccgo_ts + 2103, - 39: __ccgo_ts + 2108, - 40: __ccgo_ts + 2113, - 41: __ccgo_ts + 2119, - 42: __ccgo_ts + 2125, - 43: __ccgo_ts + 2131, - 44: __ccgo_ts + 2134, - 45: __ccgo_ts + 2138, - 46: __ccgo_ts + 2144, - 47: __ccgo_ts + 2155, - 48: __ccgo_ts + 2166, - 49: __ccgo_ts + 2174, - 50: __ccgo_ts + 2183, - 51: __ccgo_ts + 2190, - 52: __ccgo_ts + 2198, - 53: __ccgo_ts + 2201, - 54: __ccgo_ts + 2204, - 55: __ccgo_ts + 2207, - 56: __ccgo_ts + 2210, - 57: __ccgo_ts + 2213, - 58: __ccgo_ts + 2216, - 59: __ccgo_ts + 2223, - 60: __ccgo_ts + 2229, - 61: __ccgo_ts + 2239, - 62: __ccgo_ts + 2252, - 63: __ccgo_ts + 2263, - 64: __ccgo_ts + 2269, - 65: __ccgo_ts + 2276, - 66: __ccgo_ts + 2285, - 67: __ccgo_ts + 2294, - 68: __ccgo_ts + 2301, - 69: __ccgo_ts + 2314, - 70: __ccgo_ts + 2325, - 71: __ccgo_ts + 2330, - 72: __ccgo_ts + 2338, - 73: __ccgo_ts + 2344, - 74: __ccgo_ts + 2351, - 75: __ccgo_ts + 2363, - 76: __ccgo_ts + 2368, - 77: __ccgo_ts + 2377, - 78: __ccgo_ts + 2382, - 79: __ccgo_ts + 2391, - 80: __ccgo_ts + 2396, - 81: __ccgo_ts + 2401, - 82: __ccgo_ts + 2407, - 83: __ccgo_ts + 2415, - 84: __ccgo_ts + 2423, - 85: __ccgo_ts + 2433, - 86: __ccgo_ts + 2441, - 87: __ccgo_ts + 2448, - 88: __ccgo_ts + 2461, - 89: __ccgo_ts + 2466, - 90: __ccgo_ts + 2478, - 91: __ccgo_ts + 2486, - 92: __ccgo_ts + 2493, - 93: __ccgo_ts + 2504, - 94: __ccgo_ts + 2511, - 95: __ccgo_ts + 2518, - 96: __ccgo_ts + 2528, - 97: __ccgo_ts + 2537, - 98: __ccgo_ts + 2548, - 99: __ccgo_ts + 2554, - 100: __ccgo_ts + 2565, - 101: __ccgo_ts + 2575, - 102: __ccgo_ts + 2585, - 103: __ccgo_ts + 2592, - 104: __ccgo_ts + 2598, - 105: __ccgo_ts + 2608, - 106: __ccgo_ts + 2619, - 107: __ccgo_ts + 2623, - 108: __ccgo_ts + 2632, - 109: __ccgo_ts + 2641, - 110: __ccgo_ts + 2648, - 111: __ccgo_ts + 2658, - 112: __ccgo_ts + 2665, - 113: __ccgo_ts + 2674, - 114: __ccgo_ts + 2684, - 115: __ccgo_ts + 2691, - 116: __ccgo_ts + 2699, - 117: __ccgo_ts + 2713, - 118: __ccgo_ts + 2721, - 119: __ccgo_ts + 2735, - 120: __ccgo_ts + 2746, - 121: __ccgo_ts + 2759, - 122: __ccgo_ts + 2770, - 123: __ccgo_ts + 2776, - 124: __ccgo_ts + 2788, - 125: __ccgo_ts + 2797, - 126: __ccgo_ts + 2805, - 127: __ccgo_ts + 2814, - 128: __ccgo_ts + 2823, - 129: __ccgo_ts + 2830, - 130: __ccgo_ts + 2838, - 131: __ccgo_ts + 2845, - 132: __ccgo_ts + 2856, - 133: __ccgo_ts + 2870, - 134: __ccgo_ts + 2881, - 135: __ccgo_ts + 2889, - 136: __ccgo_ts + 2895, - 137: __ccgo_ts + 2903, - 138: __ccgo_ts + 2911, - 139: __ccgo_ts + 2921, - 140: __ccgo_ts + 2934, - 141: __ccgo_ts + 2944, - 142: __ccgo_ts + 2957, - 143: __ccgo_ts + 2966, - 144: __ccgo_ts + 2977, - 145: __ccgo_ts + 2985, - 146: __ccgo_ts + 2991, - 147: __ccgo_ts + 3003, - 148: __ccgo_ts + 3015, - 149: __ccgo_ts + 3023, - 150: __ccgo_ts + 3035, - 151: __ccgo_ts + 3048, - 152: __ccgo_ts + 3058, - 153: __ccgo_ts + 3068, - 154: __ccgo_ts + 3073, - 155: __ccgo_ts + 3085, - 156: __ccgo_ts + 3097, - 157: __ccgo_ts + 3107, - 158: __ccgo_ts + 3113, - 159: __ccgo_ts + 3123, - 160: __ccgo_ts + 3130, - 161: __ccgo_ts + 3142, - 162: __ccgo_ts + 3153, - 163: __ccgo_ts + 3161, - 164: __ccgo_ts + 3170, - 165: __ccgo_ts + 3179, - 166: __ccgo_ts + 3188, - 167: __ccgo_ts + 3195, - 168: __ccgo_ts + 3206, - 169: __ccgo_ts + 3219, - 170: __ccgo_ts + 3229, - 171: __ccgo_ts + 3236, - 172: __ccgo_ts + 3244, - 173: __ccgo_ts + 3253, - 174: __ccgo_ts + 3259, - 175: __ccgo_ts + 3266, - 176: __ccgo_ts + 3274, - 177: __ccgo_ts + 3282, - 178: __ccgo_ts + 3290, - 179: __ccgo_ts + 3300, - 180: __ccgo_ts + 3309, - 181: __ccgo_ts + 3320, - 182: __ccgo_ts + 3331, - 183: __ccgo_ts + 3342, - 184: __ccgo_ts + 3352, - 185: __ccgo_ts + 3358, - 186: __ccgo_ts + 3369, - 187: __ccgo_ts + 3380, - 188: __ccgo_ts + 3385, - 189: __ccgo_ts + 3393, + 0: __ccgo_ts + 1856, + 1: __ccgo_ts + 1866, + 2: __ccgo_ts + 1877, + 3: __ccgo_ts + 1889, + 4: __ccgo_ts + 1900, + 5: __ccgo_ts + 1912, + 6: __ccgo_ts + 1919, + 7: __ccgo_ts + 1927, + 8: __ccgo_ts + 1935, + 9: __ccgo_ts + 1940, + 10: __ccgo_ts + 1945, + 11: __ccgo_ts + 1951, + 12: __ccgo_ts + 1965, + 13: __ccgo_ts + 1971, + 14: __ccgo_ts + 1981, + 15: __ccgo_ts + 1986, + 16: __ccgo_ts + 1991, + 17: __ccgo_ts + 1994, + 18: __ccgo_ts + 2000, + 19: __ccgo_ts + 2007, + 20: __ccgo_ts + 2011, + 21: __ccgo_ts + 2021, + 22: __ccgo_ts + 2028, + 23: __ccgo_ts + 2035, + 24: __ccgo_ts + 2042, + 25: __ccgo_ts + 2049, + 26: __ccgo_ts + 2059, + 27: __ccgo_ts + 2068, + 28: __ccgo_ts + 2079, + 29: __ccgo_ts + 2088, + 30: __ccgo_ts + 2094, + 31: __ccgo_ts + 2104, + 32: __ccgo_ts + 2114, + 33: __ccgo_ts + 2119, + 34: __ccgo_ts + 2133, + 35: __ccgo_ts + 2144, + 36: __ccgo_ts + 2149, + 37: __ccgo_ts + 2156, + 38: __ccgo_ts + 2167, + 39: __ccgo_ts + 2172, + 40: __ccgo_ts + 2177, + 41: __ccgo_ts + 2183, + 42: __ccgo_ts + 2189, + 43: __ccgo_ts + 2195, + 44: __ccgo_ts + 2198, + 45: __ccgo_ts + 2202, + 46: __ccgo_ts + 2208, + 47: __ccgo_ts + 2219, + 48: __ccgo_ts + 2230, + 49: __ccgo_ts + 2238, + 50: __ccgo_ts + 2247, + 51: __ccgo_ts + 2254, + 52: __ccgo_ts + 2262, + 53: __ccgo_ts + 2265, + 54: __ccgo_ts + 2268, + 55: __ccgo_ts + 2271, + 56: __ccgo_ts + 2274, + 57: __ccgo_ts + 2277, + 58: __ccgo_ts + 2280, + 59: __ccgo_ts + 2287, + 60: __ccgo_ts + 2293, + 61: __ccgo_ts + 2303, + 62: __ccgo_ts + 2316, + 63: __ccgo_ts + 2327, + 64: __ccgo_ts + 2333, + 65: __ccgo_ts + 2340, + 66: __ccgo_ts + 2349, + 67: __ccgo_ts + 2358, + 68: __ccgo_ts + 2365, + 69: __ccgo_ts + 2378, + 70: __ccgo_ts + 2389, + 71: __ccgo_ts + 2394, + 72: __ccgo_ts + 2402, + 73: __ccgo_ts + 2408, + 74: __ccgo_ts + 2415, + 75: __ccgo_ts + 2427, + 76: __ccgo_ts + 2432, + 77: __ccgo_ts + 2441, + 78: __ccgo_ts + 2446, + 79: __ccgo_ts + 2455, + 80: __ccgo_ts + 2460, + 81: __ccgo_ts + 2465, + 82: __ccgo_ts + 2471, + 83: __ccgo_ts + 2479, + 84: __ccgo_ts + 2487, + 85: __ccgo_ts + 2497, + 86: __ccgo_ts + 2505, + 87: __ccgo_ts + 2512, + 88: __ccgo_ts + 2525, + 89: __ccgo_ts + 2530, + 90: __ccgo_ts + 2542, + 91: __ccgo_ts + 2550, + 92: __ccgo_ts + 2557, + 93: __ccgo_ts + 2568, + 94: __ccgo_ts + 2575, + 95: __ccgo_ts + 2582, + 96: __ccgo_ts + 2592, + 97: __ccgo_ts + 2601, + 98: __ccgo_ts + 2612, + 99: __ccgo_ts + 2618, + 100: __ccgo_ts + 2629, + 101: __ccgo_ts + 2639, + 102: __ccgo_ts + 2649, + 103: __ccgo_ts + 2656, + 104: __ccgo_ts + 2662, + 105: __ccgo_ts + 2672, + 106: __ccgo_ts + 2683, + 107: __ccgo_ts + 2687, + 108: __ccgo_ts + 2696, + 109: __ccgo_ts + 2705, + 110: __ccgo_ts + 2712, + 111: __ccgo_ts + 2722, + 112: __ccgo_ts + 2729, + 113: __ccgo_ts + 2738, + 114: __ccgo_ts + 2748, + 115: __ccgo_ts + 2755, + 116: __ccgo_ts + 2763, + 117: __ccgo_ts + 2777, + 118: __ccgo_ts + 2785, + 119: __ccgo_ts + 2799, + 120: __ccgo_ts + 2810, + 121: __ccgo_ts + 2823, + 122: __ccgo_ts + 2834, + 123: __ccgo_ts + 2840, + 124: __ccgo_ts + 2852, + 125: __ccgo_ts + 2861, + 126: __ccgo_ts + 2869, + 127: __ccgo_ts + 2878, + 128: __ccgo_ts + 2887, + 129: __ccgo_ts + 2894, + 130: __ccgo_ts + 2902, + 131: __ccgo_ts + 2909, + 132: __ccgo_ts + 2920, + 133: __ccgo_ts + 2934, + 134: __ccgo_ts + 2945, + 135: __ccgo_ts + 2953, + 136: __ccgo_ts + 2959, + 137: __ccgo_ts + 2967, + 138: __ccgo_ts + 2975, + 139: __ccgo_ts + 2985, + 140: __ccgo_ts + 2998, + 141: __ccgo_ts + 3008, + 142: __ccgo_ts + 3021, + 143: __ccgo_ts + 3030, + 144: __ccgo_ts + 3041, + 145: __ccgo_ts + 3049, + 146: __ccgo_ts + 3055, + 147: __ccgo_ts + 3067, + 148: __ccgo_ts + 3079, + 149: __ccgo_ts + 3087, + 150: __ccgo_ts + 3099, + 151: __ccgo_ts + 3112, + 152: __ccgo_ts + 3122, + 153: __ccgo_ts + 3132, + 154: __ccgo_ts + 3137, + 155: __ccgo_ts + 3149, + 156: __ccgo_ts + 3161, + 157: __ccgo_ts + 3171, + 158: __ccgo_ts + 3177, + 159: __ccgo_ts + 3187, + 160: __ccgo_ts + 3194, + 161: __ccgo_ts + 3206, + 162: __ccgo_ts + 3217, + 163: __ccgo_ts + 3225, + 164: __ccgo_ts + 3234, + 165: __ccgo_ts + 3243, + 166: __ccgo_ts + 3252, + 167: __ccgo_ts + 3259, + 168: __ccgo_ts + 3270, + 169: __ccgo_ts + 3283, + 170: __ccgo_ts + 3293, + 171: __ccgo_ts + 3300, + 172: __ccgo_ts + 3308, + 173: __ccgo_ts + 3317, + 174: __ccgo_ts + 3323, + 175: __ccgo_ts + 3330, + 176: __ccgo_ts + 3338, + 177: __ccgo_ts + 3346, + 178: __ccgo_ts + 3354, + 179: __ccgo_ts + 3364, + 180: __ccgo_ts + 3373, + 181: __ccgo_ts + 3384, + 182: __ccgo_ts + 3395, + 183: __ccgo_ts + 3406, + 184: __ccgo_ts + 3416, + 185: __ccgo_ts + 3422, + 186: __ccgo_ts + 3433, + 187: __ccgo_ts + 3444, + 188: __ccgo_ts + 3449, + 189: __ccgo_ts + 3457, } /************** End of opcodes.c *********************************************/ @@ -100088,244 +100313,244 @@ type win_syscall = Twin_syscall // */ var _aSyscall = [80]Twin_syscall{ 0: { - FzName: __ccgo_ts + 3403, + FzName: __ccgo_ts + 3467, }, 1: { - FzName: __ccgo_ts + 3419, + FzName: __ccgo_ts + 3483, }, 2: { - FzName: __ccgo_ts + 3430, + FzName: __ccgo_ts + 3494, }, 3: { - FzName: __ccgo_ts + 3441, + FzName: __ccgo_ts + 3505, }, 4: { - FzName: __ccgo_ts + 3453, + FzName: __ccgo_ts + 3517, }, 5: { - FzName: __ccgo_ts + 3465, + FzName: __ccgo_ts + 3529, }, 6: { - FzName: __ccgo_ts + 3477, + FzName: __ccgo_ts + 3541, }, 7: { - FzName: __ccgo_ts + 3496, + FzName: __ccgo_ts + 3560, }, 8: { - FzName: __ccgo_ts + 3515, + FzName: __ccgo_ts + 3579, }, 9: { - FzName: __ccgo_ts + 3528, + FzName: __ccgo_ts + 3592, }, 10: { - FzName: __ccgo_ts + 3540, + FzName: __ccgo_ts + 3604, }, 11: { - FzName: __ccgo_ts + 3552, + FzName: __ccgo_ts + 3616, }, 12: { - FzName: __ccgo_ts + 3576, + FzName: __ccgo_ts + 3640, }, 13: { - FzName: __ccgo_ts + 3597, + FzName: __ccgo_ts + 3661, }, 14: { - FzName: __ccgo_ts + 3614, + FzName: __ccgo_ts + 3678, }, 15: { - FzName: __ccgo_ts + 3629, + FzName: __ccgo_ts + 3693, }, 16: { - FzName: __ccgo_ts + 3644, + FzName: __ccgo_ts + 3708, }, 17: { - FzName: __ccgo_ts + 3656, + FzName: __ccgo_ts + 3720, }, 18: { - FzName: __ccgo_ts + 3676, + FzName: __ccgo_ts + 3740, }, 19: { - FzName: __ccgo_ts + 3694, + FzName: __ccgo_ts + 3758, }, 20: { - FzName: __ccgo_ts + 3712, + FzName: __ccgo_ts + 3776, }, 21: { - FzName: __ccgo_ts + 3731, + FzName: __ccgo_ts + 3795, }, 22: { - FzName: __ccgo_ts + 3750, + FzName: __ccgo_ts + 3814, }, 23: { - FzName: __ccgo_ts + 3771, + FzName: __ccgo_ts + 3835, }, 24: { - FzName: __ccgo_ts + 3783, + FzName: __ccgo_ts + 3847, }, 25: { - FzName: __ccgo_ts + 3800, + FzName: __ccgo_ts + 3864, }, 26: { - FzName: __ccgo_ts + 3817, + FzName: __ccgo_ts + 3881, }, 27: { - FzName: __ccgo_ts + 3830, + FzName: __ccgo_ts + 3894, }, 28: { - FzName: __ccgo_ts + 3846, + FzName: __ccgo_ts + 3910, }, 29: { - FzName: __ccgo_ts + 3860, + FzName: __ccgo_ts + 3924, }, 30: { - FzName: __ccgo_ts + 3874, + FzName: __ccgo_ts + 3938, }, 31: { - FzName: __ccgo_ts + 3898, + FzName: __ccgo_ts + 3962, }, 32: { - FzName: __ccgo_ts + 3911, + FzName: __ccgo_ts + 3975, }, 33: { - FzName: __ccgo_ts + 3924, + FzName: __ccgo_ts + 3988, }, 34: { - FzName: __ccgo_ts + 3937, + FzName: __ccgo_ts + 4001, }, 35: { - FzName: __ccgo_ts + 3951, + FzName: __ccgo_ts + 4015, }, 36: { - FzName: __ccgo_ts + 3965, + FzName: __ccgo_ts + 4029, }, 37: { - FzName: __ccgo_ts + 3975, + FzName: __ccgo_ts + 4039, }, 38: { - FzName: __ccgo_ts + 3986, + FzName: __ccgo_ts + 4050, }, 39: { - FzName: __ccgo_ts + 3998, + FzName: __ccgo_ts + 4062, }, 40: { - FzName: __ccgo_ts + 4007, + FzName: __ccgo_ts + 4071, }, 41: { - FzName: __ccgo_ts + 4019, + FzName: __ccgo_ts + 4083, }, 42: { - FzName: __ccgo_ts + 4028, + FzName: __ccgo_ts + 4092, }, 43: { - FzName: __ccgo_ts + 4041, + FzName: __ccgo_ts + 4105, }, 44: { - FzName: __ccgo_ts + 4053, + FzName: __ccgo_ts + 4117, }, 45: { - FzName: __ccgo_ts + 4066, + FzName: __ccgo_ts + 4130, }, 46: { - FzName: __ccgo_ts + 4079, + FzName: __ccgo_ts + 4143, }, 47: { - FzName: __ccgo_ts + 4089, + FzName: __ccgo_ts + 4153, }, 48: { - FzName: __ccgo_ts + 4098, + FzName: __ccgo_ts + 4162, }, 49: { - FzName: __ccgo_ts + 4109, + FzName: __ccgo_ts + 4173, }, 50: { - FzName: __ccgo_ts + 4123, + FzName: __ccgo_ts + 4187, }, 51: { - FzName: __ccgo_ts + 4143, + FzName: __ccgo_ts + 4207, }, 52: { - FzName: __ccgo_ts + 4167, + FzName: __ccgo_ts + 4231, }, 53: { - FzName: __ccgo_ts + 4176, + FzName: __ccgo_ts + 4240, }, 54: { - FzName: __ccgo_ts + 4189, + FzName: __ccgo_ts + 4253, }, 55: { - FzName: __ccgo_ts + 4204, + FzName: __ccgo_ts + 4268, }, 56: { - FzName: __ccgo_ts + 4210, + FzName: __ccgo_ts + 4274, }, 57: { - FzName: __ccgo_ts + 4231, + FzName: __ccgo_ts + 4295, }, 58: { - FzName: __ccgo_ts + 4242, + FzName: __ccgo_ts + 4306, }, 59: { - FzName: __ccgo_ts + 4255, + FzName: __ccgo_ts + 4319, }, 60: { - FzName: __ccgo_ts + 4271, + FzName: __ccgo_ts + 4335, }, 61: { - FzName: __ccgo_ts + 4291, + FzName: __ccgo_ts + 4355, }, 62: { - FzName: __ccgo_ts + 4301, + FzName: __ccgo_ts + 4365, }, 63: { - FzName: __ccgo_ts + 4316, + FzName: __ccgo_ts + 4380, }, 64: { - FzName: __ccgo_ts + 4336, + FzName: __ccgo_ts + 4400, }, 65: { - FzName: __ccgo_ts + 4358, + FzName: __ccgo_ts + 4422, }, 66: { - FzName: __ccgo_ts + 4375, + FzName: __ccgo_ts + 4439, }, 67: { - FzName: __ccgo_ts + 4404, + FzName: __ccgo_ts + 4468, }, 68: { - FzName: __ccgo_ts + 4425, + FzName: __ccgo_ts + 4489, }, 69: { - FzName: __ccgo_ts + 4437, + FzName: __ccgo_ts + 4501, }, 70: { - FzName: __ccgo_ts + 4457, + FzName: __ccgo_ts + 4521, }, 71: { - FzName: __ccgo_ts + 4472, + FzName: __ccgo_ts + 4536, }, 72: { - FzName: __ccgo_ts + 4492, + FzName: __ccgo_ts + 4556, }, 73: { - FzName: __ccgo_ts + 4511, + FzName: __ccgo_ts + 4575, }, 74: { - FzName: __ccgo_ts + 4530, + FzName: __ccgo_ts + 4594, }, 75: { - FzName: __ccgo_ts + 4545, + FzName: __ccgo_ts + 4609, }, 76: { - FzName: __ccgo_ts + 4570, + FzName: __ccgo_ts + 4634, }, 77: { - FzName: __ccgo_ts + 4597, + FzName: __ccgo_ts + 4661, }, 78: { - FzName: __ccgo_ts + 4608, + FzName: __ccgo_ts + 4672, }, 79: { - FzName: __ccgo_ts + 4629, + FzName: __ccgo_ts + 4693, }, } @@ -100865,7 +101090,7 @@ func Xsqlite3_win32_set_directory8(tls *libc.TLS, type1 uint32, zValue uintptr) if ppDirectory != 0 { zCopy = uintptr(0) if zValue != 0 && *(*int8)(unsafe.Pointer(zValue)) != 0 { - zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, zValue)) + zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, zValue)) if zCopy == uintptr(0) { rc = int32(SQLITE_NOMEM) goto set_directory8_done @@ -100966,10 +101191,10 @@ func _winGetLastErrorMsg(tls *libc.TLS, lastErrno TDWORD, nBuf int32, zBuf uintp } } if uint32(0) == dwLen { - Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+4648, libc.VaList(bp+24, lastErrno, lastErrno)) + Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+4712, libc.VaList(bp+24, lastErrno, lastErrno)) } else { /* copy a maximum of nBuf chars to output buffer */ - Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+4645, libc.VaList(bp+24, zOut)) + Xsqlite3_snprintf(tls, nBuf, zBuf, __ccgo_ts+4709, libc.VaList(bp+24, zOut)) /* free the UTF8 buffer */ Xsqlite3_free(tls, zOut) } @@ -101002,7 +101227,7 @@ func _winLogErrorAtLine(tls *libc.TLS, errcode int32, lastErrno TDWORD, zFunc ui (*(*[500]int8)(unsafe.Pointer(bp)))[0] = 0 _winGetLastErrorMsg(tls, lastErrno, int32(500), bp) if zPath == uintptr(0) { - zPath = __ccgo_ts + 1658 + zPath = __ccgo_ts + 1672 } i = 0 for { @@ -101015,7 +101240,7 @@ func _winLogErrorAtLine(tls *libc.TLS, errcode int32, lastErrno TDWORD, zFunc ui i++ } (*(*[500]int8)(unsafe.Pointer(bp)))[i] = 0 - Xsqlite3_log(tls, errcode, __ccgo_ts+4668, libc.VaList(bp+512, iLine, lastErrno, zFunc, zPath, bp)) + Xsqlite3_log(tls, errcode, __ccgo_ts+4732, libc.VaList(bp+512, iLine, lastErrno, zFunc, zPath, bp)) return errcode } @@ -101084,7 +101309,7 @@ func _winLogIoerr(tls *libc.TLS, nRetry int32, lineno int32) { bp := tls.Alloc(32) defer tls.Free(32) if nRetry != 0 { - Xsqlite3_log(tls, int32(SQLITE_NOTICE), __ccgo_ts+4699, libc.VaList(bp+8, _winIoerrRetryDelay*nRetry*(nRetry+int32(1))/int32(2), lineno)) + Xsqlite3_log(tls, int32(SQLITE_NOTICE), __ccgo_ts+4763, libc.VaList(bp+8, _winIoerrRetryDelay*nRetry*(nRetry+int32(1))/int32(2), lineno)) } } @@ -101173,7 +101398,7 @@ func _winSeekFile(tls *libc.TLS, pFile uintptr, iOffset Tsqlite3_int64) (r int32 } if v2 && v1 != uint32(0) { (*TwinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno - _winLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(22)< 0 { @@ -101434,7 +101659,7 @@ func _winSync(tls *libc.TLS, id uintptr, flags int32) (r int32) { if (*(*func(*libc.TLS, TLPCVOID, TSIZE_T) TBOOL)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(79)].FpCurrent})))(tls, (*TwinFile)(unsafe.Pointer(pFile)).FpMapRegion, uint64(0)) != 0 { } else { (*TwinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) TDWORD)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls) - return _winLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(24)<= int32(RESERVED_LOCK) { @@ -101868,7 +102093,7 @@ func _winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) (r int32 _winModeBit(tls, pFile, uint8(WINFILE_PSOW), pArg) return SQLITE_OK case int32(SQLITE_FCNTL_VFSNAME): - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+24, (*Tsqlite3_vfs)(unsafe.Pointer((*TwinFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+24, (*Tsqlite3_vfs)(unsafe.Pointer((*TwinFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) return SQLITE_OK case int32(SQLITE_FCNTL_WIN32_AV_RETRY): a = pArg @@ -102174,7 +102399,7 @@ func _winLockSharedMemory(tls *libc.TLS, pShmNode uintptr) (r int32) { } else { if _winTruncate(tls, pShmNode+16, 0) != 0 { _winShmSystemLock(tls, pShmNode, int32(WINSHM_UNLCK), (libc.Int32FromInt32(22)+libc.Int32FromInt32(SQLITE_SHM_NLOCK))*libc.Int32FromInt32(4)+libc.Int32FromInt32(SQLITE_SHM_NLOCK), int32(1)) - return _winLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<>libc.Int32FromInt32(32)&libc.Int64FromUint32(0xffffffff)), uint32(*(*Tsqlite3_int64)(unsafe.Pointer(bp))&libc.Int64FromUint32(0xffffffff)), libc.UintptrFromInt32(0)) if (*TwinFile)(unsafe.Pointer(pFd)).FhMap == libc.UintptrFromInt32(0) { (*TwinFile)(unsafe.Pointer(pFd)).FlastErrno = (*(*func(*libc.TLS) TDWORD)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls) - rc = _winLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(24)< nDir { Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) Xsqlite3_free(tls, zBuf) - return _winLogErrorAtLine(tls, int32(SQLITE_ERROR), uint32(0), __ccgo_ts+5026, uintptr(0), int32(51104)) + return _winLogErrorAtLine(tls, int32(SQLITE_ERROR), uint32(0), __ccgo_ts+5090, uintptr(0), int32(51444)) } - Xsqlite3_snprintf(tls, nMax, zBuf, __ccgo_ts+4645, libc.VaList(bp+8, Xsqlite3_temp_directory)) + Xsqlite3_snprintf(tls, nMax, zBuf, __ccgo_ts+4709, libc.VaList(bp+8, Xsqlite3_temp_directory)) } Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) } else { @@ -102987,11 +103212,11 @@ func _winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) (r int32) { if (*(*func(*libc.TLS, TDWORD, TLPWSTR) TDWORD)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(32)].FpCurrent})))(tls, uint32(uint32(nMax)), zWidePath) == uint32(0) { Xsqlite3_free(tls, zWidePath) Xsqlite3_free(tls, zBuf) - return _winLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(25)< nBuf { Xsqlite3_free(tls, zBuf) - return _winLogErrorAtLine(tls, int32(SQLITE_ERROR), uint32(0), __ccgo_ts+5090, uintptr(0), int32(51273)) + return _winLogErrorAtLine(tls, int32(SQLITE_ERROR), uint32(0), __ccgo_ts+5154, uintptr(0), int32(51613)) } - Xsqlite3_snprintf(tls, nBuf-int32(16)-nLen, zBuf+uintptr(nLen), __ccgo_ts+5018, 0) + Xsqlite3_snprintf(tls, nBuf-int32(16)-nLen, zBuf+uintptr(nLen), __ccgo_ts+5082, 0) j = uint64(_sqlite3Strlen30(tls, zBuf)) Xsqlite3_randomness(tls, int32(15), zBuf+uintptr(j)) pid = (*(*func(*libc.TLS) TDWORD)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(17)].FpCurrent})))(tls) @@ -103200,7 +103425,7 @@ func _winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int3 dwCreationDisposition = uint32(OPEN_EXISTING) } } - if 0 == Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+5106, 0) { + if 0 == Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+5170, 0) { dwShareMode = uint32(libc.Int32FromInt32(FILE_SHARE_READ) | libc.Int32FromInt32(FILE_SHARE_WRITE)) } else { dwShareMode = uint32(0) @@ -103245,7 +103470,7 @@ func _winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int3 } } } - _winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 4)), int32(51565)) + _winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 4)), int32(51905)) if h == uintptr(int64(-libc.Int32FromInt32(1))) { Xsqlite3_free(tls, zConverted) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -103253,8 +103478,8 @@ func _winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int3 return _winOpen(tls, pVfs, zName, id, (flags|int32(SQLITE_OPEN_READONLY)) & ^(libc.Int32FromInt32(SQLITE_OPEN_CREATE)|libc.Int32FromInt32(SQLITE_OPEN_READWRITE)), pOutFlags) } else { (*TwinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*TDWORD)(unsafe.Pointer(bp)) - _winLogErrorAtLine(tls, int32(SQLITE_CANTOPEN), (*TwinFile)(unsafe.Pointer(pFile)).FlastErrno, __ccgo_ts+5116, zUtf8Name, int32(51580)) - return _sqlite3CantopenError(tls, int32(51581)) + _winLogErrorAtLine(tls, int32(SQLITE_CANTOPEN), (*TwinFile)(unsafe.Pointer(pFile)).FlastErrno, __ccgo_ts+5180, zUtf8Name, int32(51920)) + return _sqlite3CantopenError(tls, int32(51921)) } } if pOutFlags != 0 { @@ -103279,7 +103504,7 @@ func _winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int3 p2 = pFile + 28 *(*Tu8)(unsafe.Pointer(p2)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p2))) | libc.Int32FromInt32(WINFILE_RDONLY)) } - if flags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+5124, int32(SQLITE_POWERSAFE_OVERWRITE)) != 0 { + if flags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+5188, int32(SQLITE_POWERSAFE_OVERWRITE)) != 0 { p3 = pFile + 28 *(*Tu8)(unsafe.Pointer(p3)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p3))) | libc.Int32FromInt32(WINFILE_PSOW)) } @@ -103375,9 +103600,9 @@ func _winDelete(tls *libc.TLS, pVfs uintptr, zFilename uintptr, syncDir int32) ( } } if rc != 0 && rc != libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(23)< int64(1) { _sqlite3PagerUnrefNotNull(tls, pPgOld) - return _sqlite3CorruptError(tls, int32(63973)) + return _sqlite3CorruptError(tls, int32(64313)) } p4 = pPg + 52 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | int32((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC)) @@ -115216,7 +115441,7 @@ func _sqlite3PagerCheckpoint(tls *libc.TLS, pPager uintptr, db uintptr, eMode in ** sqlite3_wal_checkpoint() call, but it happens very rarely. ** https://sqlite.org/forum/forumpost/fd0f19d229156939 */ - Xsqlite3_exec(tls, db, __ccgo_ts+5418, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+5482, uintptr(0), uintptr(0), uintptr(0)) } if (*TPager)(unsafe.Pointer(pPager)).FpWal != 0 { if eMode == SQLITE_CHECKPOINT_PASSIVE { @@ -116657,7 +116882,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in v2 = nCollide nCollide-- if v2 == 0 { - return _sqlite3CorruptError(tls, int32(65899)) + return _sqlite3CorruptError(tls, int32(66239)) } goto _1 _1: @@ -116745,7 +116970,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) { ** are able to understand */ version = _sqlite3Get4byte(tls, bp+8+4) if version != uint32(WAL_MAX_VERSION) { - rc = _sqlite3CantopenError(tls, int32(66031)) + rc = _sqlite3CantopenError(tls, int32(66371)) goto finished } /* Malloc a buffer to read frames into. */ @@ -116884,7 +117109,7 @@ finished: ** checkpointing the log file. */ if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FnPage != 0 { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_NOTICE)|libc.Int32FromInt32(1)< int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) { - rc = _sqlite3CorruptError(tls, int32(71032)) + rc = _sqlite3CorruptError(tls, int32(71421)) } else { rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes) } @@ -121443,7 +121675,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, } /* The super-journal page number must never be used as a pointer map page */ if key == uint32(0) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71230)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71619)) return } iPtrmap = _ptrmapPageno(tls, pBt, key) @@ -121456,12 +121688,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno, /* The first byte of the extra data is the MemPage.isInit byte. ** If that byte is set, it means this page is also being used ** as a btree page. */ - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71243)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71632)) goto ptrmap_exit } offset = int32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1))) if offset < 0 { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71248)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71637)) goto ptrmap_exit } pPtrmap = _sqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -121505,7 +121737,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin offset = int32(libc.Uint32FromInt32(5) * (key - uint32(uint32(iPtrmap)) - libc.Uint32FromInt32(1))) if offset < 0 { _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) - return _sqlite3CorruptError(tls, int32(71293)) + return _sqlite3CorruptError(tls, int32(71682)) } *(*Tu8)(unsafe.Pointer(pEType)) = *(*Tu8)(unsafe.Pointer(pPtrmap + uintptr(offset))) if pPgno != 0 { @@ -121513,7 +121745,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin } _sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp))) if int32(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || int32(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) { - return _sqlite3CorruptError(tls, int32(71301)) + return _sqlite3CorruptError(tls, int32(71690)) } return SQLITE_OK } @@ -121933,7 +122165,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(71741)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72130)) return } ovfl = _sqlite3Get4byte(tls, pCell+uintptr(int32((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4))) @@ -121973,12 +122205,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag { iFree = int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71799)) + return _sqlite3CorruptError(tls, int32(72188)) } if iFree != 0 { iFree2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) { - return _sqlite3CorruptError(tls, int32(71802)) + return _sqlite3CorruptError(tls, int32(72191)) } if 0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 { pEnd = data + uintptr(cellOffset+nCell*int32(2)) @@ -121986,21 +122218,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { sz = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree { - return _sqlite3CorruptError(tls, int32(71810)) + return _sqlite3CorruptError(tls, int32(72199)) } if iFree2 != 0 { if iFree+sz > iFree2 { - return _sqlite3CorruptError(tls, int32(71813)) + return _sqlite3CorruptError(tls, int32(72202)) } sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize { - return _sqlite3CorruptError(tls, int32(71815)) + return _sqlite3CorruptError(tls, int32(72204)) } libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz))) sz += sz2 } else { if iFree+sz > usableSize { - return _sqlite3CorruptError(tls, int32(71819)) + return _sqlite3CorruptError(tls, int32(72208)) } } cbrk = top + sz @@ -122047,12 +122279,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { ** if PRAGMA cell_size_check=ON. */ if pc > iCellLast { - return _sqlite3CorruptError(tls, int32(71852)) + return _sqlite3CorruptError(tls, int32(72241)) } size = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc))) cbrk -= size if cbrk < iCellStart || pc+size > usableSize { - return _sqlite3CorruptError(tls, int32(71858)) + return _sqlite3CorruptError(tls, int32(72247)) } *(*Tu8)(unsafe.Pointer(pAddr1)) = uint8(cbrk >> libc.Int32FromInt32(8)) *(*Tu8)(unsafe.Pointer(pAddr1 + 1)) = uint8(cbrk) @@ -122068,7 +122300,7 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) { defragment_out: ; if int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree { - return _sqlite3CorruptError(tls, int32(71872)) + return _sqlite3CorruptError(tls, int32(72261)) } *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = uint8(cbrk >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)) + 1)) = uint8(cbrk) @@ -122128,7 +122360,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint } else { if x+pc > maxPC { /* This slot extends off the end of the usable part of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71929)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72318)) return uintptr(0) } else { /* The slot remains on the free-list. Reduce its size to account @@ -122145,14 +122377,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint if pc <= iAddr { if pc != 0 { /* The next slot in the chain comes before the current slot */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71944)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72333)) } return uintptr(0) } } if pc > maxPC+nByte-int32(4) { /* The free slot chain extends off the end of the page */ - *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(71951)) + *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(72340)) } return uintptr(0) } @@ -122195,11 +122427,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) { top = int32(65536) } else { - return _sqlite3CorruptError(tls, int32(71999)) + return _sqlite3CorruptError(tls, int32(72388)) } } else { if top > int32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(72002)) + return _sqlite3CorruptError(tls, int32(72391)) } } /* If there is enough space between gap and top for one more cell pointer, @@ -122213,7 +122445,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r g2 = v1 *(*int32)(unsafe.Pointer(pIdx)) = v1 if g2 <= gap { - return _sqlite3CorruptError(tls, int32(72019)) + return _sqlite3CorruptError(tls, int32(72408)) } else { return SQLITE_OK } @@ -122296,12 +122528,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if int32(int32(iFreeBlk)) == 0 { break } /* TH3: corrupt082.100 */ - return _sqlite3CorruptError(tls, int32(72098)) + return _sqlite3CorruptError(tls, int32(72487)) } iPtr = iFreeBlk } if uint32(uint32(iFreeBlk)) > (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-uint32(4) { /* TH3: corrupt081.100 */ - return _sqlite3CorruptError(tls, int32(72103)) + return _sqlite3CorruptError(tls, int32(72492)) } /* At this point: ** iFreeBlk: First freeblock after iStart, or zero if none @@ -122312,11 +122544,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) if iFreeBlk != 0 && iEnd+uint32(3) >= uint32(uint32(iFreeBlk)) { nFrag = uint8(uint32(uint32(iFreeBlk)) - iEnd) if iEnd > uint32(uint32(iFreeBlk)) { - return _sqlite3CorruptError(tls, int32(72115)) + return _sqlite3CorruptError(tls, int32(72504)) } iEnd = uint32(int32(int32(iFreeBlk)) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(int32(iFreeBlk))+int32(2)))))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - return _sqlite3CorruptError(tls, int32(72118)) + return _sqlite3CorruptError(tls, int32(72507)) } iSize = uint16(iEnd - uint32(uint32(iStart))) iFreeBlk = uint16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= int32(int32(iStart)) { if iPtrEnd > int32(int32(iStart)) { - return _sqlite3CorruptError(tls, int32(72131)) + return _sqlite3CorruptError(tls, int32(72520)) } nFrag = Tu8(int32(nFrag) + (int32(int32(iStart)) - iPtrEnd)) iSize = uint16(iEnd - uint32(uint32(iPtr))) @@ -122337,7 +122569,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) } } if int32(int32(nFrag)) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(int32(hdr))+int32(7))))) { - return _sqlite3CorruptError(tls, int32(72137)) + return _sqlite3CorruptError(tls, int32(72526)) } p2 = data + uintptr(int32(int32(hdr))+int32(7)) *(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - int32(int32(nFrag))) @@ -122354,10 +122586,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart Tu16, iSize Tu16) (r int32) ** so just extend the cell content area rather than create another ** freelist entry */ if int32(int32(iStart)) < int32(int32(x)) { - return _sqlite3CorruptError(tls, int32(72151)) + return _sqlite3CorruptError(tls, int32(72540)) } if int32(int32(iPtr)) != int32(int32(hdr))+int32(1) { - return _sqlite3CorruptError(tls, int32(72152)) + return _sqlite3CorruptError(tls, int32(72541)) } *(*uint8)(unsafe.Pointer(data + uintptr(int32(int32(hdr))+int32(1)))) = uint8(int32(iFreeBlk) >> libc.Int32FromInt32(8)) *(*uint8)(unsafe.Pointer(data + uintptr(int32(int32(hdr))+int32(1)) + 1)) = uint8(iFreeBlk) @@ -122418,7 +122650,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72206)) + return _sqlite3CorruptError(tls, int32(72595)) } } } else { @@ -122444,7 +122676,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0) (*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr) (*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex) - return _sqlite3CorruptError(tls, int32(72230)) + return _sqlite3CorruptError(tls, int32(72619)) } } } @@ -122483,12 +122715,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will ** always be at least one cell before the first freeblock. */ - return _sqlite3CorruptError(tls, int32(72281)) + return _sqlite3CorruptError(tls, int32(72670)) } for int32(1) != 0 { if pc > iCellLast { /* Freeblock off the end of the page */ - return _sqlite3CorruptError(tls, int32(72286)) + return _sqlite3CorruptError(tls, int32(72675)) } next = uint32(int32(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) { /* Freeblock not in ascending order */ - return _sqlite3CorruptError(tls, int32(72296)) + return _sqlite3CorruptError(tls, int32(72685)) } if uint32(uint32(pc))+size > uint32(uint32(usableSize)) { /* Last freeblock extends past page end */ - return _sqlite3CorruptError(tls, int32(72300)) + return _sqlite3CorruptError(tls, int32(72689)) } } /* At this point, nFree contains the sum of the offset to the start @@ -122515,7 +122747,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) { ** area, according to the page header, lies within the page. */ if nFree > usableSize || nFree < iCellFirst { - return _sqlite3CorruptError(tls, int32(72312)) + return _sqlite3CorruptError(tls, int32(72701)) } (*TMemPage)(unsafe.Pointer(pPage)).FnFree = int32(uint16(nFree - iCellFirst)) return SQLITE_OK @@ -122546,11 +122778,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) { } pc = int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))) if pc < iCellFirst || pc > iCellLast { - return _sqlite3CorruptError(tls, int32(72343)) + return _sqlite3CorruptError(tls, int32(72732)) } sz = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc))) if pc+sz > usableSize { - return _sqlite3CorruptError(tls, int32(72348)) + return _sqlite3CorruptError(tls, int32(72737)) } goto _1 _1: @@ -122579,7 +122811,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating ** the b-tree page type. */ if _decodeFlags(tls, pPage, int32(*(*Tu8)(unsafe.Pointer(data)))) != 0 { - return _sqlite3CorruptError(tls, int32(72380)) + return _sqlite3CorruptError(tls, int32(72769)) } (*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1)) (*TMemPage)(unsafe.Pointer(pPage)).FnOverflow = uint8(0) @@ -122592,7 +122824,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FnCell = uint16(int32(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) { /* To many cells for a single page. The page must be corrupt */ - return _sqlite3CorruptError(tls, int32(72394)) + return _sqlite3CorruptError(tls, int32(72783)) } /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only ** possible for a root page of a table that contains no rows) then the @@ -122745,7 +122977,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe _, _ = pPage, rc if pgno > _btreePagecount(tls, pBt) { *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72537)) + return _sqlite3CorruptError(tls, int32(72926)) } rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly) if rc != 0 { @@ -122807,7 +123039,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) { _releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage))) *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) - return _sqlite3CorruptError(tls, int32(72609)) + return _sqlite3CorruptError(tls, int32(72998)) } (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0) } else { @@ -122895,7 +123127,7 @@ func _sqlite3BtreeOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr, db uintpt /* Set the variable isMemdb to true for an in-memory database, or ** false for a file-based database. */ - isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+5499) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) + isMemdb = libc.BoolInt32(zFilename != 0 && libc.Xstrcmp(tls, zFilename, __ccgo_ts+5563) == 0 || isTempDb != 0 && _sqlite3TempInMemory(tls, db) != 0 || vfsFlags&int32(SQLITE_OPEN_MEMORY) != 0) /* flags fit in 8 bits */ /* Only a BTREE_SINGLE database can be BTREE_UNORDERED */ /* A BTREE_SINGLE database is always a temporary and/or ephemeral */ @@ -123681,7 +123913,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { ** The original design allowed these amounts to vary, but as of ** version 3.6.0, we require them to be fixed. */ - if libc.Xmemcmp(tls, page1+21, __ccgo_ts+5508, uint64(3)) != 0 { + if libc.Xmemcmp(tls, page1+21, __ccgo_ts+5572, uint64(3)) != 0 { goto page1_init_failed } /* EVIDENCE-OF: R-51873-39618 The page size for a database file is @@ -123719,7 +123951,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) { } if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) { if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 { - rc = _sqlite3CorruptError(tls, int32(73547)) + rc = _sqlite3CorruptError(tls, int32(73936)) goto page1_init_failed } else { nPage = *(*Tu32)(unsafe.Pointer(bp + 8)) @@ -124160,7 +124392,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT if int32(int32(eType)) == int32(PTRMAP_OVERFLOW2) { /* The pointer is always the first 4 bytes of the page in this case. */ if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom { - return _sqlite3CorruptError(tls, int32(73995)) + return _sqlite3CorruptError(tls, int32(74384)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo) } else { @@ -124184,7 +124416,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp) if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload { if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74014)) + return _sqlite3CorruptError(tls, int32(74403)) } if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) { _sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo) @@ -124193,7 +124425,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } } else { if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) { - return _sqlite3CorruptError(tls, int32(74023)) + return _sqlite3CorruptError(tls, int32(74412)) } if _sqlite3Get4byte(tls, pCell) == iFrom { _sqlite3Put4byte(tls, pCell, iTo) @@ -124207,7 +124439,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT } if i == nCell { if int32(int32(eType)) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom { - return _sqlite3CorruptError(tls, int32(74035)) + return _sqlite3CorruptError(tls, int32(74424)) } _sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo) } @@ -124237,7 +124469,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP iDbPage = (*TMemPage)(unsafe.Pointer(pDbPage)).Fpgno pPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager if iDbPage < uint32(3) { - return _sqlite3CorruptError(tls, int32(74070)) + return _sqlite3CorruptError(tls, int32(74459)) } /* Move page iDbPage from its current location to page number iFreePage */ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit) @@ -124333,7 +124565,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom return rc } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) { - return _sqlite3CorruptError(tls, int32(74168)) + return _sqlite3CorruptError(tls, int32(74557)) } if int32(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) { if bCommit == 0 { @@ -124371,7 +124603,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) - return _sqlite3CorruptError(tls, int32(74220)) + return _sqlite3CorruptError(tls, int32(74609)) } } rc = _relocatePage(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*Tu8)(unsafe.Pointer(bp)), *(*TPgno)(unsafe.Pointer(bp + 4)), *(*TPgno)(unsafe.Pointer(bp + 24)), bCommit) @@ -124438,7 +124670,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) { nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) nFin = _finalDbSize(tls, pBt, nOrig, nFree) if nOrig < nFin || nFree >= nOrig { - rc = _sqlite3CorruptError(tls, int32(74288)) + rc = _sqlite3CorruptError(tls, int32(74677)) } else { if nFree > uint32(0) { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -124481,7 +124713,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { ** is either a pointer-map page or the pending-byte page. If one ** is encountered, this indicates corruption. */ - return _sqlite3CorruptError(tls, int32(74339)) + return _sqlite3CorruptError(tls, int32(74728)) } nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36) db = (*TBtree)(unsafe.Pointer(p)).Fdb @@ -124511,7 +124743,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) { } nFin = _finalDbSize(tls, pBt, nOrig, nVac) if nFin > nOrig { - return _sqlite3CorruptError(tls, int32(74366)) + return _sqlite3CorruptError(tls, int32(74755)) } if nFin < nOrig { rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0)) @@ -124977,7 +125209,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo /* Assert that the caller has opened the required transaction. */ if iTable <= uint32(1) { if iTable < uint32(1) { - return _sqlite3CorruptError(tls, int32(74830)) + return _sqlite3CorruptError(tls, int32(75219)) } else { if _btreePagecount(tls, pBt) == uint32(0) { iTable = uint32(0) @@ -125369,7 +125601,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin pBt = (*TBtCursor)(unsafe.Pointer(pCur)).FpBt /* Btree this cursor belongs to */ pBufStart = pBuf /* Start of original out buffer */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(75235)) + return _sqlite3CorruptError(tls, int32(75624)) } _getCellInfo(tls, pCur) aPayload = (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload @@ -125379,7 +125611,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ** but is recast into its current form to avoid integer overflow problems */ - return _sqlite3CorruptError(tls, int32(75250)) + return _sqlite3CorruptError(tls, int32(75639)) } /* Check if data must be read/written to/from the btree page itself. */ if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) { @@ -125407,7 +125639,11 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin if int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurFlags)&int32(BTCF_ValidOvfl) == 0 { nOvfl = int32(((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnPayload - uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) + ovflSize - uint32(1)) / ovflSize) if (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow == uintptr(0) || nOvfl*libc.Int32FromInt64(4) > _sqlite3MallocSize(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow) { - aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + if _sqlite3FaultSim(tls, int32(413)) != 0 { + aNew = uintptr(0) + } else { + aNew = _sqlite3Realloc(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow, uint64(nOvfl*int32(2))*uint64(4)) + } if aNew == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -125418,6 +125654,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin p1 = pCur + 1 *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(BTCF_ValidOvfl)) } else { + /* Sanity check the validity of the overflow page cache */ /* If the overflow page-list cache has been allocated and the ** entry for the first required overflow page is valid, skip ** directly to it. @@ -125431,7 +125668,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin for *(*TPgno)(unsafe.Pointer(bp)) != 0 { /* If required, populate the overflow page-list cache. */ if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(75312)) + return _sqlite3CorruptError(tls, int32(75710)) } *(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp)) if offset >= ovflSize { @@ -125505,7 +125742,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin } if rc == SQLITE_OK && amt > uint32(0) { /* Overflow chain ends prematurely */ - return _sqlite3CorruptError(tls, int32(75396)) + return _sqlite3CorruptError(tls, int32(75794)) } return rc } @@ -125640,7 +125877,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { var v3, p1 uintptr _, _, _, _ = rc, v2, v3, p1 if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(75534)) + return _sqlite3CorruptError(tls, int32(75932)) } (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) p1 = pCur + 1 @@ -125652,7 +125889,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) { rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, newPgno, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(75548)) + rc = _sqlite3CorruptError(tls, int32(75946)) } if rc != 0 { v3 = pCur + 84 @@ -125768,7 +126005,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) { ** in such a way that page pRoot is linked into a second b-tree table ** (or the freelist). */ if int32((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) { - return _sqlite3CorruptError(tls, int32(75683)) + return _sqlite3CorruptError(tls, int32(76081)) } goto skip_init skip_init: @@ -125782,7 +126019,7 @@ skip_init: } else { if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) { if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) { - return _sqlite3CorruptError(tls, int32(75695)) + return _sqlite3CorruptError(tls, int32(76093)) } subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8))) (*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID) @@ -126016,7 +126253,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh break } if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(75937)) + return _sqlite3CorruptError(tls, int32(76342)) } } } @@ -126220,7 +126457,7 @@ func _sqlite3BtreeIndexMoveto(tls *libc.TLS, pCur uintptr, pIdxKey uintptr, pRes p3 = pCur + 1 *(*Tu8)(unsafe.Pointer(p3)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p3))) & ^libc.Int32FromInt32(BTCF_ValidOvfl)) if !((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76133)) + return _sqlite3CorruptError(tls, int32(76538)) } goto bypass_moveto_root /* Start search on the current page */ } @@ -126283,7 +126520,7 @@ bypass_moveto_root: /* Invalid key size: 0x80 0x80 0x01 */ /* Minimum legal index key size */ if nCell < int32(2) || uint32(uint32(nCell))/(*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage { - rc = _sqlite3CorruptError(tls, int32(76220)) + rc = _sqlite3CorruptError(tls, int32(76625)) goto moveto_index_finish } pCellKey = _sqlite3Malloc(tls, uint64(nCell+nOverrun)) @@ -126314,7 +126551,7 @@ bypass_moveto_root: rc = SQLITE_OK (*TBtCursor)(unsafe.Pointer(pCur)).Fix = uint16(uint16(idx)) if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 { - rc = _sqlite3CorruptError(tls, int32(76252)) + rc = _sqlite3CorruptError(tls, int32(76657)) } goto moveto_index_finish } @@ -126347,7 +126584,7 @@ bypass_moveto_root: p9 = pCur + 1 *(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl))) if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) { - return _sqlite3CorruptError(tls, int32(76283)) + return _sqlite3CorruptError(tls, int32(76688)) } *(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = uint16(uint16(lwr)) *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage @@ -126356,7 +126593,7 @@ bypass_moveto_root: rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags)) if rc == SQLITE_OK && (int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != int32((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) { _releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage) - rc = _sqlite3CorruptError(tls, int32(76294)) + rc = _sqlite3CorruptError(tls, int32(76699)) } if rc != 0 { v11 = pCur + 84 @@ -126405,11 +126642,11 @@ func _sqlite3BtreeRowCountEst(tls *libc.TLS, pCur uintptr) (r Ti64) { var i Tu8 var n Ti64 _, _ = i, n - /* Currently this interface is only called by the OP_IfSmaller - ** opcode, and it that case the cursor will always be valid and - ** will always point to a leaf node. */ + /* Currently this interface is only called by the OP_IfSizeBetween + ** opcode and the OP_Count opcode with P3=1. In either case, + ** the cursor will always be valid unless the btree is empty. */ if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) != CURSOR_VALID { - return int64(-int32(1)) + return 0 } if int32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).Fleaf) == 0 { return int64(-int32(1)) @@ -126485,7 +126722,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76395)) + return _sqlite3CorruptError(tls, int32(76800)) } if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { @@ -126595,7 +126832,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) { (*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0) } if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) { - return _sqlite3CorruptError(tls, int32(76488)) + return _sqlite3CorruptError(tls, int32(76893)) } if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) { idx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) @@ -126683,7 +126920,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt ** stores the total number of pages on the freelist. */ n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36) if n >= mxPage { - return _sqlite3CorruptError(tls, int32(76578)) + return _sqlite3CorruptError(tls, int32(76983)) } if n > uint32(0) { searchList = uint8(0) /* If the free-list must be searched for 'nearby' */ @@ -126738,7 +126975,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt nSearch++ } if v2 || v1 > n { - rc = _sqlite3CorruptError(tls, int32(76634)) + rc = _sqlite3CorruptError(tls, int32(77039)) } else { rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0) } @@ -126764,7 +127001,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) { /* Value of k is out of range. Database corruption */ - rc = _sqlite3CorruptError(tls, int32(76663)) + rc = _sqlite3CorruptError(tls, int32(77068)) goto end_allocate_page } else { if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && int32(int32(eMode)) == int32(BTALLOC_LE)) { @@ -126791,7 +127028,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } else { iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8) if iNewTrunk > mxPage { - rc = _sqlite3CorruptError(tls, int32(76697)) + rc = _sqlite3CorruptError(tls, int32(77102)) goto end_allocate_page } rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0) @@ -126862,7 +127099,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt } iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4))) if iPage > mxPage || iPage < uint32(2) { - rc = _sqlite3CorruptError(tls, int32(76762)) + rc = _sqlite3CorruptError(tls, int32(77167)) goto end_allocate_page } if !(searchList != 0) || (iPage == nearby || iPage < nearby && int32(int32(eMode)) == int32(BTALLOC_LE)) { @@ -127000,7 +127237,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in iTrunk = uint32(0) /* Page number of free-list trunk page */ pPage1 = (*TBtShared)(unsafe.Pointer(pBt)).FpPage1 /* Initial number of pages on free-list */ if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage { - return _sqlite3CorruptError(tls, int32(76889)) + return _sqlite3CorruptError(tls, int32(77294)) } if pMemPage != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage @@ -127051,7 +127288,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */ iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32) if iTrunk > _btreePagecount(tls, pBt) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76936)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77341)) goto freepage_out } *(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0) @@ -127060,7 +127297,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in } nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4) if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) { - *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(76947)) + *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(77352)) goto freepage_out } if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) { @@ -127150,7 +127387,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp _, _, _, _, _, _, _, _ = nOvfl, ovflPageSize, ovflPgno, pBt, rc, v1, v2, v3 if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { /* Cell extends past end of page */ - return _sqlite3CorruptError(tls, int32(77036)) + return _sqlite3CorruptError(tls, int32(77441)) } ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4)) pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt @@ -127168,7 +127405,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp /* 0 is not a legal page number and page 1 cannot be an ** overflow page. Therefore if ovflPgno<2 or past the end of the ** file the database must be corrupt. */ - return _sqlite3CorruptError(tls, int32(77053)) + return _sqlite3CorruptError(tls, int32(77458)) } if nOvfl != 0 { rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp) @@ -127191,7 +127428,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp ** caller is iterating through or using in some other way, this ** can be problematic. */ - rc = _sqlite3CorruptError(tls, int32(77073)) + rc = _sqlite3CorruptError(tls, int32(77478)) } else { rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno) } @@ -127412,7 +127649,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) { pc = uint32(int32(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize { - *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77329)) + *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(77734)) return } rc = _freeSpace(tls, pPage, uint16(uint16(pc)), uint16(uint16(sz))) @@ -127806,12 +128043,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg sz = *(*Tu16)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FszCell + uintptr(i)*2)) if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) { if uint64(pCell+uintptr(sz)) > uint64(uint64(pEnd)) { - return _sqlite3CorruptError(tls, int32(77718)) + return _sqlite3CorruptError(tls, int32(78123)) } pCell = pTmp + uintptr(int64(int64(pCell))-int64(int64(aData))) } else { if uint64(pCell+uintptr(sz)) > uint64(uint64(pSrcEnd)) && uint64(pCell) < uint64(uint64(pSrcEnd)) { - return _sqlite3CorruptError(tls, int32(77723)) + return _sqlite3CorruptError(tls, int32(78128)) } } pData -= uintptr(sz) @@ -127819,7 +128056,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg *(*Tu8)(unsafe.Pointer(pCellptr + 1)) = uint8(int64(int64(pData)) - int64(int64(aData))) pCellptr += uintptr(2) if pData < pCellptr { - return _sqlite3CorruptError(tls, int32(77729)) + return _sqlite3CorruptError(tls, int32(78134)) } libc.Xmemmove(tls, pData, pCell, uint64(uint64(sz))) i++ @@ -127914,7 +128151,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr ** database. But they might for a corrupt database. Hence use memmove() ** since memcpy() sends SIGABORT with overlapping buffers on OpenBSD */ if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(uint64(pEnd)) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(uint64(pEnd)) { - _sqlite3CorruptError(tls, int32(77814)) + _sqlite3CorruptError(tls, int32(78219)) return int32(1) } libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(uint64(sz))) @@ -128062,7 +128299,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p if iOld < iNew { nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray) if nShift > nCell { - return _sqlite3CorruptError(tls, int32(77936)) + return _sqlite3CorruptError(tls, int32(78341)) } libc.Xmemmove(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), uint64(nCell*int32(2))) nCell -= nShift @@ -128133,7 +128370,7 @@ editpage_fail: ; /* Unable to edit this page. Rebuild it from scratch instead. */ if nNew < int32(1) { - return _sqlite3CorruptError(tls, int32(78010)) + return _sqlite3CorruptError(tls, int32(78415)) } _populateCellCache(tls, pCArray, iNew, nNew) return _rebuildPage(tls, pCArray, iNew, nNew, pPg) @@ -128178,7 +128415,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt _, _, _, _, _, _, _ = pBt, pOut, pStop, v1, v2, v3, v4 pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt /* Page number of pNew */ if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 { - return _sqlite3CorruptError(tls, int32(78050)) + return _sqlite3CorruptError(tls, int32(78455)) } /* dbfuzz001.test */ /* Allocate a new page. This page will become the right-sibling of ** pPage. Make the parent page writable, so that the new divider cell @@ -128539,7 +128776,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa ** table-interior, index-leaf, or index-interior). */ if int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78471)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78876)) goto balance_cleanup } /* Load b.apCell[] with pointers to all cells in pOld. If pOld @@ -128562,7 +128799,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa libc.Xmemset(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*uint64(limit+int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow))) if int32((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 { if limit < int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78495)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78900)) goto balance_cleanup } limit = int32(*(*Tu16)(unsafe.Pointer(pOld + 28))) @@ -128693,7 +128930,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa if i+int32(1) >= k { k = i + int32(2) if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78596)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79001)) goto balance_cleanup } (*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0 @@ -128736,7 +128973,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v10 = 0 } if cntNew[i] <= v10 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78629)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79034)) goto balance_cleanup } } @@ -128795,7 +129032,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa v15 = 0 } if cntNew[i-int32(1)] <= v15 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78673)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79078)) goto balance_cleanup } goto _11 @@ -128827,7 +129064,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) nNew++ if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78706)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79111)) } if *(*int32)(unsafe.Pointer(bp)) != 0 { goto balance_cleanup @@ -129057,7 +129294,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa } pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8)) if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(78906)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79311)) goto balance_cleanup } *(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno) @@ -129303,7 +129540,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) { break } if pOther != pCur && int32((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage { - return _sqlite3CorruptError(tls, int32(79138)) + return _sqlite3CorruptError(tls, int32(79543)) } goto _1 _1: @@ -129376,7 +129613,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) { /* The page being written is not a root page, and there is currently ** more than one reference to it. This only happens if the page is one ** of its own ancestor pages. Corruption. */ - rc = _sqlite3CorruptError(tls, int32(79198)) + rc = _sqlite3CorruptError(tls, int32(79603)) } else { pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8)) iIdx = int32(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2))) @@ -129535,7 +129772,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int return rc } if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 { - rc = _sqlite3CorruptError(tls, int32(79362)) + rc = _sqlite3CorruptError(tls, int32(79767)) } else { if uint32(uint32(iOffset))+ovflPageSize < uint32(uint32(nTotal)) { ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData) @@ -129566,7 +129803,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) { nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */ pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */ if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) { - return _sqlite3CorruptError(tls, int32(79390)) + return _sqlite3CorruptError(tls, int32(79795)) } if int32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal { /* The entire cell is local */ @@ -129651,7 +129888,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** Which can only happen if the SQLITE_NoSchemaError flag was set when ** the schema was loaded. This cannot be asserted though, as a user might ** set the flag, load the schema, and then unset the flag. */ - return _sqlite3CorruptError(tls, int32(79471)) + return _sqlite3CorruptError(tls, int32(79876)) } } /* Ensure that the cursor is not in the CURSOR_FAULT state and that it @@ -129743,7 +129980,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 { if int32((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) { /* ^^^^^--- due to the moveToRoot() call above */ - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79594)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79999)) } else { *(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage) } @@ -129779,7 +130016,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0) if *(*int32)(unsafe.Pointer(bp + 4)) == 0 { if idx >= int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79636)) + return _sqlite3CorruptError(tls, int32(80041)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -129809,10 +130046,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ /* clearCell never fails when nLocal==nPayload */ if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) { - return _sqlite3CorruptError(tls, int32(79663)) + return _sqlite3CorruptError(tls, int32(80068)) } if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79666)) + return _sqlite3CorruptError(tls, int32(80071)) } libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 8)))) return SQLITE_OK @@ -129930,7 +130167,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal) aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79768)) + return _sqlite3CorruptError(tls, int32(80173)) } nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) { @@ -129952,7 +130189,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T } if nRem > nIn { if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd { - return _sqlite3CorruptError(tls, int32(79793)) + return _sqlite3CorruptError(tls, int32(80198)) } ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn)) } @@ -130052,21 +130289,21 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { return *(*int32)(unsafe.Pointer(bp)) } } else { - return _sqlite3CorruptError(tls, int32(79889)) + return _sqlite3CorruptError(tls, int32(80294)) } } iCellDepth = int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) iCellIdx = int32((*TBtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage if int32((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx { - return _sqlite3CorruptError(tls, int32(79898)) + return _sqlite3CorruptError(tls, int32(80303)) } pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx)))))) if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 && _btreeComputeFreeSpace(tls, pPage) != 0 { - return _sqlite3CorruptError(tls, int32(79902)) + return _sqlite3CorruptError(tls, int32(80307)) } if pCell < (*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FnCell) { - return _sqlite3CorruptError(tls, int32(79905)) + return _sqlite3CorruptError(tls, int32(80310)) } /* If the BTREE_SAVEPOSITION bit is on, then the cursor position must ** be preserved following this delete operation. If the current delete @@ -130160,7 +130397,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) { } pCell = (*TMemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(int32(2)*(int32((*TMemPage)(unsafe.Pointer(pLeaf)).FnCell)-int32(1)))))))) if pCell < (*TMemPage)(unsafe.Pointer(pLeaf)).FaData+4 { - return _sqlite3CorruptError(tls, int32(79996)) + return _sqlite3CorruptError(tls, int32(80401)) } nCell = int32((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pLeaf)).FxCellSize})))(tls, pLeaf, pCell)) pTmp = (*TBtShared)(unsafe.Pointer(pBt)).FpTmpSpace @@ -130270,7 +130507,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags */ _sqlite3BtreeGetMeta(tls, p, int32(BTREE_LARGEST_ROOT_PAGE), bp+8) if *(*TPgno)(unsafe.Pointer(bp + 8)) > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80112)) + return _sqlite3CorruptError(tls, int32(80517)) } *(*TPgno)(unsafe.Pointer(bp + 8))++ /* The new root-page may not be allocated on a pointer-map page, or the @@ -130311,7 +130548,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags } *(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36) if int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || int32(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) { - *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80160)) + *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(80565)) } if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK { _releasePage(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -130392,14 +130629,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int var _ /* rc at bp+8 */ int32 _, _, _, _ = hdr, i, pCell, v2 if pgno > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80250)) + return _sqlite3CorruptError(tls, int32(80655)) } *(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0) if *(*int32)(unsafe.Pointer(bp + 8)) != 0 { return *(*int32)(unsafe.Pointer(bp + 8)) } if int32((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) { - *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80257)) + *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(80662)) goto cleardatabasepage_out } hdr = int32((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset) @@ -130536,7 +130773,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) pBt = (*TBtree)(unsafe.Pointer(p)).FpBt if iTable > _btreePagecount(tls, pBt) { - return _sqlite3CorruptError(tls, int32(80361)) + return _sqlite3CorruptError(tls, int32(80766)) } *(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, int32(int32(iTable)), uintptr(0)) if *(*int32)(unsafe.Pointer(bp)) != 0 { @@ -130801,7 +131038,7 @@ func _checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ ap = va if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+5512, int32(1)) + Xsqlite3_str_append(tls, pCheck+72, __ccgo_ts+5576, int32(1)) } if (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx != 0 { Xsqlite3_str_appendf(tls, pCheck+72, (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx, libc.VaList(bp+8, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv0, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1, (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv2)) @@ -130849,11 +131086,11 @@ func _checkRef(tls *libc.TLS, pCheck uintptr, iPage TPgno) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if iPage > (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnCkPage || iPage == uint32(0) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5514, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5578, libc.VaList(bp+8, iPage)) return int32(1) } if _getPageReferenced(tls, pCheck, iPage) != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5537, libc.VaList(bp+8, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5601, libc.VaList(bp+8, iPage)) return int32(1) } _setPageReferenced(tls, pCheck, iPage) @@ -130879,11 +131116,11 @@ func _checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild TPgno, eType Tu8, iParen if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< (*TBtShared)(unsafe.Pointer((*TIntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize/uint32(4)-uint32(2) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5667, libc.VaList(bp+16, iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5731, libc.VaList(bp+16, iPage)) N-- } else { i = 0 @@ -130955,11 +131192,11 @@ func _checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage TPgno, N } if N != 0 && nErrAtStart == (*TIntegrityCk)(unsafe.Pointer(pCheck)).FnErr { if isFreeList != 0 { - v2 = __ccgo_ts + 5706 + v2 = __ccgo_ts + 5770 } else { - v2 = __ccgo_ts + 5711 + v2 = __ccgo_ts + 5775 } - _checkAppendMsg(tls, pCheck, __ccgo_ts+5732, libc.VaList(bp+16, v2, expected-N, expected)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5796, libc.VaList(bp+16, v2, expected-N, expected)) } } @@ -131095,12 +131332,12 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr if _checkRef(tls, pCheck, iPage) != 0 { return 0 } - (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 5758 + (*TIntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = __ccgo_ts + 5822 (*TIntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage v1 = _btreeGetPage(tls, pBt, iPage, bp+8, 0) rc = v1 if v1 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5776, libc.VaList(bp+56, rc)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5840, libc.VaList(bp+56, rc)) if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)< usableSize-uint32(4) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5930, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) + _checkAppendMsg(tls, pCheck, __ccgo_ts+5994, libc.VaList(bp+56, pc, contentOffset, usableSize-uint32(4))) doCoverageCheck = 0 goto _4 } pCell = data + uintptr(pc) (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FxParseCell})))(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), pCell, bp+24) if pc+uint32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnSize) > usableSize { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5960, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+6024, 0) doCoverageCheck = 0 goto _4 } @@ -131182,7 +131422,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr v5 = libc.BoolInt32((*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey >= *(*Ti64)(unsafe.Pointer(bp))) } if v5 != 0 { - _checkAppendMsg(tls, pCheck, __ccgo_ts+5984, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+6048, libc.VaList(bp+56, (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey)) } *(*Ti64)(unsafe.Pointer(bp)) = (*(*TCellInfo)(unsafe.Pointer(bp + 24))).FnKey keyCanBeEqual = 0 /* Only the first key on the page may ==maxKey */ @@ -131205,7 +131445,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr d2 = _checkTreePage(tls, pCheck, uint32(uint32(pgno)), bp, *(*Ti64)(unsafe.Pointer(bp))) keyCanBeEqual = 0 if d2 != depth { - _checkAppendMsg(tls, pCheck, __ccgo_ts+6008, 0) + _checkAppendMsg(tls, pCheck, __ccgo_ts+6072, 0) depth = d2 } } else { @@ -131282,7 +131522,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr prev = contentOffset - uint32(1) /* Implied first min-heap entry */ for _btreeHeapPull(tls, heap, bp+16) != 0 { if prev&uint32(0xffff) >= *(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+6033, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+6097, libc.VaList(bp+56, *(*Tu32)(unsafe.Pointer(bp + 16))>>int32(16), iPage)) break } else { nFrag = int32(uint32(nFrag) + (*(*Tu32)(unsafe.Pointer(bp + 16))>>libc.Int32FromInt32(16) - prev&libc.Uint32FromInt32(0xffff) - libc.Uint32FromInt32(1))) @@ -131296,7 +131536,7 @@ func _checkTreePage(tls *libc.TLS, pCheck uintptr, iPage TPgno, piMinKey uintptr ** number of fragmented free bytes within the cell content area. */ if *(*Tu32)(unsafe.Pointer(heap)) == uint32(0) && nFrag != int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) { - _checkAppendMsg(tls, pCheck, __ccgo_ts+6070, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) + _checkAppendMsg(tls, pCheck, __ccgo_ts+6134, libc.VaList(bp+56, nFrag, int32(*(*Tu8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))), iPage)) } } goto end_of_check @@ -131336,16 +131576,16 @@ end_of_check: // ** the unverified btrees. Except, if aRoot[1] is 1, then the freelist // ** checks are still performed. // */ -func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { - bp := tls.Alloc(256) - defer tls.Free(256) +func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, aCnt uintptr, nRoot int32, mxErr int32, pnErr uintptr, pzOut uintptr) (r int32) { + bp := tls.Alloc(272) + defer tls.Free(272) var bCkFreelist, bPartial int32 var i, mx, mxInHdr TPgno var pBt uintptr var savedDbFlags Tu64 - var _ /* notUsed at bp+224 */ Ti64 + var _ /* notUsed at bp+232 */ Ti64 var _ /* sCheck at bp+0 */ TIntegrityCk - var _ /* zErr at bp+120 */ [100]int8 + var _ /* zErr at bp+128 */ [100]int8 _, _, _, _, _, _, _ = bCkFreelist, bPartial, i, mx, mxInHdr, pBt, savedDbFlags pBt = (*TBtree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Tsqlite3)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags @@ -131359,13 +131599,13 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } } _sqlite3BtreeEnter(tls, p) - libc.Xmemset(tls, bp, 0, uint64(120)) + libc.Xmemset(tls, bp, 0, uint64(128)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fdb = db (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt = pBt (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage = _btreePagecount(tls, (*(*TIntegrityCk)(unsafe.Pointer(bp))).FpBt) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr = mxErr - _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+120, int32(100), int32(SQLITE_MAX_LENGTH)) + _sqlite3StrAccumInit(tls, bp+72, uintptr(0), bp+128, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FerrMsg.FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnCkPage == uint32(0) { goto integrity_ck_cleanup @@ -131387,7 +131627,7 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin /* Check the integrity of the freelist */ if bCkFreelist != 0 { - (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 6122 + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = __ccgo_ts + 6186 _checkList(tls, bp, int32(1), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32), _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)) (*(*TIntegrityCk)(unsafe.Pointer(bp))).FzPfx = uintptr(0) } @@ -131411,11 +131651,11 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin } mxInHdr = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+52) if mx != mxInHdr { - _checkAppendMsg(tls, bp, __ccgo_ts+6133, libc.VaList(bp+240, mx, mxInHdr)) + _checkAppendMsg(tls, bp, __ccgo_ts+6197, libc.VaList(bp+248, mx, mxInHdr)) } } else { if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64) != uint32(0) { - _checkAppendMsg(tls, bp, __ccgo_ts+6178, 0) + _checkAppendMsg(tls, bp, __ccgo_ts+6242, 0) } } } @@ -131425,14 +131665,15 @@ func _sqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uin if !(int32(int32(i)) < nRoot && (*(*TIntegrityCk)(unsafe.Pointer(bp))).FmxErr != 0) { break } - if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == uint32(0) { - goto _2 - } - if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { - _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + (*(*TIntegrityCk)(unsafe.Pointer(bp))).FnRow = 0 + if *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) != 0 { + if (*TBtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0 && *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > uint32(1) && !(bPartial != 0) { + _checkPtrmap(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + } + (*(*TIntegrityCk)(unsafe.Pointer(bp))).Fv0 = *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) + _checkTreePage(tls, bp, *(*TPgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+232, libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)< nRec || iHdr >= *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84303)) + iHdr = uint32(uint8(v1)) + if *(*Tu32)(unsafe.Pointer(bp + 4)) > uint32(uint32(nRec)) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84745)) } - iField = *(*int32)(unsafe.Pointer(bp + 4)) + iField = int64(*(*Tu32)(unsafe.Pointer(bp + 4))) i = 0 for { if !(i <= iCol) { @@ -134425,19 +134697,19 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC } else { v3 = int32(_sqlite3GetVarint32(tls, a+uintptr(iHdr), bp)) } - iHdr += int32(uint8(v3)) - if iHdr > *(*int32)(unsafe.Pointer(bp + 4)) { - return _sqlite3CorruptError(tls, int32(84309)) + iHdr += uint32(uint8(v3)) + if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) { + return _sqlite3CorruptError(tls, int32(84751)) } - szField = int32(_sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))) - iField += szField + szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp))) + iField += int64(int64(szField)) goto _2 _2: ; i++ } - if iField > nRec { - return _sqlite3CorruptError(tls, int32(84315)) + if iField > int64(int64(nRec)) { + return _sqlite3CorruptError(tls, int32(84757)) } if pMem == uintptr(0) { v4 = _sqlite3ValueNew(tls, db) @@ -134447,7 +134719,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC return int32(SQLITE_NOMEM) } } - _sqlite3VdbeSerialGet(tls, a+uintptr(iField-szField), *(*Tu32)(unsafe.Pointer(bp)), pMem) + _sqlite3VdbeSerialGet(tls, a+uintptr(iField-int64(int64(szField))), *(*Tu32)(unsafe.Pointer(bp)), pMem) (*TMem)(unsafe.Pointer(pMem)).Fenc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc return SQLITE_OK } @@ -135234,6 +135506,9 @@ func _resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* True because of tag-20230419-1 */ (*TOp)(unsafe.Pointer(pOp)).Fp2 = *(*int32)(unsafe.Pointer(aLabel + uintptr(^(*TOp)(unsafe.Pointer(pOp)).Fp2)*4)) } + /* OPFLG_JUMP opcodes never have P2==0, though OPFLG_JUMP0 opcodes + ** might */ + /* Jumps never go off the end of the bytecode array */ break } /* The mkopcodeh.tcl script has so arranged things that the only @@ -135746,7 +136021,7 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { switch int32((*TOp)(unsafe.Pointer(pOp)).Fp4type) { case -int32(8): pKeyInfo = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6390, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6454, libc.VaList(bp+40, int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) j = 0 for { if !(j < int32((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField)) { @@ -135756,66 +136031,66 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { if pColl != 0 { v2 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v2 = __ccgo_ts + 1658 + v2 = __ccgo_ts + 1672 } zColl = v2 - if libc.Xstrcmp(tls, zColl, __ccgo_ts+6395) == 0 { - zColl = __ccgo_ts + 6402 + if libc.Xstrcmp(tls, zColl, __ccgo_ts+6459) == 0 { + zColl = __ccgo_ts + 6466 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_DESC) != 0 { - v3 = __ccgo_ts + 6383 + v3 = __ccgo_ts + 6447 } else { - v3 = __ccgo_ts + 1658 + v3 = __ccgo_ts + 1672 } if int32(*(*Tu8)(unsafe.Pointer((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j))))&int32(KEYINFO_ORDER_BIGNULL) != 0 { - v4 = __ccgo_ts + 6404 + v4 = __ccgo_ts + 6468 } else { - v4 = __ccgo_ts + 1658 + v4 = __ccgo_ts + 1672 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6407, libc.VaList(bp+40, v3, v4, zColl)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6471, libc.VaList(bp+40, v3, v4, zColl)) goto _1 _1: ; j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+6415, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+6479, int32(1)) case -int32(2): pColl1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6431, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6495, libc.VaList(bp+40, (*TCollSeq)(unsafe.Pointer(pColl1)).FzName, _encnames[(*TCollSeq)(unsafe.Pointer(pColl1)).Fenc])) case -int32(7): pDef = *(*uintptr)(unsafe.Pointer(pOp + 16)) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6440, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6504, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef)).FnArg))) case -int32(15): pDef1 = (*Tsqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpFunc - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6440, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6504, libc.VaList(bp+40, (*TFuncDef)(unsafe.Pointer(pDef1)).FzName, int32((*TFuncDef)(unsafe.Pointer(pDef1)).FnArg))) case -int32(13): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1414, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1433, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(3): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6447, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6511, libc.VaList(bp+40, (*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) case -int32(12): - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1381, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1400, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))))) case -int32(10): pMem = *(*uintptr)(unsafe.Pointer(pOp + 16)) if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Str) != 0 { zP4 = (*TMem)(unsafe.Pointer(pMem)).Fz } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1414, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1433, libc.VaList(bp+40, *(*Ti64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1381, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+1400, libc.VaList(bp+40, *(*float64)(unsafe.Pointer(pMem)))) } else { if int32((*TMem)(unsafe.Pointer(pMem)).Fflags)&int32(MEM_Null) != 0 { - zP4 = __ccgo_ts + 1659 + zP4 = __ccgo_ts + 1673 } else { - zP4 = __ccgo_ts + 6450 + zP4 = __ccgo_ts + 6514 } } } } case -int32(11): pVtab = (*TVTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FpVtab - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6457, libc.VaList(bp+40, pVtab)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6521, libc.VaList(bp+40, pVtab)) case -int32(14): ai = *(*uintptr)(unsafe.Pointer(pOp + 16)) n = *(*Tu32)(unsafe.Pointer(ai)) /* The first element of an INTARRAY is always the @@ -135830,15 +136105,15 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } else { v6 = int32(',') } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6465, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+6529, libc.VaList(bp+40, v6, *(*Tu32)(unsafe.Pointer(ai + uintptr(i)*4)))) goto _5 _5: ; i++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+6470, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+6534, int32(1)) case -int32(4): - zP4 = __ccgo_ts + 6472 + zP4 = __ccgo_ts + 6536 case -int32(5): zP4 = (*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16)))).FzName default: @@ -135854,10 +136129,10 @@ func _sqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) (r uintptr) { } var _encnames = [4]uintptr{ - 0: __ccgo_ts + 6417, - 1: __ccgo_ts + 6419, - 2: __ccgo_ts + 6421, - 3: __ccgo_ts + 6426, + 0: __ccgo_ts + 6481, + 1: __ccgo_ts + 6483, + 2: __ccgo_ts + 6485, + 3: __ccgo_ts + 6490, } // C documentation @@ -136808,7 +137083,7 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { retryCount = 0 /* Select a super-journal file name */ nMainFile = _sqlite3Strlen30(tls, zMainFile) - zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+6480, libc.VaList(bp+24, 0, zMainFile, 0)) + zSuper = _sqlite3MPrintf(tls, db, __ccgo_ts+6544, libc.VaList(bp+24, 0, zMainFile, 0)) if zSuper == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -136816,18 +137091,18 @@ func _vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) (r int32) { for cond := true; cond; cond = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8)) != 0 { if retryCount != 0 { if retryCount > int32(100) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+6492, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+6556, libc.VaList(bp+24, zSuper)) _sqlite3OsDelete(tls, pVfs, zSuper, 0) break } else { if retryCount == int32(1) { - Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+6506, libc.VaList(bp+24, zSuper)) + Xsqlite3_log(tls, int32(SQLITE_FULL), __ccgo_ts+6570, libc.VaList(bp+24, zSuper)) } } } retryCount++ Xsqlite3_randomness(tls, int32(4), bp+12) - Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+6521, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) + Xsqlite3_snprintf(tls, int32(13), zSuper+uintptr(nMainFile), __ccgo_ts+6585, libc.VaList(bp+24, *(*Tu32)(unsafe.Pointer(bp + 12))>>libc.Int32FromInt32(8)&uint32(0xffffff), *(*Tu32)(unsafe.Pointer(bp + 12))&uint32(0xff))) /* The antipenultimate character of the super-journal name must ** be "9" to avoid name collisions when using 8+3 filenames. */ rc = _sqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+8) @@ -137058,7 +137333,7 @@ func _sqlite3VdbeCheckFk(tls *libc.TLS, p uintptr, deferred int32) (r int32) { if deferred != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredCons+(*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > 0 || !(deferred != 0) && (*TVdbe)(unsafe.Pointer(p)).FnFkConstraint > 0 { (*TVdbe)(unsafe.Pointer(p)).Frc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(3)< y { return +libc.Int32FromInt32(1) } - s = float64(float64(i)) - if s < r { + if float64(float64(i)) < r { v2 = -int32(1) } else { - v2 = libc.BoolInt32(s > r) + v2 = libc.BoolInt32(float64(float64(i)) > r) } return v2 } @@ -138367,7 +138641,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr i = 0 } if d1 > uint32(uint32(nKey1)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89131))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89580))) return 0 /* Corruption */ } /* Only needed by assert() statements */ @@ -138457,7 +138731,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr pKeyInfo = v4 } if v5 || int32((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89212))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89661))) return 0 /* Corruption */ } else { if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 { @@ -138492,7 +138766,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } else { nStr = int32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2)) if d1+uint32(uint32(nStr)) > uint32(uint32(nKey1)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89242))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89691))) return 0 /* Corruption */ } else { if int32((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 { @@ -138546,7 +138820,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr } idx1 += uint32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68))))) if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89293))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89742))) return 0 /* Corrupt index */ } } @@ -138678,7 +138952,7 @@ vrcs_restart: szHdr = int32(*(*Tu8)(unsafe.Pointer(aKey1))) nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2) if szHdr+nStr > nKey1 { - (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89456))) + (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = uint8(_sqlite3CorruptError(tls, int32(89905))) return 0 /* Corruption */ } if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr { @@ -138830,7 +139104,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr idx_rowid_corruption: ; _sqlite3VdbeMemReleaseMalloc(tls, bp+8) - return _sqlite3CorruptError(tls, int32(89614)) + return _sqlite3CorruptError(tls, int32(90063)) } // C documentation @@ -138861,7 +139135,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked ** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */ if nCellKey <= 0 || nCellKey > int64(0x7fffffff) { *(*int32)(unsafe.Pointer(res)) = 0 - return _sqlite3CorruptError(tls, int32(89647)) + return _sqlite3CorruptError(tls, int32(90096)) } _sqlite3VdbeMemInit(tls, bp, db, uint16(0)) rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, uint32(uint32(nCellKey)), bp) @@ -139012,15 +139286,15 @@ func _sqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) (r int32) { pOp = (*TVdbe)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe)).FaOp + uintptr((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FiOp)*24 if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fopcode) == int32(OP_PureFunc) { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_IsCheck) != 0 { - zContext = __ccgo_ts + 6564 + zContext = __ccgo_ts + 6628 } else { if int32((*TVdbeOp)(unsafe.Pointer(pOp)).Fp5)&int32(NC_GenCol) != 0 { - zContext = __ccgo_ts + 6583 + zContext = __ccgo_ts + 6647 } else { - zContext = __ccgo_ts + 6602 + zContext = __ccgo_ts + 6666 } } - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+6611, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+6675, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpFunc)).FzName, zContext)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) return 0 @@ -139194,7 +139468,7 @@ func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) (r int32) { // */ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { if (*TVdbe)(unsafe.Pointer(p)).Fdb == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+6647, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+6711, 0) return int32(1) } else { return 0 @@ -139204,7 +139478,7 @@ func _vdbeSafety(tls *libc.TLS, p uintptr) (r int32) { func _vdbeSafetyNotNull(tls *libc.TLS, p uintptr) (r int32) { if p == uintptr(0) { - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+6692, 0) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+6756, 0) return int32(1) } else { return _vdbeSafety(tls, p) @@ -139262,7 +139536,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt db = (*TVdbe)(unsafe.Pointer(v)).Fdb if _vdbeSafety(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90035)) + return _sqlite3MisuseError(tls, int32(90484)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 { @@ -139765,7 +140039,7 @@ func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { // /* Force an SQLITE_TOOBIG error. */ func Xsqlite3_result_error_toobig(tls *libc.TLS, pCtx uintptr) { (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FisError = int32(SQLITE_TOOBIG) - _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+6732, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) + _sqlite3VdbeMemSetStr(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut, __ccgo_ts+6796, int64(-int32(1)), uint8(SQLITE_UTF8), libc.UintptrFromInt32(0)) } // C documentation @@ -139966,7 +140240,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) { v = pStmt /* the prepared statement */ cnt = 0 /* The database connection */ if _vdbeSafetyNotNull(tls, v) != 0 { - return _sqlite3MisuseError(tls, int32(90829)) + return _sqlite3MisuseError(tls, int32(91278)) } db = (*TVdbe)(unsafe.Pointer(v)).Fdb Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) @@ -140096,7 +140370,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32 _, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1 *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) if pVal == uintptr(0) { - return _sqlite3MisuseError(tls, int32(90950)) + return _sqlite3MisuseError(tls, int32(91399)) } if int32((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) { return int32(SQLITE_ERROR) @@ -140556,18 +140830,18 @@ func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) (r int32) { // ** Column names appropriate for EXPLAIN or EXPLAIN QUERY PLAN. // */ var _azExplainColNames8 = [12]uintptr{ - 0: __ccgo_ts + 6755, - 1: __ccgo_ts + 6760, - 2: __ccgo_ts + 6767, - 3: __ccgo_ts + 6770, - 4: __ccgo_ts + 6773, - 5: __ccgo_ts + 6776, - 6: __ccgo_ts + 6779, - 7: __ccgo_ts + 6782, - 8: __ccgo_ts + 6790, - 9: __ccgo_ts + 6793, - 10: __ccgo_ts + 6800, - 11: __ccgo_ts + 6808, + 0: __ccgo_ts + 6819, + 1: __ccgo_ts + 6824, + 2: __ccgo_ts + 6831, + 3: __ccgo_ts + 6834, + 4: __ccgo_ts + 6837, + 5: __ccgo_ts + 6840, + 6: __ccgo_ts + 6843, + 7: __ccgo_ts + 6846, + 8: __ccgo_ts + 6854, + 9: __ccgo_ts + 6857, + 10: __ccgo_ts + 6864, + 11: __ccgo_ts + 6872, } var _azExplainColNames16data = [60]Tu16{ 0: uint16('a'), @@ -140811,14 +141085,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) { var v2 bool _, _, _ = pVar, v1, v2 if _vdbeSafetyNotNull(tls, p) != 0 { - return _sqlite3MisuseError(tls, int32(91554)) + return _sqlite3MisuseError(tls, int32(92003)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) if int32((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) { - _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(91558))) + _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(92007))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) - Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+6815, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) - return _sqlite3MisuseError(tls, int32(91562)) + Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+6879, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql)) + return _sqlite3MisuseError(tls, int32(92011)) } if i >= uint32((*TVdbe)(unsafe.Pointer(p)).FnVar) { _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE)) @@ -141382,7 +141656,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp /* Test that this call is being made from within an SQLITE_DELETE or ** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */ if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) { - rc = _sqlite3MisuseError(tls, int32(92098)) + rc = _sqlite3MisuseError(tls, int32(92547)) goto preupdate_old_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 { @@ -141512,7 +141786,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp rc = SQLITE_OK p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) { - rc = _sqlite3MisuseError(tls, int32(92221)) + rc = _sqlite3MisuseError(tls, int32(92670)) goto preupdate_new_out } if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) { @@ -141686,7 +141960,7 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr break } } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+6855, int32(3)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+6919, int32(3)) Xsqlite3_str_append(tls, bp+8, zStart, int32(int64(int64(zRawSql))-int64(int64(zStart)))) } } else { @@ -141718,13 +141992,13 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr nextIndex = v2 pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(*(*int32)(unsafe.Pointer(bp))-int32(1))*56 if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1659, int32(4)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+1673, int32(4)) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&(libc.Int32FromInt32(MEM_Int)|libc.Int32FromInt32(MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1414, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+1433, libc.VaList(bp+104, *(*Ti64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+6376, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+6440, libc.VaList(bp+104, *(*float64)(unsafe.Pointer(pVar)))) } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Str) != 0 { /* Number of bytes of the string text to include in output */ enc = (*Tsqlite3)(unsafe.Pointer(db)).Fenc @@ -141739,28 +142013,28 @@ func _sqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) (r uintptr pVar = bp + 40 } nOut = (*TMem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+6859, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+6923, libc.VaList(bp+104, nOut, (*TMem)(unsafe.Pointer(pVar)).Fz)) if int32(int32(enc)) != int32(SQLITE_UTF8) { _sqlite3VdbeMemRelease(tls, bp+40) } } else { if int32((*TMem)(unsafe.Pointer(pVar)).Fflags)&int32(MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+6866, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+6930, libc.VaList(bp+104, *(*int32)(unsafe.Pointer(&(*TMem)(unsafe.Pointer(pVar)).Fu)))) } else { /* Number of bytes of the blob to include in output */ - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+6879, int32(2)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+6943, int32(2)) nOut1 = (*TMem)(unsafe.Pointer(pVar)).Fn i = 0 for { if !(i < nOut1) { break } - Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+6882, libc.VaList(bp+104, int32(*(*int8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) + Xsqlite3_str_appendf(tls, bp+8, __ccgo_ts+6946, libc.VaList(bp+104, int32(*(*int8)(unsafe.Pointer((*TMem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&int32(0xff))) goto _3 _3: ; i++ } - Xsqlite3_str_append(tls, bp+8, __ccgo_ts+6887, int32(1)) + Xsqlite3_str_append(tls, bp+8, __ccgo_ts+6951, int32(1)) } } } @@ -142360,7 +142634,7 @@ var _azTypes = [5]uintptr{ 1: __ccgo_ts + 1154, 2: __ccgo_ts + 1159, 3: __ccgo_ts + 1137, - 4: __ccgo_ts + 1659, + 4: __ccgo_ts + 1673, } // C documentation @@ -142374,7 +142648,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { defer tls.Free(976) var aCol, aMem, aOffset, aOp, aPermute, aRoot, apArg, apArg1, db, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pnErr, t1, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v240, v241, v242, v250, v251, v252, v253, v255, v263, v278, v279, v286, v288, v297, v298, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 uintptr var affinity int8 - var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 + var alreadyExists, bRev, c, c1, c2, cnt, cnt1, desiredAutoCommit, eNew, eOld, eqOnly, exists, i, i1, i2, i4, i5, i6, i7, i8, i9, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iQuery, iRollback, iSavepoint, iSet, ii, ii1, isLegacy, isSchemaChange, isTransaction, len1, n, n1, n2, n4, nArg, nArg1, nByte2, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nRoot, nStep, nVarint, oc, opflags, p1, p11, p12, p13, p2, p21, pcDest, pcx, rc, res, res10, res11, res12, res21, savedAnalysisLimit, seekResult, v11, v21, wrFlag, v188, v191, v194, v197, v198, v205, v206, v207, v223, v224, v244, v245, v248, v249, v256, v260, v265, v266, v269, v270, v272, v273, v274, v275, v284, v287, v291 int32 var colCacheCtr, iAddr, iMap, iPrior, idx, len11, n3, p22, p23, serialType, serial_type, v213, v214, v216, v221, v222 Tu32 var encoding, isWriteLock, mTrace, op, p5, resetSchemaOnFault, vtabOnConflict, v225 Tu8 var flags1, flags11, flags2, flags3, flags31, newType, nullFlag, type1, type2, typeMask, v190 Tu16 @@ -142431,7 +142705,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { var _ /* z at bp+688 */ uintptr var _ /* zErr at bp+632 */ uintptr var _ /* zErr at bp+792 */ uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aCol, aMem, aOffset, aOp, aPermute, aRoot, affinity, alreadyExists, apArg, apArg1, bRev, c, c1, c2, cnt, cnt1, colCacheCtr, db, desiredAutoCommit, eNew, eOld, encoding, eqOnly, exists, flags1, flags11, flags2, flags3, flags31, h, h1, i, i1, i2, i3, i4, i5, i6, i7, i8, i9, iA, iAddr, iB1, iCompare, iCookie, iDb, iDb1, iDb2, iDb3, iKey, iKey1, iKey2, iMap, iPrior, iQuery, iRollback, iSavepoint, iSet, idx, ii, ii1, isLegacy, isSchemaChange, isTransaction, isWriteLock, len1, len11, mTrace, n, n1, n2, n3, n4, nArg, nArg1, nByte, nByte1, nByte2, nCellKey, nData, nField, nField1, nField2, nHdr, nKeyCol, nMem, nName, nProgressLimit, nRoot, nStep, nVarint, nVmStep, nZero, newMax, newType, nullFlag, oc, offset64, op, opflags, p1, p11, p12, p13, p2, p21, p22, p23, p5, pArgc, pBt, pBt1, pBt2, pBt3, pC, pC1, pC10, pC11, pC12, pC13, pC14, pC15, pC16, pC17, pC18, pC19, pC2, pC20, pC21, pC22, pC23, pC24, pC25, pC26, pC27, pC28, pC29, pC3, pC30, pC31, pC32, pC4, pC5, pC6, pC7, pC8, pC9, pCaller, pColl, pCrsr, pCrsr1, pCrsr2, pCrsr3, pCrsr4, pCrsr5, pCrsr6, pCrsr7, pCtx, pCtx1, pCtx2, pCur, pCur1, pCur2, pCur3, pCur4, pCur5, pCur6, pCx, pCx1, pCx2, pCx3, pData, pData0, pDb, pDb1, pDb2, pDb3, pDest, pDest1, pDest2, pEnd, pFrame, pFrame1, pFrame2, pFrame3, pFrame4, pIdxKey, pIn, pIn1, pIn2, pIn3, pKey, pKeyInfo, pKeyInfo1, pKeyInfo2, pLast, pMem, pMem1, pMem2, pMem3, pMem4, pModule, pModule1, pModule2, pModule3, pModule4, pModule5, pModule6, pName, pNew, pOp, pOrig, pOut, pPager, pProgram, pQuery, pRec, pReg, pRhs, pRt, pSavepoint, pSrc, pTab, pTab1, pTab2, pTab3, pTabCur, pTmp, pVCur1, pVTab, pVar, pVtab, pVtab1, pVtab2, pVtab3, pVtab4, pVtab5, pVtab6, pVtab7, pX, pX1, pcDest, pcx, pnErr, rA, rB, rc, res, res10, res11, res12, res21, resetSchemaOnFault, savedAnalysisLimit, seekResult, serialType, serial_type, sz, t1, type1, type2, typeMask, uu, v11, v21, vtabOnConflict, wrFlag, xAuth, z1, z2, z3, zAffinity, zAffinity1, zData, zDb, zDb1, zEndHdr, zFilename, zHdr, zHdr1, zName, zPayload, zSchema, zSql, zTab, zTrace, v188, v190, v191, v194, v197, v198, v204, v205, v206, v207, v211, v213, v214, v215, v216, v221, v222, v223, v224, v225, v240, v241, v242, v244, v245, v248, v249, v250, v251, v252, v253, v254, v255, v256, v260, v262, v263, v265, v266, v267, v269, v270, v271, v272, v273, v274, v275, v278, v279, v281, v282, v284, v286, v287, v288, v291, v297, v298, v299, p189, p192, p193, p196, p199, p208, p209, p212, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239, p293, p294, p295, p296 aOp = (*TVdbe)(unsafe.Pointer(p)).FaOp /* Copy of p->aOp */ pOp = aOp /* Current operation */ rc = SQLITE_OK /* Value to return */ @@ -142701,7 +142975,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto _109 case int32(OP_SeekEnd): goto _110 - case int32(OP_IfSmaller): + case int32(OP_IfSizeBetween): goto _111 case int32(OP_Sort): goto _112 @@ -142995,7 +143269,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: EndCoroutine */ _5: - ; /* jump */ + ; /* jump0 */ pOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 *(*Ti64)(unsafe.Pointer(pOut)) = int64((*TOp)(unsafe.Pointer(pOp)).Fp3 - int32(1)) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Int) @@ -143015,7 +143289,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** ** The instruction at the address in register P1 is a Yield. ** Jump to the P2 parameter of that Yield. - ** After the jump, register P1 becomes undefined. + ** After the jump, the value register P1 is left with a value + ** such that subsequent OP_Yields go back to the this same + ** OP_EndCoroutine instruction. ** ** See also: InitCoroutine */ @@ -143023,8 +143299,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ; pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 pCaller = aOp + uintptr(*(*Ti64)(unsafe.Pointer(pIn1)))*24 + *(*Ti64)(unsafe.Pointer(pIn1)) = int64(int32((int64(int64(pOp))-int64((*TVdbe)(unsafe.Pointer(p)).FaOp))/24) - int32(1)) pOp = aOp + uintptr((*TVdbeOp)(unsafe.Pointer(pCaller)).Fp2-int32(1))*24 - (*TMem)(unsafe.Pointer(pIn1)).Fflags = uint16(MEM_Undefined) goto _187 /* Opcode: Yield P1 P2 * * * ** @@ -143120,15 +143396,15 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TVdbe)(unsafe.Pointer(p)).FerrorAction = uint8((*TOp)(unsafe.Pointer(pOp)).Fp2) if (*TVdbe)(unsafe.Pointer(p)).Frc != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+6923, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) + _sqlite3VdbeError(tls, p, __ccgo_ts+6987, libc.VaList(bp+944, _azType[int32((*TOp)(unsafe.Pointer(pOp)).Fp5)-int32(1)])) if *(*uintptr)(unsafe.Pointer(pOp + 16)) != 0 { - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+6944, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+7008, libc.VaList(bp+944, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } } else { - _sqlite3VdbeError(tls, p, __ccgo_ts+4645, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+4709, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(pOp + 16)))) } pcx = int32((int64(int64(pOp)) - int64(int64(aOp))) / 24) - Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+6951, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*TOp)(unsafe.Pointer(pOp)).Fp1, __ccgo_ts+7015, libc.VaList(bp+944, pcx, (*TVdbe)(unsafe.Pointer(p)).FzSql, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg)) } rc = _sqlite3VdbeHalt(tls, p) if rc == int32(SQLITE_BUSY) { @@ -143319,13 +143595,10 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } (*TMem)(unsafe.Pointer(pOut)).Fenc = encoding goto _187 - /* Opcode: Variable P1 P2 * P4 * - ** Synopsis: r[P2]=parameter(P1,P4) + /* Opcode: Variable P1 P2 * * * + ** Synopsis: r[P2]=parameter(P1) ** ** Transfer the values of bound parameter P1 into register P2 - ** - ** If the parameter is named, then its name appears in P4. - ** The P4 value is used by sqlite3_bind_parameter_name(). */ _19: ; /* Value being transferred */ @@ -143848,7 +144121,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** raise an SQLITE_MISMATCH exception. */ _38: - ; /* jump, in1 */ + ; /* jump0, in1 */ pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 if int32((*TMem)(unsafe.Pointer(pIn1)).Fflags)&int32(MEM_Int) == 0 { _applyAffinity(tls, pIn1, int8(SQLITE_AFF_NUMERIC), encoding) @@ -144853,7 +145126,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24 goto _187 } else { - rc = _sqlite3CorruptError(tls, int32(95863)) + rc = _sqlite3CorruptError(tls, int32(96311)) goto abort_due_to_error } /* Opcode: TypeCheck P1 P2 P3 P4 * @@ -144956,7 +145229,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_type_error vdbe_type_error: ; - _sqlite3VdbeError(tls, p, __ccgo_ts+6975, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) + _sqlite3VdbeError(tls, p, __ccgo_ts+7039, libc.VaList(bp+944, _vdbeMemTypeName(tls, pIn1), _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(aCol + uintptr(i2)*16 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer(aCol + uintptr(i2)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(12)< 0 && p12 == int32(SAVEPOINT_RELEASE) { /* It is not possible to release (commit) a savepoint if there are ** active write statements. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+7089, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+7153, 0) rc = int32(SQLITE_BUSY) } else { /* Determine whether or not this is a transaction savepoint. If so, @@ -145552,7 +145825,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If this instruction implements a COMMIT and other VMs are writing ** return an error indicating that the other VMs must complete first. */ - _sqlite3VdbeError(tls, p, __ccgo_ts+7143, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+7207, 0) rc = int32(SQLITE_BUSY) goto abort_due_to_error } else { @@ -145582,12 +145855,12 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { goto vdbe_return } else { if !(desiredAutoCommit != 0) { - v250 = __ccgo_ts + 7198 + v250 = __ccgo_ts + 7262 } else { if iRollback != 0 { - v251 = __ccgo_ts + 7246 + v251 = __ccgo_ts + 7310 } else { - v251 = __ccgo_ts + 7289 + v251 = __ccgo_ts + 7353 } v250 = v251 } @@ -145679,7 +145952,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** SQL statement was prepared. */ _sqlite3DbFree(tls, db, (*TVdbe)(unsafe.Pointer(p)).FzErrMsg) - (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+7330) + (*TVdbe)(unsafe.Pointer(p)).FzErrMsg = _sqlite3DbStrDup(tls, db, __ccgo_ts+7394) /* If the schema-cookie from the database file matches the cookie ** stored with the in-memory representation of the schema, do ** not reload the schema from the database file. @@ -145997,7 +146270,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** form sqlite3BtreeInsert() where the length of the data is zero. */ /* Only used when number of columns is zero */ (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fn = 0 - (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1658 + (*(*TMem)(unsafe.Pointer(aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56))).Fz = __ccgo_ts + 1672 } pCx1 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) if pCx1 != 0 && !(int32(TBool(*(*uint8)(unsafe.Pointer(pCx1 + 8))&0x8>>3)) != 0) && (*TOp)(unsafe.Pointer(pOp)).Fp2 <= int32((*TVdbeCursor)(unsafe.Pointer(pCx1)).FnField) { @@ -146102,7 +146375,8 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** is the only cursor opcode that works with a pseudo-table. ** ** P3 is the number of fields in the records that will be stored by - ** the pseudo-table. + ** the pseudo-table. If P2 is 0 or negative then the pseudo-cursor + ** will return NULL for every column. */ _83: ; @@ -146220,11 +146494,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** See also: Found, NotFound, SeekGt, SeekGe, SeekLt */ _88: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _87: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _86: - ; /* jump, in3, group, ncycle */ + ; /* jump0, in3, group, ncycle */ _85: ; /* Only interested in == results */ pC5 = *(*uintptr)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -146785,7 +147059,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TVdbeCursor)(unsafe.Pointer(pC10)).FseekResult = *(*int32)(unsafe.Pointer(bp + 248)) if *(*int32)(unsafe.Pointer(bp + 248)) != 0 { if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 { - rc = _sqlite3CorruptError(tls, int32(98111)) + rc = _sqlite3CorruptError(tls, int32(98565)) } else { goto jump_to_p2 } @@ -147385,10 +147659,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } goto _187 - /* Opcode: IfSmaller P1 P2 P3 * * + /* Opcode: IfSizeBetween P1 P2 P3 P4 * ** - ** Estimate the number of rows in the table P1. Jump to P2 if that - ** estimate is less than approximately 2**(0.1*P3). + ** Let N be the approximate number of rows in the table or index + ** with cursor P1 and let X be 10*log2(N) if N is positive or -1 + ** if N is zero. + ** + ** Jump to P2 if X is in between P3 and P4, inclusive. */ _111: ; @@ -147398,12 +147675,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { goto abort_due_to_error } - if *(*int32)(unsafe.Pointer(bp + 396)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { + sz = int64(-int32(1)) /* -Infinity encoding */ + } else { sz = _sqlite3BtreeRowCountEst(tls, pCrsr5) - if sz >= 0 && int32(_sqlite3LogEst(tls, uint64(uint64(sz)))) < (*TOp)(unsafe.Pointer(pOp)).Fp3 { - *(*int32)(unsafe.Pointer(bp + 396)) = int32(1) - } + sz = int64(_sqlite3LogEst(tls, uint64(uint64(sz)))) } + *(*int32)(unsafe.Pointer(bp + 396)) = libc.BoolInt32(sz >= int64((*TOp)(unsafe.Pointer(pOp)).Fp3) && sz <= int64((*TOp)(unsafe.Pointer(pOp)).Fp4.Fi)) if *(*int32)(unsafe.Pointer(bp + 396)) != 0 { goto jump_to_p2 } @@ -147672,7 +147950,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } } else { if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) { - rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) { - rc = _sqlite3CorruptError(tls, int32(99398)) + rc = _sqlite3CorruptError(tls, int32(99862)) goto abort_due_to_error } _sqlite3VdbeMemInit(tls, bp+552, db, uint16(0)) @@ -147969,11 +148247,18 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } *(*Ti64)(unsafe.Pointer(pOut)) = int64(*(*TPgno)(unsafe.Pointer(bp + 624))) goto _187 - /* Opcode: SqlExec * * * P4 * + /* Opcode: SqlExec P1 P2 * P4 * ** ** Run the SQL statement or statements specified in the P4 string. - ** Disable Auth and Trace callbacks while those statements are running if - ** P1 is true. + ** + ** The P1 parameter is a bitmask of options: + ** + ** 0x0001 Disable Auth and Trace callbacks while the statements + ** in P4 are running. + ** + ** 0x0002 Set db->nAnalysisLimit to P2 while the statements in + ** P4 are running. + ** */ _132: ; @@ -147981,16 +148266,21 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*uintptr)(unsafe.Pointer(bp + 632)) = uintptr(0) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth mTrace = (*Tsqlite3)(unsafe.Pointer(db)).FmTrace - if (*TOp)(unsafe.Pointer(pOp)).Fp1 != 0 { + savedAnalysisLimit = (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0001) != 0 { (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(0) } + if (*TOp)(unsafe.Pointer(pOp)).Fp1&int32(0x0002) != 0 { + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (*TOp)(unsafe.Pointer(pOp)).Fp2 + } rc = Xsqlite3_exec(tls, db, *(*uintptr)(unsafe.Pointer(pOp + 16)), uintptr(0), uintptr(0), bp+632) (*Tsqlite3)(unsafe.Pointer(db)).FnSqlExec-- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth (*Tsqlite3)(unsafe.Pointer(db)).FmTrace = mTrace + (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = savedAnalysisLimit if *(*uintptr)(unsafe.Pointer(bp + 632)) != 0 || rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+4645, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) + _sqlite3VdbeError(tls, p, __ccgo_ts+4709, libc.VaList(bp+944, *(*uintptr)(unsafe.Pointer(bp + 632)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 632))) if rc == int32(SQLITE_NOMEM) { goto no_mem @@ -148021,13 +148311,13 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_SchemaChange) libc.SetBitFieldPtr16Uint32(p+200, libc.Uint32FromInt32(0), 0, 0x3) } else { - zSchema = __ccgo_ts + 7375 + zSchema = __ccgo_ts + 7439 (*(*TInitData)(unsafe.Pointer(bp + 640))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 640))).FiDb = iDb3 (*(*TInitData)(unsafe.Pointer(bp + 640))).FpzErrMsg = p + 168 (*(*TInitData)(unsafe.Pointer(bp + 640))).FmInitFlags = uint32(0) (*(*TInitData)(unsafe.Pointer(bp + 640))).FmxPage = _sqlite3BtreeLastPage(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+7389, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+7453, libc.VaList(bp+944, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb3)*32))).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16)))) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -148042,7 +148332,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* The OP_ParseSchema opcode with a non-NULL P4 argument should parse ** at least one SQL statement. Any less than that indicates that ** the sqlite_schema table is corrupt. */ - rc = _sqlite3CorruptError(tls, int32(99678)) + rc = _sqlite3CorruptError(tls, int32(100155)) } _sqlite3DbFreeNN(tls, db, zSql) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) @@ -148108,11 +148398,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* Opcode: IntegrityCk P1 P2 P3 P4 P5 ** ** Do an analysis of the currently open database. Store in - ** register P1 the text of an error message describing any problems. - ** If no problems are found, store a NULL in register P1. + ** register (P1+1) the text of an error message describing any problems. + ** If no problems are found, store a NULL in register (P1+1). ** - ** The register P3 contains one less than the maximum number of allowed errors. - ** At most reg(P3) errors will be reported. + ** The register (P1) contains one less than the maximum number of allowed + ** errors. At most reg(P1) errors will be reported. ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. ** @@ -148128,9 +148418,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ; /* Register keeping track of errors remaining */ nRoot = (*TOp)(unsafe.Pointer(pOp)).Fp2 aRoot = *(*uintptr)(unsafe.Pointer(pOp + 16)) - pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 - pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 - rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) + pnErr = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1)*56 + pIn1 = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp1+int32(1))*56 + rc = _sqlite3BtreeIntegrityCheck(tls, db, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp5)*32))).FpBt, aRoot+1*4, aMem+uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56, nRoot, int32(*(*Ti64)(unsafe.Pointer(pnErr)))+int32(1), bp+680, bp+688) _sqlite3VdbeMemSetNull(tls, pIn1) if *(*int32)(unsafe.Pointer(bp + 680)) == 0 { } else { @@ -148236,7 +148526,9 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { ** P1 contains the address of the memory cell that contains the first memory ** cell in an array of values used as arguments to the sub-program. P2 ** contains the address to jump to if the sub-program throws an IGNORE - ** exception using the RAISE() function. Register P3 contains the address + ** exception using the RAISE() function. P2 might be zero, if there is + ** no possibility that an IGNORE exception will be raised. + ** Register P3 contains the address ** of a memory cell in this (the parent) VM that is used to allocate the ** memory required by the sub-vdbe at runtime. ** @@ -148277,7 +148569,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } if (*TVdbe)(unsafe.Pointer(p)).FnFrame >= *(*int32)(unsafe.Pointer(db + 136 + 10*4)) { rc = int32(SQLITE_ERROR) - _sqlite3VdbeError(tls, p, __ccgo_ts+7432, 0) + _sqlite3VdbeError(tls, p, __ccgo_ts+7496, 0) goto abort_due_to_error } /* Register pRt is used to store the memory required to save the state @@ -148640,7 +148932,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { } /* IMP: R-24505-23230 */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+4645, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+4709, libc.VaList(bp+944, Xsqlite3_value_text(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FisError } if (*Tsqlite3_context)(unsafe.Pointer(pCtx1)).FskipFlag != 0 { @@ -148696,7 +148988,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3VdbeMemFinalize(tls, pMem3, *(*uintptr)(unsafe.Pointer(pOp + 16))) } if rc != 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+4645, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) + _sqlite3VdbeError(tls, p, __ccgo_ts+4709, libc.VaList(bp+944, Xsqlite3_value_text(tls, pMem3))) goto abort_due_to_error } _sqlite3VdbeChangeEncoding(tls, pMem3, int32(int32(encoding))) @@ -148775,11 +149067,11 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeRead > int32(1) { rc = int32(SQLITE_ERROR) if eNew == int32(PAGER_JOURNALMODE_WAL) { - v286 = __ccgo_ts + 7469 + v286 = __ccgo_ts + 7533 } else { - v286 = __ccgo_ts + 7474 + v286 = __ccgo_ts + 7538 } - _sqlite3VdbeError(tls, p, __ccgo_ts+7481, libc.VaList(bp+944, v286)) + _sqlite3VdbeError(tls, p, __ccgo_ts+7545, libc.VaList(bp+944, v286)) goto abort_due_to_error } else { if eOld == int32(PAGER_JOURNALMODE_WAL) { @@ -148932,7 +149224,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { if rc != 0 { if rc&int32(0xFF) == int32(SQLITE_LOCKED) { z1 = *(*uintptr)(unsafe.Pointer(pOp + 16)) - _sqlite3VdbeError(tls, p, __ccgo_ts+7533, libc.VaList(bp+944, z1)) + _sqlite3VdbeError(tls, p, __ccgo_ts+7597, libc.VaList(bp+944, z1)) } goto abort_due_to_error } @@ -149094,7 +149386,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { (*TValueList)(unsafe.Pointer(pRhs)).FpOut = aMem + uintptr((*TOp)(unsafe.Pointer(pOp)).Fp3)*56 pOut = _out2Prerelease(tls, p, pOp) (*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null) - _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+7562, __ccgo_fp(_sqlite3VdbeValueListFree)) + _sqlite3VdbeMemSetPointer(tls, pOut, pRhs, __ccgo_ts+7626, __ccgo_fp(_sqlite3VdbeValueListFree)) goto _187 /* Opcode: VFilter P1 P2 P3 P4 * ** Synopsis: iplan=r[P3] zplan='P4' @@ -149190,7 +149482,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_module)(unsafe.Pointer(pModule4)).FxColumn})))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 48)), bp+800, (*TOp)(unsafe.Pointer(pOp)).Fp2) _sqlite3VtabImportErrmsg(tls, p, pVtab4) if (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+4645, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) + _sqlite3VdbeError(tls, p, __ccgo_ts+4709, libc.VaList(bp+944, Xsqlite3_value_text(tls, pDest2))) rc = (*(*Tsqlite3_context)(unsafe.Pointer(bp + 800))).FisError } _sqlite3VdbeChangeEncoding(tls, pDest2, int32(int32(encoding))) @@ -149444,7 +149736,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { /* If the function returned an error, throw an exception */ if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0 { if (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0 { - _sqlite3VdbeError(tls, p, __ccgo_ts+4645, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) + _sqlite3VdbeError(tls, p, __ccgo_ts+4709, libc.VaList(bp+944, Xsqlite3_value_text(tls, pOut))) rc = (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FisError } _sqlite3VdbeDeleteAuxData(tls, db, p+296, (*Tsqlite3_context)(unsafe.Pointer(pCtx2)).FiOp, (*TOp)(unsafe.Pointer(pOp)).Fp1) @@ -149595,7 +149887,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) { Xsqlite3_free(tls, z2) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeExec > int32(1) { - z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+7572, libc.VaList(bp+944, zTrace)) + z3 = _sqlite3MPrintf(tls, db, __ccgo_ts+7636, libc.VaList(bp+944, zTrace)) (*(*func(*libc.TLS, Tu32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(&(*Tsqlite3)(unsafe.Pointer(db)).Ftrace))})))(tls, uint32(SQLITE_TRACE_STMT), (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) _sqlite3DbFree(tls, db, z3) } else { @@ -149667,15 +149959,15 @@ abort_due_to_error: rc = int32(SQLITE_NOMEM) } else { if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)<op on success */ - pTab = uintptr(0) /* A column of pTab */ - *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, cntTab, db, eNewExprOp, hCol, hCol1, hit, i, iCol, j, nSubquery, op, pCol, pEList, pItem, pMatch, pOrig, pSchema, pSrcList, pTab, pTopNC, pUpsert, zAs, zCol, zErr, v10, v5, v7, v8 /* Loop counters */ + cnt = 0 /* Number of matching column names */ + cntTab = 0 /* Number of potential "rowid" matches */ + nSubquery = 0 /* How many levels of subquery */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Use for looping over pSrcList items */ + pMatch = uintptr(0) /* The matching pSrcList item */ + pTopNC = pNC /* First namecontext in the list */ + pSchema = uintptr(0) /* Schema of the expression */ + eNewExprOp = int32(TK_COLUMN) /* New value for pExpr->op on success */ + pTab = uintptr(0) /* A column of pTab */ + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Matches for FULL JOIN .. USING */ + zCol = *(*uintptr)(unsafe.Pointer(pRight + 8)) /* the name context cannot be NULL. */ /* The Z in X.Y.Z cannot be NULL */ /* Initialize the node to no-match */ @@ -154560,7 +154853,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ; i++ } - if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+7894, zDb) == 0 { + if i == (*Tsqlite3)(unsafe.Pointer(db)).FnDb && _sqlite3StrICmp(tls, __ccgo_ts+7958, zDb) == 0 { /* This branch is taken when the main database has been renamed ** using SQLITE_DBCONFIG_MAINDBNAME. */ pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema @@ -154653,7 +154946,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TTable)(unsafe.Pointer(pTab)).FpSchema != pSchema { goto _2 } - if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+7899) != 0 { + if pSchema == uintptr(0) && libc.Xstrcmp(tls, zDb, __ccgo_ts+7963) != 0 { goto _2 } } @@ -154765,16 +155058,16 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != uintptr(0) { op = int32((*TParse)(unsafe.Pointer(pParse)).FeTriggerOp) if (*TParse)(unsafe.Pointer(pParse)).FbReturning != 0 { - if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0) { + if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UBaseReg) != 0 && (zTab == uintptr(0) || _sqlite3StrICmp(tls, zTab, (*TTable)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab)).FzName) == 0 || _isValidSchemaTableName(tls, zTab, (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab, uintptr(0)) != 0) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = libc.BoolInt32(op != int32(TK_DELETE)) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } } else { - if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+7901, zTab) == 0 { + if op != int32(TK_DELETE) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+7965, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(1) pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } else { - if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+7905, zTab) == 0 { + if op != int32(TK_INSERT) && zTab != 0 && _sqlite3StrICmp(tls, __ccgo_ts+7969, zTab) == 0 { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = 0 pTab = (*TParse)(unsafe.Pointer(pParse)).FpTriggerTab } @@ -154783,7 +155076,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_UUpsert) != 0 && zTab != uintptr(0) { pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16)) - if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+7909, zTab) == 0 { + if pUpsert != 0 && _sqlite3StrICmp(tls, __ccgo_ts+7973, zTab) == 0 { pTab = (*(*TSrcItem)(unsafe.Pointer((*TUpsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8))).FpTab (*TExpr)(unsafe.Pointer(pExpr)).FiTable = int32(EXCLUDED_TABLE_NUMBER) } @@ -154899,15 +155192,15 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol if int32(uint32(*(*uint16)(unsafe.Pointer(pEList + 8 + uintptr(j)*32 + 16 + 4))&0x3>>0)) == ENAME_NAME && Xsqlite3_stricmp(tls, zAs, zCol) == 0 { pOrig = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(j)*32))).FpExpr if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 && (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7918, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7982, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if (*TExpr)(unsafe.Pointer(pOrig)).Fflags&uint32(libc.Int32FromInt32(EP_Win)) != uint32(0) && ((*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 || pNC != pTopNC) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7949, libc.VaList(bp+24, zAs)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8013, libc.VaList(bp+24, zAs)) return int32(WRC_Abort) } if _sqlite3ExprVectorSize(tls, pOrig) != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7986, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8050, 0) return int32(WRC_Abort) } _resolveAlias(tls, pParse, pEList, j, pExpr, nSubquery) @@ -154959,7 +155252,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** a huge amount of legacy SQL that uses it. So for now, we just ** issue a warning. */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+8004, libc.VaList(bp+24, zCol)) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+8068, libc.VaList(bp+24, zCol)) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_STRING) libc.Xmemset(tls, pExpr+64, 0, uint64(8)) return int32(WRC_Prune) @@ -154988,7 +155281,7 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } _extendFJMatch(tls, pParse, bp, pMatch, (*TExpr)(unsafe.Pointer(pExpr)).FiColumn) (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_FUNCTION) - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8039 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 8103 *(*uintptr)(unsafe.Pointer(pExpr + 32)) = *(*uintptr)(unsafe.Pointer(bp)) cnt = int32(1) goto lookupname_end @@ -154998,18 +155291,22 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol } } if cnt == 0 { - v10 = __ccgo_ts + 8048 + v10 = __ccgo_ts + 8112 } else { - v10 = __ccgo_ts + 8063 + v10 = __ccgo_ts + 8127 } zErr = v10 if zDb != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8085, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8149, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) } else { if zTab != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8098, libc.VaList(bp+24, zErr, zTab, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8162, libc.VaList(bp+24, zErr, zTab, zCol)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8108, libc.VaList(bp+24, zErr, zCol)) + if cnt == 0 && (*TExpr)(unsafe.Pointer(pRight)).Fflags&uint32(libc.Int32FromInt32(EP_DblQuoted)) != uint32(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8172, libc.VaList(bp+24, zErr, zCol)) + } else { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8233, libc.VaList(bp+24, zErr, zCol)) + } } } _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -155039,8 +155336,12 @@ func _lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol ** If a generated column is referenced, set bits for every column ** of the table. */ - if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 && cnt == int32(1) && pMatch != uintptr(0) { - *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + if pMatch != 0 { + if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 { + *(*TBitmask)(unsafe.Pointer(pMatch + 80)) |= _sqlite3ExprColUsed(tls, pExpr) + } else { + libc.SetBitFieldPtr16Uint32(pMatch+60+4, libc.Uint32FromInt32(1), 14, 0x4000) + } } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(uint8(eNewExprOp)) goto lookupname_end @@ -155133,19 +155434,19 @@ func _notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pEx defer tls.Free(32) var zIn uintptr _ = zIn - zIn = __ccgo_ts + 8115 + zIn = __ccgo_ts + 8240 if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IdxExpr) != 0 { - zIn = __ccgo_ts + 8143 + zIn = __ccgo_ts + 8268 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_IsCheck) != 0 { - zIn = __ccgo_ts + 8161 + zIn = __ccgo_ts + 8286 } else { if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_GenCol) != 0 { - zIn = __ccgo_ts + 8179 + zIn = __ccgo_ts + 8304 } } } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8197, libc.VaList(bp+8, zMsg, zIn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8322, libc.VaList(bp+8, zMsg, zIn)) if pExpr != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } @@ -155193,8 +155494,8 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { var anRef [8]int32 var auth, i, is_agg, n, nLeft, nRef, nRight, no_such_func, rc, savedAllowFlags, wrong_num_args, v12, v4, v6, v7 int32 var enc Tu8 - var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zColumn, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zColumn, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 + var p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, zDb, zId, zTable, zType, v5, v8, p10, p11, p9 uintptr + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = anRef, auth, enc, i, is_agg, n, nLeft, nRef, nRight, no_such_func, p, pDef, pItem, pLeft, pList, pNC, pNC2, pParse, pRight, pRight1, pSel, pSrcList, pWin, rc, savedAllowFlags, wrong_num_args, zDb, zId, zTable, zType, v12, v4, v5, v6, v7, v8, p10, p11, p9 pNC = *(*uintptr)(unsafe.Pointer(pWalker + 40)) pParse = (*TNameContext)(unsafe.Pointer(pNC)).FpParse switch int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) { @@ -155313,11 +155614,11 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_ID) { zDb = uintptr(0) zTable = uintptr(0) - zColumn = *(*uintptr)(unsafe.Pointer(pExpr + 8)) + pRight = pExpr } else { pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+8217, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+8342, uintptr(0), pExpr) } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_ID) { @@ -155328,13 +155629,12 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { pRight = (*TExpr)(unsafe.Pointer(pRight)).FpRight } zTable = *(*uintptr)(unsafe.Pointer(pLeft + 8)) - zColumn = *(*uintptr)(unsafe.Pointer(pRight + 8)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameTokenRemap(tls, pParse, pExpr, pRight) _sqlite3RenameTokenRemap(tls, pParse, pExpr+64, pLeft) } } - return _lookupName(tls, pParse, zDb, zTable, zColumn, pNC, pExpr) + return _lookupName(tls, pParse, zDb, zTable, pRight, pNC, pExpr) /* Resolve function names */ fallthrough @@ -155373,7 +155673,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if n == int32(2) { (*TExpr)(unsafe.Pointer(pExpr)).FiTable = _exprProbability(tls, (*(*TExprList_item)(unsafe.Pointer(pList + 8 + 1*32))).FpExpr) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8234, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8359, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -155397,7 +155697,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { auth = _sqlite3AuthCheck(tls, pParse, int32(SQLITE_FUNCTION), uintptr(0), (*TFuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0)) if auth != SQLITE_OK { if auth == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8298, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8423, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) @@ -155418,7 +155718,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { ** in a CHECK constraint. SQLServer, MySQL, and PostgreSQL all ** all this. */ if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+8334, uintptr(0), pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+8459, uintptr(0), pExpr) } } else { /* Must fit in 8 bits */ @@ -155442,29 +155742,29 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { } if 0 == libc.BoolInt32(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME)) { if pDef != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8362, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8487, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowAgg) == 0 || is_agg != 0 && (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) || is_agg != 0 && pWin != 0 && (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_AllowWin) == 0 { if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 { - zType = __ccgo_ts + 8405 + zType = __ccgo_ts + 8530 } else { - zType = __ccgo_ts + 8412 + zType = __ccgo_ts + 8537 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8422, libc.VaList(bp+8, zType, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8547, libc.VaList(bp+8, zType, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else { if no_such_func != 0 && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8450, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8575, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if wrong_num_args != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8472, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8597, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8516, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8641, libc.VaList(bp+8, pExpr)) (*TNameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else { if is_agg == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { @@ -155488,7 +155788,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { *(*int32)(unsafe.Pointer(pNC + 40)) &= ^(libc.Int32FromInt32(NC_AllowWin) | v7) } } else { - if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).FpLeft != 0 { is_agg = int32(1) } } @@ -155549,18 +155849,19 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) { nRef = (*TNameContext)(unsafe.Pointer(pNC)).FnRef if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&int32(NC_SelfRef) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+8564, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+8689, pExpr, pExpr) } else { _sqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32))) } if nRef != (*TNameContext)(unsafe.Pointer(pNC)).FnRef { *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 4)) |= uint32(SF_Correlated) } *(*int32)(unsafe.Pointer(pNC + 40)) |= int32(NC_Subquery) } case int32(TK_VARIABLE): if (*TNameContext)(unsafe.Pointer(pNC)).FncFlags&(libc.Int32FromInt32(NC_IsCheck)|libc.Int32FromInt32(NC_PartIdx)|libc.Int32FromInt32(NC_IdxExpr)|libc.Int32FromInt32(NC_GenCol)) != 0 { - _notValidImpl(tls, pParse, pNC, __ccgo_ts+8575, pExpr, pExpr) + _notValidImpl(tls, pParse, pNC, __ccgo_ts+8700, pExpr, pExpr) } case int32(TK_IS): fallthrough @@ -155606,7 +155907,7 @@ func _resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { nRight = _sqlite3ExprVectorSize(tls, (*TExpr)(unsafe.Pointer(pExpr)).FpRight) } if nLeft != nRight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7986, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8050, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } break @@ -155731,7 +156032,7 @@ func _resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintpt func _resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32, pError uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8586, libc.VaList(bp+8, i, zType, mx)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8711, libc.VaList(bp+8, i, zType, mx)) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pError) } @@ -155766,7 +156067,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8642, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8767, 0) return int32(1) } i = 0 @@ -155804,7 +156105,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r } if _sqlite3ExprIsInteger(tls, pE, bp) != 0 { if *(*int32)(unsafe.Pointer(bp)) <= 0 || *(*int32)(unsafe.Pointer(bp)) > (*TExprList)(unsafe.Pointer(pEList)).FnExpr { - _resolveOutOfRangeError(tls, pParse, __ccgo_ts+8676, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) + _resolveOutOfRangeError(tls, pParse, __ccgo_ts+8801, i+int32(1), (*TExprList)(unsafe.Pointer(pEList)).FnExpr, pE) return int32(1) } } else { @@ -155874,7 +156175,7 @@ func _resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) (r break } if int32(uint32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8682, libc.VaList(bp+16, i+int32(1))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8807, libc.VaList(bp+16, i+int32(1))) return int32(1) } goto _3 @@ -155908,7 +156209,7 @@ func _sqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, return 0 } if (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8743, libc.VaList(bp+8, zType)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8868, libc.VaList(bp+8, zType)) return int32(1) } pEList = (*TSelect)(unsafe.Pointer(pSelect)).FpEList @@ -156154,6 +156455,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } pItem = (*TSelect)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*104 + /* Test of tag-20240424-1*/ if (*TSrcItem)(unsafe.Pointer(pItem)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselFlags&uint32(SF_Resolved) == uint32(0) { if pOuterNC != 0 { v3 = (*TNameContext)(unsafe.Pointer(pOuterNC)).FnRef @@ -156220,7 +156522,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { (*(*TNameContext)(unsafe.Pointer(bp))).FncFlags |= int32(NC_UEList) if (*TSelect)(unsafe.Pointer(p)).FpHaving != 0 { if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Aggregate) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8774, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8899, 0) return int32(WRC_Abort) } if _sqlite3ResolveExprNames(tls, bp, (*TSelect)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -156287,7 +156589,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** is not detected until much later, and so we need to go ahead and ** resolve those symbols on the incorrect ORDER BY for consistency. */ - if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+8676) != 0 { + if (*TSelect)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) && isCompound <= nCompound && _resolveOrderGroupBy(tls, bp, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+8801) != 0 { return int32(WRC_Abort) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -156298,7 +156600,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { ** the GROUP BY clause does not contain aggregate functions. */ if pGroupBy != 0 { - if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+8813) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { + if _resolveOrderGroupBy(tls, bp, p, pGroupBy, __ccgo_ts+8938) != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(WRC_Abort) } i = 0 @@ -156308,7 +156610,7 @@ func _resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { break } if (*TExpr)(unsafe.Pointer((*TExprList_item)(unsafe.Pointer(pItem2)).FpExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Agg)) != uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8819, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8944, 0) return int32(WRC_Abort) } goto _6 @@ -157289,7 +157591,7 @@ func _codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32 return } if nLeft != _sqlite3ExprVectorSize(tls, pRight) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7986, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8050, 0) return } if int32(int32(op)) == int32(TK_LE) { @@ -157368,7 +157670,7 @@ func _sqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) (r in rc = SQLITE_OK mxHeight = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4)) if nHeight > mxHeight { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8878, libc.VaList(bp+8, mxHeight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9003, libc.VaList(bp+8, mxHeight)) rc = int32(SQLITE_ERROR) } return rc @@ -157534,11 +157836,12 @@ func _sqlite3ExprSetErrorOffset(tls *libc.TLS, pExpr uintptr, iOfst int32) { // ** appear to be quoted. If the quotes were of the form "..." (double-quotes) // ** then the EP_DblQuoted flag is set on the expression node. // ** -// ** Special case: If op==TK_INTEGER and pToken points to a string that -// ** can be translated into a 32-bit integer, then the token is not -// ** stored in u.zToken. Instead, the integer values is written -// ** into u.iValue and the EP_IntValue flag is set. No extra storage +// ** Special case (tag-20240227-a): If op==TK_INTEGER and pToken points to +// ** a string that can be translated into a 32-bit integer, then the token is +// ** not stored in u.zToken. Instead, the integer values is written +// ** into u.iValue and the EP_IntValue flag is set. No extra storage // ** is allocated to hold the integer text and the dequote flag is ignored. +// ** See also tag-20240227-b. // */ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequote int32) (r uintptr) { bp := tls.Alloc(16) @@ -157551,7 +157854,7 @@ func _sqlite3ExprAlloc(tls *libc.TLS, db uintptr, op int32, pToken uintptr, dequ *(*int32)(unsafe.Pointer(bp)) = 0 if pToken != 0 { if op != int32(TK_INTEGER) || (*TToken)(unsafe.Pointer(pToken)).Fz == uintptr(0) || _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pToken)).Fz, bp) == 0 { - nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) + nExtra = int32((*TToken)(unsafe.Pointer(pToken)).Fn + uint32(1)) /* tag-20240227-a */ } } pNew = _sqlite3DbMallocRawNN(tls, db, uint64(72)+uint64(uint64(nExtra))) @@ -157712,11 +158015,11 @@ func _sqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList } if nExprElem != nElem { if nExprElem > int32(1) { - v2 = __ccgo_ts + 8926 + v2 = __ccgo_ts + 9051 } else { - v2 = __ccgo_ts + 1658 + v2 = __ccgo_ts + 1672 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8928, libc.VaList(bp+8, nExprElem, v2, nElem)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9053, libc.VaList(bp+8, nExprElem, v2, nElem)) break } pSel = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(pExpr + 32)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) @@ -157765,7 +158068,7 @@ func _sqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt if f&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_InnerON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { _sqlite3ExprDeferredDelete(tls, pParse, pLeft) _sqlite3ExprDeferredDelete(tls, pParse, pRight) - return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1732) + return _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1792) } else { return _sqlite3PExpr(tls, pParse, int32(TK_AND), pLeft, pRight) } @@ -157793,7 +158096,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u } *(*int32)(unsafe.Pointer(pNew + 52)) = int32(int64((*TToken)(unsafe.Pointer(pToken)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) if pList != 0 && (*TExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8972, libc.VaList(bp+8, pToken)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9097, libc.VaList(bp+8, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32)) = pList *(*Tu32)(unsafe.Pointer(pNew + 4)) |= uint32(libc.Int32FromInt32(EP_HasFunc)) @@ -157813,7 +158116,7 @@ func _sqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u func _sqlite3ExprOrderByAggregateError(tls *libc.TLS, pParse uintptr, p uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9006, libc.VaList(bp+8, p)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9131, libc.VaList(bp+8, p)) } // C documentation @@ -157884,7 +158187,7 @@ func _sqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD ** SQLITE_DBCONFIG_TRUSTED_SCHEMA is off (meaning ** that the schema is possibly tainted). */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9056, libc.VaList(bp+8, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9181, libc.VaList(bp+8, pExpr)) } } } @@ -157936,7 +158239,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n bOk = libc.BoolInt32(0 == _sqlite3Atoi64(tls, z+1, bp, int32(n-uint32(1)), uint8(SQLITE_UTF8))) } if bOk == 0 || *(*Ti64)(unsafe.Pointer(bp)) < int64(1) || *(*Ti64)(unsafe.Pointer(bp)) > int64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9076, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9201, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(db + 136 + 9*4)))) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) return } @@ -157969,7 +158272,7 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n } (*TExpr)(unsafe.Pointer(pExpr)).FiColumn = x if int32(int32(x)) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9119, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9244, 0) _sqlite3RecordErrorOffsetOfExpr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr) } } @@ -157980,11 +158283,13 @@ func _sqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n // ** Recursively delete an expression tree. // */ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { + var pLeft uintptr + _ = pLeft + goto exprDeleteRestart +exprDeleteRestart: + ; if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)|libc.Int32FromInt32(EP_Leaf)) != libc.Uint32FromInt32(0)) { /* The Expr.x union is never used at the same time as Expr.pRight */ - if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { - _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpLeft) - } if (*TExpr)(unsafe.Pointer(p)).FpRight != 0 { _sqlite3ExprDeleteNN(tls, db, (*TExpr)(unsafe.Pointer(p)).FpRight) } else { @@ -157997,6 +158302,17 @@ func _sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { } } } + if (*TExpr)(unsafe.Pointer(p)).FpLeft != 0 && int32((*TExpr)(unsafe.Pointer(p)).Fop) != int32(TK_SELECT_COLUMN) { + pLeft = (*TExpr)(unsafe.Pointer(p)).FpLeft + if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) && !((*TExpr)(unsafe.Pointer(pLeft)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { + /* Avoid unnecessary recursion on unary operators */ + _sqlite3DbNNFreeNN(tls, db, p) + p = pLeft + goto exprDeleteRestart + } else { + _sqlite3ExprDeleteNN(tls, db, pLeft) + } + } } if !((*TExpr)(unsafe.Pointer(p)).Fflags&uint32(libc.Int32FromInt32(EP_Static)) != libc.Uint32FromInt32(0)) { _sqlite3DbNNFreeNN(tls, db, p) @@ -158043,11 +158359,11 @@ func _sqlite3ClearOnOrUsing(tls *libc.TLS, db uintptr, p uintptr) { // ** // ** The pExpr might be deleted immediately on an OOM error. // ** -// ** The deferred delete is (currently) implemented by adding the -// ** pExpr to the pParse->pConstExpr list with a register number of 0. +// ** Return 0 if the delete was successfully deferred. Return non-zero +// ** if the delete happened immediately because of an OOM. // */ -func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) { - _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr) +func _sqlite3ExprDeferredDelete(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + return libc.BoolInt32(uintptr(0) == _sqlite3ParserAddCleanup(tls, pParse, __ccgo_fp(_sqlite3ExprDeleteGeneric), pExpr)) } // C documentation @@ -158536,16 +158852,20 @@ func _sqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) (r ui (*TSrcItem)(unsafe.Pointer(pNewItem)).FiCursor = (*TSrcItem)(unsafe.Pointer(pOldItem)).FiCursor (*TSrcItem)(unsafe.Pointer(pNewItem)).FaddrFillSub = (*TSrcItem)(unsafe.Pointer(pOldItem)).FaddrFillSub (*TSrcItem)(unsafe.Pointer(pNewItem)).FregReturn = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregReturn + (*TSrcItem)(unsafe.Pointer(pNewItem)).FregResult = (*TSrcItem)(unsafe.Pointer(pOldItem)).FregResult if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x2>>1)) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3DbStrDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88))) + } else { + if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { + *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) + } else { + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pNewItem)).Fu1)) = *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(pOldItem)).Fu1)) + } } (*TSrcItem)(unsafe.Pointer(pNewItem)).Fu2 = (*TSrcItem)(unsafe.Pointer(pOldItem)).Fu2 if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x100>>8)) != 0 { (*TCteUse)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pNewItem + 96)))).FnUse++ } - if int32(uint32(*(*uint16)(unsafe.Pointer(pNewItem + 60 + 4))&0x4>>2)) != 0 { - *(*uintptr)(unsafe.Pointer(pNewItem + 88)) = _sqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 88)), flags) - } v4 = (*TSrcItem)(unsafe.Pointer(pOldItem)).FpTab (*TSrcItem)(unsafe.Pointer(pNewItem)).FpTab = v4 pTab = v4 @@ -158807,7 +159127,7 @@ func _sqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, n = v2 } if v3 && (*TIdList)(unsafe.Pointer(pColumns)).FnId != v2 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9142, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9267, libc.VaList(bp+8, (*TIdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error } i = 0 @@ -158936,7 +159256,7 @@ func _sqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, _ = mx mx = *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4)) if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr > mx { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9172, libc.VaList(bp+8, zObject)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9297, libc.VaList(bp+8, zObject)) } } @@ -159034,10 +159354,10 @@ func _sqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) (r // ** anything else 0 // */ func _sqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) (r Tu32) { - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+9195) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+9320) == 0 { return uint32(EP_IsTrue) } - if _sqlite3StrICmp(tls, zIn, __ccgo_ts+9200) == 0 { + if _sqlite3StrICmp(tls, zIn, __ccgo_ts+9325) == 0 { return uint32(EP_IsFalse) } return uint32(0) @@ -159119,6 +159439,51 @@ func _sqlite3ExprSimplifiedAndOr(tls *libc.TLS, pExpr uintptr) (r uintptr) { return pExpr } +// C documentation +// +// /* +// ** pExpr is a TK_FUNCTION node. Try to determine whether or not the +// ** function is a constant function. A function is constant if all of +// ** the following are true: +// ** +// ** (1) It is a scalar function (not an aggregate or window function) +// ** (2) It has either the SQLITE_FUNC_CONSTANT or SQLITE_FUNC_SLOCHNG +// ** property. +// ** (3) All of its arguments are constants +// ** +// ** This routine sets pWalker->eCode to 0 if pExpr is not a constant. +// ** It makes no changes to pWalker->eCode if pExpr is constant. In +// ** every case, it returns WRC_Abort. +// ** +// ** Called as a service subroutine from exprNodeIsConstant(). +// */ +func _exprNodeIsConstantFunction(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef, pList, v1 uintptr + var n int32 + var v2 bool + _, _, _, _, _, _ = db, n, pDef, pList, v1, v2 /* The database */ + if v2 = (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_TokenOnly)) != uint32(0); !v2 { + v1 = *(*uintptr)(unsafe.Pointer(pExpr + 32)) + pList = v1 + } + if v2 || v1 == uintptr(0) { + n = 0 + } else { + n = (*TExprList)(unsafe.Pointer(pList)).FnExpr + _sqlite3WalkExprList(tls, pWalker, pList) + if int32((*TWalker)(unsafe.Pointer(pWalker)).FeCode) == 0 { + return int32(WRC_Abort) + } + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)|libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG)) == uint32(0) || (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) +} + // C documentation // // /* @@ -159166,8 +159531,12 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 } return WRC_Continue } else { - (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) - return int32(WRC_Abort) + if (*TWalker)(unsafe.Pointer(pWalker)).FpParse != 0 { + return _exprNodeIsConstantFunction(tls, pWalker, pExpr) + } else { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } } fallthrough case int32(TK_ID): @@ -159194,6 +159563,8 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 case int32(TK_REGISTER): fallthrough case int32(TK_DOT): + fallthrough + case int32(TK_RAISE): (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) return int32(WRC_Abort) case int32(TK_VARIABLE): @@ -159219,14 +159590,14 @@ func _exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32 return r } -func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32) { +func _exprIsConst(tls *libc.TLS, pParse uintptr, p uintptr, initFlag int32) (r int32) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* w at bp+0 */ TWalker (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(uint16(initFlag)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) - *(*int32)(unsafe.Pointer(bp + 40)) = iCur _sqlite3WalkExpr(tls, bp, p) return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } @@ -159240,9 +159611,15 @@ func _exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) (r int32 // ** For the purposes of this function, a double-quoted string (ex: "abc") // ** is considered a variable but a single-quoted string (ex: 'abc') is // ** a constant. +// ** +// ** The pParse parameter may be NULL. But if it is NULL, there is no way +// ** to determine if function calls are constant or not, and hence all +// ** function calls will be considered to be non-constant. If pParse is +// ** not NULL, then a function call might be constant, depending on the +// ** function and on its parameters. // */ -func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(1), 0) +func _sqlite3ExprIsConstant(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(1)) } // C documentation @@ -159260,8 +159637,24 @@ func _sqlite3ExprIsConstant(tls *libc.TLS, p uintptr) (r int32) { // ** can be added to the pParse->pConstExpr list and evaluated once when // ** the prepared statement starts up. See sqlite3ExprCodeRunJustOnce(). // */ -func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { - return _exprIsConst(tls, p, int32(2), 0) +func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { + return _exprIsConst(tls, pParse, p, int32(2)) +} + +// C documentation +// +// /* +// ** This routine examines sub-SELECT statements as an expression is being +// ** walked as part of sqlite3ExprIsTableConstant(). Sub-SELECTs are considered +// ** constant as long as they are uncorrelated - meaning that they do not +// ** contain any terms from outer contexts. +// */ +func _exprSelectWalkTableConstant(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + if (*TSelect)(unsafe.Pointer(pSelect)).FselFlags&uint32(SF_Correlated) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(0) + return int32(WRC_Abort) + } + return int32(WRC_Prune) } // C documentation @@ -159271,9 +159664,25 @@ func _sqlite3ExprIsConstantNotJoin(tls *libc.TLS, p uintptr) (r int32) { // ** for any single row of the table with cursor iCur. In other words, the // ** expression must not refer to any non-deterministic function nor any // ** table other than iCur. +// ** +// ** Consider uncorrelated subqueries to be constants if the bAllowSubq +// ** parameter is true. // */ -func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) { - return _exprIsConst(tls, p, int32(3), iCur) +func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32, bAllowSubq int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + (*(*TWalker)(unsafe.Pointer(bp))).FeCode = uint16(3) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = uintptr(0) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeIsConstant) + if bAllowSubq != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_exprSelectWalkTableConstant) + } else { + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkFail) + } + *(*int32)(unsafe.Pointer(bp + 40)) = iCur + _sqlite3WalkExpr(tls, bp, p) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) } // C documentation @@ -159293,7 +159702,10 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** // ** (1) pExpr cannot refer to any table other than pSrc->iCursor. // ** -// ** (2) pExpr cannot use subqueries or non-deterministic functions. +// ** (2a) pExpr cannot use subqueries unless the bAllowSubq parameter is +// ** true and the subquery is non-correlated +// ** +// ** (2b) pExpr cannot use non-deterministic functions. // ** // ** (3) pSrc cannot be part of the left operand for a RIGHT JOIN. // ** (Is there some way to relax this constraint?) @@ -159319,7 +159731,7 @@ func _sqlite3ExprIsTableConstant(tls *libc.TLS, p uintptr, iCur int32) (r int32) // ** which leads to incorrect answers. See also restriction (9) // ** on push-down. // */ -func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32) (r int32) { +func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList uintptr, iSrc int32, bAllowSubq int32) (r int32) { var jj int32 var pSrc uintptr _, _ = jj, pSrc @@ -159357,7 +159769,8 @@ func _sqlite3ExprIsSingleTableConstraint(tls *libc.TLS, pExpr uintptr, pSrcList jj++ } } - return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor) /* rules (1), (2) */ + /* Rules (1), (2a), and (2b) handled by the following: */ + return _sqlite3ExprIsTableConstant(tls, pExpr, (*TSrcItem)(unsafe.Pointer(pSrc)).FiCursor, bAllowSubq) } // C documentation @@ -159455,7 +159868,7 @@ func _sqlite3ExprIsConstantOrGroupBy(tls *libc.TLS, pParse uintptr, p uintptr, p // ** a constant. // */ func _sqlite3ExprIsConstantOrFunction(tls *libc.TLS, p uintptr, isInit Tu8) (r int32) { - return _exprIsConst(tls, p, int32(4)+int32(int32(isInit)), 0) + return _exprIsConst(tls, uintptr(0), p, int32(4)+int32(int32(isInit))) } // C documentation @@ -159594,13 +160007,13 @@ func _sqlite3ExprNeedsNoAffinityChange(tls *libc.TLS, p uintptr, aff int8) (r in // ** Return TRUE if the given string is a row-id column name. // */ func _sqlite3IsRowid(tls *libc.TLS, z uintptr) (r int32) { - if _sqlite3StrICmp(tls, z, __ccgo_ts+9206) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+9331) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+9214) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+9339) == 0 { return int32(1) } - if _sqlite3StrICmp(tls, z, __ccgo_ts+9220) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+9345) == 0 { return int32(1) } return 0 @@ -159618,9 +160031,9 @@ func _sqlite3RowidAlias(tls *libc.TLS, pTab uintptr) (r uintptr) { var iCol, ii int32 _, _, _ = azOpt, iCol, ii azOpt = [3]uintptr{ - 0: __ccgo_ts + 9206, - 1: __ccgo_ts + 9214, - 2: __ccgo_ts + 9220, + 0: __ccgo_ts + 9331, + 1: __ccgo_ts + 9339, + 2: __ccgo_ts + 9345, } ii = 0 for { @@ -159740,13 +160153,13 @@ func _sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int // ** The argument is an IN operator with a list (not a subquery) on the // ** right-hand side. Return TRUE if that list is constant. // */ -func _sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) (r int32) { +func _sqlite3InRhsIsConstant(tls *libc.TLS, pParse uintptr, pIn uintptr) (r int32) { var pLHS uintptr var res int32 _, _ = pLHS, res pLHS = (*TExpr)(unsafe.Pointer(pIn)).FpLeft (*TExpr)(unsafe.Pointer(pIn)).FpLeft = uintptr(0) - res = _sqlite3ExprIsConstant(tls, pIn) + res = _sqlite3ExprIsConstant(tls, pParse, pIn) (*TExpr)(unsafe.Pointer(pIn)).FpLeft = pLHS return res } @@ -159902,7 +160315,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 iAddr = _sqlite3VdbeAddOp0(tls, v, int32(OP_Once)) _sqlite3OpenTable(tls, pParse, iTab, iDb, pTab, int32(OP_OpenRead)) eType = int32(IN_INDEX_ROWID) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+9224, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+9349, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) _sqlite3VdbeJumpHere(tls, v, iAddr) } else { /* Iterator variable */ affinity_ok = int32(1) @@ -160002,7 +160415,7 @@ func _sqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags Tu32 if colUsed == libc.Uint64FromInt32(1)<0 so that the new limit is either 1 or 0 */ db = (*TParse)(unsafe.Pointer(pParse)).Fdb - pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1732) + pLimit = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1792) if pLimit != 0 { (*TExpr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = _sqlite3PExpr(tls, pParse, int32(TK_NE), _sqlite3ExprDup(tls, db, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft, 0), pLimit) @@ -160493,7 +160906,7 @@ func _sqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int3 (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSel)).FpLimit)).FpLeft = pLimit } else { /* If there is no pre-existing limit add a limit of 1 */ - pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+9439) + pLimit = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), __ccgo_ts+9564) (*TSelect)(unsafe.Pointer(pSel)).FpLimit = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), pLimit, uintptr(0)) } (*TSelect)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -160880,13 +161293,13 @@ func _codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, i z = *(*uintptr)(unsafe.Pointer(pExpr + 8)) c = _sqlite3DecOrHexToI64(tls, z, bp) if c == int32(3) && !(negFlag != 0) || c == int32(2) || negFlag != 0 && *(*Ti64)(unsafe.Pointer(bp)) == int64(-libc.Int32FromInt32(1))-(libc.Int64FromUint32(0xffffffff)|libc.Int64FromInt32(0x7fffffff)<= (*TAggInfo)(unsafe.Pointer(pInfo)).FnFunc { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9532, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9657, libc.VaList(bp+160, pExpr)) } else { return (*TAggInfo)(unsafe.Pointer(pInfo)).FiFirstReg + (*TAggInfo)(unsafe.Pointer(pInfo)).FnColumn + int32((*TExpr)(unsafe.Pointer(pExpr)).FiAgg) } @@ -161610,7 +162018,7 @@ expr_code_doover: if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_WinFunc)) != uint32(0) { return (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64)))).FregResult } - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { /* SQL functions can be expensive. So try to avoid running them ** multiple times if we know they always give the same result */ return _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) @@ -161625,7 +162033,7 @@ expr_code_doover: zId = *(*uintptr)(unsafe.Pointer(pExpr + 8)) pDef = _sqlite3FindFunction(tls, db, zId, nFarg, enc, uint8(0)) if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9559, libc.VaList(bp+160, pExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9684, libc.VaList(bp+160, pExpr)) break } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_INLINE) != uint32(0) && pFarg != uintptr(0) { @@ -161640,7 +162048,7 @@ expr_code_doover: if !(i < nFarg) { break } - if i < int32(32) && _sqlite3ExprIsConstant(tls, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { + if i < int32(32) && _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pFarg + 8 + uintptr(i)*32))).FpExpr) != 0 { constMask |= libc.Uint32FromInt32(1) << i } if (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_FUNC_NEEDCOLL) != uint32(0) && !(pColl != 0) { @@ -161730,7 +162138,7 @@ expr_code_doover: } n1 = _sqlite3ExprVectorSize(tls, pLeft2) if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != n1 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9142, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9267, libc.VaList(bp+160, (*TExpr)(unsafe.Pointer(pExpr)).FiTable, n1)) } return (*TExpr)(unsafe.Pointer(pLeft2)).FiTable + int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) case int32(TK_IN): @@ -161762,8 +162170,9 @@ expr_code_doover: if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_Collate)) != libc.Uint32FromInt32(0)) { /* A TK_COLLATE Expr node without the EP_Collate tag is a so-called ** "SOFT-COLLATE" that is added to constraints that are pushed down - ** from outer queries into sub-queries by the push-down optimization. - ** Clear subtypes as subtypes may not cross a subquery boundary. + ** from outer queries into sub-queries by the WHERE-clause push-down + ** optimization. Clear subtypes as subtypes may not cross a subquery + ** boundary. */ _sqlite3ExprCode(tls, pParse, (*TExpr)(unsafe.Pointer(pExpr)).FpLeft, target) _sqlite3VdbeAddOp1(tls, v, int32(OP_ClrSubtype), target) @@ -161792,7 +162201,7 @@ expr_code_doover: _sqlite3VdbeAddOp1(tls, v, int32(OP_RealAffinity), target) } case int32(TK_VECTOR): - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+7986, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8050, 0) break /* TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions ** that derive from the right-hand table of a LEFT JOIN. The @@ -161907,7 +162316,7 @@ expr_code_doover: _sqlite3VdbeResolveLabel(tls, v, endLabel) case int32(TK_RAISE): if !((*TParse)(unsafe.Pointer(pParse)).FpTriggerTab != 0) && !((*TParse)(unsafe.Pointer(pParse)).Fnested != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9583, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9708, 0) return 0 } if int32((*TExpr)(unsafe.Pointer(pExpr)).FaffExpr) == int32(OE_Abort) { @@ -162027,7 +162436,7 @@ func _sqlite3ExprCodeTemp(tls *libc.TLS, pParse uintptr, pExpr uintptr, pReg uin var r1, r2 int32 _, _ = r1, r2 pExpr = _sqlite3ExprSkipCollateAndLikely(tls, pExpr) - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && pExpr != uintptr(0) && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_REGISTER) && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { *(*int32)(unsafe.Pointer(pReg)) = 0 r2 = _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, -int32(1)) } else { @@ -162097,7 +162506,7 @@ func _sqlite3ExprCodeCopy(tls *libc.TLS, pParse uintptr, pExpr uintptr, target i // ** might choose to code the expression at initialization time. // */ func _sqlite3ExprCodeFactorable(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) { - if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if (*TParse)(unsafe.Pointer(pParse)).FokConstFactor != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target) } else { _sqlite3ExprCodeCopy(tls, pParse, pExpr, target) @@ -162166,7 +162575,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ _sqlite3VdbeAddOp2(tls, v, int32(int32(copyOp)), j+srcReg-int32(1), target+i) } } else { - if int32(int32(flags))&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pExpr) != 0 { + if int32(int32(flags))&int32(SQLITE_ECEL_FACTOR) != 0 && _sqlite3ExprIsConstantNotJoin(tls, pParse, pExpr) != 0 { _sqlite3ExprCodeRunJustOnce(tls, pParse, pExpr, target+i) } else { inReg = _sqlite3ExprCodeTarget(tls, pParse, pExpr, target+i) @@ -163463,17 +163872,15 @@ func _agginfoPersistExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnColumn && (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_col)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaCol + uintptr(iAgg)*24))).FpCExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } else { if iAgg < (*TAggInfo)(unsafe.Pointer(pAggInfo)).FnFunc && (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr == pExpr { pExpr = _sqlite3ExprDup(tls, db, pExpr, 0) - if pExpr != 0 { + if pExpr != 0 && !(_sqlite3ExprDeferredDelete(tls, pParse, pExpr) != 0) { (*(*TAggInfo_func)(unsafe.Pointer((*TAggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(iAgg)*32))).FpFExpr = pExpr - _sqlite3ExprDeferredDelete(tls, pParse, pExpr) } } } @@ -164023,8 +164430,8 @@ func _sqlite3FirstAvailableRegister(tls *libc.TLS, pParse uintptr, iMin int32) ( func _isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) - if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+7834, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9633, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+7898, int32(7)) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Eponymous) != uint32(0) || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9758, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -164043,9 +164450,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, bp := tls.Alloc(48) defer tls.Free(48) (*TParse)(unsafe.Pointer(pParse)).FcolNamesSet = uint8(1) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9661, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9786, libc.VaList(bp+8, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+9836, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+9961, libc.VaList(bp+8, zDb, zWhen, bNoDQS)) } } @@ -164061,9 +164468,9 @@ func _renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, func _renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10010, libc.VaList(bp+8, zDb, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10135, libc.VaList(bp+8, zDb, zDb)) if bTemp == 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10157, 0) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10282, 0) } } @@ -164119,7 +164526,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName ** in database iDb. If so, this is an error. */ if _sqlite3FindTable(tls, db, zName, zDb) != 0 || _sqlite3FindIndex(tls, db, zName, zDb) != 0 || _sqlite3IsShadowTableOf(tls, db, pTab, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10308, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10433, libc.VaList(bp+8, zName)) goto exit_rename_table } /* Make sure it is not a system table being altered, or a reserved name @@ -164128,11 +164535,11 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { goto exit_rename_table } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+10367, zName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+10492, zName) { goto exit_rename_table } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10373, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+10498, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table } /* Invoke the authorization callback. */ @@ -164162,21 +164569,21 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName nTabName = _sqlite3Utf8CharLen(tls, zTabName, -int32(1)) /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in ** the schema to use the new table name. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10400, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10525, libc.VaList(bp+8, zDb, zDb, zTabName, zName, libc.BoolInt32(iDb == int32(1)), zTabName)) /* Update the tbl_name and name columns of the sqlite_schema table ** as required. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10584, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+10709, libc.VaList(bp+8, zDb, zName, zName, zName, nTabName, zTabName)) /* If the sqlite_sequence table exists in this database, then update ** it with the new table name. */ - if _sqlite3FindTable(tls, db, __ccgo_ts+10889, zDb) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10905, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if _sqlite3FindTable(tls, db, __ccgo_ts+11014, zDb) != 0 { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11030, libc.VaList(bp+8, zDb, zName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* If the table being renamed is not itself part of the temp database, ** edit view and trigger definitions within the temp database ** as required. */ if iDb != int32(1) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+10963, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11088, libc.VaList(bp+8, zDb, zTabName, zName, zTabName, zDb, zName)) } /* If this is a virtual table, invoke the xRename() function if ** one is defined. The xRename() callback will modify the names @@ -164192,7 +164599,7 @@ func _sqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName _sqlite3VdbeAddOp4(tls, v, int32(OP_VRename), i, 0, 0, pVTab, -int32(11)) } _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11228, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+11353, 0) goto exit_rename_table exit_rename_table: ; @@ -164209,7 +164616,7 @@ exit_rename_table: func _sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11241, libc.VaList(bp+8, zErr, zDb, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11366, libc.VaList(bp+8, zErr, zDb, zTab)) } // C documentation @@ -164249,11 +164656,11 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr ** column must not be NULL. */ if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11279, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11404, 0) return } if (*TTable)(unsafe.Pointer(pNew)).FpIndex != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11311, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+11436, 0) return } if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) == 0 { @@ -164269,10 +164676,10 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpFKey != 0 && pDflt != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+11338) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+11463) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && !(pDflt != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+11397) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+11522) } /* Ensure the default expression is something that sqlite3ValueFromExpr() ** can handle (i.e. not CURRENT_TIME etc.) @@ -164284,13 +164691,13 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr return } if !(*(*uintptr)(unsafe.Pointer(bp)) != 0) { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+11450) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+11575) } _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp))) } } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_STORED) != 0 { - _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+11496) + _sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, __ccgo_ts+11621) } } /* Modify the CREATE TABLE statement. */ @@ -164304,7 +164711,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } /* substr() operations on characters, but addColOffset is in bytes. So we ** have to use printf() to translate between these units: */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11523, libc.VaList(bp+16, zDb, (*(*struct { + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11648, libc.VaList(bp+16, zDb, (*(*struct { FaddColOffset int32 FpFKey uintptr FpDfltList uintptr @@ -164332,7 +164739,7 @@ func _sqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterAdd)) /* Verify that constraints are still satisfied */ if (*TTable)(unsafe.Pointer(pNew)).FpCheck != uintptr(0) || int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 && int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 || (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Strict) != uint32(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+11669, libc.VaList(bp+16, zTab, zDb)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+11794, libc.VaList(bp+16, zTab, zDb)) } } } @@ -164370,12 +164777,12 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { goto exit_begin_add_column } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12022, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12147, 0) goto exit_begin_add_column } /* Make sure this is not an attempt to ALTER a view. */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12056, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12181, 0) goto exit_begin_add_column } if SQLITE_OK != _isAlterableTable(tls, pParse, pTab) { @@ -164399,7 +164806,7 @@ func _sqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { (*TTable)(unsafe.Pointer(pNew)).FnCol = (*TTable)(unsafe.Pointer(pTab)).FnCol nAlloc = (int32((*TTable)(unsafe.Pointer(pNew)).FnCol)-int32(1))/int32(8)*int32(8) + int32(8) (*TTable)(unsafe.Pointer(pNew)).FaCol = _sqlite3DbMallocZero(tls, db, uint64(16)*uint64(uint64(nAlloc))) - (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+12086, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + (*TTable)(unsafe.Pointer(pNew)).FzName = _sqlite3MPrintf(tls, db, __ccgo_ts+12211, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !((*TTable)(unsafe.Pointer(pNew)).FaCol != 0) || !((*TTable)(unsafe.Pointer(pNew)).FzName != 0) { goto exit_begin_add_column } @@ -164460,18 +164867,18 @@ func _isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) (r i _, _ = zType, v1 zType = uintptr(0) if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 12105 + zType = __ccgo_ts + 12230 } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 12110 + zType = __ccgo_ts + 12235 } if zType != 0 { if bDrop != 0 { - v1 = __ccgo_ts + 12124 + v1 = __ccgo_ts + 12249 } else { - v1 = __ccgo_ts + 12141 + v1 = __ccgo_ts + 12266 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12159, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12284, libc.VaList(bp+8, v1, zType, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -164532,11 +164939,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld iCol++ } if iCol == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12177, libc.VaList(bp+8, pOld)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12302, libc.VaList(bp+8, pOld)) goto exit_rename_column } /* Ensure the schema contains no double-quoted strings */ - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1658, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+1672, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1))) /* Do the rename operation using a recursive UPDATE statement that ** uses the sqlite_rename_column() SQL function to compute the new @@ -164548,11 +164955,11 @@ func _sqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld goto exit_rename_column } bQuote = int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pNew)).Fz)))]) & int32(0x80) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+12198, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+12380, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+12323, libc.VaList(bp+8, zDb, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, libc.BoolInt32(iSchema == int32(1)), (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+12505, libc.VaList(bp+8, zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+11228, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iSchema == int32(1)), __ccgo_ts+11353, int32(1)) goto exit_rename_column exit_rename_column: ; @@ -165028,11 +165435,11 @@ func _renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType u zT = Xsqlite3_value_text(tls, pType) zN = Xsqlite3_value_text(tls, pObject) if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - v1 = __ccgo_ts + 12511 + v1 = __ccgo_ts + 12636 } else { - v1 = __ccgo_ts + 1658 + v1 = __ccgo_ts + 1672 } - zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12513, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) + zErr = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+12638, libc.VaList(bp+8, zT, zN, v1, zWhen, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, zErr) } @@ -165109,8 +165516,8 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin if zSql == uintptr(0) { return int32(SQLITE_NOMEM) } - if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+12536, int32(7)) != 0 { - return _sqlite3CorruptError(tls, int32(116682)) + if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+12661, int32(7)) != 0 { + return _sqlite3CorruptError(tls, int32(117285)) } if bTemp != 0 { v1 = int32(1) @@ -165126,7 +165533,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin rc = int32(SQLITE_NOMEM) } if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) { - rc = _sqlite3CorruptError(tls, int32(116693)) + rc = _sqlite3CorruptError(tls, int32(117296)) } (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0) return rc @@ -165165,7 +165572,7 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, ** ALTER TABLE statement was quoted (bQuote==1), then set zNew to ** point to zQuot so that all substitutions are made using the ** quoted version of the new column name. */ - zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+12544, libc.VaList(bp+8, zNew)) + zQuot = _sqlite3MPrintf(tls, db, __ccgo_ts+12669, libc.VaList(bp+8, zNew)) if zQuot == uintptr(0) { return int32(SQLITE_NOMEM) } else { @@ -165210,11 +165617,11 @@ func _renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = 0 _sqlite3Dequote(tls, zBuf1) if int32(*(*int8)(unsafe.Pointer((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*TRenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == int32('\'') { - v1 = __ccgo_ts + 12511 + v1 = __ccgo_ts + 12636 } else { - v1 = __ccgo_ts + 1658 + v1 = __ccgo_ts + 1672 } - Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+12550, libc.VaList(bp+8, zBuf1, v1)) + Xsqlite3_snprintf(tls, int32(nSql*int64(2)), zBuf2, __ccgo_ts+12675, libc.VaList(bp+8, zBuf1, v1)) zReplace = zBuf2 nReplace = uint32(_sqlite3Strlen30(tls, zReplace)) } @@ -165699,7 +166106,7 @@ renameColumnFunc_done: Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv))) } else { if (*(*TParse)(unsafe.Pointer(bp + 32))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1658, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) + _renameColumnParseError(tls, context, __ccgo_ts+1672, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -165925,7 +166332,7 @@ func _renameTableFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintpt Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + 3*8))) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _renameColumnParseError(tls, context, __ccgo_ts+1658, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) + _renameColumnParseError(tls, context, __ccgo_ts+1672, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -166187,7 +166594,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { /* This can happen if the sqlite_schema table is corrupt */ - rc = _sqlite3CorruptError(tls, int32(117652)) + rc = _sqlite3CorruptError(tls, int32(118255)) goto drop_column_done } pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName) @@ -166204,7 +166611,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr (*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz-- } } - zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+12555, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(int64(zSql)), zSql, zEnd)) + zNew = _sqlite3MPrintf(tls, db, __ccgo_ts+12680, libc.VaList(bp+432, int64((*TRenameToken)(unsafe.Pointer(pCol)).Ft.Fz)-int64(int64(zSql)), zSql, zEnd)) Xsqlite3_result_text(tls, context, zNew, -int32(1), uintptr(-libc.Int32FromInt32(1))) Xsqlite3_free(tls, zNew) goto drop_column_done @@ -166231,8 +166638,9 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName bp := tls.Alloc(48) defer tls.Free(48) var addr, i, iCol, iColPos, iCur, iDb, iPos, nField, reg, regOut, regRec, v2, v4, v7 int32 + var aff int8 var db, pPk, pTab, v, zCol, zDb, v1, v3, v5, v8 uintptr - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, aff, db, i, iCol, iColPos, iCur, iDb, iPos, nField, pPk, pTab, reg, regOut, regRec, v, zCol, zDb, v1, v2, v3, v4, v5, v7, v8 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Database containing pTab ("main" etc.) */ zCol = uintptr(0) /* Index of column zCol in pTab->aCol[] */ /* Look up the table being altered. */ @@ -166258,23 +166666,23 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName } iCol = _sqlite3ColumnIndex(tls, pTab, zCol) if iCol < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12177, libc.VaList(bp+8, pName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12302, libc.VaList(bp+8, pName)) goto exit_drop_column } /* Do not allow the user to drop a PRIMARY KEY column or a column ** constrained by a UNIQUE constraint. */ if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_PRIMKEY)|libc.Int32FromInt32(COLFLAG_UNIQUE)) != 0 { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_PRIMKEY) != 0 { - v1 = __ccgo_ts + 12562 + v1 = __ccgo_ts + 12687 } else { - v1 = __ccgo_ts + 6898 + v1 = __ccgo_ts + 6962 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12574, libc.VaList(bp+8, v1, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12699, libc.VaList(bp+8, v1, zCol)) goto exit_drop_column } /* Do not allow the number of columns to go to zero */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) <= int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12602, libc.VaList(bp+8, zCol)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+12727, libc.VaList(bp+8, zCol)) goto exit_drop_column } /* Edit the sqlite_schema table */ @@ -166284,12 +166692,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_ALTER_TABLE), zDb, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol) != 0 { goto exit_drop_column } - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1658, 0) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+1672, 0) _renameFixQuotes(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1))) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+12650, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+12775, libc.VaList(bp+8, zDb, iDb, iCol, (*TTable)(unsafe.Pointer(pTab)).FzName)) /* Drop and reload the database schema. */ _renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) - _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+12771, int32(1)) + _renameTestSchema(tls, pParse, zDb, libc.BoolInt32(iDb == int32(1)), __ccgo_ts+12896, int32(1)) /* Edit rows of table on disk */ if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 && int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { pPk = uintptr(0) @@ -166347,7 +166755,12 @@ func _sqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName if i == int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regOut) } else { + aff = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity + if int32(int32(aff)) == int32(SQLITE_AFF_REAL) { + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = int8(SQLITE_AFF_NUMERIC) + } _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab, iCur, i, regOut) + (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).Faffinity = aff } nField++ } @@ -166392,27 +166805,27 @@ var _aAlterTableFuncs = [5]TFuncDef{ 0: { FnArg: int8(9), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 12789, + FzName: __ccgo_ts + 12914, }, 1: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 12810, + FzName: __ccgo_ts + 12935, }, 2: { FnArg: int8(7), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 12830, + FzName: __ccgo_ts + 12955, }, 3: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 12849, + FzName: __ccgo_ts + 12974, }, 4: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT)), - FzName: __ccgo_ts + 12868, + FzName: __ccgo_ts + 12993, }, } @@ -166623,7 +167036,7 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW ** side-effect of the CREATE TABLE statement is to leave the rootpage ** of the new table in register pParse->regRoot. This is important ** because the OpenWrite opcode below will be needing it. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+12971, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13096, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, _aTable[i].FzCols)) aRoot[i] = uint32((*TParse)(unsafe.Pointer(pParse)).FregRoot) aCreateTbl[i] = uint8(OPFLAG_P2ISREG) } @@ -166634,10 +167047,10 @@ func _openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zW aRoot[i] = (*TTable)(unsafe.Pointer(pStat)).Ftnum _sqlite3TableLock(tls, pParse, iDb, aRoot[i], uint8(1), zTab) if zWhere != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+12994, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13119, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else { if (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+13024, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13149, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { /* The sqlite_stat[134] table already exists. Delete all rows. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Clear), int32(aRoot[i]), iDb) @@ -166669,15 +167082,15 @@ var _aTable = [3]struct { FzCols uintptr }{ 0: { - FzName: __ccgo_ts + 12891, - FzCols: __ccgo_ts + 12904, + FzName: __ccgo_ts + 13016, + FzCols: __ccgo_ts + 13029, }, 1: { - FzName: __ccgo_ts + 12917, - FzCols: __ccgo_ts + 12930, + FzName: __ccgo_ts + 13042, + FzCols: __ccgo_ts + 13055, }, 2: { - FzName: __ccgo_ts + 12958, + FzName: __ccgo_ts + 13083, }, } @@ -166979,7 +167392,7 @@ func _statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statInitFuncdef = TFuncDef{ FnArg: int8(4), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 13042, + FzName: __ccgo_ts + 13167, } func init() { @@ -167353,7 +167766,7 @@ func _statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statPushFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(2) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 13052, + FzName: __ccgo_ts + 13177, } func init() { @@ -167403,7 +167816,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { v1 = (*TStatAccum)(unsafe.Pointer(p)).FnRow } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+13062, libc.VaList(bp+72, v1)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+13187, libc.VaList(bp+72, v1)) i = 0 for { if !(i < (*TStatAccum)(unsafe.Pointer(p)).FnKeyCol) { @@ -167414,7 +167827,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if iVal == uint64(2) && (*TStatAccum)(unsafe.Pointer(p)).FnRow*uint64(10) <= nDistinct*uint64(11) { iVal = uint64(1) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+13067, libc.VaList(bp+72, iVal)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+13192, libc.VaList(bp+72, iVal)) goto _2 _2: ; @@ -167453,7 +167866,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { if !(i1 < (*TStatAccum)(unsafe.Pointer(p)).FnCol) { break } - Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+13073, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) + Xsqlite3_str_appendf(tls, bp+32, __ccgo_ts+13198, libc.VaList(bp+72, *(*TtRowcnt)(unsafe.Pointer(aCnt + uintptr(i1)*8)))) goto _3 _3: ; @@ -167471,7 +167884,7 @@ func _statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { var _statGetFuncdef = TFuncDef{ FnArg: int8(libc.Int32FromInt32(1) + libc.Int32FromInt32(IsStat4)), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 13079, + FzName: __ccgo_ts + 13204, } func init() { @@ -167492,9 +167905,9 @@ func _callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, re // */ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { var aGotoChng, db, pColl, pIdx, pPk, pStat1, pX, v, zIdxName uintptr - var addrIsNull, addrNext, addrNextRow, addrRewind, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 + var addrGotoEnd, addrIsNull, addrNext, addrNextRow, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 int32 var needTableCnt, seekOp Tu8 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrIsNull, addrNext, addrNextRow, addrRewind, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aGotoChng, addrGotoEnd, addrIsNull, addrNext, addrNextRow, db, doOnce, endDistinctTest, i, iDb, iIdxCur, iTabCur, j, j1, j2, j3, jZeroRows, k, mxCol, nCol, nColTest, nColX, needTableCnt, pColl, pIdx, pPk, pStat1, pX, regChng, regCol, regDLt, regEq, regIdxname, regKey, regLt, regNewRowid, regPrev, regRowid, regSample, regSampleRowid, regStat, regStat1, regTabname, regTemp, regTemp2, seekOp, v, zIdxName, v1, v10, v11, v12, v14, v18, v2, v3, v4, v5, v6, v7, v8, v9 db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Loop counter */ jZeroRows = -int32(1) /* Index of database containing pTab */ needTableCnt = uint8(1) @@ -167537,7 +167950,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Do not gather statistics on views or virtual tables */ return } - if Xsqlite3_strlike(tls, __ccgo_ts+13088, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { + if Xsqlite3_strlike(tls, __ccgo_ts+13213, (*TTable)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { /* Do not gather statistics on system tables */ return } @@ -167551,7 +167964,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint return } (*TTable)(unsafe.Pointer(pStat1)).FzName = pStat1 + 1*104 - libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+12891, uint64(13)) + libc.Xmemcpy(tls, (*TTable)(unsafe.Pointer(pStat1)).FzName, __ccgo_ts+13016, uint64(13)) (*TTable)(unsafe.Pointer(pStat1)).FnCol = int16(3) (*TTable)(unsafe.Pointer(pStat1)).FiPKey = int16(-int32(1)) _sqlite3VdbeAddOp4(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Noop), 0, 0, 0, pStat1, -int32(6)) @@ -167605,9 +168018,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* ** Pseudo-code for loop that calls stat_push(): ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() ** goto chng_addr_0; ** ** next_row: @@ -167641,32 +168059,29 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint /* Open a read-only cursor on the index being analyzed. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenRead), iIdxCur, int32((*TIndex)(unsafe.Pointer(pIdx)).Ftnum), iDb) _sqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - /* Invoke the stat_init() function. The arguments are: + /* Implementation of the following: ** + ** regChng = 0 + ** Rewind csr + ** if eof(csr){ + ** stat_init() with count = 0; + ** goto end_of_scan; + ** } + ** count() + ** stat_init() + ** goto chng_addr_0; + */ + _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + /* Arguments to stat_init(): ** (1) the number of columns in the index including the rowid ** (or for a WITHOUT ROWID table, the number of PK columns), ** (2) the number of columns in the key without the rowid/pk - ** (3) estimated number of rows in the index, - */ + ** (3) estimated number of rows in the index. */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), nCol, regStat+int32(1)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol), regRowid) - if (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0) { - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iIdxCur, regTemp) - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - } else { - addrRewind = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, int32(1)) - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit, regTemp2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Count), iIdxCur, regTemp, libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) != uint32(0))) _sqlite3VdbeAddFunctionCall(tls, pParse, 0, regStat+int32(1), regStat, int32(4), uintptr(unsafe.Pointer(&_statInitFuncdef)), 0) - /* Implementation of the following: - ** - ** Rewind csr - ** if eof(csr) goto end_of_scan; - ** regChng = 0 - ** goto next_push_0; - ** - */ + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_Rewind), iIdxCur) _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regChng) addrNextRow = _sqlite3VdbeCurrentAddr(tls, v) if nColTest > 0 { @@ -167775,8 +168190,14 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), iIdxCur, addrNextRow) } /* Add the entry to the stat1 table. */ + if (*TIndex)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { + /* Partial indexes might get a zero-entry in sqlite_stat1. But + ** an empty table is omitted from sqlite_stat1. */ + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + addrGotoEnd = 0 + } _callStatGet(tls, pParse, regStat, STAT_GET_STAT1, regStat1) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+13098, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+13223, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP4(tls, v, -int32(1), pStat1, -int32(5)) @@ -167795,6 +168216,11 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint v18 = int32(OP_NotFound) } seekOp = uint8(v18) + /* No STAT4 data is generated if the number of rows is zero */ + if addrGotoEnd == 0 { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Cast), regStat1, int32(SQLITE_AFF_INTEGER)) + addrGotoEnd = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) + } if doOnce != 0 { mxCol = nCol /* Compute the maximum number of columns in any index */ @@ -167847,7 +168273,9 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeJumpHere(tls, v, addrIsNull) } /* End of analysis */ - _sqlite3VdbeJumpHere(tls, v, addrRewind) + if addrGotoEnd != 0 { + _sqlite3VdbeJumpHere(tls, v, addrGotoEnd) + } goto _13 _13: ; @@ -167860,7 +168288,7 @@ func _analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uint _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), iTabCur, regStat1) jZeroRows = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfNot), regStat1) _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regIdxname) - _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+13098, 0) + _sqlite3VdbeAddOp4(tls, v, int32(OP_MakeRecord), regTabname, int32(3), regTemp, __ccgo_ts+13223, 0) _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iStatCur, regNewRowid) _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iStatCur, regTemp, regNewRowid) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -167932,9 +168360,9 @@ func _analyzeTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr iStatCur = (*TParse)(unsafe.Pointer(pParse)).FnTab *(*int32)(unsafe.Pointer(pParse + 52)) += int32(3) if pOnlyIdx != 0 { - _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+13102) + _openStatTable(tls, pParse, iDb, iStatCur, (*TIndex)(unsafe.Pointer(pOnlyIdx)).FzName, __ccgo_ts+13227) } else { - _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+13106) + _openStatTable(tls, pParse, iDb, iStatCur, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+13231) } _analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, (*TParse)(unsafe.Pointer(pParse)).FnMem+int32(1), (*TParse)(unsafe.Pointer(pParse)).FnTab) _loadAnalysis(tls, pParse, iDb) @@ -168063,7 +168491,7 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, _, _, _, _, _, _ = c, i, sz, v, z, v2 z = zIntArray if z == uintptr(0) { - z = __ccgo_ts + 1658 + z = __ccgo_ts + 1672 } i = 0 for { @@ -168098,17 +168526,17 @@ func _decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(0), 6, 0x40) for *(*int8)(unsafe.Pointer(z)) != 0 { - if Xsqlite3_strglob(tls, __ccgo_ts+13110, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+13235, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 2, 0x4) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+13121, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+13246, z) == 0 { sz = _sqlite3Atoi(tls, z+uintptr(3)) if sz < int32(2) { sz = int32(2) } (*TIndex)(unsafe.Pointer(pIndex)).FszIdxRow = _sqlite3LogEst(tls, uint64(uint64(sz))) } else { - if Xsqlite3_strglob(tls, __ccgo_ts+13131, z) == 0 { + if Xsqlite3_strglob(tls, __ccgo_ts+13256, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100, libc.Uint32FromInt32(1), 6, 0x40) } } @@ -168484,11 +168912,11 @@ func _loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) (r int32) { _, _, _, _ = pStat4, rc, v1, v2 rc = SQLITE_OK if v2 = (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_Stat4)) == uint32(0); v2 { - v1 = _sqlite3FindTable(tls, db, __ccgo_ts+12917, zDb) + v1 = _sqlite3FindTable(tls, db, __ccgo_ts+13042, zDb) pStat4 = v1 } if v2 && v1 != uintptr(0) && int32((*TTable)(unsafe.Pointer(pStat4)).FeTabType) == TABTYP_NORM { - rc = _loadStatTbl(tls, db, __ccgo_ts+13143, __ccgo_ts+13212, zDb) + rc = _loadStatTbl(tls, db, __ccgo_ts+13268, __ccgo_ts+13337, zDb) } return rc } @@ -168554,10 +168982,10 @@ func _sqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) (r int32) { /* Load new statistics out of the sqlite_stat1 table */ (*(*TanalysisInfo)(unsafe.Pointer(bp))).Fdb = db (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName - v3 = _sqlite3FindTable(tls, db, __ccgo_ts+12891, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) + v3 = _sqlite3FindTable(tls, db, __ccgo_ts+13016, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase) pStat1 = v3 if v3 != 0 && int32((*TTable)(unsafe.Pointer(pStat1)).FeTabType) == TABTYP_NORM { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+13264, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+13389, libc.VaList(bp+24, (*(*TanalysisInfo)(unsafe.Pointer(bp))).FzDatabase)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -168670,7 +169098,7 @@ func _resolveAttachExpr(tls *libc.TLS, pName uintptr, pExpr uintptr) (r int32) { // ** database iDb attached to handle db. // */ func _sqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) (r int32) { - return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+7894, zName) == 0) + return libc.BoolInt32(_sqlite3StrICmp(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName) == 0 || iDb == 0 && _sqlite3StrICmp(tls, __ccgo_ts+7958, zName) == 0) } // C documentation @@ -168712,21 +169140,21 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if zFile == uintptr(0) { - zFile = __ccgo_ts + 1658 + zFile = __ccgo_ts + 1672 } if zName == uintptr(0) { - zName = __ccgo_ts + 1658 + zName = __ccgo_ts + 1672 } if int32(uint32(*(*uint8)(unsafe.Pointer(db + 192 + 8))&0x4>>2)) != 0 { /* 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 + 40)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+5276) + *(*uintptr)(unsafe.Pointer(bp + 32)) = Xsqlite3_vfs_find(tls, __ccgo_ts+5340) if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { return } - rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+13305, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) + rc = _sqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), __ccgo_ts+13430, db, bp+40, 0, int32(SQLITE_OPEN_MAIN_DB)) if rc == SQLITE_OK { pNewSchema = _sqlite3SchemaGet(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40))) if pNewSchema != 0 { @@ -168757,7 +169185,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { ** * Specified database name already being used. */ if (*Tsqlite3)(unsafe.Pointer(db)).FnDb >= *(*int32)(unsafe.Pointer(db + 136 + 7*4))+int32(2) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+13308, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+13433, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(db + 136 + 7*4)))) goto attach_error } i = 0 @@ -168766,7 +169194,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { break } if _sqlite3DbIsNamed(tls, db, i, zName) != 0 { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+13345, libc.VaList(bp+56, zName)) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+13470, libc.VaList(bp+56, zName)) goto attach_error } goto _1 @@ -168814,7 +169242,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FnoSharedCache = uint8(0) if rc == int32(SQLITE_CONSTRAINT) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+13375, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+13500, 0) } else { if rc == SQLITE_OK { (*TDb)(unsafe.Pointer(pNew)).FpSchema = _sqlite3SchemaGet(tls, db, (*TDb)(unsafe.Pointer(pNew)).FpBt) @@ -168822,7 +169250,7 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { rc = int32(SQLITE_NOMEM) } else { if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0 && int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+13404, 0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = _sqlite3MPrintf(tls, db, __ccgo_ts+13529, 0) rc = int32(SQLITE_ERROR) } } @@ -168866,10 +169294,10 @@ func _attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { if rc == int32(SQLITE_NOMEM) || rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(12)<= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+13500, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+13625, libc.VaList(bp+136, zName)) goto detach_error } if i < int32(2) { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+13521, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+13646, libc.VaList(bp+136, zName)) goto detach_error } if _sqlite3BtreeTxnState(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != SQLITE_TXN_NONE || _sqlite3BtreeIsInBackup(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) != 0 { - Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+13547, libc.VaList(bp+136, zName)) + Xsqlite3_snprintf(tls, int32(128), bp, __ccgo_ts+13672, libc.VaList(bp+136, zName)) goto detach_error } /* If any TEMP triggers reference the schema being detached, move those @@ -169034,7 +169462,7 @@ func _sqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { var _detach_func = TFuncDef{ FnArg: int8(1), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 13569, + FzName: __ccgo_ts + 13694, } func init() { @@ -169056,7 +169484,7 @@ func _sqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, p var _attach_func = TFuncDef{ FnArg: int8(3), FfuncFlags: uint32(SQLITE_UTF8), - FzName: __ccgo_ts + 13583, + FzName: __ccgo_ts + 13708, } func init() { @@ -169082,7 +169510,7 @@ func _fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) (r int32) { if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer((*TDbFixer)(unsafe.Pointer(pFix)).FpParse)).Fdb)).Finit1.Fbusy != 0 { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_NULL) } else { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+13597, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+13722, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType)) return int32(WRC_Abort) } } @@ -169116,7 +169544,7 @@ func _fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) (r int32) { if int32((*TDbFixer)(unsafe.Pointer(pFix)).FbTemp) == 0 { if (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase != 0 { if iDb != _sqlite3FindDbName(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) { - _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+13621, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) + _sqlite3ErrorMsg(tls, (*TDbFixer)(unsafe.Pointer(pFix)).FpParse, __ccgo_ts+13746, libc.VaList(bp+8, (*TDbFixer)(unsafe.Pointer(pFix)).FzType, (*TDbFixer)(unsafe.Pointer(pFix)).FpName, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase)) return int32(WRC_Abort) } _sqlite3DbFree(tls, db, (*TSrcItem)(unsafe.Pointer(pItem)).FzDatabase) @@ -169332,7 +169760,7 @@ func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uint // ** user-supplied authorization function returned an illegal value. // */ func _sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13667, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13792, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) } @@ -169360,11 +169788,11 @@ func _sqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, int32(SQLITE_READ), zTab, zCol, zDb, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - z = Xsqlite3_mprintf(tls, __ccgo_ts+13690, libc.VaList(bp+8, zTab, zCol)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+13815, libc.VaList(bp+8, zTab, zCol)) if (*Tsqlite3)(unsafe.Pointer(db)).FnDb > int32(2) || iDb != 0 { - z = Xsqlite3_mprintf(tls, __ccgo_ts+13696, libc.VaList(bp+8, zDb, z)) + z = Xsqlite3_mprintf(tls, __ccgo_ts+13821, libc.VaList(bp+8, zDb, z)) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13702, libc.VaList(bp+8, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13827, libc.VaList(bp+8, z)) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != int32(SQLITE_IGNORE) && rc != SQLITE_OK { @@ -169424,7 +169852,7 @@ func _sqlite3AuthRead(tls *libc.TLS, pParse uintptr, pExpr uintptr, pSchema uint if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName } else { - zCol = __ccgo_ts + 9214 + zCol = __ccgo_ts + 9339 } } if int32(SQLITE_IGNORE) == _sqlite3AuthReadCol(tls, pParse, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -169459,7 +169887,7 @@ func _sqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, ** parameters can be either NULL or a string. */ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAuth})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*TParse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == int32(SQLITE_DENY) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13729, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13854, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_AUTH) } else { if rc != SQLITE_OK && rc != int32(SQLITE_IGNORE) { @@ -169880,21 +170308,21 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp if i >= (*Tsqlite3)(unsafe.Pointer(db)).FnDb { /* No match against the official names. But always match "main" ** to schema 0 as a legacy fallback. */ - if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+7894) == 0 { + if _sqlite3StrICmp(tls, zDatabase, __ccgo_ts+7958) == 0 { i = 0 } else { return uintptr(0) } } p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, zName) - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+7834, int32(7)) == 0 { + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+7898, int32(7)) == 0 { if i == int32(1) { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7861+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7880+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7375+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+7842) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7925+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7944+7) == 0 || _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7439+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+7906) } } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7880+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+7375) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7944+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FpSchema+8, __ccgo_ts+7439) } } } @@ -169924,12 +170352,12 @@ func _sqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp ; i++ } - if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+7834, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7880+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+7375) + if p == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+7898, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7944+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema+8, __ccgo_ts+7439) } else { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7861+7) == 0 { - p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+7842) + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7925+7) == 0 { + p = _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema+8, __ccgo_ts+7906) } } } @@ -169967,7 +170395,7 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt ** can be an eponymous virtual table. */ if int32((*TParse)(unsafe.Pointer(pParse)).FprepFlags)&int32(SQLITE_PREPARE_NO_VTAB) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 { pMod = _sqlite3HashFind(tls, db+576, zName) - if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+13744, int32(7)) == 0 { + if pMod == uintptr(0) && Xsqlite3_strnicmp(tls, zName, __ccgo_ts+13869, int32(7)) == 0 { pMod = _sqlite3PragmaVtabRegister(tls, db, zName) } if pMod != 0 && _sqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0 { @@ -169985,15 +170413,15 @@ func _sqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags Tu32, zName uintpt } if p == uintptr(0) { if flags&uint32(LOCATE_VIEW) != 0 { - v1 = __ccgo_ts + 13752 + v1 = __ccgo_ts + 13877 } else { - v1 = __ccgo_ts + 13765 + v1 = __ccgo_ts + 13890 } zMsg = v1 if zDbase != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8098, libc.VaList(bp+8, zMsg, zDbase, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8162, libc.VaList(bp+8, zMsg, zDbase, zName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8108, libc.VaList(bp+8, zMsg, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+8233, libc.VaList(bp+8, zMsg, zName)) } } else { } @@ -170031,12 +170459,12 @@ func _sqlite3LocateTableItem(tls *libc.TLS, pParse uintptr, flags Tu32, p uintpt // ** names into the new preferred names, as appropriate. // */ func _sqlite3PreferredTableName(tls *libc.TLS, zName uintptr) (r uintptr) { - if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+7834, int32(7)) == 0 { - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7375+7) == 0 { - return __ccgo_ts + 7880 + if Xsqlite3_strnicmp(tls, zName, __ccgo_ts+7898, int32(7)) == 0 { + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7439+7) == 0 { + return __ccgo_ts + 7944 } - if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7842+7) == 0 { - return __ccgo_ts + 7861 + if _sqlite3StrICmp(tls, zName+uintptr(7), __ccgo_ts+7906+7) == 0 { + return __ccgo_ts + 7925 } } return zName @@ -170561,7 +170989,7 @@ func _sqlite3OpenSchemaTable(tls *libc.TLS, p uintptr, iDb int32) { var v uintptr _ = v v = _sqlite3GetVdbe(tls, p) - _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+7375) + _sqlite3TableLock(tls, p, iDb, uint32(SCHEMA_ROOT), uint8(1), __ccgo_ts+7439) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_OpenWrite), 0, int32(SCHEMA_ROOT), iDb, int32(5)) if (*TParse)(unsafe.Pointer(p)).FnTab == 0 { (*TParse)(unsafe.Pointer(p)).FnTab = int32(1) @@ -170593,7 +171021,7 @@ func _sqlite3FindDbName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) { } /* "main" is always an acceptable alias for the primary database ** even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. */ - if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+7894, zName) { + if i == 0 && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+7958, zName) { break } goto _1 @@ -170651,13 +171079,13 @@ func _sqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13779, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13904, 0) return -int32(1) } *(*uintptr)(unsafe.Pointer(pUnqual)) = pName2 iDb = _sqlite3FindDb(tls, db, pName1) if iDb < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13796, libc.VaList(bp+8, pName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13921, libc.VaList(bp+8, pName1)) return -int32(1) } } else { @@ -170701,12 +171129,12 @@ func _sqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if Xsqlite3_stricmp(tls, zType, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit))) != 0 || Xsqlite3_stricmp(tls, zName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 1*8))) != 0 || Xsqlite3_stricmp(tls, zTblName, *(*uintptr)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FazInit + 2*8))) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1658, 0) /* corruptSchema() will supply the error */ + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1672, 0) /* corruptSchema() will supply the error */ return int32(SQLITE_ERROR) } } else { - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+7834, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13816, libc.VaList(bp+8, zName)) + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 && 0 == Xsqlite3_strnicmp(tls, zName, __ccgo_ts+7898, int32(7)) || _sqlite3ReadOnlyShadowTables(tls, db) != 0 && _sqlite3ShadowTableName(tls, db, zName) != 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13941, libc.VaList(bp+8, zName)) return int32(SQLITE_ERROR) } } @@ -170921,9 +171349,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui /* Special case: Parsing the sqlite_schema or sqlite_temp_schema schema */ iDb = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 7842 + v1 = __ccgo_ts + 7906 } else { - v1 = __ccgo_ts + 7375 + v1 = __ccgo_ts + 7439 } zName = _sqlite3DbStrDup(tls, db, v1) *(*uintptr)(unsafe.Pointer(bp)) = pName1 @@ -170936,7 +171364,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 && (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) && iDb != int32(1) { /* If creating a temp table, the name may not be qualified. Unless ** the database name is "temp" anyway. */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13858, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13983, 0) return } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp != 0 { @@ -170952,9 +171380,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui return } if isView != 0 { - v2 = __ccgo_ts + 12105 + v2 = __ccgo_ts + 12230 } else { - v2 = __ccgo_ts + 10367 + v2 = __ccgo_ts + 10492 } if _sqlite3CheckObjectName(tls, pParse, zName, v2, zName) != 0 { goto begin_table_error @@ -170964,9 +171392,9 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui } zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && isTemp == int32(1) { - v3 = __ccgo_ts + 7842 + v3 = __ccgo_ts + 7906 } else { - v3 = __ccgo_ts + 7375 + v3 = __ccgo_ts + 7439 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto begin_table_error @@ -170990,11 +171418,11 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui if pTable != 0 { if !(noErr != 0) { if int32((*TTable)(unsafe.Pointer(pTable)).FeTabType) == int32(TABTYP_VIEW) { - v4 = __ccgo_ts + 12105 + v4 = __ccgo_ts + 12230 } else { - v4 = __ccgo_ts + 10367 + v4 = __ccgo_ts + 10492 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13899, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14024, libc.VaList(bp+16, v4, *(*uintptr)(unsafe.Pointer(bp)))) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) _sqlite3ForceNotReadOnly(tls, pParse) @@ -171002,7 +171430,7 @@ func _sqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui goto begin_table_error } if _sqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13920, libc.VaList(bp+16, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14045, libc.VaList(bp+16, zName)) goto begin_table_error } } @@ -171154,7 +171582,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { _, _, _ = db, pHash, pRet db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TParse)(unsafe.Pointer(pParse)).FpNewTrigger != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+13955, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14080, 0) } else { } (*TParse)(unsafe.Pointer(pParse)).FbReturning = uint8(1) @@ -171170,7 +171598,7 @@ func _sqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return } - Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+13989, libc.VaList(bp+8, pParse)) + Xsqlite3_snprintf(tls, int32(40), pRet+196, __ccgo_ts+14114, libc.VaList(bp+8, pParse)) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.FzName = pRet + 196 (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Fop = uint8(TK_RETURNING) (*TReturning)(unsafe.Pointer(pRet)).FretTrig.Ftr_tm = uint8(TRIGGER_AFTER) @@ -171217,7 +171645,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok return } if int32((*TTable)(unsafe.Pointer(p)).FnCol)+int32(1) > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14009, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14134, libc.VaList(bp+40, (*TTable)(unsafe.Pointer(p)).FzName)) return } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -171227,12 +171655,12 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok ** by the parser, we can sometimes end up with a typename that ends ** with "generated always". Check for this case and omit the surplus ** text. */ - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+14032, int32(6)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(16) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(6)), __ccgo_ts+14157, int32(6)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(6) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1)))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- } - if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+14039, int32(9)) == 0 { + if (*(*TToken)(unsafe.Pointer(bp + 16))).Fn >= uint32(9) && Xsqlite3_strnicmp(tls, (*(*TToken)(unsafe.Pointer(bp + 16))).Fz+uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-libc.Uint32FromInt32(9)), __ccgo_ts+14164, int32(9)) == 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn -= uint32(9) for (*(*TToken)(unsafe.Pointer(bp + 16))).Fn > uint32(0) && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp + 16))).Fz + uintptr((*(*TToken)(unsafe.Pointer(bp + 16))).Fn-uint32(1)))))])&int32(0x01) != 0 { (*(*TToken)(unsafe.Pointer(bp + 16))).Fn-- @@ -171281,7 +171709,7 @@ func _sqlite3AddColumn(tls *libc.TLS, pParse uintptr, _sName TToken, _sType TTok break } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FhName) == int32(int32(hName)) && _sqlite3StrICmp(tls, z, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(i)*16))).FzCnName) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14049, libc.VaList(bp+40, z)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14174, libc.VaList(bp+40, z)) _sqlite3DbFree(tls, db, z) return } @@ -171489,10 +171917,10 @@ func _sqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar isInit = libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb) != int32(1)) pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(p)).FnCol)-int32(1))*16 if !(_sqlite3ExprIsConstantOrFunction(tls, pExpr, uint8(uint8(isInit))) != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14075, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14200, libc.VaList(bp+80, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } else { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14120, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14245, 0) } else { libc.Xmemset(tls, bp, 0, uint64(72)) (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_SPAN) @@ -171550,7 +171978,7 @@ func _makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { p1 = pCol + 14 *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(COLFLAG_PRIMKEY)) if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14161, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14286, 0) } } @@ -171587,7 +172015,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError goto primary_key_exit } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasPrimaryKey) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14213, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14338, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit } *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_HasPrimaryKey) @@ -171643,7 +172071,7 @@ func _sqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError _sqlite3HasExplicitNulls(tls, pParse, pList) } else { if autoInc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14254, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14379, 0) } else { _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), uintptr(0), sortOrder, 0, uint8(SQLITE_IDXTYPE_PRIMARYKEY)) pList = uintptr(0) @@ -171759,17 +172187,17 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui } pCol = (*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-int32(1))*16 if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) == int32(PARSE_MODE_DECLARE_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14310, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14435, 0) goto generated_done } if int32((*TColumn)(unsafe.Pointer(pCol)).FiDflt) > 0 { goto generated_error } if pType != 0 { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+14353, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(7) && Xsqlite3_strnicmp(tls, __ccgo_ts+14478, (*TToken)(unsafe.Pointer(pType)).Fz, int32(7)) == 0 { /* no-op */ } else { - if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+14361, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { + if (*TToken)(unsafe.Pointer(pType)).Fn == uint32(6) && Xsqlite3_strnicmp(tls, __ccgo_ts+14486, (*TToken)(unsafe.Pointer(pType)).Fz, int32(6)) == 0 { eType = uint8(COLFLAG_STORED) } else { goto generated_error @@ -171801,7 +172229,7 @@ func _sqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType ui goto generated_error generated_error: ; - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14368, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14493, libc.VaList(bp+8, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) goto generated_done generated_done: ; @@ -171964,13 +172392,13 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { } n += _identLength(tls, (*TTable)(unsafe.Pointer(p)).FzName) if n < int32(50) { - zSep = __ccgo_ts + 1658 - zSep2 = __ccgo_ts + 14399 - zEnd = __ccgo_ts + 6415 + zSep = __ccgo_ts + 1672 + zSep2 = __ccgo_ts + 14524 + zEnd = __ccgo_ts + 6479 } else { - zSep = __ccgo_ts + 14401 - zSep2 = __ccgo_ts + 14405 - zEnd = __ccgo_ts + 14410 + zSep = __ccgo_ts + 14526 + zSep2 = __ccgo_ts + 14530 + zEnd = __ccgo_ts + 14535 } n += int32(35) + int32(6)*int32((*TTable)(unsafe.Pointer(p)).FnCol) zStmt = _sqlite3DbMallocRaw(tls, uintptr(0), uint64(uint64(n))) @@ -171978,7 +172406,7 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { _sqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+14413, 0) + Xsqlite3_snprintf(tls, n, zStmt, __ccgo_ts+14538, 0) *(*int32)(unsafe.Pointer(bp)) = _sqlite3Strlen30(tls, zStmt) _identPut(tls, zStmt, bp, (*TTable)(unsafe.Pointer(p)).FzName) v2 = *(*int32)(unsafe.Pointer(bp)) @@ -172004,17 +172432,17 @@ func _createTableStmt(tls *libc.TLS, db uintptr, p uintptr) (r uintptr) { i++ pCol += 16 } - Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+4645, libc.VaList(bp+16, zEnd)) + Xsqlite3_snprintf(tls, n-*(*int32)(unsafe.Pointer(bp)), zStmt+uintptr(*(*int32)(unsafe.Pointer(bp))), __ccgo_ts+4709, libc.VaList(bp+16, zEnd)) return zStmt } var _azType1 = [6]uintptr{ - 0: __ccgo_ts + 1658, - 1: __ccgo_ts + 14427, - 2: __ccgo_ts + 14433, - 3: __ccgo_ts + 14438, - 4: __ccgo_ts + 14443, - 5: __ccgo_ts + 14433, + 0: __ccgo_ts + 1672, + 1: __ccgo_ts + 14552, + 2: __ccgo_ts + 14558, + 3: __ccgo_ts + 14563, + 4: __ccgo_ts + 14568, + 5: __ccgo_ts + 14558, } // C documentation @@ -172588,13 +173016,13 @@ func _sqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) (r int32) func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts Tu32, pSelect uintptr) { bp := tls.Alloc(112) defer tls.Free(112) - var addrInsLoop, addrTop, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v4, v6, v8 int32 + var addrInsLoop, addrTop, iCsr, iDb, ii, ii1, n, nNG, regRec, regRowid, regYield, v10, v4, v6, v8 int32 var colFlags Tu32 - var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v5, v7, v9 uintptr - var v10 Ti16 + var db, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, v, zStmt, zType, zType2, v11, v13, v5, v7, v9 uintptr + var v12 Ti16 var _ /* dest at bp+0 */ TSelectDest - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v4, v5, v6, v7, v8, v9 /* The new table */ - db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrInsLoop, addrTop, colFlags, db, iCsr, iDb, ii, ii1, n, nNG, p, pCol, pDb, pEnd2, pIdx, pOld, pSchema, pSelTab, pX, regRec, regRowid, regYield, v, zStmt, zType, zType2, v10, v11, v12, v13, v4, v5, v6, v7, v8, v9 /* The new table */ + db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* An implied index of the table */ if pEnd == uintptr(0) && pSelect == uintptr(0) { return } @@ -172616,7 +173044,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { if pSelect != 0 || !(int32((*TTable)(unsafe.Pointer(p)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) && (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1658, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1672, 0) return } (*TTable)(unsafe.Pointer(p)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum @@ -172643,9 +173071,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr pCol = (*TTable)(unsafe.Pointer(p)).FaCol + uintptr(ii)*16 if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf0>>4)) == COLTYPE_CUSTOM { if int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags)&int32(COLFLAG_HASTYPE) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14449, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1658))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14574, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1672))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14482, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14607, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) } return } else { @@ -172666,11 +173094,11 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* Special processing for WITHOUT ROWID Tables */ if tabOpts&uint32(TF_WithoutRowid) != 0 { if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14509, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14634, 0) return } if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasPrimaryKey) == uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14559, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14684, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)) return } *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) @@ -172717,7 +173145,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr ii1++ } if nNG == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14591, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14716, 0) return } } @@ -172751,12 +173179,12 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr */ if int32((*TTable)(unsafe.Pointer(p)).FeTabType) == TABTYP_NORM { /* A regular table */ - zType = __ccgo_ts + 10367 - zType2 = __ccgo_ts + 14635 + zType = __ccgo_ts + 10492 + zType2 = __ccgo_ts + 14760 } else { /* A view */ - zType = __ccgo_ts + 12105 - zType2 = __ccgo_ts + 14641 + zType = __ccgo_ts + 12230 + zType2 = __ccgo_ts + 14766 } /* If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT ** statement to populate the new table. The root-page number for the @@ -172771,28 +173199,31 @@ func _sqlite3EndTable(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 { /* A table that describes the SELECT results */ + if pSelect != 0 { /* Write cursor on the new table */ if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { (*TParse)(unsafe.Pointer(pParse)).Frc = int32(SQLITE_ERROR) (*TParse)(unsafe.Pointer(pParse)).FnErr++ return } - v5 = pParse + 56 - *(*int32)(unsafe.Pointer(v5))++ + v5 = pParse + 52 v4 = *(*int32)(unsafe.Pointer(v5)) - regYield = v4 + *(*int32)(unsafe.Pointer(v5))++ + iCsr = v4 v7 = pParse + 56 *(*int32)(unsafe.Pointer(v7))++ v6 = *(*int32)(unsafe.Pointer(v7)) - regRec = v6 + regYield = v6 v9 = pParse + 56 *(*int32)(unsafe.Pointer(v9))++ v8 = *(*int32)(unsafe.Pointer(v9)) - regRowid = v8 + regRec = v8 + v11 = pParse + 56 + *(*int32)(unsafe.Pointer(v11))++ + v10 = *(*int32)(unsafe.Pointer(v11)) + regRowid = v10 _sqlite3MayAbort(tls, pParse) - _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), int32(1), (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) + _sqlite3VdbeAddOp3(tls, v, int32(OP_OpenWrite), iCsr, (*TParse)(unsafe.Pointer(pParse)).FregRoot, iDb) _sqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_P2ISREG)) - (*TParse)(unsafe.Pointer(pParse)).FnTab = int32(2) addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { @@ -172802,9 +173233,9 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if pSelTab == uintptr(0) { return } - v10 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol - (*TTable)(unsafe.Pointer(p)).FnNVCol = v10 - (*TTable)(unsafe.Pointer(p)).FnCol = v10 + v12 = (*TTable)(unsafe.Pointer(pSelTab)).FnCol + (*TTable)(unsafe.Pointer(p)).FnNVCol = v12 + (*TTable)(unsafe.Pointer(p)).FnCol = v12 (*TTable)(unsafe.Pointer(p)).FaCol = (*TTable)(unsafe.Pointer(pSelTab)).FaCol (*TTable)(unsafe.Pointer(pSelTab)).FnCol = 0 (*TTable)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) @@ -172819,33 +173250,33 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr addrInsLoop = _sqlite3VdbeAddOp1(tls, v, int32(OP_Yield), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSDParm) _sqlite3VdbeAddOp3(tls, v, int32(OP_MakeRecord), (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst, (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst, regRec) _sqlite3TableAffinity(tls, v, p, 0) - _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), int32(1), regRowid) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), int32(1), regRec, regRowid) + _sqlite3VdbeAddOp2(tls, v, int32(OP_NewRowid), iCsr, regRowid) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Insert), iCsr, regRec, regRowid) _sqlite3VdbeGoto(tls, v, addrInsLoop) _sqlite3VdbeJumpHere(tls, v, addrInsLoop) - _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), int32(1)) + _sqlite3VdbeAddOp1(tls, v, int32(OP_Close), iCsr) } /* Compute the complete text of the CREATE statement */ if pSelect != 0 { zStmt = _createTableStmt(tls, db, p) } else { if tabOpts != 0 { - v11 = pParse + 288 + v13 = pParse + 288 } else { - v11 = pEnd + v13 = pEnd } - pEnd2 = v11 + pEnd2 = v13 n = int32(int64((*TToken)(unsafe.Pointer(pEnd2)).Fz) - int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) if int32(*(*int8)(unsafe.Pointer((*TToken)(unsafe.Pointer(pEnd2)).Fz))) != int32(';') { n = int32(uint32(n) + (*TToken)(unsafe.Pointer(pEnd2)).Fn) } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14646, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+14771, libc.VaList(bp+48, zType2, n, (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14661, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14786, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zType, (*TTable)(unsafe.Pointer(p)).FzName, (*TTable)(unsafe.Pointer(p)).FzName, (*TParse)(unsafe.Pointer(pParse)).FregRoot, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) _sqlite3DbFree(tls, db, zStmt) _sqlite3ChangeCookie(tls, pParse, iDb) /* Check to see if we need to create an sqlite_sequence table for @@ -172854,17 +173285,16 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_Autoincrement) != uint32(0) && !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != libc.Int32FromInt32(PARSE_MODE_NORMAL)) { pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 if (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14759, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+14884, libc.VaList(bp+48, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)) } } /* Reparse everything to update our internal data structures */ - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14801, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+14926, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(p)).FzName)), uint16(0)) /* Test for cycles in generated columns and illegal expressions ** in CHECK constraints and in DEFAULT clauses. */ if (*TTable)(unsafe.Pointer(p)).FtabFlags&uint32(TF_HasGenerated) != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+14835, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(0x0001), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+14960, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), int32(1), 0, 0, _sqlite3MPrintf(tls, db, __ccgo_ts+14856, libc.VaList(bp+48, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(p)).FzName)), -int32(6)) } /* Add the table to the in-memory representation of the database. */ @@ -172881,7 +173311,7 @@ func _sqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr /* If this is the magic sqlite_sequence table used by autoincrement, ** then record a pointer to this table in the main database structure ** so that INSERT can find the table easily. */ - if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+10889) == 0 { + if libc.Xstrcmp(tls, (*TTable)(unsafe.Pointer(p)).FzName, __ccgo_ts+11014) == 0 { (*TSchema)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } } @@ -172914,7 +173344,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*uintptr)(unsafe.Pointer(bp + 112)) = uintptr(0) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if int32((*TParse)(unsafe.Pointer(pParse)).FnVar) > 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14888, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14981, 0) goto create_view_fail } _sqlite3StartTable(tls, pParse, pName1, pName2, isTemp, int32(1), 0, noErr) @@ -172931,7 +173361,7 @@ func _sqlite3CreateView(tls *libc.TLS, pParse uintptr, pBegin uintptr, pName1 ui *(*Tu32)(unsafe.Pointer(p + 48)) |= uint32(TF_NoVisibleRowid) /* Never allow rowid in view */ _sqlite3TwoPartName(tls, pParse, pName1, pName2, bp+112) iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(p)).FpSchema) - _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+12105, *(*uintptr)(unsafe.Pointer(bp + 112))) + _sqlite3FixInit(tls, bp+16, pParse, iDb, __ccgo_ts+12230, *(*uintptr)(unsafe.Pointer(bp + 112))) if _sqlite3FixSelect(tls, bp+16, pSelect) != 0 { goto create_view_fail } @@ -173027,7 +173457,7 @@ func _viewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) (r int32 ** SELECT * FROM temp.ex1; */ if int32((*TTable)(unsafe.Pointer(pTable)).FnCol) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14924, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15017, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) return int32(1) } /* If we get this far, it means we need to compute the table names. @@ -173211,7 +173641,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { v = _sqlite3GetVdbe(tls, pParse) r1 = _sqlite3GetTempReg(tls, pParse) if iTable < int32(2) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14954, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15047, 0) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Destroy), iTable, r1, iDb) _sqlite3MayAbort(tls, pParse) @@ -173224,7 +173654,7 @@ func _destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { ** is in register NNN. See grammar rules associated with the TK_REGISTER ** token for additional information. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+14969, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+15062, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32))).FzDbSName, iTable, r1, r1)) _sqlite3ReleaseTempReg(tls, pParse, r1) } @@ -173307,9 +173737,9 @@ func _sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uin if !(i <= int32(4)) { break } - Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+15036, libc.VaList(bp+32, i)) + Xsqlite3_snprintf(tls, int32(24), bp, __ccgo_ts+15129, libc.VaList(bp+32, i)) if _sqlite3FindTable(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, bp, zDbName) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+12994, libc.VaList(bp+32, zDbName, bp, zType, zName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+13119, libc.VaList(bp+32, zDbName, bp, zType, zName)) } goto _1 _1: @@ -173350,7 +173780,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** move as a result of the drop (can happen in auto-vacuum mode). */ if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Autoincrement) != 0 { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+15050, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+15143, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) } /* Drop all entries in the schema table that refer to the ** table. The program name loops through the schema table and deletes @@ -173359,7 +173789,7 @@ func _sqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 ** created in the temp database that refers to a table in another ** database. */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+15095, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+15188, libc.VaList(bp+8, (*TDb)(unsafe.Pointer(pDb)).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { _destroyTable(tls, pParse, pTab) } @@ -173394,11 +173824,11 @@ func _sqlite3ReadOnlyShadowTables(tls *libc.TLS, db uintptr) (r int32) { // ** Return true if it is not allowed to drop the given table // */ func _tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) (r int32) { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+7834, int32(7)) == 0 { - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+15162, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+7898, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+15255, int32(4)) == 0 { return 0 } - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+8575, int32(10)) == 0 { + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName+uintptr(7), __ccgo_ts+8700, int32(10)) == 0 { return 0 } return int32(1) @@ -173453,9 +173883,9 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 7842 + v1 = __ccgo_ts + 7906 } else { - v1 = __ccgo_ts + 7375 + v1 = __ccgo_ts + 7439 } zTab = v1 zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName @@ -173488,18 +173918,18 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 goto exit_drop_table } if _tableMayNotBeDropped(tls, db, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15167, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15260, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Ensure DROP TABLE is not used on a view, and DROP VIEW is not used ** on a table. */ if isView != 0 && !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15195, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15288, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } if !(isView != 0) && int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15229, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15322, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table } /* Generate code to remove the table from the schema table @@ -173509,7 +173939,7 @@ func _sqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int3 if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) if !(isView != 0) { - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+13106, (*TTable)(unsafe.Pointer(pTab)).FzName) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+13231, (*TTable)(unsafe.Pointer(pTab)).FzName) _sqlite3FkDropTable(tls, pParse, pName, pTab) } _sqlite3CodeDropTable(tls, pParse, pTab, iDb, isView) @@ -173557,13 +173987,13 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p goto fk_end } if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15261, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15354, libc.VaList(bp+8, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(p)).FaCol + uintptr(iCol)*16))).FzCnName, pTo)) goto fk_end } nCol = int32(1) } else { if pToCol != 0 && (*TExprList)(unsafe.Pointer(pToCol)).FnExpr != (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15324, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15417, 0) goto fk_end } else { nCol = (*TExprList)(unsafe.Pointer(pFromCol)).FnExpr @@ -173626,7 +174056,7 @@ func _sqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, p j++ } if j >= int32((*TTable)(unsafe.Pointer(p)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15418, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15511, libc.VaList(bp+8, (*(*TExprList_item)(unsafe.Pointer(pFromCol + 8 + uintptr(i)*32))).FzEName)) goto fk_end } if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { @@ -173886,11 +174316,11 @@ func _sqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) (r i if int32(uint32(*(*uint16)(unsafe.Pointer(pList + 8 + uintptr(i)*32 + 16 + 4))&0x20>>5)) != 0 { sf = (*(*TExprList_item)(unsafe.Pointer(pList + 8 + uintptr(i)*32))).Ffg.FsortFlags if int32(int32(sf)) == 0 || int32(int32(sf)) == int32(3) { - v2 = __ccgo_ts + 15464 + v2 = __ccgo_ts + 15557 } else { - v2 = __ccgo_ts + 15470 + v2 = __ccgo_ts + 15563 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15475, libc.VaList(bp+8, v2)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15568, libc.VaList(bp+8, v2)) return int32(1) } goto _1 @@ -173968,7 +174398,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = int32(1) } } - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+15503, *(*uintptr)(unsafe.Pointer(bp + 96))) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+15596, *(*uintptr)(unsafe.Pointer(bp + 96))) if _sqlite3FixSrcList(tls, bp, pTblName) != 0 { /* Because the parser constructs pTblName from a single identifier, ** sqlite3FixSrcList can never fail. */ @@ -173978,7 +174408,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u goto exit_create_index } if iDb == int32(1) && (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema != (*TTable)(unsafe.Pointer(pTab)).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15509, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15602, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if !((*TTable)(unsafe.Pointer(pTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { @@ -173992,16 +174422,16 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) } pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32 - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+7834, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15559, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+7898, int32(7)) == 0 && int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) == 0 && pTblName != uintptr(0) { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15652, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15587, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15680, 0) goto exit_create_index } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15612, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15705, 0) goto exit_create_index } /* @@ -174022,19 +174452,19 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if zName == uintptr(0) { goto exit_create_index } - if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+15503, (*TTable)(unsafe.Pointer(pTab)).FzName) { + if SQLITE_OK != _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+15596, (*TTable)(unsafe.Pointer(pTab)).FzName) { goto exit_create_index } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if !((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0) { if _sqlite3FindTable(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15646, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15739, libc.VaList(bp+136, zName)) goto exit_create_index } } if _sqlite3FindIndex(tls, db, zName, (*TDb)(unsafe.Pointer(pDb)).FzDbSName) != uintptr(0) { if !(ifNotExist != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15680, libc.VaList(bp+136, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15773, libc.VaList(bp+136, zName)) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) _sqlite3ForceNotReadOnly(tls, pParse) @@ -174055,7 +174485,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pLoop = (*TIndex)(unsafe.Pointer(pLoop)).FpNext n++ } - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+15704, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+15797, libc.VaList(bp+136, (*TTable)(unsafe.Pointer(pTab)).FzName, n)) if zName == uintptr(0) { goto exit_create_index } @@ -174073,9 +174503,9 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { zDb = (*TDb)(unsafe.Pointer(pDb)).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 7842 + v2 = __ccgo_ts + 7906 } else { - v2 = __ccgo_ts + 7375 + v2 = __ccgo_ts + 7439 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v2, uintptr(0), zDb) != 0 { goto exit_create_index @@ -174103,7 +174533,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } _sqlite3ExprListSetSortOrder(tls, pList, sortOrder, -int32(1)) } else { - _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+15503) + _sqlite3ExprListCheckLength(tls, pParse, pList, __ccgo_ts+15596) if (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { goto exit_create_index } @@ -174187,7 +174617,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pCExpr = _sqlite3ExprSkipCollate(tls, (*TExprList_item)(unsafe.Pointer(pListItem)).FpExpr) if int32((*TExpr)(unsafe.Pointer(pCExpr)).Fop) != int32(TK_COLUMN) { if pTab == (*TParse)(unsafe.Pointer(pParse)).FpNewTable { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15727, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15820, 0) goto exit_create_index } if (*TIndex)(unsafe.Pointer(pIndex)).FaColExpr == uintptr(0) { @@ -174334,7 +174764,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u ** explicitly specified behavior for the index. */ if !(int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) || int32((*TIndex)(unsafe.Pointer(pIndex)).FonError) == int32(OE_Default)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15788, libc.VaList(bp+136, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15881, libc.VaList(bp+136, 0)) } if int32((*TIndex)(unsafe.Pointer(pIdx)).FonError) == int32(OE_Default) { (*TIndex)(unsafe.Pointer(pIdx)).FonError = (*TIndex)(unsafe.Pointer(pIndex)).FonError @@ -174364,8 +174794,8 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != uintptr(0) { (*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15830, 0) - (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125123)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15923, 0) + (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(125741)) goto exit_create_index } } @@ -174405,11 +174835,11 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* A named index with an explicit CREATE INDEX statement */ if onError == OE_None { - v13 = __ccgo_ts + 1658 + v13 = __ccgo_ts + 1672 } else { - v13 = __ccgo_ts + 15847 + v13 = __ccgo_ts + 15940 } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+15855, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+15948, libc.VaList(bp+136, v13, n1, (*TToken)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))).Fz)) } else { /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */ /* zStmt = sqlite3MPrintf(""); */ @@ -174417,7 +174847,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u } /* Add an entry in sqlite_schema for this index */ - _sqlite3NestedParse(tls, pParse, __ccgo_ts+15875, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+15968, libc.VaList(bp+136, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, iMem, zStmt)) _sqlite3DbFree(tls, db, zStmt) /* Fill the index with data and reparse the schema. Code an OP_Expire ** to invalidate all pre-compiled statements. @@ -174425,7 +174855,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u if pTblName != 0 { _sqlite3RefillIndex(tls, pParse, pIndex, iMem) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+15934, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+16027, libc.VaList(bp+136, (*TIndex)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) _sqlite3VdbeAddOp2(tls, v, int32(OP_Expire), 0, int32(1)) } _sqlite3VdbeJumpHere(tls, v, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum)) @@ -174588,7 +175018,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pIndex = _sqlite3FindIndex(tls, db, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzName, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) if pIndex == uintptr(0) { if !(ifExists != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15961, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16054, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(pName + 8))).FzDatabase) _sqlite3ForceNotReadOnly(tls, pParse) @@ -174597,7 +175027,7 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in goto exit_drop_index } if int32(uint32(*(*uint16)(unsafe.Pointer(pIndex + 100))&0x3>>0)) != SQLITE_IDXTYPE_APPDEF { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15979, libc.VaList(bp+8, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16072, libc.VaList(bp+8, 0)) goto exit_drop_index } iDb = _sqlite3SchemaToIndex(tls, db, (*TIndex)(unsafe.Pointer(pIndex)).FpSchema) @@ -174605,9 +175035,9 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in pTab = (*TIndex)(unsafe.Pointer(pIndex)).FpTable zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 7842 + v1 = __ccgo_ts + 7906 } else { - v1 = __ccgo_ts + 7375 + v1 = __ccgo_ts + 7439 } zTab = v1 if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_DELETE), zTab, uintptr(0), zDb) != 0 { @@ -174623,8 +175053,8 @@ func _sqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists in v = _sqlite3GetVdbe(tls, pParse) if v != 0 { _sqlite3BeginWriteOperation(tls, pParse, int32(1), iDb) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+16052, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) - _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+13102, (*TIndex)(unsafe.Pointer(pIndex)).FzName) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+16145, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TIndex)(unsafe.Pointer(pIndex)).FzName)) + _sqlite3ClearStatTables(tls, pParse, iDb, __ccgo_ts+13227, (*TIndex)(unsafe.Pointer(pIndex)).FzName) _sqlite3ChangeCookie(tls, pParse, iDb) _destroyRootPage(tls, pParse, int32((*TIndex)(unsafe.Pointer(pIndex)).Ftnum), iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropIndex), iDb, 0, 0, (*TIndex)(unsafe.Pointer(pIndex)).FzName, 0) @@ -174815,7 +175245,7 @@ func _sqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra nAlloc = int64(2)*int64((*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) + int64(int64(nExtra)) db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc+nExtra >= int32(SQLITE_MAX_SRCLIST) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16112, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16205, libc.VaList(bp+8, int32(SQLITE_MAX_SRCLIST))) return uintptr(0) } if nAlloc > int64(SQLITE_MAX_SRCLIST) { @@ -175047,11 +175477,11 @@ func _sqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa db = (*TParse)(unsafe.Pointer(pParse)).Fdb if !(p != 0) && pOnUsing != uintptr(0) && ((*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 || (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpUsing != 0) { if (*TOnOrUsing)(unsafe.Pointer(pOnUsing)).FpOn != 0 { - v1 = __ccgo_ts + 16148 + v1 = __ccgo_ts + 16241 } else { - v1 = __ccgo_ts + 16151 + v1 = __ccgo_ts + 16244 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16157, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16250, libc.VaList(bp+8, v1)) goto append_from_error } p = _sqlite3SrcListAppend(tls, pParse, p, pTable, pDatabase) @@ -175249,7 +175679,7 @@ func _sqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { var eTxnType, i int32 _, _, _, _, _ = db, eTxnType, i, pBt, v db = (*TParse)(unsafe.Pointer(pParse)).Fdb - if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+16193, uintptr(0), uintptr(0)) != 0 { + if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), __ccgo_ts+16286, uintptr(0), uintptr(0)) != 0 { return } v = _sqlite3GetVdbe(tls, pParse) @@ -175296,9 +175726,9 @@ func _sqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { _, _, _ = isRollback, v, v1 isRollback = libc.BoolInt32(eType == int32(TK_ROLLBACK)) if isRollback != 0 { - v1 = __ccgo_ts + 16199 + v1 = __ccgo_ts + 16292 } else { - v1 = __ccgo_ts + 16208 + v1 = __ccgo_ts + 16301 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_TRANSACTION), v1, uintptr(0), uintptr(0)) != 0 { return @@ -175330,9 +175760,9 @@ func _sqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } var _az = [3]uintptr{ - 0: __ccgo_ts + 16193, - 1: __ccgo_ts + 16215, - 2: __ccgo_ts + 16199, + 0: __ccgo_ts + 16286, + 1: __ccgo_ts + 16308, + 2: __ccgo_ts + 16292, } // C documentation @@ -175352,7 +175782,7 @@ func _sqlite3OpenTempDatabase(tls *libc.TLS, pParse uintptr) (r int32) { if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt == uintptr(0) && !((*TParse)(unsafe.Pointer(pParse)).Fexplain != 0) { rc = _sqlite3BtreeOpen(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, uintptr(0), db, bp, 0, _flags) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16223, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16316, 0) (*TParse)(unsafe.Pointer(pParse)).Frc = rc return int32(1) } @@ -175536,7 +175966,7 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable _sqlite3StrAccumInit(tls, bp, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb + 136))) if (*TIndex)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+16293, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+16386, libc.VaList(bp+40, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) } else { j = 0 for { @@ -175545,10 +175975,10 @@ func _sqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx } zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*16))).FzCnName if j != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+16304, int32(2)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+16397, int32(2)) } Xsqlite3_str_appendall(tls, bp, (*TTable)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp, __ccgo_ts+1671, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+1685, int32(1)) Xsqlite3_str_appendall(tls, bp, zCol) goto _1 _1: @@ -175577,10 +176007,10 @@ func _sqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab var zMsg uintptr _, _ = rc, zMsg if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+13690, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + zMsg = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+13815, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) rc = libc.Int32FromInt32(SQLITE_CONSTRAINT) | libc.Int32FromInt32(6)< libc.BoolInt32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16423, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16516, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } return 0 } @@ -176683,11 +177113,11 @@ func _sqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, pTrigger ui bp := tls.Alloc(16) defer tls.Free(16) if _tabIsReadOnly(tls, pParse, pTab) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16456, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16549, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && (pTrigger == uintptr(0) || (*TTrigger)(unsafe.Pointer(pTrigger)).FbReturning != 0 && (*TTrigger)(unsafe.Pointer(pTrigger)).FpNext == uintptr(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16485, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16578, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(1) } return 0 @@ -177090,7 +177520,7 @@ func _sqlite3DeleteFrom(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** invoke the callback function. */ if memCnt != 0 { - _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+16523) + _sqlite3CodeChangeCount(tls, v, memCnt, __ccgo_ts+16616) } goto delete_from_cleanup delete_from_cleanup: @@ -177238,7 +177668,7 @@ func _sqlite3GenerateRowDelete(tls *libc.TLS, pParse uintptr, pTab uintptr, pTri v3 = 0 } _sqlite3VdbeAddOp2(tls, v, int32(OP_Delete), iDataCur, v3) - if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+12891) { + if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 || 0 == Xsqlite3_stricmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+13016) { _sqlite3VdbeAppendP4(tls, v, pTab, -int32(5)) } if int32(int32(eMode)) != ONEPASS_OFF { @@ -177542,11 +177972,11 @@ func _typeofFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { } var _azType2 = [5]uintptr{ - 0: __ccgo_ts + 7615, - 1: __ccgo_ts + 7610, - 2: __ccgo_ts + 9506, - 3: __ccgo_ts + 9501, - 4: __ccgo_ts + 1644, + 0: __ccgo_ts + 7679, + 1: __ccgo_ts + 7674, + 2: __ccgo_ts + 9631, + 3: __ccgo_ts + 9626, + 4: __ccgo_ts + 1658, } // C documentation @@ -177660,7 +178090,7 @@ func _absFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* IMP: R-31676-45509 If X is the integer -9223372036854775808 ** then abs(X) throws an integer overflow error since there is no ** equivalent positive 64-bit two complement value. */ - Xsqlite3_result_error(tls, context, __ccgo_ts+16536, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+16629, -int32(1)) return } iVal = -iVal @@ -177975,7 +178405,7 @@ func _roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } *(*float64)(unsafe.Pointer(bp)) = float64(int64(*(*float64)(unsafe.Pointer(bp)) + v1)) } else { - zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+16553, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) + zBuf = Xsqlite3_mprintf(tls, __ccgo_ts+16646, libc.VaList(bp+16, n, *(*float64)(unsafe.Pointer(bp)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -178555,7 +178985,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { */ nPat = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) if nPat > *(*int32)(unsafe.Pointer(db + 136 + 8*4)) { - Xsqlite3_result_error(tls, context, __ccgo_ts+16559, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+16652, -int32(1)) return } if argc == int32(3) { @@ -178567,7 +178997,7 @@ func _likeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { return } if _sqlite3Utf8CharLen(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), -int32(1)) != int32(1) { - Xsqlite3_result_error(tls, context, __ccgo_ts+16592, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+16685, -int32(1)) return } escape = _sqlite3Utf8Read(tls, bp+8) @@ -178649,7 +179079,7 @@ func _errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { defer tls.Free(16) _ = argc _ = context - Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+4645, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + Xsqlite3_log(tls, Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv))), __ccgo_ts+4709, libc.VaList(bp+8, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // C documentation @@ -178736,17 +179166,17 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_FLOAT): r1 = Xsqlite3_value_double(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+16637, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+16730, libc.VaList(bp+16, r1)) zVal = Xsqlite3_str_value(tls, pStr) if zVal != 0 { _sqlite3AtoF(tls, zVal, bp, int32((*TStrAccum)(unsafe.Pointer(pStr)).FnChar), uint8(SQLITE_UTF8)) if r1 != *(*float64)(unsafe.Pointer(bp)) { Xsqlite3_str_reset(tls, pStr) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+16645, libc.VaList(bp+16, r1)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+16738, libc.VaList(bp+16, r1)) } } case int32(SQLITE_INTEGER): - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1414, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+1433, libc.VaList(bp+16, Xsqlite3_value_int64(tls, pValue))) case int32(SQLITE_BLOB): zBlob = Xsqlite3_value_blob(tls, pValue) nBlob = int64(Xsqlite3_value_bytes(tls, pValue)) @@ -178774,9 +179204,9 @@ func _sqlite3QuoteValue(tls *libc.TLS, pStr uintptr, pValue uintptr) { } case int32(SQLITE_TEXT): zArg = Xsqlite3_value_text(tls, pValue) - Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+16653, libc.VaList(bp+16, zArg)) + Xsqlite3_str_appendf(tls, pStr, __ccgo_ts+16746, libc.VaList(bp+16, zArg)) default: - Xsqlite3_str_append(tls, pStr, __ccgo_ts+1659, int32(4)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+1673, int32(4)) break } } @@ -179013,7 +179443,7 @@ func _unhexFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { var v3 uint32 var _ /* zHex at bp+0 */ uintptr _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, ch, d, nHex, nPass, p, pBlob, zPass, v1, v2, v3, v4, v5, v6 - zPass = __ccgo_ts + 1658 + zPass = __ccgo_ts + 1672 nPass = 0 *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) nHex = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -179326,7 +179756,7 @@ var _lenOne = [1]uint32{ } var _azOne = [1]uintptr{ - 0: __ccgo_ts + 12511, + 0: __ccgo_ts + 12636, } // C documentation @@ -179394,7 +179824,7 @@ func _concatFuncCore(tls *libc.TLS, context uintptr, argc int32, argv uintptr, n // ** concatentation of all non-null arguments. // */ func _concatFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { - _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1658) + _concatFuncCore(tls, context, argc, argv, 0, __ccgo_ts+1672) } // C documentation @@ -179440,7 +179870,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { _, _, _, _, _, _, _ = code, i, j, prevcode, zIn, v3, v4 zIn = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) if zIn == uintptr(0) { - zIn = __ccgo_ts + 1658 + zIn = __ccgo_ts + 1672 } i = 0 for { @@ -179486,7 +179916,7 @@ func _soundexFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } else { /* IMP: R-64894-50321 The string "?000" is returned if the argument ** is NULL or contains no ASCII alphabetic characters. */ - Xsqlite3_result_text(tls, context, __ccgo_ts+16656, int32(4), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, context, __ccgo_ts+16749, int32(4), libc.UintptrFromInt32(0)) } } @@ -179547,7 +179977,7 @@ func _loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { ** flag is set. See the sqlite3_enable_load_extension() API. */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_LoadExtFunc) == uint64(0) { - Xsqlite3_result_error(tls, context, __ccgo_ts+13729, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+13854, -int32(1)) return } if argc == int32(2) { @@ -179736,7 +180166,7 @@ func _sumFinalize(tls *libc.TLS, context uintptr) { if p != 0 && (*TSumCtx)(unsafe.Pointer(p)).Fcnt > 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fapprox != 0 { if (*TSumCtx)(unsafe.Pointer(p)).Fovrfl != 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+16536, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+16629, -int32(1)) } else { if !(_sqlite3IsOverflow(tls, (*TSumCtx)(unsafe.Pointer(p)).FrErr) != 0) { Xsqlite3_result_double(tls, context, (*TSumCtx)(unsafe.Pointer(p)).FrSum+(*TSumCtx)(unsafe.Pointer(p)).FrErr) @@ -180078,7 +180508,7 @@ func _groupConcatValue(tls *libc.TLS, context uintptr) { func _sqlite3RegisterPerConnectionBuiltinFunctions(tls *libc.TLS, db uintptr) { var rc int32 _ = rc - rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+16661, int32(2)) + rc = Xsqlite3_overload_function(tls, db, __ccgo_ts+16754, int32(2)) if rc == int32(SQLITE_NOMEM) { _sqlite3OomFault(tls, db) } @@ -180107,8 +180537,8 @@ func _sqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 if !(nArg <= int32(3)) { break } - _sqlite3CreateFunc(tls, db, __ccgo_ts+16667, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+16667, nArg, uint8(SQLITE_UTF8), uint8(0)) + _sqlite3CreateFunc(tls, db, __ccgo_ts+16760, nArg, int32(SQLITE_UTF8), pInfo, __ccgo_fp(_likeFunc), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + pDef = _sqlite3FindFunction(tls, db, __ccgo_ts+16760, nArg, uint8(SQLITE_UTF8), uint8(0)) *(*Tu32)(unsafe.Pointer(pDef + 4)) |= uint32(uint32(flags)) *(*Tu32)(unsafe.Pointer(pDef + 4)) &= uint32(^libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)) goto _1 @@ -180414,562 +180844,562 @@ var _aBuiltinFunc = [110]TFuncDef{ FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_implies_nonnull_row))), - FzName: __ccgo_ts + 16672, + FzName: __ccgo_ts + 16765, }, 1: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_compare))), - FzName: __ccgo_ts + 16692, + FzName: __ccgo_ts + 16785, }, 2: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_expr_implies_expr))), - FzName: __ccgo_ts + 16705, + FzName: __ccgo_ts + 16798, }, 3: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INTERNAL) | libc.Int32FromInt32(SQLITE_FUNC_TEST) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_affinity))), - FzName: __ccgo_ts + 16723, + FzName: __ccgo_ts + 16816, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16732, + FzName: __ccgo_ts + 16825, }, 5: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 16740, + FzName: __ccgo_ts + 16833, }, 6: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_FUNC_UNSAFE)), - FzName: __ccgo_ts + 16740, + FzName: __ccgo_ts + 16833, }, 7: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16755, + FzName: __ccgo_ts + 16848, }, 8: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 16781, + FzName: __ccgo_ts + 16874, }, 9: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 16806, + FzName: __ccgo_ts + 16899, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 16815, + FzName: __ccgo_ts + 16908, }, 11: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_FUNC_UNLIKELY)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_unlikely))), - FzName: __ccgo_ts + 16826, + FzName: __ccgo_ts + 16919, }, 12: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_sqlite_offset))), - FzName: __ccgo_ts + 16833, + FzName: __ccgo_ts + 16926, }, 13: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 16847, + FzName: __ccgo_ts + 16940, }, 14: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 16847, + FzName: __ccgo_ts + 16940, }, 15: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 16853, + FzName: __ccgo_ts + 16946, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 16853, + FzName: __ccgo_ts + 16946, }, 17: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 16859, + FzName: __ccgo_ts + 16952, }, 18: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(3))), - FzName: __ccgo_ts + 16859, + FzName: __ccgo_ts + 16952, }, 19: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16864, + FzName: __ccgo_ts + 16957, }, 20: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16864, + FzName: __ccgo_ts + 16957, }, 21: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 16864, + FzName: __ccgo_ts + 16957, }, 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 16868, + FzName: __ccgo_ts + 16961, }, 23: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 16868, + FzName: __ccgo_ts + 16961, }, 24: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_MINMAX) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 16868, + FzName: __ccgo_ts + 16961, }, 25: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 16872, + FzName: __ccgo_ts + 16965, }, 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_TYPEOF)), - FzName: __ccgo_ts + 16879, + FzName: __ccgo_ts + 16972, }, 27: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_LENGTH)), - FzName: __ccgo_ts + 16887, + FzName: __ccgo_ts + 16980, }, 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_BYTELEN)), - FzName: __ccgo_ts + 16894, + FzName: __ccgo_ts + 16987, }, 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16907, + FzName: __ccgo_ts + 17000, }, 30: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16913, + FzName: __ccgo_ts + 17006, }, 31: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16920, + FzName: __ccgo_ts + 17013, }, 32: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16927, + FzName: __ccgo_ts + 17020, }, 33: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16935, + FzName: __ccgo_ts + 17028, }, 34: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16940, + FzName: __ccgo_ts + 17033, }, 35: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16944, + FzName: __ccgo_ts + 17037, }, 36: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16944, + FzName: __ccgo_ts + 17037, }, 37: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16950, + FzName: __ccgo_ts + 17043, }, 38: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16956, + FzName: __ccgo_ts + 17049, }, 39: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16962, + FzName: __ccgo_ts + 17055, }, 40: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16966, + FzName: __ccgo_ts + 17059, }, 41: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16966, + FzName: __ccgo_ts + 17059, }, 42: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16972, + FzName: __ccgo_ts + 17065, }, 43: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16972, + FzName: __ccgo_ts + 17065, }, 44: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16979, + FzName: __ccgo_ts + 17072, }, 45: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16979, + FzName: __ccgo_ts + 17072, }, 46: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16979, + FzName: __ccgo_ts + 17072, }, 47: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 16989, + FzName: __ccgo_ts + 17082, }, 48: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 16996, + FzName: __ccgo_ts + 17089, }, 49: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17003, + FzName: __ccgo_ts + 17096, }, 50: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17014, + FzName: __ccgo_ts + 17107, }, 51: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17021, + FzName: __ccgo_ts + 17114, }, 52: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_SLOCHNG) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17036, + FzName: __ccgo_ts + 17129, }, 53: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17053, + FzName: __ccgo_ts + 17146, }, 54: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17064, + FzName: __ccgo_ts + 17157, }, 55: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17070, + FzName: __ccgo_ts + 17163, }, 56: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17088, + FzName: __ccgo_ts + 17181, }, 57: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17096, + FzName: __ccgo_ts + 17189, }, 58: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17110, + FzName: __ccgo_ts + 17203, }, 59: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17118, + FzName: __ccgo_ts + 17211, }, 60: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17127, + FzName: __ccgo_ts + 17220, }, 61: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17127, + FzName: __ccgo_ts + 17220, }, 62: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17134, + FzName: __ccgo_ts + 17227, }, 63: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17134, + FzName: __ccgo_ts + 17227, }, 64: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 17144, + FzName: __ccgo_ts + 17237, }, 65: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 17148, + FzName: __ccgo_ts + 17241, }, 66: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 17154, + FzName: __ccgo_ts + 17247, }, 67: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_COUNT) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 17158, + FzName: __ccgo_ts + 17251, }, 68: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_FUNC_ANYORDER)), - FzName: __ccgo_ts + 17158, + FzName: __ccgo_ts + 17251, }, 69: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 17164, + FzName: __ccgo_ts + 17257, }, 70: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 17164, + FzName: __ccgo_ts + 17257, }, 71: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 17177, + FzName: __ccgo_ts + 17270, }, 72: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE) | libc.Int32FromInt32(SQLITE_FUNC_CASE)), FpUserData: uintptr(unsafe.Pointer(&_globInfo)), - FzName: __ccgo_ts + 17188, + FzName: __ccgo_ts + 17281, }, 73: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 16667, + FzName: __ccgo_ts + 16760, }, 74: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_LIKE)), FpUserData: uintptr(unsafe.Pointer(&_likeInfoNorm)), - FzName: __ccgo_ts + 16667, + FzName: __ccgo_ts + 16760, }, 75: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 8039, + FzName: __ccgo_ts + 8103, }, 76: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 8039, + FzName: __ccgo_ts + 8103, }, 77: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17193, + FzName: __ccgo_ts + 17286, }, 78: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17198, + FzName: __ccgo_ts + 1245, }, 79: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17206, + FzName: __ccgo_ts + 1253, }, 80: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17212, + FzName: __ccgo_ts + 17291, }, 81: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17218, + FzName: __ccgo_ts + 17297, }, 82: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 17221, + FzName: __ccgo_ts + 17300, }, 83: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(1))), - FzName: __ccgo_ts + 17225, + FzName: __ccgo_ts + 17304, }, 84: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), FpUserData: uintptr(int64(libc.Int32FromInt32(2))), - FzName: __ccgo_ts + 17231, + FzName: __ccgo_ts + 17310, }, 85: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17221, + FzName: __ccgo_ts + 17300, }, 86: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17236, + FzName: __ccgo_ts + 17315, }, 87: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17240, + FzName: __ccgo_ts + 17319, }, 88: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17244, + FzName: __ccgo_ts + 17323, }, 89: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17250, + FzName: __ccgo_ts + 17329, }, 90: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17254, + FzName: __ccgo_ts + 17333, }, 91: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17259, + FzName: __ccgo_ts + 17338, }, 92: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17264, + FzName: __ccgo_ts + 17343, }, 93: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17269, + FzName: __ccgo_ts + 17348, }, 94: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17275, + FzName: __ccgo_ts + 17354, }, 95: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17279, + FzName: __ccgo_ts + 17358, }, 96: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17283, + FzName: __ccgo_ts + 17362, }, 97: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17287, + FzName: __ccgo_ts + 17366, }, 98: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17292, + FzName: __ccgo_ts + 17371, }, 99: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17297, + FzName: __ccgo_ts + 17376, }, 100: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17302, + FzName: __ccgo_ts + 17381, }, 101: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17308, + FzName: __ccgo_ts + 17387, }, 102: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17314, + FzName: __ccgo_ts + 17393, }, 103: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17320, + FzName: __ccgo_ts + 17399, }, 104: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17325, + FzName: __ccgo_ts + 17404, }, 105: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8)), - FzName: __ccgo_ts + 17333, + FzName: __ccgo_ts + 17412, }, 106: { FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17341, + FzName: __ccgo_ts + 17420, }, 107: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL)), - FzName: __ccgo_ts + 17344, + FzName: __ccgo_ts + 17423, }, 108: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), - FzName: __ccgo_ts + 8039, + FzName: __ccgo_ts + 8103, }, 109: { FnArg: int8(3), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_FUNC_INLINE) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(0)), FpUserData: uintptr(int64(libc.Int32FromInt32(INLINEFUNC_iif))), - FzName: __ccgo_ts + 17349, + FzName: __ccgo_ts + 17428, }, } @@ -181446,7 +181876,7 @@ func _sqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey } if !(pIdx != 0) { if !((*TParse)(unsafe.Pointer(pParse)).FdisableTriggers != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17353, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17432, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TFKey)(unsafe.Pointer(pFKey)).FpFrom)).FzName, (*TFKey)(unsafe.Pointer(pFKey)).FzTo)) } _sqlite3DbFree(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, aiCol) return int32(1) @@ -182557,11 +182987,11 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr break } *(*TToken)(unsafe.Pointer(bp + 16)) = TToken{ - Fz: __ccgo_ts + 7905, + Fz: __ccgo_ts + 7969, Fn: uint32(3), } /* Literal "old" token */ *(*TToken)(unsafe.Pointer(bp + 32)) = TToken{ - Fz: __ccgo_ts + 7901, + Fz: __ccgo_ts + 7965, Fn: uint32(3), } /* tFromCol = OLD.tToCol */ if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { @@ -182625,7 +183055,7 @@ func _fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr nFrom = _sqlite3Strlen30(tls, zFrom) if action == int32(OE_Restrict) { iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+6534) + pRaise = _sqlite3Expr(tls, db, int32(TK_RAISE), __ccgo_ts+6598) if pRaise != 0 { (*TExpr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -183206,7 +183636,7 @@ func _sqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9471, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+9596, libc.VaList(bp+56, (*TColumn)(unsafe.Pointer(pRedo)).FzCnName)) } (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -183467,6 +183897,219 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { } } +// C documentation +// +// /* +// ** If argument pVal is a Select object returned by an sqlite3MultiValues() +// ** that was able to use the co-routine optimization, finish coding the +// ** co-routine. +// */ +func _sqlite3MultiValuesEnd(tls *libc.TLS, pParse uintptr, pVal uintptr) { + var pItem uintptr + _ = pItem + if pVal != 0 && (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pVal)).FpSrc)).FnSrc > 0 { + pItem = (*TSelect)(unsafe.Pointer(pVal)).FpSrc + 8 + _sqlite3VdbeEndCoroutine(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn) + _sqlite3VdbeJumpHere(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, (*TSrcItem)(unsafe.Pointer(pItem)).FaddrFillSub-int32(1)) + } +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are constant. +// */ +func _exprListIsConstant(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + if 0 == _sqlite3ExprIsConstant(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** Return true if all expressions in the expression-list passed as the +// ** only argument are both constant and have no affinity. +// */ +func _exprListIsNoAffinity(tls *libc.TLS, pParse uintptr, pRow uintptr) (r int32) { + var ii int32 + var pExpr uintptr + _, _ = ii, pExpr + if _exprListIsConstant(tls, pParse, pRow) == 0 { + return 0 + } + ii = 0 + for { + if !(ii < (*TExprList)(unsafe.Pointer(pRow)).FnExpr) { + break + } + pExpr = (*(*TExprList_item)(unsafe.Pointer(pRow + 8 + uintptr(ii)*32))).FpExpr + if 0 != int32(_sqlite3ExprAffinity(tls, pExpr)) { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + +// C documentation +// +// /* +// ** This function is called by the parser for the second and subsequent +// ** rows of a multi-row VALUES clause. Argument pLeft is the part of +// ** the VALUES clause already parsed, argument pRow is the vector of values +// ** for the new row. The Select object returned represents the complete +// ** VALUES clause, including the new row. +// ** +// ** There are two ways in which this may be achieved - by incremental +// ** coding of a co-routine (the "co-routine" method) or by returning a +// ** Select object equivalent to the following (the "UNION ALL" method): +// ** +// ** "pLeft UNION ALL SELECT pRow" +// ** +// ** If the VALUES clause contains a lot of rows, this compound Select +// ** object may consume a lot of memory. +// ** +// ** When the co-routine method is used, each row that will be returned +// ** by the VALUES clause is coded into part of a co-routine as it is +// ** passed to this function. The returned Select object is equivalent to: +// ** +// ** SELECT * FROM ( +// ** Select object to read co-routine +// ** ) +// ** +// ** The co-routine method is used in most cases. Exceptions are: +// ** +// ** a) If the current statement has a WITH clause. This is to avoid +// ** statements like: +// ** +// ** WITH cte AS ( VALUES('x'), ('y') ... ) +// ** SELECT * FROM cte AS a, cte AS b; +// ** +// ** This will not work, as the co-routine uses a hard-coded register +// ** for its OP_Yield instructions, and so it is not possible for two +// ** cursors to iterate through it concurrently. +// ** +// ** b) The schema is currently being parsed (i.e. the VALUES clause is part +// ** of a schema item like a VIEW or TRIGGER). In this case there is no VM +// ** being generated when parsing is taking place, and so generating +// ** a co-routine is not possible. +// ** +// ** c) There are non-constant expressions in the VALUES clause (e.g. +// ** the VALUES clause is part of a correlated sub-query). +// ** +// ** d) One or more of the values in the first row of the VALUES clause +// ** has an affinity (i.e. is a CAST expression). This causes problems +// ** because the complex rules SQLite uses (see function +// ** sqlite3SubqueryColumnTypes() in select.c) to determine the effective +// ** affinity of such a column for all rows require access to all values in +// ** the column simultaneously. +// */ +func _sqlite3MultiValues(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRow uintptr) (r uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var f, v1 int32 + var p, pRet, pSelect, v, v2 uintptr + var _ /* dest at bp+0 */ TSelectDest + _, _, _, _, _, _, _ = f, p, pRet, pSelect, v, v1, v2 + if (*TParse)(unsafe.Pointer(pParse)).FbHasWith != 0 || (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy != 0 || _exprListIsConstant(tls, pParse, pRow) == 0 || (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 && _exprListIsNoAffinity(tls, pParse, (*TSelect)(unsafe.Pointer(pLeft)).FpEList) == 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) != PARSE_MODE_NORMAL { + /* The co-routine method cannot be used. Fall back to UNION ALL. */ + pSelect = uintptr(0) + f = libc.Int32FromInt32(SF_Values) | libc.Int32FromInt32(SF_MultiValue) + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc != 0 { + _sqlite3MultiValuesEnd(tls, pParse, pLeft) + f = int32(SF_Values) + } else { + if (*TSelect)(unsafe.Pointer(pLeft)).FpPrior != 0 { + /* In this case set the SF_MultiValue flag only if it was set on pLeft */ + f = int32(uint32(uint32(f)) & (*TSelect)(unsafe.Pointer(pLeft)).FselFlags) + } + } + pSelect = _sqlite3SelectNew(tls, pParse, pRow, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(uint32(f)), uintptr(0)) + *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) + if pSelect != 0 { + (*TSelect)(unsafe.Pointer(pSelect)).Fop = uint8(TK_ALL) + (*TSelect)(unsafe.Pointer(pSelect)).FpPrior = pLeft + pLeft = pSelect + } + } else { + p = uintptr(0) /* SrcItem that reads from co-routine */ + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpSrc)).FnSrc == 0 { + /* Co-routine has not yet been started and the special Select object + ** that accesses the co-routine has not yet been created. This block + ** does both those things. */ + v = _sqlite3GetVdbe(tls, pParse) + pRet = _sqlite3SelectNew(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) + /* Ensure the database schema has been read. This is to ensure we have + ** the correct text encoding. */ + if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmDbFlags&uint32(DBFLAG_SchemaKnownOk) == uint32(0) { + _sqlite3ReadSchema(tls, pParse) + } + if pRet != 0 { + (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pRet)).FpSrc)).FnSrc = int32(1) + (*TSelect)(unsafe.Pointer(pRet)).FpPrior = (*TSelect)(unsafe.Pointer(pLeft)).FpPrior + (*TSelect)(unsafe.Pointer(pRet)).Fop = (*TSelect)(unsafe.Pointer(pLeft)).Fop + (*TSelect)(unsafe.Pointer(pLeft)).FpPrior = uintptr(0) + (*TSelect)(unsafe.Pointer(pLeft)).Fop = uint8(TK_SELECT) + p = (*TSelect)(unsafe.Pointer(pRet)).FpSrc + 8 + (*TSrcItem)(unsafe.Pointer(p)).FpSelect = pLeft + libc.SetBitFieldPtr16Uint32(p+60+4, libc.Uint32FromInt32(1), 5, 0x20) + (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + v2 = pParse + 56 + *(*int32)(unsafe.Pointer(v2))++ + v1 = *(*int32)(unsafe.Pointer(v2)) + (*TSrcItem)(unsafe.Pointer(p)).FregReturn = v1 + (*TSrcItem)(unsafe.Pointer(p)).FiCursor = -int32(1) + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1)) = uint32(2) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn, 0, (*TSrcItem)(unsafe.Pointer(p)).FaddrFillSub) + _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + /* Allocate registers for the output of the co-routine. Do so so + ** that there are two unused registers immediately before those + ** used by the co-routine. This allows the code in sqlite3Insert() + ** to use these registers directly, instead of copying the output + ** of the co-routine to a separate array for processing. */ + (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(3) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pLeft)).FpEList)).FnExpr + *(*int32)(unsafe.Pointer(pParse + 56)) += int32(2) + (*(*TSelectDest)(unsafe.Pointer(bp))).FnSdst + *(*Tu32)(unsafe.Pointer(pLeft + 4)) |= uint32(SF_MultiValue) + _sqlite3Select(tls, pParse, pLeft, bp) + (*TSrcItem)(unsafe.Pointer(p)).FregResult = (*(*TSelectDest)(unsafe.Pointer(bp))).FiSdst + pLeft = pRet + } + } else { + p = (*TSelect)(unsafe.Pointer(pLeft)).FpSrc + 8 + *(*Tu32)(unsafe.Pointer(&(*TSrcItem)(unsafe.Pointer(p)).Fu1))++ + } + if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { + if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p)).FpSelect)).FpEList)).FnExpr != (*TExprList)(unsafe.Pointer(pRow)).FnExpr { + _sqlite3SelectWrongNumTermsError(tls, pParse, (*TSrcItem)(unsafe.Pointer(p)).FpSelect) + } else { + _sqlite3ExprCodeExprList(tls, pParse, pRow, (*TSrcItem)(unsafe.Pointer(p)).FregResult, 0, uint8(0)) + _sqlite3VdbeAddOp1(tls, (*TParse)(unsafe.Pointer(pParse)).FpVdbe, int32(OP_Yield), (*TSrcItem)(unsafe.Pointer(p)).FregReturn) + } + } + _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pRow) + } + return pLeft +} + // C documentation // // /* @@ -183569,27 +184212,27 @@ func _sqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { bp := tls.Alloc(160) defer tls.Free(160) - var aRegIdx, db, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, v, v13, v16, v18, v6, v9 uintptr - var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v12, v15, v17, v19, v23, v24, v5, v7, v8 int32 + var aRegIdx, db, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, v, v10, v14, v17, v19, v7 uintptr + var addr1, addr11, addrCont, addrInsTop, addrL, addrTop, bUseSeek, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, y, v1, v13, v16, v18, v20, v24, v25, v5, v6, v8, v9 int32 var appendFlag, bIdListInOrder, useTempTable, withoutRowid Tu8 - var colFlags, v21 Tu32 + var colFlags, v22 Tu32 var _ /* dest at bp+8 */ TSelectDest var _ /* iDataCur at bp+0 */ int32 var _ /* iIdxCur at bp+4 */ int32 var _ /* isReplace at bp+112 */ int32 var _ /* sNC at bp+56 */ TNameContext var _ /* tmask at bp+48 */ int32 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v12, v13, v15, v16, v17, v18, v19, v21, v23, v24, v5, v6, v7, v8, v9 /* Number of columns in the data */ - nHidden = 0 /* Number of hidden columns if TABLE is virtual */ - *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ - *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ - ipkColumn = -int32(1) /* Label for the end of the insertion loop */ - srcTab = 0 /* Data comes from this temporary cursor if >=0 */ - addrInsTop = 0 /* Jump to label "D" */ - addrCont = 0 /* Index of database holding TABLE */ - useTempTable = uint8(0) /* Store SELECT results in intermediate table */ - appendFlag = uint8(0) /* True if IDLIST is in table order */ - pList = uintptr(0) /* Register in which to store next column */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = aRegIdx, addr1, addr11, addrCont, addrInsTop, addrL, addrTop, appendFlag, bIdListInOrder, bUseSeek, colFlags, db, endOfLoop, i, iDb, iRegStore, ipkColumn, isView, j, k, nColumn, nHidden, nIdx, pIdx, pIpk, pItem, pList, pNx, pTab, pTrigger, pVTab, pX, rc, regAutoinc, regCols, regData, regFromSelect, regIns, regRec, regRowCount, regRowid, regTempRowid, regYield, srcTab, useTempTable, v, withoutRowid, y, v1, v10, v13, v14, v16, v17, v18, v19, v20, v22, v24, v25, v5, v6, v7, v8, v9 /* Number of columns in the data */ + nHidden = 0 /* Number of hidden columns if TABLE is virtual */ + *(*int32)(unsafe.Pointer(bp)) = 0 /* VDBE cursor that is the main data repository */ + *(*int32)(unsafe.Pointer(bp + 4)) = 0 /* First index cursor */ + ipkColumn = -int32(1) /* Label for the end of the insertion loop */ + srcTab = 0 /* Data comes from this temporary cursor if >=0 */ + addrInsTop = 0 /* Jump to label "D" */ + addrCont = 0 /* Index of database holding TABLE */ + useTempTable = uint8(0) /* Store SELECT results in intermediate table */ + appendFlag = uint8(0) /* True if IDLIST is in table order */ + pList = uintptr(0) /* Register in which to store next column */ /* Register allocations */ regFromSelect = 0 /* Base register for data coming from SELECT */ regAutoinc = 0 /* Register holding the AUTOINCREMENT counter */ @@ -183727,7 +184370,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i } if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&(libc.Int32FromInt32(COLFLAG_STORED)|libc.Int32FromInt32(COLFLAG_VIRTUAL)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17398, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17477, libc.VaList(bp+128, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto insert_cleanup } break @@ -183742,7 +184385,7 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ipkColumn = i bIdListInOrder = uint8(0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17439, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17518, libc.VaList(bp+128, pTabList+8, (*(*TIdList_item)(unsafe.Pointer(pColumn + 8 + uintptr(i)*16))).FzName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto insert_cleanup } @@ -183759,28 +184402,46 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** co-routine is the common header to the 3rd and 4th templates. */ if pSelect != 0 { /* Result code */ - v6 = pParse + 56 - *(*int32)(unsafe.Pointer(v6))++ - v5 = *(*int32)(unsafe.Pointer(v6)) - regYield = v5 - addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) - _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) - _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) - if bIdListInOrder != 0 { - v7 = regData - } else { - v7 = 0 - } - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v7 - (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) - rc = _sqlite3Select(tls, pParse, pSelect, bp+8) - regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst - if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { - goto insert_cleanup + if (*TSrcList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc)).FnSrc == int32(1) && int32(uint32(*(*uint16)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + 60 + 4))&0x20>>5)) != 0 && (*TSelect)(unsafe.Pointer(pSelect)).FpPrior == uintptr(0) { + pItem = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + 8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSDParm = (*TSrcItem)(unsafe.Pointer(pItem)).FregReturn + regFromSelect = (*TSrcItem)(unsafe.Pointer(pItem)).FregResult + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpSelect)).FpEList)).FnExpr + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+17550, libc.VaList(bp+128, pItem)) + if bIdListInOrder != 0 && nColumn == int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { + regData = regFromSelect + regRowid = regData - int32(1) + if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { + v5 = int32(1) + } else { + v5 = 0 + } + regIns = regRowid - v5 + } + } else { + v7 = pParse + 56 + *(*int32)(unsafe.Pointer(v7))++ + v6 = *(*int32)(unsafe.Pointer(v7)) /* Top of the co-routine */ + regYield = v6 + addrTop = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) + _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regYield, 0, addrTop) + _sqlite3SelectDestInit(tls, bp+8, int32(SRT_Coroutine), regYield) + if bIdListInOrder != 0 { + v8 = regData + } else { + v8 = 0 + } + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst = v8 + (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FnSdst = int32((*TTable)(unsafe.Pointer(pTab)).FnCol) + rc = _sqlite3Select(tls, pParse, pSelect, bp+8) + regFromSelect = (*(*TSelectDest)(unsafe.Pointer(bp + 8))).FiSdst + if rc != 0 || (*TParse)(unsafe.Pointer(pParse)).FnErr != 0 { + goto insert_cleanup + } + _sqlite3VdbeEndCoroutine(tls, v, regYield) + _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ + nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr } - _sqlite3VdbeEndCoroutine(tls, v, regYield) - _sqlite3VdbeJumpHere(tls, v, addrTop-int32(1)) /* label B: */ - nColumn = (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSelect)).FpEList)).FnExpr /* Set useTempTable to TRUE if the result of the SELECT statement ** should be written into a temporary table (template 4). Set to ** FALSE if each output row of the SELECT can be written directly into @@ -183794,10 +184455,10 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin useTempTable = uint8(1) } if useTempTable != 0 { /* Label "L" */ - v9 = pParse + 52 - v8 = *(*int32)(unsafe.Pointer(v9)) - *(*int32)(unsafe.Pointer(v9))++ - srcTab = v8 + v10 = pParse + 52 + v9 = *(*int32)(unsafe.Pointer(v10)) + *(*int32)(unsafe.Pointer(v10))++ + srcTab = v9 regRec = _sqlite3GetTempReg(tls, pParse) regTempRowid = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp2(tls, v, int32(OP_OpenEphemeral), srcTab, nColumn) @@ -183838,8 +184499,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { ipkColumn-- } - goto _10 - _10: + goto _11 + _11: ; i-- } @@ -183856,28 +184517,28 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags)&int32(COLFLAG_NOINSERT) != 0 { nHidden++ } - goto _11 - _11: + goto _12 + _12: ; i++ } } if nColumn != int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17471, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17558, libc.VaList(bp+128, pTabList+8, int32((*TTable)(unsafe.Pointer(pTab)).FnCol)-nHidden, nColumn)) goto insert_cleanup } } if pColumn != uintptr(0) && nColumn != (*TIdList)(unsafe.Pointer(pColumn)).FnId { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17523, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+17610, libc.VaList(bp+128, nColumn, (*TIdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup } /* Initialize the count of rows to be inserted */ if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&(uint64(libc.Int32FromInt32(0x00001))<= 0 { /* tag-20191021-001: If the INTEGER PRIMARY KEY is being generated by the ** SELECT, go ahead and copy the value into the rowid slot now, so that @@ -183990,18 +184651,18 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin ** using excess space. The file format definition requires this extra ** NULL - we cannot optimize further by skipping the column completely */ _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) - goto _20 + goto _21 } - v21 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) - colFlags = v21 - if v21&uint32(COLFLAG_NOINSERT) != uint32(0) { + v22 = uint32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*16))).FcolFlags) + colFlags = v22 + if v22&uint32(COLFLAG_NOINSERT) != uint32(0) { nHidden++ if colFlags&uint32(COLFLAG_VIRTUAL) != uint32(0) { /* Virtual columns do not participate in OP_MakeRecord. So back up ** iRegStore by one slot to compensate for the iRegStore++ in the ** outer for() loop */ iRegStore-- - goto _20 + goto _21 } else { if colFlags&uint32(COLFLAG_STORED) != uint32(0) { /* Stored columns are computed later. But if there are BEFORE @@ -184011,13 +184672,13 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if *(*int32)(unsafe.Pointer(bp + 48))&int32(TRIGGER_BEFORE) != 0 { _sqlite3VdbeAddOp1(tls, v, int32(OP_SoftNull), iRegStore) } - goto _20 + goto _21 } else { if pColumn == uintptr(0) { /* Hidden columns that are not explicitly named in the INSERT ** get there default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } } } @@ -184028,8 +184689,8 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin if !(j < (*TIdList)(unsafe.Pointer(pColumn)).FnId && *(*int32)(unsafe.Pointer(pColumn + 8 + uintptr(j)*16 + 8)) != i) { break } - goto _22 - _22: + goto _23 + _23: ; j++ } @@ -184037,14 +184698,14 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin /* A column not named in the insert column list gets its ** default value */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } k = j } else { if nColumn == 0 { /* This is INSERT INTO ... DEFAULT VALUES. Load the default value. */ _sqlite3ExprCodeFactorable(tls, pParse, _sqlite3ColumnExpr(tls, pTab, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*16), iRegStore) - goto _20 + goto _21 } else { k = i - nHidden } @@ -184061,16 +184722,16 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin y = _sqlite3ExprCodeTarget(tls, pParse, pX, iRegStore) if y != iRegStore { if (*TExpr)(unsafe.Pointer(pX)).Fflags&uint32(libc.Int32FromInt32(EP_Subquery)) != uint32(0) { - v23 = int32(OP_Copy) + v24 = int32(OP_Copy) } else { - v23 = int32(OP_SCopy) + v24 = int32(OP_SCopy) } - _sqlite3VdbeAddOp2(tls, v, v23, y, iRegStore) + _sqlite3VdbeAddOp2(tls, v, v24, y, iRegStore) } } } - goto _20 - _20: + goto _21 + _21: ; i++ iRegStore++ @@ -184181,11 +184842,11 @@ func _sqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin _sqlite3VtabMakeWritable(tls, pParse, pTab) _sqlite3VdbeAddOp4(tls, v, int32(OP_VUpdate), int32(1), int32((*TTable)(unsafe.Pointer(pTab)).FnCol)+int32(2), regIns, pVTab, -int32(11)) if onError == int32(OE_Default) { - v24 = int32(OE_Abort) + v25 = int32(OE_Abort) } else { - v24 = onError + v25 = onError } - _sqlite3VdbeChangeP5(tls, v, uint16(v24)) + _sqlite3VdbeChangeP5(tls, v, uint16(v25)) _sqlite3MayAbort(tls, pParse) } else { *(*int32)(unsafe.Pointer(bp + 112)) = 0 /* True to use OPFLAG_SEEKRESULT */ @@ -184244,7 +184905,7 @@ insert_end: ** invoke the callback function. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+17615) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+17702) } goto insert_cleanup insert_cleanup: @@ -184637,7 +185298,7 @@ func _sqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case int32(OE_Rollback): fallthrough case int32(OE_Fail): - zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+13690, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) + zMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+13815, libc.VaList(bp+64, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) _sqlite3VdbeAddOp3(tls, v, int32(OP_HaltIfNull), libc.Int32FromInt32(SQLITE_CONSTRAINT)|libc.Int32FromInt32(5)<= 0 && !(int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile)))) == int32('/') || int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile)))) == int32('\\'))) { @@ -186871,7 +187532,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp iFile-- } iFile++ - if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+17665, int32(3)) == 0 { + if Xsqlite3_strnicmp(tls, zFile+uintptr(iFile), __ccgo_ts+17752, int32(3)) == 0 { iFile += int32(3) } iEntry = int32(8) @@ -186891,7 +187552,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp ; iFile++ } - libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+17669, uint64(6)) + libc.Xmemcpy(tls, zAltEntry+uintptr(iEntry), __ccgo_ts+17756, uint64(6)) zEntry = zAltEntry xInit = _sqlite3OsDlSym(tls, pVfs, handle, zEntry) } @@ -186903,7 +187564,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v7 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(int32(nMsg)), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+17675, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3_snprintf(tls, int32(int32(nMsg)), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+17762, libc.VaList(bp+16, zEntry, zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -186918,7 +187579,7 @@ func _sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintp return SQLITE_OK } if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+17718, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+17805, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3OsDlClose(tls, pVfs, handle) @@ -186949,7 +187610,7 @@ extension_not_found: *(*uintptr)(unsafe.Pointer(pzErrMsg)) = v10 if *(*uintptr)(unsafe.Pointer(bp)) != 0 { /* zErrmsg would be NULL if not so */ - Xsqlite3_snprintf(tls, int32(int32(nMsg)), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+17750, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) + Xsqlite3_snprintf(tls, int32(int32(nMsg)), *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+17837, libc.VaList(bp+16, int32(FILENAME_MAX), zFile)) _sqlite3OsDlError(tls, pVfs, int32(nMsg-uint64(1)), *(*uintptr)(unsafe.Pointer(bp))) } } @@ -186958,7 +187619,7 @@ extension_not_found: /* Shared library endings to try if zFile cannot be loaded as written */ var _azEndings = [1]uintptr{ - 0: __ccgo_ts + 17629, + 0: __ccgo_ts + 17716, } func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) (r int32) { @@ -187191,7 +187852,7 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { rc = v2 } if v3 && v2 != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+17787, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+17874, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -187245,63 +187906,63 @@ func _sqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { // ** result column is different from the name of the pragma // */ var _pragCName = [57]uintptr{ - 0: __ccgo_ts + 6790, - 1: __ccgo_ts + 17826, - 2: __ccgo_ts + 10367, - 3: __ccgo_ts + 17830, - 4: __ccgo_ts + 17835, - 5: __ccgo_ts + 17838, - 6: __ccgo_ts + 17848, - 7: __ccgo_ts + 17858, - 8: __ccgo_ts + 17864, - 9: __ccgo_ts + 17868, - 10: __ccgo_ts + 17873, - 11: __ccgo_ts + 17878, - 12: __ccgo_ts + 17886, - 13: __ccgo_ts + 17897, - 14: __ccgo_ts + 17900, - 15: __ccgo_ts + 17907, - 16: __ccgo_ts + 17868, - 17: __ccgo_ts + 17873, - 18: __ccgo_ts + 17914, - 19: __ccgo_ts + 17919, - 20: __ccgo_ts + 17922, - 21: __ccgo_ts + 17929, - 22: __ccgo_ts + 17864, - 23: __ccgo_ts + 17868, - 24: __ccgo_ts + 17935, - 25: __ccgo_ts + 17940, - 26: __ccgo_ts + 17945, - 27: __ccgo_ts + 17868, - 28: __ccgo_ts + 17949, - 29: __ccgo_ts + 17873, - 30: __ccgo_ts + 17957, - 31: __ccgo_ts + 17961, - 32: __ccgo_ts + 17966, - 33: __ccgo_ts + 13106, - 34: __ccgo_ts + 13102, - 35: __ccgo_ts + 17972, - 36: __ccgo_ts + 17977, - 37: __ccgo_ts + 17982, - 38: __ccgo_ts + 17826, - 39: __ccgo_ts + 17868, - 40: __ccgo_ts + 17987, - 41: __ccgo_ts + 17994, - 42: __ccgo_ts + 18001, - 43: __ccgo_ts + 10367, - 44: __ccgo_ts + 18009, - 45: __ccgo_ts + 6793, - 46: __ccgo_ts + 18015, - 47: __ccgo_ts + 17826, - 48: __ccgo_ts + 17868, - 49: __ccgo_ts + 18020, - 50: __ccgo_ts + 18025, - 51: __ccgo_ts + 17221, - 52: __ccgo_ts + 18030, - 53: __ccgo_ts + 18043, - 54: __ccgo_ts + 18052, - 55: __ccgo_ts + 18059, - 56: __ccgo_ts + 18070, + 0: __ccgo_ts + 6854, + 1: __ccgo_ts + 17913, + 2: __ccgo_ts + 10492, + 3: __ccgo_ts + 17917, + 4: __ccgo_ts + 17922, + 5: __ccgo_ts + 17925, + 6: __ccgo_ts + 17935, + 7: __ccgo_ts + 17945, + 8: __ccgo_ts + 17951, + 9: __ccgo_ts + 17955, + 10: __ccgo_ts + 17960, + 11: __ccgo_ts + 17965, + 12: __ccgo_ts + 17973, + 13: __ccgo_ts + 17984, + 14: __ccgo_ts + 17987, + 15: __ccgo_ts + 17994, + 16: __ccgo_ts + 17955, + 17: __ccgo_ts + 17960, + 18: __ccgo_ts + 18001, + 19: __ccgo_ts + 18006, + 20: __ccgo_ts + 18009, + 21: __ccgo_ts + 18016, + 22: __ccgo_ts + 17951, + 23: __ccgo_ts + 17955, + 24: __ccgo_ts + 18022, + 25: __ccgo_ts + 18027, + 26: __ccgo_ts + 18032, + 27: __ccgo_ts + 17955, + 28: __ccgo_ts + 18036, + 29: __ccgo_ts + 17960, + 30: __ccgo_ts + 18044, + 31: __ccgo_ts + 18048, + 32: __ccgo_ts + 18053, + 33: __ccgo_ts + 13231, + 34: __ccgo_ts + 13227, + 35: __ccgo_ts + 18059, + 36: __ccgo_ts + 18064, + 37: __ccgo_ts + 18069, + 38: __ccgo_ts + 17913, + 39: __ccgo_ts + 17955, + 40: __ccgo_ts + 18074, + 41: __ccgo_ts + 18081, + 42: __ccgo_ts + 18088, + 43: __ccgo_ts + 10492, + 44: __ccgo_ts + 18096, + 45: __ccgo_ts + 6857, + 46: __ccgo_ts + 18102, + 47: __ccgo_ts + 17913, + 48: __ccgo_ts + 17955, + 49: __ccgo_ts + 18107, + 50: __ccgo_ts + 18112, + 51: __ccgo_ts + 17300, + 52: __ccgo_ts + 18117, + 53: __ccgo_ts + 18130, + 54: __ccgo_ts + 18139, + 55: __ccgo_ts + 18146, + 56: __ccgo_ts + 18157, } // C documentation @@ -187320,196 +187981,196 @@ type PragmaName = TPragmaName var _aPragmaName = [67]TPragmaName{ 0: { - FzName: __ccgo_ts + 18078, + FzName: __ccgo_ts + 18165, FePragTyp: uint8(PragTyp_ANALYSIS_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 1: { - FzName: __ccgo_ts + 18093, + FzName: __ccgo_ts + 18180, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_APPLICATION_ID), }, 2: { - FzName: __ccgo_ts + 18108, + FzName: __ccgo_ts + 18195, FePragTyp: uint8(PragTyp_AUTO_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 3: { - FzName: __ccgo_ts + 18120, + FzName: __ccgo_ts + 18207, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_AutoIndex), }, 4: { - FzName: __ccgo_ts + 18136, + FzName: __ccgo_ts + 18223, FePragTyp: uint8(PragTyp_BUSY_TIMEOUT), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(56), FnPragCName: uint8(1), }, 5: { - FzName: __ccgo_ts + 18059, + FzName: __ccgo_ts + 18146, FePragTyp: uint8(PragTyp_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 6: { - FzName: __ccgo_ts + 18149, + FzName: __ccgo_ts + 18236, FePragTyp: uint8(PragTyp_CACHE_SPILL), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 7: { - FzName: __ccgo_ts + 18161, + FzName: __ccgo_ts + 18248, FePragTyp: uint8(PragTyp_CASE_SENSITIVE_LIKE), FmPragFlg: uint8(PragFlg_NoColumns), }, 8: { - FzName: __ccgo_ts + 18181, + FzName: __ccgo_ts + 18268, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CellSizeCk), }, 9: { - FzName: __ccgo_ts + 18197, + FzName: __ccgo_ts + 18284, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_CkptFullFSync), }, 10: { - FzName: __ccgo_ts + 18218, + FzName: __ccgo_ts + 18305, FePragTyp: uint8(PragTyp_COLLATION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(38), FnPragCName: uint8(2), }, 11: { - FzName: __ccgo_ts + 18233, + FzName: __ccgo_ts + 18320, FePragTyp: uint8(PragTyp_COMPILE_OPTIONS), FmPragFlg: uint8(PragFlg_Result0), }, 12: { - FzName: __ccgo_ts + 18249, + FzName: __ccgo_ts + 18336, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00001)) << libc.Int32FromInt32(32), }, 13: { - FzName: __ccgo_ts + 18263, + FzName: __ccgo_ts + 18350, FePragTyp: uint8(PragTyp_DATA_STORE_DIRECTORY), FmPragFlg: uint8(PragFlg_NoColumns1), }, 14: { - FzName: __ccgo_ts + 18284, + FzName: __ccgo_ts + 18371, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_DATA_VERSION), }, 15: { - FzName: __ccgo_ts + 18297, + FzName: __ccgo_ts + 18384, FePragTyp: uint8(PragTyp_DATABASE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(47), FnPragCName: uint8(3), }, 16: { - FzName: __ccgo_ts + 18311, + FzName: __ccgo_ts + 18398, FePragTyp: uint8(PragTyp_DEFAULT_CACHE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiPragCName: uint8(55), FnPragCName: uint8(1), }, 17: { - FzName: __ccgo_ts + 18330, + FzName: __ccgo_ts + 18417, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_DeferFKs), }, 18: { - FzName: __ccgo_ts + 18349, + FzName: __ccgo_ts + 18436, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_NullCallback), }, 19: { - FzName: __ccgo_ts + 18372, + FzName: __ccgo_ts + 18459, FePragTyp: uint8(PragTyp_ENCODING), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 20: { - FzName: __ccgo_ts + 18381, + FzName: __ccgo_ts + 18468, FePragTyp: uint8(PragTyp_FOREIGN_KEY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(43), FnPragCName: uint8(4), }, 21: { - FzName: __ccgo_ts + 18399, + FzName: __ccgo_ts + 18486, FePragTyp: uint8(PragTyp_FOREIGN_KEY_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FnPragCName: uint8(8), }, 22: { - FzName: __ccgo_ts + 18416, + FzName: __ccgo_ts + 18503, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ForeignKeys), }, 23: { - FzName: __ccgo_ts + 18429, + FzName: __ccgo_ts + 18516, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_ReadOnly) | libc.Int32FromInt32(PragFlg_Result0)), }, 24: { - FzName: __ccgo_ts + 18444, + FzName: __ccgo_ts + 18531, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullColNames), }, 25: { - FzName: __ccgo_ts + 18462, + FzName: __ccgo_ts + 18549, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_FullFSync), }, 26: { - FzName: __ccgo_ts + 18472, + FzName: __ccgo_ts + 18559, FePragTyp: uint8(PragTyp_FUNCTION_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(27), FnPragCName: uint8(6), }, 27: { - FzName: __ccgo_ts + 18486, + FzName: __ccgo_ts + 18573, FePragTyp: uint8(PragTyp_HARD_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 28: { - FzName: __ccgo_ts + 18502, + FzName: __ccgo_ts + 18589, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_IgnoreChecks), }, 29: { - FzName: __ccgo_ts + 18527, + FzName: __ccgo_ts + 18614, FePragTyp: uint8(PragTyp_INCREMENTAL_VACUUM), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_NoColumns)), }, 30: { - FzName: __ccgo_ts + 18546, + FzName: __ccgo_ts + 18633, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), FnPragCName: uint8(3), }, 31: { - FzName: __ccgo_ts + 18557, + FzName: __ccgo_ts + 18644, FePragTyp: uint8(PragTyp_INDEX_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(38), FnPragCName: uint8(5), }, 32: { - FzName: __ccgo_ts + 18568, + FzName: __ccgo_ts + 18655, FePragTyp: uint8(PragTyp_INDEX_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(21), @@ -187517,146 +188178,146 @@ var _aPragmaName = [67]TPragmaName{ FiArg: uint64(1), }, 33: { - FzName: __ccgo_ts + 18580, + FzName: __ccgo_ts + 18667, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 34: { - FzName: __ccgo_ts + 18596, + FzName: __ccgo_ts + 18683, FePragTyp: uint8(PragTyp_JOURNAL_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 35: { - FzName: __ccgo_ts + 18609, + FzName: __ccgo_ts + 18696, FePragTyp: uint8(PragTyp_JOURNAL_SIZE_LIMIT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 36: { - FzName: __ccgo_ts + 18628, + FzName: __ccgo_ts + 18715, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_LegacyAlter), }, 37: { - FzName: __ccgo_ts + 18647, + FzName: __ccgo_ts + 18734, FePragTyp: uint8(PragTyp_LOCKING_MODE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 38: { - FzName: __ccgo_ts + 18660, + FzName: __ccgo_ts + 18747, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 39: { - FzName: __ccgo_ts + 18675, + FzName: __ccgo_ts + 18762, FePragTyp: uint8(PragTyp_MMAP_SIZE), }, 40: { - FzName: __ccgo_ts + 18685, + FzName: __ccgo_ts + 18772, FePragTyp: uint8(PragTyp_MODULE_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 41: { - FzName: __ccgo_ts + 18697, + FzName: __ccgo_ts + 18784, FePragTyp: uint8(PragTyp_OPTIMIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_NeedSchema)), }, 42: { - FzName: __ccgo_ts + 18706, + FzName: __ccgo_ts + 18793, FePragTyp: uint8(PragTyp_PAGE_COUNT), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq)), }, 43: { - FzName: __ccgo_ts + 18717, + FzName: __ccgo_ts + 18804, FePragTyp: uint8(PragTyp_PAGE_SIZE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 44: { - FzName: __ccgo_ts + 18727, + FzName: __ccgo_ts + 18814, FePragTyp: uint8(PragTyp_PRAGMA_LIST), FmPragFlg: uint8(PragFlg_Result0), FiPragCName: uint8(9), FnPragCName: uint8(1), }, 45: { - FzName: __ccgo_ts + 18739, + FzName: __ccgo_ts + 18826, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_QueryOnly), }, 46: { - FzName: __ccgo_ts + 18750, + FzName: __ccgo_ts + 18837, FePragTyp: uint8(PragTyp_INTEGRITY_CHECK), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), }, 47: { - FzName: __ccgo_ts + 18762, + FzName: __ccgo_ts + 18849, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(0x00004)) << libc.Int32FromInt32(32), }, 48: { - FzName: __ccgo_ts + 18779, + FzName: __ccgo_ts + 18866, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_RecTriggers), }, 49: { - FzName: __ccgo_ts + 18798, + FzName: __ccgo_ts + 18885, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ReverseOrder), }, 50: { - FzName: __ccgo_ts + 18824, + FzName: __ccgo_ts + 18911, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_SCHEMA_VERSION), }, 51: { - FzName: __ccgo_ts + 18839, + FzName: __ccgo_ts + 18926, FePragTyp: uint8(PragTyp_SECURE_DELETE), FmPragFlg: uint8(PragFlg_Result0), }, 52: { - FzName: __ccgo_ts + 18853, + FzName: __ccgo_ts + 18940, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_ShortColNames), }, 53: { - FzName: __ccgo_ts + 18872, + FzName: __ccgo_ts + 18959, FePragTyp: uint8(PragTyp_SHRINK_MEMORY), FmPragFlg: uint8(PragFlg_NoColumns), }, 54: { - FzName: __ccgo_ts + 18886, + FzName: __ccgo_ts + 18973, FePragTyp: uint8(PragTyp_SOFT_HEAP_LIMIT), FmPragFlg: uint8(PragFlg_Result0), }, 55: { - FzName: __ccgo_ts + 18902, + FzName: __ccgo_ts + 18989, FePragTyp: uint8(PragTyp_SYNCHRONOUS), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_SchemaReq) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 56: { - FzName: __ccgo_ts + 18914, + FzName: __ccgo_ts + 19001, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), FnPragCName: uint8(6), }, 57: { - FzName: __ccgo_ts + 18925, + FzName: __ccgo_ts + 19012, FePragTyp: uint8(PragTyp_TABLE_LIST), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1)), FiPragCName: uint8(15), FnPragCName: uint8(6), }, 58: { - FzName: __ccgo_ts + 18936, + FzName: __ccgo_ts + 19023, FePragTyp: uint8(PragTyp_TABLE_INFO), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NeedSchema) | libc.Int32FromInt32(PragFlg_Result1) | libc.Int32FromInt32(PragFlg_SchemaOpt)), FiPragCName: uint8(8), @@ -187664,45 +188325,45 @@ var _aPragmaName = [67]TPragmaName{ FiArg: uint64(1), }, 59: { - FzName: __ccgo_ts + 18948, + FzName: __ccgo_ts + 19035, FePragTyp: uint8(PragTyp_TEMP_STORE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), }, 60: { - FzName: __ccgo_ts + 18959, + FzName: __ccgo_ts + 19046, FePragTyp: uint8(PragTyp_TEMP_STORE_DIRECTORY), FmPragFlg: uint8(PragFlg_NoColumns1), }, 61: { - FzName: __ccgo_ts + 18980, + FzName: __ccgo_ts + 19067, FePragTyp: uint8(PragTyp_THREADS), FmPragFlg: uint8(PragFlg_Result0), }, 62: { - FzName: __ccgo_ts + 18988, + FzName: __ccgo_ts + 19075, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(SQLITE_TrustedSchema), }, 63: { - FzName: __ccgo_ts + 19003, + FzName: __ccgo_ts + 19090, FePragTyp: uint8(PragTyp_HEADER_VALUE), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_NoColumns1) | libc.Int32FromInt32(PragFlg_Result0)), FiArg: uint64(BTREE_USER_VERSION), }, 64: { - FzName: __ccgo_ts + 19016, + FzName: __ccgo_ts + 19103, FePragTyp: uint8(PragTyp_WAL_AUTOCHECKPOINT), }, 65: { - FzName: __ccgo_ts + 19035, + FzName: __ccgo_ts + 19122, FePragTyp: uint8(PragTyp_WAL_CHECKPOINT), FmPragFlg: uint8(PragFlg_NeedSchema), FiPragCName: uint8(50), FnPragCName: uint8(3), }, 66: { - FzName: __ccgo_ts + 19050, + FzName: __ccgo_ts + 19137, FePragTyp: uint8(PragTyp_FLAG), FmPragFlg: uint8(libc.Int32FromInt32(PragFlg_Result0) | libc.Int32FromInt32(PragFlg_NoColumns1)), FiArg: uint64(libc.Int32FromInt32(SQLITE_WriteSchema) | libc.Int32FromInt32(SQLITE_NoSchemaError)), @@ -187714,6 +188375,31 @@ var _aPragmaName = [67]TPragmaName{ /************** End of pragma.h **********************************************/ /************** Continuing where we left off in pragma.c *********************/ +/* +** When the 0x10 bit of PRAGMA optimize is set, any ANALYZE commands +** will be run with an analysis_limit set to the lessor of the value of +** the following macro or to the actual analysis_limit if it is non-zero, +** in order to prevent PRAGMA optimize from running for too long. +** +** The value of 2000 is chosen emperically so that the worst-case run-time +** for PRAGMA optimize does not exceed 100 milliseconds against a variety +** of test databases on a RaspberryPI-4 compiled using -Os and without +** -DSQLITE_DEBUG. Of course, your mileage may vary. For the purpose of +** this paragraph, "worst-case" means that ANALYZE ends up being +** run on every table in the database. The worst case typically only +** happens if PRAGMA optimize is run on a database file for which ANALYZE +** has not been previously run and the 0x10000 flag is included so that +** all tables are analyzed. The usual case for PRAGMA optimize is that +** no ANALYZE commands will be run at all, or if any ANALYZE happens it +** will be against a single table, so that expected timing for PRAGMA +** optimize on a PI-4 is more like 1 millisecond or less with the 0x10000 +** flag or less than 100 microseconds without the 0x10000 flag. +** +** An analysis limit of 2000 is almost always sufficient for the query +** planner to fully characterize an index. The additional accuracy from +** a larger analysis is not usually helpful. + */ + // C documentation // // /* @@ -187803,10 +188489,10 @@ func _sqlite3GetBoolean(tls *libc.TLS, z uintptr, dflt Tu8) (r Tu8) { // */ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { if z != 0 { - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+5106) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+5170) { return int32(PAGER_LOCKINGMODE_EXCLUSIVE) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+19066) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+19153) { return PAGER_LOCKINGMODE_NORMAL } } @@ -187824,13 +188510,13 @@ func _getLockingMode(tls *libc.TLS, z uintptr) (r int32) { func _getAutoVacuum(tls *libc.TLS, z uintptr) (r int32) { var i, v1 int32 _, _ = i, v1 - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+9527) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+9652) { return BTREE_AUTOVACUUM_NONE } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+19073) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+19160) { return int32(BTREE_AUTOVACUUM_FULL) } - if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+19078) { + if 0 == _sqlite3StrICmp(tls, z, __ccgo_ts+19165) { return int32(BTREE_AUTOVACUUM_INCR) } i = _sqlite3Atoi(tls, z) @@ -187853,10 +188539,10 @@ func _getTempStore(tls *libc.TLS, z uintptr) (r int32) { if int32(*(*int8)(unsafe.Pointer(z))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(z))) <= int32('2') { return int32(*(*int8)(unsafe.Pointer(z))) - int32('0') } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+18020) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+18107) == 0 { return int32(1) } else { - if _sqlite3StrICmp(tls, z, __ccgo_ts+19090) == 0 { + if _sqlite3StrICmp(tls, z, __ccgo_ts+19177) == 0 { return int32(2) } else { return 0 @@ -187878,7 +188564,7 @@ func _invalidateTempStorage(tls *libc.TLS, pParse uintptr) (r int32) { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt != uintptr(0) { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) || _sqlite3BtreeTxnState(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) != SQLITE_TXN_NONE { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19097, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19184, 0) return int32(SQLITE_ERROR) } _sqlite3BtreeClose(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpBt) @@ -188008,15 +188694,15 @@ func _actionName(tls *libc.TLS, action Tu8) (r uintptr) { _ = zName switch int32(int32(action)) { case int32(OE_SetNull): - zName = __ccgo_ts + 19159 + zName = __ccgo_ts + 19246 case int32(OE_SetDflt): - zName = __ccgo_ts + 19168 + zName = __ccgo_ts + 19255 case int32(OE_Cascade): - zName = __ccgo_ts + 19180 + zName = __ccgo_ts + 19267 case int32(OE_Restrict): - zName = __ccgo_ts + 19188 + zName = __ccgo_ts + 19275 default: - zName = __ccgo_ts + 19197 + zName = __ccgo_ts + 19284 break } return zName @@ -188037,12 +188723,12 @@ func _sqlite3JournalModename(tls *libc.TLS, eMode int32) (r uintptr) { } var _azModeName = [6]uintptr{ - 0: __ccgo_ts + 19207, - 1: __ccgo_ts + 19214, - 2: __ccgo_ts + 19222, - 3: __ccgo_ts + 19226, - 4: __ccgo_ts + 19090, - 5: __ccgo_ts + 19235, + 0: __ccgo_ts + 19294, + 1: __ccgo_ts + 19301, + 2: __ccgo_ts + 19309, + 3: __ccgo_ts + 19313, + 4: __ccgo_ts + 19177, + 5: __ccgo_ts + 19322, } // C documentation @@ -188104,15 +188790,15 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s goto _1 } if (*TFuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = __ccgo_ts + 19260 + zType = __ccgo_ts + 19347 } else { if (*TFuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = __ccgo_ts + 19262 + zType = __ccgo_ts + 19349 } else { - zType = __ccgo_ts + 8926 + zType = __ccgo_ts + 9051 } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+19264, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+19351, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer(p)).FzName, isBuiltin, zType, _azEnc[(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK)], int32((*TFuncDef)(unsafe.Pointer(p)).FnArg), (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&mask^uint32(SQLITE_INNOCUOUS))) goto _1 _1: ; @@ -188121,9 +188807,9 @@ func _pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, s } var _azEnc = [4]uintptr{ - 1: __ccgo_ts + 19239, - 2: __ccgo_ts + 19244, - 3: __ccgo_ts + 19252, + 1: __ccgo_ts + 19326, + 2: __ccgo_ts + 19331, + 3: __ccgo_ts + 19339, } // C documentation @@ -188164,15 +188850,15 @@ func _integrityCheckResultRow(tls *libc.TLS, v uintptr) (r int32) { func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { bp := tls.Alloc(240) defer tls.Free(240) - var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, mxIdx, n, nHidden, nIdx, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v60, v62, v63, v64, v65, v68 int32 - var aOp, aOp1, aOp2, aOp3, aOp4, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v61, v66, v8 uintptr + var a1, a11, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, b, bStrict, ckUniq, cnt, doTypeCheck, eAuto, eMode, eMode1, eMode2, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k3, kk, label6, labelError, labelOk, loopTop, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, p11, p3, p4, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, uniqOk, x1, v10, v15, v18, v2, v26, v33, v38, v4, v43, v45, v47, v48, v50, v64, v66, v67, v68, v69, v72, v75, v76 int32 + var aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, db, j, j1, k1, k2, k4, p, p1, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, v, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v14, v16, v22, v34, v39, v5, v65, v70, v8 uintptr var azOrigin [3]uintptr var cnum Ti16 var enc Tu8 var iPrior Tsqlite3_int64 + var iRange, szThreshold TLogEst var mask Tu64 var opMask Tu32 - var szThreshold TLogEst var _ /* N at bp+136 */ Tsqlite3_int64 var _ /* N at bp+144 */ Tsqlite3_int64 var _ /* N at bp+152 */ Tsqlite3_int64 @@ -188194,7 +188880,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var _ /* size at bp+60 */ int32 var _ /* sz at bp+64 */ Tsqlite3_int64 var _ /* x at bp+40 */ Ti64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iIdxDb, iLevel, iPrior, iReg, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, mxIdx, n, nHidden, nIdx, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v5, v60, v61, v62, v63, v64, v65, v66, v68, v8 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a1, a11, aOp, aOp1, aOp2, aOp3, aOp4, aOp5, aRoot, addr, addr1, addrCkFault, addrCkOk, addrOk, addrTop, azOrigin, b, bStrict, ckUniq, cnt, cnum, db, doTypeCheck, eAuto, eMode, eMode1, eMode2, enc, i, i1, i10, i2, i3, i4, i5, i6, i7, i8, i9, iAddr, iAddr1, iBt, iCol, iCol1, iCookie, iDb, iDbLast, iEnd, iIdxDb, iLevel, iPrior, iRange, iReg, iTab, iTabCur, iTabDb, iTabDb1, ii, ii1, ii2, ii3, ii4, initNCol, isHidden, isQuick, j, j1, j2, j3, j4, jmp, jmp2, jmp21, jmp3, jmp4, jmp5, jmp6, jmp61, jmp7, k, k1, k2, k3, k4, kk, label6, labelError, labelOk, loopTop, mask, mx, mxCol, n, nBtree, nCheck, nHidden, nIdx, nIndex, nLimit, opMask, p, p1, p11, p3, p4, pBt, pBt1, pBt2, pCheck, pCol, pCol1, pColExpr, pColl, pDb, pEnc, pFK, pFK1, pHash, pIdx, pIdx1, pIdx3, pIdx4, pIdx5, pIdx6, pIdx7, pMod, pObjTab, pPager, pPager1, pParent, pPk, pPk1, pPragma, pPrior, pSchema, pTab, pTab1, pTab10, pTab11, pTab12, pTab2, pTab3, pTab4, pTab5, pTab6, pTab7, pTab8, pTab9, pTbls, pVTab, r1, r11, r2, rc, regResult, regRow, showInternFunc, size, size1, size2, szThreshold, uniqOk, v, x1, x2, zDb, zErr, zErr1, zErr2, zLeft, zMod, zMode, zOpt, zRet, zRight, zSql, zSubSql, zType, v1, v10, v14, v15, v16, v18, v2, v22, v26, v33, v34, v38, v39, v4, v43, v45, v47, v48, v5, v50, v64, v65, v66, v67, v68, v69, v70, v72, v75, v76, v8 zLeft = uintptr(0) /* Nul-terminated UTF-8 string */ zRight = uintptr(0) /* Nul-terminated UTF-8 string , or NULL */ zDb = uintptr(0) /* return value form SQLITE_FCNTL_PRAGMA */ @@ -188223,7 +188909,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p return } if minusFlag != 0 { - zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+19271, libc.VaList(bp+176, pValue)) + zRight = _sqlite3MPrintf(tls, db, __ccgo_ts+19358, libc.VaList(bp+176, pValue)) } else { zRight = _sqlite3NameFromToken(tls, db, pValue) } @@ -188266,7 +188952,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } if rc != int32(SQLITE_NOTFOUND) { if (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0] != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+4645, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+4709, libc.VaList(bp+176, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0])) Xsqlite3_free(tls, (*(*[4]uintptr)(unsafe.Pointer(bp + 8)))[0]) } (*TParse)(unsafe.Pointer(pParse)).FnErr++ @@ -188370,7 +189056,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pBt1 = (*TDb)(unsafe.Pointer(pDb)).FpBt b = -int32(1) if zRight != 0 { - if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+19275) == 0 { + if Xsqlite3_stricmp(tls, zRight, __ccgo_ts+19362) == 0 { b = int32(2) } else { b = int32(_sqlite3GetBoolean(tls, zRight, uint8(0))) @@ -188441,7 +189127,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p */ fallthrough case int32(PragTyp_LOCKING_MODE): - zRet = __ccgo_ts + 19066 + zRet = __ccgo_ts + 19153 eMode = _getLockingMode(tls, zRight) if (*TToken)(unsafe.Pointer(pId2)).Fn == uint32(0) && eMode == -int32(1) { /* Simple "PRAGMA locking_mode;" statement. This is a query for @@ -188469,7 +189155,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p eMode = _sqlite3PagerLockingMode(tls, pPager, eMode) } if eMode == int32(PAGER_LOCKINGMODE_EXCLUSIVE) { - zRet = __ccgo_ts + 5106 + zRet = __ccgo_ts + 5170 } _returnSingleText(tls, v, zRet) break @@ -188759,7 +189445,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if *(*int8)(unsafe.Pointer(zRight)) != 0 { rc = _sqlite3OsAccess(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, zRight, int32(SQLITE_ACCESS_READWRITE), bp+72) if rc != SQLITE_OK || *(*int32)(unsafe.Pointer(bp + 72)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19280, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19367, 0) Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) goto pragma_out } @@ -188769,7 +189455,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } Xsqlite3_free(tls, Xsqlite3_temp_directory) if *(*int8)(unsafe.Pointer(zRight)) != 0 { - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+176, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+176, zRight)) } else { Xsqlite3_temp_directory = uintptr(0) } @@ -188798,14 +189484,14 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if *(*int8)(unsafe.Pointer(zRight)) != 0 { rc = _sqlite3OsAccess(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpVfs, zRight, int32(SQLITE_ACCESS_READWRITE), bp+76) if rc != SQLITE_OK || *(*int32)(unsafe.Pointer(bp + 76)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19280, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19367, 0) Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_VFS1))) goto pragma_out } } Xsqlite3_free(tls, Xsqlite3_data_directory) if *(*int8)(unsafe.Pointer(zRight)) != 0 { - Xsqlite3_data_directory = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+176, zRight)) + Xsqlite3_data_directory = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+176, zRight)) } else { Xsqlite3_data_directory = uintptr(0) } @@ -188827,7 +189513,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _returnSingleInt(tls, v, int64(int32((*TDb)(unsafe.Pointer(pDb)).Fsafety_level)-int32(1))) } else { if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19305, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19392, 0) } else { if iDb != int32(1) { iLevel = (int32(_getSafetyLevel(tls, zRight, 0, uint8(1))) + int32(1)) & int32(PAGER_SYNCHRONOUS_MASK) @@ -188860,7 +189546,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if mask == uint64(SQLITE_DeferFKs) { (*Tsqlite3)(unsafe.Pointer(db)).FnDeferredImmCons = 0 } - if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+19358) == 0 { + if mask&uint64(SQLITE_WriteSchema) != uint64(0) && Xsqlite3_stricmp(tls, zRight, __ccgo_ts+19445) == 0 { /* IMP: R-60817-01178 If the argument is "RESET" then schema ** writing is disabled (as with "PRAGMA writable_schema=OFF") and, ** in addition, the schema is reloaded. */ @@ -188940,9 +189626,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pColExpr = _sqlite3ColumnExpr(tls, pTab, pCol) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - v14 = __ccgo_ts + 19364 + v14 = __ccgo_ts + 19451 } else { - v14 = __ccgo_ts + 19372 + v14 = __ccgo_ts + 19459 } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol + 8))&0xf>>0)) != 0 { v15 = int32(1) @@ -188954,7 +189640,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v16 = *(*uintptr)(unsafe.Pointer(pColExpr + 8)) } - _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1658), v15, v16, k, isHidden)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), v14, libc.VaList(bp+176, i-nHidden, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, _sqlite3ColumnType(tls, pCol, __ccgo_ts+1672), v15, v16, k, isHidden)) goto _12 _12: ; @@ -189013,7 +189699,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } pTab1 = (*THashElem)(unsafe.Pointer(k1)).Fdata if int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) == 0 { - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+19379, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+19466, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab1)).FzName)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 80)) = uintptr(0) Xsqlite3_prepare(tls, db, zSql, -int32(1), bp+80, uintptr(0)) @@ -189021,7 +189707,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3DbFree(tls, db, zSql) } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1628, 0) + _sqlite3ErrorMsg(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpParse, __ccgo_ts+1642, 0) (*TParse)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpParse)).Frc = int32(SQLITE_NOMEM) } pHash = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FpSchema + 8 @@ -189043,19 +189729,19 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p goto _20 } if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VIEW) { - zType = __ccgo_ts + 12105 + zType = __ccgo_ts + 12230 } else { if int32((*TTable)(unsafe.Pointer(pTab2)).FeTabType) == int32(TABTYP_VTAB) { - zType = __ccgo_ts + 14353 + zType = __ccgo_ts + 14478 } else { if (*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Shadow) != 0 { - zType = __ccgo_ts + 19395 + zType = __ccgo_ts + 19482 } else { - zType = __ccgo_ts + 10367 + zType = __ccgo_ts + 10492 } } } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+19402, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+19489, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(ii4)*32))).FzDbSName, _sqlite3PreferredTableName(tls, (*TTable)(unsafe.Pointer(pTab2)).FzName), zType, int32((*TTable)(unsafe.Pointer(pTab2)).FnCol), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_WithoutRowid) != uint32(0)), libc.BoolInt32((*TTable)(unsafe.Pointer(pTab2)).FtabFlags&uint32(TF_Strict) != uint32(0)))) goto _20 _20: ; @@ -189102,9 +189788,9 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { v22 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab3)).FaCol + uintptr(cnum)*16))).FzCnName } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+19409, libc.VaList(bp+176, i1, int32(int32(cnum)), v22)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+19496, libc.VaList(bp+176, i1, int32(int32(cnum)), v22)) if (*TPragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+19414, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) + _sqlite3VdbeMultiLoad(tls, v, int32(4), __ccgo_ts+19501, libc.VaList(bp+176, int32(*(*Tu8)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), libc.BoolInt32(i1 < int32((*TIndex)(unsafe.Pointer(pIdx)).FnKeyCol)))) } _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), int32(1), (*TParse)(unsafe.Pointer(pParse)).FnMem) goto _21 @@ -189128,11 +189814,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } azOrigin = [3]uintptr{ - 0: __ccgo_ts + 19419, - 1: __ccgo_ts + 19421, - 2: __ccgo_ts + 17897, + 0: __ccgo_ts + 19506, + 1: __ccgo_ts + 19508, + 2: __ccgo_ts + 17984, } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+19423, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+19510, libc.VaList(bp+176, i2, (*TIndex)(unsafe.Pointer(pIdx1)).FzName, libc.BoolInt32(int32((*TIndex)(unsafe.Pointer(pIdx1)).FonError) != OE_None), azOrigin[int32(uint32(*(*uint16)(unsafe.Pointer(pIdx1 + 100))&0x3>>0))], libc.BoolInt32((*TIndex)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0)))) goto _23 _23: ; @@ -189151,7 +189837,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt == uintptr(0) { goto _24 } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+19429, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+19516, libc.VaList(bp+176, i3, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FzDbSName, _sqlite3BtreeGetFilename(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i3)*32))).FpBt))) goto _24 _24: ; @@ -189168,7 +189854,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pColl = (*THashElem)(unsafe.Pointer(p)).Fdata v26 = i4 i4++ - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+19433, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+19520, libc.VaList(bp+176, v26, (*TCollSeq)(unsafe.Pointer(pColl)).FzName)) goto _25 _25: ; @@ -189218,7 +189904,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } pMod = (*THashElem)(unsafe.Pointer(j1)).Fdata - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+8926, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+9051, libc.VaList(bp+176, (*TModule)(unsafe.Pointer(pMod)).FzName)) goto _30 _30: ; @@ -189230,7 +189916,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i6 < int32(libc.Uint64FromInt64(1608)/libc.Uint64FromInt64(24))) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+8926, libc.VaList(bp+176, _aPragmaName[i6].FzName)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+9051, libc.VaList(bp+176, _aPragmaName[i6].FzName)) goto _31 _31: ; @@ -189256,7 +189942,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(j2 < (*TFKey)(unsafe.Pointer(pFK)).FnCol) { break } - _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+19436, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+19445)) + _sqlite3VdbeMultiLoad(tls, v, int32(1), __ccgo_ts+19523, libc.VaList(bp+176, i7, j2, (*TFKey)(unsafe.Pointer(pFK)).FzTo, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab5)).FaCol + uintptr((*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FiFrom)*16))).FzCnName, (*(*TsColMap)(unsafe.Pointer(pFK + 64 + uintptr(j2)*16))).FzCol, _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45 + 1))), _actionName(tls, *(*Tu8)(unsafe.Pointer(pFK + 45))), __ccgo_ts+19532)) goto _32 _32: ; @@ -189397,7 +190083,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { _sqlite3VdbeAddOp2(tls, v, int32(OP_Null), 0, regResult+int32(1)) } - _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+19450, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) + _sqlite3VdbeMultiLoad(tls, v, regResult+int32(2), __ccgo_ts+19537, libc.VaList(bp+176, (*TFKey)(unsafe.Pointer(pFK1)).FzTo, i8-int32(1))) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), regResult, int32(4)) _sqlite3VdbeResolveLabel(tls, v, addrOk) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 96))) @@ -189465,7 +190151,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p /* Set the maximum error count */ *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) if zRight != 0 { - if _sqlite3GetInt32(tls, zRight, bp+104) != 0 { + if _sqlite3GetInt32(tls, (*TToken)(unsafe.Pointer(pValue)).Fz, bp+104) != 0 { if *(*int32)(unsafe.Pointer(bp + 104)) <= 0 { *(*int32)(unsafe.Pointer(bp + 104)) = int32(SQLITE_INTEGRITY_CHECK_ERROR_MAX) } @@ -189485,8 +190171,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(i9 < (*Tsqlite3)(unsafe.Pointer(db)).FnDb) { break } /* Array of root page numbers of all btrees */ - cnt = 0 /* Number of entries in aRoot[] */ - mxIdx = 0 /* Maximum number of indexes for any table */ + cnt = 0 /* Number of entries in aRoot[] */ if libc.Bool(OMIT_TEMPDB != 0) && i9 == int32(1) { goto _40 } @@ -189527,9 +190212,6 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p pIdx3 = (*TIndex)(unsafe.Pointer(pIdx3)).FpNext nIdx++ } - if nIdx > mxIdx { - mxIdx = nIdx - } goto _41 _41: ; @@ -189585,16 +190267,78 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } *(*int32)(unsafe.Pointer(aRoot)) = cnt /* Make sure sufficient number of registers have been allocated */ - _sqlite3TouchRegister(tls, pParse, int32(8)+mxIdx) + _sqlite3TouchRegister(tls, pParse, int32(8)+cnt) _sqlite3ClearTempRegCache(tls, pParse) /* Do the b-tree integrity checks */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(2), cnt, int32(1), aRoot, -int32(14)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_IntegrityCk), int32(1), cnt, int32(8), aRoot, -int32(14)) _sqlite3VdbeChangeP5(tls, v, uint16(uint8(uint8(i9)))) addr1 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(2)) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+19454, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+19541, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i9)*32))).FzDbSName)), -int32(6)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(2), int32(3), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, addr1) + /* Check that the indexes all have the right number of rows */ + if pObjTab != 0 { + v48 = int32(1) + } else { + v48 = 0 + } + cnt = v48 + _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+19565) + x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst + for { + if !(x2 != 0) { + break + } + iTab = 0 + pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab9 { + goto _49 + } + if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + v50 = cnt + cnt++ + iTab = v50 + } else { + iTab = cnt + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx5 + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { + break + } + iTab++ + goto _51 + _51: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + } + pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + for { + if !(pIdx5 != 0) { + break + } + if (*TIndex)(unsafe.Pointer(pIdx5)).FpPartIdxWhere == uintptr(0) { + addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+cnt, 0, int32(8)+iTab) + _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) + _integrityCheckResultRow(tls, v) + _sqlite3VdbeJumpHere(tls, v, addr1) + } + cnt++ + goto _52 + _52: + ; + pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + } + goto _49 + _49: + ; + x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext + } /* Make sure all the indices are constructed correctly. */ x2 = (*THash)(unsafe.Pointer(pTbls)).Ffirst @@ -189602,39 +190346,39 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab9 = (*THashElem)(unsafe.Pointer(x2)).Fdata + pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata pPrior = uintptr(0) r1 = -int32(1) /* Maximum non-virtual column number */ - if pObjTab != 0 && pObjTab != pTab9 { - goto _48 + if pObjTab != 0 && pObjTab != pTab10 { + goto _53 } - if !(int32((*TTable)(unsafe.Pointer(pTab9)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { - goto _48 + if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _53 } - if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if isQuick != 0 || (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { pPk1 = uintptr(0) r2 = 0 } else { - pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab9) + pPk1 = _sqlite3PrimaryKeyIndex(tls, pTab10) r2 = _sqlite3GetTempRange(tls, pParse, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), int32(1), r2, r2+int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)-int32(1)) } - _sqlite3OpenTableAndIndices(tls, pParse, pTab9, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) + _sqlite3OpenTableAndIndices(tls, pParse, pTab10, int32(OP_OpenRead), uint8(0), int32(1), uintptr(0), bp+108, bp+112) /* reg[7] counts the number of entries in the table. ** reg[8+i] counts the number of entries in the i-th index */ _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(7)) j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, int32(8)+j4) /* index entries counter */ - goto _49 - _49: + goto _54 + _54: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), *(*int32)(unsafe.Pointer(bp + 108)), 0) @@ -189644,29 +190388,29 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** will also prepopulate the cursor column cache that is used ** by the OP_IsType code, so it is a required step. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { mxCol = -int32(1) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { + if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FcolFlags)&int32(COLFLAG_VIRTUAL) == 0 { mxCol++ } - goto _50 - _50: + goto _55 + _55: ; j4++ } - if mxCol == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { + if mxCol == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { mxCol-- } } else { /* COLFLAG_VIRTUAL columns are not included in the WITHOUT ROWID ** PK index column-count, so there is no need to account for them ** in this case. */ - mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab9))).FnColumn) - int32(1) + mxCol = int32((*TIndex)(unsafe.Pointer(_sqlite3PrimaryKeyIndex(tls, pTab10))).FnColumn) - int32(1) } if mxCol >= 0 { _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 108)), mxCol, int32(3)) @@ -189676,7 +190420,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if pPk1 != 0 { a1 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 108)), 0, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), r2) - zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+19478, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr = _sqlite3MPrintf(tls, db, __ccgo_ts+19594, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a1) @@ -189687,8 +190431,8 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprCodeLoadIndexColumn(tls, pParse, pPk1, *(*int32)(unsafe.Pointer(bp + 108)), j4, r2+j4) - goto _51 - _51: + goto _56 + _56: ; j4++ } @@ -189703,15 +190447,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** (4) Datatype for numeric columns in non-STRICT tables must not ** be a TEXT value that can be losslessly converted to numeric. */ - bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_Strict) != uint32(0)) + bStrict = libc.BoolInt32((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_Strict) != uint32(0)) j4 = 0 for { - if !(j4 < int32((*TTable)(unsafe.Pointer(pTab9)).FnCol)) { + if !(j4 < int32((*TTable)(unsafe.Pointer(pTab10)).FnCol)) { break } - pCol1 = (*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ - if j4 == int32((*TTable)(unsafe.Pointer(pTab9)).FiPKey) { - goto _52 + pCol1 = (*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16 /* Check datatypes (besides NOT NULL) */ + if j4 == int32((*TTable)(unsafe.Pointer(pTab10)).FiPKey) { + goto _57 } if bStrict != 0 { doTypeCheck = libc.BoolInt32(int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4)) > int32(COLTYPE_ANY)) @@ -189719,28 +190463,28 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p doTypeCheck = libc.BoolInt32(int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) > int32(SQLITE_AFF_BLOB)) } if int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf>>0)) == 0 && !(doTypeCheck != 0) { - goto _52 + goto _57 } /* Compute the operands that will be needed for OP_IsType */ p4 = int32(SQLITE_NULL) if int32((*TColumn)(unsafe.Pointer(pCol1)).FcolFlags)&int32(COLFLAG_VIRTUAL) != 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) p11 = -int32(1) p3 = int32(3) } else { if (*TColumn)(unsafe.Pointer(pCol1)).FiDflt != 0 { *(*uintptr)(unsafe.Pointer(bp + 120)) = uintptr(0) - _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab9, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8((*TColumn)(unsafe.Pointer(pCol1)).Faffinity), bp+120) + _sqlite3ValueFromExpr(tls, db, _sqlite3ColumnExpr(tls, pTab10, pCol1), (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8((*TColumn)(unsafe.Pointer(pCol1)).Faffinity), bp+120) if *(*uintptr)(unsafe.Pointer(bp + 120)) != 0 { p4 = Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) _sqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) } } p11 = *(*int32)(unsafe.Pointer(bp + 108)) - if !((*TTable)(unsafe.Pointer(pTab9)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { - p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab9), int16(int16(j4)))) + if !((*TTable)(unsafe.Pointer(pTab10)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) { + p3 = int32(_sqlite3TableColumnToIndex(tls, _sqlite3PrimaryKeyIndex(tls, pTab10), int16(int16(j4)))) } else { - p3 = int32(_sqlite3TableColumnToStorage(tls, pTab9, int16(int16(j4)))) + p3 = int32(_sqlite3TableColumnToStorage(tls, pTab10, int16(int16(j4)))) } } labelError = _sqlite3VdbeMakeLabel(tls, pParse) @@ -189757,10 +190501,10 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** is REAL, we have to load the actual data using OP_Column ** to reliably determine if the value is a NULL. */ _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), p11, p3, int32(3)) - _sqlite3ColumnDefault(tls, v, pTab9, j4, int32(3)) + _sqlite3ColumnDefault(tls, v, pTab10, j4, int32(3)) jmp3 = _sqlite3VdbeAddOp2(tls, v, int32(OP_NotNull), int32(3), labelOk) } - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+19514, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+19630, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*TColumn)(unsafe.Pointer(pCol1)).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) if doTypeCheck != 0 { _sqlite3VdbeGoto(tls, v, labelError) @@ -189773,7 +190517,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if bStrict != 0 && doTypeCheck != 0 { _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(_aStdTypeMask[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)])) - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+19534, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+19650, libc.VaList(bp+176, _sqlite3StdType[int32(uint32(*(*uint8)(unsafe.Pointer(pCol1 + 8))&0xf0>>4))-int32(1)], (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) == int32(SQLITE_AFF_TEXT) { @@ -189781,7 +190525,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** NULL, TEXT, or BLOB. */ _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+19556, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+19672, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } else { if !(bStrict != 0) && int32((*TColumn)(unsafe.Pointer(pCol1)).Faffinity) >= int32(SQLITE_AFF_NUMERIC) { @@ -189790,12 +190534,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), p11, labelOk, p3, p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1b)) /* NULL, INT, FLOAT, or BLOB */ if p11 >= 0 { - _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab9, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) + _sqlite3ExprCodeGetColumnOfTable(tls, v, pTab10, *(*int32)(unsafe.Pointer(bp + 108)), j4, int32(3)) } - _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+19579, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Affinity), int32(3), int32(1), 0, __ccgo_ts+19695, -int32(1)) _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IsType), -int32(1), labelOk, int32(3), p4) _sqlite3VdbeChangeP5(tls, v, uint16(0x1c)) /* NULL, TEXT, or BLOB */ - zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+19581, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(j4)*16))).FzCnName)) + zErr1 = _sqlite3MPrintf(tls, db, __ccgo_ts+19697, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(j4)*16))).FzCnName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr1, -int32(6)) } } @@ -189803,14 +190547,14 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p _sqlite3VdbeResolveLabel(tls, v, labelError) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, labelOk) - goto _52 - _52: + goto _57 + _57: ; j4++ } /* Verify CHECK constraints */ - if (*TTable)(unsafe.Pointer(pTab9)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { - pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab9)).FpCheck, 0) + if (*TTable)(unsafe.Pointer(pTab10)).FpCheck != 0 && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_IgnoreChecks) == uint64(0) { + pCheck = _sqlite3ExprListDup(tls, db, (*TTable)(unsafe.Pointer(pTab10)).FpCheck, 0) if int32((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0 { addrCkFault = _sqlite3VdbeMakeLabel(tls, pParse) addrCkOk = _sqlite3VdbeMakeLabel(tls, pParse) @@ -189821,15 +190565,15 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p break } _sqlite3ExprIfFalse(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8 + uintptr(k3)*32))).FpExpr, addrCkFault, 0) - goto _53 - _53: + goto _58 + _58: ; k3-- } _sqlite3ExprIfTrue(tls, pParse, (*(*TExprList_item)(unsafe.Pointer(pCheck + 8))).FpExpr, addrCkOk, int32(SQLITE_JUMPIFNULL)) _sqlite3VdbeResolveLabel(tls, v, addrCkFault) (*TParse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19601, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab9)).FzName)) + zErr2 = _sqlite3MPrintf(tls, db, __ccgo_ts+19717, libc.VaList(bp+176, (*TTable)(unsafe.Pointer(pTab10)).FzName)) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, int32(3), 0, zErr2, -int32(6)) _integrityCheckResultRow(tls, v) _sqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -189839,25 +190583,25 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(isQuick != 0) { /* Omit the remaining tests for quick_check */ /* Validate index entries for the current row */ j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex + pIdx6 = (*TTable)(unsafe.Pointer(pTab10)).FpIndex for { - if !(pIdx5 != 0) { + if !(pIdx6 != 0) { break } ckUniq = _sqlite3VdbeMakeLabel(tls, pParse) - if pPk1 == pIdx5 { - goto _54 + if pPk1 == pIdx6 { + goto _59 } - r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) - pPrior = pIdx5 + r1 = _sqlite3GenerateIndexKey(tls, pParse, pIdx6, *(*int32)(unsafe.Pointer(bp + 108)), 0, 0, bp+128, pPrior, r1) + pPrior = pIdx6 _sqlite3VdbeAddOp2(tls, v, int32(OP_AddImm), int32(8)+j4, int32(1)) /* increment entry count */ /* Verify that an index entry exists for the current table row */ - jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+19631) + jmp21 = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), *(*int32)(unsafe.Pointer(bp + 112))+j4, ckUniq, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+19747) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+19636) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+19752) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) - jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) + jmp5 = _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx6)).FzName) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(3), int32(3)) jmp4 = _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, jmp21) @@ -189865,12 +190609,12 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** that extracts the rowid off the end of the index record. ** But it only works correctly if index record does not have ** any extra bytes at the end. Verify that this is the case. */ - if (*TTable)(unsafe.Pointer(pTab9)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { + if (*TTable)(unsafe.Pointer(pTab10)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) { _sqlite3VdbeAddOp2(tls, v, int32(OP_IdxRowid), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx5)).FnColumn)-int32(1)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+19657) + jmp7 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(3), 0, r1+int32((*TIndex)(unsafe.Pointer(pIdx6)).FnColumn)-int32(1)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+19773) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+19693) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+19809) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp7) } @@ -189879,100 +190623,75 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p label6 = 0 kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { - goto _55 + if *(*uintptr)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) { + goto _60 } if label6 == 0 { label6 = _sqlite3VdbeMakeLabel(tls, pParse) } _sqlite3VdbeAddOp3(tls, v, int32(OP_Column), *(*int32)(unsafe.Pointer(bp + 112))+j4, kk, int32(3)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ne), int32(3), label6, r1+kk) - goto _55 - _55: + goto _60 + _60: ; kk++ } if label6 != 0 { jmp6 = _sqlite3VdbeAddOp0(tls, v, int32(OP_Goto)) _sqlite3VdbeResolveLabel(tls, v, label6) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+19631) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+19747) _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(7), int32(3), int32(3)) - _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+19704) + _sqlite3VdbeLoadString(tls, v, int32(4), __ccgo_ts+19820) _sqlite3VdbeGoto(tls, v, jmp5-int32(1)) _sqlite3VdbeJumpHere(tls, v, jmp6) } /* For UNIQUE indexes, verify that only one entry exists with the ** current key. The entry is unique if (1) any column is NULL ** or (2) the next entry has a different key */ - if int32((*TIndex)(unsafe.Pointer(pIdx5)).FonError) != OE_None { + if int32((*TIndex)(unsafe.Pointer(pIdx6)).FonError) != OE_None { uniqOk = _sqlite3VdbeMakeLabel(tls, pParse) kk = 0 for { - if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) { + if !(kk < int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) { break } - iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2))) - if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { - goto _56 + iCol1 = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx6)).FaiColumn + uintptr(kk)*2))) + if iCol1 >= 0 && int32(uint32(*(*uint8)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab10)).FaCol + uintptr(iCol1)*16 + 8))&0xf>>0)) != 0 { + goto _61 } _sqlite3VdbeAddOp2(tls, v, int32(OP_IsNull), r1+kk, uniqOk) - goto _56 - _56: + goto _61 + _61: ; kk++ } jmp61 = _sqlite3VdbeAddOp1(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 112))+j4) _sqlite3VdbeGoto(tls, v, uniqOk) _sqlite3VdbeJumpHere(tls, v, jmp61) - _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx5)).FnKeyCol)) - _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+19731) + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IdxGT), *(*int32)(unsafe.Pointer(bp + 112))+j4, uniqOk, r1, int32((*TIndex)(unsafe.Pointer(pIdx6)).FnKeyCol)) + _sqlite3VdbeLoadString(tls, v, int32(3), __ccgo_ts+19847) _sqlite3VdbeGoto(tls, v, jmp5) _sqlite3VdbeResolveLabel(tls, v, uniqOk) } _sqlite3VdbeJumpHere(tls, v, jmp4) _sqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 128))) - goto _54 - _54: + goto _59 + _59: ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext + pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext j4++ } } _sqlite3VdbeAddOp2(tls, v, int32(OP_Next), *(*int32)(unsafe.Pointer(bp + 108)), loopTop) _sqlite3VdbeJumpHere(tls, v, loopTop-int32(1)) - if !(isQuick != 0) { - _sqlite3VdbeLoadString(tls, v, int32(2), __ccgo_ts+19758) - j4 = 0 - pIdx5 = (*TTable)(unsafe.Pointer(pTab9)).FpIndex - for { - if !(pIdx5 != 0) { - break - } - if pPk1 == pIdx5 { - goto _57 - } - _sqlite3VdbeAddOp2(tls, v, int32(OP_Count), *(*int32)(unsafe.Pointer(bp + 112))+j4, int32(3)) - addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_Eq), int32(8)+j4, 0, int32(3)) - _sqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) - _sqlite3VdbeLoadString(tls, v, int32(4), (*TIndex)(unsafe.Pointer(pIdx5)).FzName) - _sqlite3VdbeAddOp3(tls, v, int32(OP_Concat), int32(4), int32(2), int32(3)) - _integrityCheckResultRow(tls, v) - _sqlite3VdbeJumpHere(tls, v, addr1) - goto _57 - _57: - ; - pIdx5 = (*TIndex)(unsafe.Pointer(pIdx5)).FpNext - j4++ - } - if pPk1 != 0 { - _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) - } + if pPk1 != 0 { + _sqlite3ReleaseTempRange(tls, pParse, r2, int32((*TIndex)(unsafe.Pointer(pPk1)).FnKeyCol)) } - goto _48 - _48: + goto _53 + _53: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -189984,60 +190703,60 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(x2 != 0) { break } - pTab10 = (*THashElem)(unsafe.Pointer(x2)).Fdata - if pObjTab != 0 && pObjTab != pTab10 { - goto _58 + pTab11 = (*THashElem)(unsafe.Pointer(x2)).Fdata + if pObjTab != 0 && pObjTab != pTab11 { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == TABTYP_NORM { - goto _58 + if int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == TABTYP_NORM { + goto _62 } - if !(int32((*TTable)(unsafe.Pointer(pTab10)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { - goto _58 + if !(int32((*TTable)(unsafe.Pointer(pTab11)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) { + goto _62 } - if int32((*TTable)(unsafe.Pointer(pTab10)).FnCol) <= 0 { + if int32((*TTable)(unsafe.Pointer(pTab11)).FnCol) <= 0 { zMod = *(*uintptr)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).FazArg)) + })(unsafe.Pointer(pTab11 + 64))).FazArg)) if _sqlite3HashFind(tls, db+576, zMod) == uintptr(0) { - goto _58 + goto _62 } } - _sqlite3ViewGetColumnNames(tls, pParse, pTab10) + _sqlite3ViewGetColumnNames(tls, pParse, pTab11) if (*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp == uintptr(0) { - goto _58 + })(unsafe.Pointer(pTab11 + 64))).Fp == uintptr(0) { + goto _62 } pVTab = (*TVTable)(unsafe.Pointer((*(*struct { FnArg int32 FazArg uintptr Fp uintptr - })(unsafe.Pointer(pTab10 + 64))).Fp)).FpVtab + })(unsafe.Pointer(pTab11 + 64))).Fp)).FpVtab if pVTab == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule == uintptr(0) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FiVersion < int32(4) { - goto _58 + goto _62 } if (*Tsqlite3_module)(unsafe.Pointer((*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FpModule)).FxIntegrity == uintptr(0) { - goto _58 + goto _62 } _sqlite3VdbeAddOp3(tls, v, int32(OP_VCheck), i9, int32(3), isQuick) - (*TTable)(unsafe.Pointer(pTab10)).FnTabRef++ - _sqlite3VdbeAppendP4(tls, v, pTab10, -int32(16)) + (*TTable)(unsafe.Pointer(pTab11)).FnTabRef++ + _sqlite3VdbeAppendP4(tls, v, pTab11, -int32(16)) a11 = _sqlite3VdbeAddOp1(tls, v, int32(OP_IsNull), int32(3)) _integrityCheckResultRow(tls, v) _sqlite3VdbeJumpHere(tls, v, a11) - goto _58 - goto _58 - _58: + goto _62 + goto _62 + _62: ; x2 = (*THashElem)(unsafe.Pointer(x2)).Fnext } @@ -190050,7 +190769,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if aOp2 != 0 { (*(*TVdbeOp)(unsafe.Pointer(aOp2))).Fp2 = int32(1) - *(*int32)(unsafe.Pointer(bp + 104)) (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 2*24))).Fp4type = int8(-libc.Int32FromInt32(1)) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 19787 + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = __ccgo_ts + 19874 (*(*TVdbeOp)(unsafe.Pointer(aOp2 + 5*24))).Fp4type = int8(-libc.Int32FromInt32(1)) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = _sqlite3ErrStr(tls, int32(SQLITE_CORRUPT)) } @@ -190108,20 +190827,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc != 0 { - v60 = int32((*struct { + v64 = int32((*struct { FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).Fenc) } else { - v60 = int32(SQLITE_UTF16LE) + v64 = int32(SQLITE_UTF16LE) } - enc = uint8(v60) + enc = uint8(v64) (*TSchema)(unsafe.Pointer((*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FpSchema)).Fenc = enc _sqlite3SetTextEncoding(tls, db, enc) break } - goto _59 - _59: + goto _63 + _63: ; pEnc += 16 } @@ -190129,7 +190848,7 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p FzName uintptr Fenc Tu8 })(unsafe.Pointer(pEnc)).FzName != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19848, libc.VaList(bp+176, zRight)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+19935, libc.VaList(bp+176, zRight)) } } } @@ -190207,11 +190926,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p i10 = 0 (*TParse)(unsafe.Pointer(pParse)).FnMem = int32(1) for { - v62 = i10 + v66 = i10 i10++ - v61 = Xsqlite3_compileoption_get(tls, v62) - zOpt = v61 - if !(v61 != uintptr(0)) { + v65 = Xsqlite3_compileoption_get(tls, v66) + zOpt = v65 + if !(v65 != uintptr(0)) { break } _sqlite3VdbeLoadString(tls, v, int32(1), zOpt) @@ -190227,20 +190946,20 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p fallthrough case int32(PragTyp_WAL_CHECKPOINT): if (*TToken)(unsafe.Pointer(pId2)).Fz != 0 { - v63 = iDb + v67 = iDb } else { - v63 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) + v67 = libc.Int32FromInt32(SQLITE_MAX_ATTACHED) + libc.Int32FromInt32(2) } - iBt = v63 + iBt = v67 eMode2 = SQLITE_CHECKPOINT_PASSIVE if zRight != 0 { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+19073) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+19160) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_FULL) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+19873) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+19960) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_RESTART) } else { - if _sqlite3StrICmp(tls, zRight, __ccgo_ts+19226) == 0 { + if _sqlite3StrICmp(tls, zRight, __ccgo_ts+19313) == 0 { eMode2 = int32(SQLITE_CHECKPOINT_TRUNCATE) } } @@ -190264,11 +190983,11 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p Xsqlite3_wal_autocheckpoint(tls, db, _sqlite3Atoi(tls, zRight)) } if (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback == __ccgo_fp(_sqlite3WalDefaultHook) { - v64 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) + v68 = int32(int64((*Tsqlite3)(unsafe.Pointer(db)).FpWalArg)) } else { - v64 = 0 + v68 = 0 } - _returnSingleInt(tls, v, int64(v64)) + _returnSingleInt(tls, v, int64(v68)) break /* ** PRAGMA shrink_memory @@ -190296,47 +191015,68 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p ** ** The optional argument is a bitmask of optimizations to perform: ** - ** 0x0001 Debugging mode. Do not actually perform any optimizations - ** but instead return one line of text for each optimization - ** that would have been done. Off by default. + ** 0x00001 Debugging mode. Do not actually perform any optimizations + ** but instead return one line of text for each optimization + ** that would have been done. Off by default. ** - ** 0x0002 Run ANALYZE on tables that might benefit. On by default. - ** See below for additional information. + ** 0x00002 Run ANALYZE on tables that might benefit. On by default. + ** See below for additional information. ** - ** 0x0004 (Not yet implemented) Record usage and performance - ** information from the current session in the - ** database file so that it will be available to "optimize" - ** pragmas run by future database connections. + ** 0x00010 Run all ANALYZE operations using an analysis_limit that + ** is the lessor of the current analysis_limit and the + ** SQLITE_DEFAULT_OPTIMIZE_LIMIT compile-time option. + ** The default value of SQLITE_DEFAULT_OPTIMIZE_LIMIT is + ** currently (2024-02-19) set to 2000, which is such that + ** the worst case run-time for PRAGMA optimize on a 100MB + ** database will usually be less than 100 milliseconds on + ** a RaspberryPI-4 class machine. On by default. ** - ** 0x0008 (Not yet implemented) Create indexes that might have - ** been helpful to recent queries + ** 0x10000 Look at tables to see if they need to be reanalyzed + ** due to growth or shrinkage even if they have not been + ** queried during the current connection. Off by default. ** - ** The default MASK is and always shall be 0xfffe. 0xfffe means perform all - ** of the optimizations listed above except Debug Mode, including new - ** optimizations that have not yet been invented. If new optimizations are - ** ever added that should be off by default, those off-by-default - ** optimizations will have bitmasks of 0x10000 or larger. + ** The default MASK is and always shall be 0x0fffe. In the current + ** implementation, the default mask only covers the 0x00002 optimization, + ** though additional optimizations that are covered by 0x0fffe might be + ** added in the future. Optimizations that are off by default and must + ** be explicitly requested have masks of 0x10000 or greater. ** ** DETERMINATION OF WHEN TO RUN ANALYZE ** ** In the current implementation, a table is analyzed if only if all of ** the following are true: ** - ** (1) MASK bit 0x02 is set. + ** (1) MASK bit 0x00002 is set. + ** + ** (2) The table is an ordinary table, not a virtual table or view. + ** + ** (3) The table name does not begin with "sqlite_". ** - ** (2) The query planner used sqlite_stat1-style statistics for one or - ** more indexes of the table at some point during the lifetime of - ** the current connection. + ** (4) One or more of the following is true: + ** (4a) The 0x10000 MASK bit is set. + ** (4b) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. + ** (4c) The query planner used sqlite_stat1-style statistics for one + ** or more indexes of the table at some point during the lifetime + ** of the current connection. ** - ** (3) One or more indexes of the table are currently unanalyzed OR - ** the number of rows in the table has increased by 25 times or more - ** since the last time ANALYZE was run. + ** (5) One or more of the following is true: + ** (5a) One or more indexes on the table lacks an entry + ** in the sqlite_stat1 table. (Same as 4a) + ** (5b) The number of rows in the table has increased or decreased by + ** 10-fold. In other words, the current size of the table is + ** 10 times larger than the size in sqlite_stat1 or else the + ** current size is less than 1/10th the size in sqlite_stat1. ** ** The rules for when tables are analyzed are likely to change in - ** future releases. + ** future releases. Future versions of SQLite might accept a string + ** literal argument to this pragma that contains a mnemonic description + ** of the options rather than a bitmap. */ fallthrough - case int32(PragTyp_OPTIMIZE): /* Mask of operations to perform */ + case int32(PragTyp_OPTIMIZE): /* Analysis limit to use */ + nCheck = 0 /* Number of tables to be optimized */ + nBtree = 0 /* Number of indexes on the current table */ if zRight != 0 { opMask = uint32(_sqlite3Atoi(tls, zRight)) if opMask&uint32(0x02) == uint32(0) { @@ -190345,22 +191085,31 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p } else { opMask = uint32(0xfffe) } - v66 = pParse + 52 - v65 = *(*int32)(unsafe.Pointer(v66)) - *(*int32)(unsafe.Pointer(v66))++ - iTabCur = v65 + if opMask&uint32(0x10) == uint32(0) { + nLimit = 0 + } else { + if (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit > 0 && (*Tsqlite3)(unsafe.Pointer(db)).FnAnalysisLimit < int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) { + nLimit = 0 + } else { + nLimit = int32(SQLITE_DEFAULT_OPTIMIZE_LIMIT) + } + } + v70 = pParse + 52 + v69 = *(*int32)(unsafe.Pointer(v70)) + *(*int32)(unsafe.Pointer(v70))++ + iTabCur = v69 if zDb != 0 { - v68 = iDb + v72 = iDb } else { - v68 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) + v72 = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - int32(1) } - iDbLast = v68 + iDbLast = v72 for { if !(iDb <= iDbLast) { break } if iDb == int32(1) { - goto _67 + goto _71 } _sqlite3CodeVerifySchema(tls, pParse, iDb) pSchema = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema @@ -190369,52 +191118,122 @@ func _sqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p if !(k4 != 0) { break } - pTab11 = (*THashElem)(unsafe.Pointer(k4)).Fdata - /* If table pTab has not been used in a way that would benefit from - ** having analysis statistics during the current session, then skip it. - ** This also has the effect of skipping virtual tables and views */ - if (*TTable)(unsafe.Pointer(pTab11)).FtabFlags&uint32(TF_StatsUsed) == uint32(0) { - goto _69 - } - /* Reanalyze if the table is 25 times larger than the last analysis */ - szThreshold = int16(int32((*TTable)(unsafe.Pointer(pTab11)).FnRowLogEst) + int32(46)) - pIdx6 = (*TTable)(unsafe.Pointer(pTab11)).FpIndex + pTab12 = (*THashElem)(unsafe.Pointer(k4)).Fdata + /* This only works for ordinary tables */ + if !(int32((*TTable)(unsafe.Pointer(pTab12)).FeTabType) == libc.Int32FromInt32(TABTYP_NORM)) { + goto _73 + } + /* Do not scan system tables */ + if 0 == Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab12)).FzName, __ccgo_ts+7898, int32(7)) { + goto _73 + } + /* Find the size of the table as last recorded in sqlite_stat1. + ** If any index is unanalyzed, then the threshold is -1 to + ** indicate a new, unanalyzed index + */ + szThreshold = (*TTable)(unsafe.Pointer(pTab12)).FnRowLogEst + nIndex = 0 + pIdx7 = (*TTable)(unsafe.Pointer(pTab12)).FpIndex for { - if !(pIdx6 != 0) { + if !(pIdx7 != 0) { break } - if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7)) != 0) { - szThreshold = 0 /* Always analyze if any index lacks statistics */ - break + nIndex++ + if !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx7 + 100))&0x80>>7)) != 0) { + szThreshold = int16(-int32(1)) /* Always analyze if any index lacks statistics */ } - goto _70 - _70: + goto _74 + _74: ; - pIdx6 = (*TIndex)(unsafe.Pointer(pIdx6)).FpNext + pIdx7 = (*TIndex)(unsafe.Pointer(pIdx7)).FpNext } - if szThreshold != 0 { - _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab11, int32(OP_OpenRead)) - _sqlite3VdbeAddOp3(tls, v, int32(OP_IfSmaller), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), int32(int32(szThreshold))) + /* If table pTab has not been used in a way that would benefit from + ** having analysis statistics during the current session, then skip it, + ** unless the 0x10000 MASK bit is set. */ + if (*TTable)(unsafe.Pointer(pTab12)).FtabFlags&uint32(TF_MaybeReanalyze) != uint32(0) { + /* Check for size change if stat1 has been used for a query */ + } else { + if opMask&uint32(0x10000) != 0 { + /* Check for size change if 0x10000 is set */ + } else { + if (*TTable)(unsafe.Pointer(pTab12)).FpIndex != uintptr(0) && int32(int32(szThreshold)) < 0 { + /* Do analysis if unanalyzed indexes exists */ + } else { + /* Otherwise, we can skip this table */ + goto _73 + } + } } - zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+19881, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab11)).FzName)) + nCheck++ + if nCheck == int32(2) { + /* If ANALYZE might be invoked two or more times, hold a write + ** transaction for efficiency */ + _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) + } + nBtree += nIndex + int32(1) + /* Reanalyze if the table is 10 times larger or smaller than + ** the last analysis. Unconditional reanalysis if there are + ** unanalyzed indexes. */ + _sqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab12, int32(OP_OpenRead)) + if int32(int32(szThreshold)) >= 0 { + iRange = int16(33) /* 10x size change */ + if int32(int32(szThreshold)) >= int32(int32(iRange)) { + v75 = int32(int32(szThreshold)) - int32(int32(iRange)) + } else { + v75 = -int32(1) + } + _sqlite3VdbeAddOp4Int(tls, v, int32(OP_IfSizeBetween), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1)), v75, int32(int32(szThreshold))+int32(int32(iRange))) + } else { + _sqlite3VdbeAddOp2(tls, v, int32(OP_Rewind), iTabCur, int32(uint32(_sqlite3VdbeCurrentAddr(tls, v)+int32(2))+opMask&uint32(1))) + } + zSubSql = _sqlite3MPrintf(tls, db, __ccgo_ts+19968, libc.VaList(bp+176, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab12)).FzName)) if opMask&uint32(0x01) != 0 { r11 = _sqlite3GetTempReg(tls, pParse) _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, r11, 0, zSubSql, -int32(6)) _sqlite3VdbeAddOp2(tls, v, int32(OP_ResultRow), r11, int32(1)) } else { - _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), 0, 0, 0, zSubSql, -int32(6)) + if nLimit != 0 { + v76 = int32(0x02) + } else { + v76 = 00 + } + _sqlite3VdbeAddOp4(tls, v, int32(OP_SqlExec), v76, nLimit, 0, zSubSql, -int32(6)) } - goto _69 - _69: + goto _73 + _73: ; k4 = (*THashElem)(unsafe.Pointer(k4)).Fnext } - goto _67 - _67: + goto _71 + _71: ; iDb++ } _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) + /* In a schema with a large number of tables and indexes, scale back + ** the analysis_limit to avoid excess run-time in the worst case. + */ + if !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && nLimit > 0 && nBtree > int32(100) { + nLimit = int32(100) * nLimit / nBtree + if nLimit < int32(100) { + nLimit = int32(100) + } + aOp5 = _sqlite3VdbeGetOp(tls, v, 0) + iEnd = _sqlite3VdbeCurrentAddr(tls, v) + iAddr1 = 0 + for { + if !(iAddr1 < iEnd) { + break + } + if int32((*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fopcode) == int32(OP_SqlExec) { + (*(*TVdbeOp)(unsafe.Pointer(aOp5 + uintptr(iAddr1)*24))).Fp2 = nLimit + } + goto _77 + _77: + ; + iAddr1++ + } + } break /* ** PRAGMA busy_timeout @@ -190640,34 +191459,34 @@ var _encnames1 = [9]struct { Fenc Tu8 }{ 0: { - FzName: __ccgo_ts + 19790, + FzName: __ccgo_ts + 19877, Fenc: uint8(SQLITE_UTF8), }, 1: { - FzName: __ccgo_ts + 19795, + FzName: __ccgo_ts + 19882, Fenc: uint8(SQLITE_UTF8), }, 2: { - FzName: __ccgo_ts + 19801, + FzName: __ccgo_ts + 19888, Fenc: uint8(SQLITE_UTF16LE), }, 3: { - FzName: __ccgo_ts + 19810, + FzName: __ccgo_ts + 19897, Fenc: uint8(SQLITE_UTF16BE), }, 4: { - FzName: __ccgo_ts + 19819, + FzName: __ccgo_ts + 19906, Fenc: uint8(SQLITE_UTF16LE), }, 5: { - FzName: __ccgo_ts + 19827, + FzName: __ccgo_ts + 19914, Fenc: uint8(SQLITE_UTF16BE), }, 6: { - FzName: __ccgo_ts + 19835, + FzName: __ccgo_ts + 19922, }, 7: { - FzName: __ccgo_ts + 19842, + FzName: __ccgo_ts + 19929, }, 8: {}, } @@ -190763,14 +191582,14 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg _ = argc _ = argv _sqlite3StrAccumInit(tls, bp, uintptr(0), bp+32, int32(200), 0) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19899) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19986) i = 0 j = int32((*TPragmaName)(unsafe.Pointer(pPragma)).FiPragCName) for { if !(i < int32((*TPragmaName)(unsafe.Pointer(pPragma)).FnPragCName)) { break } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19914, libc.VaList(bp+240, int32(int32(cSep)), _pragCName[j])) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+20001, libc.VaList(bp+240, int32(int32(cSep)), _pragCName[j])) cSep = int8(',') goto _1 _1: @@ -190779,19 +191598,19 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg j++ } if i == 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19921, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+20008, libc.VaList(bp+240, (*TPragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&int32(PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19927) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+20014) j++ } if int32((*TPragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(libc.Int32FromInt32(PragFlg_SchemaOpt)|libc.Int32FromInt32(PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19939) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+20026) j++ } - Xsqlite3_str_append(tls, bp, __ccgo_ts+6415, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+6479, int32(1)) _sqlite3StrAccumFinish(tls, bp) rc = Xsqlite3_declare_vtab(tls, db, bp+32) if rc == SQLITE_OK { @@ -190806,7 +191625,7 @@ func _pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg (*TPragmaVtab)(unsafe.Pointer(pTab)).FnHidden = uint8(uint8(j)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+240, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab return rc @@ -190852,14 +191671,14 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 if !(i < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { break } - if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { goto _1 } if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != int32(SQLITE_INDEX_CONSTRAINT_EQ) { goto _1 } - if (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) { - goto _1 + if int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 { + return int32(SQLITE_CONSTRAINT) } j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn - int32((*TPragmaVtab)(unsafe.Pointer(pTab)).FiHidden) seen[j] = i + int32(1) @@ -190877,16 +191696,13 @@ func _pragmaVtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32 j = seen[0] - int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) - if seen[int32(1)] == 0 { - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(1000) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000) - return SQLITE_OK - } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = libc.Float64FromInt32(20) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(20) - j = seen[int32(1)] - int32(1) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) - (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + if seen[int32(1)] != 0 { + j = seen[int32(1)] - int32(1) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).FargvIndex = int32(2) + (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8))).Fomit = uint8(1) + } return SQLITE_OK } @@ -190914,6 +191730,7 @@ func _pragmaVtabCursorClear(tls *libc.TLS, pCsr uintptr) { _ = i Xsqlite3_finalize(tls, (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma) (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FpPragma = uintptr(0) + (*TPragmaVtabCursor)(unsafe.Pointer(pCsr)).FiRowid = 0 i = 0 for { if !(i < int32(libc.Uint64FromInt64(16)/libc.Uint64FromInt64(8))) { @@ -190989,7 +191806,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr } zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if zText != 0 { - *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+40, zText)) + *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+40, zText)) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + uintptr(j)*8)) == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -191001,13 +191818,13 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr j++ } _sqlite3StrAccumInit(tls, bp, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4))) - Xsqlite3_str_appendall(tls, bp, __ccgo_ts+19954) + Xsqlite3_str_appendall(tls, bp, __ccgo_ts+20041) if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19962, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+20049, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)))) } Xsqlite3_str_appendall(tls, bp, (*TPragmaName)(unsafe.Pointer((*TPragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+19966, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+20053, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pCsr + 24)))) } zSql = _sqlite3StrAccumFinish(tls, bp) if zSql == uintptr(0) { @@ -191016,7 +191833,7 @@ func _pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr rc = Xsqlite3_prepare_v2(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), pCsr+8, uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*TPragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+40, Xsqlite3_errmsg(tls, (*TPragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return _pragmaVtabNext(tls, pVtabCursor) @@ -191142,24 +191959,24 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) /* A error message has already been generated. Do not overwrite it */ } else { if (*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(libc.Int32FromInt32(INITFLAG_AlterMask)) != 0 { - *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+20000, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) + *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = _sqlite3MPrintf(tls, db, __ccgo_ts+20087, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)), _azAlterType[(*TInitData)(unsafe.Pointer(pData)).FmInitFlags&uint32(INITFLAG_AlterMask)-uint32(1)], zExtra)) (*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR) } else { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 { - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140891)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141840)) } else { if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8)) } else { - v1 = __ccgo_ts + 6417 + v1 = __ccgo_ts + 6481 } zObj = v1 - z = _sqlite3MPrintf(tls, db, __ccgo_ts+20028, libc.VaList(bp+8, zObj)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+20115, libc.VaList(bp+8, zObj)) if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 { - z = _sqlite3MPrintf(tls, db, __ccgo_ts+20059, libc.VaList(bp+8, z, zExtra)) + z = _sqlite3MPrintf(tls, db, __ccgo_ts+20146, libc.VaList(bp+8, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z - (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(140898)) + (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(141847)) } } } @@ -191167,9 +191984,9 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } var _azAlterType = [3]uintptr{ - 0: __ccgo_ts + 19970, - 1: __ccgo_ts + 19977, - 2: __ccgo_ts + 19989, + 0: __ccgo_ts + 20057, + 1: __ccgo_ts + 20064, + 2: __ccgo_ts + 20076, } // C documentation @@ -191245,7 +192062,7 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(uint8(iDb)) if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), db+192) == 0 || (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage && (*TInitData)(unsafe.Pointer(pData)).FmxPage > uint32(0) { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+15830) + _corruptSchema(tls, pData, argv, __ccgo_ts+15923) } } libc.SetBitFieldPtr8Uint32(db+192+8, libc.Uint32FromInt32(0), 0, 0x1) @@ -191278,11 +192095,11 @@ func _sqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr } else { pIndex = _sqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName) if pIndex == uintptr(0) { - _corruptSchema(tls, pData, argv, __ccgo_ts+20067) + _corruptSchema(tls, pData, argv, __ccgo_ts+20154) } else { if _sqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum < uint32(2) || (*TIndex)(unsafe.Pointer(pIndex)).Ftnum > (*TInitData)(unsafe.Pointer(pData)).FmxPage || _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 { if _sqlite3Config.FbExtraSchemaChecks != 0 { - _corruptSchema(tls, pData, argv, __ccgo_ts+15830) + _corruptSchema(tls, pData, argv, __ccgo_ts+15923) } } } @@ -191321,18 +192138,18 @@ func _sqlite3InitOne(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. */ - (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 10367 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[0] = __ccgo_ts + 10492 if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v2 = __ccgo_ts + 7842 + v2 = __ccgo_ts + 7906 } else { - v2 = __ccgo_ts + 7375 + v2 = __ccgo_ts + 7439 } v1 = v2 zSchemaTabName = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] = v1 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(2)] = (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(1)] - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 9439 - (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 20080 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(3)] = __ccgo_ts + 9564 + (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(4)] = __ccgo_ts + 20167 (*(*[6]uintptr)(unsafe.Pointer(bp)))[int32(5)] = uintptr(0) (*(*TInitData)(unsafe.Pointer(bp + 72))).Fdb = db (*(*TInitData)(unsafe.Pointer(bp + 72))).FiDb = iDb @@ -191421,7 +192238,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl } else { /* If opening an attached database, the encoding much match ENC(db) */ if (*(*[5]int32)(unsafe.Pointer(bp + 48)))[libc.Int32FromInt32(BTREE_TEXT_ENCODING)-libc.Int32FromInt32(1)]&int32(3) != int32((*Tsqlite3)(unsafe.Pointer(db)).Fenc) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+13404) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+13529) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -191447,7 +192264,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl (*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = uint8(1) } if int32((*TSchema)(unsafe.Pointer((*TDb)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > int32(SQLITE_MAX_FILE_FORMAT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+20152) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+20239) rc = int32(SQLITE_ERROR) goto initone_error_out } @@ -191462,7 +192279,7 @@ func _sqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl /* Read the schema information out of the schema tables */ (*(*TInitData)(unsafe.Pointer(bp + 72))).FmxPage = _sqlite3BtreeLastPage(tls, (*TDb)(unsafe.Pointer(pDb)).FpBt) - zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+20176, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) + zSql = _sqlite3MPrintf(tls, db, __ccgo_ts+20263, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zSchemaTabName)) xAuth = (*Tsqlite3)(unsafe.Pointer(db)).FxAuth (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, __ccgo_fp(_sqlite3InitCallback), bp+72, uintptr(0)) @@ -191761,7 +192578,12 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) { func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) { var pCleanup uintptr _ = pCleanup - pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + if _sqlite3FaultSim(tls, int32(300)) != 0 { + pCleanup = uintptr(0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) + } else { + pCleanup = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(24)) + } if pCleanup != 0 { (*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup (*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup @@ -191792,7 +192614,7 @@ func _sqlite3ParseObjectInit(tls *libc.TLS, pParse uintptr, db uintptr) { (*Tsqlite3)(unsafe.Pointer(db)).FpParse = pParse (*TParse)(unsafe.Pointer(pParse)).Fdb = db if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1628, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1642, 0) } } @@ -191826,7 +192648,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } else { } if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { - _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1628, 0) + _sqlite3ErrorMsg(tls, bp, __ccgo_ts+1642, 0) v1 = libc.Int32FromInt32(SQLITE_NOMEM) rc = v1 (*Tsqlite3)(unsafe.Pointer(db)).FerrCode = v1 @@ -191875,7 +192697,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep rc = _sqlite3BtreeSchemaLocked(tls, pBt) if rc != 0 { zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32))).FzDbSName - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+20210, libc.VaList(bp+432, zDb)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+20297, libc.VaList(bp+432, zDb)) goto end_prepare } } @@ -191891,7 +192713,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep if nBytes >= 0 && (nBytes == 0 || int32(*(*int8)(unsafe.Pointer(zSql + uintptr(nBytes-int32(1))))) != 0) { mxLen = *(*int32)(unsafe.Pointer(db + 136 + 1*4)) if nBytes > mxLen { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+20240, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_TOOBIG), __ccgo_ts+20327, 0) rc = _sqlite3ApiExit(tls, db, int32(SQLITE_TOOBIG)) goto end_prepare } @@ -191925,7 +192747,7 @@ func _sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prep } rc = (*(*TParse)(unsafe.Pointer(bp))).Frc if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+4645, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, rc, __ccgo_ts+4709, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) } else { _sqlite3Error(tls, db, rc) @@ -191955,7 +192777,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3 cnt = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141699)) + return _sqlite3MisuseError(tls, int32(142654)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) _sqlite3BtreeEnterAll(tls, db) @@ -192089,7 +192911,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr rc = SQLITE_OK *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) { - return _sqlite3MisuseError(tls, int32(141848)) + return _sqlite3MisuseError(tls, int32(142803)) } if nBytes >= 0 { z = zSql @@ -192495,15 +193317,15 @@ func _sqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC i++ } if jointype&(libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER)) == libc.Int32FromInt32(JT_INNER)|libc.Int32FromInt32(JT_OUTER) || jointype&int32(JT_ERROR) != 0 || jointype&(libc.Int32FromInt32(JT_OUTER)|libc.Int32FromInt32(JT_LEFT)|libc.Int32FromInt32(JT_RIGHT)) == int32(JT_OUTER) { - zSp1 = __ccgo_ts + 12511 - zSp2 = __ccgo_ts + 12511 + zSp1 = __ccgo_ts + 12636 + zSp2 = __ccgo_ts + 12636 if pB == uintptr(0) { zSp1++ } if pC == uintptr(0) { zSp2++ } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20259, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20346, libc.VaList(bp+8, pA, zSp1, pB, zSp2, pC)) jointype = int32(JT_INNER) } return jointype @@ -192794,7 +193616,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { if int32((*TSrcItem)(unsafe.Pointer(pRight)).Ffg.Fjointype)&int32(JT_NATURAL) != 0 { pUsing = uintptr(0) if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20289, libc.VaList(bp+16, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20376, libc.VaList(bp+16, 0)) return int32(1) } j = 0 @@ -192844,7 +193666,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { zName1 = (*(*TIdList_item)(unsafe.Pointer(pList + 8 + uintptr(j)*16))).FzName iRightCol = _sqlite3ColumnIndex(tls, pRightTab, zName1) if iRightCol < 0 || _tableAndColumnIndex(tls, pSrc, 0, i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20339, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20426, libc.VaList(bp+16, zName1)) return int32(1) } pE1 = _sqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4))) @@ -192866,7 +193688,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { pFuncArgs = uintptr(0) /* Arguments to the coalesce() */ for _tableAndColumnIndex(tls, pSrc, *(*int32)(unsafe.Pointer(bp))+int32(1), i, zName1, bp, bp+4, int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12))) != 0 { if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 60 + 4))&0x400>>10)) == 0 || _sqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp)))*104 + 72)), zName1) < 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20403, libc.VaList(bp+16, zName1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20490, libc.VaList(bp+16, zName1)) break } pFuncArgs = _sqlite3ExprListAppend(tls, pParse, pFuncArgs, pE1) @@ -192910,7 +193732,7 @@ func _sqlite3ProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { } var _tkCoalesce = TToken{ - Fz: __ccgo_ts + 8039, + Fz: __ccgo_ts + 8103, Fn: uint32(8), } @@ -193686,13 +194508,13 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { _ = z switch id { case int32(TK_ALL): - z = __ccgo_ts + 20440 + z = __ccgo_ts + 20527 case int32(TK_INTERSECT): - z = __ccgo_ts + 20450 + z = __ccgo_ts + 20537 case int32(TK_EXCEPT): - z = __ccgo_ts + 20460 + z = __ccgo_ts + 20547 default: - z = __ccgo_ts + 20467 + z = __ccgo_ts + 20554 break } return z @@ -193713,7 +194535,7 @@ func _sqlite3SelectOpName(tls *libc.TLS, id int32) (r uintptr) { func _explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { bp := tls.Alloc(16) defer tls.Free(16) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20473, libc.VaList(bp+8, zUsage)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20560, libc.VaList(bp+8, zUsage)) } /* @@ -193747,12 +194569,17 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, iParm = (*TSelectDest)(unsafe.Pointer(pDest)).FiSDParm /* True if sorter record includes seq. no. */ nRefKey = 0 aOutEx = (*TSelect)(unsafe.Pointer(p)).FpEList + 8 - if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 { - v1 = __ccgo_ts + 20496 + nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat == 0 || nKey == int32(1) { + if (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat != 0 { + v1 = __ccgo_ts + 20583 + } else { + v1 = __ccgo_ts + 1672 + } + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20597, libc.VaList(bp+8, v1)) } else { - v1 = __ccgo_ts + 1658 + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20628, libc.VaList(bp+8, nKey)) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20511, libc.VaList(bp+8, v1)) if (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut != 0 { _sqlite3VdbeAddOp2(tls, v, int32(OP_Gosub), (*TSortCtx)(unsafe.Pointer(pSort)).FregReturn, (*TSortCtx)(unsafe.Pointer(pSort)).FlabelBkOut) _sqlite3VdbeGoto(tls, v, addrBreak) @@ -193774,7 +194601,6 @@ func _generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, regRow = _sqlite3GetTempRange(tls, pParse, nColumn) } } - nKey = (*TExprList)(unsafe.Pointer(pOrderBy)).FnExpr - (*TSortCtx)(unsafe.Pointer(pSort)).FnOBSat if int32((*TSortCtx)(unsafe.Pointer(pSort)).FsortFlags)&int32(SORTFLAG_UseSorter) != 0 { v3 = pParse + 56 *(*int32)(unsafe.Pointer(v3))++ @@ -193992,7 +194818,7 @@ func _columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr } if iCol < 0 { zType = __ccgo_ts + 1146 - *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 18009 + *(*uintptr)(unsafe.Pointer(bp + 16)) = __ccgo_ts + 18096 } else { *(*uintptr)(unsafe.Pointer(bp + 16)) = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, uintptr(0)) @@ -194138,13 +194964,13 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) iCol = int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) } if iCol < 0 { - zCol = __ccgo_ts + 18009 + zCol = __ccgo_ts + 18096 } else { zCol = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } if fullName != 0 { zName1 = uintptr(0) - zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+13690, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) + zName1 = _sqlite3MPrintf(tls, db, __ccgo_ts+13815, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zCol)) _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zName1, __ccgo_fp(_sqlite3OomClear)) } else { _sqlite3VdbeSetColName(tls, v, i, COLNAME_NAME, zCol, uintptr(-libc.Int32FromInt32(1))) @@ -194152,7 +194978,7 @@ func _sqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { z = (*(*TExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32))).FzEName if z == uintptr(0) { - v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+20542, libc.VaList(bp+8, i+int32(1))) + v2 = _sqlite3MPrintf(tls, db, __ccgo_ts+20674, libc.VaList(bp+8, i+int32(1))) } else { v2 = _sqlite3DbStrDup(tls, db, z) } @@ -194244,7 +195070,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if iCol >= 0 { v3 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName } else { - v3 = __ccgo_ts + 18009 + v3 = __ccgo_ts + 18096 } zName = v3 } else { @@ -194259,7 +195085,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, if zName != 0 && !(_sqlite3IsTrueOrFalse(tls, zName) != 0) { zName = _sqlite3DbStrDup(tls, db, zName) } else { - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+20542, libc.VaList(bp+40, i+int32(1))) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+20674, libc.VaList(bp+40, i+int32(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. @@ -194295,7 +195121,7 @@ func _sqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, } *(*Tu32)(unsafe.Pointer(bp))++ v8 = *(*Tu32)(unsafe.Pointer(bp)) - zName = _sqlite3MPrintf(tls, db, __ccgo_ts+20551, libc.VaList(bp+40, nName, zName, v8)) + zName = _sqlite3MPrintf(tls, db, __ccgo_ts+20683, libc.VaList(bp+40, nName, zName, v8)) _sqlite3ProgressCheck(tls, pParse) if *(*Tu32)(unsafe.Pointer(bp)) > uint32(3) { Xsqlite3_randomness(tls, int32(4), bp) @@ -194355,9 +195181,9 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS defer tls.Free(64) var a, db, p, pCol, pColl, pS2, zType, p4, p5 uintptr var i, j, m int32 - var m1, n Ti64 + var k, n Ti64 var _ /* sNC at bp+0 */ TNameContext - _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, m, m1, n, p, pCol, pColl, pS2, zType, p4, p5 + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, db, i, j, k, m, n, p, pCol, pColl, pS2, zType, p4, p5 db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 || int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { return @@ -194374,17 +195200,22 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS if !(i < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } + m = 0 + pS2 = pSelect *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(int32((*TColumn)(unsafe.Pointer(pCol)).FcolFlags) & libc.Int32FromInt32(COLFLAG_NOINSERT)) p = (*(*TExprList_item)(unsafe.Pointer(a + uintptr(i)*32))).FpExpr /* pCol->szEst = ... // Column size est for SELECT tables never used */ (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, p) + for int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) && (*TSelect)(unsafe.Pointer(pS2)).FpNext != uintptr(0) { + m |= _sqlite3ExprDataType(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext + (*TColumn)(unsafe.Pointer(pCol)).Faffinity = _sqlite3ExprAffinity(tls, (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pS2)).FpEList + 8 + uintptr(i)*32))).FpExpr) + } if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) <= int32(SQLITE_AFF_NONE) { (*TColumn)(unsafe.Pointer(pCol)).Faffinity = aff } - if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && (*TSelect)(unsafe.Pointer(pSelect)).FpNext != 0 { - m = 0 - m = 0 - pS2 = (*TSelect)(unsafe.Pointer(pSelect)).FpNext + if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) >= int32(SQLITE_AFF_TEXT) && ((*TSelect)(unsafe.Pointer(pS2)).FpNext != 0 || pS2 != pSelect) { + pS2 = (*TSelect)(unsafe.Pointer(pS2)).FpNext for { if !(pS2 != 0) { break @@ -194409,7 +195240,7 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS zType = _columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0)) if zType == uintptr(0) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) != int32(_sqlite3AffinityType(tls, zType, uintptr(0))) { if int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_NUMERIC) || int32((*TColumn)(unsafe.Pointer(pCol)).Faffinity) == int32(SQLITE_AFF_FLEXNUM) { - zType = __ccgo_ts + 20559 + zType = __ccgo_ts + 20691 } else { zType = uintptr(0) j = int32(1) @@ -194429,13 +195260,13 @@ func _sqlite3SubqueryColumnTypes(tls *libc.TLS, pParse uintptr, pTab uintptr, pS } } if zType != 0 { - m1 = int64(_sqlite3Strlen30(tls, zType)) + k = int64(_sqlite3Strlen30(tls, zType)) n = int64(_sqlite3Strlen30(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName)) - (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+m1+int64(2))) + (*TColumn)(unsafe.Pointer(pCol)).FzCnName = _sqlite3DbReallocOrFree(tls, db, (*TColumn)(unsafe.Pointer(pCol)).FzCnName, uint64(n+k+int64(2))) p4 = pCol + 14 *(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) & ^(libc.Int32FromInt32(COLFLAG_HASTYPE) | libc.Int32FromInt32(COLFLAG_HASCOLL))) if (*TColumn)(unsafe.Pointer(pCol)).FzCnName != 0 { - libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(m1+int64(1))) + libc.Xmemcpy(tls, (*TColumn)(unsafe.Pointer(pCol)).FzCnName+uintptr(n+int64(1)), zType, uint64(k+int64(1))) p5 = pCol + 14 *(*Tu16)(unsafe.Pointer(p5)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p5))) | libc.Int32FromInt32(COLFLAG_HASTYPE)) } @@ -194724,7 +195555,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest iDistinct = 0 /* To ensure unique results if UNION */ eDest = int32(SRT_Fifo) /* Registers used by LIMIT and OFFSET */ if (*TSelect)(unsafe.Pointer(p)).FpWin != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20563, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20695, 0) return } /* Obtain authorization to do a recursive query */ @@ -194817,7 +195648,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest break } if (*TSelect)(unsafe.Pointer(pFirstRec)).FselFlags&uint32(SF_Aggregate) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20612, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20744, 0) goto end_of_recursive_query } (*TSelect)(unsafe.Pointer(pFirstRec)).Fop = uint8(TK_ALL) @@ -194832,7 +195663,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest /* Store the results of the setup-query in Queue. */ pSetup = (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior (*TSelect)(unsafe.Pointer(pSetup)).FpNext = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20654, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20786, 0) rc = _sqlite3Select(tls, pParse, pSetup, bp) (*TSelect)(unsafe.Pointer(pSetup)).FpNext = p if rc != 0 { @@ -194860,7 +195691,7 @@ func _generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest ** the value for the recursive-table. Store the results in the Queue. */ (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20660, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20792, 0) _sqlite3Select(tls, pParse, p, bp) (*TSelect)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup /* Keep running the loop until the Queue is empty */ @@ -194913,11 +195744,11 @@ func _multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) nRow += bShowAll } if nRow == int32(1) { - v1 = __ccgo_ts + 1658 + v1 = __ccgo_ts + 1672 } else { - v1 = __ccgo_ts + 20675 + v1 = __ccgo_ts + 20807 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20677, libc.VaList(bp+8, nRow, v1)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20809, libc.VaList(bp+8, nRow, v1)) for p != 0 { _selectInnerLoop(tls, pParse, p, -int32(1), uintptr(0), uintptr(0), pDest, int32(1), int32(1)) if !(bShowAll != 0) { @@ -195025,8 +195856,8 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in return _multiSelectOrderBy(tls, pParse, p, pDest) } else { if (*TSelect)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0) { - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20700, 0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20715, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20832, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20847, 0) } /* Generate code for the left and right SELECT statements. */ @@ -195051,7 +195882,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in _sqlite3VdbeAddOp3(tls, v, int32(OP_OffsetLimit), (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TSelect)(unsafe.Pointer(p)).FiOffset+int32(1), (*TSelect)(unsafe.Pointer(p)).FiOffset) } } - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20440, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20527, 0) rc = _sqlite3Select(tls, pParse, p, bp) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -195103,7 +195934,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 48))).FeDest = op - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20734, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20866, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+48) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -195161,7 +195992,7 @@ func _multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r in pLimit1 = (*TSelect)(unsafe.Pointer(p)).FpLimit (*TSelect)(unsafe.Pointer(p)).FpLimit = uintptr(0) (*(*TSelectDest)(unsafe.Pointer(bp + 88))).FiSDParm = tab2 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20734, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20866, libc.VaList(bp+136, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) rc = _sqlite3Select(tls, pParse, p, bp+88) pDelete = (*TSelect)(unsafe.Pointer(p)).FpPrior (*TSelect)(unsafe.Pointer(p)).FpPrior = pPrior @@ -195284,9 +196115,9 @@ func _sqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) bp := tls.Alloc(16) defer tls.Free(16) if (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Values) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20755, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20887, 0) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20801, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20933, libc.VaList(bp+8, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) } } @@ -195655,8 +196486,8 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr (*TSelect)(unsafe.Pointer(pSplit)).FpPrior = uintptr(0) (*TSelect)(unsafe.Pointer(pPrior)).FpNext = uintptr(0) (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy = _sqlite3ExprListDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0) - _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+8676) - _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+8676) + _sqlite3ResolveOrderGroupBy(tls, pParse, p, (*TSelect)(unsafe.Pointer(p)).FpOrderBy, __ccgo_ts+8801) + _sqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*TSelect)(unsafe.Pointer(pPrior)).FpOrderBy, __ccgo_ts+8801) /* Compute the limit registers */ _computeLimitRegisters(tls, pParse, p, labelEnd) if (*TSelect)(unsafe.Pointer(p)).FiLimit != 0 && op == int32(TK_ALL) { @@ -195700,14 +196531,14 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr regOutB = v21 _sqlite3SelectDestInit(tls, bp, int32(SRT_Coroutine), regAddrA) _sqlite3SelectDestInit(tls, bp+40, int32(SRT_Coroutine), regAddrB) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20883, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+21015, libc.VaList(bp+88, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(p)).Fop)))) /* Generate a coroutine to evaluate the SELECT statement to the ** left of the compound operator - the "A" select. */ addrSelectA = _sqlite3VdbeCurrentAddr(tls, v) + int32(1) addr1 = _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), regAddrA, 0, addrSelectA) (*TSelect)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20894, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+21026, 0) _sqlite3Select(tls, pParse, pPrior, bp) _sqlite3VdbeEndCoroutine(tls, v, regAddrA) _sqlite3VdbeJumpHere(tls, v, addr1) @@ -195720,7 +196551,7 @@ func _multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr savedOffset = (*TSelect)(unsafe.Pointer(p)).FiOffset (*TSelect)(unsafe.Pointer(p)).FiLimit = regLimitB (*TSelect)(unsafe.Pointer(p)).FiOffset = 0 - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+20899, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+21031, 0) _sqlite3Select(tls, pParse, p, bp+40) (*TSelect)(unsafe.Pointer(p)).FiLimit = savedLimit (*TSelect)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -195935,7 +196766,7 @@ func _substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) (r uintptr) { if pColl != 0 { v1 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName } else { - v1 = __ccgo_ts + 6395 + v1 = __ccgo_ts + 6459 } pExpr = _sqlite3ExprAddCollateString(tls, (*TSubstContext)(unsafe.Pointer(pSubst)).FpParse, pExpr, v1) } @@ -196971,10 +197802,10 @@ func _findConstInWhere(tls *libc.TLS, pConst uintptr, pExpr uintptr) { } pRight = (*TExpr)(unsafe.Pointer(pExpr)).FpRight pLeft = (*TExpr)(unsafe.Pointer(pExpr)).FpLeft - if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pLeft) != 0 { + if int32((*TExpr)(unsafe.Pointer(pRight)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pLeft) != 0 { _constInsert(tls, pConst, pRight, pLeft, pExpr) } - if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, pRight) != 0 { + if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) == int32(TK_COLUMN) && _sqlite3ExprIsConstant(tls, (*TWhereConst)(unsafe.Pointer(pConst)).FpParse, pRight) != 0 { _constInsert(tls, pConst, pLeft, pRight, pExpr) } } @@ -197207,6 +198038,18 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** The hope is that the terms added to the inner query will make it more // ** efficient. // ** +// ** NAME AMBIGUITY +// ** +// ** This optimization is called the "WHERE-clause push-down optimization". +// ** +// ** Do not confuse this optimization with another unrelated optimization +// ** with a similar name: The "MySQL push-down optimization" causes WHERE +// ** clause terms that can be evaluated using only the index and without +// ** reference to the table are run first, so that if they are false, +// ** unnecessary table seeks are avoided. +// ** +// ** RULES +// ** // ** Do not attempt this optimization if: // ** // ** (1) (** This restriction was removed on 2017-09-29. We used to @@ -197272,10 +198115,10 @@ func _pushDownWindowCheck(tls *libc.TLS, pParse uintptr, pSubq uintptr, pExpr ui // ** (9c) There is a RIGHT JOIN (or FULL JOIN) in between the ON/USING // ** clause and the subquery. // ** -// ** Without this restriction, the push-down optimization might move -// ** the ON/USING filter expression from the left side of a RIGHT JOIN -// ** over to the right side, which leads to incorrect answers. See -// ** also restriction (6) in sqlite3ExprIsSingleTableConstraint(). +// ** Without this restriction, the WHERE-clause push-down optimization +// ** might move the ON/USING filter expression from the left side of a +// ** RIGHT JOIN over to the right side, which leads to incorrect answers. +// ** See also restriction (6) in sqlite3ExprIsSingleTableConstraint(). // ** // ** (10) The inner query is not the right-hand table of a RIGHT JOIN. // ** @@ -197368,7 +198211,7 @@ func _pushDownWhereTerms(tls *libc.TLS, pParse uintptr, pSubq uintptr, pWhere ui nChng += _pushDownWhereTerms(tls, pParse, pSubq, (*TExpr)(unsafe.Pointer(pWhere)).FpRight, pSrcList, iSrc) pWhere = (*TExpr)(unsafe.Pointer(pWhere)).FpLeft } - if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc) != 0 { + if _sqlite3ExprIsSingleTableConstraint(tls, pWhere, pSrcList, iSrc, int32(1)) != 0 { nChng++ *(*Tu32)(unsafe.Pointer(pSubq + 4)) |= uint32(SF_PushDown) for pSubq != 0 { @@ -197538,13 +198381,13 @@ func _minMaxQuery(tls *libc.TLS, db uintptr, pFunc uintptr, ppMinMax uintptr) (r return uint8(uint8(eRet)) } zFunc = *(*uintptr)(unsafe.Pointer(pFunc + 8)) - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+16864) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+16957) == 0 { eRet = int32(WHERE_ORDERBY_MIN) if _sqlite3ExprCanBeNull(tls, (*(*TExprList_item)(unsafe.Pointer(pEList + 8))).FpExpr) != 0 { sortFlags = uint8(KEYINFO_ORDER_BIGNULL) } } else { - if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+16868) == 0 { + if _sqlite3StrICmp(tls, zFunc, __ccgo_ts+16961) == 0 { eRet = int32(WHERE_ORDERBY_MAX) sortFlags = uint8(KEYINFO_ORDER_DESC) } else { @@ -197632,7 +198475,7 @@ func _sqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r in pIdx = (*TIndex)(unsafe.Pointer(pIdx)).FpNext } if !(pIdx != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20905, libc.VaList(bp+8, zIndexedBy, 0)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21037, libc.VaList(bp+8, zIndexedBy, 0)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) return int32(SQLITE_ERROR) } @@ -197756,7 +198599,7 @@ func _cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int32) { bp := tls.Alloc(16) defer tls.Free(16) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20923, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21055, libc.VaList(bp+8, (*TSrcItem)(unsafe.Pointer(pFrom)).FzName)) return int32(1) } return 0 @@ -197931,7 +198774,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } *(*Tu32)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= uint32(SF_CopyCte) if int32(uint32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20946, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21078, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pFrom + 88)))) return int32(2) } libc.SetBitFieldPtr16Uint32(pFrom+60+4, libc.Uint32FromInt32(1), 8, 0x100) @@ -197955,7 +198798,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*TTable)(unsafe.Pointer(pTab)).FnTabRef++ libc.SetBitFieldPtr16Uint32(pItem+60+4, libc.Uint32FromInt32(1), 6, 0x40) if (*TSelect)(unsafe.Pointer(pRecTerm)).FselFlags&uint32(SF_Recursive) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+20966, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21098, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName)) return int32(2) } *(*Tu32)(unsafe.Pointer(pRecTerm + 4)) |= uint32(SF_Recursive) @@ -197977,7 +198820,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom } pRecTerm = (*TSelect)(unsafe.Pointer(pRecTerm)).FpPrior } - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 21009 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 21141 pSavedWith = (*TParse)(unsafe.Pointer(pParse)).FpWith (*TParse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp)) if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { @@ -198008,7 +198851,7 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pEList = (*TSelect)(unsafe.Pointer(pLeft)).FpEList if (*TCte)(unsafe.Pointer(pCte)).FpCols != 0 { if pEList != 0 && (*TExprList)(unsafe.Pointer(pEList)).FnExpr != (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21032, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21164, libc.VaList(bp+16, (*TCte)(unsafe.Pointer(pCte)).FzName, (*TExprList)(unsafe.Pointer(pEList)).FnExpr, (*TExprList)(unsafe.Pointer((*TCte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*TParse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return int32(2) } @@ -198017,9 +198860,9 @@ func _resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom _sqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8) if bMayRecursive != 0 { if (*TSelect)(unsafe.Pointer(pSel)).FselFlags&uint32(SF_Recursive) != 0 { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 21070 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 21202 } else { - (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 21104 + (*TCte)(unsafe.Pointer(pCte)).FzCteErr = __ccgo_ts + 21236 } _sqlite3WalkSelect(tls, pWalker, pSel) } @@ -198078,7 +198921,7 @@ func _sqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) (r int if (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 { (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3DbStrDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*TSrcItem)(unsafe.Pointer(pFrom)).FzAlias) } else { - (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+21142, libc.VaList(bp+8, pFrom)) + (*TTable)(unsafe.Pointer(pTab)).FzName = _sqlite3MPrintf(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, __ccgo_ts+21274, libc.VaList(bp+8, pFrom)) } for (*TSelect)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*TSelect)(unsafe.Pointer(pSel)).FpPrior @@ -198234,7 +199077,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { return int32(WRC_Abort) } if (*TTable)(unsafe.Pointer(pTab)).FnTabRef >= uint32(0xffff) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21146, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21278, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) (*TSrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return int32(WRC_Abort) } @@ -198249,7 +199092,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) { if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) && (*TTable)(unsafe.Pointer(pTab)).FpSchema != (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FpSchema { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21185, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21317, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } (*TSrcItem)(unsafe.Pointer(pFrom)).FpSelect = _sqlite3SelectDup(tls, db, (*(*struct { FpSelect uintptr @@ -198264,7 +199107,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).Fp)).FeVtabRisk) > libc.BoolInt32((*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_TrustedSchema) != uint64(0)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16423, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+16516, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName)) } } nCol = (*TTable)(unsafe.Pointer(pTab)).FnCol @@ -198386,7 +199229,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if iDb >= 0 { v10 = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName } else { - v10 = __ccgo_ts + 7899 + v10 = __ccgo_ts + 7963 } zSchemaName = v10 } @@ -198403,7 +199246,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { pNew = _sqlite3ExprListAppend(tls, pParse, pNew, pRight) if pNew != 0 { pX = pNew + 8 + uintptr((*TExprList)(unsafe.Pointer(pNew)).FnExpr-int32(1))*32 - (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+21216, libc.VaList(bp+8, zUName)) + (*TExprList_item)(unsafe.Pointer(pX)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+21348, libc.VaList(bp+8, zUName)) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(ENAME_TAB), 0, 0x3) libc.SetBitFieldPtr16Uint32(pX+16+4, libc.Uint32FromInt32(1), 7, 0x80) } @@ -198482,7 +199325,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { if pNestedFrom != 0 && libc.Bool(libc.Bool(!(libc.Int32FromInt32(ViewCanHaveRowid) != 0)) || j < (*TExprList)(unsafe.Pointer(pNestedFrom)).FnExpr) { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, (*(*TExprList_item)(unsafe.Pointer(pNestedFrom + 8 + uintptr(j)*32))).FzEName) } else { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+21221, libc.VaList(bp+8, zSchemaName, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+21353, libc.VaList(bp+8, zSchemaName, zTabName, zName)) } if j == int32((*TTable)(unsafe.Pointer(pTab1)).FnCol) { v13 = int32(ENAME_ROWID) @@ -198495,7 +199338,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } } else { if longNames != 0 { - (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+13690, libc.VaList(bp+8, zTabName, zName)) + (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3MPrintf(tls, db, __ccgo_ts+13815, libc.VaList(bp+8, zTabName, zName)) libc.SetBitFieldPtr16Uint32(pX1+16+4, libc.Uint32FromInt32(ENAME_NAME), 0, 0x3) } else { (*TExprList_item)(unsafe.Pointer(pX1)).FzEName = _sqlite3DbStrDup(tls, db, zName) @@ -198515,9 +199358,9 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if !(tableSeen != 0) { if zTName != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21230, libc.VaList(bp+8, zTName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21362, libc.VaList(bp+8, zTName)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21248, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21380, 0) } } } @@ -198531,7 +199374,7 @@ func _selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) (r int32) { } if (*TSelect)(unsafe.Pointer(p)).FpEList != 0 { if (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21268, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21400, 0) return int32(WRC_Abort) } if elistFlags&uint32(libc.Int32FromInt32(EP_HasFunc)|libc.Int32FromInt32(EP_Subquery)) != uint32(0) { @@ -198872,12 +199715,12 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct >= 0 { pE = (*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFExpr if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != int32(1) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21299, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21431, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -int32(1) } else { pKeyInfo = _sqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0) (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+21350, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+21482, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } if (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab >= 0 { @@ -198898,7 +199741,7 @@ func _resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { (*TKeyInfo)(unsafe.Pointer(pKeyInfo1)).FnKeyField++ } _sqlite3VdbeAddOp4(tls, v, int32(OP_OpenEphemeral), (*TAggInfo_func)(unsafe.Pointer(pFunc)).FiOBTab, (*TExprList)(unsafe.Pointer(pOBList)).FnExpr+nExtra, 0, pKeyInfo1, -int32(8)) - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+21383, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+21515, libc.VaList(bp+8, (*TFuncDef)(unsafe.Pointer((*TAggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } goto _1 _1: @@ -199203,16 +200046,16 @@ func _explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintp if int32((*TParse)(unsafe.Pointer(pParse)).Fexplain) == int32(2) { bCover = libc.BoolInt32(pIdx != uintptr(0) && ((*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_WithoutRowid) == uint32(0) || !(int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == libc.Int32FromInt32(SQLITE_IDXTYPE_PRIMARYKEY)))) if bCover != 0 { - v1 = __ccgo_ts + 21416 + v1 = __ccgo_ts + 21548 } else { - v1 = __ccgo_ts + 1658 + v1 = __ccgo_ts + 1672 } if bCover != 0 { v2 = (*TIndex)(unsafe.Pointer(pIdx)).FzName } else { - v2 = __ccgo_ts + 1658 + v2 = __ccgo_ts + 1672 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+21439, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+21571, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, v1, v2)) } } @@ -199244,7 +200087,7 @@ func _havingToWhereExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3 ** statements AggInfo structure. */ if _sqlite3ExprIsConstantOrGroupBy(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, pExpr, (*TSelect)(unsafe.Pointer(pS)).FpGroupBy) != 0 && libc.BoolInt32((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)|libc.Int32FromInt32(EP_IsFalse)) == uint32(EP_IsFalse)) == 0 && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb - pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+9439) + pNew = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+9564) if pNew != 0 { pWhere = (*TSelect)(unsafe.Pointer(pS)).FpWhere t = *(*TExpr)(unsafe.Pointer(pNew)) @@ -199400,7 +200243,7 @@ func _countOfViewOptimization(tls *libc.TLS, pParse uintptr, p uintptr) (r int32 if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_AGG_FUNCTION) { return 0 } /* Result is an aggregate */ - if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+17158) != 0 { + if Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(pExpr + 8)), __ccgo_ts+17251) != 0 { return 0 } /* Is count() */ if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != uintptr(0) { @@ -199663,7 +200506,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { v1 = (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(p0)).FpTab)).FzName } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21451, libc.VaList(bp+176, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21583, libc.VaList(bp+176, v1)) goto select_end } /* Clear the SF_UFSrcCheck flag. The check has already been performed, @@ -199764,7 +200607,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r /* Catch mismatch in the declared columns of a view and the number of ** columns in the SELECT on the RHS */ if int32((*TTable)(unsafe.Pointer(pTab)).FnCol) != (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21505, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21637, libc.VaList(bp+176, int32((*TTable)(unsafe.Pointer(pTab)).FnCol), (*TTable)(unsafe.Pointer(pTab)).FzName, (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end } /* Do not attempt the usual optimizations (flattening and ORDER BY @@ -199901,12 +200744,12 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r ** string for the fake column name seems safer. */ if (*TSrcItem)(unsafe.Pointer(pItem1)).FcolUsed == uint64(0) && (*TSrcItem)(unsafe.Pointer(pItem1)).FzName != uintptr(0) { - _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1658, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + _sqlite3AuthCheck(tls, pParse, int32(SQLITE_READ), (*TSrcItem)(unsafe.Pointer(pItem1)).FzName, __ccgo_ts+1672, (*TSrcItem)(unsafe.Pointer(pItem1)).FzDatabase) } /* Generate code for all sub-queries in the FROM clause */ pSub1 = (*TSrcItem)(unsafe.Pointer(pItem1)).FpSelect - if pSub1 == uintptr(0) { + if pSub1 == uintptr(0) || (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub != 0 { goto _10 } /* The code for a subquery should only be generated once. */ @@ -199945,7 +200788,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeAddOp3(tls, v, int32(OP_InitCoroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) (*TSrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop _sqlite3SelectDestInit(tls, bp+72, int32(SRT_Coroutine), (*TSrcItem)(unsafe.Pointer(pItem1)).FregReturn) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+21545, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+21677, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60+4, libc.Uint32FromInt32(1), 5, 0x20) @@ -199993,7 +200836,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r } else { } _sqlite3SelectDestInit(tls, bp+72, int32(SRT_EphemTab), (*TSrcItem)(unsafe.Pointer(pItem1)).FiCursor) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+21560, libc.VaList(bp+176, pItem1)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+21692, libc.VaList(bp+176, pItem1)) _sqlite3Select(tls, pParse, pSub1, bp+72) (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*TSelect)(unsafe.Pointer(pSub1)).FnSelectRow if onceAddr != 0 { @@ -200403,11 +201246,11 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r groupBySort = 0 } else { if (*(*TDistinctCtx)(unsafe.Pointer(bp))).FisTnct != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Distinct) == uint32(0) { - v44 = __ccgo_ts + 21576 + v44 = __ccgo_ts + 21708 } else { - v44 = __ccgo_ts + 21585 + v44 = __ccgo_ts + 21717 } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20473, libc.VaList(bp+176, v44)) + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+20560, libc.VaList(bp+176, v44)) groupBySort = int32(1) nGroupBy = (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr nCol = nGroupBy @@ -200726,7 +201569,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r _sqlite3VdbeResolveLabel(tls, v, addrEnd) } /* endif aggregate query */ if int32((*(*TDistinctCtx)(unsafe.Pointer(bp))).FeTnctType) == int32(WHERE_DISTINCT_UNORDERED) { - _explainTempTable(tls, pParse, __ccgo_ts+21576) + _explainTempTable(tls, pParse, __ccgo_ts+21708) } /* If there is an ORDER BY clause, then we need to sort the results ** and send them to the callback one by one. @@ -200832,7 +201675,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr if !(i < nCol) { break } - z = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) + z = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if z == uintptr(0) { goto malloc_failed } @@ -200848,7 +201691,7 @@ func _sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr } else { if int32((*TTabResult)(unsafe.Pointer(p)).FnColumn) != nCol { Xsqlite3_free(tls, (*TTabResult)(unsafe.Pointer(p)).FzErrMsg) - (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+21594, 0) + (*TTabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+21726, 0) (*TTabResult)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) return int32(1) } @@ -200938,7 +201781,7 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+48, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg)) } Xsqlite3_free(tls, (*(*TTabResult)(unsafe.Pointer(bp))).FzErrMsg) } @@ -201100,7 +201943,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if isTemp != 0 { /* If TEMP was specified, then the trigger name may not be qualified. */ if (*TToken)(unsafe.Pointer(pName2)).Fn > uint32(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21659, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21791, 0) goto trigger_cleanup } iDb = int32(1) @@ -201140,7 +201983,7 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto trigger_cleanup } - _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+21705, *(*uintptr)(unsafe.Pointer(bp))) + _sqlite3FixInit(tls, bp+8, pParse, iDb, __ccgo_ts+21837, *(*uintptr)(unsafe.Pointer(bp))) if _sqlite3FixSrcList(tls, bp+8, pTableName) != 0 { goto trigger_cleanup } @@ -201150,11 +201993,11 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_orphan_error } if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21713, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21845, 0) goto trigger_orphan_error } if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_Shadow) != uint32(0) && _sqlite3ReadOnlyShadowTables(tls, db) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21754, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21886, 0) goto trigger_orphan_error } /* Check that the trigger name is not reserved and that no trigger of the @@ -201163,13 +202006,13 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 if zName == uintptr(0) { goto trigger_cleanup } - if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+21705, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { + if _sqlite3CheckObjectName(tls, pParse, zName, __ccgo_ts+21837, (*TTable)(unsafe.Pointer(pTab)).FzName) != 0 { goto trigger_cleanup } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { if _sqlite3HashFind(tls, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FpSchema+56, zName) != 0 { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21794, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21926, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(bp)))) } else { _sqlite3CodeVerifySchema(tls, pParse, iDb) } @@ -201177,8 +202020,8 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 } } /* Do not create a trigger on a system table */ - if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+7834, int32(7)) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21820, 0) + if Xsqlite3_strnicmp(tls, (*TTable)(unsafe.Pointer(pTab)).FzName, __ccgo_ts+7898, int32(7)) == 0 { + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21952, 0) goto trigger_cleanup } /* INSTEAD of triggers are only for views and views only support INSTEAD @@ -201186,15 +202029,15 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 */ if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VIEW) && tr_tm != int32(TK_INSTEAD) { if tr_tm == int32(TK_BEFORE) { - v1 = __ccgo_ts + 21858 + v1 = __ccgo_ts + 21990 } else { - v1 = __ccgo_ts + 21865 + v1 = __ccgo_ts + 21997 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21871, libc.VaList(bp+112, v1, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22003, libc.VaList(bp+112, v1, pTableName+8)) goto trigger_orphan_error } if !(int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VIEW)) && tr_tm == int32(TK_INSTEAD) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21908, libc.VaList(bp+112, pTableName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22040, libc.VaList(bp+112, pTableName+8)) goto trigger_orphan_error } if !(int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= libc.Int32FromInt32(PARSE_MODE_RENAME)) { @@ -201214,9 +202057,9 @@ func _sqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 goto trigger_cleanup } if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iTabDb == int32(1) { - v3 = __ccgo_ts + 7842 + v3 = __ccgo_ts + 7906 } else { - v3 = __ccgo_ts + 7375 + v3 = __ccgo_ts + 7439 } if _sqlite3AuthCheck(tls, pParse, int32(SQLITE_INSERT), v3, uintptr(0), zDb) != 0 { goto trigger_cleanup @@ -201316,7 +202159,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl pStepList = (*TTriggerStep)(unsafe.Pointer(pStepList)).FpNext } _sqlite3TokenInit(tls, bp+96, (*TTrigger)(unsafe.Pointer(pTrig)).FzName) - _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+21705, bp+96) + _sqlite3FixInit(tls, bp, pParse, iDb, __ccgo_ts+21837, bp+96) if _sqlite3FixTriggerStep(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 || _sqlite3FixExpr(tls, bp, (*TTrigger)(unsafe.Pointer(pTrig)).FpWhen) != 0 { goto triggerfinish_cleanup } @@ -201338,7 +202181,7 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl break } if (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget != uintptr(0) && _sqlite3ShadowTableName(tls, db, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+21954, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22086, libc.VaList(bp+120, (*TTrigger)(unsafe.Pointer(pTrig)).FzName, (*TTriggerStep)(unsafe.Pointer(pStep)).FzTarget)) goto triggerfinish_cleanup } goto _1 @@ -201354,10 +202197,10 @@ func _sqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAl } _sqlite3BeginWriteOperation(tls, pParse, 0, iDb) z = _sqlite3DbStrNDup(tls, db, (*TToken)(unsafe.Pointer(pAll)).Fz, uint64((*TToken)(unsafe.Pointer(pAll)).Fn)) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+22002, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+22134, libc.VaList(bp+120, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, zName, (*TTrigger)(unsafe.Pointer(pTrig)).Ftable, z)) _sqlite3DbFree(tls, db, z) _sqlite3ChangeCookie(tls, pParse, iDb) - _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+22077, libc.VaList(bp+120, zName)), uint16(0)) + _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, _sqlite3MPrintf(tls, db, __ccgo_ts+22209, libc.VaList(bp+120, zName)), uint16(0)) } } if (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy != 0 { @@ -201625,7 +202468,7 @@ func _sqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int } if !(pTrigger != 0) { if !(noErr != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22106, libc.VaList(bp+8, pName+8)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22238, libc.VaList(bp+8, pName+8)) } else { _sqlite3CodeVerifyNamedSchema(tls, pParse, zDb) } @@ -201667,9 +202510,9 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { code = int32(SQLITE_DROP_TRIGGER) zDb = (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName if libc.Bool(!(libc.Int32FromInt32(OMIT_TEMPDB) != 0)) && iDb == int32(1) { - v1 = __ccgo_ts + 7842 + v1 = __ccgo_ts + 7906 } else { - v1 = __ccgo_ts + 7375 + v1 = __ccgo_ts + 7439 } zTab = v1 if iDb == int32(1) { @@ -201684,7 +202527,7 @@ func _sqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { v2 = _sqlite3GetVdbe(tls, pParse) v = v2 if v2 != uintptr(0) { - _sqlite3NestedParse(tls, pParse, __ccgo_ts+22126, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+22258, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp4(tls, v, int32(OP_DropTrigger), iDb, 0, 0, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName, 0) } @@ -201817,11 +202660,11 @@ func _triggersReallyExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, if int32((*TTable)(unsafe.Pointer(pTab)).FeTabType) == int32(TABTYP_VTAB) { if op != int32(TK_INSERT) { if op == int32(TK_DELETE) { - v1 = __ccgo_ts + 22188 + v1 = __ccgo_ts + 22320 } else { - v1 = __ccgo_ts + 22195 + v1 = __ccgo_ts + 22327 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22202, libc.VaList(bp+8, v1)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22334, libc.VaList(bp+8, v1)) } (*TTrigger)(unsafe.Pointer(p)).Ftr_tm = uint8(TRIGGER_BEFORE) } else { @@ -201922,7 +202765,7 @@ func _isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) (r int32) { if int32((*TExpr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != int32(TK_ASTERISK) { return 0 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22250, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22382, 0) return int32(1) } @@ -201987,6 +202830,79 @@ func _sqlite3ExpandReturning(tls *libc.TLS, pParse uintptr, pList uintptr, pTab return pNew } +// C documentation +// +// /* If the Expr node is a subquery or an EXISTS operator or an IN operator that +// ** uses a subquery, and if the subquery is SF_Correlated, then mark the +// ** expression as EP_VarSelect. +// */ +func _sqlite3ReturningSubqueryVarSelect(tls *libc.TLS, NotUsed uintptr, pExpr uintptr) (r int32) { + _ = NotUsed + if (*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(EP_xIsSelect) != uint32(0) && (*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FselFlags&uint32(SF_Correlated) != uint32(0) { + *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_VarSelect)) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** If the SELECT references the table pWalker->u.pTab, then do two things: +// ** +// ** (1) Mark the SELECT as as SF_Correlated. +// ** (2) Set pWalker->eCode to non-zero so that the caller will know +// ** that (1) has happened. +// */ +func _sqlite3ReturningSubqueryCorrelated(tls *libc.TLS, pWalker uintptr, pSelect uintptr) (r int32) { + var i int32 + var pSrc uintptr + _, _ = i, pSrc + pSrc = (*TSelect)(unsafe.Pointer(pSelect)).FpSrc + i = 0 + for { + if !(i < (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc) { + break + } + if (*(*TSrcItem)(unsafe.Pointer(pSrc + 8 + uintptr(i)*104))).FpTab == *(*uintptr)(unsafe.Pointer(pWalker + 40)) { + *(*Tu32)(unsafe.Pointer(pSelect + 4)) |= uint32(SF_Correlated) + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + break + } + goto _1 + _1: + ; + i++ + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Scan the expression list that is the argument to RETURNING looking +// ** for subqueries that depend on the table which is being modified in the +// ** statement that is hosting the RETURNING clause (pTab). Mark all such +// ** subqueries as SF_Correlated. If the subqueries are part of an +// ** expression, mark the expression as EP_VarSelect. +// ** +// ** https://sqlite.org/forum/forumpost/2c83569ce8945d39 +// */ +func _sqlite3ProcessReturningSubqueries(tls *libc.TLS, pEList uintptr, pTab uintptr) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ExprWalkNoop) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3ReturningSubqueryCorrelated) + *(*uintptr)(unsafe.Pointer(bp + 40)) = pTab + _sqlite3WalkExprList(tls, bp, pEList) + if (*(*TWalker)(unsafe.Pointer(bp))).FeCode != 0 { + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_sqlite3ReturningSubqueryVarSelect) + (*(*TWalker)(unsafe.Pointer(bp))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop) + _sqlite3WalkExprList(tls, bp, pEList) + } +} + // C documentation // // /* @@ -202021,6 +202937,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab (*(*TSelect)(unsafe.Pointer(bp))).FpSrc = bp + 128 (*(*TSrcList)(unsafe.Pointer(bp + 128))).FnSrc = int32(1) (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FpTab = pTab + (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FzName = (*TTable)(unsafe.Pointer(pTab)).FzName /* tag-20240424-1 */ (*(*TSrcItem)(unsafe.Pointer(bp + 128 + 8))).FiCursor = -int32(1) _sqlite3SelectPrep(tls, pParse, bp, uintptr(0)) if (*TParse)(unsafe.Pointer(pParse)).FnErr == 0 { @@ -202045,6 +202962,7 @@ func _codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab if _sqlite3ResolveExprListNames(tls, bp+240, pNew) == SQLITE_OK && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { nCol = (*TExprList)(unsafe.Pointer(pNew)).FnExpr reg = (*TParse)(unsafe.Pointer(pParse)).FnMem + int32(1) + _sqlite3ProcessReturningSubqueries(tls, pNew, pTab) *(*int32)(unsafe.Pointer(pParse + 56)) += nCol + int32(2) (*TReturning)(unsafe.Pointer(pReturning)).FiRetReg = reg i = 0 @@ -202113,7 +203031,7 @@ func _codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orcon } (*TParse)(unsafe.Pointer(pParse)).FeOrconf = uint8(v2) if (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan != 0 { - _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+7572, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Trace), int32(0x7fffffff), int32(1), 0, _sqlite3MPrintf(tls, db, __ccgo_ts+7636, libc.VaList(bp+48, (*TTriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -int32(6)) } switch int32((*TTriggerStep)(unsafe.Pointer(pStep)).Fop) { case int32(TK_UPDATE): @@ -202215,7 +203133,7 @@ func _codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintp v = _sqlite3GetVdbe(tls, bp+56) if v != 0 { if (*TTrigger)(unsafe.Pointer(pTrigger)).FzName != 0 { - _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+22292, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) + _sqlite3VdbeChangeP4(tls, v, -int32(1), _sqlite3MPrintf(tls, db, __ccgo_ts+22424, libc.VaList(bp+488, (*TTrigger)(unsafe.Pointer(pTrigger)).FzName)), -int32(6)) } /* If one was specified, code the WHEN clause. If it evaluates to false ** (or NULL) the sub-vdbe is immediately halted by jumping to the @@ -202904,7 +203822,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui chngPk = uint8(1) } else { if int32((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FcolFlags)&int32(COLFLAG_GENERATED) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22306, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22438, libc.VaList(bp+112, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName)) goto update_cleanup } } @@ -202924,13 +203842,13 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui pRowidExpr = (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FpExpr iRowidExpr = i } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22342, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22474, libc.VaList(bp+112, (*(*TExprList_item)(unsafe.Pointer(pChanges + 8 + uintptr(i)*32))).FzEName)) (*TParse)(unsafe.Pointer(pParse)).FcheckSchema = uint8(1) goto update_cleanup } } if j < 0 { - v11 = __ccgo_ts + 9214 + v11 = __ccgo_ts + 9339 } else { v11 = (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*16))).FzCnName } @@ -203612,7 +204530,7 @@ func _sqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui ** that information. */ if regRowCount != 0 { - _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+22361) + _sqlite3CodeChangeCount(tls, v, regRowCount, __ccgo_ts+22493) } goto update_cleanup update_cleanup: @@ -204046,9 +204964,9 @@ func _sqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr if nClause == 0 && (*TUpsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) { (*(*[16]int8)(unsafe.Pointer(bp + 200)))[0] = 0 } else { - Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+22374, libc.VaList(bp+224, nClause+int32(1))) + Xsqlite3_snprintf(tls, int32(16), bp+200, __ccgo_ts+22506, libc.VaList(bp+224, nClause+int32(1))) } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22378, libc.VaList(bp+224, bp+200)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+22510, libc.VaList(bp+224, bp+200)) return int32(SQLITE_ERROR) } goto _1 @@ -204151,7 +205069,7 @@ func _sqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab i++ } i = _sqlite3VdbeAddOp4Int(tls, v, int32(OP_Found), iDataCur, 0, iPk, nPk) - _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+13779, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_Halt), int32(SQLITE_CORRUPT), int32(OE_Abort), 0, __ccgo_ts+13904, -int32(1)) _sqlite3MayAbort(tls, pParse) _sqlite3VdbeJumpHere(tls, v, i) } @@ -204233,7 +205151,7 @@ func _execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) (r int3 ** corrupt the sqlite_schema.sql field with other kinds of statements ** then run VACUUM to get those statements to execute at inappropriate ** times. */ - if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+22451, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+22455, uint64(3)) == 0) { + if zSubSql != 0 && (libc.Xstrncmp(tls, zSubSql, __ccgo_ts+22583, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, __ccgo_ts+22587, uint64(3)) == 0) { rc = _execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -204361,24 +205279,24 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p pDb = uintptr(0) /* Name of output file */ pgflags = uint32(PAGER_SYNCHRONOUS_OFF) /* sync flags for output db */ if !((*Tsqlite3)(unsafe.Pointer(db)).FautoCommit != 0) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+22459) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+22591) return int32(SQLITE_ERROR) /* IMP: R-12218-18073 */ } if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive > int32(1) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+22499) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+22631) return int32(SQLITE_ERROR) /* IMP: R-15610-35227 */ } saved_openFlags = (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags if pOut != 0 { if Xsqlite3_value_type(tls, pOut) != int32(SQLITE_TEXT) { - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+22542) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+22674) return int32(SQLITE_ERROR) } zOut = Xsqlite3_value_text(tls, pOut) *(*uint32)(unsafe.Pointer(db + 76)) &= uint32(^libc.Int32FromInt32(SQLITE_OPEN_READONLY)) *(*uint32)(unsafe.Pointer(db + 76)) |= uint32(libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE)) } else { - zOut = __ccgo_ts + 1658 + zOut = __ccgo_ts + 1672 } /* Save the current value of the database flags so that it can be ** restored before returning. Then set the writable-schema flag, and @@ -204410,7 +205328,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** to write the journal header file. */ nDb = (*Tsqlite3)(unsafe.Pointer(db)).FnDb - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+22560, libc.VaList(bp+24, zOut)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+22692, libc.VaList(bp+24, zOut)) (*Tsqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if rc != SQLITE_OK { goto end_of_vacuum @@ -204422,7 +205340,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p *(*Ti64)(unsafe.Pointer(bp)) = 0 if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0) && (_sqlite3OsFileSize(tls, id, bp) != SQLITE_OK || *(*Ti64)(unsafe.Pointer(bp)) > 0) { rc = int32(SQLITE_ERROR) - _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+22583) + _sqlite3SetString(tls, pzErrMsg, db, __ccgo_ts+22715) goto end_of_vacuum } *(*Tu32)(unsafe.Pointer(db + 44)) |= uint32(DBFLAG_VacuumInto) @@ -204439,7 +205357,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** file. This is done before the sqlite3BtreeGetPageSize(pMain) call below, ** to ensure that we do not try to change the page-size on a WAL database. */ - rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+16193) + rc = _execSql(tls, db, pzErrMsg, __ccgo_ts+16286) if rc != SQLITE_OK { goto end_of_vacuum } @@ -204470,11 +205388,11 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** in the temporary database. */ (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(uint8(nDb)) /* force new CREATE statements into vacuum_db */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+22610, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+22742, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+22718, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+22850, libc.VaList(bp+24, zDbMain)) if rc != SQLITE_OK { goto end_of_vacuum } @@ -204483,7 +205401,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** an "INSERT INTO vacuum_db.xxx SELECT * FROM main.xxx;" to copy ** the contents to the temporary database. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+22772, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+22904, libc.VaList(bp+24, zDbMain)) *(*Tu32)(unsafe.Pointer(db + 44)) &= uint32(^libc.Int32FromInt32(DBFLAG_Vacuum)) if rc != SQLITE_OK { goto end_of_vacuum @@ -204493,7 +205411,7 @@ func _sqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p ** associated storage, so all we have to do is copy their entries ** from the schema table. */ - rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+22923, libc.VaList(bp+24, zDbMain)) + rc = _execSqlF(tls, db, pzErrMsg, __ccgo_ts+23055, libc.VaList(bp+24, zDbMain)) if rc != 0 { goto end_of_vacuum } @@ -205020,7 +205938,7 @@ func _addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uint FazArg uintptr Fp uintptr })(unsafe.Pointer(pTable + 64))).FnArg+int32(3) >= *(*int32)(unsafe.Pointer(db + 136 + 2*4)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14009, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14134, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTable)).FzName)) } azModuleArg = _sqlite3DbRealloc(tls, db, (*(*struct { FnArg int32 @@ -205143,7 +206061,7 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { if pEnd != 0 { (*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32(int64((*TToken)(unsafe.Pointer(pEnd)).Fz)-int64((*TParse)(unsafe.Pointer(pParse)).FsNameToken.Fz))) + (*TToken)(unsafe.Pointer(pEnd)).Fn } - zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+23053, libc.VaList(bp+8, pParse+272)) + zStmt = _sqlite3MPrintf(tls, db, __ccgo_ts+23185, libc.VaList(bp+8, pParse+272)) /* A slot for the record has already been allocated in the ** schema table. We just need to update that slot with all ** the information we've collected. @@ -205153,11 +206071,11 @@ func _sqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { ** by sqlite3StartTable(). */ iDb = _sqlite3SchemaToIndex(tls, db, (*TTable)(unsafe.Pointer(pTab)).FpSchema) - _sqlite3NestedParse(tls, pParse, __ccgo_ts+23077, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) + _sqlite3NestedParse(tls, pParse, __ccgo_ts+23209, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32))).FzDbSName, (*TTable)(unsafe.Pointer(pTab)).FzName, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt, (*TParse)(unsafe.Pointer(pParse)).FregRowid)) v = _sqlite3GetVdbe(tls, pParse) _sqlite3ChangeCookie(tls, pParse, iDb) _sqlite3VdbeAddOp0(tls, v, int32(OP_Expire)) - zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+23176, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = _sqlite3MPrintf(tls, db, __ccgo_ts+23308, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, zStmt)) _sqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) _sqlite3DbFree(tls, db, zStmt) v2 = pParse + 56 @@ -205244,7 +206162,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, break } if (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+23195, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+23327, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) return int32(SQLITE_LOCKED) } goto _1 @@ -205286,9 +206204,9 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, } if SQLITE_OK != rc { if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+23237, libc.VaList(bp+48, zModuleName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+23369, libc.VaList(bp+48, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+4645, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+4709, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 32)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) } _sqlite3DbFree(tls, db, pVTable) @@ -205301,8 +206219,8 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*TModule)(unsafe.Pointer(pMod)).FnRefModule++ (*TVTable)(unsafe.Pointer(pVTable)).FnRef = int32(1) if (*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared == 0 { - zFormat = __ccgo_ts + 23267 - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*TTable)(unsafe.Pointer(pTab)).FzName)) + zFormat = __ccgo_ts + 23399 + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, zModuleName)) _sqlite3VtabUnlock(tls, pVTable) rc = int32(SQLITE_ERROR) } else { @@ -205327,7 +206245,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(iCol < int32((*TTable)(unsafe.Pointer(pTab)).FnCol)) { break } - zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1658) + zType = _sqlite3ColumnType(tls, (*TTable)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*16, __ccgo_ts+1672) i = 0 nType = _sqlite3Strlen30(tls, zType) i = 0 @@ -205335,7 +206253,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, if !(i < nType) { break } - if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+17900, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { + if 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+17987, zType+uintptr(i), int32(6)) && (i == 0 || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i-int32(1))))) == int32(' ')) && (int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32('\000') || int32(*(*int8)(unsafe.Pointer(zType + uintptr(i+int32(6))))) == int32(' ')) { break } goto _3 @@ -205416,13 +206334,13 @@ func _sqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) (r int FazArg uintptr Fp uintptr })(unsafe.Pointer(pTab + 64))).FazArg)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23313, libc.VaList(bp+16, zModule)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23445, libc.VaList(bp+16, zModule)) rc = int32(SQLITE_ERROR) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp) if rc != SQLITE_OK { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+4645, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+4709, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) (*TParse)(unsafe.Pointer(pParse)).Frc = rc } _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) @@ -205503,7 +206421,7 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, ** error. Otherwise, do nothing. */ if pMod == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+23313, libc.VaList(bp+8, zMod)) + *(*uintptr)(unsafe.Pointer(pzErr)) = _sqlite3MPrintf(tls, db, __ccgo_ts+23445, libc.VaList(bp+8, zMod)) rc = int32(SQLITE_ERROR) } else { rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer((*TModule)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr) @@ -205529,18 +206447,42 @@ func _sqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r int32) { bp := tls.Alloc(448) defer tls.Free(448) - var initBusy, rc int32 - var pCtx, pIdx, pNew, pTab, v2 uintptr - var v1 Ti16 + var i, initBusy, rc int32 + var pCtx, pIdx, pNew, pTab, z, v3 uintptr + var v2 Ti16 var _ /* sParse at bp+0 */ TParse - _, _, _, _, _, _, _, _ = initBusy, pCtx, pIdx, pNew, pTab, rc, v1, v2 + var _ /* tokenType at bp+424 */ int32 + _, _, _, _, _, _, _, _, _, _ = i, initBusy, pCtx, pIdx, pNew, pTab, rc, z, v2, v3 rc = SQLITE_OK + /* Verify that the first two keywords in the CREATE TABLE statement + ** really are "CREATE" and "TABLE". If this is not the case, then + ** sqlite3_declare_vtab() is being misused. + */ + z = zCreateTable + i = 0 + for { + if !(_aKeyword1[i] != 0) { + break + } + *(*int32)(unsafe.Pointer(bp + 424)) = 0 + for cond := true; cond; cond = *(*int32)(unsafe.Pointer(bp + 424)) == int32(TK_SPACE) { + z += uintptr(_sqlite3GetToken(tls, z, bp+424)) + } + if *(*int32)(unsafe.Pointer(bp + 424)) != int32(_aKeyword1[i]) { + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+23464, 0) + return int32(SQLITE_ERROR) + } + goto _1 + _1: + ; + i++ + } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 { - _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(155155))) + _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(156227))) Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) - return _sqlite3MisuseError(tls, int32(155157)) + return _sqlite3MisuseError(tls, int32(156229)) } pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab _sqlite3ParseObjectInit(tls, bp, db) @@ -205552,7 +206494,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i initBusy = int32((*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy) (*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0) (*(*TParse)(unsafe.Pointer(bp))).FnQueryLoop = int16(1) - if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) && (*(*TParse)(unsafe.Pointer(bp))).FpNewTable != uintptr(0) && !((*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && int32((*TTable)(unsafe.Pointer((*(*TParse)(unsafe.Pointer(bp))).FpNewTable)).FeTabType) == TABTYP_NORM { + if SQLITE_OK == _sqlite3RunParser(tls, bp, zCreateTable) { if !((*TTable)(unsafe.Pointer(pTab)).FaCol != 0) { pNew = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable (*TTable)(unsafe.Pointer(pTab)).FaCol = (*TTable)(unsafe.Pointer(pNew)).FaCol @@ -205561,9 +206503,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i FpFKey uintptr FpDfltList uintptr })(unsafe.Pointer(pNew + 64))).FpDfltList) - v1 = (*TTable)(unsafe.Pointer(pNew)).FnCol - (*TTable)(unsafe.Pointer(pTab)).FnCol = v1 - (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v1 + v2 = (*TTable)(unsafe.Pointer(pNew)).FnCol + (*TTable)(unsafe.Pointer(pTab)).FnCol = v2 + (*TTable)(unsafe.Pointer(pTab)).FnNVCol = v2 *(*Tu32)(unsafe.Pointer(pTab + 48)) |= (*TTable)(unsafe.Pointer(pNew)).FtabFlags & uint32(libc.Int32FromInt32(TF_WithoutRowid)|libc.Int32FromInt32(TF_NoVisibleRowid)) (*TTable)(unsafe.Pointer(pNew)).FnCol = 0 (*TTable)(unsafe.Pointer(pNew)).FaCol = uintptr(0) @@ -205582,11 +206524,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = int32(1) } else { if (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg != 0 { - v2 = __ccgo_ts + 4645 + v3 = __ccgo_ts + 4709 } else { - v2 = uintptr(0) + v3 = uintptr(0) } - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v2, libc.VaList(bp+432, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), v3, libc.VaList(bp+440, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg)) _sqlite3DbFree(tls, db, (*(*TParse)(unsafe.Pointer(bp))).FzErrMsg) rc = int32(SQLITE_ERROR) } @@ -205602,6 +206544,11 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i return rc } +var _aKeyword1 = [3]Tu8{ + 0: uint8(TK_CREATE), + 1: uint8(TK_TABLE), +} + // C documentation // // /* @@ -206053,7 +207000,7 @@ func _sqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) _addModuleArgument(tls, pParse, pTab, _sqlite3DbStrDup(tls, db, (*TTable)(unsafe.Pointer(pTab)).FzName)) rc = _vtabCallConstructor(tls, db, pTab, pMod, (*Tsqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp) if rc != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+4645, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+4709, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp)))) _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) _sqlite3VtabEponymousTableClear(tls, db, pMod) } @@ -206117,7 +207064,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx if !(p != 0) { - rc = _sqlite3MisuseError(tls, int32(155651)) + rc = _sqlite3MisuseError(tls, int32(156723)) } else { ap = va switch op { @@ -206130,7 +207077,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in case int32(SQLITE_VTAB_USES_ALL_SCHEMAS): (*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1) default: - rc = _sqlite3MisuseError(tls, int32(155673)) + rc = _sqlite3MisuseError(tls, int32(156745)) break } _ = ap @@ -206852,10 +207799,10 @@ type WhereInfo1 = TWhereInfo1 func _explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) (r uintptr) { i = int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) if i == -int32(2) { - return __ccgo_ts + 23332 + return __ccgo_ts + 23477 } if i == -int32(1) { - return __ccgo_ts + 18009 + return __ccgo_ts + 18096 } return (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*16))).FzCnName } @@ -206874,10 +207821,10 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, var i int32 _ = i if bAnd != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+23339, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+23484, int32(5)) } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+23345, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+23490, int32(1)) } i = 0 for { @@ -206885,7 +207832,7 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+14399, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+14524, int32(1)) } Xsqlite3_str_appendall(tls, pStr, _explainIndexColumnName(tls, pIdx, iTerm+i)) goto _1 @@ -206894,11 +207841,11 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+6415, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+6479, int32(1)) } Xsqlite3_str_append(tls, pStr, zOp, int32(1)) if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+23345, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+23490, int32(1)) } i = 0 for { @@ -206906,16 +207853,16 @@ func _explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, break } if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+14399, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+14524, int32(1)) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+6417, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+6481, int32(1)) goto _2 _2: ; i++ } if nTerm > int32(1) { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+6415, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+6479, int32(1)) } } @@ -206948,7 +207895,7 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { if int32(int32(nEq)) == 0 && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_BTM_LIMIT)|libc.Int32FromInt32(WHERE_TOP_LIMIT)) == uint32(0) { return } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+23347, int32(2)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+23492, int32(2)) i = 0 for { if !(i < int32(int32(nEq))) { @@ -206956,12 +207903,12 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } z = _explainIndexColumnName(tls, pIndex, i) if i != 0 { - Xsqlite3_str_append(tls, pStr, __ccgo_ts+23339, int32(5)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+23484, int32(5)) } if i >= int32(int32(nSkip)) { - v2 = __ccgo_ts + 23350 + v2 = __ccgo_ts + 23495 } else { - v2 = __ccgo_ts + 23355 + v2 = __ccgo_ts + 23500 } Xsqlite3_str_appendf(tls, pStr, v2, libc.VaList(bp+8, z)) goto _1 @@ -206971,13 +207918,13 @@ func _explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { } j = i if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_BTM_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+23363) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnBtm), j, i, __ccgo_ts+23508) i = int32(1) } if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_TOP_LIMIT) != 0 { - _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+23365) + _explainAppendTerm(tls, pStr, pIndex, int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnTop), j, i, __ccgo_ts+23510) } - Xsqlite3_str_append(tls, pStr, __ccgo_ts+6415, int32(1)) + Xsqlite3_str_append(tls, pStr, __ccgo_ts+6479, int32(1)) } // C documentation @@ -207020,47 +207967,47 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) if isSearch != 0 { - v2 = __ccgo_ts + 23367 + v2 = __ccgo_ts + 23512 } else { - v2 = __ccgo_ts + 23374 + v2 = __ccgo_ts + 23519 } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23379, libc.VaList(bp+144, v2, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23524, libc.VaList(bp+144, v2, pItem)) if flags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_VIRTUALTABLE)) == uint32(0) { zFmt = uintptr(0) pIdx = (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex if !((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pItem)).FpTab)).FtabFlags&libc.Uint32FromInt32(TF_WithoutRowid) == libc.Uint32FromInt32(0)) && int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_PRIMARYKEY) { if isSearch != 0 { - zFmt = __ccgo_ts + 12562 + zFmt = __ccgo_ts + 12687 } } else { if flags&uint32(WHERE_PARTIALIDX) != 0 { - zFmt = __ccgo_ts + 23385 + zFmt = __ccgo_ts + 23530 } else { if flags&uint32(WHERE_AUTO_INDEX) != 0 { - zFmt = __ccgo_ts + 23418 + zFmt = __ccgo_ts + 23563 } else { if flags&uint32(WHERE_IDX_ONLY) != 0 { - zFmt = __ccgo_ts + 23443 + zFmt = __ccgo_ts + 23588 } else { - zFmt = __ccgo_ts + 23461 + zFmt = __ccgo_ts + 23606 } } } } if zFmt != 0 { - Xsqlite3_str_append(tls, bp, __ccgo_ts+23470, int32(7)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+23615, int32(7)) Xsqlite3_str_appendf(tls, bp, zFmt, libc.VaList(bp+144, (*TIndex)(unsafe.Pointer(pIdx)).FzName)) _explainIndexRange(tls, bp, pLoop) } } else { if flags&uint32(WHERE_IPK) != uint32(0) && flags&uint32(WHERE_CONSTRAINT) != uint32(0) { - zRowid = __ccgo_ts + 18009 - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23478, libc.VaList(bp+144, zRowid)) + zRowid = __ccgo_ts + 18096 + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23623, libc.VaList(bp+144, zRowid)) if flags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != 0 { cRangeOp = int8('=') } else { if flags&uint32(WHERE_BOTH_LIMIT) == uint32(WHERE_BOTH_LIMIT) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23509, libc.VaList(bp+144, zRowid)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23654, libc.VaList(bp+144, zRowid)) cRangeOp = int8('<') } else { if flags&uint32(WHERE_BTM_LIMIT) != 0 { @@ -207070,10 +208017,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23519, libc.VaList(bp+144, int32(int32(cRangeOp)))) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23664, libc.VaList(bp+144, int32(int32(cRangeOp)))) } else { if flags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23524, libc.VaList(bp+144, (*(*struct { + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23669, libc.VaList(bp+144, (*(*struct { FidxNum int32 F__ccgo4 uint8 FisOrdered Ti8 @@ -207092,7 +208039,7 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } } if int32((*TSrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&int32(JT_LEFT) != 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23551, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23696, 0) } zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) @@ -207126,14 +208073,14 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp db = (*TParse)(unsafe.Pointer(pParse)).Fdb /* Initial space for EQP output string */ _sqlite3StrAccumInit(tls, bp, db, bp+32, int32(100), int32(SQLITE_MAX_LENGTH)) (*(*TStrAccum)(unsafe.Pointer(bp))).FprintfFlags = uint8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23562, libc.VaList(bp+144, pItem)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23707, libc.VaList(bp+144, pItem)) pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_IPK) != 0 { pTab = (*TSrcItem)(unsafe.Pointer(pItem)).FpTab if int32((*TTable)(unsafe.Pointer(pTab)).FiPKey) >= 0 { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23350, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23495, libc.VaList(bp+144, (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*TTable)(unsafe.Pointer(pTab)).FiPKey)*16))).FzCnName)) } else { - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23583, 0) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23728, 0) } } else { i = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) @@ -207143,16 +208090,16 @@ func _sqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp } z = _explainIndexColumnName(tls, (*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex, i) if i > int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) { - Xsqlite3_str_append(tls, bp, __ccgo_ts+23339, int32(5)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+23484, int32(5)) } - Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23350, libc.VaList(bp+144, z)) + Xsqlite3_str_appendf(tls, bp, __ccgo_ts+23495, libc.VaList(bp+144, z)) goto _1 _1: ; i++ } } - Xsqlite3_str_append(tls, bp, __ccgo_ts+6415, int32(1)) + Xsqlite3_str_append(tls, bp, __ccgo_ts+6479, int32(1)) zMsg = _sqlite3StrAccumFinish(tls, bp) ret = _sqlite3VdbeAddOp4(tls, v, int32(OP_Explain), _sqlite3VdbeCurrentAddr(tls, v), (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -int32(6)) return ret @@ -207983,6 +208930,35 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32 } } +// C documentation +// +// /* +// ** Loop pLoop is a WHERE_INDEXED level that uses at least one IN(...) +// ** operator. Return true if level pLoop is guaranteed to visit only one +// ** row for each key generated for the index. +// */ +func _whereLoopIsOneRow(tls *libc.TLS, pLoop uintptr) (r int32) { + var ii int32 + _ = ii + if (*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FonError != 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FnSkip) == 0 && int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq) == int32((*TIndex)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FpIndex)).FnKeyCol) { + ii = 0 + for { + if !(ii < int32((*TWhereLoop)(unsafe.Pointer(pLoop)).Fu.Fbtree.FnEq)) { + break + } + if int32((*TWhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(ii)*8)))).FeOperator)&(libc.Int32FromInt32(WO_IS)|libc.Int32FromInt32(WO_ISNULL)) != 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) + } + return 0 +} + // C documentation // // /* @@ -208671,7 +209647,10 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** a LEFT JOIN: */ } /* Record the instruction used to terminate the loop. */ - if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 { + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(WHERE_ONEROW) != 0 || (*(*struct { + FnIn int32 + FaInLoop uintptr + })(unsafe.Pointer(pLevel + 72))).FnIn != 0 && regBignull == 0 && _whereLoopIsOneRow(tls, pLoop) != 0 { (*TWhereLevel)(unsafe.Pointer(pLevel)).Fop = uint8(OP_Noop) } else { if bRev != 0 { @@ -208844,7 +209823,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** eliminating duplicates from other WHERE clauses, the action for each ** sub-WHERE clause is to to invoke the main loop body as a subroutine. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+23591, 0) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+23736, 0) ii = 0 for { if !(ii < (*TWhereClause)(unsafe.Pointer(pOrWc)).FnTerm) { @@ -208867,7 +209846,7 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } /* Loop through table entries that match term pOrTerm. */ - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+23606, libc.VaList(bp+96, ii+int32(1))) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+23751, libc.VaList(bp+96, ii+int32(1))) pSubWInfo = _sqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) if pSubWInfo != 0 { addrExplain = _sqlite3WhereExplainOneScan(tls, pParse, pOrTab, pSubWInfo+856, uint16(0)) @@ -209030,6 +210009,12 @@ func _sqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI ** iLoop==3: Code all remaining expressions. ** ** An effort is made to skip unnecessary iterations of the loop. + ** + ** This optimization of causing simple query restrictions to occur before + ** more complex one is call the "push-down" optimization in MySQL. Here + ** in SQLite, the name is "MySQL push-down", since there is also another + ** totally unrelated optimization called "WHERE-clause push-down". + ** Sometimes the qualifier is omitted, resulting in an ambiguity, so beware. */ if pIdx != 0 { v60 = int32(1) @@ -209329,9 +210314,9 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe defer tls.Free(128) var addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, nPk, r, v3 int32 var mAll TBitmask - var pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr + var pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, v, v4 uintptr var _ /* sFrom at bp+0 */ TSrcList - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addrCont, iCol, iCur, iIdxCur, iPk, jmp, k, mAll, nPk, pLoop, pParse, pPk, pRJ, pRight, pSubWInfo, pSubWhere, pTab, pTabItem, pTerm, pWC, r, v, v3, v4 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pRJ = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpRJ @@ -209340,13 +210325,17 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe pLoop = (*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop pTabItem = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 mAll = uint64(0) - _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+23615, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + _sqlite3VdbeExplain(tls, pParse, uint8(1), __ccgo_ts+23760, libc.VaList(bp+120, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) k = 0 for { if !(k < iLevel) { break } + pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*104 mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf + if int32(uint32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x20>>5)) != 0 { + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult, (*TSrcItem)(unsafe.Pointer(pRight)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pRight)).FpSelect)).FpEList)).FnExpr-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiTabCur) iIdxCur = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiIdxCur if iIdxCur != 0 { @@ -209844,19 +210833,19 @@ var _aOp = [4]struct { FeOp2 uint8 }{ 0: { - FzOp: __ccgo_ts + 17858, + FzOp: __ccgo_ts + 17945, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH), }, 1: { - FzOp: __ccgo_ts + 17188, + FzOp: __ccgo_ts + 17281, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB), }, 2: { - FzOp: __ccgo_ts + 16667, + FzOp: __ccgo_ts + 16760, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE), }, 3: { - FzOp: __ccgo_ts + 23629, + FzOp: __ccgo_ts + 23774, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP), }, } @@ -210490,7 +211479,7 @@ func _exprMightBeIndexed2(tls *libc.TLS, pFrom uintptr, aiCurCol uintptr, pExpr if int32(*(*Ti16)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) != -int32(2) { goto _4 } - if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_STRING) { + if _sqlite3ExprCompareSkip(tls, pExpr, (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr, iCur) == 0 && !(_sqlite3ExprIsConstant(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TIndex)(unsafe.Pointer(pIdx)).FaColExpr + 8 + uintptr(i)*32))).FpExpr) != 0) { *(*int32)(unsafe.Pointer(aiCurCol)) = iCur *(*int32)(unsafe.Pointer(aiCurCol + 1*4)) = -int32(2) return int32(1) @@ -210643,7 +211632,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { extraRight = x - uint64(1) /* ON clause terms may not be used with an index ** on left table of a LEFT JOIN. Ticket #3015 */ if prereqAll>>libc.Int32FromInt32(1) >= x { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23636, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23781, 0) return } } else { @@ -210655,7 +211644,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { ** if there is a RIGHT or FULL JOIN in the query. This makes SQLite ** more like other systems, and also preserves legacy. */ if (*TSrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*(*TSrcItem)(unsafe.Pointer(pSrc + 8))).Ffg.Fjointype)&int32(JT_LTORJ) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23636, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23781, 0) return } *(*Tu32)(unsafe.Pointer(pExpr + 4)) &= uint32(^libc.Int32FromInt32(EP_InnerON)) @@ -210739,7 +211728,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { } else { if op == int32(TK_ISNULL) && !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&uint32(libc.Int32FromInt32(EP_OuterON)) != libc.Uint32FromInt32(0)) && 0 == _sqlite3ExprCanBeNull(tls, pLeft) { (*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_TRUEFALSE) /* See tag-20230504-1 */ - *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 9200 + *(*uintptr)(unsafe.Pointer(pExpr + 8)) = __ccgo_ts + 9325 *(*Tu32)(unsafe.Pointer(pExpr + 4)) |= uint32(libc.Int32FromInt32(EP_IsFalse)) (*TWhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator = uint16(0) @@ -210835,7 +211824,7 @@ func _exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) { *(*Tu8)(unsafe.Pointer(pC)) = uint8(int32(int32(c1)) + int32(1)) } if *(*int32)(unsafe.Pointer(bp + 12)) != 0 { - v13 = __ccgo_ts + 23677 + v13 = __ccgo_ts + 23822 } else { v13 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) } @@ -211105,6 +212094,9 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FleftCursor != iCsr { return } + if (*(*TWhereTerm)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(ii)*56))).FprereqRight != uint64(0) { + return + } goto _1 _1: ; @@ -211134,10 +212126,12 @@ func _sqlite3WhereAddLimit(tls *libc.TLS, pWC uintptr, p uintptr) { } } /* All conditions are met. Add the terms to the where-clause object. */ - _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) - if (*TSelect)(unsafe.Pointer(p)).FiOffset > 0 { + if (*TSelect)(unsafe.Pointer(p)).FiOffset != 0 && (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiOffset, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpRight, iCsr, int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } + if (*TSelect)(unsafe.Pointer(p)).FiOffset == 0 || (*TSelect)(unsafe.Pointer(p)).FselFlags&uint32(SF_Compound) == uint32(0) { + _whereAddLimitExpr(tls, pWC, (*TSelect)(unsafe.Pointer(p)).FiLimit, (*TExpr)(unsafe.Pointer((*TSelect)(unsafe.Pointer(p)).FpLimit)).FpLeft, iCsr, int32(SQLITE_INDEX_CONSTRAINT_LIMIT)) + } } } @@ -211361,7 +212355,7 @@ func _sqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23684, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23829, libc.VaList(bp+8, (*TTable)(unsafe.Pointer(pTab)).FzName, j)) return } pColRef = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_COLUMN), uintptr(0), 0) @@ -211795,6 +212789,48 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { return uintptr(0) } +// C documentation +// +// /* +// ** Term pTerm is guaranteed to be a WO_IN term. It may be a component term +// ** of a vector IN expression of the form "(x, y, ...) IN (SELECT ...)". +// ** This function checks to see if the term is compatible with an index +// ** column with affinity idxaff (one of the SQLITE_AFF_XYZ values). If so, +// ** it returns a pointer to the name of the collation sequence (e.g. "BINARY" +// ** or "NOCASE") used by the comparison in pTerm. If it is not compatible +// ** with affinity idxaff, NULL is returned. +// */ +func _indexInAffinityOk(tls *libc.TLS, pParse uintptr, pTerm uintptr, idxaff Tu8) (r uintptr) { + bp := tls.Alloc(80) + defer tls.Free(80) + var iField int32 + var pRet, pX, v1 uintptr + var _ /* inexpr at bp+0 */ TExpr + _, _, _, _ = iField, pRet, pX, v1 + pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr + if _sqlite3ExprIsVector(tls, (*TExpr)(unsafe.Pointer(pX)).FpLeft) != 0 { + iField = (*(*struct { + FleftColumn int32 + FiField int32 + })(unsafe.Pointer(pTerm + 32))).FiField - int32(1) + (*(*TExpr)(unsafe.Pointer(bp))).Fflags = uint32(0) + (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_EQ) + (*(*TExpr)(unsafe.Pointer(bp))).FpLeft = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*TExpr)(unsafe.Pointer(pX)).FpLeft + 32)) + 8 + uintptr(iField)*32))).FpExpr + (*(*TExpr)(unsafe.Pointer(bp))).FpRight = (*(*TExprList_item)(unsafe.Pointer((*TSelect)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pX + 32)))).FpEList + 8 + uintptr(iField)*32))).FpExpr + pX = bp + } + if _sqlite3IndexAffinityOk(tls, pX, int8(int8(idxaff))) != 0 { + pRet = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pRet != 0 { + v1 = (*TCollSeq)(unsafe.Pointer(pRet)).FzName + } else { + v1 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + return v1 + } + return uintptr(0) +} + // C documentation // // /* @@ -211805,10 +212841,10 @@ func _whereRightSubexprIsColumn(tls *libc.TLS, p uintptr) (r uintptr) { func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { var iColumn Ti16 var iCur, j, k int32 - var pColl, pParse, pTerm, pWC, pX, v2 uintptr - var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, v2, v3, v5 /* The term being tested */ - k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ + var pColl, pParse, pTerm, pWC, pX, zCollName, v2, v5 uintptr + var v3, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _ = iColumn, iCur, j, k, pColl, pParse, pTerm, pWC, pX, zCollName, v2, v3, v5, v6 /* The term being tested */ + k = (*TWhereScan)(unsafe.Pointer(pScan)).Fk /* Where to start scanning */ pWC = (*TWhereScan)(unsafe.Pointer(pScan)).FpWC for int32(1) != 0 { iColumn = *(*Ti16)(unsafe.Pointer(pScan + 88 + uintptr(int32((*TWhereScan)(unsafe.Pointer(pScan)).FiEquiv)-int32(1))*2)) @@ -211852,21 +212888,31 @@ func _whereScanNext(tls *libc.TLS, pScan uintptr) (r uintptr) { if (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName != 0 && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_ISNULL) == 0 { pParse = (*TWhereInfo)(unsafe.Pointer((*TWhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpParse pX = (*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr - if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { - goto _1 - } - pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) - if pColl == uintptr(0) { - pColl = (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FpDfltColl + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_IN) != 0 { + zCollName = _indexInAffinityOk(tls, pParse, pTerm, uint8((*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff)) + if !(zCollName != 0) { + goto _1 + } + } else { + if !(_sqlite3IndexAffinityOk(tls, pX, (*TWhereScan)(unsafe.Pointer(pScan)).Fidxaff) != 0) { + goto _1 + } + pColl = _sqlite3ExprCompareCollSeq(tls, pParse, pX) + if pColl != 0 { + v5 = (*TCollSeq)(unsafe.Pointer(pColl)).FzName + } else { + v5 = uintptr(unsafe.Pointer(&_sqlite3StrBINARY)) + } + zCollName = v5 } - if _sqlite3StrICmp(tls, (*TCollSeq)(unsafe.Pointer(pColl)).FzName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { + if _sqlite3StrICmp(tls, zCollName, (*TWhereScan)(unsafe.Pointer(pScan)).FzCollName) != 0 { goto _1 } } - if v5 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v5 { + if v6 = int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&(libc.Int32FromInt32(WO_EQ)|libc.Int32FromInt32(WO_IS)) != 0; v6 { pX = (*TExpr)(unsafe.Pointer((*TWhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpRight } - if v5 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { + if v6 && pX != libc.UintptrFromInt32(0) && int32((*TExpr)(unsafe.Pointer(pX)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pX)).FiTable == *(*int32)(unsafe.Pointer(pScan + 44)) && int32((*TExpr)(unsafe.Pointer(pX)).FiColumn) == int32(*(*Ti16)(unsafe.Pointer(pScan + 88))) { goto _1 } (*TWhereScan)(unsafe.Pointer(pScan)).FpWC = pWC @@ -212354,7 +213400,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea /* Make the automatic index a partial index if there are terms in the ** WHERE clause (or the ON clause of a LEFT join) that constrain which ** rows of the target table (pSrc) that can be used. */ - if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)) != 0 { + if int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FwtFlags)&int32(TERM_VIRTUAL) == 0 && _sqlite3ExprIsSingleTableConstraint(tls, pExpr, pTabList, int32((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom), 0) != 0 { pPartial = _sqlite3ExprAnd(tls, pParse, pPartial, _sqlite3ExprDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr, 0)) } if _termCanDriveIndex(tls, pTerm, pSrc, notReady) != 0 { @@ -212369,7 +213415,7 @@ func _constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, notRea } cMask = v2 if !(sentWarning != 0) { - Xsqlite3_log(tls, libc.Int32FromInt32(SQLITE_WARNING)|libc.Int32FromInt32(1)<>14)) != 0) { eDistinct = int32(2) + libc.BoolInt32(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_SORTBYGROUP) != 0) } else { if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags)&int32(WHERE_GROUPBY) != 0 { @@ -212840,7 +213886,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB */ pIdxInfo = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(96)+(libc.Uint64FromInt64(12)+libc.Uint64FromInt64(8))*uint64(uint64(nTerm))+uint64(8)*uint64(uint64(nOrderBy))+uint64(40)+uint64(8)*uint64(uint64(nTerm))) if pIdxInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1628, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+1642, 0) return uintptr(0) } pHidden = pIdxInfo + 1*96 @@ -212925,7 +213971,7 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB break } pExpr1 = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr - if _sqlite3ExprIsConstant(tls, pExpr1) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr1) != 0 { goto _11 } (*(*Tsqlite3_index_orderby)(unsafe.Pointer(pIdxOrderBy + uintptr(j)*8))).FiColumn = int32((*TExpr)(unsafe.Pointer(pExpr1)).FiColumn) @@ -213000,9 +214046,9 @@ func _vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) (r i _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) } else { if !((*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg != 0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+4645, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+4709, libc.VaList(bp+8, _sqlite3ErrStr(tls, rc))) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+4645, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+4709, libc.VaList(bp+8, (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } } @@ -214339,7 +215385,7 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x4>>2)) != 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_GE)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LT)-libc.Int32FromInt32(TK_EQ)) | libc.Int32FromInt32(WO_EQ)<<(libc.Int32FromInt32(TK_LE)-libc.Int32FromInt32(TK_EQ))) } - if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 { + if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x100>>8)) != 0 && int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x2>>1)) == 0 { opMask &= ^(libc.Int32FromInt32(WO_EQ) | libc.Int32FromInt32(WO_IN) | libc.Int32FromInt32(WO_IS)) } } @@ -214578,10 +215624,13 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } } } - /* Set rCostIdx to the cost of visiting selected rows in index. Add - ** it to pNew->rRun, which is currently set to the cost of the index - ** seek only. Then, if this is a non-covering index, add the cost of - ** visiting the rows in the main table. */ + /* Set rCostIdx to the estimated cost of visiting selected rows in the + ** index. The estimate is the sum of two values: + ** 1. The cost of doing one search-by-key to find the first matching + ** entry + ** 2. Stepping forward in the index pNew->nOut times to find all + ** additional matching entries. + */ if int32(uint32(*(*uint16)(unsafe.Pointer(pProbe + 100))&0x3>>0)) == int32(SQLITE_IDXTYPE_IPK) { /* The pProbe->szIdxRow is low for an IPK table since the interior ** pages are small. Thus szIdxRow gives a good estimate of seek cost. @@ -214591,7 +215640,14 @@ func _whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pPro } else { rCostIdx = int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut) + int32(1) + int32(15)*int32((*TIndex)(unsafe.Pointer(pProbe)).FszIdxRow)/int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FszTabRow)) } - (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + rCostIdx = _sqlite3LogEstAdd(tls, rLogSize, rCostIdx) + /* Estimate the cost of running the loop. If all data is coming + ** from the index, then this is just the cost of doing the index + ** lookup and scan. But if some data is coming out of the main table, + ** we also have to add in the cost of doing pNew->nOut searches to + ** locate the row in the main table that corresponds to the index entry. + */ + (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = rCostIdx if (*TWhereLoop)(unsafe.Pointer(pNew)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IDX_ONLY)|libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_EXPRIDX)) == uint32(0) { (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun = _sqlite3LogEstAdd(tls, (*TWhereLoop)(unsafe.Pointer(pNew)).FrRun, int16(int32((*TWhereLoop)(unsafe.Pointer(pNew)).FnOut)+int32(16))) } @@ -214696,7 +215752,7 @@ func _indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, if pExpr == uintptr(0) { goto _2 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { + if (int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) || int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_COLUMN)) && (*TExpr)(unsafe.Pointer(pExpr)).FiTable == iCursor { if int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { return int32(1) } @@ -215031,7 +216087,7 @@ func _wherePartIdxExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, pPart uintpt if int32((*TExpr)(unsafe.Pointer(pLeft)).Fop) != int32(TK_COLUMN) { return } - if !(_sqlite3ExprIsConstant(tls, pRight) != 0) { + if !(_sqlite3ExprIsConstant(tls, uintptr(0), pRight) != 0) { return } if !(_sqlite3IsBinary(tls, _sqlite3ExprCompareCollSeq(tls, pParse, pPart)) != 0) { @@ -215360,7 +216416,7 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in ** unique index is used (making the index functionally non-unique) ** then the sqlite_stat1 data becomes important for scoring the ** plan */ - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) } _sqlite3Stat4ProbeFree(tls, (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec) (*TWhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid = 0 @@ -215388,6 +216444,31 @@ func _isLimitTerm(tls *libc.TLS, pTerm uintptr) (r int32) { return libc.BoolInt32(int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) >= int32(SQLITE_INDEX_CONSTRAINT_LIMIT) && int32((*TWhereTerm)(unsafe.Pointer(pTerm)).FeMatchOp) <= int32(SQLITE_INDEX_CONSTRAINT_OFFSET)) } +// C documentation +// +// /* +// ** Return true if the first nCons constraints in the pUsage array are +// ** marked as in-use (have argvIndex>0). False otherwise. +// */ +func _allConstraintsUsed(tls *libc.TLS, aUsage uintptr, nCons int32) (r int32) { + var ii int32 + _ = ii + ii = 0 + for { + if !(ii < nCons) { + break + } + if (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer(aUsage + uintptr(ii)*8))).FargvIndex <= 0 { + return 0 + } + goto _1 + _1: + ; + ii++ + } + return int32(1) +} + // C documentation // // /* @@ -215482,7 +216563,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if v3 >= 0 { j = (*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).FiTermOffset if iTerm >= nConstraint || j < 0 || j >= (*TWhereClause)(unsafe.Pointer(pWC)).FnTerm || *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) || int32((*Tsqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23757, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23902, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } pTerm1 = (*TWhereClause)(unsafe.Pointer(pWC)).Fa + uintptr(j)*56 @@ -215527,12 +216608,16 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, *(*int32)(unsafe.Pointer(pbIn)) = int32(1) } } - if _isLimitTerm(tls, pTerm1) != 0 && *(*int32)(unsafe.Pointer(pbIn)) != 0 { + /* Unless pbRetryLimit is non-NULL, there should be no LIMIT/OFFSET + ** terms. And if there are any, they should follow all other terms. */ + if _isLimitTerm(tls, pTerm1) != 0 && (*(*int32)(unsafe.Pointer(pbIn)) != 0 || !(_allConstraintsUsed(tls, pUsage, i) != 0)) { /* If there is an IN(...) term handled as an == (separate call to ** xFilter for each value on the RHS of the IN) and a LIMIT or - ** OFFSET term handled as well, the plan is unusable. Set output - ** variable *pbRetryLimit to true to tell the caller to retry with - ** LIMIT and OFFSET disabled. */ + ** OFFSET term handled as well, the plan is unusable. Similarly, + ** if there is a LIMIT/OFFSET and there are other unused terms, + ** the plan cannot be used. In these cases set variable *pbRetryLimit + ** to true to tell the caller to retry with LIMIT and OFFSET + ** disabled. */ if (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr != 0 { Xsqlite3_free(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = uintptr(0) @@ -215557,7 +216642,7 @@ func _whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask, if *(*uintptr)(unsafe.Pointer((*TWhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { /* The non-zero argvIdx values must be contiguous. Raise an ** error if they are not */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23757, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23902, libc.VaList(bp+8, (*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return int32(SQLITE_ERROR) } goto _6 @@ -215709,7 +216794,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal pVal = uintptr(0) rc = SQLITE_OK if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint { - rc = _sqlite3MisuseError(tls, int32(165251)) /* EV: R-30545-25046 */ + rc = _sqlite3MisuseError(tls, int32(166453)) /* EV: R-30545-25046 */ } else { if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) { pTerm = (*TWhereClause)(unsafe.Pointer((*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC)).Fa + uintptr((*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)*56 @@ -216147,7 +217232,7 @@ func _whereLoopAddAll(tls *libc.TLS, pBuilder uintptr) (r int32) { if rc != 0 || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { if rc == int32(SQLITE_DONE) { /* We hit the query planner search limit set by iPlanLimit */ - Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+23783, 0) + Xsqlite3_log(tls, int32(SQLITE_WARNING), __ccgo_ts+23928, 0) rc = SQLITE_OK } else { break @@ -216529,7 +217614,7 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } p = (*(*TExprList_item)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32))).FpExpr mTerm = _sqlite3WhereExprUsage(tls, pWInfo+592, p) - if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, p) != 0) { + if mTerm == uint64(0) && !(_sqlite3ExprIsConstant(tls, uintptr(0), p) != 0) { goto _9 } if mTerm & ^orderDistinctMask == uint64(0) { @@ -216939,7 +218024,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) iLoop++ } if nFrom == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23818, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23963, 0) _sqlite3DbFreeNN(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pSpace) return int32(SQLITE_ERROR) } @@ -216988,9 +218073,7 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) if int32((*TWherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*TExprList)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_ORDERED) } - if (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 && int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr { - (*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = int8((*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr) - } + /* vvv--- See check-in [12ad822d9b827777] on 2023-03-16 ---vvv */ } else { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*TWherePath)(unsafe.Pointer(pFrom)).FrevLoop if int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 { @@ -217027,6 +218110,97 @@ func _wherePathSolver(tls *libc.TLS, pWInfo uintptr, nRowEst TLogEst) (r int32) return SQLITE_OK } +// C documentation +// +// /* +// ** This routine implements a heuristic designed to improve query planning. +// ** This routine is called in between the first and second call to +// ** wherePathSolver(). Hence the name "Interstage" "Heuristic". +// ** +// ** The first call to wherePathSolver() (hereafter just "solver()") computes +// ** the best path without regard to the order of the outputs. The second call +// ** to the solver() builds upon the first call to try to find an alternative +// ** path that satisfies the ORDER BY clause. +// ** +// ** This routine looks at the results of the first solver() run, and for +// ** every FROM clause term in the resulting query plan that uses an equality +// ** constraint against an index, disable other WhereLoops for that same +// ** FROM clause term that would try to do a full-table scan. This prevents +// ** an index search from being converted into a full-table scan in order to +// ** satisfy an ORDER BY clause, since even though we might get slightly better +// ** performance using the full-scan without sorting if the output size +// ** estimates are very precise, we might also get severe performance +// ** degradation using the full-scan if the output size estimate is too large. +// ** It is better to err on the side of caution. +// ** +// ** Except, if the first solver() call generated a full-table scan in an outer +// ** loop then stop this analysis at the first full-scan, since the second +// ** solver() run might try to swap that full-scan for another in order to +// ** get the output into the correct order. In other words, we allow a +// ** rewrite like this: +// ** +// ** First Solver() Second Solver() +// ** |-- SCAN t1 |-- SCAN t2 +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** The purpose of this routine is to disallow rewrites such as: +// ** +// ** First Solver() Second Solver() +// ** |-- SEARCH t1 |-- SCAN t2 <--- bad! +// ** |-- SEARCH t2 `-- SEARCH t1 +// ** `-- SORT USING B-TREE +// ** +// ** See test cases in test/whereN.test for the real-world query that +// ** originally provoked this heuristic. +// */ +func _whereInterstageHeuristic(tls *libc.TLS, pWInfo uintptr) { + var i int32 + var iTab Tu8 + var p, pLoop uintptr + _, _, _, _ = i, iTab, p, pLoop + i = 0 + for { + if !(i < int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnLevel)) { + break + } + p = (*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(i)*104))).FpWLoop + if p == uintptr(0) { + break + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(WHERE_VIRTUALTABLE) != uint32(0) { + goto _1 + } + if (*TWhereLoop)(unsafe.Pointer(p)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_COLUMN_EQ)|libc.Int32FromInt32(WHERE_COLUMN_NULL)|libc.Int32FromInt32(WHERE_COLUMN_IN)) != uint32(0) { + iTab = (*TWhereLoop)(unsafe.Pointer(p)).FiTab + pLoop = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpLoops + for { + if !(pLoop != 0) { + break + } + if int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab) != int32(int32(iTab)) { + goto _2 + } + if (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_CONSTRAINT)|libc.Int32FromInt32(WHERE_AUTO_INDEX)) != uint32(0) { + /* Auto-index and index-constrained loops allowed to remain */ + goto _2 + } + (*TWhereLoop)(unsafe.Pointer(pLoop)).Fprereq = uint64(-libc.Int32FromInt32(1)) /* Prevent 2nd solver() from using this one */ + goto _2 + _2: + ; + pLoop = (*TWhereLoop)(unsafe.Pointer(pLoop)).FpNextLoop + } + } else { + break + } + goto _1 + _1: + ; + i++ + } +} + // C documentation // // /* @@ -217335,7 +218509,7 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { if (*TTable)(unsafe.Pointer(pTab)).FtabFlags&uint32(TF_HasStat1) == uint32(0) { break } - *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_StatsUsed) + *(*Tu32)(unsafe.Pointer(pTab + 48)) |= uint32(TF_MaybeReanalyze) if i >= int32(1) && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&reqFlags == reqFlags && (*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&uint32(libc.Int32FromInt32(WHERE_IPK)|libc.Int32FromInt32(WHERE_INDEXED)) != uint32(0) { if int32(int32(nSearch)) > int32((*TTable)(unsafe.Pointer(pTab)).FnRowLogEst) { *(*Tu32)(unsafe.Pointer(pLoop + 48)) |= uint32(WHERE_BLOOMFILTER) @@ -217350,6 +218524,68 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { } } +// C documentation +// +// /* +// ** Expression Node callback for sqlite3ExprCanReturnSubtype(). +// ** +// ** Only a function call is able to return a subtype. So if the node +// ** is not a function call, return WRC_Prune immediately. +// ** +// ** A function call is able to return a subtype if it has the +// ** SQLITE_RESULT_SUBTYPE property. +// ** +// ** Assume that every function is able to pass-through a subtype from +// ** one of its argument (using sqlite3_result_value()). Most functions +// ** are not this way, but we don't have a mechanism to distinguish those +// ** that are from those that are not, so assume they all work this way. +// ** That means that if one of its arguments is another function and that +// ** other function is able to return a subtype, then this function is +// ** able to return a subtype. +// */ +func _exprNodeCanReturnSubtype(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int32) { + var db, pDef uintptr + var n, v1 int32 + _, _, _, _ = db, n, pDef, v1 + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_FUNCTION) { + return int32(WRC_Prune) + } + db = (*TParse)(unsafe.Pointer((*TWalker)(unsafe.Pointer(pWalker)).FpParse)).Fdb + if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { + v1 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr + } else { + v1 = 0 + } + n = v1 + pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) + if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { + (*TWalker)(unsafe.Pointer(pWalker)).FeCode = uint16(1) + return int32(WRC_Prune) + } + return WRC_Continue +} + +// C documentation +// +// /* +// ** Return TRUE if expression pExpr is able to return a subtype. +// ** +// ** A TRUE return does not guarantee that a subtype will be returned. +// ** It only indicates that a subtype return is possible. False positives +// ** are acceptable as they only disable an optimization. False negatives, +// ** on the other hand, can lead to incorrect answers. +// */ +func _sqlite3ExprCanReturnSubtype(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var _ /* w at bp+0 */ TWalker + libc.Xmemset(tls, bp, 0, uint64(48)) + (*(*TWalker)(unsafe.Pointer(bp))).FpParse = pParse + (*(*TWalker)(unsafe.Pointer(bp))).FxExprCallback = __ccgo_fp(_exprNodeCanReturnSubtype) + _sqlite3WalkExpr(tls, bp, pExpr) + return int32((*(*TWalker)(unsafe.Pointer(bp))).FeCode) +} + // C documentation // // /* @@ -217364,9 +218600,9 @@ func _whereCheckIfBloomFilterIsUseful(tls *libc.TLS, pWInfo uintptr) { // ** references to the corresponding column of the index. // */ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur int32, pTabItem uintptr) { - var db, p, pArg, pDef, pExpr, pTab uintptr - var i, j, n, v2 int32 - _, _, _, _, _, _, _, _, _, _ = db, i, j, n, p, pArg, pDef, pExpr, pTab, v2 + var i, j int32 + var p, pArg, pExpr, pTab uintptr + _, _, _, _, _, _ = i, j, p, pArg, pExpr, pTab pTab = (*TIndex)(unsafe.Pointer(pIdx)).FpTable i = 0 for { @@ -217383,21 +218619,14 @@ func _whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur i goto _1 } } - if _sqlite3ExprIsConstant(tls, pExpr) != 0 { + if _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) != 0 { goto _1 } - if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) { - db = (*TParse)(unsafe.Pointer(pParse)).Fdb - if *(*uintptr)(unsafe.Pointer(pExpr + 32)) != 0 { - v2 = (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)))).FnExpr - } else { - v2 = 0 - } - n = v2 - pDef = _sqlite3FindFunction(tls, db, *(*uintptr)(unsafe.Pointer(pExpr + 8)), n, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, uint8(0)) - if pDef == uintptr(0) || (*TFuncDef)(unsafe.Pointer(pDef)).FfuncFlags&uint32(SQLITE_RESULT_SUBTYPE) != uint32(0) { - goto _1 - } + if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_FUNCTION) && _sqlite3ExprCanReturnSubtype(tls, pParse, pExpr) != 0 { + /* Functions that might set a subtype should not be replaced by the + ** value taken from an expression index since the index omits the + ** subtype. https://sqlite.org/forum/forumpost/68d284c86b082c3e */ + goto _1 } p = _sqlite3DbMallocRaw(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(32)) if p == uintptr(0) { @@ -217569,7 +218798,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere ** bits in a Bitmask */ if (*TSrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23836, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23981, libc.VaList(bp+64, int32(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(8)))) return uintptr(0) } /* This function normally generates a nested loop for all tables in @@ -217641,7 +218870,9 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere if int32(int32(wctrlFlags))&int32(WHERE_WANT_DISTINCT) != 0 && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&uint32(libc.Int32FromInt32(SQLITE_DistinctOpt)) == uint32(0) { (*TWhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = uint8(WHERE_DISTINCT_UNIQUE) } - _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+23864, 0) + if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect != 0 && (*TSelect)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FselFlags&uint32(SF_MultiValue) == uint32(0) { + _sqlite3VdbeExplain(tls, pParse, uint8(0), __ccgo_ts+24009, 0) + } } else { /* Assign a bit from the bitmask to every term in the FROM clause. ** @@ -217773,6 +219004,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere goto whereBeginError } if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy != 0 { + _whereInterstageHeuristic(tls, pWInfo) _wherePathSolver(tls, pWInfo, int16(int32((*TWhereInfo)(unsafe.Pointer(pWInfo)).FnRowOut)+int32(1))) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto whereBeginError @@ -218081,10 +219313,10 @@ whereBeginError: // ** sqlite3WhereBegin() for additional information. // */ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { - var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, r1, ws, x, v4, v7 int32 - var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr + var addr, addrSeek, bEarlyOut, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, r1, ws, x, v4, v7 int32 + var db, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, v, v10, v2, p12 uintptr var v3, v5 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, n, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = addr, addrSeek, bEarlyOut, db, i, iDb, iEnd, j, j1, k, last, m, n, n1, nRJ, op, p, pIdx, pIdx1, pIn, pIx, pLastOp, pLevel, pLoop, pOp, pParse, pPk, pRJ, pSrc, pTab, pTabItem, pTabList, r1, v, ws, x, v10, v2, v3, v4, v5, v7, p12 pParse = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpParse v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe pTabList = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList @@ -218225,6 +219457,12 @@ func _sqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { ws = int32((*TWhereLoop)(unsafe.Pointer(pLoop)).FwsFlags) addr = _sqlite3VdbeAddOp1(tls, v, int32(OP_IfPos), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin) if ws&int32(WHERE_IDX_ONLY) == 0 { + pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*104 + if int32(uint32(*(*uint16)(unsafe.Pointer(pSrc + 60 + 4))&0x20>>5)) != 0 { + n1 = (*TSrcItem)(unsafe.Pointer(pSrc)).FregResult + m = int32((*TTable)(unsafe.Pointer((*TSrcItem)(unsafe.Pointer(pSrc)).FpTab)).FnCol) + _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, n1, n1+m-int32(1)) + } _sqlite3VdbeAddOp1(tls, v, int32(OP_NullRow), (*TWhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) } if ws&int32(WHERE_INDEXED) != 0 || ws&int32(WHERE_MULTI_OR) != 0 && *(*uintptr)(unsafe.Pointer(&(*TWhereLevel)(unsafe.Pointer(pLevel)).Fu)) != 0 { @@ -218641,7 +219879,7 @@ func _nth_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) goto error_out error_out: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+23882, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24027, -int32(1)) } func _nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { @@ -218823,7 +220061,7 @@ func _ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { if (*TNtileCtx)(unsafe.Pointer(p)).FnTotal == 0 { (*TNtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg))) if (*TNtileCtx)(unsafe.Pointer(p)).FnParam <= 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+23938, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+24083, -int32(1)) } } (*TNtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -219149,7 +220387,7 @@ func _windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) (r p = (*TWindow)(unsafe.Pointer(p)).FpNextWin } if p == uintptr(0) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+23983, libc.VaList(bp+8, zName)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24128, libc.VaList(bp+8, zName)) } return p } @@ -219200,12 +220438,12 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin _sqlite3WindowChain(tls, pParse, pWin, pList) } if int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) == int32(TK_RANGE) && ((*TWindow)(unsafe.Pointer(pWin)).FpStart != 0 || (*TWindow)(unsafe.Pointer(pWin)).FpEnd != 0) && ((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*TExprList)(unsafe.Pointer((*TWindow)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != int32(1)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24002, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24147, 0) } else { if (*TFuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&uint32(SQLITE_FUNC_WINDOW) != 0 { db = (*TParse)(unsafe.Pointer(pParse)).Fdb if (*TWindow)(unsafe.Pointer(pWin)).FpFilter != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24073, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24218, 0) } else { aUp = [8]struct { FzFunc uintptr @@ -219278,7 +220516,7 @@ func _sqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin (*TWindow)(unsafe.Pointer(pWin)).FeEnd = uint8(aUp[i].FeEnd) (*TWindow)(unsafe.Pointer(pWin)).FeExclude = uint8(0) if int32((*TWindow)(unsafe.Pointer(pWin)).FeStart) == int32(TK_FOLLOWING) { - (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+9439) + (*TWindow)(unsafe.Pointer(pWin)).FpStart = _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+9564) } break } @@ -219560,7 +220798,7 @@ func _disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintpt bp := tls.Alloc(16) defer tls.Free(16) if int32((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_AGG_FUNCTION) && (*TExpr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) { - _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+24136, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) + _sqlite3ErrorMsg(tls, (*TWalker)(unsafe.Pointer(pWalker)).FpParse, __ccgo_ts+24281, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8)))) } return WRC_Continue } @@ -219701,7 +220939,7 @@ func _sqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) (r int32) { ** keep everything legal in this case. */ if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1732)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), _sqlite3Expr(tls, db, int32(TK_INTEGER), __ccgo_ts+1792)) } pSub = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(bp)), pSrc, pWhere, pGroupBy, pHaving, pSort, uint32(0), uintptr(0)) (*TSelect)(unsafe.Pointer(p)).FpSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), uintptr(0), uintptr(0)) @@ -219805,7 +221043,7 @@ func _sqlite3WindowListDelete(tls *libc.TLS, db uintptr, p uintptr) { // ** variable values in the expression tree. // */ func _sqlite3WindowOffsetExpr(tls *libc.TLS, pParse uintptr, pExpr uintptr) (r uintptr) { - if 0 == _sqlite3ExprIsConstant(tls, pExpr) { + if 0 == _sqlite3ExprIsConstant(tls, uintptr(0), pExpr) { if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) { _sqlite3RenameExprUnmap(tls, pParse, pExpr) } @@ -219846,7 +221084,7 @@ func _sqlite3WindowAlloc(tls *libc.TLS, pParse uintptr, eType int32, eStart int3 ** frame boundary. */ if eStart == int32(TK_CURRENT) && eEnd == int32(TK_PRECEDING) || eStart == int32(TK_FOLLOWING) && (eEnd == int32(TK_PRECEDING) || eEnd == int32(TK_CURRENT)) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24162, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24307, 0) goto windowAllocErr } pWin = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) @@ -219914,18 +221152,18 @@ func _sqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint zErr = uintptr(0) /* Check for errors */ if (*TWindow)(unsafe.Pointer(pWin)).FpPartition != 0 { - zErr = __ccgo_ts + 24194 + zErr = __ccgo_ts + 24339 } else { if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*TWindow)(unsafe.Pointer(pWin)).FpOrderBy != 0 { - zErr = __ccgo_ts + 24211 + zErr = __ccgo_ts + 24356 } else { if int32((*TWindow)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = __ccgo_ts + 24227 + zErr = __ccgo_ts + 24372 } } } if zErr != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24247, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24392, libc.VaList(bp+8, zErr, (*TWindow)(unsafe.Pointer(pWin)).FzBase)) } else { (*TWindow)(unsafe.Pointer(pWin)).FpPartition = _sqlite3ExprListDup(tls, db, (*TWindow)(unsafe.Pointer(pExist)).FpPartition, 0) if (*TWindow)(unsafe.Pointer(pExist)).FpOrderBy != 0 { @@ -219949,7 +221187,7 @@ func _sqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr *(*Tu32)(unsafe.Pointer(p + 4)) |= uint32(libc.Int32FromInt32(EP_WinFunc) | libc.Int32FromInt32(EP_FullSize)) (*TWindow)(unsafe.Pointer(pWin)).FpOwner = p if (*TExpr)(unsafe.Pointer(p)).Fflags&uint32(EP_Distinct) != 0 && int32((*TWindow)(unsafe.Pointer(pWin)).FeFrmType) != int32(TK_FILTER) { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24280, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24425, 0) } } else { _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -220148,7 +221386,7 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { _sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, regZero) if eCond >= int32(WINDOW_STARTING_NUM) { regString = _sqlite3GetTempReg(tls, pParse) - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1658, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1672, -int32(1)) _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, _sqlite3VdbeCurrentAddr(tls, v)+int32(2), reg) _sqlite3VdbeChangeP5(tls, v, uint16(libc.Int32FromInt32(SQLITE_AFF_NUMERIC)|libc.Int32FromInt32(SQLITE_JUMPIFNULL))) } else { @@ -220167,11 +221405,11 @@ func _windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { } var _azErr = [5]uintptr{ - 0: __ccgo_ts + 24327, - 1: __ccgo_ts + 24380, - 2: __ccgo_ts + 23882, - 3: __ccgo_ts + 24431, - 4: __ccgo_ts + 24483, + 0: __ccgo_ts + 24472, + 1: __ccgo_ts + 24525, + 2: __ccgo_ts + 24027, + 3: __ccgo_ts + 24576, + 4: __ccgo_ts + 24628, } var _aOp1 = [5]int32{ @@ -220923,7 +222161,7 @@ func _windowCodeRangeTest(tls *libc.TLS, p uintptr, op int32, csr1 int32, regVal ** the add/subtract is skipped for these, as required. If reg1 is a NULL, ** then the arithmetic is performed, but since adding or subtracting from ** NULL is always NULL anyway, this case is handled as required too. */ - _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1658, -int32(1)) + _sqlite3VdbeAddOp4(tls, v, int32(OP_String8), 0, regString, 0, __ccgo_ts+1672, -int32(1)) addrGe = _sqlite3VdbeAddOp3(tls, v, int32(OP_Ge), regString, 0, reg1) if op == int32(OP_Ge) && arith == int32(OP_Add) || op == int32(OP_Le) && arith == int32(OP_Subtract) { _sqlite3VdbeAddOp3(tls, v, op, reg2, lbl, reg1) @@ -221951,11 +223189,11 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { cnt++ if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*TSelect)(unsafe.Pointer(pLoop)).FpLimit != 0 { if (*TSelect)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - v1 = __ccgo_ts + 24533 + v1 = __ccgo_ts + 24678 } else { - v1 = __ccgo_ts + 24542 + v1 = __ccgo_ts + 24687 } - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24548, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24693, libc.VaList(bp+8, v1, _sqlite3SelectOpName(tls, int32((*TSelect)(unsafe.Pointer(pNext)).Fop)))) break } } @@ -221964,7 +223202,7 @@ func _parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { mxSelect = v2 } if v3 && v2 > 0 && cnt > mxSelect { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24590, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24735, 0) } } } @@ -221984,6 +223222,23 @@ func _attachWithToSelect(tls *libc.TLS, pParse uintptr, pSelect uintptr, pWith u return pSelect } +// C documentation +// +// /* Memory allocator for parser stack resizing. This is a thin wrapper around +// ** sqlite3_realloc() that includes a call to sqlite3FaultSim() to facilitate +// ** testing. +// */ +func _parserStackRealloc(tls *libc.TLS, pOld uintptr, newSize Tsqlite3_uint64) (r uintptr) { + var v1 uintptr + _ = v1 + if _sqlite3FaultSim(tls, int32(700)) != 0 { + v1 = uintptr(0) + } else { + v1 = Xsqlite3_realloc(tls, pOld, int32(int32(newSize))) + } + return v1 +} + // C documentation // // /* Construct a new Expr object from a single token */ @@ -222053,7 +223308,7 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId _ = p p = _sqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if (hasCollate != 0 || sortOrder != -int32(1)) && int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24624, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24769, libc.VaList(bp+8, (*TToken)(unsafe.Pointer(pIdToken)).Fn, (*TToken)(unsafe.Pointer(pIdToken)).Fz)) } _sqlite3ExprListSetName(tls, pParse, p, pIdToken, int32(1)) return p @@ -222103,6 +223358,9 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser // ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser // ** sqlite3ParserCTX_* As sqlite3ParserARG_ except for %extra_context +// ** YYREALLOC Name of the realloc() function to use +// ** YYFREE Name of the free() function to use +// ** YYDYNSTACK True if stack space should be extended on heap // ** YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** YYNSTATE the combined number of states. @@ -222116,31 +223374,33 @@ func _parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pId // ** YY_NO_ACTION The yy_action[] code for no-op // ** YY_MIN_REDUCE Minimum value for reduce actions // ** YY_MAX_REDUCE Maximum value for reduce actions +// ** YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type TYYMINORTYPE = struct { Fyy0 [0]TToken - Fyy33 [0]uintptr - Fyy41 [0]uintptr - Fyy47 [0]uintptr - Fyy131 [0]uintptr - Fyy180 [0]TTrigEvent - Fyy231 [0]struct { + Fyy14 [0]uintptr + Fyy59 [0]uintptr + Fyy67 [0]uintptr + Fyy122 [0]uintptr + Fyy132 [0]uintptr + Fyy144 [0]int32 + Fyy168 [0]uintptr + Fyy203 [0]uintptr + Fyy211 [0]uintptr + Fyy269 [0]TOnOrUsing + Fyy286 [0]TTrigEvent + Fyy383 [0]struct { Fvalue int32 Fmask int32 } - Fyy254 [0]uintptr - Fyy285 [0]Tu32 - Fyy322 [0]uintptr - Fyy385 [0]uintptr - Fyy394 [0]int32 - Fyy444 [0]uintptr - Fyy516 [0]Tu8 - Fyy521 [0]uintptr - Fyy522 [0]uintptr - Fyy528 [0]uintptr - Fyy561 [0]TOnOrUsing - Fyy595 [0]TFrameBound + Fyy391 [0]Tu32 + Fyy427 [0]uintptr + Fyy454 [0]uintptr + Fyy462 [0]Tu8 + Fyy509 [0]TFrameBound + Fyy555 [0]uintptr Fyyinit int32 F__ccgo_pad20 [12]byte } @@ -222158,6 +223418,13 @@ type YYMINORTYPE = TYYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -222210,2152 +223477,2194 @@ type YYMINORTYPE = TYYMINORTYPE // ** yy_default[] Default action for each state. // ** // *********** Begin parsing tables **********************************************/ -var _yy_action = [2100]uint16{ - 0: uint16(572), - 1: uint16(210), - 2: uint16(572), - 3: uint16(119), - 4: uint16(116), - 5: uint16(231), - 6: uint16(572), - 7: uint16(119), - 8: uint16(116), - 9: uint16(231), - 10: uint16(572), - 11: uint16(1317), - 12: uint16(379), - 13: uint16(1296), - 14: uint16(410), - 15: uint16(566), - 16: uint16(566), - 17: uint16(566), - 18: uint16(572), - 19: uint16(411), - 20: uint16(380), - 21: uint16(1317), - 22: uint16(1279), - 23: uint16(42), - 24: uint16(42), - 25: uint16(42), - 26: uint16(42), - 27: uint16(210), - 28: uint16(1529), - 29: uint16(72), - 30: uint16(72), - 31: uint16(974), - 32: uint16(421), - 33: uint16(42), - 34: uint16(42), - 35: uint16(495), - 36: uint16(305), - 37: uint16(281), - 38: uint16(305), - 39: uint16(975), - 40: uint16(399), - 41: uint16(72), - 42: uint16(72), - 43: uint16(126), - 44: uint16(127), - 45: uint16(81), - 46: uint16(1217), - 47: uint16(1217), - 48: uint16(1054), - 49: uint16(1057), - 50: uint16(1044), - 51: uint16(1044), - 52: uint16(124), - 53: uint16(124), - 54: uint16(125), - 55: uint16(125), - 56: uint16(125), - 57: uint16(125), - 58: uint16(480), - 59: uint16(411), - 60: uint16(1244), - 61: uint16(1), - 62: uint16(1), - 63: uint16(578), - 64: uint16(2), - 65: uint16(1248), - 66: uint16(554), - 67: uint16(119), - 68: uint16(116), - 69: uint16(231), - 70: uint16(319), - 71: uint16(484), - 72: uint16(147), - 73: uint16(484), - 74: uint16(528), - 75: uint16(119), - 76: uint16(116), - 77: uint16(231), - 78: uint16(533), - 79: uint16(1330), - 80: uint16(419), - 81: uint16(527), - 82: uint16(143), - 83: uint16(126), - 84: uint16(127), - 85: uint16(81), - 86: uint16(1217), - 87: uint16(1217), - 88: uint16(1054), - 89: uint16(1057), - 90: uint16(1044), - 91: uint16(1044), - 92: uint16(124), - 93: uint16(124), - 94: uint16(125), - 95: uint16(125), - 96: uint16(125), - 97: uint16(125), - 98: uint16(119), - 99: uint16(116), - 100: uint16(231), - 101: uint16(329), - 102: uint16(123), - 103: uint16(123), - 104: uint16(123), - 105: uint16(123), - 106: uint16(122), - 107: uint16(122), - 108: uint16(121), - 109: uint16(121), - 110: uint16(121), - 111: uint16(120), - 112: uint16(117), - 113: uint16(448), - 114: uint16(286), - 115: uint16(286), - 116: uint16(286), - 117: uint16(286), - 118: uint16(446), - 119: uint16(446), - 120: uint16(446), - 121: uint16(1568), - 122: uint16(378), - 123: uint16(1570), - 124: uint16(1193), - 125: uint16(377), - 126: uint16(1164), - 127: uint16(569), - 128: uint16(1164), - 129: uint16(569), - 130: uint16(411), - 131: uint16(1568), - 132: uint16(541), - 133: uint16(261), - 134: uint16(228), - 135: uint16(448), - 136: uint16(102), - 137: uint16(146), - 138: uint16(453), - 139: uint16(318), - 140: uint16(563), - 141: uint16(242), - 142: uint16(123), - 143: uint16(123), - 144: uint16(123), - 145: uint16(123), - 146: uint16(122), - 147: uint16(122), - 148: uint16(121), - 149: uint16(121), - 150: uint16(121), - 151: uint16(120), - 152: uint16(117), - 153: uint16(448), - 154: uint16(126), - 155: uint16(127), - 156: uint16(81), - 157: uint16(1217), - 158: uint16(1217), - 159: uint16(1054), - 160: uint16(1057), - 161: uint16(1044), - 162: uint16(1044), - 163: uint16(124), - 164: uint16(124), - 165: uint16(125), - 166: uint16(125), - 167: uint16(125), - 168: uint16(125), - 169: uint16(143), - 170: uint16(296), - 171: uint16(1193), - 172: uint16(341), - 173: uint16(452), - 174: uint16(121), - 175: uint16(121), - 176: uint16(121), - 177: uint16(120), - 178: uint16(117), - 179: uint16(448), - 180: uint16(128), - 181: uint16(1193), - 182: uint16(1194), - 183: uint16(1193), - 184: uint16(149), - 185: uint16(445), - 186: uint16(444), - 187: uint16(572), - 188: uint16(120), - 189: uint16(117), - 190: uint16(448), - 191: uint16(125), - 192: uint16(125), - 193: uint16(125), - 194: uint16(125), - 195: uint16(118), - 196: uint16(123), - 197: uint16(123), - 198: uint16(123), - 199: uint16(123), - 200: uint16(122), - 201: uint16(122), - 202: uint16(121), - 203: uint16(121), - 204: uint16(121), - 205: uint16(120), - 206: uint16(117), - 207: uint16(448), - 208: uint16(458), - 209: uint16(114), - 210: uint16(13), - 211: uint16(13), - 212: uint16(550), - 213: uint16(123), - 214: uint16(123), - 215: uint16(123), - 216: uint16(123), - 217: uint16(122), - 218: uint16(122), - 219: uint16(121), - 220: uint16(121), - 221: uint16(121), - 222: uint16(120), - 223: uint16(117), - 224: uint16(448), - 225: uint16(424), - 226: uint16(318), - 227: uint16(563), - 228: uint16(1193), - 229: uint16(1194), - 230: uint16(1193), - 231: uint16(150), - 232: uint16(1225), - 233: uint16(411), - 234: uint16(1225), - 235: uint16(125), - 236: uint16(125), - 237: uint16(125), - 238: uint16(125), - 239: uint16(123), - 240: uint16(123), - 241: uint16(123), - 242: uint16(123), - 243: uint16(122), - 244: uint16(122), - 245: uint16(121), - 246: uint16(121), - 247: uint16(121), - 248: uint16(120), - 249: uint16(117), - 250: uint16(448), - 251: uint16(469), - 252: uint16(344), - 253: uint16(1041), - 254: uint16(1041), - 255: uint16(1055), - 256: uint16(1058), - 257: uint16(126), - 258: uint16(127), - 259: uint16(81), - 260: uint16(1217), - 261: uint16(1217), - 262: uint16(1054), - 263: uint16(1057), - 264: uint16(1044), - 265: uint16(1044), - 266: uint16(124), - 267: uint16(124), - 268: uint16(125), - 269: uint16(125), - 270: uint16(125), - 271: uint16(125), - 272: uint16(1282), - 273: uint16(526), - 274: uint16(224), - 275: uint16(1193), - 276: uint16(572), - 277: uint16(411), - 278: uint16(226), - 279: uint16(519), - 280: uint16(177), - 281: uint16(83), - 282: uint16(84), - 283: uint16(123), - 284: uint16(123), - 285: uint16(123), - 286: uint16(123), - 287: uint16(122), - 288: uint16(122), - 289: uint16(121), - 290: uint16(121), - 291: uint16(121), - 292: uint16(120), - 293: uint16(117), - 294: uint16(448), - 295: uint16(1010), - 296: uint16(16), - 297: uint16(16), - 298: uint16(1193), - 299: uint16(134), - 300: uint16(134), - 301: uint16(126), - 302: uint16(127), - 303: uint16(81), - 304: uint16(1217), - 305: uint16(1217), - 306: uint16(1054), - 307: uint16(1057), - 308: uint16(1044), - 309: uint16(1044), - 310: uint16(124), - 311: uint16(124), - 312: uint16(125), - 313: uint16(125), - 314: uint16(125), - 315: uint16(125), - 316: uint16(123), - 317: uint16(123), - 318: uint16(123), - 319: uint16(123), - 320: uint16(122), - 321: uint16(122), - 322: uint16(121), - 323: uint16(121), - 324: uint16(121), - 325: uint16(120), - 326: uint16(117), - 327: uint16(448), - 328: uint16(1045), - 329: uint16(550), - 330: uint16(1193), - 331: uint16(375), - 332: uint16(1193), - 333: uint16(1194), - 334: uint16(1193), - 335: uint16(254), - 336: uint16(1438), - 337: uint16(401), - 338: uint16(508), - 339: uint16(505), - 340: uint16(504), - 341: uint16(112), - 342: uint16(564), - 343: uint16(570), +var _yy_action = [2142]uint16{ + 0: uint16(576), + 1: uint16(128), + 2: uint16(125), + 3: uint16(232), + 4: uint16(1622), + 5: uint16(549), + 6: uint16(576), + 7: uint16(1290), + 8: uint16(1281), + 9: uint16(576), + 10: uint16(328), + 11: uint16(576), + 12: uint16(1300), + 13: uint16(212), + 14: uint16(576), + 15: uint16(128), + 16: uint16(125), + 17: uint16(232), + 18: uint16(578), + 19: uint16(412), + 20: uint16(578), + 21: uint16(391), + 22: uint16(1542), + 23: uint16(51), + 24: uint16(51), + 25: uint16(523), + 26: uint16(405), + 27: uint16(1293), + 28: uint16(529), + 29: uint16(51), + 30: uint16(51), + 31: uint16(983), + 32: uint16(51), + 33: uint16(51), + 34: uint16(81), + 35: uint16(81), + 36: uint16(1107), + 37: uint16(61), + 38: uint16(61), + 39: uint16(984), + 40: uint16(1107), + 41: uint16(1292), + 42: uint16(380), + 43: uint16(135), + 44: uint16(136), + 45: uint16(90), + 46: uint16(1228), + 47: uint16(1228), + 48: uint16(1063), + 49: uint16(1066), + 50: uint16(1053), + 51: uint16(1053), + 52: uint16(133), + 53: uint16(133), + 54: uint16(134), + 55: uint16(134), + 56: uint16(134), + 57: uint16(134), + 58: uint16(1577), + 59: uint16(412), + 60: uint16(287), + 61: uint16(287), + 62: uint16(7), + 63: uint16(287), + 64: uint16(287), + 65: uint16(422), + 66: uint16(1050), + 67: uint16(1050), + 68: uint16(1064), + 69: uint16(1067), + 70: uint16(289), + 71: uint16(556), + 72: uint16(492), + 73: uint16(573), + 74: uint16(524), + 75: uint16(561), + 76: uint16(573), + 77: uint16(497), + 78: uint16(561), + 79: uint16(482), + 80: uint16(530), + 81: uint16(262), + 82: uint16(229), + 83: uint16(135), + 84: uint16(136), + 85: uint16(90), + 86: uint16(1228), + 87: uint16(1228), + 88: uint16(1063), + 89: uint16(1066), + 90: uint16(1053), + 91: uint16(1053), + 92: uint16(133), + 93: uint16(133), + 94: uint16(134), + 95: uint16(134), + 96: uint16(134), + 97: uint16(134), + 98: uint16(128), + 99: uint16(125), + 100: uint16(232), + 101: uint16(1506), + 102: uint16(132), + 103: uint16(132), + 104: uint16(132), + 105: uint16(132), + 106: uint16(131), + 107: uint16(131), + 108: uint16(130), + 109: uint16(130), + 110: uint16(130), + 111: uint16(129), + 112: uint16(126), + 113: uint16(450), + 114: uint16(1204), + 115: uint16(1255), + 116: uint16(1), + 117: uint16(1), + 118: uint16(582), + 119: uint16(2), + 120: uint16(1259), + 121: uint16(1571), + 122: uint16(420), + 123: uint16(1582), + 124: uint16(379), + 125: uint16(320), + 126: uint16(1174), + 127: uint16(153), + 128: uint16(1174), + 129: uint16(1584), + 130: uint16(412), + 131: uint16(378), + 132: uint16(1582), + 133: uint16(543), + 134: uint16(1341), + 135: uint16(330), + 136: uint16(111), + 137: uint16(570), + 138: uint16(570), + 139: uint16(570), + 140: uint16(293), + 141: uint16(1054), + 142: uint16(132), + 143: uint16(132), + 144: uint16(132), + 145: uint16(132), + 146: uint16(131), + 147: uint16(131), + 148: uint16(130), + 149: uint16(130), + 150: uint16(130), + 151: uint16(129), + 152: uint16(126), + 153: uint16(450), + 154: uint16(135), + 155: uint16(136), + 156: uint16(90), + 157: uint16(1228), + 158: uint16(1228), + 159: uint16(1063), + 160: uint16(1066), + 161: uint16(1053), + 162: uint16(1053), + 163: uint16(133), + 164: uint16(133), + 165: uint16(134), + 166: uint16(134), + 167: uint16(134), + 168: uint16(134), + 169: uint16(287), + 170: uint16(287), + 171: uint16(1204), + 172: uint16(1205), + 173: uint16(1204), + 174: uint16(255), + 175: uint16(287), + 176: uint16(287), + 177: uint16(510), + 178: uint16(507), + 179: uint16(506), + 180: uint16(137), + 181: uint16(455), + 182: uint16(573), + 183: uint16(212), + 184: uint16(561), + 185: uint16(447), + 186: uint16(446), + 187: uint16(505), + 188: uint16(573), + 189: uint16(1616), + 190: uint16(561), + 191: uint16(134), + 192: uint16(134), + 193: uint16(134), + 194: uint16(134), + 195: uint16(127), + 196: uint16(400), + 197: uint16(243), + 198: uint16(132), + 199: uint16(132), + 200: uint16(132), + 201: uint16(132), + 202: uint16(131), + 203: uint16(131), + 204: uint16(130), + 205: uint16(130), + 206: uint16(130), + 207: uint16(129), + 208: uint16(126), + 209: uint16(450), + 210: uint16(282), + 211: uint16(471), + 212: uint16(345), + 213: uint16(132), + 214: uint16(132), + 215: uint16(132), + 216: uint16(132), + 217: uint16(131), + 218: uint16(131), + 219: uint16(130), + 220: uint16(130), + 221: uint16(130), + 222: uint16(129), + 223: uint16(126), + 224: uint16(450), + 225: uint16(574), + 226: uint16(155), + 227: uint16(936), + 228: uint16(936), + 229: uint16(454), + 230: uint16(227), + 231: uint16(521), + 232: uint16(1236), + 233: uint16(412), + 234: uint16(1236), + 235: uint16(134), + 236: uint16(134), + 237: uint16(134), + 238: uint16(134), + 239: uint16(132), + 240: uint16(132), + 241: uint16(132), + 242: uint16(132), + 243: uint16(131), + 244: uint16(131), + 245: uint16(130), + 246: uint16(130), + 247: uint16(130), + 248: uint16(129), + 249: uint16(126), + 250: uint16(450), + 251: uint16(130), + 252: uint16(130), + 253: uint16(130), + 254: uint16(129), + 255: uint16(126), + 256: uint16(450), + 257: uint16(135), + 258: uint16(136), + 259: uint16(90), + 260: uint16(1228), + 261: uint16(1228), + 262: uint16(1063), + 263: uint16(1066), + 264: uint16(1053), + 265: uint16(1053), + 266: uint16(133), + 267: uint16(133), + 268: uint16(134), + 269: uint16(134), + 270: uint16(134), + 271: uint16(134), + 272: uint16(128), + 273: uint16(125), + 274: uint16(232), + 275: uint16(450), + 276: uint16(576), + 277: uint16(412), + 278: uint16(397), + 279: uint16(1249), + 280: uint16(180), + 281: uint16(92), + 282: uint16(93), + 283: uint16(132), + 284: uint16(132), + 285: uint16(132), + 286: uint16(132), + 287: uint16(131), + 288: uint16(131), + 289: uint16(130), + 290: uint16(130), + 291: uint16(130), + 292: uint16(129), + 293: uint16(126), + 294: uint16(450), + 295: uint16(381), + 296: uint16(387), + 297: uint16(1204), + 298: uint16(383), + 299: uint16(81), + 300: uint16(81), + 301: uint16(135), + 302: uint16(136), + 303: uint16(90), + 304: uint16(1228), + 305: uint16(1228), + 306: uint16(1063), + 307: uint16(1066), + 308: uint16(1053), + 309: uint16(1053), + 310: uint16(133), + 311: uint16(133), + 312: uint16(134), + 313: uint16(134), + 314: uint16(134), + 315: uint16(134), + 316: uint16(132), + 317: uint16(132), + 318: uint16(132), + 319: uint16(132), + 320: uint16(131), + 321: uint16(131), + 322: uint16(130), + 323: uint16(130), + 324: uint16(130), + 325: uint16(129), + 326: uint16(126), + 327: uint16(450), + 328: uint16(131), + 329: uint16(131), + 330: uint16(130), + 331: uint16(130), + 332: uint16(130), + 333: uint16(129), + 334: uint16(126), + 335: uint16(450), + 336: uint16(556), + 337: uint16(1204), + 338: uint16(302), + 339: uint16(319), + 340: uint16(567), + 341: uint16(121), + 342: uint16(568), + 343: uint16(480), 344: uint16(4), - 345: uint16(929), - 346: uint16(929), - 347: uint16(435), - 348: uint16(503), - 349: uint16(342), - 350: uint16(464), - 351: uint16(330), - 352: uint16(362), - 353: uint16(396), - 354: uint16(1238), - 355: uint16(1193), - 356: uint16(1194), - 357: uint16(1193), - 358: uint16(567), - 359: uint16(572), - 360: uint16(123), - 361: uint16(123), - 362: uint16(123), - 363: uint16(123), - 364: uint16(122), - 365: uint16(122), - 366: uint16(121), - 367: uint16(121), - 368: uint16(121), - 369: uint16(120), - 370: uint16(117), - 371: uint16(448), - 372: uint16(286), - 373: uint16(286), - 374: uint16(371), - 375: uint16(1581), - 376: uint16(1607), - 377: uint16(445), - 378: uint16(444), - 379: uint16(155), - 380: uint16(411), - 381: uint16(449), - 382: uint16(72), - 383: uint16(72), - 384: uint16(1289), - 385: uint16(569), - 386: uint16(1222), - 387: uint16(1193), - 388: uint16(1194), - 389: uint16(1193), - 390: uint16(86), - 391: uint16(1224), - 392: uint16(273), - 393: uint16(561), - 394: uint16(547), - 395: uint16(520), - 396: uint16(520), - 397: uint16(572), - 398: uint16(99), - 399: uint16(1223), - 400: uint16(6), - 401: uint16(1281), - 402: uint16(476), - 403: uint16(143), - 404: uint16(126), - 405: uint16(127), - 406: uint16(81), - 407: uint16(1217), - 408: uint16(1217), - 409: uint16(1054), - 410: uint16(1057), - 411: uint16(1044), - 412: uint16(1044), - 413: uint16(124), - 414: uint16(124), - 415: uint16(125), - 416: uint16(125), - 417: uint16(125), - 418: uint16(125), - 419: uint16(554), - 420: uint16(13), - 421: uint16(13), - 422: uint16(1031), - 423: uint16(511), - 424: uint16(1225), - 425: uint16(1193), - 426: uint16(1225), - 427: uint16(553), - 428: uint16(110), - 429: uint16(110), - 430: uint16(224), - 431: uint16(572), - 432: uint16(1239), - 433: uint16(177), - 434: uint16(572), - 435: uint16(429), - 436: uint16(111), - 437: uint16(199), - 438: uint16(449), - 439: uint16(573), - 440: uint16(449), - 441: uint16(432), - 442: uint16(1555), - 443: uint16(1019), - 444: uint16(327), - 445: uint16(555), - 446: uint16(1193), - 447: uint16(272), - 448: uint16(289), - 449: uint16(370), - 450: uint16(514), - 451: uint16(365), - 452: uint16(513), - 453: uint16(259), - 454: uint16(72), - 455: uint16(72), - 456: uint16(547), - 457: uint16(72), - 458: uint16(72), - 459: uint16(361), - 460: uint16(318), - 461: uint16(563), - 462: uint16(1613), - 463: uint16(123), - 464: uint16(123), - 465: uint16(123), - 466: uint16(123), - 467: uint16(122), - 468: uint16(122), - 469: uint16(121), - 470: uint16(121), - 471: uint16(121), - 472: uint16(120), - 473: uint16(117), - 474: uint16(448), - 475: uint16(1019), - 476: uint16(1019), - 477: uint16(1021), - 478: uint16(1022), - 479: uint16(28), - 480: uint16(286), - 481: uint16(286), - 482: uint16(1193), - 483: uint16(1194), - 484: uint16(1193), - 485: uint16(1159), - 486: uint16(572), - 487: uint16(1612), - 488: uint16(411), - 489: uint16(904), - 490: uint16(192), - 491: uint16(554), - 492: uint16(358), - 493: uint16(569), - 494: uint16(554), - 495: uint16(940), - 496: uint16(537), - 497: uint16(521), - 498: uint16(1159), - 499: uint16(437), - 500: uint16(415), - 501: uint16(1159), - 502: uint16(556), - 503: uint16(1193), - 504: uint16(1194), - 505: uint16(1193), - 506: uint16(572), - 507: uint16(548), - 508: uint16(548), - 509: uint16(52), - 510: uint16(52), - 511: uint16(216), - 512: uint16(126), - 513: uint16(127), - 514: uint16(81), - 515: uint16(1217), - 516: uint16(1217), - 517: uint16(1054), - 518: uint16(1057), - 519: uint16(1044), - 520: uint16(1044), - 521: uint16(124), - 522: uint16(124), - 523: uint16(125), - 524: uint16(125), - 525: uint16(125), - 526: uint16(125), - 527: uint16(1193), - 528: uint16(478), - 529: uint16(136), - 530: uint16(136), - 531: uint16(411), - 532: uint16(286), - 533: uint16(286), - 534: uint16(1493), - 535: uint16(509), - 536: uint16(122), - 537: uint16(122), - 538: uint16(121), - 539: uint16(121), - 540: uint16(121), - 541: uint16(120), - 542: uint16(117), - 543: uint16(448), - 544: uint16(1010), - 545: uint16(569), - 546: uint16(522), - 547: uint16(219), - 548: uint16(545), - 549: uint16(545), - 550: uint16(318), - 551: uint16(563), - 552: uint16(143), - 553: uint16(6), - 554: uint16(536), - 555: uint16(126), - 556: uint16(127), - 557: uint16(81), - 558: uint16(1217), - 559: uint16(1217), - 560: uint16(1054), - 561: uint16(1057), - 562: uint16(1044), - 563: uint16(1044), - 564: uint16(124), - 565: uint16(124), - 566: uint16(125), - 567: uint16(125), - 568: uint16(125), - 569: uint16(125), - 570: uint16(1557), - 571: uint16(123), - 572: uint16(123), - 573: uint16(123), - 574: uint16(123), - 575: uint16(122), - 576: uint16(122), - 577: uint16(121), - 578: uint16(121), - 579: uint16(121), - 580: uint16(120), - 581: uint16(117), - 582: uint16(448), - 583: uint16(489), - 584: uint16(1193), - 585: uint16(1194), - 586: uint16(1193), - 587: uint16(486), - 588: uint16(283), - 589: uint16(1270), - 590: uint16(960), - 591: uint16(254), - 592: uint16(1193), - 593: uint16(375), - 594: uint16(508), - 595: uint16(505), - 596: uint16(504), - 597: uint16(1193), - 598: uint16(342), - 599: uint16(574), - 600: uint16(1193), - 601: uint16(574), - 602: uint16(411), - 603: uint16(294), - 604: uint16(503), - 605: uint16(960), - 606: uint16(879), - 607: uint16(193), - 608: uint16(484), - 609: uint16(318), - 610: uint16(563), - 611: uint16(386), - 612: uint16(292), - 613: uint16(382), - 614: uint16(123), - 615: uint16(123), - 616: uint16(123), - 617: uint16(123), - 618: uint16(122), - 619: uint16(122), - 620: uint16(121), - 621: uint16(121), - 622: uint16(121), - 623: uint16(120), - 624: uint16(117), - 625: uint16(448), - 626: uint16(126), - 627: uint16(127), - 628: uint16(81), - 629: uint16(1217), - 630: uint16(1217), - 631: uint16(1054), - 632: uint16(1057), - 633: uint16(1044), - 634: uint16(1044), - 635: uint16(124), - 636: uint16(124), - 637: uint16(125), - 638: uint16(125), - 639: uint16(125), - 640: uint16(125), - 641: uint16(411), - 642: uint16(396), - 643: uint16(1139), - 644: uint16(1193), - 645: uint16(872), - 646: uint16(101), - 647: uint16(286), - 648: uint16(286), - 649: uint16(1193), - 650: uint16(1194), - 651: uint16(1193), - 652: uint16(375), - 653: uint16(1096), - 654: uint16(1193), - 655: uint16(1194), - 656: uint16(1193), - 657: uint16(1193), - 658: uint16(1194), - 659: uint16(1193), - 660: uint16(569), - 661: uint16(459), - 662: uint16(33), - 663: uint16(375), - 664: uint16(235), - 665: uint16(126), - 666: uint16(127), - 667: uint16(81), - 668: uint16(1217), - 669: uint16(1217), - 670: uint16(1054), - 671: uint16(1057), - 672: uint16(1044), - 673: uint16(1044), - 674: uint16(124), - 675: uint16(124), - 676: uint16(125), - 677: uint16(125), - 678: uint16(125), - 679: uint16(125), - 680: uint16(1437), - 681: uint16(962), - 682: uint16(572), - 683: uint16(230), - 684: uint16(961), - 685: uint16(123), - 686: uint16(123), - 687: uint16(123), - 688: uint16(123), - 689: uint16(122), - 690: uint16(122), - 691: uint16(121), - 692: uint16(121), - 693: uint16(121), - 694: uint16(120), - 695: uint16(117), - 696: uint16(448), - 697: uint16(1159), - 698: uint16(230), - 699: uint16(1193), - 700: uint16(158), - 701: uint16(1193), - 702: uint16(1194), - 703: uint16(1193), - 704: uint16(1556), - 705: uint16(13), - 706: uint16(13), - 707: uint16(303), - 708: uint16(960), - 709: uint16(1233), - 710: uint16(1159), - 711: uint16(154), - 712: uint16(411), - 713: uint16(1159), - 714: uint16(375), - 715: uint16(1584), - 716: uint16(1177), - 717: uint16(5), - 718: uint16(371), - 719: uint16(1581), - 720: uint16(431), - 721: uint16(1239), - 722: uint16(3), - 723: uint16(960), - 724: uint16(123), - 725: uint16(123), - 726: uint16(123), - 727: uint16(123), - 728: uint16(122), - 729: uint16(122), - 730: uint16(121), - 731: uint16(121), - 732: uint16(121), - 733: uint16(120), - 734: uint16(117), - 735: uint16(448), - 736: uint16(126), - 737: uint16(127), - 738: uint16(81), - 739: uint16(1217), - 740: uint16(1217), - 741: uint16(1054), - 742: uint16(1057), - 743: uint16(1044), - 744: uint16(1044), - 745: uint16(124), - 746: uint16(124), - 747: uint16(125), - 748: uint16(125), - 749: uint16(125), - 750: uint16(125), - 751: uint16(411), - 752: uint16(210), - 753: uint16(571), - 754: uint16(1193), - 755: uint16(1032), - 756: uint16(1193), - 757: uint16(1194), - 758: uint16(1193), - 759: uint16(1193), - 760: uint16(390), - 761: uint16(855), - 762: uint16(156), - 763: uint16(1555), - 764: uint16(376), - 765: uint16(404), - 766: uint16(1101), - 767: uint16(1101), - 768: uint16(492), - 769: uint16(572), - 770: uint16(469), - 771: uint16(344), - 772: uint16(1322), - 773: uint16(1322), - 774: uint16(1555), - 775: uint16(126), - 776: uint16(127), - 777: uint16(81), - 778: uint16(1217), - 779: uint16(1217), - 780: uint16(1054), - 781: uint16(1057), - 782: uint16(1044), - 783: uint16(1044), - 784: uint16(124), - 785: uint16(124), - 786: uint16(125), - 787: uint16(125), - 788: uint16(125), - 789: uint16(125), - 790: uint16(130), - 791: uint16(572), - 792: uint16(13), - 793: uint16(13), - 794: uint16(532), - 795: uint16(123), - 796: uint16(123), - 797: uint16(123), - 798: uint16(123), - 799: uint16(122), - 800: uint16(122), - 801: uint16(121), - 802: uint16(121), - 803: uint16(121), - 804: uint16(120), - 805: uint16(117), - 806: uint16(448), - 807: uint16(304), - 808: uint16(572), - 809: uint16(457), - 810: uint16(229), - 811: uint16(1193), - 812: uint16(1194), - 813: uint16(1193), - 814: uint16(13), - 815: uint16(13), - 816: uint16(1193), - 817: uint16(1194), - 818: uint16(1193), - 819: uint16(1300), - 820: uint16(467), - 821: uint16(1270), - 822: uint16(411), - 823: uint16(1320), - 824: uint16(1320), - 825: uint16(1555), - 826: uint16(1015), - 827: uint16(457), - 828: uint16(456), - 829: uint16(436), - 830: uint16(301), - 831: uint16(72), - 832: uint16(72), - 833: uint16(1268), - 834: uint16(123), - 835: uint16(123), - 836: uint16(123), - 837: uint16(123), - 838: uint16(122), - 839: uint16(122), - 840: uint16(121), - 841: uint16(121), - 842: uint16(121), - 843: uint16(120), - 844: uint16(117), - 845: uint16(448), - 846: uint16(126), - 847: uint16(127), - 848: uint16(81), - 849: uint16(1217), - 850: uint16(1217), - 851: uint16(1054), - 852: uint16(1057), - 853: uint16(1044), - 854: uint16(1044), - 855: uint16(124), - 856: uint16(124), - 857: uint16(125), - 858: uint16(125), - 859: uint16(125), - 860: uint16(125), - 861: uint16(411), - 862: uint16(384), - 863: uint16(1076), - 864: uint16(1159), - 865: uint16(286), - 866: uint16(286), - 867: uint16(421), - 868: uint16(314), - 869: uint16(280), - 870: uint16(280), - 871: uint16(287), - 872: uint16(287), - 873: uint16(461), - 874: uint16(408), - 875: uint16(407), - 876: uint16(1539), - 877: uint16(1159), - 878: uint16(569), - 879: uint16(572), - 880: uint16(1159), - 881: uint16(1196), - 882: uint16(569), - 883: uint16(409), - 884: uint16(569), - 885: uint16(126), - 886: uint16(127), - 887: uint16(81), - 888: uint16(1217), - 889: uint16(1217), - 890: uint16(1054), - 891: uint16(1057), - 892: uint16(1044), - 893: uint16(1044), - 894: uint16(124), - 895: uint16(124), - 896: uint16(125), - 897: uint16(125), - 898: uint16(125), - 899: uint16(125), - 900: uint16(457), - 901: uint16(1485), - 902: uint16(13), - 903: uint16(13), - 904: uint16(1541), - 905: uint16(123), - 906: uint16(123), - 907: uint16(123), - 908: uint16(123), - 909: uint16(122), - 910: uint16(122), - 911: uint16(121), - 912: uint16(121), - 913: uint16(121), - 914: uint16(120), - 915: uint16(117), - 916: uint16(448), - 917: uint16(202), - 918: uint16(572), - 919: uint16(462), - 920: uint16(1587), - 921: uint16(578), - 922: uint16(2), - 923: uint16(1248), - 924: uint16(843), - 925: uint16(844), - 926: uint16(845), - 927: uint16(1563), - 928: uint16(319), - 929: uint16(409), - 930: uint16(147), - 931: uint16(6), - 932: uint16(411), - 933: uint16(257), - 934: uint16(256), - 935: uint16(255), - 936: uint16(208), - 937: uint16(1330), - 938: uint16(9), - 939: uint16(1196), - 940: uint16(264), - 941: uint16(72), - 942: uint16(72), - 943: uint16(1436), - 944: uint16(123), - 945: uint16(123), - 946: uint16(123), - 947: uint16(123), - 948: uint16(122), - 949: uint16(122), - 950: uint16(121), - 951: uint16(121), - 952: uint16(121), - 953: uint16(120), - 954: uint16(117), - 955: uint16(448), - 956: uint16(126), - 957: uint16(127), - 958: uint16(81), - 959: uint16(1217), - 960: uint16(1217), - 961: uint16(1054), - 962: uint16(1057), - 963: uint16(1044), - 964: uint16(1044), - 965: uint16(124), - 966: uint16(124), - 967: uint16(125), - 968: uint16(125), - 969: uint16(125), - 970: uint16(125), - 971: uint16(572), - 972: uint16(286), - 973: uint16(286), - 974: uint16(572), - 975: uint16(1213), - 976: uint16(411), - 977: uint16(577), - 978: uint16(315), - 979: uint16(1248), - 980: uint16(421), - 981: uint16(371), - 982: uint16(1581), - 983: uint16(356), - 984: uint16(319), - 985: uint16(569), - 986: uint16(147), - 987: uint16(495), - 988: uint16(529), - 989: uint16(1644), - 990: uint16(397), - 991: uint16(935), - 992: uint16(495), - 993: uint16(1330), - 994: uint16(71), - 995: uint16(71), - 996: uint16(934), - 997: uint16(72), - 998: uint16(72), - 999: uint16(242), - 1000: uint16(1328), - 1001: uint16(105), - 1002: uint16(81), - 1003: uint16(1217), - 1004: uint16(1217), - 1005: uint16(1054), - 1006: uint16(1057), - 1007: uint16(1044), - 1008: uint16(1044), - 1009: uint16(124), - 1010: uint16(124), - 1011: uint16(125), - 1012: uint16(125), - 1013: uint16(125), - 1014: uint16(125), - 1015: uint16(123), - 1016: uint16(123), - 1017: uint16(123), - 1018: uint16(123), - 1019: uint16(122), - 1020: uint16(122), - 1021: uint16(121), - 1022: uint16(121), - 1023: uint16(121), - 1024: uint16(120), - 1025: uint16(117), - 1026: uint16(448), - 1027: uint16(1117), - 1028: uint16(286), - 1029: uint16(286), - 1030: uint16(1422), - 1031: uint16(452), - 1032: uint16(1528), - 1033: uint16(1213), - 1034: uint16(443), - 1035: uint16(286), - 1036: uint16(286), - 1037: uint16(1492), - 1038: uint16(1355), - 1039: uint16(313), - 1040: uint16(478), - 1041: uint16(569), - 1042: uint16(1118), - 1043: uint16(454), - 1044: uint16(351), - 1045: uint16(495), - 1046: uint16(354), - 1047: uint16(1266), - 1048: uint16(569), - 1049: uint16(209), - 1050: uint16(572), - 1051: uint16(418), - 1052: uint16(179), - 1053: uint16(572), - 1054: uint16(1031), - 1055: uint16(242), - 1056: uint16(385), - 1057: uint16(1119), - 1058: uint16(523), - 1059: uint16(123), - 1060: uint16(123), - 1061: uint16(123), - 1062: uint16(123), - 1063: uint16(122), - 1064: uint16(122), - 1065: uint16(121), - 1066: uint16(121), - 1067: uint16(121), - 1068: uint16(120), - 1069: uint16(117), - 1070: uint16(448), - 1071: uint16(1020), - 1072: uint16(108), - 1073: uint16(72), - 1074: uint16(72), - 1075: uint16(1019), - 1076: uint16(13), - 1077: uint16(13), - 1078: uint16(915), - 1079: uint16(572), - 1080: uint16(1498), - 1081: uint16(572), - 1082: uint16(286), - 1083: uint16(286), - 1084: uint16(98), - 1085: uint16(530), - 1086: uint16(1537), - 1087: uint16(452), - 1088: uint16(916), - 1089: uint16(1334), - 1090: uint16(1329), - 1091: uint16(203), - 1092: uint16(411), - 1093: uint16(286), - 1094: uint16(286), - 1095: uint16(569), - 1096: uint16(152), - 1097: uint16(211), - 1098: uint16(1498), - 1099: uint16(1500), - 1100: uint16(426), - 1101: uint16(569), - 1102: uint16(56), - 1103: uint16(56), - 1104: uint16(57), - 1105: uint16(57), - 1106: uint16(569), - 1107: uint16(1019), - 1108: uint16(1019), - 1109: uint16(1021), - 1110: uint16(447), - 1111: uint16(572), - 1112: uint16(411), - 1113: uint16(531), - 1114: uint16(12), - 1115: uint16(297), - 1116: uint16(126), - 1117: uint16(127), - 1118: uint16(81), - 1119: uint16(1217), - 1120: uint16(1217), - 1121: uint16(1054), - 1122: uint16(1057), - 1123: uint16(1044), - 1124: uint16(1044), - 1125: uint16(124), - 1126: uint16(124), - 1127: uint16(125), - 1128: uint16(125), - 1129: uint16(125), - 1130: uint16(125), - 1131: uint16(572), - 1132: uint16(411), - 1133: uint16(867), - 1134: uint16(15), - 1135: uint16(15), - 1136: uint16(126), - 1137: uint16(127), - 1138: uint16(81), - 1139: uint16(1217), - 1140: uint16(1217), - 1141: uint16(1054), - 1142: uint16(1057), - 1143: uint16(1044), - 1144: uint16(1044), - 1145: uint16(124), - 1146: uint16(124), - 1147: uint16(125), - 1148: uint16(125), - 1149: uint16(125), - 1150: uint16(125), - 1151: uint16(373), - 1152: uint16(529), - 1153: uint16(264), - 1154: uint16(44), - 1155: uint16(44), - 1156: uint16(126), - 1157: uint16(115), - 1158: uint16(81), - 1159: uint16(1217), - 1160: uint16(1217), - 1161: uint16(1054), - 1162: uint16(1057), - 1163: uint16(1044), - 1164: uint16(1044), - 1165: uint16(124), - 1166: uint16(124), - 1167: uint16(125), - 1168: uint16(125), - 1169: uint16(125), - 1170: uint16(125), - 1171: uint16(1498), - 1172: uint16(478), - 1173: uint16(1271), - 1174: uint16(417), - 1175: uint16(123), - 1176: uint16(123), - 1177: uint16(123), - 1178: uint16(123), - 1179: uint16(122), - 1180: uint16(122), - 1181: uint16(121), - 1182: uint16(121), - 1183: uint16(121), - 1184: uint16(120), - 1185: uint16(117), - 1186: uint16(448), - 1187: uint16(205), - 1188: uint16(1213), - 1189: uint16(495), - 1190: uint16(430), - 1191: uint16(867), - 1192: uint16(468), - 1193: uint16(322), - 1194: uint16(495), - 1195: uint16(123), - 1196: uint16(123), - 1197: uint16(123), - 1198: uint16(123), - 1199: uint16(122), - 1200: uint16(122), - 1201: uint16(121), - 1202: uint16(121), - 1203: uint16(121), - 1204: uint16(120), - 1205: uint16(117), - 1206: uint16(448), - 1207: uint16(572), - 1208: uint16(557), - 1209: uint16(1140), - 1210: uint16(1642), - 1211: uint16(1422), - 1212: uint16(1642), - 1213: uint16(543), - 1214: uint16(572), - 1215: uint16(123), - 1216: uint16(123), - 1217: uint16(123), - 1218: uint16(123), - 1219: uint16(122), - 1220: uint16(122), - 1221: uint16(121), - 1222: uint16(121), - 1223: uint16(121), - 1224: uint16(120), - 1225: uint16(117), - 1226: uint16(448), - 1227: uint16(572), - 1228: uint16(1422), - 1229: uint16(572), - 1230: uint16(13), - 1231: uint16(13), - 1232: uint16(542), - 1233: uint16(323), - 1234: uint16(1325), - 1235: uint16(411), - 1236: uint16(334), - 1237: uint16(58), - 1238: uint16(58), - 1239: uint16(349), - 1240: uint16(1422), - 1241: uint16(1170), - 1242: uint16(326), - 1243: uint16(286), - 1244: uint16(286), - 1245: uint16(549), - 1246: uint16(1213), - 1247: uint16(300), - 1248: uint16(895), - 1249: uint16(530), - 1250: uint16(45), - 1251: uint16(45), - 1252: uint16(59), - 1253: uint16(59), - 1254: uint16(1140), - 1255: uint16(1643), - 1256: uint16(569), - 1257: uint16(1643), - 1258: uint16(565), - 1259: uint16(417), - 1260: uint16(127), - 1261: uint16(81), - 1262: uint16(1217), - 1263: uint16(1217), - 1264: uint16(1054), - 1265: uint16(1057), - 1266: uint16(1044), - 1267: uint16(1044), - 1268: uint16(124), - 1269: uint16(124), - 1270: uint16(125), - 1271: uint16(125), - 1272: uint16(125), - 1273: uint16(125), - 1274: uint16(1367), - 1275: uint16(373), - 1276: uint16(500), - 1277: uint16(290), - 1278: uint16(1193), - 1279: uint16(512), - 1280: uint16(1366), - 1281: uint16(427), - 1282: uint16(394), - 1283: uint16(394), - 1284: uint16(393), - 1285: uint16(275), - 1286: uint16(391), - 1287: uint16(896), - 1288: uint16(1138), - 1289: uint16(852), - 1290: uint16(478), - 1291: uint16(258), - 1292: uint16(1422), - 1293: uint16(1170), - 1294: uint16(463), - 1295: uint16(1159), - 1296: uint16(12), - 1297: uint16(331), - 1298: uint16(428), - 1299: uint16(333), - 1300: uint16(1117), - 1301: uint16(460), - 1302: uint16(236), - 1303: uint16(258), - 1304: uint16(325), - 1305: uint16(460), - 1306: uint16(544), - 1307: uint16(1544), - 1308: uint16(1159), - 1309: uint16(1098), - 1310: uint16(491), - 1311: uint16(1159), - 1312: uint16(324), - 1313: uint16(1098), - 1314: uint16(440), - 1315: uint16(1118), - 1316: uint16(335), - 1317: uint16(516), - 1318: uint16(123), - 1319: uint16(123), - 1320: uint16(123), - 1321: uint16(123), - 1322: uint16(122), - 1323: uint16(122), - 1324: uint16(121), - 1325: uint16(121), - 1326: uint16(121), - 1327: uint16(120), - 1328: uint16(117), - 1329: uint16(448), - 1330: uint16(1119), - 1331: uint16(318), - 1332: uint16(563), - 1333: uint16(1138), - 1334: uint16(572), - 1335: uint16(1193), - 1336: uint16(1194), - 1337: uint16(1193), - 1338: uint16(112), - 1339: uint16(564), - 1340: uint16(201), + 345: uint16(555), + 346: uint16(1149), + 347: uint16(1657), + 348: uint16(1628), + 349: uint16(1657), + 350: uint16(45), + 351: uint16(128), + 352: uint16(125), + 353: uint16(232), + 354: uint16(1204), + 355: uint16(1205), + 356: uint16(1204), + 357: uint16(1250), + 358: uint16(571), + 359: uint16(1169), + 360: uint16(132), + 361: uint16(132), + 362: uint16(132), + 363: uint16(132), + 364: uint16(131), + 365: uint16(131), + 366: uint16(130), + 367: uint16(130), + 368: uint16(130), + 369: uint16(129), + 370: uint16(126), + 371: uint16(450), + 372: uint16(1169), + 373: uint16(287), + 374: uint16(287), + 375: uint16(1169), + 376: uint16(1019), + 377: uint16(576), + 378: uint16(422), + 379: uint16(1019), + 380: uint16(412), + 381: uint16(451), + 382: uint16(1602), + 383: uint16(582), + 384: uint16(2), + 385: uint16(1259), + 386: uint16(573), + 387: uint16(44), + 388: uint16(561), + 389: uint16(95), + 390: uint16(320), + 391: uint16(110), + 392: uint16(153), + 393: uint16(565), + 394: uint16(1204), + 395: uint16(1205), + 396: uint16(1204), + 397: uint16(522), + 398: uint16(522), + 399: uint16(1341), + 400: uint16(81), + 401: uint16(81), + 402: uint16(7), + 403: uint16(44), + 404: uint16(135), + 405: uint16(136), + 406: uint16(90), + 407: uint16(1228), + 408: uint16(1228), + 409: uint16(1063), + 410: uint16(1066), + 411: uint16(1053), + 412: uint16(1053), + 413: uint16(133), + 414: uint16(133), + 415: uint16(134), + 416: uint16(134), + 417: uint16(134), + 418: uint16(134), + 419: uint16(295), + 420: uint16(1149), + 421: uint16(1658), + 422: uint16(1040), + 423: uint16(1658), + 424: uint16(1204), + 425: uint16(1147), + 426: uint16(319), + 427: uint16(567), + 428: uint16(119), + 429: uint16(119), + 430: uint16(343), + 431: uint16(466), + 432: uint16(331), + 433: uint16(343), + 434: uint16(287), + 435: uint16(287), + 436: uint16(120), + 437: uint16(556), + 438: uint16(451), + 439: uint16(577), + 440: uint16(451), + 441: uint16(1169), + 442: uint16(1169), + 443: uint16(1028), + 444: uint16(319), + 445: uint16(567), + 446: uint16(438), + 447: uint16(573), + 448: uint16(210), + 449: uint16(561), + 450: uint16(1339), + 451: uint16(1451), + 452: uint16(546), + 453: uint16(531), + 454: uint16(1169), + 455: uint16(1169), + 456: uint16(1598), + 457: uint16(1169), + 458: uint16(1169), + 459: uint16(416), + 460: uint16(319), + 461: uint16(567), + 462: uint16(243), + 463: uint16(132), + 464: uint16(132), + 465: uint16(132), + 466: uint16(132), + 467: uint16(131), + 468: uint16(131), + 469: uint16(130), + 470: uint16(130), + 471: uint16(130), + 472: uint16(129), + 473: uint16(126), + 474: uint16(450), + 475: uint16(1028), + 476: uint16(1028), + 477: uint16(1030), + 478: uint16(1031), + 479: uint16(35), + 480: uint16(44), + 481: uint16(1204), + 482: uint16(1205), + 483: uint16(1204), + 484: uint16(472), + 485: uint16(287), + 486: uint16(287), + 487: uint16(1328), + 488: uint16(412), + 489: uint16(1307), + 490: uint16(372), + 491: uint16(1595), + 492: uint16(359), + 493: uint16(225), + 494: uint16(454), + 495: uint16(1204), + 496: uint16(195), + 497: uint16(1328), + 498: uint16(573), + 499: uint16(1147), + 500: uint16(561), + 501: uint16(1333), + 502: uint16(1333), + 503: uint16(274), + 504: uint16(576), + 505: uint16(1188), + 506: uint16(576), + 507: uint16(340), + 508: uint16(46), + 509: uint16(196), + 510: uint16(537), + 511: uint16(217), + 512: uint16(135), + 513: uint16(136), + 514: uint16(90), + 515: uint16(1228), + 516: uint16(1228), + 517: uint16(1063), + 518: uint16(1066), + 519: uint16(1053), + 520: uint16(1053), + 521: uint16(133), + 522: uint16(133), + 523: uint16(134), + 524: uint16(134), + 525: uint16(134), + 526: uint16(134), + 527: uint16(19), + 528: uint16(19), + 529: uint16(19), + 530: uint16(19), + 531: uint16(412), + 532: uint16(581), + 533: uint16(1204), + 534: uint16(1259), + 535: uint16(511), + 536: uint16(1204), + 537: uint16(319), + 538: uint16(567), + 539: uint16(320), + 540: uint16(944), + 541: uint16(153), + 542: uint16(425), + 543: uint16(491), + 544: uint16(430), + 545: uint16(943), + 546: uint16(1204), + 547: uint16(488), + 548: uint16(1341), + 549: uint16(1450), + 550: uint16(532), + 551: uint16(1277), + 552: uint16(1204), + 553: uint16(1205), + 554: uint16(1204), + 555: uint16(135), + 556: uint16(136), + 557: uint16(90), + 558: uint16(1228), + 559: uint16(1228), + 560: uint16(1063), + 561: uint16(1066), + 562: uint16(1053), + 563: uint16(1053), + 564: uint16(133), + 565: uint16(133), + 566: uint16(134), + 567: uint16(134), + 568: uint16(134), + 569: uint16(134), + 570: uint16(575), + 571: uint16(132), + 572: uint16(132), + 573: uint16(132), + 574: uint16(132), + 575: uint16(131), + 576: uint16(131), + 577: uint16(130), + 578: uint16(130), + 579: uint16(130), + 580: uint16(129), + 581: uint16(126), + 582: uint16(450), + 583: uint16(287), + 584: uint16(287), + 585: uint16(528), + 586: uint16(287), + 587: uint16(287), + 588: uint16(372), + 589: uint16(1595), + 590: uint16(1204), + 591: uint16(1205), + 592: uint16(1204), + 593: uint16(1204), + 594: uint16(1205), + 595: uint16(1204), + 596: uint16(573), + 597: uint16(486), + 598: uint16(561), + 599: uint16(573), + 600: uint16(889), + 601: uint16(561), + 602: uint16(412), + 603: uint16(1204), + 604: uint16(1205), + 605: uint16(1204), + 606: uint16(886), + 607: uint16(40), + 608: uint16(22), + 609: uint16(22), + 610: uint16(220), + 611: uint16(243), + 612: uint16(525), + 613: uint16(1449), + 614: uint16(132), + 615: uint16(132), + 616: uint16(132), + 617: uint16(132), + 618: uint16(131), + 619: uint16(131), + 620: uint16(130), + 621: uint16(130), + 622: uint16(130), + 623: uint16(129), + 624: uint16(126), + 625: uint16(450), + 626: uint16(135), + 627: uint16(136), + 628: uint16(90), + 629: uint16(1228), + 630: uint16(1228), + 631: uint16(1063), + 632: uint16(1066), + 633: uint16(1053), + 634: uint16(1053), + 635: uint16(133), + 636: uint16(133), + 637: uint16(134), + 638: uint16(134), + 639: uint16(134), + 640: uint16(134), + 641: uint16(412), + 642: uint16(180), + 643: uint16(454), + 644: uint16(1204), + 645: uint16(879), + 646: uint16(255), + 647: uint16(287), + 648: uint16(287), + 649: uint16(510), + 650: uint16(507), + 651: uint16(506), + 652: uint16(372), + 653: uint16(1595), + 654: uint16(1568), + 655: uint16(1331), + 656: uint16(1331), + 657: uint16(576), + 658: uint16(889), + 659: uint16(505), + 660: uint16(573), + 661: uint16(44), + 662: uint16(561), + 663: uint16(559), + 664: uint16(1207), + 665: uint16(135), + 666: uint16(136), + 667: uint16(90), + 668: uint16(1228), + 669: uint16(1228), + 670: uint16(1063), + 671: uint16(1066), + 672: uint16(1053), + 673: uint16(1053), + 674: uint16(133), + 675: uint16(133), + 676: uint16(134), + 677: uint16(134), + 678: uint16(134), + 679: uint16(134), + 680: uint16(81), + 681: uint16(81), + 682: uint16(422), + 683: uint16(576), + 684: uint16(377), + 685: uint16(132), + 686: uint16(132), + 687: uint16(132), + 688: uint16(132), + 689: uint16(131), + 690: uint16(131), + 691: uint16(130), + 692: uint16(130), + 693: uint16(130), + 694: uint16(129), + 695: uint16(126), + 696: uint16(450), + 697: uint16(297), + 698: uint16(287), + 699: uint16(287), + 700: uint16(460), + 701: uint16(1204), + 702: uint16(1205), + 703: uint16(1204), + 704: uint16(1204), + 705: uint16(534), + 706: uint16(19), + 707: uint16(19), + 708: uint16(448), + 709: uint16(448), + 710: uint16(448), + 711: uint16(573), + 712: uint16(412), + 713: uint16(561), + 714: uint16(230), + 715: uint16(436), + 716: uint16(1187), + 717: uint16(535), + 718: uint16(319), + 719: uint16(567), + 720: uint16(363), + 721: uint16(432), + 722: uint16(1207), + 723: uint16(1435), + 724: uint16(132), + 725: uint16(132), + 726: uint16(132), + 727: uint16(132), + 728: uint16(131), + 729: uint16(131), + 730: uint16(130), + 731: uint16(130), + 732: uint16(130), + 733: uint16(129), + 734: uint16(126), + 735: uint16(450), + 736: uint16(135), + 737: uint16(136), + 738: uint16(90), + 739: uint16(1228), + 740: uint16(1228), + 741: uint16(1063), + 742: uint16(1066), + 743: uint16(1053), + 744: uint16(1053), + 745: uint16(133), + 746: uint16(133), + 747: uint16(134), + 748: uint16(134), + 749: uint16(134), + 750: uint16(134), + 751: uint16(412), + 752: uint16(211), + 753: uint16(949), + 754: uint16(1169), + 755: uint16(1041), + 756: uint16(1110), + 757: uint16(1110), + 758: uint16(494), + 759: uint16(547), + 760: uint16(547), + 761: uint16(1204), + 762: uint16(1205), + 763: uint16(1204), + 764: uint16(7), + 765: uint16(539), + 766: uint16(1570), + 767: uint16(1169), + 768: uint16(376), + 769: uint16(576), + 770: uint16(1169), + 771: uint16(5), + 772: uint16(1204), + 773: uint16(486), + 774: uint16(3), + 775: uint16(135), + 776: uint16(136), + 777: uint16(90), + 778: uint16(1228), + 779: uint16(1228), + 780: uint16(1063), + 781: uint16(1066), + 782: uint16(1053), + 783: uint16(1053), + 784: uint16(133), + 785: uint16(133), + 786: uint16(134), + 787: uint16(134), + 788: uint16(134), + 789: uint16(134), + 790: uint16(576), + 791: uint16(513), + 792: uint16(19), + 793: uint16(19), + 794: uint16(427), + 795: uint16(132), + 796: uint16(132), + 797: uint16(132), + 798: uint16(132), + 799: uint16(131), + 800: uint16(131), + 801: uint16(130), + 802: uint16(130), + 803: uint16(130), + 804: uint16(129), + 805: uint16(126), + 806: uint16(450), + 807: uint16(305), + 808: uint16(1204), + 809: uint16(433), + 810: uint16(225), + 811: uint16(1204), + 812: uint16(385), + 813: uint16(19), + 814: uint16(19), + 815: uint16(273), + 816: uint16(290), + 817: uint16(371), + 818: uint16(516), + 819: uint16(366), + 820: uint16(515), + 821: uint16(260), + 822: uint16(412), + 823: uint16(538), + 824: uint16(1568), + 825: uint16(549), + 826: uint16(1024), + 827: uint16(362), + 828: uint16(437), + 829: uint16(1204), + 830: uint16(1205), + 831: uint16(1204), + 832: uint16(902), + 833: uint16(1552), + 834: uint16(132), + 835: uint16(132), + 836: uint16(132), + 837: uint16(132), + 838: uint16(131), + 839: uint16(131), + 840: uint16(130), + 841: uint16(130), + 842: uint16(130), + 843: uint16(129), + 844: uint16(126), + 845: uint16(450), + 846: uint16(135), + 847: uint16(136), + 848: uint16(90), + 849: uint16(1228), + 850: uint16(1228), + 851: uint16(1063), + 852: uint16(1066), + 853: uint16(1053), + 854: uint16(1053), + 855: uint16(133), + 856: uint16(133), + 857: uint16(134), + 858: uint16(134), + 859: uint16(134), + 860: uint16(134), + 861: uint16(412), + 862: uint16(1435), + 863: uint16(514), + 864: uint16(1281), + 865: uint16(1204), + 866: uint16(1205), + 867: uint16(1204), + 868: uint16(1204), + 869: uint16(1205), + 870: uint16(1204), + 871: uint16(903), + 872: uint16(48), + 873: uint16(342), + 874: uint16(1568), + 875: uint16(1568), + 876: uint16(1279), + 877: uint16(1627), + 878: uint16(1568), + 879: uint16(911), + 880: uint16(576), + 881: uint16(129), + 882: uint16(126), + 883: uint16(450), + 884: uint16(110), + 885: uint16(135), + 886: uint16(136), + 887: uint16(90), + 888: uint16(1228), + 889: uint16(1228), + 890: uint16(1063), + 891: uint16(1066), + 892: uint16(1053), + 893: uint16(1053), + 894: uint16(133), + 895: uint16(133), + 896: uint16(134), + 897: uint16(134), + 898: uint16(134), + 899: uint16(134), + 900: uint16(265), + 901: uint16(576), + 902: uint16(459), + 903: uint16(19), + 904: uint16(19), + 905: uint16(132), + 906: uint16(132), + 907: uint16(132), + 908: uint16(132), + 909: uint16(131), + 910: uint16(131), + 911: uint16(130), + 912: uint16(130), + 913: uint16(130), + 914: uint16(129), + 915: uint16(126), + 916: uint16(450), + 917: uint16(1345), + 918: uint16(204), + 919: uint16(576), + 920: uint16(459), + 921: uint16(458), + 922: uint16(50), + 923: uint16(47), + 924: uint16(19), + 925: uint16(19), + 926: uint16(49), + 927: uint16(434), + 928: uint16(1105), + 929: uint16(573), + 930: uint16(497), + 931: uint16(561), + 932: uint16(412), + 933: uint16(428), + 934: uint16(108), + 935: uint16(1224), + 936: uint16(1569), + 937: uint16(1554), + 938: uint16(376), + 939: uint16(205), + 940: uint16(550), + 941: uint16(550), + 942: uint16(81), + 943: uint16(81), + 944: uint16(132), + 945: uint16(132), + 946: uint16(132), + 947: uint16(132), + 948: uint16(131), + 949: uint16(131), + 950: uint16(130), + 951: uint16(130), + 952: uint16(130), + 953: uint16(129), + 954: uint16(126), + 955: uint16(450), + 956: uint16(135), + 957: uint16(136), + 958: uint16(90), + 959: uint16(1228), + 960: uint16(1228), + 961: uint16(1063), + 962: uint16(1066), + 963: uint16(1053), + 964: uint16(1053), + 965: uint16(133), + 966: uint16(133), + 967: uint16(134), + 968: uint16(134), + 969: uint16(134), + 970: uint16(134), + 971: uint16(480), + 972: uint16(576), + 973: uint16(1204), + 974: uint16(576), + 975: uint16(1541), + 976: uint16(412), + 977: uint16(1435), + 978: uint16(969), + 979: uint16(315), + 980: uint16(1659), + 981: uint16(398), + 982: uint16(284), + 983: uint16(497), + 984: uint16(969), + 985: uint16(893), + 986: uint16(1569), + 987: uint16(1569), + 988: uint16(376), + 989: uint16(376), + 990: uint16(1569), + 991: uint16(461), + 992: uint16(376), + 993: uint16(1224), + 994: uint16(459), + 995: uint16(80), + 996: uint16(80), + 997: uint16(81), + 998: uint16(81), + 999: uint16(497), + 1000: uint16(374), + 1001: uint16(114), + 1002: uint16(90), + 1003: uint16(1228), + 1004: uint16(1228), + 1005: uint16(1063), + 1006: uint16(1066), + 1007: uint16(1053), + 1008: uint16(1053), + 1009: uint16(133), + 1010: uint16(133), + 1011: uint16(134), + 1012: uint16(134), + 1013: uint16(134), + 1014: uint16(134), + 1015: uint16(132), + 1016: uint16(132), + 1017: uint16(132), + 1018: uint16(132), + 1019: uint16(131), + 1020: uint16(131), + 1021: uint16(130), + 1022: uint16(130), + 1023: uint16(130), + 1024: uint16(129), + 1025: uint16(126), + 1026: uint16(450), + 1027: uint16(1204), + 1028: uint16(1505), + 1029: uint16(576), + 1030: uint16(1204), + 1031: uint16(1205), + 1032: uint16(1204), + 1033: uint16(1366), + 1034: uint16(316), + 1035: uint16(486), + 1036: uint16(281), + 1037: uint16(281), + 1038: uint16(497), + 1039: uint16(431), + 1040: uint16(557), + 1041: uint16(288), + 1042: uint16(288), + 1043: uint16(402), + 1044: uint16(1340), + 1045: uint16(471), + 1046: uint16(345), + 1047: uint16(298), + 1048: uint16(429), + 1049: uint16(573), + 1050: uint16(576), + 1051: uint16(561), + 1052: uint16(81), + 1053: uint16(81), + 1054: uint16(573), + 1055: uint16(374), + 1056: uint16(561), + 1057: uint16(971), + 1058: uint16(386), + 1059: uint16(132), + 1060: uint16(132), + 1061: uint16(132), + 1062: uint16(132), + 1063: uint16(131), + 1064: uint16(131), + 1065: uint16(130), + 1066: uint16(130), + 1067: uint16(130), + 1068: uint16(129), + 1069: uint16(126), + 1070: uint16(450), + 1071: uint16(231), + 1072: uint16(117), + 1073: uint16(81), + 1074: uint16(81), + 1075: uint16(287), + 1076: uint16(287), + 1077: uint16(231), + 1078: uint16(287), + 1079: uint16(287), + 1080: uint16(576), + 1081: uint16(1511), + 1082: uint16(576), + 1083: uint16(1336), + 1084: uint16(1204), + 1085: uint16(1205), + 1086: uint16(1204), + 1087: uint16(139), + 1088: uint16(573), + 1089: uint16(556), + 1090: uint16(561), + 1091: uint16(573), + 1092: uint16(412), + 1093: uint16(561), + 1094: uint16(441), + 1095: uint16(456), + 1096: uint16(969), + 1097: uint16(213), + 1098: uint16(558), + 1099: uint16(1511), + 1100: uint16(1513), + 1101: uint16(1550), + 1102: uint16(969), + 1103: uint16(143), + 1104: uint16(143), + 1105: uint16(145), + 1106: uint16(145), + 1107: uint16(1368), + 1108: uint16(314), + 1109: uint16(478), + 1110: uint16(444), + 1111: uint16(970), + 1112: uint16(412), + 1113: uint16(850), + 1114: uint16(851), + 1115: uint16(852), + 1116: uint16(135), + 1117: uint16(136), + 1118: uint16(90), + 1119: uint16(1228), + 1120: uint16(1228), + 1121: uint16(1063), + 1122: uint16(1066), + 1123: uint16(1053), + 1124: uint16(1053), + 1125: uint16(133), + 1126: uint16(133), + 1127: uint16(134), + 1128: uint16(134), + 1129: uint16(134), + 1130: uint16(134), + 1131: uint16(357), + 1132: uint16(412), + 1133: uint16(397), + 1134: uint16(1148), + 1135: uint16(304), + 1136: uint16(135), + 1137: uint16(136), + 1138: uint16(90), + 1139: uint16(1228), + 1140: uint16(1228), + 1141: uint16(1063), + 1142: uint16(1066), + 1143: uint16(1053), + 1144: uint16(1053), + 1145: uint16(133), + 1146: uint16(133), + 1147: uint16(134), + 1148: uint16(134), + 1149: uint16(134), + 1150: uint16(134), + 1151: uint16(1575), + 1152: uint16(323), + 1153: uint16(6), + 1154: uint16(862), + 1155: uint16(7), + 1156: uint16(135), + 1157: uint16(124), + 1158: uint16(90), + 1159: uint16(1228), + 1160: uint16(1228), + 1161: uint16(1063), + 1162: uint16(1066), + 1163: uint16(1053), + 1164: uint16(1053), + 1165: uint16(133), + 1166: uint16(133), + 1167: uint16(134), + 1168: uint16(134), + 1169: uint16(134), + 1170: uint16(134), + 1171: uint16(409), + 1172: uint16(408), + 1173: uint16(1511), + 1174: uint16(212), + 1175: uint16(132), + 1176: uint16(132), + 1177: uint16(132), + 1178: uint16(132), + 1179: uint16(131), + 1180: uint16(131), + 1181: uint16(130), + 1182: uint16(130), + 1183: uint16(130), + 1184: uint16(129), + 1185: uint16(126), + 1186: uint16(450), + 1187: uint16(411), + 1188: uint16(118), + 1189: uint16(1204), + 1190: uint16(116), + 1191: uint16(10), + 1192: uint16(352), + 1193: uint16(265), + 1194: uint16(355), + 1195: uint16(132), + 1196: uint16(132), + 1197: uint16(132), + 1198: uint16(132), + 1199: uint16(131), + 1200: uint16(131), + 1201: uint16(130), + 1202: uint16(130), + 1203: uint16(130), + 1204: uint16(129), + 1205: uint16(126), + 1206: uint16(450), + 1207: uint16(576), + 1208: uint16(324), + 1209: uint16(306), + 1210: uint16(576), + 1211: uint16(306), + 1212: uint16(1250), + 1213: uint16(469), + 1214: uint16(158), + 1215: uint16(132), + 1216: uint16(132), + 1217: uint16(132), + 1218: uint16(132), + 1219: uint16(131), + 1220: uint16(131), + 1221: uint16(130), + 1222: uint16(130), + 1223: uint16(130), + 1224: uint16(129), + 1225: uint16(126), + 1226: uint16(450), + 1227: uint16(207), + 1228: uint16(1224), + 1229: uint16(1126), + 1230: uint16(65), + 1231: uint16(65), + 1232: uint16(470), + 1233: uint16(66), + 1234: uint16(66), + 1235: uint16(412), + 1236: uint16(447), + 1237: uint16(446), + 1238: uint16(882), + 1239: uint16(531), + 1240: uint16(335), + 1241: uint16(258), + 1242: uint16(257), + 1243: uint16(256), + 1244: uint16(1127), + 1245: uint16(1233), + 1246: uint16(1204), + 1247: uint16(1205), + 1248: uint16(1204), + 1249: uint16(327), + 1250: uint16(1235), + 1251: uint16(874), + 1252: uint16(159), + 1253: uint16(576), + 1254: uint16(16), + 1255: uint16(480), + 1256: uint16(1085), + 1257: uint16(1040), + 1258: uint16(1234), + 1259: uint16(1128), + 1260: uint16(136), + 1261: uint16(90), + 1262: uint16(1228), + 1263: uint16(1228), + 1264: uint16(1063), + 1265: uint16(1066), + 1266: uint16(1053), + 1267: uint16(1053), + 1268: uint16(133), + 1269: uint16(133), + 1270: uint16(134), + 1271: uint16(134), + 1272: uint16(134), + 1273: uint16(134), + 1274: uint16(1029), + 1275: uint16(576), + 1276: uint16(81), + 1277: uint16(81), + 1278: uint16(1028), + 1279: uint16(1040), + 1280: uint16(922), + 1281: uint16(576), + 1282: uint16(463), + 1283: uint16(1236), + 1284: uint16(576), + 1285: uint16(1236), + 1286: uint16(1224), + 1287: uint16(502), + 1288: uint16(107), + 1289: uint16(1435), + 1290: uint16(923), + 1291: uint16(6), + 1292: uint16(576), + 1293: uint16(410), + 1294: uint16(1498), + 1295: uint16(882), + 1296: uint16(1029), + 1297: uint16(480), + 1298: uint16(21), + 1299: uint16(21), + 1300: uint16(1028), + 1301: uint16(332), + 1302: uint16(1380), + 1303: uint16(334), + 1304: uint16(53), + 1305: uint16(53), + 1306: uint16(497), + 1307: uint16(81), + 1308: uint16(81), + 1309: uint16(874), + 1310: uint16(1028), + 1311: uint16(1028), + 1312: uint16(1030), + 1313: uint16(445), + 1314: uint16(259), + 1315: uint16(19), + 1316: uint16(19), + 1317: uint16(533), + 1318: uint16(132), + 1319: uint16(132), + 1320: uint16(132), + 1321: uint16(132), + 1322: uint16(131), + 1323: uint16(131), + 1324: uint16(130), + 1325: uint16(130), + 1326: uint16(130), + 1327: uint16(129), + 1328: uint16(126), + 1329: uint16(450), + 1330: uint16(551), + 1331: uint16(301), + 1332: uint16(1028), + 1333: uint16(1028), + 1334: uint16(1030), + 1335: uint16(107), + 1336: uint16(532), + 1337: uint16(545), + 1338: uint16(121), + 1339: uint16(568), + 1340: uint16(1188), 1341: uint16(4), - 1342: uint16(238), - 1343: uint16(433), - 1344: uint16(935), - 1345: uint16(490), - 1346: uint16(285), - 1347: uint16(228), - 1348: uint16(1517), - 1349: uint16(934), - 1350: uint16(170), - 1351: uint16(560), - 1352: uint16(572), - 1353: uint16(142), - 1354: uint16(1516), - 1355: uint16(567), - 1356: uint16(572), - 1357: uint16(60), - 1358: uint16(60), - 1359: uint16(572), - 1360: uint16(416), - 1361: uint16(572), - 1362: uint16(441), - 1363: uint16(572), - 1364: uint16(535), - 1365: uint16(302), - 1366: uint16(875), - 1367: uint16(8), - 1368: uint16(487), - 1369: uint16(572), - 1370: uint16(237), - 1371: uint16(572), - 1372: uint16(416), - 1373: uint16(572), - 1374: uint16(485), - 1375: uint16(61), - 1376: uint16(61), - 1377: uint16(572), - 1378: uint16(449), - 1379: uint16(62), - 1380: uint16(62), - 1381: uint16(332), - 1382: uint16(63), - 1383: uint16(63), - 1384: uint16(46), - 1385: uint16(46), - 1386: uint16(47), - 1387: uint16(47), - 1388: uint16(361), - 1389: uint16(572), - 1390: uint16(561), - 1391: uint16(572), - 1392: uint16(48), - 1393: uint16(48), - 1394: uint16(50), - 1395: uint16(50), - 1396: uint16(51), - 1397: uint16(51), - 1398: uint16(572), - 1399: uint16(295), - 1400: uint16(64), - 1401: uint16(64), - 1402: uint16(482), - 1403: uint16(295), - 1404: uint16(539), - 1405: uint16(412), - 1406: uint16(471), - 1407: uint16(1031), - 1408: uint16(572), - 1409: uint16(538), - 1410: uint16(318), - 1411: uint16(563), - 1412: uint16(65), - 1413: uint16(65), - 1414: uint16(66), - 1415: uint16(66), - 1416: uint16(409), - 1417: uint16(475), - 1418: uint16(572), - 1419: uint16(1031), - 1420: uint16(572), - 1421: uint16(14), - 1422: uint16(14), - 1423: uint16(875), - 1424: uint16(1020), - 1425: uint16(110), - 1426: uint16(110), - 1427: uint16(409), - 1428: uint16(1019), - 1429: uint16(572), - 1430: uint16(474), - 1431: uint16(67), - 1432: uint16(67), - 1433: uint16(111), - 1434: uint16(455), - 1435: uint16(449), - 1436: uint16(573), - 1437: uint16(449), - 1438: uint16(98), - 1439: uint16(317), - 1440: uint16(1019), - 1441: uint16(132), - 1442: uint16(132), - 1443: uint16(133), - 1444: uint16(133), - 1445: uint16(572), - 1446: uint16(1561), - 1447: uint16(572), - 1448: uint16(974), - 1449: uint16(409), - 1450: uint16(6), - 1451: uint16(1562), - 1452: uint16(68), - 1453: uint16(68), - 1454: uint16(1560), - 1455: uint16(6), - 1456: uint16(975), - 1457: uint16(572), - 1458: uint16(6), - 1459: uint16(1559), - 1460: uint16(1019), - 1461: uint16(1019), - 1462: uint16(1021), - 1463: uint16(6), - 1464: uint16(346), - 1465: uint16(218), - 1466: uint16(101), - 1467: uint16(531), - 1468: uint16(53), - 1469: uint16(53), - 1470: uint16(69), - 1471: uint16(69), - 1472: uint16(1019), - 1473: uint16(1019), - 1474: uint16(1021), - 1475: uint16(1022), - 1476: uint16(28), - 1477: uint16(1586), - 1478: uint16(1181), - 1479: uint16(451), - 1480: uint16(70), - 1481: uint16(70), - 1482: uint16(290), - 1483: uint16(87), - 1484: uint16(215), - 1485: uint16(31), - 1486: uint16(1363), - 1487: uint16(394), - 1488: uint16(394), - 1489: uint16(393), - 1490: uint16(275), - 1491: uint16(391), - 1492: uint16(350), - 1493: uint16(109), - 1494: uint16(852), - 1495: uint16(107), - 1496: uint16(572), - 1497: uint16(112), - 1498: uint16(564), - 1499: uint16(483), - 1500: uint16(4), - 1501: uint16(1212), - 1502: uint16(572), - 1503: uint16(239), - 1504: uint16(153), - 1505: uint16(572), - 1506: uint16(39), - 1507: uint16(236), - 1508: uint16(1299), - 1509: uint16(325), - 1510: uint16(112), - 1511: uint16(564), - 1512: uint16(1298), - 1513: uint16(4), - 1514: uint16(567), - 1515: uint16(572), - 1516: uint16(32), - 1517: uint16(324), - 1518: uint16(572), - 1519: uint16(54), - 1520: uint16(54), - 1521: uint16(572), - 1522: uint16(1135), - 1523: uint16(353), - 1524: uint16(398), - 1525: uint16(165), - 1526: uint16(165), - 1527: uint16(567), - 1528: uint16(166), - 1529: uint16(166), - 1530: uint16(572), - 1531: uint16(291), - 1532: uint16(355), - 1533: uint16(572), - 1534: uint16(17), - 1535: uint16(357), - 1536: uint16(572), - 1537: uint16(449), - 1538: uint16(77), - 1539: uint16(77), - 1540: uint16(1313), - 1541: uint16(55), - 1542: uint16(55), - 1543: uint16(1297), - 1544: uint16(73), - 1545: uint16(73), - 1546: uint16(572), - 1547: uint16(238), - 1548: uint16(470), - 1549: uint16(561), - 1550: uint16(449), - 1551: uint16(472), - 1552: uint16(364), - 1553: uint16(135), - 1554: uint16(135), - 1555: uint16(170), - 1556: uint16(74), - 1557: uint16(74), - 1558: uint16(142), - 1559: uint16(163), - 1560: uint16(163), - 1561: uint16(374), - 1562: uint16(561), - 1563: uint16(539), - 1564: uint16(572), - 1565: uint16(321), - 1566: uint16(572), - 1567: uint16(886), - 1568: uint16(540), - 1569: uint16(137), - 1570: uint16(137), - 1571: uint16(339), - 1572: uint16(1353), - 1573: uint16(422), - 1574: uint16(298), - 1575: uint16(237), - 1576: uint16(539), - 1577: uint16(572), - 1578: uint16(1031), - 1579: uint16(572), - 1580: uint16(340), - 1581: uint16(538), - 1582: uint16(101), - 1583: uint16(369), - 1584: uint16(110), - 1585: uint16(110), - 1586: uint16(162), - 1587: uint16(131), - 1588: uint16(131), - 1589: uint16(164), - 1590: uint16(164), - 1591: uint16(1031), - 1592: uint16(111), - 1593: uint16(368), - 1594: uint16(449), - 1595: uint16(573), - 1596: uint16(449), + 1342: uint16(1126), + 1343: uint16(1576), + 1344: uint16(449), + 1345: uint16(576), + 1346: uint16(462), + 1347: uint16(7), + 1348: uint16(1282), + 1349: uint16(418), + 1350: uint16(462), + 1351: uint16(350), + 1352: uint16(1435), + 1353: uint16(576), + 1354: uint16(518), + 1355: uint16(571), + 1356: uint16(544), + 1357: uint16(1127), + 1358: uint16(121), + 1359: uint16(568), + 1360: uint16(442), + 1361: uint16(4), + 1362: uint16(1188), + 1363: uint16(464), + 1364: uint16(533), + 1365: uint16(1180), + 1366: uint16(1223), + 1367: uint16(9), + 1368: uint16(67), + 1369: uint16(67), + 1370: uint16(487), + 1371: uint16(576), + 1372: uint16(1128), + 1373: uint16(303), + 1374: uint16(410), + 1375: uint16(571), + 1376: uint16(54), + 1377: uint16(54), + 1378: uint16(451), + 1379: uint16(576), + 1380: uint16(123), + 1381: uint16(944), + 1382: uint16(576), + 1383: uint16(417), + 1384: uint16(576), + 1385: uint16(333), + 1386: uint16(943), + 1387: uint16(1379), + 1388: uint16(576), + 1389: uint16(236), + 1390: uint16(565), + 1391: uint16(576), + 1392: uint16(1574), + 1393: uint16(564), + 1394: uint16(68), + 1395: uint16(68), + 1396: uint16(7), + 1397: uint16(576), + 1398: uint16(451), + 1399: uint16(362), + 1400: uint16(419), + 1401: uint16(182), + 1402: uint16(69), + 1403: uint16(69), + 1404: uint16(541), + 1405: uint16(70), + 1406: uint16(70), + 1407: uint16(71), + 1408: uint16(71), + 1409: uint16(540), + 1410: uint16(565), + 1411: uint16(72), + 1412: uint16(72), + 1413: uint16(484), + 1414: uint16(55), + 1415: uint16(55), + 1416: uint16(473), + 1417: uint16(1180), + 1418: uint16(296), + 1419: uint16(1040), + 1420: uint16(56), + 1421: uint16(56), + 1422: uint16(296), + 1423: uint16(493), + 1424: uint16(541), + 1425: uint16(119), + 1426: uint16(119), + 1427: uint16(410), + 1428: uint16(1573), + 1429: uint16(542), + 1430: uint16(569), + 1431: uint16(418), + 1432: uint16(7), + 1433: uint16(120), + 1434: uint16(1244), + 1435: uint16(451), + 1436: uint16(577), + 1437: uint16(451), + 1438: uint16(465), + 1439: uint16(1040), + 1440: uint16(1028), + 1441: uint16(576), + 1442: uint16(1557), + 1443: uint16(552), + 1444: uint16(476), + 1445: uint16(119), + 1446: uint16(119), + 1447: uint16(527), + 1448: uint16(259), + 1449: uint16(121), + 1450: uint16(568), + 1451: uint16(240), + 1452: uint16(4), + 1453: uint16(120), + 1454: uint16(576), + 1455: uint16(451), + 1456: uint16(577), + 1457: uint16(451), + 1458: uint16(576), + 1459: uint16(477), + 1460: uint16(1028), + 1461: uint16(576), + 1462: uint16(156), + 1463: uint16(576), + 1464: uint16(57), + 1465: uint16(57), + 1466: uint16(571), + 1467: uint16(576), + 1468: uint16(286), + 1469: uint16(229), + 1470: uint16(410), + 1471: uint16(336), + 1472: uint16(1028), + 1473: uint16(1028), + 1474: uint16(1030), + 1475: uint16(1031), + 1476: uint16(35), + 1477: uint16(59), + 1478: uint16(59), + 1479: uint16(219), + 1480: uint16(983), + 1481: uint16(60), + 1482: uint16(60), + 1483: uint16(220), + 1484: uint16(73), + 1485: uint16(73), + 1486: uint16(74), + 1487: uint16(74), + 1488: uint16(984), + 1489: uint16(451), + 1490: uint16(75), + 1491: uint16(75), + 1492: uint16(1028), + 1493: uint16(1028), + 1494: uint16(1030), + 1495: uint16(1031), + 1496: uint16(35), + 1497: uint16(96), + 1498: uint16(216), + 1499: uint16(291), + 1500: uint16(552), + 1501: uint16(565), + 1502: uint16(1188), + 1503: uint16(318), + 1504: uint16(395), + 1505: uint16(395), + 1506: uint16(394), + 1507: uint16(276), + 1508: uint16(392), + 1509: uint16(576), + 1510: uint16(485), + 1511: uint16(859), + 1512: uint16(474), + 1513: uint16(1311), + 1514: uint16(410), + 1515: uint16(541), + 1516: uint16(576), + 1517: uint16(417), + 1518: uint16(1530), + 1519: uint16(1144), + 1520: uint16(540), + 1521: uint16(399), + 1522: uint16(1188), + 1523: uint16(292), + 1524: uint16(237), + 1525: uint16(1153), + 1526: uint16(326), + 1527: uint16(38), + 1528: uint16(23), + 1529: uint16(576), + 1530: uint16(1040), + 1531: uint16(576), + 1532: uint16(20), + 1533: uint16(20), + 1534: uint16(325), + 1535: uint16(299), + 1536: uint16(119), + 1537: uint16(119), + 1538: uint16(164), + 1539: uint16(76), + 1540: uint16(76), + 1541: uint16(1529), + 1542: uint16(121), + 1543: uint16(568), + 1544: uint16(120), + 1545: uint16(4), + 1546: uint16(451), + 1547: uint16(577), + 1548: uint16(451), + 1549: uint16(203), + 1550: uint16(576), + 1551: uint16(1028), + 1552: uint16(141), + 1553: uint16(141), + 1554: uint16(142), + 1555: uint16(142), + 1556: uint16(576), + 1557: uint16(322), + 1558: uint16(39), + 1559: uint16(571), + 1560: uint16(341), + 1561: uint16(1021), + 1562: uint16(110), + 1563: uint16(264), + 1564: uint16(239), + 1565: uint16(901), + 1566: uint16(900), + 1567: uint16(423), + 1568: uint16(242), + 1569: uint16(908), + 1570: uint16(909), + 1571: uint16(370), + 1572: uint16(173), + 1573: uint16(77), + 1574: uint16(77), + 1575: uint16(43), + 1576: uint16(479), + 1577: uint16(1310), + 1578: uint16(264), + 1579: uint16(62), + 1580: uint16(62), + 1581: uint16(369), + 1582: uint16(451), + 1583: uint16(1028), + 1584: uint16(1028), + 1585: uint16(1030), + 1586: uint16(1031), + 1587: uint16(35), + 1588: uint16(1601), + 1589: uint16(1192), + 1590: uint16(453), + 1591: uint16(1092), + 1592: uint16(238), + 1593: uint16(291), + 1594: uint16(565), + 1595: uint16(163), + 1596: uint16(1309), 1597: uint16(110), - 1598: uint16(110), - 1599: uint16(1019), - 1600: uint16(157), - 1601: uint16(157), - 1602: uint16(141), - 1603: uint16(141), - 1604: uint16(572), - 1605: uint16(111), - 1606: uint16(572), - 1607: uint16(449), - 1608: uint16(573), - 1609: uint16(449), - 1610: uint16(412), - 1611: uint16(288), - 1612: uint16(1019), - 1613: uint16(572), - 1614: uint16(882), - 1615: uint16(318), - 1616: uint16(563), - 1617: uint16(572), - 1618: uint16(219), - 1619: uint16(572), - 1620: uint16(241), - 1621: uint16(1012), - 1622: uint16(477), - 1623: uint16(263), - 1624: uint16(263), - 1625: uint16(894), - 1626: uint16(893), - 1627: uint16(140), - 1628: uint16(140), - 1629: uint16(138), - 1630: uint16(138), - 1631: uint16(1019), - 1632: uint16(1019), - 1633: uint16(1021), - 1634: uint16(1022), - 1635: uint16(28), - 1636: uint16(139), - 1637: uint16(139), - 1638: uint16(525), - 1639: uint16(455), - 1640: uint16(76), - 1641: uint16(76), - 1642: uint16(78), - 1643: uint16(78), - 1644: uint16(1019), - 1645: uint16(1019), - 1646: uint16(1021), - 1647: uint16(1022), - 1648: uint16(28), - 1649: uint16(1181), - 1650: uint16(451), - 1651: uint16(572), - 1652: uint16(1083), - 1653: uint16(290), - 1654: uint16(112), - 1655: uint16(564), - 1656: uint16(1575), - 1657: uint16(4), - 1658: uint16(394), - 1659: uint16(394), - 1660: uint16(393), - 1661: uint16(275), - 1662: uint16(391), - 1663: uint16(572), - 1664: uint16(1023), - 1665: uint16(852), - 1666: uint16(572), - 1667: uint16(479), - 1668: uint16(345), - 1669: uint16(263), - 1670: uint16(101), - 1671: uint16(567), - 1672: uint16(882), - 1673: uint16(1376), - 1674: uint16(75), - 1675: uint16(75), - 1676: uint16(1421), - 1677: uint16(501), - 1678: uint16(236), - 1679: uint16(260), - 1680: uint16(325), - 1681: uint16(112), - 1682: uint16(564), - 1683: uint16(359), - 1684: uint16(4), - 1685: uint16(101), - 1686: uint16(43), - 1687: uint16(43), - 1688: uint16(324), - 1689: uint16(49), - 1690: uint16(49), - 1691: uint16(901), - 1692: uint16(902), - 1693: uint16(161), - 1694: uint16(449), - 1695: uint16(101), - 1696: uint16(977), - 1697: uint16(978), - 1698: uint16(567), - 1699: uint16(1079), - 1700: uint16(1349), - 1701: uint16(260), - 1702: uint16(965), - 1703: uint16(932), - 1704: uint16(263), - 1705: uint16(114), - 1706: uint16(561), - 1707: uint16(1095), - 1708: uint16(517), - 1709: uint16(1095), - 1710: uint16(1083), - 1711: uint16(1094), - 1712: uint16(865), - 1713: uint16(1094), - 1714: uint16(151), - 1715: uint16(933), - 1716: uint16(1144), - 1717: uint16(114), - 1718: uint16(238), - 1719: uint16(1361), - 1720: uint16(558), - 1721: uint16(449), - 1722: uint16(1023), - 1723: uint16(559), - 1724: uint16(1426), - 1725: uint16(1278), - 1726: uint16(170), - 1727: uint16(1269), - 1728: uint16(1257), - 1729: uint16(142), - 1730: uint16(1601), - 1731: uint16(1256), - 1732: uint16(1258), - 1733: uint16(561), - 1734: uint16(1594), - 1735: uint16(1031), - 1736: uint16(496), - 1737: uint16(278), - 1738: uint16(213), - 1739: uint16(1346), - 1740: uint16(310), - 1741: uint16(110), - 1742: uint16(110), - 1743: uint16(939), - 1744: uint16(311), - 1745: uint16(312), - 1746: uint16(237), - 1747: uint16(11), - 1748: uint16(234), - 1749: uint16(111), - 1750: uint16(221), - 1751: uint16(449), - 1752: uint16(573), - 1753: uint16(449), - 1754: uint16(293), - 1755: uint16(395), - 1756: uint16(1019), - 1757: uint16(1408), - 1758: uint16(337), - 1759: uint16(1403), - 1760: uint16(1396), - 1761: uint16(338), - 1762: uint16(1031), - 1763: uint16(299), - 1764: uint16(343), - 1765: uint16(1413), - 1766: uint16(1412), - 1767: uint16(481), - 1768: uint16(110), - 1769: uint16(110), - 1770: uint16(506), - 1771: uint16(402), - 1772: uint16(225), - 1773: uint16(1296), - 1774: uint16(206), - 1775: uint16(367), - 1776: uint16(111), - 1777: uint16(1358), - 1778: uint16(449), - 1779: uint16(573), - 1780: uint16(449), - 1781: uint16(412), - 1782: uint16(1359), - 1783: uint16(1019), - 1784: uint16(1489), - 1785: uint16(1488), - 1786: uint16(318), - 1787: uint16(563), - 1788: uint16(1019), - 1789: uint16(1019), - 1790: uint16(1021), - 1791: uint16(1022), - 1792: uint16(28), - 1793: uint16(562), - 1794: uint16(207), - 1795: uint16(220), - 1796: uint16(80), - 1797: uint16(564), - 1798: uint16(389), - 1799: uint16(4), - 1800: uint16(1597), - 1801: uint16(1357), - 1802: uint16(552), - 1803: uint16(1356), - 1804: uint16(1233), - 1805: uint16(181), - 1806: uint16(267), - 1807: uint16(232), - 1808: uint16(1536), - 1809: uint16(1534), - 1810: uint16(455), - 1811: uint16(1230), - 1812: uint16(420), - 1813: uint16(567), - 1814: uint16(82), - 1815: uint16(1019), - 1816: uint16(1019), - 1817: uint16(1021), - 1818: uint16(1022), - 1819: uint16(28), - 1820: uint16(86), - 1821: uint16(217), - 1822: uint16(85), - 1823: uint16(1494), - 1824: uint16(190), - 1825: uint16(175), - 1826: uint16(183), - 1827: uint16(465), - 1828: uint16(185), - 1829: uint16(466), - 1830: uint16(36), - 1831: uint16(1409), - 1832: uint16(186), - 1833: uint16(187), - 1834: uint16(188), - 1835: uint16(499), - 1836: uint16(449), - 1837: uint16(244), - 1838: uint16(37), - 1839: uint16(99), - 1840: uint16(400), - 1841: uint16(1415), - 1842: uint16(1414), - 1843: uint16(488), - 1844: uint16(1417), - 1845: uint16(194), - 1846: uint16(473), - 1847: uint16(403), - 1848: uint16(561), - 1849: uint16(1483), - 1850: uint16(248), - 1851: uint16(92), - 1852: uint16(1505), - 1853: uint16(494), - 1854: uint16(198), - 1855: uint16(279), - 1856: uint16(112), - 1857: uint16(564), - 1858: uint16(250), - 1859: uint16(4), - 1860: uint16(348), - 1861: uint16(497), - 1862: uint16(405), - 1863: uint16(352), - 1864: uint16(1259), - 1865: uint16(251), - 1866: uint16(252), - 1867: uint16(515), - 1868: uint16(1316), - 1869: uint16(434), - 1870: uint16(1315), - 1871: uint16(1314), - 1872: uint16(94), - 1873: uint16(567), - 1874: uint16(1307), - 1875: uint16(886), - 1876: uint16(1306), - 1877: uint16(1031), - 1878: uint16(226), - 1879: uint16(406), - 1880: uint16(1611), - 1881: uint16(1610), - 1882: uint16(438), - 1883: uint16(110), - 1884: uint16(110), - 1885: uint16(1580), - 1886: uint16(1286), - 1887: uint16(524), - 1888: uint16(439), - 1889: uint16(308), - 1890: uint16(266), - 1891: uint16(111), - 1892: uint16(1285), - 1893: uint16(449), - 1894: uint16(573), - 1895: uint16(449), - 1896: uint16(449), - 1897: uint16(309), - 1898: uint16(1019), - 1899: uint16(366), - 1900: uint16(1284), - 1901: uint16(1609), - 1902: uint16(265), - 1903: uint16(1566), - 1904: uint16(1565), - 1905: uint16(442), - 1906: uint16(372), - 1907: uint16(1381), - 1908: uint16(561), - 1909: uint16(129), - 1910: uint16(550), - 1911: uint16(1380), - 1912: uint16(10), - 1913: uint16(1470), - 1914: uint16(383), - 1915: uint16(106), - 1916: uint16(316), - 1917: uint16(551), - 1918: uint16(100), - 1919: uint16(35), - 1920: uint16(534), - 1921: uint16(575), - 1922: uint16(212), - 1923: uint16(1339), - 1924: uint16(381), - 1925: uint16(387), - 1926: uint16(1187), - 1927: uint16(1338), - 1928: uint16(274), - 1929: uint16(276), - 1930: uint16(1019), - 1931: uint16(1019), - 1932: uint16(1021), - 1933: uint16(1022), - 1934: uint16(28), - 1935: uint16(277), - 1936: uint16(413), - 1937: uint16(1031), - 1938: uint16(576), - 1939: uint16(1254), - 1940: uint16(388), - 1941: uint16(1521), - 1942: uint16(1249), - 1943: uint16(110), - 1944: uint16(110), - 1945: uint16(167), - 1946: uint16(1522), - 1947: uint16(168), - 1948: uint16(148), - 1949: uint16(1520), - 1950: uint16(1519), - 1951: uint16(111), - 1952: uint16(306), - 1953: uint16(449), - 1954: uint16(573), - 1955: uint16(449), - 1956: uint16(222), - 1957: uint16(223), - 1958: uint16(1019), - 1959: uint16(839), - 1960: uint16(169), - 1961: uint16(79), - 1962: uint16(450), - 1963: uint16(214), - 1964: uint16(414), - 1965: uint16(233), - 1966: uint16(320), - 1967: uint16(145), - 1968: uint16(1093), - 1969: uint16(1091), - 1970: uint16(328), - 1971: uint16(182), - 1972: uint16(171), - 1973: uint16(1212), - 1974: uint16(918), - 1975: uint16(184), - 1976: uint16(240), - 1977: uint16(336), - 1978: uint16(243), - 1979: uint16(1107), - 1980: uint16(189), - 1981: uint16(172), - 1982: uint16(173), - 1983: uint16(423), - 1984: uint16(425), - 1985: uint16(88), - 1986: uint16(180), - 1987: uint16(191), - 1988: uint16(89), - 1989: uint16(90), - 1990: uint16(1019), - 1991: uint16(1019), - 1992: uint16(1021), - 1993: uint16(1022), - 1994: uint16(28), - 1995: uint16(91), - 1996: uint16(174), - 1997: uint16(1110), - 1998: uint16(245), - 1999: uint16(1106), - 2000: uint16(246), - 2001: uint16(159), - 2002: uint16(18), - 2003: uint16(247), - 2004: uint16(347), - 2005: uint16(1099), - 2006: uint16(263), - 2007: uint16(195), - 2008: uint16(1227), - 2009: uint16(493), - 2010: uint16(249), - 2011: uint16(196), - 2012: uint16(38), - 2013: uint16(854), - 2014: uint16(498), - 2015: uint16(368), - 2016: uint16(253), - 2017: uint16(360), - 2018: uint16(897), - 2019: uint16(197), - 2020: uint16(502), - 2021: uint16(93), - 2022: uint16(19), - 2023: uint16(20), - 2024: uint16(507), - 2025: uint16(884), - 2026: uint16(363), - 2027: uint16(510), - 2028: uint16(95), - 2029: uint16(307), - 2030: uint16(160), - 2031: uint16(96), - 2032: uint16(518), - 2033: uint16(97), - 2034: uint16(1175), - 2035: uint16(1060), - 2036: uint16(1146), - 2037: uint16(40), - 2038: uint16(21), - 2039: uint16(227), - 2040: uint16(176), - 2041: uint16(1145), - 2042: uint16(282), - 2043: uint16(284), - 2044: uint16(969), - 2045: uint16(200), - 2046: uint16(963), - 2047: uint16(114), - 2048: uint16(262), - 2049: uint16(1165), - 2050: uint16(22), - 2051: uint16(23), - 2052: uint16(24), - 2053: uint16(1161), - 2054: uint16(1169), - 2055: uint16(25), - 2056: uint16(1163), - 2057: uint16(1150), - 2058: uint16(34), - 2059: uint16(26), - 2060: uint16(1168), - 2061: uint16(546), - 2062: uint16(27), - 2063: uint16(204), - 2064: uint16(101), - 2065: uint16(103), - 2066: uint16(104), - 2067: uint16(1074), - 2068: uint16(7), - 2069: uint16(1061), - 2070: uint16(1059), - 2071: uint16(1063), - 2072: uint16(1116), - 2073: uint16(1064), - 2074: uint16(1115), - 2075: uint16(268), - 2076: uint16(269), - 2077: uint16(29), - 2078: uint16(41), - 2079: uint16(270), - 2080: uint16(1024), - 2081: uint16(866), - 2082: uint16(113), - 2083: uint16(30), - 2084: uint16(568), - 2085: uint16(392), - 2086: uint16(1183), - 2087: uint16(144), - 2088: uint16(178), - 2089: uint16(1182), - 2090: uint16(271), - 2091: uint16(928), - 2092: uint16(1245), - 2093: uint16(1245), - 2094: uint16(1245), - 2095: uint16(1245), - 2096: uint16(1245), - 2097: uint16(1245), - 2098: uint16(1245), - 2099: uint16(1602), -} -var _yy_lookahead = [2285]uint16{ - 0: uint16(193), - 1: uint16(193), - 2: uint16(193), - 3: uint16(274), - 4: uint16(275), - 5: uint16(276), - 6: uint16(193), - 7: uint16(274), - 8: uint16(275), - 9: uint16(276), - 10: uint16(193), - 11: uint16(223), - 12: uint16(219), - 13: uint16(225), - 14: uint16(206), - 15: uint16(210), - 16: uint16(211), - 17: uint16(212), - 18: uint16(193), + 1598: uint16(395), + 1599: uint16(395), + 1600: uint16(394), + 1601: uint16(276), + 1602: uint16(392), + 1603: uint16(986), + 1604: uint16(987), + 1605: uint16(859), + 1606: uint16(481), + 1607: uint16(346), + 1608: uint16(264), + 1609: uint16(110), + 1610: uint16(1032), + 1611: uint16(489), + 1612: uint16(576), + 1613: uint16(1188), + 1614: uint16(503), + 1615: uint16(1088), + 1616: uint16(261), + 1617: uint16(261), + 1618: uint16(237), + 1619: uint16(576), + 1620: uint16(326), + 1621: uint16(121), + 1622: uint16(568), + 1623: uint16(1040), + 1624: uint16(4), + 1625: uint16(347), + 1626: uint16(1376), + 1627: uint16(413), + 1628: uint16(325), + 1629: uint16(119), + 1630: uint16(119), + 1631: uint16(948), + 1632: uint16(319), + 1633: uint16(567), + 1634: uint16(351), + 1635: uint16(78), + 1636: uint16(78), + 1637: uint16(120), + 1638: uint16(571), + 1639: uint16(451), + 1640: uint16(577), + 1641: uint16(451), + 1642: uint16(79), + 1643: uint16(79), + 1644: uint16(1028), + 1645: uint16(354), + 1646: uint16(356), + 1647: uint16(576), + 1648: uint16(360), + 1649: uint16(1092), + 1650: uint16(110), + 1651: uint16(576), + 1652: uint16(974), + 1653: uint16(942), + 1654: uint16(264), + 1655: uint16(123), + 1656: uint16(457), + 1657: uint16(358), + 1658: uint16(239), + 1659: uint16(576), + 1660: uint16(519), + 1661: uint16(451), + 1662: uint16(939), + 1663: uint16(1104), + 1664: uint16(123), + 1665: uint16(1104), + 1666: uint16(173), + 1667: uint16(576), + 1668: uint16(1032), + 1669: uint16(43), + 1670: uint16(63), + 1671: uint16(63), + 1672: uint16(1324), + 1673: uint16(565), + 1674: uint16(168), + 1675: uint16(168), + 1676: uint16(1028), + 1677: uint16(1028), + 1678: uint16(1030), + 1679: uint16(1031), + 1680: uint16(35), + 1681: uint16(576), + 1682: uint16(169), + 1683: uint16(169), + 1684: uint16(1308), + 1685: uint16(872), + 1686: uint16(238), + 1687: uint16(157), + 1688: uint16(1589), + 1689: uint16(576), + 1690: uint16(86), + 1691: uint16(86), + 1692: uint16(365), + 1693: uint16(89), + 1694: uint16(568), + 1695: uint16(375), + 1696: uint16(4), + 1697: uint16(1103), + 1698: uint16(941), + 1699: uint16(1103), + 1700: uint16(123), + 1701: uint16(576), + 1702: uint16(1040), + 1703: uint16(1389), + 1704: uint16(64), + 1705: uint16(64), + 1706: uint16(1188), + 1707: uint16(1434), + 1708: uint16(119), + 1709: uint16(119), + 1710: uint16(571), + 1711: uint16(576), + 1712: uint16(82), + 1713: uint16(82), + 1714: uint16(563), + 1715: uint16(576), + 1716: uint16(120), + 1717: uint16(165), + 1718: uint16(451), + 1719: uint16(577), + 1720: uint16(451), + 1721: uint16(413), + 1722: uint16(1362), + 1723: uint16(1028), + 1724: uint16(144), + 1725: uint16(144), + 1726: uint16(319), + 1727: uint16(567), + 1728: uint16(576), + 1729: uint16(1374), + 1730: uint16(562), + 1731: uint16(498), + 1732: uint16(279), + 1733: uint16(451), + 1734: uint16(83), + 1735: uint16(83), + 1736: uint16(1439), + 1737: uint16(576), + 1738: uint16(166), + 1739: uint16(166), + 1740: uint16(576), + 1741: uint16(1289), + 1742: uint16(554), + 1743: uint16(576), + 1744: uint16(1280), + 1745: uint16(565), + 1746: uint16(576), + 1747: uint16(12), + 1748: uint16(576), + 1749: uint16(1268), + 1750: uint16(457), + 1751: uint16(146), + 1752: uint16(146), + 1753: uint16(1267), + 1754: uint16(576), + 1755: uint16(1028), + 1756: uint16(1028), + 1757: uint16(1030), + 1758: uint16(1031), + 1759: uint16(35), + 1760: uint16(140), + 1761: uint16(140), + 1762: uint16(1269), + 1763: uint16(167), + 1764: uint16(167), + 1765: uint16(1609), + 1766: uint16(160), + 1767: uint16(160), + 1768: uint16(1359), + 1769: uint16(150), + 1770: uint16(150), + 1771: uint16(149), + 1772: uint16(149), + 1773: uint16(311), + 1774: uint16(1040), + 1775: uint16(576), + 1776: uint16(312), + 1777: uint16(147), + 1778: uint16(147), + 1779: uint16(313), + 1780: uint16(119), + 1781: uint16(119), + 1782: uint16(222), + 1783: uint16(235), + 1784: uint16(576), + 1785: uint16(1188), + 1786: uint16(396), + 1787: uint16(576), + 1788: uint16(120), + 1789: uint16(576), + 1790: uint16(451), + 1791: uint16(577), + 1792: uint16(451), + 1793: uint16(1192), + 1794: uint16(453), + 1795: uint16(1028), + 1796: uint16(508), + 1797: uint16(291), + 1798: uint16(148), + 1799: uint16(148), + 1800: uint16(1421), + 1801: uint16(1612), + 1802: uint16(395), + 1803: uint16(395), + 1804: uint16(394), + 1805: uint16(276), + 1806: uint16(392), + 1807: uint16(85), + 1808: uint16(85), + 1809: uint16(859), + 1810: uint16(87), + 1811: uint16(87), + 1812: uint16(84), + 1813: uint16(84), + 1814: uint16(553), + 1815: uint16(576), + 1816: uint16(294), + 1817: uint16(576), + 1818: uint16(1426), + 1819: uint16(338), + 1820: uint16(339), + 1821: uint16(1425), + 1822: uint16(237), + 1823: uint16(300), + 1824: uint16(326), + 1825: uint16(1416), + 1826: uint16(1409), + 1827: uint16(1028), + 1828: uint16(1028), + 1829: uint16(1030), + 1830: uint16(1031), + 1831: uint16(35), + 1832: uint16(325), + 1833: uint16(344), + 1834: uint16(403), + 1835: uint16(483), + 1836: uint16(226), + 1837: uint16(1307), + 1838: uint16(52), + 1839: uint16(52), + 1840: uint16(58), + 1841: uint16(58), + 1842: uint16(368), + 1843: uint16(1371), + 1844: uint16(1502), + 1845: uint16(566), + 1846: uint16(1501), + 1847: uint16(121), + 1848: uint16(568), + 1849: uint16(221), + 1850: uint16(4), + 1851: uint16(208), + 1852: uint16(268), + 1853: uint16(209), + 1854: uint16(390), + 1855: uint16(1244), + 1856: uint16(1549), + 1857: uint16(1188), + 1858: uint16(1372), + 1859: uint16(1370), + 1860: uint16(1369), + 1861: uint16(1547), + 1862: uint16(239), + 1863: uint16(184), + 1864: uint16(571), + 1865: uint16(233), + 1866: uint16(421), + 1867: uint16(1241), + 1868: uint16(95), + 1869: uint16(218), + 1870: uint16(173), + 1871: uint16(1507), + 1872: uint16(193), + 1873: uint16(43), + 1874: uint16(91), + 1875: uint16(94), + 1876: uint16(178), + 1877: uint16(186), + 1878: uint16(467), + 1879: uint16(188), + 1880: uint16(468), + 1881: uint16(1422), + 1882: uint16(13), + 1883: uint16(189), + 1884: uint16(190), + 1885: uint16(191), + 1886: uint16(501), + 1887: uint16(451), + 1888: uint16(245), + 1889: uint16(108), + 1890: uint16(238), + 1891: uint16(401), + 1892: uint16(1428), + 1893: uint16(1427), + 1894: uint16(1430), + 1895: uint16(475), + 1896: uint16(404), + 1897: uint16(1496), + 1898: uint16(197), + 1899: uint16(565), + 1900: uint16(14), + 1901: uint16(490), + 1902: uint16(249), + 1903: uint16(101), + 1904: uint16(1518), + 1905: uint16(496), + 1906: uint16(349), + 1907: uint16(280), + 1908: uint16(251), + 1909: uint16(201), + 1910: uint16(353), + 1911: uint16(499), + 1912: uint16(252), + 1913: uint16(406), + 1914: uint16(1270), + 1915: uint16(253), + 1916: uint16(517), + 1917: uint16(1327), + 1918: uint16(1326), + 1919: uint16(435), + 1920: uint16(1325), + 1921: uint16(1318), + 1922: uint16(103), + 1923: uint16(893), + 1924: uint16(1296), + 1925: uint16(413), + 1926: uint16(227), + 1927: uint16(407), + 1928: uint16(1040), + 1929: uint16(1626), + 1930: uint16(319), + 1931: uint16(567), + 1932: uint16(1625), + 1933: uint16(1297), + 1934: uint16(119), + 1935: uint16(119), + 1936: uint16(439), + 1937: uint16(367), + 1938: uint16(1317), + 1939: uint16(1295), + 1940: uint16(1624), + 1941: uint16(526), + 1942: uint16(120), + 1943: uint16(440), + 1944: uint16(451), + 1945: uint16(577), + 1946: uint16(451), + 1947: uint16(1594), + 1948: uint16(309), + 1949: uint16(1028), + 1950: uint16(310), + 1951: uint16(373), + 1952: uint16(266), + 1953: uint16(267), + 1954: uint16(457), + 1955: uint16(1580), + 1956: uint16(1579), + 1957: uint16(443), + 1958: uint16(138), + 1959: uint16(1394), + 1960: uint16(552), + 1961: uint16(1393), + 1962: uint16(11), + 1963: uint16(1483), + 1964: uint16(384), + 1965: uint16(115), + 1966: uint16(317), + 1967: uint16(1350), + 1968: uint16(109), + 1969: uint16(536), + 1970: uint16(42), + 1971: uint16(579), + 1972: uint16(382), + 1973: uint16(214), + 1974: uint16(1349), + 1975: uint16(388), + 1976: uint16(1198), + 1977: uint16(389), + 1978: uint16(275), + 1979: uint16(277), + 1980: uint16(278), + 1981: uint16(1028), + 1982: uint16(1028), + 1983: uint16(1030), + 1984: uint16(1031), + 1985: uint16(35), + 1986: uint16(580), + 1987: uint16(1265), + 1988: uint16(414), + 1989: uint16(1260), + 1990: uint16(170), + 1991: uint16(415), + 1992: uint16(183), + 1993: uint16(1534), + 1994: uint16(1535), + 1995: uint16(1533), + 1996: uint16(171), + 1997: uint16(154), + 1998: uint16(307), + 1999: uint16(1532), + 2000: uint16(846), + 2001: uint16(223), + 2002: uint16(224), + 2003: uint16(88), + 2004: uint16(452), + 2005: uint16(215), + 2006: uint16(172), + 2007: uint16(321), + 2008: uint16(234), + 2009: uint16(1102), + 2010: uint16(152), + 2011: uint16(1188), + 2012: uint16(1100), + 2013: uint16(329), + 2014: uint16(185), + 2015: uint16(174), + 2016: uint16(1223), + 2017: uint16(925), + 2018: uint16(187), + 2019: uint16(241), + 2020: uint16(337), + 2021: uint16(244), + 2022: uint16(1116), + 2023: uint16(192), + 2024: uint16(175), + 2025: uint16(176), + 2026: uint16(424), + 2027: uint16(426), + 2028: uint16(97), + 2029: uint16(194), + 2030: uint16(98), + 2031: uint16(99), + 2032: uint16(100), + 2033: uint16(177), + 2034: uint16(1119), + 2035: uint16(1115), + 2036: uint16(246), + 2037: uint16(247), + 2038: uint16(161), + 2039: uint16(24), + 2040: uint16(248), + 2041: uint16(348), + 2042: uint16(1238), + 2043: uint16(264), + 2044: uint16(1108), + 2045: uint16(250), + 2046: uint16(495), + 2047: uint16(199), + 2048: uint16(198), + 2049: uint16(15), + 2050: uint16(861), + 2051: uint16(500), + 2052: uint16(369), + 2053: uint16(254), + 2054: uint16(504), + 2055: uint16(509), + 2056: uint16(512), + 2057: uint16(200), + 2058: uint16(102), + 2059: uint16(25), + 2060: uint16(179), + 2061: uint16(361), + 2062: uint16(26), + 2063: uint16(364), + 2064: uint16(104), + 2065: uint16(891), + 2066: uint16(308), + 2067: uint16(162), + 2068: uint16(105), + 2069: uint16(904), + 2070: uint16(520), + 2071: uint16(106), + 2072: uint16(1185), + 2073: uint16(1069), + 2074: uint16(1155), + 2075: uint16(17), + 2076: uint16(228), + 2077: uint16(27), + 2078: uint16(1154), + 2079: uint16(283), + 2080: uint16(285), + 2081: uint16(263), + 2082: uint16(978), + 2083: uint16(202), + 2084: uint16(972), + 2085: uint16(123), + 2086: uint16(28), + 2087: uint16(1175), + 2088: uint16(29), + 2089: uint16(30), + 2090: uint16(1179), + 2091: uint16(1171), + 2092: uint16(31), + 2093: uint16(1173), + 2094: uint16(1160), + 2095: uint16(41), + 2096: uint16(32), + 2097: uint16(206), + 2098: uint16(548), + 2099: uint16(33), + 2100: uint16(110), + 2101: uint16(1178), + 2102: uint16(1083), + 2103: uint16(8), + 2104: uint16(112), + 2105: uint16(1070), + 2106: uint16(113), + 2107: uint16(1068), + 2108: uint16(1072), + 2109: uint16(34), + 2110: uint16(1073), + 2111: uint16(560), + 2112: uint16(1125), + 2113: uint16(269), + 2114: uint16(1124), + 2115: uint16(270), + 2116: uint16(36), + 2117: uint16(18), + 2118: uint16(1194), + 2119: uint16(1033), + 2120: uint16(873), + 2121: uint16(151), + 2122: uint16(122), + 2123: uint16(37), + 2124: uint16(393), + 2125: uint16(271), + 2126: uint16(272), + 2127: uint16(572), + 2128: uint16(181), + 2129: uint16(1193), + 2130: uint16(1256), + 2131: uint16(1256), + 2132: uint16(1256), + 2133: uint16(935), + 2134: uint16(1256), + 2135: uint16(1256), + 2136: uint16(1256), + 2137: uint16(1256), + 2138: uint16(1256), + 2139: uint16(1256), + 2140: uint16(1256), + 2141: uint16(1617), +} +var _yy_lookahead = [2328]uint16{ + 0: uint16(194), + 1: uint16(276), + 2: uint16(277), + 3: uint16(278), + 4: uint16(216), + 5: uint16(194), + 6: uint16(194), + 7: uint16(217), + 8: uint16(194), + 9: uint16(194), + 10: uint16(194), + 11: uint16(194), + 12: uint16(224), + 13: uint16(194), + 14: uint16(194), + 15: uint16(276), + 16: uint16(277), + 17: uint16(278), + 18: uint16(204), 19: uint16(19), - 20: uint16(219), - 21: uint16(233), - 22: uint16(216), - 23: uint16(216), - 24: uint16(217), - 25: uint16(216), - 26: uint16(217), - 27: uint16(193), - 28: uint16(295), - 29: uint16(216), - 30: uint16(217), + 20: uint16(206), + 21: uint16(202), + 22: uint16(297), + 23: uint16(217), + 24: uint16(218), + 25: uint16(205), + 26: uint16(207), + 27: uint16(217), + 28: uint16(205), + 29: uint16(217), + 30: uint16(218), 31: uint16(31), - 32: uint16(193), - 33: uint16(216), + 32: uint16(217), + 33: uint16(218), 34: uint16(217), - 35: uint16(193), - 36: uint16(228), - 37: uint16(213), - 38: uint16(230), + 35: uint16(218), + 36: uint16(29), + 37: uint16(217), + 38: uint16(218), 39: uint16(39), - 40: uint16(206), - 41: uint16(216), - 42: uint16(217), + 40: uint16(33), + 41: uint16(217), + 42: uint16(220), 43: uint16(43), 44: uint16(44), 45: uint16(45), @@ -224371,31 +225680,31 @@ var _yy_lookahead = [2285]uint16{ 55: uint16(55), 56: uint16(56), 57: uint16(57), - 58: uint16(193), + 58: uint16(312), 59: uint16(19), - 60: uint16(185), - 61: uint16(186), - 62: uint16(187), - 63: uint16(188), - 64: uint16(189), - 65: uint16(190), - 66: uint16(253), - 67: uint16(274), - 68: uint16(275), - 69: uint16(276), - 70: uint16(195), - 71: uint16(193), - 72: uint16(197), - 73: uint16(193), - 74: uint16(261), - 75: uint16(274), - 76: uint16(275), - 77: uint16(276), - 78: uint16(253), - 79: uint16(204), - 80: uint16(238), - 81: uint16(204), - 82: uint16(81), + 60: uint16(240), + 61: uint16(241), + 62: uint16(316), + 63: uint16(240), + 64: uint16(241), + 65: uint16(194), + 66: uint16(46), + 67: uint16(47), + 68: uint16(48), + 69: uint16(49), + 70: uint16(22), + 71: uint16(254), + 72: uint16(65), + 73: uint16(253), + 74: uint16(254), + 75: uint16(255), + 76: uint16(253), + 77: uint16(194), + 78: uint16(255), + 79: uint16(194), + 80: uint16(263), + 81: uint16(258), + 82: uint16(259), 83: uint16(43), 84: uint16(44), 85: uint16(45), @@ -224411,10 +225720,10 @@ var _yy_lookahead = [2285]uint16{ 95: uint16(55), 96: uint16(56), 97: uint16(57), - 98: uint16(274), - 99: uint16(275), - 100: uint16(276), - 101: uint16(262), + 98: uint16(276), + 99: uint16(277), + 100: uint16(278), + 101: uint16(285), 102: uint16(102), 103: uint16(103), 104: uint16(104), @@ -224427,34 +225736,34 @@ var _yy_lookahead = [2285]uint16{ 111: uint16(111), 112: uint16(112), 113: uint16(113), - 114: uint16(239), - 115: uint16(240), - 116: uint16(239), - 117: uint16(240), - 118: uint16(210), - 119: uint16(211), - 120: uint16(212), - 121: uint16(314), - 122: uint16(315), - 123: uint16(314), - 124: uint16(59), - 125: uint16(316), + 114: uint16(59), + 115: uint16(186), + 116: uint16(187), + 117: uint16(188), + 118: uint16(189), + 119: uint16(190), + 120: uint16(191), + 121: uint16(310), + 122: uint16(239), + 123: uint16(317), + 124: uint16(318), + 125: uint16(196), 126: uint16(86), - 127: uint16(252), + 127: uint16(198), 128: uint16(88), - 129: uint16(252), + 129: uint16(317), 130: uint16(19), - 131: uint16(314), - 132: uint16(315), - 133: uint16(256), - 134: uint16(257), - 135: uint16(113), + 131: uint16(319), + 132: uint16(317), + 133: uint16(318), + 134: uint16(205), + 135: uint16(264), 136: uint16(25), - 137: uint16(72), - 138: uint16(296), - 139: uint16(138), - 140: uint16(139), - 141: uint16(266), + 137: uint16(211), + 138: uint16(212), + 139: uint16(213), + 140: uint16(205), + 141: uint16(121), 142: uint16(102), 143: uint16(103), 144: uint16(104), @@ -224482,50 +225791,50 @@ var _yy_lookahead = [2285]uint16{ 166: uint16(55), 167: uint16(56), 168: uint16(57), - 169: uint16(81), - 170: uint16(292), - 171: uint16(59), - 172: uint16(292), - 173: uint16(298), - 174: uint16(108), - 175: uint16(109), - 176: uint16(110), - 177: uint16(111), - 178: uint16(112), - 179: uint16(113), + 169: uint16(240), + 170: uint16(241), + 171: uint16(116), + 172: uint16(117), + 173: uint16(118), + 174: uint16(119), + 175: uint16(240), + 176: uint16(241), + 177: uint16(122), + 178: uint16(123), + 179: uint16(124), 180: uint16(69), - 181: uint16(116), - 182: uint16(117), - 183: uint16(118), - 184: uint16(72), + 181: uint16(298), + 182: uint16(253), + 183: uint16(194), + 184: uint16(255), 185: uint16(106), 186: uint16(107), - 187: uint16(193), - 188: uint16(111), - 189: uint16(112), - 190: uint16(113), + 187: uint16(132), + 188: uint16(253), + 189: uint16(141), + 190: uint16(255), 191: uint16(54), 192: uint16(55), 193: uint16(56), 194: uint16(57), 195: uint16(58), - 196: uint16(102), - 197: uint16(103), - 198: uint16(104), - 199: uint16(105), - 200: uint16(106), - 201: uint16(107), - 202: uint16(108), - 203: uint16(109), - 204: uint16(110), - 205: uint16(111), - 206: uint16(112), - 207: uint16(113), - 208: uint16(120), - 209: uint16(25), - 210: uint16(216), - 211: uint16(217), - 212: uint16(145), + 196: uint16(207), + 197: uint16(268), + 198: uint16(102), + 199: uint16(103), + 200: uint16(104), + 201: uint16(105), + 202: uint16(106), + 203: uint16(107), + 204: uint16(108), + 205: uint16(109), + 206: uint16(110), + 207: uint16(111), + 208: uint16(112), + 209: uint16(113), + 210: uint16(214), + 211: uint16(128), + 212: uint16(129), 213: uint16(102), 214: uint16(103), 215: uint16(104), @@ -224538,13 +225847,13 @@ var _yy_lookahead = [2285]uint16{ 222: uint16(111), 223: uint16(112), 224: uint16(113), - 225: uint16(231), - 226: uint16(138), - 227: uint16(139), - 228: uint16(116), - 229: uint16(117), - 230: uint16(118), - 231: uint16(164), + 225: uint16(134), + 226: uint16(25), + 227: uint16(136), + 228: uint16(137), + 229: uint16(300), + 230: uint16(165), + 231: uint16(166), 232: uint16(153), 233: uint16(19), 234: uint16(155), @@ -224564,12 +225873,12 @@ var _yy_lookahead = [2285]uint16{ 248: uint16(111), 249: uint16(112), 250: uint16(113), - 251: uint16(128), - 252: uint16(129), - 253: uint16(46), - 254: uint16(47), - 255: uint16(48), - 256: uint16(49), + 251: uint16(108), + 252: uint16(109), + 253: uint16(110), + 254: uint16(111), + 255: uint16(112), + 256: uint16(113), 257: uint16(43), 258: uint16(44), 259: uint16(45), @@ -224585,15 +225894,15 @@ var _yy_lookahead = [2285]uint16{ 269: uint16(55), 270: uint16(56), 271: uint16(57), - 272: uint16(216), - 273: uint16(193), - 274: uint16(25), - 275: uint16(59), - 276: uint16(193), + 272: uint16(276), + 273: uint16(277), + 274: uint16(278), + 275: uint16(113), + 276: uint16(194), 277: uint16(19), - 278: uint16(165), - 279: uint16(166), - 280: uint16(193), + 278: uint16(22), + 279: uint16(23), + 280: uint16(194), 281: uint16(67), 282: uint16(24), 283: uint16(102), @@ -224608,12 +225917,12 @@ var _yy_lookahead = [2285]uint16{ 292: uint16(111), 293: uint16(112), 294: uint16(113), - 295: uint16(73), - 296: uint16(216), - 297: uint16(217), - 298: uint16(59), - 299: uint16(216), - 300: uint16(217), + 295: uint16(220), + 296: uint16(250), + 297: uint16(59), + 298: uint16(252), + 299: uint16(217), + 300: uint16(218), 301: uint16(43), 302: uint16(44), 303: uint16(45), @@ -224641,38 +225950,38 @@ var _yy_lookahead = [2285]uint16{ 325: uint16(111), 326: uint16(112), 327: uint16(113), - 328: uint16(121), - 329: uint16(145), - 330: uint16(59), - 331: uint16(193), - 332: uint16(116), - 333: uint16(117), - 334: uint16(118), - 335: uint16(119), - 336: uint16(273), - 337: uint16(204), - 338: uint16(122), - 339: uint16(123), - 340: uint16(124), + 328: uint16(106), + 329: uint16(107), + 330: uint16(108), + 331: uint16(109), + 332: uint16(110), + 333: uint16(111), + 334: uint16(112), + 335: uint16(113), + 336: uint16(254), + 337: uint16(59), + 338: uint16(205), + 339: uint16(138), + 340: uint16(139), 341: uint16(19), 342: uint16(20), - 343: uint16(134), + 343: uint16(194), 344: uint16(22), - 345: uint16(136), - 346: uint16(137), - 347: uint16(19), - 348: uint16(132), - 349: uint16(127), - 350: uint16(128), - 351: uint16(129), - 352: uint16(24), - 353: uint16(22), - 354: uint16(23), - 355: uint16(116), - 356: uint16(117), - 357: uint16(118), + 345: uint16(263), + 346: uint16(22), + 347: uint16(23), + 348: uint16(231), + 349: uint16(25), + 350: uint16(72), + 351: uint16(276), + 352: uint16(277), + 353: uint16(278), + 354: uint16(116), + 355: uint16(117), + 356: uint16(118), + 357: uint16(101), 358: uint16(36), - 359: uint16(193), + 359: uint16(76), 360: uint16(102), 361: uint16(103), 362: uint16(104), @@ -224685,37 +225994,37 @@ var _yy_lookahead = [2285]uint16{ 369: uint16(111), 370: uint16(112), 371: uint16(113), - 372: uint16(239), + 372: uint16(89), 373: uint16(240), - 374: uint16(311), - 375: uint16(312), - 376: uint16(215), - 377: uint16(106), - 378: uint16(107), - 379: uint16(241), + 374: uint16(241), + 375: uint16(92), + 376: uint16(73), + 377: uint16(194), + 378: uint16(194), + 379: uint16(73), 380: uint16(19), 381: uint16(59), - 382: uint16(216), - 383: uint16(217), - 384: uint16(223), - 385: uint16(252), - 386: uint16(115), - 387: uint16(116), - 388: uint16(117), - 389: uint16(118), - 390: uint16(151), - 391: uint16(120), - 392: uint16(26), + 382: uint16(188), + 383: uint16(189), + 384: uint16(190), + 385: uint16(191), + 386: uint16(253), + 387: uint16(81), + 388: uint16(255), + 389: uint16(151), + 390: uint16(196), + 391: uint16(25), + 392: uint16(198), 393: uint16(71), - 394: uint16(193), - 395: uint16(308), - 396: uint16(309), - 397: uint16(193), - 398: uint16(149), - 399: uint16(128), - 400: uint16(313), - 401: uint16(216), - 402: uint16(269), + 394: uint16(116), + 395: uint16(117), + 396: uint16(118), + 397: uint16(311), + 398: uint16(312), + 399: uint16(205), + 400: uint16(217), + 401: uint16(218), + 402: uint16(316), 403: uint16(81), 404: uint16(43), 405: uint16(44), @@ -224732,50 +226041,50 @@ var _yy_lookahead = [2285]uint16{ 416: uint16(55), 417: uint16(56), 418: uint16(57), - 419: uint16(253), - 420: uint16(216), - 421: uint16(217), + 419: uint16(270), + 420: uint16(22), + 421: uint16(23), 422: uint16(100), - 423: uint16(95), - 424: uint16(153), - 425: uint16(59), - 426: uint16(155), - 427: uint16(261), + 423: uint16(25), + 424: uint16(59), + 425: uint16(101), + 426: uint16(138), + 427: uint16(139), 428: uint16(106), 429: uint16(107), - 430: uint16(25), - 431: uint16(193), - 432: uint16(101), - 433: uint16(193), - 434: uint16(193), - 435: uint16(231), + 430: uint16(127), + 431: uint16(128), + 432: uint16(129), + 433: uint16(127), + 434: uint16(240), + 435: uint16(241), 436: uint16(114), - 437: uint16(25), + 437: uint16(254), 438: uint16(116), 439: uint16(117), 440: uint16(118), - 441: uint16(113), - 442: uint16(304), + 441: uint16(76), + 442: uint16(76), 443: uint16(121), - 444: uint16(193), - 445: uint16(204), - 446: uint16(59), - 447: uint16(119), - 448: uint16(120), - 449: uint16(121), - 450: uint16(122), - 451: uint16(123), - 452: uint16(124), - 453: uint16(125), - 454: uint16(216), - 455: uint16(217), - 456: uint16(193), - 457: uint16(216), - 458: uint16(217), - 459: uint16(131), + 444: uint16(138), + 445: uint16(139), + 446: uint16(263), + 447: uint16(253), + 448: uint16(264), + 449: uint16(255), + 450: uint16(205), + 451: uint16(275), + 452: uint16(87), + 453: uint16(19), + 454: uint16(89), + 455: uint16(89), + 456: uint16(194), + 457: uint16(92), + 458: uint16(92), + 459: uint16(199), 460: uint16(138), 461: uint16(139), - 462: uint16(230), + 462: uint16(268), 463: uint16(102), 464: uint16(103), 465: uint16(104), @@ -224793,37 +226102,37 @@ var _yy_lookahead = [2285]uint16{ 477: uint16(155), 478: uint16(156), 479: uint16(157), - 480: uint16(239), - 481: uint16(240), - 482: uint16(116), - 483: uint16(117), - 484: uint16(118), - 485: uint16(76), - 486: uint16(193), - 487: uint16(23), + 480: uint16(81), + 481: uint16(116), + 482: uint16(117), + 483: uint16(118), + 484: uint16(129), + 485: uint16(240), + 486: uint16(241), + 487: uint16(224), 488: uint16(19), - 489: uint16(25), - 490: uint16(22), - 491: uint16(253), + 489: uint16(226), + 490: uint16(314), + 491: uint16(315), 492: uint16(23), - 493: uint16(252), - 494: uint16(253), - 495: uint16(108), - 496: uint16(87), - 497: uint16(204), - 498: uint16(89), - 499: uint16(261), - 500: uint16(198), - 501: uint16(92), - 502: uint16(261), - 503: uint16(116), - 504: uint16(117), - 505: uint16(118), - 506: uint16(193), - 507: uint16(306), - 508: uint16(307), - 509: uint16(216), - 510: uint16(217), + 493: uint16(25), + 494: uint16(300), + 495: uint16(59), + 496: uint16(22), + 497: uint16(234), + 498: uint16(253), + 499: uint16(101), + 500: uint16(255), + 501: uint16(236), + 502: uint16(237), + 503: uint16(26), + 504: uint16(194), + 505: uint16(183), + 506: uint16(194), + 507: uint16(152), + 508: uint16(72), + 509: uint16(22), + 510: uint16(145), 511: uint16(150), 512: uint16(43), 513: uint16(44), @@ -224840,34 +226149,34 @@ var _yy_lookahead = [2285]uint16{ 524: uint16(55), 525: uint16(56), 526: uint16(57), - 527: uint16(59), - 528: uint16(193), - 529: uint16(216), - 530: uint16(217), + 527: uint16(217), + 528: uint16(218), + 529: uint16(217), + 530: uint16(218), 531: uint16(19), - 532: uint16(239), - 533: uint16(240), - 534: uint16(283), + 532: uint16(189), + 533: uint16(59), + 534: uint16(191), 535: uint16(23), - 536: uint16(106), - 537: uint16(107), - 538: uint16(108), - 539: uint16(109), - 540: uint16(110), - 541: uint16(111), - 542: uint16(112), - 543: uint16(113), - 544: uint16(73), - 545: uint16(252), - 546: uint16(253), - 547: uint16(142), - 548: uint16(308), - 549: uint16(309), - 550: uint16(138), - 551: uint16(139), - 552: uint16(81), - 553: uint16(313), - 554: uint16(145), + 536: uint16(59), + 537: uint16(138), + 538: uint16(139), + 539: uint16(196), + 540: uint16(135), + 541: uint16(198), + 542: uint16(232), + 543: uint16(283), + 544: uint16(232), + 545: uint16(140), + 546: uint16(59), + 547: uint16(287), + 548: uint16(205), + 549: uint16(275), + 550: uint16(116), + 551: uint16(205), + 552: uint16(116), + 553: uint16(117), + 554: uint16(118), 555: uint16(43), 556: uint16(44), 557: uint16(45), @@ -224883,7 +226192,7 @@ var _yy_lookahead = [2285]uint16{ 567: uint16(55), 568: uint16(56), 569: uint16(57), - 570: uint16(307), + 570: uint16(194), 571: uint16(102), 572: uint16(103), 573: uint16(104), @@ -224896,37 +226205,37 @@ var _yy_lookahead = [2285]uint16{ 580: uint16(111), 581: uint16(112), 582: uint16(113), - 583: uint16(281), - 584: uint16(116), - 585: uint16(117), - 586: uint16(118), - 587: uint16(285), - 588: uint16(23), - 589: uint16(193), - 590: uint16(25), - 591: uint16(119), - 592: uint16(59), - 593: uint16(193), - 594: uint16(122), - 595: uint16(123), - 596: uint16(124), - 597: uint16(59), - 598: uint16(127), - 599: uint16(203), + 583: uint16(240), + 584: uint16(241), + 585: uint16(194), + 586: uint16(240), + 587: uint16(241), + 588: uint16(314), + 589: uint16(315), + 590: uint16(116), + 591: uint16(117), + 592: uint16(118), + 593: uint16(116), + 594: uint16(117), + 595: uint16(118), + 596: uint16(253), + 597: uint16(194), + 598: uint16(255), + 599: uint16(253), 600: uint16(59), - 601: uint16(205), + 601: uint16(255), 602: uint16(19), - 603: uint16(268), - 604: uint16(132), - 605: uint16(25), + 603: uint16(116), + 604: uint16(117), + 605: uint16(118), 606: uint16(23), 607: uint16(22), - 608: uint16(193), - 609: uint16(138), - 610: uint16(139), - 611: uint16(249), - 612: uint16(204), - 613: uint16(251), + 608: uint16(217), + 609: uint16(218), + 610: uint16(142), + 611: uint16(268), + 612: uint16(205), + 613: uint16(275), 614: uint16(102), 615: uint16(103), 616: uint16(104), @@ -224955,29 +226264,29 @@ var _yy_lookahead = [2285]uint16{ 639: uint16(56), 640: uint16(57), 641: uint16(19), - 642: uint16(22), - 643: uint16(23), + 642: uint16(194), + 643: uint16(300), 644: uint16(59), 645: uint16(23), - 646: uint16(25), - 647: uint16(239), - 648: uint16(240), - 649: uint16(116), - 650: uint16(117), - 651: uint16(118), - 652: uint16(193), - 653: uint16(11), - 654: uint16(116), - 655: uint16(117), - 656: uint16(118), - 657: uint16(116), + 646: uint16(119), + 647: uint16(240), + 648: uint16(241), + 649: uint16(122), + 650: uint16(123), + 651: uint16(124), + 652: uint16(314), + 653: uint16(315), + 654: uint16(194), + 655: uint16(236), + 656: uint16(237), + 657: uint16(194), 658: uint16(117), - 659: uint16(118), - 660: uint16(252), - 661: uint16(269), - 662: uint16(22), - 663: uint16(193), - 664: uint16(15), + 659: uint16(132), + 660: uint16(253), + 661: uint16(81), + 662: uint16(255), + 663: uint16(205), + 664: uint16(59), 665: uint16(43), 666: uint16(44), 667: uint16(45), @@ -224993,11 +226302,11 @@ var _yy_lookahead = [2285]uint16{ 677: uint16(55), 678: uint16(56), 679: uint16(57), - 680: uint16(273), - 681: uint16(143), - 682: uint16(193), - 683: uint16(118), - 684: uint16(143), + 680: uint16(217), + 681: uint16(218), + 682: uint16(194), + 683: uint16(194), + 684: uint16(194), 685: uint16(102), 686: uint16(103), 687: uint16(104), @@ -225010,33 +226319,33 @@ var _yy_lookahead = [2285]uint16{ 694: uint16(111), 695: uint16(112), 696: uint16(113), - 697: uint16(76), - 698: uint16(118), - 699: uint16(59), - 700: uint16(241), + 697: uint16(294), + 698: uint16(240), + 699: uint16(241), + 700: uint16(120), 701: uint16(116), 702: uint16(117), 703: uint16(118), - 704: uint16(304), - 705: uint16(216), + 704: uint16(59), + 705: uint16(194), 706: uint16(217), - 707: uint16(292), - 708: uint16(143), - 709: uint16(60), - 710: uint16(89), - 711: uint16(241), + 707: uint16(218), + 708: uint16(211), + 709: uint16(212), + 710: uint16(213), + 711: uint16(253), 712: uint16(19), - 713: uint16(92), - 714: uint16(193), - 715: uint16(193), + 713: uint16(255), + 714: uint16(194), + 715: uint16(19), 716: uint16(23), - 717: uint16(22), - 718: uint16(311), - 719: uint16(312), - 720: uint16(231), - 721: uint16(101), - 722: uint16(22), - 723: uint16(143), + 717: uint16(254), + 718: uint16(138), + 719: uint16(139), + 720: uint16(24), + 721: uint16(232), + 722: uint16(117), + 723: uint16(194), 724: uint16(102), 725: uint16(103), 726: uint16(104), @@ -225065,29 +226374,29 @@ var _yy_lookahead = [2285]uint16{ 749: uint16(56), 750: uint16(57), 751: uint16(19), - 752: uint16(193), - 753: uint16(193), - 754: uint16(59), + 752: uint16(264), + 753: uint16(108), + 754: uint16(76), 755: uint16(23), - 756: uint16(116), - 757: uint16(117), - 758: uint16(118), - 759: uint16(59), - 760: uint16(201), - 761: uint16(21), - 762: uint16(241), - 763: uint16(304), - 764: uint16(193), - 765: uint16(206), - 766: uint16(127), - 767: uint16(128), - 768: uint16(129), - 769: uint16(193), - 770: uint16(128), - 771: uint16(129), - 772: uint16(235), - 773: uint16(236), - 774: uint16(304), + 756: uint16(127), + 757: uint16(128), + 758: uint16(129), + 759: uint16(311), + 760: uint16(312), + 761: uint16(116), + 762: uint16(117), + 763: uint16(118), + 764: uint16(316), + 765: uint16(87), + 766: uint16(306), + 767: uint16(89), + 768: uint16(308), + 769: uint16(194), + 770: uint16(92), + 771: uint16(22), + 772: uint16(59), + 773: uint16(194), + 774: uint16(22), 775: uint16(43), 776: uint16(44), 777: uint16(45), @@ -225103,11 +226412,11 @@ var _yy_lookahead = [2285]uint16{ 787: uint16(55), 788: uint16(56), 789: uint16(57), - 790: uint16(22), - 791: uint16(193), - 792: uint16(216), - 793: uint16(217), - 794: uint16(193), + 790: uint16(194), + 791: uint16(95), + 792: uint16(217), + 793: uint16(218), + 794: uint16(265), 795: uint16(102), 796: uint16(103), 797: uint16(104), @@ -225120,33 +226429,33 @@ var _yy_lookahead = [2285]uint16{ 804: uint16(111), 805: uint16(112), 806: uint16(113), - 807: uint16(231), - 808: uint16(193), - 809: uint16(193), - 810: uint16(193), - 811: uint16(116), - 812: uint16(117), - 813: uint16(118), - 814: uint16(216), - 815: uint16(217), - 816: uint16(116), - 817: uint16(117), - 818: uint16(118), - 819: uint16(226), - 820: uint16(80), - 821: uint16(193), + 807: uint16(232), + 808: uint16(59), + 809: uint16(113), + 810: uint16(25), + 811: uint16(59), + 812: uint16(194), + 813: uint16(217), + 814: uint16(218), + 815: uint16(119), + 816: uint16(120), + 817: uint16(121), + 818: uint16(122), + 819: uint16(123), + 820: uint16(124), + 821: uint16(125), 822: uint16(19), - 823: uint16(235), - 824: uint16(236), - 825: uint16(304), + 823: uint16(145), + 824: uint16(194), + 825: uint16(194), 826: uint16(23), - 827: uint16(211), - 828: uint16(212), - 829: uint16(231), - 830: uint16(204), - 831: uint16(216), - 832: uint16(217), - 833: uint16(205), + 827: uint16(131), + 828: uint16(232), + 829: uint16(116), + 830: uint16(117), + 831: uint16(118), + 832: uint16(35), + 833: uint16(194), 834: uint16(102), 835: uint16(103), 836: uint16(104), @@ -225175,29 +226484,29 @@ var _yy_lookahead = [2285]uint16{ 859: uint16(56), 860: uint16(57), 861: uint16(19), - 862: uint16(193), - 863: uint16(123), - 864: uint16(76), - 865: uint16(239), - 866: uint16(240), - 867: uint16(193), - 868: uint16(253), - 869: uint16(239), - 870: uint16(240), - 871: uint16(239), - 872: uint16(240), - 873: uint16(244), - 874: uint16(106), - 875: uint16(107), - 876: uint16(193), - 877: uint16(89), - 878: uint16(252), - 879: uint16(193), - 880: uint16(92), - 881: uint16(59), - 882: uint16(252), - 883: uint16(254), - 884: uint16(252), + 862: uint16(194), + 863: uint16(66), + 864: uint16(194), + 865: uint16(116), + 866: uint16(117), + 867: uint16(118), + 868: uint16(116), + 869: uint16(117), + 870: uint16(118), + 871: uint16(74), + 872: uint16(242), + 873: uint16(294), + 874: uint16(194), + 875: uint16(194), + 876: uint16(206), + 877: uint16(23), + 878: uint16(194), + 879: uint16(25), + 880: uint16(194), + 881: uint16(111), + 882: uint16(112), + 883: uint16(113), + 884: uint16(25), 885: uint16(43), 886: uint16(44), 887: uint16(45), @@ -225213,11 +226522,11 @@ var _yy_lookahead = [2285]uint16{ 897: uint16(55), 898: uint16(56), 899: uint16(57), - 900: uint16(284), - 901: uint16(161), - 902: uint16(216), + 900: uint16(24), + 901: uint16(194), + 902: uint16(194), 903: uint16(217), - 904: uint16(193), + 904: uint16(218), 905: uint16(102), 906: uint16(103), 907: uint16(104), @@ -225230,33 +226539,33 @@ var _yy_lookahead = [2285]uint16{ 914: uint16(111), 915: uint16(112), 916: uint16(113), - 917: uint16(231), - 918: uint16(193), - 919: uint16(244), - 920: uint16(187), - 921: uint16(188), - 922: uint16(189), - 923: uint16(190), - 924: uint16(7), - 925: uint16(8), - 926: uint16(9), - 927: uint16(309), - 928: uint16(195), - 929: uint16(254), - 930: uint16(197), - 931: uint16(313), + 917: uint16(241), + 918: uint16(232), + 919: uint16(194), + 920: uint16(212), + 921: uint16(213), + 922: uint16(242), + 923: uint16(242), + 924: uint16(217), + 925: uint16(218), + 926: uint16(242), + 927: uint16(130), + 928: uint16(11), + 929: uint16(253), + 930: uint16(194), + 931: uint16(255), 932: uint16(19), - 933: uint16(127), - 934: uint16(128), - 935: uint16(129), - 936: uint16(262), - 937: uint16(204), - 938: uint16(22), - 939: uint16(117), - 940: uint16(24), - 941: uint16(216), + 933: uint16(265), + 934: uint16(149), + 935: uint16(59), + 936: uint16(306), + 937: uint16(194), + 938: uint16(308), + 939: uint16(232), + 940: uint16(309), + 941: uint16(310), 942: uint16(217), - 943: uint16(273), + 943: uint16(218), 944: uint16(102), 945: uint16(103), 946: uint16(104), @@ -225284,36 +226593,36 @@ var _yy_lookahead = [2285]uint16{ 968: uint16(55), 969: uint16(56), 970: uint16(57), - 971: uint16(193), - 972: uint16(239), - 973: uint16(240), - 974: uint16(193), - 975: uint16(59), + 971: uint16(194), + 972: uint16(194), + 973: uint16(59), + 974: uint16(194), + 975: uint16(239), 976: uint16(19), - 977: uint16(188), - 978: uint16(253), - 979: uint16(190), - 980: uint16(193), - 981: uint16(311), - 982: uint16(312), - 983: uint16(16), - 984: uint16(195), - 985: uint16(252), - 986: uint16(197), - 987: uint16(193), - 988: uint16(19), - 989: uint16(301), - 990: uint16(302), - 991: uint16(135), - 992: uint16(193), - 993: uint16(204), - 994: uint16(216), + 977: uint16(194), + 978: uint16(25), + 979: uint16(254), + 980: uint16(303), + 981: uint16(304), + 982: uint16(23), + 983: uint16(194), + 984: uint16(25), + 985: uint16(126), + 986: uint16(306), + 987: uint16(306), + 988: uint16(308), + 989: uint16(308), + 990: uint16(306), + 991: uint16(271), + 992: uint16(308), + 993: uint16(117), + 994: uint16(286), 995: uint16(217), - 996: uint16(140), - 997: uint16(216), - 998: uint16(217), - 999: uint16(266), - 1000: uint16(204), + 996: uint16(218), + 997: uint16(217), + 998: uint16(218), + 999: uint16(194), + 1000: uint16(194), 1001: uint16(159), 1002: uint16(45), 1003: uint16(46), @@ -225340,38 +226649,38 @@ var _yy_lookahead = [2285]uint16{ 1024: uint16(111), 1025: uint16(112), 1026: uint16(113), - 1027: uint16(12), + 1027: uint16(59), 1028: uint16(239), - 1029: uint16(240), - 1030: uint16(193), - 1031: uint16(298), - 1032: uint16(238), - 1033: uint16(117), - 1034: uint16(253), - 1035: uint16(239), + 1029: uint16(194), + 1030: uint16(116), + 1031: uint16(117), + 1032: uint16(118), + 1033: uint16(260), + 1034: uint16(254), + 1035: uint16(194), 1036: uint16(240), - 1037: uint16(238), - 1038: uint16(259), - 1039: uint16(260), - 1040: uint16(193), - 1041: uint16(252), - 1042: uint16(27), - 1043: uint16(193), - 1044: uint16(77), - 1045: uint16(193), - 1046: uint16(79), - 1047: uint16(204), - 1048: uint16(252), - 1049: uint16(262), - 1050: uint16(193), - 1051: uint16(299), - 1052: uint16(300), - 1053: uint16(193), - 1054: uint16(100), - 1055: uint16(266), - 1056: uint16(278), - 1057: uint16(42), - 1058: uint16(204), + 1037: uint16(241), + 1038: uint16(194), + 1039: uint16(233), + 1040: uint16(205), + 1041: uint16(240), + 1042: uint16(241), + 1043: uint16(205), + 1044: uint16(239), + 1045: uint16(128), + 1046: uint16(129), + 1047: uint16(270), + 1048: uint16(265), + 1049: uint16(253), + 1050: uint16(194), + 1051: uint16(255), + 1052: uint16(217), + 1053: uint16(218), + 1054: uint16(253), + 1055: uint16(194), + 1056: uint16(255), + 1057: uint16(143), + 1058: uint16(280), 1059: uint16(102), 1060: uint16(103), 1061: uint16(104), @@ -225384,51 +226693,51 @@ var _yy_lookahead = [2285]uint16{ 1068: uint16(111), 1069: uint16(112), 1070: uint16(113), - 1071: uint16(117), + 1071: uint16(118), 1072: uint16(159), - 1073: uint16(216), - 1074: uint16(217), - 1075: uint16(121), - 1076: uint16(216), - 1077: uint16(217), - 1078: uint16(63), - 1079: uint16(193), - 1080: uint16(193), - 1081: uint16(193), - 1082: uint16(239), - 1083: uint16(240), - 1084: uint16(115), - 1085: uint16(116), - 1086: uint16(193), - 1087: uint16(298), - 1088: uint16(73), - 1089: uint16(240), - 1090: uint16(238), - 1091: uint16(231), + 1073: uint16(217), + 1074: uint16(218), + 1075: uint16(240), + 1076: uint16(241), + 1077: uint16(118), + 1078: uint16(240), + 1079: uint16(241), + 1080: uint16(194), + 1081: uint16(194), + 1082: uint16(194), + 1083: uint16(239), + 1084: uint16(116), + 1085: uint16(117), + 1086: uint16(118), + 1087: uint16(22), + 1088: uint16(253), + 1089: uint16(254), + 1090: uint16(255), + 1091: uint16(253), 1092: uint16(19), - 1093: uint16(239), - 1094: uint16(240), - 1095: uint16(252), - 1096: uint16(22), + 1093: uint16(255), + 1094: uint16(233), + 1095: uint16(194), + 1096: uint16(143), 1097: uint16(24), - 1098: uint16(211), + 1098: uint16(263), 1099: uint16(212), - 1100: uint16(263), - 1101: uint16(252), - 1102: uint16(216), + 1100: uint16(213), + 1101: uint16(194), + 1102: uint16(143), 1103: uint16(217), - 1104: uint16(216), + 1104: uint16(218), 1105: uint16(217), - 1106: uint16(252), - 1107: uint16(153), - 1108: uint16(154), - 1109: uint16(155), - 1110: uint16(253), - 1111: uint16(193), + 1106: uint16(218), + 1107: uint16(261), + 1108: uint16(262), + 1109: uint16(271), + 1110: uint16(254), + 1111: uint16(143), 1112: uint16(19), - 1113: uint16(144), - 1114: uint16(213), - 1115: uint16(268), + 1113: uint16(7), + 1114: uint16(8), + 1115: uint16(9), 1116: uint16(43), 1117: uint16(44), 1118: uint16(45), @@ -225444,11 +226753,11 @@ var _yy_lookahead = [2285]uint16{ 1128: uint16(55), 1129: uint16(56), 1130: uint16(57), - 1131: uint16(193), + 1131: uint16(16), 1132: uint16(19), - 1133: uint16(59), - 1134: uint16(216), - 1135: uint16(217), + 1133: uint16(22), + 1134: uint16(23), + 1135: uint16(294), 1136: uint16(43), 1137: uint16(44), 1138: uint16(45), @@ -225464,11 +226773,11 @@ var _yy_lookahead = [2285]uint16{ 1148: uint16(55), 1149: uint16(56), 1150: uint16(57), - 1151: uint16(193), - 1152: uint16(19), - 1153: uint16(24), - 1154: uint16(216), - 1155: uint16(217), + 1151: uint16(312), + 1152: uint16(194), + 1153: uint16(214), + 1154: uint16(21), + 1155: uint16(316), 1156: uint16(43), 1157: uint16(44), 1158: uint16(45), @@ -225484,10 +226793,10 @@ var _yy_lookahead = [2285]uint16{ 1168: uint16(55), 1169: uint16(56), 1170: uint16(57), - 1171: uint16(284), - 1172: uint16(193), - 1173: uint16(208), - 1174: uint16(209), + 1171: uint16(106), + 1172: uint16(107), + 1173: uint16(286), + 1174: uint16(194), 1175: uint16(102), 1176: uint16(103), 1177: uint16(104), @@ -225500,14 +226809,14 @@ var _yy_lookahead = [2285]uint16{ 1184: uint16(111), 1185: uint16(112), 1186: uint16(113), - 1187: uint16(286), - 1188: uint16(59), - 1189: uint16(193), - 1190: uint16(232), - 1191: uint16(117), - 1192: uint16(291), - 1193: uint16(193), - 1194: uint16(193), + 1187: uint16(207), + 1188: uint16(158), + 1189: uint16(59), + 1190: uint16(160), + 1191: uint16(22), + 1192: uint16(77), + 1193: uint16(24), + 1194: uint16(79), 1195: uint16(102), 1196: uint16(103), 1197: uint16(104), @@ -225520,14 +226829,14 @@ var _yy_lookahead = [2285]uint16{ 1204: uint16(111), 1205: uint16(112), 1206: uint16(113), - 1207: uint16(193), - 1208: uint16(204), - 1209: uint16(22), - 1210: uint16(23), - 1211: uint16(193), - 1212: uint16(25), - 1213: uint16(66), - 1214: uint16(193), + 1207: uint16(194), + 1208: uint16(194), + 1209: uint16(229), + 1210: uint16(194), + 1211: uint16(231), + 1212: uint16(101), + 1213: uint16(80), + 1214: uint16(22), 1215: uint16(102), 1216: uint16(103), 1217: uint16(104), @@ -225540,39 +226849,39 @@ var _yy_lookahead = [2285]uint16{ 1224: uint16(111), 1225: uint16(112), 1226: uint16(113), - 1227: uint16(193), - 1228: uint16(193), - 1229: uint16(193), - 1230: uint16(216), - 1231: uint16(217), - 1232: uint16(85), - 1233: uint16(193), - 1234: uint16(238), + 1227: uint16(288), + 1228: uint16(59), + 1229: uint16(12), + 1230: uint16(217), + 1231: uint16(218), + 1232: uint16(293), + 1233: uint16(217), + 1234: uint16(218), 1235: uint16(19), - 1236: uint16(16), - 1237: uint16(216), - 1238: uint16(217), - 1239: uint16(238), - 1240: uint16(193), - 1241: uint16(94), - 1242: uint16(193), - 1243: uint16(239), - 1244: uint16(240), - 1245: uint16(231), - 1246: uint16(117), - 1247: uint16(268), - 1248: uint16(35), - 1249: uint16(116), - 1250: uint16(216), - 1251: uint16(217), - 1252: uint16(216), - 1253: uint16(217), - 1254: uint16(22), - 1255: uint16(23), - 1256: uint16(252), - 1257: uint16(25), - 1258: uint16(208), - 1259: uint16(209), + 1236: uint16(106), + 1237: uint16(107), + 1238: uint16(59), + 1239: uint16(19), + 1240: uint16(16), + 1241: uint16(127), + 1242: uint16(128), + 1243: uint16(129), + 1244: uint16(27), + 1245: uint16(115), + 1246: uint16(116), + 1247: uint16(117), + 1248: uint16(118), + 1249: uint16(194), + 1250: uint16(120), + 1251: uint16(59), + 1252: uint16(22), + 1253: uint16(194), + 1254: uint16(24), + 1255: uint16(194), + 1256: uint16(123), + 1257: uint16(100), + 1258: uint16(128), + 1259: uint16(42), 1260: uint16(44), 1261: uint16(45), 1262: uint16(46), @@ -225587,50 +226896,50 @@ var _yy_lookahead = [2285]uint16{ 1271: uint16(55), 1272: uint16(56), 1273: uint16(57), - 1274: uint16(193), - 1275: uint16(193), - 1276: uint16(19), - 1277: uint16(5), - 1278: uint16(59), - 1279: uint16(66), - 1280: uint16(193), - 1281: uint16(263), - 1282: uint16(10), - 1283: uint16(11), - 1284: uint16(12), - 1285: uint16(13), - 1286: uint16(14), - 1287: uint16(74), - 1288: uint16(101), - 1289: uint16(17), - 1290: uint16(193), - 1291: uint16(46), - 1292: uint16(193), - 1293: uint16(146), - 1294: uint16(193), - 1295: uint16(76), - 1296: uint16(213), - 1297: uint16(77), - 1298: uint16(263), - 1299: uint16(79), - 1300: uint16(12), - 1301: uint16(260), - 1302: uint16(30), - 1303: uint16(46), - 1304: uint16(32), - 1305: uint16(264), - 1306: uint16(87), - 1307: uint16(193), - 1308: uint16(89), - 1309: uint16(29), - 1310: uint16(263), - 1311: uint16(92), - 1312: uint16(40), - 1313: uint16(33), - 1314: uint16(232), - 1315: uint16(27), - 1316: uint16(193), - 1317: uint16(108), + 1274: uint16(117), + 1275: uint16(194), + 1276: uint16(217), + 1277: uint16(218), + 1278: uint16(121), + 1279: uint16(100), + 1280: uint16(63), + 1281: uint16(194), + 1282: uint16(245), + 1283: uint16(153), + 1284: uint16(194), + 1285: uint16(155), + 1286: uint16(117), + 1287: uint16(19), + 1288: uint16(115), + 1289: uint16(194), + 1290: uint16(73), + 1291: uint16(214), + 1292: uint16(194), + 1293: uint16(256), + 1294: uint16(161), + 1295: uint16(116), + 1296: uint16(117), + 1297: uint16(194), + 1298: uint16(217), + 1299: uint16(218), + 1300: uint16(121), + 1301: uint16(77), + 1302: uint16(194), + 1303: uint16(79), + 1304: uint16(217), + 1305: uint16(218), + 1306: uint16(194), + 1307: uint16(217), + 1308: uint16(218), + 1309: uint16(117), + 1310: uint16(153), + 1311: uint16(154), + 1312: uint16(155), + 1313: uint16(254), + 1314: uint16(46), + 1315: uint16(217), + 1316: uint16(218), + 1317: uint16(144), 1318: uint16(102), 1319: uint16(103), 1320: uint16(104), @@ -225643,1025 +226952,1068 @@ var _yy_lookahead = [2285]uint16{ 1327: uint16(111), 1328: uint16(112), 1329: uint16(113), - 1330: uint16(42), - 1331: uint16(138), - 1332: uint16(139), - 1333: uint16(101), - 1334: uint16(193), - 1335: uint16(116), - 1336: uint16(117), - 1337: uint16(118), + 1330: uint16(232), + 1331: uint16(270), + 1332: uint16(153), + 1333: uint16(154), + 1334: uint16(155), + 1335: uint16(115), + 1336: uint16(116), + 1337: uint16(66), 1338: uint16(19), 1339: uint16(20), - 1340: uint16(255), + 1340: uint16(183), 1341: uint16(22), - 1342: uint16(70), - 1343: uint16(130), - 1344: uint16(135), - 1345: uint16(65), - 1346: uint16(256), - 1347: uint16(257), - 1348: uint16(193), - 1349: uint16(140), - 1350: uint16(78), - 1351: uint16(63), - 1352: uint16(193), - 1353: uint16(81), - 1354: uint16(193), + 1342: uint16(12), + 1343: uint16(312), + 1344: uint16(254), + 1345: uint16(194), + 1346: uint16(262), + 1347: uint16(316), + 1348: uint16(209), + 1349: uint16(210), + 1350: uint16(266), + 1351: uint16(239), + 1352: uint16(194), + 1353: uint16(194), + 1354: uint16(108), 1355: uint16(36), - 1356: uint16(193), - 1357: uint16(216), - 1358: uint16(217), - 1359: uint16(193), - 1360: uint16(115), - 1361: uint16(193), - 1362: uint16(263), - 1363: uint16(193), - 1364: uint16(145), - 1365: uint16(268), - 1366: uint16(59), + 1356: uint16(85), + 1357: uint16(27), + 1358: uint16(19), + 1359: uint16(20), + 1360: uint16(265), + 1361: uint16(22), + 1362: uint16(183), + 1363: uint16(245), + 1364: uint16(144), + 1365: uint16(94), + 1366: uint16(25), 1367: uint16(48), - 1368: uint16(193), - 1369: uint16(193), - 1370: uint16(98), - 1371: uint16(193), - 1372: uint16(115), - 1373: uint16(193), - 1374: uint16(291), - 1375: uint16(216), + 1368: uint16(217), + 1369: uint16(218), + 1370: uint16(293), + 1371: uint16(194), + 1372: uint16(42), + 1373: uint16(270), + 1374: uint16(256), + 1375: uint16(36), 1376: uint16(217), - 1377: uint16(193), + 1377: uint16(218), 1378: uint16(59), - 1379: uint16(216), - 1380: uint16(217), - 1381: uint16(161), - 1382: uint16(216), - 1383: uint16(217), - 1384: uint16(216), - 1385: uint16(217), - 1386: uint16(216), - 1387: uint16(217), - 1388: uint16(131), - 1389: uint16(193), + 1379: uint16(194), + 1380: uint16(25), + 1381: uint16(135), + 1382: uint16(194), + 1383: uint16(115), + 1384: uint16(194), + 1385: uint16(161), + 1386: uint16(140), + 1387: uint16(194), + 1388: uint16(194), + 1389: uint16(15), 1390: uint16(71), - 1391: uint16(193), - 1392: uint16(216), - 1393: uint16(217), - 1394: uint16(216), - 1395: uint16(217), - 1396: uint16(216), - 1397: uint16(217), - 1398: uint16(193), - 1399: uint16(260), - 1400: uint16(216), - 1401: uint16(217), - 1402: uint16(19), - 1403: uint16(264), + 1391: uint16(194), + 1392: uint16(312), + 1393: uint16(63), + 1394: uint16(217), + 1395: uint16(218), + 1396: uint16(316), + 1397: uint16(194), + 1398: uint16(59), + 1399: uint16(131), + 1400: uint16(301), + 1401: uint16(302), + 1402: uint16(217), + 1403: uint16(218), 1404: uint16(85), - 1405: uint16(133), - 1406: uint16(244), - 1407: uint16(100), - 1408: uint16(193), + 1405: uint16(217), + 1406: uint16(218), + 1407: uint16(217), + 1408: uint16(218), 1409: uint16(90), - 1410: uint16(138), - 1411: uint16(139), - 1412: uint16(216), - 1413: uint16(217), - 1414: uint16(216), - 1415: uint16(217), - 1416: uint16(254), - 1417: uint16(244), - 1418: uint16(193), + 1410: uint16(71), + 1411: uint16(217), + 1412: uint16(218), + 1413: uint16(19), + 1414: uint16(217), + 1415: uint16(218), + 1416: uint16(245), + 1417: uint16(146), + 1418: uint16(262), 1419: uint16(100), - 1420: uint16(193), - 1421: uint16(216), - 1422: uint16(217), - 1423: uint16(116), - 1424: uint16(117), + 1420: uint16(217), + 1421: uint16(218), + 1422: uint16(266), + 1423: uint16(265), + 1424: uint16(85), 1425: uint16(106), 1426: uint16(107), - 1427: uint16(254), - 1428: uint16(121), - 1429: uint16(193), - 1430: uint16(115), - 1431: uint16(216), - 1432: uint16(217), + 1427: uint16(256), + 1428: uint16(312), + 1429: uint16(90), + 1430: uint16(209), + 1431: uint16(210), + 1432: uint16(316), 1433: uint16(114), - 1434: uint16(162), + 1434: uint16(60), 1435: uint16(116), 1436: uint16(117), 1437: uint16(118), - 1438: uint16(115), - 1439: uint16(244), + 1438: uint16(194), + 1439: uint16(100), 1440: uint16(121), - 1441: uint16(216), - 1442: uint16(217), - 1443: uint16(216), - 1444: uint16(217), - 1445: uint16(193), - 1446: uint16(309), - 1447: uint16(193), - 1448: uint16(31), - 1449: uint16(254), - 1450: uint16(313), - 1451: uint16(309), - 1452: uint16(216), - 1453: uint16(217), - 1454: uint16(309), - 1455: uint16(313), - 1456: uint16(39), - 1457: uint16(193), - 1458: uint16(313), - 1459: uint16(309), - 1460: uint16(153), - 1461: uint16(154), - 1462: uint16(155), - 1463: uint16(313), - 1464: uint16(193), - 1465: uint16(150), - 1466: uint16(25), - 1467: uint16(144), - 1468: uint16(216), - 1469: uint16(217), - 1470: uint16(216), - 1471: uint16(217), + 1441: uint16(194), + 1442: uint16(194), + 1443: uint16(145), + 1444: uint16(115), + 1445: uint16(106), + 1446: uint16(107), + 1447: uint16(19), + 1448: uint16(46), + 1449: uint16(19), + 1450: uint16(20), + 1451: uint16(24), + 1452: uint16(22), + 1453: uint16(114), + 1454: uint16(194), + 1455: uint16(116), + 1456: uint16(117), + 1457: uint16(118), + 1458: uint16(194), + 1459: uint16(245), + 1460: uint16(121), + 1461: uint16(194), + 1462: uint16(164), + 1463: uint16(194), + 1464: uint16(217), + 1465: uint16(218), + 1466: uint16(36), + 1467: uint16(194), + 1468: uint16(258), + 1469: uint16(259), + 1470: uint16(256), + 1471: uint16(194), 1472: uint16(153), 1473: uint16(154), 1474: uint16(155), 1475: uint16(156), 1476: uint16(157), - 1478: uint16(1), - 1479: uint16(2), - 1480: uint16(216), + 1477: uint16(217), + 1478: uint16(218), + 1479: uint16(150), + 1480: uint16(31), 1481: uint16(217), - 1482: uint16(5), - 1483: uint16(149), - 1484: uint16(150), - 1485: uint16(22), - 1486: uint16(193), - 1487: uint16(10), - 1488: uint16(11), - 1489: uint16(12), - 1490: uint16(13), - 1491: uint16(14), - 1492: uint16(193), - 1493: uint16(158), - 1494: uint16(17), - 1495: uint16(160), - 1496: uint16(193), - 1497: uint16(19), - 1498: uint16(20), - 1499: uint16(116), - 1500: uint16(22), - 1501: uint16(25), - 1502: uint16(193), - 1503: uint16(24), - 1504: uint16(22), - 1505: uint16(193), - 1506: uint16(24), - 1507: uint16(30), - 1508: uint16(226), - 1509: uint16(32), - 1510: uint16(19), - 1511: uint16(20), - 1512: uint16(226), - 1513: uint16(22), - 1514: uint16(36), - 1515: uint16(193), - 1516: uint16(53), - 1517: uint16(40), - 1518: uint16(193), - 1519: uint16(216), - 1520: uint16(217), - 1521: uint16(193), - 1522: uint16(23), - 1523: uint16(193), - 1524: uint16(25), - 1525: uint16(216), - 1526: uint16(217), - 1527: uint16(36), - 1528: uint16(216), - 1529: uint16(217), - 1530: uint16(193), - 1531: uint16(99), - 1532: uint16(193), - 1533: uint16(193), - 1534: uint16(22), - 1535: uint16(193), - 1536: uint16(193), - 1537: uint16(59), - 1538: uint16(216), + 1482: uint16(218), + 1483: uint16(142), + 1484: uint16(217), + 1485: uint16(218), + 1486: uint16(217), + 1487: uint16(218), + 1488: uint16(39), + 1489: uint16(59), + 1490: uint16(217), + 1491: uint16(218), + 1492: uint16(153), + 1493: uint16(154), + 1494: uint16(155), + 1495: uint16(156), + 1496: uint16(157), + 1497: uint16(149), + 1498: uint16(150), + 1499: uint16(5), + 1500: uint16(145), + 1501: uint16(71), + 1502: uint16(183), + 1503: uint16(245), + 1504: uint16(10), + 1505: uint16(11), + 1506: uint16(12), + 1507: uint16(13), + 1508: uint16(14), + 1509: uint16(194), + 1510: uint16(116), + 1511: uint16(17), + 1512: uint16(129), + 1513: uint16(227), + 1514: uint16(256), + 1515: uint16(85), + 1516: uint16(194), + 1517: uint16(115), + 1518: uint16(194), + 1519: uint16(23), + 1520: uint16(90), + 1521: uint16(25), + 1522: uint16(183), + 1523: uint16(99), + 1524: uint16(30), + 1525: uint16(97), + 1526: uint16(32), + 1527: uint16(22), + 1528: uint16(22), + 1529: uint16(194), + 1530: uint16(100), + 1531: uint16(194), + 1532: uint16(217), + 1533: uint16(218), + 1534: uint16(40), + 1535: uint16(152), + 1536: uint16(106), + 1537: uint16(107), + 1538: uint16(23), 1539: uint16(217), - 1540: uint16(193), - 1541: uint16(216), - 1542: uint16(217), - 1543: uint16(193), - 1544: uint16(216), - 1545: uint16(217), - 1546: uint16(193), - 1547: uint16(70), - 1548: uint16(129), - 1549: uint16(71), - 1550: uint16(59), - 1551: uint16(129), - 1552: uint16(193), - 1553: uint16(216), + 1540: uint16(218), + 1541: uint16(194), + 1542: uint16(19), + 1543: uint16(20), + 1544: uint16(114), + 1545: uint16(22), + 1546: uint16(116), + 1547: uint16(117), + 1548: uint16(118), + 1549: uint16(257), + 1550: uint16(194), + 1551: uint16(121), + 1552: uint16(217), + 1553: uint16(218), 1554: uint16(217), - 1555: uint16(78), - 1556: uint16(216), - 1557: uint16(217), - 1558: uint16(81), - 1559: uint16(216), - 1560: uint16(217), - 1561: uint16(193), - 1562: uint16(71), - 1563: uint16(85), - 1564: uint16(193), - 1565: uint16(133), - 1566: uint16(193), - 1567: uint16(126), - 1568: uint16(90), - 1569: uint16(216), - 1570: uint16(217), - 1571: uint16(152), - 1572: uint16(258), - 1573: uint16(61), - 1574: uint16(152), - 1575: uint16(98), - 1576: uint16(85), - 1577: uint16(193), - 1578: uint16(100), - 1579: uint16(193), - 1580: uint16(23), - 1581: uint16(90), - 1582: uint16(25), - 1583: uint16(121), - 1584: uint16(106), - 1585: uint16(107), - 1586: uint16(23), - 1587: uint16(216), - 1588: uint16(217), - 1589: uint16(216), - 1590: uint16(217), - 1591: uint16(100), - 1592: uint16(114), - 1593: uint16(131), - 1594: uint16(116), - 1595: uint16(117), - 1596: uint16(118), - 1597: uint16(106), - 1598: uint16(107), - 1599: uint16(121), - 1600: uint16(216), - 1601: uint16(217), - 1602: uint16(216), - 1603: uint16(217), - 1604: uint16(193), - 1605: uint16(114), - 1606: uint16(193), - 1607: uint16(116), - 1608: uint16(117), - 1609: uint16(118), - 1610: uint16(133), - 1611: uint16(22), - 1612: uint16(121), - 1613: uint16(193), - 1614: uint16(59), - 1615: uint16(138), - 1616: uint16(139), - 1617: uint16(193), - 1618: uint16(142), - 1619: uint16(193), - 1620: uint16(141), - 1621: uint16(23), - 1622: uint16(23), - 1623: uint16(25), - 1624: uint16(25), - 1625: uint16(120), - 1626: uint16(121), - 1627: uint16(216), - 1628: uint16(217), - 1629: uint16(216), - 1630: uint16(217), - 1631: uint16(153), - 1632: uint16(154), - 1633: uint16(155), - 1634: uint16(156), - 1635: uint16(157), - 1636: uint16(216), - 1637: uint16(217), - 1638: uint16(19), - 1639: uint16(162), - 1640: uint16(216), - 1641: uint16(217), - 1642: uint16(216), - 1643: uint16(217), - 1644: uint16(153), - 1645: uint16(154), - 1646: uint16(155), - 1647: uint16(156), - 1648: uint16(157), - 1649: uint16(1), - 1650: uint16(2), - 1651: uint16(193), - 1652: uint16(59), - 1653: uint16(5), - 1654: uint16(19), - 1655: uint16(20), - 1656: uint16(318), - 1657: uint16(22), - 1658: uint16(10), - 1659: uint16(11), - 1660: uint16(12), - 1661: uint16(13), - 1662: uint16(14), - 1663: uint16(193), - 1664: uint16(59), - 1665: uint16(17), - 1666: uint16(193), - 1667: uint16(23), - 1668: uint16(23), - 1669: uint16(25), - 1670: uint16(25), - 1671: uint16(36), - 1672: uint16(117), - 1673: uint16(193), - 1674: uint16(216), - 1675: uint16(217), - 1676: uint16(193), - 1677: uint16(23), - 1678: uint16(30), - 1679: uint16(25), - 1680: uint16(32), - 1681: uint16(19), - 1682: uint16(20), - 1683: uint16(23), - 1684: uint16(22), - 1685: uint16(25), - 1686: uint16(216), - 1687: uint16(217), - 1688: uint16(40), - 1689: uint16(216), + 1555: uint16(218), + 1556: uint16(194), + 1557: uint16(133), + 1558: uint16(53), + 1559: uint16(36), + 1560: uint16(23), + 1561: uint16(23), + 1562: uint16(25), + 1563: uint16(25), + 1564: uint16(70), + 1565: uint16(120), + 1566: uint16(121), + 1567: uint16(61), + 1568: uint16(141), + 1569: uint16(7), + 1570: uint16(8), + 1571: uint16(121), + 1572: uint16(78), + 1573: uint16(217), + 1574: uint16(218), + 1575: uint16(81), + 1576: uint16(23), + 1577: uint16(227), + 1578: uint16(25), + 1579: uint16(217), + 1580: uint16(218), + 1581: uint16(131), + 1582: uint16(59), + 1583: uint16(153), + 1584: uint16(154), + 1585: uint16(155), + 1586: uint16(156), + 1587: uint16(157), + 1589: uint16(1), + 1590: uint16(2), + 1591: uint16(59), + 1592: uint16(98), + 1593: uint16(5), + 1594: uint16(71), + 1595: uint16(23), + 1596: uint16(227), + 1597: uint16(25), + 1598: uint16(10), + 1599: uint16(11), + 1600: uint16(12), + 1601: uint16(13), + 1602: uint16(14), + 1603: uint16(83), + 1604: uint16(84), + 1605: uint16(17), + 1606: uint16(23), + 1607: uint16(23), + 1608: uint16(25), + 1609: uint16(25), + 1610: uint16(59), + 1611: uint16(194), + 1612: uint16(194), + 1613: uint16(183), + 1614: uint16(23), + 1615: uint16(23), + 1616: uint16(25), + 1617: uint16(25), + 1618: uint16(30), + 1619: uint16(194), + 1620: uint16(32), + 1621: uint16(19), + 1622: uint16(20), + 1623: uint16(100), + 1624: uint16(22), + 1625: uint16(194), + 1626: uint16(194), + 1627: uint16(133), + 1628: uint16(40), + 1629: uint16(106), + 1630: uint16(107), + 1631: uint16(108), + 1632: uint16(138), + 1633: uint16(139), + 1634: uint16(194), + 1635: uint16(217), + 1636: uint16(218), + 1637: uint16(114), + 1638: uint16(36), + 1639: uint16(116), + 1640: uint16(117), + 1641: uint16(118), + 1642: uint16(217), + 1643: uint16(218), + 1644: uint16(121), + 1645: uint16(194), + 1646: uint16(194), + 1647: uint16(194), + 1648: uint16(23), + 1649: uint16(117), + 1650: uint16(25), + 1651: uint16(194), + 1652: uint16(23), + 1653: uint16(23), + 1654: uint16(25), + 1655: uint16(25), + 1656: uint16(162), + 1657: uint16(194), + 1658: uint16(70), + 1659: uint16(194), + 1660: uint16(145), + 1661: uint16(59), + 1662: uint16(23), + 1663: uint16(153), + 1664: uint16(25), + 1665: uint16(155), + 1666: uint16(78), + 1667: uint16(194), + 1668: uint16(117), + 1669: uint16(81), + 1670: uint16(217), + 1671: uint16(218), + 1672: uint16(194), + 1673: uint16(71), + 1674: uint16(217), + 1675: uint16(218), + 1676: uint16(153), + 1677: uint16(154), + 1678: uint16(155), + 1679: uint16(156), + 1680: uint16(157), + 1681: uint16(194), + 1682: uint16(217), + 1683: uint16(218), + 1684: uint16(194), + 1685: uint16(23), + 1686: uint16(98), + 1687: uint16(25), + 1688: uint16(321), + 1689: uint16(194), 1690: uint16(217), - 1691: uint16(7), - 1692: uint16(8), - 1693: uint16(23), - 1694: uint16(59), - 1695: uint16(25), - 1696: uint16(83), - 1697: uint16(84), - 1698: uint16(36), - 1699: uint16(23), - 1700: uint16(193), - 1701: uint16(25), - 1702: uint16(23), - 1703: uint16(23), - 1704: uint16(25), - 1705: uint16(25), - 1706: uint16(71), - 1707: uint16(153), - 1708: uint16(145), - 1709: uint16(155), - 1710: uint16(117), - 1711: uint16(153), - 1712: uint16(23), - 1713: uint16(155), - 1714: uint16(25), - 1715: uint16(23), - 1716: uint16(97), - 1717: uint16(25), - 1718: uint16(70), - 1719: uint16(193), - 1720: uint16(193), - 1721: uint16(59), - 1722: uint16(117), - 1723: uint16(236), - 1724: uint16(193), - 1725: uint16(193), - 1726: uint16(78), - 1727: uint16(193), - 1728: uint16(193), - 1729: uint16(81), - 1730: uint16(141), - 1731: uint16(193), - 1732: uint16(193), - 1733: uint16(71), - 1734: uint16(193), - 1735: uint16(100), - 1736: uint16(288), - 1737: uint16(287), - 1738: uint16(242), - 1739: uint16(255), - 1740: uint16(255), - 1741: uint16(106), - 1742: uint16(107), - 1743: uint16(108), - 1744: uint16(255), - 1745: uint16(255), - 1746: uint16(98), - 1747: uint16(243), - 1748: uint16(297), - 1749: uint16(114), - 1750: uint16(214), - 1751: uint16(116), - 1752: uint16(117), - 1753: uint16(118), - 1754: uint16(245), - 1755: uint16(191), - 1756: uint16(121), - 1757: uint16(271), - 1758: uint16(293), - 1759: uint16(267), - 1760: uint16(267), - 1761: uint16(246), - 1762: uint16(100), - 1763: uint16(246), - 1764: uint16(245), - 1765: uint16(271), - 1766: uint16(271), - 1767: uint16(293), - 1768: uint16(106), - 1769: uint16(107), - 1770: uint16(220), - 1771: uint16(271), - 1772: uint16(229), - 1773: uint16(225), - 1774: uint16(249), - 1775: uint16(219), - 1776: uint16(114), - 1777: uint16(259), - 1778: uint16(116), - 1779: uint16(117), - 1780: uint16(118), - 1781: uint16(133), - 1782: uint16(259), - 1783: uint16(121), - 1784: uint16(219), - 1785: uint16(219), - 1786: uint16(138), - 1787: uint16(139), - 1788: uint16(153), - 1789: uint16(154), - 1790: uint16(155), - 1791: uint16(156), - 1792: uint16(157), - 1793: uint16(280), - 1794: uint16(249), - 1795: uint16(243), - 1796: uint16(19), - 1797: uint16(20), - 1798: uint16(245), - 1799: uint16(22), - 1800: uint16(196), - 1801: uint16(259), - 1802: uint16(140), - 1803: uint16(259), - 1804: uint16(60), - 1805: uint16(297), - 1806: uint16(141), - 1807: uint16(297), - 1808: uint16(200), - 1809: uint16(200), - 1810: uint16(162), - 1811: uint16(38), - 1812: uint16(200), - 1813: uint16(36), - 1814: uint16(294), - 1815: uint16(153), - 1816: uint16(154), - 1817: uint16(155), - 1818: uint16(156), - 1819: uint16(157), - 1820: uint16(151), - 1821: uint16(150), - 1822: uint16(294), - 1823: uint16(283), - 1824: uint16(22), - 1825: uint16(43), - 1826: uint16(234), - 1827: uint16(18), - 1828: uint16(237), - 1829: uint16(200), - 1830: uint16(270), - 1831: uint16(272), - 1832: uint16(237), - 1833: uint16(237), - 1834: uint16(237), - 1835: uint16(18), - 1836: uint16(59), - 1837: uint16(199), - 1838: uint16(270), - 1839: uint16(149), - 1840: uint16(246), - 1841: uint16(272), - 1842: uint16(272), - 1843: uint16(200), - 1844: uint16(234), - 1845: uint16(234), - 1846: uint16(246), - 1847: uint16(246), - 1848: uint16(71), - 1849: uint16(246), - 1850: uint16(199), - 1851: uint16(158), - 1852: uint16(290), - 1853: uint16(62), - 1854: uint16(22), - 1855: uint16(200), - 1856: uint16(19), - 1857: uint16(20), - 1858: uint16(199), - 1859: uint16(22), - 1860: uint16(289), - 1861: uint16(221), - 1862: uint16(221), - 1863: uint16(200), - 1864: uint16(200), - 1865: uint16(199), - 1866: uint16(199), - 1867: uint16(115), - 1868: uint16(218), - 1869: uint16(64), - 1870: uint16(218), - 1871: uint16(218), + 1691: uint16(218), + 1692: uint16(194), + 1693: uint16(19), + 1694: uint16(20), + 1695: uint16(194), + 1696: uint16(22), + 1697: uint16(153), + 1698: uint16(23), + 1699: uint16(155), + 1700: uint16(25), + 1701: uint16(194), + 1702: uint16(100), + 1703: uint16(194), + 1704: uint16(217), + 1705: uint16(218), + 1706: uint16(183), + 1707: uint16(194), + 1708: uint16(106), + 1709: uint16(107), + 1710: uint16(36), + 1711: uint16(194), + 1712: uint16(217), + 1713: uint16(218), + 1714: uint16(237), + 1715: uint16(194), + 1716: uint16(114), + 1717: uint16(243), + 1718: uint16(116), + 1719: uint16(117), + 1720: uint16(118), + 1721: uint16(133), + 1722: uint16(194), + 1723: uint16(121), + 1724: uint16(217), + 1725: uint16(218), + 1726: uint16(138), + 1727: uint16(139), + 1728: uint16(194), + 1729: uint16(194), + 1730: uint16(194), + 1731: uint16(290), + 1732: uint16(289), + 1733: uint16(59), + 1734: uint16(217), + 1735: uint16(218), + 1736: uint16(194), + 1737: uint16(194), + 1738: uint16(217), + 1739: uint16(218), + 1740: uint16(194), + 1741: uint16(194), + 1742: uint16(140), + 1743: uint16(194), + 1744: uint16(194), + 1745: uint16(71), + 1746: uint16(194), + 1747: uint16(244), + 1748: uint16(194), + 1749: uint16(194), + 1750: uint16(162), + 1751: uint16(217), + 1752: uint16(218), + 1753: uint16(194), + 1754: uint16(194), + 1755: uint16(153), + 1756: uint16(154), + 1757: uint16(155), + 1758: uint16(156), + 1759: uint16(157), + 1760: uint16(217), + 1761: uint16(218), + 1762: uint16(194), + 1763: uint16(217), + 1764: uint16(218), + 1765: uint16(194), + 1766: uint16(217), + 1767: uint16(218), + 1768: uint16(257), + 1769: uint16(217), + 1770: uint16(218), + 1771: uint16(217), + 1772: uint16(218), + 1773: uint16(257), + 1774: uint16(100), + 1775: uint16(194), + 1776: uint16(257), + 1777: uint16(217), + 1778: uint16(218), + 1779: uint16(257), + 1780: uint16(106), + 1781: uint16(107), + 1782: uint16(215), + 1783: uint16(299), + 1784: uint16(194), + 1785: uint16(183), + 1786: uint16(192), + 1787: uint16(194), + 1788: uint16(114), + 1789: uint16(194), + 1790: uint16(116), + 1791: uint16(117), + 1792: uint16(118), + 1793: uint16(1), + 1794: uint16(2), + 1795: uint16(121), + 1796: uint16(221), + 1797: uint16(5), + 1798: uint16(217), + 1799: uint16(218), + 1800: uint16(273), + 1801: uint16(197), + 1802: uint16(10), + 1803: uint16(11), + 1804: uint16(12), + 1805: uint16(13), + 1806: uint16(14), + 1807: uint16(217), + 1808: uint16(218), + 1809: uint16(17), + 1810: uint16(217), + 1811: uint16(218), + 1812: uint16(217), + 1813: uint16(218), + 1814: uint16(140), + 1815: uint16(194), + 1816: uint16(246), + 1817: uint16(194), + 1818: uint16(273), + 1819: uint16(295), + 1820: uint16(247), + 1821: uint16(273), + 1822: uint16(30), + 1823: uint16(247), + 1824: uint16(32), + 1825: uint16(269), + 1826: uint16(269), + 1827: uint16(153), + 1828: uint16(154), + 1829: uint16(155), + 1830: uint16(156), + 1831: uint16(157), + 1832: uint16(40), + 1833: uint16(246), + 1834: uint16(273), + 1835: uint16(295), + 1836: uint16(230), + 1837: uint16(226), + 1838: uint16(217), + 1839: uint16(218), + 1840: uint16(217), + 1841: uint16(218), + 1842: uint16(220), + 1843: uint16(261), + 1844: uint16(220), + 1845: uint16(282), + 1846: uint16(220), + 1847: uint16(19), + 1848: uint16(20), + 1849: uint16(244), + 1850: uint16(22), + 1851: uint16(250), + 1852: uint16(141), + 1853: uint16(250), + 1854: uint16(246), + 1855: uint16(60), + 1856: uint16(201), + 1857: uint16(183), + 1858: uint16(261), + 1859: uint16(261), + 1860: uint16(261), + 1861: uint16(201), + 1862: uint16(70), + 1863: uint16(299), + 1864: uint16(36), + 1865: uint16(299), + 1866: uint16(201), + 1867: uint16(38), + 1868: uint16(151), + 1869: uint16(150), + 1870: uint16(78), + 1871: uint16(285), 1872: uint16(22), - 1873: uint16(36), - 1874: uint16(227), - 1875: uint16(126), - 1876: uint16(227), - 1877: uint16(100), - 1878: uint16(165), - 1879: uint16(221), - 1880: uint16(224), - 1881: uint16(224), - 1882: uint16(24), - 1883: uint16(106), - 1884: uint16(107), - 1885: uint16(312), - 1886: uint16(218), - 1887: uint16(305), - 1888: uint16(113), - 1889: uint16(282), - 1890: uint16(91), - 1891: uint16(114), - 1892: uint16(220), - 1893: uint16(116), - 1894: uint16(117), - 1895: uint16(118), - 1896: uint16(59), - 1897: uint16(282), - 1898: uint16(121), - 1899: uint16(218), - 1900: uint16(218), - 1901: uint16(218), + 1873: uint16(81), + 1874: uint16(296), + 1875: uint16(296), + 1876: uint16(43), + 1877: uint16(235), + 1878: uint16(18), + 1879: uint16(238), + 1880: uint16(201), + 1881: uint16(274), + 1882: uint16(272), + 1883: uint16(238), + 1884: uint16(238), + 1885: uint16(238), + 1886: uint16(18), + 1887: uint16(59), + 1888: uint16(200), + 1889: uint16(149), + 1890: uint16(98), + 1891: uint16(247), + 1892: uint16(274), + 1893: uint16(274), + 1894: uint16(235), + 1895: uint16(247), + 1896: uint16(247), + 1897: uint16(247), + 1898: uint16(235), + 1899: uint16(71), + 1900: uint16(272), + 1901: uint16(201), 1902: uint16(200), - 1903: uint16(317), - 1904: uint16(317), - 1905: uint16(82), - 1906: uint16(221), - 1907: uint16(265), - 1908: uint16(71), - 1909: uint16(148), - 1910: uint16(145), - 1911: uint16(265), - 1912: uint16(22), - 1913: uint16(277), - 1914: uint16(200), - 1915: uint16(158), - 1916: uint16(279), - 1917: uint16(140), - 1918: uint16(147), - 1919: uint16(25), - 1920: uint16(146), - 1921: uint16(202), - 1922: uint16(248), - 1923: uint16(250), - 1924: uint16(249), - 1925: uint16(247), - 1926: uint16(13), - 1927: uint16(250), - 1928: uint16(194), - 1929: uint16(194), - 1930: uint16(153), - 1931: uint16(154), - 1932: uint16(155), - 1933: uint16(156), - 1934: uint16(157), - 1935: uint16(6), - 1936: uint16(303), - 1937: uint16(100), - 1938: uint16(192), - 1939: uint16(192), - 1940: uint16(246), - 1941: uint16(213), - 1942: uint16(192), - 1943: uint16(106), - 1944: uint16(107), - 1945: uint16(207), - 1946: uint16(213), - 1947: uint16(207), - 1948: uint16(222), - 1949: uint16(213), - 1950: uint16(213), - 1951: uint16(114), - 1952: uint16(222), - 1953: uint16(116), - 1954: uint16(117), - 1955: uint16(118), - 1956: uint16(214), - 1957: uint16(214), - 1958: uint16(121), - 1959: uint16(4), - 1960: uint16(207), - 1961: uint16(213), - 1962: uint16(3), - 1963: uint16(22), - 1964: uint16(303), - 1965: uint16(15), - 1966: uint16(163), - 1967: uint16(16), - 1968: uint16(23), - 1969: uint16(23), - 1970: uint16(139), - 1971: uint16(151), - 1972: uint16(130), - 1973: uint16(25), - 1974: uint16(20), - 1975: uint16(142), - 1976: uint16(24), - 1977: uint16(16), - 1978: uint16(144), - 1979: uint16(1), - 1980: uint16(142), - 1981: uint16(130), - 1982: uint16(130), - 1983: uint16(61), - 1984: uint16(37), - 1985: uint16(53), - 1986: uint16(300), - 1987: uint16(151), - 1988: uint16(53), - 1989: uint16(53), - 1990: uint16(153), - 1991: uint16(154), - 1992: uint16(155), - 1993: uint16(156), - 1994: uint16(157), - 1995: uint16(53), - 1996: uint16(130), - 1997: uint16(116), - 1998: uint16(34), - 1999: uint16(1), - 2000: uint16(141), - 2001: uint16(5), - 2002: uint16(22), - 2003: uint16(115), - 2004: uint16(161), - 2005: uint16(68), - 2006: uint16(25), - 2007: uint16(68), - 2008: uint16(75), - 2009: uint16(41), - 2010: uint16(141), - 2011: uint16(115), - 2012: uint16(24), - 2013: uint16(20), - 2014: uint16(19), - 2015: uint16(131), - 2016: uint16(125), - 2017: uint16(23), - 2018: uint16(28), - 2019: uint16(22), - 2020: uint16(67), - 2021: uint16(22), - 2022: uint16(22), - 2023: uint16(22), - 2024: uint16(67), - 2025: uint16(59), - 2026: uint16(24), - 2027: uint16(96), - 2028: uint16(22), - 2029: uint16(67), - 2030: uint16(23), - 2031: uint16(149), - 2032: uint16(22), - 2033: uint16(25), - 2034: uint16(23), - 2035: uint16(23), - 2036: uint16(23), - 2037: uint16(22), - 2038: uint16(34), - 2039: uint16(141), - 2040: uint16(37), - 2041: uint16(97), - 2042: uint16(23), - 2043: uint16(23), - 2044: uint16(116), - 2045: uint16(22), - 2046: uint16(143), - 2047: uint16(25), - 2048: uint16(34), - 2049: uint16(75), - 2050: uint16(34), - 2051: uint16(34), - 2052: uint16(34), - 2053: uint16(88), - 2054: uint16(75), - 2055: uint16(34), - 2056: uint16(86), - 2057: uint16(23), + 1903: uint16(158), + 1904: uint16(292), + 1905: uint16(62), + 1906: uint16(291), + 1907: uint16(201), + 1908: uint16(200), + 1909: uint16(22), + 1910: uint16(201), + 1911: uint16(222), + 1912: uint16(200), + 1913: uint16(222), + 1914: uint16(201), + 1915: uint16(200), + 1916: uint16(115), + 1917: uint16(219), + 1918: uint16(219), + 1919: uint16(64), + 1920: uint16(219), + 1921: uint16(228), + 1922: uint16(22), + 1923: uint16(126), + 1924: uint16(221), + 1925: uint16(133), + 1926: uint16(165), + 1927: uint16(222), + 1928: uint16(100), + 1929: uint16(225), + 1930: uint16(138), + 1931: uint16(139), + 1932: uint16(225), + 1933: uint16(219), + 1934: uint16(106), + 1935: uint16(107), + 1936: uint16(24), + 1937: uint16(219), + 1938: uint16(228), + 1939: uint16(219), + 1940: uint16(219), + 1941: uint16(307), + 1942: uint16(114), + 1943: uint16(113), + 1944: uint16(116), + 1945: uint16(117), + 1946: uint16(118), + 1947: uint16(315), + 1948: uint16(284), + 1949: uint16(121), + 1950: uint16(284), + 1951: uint16(222), + 1952: uint16(201), + 1953: uint16(91), + 1954: uint16(162), + 1955: uint16(320), + 1956: uint16(320), + 1957: uint16(82), + 1958: uint16(148), + 1959: uint16(267), + 1960: uint16(145), + 1961: uint16(267), + 1962: uint16(22), + 1963: uint16(279), + 1964: uint16(201), + 1965: uint16(158), + 1966: uint16(281), + 1967: uint16(251), + 1968: uint16(147), + 1969: uint16(146), + 1970: uint16(25), + 1971: uint16(203), + 1972: uint16(250), + 1973: uint16(249), + 1974: uint16(251), + 1975: uint16(248), + 1976: uint16(13), + 1977: uint16(247), + 1978: uint16(195), + 1979: uint16(195), + 1980: uint16(6), + 1981: uint16(153), + 1982: uint16(154), + 1983: uint16(155), + 1984: uint16(156), + 1985: uint16(157), + 1986: uint16(193), + 1987: uint16(193), + 1988: uint16(305), + 1989: uint16(193), + 1990: uint16(208), + 1991: uint16(305), + 1992: uint16(302), + 1993: uint16(214), + 1994: uint16(214), + 1995: uint16(214), + 1996: uint16(208), + 1997: uint16(223), + 1998: uint16(223), + 1999: uint16(214), + 2000: uint16(4), + 2001: uint16(215), + 2002: uint16(215), + 2003: uint16(214), + 2004: uint16(3), + 2005: uint16(22), + 2006: uint16(208), + 2007: uint16(163), + 2008: uint16(15), + 2009: uint16(23), + 2010: uint16(16), + 2011: uint16(183), + 2012: uint16(23), + 2013: uint16(139), + 2014: uint16(151), + 2015: uint16(130), + 2016: uint16(25), + 2017: uint16(20), + 2018: uint16(142), + 2019: uint16(24), + 2020: uint16(16), + 2021: uint16(144), + 2022: uint16(1), + 2023: uint16(142), + 2024: uint16(130), + 2025: uint16(130), + 2026: uint16(61), + 2027: uint16(37), + 2028: uint16(53), + 2029: uint16(151), + 2030: uint16(53), + 2031: uint16(53), + 2032: uint16(53), + 2033: uint16(130), + 2034: uint16(116), + 2035: uint16(1), + 2036: uint16(34), + 2037: uint16(141), + 2038: uint16(5), + 2039: uint16(22), + 2040: uint16(115), + 2041: uint16(161), + 2042: uint16(75), + 2043: uint16(25), + 2044: uint16(68), + 2045: uint16(141), + 2046: uint16(41), + 2047: uint16(115), + 2048: uint16(68), + 2049: uint16(24), + 2050: uint16(20), + 2051: uint16(19), + 2052: uint16(131), + 2053: uint16(125), + 2054: uint16(67), + 2055: uint16(67), + 2056: uint16(96), + 2057: uint16(22), 2058: uint16(22), - 2059: uint16(34), - 2060: uint16(93), - 2061: uint16(24), - 2062: uint16(34), - 2063: uint16(25), - 2064: uint16(25), - 2065: uint16(142), - 2066: uint16(142), + 2059: uint16(22), + 2060: uint16(37), + 2061: uint16(23), + 2062: uint16(22), + 2063: uint16(24), + 2064: uint16(22), + 2065: uint16(59), + 2066: uint16(67), 2067: uint16(23), - 2068: uint16(44), - 2069: uint16(23), - 2070: uint16(23), - 2071: uint16(23), + 2068: uint16(149), + 2069: uint16(28), + 2070: uint16(22), + 2071: uint16(25), 2072: uint16(23), - 2073: uint16(11), + 2073: uint16(23), 2074: uint16(23), - 2075: uint16(25), - 2076: uint16(22), - 2077: uint16(22), - 2078: uint16(22), - 2079: uint16(141), + 2075: uint16(22), + 2076: uint16(141), + 2077: uint16(34), + 2078: uint16(97), + 2079: uint16(23), 2080: uint16(23), - 2081: uint16(23), - 2082: uint16(22), + 2081: uint16(34), + 2082: uint16(116), 2083: uint16(22), - 2084: uint16(25), - 2085: uint16(15), - 2086: uint16(1), - 2087: uint16(23), - 2088: uint16(25), - 2089: uint16(1), - 2090: uint16(141), - 2091: uint16(135), - 2092: uint16(319), - 2093: uint16(319), - 2094: uint16(319), - 2095: uint16(319), - 2096: uint16(319), - 2097: uint16(319), - 2098: uint16(319), - 2099: uint16(141), - 2100: uint16(319), - 2101: uint16(319), - 2102: uint16(319), - 2103: uint16(319), - 2104: uint16(319), - 2105: uint16(319), - 2106: uint16(319), - 2107: uint16(319), - 2108: uint16(319), - 2109: uint16(319), - 2110: uint16(319), - 2111: uint16(319), - 2112: uint16(319), - 2113: uint16(319), - 2114: uint16(319), - 2115: uint16(319), - 2116: uint16(319), - 2117: uint16(319), - 2118: uint16(319), - 2119: uint16(319), - 2120: uint16(319), - 2121: uint16(319), - 2122: uint16(319), - 2123: uint16(319), - 2124: uint16(319), - 2125: uint16(319), - 2126: uint16(319), - 2127: uint16(319), - 2128: uint16(319), - 2129: uint16(319), - 2130: uint16(319), - 2131: uint16(319), - 2132: uint16(319), - 2133: uint16(319), - 2134: uint16(319), - 2135: uint16(319), - 2136: uint16(319), - 2137: uint16(319), - 2138: uint16(319), - 2139: uint16(319), - 2140: uint16(319), - 2141: uint16(319), - 2142: uint16(319), - 2143: uint16(319), - 2144: uint16(319), - 2145: uint16(319), - 2146: uint16(319), - 2147: uint16(319), - 2148: uint16(319), - 2149: uint16(319), - 2150: uint16(319), - 2151: uint16(319), - 2152: uint16(319), - 2153: uint16(319), - 2154: uint16(319), - 2155: uint16(319), - 2156: uint16(319), - 2157: uint16(319), - 2158: uint16(319), - 2159: uint16(319), - 2160: uint16(319), - 2161: uint16(319), - 2162: uint16(319), - 2163: uint16(319), - 2164: uint16(319), - 2165: uint16(319), - 2166: uint16(319), - 2167: uint16(319), - 2168: uint16(319), - 2169: uint16(319), - 2170: uint16(319), - 2171: uint16(319), - 2172: uint16(319), - 2173: uint16(319), - 2174: uint16(319), - 2175: uint16(319), - 2176: uint16(319), - 2177: uint16(319), - 2178: uint16(319), - 2179: uint16(319), - 2180: uint16(319), - 2181: uint16(319), - 2182: uint16(319), - 2183: uint16(319), - 2184: uint16(319), - 2185: uint16(319), - 2186: uint16(319), - 2187: uint16(319), - 2188: uint16(319), - 2189: uint16(319), - 2190: uint16(319), - 2191: uint16(319), - 2192: uint16(319), - 2193: uint16(319), - 2194: uint16(319), - 2195: uint16(319), - 2196: uint16(319), - 2197: uint16(319), - 2198: uint16(319), - 2199: uint16(319), - 2200: uint16(319), - 2201: uint16(319), - 2202: uint16(319), - 2203: uint16(319), - 2204: uint16(319), - 2205: uint16(319), - 2206: uint16(319), - 2207: uint16(319), - 2208: uint16(319), - 2209: uint16(319), - 2210: uint16(319), - 2211: uint16(319), - 2212: uint16(319), - 2213: uint16(319), - 2214: uint16(319), - 2215: uint16(319), - 2216: uint16(319), - 2217: uint16(319), - 2218: uint16(319), - 2219: uint16(319), - 2220: uint16(319), - 2221: uint16(319), - 2222: uint16(319), - 2223: uint16(319), - 2224: uint16(319), - 2225: uint16(319), - 2226: uint16(319), - 2227: uint16(319), - 2228: uint16(319), - 2229: uint16(319), - 2230: uint16(319), - 2231: uint16(319), - 2232: uint16(319), - 2233: uint16(319), - 2234: uint16(319), - 2235: uint16(319), - 2236: uint16(319), - 2237: uint16(319), - 2238: uint16(319), - 2239: uint16(319), - 2240: uint16(319), - 2241: uint16(319), - 2242: uint16(319), - 2243: uint16(319), - 2244: uint16(319), - 2245: uint16(319), - 2246: uint16(319), - 2247: uint16(319), - 2248: uint16(319), - 2249: uint16(319), - 2250: uint16(319), - 2251: uint16(319), - 2252: uint16(319), - 2253: uint16(319), - 2254: uint16(319), - 2255: uint16(319), - 2256: uint16(319), - 2257: uint16(319), - 2258: uint16(319), - 2259: uint16(319), - 2260: uint16(319), - 2261: uint16(319), - 2262: uint16(319), - 2263: uint16(319), - 2264: uint16(319), - 2265: uint16(319), - 2266: uint16(319), - 2267: uint16(319), - 2268: uint16(319), - 2269: uint16(319), - 2270: uint16(319), - 2271: uint16(319), - 2272: uint16(319), - 2273: uint16(319), - 2274: uint16(319), - 2275: uint16(319), - 2276: uint16(319), - 2277: uint16(319), - 2278: uint16(319), - 2279: uint16(319), - 2280: uint16(319), - 2281: uint16(319), - 2282: uint16(319), - 2283: uint16(319), - 2284: uint16(319), -} -var _yy_shift_ofst = [579]uint16{ - 0: uint16(1648), - 1: uint16(1477), - 2: uint16(1272), + 2084: uint16(143), + 2085: uint16(25), + 2086: uint16(34), + 2087: uint16(75), + 2088: uint16(34), + 2089: uint16(34), + 2090: uint16(75), + 2091: uint16(88), + 2092: uint16(34), + 2093: uint16(86), + 2094: uint16(23), + 2095: uint16(22), + 2096: uint16(34), + 2097: uint16(25), + 2098: uint16(24), + 2099: uint16(34), + 2100: uint16(25), + 2101: uint16(93), + 2102: uint16(23), + 2103: uint16(44), + 2104: uint16(142), + 2105: uint16(23), + 2106: uint16(142), + 2107: uint16(23), + 2108: uint16(23), + 2109: uint16(22), + 2110: uint16(11), + 2111: uint16(25), + 2112: uint16(23), + 2113: uint16(25), + 2114: uint16(23), + 2115: uint16(22), + 2116: uint16(22), + 2117: uint16(22), + 2118: uint16(1), + 2119: uint16(23), + 2120: uint16(23), + 2121: uint16(23), + 2122: uint16(22), + 2123: uint16(22), + 2124: uint16(15), + 2125: uint16(141), + 2126: uint16(141), + 2127: uint16(25), + 2128: uint16(25), + 2129: uint16(1), + 2130: uint16(322), + 2131: uint16(322), + 2132: uint16(322), + 2133: uint16(135), + 2134: uint16(322), + 2135: uint16(322), + 2136: uint16(322), + 2137: uint16(322), + 2138: uint16(322), + 2139: uint16(322), + 2140: uint16(322), + 2141: uint16(141), + 2142: uint16(322), + 2143: uint16(322), + 2144: uint16(322), + 2145: uint16(322), + 2146: uint16(322), + 2147: uint16(322), + 2148: uint16(322), + 2149: uint16(322), + 2150: uint16(322), + 2151: uint16(322), + 2152: uint16(322), + 2153: uint16(322), + 2154: uint16(322), + 2155: uint16(322), + 2156: uint16(322), + 2157: uint16(322), + 2158: uint16(322), + 2159: uint16(322), + 2160: uint16(322), + 2161: uint16(322), + 2162: uint16(322), + 2163: uint16(322), + 2164: uint16(322), + 2165: uint16(322), + 2166: uint16(322), + 2167: uint16(322), + 2168: uint16(322), + 2169: uint16(322), + 2170: uint16(322), + 2171: uint16(322), + 2172: uint16(322), + 2173: uint16(322), + 2174: uint16(322), + 2175: uint16(322), + 2176: uint16(322), + 2177: uint16(322), + 2178: uint16(322), + 2179: uint16(322), + 2180: uint16(322), + 2181: uint16(322), + 2182: uint16(322), + 2183: uint16(322), + 2184: uint16(322), + 2185: uint16(322), + 2186: uint16(322), + 2187: uint16(322), + 2188: uint16(322), + 2189: uint16(322), + 2190: uint16(322), + 2191: uint16(322), + 2192: uint16(322), + 2193: uint16(322), + 2194: uint16(322), + 2195: uint16(322), + 2196: uint16(322), + 2197: uint16(322), + 2198: uint16(322), + 2199: uint16(322), + 2200: uint16(322), + 2201: uint16(322), + 2202: uint16(322), + 2203: uint16(322), + 2204: uint16(322), + 2205: uint16(322), + 2206: uint16(322), + 2207: uint16(322), + 2208: uint16(322), + 2209: uint16(322), + 2210: uint16(322), + 2211: uint16(322), + 2212: uint16(322), + 2213: uint16(322), + 2214: uint16(322), + 2215: uint16(322), + 2216: uint16(322), + 2217: uint16(322), + 2218: uint16(322), + 2219: uint16(322), + 2220: uint16(322), + 2221: uint16(322), + 2222: uint16(322), + 2223: uint16(322), + 2224: uint16(322), + 2225: uint16(322), + 2226: uint16(322), + 2227: uint16(322), + 2228: uint16(322), + 2229: uint16(322), + 2230: uint16(322), + 2231: uint16(322), + 2232: uint16(322), + 2233: uint16(322), + 2234: uint16(322), + 2235: uint16(322), + 2236: uint16(322), + 2237: uint16(322), + 2238: uint16(322), + 2239: uint16(322), + 2240: uint16(322), + 2241: uint16(322), + 2242: uint16(322), + 2243: uint16(322), + 2244: uint16(322), + 2245: uint16(322), + 2246: uint16(322), + 2247: uint16(322), + 2248: uint16(322), + 2249: uint16(322), + 2250: uint16(322), + 2251: uint16(322), + 2252: uint16(322), + 2253: uint16(322), + 2254: uint16(322), + 2255: uint16(322), + 2256: uint16(322), + 2257: uint16(322), + 2258: uint16(322), + 2259: uint16(322), + 2260: uint16(322), + 2261: uint16(322), + 2262: uint16(322), + 2263: uint16(322), + 2264: uint16(322), + 2265: uint16(322), + 2266: uint16(322), + 2267: uint16(322), + 2268: uint16(322), + 2269: uint16(322), + 2270: uint16(322), + 2271: uint16(322), + 2272: uint16(322), + 2273: uint16(322), + 2274: uint16(322), + 2275: uint16(322), + 2276: uint16(322), + 2277: uint16(322), + 2278: uint16(322), + 2279: uint16(322), + 2280: uint16(322), + 2281: uint16(322), + 2282: uint16(322), + 2283: uint16(322), + 2284: uint16(322), + 2285: uint16(322), + 2286: uint16(322), + 2287: uint16(322), + 2288: uint16(322), + 2289: uint16(322), + 2290: uint16(322), + 2291: uint16(322), + 2292: uint16(322), + 2293: uint16(322), + 2294: uint16(322), + 2295: uint16(322), + 2296: uint16(322), + 2297: uint16(322), + 2298: uint16(322), + 2299: uint16(322), + 2300: uint16(322), + 2301: uint16(322), + 2302: uint16(322), + 2303: uint16(322), + 2304: uint16(322), + 2305: uint16(322), + 2306: uint16(322), + 2307: uint16(322), + 2308: uint16(322), + 2309: uint16(322), + 2310: uint16(322), + 2311: uint16(322), + 2312: uint16(322), + 2313: uint16(322), + 2314: uint16(322), + 2315: uint16(322), + 2316: uint16(322), + 2317: uint16(322), + 2318: uint16(322), + 2319: uint16(322), + 2320: uint16(322), + 2321: uint16(322), + 2322: uint16(322), + 2323: uint16(322), + 2324: uint16(322), + 2325: uint16(322), + 2326: uint16(322), + 2327: uint16(322), +} +var _yy_shift_ofst = [583]uint16{ + 0: uint16(1792), + 1: uint16(1588), + 2: uint16(1494), 3: uint16(322), 4: uint16(322), - 5: uint16(1), - 6: uint16(1319), - 7: uint16(1478), - 8: uint16(1491), - 9: uint16(1837), - 10: uint16(1837), - 11: uint16(1837), - 12: uint16(471), - 15: uint16(214), - 16: uint16(1093), - 17: uint16(1837), - 18: uint16(1837), - 19: uint16(1837), - 20: uint16(1837), - 21: uint16(1837), - 22: uint16(1837), - 23: uint16(1837), - 24: uint16(1837), - 25: uint16(1837), - 26: uint16(1837), - 27: uint16(1837), - 28: uint16(1837), - 29: uint16(1837), - 30: uint16(1837), - 31: uint16(271), - 32: uint16(271), - 33: uint16(1219), - 34: uint16(1219), - 35: uint16(216), - 36: uint16(88), - 37: uint16(1), - 38: uint16(1), - 39: uint16(1), - 40: uint16(1), - 41: uint16(1), - 42: uint16(40), - 43: uint16(111), - 44: uint16(258), - 45: uint16(361), - 46: uint16(469), - 47: uint16(512), - 48: uint16(583), - 49: uint16(622), - 50: uint16(693), - 51: uint16(732), - 52: uint16(803), - 53: uint16(842), - 54: uint16(913), - 55: uint16(1073), - 56: uint16(1093), - 57: uint16(1093), - 58: uint16(1093), - 59: uint16(1093), - 60: uint16(1093), - 61: uint16(1093), - 62: uint16(1093), - 63: uint16(1093), - 64: uint16(1093), + 5: uint16(399), + 6: uint16(306), + 7: uint16(1319), + 8: uint16(1339), + 9: uint16(1430), + 10: uint16(1828), + 11: uint16(1828), + 12: uint16(1828), + 13: uint16(580), + 14: uint16(399), + 15: uint16(399), + 16: uint16(399), + 17: uint16(399), + 18: uint16(399), + 21: uint16(214), + 22: uint16(1093), + 23: uint16(1828), + 24: uint16(1828), + 25: uint16(1828), + 26: uint16(1828), + 27: uint16(1828), + 28: uint16(1828), + 29: uint16(1828), + 30: uint16(1828), + 31: uint16(1828), + 32: uint16(1828), + 33: uint16(1828), + 34: uint16(1828), + 35: uint16(1828), + 36: uint16(1828), + 37: uint16(1828), + 38: uint16(1130), + 39: uint16(1130), + 40: uint16(365), + 41: uint16(365), + 42: uint16(55), + 43: uint16(278), + 44: uint16(436), + 45: uint16(713), + 46: uint16(713), + 47: uint16(201), + 48: uint16(201), + 49: uint16(201), + 50: uint16(201), + 51: uint16(40), + 52: uint16(111), + 53: uint16(258), + 54: uint16(361), + 55: uint16(469), + 56: uint16(512), + 57: uint16(583), + 58: uint16(622), + 59: uint16(693), + 60: uint16(732), + 61: uint16(803), + 62: uint16(842), + 63: uint16(913), + 64: uint16(1073), 65: uint16(1093), 66: uint16(1093), 67: uint16(1093), @@ -226671,1505 +228023,1514 @@ var _yy_shift_ofst = [579]uint16{ 71: uint16(1093), 72: uint16(1093), 73: uint16(1093), - 74: uint16(1113), + 74: uint16(1093), 75: uint16(1093), - 76: uint16(1216), - 77: uint16(957), - 78: uint16(957), - 79: uint16(1635), - 80: uint16(1662), - 81: uint16(1777), - 82: uint16(1837), - 83: uint16(1837), - 84: uint16(1837), - 85: uint16(1837), - 86: uint16(1837), - 87: uint16(1837), - 88: uint16(1837), - 89: uint16(1837), - 90: uint16(1837), - 91: uint16(1837), - 92: uint16(1837), - 93: uint16(1837), - 94: uint16(1837), - 95: uint16(1837), - 96: uint16(1837), - 97: uint16(1837), - 98: uint16(1837), - 99: uint16(1837), - 100: uint16(1837), - 101: uint16(1837), - 102: uint16(1837), - 103: uint16(1837), - 104: uint16(1837), - 105: uint16(1837), - 106: uint16(1837), - 107: uint16(1837), - 108: uint16(1837), - 109: uint16(1837), - 110: uint16(1837), - 111: uint16(1837), - 112: uint16(1837), - 113: uint16(1837), - 114: uint16(1837), - 115: uint16(1837), - 116: uint16(1837), - 117: uint16(1837), - 118: uint16(1837), - 119: uint16(1837), - 120: uint16(1837), - 121: uint16(1837), - 122: uint16(1837), - 123: uint16(1837), - 124: uint16(1837), - 125: uint16(1837), - 126: uint16(1837), - 127: uint16(1837), - 128: uint16(1837), - 129: uint16(1837), - 130: uint16(1837), - 131: uint16(137), - 132: uint16(181), - 133: uint16(181), - 134: uint16(181), - 135: uint16(181), - 136: uint16(181), - 137: uint16(181), - 138: uint16(181), - 139: uint16(94), - 140: uint16(430), - 141: uint16(66), - 142: uint16(65), - 143: uint16(112), - 144: uint16(366), - 145: uint16(533), - 146: uint16(533), - 147: uint16(740), - 148: uint16(1257), - 149: uint16(533), - 150: uint16(533), - 151: uint16(79), - 152: uint16(79), - 153: uint16(533), - 154: uint16(412), - 155: uint16(412), - 156: uint16(412), - 157: uint16(77), - 158: uint16(412), - 159: uint16(123), - 160: uint16(113), - 161: uint16(113), - 162: uint16(113), - 163: uint16(22), - 164: uint16(22), - 165: uint16(2100), - 166: uint16(2100), - 167: uint16(328), - 168: uint16(328), - 169: uint16(328), - 170: uint16(239), - 171: uint16(468), - 172: uint16(468), - 173: uint16(468), - 174: uint16(468), - 175: uint16(1015), - 176: uint16(1015), - 177: uint16(409), - 178: uint16(366), - 179: uint16(1187), - 180: uint16(1232), - 181: uint16(533), - 182: uint16(533), - 183: uint16(533), - 184: uint16(533), - 185: uint16(533), - 186: uint16(533), - 187: uint16(533), - 188: uint16(533), - 189: uint16(533), - 190: uint16(533), - 191: uint16(533), - 192: uint16(533), - 193: uint16(533), - 194: uint16(533), - 195: uint16(533), - 196: uint16(533), - 197: uint16(533), - 198: uint16(533), - 199: uint16(533), - 200: uint16(533), - 201: uint16(969), - 202: uint16(621), - 203: uint16(621), - 204: uint16(533), - 205: uint16(642), - 206: uint16(788), - 207: uint16(788), - 208: uint16(1133), - 209: uint16(1133), - 210: uint16(822), - 211: uint16(822), - 212: uint16(67), - 213: uint16(1193), - 214: uint16(2100), - 215: uint16(2100), - 216: uint16(2100), - 217: uint16(2100), - 218: uint16(2100), - 219: uint16(2100), - 220: uint16(2100), - 221: uint16(1307), - 222: uint16(954), - 223: uint16(954), - 224: uint16(585), - 225: uint16(472), - 226: uint16(640), - 227: uint16(387), - 228: uint16(695), - 229: uint16(538), - 230: uint16(541), - 231: uint16(700), - 232: uint16(533), - 233: uint16(533), - 234: uint16(533), - 235: uint16(533), - 236: uint16(533), - 237: uint16(533), - 238: uint16(533), - 239: uint16(533), - 240: uint16(533), - 241: uint16(533), - 242: uint16(222), - 243: uint16(533), - 244: uint16(533), - 245: uint16(533), - 246: uint16(533), - 247: uint16(533), - 248: uint16(533), - 249: uint16(533), - 250: uint16(533), - 251: uint16(533), - 252: uint16(533), - 253: uint16(533), - 254: uint16(533), - 255: uint16(1213), - 256: uint16(1213), - 257: uint16(1213), - 258: uint16(533), - 259: uint16(533), - 260: uint16(533), - 261: uint16(565), - 262: uint16(533), - 263: uint16(533), - 264: uint16(533), - 265: uint16(916), - 266: uint16(1147), - 267: uint16(533), - 268: uint16(533), - 269: uint16(1288), - 270: uint16(533), - 271: uint16(533), - 272: uint16(533), - 273: uint16(533), - 274: uint16(533), - 275: uint16(533), - 276: uint16(533), - 277: uint16(533), - 278: uint16(639), - 279: uint16(1280), - 280: uint16(209), - 281: uint16(1129), - 282: uint16(1129), - 283: uint16(1129), - 284: uint16(1129), - 285: uint16(580), - 286: uint16(209), - 287: uint16(209), - 288: uint16(1209), - 289: uint16(768), - 290: uint16(917), - 291: uint16(649), - 292: uint16(1315), - 293: uint16(1334), - 294: uint16(405), - 295: uint16(1334), - 296: uint16(1383), - 297: uint16(249), - 298: uint16(1315), - 299: uint16(1315), - 300: uint16(249), - 301: uint16(1315), - 302: uint16(405), - 303: uint16(1383), - 304: uint16(1441), - 305: uint16(464), - 306: uint16(1245), - 307: uint16(1417), - 308: uint16(1417), - 309: uint16(1417), - 310: uint16(1323), - 311: uint16(1323), - 312: uint16(1323), - 313: uint16(1323), - 314: uint16(184), - 315: uint16(184), - 316: uint16(1335), - 317: uint16(1476), - 318: uint16(856), - 319: uint16(1482), - 320: uint16(1744), - 321: uint16(1744), - 322: uint16(1665), - 323: uint16(1665), - 324: uint16(1773), - 325: uint16(1773), - 326: uint16(1665), - 327: uint16(1669), - 328: uint16(1671), - 329: uint16(1802), - 330: uint16(1782), - 331: uint16(1809), - 332: uint16(1809), - 333: uint16(1809), - 334: uint16(1809), - 335: uint16(1665), - 336: uint16(1817), - 337: uint16(1690), - 338: uint16(1671), - 339: uint16(1671), - 340: uint16(1690), - 341: uint16(1802), - 342: uint16(1782), - 343: uint16(1690), - 344: uint16(1782), - 345: uint16(1690), - 346: uint16(1665), - 347: uint16(1817), - 348: uint16(1693), - 349: uint16(1791), - 350: uint16(1665), - 351: uint16(1817), - 352: uint16(1832), - 353: uint16(1665), - 354: uint16(1817), - 355: uint16(1665), - 356: uint16(1817), - 357: uint16(1832), - 358: uint16(1752), - 359: uint16(1752), - 360: uint16(1752), - 361: uint16(1805), - 362: uint16(1850), - 363: uint16(1850), - 364: uint16(1832), - 365: uint16(1752), - 366: uint16(1749), - 367: uint16(1752), - 368: uint16(1805), - 369: uint16(1752), - 370: uint16(1752), - 371: uint16(1713), - 372: uint16(1858), - 373: uint16(1775), - 374: uint16(1775), - 375: uint16(1832), - 376: uint16(1665), - 377: uint16(1799), - 378: uint16(1799), - 379: uint16(1823), - 380: uint16(1823), - 381: uint16(1761), - 382: uint16(1765), - 383: uint16(1890), - 384: uint16(1665), - 385: uint16(1757), - 386: uint16(1761), - 387: uint16(1771), - 388: uint16(1774), - 389: uint16(1690), - 390: uint16(1894), - 391: uint16(1913), - 392: uint16(1913), - 393: uint16(1929), - 394: uint16(1929), - 395: uint16(1929), - 396: uint16(2100), - 397: uint16(2100), - 398: uint16(2100), - 399: uint16(2100), - 400: uint16(2100), - 401: uint16(2100), - 402: uint16(2100), - 403: uint16(2100), - 404: uint16(2100), - 405: uint16(2100), - 406: uint16(2100), - 407: uint16(2100), - 408: uint16(2100), - 409: uint16(2100), - 410: uint16(2100), - 411: uint16(207), - 412: uint16(1220), - 413: uint16(331), - 414: uint16(620), - 415: uint16(967), - 416: uint16(806), - 417: uint16(1074), - 418: uint16(1499), - 419: uint16(1432), - 420: uint16(1463), - 421: uint16(1479), - 422: uint16(1419), - 423: uint16(1422), - 424: uint16(1557), - 425: uint16(1512), - 426: uint16(1598), - 427: uint16(1599), - 428: uint16(1644), - 429: uint16(1645), - 430: uint16(1654), - 431: uint16(1660), - 432: uint16(1555), - 433: uint16(1505), - 434: uint16(1684), - 435: uint16(1462), - 436: uint16(1670), - 437: uint16(1563), - 438: uint16(1619), - 439: uint16(1593), - 440: uint16(1676), - 441: uint16(1679), - 442: uint16(1613), - 443: uint16(1680), - 444: uint16(1554), - 445: uint16(1558), - 446: uint16(1689), - 447: uint16(1692), - 448: uint16(1605), - 449: uint16(1589), - 450: uint16(1955), - 451: uint16(1959), - 452: uint16(1941), - 453: uint16(1803), - 454: uint16(1950), - 455: uint16(1951), - 456: uint16(1945), - 457: uint16(1946), - 458: uint16(1831), - 459: uint16(1820), - 460: uint16(1842), - 461: uint16(1948), - 462: uint16(1948), - 463: uint16(1952), - 464: uint16(1833), - 465: uint16(1954), - 466: uint16(1834), - 467: uint16(1961), - 468: uint16(1978), - 469: uint16(1838), - 470: uint16(1851), - 471: uint16(1948), - 472: uint16(1852), - 473: uint16(1922), - 474: uint16(1947), - 475: uint16(1948), - 476: uint16(1836), - 477: uint16(1932), - 478: uint16(1935), - 479: uint16(1936), - 480: uint16(1942), - 481: uint16(1866), - 482: uint16(1881), - 483: uint16(1964), - 484: uint16(1859), - 485: uint16(1998), - 486: uint16(1996), - 487: uint16(1980), - 488: uint16(1888), - 489: uint16(1843), - 490: uint16(1937), - 491: uint16(1981), - 492: uint16(1939), - 493: uint16(1933), - 494: uint16(1968), - 495: uint16(1869), - 496: uint16(1896), - 497: uint16(1988), - 498: uint16(1993), - 499: uint16(1995), - 500: uint16(1884), - 501: uint16(1891), - 502: uint16(1997), - 503: uint16(1953), - 504: uint16(1999), - 505: uint16(2000), - 506: uint16(1994), - 507: uint16(2001), - 508: uint16(1957), - 509: uint16(1966), - 510: uint16(2002), - 511: uint16(1931), - 512: uint16(1990), - 513: uint16(2006), - 514: uint16(1962), - 515: uint16(2003), - 516: uint16(2007), - 517: uint16(2004), - 518: uint16(1882), - 519: uint16(2010), - 520: uint16(2011), - 521: uint16(2012), - 522: uint16(2008), - 523: uint16(2013), - 524: uint16(2015), - 525: uint16(1944), - 526: uint16(1898), - 527: uint16(2019), - 528: uint16(2020), - 529: uint16(1928), - 530: uint16(2014), - 531: uint16(2023), - 532: uint16(1903), - 533: uint16(2022), - 534: uint16(2016), - 535: uint16(2017), - 536: uint16(2018), - 537: uint16(2021), - 538: uint16(1965), - 539: uint16(1974), - 540: uint16(1970), - 541: uint16(2024), - 542: uint16(1979), - 543: uint16(1967), - 544: uint16(2025), - 545: uint16(2034), - 546: uint16(2036), - 547: uint16(2037), - 548: uint16(2038), - 549: uint16(2039), - 550: uint16(2028), - 551: uint16(1923), - 552: uint16(1924), - 553: uint16(2044), - 554: uint16(2022), - 555: uint16(2046), - 556: uint16(2047), - 557: uint16(2048), - 558: uint16(2049), - 559: uint16(2050), - 560: uint16(2051), - 561: uint16(2054), - 562: uint16(2062), - 563: uint16(2055), - 564: uint16(2056), - 565: uint16(2057), - 566: uint16(2058), - 567: uint16(2060), - 568: uint16(2061), - 569: uint16(2059), - 570: uint16(1956), - 571: uint16(1938), - 572: uint16(1949), - 573: uint16(1958), - 574: uint16(2063), - 575: uint16(2064), - 576: uint16(2070), - 577: uint16(2085), - 578: uint16(2088), -} -var _yy_reduce_ofst = [411]int16{ - 0: int16(-int32(125)), - 1: int16(733), - 2: int16(789), - 3: int16(241), - 4: int16(293), - 5: int16(-int32(123)), - 6: int16(-int32(193)), - 7: int16(-int32(191)), - 8: int16(-int32(183)), - 9: int16(-int32(187)), - 10: int16(166), - 11: int16(238), - 12: int16(133), - 13: int16(-int32(207)), - 14: int16(-int32(199)), - 15: int16(-int32(267)), - 16: int16(-int32(176)), - 17: int16(-int32(6)), - 18: int16(204), - 19: int16(489), - 20: int16(576), - 21: int16(598), - 22: int16(-int32(175)), - 23: int16(686), - 24: int16(860), - 25: int16(615), - 26: int16(725), - 27: int16(1014), - 28: int16(778), - 29: int16(781), - 30: int16(857), - 31: int16(616), - 32: int16(887), - 33: int16(87), - 34: int16(240), - 35: int16(-int32(192)), - 36: int16(408), - 37: int16(626), - 38: int16(796), - 39: int16(843), - 40: int16(854), - 41: int16(1004), - 42: int16(-int32(271)), - 43: int16(-int32(271)), - 44: int16(-int32(271)), - 45: int16(-int32(271)), - 46: int16(-int32(271)), - 47: int16(-int32(271)), - 48: int16(-int32(271)), - 49: int16(-int32(271)), - 50: int16(-int32(271)), - 51: int16(-int32(271)), - 52: int16(-int32(271)), - 53: int16(-int32(271)), - 54: int16(-int32(271)), - 55: int16(-int32(271)), - 56: int16(-int32(271)), - 57: int16(-int32(271)), - 58: int16(-int32(271)), - 59: int16(-int32(271)), - 60: int16(-int32(271)), - 61: int16(-int32(271)), - 62: int16(-int32(271)), - 63: int16(-int32(271)), - 64: int16(-int32(271)), - 65: int16(-int32(271)), - 66: int16(-int32(271)), - 67: int16(-int32(271)), - 68: int16(-int32(271)), - 69: int16(-int32(271)), - 70: int16(-int32(271)), - 71: int16(-int32(271)), - 72: int16(-int32(271)), - 73: int16(-int32(271)), - 74: int16(-int32(271)), - 75: int16(-int32(271)), - 76: int16(-int32(271)), - 77: int16(-int32(271)), - 78: int16(-int32(271)), - 79: int16(80), - 80: int16(83), - 81: int16(313), - 82: int16(886), - 83: int16(888), - 84: int16(918), - 85: int16(938), - 86: int16(1021), - 87: int16(1034), - 88: int16(1036), - 89: int16(1141), - 90: int16(1159), - 91: int16(1163), - 92: int16(1166), - 93: int16(1168), - 94: int16(1170), - 95: int16(1176), - 96: int16(1178), - 97: int16(1180), - 98: int16(1184), - 99: int16(1196), - 100: int16(1198), - 101: int16(1205), - 102: int16(1215), - 103: int16(1225), - 104: int16(1227), - 105: int16(1236), - 106: int16(1252), - 107: int16(1254), - 108: int16(1264), - 109: int16(1303), - 110: int16(1309), - 111: int16(1312), - 112: int16(1322), - 113: int16(1325), - 114: int16(1328), - 115: int16(1337), - 116: int16(1340), - 117: int16(1343), - 118: int16(1353), - 119: int16(1371), - 120: int16(1373), - 121: int16(1384), - 122: int16(1386), - 123: int16(1411), - 124: int16(1413), - 125: int16(1420), - 126: int16(1424), - 127: int16(1426), - 128: int16(1458), - 129: int16(1470), - 130: int16(1473), - 131: int16(-int32(271)), - 132: int16(-int32(271)), - 133: int16(-int32(271)), - 134: int16(-int32(271)), - 135: int16(-int32(271)), - 136: int16(-int32(271)), - 137: int16(-int32(271)), - 138: int16(-int32(271)), - 139: int16(-int32(271)), - 140: int16(-int32(271)), - 141: int16(-int32(271)), - 142: int16(138), - 143: int16(459), - 144: int16(396), - 145: int16(-int32(158)), - 146: int16(470), - 147: int16(302), - 148: int16(-int32(212)), - 149: int16(521), - 150: int16(201), - 151: int16(-int32(195)), - 152: int16(-int32(92)), - 153: int16(559), - 154: int16(630), - 155: int16(632), - 156: int16(630), - 157: int16(-int32(271)), - 158: int16(632), - 159: int16(901), - 160: int16(63), - 161: int16(407), - 162: int16(670), - 163: int16(-int32(271)), - 164: int16(-int32(271)), - 165: int16(-int32(271)), - 166: int16(-int32(271)), - 167: int16(161), - 168: int16(161), - 169: int16(161), - 170: int16(251), - 171: int16(335), - 172: int16(847), - 173: int16(979), - 174: int16(1097), - 175: int16(537), - 176: int16(588), - 177: int16(618), - 178: int16(628), - 179: int16(688), - 180: int16(688), - 181: int16(-int32(166)), - 182: int16(-int32(161)), - 183: int16(674), - 184: int16(787), - 185: int16(794), - 186: int16(799), - 187: int16(852), - 188: int16(996), - 189: int16(-int32(122)), - 190: int16(837), - 191: int16(-int32(120)), - 192: int16(1018), - 193: int16(1035), - 194: int16(415), - 195: int16(1047), - 196: int16(1001), - 197: int16(958), - 198: int16(1082), - 199: int16(400), - 200: int16(1099), - 201: int16(779), - 202: int16(1137), - 203: int16(1142), - 204: int16(263), - 205: int16(1083), - 206: int16(1145), - 207: int16(1150), - 208: int16(1041), - 209: int16(1139), - 210: int16(965), - 211: int16(1050), - 212: int16(362), - 213: int16(849), - 214: int16(752), - 215: int16(629), - 216: int16(675), - 217: int16(1162), - 218: int16(1173), - 219: int16(1090), - 220: int16(1195), - 221: int16(-int32(194)), - 222: int16(56), - 223: int16(185), - 224: int16(-int32(135)), - 225: int16(232), - 226: int16(522), - 227: int16(560), - 228: int16(571), - 229: int16(601), - 230: int16(617), - 231: int16(669), - 232: int16(683), - 233: int16(711), - 234: int16(850), - 235: int16(893), - 236: int16(1000), - 237: int16(1040), - 238: int16(1049), - 239: int16(1081), - 240: int16(1087), - 241: int16(1101), - 242: int16(392), - 243: int16(1114), - 244: int16(1123), - 245: int16(1155), - 246: int16(1161), - 247: int16(1175), - 248: int16(1271), - 249: int16(1293), - 250: int16(1299), - 251: int16(1330), - 252: int16(1339), - 253: int16(1342), - 254: int16(1347), - 255: int16(593), - 256: int16(1282), - 257: int16(1286), - 258: int16(1350), - 259: int16(1359), - 260: int16(1368), - 261: int16(1314), - 262: int16(1480), - 263: int16(1483), - 264: int16(1507), - 265: int16(1085), - 266: int16(1338), - 267: int16(1526), - 268: int16(1527), - 269: int16(1487), - 270: int16(1531), - 271: int16(560), - 272: int16(1532), - 273: int16(1534), - 274: int16(1535), - 275: int16(1538), - 276: int16(1539), - 277: int16(1541), - 278: int16(1448), - 279: int16(1450), - 280: int16(1496), - 281: int16(1484), - 282: int16(1485), - 283: int16(1489), - 284: int16(1490), - 285: int16(1314), - 286: int16(1496), - 287: int16(1496), - 288: int16(1504), - 289: int16(1536), - 290: int16(1564), - 291: int16(1451), - 292: int16(1486), - 293: int16(1492), - 294: int16(1509), - 295: int16(1493), - 296: int16(1465), - 297: int16(1515), - 298: int16(1494), - 299: int16(1495), - 300: int16(1517), - 301: int16(1500), - 302: int16(1519), - 303: int16(1474), - 304: int16(1550), - 305: int16(1543), - 306: int16(1548), - 307: int16(1556), - 308: int16(1565), - 309: int16(1566), - 310: int16(1518), - 311: int16(1523), - 312: int16(1542), - 313: int16(1544), - 314: int16(1525), - 315: int16(1545), - 316: int16(1513), - 317: int16(1553), - 318: int16(1552), - 319: int16(1604), - 320: int16(1508), - 321: int16(1510), - 322: int16(1608), - 323: int16(1609), - 324: int16(1520), - 325: int16(1528), - 326: int16(1612), - 327: int16(1540), - 328: int16(1559), - 329: int16(1560), - 330: int16(1592), - 331: int16(1591), - 332: int16(1595), - 333: int16(1596), - 334: int16(1597), - 335: int16(1629), - 336: int16(1638), - 337: int16(1594), - 338: int16(1569), - 339: int16(1570), - 340: int16(1600), - 341: int16(1568), - 342: int16(1610), - 343: int16(1601), - 344: int16(1611), - 345: int16(1603), - 346: int16(1643), - 347: int16(1651), - 348: int16(1562), - 349: int16(1571), - 350: int16(1655), - 351: int16(1659), - 352: int16(1640), - 353: int16(1663), - 354: int16(1666), - 355: int16(1664), - 356: int16(1667), - 357: int16(1641), - 358: int16(1650), - 359: int16(1652), - 360: int16(1653), - 361: int16(1647), - 362: int16(1656), - 363: int16(1657), - 364: int16(1658), - 365: int16(1668), - 366: int16(1672), - 367: int16(1681), - 368: int16(1649), - 369: int16(1682), - 370: int16(1683), - 371: int16(1573), - 372: int16(1582), - 373: int16(1607), - 374: int16(1615), - 375: int16(1685), - 376: int16(1702), - 377: int16(1586), - 378: int16(1587), - 379: int16(1642), - 380: int16(1646), - 381: int16(1673), - 382: int16(1675), - 383: int16(1636), - 384: int16(1714), - 385: int16(1637), - 386: int16(1677), - 387: int16(1674), - 388: int16(1678), - 389: int16(1694), - 390: int16(1719), - 391: int16(1734), - 392: int16(1735), - 393: int16(1746), - 394: int16(1747), - 395: int16(1750), - 396: int16(1633), - 397: int16(1661), + 76: uint16(1093), + 77: uint16(1093), + 78: uint16(1093), + 79: uint16(1093), + 80: uint16(1093), + 81: uint16(1093), + 82: uint16(1093), + 83: uint16(1113), + 84: uint16(1093), + 85: uint16(1216), + 86: uint16(957), + 87: uint16(957), + 88: uint16(1523), + 89: uint16(1602), + 90: uint16(1674), + 91: uint16(1828), + 92: uint16(1828), + 93: uint16(1828), + 94: uint16(1828), + 95: uint16(1828), + 96: uint16(1828), + 97: uint16(1828), + 98: uint16(1828), + 99: uint16(1828), + 100: uint16(1828), + 101: uint16(1828), + 102: uint16(1828), + 103: uint16(1828), + 104: uint16(1828), + 105: uint16(1828), + 106: uint16(1828), + 107: uint16(1828), + 108: uint16(1828), + 109: uint16(1828), + 110: uint16(1828), + 111: uint16(1828), + 112: uint16(1828), + 113: uint16(1828), + 114: uint16(1828), + 115: uint16(1828), + 116: uint16(1828), + 117: uint16(1828), + 118: uint16(1828), + 119: uint16(1828), + 120: uint16(1828), + 121: uint16(1828), + 122: uint16(1828), + 123: uint16(1828), + 124: uint16(1828), + 125: uint16(1828), + 126: uint16(1828), + 127: uint16(1828), + 128: uint16(1828), + 129: uint16(1828), + 130: uint16(1828), + 131: uint16(1828), + 132: uint16(1828), + 133: uint16(1828), + 134: uint16(1828), + 135: uint16(1828), + 136: uint16(1828), + 137: uint16(1828), + 138: uint16(1828), + 139: uint16(1828), + 140: uint16(137), + 141: uint16(181), + 142: uint16(181), + 143: uint16(181), + 144: uint16(181), + 145: uint16(181), + 146: uint16(181), + 147: uint16(181), + 148: uint16(96), + 149: uint16(222), + 150: uint16(143), + 151: uint16(477), + 152: uint16(713), + 153: uint16(1133), + 154: uint16(1268), + 155: uint16(713), + 156: uint16(713), + 157: uint16(79), + 158: uint16(79), + 159: uint16(713), + 160: uint16(770), + 161: uint16(83), + 162: uint16(65), + 163: uint16(65), + 164: uint16(65), + 165: uint16(288), + 166: uint16(162), + 167: uint16(162), + 168: uint16(2142), + 169: uint16(2142), + 170: uint16(696), + 171: uint16(696), + 172: uint16(696), + 173: uint16(238), + 174: uint16(474), + 175: uint16(474), + 176: uint16(474), + 177: uint16(474), + 178: uint16(1217), + 179: uint16(1217), + 180: uint16(678), + 181: uint16(477), + 182: uint16(324), + 183: uint16(398), + 184: uint16(713), + 185: uint16(713), + 186: uint16(713), + 187: uint16(713), + 188: uint16(713), + 189: uint16(713), + 190: uint16(713), + 191: uint16(713), + 192: uint16(713), + 193: uint16(713), + 194: uint16(713), + 195: uint16(713), + 196: uint16(713), + 197: uint16(713), + 198: uint16(713), + 199: uint16(713), + 200: uint16(713), + 201: uint16(713), + 202: uint16(713), + 203: uint16(1220), + 204: uint16(366), + 205: uint16(366), + 206: uint16(713), + 207: uint16(917), + 208: uint16(283), + 209: uint16(283), + 210: uint16(434), + 211: uint16(434), + 212: uint16(605), + 213: uint16(605), + 214: uint16(1298), + 215: uint16(2142), + 216: uint16(2142), + 217: uint16(2142), + 218: uint16(2142), + 219: uint16(2142), + 220: uint16(2142), + 221: uint16(2142), + 222: uint16(1179), + 223: uint16(1157), + 224: uint16(1157), + 225: uint16(487), + 226: uint16(527), + 227: uint16(585), + 228: uint16(645), + 229: uint16(749), + 230: uint16(914), + 231: uint16(968), + 232: uint16(752), + 233: uint16(713), + 234: uint16(713), + 235: uint16(713), + 236: uint16(713), + 237: uint16(713), + 238: uint16(713), + 239: uint16(713), + 240: uint16(713), + 241: uint16(713), + 242: uint16(713), + 243: uint16(303), + 244: uint16(713), + 245: uint16(713), + 246: uint16(713), + 247: uint16(713), + 248: uint16(713), + 249: uint16(713), + 250: uint16(713), + 251: uint16(713), + 252: uint16(713), + 253: uint16(713), + 254: uint16(713), + 255: uint16(713), + 256: uint16(797), + 257: uint16(797), + 258: uint16(797), + 259: uint16(713), + 260: uint16(713), + 261: uint16(713), + 262: uint16(959), + 263: uint16(713), + 264: uint16(713), + 265: uint16(713), + 266: uint16(1169), + 267: uint16(1271), + 268: uint16(713), + 269: uint16(713), + 270: uint16(1330), + 271: uint16(713), + 272: uint16(713), + 273: uint16(713), + 274: uint16(713), + 275: uint16(713), + 276: uint16(713), + 277: uint16(713), + 278: uint16(713), + 279: uint16(629), + 280: uint16(7), + 281: uint16(91), + 282: uint16(876), + 283: uint16(876), + 284: uint16(876), + 285: uint16(876), + 286: uint16(953), + 287: uint16(91), + 288: uint16(91), + 289: uint16(1246), + 290: uint16(1065), + 291: uint16(1106), + 292: uint16(1374), + 293: uint16(1329), + 294: uint16(1348), + 295: uint16(468), + 296: uint16(1348), + 297: uint16(1394), + 298: uint16(785), + 299: uint16(1329), + 300: uint16(1329), + 301: uint16(785), + 302: uint16(1329), + 303: uint16(468), + 304: uint16(1394), + 305: uint16(859), + 306: uint16(854), + 307: uint16(1402), + 308: uint16(1449), + 309: uint16(1449), + 310: uint16(1449), + 311: uint16(1173), + 312: uint16(1173), + 313: uint16(1173), + 314: uint16(1173), + 315: uint16(1355), + 316: uint16(1355), + 317: uint16(1030), + 318: uint16(1341), + 319: uint16(405), + 320: uint16(1230), + 321: uint16(1795), + 322: uint16(1795), + 323: uint16(1711), + 324: uint16(1711), + 325: uint16(1829), + 326: uint16(1829), + 327: uint16(1711), + 328: uint16(1717), + 329: uint16(1719), + 330: uint16(1850), + 331: uint16(1833), + 332: uint16(1860), + 333: uint16(1860), + 334: uint16(1860), + 335: uint16(1860), + 336: uint16(1711), + 337: uint16(1868), + 338: uint16(1740), + 339: uint16(1719), + 340: uint16(1719), + 341: uint16(1740), + 342: uint16(1850), + 343: uint16(1833), + 344: uint16(1740), + 345: uint16(1833), + 346: uint16(1740), + 347: uint16(1711), + 348: uint16(1868), + 349: uint16(1745), + 350: uint16(1843), + 351: uint16(1711), + 352: uint16(1868), + 353: uint16(1887), + 354: uint16(1711), + 355: uint16(1868), + 356: uint16(1711), + 357: uint16(1868), + 358: uint16(1887), + 359: uint16(1801), + 360: uint16(1801), + 361: uint16(1801), + 362: uint16(1855), + 363: uint16(1900), + 364: uint16(1900), + 365: uint16(1887), + 366: uint16(1801), + 367: uint16(1797), + 368: uint16(1801), + 369: uint16(1855), + 370: uint16(1801), + 371: uint16(1801), + 372: uint16(1761), + 373: uint16(1912), + 374: uint16(1830), + 375: uint16(1830), + 376: uint16(1887), + 377: uint16(1711), + 378: uint16(1862), + 379: uint16(1862), + 380: uint16(1875), + 381: uint16(1875), + 382: uint16(1810), + 383: uint16(1815), + 384: uint16(1940), + 385: uint16(1711), + 386: uint16(1807), + 387: uint16(1810), + 388: uint16(1821), + 389: uint16(1823), + 390: uint16(1740), + 391: uint16(1945), + 392: uint16(1963), + 393: uint16(1963), + 394: uint16(1974), + 395: uint16(1974), + 396: uint16(1974), + 397: uint16(2142), + 398: uint16(2142), + 399: uint16(2142), + 400: uint16(2142), + 401: uint16(2142), + 402: uint16(2142), + 403: uint16(2142), + 404: uint16(2142), + 405: uint16(2142), + 406: uint16(2142), + 407: uint16(2142), + 408: uint16(2142), + 409: uint16(2142), + 410: uint16(2142), + 411: uint16(2142), + 412: uint16(20), + 413: uint16(1224), + 414: uint16(256), + 415: uint16(1111), + 416: uint16(1115), + 417: uint16(1114), + 418: uint16(1192), + 419: uint16(1496), + 420: uint16(1424), + 421: uint16(1505), + 422: uint16(1427), + 423: uint16(355), + 424: uint16(1383), + 425: uint16(1537), + 426: uint16(1506), + 427: uint16(1538), + 428: uint16(1553), + 429: uint16(1583), + 430: uint16(1584), + 431: uint16(1591), + 432: uint16(1625), + 433: uint16(541), + 434: uint16(1445), + 435: uint16(1562), + 436: uint16(1450), + 437: uint16(1572), + 438: uint16(1515), + 439: uint16(1428), + 440: uint16(1532), + 441: uint16(1592), + 442: uint16(1629), + 443: uint16(1520), + 444: uint16(1630), + 445: uint16(1639), + 446: uint16(1510), + 447: uint16(1544), + 448: uint16(1662), + 449: uint16(1675), + 450: uint16(1551), + 451: uint16(48), + 452: uint16(1996), + 453: uint16(2001), + 454: uint16(1983), + 455: uint16(1844), + 456: uint16(1993), + 457: uint16(1994), + 458: uint16(1986), + 459: uint16(1989), + 460: uint16(1874), + 461: uint16(1863), + 462: uint16(1885), + 463: uint16(1991), + 464: uint16(1991), + 465: uint16(1995), + 466: uint16(1876), + 467: uint16(1997), + 468: uint16(1877), + 469: uint16(2004), + 470: uint16(2021), + 471: uint16(1881), + 472: uint16(1894), + 473: uint16(1991), + 474: uint16(1895), + 475: uint16(1965), + 476: uint16(1990), + 477: uint16(1991), + 478: uint16(1878), + 479: uint16(1975), + 480: uint16(1977), + 481: uint16(1978), + 482: uint16(1979), + 483: uint16(1903), + 484: uint16(1918), + 485: uint16(2002), + 486: uint16(1896), + 487: uint16(2034), + 488: uint16(2033), + 489: uint16(2017), + 490: uint16(1925), + 491: uint16(1880), + 492: uint16(1976), + 493: uint16(2018), + 494: uint16(1980), + 495: uint16(1967), + 496: uint16(2005), + 497: uint16(1904), + 498: uint16(1932), + 499: uint16(2025), + 500: uint16(2030), + 501: uint16(2032), + 502: uint16(1921), + 503: uint16(1928), + 504: uint16(2035), + 505: uint16(1987), + 506: uint16(2036), + 507: uint16(2037), + 508: uint16(2038), + 509: uint16(2040), + 510: uint16(1988), + 511: uint16(2006), + 512: uint16(2039), + 513: uint16(1960), + 514: uint16(2041), + 515: uint16(2042), + 516: uint16(1999), + 517: uint16(2023), + 518: uint16(2044), + 519: uint16(2043), + 520: uint16(1919), + 521: uint16(2048), + 522: uint16(2049), + 523: uint16(2050), + 524: uint16(2046), + 525: uint16(2051), + 526: uint16(2053), + 527: uint16(1981), + 528: uint16(1935), + 529: uint16(2056), + 530: uint16(2057), + 531: uint16(1966), + 532: uint16(2047), + 533: uint16(2061), + 534: uint16(1941), + 535: uint16(2060), + 536: uint16(2052), + 537: uint16(2054), + 538: uint16(2055), + 539: uint16(2058), + 540: uint16(2003), + 541: uint16(2012), + 542: uint16(2007), + 543: uint16(2059), + 544: uint16(2015), + 545: uint16(2008), + 546: uint16(2062), + 547: uint16(2071), + 548: uint16(2073), + 549: uint16(2074), + 550: uint16(2072), + 551: uint16(2075), + 552: uint16(2065), + 553: uint16(1962), + 554: uint16(1964), + 555: uint16(2079), + 556: uint16(2060), + 557: uint16(2082), + 558: uint16(2084), + 559: uint16(2085), + 560: uint16(2087), + 561: uint16(2086), + 562: uint16(2089), + 563: uint16(2088), + 564: uint16(2091), + 565: uint16(2093), + 566: uint16(2099), + 567: uint16(2094), + 568: uint16(2095), + 569: uint16(2096), + 570: uint16(2097), + 571: uint16(2100), + 572: uint16(2101), + 573: uint16(2102), + 574: uint16(1998), + 575: uint16(1984), + 576: uint16(1985), + 577: uint16(2000), + 578: uint16(2103), + 579: uint16(2098), + 580: uint16(2109), + 581: uint16(2117), + 582: uint16(2128), +} +var _yy_reduce_ofst = [412]int16{ + 0: int16(-int32(71)), + 1: int16(194), + 2: int16(343), + 3: int16(835), + 4: int16(-int32(180)), + 5: int16(-int32(177)), + 6: int16(838), + 7: int16(-int32(194)), + 8: int16(-int32(188)), + 9: int16(-int32(185)), + 10: int16(-int32(183)), + 11: int16(82), + 12: int16(183), + 13: int16(-int32(65)), + 14: int16(133), + 15: int16(245), + 16: int16(346), + 17: int16(407), + 18: int16(458), + 19: int16(-int32(178)), + 20: int16(75), + 21: int16(-int32(275)), + 22: int16(-int32(4)), + 23: int16(310), + 24: int16(312), + 25: int16(489), + 26: int16(575), + 27: int16(596), + 28: int16(463), + 29: int16(686), + 30: int16(707), + 31: int16(725), + 32: int16(780), + 33: int16(1098), + 34: int16(856), + 35: int16(778), + 36: int16(1059), + 37: int16(1090), + 38: int16(708), + 39: int16(887), + 40: int16(86), + 41: int16(448), + 42: int16(980), + 43: int16(630), + 44: int16(680), + 45: int16(681), + 46: int16(684), + 47: int16(796), + 48: int16(801), + 49: int16(796), + 50: int16(801), + 51: int16(-int32(261)), + 52: int16(-int32(261)), + 53: int16(-int32(261)), + 54: int16(-int32(261)), + 55: int16(-int32(261)), + 56: int16(-int32(261)), + 57: int16(-int32(261)), + 58: int16(-int32(261)), + 59: int16(-int32(261)), + 60: int16(-int32(261)), + 61: int16(-int32(261)), + 62: int16(-int32(261)), + 63: int16(-int32(261)), + 64: int16(-int32(261)), + 65: int16(-int32(261)), + 66: int16(-int32(261)), + 67: int16(-int32(261)), + 68: int16(-int32(261)), + 69: int16(-int32(261)), + 70: int16(-int32(261)), + 71: int16(-int32(261)), + 72: int16(-int32(261)), + 73: int16(-int32(261)), + 74: int16(-int32(261)), + 75: int16(-int32(261)), + 76: int16(-int32(261)), + 77: int16(-int32(261)), + 78: int16(-int32(261)), + 79: int16(-int32(261)), + 80: int16(-int32(261)), + 81: int16(-int32(261)), + 82: int16(-int32(261)), + 83: int16(-int32(261)), + 84: int16(-int32(261)), + 85: int16(-int32(261)), + 86: int16(-int32(261)), + 87: int16(-int32(261)), + 88: int16(391), + 89: int16(886), + 90: int16(888), + 91: int16(1013), + 92: int16(1016), + 93: int16(1081), + 94: int16(1087), + 95: int16(1151), + 96: int16(1159), + 97: int16(1177), + 98: int16(1185), + 99: int16(1188), + 100: int16(1190), + 101: int16(1194), + 102: int16(1197), + 103: int16(1203), + 104: int16(1247), + 105: int16(1260), + 106: int16(1264), + 107: int16(1267), + 108: int16(1269), + 109: int16(1273), + 110: int16(1315), + 111: int16(1322), + 112: int16(1335), + 113: int16(1337), + 114: int16(1356), + 115: int16(1362), + 116: int16(1418), + 117: int16(1425), + 118: int16(1453), + 119: int16(1457), + 120: int16(1465), + 121: int16(1473), + 122: int16(1487), + 123: int16(1495), + 124: int16(1507), + 125: int16(1517), + 126: int16(1521), + 127: int16(1534), + 128: int16(1543), + 129: int16(1546), + 130: int16(1549), + 131: int16(1552), + 132: int16(1554), + 133: int16(1560), + 134: int16(1581), + 135: int16(1590), + 136: int16(1593), + 137: int16(1595), + 138: int16(1621), + 139: int16(1623), + 140: int16(-int32(261)), + 141: int16(-int32(261)), + 142: int16(-int32(261)), + 143: int16(-int32(261)), + 144: int16(-int32(261)), + 145: int16(-int32(261)), + 146: int16(-int32(261)), + 147: int16(-int32(261)), + 148: int16(-int32(261)), + 149: int16(-int32(261)), + 150: int16(-int32(261)), + 151: int16(-int32(186)), + 152: int16(-int32(117)), + 153: int16(260), + 154: int16(263), + 155: int16(460), + 156: int16(631), + 157: int16(-int32(74)), + 158: int16(497), + 159: int16(-int32(181)), + 160: int16(-int32(261)), + 161: int16(939), + 162: int16(176), + 163: int16(274), + 164: int16(338), + 165: int16(676), + 166: int16(-int32(261)), + 167: int16(-int32(261)), + 168: int16(-int32(261)), + 169: int16(-int32(261)), + 170: int16(-int32(212)), + 171: int16(-int32(212)), + 172: int16(-int32(212)), + 173: int16(-int32(184)), + 174: int16(149), + 175: int16(777), + 176: int16(1061), + 177: int16(1103), + 178: int16(265), + 179: int16(419), + 180: int16(-int32(254)), + 181: int16(670), + 182: int16(677), + 183: int16(677), + 184: int16(-int32(11)), + 185: int16(-int32(129)), + 186: int16(184), + 187: int16(488), + 188: int16(736), + 189: int16(789), + 190: int16(805), + 191: int16(844), + 192: int16(403), + 193: int16(529), + 194: int16(579), + 195: int16(668), + 196: int16(783), + 197: int16(841), + 198: int16(1158), + 199: int16(1112), + 200: int16(806), + 201: int16(861), + 202: int16(1095), + 203: int16(846), + 204: int16(839), + 205: int16(1031), + 206: int16(-int32(189)), + 207: int16(1077), + 208: int16(1080), + 209: int16(1116), + 210: int16(1084), + 211: int16(1156), + 212: int16(1139), + 213: int16(1221), + 214: int16(46), + 215: int16(1099), + 216: int16(1037), + 217: int16(1118), + 218: int16(1171), + 219: int16(1214), + 220: int16(1210), + 221: int16(1258), + 222: int16(-int32(210)), + 223: int16(-int32(190)), + 224: int16(-int32(176)), + 225: int16(-int32(115)), + 226: int16(117), + 227: int16(262), + 228: int16(376), + 229: int16(490), + 230: int16(511), + 231: int16(520), + 232: int16(618), + 233: int16(639), + 234: int16(743), + 235: int16(901), + 236: int16(907), + 237: int16(958), + 238: int16(1014), + 239: int16(1055), + 240: int16(1108), + 241: int16(1193), + 242: int16(1244), + 243: int16(720), + 244: int16(1248), + 245: int16(1277), + 246: int16(1324), + 247: int16(1347), + 248: int16(1417), + 249: int16(1431), + 250: int16(1432), + 251: int16(1440), + 252: int16(1451), + 253: int16(1452), + 254: int16(1463), + 255: int16(1478), + 256: int16(1286), + 257: int16(1350), + 258: int16(1369), + 259: int16(1490), + 260: int16(1498), + 261: int16(1501), + 262: int16(773), + 263: int16(1509), + 264: int16(1513), + 265: int16(1528), + 266: int16(1292), + 267: int16(1367), + 268: int16(1535), + 269: int16(1536), + 270: int16(1477), + 271: int16(1542), + 272: int16(376), + 273: int16(1547), + 274: int16(1550), + 275: int16(1555), + 276: int16(1559), + 277: int16(1568), + 278: int16(1571), + 279: int16(1441), + 280: int16(1443), + 281: int16(1474), + 282: int16(1511), + 283: int16(1516), + 284: int16(1519), + 285: int16(1522), + 286: int16(773), + 287: int16(1474), + 288: int16(1474), + 289: int16(1503), + 290: int16(1567), + 291: int16(1594), + 292: int16(1484), + 293: int16(1527), + 294: int16(1556), + 295: int16(1570), + 296: int16(1557), + 297: int16(1524), + 298: int16(1573), + 299: int16(1545), + 300: int16(1548), + 301: int16(1576), + 302: int16(1561), + 303: int16(1587), + 304: int16(1540), + 305: int16(1575), + 306: int16(1606), + 307: int16(1611), + 308: int16(1622), + 309: int16(1624), + 310: int16(1626), + 311: int16(1582), + 312: int16(1597), + 313: int16(1598), + 314: int16(1599), + 315: int16(1601), + 316: int16(1603), + 317: int16(1563), + 318: int16(1608), + 319: int16(1605), + 320: int16(1604), + 321: int16(1564), + 322: int16(1566), + 323: int16(1655), + 324: int16(1660), + 325: int16(1578), + 326: int16(1579), + 327: int16(1665), + 328: int16(1586), + 329: int16(1607), + 330: int16(1610), + 331: int16(1642), + 332: int16(1641), + 333: int16(1645), + 334: int16(1646), + 335: int16(1647), + 336: int16(1679), + 337: int16(1688), + 338: int16(1644), + 339: int16(1618), + 340: int16(1619), + 341: int16(1648), + 342: int16(1628), + 343: int16(1659), + 344: int16(1649), + 345: int16(1663), + 346: int16(1650), + 347: int16(1700), + 348: int16(1702), + 349: int16(1612), + 350: int16(1615), + 351: int16(1706), + 352: int16(1708), + 353: int16(1689), + 354: int16(1709), + 355: int16(1712), + 356: int16(1713), + 357: int16(1715), + 358: int16(1691), + 359: int16(1698), + 360: int16(1699), + 361: int16(1701), + 362: int16(1693), + 363: int16(1704), + 364: int16(1707), + 365: int16(1705), + 366: int16(1714), + 367: int16(1703), + 368: int16(1718), + 369: int16(1710), + 370: int16(1720), + 371: int16(1721), + 372: int16(1632), + 373: int16(1634), + 374: int16(1664), + 375: int16(1666), + 376: int16(1729), + 377: int16(1751), + 378: int16(1635), + 379: int16(1636), + 380: int16(1692), + 381: int16(1694), + 382: int16(1716), + 383: int16(1722), + 384: int16(1684), + 385: int16(1763), + 386: int16(1685), + 387: int16(1723), + 388: int16(1724), + 389: int16(1727), + 390: int16(1730), + 391: int16(1768), + 392: int16(1783), + 393: int16(1784), + 394: int16(1793), + 395: int16(1794), + 396: int16(1796), + 397: int16(1683), 398: int16(1686), - 399: int16(1738), - 400: int16(1728), - 401: int16(1733), - 402: int16(1736), - 403: int16(1737), - 404: int16(1740), - 405: int16(1726), - 406: int16(1730), - 407: int16(1742), - 408: int16(1743), - 409: int16(1748), - 410: int16(1753), -} -var _yy_default = [579]uint16{ - 0: uint16(1648), - 1: uint16(1648), - 2: uint16(1648), - 3: uint16(1478), - 4: uint16(1243), - 5: uint16(1354), - 6: uint16(1243), - 7: uint16(1243), - 8: uint16(1243), - 9: uint16(1478), - 10: uint16(1478), - 11: uint16(1478), - 12: uint16(1243), - 13: uint16(1384), - 14: uint16(1384), - 15: uint16(1531), - 16: uint16(1276), - 17: uint16(1243), - 18: uint16(1243), - 19: uint16(1243), - 20: uint16(1243), - 21: uint16(1243), - 22: uint16(1243), - 23: uint16(1243), - 24: uint16(1243), - 25: uint16(1243), - 26: uint16(1243), - 27: uint16(1243), - 28: uint16(1477), - 29: uint16(1243), - 30: uint16(1243), - 31: uint16(1243), - 32: uint16(1243), - 33: uint16(1564), - 34: uint16(1564), - 35: uint16(1243), - 36: uint16(1243), - 37: uint16(1243), - 38: uint16(1243), - 39: uint16(1243), - 40: uint16(1243), - 41: uint16(1243), - 42: uint16(1243), - 43: uint16(1393), - 44: uint16(1243), - 45: uint16(1400), - 46: uint16(1243), - 47: uint16(1243), - 48: uint16(1243), - 49: uint16(1243), - 50: uint16(1243), - 51: uint16(1479), - 52: uint16(1480), - 53: uint16(1243), - 54: uint16(1243), - 55: uint16(1243), - 56: uint16(1530), - 57: uint16(1532), - 58: uint16(1495), - 59: uint16(1407), - 60: uint16(1406), - 61: uint16(1405), - 62: uint16(1404), - 63: uint16(1513), - 64: uint16(1372), - 65: uint16(1398), - 66: uint16(1391), - 67: uint16(1395), - 68: uint16(1474), - 69: uint16(1475), - 70: uint16(1473), - 71: uint16(1626), - 72: uint16(1480), - 73: uint16(1479), - 74: uint16(1243), - 75: uint16(1394), - 76: uint16(1442), - 77: uint16(1458), - 78: uint16(1441), - 79: uint16(1243), - 80: uint16(1243), - 81: uint16(1243), - 82: uint16(1243), - 83: uint16(1243), - 84: uint16(1243), - 85: uint16(1243), - 86: uint16(1243), - 87: uint16(1243), - 88: uint16(1243), - 89: uint16(1243), - 90: uint16(1243), - 91: uint16(1243), - 92: uint16(1243), - 93: uint16(1243), - 94: uint16(1243), - 95: uint16(1243), - 96: uint16(1243), - 97: uint16(1243), - 98: uint16(1243), - 99: uint16(1243), - 100: uint16(1243), - 101: uint16(1243), - 102: uint16(1243), - 103: uint16(1243), - 104: uint16(1243), - 105: uint16(1243), - 106: uint16(1243), - 107: uint16(1243), - 108: uint16(1243), - 109: uint16(1243), - 110: uint16(1243), - 111: uint16(1243), - 112: uint16(1243), - 113: uint16(1243), - 114: uint16(1243), - 115: uint16(1243), - 116: uint16(1243), - 117: uint16(1243), - 118: uint16(1243), - 119: uint16(1243), - 120: uint16(1243), - 121: uint16(1243), - 122: uint16(1243), - 123: uint16(1243), - 124: uint16(1243), - 125: uint16(1243), - 126: uint16(1243), - 127: uint16(1243), - 128: uint16(1243), - 129: uint16(1243), - 130: uint16(1243), - 131: uint16(1450), - 132: uint16(1457), - 133: uint16(1456), - 134: uint16(1455), - 135: uint16(1464), - 136: uint16(1454), - 137: uint16(1451), - 138: uint16(1444), - 139: uint16(1443), - 140: uint16(1445), - 141: uint16(1446), - 142: uint16(1243), - 143: uint16(1243), - 144: uint16(1267), - 145: uint16(1243), - 146: uint16(1243), - 147: uint16(1264), - 148: uint16(1318), - 149: uint16(1243), - 150: uint16(1243), - 151: uint16(1243), - 152: uint16(1243), - 153: uint16(1243), - 154: uint16(1550), - 155: uint16(1549), - 156: uint16(1243), - 157: uint16(1447), - 158: uint16(1243), - 159: uint16(1276), - 160: uint16(1435), - 161: uint16(1434), - 162: uint16(1433), - 163: uint16(1461), - 164: uint16(1448), - 165: uint16(1460), - 166: uint16(1459), - 167: uint16(1538), - 168: uint16(1600), - 169: uint16(1599), - 170: uint16(1496), - 171: uint16(1243), - 172: uint16(1243), - 173: uint16(1243), - 174: uint16(1243), - 175: uint16(1243), - 176: uint16(1243), - 177: uint16(1564), - 178: uint16(1243), - 179: uint16(1243), - 180: uint16(1243), - 181: uint16(1243), - 182: uint16(1243), - 183: uint16(1243), - 184: uint16(1243), - 185: uint16(1243), - 186: uint16(1243), - 187: uint16(1243), - 188: uint16(1243), - 189: uint16(1243), - 190: uint16(1243), - 191: uint16(1243), - 192: uint16(1243), - 193: uint16(1243), - 194: uint16(1243), - 195: uint16(1243), - 196: uint16(1243), - 197: uint16(1243), - 198: uint16(1243), - 199: uint16(1243), - 200: uint16(1243), - 201: uint16(1374), - 202: uint16(1564), - 203: uint16(1564), - 204: uint16(1243), - 205: uint16(1276), - 206: uint16(1564), - 207: uint16(1564), - 208: uint16(1375), - 209: uint16(1375), - 210: uint16(1272), - 211: uint16(1272), - 212: uint16(1378), - 213: uint16(1243), - 214: uint16(1545), - 215: uint16(1345), - 216: uint16(1345), - 217: uint16(1345), - 218: uint16(1345), - 219: uint16(1354), - 220: uint16(1345), - 221: uint16(1243), - 222: uint16(1243), - 223: uint16(1243), - 224: uint16(1243), - 225: uint16(1243), - 226: uint16(1243), - 227: uint16(1243), - 228: uint16(1243), - 229: uint16(1243), - 230: uint16(1243), - 231: uint16(1243), - 232: uint16(1243), - 233: uint16(1243), - 234: uint16(1243), - 235: uint16(1243), - 236: uint16(1535), - 237: uint16(1533), - 238: uint16(1243), - 239: uint16(1243), - 240: uint16(1243), - 241: uint16(1243), - 242: uint16(1243), - 243: uint16(1243), - 244: uint16(1243), - 245: uint16(1243), - 246: uint16(1243), - 247: uint16(1243), - 248: uint16(1243), - 249: uint16(1243), - 250: uint16(1243), - 251: uint16(1243), - 252: uint16(1243), - 253: uint16(1243), - 254: uint16(1243), - 255: uint16(1243), - 256: uint16(1243), - 257: uint16(1243), - 258: uint16(1243), - 259: uint16(1243), - 260: uint16(1243), - 261: uint16(1243), - 262: uint16(1243), - 263: uint16(1243), - 264: uint16(1243), - 265: uint16(1350), - 266: uint16(1243), - 267: uint16(1243), - 268: uint16(1243), - 269: uint16(1243), - 270: uint16(1243), - 271: uint16(1243), - 272: uint16(1243), - 273: uint16(1243), - 274: uint16(1243), - 275: uint16(1243), - 276: uint16(1243), - 277: uint16(1593), - 278: uint16(1243), - 279: uint16(1508), - 280: uint16(1332), - 281: uint16(1350), - 282: uint16(1350), - 283: uint16(1350), - 284: uint16(1350), - 285: uint16(1352), - 286: uint16(1333), - 287: uint16(1331), - 288: uint16(1344), - 289: uint16(1277), - 290: uint16(1250), - 291: uint16(1640), - 292: uint16(1410), - 293: uint16(1399), - 294: uint16(1351), - 295: uint16(1399), - 296: uint16(1637), - 297: uint16(1397), + 399: int16(1690), + 400: int16(1782), + 401: int16(1779), + 402: int16(1780), + 403: int16(1781), + 404: int16(1785), + 405: int16(1788), + 406: int16(1774), + 407: int16(1775), + 408: int16(1786), + 409: int16(1787), + 410: int16(1789), + 411: int16(1798), +} +var _yy_default = [583]uint16{ + 0: uint16(1663), + 1: uint16(1663), + 2: uint16(1663), + 3: uint16(1491), + 4: uint16(1254), + 5: uint16(1367), + 6: uint16(1254), + 7: uint16(1254), + 8: uint16(1254), + 9: uint16(1254), + 10: uint16(1491), + 11: uint16(1491), + 12: uint16(1491), + 13: uint16(1254), + 14: uint16(1254), + 15: uint16(1254), + 16: uint16(1254), + 17: uint16(1254), + 18: uint16(1254), + 19: uint16(1397), + 20: uint16(1397), + 21: uint16(1544), + 22: uint16(1287), + 23: uint16(1254), + 24: uint16(1254), + 25: uint16(1254), + 26: uint16(1254), + 27: uint16(1254), + 28: uint16(1254), + 29: uint16(1254), + 30: uint16(1254), + 31: uint16(1254), + 32: uint16(1254), + 33: uint16(1254), + 34: uint16(1254), + 35: uint16(1490), + 36: uint16(1254), + 37: uint16(1254), + 38: uint16(1254), + 39: uint16(1254), + 40: uint16(1578), + 41: uint16(1578), + 42: uint16(1254), + 43: uint16(1254), + 44: uint16(1254), + 45: uint16(1254), + 46: uint16(1254), + 47: uint16(1563), + 48: uint16(1562), + 49: uint16(1254), + 50: uint16(1254), + 51: uint16(1254), + 52: uint16(1406), + 53: uint16(1254), + 54: uint16(1413), + 55: uint16(1254), + 56: uint16(1254), + 57: uint16(1254), + 58: uint16(1254), + 59: uint16(1254), + 60: uint16(1492), + 61: uint16(1493), + 62: uint16(1254), + 63: uint16(1254), + 64: uint16(1254), + 65: uint16(1543), + 66: uint16(1545), + 67: uint16(1508), + 68: uint16(1420), + 69: uint16(1419), + 70: uint16(1418), + 71: uint16(1417), + 72: uint16(1526), + 73: uint16(1385), + 74: uint16(1411), + 75: uint16(1404), + 76: uint16(1408), + 77: uint16(1487), + 78: uint16(1488), + 79: uint16(1486), + 80: uint16(1641), + 81: uint16(1493), + 82: uint16(1492), + 83: uint16(1254), + 84: uint16(1407), + 85: uint16(1455), + 86: uint16(1471), + 87: uint16(1454), + 88: uint16(1254), + 89: uint16(1254), + 90: uint16(1254), + 91: uint16(1254), + 92: uint16(1254), + 93: uint16(1254), + 94: uint16(1254), + 95: uint16(1254), + 96: uint16(1254), + 97: uint16(1254), + 98: uint16(1254), + 99: uint16(1254), + 100: uint16(1254), + 101: uint16(1254), + 102: uint16(1254), + 103: uint16(1254), + 104: uint16(1254), + 105: uint16(1254), + 106: uint16(1254), + 107: uint16(1254), + 108: uint16(1254), + 109: uint16(1254), + 110: uint16(1254), + 111: uint16(1254), + 112: uint16(1254), + 113: uint16(1254), + 114: uint16(1254), + 115: uint16(1254), + 116: uint16(1254), + 117: uint16(1254), + 118: uint16(1254), + 119: uint16(1254), + 120: uint16(1254), + 121: uint16(1254), + 122: uint16(1254), + 123: uint16(1254), + 124: uint16(1254), + 125: uint16(1254), + 126: uint16(1254), + 127: uint16(1254), + 128: uint16(1254), + 129: uint16(1254), + 130: uint16(1254), + 131: uint16(1254), + 132: uint16(1254), + 133: uint16(1254), + 134: uint16(1254), + 135: uint16(1254), + 136: uint16(1254), + 137: uint16(1254), + 138: uint16(1254), + 139: uint16(1254), + 140: uint16(1463), + 141: uint16(1470), + 142: uint16(1469), + 143: uint16(1468), + 144: uint16(1477), + 145: uint16(1467), + 146: uint16(1464), + 147: uint16(1457), + 148: uint16(1456), + 149: uint16(1458), + 150: uint16(1459), + 151: uint16(1278), + 152: uint16(1254), + 153: uint16(1275), + 154: uint16(1329), + 155: uint16(1254), + 156: uint16(1254), + 157: uint16(1254), + 158: uint16(1254), + 159: uint16(1254), + 160: uint16(1460), + 161: uint16(1287), + 162: uint16(1448), + 163: uint16(1447), + 164: uint16(1446), + 165: uint16(1254), + 166: uint16(1474), + 167: uint16(1461), + 168: uint16(1473), + 169: uint16(1472), + 170: uint16(1551), + 171: uint16(1615), + 172: uint16(1614), + 173: uint16(1509), + 174: uint16(1254), + 175: uint16(1254), + 176: uint16(1254), + 177: uint16(1254), + 178: uint16(1254), + 179: uint16(1254), + 180: uint16(1578), + 181: uint16(1254), + 182: uint16(1254), + 183: uint16(1254), + 184: uint16(1254), + 185: uint16(1254), + 186: uint16(1254), + 187: uint16(1254), + 188: uint16(1254), + 189: uint16(1254), + 190: uint16(1254), + 191: uint16(1254), + 192: uint16(1254), + 193: uint16(1254), + 194: uint16(1254), + 195: uint16(1254), + 196: uint16(1254), + 197: uint16(1254), + 198: uint16(1254), + 199: uint16(1254), + 200: uint16(1254), + 201: uint16(1254), + 202: uint16(1254), + 203: uint16(1387), + 204: uint16(1578), + 205: uint16(1578), + 206: uint16(1254), + 207: uint16(1287), + 208: uint16(1578), + 209: uint16(1578), + 210: uint16(1388), + 211: uint16(1388), + 212: uint16(1283), + 213: uint16(1283), + 214: uint16(1391), + 215: uint16(1558), + 216: uint16(1358), + 217: uint16(1358), + 218: uint16(1358), + 219: uint16(1358), + 220: uint16(1367), + 221: uint16(1358), + 222: uint16(1254), + 223: uint16(1254), + 224: uint16(1254), + 225: uint16(1254), + 226: uint16(1254), + 227: uint16(1254), + 228: uint16(1254), + 229: uint16(1254), + 230: uint16(1254), + 231: uint16(1254), + 232: uint16(1254), + 233: uint16(1254), + 234: uint16(1254), + 235: uint16(1254), + 236: uint16(1254), + 237: uint16(1548), + 238: uint16(1546), + 239: uint16(1254), + 240: uint16(1254), + 241: uint16(1254), + 242: uint16(1254), + 243: uint16(1254), + 244: uint16(1254), + 245: uint16(1254), + 246: uint16(1254), + 247: uint16(1254), + 248: uint16(1254), + 249: uint16(1254), + 250: uint16(1254), + 251: uint16(1254), + 252: uint16(1254), + 253: uint16(1254), + 254: uint16(1254), + 255: uint16(1254), + 256: uint16(1254), + 257: uint16(1254), + 258: uint16(1254), + 259: uint16(1254), + 260: uint16(1254), + 261: uint16(1254), + 262: uint16(1254), + 263: uint16(1254), + 264: uint16(1254), + 265: uint16(1254), + 266: uint16(1363), + 267: uint16(1254), + 268: uint16(1254), + 269: uint16(1254), + 270: uint16(1254), + 271: uint16(1254), + 272: uint16(1254), + 273: uint16(1254), + 274: uint16(1254), + 275: uint16(1254), + 276: uint16(1254), + 277: uint16(1254), + 278: uint16(1608), + 279: uint16(1254), + 280: uint16(1521), + 281: uint16(1343), + 282: uint16(1363), + 283: uint16(1363), + 284: uint16(1363), + 285: uint16(1363), + 286: uint16(1365), + 287: uint16(1344), + 288: uint16(1342), + 289: uint16(1357), + 290: uint16(1288), + 291: uint16(1261), + 292: uint16(1655), + 293: uint16(1423), + 294: uint16(1412), + 295: uint16(1364), + 296: uint16(1412), + 297: uint16(1652), 298: uint16(1410), - 299: uint16(1410), - 300: uint16(1397), + 299: uint16(1423), + 300: uint16(1423), 301: uint16(1410), - 302: uint16(1351), - 303: uint16(1637), - 304: uint16(1293), - 305: uint16(1615), - 306: uint16(1288), - 307: uint16(1384), - 308: uint16(1384), - 309: uint16(1384), - 310: uint16(1374), - 311: uint16(1374), - 312: uint16(1374), - 313: uint16(1374), - 314: uint16(1378), - 315: uint16(1378), - 316: uint16(1476), - 317: uint16(1351), - 318: uint16(1344), - 319: uint16(1243), - 320: uint16(1640), - 321: uint16(1640), - 322: uint16(1360), - 323: uint16(1360), - 324: uint16(1639), - 325: uint16(1639), - 326: uint16(1360), - 327: uint16(1496), - 328: uint16(1623), - 329: uint16(1419), - 330: uint16(1321), - 331: uint16(1327), - 332: uint16(1327), - 333: uint16(1327), - 334: uint16(1327), - 335: uint16(1360), - 336: uint16(1261), - 337: uint16(1397), - 338: uint16(1623), - 339: uint16(1623), - 340: uint16(1397), - 341: uint16(1419), - 342: uint16(1321), - 343: uint16(1397), - 344: uint16(1321), - 345: uint16(1397), - 346: uint16(1360), - 347: uint16(1261), - 348: uint16(1512), - 349: uint16(1634), - 350: uint16(1360), - 351: uint16(1261), - 352: uint16(1486), - 353: uint16(1360), - 354: uint16(1261), - 355: uint16(1360), - 356: uint16(1261), - 357: uint16(1486), - 358: uint16(1319), - 359: uint16(1319), - 360: uint16(1319), - 361: uint16(1308), - 362: uint16(1243), - 363: uint16(1243), - 364: uint16(1486), - 365: uint16(1319), - 366: uint16(1293), - 367: uint16(1319), - 368: uint16(1308), + 302: uint16(1423), + 303: uint16(1364), + 304: uint16(1652), + 305: uint16(1304), + 306: uint16(1630), + 307: uint16(1299), + 308: uint16(1397), + 309: uint16(1397), + 310: uint16(1397), + 311: uint16(1387), + 312: uint16(1387), + 313: uint16(1387), + 314: uint16(1387), + 315: uint16(1391), + 316: uint16(1391), + 317: uint16(1489), + 318: uint16(1364), + 319: uint16(1357), + 320: uint16(1254), + 321: uint16(1655), + 322: uint16(1655), + 323: uint16(1373), + 324: uint16(1373), + 325: uint16(1654), + 326: uint16(1654), + 327: uint16(1373), + 328: uint16(1509), + 329: uint16(1638), + 330: uint16(1432), + 331: uint16(1332), + 332: uint16(1338), + 333: uint16(1338), + 334: uint16(1338), + 335: uint16(1338), + 336: uint16(1373), + 337: uint16(1272), + 338: uint16(1410), + 339: uint16(1638), + 340: uint16(1638), + 341: uint16(1410), + 342: uint16(1432), + 343: uint16(1332), + 344: uint16(1410), + 345: uint16(1332), + 346: uint16(1410), + 347: uint16(1373), + 348: uint16(1272), + 349: uint16(1525), + 350: uint16(1649), + 351: uint16(1373), + 352: uint16(1272), + 353: uint16(1499), + 354: uint16(1373), + 355: uint16(1272), + 356: uint16(1373), + 357: uint16(1272), + 358: uint16(1499), + 359: uint16(1330), + 360: uint16(1330), + 361: uint16(1330), + 362: uint16(1319), + 363: uint16(1254), + 364: uint16(1254), + 365: uint16(1499), + 366: uint16(1330), + 367: uint16(1304), + 368: uint16(1330), 369: uint16(1319), - 370: uint16(1319), - 371: uint16(1582), - 372: uint16(1243), - 373: uint16(1490), - 374: uint16(1490), - 375: uint16(1486), - 376: uint16(1360), - 377: uint16(1574), - 378: uint16(1574), - 379: uint16(1387), - 380: uint16(1387), - 381: uint16(1392), - 382: uint16(1378), - 383: uint16(1481), - 384: uint16(1360), - 385: uint16(1243), - 386: uint16(1392), - 387: uint16(1390), - 388: uint16(1388), - 389: uint16(1397), - 390: uint16(1311), - 391: uint16(1596), - 392: uint16(1596), - 393: uint16(1592), - 394: uint16(1592), - 395: uint16(1592), - 396: uint16(1645), - 397: uint16(1645), - 398: uint16(1545), - 399: uint16(1608), - 400: uint16(1276), - 401: uint16(1276), - 402: uint16(1276), - 403: uint16(1276), - 404: uint16(1608), - 405: uint16(1295), - 406: uint16(1295), - 407: uint16(1277), - 408: uint16(1277), - 409: uint16(1276), - 410: uint16(1608), - 411: uint16(1243), - 412: uint16(1243), - 413: uint16(1243), - 414: uint16(1243), - 415: uint16(1243), - 416: uint16(1243), - 417: uint16(1603), - 418: uint16(1243), - 419: uint16(1540), - 420: uint16(1497), - 421: uint16(1364), - 422: uint16(1243), - 423: uint16(1243), - 424: uint16(1243), - 425: uint16(1243), - 426: uint16(1243), - 427: uint16(1243), - 428: uint16(1243), - 429: uint16(1243), - 430: uint16(1243), - 431: uint16(1243), - 432: uint16(1243), - 433: uint16(1243), - 434: uint16(1243), - 435: uint16(1243), - 436: uint16(1243), - 437: uint16(1243), - 438: uint16(1551), - 439: uint16(1243), - 440: uint16(1243), - 441: uint16(1243), - 442: uint16(1243), - 443: uint16(1243), - 444: uint16(1243), - 445: uint16(1243), - 446: uint16(1243), - 447: uint16(1243), - 448: uint16(1243), - 449: uint16(1424), - 450: uint16(1243), - 451: uint16(1246), - 452: uint16(1542), - 453: uint16(1243), - 454: uint16(1243), - 455: uint16(1243), - 456: uint16(1243), - 457: uint16(1243), - 458: uint16(1243), - 459: uint16(1243), - 460: uint16(1243), - 461: uint16(1401), - 462: uint16(1402), - 463: uint16(1365), - 464: uint16(1243), - 465: uint16(1243), - 466: uint16(1243), - 467: uint16(1243), - 468: uint16(1243), - 469: uint16(1243), - 470: uint16(1243), - 471: uint16(1416), - 472: uint16(1243), - 473: uint16(1243), - 474: uint16(1243), - 475: uint16(1411), - 476: uint16(1243), - 477: uint16(1243), - 478: uint16(1243), - 479: uint16(1243), - 480: uint16(1243), - 481: uint16(1243), - 482: uint16(1243), - 483: uint16(1243), - 484: uint16(1636), - 485: uint16(1243), - 486: uint16(1243), - 487: uint16(1243), - 488: uint16(1243), - 489: uint16(1243), - 490: uint16(1243), - 491: uint16(1511), - 492: uint16(1510), - 493: uint16(1243), - 494: uint16(1243), - 495: uint16(1362), - 496: uint16(1243), - 497: uint16(1243), - 498: uint16(1243), - 499: uint16(1243), - 500: uint16(1243), - 501: uint16(1243), - 502: uint16(1243), - 503: uint16(1243), - 504: uint16(1243), - 505: uint16(1243), - 506: uint16(1243), - 507: uint16(1243), - 508: uint16(1243), - 509: uint16(1291), - 510: uint16(1243), - 511: uint16(1243), - 512: uint16(1243), - 513: uint16(1243), - 514: uint16(1243), - 515: uint16(1243), - 516: uint16(1243), - 517: uint16(1243), - 518: uint16(1243), - 519: uint16(1243), - 520: uint16(1243), - 521: uint16(1243), - 522: uint16(1243), - 523: uint16(1243), - 524: uint16(1243), - 525: uint16(1243), - 526: uint16(1243), - 527: uint16(1243), - 528: uint16(1243), - 529: uint16(1243), - 530: uint16(1243), - 531: uint16(1243), - 532: uint16(1243), - 533: uint16(1389), - 534: uint16(1243), - 535: uint16(1243), - 536: uint16(1243), - 537: uint16(1243), - 538: uint16(1243), - 539: uint16(1243), - 540: uint16(1243), - 541: uint16(1243), - 542: uint16(1243), - 543: uint16(1243), - 544: uint16(1243), - 545: uint16(1243), - 546: uint16(1243), - 547: uint16(1243), - 548: uint16(1579), - 549: uint16(1379), - 550: uint16(1243), - 551: uint16(1243), - 552: uint16(1243), - 553: uint16(1243), - 554: uint16(1627), - 555: uint16(1243), - 556: uint16(1243), - 557: uint16(1243), - 558: uint16(1243), - 559: uint16(1243), - 560: uint16(1243), - 561: uint16(1243), - 562: uint16(1243), - 563: uint16(1243), - 564: uint16(1243), - 565: uint16(1243), - 566: uint16(1243), - 567: uint16(1243), - 568: uint16(1243), - 569: uint16(1619), - 570: uint16(1335), - 571: uint16(1425), - 572: uint16(1243), - 573: uint16(1428), - 574: uint16(1265), - 575: uint16(1243), - 576: uint16(1255), - 577: uint16(1243), - 578: uint16(1243), + 370: uint16(1330), + 371: uint16(1330), + 372: uint16(1596), + 373: uint16(1254), + 374: uint16(1503), + 375: uint16(1503), + 376: uint16(1499), + 377: uint16(1373), + 378: uint16(1588), + 379: uint16(1588), + 380: uint16(1400), + 381: uint16(1400), + 382: uint16(1405), + 383: uint16(1391), + 384: uint16(1494), + 385: uint16(1373), + 386: uint16(1254), + 387: uint16(1405), + 388: uint16(1403), + 389: uint16(1401), + 390: uint16(1410), + 391: uint16(1322), + 392: uint16(1611), + 393: uint16(1611), + 394: uint16(1607), + 395: uint16(1607), + 396: uint16(1607), + 397: uint16(1660), + 398: uint16(1660), + 399: uint16(1558), + 400: uint16(1623), + 401: uint16(1287), + 402: uint16(1287), + 403: uint16(1287), + 404: uint16(1287), + 405: uint16(1623), + 406: uint16(1306), + 407: uint16(1306), + 408: uint16(1288), + 409: uint16(1288), + 410: uint16(1287), + 411: uint16(1623), + 412: uint16(1254), + 413: uint16(1254), + 414: uint16(1254), + 415: uint16(1254), + 416: uint16(1254), + 417: uint16(1254), + 418: uint16(1618), + 419: uint16(1254), + 420: uint16(1553), + 421: uint16(1510), + 422: uint16(1377), + 423: uint16(1254), + 424: uint16(1254), + 425: uint16(1254), + 426: uint16(1254), + 427: uint16(1254), + 428: uint16(1254), + 429: uint16(1254), + 430: uint16(1254), + 431: uint16(1254), + 432: uint16(1254), + 433: uint16(1254), + 434: uint16(1254), + 435: uint16(1254), + 436: uint16(1254), + 437: uint16(1254), + 438: uint16(1254), + 439: uint16(1564), + 440: uint16(1254), + 441: uint16(1254), + 442: uint16(1254), + 443: uint16(1254), + 444: uint16(1254), + 445: uint16(1254), + 446: uint16(1254), + 447: uint16(1254), + 448: uint16(1254), + 449: uint16(1254), + 450: uint16(1254), + 451: uint16(1437), + 452: uint16(1254), + 453: uint16(1257), + 454: uint16(1555), + 455: uint16(1254), + 456: uint16(1254), + 457: uint16(1254), + 458: uint16(1254), + 459: uint16(1254), + 460: uint16(1254), + 461: uint16(1254), + 462: uint16(1254), + 463: uint16(1414), + 464: uint16(1415), + 465: uint16(1378), + 466: uint16(1254), + 467: uint16(1254), + 468: uint16(1254), + 469: uint16(1254), + 470: uint16(1254), + 471: uint16(1254), + 472: uint16(1254), + 473: uint16(1429), + 474: uint16(1254), + 475: uint16(1254), + 476: uint16(1254), + 477: uint16(1424), + 478: uint16(1254), + 479: uint16(1254), + 480: uint16(1254), + 481: uint16(1254), + 482: uint16(1254), + 483: uint16(1254), + 484: uint16(1254), + 485: uint16(1254), + 486: uint16(1651), + 487: uint16(1254), + 488: uint16(1254), + 489: uint16(1254), + 490: uint16(1254), + 491: uint16(1254), + 492: uint16(1254), + 493: uint16(1524), + 494: uint16(1523), + 495: uint16(1254), + 496: uint16(1254), + 497: uint16(1375), + 498: uint16(1254), + 499: uint16(1254), + 500: uint16(1254), + 501: uint16(1254), + 502: uint16(1254), + 503: uint16(1254), + 504: uint16(1254), + 505: uint16(1254), + 506: uint16(1254), + 507: uint16(1254), + 508: uint16(1254), + 509: uint16(1254), + 510: uint16(1254), + 511: uint16(1302), + 512: uint16(1254), + 513: uint16(1254), + 514: uint16(1254), + 515: uint16(1254), + 516: uint16(1254), + 517: uint16(1254), + 518: uint16(1254), + 519: uint16(1254), + 520: uint16(1254), + 521: uint16(1254), + 522: uint16(1254), + 523: uint16(1254), + 524: uint16(1254), + 525: uint16(1254), + 526: uint16(1254), + 527: uint16(1254), + 528: uint16(1254), + 529: uint16(1254), + 530: uint16(1254), + 531: uint16(1254), + 532: uint16(1254), + 533: uint16(1254), + 534: uint16(1254), + 535: uint16(1402), + 536: uint16(1254), + 537: uint16(1254), + 538: uint16(1254), + 539: uint16(1254), + 540: uint16(1254), + 541: uint16(1254), + 542: uint16(1254), + 543: uint16(1254), + 544: uint16(1254), + 545: uint16(1254), + 546: uint16(1254), + 547: uint16(1254), + 548: uint16(1254), + 549: uint16(1254), + 550: uint16(1593), + 551: uint16(1392), + 552: uint16(1254), + 553: uint16(1254), + 554: uint16(1254), + 555: uint16(1254), + 556: uint16(1642), + 557: uint16(1254), + 558: uint16(1254), + 559: uint16(1254), + 560: uint16(1254), + 561: uint16(1352), + 562: uint16(1254), + 563: uint16(1254), + 564: uint16(1254), + 565: uint16(1254), + 566: uint16(1254), + 567: uint16(1254), + 568: uint16(1254), + 569: uint16(1254), + 570: uint16(1254), + 571: uint16(1254), + 572: uint16(1254), + 573: uint16(1634), + 574: uint16(1346), + 575: uint16(1438), + 576: uint16(1254), + 577: uint16(1441), + 578: uint16(1276), + 579: uint16(1254), + 580: uint16(1266), + 581: uint16(1254), + 582: uint16(1254), } /********** End of lemon-generated parsing tables *****************************/ @@ -228190,7 +229551,7 @@ var _yy_default = [579]uint16{ // ** to revert to identifiers if they keyword does not apply in the context where // ** it appears. // */ -var _yyFallback = [185]uint16{ +var _yyFallback = [186]uint16{ 2: uint16(59), 3: uint16(59), 4: uint16(59), @@ -228303,8 +229664,9 @@ type yyStackEntry = TyyStackEntry type TyyParser1 = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser1 = TyyParser1 @@ -228312,14 +229674,46 @@ type yyParser1 = TyyParser1 type TyyParser = struct { Fyytos uintptr FpParse uintptr - Fyystack [100]TyyStackEntry FyystackEnd uintptr + Fyystack uintptr + Fyystk0 [100]TyyStackEntry } type yyParser = TyyParser /* #include */ +// C documentation +// +// /* +// ** Try to increase the size of the parser stack. Return the number +// ** of errors. Return 0 on success. +// */ +func _yyGrowStack(tls *libc.TLS, p uintptr) (r int32) { + var idx, newSize, oldSize int32 + var pNew uintptr + _, _, _, _ = idx, newSize, oldSize, pNew + oldSize = int32(1) + int32((int64((*TyyParser)(unsafe.Pointer(p)).FyystackEnd)-int64((*TyyParser)(unsafe.Pointer(p)).Fyystack))/24) + newSize = oldSize*int32(2) + int32(100) + idx = int32((int64((*TyyParser)(unsafe.Pointer(p)).Fyytos) - int64((*TyyParser)(unsafe.Pointer(p)).Fyystack)) / 24) + if (*TyyParser)(unsafe.Pointer(p)).Fyystack == p+32 { + pNew = _parserStackRealloc(tls, uintptr(0), uint64(uint64(newSize))*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + libc.Xmemcpy(tls, pNew, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(uint64(oldSize))*uint64(24)) + } else { + pNew = _parserStackRealloc(tls, (*TyyParser)(unsafe.Pointer(p)).Fyystack, uint64(uint64(newSize))*uint64(24)) + if pNew == uintptr(0) { + return int32(1) + } + } + (*TyyParser)(unsafe.Pointer(p)).Fyystack = pNew + (*TyyParser)(unsafe.Pointer(p)).Fyytos = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(idx)*24 + (*TyyParser)(unsafe.Pointer(p)).FyystackEnd = (*TyyParser)(unsafe.Pointer(p)).Fyystack + uintptr(newSize-int32(1))*24 + return 0 +} + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -228335,10 +229729,11 @@ func _sqlite3ParserInit(tls *libc.TLS, yypRawParser uintptr, pParse uintptr) { _ = yypParser yypParser = yypRawParser (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = yypParser + 16 - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fstateno = uint16(0) - (*(*TyyStackEntry)(unsafe.Pointer(yypParser + 16))).Fmajor = uint16(0) - (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = yypParser + 16 + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack = yypParser + 32 + (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + uintptr(libc.Int32FromInt32(YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fstateno = uint16(0) + (*(*TyyStackEntry)(unsafe.Pointer((*TyyParser)(unsafe.Pointer(yypParser)).Fyystack))).Fmajor = uint16(0) } // C documentation @@ -228366,103 +229761,105 @@ func _yy_destructor(tls *libc.TLS, yypParser uintptr, yymajor uint16, yypminor u ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case int32(204): /* select */ + case int32(205): /* select */ + fallthrough + case int32(240): /* selectnowith */ fallthrough - case int32(239): /* selectnowith */ + case int32(241): /* oneselect */ fallthrough - case int32(240): /* oneselect */ + case int32(253): /* values */ fallthrough - case int32(252): /* values */ + case int32(255): /* mvalues */ _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(216): /* term */ + case int32(217): /* term */ fallthrough - case int32(217): /* expr */ + case int32(218): /* expr */ fallthrough - case int32(246): /* where_opt */ + case int32(247): /* where_opt */ fallthrough - case int32(248): /* having_opt */ + case int32(249): /* having_opt */ fallthrough - case int32(267): /* where_opt_ret */ + case int32(269): /* where_opt_ret */ fallthrough - case int32(278): /* case_operand */ + case int32(280): /* case_operand */ fallthrough - case int32(280): /* case_else */ + case int32(282): /* case_else */ fallthrough - case int32(283): /* vinto */ + case int32(285): /* vinto */ fallthrough - case int32(290): /* when_clause */ + case int32(292): /* when_clause */ fallthrough - case int32(295): /* key_opt */ + case int32(297): /* key_opt */ fallthrough - case int32(311): /* filter_clause */ + case int32(314): /* filter_clause */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(221): /* eidlist_opt */ + case int32(222): /* eidlist_opt */ fallthrough - case int32(231): /* sortlist */ + case int32(232): /* sortlist */ fallthrough - case int32(232): /* eidlist */ + case int32(233): /* eidlist */ fallthrough - case int32(244): /* selcollist */ + case int32(245): /* selcollist */ fallthrough - case int32(247): /* groupby_opt */ + case int32(248): /* groupby_opt */ fallthrough - case int32(249): /* orderby_opt */ + case int32(250): /* orderby_opt */ fallthrough - case int32(253): /* nexprlist */ + case int32(254): /* nexprlist */ fallthrough - case int32(254): /* sclp */ + case int32(256): /* sclp */ fallthrough - case int32(261): /* exprlist */ + case int32(263): /* exprlist */ fallthrough - case int32(268): /* setlist */ + case int32(270): /* setlist */ fallthrough - case int32(277): /* paren_exprlist */ + case int32(279): /* paren_exprlist */ fallthrough - case int32(279): /* case_exprlist */ + case int32(281): /* case_exprlist */ fallthrough - case int32(310): /* part_opt */ + case int32(313): /* part_opt */ _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(238): /* fullname */ + case int32(239): /* fullname */ fallthrough - case int32(245): /* from */ + case int32(246): /* from */ fallthrough - case int32(256): /* seltablist */ + case int32(258): /* seltablist */ fallthrough - case int32(257): /* stl_prefix */ + case int32(259): /* stl_prefix */ fallthrough - case int32(262): /* xfullname */ + case int32(264): /* xfullname */ _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(241): /* wqlist */ + case int32(242): /* wqlist */ _sqlite3WithDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(251): /* window_clause */ + case int32(252): /* window_clause */ fallthrough - case int32(306): /* windowdefn_list */ + case int32(309): /* windowdefn_list */ _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(263): /* idlist */ + case int32(265): /* idlist */ fallthrough - case int32(270): /* idlist_opt */ + case int32(272): /* idlist_opt */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(273): /* filter_over */ + case int32(275): /* filter_over */ fallthrough - case int32(307): /* windowdefn */ + case int32(310): /* windowdefn */ fallthrough - case int32(308): /* window */ + case int32(311): /* window */ fallthrough - case int32(309): /* frame_opt */ + case int32(312): /* frame_opt */ fallthrough - case int32(312): /* over_clause */ + case int32(315): /* over_clause */ _sqlite3WindowDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(286): /* trigger_cmd_list */ + case int32(288): /* trigger_cmd_list */ fallthrough - case int32(291): /* trigger_cmd */ + case int32(293): /* trigger_cmd */ _sqlite3DeleteTriggerStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yypminor))) - case int32(288): /* trigger_event */ + case int32(290): /* trigger_event */ _sqlite3IdListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TTrigEvent)(unsafe.Pointer(yypminor))).Fb) - case int32(314): /* frame_bound */ + case int32(317): /* frame_bound */ fallthrough - case int32(315): /* frame_bound_s */ + case int32(318): /* frame_bound_s */ fallthrough - case int32(316): /* frame_bound_e */ + case int32(319): /* frame_bound_e */ _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, (*(*TFrameBound)(unsafe.Pointer(yypminor))).FpExpr) break /********* End destructor definitions *****************************************/ @@ -228496,11 +229893,20 @@ func _yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var pParser, yytos uintptr + _, _ = pParser, yytos pParser = p - for (*TyyParser)(unsafe.Pointer(pParser)).Fyytos > pParser+16 { - _yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling yy_pop_parser_stack() for each + ** element left in the stack */ + yytos = (*TyyParser)(unsafe.Pointer(pParser)).Fyytos + for yytos > (*TyyParser)(unsafe.Pointer(pParser)).Fyystack { + if int32((*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor) >= int32(YY_MIN_DSTRCTR) { + _yy_destructor(tls, pParser, (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor, yytos+8) + } + yytos -= 24 + } + if (*TyyParser)(unsafe.Pointer(pParser)).Fyystack != pParser+32 { + Xsqlite3_free(tls, (*TyyParser)(unsafe.Pointer(pParser)).Fyystack) } } @@ -228581,13 +229987,13 @@ func _yyStackOverflow(tls *libc.TLS, yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*TyyParser)(unsafe.Pointer(yypParser)).FpParse - for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > yypParser+16 { + for (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).Fyystack { _yy_pop_parser_stack(tls, yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24662, 0) + _sqlite3OomFault(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb) /******** End %stack_overflow code ********************************************/ /* Suppress warning about unused %extra_argument var */ (*TyyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -228606,15 +230012,18 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint var yytos uintptr _ = yytos (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos += 24 - if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 - _yyStackOverflow(tls, yypParser) - return + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos + if yytos > (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { + if _yyGrowStack(tls, yypParser) != 0 { + (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos -= 24 + _yyStackOverflow(tls, yypParser) + return + } + yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos } if int32(int32(yyNewState)) > int32(YY_MAX_SHIFT) { yyNewState = uint16(int32(yyNewState) + (libc.Int32FromInt32(YY_MIN_REDUCE) - libc.Int32FromInt32(YY_MIN_SHIFTREDUCE))) } - yytos = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos (*TyyStackEntry)(unsafe.Pointer(yytos)).Fstateno = yyNewState (*TyyStackEntry)(unsafe.Pointer(yytos)).Fmajor = yyMajor *(*TToken)(unsafe.Pointer(yytos + 8)) = yyMinor @@ -228624,419 +230033,423 @@ func _yy_shift(tls *libc.TLS, yypParser uintptr, yyNewState uint16, yyMajor uint // // /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side // ** of that rule */ -var _yyRuleInfoLhs = [405]uint16{ - 0: uint16(189), - 1: uint16(189), - 2: uint16(188), - 3: uint16(190), - 4: uint16(191), - 5: uint16(191), - 6: uint16(191), - 7: uint16(191), - 8: uint16(190), - 9: uint16(190), - 10: uint16(190), - 11: uint16(190), - 12: uint16(190), - 13: uint16(195), - 14: uint16(197), - 15: uint16(199), - 16: uint16(199), - 17: uint16(198), - 18: uint16(198), - 19: uint16(196), - 20: uint16(196), - 21: uint16(203), - 22: uint16(203), - 23: uint16(205), - 24: uint16(205), - 25: uint16(206), - 26: uint16(208), - 27: uint16(208), - 28: uint16(208), - 29: uint16(209), - 30: uint16(213), - 31: uint16(214), - 32: uint16(215), - 33: uint16(215), - 34: uint16(215), - 35: uint16(215), - 36: uint16(215), - 37: uint16(215), - 38: uint16(215), - 39: uint16(215), - 40: uint16(215), - 41: uint16(215), - 42: uint16(215), - 43: uint16(215), - 44: uint16(215), - 45: uint16(224), - 46: uint16(224), - 47: uint16(220), - 48: uint16(220), - 49: uint16(222), - 50: uint16(222), - 51: uint16(225), - 52: uint16(225), - 53: uint16(225), - 54: uint16(225), - 55: uint16(226), - 56: uint16(226), - 57: uint16(226), - 58: uint16(226), - 59: uint16(226), - 60: uint16(223), - 61: uint16(223), - 62: uint16(227), - 63: uint16(227), - 64: uint16(227), - 65: uint16(202), - 66: uint16(229), - 67: uint16(230), - 68: uint16(230), - 69: uint16(230), - 70: uint16(230), - 71: uint16(230), - 72: uint16(233), - 73: uint16(218), - 74: uint16(218), - 75: uint16(234), - 76: uint16(234), - 77: uint16(235), - 78: uint16(235), - 79: uint16(190), - 80: uint16(237), - 81: uint16(237), - 82: uint16(190), - 83: uint16(190), - 84: uint16(190), - 85: uint16(204), - 86: uint16(204), - 87: uint16(204), - 88: uint16(239), - 89: uint16(242), - 90: uint16(242), - 91: uint16(242), - 92: uint16(240), - 93: uint16(240), - 94: uint16(252), - 95: uint16(252), - 96: uint16(243), - 97: uint16(243), - 98: uint16(243), - 99: uint16(254), +var _yyRuleInfoLhs = [409]uint16{ + 0: uint16(190), + 1: uint16(190), + 2: uint16(189), + 3: uint16(191), + 4: uint16(192), + 5: uint16(192), + 6: uint16(192), + 7: uint16(192), + 8: uint16(191), + 9: uint16(191), + 10: uint16(191), + 11: uint16(191), + 12: uint16(191), + 13: uint16(196), + 14: uint16(198), + 15: uint16(200), + 16: uint16(200), + 17: uint16(199), + 18: uint16(199), + 19: uint16(197), + 20: uint16(197), + 21: uint16(204), + 22: uint16(204), + 23: uint16(206), + 24: uint16(206), + 25: uint16(207), + 26: uint16(209), + 27: uint16(209), + 28: uint16(209), + 29: uint16(210), + 30: uint16(214), + 31: uint16(215), + 32: uint16(216), + 33: uint16(216), + 34: uint16(216), + 35: uint16(216), + 36: uint16(216), + 37: uint16(216), + 38: uint16(216), + 39: uint16(216), + 40: uint16(216), + 41: uint16(216), + 42: uint16(216), + 43: uint16(216), + 44: uint16(216), + 45: uint16(225), + 46: uint16(225), + 47: uint16(221), + 48: uint16(221), + 49: uint16(223), + 50: uint16(223), + 51: uint16(226), + 52: uint16(226), + 53: uint16(226), + 54: uint16(226), + 55: uint16(227), + 56: uint16(227), + 57: uint16(227), + 58: uint16(227), + 59: uint16(227), + 60: uint16(224), + 61: uint16(224), + 62: uint16(228), + 63: uint16(228), + 64: uint16(228), + 65: uint16(203), + 66: uint16(230), + 67: uint16(231), + 68: uint16(231), + 69: uint16(231), + 70: uint16(231), + 71: uint16(231), + 72: uint16(234), + 73: uint16(219), + 74: uint16(219), + 75: uint16(235), + 76: uint16(235), + 77: uint16(236), + 78: uint16(236), + 79: uint16(191), + 80: uint16(238), + 81: uint16(238), + 82: uint16(191), + 83: uint16(191), + 84: uint16(191), + 85: uint16(205), + 86: uint16(205), + 87: uint16(205), + 88: uint16(240), + 89: uint16(243), + 90: uint16(243), + 91: uint16(243), + 92: uint16(241), + 93: uint16(241), + 94: uint16(253), + 95: uint16(241), + 96: uint16(255), + 97: uint16(255), + 98: uint16(244), + 99: uint16(244), 100: uint16(244), - 101: uint16(244), - 102: uint16(244), - 103: uint16(255), - 104: uint16(255), - 105: uint16(245), - 106: uint16(245), - 107: uint16(257), - 108: uint16(257), - 109: uint16(256), - 110: uint16(256), - 111: uint16(256), - 112: uint16(256), - 113: uint16(256), - 114: uint16(200), - 115: uint16(200), - 116: uint16(238), - 117: uint16(238), - 118: uint16(262), - 119: uint16(262), - 120: uint16(262), - 121: uint16(262), - 122: uint16(258), - 123: uint16(258), - 124: uint16(258), - 125: uint16(258), - 126: uint16(259), - 127: uint16(259), - 128: uint16(259), - 129: uint16(264), - 130: uint16(260), - 131: uint16(260), - 132: uint16(249), - 133: uint16(249), - 134: uint16(231), - 135: uint16(231), - 136: uint16(219), - 137: uint16(219), - 138: uint16(219), - 139: uint16(265), - 140: uint16(265), - 141: uint16(265), - 142: uint16(247), - 143: uint16(247), + 101: uint16(256), + 102: uint16(245), + 103: uint16(245), + 104: uint16(245), + 105: uint16(257), + 106: uint16(257), + 107: uint16(246), + 108: uint16(246), + 109: uint16(259), + 110: uint16(259), + 111: uint16(258), + 112: uint16(258), + 113: uint16(258), + 114: uint16(258), + 115: uint16(258), + 116: uint16(201), + 117: uint16(201), + 118: uint16(239), + 119: uint16(239), + 120: uint16(264), + 121: uint16(264), + 122: uint16(264), + 123: uint16(264), + 124: uint16(260), + 125: uint16(260), + 126: uint16(260), + 127: uint16(260), + 128: uint16(261), + 129: uint16(261), + 130: uint16(261), + 131: uint16(266), + 132: uint16(262), + 133: uint16(262), + 134: uint16(250), + 135: uint16(250), + 136: uint16(232), + 137: uint16(232), + 138: uint16(220), + 139: uint16(220), + 140: uint16(220), + 141: uint16(267), + 142: uint16(267), + 143: uint16(267), 144: uint16(248), 145: uint16(248), - 146: uint16(250), - 147: uint16(250), - 148: uint16(250), - 149: uint16(250), - 150: uint16(190), - 151: uint16(246), - 152: uint16(246), - 153: uint16(267), - 154: uint16(267), - 155: uint16(267), - 156: uint16(267), - 157: uint16(190), - 158: uint16(268), - 159: uint16(268), - 160: uint16(268), - 161: uint16(268), - 162: uint16(190), - 163: uint16(190), - 164: uint16(271), - 165: uint16(271), - 166: uint16(271), - 167: uint16(271), - 168: uint16(271), - 169: uint16(271), - 170: uint16(272), - 171: uint16(269), - 172: uint16(269), - 173: uint16(270), - 174: uint16(270), - 175: uint16(263), - 176: uint16(263), - 177: uint16(217), - 178: uint16(217), - 179: uint16(217), - 180: uint16(217), - 181: uint16(216), - 182: uint16(216), - 183: uint16(216), + 146: uint16(249), + 147: uint16(249), + 148: uint16(251), + 149: uint16(251), + 150: uint16(251), + 151: uint16(251), + 152: uint16(191), + 153: uint16(247), + 154: uint16(247), + 155: uint16(269), + 156: uint16(269), + 157: uint16(269), + 158: uint16(269), + 159: uint16(191), + 160: uint16(270), + 161: uint16(270), + 162: uint16(270), + 163: uint16(270), + 164: uint16(191), + 165: uint16(191), + 166: uint16(273), + 167: uint16(273), + 168: uint16(273), + 169: uint16(273), + 170: uint16(273), + 171: uint16(273), + 172: uint16(274), + 173: uint16(271), + 174: uint16(271), + 175: uint16(272), + 176: uint16(272), + 177: uint16(265), + 178: uint16(265), + 179: uint16(218), + 180: uint16(218), + 181: uint16(218), + 182: uint16(218), + 183: uint16(217), 184: uint16(217), 185: uint16(217), - 186: uint16(217), - 187: uint16(217), - 188: uint16(217), - 189: uint16(217), - 190: uint16(217), - 191: uint16(217), - 192: uint16(217), - 193: uint16(216), - 194: uint16(217), + 186: uint16(218), + 187: uint16(218), + 188: uint16(218), + 189: uint16(218), + 190: uint16(218), + 191: uint16(218), + 192: uint16(218), + 193: uint16(218), + 194: uint16(218), 195: uint16(217), - 196: uint16(217), - 197: uint16(217), - 198: uint16(217), - 199: uint16(217), - 200: uint16(217), - 201: uint16(217), - 202: uint16(217), - 203: uint16(274), - 204: uint16(217), - 205: uint16(217), - 206: uint16(217), - 207: uint16(217), - 208: uint16(217), - 209: uint16(217), - 210: uint16(217), - 211: uint16(217), - 212: uint16(217), - 213: uint16(217), - 214: uint16(217), - 215: uint16(217), - 216: uint16(275), - 217: uint16(275), - 218: uint16(217), - 219: uint16(276), - 220: uint16(276), - 221: uint16(217), - 222: uint16(217), - 223: uint16(217), - 224: uint16(217), - 225: uint16(217), - 226: uint16(217), - 227: uint16(279), - 228: uint16(279), - 229: uint16(280), - 230: uint16(280), - 231: uint16(278), - 232: uint16(261), - 233: uint16(253), - 234: uint16(253), - 235: uint16(277), - 236: uint16(277), - 237: uint16(190), - 238: uint16(281), - 239: uint16(281), - 240: uint16(221), - 241: uint16(221), - 242: uint16(232), - 243: uint16(232), - 244: uint16(282), - 245: uint16(282), - 246: uint16(190), - 247: uint16(190), - 248: uint16(190), - 249: uint16(283), - 250: uint16(283), - 251: uint16(190), - 252: uint16(190), - 253: uint16(190), - 254: uint16(190), - 255: uint16(190), - 256: uint16(211), - 257: uint16(212), - 258: uint16(190), - 259: uint16(285), - 260: uint16(287), + 196: uint16(218), + 197: uint16(218), + 198: uint16(218), + 199: uint16(218), + 200: uint16(218), + 201: uint16(218), + 202: uint16(218), + 203: uint16(218), + 204: uint16(218), + 205: uint16(276), + 206: uint16(218), + 207: uint16(218), + 208: uint16(218), + 209: uint16(218), + 210: uint16(218), + 211: uint16(218), + 212: uint16(218), + 213: uint16(218), + 214: uint16(218), + 215: uint16(218), + 216: uint16(218), + 217: uint16(218), + 218: uint16(277), + 219: uint16(277), + 220: uint16(218), + 221: uint16(278), + 222: uint16(278), + 223: uint16(218), + 224: uint16(218), + 225: uint16(218), + 226: uint16(218), + 227: uint16(218), + 228: uint16(218), + 229: uint16(281), + 230: uint16(281), + 231: uint16(282), + 232: uint16(282), + 233: uint16(280), + 234: uint16(263), + 235: uint16(254), + 236: uint16(254), + 237: uint16(279), + 238: uint16(279), + 239: uint16(191), + 240: uint16(283), + 241: uint16(283), + 242: uint16(222), + 243: uint16(222), + 244: uint16(233), + 245: uint16(233), + 246: uint16(284), + 247: uint16(284), + 248: uint16(191), + 249: uint16(191), + 250: uint16(191), + 251: uint16(285), + 252: uint16(285), + 253: uint16(191), + 254: uint16(191), + 255: uint16(191), + 256: uint16(191), + 257: uint16(191), + 258: uint16(212), + 259: uint16(213), + 260: uint16(191), 261: uint16(287), - 262: uint16(287), - 263: uint16(288), - 264: uint16(288), - 265: uint16(288), + 262: uint16(289), + 263: uint16(289), + 264: uint16(289), + 265: uint16(290), 266: uint16(290), 267: uint16(290), - 268: uint16(286), - 269: uint16(286), - 270: uint16(292), - 271: uint16(293), - 272: uint16(293), - 273: uint16(291), - 274: uint16(291), - 275: uint16(291), - 276: uint16(291), - 277: uint16(217), - 278: uint16(217), - 279: uint16(236), - 280: uint16(236), - 281: uint16(236), - 282: uint16(190), - 283: uint16(190), - 284: uint16(190), - 285: uint16(295), - 286: uint16(295), - 287: uint16(190), - 288: uint16(190), - 289: uint16(190), - 290: uint16(190), - 291: uint16(190), - 292: uint16(190), - 293: uint16(190), - 294: uint16(296), - 295: uint16(190), - 296: uint16(190), - 297: uint16(190), - 298: uint16(298), - 299: uint16(300), - 300: uint16(301), - 301: uint16(301), - 302: uint16(302), - 303: uint16(266), - 304: uint16(266), - 305: uint16(305), - 306: uint16(305), - 307: uint16(305), - 308: uint16(304), - 309: uint16(241), - 310: uint16(241), - 311: uint16(306), - 312: uint16(307), - 313: uint16(308), - 314: uint16(308), - 315: uint16(308), - 316: uint16(308), - 317: uint16(308), - 318: uint16(309), - 319: uint16(309), - 320: uint16(309), - 321: uint16(313), - 322: uint16(315), - 323: uint16(315), + 268: uint16(292), + 269: uint16(292), + 270: uint16(288), + 271: uint16(288), + 272: uint16(294), + 273: uint16(295), + 274: uint16(295), + 275: uint16(293), + 276: uint16(293), + 277: uint16(293), + 278: uint16(293), + 279: uint16(218), + 280: uint16(218), + 281: uint16(237), + 282: uint16(237), + 283: uint16(237), + 284: uint16(191), + 285: uint16(191), + 286: uint16(191), + 287: uint16(297), + 288: uint16(297), + 289: uint16(191), + 290: uint16(191), + 291: uint16(191), + 292: uint16(191), + 293: uint16(191), + 294: uint16(191), + 295: uint16(191), + 296: uint16(298), + 297: uint16(191), + 298: uint16(191), + 299: uint16(191), + 300: uint16(300), + 301: uint16(302), + 302: uint16(303), + 303: uint16(303), + 304: uint16(304), + 305: uint16(268), + 306: uint16(268), + 307: uint16(307), + 308: uint16(307), + 309: uint16(307), + 310: uint16(306), + 311: uint16(308), + 312: uint16(242), + 313: uint16(242), + 314: uint16(309), + 315: uint16(310), + 316: uint16(311), + 317: uint16(311), + 318: uint16(311), + 319: uint16(311), + 320: uint16(311), + 321: uint16(312), + 322: uint16(312), + 323: uint16(312), 324: uint16(316), - 325: uint16(316), - 326: uint16(314), - 327: uint16(314), - 328: uint16(317), + 325: uint16(318), + 326: uint16(318), + 327: uint16(319), + 328: uint16(319), 329: uint16(317), - 330: uint16(318), - 331: uint16(318), - 332: uint16(318), - 333: uint16(251), - 334: uint16(273), - 335: uint16(273), - 336: uint16(273), - 337: uint16(312), - 338: uint16(312), - 339: uint16(311), - 340: uint16(185), - 341: uint16(186), - 342: uint16(186), - 343: uint16(187), - 344: uint16(187), + 330: uint16(317), + 331: uint16(320), + 332: uint16(320), + 333: uint16(321), + 334: uint16(321), + 335: uint16(321), + 336: uint16(252), + 337: uint16(275), + 338: uint16(275), + 339: uint16(275), + 340: uint16(315), + 341: uint16(315), + 342: uint16(314), + 343: uint16(217), + 344: uint16(186), 345: uint16(187), - 346: uint16(192), - 347: uint16(192), - 348: uint16(192), - 349: uint16(194), - 350: uint16(194), - 351: uint16(190), - 352: uint16(203), - 353: uint16(201), - 354: uint16(201), - 355: uint16(193), - 356: uint16(193), - 357: uint16(208), - 358: uint16(209), - 359: uint16(210), - 360: uint16(210), - 361: uint16(207), - 362: uint16(207), - 363: uint16(215), - 364: uint16(215), - 365: uint16(215), - 366: uint16(202), - 367: uint16(228), - 368: uint16(228), - 369: uint16(229), - 370: uint16(233), - 371: uint16(235), - 372: uint16(239), - 373: uint16(240), - 374: uint16(254), - 375: uint16(255), - 376: uint16(264), - 377: uint16(272), - 378: uint16(217), - 379: uint16(274), - 380: uint16(278), - 381: uint16(261), - 382: uint16(284), - 383: uint16(284), - 384: uint16(284), - 385: uint16(284), - 386: uint16(284), - 387: uint16(211), - 388: uint16(289), - 389: uint16(289), - 390: uint16(292), - 391: uint16(293), - 392: uint16(294), - 393: uint16(294), - 394: uint16(297), - 395: uint16(297), - 396: uint16(299), - 397: uint16(299), - 398: uint16(300), - 399: uint16(303), - 400: uint16(303), - 401: uint16(303), - 402: uint16(266), - 403: uint16(306), - 404: uint16(308), + 346: uint16(187), + 347: uint16(188), + 348: uint16(188), + 349: uint16(188), + 350: uint16(193), + 351: uint16(193), + 352: uint16(193), + 353: uint16(195), + 354: uint16(195), + 355: uint16(191), + 356: uint16(204), + 357: uint16(202), + 358: uint16(202), + 359: uint16(194), + 360: uint16(194), + 361: uint16(209), + 362: uint16(210), + 363: uint16(211), + 364: uint16(211), + 365: uint16(208), + 366: uint16(208), + 367: uint16(216), + 368: uint16(216), + 369: uint16(216), + 370: uint16(203), + 371: uint16(229), + 372: uint16(229), + 373: uint16(230), + 374: uint16(234), + 375: uint16(236), + 376: uint16(240), + 377: uint16(241), + 378: uint16(256), + 379: uint16(257), + 380: uint16(266), + 381: uint16(274), + 382: uint16(218), + 383: uint16(276), + 384: uint16(280), + 385: uint16(263), + 386: uint16(286), + 387: uint16(286), + 388: uint16(286), + 389: uint16(286), + 390: uint16(286), + 391: uint16(212), + 392: uint16(291), + 393: uint16(291), + 394: uint16(294), + 395: uint16(295), + 396: uint16(296), + 397: uint16(296), + 398: uint16(299), + 399: uint16(299), + 400: uint16(301), + 401: uint16(301), + 402: uint16(302), + 403: uint16(305), + 404: uint16(305), + 405: uint16(305), + 406: uint16(268), + 407: uint16(309), + 408: uint16(311), } // C documentation // // /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number // ** of symbols on the right-hand side of that rule. */ -var _yyRuleInfoNRhs = [405]int8{ +var _yyRuleInfoNRhs = [409]int8{ 0: int8(-int32(1)), 1: int8(-int32(3)), 2: int8(-int32(1)), @@ -229117,273 +230530,277 @@ var _yyRuleInfoNRhs = [405]int8{ 92: int8(-int32(9)), 93: int8(-int32(10)), 94: int8(-int32(4)), - 95: int8(-int32(5)), - 96: int8(-int32(1)), - 97: int8(-int32(1)), - 100: int8(-int32(5)), - 101: int8(-int32(3)), + 95: int8(-int32(1)), + 96: int8(-int32(5)), + 97: int8(-int32(5)), + 98: int8(-int32(1)), + 99: int8(-int32(1)), 102: int8(-int32(5)), - 103: int8(-int32(2)), - 106: int8(-int32(2)), - 107: int8(-int32(2)), - 109: int8(-int32(5)), - 110: int8(-int32(6)), - 111: int8(-int32(8)), + 103: int8(-int32(3)), + 104: int8(-int32(5)), + 105: int8(-int32(2)), + 108: int8(-int32(2)), + 109: int8(-int32(2)), + 111: int8(-int32(5)), 112: int8(-int32(6)), - 113: int8(-int32(6)), - 115: int8(-int32(2)), - 116: int8(-int32(1)), - 117: int8(-int32(3)), + 113: int8(-int32(8)), + 114: int8(-int32(6)), + 115: int8(-int32(6)), + 117: int8(-int32(2)), 118: int8(-int32(1)), 119: int8(-int32(3)), - 120: int8(-int32(5)), + 120: int8(-int32(1)), 121: int8(-int32(3)), - 122: int8(-int32(1)), - 123: int8(-int32(2)), - 124: int8(-int32(3)), - 125: int8(-int32(4)), - 126: int8(-int32(2)), + 122: int8(-int32(5)), + 123: int8(-int32(3)), + 124: int8(-int32(1)), + 125: int8(-int32(2)), + 126: int8(-int32(3)), 127: int8(-int32(4)), - 130: int8(-int32(3)), - 131: int8(-int32(2)), - 133: int8(-int32(3)), - 134: int8(-int32(5)), + 128: int8(-int32(2)), + 129: int8(-int32(4)), + 132: int8(-int32(3)), + 133: int8(-int32(2)), 135: int8(-int32(3)), - 136: int8(-int32(1)), - 137: int8(-int32(1)), - 139: int8(-int32(2)), - 140: int8(-int32(2)), - 143: int8(-int32(3)), - 145: int8(-int32(2)), + 136: int8(-int32(5)), + 137: int8(-int32(3)), + 138: int8(-int32(1)), + 139: int8(-int32(1)), + 141: int8(-int32(2)), + 142: int8(-int32(2)), + 145: int8(-int32(3)), 147: int8(-int32(2)), - 148: int8(-int32(4)), - 149: int8(-int32(4)), - 150: int8(-int32(6)), - 152: int8(-int32(2)), + 149: int8(-int32(2)), + 150: int8(-int32(4)), + 151: int8(-int32(4)), + 152: int8(-int32(6)), 154: int8(-int32(2)), - 155: int8(-int32(2)), - 156: int8(-int32(4)), - 157: int8(-int32(9)), - 158: int8(-int32(5)), - 159: int8(-int32(7)), - 160: int8(-int32(3)), - 161: int8(-int32(5)), - 162: int8(-int32(7)), - 163: int8(-int32(8)), - 165: int8(-int32(2)), - 166: int8(-int32(12)), - 167: int8(-int32(9)), - 168: int8(-int32(5)), - 169: int8(-int32(8)), - 170: int8(-int32(2)), - 171: int8(-int32(2)), - 172: int8(-int32(1)), - 174: int8(-int32(3)), - 175: int8(-int32(3)), - 176: int8(-int32(1)), + 156: int8(-int32(2)), + 157: int8(-int32(2)), + 158: int8(-int32(4)), + 159: int8(-int32(9)), + 160: int8(-int32(5)), + 161: int8(-int32(7)), + 162: int8(-int32(3)), + 163: int8(-int32(5)), + 164: int8(-int32(7)), + 165: int8(-int32(8)), + 167: int8(-int32(2)), + 168: int8(-int32(12)), + 169: int8(-int32(9)), + 170: int8(-int32(5)), + 171: int8(-int32(8)), + 172: int8(-int32(2)), + 173: int8(-int32(2)), + 174: int8(-int32(1)), + 176: int8(-int32(3)), 177: int8(-int32(3)), 178: int8(-int32(1)), 179: int8(-int32(3)), - 180: int8(-int32(5)), - 181: int8(-int32(1)), - 182: int8(-int32(1)), + 180: int8(-int32(1)), + 181: int8(-int32(3)), + 182: int8(-int32(5)), 183: int8(-int32(1)), 184: int8(-int32(1)), - 185: int8(-int32(3)), - 186: int8(-int32(6)), - 187: int8(-int32(5)), - 188: int8(-int32(8)), - 189: int8(-int32(4)), - 190: int8(-int32(6)), - 191: int8(-int32(9)), - 192: int8(-int32(5)), - 193: int8(-int32(1)), + 185: int8(-int32(1)), + 186: int8(-int32(1)), + 187: int8(-int32(3)), + 188: int8(-int32(6)), + 189: int8(-int32(5)), + 190: int8(-int32(8)), + 191: int8(-int32(4)), + 192: int8(-int32(6)), + 193: int8(-int32(9)), 194: int8(-int32(5)), - 195: int8(-int32(3)), - 196: int8(-int32(3)), + 195: int8(-int32(1)), + 196: int8(-int32(5)), 197: int8(-int32(3)), 198: int8(-int32(3)), 199: int8(-int32(3)), 200: int8(-int32(3)), 201: int8(-int32(3)), 202: int8(-int32(3)), - 203: int8(-int32(2)), + 203: int8(-int32(3)), 204: int8(-int32(3)), - 205: int8(-int32(5)), - 206: int8(-int32(2)), - 207: int8(-int32(3)), - 208: int8(-int32(3)), - 209: int8(-int32(4)), - 210: int8(-int32(6)), - 211: int8(-int32(5)), - 212: int8(-int32(2)), - 213: int8(-int32(2)), + 205: int8(-int32(2)), + 206: int8(-int32(3)), + 207: int8(-int32(5)), + 208: int8(-int32(2)), + 209: int8(-int32(3)), + 210: int8(-int32(3)), + 211: int8(-int32(4)), + 212: int8(-int32(6)), + 213: int8(-int32(5)), 214: int8(-int32(2)), - 215: int8(-int32(3)), - 216: int8(-int32(1)), - 217: int8(-int32(2)), - 218: int8(-int32(5)), - 219: int8(-int32(1)), - 220: int8(-int32(2)), - 221: int8(-int32(5)), - 222: int8(-int32(3)), + 215: int8(-int32(2)), + 216: int8(-int32(2)), + 217: int8(-int32(3)), + 218: int8(-int32(1)), + 219: int8(-int32(2)), + 220: int8(-int32(5)), + 221: int8(-int32(1)), + 222: int8(-int32(2)), 223: int8(-int32(5)), - 224: int8(-int32(5)), - 225: int8(-int32(4)), + 224: int8(-int32(3)), + 225: int8(-int32(5)), 226: int8(-int32(5)), - 227: int8(-int32(5)), - 228: int8(-int32(4)), - 229: int8(-int32(2)), - 233: int8(-int32(3)), - 234: int8(-int32(1)), - 236: int8(-int32(3)), - 237: int8(-int32(12)), - 238: int8(-int32(1)), - 241: int8(-int32(3)), - 242: int8(-int32(5)), + 227: int8(-int32(4)), + 228: int8(-int32(5)), + 229: int8(-int32(5)), + 230: int8(-int32(4)), + 231: int8(-int32(2)), + 235: int8(-int32(3)), + 236: int8(-int32(1)), + 238: int8(-int32(3)), + 239: int8(-int32(12)), + 240: int8(-int32(1)), 243: int8(-int32(3)), - 245: int8(-int32(2)), - 246: int8(-int32(4)), + 244: int8(-int32(5)), + 245: int8(-int32(3)), 247: int8(-int32(2)), - 248: int8(-int32(3)), + 248: int8(-int32(4)), 249: int8(-int32(2)), - 251: int8(-int32(3)), - 252: int8(-int32(5)), - 253: int8(-int32(6)), + 250: int8(-int32(3)), + 251: int8(-int32(2)), + 253: int8(-int32(3)), 254: int8(-int32(5)), 255: int8(-int32(6)), - 256: int8(-int32(2)), - 257: int8(-int32(2)), - 258: int8(-int32(5)), - 259: int8(-int32(11)), - 260: int8(-int32(1)), - 261: int8(-int32(2)), - 263: int8(-int32(1)), - 264: int8(-int32(1)), - 265: int8(-int32(3)), - 267: int8(-int32(2)), - 268: int8(-int32(3)), + 256: int8(-int32(5)), + 257: int8(-int32(6)), + 258: int8(-int32(2)), + 259: int8(-int32(2)), + 260: int8(-int32(5)), + 261: int8(-int32(11)), + 262: int8(-int32(1)), + 263: int8(-int32(2)), + 265: int8(-int32(1)), + 266: int8(-int32(1)), + 267: int8(-int32(3)), 269: int8(-int32(2)), 270: int8(-int32(3)), - 271: int8(-int32(3)), - 272: int8(-int32(2)), - 273: int8(-int32(9)), - 274: int8(-int32(8)), - 275: int8(-int32(6)), - 276: int8(-int32(3)), - 277: int8(-int32(4)), - 278: int8(-int32(6)), - 279: int8(-int32(1)), - 280: int8(-int32(1)), + 271: int8(-int32(2)), + 272: int8(-int32(3)), + 273: int8(-int32(3)), + 274: int8(-int32(2)), + 275: int8(-int32(9)), + 276: int8(-int32(8)), + 277: int8(-int32(6)), + 278: int8(-int32(3)), + 279: int8(-int32(4)), + 280: int8(-int32(6)), 281: int8(-int32(1)), - 282: int8(-int32(4)), - 283: int8(-int32(6)), - 284: int8(-int32(3)), - 286: int8(-int32(2)), - 287: int8(-int32(1)), - 288: int8(-int32(3)), + 282: int8(-int32(1)), + 283: int8(-int32(1)), + 284: int8(-int32(4)), + 285: int8(-int32(6)), + 286: int8(-int32(3)), + 288: int8(-int32(2)), 289: int8(-int32(1)), 290: int8(-int32(3)), - 291: int8(-int32(6)), - 292: int8(-int32(7)), + 291: int8(-int32(1)), + 292: int8(-int32(3)), 293: int8(-int32(6)), - 294: int8(-int32(1)), - 295: int8(-int32(8)), + 294: int8(-int32(7)), + 295: int8(-int32(6)), 296: int8(-int32(1)), - 297: int8(-int32(4)), - 298: int8(-int32(8)), - 300: int8(-int32(1)), - 301: int8(-int32(3)), + 297: int8(-int32(8)), + 298: int8(-int32(1)), + 299: int8(-int32(4)), + 300: int8(-int32(8)), 302: int8(-int32(1)), - 303: int8(-int32(2)), - 304: int8(-int32(3)), - 305: int8(-int32(1)), - 306: int8(-int32(2)), - 307: int8(-int32(3)), - 308: int8(-int32(6)), - 309: int8(-int32(1)), - 310: int8(-int32(3)), - 311: int8(-int32(3)), - 312: int8(-int32(5)), - 313: int8(-int32(5)), - 314: int8(-int32(6)), - 315: int8(-int32(4)), + 303: int8(-int32(3)), + 304: int8(-int32(1)), + 305: int8(-int32(2)), + 306: int8(-int32(3)), + 307: int8(-int32(1)), + 308: int8(-int32(2)), + 309: int8(-int32(3)), + 310: int8(-int32(6)), + 311: int8(-int32(1)), + 312: int8(-int32(1)), + 313: int8(-int32(3)), + 314: int8(-int32(3)), + 315: int8(-int32(5)), 316: int8(-int32(5)), - 317: int8(-int32(2)), - 319: int8(-int32(3)), - 320: int8(-int32(6)), - 321: int8(-int32(1)), - 322: int8(-int32(1)), - 323: int8(-int32(2)), + 317: int8(-int32(6)), + 318: int8(-int32(4)), + 319: int8(-int32(5)), + 320: int8(-int32(2)), + 322: int8(-int32(3)), + 323: int8(-int32(6)), 324: int8(-int32(1)), - 325: int8(-int32(2)), + 325: int8(-int32(1)), 326: int8(-int32(2)), - 327: int8(-int32(2)), + 327: int8(-int32(1)), + 328: int8(-int32(2)), 329: int8(-int32(2)), 330: int8(-int32(2)), - 331: int8(-int32(2)), - 332: int8(-int32(1)), + 332: int8(-int32(2)), 333: int8(-int32(2)), 334: int8(-int32(2)), 335: int8(-int32(1)), - 336: int8(-int32(1)), - 337: int8(-int32(4)), - 338: int8(-int32(2)), - 339: int8(-int32(5)), - 340: int8(-int32(1)), + 336: int8(-int32(2)), + 337: int8(-int32(2)), + 338: int8(-int32(1)), + 339: int8(-int32(1)), + 340: int8(-int32(4)), 341: int8(-int32(2)), - 342: int8(-int32(1)), + 342: int8(-int32(5)), 343: int8(-int32(1)), - 344: int8(-int32(2)), - 345: int8(-int32(3)), + 344: int8(-int32(1)), + 345: int8(-int32(2)), + 346: int8(-int32(1)), 347: int8(-int32(1)), 348: int8(-int32(2)), - 349: int8(-int32(1)), - 351: int8(-int32(2)), - 352: int8(-int32(1)), - 353: int8(-int32(4)), - 354: int8(-int32(2)), - 355: int8(-int32(1)), + 349: int8(-int32(3)), + 351: int8(-int32(1)), + 352: int8(-int32(2)), + 353: int8(-int32(1)), + 355: int8(-int32(2)), 356: int8(-int32(1)), - 357: int8(-int32(1)), - 358: int8(-int32(1)), + 357: int8(-int32(4)), + 358: int8(-int32(2)), 359: int8(-int32(1)), 360: int8(-int32(1)), - 361: int8(-int32(2)), - 363: int8(-int32(2)), - 364: int8(-int32(4)), + 361: int8(-int32(1)), + 362: int8(-int32(1)), + 363: int8(-int32(1)), + 364: int8(-int32(1)), 365: int8(-int32(2)), - 366: int8(-int32(2)), - 367: int8(-int32(3)), - 368: int8(-int32(1)), - 370: int8(-int32(1)), - 371: int8(-int32(1)), + 367: int8(-int32(2)), + 368: int8(-int32(4)), + 369: int8(-int32(2)), + 370: int8(-int32(2)), + 371: int8(-int32(3)), 372: int8(-int32(1)), - 373: int8(-int32(1)), - 374: int8(-int32(2)), + 374: int8(-int32(1)), 375: int8(-int32(1)), 376: int8(-int32(1)), - 378: int8(-int32(1)), + 377: int8(-int32(1)), + 378: int8(-int32(2)), 379: int8(-int32(1)), 380: int8(-int32(1)), - 381: int8(-int32(1)), 382: int8(-int32(1)), 383: int8(-int32(1)), 384: int8(-int32(1)), 385: int8(-int32(1)), 386: int8(-int32(1)), 387: int8(-int32(1)), - 389: int8(-int32(3)), + 388: int8(-int32(1)), + 389: int8(-int32(1)), 390: int8(-int32(1)), - 392: int8(-int32(1)), - 395: int8(-int32(1)), + 391: int8(-int32(1)), + 393: int8(-int32(3)), + 394: int8(-int32(1)), 396: int8(-int32(1)), - 397: int8(-int32(3)), - 398: int8(-int32(2)), - 400: int8(-int32(4)), - 401: int8(-int32(2)), - 403: int8(-int32(1)), - 404: int8(-int32(1)), + 399: int8(-int32(1)), + 400: int8(-int32(1)), + 401: int8(-int32(3)), + 402: int8(-int32(2)), + 404: int8(-int32(4)), + 405: int8(-int32(2)), + 407: int8(-int32(1)), + 408: int8(-int32(1)), } // C documentation @@ -229401,18 +230818,19 @@ var _yyRuleInfoNRhs = [405]int8{ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken TToken, pParse uintptr) (r uint16) { bp := tls.Alloc(144) defer tls.Free(144) - var bNot, bNot1, nExpr, yygoto, yysize, v344 int32 + var bNot, bNot1, nExpr, yygoto, yysize int32 var n Tu32 - var p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v343, v345, v346, v347, v348 uintptr + var op Tu8 + var p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yymsp, v347, v348, v349, v350, v351 uintptr var yyact uint16 - var v349 TToken + var v352 TToken var _ /* all at bp+104 */ TToken var _ /* as at bp+72 */ TToken var _ /* dest at bp+16 */ TSelectDest var _ /* t at bp+88 */ TToken var _ /* x at bp+56 */ TToken var _ /* yylhsminor at bp+0 */ TYYMINORTYPE - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, p, p1, p2, p3, p4, pDot, pFrom, pFromClause, pLeft, pLeft1, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pRight1, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v343, v344, v345, v346, v347, v348, v349 /* Amount to pop the stack */ + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bNot, bNot1, n, nExpr, op, p, p1, p2, p3, p4, p5, pDot, pFrom, pFromClause, pLeft, pLhs, pList, pList1, pList2, pList3, pList4, pNew, pOld, pRHS, pRhs, pRight, pSelect, pSelectRHS, pSrc, pSubquery, pSubquery1, temp1, temp11, temp2, temp21, temp3, temp4, yyact, yygoto, yymsp, yysize, v347, v348, v349, v350, v351, v352 /* Amount to pop the stack */ _ = yyLookahead _ = yyLookaheadToken yymsp = (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos @@ -229433,7 +230851,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _7 case uint32(7): goto _8 - case uint32(321): + case uint32(324): goto _9 case uint32(9): goto _10 @@ -229461,9 +230879,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _21 case uint32(81): goto _22 - case uint32(98): + case uint32(100): goto _23 - case uint32(244): + case uint32(246): goto _24 case uint32(16): goto _25 @@ -229487,7 +230905,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _34 case uint32(26): goto _35 - case uint32(104): + case uint32(106): goto _36 case uint32(27): goto _37 @@ -229561,17 +230979,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _71 case uint32(61): goto _72 - case uint32(171): + case uint32(173): goto _73 case uint32(80): goto _74 case uint32(63): goto _75 - case uint32(217): + case uint32(219): goto _76 - case uint32(220): + case uint32(222): goto _77 - case uint32(245): + case uint32(247): goto _78 case uint32(64): goto _79 @@ -229593,7 +231011,7 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _87 case uint32(77): goto _88 - case uint32(172): + case uint32(174): goto _89 case uint32(78): goto _90 @@ -229627,47 +231045,47 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _104 case uint32(95): goto _105 - case uint32(96): - goto _106 case uint32(97): + goto _106 + case uint32(96): goto _107 - case uint32(132): + case uint32(98): goto _108 case uint32(99): goto _109 - case uint32(142): + case uint32(134): goto _110 - case uint32(232): + case uint32(101): goto _111 - case uint32(235): + case uint32(144): goto _112 - case uint32(240): + case uint32(234): goto _113 - case uint32(100): + case uint32(237): goto _114 - case uint32(101): + case uint32(242): goto _115 case uint32(102): goto _116 - case uint32(115): - goto _117 case uint32(103): + goto _117 + case uint32(104): goto _118 - case uint32(256): + case uint32(117): goto _119 - case uint32(257): + case uint32(105): goto _120 - case uint32(108): + case uint32(258): goto _121 - case uint32(105): + case uint32(259): goto _122 - case uint32(106): + case uint32(110): goto _123 case uint32(107): goto _124 - case uint32(109): + case uint32(108): goto _125 - case uint32(110): + case uint32(109): goto _126 case uint32(111): goto _127 @@ -229675,13 +231093,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _128 case uint32(113): goto _129 - case uint32(129): - goto _130 case uint32(114): + goto _130 + case uint32(115): goto _131 - case uint32(116): + case uint32(131): goto _132 - case uint32(117): + case uint32(116): goto _133 case uint32(118): goto _134 @@ -229705,15 +231123,15 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _143 case uint32(128): goto _144 - case uint32(130): + case uint32(129): goto _145 - case uint32(131): + case uint32(130): goto _146 - case uint32(143): + case uint32(132): goto _147 case uint32(133): goto _148 - case uint32(134): + case uint32(145): goto _149 case uint32(135): goto _150 @@ -229721,49 +231139,49 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _151 case uint32(137): goto _152 - case uint32(141): - goto _153 case uint32(138): - goto _154 + goto _153 case uint32(139): + goto _154 + case uint32(143): goto _155 case uint32(140): goto _156 - case uint32(146): + case uint32(141): goto _157 - case uint32(144): + case uint32(142): goto _158 - case uint32(151): + case uint32(148): goto _159 - case uint32(153): + case uint32(146): goto _160 - case uint32(230): + case uint32(153): goto _161 - case uint32(231): + case uint32(155): goto _162 - case uint32(250): + case uint32(232): goto _163 - case uint32(152): + case uint32(233): goto _164 - case uint32(145): + case uint32(252): goto _165 case uint32(154): goto _166 - case uint32(229): + case uint32(147): goto _167 - case uint32(249): + case uint32(156): goto _168 - case uint32(147): + case uint32(231): goto _169 - case uint32(148): + case uint32(251): goto _170 case uint32(149): goto _171 case uint32(150): goto _172 - case uint32(155): + case uint32(151): goto _173 - case uint32(156): + case uint32(152): goto _174 case uint32(157): goto _175 @@ -229793,9 +231211,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _187 case uint32(170): goto _188 - case uint32(173): + case uint32(171): goto _189 - case uint32(174): + case uint32(172): goto _190 case uint32(175): goto _191 @@ -229809,13 +231227,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _195 case uint32(180): goto _196 - case uint32(182): - goto _197 case uint32(181): + goto _197 + case uint32(182): goto _198 - case uint32(183): - goto _199 case uint32(184): + goto _199 + case uint32(183): goto _200 case uint32(185): goto _201 @@ -229839,13 +231257,13 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _210 case uint32(195): goto _211 - case uint32(197): - goto _212 case uint32(196): + goto _212 + case uint32(197): goto _213 - case uint32(198): - goto _214 case uint32(199): + goto _214 + case uint32(198): goto _215 case uint32(200): goto _216 @@ -229871,23 +231289,23 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _226 case uint32(211): goto _227 - case uint32(213): - goto _228 case uint32(212): + goto _228 + case uint32(213): goto _229 - case uint32(214): - goto _230 case uint32(215): + goto _230 + case uint32(214): goto _231 - case uint32(219): - goto _232 case uint32(216): + goto _232 + case uint32(217): goto _233 - case uint32(218): - goto _234 case uint32(221): + goto _234 + case uint32(218): goto _235 - case uint32(222): + case uint32(220): goto _236 case uint32(223): goto _237 @@ -229901,35 +231319,35 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _241 case uint32(228): goto _242 - case uint32(233): + case uint32(229): goto _243 - case uint32(234): + case uint32(230): goto _244 - case uint32(241): + case uint32(235): goto _245 case uint32(236): goto _246 - case uint32(237): + case uint32(243): goto _247 - case uint32(280): - goto _248 case uint32(238): - goto _249 + goto _248 case uint32(239): + goto _249 + case uint32(282): goto _250 - case uint32(242): + case uint32(240): goto _251 - case uint32(243): + case uint32(241): goto _252 - case uint32(246): + case uint32(244): goto _253 - case uint32(247): + case uint32(245): goto _254 case uint32(248): goto _255 - case uint32(251): + case uint32(249): goto _256 - case uint32(252): + case uint32(250): goto _257 case uint32(253): goto _258 @@ -229937,9 +231355,9 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _259 case uint32(255): goto _260 - case uint32(258): + case uint32(256): goto _261 - case uint32(259): + case uint32(257): goto _262 case uint32(260): goto _263 @@ -229947,21 +231365,21 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _264 case uint32(262): goto _265 - case uint32(264): - goto _266 case uint32(263): + goto _266 + case uint32(264): goto _267 - case uint32(265): + case uint32(266): goto _268 - case uint32(285): + case uint32(265): goto _269 - case uint32(266): + case uint32(267): goto _270 - case uint32(286): + case uint32(287): goto _271 - case uint32(267): - goto _272 case uint32(268): + goto _272 + case uint32(288): goto _273 case uint32(269): goto _274 @@ -229985,17 +231403,17 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _283 case uint32(279): goto _284 - case uint32(281): + case uint32(280): goto _285 - case uint32(282): + case uint32(281): goto _286 case uint32(283): goto _287 case uint32(284): goto _288 - case uint32(287): + case uint32(285): goto _289 - case uint32(288): + case uint32(286): goto _290 case uint32(289): goto _291 @@ -230019,19 +231437,19 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _300 case uint32(299): goto _301 - case uint32(301): - goto _302 case uint32(300): + goto _302 + case uint32(301): goto _303 - case uint32(302): + case uint32(303): goto _304 - case uint32(304): + case uint32(302): goto _305 - case uint32(303): + case uint32(304): goto _306 - case uint32(305): - goto _307 case uint32(306): + goto _307 + case uint32(305): goto _308 case uint32(307): goto _309 @@ -230061,31 +231479,31 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _321 case uint32(320): goto _322 - case uint32(324): + case uint32(321): goto _323 case uint32(322): goto _324 - case uint32(325): - goto _325 case uint32(323): - goto _326 + goto _325 case uint32(327): + goto _326 + case uint32(325): goto _327 - case uint32(326): - goto _328 case uint32(328): + goto _328 + case uint32(326): goto _329 - case uint32(329): + case uint32(330): goto _330 - case uint32(331): + case uint32(329): goto _331 - case uint32(330): + case uint32(331): goto _332 case uint32(332): goto _333 - case uint32(333): - goto _334 case uint32(334): + goto _334 + case uint32(333): goto _335 case uint32(335): goto _336 @@ -230097,34 +231515,42 @@ func _yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead i goto _339 case uint32(339): goto _340 - default: + case uint32(340): goto _341 + case uint32(341): + goto _342 + case uint32(342): + goto _343 + case uint32(343): + goto _344 + default: + goto _345 } - goto _342 + goto _346 _1: ; /* explain ::= EXPLAIN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(1) } - goto _342 + goto _346 _2: ; /* explain ::= EXPLAIN QUERY PLAN */ if (*TParse)(unsafe.Pointer(pParse)).FpReprepare == uintptr(0) { (*TParse)(unsafe.Pointer(pParse)).Fexplain = uint8(2) } - goto _342 + goto _346 _3: ; /* cmdx ::= cmd */ _sqlite3FinishCoding(tls, pParse) - goto _342 + goto _346 _4: ; /* cmd ::= BEGIN transtype trans_opt */ _sqlite3BeginTransaction(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _5: ; /* transtype ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_DEFERRED) - goto _342 + goto _346 _7: ; /* transtype ::= DEFERRED */ _6: @@ -230134,33 +231560,33 @@ _8: _9: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 + goto _346 _11: ; /* cmd ::= COMMIT|END trans_opt */ _10: ; _sqlite3EndTransaction(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor)) - goto _342 + goto _346 _12: ; /* cmd ::= SAVEPOINT nm */ _sqlite3Savepoint(tls, pParse, SAVEPOINT_BEGIN, yymsp+8) - goto _342 + goto _346 _13: ; /* cmd ::= RELEASE savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_RELEASE), yymsp+8) - goto _342 + goto _346 _14: ; /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ _sqlite3Savepoint(tls, pParse, int32(SAVEPOINT_ROLLBACK), yymsp+8) - goto _342 + goto _346 _15: ; /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ _sqlite3StartTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), 0, 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _16: ; /* createkw ::= CREATE */ _disableLookaside(tls, pParse) - goto _342 + goto _346 _18: ; /* ifnotexists ::= */ _17: @@ -230178,56 +231604,56 @@ _23: _24: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = 0 - goto _342 + goto _346 _25: ; /* ifnotexists ::= IF NOT EXISTS */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(1) - goto _342 + goto _346 _26: ; /* temp ::= TEMP */ *(*int32)(unsafe.Pointer(yymsp + 8)) = libc.BoolInt32(int32((*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).Finit1.Fbusy) == 0) - goto _342 + goto _346 _27: ; /* create_table_args ::= LP columnlist conslist_opt RP table_option_set */ _sqlite3EndTable(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*Tu32)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 + goto _346 _28: ; /* create_table_args ::= AS select */ _sqlite3EndTable(tls, pParse, uintptr(0), uintptr(0), uint32(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _29: ; /* table_option_set ::= */ *(*Tu32)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint32(0) - goto _342 + goto _346 _30: ; /* table_option_set ::= table_option_set COMMA table_option */ *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) | *(*Tu32)(unsafe.Pointer(yymsp + 8)) *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _31: ; /* table_option ::= WITHOUT nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+18009, int32(5)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(5) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+18096, int32(5)) == 0 { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(libc.Int32FromInt32(TF_WithoutRowid) | libc.Int32FromInt32(TF_NoVisibleRowid)) } else { *(*Tu32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24684, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24807, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } - goto _342 + goto _346 _32: ; /* table_option ::= nm */ - if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+17922, int32(6)) == 0 { + if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) == uint32(6) && Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(yymsp + 8)), __ccgo_ts+18009, int32(6)) == 0 { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(TF_Strict) } else { *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = uint32(0) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24684, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24807, libc.VaList(bp+128, *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)))) } *(*Tu32)(unsafe.Pointer(yymsp + 8)) = *(*Tu32)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 + goto _346 _33: ; /* columnname ::= nm typetoken */ _sqlite3AddColumn(tls, pParse, *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*TToken)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _35: ; /* typetoken ::= */ _34: @@ -230236,50 +231662,50 @@ _36: ; *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 + goto _346 _37: ; /* typetoken ::= typename LP signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) - goto _342 + goto _346 _38: ; /* typetoken ::= typename LP signed COMMA signed RP */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8 + 8)) = uint32(int32(t__predefined_ptrdiff_t(*(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))))) - goto _342 + goto _346 _39: ; /* typename ::= typename ID|STRING */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) + uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) - goto _342 + goto _346 _40: ; /* scanpt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken.Fz - goto _342 + goto _346 _41: ; /* scantok ::= */ *(*TToken)(unsafe.Pointer(yymsp + 1*24 + 8)) = yyLookaheadToken - goto _342 + goto _346 _43: ; /* ccons ::= CONSTRAINT nm */ _42: ; (*TParse)(unsafe.Pointer(pParse)).FconstraintName = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _44: ; /* ccons ::= DEFAULT scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _45: ; /* ccons ::= DEFAULT LP expr RP */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))+uintptr(1), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _46: ; /* ccons ::= DEFAULT PLUS scantok term */ _sqlite3AddDefaultValue(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _47: ; /* ccons ::= DEFAULT MINUS scantok term */ p = _sqlite3PExpr(tls, pParse, int32(TK_UMINUS), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) _sqlite3AddDefaultValue(tls, pParse, p, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)))) - goto _342 + goto _346 _48: ; /* ccons ::= DEFAULT scantok ID|INDEXED */ p1 = _tokenExpr(tls, pParse, int32(TK_STRING), *(*TToken)(unsafe.Pointer(yymsp + 8))) @@ -230287,99 +231713,99 @@ _48: _sqlite3ExprIdToTrueFalse(tls, p1) } _sqlite3AddDefaultValue(tls, pParse, p1, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))+uintptr(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) - goto _342 + goto _346 _49: ; /* ccons ::= NOT NULL onconf */ _sqlite3AddNotNull(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _50: ; /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ _sqlite3AddPrimaryKey(tls, pParse, uintptr(0), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 + goto _346 _51: ; /* ccons ::= UNIQUE onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), uintptr(0), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _52: ; /* ccons ::= CHECK LP expr RP */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _53: ; /* ccons ::= REFERENCES nm eidlist_opt refargs */ _sqlite3CreateForeignKey(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _54: ; /* ccons ::= defer_subclause */ _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _55: ; /* ccons ::= COLLATE ID|STRING */ _sqlite3AddCollateType(tls, pParse, yymsp+8) - goto _342 + goto _346 _56: ; /* generated ::= LP expr RP */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 + goto _346 _57: ; /* generated ::= LP expr RP ID */ _sqlite3AddGenerated(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 + goto _346 _58: ; /* autoinc ::= AUTOINCR */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(1) - goto _342 + goto _346 _59: ; /* refargs ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = libc.Int32FromInt32(OE_None) * libc.Int32FromInt32(0x0101) /* EV: R-19803-45884 */ - goto _342 + goto _346 _60: ; /* refargs ::= refargs refarg */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) & ^*(*int32)(unsafe.Pointer(yymsp + 8 + 4)) | *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _61: ; /* refarg ::= MATCH nm */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _62: ; /* refarg ::= ON INSERT refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = 0x000000 - goto _342 + goto _346 _63: ; /* refarg ::= ON DELETE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x0000ff) - goto _342 + goto _346 _64: ; /* refarg ::= ON UPDATE refact */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) << int32(8) *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 4)) = int32(0x00ff00) - goto _342 + goto _346 _65: ; /* refact ::= SET NULL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetNull) /* EV: R-33326-45252 */ - goto _342 + goto _346 _66: ; /* refact ::= SET DEFAULT */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(OE_SetDflt) /* EV: R-33326-45252 */ - goto _342 + goto _346 _67: ; /* refact ::= CASCADE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Cascade) /* EV: R-33326-45252 */ - goto _342 + goto _346 _68: ; /* refact ::= RESTRICT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Restrict) /* EV: R-33326-45252 */ - goto _342 + goto _346 _69: ; /* refact ::= NO ACTION */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = OE_None /* EV: R-33326-45252 */ - goto _342 + goto _346 _70: ; /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = 0 - goto _342 + goto _346 _72: ; /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ _71: @@ -230387,7 +231813,7 @@ _71: _73: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _75: ; /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ _74: @@ -230399,64 +231825,64 @@ _77: _78: ; *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(1) - goto _342 + goto _346 _79: ; /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = 0 - goto _342 + goto _346 _80: ; /* tconscomma ::= COMMA */ (*TParse)(unsafe.Pointer(pParse)).FconstraintName.Fn = uint32(0) - goto _342 + goto _346 _81: ; /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ _sqlite3AddPrimaryKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), 0) - goto _342 + goto _346 _82: ; /* tcons ::= UNIQUE LP sortlist RP onconf */ _sqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), 0, 0, uint8(SQLITE_IDXTYPE_UNIQUE)) - goto _342 + goto _346 _83: ; /* tcons ::= CHECK LP expr RP onconf */ _sqlite3AddCheckConstraint(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _84: ; /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ _sqlite3CreateForeignKey(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) _sqlite3DeferForeignKey(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _86: ; /* onconf ::= */ _85: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(OE_Default) - goto _342 + goto _346 _87: ; /* onconf ::= ON CONFLICT resolvetype */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*int32)(unsafe.Pointer(yymsp + 8)) - goto _342 + goto _346 _88: ; /* resolvetype ::= IGNORE */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Ignore) - goto _342 + goto _346 _90: ; /* resolvetype ::= REPLACE */ _89: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Replace) - goto _342 + goto _346 _91: ; /* cmd ::= DROP TABLE ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), 0, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _92: ; /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ _sqlite3CreateView(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) - goto _342 + goto _346 _93: ; /* cmd ::= DROP VIEW ifexists fullname */ _sqlite3DropTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), int32(1), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _94: ; /* cmd ::= select */ *(*TSelectDest)(unsafe.Pointer(bp + 16)) = TSelectDest{ @@ -230464,22 +231890,22 @@ _94: } _sqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), bp+16) _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _95: ; /* select ::= WITH wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _96: ; /* select ::= WITH RECURSIVE wqlist selectnowith */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _attachWithToSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 + goto _346 _97: ; /* select ::= selectnowith */ p2 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) if p2 != 0 { _parserDoubleLinkSelect(tls, pParse, p2) } - goto _342 + goto _346 _98: ; /* selectnowith ::= selectnowith multiselect_op oneselect */ pRhs = *(*uintptr)(unsafe.Pointer(yymsp + 8)) @@ -230504,21 +231930,21 @@ _98: _sqlite3SelectDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pLhs) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = pRhs - goto _342 + goto _346 _100: ; /* multiselect_op ::= UNION */ _99: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-OP*/ - goto _342 + goto _346 _101: ; /* multiselect_op ::= UNION ALL */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_ALL) - goto _342 + goto _346 _102: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 + goto _346 _103: ; /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(9))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint32(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -230527,116 +231953,111 @@ _103: } else { _sqlite3WindowListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) } - goto _342 + goto _346 _104: ; /* values ::= VALUES LP nexprlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(SF_Values), uintptr(0)) - goto _342 + goto _346 _105: - ; /* values ::= values COMMA LP nexprlist RP */ - pLeft = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) - pRight = _sqlite3SelectNew(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(libc.Int32FromInt32(SF_Values)|libc.Int32FromInt32(SF_MultiValue)), uintptr(0)) - if pLeft != 0 { - *(*Tu32)(unsafe.Pointer(pLeft + 4)) &= uint32(^libc.Int32FromInt32(SF_MultiValue)) - } - if pRight != 0 { - (*TSelect)(unsafe.Pointer(pRight)).Fop = uint8(TK_ALL) - (*TSelect)(unsafe.Pointer(pRight)).FpPrior = pLeft - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pRight - } else { - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = pLeft - } - goto _342 + ; /* oneselect ::= mvalues */ + _sqlite3MultiValuesEnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_107: + ; /* mvalues ::= values COMMA LP nexprlist RP */ _106: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3MultiValues(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_108: ; /* distinct ::= DISTINCT */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_Distinct) - goto _342 -_107: + goto _346 +_109: ; /* distinct ::= ALL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SF_All) - goto _342 -_109: + goto _346 +_111: ; /* sclp ::= */ -_108: - ; _110: ; -_111: - ; _112: ; _113: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 _114: + ; +_115: + ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 +_116: ; /* selcollist ::= sclp scanpt expr scanpt as */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) > uint32(0) { _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+8, int32(1)) } _sqlite3ExprListSetSpan(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_115: + goto _346 +_117: ; /* selcollist ::= sclp scanpt STAR */ p3 = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_ASTERISK), uintptr(0)) _sqlite3ExprSetErrorOffset(tls, p3, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), p3) - goto _342 -_116: + goto _346 +_118: ; /* selcollist ::= sclp scanpt nm DOT STAR */ - pRight1 = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) - _sqlite3ExprSetErrorOffset(tls, pRight1, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) - pLeft1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft1, pRight1) + pRight = _sqlite3PExpr(tls, pParse, int32(TK_ASTERISK), uintptr(0), uintptr(0)) + _sqlite3ExprSetErrorOffset(tls, pRight, int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64((*TParse)(unsafe.Pointer(pParse)).FzTail))) + pLeft = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) + pDot = _sqlite3PExpr(tls, pParse, int32(TK_DOT), pLeft, pRight) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pDot) - goto _342 -_118: + goto _346 +_120: ; /* as ::= AS nm */ -_117: - ; _119: ; -_120: +_121: ; - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 _122: + ; + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) + goto _346 +_124: ; /* from ::= */ -_121: +_123: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_123: + goto _346 +_125: ; /* from ::= FROM seltablist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) _sqlite3SrcListShiftJoinType(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_124: + goto _346 +_126: ; /* stl_prefix ::= seltablist joinop */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 && (*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc > 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8 + uintptr((*TSrcList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnSrc-int32(1))*104))).Ffg.Fjointype = uint8(*(*int32)(unsafe.Pointer(yymsp + 8))) } - goto _342 -_125: + goto _346 +_127: ; /* seltablist ::= stl_prefix nm dbnm as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) - goto _342 -_126: + goto _346 +_128: ; /* seltablist ::= stl_prefix nm dbnm as indexed_by on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_127: + goto _346 +_129: ; /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), yymsp+8) _sqlite3SrcListFuncArgs(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) - goto _342 -_128: + goto _346 +_130: ; /* seltablist ::= stl_prefix LP select RP as on_using */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_129: + goto _346 +_131: ; /* seltablist ::= stl_prefix LP seltablist RP as on_using */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) == uintptr(0) && *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) == uint32(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8)) == uintptr(0) && *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) @@ -230658,9 +232079,9 @@ _129: libc.SetBitFieldPtr16Uint32(pOld+60+4, libc.Uint32FromInt32(0), 2, 0x4) libc.SetBitFieldPtr16Uint32(pNew+60+4, libc.Uint32FromInt32(1), 2, 0x4) } - v343 = libc.UintptrFromInt32(0) - (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v343 - (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v343 + v347 = libc.UintptrFromInt32(0) + (*TSrcItem)(unsafe.Pointer(pOld)).FzDatabase = v347 + (*TSrcItem)(unsafe.Pointer(pOld)).FzName = v347 (*TSrcItem)(unsafe.Pointer(pOld)).FpSelect = uintptr(0) } _sqlite3SrcListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) @@ -230670,189 +232091,189 @@ _129: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendFromTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, pSubquery, yymsp+8) } } - goto _342 -_131: + goto _346 +_133: ; /* dbnm ::= */ -_130: +_132: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uint32(0) - goto _342 -_132: + goto _346 +_134: ; /* fullname ::= nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_133: + goto _346 +_135: ; /* fullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { _sqlite3RenameTokenMap(tls, pParse, (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 8))).FzName, yymsp+8) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_134: + goto _346 +_136: ; /* xfullname ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+8, uintptr(0)) /*A-overwrites-X*/ - goto _342 -_135: + goto _346 +_137: ; /* xfullname ::= nm DOT nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) /*A-overwrites-X*/ - goto _342 -_136: + goto _346 +_138: ; /* xfullname ::= nm DOT nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_137: + goto _346 +_139: ; /* xfullname ::= nm AS nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, uintptr(0)) /*A-overwrites-X*/ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { (*(*TSrcItem)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 8))).FzAlias = _sqlite3NameFromToken(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, yymsp+8) } - goto _342 -_138: + goto _346 +_140: ; /* joinop ::= COMMA|JOIN */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(JT_INNER) - goto _342 -_139: + goto _346 +_141: ; /* joinop ::= JOIN_KW JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0), uintptr(0)) /*X-overwrites-A*/ - goto _342 -_140: + goto _346 +_142: ; /* joinop ::= JOIN_KW nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, uintptr(0)) /*X-overwrites-A*/ - goto _342 -_141: + goto _346 +_143: ; /* joinop ::= JOIN_KW nm nm JOIN */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3JoinType(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) /*X-overwrites-A*/ - goto _342 -_142: + goto _346 +_144: ; /* on_using ::= ON expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uintptr(0) - goto _342 -_143: + goto _346 +_145: ; /* on_using ::= USING LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_144: + goto _346 +_146: ; /* on_using ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8 + 8)) = uintptr(0) - goto _342 -_145: + goto _346 +_147: ; /* indexed_by ::= INDEXED BY nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - goto _342 -_146: + goto _346 +_148: ; /* indexed_by ::= NOT INDEXED */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(1) - goto _342 -_148: + goto _346 +_150: ; /* orderby_opt ::= ORDER BY sortlist */ -_147: +_149: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_149: + goto _346 +_151: ; /* sortlist ::= sortlist COMMA expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_150: + goto _346 +_152: ; /* sortlist ::= expr sortorder nulls */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) /*A-overwrites-Y*/ _sqlite3ExprListSetSortOrder(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_151: + goto _346 +_153: ; /* sortorder ::= ASC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = SQLITE_SO_ASC - goto _342 -_152: + goto _346 +_154: ; /* sortorder ::= DESC */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_154: + goto _346 +_156: ; /* sortorder ::= */ -_153: +_155: ; *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = -int32(1) - goto _342 -_155: + goto _346 +_157: ; /* nulls ::= NULLS FIRST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = SQLITE_SO_ASC - goto _342 -_156: + goto _346 +_158: ; /* nulls ::= NULLS LAST */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(SQLITE_SO_DESC) - goto _342 -_158: + goto _346 +_160: ; /* having_opt ::= */ -_157: - ; _159: ; -_160: - ; _161: ; _162: ; _163: ; - *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_165: - ; /* having_opt ::= HAVING expr */ _164: ; -_166: +_165: ; + *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) + goto _346 _167: + ; /* having_opt ::= HAVING expr */ +_166: ; _168: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 _169: + ; +_170: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + goto _346 +_171: ; /* limit_opt ::= LIMIT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - goto _342 -_170: + goto _346 +_172: ; /* limit_opt ::= LIMIT expr OFFSET expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_171: + goto _346 +_173: ; /* limit_opt ::= LIMIT expr COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_LIMIT), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) - goto _342 -_172: + goto _346 +_174: ; /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) _sqlite3DeleteFrom(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0)) - goto _342 -_173: + goto _346 +_175: ; /* where_opt_ret ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) - goto _342 -_174: + goto _346 +_176: ; /* where_opt_ret ::= WHERE expr RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) - goto _342 -_175: + goto _346 +_177: ; /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist from where_opt_ret */ _sqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) - _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+24711) + _sqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), __ccgo_ts+24834) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { pFromClause = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) if (*TSrcList)(unsafe.Pointer(pFromClause)).FnSrc > int32(1) { @@ -230864,95 +232285,95 @@ _175: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3SrcListAppendList(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), pFromClause) } _sqlite3Update(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_176: + goto _346 +_178: ; /* setlist ::= setlist COMMA nm EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) - goto _342 -_177: + goto _346 +_179: ; /* setlist ::= setlist COMMA LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_178: + goto _346 +_180: ; /* setlist ::= nm EQ expr */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, int32(1)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_179: + goto _346 +_181: ; /* setlist ::= LP idlist RP EQ expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppendVector(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_180: + goto _346 +_182: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_181: + goto _346 +_183: ; /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES returning */ _sqlite3Insert(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), uintptr(0)) - goto _342 -_182: + goto _346 +_184: ; /* upsert ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_183: + goto _346 +_185: ; /* upsert ::= RETURNING selcollist */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uintptr(0) _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_184: + goto _346 +_186: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(11))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_185: + goto _346 +_187: ; /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING upsert */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_186: + goto _346 +_188: ; /* upsert ::= ON CONFLICT DO NOTHING returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) - goto _342 -_187: + goto _346 +_189: ; /* upsert ::= ON CONFLICT DO UPDATE SET setlist where_opt returning */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = _sqlite3UpsertNew(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_188: + goto _346 +_190: ; /* returning ::= RETURNING selcollist */ _sqlite3AddReturning(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_189: + goto _346 +_191: ; /* idlist_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_190: + goto _346 +_192: ; /* idlist_opt ::= LP idlist RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_191: + goto _346 +_193: ; /* idlist ::= idlist COMMA nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3IdListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8) - goto _342 -_192: + goto _346 +_194: ; /* idlist ::= nm */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3IdListAppend(tls, pParse, uintptr(0), yymsp+8) /*A-overwrites-Y*/ - goto _342 -_193: + goto _346 +_195: ; /* expr ::= LP expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_194: + goto _346 +_196: ; /* expr ::= ID|INDEXED|JOIN_KW */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_195: + goto _346 +_197: ; /* expr ::= nm DOT nm */ temp1 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) temp2 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp1, temp2) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_196: + goto _346 +_198: ; /* expr ::= nm DOT nm DOT nm */ temp11 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) temp21 = _tokenExpr(tls, pParse, int32(TK_ID), *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) @@ -230963,22 +232384,22 @@ _196: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3PExpr(tls, pParse, int32(TK_DOT), temp11, temp4) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_198: + goto _346 +_200: ; /* term ::= NULL|FLOAT|BLOB */ -_197: +_199: ; *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_199: + goto _346 +_201: ; /* term ::= INTEGER */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_INTEGER), yymsp+8, int32(1)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + 52)) = int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8))) - int64((*TParse)(unsafe.Pointer(pParse)).FzTail)) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_200: + goto _346 +_202: ; /* expr ::= VARIABLE */ if !(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8))))) == int32('#') && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)) + 1)))])&int32(0x04) != 0) { n = *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) @@ -230990,7 +232411,7 @@ _200: ** in the virtual machine. #N is the N-th register. */ *(*TToken)(unsafe.Pointer(bp + 88)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) /*A-overwrites-X*/ if int32((*TParse)(unsafe.Pointer(pParse)).Fnested) == 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24720, libc.VaList(bp+128, bp+88)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24843, libc.VaList(bp+128, bp+88)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_REGISTER), uintptr(0), uintptr(0)) @@ -230999,57 +232420,57 @@ _200: } } } - goto _342 -_201: + goto _346 +_203: ; /* expr ::= expr COLLATE ID|STRING */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAddCollateToken(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+8, int32(1)) - goto _342 -_202: + goto _346 +_204: ; /* expr ::= CAST LP expr AS typetoken RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_CAST), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) _sqlite3ExprAttachSubtrees(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) - goto _342 -_203: + goto _346 +_205: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_204: + goto _346 +_206: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_205: + goto _346 +_207: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_206: + goto _346 +_208: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_207: + goto _346 +_209: ; /* expr ::= ID|INDEXED|JOIN_KW LP distinct exprlist ORDER BY sortlist RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(8))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _sqlite3ExprAddFunctionOrderBy(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_208: + goto _346 +_210: ; /* expr ::= ID|INDEXED|JOIN_KW LP STAR RP filter_over */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, 0) _sqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_209: + goto _346 +_211: ; /* term ::= CTIME_KW */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, uintptr(0), yymsp+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_210: + goto _346 +_212: ; /* expr ::= LP nexprlist COMMA expr RP */ pList = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_VECTOR), uintptr(0), uintptr(0)) @@ -231061,33 +232482,33 @@ _210: } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pList) } - goto _342 -_211: + goto _346 +_213: ; /* expr ::= expr AND expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprAnd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_213: + goto _346 +_215: ; /* expr ::= expr OR expr */ -_212: - ; _214: ; -_215: - ; _216: ; _217: ; _218: ; - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 _219: + ; +_220: + ; + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) + goto _346 +_221: ; /* likeop ::= NOT LIKE_KW|MATCH */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) |= uint32(0x80000000) /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/ - goto _342 -_220: + goto _346 +_222: ; /* expr ::= expr likeop expr */ bNot = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -231100,8 +232521,8 @@ _220: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_221: + goto _346 +_223: ; /* expr ::= expr likeop expr ESCAPE expr */ bNot1 = int32(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) & uint32(0x80000000)) *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)) &= uint32(0x7fffffff) @@ -231115,65 +232536,67 @@ _221: if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { *(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 4)) |= uint32(EP_InfixFunc) } - goto _342 -_222: + goto _346 +_224: ; /* expr ::= expr ISNULL|NOTNULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_223: + goto _346 +_225: ; /* expr ::= expr NOT NULL */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOTNULL), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uintptr(0)) - goto _342 -_224: + goto _346 +_226: ; /* expr ::= expr IS expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_225: + goto _346 +_227: ; /* expr ::= expr IS NOT expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_226: + goto _346 +_228: ; /* expr ::= expr IS NOT DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IS), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), int32(TK_ISNULL)) - goto _342 -_227: + goto _346 +_229: ; /* expr ::= expr IS DISTINCT FROM expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_ISNOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) _binaryToUnaryIfNull(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), int32(TK_NOTNULL)) - goto _342 -_229: + goto _346 +_231: ; /* expr ::= NOT expr */ -_228: +_230: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor), *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) /*A-overwrites-B*/ - goto _342 -_230: + goto _346 +_232: ; /* expr ::= PLUS|MINUS expr */ - if int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) == int32(TK_PLUS) { - v344 = int32(TK_UPLUS) + p4 = *(*uintptr)(unsafe.Pointer(yymsp + 8)) + op = uint8(int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) + (libc.Int32FromInt32(TK_UPLUS) - libc.Int32FromInt32(TK_PLUS))) + if p4 != 0 && int32((*TExpr)(unsafe.Pointer(p4)).Fop) == int32(TK_UPLUS) { + (*TExpr)(unsafe.Pointer(p4)).Fop = op + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = p4 } else { - v344 = int32(TK_UMINUS) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(int32(op)), p4, uintptr(0)) + /*A-overwrites-B*/ } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3PExpr(tls, pParse, v344, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0)) - /*A-overwrites-B*/ - goto _342 -_231: + goto _346 +_233: ; /* expr ::= expr PTR expr */ pList3 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList3 = _sqlite3ExprListAppend(tls, pParse, pList3, *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3ExprFunction(tls, pParse, pList3, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_233: + goto _346 +_235: ; /* between_op ::= BETWEEN */ -_232: +_234: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = 0 - goto _342 -_234: + goto _346 +_236: ; /* expr ::= expr between_op expr AND expr */ pList4 = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) pList4 = _sqlite3ExprListAppend(tls, pParse, pList4, *(*uintptr)(unsafe.Pointer(yymsp + 8))) @@ -231186,8 +232609,8 @@ _234: if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_235: + goto _346 +_237: ; /* expr ::= expr in_op LP exprlist RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) == uintptr(0) { /* Expressions of the form @@ -231200,17 +232623,17 @@ _235: */ _sqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { - v345 = __ccgo_ts + 9195 + v348 = __ccgo_ts + 9320 } else { - v345 = __ccgo_ts + 9200 + v348 = __ccgo_ts + 9325 } - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v345) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3Expr(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_STRING), v348) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { _sqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } } else { pRHS = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr - if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { + if (*TExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FnExpr == int32(1) && _sqlite3ExprIsConstant(tls, pParse, pRHS) != 0 && int32((*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)))).Fop) != int32(TK_VECTOR) { (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) + 8))).FpExpr = uintptr(0) _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) pRHS = _sqlite3PExpr(tls, pParse, int32(TK_UPLUS), pRHS, uintptr(0)) @@ -231244,460 +232667,464 @@ _235: *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } } - goto _342 -_236: + goto _346 +_238: ; /* expr ::= LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_SELECT), uintptr(0), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_237: + goto _346 +_239: ; /* expr ::= expr in_op LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_238: + goto _346 +_240: ; /* expr ::= expr in_op nm dbnm paren_exprlist */ pSrc = _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) pSelect = _sqlite3SelectNew(tls, pParse, uintptr(0), pSrc, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { if pSelect != 0 { - v346 = pSrc + v349 = pSrc } else { - v346 = uintptr(0) + v349 = uintptr(0) } - _sqlite3SrcListFuncArgs(tls, pParse, v346, *(*uintptr)(unsafe.Pointer(yymsp + 8))) + _sqlite3SrcListFuncArgs(tls, pParse, v349, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_IN), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) _sqlite3PExprAddSelect(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), pSelect) if *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_NOT), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uintptr(0)) } - goto _342 -_239: + goto _346 +_241: ; /* expr ::= EXISTS LP select RP */ - v347 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) - *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v347 - p4 = v347 - _sqlite3PExprAddSelect(tls, pParse, p4, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_240: + v350 = _sqlite3PExpr(tls, pParse, int32(TK_EXISTS), uintptr(0), uintptr(0)) + *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = v350 + p5 = v350 + _sqlite3PExprAddSelect(tls, pParse, p5, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + goto _346 +_242: ; /* expr ::= CASE case_operand case_exprlist case_else END */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_CASE), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) != 0 { if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { - v348 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) + v351 = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } else { - v348 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) + v351 = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) } - *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v348 + *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) + 32)) = v351 _sqlite3ExprSetHeightAndFlags(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) } else { _sqlite3ExprListDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) } - goto _342 -_241: + goto _346 +_243: ; /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_242: + goto _346 +_244: ; /* case_exprlist ::= WHEN expr THEN expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_243: + goto _346 +_245: ; /* nexprlist ::= nexprlist COMMA expr */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3ExprListAppend(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_244: + goto _346 +_246: ; /* nexprlist ::= expr */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_246: + goto _346 +_248: ; /* paren_exprlist ::= LP exprlist RP */ -_245: +_247: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_247: + goto _346 +_249: ; /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ _sqlite3CreateIndex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, _sqlite3SrcListAppend(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, uintptr(0)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(11))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8)), SQLITE_SO_ASC, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), uint8(SQLITE_IDXTYPE_APPDEF)) if int32((*TParse)(unsafe.Pointer(pParse)).FeParseMode) >= int32(PARSE_MODE_RENAME) && (*TParse)(unsafe.Pointer(pParse)).FpNewIndex != 0 { _sqlite3RenameTokenMap(tls, pParse, (*TIndex)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).FpNewIndex)).FzName, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) } - goto _342 -_249: + goto _346 +_251: ; /* uniqueflag ::= UNIQUE */ -_248: +_250: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Abort) - goto _342 -_250: + goto _346 +_252: ; /* uniqueflag ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = OE_None - goto _342 -_251: + goto _346 +_253: ; /* eidlist ::= eidlist COMMA nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) - goto _342 -_252: + goto _346 +_254: ; /* eidlist ::= nm collate sortorder */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _parserAddExprIdListTerm(tls, pParse, uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-Y*/ - goto _342 -_253: + goto _346 +_255: ; /* cmd ::= DROP INDEX ifexists fullname */ _sqlite3DropIndex(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_254: + goto _346 +_256: ; /* cmd ::= VACUUM vinto */ _sqlite3Vacuum(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_255: + goto _346 +_257: ; /* cmd ::= VACUUM nm vinto */ _sqlite3Vacuum(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_256: + goto _346 +_258: ; /* cmd ::= PRAGMA nm dbnm */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8, uintptr(0), 0) - goto _342 -_257: + goto _346 +_259: ; /* cmd ::= PRAGMA nm dbnm EQ nmnum */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, 0) - goto _342 -_258: + goto _346 +_260: ; /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, 0) - goto _342 -_259: + goto _346 +_261: ; /* cmd ::= PRAGMA nm dbnm EQ minus_num */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, int32(1)) - goto _342 -_260: + goto _346 +_262: ; /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ _sqlite3Pragma(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) - goto _342 -_261: + goto _346 +_263: ; /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ (*(*TToken)(unsafe.Pointer(bp + 104))).Fz = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) (*(*TToken)(unsafe.Pointer(bp + 104))).Fn = uint32(int32(int64(*(*uintptr)(unsafe.Pointer(yymsp + 8)))-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))))) + *(*uint32)(unsafe.Pointer(yymsp + 8 + 8)) _sqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), bp+104) - goto _342 -_262: + goto _346 +_264: ; /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ _sqlite3BeginTrigger(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(7))*24+8, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8))) if *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8 + 8)) == uint32(0) { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) } else { - v349 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) + v352 = *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8)) } - *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v349 /*A-overwrites-T*/ - goto _342 -_263: + *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(10))*24 + 8)) = v352 /*A-overwrites-T*/ + goto _346 +_265: ; /* trigger_time ::= BEFORE|AFTER */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_264: + goto _346 +_266: ; /* trigger_time ::= INSTEAD OF */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = int32(TK_INSTEAD) - goto _342 -_265: + goto _346 +_267: ; /* trigger_time ::= */ *(*int32)(unsafe.Pointer(yymsp + 1*24 + 8)) = int32(TK_BEFORE) - goto _342 -_267: + goto _346 +_269: ; /* trigger_event ::= DELETE|INSERT */ -_266: +_268: ; *(*int32)(unsafe.Pointer(yymsp + 8)) = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ *(*uintptr)(unsafe.Pointer(yymsp + 8 + 8)) = uintptr(0) - goto _342 -_268: + goto _346 +_270: ; /* trigger_event ::= UPDATE OF idlist */ *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = int32(TK_UPDATE) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_270: + goto _346 +_272: ; /* when_clause ::= */ -_269: +_271: ; *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = uintptr(0) - goto _342 -_272: + goto _346 +_274: ; /* when_clause ::= WHEN expr */ -_271: +_273: ; *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_273: + goto _346 +_275: ; /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ (*TTriggerStep)(unsafe.Pointer((*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast)).FpNext = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_274: + goto _346 +_276: ; /* trigger_cmd_list ::= trigger_cmd SEMI */ (*TTriggerStep)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FpLast = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_275: + goto _346 +_277: ; /* trnm ::= nm DOT nm */ *(*TToken)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*TToken)(unsafe.Pointer(yymsp + 8)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24744, 0) - goto _342 -_276: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24867, 0) + goto _346 +_278: ; /* tridxby ::= INDEXED BY nm */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24839, 0) - goto _342 -_277: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24962, 0) + goto _346 +_279: ; /* tridxby ::= NOT INDEXED */ - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24923, 0) - goto _342 -_278: + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+25046, 0) + goto _346 +_280: ; /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerUpdateStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(6))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(8))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_279: + goto _346 +_281: ; /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-6].minor.yy394*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerInsertStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(4))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), uint8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(6))*24 + 8))), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-6].minor.yy144*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(7))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_280: + goto _346 +_282: ; /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerDeleteStep(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_281: + goto _346 +_283: ; /* trigger_cmd ::= scanpt select scanpt */ - *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy33-overwrites-yymsp[-1].minor.yy47*/ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3TriggerSelectStep(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*yylhsminor.yy427-overwrites-yymsp[-1].minor.yy555*/ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_282: + goto _346 +_284: ; /* expr ::= RAISE LP IGNORE RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3PExpr(tls, pParse, int32(TK_RAISE), uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)))).FaffExpr = int8(OE_Ignore) } - goto _342 -_283: + goto _346 +_285: ; /* expr ::= RAISE LP raisetype COMMA nm RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3ExprAlloc(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, int32(TK_RAISE), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, int32(1)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) != 0 { (*TExpr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)))).FaffExpr = int8(*(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) } - goto _342 -_284: + goto _346 +_286: ; /* raisetype ::= ROLLBACK */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Rollback) - goto _342 -_285: + goto _346 +_287: ; /* raisetype ::= FAIL */ *(*int32)(unsafe.Pointer(yymsp + 8)) = int32(OE_Fail) - goto _342 -_286: + goto _346 +_288: ; /* cmd ::= DROP TRIGGER ifexists fullname */ _sqlite3DropTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))) - goto _342 -_287: + goto _346 +_289: ; /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ _sqlite3Attach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_288: + goto _346 +_290: ; /* cmd ::= DETACH database_kw_opt expr */ _sqlite3Detach(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_289: + goto _346 +_291: ; /* cmd ::= REINDEX */ _sqlite3Reindex(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_290: + goto _346 +_292: ; /* cmd ::= REINDEX nm dbnm */ _sqlite3Reindex(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_291: + goto _346 +_293: ; /* cmd ::= ANALYZE */ _sqlite3Analyze(tls, pParse, uintptr(0), uintptr(0)) - goto _342 -_292: + goto _346 +_294: ; /* cmd ::= ANALYZE nm dbnm */ _sqlite3Analyze(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8, yymsp+8) - goto _342 -_293: + goto _346 +_295: ; /* cmd ::= ALTER TABLE fullname RENAME TO nm */ _sqlite3AlterRenameTable(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_294: + goto _346 +_296: ; /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ *(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)) = uint32(int32(int64((*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fz)-int64(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8))))) + (*TParse)(unsafe.Pointer(pParse)).FsLastToken.Fn _sqlite3AlterFinishAddColumn(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) - goto _342 -_295: + goto _346 +_297: ; /* cmd ::= ALTER TABLE fullname DROP kwcolumn_opt nm */ _sqlite3AlterDropColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), yymsp+8) - goto _342 -_296: + goto _346 +_298: ; /* add_column_fullname ::= fullname */ _disableLookaside(tls, pParse) _sqlite3AlterBeginAddColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_297: + goto _346 +_299: ; /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ _sqlite3AlterRenameColumn(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8) - goto _342 -_298: + goto _346 +_300: ; /* cmd ::= create_vtab */ _sqlite3VtabFinishParse(tls, pParse, uintptr(0)) - goto _342 -_299: + goto _346 +_301: ; /* cmd ::= create_vtab LP vtabarglist RP */ _sqlite3VtabFinishParse(tls, pParse, yymsp+8) - goto _342 -_300: + goto _346 +_302: ; /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ _sqlite3VtabBeginParse(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(3))*24+8, yymsp+uintptr(-libc.Int32FromInt32(2))*24+8, yymsp+8, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8))) - goto _342 -_301: + goto _346 +_303: ; /* vtabarg ::= */ _sqlite3VtabArgInit(tls, pParse) - goto _342 -_303: + goto _346 +_305: ; /* vtabargtoken ::= ANY */ -_302: - ; _304: ; - _sqlite3VtabArgExtend(tls, pParse, yymsp+8) - goto _342 _306: + ; + _sqlite3VtabArgExtend(tls, pParse, yymsp+8) + goto _346 +_308: ; /* with ::= WITH wqlist */ -_305: +_307: ; _sqlite3WithPush(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint8(1)) - goto _342 -_307: + goto _346 +_309: ; /* wqas ::= AS */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8(M10d_Any) - goto _342 -_308: + goto _346 +_310: ; /* wqas ::= AS MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8(M10d_Yes) - goto _342 -_309: + goto _346 +_311: ; /* wqas ::= AS NOT MATERIALIZED */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = uint8(M10d_No) - goto _342 -_310: - ; /* wqitem ::= nm eidlist_opt wqas LP select RP */ + goto _346 +_312: + ; /* wqitem ::= withnm eidlist_opt wqas LP select RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = _sqlite3CteNew(tls, pParse, yymsp+uintptr(-libc.Int32FromInt32(5))*24+8, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8))) /*A-overwrites-X*/ - goto _342 -_311: + goto _346 +_313: + ; /* withnm ::= nm */ + (*TParse)(unsafe.Pointer(pParse)).FbHasWith = uint8(1) + goto _346 +_314: ; /* wqlist ::= wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + 8)) = _sqlite3WithAdd(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8))) /*A-overwrites-X*/ - goto _342 -_312: + goto _346 +_315: ; /* wqlist ::= wqlist COMMA wqitem */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = _sqlite3WithAdd(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + 8))) - goto _342 -_313: + goto _346 +_316: ; /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ _sqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8))) (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_314: + goto _346 +_317: ; /* windowdefn ::= nm AS LP window RP */ if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8 + 8)))) } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_315: + goto _346 +_318: ; /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_316: + goto _346 +_319: ; /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(5))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_317: + goto _346 +_320: ; /* window ::= ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), uintptr(0)) - goto _342 -_318: + goto _346 +_321: ; /* window ::= nm ORDER BY sortlist frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), yymsp+uintptr(-libc.Int32FromInt32(4))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_319: + goto _346 +_322: ; /* window ::= nm frame_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uintptr(0), uintptr(0), yymsp+uintptr(-libc.Int32FromInt32(1))*24+8) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_320: + goto _346 +_323: ; /* frame_opt ::= */ *(*uintptr)(unsafe.Pointer(yymsp + 1*24 + 8)) = _sqlite3WindowAlloc(tls, pParse, 0, int32(TK_UNBOUNDED), uintptr(0), int32(TK_CURRENT), uintptr(0), uint8(0)) - goto _342 -_321: + goto _346 +_324: ; /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), int32(TK_CURRENT), uintptr(0), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(2))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_322: + goto _346 +_325: ; /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8 + 8)), *(*int32)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)), *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8 + 8)), *(*Tu8)(unsafe.Pointer(yymsp + 8))) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(5))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_324: + goto _346 +_327: ; /* frame_bound_s ::= frame_bound */ -_323: +_326: ; *(*TFrameBound)(unsafe.Pointer(bp)) = *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_326: + goto _346 +_329: ; /* frame_bound_s ::= UNBOUNDED PRECEDING */ -_325: +_328: ; -_327: +_330: ; (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = uintptr(0) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_328: + goto _346 +_331: ; /* frame_bound ::= expr PRECEDING|FOLLOWING */ (*(*TFrameBound)(unsafe.Pointer(bp))).FeType = int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) (*(*TFrameBound)(unsafe.Pointer(bp))).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) *(*TFrameBound)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*TFrameBound)(unsafe.Pointer(bp)) - goto _342 -_329: + goto _346 +_332: ; /* frame_exclude_opt ::= */ *(*Tu8)(unsafe.Pointer(yymsp + 1*24 + 8)) = uint8(0) - goto _342 -_330: + goto _346 +_333: ; /* frame_exclude_opt ::= EXCLUDE frame_exclude */ *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*Tu8)(unsafe.Pointer(yymsp + 8)) - goto _342 -_332: + goto _346 +_335: ; /* frame_exclude ::= NO OTHERS */ -_331: +_334: ; *(*Tu8)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24))).Fmajor) /*A-overwrites-X*/ - goto _342 -_333: + goto _346 +_336: ; /* frame_exclude ::= GROUP|TIES */ *(*Tu8)(unsafe.Pointer(yymsp + 8)) = uint8((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor) /*A-overwrites-X*/ - goto _342 -_334: + goto _346 +_337: ; /* window_clause ::= WINDOW windowdefn_list */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) - goto _342 -_335: + goto _346 +_338: ; /* filter_over ::= filter_clause over_clause */ if *(*uintptr)(unsafe.Pointer(yymsp + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) @@ -231706,13 +233133,13 @@ _335: } *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_336: + goto _346 +_339: ; /* filter_over ::= over_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = *(*uintptr)(unsafe.Pointer(yymsp + 8)) *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_337: + goto _346 +_340: ; /* filter_over ::= filter_clause */ *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) != 0 { @@ -231722,27 +233149,33 @@ _337: _sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8))) } *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) - goto _342 -_338: + goto _346 +_341: ; /* over_clause ::= OVER LP window RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(3))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_339: + goto _346 +_342: ; /* over_clause ::= OVER nm */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) = _sqlite3DbMallocZero(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, uint64(144)) if *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) != 0 { (*TWindow)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)))).FzName = _sqlite3DbStrNDup(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8)), uint64(*(*uint32)(unsafe.Pointer(yymsp + 8 + 8)))) } - goto _342 -_340: + goto _346 +_343: ; /* filter_clause ::= FILTER LP WHERE expr RP */ *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(4))*24 + 8)) = *(*uintptr)(unsafe.Pointer(yymsp + uintptr(-libc.Int32FromInt32(1))*24 + 8)) - goto _342 -_341: + goto _346 +_344: + ; /* term ::= QNUMBER */ + *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) = _tokenExpr(tls, pParse, int32((*(*TyyStackEntry)(unsafe.Pointer(yymsp))).Fmajor), *(*TToken)(unsafe.Pointer(yymsp + 8))) + _sqlite3DequoteNumber(tls, pParse, *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp))))) + *(*uintptr)(unsafe.Pointer(yymsp + 8)) = *(*uintptr)(unsafe.Pointer(&*(*TYYMINORTYPE)(unsafe.Pointer(bp)))) + goto _346 +_345: ; - goto _342 + goto _346 /********** End reduce actions ************************************************/ -_342: +_346: ; yygoto = int32(_yyRuleInfoLhs[yyruleno]) yysize = int32(_yyRuleInfoNRhs[yyruleno]) @@ -231776,9 +233209,9 @@ func _yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, _yyminor /************ Begin %syntax_error code ****************************************/ _ = yymajor /* Silence some compiler warnings */ if *(*int8)(unsafe.Pointer((*(*TToken)(unsafe.Pointer(bp))).Fz)) != 0 { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24720, libc.VaList(bp+24, bp)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+24843, libc.VaList(bp+24, bp)) } else { - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+25008, 0) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+25131, 0) } /************ End %syntax_error code ******************************************/ /* Suppress warning about unused %extra_argument variable */ @@ -231843,8 +233276,10 @@ func _sqlite3Parser(tls *libc.TLS, yyp uintptr, yymajor int32, yyminor TToken) { ** enough on the stack to push the LHS value */ if int32(_yyRuleInfoNRhs[yyruleno]) == 0 { if (*TyyParser)(unsafe.Pointer(yypParser)).Fyytos >= (*TyyParser)(unsafe.Pointer(yypParser)).FyystackEnd { - _yyStackOverflow(tls, yypParser) - break + if _yyGrowStack(tls, yypParser) != 0 { + _yyStackOverflow(tls, yypParser) + break + } } } yyact = _yy_reduce(tls, yypParser, yyruleno, yymajor, yyminor, pParse) @@ -233993,9 +235428,9 @@ func _analyzeFilterKeyword(tls *libc.TLS, _z uintptr, lastToken int32) (r int32) // ** Store the token type in *tokenType before returning. // */ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { - var c, delim, i, n, v10, v14, v16, v19, v20, v3, v5, v7, v8 int32 - var v15, v6 bool - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v14, v15, v16, v19, v20, v3, v5, v6, v7, v8 + var c, delim, i, n, v10, v16, v18, v21, v22, v3, v5, v7, v8 int32 + var v17, v6 bool + _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, delim, i, n, v10, v16, v17, v18, v21, v22, v3, v5, v6, v7, v8 switch int32(_aiClass[*(*uint8)(unsafe.Pointer(z))]) { /* Switch on the character-class of the first byte ** of the token. See the comment on the CC_ defines ** above. */ @@ -234191,39 +235626,83 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if int32(*(*uint8)(unsafe.Pointer(z))) == int32('0') && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('x') || int32(*(*uint8)(unsafe.Pointer(z + 1))) == int32('X')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 2))])&int32(0x08) != 0 { i = int32(3) for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { + if !(int32(1) != 0) { break } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } goto _11 _11: ; i++ } - return i - } - i = 0 - for { - if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { - break - } - goto _12 - _12: - ; - i++ - } - if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { - i++ - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + } else { + i = 0 + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _12 + _12: + ; i++ } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) - } - if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { - i += int32(2) - for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('.') { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } i++ + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _13 + _13: + ; + i++ + } + } + if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('e') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('E')) && (int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))])&int32(0x04) != 0 || (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('+') || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(1))))) == int32('-')) && int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+int32(2))))])&int32(0x04) != 0) { + if *(*int32)(unsafe.Pointer(tokenType)) == int32(TK_INTEGER) { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) + } + i += int32(2) + for { + if !(int32(1) != 0) { + break + } + if int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) == 0 { + if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == int32('_') { + *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_QNUMBER) + } else { + break + } + } + goto _14 + _14: + ; + i++ + } } - *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_FLOAT) } for int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x46) != 0 { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_ILLEGAL) @@ -234234,24 +235713,24 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { i = int32(1) c = int32(*(*uint8)(unsafe.Pointer(z))) for { - if v15 = c != int32(']'); v15 { - v14 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v14 + if v17 = c != int32(']'); v17 { + v16 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v16 } - if !(v15 && v14 != 0) { + if !(v17 && v16 != 0) { break } - goto _13 - _13: + goto _15 + _15: ; i++ } if c == int32(']') { - v16 = int32(TK_ID) + v18 = int32(TK_ID) } else { - v16 = int32(TK_ILLEGAL) + v18 = int32(TK_ILLEGAL) } - *(*int32)(unsafe.Pointer(tokenType)) = v16 + *(*int32)(unsafe.Pointer(tokenType)) = v18 return i case int32(CC_VARNUM): *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) @@ -234260,8 +235739,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x04) != 0) { break } - goto _17 - _17: + goto _19 + _19: ; i++ } @@ -234273,9 +235752,9 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { *(*int32)(unsafe.Pointer(tokenType)) = int32(TK_VARIABLE) i = int32(1) for { - v19 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v19 - if !(v19 != 0) { + v21 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v21 + if !(v21 != 0) { break } if int32(_sqlite3CtypeMap[uint8(uint8(c))])&int32(0x46) != 0 { @@ -234284,12 +235763,12 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if c == int32('(') && n > 0 { for { i++ - goto _21 - _21: + goto _23 + _23: ; - v20 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) - c = v20 - if !(v20 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { + v22 = int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + c = v22 + if !(v22 != 0 && !(int32(_sqlite3CtypeMap[uint8(c)])&libc.Int32FromInt32(0x01) != 0) && c != int32(')')) { break } } @@ -234307,8 +235786,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { } } } - goto _18 - _18: + goto _20 + _20: ; i++ } @@ -234326,8 +235805,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_aiClass[*(*uint8)(unsafe.Pointer(z + uintptr(i)))]) <= int32(CC_KYWD)) { break } - goto _22 - _22: + goto _24 + _24: ; i++ } @@ -234348,8 +235827,8 @@ func _sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) (r int32) { if !(int32(_sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&int32(0x08) != 0) { break } - goto _23 - _23: + goto _25 + _25: ; i++ } @@ -234401,7 +235880,7 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { var lastTokenParsed, mxSqlLen, n, nErr int32 var _ /* sEngine at bp+8 */ TyyParser var _ /* tokenType at bp+0 */ int32 - var _ /* x at bp+2432 */ TToken + var _ /* x at bp+2440 */ TToken _, _, _, _, _, _, _ = db, lastTokenParsed, mxSqlLen, n, nErr, pEngine, pParentParse nErr = 0 /* The LEMON-generated LALR(1) parser */ n = 0 /* type of the next token */ @@ -234459,10 +235938,12 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp)) == int32(TK_FILTER) { *(*int32)(unsafe.Pointer(bp)) = _analyzeFilterKeyword(tls, zSql+6, lastTokenParsed) } else { - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fz = zSql - (*(*TToken)(unsafe.Pointer(bp + 2432))).Fn = uint32(uint32(n)) - _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+25025, libc.VaList(bp+2456, bp+2432)) - break + if *(*int32)(unsafe.Pointer(bp)) != int32(TK_QNUMBER) { + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fz = zSql + (*(*TToken)(unsafe.Pointer(bp + 2440))).Fn = uint32(uint32(n)) + _sqlite3ErrorMsg(tls, pParse, __ccgo_ts+25148, libc.VaList(bp+2464, bp+2440)) + break + } } } } @@ -234483,9 +235964,9 @@ func _sqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) (r int32) { } if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg != 0 || (*TParse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK && (*TParse)(unsafe.Pointer(pParse)).Frc != int32(SQLITE_DONE) { if (*TParse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) { - (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+4645, libc.VaList(bp+2456, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) + (*TParse)(unsafe.Pointer(pParse)).FzErrMsg = _sqlite3MPrintf(tls, db, __ccgo_ts+4709, libc.VaList(bp+2464, _sqlite3ErrStr(tls, (*TParse)(unsafe.Pointer(pParse)).Frc))) } - Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+25050, libc.VaList(bp+2456, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) + Xsqlite3_log(tls, (*TParse)(unsafe.Pointer(pParse)).Frc, __ccgo_ts+25173, libc.VaList(bp+2464, (*TParse)(unsafe.Pointer(pParse)).FzErrMsg, (*TParse)(unsafe.Pointer(pParse)).FzTail)) nErr++ } (*TParse)(unsafe.Pointer(pParse)).FzTail = zSql @@ -234677,7 +236158,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('c'): fallthrough case int32('C'): - if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+25061, int32(6)) == 0 { + if nId == int32(6) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+25184, int32(6)) == 0 { token = uint8(tkCREATE) } else { token = uint8(tkOTHER) @@ -234685,13 +236166,13 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('t'): fallthrough case int32('T'): - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+21705, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+21837, int32(7)) == 0 { token = uint8(tkTRIGGER) } else { - if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+25068, int32(4)) == 0 { + if nId == int32(4) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+25191, int32(4)) == 0 { token = uint8(tkTEMP) } else { - if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+25073, int32(9)) == 0 { + if nId == int32(9) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+25196, int32(9)) == 0 { token = uint8(tkTEMP) } else { token = uint8(tkOTHER) @@ -234701,10 +236182,10 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) (r int32) { case int32('e'): fallthrough case int32('E'): - if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+25083, int32(3)) == 0 { + if nId == int32(3) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+25206, int32(3)) == 0 { token = uint8(tkEND) } else { - if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+25087, int32(7)) == 0 { + if nId == int32(7) && Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+25210, int32(7)) == 0 { token = uint8(tkEXPLAIN) } else { token = uint8(tkOTHER) @@ -235146,7 +236627,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) { */ if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 { if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)<= 0 && rc < int32(libc.Uint64FromInt64(232)/libc.Uint64FromInt64(8)) && _aMsg[rc] != uintptr(0) { @@ -236284,31 +237765,31 @@ func _sqlite3ErrStr(tls *libc.TLS, rc int32) (r uintptr) { } var _aMsg = [29]uintptr{ - 0: __ccgo_ts + 25163, - 1: __ccgo_ts + 25176, - 3: __ccgo_ts + 25192, - 4: __ccgo_ts + 25217, - 5: __ccgo_ts + 25231, - 6: __ccgo_ts + 25250, - 7: __ccgo_ts + 1628, - 8: __ccgo_ts + 25275, - 9: __ccgo_ts + 25312, - 10: __ccgo_ts + 25324, - 11: __ccgo_ts + 25339, - 12: __ccgo_ts + 25372, - 13: __ccgo_ts + 25390, - 14: __ccgo_ts + 25415, - 15: __ccgo_ts + 25444, - 17: __ccgo_ts + 7330, - 18: __ccgo_ts + 6732, - 19: __ccgo_ts + 25461, - 20: __ccgo_ts + 25479, - 21: __ccgo_ts + 25497, - 23: __ccgo_ts + 25531, - 25: __ccgo_ts + 25552, - 26: __ccgo_ts + 25578, - 27: __ccgo_ts + 25601, - 28: __ccgo_ts + 25622, + 0: __ccgo_ts + 25286, + 1: __ccgo_ts + 25299, + 3: __ccgo_ts + 25315, + 4: __ccgo_ts + 25340, + 5: __ccgo_ts + 25354, + 6: __ccgo_ts + 25373, + 7: __ccgo_ts + 1642, + 8: __ccgo_ts + 25398, + 9: __ccgo_ts + 25435, + 10: __ccgo_ts + 25447, + 11: __ccgo_ts + 25462, + 12: __ccgo_ts + 25495, + 13: __ccgo_ts + 25513, + 14: __ccgo_ts + 25538, + 15: __ccgo_ts + 25567, + 17: __ccgo_ts + 7394, + 18: __ccgo_ts + 6796, + 19: __ccgo_ts + 25584, + 20: __ccgo_ts + 25602, + 21: __ccgo_ts + 25620, + 23: __ccgo_ts + 25654, + 25: __ccgo_ts + 25675, + 26: __ccgo_ts + 25701, + 27: __ccgo_ts + 25724, + 28: __ccgo_ts + 25745, } // C documentation @@ -236487,7 +237968,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i var p, v1 uintptr _, _, _, _ = extraFlags, p, rc, v1 if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) { - return _sqlite3MisuseError(tls, int32(180244)) + return _sqlite3MisuseError(tls, int32(181689)) } extraFlags = enc & (libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_INNOCUOUS) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)) enc &= libc.Int32FromInt32(SQLITE_FUNC_ENCMASK) | libc.Int32FromInt32(SQLITE_ANY) @@ -236530,7 +238011,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i p = _sqlite3FindFunction(tls, db, zFunctionName, nArg, uint8(uint8(enc)), uint8(0)) if p != 0 && (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) == uint32(uint32(enc)) && int32((*TFuncDef)(unsafe.Pointer(p)).FnArg) == nArg { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+25719, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+25842, 0) return int32(SQLITE_BUSY) } else { _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -236656,7 +238137,7 @@ func _sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotU zName = Xsqlite3_user_data(tls, context) _ = NotUsed _ = NotUsed2 - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+25782, libc.VaList(bp+8, zName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+25905, libc.VaList(bp+8, zName)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -236687,7 +238168,7 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i if rc != 0 { return SQLITE_OK } - zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, zName)) + zCopy = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, zName)) if zCopy == uintptr(0) { return int32(SQLITE_NOMEM) } @@ -236931,7 +238412,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) { /* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint ** mode: */ - return _sqlite3MisuseError(tls, int32(180859)) + return _sqlite3MisuseError(tls, int32(182304)) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if zDb != 0 && *(*int8)(unsafe.Pointer(zDb)) != 0 { @@ -236941,7 +238422,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in } if iDb < 0 { rc = int32(SQLITE_ERROR) - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+25833, libc.VaList(bp+8, zDb)) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_ERROR), __ccgo_ts+25956, libc.VaList(bp+8, zDb)) } else { (*Tsqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = _sqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -237063,7 +238544,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) { return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM)) } if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(180995))) + return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(182440))) } Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -237195,7 +238676,7 @@ var _misuse = [34]Tu16{ // */ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181074)) + return _sqlite3MisuseError(tls, int32(182519)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -237205,7 +238686,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) { func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) { if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) { - return _sqlite3MisuseError(tls, int32(181083)) + return _sqlite3MisuseError(tls, int32(182528)) } if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { return int32(SQLITE_NOMEM) @@ -237254,7 +238735,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui enc2 = int32(SQLITE_UTF16LE) } if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) { - return _sqlite3MisuseError(tls, int32(181131)) + return _sqlite3MisuseError(tls, int32(182576)) } /* Check if this call is removing or replacing an existing collation ** sequence. If so, and there are active VMs, return busy. If there @@ -237263,7 +238744,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui pColl = _sqlite3FindCollSeq(tls, db, uint8(uint8(enc2)), zName, 0) if pColl != 0 && (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 { if (*Tsqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 { - _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+25854, 0) + _sqlite3ErrorWithMsg(tls, db, int32(SQLITE_BUSY), __ccgo_ts+25977, 0) return int32(SQLITE_BUSY) } _sqlite3ExpirePreparedStatements(tls, db, 0) @@ -237410,7 +238891,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u flags = *(*uint32)(unsafe.Pointer(pFlags)) zVfs = zDefaultVfs nUri = _sqlite3Strlen30(tls, zUri) - if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+25922, uint64(5)) == 0 { /* Input character index */ + if (flags&uint32(SQLITE_OPEN_URI) != 0 || libc.AtomicLoadNUint8(uintptr(unsafe.Pointer(&_sqlite3Config))+6, libc.Int32FromInt32(__ATOMIC_RELAXED)) != 0) && nUri >= int32(5) && libc.Xmemcmp(tls, zUri, __ccgo_ts+26045, uint64(5)) == 0 { /* Input character index */ iOut = 0 /* Output character index */ nByte = uint64(nUri + int32(8)) /* Bytes of space to allocate */ /* Make sure the SQLITE_OPEN_URI flag is set to indicate to the VFS xOpen @@ -237440,8 +238921,8 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u for *(*int8)(unsafe.Pointer(zUri + uintptr(iIn))) != 0 && int32(*(*int8)(unsafe.Pointer(zUri + uintptr(iIn)))) != int32('/') { iIn++ } - if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+25928, zUri+7, uint64(9)) != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+25938, libc.VaList(bp+8, iIn-int32(7), zUri+7)) + if iIn != int32(7) && (iIn != int32(16) || libc.Xmemcmp(tls, __ccgo_ts+26051, zUri+7, uint64(9)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+26061, libc.VaList(bp+8, iIn-int32(7), zUri+7)) rc = int32(SQLITE_ERROR) goto parse_uri_out } @@ -237530,24 +239011,24 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u nOpt = _sqlite3Strlen30(tls, zOpt) zVal = zOpt + uintptr(nOpt+int32(1)) nVal = _sqlite3Strlen30(tls, zVal) - if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+25966, zOpt, uint64(3)) == 0 { + if nOpt == int32(3) && libc.Xmemcmp(tls, __ccgo_ts+26089, zOpt, uint64(3)) == 0 { zVfs = zVal } else { aMode = uintptr(0) zModeType = uintptr(0) mask = 0 limit = 0 - if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+25970, zOpt, uint64(5)) == 0 { + if nOpt == int32(5) && libc.Xmemcmp(tls, __ccgo_ts+26093, zOpt, uint64(5)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_SHAREDCACHE) | libc.Int32FromInt32(SQLITE_OPEN_PRIVATECACHE) aMode = uintptr(unsafe.Pointer(&_aCacheMode)) limit = mask - zModeType = __ccgo_ts + 25970 + zModeType = __ccgo_ts + 26093 } - if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+25991, zOpt, uint64(4)) == 0 { + if nOpt == int32(4) && libc.Xmemcmp(tls, __ccgo_ts+26114, zOpt, uint64(4)) == 0 { mask = libc.Int32FromInt32(SQLITE_OPEN_READONLY) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&_aOpenMode)) limit = int32(uint32(uint32(mask)) & flags) - zModeType = __ccgo_ts + 26006 + zModeType = __ccgo_ts + 26129 } if aMode != 0 { mode = 0 @@ -237576,12 +239057,12 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u i++ } if mode == 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+26013, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+26136, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_ERROR) goto parse_uri_out } if mode & ^libc.Int32FromInt32(SQLITE_OPEN_MEMORY) > limit { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+26033, libc.VaList(bp+8, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+26156, libc.VaList(bp+8, zModeType, zVal)) rc = int32(SQLITE_PERM) goto parse_uri_out } @@ -237605,7 +239086,7 @@ func _sqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u } *(*uintptr)(unsafe.Pointer(ppVfs)) = Xsqlite3_vfs_find(tls, zVfs) if *(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+26057, libc.VaList(bp+8, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+26180, libc.VaList(bp+8, zVfs)) rc = int32(SQLITE_ERROR) } goto parse_uri_out @@ -237625,11 +239106,11 @@ var _aCacheMode = [3]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 25976, + Fz: __ccgo_ts + 26099, Fmode: int32(SQLITE_OPEN_SHAREDCACHE), }, 1: { - Fz: __ccgo_ts + 25983, + Fz: __ccgo_ts + 26106, Fmode: int32(SQLITE_OPEN_PRIVATECACHE), }, 2: {}, @@ -237640,19 +239121,19 @@ var _aOpenMode = [5]struct { Fmode int32 }{ 0: { - Fz: __ccgo_ts + 25996, + Fz: __ccgo_ts + 26119, Fmode: int32(SQLITE_OPEN_READONLY), }, 1: { - Fz: __ccgo_ts + 25999, + Fz: __ccgo_ts + 26122, Fmode: int32(SQLITE_OPEN_READWRITE), }, 2: { - Fz: __ccgo_ts + 26002, + Fz: __ccgo_ts + 26125, Fmode: libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE), }, 3: { - Fz: __ccgo_ts + 19090, + Fz: __ccgo_ts + 19177, Fmode: int32(SQLITE_OPEN_MEMORY), }, 4: {}, @@ -237780,8 +239261,8 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16BE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) _createCollation(tls, db, uintptr(unsafe.Pointer(&_sqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), __ccgo_fp(_binCollFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+23677, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) - _createCollation(tls, db, __ccgo_ts+26073, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+23822, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_nocaseCollatingFunc), uintptr(0)) + _createCollation(tls, db, __ccgo_ts+26196, uint8(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rtrimCollFunc), uintptr(0)) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { goto opendb_out } @@ -237802,7 +239283,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* READWRITE */ /* READWRITE | CREATE */ if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 { - rc = _sqlite3MisuseError(tls, int32(181803)) /* IMP: R-18321-05872 */ + rc = _sqlite3MisuseError(tls, int32(183248)) /* IMP: R-18321-05872 */ } else { rc = _sqlite3ParseUri(tls, zVfs, zFilename, bp, db, bp+8, bp+16) } @@ -237811,7 +239292,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 _sqlite3OomFault(tls, db) } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { - v2 = __ccgo_ts + 4645 + v2 = __ccgo_ts + 4709 } else { v2 = uintptr(0) } @@ -237838,9 +239319,9 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32 /* The default safety_level for the main database is FULL; for the temp ** database it is OFF. This matches the pager layer defaults. */ - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 7894 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).FzDbSName = __ccgo_ts + 7958 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb))).Fsafety_level = uint8(libc.Int32FromInt32(SQLITE_DEFAULT_SYNCHRONOUS) + libc.Int32FromInt32(1)) - (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 25068 + (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).FzDbSName = __ccgo_ts + 25191 (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FaDb + 1*32))).Fsafety_level = uint8(PAGER_SYNCHRONOUS_OFF) (*Tsqlite3)(unsafe.Pointer(db)).FeOpenState = uint8(SQLITE_STATE_OPEN) if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -237934,7 +239415,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) { return rc } if zFilename == uintptr(0) { - zFilename = __ccgo_ts + 26079 + zFilename = __ccgo_ts + 26202 } pVal = _sqlite3ValueNew(tls, uintptr(0)) _sqlite3ValueSetStr(tls, pVal, -int32(1), zFilename, uint8(SQLITE_UTF16LE), libc.UintptrFromInt32(0)) @@ -238151,20 +239632,20 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) (r int32) { func _sqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) (r int32) { bp := tls.Alloc(32) defer tls.Free(32) - Xsqlite3_log(tls, iErr, __ccgo_ts+26082, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) + Xsqlite3_log(tls, iErr, __ccgo_ts+26205, libc.VaList(bp+8, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls))) return iErr } func _sqlite3CorruptError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+26107) + return _sqlite3ReportError(tls, int32(SQLITE_CORRUPT), lineno, __ccgo_ts+26230) } func _sqlite3MisuseError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+26127) + return _sqlite3ReportError(tls, int32(SQLITE_MISUSE), lineno, __ccgo_ts+26250) } func _sqlite3CantopenError(tls *libc.TLS, lineno int32) (r int32) { - return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+26134) + return _sqlite3ReportError(tls, int32(SQLITE_CANTOPEN), lineno, __ccgo_ts+26257) } // C documentation @@ -238295,11 +239776,11 @@ error_out: } if SQLITE_OK == rc && !(pTab != 0) { _sqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp))) - *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+26151, libc.VaList(bp+16, zTableName, zColumnName)) + *(*uintptr)(unsafe.Pointer(bp)) = _sqlite3MPrintf(tls, db, __ccgo_ts+26274, libc.VaList(bp+16, zTableName, zColumnName)) rc = int32(SQLITE_ERROR) } if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - v3 = __ccgo_ts + 4645 + v3 = __ccgo_ts + 4709 } else { v3 = uintptr(0) } @@ -239323,7 +240804,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) (r int32) { var _ /* nOpt at bp+0 */ int32 _, _, _ = azCompileOpt, i, n azCompileOpt = _sqlite3CompileOptions(tls, bp) - if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+26179, int32(7)) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, __ccgo_ts+26302, int32(7)) == 0 { zOptName += uintptr(7) } n = _sqlite3Strlen30(tls, zOptName) @@ -239541,7 +241022,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui } _leaveMutex(tls) if rc != 0 { - v2 = __ccgo_ts + 26187 + v2 = __ccgo_ts + 26310 } else { v2 = uintptr(0) } @@ -240421,23 +241902,23 @@ func _sqlite3ConnectionClosed(tls *libc.TLS, db uintptr) { // ** string must correspond to the JSONB_* integer above. // */ var _jsonbType = [17]uintptr{ - 0: __ccgo_ts + 1644, - 1: __ccgo_ts + 9195, - 2: __ccgo_ts + 9200, - 3: __ccgo_ts + 7615, - 4: __ccgo_ts + 7615, - 5: __ccgo_ts + 7610, - 6: __ccgo_ts + 7610, - 7: __ccgo_ts + 9506, - 8: __ccgo_ts + 9506, - 9: __ccgo_ts + 9506, - 10: __ccgo_ts + 9506, - 11: __ccgo_ts + 26210, - 12: __ccgo_ts + 26216, - 13: __ccgo_ts + 1658, - 14: __ccgo_ts + 1658, - 15: __ccgo_ts + 1658, - 16: __ccgo_ts + 1658, + 0: __ccgo_ts + 1658, + 1: __ccgo_ts + 9320, + 2: __ccgo_ts + 9325, + 3: __ccgo_ts + 7679, + 4: __ccgo_ts + 7679, + 5: __ccgo_ts + 7674, + 6: __ccgo_ts + 7674, + 7: __ccgo_ts + 9631, + 8: __ccgo_ts + 9631, + 9: __ccgo_ts + 9631, + 10: __ccgo_ts + 9631, + 11: __ccgo_ts + 26333, + 12: __ccgo_ts + 26339, + 13: __ccgo_ts + 1672, + 14: __ccgo_ts + 1672, + 15: __ccgo_ts + 1672, + 16: __ccgo_ts + 1672, } // C documentation @@ -241200,6 +242681,38 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { _jsonAppendChar(tls, p, int8(',')) } +// C documentation +// +// /* c is a control character. Append the canonical JSON representation +// ** of that control character to p. +// ** +// ** This routine assumes that the output buffer has already been enlarged +// ** sufficiently to hold the worst-case encoding plus a nul terminator. +// */ +func _jsonAppendControlChar(tls *libc.TLS, p uintptr, c Tu8) { + if _aSpecial[c] != 0 { + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = int8('\\') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = _aSpecial[c] + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(2) + } else { + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed))) = int8('\\') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(1)))) = int8('u') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(2)))) = int8('0') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(3)))) = int8('0') + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(4)))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 26346 + uintptr(int32(int32(c))>>int32(4)))) + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(5)))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 26346 + uintptr(int32(int32(c))&int32(0xf)))) + *(*Tu64)(unsafe.Pointer(p + 24)) += uint64(6) + } +} + +var _aSpecial = [32]int8{ + 8: int8('b'), + 9: int8('t'), + 10: int8('n'), + 12: int8('f'), + 13: int8('r'), +} + // C documentation // // /* Append the N-byte string in zIn to the end of the JsonString string @@ -241213,9 +242726,9 @@ func _jsonAppendSeparator(tls *libc.TLS, p uintptr) { func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { var c Tu8 var k Tu32 - var z, v10, v12, v14, v16, v18, v2, v20, v22, v24, v6, v8 uintptr - var v1, v11, v13, v15, v17, v19, v21, v23, v5, v7, v9 Tu64 - _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v5, v6, v7, v8, v9 + var z, v10, v2, v4, v6, v8 uintptr + var v1, v3, v5, v7, v9 Tu64 + _, _, _, _, _, _, _, _, _, _, _, _, _ = c, k, z, v1, v10, v2, v3, v4, v5, v6, v7, v8, v9 z = zIn if z == uintptr(0) { return @@ -241272,81 +242785,38 @@ func _jsonAppendString(tls *libc.TLS, p uintptr, zIn uintptr, N Tu32) { N -= k } c = *(*Tu8)(unsafe.Pointer(z)) - if !(int32(int32(c)) == int32('"') || int32(int32(c)) == int32('\\')) { - goto _3 - } - goto json_simple_escape - json_simple_escape: - ; - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(uint64(N))+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { - return - } - v6 = p + 24 - v5 = *(*Tu64)(unsafe.Pointer(v6)) - *(*Tu64)(unsafe.Pointer(v6))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = int8('\\') - v8 = p + 24 - v7 = *(*Tu64)(unsafe.Pointer(v8)) - *(*Tu64)(unsafe.Pointer(v8))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = int8(int8(c)) - goto _4 - _3: - ; - if int32(int32(c)) == int32('\'') { - v10 = p + 24 - v9 = *(*Tu64)(unsafe.Pointer(v10)) - *(*Tu64)(unsafe.Pointer(v10))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = int8(int8(c)) - } else { - if _aSpecial[c] != 0 { - c = uint8(_aSpecial[c]) - goto json_simple_escape - } - if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(uint64(N))+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + if int32(int32(c)) == int32('"') || int32(int32(c)) == int32('\\') { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(uint64(N))+uint64(3) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(3)) != 0 { return } - v12 = p + 24 - v11 = *(*Tu64)(unsafe.Pointer(v12)) - *(*Tu64)(unsafe.Pointer(v12))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v11))) = int8('\\') - v14 = p + 24 - v13 = *(*Tu64)(unsafe.Pointer(v14)) - *(*Tu64)(unsafe.Pointer(v14))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v13))) = int8('u') - v16 = p + 24 - v15 = *(*Tu64)(unsafe.Pointer(v16)) - *(*Tu64)(unsafe.Pointer(v16))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v15))) = int8('0') - v18 = p + 24 - v17 = *(*Tu64)(unsafe.Pointer(v18)) - *(*Tu64)(unsafe.Pointer(v18))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v17))) = int8('0') - v20 = p + 24 - v19 = *(*Tu64)(unsafe.Pointer(v20)) - *(*Tu64)(unsafe.Pointer(v20))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v19))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 26223 + uintptr(int32(int32(c))>>int32(4)))) - v22 = p + 24 - v21 = *(*Tu64)(unsafe.Pointer(v22)) - *(*Tu64)(unsafe.Pointer(v22))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v21))) = *(*int8)(unsafe.Pointer(__ccgo_ts + 26223 + uintptr(int32(int32(c))&int32(0xf)))) + v4 = p + 24 + v3 = *(*Tu64)(unsafe.Pointer(v4)) + *(*Tu64)(unsafe.Pointer(v4))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v3))) = int8('\\') + v6 = p + 24 + v5 = *(*Tu64)(unsafe.Pointer(v6)) + *(*Tu64)(unsafe.Pointer(v6))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v5))) = int8(int8(c)) + } else { + if int32(int32(c)) == int32('\'') { + v8 = p + 24 + v7 = *(*Tu64)(unsafe.Pointer(v8)) + *(*Tu64)(unsafe.Pointer(v8))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v7))) = int8(int8(c)) + } else { + if (*TJsonString)(unsafe.Pointer(p)).FnUsed+uint64(uint64(N))+uint64(7) > (*TJsonString)(unsafe.Pointer(p)).FnAlloc && _jsonStringGrow(tls, p, N+uint32(7)) != 0 { + return + } + _jsonAppendControlChar(tls, p, c) + } } - _4: - ; z++ N-- } - v24 = p + 24 - v23 = *(*Tu64)(unsafe.Pointer(v24)) - *(*Tu64)(unsafe.Pointer(v24))++ - *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v23))) = int8('"') -} - -var _aSpecial = [32]int8{ - 8: int8('b'), - 9: int8('t'), - 10: int8('n'), - 12: int8('f'), - 13: int8('r'), + v10 = p + 24 + v9 = *(*Tu64)(unsafe.Pointer(v10)) + *(*Tu64)(unsafe.Pointer(v10))++ + *(*int8)(unsafe.Pointer((*TJsonString)(unsafe.Pointer(p)).FzBuf + uintptr(v9))) = int8('"') } // C documentation @@ -241364,9 +242834,9 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _, _, _, _ = n, n1, z, z1 switch Xsqlite3_value_type(tls, pValue) { case int32(SQLITE_NULL): - _jsonAppendRawNZ(tls, p, __ccgo_ts+1644, uint32(4)) + _jsonAppendRawNZ(tls, p, __ccgo_ts+1658, uint32(4)) case int32(SQLITE_FLOAT): - _jsonPrintf(tls, int32(100), p, __ccgo_ts+16637, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) + _jsonPrintf(tls, int32(100), p, __ccgo_ts+16730, libc.VaList(bp+80, Xsqlite3_value_double(tls, pValue))) case int32(SQLITE_INTEGER): z = Xsqlite3_value_text(tls, pValue) n = uint32(Xsqlite3_value_bytes(tls, pValue)) @@ -241387,7 +242857,7 @@ func _jsonAppendSqlValue(tls *libc.TLS, p uintptr, pValue uintptr) { _jsonTranslateBlobToText(tls, bp, uint32(0), p) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr) == 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+26240, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+26363, -int32(1)) (*TJsonString)(unsafe.Pointer(p)).FeErr = uint8(JSTRING_ERR) _jsonStringReset(tls, p) } @@ -241441,7 +242911,7 @@ func _jsonReturnString(tls *libc.TLS, p uintptr, pParse uintptr, ctx uintptr) { Xsqlite3_result_error_nomem(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx) } else { if int32((*TJsonString)(unsafe.Pointer(p)).FeErr)&int32(JSTRING_MALFORMED) != 0 { - Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+26269, -int32(1)) + Xsqlite3_result_error(tls, (*TJsonString)(unsafe.Pointer(p)).FpCtx, __ccgo_ts+26392, -int32(1)) } } } @@ -241724,8 +243194,8 @@ var _aNanInfName = [5]TNanInfName{ Fn: int8(3), FeType: int8(JSONB_FLOAT), FnRepl: int8(7), - FzMatch: __ccgo_ts + 26284, - FzRepl: __ccgo_ts + 26288, + FzMatch: __ccgo_ts + 26407, + FzRepl: __ccgo_ts + 26411, }, 1: { Fc1: int8('i'), @@ -241733,32 +243203,32 @@ var _aNanInfName = [5]TNanInfName{ Fn: int8(8), FeType: int8(JSONB_FLOAT), FnRepl: int8(7), - FzMatch: __ccgo_ts + 26296, - FzRepl: __ccgo_ts + 26288, + FzMatch: __ccgo_ts + 26419, + FzRepl: __ccgo_ts + 26411, }, 2: { Fc1: int8('n'), Fc2: int8('N'), Fn: int8(3), FnRepl: int8(4), - FzMatch: __ccgo_ts + 1649, - FzRepl: __ccgo_ts + 1644, + FzMatch: __ccgo_ts + 1663, + FzRepl: __ccgo_ts + 1658, }, 3: { Fc1: int8('q'), Fc2: int8('Q'), Fn: int8(4), FnRepl: int8(4), - FzMatch: __ccgo_ts + 26305, - FzRepl: __ccgo_ts + 1644, + FzMatch: __ccgo_ts + 26428, + FzRepl: __ccgo_ts + 1658, }, 4: { Fc1: int8('s'), Fc2: int8('S'), Fn: int8(4), FnRepl: int8(4), - FzMatch: __ccgo_ts + 26310, - FzRepl: __ccgo_ts + 1644, + FzMatch: __ccgo_ts + 26433, + FzRepl: __ccgo_ts + 1658, }, } @@ -241773,7 +243243,7 @@ func _jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26315, libc.VaList(bp+8, zFuncName)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26438, libc.VaList(bp+8, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -int32(1)) Xsqlite3_free(tls, zMsg) } @@ -242222,30 +243692,37 @@ func _jsonbValidityCheck(tls *libc.TLS, pParse uintptr, i Tu32, iEnd Tu32, iDept return j + uint32(1) } } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) <= int32(0x1f) { + /* Control characters in JSON5 string literals are ok */ + if int32(int32(x)) == int32(JSONB_TEXTJ) { + return j + uint32(1) + } } else { - if libc.Xstrchr(tls, __ccgo_ts+26358, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { - j++ + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j)))) != int32('\\') || j+uint32(1) >= k { + return j + uint32(1) } else { - if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { - if j+uint32(5) >= k { - return j + uint32(1) - } - if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { - return j + uint32(1) - } + if libc.Xstrchr(tls, __ccgo_ts+26481, int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1)))))) != uintptr(0) { j++ } else { - if int32(int32(x)) != int32(JSONB_TEXT5) { - return j + uint32(1) + if int32(*(*Tu8)(unsafe.Pointer(z + uintptr(j+uint32(1))))) == int32('u') { + if j+uint32(5) >= k { + return j + uint32(1) + } + if !(_jsonIs4Hex(tls, z+uintptr(j+uint32(2))) != 0) { + return j + uint32(1) + } + j++ } else { - *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) - szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) - if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + if int32(int32(x)) != int32(JSONB_TEXT5) { return j + uint32(1) + } else { + *(*Tu32)(unsafe.Pointer(bp + 4)) = uint32(0) + szC = _jsonUnescapeOneChar(tls, z+uintptr(j), k-j, bp+4) + if *(*Tu32)(unsafe.Pointer(bp + 4)) == uint32(JSON_INVALID_CHAR) { + return j + uint32(1) + } + j += szC - uint32(1) } - j += szC - uint32(1) } } } @@ -242672,9 +244149,14 @@ parse_string: } } else { if int32(int32(c)) <= int32(0x1f) { - /* Control characters are not allowed in strings */ - (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j - return -int32(1) + if int32(int32(c)) == 0 { + (*TJsonParse)(unsafe.Pointer(pParse)).FiErr = j + return -int32(1) + } + /* Control characters are not allowed in canonical JSON string + ** literals, but are allowed in JSON5 string literals. */ + opcode = uint8(JSONB_TEXT5) + (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) } else { if int32(int32(c)) == int32('"') { opcode = uint8(JSONB_TEXT5) @@ -242688,7 +244170,7 @@ parse_string: return int32(j + uint32(1)) _5: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+9195, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+9320, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_TRUE)) return int32(i + uint32(4)) } @@ -242696,7 +244178,7 @@ _5: return -int32(1) _6: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+9200, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(5)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+9325, uint64(5)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(5)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_FALSE)) return int32(i + uint32(5)) } @@ -242773,14 +244255,14 @@ parse_number: /* JSON5 allows for "+Infinity" and "-Infinity" using exactly ** that case. SQLite also allows these in any case and it allows ** "+inf" and "-inf". */ - if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+26284, int32(3)) == 0 { + if (int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('I') || int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(1))))) == int32('i')) && Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(1)), __ccgo_ts+26407, int32(3)) == 0 { (*TJsonParse)(unsafe.Pointer(pParse)).FhasNonstd = uint8(1) if int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == int32('-') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+26367) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+26490) } else { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+26374) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+26497) } - if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+26380, int32(5)) == 0 { + if Xsqlite3_strnicmp(tls, z+uintptr(i+uint32(4)), __ccgo_ts+26503, int32(5)) == 0 { v48 = int32(9) } else { v48 = int32(4) @@ -242941,11 +244423,10 @@ _29: return -int32(1) _37: ; - if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1644, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { + if libc.Xstrncmp(tls, z+uintptr(i), __ccgo_ts+1658, uint64(4)) == 0 && !(int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+uint32(4)))))])&libc.Int32FromInt32(0x06) != 0) { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) return int32(i + uint32(4)) } - /* fall-through into the default case that checks for NaN */ _38: ; c = *(*int8)(unsafe.Pointer(z + uintptr(i))) @@ -242965,7 +244446,7 @@ _38: goto _51 } if int32(_aNanInfName[k1].FeType) == int32(JSONB_FLOAT) { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+26374) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+26497) } else { _jsonBlobAppendOneByte(tls, pParse, uint8(JSONB_NULL)) } @@ -243010,7 +244491,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 i += _json5Whitespace(tls, zJson+uintptr(i)) if *(*int8)(unsafe.Pointer(zJson + uintptr(i))) != 0 { if pCtx != 0 { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+26269, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+26392, -int32(1)) } _jsonParseReset(tls, pParse) return int32(1) @@ -243023,7 +244504,7 @@ func _jsonConvertTextToBlob(tls *libc.TLS, pParse uintptr, pCtx uintptr) (r int3 if (*TJsonParse)(unsafe.Pointer(pParse)).Foom != 0 { Xsqlite3_result_error_nomem(tls, pCtx) } else { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+26269, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+26392, -int32(1)) } } _jsonParseReset(tls, pParse) @@ -243186,15 +244667,15 @@ func _jsonTranslateBlobToText(tls *libc.TLS, pParse uintptr, i Tu32, pOut uintpt goto _16 _2: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1644, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+1658, uint32(4)) return i + uint32(1) _3: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+9195, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+9320, uint32(4)) return i + uint32(1) _4: ; - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+9200, uint32(5)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+9325, uint32(5)) return i + uint32(1) _6: ; @@ -243243,9 +244724,9 @@ _7: k++ } if bOverflow != 0 { - v19 = __ccgo_ts + 26288 + v19 = __ccgo_ts + 26411 } else { - v19 = __ccgo_ts + 13062 + v19 = __ccgo_ts + 13187 } _jsonPrintf(tls, int32(100), pOut, v19, libc.VaList(bp+16, u)) goto _16 @@ -243293,7 +244774,7 @@ _11: for sz2 > uint32(0) { k2 = uint32(0) for { - if !(k2 < sz2 && int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('\\') && int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) != int32('"')) { + if !(k2 < sz2 && (_jsonIsOk[uint8(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2))))] != 0 || int32(*(*int8)(unsafe.Pointer(zIn2 + uintptr(k2)))) == int32('\''))) { break } goto _21 @@ -243310,7 +244791,16 @@ _11: sz2 -= k2 } if int32(*(*int8)(unsafe.Pointer(zIn2))) == int32('"') { - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+26386, uint32(2)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+26509, uint32(2)) + zIn2++ + sz2-- + continue + } + if int32(*(*int8)(unsafe.Pointer(zIn2))) <= int32(0x1f) { + if (*TJsonString)(unsafe.Pointer(pOut)).FnUsed+uint64(7) > (*TJsonString)(unsafe.Pointer(pOut)).FnAlloc && _jsonStringGrow(tls, pOut, uint32(7)) != 0 { + break + } + _jsonAppendControlChar(tls, pOut, uint8(*(*int8)(unsafe.Pointer(zIn2)))) zIn2++ sz2-- continue @@ -243324,7 +244814,7 @@ _11: case int32('\''): _jsonAppendChar(tls, pOut, int8('\'')) case int32('v'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+26389, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+26512, uint32(6)) case int32('x'): if sz2 < uint32(4) { p23 = pOut + 33 @@ -243332,12 +244822,12 @@ _11: sz2 = uint32(2) break } - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+26396, uint32(4)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+26519, uint32(4)) _jsonAppendRawNZ(tls, pOut, zIn2+2, uint32(2)) zIn2 += uintptr(2) sz2 -= uint32(2) case int32('0'): - _jsonAppendRawNZ(tls, pOut, __ccgo_ts+26401, uint32(6)) + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+26524, uint32(6)) case int32('\r'): if sz2 > uint32(2) && int32(*(*int8)(unsafe.Pointer(zIn2 + 2))) == int32('\n') { zIn2++ @@ -243426,6 +244916,140 @@ _16: return i + n + *(*Tu32)(unsafe.Pointer(bp)) } +// C documentation +// +// /* Context for recursion of json_pretty() +// */ +type TJsonPretty = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty = TJsonPretty + +type TJsonPretty1 = struct { + FpParse uintptr + FpOut uintptr + FzIndent uintptr + FszIndent Tu32 + FnIndent Tu32 +} + +type JsonPretty1 = TJsonPretty1 + +// C documentation +// +// /* Append indentation to the pretty JSON under construction */ +func _jsonPrettyIndent(tls *libc.TLS, pPretty uintptr) { + var jj Tu32 + _ = jj + jj = uint32(0) + for { + if !(jj < (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent) { + break + } + _jsonAppendRaw(tls, (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut, (*TJsonPretty)(unsafe.Pointer(pPretty)).FzIndent, (*TJsonPretty)(unsafe.Pointer(pPretty)).FszIndent) + goto _1 + _1: + ; + jj++ + } +} + +// C documentation +// +// /* +// ** Translate the binary JSONB representation of JSON beginning at +// ** pParse->aBlob[i] into a JSON text string. Append the JSON +// ** text onto the end of pOut. Return the index in pParse->aBlob[] +// ** of the first byte past the end of the element that is translated. +// ** +// ** This is a variant of jsonTranslateBlobToText() that "pretty-prints" +// ** the output. Extra whitespace is inserted to make the JSON easier +// ** for humans to read. +// ** +// ** If an error is detected in the BLOB input, the pOut->eErr flag +// ** might get set to JSTRING_MALFORMED. But not all BLOB input errors +// ** are detected. So a malformed JSONB input might either result +// ** in an error, or in incorrect JSON. +// ** +// ** The pOut->eErr JSTRING_OOM flag is set on a OOM. +// */ +func _jsonTranslateBlobToPrettyText(tls *libc.TLS, pPretty uintptr, i Tu32) (r Tu32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var iEnd, j, n Tu32 + var pOut, pParse, p1, p2 uintptr + var _ /* sz at bp+0 */ Tu32 + _, _, _, _, _, _, _ = iEnd, j, n, pOut, pParse, p1, p2 + pParse = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpParse + pOut = (*TJsonPretty)(unsafe.Pointer(pPretty)).FpOut + n = _jsonbPayloadSize(tls, pParse, i, bp) + if n == uint32(0) { + p1 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + return (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob + uint32(1) + } + switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { + case int32(JSONB_ARRAY): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, int8('[')) + if j < iEnd { + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+26531, uint32(2)) + } + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, int8(']')) + i = iEnd + case int32(JSONB_OBJECT): + j = i + n + iEnd = j + *(*Tu32)(unsafe.Pointer(bp)) + _jsonAppendChar(tls, pOut, int8('{')) + if j < iEnd { + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent++ + for int32((*TJsonString)(unsafe.Pointer(pOut)).FeErr) == 0 { + _jsonPrettyIndent(tls, pPretty) + j = _jsonTranslateBlobToText(tls, pParse, j, pOut) + if j > iEnd { + p2 = pOut + 33 + *(*Tu8)(unsafe.Pointer(p2)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p2))) | libc.Int32FromInt32(JSTRING_MALFORMED)) + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+26534, uint32(2)) + j = _jsonTranslateBlobToPrettyText(tls, pPretty, j) + if j >= iEnd { + break + } + _jsonAppendRawNZ(tls, pOut, __ccgo_ts+26531, uint32(2)) + } + _jsonAppendChar(tls, pOut, int8('\n')) + (*TJsonPretty)(unsafe.Pointer(pPretty)).FnIndent-- + _jsonPrettyIndent(tls, pPretty) + } + _jsonAppendChar(tls, pOut, int8('}')) + i = iEnd + default: + i = _jsonTranslateBlobToText(tls, pParse, i, pOut) + break + } + return i +} + // C documentation // // /* Return true if the input pJson @@ -244143,7 +245767,7 @@ func _jsonReturnFromBlob(tls *libc.TLS, pParse uintptr, i Tu32, pCtx uintptr, te db = Xsqlite3_context_db_handle(tls, pCtx) n = _jsonbPayloadSize(tls, pParse, i, bp) if n == uint32(0) { - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+26269, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+26392, -int32(1)) return } switch int32(*(*Tu8)(unsafe.Pointer((*TJsonParse)(unsafe.Pointer(pParse)).FaBlob + uintptr(i)))) & libc.Int32FromInt32(0x0f) { @@ -244379,7 +246003,7 @@ returnfromblob_oom: goto returnfromblob_malformed returnfromblob_malformed: ; - Xsqlite3_result_error(tls, pCtx, __ccgo_ts+26269, -int32(1)) + Xsqlite3_result_error(tls, pCtx, __ccgo_ts+26392, -int32(1)) return } @@ -244420,7 +246044,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob = Xsqlite3_value_blob(tls, pArg) (*TJsonParse)(unsafe.Pointer(pParse)).FnBlob = uint32(Xsqlite3_value_bytes(tls, pArg)) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+26240, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+26363, -int32(1)) return int32(1) } case int32(SQLITE_TEXT): @@ -244433,7 +246057,7 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin (*TJsonParse)(unsafe.Pointer(pParse)).FzJson = zJson (*TJsonParse)(unsafe.Pointer(pParse)).FnJson = nJson if _jsonConvertTextToBlob(tls, pParse, ctx) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+26269, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+26392, -int32(1)) _sqlite3DbFree(tls, (*TJsonParse)(unsafe.Pointer(pParse)).Fdb, (*TJsonParse)(unsafe.Pointer(pParse)).FaBlob) libc.Xmemset(tls, pParse, 0, uint64(72)) return int32(1) @@ -244452,10 +246076,10 @@ func _jsonFunctionArgToBlob(tls *libc.TLS, ctx uintptr, pArg uintptr, pParse uin return int32(1) } if int32(*(*int8)(unsafe.Pointer(z))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+26374) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(5), __ccgo_ts+26497) } else { if int32(*(*int8)(unsafe.Pointer(z))) == int32('-') && int32(*(*int8)(unsafe.Pointer(z + 1))) == int32('I') { - _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+26367) + _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(6), __ccgo_ts+26490) } else { _jsonBlobAppendNode(tls, pParse, uint8(JSONB_FLOAT), uint32(uint32(n)), z) } @@ -244494,7 +246118,7 @@ func _jsonBadPathError(tls *libc.TLS, ctx uintptr, zPath uintptr) (r uintptr) { defer tls.Free(16) var zMsg uintptr _ = zMsg - zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26408, libc.VaList(bp+8, zPath)) + zMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26537, libc.VaList(bp+8, zPath)) if ctx == uintptr(0) { return zMsg } @@ -244591,7 +246215,7 @@ jsonInsertIntoBlob_patherror: ; _jsonParseFree(tls, p) if rc == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+26269, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+26392, -int32(1)) } else { _jsonBadPathError(tls, ctx, zPath) } @@ -244773,7 +246397,7 @@ json_pfa_malformed: return p } else { _jsonParseFree(tls, p) - Xsqlite3_result_error(tls, ctx, __ccgo_ts+26269, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+26392, -int32(1)) return uintptr(0) } goto json_pfa_oom @@ -244908,7 +246532,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if int32(*(*int8)(unsafe.Pointer(zPath))) == int32('$') { v1 = zPath + uintptr(1) } else { - v1 = __ccgo_ts + 26426 + v1 = __ccgo_ts + 26555 } i = _jsonLookupStep(tls, p, uint32(0), v1, uint32(0)) if i >= uint32(JSON_LOOKUP_PATHERROR) { @@ -244918,7 +246542,7 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+26269, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+26392, -int32(1)) } } eErr = uint8(1) @@ -244936,25 +246560,6 @@ func _jsonArrayLengthFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) _jsonParseFree(tls, p) } -// C documentation -// -// /* True if the string is all digits */ -func _jsonAllDigits(tls *libc.TLS, z uintptr, n int32) (r int32) { - var i int32 - _ = i - i = 0 - for { - if !(i < n && int32(_sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))])&int32(0x04) != 0) { - break - } - goto _1 - _1: - ; - i++ - } - return libc.BoolInt32(i == n) -} - // C documentation // // /* True if the string is all alphanumerics and underscores */ @@ -245041,21 +246646,21 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { ** [NUMBER] ==> $[NUMBER] // Not PG. Purely for convenience */ _jsonStringInit(tls, bp, ctx) - if _jsonAllDigits(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+26428, uint32(1)) + if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) == int32(SQLITE_INTEGER) { + _jsonAppendRawNZ(tls, bp, __ccgo_ts+26557, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(uint32(nPath))) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+6470, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+6534, uint32(2)) } else { if _jsonAllAlphanum(tls, zPath, nPath) != 0 { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1671, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1685, uint32(1)) _jsonAppendRaw(tls, bp, zPath, uint32(uint32(nPath))) } else { if int32(*(*int8)(unsafe.Pointer(zPath))) == int32('[') && nPath >= int32(3) && int32(*(*int8)(unsafe.Pointer(zPath + uintptr(nPath-int32(1))))) == int32(']') { _jsonAppendRaw(tls, bp, zPath, uint32(uint32(nPath))) } else { - _jsonAppendRawNZ(tls, bp, __ccgo_ts+26430, uint32(2)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+26559, uint32(2)) _jsonAppendRaw(tls, bp, zPath, uint32(uint32(nPath))) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+26433, uint32(1)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+26562, uint32(1)) } } } @@ -245091,11 +246696,11 @@ func _jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { goto json_extract_error /* Return NULL if not found */ } else { _jsonAppendSeparator(tls, bp) - _jsonAppendRawNZ(tls, bp, __ccgo_ts+1644, uint32(4)) + _jsonAppendRawNZ(tls, bp, __ccgo_ts+1658, uint32(4)) } } else { if j == uint32(JSON_LOOKUP_ERROR) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+26269, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+26392, -int32(1)) goto json_extract_error } else { _jsonBadPathError(tls, ctx, zPath) @@ -245363,7 +246968,7 @@ func _jsonPatchFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == int32(JSON_MERGE_OOM) { Xsqlite3_result_error_nomem(tls, ctx) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+26269, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+26392, -int32(1)) } } _jsonParseFree(tls, pPatch) @@ -245387,7 +246992,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { var _ /* jx at bp+0 */ TJsonString _, _, _ = i, n, z if argc&int32(1) != 0 { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+26435, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+26564, -int32(1)) return } _jsonStringInit(tls, bp, ctx) @@ -245398,7 +247003,7 @@ func _jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { break } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != int32(SQLITE_TEXT) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+26486, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+26615, -int32(1)) _jsonStringReset(tls, bp) return } @@ -245470,7 +247075,7 @@ func _jsonRemoveFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if rc == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+26269, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+26392, -int32(1)) } } goto json_remove_done @@ -245507,7 +247112,7 @@ func _jsonReplaceFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { return } if argc&int32(1) == 0 { - _jsonWrongNumArgs(tls, ctx, __ccgo_ts+17110) + _jsonWrongNumArgs(tls, ctx, __ccgo_ts+17203) return } _jsonInsertIntoBlob(tls, ctx, argc, argv, int32(JEDIT_REPL)) @@ -245538,9 +247143,9 @@ func _jsonSetFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { } if argc&int32(1) == 0 { if bIsSet != 0 { - v1 = __ccgo_ts + 26520 + v1 = __ccgo_ts + 26649 } else { - v1 = __ccgo_ts + 26524 + v1 = __ccgo_ts + 26653 } _jsonWrongNumArgs(tls, ctx, v1) return @@ -245588,7 +247193,7 @@ func _jsonTypeFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if i == uint32(JSON_LOOKUP_PATHERROR) { _jsonBadPathError(tls, ctx, zPath) } else { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+26269, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+26392, -int32(1)) } } goto json_type_done @@ -245603,6 +247208,48 @@ json_type_done: _jsonParseFree(tls, p) } +// C documentation +// +// /* +// ** json_pretty(JSON) +// ** json_pretty(JSON, INDENT) +// ** +// ** Return text that is a pretty-printed rendering of the input JSON. +// ** If the argument is not valid JSON, return NULL. +// ** +// ** The INDENT argument is text that is used for indentation. If omitted, +// ** it defaults to four spaces (the same as PostgreSQL). +// */ +func _jsonPrettyFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { + bp := tls.Alloc(176) + defer tls.Free(176) + var v1 uintptr + var v2 bool + var _ /* s at bp+0 */ TJsonString + var _ /* x at bp+136 */ TJsonPretty + _, _ = v1, v2 /* Pretty printing context */ + libc.Xmemset(tls, bp+136, 0, uint64(32)) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse = _jsonParseFuncArg(tls, ctx, *(*uintptr)(unsafe.Pointer(argv)), uint32(0)) + if (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse == uintptr(0) { + return + } + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpOut = bp + _jsonStringInit(tls, bp, ctx) + if v2 = argc == int32(1); !v2 { + v1 = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = v1 + } + if v2 || v1 == uintptr(0) { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent = __ccgo_ts + 26660 + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(4) + } else { + (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FszIndent = uint32(libc.Xstrlen(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FzIndent)) + } + _jsonTranslateBlobToPrettyText(tls, bp+136, uint32(0)) + _jsonReturnString(tls, bp, uintptr(0), uintptr(0)) + _jsonParseFree(tls, (*(*TJsonPretty)(unsafe.Pointer(bp + 136))).FpParse) +} + // C documentation // // /* @@ -245677,7 +247324,7 @@ func _jsonValidFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { if argc == int32(2) { f = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) if f < int64(1) || f > int64(15) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+26531, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+26665, -int32(1)) return } flags = uint8(f & int64(0x0f)) @@ -245866,7 +247513,7 @@ func _jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+26588, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+26722, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -246015,7 +247662,7 @@ func _jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { } } } else { - Xsqlite3_result_text(tls, ctx, __ccgo_ts+26591, int32(2), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, ctx, __ccgo_ts+26725, int32(2), libc.UintptrFromInt32(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -246118,7 +247765,7 @@ func _jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv _ = argv _ = argc _ = pAux - rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+26594) + rc = Xsqlite3_declare_vtab(tls, db, __ccgo_ts+26728) if rc == SQLITE_OK { pNew = _sqlite3DbMallocZero(tls, db, uint64(32)) *(*uintptr)(unsafe.Pointer(ppVtab)) = pNew @@ -246252,7 +247899,7 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { var _ /* sz at bp+0 */ Tu32 _, _, _, _, _ = i, k, n, needQuote, z if int32((*TJsonEachCursor)(unsafe.Pointer(p)).FeType) == int32(JSONB_ARRAY) { - _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+26677, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) + _jsonPrintf(tls, int32(30), p+56, __ccgo_ts+26811, libc.VaList(bp+16, (*(*TJsonParent)(unsafe.Pointer((*TJsonEachCursor)(unsafe.Pointer(p)).FaParent + uintptr((*TJsonEachCursor)(unsafe.Pointer(p)).FnParent-uint32(1))*24))).FiKey)) } else { *(*Tu32)(unsafe.Pointer(bp)) = uint32(0) needQuote = 0 @@ -246278,9 +247925,9 @@ func _jsonAppendPathName(tls *libc.TLS, p uintptr) { } } if needQuote != 0 { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+26684, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(4)), p+56, __ccgo_ts+26818, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } else { - _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+26692, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) + _jsonPrintf(tls, int32(*(*Tu32)(unsafe.Pointer(bp))+uint32(2)), p+56, __ccgo_ts+26826, libc.VaList(bp+16, *(*Tu32)(unsafe.Pointer(bp)), z)) } } } @@ -246666,7 +248313,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a i = v5 (*TJsonEachCursor)(unsafe.Pointer(p)).FeType = uint8(0) (*TJsonEachCursor)(unsafe.Pointer(p)).FnRoot = uint32(1) - _jsonAppendRaw(tls, p+56, __ccgo_ts+26698, uint32(1)) + _jsonAppendRaw(tls, p+56, __ccgo_ts+26832, uint32(1)) } (*TJsonEachCursor)(unsafe.Pointer(p)).FnParent = uint32(0) n = _jsonbPayloadSize(tls, p+192, i, bp) @@ -246690,7 +248337,7 @@ func _jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, a json_each_malformed_input: ; Xsqlite3_free(tls, (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg) - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26269, 0) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+26392, 0) _jsonEachCursorReset(tls, p) if (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { v6 = int32(SQLITE_ERROR) @@ -246744,183 +248391,193 @@ func init() { // ** Register JSON functions. // */ func _sqlite3RegisterJsonFunctions(tls *libc.TLS) { - _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2304)/libc.Uint64FromInt64(72))) + _sqlite3InsertBuiltinFuncs(tls, uintptr(unsafe.Pointer(&_aJsonFunc)), int32(libc.Uint64FromInt64(2448)/libc.Uint64FromInt64(72))) } -var _aJsonFunc = [32]TFuncDef{ +var _aJsonFunc = [34]TFuncDef{ 0: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26700, + FzName: __ccgo_ts + 26834, }, 1: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26705, + FzName: __ccgo_ts + 26839, }, 2: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26711, + FzName: __ccgo_ts + 26845, }, 3: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26722, + FzName: __ccgo_ts + 26856, }, 4: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26734, + FzName: __ccgo_ts + 26868, }, 5: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26734, + FzName: __ccgo_ts + 26868, }, 6: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26752, + FzName: __ccgo_ts + 26886, }, 7: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26772, + FzName: __ccgo_ts + 26906, }, 8: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26785, + FzName: __ccgo_ts + 26919, }, 9: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_JSON) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26799, + FzName: __ccgo_ts + 26933, }, 10: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_SQL) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26802, + FzName: __ccgo_ts + 26936, }, 11: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26806, + FzName: __ccgo_ts + 26940, }, 12: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26818, + FzName: __ccgo_ts + 26952, }, 13: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26831, + FzName: __ccgo_ts + 26965, }, 14: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26843, + FzName: __ccgo_ts + 26977, }, 15: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26856, + FzName: __ccgo_ts + 26990, }, 16: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26867, + FzName: __ccgo_ts + 27001, }, 17: { FnArg: int8(1), - FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26879, + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 27013, }, 18: { + FnArg: int8(2), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 27013, + }, + 19: { + FnArg: int8(1), + FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), + FzName: __ccgo_ts + 27025, + }, + 20: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26890, + FzName: __ccgo_ts + 27036, }, - 19: { + 21: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26902, + FzName: __ccgo_ts + 27048, }, - 20: { + 22: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26915, + FzName: __ccgo_ts + 27061, }, - 21: { + 23: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(0) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26928, + FzName: __ccgo_ts + 27074, }, - 22: { + 24: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(0)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26942, + FzName: __ccgo_ts + 27088, }, - 23: { + 25: { FnArg: int8(-int32(1)), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_ISSET) | libc.Int32FromInt32(1)*libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26951, + FzName: __ccgo_ts + 27097, }, - 24: { + 26: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26961, + FzName: __ccgo_ts + 27107, }, - 25: { + 27: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26961, + FzName: __ccgo_ts + 27107, }, - 26: { + 28: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26971, + FzName: __ccgo_ts + 27117, }, - 27: { + 29: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_FUNC_CONSTANT) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(1)*libc.Int32FromInt32(SQLITE_FUNC_RUNONLY) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE)), - FzName: __ccgo_ts + 26971, + FzName: __ccgo_ts + 27117, }, - 28: { + 30: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 26982, + FzName: __ccgo_ts + 27128, }, - 29: { + 31: { FnArg: int8(1), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 26999, + FzName: __ccgo_ts + 27145, }, - 30: { + 32: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), - FzName: __ccgo_ts + 27017, + FzName: __ccgo_ts + 27163, }, - 31: { + 33: { FnArg: int8(2), FfuncFlags: uint32(libc.Int32FromInt32(SQLITE_FUNC_BUILTIN) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(0)*libc.Int32FromInt32(SQLITE_FUNC_NEEDCOLL) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_UTF8) | libc.Int32FromInt32(SQLITE_DETERMINISTIC)), FpUserData: uintptr(int64(libc.Int32FromInt32(JSON_BLOB))), - FzName: __ccgo_ts + 27035, + FzName: __ccgo_ts + 27181, }, } @@ -246943,33 +248600,35 @@ func init() { *(*uintptr)(unsafe.Add(p, 1032)) = __ccgo_fp(_jsonObjectFunc) *(*uintptr)(unsafe.Add(p, 1104)) = __ccgo_fp(_jsonPatchFunc) *(*uintptr)(unsafe.Add(p, 1176)) = __ccgo_fp(_jsonPatchFunc) - *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonQuoteFunc) - *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonRemoveFunc) - *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonReplaceFunc) - *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonSetFunc) - *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonTypeFunc) - *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonValidFunc) - *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2048)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2056)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2064)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonArrayStep) - *(*uintptr)(unsafe.Add(p, 2120)) = __ccgo_fp(_jsonArrayFinal) - *(*uintptr)(unsafe.Add(p, 2128)) = __ccgo_fp(_jsonArrayValue) - *(*uintptr)(unsafe.Add(p, 2136)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 1248)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1320)) = __ccgo_fp(_jsonPrettyFunc) + *(*uintptr)(unsafe.Add(p, 1392)) = __ccgo_fp(_jsonQuoteFunc) + *(*uintptr)(unsafe.Add(p, 1464)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1536)) = __ccgo_fp(_jsonRemoveFunc) + *(*uintptr)(unsafe.Add(p, 1608)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1680)) = __ccgo_fp(_jsonReplaceFunc) + *(*uintptr)(unsafe.Add(p, 1752)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1824)) = __ccgo_fp(_jsonSetFunc) + *(*uintptr)(unsafe.Add(p, 1896)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 1968)) = __ccgo_fp(_jsonTypeFunc) + *(*uintptr)(unsafe.Add(p, 2040)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2112)) = __ccgo_fp(_jsonValidFunc) + *(*uintptr)(unsafe.Add(p, 2184)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2192)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2200)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2208)) = __ccgo_fp(_jsonGroupInverse) - *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonObjectStep) - *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonObjectFinal) - *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2256)) = __ccgo_fp(_jsonArrayStep) + *(*uintptr)(unsafe.Add(p, 2264)) = __ccgo_fp(_jsonArrayFinal) + *(*uintptr)(unsafe.Add(p, 2272)) = __ccgo_fp(_jsonArrayValue) *(*uintptr)(unsafe.Add(p, 2280)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2328)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2336)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2344)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2352)) = __ccgo_fp(_jsonGroupInverse) + *(*uintptr)(unsafe.Add(p, 2400)) = __ccgo_fp(_jsonObjectStep) + *(*uintptr)(unsafe.Add(p, 2408)) = __ccgo_fp(_jsonObjectFinal) + *(*uintptr)(unsafe.Add(p, 2416)) = __ccgo_fp(_jsonObjectValue) + *(*uintptr)(unsafe.Add(p, 2424)) = __ccgo_fp(_jsonGroupInverse) } // C documentation @@ -247001,11 +248660,11 @@ var _aMod = [2]struct { FpModule uintptr }{ 0: { - FzName: __ccgo_ts + 27054, + FzName: __ccgo_ts + 27200, FpModule: uintptr(unsafe.Pointer(&_jsonEachModule)), }, 1: { - FzName: __ccgo_ts + 27064, + FzName: __ccgo_ts + 27210, FpModule: uintptr(unsafe.Pointer(&_jsonTreeModule)), }, } @@ -247651,7 +249310,7 @@ func _nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode Ti64, pParent uintptr, pp } } if (*TRtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) { - rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+27074, iNode, 0, pRtree+112) + rc = Xsqlite3_blob_open(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, __ccgo_ts+27220, iNode, 0, pRtree+112) } if rc != 0 { *(*uintptr)(unsafe.Pointer(ppNode)) = uintptr(0) @@ -247956,7 +249615,7 @@ func _rtreeDestroy(tls *libc.TLS, pVtab uintptr) (r int32) { var rc int32 _, _, _ = pRtree, rc, zCreate pRtree = pVtab - zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+27079, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zCreate = Xsqlite3_mprintf(tls, __ccgo_ts+27225, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if !(zCreate != 0) { rc = int32(SQLITE_NOMEM) } else { @@ -248873,7 +250532,7 @@ func _findLeafNode(tls *libc.TLS, pRtree uintptr, iRowid Ti64, ppLeaf uintptr, p func _deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) (r int32) { var pBlob, pInfo, pSrc uintptr _, _, _ = pBlob, pInfo, pSrc /* Callback information */ - pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+27161) + pSrc = Xsqlite3_value_pointer(tls, pValue, __ccgo_ts+27307) if pSrc == uintptr(0) { return int32(SQLITE_ERROR) } @@ -248928,7 +250587,7 @@ func _rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp iRowid = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) *(*Ti64)(unsafe.Pointer(bp + 24)) = 0 eType = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv))) - if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) == float64(float64(iRowid)) { + if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) && 0 == _sqlite3IntFloatCompare(tls, iRowid, Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))) { rc = _findLeafNode(tls, pRtree, iRowid, bp+16, bp+24) } else { rc = SQLITE_OK @@ -250408,7 +252067,7 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) var _ /* pStmt at bp+0 */ uintptr _, _, _, _, _, _ = rc, zCol, zCol1, zCol2, zSql, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27175, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27321, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -int32(1), bp, uintptr(0)) } else { @@ -250418,11 +252077,11 @@ func _rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) (r int32) if rc == SQLITE_OK { if iCol == 0 { zCol = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+27195, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+27341, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { zCol1 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol) zCol2 = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), iCol+int32(1)) - (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+27227, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + (*TRtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+27373, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -250636,7 +252295,7 @@ func _rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) (r int32) { _, _, _ = pRtree, rc, zSql pRtree = pVtab rc = int32(SQLITE_NOMEM) - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27264, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+27410, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, zNewName)) if zSql != 0 { _nodeBlobReset(tls, pRtree) rc = Xsqlite3_exec(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -250690,9 +252349,9 @@ func _rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) (r int32) { var v2 int64 var _ /* p at bp+0 */ uintptr _, _, _, _, _, _ = nRow, rc, zFmt, zSql, v1, v2 - zFmt = __ccgo_ts + 27409 + zFmt = __ccgo_ts + 27555 nRow = int64(RTREE_MIN_ROWEST) - rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+12891, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_table_column_metadata(tls, db, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, __ccgo_ts+13016, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FnRowEst = int64(RTREE_DEFAULT_ROWEST) if rc == int32(SQLITE_ERROR) { @@ -250750,9 +252409,9 @@ func _rtreeShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName1 = [3]uintptr{ - 0: __ccgo_ts + 27465, - 1: __ccgo_ts + 6793, - 2: __ccgo_ts + 18009, + 0: __ccgo_ts + 27611, + 1: __ccgo_ts + 6857, + 2: __ccgo_ts + 18096, } var _rtreeModule = Tsqlite3_module{ @@ -250796,21 +252455,21 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref (*TRtree)(unsafe.Pointer(pRtree)).Fdb = db if isCreate != 0 { p = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+27879, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+28025, libc.VaList(bp+8, zDb, zPrefix)) ii = 0 for { if !(ii < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+27941, libc.VaList(bp+8, ii)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+28087, libc.VaList(bp+8, ii)) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, p, __ccgo_ts+27946, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+28010, libc.VaList(bp+8, zDb, zPrefix)) - Xsqlite3_str_appendf(tls, p, __ccgo_ts+28080, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+28092, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+28156, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, __ccgo_ts+28226, libc.VaList(bp+8, zDb, zPrefix, (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return int32(SQLITE_NOMEM) @@ -250840,7 +252499,7 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } else { /* An UPSERT is very slightly slower than REPLACE, but it is needed ** if there are auxiliary columns */ - zFormat = __ccgo_ts + 28129 + zFormat = __ccgo_ts + 28275 } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+8, zDb, zPrefix)) if zSql != 0 { @@ -250855,31 +252514,31 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref i++ } if (*TRtree)(unsafe.Pointer(pRtree)).FnAux != 0 && rc != int32(SQLITE_NOMEM) { - (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+28237, libc.VaList(bp+8, zDb, zPrefix)) + (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, __ccgo_ts+28383, libc.VaList(bp+8, zDb, zPrefix)) if (*TRtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { p1 = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+28282, libc.VaList(bp+8, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+28428, libc.VaList(bp+8, zDb, zPrefix)) ii1 = 0 for { if !(ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux)) { break } if ii1 != 0 { - Xsqlite3_str_append(tls, p1, __ccgo_ts+14399, int32(1)) + Xsqlite3_str_append(tls, p1, __ccgo_ts+14524, int32(1)) } if ii1 < int32((*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+28309, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+28455, libc.VaList(bp+8, ii1, ii1+int32(2), ii1)) } else { - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+28331, libc.VaList(bp+8, ii1, ii1+int32(2))) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+28477, libc.VaList(bp+8, ii1, ii1+int32(2))) } goto _3 _3: ; ii1++ } - Xsqlite3_str_appendf(tls, p1, __ccgo_ts+28339, 0) + Xsqlite3_str_appendf(tls, p1, __ccgo_ts+28485, 0) zSql1 = Xsqlite3_str_finish(tls, p1) if zSql1 == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -250893,14 +252552,14 @@ func _rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPref } var _azSql = [8]uintptr{ - 0: __ccgo_ts + 27470, - 1: __ccgo_ts + 27523, - 2: __ccgo_ts + 27568, - 3: __ccgo_ts + 27620, - 4: __ccgo_ts + 27674, - 5: __ccgo_ts + 27719, - 6: __ccgo_ts + 27777, - 7: __ccgo_ts + 27832, + 0: __ccgo_ts + 27616, + 1: __ccgo_ts + 27669, + 2: __ccgo_ts + 27714, + 3: __ccgo_ts + 27766, + 4: __ccgo_ts + 27820, + 5: __ccgo_ts + 27865, + 6: __ccgo_ts + 27923, + 7: __ccgo_ts + 27978, } // C documentation @@ -250958,7 +252617,7 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE _, _ = rc, zSql if isCreate != 0 { *(*int32)(unsafe.Pointer(bp)) = 0 - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+28355, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+28501, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb)) rc = _getIntFromStmt(tls, db, zSql, bp) if rc == SQLITE_OK { (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp)) - int32(64) @@ -250966,17 +252625,17 @@ func _getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzE (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize = int32(4) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell)*int32(RTREE_MAXCELLS) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } } else { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+28375, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+28521, libc.VaList(bp+16, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName)) rc = _getIntFromStmt(tls, db, zSql, pRtree+32) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) } else { if (*TRtree)(unsafe.Pointer(pRtree)).FiNodeSize < libc.Int32FromInt32(512)-libc.Int32FromInt32(64) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< libc.Int32FromInt32(RTREE_MAX_AUX_COLUMN)+libc.Int32FromInt32(3) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, aErrMsg[int32(2)+libc.BoolInt32(argc >= int32(6))])) return int32(SQLITE_ERROR) } Xsqlite3_vtab_config(tls, db, int32(SQLITE_VTAB_CONSTRAINT_SUPPORT), libc.VaList(bp+8, int32(1))) @@ -251053,13 +252712,13 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(uint64(nDb))) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(uint64(nName))) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(uint64(nName))) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+28618, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+28764, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28624, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28770, libc.VaList(bp+8, _rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = int32(4) for { if !(ii < argc) { @@ -251068,7 +252727,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt zArg = *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)) if int32(*(*int8)(unsafe.Pointer(zArg))) == int32('+') { (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28648, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28794, libc.VaList(bp+8, _rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1))) } else { if int32((*TRtree)(unsafe.Pointer(pRtree)).FnAux) > 0 { break @@ -251082,19 +252741,19 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28675, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28821, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) } else { if ii < argc { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, aErrMsg[int32(4)])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, aErrMsg[int32(4)])) rc = int32(SQLITE_ERROR) } else { v3 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v3 if SQLITE_OK != v3 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } } @@ -251117,7 +252776,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } } if iErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, aErrMsg[iErr])) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, aErrMsg[iErr])) goto rtreeInit_fail } (*TRtree)(unsafe.Pointer(pRtree)).FnBytesPerCell = uint8(int32(8) + int32((*TRtree)(unsafe.Pointer(pRtree)).FnDim2)*int32(4)) @@ -251128,7 +252787,7 @@ func _rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -251144,8 +252803,8 @@ rtreeInit_fail: } var _azFormat = [2]uintptr{ - 0: __ccgo_ts + 28654, - 1: __ccgo_ts + 28665, + 0: __ccgo_ts + 28800, + 1: __ccgo_ts + 28811, } // C documentation @@ -251203,21 +252862,21 @@ func _rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { } _nodeGetCell(tls, bp+40, bp, ii, bp+1008) if ii > 0 { - Xsqlite3_str_append(tls, pOut, __ccgo_ts+12511, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+12636, int32(1)) } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+28678, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+28824, libc.VaList(bp+1064, (*(*TRtreeCell)(unsafe.Pointer(bp + 1008))).FiRowid)) jj = 0 for { if !(jj < int32((*(*TRtree)(unsafe.Pointer(bp + 40))).FnDim2)) { break } - Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+28684, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, __ccgo_ts+28830, libc.VaList(bp+1064, float64(*(*TRtreeValue)(unsafe.Pointer(bp + 1008 + 8 + uintptr(jj)*4))))) goto _2 _2: ; jj++ } - Xsqlite3_str_append(tls, pOut, __ccgo_ts+28688, int32(1)) + Xsqlite3_str_append(tls, pOut, __ccgo_ts+28834, int32(1)) goto _1 _1: ; @@ -251244,7 +252903,7 @@ func _rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { _ = zBlob _ = nArg if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != int32(SQLITE_BLOB) || Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+28690, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+28836, -int32(1)) } else { zBlob = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -251362,11 +253021,11 @@ func _rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintpt (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } else { if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 { - v1 = __ccgo_ts + 5512 + v1 = __ccgo_ts + 5576 } else { - v1 = __ccgo_ts + 1658 + v1 = __ccgo_ts + 1672 } - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+28723, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, __ccgo_ts+28869, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport, v1, z)) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = int32(SQLITE_NOMEM) } @@ -251400,7 +253059,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt _, _, _ = nNode, pNode, pRet pRet = uintptr(0) /* Return value */ if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) { - (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28730, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+28876, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { Xsqlite3_bind_int64(tls, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode, int32(1), iNode) @@ -251417,7 +253076,7 @@ func _rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode Ti64, pnNode uintpt } _rtreeCheckReset(tls, pCheck, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28775, libc.VaList(bp+8, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28921, libc.VaList(bp+8, iNode)) } } return pRet @@ -251446,8 +253105,8 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i var rc int32 _, _, _, _, _, _ = azSql, ii, pStmt, rc, v1, v2 azSql = [2]uintptr{ - 0: __ccgo_ts + 28807, - 1: __ccgo_ts + 28861, + 0: __ccgo_ts + 28953, + 1: __ccgo_ts + 29007, } if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) = _rtreeCheckPrepare(tls, pCheck, azSql[bLeaf], libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) @@ -251460,21 +253119,21 @@ func _rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey Ti64, i rc = Xsqlite3_step(tls, pStmt) if rc == int32(SQLITE_DONE) { if bLeaf != 0 { - v1 = __ccgo_ts + 28909 + v1 = __ccgo_ts + 29055 } else { - v1 = __ccgo_ts + 28917 + v1 = __ccgo_ts + 29063 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28926, libc.VaList(bp+8, iKey, iVal, v1)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+29072, libc.VaList(bp+8, iKey, iVal, v1)) } else { if rc == int32(SQLITE_ROW) { ii = Xsqlite3_column_int64(tls, pStmt, 0) if ii != iVal { if bLeaf != 0 { - v2 = __ccgo_ts + 28909 + v2 = __ccgo_ts + 29055 } else { - v2 = __ccgo_ts + 28917 + v2 = __ccgo_ts + 29063 } - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+28971, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+29117, libc.VaList(bp+8, iKey, ii, v2, iKey, iVal)) } } } @@ -251519,7 +253178,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 v2 = libc.BoolInt32(*(*TRtreeValue)(unsafe.Pointer(bp)) > *(*TRtreeValue)(unsafe.Pointer(bp + 4))) } if v2 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+29029, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+29175, libc.VaList(bp+24, i, iCell, iNode)) } if pParent != 0 { _readCoord(tls, pParent+uintptr(libc.Int32FromInt32(4)*libc.Int32FromInt32(2)*i), bp+8) @@ -251537,7 +253196,7 @@ func _rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode Ti64, iCell int32 } } if v5 || v4 != 0 { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+29077, libc.VaList(bp+24, i, iCell, iNode)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+29223, libc.VaList(bp+24, i, iCell, iNode)) } } goto _1 @@ -251570,19 +253229,19 @@ func _rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintpt aNode = _rtreeCheckGetNode(tls, pCheck, iNode, bp) if aNode != 0 { if *(*int32)(unsafe.Pointer(bp)) < int32(4) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+29144, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+29290, libc.VaList(bp+16, iNode, *(*int32)(unsafe.Pointer(bp)))) } else { /* Used to iterate through cells */ if aParent == uintptr(0) { iDepth = _readInt16(tls, aNode) if iDepth > int32(RTREE_MAX_DEPTH) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+29178, libc.VaList(bp+16, iDepth)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+29324, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = _readInt16(tls, aNode+2) if int32(4)+nCell*(int32(8)+(*TRtreeCheck)(unsafe.Pointer(pCheck)).FnDim*int32(2)*int32(4)) > *(*int32)(unsafe.Pointer(bp)) { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+29208, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+29354, libc.VaList(bp+16, iNode, nCell, *(*int32)(unsafe.Pointer(bp)))) } else { i = 0 for { @@ -251627,12 +253286,12 @@ func _rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect Ti64) var pCount uintptr _, _ = nActual, pCount if (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { - pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+29263, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) + pCount = _rtreeCheckPrepare(tls, pCheck, __ccgo_ts+29409, libc.VaList(bp+8, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*TRtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl)) if pCount != 0 { if Xsqlite3_step(tls, pCount) == int32(SQLITE_ROW) { nActual = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { - _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+29294, libc.VaList(bp+8, zTbl, nExpect, nActual)) + _rtreeCheckAppendMsg(tls, pCheck, __ccgo_ts+29440, libc.VaList(bp+8, zTbl, nExpect, nActual)) } } (*TRtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -251661,7 +253320,7 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzDb = zDb (*(*TRtreeCheck)(unsafe.Pointer(bp))).FzTab = zTab /* Find the number of auxiliary columns */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+29361, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+29507, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { nAux = Xsqlite3_column_count(tls, pStmt) - int32(2) Xsqlite3_finalize(tls, pStmt) @@ -251671,11 +253330,11 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe } } /* Find number of dimensions in the rtree table. */ - pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+27175, libc.VaList(bp+96, zDb, zTab)) + pStmt = _rtreeCheckPrepare(tls, bp, __ccgo_ts+27321, libc.VaList(bp+96, zDb, zTab)) if pStmt != 0 { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim = (Xsqlite3_column_count(tls, pStmt) - int32(1) - nAux) / int32(2) if (*(*TRtreeCheck)(unsafe.Pointer(bp))).FnDim < int32(1) { - _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+29389, 0) + _rtreeCheckAppendMsg(tls, bp, __ccgo_ts+29535, 0) } else { if int32(SQLITE_ROW) == Xsqlite3_step(tls, pStmt) { (*(*TRtreeCheck)(unsafe.Pointer(bp))).FbInt = libc.BoolInt32(Xsqlite3_column_type(tls, pStmt, int32(1)) == int32(SQLITE_INTEGER)) @@ -251691,8 +253350,8 @@ func _rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRe if (*(*TRtreeCheck)(unsafe.Pointer(bp))).Frc == SQLITE_OK { _rtreeCheckNode(tls, bp, 0, uintptr(0), int64(1)) } - _rtreeCheckCount(tls, bp, __ccgo_ts+29420, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) - _rtreeCheckCount(tls, bp, __ccgo_ts+29427, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+29566, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnLeaf)) + _rtreeCheckCount(tls, bp, __ccgo_ts+29573, int64((*(*TRtreeCheck)(unsafe.Pointer(bp))).FnNonLeaf)) } /* Finalize SQL statements used by the integrity-check */ Xsqlite3_finalize(tls, (*(*TRtreeCheck)(unsafe.Pointer(bp))).FpGetNode) @@ -251719,7 +253378,7 @@ func _rtreeIntegrity(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zName uintpt _ = isQuick rc = _rtreeCheckTable(tls, (*TRtree)(unsafe.Pointer(pRtree)).Fdb, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, pzErr) if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+29435, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+29581, libc.VaList(bp+8, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(pzErr)))) if *(*uintptr)(unsafe.Pointer(pzErr)) == uintptr(0) { rc = int32(SQLITE_NOMEM) } @@ -251770,13 +253429,13 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { var _ /* zReport at bp+0 */ uintptr _, _, _, _ = rc, zDb, zTab, v1 if nArg != int32(1) && nArg != int32(2) { - Xsqlite3_result_error(tls, ctx, __ccgo_ts+29454, -int32(1)) + Xsqlite3_result_error(tls, ctx, __ccgo_ts+29600, -int32(1)) } else { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zDb = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg))) if nArg == int32(1) { zTab = zDb - zDb = __ccgo_ts + 7894 + zDb = __ccgo_ts + 7958 } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -251785,7 +253444,7 @@ func _rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { if *(*uintptr)(unsafe.Pointer(bp)) != 0 { v1 = *(*uintptr)(unsafe.Pointer(bp)) } else { - v1 = __ccgo_ts + 19787 + v1 = __ccgo_ts + 19874 } Xsqlite3_result_text(tls, ctx, v1, -int32(1), uintptr(-libc.Int32FromInt32(1))) } else { @@ -252252,19 +253911,19 @@ func _geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) if p != 0 { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) - Xsqlite3_str_append(tls, x, __ccgo_ts+26428, int32(1)) + Xsqlite3_str_append(tls, x, __ccgo_ts+26557, int32(1)) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+29505, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+29651, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+29516, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+29662, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -252293,20 +253952,20 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { db = Xsqlite3_context_db_handle(tls, context) x = Xsqlite3_str_new(tls, db) cSep = int8('\'') - Xsqlite3_str_appendf(tls, x, __ccgo_ts+29527, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+29673, 0) i = 0 for { if !(i < (*TGeoPoly)(unsafe.Pointer(p)).FnVertex) { break } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+29545, libc.VaList(bp+8, int32(int32(cSep)), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+29691, libc.VaList(bp+8, int32(int32(cSep)), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*int32(2)+int32(1))*4))))) cSep = int8(' ') goto _1 _1: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+29553, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+29699, libc.VaList(bp+8, float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2))*4))), float64(*(*TGeoCoord)(unsafe.Pointer(p + 8 + uintptr(libc.Int32FromInt32(0)*libc.Int32FromInt32(2)+libc.Int32FromInt32(1))*4))))) i = int32(1) for { if !(i < argc) { @@ -252314,14 +253973,14 @@ func _geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } z = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 { - Xsqlite3_str_appendf(tls, x, __ccgo_ts+29561, libc.VaList(bp+8, z)) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+29707, libc.VaList(bp+8, z)) } goto _2 _2: ; i++ } - Xsqlite3_str_appendf(tls, x, __ccgo_ts+29565, 0) + Xsqlite3_str_appendf(tls, x, __ccgo_ts+29711, 0) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -int32(1), __ccgo_fp(Xsqlite3_free)) Xsqlite3_free(tls, p) } @@ -253450,13 +255109,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzDb, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(uint64(nDb))) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(uint64(nName))) libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(uint64(nName))) - libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+28618, uint64(6)) + libc.Xmemcpy(tls, (*TRtree)(unsafe.Pointer(pRtree)).FzNodeName+uintptr(nName), __ccgo_ts+28764, uint64(6)) /* Create/Connect to the underlying relational database schema. If ** that is successful, call sqlite3_declare_vtab() to configure ** the r-tree table schema. */ pSql = Xsqlite3_str_new(tls, db) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+29578, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+29724, 0) (*TRtree)(unsafe.Pointer(pRtree)).FnAux = uint8(1) /* Add one for _shape */ (*TRtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = uint8(1) /* The _shape column is always not-null */ ii = int32(3) @@ -253465,13 +255124,13 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint break } (*TRtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+29600, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+29746, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto _1 _1: ; ii++ } - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28675, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+28821, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(zSql != 0) { rc = int32(SQLITE_NOMEM) @@ -253479,7 +255138,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint v2 = Xsqlite3_declare_vtab(tls, db, zSql) rc = v2 if SQLITE_OK != v2 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } Xsqlite3_free(tls, zSql) @@ -253494,7 +255153,7 @@ func _geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint } rc = _rtreeSqlInit(tls, pRtree, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), isCreate) if rc != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail } *(*uintptr)(unsafe.Pointer(ppVtab)) = pRtree @@ -253706,7 +255365,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iRowidTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(1) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 18009 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 18096 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8))).Fomit = uint8(1) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(30) @@ -253716,7 +255375,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { } if iFuncTerm >= 0 { (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 29604 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 29750 (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).FargvIndex = int32(1) (*(*Tsqlite3_index_constraint_usage)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8))).Fomit = uint8(0) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(300) @@ -253724,7 +255383,7 @@ func _geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) { return SQLITE_OK } (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(4) - (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 29610 + (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = __ccgo_ts + 29756 (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(3e+06) (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -253844,7 +255503,7 @@ func _geopolyUpdate(tls *libc.TLS, pVtab uintptr, nData int32, aData uintptr, pR _geopolyBBox(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(aData + 2*8)), bp+8+8, bp) if *(*int32)(unsafe.Pointer(bp)) != 0 { if *(*int32)(unsafe.Pointer(bp)) == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+29619, 0) + (*Tsqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+29765, 0) } goto geopoly_update_end } @@ -253947,12 +255606,12 @@ geopoly_update_end: func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) { _ = pVtab _ = nArg - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+29659) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+29805) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION) } - if Xsqlite3_stricmp(tls, zName, __ccgo_ts+29675) == 0 { + if Xsqlite3_stricmp(tls, zName, __ccgo_ts+29821) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc) *(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0) return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1) @@ -254023,7 +255682,7 @@ func _sqlite3_geopoly_init(tls *libc.TLS, db uintptr) (r int32) { i++ } if rc == SQLITE_OK { - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+29852, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+29998, uintptr(unsafe.Pointer(&_geopolyModule)), uintptr(0), uintptr(0)) } return rc } @@ -254037,61 +255696,61 @@ var _aFunc = [12]struct { 0: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 29690, + FzName: __ccgo_ts + 29836, }, 1: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 29703, + FzName: __ccgo_ts + 29849, }, 2: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 29716, + FzName: __ccgo_ts + 29862, }, 3: { FnArg: int8(-int32(1)), FbPure: uint8(1), - FzName: __ccgo_ts + 29729, + FzName: __ccgo_ts + 29875, }, 4: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 29675, + FzName: __ccgo_ts + 29821, }, 5: { FnArg: int8(3), FbPure: uint8(1), - FzName: __ccgo_ts + 29741, + FzName: __ccgo_ts + 29887, }, 6: { FnArg: int8(2), FbPure: uint8(1), - FzName: __ccgo_ts + 29659, + FzName: __ccgo_ts + 29805, }, 7: { FnArg: int8(1), - FzName: __ccgo_ts + 29764, + FzName: __ccgo_ts + 29910, }, 8: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 29778, + FzName: __ccgo_ts + 29924, }, 9: { FnArg: int8(7), FbPure: uint8(1), - FzName: __ccgo_ts + 29791, + FzName: __ccgo_ts + 29937, }, 10: { FnArg: int8(4), FbPure: uint8(1), - FzName: __ccgo_ts + 29805, + FzName: __ccgo_ts + 29951, }, 11: { FnArg: int8(1), FbPure: uint8(1), - FzName: __ccgo_ts + 29821, + FzName: __ccgo_ts + 29967, }, } @@ -254117,7 +255776,7 @@ var _aAgg = [1]struct { FzName uintptr }{ 0: { - FzName: __ccgo_ts + 29833, + FzName: __ccgo_ts + 29979, }, } @@ -254142,20 +255801,20 @@ func _sqlite3RtreeInit(tls *libc.TLS, db uintptr) (r int32) { var rc, utf8 int32 _, _, _, _ = c, c1, rc, utf8 utf8 = int32(SQLITE_UTF8) - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+29860, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+30006, int32(2), utf8, uintptr(0), __ccgo_fp(_rtreenode), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+29870, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+30016, int32(1), utf8, uintptr(0), __ccgo_fp(_rtreedepth), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+29881, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+30027, -int32(1), utf8, uintptr(0), __ccgo_fp(_rtreecheck), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { c = libc.UintptrFromInt32(RTREE_COORD_REAL32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+29604, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+29750, uintptr(unsafe.Pointer(&_rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { c1 = libc.UintptrFromInt32(RTREE_COORD_INT32) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+29892, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+30038, uintptr(unsafe.Pointer(&_rtreeModule)), c1, uintptr(0)) } if rc == SQLITE_OK { rc = _sqlite3_geopoly_init(tls, db) @@ -254257,7 +255916,7 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { Xsqlite3_result_error_nomem(tls, ctx) _rtreeMatchArgFree(tls, pBlob) } else { - Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+27161, __ccgo_fp(_rtreeMatchArgFree)) + Xsqlite3_result_pointer(tls, ctx, pBlob, __ccgo_ts+27307, __ccgo_fp(_rtreeMatchArgFree)) } } } @@ -255474,7 +257133,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt /* Figure out the size of the output */ nOut = _rbuDeltaOutputSize(tls, aDelta, nDelta) if nOut < 0 { - Xsqlite3_result_error(tls, context, __ccgo_ts+29902, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+30048, -int32(1)) return } aOut = Xsqlite3_malloc(tls, nOut+int32(1)) @@ -255484,7 +257143,7 @@ func _rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintpt nOut2 = _rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut) if nOut2 != nOut { Xsqlite3_free(tls, aOut) - Xsqlite3_result_error(tls, context, __ccgo_ts+29902, -int32(1)) + Xsqlite3_result_error(tls, context, __ccgo_ts+30048, -int32(1)) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, __ccgo_fp(Xsqlite3_free)) } @@ -255510,7 +257169,7 @@ func _prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg _ = rc rc = Xsqlite3_prepare_v2(tls, db, zSql, -int32(1), ppStmt, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -255533,7 +257192,7 @@ func _resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) (r in _ = rc rc = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) + *(*uintptr)(unsafe.Pointer(pzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -255665,7 +257324,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { /* Free any SQLite statements used while processing the previous object */ _rbuObjIterClearStatements(tls, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+29923, uintptr(0), uintptr(0), p+64) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+30069, uintptr(0), uintptr(0), p+64) } if rc == SQLITE_OK { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 { @@ -255675,6 +257334,7 @@ func _rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { if rc != int32(SQLITE_ROW) { rc = _resetAndCollectError(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, p+64) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = uintptr(0) + (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = uintptr(0) } else { (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, 0) (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl = Xsqlite3_column_text(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FpTblIter, int32(1)) @@ -255753,7 +257413,7 @@ func _rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { Xsqlite3_result_text(tls, pCtx, zIn, -int32(1), libc.UintptrFromInt32(0)) } } else { - if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+27074, zIn, uint64(4)) == 0 { + if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+27220, zIn, uint64(4)) == 0 { i = int32(4) for { if !(int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= int32('9')) { @@ -255790,13 +257450,13 @@ func _rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) (r int32) { _, _ = rc, v1 libc.Xmemset(tls, pIter, 0, uint64(192)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 30094 + v1 = __ccgo_ts + 30240 } else { - v1 = __ccgo_ts + 1658 + v1 = __ccgo_ts + 1672 } - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30135, libc.VaList(bp+8, v1))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30281, libc.VaList(bp+8, v1))) if rc == SQLITE_OK { - rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+30285) + rc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64, __ccgo_ts+30431) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = int32(1) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -255963,7 +257623,7 @@ func _rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { rc = Xsqlite3_finalize(tls, pStmt) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && rc != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } @@ -256024,7 +257684,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu *(*[4]uintptr)(unsafe.Pointer(bp)) = [4]uintptr{} *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30410, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30556, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0]) != int32(SQLITE_ROW) { /* Either an error, or no such table. */ goto rbuTableType_end @@ -256034,7 +257694,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[0], int32(1)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30529, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+1*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30675, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { goto rbuTableType_end } @@ -256042,7 +257702,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu zOrig = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(3)) zIdx = Xsqlite3_column_text(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(1)], int32(1)) if zOrig != 0 && zIdx != 0 && int32(*(*Tu8)(unsafe.Pointer(zOrig))) == int32('p') { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30550, libc.VaList(bp+40, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+2*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30696, libc.VaList(bp+40, zIdx))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)]) == int32(SQLITE_ROW) { *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(2)], 0) @@ -256054,7 +257714,7 @@ func _rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnu goto rbuTableType_end } } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30601, libc.VaList(bp+40, zTab))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+3*8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30747, libc.VaList(bp+40, zTab))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { for Xsqlite3_step(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)]) == int32(SQLITE_ROW) { if Xsqlite3_column_int(tls, (*(*[4]uintptr)(unsafe.Pointer(bp)))[int32(3)], int32(5)) > 0 { @@ -256098,7 +257758,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { bIndex = 0 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.Xmemcpy(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30622, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30768, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*TRbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -256111,7 +257771,7 @@ func _rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { if bPartial != 0 { libc.Xmemset(tls, (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, int32(0x01), uint64(1)*uint64((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)) } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30650, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30796, libc.VaList(bp+24, zIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) if iCid >= 0 { @@ -256164,7 +257824,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 _rbuTableType(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+8, pIter+108) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+21230, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+21362, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc @@ -256175,7 +257835,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 /* Populate the azTblCol[] and nTblCol variables based on the columns ** of the input table. Ignore any input table columns that begin with ** "rbu_". */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30679, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30825, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp))) _rbuAllocateIterArrays(tls, p, pIter, nCol) @@ -256186,7 +257846,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 break } zName = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp)), i) - if Xsqlite3_strnicmp(tls, __ccgo_ts+30698, zName, int32(4)) != 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+30844, zName, int32(4)) != 0 { zCopy = _rbuStrndup(tls, zName, p+56) *(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol v3 = pIter + 16 @@ -256194,7 +257854,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 *(*int32)(unsafe.Pointer(v3))++ *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(v2)*8)) = zCopy } else { - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+30703, zName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+30849, zName) { bRbuRowid = int32(1) } } @@ -256208,17 +257868,17 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && bRbuRowid != libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) if bRbuRowid != 0 { - v4 = __ccgo_ts + 30713 + v4 = __ccgo_ts + 30859 } else { - v4 = __ccgo_ts + 30726 + v4 = __ccgo_ts + 30872 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30735, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30881, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v4)) } /* Check that all non-HIDDEN columns in the destination table are also ** present in the input table. Populate the abTblPk[], azTblType[] and ** aiTblOrder[] arrays at the same time. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30764, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30910, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zName1 = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -256240,7 +257900,7 @@ func _rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) (r int32 } if i == (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30786, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+30932, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName1)) } else { iPk = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) bNotNull = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) @@ -256279,15 +257939,15 @@ func _rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) var z, zList, zSep uintptr _, _, _, _ = i, z, zList, zSep zList = uintptr(0) - zSep = __ccgo_ts + 1658 + zSep = __ccgo_ts + 1672 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } z = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+30813, libc.VaList(bp+8, zList, zSep, z)) - zSep = __ccgo_ts + 16304 + zList = _rbuMPrintf(tls, p, __ccgo_ts+30959, libc.VaList(bp+8, zList, zSep, z)) + zSep = __ccgo_ts + 16397 goto _1 _1: ; @@ -256312,7 +257972,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, _, _, _, _, _ = i, iPk, zCol, zRet, zSep iPk = int32(1) zRet = uintptr(0) - zSep = __ccgo_ts + 1658 + zSep = __ccgo_ts + 1672 for int32(1) != 0 { i = 0 for { @@ -256321,7 +257981,7 @@ func _rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, } if int32(*(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+30822, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+30968, libc.VaList(bp+8, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -256369,21 +258029,21 @@ func _rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) zRet = uintptr(0) if bRowid != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30835, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30981, libc.VaList(bp+16, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iMax = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+30867, libc.VaList(bp+16, iMax)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+31013, libc.VaList(bp+16, iMax)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1658, __ccgo_ts+16304, __ccgo_ts+30890) - zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+30896, __ccgo_ts+30903, __ccgo_ts+6415) - zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1658, __ccgo_ts+16304, __ccgo_ts+1658) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1672, __ccgo_ts+16397, __ccgo_ts+31036) + zSelect = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+31042, __ccgo_ts+31049, __ccgo_ts+6479) + zList = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1672, __ccgo_ts+16397, __ccgo_ts+1672) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30911, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31057, libc.VaList(bp+16, zSelect, zWrite, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zVal = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = _rbuMPrintf(tls, p, __ccgo_ts+30953, libc.VaList(bp+16, zList, zVal)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+31099, libc.VaList(bp+16, zList, zVal)) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) } @@ -256432,10 +258092,10 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = __ccgo_ts + 1658 + zSep = __ccgo_ts + 1672 iCol = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30650, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30796, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(4)) @@ -256457,15 +258117,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { - zCol = __ccgo_ts + 30973 + zCol = __ccgo_ts + 31119 } } else { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) } - zLhs = _rbuMPrintf(tls, p, __ccgo_ts+30981, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+31002, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) - zSelect = _rbuMPrintf(tls, p, __ccgo_ts+31038, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) - zSep = __ccgo_ts + 16304 + zLhs = _rbuMPrintf(tls, p, __ccgo_ts+31127, libc.VaList(bp+24, zLhs, zSep, zCol, zCollate)) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+31148, libc.VaList(bp+24, zOrder, zSep, iCol, zCol, zCollate)) + zSelect = _rbuMPrintf(tls, p, __ccgo_ts+31184, libc.VaList(bp+24, zSelect, zSep, iCol, zCol)) + zSep = __ccgo_ts + 16397 iCol++ } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) @@ -256474,9 +258134,9 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31065, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31211, libc.VaList(bp+24, zSelect, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { - zSep = __ccgo_ts + 1658 + zSep = __ccgo_ts + 1672 iCol = 0 for { if !(iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -256491,15 +258151,15 @@ func _rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { break } } - zVector = _rbuMPrintf(tls, p, __ccgo_ts+31113, libc.VaList(bp+24, zVector, zSep, zQuoted)) - zSep = __ccgo_ts + 16304 + zVector = _rbuMPrintf(tls, p, __ccgo_ts+31259, libc.VaList(bp+24, zVector, zSep, zQuoted)) + zSep = __ccgo_ts + 16397 goto _2 _2: ; iCol++ } if !(bFailed != 0) { - zRet = _rbuMPrintf(tls, p, __ccgo_ts+31120, libc.VaList(bp+24, zLhs, zVector)) + zRet = _rbuMPrintf(tls, p, __ccgo_ts+31266, libc.VaList(bp+24, zLhs, zVector)) } } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -256553,11 +258213,11 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zImpPK = uintptr(0) /* String to return via *pzImposterPK */ zWhere = uintptr(0) /* String to return via *pzWhere */ nBind = 0 /* Value to return via *pnBind */ - zCom = __ccgo_ts + 1658 /* Set to ", " later on */ - zAnd = __ccgo_ts + 1658 /* Set to " AND " later on */ + zCom = __ccgo_ts + 1672 /* Set to ", " later on */ + zAnd = __ccgo_ts + 1672 /* Set to " AND " later on */ *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_xinfo = ? */ if rc == SQLITE_OK { - rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30650, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) + rc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30796, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -256566,8 +258226,8 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = uintptr(0) if iCid == -int32(2) { iSeq = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+31132, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) - zType = __ccgo_ts + 1658 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+31278, libc.VaList(bp+16, zRet, zCom, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FnSpan, (*(*TRbuSpan)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol + uintptr(iSeq)*16))).FzSpan, zCollate)) + zType = __ccgo_ts + 1672 } else { if iCid < 0 { /* An integer primary key. If the table has an explicit IPK, use @@ -256586,9 +258246,9 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) } else { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - zCol = __ccgo_ts + 30973 + zCol = __ccgo_ts + 31119 } else { - zCol = __ccgo_ts + 30703 + zCol = __ccgo_ts + 30849 } } zType = __ccgo_ts + 1146 @@ -256596,24 +258256,24 @@ func _rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposter zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) zType = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)) } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+31154, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+31300, libc.VaList(bp+16, zRet, zCom, zCol, zCollate)) } if (*TRbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(5)) != 0 { if bDesc != 0 { - v2 = __ccgo_ts + 30890 + v2 = __ccgo_ts + 31036 } else { - v2 = __ccgo_ts + 1658 + v2 = __ccgo_ts + 1672 } zOrder = v2 - zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+31174, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) + zImpPK = Xsqlite3_mprintf(tls, __ccgo_ts+31320, libc.VaList(bp+16, zImpPK, zCom, nBind, zCol, zOrder)) } - zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+31195, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) - zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+31228, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) + zImpCols = Xsqlite3_mprintf(tls, __ccgo_ts+31341, libc.VaList(bp+16, zImpCols, zCom, nBind, zCol, zType, zCollate)) + zWhere = Xsqlite3_mprintf(tls, __ccgo_ts+31374, libc.VaList(bp+16, zWhere, zAnd, nBind, zCol)) if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) { rc = int32(SQLITE_NOMEM) } - zCom = __ccgo_ts + 16304 - zAnd = __ccgo_ts + 23339 + zCom = __ccgo_ts + 16397 + zAnd = __ccgo_ts + 23484 nBind++ } rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp))) @@ -256659,7 +258319,7 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr _, _, _, _ = i, zCol, zList, zS zList = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zS = __ccgo_ts + 1658 + zS = __ccgo_ts + 1672 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -256667,11 +258327,11 @@ func _rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = Xsqlite3_mprintf(tls, __ccgo_ts+31252, libc.VaList(bp+8, zList, zS, zObj, zCol)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+31398, libc.VaList(bp+8, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, __ccgo_ts+31264, libc.VaList(bp+8, zList, zS)) + zList = Xsqlite3_mprintf(tls, __ccgo_ts+31410, libc.VaList(bp+8, zList, zS)) } - zS = __ccgo_ts + 16304 + zS = __ccgo_ts + 16397 if zList == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) break @@ -256683,7 +258343,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 (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+31273, libc.VaList(bp+8, zList, zObj)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+31419, libc.VaList(bp+8, zList, zObj)) } } return zList @@ -256709,27 +258369,27 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _ = i, i1, zCol, zList, zSep, zSep1 zList = uintptr(0) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zList = _rbuMPrintf(tls, p, __ccgo_ts+31288, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) + zList = _rbuMPrintf(tls, p, __ccgo_ts+31434, libc.VaList(bp+8, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1))) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - zSep = __ccgo_ts + 1658 + zSep = __ccgo_ts + 1672 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = _rbuMPrintf(tls, p, __ccgo_ts+31302, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) - zSep = __ccgo_ts + 23339 + zList = _rbuMPrintf(tls, p, __ccgo_ts+31448, libc.VaList(bp+8, zList, zSep, i, i+int32(1))) + zSep = __ccgo_ts + 23484 } goto _1 _1: ; i++ } - zList = _rbuMPrintf(tls, p, __ccgo_ts+31314, libc.VaList(bp+8, zList)) + zList = _rbuMPrintf(tls, p, __ccgo_ts+31460, libc.VaList(bp+8, zList)) } else { - zSep1 = __ccgo_ts + 1658 + zSep1 = __ccgo_ts + 1672 i1 = 0 for { if !(i1 < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -256737,8 +258397,8 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i1))) != 0 { zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i1)*8)) - zList = _rbuMPrintf(tls, p, __ccgo_ts+31364, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) - zSep1 = __ccgo_ts + 23339 + zList = _rbuMPrintf(tls, p, __ccgo_ts+31510, libc.VaList(bp+8, zList, zSep1, zCol, i1+int32(1))) + zSep1 = __ccgo_ts + 23484 } goto _2 _2: @@ -256761,7 +258421,7 @@ func _rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { // */ func _rbuBadControlError(tls *libc.TLS, p uintptr) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31377, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+31523, 0) } // C documentation @@ -256795,7 +258455,7 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt if int32(libc.Xstrlen(tls, zMask)) != (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { _rbuBadControlError(tls, p) } else { - zSep = __ccgo_ts + 1658 + zSep = __ccgo_ts + 1672 i = 0 for { if !(i < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { @@ -256803,16 +258463,16 @@ func _rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintpt } c = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4))))) if int32(int32(c)) == int32('x') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+31364, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 16304 + zList = _rbuMPrintf(tls, p, __ccgo_ts+31510, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 16397 } else { if int32(int32(c)) == int32('d') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+31403, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 16304 + zList = _rbuMPrintf(tls, p, __ccgo_ts+31549, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 16397 } else { if int32(int32(c)) == int32('f') { - zList = _rbuMPrintf(tls, p, __ccgo_ts+31433, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) - zSep = __ccgo_ts + 16304 + zList = _rbuMPrintf(tls, p, __ccgo_ts+31579, libc.VaList(bp+8, zList, zSep, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+int32(1))) + zSep = __ccgo_ts + 16397 } } } @@ -256896,16 +258556,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { _, _, _, _, _, _, _ = z, zCol, zDesc, zIdx, zOrig, zSep, v1 z = uintptr(0) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zSep = __ccgo_ts + 31470 + zSep = __ccgo_ts + 31616 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* PRAGMA index_list = (pIter->zTbl) */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA index_xinfo = */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30622, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30768, libc.VaList(bp+24, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(3)) - if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+17897) == 0 { + if zOrig != 0 && libc.Xstrcmp(tls, zOrig, __ccgo_ts+17984) == 0 { zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30650, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30796, libc.VaList(bp+24, zIdx))) } break } @@ -256916,16 +258576,16 @@ func _rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) (r uintptr) { /* int iCid = sqlite3_column_int(pXInfo, 0); */ zCol = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(2)) if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) != 0 { - v1 = __ccgo_ts + 30890 + v1 = __ccgo_ts + 31036 } else { - v1 = __ccgo_ts + 1658 + v1 = __ccgo_ts + 1672 } zDesc = v1 - z = _rbuMPrintf(tls, p, __ccgo_ts+31483, libc.VaList(bp+24, z, zSep, zCol, zDesc)) - zSep = __ccgo_ts + 16304 + z = _rbuMPrintf(tls, p, __ccgo_ts+31629, libc.VaList(bp+24, z, zSep, zCol, zDesc)) + zSep = __ccgo_ts + 16397 } } - z = _rbuMPrintf(tls, p, __ccgo_ts+31494, libc.VaList(bp+24, z)) + z = _rbuMPrintf(tls, p, __ccgo_ts+31640, libc.VaList(bp+24, z)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) } return z @@ -256965,13 +258625,13 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* SELECT name ... WHERE rootpage = $tnum */ zIdx = uintptr(0) /* Name of PK index */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* PRAGMA main.index_xinfo = $zIdx */ - zComma = __ccgo_ts + 1658 + zComma = __ccgo_ts + 1672 zCols = uintptr(0) /* Used to build up list of table cols */ zPk = uintptr(0) /* Used to build up table PK declaration */ /* 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. */ - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+31498) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+31644) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), tnum) if int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { @@ -256979,7 +258639,7 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { } } if zIdx != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30650, libc.VaList(bp+24, zIdx))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+30796, libc.VaList(bp+24, zIdx))) } _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp))) for (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) { @@ -256988,21 +258648,21 @@ func _rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(1)) bDesc = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(3)) zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(4)) - zCols = _rbuMPrintf(tls, p, __ccgo_ts+31548, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+31694, libc.VaList(bp+24, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) if bDesc != 0 { - v1 = __ccgo_ts + 30890 + v1 = __ccgo_ts + 31036 } else { - v1 = __ccgo_ts + 1658 + v1 = __ccgo_ts + 1672 } - zPk = _rbuMPrintf(tls, p, __ccgo_ts+31570, libc.VaList(bp+24, zPk, zComma, iCid, v1)) - zComma = __ccgo_ts + 16304 + zPk = _rbuMPrintf(tls, p, __ccgo_ts+31716, libc.VaList(bp+24, zPk, zComma, iCid, v1)) + zComma = __ccgo_ts + 16397 } } - zCols = _rbuMPrintf(tls, p, __ccgo_ts+31580, libc.VaList(bp+24, zCols)) + zCols = _rbuMPrintf(tls, p, __ccgo_ts+31726, libc.VaList(bp+24, zCols)) _rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7894, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31595, libc.VaList(bp+24, zCols, zPk)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7894, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7958, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31741, libc.VaList(bp+24, zCols, zPk)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+24, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7958, 0, 0)) } } @@ -257037,30 +258697,30 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { _, _, _, _, _, _, _, _, _ = iCol, tnum, zCol, zComma, zPk, zPk1, zSql, v2, v3 if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { tnum = (*TRbuObjIter)(unsafe.Pointer(pIter)).FiTnum - zComma = __ccgo_ts + 1658 + zComma = __ccgo_ts + 1672 zSql = uintptr(0) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7894, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7958, 0, int32(1))) iCol = 0 for { if !((*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && iCol < (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol) { break } - zPk = __ccgo_ts + 1658 + zPk = __ccgo_ts + 1672 zCol = *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7894, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7958, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp, uintptr(0), uintptr(0), uintptr(0)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_IPK) && *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 { /* If the target table column is an "INTEGER PRIMARY KEY", add ** "PRIMARY KEY" to the imposter table column declaration. */ - zPk = __ccgo_ts + 31657 + zPk = __ccgo_ts + 31803 } if *(*Tu8)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { - v2 = __ccgo_ts + 31670 + v2 = __ccgo_ts + 31816 } else { - v2 = __ccgo_ts + 1658 + v2 = __ccgo_ts + 1672 } - zSql = _rbuMPrintf(tls, p, __ccgo_ts+31680, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) - zComma = __ccgo_ts + 16304 + zSql = _rbuMPrintf(tls, p, __ccgo_ts+31826, libc.VaList(bp+16, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*TRbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp)), v2)) + zComma = __ccgo_ts + 16397 goto _1 _1: ; @@ -257069,17 +258729,17 @@ func _rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { zPk1 = _rbuWithoutRowidPK(tls, p, pIter) if zPk1 != 0 { - zSql = _rbuMPrintf(tls, p, __ccgo_ts+31707, libc.VaList(bp+16, zSql, zPk1)) + zSql = _rbuMPrintf(tls, p, __ccgo_ts+31853, libc.VaList(bp+16, zSql, zPk1)) } } - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7894, int32(1), tnum)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7958, int32(1), tnum)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_WITHOUT_ROWID) { - v3 = __ccgo_ts + 31714 + v3 = __ccgo_ts + 31860 } else { - v3 = __ccgo_ts + 1658 + v3 = __ccgo_ts + 1672 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31729, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7894, 0, 0)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31875, libc.VaList(bp+16, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, v3)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+16, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7958, 0, 0)) } } @@ -257105,7 +258765,7 @@ func _rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zColli bRbuRowid = libc.BoolInt32((*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE)) zBind = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+int32(1)+bRbuRowid) if zBind != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31761, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31907, libc.VaList(bp+8, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -257151,7 +258811,7 @@ func _rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) (r uintpt *(*int32)(unsafe.Pointer(bp + 8)) = (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc zRet = uintptr(0) if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+31818) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64, __ccgo_ts+31964) } if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1), (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx, -int32(1), libc.UintptrFromInt32(0)) @@ -257320,7 +258980,7 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zIdx = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzIdx zLimit = uintptr(0) if nOffset != 0 { - zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+31884, libc.VaList(bp+40, nOffset)) + zLimit = Xsqlite3_mprintf(tls, __ccgo_ts+32030, libc.VaList(bp+40, nOffset)) if !(zLimit != 0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) } @@ -257337,18 +258997,18 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zCollist = _rbuObjIterGetIndexCols(tls, p, pIter, bp, bp+8, bp+16, bp+24) zBind = _rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 24))) /* Create the imposter table used to write to this index. */ - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7894, 0, int32(1))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7894, int32(1), tnum)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+31904, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) - Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7894, 0, 0)) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7958, 0, int32(1))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7958, int32(1), tnum)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32050, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))) + Xsqlite3_test_control(tls, int32(SQLITE_TESTCTRL_IMPOSTER), libc.VaList(bp+40, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7958, 0, 0)) /* Create the statement to insert index entries */ (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 24)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+31969, libc.VaList(bp+40, zTbl, zBind))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+32115, libc.VaList(bp+40, zTbl, zBind))) } /* And to delete index entries */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+32005, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+32151, libc.VaList(bp+40, zTbl, *(*uintptr)(unsafe.Pointer(bp + 16))))) } /* Create the SELECT statement to read keys in sorted order */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -257363,26 +259023,26 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } if zStart != 0 { if zPart != 0 { - v2 = __ccgo_ts + 32039 + v2 = __ccgo_ts + 32185 } else { - v2 = __ccgo_ts + 32043 + v2 = __ccgo_ts + 32189 } v1 = v2 } else { - v1 = __ccgo_ts + 1658 + v1 = __ccgo_ts + 1672 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+32049, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+32195, libc.VaList(bp+40, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v1, zStart, zCollist, zLimit)) Xsqlite3_free(tls, zStart) } else { if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+32110, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+32256, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { if zPart != 0 { - v3 = __ccgo_ts + 32039 + v3 = __ccgo_ts + 32185 } else { - v3 = __ccgo_ts + 32043 + v3 = __ccgo_ts + 32189 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+32171, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+32317, libc.VaList(bp+40, zCollist, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, v3, zCollist, zLimit)) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -257401,62 +259061,62 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 zTbl1 = (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl /* Imposter table name */ zBindings = _rbuObjIterGetBindlist(tls, p, (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+bRbuRowid) zWhere1 = _rbuObjIterGetWhere(tls, p, pIter) - zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+7905) - zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+7901) + zOldlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+7969) + zNewlist = _rbuObjIterGetOldlist(tls, p, pIter, __ccgo_ts+7965) zCollist = _rbuObjIterGetCollist(tls, p, pIter) (*TRbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*TRbuObjIter)(unsafe.Pointer(pIter)).FnTblCol /* Create the imposter table or tables (if required). */ _rbuCreateImposterTable(tls, p, pIter) _rbuCreateImposterTable2(tls, p, pIter) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_VTAB) { - v4 = __ccgo_ts + 1658 + v4 = __ccgo_ts + 1672 } else { - v4 = __ccgo_ts + 32330 + v4 = __ccgo_ts + 32476 } zWrite = v4 /* Create the INSERT statement to write to the target PK b-tree */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if bRbuRowid != 0 { - v5 = __ccgo_ts + 32339 + v5 = __ccgo_ts + 32485 } else { - v5 = __ccgo_ts + 1658 + v5 = __ccgo_ts + 1672 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+32349, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz, Xsqlite3_mprintf(tls, __ccgo_ts+32495, libc.VaList(bp+40, zWrite, zTbl1, zCollist, v5, zBindings))) } /* Create the DELETE statement to write to the target PK b-tree. ** Because it only performs INSERT operations, this is not required for ** an rbu vacuum handle. */ if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+32385, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz, Xsqlite3_mprintf(tls, __ccgo_ts+32531, libc.VaList(bp+40, zWrite, zTbl1, zWhere1))) } if libc.BoolInt32((*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*TRbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 { - zRbuRowid = __ccgo_ts + 1658 + zRbuRowid = __ccgo_ts + 1672 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - zRbuRowid = __ccgo_ts + 32413 + zRbuRowid = __ccgo_ts + 32559 } /* Create the rbu_tmp_xxx table and the triggers to populate it. */ if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) { - v6 = __ccgo_ts + 32425 + v6 = __ccgo_ts + 32571 } else { - v6 = __ccgo_ts + 1658 + v6 = __ccgo_ts + 1672 } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32442, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32518, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+32588, libc.VaList(bp+40, p+48, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v6, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32664, libc.VaList(bp+40, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zOldlist, zWrite, zTbl1, zNewlist)) if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_EXTERNAL) || (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType == int32(RBU_PK_NONE) { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32817, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+32963, libc.VaList(bp+40, zWrite, zTbl1, zNewlist)) } _rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) } /* Create the SELECT statement to read keys from data_xxx */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - zRbuRowid1 = __ccgo_ts + 1658 + zRbuRowid1 = __ccgo_ts + 1672 zStart1 = uintptr(0) zOrder = uintptr(0) if bRbuRowid != 0 { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v7 = __ccgo_ts + 32916 + v7 = __ccgo_ts + 33062 } else { - v7 = __ccgo_ts + 32926 + v7 = __ccgo_ts + 33072 } zRbuRowid1 = v7 } @@ -257469,28 +259129,28 @@ func _rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int3 } } if bRbuRowid != 0 { - zOrder = _rbuMPrintf(tls, p, __ccgo_ts+30973, 0) + zOrder = _rbuMPrintf(tls, p, __ccgo_ts+31119, 0) } else { - zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1658, __ccgo_ts+16304, __ccgo_ts+1658) + zOrder = _rbuObjIterGetPkList(tls, p, pIter, __ccgo_ts+1672, __ccgo_ts+16397, __ccgo_ts+1672) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v8 = __ccgo_ts + 32937 + v8 = __ccgo_ts + 33083 } else { - v8 = __ccgo_ts + 1658 + v8 = __ccgo_ts + 1672 } if zStart1 != 0 { v9 = zStart1 } else { - v9 = __ccgo_ts + 1658 + v9 = __ccgo_ts + 1672 } if zOrder != 0 { - v10 = __ccgo_ts + 24533 + v10 = __ccgo_ts + 24678 } else { - v10 = __ccgo_ts + 1658 + v10 = __ccgo_ts + 1672 } - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+32943, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz, Xsqlite3_mprintf(tls, __ccgo_ts+33089, libc.VaList(bp+40, zCollist, v8, zRbuRowid1, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, v9, v10, zOrder, zLimit))) } Xsqlite3_free(tls, zStart1) Xsqlite3_free(tls, zOrder) @@ -257576,11 +259236,11 @@ func _rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, p (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpNext = (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate (*TRbuObjIter)(unsafe.Pointer(pIter)).FpRbuUpdate = pUp if zSet != 0 { - zPrefix = __ccgo_ts + 1658 + zPrefix = __ccgo_ts + 1672 if (*TRbuObjIter)(unsafe.Pointer(pIter)).FeType != int32(RBU_PK_VTAB) { - zPrefix = __ccgo_ts + 32330 + zPrefix = __ccgo_ts + 32476 } - zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+32991, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) + zUpdate = Xsqlite3_mprintf(tls, __ccgo_ts+33137, libc.VaList(bp+8, zPrefix, (*TRbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere)) (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate) *(*uintptr)(unsafe.Pointer(ppStmt)) = (*TRbuUpdateStmt)(unsafe.Pointer(pUp)).FpUpdate } @@ -257607,7 +259267,7 @@ func _rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) (r } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp, flags, v1) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+16, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp))) *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) } @@ -257654,7 +259314,7 @@ func _rbuLoadState(tls *libc.TLS, p uintptr) (r uintptr) { if pRet == uintptr(0) { return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+33021, libc.VaList(bp+24, p+48))) + *(*int32)(unsafe.Pointer(bp + 8)) = _prepareFreeAndCollectError(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64, Xsqlite3_mprintf(tls, __ccgo_ts+33167, libc.VaList(bp+24, p+48))) for *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) { case int32(RBU_STATE_STAGE): @@ -257713,27 +259373,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu = _rbuOpenDbhandle(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, int32(1)) (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain = dbMain if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+7894, int32(SQLITE_FCNTL_RBUCNT), p) + Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+7958, int32(SQLITE_FCNTL_RBUCNT), p) if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) { - zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+7894) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+33051, libc.VaList(bp+8, zFile, zFile)) + zFile = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+7958) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState = _rbuMPrintf(tls, p, __ccgo_ts+33197, libc.VaList(bp+8, zFile, zFile)) } } /* If using separate RBU and state databases, attach the state database to ** the RBU db handle now. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33079, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48, __ccgo_ts+15162, uint64(4)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33225, libc.VaList(bp+8, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+15255, uint64(4)) } else { - libc.Xmemcpy(tls, p+48, __ccgo_ts+7894, uint64(4)) + libc.Xmemcpy(tls, p+48, __ccgo_ts+7958, uint64(4)) } /* If it has not already been created, create the rbu_state table */ - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33097, libc.VaList(bp+8, p+48)) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33243, libc.VaList(bp+8, p+48)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { bOpen = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FnRbu = 0 (*Tsqlite3rbu)(unsafe.Pointer(p)).FpRbuFd = uintptr(0) - rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+7894, int32(SQLITE_FCNTL_RBUCNT), p) + rc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+7958, int32(SQLITE_FCNTL_RBUCNT), p) if rc != int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -257766,10 +259426,10 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) return } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33163, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33309, 0) } else { zExtra = uintptr(0) - if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+25922, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { + if libc.Xstrlen(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+26045, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) { zExtra = (*Tsqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5 for *(*int8)(unsafe.Pointer(zExtra)) != 0 { v1 = zExtra @@ -257783,16 +259443,16 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if zExtra == uintptr(0) { - v2 = __ccgo_ts + 1658 + v2 = __ccgo_ts + 1672 } else { - v2 = __ccgo_ts + 33195 + v2 = __ccgo_ts + 33341 } if zExtra == uintptr(0) { - v3 = __ccgo_ts + 1658 + v3 = __ccgo_ts + 1672 } else { v3 = zExtra } - zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+33197, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+7894), v2, v3)) + zTarget = Xsqlite3_mprintf(tls, __ccgo_ts+33343, libc.VaList(bp+8, Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+7958), v2, v3)) if zTarget == uintptr(0) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_NOMEM) return @@ -257803,27 +259463,27 @@ func _rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr) } } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33229, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33375, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTmpInsertFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33244, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33390, int32(2), int32(SQLITE_UTF8), uintptr(0), __ccgo_fp(_rbuFossilDeltaFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33261, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+33407, -int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_rbuTargetNameFunc), uintptr(0), uintptr(0)) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7894, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7958, int32(SQLITE_FCNTL_RBU), p) } - _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33277, 0) + _rbuMPrintfExec(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+33423, 0) /* Mark the database file just opened as an RBU target database. If ** this call returns SQLITE_NOTFOUND, then the RBU vfs is not in use. ** This is an error. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7894, int32(SQLITE_FCNTL_RBU), p) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+7958, int32(SQLITE_FCNTL_RBU), p) } if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33305, 0) + (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+33451, 0) } } @@ -257873,7 +259533,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) { pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = int64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))<= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+34305, zState+uintptr(n-int32(7)), uint64(7)) { + if n >= int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+34451, zState+uintptr(n-int32(7)), uint64(7)) { return _rbuMisuseError(tls) } } @@ -259093,7 +260753,7 @@ func _rbuEditErrmsg(tls *libc.TLS, p uintptr) { if !(uint64(uint64(i)) < nErrmsg-uint64(8)) { break } - if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+32330, uint64(8)) == 0 { + if libc.Xmemcmp(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), __ccgo_ts+32476, uint64(8)) == 0 { nDel = int32(8) for int32(*(*int8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(uint32(nDel)))))) >= int32('0') && int32(*(*int8)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(uint32(nDel)))))) <= int32('9') { nDel++ @@ -259121,7 +260781,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { if p != 0 { /* Commit the transaction to the *-oal file. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+16208, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+16301, uintptr(0), uintptr(0), p+64) } /* Sync the db file if currently doing an incremental checkpoint */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) { @@ -259130,7 +260790,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { } _rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { - (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+16208, uintptr(0), uintptr(0), p+64) + (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+16301, uintptr(0), uintptr(0), p+64) } /* Close any open statement handles. */ _rbuObjIterFinalize(tls, p+80) @@ -259140,7 +260800,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) { ** specifying the current target and state databases to start a new ** vacuum from scratch. */ if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 { - rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+34313, uintptr(0), uintptr(0), uintptr(0)) + rc2 = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+34459, uintptr(0), uintptr(0), uintptr(0)) if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == int32(SQLITE_DONE) && rc2 != SQLITE_OK { (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -259241,7 +260901,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { } if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+16208, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+16301, uintptr(0), uintptr(0), uintptr(0)) } } /* Sync the db file */ @@ -259254,19 +260914,19 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) { rc = (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc if (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+16208, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, __ccgo_ts+16301, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { if (*Tsqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) { - v1 = __ccgo_ts + 16193 + v1 = __ccgo_ts + 16286 } else { - v1 = __ccgo_ts + 34265 + v1 = __ccgo_ts + 34411 } zBegin = v1 rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+34265, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, (*Tsqlite3rbu)(unsafe.Pointer(p)).FdbMain, __ccgo_ts+34411, uintptr(0), uintptr(0), uintptr(0)) } } (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -259832,7 +261492,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xControl})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, int32(SQLITE_FCNTL_ZIPVFS), bp) if rc == SQLITE_OK { rc = int32(SQLITE_ERROR) - (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+34340, 0) + (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, __ccgo_ts+34486, 0) } else { if rc == int32(SQLITE_NOTFOUND) { (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p @@ -259858,7 +261518,7 @@ func _rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r if rc == SQLITE_OK && op == int32(SQLITE_FCNTL_VFSNAME) { pRbuVfs = (*Trbu_file)(unsafe.Pointer(p)).FpRbuVfs zIn = *(*uintptr)(unsafe.Pointer(pArg)) - zOut = Xsqlite3_mprintf(tls, __ccgo_ts+34363, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) + zOut = Xsqlite3_mprintf(tls, __ccgo_ts+34509, libc.VaList(bp+16, (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn)) *(*uintptr)(unsafe.Pointer(pArg)) = zOut if zOut == uintptr(0) { rc = int32(SQLITE_NOMEM) @@ -260053,7 +261713,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag if pDb != 0 { if (*Trbu_file)(unsafe.Pointer(pDb)).FpRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FeStage == int32(RBU_STAGE_OAL) { if (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FzTarget == uintptr(0) { - zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+7894) + zOpen = Xsqlite3_db_filename(tls, (*Tsqlite3rbu)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(pDb)).FpRbu)).FdbRbu, __ccgo_ts+7958) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -260067,7 +261727,7 @@ func _rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flag } else { (*Trbu_file)(unsafe.Pointer(pFd)).FpRbu = (*Trbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRbu } - if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+34374, 0) != 0 { + if oflags&int32(SQLITE_OPEN_MAIN_DB) != 0 && Xsqlite3_uri_boolean(tls, zName, __ccgo_ts+34520, 0) != 0 { oflags = libc.Int32FromInt32(SQLITE_OPEN_TEMP_DB) | libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_CREATE) | libc.Int32FromInt32(SQLITE_OPEN_EXCLUSIVE) | libc.Int32FromInt32(SQLITE_OPEN_DELETEONCLOSE) zOpen = uintptr(0) } @@ -260620,7 +262280,7 @@ func _statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint _sqlite3TokenInit(tls, bp, *(*uintptr)(unsafe.Pointer(argv + 3*8))) iDb = _sqlite3FindDb(tls, db, bp) if iDb < 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+13500, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+13625, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return int32(SQLITE_ERROR) } } else { @@ -261119,7 +262779,7 @@ statNextRestart: (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiPgno = iRoot (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v1 = Xsqlite3_mprintf(tls, __ccgo_ts+34385, 0) + v1 = Xsqlite3_mprintf(tls, __ccgo_ts+34531, 0) z = v1 (*(*TStatPage)(unsafe.Pointer(pCsr + 24))).FzPath = v1 if z == uintptr(0) { @@ -261157,8 +262817,8 @@ statNextRestart: if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { (*TStatCursor)(unsafe.Pointer(pCsr)).FzName = Xsqlite3_column_text(tls, (*TStatCursor)(unsafe.Pointer(pCsr)).FpStmt, 0) (*TStatCursor)(unsafe.Pointer(pCsr)).FiPageno = *(*Tu32)(unsafe.Pointer((*TStatCell)(unsafe.Pointer(pCell)).FaOvfl + uintptr(iOvfl)*4)) - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 34387 - v2 = Xsqlite3_mprintf(tls, __ccgo_ts+34396, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 34533 + v2 = Xsqlite3_mprintf(tls, __ccgo_ts+34542, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell, iOvfl)) z = v2 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v2 if z == uintptr(0) { @@ -261187,7 +262847,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage++ if (*TStatCursor)(unsafe.Pointer(pCsr)).FiPage >= int32(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) { _statResetCsr(tls, pCsr) - return _sqlite3CorruptError(tls, int32(222551)) + return _sqlite3CorruptError(tls, int32(224206)) } if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell { (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiPgno = (*TStatPage)(unsafe.Pointer(p)).FiRightChildPg @@ -261198,7 +262858,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnPage++ (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiCell = 0 if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v4 = Xsqlite3_mprintf(tls, __ccgo_ts+34408, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) + v4 = Xsqlite3_mprintf(tls, __ccgo_ts+34554, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p)).FzPath, (*TStatPage)(unsafe.Pointer(p)).FiCell)) z = v4 (*(*TStatPage)(unsafe.Pointer(p + 1*64))).FzPath = v4 if z == uintptr(0) { @@ -261221,13 +262881,13 @@ statNextRestart: case int32(0x05): /* table internal */ fallthrough case int32(0x02): /* index internal */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 34416 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 34562 case int32(0x0D): /* table leaf */ fallthrough case int32(0x0A): /* index leaf */ - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 34425 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 34571 default: - (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 34430 + (*TStatCursor)(unsafe.Pointer(pCsr)).FzPagetype = __ccgo_ts + 34576 break } *(*int32)(unsafe.Pointer(pCsr + 2108)) += (*TStatPage)(unsafe.Pointer(p1)).FnCell @@ -261236,7 +262896,7 @@ statNextRestart: (*TStatCursor)(unsafe.Pointer(pCsr)).FnMxPayload = (*TStatPage)(unsafe.Pointer(p1)).FnMxPayload } if !((*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg != 0) { - v5 = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) + v5 = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+16, (*TStatPage)(unsafe.Pointer(p1)).FzPath)) z = v5 (*TStatCursor)(unsafe.Pointer(pCsr)).FzPath = v5 if z == uintptr(0) { @@ -261325,12 +262985,12 @@ func _statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, a (*TStatCursor)(unsafe.Pointer(pCsr)).FisAgg = uint8(0) } pSql = Xsqlite3_str_new(tls, (*TStatTable)(unsafe.Pointer(pTab)).Fdb) - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+34440, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+34586, libc.VaList(bp+8, (*(*TDb)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer((*TStatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb + uintptr((*TStatCursor)(unsafe.Pointer(pCsr)).FiDb)*32))).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+34595, libc.VaList(bp+8, zName)) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+34741, libc.VaList(bp+8, zName)) } if idxNum&int32(0x08) != 0 { - Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+34609, 0) + Xsqlite3_str_appendf(tls, pSql, __ccgo_ts+34755, 0) } zSql = Xsqlite3_str_finish(tls, pSql) if zSql == uintptr(0) { @@ -261407,7 +263067,7 @@ func _statRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) (r int32) { // ** Invoke this routine to register the "dbstat" virtual table module // */ func _sqlite3DbstatRegister(tls *libc.TLS, db uintptr) (r int32) { - return Xsqlite3_create_module(tls, db, __ccgo_ts+34624, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) + return Xsqlite3_create_module(tls, db, __ccgo_ts+34770, uintptr(unsafe.Pointer(&_dbstat_module)), uintptr(0)) } var _dbstat_module = Tsqlite3_module{} @@ -262678,20 +264338,20 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, *(*uintptr)(unsafe.Pointer(pazDflt)) = uintptr(0) } nThis = _sqlite3Strlen30(tls, zThis) - if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+12891, zThis) { + if nThis == int32(12) && 0 == Xsqlite3_stricmp(tls, __ccgo_ts+13016, zThis) { rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { /* For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. */ - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+34631, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+34777, 0) } else { if rc == int32(SQLITE_ERROR) { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1658, 0) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+1672, 0) } else { return rc } } } else { - zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+34752, libc.VaList(bp+16, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, __ccgo_ts+34898, libc.VaList(bp+16, zDb, zThis)) } if !(zPragma != 0) { return int32(SQLITE_NOMEM) @@ -262715,7 +264375,7 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, bRowid = 0 } nDbCol += bRowid - nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+30973)) + nByte = Tsqlite3_int64(uint64(nByte) + libc.Xstrlen(tls, __ccgo_ts+31119)) rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp))) if rc == SQLITE_OK { nByte = Tsqlite3_int64(uint64(nByte) + uint64(uint64(nDbCol))*(libc.Uint64FromInt64(8)*libc.Uint64FromInt32(2)+libc.Uint64FromInt64(1)+libc.Uint64FromInt32(1)+libc.Uint64FromInt32(1))) @@ -262739,8 +264399,8 @@ func _sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 if bRowid != 0 { - nName = libc.Xstrlen(tls, __ccgo_ts+30973) - libc.Xmemcpy(tls, pAlloc, __ccgo_ts+30973, nName+uint64(1)) + nName = libc.Xstrlen(tls, __ccgo_ts+31119) + libc.Xmemcpy(tls, pAlloc, __ccgo_ts+31119, nName+uint64(1)) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc pAlloc += uintptr(nName + uint64(1)) *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) = uint8(1) @@ -262832,7 +264492,7 @@ func _sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr, db uintptr ; i++ } - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+12891, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+13016, (*TSessionTable)(unsafe.Pointer(pTab)).FzName) { (*TSessionTable)(unsafe.Pointer(pTab)).FbStat1 = int32(1) } if pSession != 0 && (*Tsqlite3_session)(unsafe.Pointer(pSession)).FbEnableSize != 0 { @@ -263121,10 +264781,10 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin _, _, _, _ = ii, zDflt, zSep, v2 *(*TSessionBuffer)(unsafe.Pointer(bp)) = TSessionBuffer{} *(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK - zSep = __ccgo_ts + 12511 + zSep = __ccgo_ts + 12636 ii = 0 *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+34781, 0) + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+34927, 0) ii = 0 for { if !(ii < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol) { @@ -263133,11 +264793,11 @@ func _sessionPrepareDfltStmt(tls *libc.TLS, db uintptr, pTab uintptr, ppStmt uin if *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) != 0 { v2 = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazDflt + uintptr(ii)*8)) } else { - v2 = __ccgo_ts + 1659 + v2 = __ccgo_ts + 1673 } zDflt = v2 - _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+6385, libc.VaList(bp+32, zSep, zDflt)) - zSep = __ccgo_ts + 16304 + _sessionAppendPrintf(tls, bp, bp+16, __ccgo_ts+6449, libc.VaList(bp+32, zSep, zDflt)) + zSep = __ccgo_ts + 16397 goto _1 _1: ; @@ -263455,7 +265115,7 @@ func _sessionPreupdateOneChange(tls *libc.TLS, op int32, iRowid Ti64, pSession u rc = int32(SQLITE_NOMEM) goto error_out } - _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1658, uint8(0), libc.UintptrFromInt32(0)) + _sqlite3ValueSetStr(tls, p, 0, __ccgo_ts+1672, uint8(0), libc.UintptrFromInt32(0)) (*Tsqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p } } @@ -263776,7 +265436,7 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr var i int32 var zRet, zSep uintptr _, _, _ = i, zRet, zSep - zSep = __ccgo_ts + 1658 + zSep = __ccgo_ts + 1672 zRet = uintptr(0) i = 0 for { @@ -263784,8 +265444,8 @@ func _sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr break } if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+34788, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 23339 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+34934, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 23484 if zRet == uintptr(0) { break } @@ -263804,7 +265464,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint var bHave, i int32 var zRet, zSep uintptr _, _, _, _ = bHave, i, zRet, zSep - zSep = __ccgo_ts + 1658 + zSep = __ccgo_ts + 1672 zRet = uintptr(0) bHave = 0 i = 0 @@ -263814,8 +265474,8 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint } if int32(*(*Tu8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = int32(1) - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+34822, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) - zSep = __ccgo_ts + 34863 + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+34968, libc.VaList(bp+8, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + zSep = __ccgo_ts + 35009 if zRet == uintptr(0) { break } @@ -263826,7 +265486,7 @@ func _sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uint i++ } if bHave == 0 { - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1732, 0) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+1792, 0) } return zRet } @@ -263837,12 +265497,12 @@ func _sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, bRowid int var zRet, zSel, v1 uintptr _, _, _ = zRet, zSel, v1 if bRowid != 0 { - v1 = __ccgo_ts + 34868 + v1 = __ccgo_ts + 35014 } else { - v1 = __ccgo_ts + 7899 + v1 = __ccgo_ts + 7963 } zSel = v1 - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+34879, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+35025, libc.VaList(bp+8, zSel, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -263903,11 +265563,11 @@ func _sessionAllCols(tls *libc.TLS, zDb uintptr, pTab uintptr) (r uintptr) { break } if zRet != 0 { - v2 = __ccgo_ts + 16304 + v2 = __ccgo_ts + 16397 } else { - v2 = __ccgo_ts + 1658 + v2 = __ccgo_ts + 1672 } - zRet = Xsqlite3_mprintf(tls, __ccgo_ts+34958, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) + zRet = Xsqlite3_mprintf(tls, __ccgo_ts+35104, libc.VaList(bp+8, zRet, v2, zDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FazCol + uintptr(ii)*8)))) if !(zRet != 0) { break } @@ -263935,7 +265595,7 @@ func _sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFr } else { z1 = _sessionAllCols(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, pTab) z2 = _sessionAllCols(tls, zFrom, pTab) - zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+34977, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) + zStmt = Xsqlite3_mprintf(tls, __ccgo_ts+35123, libc.VaList(bp+16, z1, z2, (*Tsqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2)) if zStmt == uintptr(0) || z1 == uintptr(0) || z2 == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -264035,7 +265695,7 @@ func Xsqlite3session_diff(tls *libc.TLS, pSession uintptr, zFrom uintptr, zTbl u Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) if bMismatch != 0 { if pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35034, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+35180, 0) } rc = int32(SQLITE_SCHEMA) } @@ -264367,7 +266027,7 @@ func _sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { bp := tls.Alloc(48) defer tls.Free(48) var _ /* aBuf at bp+0 */ [24]int8 - Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+6447, libc.VaList(bp+32, iVal)) + Xsqlite3_snprintf(tls, int32(libc.Uint64FromInt64(24)-libc.Uint64FromInt32(1)), bp, __ccgo_ts+6511, libc.VaList(bp+32, iVal)) _sessionAppendStr(tls, p, bp, pRc) } @@ -264658,23 +266318,23 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt _, _, _, _, _, _, _ = i, nSql, zCols, zSep, zSql, v1, v3 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK zSql = uintptr(0) - zSep = __ccgo_ts + 1658 + zSep = __ccgo_ts + 1672 if bRowid != 0 { - v1 = __ccgo_ts + 34868 + v1 = __ccgo_ts + 35014 } else { - v1 = __ccgo_ts + 7899 + v1 = __ccgo_ts + 7963 } zCols = v1 nSql = -int32(1) *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 24)) = TSessionBuffer{} *(*TSessionBuffer)(unsafe.Pointer(bp + 40)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+35061, bp) - if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+12891, zTab) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+35065, bp) - _sessionAppendStr(tls, bp+24, __ccgo_ts+35089, bp) - _sessionAppendStr(tls, bp+40, __ccgo_ts+35098, bp) - zCols = __ccgo_ts + 35143 + _sessionAppendStr(tls, bp+8, __ccgo_ts+35207, bp) + if 0 == Xsqlite3_stricmp(tls, __ccgo_ts+13016, zTab) { + _sessionAppendStr(tls, bp+8, __ccgo_ts+35211, bp) + _sessionAppendStr(tls, bp+24, __ccgo_ts+35235, bp) + _sessionAppendStr(tls, bp+40, __ccgo_ts+35244, bp) + zCols = __ccgo_ts + 35289 } else { i = 0 for { @@ -264684,11 +266344,11 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { _sessionAppendStr(tls, bp+24, zSep, bp) _sessionAppendStr(tls, bp+40, zSep, bp) - zSep = __ccgo_ts + 16304 + zSep = __ccgo_ts + 16397 _sessionAppendIdent(tls, bp+24, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp) - _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+35157, libc.VaList(bp+64, i+int32(1))) + _sessionAppendPrintf(tls, bp+40, bp, __ccgo_ts+35303, libc.VaList(bp+64, i+int32(1))) } else { - _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+35161, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) + _sessionAppendPrintf(tls, bp+8, bp, __ccgo_ts+35307, libc.VaList(bp+64, i+int32(1)+nCol, i+int32(1), zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)))) } goto _2 _2: @@ -264700,9 +266360,9 @@ func _sessionSelectStmt(tls *libc.TLS, db uintptr, bIgnoreNoop int32, zDb uintpt if bIgnoreNoop != 0 { v3 = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf } else { - v3 = __ccgo_ts + 1658 + v3 = __ccgo_ts + 1672 } - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+35188, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+35334, libc.VaList(bp+64, zCols, v3, zDb, zTab, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 40))).FaBuf)) if zSql == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } @@ -264843,7 +266503,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Tsqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+35230, uintptr(0), uintptr(0), uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_exec(tls, (*Tsqlite3_session)(unsafe.Pointer(pSession)).Fdb, __ccgo_ts+35376, uintptr(0), uintptr(0), uintptr(0)) if *(*int32)(unsafe.Pointer(bp + 16)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -264949,7 +266609,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, } } Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf) - Xsqlite3_exec(tls, db, __ccgo_ts+35250, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+35396, uintptr(0), uintptr(0), uintptr(0)) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return *(*int32)(unsafe.Pointer(bp + 16)) } @@ -265366,7 +267026,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, int32(9)) if rc == SQLITE_OK { if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData { - rc = _sqlite3CorruptError(tls, int32(226700)) + rc = _sqlite3CorruptError(tls, int32(228355)) } else { v3 = pIn + 8 v2 = *(*int32)(unsafe.Pointer(v3)) @@ -265390,7 +267050,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp))) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext { - rc = _sqlite3CorruptError(tls, int32(226720)) + rc = _sqlite3CorruptError(tls, int32(228375)) } else { if eType == int32(SQLITE_TEXT) { v4 = int32(SQLITE_UTF8) @@ -265405,7 +267065,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap } if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) { if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) { - rc = _sqlite3CorruptError(tls, int32(226730)) + rc = _sqlite3CorruptError(tls, int32(228385)) } else { *(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal) if eType == int32(SQLITE_INTEGER) { @@ -265461,7 +267121,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) ( ** large value for nCol may cause nRead to wrap around and become ** negative. Leading to a crash. */ if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) { - rc = _sqlite3CorruptError(tls, int32(226778)) + rc = _sqlite3CorruptError(tls, int32(228433)) } else { rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100)) nRead += *(*int32)(unsafe.Pointer(bp)) @@ -265566,7 +267226,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) { (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0 _sessionBufferGrow(tls, p+72, int64(int64(nByte)), bp) } else { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(226866)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(228521)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -265637,12 +267297,12 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc != SQLITE_OK { return (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc } + _sessionDiscardData(tls, p) + (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext /* If the iterator is already at the end of the changeset, return DONE. */ if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext >= (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FnData { return int32(SQLITE_DONE) } - _sessionDiscardData(tls, p) - (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiCurrent = (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext v3 = p + 8 v2 = *(*int32)(unsafe.Pointer(v3)) *(*int32)(unsafe.Pointer(v3))++ @@ -265672,7 +267332,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 { /* The first record in the changeset is not a table header. Must be a ** corrupt changeset. */ - v7 = _sqlite3CorruptError(tls, int32(226952)) + v7 = _sqlite3CorruptError(tls, int32(228607)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7 return v7 } @@ -265682,7 +267342,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin *(*int32)(unsafe.Pointer(v9))++ (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8)))) if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) { - v10 = _sqlite3CorruptError(tls, int32(226958)) + v10 = _sqlite3CorruptError(tls, int32(228613)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10 return v10 } @@ -265761,7 +267421,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin if *(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 { *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) { - v16 = _sqlite3CorruptError(tls, int32(227002)) + v16 = _sqlite3CorruptError(tls, int32(228657)) (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16 return v16 } @@ -266171,7 +267831,7 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu goto finished_invert } default: - *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(227367)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(229022)) goto finished_invert } if xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size { @@ -266374,18 +268034,18 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 } if pUp == uintptr(0) { nByte = int32(uint64(24) * uint64(uint64(nU32)) * uint64(4)) - bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+12891) == 0) + bStat1 = libc.BoolInt32(Xsqlite3_stricmp(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, __ccgo_ts+13016) == 0) pUp = Xsqlite3_malloc(tls, nByte) if pUp == uintptr(0) { *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_NOMEM) } else { - zSep = __ccgo_ts + 1658 + zSep = __ccgo_ts + 1672 libc.Xmemset(tls, bp+8, 0, uint64(16)) (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24 libc.Xmemcpy(tls, (*TSessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*TSessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(uint64(nU32))*uint64(4)) - _sessionAppendStr(tls, bp+8, __ccgo_ts+35268, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+35414, bp) _sessionAppendIdent(tls, bp+8, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+35281, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+35427, bp) /* Create the assignments part of the UPDATE */ ii = 0 for { @@ -266395,9 +268055,9 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if int32(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+35287, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+35433, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(1), bp) - zSep = __ccgo_ts + 16304 + zSep = __ccgo_ts + 16397 } goto _2 _2: @@ -266405,8 +268065,8 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 ii++ } /* Create the WHERE clause part of the UPDATE */ - zSep = __ccgo_ts + 1658 - _sessionAppendStr(tls, bp+8, __ccgo_ts+35292, bp) + zSep = __ccgo_ts + 1672 + _sessionAppendStr(tls, bp+8, __ccgo_ts+35438, bp) ii = 0 for { if !(ii < (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol) { @@ -266415,13 +268075,13 @@ func _sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32 if *(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 { _sessionAppendStr(tls, bp+8, zSep, bp) if bStat1 != 0 && ii == int32(1) { - _sessionAppendStr(tls, bp+8, __ccgo_ts+35300, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+35446, bp) } else { _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+35375, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+35521, bp) _sessionAppendInteger(tls, bp+8, ii*int32(2)+int32(2), bp) } - zSep = __ccgo_ts + 23339 + zSep = __ccgo_ts + 23484 } goto _3 _3: @@ -266504,13 +268164,13 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in var _ /* buf at bp+8 */ TSessionBuffer var _ /* rc at bp+0 */ int32 _, _, _ = i, nPk, zSep - zSep = __ccgo_ts + 1658 + zSep = __ccgo_ts + 1672 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} nPk = 0 - _sessionAppendStr(tls, bp+8, __ccgo_ts+35381, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+35527, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+35292, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+35438, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -266520,9 +268180,9 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in nPk++ _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+35287, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+35433, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 23339 + zSep = __ccgo_ts + 23484 } goto _1 _1: @@ -266530,10 +268190,10 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in i++ } if nPk < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol { - _sessionAppendStr(tls, bp+8, __ccgo_ts+35399, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+35545, bp) _sessionAppendInteger(tls, bp+8, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol+int32(1), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+34863, bp) - zSep = __ccgo_ts + 1658 + _sessionAppendStr(tls, bp+8, __ccgo_ts+35009, bp) + zSep = __ccgo_ts + 1672 i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { @@ -266542,16 +268202,16 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in if !(*(*Tu8)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0) { _sessionAppendStr(tls, bp+8, zSep, bp) _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+35375, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+35521, bp) _sessionAppendInteger(tls, bp+8, i+int32(1), bp) - zSep = __ccgo_ts + 35407 + zSep = __ccgo_ts + 35553 } goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+6415, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+6479, bp) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+8, uintptr(0)) @@ -266577,7 +268237,7 @@ func _sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in // */ func _sessionSelectRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r int32) { /* TODO */ - return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+7894, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) + return _sessionSelectStmt(tls, db, int32((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop), __ccgo_ts+7958, zTab, (*TSessionApplyCtx)(unsafe.Pointer(p)).FbRowid, (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*TSessionApplyCtx)(unsafe.Pointer(p)).FabPK, p+24) } // C documentation @@ -266600,16 +268260,16 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TSessionBuffer)(unsafe.Pointer(bp + 8)) = TSessionBuffer{} - _sessionAppendStr(tls, bp+8, __ccgo_ts+35412, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+35558, bp) _sessionAppendIdent(tls, bp+8, zTab, bp) - _sessionAppendStr(tls, bp+8, __ccgo_ts+23345, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+23490, bp) i = 0 for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } if i != 0 { - _sessionAppendStr(tls, bp+8, __ccgo_ts+16304, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+16397, bp) } _sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer((*TSessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp) goto _1 @@ -266617,19 +268277,19 @@ func _sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) (r in ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+35430, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+35576, bp) i = int32(1) for { if !(i < (*TSessionApplyCtx)(unsafe.Pointer(p)).FnCol) { break } - _sessionAppendStr(tls, bp+8, __ccgo_ts+35441, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+35587, bp) goto _2 _2: ; i++ } - _sessionAppendStr(tls, bp+8, __ccgo_ts+6415, bp) + _sessionAppendStr(tls, bp+8, __ccgo_ts+6479, bp) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, db, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf, p+16, uintptr(0)) } @@ -266652,12 +268312,12 @@ func _sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) (r int func _sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) (r int32) { var rc int32 _ = rc - rc = _sessionSelectRow(tls, db, __ccgo_ts+12891, p) + rc = _sessionSelectRow(tls, db, __ccgo_ts+13016, p) if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+35445) + rc = _sessionPrepare(tls, db, p+16, __ccgo_ts+35591) } if rc == SQLITE_OK { - rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+35558) + rc = _sessionPrepare(tls, db, p+8, __ccgo_ts+35704) } return rc } @@ -266723,7 +268383,7 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { /* The value in the changeset was "undefined". This indicates a ** corrupt changeset blob. */ - rc = _sqlite3CorruptError(tls, int32(227849)) + rc = _sqlite3CorruptError(tls, int32(229504)) } else { rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp))) } @@ -267139,7 +268799,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } else { if *(*int32)(unsafe.Pointer(bp)) != 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+35702, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+35848, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = _sessionBindRow(tls, pIter, __ccgo_fp(Xsqlite3changeset_new), (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FabPK, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete) Xsqlite3_bind_int(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FnCol+int32(1), int32(1)) @@ -267152,7 +268812,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+35723, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+35869, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -267246,10 +268906,10 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbIgnoreNoop = libc.BoolUint8(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_IGNORENOOP) != 0)) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+35742, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+35888, uintptr(0), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+35768, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+35914, uintptr(0), uintptr(0), uintptr(0)) } for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) { Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0)) @@ -267280,7 +268940,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui ** non-zero, proceed. */ schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144)))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) + *(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144)))) if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) { rc = int32(SQLITE_NOMEM) break @@ -267290,7 +268950,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } else { nMinCol = 0 Xsqlite3changeset_pk(tls, pIter, bp+152, uintptr(0)) - rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+7894, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) + rc = _sessionTableInfo(tls, uintptr(0), db, __ccgo_ts+7958, *(*uintptr)(unsafe.Pointer(bp + 144)), bp+8+32, bp, bp+8+40, uintptr(0), bp+8+48, bp+8+124) if rc != SQLITE_OK { break } @@ -267309,18 +268969,18 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol == 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+35798, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+35944, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { if (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol < *(*int32)(unsafe.Pointer(bp + 136)) { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+35842, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+35988, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)), (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol, *(*int32)(unsafe.Pointer(bp + 136)))) } else { if *(*int32)(unsafe.Pointer(bp + 136)) < nMinCol || libc.Xmemcmp(tls, (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FabPK, *(*uintptr)(unsafe.Pointer(bp + 152)), uint64(*(*int32)(unsafe.Pointer(bp + 136)))) != 0 { schemaMismatch = int32(1) - Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+35913, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) + Xsqlite3_log(tls, int32(SQLITE_SCHEMA), __ccgo_ts+36059, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp)))) } else { (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FnCol = *(*int32)(unsafe.Pointer(bp + 136)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+12891) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_ts+13016) { v2 = _sessionStat1Sql(tls, db, bp+8) rc = v2 if v2 != 0 { @@ -267377,13 +269037,13 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui } } } - Xsqlite3_exec(tls, db, __ccgo_ts+35973, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+36119, uintptr(0), uintptr(0), uintptr(0)) if flags&int32(SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, __ccgo_ts+36003, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, __ccgo_ts+36149, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, __ccgo_ts+36027, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, __ccgo_ts+36003, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+36173, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, __ccgo_ts+36149, uintptr(0), uintptr(0), uintptr(0)) } } if rc == SQLITE_OK && bPatchset == 0 && (*(*TSessionApplyCtx)(unsafe.Pointer(bp + 8))).FbRebase != 0 { @@ -267475,6 +269135,7 @@ type Tsqlite3_changegroup1 = struct { Frc int32 FbPatch int32 FpList uintptr + Frec TSessionBuffer Fdb uintptr FzDb uintptr } @@ -267831,116 +269492,143 @@ func _sessionChangesetExtendRecord(tls *libc.TLS, pGrp uintptr, pTab uintptr, nC // C documentation // // /* -// ** Add all changes in the changeset traversed by the iterator passed as -// ** the first argument to the changegroup hash tables. +// ** Locate or create a SessionTable object that may be used to add the +// ** change currently pointed to by iterator pIter to changegroup pGrp. +// ** If successful, set output variable (*ppTab) to point to the table +// ** object and return SQLITE_OK. Otherwise, if some error occurs, return +// ** an SQLite error code and leave (*ppTab) set to NULL. // */ -func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { - bp := tls.Alloc(80) - defer tls.Free(80) - var bPkOnly1, bPkOnly2, iHash, nNew, rc int32 - var pExist, pTab, pp, ppTab uintptr - var _ /* aRec at bp+0 */ uintptr - var _ /* abPK at bp+64 */ uintptr - var _ /* bIndirect at bp+48 */ int32 - var _ /* nCol at bp+40 */ int32 - var _ /* nRec at bp+8 */ int32 - var _ /* op at bp+44 */ int32 - var _ /* pChange at bp+56 */ uintptr - var _ /* rec at bp+16 */ TSessionBuffer - var _ /* zNew at bp+32 */ uintptr - _, _, _, _, _, _, _, _, _ = bPkOnly1, bPkOnly2, iHash, nNew, pExist, pTab, pp, ppTab, rc +func _sessionChangesetFindTable(tls *libc.TLS, pGrp uintptr, zTab uintptr, pIter uintptr, ppTab uintptr) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var nTab, rc int32 + var pTab, ppNew uintptr + var _ /* abPK at bp+0 */ uintptr + var _ /* nCol at bp+8 */ int32 + _, _, _, _ = nTab, pTab, ppNew, rc rc = SQLITE_OK pTab = uintptr(0) - *(*TSessionBuffer)(unsafe.Pointer(bp + 16)) = TSessionBuffer{} - for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { - pExist = uintptr(0) - /* Ensure that only changesets, or only patchsets, but not a mixture - ** of both, are being combined. It is an error to try to combine a - ** changeset and a patchset. */ - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset - } else { - if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { - rc = int32(SQLITE_ERROR) - break - } + nTab = int32(libc.Xstrlen(tls, zTab)) + *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(ppTab)) = uintptr(0) + Xsqlite3changeset_pk(tls, pIter, bp, bp+8) + /* Search the list for an existing table */ + pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList + for { + if !(pTab != 0) { + break } - Xsqlite3changeset_op(tls, pIter, bp+32, bp+40, bp+44, bp+48) - if !(pTab != 0) || Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), (*TSessionTable)(unsafe.Pointer(pTab)).FzName) != 0 { - /* Search the list for a matching table */ - nNew = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))) - Xsqlite3changeset_pk(tls, pIter, bp+64, uintptr(0)) - pTab = (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList - for { - if !(pTab != 0) { - break - } - if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), nNew+int32(1)) { - break - } - goto _1 - _1: - ; - pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext - } - if !(pTab != 0) { - pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 40)))+uint64(uint64(nNew))+uint64(1)) - if !(pTab != 0) { - rc = int32(SQLITE_NOMEM) - break - } - libc.Xmemset(tls, pTab, 0, uint64(80)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 40)) - (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 64)), uint64(*(*int32)(unsafe.Pointer(bp + 40)))) - (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 40))) - libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, *(*uintptr)(unsafe.Pointer(bp + 32)), uint64(nNew+int32(1))) - if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { - (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 - rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) - if rc != 0 { - Xsqlite3_free(tls, pTab) - break - } - } - /* The new object must be linked on to the end of the list, not - ** simply added to the start of it. This is to ensure that the - ** tables within the output of sqlite3changegroup_output() are in - ** the right order. */ - ppTab = pGrp + 8 - for { - if !(*(*uintptr)(unsafe.Pointer(ppTab)) != 0) { - break - } - goto _2 - _2: - ; - ppTab = *(*uintptr)(unsafe.Pointer(ppTab)) - } - *(*uintptr)(unsafe.Pointer(ppTab)) = pTab - } - if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*uintptr)(unsafe.Pointer(bp + 64))) != 0) { - rc = int32(SQLITE_SCHEMA) - break - } + if 0 == Xsqlite3_strnicmp(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, nTab+int32(1)) { + break } - if *(*int32)(unsafe.Pointer(bp + 40)) < (*TSessionTable)(unsafe.Pointer(pTab)).FnCol { - rc = _sessionChangesetExtendRecord(tls, pGrp, pTab, *(*int32)(unsafe.Pointer(bp + 40)), *(*int32)(unsafe.Pointer(bp + 44)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+16) + goto _1 + _1: + ; + pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext + } + /* If one was not found above, create a new table now */ + if !(pTab != 0) { + pTab = Xsqlite3_malloc64(tls, uint64(80)+uint64(*(*int32)(unsafe.Pointer(bp + 8)))+uint64(uint64(nTab))+uint64(1)) + if !(pTab != 0) { + return int32(SQLITE_NOMEM) + } + libc.Xmemset(tls, pTab, 0, uint64(80)) + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = *(*int32)(unsafe.Pointer(bp + 8)) + (*TSessionTable)(unsafe.Pointer(pTab)).FabPK = pTab + 1*80 + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FabPK, *(*uintptr)(unsafe.Pointer(bp)), uint64(*(*int32)(unsafe.Pointer(bp + 8)))) + (*TSessionTable)(unsafe.Pointer(pTab)).FzName = (*TSessionTable)(unsafe.Pointer(pTab)).FabPK + uintptr(*(*int32)(unsafe.Pointer(bp + 8))) + libc.Xmemcpy(tls, (*TSessionTable)(unsafe.Pointer(pTab)).FzName, zTab, uint64(nTab+int32(1))) + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb != 0 { + (*TSessionTable)(unsafe.Pointer(pTab)).FnCol = 0 + rc = _sessionInitTable(tls, uintptr(0), pTab, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Fdb, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) if rc != 0 { + Xsqlite3_free(tls, pTab) + return rc + } + } + /* The new object must be linked on to the end of the list, not + ** simply added to the start of it. This is to ensure that the + ** tables within the output of sqlite3changegroup_output() are in + ** the right order. */ + ppNew = pGrp + 8 + for { + if !(*(*uintptr)(unsafe.Pointer(ppNew)) != 0) { break } - *(*uintptr)(unsafe.Pointer(bp)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf - *(*int32)(unsafe.Pointer(bp + 8)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf + goto _2 + _2: + ; + ppNew = *(*uintptr)(unsafe.Pointer(ppNew)) } - if _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pTab) != 0 { - rc = int32(SQLITE_NOMEM) - break + *(*uintptr)(unsafe.Pointer(ppNew)) = pTab + } + /* Check that the table is compatible. */ + if !(_sessionChangesetCheckCompat(tls, pTab, *(*int32)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp))) != 0) { + rc = int32(SQLITE_SCHEMA) + } + *(*uintptr)(unsafe.Pointer(ppTab)) = pTab + return rc +} + +// C documentation +// +// /* +// ** Add the change currently indicated by iterator pIter to the hash table +// ** belonging to changegroup pGrp. +// */ +func _sessionOneChangeToHash(tls *libc.TLS, pGrp uintptr, pIter uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(48) + defer tls.Free(48) + var aRec, pBuf, pExist, pp uintptr + var bPkOnly1, bPkOnly2, iHash, nRec, rc int32 + var _ /* bIndirect at bp+8 */ int32 + var _ /* nCol at bp+0 */ int32 + var _ /* op at bp+4 */ int32 + var _ /* pChange at bp+16 */ uintptr + var _ /* pTab at bp+24 */ uintptr + var _ /* zTab at bp+32 */ uintptr + _, _, _, _, _, _, _, _, _ = aRec, bPkOnly1, bPkOnly2, iHash, nRec, pBuf, pExist, pp, rc + rc = SQLITE_OK + *(*int32)(unsafe.Pointer(bp)) = 0 + *(*int32)(unsafe.Pointer(bp + 4)) = 0 + iHash = 0 + *(*int32)(unsafe.Pointer(bp + 8)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0) + pExist = uintptr(0) + pp = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0) + aRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FaData + uintptr((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent+int32(2)) + nRec = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext - (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent - int32(2) + /* Ensure that only changesets, or only patchsets, but not a mixture + ** of both, are being combined. It is an error to try to combine a + ** changeset and a patchset. */ + if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList == uintptr(0) { + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset + } else { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FbPatch { + rc = int32(SQLITE_ERROR) } - iHash = int32(_sessionChangeHash(tls, pTab, libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)), *(*uintptr)(unsafe.Pointer(bp)), (*TSessionTable)(unsafe.Pointer(pTab)).FnChange)) + } + if rc == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0) + Xsqlite3changeset_op(tls, pIter, bp+32, bp, bp+4, bp+8) + rc = _sessionChangesetFindTable(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 32)), pIter, bp+24) + } + if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) < (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnCol { + pBuf = pGrp + 16 + rc = _sessionChangesetExtendRecord(tls, pGrp, *(*uintptr)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)), aRec, nRec, pBuf) + aRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FaBuf + nRec = (*TSessionBuffer)(unsafe.Pointer(pBuf)).FnBuf + } + if rc == SQLITE_OK && _sessionGrowHash(tls, uintptr(0), (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 24))) != 0 { + rc = int32(SQLITE_NOMEM) + } + if rc == SQLITE_OK { /* Search for existing entry. If found, remove it from the hash table. - ** Code below may link it back in. - */ - pp = (*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8 + ** Code below may link it back in. */ + iHash = int32(_sessionChangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), libc.BoolInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 && *(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)), aRec, (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnChange)) + pp = (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8 for { if !(*(*uintptr)(unsafe.Pointer(pp)) != 0) { break @@ -267949,30 +269637,54 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase bPkOnly2 = 0 if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset != 0 { bPkOnly1 = libc.BoolInt32(int32((*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).Fop) == int32(SQLITE_DELETE)) - bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 44)) == int32(SQLITE_DELETE)) + bPkOnly2 = libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 4)) == int32(SQLITE_DELETE)) } - if _sessionChangeEqual(tls, pTab, bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, *(*uintptr)(unsafe.Pointer(bp))) != 0 { + if _sessionChangeEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bPkOnly1, (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FaRecord, bPkOnly2, aRec) != 0 { pExist = *(*uintptr)(unsafe.Pointer(pp)) *(*uintptr)(unsafe.Pointer(pp)) = (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry-- + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry-- break } - goto _3 - _3: + goto _1 + _1: ; pp = *(*uintptr)(unsafe.Pointer(pp)) + 24 } - rc = _sessionChangeMerge(tls, pTab, bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 44)), *(*int32)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+56) - if rc != 0 { + } + if rc == SQLITE_OK { + rc = _sessionChangeMerge(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), bRebase, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, pExist, *(*int32)(unsafe.Pointer(bp + 4)), *(*int32)(unsafe.Pointer(bp + 8)), aRec, nRec, bp+16) + } + if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { + (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) + *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 16)) + (*TSessionTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FnEntry++ + } + if rc == SQLITE_OK { + rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc + } + return rc +} + +// C documentation +// +// /* +// ** Add all changes in the changeset traversed by the iterator passed as +// ** the first argument to the changegroup hash tables. +// */ +func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase int32) (r int32) { + bp := tls.Alloc(16) + defer tls.Free(16) + var rc int32 + var _ /* aRec at bp+0 */ uintptr + var _ /* nRec at bp+8 */ int32 + _ = rc + rc = SQLITE_OK + for int32(SQLITE_ROW) == _sessionChangesetNext(tls, pIter, bp, bp+8, uintptr(0)) { + rc = _sessionOneChangeToHash(tls, pGrp, pIter, bRebase) + if rc != SQLITE_OK { break } - if *(*uintptr)(unsafe.Pointer(bp + 56)) != 0 { - (*TSessionChange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56)))).FpNext = *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) - *(*uintptr)(unsafe.Pointer((*TSessionTable)(unsafe.Pointer(pTab)).FapChange + uintptr(iHash)*8)) = *(*uintptr)(unsafe.Pointer(bp + 56)) - (*TSessionTable)(unsafe.Pointer(pTab)).FnEntry++ - } } - Xsqlite3_free(tls, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf) if rc == SQLITE_OK { rc = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc } @@ -268082,11 +269794,11 @@ func Xsqlite3changegroup_new(tls *libc.TLS, pp uintptr) (r int32) { var rc int32 _, _ = p, rc rc = SQLITE_OK /* New object */ - p = Xsqlite3_malloc(tls, int32(32)) + p = Xsqlite3_malloc(tls, int32(48)) if p == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, p, 0, uint64(32)) + libc.Xmemset(tls, p, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(pp)) = p return rc @@ -268108,7 +269820,7 @@ func Xsqlite3changegroup_schema(tls *libc.TLS, pGrp uintptr, db uintptr, zDb uin ** or after sqlite3changegroup_schema() has already been called. */ rc = int32(SQLITE_MISUSE) } else { - (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, zDb)) + (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, zDb)) if (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -268138,6 +269850,19 @@ func Xsqlite3changegroup_add(tls *libc.TLS, pGrp uintptr, nData int32, pData uin return rc } +// C documentation +// +// /* +// ** Add a single change to a changeset-group. +// */ +func Xsqlite3changegroup_add_change(tls *libc.TLS, pGrp uintptr, pIter uintptr) (r int32) { + if (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiCurrent == (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FiNext || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).Frc != SQLITE_OK || (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbInvert != 0 { + /* Iterator does not point to any valid entry or is an INVERT iterator. */ + return int32(SQLITE_ERROR) + } + return _sessionOneChangeToHash(tls, pGrp, pIter, 0) +} + // C documentation // // /* @@ -268185,6 +269910,7 @@ func Xsqlite3changegroup_delete(tls *libc.TLS, pGrp uintptr) { if pGrp != 0 { Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FzDb) _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).FpList) + Xsqlite3_free(tls, (*Tsqlite3_changegroup)(unsafe.Pointer(pGrp)).Frec.FaBuf) Xsqlite3_free(tls, pGrp) } } @@ -268549,11 +270275,11 @@ func Xsqlite3rebaser_create(tls *libc.TLS, ppNew uintptr) (r int32) { var rc int32 _, _ = pNew, rc rc = SQLITE_OK - pNew = Xsqlite3_malloc(tls, int32(32)) + pNew = Xsqlite3_malloc(tls, int32(48)) if pNew == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - libc.Xmemset(tls, pNew, 0, uint64(32)) + libc.Xmemset(tls, pNew, 0, uint64(48)) } *(*uintptr)(unsafe.Pointer(ppNew)) = pNew return rc @@ -268627,6 +270353,7 @@ func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn u func Xsqlite3rebaser_delete(tls *libc.TLS, p uintptr) { if p != 0 { _sessionDeleteTable(tls, uintptr(0), (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.FpList) + Xsqlite3_free(tls, (*Tsqlite3_rebaser)(unsafe.Pointer(p)).Fgrp.Frec.FaBuf) Xsqlite3_free(tls, p) } } @@ -269258,6 +270985,9 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** sqlite3Fts5ParserARG_STORE Code to store %extra_argument into fts5yypParser // ** sqlite3Fts5ParserARG_FETCH Code to extract %extra_argument from fts5yypParser // ** sqlite3Fts5ParserCTX_* As sqlite3Fts5ParserARG_ except for %extra_context +// ** fts5YYREALLOC Name of the realloc() function to use +// ** fts5YYFREE Name of the free() function to use +// ** fts5YYDYNSTACK True if stack space should be extended on heap // ** fts5YYERRORSYMBOL is the code number of the error symbol. If not // ** defined, then do no error processing. // ** fts5YYNSTATE the combined number of states. @@ -269271,6 +271001,8 @@ type Fts5PoslistPopulator = TFts5PoslistPopulator // ** fts5YY_NO_ACTION The fts5yy_action[] code for no-op // ** fts5YY_MIN_REDUCE Minimum value for reduce actions // ** fts5YY_MAX_REDUCE Maximum value for reduce actions +// ** fts5YY_MIN_DSTRCTR Minimum symbol value that has a destructor +// ** fts5YY_MAX_DSTRCTR Maximum symbol value that has a destructor // */ // /************* Begin control #defines *****************************************/ type Tfts5YYMINORTYPE = struct { @@ -269297,6 +271029,13 @@ type fts5YYMINORTYPE = Tfts5YYMINORTYPE ** for testing. */ +/* Macro to determine if stack space has the ability to grow using +** heap memory. + */ + +/* Guarantee a minimum number of initial stack slots. + */ + // C documentation // // /* Next are the tables used to determine what action to take based on the @@ -269726,8 +271465,9 @@ type fts5yyStackEntry = Tfts5yyStackEntry type Tfts5yyParser1 = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser1 = Tfts5yyParser1 @@ -269735,14 +271475,19 @@ type fts5yyParser1 = Tfts5yyParser1 type Tfts5yyParser = struct { Ffts5yytos uintptr FpParse uintptr - Ffts5yystack [100]Tfts5yyStackEntry Ffts5yystackEnd uintptr + Ffts5yystack uintptr + Ffts5yystk0 [100]Tfts5yyStackEntry } type fts5yyParser = Tfts5yyParser /* #include */ +/* For builds that do no have a growable stack, fts5yyGrowStack always +** returns an error. + */ + /* Datatype of the argument to the memory allocated passed as the ** second argument to sqlite3Fts5ParserAlloc() below. This can be changed by ** putting an appropriate #define in the %include section of the input @@ -269757,10 +271502,11 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { var fts5yypParser uintptr _ = fts5yypParser fts5yypParser = fts5yypRawParser - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = fts5yypParser + 16 - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fstateno = uint8(0) - (*(*Tfts5yyStackEntry)(unsafe.Pointer(fts5yypParser + 16))).Fmajor = uint8(0) - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = fts5yypParser + 16 + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack = fts5yypParser + 32 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + uintptr(libc.Int32FromInt32(fts5YYSTACKDEPTH)-libc.Int32FromInt32(1))*24 + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fstateno = uint8(0) + (*(*Tfts5yyStackEntry)(unsafe.Pointer((*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack))).Fmajor = uint8(0) } // C documentation @@ -269780,7 +271526,7 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) { var fts5yypParser uintptr _ = fts5yypParser - fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2424)) + fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432)) if fts5yypParser != 0 { _sqlite3Fts5ParserInit(tls, fts5yypParser) } @@ -269862,11 +271608,17 @@ func _fts5yy_pop_parser_stack(tls *libc.TLS, pParser uintptr) { // ** Clear all secondary memory allocations from the parser // */ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) { - var pParser uintptr - _ = pParser + var fts5yytos, pParser uintptr + _, _ = fts5yytos, pParser pParser = p - for (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos > pParser+16 { - _fts5yy_pop_parser_stack(tls, pParser) + /* In-lined version of calling fts5yy_pop_parser_stack() for each + ** element left in the stack */ + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yytos + for fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(pParser)).Ffts5yystack { + if int32((*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor) >= int32(fts5YY_MIN_DSTRCTR) { + _fts5yy_destructor(tls, pParser, (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor, fts5yytos+8) + } + fts5yytos -= 24 } } @@ -269954,13 +271706,13 @@ func _fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { var pParse uintptr _ = pParse pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse - for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > fts5yypParser+16 { + for (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystack { _fts5yy_pop_parser_stack(tls, fts5yypParser) } /* Here code is inserted which will execute if the parser ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36055, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36201, 0) /******** End %stack_overflow code ********************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument var */ } @@ -269978,15 +271730,18 @@ func _fts5yy_shift(tls *libc.TLS, fts5yypParser uintptr, fts5yyNewState uint8, f var fts5yytos uintptr _ = fts5yytos (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos += 24 - if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 - _fts5yyStackOverflow(tls, fts5yypParser) - return + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos + if fts5yytos > (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { + if int32(1) != 0 { + (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos -= 24 + _fts5yyStackOverflow(tls, fts5yypParser) + return + } + fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos } if int32(int32(fts5yyNewState)) > int32(fts5YY_MAX_SHIFT) { fts5yyNewState = uint8(int32(fts5yyNewState) + (libc.Int32FromInt32(fts5YY_MIN_REDUCE) - libc.Int32FromInt32(fts5YY_MIN_SHIFTREDUCE))) } - fts5yytos = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fstateno = fts5yyNewState (*Tfts5yyStackEntry)(unsafe.Pointer(fts5yytos)).Fmajor = fts5yyMajor *(*TFts5Token)(unsafe.Pointer(fts5yytos + 8)) = fts5yyMinor @@ -270313,7 +272068,7 @@ func _fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int3 pParse = (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse /************ Begin %syntax_error code ****************************************/ _ = fts5yymajor /* Silence a compiler warning */ - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36083, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36229, libc.VaList(bp+8, fts5yyminor.Fn, fts5yyminor.Fp)) /************ End %syntax_error code ******************************************/ (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse /* Suppress warning about unused %extra_argument variable */ } @@ -270375,8 +272130,10 @@ func _sqlite3Fts5Parser(tls *libc.TLS, fts5yyp uintptr, fts5yymajor int32, fts5y ** enough on the stack to push the LHS value */ if int32(_fts5yyRuleInfoNRhs[fts5yyruleno]) == 0 { if (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yytos >= (*Tfts5yyParser)(unsafe.Pointer(fts5yypParser)).Ffts5yystackEnd { - _fts5yyStackOverflow(tls, fts5yypParser) - break + if int32(1) != 0 { + _fts5yyStackOverflow(tls, fts5yypParser) + break + } } } fts5yyact = _fts5yy_reduce(tls, fts5yypParser, fts5yyruleno, fts5yymajor, fts5yyminor) @@ -270600,7 +272357,7 @@ func _fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n in if n < 0 { n = int32(libc.Xstrlen(tls, z)) } - (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+36114, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) + (*THighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, __ccgo_ts+36260, libc.VaList(bp+8, (*THighlightContext)(unsafe.Pointer(p)).FzOut, n, z)) if (*THighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) { *(*int32)(unsafe.Pointer(pRc)) = int32(SQLITE_NOMEM) } @@ -270697,7 +272454,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint var _ /* rc at bp+104 */ int32 _, _ = iCol, zErr if nVal != int32(3) { - zErr = __ccgo_ts + 36121 + zErr = __ccgo_ts + 36267 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -270708,7 +272465,7 @@ func _fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uint (*(*THighlightContext)(unsafe.Pointer(bp))).FiRangeEnd = -int32(1) *(*int32)(unsafe.Pointer(bp + 104)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})))(tls, pFts, iCol, bp+24, bp+32) if *(*int32)(unsafe.Pointer(bp + 104)) == int32(SQLITE_RANGE) { - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1658, -int32(1), libc.UintptrFromInt32(0)) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+1672, -int32(1), libc.UintptrFromInt32(0)) *(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_OK } else { if (*(*THighlightContext)(unsafe.Pointer(bp))).FzIn != 0 { @@ -270909,7 +272666,7 @@ func _fts5ValueToText(tls *libc.TLS, pVal uintptr) (r uintptr) { if zRet != 0 { v1 = zRet } else { - v1 = __ccgo_ts + 1658 + v1 = __ccgo_ts + 1672 } return v1 } @@ -270943,7 +272700,7 @@ func _fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintpt nBestScore = 0 /* Score of best snippet */ *(*int32)(unsafe.Pointer(bp + 112)) = 0 if nVal != int32(5) { - zErr = __ccgo_ts + 36171 + zErr = __ccgo_ts + 36317 Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) return } @@ -271323,15 +273080,15 @@ func _sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) (r int32) { FxDestroy uintptr }{ 0: { - FzFunc: __ccgo_ts + 36219, + FzFunc: __ccgo_ts + 36365, FxFunc: __ccgo_fp(_fts5SnippetFunction), }, 1: { - FzFunc: __ccgo_ts + 36227, + FzFunc: __ccgo_ts + 36373, FxFunc: __ccgo_fp(_fts5HighlightFunction), }, 2: { - FzFunc: __ccgo_ts + 36237, + FzFunc: __ccgo_ts + 36383, FxFunc: __ccgo_fp(_fts5Bm25Function), }, } @@ -271991,7 +273748,7 @@ func _fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) (r uintptr) { case int32('n'): fallthrough case int32('N'): - if Xsqlite3_strnicmp(tls, __ccgo_ts+1644, p, int32(4)) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+1658, p, int32(4)) == 0 { p = p + 4 } else { p = uintptr(0) @@ -272195,7 +273952,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC _, _, _, _, _, _, _, _, _, _, _, _ = azArg, bFirst, nArg, nByte, nCmd, nPre, p, p1, p2, pDel, pSpace, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK nCmd = int32(libc.Xstrlen(tls, zCmd)) - if Xsqlite3_strnicmp(tls, __ccgo_ts+36242, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+36388, zCmd, nCmd) == 0 { nByte = int32(libc.Uint64FromInt64(4) * libc.Uint64FromInt32(FTS5_MAX_PREFIX_INDEXES)) bFirst = int32(1) if (*TFts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { @@ -272221,12 +273978,12 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } } if int32(*(*int8)(unsafe.Pointer(p))) < int32('0') || int32(*(*int8)(unsafe.Pointer(p))) > int32('9') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36249, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36395, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } if (*TFts5Config)(unsafe.Pointer(pConfig)).FnPrefix == int32(FTS5_MAX_PREFIX_INDEXES) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36280, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36426, libc.VaList(bp+80, int32(FTS5_MAX_PREFIX_INDEXES))) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -272235,7 +273992,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC p++ } if nPre <= 0 || nPre >= int32(1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36313, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36459, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) break } @@ -272245,7 +274002,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+36350, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+36496, zCmd, nCmd) == 0 { p1 = zArg nArg = int64(libc.Xstrlen(tls, zArg) + uint64(1)) azArg = _sqlite3Fts5MallocZero(tls, bp, int64(uint64(8)*uint64(uint64(nArg)))) @@ -272253,7 +274010,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC pSpace = pDel if azArg != 0 && pSpace != 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36359, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36505, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { nArg = 0 @@ -272280,7 +274037,7 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC nArg++ } if p1 == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36392, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36538, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(int32(nArg)), pConfig, pzErr) @@ -272291,58 +274048,58 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC Xsqlite3_free(tls, pDel) return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+36426, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+36572, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36434, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36580, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if *(*int8)(unsafe.Pointer(zArg)) != 0 { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_EXTERNAL) - (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36466, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+36612, libc.VaList(bp+80, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent = int32(FTS5_CONTENT_NONE) } } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+36472, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+36618, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36491, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36637, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+36534, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+36680, zCmd, nCmd) == 0 { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36548, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36694, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, zArg, -int32(1)) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+36586, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+36732, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36597, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36743, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+6808, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+6872, zCmd, nCmd) == 0 { *(*[4]TFts5Enum)(unsafe.Pointer(bp + 8)) = [4]TFts5Enum{ 0: { - FzName: __ccgo_ts + 9527, + FzName: __ccgo_ts + 9652, FeVal: int32(FTS5_DETAIL_NONE), }, 1: { - FzName: __ccgo_ts + 19073, + FzName: __ccgo_ts + 19160, }, 2: { - FzName: __ccgo_ts + 36632, + FzName: __ccgo_ts + 36778, FeVal: int32(FTS5_DETAIL_COLUMNS), }, 3: {}, @@ -272350,20 +274107,20 @@ func _fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zC v2 = _fts5ConfigSetEnum(tls, bp+8, zArg, pConfig+96) *(*int32)(unsafe.Pointer(bp)) = v2 if v2 != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36640, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36786, 0) } return *(*int32)(unsafe.Pointer(bp)) } - if Xsqlite3_strnicmp(tls, __ccgo_ts+36671, zCmd, nCmd) == 0 { + if Xsqlite3_strnicmp(tls, __ccgo_ts+36817, zCmd, nCmd) == 0 { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != int32('\000') { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36681, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36827, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FbTokendata = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('1')) } return *(*int32)(unsafe.Pointer(bp)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36715, libc.VaList(bp+80, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36861, libc.VaList(bp+80, nCmd, zCmd)) return int32(SQLITE_ERROR) } @@ -272435,15 +274192,15 @@ func _fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr var v2 uintptr _, _, _ = rc, v1, v2 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+36743) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+18009) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36748, libc.VaList(bp+8, zCol)) + if 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+36889) || 0 == Xsqlite3_stricmp(tls, zCol, __ccgo_ts+18096) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36894, libc.VaList(bp+8, zCol)) rc = int32(SQLITE_ERROR) } else { if zArg != 0 { - if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+36778) { + if 0 == Xsqlite3_stricmp(tls, zArg, __ccgo_ts+36924) { *(*Tu8)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*TFts5Config)(unsafe.Pointer(p)).FnCol))) = uint8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36788, libc.VaList(bp+8, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36934, libc.VaList(bp+8, zArg)) rc = int32(SQLITE_ERROR) } } @@ -272469,7 +274226,7 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { _ = i *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK *(*TFts5Buffer)(unsafe.Pointer(bp + 8)) = TFts5Buffer{} - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+36819, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+36965, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*TFts5Config)(unsafe.Pointer(p)).FeContent != int32(FTS5_CONTENT_NONE) { i = 0 for { @@ -272477,9 +274234,9 @@ func _fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) (r int32) { break } if (*TFts5Config)(unsafe.Pointer(p)).FeContent == int32(FTS5_CONTENT_EXTERNAL) { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+36824, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+36970, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+36831, libc.VaList(bp+32, i)) + _sqlite3Fts5BufferAppendPrintf(tls, bp, bp+8, __ccgo_ts+36977, libc.VaList(bp+32, i)) } goto _1 _1: @@ -272539,8 +274296,8 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in (*TFts5Config)(unsafe.Pointer(pRet)).FzName = _sqlite3Fts5Strndup(tls, bp, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -int32(1)) (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize = int32(1) (*TFts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+36743) == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36839, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) + if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, __ccgo_ts+36889) == 0 { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36985, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } i = int32(3) @@ -272571,19 +274328,19 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36868, libc.VaList(bp+40, zOrig)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37014, libc.VaList(bp+40, zOrig)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bOption != 0 { if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 { v4 = *(*uintptr)(unsafe.Pointer(bp + 8)) } else { - v4 = __ccgo_ts + 1658 + v4 = __ccgo_ts + 1672 } if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 { v5 = *(*uintptr)(unsafe.Pointer(bp + 16)) } else { - v5 = __ccgo_ts + 1658 + v5 = __ccgo_ts + 1672 } *(*int32)(unsafe.Pointer(bp)) = _fts5ConfigParseSpecial(tls, pGlobal, pRet, v4, v5, pzErr) } else { @@ -272601,7 +274358,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in } /* We only allow contentless_delete=1 if the table is indeed contentless. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FeContent != int32(FTS5_CONTENT_NONE) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36888, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37034, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* We only allow contentless_delete=1 if columnsize=0 is not present. @@ -272609,7 +274366,7 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in ** This restriction may be removed at some point. */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FbContentlessDelete != 0 && (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+36938, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+37084, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } /* If a tokenizer= option was successfully parsed, the tokenizer has @@ -272622,18 +274379,18 @@ func _sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg in if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContent == uintptr(0) { zTail = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { - zTail = __ccgo_ts + 36426 + zTail = __ccgo_ts + 36572 } else { if (*TFts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = __ccgo_ts + 36993 + zTail = __ccgo_ts + 37139 } } if zTail != 0 { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37001, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContent = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37147, libc.VaList(bp+40, (*TFts5Config)(unsafe.Pointer(pRet)).FzDb, (*TFts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0) { - (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+18009, -int32(1)) + (*TFts5Config)(unsafe.Pointer(pRet)).FzContentRowid = _sqlite3Fts5Strndup(tls, bp, __ccgo_ts+18096, -int32(1)) } /* Formulate the zContentExprlist text */ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { @@ -272697,25 +274454,25 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) { var _ /* rc at bp+0 */ int32 _, _, _, _ = i, zSep, zSql, v2 *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37012, 0) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37158, 0) i = 0 for { if !(zSql != 0 && i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } if i == 0 { - v2 = __ccgo_ts + 1658 + v2 = __ccgo_ts + 1672 } else { - v2 = __ccgo_ts + 16304 + v2 = __ccgo_ts + 16397 } zSep = v2 - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37028, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37174, libc.VaList(bp+16, zSql, zSep, *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) goto _1 _1: ; i++ } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37035, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+36743)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37181, libc.VaList(bp+16, zSql, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, __ccgo_ts+36889)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_declare_vtab(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) Xsqlite3_free(tls, zSql) @@ -272861,7 +274618,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV var _ /* zRankArgs at bp+8 */ uintptr _, _, _, _, _, _, _, _, _, _ = bVal, nAutomerge, nCrisisMerge, nHashSize, nUsermerge, nVal, pgsz, rc, zIn, v1 rc = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+37061) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+37207) { pgsz = 0 if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -272872,7 +274629,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+37066) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+37212) { nHashSize = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -272883,7 +274640,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+37075) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+37221) { nAutomerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -272897,7 +274654,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+37085) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+37231) { nUsermerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -272908,7 +274665,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+37095) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+37241) { nCrisisMerge = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -272925,7 +274682,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV (*TFts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+37107) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+37253) { nVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { nVal = Xsqlite3_value_int(tls, pVal) @@ -272940,7 +274697,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } (*TFts5Config)(unsafe.Pointer(pConfig)).FnDeleteMerge = nVal } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36743) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+36889) { zIn = Xsqlite3_value_text(tls, pVal) rc = _sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8) if rc == SQLITE_OK { @@ -272955,7 +274712,7 @@ func _sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pV } } } else { - if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+37119) { + if 0 == Xsqlite3_stricmp(tls, zKey, __ccgo_ts+37265) { bVal = -int32(1) if int32(SQLITE_INTEGER) == Xsqlite3_value_numeric_type(tls, pVal) { bVal = Xsqlite3_value_int(tls, pVal) @@ -272997,7 +274754,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in var _ /* p at bp+0 */ uintptr var _ /* rc at bp+8 */ int32 _, _, _, _, _ = iVersion, pVal, zK, zSelect, zSql - zSelect = __ccgo_ts + 37133 + zSelect = __ccgo_ts + 37279 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_OK iVersion = 0 @@ -273017,7 +274774,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in for int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { zK = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) pVal = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) - if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+37165) { + if 0 == Xsqlite3_stricmp(tls, zK, __ccgo_ts+37311) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 12)) = 0 @@ -273029,7 +274786,7 @@ func _sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) (r in if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && iVersion != int32(FTS5_CURRENT_VERSION) && iVersion != int32(FTS5_CURRENT_VERSION_SECUREDELETE) { *(*int32)(unsafe.Pointer(bp + 8)) = int32(SQLITE_ERROR) if (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37173, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+37319, libc.VaList(bp+24, iVersion, int32(FTS5_CURRENT_VERSION), int32(FTS5_CURRENT_VERSION_SECUREDELETE))) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = iVersion @@ -273250,7 +275007,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr } } if int32(*(*int8)(unsafe.Pointer(z2))) == int32('\000') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+37244, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+37390, 0) return FTS5_EOF } goto _1 @@ -273261,7 +275018,7 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(int64(z2)) - int64(int64(z))) default: if _sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+37264, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+37410, libc.VaList(bp+8, z)) return FTS5_EOF } tok = int32(FTS5_STRING) @@ -273276,13 +275033,13 @@ func _fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr z21++ } (*TFts5Token)(unsafe.Pointer(pToken)).Fn = int32(int64(int64(z21)) - int64(int64(z))) - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+37295, uint64(2)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(2) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+37441, uint64(2)) == 0 { tok = int32(FTS5_OR) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+37298, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+37444, uint64(3)) == 0 { tok = int32(FTS5_NOT) } - if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+32039, uint64(3)) == 0 { + if (*TFts5Token)(unsafe.Pointer(pToken)).Fn == int32(3) && libc.Xmemcmp(tls, (*TFts5Token)(unsafe.Pointer(pToken)).Fp, __ccgo_ts+32185, uint64(3)) == 0 { tok = int32(FTS5_AND) } break @@ -275354,8 +277111,8 @@ func _sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, pp func _sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { bp := tls.Alloc(32) defer tls.Free(32) - if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+37302, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36083, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) + if (*TFts5Token)(unsafe.Pointer(pTok)).Fn != int32(4) || libc.Xmemcmp(tls, __ccgo_ts+37448, (*TFts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 { + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+36229, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(pTok)).Fn, (*TFts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -275375,7 +277132,7 @@ func _sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, } c = *(*int8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i))) if int32(int32(c)) < int32('0') || int32(int32(c)) > int32('9') { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+37307, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+37453, libc.VaList(bp+8, (*TFts5Token)(unsafe.Pointer(p)).Fn, (*TFts5Token)(unsafe.Pointer(p)).Fp)) return } nNear = nNear*int32(10) + (int32(*(*int8)(unsafe.Pointer((*TFts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - int32('0')) @@ -275513,7 +277270,7 @@ func _sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p u iCol++ } if iCol == (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+22342, libc.VaList(bp+8, z)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+22474, libc.VaList(bp+8, z)) } else { pRet = _fts5ParseColset(tls, pParse, pColset, iCol) } @@ -275637,7 +277394,7 @@ func _sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pC var _ /* pFree at bp+0 */ uintptr *(*uintptr)(unsafe.Pointer(bp)) = pColset if (*TFts5Config)(unsafe.Pointer((*TFts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == int32(FTS5_DETAIL_NONE) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+37336, 0) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+37482, 0) } else { _fts5ParseSetColset(tls, pParse, pExpr, pColset, bp) } @@ -275830,11 +277587,11 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin pPhrase = *(*uintptr)(unsafe.Pointer(pNear + 24)) if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase != int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > int32(1) || (*TFts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*(*TFts5ExprTerm)(unsafe.Pointer(pPhrase + 32))).FbFirst != 0 { if (*TFts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == int32(1) { - v2 = __ccgo_ts + 37389 + v2 = __ccgo_ts + 37535 } else { - v2 = __ccgo_ts + 37302 + v2 = __ccgo_ts + 37448 } - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+37396, libc.VaList(bp+8, v2)) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+37542, libc.VaList(bp+8, v2)) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -275843,7 +277600,7 @@ func _sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uin _fts5ExprAddChildren(tls, pRet, pLeft) _fts5ExprAddChildren(tls, pRet, pRight) if (*TFts5ExprNode)(unsafe.Pointer(pRet)).FiHeight > int32(SQLITE_FTS5_MAX_EXPR_DEPTH) { - _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+37446, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) + _sqlite3Fts5ParseError(tls, pParse, __ccgo_ts+37592, libc.VaList(bp+8, int32(SQLITE_FTS5_MAX_EXPR_DEPTH))) Xsqlite3_free(tls, pRet) pRet = uintptr(0) } @@ -277991,7 +279748,7 @@ func _fts5DataRead(tls *libc.TLS, p uintptr, iRowid Ti64) (r uintptr) { ** to the requested entry. */ if (*TFts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+37499, iRowid, 0, p+72) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+37645, iRowid, 0, p+72) } /* If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls ** above returned SQLITE_ERROR, return SQLITE_CORRUPT_VTAB instead. @@ -278084,7 +279841,7 @@ func _fts5DataWrite(tls *libc.TLS, p uintptr, iRowid Ti64, pData uintptr, nData } if (*TFts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+37505, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls, __ccgo_ts+37651, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return } @@ -278113,7 +279870,7 @@ func _fts5DataDelete(tls *libc.TLS, p uintptr, iFirst Ti64, iLast Ti64) { } if (*TFts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+37556, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+37702, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if _fts5IndexPrepareStmt(tls, p, p+88, zSql) != 0 { return } @@ -278147,7 +279904,7 @@ func _fts5DataRemoveSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { } if (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+37605, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+104, Xsqlite3_mprintf(tls, __ccgo_ts+37751, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpIdxDeleter, int32(1), iSegid) @@ -278316,7 +280073,7 @@ func _fts5StructureDecode(tls *libc.TLS, pData uintptr, nData int32, piCookie ui } i = int32(4) /* Check if this is a V2 structure record. Set bStructureV2 if it is. */ - if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+37645, uint64(4)) { + if 0 == libc.Xmemcmp(tls, pData+uintptr(i), __ccgo_ts+37791, uint64(4)) { i += int32(4) bStructureV2 = int32(1) } @@ -278507,7 +280264,7 @@ func _fts5IndexDataVersion(tls *libc.TLS, p uintptr) (r Ti64) { iVersion = 0 if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { if (*TFts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) { - (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+37650, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) + (*TFts5Index)(unsafe.Pointer(p)).Frc = _fts5IndexPrepareStmt(tls, p, p+144, Xsqlite3_mprintf(tls, __ccgo_ts+37796, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb))) if (*TFts5Index)(unsafe.Pointer(p)).Frc != 0 { return 0 } @@ -278591,7 +280348,7 @@ func _fts5StructureWrite(tls *libc.TLS, p uintptr, pStruct uintptr) { _sqlite3Fts5Put32(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, iCookie) (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = int32(4) if (*TFts5Structure)(unsafe.Pointer(pStruct)).FnOriginCntr > uint64(0) { - libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+37645, uint64(4)) + libc.Xmemcpy(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), __ccgo_ts+37791, uint64(4)) *(*int32)(unsafe.Pointer(bp + 8)) += int32(4) } *(*int32)(unsafe.Pointer(bp + 8)) += _sqlite3Fts5PutVarint(tls, (*TFts5Buffer)(unsafe.Pointer(bp)).Fp+uintptr((*TFts5Buffer)(unsafe.Pointer(bp)).Fn), uint64((*TFts5Structure)(unsafe.Pointer(pStruct)).FnLevel)) @@ -279966,7 +281723,7 @@ func _fts5IdxSelectStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+37673, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+112, Xsqlite3_mprintf(tls, __ccgo_ts+37819, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxSelect } @@ -280055,7 +281812,7 @@ func _fts5IdxNextStmt(tls *libc.TLS, p uintptr) (r uintptr) { _ = pConfig if (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+37757, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+120, Xsqlite3_mprintf(tls, __ccgo_ts+37903, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*TFts5Index)(unsafe.Pointer(p)).FpIdxNextSelect } @@ -281671,7 +283428,7 @@ func _fts5WriteFlushBtree(tls *libc.TLS, p uintptr, pWriter uintptr) { if (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fn > 0 { v1 = (*TFts5SegWriter)(unsafe.Pointer(pWriter)).Fbtterm.Fp } else { - v1 = __ccgo_ts + 1658 + v1 = __ccgo_ts + 1672 } z = v1 /* The following was already done in fts5WriteInit(): */ @@ -282026,7 +283783,7 @@ func _fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { _sqlite3Fts5BufferSize(tls, p+60, pWriter+8+8, uint32(uint32(nBuffer))) if (*TFts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) { pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig - _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+37839, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls, __ccgo_ts+37985, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { /* Initialize the 4-byte leaf-page header to 0x00. */ @@ -282516,7 +284273,7 @@ func _fts5SecureDeleteIdxEntry(tls *libc.TLS, p uintptr, iSegid int32, iPgno int defer tls.Free(32) if iPgno != int32(1) { if (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx == uintptr(0) { - _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+37896, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) + _fts5IndexPrepareStmt(tls, p, p+136, Xsqlite3_mprintf(tls, __ccgo_ts+38042, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb, (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FzName))) } if (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { Xsqlite3_bind_int(tls, (*TFts5Index)(unsafe.Pointer(p)).FpDeleteFromIdx, int32(1), iSegid) @@ -284006,7 +285763,7 @@ func _sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) (r int32) { if (*TFts5Config)(unsafe.Pointer((*TFts5Index)(unsafe.Pointer(p)).FpConfig)).FbContentlessDelete != 0 { (*(*TFts5Structure)(unsafe.Pointer(bp))).FnOriginCntr = uint64(1) } - _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1658, 0) + _fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), __ccgo_ts+1672, 0) _fts5StructureWrite(tls, p, bp) return _fts5IndexReturn(tls, p) } @@ -284033,11 +285790,11 @@ func _sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uin if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*TFts5Index)(unsafe.Pointer(p)).FnWorkUnit = int32(FTS5_WORK_UNIT) - (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+37957, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+38103, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+27074, __ccgo_ts+37965, 0, pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+27220, __ccgo_ts+38111, 0, pzErr) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+13102, __ccgo_ts+38000, int32(1), pzErr) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+13227, __ccgo_ts+38146, int32(1), pzErr) } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5IndexReinit(tls, p) @@ -284571,7 +286328,7 @@ func _fts5SetupTokendataIter(tls *libc.TLS, p uintptr, pToken uintptr, nToken in pNew = _fts5MultiIterAlloc(tls, p, (*TFts5Structure)(unsafe.Pointer(pStruct)).FnSegment) if pSmall != 0 { _sqlite3Fts5BufferSet(tls, p+60, bp, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fn, (*TFts5Buffer)(unsafe.Pointer(pSmall)).Fp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+38044) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(1), __ccgo_ts+38190) } else { _sqlite3Fts5BufferSet(tls, p+60, bp, nToken, pToken) } @@ -285091,7 +286848,7 @@ func _sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) (r int32) pConfig = (*TFts5Index)(unsafe.Pointer(p)).FpConfig /* Binary representation of iNew */ *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) _sqlite3Fts5Put32(tls, bp, iNew) - rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+37499, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) + rc = Xsqlite3_blob_open(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Index)(unsafe.Pointer(p)).FzDataTbl, __ccgo_ts+37645, int64(FTS5_STRUCTURE_ROWID), int32(1), bp+8) if rc == SQLITE_OK { Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, int32(4), 0) rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) @@ -285685,7 +287442,7 @@ func _fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { if (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst == 0 { return } - _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+38046, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) + _fts5IndexPrepareStmt(tls, p, bp, Xsqlite3_mprintf(tls, __ccgo_ts+38192, libc.VaList(bp+32, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) /* Iterate through the b-tree hierarchy. */ for (*TFts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) { /* Data for this leaf */ zIdxTerm = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(1)) @@ -285916,7 +287673,7 @@ func _sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum Tu64, bUseC } else { (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn = 0 _fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16))+104+uintptr((*(*TFts5CResult)(unsafe.Pointer((*TFts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).FaFirst + 1*4))).FiFirst)*128, uintptr(0), bp) - _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+38132) + _sqlite3Fts5BufferAppendBlob(tls, p+60, bp, uint32(4), __ccgo_ts+38278) for 0 == _sqlite3Fts5PoslistNext64(tls, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fp, (*(*TFts5Buffer)(unsafe.Pointer(bp))).Fn, bp+40, bp+32) { iCol = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) >> libc.Int32FromInt32(32)) iTokOff = int32(*(*Ti64)(unsafe.Pointer(bp + 32)) & libc.Int64FromInt32(0x7FFFFFFF)) @@ -286504,7 +288261,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) bSeenMatch = 0 bSeenRank = 0 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+38137, 0) + (*TFts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+38283, 0) return int32(SQLITE_ERROR) } idxStr = Xsqlite3_malloc(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pInfo)).FnConstraint*int32(8)+int32(1)) @@ -286543,7 +288300,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v3 = iIdxStr iIdxStr++ *(*int8)(unsafe.Pointer(idxStr + uintptr(v3))) = int8('M') - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+6447, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+6511, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) } } @@ -286563,7 +288320,7 @@ func _fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) (r int32) v6 = int32('G') } *(*int8)(unsafe.Pointer(idxStr + uintptr(v5))) = int8(v6) - Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+6447, libc.VaList(bp+8, iCol)) + Xsqlite3_snprintf(tls, int32(6), idxStr+uintptr(iIdxStr), __ccgo_ts+6511, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, idxStr+uintptr(iIdxStr))) iCons++ v7 = iCons @@ -287001,7 +288758,7 @@ func _fts5NextMethod(tls *libc.TLS, pCursor uintptr) (r int32) { *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_EOF) rc = Xsqlite3_reset(tls, (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpStmt) if rc != SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + (*Tsqlite3_vtab)(unsafe.Pointer((*Tsqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -287028,7 +288785,7 @@ func _fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt } else { rc = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -287063,21 +288820,21 @@ func _fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ if zRankArgs != 0 { - v1 = __ccgo_ts + 16304 + v1 = __ccgo_ts + 16397 } else { - v1 = __ccgo_ts + 1658 + v1 = __ccgo_ts + 1672 } if zRankArgs != 0 { v2 = zRankArgs } else { - v2 = __ccgo_ts + 1658 + v2 = __ccgo_ts + 1672 } if bDesc != 0 { - v3 = __ccgo_ts + 38176 + v3 = __ccgo_ts + 38322 } else { - v3 = __ccgo_ts + 38181 + v3 = __ccgo_ts + 38327 } - rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+38185, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) + rc = _fts5PrepareStatement(tls, pSorter, pConfig, __ccgo_ts+38331, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, v1, v2, v3)) (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter if rc == SQLITE_OK { (*TFts5FullTable)(unsafe.Pointer(pTab)).FpSortCsr = pCsr @@ -287135,14 +288892,14 @@ func _fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr n++ } (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan = int32(FTS5_PLAN_SPECIAL) - if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+38240, z, n) { + if n == int32(5) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+38386, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = int64(_sqlite3Fts5IndexReads(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex)) } else { - if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+6790, z, n) { + if n == int32(2) && 0 == Xsqlite3_strnicmp(tls, __ccgo_ts+6854, z, n) { (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId } else { /* An unrecognized directive. Return an error message. */ - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+38246, libc.VaList(bp+8, n, z)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+38392, libc.VaList(bp+8, n, z)) rc = int32(SQLITE_ERROR) } } @@ -287192,7 +288949,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { zRank = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank zRankArgs = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+38274, libc.VaList(bp+24, zRankArgs)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+38420, libc.VaList(bp+24, zRankArgs)) if zSql != 0 { *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v3(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -int32(1), uint32(SQLITE_PREPARE_PERSISTENT), bp+8, uintptr(0)) @@ -287225,7 +288982,7 @@ func _fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) (r int32) { if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { pAux = _fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+38284, libc.VaList(bp+24, zRank)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+38430, libc.VaList(bp+24, zRank)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -287259,7 +289016,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui *(*int32)(unsafe.Pointer(pCsr + 80)) |= int32(FTS5CSR_FREE_ZRANK) } else { if rc == int32(SQLITE_ERROR) { - (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+38305, libc.VaList(bp+24, z)) + (*Tsqlite3_vtab)(unsafe.Pointer((*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+38451, libc.VaList(bp+24, z)) } } } else { @@ -287267,7 +289024,7 @@ func _fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank ui (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRank (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*TFts5Config)(unsafe.Pointer(pConfig)).FzRankArgs } else { - (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 36237 + (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRank = __ccgo_ts + 36383 (*TFts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -287318,7 +289075,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint iIdxStr = 0 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 { - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+38137, 0) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+38283, 0) return int32(SQLITE_ERROR) } if (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan != 0 { @@ -287340,7 +289097,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint case int32('M'): zText = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))) if zText == uintptr(0) { - zText = __ccgo_ts + 1658 + zText = __ccgo_ts + 1672 } iCol = 0 for cond := true; cond; cond = int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) >= int32('0') && int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(iIdxStr)))) <= int32('9') { @@ -287462,7 +289219,7 @@ func _fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uint } } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FzContent == uintptr(0) { - *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+38338, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + *(*uintptr)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+38484, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = int32(SQLITE_ERROR) } else { /* This is either a full-table scan (ePlan==FTS5_PLAN_SCAN) or a lookup @@ -287600,7 +289357,7 @@ func _fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) (r int32) { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< int32(1) { - v1 = __ccgo_ts + 22195 + v1 = __ccgo_ts + 22327 } else { - v1 = __ccgo_ts + 38616 + v1 = __ccgo_ts + 38762 } - (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+38628, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+38774, libc.VaList(bp+16, v1, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if nArg == int32(1) { @@ -287857,7 +289614,7 @@ func _fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, } } if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && bUpdateOrDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FbSecureDelete != 0 && (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion == int32(FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+37165, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) + *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageConfigValue(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, __ccgo_ts+37311, uintptr(0), int32(FTS5_CURRENT_VERSION_SECUREDELETE)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { (*TFts5Config)(unsafe.Pointer(pConfig)).FiVersion = int32(FTS5_CURRENT_VERSION_SECUREDELETE) } @@ -288653,7 +290410,7 @@ func _fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) iCsrId = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) pCsr = _fts5CursorFromCsrid(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId) if pCsr == uintptr(0) || (*TFts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+38665, libc.VaList(bp+8, iCsrId)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+38811, libc.VaList(bp+8, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } else { @@ -288844,7 +290601,7 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) (*TFts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = uintptr(0) } else { if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 && Xsqlite3_vtab_nochange(tls, pCtx) != 0 { - zErr = Xsqlite3_mprintf(tls, __ccgo_ts+38686, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + zErr = Xsqlite3_mprintf(tls, __ccgo_ts+38832, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) Xsqlite3_result_error(tls, pCtx, zErr, -int32(1)) Xsqlite3_free(tls, zErr) } @@ -289086,7 +290843,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr pMod = _fts5LocateTokenizer(tls, pGlobal, v1) if pMod == uintptr(0) { rc = int32(SQLITE_ERROR) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38757, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38903, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg)))) } else { if azArg != 0 { v2 = azArg + 1*8 @@ -289102,7 +290859,7 @@ func _sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nAr (*TFts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16 if rc != SQLITE_OK { if pzErr != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38779, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38925, 0) } } else { (*TFts5Config)(unsafe.Pointer(pConfig)).FePattern = _sqlite3Fts5TokenizerPattern(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate, (*TFts5Config)(unsafe.Pointer(pConfig)).FpTok) @@ -289157,7 +290914,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { _, _ = pGlobal, ppApi pGlobal = Xsqlite3_user_data(tls, pCtx) _ = nArg - ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+38810) + ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), __ccgo_ts+38956) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal } @@ -289171,7 +290928,7 @@ func _fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { func _fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) { _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, __ccgo_ts+38823, -int32(1), uintptr(-libc.Int32FromInt32(1))) + Xsqlite3_result_text(tls, pCtx, __ccgo_ts+38969, -int32(1), uintptr(-libc.Int32FromInt32(1))) } // C documentation @@ -289200,11 +290957,11 @@ func _fts5ShadowName(tls *libc.TLS, zName uintptr) (r int32) { } var _azName2 = [5]uintptr{ - 0: __ccgo_ts + 38914, - 1: __ccgo_ts + 36426, - 2: __ccgo_ts + 27074, - 3: __ccgo_ts + 36993, - 4: __ccgo_ts + 13102, + 0: __ccgo_ts + 39060, + 1: __ccgo_ts + 36572, + 2: __ccgo_ts + 27220, + 3: __ccgo_ts + 37139, + 4: __ccgo_ts + 13227, } // C documentation @@ -289218,20 +290975,26 @@ func _fts5IntegrityMethod(tls *libc.TLS, pVtab uintptr, zSchema uintptr, zTabnam bp := tls.Alloc(32) defer tls.Free(32) var pTab uintptr - var rc int32 - _, _ = pTab, rc + var rc, v1 int32 + _, _, _ = pTab, rc, v1 pTab = pVtab _ = isQuick rc = _sqlite3Fts5StorageIntegrity(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).FpStorage, 0) if rc&int32(0xff) == int32(SQLITE_CORRUPT) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38921, libc.VaList(bp+8, zSchema, zTabname)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39067, libc.VaList(bp+8, zSchema, zTabname)) + if *(*uintptr)(unsafe.Pointer(pzErr)) != 0 { + v1 = SQLITE_OK + } else { + v1 = int32(SQLITE_NOMEM) + } + rc = v1 } else { if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+38967, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39113, libc.VaList(bp+8, zSchema, zTabname, Xsqlite3_errstr(tls, rc))) } } _sqlite3Fts5IndexCloseReader(tls, (*TFts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex) - return SQLITE_OK + return rc } func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { @@ -289250,7 +291013,7 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateFunction = __ccgo_fp(_fts5CreateAux) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxCreateTokenizer = __ccgo_fp(_fts5CreateTokenizer) (*TFts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = __ccgo_fp(_fts5FindTokenizer) - rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39030, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) + rc = Xsqlite3_create_module_v2(tls, db, __ccgo_ts+39176, uintptr(unsafe.Pointer(&_fts5Mod)), p, __ccgo_fp(_fts5ModuleDestroy)) if rc == SQLITE_OK { rc = _sqlite3Fts5IndexInit(tls, db) } @@ -289267,10 +291030,10 @@ func _fts5Init(tls *libc.TLS, db uintptr) (r int32) { rc = _sqlite3Fts5VocabInit(tls, pGlobal, db) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+39030, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+39176, int32(1), int32(SQLITE_UTF8), p, __ccgo_fp(_fts5Fts5Func), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_create_function(tls, db, __ccgo_ts+39035, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) + rc = Xsqlite3_create_function(tls, db, __ccgo_ts+39181, 0, libc.Int32FromInt32(SQLITE_UTF8)|libc.Int32FromInt32(SQLITE_DETERMINISTIC)|libc.Int32FromInt32(SQLITE_INNOCUOUS), p, __ccgo_fp(_fts5SourceIdFunc), uintptr(0), uintptr(0)) } } /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file @@ -289373,17 +291136,17 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, ** statements to operate on it. */ if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) { azStmt = [11]uintptr{ - 0: __ccgo_ts + 39050, - 1: __ccgo_ts + 39118, - 2: __ccgo_ts + 39187, - 3: __ccgo_ts + 39220, - 4: __ccgo_ts + 39259, - 5: __ccgo_ts + 39299, - 6: __ccgo_ts + 39338, - 7: __ccgo_ts + 39381, - 8: __ccgo_ts + 39420, - 9: __ccgo_ts + 39464, - 10: __ccgo_ts + 39504, + 0: __ccgo_ts + 39196, + 1: __ccgo_ts + 39264, + 2: __ccgo_ts + 39333, + 3: __ccgo_ts + 39366, + 4: __ccgo_ts + 39405, + 5: __ccgo_ts + 39445, + 6: __ccgo_ts + 39484, + 7: __ccgo_ts + 39527, + 8: __ccgo_ts + 39566, + 9: __ccgo_ts + 39610, + 10: __ccgo_ts + 39650, } pC = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig zSql = uintptr(0) @@ -289420,16 +291183,16 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, } case int32(FTS5_STMT_REPLACE_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v2 = __ccgo_ts + 39527 + v2 = __ccgo_ts + 39673 } else { - v2 = __ccgo_ts + 1658 + v2 = __ccgo_ts + 1672 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName, v2)) case int32(FTS5_STMT_LOOKUP_DOCSIZE): if (*TFts5Config)(unsafe.Pointer(pC)).FbContentlessDelete != 0 { - v3 = __ccgo_ts + 39530 + v3 = __ccgo_ts + 39676 } else { - v3 = __ccgo_ts + 1658 + v3 = __ccgo_ts + 1672 } zSql = Xsqlite3_mprintf(tls, azStmt[eStmt], libc.VaList(bp+8, v3, (*TFts5Config)(unsafe.Pointer(pC)).FzDb, (*TFts5Config)(unsafe.Pointer(pC)).FzName)) default: @@ -289448,7 +291211,7 @@ func _fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, (*TFts5Config)(unsafe.Pointer((*TFts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if rc != SQLITE_OK && pzErrMsg != 0 { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4645, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, __ccgo_ts+4709, libc.VaList(bp+8, Xsqlite3_errmsg(tls, (*TFts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -289485,12 +291248,12 @@ func _sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) (r int32) { defer tls.Free(64) var rc int32 _ = rc - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39538, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39684, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39642, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39788, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39680, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39826, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } @@ -289499,7 +291262,7 @@ func _fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail ui bp := tls.Alloc(48) defer tls.Free(48) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39718, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) + *(*int32)(unsafe.Pointer(pRc)) = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39864, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -289511,14 +291274,14 @@ func _sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) ( _ = pConfig pConfig = (*TFts5Storage)(unsafe.Pointer(pStorage)).FpConfig *(*int32)(unsafe.Pointer(bp)) = _sqlite3Fts5StorageSync(tls, pStorage) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+27074, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+13102, zName) - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+38914, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+27220, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+13227, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+39060, zName) if (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+36993, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+37139, zName) } if (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { - _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+36426, zName) + _fts5StorageRenameOne(tls, pConfig, bp, __ccgo_ts+36572, zName) } return *(*int32)(unsafe.Pointer(bp)) } @@ -289538,13 +291301,13 @@ func _sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDef _, _ = rc, v1 *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) if bWithout != 0 { - v1 = __ccgo_ts + 31714 + v1 = __ccgo_ts + 31860 } else { - v1 = __ccgo_ts + 1658 + v1 = __ccgo_ts + 1672 } - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+39760, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, bp, __ccgo_ts+39906, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, v1)) if *(*uintptr)(unsafe.Pointer(bp)) != 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39790, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+39936, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp))) } return rc @@ -289585,36 +291348,36 @@ func _sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCr if zDefn == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { - Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+39834, 0) + Xsqlite3_snprintf(tls, nDefn, zDefn, __ccgo_ts+39980, 0) iOff = int32(libc.Xstrlen(tls, zDefn)) i = 0 for { if !(i < (*TFts5Config)(unsafe.Pointer(pConfig)).FnCol) { break } - Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+39857, libc.VaList(bp+8, i)) + Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), __ccgo_ts+40003, libc.VaList(bp+8, i)) iOff += int32(libc.Xstrlen(tls, zDefn+uintptr(iOff))) goto _2 _2: ; i++ } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+36426, zDefn, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+36572, zDefn, 0, pzErr) } Xsqlite3_free(tls, zDefn) } if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - zCols = __ccgo_ts + 39863 + zCols = __ccgo_ts + 40009 if (*TFts5Config)(unsafe.Pointer(pConfig)).FbContentlessDelete != 0 { - zCols = __ccgo_ts + 39895 + zCols = __ccgo_ts + 40041 } - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+36993, zCols, 0, pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+37139, zCols, 0, pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+38914, __ccgo_ts+39943, int32(1), pzErr) + rc = _sqlite3Fts5CreateTable(tls, pConfig, __ccgo_ts+39060, __ccgo_ts+40089, int32(1), pzErr) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+37165, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+37311, uintptr(0), int32(FTS5_CURRENT_VERSION)) } } if rc != 0 { @@ -289956,9 +291719,9 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig (*TFts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0 /* Delete the contents of the %_data and %_docsize tables. */ - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+39960, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+40106, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+40010, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) + rc = _fts5ExecPrintf(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), __ccgo_ts+40156, libc.VaList(bp+8, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName)) } /* Reinitialize the %_data table. This call creates the initial structure ** and averages records. */ @@ -289966,7 +291729,7 @@ func _sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) (r int32) { rc = _sqlite3Fts5IndexReinit(tls, (*TFts5Storage)(unsafe.Pointer(p)).FpIndex) } if rc == SQLITE_OK { - rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+37165, uintptr(0), int32(FTS5_CURRENT_VERSION)) + rc = _sqlite3Fts5StorageConfigValue(tls, p, __ccgo_ts+37311, uintptr(0), int32(FTS5_CURRENT_VERSION)) } return rc } @@ -290180,7 +291943,7 @@ func _fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var _ /* pCnt at bp+0 */ uintptr _, _, _ = pConfig, rc, zSql pConfig = (*TFts5Storage)(unsafe.Pointer(p)).FpConfig - zSql = Xsqlite3_mprintf(tls, __ccgo_ts+40039, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) + zSql = Xsqlite3_mprintf(tls, __ccgo_ts+40185, libc.VaList(bp+16, (*TFts5Config)(unsafe.Pointer(pConfig)).FzDb, (*TFts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = int32(SQLITE_NOMEM) } else { @@ -290390,14 +292153,14 @@ func _sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) (r int32 ** number of rows. */ if rc == SQLITE_OK && (*TFts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { *(*Ti64)(unsafe.Pointer(bp + 48)) = 0 - rc = _fts5StorageCount(tls, p, __ccgo_ts+36426, bp+48) + rc = _fts5StorageCount(tls, p, __ccgo_ts+36572, bp+48) if rc == SQLITE_OK && *(*Ti64)(unsafe.Pointer(bp + 48)) != (*TFts5Storage)(unsafe.Pointer(p)).FnTotalRow { rc = libc.Int32FromInt32(SQLITE_CORRUPT) | libc.Int32FromInt32(1)< 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) } @@ -291599,64 +293362,64 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40141, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40287, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40144, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40290, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40149, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40295, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('e'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40154, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40300, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40157, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40303, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } case int32('l'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40160, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40306, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40165, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40311, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40170, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40316, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40174, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40320, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40180, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40326, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40185, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40331, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -291665,49 +293428,49 @@ func _fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40189, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40335, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40193, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40339, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) } } } case int32('s'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40196, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40342, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('t'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40200, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40346, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40204, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40350, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40208, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40354, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40212, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40358, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('z'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40216, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40362, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt1(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } @@ -291724,20 +293487,20 @@ func _fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40220, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+40200, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40366, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+40346, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('b'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40223, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+40226, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40369, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+40372, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } case int32('i'): - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40230, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+40216, uint64(3)) + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40376, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(2)), __ccgo_ts+40362, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) + int32(3) ret = int32(1) } @@ -291753,75 +293516,75 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40233, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40379, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+40200, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+40346, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40241, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40387, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+40248, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+40394, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(4) } } } case int32('c'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40253, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40399, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+40149, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+40295, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40258, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40404, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+40144, uint64(4)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+40290, uint64(4)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(4) } } } case int32('e'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40263, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40409, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+40216, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+40362, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('g'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40268, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40414, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+17221, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+17300, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } case int32('l'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40273, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40419, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+40226, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+40372, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40277, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40423, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+40141, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+40287, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40282, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40428, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40185, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40331, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40288, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40434, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+40292, uint64(1)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+40438, uint64(1)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(1) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40294, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40440, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40208, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40354, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } @@ -291830,48 +293593,48 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('o'): - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40300, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40446, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+40216, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+40362, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40308, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40454, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40200, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40346, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40314, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40460, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+40200, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+40346, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(3) } } } } case int32('s'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40319, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40465, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40141, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40287, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40325, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40471, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+40212, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+40358, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40333, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40479, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+40341, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+40487, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } else { - if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40345, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { + if nBuf > int32(7) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40491, aBuf+uintptr(nBuf-int32(7)), uint64(7)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(7)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+40208, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(7)), __ccgo_ts+40354, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(7) + int32(3) } } @@ -291879,21 +293642,21 @@ func _fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40353, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40499, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40141, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40287, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40359, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40505, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40212, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40358, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(3) } } else { - if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40365, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { + if nBuf > int32(6) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40511, aBuf+uintptr(nBuf-int32(6)), uint64(6)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(6)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+40226, uint64(3)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(6)), __ccgo_ts+40372, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(6) + int32(3) } } @@ -291911,48 +293674,48 @@ func _fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('a'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40372, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40518, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+40157, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(4)), __ccgo_ts+40303, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) + int32(2) } } case int32('s'): - if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40377, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { + if nBuf > int32(4) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40523, aBuf+uintptr(nBuf-int32(4)), uint64(4)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(4) } } case int32('t'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40382, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40528, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40157, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40303, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } else { - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40388, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40534, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40157, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40303, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } } case int32('u'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40341, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40487, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) } } case int32('v'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40394, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40540, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) } } case int32('z'): - if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40400, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { + if nBuf > int32(5) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40546, aBuf+uintptr(nBuf-int32(5)), uint64(5)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(5)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40141, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(5)), __ccgo_ts+40287, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(5) + int32(2) } } @@ -291968,13 +293731,13 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { nBuf = *(*int32)(unsafe.Pointer(pnBuf)) switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-int32(2))))) { case int32('e'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40406, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40552, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_MGt0(tls, aBuf, nBuf-int32(3)) != 0 { - libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+40410, uint64(2)) + libc.Xmemcpy(tls, aBuf+uintptr(nBuf-int32(3)), __ccgo_ts+40556, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) + int32(2) } } else { - if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40413, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { + if nBuf > int32(2) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40559, aBuf+uintptr(nBuf-int32(2)), uint64(2)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(2) ret = int32(1) @@ -291982,7 +293745,7 @@ func _fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) (r int32) { } } case int32('n'): - if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40416, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { + if nBuf > int32(3) && 0 == libc.Xmemcmp(tls, __ccgo_ts+40562, aBuf+uintptr(nBuf-int32(3)), uint64(3)) { if _fts5Porter_Vowel(tls, aBuf, nBuf-int32(3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = nBuf - int32(3) ret = int32(1) @@ -292143,14 +293906,14 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p break } zArg = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+int32(1))*8)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+40420) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+40566) { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { (*TTrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = libc.BoolInt32(int32(*(*int8)(unsafe.Pointer(zArg))) == int32('0')) } } else { - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+40113) { + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), __ccgo_ts+40259) { if int32(*(*int8)(unsafe.Pointer(zArg))) != int32('0') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('1') && int32(*(*int8)(unsafe.Pointer(zArg))) != int32('2') || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 { rc = int32(SQLITE_ERROR) } else { @@ -292424,7 +294187,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { Fx Tfts5_tokenizer }{ 0: { - FzName: __ccgo_ts + 40131, + FzName: __ccgo_ts + 40277, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5UnicodeCreate), FxDelete: __ccgo_fp(_fts5UnicodeDelete), @@ -292432,7 +294195,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 1: { - FzName: __ccgo_ts + 40435, + FzName: __ccgo_ts + 40581, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5AsciiCreate), FxDelete: __ccgo_fp(_fts5AsciiDelete), @@ -292440,7 +294203,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 2: { - FzName: __ccgo_ts + 40441, + FzName: __ccgo_ts + 40587, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5PorterCreate), FxDelete: __ccgo_fp(_fts5PorterDelete), @@ -292448,7 +294211,7 @@ func _sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) (r int32) { }, }, 3: { - FzName: __ccgo_ts + 40448, + FzName: __ccgo_ts + 40594, Fx: Tfts5_tokenizer{ FxCreate: __ccgo_fp(_fts5TriCreate), FxDelete: __ccgo_fp(_fts5TriDelete), @@ -297982,16 +299745,16 @@ func _fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uin zCopy = _sqlite3Fts5Strndup(tls, bp, zType, -int32(1)) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { _sqlite3Fts5Dequote(tls, zCopy) - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+40456) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+40602) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+40460) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+40606) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_ROW) } else { - if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+40464) == 0 { + if Xsqlite3_stricmp(tls, zCopy, __ccgo_ts+40610) == 0 { *(*int32)(unsafe.Pointer(peType)) = int32(FTS5_VOCAB_INSTANCE) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+40473, libc.VaList(bp+16, zCopy)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+40619, libc.VaList(bp+16, zCopy)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } @@ -298060,15 +299823,15 @@ func _fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, arg var _ /* rc at bp+0 */ int32 _, _, _, _, _, _, _, _, _, _, _, _ = azSchema, bDb, nByte, nDb, nTab, pRet, zDb, zTab, zType, v1, v2, v3 azSchema = [3]uintptr{ - 0: __ccgo_ts + 40507, - 1: __ccgo_ts + 40547, - 2: __ccgo_ts + 40582, + 0: __ccgo_ts + 40653, + 1: __ccgo_ts + 40693, + 2: __ccgo_ts + 40728, } pRet = uintptr(0) *(*int32)(unsafe.Pointer(bp)) = SQLITE_OK - bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25068, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) + bDb = libc.BoolInt32(argc == int32(6) && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, __ccgo_ts+25191, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0) if argc != int32(5) && bDb == 0 { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+40625, 0) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, __ccgo_ts+40771, 0) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } else { if bDb != 0 { @@ -298238,10 +300001,10 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) zSql = uintptr(0) if (*TFts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+40658, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+40804, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return int32(SQLITE_ERROR) } - zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+40689, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + zSql = _sqlite3Fts5Mprintf(tls, bp, __ccgo_ts+40835, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_prepare_v2(tls, (*TFts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -int32(1), bp+8, uintptr(0)) } @@ -298260,7 +300023,7 @@ func _fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) (r int32) *(*int32)(unsafe.Pointer(bp)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK { - (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+40740, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + (*Tsqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, __ccgo_ts+40886, libc.VaList(bp+24, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*TFts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) *(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_ERROR) } } else { @@ -298562,7 +300325,7 @@ func _fts5VocabFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, zUnuse if pLe != 0 { zCopy = Xsqlite3_value_text(tls, pLe) if zCopy == uintptr(0) { - zCopy = __ccgo_ts + 1658 + zCopy = __ccgo_ts + 1672 } (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, (*TFts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm+int32(1)) @@ -298686,7 +300449,7 @@ func _sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) (r int32) var p uintptr _ = p p = pGlobal - return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+40766, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) + return Xsqlite3_create_module_v2(tls, db, __ccgo_ts+40912, uintptr(unsafe.Pointer(&_fts5Vocab)), p, uintptr(0)) } var _fts5Vocab = Tsqlite3_module{ @@ -298739,7 +300502,7 @@ func init() { // /************** End of stmt.c ************************************************/ // /* Return the source-id for this library */ func Xsqlite3_sourceid(tls *libc.TLS) (r uintptr) { - return __ccgo_ts + 40776 + return __ccgo_ts + 40922 } type TAggInfo_col = struct { @@ -299172,11 +300935,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // ** // ** See also: [sqlite_version()] and [sqlite_source_id()]. // */ -var Xsqlite3_version = [7]int8{'3', '.', '4', '5', '.', '3'} +var Xsqlite3_version = [7]int8{'3', '.', '4', '6', '.', '0'} var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data -var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-12-win32\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_W32\x00OMIT_SEH\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%04d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00AreFileApisANSI\x00CharLowerW\x00CharUpperW\x00CloseHandle\x00CreateFileA\x00CreateFileW\x00CreateFileMappingA\x00CreateFileMappingW\x00CreateMutexW\x00DeleteFileA\x00DeleteFileW\x00FileTimeToLocalFileTime\x00FileTimeToSystemTime\x00FlushFileBuffers\x00FormatMessageA\x00FormatMessageW\x00FreeLibrary\x00GetCurrentProcessId\x00GetDiskFreeSpaceA\x00GetDiskFreeSpaceW\x00GetFileAttributesA\x00GetFileAttributesW\x00GetFileAttributesExW\x00GetFileSize\x00GetFullPathNameA\x00GetFullPathNameW\x00GetLastError\x00GetProcAddressA\x00GetSystemInfo\x00GetSystemTime\x00GetSystemTimeAsFileTime\x00GetTempPathA\x00GetTempPathW\x00GetTickCount\x00GetVersionExA\x00GetVersionExW\x00HeapAlloc\x00HeapCreate\x00HeapDestroy\x00HeapFree\x00HeapReAlloc\x00HeapSize\x00HeapValidate\x00HeapCompact\x00LoadLibraryA\x00LoadLibraryW\x00LocalFree\x00LockFile\x00LockFileEx\x00MapViewOfFile\x00MultiByteToWideChar\x00QueryPerformanceCounter\x00ReadFile\x00SetEndOfFile\x00SetFilePointer\x00Sleep\x00SystemTimeToFileTime\x00UnlockFile\x00UnlockFileEx\x00UnmapViewOfFile\x00WideCharToMultiByte\x00WriteFile\x00CreateEventExW\x00WaitForSingleObject\x00WaitForSingleObjectEx\x00SetFilePointerEx\x00GetFileInformationByHandleEx\x00MapViewOfFileFromApp\x00CreateFile2\x00LoadPackagedLibrary\x00GetTickCount64\x00GetNativeSystemInfo\x00OutputDebugStringA\x00OutputDebugStringW\x00GetProcessHeap\x00CreateFileMappingFromApp\x00InterlockedCompareExchange\x00UuidCreate\x00UuidCreateSequential\x00FlushViewOfFile\x00%s\x00OsError 0x%lx (%lu)\x00os_win.c:%d: (%lu) %s(%s) - %s\x00delayed %dms for lock/sharing conflict at line %d\x00winSeekFile\x00winClose\x00winRead\x00winWrite1\x00winWrite2\x00winTruncate1\x00winTruncate2\x00winSync1\x00winSync2\x00winFileSize\x00winUnlockReadLock\x00winUnlock\x00winLockSharedMemory\x00%s-shm\x00readonly_shm\x00winOpenShm\x00winShmMap1\x00winShmMap2\x00winShmMap3\x00winUnmapfile1\x00winUnmapfile2\x00winMapfile1\x00winMapfile2\x00etilqs_\x00winGetTempname1\x00winGetTempname2\x00winGetTempname3\x00winGetTempname4\x00winGetTempname5\x00exclusive\x00winOpen\x00psow\x00winDelete\x00winAccess\x00%s%c%s\x00winFullPathname1\x00winFullPathname2\x00winFullPathname3\x00winFullPathname4\x00win32\x00win32-longpath\x00win32-none\x00win32-longpath-none\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00PRAGMA \"%w\".integrity_check(%Q)\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00stat\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00dll\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_store_directory\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00RIGHT PART OF \x00USE TEMP B-TREE FOR %sORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00access\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355\x00" +var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-12-win32\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_W32\x00OMIT_SEH\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00AreFileApisANSI\x00CharLowerW\x00CharUpperW\x00CloseHandle\x00CreateFileA\x00CreateFileW\x00CreateFileMappingA\x00CreateFileMappingW\x00CreateMutexW\x00DeleteFileA\x00DeleteFileW\x00FileTimeToLocalFileTime\x00FileTimeToSystemTime\x00FlushFileBuffers\x00FormatMessageA\x00FormatMessageW\x00FreeLibrary\x00GetCurrentProcessId\x00GetDiskFreeSpaceA\x00GetDiskFreeSpaceW\x00GetFileAttributesA\x00GetFileAttributesW\x00GetFileAttributesExW\x00GetFileSize\x00GetFullPathNameA\x00GetFullPathNameW\x00GetLastError\x00GetProcAddressA\x00GetSystemInfo\x00GetSystemTime\x00GetSystemTimeAsFileTime\x00GetTempPathA\x00GetTempPathW\x00GetTickCount\x00GetVersionExA\x00GetVersionExW\x00HeapAlloc\x00HeapCreate\x00HeapDestroy\x00HeapFree\x00HeapReAlloc\x00HeapSize\x00HeapValidate\x00HeapCompact\x00LoadLibraryA\x00LoadLibraryW\x00LocalFree\x00LockFile\x00LockFileEx\x00MapViewOfFile\x00MultiByteToWideChar\x00QueryPerformanceCounter\x00ReadFile\x00SetEndOfFile\x00SetFilePointer\x00Sleep\x00SystemTimeToFileTime\x00UnlockFile\x00UnlockFileEx\x00UnmapViewOfFile\x00WideCharToMultiByte\x00WriteFile\x00CreateEventExW\x00WaitForSingleObject\x00WaitForSingleObjectEx\x00SetFilePointerEx\x00GetFileInformationByHandleEx\x00MapViewOfFileFromApp\x00CreateFile2\x00LoadPackagedLibrary\x00GetTickCount64\x00GetNativeSystemInfo\x00OutputDebugStringA\x00OutputDebugStringW\x00GetProcessHeap\x00CreateFileMappingFromApp\x00InterlockedCompareExchange\x00UuidCreate\x00UuidCreateSequential\x00FlushViewOfFile\x00%s\x00OsError 0x%lx (%lu)\x00os_win.c:%d: (%lu) %s(%s) - %s\x00delayed %dms for lock/sharing conflict at line %d\x00winSeekFile\x00winClose\x00winRead\x00winWrite1\x00winWrite2\x00winTruncate1\x00winTruncate2\x00winSync1\x00winSync2\x00winFileSize\x00winUnlockReadLock\x00winUnlock\x00winLockSharedMemory\x00%s-shm\x00readonly_shm\x00winOpenShm\x00winShmMap1\x00winShmMap2\x00winShmMap3\x00winUnmapfile1\x00winUnmapfile2\x00winMapfile1\x00winMapfile2\x00etilqs_\x00winGetTempname1\x00winGetTempname2\x00winGetTempname3\x00winGetTempname4\x00winGetTempname5\x00exclusive\x00winOpen\x00psow\x00winDelete\x00winAccess\x00%s%c%s\x00winFullPathname1\x00winFullPathname2\x00winFullPathname3\x00winFullPathname4\x00win32\x00win32-longpath\x00win32-none\x00win32-longpath-none\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00stat\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00dll\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_store_directory\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00access\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1 UNION ALL SELECT 1, 'idx', '', 0, '', 2 UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00'delete' may not be used with a contentless_delete=1 table\x00DELETE from\x00cannot %s contentless fts5 table: %s\x00no such cursor: %lld\x00cannot UPDATE a subset of columns on fts5 contentless-delete table: %s\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e\x00" type Sqlite3_int64 = sqlite3_int64 type Sqlite3_mutex_methods = sqlite3_mutex_methods diff --git a/vendor/modules.txt b/vendor/modules.txt index d43e1f207b..d10626e47c 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1140,7 +1140,7 @@ gvisor.dev/gvisor/pkg/waiter # modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 ## explicit; go 1.20 modernc.org/gc/v3 -# modernc.org/libc v1.49.3 +# modernc.org/libc v1.50.9 ## explicit; go 1.20 modernc.org/libc modernc.org/libc/errno @@ -1174,7 +1174,7 @@ modernc.org/mathutil # modernc.org/memory v1.8.0 ## explicit; go 1.18 modernc.org/memory -# modernc.org/sqlite v1.29.10 +# modernc.org/sqlite v1.30.0 ## explicit; go 1.20 modernc.org/sqlite modernc.org/sqlite/lib